; ; Assembler to generate the cpm3355.spr file ; cr equ 0dh lf equ 0ah org 100h db 0 dw 4F9H db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0 JP 0CH JP 397H JP 18H JP 35H LD HL,3 LD DE,43H LD BC,9 LDIR RET LD A,(4CH) ADD A,0AH LD C,A IN A,(C) CPL BIT 0,A JR Z,233H AND 0CH JR NZ,230H LD A,0FFH OR A LD (437H),A RET CALL 3F5H SUB A RET LD A,C LD HL,44FH BIT 3,(HL) JR NZ,285H LD HL,0B3H LD BC,8 CPIR JR Z,295H CP 80H JR NC,270H CP 20H JR C,267H LD BC,(45FH) LD HL,(451H) ADD HL,BC LD DE,63CH CALL 42CH CALL NC,28AH LD (451H),HL LD HL,450H INC (HL) LD HL,(459H) LD (HL),A INC HL LD (459H),HL RET CP 0C0H PUSH AF JR NC,27DH AND 3FH LD (45FH),A POP AF JR 267H AND 3FH LD C,A LD B,0 POP AF JR 253H CP cr JP Z,295H CP lf JR Z,2AAH OR 80H LD BC,0CH JR 253H LD HL,0BBH LD A,C JR 29BH ADD A,A CALL 432H LD A,(HL) INC HL LD H,(HL) LD L,A JP (HL) LD HL,44FH SET 3,(HL) RET CALL 2C8H LD HL,44FH RES 3,(HL) RET db 7FH db 0AH db 0CH db 0DH db 9 db 5 db 3 db 2 dw 2ACH dw 2A5H dw 0A4H dw 0CBH dw 295H dw 2B6H dw 2C8H dw 397H LD A,' ' CALL 4FH LD A,(450H) AND 7 JR NZ,2CBH RET LD HL,463H LD DE,(459H) AND A SBC HL,DE RET NC CALL 2DDH LD HL,(45BH) LD DE,(451H) ADD HL,DE EX DE,HL LD HL,(453H) ADD HL,HL CALL 42CH LD HL,(459H) LD (HL),0 DEC HL EX DE,HL LD HL,463H LD (459H),HL LD A,(44FH) BIT 3,A JP NC,19CH LD BC,(45BH) LD (461H),BC LD A,(HL) JR NZ,35DH CP 80H JR NC,346H CP ' ' JR Z,330H JR C,358H PUSH HL LD HL,(461H) CALL 351H POP HL LD A,(HL) LD B,A CALL 36EH CALL 33DH LD DE,(45DH) PUSH HL LD HL,(461H) CALL 311H ADD HL,DE LD (461H),HL POP HL INC HL LD A,(HL) AND A JR NZ,316H RET CP 0C0H JR NC,351H AND 3FH LD (45DH),A JR 340H AND 3FH LD E,A LD D,0 JR 334H CALL 258H JR 340H PUSH HL LD H,B LD L,C LD C,A LD B,6 RR C CALL C,26AH INC HL INC HL DJNZ 363H LD B,H LD C,L POP HL INC HL LD A,(HL) AND A JR NZ,35DH LD (461H),BC RET LD A,(HL) PUSH HL LD H,B LD L,C RLA RLA LD C,A LD B,6 DEC HL DEC HL RL C CALL C,26AH DJNZ 382H LD B,H LD C,L POP HL DEC HL LD DE,463H CALL 42CH JR NC,379H LD (461H),BC RET LD BC,(451H) LD (461H),BC EX DE,HL JR NZ,379H LD HL,45DH LD B,0 LD A,(DE) CP 80H JR C,3BDH CP 0C0H JR NC,3BDH AND 3FH LD C,(HL) LD (HL),A LD A,C OR 80H LD (DE),A INC B INC DE LD A,(DE) AND A JR NZ,3ADH LD A,(HL) PUSH AF EX DE,HL PUSH HL LD DE,0 DEC HL LD A,(HL) DEC A JR NZ,3D0H INC D CP 5 JR NZ,3D5H INC E DJNZ 3CAH LD A,(44FH) RR D JR NC,3E0H XOR 0C0H RR E JR NC,3E6H XOR 30H LD (44FH),A POP HL DEC HL LD A,(HL) PUSH HL CP 80H JR NC,433H CP 20H JR Z,43EH JR C,453H LD HL,(461H) LD DE,(45DH) SBC HL,DE LD (461H),HL PUSH AF CALL 311H CALL 351H POP AF LD B,A CALL 36EH CALL 33DH POP HL DEC HL LD DE,463H CALL 42CH JR NC,3EBH POP AF LD (45DH),A LD A,(44FH) BIT 6,A JR Z,429H XOR 0C0H BIT 4,A JR Z,42FH XOR 30H LD (44FH),A RET CP 0C0H JR NC,441H AND 3FH LD (45DH),A JR 412H LD A,(45DH) AND 3FH LD D,0 LD E,A LD HL,(461H) SBC HL,DE LD (461H),HL CALL 311H JR 412H CALL 258H JR 412H DEC A LD B,80H JR Z,462H CP 5 RET NZ LD B,' ' LD A,(44FH) XOR B LD (44FH),A RET PUSH HL CALL 351H LD A,'.' CALL 36EH POP HL RET CALL 0D8H LD HL,(451H) LD (45BH),HL LD DE,10H LD A,(44FH) BIT 3,A RET Z LD E,2 RET PUSH AF PUSH BC CALL 295H CALL 2C8H POP HL POP AF RET CALL 0D8H LD HL,0 LD (450H),HL LD (451H),HL LD (45BH),HL RET CALL 275H LD E,8 JR 4CBH CALL 275H EX DE,HL LD L,8 LD A,8 JR 4EFH CALL 295H LD (457H),HL LD DE,(455H) LD HL,420H SUB A SBC HL,DE JR 4EFH CALL 275H LD HL,(457H) ADD HL,DE LD (457H),HL LD DE,(455H) ADD HL,DE LD DE,420H SBC HL,DE RET C LD HL,(457H) LD A,H OR L RET Z LD DE,0 LD (457H),DE SUB A CALL 2EFH RET EX DE,HL LD BC,420H LD HL,(455H) AND A JR NZ,50BH ADD HL,DE AND A SBC HL,BC JR NC,500H ADD HL,BC LD (455H),HL EX DE,HL CALL 415H LD A,'w' JR 585H SBC HL,DE JR NC,500H JR 4FFH LD A,(44FH) BIT 7,A RET Z PUSH HL PUSH DE CALL 351H LD A,'_' CALL 36EH POP DE LD HL,0CH SBC HL,DE JR NC,53BH LD A,L NEG POP HL PUSH HL PUSH DE CALL 432H CALL 351H LD A,'_' CALL 36EH POP DE POP HL RET LD A,(44FH) BIT 5,A RET Z PUSH HL LD HL,(453H) INC HL CALL 351H LD A,B CALL 36EH POP HL RET LD DE,(453H) LD (453H),HL SUB A SBC HL,DE RET Z JR NC,567H LD A,L CPL LD L,A LD A,H CPL LD H,A INC HL LD A,8 CALL 415H LD A,'{' JR 585H CALL 3BFH ADD A,A CPL PUSH BC PUSH AF LD A,(4CH) ADD A,0AH LD C,A POP AF OUT (C),A POP BC LD A,'}' CALL 385H RET PUSH BC PUSH AF LD A,(4CH) ADD A,0CH LD C,A POP AF OUT (C),A LD A,7FH OUT (C),A POP BC AND A RET LD A,(4CH) ADD A,cr LD C,A XOR A OUT (C),A LD HL,44FH LD (HL),A LD D,H LD E,L INC DE LD BC,0CH LDIR LD HL,463H LD (459H),HL LD HL,0CH LD (45DH),HL LD (45FH),HL LD A,'~' JR 585H PUSH AF PUSH BC PUSH HL PUSH DE LD A,(4CH) ADD A,0AH LD C,A LD B,0AH IN A,(C) LD D,A IN A,(C) CP D JR NZ,5C3H DJNZ 5CEH BIT 1,A JR NZ,5DEH CALL 397H JR 5C3H BIT 0,A JR NZ,5C3H CPL AND 0CH JR Z,5ECH CALL 3F5H JR 5C3H CPL LD (437H),A POP DE POP HL POP BC POP AF RET LD HL,438H AND 4 JR NZ,5FFH LD HL,443H LD A,(437H) AND A RET Z IN A,(0) RLA JR NC,604H LD A,(HL) OUT (1),A INC HL LD A,(HL) AND A JR NZ,604H LD (437H),A RET CALL 3BFH PUSH BC OR H CPL PUSH AF LD A,(4CH) ADD A,0BH LD C,A POP AF OUT (C),A LD A,L CPL DEC C OUT (C),A POP BC RET PUSH HL AND A SBC HL,DE POP HL RET ADD A,L LD L,A RET NC INC H RET db 0ffh db 7,cr,lf db 'Paper',cr,lf,0 db 7,cr,lf db 'Ribbon',cr,lf,0 db 0,0,0,0,0,0,0,0 db 0,0 dw 463h dw 0 dw 0CH dw 0CH db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0 ; bit map for relocation? db 24h,92h,0,0 db 0,2,20h,81h db 0,0,24h,9 db 24h,42h,0,40h db 0,40h,1,2 db 2,9,0,0ah db 0aah,0a1h,20h,22h db 4,88h,44h,81h db 24h,22h,20h,0 db 12h,9,11h,22h db 0,2,0,20h db 1,0,1,0 db 0,80h,48h,21h db 10h,40h,0,0 db 0,0,0,40h db 0,80h,0,44h db 22h,42h,42h,41h db 20h,0,40h,10h db 80h,84h,84h,0 db 8,84h,21h,24h db 10h,2,41h,4 db 91h,2,0,91h db 0,24h,44h,1 db 0,44h,4,0 db 22h,0,10h,10h db 80h,0,48h,41h db 2,22h,9,0 db 0,40h,80h,0 db 10h,0,0,0 db 20h,2,41h,20h db 0,0,0,10h db 0,41h,1,2 db 40h,0,11h,0 db 0,0,0,0 db 0,0,0,20h db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah,1ah db 1ah,1ah,1ah END