“Now Go Bang!” is named after a source comment in Spacewar!, the first digital video game. It marks the very instance, when a spaceship which has been dragged into the gravitational star starts to explode. What follows, is impressionist pixel-dust floating along the ship’s former trajectory in a sparkling bloom of phosphor activation.
The PET 2001 emulator does now support the business keyboard! While we prepared for this and hinted here at this in the past, we now proudly present a full implementation. — Select “ROM 4b” for BASIC 4.0 with a ”b” as in “business”…
Update: Our humble PET, which has thus become a “CBM Series 2001/B Business Computer”, as well, isn’t limited to BASIC 4.0 with the business keyboard any longer, as you may now also select “ROM 2b” for BASIC 2.0 with a ”b” as in “business”.
It’s fairly well known how CRT displays made their way into computing, from WWII-era PPI (Plan Position Indicator) scan RADAR displays via Whirlwind, the Charctron display and the SAGE protype displays, seeing further applications in the TX-0, TX-2, and DEC PDP computers. However, there may have been an alternative technology available, namely dark trace or scotophor CRTs. In contrast to the light-emitting light-on-dark phosphor CRTs, these drew their images, like the name suggests, in dark traces on a light, often backlit background. Coming at the designation P10, these tubes used tenebrescent minerals, like alkali-halide crystals, instead of phosphor, but could be controlled by the usual means of a cathode ray and deflection circuits. A notatable feature of these dark-scan tubes was a non-volatile image, which gave them similar properties to E-Ink.
Just to let you know, in case you were interested…
A very brief update notice: Inching forward on the quest for feature creep, the PET 2001 emulator now supports ROM installation per drag&drop! See the description for details.
To add a bit of meat to this post, here are the ROM socket designators of the PET 2001:
H1 … C000–C7FF
H2 … D000–D7FF
H3 … E000–E7FF
H4 … F000–F7FF
H5 … C800–CFFF
H6 … D800–DFFF
H7 … F800–FFFF
There are no sockets for option ROMs on the boards of the original PET 2001s. Moreover, as there is no socket for B000–BFFF, we’re out of luck regarding BASIC 4 and restricted to the old and new ROM versions of Commodore BASIC. (Of course, we can always directly access the address bus on the CPU and thus provide for extra ROMs, but on an unmodified machine we are restricted in our firmware options.) Notably, the sockets, there are, are for 2K ROMs, while later models featured sockets for 4K ROMs.
On the PET 2001N, the one with the “real” keyboard, and CBMs, there are sockets for the full complement, including D3 and D4 for option ROMs:
D3 … 9000–9FFF
D4 … A000–AFFF
D5 … B000–BFFF
D6 … C000–CFFF
D7 … D000–DFFF
D8 … E000–EFFF *
D9 … F000–FFFF
Finally, later PETs featured the following ROM socket designators:
UD6 … F000–FFFF
UD7 … E000–EFFF *
UD8 … D000–DFFF
UD9 … C000–CFFF
UD10 (UD5) … B000–BFFF
UD11 (UD4) … A000–AFFF
UD12 (UD3) … 9000–9FFF
*) reserved I/O space at E800–EFFF.
Fun fact: In the handwritten schematics, ”D800” for H6 looks much like “0800” and “B000” for D5 much like “8000”.
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….
A closer inspection of the keyboard(s) of the PET 2001.
Where we investigate the PET keyboard, have a closer look at the keyboard matrix of the various layouts found on the PET 2001 and later PETs, as well, and even have a bit of 6502 fun.
We investigate the hair-raising case of the missing 4th variable type in Commodore BASIC — and a possible damsel, possibly in distress. A true detective story…