Listing 1: Original code from Zilogs listing.
008C 31 F0 236 RESET: SRP #RPx ! MAKE =WORK, SO SHORT 008E B0 FB 237 CLR IRQ+1 ! CLEAR INTERRUPT MASK 0090 8C 96 238 LD rP01M,#150 ! RAM, FAST, INT STK 239 ! (10010110) 0092 FC 68 240 LD rSPL,#ISTAK ! STACK POINTER 0094 4C AF 241 LD rT0R,#175 ! INITIALLY 110 BAUD 0096 5C 0D 242 LD rT0Rp1,#13 ! FOR UART (00001101) 0098 7C 41 243 LD rP3M,#65 ! SERIAL I/O (01000001) 009A 1C 03 244 LD rTMR,#0 ! START UART CLOCK (%03) 009C CC 02 245 LD rFLAGS,#2 ! SET XEQ 009E 31 13 246 SRP #AC 00A0 B0 03 247 CLR PORT3 00A2 4C FF 248 LD rADH,#-1 ! POINT TO SWITCHES 00A4 5C FD 249 LD rADL,#-3 ! = FFFD 00A6 C2 24 250 LDC rACX,@rrADH ! GET THEM 251 ! LD rACX,#2 ! USE MUD DEFAULT !(commented out) 00A8 3C 80 252 LD rAC,#128 ! POSITION SINGLE BIT 00AA 90 E3 253 RL rAC ! (THIS MAY TAKE A WHILE 00AC 2A FC 254 DJNZ rACX,#-2 ! BUT WHO CARES?) 00AE A6 E3 20 255 CP rACX,#32 ! IF NOT 110, 00B1 6B 02 256 JR EQ $+4 ! (110 BAUD ALREADY SET) 00B3 39 F4 257 LD T0R,rAC ! THEN FIX UP TIMER 00B5 9F 258 EI ! *&%$#@ UART 00B6 76 03 01 259 TM PORT3,#1 ! IS BREAK SET?