Ad: Click Here

Digital Antic PROGRAM LISTING: 86-09/FAXA.M65

þþ^4dQÒPæQ6	S>5@
PJTX;^†LEA.W h	Q>5r
P|	Q>4†PšX;¤‡MOVE.B ®Q¸PÂÌX;Ö‡MOVE.W à‡MOVE.B =ê‡MOVE.B =ôþX;
…POKE 	Q>4P&0X;:
…ALSO DPNXX;b†WRITE l$>v„@PLC€Q9Š;”S> žP9¨0²	I„@PLC¼ÆX;ІMOVEM Ú$>ƒLMS@¶…MODEFOÀ…JMPWTAÊ‚CHü;;where keys sitÔˆPIXSTART;;status valuesÞ‡PIXDRAWè‡PIXOVERò…GHOST,;;BOO!ü‰ORINCOLORÀ†RANDOM
Ò…IRQENÒ;;Hardware†SDMCTL/;;DMA Shadow$†STICK0x;;Stick shadow.†AUDCTLÒ;;Audio Control8†POKMSK;;IRQEN shadowB†COLOR0Ä;;soft shadowsL†COLOR1†COLOR0V†COLOR2†COLOR0`†COLOR3†COLOR0j†COLOR4†COLOR0t†ATRACTM;;It's atractive~…PORTAƒESCö‚CR
;;Honest CRTOTAL.COLUMNSÜ;;512‹TIMER.DELAYQ;;06F2ŽBYTES.PER.LINE@(ŽNUM.SCAN.LINESà2“SCAN.LINES.ONSCREEN¶<ƒBPLŽBYTES.PER.LINEFƒNSLŽNUM.SCAN.LINESPƒSLO“SCAN.LINES.ONSCREENZ†SCREEN†BUFFERÂ	l†TWOPER	‹TIMER.DELAYv†ONEPER	©;;$0EA9€ˆMICROROW	AŠŠTWOLINEROW	TOTAL.COLUMNS”ŠONELINEROW	TOTAL.COLUMNSžŠTIMERCOUNT	‹TIMER.DELAY¨X;²‡ST.LINE¼	A‚K AÆA‰   <    >AÐA‰   -    +AÚ
‰TEXT.LINEä!…JMPWT.	
	…DLIST8	X;B	X;-------------------------L	HƒBL1

X;
:
X;(
X;-------------------------2
BUILD.MODE.LINE<
%>Q>…MODEFP
P@‰POINTER.A7Z
3d
Q†MLADDRn
P@‰POINTER.A7x
3‚
Q†MLADDRŒ
P@‰POINTER.A7–
†ADD.W ‰POINTER.A= 
†ADD.W †MLADDR=ƒBPLª
:´
X;¾
X;-------------------------È

†SCROLLÒ
Q†STICK0Ü
N>æ

P…STICKð
H‰TRY.RIGHTú
:X;
‰TRY.RIGHTP†ATRACT"M>…RIGHT,
FˆTRY.LEFT6X;@Q‹HORIZ.COUNTJR‹HORIZ.LIMITT
FˆTRY.LEFT^X;h#‹HORIZ.COUNTr†ADD.W ‡DISPLAY=|ˆTRY.LEFT†
Q…STICK
M>„LEFTšF†TRY.UP¤X;®Q‹HORIZ.COUNT¸F†TRY.UPÂX;Ì"‹HORIZ.COUNTÖ†SUB.W ‡DISPLAY=à
†TRY.UPê
Q…STICKôM>‚UPþ
FˆTRY.DOWNX;QŠVERT.COUNT
FˆTRY.DOWN&X;0"ŠVERT.COUNT:†SUB.W ‡DISPLAY=ƒBPLDˆTRY.DOWNN
Q…STICKX
M>„DOWNb
F…FIXDLlX;vQŠVERT.COUNT€RŠVERT.LIMITŠ
F…FIXDL”X;ž#ŠVERT.COUNT¨†ADD.W ‡DISPLAY=ƒBPL²	…FIXDL¼ ŠBUILD.LISTÆ:ÐX;ÚX;-------------------------äŒCLEAR.SCREENî…POKE ‡INVMASK=ø†LEA.W †SCREEN=‰POINTER.B
†LEA.W ‡SCRSIZE=‰COUNTER.B
„CLS1
%>…POKE ‡COLMASK=€…POKE ˆADJCOUNT=Q…PORTAP	I„PLT0ZX;dQ>…GHOSTx„PLT0‚Q>ŒN‡INVMASK–X; 6ª%>H…PRO1XàX;ê…POKE ‡COLMASK=€ô‡MOVE.B ˆSPEEDADJ=ˆADJCOUNTþ†ADD.W ‰POINTER.C=	…PRO1X:X;- - - - - - - - - - - - -&„PRO20…POKE ‡COLMASK=€:‡MOVE.B ˆSPEEDADJ=ˆADJCOUNTD†LEA.W 
‰PRINTBYTEP†BUFFER…BPUT ‡PRINTER=†BUFFER=(:2X;<X;--------------------------F‹PRINTFAXMAPP"…OPEN ‡PRINTER=…WRITE=…POKE †COLOR3=4&…POKE †SDMCTL="0::X;DX;--------------------------NŠDECIMALIZEX‡MOVE.W ‡DECIMAL=‰COUNTER.Db†LEA.W F…DECIXŠX;”†SUB.W ‰COUNTER.D=ž	…DECI1¨<²†ADD.W ‡DECIMAL=¼-ƆSUB.W ‰COUNTER.D=Ð
E…DECI1Ú	…DECIXäQ‡DECIMALî5øQ‡DECIMAL ŒDEC.TO.ASCII'‡DECIMAL&‡DECIMAL 7* ŒDEC.TO.ASCII4'‡DECIMAL>&‡DECIMALH:RX;\"X;- - - - - - - - - - - - - - -fŒDEC.TO.ASCIIp5zM>ð„V?ŽV?˜V?¢V?¬ †CHROUT¶?À7ÊM>Ô
†CHROUTÞ,èO>0òL>‰ORINCOLORü>X;:X;$X;--------------------------.ŒUPDATE.STATS8†LEA.W A<A=A>A=A+A=A-AA1A=A2A=A3A=AIAACA=ALA=ASA(‹LENKEYTABLE
ˆKEYTABLE2X;<ŒKEYJUMPTABLEF	ŽPRINT.A.FAXMAPP	‹ADJUST.SYNCZ
	…RESETd	‹CHANGE.SKIPn	ŒLESS.COLUMNSx	ŒMORE.COLUMNS‚	‰MORE.TIMEŒ	‰LESS.TIME–	‹SET1LINESEC 	‹SET2LINESECª	ŒSETMICROMODE´	ŠINV.SCREEN¾	ŒCLEAR.SCREENÈ	ˆLOAD.PIXÒ	ˆSAVE.PIXÜX;æX;--------------------------ð„MAINú ‹INIT.SCREEN ŒUPDATE.STATS"…OPEN ˆKEYBOARD=„READ=F…MAIN1TX;^…BGET ˆKEYBOARD=‡KEYBUFF=hQ‡KEYBUFFr$>‹LENKEYTABLE|	…MAIN2†RˆKEYTABLE9
F…MAIN3šX;¤0®
I…MAIN2¸X;Â
!…MAIN1ÌX;- - - - - - - - - - - - -Ö	…MAIN3à PERFORM.ROUTINEê
!…MAIN1ôX;þX;--------------------------PERFORM.ROUTINEAT?&>0QŒKEYJUMPTABLE9:5DQŒKEYJUMPTABLE9N5X:bX;lX;--------------------------vŽPRINT.A.FAXMAP€…POKE †STATUS=‡PIXOVERŠ ŠSTOP.TIMER”!‹PRINTFAXMAPžX;¨X;--------------------------²‹ADJUST.SYNC¼…POKE ˆADJCOUNT=Æ:ÐX;ÚX;--------------------------ä	…RESETîQ†STATUSø
R>‡PIXDRAWH‰GETFAXMAPX;Q‡CURRCOL L‡CURRCOL*
H…RESET4X;>!ŠINITFAXMAPHX;RX;--------------------------\
‰GETFAXMAPf…POKE †STATUS=ˆPIXSTARTp ‹START.TIMERz:„X;ŽX;--------------------------˜‹CHANGE.SKIP¢#‡COLSKIP¬Q‡COLSKIP¶R>
À	D„CS11ÊX;Ô…POKE ‡COLSKIP=!‹START.TIMERX;X;--------------------------(‹SET2LINESEC2‡MOVE.W †TWOPER=ŠTIMERCOUNT<‡MOVE.W ŠTWOLINEROW=†NUMCOLF ŒUPDATE.STATSP!‹START.TIMERZX;dX;--------------------------nŒSETMICROMODEx‡MOVE.W †MICROM=ŠTIMERCOUNT‚‡MOVE.W ˆMICROROW=†NUMCOLŒ ŒUPDATE.STATS–!‹START.TIMER X;ªX;--------------------------´ˆSAVE.PIX¾ ŠSTOP.TIMERȆWRITE ˆTYPEMESS=‰TEXT.LINEÒX;Ü…BGET ˆKEYBOARD=‡KEYBUFF=æQ‡KEYBUFFðR>
MúHƒSP3X;!‰SAVEMICROƒSP3"R>
F,HƒSP46X;@
!ˆSAVEFULLJƒSP4T!ŒUPDATE.STATS^X;h"X;-----------------------------r
‰SAVEMICRO|!†WRITE ŠSAVINGMESS=‰TEXT.LINE† …OPEN „DISK==1>!	F„SAF0H!X;R!R>
2\!
HˆSAVEFULLf!„SAF0p! ‡MOVE.B ‡KEYBUFF=ŠFILENAME.Xz!X;„!#…OPEN „DISK=…WRITE=1V"	F„LDP0`"X;j"R>
2t"	F„LDP0~"X;ˆ"!ŒUPDATE.STATS’"X;œ" X;- - - - - - - - - - - - - -¦"„LDP0°" ‡MOVE.B ‡KEYBUFF=ŠFILENAME.Xº"X;Ä""…OPEN „DISK=„READ=# X;- - - - - - - - - - - - - -#„LPX2#!†WRITE ŠLOADERMESS=‰TEXT.LINE(# …BGET „DISK=†SCREEN=‡SCRSIZE2#†CLOSE „DISK<#!ŒUPDATE.STATS

Back to previous page