
This is the only section with no Dr Logo in it. By the end of it you will have an Einstein running on your own machine, with Dr Logo loaded and waiting, and somewhere to keep the programs you write.
Set it up once and it stays out of your way.
Three pieces, all free.
| Piece | What it does |
|---|---|
| MAME | The emulator. Given the right ROM, it behaves like an Einstein. |
| The Einstein ROM | The machine's own built-in software. MAME cannot be an Einstein without it. |
| The Dr Logo disc | A disc image with Dr Logo on it, the two programs Tatung shipped with it, and room for your own work. |
One disc. Dr Logo takes about a quarter of it, two demonstration programs from 1984 take a little more, and the remaining 128K is yours to save programs onto.
These steps cover macOS and Windows. Everything in this course was written and checked on macOS; the Windows steps are written from MAME's own documentation rather than from our own machine, so if something here is wrong or missing, please tell us and we will fix it.
Linux is not written out separately - MAME is in every major distribution's package manager, and from step 2 onwards the Linux instructions are the macOS ones.
On macOS, the easiest way is Homebrew. If you do not already have it, follow the instructions at brew.sh, then:
brew install mame
Check it is there:
mame -version
On Windows, MAME is a download from
mamedev.org/release.html. Take the
64-bit binary - mame0289b_x64.exe, or mame0289b_arm64.exe if your PC has an
Arm processor. It is a self-extracting archive rather than an installer: run it,
choose a folder such as C:\mame, and it unpacks a pile of files including
mame.exe.
There is no installer and nothing is added to your Start menu. You work in the folder you unpacked into.
The course is written against MAME 0.289. A later version will almost certainly be fine; if something behaves differently from what a section describes, the version is the first thing to check.
MAME needs the Einstein's own built-in software, in a file called
einstein.zip. Download it from
Einstein System ROM (MOS 1.2 & 1.21) on
the Downloads page. It goes in a folder called roms.
On macOS, make one in your home folder:
~/roms/einstein.zip
On Windows, MAME already unpacked a roms folder next to mame.exe. Put it
there:
C:\mame\roms\einstein.zip
Do not unzip it. MAME wants the .zip exactly as it is.
Download the Dr Logo course disc and put it somewhere you can find again.
On macOS, a folder called einstein in your home folder will do:
~/einstein/drlogo.mfi
On Windows, next to MAME is simplest:
C:\mame\drlogo.mfi
That one file is the Dr Logo disc and your work disc at the same time. It also
carries SKETCH and QUIZ, the two programs Tatung shipped with Dr Logo in
1984 - Appendix II says what they are and how to run them.
Keep a spare copy of it somewhere. Dr Logo writes your work onto this disc, which is the point of it - but it also means a mistake at the keyboard can overwrite something. A second copy of the file you downloaded costs nothing.
One command, and it is the same one every time.
On macOS, in Terminal:
mame -rompath ~/roms einstein -flop1 ~/einstein/drlogo.mfi -window
On Windows, open a Command Prompt in the folder you unpacked MAME into and type:
mame.exe -rompath roms einstein -flop1 drlogo.mfi -window
The quickest way to a Command Prompt in the right place is to open the folder in
File Explorer, click in the address bar, type cmd and press Enter.
Either way the parts mean the same thing: -rompath says where einstein.zip
is, einstein is the machine to be, -flop1 is its first disc drive, and
-window keeps it in a window rather than taking over the screen.
It is worth saving that line somewhere - a shell alias on macOS, or a .bat
file on Windows - because you are going to run it a lot.
A window opens and the Einstein boots from the first disc:
*** EINSTEIN ***
TATUNG/XtalDOS 1.31 (C) 1983 1984
Then type:
LOGO
and press ENTER. Loading takes about three quarters of a minute, and the
screen sits still or goes black for much of it. When it finishes you get a
sign-on message and then a ? in the top left corner.
pr [dr logo is running]
Starting from
A fresh boot, at the ? prompt.
What you should see
?pr [dr logo is running]
dr logo is running
?

If you get that, everything is installed and working.
Type the brackets with the arrow keys. There is no bracket key on an
Einstein: left arrow gives [ and right arrow gives ]. S3 explains why.
-rompath ~/romz on macOS,
-rompath romz on Windows. MAME refuses before the machine even starts. Read
what it says. Seeing that message once, deliberately, saves you ten minutes
the day you see it by accident.-flop1 part left off, so the machine starts with no
disc in it at all. You get a different screen with an instruction on it. Try
typing LOGO anyway - what happens, and what does the screen tell you to do
instead?| Symptom | Cause |
|---|---|
MAME complains it cannot find einstein |
The ROM is not where it is looking. Check that einstein.zip is in the roms folder and that -rompath points at that folder. |
On Windows, mame.exe is not recognised |
You are not in the folder you unpacked MAME into. cd to it first, or type its full path. |
| A window opens and stays black | Give it a moment. If it stays black, the disc image path is probably wrong - MAME will say so in the terminal you started it from. |
You get > and Ready instead of the DOS screen |
The machine has not loaded the disc operating system. Press Ctrl-BREAK. |
Nothing happens for ages after you type LOGO |
It is loading. Three quarters of a minute is normal. |
Pressing [ does nothing at all |
There is no bracket key. Use the arrow keys. |
No Drive 1: and No.(0-3)?, and every key you press gives it again |
You have asked for a second disc drive and there is not one. There is no way out from the keyboard - close MAME and start it again. Anything unsaved is lost. |
MAME plus the Einstein ROM gives you the machine; the disc gives you Dr Logo
and somewhere to keep your work. One command starts it, LOGO loads
the language, and a ? means it is ready.
S3, talking to the turtle's interpreter - what that ? wants, how to type
a line it will act on, and how to stop the machine cleanly.