@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 D8uppB!EнѠЍ%ȱЍ%ȱЍ%ȱЍ%%%%%L'rp c%`TheT} device Bn: is now ready.Use the copy command to access. (eg. COPY D:FILE,B2: !!!!#{##w#L|#!U}!!!!!!!!!! ! }#!i0&& c% %!Lx#& c% 4%ԍՍ  $!!,V}!!!!Lx#H8Ih!`!!!!! !!!! !Lx# !'!"!!!! !! !W}`!! !!' c%!Lx#8!!!!)!nn!!!!L$Lx# !X} #!)!!!Lx#L#LI#% c% %LI#ՠ% c% 4%% c% 4%ԍ"#!Ս!& c% 4% Y}ԍՍ& c% 4%LԍՍ ! $L!!!!!! ! ! !Lx# ' c%!!``!!!Z} !!`! !L"! #L!L"!!!!! $!! $! #L$,!Lx# $#$!! $& c%![}ԭ! '% $!! !%7& c%!ԭ! '% $ !!! !*X& c%!ԭ! '% $L!!L$r& c%\}L %R@6!! Ϡ& c%!!! !! !!!!W1! $%! !  Y0]}`!`+#Hh` إLc%0! %!!ɛ𩀅 ذ `u%v%Lt%u%v%t%0 ^}%Ll% %Ll%) % %`L%L%Do you wish to specify the boot sector information (Y/N)Enter boot sector coun%&t Enter _}load address Enter run address Enter initialization address Load file initiation address = Load file run address = `}Insert into boot sector (Y/N)How many sectors to clearMake disk #1 into boot disk (Y/N)Sector count exceeds 25&K'Thea} boot sector count is Not a load filSpecified load address is is not lowest addres of filtor count exceeds 25&K'The`0100 ; MAKEBOOT (FOR OS/A+)0110 ; BY BOB MARTIN0120 ; (c)1989, ANTIC PUBLISHING INC.0130 ; MAKE BOOT DISK FROM DOS F c}ILE0140 ;0150 MEMTOP = $6A0160 MEMLO = $02E70170 HATABS = $031A0180 CH = $02FC0190 CR = $000200 BUF1 = $050002 d}10 BUF2 = $06000220 ;0230 INBUFF = $F30240 CIX = $F20250 LBUFF = $05800260 FR0 = $D40270 FR1 = $E00280 ICBAL = e}$03440290 ICBLL = $03480300 ICAX1 = $034A0310 ICAX2 = $034B0320 CIOV = $E4560330 ICCOM = $03420340 AFP = $D8000350 f}FASC = $D8E60360 IFP = $D9AA0370 FPI = $D9D20380 ;0390 ; LOOK FOR AN EMPTY SPOT IN0400 ; THE HANDLER ADDRESS TABLE g}0410 ;0420 *= $70000430 ;0440 INSERT0450 LDX #00460 NEXTPLACE0470 LDA HATABS,X0480 BEQ ESPOT0490 h} INX 0500 INX 0510 INX 0520 BNE NEXTPLACE0530 BEQ INSERT0540 ;0550 ; FOUND AN EMPTY SPOT0560 ;0570 i}ESPOT0580 LDA #$420590 STA HATABS,X0600 LDA #BTAB&$FF0610 STA HATABS+1,X0620 LDA #BTAB/$01000630 j} STA HATABS+2,X0640 ;0650 ; FIND THE E: HANDLER0660 ;0670 EFIND0680 LDX #00690 ELOOP0700 LDA HATABS,X0710 k} CMP #'E0720 BEQ EFND0730 INX 0740 INX 0750 INX 0760 BNE ELOOP0770 BEQ EFIND0780 ;0790 ; F l}OUND THE E: POINTER0800 ;0810 EFND0820 LDA HATABS+1,X0830 STA $D00840 LDA HATABS+2,X0850 STA $D10860 m} LDY #40870 LDA ($D0),Y0880 STA EGET+10890 INY 0900 LDA ($D0),Y0910 STA EGET+20920 INY 0930 n} LDA ($D0),Y0940 STA EPUT+10950 INY 0960 LDA ($D0),Y0970 STA EPUT+20980 ;0990 INC EGET+11000 o} BNE L0131010 INC EGET+21020 L0131030 INC EPUT+11040 BNE L0121050 INC EPUT+21060 ; ------------------- p}----------4000 ; OS/A+ VERSION4010 ;4020 L0124030 ;4040 ; SET THE LOMEM POINTER4050 ;4060 LMP4070 LDA #LAST&$FF q}4080 STA MEMLO4090 LDA #LAST/$01004100 STA MEMLO+14110 ;4120 LDA #IMSG&$FF4130 LDY #IMSG/$01004140 r} JSR PRINTE4150 ;4160 CU20 RTS 4170 ;4180 IMSG4190 .BYTE CR,CR,"The device"4200 .BYTE " Bn: is now"4210 s} .BYTE " ready.",CR4220 .BYTE "Use the copy command"4230 .BYTE " to access.",CR4240 .BYTE " (eg. COPY D:FILE," t}4250 .BYTE "B2: ",')+1284260 ;4270 *= $21004990 ; -----------------------------5000 ;5005 ; HANDLER AND HANDLE u}R TABLE5010 ; FOR "B:" (MAKEBOOT)5015 ; HANDLER5020 ;5025 ;HANDLER TABLE5030 ;5035 BTAB5040 .WORD BOPEN-15045 v} .WORD BCLOSE-15050 .WORD NOFNT-15055 .WORD BPUT-15060 .WORD STATUS-15065 JMP NOFNT5070 ;5075 ;HANDLE w}R VARIABLES5080 ;5085 HEADER .BYTE $065090 HOLDA .BYTE $005095 HOLDX .BYTE $005100 STATS .BYTE $005105 SECNO .WORD $01 x}5110 BYTNO .BYTE $005115 MAXSEC .WORD $005120 INFOBY .BYTE $005125 MFLAG .BYTE $005130 RUNADR .WORD $00 ;INTADR must5135 y} INTADR .WORD $00 ;follow RUNADR5140 LOADAD .WORD $005145 CURMEM .WORD $00 ;LASTAD must5150 LASTAD .WORD $00 ;follow CURME z}M5155 ;5160 ;HANDLER OPEN FUNCTION5165 ;5170 BOPEN5175 LDA #$00 ;clear variables5180 STA BYTNO5185 STA {}SECNO+15190 STA MAXSEC5195 STA MAXSEC+15200 STA MFLAG5205 STA RUNADR5210 STA RUNADR+15215 STA I |}NTADR5220 STA INTADR+15225 LDA #$015230 STA SECNO5235 STA STATS5240 LDA #$065245 STA HEADER525 }}0 JSR CLEAR5255 CLC 5260 LDA $21 ;disk #5265 ADC #$30 ;make ASCII #5270 STA MSG2A5275 LDA ~} #MSG2&$FF5280 LDY #MSG2/$01005285 JSR PRINTE5290 JSR YESNO ;Y/N?5295 BNE L0145300 LDA #$80 ;ab }ort with5305 STA STATS ;error = 1285310 JMP EXIT5315 L0145320 LDA #MSG1&$FF ;clear secs?5325 LDY #MSG1 }/$01005330 JSR PRINTE5335 JSR GETNUM5340 BCS L014 ;error?5345 LDA FR05350 STA BUF25355 LDA F }R0+15360 STA BUF2+15365 ORA BUF25370 BEQ BOP045375 BOP015380 JSR PUTSEC ;fill sectors5385 INC SECN }O ;with zeros5390 BNE BOP025395 INC SECNO+15400 BOP025405 LDA BUF25410 BNE BOP035415 DEC BUF2+15 }420 BOP035425 DEC BUF25430 BIT BUF2+15435 BPL BOP015440 BOP045445 LDA #05450 STA SECNO+15455 S }TA MAXSEC5460 STA MAXSEC+15465 LDA #15470 STA SECNO5475 ;5480 JMP EXIT5485 ;5490 ;HANDLER SUBROUTINES }5495 ;5500 ; 1) Store load address and5505 ; end of load address5510 ;5515 LODADR5520 PHA ;calc index &5 }525 TYA ;store load5530 SEC ;address &5535 SBC #3 ;end of load5540 EOR #$FF5545 }TAY 5550 INY 5555 PLA 5560 STA CURMEM,Y5565 RTS 5570 ;5575 ; 2) Get two 2-byte5580 ; load addresses }5585 ;5590 LDINFO5595 LDA INFOBY5600 BNE L0075605 LDA #45610 STA INFOBY5615 L0075620 DEC INFOBY5 }625 LDY INFOBY5630 LDA HOLDA5635 JSR LODADR5640 LDY INFOBY5645 BEQ LD035650 CPY #25655 BNE }LD025660 ;5665 LDA CURMEM ;check for5670 CMP CURMEM+1 ;appended file5675 BNE LD025680 CMP #$FF5685 } BNE LD025690 LDA #45695 STA INFOBY5700 LD025705 JMP EXIT5710 LD035715 JSR INRUAD5720 BEQ LD02572 }5 BNE L0085730 ;5735 ; 3) Check for load file run5740 ; or init. address5745 ; If CURMEM & LASTAD5750 ; a }re <$2E0 or >$2E35755 ; THEN Z=05760 ; ELSE Z=15765 ;5770 INRUAD5775 LDA CURMEM+15780 CMP LASTAD+15785 } BNE IRA015790 IRA025795 CMP #25800 BNE IRA015805 LDA #$DF5810 CMP CURMEM5815 BCS IRA025820 }CMP LASTAD5825 BCS IRA025830 LDA #$E35835 CMP CURMEM5840 BCC IRA025845 CMP LASTAD5850 BCC IRA02 }5855 LDA #05860 IRA015865 RTS 5870 ;5875 ; 4) Check for load address5880 ; less than initial5885 ;5890 L00 }85895 LDA LOADAD+15900 CMP CURMEM+15905 BCC LF015910 BNE LF025915 LDA LOADAD5920 CMP CURMEM592 }5 BEQ LF015930 BCC LF015935 LF025940 LDA #MSG6&$FF ;LOADAD>CURMEM5945 LDY #MSG6/$01005950 JSR PRINTE }5955 LDY #1685960 STY STATS5965 JMP EXIT5970 ;5975 ; 5) Calculate sector and byte5980 ; for new load add }ress5985 ;5990 LF015995 SEC ;Find offset6000 LDA CURMEM6005 SBC LOADAD6010 STA BUF26015 LD }A CURMEM+16020 SBC LOADAD+16025 STA BUF2+16030 LDA BUF2 ;calc byte6035 AND #$7F6040 STA BYTNO604 }5 LDX #76050 L0096055 CLC ;calc sector6060 ROR BUF2+1 ;divide by 1286065 ROR BUF26070 DEX }6075 BNE L0096080 INC BUF26085 BNE LF116090 INC BUF2+16095 LF116100 LDA BUF2 ;Load sec if dif610 }5 CMP SECNO6110 BNE LDI16115 LDA BUF2+16120 CMP SECNO+16125 BEQ LDI26130 LDI16135 LDA BUF26140 } STA SECNO6145 LDA BUF2+16150 STA SECNO+16155 JMP GETSEC6160 LDI26165 JMP EXIT6170 ;6175 ; 6) Save } run and init. address6180 ;6185 STIRAD6190 JSR INRUAD6195 BNE IR016200 JSR CMPMEM6205 BCC IR016210 } LDA CURMEM6215 AND #$0F6220 TAY 6225 LDA HOLDA6230 STA RUNADR,Y6235 INC CURMEM6240 JMP EXIT6 }245 IR016250 JMP L0056255 ;6260 ; 7) Process header information6265 ; for start of load file6270 ;6275 FSTSIX62 }80 CPY #$046285 BEQ FSS16290 JMP FS016295 ;6300 FSS16305 LDA #FM1&$FF ; specify6310 LDY #FM1/$0100 } ;load6315 JSR PRINTE ; information6320 JSR YESNO6325 BNE FS026330 JMP FS016335 ;6340 FS026345 }LDA #FM2&$FF ; get sector6350 LDY #FM2/$0100 ; count6355 JSR PRINTE6360 JSR GETNUM6365 BCS FS026370 } LDA FR06375 BEQ FS036380 STA BUF1+16385 ;6390 FS036395 LDA #FM3&$FF ; get load6400 LDY #FM3/$0100 ;ad }dress6405 JSR PRINTE6410 JSR GETNUM6415 BCS FS036420 LDA FR06425 ORA FR0+16430 BEQ FS036435 } LDA FR06440 STA BUF1+26445 STA LOADAD6450 LDA FR0+16455 STA BUF1+36460 STA LOADAD+16465 ;6470 FS }046475 LDA #FI4&$FF ; get init6480 LDY #FI4/$0100 ;address6485 JSR PRINTE6490 JSR GETNUM6495 BCS FS }046500 LDA FR06505 ORA FR0+16510 BEQ FS056515 LDA FR06520 STA BUF1+46525 LDA FR0+16530 STA } BUF1+56535 ;6540 FS056545 LDA #FM4&$FF ; get run6550 LDY #FM4/$0100 ;address6555 JSR PRINTE6560 JSR G }ETNUM6565 BCS FS056570 LDA FR06575 ORA FR0+16580 BEQ FS066585 LDA #$4C6590 STA BUF1+66595 }LDA FR06600 STA BUF1+76605 LDA FR0+16610 STA BUF1+86615 ;6620 FS066625 LDA #06630 STA HEADER6635 } JSR PUTSEC6640 JMP LDINFO6645 ;6650 FS016655 LDA HOLDA ; get load6660 STA LOADAD+1 ; address6665 } LDA CURMEM ; from file6670 STA LOADAD6675 LDA HOLDA6680 DEC HEADER6685 LDY HEADER6690 CPY #4 } ;Y<46695 BCS FS07 ;no6700 JSR LODADR6705 JMP EXIT6710 FS076715 CMP #$FF ;load file?6720 BEQ }EXIT6725 LDA #MSG5&$FF6730 LDY #MSG5/$01006735 JSR PRINTE6740 LDY #168 ;error if not6745 STY STAT }S ;load file6750 ;6755 ;GET STATUS AND EXIT HANDLER6760 ;6765 STATUS6770 EXIT6775 LDY STATS6780 TYA };Error in Y6785 NOFNT RTS 6790 ;6795 ; 8) Clear output buffer6800 ;6805 CLEAR6810 LDX #$7F6815 LDA #$006820 C }LR16825 STA BUF1,X6830 DEX 6835 BPL CLR16840 RTS 6845 ;6850 ; 9) Check for end of load6855 ; C=0 CU }RMEM > LASTAD6860 ; C=1 CURMEM <= LASTAD6865 ;6870 CMPMEM6875 LDA LASTAD+16880 CMP CURMEM+16885 BCC L00 }36890 BNE L0036895 LDA LASTAD6900 CMP CURMEM6905 L003 RTS 6910 ;6915 ;HANDLER PUT BYTE FUNCTION6920 ;6925 } BPUT6930 STA HOLDA ;save byte6935 LDY HEADER ;from CIO6940 BEQ BP026945 JMP FSTSIX6950 BP026955 } LDA INFOBY6960 BNE INF116965 JSR CMPMEM ;end of load?6970 BCS BP01 ;no6975 INF116980 JMP LDINFO698 }5 BP016990 JMP STIRAD ;run or init?6995 L0057000 LDX BYTNO7005 LDA HOLDA7010 STA BUF1,X ;save in outpu }t7015 INC CURMEM ;buffer7020 BNE L0047025 INC CURMEM+17030 L0047035 INC BYTNO ;end of sector7040 } BPL L006 ;yes7045 JSR PUTSEC ;save sector7050 INC SECNO7055 BNE LP047060 INC SECNO+17065 LP047070 } JSR GETSEC7075 LDA #07080 STA BYTNO7085 BEQ EXIT7090 ;7095 L0067100 JSR CMPMEM7105 BCS EXIT71 }10 JMP PUTSEC7115 ;7120 ;HANDLER CLOSE FUNCTION7125 ;7130 BCLOSE7135 BIT STATS7140 BPL BCL017145 JMP E }XIT7150 BCL017155 JSR PUTSEC7160 ;7165 LDA #17170 STA SECNO7175 LDA #07180 STA SECNO+17185 JS }R GETSEC7190 ;7195 LDA #MSG4&$FF ; sector7200 LDY #MSG4/$0100 ; count7205 JSR PRINTE7210 LDA MAXSEC72 }15 STA FR07220 LDA MAXSEC+17225 STA FR0+17230 JSR PNUM7235 JSR BCLSUB7240 BEQ BCL037245 LDA } MAXSEC7250 STA BUF1+17255 ;7260 BCL037265 LDA INTADR ; init.7270 ORA INTADR+1 ; address7275 BEQ BC }L047280 LDA #FM5&$FF7285 LDY #FM5/$01007290 JSR PRINTE7295 LDA INTADR7300 STA FR07305 LDA INTAD }R+17310 STA FR0+17315 JSR PNUM7320 JSR BCLSUB7325 BEQ BCL047330 LDA INTADR7335 STA BUF1+47340 } LDA INTADR+17345 STA BUF1+57350 ;7355 BCL047360 LDA RUNADR ; run7365 ORA RUNADR+1 ; address7370 } BEQ BCL057375 LDA #FM6&$FF7380 LDY #FM6/$01007385 JSR PRINTE7390 LDA RUNADR7395 STA FR07400 LD }A RUNADR+17405 STA FR0+17410 JSR PNUM7415 JSR BCLSUB7420 BEQ BCL057425 LDA #$4C7430 STA BUF1+6 }7435 LDA RUNADR7440 STA BUF1+77445 LDA RUNADR+17450 STA BUF1+87455 ;7460 BCL057465 JMP PUTSEC7470 };7475 BCLSUB7480 LDA #FM7&$FF7485 LDY #FM7/$01007490 JSR PRINTE7495 JMP YESNO ;Y/N?7500 ;7505 ;I/O S }UBROUTINES7510 ;7515 ; 1) Read and write to disk7520 ;7525 GETSEC7530 LDY #$527535 LDA #$407540 BNE DISKIO }7545 PUTSEC7550 LDA MAXSEC+1 ; Check for7555 BEQ L010 ; too many7560 LDA MFLAG ; load sectors7565 } BNE L0107570 LDA #MSG3&$FF7575 LDY #MSG3/$01007580 JSR PRINTE7585 INC MFLAG7590 L0107595 LDA MAXSE }C+17600 CMP SECNO+17605 BCC PU027610 BNE PU017615 LDA SECNO7620 CMP MAXSEC7625 BCC PU017630 PU }027635 LDA SECNO7640 STA MAXSEC7645 LDA SECNO+17650 STA MAXSEC+17655 PU017660 LDY #$57 ; Use #$ }507665 LDA #$80 ; for no-verify7670 DISKIO7675 STY $03027680 STA $03037685 LDA #$317690 STA $03 }007695 LDA $217700 STA $03017705 LDA #$807710 STA $03087715 LDA #$0F7720 STA $03067725 LDA } #BUF1&$FF7730 STA $03047735 LDA #07740 STA $03097745 LDA #BUF1/$01007750 STA $03057755 LDA SEC }NO7760 STA $030A7765 LDA SECNO+17770 STA $030B7775 JSR $E4597780 BMI ERROR7785 RTS 7790 ERROR }7795 LDA $03037800 STA STATS7805 TAY 7810 RTS 7815 ;7820 ; 2) Y/N - Result in accumulator7825 ; Y = }17830 ; N = 07835 ;7840 YESNO7845 LDA #$FF7850 STA CH7855 YN17860 LDA CH ;Get 1 character7865 } CMP #43 ;Y?7870 BNE YN27875 LDA #17880 BNE YN47885 YN27890 CMP #35 ;N?7895 BNE YN17900 } LDA #07905 YN47910 PHA 7915 LDA #$FF7920 STA CH7925 PLA 7930 RTS 7935 ;7940 ; 3) Print the inte }ger in FR07945 ;7950 PNUM7955 JSR IFP7960 JSR FASC7965 LDA INBUFF7970 LDY INBUFF+17975 JMP PRINTE }7980 ;7985 ; 4) Get a number7990 ; result in FR07995 ;8000 GETNUM8005 LDA #$308010 STA LBUFF8015 LDX #1 }8020 STX HOLDX8025 NOTCR8030 JSR EGET ;Get a number8035 LDX HOLDX8040 INC HOLDX8045 STA LBUFF,X };Store it at8050 CMP #$9B ;$5808055 BNE NOTCR8060 LDA #LBUFF&$FF ;Point to8065 STA INBUFF ; ASCII st }ring8070 LDA #LBUFF/$01008075 STA INBUFF+18080 LDA #08085 STA CIX8090 JSR AFP ;ASCII to FP8095 } BCS GN01 ;error if C set8100 JSR FPI ;FP to integer8105 GN01 RTS 8110 ;8115 ; 5) Print text to screen8120 } ; Low byte of text in8125 ; accumulator, High byte8130 ; of text in Y register8135 ;8140 PRINTE8145 STA MS }GN+18150 STY MSGN+28155 JMP MSGN8160 EP028165 INC MSGN+18170 BNE MSGN8175 INC MSGN+28180 MSGN8185 } LDA MSGN8190 BEQ EP048195 BMI EP058200 JSR EPUT8205 JMP EP028210 EP048215 JSR PNTCR8220 J }MP EP028225 ;8230 EP058235 AND #$7F8240 BEQ EP068245 JSR EPUT8250 ;8255 PNTCR8260 LDA #$9B8265 J }SR EPUT8270 EP06 RTS 8275 ;8280 ;JUMP TO SCREEN EDITOR8285 ; PUT BYTE ROUTINE8290 ;8295 EPUT JMP EPUT8300 ;8305 ;JUMP } TO SCREEN EDITOR8310 ; GET BYTE ROUTINE8315 ;8320 EGET JMP EGET8325 ;8330 ;8335 FM1 .BYTE CR,"Do you wish to "8340 } .BYTE "specify the boot",CR8345 .BYTE " sector information "8350 .BYTE "(Y/N)",'?+1288355 ;8360 FM2 .BYTE CR,"E }nter boot sector"8365 .BYTE " count ",1288370 ;8375 FM3 .BYTE CR,"Enter load "8380 .BYTE "address ",1288385 ;83 }90 FM4 .BYTE CR,"Enter run "8395 .BYTE "address ",1288400 ;8405 FI4 .BYTE CR,"Enter "8410 .BYTE "initialization " }8415 .BYTE "address ",1288420 ;8425 FM5 .BYTE CR,"Load file "8430 .BYTE "initiation address "8435 .BYTE "= " },1288440 ;8445 FM6 .BYTE CR,"Load file "8450 .BYTE "run address "8455 .BYTE "= ",1288460 ;8465 FM7 .BYTE CR,"In }sert into "8470 .BYTE "boot sector (Y/N)"8475 .BYTE '?+1288480 ;8485 MSG1 .BYTE CR,"How many sectors"8490 .B }YTE " to clear",'?+1288495 ;8500 MSG2 .BYTE CR,"Make disk #"8505 ;8510 MSG2A .BYTE $31," into boot"8515 .BYTE " disk } (Y/N)",'?+1288520 ;8525 MSG3 .BYTE CR,"Sector count"8530 .BYTE " exceeds 25",'5+1288535 ;8540 MSG4 .BYTE CR,"The bo }ot sector"8545 .BYTE " count is ",1288550 ;8555 MSG5 .BYTE CR,"Not a load"8560 .BYTE " fil",'e+1288565 ;8570 MS }G6 .BYTE CR,"Specified load"8575 .BYTE " address is",CR8580 .BYTE " is not lowest"8585 .BYTE " addres of fil" }8590 .BYTE 'e+1288595 ;8600 LAST .END address is",CR8580 .BYTE " is not lowest"8585 .BYTE " addres of fil" .AM1" SVX5 6 7 8 90V9 T9 : ; <0V? > < : 9 8 7 6 V5TATV: < >> < : < V>}5 T5T5 : < V> 5 : >5 > ? V? 9 A 9 < ?5 V < > ?? > < > V ?5 T5T5 9 < V }? 9 < @: @ A V A > T > A > : 5 V : < > T> T> < : < V>5 T5. 2 5 V8 2 5 82 8 }7 V7 3 6 . 3 7T7 V7 9 : 9 : 9 : 7 V5>> 7 ; > V< T<> < 5 < 5 V:0T0V.33} T3 2 0 TV0 . - .' ) * V+00 T0 . , TV, + * +T+ , . V0 20) + , V. 0}.T. 0 1 V2 )* +-V.0.TV.33 T3 2 0 TV0 . - .' ) * V+00 T0 . , TV }, + * +T+ , . V!0')*V"+.0,V#+0)0V$'. : T: T: T:V%>A<< ; V&< 2 5 8 :} <: V'<?:: 9 V(: . 3 5 7 : 7 3 V)2 3 5 7 8 : > < V*< . 0 28 7 5 V+3 4 5 6 7 : }< : V,: . 3 7T7 :V->A<< ; V.< 2 5 8 : <: V/<?:: 9 V0: . 3 7 :T:V1<35}6V27:08V37050V43T?TV5T77 3 7 3 V68TT0V7T88 3 8 3 V89TT0V9T99 3 9 3} V::T<0V;<:: 7 5 . V<3T?TV=T77 3 7 3 V>8TT0V?T88 3 8 3 V@9TT0VAT9}9 3 9 3 VB:T<0VC<:: 7 5 . VD3T?TVE: 9 8 7 6 5 4 3 VF2 1 0 / .TVG  "T+}VH)T.TVI8 7 6 5 4 3 2 1 VJ0 / . - ,TVK   T)VL'T3TVM: 9 8 7 6 5 4 3 V}N2 1 0 / .TVO  "T+VP)T.TVQ8 7 6 5 4 3 2 1 VR0 / . - ,TVS   T)VT'}T3T 3 VU75 3 75 3 VV5 3 5 7 3: 7 VW: 7 < :7 5 3 VX7 5:03 VY75 3 75 3 VZ5 3 }5 7 3: 7 V[: 7 < :7 5 3 V\7 3 53 3T3 V]75 3 75 3 V^5 3 5 7 3: 7 V_: 7 < :7} 5 3 V`7 5:03 Va75 3 75 3 Vb5 3 5 7 36Vc7TT0VdT:?TVT`VT`VT`VT0<T}V2 3 55 3 2 3 V52 T2TT V2 T2T 2 3 V3 T 5 T3T V 9 : << : 9 : V <3 T3}TT V 3 T4T 4 5 V 5 T 7 T T0V 2 3 5 T5 T5 3 2 3 V52 T2TT V, T,T , + V+} T * T+T VT%T%VT55 TT V4 T4T4 3 T 3 T3 V20T0V+T++ 0 . , V+ T}T T0VT++ TT VT'T'TV, T,T,TT V+ T+T+T +VT0('V&0&TV+T+}+ 0 . , V+ TT T0VT++ TT V T'T'TV!T$'T'TV"'(0)V#T'T&V$"TT0V}%8T8T88 T V&8 T TT0V'7T7T77 T V(7 T TT0V)T0TT 8 V*8 T TT0V+T0TT 7 V,}7 TT %0V-8T8T88 T V.8 T TT0V/7T7T77 T V07 TT T0V1T03T3TV23405V3}T3T2V4.T:TV5T%/T%V6$TT0V7T$/T$V8#TT0V9T#/T#V:"T!0V;!"/T"V}<'TTV=T%/T%V>$TT0V?T$/T$V@#TT0VAT#/T#VB"T!0VC!"/T"VD'TT}VE7 6 5 4 3 2 1 0 VF/ . - , +TVGT0T'VH&T&TVI5 4 3 2 1 0 / . VJ- , + * )TVK}T0T&VL"T.TVM7 6 5 4 3 2 1 0 VN/ . - , +TVOT0T'VP&T&TVQ5 4 3 2 1 0 / .} VR- , + * )TVST0T&VT"T.TVU1T10T0VV/T/.3 T VWT`VX3 T320T VY1T}10T0VZ/T/.3V[T+T+V\. T,++ V]1T10T0V^/T/.3 T V_T`V`3 T320}T Va1T10T0Vb/T/.3TVc3TT0VdT87TVT`VT`VT`VT09TVT"T"VT}"T"TV"&#&V$!$!V !T!T!V !T!$TV $'%+V &T&"&V T}"T"VT"T"VT&T&VT'T'VT"T"VT&T#VT$T)TV)TVT"}T$VT"T"TVT$T$VT$T$TVT"T"VT"V"V VT" }T$VT"T"TVT$T$V T$T$TV! /T !V""0$V#T"TV$TT0V%T"T }"V&T"T"V'T"T"V(T"T"V)T"T"V*T"T"V+T"T"V,T"0V-T"T"V.T }"T"V/T"T"V0T"T'V1$0 !V2"0V3T.T.V4T7TV5T'/T'TV6'TT0V }7T'/T'V8*TT0V9T*/T*V:+T*0V;*+0,V<+TTV=T'/T'TV>'TT0V?T'/T' }V@*TT0VAT*/T*VB+T*0VC*+0,VD+TTVET`VFT`VG  TVHT TVIT`VJT`VK}  TVLTTVMT`VNT`VO  TVPT TVQT`VRT`VS  TVTTTVU.}T.-T-VV,T,+T+VW''VXTTVY.T.-T-VZ,T,+T+V['}'V\TTV].T.-T-V^,T,+T+V_''V`TTVa.T.-T-}Vb,T,+0Vc.TT0VdT"TV) * + , -0V- T- . / 00V3 2 0 . - , + * VT}TVVVVV V V !"V "}V VV""V""VV"V"!V" TV} VTTV VTTV  VV V V} VTTV V TTV!/TV" 0V#/T0V$" T" T" T}" T"V%  V&  V'V(V)  V*  V+V,0}V-  V.  V/V0T%V1 0V2 0V3/T0V4TTV5T..} T . T V6,TT0V7T,, T , T V8-TT0V9T-- T - T V:.T00V;0.. TT V<T07TV=T}.. T . T V>,TT0V?T,, T , T V@-TT0VAT-- T - T VB.T00VC0.. TT VDT07TVE}T`VFT`VGT0TVH TTVIT`VJT`VKT0T VLTTVMT`VNT`VOT0TVP TTVQT`VRT}`VST0T VTTTVU"T"!T!VV T TVW""VXT T VY"T"!T}!VZ T TV[""V\ T TV]"T"!T!V^ T TV_""V`T} T Va"T"!T!Vb T VcTT0VdTT0$TV_""V`T`AM1 E SVX0T02T25T52T2V5 T5 2T29 T9 9`VT7754422V00.}.-+0+V$T&T)T&TV)(T++`V$T&T)T&TV)(T++`V '$T )$T ,$T  })$T V ,T+$T ..0.0V '$T )$T ,$T )$T V ,T+$T ..0.0V 0 / . - , +0+$T(TV+$T )$!}T (T&&$T V0 / . - , +0+$T(TV+$T )$T (T&&$T V- T- T( T( TV-0-0-`V/"}$T /$T /T-T+TV0:T:T: 9 7<`V:T:T: 9 7<`:T:T: 9 7<`V0 000#}00T0VTV)),,00$)V),00$$))V,,00$)),V00$T$((++$}V.0.0.0.0V.`0 0 . . , , + + V)VT$,0T+HV )),,00$)V!),00$$))V%}",,00$)),V#00$T$((++V$.0.0.0.0V%.`0 0 . . , , + + V&)V'T ,0T-H&}V(..001133V)55331100V*..T.....V+T3GT33T33V,,,..0'}011V-331100..V.,,T,,_TV/, , T,,T,,+$+$V0)),,00$)V1),(}00$$))V2,,00$)),V300$T$((++V4.0.0.0.0V5.`0 0 . . , , + + V6)})V7, , T,,T,,+$+$V8` `V9` `V:` `V;$T $T $T $T V<0T0 0T0V=0T0`V>``*}V? ` `V@` `VA` `VB` `VC$T $T $T $T VD0T0 0T0VE0T0`VF``VG ` `VH.$T 0$T 1+}$T 3$T VI5$T 3$T 1$T 0$T VJ.$T T..`VKT3GT33T33VL,$T .$T 0$T 1$T VM3$T 1$T ,}0$T .$T VN,$T T,,0,,TVO,T,$T ,$T +HVP` `VQ` `VR` `VS$T $T $T $T VT0T0-} 0T0VU0T0`VV``VWGTHT0VX753100THV)0)0/0/0V)05/0//0VT222/`V-.}-++%`V0/T00V&$0((`V0/T00V&$0((`V 0 /T 0 0V )T'$T ++0+0V /} 0 /T 0 0V )T'$T ++0+/TV +0+0(0T0V$0$0#0#0V+0+0(0T0V$0$0#0#0V(0(0$0$/TV$$0}T $$T $T$0$ T V)$T )$T )$T )TVT.H-0+0T.H-0+0VT.H-0+0T.H-0+0V.....0T1}0VTV$T0VTV)`T`VTVT+$T$+$T +$T V+$T +$T '`VT 0T HVT0)0T(HV $T0V!2}TV")`T`V#TV$T+$T$+$T +$T V%+$T +$T '`V&T 0T HV'T0)0T'HV()V).`**''V*%%3}T%%%%%V+T0GT00.0V,))++,_TV-,`+`V.))T))_TV/) ) T))T))'$'$V0$4}T0V1TV2)`T`V3TV4T+$T$+$T +$T V5+$T +$T '`V6T 0T HV7) ) T))T))'$'$V8 `5}T`V9TV:V;TV<T%0T%0$0V=%0$0"`V>T0$0T$HV?T0'0T(HV@ `T`VATVBVCTVDT%0T6}%0$0VE%0$0"`VFT0$0T$HVGT0%0T'HVH)VI.`*$T '$T VJ%$T$%T%`VKT0GT00.0VL)$T +$T ,7}_TVM,`+`VN)$T T))_TVO)T)$T )$T 'HVP `T`VQTVRVSTVTT%0T%0$0VU%0$0"`VVT8} T 0T)HVW HHT0VXT0  HTHV!0!0 /T 0V0(((((V$V"0"/T"`VT`#`9}V" ""#T""`VT`#`V" ""#T""`V T`&`V %GT%%0%0V T`&`V %GT%%0%0V (`"`V!``V:}(`"`V!``V!0!000V$T $T T0TV#$T #$T #T#T#TVT%H$0"0T%H$0"0V;}T%H$0"0T%H$0"0V0T0VTV `T`VTVVTVT0T00V00`VT0$0TH<}VT0'0T"HV `T`V!TV"V#TV$T0T00V%00`V&T0$0THV'T0%0T)HV(`_TV)`"=}"  V*T)))))V+T%GT%/T%0V,$`'`V-%_T%`V.$$T$$`V/# # T##T##>}%$%$V0 `T`V1TV2V3TV4T0T00V500`V6T0$0THV7# # T##T##%$%$V8T0V9?}TV:)`T`V;TV<T+0T+/T+/TV=+/T+0(`V>T  0THV?T0)0T(HV@T0VATVB)`T`V@}CTVDT+0T+/T+/TVE+/T+0(`VFT  0THVGT0)0T)HVH`_TVI`"$T $T VJ)$T$A})T)`VKT%GT%/T%0VL$`'`VM%_T%`VN$$T$$$`VO#T#$T #$T %HVPT0VQTVR)`T`VSTVTTB}+0T+/T+/TVU+/T+0(`VVT0$0T1HVW$H HT0VXT0&&HTHV``V)))`VT---)`VC}` `V0000V00$T $T V0000V00$T $T V 0000V 00V 00D}00V 00V 0000V000/TV0000V0000VV$T ($T +T*0*TE}V$T $T TTTVTTVTV00T0VTF}V00 /T 0V00 /T 0V00 /T 0V T TVT0 0T0V0T0`V`G}`V ` `V 00 /T 0V!00 /T 0V"00 /T 0V# T TV$T0 0T0V%0T0H}`V&``V' ` `V( ``V)V*TH 0V+GT/T0V,``V-T``V.T0I}H0V/  T  T   $ $V000 /T 0V100 /T 0V200 /T 0V3 T TJ}V4T0 0T0V50T0`V6``V7  T  T   $ $V8)$T ,$T 0$T $)V9),T0$T $$T )$K}T V:,$T 0$T $T)$T ,TV;0$T $$T ($T +$T V<.V=.`0.,+V>)V?T#,0T+HV@)$T ,$TL} 0$T $)VA),T0$T $$T )$T VB,$T 0$T $T)$T ,TVC0$T $$T ($T +$T VD.VE.`0.,M}+VF)VGT %),,0T-HVH `_TVI$T $T $T $T VJ$T$H 0VKGT/T0VL``VM`N}`VNT0H0VO T $T $T HVP)$T ,$T 0$T $)VQ),T0$T $$T )$T VR,$T 0$T $T)$TO} ,TVS0$T $$T ($T +$T VT.VU.`0.,+VV)`T5HVW7H%HT0VXT0HTH`TP}0$T $$T ($T +$T VT.VU.`0.,+VV)`T5HVW7H%HT0VXT0HTH`T no'55STSHAPKECOZZZZLINEYYYSCORSPEETITLEAUTHORLINEXLETRSRLRCHSEMOVMOJUNHEIGHHIR}GHSSTARPLACNAMELINNUCONSOLCOZBR S} T}@ !"#$%&'(U})*+,-./0123456 RED SQUV}ARESBY MARC ABRAMOWITZ$$(C)1989, ANTIC PUBLISHING INC.($$(DO NOT RENUMBER THIS PROGRAM)F A P$d++6W}-?:C:hMhhp`,<@,i<A@T'A@49A @<$x;@, AX}4 AF:A@,&@*+@4 A$$6-+F:A,%@,$AV6-?:<BsD<<A$,]-Y}@-%A %AUC%@%AUY%A%] v9@,$-@368Z},-@7 L68@,-A0a68@,-A@v68@,-A0-68,-A0-68@,-A@[}l68@,-A@-68@,-A0B68@ ,-A@W68,-A0l68@,-A@ ApD\}RAW BOARD_ +@ A#6-/6-KAV'AV%@_"Al"-@@]}&6@6-@@X6-P:@$H:@,%@,l"@AF%6-P:@$H:@,%@,^}+-7"@F(@!"@(@"@(@"@(@_}   U-@#-4(@ |@-@Q(@| U 6-@@#-@`}2(@6 E-@@$(@6-@@E(@O6-@6-=6-P:a}H:,$@,%@O@w6-%@!6-T:,!6-F:Ad,& 8F:A2,, @b}& 8,/%+")"@,*!@/ A  -AdAU+"@!(@!+ Apc}G"@(@!--&@=(@G Ap"G"@ (@!.-&@=(@d}G Ap,O"@ (@!6-%@&@E(@O Ap6O"@(@e}!5-&@&@E(@O Ap@O"@(@!5-%@&@E(@O Af}pBO"@(@!4-&@&@E(@O ApC-"@*!@# A- Apg}D}"@ *!@)(@!?-%@&@N(@d-%@&@s(@} Apq}B%DOS SYSB*)DUP SYSBSMAKEBOOTEXEBbMAKEBOOTM65B7RAG2STEPAMPB3RITZ AMPBmQSQUARES BASBSTRDAT BASBpVCRLABELBASEu"@*!@((@!6-&@E(@[-&@&@k(@u ApFur}"@*!@((@!6-&@F(@\-%@&@k(@u ApG}"@s}*!@((@!>-&@&@N(@d-&@&@s(@} ApHm"@t}*!@((@!6-&@F(@T-&@c(@m ApIO"@(@u}!4-&@&@E(@O ApJG"@(@!,-&@=(@G ApKOv}"@ (@!6-%@&@E(@O ApLm"@*!@((@!6-&@w}E(@S-&@c(@m ApMm"@*!@)(@!7-&@F(@x}T-&@c(@m ApNk"@*!@((@!>-&@&@N(@\-y}&@k(@r-@ C6-@26-@2'6-@236-@2C1%@a"@z}'1%@%@?1%@%@W1%@%@a A1"@'1%@%@{}1 AI"@'1%@%@?1%@%@I AI"@'1%@%@?1|}%@%@I A&A"@'1%@%@71&@A A0A"@'1%@%}}@71%@A A:9"@1&@/1%@9 AN1"@ '1%@%@~}1 AX1"@'1&@&@1 Ab)"@1%@) Al)"@1}&@) Am)"@1%@) An9"@1&@/1&@9 Ao9}"@1%@/1%@9 ApI"@'1%@%@?1%@%@I A}q1"@'1%@&@1 Ar1"@'1%@%@1 As"@1&@}R-@2)@2)@2)@20'>6-%@H APR A' -"@'(@ }="@(@ --&@=(@ ="@ (@ .-&@=(@ }E"@ (@ 6-%@&@E(@ E"@(@ 5-&@&@E(@} E"@(@ 5-%@&@E(@ $E"@(@ 4-&@&}@E(@ %"@*!@((@ 6-&@E(@ S-&@b(@ p-}&@(@ &s"@ *!@)(@ ?-%@&@N(@ d-%@&@}s(@ 'k"@*!@((@ 6-&@E(@ [-&@&@k(@ (}k"@*!@((@ 6-&@F(@ \-%@&@k(@ )s"@*!@}((@ >-&@&@N(@ d-&@&@s(@ *c"@*!@((@} 6-&@F(@ T-&@c(@ +E"@(@ 4-&@&@E(}@ ,="@(@ ,-&@=(@ -E"@ (@ 6-%@&@}E(@ .c"@*!@((@ 6-&@E(@ S-&@c(@ /c"}@*!@)(@ 7-&@F(@ T-&@c(@ 0k"@*!@((@} >-&@&@N(@ \-&@k(@  A l(@! -&@/(@}=-&@L(@Z-&@i(@l$"@6-@$"@* @}$("@* @%6-@ ($("@*!@%6-@($("@* @%6-@($(}"@*!@%6-@($("@* @%6-@($("@* @%6-@($2#"}@*!@* @/6-@2$("@* @%6-@($("@ *!@%6-@($ (}"@* @%6-@($("@* @%6-@($ ("@* @%6-@($*("}@* @%6-@($4("@*!@%6-@($>("@* @%6-@($H("@}* @%6-@($R("@*!@%6-@($ $ '6-@26-@2'6-@2 )"@}1%@) A8 A"@1%@71%@&@A A8 )"@1%@)} A8 A"@'1%@&@71%@A A8 A"@1%@71%@&@}A A8 A"@'1%@&@71%@A A8 A"@1%@71%@&}@A A8 q"@1%@71%@&@O1%@&@g1%@&@q }A8 Y"@ 1%@71%@&@O1%@&@Y A8 Y"@1%@}71%@&@O1%@&@Y A8 Y"@1%@71%@&@O1%@}&@Y A8 Q"@1%@71%@&@G1&@Q A8 Y"@1%}@71%@&@O1%@&@Y A8 A"@1%@71%@&@A} A8 A"@1%@71%@&@A A8 A"@1%@71%@&@}A A8 Y"@1%@71%@&@O1%@&@Y A8 Y"@1%@}71%@&@O1%@&@Y A8 O"@1%@71%@&@O1}%@&@21#"@2*"@2*"@216-%@<$76-@26-@2'6-@271&@})"@1&@) AH1"@'1&@&@1 AH1"@'1&@&}@1 AH1"@'1%@&@1 AH1"@'1&@&@1 AH)"}@1&@) AH1"@'1&@&@1 AHa"@'1&@&@?1}&@&@W1&@&@a AH9"@ 1&@/1&@9 AHI"@}'1&@&@?1&@&@I AHA"@'1&@&@71&@A AH}I"@'1&@&@?1&@&@I AHI"@'1&@&@?1&@}&@I AH1"@'1&@&@1 AH1"@'1&@&@1 AH)}"@1&@) AHI"@'1&@&@?1&@&@I AHI"@'1}&@&@?1&@&@I AH?"@'1&@&@?1&@&@1#}"@2*"@2*"@216-&@$@' A` -@6@6-@} 1"@2AP' @6-%@' AP@s-@@5A+$@,%@}]2$@+@&,a sAN%21-@N(@} d-@6@&6-:-@@J1&@V"@2d6-%@}"@'' APy6 -(@>:,'-&@6(@    C6-%@+6-%@$+}@&,96-&@C AP0 $G"@2APpI +@ A'6. 36-@?6-}@I Aqpz-@A W6.LINES: )67B:,%@,.=:,56-@M67B:,%@,. W }Aqp?6.SCORE: )67B:,%@,.=:,56-@? AqpE6. press start!6-@-6-@96-@}E6-@ ArHA F:@ ,HF:B2y,@*T:,"@A` AqPX$ +@} A$;@ ,b76. RED SQUARES!6-@-6-@7 AqpV6.by marc abramowitz(6-46-@}@6-@ L6-@V Ar6. -@@4-@ @6@J-@%}%@Y(@ }2$@%@@-@%(@7<,  %%2}@AF:@ ,@F:B2y,@*T:,AqP A A9-@B:,-}%9-@6@?%2$+AU',@) ;(@7<,?  (%2}($ p-@%!-&@0(@ T2$@@@Z-l(@7<,p *}y-@%6@*-%@9(@ ]2$@@@c-u(@7<,y 4P%2}36-&@A6-%@MP$> Ar@* ML MOVE ROUTINE *J;;6-C:.h}hhhhhh`,T$(#h +@ A#6-@/6-2(DAW@h(}USE CONSOLE KEYS OR JOYSTICK TO-#LAW@((SELECT OPTIONS:ALAU2#1-@@}1(@select - SPEED<#2-@@2(@option - HEIGHTA#5-@@5(@start - B}EGIN GAMEF#8-@@8(@SPEED (1-50):  P#9-@@9(@HEIGHT (0-10):  Z#}!6-F:A2,!6-F:B2y,[#33F:B2y,"@)T:,"AP\#44"@*"@*T:,"@}AP^#@ -@6@P<2@P@@ d#'"@)"@'6-%@n#"@}6-&@x#'"@)"@'6-%@#"@6-&@#!@P6-@# @}6-@P#!@6-# 6-@# A#6-@P&$D1:SQUARES.BASA0}A@@@@A0A0A0@A@A@A@@@@@press start mowitz*}@@'A@@@@@@@press start mowitz*Pij ABCMLSNESLSEDSQQNUSVSSVT1T2TT1TT2BSMV1M1ML1ML2A1DSLSNS1S1S2S2ML1ML2} }} @!"@#@$@% MACHINE LANGUAGE STRINGERby Andy Bartonfor Antic Mag.2}<kG;A ,;@,;A ,;B,;@,;@,S6-@_6-k6-@F467@,.} %67A ,. 467@,.P9 (} ((3(CONVERT OBJ FILE TO STRING DATA6(9(Z (INPUT OBJ FILE (Dn:xxx)d}2 @27@<@,0D@n+@+@@x(STARTING LINE NO./ A} 6-%6-%@/ BP A(C(,STARTING LINE NO. MUST BE GREATER THEN F(P A F+(}#NAME ML STRING (2 CHARACTERS ONLY)/FB:,"A@ 6. 67B:,%@,.=:, (} AJ)@})@JDISCARD FILE IDENTIFICATION CODE (255,255) A NOMAL EOF-)@)@-6-$}AV%"6- A l  AP6-'6-%@>67B:,%@,.=:,J6-@X6-%@}^6-l6-%@-)@)@-6-$AV%xAf@'-@@+(=-@@}S( $(,e-@"@x()=>:@4, AEARLY EOF$-@@$)@}!!"AU)"@4AP (>:,6-%@!A0" ,S-@@#(%&@16-%@}?6-%@I AS A06^Af'-@@0(CONTB-@@I( [AB@}^&@AB@$JST -> ED REACHEDTS-@@#(%&@- A36-;6-%I6-%@}S A^"@A`c;-@@#(%&@- A;6-%@hi-@@(+-@}@i( $(%&@,%&@)=CHR$()rG A6-%@#6-%16-%@7}!=6-G A| A0ERROR -- EARLY EOF A"( ERROR -- EARLY EOF !!!"&B A AP}(#(DONE5AfBNORMAL EOF[[(SԠthese lines into a disk file then Ҡ them into your basic } programs6-&%@%-@@)(;-@@S(DIM $()] Ao-@@}s(s-@@s( X=USR(ADR(>:@4,2hhhhhhh`>:@4,"}"(),ADR($),,) A$ D1:STRDAT.BAShhh`>:@4,"DRL7c7ERRHOLDWAILINTAPETYPMINBITOTMINBIMINBIITOTMINBIIPAUSTAPETBITBIIMEBIIMETEBIIIMETETOTALMETET!}IMELEFTBIRTIMELEFTBIIROIIVHSTYPMINSTOTMINSMINLTOTMINLMINETOTMINEVHSTAPETSTLTESPMETELPMETEEPMETETOTALMETERT!}IMELEFTSROSTIMELEFTLROLTIMELEFTEROECERROXPTITLE1TITLE2TITLE3TITLE4TITLE5TITLE6TITLE7SPEED1SPEED2SPEED3!}SPEED4SPEED5SPEED6SPEED7MIN1MIN2MIN3MIN4MIN5MIN6MIN7CMODTNULMAA!}@ !} !"#$!}%&'()*+,-./0@1@234!}5 (64(7\(8(9(:(;(<$=(>,?0@4A8B<C@!}DCEFFIGLHOIRJ@K@L@EM@N@OP VCR TAPE TIME!}BY PAUL SHANNON(c)1988, ANTIC PUBLISHING TAPE TIME LABELMAKER"BY GARY COPPOLA$(c)1989, ANTIC PUBLISHI!}NG(I +AR@1AI;@,;@,2--(%  <--!}(%  || F--(%  |||| P--(% ||APE||IME ||!}|| Z--(%  |||| d--(% Ҡ |||| n--(% ٠٠ ||!}|| x--(% ̠ |||| --(% 㮱 |||| --(% !} |||| --(%||| --(%||||| --(%| !} | ||| --(%|  |  | --(% !},,($>-@@>($>-@@ !}>($ >-@@!>($ >-@@"!}>($ +-@@+-@@E-@ $(0-!}@ E( , @JK-@@)-@@3(G-@AK !}T7-@@(3-@A7 h r-@@(|;@,;@,}!}RR;@@,;@@,;@@,;@@,;@@,;@@,;@@,~RR;@,;@,;@,;@!},;@,;@,;@,RR;@,;@,;@,;@,;@,;@,;@,l6!}-@!-@@G(!Do You Want To: )Do CalculationY-@@l()Make a Label> A -@!}@0( Your Choice4> AP!! @)!@A-"@ AP# A0- AI"!}@!-@@+(5 A? API A!p3-@@3(Do You Want: )BETA )VHS6-@!} A --@'@# AP- A0!! @)!@A+"@!-@@!}+(+"@!-@@+(Ӡ"@ A0"@A BETA6-@!} A \-@@<("Is Your BETA Tape: )L-750 )L-830N-@6@R\ AP!! @)!@!}A3-@@3(Enter The Minutes BETA II6-@ A #-@'@# AP!}#" A# A&#!A  A # A0 6-%: ADT"@!-@#@!}0( ̭B-@"@T( NT"@!-@#@0( ̭B-@"@T( !}XI-@"@'( 9-@!@I( ɠb6-@ A l4-@@!}4(Enter The Minutes BETA IIIv#-@(@# AP"Ap#!A  A # A "} 6-% A J-@"@'( 9-@!@ J( ɠ-@A"} ;@,E"@6-A'6-Ap36-A"E6. ̭E"@6-A'6-A"}36-AFE6. ̭6-+',$6-+',$ 6-%6-++&,',$ A $$6-P:A$%?P"},'A>-@"@(+-@!@>( .-@!@$(. A*&"}-@!@&( ɠ46-++&,',$>$$6-P:A$%?P,'AH.-@!@$("}. AR1-@!@ '( ɠ1 AP\ Af VHSp6-@ A z[-@@"};(!Is Your VHS Tape: )T-120 )T-160M-@5@Q[ AP!! @)!@A.-@@"}.(Enter The Minutes SP6-@ A #-@"@# AP#" A# A #"}!A  A # A  6-% A T"@!-@#@/( ӠԭA-@!@T(" }T"@!-@#@/( ӠԭA-@!@T(J-@!@'( " }9-@!@J( Р䠠6-@  A .-@@.(Enter The Minutes LP#-" }@"@# AP"Ap#!A  A # A  6-%$ A .J-@!" }@'( 9-@!@J( Р䠠86-@ A B3-@@3(Enter The Minut" }es EP(ELP)L#-@'@# APV"A@[#!A  A # A` 6-%j A"}tJ-@!@'( 9-@!@J( Р䠠~-@A ;@,P"}"@6-A '6-A@36-A`?6-AFP6. ӠԭP"@6-A`'6-A 36-A"}?6-A'P6. Ӡԭ6-+',$6-+',$6-+',$ 6-%%6-++&,',$ A$$6-P"}:A$%?P,'A=-@"@(+-@!@=( $-@!@$("} '-@!@'( Р6-++&,',$$$6-P:A$%?P,'A($-@!@$("}2'-@!@'( Р<6-++&,',$F$$6-P:A$%?P,'AP.-@!@$("}. AZ1-@!@'( Р1 APd6-@ A n4-@@4(Want T"}o )CONTINUE )PRINTx-@(@- @)!@# AP- A-"@ A# AP"}- A A `6-@ A  PRINT+-@@+(Input Tape Number 3# "}"@A"@3 VHS T-120"@3 VHS T-1603 ---------@A"I&3"} Minutes SP Speed RemainingI3 Minutes LP Speed Remaining,&&3 Minutes EP Speed Remaining6 A `@3 "}A`J"@3 BETA L-750T"@3 BETA L-830^3 ----------h%%3 Minutes BETA II Remainingr"}0&3 Minutes BETA III Remaining0 A `|3 A0 AP ACLEAR SCREEN-@"}@$-@ $( $V-@@#-O(' "} S V$$6-6-$'6-6-'6-$&)-@ @"})(0O-@ @)(Π;-@ @O(蠠:--@ @-("}|| D--@ @-(|| NW-@ @-(򠰠|| ?-@ @"}W(砠|| S--@ @ -(|| X)-@ @)(b)-@ " }@)(l$vERROR TRAP6-F:A, APQ"@!-@@9(Ҡ"!}Ӡ١M-@APQ  AP"@AAAAA `A `A""}A AAAApAA!pA(P ))3!---------------------------------$ 9A "#}'A@9A@f*6.Ҡ B4Z-@@%I6-P:@P%@$++'@"$},&P:'@,,,Z6.7<@,>;@;67@&%@,.7@<&@,H6-@#@@2("%}7@<@,6 R9A'A A9A\+"@!-@@+(f+"&}"@!-@@+(Ӡp$zB6-@!-@@B(Tape Format: )BETA )VHS> A "'}-@@0( Your Choice4> AP!! @)!@A!p?"@!-@@+("(}5 AP? A0I"@!-@@+(Ӡ5 AP? A0I A# BETA A0 A0 ")}_-@A % AP7-@@_(#You can enter a maximum of 6 titles%%( Press to c"*}ontinueP@.@@K:;)@F@P A$ VHS  A0% A00 _"+}-@A % AP7-@@_(#You can enter a maximum of 7 titles$ A"` R AP-@",}@:(Enter Your FIRST TitleN-@@R j > A$ A0)-@@-44> A't #"-}6-@ AP# A1    A1P S AP-@@;(Enter Your SECOND TitleO-@".}@S  > A$p A0)-@@-44> A' #6-@ AP# A1    A"/}1P R AP-@@:(Enter Your THIRD TitleN-@@R  > A%  A0)-@"0}@-44> A' #6-@ AP# A1    A1P S AP-@@;(En"1}ter Your FOURTH TitleO-@@S  > A%p A0)-@@-44> A' #6-@ "2}AP# A1 ( 2  A1P< R AP-@@:(Enter Your FIFTH TitleN-@@R F"3} > A&  A0)-@@-44> A'P #6-@ AP# A1 Z d  A1Pn R "4}AP-@@:(Enter Your SIXTH TitleN-@@R x > A&p A0)-@@-4"5}4> A' #6-@ AP# A1    A1P `"@ AP+-@@H(Enter"6} Your SEVENTH Title\-@@`  J"@ A' # A05-@@9@4J A' 3""7}@6-@% AP/ A1 3 "@ A1P AP <-@@<("Position LABEL"8} in the printer,then h-@@+(ΠΠҠH-@6@d2A @h "9} -@A  %"@*@%6-@ %"@*!@%6-@ %"@*@":}%6-@ %"@*!@%6-@" 6-@ AP& "@ A0P( "@ A0`";}, a A -@ @9(ԠŠԠΠa(#Refer to list for suggested setting6 (=@ !! "<}@)!@@A(PJ A2 \-@@9(Refer to list for the suggested\( maximum number of charac"=}ters ,)(! () allowable for your title,$ _@@ '-@ @2(F(P(">}S(_( 4((((1@@4$ m@@2'-@1@0(3(:("?}=(D(G(N(Q(X(j@@m$ p@@ '-@ @2(F("@}R(a( Ƞp( ̠ \( ̠(*(8( G( Y@@"A}\$ ]@@2'-@1@0(3(:(A(H(O(V(]( & ((#@"B}@&$ s@@1'-@)@2(5(=(@(H(K(S(V(^(p@@"C}s$ ]@@2'-@0@2(5(=(E(M(U(]( 0 ((("D}-@@0$ =-@@=(# A-@@>($ 5 10 15 "E} 20 25 30 35A$ 8-@@5(Enter Speed (BII or BIII):8$& 8-@@5(Enter Speed (SP,LP or "F}EP):8$0 "@ A1: "@ A1D $N 9-@@6(Program Length (in minutes)9$ "G}PRINTER CONTROL CODES 03>:@',>:@d,0INITIALIZE PRINTER &3>:@',>:A,&NLQ PICA 5 3>:@',"H}>:@e,>:,5LS/72 LINE SPACING . 3>:@',>:@w,>:,.LEFT MARGIN M"@*!@<3>:@',>:"I}@,>:@,MSUBSCRIPT FONT M"@*!@<3>:@',>:@,>:@,MSUBSCRIPT FONT @ AP"J}-@@@(Press to print LABEL F@.@@K:;)@F@ "K}PRINT LABEL 3    3    3    $!@$3    $"L}!@$3    $!@$3    .!@*"@.3    ! A"M} AP! AD1:VCRLABEL.BASD2:VCRLABELFUNK  .!@*"@.3    ! A >