indigodarkwolf / box16

A fork of the official X16 emulator, converted to C++20 and with a bunch of features tweaked and added.
MIT License
41 stars 19 forks source link

Feature Request: YM2151 timer and IRQ support #25

Closed ZeroByteOrg closed 3 years ago

ZeroByteOrg commented 3 years ago

The YM2151 routines do not clock the timers, and the IRQ line is not connected to the system yet. Per Kevin (TexElec), the IRQ line is indeed connected, so it would be beneficial to activate these timers in the emulation. Furthermore, the chip also has a purely internal feature CSM which causes a keyDn event on all 8 channels whenever TimerA overflows, which does not function properly unless the timers are clocked.

indigodarkwolf commented 3 years ago

2ac9ed43f0c4842c88d4398e849ea06706cfa80d should implement these, and is part of the nr39.2 release. Or just get latest, a bunch of additional performance improvements have gone in as well.

I'm going to go ahead and preemptively close this, but please don't hesitate to re-open if you find a problem with the YM timers or IRQ implementation. Closing is just an organizational tool, not an ultimatum. :)