A commented disassembly of BOOT/SYS of NEWDOS/80 v2.0 for the Model I has been added.
As noted on the page, two things really struck me about how that sector was programmed. The first, is that it was broken into different parts – one which handled DISK I/O (including polling the FDC and reading data) and one which used the data which was read. By handling it this way, Cliff simply used the EXX command to swap out the registers wholesale, depending on which set of routines he was using. With this, he only used the PUSH command 3 times in the entire routine! The other thing was that since the Model I has a memory location for accessing the Floppy Disk Controller instead of ports, manipulation and testing of the controller data could be done in 1 opcode instead of 2.