; SCREEN PRINTER FOR JSW ; ====================== ; April 1984 Graham Harston ; Machine code support for DefRoom JSW Editor ; 23296-23299 contain attributes for characters ; UDG 'A'-'D' defined to room characters ORG 23300 PR_SCR LD A,0 ; 23301 set to room number ADD A,192 ; Convert to room address LD H,A LD L,0 LOOP LD A,(HL) ; Get room byte LD C,A LD B,4 ; 4 chars per byte LOOP2 CALL CHAR DJNZ LOOP2 INC L BIT 7,L JR Z,LOOP ; Loop for 128 bytes LD A,71 LD (23694),A ; White ink, black paper LD B,32 LOOP3 LD A,(HL) ; Print room name CALL PRINT INC HL DJNZ LOOP3 RET CHAR RLC C ; Move top two bits to b0-b1 RLC C LD A,C AND 3 PUSH AF LD E,A LD D,#5B LD A,(DE) ; Get ATTR for this char LD (23694),A POP AF ADD A,144 ; Get UDC for this char RST #10 RET PRINT AND 127 CP 32 JR NC,PR_2 LD A,143 ; Convert unprintable to block PR_2 RST #10 RET