LTVA1 / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
16 stars 2 forks source link

[YMF276-LLE] Per-channel oscilloscope doesn't work #89

Closed freq-mod closed 7 months ago

freq-mod commented 8 months ago

https://github.com/LTVA1/furnace/assets/32672779/84bfce5a-f504-4847-a167-760535b316de - the clip shows the behaviour.

LTVA1 commented 8 months ago

As is the case with other LLE cores iirc. In order to make it work I need to either modify the emulation code or make cycle-accurate accumulating code in the acquire() function

LTVA1 commented 8 months ago

I decided to leave it like so (at least for now) because other LLE cores show the same behaviour. I think the reason is that tildearrow thought of them as of render-only cores that don't need any per-chan oscilloscope

freq-mod commented 8 months ago

YM3812-LLE per ch oscilloscope works, YMF262-LLE doesn't. So it's either oversight or actual design choice given YM3812-LLE can work realtime in consumer CPUs

LTVA1 commented 8 months ago

Hm, I need to look at how YM2812-LLE does it

LTVA1 commented 8 months ago

Yeah, I definitely need to look at it

freq-mod commented 8 months ago

YMF262-LLE per chan osc is implemented now

LTVA1 commented 8 months ago

Yeah, updated this from upstream. Tomorrow, if I have time after DAVE stuff, I will try to make YMF276-LLE work too.

LTVA1 commented 7 months ago

It finally works in YM3438 and YMF276 modes. Please check by yourself since I have tested only on one module. Oscilloscopes also should properly display signals in DualPCM mode too.