Who invented DOS?

Tony Duell ard at p850ug1.demon.co.uk
Sat Mar 5 18:54:31 CST 2005


> I suspect that it might be very well be a corruption of the story
> about Randy Cook's easter egg in TRS-DOS, that showed up in NewDOS
> prior to NEWDOS80. That one really DID exist.  RS, in TRS-DOS 2.3,

I can confirm that one exists, I've seen it myself.

> changed "Randy Cook" in the easter egg to "Tandy Corp".  It was
> invoked by running a boot file as if it were a program, with one
> of the master paswords, and pressing 'J'? and 'N'? while it was loading.

I thought it was type BOOT/SYS.WHO, hold down 2 4 and 6 and press enter.

For the non-TRS-80 people here : 

In TRS-DOS, disk space was allocated by 'granules', these being half a 
track on single-density disks (which is all 2.x supported). All space 
allocated on the disk has a directory entry, this includes the directory 
itself (DIR/SYS) and the boot block (BOOT/SYS)

The boot block was the first sector of the disk, but of course the rest 
of that granule was also allocated to BOOT/SYS. The ROM bootstrap just 
copied the first sector into memory (note : sector, not granule) and 
jumped to the start of that area of memory. 

But executable files in general were more complex. In particular you 
could haev several logical sections that loaded at non-contiguous 
addresses, you could have sections that were taken as comments (and not 
loadrd anywhere), and so on.

The other thing you need to know is how the keyboard was scanned. It was 
done in software. The low 8 address lines, suitably buffered, were fed to 
the ekyboard column lines. The 8 row lines, again suitable buffered, were 
fed to the data lines, these buffers being enabled in a 256-byte section 
of the memory map between the ROMs and the RAM. By rerading 8 selected 
address in that region you could determine which keys were pressed.

Now for the easter egg. The boot sector was carefully designed so that if 
BOOT/SYS was loaded as a program from the TRS-DOS prompt, it would be 
taken as a comment. And thys executing BOOT/SYS would ignore the real 
boot sector, and would execute the stuff in the remaining 4 sectors of 
that granule.

That contained a little program to kick the display into 32*16 mode, then 
read in 512 bytes from those sectors, decrypt them, which in part 
involved XORing them with the keyboard row data (I think all the column 
lines were turned on) -- this means the message is not obvious if you 
search the disk, and write the result to video memory.

On TRS-DOS 2.3, the result is a Radio Shack copyright screen. I am told 
that on some earlier versions it was a Randy Cook copyright screen, and 
this was used to prove that Radio Shack were still using Randy Cook's 
code, even though they claimed they weren't (and weren't paying him 
royalties).

That last part I am not sure about. The existance of the easter egg I am.

-tony



More information about the cctech mailing list