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
207 stars 32 forks source link

MEGA65: $D619 PETSCII keyboard scanner recent changes (also for new ROMs) #388

Closed lgblgblgb closed 11 months ago

lgblgblgb commented 1 year ago

Migrated to #391

Functionality for the $D619 has been implemented in #350. However there is an on-going project to allow faster typing in BASIC and in general, using the more logical choice on MEGA65: the PETSCII based hardware accelerated keyboard scanner. However for the ROMs this feature to be really usable some changes had to be done in mega65-core which made the implementation incompatible with the previous one. This is in general not a problem, since not so many (if any!) MEGA65 software existed before using this feature, however it's a kind of urgent topic now, so people can use newer ROMs soon with the emulator as well. For that though, I should emulate all the changes done in mega65-core.

Resources

Needed changes (in nutshell)

Milestones

lgblgblgb commented 1 year ago

There were additional changes in MEGA65-core in regard of this feature.

lgblgblgb commented 1 year ago

Note: by ROM defaulting to use a hardware, queue based keyboard scanner, it will be relative easy to support a proper "paste text" function. With a software solution (matrix scanning by ROM) it's hard to tell, if a faked key is "consumed" yet, and we can't know when I can advance further for the next character to be faked. However, with hw queue, I can exactly know, when to emit a new character: if there is place in the queue. It also guarantees the maximum possible throughput in terms of paste text speed, without the fear to lose a keypress.

lgblgblgb commented 11 months ago

Migrated to #391