@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u| EIF"X;-----------------------------"X;Labyrinths: Revision 09/15/87"X;Programmed By Steven Lashower#"X;(C)T} 1987 Argosoft Productions("X;------------------------------2X;-------------------7X;Page Zero Variables<X;------U}-------------ALO;;Srce Copy adrsFDESTLO;;Dest Copy adrsKMTEMP;;Maze locationPYTEMP;;Y Coord TempUCV}OLTMP;;X Coord TempZXTMP;;X Coord Temp_YTMP;;Y Coord TempdFLAG;;Variable FlagiLEN;;Maze Draw LngthW}nH;;Player X CoordsV;;Player Y CoordxW;;Maze width}TEMP;;Temporary Data!DIRECTION;;Player DirctX}ionDUMMY;;Temporary DataBACK;;Behnd plyr dataCOUNTR;;Main DLI pointrSEC1;;Time "h:mm:ss"J;Y};Maze gen varbleVOLUM1;;Sound volumeTIME;;Day/Night FlagCOLOR;;Draw/Plot ColorOFF;;Patroler BottoZ}mTONE;;Tone for soundHOLD;;Temp storagePLOTX;;X Coord ValuePLOTY;;Y Coord ValueCOPCNT;;Byt[}e copy countFRONT2;;Center cpy byteBACK2;;Copy of BACKH2;;Patrol X CoordsV2;;Patrol Y CoordsD\}IR2;;Patrol DrectionDIRTMP;;Temp. DIRECTIONCDTMV4;;Patrol Move ChkOLDSTK;;Stick 0 CopyMNUM;;Pa]}troller #PAT;;Patrol Plot VarDIFLEV;;Diffculty levelPOINTER;;Title DLI pntr CENTER ;;Center data^}LEFT ;;Left side dataRIGHT ;;Right side dataCENTER2 ;;Copy of CENTER RTCLOK" ROWCRST' COLCRSU,_}VDSLST1CDTMV36SDMCTL/;SDLSTL0@GPRIORoESTICK0xJSTRIG0OPCOLR0TCOLOR0Y`}COLOR2^COLOR3c CHhHPOSP0mHPOSP1rSIZEP0wSIZEP1 |SIZEP2 ЁSIZEP3 ІCa}OLPM0ЋCOLPM1АCOLPM2ЕCOLPM3КCOLPF0ПCOLPF1ФCOLPF2ЩGRACTLЮCONSOLг b}AUDF1Ҹ AUDC1ҽRANDOM DMACTLPMBASE WSYNC  NMIENSETVBV\XITVBVb DISc}PSCREENPTIMSCBOTTOMRPRINT1TEXTrPRINT2TEXT'PRINT3TEXTB PMGp PL1ud}x X;-------------------X;Get things ready...X;-------------------LABYRINTHSQ>;;Turn screen!PSDMCTL;;off.&e} PFLAG+Q>0 PVOLUM15 CLSCN;;Clear scrren.: Q>4MAZE?PMTEMP;;Copy mazeDQ>5MAZE;;Addresss.I PMTEMPN GENf}MZE;;Generate Maze!SQ>;;Exit in lowerXPMAZE;;right corner] Q>4BOTTOMbPTEXTB;;Print timer &gQ>5BOTTOM;;compg}ass atlPTEXTB;;screen bottom.qQ>v$>{CLTIMEPSEC19;;Set elapsed2;;time to 0:00:00(> HCLTIME PCOh}UNTRQ><;;Set timer for 1PCDTMV3;;Second. %>4VBI $>5VBIQ>;;Initialize VBI. SETVBVQ>;;Player startsi}PH;;game at (1,2).Q>PVQ>;;Player's facingPDIRECTION;;south,Q>2;;Maze Width = 50PW SETUP;;Sej}t up screen.!MAINPROG;;Main Program.X;----------------------X;Display List InterruptX;----------------------k}DLI5;;Save Accum andA;;X Register.5$COUNTR;;Which DLI?(>  HDLI12;;Point to next&COUNTR;;DLI.$> l}DLI0&COLPF1;;Shade game%2;;title in 8*2;;shades of blue./PWSYNC;;Wait for SYNC.4(>;;Shaded yet?9HDLI0;;Nope.m}..>Q> ;;Set Text Luma.C PCOLPF1H!ENDDLI;;Return from DLIMDLI1Q> ;;Set maze wallRPCOLPF2;;colors toWQ>;;shan}des of grey.\ PCOLPF1a $COUNTRf QTIME;ITSkR>;;Daytime?pHDLI2;;Nope...uQCOLORS9;;Yep! Dayglowz!DLI3;;coloro}s. DLI2QCOLORS29;;Night colorsDLI3PCOLPM2;;Store colorsPCOLPM3;;in players 2&3.DLI3B2;;Point to next&COUp}NTR;;DLI...(>;;All colors yet?HENDDLI;;Nope! Exit DLI.Q>;;Reset pointerPCOUNTR;;to screen top.Q>PCq}OLPF0;;Set all colorsQ> ;;for bottomPCOLPF1;;of screen.Q> PCOLPF2ENDDLI7;;Restore X reg.>7;;Restorer} Accum.9X;------------------------X;Vertical Blank InterruptX;------------------------VBI#PCOLR0;;Increases}#PCOLR0;;Patroller andQPCOLR0;;player in mazeR>HXX1;;Make sureQ>;;player flashes PPCOLR0;;blut}e.XX1QCDTMV4;;Decrease timerR>;;if and only ifFXX2;;not zero. "CDTMV4$XX2QFLAG;;Flag set?)R>.HXX3u};;Yep. Exit VBI!3 !XITVBV8 XX3QCDTMV3;;Second elapsed?=R>BHX1;;Nope...GQ><;;Ya! ResetLPCDTMV3;;timer!Q#Sv}EC1;;Increase secondV$>;;digit.[X01QSEC19;;Check digits`RCOMP9;;for carry.eHX0;;No carry.jQ>;;Carry! Zeroow}PSEC19;;digit. Inc nextt#SEC19;;digit.yX02~(>;;Done checking?HX01;;Nope...X1$>;;Ya! print time. Px}RTIMEQSEC19;;Load digit to,;;print and addO>;;ATASCII offset.%YVAL9;;Add offset andPTIMSC8;;print it!2y}(>;;All printed?HPRTIME;;Nope...QVOLUM1;;Play a sound?R>FX2;;Nope..."VOLUM1;;Yes! Decrease,;;volumez} of soundOTONE;;and addPAUDC1;;distortion. X2$>DI1QCENTER29;;Can playerR>E;;view patroller?FDI2;;Ye{}s...R>;;Is a wall inHDL1A;;the way?Q>;;If one is, then&HPOSP0;;don't display!XITVBV;;it so exit VBI. |}DL1A2 (>;;All view check?HDI1;;Nope...DI2QHARGO9;;Set horizontalPHPOSP0;;position & sizeQSARGO9;;depend}}ing its#PSIZEP0;;distance "X".(QOFARG9;;Where's its-POFF;;bottom?2%>7Q>;;Erase player's<VB1PPMG8;;by~}tes.A3FHVB1KQONARG9;;Find patrollersP?;;top and putUVB2QBARGO9;;bytes intoZPPMG8;;PMAREA._3d)OFF;;B}ottom reached?iHVB2;;No, next byte.n!XITVBV;;Ya, exit VBIsX;--------------------------xX;Read Surrounding Maze Data}}X;--------------------------STARTQ>4MAZE;;Get mazePMTEMP;;address andQ>5MAZE;;copy it. PMTEMPS01;;D}ecrease "Y")>;;Zero yet? FS1;;Yep.QW;;Add maze width. ADD!S0;;Do it again.S1A;;Add horizontal. AD}D$>QDIRECTION;;Facing north?R>HT1;;Nope...QW;;By adding maze ADD;;width, we can%>;;get the spa}ceQ@MTEMP7;;in back ofPBACK;;player.QW,;;Subtract width.O> SUBTRACTS45%>;;Get 8 bytesQ@MTEM}P7;;for PLEFT9;;left3 Q@MTEMP7PCENTER9;;center3" Q@MTEMP7'PRIGHT9;;& right walls.,21QW;;Get ready6} SUBTRACT;;for next.;(>;;Add 8 bytes?@HS45;;Nope...E:;;JT1QDIRECTION;;Facing southOR>THT2Y%>^QWc} SUBTRACTh Q@MTEMP7m PBACKrQWw;|S> ADD T45%> Q@MTEMP7 PRIGHT93 Q@MTEMP7 PCENTER93} Q@MTEMP7 PLEFT92QW ADD(>HT45:T2QDIRECTION;;Facing eastR>HT3%>U1Q@MTEMP7} PCENTER83)>HU1%>Q> SUBTRACT  Q@MTEMP7 PBACKQ> ADD!QW& SUBTRACT+U4Q@MTEMP}70 PLEFT853:)>?HU4DQWI,NOWS ADDX%>]U6Q@MTEMP7b PRIGHT8g3l)>qHU6v:{ T3%>$>}V1Q@MTEMP7;;Facing West PCENTER9Q> SUBTRACT2(>HV1Q>  ADD Q@MTEMP7 PBACKQ>,}OW SUBTRACT$>V4Q@MTEMP7 PRIGHT9Q> SUBTRACT2(>HV4Q>,OWOW  ADD$}>V6Q@MTEMP7 PLEFT9 Q>% SUBTRACT*2/(>4HV69:>ADD,;;Add AccumulatorCOMTEMP;;to MTEMP withHP}MTEMP;;carry.M DSUB2R #MTEMPW:\SUBTRACTPTEMP;;Subtractsa;;;TEMP fromfQMTEMP;;MTEMP withkSTEMP;;carry.p }PMTEMPu ESUB2z "MTEMP SUB2:WCOMP = ==  =ʼnWALO == =  =  X;-----------------------}---- X;WALL DATA/VIEWING PROCESSOR X;---------------------------MAINPROG%V;;Get player's$H;;coords and pass }START;;to routine. COPCEN;;Copy CENTER.%> 'FLAGLOOPQCENTER8;;Get byte in$>;;front of playerR>;;Is }it an exit?HLO0;;No...PFLAG;;Yes, set flag!FRONTWALL;;and draw it!LO0R>;;Is it a wall?HN1A2;;No.!FR}ONTWALL;;Yes! Draw it! N1A2C, PHOLDOWALO9;;Offset for LEFT?;;and RIGHT side. QLEFT8;;Get side wall. R>E};;Patrollr there? HN1A25;;No. Q> ;;Yes...Print N1A25&J;;passage there. RWCOMP9 HN1A3$ %HOLD) &FLAG. LE}FTWALL3 N1A3$J8 2= %HOLDB (>G HN1A2L 3Q )>V HLOOP[ Q>` PCOLCRSe Q>j PDUMMYo N22%DUMMYt Q>y }PTEMP~ PRINT #DUMMY QDUMMY R> HN22 %> QCENTER8 3 R> HN3 Q> !N4 N3R>ſ HN3A Q>} !N4 N3AQ> N4PTEMP PRINT !LINE139 LEFTWALL'YTEMP QMULTI8 > 0 QFLAG R> FL3 R> }FL3 R> HL1 L3Q>  ;# SYTEMP( PCOLTMP- %>2 !DOWALL7 L1Q>< ,A OYTEMPF PCOLTMPK %>P DOWALL2U} 3Z C_ ,d O>i PROWCRSn QCOLTMPs PCOLCRSx QFLAG} R> FD3 R> FD1 R> FD4 R> FD4 Q> }!D2 D4QPASS9 !D2 D1QRWAL9 !D2 D3QLWAL9 D2&XTMP 'YTMP PTEMP PRINT $XTMP %YTMP )> } HDOWALL %YTEMP Q> PFLAG : "X;----------------------------- "X;Character bytes for left wall "X;-------------}---------------- LWAL ====  =====  =====  ====  =====  }===="  =====$  ===='  =====)  ====, #X;-----------------------------}-1 #X;Character bytes for right wall6 #X;------------------------------; RWAL =====  =====@  ==}===B  ====E  =====G  ====J  =====L  ====O  ====}=Q  ====T $X;-------------------------------Y $X;Character bytes for passageways^ $X;---------------------------}----c PASS ====e  =====h  =====j  ====m  =====o  ====}r  =====t  ====w  =====y  ====| LENGTH  ==== HORIZ ===}= X;---------------- X;Day/Night Colors X;---------------- COLORS ====  =====  ===}= = COLORS2 ====  ====  ====  == X;------------------------ X;Pri}nt Front Wall Routine X;------------------------ FRONTWALL1 'YTEMP QLENGTH8 PLEN QHORIZ8 PCOLCRS QMULT}I8 > 0 PYTEMP $YTEMP %> F1C PROWCRS #ROWCRS #ROWCRS 3 2 'YTMP &XTMP QFLAG R> HF}1A! Q>& !F1B+ F1AQPASS90 F1BPTEMP5 %ROWCRS: PRINT? %YTMPD $XTMPI )> N HF1S "LENX QLEN] FLINE139}b #COLCRSg $YTEMPl %>q !F1v X;--------------------{ X;Main Display Routine X;-------------------- LINE139 MO}VE;;Print Screen! QCENTER;;Copy center. PFRONT2 QBACK;;Copy back. PBACK2 QTIME R>;;Is it night? FCE;};Yes...  POSITION;;No..Draw maze. $> PL1CL1Q>;;Clear PMAREA PPL19;;[Player Maze 2;;Position] HPL1CL1 Q}H;;Add offset for ,;;Gr. $E to O>;;player horiz PHPOSP1;;position! , QV;;Add offset to ,;;vert position O>}J;;to plot on a ?;;Gr. $E screen. Q> PPL18;;And store! CE$> CE1QDIRCHAR9;;Let's clear ;;;the compass S>};;arrows. %OFFSETT9 PTIMSC8 2% (>* HCE1/ CE2%DIRECTION;;Inverse the4 QDIRCHAR8;;compass arrow9 $OFFSETT}8;;in the dirctn> PTIMSC9;;player's facingC Q>>H PSDMCTL;;Turn on screen.M X;-------------------------R X;Joystick/Mo}vement RoutineW X;-------------------------\ LINE140 MVCHK;;Patrol Move.a $H;;Get Player'sf %V;;coordinates.k STAR}Tp COPCENu QSTICK0z R> FLINE140 QSTICK0 R> HLINE190 QFRONT2 R> FLINE1401 R>E FLINE1401 }R>ű HLINE140A !ESCAPE LINE140A!LINE1901 LINE1401$DIRECTION 0 QWHICH9 ? , QH8 OTABLE9 PH8 }!LINE275 LINE190R> HLINE230 QBACK2 R>  FLINE190AR>E  FLINE190AR> HLINE1901 !ESCAPELINE}1901 THUMP$ !LINE140)LINE190A$DIRECTION.03 QWHICH98?=,BQH8G OTABLE29LPH8Q !LINE275VLINE230R> [ }HLINE250` RAZZe#DIRECTIONjQDIRECTIONoR>t HLINE275yQ>~PDIRECTION !LINE275LINE250R> FLINE260} !LINE140LINE260 RAZZLINE265A"DIRECTIONQDIRECTIONR> HLINE275Q>PDIRECTION !LINE275LIN}E275 PAUSE !MAINPROGX;-------------X;Delay RoutineX;-------------PAUSEQ>;;Zero SystemPRTCLOK;;Timer.}P1 MVCHK;;Check forQRTCLOK;;Patrol move and;;;wait for timerS>;;goes past 6.DP1:;;Pause finished!X;-}-------------X;Set up display X;-------------- SETUPQ>  PCOLOR3Q>;;Background'sPCOLOR2;;black.# PMNUM(}Q>- PCOLOR02Q>7PPCOLR0<Q>;;Set P/M Prior.A PGPRIORFQ>4DLIST;;Tell ANTICKPSDLSTL;;where the D/LP}Q>5DLIST;;is.UPSDLSTLZQ>5DLI;;Point system_PVDSLST;;to my DLI.d Q>4DLIi PVDSLSTnQ>;;Allow for DLIs.s} PNMIENxQ>;;Set players}PSIZEP2;;2 & 3 to quadPSIZEP3;;size.Q>h;;Set Player'sPHPOSP0;;2&3 horizQ>t};;position.PHPOSP0$>PL1CLQ>;;Clear and initPPMG9;;PMAREA. PPMG9Q> PPMG9 PPMG}92;;Copy 255 Bytes. HPL1CLQ>PMG;;Store P/MPPMBASE;;Address.Q>;;Enable P/MPGRACTL;;Graphics:}X;----------------------X;Main Game Display ListX;----------------------DLIST p=p==F TOP  = ===} =0 =N DISP   ===== == ===== == ===== } == ===== ==" =====$ ==' =====) ==, ====}=. ==1 =====3 ==6 =====8 ==; =====@ p=BE TEXTB J} ====L =AO DLISTTX;------------------------YX;Check for patroller move^X;------------------------c}MVCHK g;;Check for move.h$>mQDIFLEV;;Difficulty=0?rFMV25;;Yes...wMV12|QH29;;Check if thereRH;;are any} patrolsHMV2;;occuping theQV29;;same placeRV;;where theFMV3;;player is.MV2(DIFLEV;;More patrols?HMV1};;YA... MV25:MV3Q>4CAPTXT;;Print PlayerPTEXTB;;capture text onQ>5CAPTXT;;screen bottom PTEXTBQ>E;;P}ut patroler inPCENTER2;;front of playerQ>;;Zero all audio. PAUDF1!EX1;;End routine$X;----------------------}---------$X;Routine to Print to Graphics $EX;Adapted from Retrofire!$X;-------------------------------PRINTQYPOS8}PLO;;Save Y PositionQ> PLO TLO;;*16 ULO TLO;;*32  ULOQLO,O>4SCREEN;;Add Display!}PDESTLO;;Start& QLO+ O>5SCREEN0PDESTLO5 TLO;;*16: ULO? TLO;;*32D ULOIQLON,SODESTLO;;Get c}haracter'sXPDESTLO;;screen address] QLObODESTLOgPDESTLOlQDESTLO;;Add X offsetq,;;for finalvOCOLCR}S;;address.{O>  PDESTLO DNODHIN#DESTLO!NODHIN%TEMP;;Get offset intoQMULT88;;character set.PLOQ}> PLOPCOPCNT;;Zero copy count,O>5CHARSET;;get infoPLO;;from char set.QLO,O>4CHARSETP}LO DCOPNUM #LOCOPNUM%COPCNTQ@LO7;;Get character%>;;image byte.P@DESTLO7;;To screen...#COPCNT;;}Next char byte.QCOPCNT;;Are all 8 bytesR>;;in char moved?FFINISH;;Ya!QDESTLO;;Add 20 bytes to,;;point to }next O>;;line on screen. PDESTLO DCOPNUM#DESTLO  HCOPNUM%FINISH:;;All done!*YPOS == ==, }%=-=5===E- M=U/X;----------------------4X;Character Set for Maze9X;----------------------> CHARSETC ==}===E =H =====J =M ==?===O =R =====T =W ====}=?Y =\ W=====^ W=Wa =====c =f =====h =kMULTI = ==!}=,m 7=BpMULT8 ==== r (=0=8=@uX;--------------zX;Sound RoutinesX;--------------THUMPQ>F;;Pi}tch for THUMP PAUDF1Q>;;THUMP volume. PVOLUM1Q>;;THMP distortion PTONEQSTICK0;;Load joystickPOLDST}K;;and save.TH1 MVCHK;;Patrol move...QOLDSTK;;Stick changedRSTICK0;;direction yet?FTH1;;No, check again:}RAZZQ>;;Pitch for TURN PAUDF1Q>;;Volume for TURN PVOLUM1Q> ;;TURN distortion PTONE:$X;-----------}--------------------$X;Move newly drawn maze to screen$X;-------------------------------MOVEQ>4SCREEN;;MOVE source}PLO Q>5SCREEN PLO Q>4DISP;;MOVE dstination PDESTLO Q>5DISPPDESTLOQLO$,)O>P.PLO3DMB8} #LO= MB%>BQ>YG PTEMPL$> QM0Q@LO7;;Get FROM byteVP@DESTLO7;;and MOVE it![3`)>;;Line finished?e} HM0;;No!j%>oQLO;;Point SOURCE tot,;;next line.yO>~PLODM1 #LOM1QDESTLO;;Point DEST. to,;;n}ext line.O>( PDESTLODM2#DESTLO M2"TEMPQTEMP;;Any lines left? R>;;HM0;;Yes,do it again:;;}Nope, done! X;--------------------------- X;Clear Screen/Memory Routine X;---------------------------CLSCNQ>;;Sta}rt clearingPLO;;at $8900Q>PLO LX2%>Q>;;Erase BYTE LX1P@LO73)>HLX1 #LO  QLO}R>;;At $A000 yet?HLX2;;No,more to copy :;;Done! POSITIONQH;;Get X & Y cords#PPLOTX;;and store them.(QV}- PPLOTY2Q>;;Dark Grey color7 PCOLOR<$>AQ>;;Store screenFPMTEMP;;address of mazeKQ>;;in MTEMP.P PMTE}MPU%DIRECTIONZ PO1&XTMP_QDIRECTIONdR>;;The rest ofiFPLEFT;;this routinenR>;;draws the mazesFPLEFT;;}on the rightxA;;of the screen.},O> >PLEFTQLEFT9R> HPO1A QDRAW2X8> "PLOTX9 PLOTCL #PLO}TX9PO1A$XTMPQDIRECTIONR> FPRIGHTR> FPRIGHTA,O> >PRIGHTQLEFT9R> HPO1B QD}RAW2X8> #PLOTX9 PLOTCL  "PLOTX9PO1B$XTMP QCENTER9R>FPO2",' QDRAWX8,>1 QPLOTX96 ODRAWY8}; PPLOTX9@ $XTMPE2J(>OHPO1T:YPO2 PLOTCL^:cX;-----------------------hX;Plot CalculatormX;Adapted fr}om Retrofire!rX;-----------------------wPLOTCL5;;Save accum.|A;;Save X register5C;;Save Y Register5 QPLOTY}T?PLOQ>U?PLO;;*2TLOULO;;*4TLOQLO PDESTLO ULO QLOPDESTLO;;*8}TLOULO;;*16TLOULO;;*32QLO, ODESTLOPLO QLOODESTLO PLO QMTEMP;;Add the d}isplay,;;address to getO> ;;the actual,;;address of the!OLO;;byte that will&PLO;;be altered for+QMTEMP;};the plot.0 OLO5 PLO:QPLOTX;;Mask PLOTX for?M>;;plot index.D>IQPLOTX;;Get PLOTX andN V?;;divideS V?;;}by 4.X,;;Add to plot]OLO;;address forbPLO;;final plotgQLO;;address.lO>q PLOv%COLOR;;Get color{QB}MASK29;;and mask offMCOLRS8;;pixel position.PHOLD;;Save it.QBMASK19;;Mask off pixel%>;;of the addressM@L}O7;;to be altered.LHOLD;;Set the plotP@LO7;;bits and store!7?;;Restore Y Reg7>;;Restore X Reg7;;Restor}e accum:;;Finished!COLRS =U==BMASK1 ?===BMASK2 =0= =X;---------------X;Screen Displa}ysX;--------------- BOTTOM A  A A Compass A A |Time Elapsed| A A } A A | 0:00:00.00 | A A North A A  A A  A} A A A West   East A A A A  A A } A A South A ESCTXT  A CongratulationA As Pathfinder!! A A }A A A A >You have escapeA Ad the Labyrinth< A A A A } A  A Your time waA" As 0:00:00.00 A% A A' A A* A} Press A, A to Restart A/ CAPTXT4 A You have beA6 Aen captured A9 A } A; A A> A You will be disA@ Aposed of at the AC A next time convAE A}ienent for you AH A Your time waAJ As 0:00:00.00 AM A AO A } AR A Press AT A to Restart AWDIRCHAR ====\OFFSETT =E=l==naX;---------}------------fX;Random Maze GeneratorkX;---------------------p GENMZEQMTEMP;;This routine,uPLO;;taken from azQMTE}MP;;BASIC routine,PLO;;generates a$>;;maze with onlyL0%>;;one correctQ>;;path to theMLOOPP@LO7};;exit.3)>1 HMLOOPQ> P@LO7,QLOO>2PLODL2 #LOL22(>#HL0LINE20Q> P}DESTLOLINE30QMTEMPPLO QMTEMP PLO,QLOO>5;; Start gen here PLO DLINE50 #LOLINE}50%>Q>$ P@LO7)LINE60QRANDOM.M>3PJ8QJ=;BS>G ELINE60L LINE70QJQ PTEMPVLINE80QLO[ PDES}TLO` QLOePDESTLOjQJoR>t HLINE801y,~ QDESTLOO> PDESTLO DLINE90#DESTLO !LINE90}LINE801QJR> HLINE802; QDESTLOS>d PDESTLO ELINE90"DESTLO !LINE90LINE802QJR> HL}INE803; QDESTLOS> PDESTLO ELINE90"DESTLO !LINE90LINE803QJR>  HLINE90, QDESTLO}O>d PDESTLO# DLINE90(#DESTLO-LINE90%>2 Q@DESTLO77R>< HLINE100AQJF,KO>P%>UR>Z HLIN }E90A_Q> dLINE90AP@DESTLO7i LINE200n%>sQ> x P@LO7} QDESTLOPLOQDESTLO PLO !LINE60L }INE100QJR> HLINE101AQ>PJ !LINE110LINE101A#JLINE110QJ RTEMP FLINE110A !LINE80LINE1 }10A%>LINE120Q@LO7PJLINE130Q>  P@LO7QJ;S> ELINE210"J$J QNEWJ9 PJ LINE200 } LINE200 !LINE60LINE200QJ"R>' HLINE2001,,1QLO6O>;PLO@ DLINE210E #LOJ !LINE210OLINE200 }1QJTR>Y HLINE2002^;cQLOhS>2mPLOr ELINE210w "LO| !LINE210LINE2002QJR> HLINE2003; }QLOS>PLO ELINE210 "LO !LINE210LINE2003QJR> HLINE210,QLOO>2PLO DLINE210 } #LO LINE210:COPCEN$>COP2QCENTER9 PCENTER292(> HCOP2:X;------------------------- X;Mi }scellaneous Data TablesX;-------------------------NEWJ ===TABLE ===!TABLE2 ===&WHICH } ===+DRAWY ====0DRAWX ====5DRAW2X ====:YVAL ====?COMP  == }== DHARGO n=n=n=nF z=ISARGO ====NBARGO =~=<==SONARG T=\=d=l=tXOFARG == }==z]#X;------------------------------b#X;Escape from Maze/Death Routineg#X;------------------------------lESCAPEQ>4 }ESCTXT;;PrintqPTEXTB;;"Escape fromvQ>5ESCTXT;;Maze" text at{PTEXTB;;screen bottom.PDESTLOEX1QTEXTB }PDESTLO QTEXTB,;;Point DESTLO toO>;;proper place onPDESTLO;;screen to printDEX2;;final time.#D }ESTLO EX2$>QCENTER2;;Check if playerR>E;;is dead.FEX3;;yep...EX21Q>;;Turn of timer. PFLAGQ> };;Quadruple PlayerPSIZEP0;;Width forPSIZEP1;;Players 0 & 1. PL1CL$>Q>;;Display PlayersEX252;;on bot }tom 1/3rdPPMG9;;of screen. PPMG9(> HEX25Q> ;;Display playersPHPOSP0;;in left and Q>;;right } margin ofPHPOSP0;;the screen.$>EX3QSEC19;;Print elapsed ,;;time, one%O>;;character at a*%YVAL9;;ti }me in proper/P@DESTLO7;;space at the42;;bottom of the9(>;;screen.>HEX3C!ES1QCENTER2;;Are Patroller &HR>E;;p }layer together?MFES2;;YES...Captured!RQRANDOM;;Not Captured...WPCOLPM0;;Change PM Colors\PCOLPM1;;for victorya# }HOLD;;display.f!ES2QSTRIG0;;Trigger Pressed?kR>pFES1;;Nope...u!i;;Yes...Restart!zTOP A labyrinths } A A A A The Ultimate 3-DA A Maze Adventure A A (C) 1987 ArgoSA Aoft Pro }ductions A A A A A MAZEgX;--------------------------X;Pa }troller Movement RoutineX;--------------------------?BEGINQCH;;[ESC] pressed?R>HBEG1;;Nope...!i;;Ye }s...Restart!BEG1QCDTMV4;;Timer countedR>;;down to 0 yet?FB15;;Yes...!RET2;;Nope...B15Q>;;Reset Timer. } PCDTMV4 $MNUMQ>;;Erase patrollerPCOLOR;;position on maze EDOT;;drawing.B2QDIRECTION;;Save playerP }DIRTMP;;direction.$MNUM;;Which patroller?QDIR29;;Get its dirction PDIRECTION;;and store it!QV29;;Get "Y" Coor }d.?;;and put it in Y.QH29;;Get "X" Coord.>;;and put it in X.$Q> ;;Put "Space" in)PPAT;;patroller pos.. PUT }PT;;in memory maze.3$MNUM;;Which patroller?8QV29;;Transfer the=?;;"X" and "Y"BQH29;;coords again.G>L START;;G }et local walls.Q$MNUM;;Which patroller?VQDIRTMP;;Transfer temp.[PDIRECTION;;back to orig.`QCENTER;;Space in fr }onteR> ;;of patroller?jHTURN;;Nope. Turno ?LINE1401;;Ya. Staight.tRET$MNUM;;Get patroller #.yQ>;;White color } for~PCOLOR;;plot.#MNUM;;Point next one.%MNUM;;Check to see if1;;all patrollers)DIFLEV;;have moved.FB15 }X;;Yep... EDOT;;Nope. Replot.!B15;;Next move...B15XQ>;;Reset patrollerPMNUM;;number.RET2Q>E;;Replot al }lPPAT;;patrollers$MNUM;;in memory maze.(DIFLEV;;All ploted?FRET3;;Yep...QV29;;Get "X" coord ?;;andQ !}H29;;"Y" coordinate >;;and PUTPT;;print in maze/ #MNUMRDIFLEV;;All ploted?HRET2;;Nope...RET3Q>;;Reset "}Patroller# PMNUM:;;Back to program!!TURNQRANDOM;;Get a random #., O>;;If number>128,DPTR;;turn right. #}PTLQLEFT;;Is there a wallR>;;to the left?FPTL1;;Yep. Right turn.#!TLEFT;;Nope. Left turn.( PTL1QRIGHT;;Is th $}ere a wall-R>;;to the right?2FRNDTURN;;Ya. Random turn.7!TRIGHT;;No. Right turn.<PTRQRIGHT;;Is there a wallAR %}>;;to the right?FFPTR1;;Yep. Left turn.K!TRIGHT;;No. Right turn.PPTR1QLEFT;;Is there a wallUR>;;to the left?Z &}FRNDTURN;;Ya. Random turn._!TLEFT;;No. Turn left.d"RNDTURNQRANDOM;;Get Random #.i,nO>;;If <128 thensDTRIGHT '};;turn right.xTLEFTQDIR29;;Load current}?;;direction ofQLTDIR8;;patroller andPDIR29;;change with!RET;;new v (}alue.LTDIR ====TRIGHTQDIR29;;Load current?;;direction ofQRTDIR8;;patroller andPDIR29;;change wi )}th!RET;;new value.RTDIR ====EDOTQH29;;Get "X" and "Y"PPLOTX;;coords fromQV29;;patroller. PP *}LOTYQ>;;Set MTEMP toPMTEMP;;point to mazeQ>;;on screen PMTEMPQTIME;;What time is it?R>;;Daytime? +}HED01;;Nope... PLOTCL;;Yes, plot point. ED01:!?LINE1401$MNUM;;Patroller #.QDIR29;;Find direction>;;its ,}moving.0 Q?WHICH9;;Add to Horiz,;;or vert.OMNUM;;Offset to ?;;proper,;;patroller #."QH28;;Add or Subtrct -}'O?TABLE9;;from horiz or,PH28;;vert.1:6?TABLE ===;?WHICH ===@SPOS =0=0==0B A AE .} ="===G AAJ ====L AAOPUTPTQ>4MAZE;;Copy mazeTPMTEMP;;address toYQ>5MAZE;;MTEMP^ PM /}TEMPc?S01;;Decrease "Y"h)>;;until zero tomF?S1;;find vert pos.rQ>2;;Add maze width.w ADD|!?S0?S1A;; 0}Add horiz val. ADD%>QPAT;;StoreP@MTEMP7;;plot/erase :;;here.$X;-------------------------------$X;Title 1} Page and Option Selection$X;-------------------------------iQ>@;;Disable DLIs. PNMIENQ>;;Turn off Screen 2} PDMACTLPAUDC1;;and sounds.$>&SIZEP0;;Zero P/M sizes. &SIZEP1SUB3PCENTER29;;Erase2;;CENTER2.(> 3} HSUB3&HPOSP0;;Position PM0 &&HPOSP1;;PM1 off screen.$>SUB4QSPOS9;;Reset PH29;;Patrollers' 2;;star 4}ting (>;;positions. HSUB4 Q>;;Turn off timer. PFLAG! Q>;;Zero Dummy and& PDUMMY;;pointer+ PPOINTER0 !? 5}DLINIT;;Init.5 X;--------------: X;Title Page DLI? X;--------------D ?DLI5;;Save AccumulatorI AN 5;;Save X registerS  6}CX 5;;Save Y register] QPOINTER;;Which DLI?b R>g H?DLOOP2l $>q ?DLOOP1&COLPF0;;Shade linev 2;;in 16 shades{ P 7}WSYNC;;of blue (> H?DLOOP1 !?DRTS ?DLOOP2R>;;2nd DLI? F?DLOOP25 R>;;3rd DLI? H?DLOOP5 ?DLOOP25$> 8};;2nd DLI... ?DLOOP3&COLPF0;;Shade 2;;in 8 colors 2;;of grey. PWSYNC (> H?DLOOP3 !?DRTS !?DLOOP5%DU 9}MMY;;Change colors Q?COLORS8;;on bottom PCOLPF2;;of titles. #DUMMY QDUMMY;;All colors R>;;displayed? H?DRT :}S;;nope.. Q>;;Set color pntr PDUMMY;;to start color. ?DRTS#POINTER QPOINTER;;All DLIs!R> ;;done?!H?DR1;;N ;}ope... !Q>;;Set pointer!PPOINTER;;to 1st DLI.!?DR17;;Restore Y Reg!? !7;;Restore X Reg%!>*!7;;Restore A/!94!X <};-------------------------9!X;Title Page Initialization>!X;-------------------------C! ?DLINITQ>?DLIST;;Set D/LH!PSD =}LSTL;;address toM!Q>?DLIST;;pointer.R!PSDLSTLW!Q>?DLI;;Set DLI\!PVDSLST;;addressa!Q>?DLI;;to pointer. >}f!PVDSLSTk!Q>;;Enable DLIs.p! PNMIENu!Q>z!PCOLOR2;;Black Background!Q>";;Turn on Screen!PSDMCTL;;Display. ?}!QTIME;;Load time and!!E4;;print it.!PLV%DIFLEV;;Load dificulty!$>;;level.!QPOINT8;;Get offset!?;;pointer. @}! PLV1QLEVELS8;;Get Character!R>[;;My EOL Char?!FEND;;Ya...!PPRINT19;;Nope print!3;;character.!2;;Inc POINTER A}S.!!PLV1;;Print next.!ENDQDIFLEV!,;;Print level #!O>;;in proper spot!PPRINT2;;of screen.! QCONSOL!R>;;S B}ELECT pressd?! HEND1!Q>;;Yes...Set flag! PHOLD!!E3;;Beep!!END1R>;;OPTION pressd?"FE3;;Beep!"R>;;START C}Pressed? "HEND;;nope..."Q>;;Zero last key"PCH;;pressed and"Q>;;flags." PFLAG$" PHOLD)"!x;;Main program!." D}E3Q>03"PAUDF1;;Frequency8"Q>;;Store volume="PCDTMV3;;in timer.B"E1QCDTMV3;;Add an offsetG",;;to timer forL"O> E};;note volume.Q" PAUDC1V"R>["HE1`" PAUDC1e"QHOLD;;SELECT pressed?j"R>o"FE5;;Nope...t"Q>y" PHOLD~"#TIME;;T F}oggle between"QTIME;;Day and Night"R>;;TIME=0 ; Daytime"HE4;;TIME=1 ; Night"Q>" PTIME"E4?"$>"QTPOIN G}T8;;Get offset for"?;;Time Print"PLV3QTPRINT8;;Print until"R>[;;My EOL" HPLV4"!PLV"PLV4PPRINT39"3"2" ! H}PLV3"E5#DIFLEV;;Increase"QDIFLEV;;difficulty"R>;;level (0-6)" FPLV5"!PLV;;and print it." PLV5Q>" PDIFL I}EV"!PLV#X;-----------------------#X;Title Page Display List #X;-----------------------#?DLIST p=p=p# B# T J}EXT# ==== # ==## p==p==p=$# p=====%# p=p====(# ==A-# ?DLIST2#"X;- K}----------------------------7#"X;Title Page and Selection Data<#"X;-----------------------------A#TEXTF# A ArgoSoft S L}oftwaAG# Are Productions AH# A Proudly AI# APresents AJ# A LABYRINAK# ATHS THE M} ULTIMAAL# ATE 3-D MAZE ADVEAM# ANTURE A.NAN# A.A.L.O.G. ComputingAP# A PrograAR# Ammed N} By Steven LashAT# AowerAU# A (C) 1987 ArgoSAW# Aoft Software ProductAY# AionsAZ# A Number of ArgonA\# A O}ian Patrollers->0A_# A You Will AtteAa# Ampt A Ab# AEscapeAd# A DifficAf# Aulty Level P}- Ai# A DaytimAk# Ae or Nightime Al# AEscape An# A Enter tAp# Ahe Labyrinth Q}Ar# A As#?COLORS ===u# =x#LEVELS ABeginnerEasy Ay# AModerateHard TAz# ArivialSadisticIns R}aA{# Ane A}#POINT = ==# $=,=5#TPRINT ADaylightA# ANightimeA#TPOINT = ## iisticInstxx/ *\ ō/A~~<x \2 }LzHH膓  T}Lx ЩЦN|Lx`|Ѝ膓Щ Щhh@ɟƻLb<攢$ U}xyiƚeҢEɠLb)н/н>t94tĝLb\ V} |zLmy |z. |zi zȱȱ襎 z`. z8 |zȱȱ襎 |z` W}@yz z |z ze |z` z |ze zթ z X}ee |z˩ z`e`8叅ƅ` ey Lr|ɠLr|}zE ݔz Y}+{褟оUz{ ~摥 ɠL#{L#{ ~L|ʥ 8内LU{eȘ Z}iTU L{ |L{{L{{ ~ н` [}{|  \} D|I|UʅTTT脉L| |T ~ Ƌ UL| … ]}! Fui|}iJu8逼蘿>/ ~ ey xx( E LCL ^}p}ʽ }L} + E LC L}ʽ }L}  搥 L}L} ƐL} }Lz _} ~8` o}~40~1xYԩ Ѝ ЩhЩtТtuvwpԩ`ppF `} 0NpBA4~ g赥Ō a}ō`q~~EߩLOV~&&iiP&&eeeUi 惤ii b}b恤梥 i` %-5=EMU??WWWÁ !,7B c}(08@Fҩx ~x`ҩ `ۀPiP恠Y i恥i(Ə d}`恥ɠ` i ɠ ֠ € i ɠ  €֠ e}ɠyС` €`HHH *&&܀ׁ&&eei ee)JJei f}=9591hhh`U?0 QRRRRRRRRRRRRE#ompass|4ime%lapsed|| g}|.orthZRRRRRRRRRRRRC؁ӂ\7est^_%ast q}HB%DOS SYSB*)DUP SYSBSLABYRNTHM65B+SLABYRNTHOBJB%MAGAZINELNSBfPRESENT BASBRAMINIT BASBRAMINIT M65BH(UPEDITORACTBpUPSET A ]3outh#ongratulations0athfinder r}9ouhaveescapedthe,abyrinthԂσ9ourtim s}ewas0ressִto2estart9ouhavebee t}ncaptured9ouwillbЃ˄edisposedofatthenexttimeconvie u}nentforyou9ourtimewas0ressִto2 v}estartEln1i2#īDž5恠 )8򥙅 w}i>L@8d*ƃL@8ƃL@ id惠ɠ#i Lل x}Lz晥ŏL넠 8_ƙ Lلi>L󅥙82ȅÆ*ƁL󅥙8ƁL󅥙  y}i2``   nnnnz~<T\dltzY~~~~i惢E* z}Ѝ ~tu ЩТiE ҍЍ柭LilabĆ[yrinths {}4he5ltimate $-aze!dventure# !rgo3oft0roductionsg |}gLiLjg g +h ey : g潤Ŀ gLgE }}+hſ` iɠLgɠLgɠLgɠLg igLQggLQg €` ~}gJhhe}h`000 "\2 |zL3h |z`ii@ԩԍҢЎ ЕЎ }hLiHHH Li LiLl摥 hhh@[0j1 };iԩ"/L0jlRl[kLiikLjijLx0ҩiɠ }ҥ)曥ll[LikL7j濥LiLipppBjppppppA[j!rgo3oft3oftwar }e0roductions0roudly0resents,!"92).4(34(%5,4)-!4% $jk-!:%!$6%.452% }!.!,/'#omputing0rogrammed"y3teven,ashower# !rgo3oft3oftware0roductions.um }berof!rgonian0atrollers 9ou7ill!ttempt!%scape֯$ifficulty,evel klֳ }$aytimeor.ightime%scapeֳ%nterthe,abyrinth²"eginner[%asy[-oderate[(ard[4rivial[3ad }istic[)nsane[ $,5$aylight[.ightime[ ithe,abyrinth²"eginner[%asy[-oderate[(ard[4rivial[3ad 050 A$="Jo!b!dbcjo":W=N6:RETURN 60 A$="Jo!uif!gspou!zbse":N=N7:W=N8:RETURN 70 A$="Jo!b!gjfme":S=N6:RETURN 80 A$="Jo!b!gpsft}u":N=N9:S=N8:E=N6:W=N9:RETURN 90 A$="Jo!b!gpsftu":N=N8:S=N8:E=N9:W=N10:RETURN 100 A$="Cftjef!b!ijmm":E=N9:RETURN 110 A$="J}o!b!dbwf":E=N10:RETURN 120 A$="Jotjef!uif!tife":W=N7:RETURN 6302 IF IN$<>"EJBM!45.65.38" OR I(N3) OR R<>N5 THEN 63046303 A}$="Uif!dpncjobujpo!xpslt/":I(N3)=-5:UL=N1:GOTO N9506304 IF IN$<>"EJH!HSPVOE" OR I(N15) OR R<>N11 OR I(N6)<>-N1 THEN 6306630}5 A$="Zpv!ejh!tpnfuijoh!vq=":I(N15)=-11:UL=N1:GOTO N9506306 IF IN$="EJH!HSPVOE" AND R=N11 AND NOT I(N15) THEN A$="Zpv!offe!}tpnfuijoh/":GOTO N9506502 IF IN$<>"GJMM!MBOUFSO" OR I(N2)<>-N1 OR I(N10)<>-N1 OR I(N20)<>N0 THEN 65046503 I(20)=-N1:I(N2)=N}0:UL=N1:A$="Plbz-!ju(t!gvmm/":GOTO N9506504 IF IN$="GJMM!MBOUFSO" AND (I(N2)<>-N1 OR I(N10)<>-N1) THEN A$="Opu!zfu/":GOTO N9}506602 IF IN$="HP!TIFE" AND R=N7 AND ABS(I(N18))=R THEN A$="Plbz":R=N12:UL=N1:GOTO N9506604 IF IN$="HP!TIFE" AND R=7 THEN A}$="Ju(t!dmptfe!vq!ujhiu/":GOTO N9506606 IF IN$="HP!DBWF" AND R=N10 AND ABS(I(N14))=R THEN A$="Plbz":R=N11:UL=N1:GOTO N95066}08 IF IN$="HP!DBWF" AND R=10 THEN A$="Zpv!dbo(u!ep!uibu!zfu/":GOTO N9507102 IF IN$="MPPL!QBSSPU" AND R=N5 THEN A$="Ju!mpplt!}mjlf!b!qbsspu/":GOTO N9507104 IF IN$="MPPL!DBCJOFU" AND R=N5 THEN A$="Ju!ibt!b!mpdl/":GOTO N9507106 IF IN$="MPPL!MPDL" AND }R=N5 THEN A$="Ju(t!b!dpncjobujpo!mpdl/":GOTO N9507108 IF IN$="MPPL!TIFE" AND R=N7 AND ABS(I(N19))=R THEN A$="Tpnfpof!cpbsefe}!ju!vq/":GOTO N9507110 IF IN$="MPPL!MBOUFSO" AND I(N2)=-N1 THEN A$="Ju!offet!gjmmjoh/":GOTO N9507112 IF IN$="MPPL!MBOUFSO" }THEN A$="Zpv!epo(u!ibwf!ju/":GOTO N9507114 IF IN$="MPPL!LFSPTFOF" AND I(N10)=-N1 THEN A$="Mbcfm;!GPS!MBOUFSOT":GOTO N950711}6 IF IN$="MPPL!LFSPTFOF" THEN A$="Zpv!ibwf!up!ibwf!ju!gjstu":GOTO N9507118 IF IN$="MPPL!EPPS" AND R=N7 AND ABS(I(N19))=R THE}N A$="Uifsf(t!b!cpbse!pwfs!ju/":GOTO N9507120 IF IN$="MPPL!SVCCMF" AND R=N10 THEN A$="Uifsf(t!tpnf!cpvmefst/":GOTO N9507122} IF IN$="MPPL!DBWF" AND R=N11 THEN A$="Uif!hspvoe(t!ejtuvscfe/":GOTO N9507124 IF IN$<>"MJHIU!MBOUFSO" OR I(N20)<>-N1 OR I(N4})<>-N1 OR I(N21)<>N0 THEN 71267125 I(21)=-N1:I(N20)=N0:UL=N1:A$="Zpv!mjhiu!uif!mboufso/":GOTO N9507126 IF IN$="MJHIU!MBOUFS}O" AND (I(N20)<>-N1 OR I(N4)<>-N1) THEN A$="Zpv!offe!tpnfuijoh!npsf/":GOTO N9507128 IF IN$="MPPL!DIFTU" AND R=N11 AND I(N21)}=-N1 THEN A$="Zpv!gpvoe!uif!nbhb{joft=":GOTO 130007130 IF IN$="MPPL!DIFTU" AND R=11 THEN A$="Zpv!dbo(u!rvjuf!tff///":GOTO N9}507402 IF IN$<>"PQFO!DBCJOFU" OR I(N2) OR R<>N5 OR ABS(I(N3))<>R THEN 74047403 A$="Uifsf(t!tpnfuijoh!jotjef=":I(N2)=5:UL=N1}:GOTO N9507404 IF IN$="PQFO!DBCJOFU" AND R=N5 AND NOT I(N2) THEN A$="Ju(t!mpdlfe!vq/":GOTO N9507702 IF IN$<>"SBLF!MFBWFT" }OR I(N6) OR R<>N6 OR I(N9)<>-N1 THEN 77047703 A$="Uifsf(t!tpnfuijoh!ifsf/":I(N6)=6:UL=N1:GOTO N9507704 IF IN$="SBLF!MFBWFT"} AND R=N6 AND NOT I(N6) THEN A$="Zpv!dbo(u///zfu/":GOTO N9507706 IF IN$<>"SFNPWF!CPBSE" OR I(N11)<>-N1 OR I(N18)<>N0 OR R<>}N7 THEN 77087707 I(18)=-R:I(N19)=N0:UL=N1:A$="///xjui!uif!ujsf!jspo/":GOTO N9507708 IF IN$="SFNPWF!CPBSE" AND I(N11)<>-N1 T}HEN A$="Opu!opx/":GOTO N9507802 IF IN$<>"TNBTI!CPVMEFS" OR I(N14) OR R<>N10 OR I(N8)<>-N1 THEN 78047803 A$="Zpv!tnbti!ju!up}!qfccmft=":I(N14)=10:UL=N1:GOTO N9507804 IF IN$="TNBTI!CPVMEFS" AND R=N10 AND NOT I(N14) THEN A$="Zpv!dbo(u///bu!uif!npnfou}":GOTO N9507902 IF IN$="UBML!QBSSPU" AND R=N5 THEN A$="If!tbzt-(Ejbm!45.65.38(":GOTO N95010060 NN=25:NV=14:SI=0:L=28610130} INTRO$(1)="Somewhere out in the wilds, a chest of old ANALOG Magazines has been hi"10131 INTRO$(79)="dden. These co}llector's items are just what you need to round out your coll"10132 INTRO$(157)="ection, something you've been trying }to do for years. If you can find t"10133 INTRO$(235)="hem, you'll be the envy of the entire neighborhood! } "10200 IT$="QBSMBOPQFNBUMFBTIPTIFTMFSBLLFSUJSCPVTNBDBWDIFDBCMPDPMECPBGVMMJU45.SVCEPPHSP"10210 VB$(N1)="HFUESPMPP}UBMPQFEJBSBL!!!TNBEJHSFNHP!MJHGJM"12001 DATA QBSSPU,-512002 DATA MBOUFSO,012003 DATA PQFO!MPDL,012004 DATA NBUDIFT,51200}5 DATA MFBWFT,-612006 DATA TIPWFM,012007 DATA TIFE,-712008 DATA TMFEHFIBNNFS,1212009 DATA SBLF,1212010 DATA LFSPTFOF,12}12011 DATA UJSF!JSPO,512012 DATA CPVMEFS,-4112013 DATA TNBMM!SPDLT,012014 DATA DBWF,012015 DATA DIFTU,012016 DATA DBCJOF}U,-512017 DATA MPDL,012018 DATA PME!CPBSE,012019 DATA CPBSEFE!EPPS,-712020 DATA GVMM!MBOUFSO,012021 DATA MJU!MBOUFSO,01}2022 DATA 45.65.38,012023 DATA SVCCMF,-1012024 DATA EPPS,012025 DATA HSPVOE,012200 DATA CLAYTON WALNUM,magazine hunt,01y22SCRSCREENCNVDLIANTICDLISTCNDLEPADCOLRLINENCHARSMODMARKETEXTSPSTARNENADFILENAMEFNHL}SHINSCSCRFLCURLINLINESDFLAPTSDISEDISFFILESCR1DLRAMTODLADIHORZVERTDCCCCCCB} eeAA A e@@$ @3A ( PPA   @@$@AUPRh}PPAa@$ABh(PA@"@ AA!L }"#$%&'(d)*+P,-.A`/#01"!}!2Y!vv34B$5@6@7@8@9@:@ PRESENT##PRESENTATION GRAPHICS PROGRAM}BY JEFFREY A SUMMERS(2c Bn67B:,,. x6-?:C:,:,!% 6-%!8,%6-&% &*@ A 067<@,.: 6-"AD }-&6-%88,, X6-%88,,&b67<,.l$*A'A@d*$}K:$*@A'B7tA*$G >:A%, %F:%,&(%6%@&D%@'G}$) A0+0) A 4%6-F:A`,%AV$F:Aa,4%F:%,%%@%%  } FILE--@- Enter filename to load: @- A%-7<,4:)7<,4:A}% 6.6.D:67,. A  4 A40\SUMMERS\PRESENT\A} -68,- & -"68,-& $67A H,. .T6-P:C:,'AV,*6-C:,&$AV}<AP@HARTAS/gAV'AW@;6-?:C:,<@,]6-F:AV,%AV}$F:AW,g67,.8 6- AB[' } FILE9-@@T Display screen(Y/N): }[)L@ BM> >:A%,#-@@> Press any key for menuQ&-A  A}&)V B`K# Error in file input/output.K #Please enter the filename using thej%% format :.o AtO(  Also, check to be sure device isO "turned on and able send or receiveu  the data.y  } A R( File is not compatable withR %this program. Please only load filesS, $that were created with }this program.S "B/Graph and Microillustrator filesM+ #cannot be edited and must be loadedM with the sequencing comma}nds. Press any key for menu A) BF" * No screen in memory8-A< }F B) A0+0) A B%6-F:A`,%AV$F:Aa,4%F:%,%B%@%%  } FILE;-@. Enter filename for save: ;@- A -7<,4:)7<,4:}A 0 6.6.D:67,.$ A $@ \SUMMERS\PRESENT\ - 8, } - 8,    B ! A0+! A   0"A00 };-@/ There is a screen in memory;-@ A& Do you wish to save it first?-)A"@A  }6- >:A%, !6-6-!6- B%6-F:A`,%AV$F:Aa,4%F:%,%B%@} &&  SCREEN ((Mode line thus far (  A A1 4'(Enter graphics mode for l}ine: 4@ !! )!@ A1  68,-6-% 6-%8,6-% )(Enter text for line) } A 'A6-6-&' B / --&+(8, / ! (& A0E}V" }"-@:(No Screen in MemoryH-AL V B) A0+0) A} <%6-F:A`,%AV$F:Aa,4%F:%,%<%6-'' } SCREEN(}Mode lines Text9 6-"6-'6-@3 @96-3 "6-@!6-@2- @2}36-3 "6-@3!6-@H- @H36-% -&!6-%88,,%  -( 8,2}88,, @@( 7<%88,,&,2 A@5 7<%@#,...6-%88,, ,,($olor, ext, ext Page rio}r or xit A )"@:E, B"@:T,AA "@:N,AAP"@:P,AAp}@:C,A@EG&(} COLORS)(,(?(Current ColorsG-$ ( Register & - 8,$ }Q("(Register # to change: , A@9@Q )!A@?( New value: !@? })!AUAAe68%,-(6(Change another register?(Y/N): @ AG)e@x*@AA }"@A@ A@G A@:('Enter number of line to edit text: G@$ Old text6-}$"AA$ -&6-%88,, 088,,!@8& 7<%@6,0 AA% 7<%88,,&, 6-8}, New text" A, A@6 @A@7 @36- A@8 "6-9"}6-: A@@ A@J# 6-& #6-O A@) A0+0) A }N6-16-F:A`,%AV$F:Aa,@%F:%,%N%@46-67,. +67A,. 467},.((  } SEQUENCE2-@%(Enter filename: 2@67$@ %,.!!( }Any more files? (Y/N):  )'"@:Y, >:,6-%' AP@:N,AP1 >:,$$( Automatic o}r Cued? (A/C):  )"@:C, >:, AP@:A,APU >:,d APp0( Delay before star}ting load ofI( following screen: V@d6-$A%%( Repeat sequence endlessly?  )%%+@},*+@x,AP >:, -% AS0:6.7+&,$@ %,:7<,4:)7<,4:AQ} 6.6.D:67,.* *0\SUMMERS\PRESENT\AT -68,-  } -68,-  67A H,. *6-P:C:,'AV,*6-C:,&AV$eAP@!A}R-AS?AVQAW@e6-?:C:,<@,/%6-F:AV,%AV$F:AW,/67,. } A(67B:,,. 26-?:C:,:,I 117<,0>:AU,)7<,0>:A(,AU"KAY}+6-$AV&AW9-AG%@:7,,K #[A`#Aa&5@I@&@}1[AY@4,1-@@-A%@:7<,,1 66-@:7@<@,,; 6-?:C:,,@} "6-?:C:,,J A AS|?6.7+&,$@ %,?7<,4:)7<,4:AU}! 6.6.D:!6}7@,.&AY&e096-F:A`,%AV$F:Aa,V-AA}6@e%F:%&,9 %A@/%A@9 A < A)A}0<A WAP@'AR3ASEAVAWAW6-?:C:,<@},cAP@*ARF:@,?ASF:@,QAVcAW@1AY@4}6-?:C:,<@, A ASp/ A0+%0@/ A qB%6-F:A`,%AV$F:Aa},4%F:%,%B%@r&&  SCREENuU"!-@@9 No screen in memo}ryG-AK U Bz0-@@0 Press any key for menu0-A  A&)0 B}X/ A0+%0@/ A YB%6-F:A`,%AV$F:Aa,4%F:%,%B%@]((  } DIRECTORYb) Ar)D:*.*l2 Aq) "AU(  2 Ap q } >:, Ap / ( Press any key for menu /) B R) !Cannot open drive one's directoryR $Ple}ase check the drive to be sure it*J, $is on and the disk inside is in the J format of the current DOS4 Aq@/ } A0+%0@/ A A<%6-F:A`,%AV$F:Aa,4%F:%,%<%J((  } SEQUENCEK3-@3 Enter filename holding sequenceL)-@@  )@M##7<,4:})7<,4:A N 6.6.D:67,.T# A #^6- APc h(67}@ $%,.6-%( A5r A APP'U;A H,;A H,'6-C:,UP:'A@,"P:+%A H,'A}@,B';A H,;A H,'<<;@@,9@,9@,9@,;@,'GG9A,;@},9A0,9@,;@,;A H,'RR;@ ,;A,;A,;At,;@,;A,;}A,'76-@6-%6-%'6-%/6-%76-%' +@  $'  PrEnTi)'  } GrHi.'  PrRa/' 0'  from analog 1'  7'-A 8'} -"68,- 9'40,202,148,70,0B'(-@"$68,-( C'8,8,16,8,4,4,2,2,1L'(-}@"$68,-( M' 40,20,20,10,10,20,20,40,40V'K:j'+67,. 67@,. +67,.7,k'}+67,._67@,._+67,.7,t'(-@"$68,-( ~'2,6,7,8,9,10,11,13,15' B '}6.hhhLV'a67<,.pppN#6-F:A,767,.>:&@1,K-@A]67,.>:@,a 'u67A<}A,.N?67A<A,.>:&@,Y67A<A,.Au67A<A,.>:&,* + A }*<%6-F:A`,%AV$F:Aa,4%F:%,%<%*((  GRAPHICS*E%@&@%}%@'9%@(@E-@ *((  GRAPHICS+ -+(% Presentation Graphics Pro}gram(( + Select option by number:+ 0 - Exit + 1 - Load screen*+ 2 - Save Screen4+ 3 - Create scree}n>+ 4 - Edit screenH+((  5 - Create Presentation sequenceI+"" 6 - Display current screenJ+ 7 - Directory of dr}ive 1K+&& 8 - Run a pre-written sequenceR+( Select: )\+;6-&@H' )!@1 A0; B}f+GGAA A0A@APA`ApAp+, A0+)AY@4,.kk6 }7@<@,.PhhhhhhhϠ)ѱ)` 08  @ёͥi˥i̥iͥiΥ8.0067@<A, }.ϥеЯ`.kk67@<@,.PhXإY٩ԅ܅݅ޅߩեeԅ֥iץiڥiۢBHIܝD }E V.kk67@<A`,.Pޥ)ܩޥ/BHIܝDE Vܦ݆܅BH/kk67Aa }<A@,.PIߝDE Vߑ֥iP֥i0S0M*eԅ֥iץi(֥iש/kk67AA<A ,.P }&եi(`eԅ֥iץ) ϢBHI/QQ67A!<At,.6DE V8ܥ}ݥΥʥ ߅ܩ݅&/kk67@<@,.PhXإY٩܅݅ޅߩ؅֥مץiڥiۢBHIܝD}E Vޥ0/kk67@<A`,.P)ܩޥ/BHIܝDE Vܦ݆܅BHIߝD:/}kk67Aa<A@,.PE Vߑ֥i֥i00`) ѢBHIߝDD/LL67AA<A},.1E V8ܥݥΥʥ ߅ܩ݅2$ D:PRESENT.BASTEST DD/LL67AA<Acd..@@ D:RAMINIT.COM-@A ,"*@ }'@'(}RAMINIT.COM CREATEDUU255,255,0,6,207,6,169,0,133,19,133,20,169,14,133,85,169,8,133,84,141,72,3,169,0}VV141,73,3,170,169,200,141,68,3,169,6,141,69,3,169,11,141,66,3,32,86,228,173,1,211__133,206,169,235,141,1,211,169,0,13}3,203,169,116,133,204,160,0,185,195,6,145,203,200,192,5dd208,246,169,0,145,203,200,192,10,208,249,169,15,145,203,200,169,}255,145,203,200,192,55,208,249dd169,0,145,203,200,169,127,145,203,200,169,255,145,203,200,192,74,208,249,169,0,145,203,20}0,192bb128,208,249,152,24,101,203,133,203,165,204,105,0,133,204,162,4,169,0,168,145,203,200,208,251ZZ230,204,202,208,}245,165,206,141,1,211,173,10,7,9,128,141,10,7,32,224,7,165,20,201,64UU144,250,162,0,142,68,3,142,69,3,142,72,3,142,73,3,1}69,11,141,66,3,169,125,76,86GG228,2,243,1,243,1,160,210,193,205,201,206,201,212,226,2,227,2,0,6 D:RAMINIT.BAS,3,1ydX; RAMDISK.COM WITHOUTnX; MEM.SAV, DUP.SYSxX; ROWCRST COLCRSU ICCOMB ICPTB ICBALD I}CBAHE ICBLHI ICBLLH CIOVV RAMINI Q>;;INIT,P;;CLOCK,P;;BYTES.Q>;;COLUMN ,}PCOLCRS;;FOR MSG."Q>;;ROW FOR,,PROWCRS;;MSG ALSO,6PICBLL;;LENGTH.@Q>;;LEN-HI,JPICBLH;;ALSO,T>;;IOCB NUM}.^Q>MSG;;SET MSG,hPICBAL;;ADDRESS,rQ>MSG;;IN EDITR,|PICBAH;;IOCB0.Q>ICPTB;;PUT ,PICCOM;;MESSAGE,} CIOV;;WITH CIO.Q;;STORAGE, P;;CNTL.Q>;;BANK 2P;;MEM CNTLQ>t;;VTOC LOP;;POINTERQ>t};;VTOC HIP;;POINTER%>VLOP1 ;;FIRST, QMASK8P@7;;SECTION,3& )>;;OF0 HVLOP1:Q>;;VTOC,D VL }OP2 N P@7;;IN,X3b)> ;;DATA,lHVLOP2;;MASK.vQ>P@73Q>VLOP3 ;;FREE,P@7;;SECTORS.3)>!}7 HVLOP3Q>;;DIR.,P@7;;AND, 3;;VTOC, Q>;;IN,P@7;;USE.3 Q>;;MORE,VLOP4 ;;MORE, P@7;;EMP"}TIES.*34)>J> HVLOP4HQ>RVLOP5 ;;FINAL,\P@7;;SEGMENT,f 3;;IN USE.p)>;;NON-EXISTz HVLOP5C;;128 IN A#},O;;POINTER, P;;AT,Q;;DIRECT.O>P$>;;X256=1024Q> DLOP1 ?;;LOOP 256 DLOP2 P@$}7;;ZERO, 3;;WHOLE,HDLOP2;;DIRECT. #;;NEXT,$ 0;;PAGE,.HDLOP1;;LOOP.8Q;;NORMAL,BP;;BANK.LQ ;;DRVBY%}TVL>;;DRIVE 8`P j ;;INIT D8:tTIMERQ;;SHORT,~R>@;;DELAY FORDTIMER;;MESSAGE.$>;;IOCB0,&ICBAL;&};SET UP,&ICBAL;;FOR PUT,&ICBLL;;ONE BYTE,&ICBLL;;ROUTINE.Q>ICPTB;;PUT BUFF,PICCOM;;COMMAND.Q>};'};CLEAR,!CIOV;;SCREEN.X;MASK ====MSG AA Q>ICPTB;;PUT BUFF,PICCOM;;COMMAND.Q>};L;UPWARD EDITOR by Greg Knauss; CHECKSUM DATA;[B4 F9 4B 46 88 45 83 FF ; 5A 0C 27 3D EC 4A 1F 34 ; 24 27 7E 19 65 C")}4 11 E8 ; 69 63 6C C8 DE AC 77 1F ; 4F 3A 10 9D 15 33 5B 6D ; 65 AD 02 5F 74 60 ]BYTE P,I,X=[1],Y=[1],S,STG=[0],SLO,SH"*}I, STC=[32],SN=[1],CLR=[32],ERR=[0], L=[1]INT X1,Y1CARD J,SCN,DL,CHBYTE ARRAY ST="D:UPSET.A"PROC DLI() ["+} 72 169 56 141 10 212 141 22 208 169 54 141 23 208 169 10 141 24 208 169 68 141 25 208 169 0 141 10 212 ",}169 0 141 26 208 169 0 141 9 212 104 64]RETURNPROC NEWLIST() [112 112 112 71 0 0 6 130 0 5 "-} 32 101 0 0 37 37 37 37 37 37 37 37 37 5 65 0 0]RETURNPROC CHSTORE() [170 170 170 170 170 170".} 170 170 85 170 170 170 170 170 170 170 0 85 170 170 170 170 170 170 0 0 85 170 170 170 170 170 0 0 "/} 0 85 170 170 170 170 0 0 0 0 85 170 170 170 0 0 0 0 0 85 170 170 0 0 0 0 0 0 85 "0}170 0 0 0 0 0 0 0 85 168 32 0 0 0 0 0 0 170 42 32 0 0 0 0 0 170 42 34 "1} 0 0 0 0 0 170 170 170 168 32 0 0 0 170 170 170 170 168 32 0 0 170 170 170 170 170 168 32 0 "2} 170 170 170 170 170 170 40 32 0 0 0 0 0 0 0 0 85 170 170 170 170 170 170 32 85 170 42 42 4"3}2 10 10 0 85 170 170 168 168 160 128 128 0 0 64 128 144 164 168 169 0 0 0 0 0 0 0 0 0"4} 0 0 0 0 0 0 0 1 2 2 6 10 26 42 106 170 42 42 10 10 2 2 2 170 168 160 128 128 128"5} 0 0 125 190 190 190 174 190 190 190 48 60 60 60 12 60 60 60 186 190 190 190 174 190 190 190 255 255 "6}255 255 255 255 255 255 255 191 191 191 175 175 171 170 255 254 254 250 250 234 170 170 170 171 175 175 191 191 255 "7}255 170 234 234 250 250 250 254 254䢠󠛠 2"8}55 195 195 195 195 195 195 255 0 63 48 63 3 3 63 0 0 60 51 51 51 51 60 0 15 15 3 63 207 2"9}07 12 60 192 204 12 240 192 192 192 240]RETURNPROC TOPSCRN() Poke(83,39) Position(0,1) Print(" *+,-./012 3456":}789; <=>ABC") Print(" DEF GHIJK ") Position(0,2) Print(" *+,-./012 3456789; <=>ABC") Print(" DEF MN ") Poke";}(83,0)RETURNPROC SETUP() Graphics(0) Poke(752,1) Poke(82,1) PrintE(" ") DL=PeekC(560) SHI=Peek(106)-32 SHI="<}=+8 SLO=0 MoveBlock(DL,NEWLIST,50) SCN=PeekC(88) J=PeekC(88) PokeC(DL+4,J) Poke(DL+12,0) Poke(DL+13,SHI) J=Pe"=}ekC(560) PokeC(DL+25,J) CH=(Peek(106)-40)*256 MoveBlock(CH+80,CHSTORE,512) Zero(CH,8) Poke(DLI+35,CH/256) PokeC(5">}12,DLI) Poke(54286,192) Poke(708,0) Poke(709,6) Poke(710,15) Poke(712,148) Zero(SHI*256+SLO,256*12+40) Print("}"?} ") PrintE(" LEVEL: 1") TOPSCRN()RETURNPROC OOPS() Poke(559,34) Position(0,1) Print(" "@}ˠҡ") Print(" Any key to continue.") I=GetD(1) ERR=1 Close(2)RETURNPROC SETNO() FOR J=1 TO 15000 DO "A}OD WHILE STrig(0)=1 DO IF Stick(0)=7 AND SN<25 THEN SN==+1 FI IF Stick(0)=11 AND SN>1 THEN SN==-1 "B} FI IF Stick(0)<>15 THEN Position(24,1) Print(" ") PrintB(SN) FI FOR J=1 TO 7000 DO OD O"C}DRETURNPROC CONFIRM() S=0 Position(31,1) Print("Y/") FOR J=1 TO 15000 DO OD WHILE STrig(0)=1 DO IF Stick(0"D})=7 THEN Position(31,1) Print("Y/") S=0 FI IF Stick(0)=11 THEN Position(31,1) Print(""E}/N") S=1 FI ODRETURNPROC SAVE() Position(0,1) Print(" Save set:") Print(" ") "F}Position(24,1) PrintB(SN) SETNO() Position(6,1) Print("Confirm: as set ") PrintB(SN) Print("?") CONFIRM()"G} IF S=0 THEN RETURN FI Poke(559,0) SHI=Peek(106)-32 SLO=0 L=1 Position(33,0) Print(" ") PrintB(L) P"H}oke(DL+12,SLO) Poke(DL+13,SHI) Close(2) Error=OOPS ERR=0 Poke(ST+9,SN+64) Open(2,ST,8,0) IF ERR=0 THEN FOR "I}J=0 TO 2999 DO S=Peek(SHI*256+J) PutD(2,S) OD Close(2) FI Poke(559,34)RETURNPROC LOAD() Positio"J}n(0,1) Print(" Load set:") Print(" ") Position(24,1) PrintB(SN) SETNO() Position(6,1) P"K}rint("Confirm: set ") PrintB(SN) Print("?") CONFIRM() IF S=0 THEN RETURN FI Poke(559,0) SHI=Peek(106)-"L}32 SLO=0 L=1 Position(33,0) Print(" ") PrintB(L) Poke(DL+12,SLO) Poke(DL+13,SHI) Error=OOPS ERR=0 Poke"M}(ST+9,SN+64) Open(2,ST,4,0) IF ERR=0 THEN FOR J=0 TO 2999 DO S=GetD(2) Poke(SHI*256+J,S) OD Close"N}(2) FI Poke(559,34)RETURNPROC CLEAR() Position(6,1) Print("Confirm: set?") Print(" ") CONFIR"O}M() IF S=1 THEN SHI=Peek(106)-32 SLO=0 L=1 Position(33,0) Print(" ") PrintB(L) Poke(DL+12,SL"P}O) Poke(DL+13,SHI) Zero(SHI*256+SLO,3000) PokeC(88,SCN) FIRETURNPROC DISK() Poke(83,39) Position(0,1) "Q} Print(" EXIT SAVE LOAD") Print(" CLEAR ") S=1 WHILE STrig(0)=1 DO IF S>1 AND Stick(0)=11 THEN "R} S==-1 FI IF S<4 AND Stick(0)=7 THEN S==+1 FI IF Stick(0)=7 OR Stick(0)=11 THEN Position(0,1)"S} Print(" EXIT SAVE") Print(" LOAD CLEAR ") FI IF S=1 THEN Position(5,1) Prin"T}t("Ԡ") FI IF S=2 THEN Position(13,1) Print("Š") FI IF S=3 THEN Position(21,1) "U} Print("Ġ") FI IF S=4 THEN Position(29,1) Print("Ҡ") FI FOR J=1 TO 5000 DO OD OD "V} FOR J=1 TO 10000 DO OD IF S=2 THEN SAVE() FI IF S=3 THEN LOAD() FI IF S=4 THEN CLEAR() FI X=38 S"W}TC=32 TOPSCRN() Position(38,2) Print("L")RETURNPROC LEV() PokeC(88,SCN) Poke(83,39) Position(33,0) Print(""X} ") PrintB(L) Poke(83,0) Poke(88,SLO) Poke(89,SHI)RETURNPROC SCROLLDN() Color=CLR Plot(X,Y) FOR S=1 TO 6"Y} DO FOR I=0 TO 15 DO Poke(54277,I) FOR J=1 TO 150 DO OD OD Poke(54277,0) SLO==+40 IF SLO<40 T"Z}HEN SHI==+1 FI Poke(DL+12,SLO) Poke(DL+13,SHI) Poke(88,SLO) Poke(89,SHI) OD L==+1 LEV() CLR"[}=Locate(X,Y)RETURNPROC SCROLLUP() Color=CLR Plot(X,Y) FOR S=1 TO 6 DO Poke(54277,15) SLO=SLO-40 IF SLO>"\}215 THEN SHI==-1 FI Poke(DL+12,SLO) Poke(DL+13,SHI) Poke(88,SLO) Poke(89,SHI) I=15 FOR P=1 "]}TO 16 DO Poke(54277,I) I==-1 FOR J=1 TO 150 DO OD OD OD L==-1 LEV() CLR=Locate(X,Y)RETURNPR"^}OC GETNPRNT() STC=GetD(1) IF STC<33 OR STC>'K THEN STC=32 FI IF STC>'F THEN STC==+128 FI Color=STC Plot"_}(X,Y) CLR=STC STG=0 IF X<39 THEN X==+1 CLR=Locate(X,Y) FI Color='L Plot(X,Y) Poke(764,255)RETURNPRO"`}C CHOOSE() Color=CLR Plot(X,Y) PokeC(88,SCN) TOPSCRN() Y=2 CLR=Locate(X,Y) Color='L Plot(X,Y) DO S=Stic"a}k(0) X1=0 IF S=11 AND X>0 THEN X1=-1 FI IF S=7 AND X<39 THEN X1=1 FI IF S<>15 AND (X1<>0 "b}OR Y1<>0) THEN S=Locate(X+X1,Y+Y1) Color=CLR Plot(X,Y) X==+X1 Color='L Plot(X,Y) CL"c}R=S FI FOR J=1 TO 2000 DO OD IF STrig(0)=0 THEN STC=CLR FOR J=1 TO 255 DO Sound(0,J,8,15-J/17"d}) OD STG=0 FI IF STC='N THEN DISK() FI UNTIL Stick(0)=13 OD TOPSCRN() Poke(88,SLO) "e}Poke(89,SHI) Y=0 CLR=Locate(X,Y) Color='L Plot(X,Y) IF STC='M THEN STG=1 STC='3 FIRETURNPROC MAIN() "f} SETUP() Poke(88,SLO) Poke(89,SHI) Color=32 For J=0 TO 8 DO P=Locate(0,J) Plot(0,J) OD FOR J=3000 TO 3079"g} DO Poke(SHI*256+J,10) OD Poke(SHI*256+2954,47) Poke(SHI*256+2955,48) Open(1,"K:",4,0) CLR=32 DO S=Stick("h}0) X1=0 Y1=0 IF (S=10 OR S=14 OR S=6) AND Y>0 THEN Y1=-1 FI IF (S=9 OR S=13 OR S=5) AND "i} Y<8 THEN Y1=1 FI IF S<12 AND S>8 AND X>0 THEN X1=-1 FI IF S<8 AND S>4 AND X<39 THEN X1"j}=1 FI IF Stick(0)=14 AND Y=0 THEN CHOOSE() FI IF (X1<>0 OR Y1<>0) AND S<>15 THEN S=Locate"k}(X+X1,Y+Y1) Color=CLR Plot(X,Y) X==+X1 Y==+Y1 CLR=S FI Color='L Plot(X,Y) IF Pe"l}ek(53279)=6 AND SLO<>80 THEN SCROLLDN() FI IF Peek(53279)=5 AND SLO<>0 THEN SCROLLUP() FI IF Peek"m}(764)<>255 THEN GETNPRNT() FI IF STrig(0)=0 AND STC<>'M THEN CLR=STC FI IF STrig(0)=0 AND STG<>0 "n}THEN STC==+STG IF STC='9 THEN STG=255 FI IF STC='3 THEN STG=1 FI FI FOR"o} J=1 TO 2000 DO OD ODRETURNC='9 THEN STG=255 FI IF STC='3 THEN STG=1 FI FI FOR  &q} $ %"" %%" #%%&r}"#%%%% %%&s}%% %% &t}#%$%%! %! #"&u} % & #" $# #%"#" %" %&v}"##%$%%%%%&w}% $ %%&x}    $ !$&y}#% #% % % % & &z}% #%"   % %  % &{} %! #%" & & & & & &%%%&|}%%%%%%%%%%%%%%%%%&}}%%%%%&~}% $%&}%$ %"%&}    $ #%! % &} #%   " # &}" #$" #% &} $%% $ ! &} #%""&#%% %%&} #% $ #%#% # &}% #%%$ &}%%!%! $}