lgblgblgb / xemu

Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
https://github.com/lgblgblgb/xemu/wiki
GNU General Public License v2.0
201 stars 31 forks source link

MEGA65: hardware accelerated IEC interface #389

Open lgblgblgb opened 11 months ago

lgblgblgb commented 11 months ago

As discussed in https://github.com/MEGA65/mega65-core/issues/736 we need a time machine. Because of the various implementation difficulties, chip shortage (flux capacitors are extremely hard to buy nowadays) and lack of experienced volunteers (though a somewhat confused individual already showed up who has slipped from the toilet while hanging a photo on the wall and having a "vision" or what on a device ... I would not consider this a serious offer), probably we're left with the other choice on the short term at least: MEGA65, implementing a hardware accelerated IEC interface kind of thing, to eliminate the problems with timing, not so much the same as with C64.

On Xemu, I have certainly problems with timing. So there is a much better chance to introduce emulation for IEC devices, if this implementation takes form, and MEGA65 ROM also starts to use it.

I plan to delay this anyway and keep it as a reminder for myself (at least for now), because:

  1. Without ROM support, there is not too much anything which can use it anyway
  2. There is no IEC device emulation anywhere in Xemu (yet) which would make this worth to do (I need at least emulation of one IEC device which can be accessed then via IEC ...): probably a "serve a host-OS directory as an IEC device" is a nice enough addition and simple enough to implement (no need for full drive emulation, and sometimes even more useful than a D64 disk images), surely full drive emulations would be cool at some point (and these components can be reused by various other emulators within the Xemu project, even without the hardware acceleration IEC scenario, which itself at least can help to develop the needed framework first, and much more easy then to extend for software driven IEC!)
  3. Probably this should be left to be stabilized a bit in MEGA65-core first

Of course point 2 is something up to Xemu (and me) only, but the other two may worth a delay at this point.

MEGA65 side as of 2024-06-03

See: https://github.com/MEGA65/mega65-core/issues/736#issuecomment-2146169370