printer driver for isdos for MC6304

ZXNet echo conference «code.zx»

From Dima Boyko To All 14 March 2001

H a u sh k i, All ! ; driver for the MS6304 printer ; printer port IR23 ORG 50000; any, => 1 DEFW INIT55; initialization KP580BB55A DEFW PRINTA DEFW INIT_I DEFW INIT_I DEFB #00,#00,#00,#00,#00,#01,#00,#00 LL8011 DEFB 32,225,226,247,231,228 DEFB 229,246,250,233,234,235 DEFB 236,237,238,239,240,242 DEFB 243,244,245,230,232,227 DEFB 254,251,253,248,249,248 DEFB 252,224,241,193,194,215 DEFB 199,196,197,214,218,201 DEFB 202,203,204,205,206,207 DEFB 208,35,35,35,124,43 DEFB 43,43,43,43,43,124 DEFB 43,43,43,43,43,43 DEFB 43,212,43,45,43,43 DEFB 43,43,43,43,212,43 DEFB 45,43,43,43,212,43 DEFB 43,43,43,43,43,43 DEFB 43,43,35,95,124,124 DEFB 126,210,211,212,213,198 DEFB 200,195,222,219,221,223 DEFB 217,216,220,192,209,229 DEFB 197,62,60,124,124,47 DEFB 61,96,42,42,121,110 DEFB 50,32,32 PRINTA PUSH AF LD C, #12 RST #10 EXX POP AF CP #0D JR NZ,LL8057 CH1 CALL LL8079 RET C LD A,#0A JR LL8079 LL8057 NOP CP 127 JR C,LL8079 SUB 127 PUSH HL CH2 LD HL,LL8011 LD E,A LD D, #00 ADD HL,DE LD A,(HL) POP HLLL8079 LD E,A BUSY__EI LD C,#09 RST #10 JR Z,LL808B LD C,#07 RST #10 CP#10; "SS+A" JR Z,EXIT__ CP#16; "CS+BS=BREAK" JR Z,EXIT__ LL808B DI IN A,(#7B) R.L.A. JR C,BUSY__ LD A,E OUT(#FB),A; data output. OUT(#7B),A; strobe at "1" LD A,#7F ; delay L1 DEC A JR NZ,L1 LD A,E OUT(#FB),A EI INIT_I RET INIT55 INC A RET Z; 'A' had #FF INC A RET Z; 'A' had #FE XOR A OUT(#FB),A LD A,32 CALL LL8079 RET C LD A,24 CALL LL8079 RET C LD A,19 CALL LL8079 RET EXIT__ LD A,#97 SCF RET With the best, Dima Boyko.