Random demo
Random demo
Random game
Entry name:
 Epson MX-80 Typewriter 
Publisher/Developer:

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

    Printer utilities
  • Code:

    Warren P. Silberstein
  • Programming language:

    Atari BASIC
Epson MX-80 Typewriter Epson MX-80 Typewriter Epson MX-80 Typewriter Epson MX-80 Typewriter Epson MX-80 Typewriter
Listing 1
0DATA72,173,220,2,240,10,169,0,141,220,2,169,185,141,252,2,104,64
1FORI=1TO18:READN:POKE1535+I,N:NEXTI
10REM***EpsonMX-80Typewriter(withGraftrax)byW.Silberstein
20GOSUB570:REM
30POKE764,255:OPEN#1,8,0,"E:":X=0:I=0:II=0:EE=0:DD=0:CC=0:UU=1:WW=1:SS=1:LL=1:MM=0
40POKE709,0:POKE710,38:POKE675,0:FORTB=676TO679:POKETB,32:NEXTTB:FORTB=680TO684:POKETB,8:NEXTTB
50FORTB=685TO689:POKETB,2:NEXTTB
60TRAP1090:OPEN#3,8,0,"P:":?#3;CHR$(27);"@";CHR$(27);"8";CHR$(27);"C";CHR$(0);CHR$(FMF)
64IFLS=0.75THENLS=1:?#3;"0":LTH=INT(LTH*4/3)
65IF(LS-INT(LS))THEN?#3;"A":LS=LS*2:LTH=LTH*2
70?CHR$(125);""
80OPEN#2,4,0,"K:":POKE702,0:POKE16,112:POKE53774,112
85DL=PEEK(560)+256*PEEK(561):POKEDL+10,PEEK(DL+10)+128:POKE512,0:POKE513,6:POKE54286,192
90REM
100X=X+1+(WW=0)-0.4*(CC=3)
110GET#2,N:D=0:IF(INT(X)-(WW=0))>(MARG+10)ANDN<>13ANDN<>126ANDN<>155ANDN<>8ANDMM=0THEN110
120IFD5=P89ANDN<>8THEN110
130IFN=10THEN110
140IFN=9THENN=10
150IFN=127ORN=159THENN=9:X=9-CC+(8-CC)*INT(X/(8-CC)):D=1
160IFN<>155ANDN>127THENN=N-128
170IFN=126THENX=X-(1+(WW=0)-(0.4*(CC=3))):N=127:D=1
180IFX<0THENX=0
190IFN=13ANDX>MARG+10THENMM=1:GOTO110
200IFN=21THEN?#3;CHR$(27);"-";CHR$(UU);:UU=1-UU:PUT#1,N+192:GOTO110
210IFN=3THEN?#3;CHR$(27);CHR$(15+CC);:CC=3-CC:PUT#1,N+192:GOTO110
220IFN=5THEN?#3;CHR$(27);CHR$(69+EE);:EE=1-EE:PUT#1,N+192:GOTO110
230IFN=4THEN?#3;CHR$(27);CHR$(71+DD);:DD=1-DD:PUT#1,N+192:GOSUB520:GOTO110
240IFN=23THEN?#3;CHR$(27);"W";CHR$(WW);:WW=1-WW:PUT#1,N+192:GOTO110
250IFN=19ANDSS=0THEN?#3;CHR$(27);"H";:GOSUB460
260IFN=19ANDSS=1THEN?#3;CHR$(27);"S";CHR$(0);
270IFN=19THENSS=1-SS:PUT#1,N+192:GOTO110
280IFN=10THEN?#3;CHR$(27);CHR$(52+II);:II=1-II:PUT#1,N+191:GOTO110
290IFN=12ANDLL=0THEN?#3;CHR$(27);"H";:GOSUB490
300IFN=12ANDLL=1THEN?#3;CHR$(27);"S";CHR$(1);
310IFN=12THENLL=1-LL:PUT#1,N+192:GOTO110
320IFN=155THENX=0:MM=0:FORJ=1TOLS:I=I+1:NEXTJ
330SOUND1,20,6,8*(X>MARG):POKE712,48*(X>=MARG+10)
340IFN=9THEN390
350IFN=6THEN?#3;CHR$(155):?#3;CHR$(12):?CHR$(125):X=0:I=0:POKE709,0:POKE710,38:GOTO110
360IFN=8THEND5=ALT-D5:POKEDPLY,D5:COLR=236-COLR:POKE710,COLR:POKE709,0
370IFI>=LTHANDD5=PP89THENPOKE710,48:POKE709,10
380IFN<32ORN=96ORN=123THEN110
390?#3;CHR$(N);:IFN=155ANDLS>1THENFORJ=1TOLS-1:?#3;CHR$(N);:NEXTJ
400IFN=127THENN=126
410IFN=9THENN=127
420PUT#1,N
430IFD=1THEN110
440GOTO100
450REM
460IFLL=0THENLL=1:PUT#1,204
470IFDD=1THENDD=0:PUT#1,196
480RETURN
490IFSS=0THENSS=1:PUT#1,211
500IFDD=1THENDD=0:PUT#1,196
510RETURN
520IFDD=1THENRETURN
530IFLL=0THENLL=1:PUT#1,204
540IFSS=0THENSS=1:PUT#1,211
550RETURN
560REM**
570P106=PEEK(106):GRAPHICS0:P89=PEEK(89):POKE106,P106-4
580GRAPHICSO:POKE16,112:POKE53774,112:?""
590DPLY=PEEK(560)+256*PEEK(561):DPLY=DPLY+5:PP89=PEEK(89):ALT=P89+PP89:D5=PP89:COLR=38
600?:?:?"byWarrenP.Silberstein,M.D.":?:?:?
610POKE89,P89
620?"";
630?"-[ON/OFF]":?
640?"Condensed-[CNTRLC]"
650?"Doublestrike-[CNTRLD]"
660?"Emphasized-[CNTRLE]"
670?"Italics-[CNTRLI]"
680?"Lowerscript-[CNTRLL]"
690?"Superscript-[CNTRLS]"
700?"Underlined-[CNTRLU]"
710?"Wide-[CNTRLW]"
720?"HELP-[CNTRLH]":?"MarginRelease-[CNTRLM]"
730?"Formfeed-[CNTRLF]":?:?"Emphasizedtakesprecedenceovercompressedandscript."
740?"Turningoffdoublestriketurnsoffscript,andviceversa.Scripttakesprecedenceoverdoublestrike."
750?"REDscreenmeansendofpage.UseFormfeed[CNTRLF]."
760?"REDbordermeansendofline.UseMarginRelease[CNTRLM],BACKSPACE":?"orRETURN.";
770POKE89,PP89
780TRAP1130:LINE=780
790POSITION2,10:?"Choosepaperlengthininches";:INPUTLTH:FMF=LTH:LTH=LTH-2.5:LTH=LTH*6
800TRAP1130:LINE=800
810?:?:?"Setrightmargin(20to80)";:INPUTMARG:MARG=MARG-10
815TRAP1130:LINE=815
816?:?"Chooselinespacing....":?"(.75,1,1.5,2,3)";:INPUTLS
820POKE752,1:?:?:?"Doyouneedinstructions?(Y/N)";
830OPEN#1,4,0,"K:":GET#1,N:CLOSE#1:IFN=78THENRETURN
840GRAPHICSO:POKE16,112:POKE53774,112:POKE752,1:?""
850?:?:?"Usethisprogramlikeatypewriter.":?"Abuzzerwillsound10spacesbefore":?"therightmargin."
860?:?"TheborderwillturnREDattheend":?"oftheline.Use[CNTRLM]asa":?"MarginReleaseorusethe";
870?"BACKSPACE":?"orRETURNkeys."
880?:?"ThescreenwillturnREDneartheend":?"ofthepage.Use[CNTRLF]andthe":?"pagewillbeejected."
890POSITION2,20:?"Pushtocontinue."
900IFPEEK(53279)<>6THEN900
910?CHR$(125)
920?"-[ON/OFF]":?
930?"Condensed-[CNTRLC]"
940?"Doublestrike-[CNTRLD]"
950?"Emphasized-[CNTRLE]"
960?"Italics-[CNTRLI]"
970?"Lowerscript-[CNTRLL]"
980?"Superscript-[CNTRLS]"
990?"Underlined-[CNTRLU]"
1000?"Wide-[CNTRLW]"
1010?"HELP-[CNTRLH]":?"MarginRelease-[CNTRLM]"
1020?"Formfeed-[CNTRLF]":?:?"Emphasizedtakesprecedenceovercompressedandscript."
1030?:?"Turningoffdoublestriketurnsoffscript,andviceversa.Scripttakesprecedenceoverdoublestrike."
1040POSITION2,22:?"Pushtobegin";
1050IFPEEK(53279)<>6THEN1050
1060RETURN
1070REM
1080REM
1090TRAP1090:?CHR$(253);CHR$(125):POSITION2,10:?"READYPRINTER"
1100POSITION2,20:?"Push";
1110IFPEEK(53279)<>6THEN1110
1120CLOSE#3:CLOSE#2:GOTO60
1130?CHR$(28);"";CHR$(28);CHR$(28);:GOTOLINE	

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!