_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

DMPPROCC.ASM

FILE INFORMATION

FILENAME(S): DMPPROCC.ASM

FILE TYPE(S): SEQ

FILE SIZE: 4.7K

FIRST SEEN: 2025-11-30 21:05:44

APPEARS ON: 5 disk(s)

FILE HASH

8a4c808024ad84130a4eb5f5692383e9c0e49cdd9130655ca52a9b9a90baa41e

FOUND ON DISKS (5 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LICHTPEN PROG DMPPROCC.ASM SEQ DuncanTwain 16 0 DOWNLOAD FILE
NR 50 DMPPROCC.ASM SEQ DuncanTwain 20 0 DOWNLOAD FILE
C64 HULP 30 2 DMPPROCC.ASM SEQ DuncanTwain 20 0 DOWNLOAD FILE
FLEXIDRAW 3 0 DMPPROCC.ASM SEQ DuncanTwain 20 0 DOWNLOAD FILE
FLEXIDRAW 3 0 DMPPROCC.ASM SEQ hedning, Helsinborg 20 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000020: 2A 2A 0D 3B 20 54 48 49  53 20 46 49 4C 45 20 48  |**.; THIS FILE H|
00000030: 41 53 20 42 45 45 4E 20  50 52 4F 56 49 44 45 44  |AS BEEN PROVIDED|
00000040: 20 41 53 0D 3B 20 41 4E  20 45 58 41 4D 50 4C 45  | AS.; AN EXAMPLE|
00000050: 20 46 4F 52 20 4F 54 48  45 52 20 53 4F 46 54 57  | FOR OTHER SOFTW|
00000060: 41 52 45 0D 3B 20 44 45  56 45 4C 4F 50 45 52 53  |ARE.; DEVELOPERS|
00000070: 2E 20 20 55 53 45 20 49  54 20 41 53 20 41 20 42  |.  USE IT AS A B|
00000080: 41 53 49 53 0D 3B 20 46  4F 52 20 43 55 53 54 4F  |ASIS.; FOR CUSTO|
00000090: 4D 20 50 52 49 4E 54 45  52 20 44 52 49 56 45 52  |M PRINTER DRIVER|
000000A0: 53 2E 0D 3B 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |S..;************|
000000B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000000C0: 2A 2A 2A 2A 2A 0D 3B 0D  3B 53 43 52 45 45 4E 20  |*****.;.;SCREEN |
000000D0: 44 55 4D 50 20 54 4F 20  50 52 49 4E 54 45 52 20  |DUMP TO PRINTER |
000000E0: 52 4F 55 54 49 4E 45 0D  3B 31 58 20 4E 4F 52 4D  |ROUTINE.;1X NORM|
000000F0: 41 4C 2F 32 58 20 45 4E  4C 41 52 47 45 44 20 50  |AL/2X ENLARGED P|
00000100: 52 49 4E 54 4F 55 54 0D  3B 43 55 52 52 45 4E 54  |RINTOUT.;CURRENT|
00000110: 20 56 45 52 53 49 4F 4E  20 38 20 4D 41 52 43 48  | VERSION 8 MARCH|
00000120: 20 31 39 38 34 0D 3B 46  4F 52 20 54 48 45 20 43  | 1984.;FOR THE C|
00000130: 2E 20 49 54 4F 48 20 50  52 4F 57 52 49 54 45 52  |. ITOH PROWRITER|
00000140: 20 50 52 49 4E 54 45 52  0D 3B 57 49 54 48 20 54  | PRINTER.;WITH T|
00000150: 48 45 20 43 41 52 44 43  4F 20 49 4E 54 45 52 46  |HE CARDCO INTERF|
00000160: 41 43 45 0D 3B 0D 3B 4B  45 52 4E 41 4C 20 52 4F  |ACE.;.;KERNAL RO|
00000170: 55 54 49 4E 45 20 44 45  46 49 4E 49 54 49 4F 4E  |UTINE DEFINITION|
00000180: 53 0D 3B 0D 55 44 54 49  4D 3D 24 46 46 45 41 20  |S.;.UDTIM=$FFEA |
00000190: 3B 55 50 44 41 54 45 20  54 49 4D 45 0D 53 54 4F  |;UPDATE TIME.STO|
000001A0: 50 3D 24 46 46 45 31 20  3B 43 48 45 43 4B 20 49  |P=$FFE1 ;CHECK I|
000001B0: 46 20 53 54 4F 50 20 4B  45 59 20 50 52 45 53 53  |F STOP KEY PRESS|
000001C0: 45 44 0D 53 45 54 4E 41  4D 3D 24 46 46 42 44 20  |ED.SETNAM=$FFBD |
000001D0: 3B 53 45 54 20 46 49 4C  45 20 4E 41 4D 45 0D 53  |;SET FILE NAME.S|
000001E0: 45 54 4C 46 53 3D 24 46  46 42 41 20 3B 53 45 54  |ETLFS=$FFBA ;SET|
000001F0: 20 4C 4F 47 49 43 41 4C  20 46 49 4C 45 20 41 44  | LOGICAL FILE AD|
00000200: 44 52 45 53 53 0D 4F 50  45 4E 3D 24 46 46 43 30  |DRESS.OPEN=$FFC0|
00000210: 20 20 3B 4F 50 45 4E 20  4C 4F 47 49 43 41 4C 20  |  ;OPEN LOGICAL |
00000220: 46 49 4C 45 0D 43 48 4B  4F 55 54 3D 24 46 46 43  |FILE.CHKOUT=$FFC|
00000230: 39 20 3B 4F 50 45 4E 20  43 48 41 4E 4E 45 4C 20  |9 ;OPEN CHANNEL |
00000240: 46 4F 52 20 4F 55 54 50  55 54 0D 43 48 52 4F 55  |FOR OUTPUT.CHROU|
00000250: 54 3D 24 46 46 44 32 20  3B 4F 55 54 50 55 54 20  |T=$FFD2 ;OUTPUT |
00000260: 43 48 41 52 41 43 54 45  52 20 54 4F 20 43 48 41  |CHARACTER TO CHA|
00000270: 4E 4E 45 4C 0D 43 4C 41  4C 4C 3D 24 46 46 45 37  |NNEL.CLALL=$FFE7|
00000280: 20 3B 43 4C 4F 53 45 20  41 4C 4C 20 46 49 4C 45  | ;CLOSE ALL FILE|
00000290: 53 20 41 4E 44 20 43 48  41 4E 4E 45 4C 53 0D 20  |S AND CHANNELS. |
000002A0: 2A 3D 24 39 34 30 30 20  3B 50 52 49 4E 54 45 52  |*=$9400 ;PRINTER|
000002B0: 20 44 55 4D 50 20 4F 52  47 0D 3B 0D 53 43 52 44  | DUMP ORG.;.SCRD|
000002C0: 4D 50 20 4C 44 41 20 23  30 20 3B 4E 4F 20 46 49  |MP LDA #0 ;NO FI|
000002D0: 4C 45 20 4E 41 4D 45 0D  20 4A 53 52 20 53 45 54  |LE NAME. JSR SET|
000002E0: 4E 41 4D 0D 20 4C 44 41  20 23 30 31 20 3B 46 49  |NAM. LDA #01 ;FI|
000002F0: 4C 45 20 23 31 0D 20 4C  44 58 20 23 30 34 20 3B  |LE #1. LDX #04 ;|
00000300: 44 45 56 49 43 45 20 23  34 0D 20 4C 44 59 20 23  |DEVICE #4. LDY #|
00000310: 30 35 20 3B 43 41 52 43  4F 20 50 41 53 53 20 54  |05 ;CARCO PASS T|
00000320: 48 52 4F 55 47 48 20 4D  4F 44 45 0D 20 4A 53 52  |HROUGH MODE. JSR|
00000330: 20 53 45 54 4C 46 53 20  3B 53 45 54 55 50 20 41  | SETLFS ;SETUP A|
00000340: 44 44 52 45 53 53 45 53  0D 20 4A 53 52 20 4F 50  |DDRESSES. JSR OP|
00000350: 45 4E 20 3B 4F 50 45 4E  20 46 49 4C 45 20 54 4F  |EN ;OPEN FILE TO|
00000360: 20 50 52 49 4E 54 45 52  0D 20 4C 44 58 20 23 30  | PRINTER. LDX #0|
00000370: 31 20 3B 53 45 54 20 4F  55 54 50 55 54 20 43 48  |1 ;SET OUTPUT CH|
00000380: 41 4E 4E 45 4C 0D 20 4A  53 52 20 43 48 4B 4F 55  |ANNEL. JSR CHKOU|
00000390: 54 0D 20 4C 44 41 20 44  52 57 44 49 53 20 3B 53  |T. LDA DRWDIS ;S|
000003A0: 41 56 45 20 4C 41 53 54  20 44 52 41 57 20 44 49  |AVE LAST DRAW DI|
000003B0: 53 41 42 4C 45 20 46 4C  41 47 0D 20 50 48 41 0D  |SABLE FLAG. PHA.|
000003C0: 20 4C 44 41 20 23 30 32  20 3B 53 45 54 20 42 4F  | LDA #02 ;SET BO|
000003D0: 52 44 45 52 20 43 4F 4C  4F 52 20 54 4F 20 49 4E  |RDER COLOR TO IN|
000003E0: 44 49 43 41 54 45 20 50  52 49 4E 54 49 4E 47 0D  |DICATE PRINTING.|
000003F0: 20 53 54 41 20 42 4F 52  44 45 52 0D 20 4C 44 41  | STA BORDER. LDA|
00000400: 20 23 24 30 30 20 3B 53  45 54 55 50 20 59 20 4C  | #$00 ;SETUP Y L|
00000410: 4F 4F 50 0D 20 53 54 41  20 44 50 59 0D 20 53 54  |OOP. STA DPY. ST|
00000420: 41 20 44 50 4C 4C 20 3B  43 4C 45 41 52 20 4C 41  |A DPLL ;CLEAR LA|
00000430: 53 54 20 4C 49 4E 45 20  46 4C 41 47 0D 20 45 4F  |ST LINE FLAG. EO|
00000440: 52 20 23 24 46 46 20 3B  53 45 54 20 44 52 41 57  |R #$FF ;SET DRAW|
00000450: 20 44 49 53 41 42 4C 45  20 46 4C 41 47 0D 20 53  | DISABLE FLAG. S|
00000460: 54 41 20 44 52 57 44 49  53 0D 20 4C 44 41 20 23  |TA DRWDIS. LDA #|
00000470: 32 37 20 3B 53 45 54 20  46 4F 52 20 55 4E 49 44  |27 ;SET FOR UNID|
00000480: 49 52 45 43 54 49 4F 4E  41 4C 20 50 52 49 54 0D  |IRECTIONAL PRIT.|
00000490: 20 4A 53 52 20 43 48 52  4F 55 54 0D 20 4C 44 41  | JSR CHROUT. LDA|
000004A0: 20 23 36 32 0D 20 4A 53  52 20 43 48 52 4F 55 54  | #62. JSR CHROUT|
000004B0: 0D 20 4C 44 41 20 23 32  37 20 3B 53 45 54 20 46  |. LDA #27 ;SET F|
000004C0: 4F 52 20 45 4C 49 54 45  20 50 49 54 43 48 0D 20  |OR ELITE PITCH. |
000004D0: 4A 53 52 20 43 48 52 4F  55 54 0D 20 4C 44 41 20  |JSR CHROUT. LDA |
000004E0: 23 24 34 35 0D 20 4A 53  52 20 43 48 52 4F 55 54  |#$45. JSR CHROUT|
000004F0: 0D 20 4C 44 41 20 23 32  37 20 3B 53 45 54 20 46  |. LDA #27 ;SET F|
00000500: 4F 52 20 47 52 41 50 48  49 43 53 20 31 36 2F 31  |OR GRAPHICS 16/1|
00000510: 34 34 20 4C 46 0D 20 4A  53 52 20 43 48 52 4F 55  |44 LF. JSR CHROU|
00000520: 54 0D 20 4C 44 41 20 23  38 34 20 3B 54 0D 20 4A  |T. LDA #84 ;T. J|
00000530: 53 52 20 43 48 52 4F 55  54 0D 20 4C 44 41 20 23  |SR CHROUT. LDA #|
00000540: 24 33 31 0D 20 4A 53 52  20 43 48 52 4F 55 54 0D  |$31. JSR CHROUT.|
00000550: 20 4C 44 41 20 23 24 33  36 0D 20 4A 53 52 20 43  | LDA #$36. JSR C|
00000560: 48 52 4F 55 54 0D 20 4C  44 41 20 50 52 54 53 49  |HROUT. LDA PRTSI|
00000570: 5A 20 3B 43 48 45 43 4B  20 50 52 49 4E 54 20 53  |Z ;CHECK PRINT S|
00000580: 49 5A 45 0D 20 42 45 51  20 44 50 50 52 31 58 20  |IZE. BEQ DPPR1X |
00000590: 3B 31 58 0D 20 4A 4D 50  20 44 50 50 52 34 58 20  |;1X. JMP DPPR4X |
000005A0: 3B 34 58 0D 3B 0D 3B 20  4E 4F 52 4D 41 4C 20 53  |;4X.;.; NORMAL S|
000005B0: 49 5A 45 20 50 52 49 4E  54 0D 3B 0D 44 50 50 52  |IZE PRINT.;.DPPR|
000005C0: 31 58 20 4C 44 41 20 23  32 37 20 3B 53 45 54 20  |1X LDA #27 ;SET |
000005D0: 46 4F 52 20 47 52 41 50  48 49 43 53 20 4D 4F 44  |FOR GRAPHICS MOD|
000005E0: 45 2C 20 32 37 32 20 43  4F 4C 55 4D 4E 53 0D 20  |E, 272 COLUMNS. |
000005F0: 4A 53 52 20 43 48 52 4F  55 54 0D 20 4C 44 41 20  |JSR CHROUT. LDA |
00000600: 23 38 33 20 3B 53 0D 20  4A 53 52 20 43 48 52 4F  |#83 ;S. JSR CHRO|
00000610: 55 54 0D 20 4C 44 41 20  23 24 33 30 20 3B 30 0D  |UT. LDA #$30 ;0.|
00000620: 20 4A 53 52 20 43 48 52  4F 55 54 0D 20 4C 44 41  | JSR CHROUT. LDA|
00000630: 20 23 24 33 32 20 3B 32  0D 20 4A 53 52 20 43 48  | #$32 ;2. JSR CH|
00000640: 52 4F 55 54 0D 20 4C 44  41 20 23 24 33 37 20 3B  |ROUT. LDA #$37 ;|
00000650: 37 0D 20 4A 53 52 20 43  48 52 4F 55 54 0D 20 4C  |7. JSR CHROUT. L|
00000660: 44 41 20 23 24 33 32 20  3B 32 0D 20 4A 53 52 20  |DA #$32 ;2. JSR |
00000670: 43 48 52 4F 55 54 0D 20  4C 44 41 20 23 30 30 20  |CHROUT. LDA #00 |
00000680: 3B 53 45 54 55 50 20 58  20 4C 4F 4F 50 0D 20 53  |;SETUP X LOOP. S|
00000690: 54 41 20 44 50 58 0D 20  53 54 41 20 44 50 58 2B  |TA DPX. STA DPX+|
000006A0: 31 0D 44 50 4C 50 30 20  4C 44 41 20 23 30 30 0D  |1.DPLP0 LDA #00.|
000006B0: 20 53 54 41 20 44 50 52  20 3B 43 4C 45 41 52 20  | STA DPR ;CLEAR |
000006C0: 50 52 49 4E 54 45 52 20  44 41 54 41 0D 20 53 54  |PRINTER DATA. ST|
000006D0: 41 20 44 50 4C 20 3B 43  4C 45 41 52 20 4C 49 4E  |A DPL ;CLEAR LIN|
000006E0: 45 20 4C 4F 4F 50 20 43  4F 55 4E 54 45 52 0D 44  |E LOOP COUNTER.D|
000006F0: 50 4C 50 31 20 4C 44 41  20 44 50 59 20 3B 53 45  |PLP1 LDA DPY ;SE|
00000700: 54 55 50 20 59 20 56 41  4C 55 45 0D 20 43 4C 43  |TUP Y VALUE. CLC|
00000710: 20 3B 0D 20 41 44 43 20  44 50 4C 20 3B 41 44 44  | ;. ADC DPL ;ADD|
00000720: 20 4C 49 4E 45 20 4F 46  46 53 45 54 0D 20 53 54  | LINE OFFSET. ST|
00000730: 41 20 50 4C 4F 54 59 0D  20 4C 44 41 20 44 50 58  |A PLOTY. LDA DPX|
00000740: 20 3B 53 45 54 55 50 20  58 20 56 41 4C 55 45 0D  | ;SETUP X VALUE.|
00000750: 20 53 54 41 20 50 4C 4F  54 58 0D 20 4C 44 41 20  | STA PLOTX. LDA |
00000760: 44 50 58 2B 31 0D 20 53  54 41 20 50 4C 4F 54 58  |DPX+1. STA PLOTX|
00000770: 2B 31 0D 20 4A 53 52 20  48 50 4C 4F 54 20 3B 47  |+1. JSR HPLOT ;G|
00000780: 45 54 20 4C 4F 43 41 54  49 4F 4E 20 41 4E 44 20  |ET LOCATION AND |
00000790: 4D 41 53 4B 0D 20 4C 44  59 20 23 30 20 3B 47 45  |MASK. LDY #0 ;GE|
000007A0: 54 20 42 59 54 45 0D 20  4C 44 41 20 28 5A 50 54  |T BYTE. LDA (ZPT|
000007B0: 52 4C 29 2C 59 20 3B 46  52 4F 4D 20 48 49 52 45  |RL),Y ;FROM HIRE|
000007C0: 53 0D 20 4C 44 59 20 44  50 42 20 3B 47 45 54 20  |S. LDY DPB ;GET |
000007D0: 4D 41 53 4B 0D 20 41 4E  44 20 42 49 54 54 41 42  |MASK. AND BITTAB|
000007E0: 2C 59 20 3B 4D 41 53 4B  0D 20 42 45 51 20 44 50  |,Y ;MASK. BEQ DP|
000007F0: 4C 50 32 20 3B 4F 46 46  2C 20 4A 55 4D 50 0D 20  |LP2 ;OFF, JUMP. |
00000800: 4C 44 59 20 44 50 4C 0D  20 4C 44 41 20 42 49 54  |LDY DPL. LDA BIT|
00000810: 54 41 42 2C 59 20 3B 47  45 54 20 4D 41 53 4B 0D  |TAB,Y ;GET MASK.|
00000820: 20 4F 52 41 20 44 50 52  20 3B 41 44 44 20 54 4F  | ORA DPR ;ADD TO|
00000830: 20 50 52 49 4E 54 45 52  20 44 41 54 41 0D 20 53  | PRINTER DATA. S|
00000840: 54 41 20 44 50 52 0D 44  50 4C 50 32 20 4C 44 41  |TA DPR.DPLP2 LDA|
00000850: 20 44 50 4C 20 3B 49 4E  43 52 45 4D 45 4E 54 20  | DPL ;INCREMENT |
00000860: 4C 49 4E 45 20 4C 4F 4F  50 0D 20 43 4C 43 0D 20  |LINE LOOP. CLC. |
00000870: 41 44 43 20 23 24 30 31  0D 20 53 54 41 20 44 50  |ADC #$01. STA DP|
00000880: 4C 0D 20 43 4D 50 20 23  30 38 20 3B 43 4F 55 4E  |L. CMP #08 ;COUN|
00000890: 54 20 54 4F 20 38 0D 20  42 45 51 20 44 50 4C 50  |T TO 8. BEQ DPLP|
000008A0: 33 20 3B 0D 20 42 4E 45  20 44 50 4C 50 31 20 3B  |3 ;. BNE DPLP1 ;|
000008B0: 4C 4F 4F 50 20 46 4F 52  20 38 20 42 59 54 45 53  |LOOP FOR 8 BYTES|
000008C0: 0D 44 50 4C 50 33 20 4C  44 41 20 44 50 52 20 3B  |.DPLP3 LDA DPR ;|
000008D0: 47 45 54 20 50 52 49 4E  54 45 52 20 44 41 54 41  |GET PRINTER DATA|
000008E0: 0D 20 4A 53 52 20 43 48  52 4F 55 54 20 20 3B 53  |. JSR CHROUT  ;S|
000008F0: 45 4E 44 20 44 41 54 41  0D 20 4A 53 52 20 55 44  |END DATA. JSR UD|
00000900: 54 49 4D 20 3B 53 45 45  20 49 46 20 49 4E 54 45  |TIM ;SEE IF INTE|
00000910: 52 52 55 50 54 45 44 0D  20 4A 53 52 20 53 54 4F  |RRUPTED. JSR STO|
00000920: 50 20 3B 43 48 45 43 4B  20 53 54 4F 50 20 4B 45  |P ;CHECK STOP KE|
00000930: 59 0D 20 42 4E 45 20 44  50 4C 50 33 31 0D 20 4A  |Y. BNE DPLP31. J|
00000940: 4D 50 20 44 50 4C 50 35  20 3B 45 58 49 54 0D 44  |MP DPLP5 ;EXIT.D|
00000950: 50 4C 50 33 31 20 4C 44  41 20 44 50 58 20 3B 49  |PLP31 LDA DPX ;I|
00000960: 4E 43 52 45 4D 45 4E 54  20 58 0D 20 43 4C 43 0D  |NCREMENT X. CLC.|
00000970: 20 41 44 43 20 23 30 31  0D 20 53 54 41 20 44 50  | ADC #01. STA DP|
00000980: 58 0D 20 4C 44 41 20 44  50 58 2B 31 0D 20 41 44  |X. LDA DPX+1. AD|
00000990: 43 20 23 30 30 20 3B 41  44 44 20 43 41 52 52 59  |C #00 ;ADD CARRY|
000009A0: 0D 20 53 54 41 20 44 50  58 2B 31 0D 20 42 4E 45  |. STA DPX+1. BNE|
000009B0: 20 44 50 4C 50 33 41 20  3B 53 45 45 20 49 46 20  | DPLP3A ;SEE IF |
000009C0: 54 49 4D 45 20 54 4F 20  54 45 53 54 0D 20 4A 4D  |TIME TO TEST. JM|
000009D0: 50 20 44 50 4C 50 30 20  3B 4E 4F 2C 20 4C 4F 4F  |P DPLP0 ;NO, LOO|
000009E0: 50 0D 44 50 4C 50 33 41  20 4C 44 41 20 44 50 58  |P.DPLP3A LDA DPX|
000009F0: 20 3B 48 49 47 48 20 42  49 54 20 53 45 54 2C 20  | ;HIGH BIT SET, |
00000A00: 43 48 45 43 4B 20 4C 4F  57 20 42 59 54 45 0D 20  |CHECK LOW BYTE. |
00000A10: 43 4D 50 20 23 24 31 30  20 3B 32 37 32 20 4C 4F  |CMP #$10 ;272 LO|
00000A20: 57 20 42 59 54 45 0D 20  42 45 51 20 44 50 4C 50  |W BYTE. BEQ DPLP|
00000A30: 33 42 20 3B 45 4E 44 20  4F 46 20 4C 49 4E 45 0D  |3B ;END OF LINE.|
00000A40: 20 4A 4D 50 20 44 50 4C  50 30 20 3B 4B 45 45 50  | JMP DPLP0 ;KEEP|
00000A50: 20 4C 4F 4F 50 49 4E 47  0D 44 50 4C 50 33 42 20  | LOOPING.DPLP3B |
00000A60: 4C 44 41 20 23 31 30 20  3B 53 45 4E 44 20 4C 49  |LDA #10 ;SEND LI|
00000A70: 4E 45 20 46 45 45 44 0D  20 4A 53 52 20 43 48 52  |NE FEED. JSR CHR|
00000A80: 4F 55 54 0D 20 4C 44 41  20 23 24 30 44 20 3B 53  |OUT. LDA #$0D ;S|
00000A90: 45 4E 44 20 43 52 0D 20  4A 53 52 20 43 48 52 4F  |END CR. JSR CHRO|
00000AA0: 55 54 0D 20 4C 44 41 20  44 50 59 20 3B 49 4E 43  |UT. LDA DPY ;INC|
00000AB0: 52 45 4D 45 4E 54 20 59  0D 20 43 4C 43 0D 20 41  |REMENT Y. CLC. A|
00000AC0: 44 43 20 23 30 38 0D 20  53 54 41 20 44 50 59 0D  |DC #08. STA DPY.|
00000AD0: 20 43 4D 50 20 23 32 30  30 20 3B 4C 4F 4F 50 20  | CMP #200 ;LOOP |
00000AE0: 55 4E 54 49 4C 20 59 3E  31 39 39 0D 20 42 43 43  |UNTIL Y>199. BCC|
00000AF0: 20 44 50 4C 50 34 42 0D  20 4A 4D 50 20 44 50 4C  | DPLP4B. JMP DPL|
00000B00: 50 35 20 3B 45 58 49 54  0D 44 50 4C 50 34 42 20  |P5 ;EXIT.DPLP4B |
00000B10: 4A 4D 50 20 44 50 50 52  31 58 20 3B 4C 4F 4F 50  |JMP DPPR1X ;LOOP|
00000B20: 0D 3B 0D 3B 20 34 58 20  45 4E 4C 41 52 47 45 44  |.;.; 4X ENLARGED|
00000B30: 20 50 52 49 4E 54 0D 3B  0D 44 50 50 52 34 58 20  | PRINT.;.DPPR4X |
00000B40: 4C 44 41 20 23 24 30 30  20 3B 53 54 41 52 54 20  |LDA #$00 ;START |
00000B50: 58 20 4C 4F 4F 50 0D 20  53 54 41 20 44 50 58 0D  |X LOOP. STA DPX.|
00000B60: 20 53 54 41 20 44 50 58  2B 31 0D 44 34 50 4C 50  | STA DPX+1.D4PLP|
00000B70: 20 4C 44 41 20 23 32 37  20 3B 53 45 54 20 46 4F  | LDA #27 ;SET FO|
00000B80: 52 20 47 52 41 50 48 49  43 53 20 4D 4F 44 45 2C  |R GRAPHICS MODE,|
00000B90: 20 36 34 34 20 43 4F 4C  55 4D 4E 53 0D 20 4A 53  | 644 COLUMNS. JS|
00000BA0: 52 20 43 48 52 4F 55 54  0D 20 4C 44 41 20 23 38  |R CHROUT. LDA #8|
00000BB0: 33 20 3B 53 0D 20 4A 53  52 20 43 48 52 4F 55 54  |3 ;S. JSR CHROUT|
00000BC0: 0D 20 4C 44 41 20 23 24  33 30 20 3B 30 0D 20 4A  |. LDA #$30 ;0. J|
00000BD0: 53 52 20 43 48 52 4F 55  54 0D 20 4C 44 41 20 23  |SR CHROUT. LDA #|
00000BE0: 24 33 36 20 3B 36 0D 20  4A 53 52 20 43 48 52 4F  |$36 ;6. JSR CHRO|
00000BF0: 55 54 0D 20 4C 44 41 20  23 24 33 34 20 3B 34 0D  |UT. LDA #$34 ;4.|
00000C00: 20 4A 53 52 20 43 48 52  4F 55 54 0D 20 4C 44 41  | JSR CHROUT. LDA|
00000C10: 20 23 24 33 34 20 3B 34  0D 20 4A 53 52 20 43 48  | #$34 ;4. JSR CH|
00000C20: 52 4F 55 54 0D 20 4C 44  41 20 23 31 30 30 20 3B  |ROUT. LDA #100 ;|
00000C30: 53 45 4E 44 20 31 30 30  20 42 4C 41 4E 4B 53 20  |SEND 100 BLANKS |
00000C40: 54 4F 20 43 45 4E 54 45  52 20 48 4F 52 49 5A 4F  |TO CENTER HORIZO|
00000C50: 4E 54 41 4C 4C 59 0D 20  53 54 41 20 44 50 4C 0D  |NTALLY. STA DPL.|
00000C60: 44 34 50 53 50 41 20 4C  44 41 20 23 30 30 0D 20  |D4PSPA LDA #00. |
00000C70: 4A 53 52 20 43 48 52 4F  55 54 0D 20 44 45 43 20  |JSR CHROUT. DEC |
00000C80: 44 50 4C 0D 20 42 4E 45  20 44 34 50 53 50 41 0D  |DPL. BNE D4PSPA.|
00000C90: 20 4C 44 41 20 23 24 30  30 20 3B 53 45 54 55 50  | LDA #$00 ;SETUP|
00000CA0: 20 58 20 4C 4F 4F 50 0D  20 53 54 41 20 44 50 58  | X LOOP. STA DPX|
00000CB0: 0D 20 53 54 41 20 44 50  58 2B 31 0D 44 34 50 4C  |. STA DPX+1.D4PL|
00000CC0: 50 30 20 4C 44 41 20 23  30 30 20 3B 0D 20 53 54  |P0 LDA #00 ;. ST|
00000CD0: 41 20 44 50 52 20 3B 43  4C 45 41 52 20 50 52 49  |A DPR ;CLEAR PRI|
00000CE0: 4E 54 45 52 20 44 41 54  41 0D 20 53 54 41 20 44  |NTER DATA. STA D|
00000CF0: 50 4C 20 3B 43 4C 45 41  52 20 4C 49 4E 45 20 4C  |PL ;CLEAR LINE L|
00000D00: 4F 4F 50 20 43 4F 55 4E  54 45 52 0D 44 34 50 4C  |OOP COUNTER.D4PL|
00000D10: 50 31 20 43 4C 43 0D 20  4C 44 41 20 44 50 59 20  |P1 CLC. LDA DPY |
00000D20: 3B 53 45 54 55 50 20 59  20 56 41 4C 55 45 0D 20  |;SETUP Y VALUE. |
00000D30: 41 44 43 20 44 50 4C 20  3B 41 44 44 20 4C 49 4E  |ADC DPL ;ADD LIN|
00000D40: 45 20 4F 46 46 53 45 54  0D 20 53 54 41 20 50 4C  |E OFFSET. STA PL|
00000D50: 4F 54 59 20 3B 0D 20 4C  44 41 20 44 50 58 0D 20  |OTY ;. LDA DPX. |
00000D60: 53 54 41 20 50 4C 4F 54  58 0D 20 4C 44 41 20 44  |STA PLOTX. LDA D|
00000D70: 50 58 2B 31 0D 20 53 54  41 20 50 4C 4F 54 58 2B  |PX+1. STA PLOTX+|
00000D80: 31 0D 20 4A 53 52 20 48  50 4C 4F 54 20 3B 47 4F  |1. JSR HPLOT ;GO|
00000D90: 20 47 45 54 20 4C 4F 43  41 54 49 4F 4E 20 41 4E  | GET LOCATION AN|
00000DA0: 44 20 4D 41 53 4B 0D 20  4C 44 59 20 23 30 20 3B  |D MASK. LDY #0 ;|
00000DB0: 47 45 54 20 42 59 54 45  0D 20 4C 44 41 20 28 5A  |GET BYTE. LDA (Z|
00000DC0: 50 54 52 4C 29 2C 59 20  3B 46 52 4F 4D 20 48 49  |PTRL),Y ;FROM HI|
00000DD0: 52 45 53 0D 20 4C 44 59  20 44 50 42 20 3B 47 45  |RES. LDY DPB ;GE|
00000DE0: 54 20 42 49 54 20 4E 55  4D 42 45 52 0D 20 41 4E  |T BIT NUMBER. AN|
00000DF0: 44 20 42 49 54 54 41 42  2C 59 20 3B 47 45 54 20  |D BITTAB,Y ;GET |
00000E00: 42 49 54 20 4D 41 53 4B  0D 20 42 45 51 20 44 34  |BIT MASK. BEQ D4|
00000E10: 50 4C 50 32 20 3B 44 4F  54 20 4F 46 46 2C 20 4A  |PLP2 ;DOT OFF, J|
00000E20: 55 4D 50 0D 20 4C 44 59  20 44 50 4C 20 3B 47 45  |UMP. LDY DPL ;GE|
00000E30: 54 20 4F 46 46 53 45 54  20 54 4F 20 32 58 20 50  |T OFFSET TO 2X P|
00000E40: 52 49 4E 54 45 52 20 44  41 54 41 0D 20 4C 44 41  |RINTER DATA. LDA|
00000E50: 20 50 52 32 58 44 54 2C  59 20 3B 47 45 54 20 50  | PR2XDT,Y ;GET P|
00000E60: 52 49 4E 54 45 52 20 44  41 54 41 0D 20 4F 52 41  |RINTER DATA. ORA|
00000E70: 20 44 50 52 20 3B 41 44  44 20 54 4F 20 50 52 49  | DPR ;ADD TO PRI|
00000E80: 4E 54 45 52 20 44 41 54  41 0D 20 53 54 41 20 44  |NTER DATA. STA D|
00000E90: 50 52 0D 44 34 50 4C 50  32 20 4C 44 41 20 44 50  |PR.D4PLP2 LDA DP|
00000EA0: 4C 20 3B 49 4E 43 52 45  4D 45 4E 54 20 4C 49 4E  |L ;INCREMENT LIN|
00000EB0: 45 20 4C 4F 4F 50 0D 20  43 4C 43 0D 20 41 44 43  |E LOOP. CLC. ADC|
00000EC0: 20 23 24 30 31 20 3B 0D  20 53 54 41 20 44 50 4C  | #$01 ;. STA DPL|
00000ED0: 20 3B 52 45 53 54 4F 52  45 20 4C 49 4E 45 20 43  | ;RESTORE LINE C|
00000EE0: 4F 55 4E 54 0D 20 43 4D  50 20 23 30 34 20 3B 43  |OUNT. CMP #04 ;C|
00000EF0: 4F 55 4E 54 20 54 4F 20  34 0D 20 42 45 51 20 44  |OUNT TO 4. BEQ D|
00000F00: 34 50 4C 50 33 0D 20 42  4E 45 20 44 34 50 4C 50  |4PLP3. BNE D4PLP|
00000F10: 31 20 3B 4C 4F 4F 50 20  46 4F 52 20 34 20 42 59  |1 ;LOOP FOR 4 BY|
00000F20: 54 45 53 0D 44 34 50 4C  50 33 20 4C 44 41 20 44  |TES.D4PLP3 LDA D|
00000F30: 50 52 20 3B 47 45 54 20  50 52 49 4E 54 45 52 20  |PR ;GET PRINTER |
00000F40: 44 41 54 41 0D 20 4A 53  52 20 43 48 52 4F 55 54  |DATA. JSR CHROUT|
00000F50: 20 3B 53 45 4E 44 20 44  41 54 41 20 54 4F 20 50  | ;SEND DATA TO P|
00000F60: 52 49 4E 54 45 52 0D 20  4C 44 41 20 44 50 52 0D  |RINTER. LDA DPR.|
00000F70: 20 4A 53 52 20 43 48 52  4F 55 54 20 3B 53 45 4E  | JSR CHROUT ;SEN|
00000F80: 44 20 54 57 49 43 45 0D  20 4A 53 52 20 55 44 54  |D TWICE. JSR UDT|
00000F90: 49 4D 20 3B 53 45 45 20  49 46 20 49 4E 54 45 52  |IM ;SEE IF INTER|
00000FA0: 52 55 50 54 45 44 0D 20  4A 53 52 20 53 54 4F 50  |RUPTED. JSR STOP|
00000FB0: 20 3B 53 45 45 20 49 46  20 53 54 4F 50 20 4B 45  | ;SEE IF STOP KE|
00000FC0: 59 20 50 52 45 53 53 45  44 0D 20 42 4E 45 20 44  |Y PRESSED. BNE D|
00000FD0: 34 50 4C 33 41 0D 20 4A  4D 50 20 44 50 4C 50 35  |4PL3A. JMP DPLP5|
00000FE0: 20 3B 45 58 49 54 0D 44  34 50 4C 33 41 20 43 4C  | ;EXIT.D4PL3A CL|
00000FF0: 43 20 3B 49 4E 43 52 45  4D 45 4E 54 20 58 0D 20  |C ;INCREMENT X. |
00001000: 4C 44 41 20 44 50 58 0D  20 41 44 43 20 23 24 30  |LDA DPX. ADC #$0|
00001010: 31 0D 20 53 54 41 20 44  50 58 0D 20 4C 44 41 20  |1. STA DPX. LDA |
00001020: 44 50 58 2B 31 0D 20 41  44 43 20 23 24 30 30 20  |DPX+1. ADC #$00 |
00001030: 3B 41 44 44 20 43 41 52  52 59 0D 20 53 54 41 20  |;ADD CARRY. STA |
00001040: 44 50 58 2B 31 0D 20 42  45 51 20 44 34 50 4C 33  |DPX+1. BEQ D4PL3|
00001050: 31 20 3B 49 46 20 5A 45  52 4F 2C 20 4C 4F 4F 50  |1 ;IF ZERO, LOOP|
00001060: 0D 20 4C 44 41 20 44 50  58 20 3B 43 48 45 43 4B  |. LDA DPX ;CHECK|
00001070: 20 46 4F 52 20 45 4E 44  20 4F 46 20 4C 49 4E 45  | FOR END OF LINE|
00001080: 0D 20 43 4D 50 20 23 24  31 30 20 3B 32 37 32 20  |. CMP #$10 ;272 |
00001090: 4C 4F 57 20 42 59 54 45  0D 20 42 43 53 20 44 34  |LOW BYTE. BCS D4|
000010A0: 4C 50 33 42 0D 44 34 50  4C 33 31 20 4A 4D 50 20  |LP3B.D4PL31 JMP |
000010B0: 44 34 50 4C 50 30 20 3B  4C 4F 4F 50 0D 44 34 4C  |D4PLP0 ;LOOP.D4L|
000010C0: 50 33 42 20 4C 44 41 20  23 31 30 20 3B 53 45 4E  |P3B LDA #10 ;SEN|
000010D0: 44 20 4C 49 4E 45 20 46  45 45 44 0D 20 4A 53 52  |D LINE FEED. JSR|
000010E0: 20 43 48 52 4F 55 54 0D  20 4C 44 41 20 23 24 30  | CHROUT. LDA #$0|
000010F0: 44 20 3B 53 45 4E 44 20  43 52 0D 20 4A 53 52 20  |D ;SEND CR. JSR |
00001100: 43 48 52 4F 55 54 0D 20  43 4C 43 0D 20 4C 44 41  |CHROUT. CLC. LDA|
00001110: 20 44 50 59 20 3B 49 4E  43 52 45 4D 45 4E 54 20  | DPY ;INCREMENT |
00001120: 59 20 4C 4F 4F 50 0D 20  41 44 43 20 23 30 34 0D  |Y LOOP. ADC #04.|
00001130: 20 53 54 41 20 44 50 59  0D 20 43 4D 50 20 23 32  | STA DPY. CMP #2|
00001140: 30 30 20 3B 43 48 45 43  4B 20 46 4F 52 20 45 4E  |00 ;CHECK FOR EN|
00001150: 44 20 4F 46 20 53 43 52  45 45 4E 0D 20 42 43 53  |D OF SCREEN. BCS|
00001160: 20 44 50 4C 50 35 20 3B  45 4E 44 0D 44 34 4C 50  | DPLP5 ;END.D4LP|
00001170: 34 42 20 4A 4D 50 20 44  34 50 4C 50 20 3B 4B 45  |4B JMP D4PLP ;KE|
00001180: 45 50 20 4C 4F 4F 50 49  4E 47 0D 3B 0D 3B 20 45  |EP LOOPING.;.; E|
00001190: 58 49 54 20 46 52 4F 4D  20 50 52 49 4E 54 45 52  |XIT FROM PRINTER|
000011A0: 20 52 4F 55 54 49 4E 45  0D 3B 0D 44 50 4C 50 35  | ROUTINE.;.DPLP5|
000011B0: 20 4A 53 52 20 43 4C 41  4C 4C 20 3B 43 4C 4F 53  | JSR CLALL ;CLOS|
000011C0: 45 20 41 4C 4C 20 46 49  4C 45 53 0D 20 50 4C 41  |E ALL FILES. PLA|
000011D0: 20 3B 47 45 54 20 4C 41  53 54 20 44 52 57 44 49  | ;GET LAST DRWDI|
000011E0: 53 0D 20 53 54 41 20 44  52 57 44 49 53 0D 20 4C  |S. STA DRWDIS. L|
000011F0: 44 41 20 23 30 38 20 3B  52 45 53 54 4F 52 45 20  |DA #08 ;RESTORE |
00001200: 42 4F 52 44 45 52 20 54  4F 20 49 4E 44 49 43 41  |BORDER TO INDICA|
00001210: 54 45 20 44 4F 4E 45 0D  20 53 54 41 20 42 4F 52  |TE DONE. STA BOR|
00001220: 44 45 52 0D 20 52 54 53  20 3B 52 45 54 55 52 4E  |DER. RTS ;RETURN|
00001230: 20 54 4F 20 43 41 4C 4C  49 4E 47 20 50 52 4F 47  | TO CALLING PROG|
00001240: 52 41 4D 0D 3B 0D 3B 0D  3B 20 32 58 20 50 52 49  |RAM.;.;.; 2X PRI|
00001250: 4E 54 45 52 20 44 41 54  41 20 42 49 54 20 4D 41  |NTER DATA BIT MA|
00001260: 53 4B 53 0D 3B 0D 50 52  32 58 44 54 20 2E 42 59  |SKS.;.PR2XDT .BY|
00001270: 54 45 20 24 30 33 2C 24  30 43 2C 24 33 30 2C 24  |TE $03,$0C,$30,$|
00001280: 43 30 0D 3B 0D 3B 4C 4F  41 44 20 46 4C 45 58 49  |C0.;.;LOAD FLEXI|
00001290: 44 52 41 57 20 45 51 55  41 54 45 20 46 49 4C 45  |DRAW EQUATE FILE|
000012A0: 0D 2E 4C 49 42 20 46 4C  45 58 2E 45 51 55 0D 2E  |..LIB FLEX.EQU..|
000012B0: 45 4E 44 0D                                       |END.            |
;*********************************.; THI
S FILE HAS BEEN PROVIDED AS.; AN EXAMPLE
 FOR OTHER SOFTWARE.; DEVELOPERS.  USE I
T AS A BASIS.; FOR CUSTOM PRINTER DRIVER
S..;*********************************.;.
;SCREEN DUMP TO PRINTER ROUTINE.;1X NORM
AL/2X ENLARGED PRINTOUT.;CURRENT VERSION
 8 MARCH 1984.;FOR THE C. ITOH PROWRITER
 PRINTER.;WITH THE CARDCO INTERFACE.;.;K
ERNAL ROUTINE DEFINITIONS.;.UDTIM=$FFEA 
;UPDATE TIME.STOP=$FFE1 ;CHECK IF STOP K
EY PRESSED.SETNAM=$FFBD ;SET FILE NAME.S
ETLFS=$FFBA ;SET LOGICAL FILE ADDRESS.OP
EN=$FFC0  ;OPEN LOGICAL FILE.CHKOUT=$FFC
9 ;OPEN CHANNEL FOR OUTPUT.CHROUT=$FFD2 
;OUTPUT CHARACTER TO CHANNEL.CLALL=$FFE7
 ;CLOSE ALL FILES AND CHANNELS. *=$9400 
;PRINTER DUMP ORG.;.SCRDMP LDA #0 ;NO FI
LE NAME. JSR SETNAM. LDA #01 ;FILE #1. L
DX #04 ;DEVICE #4. LDY #05 ;CARCO PASS T
HROUGH MODE. JSR SETLFS ;SETUP ADDRESSES
. JSR OPEN ;OPEN FILE TO PRINTER. LDX #0
1 ;SET OUTPUT CHANNEL. JSR CHKOUT. LDA D
RWDIS ;SAVE LAST DRAW DISABLE FLAG. PHA.
 LDA #02 ;SET BORDER COLOR TO INDICATE P
RINTING. STA BORDER. LDA #$00 ;SETUP Y L
OOP. STA DPY. STA DPLL ;CLEAR LAST LINE 
FLAG. EOR #$FF ;SET DRAW DISABLE FLAG. S
TA DRWDIS. LDA #27 ;SET FOR UNIDIRECTION
AL PRIT. JSR CHROUT. LDA #62. JSR CHROUT
. LDA #27 ;SET FOR ELITE PITCH. JSR CHRO
UT. LDA #$45. JSR CHROUT. LDA #27 ;SET F
OR GRAPHICS 16/144 LF. JSR CHROUT. LDA #
84 ;T. JSR CHROUT. LDA #$31. JSR CHROUT.
 LDA #$36. JSR CHROUT. LDA PRTSIZ ;CHECK
 PRINT SIZE. BEQ DPPR1X ;1X. JMP DPPR4X 
;4X.;.; NORMAL SIZE PRINT.;.DPPR1X LDA #
27 ;SET FOR GRAPHICS MODE, 272 COLUMNS. 
JSR CHROUT. LDA #83 ;S. JSR CHROUT. LDA 
#$30 ;0. JSR CHROUT. LDA #$32 ;2. JSR CH
ROUT. LDA #$37 ;7. JSR CHROUT. LDA #$32 
;2. JSR CHROUT. LDA #00 ;SETUP X LOOP. S
TA DPX. STA DPX+1.DPLP0 LDA #00. STA DPR
 ;CLEAR PRINTER DATA. STA DPL ;CLEAR LIN
E LOOP COUNTER.DPLP1 LDA DPY ;SETUP Y VA
LUE. CLC ;. ADC DPL ;ADD LINE OFFSET. ST
A PLOTY. LDA DPX ;SETUP X VALUE. STA PLO
TX. LDA DPX+1. STA PLOTX+1. JSR HPLOT ;G
ET LOCATION AND MASK. LDY #0 ;GET BYTE. 
LDA (ZPTRL),Y ;FROM HIRES. LDY DPB ;GET 
MASK. AND BITTAB,Y ;MASK. BEQ DPLP2 ;OFF
, JUMP. LDY DPL. LDA BITTAB,Y ;GET MASK.
 ORA DPR ;ADD TO PRINTER DATA. STA DPR.D
PLP2 LDA DPL ;INCREMENT LINE LOOP. CLC. 
ADC #$01. STA DPL. CMP #08 ;COUNT TO 8. 
BEQ DPLP3 ;. BNE DPLP1 ;LOOP FOR 8 BYTES
.DPLP3 LDA DPR ;GET PRINTER DATA. JSR CH
ROUT  ;SEND DATA. JSR UDTIM ;SEE IF INTE
RRUPTED. JSR STOP ;CHECK STOP KEY. BNE D
PLP31. JMP DPLP5 ;EXIT.DPLP31 LDA DPX ;I
NCREMENT X. CLC. ADC #01. STA DPX. LDA D
PX+1. ADC #00 ;ADD CARRY. STA DPX+1. BNE
 DPLP3A ;SEE IF TIME TO TEST. JMP DPLP0 
;NO, LOOP.DPLP3A LDA DPX ;HIGH BIT SET, 
CHECK LOW BYTE. CMP #$10 ;272 LOW BYTE. 
BEQ DPLP3B ;END OF LINE. JMP DPLP0 ;KEEP
 LOOPING.DPLP3B LDA #10 ;SEND LINE FEED.
 JSR CHROUT. LDA #$0D ;SEND CR. JSR CHRO
UT. LDA DPY ;INCREMENT Y. CLC. ADC #08. 
STA DPY. CMP #200 ;LOOP UNTIL Y>199. BCC
 DPLP4B. JMP DPLP5 ;EXIT.DPLP4B JMP DPPR
1X ;LOOP.;.; 4X ENLARGED PRINT.;.DPPR4X 
LDA #$00 ;START X LOOP. STA DPX. STA DPX
+1.D4PLP LDA #27 ;SET FOR GRAPHICS MODE,
 644 COLUMNS. JSR CHROUT. LDA #83 ;S. JS
R CHROUT. LDA #$30 ;0. JSR CHROUT. LDA #
$36 ;6. JSR CHROUT. LDA #$34 ;4. JSR CHR
OUT. LDA #$34 ;4. JSR CHROUT. LDA #100 ;
SEND 100 BLANKS TO CENTER HORIZONTALLY. 
STA DPL.D4PSPA LDA #00. JSR CHROUT. DEC 
DPL. BNE D4PSPA. LDA #$00 ;SETUP X LOOP.
 STA DPX. STA DPX+1.D4PLP0 LDA #00 ;. ST
A DPR ;CLEAR PRINTER DATA. STA DPL ;CLEA
R LINE LOOP COUNTER.D4PLP1 CLC. LDA DPY 
;SETUP Y VALUE. ADC DPL ;ADD LINE OFFSET
. STA PLOTY ;. LDA DPX. STA PLOTX. LDA D
PX+1. STA PLOTX+1. JSR HPLOT ;GO GET LOC
ATION AND MASK. LDY #0 ;GET BYTE. LDA (Z
PTRL),Y ;FROM HIRES. LDY DPB ;GET BIT NU
MBER. AND BITTAB,Y ;GET BIT MASK. BEQ D4
PLP2 ;DOT OFF, JUMP. LDY DPL ;GET OFFSET
 TO 2X PRINTER DATA. LDA PR2XDT,Y ;GET P
