Reverse-Engineering DOS 1.0 – Part 1: The Boot Sector
Update: The source is available at github.com/mist64/msdos1
Some Assembly Required
Update: The source is available at github.com/mist64/msdos1
In the first Terminator movie, the audience sees the world from the T-800’s view several times. It is well-known that in two instances, there is 6502 assembly code on the T-800’s HUD, and many sites have analyzed the contents: It’s Apple-II code taken from Nibble Magazine. Here are HD versions of the shots, thanks to Dominik Wagner:
Operating system vendors face this problem once or twice a decade: They need to migrate their user base from their old operating system to their very different new one, or they need to switch from one CPU architecture to another one, and they want to enable users to run old applications unmodified, and help developers port their applications to the new OS. Let us look at how this has been done in the last 3 decades, looking at DOS/Windows, Macintosh, Amiga and Palm.
Try this in kernel mode:
Many hotels (at least in the USA) equip their room TVs with a “LodgeNet” entertainment system. The TV will show regular free television channels, but also have an interactive channel controlled by the remote that features video on demand and video games.
The heritage of different operating systems has been discussed many times. Mac OS X includes code from Mach and BSD, AmigaOS is based on TRIPOS, MS-DOS is a CP/M-86 clone and Windows NT is modeled after VMS. But what machines and operating systems were used for cross-compilation and bringup of these systems? In order to find this out about Mac OS X, I talked to a few people working at NEXT and Apple, and people that worked on Mach and BSD.
I moved cbmbasic development to SourceForge and released version 1.0, which has the following added features:
Every touristy place has them: Souvenirs with given names on them. If you have an uncommon name, or a friend with an uncommon name, you might look through the whole collection – and notice that they have generic ones like “#1 FRIEND” (i case you really don’t find your friend’s name), and, sometimes, generic ones in Spanish.
My last blog post showed the Zuse Z3 (1939-1941), the world’s first working digital Turing-complete computer. Let’s go back two more steps: The Zuse Z1 (1936-1938) shared its design with the Z3: It read its program from punched film and used floating point as its internal representation of numbers. But since it was all mechanical, it never worked reliably.
The Z3 by Konrad Zuse was the world’s first working digital Turing-complete computer. It did floating point arithmetic, had two registers accessible to the programmer, was microcoded, and clocked at about 5 Hz.
This article is in German, since it is about the German TV show “Supergrips” and how the scoreboard was implemented.
Download the Apple Keynote 08 presentation.
Update: Video recording available.
Here are all three volumes of the original 1985 edition of Inside Macintosh as a searchable PDF:
Update: The source is available at github.com/mist64/extract-adf; more info here.
I converted the first issue of the German Commodore 64 magazine 64’er into a searchable PDF: