0000- 12 .TF the_falling_man.bin ; object file 0000- 13 ; .TF the_falling_man.hex,INT ; Intel hex file 0000- 14 ; 0F00- 15 RAM .EQ $0F00 ; for variables 0B00- 16 DISP .EQ $0B00 ; Display Memory 0000- 17 ; 0000- 18 ; RAM Offsets 0000- 19 ; 0002- 20 COL .EQ 2 ; Column 0003- 21 CNT .EQ 3 ; Counter 0004- 22 ROW .EQ 4 ; Row count 0000- 23 ; 0F20- 24 .OR $0F20 ; set origin 0F20- 25 ; 0F20-C4 0F 26 ( 10) ENTER: LDI /RAM ; (high byte) 0F22-37 27 ( 8) XPAH 3 0F23-C4 00 28 ( 10) LDI RAM ; (low byte) 0F25-33 29 ( 8) XPAL 3 ; P3 to variables 0F26-C4 0B 30 ( 10) BEGIN: LDI /DISP ; (high byte) 0F28-35 31 ( 8) XPAH 1 0F29-C4 06 32 ( 10) LOOP: LDI 6 0F2B-CB 02 33 ( 18) ST COL(3) 0F2D-31 34 ( 8) NEWMAN: XPAL 1 ; begin new man 0F2E-C4 0F 35 ( 10) LDI /MAN ; (high byte) 0F30-36 36 ( 8) XPAH 2 0F31-C4 70 37 ( 10) LDI MAN ; (low byte) 0F33-32 38 ( 8) XPAL 2 ; P2 to man pattern 0F34-C4 13 39 ( 10) LDI 19 0F36-CB 03 40 ( 18) ST CNT(3) 0F38-C4 0F 41 ( 10) COPY: LDI 15 ; rows per picture 0F3A-CB 04 42 ( 18) ST ROW(3) 0F3C-C6 01 43 ( 18) NEWROW: LD @1(2) 0F3E-CD 01 44 ( 18) ST @1(1) 0F40-C6 01 45 ( 18) LD @1(2) 0F42-CD 07 46 ( 18) ST @7(1) ; point to next row 0F44-BB 04 47 ( 22) DLD ROW(3) ; picture done 7 0F46-9C F4 48 (9/11) JNZ NEWROW 0F48-C6 E2 49 ( 18) LD @-30(2) ; reset P2 0F4A-C5 90 50 ( 18) LD @-112(1) ; reset P1 1 row down 0F4C-8F 40 51 ( 13+) DLY $40 ; wait ... 0F4E-BB 03 52 ( 22) DLD CNT(3) 0F50-E4 04 53 ( 10) XRI 4 ; 4 sweeps to go? 0F52-98 18 54 (9/11) JZ LAND ; yes - change picture 0F54-E4 04 55 ( 10) XRI 4 ; restore CNT 0F56-9C E0 56 (9/11) JNZ COPY ; fresh sweep 7 0F58-8F FF 57 ( 13+) DLY $FF ; leave man standing 0F5A-BB 02 58 ( 22) DLD COL(3) ; next man 0F5C-BB 02 59 ( 22) DLD COL(3) ; subtract 2 0F5E-94 CD 60 (9/11) JP NEWMAN ; all done 7 0F60-C4 00 61 ( 10) LDI 0 0F62-31 62 ( 8) CLEAR: XPAL 1 ; clear screen 0F63-C4 00 63 ( 10) LDI 0 ; blamk 0F65-CD 01 64 ( 18) ST @1(1) 0F67-31 65 ( 8) XPAL 1 0F68-9C F8 66 (9/11) JNZ CLEAR ; more to do 0F6A-90 BA 67 ( 11) JMP BEGIN ; repeat for ever 0F6C-C6 1C 68 ( 18) LAND: LD @+28(2) ; P2 to standing man 0F6E-90 C8 69 ( 11) JMP COPY ; continue 0F70- 70 ; 0F70- 71 ; Bit Patterns for Falling Man 0F70-00 00 43 08 43 08 72 MAN: .DB $00,$00,$43,$08,$43,$08 0F76-3F F0 0F C0 07 80 73 .DB $3F,$F0,$0F,$C0,$07,$80 0F7C-03 00 07 80 04 80 74 .DB $03,$00,$07,$80,$04,$80 0F82-08 40 08 40 04 80 75 .DB $08,$40,$08,$40,$04,$80 0F88-04 80 04 80 00 00 76 .DB $04,$80,$04,$80,$00,$00 0F8E- 77 ; 0F8E- 78 ; Bit Petterns for Standing Man 0F8E-03 00 03 00 0F C0 79 .DB $03,$00,$03,$00,$0F,$C0 0F94-1F E0 27 90 43 08 80 .DB $1F,$E0,$27,$90,$43,$08 0F9A-07 80 0C C0 10 20 81 .DB $07,$80,$0C,$C0,$10,$20 0FA0-20 10 10 20 08 40 82 .DB $20,$10,$10,$20,$08,$40 0FA6-00 00 00 00 83 .DB $00,$00,$00,$00