RINTER DATA. ORA DPR ;ADD TO PRINTER DAT
A. STA DPR.D4PLP2 LDA DPL ;INCREMENT LIN
E LOOP. CLC. ADC #$01 ;. STA DPL ;RESTOR
E LINE COUNT. CMP #04 ;COUNT TO 4. BEQ D
4PLP3. BNE D4PLP1 ;LOOP FOR 4 BYTES.D4PL
P3 LDA DPR ;GET PRINTER DATA. JSR CHROUT
 ;SEND DATA TO PRINTER. LDA DPR. JSR CHR
OUT ;SEND TWICE. JSR UDTIM ;SEE IF INTER
RUPTED. JSR STOP ;SEE IF STOP KEY PRESSE
D. BNE D4PL3A. JMP DPLP5 ;EXIT.D4PL3A CL
C ;INCREMENT X. LDA DPX. ADC #$01. STA D
PX. LDA DPX+1. ADC #$00 ;ADD CARRY. STA 
DPX+1. BEQ D4PL31 ;IF ZERO, LOOP. LDA DP
X ;CHECK FOR END OF LINE. CMP #$10 ;272 
LOW BYTE. BCS D4LP3B.D4PL31 JMP D4PLP0 ;
LOOP.D4LP3B LDA #10 ;SEND LINE FEED. JSR
 CHROUT. LDA #$0D ;SEND CR. JSR CHROUT. 
CLC. LDA DPY ;INCREMENT Y LOOP. ADC #04.
 STA DPY. CMP #200 ;CHECK FOR END OF SCR
EEN. BCS DPLP5 ;END.D4LP4B JMP D4PLP ;KE
EP LOOPING.;.; EXIT FROM PRINTER ROUTINE
.;.DPLP5 JSR CLALL ;CLOSE ALL FILES. PLA
 ;GET LAST DRWDIS. STA DRWDIS. LDA #08 ;
RESTORE BORDER TO INDICATE DONE. STA BOR
DER. RTS ;RETURN TO CALLING PROGRAM.;.;.
; 2X PRINTER DATA BIT MASKS.;.PR2XDT .BY
TE $03,$0C,$30,$C0.;.;LOAD FLEXIDRAW EQU
ATE FILE..LIB FLEX.EQU..END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL