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?