PET 2001 Emulator + 6502 Updates
Yet another software update notification.

After the big spring rewrite for version 2.0 of the PET 2001 emulator, which brought things like sound, cycle accurate video rendering (we run all the newest demos without modifications!), a new CPU emulation, and even more features, like a built-in 6502 assembler, various context aware dissassembly and dump modes to allow a close inpsection of the internals, support for joystick input with emulatinon of various adapter schemes (including SNES gamepads), and other things more, I’m happy to announce a few further upgrades.
Recently, I rewrote the entire keyboard handling from scratch, which now provides faithful emulation of the PET’s original keyboard in ”Games Mode”. Which — as suggested by the name — should provide better support for games that bring their own keyboard scan routines. (Compare our last installment.) Now I added support for a virtual numeric keypad, which is both complementary and somewhat alternative to the keyboard joystick emulation (which reroutes cursor input to any selected joystick scheme, using the CPAS-LOCK as a modal toggle.) Moreover, I rewrote the ROM implementation, which now (a) transparently relates to ROM sets and Commodore product IDs of the individual ROMs, and (b) allows modular upgrades without redundantly including duplicate code.
Somehow things are dropping in place and are coming together for a feature still missing, namely, support for the business keyboard. As the PET’s business keyboard features both typewriter-style numerals on the top row of the keyboard as well as a separate numeric keypad, which comes with its own key codes, any kind of emulated keypad is strictly a requirement for this to be of any use in the era of laptops and reduced keyboards. (Some laptops come with a NUM-LOCK feature, but others, like MacBooks, don’t have any of this. Hence, it’s up to the emulator to provide for this.) As the business keyboard also comes with its own keyboard matrix, we’ll have to replace the editor ROM in order for this to work. Which is already provided for by the new ROM architecture.
Other, I’m happy to announce that the CPU emulation passes Klaus Dormann’s functional test suite for the 6502 and the extensive decimal mode (BCD) test, which is also true for the closely related virtual 6502 emulation. The virtual 6502 suite also saw the addition of a new member, a tiny hex-editor for quick hacks of 8-bit binaries and hex-dumps (with special support for Commodore 8-bit PRG-files). Moreover, these apps now enforce their unique window identifier, which should provide improved interoperability, when switching between them, regardless of where you came from or how you navigated there.
Well, that’s it, for this time, but there may be coming more….