@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 0 g 0/$ Lw `   g 0 Lw lآ/$T}   $! ! K! j! #0 # # L !L ɛ   L /$LtU}` B VD#EB JKLV$ED B(HI V0`hh o#L BI2HDE V0`ɛV}. >ąƅL~!ޭɛ`hhL $# (! $!>L'L(!ɛ $ ' !dҩW}`$=ȹɛL  8'ԥ ؠȱ$)$ȩ$$ (!L 򩔅 #$$$X}L5"$F 8'>9<' 8'搤ɛ,L L ɛ, L 1#ȹ15# e# Y}BD#EJK V o#L,# BDEHI V e#L !L%## $! H e# hBDE V o#L Z} BLVԩ ؠ$)$詛$ $! e#$ (!L!5JJJJ $Ȧ5Ԫ $Ȧ`?FXCLUERDQASBM!" n[}"8#<#@#D#' 2$*+,E:D1:*.*Error> 0123456789ABCDEF= BBK MONITORd 8'L ' K! j!ɛL \}l-ȹl- ȹl-朥8L& eЦ.LJ%(#$ L& 8']}L&L&ɛL&L')L&,L& L&L&ȹYL'XL&L&L'!L-'^}0 8L&L&8!AL&_.L-'8.ȹ#ȹ$ L& 8'L&L%ɛL&L_}&,L&Ly&L& L&,L' (l #L&  L'#㹔ɛLo&Le&`},L&Lo&[.L'[.L&W.L&W.L'ȭ$L& 8'L&8媅嫅80a} L&L&暥 !0e (!LJ$O.ȑLw'O.ȥȥLw'Lw' $b}0%&&&&eiL@'`eiLJ$$ 'JJJJ ') 'JJJJ ') ': ' '` 0:iHIc} B V0`hh o#L $ 8'L e#,#ȹP B0EmDJ V F0 (d}ȥ (ȥȥc. L(/l- . 5) (ȥ *0(+0( e} (!&  BED(HI V A-L2(L H) $hJJJJ $` (ȥiif}` (ȥșL5)# ȩ$ )`$  )` y),ȩX`$  ) C)` ),ȩX` )g}Y` * ),Xș)ș` ))ȩ,ȩY`A ` )ϥХ0:eυϥi (h} ( ȥ $`i8姅ϥL.*` * ) C))` ($ș` )Y`` e#DL ȹ:i}ȹ,ȹ$ 8'L r0s0,ȹ$ 8'ԥt0u0ū L+Ū8媅嫅j}止 BEDJK V o#L,#p0 + HI BDE V o#L,# e#L H BHIk}h V0`hh o#L 0 (!L e#DL ȹ: EDJKB V o#L , , 0 (!L , ,l} , ,8媅嫅 # v00v (! HIBDE V o# e#L  BHI V0`hh o#m}L 8'L ' ,ɛ者 #ȹ膙ک (!n}ii A-L,L  8`` ADCANDCMPEORLDAORASBCSTABRKCLCCLDCLICLVDEXDEYINXINYNOPPHAPo}HPPLAPLPRTIRTSSECSEDSEITAXTAYTSXTXATXSTYAASLLSRROLRORDECINCSTXSTYBITJSRJMPCPXCPYLDXLDYBCCBCSBEQBMIBNEBPLBVCBVSa!AXp}ʈHh(@`8xF&f憄$ L0Pp   J*jieum}yaq)%5-=9!1IEUM]YAQ  񅕍q}XʈHh(@`8x JFVN^*&6.>jfvn~$, Ll̢0Ppr}      s} !$'*-0369v CHLP1 Q ~}ROMSET9 PRAMSET9QROMSET9PRAMSET9QROMSET9PRAMSET9QROMSET9PRAMSET92 HC }HLP1:X;$X;subroutine to redefine selected#X;group of characters in the RAM $X;set; in this case, 5 characters!X; }totalling 40 bytes; replaces  X;characters 33-37 in RAM set*X;4 REDEFINE>$>'H RDLP1R QNEWCHAR9\PRAMSET9f }0p IRDLP1z:X;#X;table of byte data for the new"X;characters, 8 bytes per char.X; NEWCHAR <=f==  }=f=;= >=c=c=c ~=c=~= <=c=`=` `=c=>= <=c=c=c c=f=|= <=b=`=| `== }<=X;$$X;subroutine to print a string of."X;text on the screen (up to 5128$X;characters long), using the RAMBX;char }acter setLX;V PRINT`Q>RAMSET;;point tojPCHBAS;;RAM charsett$>;;IOCB #1~Q>PUTREC;;operation isPICCOM9 };;PUT a RECordQ>TEXT;;point to thePICBAL9;;text stringQ>TEXT PICBAH9Q>;;print up toPICBLL9;;2* }256=512Q>;;bytes PICBLH9 CIOV;;go do it!:X;#X;string being printed on screen X;TEXT AABCDEA=EOL2* { X;Listing 2 for Character SetX;Redefinition ExamplesX;(X;by Karl E. Wiegers2X;<F=EIFX;PX;ZX;equates} for IOCB operatiosdX;n OPENx GETREC PUTREC CLOSE EOLX;X;pointer to character setX; }CHBASX;X;equates for IOCB addressesX; ICCOMB ICBALD ICBAHE ICBLLH ICBLHI ICAX1}J" ICAX2K, CIOVV6X;@!X;redefined character set willJ#X;start at $4000 and go to $43FFTX;^RAMSET@hX};r$X;*******************************|X; PROGRAM BEGINS HERE$X;*******************************X;PX;$>} OPENIOCB INOERR1 OPENERROR,DEND NOERR1$> READFILE$> CLOSEIOCB PRINT& END!END0}X;:$X;*******************************D X; SUBROUTINES BEGIN HEREN$X;*******************************XX;b#X;subrout}ine to open an IOCB forlX;read access - need to loadvX;with IOCB# * 16 firstX; OPENIOCBQ>OPEN;;operation is to}PICCOM9;;OPEN an IOCBQ>FNAME;;point toPICBAL9;;name of diskQ>FNAME;;file to open PICBAH9Q>;;ope}n forPICAX19;;read access CIOV;;go do it!:X;"X;subroutine to read 1024 bytes "X;from open IOCB and put in RA}M#X;at address RAMSET. IOCB# * 16 !X;must be in X-register first.*X;4 READFILE>Q>GETREC;;operation isHPICCOM9;;}GET a RECordRQ>RAMSET;;will store\PICBAL9;;at addressfQ>RAMSET;;RAMSETp PICBAH9zQ>;;want to getPICB}LL9;;4*256=1024Q>;;bytes PICBLH9 CIOV;;go do it!:X;!X;subroutine to close an IOCB. X;X-register must co}ntain theX;IOCB# * 16 first.X; CLOSEIOCB Q>CLOSE PICCOM9 CIOV:X;$X;.X;8"X;same PRINT subroutine} that weBX;used in Listing 1LX;V PRINT`Q>RAMSETj PCHBASt$>~ Q>PUTREC PICCOM9 Q>TEXT PICBAL9}Q>TEXT PICBAH9Q> PICBLL9Q> PICBLH9 CIOV:X;#X;print this long text string so $X;you can} see what the characters"X;you loaded from the disk file#X;look like (actually, type any-(!X;thing you want in 1350-1410})2X;<TEXTF AABCDEFGHIJKLMAP ANOPQRSTUVWXYZAZ AabcdefghijklmAd AnopqrstuvwxyzAn A1234567890Ax A!#$%&'@(})<>A A-=+*_|\^,./[]?A EOLX;#X;complete name of the file withX;your character set dataX;FNAME AD1:FANC}Y.FNTA=EOLX;$X;subroutine to handle open errorX; OPENERROR$>;;print message onQ>PUTREC;;screen PICCOM}9Q>OETEXT;;error textPICBAL9;;to print"Q>OETEXT, PICBAH96Q>P;;80 chars, or@PICBLL9;;EOL, whicheverJ}Q>;;comes firstT PICBLH9^ CIOVh:r OETEXT| AError on openA=EOLQ>P;;80 chars, or@PICBLL9;;EOL, whicheverJN* Keyboard Buffer Routines** Written by Nancy A. Durgin** Loads into page 6* Call from BASIC with X=USR(1536)*********}**************************************************** * This program sets up a keyboard buffer and associated * handler rou}tines. The vector to the Keyboard interrupt * routine (VKEYBD) is changed to transfer control to a * new routine, which sto}res characters that are 'typed * ahead' into a 60 character buffer. A VBLANK routine * checks to see if the current charact}er (in CH - $02FC)* has been processed, and if it has, moves the next * character out of the buffer.*********************}***************************************** SYSTEM EQUATES*KBCODE = $D209 ;Code for the key just pressedCH1 =} $02F2 ;Code for last key pressedCH = $02FC ;Key waitng to be processed by E:KEYDEL = $02F1 ;}Keyboard "debounce" counterATRACT = $004D ;Attract mode counterSRTIMR = $022B ;Key Auto-repeat counterVV}BLKI = $0222 ;Vector to VBLANKI routines SYSVBV = $E45F ;Vector to system VBLANK routinesVKEYBD = }$0208 ;Vector to keybd intrupt routineSSFLAG = $02FF ;Screen STOP/START flag ** PROGRAM EQUATES*BUF = } $CB ;Contains address of bufferBUFIN = $CD ;IN pointer for buffer ;points to nex}t free locationBUFOUT = $CE ;OUT pointer for buffer ;points to next data byteBUFLEN = } $3C ;Buffer length = 60CTRL1 = $9F ;Keycode for CTRL-1CTRL0 = $B2 ;Keycode for CTRL-0** }INITIALIZATION ROUTINE** Initializes the routine by placing the correct values in* the PAGE ZERO locations, and by substit}uting program * vector addresses for the system keyboard interrupt and * VBLANK handlers.* ORG $0600INIT }PLA ;Remove argument count from stack LDA #$00 STA BUFIN ;BUFIN=0 STA B}UFOUT ;BUFOUT=0 LDA #LOW BUFFER STA BUF ;Store buffer address LDA #HIGH BUFFER } STA BUF+1 LDA #LOW KEYVB ;LO byte of new VBLANK routine STA VVBLKI ;Store at vectr address } LDA #HIGH KEYVB ;HI byte STA VVBLKI+1 LDA #LOW KEYINT ;LO byte of new handler STA } VKEYBD ;Store at vector address LDA #HIGH KEYINT ;HI byte STA VKEYBD+1 RTS ;R}ETURN** KEYBOARD INTERRUPT HANDLER ROUTINE** New handler for keyboard interrupts. This routine does* everything the old} OS handler did, except that it stores* new character values in the buffer, instead of directly* into location CH.* If thi}s routine detects a CTRL-0, it resets the buffer by* setting the IN and OUT pointers to 0, and putting an $FF * in location} CH.*KEYINT TYA ;Save Y register PHA LDA KBCODE ;Get internal code of key CMP } CH1 ;Compare to last key pressed BNE NOTSAME ;Skip debounce routine LDA KEYDEL ;Load timer valu}e BNE EXIT ;Treat this code as a bounceNOTSAME LDA KBCODE ;Get code again CMP #CTRL1 ;See i}f it is a CTRL-1 BNE NCTRL1 ;Skip if not a CTRL-1 LDA SSFLAG ;Load STOP/START flag EOR }#$FF ;Reverse flag status STA SSFLAG ;Store new flag value BCS EXIT ;Don't process keyNCTRL1 } CMP #CTRL0 ;See if it is a CTRL-0 BNE NCTRL0 ;Skip if not LDA #$00 ;Purge buffer --- } STA BUFIN ;Reset IN pointer STA BUFOUT ;Reset OUT pointer LDA #$FF STA CH } ;Reset CH BCS EXIT ;Don't Process keyNCTRL0 STA CH1 ;Update last key pressed LDA #$0}3 STA KEYDEL ;Reset debounce timer LDA #$00 STA ATRACT ;Reset attract mode timer } LDA BUFIN ;Load IN pointer CMP BUFOUT ;Subtract OUT pointer BEQ EMPTY ;IN=OUT --> Buff}er is empty LDY BUFIN ;See if buffer is full INY ;Add 1 to IN and see if it = OUT T}YA CMP BUFOUT BEQ EXIT ;IN=OUT-1 --> Buffer is full LDA BUFIN ;Get IN pointer } BPL PUTBUF ;Skip this next partEMPTY LDA CH ;Get key code CMP #$FF ;See if last code has be}en used BNE PUTBUF ;Skip if CH has keycode in it LDA KBCODE ;Get key code STA CH ;}Store at CH BCS EXIT ;Jump to exitPUTBUF LDA KBCODE ;Get key code LDY BUFIN ;Get IN point}er STA (BUF),Y ;Store in buffer INY ;Increment pointer TYA CMP #BUFLEN ;S}ee if pointer is at end BNE STORIN ;Skip if not at end LDA #$00 ;Set to 0STORIN STA BUFINE}XIT LDA #$30 STA SRTIMR ;Reset auto-repeat timer PLA TAY PLA RTI** }VBLANK ROUTINE** Checks to see if CH=$FF, which would mean the current* key has been processed. If it has been processed,} then* the next data byte is moved out of the buffer into CH.* The appropriate pointers are updated.* If the buffer is not} empty, then the auto-repeat feature* is disabled by putting a $30 in location SRTIMR.*KEYVB LDA BUFIN ;Get IN poi}nter CMP BUFOUT ;Subtract OUT pointer BEQ EXIT2 ;IN=OUT --> buffer is empty LDA #$30 } STA SRTIMR ;Reset auto-repeat timer LDA CH ;Get value at CH CMP #$FF ;See if it i}s 255 BNE EXIT2 ;Skip this if it isn't LDY BUFOUT ;Get OUT pointer LDA (BUF),Y ;Get ch}aracter from buffer STA CH ;Store character at CH INY ;Increment OUT pointer TYA} CMP #BUFLEN ;See if pointer is at end BNE STOROUT ;Skip if not at end LDA #$00 ;Set t}o 0STOROUT STA BUFOUT EXIT2 JMP SYSVBV ;Jump to system VBLANK vector** RESERVE BUFFER SPACE*BUFFER DS } BUFLEN** END* ENDXIT2 JMP SYSVBV ;Jump to system VBLANK vector** RESERVE BUFFER SPACE*BUFFER DS NOFILENUMBEROFBYTEJUNKJUNKSTARTLSTARTHLASTLLASTHSTARLASBEGINNINFLA} ,,ĠҠΠ͛}bbPOKES MACHINE CODE INTO PAGE 6 AND CALLS INITIALIZATION ROUTINE TO IMPLEMENT KEYBOARD BUFFER Written by Nancy A. Dur}gind "n6-%AV$x6-%AV$ -"   6-?:,'0,6,193,6,104},169,0,133$'++205,133,206,169,194,133,203,169,6,133.'''204,169,156,141,34,2,169,6,141,358'""2,169,36,141,8,2,169,6,141,}9B'%%2,96,152,72,173,9,210,205,242,2L'&&208,5,173,241,2,208,96,173,9,210V'))201,159,208,10,173,255,2,73,255,141`'''25}5,2,176,79,201,178,208,13,169,0j'++133,205,133,206,169,255,141,252,2,176t'&&62,141,242,2,169,3,141,241,2,169~'))0,133,7}7,165,205,197,206,240,12,164'++205,200,152,197,206,240,36,165,205,16'&&15,173,252,2,201,255,208,8,173,9'((210,141,25}2,2,176,17,173,9,210,164'**205,145,203,200,152,201,60,208,2,169'''0,133,205,169,48,141,43,2,104,168'**104,64,165,205},197,206,240,29,169,48'''141,43,2,173,252,2,201,255,208,17'++164,206,177,203,141,252,2,200,152,201'&&60,208,2,169,0,}133,206,76,95,228 D:BUFFER1.BAS3,252,2,201,255,208,17'++164,206,177,203,141,252,2,200,152,201'&&60,208,2,169,0,'  FILENUMBEROFBYTEJUNKJUNKSTARTLSTARTHLASTLLASTHSTARLASBEGINNINFLABUFKEYINTKEYVBPOBYTKEYVBBU}FIBUFOUBUVVBLKVKEYBBUFHBUFFERBUFLHLMES } A$t @} ))Ϡ͠ӠĠқ Written by Nancy A. Dur}gin2;@`,d B >:A%,+%  ĠҠ( + dd \Type something on the keyb}oard during this pause. Hit RETURN to terminate your input line.\H @You can store as many separate inputs in the buffer} as you want.K \  EXPERIMENT!!-@AP   INPUT    YOU TYPED :  && (Type} ahead during this pause)-@A0  A0u''ŠϠԠРĠқ1u&&;@`},;A ,;@8,5uŠӠϠٛ:u #B6-Du""6@BNu6-%@}67<,.>:,Xu B u #B6-u""6@Bu6-%@67<,.>:,u B}u$$ŠŠĠқv?6-A6-A'6-A36-AF?6-A  v}v*6-P:C:,'AV,*6-C:,&AV$ v %@*v*6-P:C:,'AV,*6-C:,&AV$4v %@}>v*6-P:C:,'AV,*6-C:,&AV$Hv %@y$y))ҠĠԠśJy 152},72,173,9,210,205,242,2Ty&&208,5,173,241,2,208,96,173,9,210^y))201,159,208,10,173,255,2,73,255,141hy''255,2,176,79,201,}178,208,13,169,0ry++133,205,133,206,169,255,141,252,2,176|y&&62,141,242,2,169,3,141,241,2,169y))0,133,77,165,205,197,2}06,240,12,164y++205,200,152,197,206,240,36,165,205,16y&&15,173,252,2,201,255,208,8,173,9y((210,141,252,2,176,17,173,}9,210,164y**205,145,203,200,152,201,60,208,2,169y''0,133,205,169,48,141,43,2,104,168y 104,64y-1y%%Ҡ}̠ˠśy##165,205,197,206,240,29,169,48y''141,43,2,173,252,2,201,255,208,17y++164,206,177,203,141,252},2,200,152,201y&&60,208,2,169,0,133,206,76,95,228z-1 D:BUFFER2.BAS201,255,208,17y++164,206,177,203,141,252R<=TRANSCHANGEEMPTYVBHATEMPTMOVHILOCHANGMVBSTSR "4 ?Aa }ATBBF B @C A Bf @`A(BRABBIT-IN-A-HAT""BY ALLAN MOOSE/MARIAN } LORENZ 1985PAGE FLIPPING DURING THE ** VERTICAL BLANK **%%** DIM STRINGS THAT STORE ML **** AND CH }ARACTER SET **(<<;@ ,;@,;@,;@,;A`,-READ VALUES INTO STRINGS2] #A!-@ }@ %"167,.>:,5 I-@@M"Y67,.>:,] <S-@@"'67,.>:,+ ?-@ }@C"O67,.>:,S F+-@A`"'67,.>:,+ }%%SET UP RESERVED SPACE AND CLEAR AF }:A,&@1 +@AA1AR@*A*AF:A,6-?:C:,, }//MOVE CHARACTER SET/REDEFINE CHARACTER SET'A'AA$*A*AF:A },6-?:C:,, 6-C:,6-P:'AV,6-&$AVAA*A@$*A }F:A,6-?:C:,,AVF:A,((FIND AND STORE ADDRESS OF SCREEN 1%%6-AV$F:Aa,%F:A` },"1AF:%@,1AF:%@,,STORE ADDRESS OF SCREEN 262A2AF:A,% }@@##STORE ADDRESS OF DISPLAY LIST^-AF:A`,-AF:Aa,##PUT HAT IN MEMORY OF SCREEN 1 }(-@@( @&-@@& @&-@@& @+-@ }@+ @ALACAZAM&&PUT RABBIT IN MEMORY OF SCREEN 22@2@F:A,%@%- }@@% @+,%-@@% @-.&-@@& @/01&-@@ }& @234(-@@( @&-@@& @&-@@& @ }/-@@/ @ á 66LOAD IN THE VERTICAL BLANK PAGE FLIPPING ROUTINE*% #A@ }!-@Y%"4A6%> GDATA FOR VBI ROUTINEHaa166,209,202,240,5,134,209,76,98,228,162,30,134!},209,166,251,224,1,240,18,169,1,133,251,160,4\ZZ165,203,145,207,200,165,204,145,207,76,98,228,162,30,134,209,162,0,134,251!},160,4,165f//205,145,207,200,165,206,145,207,76,98,228pINITIALIZE COUNTzA @//INVOKE FLIPPING BY !}LINKING IN THE ROUTINE6-?:C:,, A DATA FOR TRANS$PP104,162,4,160,0,177,205,145,203,200,208,249,230,!}206,230,204,202,208,242,96DATA FOR CHANGE$66104,160,0,177,205,145,203,200,192,160,208,247,96DATA FOR EMPTY$!}FF104,169,0,162,8,160,0,145,203,200,208,251,230,204,202,208,246,96DATA FOR VB$((104,160,0,162,6,169,6,32,92,228,9!}6DATA FOR HAT$YY15,15,15,15,0,0,0,0,255,254,254,255,127,127,127,127,255,0,0,255,255,255,255,255,255__63,63,255,!}254,254,254,254,240,240,240,240,0,0,0,0,127,127,127,127,127,127,127,127,255,255$SS255,255,255,255,255,255,254,254,254,254,!}254,254,254,254,0,0,0,0,4,4,4,4,0,0,0.QQ0,64,64,64,64,4,12,12,12,13,29,29,29,64,192,192,192,192,192,192,192,0,0,0,38ZZ7!},15,15,15,63,63,255,255,255,237,255,243,192,192,192,224,240,248,252,252,15,15,7,3,1Bcc0,3,5,222,204,225,255,255,255,255,25! }5,252,252,248,240,192,224,240,240,255,255,255,255,127,127L--127,127,255,255,255,255,254,254,254,254D:INTROVBI.BAS }78V l BFNABFF1LINRETRBACKSCHKSUEDILBYTDMOD@% }  GG9@,;@,% };@,;@,;@,;@, ;@,?6-A6-AU'6-A&36-?6-I% } AP-@@8(tart or ontinue? B AI(>:,(?-@@#(FILENAME'9AR@%}?( 25B:, @$-@ @+( 5 @@<?7@<@,0D:&6.D:567@,.? @F%} 6.P>:,4SA Z4 A0*@@4 Ad@-@@$)@( 66%}-%@@ An5@+@@ 5 Apxr A`*@@4 A@%}F-@@`(FILE ALREADY EXISTS!!rARH-@@%( ERASE IT? / AAAR@%}H(>:,,>:,4N)>:,4n"@, @0>:,0Y*>:,0yA0+@+@@%}? AP-@@3( נΠ: ?6-6-@#-@@W-@$+ @,%@%}$+!@ ,%@iAR|(BYTE #:  A$*"6-8,$ A 6-A:,%} 6. -@"%@ ( 0 68,-6-%$"!A06-&B) 6-%!A)6-&B%}O-@%@)AR9( CHECKSUM: E6-@O A*"Ap 6-A:,!-%}@"%@!( "A"/ A@6-@%6-/ A,O-@@'*@%}8,+ 96-%@E6-O Ap66-@- A-"@:Q,*"@*(A J++**+ @H%})!@W,A K"*46.O%%"*"*!@APT&&++"*(,)",*"A ^$ "%}AR@!( $$hAr2!@(6.7@<&@,2 A| 6.# (>:,6-&@%}# A '6-%@!6-' AP!67,.>:,(>:,! A  +^ A@-@%}@1( NO SUCH FILE!E-@AI T@^ @0tA@H72A@@%}K-@@PO q2t$U +@#@A1B7tACAY%}UA@U-6-F:A`,%AV$F:Aa,%@A&@@pU%@@_-@%}@9@-%@1 M-@@@@[%_ W%@A@e.%@BF:A`,% }E%@CF:Aa,W@?-@*(analog ml editor<AY@4?$>#@@%!}K:0)@;@>$D:MLEDITOR.BAS(analog ml editor<AY@4?$>#@@$?8I͠ΠBy : C.F.Fogarty III)#}For: ANALOG Magazine.nn128,6,230,6,104,165,10,141,213,6,165,11,141,214,6,165,12,141,158,6,165,13,141,159,6,169,149,)$}133,12,169,6mm133,13,32,64,21,169,202,133,10,169,6,133,11,162,0,169,8,141,66,3,169,217,141,68,3,169,6,141,69,3,169,14g)%}g141,72,3,142,73,3,32,86,228,169,13,141,74,3,96,173,158,6,133,12,173,159,6,133,13,76,159,23,104,6400125,29,29,29,71,79,8)&}4,79,32,49,48,28,28,287 ")-%AV$%AV$-"37  6-?:%AV$, <AB@'A)'}fA9Ag@< (}@)( ( ()(͠ and (((Are now Disa)(}bled.2.( ( (.(Press /CTRL/D for DOS.<##@@K:F)@(>:,P0"F:B2y))},"@*"@-@0.Z @pd66You only need lines 4-10 in your own program(s). D:RERUN.BAS2y(x1dX; SYSTEM RERUNnX;By: C.F.Fogarty IIIX;Version: 1.0X;X;DOSVEC ;;DOS Adr. from ;BASICDOS-+}INI ;;Disk Boot Init. ;addressX;ICCOMB;;IOCB0 ICBALD ICBAHE ICBLLH ICBLHIPOKE842-,}JX;CIOVV;;Central I/O&X;0WRITE;;ICCOM Write Cmd: BUFRLEN;;Length of GOTO10DX;N7XX;b$X;Steal DO--}SVEC and DOSINI then...lX;v QDOSVEC PVECDOSQDOSVECPVECDOSX; QDOSINIPDOSQDOSINI PDOS-.}X; X;Point them to this routine.X;ENTRYQ>ENTRY PDOSINIQ>ENTRY PDOSINIX; $X;Continue in-/}itialization process%X;and reload the "D:" device*X;to the Handler Table.4$X;This is where the stolen DOSINI9X;would n-0}ormally go.>X;H  ;;JSR DOSR DOS @\X;f"X;Then reset the address to JMPkX;to when DOS is called fromp$X;BASIC. -1}This allows you to exituX;BASIC to DOS.z!X;Otherwise, you would have toX;shut off the computer to!X;get out of the BA-2}SIC programX;that is running.X;Q>DVECTR PDOSVECQ>DVECTRPDOSVECX;X;Now Clear the screen,-3}"X;Move the cursor down 3 lines,#X;Write "GOTO 10" to the screen,"X;Move the cursor up 3 lines...X;$> Q>WRITE-4} PICCOMQ>GOTO10$ PICBAL.Q>GOTO108 PICBAHB Q>BUFRLENL PICBLLV &ICBLH` CIOVjX;t#X;...start the-5} dynamic cursor...~X;Q>  PPOKE842X;$X;...and return control to BASIC.X;:X;"X;Control goes here when -6}DOS isX;called from BASIC."X;It resets the pointers to DOS X;and allows you to exit from X;BASIC.X;DVECTRQDO-7}S PDOSINI  QDOSPDOSINIX;(#X;Now JMP to where DOSVEC should-#X;have gone if it wasn't stolen.2X;And DOS -8}will take control.<X;F L;;JMP DOSVECPVECDOS ZX;d X;POKE 566,BREAK&255 and POKEiX;567,BREAK/256 then,n#X;Cont-9}rol goes here when [BREAK]sX;is pressed.x!X;These 2 commands disable the}!X;[BREAK] key for OS 'B' ROMS.X; BREAK7-:}9#X;The information that you printX;to the screen follows:X;GOTO10 A}GOTO 10A' ROMS.X; BREAK7,e554 9ҢX : J: R$ST UVD:E HI VT UD:E HI V41<} 9X : J:X4UeXeY,eXeYeXeYXi܅YiA@ȩXi+YiXi-1=}Yi56ҩ ȑȩ 8)L46JiL8M 9ҭx݂:Lr61>}L6Ŋ  '3L68(L6i(iL68L6ii1?} L(8 L677 L8Š#L8 67P 9)朥ن:Lk9 67ƍL6 `8( L7P1@} L7' L7) z:z:l8(L7i(iL78L7iiL1A}78( 78L8' L8) L8L68(i(i  Lc8 L1B}8 L88ii  L8 L8 L8L6Lr6:ҘH 9h1C}L98XY  89 L9((eeL5i`i`i`1D}ii``8 :ҘH 9h揢iL9iL9L91E} ?9 J:L5L5`019y:D`BJKGD:E V BR'SٍDGEHI V1F}`E:RSTUV) GDGEHI V`z::7777 jhji<52/<5//@55<<<<PRESSSTART 1G}XX 3333?33?3 ?0?? 3 03 3333  00 <  <DDDD(((<<<< 1H} 00?3333? < ??3?0????33??0<<?0?33?? 00?3?33??3? 0 0 ??<<<<<<1I}<<XYUUUUUUUU?33?33?3?33??3003?<3333<?0<00??0<000?300??33?333? ?3?33<<3300000?3??3331J}?33333 3333 ?3?000 3333 ?3?<33?0??? 33333?3333? 333??333 3333? @@************************1K}****** + + + + + +** * * * * * * * * * * * * * ** + + + + + + ** * * * *+* * * * * * * * * ** + 1L} + + + + + + ** * *+* * * *+* * * *+* * * **+ + + + + + + + + ** *+* *+* *+*+*+* *+@A*+* * * ** + 1M}+ + + + + **+* *+* *+* *+* *+* *+* *+* ** + + + + + + + ** * * * * * * * * * * *+* * **+ + + + 1N}+ + + ** * * *+* * * * *+* * * * * ** + + + + + + + ** * * * * * *+* * * * * * * **+ + + AB + + 1O}+ +** *+* *+* *+* *+*+* *+* *+* ** + + + + + + ** * * * *+* * * * * *+* * * **+ + + + + + +****1P}******************************************************** * + + * + + * + ** * * + * * * + * * * + * * **+BC* * * 1Q}*+*+** **+*+* * * *+** + +* + * + + * + *+ + ** ***** ***** * ***** ***** ** + + +*+ + +*+ + + ******** * * * * *1R} * * ******** + + * + * + + **+*** ******* * ******* ***+** * + + +* + *+ + + * **+*+*+* *+* + * + *+* CD1S}*+*+*+** * * * * ********* * * * * **+*+* *+* + + + + *+* *+*+** * * * ** * *** * ** * * * **+ +*+ +* + *+ +*+ +** 1T}*** * ** * *** * ** * *** **+ * * * +*+ + +*+ * * * +** *+* *+* ** *** ** *+* *+* **+* *+ *+* + * + *+* +* *+** * ***** *1U} *DE+*+* * ***** * ** + + + + * + * + + + + ************************************************************ + + + 1V}+ + + + ** ***** * * * * * * * ***** ** + + *+*+*+*+*+* *+* * + + **+* * + * * + + + * *+ * *+** *+* ***+* ***** *+*** *1W}+* **+ EF* + *+ + +* + * +** ***+*+*****+*+*****+*+*** ** + * + +*+ +*+ + * + **+***** ** * *** * ** *****+**1X} + + *+ + +* + + ********* * ******* * ********* + + * + + + + * + + ** ****** * * * * * * ****** **+* *+*1Y} * *+* * *+* FG *+** +**+ *+ +* +**+ ** *** ***+* *** *+*** *** ** +* **+ + + + +** *+ **+* *+ * *** 1Z}*** * +* *+** * + * **+* + + *+** * + * ** *****+* +***+ *+***** **+ +** + **+ +*************************1[}*****GH@B@6E} S PEARSON & P KOHUT 000001\} TIME 00 LEVEL 000 LIVES 4 (C) 1985 ANALOG 1]}5 TIME 00 LEVEL 000 LIVES 4 (C) 1985 ANALOG 0 EI SCREENX TAIL( HEAD2DUMTAIL< SCOREF SDLISTP LSTICKZ NSTICKd SSTICKn5_} COUNTx LEVELDUMHEAD DUMMY JUMP LIVESSHOWLEVLLEVLPNTSDLAYSIZEDLAYD5`}IFF TEMPGOFLAG4 DUMXPUTGETCONSOL AUDF1 AUDC1ATTRACTM"STICK0x5a},CHBASE6 STAIL@ TIMEJ TIMERT SBODY ^ SHEAD h TAIL1r TAIL2| WALLS  DOTS  5b}PUTCHR  IOCB0 WRITE ICCOMBICBADRDICBLENHICAUX1JICAUX2K CIOVVX;X; 5c}SET-UP VARIABLESX;5 RUNQ> PGOFLAG& DDLIST0$>: &LEVELD &LEVLPNTSN &AUDF1X$>Xb&l OPENv5d} PRINTSCR START$> &R$>$&S$>&T$> &U$>&VQ>4STARTMSG PICBADRQ>5STARTMSG5e}PICBADR Q>  PICBLEN Q>*PICBLEN4 CIOV>STARTKEYQCONSOLHR>R HSTARTKEY\$>f&Tp$> z&5f}UQ>4CLEARMSG PICBADRQ>5CLEARMSGPICBADRQ>  PICBLENQ>PICBLEN CIOV QGOFLAGR>5g} FSTART1$> &LEVEL &LEVLPNTS &AUDF1$ DDLIST.Q>X8 PCHBASEB OPENL PRINTSCRVSTART1Q>X`PjQ5q}XB%DOS SYSB*)DUP SYSB#SBBKMON OBJBvBOOTCMP1M65BBOOTCMP2M65B3BUFFER AMAB BUFFER1 BASBBUFFER2 BASBINTROVBIBASB MLEDITORBASB"RERUN BASB*RERUN M65B#;SLITHER OBJB?^SLITHER1M65BSLITHER2M65B SLITHER3M65BSLITHER4M65BWSTARLANEBASB8$TABLETY1BASB\TABLETY2BAS>t PGOFLAG~,Q>UOX PLIVESQ>OY PLIVES,Q>,OX PSHOWLEVLQ>OYPSHOWLEVL5r} ,Q>OX( PSCORE2Q><OYF PSCOREP,ZQXdO>n PTIMExQYO> PTIME$>A &DLAYSIZE5s}$>@ &DLAYDIFFMAKESNAK%> 'TIMER 'TIMERQ> P@TIME73Q> P@TIME7, QSCREEN"O>+, P5t}TAIL6QSCREEN@O>J PTAILT,^ QSCREENhO>-r PHEAD|QSCREENO> PHEAD$> &COUNT$>5u} &LSTICK$> &AUDC1 Q>TAIL2 PSTAIL%> P@TAIL7 Q>SBODY3 P@TAIL73& Q>SHEAD0 P@TAIL7: J5v}OY%>DQ>N;X STIMERb PTEMPlM>vR>FODD EVENQ> P@TIME7 !TDIGIT ODDQ> P@TIME7TDIGITQ5w}TEMPV?,O>%> P@TIME7 QTEMPR>  HMAIN !GUYDEAD  MAIN$>* &ATTRACT4 $DLAYSIZE> DELAYH5x}Q>R PAUDF1\ QSTICK0f PSSTICKp$>zBADJOYRBADSTICK9 FJOYBAD2(> HBADJOY !DIRCHECKJOYBADQLS5y}TICK PSSTICK !CURSTICKDIRCHECKRLSTICK FLASTICK QLSTICK PNSTICKLASTICKQSSTICK R> FCURSTICK Q5z}SSTICK$ PLSTICK. CURSTICKQSSTICK8 R>B HSAVEHEADL QLSTICKV PSSTICK` SAVEHEADQHEADj PDUMHEADt QHEAD~ 5{}PDUMHEAD JOY14QSSTICK R> FSNAUP R> FSNADOW R> FSNALEF R> FSNARIG !JOY SNAUP; QHE5|}AD S>( PHEAD QHEAD S>( PHEAD2 !CHWALL< SNADOW,F QHEADP O>(Z PHEADd QHEADn O>x PHEAD5}} !CHWALL SNALEF; QHEAD S> PHEAD QHEAD S> PHEAD !CHWALL SNARIG, QHEAD O> PHE5~}AD QHEAD O> PHEAD" CHWALL$>, Q@HEAD66 R>WALLS@ HCHDOTJ !CHKHITT CHDOTR>DOTS^ HCHBODYh !EAT5}DOTr CHBODYR>SBODY| HCHTAIL !GUYDEAD CHTAILRSTAIL HNOHIT !GUYDEAD EATDOT DOHEAD Q>P PAUDF1 UP5}SCORE QLEVEL M> ? #LEVLPNTS QLEVLPNTS RLEVLSCOR8 HADDONE !UPLEVEL& ADDONE$>0 &COUNT: NOHIT D5}OHEADD $COUNTN (>X FCTUPb "COUNTl !JOYv DOHEAD%> Q>SBODY P@DUMHEAD7 Q>SHEAD P@HEAD7 : CTUP; 5} QTAIL S>( PDUMTAIL QTAIL S> PDUMTAIL %> Q@DUMTAIL7 R>SBODY HCTDOWN $>* &DUMX4 !C5}LRTAIL> CTDOWN%>PH Q@DUMTAIL7R R>SBODY\ HCTLEFTf $>p &DUMXz !CLRTAIL CTLEFT%>' Q@DUMTAIL7 R>SBODY 5} HCTRIGHT $> &DUMX !CLRTAIL CTRIGHT%>) Q@DUMTAIL7 R>SBODY HCLRTAIL $> &DUMXCLRTAILQ>>5} P@TAIL6$ $DUMX. QJMPTAB98 PJUMPB2L QJMPTAB9V PJUMP` !@JUMP:jTUP;t QTAIL~S>( PTAIL QTAIL5}S> PTAIL !FIXTAIL TDOWN, QTAILO>( PTAIL QTAILO> PTAIL !FIXTAIL  TLEFT; QT5}AILS>( PTAIL2 QTAIL<S>F PTAILP !FIXTAILZ TRIGHT,d QTAILnO>x PTAIL QTAILO> PTAI5}L !FIXTAIL FIXTAIL; QTAILS>( PDUMMY QTAILS> PDUMMY CUP%> Q@DUMMY7 R>SBODY H5}CLEFT %>TAIL1" 'STAIL, !PUTTAIL6 CLEFT%>'@ Q@DUMMY7J R>SBODYT HCRIGHT^ %>TAIL2h 'STAILr !PUTTAIL|CRI5}GHT%>) Q@DUMMY7 R>SBODY HCDOWN %>TAIL2 'STAIL !PUTTAILCDOWN%>TAIL1 'STAILPUTTAIL%> QSTAIL5} P@TAIL7!JOY CHKHIT; QDUMHEADS>( PDUMTAIL&QDUMHEAD0S>:PDUMTAILD,N QDUMHEADXO>(b P5}DUMMYlQDUMHEADvO> PDUMMY$>Q@DUMTAIL6 R>WALLS FISWALL0 R>SBODY FISBODY0 !HPERPISW5}ALL0Q@DUMMY6 R>SBODY HHPERP !ISPERPISBODY0Q@DUMMY6 R>WALLS  HHPERP !ISPERP  HPERP;* QDUMHEAD4S>5}> PDUMTAILHQDUMHEADRS>\PDUMTAILf,p QDUMHEADzO> PDUMMYQDUMHEADO> PDUMMY$>5}Q@DUMTAIL6 R>WALLS FISWALL1 R>SBODY FISBODY1 !NOPERPISWALL1Q@DUMMY6 R>SBODY FISPERP !NOPERP5}ISBODY1Q@DUMMY6$ R>WALLS. FISPERP8 !NOPERPBISPERP$DUMHEADL &HEADV$DUMHEAD` &HEADj!JOYtNOPERP5}$NSTICK~ &SSTICK $DUMHEAD &HEAD$DUMHEAD &HEAD !DIRCHECKGUYDEAD%> CRY$>QDIEMUSIC8 P5}AUDF1C5 DELAY7 ?3)>(HCRY2%>< Q@LIVES7FR>P HNEXTGUYZ !ENDGAMEd NEXTGUY;nS>x P@5}LIVES7QX PDUMMYQY PDUMMYXCHECK%>YCHECKQ@DUMMY7 R>SBODY FISBODY R>SHEAD FISBODY R>T5}AIL1 FISBODY R>TAIL2 FISBODY !NOTSBODYISBODYQ>" P@DUMMY7, NOTSBODY36)>(@ HYCHECKJ,TQ>(^ ODU5}MMYh PDUMMYrQ>| ODUMMY PDUMMY2(> HXCHECK !MAKESNAKUPSCORE%> Q@SCORE7 INC0R> F5}ZERO0,O> P@SCORE7: ZERO0Q> P@SCORE7 INC1%>& Q@SCORE70R>: FZERO1D,NO>X P@SCORE7b:5}l ZERO1Q>v P@SCORE7 INC2%> Q@SCORE7R> FZERO2,O> P@SCORE7: ZERO2Q> P@SCORE7 INC5}3%> Q@LIVES7,O>  P@LIVES7 Q@SCORE7 R>* FZERO34,>O>H P@SCORE7R:\ ZERO3Q>f P@SCORE7p:5}zUPLEVEL%>; QDLAYSIZES>R>  FSING PDLAYSIZE SING$>QLVLMUSIC8 PAUDF1C5 DELAY5}7?3)>$ HSING. #LEVEL8$>B &LEVLPNTSL%>VQ@SHOWLEVL7` INCL0R>j FZEROL0t,~O>P@SHOWLEV5}L7 !LEVLDONEZEROL0Q>P@SHOWLEVL7 INCL1%>Q@SHOWLEVL7R> FZEROL1,O>P@SHOWLEVL7 !LEVL5}DONEZEROL1Q> P@SHOWLEVL7 INCL2%>Q@SHOWLEVL7(R>2 FZEROL2< ,;ADC #1FP@SHOWLEVL7P !LEVLDONEZZER5}OL2Q>dP@SHOWLEVL7nLEVLDONE INC2x PRINTSCR !MAKESNAKENDGAME!START DELAY XLOOP%> YLOOP1)>5} HYLOOP0(> HXLOOP:DDLISTQ0 PSDLISTQ1PSDLISTQ>D"%>, P@SDLIST76%>@Q>JD5}DLOOPP@SDLIST7T3^)>h HDDLOOPr:|>D:SLITHER2.M65%JMPTAB TUP=TDOWN=TLEFT=TRIGHTBADSTICK == = 5}LEVLSCOR j=h=j=iLVLMUSIC =<=5=2=/=< 5=/=/=@=5=5=< <=<=<=DIEMUSIC ====! =5}========STARTMSG APRESSSTARTACLEARMSG A A>D:SLITHER3.M65>D:SLITHER4.M65.SCRT5}AB SCREEN0=SCREEN1=SCREEN0=SCREEN2CREDITS }=A A A A A A& A S PEARSON A0 5}A & A: A P KOHUT AD A AN A AX A Ab A 00000 Al A Av5} A TIME 00 A A A A LEVEL 000 A A LIVES 4 A A A A A A (C) 1985 A5} A ANALOG A A A A A RUN A A A A A (C) 1985 A4G OPENQ> PICCOMQ>( PICAUX12Q>< PICAUX2F Q>4EDITORP PICBADRZ Q>5EDITORdPICBADRn CIOVx 9}Q>PUTCHR PPUTGET PICCOM$>&R$>'&S$>Q>4CREDITS PICBADRQ>5CREDITSPICBADRQ>9} PICBLENQ>PICBLEN CIOVJ:TEDITOR AE:A=^PRINTSCR$>_&R`$>a&Sb$>h&Tr&U|&V 9}QLEVELM>T?? QSCRTAB8 PICBADRQSCRTAB8PICBADRQ> PICBLENQ>PICBLEN CIOV9}:LEVELM>T?? QSCRTAB8 PICBADRQSCRTAB8PICBADRQ> PICBLENQ>PICBLEN CIOV8,X"CHRFNT ======= = = = = == = =3=3=3==== =3=?=3=3=?=3==}  =?=0=?==?= = =3== = =0=3=  =3=3=3====3 = = = ====  == =0==}0= ==  =<= === =<=  =D==D==D==D  ===(=(=(==  <=======< <=}=======< ===== = = === = =0=0= =?=3=3=3=3=?= = =<= = = ==}?= =?=3==?=0=?= =?==?===?= =3=3=?==== =?=0=<===<= =?=0==}?=3=3=?= =?=== =0=0= =?=3=?=3=3=?= =?=3=?==== == = == = ==} == = == = =0 == =0= === ==?===?== <=<=<=<=<=<=<=<  ======}==! U=U=U=U=U=U=U=U" =?=3=3=?=3=3=# =?=3=?=3=3=?=$ =?=3=0=0=3=?=% =<==}3=3=3=3=<=& =?=0=<=0=0=?=' =?=0=<=0=0=0=( =?=3=0=0=?=?=) =3=3=?=3=3=3==}* =?= = = = =?=+ =====3=?=, =3=3=<=<=3=3=- =0=0=0=0=0=?=. =3=?=?==}3=3=3=/ =?=3=3=3=3=3=0 = =3=3=3=3= =1 =?=3=?=0=0=0=2 = =3=3=3=3= =3 ==}?=3=?=<=3=3=4 =?=0=?===?=5 =?= = = = = =6 =3=3=3=3=3=?=7 =3=3=3=3=?= =}=8 =3=3=3=?=?=3=9 =3=3= = =3=3=: =3=3=?= = = =3=3=3=3=?=7 =3=3=3=3=?= <T @ SCREEN0$ A*****************************A($ A* + + + + + +*A2$ A* * * * * * * * * * * * *A} * *A<$ A* + + + + + + *AF$ A* * * * *+* * * * * * * * * *AP$ A* + + + + + + + *AZ$ A* * *+A}* * * *+* * * *+* * * *Ad$ A*+ + + + + + + + + *An$ A* *+* *+* *+*+*+* *+*+* * * *Ax$ A* + + + + + A} + *A$ A*+* *+* *+* *+* *+* *+* *+* *A$ A* + + + + + + + *A$ A* * * * * * * * * * * *+* * *A$ A*+ A} + + + + + + *A$ A* * * *+* * * * *+* * * * * *A$ A* + + + + + + + *A$ A* * * * * * *+* * * *A} * * * *A$ A*+ + + + + + +*A$ A* *+* *+* *+* *+*+* *+* *+* *A$ A* + + + + + + *A$ A* A}* * * *+* * * * * *+* * * *A$ A*+ + + + + + +*A$ A*****************************A SCREEN1$ A********A}*********************A$ A* * + + * + + * + *A"$ A* * * + * * * + * * * + * * *A,$ A*+* * * *+*+** **+*+* * *A} *+*A6$ A* + +* + * + + * + *+ + *A@$ A* ***** ***** * ***** ***** *AJ$ A* + + +*+ + +*+ + + *AT$ A******A}* * * * * * * * *******A^$ A* + + * + * + + *Ah$ A*+*** ******* * ******* ***+*Ar$ A* * + + +* + *+ + +A} * *A|$ A*+*+*+* *+* + * + *+* *+*+*+*A$ A* * * * * ********* * * * * *A$ A*+*+* *+* + + + + *+* *+*+*A$ A* * A}* * ** * *** * ** * * * *A$ A*+ +*+ +* + *+ +*+ +*A$ A* *** * ** * *** * ** * *** *A$ A*+ * * * +*+ + +*+ *A} * * +*A$ A* *+* *+* ** *** ** *+* *+* *A$ A*+* *+ *+* + * + *+* +* *+*A$ A* * ***** * *+*+* * ***** * *A$ A* A}+ + + + * + * + + + + *A$ A*****************************A,SCREEN2 A*****************************A$ A* + +A} + + + + + *A$ A* ***** * * * * * * * ***** *A$ A* + + *+*+*+*+*+* *+* * + + *A$ A*+* * + * * + + + * *+ * *+A}*A&$ A* *+* ***+* ***** *+*** *+* *A0$ A*+ * + *+ + +* + * +*A:$ A* ***+*+*****+*+*****+*+*** *AD$ A* + * +A} +*+ +*+ + * + *AN$ A*+***** ** * *** * ** *****+*AX$ A* + + *+ + +* + + *Ab$ A******** * ******* * *****A}***Al$ A* + + * + + + + * + + *Av$ A* ****** * * * * * * ****** *A$ A*+* *+* * *+* * *+* *+*A$ A* +**+A} *+ +* +**+ *A$ A* *** ***+* *** *+*** *** *A$ A* +* **+ + + + +** *+ *A$ A*+* *+ * *** *** * +A}* *+*A$ A* * + * **+* + + *+** * + * *A$ A* *****+* +***+ *+***** *A$ A*+ +** + **+ +*A$ A*****A}************************A+ + *+** * + * *A$ A* *****+* +***+ *+***** *A$ A*+ +** + **+ +*A$ A*****@XY**LUMTAPMSS1QMBLP1P2P3P4RRCPEAAAATLINCOLTAFFFFXI@E}@@@@ @@E} !E}"#$%&'() l@@*AR@0(}: ApNE}%@"A(`-@@lBY D.L.D.|( *************'( **9( *Ӡ*K( **](E} *************o@@|;@,9@<@,9@<@,9@,9@,;@u,9E}@,;@,;@,;@,;@,;@,;@,9@,9@,(dU6.KALTAIR STARWAYSBETELE}GEUSE, LTDCAPELLA FREIGHTDEBOLA SHIPPERSERNI EXPEDITERSd6..*ABCDE2q-@+-@<68<,-E}K68,-AZ68,-i68,-A`m q <z-@+-@<68<,-@@ D E}X-@g68,-v68,-z Ft-@@ +-@@M6-P:H:@,$@P,%E}@c@#*@&t68<,-@P  ARZ^ @-@@<(HOW MANY PLAYE}ERS (2-4)@^ @)!@@d(-@nK A!-@@%G(PLAYER  WHAT IS YE}OUR NAME Kx4A"@6."@6."@6."@6. E}X A-@@ B(# OF MOVES BEFORE GAME ENDS FXAR@H 6-$(7($NOW I WILL DECIDE WHE}O GOES FIRST...A AH(>6-P:+P:+$@%,$H:@,,%@,'@%,%@H A\( WILL GO FIRST.E}f Ar6-6-&@'6-%@'%@A+6-%@"%@+6-@E}-@@M(68,-P:@ $H:@,%@,M68,-P:@$H:@,%@,@"-&@6@E}@8,"8,*8,"8,A@& &88,<8,,!@A@.-@@.8,"A9  E}6-88,<8,%@,96-88,<8,&@,"56-88,%@<8,,56-88,&@<8,,,55!@)!@E})!@)!@A655"@* @* @* @A@@55"@* @* @* @E}A@J55"@* @* @* @A@T55"@* @* @* @A@^55"E}@* @* @* @A@h55"@* @* @* @A@r55"@* @* E}@* @A@|55"@* @* @* @A@  AU A-@@E}*(4 AU(, HERE ARE YOUR LEGAL MOVES:D-@@4(8,>:8,%@d,, 8 A(~~.D(E}p(WHAT IS YOUR MOVE -AR1CAR@\7@<@,4Mf Ap A07@E}<@,4S& A 0 As%6-@:7@<@,,&@HG6-@:7@<@,,&@d[-@@E}s"8,*"8,A`B  (.(THAT SPACE WAS NOT ON THE LIST8 AB AY B 6-8&@<,36E}-8%@<,F6-8<%@,Y6-8<&@,H-@*@*@*@>68<,-@H APE}55 @* @* @* @A%%!@*!@*A `%%!@*!@*A `E}%%!@*!@*A `%%!@*!@*A `%%!@*!@*A `%%!@E}*!@*A `&8<,!@A0!@6-&@:!@6-&@D!@E}6-&@N!@6-&@X568,-8,%@+68,-8,%A5 APb.-@@.8E},"A0l3 8<, @)68<,-@3 APvt A@:('A NEW SHIPPING COMPANY HAS BEEN FORMEDE}!t( ITS NAME IS: 7$@&@<$@,.468<,-8<,%@*68,-@4 A#"@E}#68,-8,%A#"@#68,-8,%A#"@#68,-8,%A#"@#68,-8,%AE}R"@#68,-8,%A768,-8,%@R68&@<,-%@R"@#68,-8,%A768E},-8,%@R68%@<,-%@R"@#68,-8,%A768,-8,%@R68<%@,-%@E}R"@#68,-8,%A768,-8,%@R68<&@,-%@"8,A06-" A68$8,8,A`H,,(YOU ONLY HAVE $8,E} - TRY AGAINR A A`\"Af*68<,-8<,%*68,-8,&+$8,,p  B E}Aza@@(}/-@=%A2K%A@W"a A; -@@E}#)%A@7%A0; d$(D(РƠŠ٠d(E}[#( A B C D E F G H I J K L7-@@ @(T-@@[( E(78<,<8<,,E} !(% E(_(MOVE #/(# OF MOVES TO END = &A-@2@G(Y-@2E}@_(;#(5@@8(;$)6-&@ )6-)6-E}&@ )6-)6-&@ )6-)6-&@ )6-* 6-8E},6-8,!$6-8,*6- 8,!6-8,6- 8,!6-8,6-") @AP 6- F}A ") @Ap$ 6- A .") @A8 6- A B") @AF}L 6- A V A``c@ APX(7$@&@<$@, HAS JUST BEEN MERGEDc(F}INTO jT((7$@&@<$@,!T('PLEASE NOTE THE FOLLOWING TRANSACTIONS:t](6F} OLD STOCK = 7$@&@<$@,o-@9@( NEW STOCK =~i(( 7$@&@F}<$@,:-@9@i()ZZ(QPLAYER OLD NEW TOTAL BONUS PAIDF}j-@ A0/-@ @%8(8<,L-@@%j(P:+F}8<,'@,%?P,g-@ @%<(8<,%P:+8<'@,,%?P,H6-V-@c6-%8<,g F}W-@0@%;( $P:@$++8<,',$8,,,O-@9@%W(o 5()F}C-@o68<,-8<,%P:+8<'@,,%?P,0,68,-8,%P:@$++8<,',$8,,,0 F }Q-@@ +-@@>8<,"%@Q68<,-%@F  68,-8,%8,-68,-8,%8,( THE GAME IS OVER------`(HERE ARE THE FINAL STANDINGS:c(JYY(PF}ˠ̮̠ԠTM1((?-@I(F}M ^XX(Phs-@%-@F}@?68,-8,%+8,$8<,,C G U-@i-@@ %s A0ri-@@ %"($8,6-@F}@ %A($8,U-@0@ %e($8,%8,i |-@ W (}#A'-@F}+"9Ad%= I6-AW6-%@$X6-?:A,$AA(6A@X6-F:A`,%AVF}$F:Aa,W-%@%@('A0+ ?%@AQBBAW(}$AF:,!AF } F:,$$JJ72,138,72,174,156,6,189,176,6,141,10,212,141,24,208,189,200,6,141,23JJ208,238,156,6,104,170,104,64,25,1F!}04,169,7,160,168,162,6,32,92,228,96OO169,1,141,156,6,76,98,228,130,130,130,130,130,130,130,130,130,130,130,130JJ130,1F"}38,130,142,140,138,136,130,136,130,136,130,14,14,14,14,14,14,145514,14,14,14,14,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0DF#}:STARLANE.BAS,138,136,130,136,130,136,130,14,14,14,14,14,14,145514,14,14,14,14,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0DD3ICCCMOVPICSCSCC1C1CC25IIOCCCMNADAC25ADNMNNMCCCERCCSCMXXYYACCTCCPCFCCDJ%}CDFNFLCGECPUBCSTCSCSDOXOYCCALOJ&} J'} !"#$%&'(J(})*+,-./01234567J)}89:;<=>?@ ''THE TABLET TYPIST, BY M. RATCLIFF ApJ*} K: A0(%6-?:C:,}+ A04"@2AP"TYPE NOW>4"@(6-66-& A04^ARROW KEYSH%"@)6-6-%J?} A0R>"@06-6$6-46-+%,$+!@,> A\-"@16-$6-#6-- Af<"@J@}&6- @`) A<^A, FONT SIZE #1p6 "6- @`# A6^Z, FONT SIZE #2z@A JA}^LOAD' 6- A'"AUA ! A!NOT RETURN, ABORT 6- A 6-6-C:,6-JB}6- A0"A ` A  @@( A 6- A@A@^SAVEJC}) 6- AAU) A 6- A 6-6-6-6-# A0!A'# A JD} AA`^BACKUP! @P @`! A$"@A"^RESTORE.! @@ JE}@`! A8A`^FONTB @P A+L APV>D:*.SET8(** CharacterJF} Set Directory **>6-`) (P:',"'() A@j (|t 6-% A ~<A@d&JG}A<UPPER CASE,NORM VID((tari Font Enable(oad & Enable new Font 0( e-Enable  6-JH} A+"@e6- A`+ATARI SET2 0"@6-& A`2RE-ENABLE&@vAJI}&LOAD NEW SET%%(( only for another DIR)*&(Set Name Only (no DEV or EXT):*4A) 6.D1:JJ}67,.)67B:,%,..SET(Load Font file: ' A' A  ( * I/O Error F:A,JK}&( Press 6-& A6- A`( 6.2# 6-6-$6-A$#6-<: A0JL}6.0(* Bad Font File *: AF 6- A`PA ^COLORZ 6-%!@6-d "JM}!6-n " @` Ax 6-6- 6- APAP^HELP @PBACKUP FIRSTJN}! A A@! A` 6-A&A 6-6-@2 6-6-- 6.>:,6-(! AJO}'6--6-AA#6-?:C:,<<<'<,# A 6-?:C:,> MISSINGGns!-@&@@76-@:7<,,&@HNb}]6-@:7%@<%@,,&@Hs6-8,$@%8,x% 6-%!A %6-&A*@ Nc}"A(@pA&6-%@ A&@Z( DATA GOOD!9(!PRESS Nd}Π WHEN J( DISK READY NZ6-~6-#A%6-A N@@ D1:Ne}TYPE.SYS`-@t(WRITING DATA ~ @pJ@!(}* ALL DONE *J($Ǻ Be Sure to SAVE this lNf}oader,"(as a backup, just in case!, A 0&(}DATA LENGTH ERROR IN LINE 0 A ##(}CHECKSUM ERROR IN Ng}LINE AR(XSI( }I/O ERROR F:A, AT LINE F:A,%AV$F:A,S A ZZA5Nh}C885DFA90185DEA55485E5A55585E3A55685E4A657A90AE0059008A914E0079002A92885EF68F0,383ZZ30AA6885D56885D4CAF031686885DFCAF02A6Ni}86885DECAF023686885E5CAF0166885E46885E3CAF0,484ZZ136868CAD0FB18900BA9FD4CA4F6A90085E385E4A5E585E9A5EF85ECA90085E6A2080A26Nj}E606E990,245ZZ071865EC9002E6E6CAD0EF85E5A55885D8A55985D9A5E51865D885D8A5E665D985D9A201A557C909,208ZZB007A2024AB002A20Nk}3A5E365E4F01946E466E3CAF00546E3CAD0FBE6E918A5E365D885D89002E6D9,128ZZA5D885E0A5D985E1A90085E2A200A90095DAE8A5DF95DA0A0A0ANl}0AE895DA05DBE895DAA4E2B1D4A2,222$ZZ0086EAC9809004297FC6EAAA85ECE060B00DA940E0209002A9E01865EC85ECA90885E9A90085D7A2,695.Nm}ZZ080A26D706E990071865EC9002E6D7CAD0EF85D618ADF40265D785D7A00084EBA00884EE18900318,6718ZZ90A9A4EBB1D6E6EB45EA85E8A90085EDNn}A90485E7A90085E9A00206E826E988D0F9A6E9B5DAA4ED91,126BZZD8E6EDC6E7D0E518A5D865EF85D89002E6D9C6EED0C4C6DED00160E6E218A5E0690No}485E09002E6E1,863LZZ85D8A5E185D91890A66068F00AC904F00DAA6868CAD0FBA91685B94C40B96885C368C9809004297F,248VYYC6C3AA8D1606Np}E060B00FA940E0209002A9E0186D16068D160668688D170668688D1806C904900538,16`ZZE904B0F785D6C900F007A90438E5D685D64E18064E180606Nq}D61868688D190685BAA657A90AE003F0,548jZZ08A914E005F002A92885CF85BBA55885CBA55985CC20000618AD180665CB85CB9002E6CC18A5CB65,24Nr}3tZZD485CBA5CC65D585CCAD160685BBA90885BA200006A5D485CDADF40265D585CEA000A208A90085D1,494~ZZ85D0B1CD45C348680A48900818ADNs}170605D085D0E001F00806D026D106D026D1CAD0E4689848A000,192ZZ84D784D4A6D6F0583826D7CAD0FAB1CB05D745D791CBA5D749FF85D7C8C8B1CNt}B05D745D791CBA6D6,860ZZ06D126D4CAD0F9A00018B1CB65D491CBA90838E5D6AA84D446D066D4CAD0F9F002D087A00218B1CB,801ZZ65D491CBNu}18A5D065D1A00191CB189009A5D191CBC8A5D091CB68A818A5CB65CF85CB9002E6CCC8C0,778ZZ08D0CE6068F00AC903F007AA6868CAD0FB606885D56Nv}885D46885D76885D66885D96885D8A6D8CAE0,753ZZFFD00E86D8A6D9D00160CA86D9A000F00286D8A000B1D491D6E6D4D002E6D5E6D6D0D9E6D7D0D5Nw}60,407} 1200,80D:TABLETY2.BASZZFFD00E86D8A6D9D00160CA86D9A000F00286D8A000B1D491D6E6D4D002E6D5E6D6D0D9E6D7D0D5L*