Random game
Random demo
Random software
Entry name:
 Printer Driver Maker 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Printer utilities
  • Code:

    C. D. Welker
  • Media format:

    Diskette
  • Programming language:

    Atari BASIC
Printer Driver Maker Printer Driver Maker Printer Driver Maker Printer Driver Maker
Listing 1
310REMPRINTERDRIVERMAKER
320REMBYC.D.WELKER
330GRAPHICS17:?#6:?#6;"HOMEMADE":?#6;"PRINTERDRIVER"
335?#6;"FORATARIWRITER"
336?#6;"MODEII"
337?#6
340?#6:?#6;"BYc.d.welker":?#6
350?#6;""
355?#6;""
360?#6:?#6;"INPUTCONTROLNUMBER"
370?#6;"INDECIMALHEX":?#6
372?#6;"INPUTNUMBER"
373?#6;"IFPRINTERDOESN'T"
374?#6;"HAVETHEFUNCTION"
375?#6;"REQUESTED"
380REM
390STSIZE=613
400DIMA$(STSIZE),B$(3),C$(3),D$(3)
410DIMJSR$(3),JMP$(3),E$(1),VAR$(3)
420DIMFUNCT$(40)
430DIMOK$(3)
440REMINITIALIZESTRINGS
450E$=CHR$(234):REM=NOP
460A$="":A$(STSIZE)=A$:A$(2)=A$
470B$=E$:B$(3)=B$:B$(2)=B$
480C$=B$:VAR$=B$
490D$="0":D$(3)=D$:D$(2)=D$
500JSR$(1,1)=CHR$(32)
510JSR$(2,2)=CHR$(16)
520JSR$(3,3)=CHR$(1)
530JMP$(1,1)=CHR$(76)
540JMP$(2,2)=CHR$(16)
550JMP$(3,3)=CHR$(1)
555SIZE=241:CLASS=1
560RESTORE
570REM****************************
580REM
590REM
600REM
610REM****************************
620GOSUB1820:REM
630REM***************************
640REMFLAG=1:CLASS=1:REMUSEDASFLAGS
650REMFLAGCONTROLSORDERINWHICH
660REMTHESTRINGISSEARCHED
670REMCLASSSTRIPSOFFESCORADDS
680REM"1"AFTERESC,DOESNOTHING
690FUNCT$="":GOSUB900
700FUNCT$="":GOSUB900
710FUNCT$="":GOSUB900
720FUNCT$="":GOSUB900
725CLASS=2
730FUNCT$="":GOSUB900
740FUNCT$="":GOSUB900
750FUNCT$="":GOSUB900
760FUNCT$="":GOSUB900
770FUNCT$="":GOSUB900
775CLASS=1
780FUNCT$="":GOSUB900
790FUNCT$="":GOSUB900
830REM***************************
840GOTO1070:REM:
850REM****************************
860REM
870REM
880REM
890REM***************************
900VAR$=B$:OK$=D$:C$=B$:GOSUB1160
910TRAP32767
920REM***************************
930REM
940REM
950REM
960REM**************************
970TRAP980
980GOSUB1420
990REM
1000IFOK$(1,1)="Y"OROK$(1,1)="y"THENGOSUB1050:RETURN
1010GOTO900
1020REM*****************************
1030REM
1040REM:IFCLASS=2STRIPESCOR+1
1050IFCLASS=2THENGOSUB2200
1060TRAP1070:GOSUB1540:RETURN
1070GOSUB1980:REMMAKEAUTORUN.SYS
1080END
1090REM
1100REM****************************
1110REM
1120REM
1130REM
1140REM****************************
1150REMPOKE752,1DISABLESCURSORPOKE703,4GIVESATEXTWINDOWATBTM
1160GRAPHICS1:POKE752,1:POKE703,4
1170PRINT#6;"INPUTTHEPRINTER"
1180PRINT#6;"CONTROLCHARACTERS"
1190PRINT#6;"FOR"
1200PRINT#6;"";FUNCT$:PRINT#6
1210PRINT#6;"3NUMBERSMAX"
1220PRINT#6
1230PRINT#6;"FIRSTGIVETOTAL"
1240PRINT#6;"NUMBEROF"
1244PRINT#6;"CHARACTERS"
1250PRINT#6
1260PRINT#6;"THENEACHCHARACTER"
1270PRINT#6;"ASREQUESTED"
1280TRAP1360
1290PRINT"INPUTTOTALNUMBEROFCHARACTERS=";:INPUTN
1292IFN<=3THEN1300
1293?CHR$(253);"ONLY3CHARACTERSPLEASE"
1294GOTO1290
1300FORI=1TON
1310PRINT"INPUTCONTROLCHARNUM";I;"=";
1320INPUTX2
1330VAR$(I,I)=CHR$(X2)
1340NEXTI
1350RETURN
1360TRAP1360:PRINT"OOPS!INPUTERRORTRYAGAIN":GOTO1290
1370REM***************************
1380REM
1390REM
1400REM
1410REM***************************
1420GRAPHICS1:PRINT#6;:PRINT#6;"THEVALUESINPUTTED":PRINT#6;"";FUNCT$:PRINT#6;"AREASFOLLOWS:"
1430PRINT#6:PRINT#6;"BYTE1=";ASC(VAR$)
1440IFN>1THENE$=VAR$(2,2):PRINT#6;"BYTE2=";ASC(E$)
1450IFN>2THENE$=VAR$(3,3):PRINT#6;"BYTE3=";ASC(E$)
1460?:?"ISTHISCORRECT(YES/NO)=";:INPUTOK$:RETURN
1470REM***************************
1480REM
1490REM
1500REM
1510REM***************************
1520REMSEARCHSTRINGA$FROMBACKTOFRONTTOFINDTHECPY#BYTETHEN
1530REMADDTHECONTROLFUNCTIONS
1540J=1:DUM=N
1550REMONFLAGGOTO1570,1560
1560FORI=SIZETOSTSIZE
1580E$=A$(I,I)
1590VALUE=ASC(E$)
1600IFVALUE=192THEN1620:REMCPY
1610NEXTI
1620POP:SIZE=I+14:REMFOUNDCPY
1630A$(I,I)=CHR$(169):I=I+1:REMLDA#
1640A$(I,I)=VAR$(1,1)
1650IFDUM=1THENGOTO1750
1660A$(I+1,I+3)=JSR$:REMJSR=3BYTE
1670I=I+4
1680A$(I,I)=CHR$(169):I=I+1:REMLDA#
1690A$(I,I)=VAR$(2,2)
1700IFDUM=2THENGOTO1750
1710A$(I+1,I+3)=JSR$
1720I=I+4
1730A$(I,I)=CHR$(169):I=I+1:REMLDA#
1740A$(I,I)=VAR$(3,3)
1750A$(I+1,I+3)=JMP$
1760RETURN
1770REM**************************
1780REM
1790REMSUBROUTINETOREADMLTOA$
1800REM
1810REM**************************
1820TRAP1920
1830J=1
1840FORI=1TO10
1850READBYTE
1860E$=CHR$(BYTE)
1870A$(J,J)=E$
1880J=J+1
1890NEXTI
1900READTOTAL
1910GOTO1840
1920RETURN
1930REM*************************
1940REM
1950REM
1960REM
1970REM***************************
1980GRAPHICS17:PRINT#6:PRINT#6;"INSERTAFORMATED":PRINT#6;"DISKWITHDOS"
1990PRINT#6:PRINT#6;"PRESS":PRINT#6;"TOCONTINUE"
2000PRINT#6:PRINT#6;"ANAUTORUN.SYSFILE":PRINT#6;"WILLBEMADE"
2010START=PEEK(53279):IFSTART<>6THEN2010
2020GRAPHICS17:PRINT#6:PRINT#6;"MAKING":PRINT#6;"AUTORUN.SYSFILE"
2030CLOSE#2:OPEN#2,8,0,"D:AUTORUN.SYS"
2040TRAP2090
2050FORI=1TOSTSIZE
2060E$=A$(I,I)
2070PUT#2,ASC(E$)
2080NEXTI
2090CLOSE#2
2100GRAPHICS17:PRINT#6:PRINT#6;"THEAUTORUN.SYS":PRINT#6;"FILEISMADE"
2110PRINT#6;"HAVEFUN"
2120FORJ=1TO600:NEXTJ
2130END
2140RETURN
2150REM*************************
2160REM
2170REMSTRIPESCORADD1SUBROUTIN
2180REM
2190REM*************************
2200C$=VAR$
2210IFVAR$(1,1)=CHR$(27)THEN2290
2220REMMAKEFIRSTCHAR1
2230N=N+1
2240VAR$(1,1)=CHR$(1):REM=$01
2250VAR$(2,2)=C$(1,1)
2260VAR$(3,3)=C$(2,2)
2270RETURN
2280REMSTRIPOFFESC
2290N=N-1
2300VAR$(1,1)=C$(2,2)
2310VAR$(2,2)=C$(3,3)
2320VAR$(3,3)=CHR$(234):REMNOP
2330RETURN
5000DATA255,255,0,46,82,48,160,34,185,25,90
5010DATA3,201,80,240,3,136,208,246,140,20,367
5020DATA1,56,185,26,3,233,1,133,204,200,409
5030DATA185,26,3,133,205,169,0,133,206,169,638
5040DATA1,133,207,160,15,177,204,145,206,136,22
5050DATA208,249,173,231,2,141,34,1,173,232,466
5060DATA2,141,35,1,172,20,1,169,1,153,161
5070DATA26,3,200,169,1,153,26,3,24,173,939
5080DATA7,1,105,1,141,17,1,173,8,1,394
5090DATA105,0,141,18,1,56,173,34,1,233,156
5100DATA1,141,7,1,173,35,1,233,0,141,889
5110DATA8,1,169,76,141,16,1,169,142,141,753
5120DATA24,1,169,1,141,25,1,24,173,24,336
5130DATA1,109,34,1,141,231,2,173,35,1,64
5140DATA109,25,1,141,232,2,169,0,141,26,910
5150DATA1,141,27,1,141,24,1,141,25,1,413
5160DATA141,20,1,141,21,1,169,197,133,204,441
5170DATA169,46,133,205,173,34,1,133,206,173,714
5180DATA35,1,133,207,162,1,160,0,177,204,794
5190DATA145,206,136,208,249,230,205,230,207,202,812
5200DATA240,242,96,141,22,1,201,27,208,11,1
5210DATA169,1,141,24,1,173,22,1,76,16,625
5220DATA1,173,24,1,201,1,240,98,173,22,559
5230DATA1,201,15,240,93,201,14,240,91,201,856
5240DATA92,208,49,173,28,1,201,1,240,21,870
5250DATA169,1,141,28,1,192,27,234,234,234,131
5260DATA234,234,234,234,234,234,234,234,234,234,471
5270DATA234,169,0,141,28,1,192,27,234,234,731
5280DATA234,234,234,234,234,234,234,234,234,234,71
5290DATA234,234,201,94,208,56,173,30,1,201,503
5300DATA1,240,29,169,1,141,30,1,192,27,334
5310DATA234,234,234,234,234,234,234,234,234,234,674
5320DATA234,234,234,24,144,6,240,98,240,92,220
5330DATA240,92,169,0,141,30,1,192,27,234,346
5340DATA234,234,234,234,234,234,234,234,234,234,686
5350DATA234,234,201,91,208,9,169,1,141,36,10
5360DATA1,169,0,240,57,201,93,208,7,169,155
5370DATA0,141,36,1,240,48,201,32,208,3,65
5380DATA76,16,1,173,36,1,201,1,208,26,804
5390DATA24,173,34,1,105,212,141,20,1,169,684
5400DATA0,109,35,1,141,21,1,72,173,20,257
5410DATA1,72,169,0,240,6,173,22,1,76,17
5420DATA16,1,240,121,240,121,169,0,141,24,90
5430DATA1,173,22,1,201,19,208,15,192,33,955
5440DATA234,234,234,234,234,234,234,234,234,234,295
5450DATA234,234,234,201,15,208,15,192,87,234,949
5460DATA234,234,234,234,234,234,234,234,234,234,289
5470DATA234,234,201,28,208,32,173,26,1,201,627
5480DATA1,208,15,169,0,141,26,1,169,1,358
5490DATA32,16,1,169,10,76,16,1,169,1,849
5500DATA141,26,1,169,1,76,16,1,201,20,501
5510DATA208,15,192,33,234,234,234,234,234,234,353
5520DATA234,234,234,234,234,234,234,201,17,208,417
5530DATA18,192,112,234,234,234,234,234,234,234,377
5540DATA234,234,234,234,234,240,24,240,37,201,289
5550DATA14,208,15,192,87,234,234,234,234,234,975
5560DATA234,234,234,234,234,234,234,234,76,16,939
5570DATA1,192,27,234,234,234,234,234,234,234,797
5580DATA234,234,234,234,234,234,192,27,234,234,888
5590DATA234,234,234,234,234,234,234,234,234,234,228
5600DATA234,224,2,225,2,196,46,226,2,227,612
5605DATA2,0,46
5610REM*613BYTES	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!