Duncan Smeed

From The Dragon Archive

Quote: "Initially I was hired as a consultant to write the BIOS for the Dragon. This BIOS was the abstraction layer between Microsoft's (Dragon) BASIC and the underlying hardware. I also helped out with the design of the hardware. Motorola at East Kilbride aided and abetted since the MC6809E was the Dragon's processor. I have a soft spot for the 6809 - it was nice, orthogonal, 8/16-bit architecture and the last of the Motorola processors to have a SEX instruction ;-) Since I wrote the BIOS in 6809 assembler using Motorola's development kit, I was also the person that blew the final mask ROM for the production machines. In the usual time-honoured fashion I 'signed' my work with a wee easter-egg in the ROM. Since I couldn't leave a trace in the source program I patched the final ROM by hand! To this day, all Dragon 32s have my initials in their ROM. I patched my initials into the the end-of-line initialisation sequence that got copied into the BIOS data structures in RAM at boot time. The EOL sequence according to the BIOS source is CR,LF,NULL,NULL,NULL,NULL but in reality was patched to CR,LF,'D','N','S',' '. Since this sequence was copied into RAM it was possible to modify this by POKEs to configure the EOL sequence to a particular printer, say. The number of characters in the EOL sequence (initially the constant 2) was also copied to RAM so that it too could be modified. By using a POKE to alter this RAM location to the value 6 my initials printed out as part of the EOL sequence. I.e. DNS appeared at the start of every printed line ;-) "