8-Bit Software Online Conversion
Shaded Printer Dump - Listing
10REM Mode 0 Portrait Dump (Light)
20REM after W.Trevelyan
30REM by M.Bobrowski 5'94
40:
45MODE0
50x=&70:z=&72:pix=&74:count=&75
60octet=&76:y=&7E:flag=&80
70osword=&FFF1:oswrch=&FFEE:osbyte=&F
FF4
80FOR pass=0 TO 2 STEP 2
90P%=&900
100[OPT pass
110LDA #26:JSR oswrch
120LDA #3:LDX #10:JSR osbyte ½ output
to printer
130.begin
140LDA #252:STA y
150LDA #3:STA y+1 ½ Y=1020
160.newline
170LDA #0:STA x:STA x+1 ½ X=0
180.bit
190JSR esc
200LDA #90:JSR oswrch
210LDA #128:JSR oswrch
220LDA #7:JSR oswrch ½ 1920 dots per l
ine
230.start
240LDA #4:STA count
250LDA y:STA z:LDA y+1:STA z+1
260.readpix
270LDX #&70:LDY #0:LDA #9
280JSR osword ½ logical colour return
ed in &74
290LDA pix:AND #7:TAY ½ logical colou
r used as index to pattern
300.byte
310LDX #0
320LDA pattern,Y
330.loop1
340LSR A:ROL octet,X
350LSR A:ROL octet,X ½ 2 bits transfe
rred from pattern to each byte in turn
360INX:CPX #3
370BNE loop1
380.loop2
390DEC count
400BEQ print
410SEC:LDA z:SBC #4:STA z
420BCS carryset:DEC z+1
430.carryset
440JMP readpix
450.print
460LDX #0
470.loop3
480LDA octet,X:JSR oswrch
490INX:CPX #3:BNE loop3
500½ increase X
510CLC:LDA x:ADC #2:STA x
520LDA x+1:ADC #0:STA x+1
530CMP #5 ½ end of line? (X=1280)
540BNE start
550JSR spacing
560½ go down 4 pixels
570SEC:LDA y:SBC #16:STA y
580LDA y+1:SBC #0:STA y+1
590BCC end ½ finish when Y=0
600JMP newline ½ otherwise continue
610.end
620LDA #7:JSR oswrch ½ beep
630JSR esc
640LDA #64:JSR oswrch ½ return printe
r to default setting
650LDA #3:LDX #0:JMP osbyte ½ output
to screen
660.esc
670LDA #27:JMP oswrch
680.spacing
690JSR esc
700LDA #51:JSR oswrch
710LDA #24:JSR oswrch
720LDA #13:JMP oswrch
730.pattern
740EQUD &FFFFFF00:EQUD &FFFFFF00
750]
760NEXT pass
770PRINT'"To save code press COPY ";:R
EPEAT UNTIL INKEY-106:PRINT
780OSCLI"SA.SDump0L 900 "+STR$÷P%
790END