Herb Johnson Oct 16 2012 BINARY AT THE START OF TDL'S 1K AND 2K MONITORS IS MANY ASCII SPACES (20H) AND THEN.... 20C91D23DD8D2000BEDD0077DDC97FE6 0020CDC907D6D80AFE30D601BECDC9C1 7957824FB101B3CD4F0707070701B3CD C5C924CB01A0CD082E671D01A0CD0720 2DE718E17C01C4CD7D09E3D9C5D94701 90CD4FD618F62001C4CD07380190CD01 2EE9FE28B57CEE18FB20B37A1BFFD3FB 20B37A1BFFD32FAFC32801A0CDF82001 C4CD01A0CD24283D22281D1C0909DD03 20C1783D01A0CDD9C5D9E1DDE56FE101 A0CDF501A0CD5F01A0CD57F620FEE647 3AD601BECDD9000E470159DA02FEFFDB 020031002032001E22010021001D32C3 3E000000 This is Z80 binary code, but if disassembled in the order given it does not "make sense". It only appears to be reasonable code if diassembled from the LAST byte BACKWARDS. TDL's early version of their ZPU manual, has a listing of TDL's loader and 1K monitor. It's explained that the TDL binary loader (which loads the above code) loads it from 01F3H *downward* to 0100H. That's consistent with the apparent location of the code at 0100H as hand-disassembled below. The loader listing in the manual, matches the disassembly below. Each group of code below is about one line of bytes above. There's roughly 0D0H or 200 bytes of code total. I've grouped the assembly code into roughly one group per line above from, of course, the LAST line above to the first, reading RIGHT to LEFT. It appears to set the stact at 0200H, sets a load point at 0100H. 000000.. NOP, NOP, NOP... ;00H 3EC3 MVI A,C3 321D00 STA 001DH 210001 LXI H,0100 221E00 SHLD 001EH 322000 STA 0020H 310002 LXI SP,0200H ;10H DBFF IN 0FFH FE02 CPI 02H DA5901 JC 0159 47 MOV B,A 0E00 MVI C,00 D9 EXX CDBE01 CALL 01BDH D63A SUI 3AH ;20H 47 MOV B,A E6FE ANI 0FEH 20 JRNZ 0F6H 57 MOV D,A CDA001 CALL 01A0 5F MOV E,A CDA001 CALL 01A0 5F MOV E,A CDA001 CALL 01A0 ;30H E1 POP H 6F MOV L,A E5 PUSH H DDE1 POP IX D9 EXX C5 PUSH B D9 EXX CDA001 CALL 01A0 3D DCR A 78 MOV A,B C1 POP B 2003 JRNZ 03H ;40H DD09 ADD IX,BC 09 DAD D 1C INR E 1D DCR E 2822 JRZ 22H 3D DCR A 2824 JRZ 24H CDA001 CALL 01A0 CDC401 CALL 01C4 ;50H 20F8 JRNZ 0F8H CDA001 CALL 01A0 28C3 JRZ C3H AF XRA A 2F CMA D3FF OUT 0FFH 1B DCX D 7A MOV A,D B3 ORA E 20FB JRNZ 0FBH ;60H D3FF OUT 0FFH 1B DCX D 7A MOV A,D B3 ORA E 20FB JRNZ 0FBH 18EE JMPR 0EEH 7C MOV A,H B5 ORA L 28FE JRZ 0FEH E9 PCHL 2E01 MVI L,01H ;70H CD9001 CALL 0190H 3807 JRC 07H CDC401 CALL 01C4H 20F6 JRNZ 0F6H 18D6 JMPR 0D6H 4F MOV C,A CD9001 CALL 0190H ;80H 47 MOV B,A D9 EXX C5 PUSH B D9 EXX E3 XTHL 09 DAD B 7D MOV A,L CDC401 CALL 01C4H 7C MOV A,H E1 POP H 18E7 JMPR 0E7H 2D DCR L ;90H 2007 JRNZ 07H CDA001 CALL 01A0H 1D DCR E 67 MOV H,A 2E08 MVI L,08H CDA001 CALL 01A0H CB SLAR C 24 INR H C9 RET C5 PUSH B ;A0H CDB301 CALL 01B3H 07070707 RLC RLC RLC RLC 4F MOV C,A CDB301 CALL 01B3H B1 ORA C 4F MOV C,A 82 ADD D 57 MOV D,A 79 MOV A,C ;BOH C1 POP B C9 RET CDBE01 CALL 01BEH D630 SUI 30H FE0A CPI 0AH D8 RC D607 SUI 07 C9 RET CD2000 CALL 0020H ;C0H E67F ANI 07FH C9 RET DD77 LD (IX+077H),A 00 NOP DDBE CP (IX,0BEH) 00 NOP 208D JRNZ 08DH DD23 INC IX 1D DCR E C9 RET ;D0H 20202020....ASCII SP,SP,SP..... Forward disassembly of the same binary does not "make sense". Here's a start of it, from the first line "forward". C9 RET 1D DCR E 23 INR H DD ?? 8D ADC L 2000 BE CMP M DD00 77 MOV M,A DD C9 RET 7F ?? E600 ANI 00H 20CD JRNZ CD C9 RET 07 RLC D6D8 SUI 0D8H 0A LDAX B FE30 CPI 30H D601 SUI 01H BE CMP M CDC9C1 CALL C1C9