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: unified PETSCII/ASCII keyboard scanner scheme also needed for newest beta ROMs #391

Closed lgblgblgb closed 9 months ago

lgblgblgb commented 9 months ago

This is basically #388 however since then, there were many additional changes (in mega65-core) which are more broad in scope. Also there can be problems now with "automated tasks" (with new ROMs) like auto-start programs with -prg options and such.

Changes in mega65-core

https://github.com/MEGA65/mega65-core/issues/582

Quick summary

Basically, it seems, the unified queues scheme stores three kind of information in a single queue entry: PETSCII value, ASCII value, applied modifier keys (at the time of the event, this is nothing to do with D611!). Any write to D610 or D619 dequeues the top most item, also bit 0 to D60A[7] does so.