mass:werk / Blog

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

"now go bang" as found in the source code of Spacewar!

RSS feed: Subscribe.

Posts so far: 79, view as comprehensive list.

A few tags:computerhistory, infographics, software, pet2001, basic, pdp-1, archeology, retrochallenge, mixed-bag, long-read.

If you like what I’m doing, you can buy me a coffee: Buy me a coffee

Japanese Attractions: Kana on the PET 2001

The Japanese character ROM and keyboard come to the PET 2001 emulator.

Katakana on the Commodore PET 2001 (emulation)

Another update to the PET 2001 emulator, spefically, a tribute to Japan and its importance to home computing history in general, and its role for Commodore in particular.

Continue reading…

“The Abominable iPhone Zombies”
– A PETSCII Horror Doom Scroller

A new game for the Commodore PET, also, how to detect keyboards on a Commodore PET.

The Abominable iPhone Zombies, a game for Commodore PET

Rumors that I am might be writing a game (or is it a playable joke?) are not entirey unfounded. Also, another (maybe helpful) note on PET keybords and how to detect them.

Continue reading…

Funny Games on a PET 2001N (or B)

A curious case of jumper settings for PETs with the dynamic system board.

A semi-abstract title illustration

The curious tale of a PET, two jumpers, and some funny games…

Continue reading…

The PET 2001 Emulator Debugger

A visual tour.

Illustration for the PET 2001 emulation debugger article

So a few words on the debugger for the PET 2001 emulator: this is meant to help you around with 6502 machine code on the virtual PET, both for exploring existing software and testing your own code.

Be my guest on a visual tour…

Continue reading…

The Commodore PET INPUT Bug-Feature

Adventures in MS BASIC (Commodore PET edition).

Well, another illustration

As it happens, I recently added a debugger to the PET 2001 emulator, with the expressed purpose of facilitating code reverse engineering. To celebrate this, we’ll risk a glimpse into a peculiar bug — or is it a feature? — of the BASIC flavor found on Commodore’s PET computers. Particularly, it’s about BASIC bailing out into a warm start, whenever an empty string is entered by just pressing RETURN on the INPUT prompt.

Continue reading…

Shiny New 6502 Thing

New 6502 emulator feature: Instruction preview with resolved operands.

Screenshot of the 6502 emulator at masswerk.at/6502

A new feature for the 6502 emulator: Now, there’s an instant preview for the effects of the next instruction to be executed, with effective values and operands resolved.

E.g., given the following memory and register content,

$2004: $88
$0044: $04 ;<$2004
$0045: $20 ;>$2004
    X: $04

the emulator will show the following preview for the instruction `A1 40` or “LDA ($40,X)”:

A ⇐ $88

resolving the X-indexed addressing and showing the effective value, which will be assigned to the A register (accumulator).

Or, for an ASL instruction, it may show this (depending on the content of A):

A ⇐ C < |10001000| < 0

And, for the instruction `CE 04 20` or “DEC $2004”, it may show:

[2004] ⇐ $88 - 1

Thanks to this preview of the effective values, which will be actually used, complex behavior may be followed more easily and common errors, like forgetting “#” to mark up immediate operands in the assembler (and using zeropage mode instead — the dreaded “LDX $00”), should become pretty obvious.
(I’m not aware, whether there is prior art for this idea or not.)

And, by popular demand, there is now a “RST” button, sending a RESET signal to the emulator.

Try the 6502 emulator.

PET 2001 Dark Mode & Themed Range Sliders

Also, how to style range inputs using CSS, including accent colors.

Title illustration: dark mode control and slider elements of the PET 2001 emulator

So the PET 2001 emulator received a dark mode. This wasn’t exactly great news, nor worthy a blog post, if there wasn’t also something to be learned from every project. In this case, it’s about how to implement accent colors for custom styled HTML range-input elements, something, I haven’t found any hint on in the entirety of the Internet.

Continue reading…

PET Business

PET 2001 emulator up to business.

Yet another illustration, including a PET 2001

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

CBM 2001/B computer

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