Einstein 256 Primer cover: Graphics 7's 256 colours on the Einstein 256's screen
course · new for 2026

Einstein 256 Primer

The TatungBytes logo
TatungBytes

The Einstein 256 looks like a TC-01 with a new badge, and switches on with a familiar screen: *** EINSTEIN 256 ***, and MOS 2.1 where the TC-01 says MOS 1.2. Underneath, it is a different games machine. The Z80 has the same 64K, but the video chip has 192K of video memory of its own where the TC-01 had 16K, and it does a great deal more with it.

This is a primer, and it follows on from our Z80 assembly course. It does not teach assembly language again, and it does not go back over anything that works the same on both machines. It takes someone who has finished the assembly course, written on the TC-01, through what is different on the 256 - and then, thoroughly and through game code, through everything the 256's video chip can do that the TC-01's cannot. If you have not done the assembly course, start there.

You do not need to own an Einstein 256. Everything here runs on an emulator on your own computer, and everything you need is free.

What It Is

Twenty sections and an appendix. The first three get you going: the 256 in MAME, your first program on it, and the handful of things that behave differently when TC-01 code moves across - where a program starts, how big the stack is, where data for a MOS call may go, one register bit that now matters, and the joysticks. Every section after that teaches something the TC-01 cannot do at all: a palette of any 16 colours from 512, a real 50 Hz frame interrupt, eight sprites to a line with a colour on every line, digital joysticks, bitmap screens up to 512 pixels across and 256 colours, page flipping, hardware scrolling, a line interrupt for a still score panel or a colour split, a blitter that fills, copies and draws while your program gets on with something else, and 80-column text. It ends with River Run, a game that puts them together: a river scrolling without end above a score panel that stays still, a three-colour ship, shaded rocks, and one interrupt driving it all. An appendix puts the whole primer on one page: each thing as the TC-01 does it, and what the 256 does instead.

Every section has the assembly course's shape: the explanation, starting from the TC-01 way you already know, a complete program with what you should see, single changes to try, and the failures we actually hit.

What You Need

What you set up for the assembly course - VS Code, z80asm and MAME - with version 0.6.0 or later of our Tatung Einstein development extension, which can run your programs on the 256, and MAME's Einstein 256 ROM set, MOS 2.1 for the Tatung 256. There is no disc: as in the assembly course, you type each program in. Every listing is also in one zip on our Downloads page, to check your typing against.

How It Was Made

The same way as the other courses. Almost everything that can be read about the 256's video chip was written for other machines that used it, and almost everything about the Einstein was written about the TC-01 - and all of it is nearly right. So nothing here is taken from another machine, from a magazine, or from what the TC-01 does: every claim the primer makes about the 256 was observed on the 256 before it was written down, including every "this works the same as before". Where the same program could run on both machines, it was run on both, and the difference seen.

That mattered. Setting a register bit that is harmless on the TC-01 throws a 256 straight back to MOS. Data you hand to some MOS calls has to live above 8000h, because the ROM covers the memory below it while the call runs. A program's stack and its return address depend on how it was loaded. And "joystick 1" through the TC-01's analogue port is the 256's joystick B. Every one of those is in the primer because the machine showed it to us.

Every listing and every change was assembled and run, and every picture is the screen it produced. What has not yet been done is a test on a real Einstein 256: the primer was written and checked under emulation, and if you follow it on a real machine we would like to hear what differs.

This primer was written with Claude Code, directed and tested by Gavin Watson. We say so openly because we think it is the right way to use these tools, and because you deserve to know how the thing you are learning from was built.

Get the Newsletter

New guides, disk images and community finds, roughly once a quarter. No spam, we promise, this isn't Tatung's marketing department.
Your subscription could not be saved. Please try again.
Your subscription has been successful.

Newsletter

Subscribe to our newsletter and stay updated.