mass:werk / Blog

(Posts 17 … 9.  Jump to newest. RSS feed: Subscribe.)

Digital Video Game Firsts — Michigan Pool (1954)

On the origin of digital video games and the complexity of classification.

When it comes to the first known digital video game (i.e. an interactive game implemented on a digital computer communicating its state by some kind of graphical display), it’s always also about a question of definition. Personally, I’d opt for a requirement of a digital computer running a simulation in real-time and providing means of interactive manipulation of said simulation by some kind of user input (without any interruption to the flow of the program). By this, we define a distinctive problem class for this, namely interactive, visual real-time computing. So a turn based game, like OXO, wouldn’t be a member of this class, while, say, Spacewar! would happily fit the definition.

Pool on MIDSAC, 1964
A game of Pool on MIDSAC, 1954.

So I’d like to divert your esteemed attention to a certain, lesser known edge case, “Pool”, implemented by William George Brown and Ted Lewis in 1954 on the one-of-a-kind MIDSAC computer.

Continue reading…

A Curious Bug in the Commodore BASIC Tokenizer Routine

Investigations into a lesser known bug in Commodore BASIC abbreviations.

There is a well known, special feature of the BASIC implementation of Commodore 8-bit machines, namely abbreviated BASIC commands. While this is probably more a bug than a feature, this bug has a curious bug of its own. Reason enough to start an investigation.

VT100 Series CRT Typography
A slightly embarrassed Commodore PET.

Why are there these abbreviations, how do they work, and, what could possibly go wrong?

Continue reading…

Raster CRT Typography (According to DEC)

A closer look at the glyphs drawn by the DEC terminals VT100 and VT220.

Recently, I engaged in a bit of analog media emulation, namely for the purpose of the reenactment of raster CRT graphics as seen on “glass terminals” like the iconic VT-series by the Digital Equipment Corporation (DEC). An endeavor, which raises a few questions, like, is there anything special to the media, what did the fonts really look like, and can we reconstruct them from specifications?

VT100 Series CRT Typography
(Not a DEC manual.)

Since ROMs are available (and modern TrueType fonts, as well), we may start there, since they are the closest, we may get, to the real thing, aren’t they? What could possibly go wrong?

Continue reading…

Binary Grain — The Hare in the Mandelbrot Set

Images from the outer limits of numeric precision.

Take any numeric renderer which allows you to zoom in repeatedly. For instance a Mandelbrot set renderer, because, Mandelbrot sets are always fun. For instance this one (by your’s truely). As you keep zooming in and zooming in, after a while, eventually, the rendered image will suddenly show pixelation. And as you are zooming in again, the pixels will increas in size. However, this is not a fault of the visualization layer, it’s just that you hit the mathemitcal barrier of numeric precision. The grain in binary computers…

Binary grain to du numeric precision

Continue reading…

Forgotten JavaScript: Object.handleEvent()

Tales of event-handling in JavaScript and some historic oddities of Netscape Navigator 4.

An interesting aspect of web technology is that solutions to specific problems tend to be invented more than once. For some reason or the other, a given solution doesn’t catch on and a new generation of developers will eventually address the wheel by the help of a new proposal. In this case it’s about object isolation and event handling.

code example for object.handleEvent

And while we’re at it, we may have a closer look at some of the (other) oddities of the Netscape Navigator 4 browser, as well…

Continue reading…

Legacy Graphics Range for Char8.js

The Terminals Working Group proposed a new Unicode range earlier this month (Jan. 4, 2019) for the purpose of retrocomputing and emulation. As of version 1.1, the newly proposed glyphs are already included in the Char8.js library for generating 8-bit characters from Unicode.

Here’s a sample, rendering the new glyphs in double height using a 16 × 8 character matrix:

The proposed legacy graphics range, rendered at 8 x 16 using Char8.js

The proposed range incorporates glyphs from various legacy systems, including

Related Links:

Anatomy of a Wordpress Backdoor

Reverse engineering the command and control structure of a Wordpress attack.

Software archeology usually relates to dated programs, like the bit we did on a 1960s graphics demo for the PDP-1. However, the same skill set also applies to reverse engineering more recent bits and bytes. In this case it’s about a Wordpress attack and its command & control structure. Recently, I discovered a new variation of the command & control structure…

Anatomy of a Wordpress hack

Continue reading…

Design & Engineering

Engineering design according to the Report of the Feilden Committee on Engineering Design, delivered to the government of Harold Macmillan in 1963:

G.B.R. Feilden, Engineering Design, Report of the Royal Commission, 1963: Engineering design is the use of scientific principles, technical information and imagination in the definition of a structure, machine or system to perform specified functions with the maximum economy and efficiency.

Now redo it in cross-stitch. ;-)