mass:werk / Blog

(Posts 73 … 65.  Jump to newest. RSS feed: Subscribe.)

The Skiatron and Early Dark Trace CRTs

A glimpse of an alternative display technology.

Title illustration: A Skiatron display for WWII scan RADAR

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.

Continue reading…

PET 2001 Emulator: Option ROMs

Just to let you know, in case you were interested…

Yet another illustration, a drawing of a PET 2001 and puzzle pieces

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:

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:

Finally, later PETs featured the following ROM socket designators:

*) 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”.

PET 2001 Emulator + 6502 Updates

Yet another software update notification.

Yet another illustration

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….

PET Keys — Series 2001 Edition

A closer inspection of the keyboard(s) of the PET 2001.

Another illustration

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.

Update: Now with code examples!

Continue reading…

Fear and Loathing in the Face of the Missing 4th Commodore BASIC Variable

Some early results of our hair-raising experiment.

Illustration: Fear and Loathing in the Face of the Missing 4th Commodore Variable — First Results

Before we resume our normal operations, a quick look at first results for our little experiment…

Continue reading…

The Case of the Missing 4th Commodore BASIC Variable — Bonus Episode

Yet another hair-raising experiment.

Illustration: The case of the Missing 4th Commodore Variable… Bonus Episode

A mildly interesting bonus episode, where we investigate our own signal to noise ratio using the new-fangled Clip Text™ Machine

Continue reading…

The Case of the Missing 4th Commodore BASIC Variable (and the 5th Byte)

Yet another detective story.

Illustration: The case of the Missing 4th Commodore Variable…

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…

Continue reading…

Link Your Time

An Update to the previous update.

Screenshot of the international time zone conversion utility.

Last time, we presented our nifty international time zone conversion utility. Now it has become even better: once, you’ve set up the converter, you may link the current set up in order to share it. There’s a link near the bottom of the page, which will be always up to date. Just right-click it and copy. (This may be helpul for negotiating dates or meetings.)

Moreover, you may also preconfigure a link in order to see, what the current time (or a specific one) will be in certain locations / time zones. See the documentation on parameters at the bottom of the page for details.

Also, I’m finally working on sound for the PET 2001 emulator…