@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( 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:ATARIXE}.SYSLu L1 L ;LHL  T`  `8  ɐ     `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.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8: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 ALLOWED697 FREE SECTORS COPYING---D8:COPY32.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- 139ɛ+,' 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 D8u8<<  B JKIHiDiELV`L8 8 BLV`LxT}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`HU}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICV}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iX}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Z}Ln; ` :Y;Y;L;L;)} CHARACTERSET EDITOR by Russ MAY; 9L; ; -9  [} L;D8:; :9 :Y;L- .+Ov4,t) )D1:*.* *D1:*D1: * ppB}AppBA DEHIB V $``HHH˽5*:* ԍЌ }̤͍ Ԍhhh@Hˍ@hL_L*L+)?D* R&1)i0 &L+:+ R& * * s& * *L>+`/) * *}^+^+/)L+m/)3*e4*i *m/) *i/)LS+3*i4*i1)i03*4* * *q`L+}B)j) &%A) &%eU)eV)`L , `(L-,, R&/) /)Lu,/) }`(Lh, ,P R&/)L9,`RLz,v,  `(L,% , R&  `(v,IL},L,FILENAME (SET , R&Lm-v,IL -L-SELECT CHARACTER, R&Lm-v,IL9-L/-ENTER YOUR CHOICE :?- R&Lm-v,ILm-Lf}-PRESS TRIGGER TO RETURN TO MENU-F R&`Lr-n-ԩppҠ5) w, (L-ERROR: - R&n-IL-L-DEVICE TIMEO}UT- R&Lv.n-IL-L- DEVICE DONE- R&Lv.n-IL.L. DISK FULL- R&Lv.n-IL2.L(.FILENAME. R&Lv.n-ILX.LN.}FILE NOT FOUND.? R&Lv.n- &Lo. HAS OCCURRED.a R&I! IL{. L& L&`L...͝.L.)m.})i.QL...L..L.͜.L..`L.8. .L/.L/. L/.i@..`DL%/!/ w,!/LH/L>/}WHICH/8 R&L/0!/ILh/L^/EXCHANGE/U R&L/0!/IL/Lz/WITH/u R&L/0!/IL/L/COPY/ R&L/0!/IL/L/TO/ R}&L/0!/IL/L/RESTORE/ R&L/0!/IL/L/ BLANK OUT/ R&L/0!/IL0L 0LOAD0 R&L/0!/IL/0L(0SAVE0# R&L@0 } SET [1-8] :?02 R& L&LR0K:0O & &;) L&0;)L0;)9L08;)0;)L0L0;)IL0L0L(/`L00}0i "/;)IL0` w,;) & * * *L0` w,0IL1L1 LOADING -- 0 R&L$1L1 SAVING -- 1 R&4*3* R&};)j) &%U)V)F)F)ҭj)̭04*3* &5)IL15)B)j)`0IL1V)U) *L10I}L1V)U) * L&ԩppҩ@) &%;)j)ḙ;)B) `(B) &` L 28J)J)o (Щ }(/ (ЩЩЩ 2( (F)ppҭJ) mO)*(mP)iS)ȱiT)S)T)YXJ) mO)*(}mP)i"S)ȱiT)S)T)J) mO)*(mP)J) mO)*(mP)ȱ10*Ԡ `(LD3(CASE:} |WRAP: |ASC: 32|INT: 0|KEY: 333 R&@) `(L_3HI3\ R&B)j)̠ `(3)L3L3OFF3 R&L3L3ON 3 R&} `(L3 3 ?&/)/)L3L3 | 0|3 ?&/)L3L3 3 ?&XiU)YiV)(}J) &%eeV)U) (/)/)LP5Xi慮Yi(/) &%eU)eV)XiYi(/)} &%ee(J) &%eW)eX)0)0)LJ5U)V) /) &%0)eW)X)} /) &%0)eU)V)W)X)0)L4/)LE4  `(Lb55\ R&  `(L{5|SET|5u R& `(L5| } |5 R& `(L55 R& `(B) &j &%U)V)V)U) (*/ (Щ (jԩ (o (}/)/)L70)0)L7j &%ii/) &%eem0)W)iX)j &%}ii/) &%eem0)U)iV)/)  2 2M/)L67W)X)"J) &%e}U)V)"J) &%8U嬠L7W)X)"J) &%8U嬠U)V)"J) &%e}0)L 6/)L62<Щ<Щ<`*0123456789ABCDEF77L774)L 87 L7L7 7 R&L87dL8L7 7 R&}7 &Ln8L8$8 R&7JJJJ77m77i &7 7N7N7N7N77m77i &`Lr8 +j} &%iW)iX)/)/)L 90)0)L8W)X)U)V)W)X)0)L8m/) `(L8~~~8 R&}U)V) 7U)V)/)L8` L%9!9 A) [%9) A) %7)7)8)9):)?)A)<) w,!9IsL9L9 T}O SWAP9w R&L9!9ItL9L9 TO TRANSFER TO9 R&L9!9IfL9L9 TO TRANSFER FROM9 R&xIL97)7)I L97})La:xI L :87)7)7)IL:7)La:xI L?:9)9)IL<:9)La:xILa:89)9)9)ILa:9)Xi慮Yim8)}i(:) &%eU)eV)XiYi(J) &%eem8)i(:) &%}eW)eX)U)V)<)W)X)<)Xi慮Yim7)i(9) &%eU)eV)XiYi}(J) &%eem7)i(9) &%eW)eX)U)V)A)U)V)A)iW)X})A)iA)<)7)8)9):)L <IL%<?)L-<L9IL-U)V) `(L;=Πՠ=$ R& `(Lc= EDITOR ANIMAT}E=N R& `(L= LOAD SET TEST LINE=v R& `(L= SAVE SET RESTORE= R& `(L= COPY SET GTIA MODE}= R& `(L > EXCHANGE COLOURS *= R& `(L3> MOVE-CHS BLANK SET> R&  `(L]> DISK HEX/DEC }*>F R&LnFˠ٠> R& `(L>ԠŠӠ> R&1)i} &L>> R& `(L ?Ġ For Directory> R& `(L1? To change Drive? R& `(LP? To quit?D R}& `(Lu?Ӡ Format Single?c R& `(L?Ơ Format Double? R&LnFB character in new setB' R}&LnF)=)=)=)=)N=)N=)N=)N=)>) &, &=) &/)LB  `(LCDefault ColoursC R&<}<<=)<< `( &xI xI LTDxILD8<<<LD )<<<) &, &< &m=) `(L`E~~~E\ R&=)ILyE &LE=) &=)ILE*V)>U)U)V)=)L}E=)ILE*V)9U)U)V)=)LE ILC=)ILdF/)/)L.F^)m/)_)i/)/)L}F*V)>U)U)V)*X)9W)W)X)ͭILdF w,`O)!F POKE(752,1)uFF BRK=POKMSKLF < "/;)I}LF <`;)MB)LF <`F "9I!LFLF o8 ])=)3)ILK>)I}LK=)U)V)=)U)V)/)LAK o8LnQGI L;L +/)/)L5LU)V)=)3)ILK=))>)N=)3)ILL>)I}LL=)i=)U)V)=)U)V)/)LK o8LnQGI LL +U)iW)V)iX)U)V)=)/)/)LLU)V)W)}X)U)V)W)X)/)LmL3)ILLU)V)=)LLU)V) o8LnQGILzM +U)V)>)U)V)}/)/)LHMU)V)U)V)=)U)V)>)=)>)/)L M3)ILtM8U)U)V)V)U)V)>) o8LnQGIm}LDN +/)/)LN/)GU)V)=)0)0)L Nh)m0)i)i=)1ŬLN80)h)ei)i/)G}q/)G0)LMU)V)/)LM +GX)W)X)W)V)U) ) o8LnQGIiLN +/)/)LNU)V)IU)V})/)LVN o8LnQGItGIf GIsLOA)2)G "9 w, +B)j) &%2) &%eW)eX)?)LO}GItLOX)W)V)U) )LOGIfLHOV)U)X)W) )2)A)LOGIsLO/)/)LOW)X)=)}W)X)U)V)U)V)=)U)V)W)X)/)LWO o8 ]????x)e}$P (c)1983 Action Computer Services  B JKIHiDiELV`L=$} =$ BLV`UL$$l L$ &` Fj`8冨凪` $EӅӥ} $`ʆǪƩ Ɛee` $ƦʆǢ &Ɛeǐ % %L$ $'&&&8儨児}祂*L$&&*ń8&&L$ [%`hihiHHȱȱL$c !#3`}L$JJJJ`H $h`Hȩh r$L% {$L% %$L% -$L% 3$H8}`HhHh _&L% BHI V䅠L% L& =$L%Ԇ ؠPIPP`} &P -$L% &L& &L& 'L&PP &P棩 Ѥģ0-ģ6000:,80}H & &ehe&eģ0ʥ 8堅塅`$ &&*i0:0i &Ʀ`护°ڱ%ȱ%E} &L'担CS R&L'I L'H 'L' &L'S:((E:-(H L& 0(1( & L&h)0I+(,(L&[}\ZUVT` f(+(,(` 0d $ҥ `2)2ҩ`ȱ`` (ȥ`H}hƣĢ`ƥĤ`V 142 2 2 2 2 2 2 2 2(FJ)@ Q)} 2 2 2  ppBA DEHIB V $``HH˽e) ԍнj)}̍ hh@HhL_L)8)[) &%7) &%eF)eG)`L5* `(LX*̠}*A R&/) /)L*/) `(L* *{ R&/)Ld* `(` L**  `(L*% } * R&#L*  `(*L;+L1+%Press the SPACE BAR for the next page+ R&Lg+L`+! SPACE BAR for} DEMONSTRATION.+> R&I!Ll+` L{+o (Щ (/ (ЩЩЩ 2( (<)ppҩ)E)sD)D)}E)YX)E)D)D)E))ȑo)1o0)ƍԠ `(LL,(CASE: |WRAP: |ASC: 32|INT: 0|KEY: 3}3,# R& `(Lb,HI,_ R& `(Ly,OFF,u R& `(L, , ?&/)/)L,L, | 0|, ?&}/)L,L, , ?&XiF)YiG)ȮG)F) (/)/)L-Xi慮Yi(/) &%eF)eG)}XiYi(/) &%eH)eI)0)0)L-F)G) /) &%0)eH)I) /)} &%0)eF)G)H)I)0)Lz-/)L -  `(L.- R&  `(L.|SET|. R& `(L6.| |.0 R&} `(LO..I R& `(8) &j &%F)G)G)F) (*/ (Щ (jԩ (o (/)/)L}/0)0)L/j &%ii/) &%eem0)H)iI)j &%i}i/) &%eem0)F)iG)/) w+w+M/)L/H)I)F)G)UL/H)I)U}F)G)0)L./)L.<Щ<Щ<`/0123456789ABCDEF/(L0/2)LJ0/ L+0L!0 0 R&LA0/dL}A0L:0 08 R&/ &L0LO0$0M R&/JJJJ00m00i &/ 0N0N0N0N00m00i &`L0} )j &%iH)iI)/)/)L^10)0)L1H)I)F)G)H)I)0)L0m/) `(}L41~~~10 R&F)G) 0F)G)/)L0`Lb1 `(7) 07)5)5)L15)@L15)i 5)L1?5)L15)`L}185)@5) `(5) 0% `(3) 0`FL11 2*)G)fF)1ILP3F)G) `(L$2Πՠ2} R& `(LL2 EDITOR ANIMATE27 R& `(Lv2 LOAD SET TEST LINE2_ R& `(L2 SAVE SET RESTORE2 R}& `(L2 COPY SET GTIA MODE2 R& `(L2 EXCHANGE COLOURS *2 R& `(L3 MOVE-CHS BLANK SET3 }R&  `(LF3 DISK DIR HEX/DEC *3/ R&L61IL4F)G) `(L3Ҡՠ3v R& `(L }3ź ú ׺3 R& `(L3  𠠢3 R& `(L4 غ Ժ3 R& } `(L94Ӻ պ ƺ4" R& `(Ld4Һ ͺ 4L R&  `(L4ú ɺ4w R&L6 }1IL5F)G)t `(L4ŠӠ4 R& `(L4 ŠҠ4 ?&L5 708,40 SE }.0,2,85 ?&L:5 709,202 SE.1,12,105% ?&LW5 710,148 SE.2,9,45D ?&Lt5 711,70 SE.3,4,65a ?&L5 712,0 SE.4,0,0 }5~ ?&L5 Default Colours5 R&L61IL6F)G)Ԡ `(L5ˠ٠5 R& `(L6}ԠŠӠ6 R& `(LC6Ġ For Directory61 R& `(Lj6 To change Drive6V R& `(L6 To quit6}} R& `(L6Ӡ Format Single6 R& `(L6Ơ Format Double6 R&`L6 * 2* & &`L68jj)#" Щ} Щ Щ[)ji\)ji])[)̠8) L&]) &%F)G)LZ7 D:TUTOR.CHS7N &G)F) ) L&p}pҩ\) &%F)G)]) &%H)I)I)H)G)F) )I)H) ( x+ `(L7 TEST LINE7} R& `(L8 TEST LINE8 R&R 2* & &LJ8This Editor & Animator83 ?&Lk8allows the user to8T ?&L8edit from } 1 to 8 sets8u ?&L8of characters at one8 ?&L8time.8 R& 6L8The status line is at8 ?&L9the top of the sc}reen.8 ?& &L&9CASE HI/LO shows which9 ?&LG9case the Testline's in90 ?&Lb9 HI-Uppercase9Q ?&L}9 LO-Lowerc}ase9l R& 6L9WRAP ON/OFF shows if9 ?&L9wraparound has been9 ?&L9selected using the9 ?&L9 EDITOR ME}NU.9 R& 6L:ASCII shows the ASCII: ?&L?:code of the character:( ?&L`:displayed in the grid.:I ?& &L:INT sh}ows the Internal:m ?&L:code of the character: ?&L:displayed in the grid.: R& 6L:KEY shows the value: ?&}L ;returned when in Basic: ?&L,;the command PEEK(764); ?&LM;is used and the key;6 ?&Ln;for the character in};W ?&L;the grid is keyed on;x ?&L; the keyboard.; R& 6L;The prompt line is in; ?&L;the center of th}e; ?&L <screen. It will prompt; ?&L.<you to make an entry< ?&LO<if the selected option<8 ?&Ll<requires an in}put.The set under the= ?&L(>prompt line is the> ?&LI>normal Atari set and>2 ?&Lc>is not a}ltered.>S ?&L>The box to the left>m ?&L>of this set shows the> ?&L>set # being edited.> R& 6L>The Edit }or uses menu's> ?&L?to show the options> ?&L)?that are available to? ?&L8?you.?3 ?&LY?The Editor starts w!}ith?B ?&Lq? the MAIN MENU?c R& * 1 6L?The two options with a? ?&L?'*' suffix can also be? ?&L?used wh"}en the EDITOR? ?&L@MENU is displayed even? ?&L#@though they are do not@ ?&LB@appear in that menu.@- R& 6Lf@#}'H' HEX/DEC * option@O ?&L@changes the data read-@p ?&L@out from Decimal to@ ?&L@Hexidecimal or visa@$} ?&L@versa.@ R&R *2)X3)7) 0 _1 *2) 0 _1 *!3)7) 0 _1R 2* & &LKA'K' COLOUR * optio%}nA4 ?&LlAtakes you to theAU ?&LA COLOUR MENU.Av R& * 1 6LAThe joystick is movedA ?&LAup or dow&}n to selectA ?&LAthe register to changeA ?&LBand left or right toA ?&L1Bchange the colour.B R& 6LUBThe '}chractersets youB> ?&LvBedit can be saved andB_ ?&LBthen used in your ownB ?&LB programs.B R& 6LB'S' SAVE(} prompts youB ?&LBto enter the numberB ?&LCof the set to save andB ?&L2Cthen asks for aC ?&LFC f)}ilename.C< R& 6LjC'L' LOAD is similarCS ?&LCto save except that itCt ?&LCloads a set from theC ?&LCdisk*} or RAM disk if anC ?&LCXE is being used.C R& 6L DYou may load or saveC ?&L.Dto the disk. The DISKD ?&LOD+}option allows you toD8 ?&LpDselect a drive number.DY ?&LDWhen prompted type aDz ?&LDFile name(Filename.Ext)D,} R& 6LD'C' COPY will copy theD ?&LDcurrent set to anyD ?&L E other set.E ?& &L1E'X' EXCHANGE will swap-}E ?&LREthe current set withE; ?&LkEany other set.E\ R& 6LE'B' BLANK will clearEx ?&LEan entire set.E ?&.} *]) 6LE'R' RESTORE willE ?&LErestore the currentE ?&LFset to the ATARIF ?&L.F character/}s.F" R& *[) 6L\F'T' TEST LINE displaysFE ?&L}Fthe characters as theyFf ?&LFappear in GraphicsF ?&LF0}modes 1 & 2 or 12 & 13F ?&LF in GTIA mode.F R& 6LF'M' MOVE CHRS willF ?&LGallow you to move fromG ?&L=G1}1 to 32 charactersG& ?&L^Gfrom the current setGG ?&LzGto any other set.Gh ?&LGThe menu for thisG ?&L2}Goption explains how.G ?& 6LG'D' DISK will allowG ?&LGyou to change the diskG ?&L Hnumber, call up the3}H ?&LAHdirectory for the setH* ?&LbHdisk, or format a diskHK ?&LHSingle/Double density.Hl R& * 1 6LHUs4}e the disk directoryH ?&LHto check that the nameH ?&LHyou choose for a fileH ?&LIhas not already beenH ?5}&L$Iused.I R& 6LHI'A' ANIMATE allows youI1 ?&LiIflip rapidly betweenIR ?&LI1 to 8 sets. The orderIs ?&LIof6} animation is set.I ?&LI[1,2,3...etc] and thenI ?&LI back to 1.I R& 6LJTo see a demonstrationI ?&L$Jboot t7}he main programJ ?&LEJand load the test setsJ. ?&LaJ D:T1 to D:T8JO ?&LJWhen prompted animateJk ?&LJ all 8}8 sets.J ?&LJ SPEED 1=FAST 8=SLOWJ R& 6LJ'G' GTIA changes theJ ?&LJcharacterset and testJ ?&LKline 9}to multi-colourK ?&L3K text mode.K( ?<KGraphics Modes 12 & 13K= ?&LvKOn XL & XE Models only.K^ R& 6LK'E' EDI:}TOR will takeK ?&LKyou to the EDITOR MENUK ?&LKIn this menu you willK ?&LKbe able to select aK ?&LL;}character which willL ?&L?Lbe displayed in theL( ?&LWL editing grid.LI R& 6L{LOnce the character isLd ?&LL<}in the grid, you canL ?&LLedit it using theL ?&LLjoystick or select anyL ?&LLof the menu options.L =}R& * 1 6L+MEDITOR MENU optionsM ?&LLMare self explanatory.M5 ?&LmMThe best way to findMV ?&LMout ho>}w they work isMw ?&LM experiment.M R& 6LMIncluded on this sideM ?&LMof the disk are;M ?&L NYAHTZEE.?}BAS a basicM ?&L+Ngame using redefinedN ?&LJNcharacters and......N5 R& 6LnNCHEDIT.BAS a utilityNW ?&LN@}to add to your ownNx ?&LNprograms which willN ?&LNreserve space for yourN ?&LNsets and retrieve themN}fffffff>`<|fl0fF68of;p88pf< 80 0 ~~`0 0`<C}f |ff|lf33c3ffǧ33333?fffff~13100cfc``D}0<`<<xx x00`` 0<`<<xx x00``E}  1;?511cwkcc[1s76clolF}f>``|ff|<```<>ff>>ff>|``|fff8<<``lxlf8<fH}kc|ffffff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~<I}~x|nf8x8ff|``>ff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~<Nb \dLZkWritten by Russell MaykC NbBeYAeX;e/ppҩ… eILk`lpLk pg 3f0eI K}LkLk D1:EDITOR.EXEk bLl0eLlLkD1:TUTORIAL.EXEk b bk bkkIL1lkIL1 L}l`k bk bkkILplkILpl bk bkk "amk+ei,e bk bk}UN}UUUO}UUUUP}UU@UPQ}U@UUTUPUUUUTUUU@R}UUUUUPUUU@UUUUTUUUPUUUUUUUUT}fffffff>`<|fl0fF68of;p88pf< 80 0 ~~`0 0```nf>ff~fff~~f<flxxlf`````~cwkccfv~~nf!V}ff>|``|fff8<<``lxlf8<f!Z}kc|ffffff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~<![}~x|nf8x8ff|``>ff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~< 00000 >`<|fl0fF88q~7~DDDDT@TT%]}TDDDDTPTTD@TTDT@@@PTT@TDTT@TDDTTP@@TDTDDTTDTT0 0 ~~`0 0`<%^}f PPPPPPPPTDDTDDPDPDDPTD@@DTPDDDDPT@P@@TT@P@@@@@DDDDTDDDTTDDDPPDD@@@@@TDTTDDDDTTTTD%_}TDDDDTTDDT@@TDDDTTPDDPDDT@TTTDDDDDTDDDDTDDDTTDDDDDDDTT@TUUUU6%`}c(( ((%a}  UUUU%b}0~0 ~ <<0000 <%c} 00000000000 00UUUUUUUU%d}8x8 00000000000 00UUUUUUUU$)f}8888v<vv|pp|ppp|pp~vv~vppvp|pp ~x )g}000@)q}b%DOS SYSb*)DUP SYSb SATARIXE SYSB\AUTORUN SYSbusEDITOR EXEb[TUTORIALEXEb ATUTOR CHSbMTITLE DMPb SYAHTZEE FNTb \GTIA b T1 b vT2 b T3 b T4 b T5 b T6 b T7 b T8 b H1 b H2 b H3 b H4 b H5 b5YAHTZEE BASbCHEDIT BASb &WIDETEXT b 0ROUND b 9MODERN B CYAHTZEE DATb KFUTURE BUFONT4 B[EDIT25 ACT gDELETE BASC^MCOLOR FNT yCITYFONTBASCITY1 FOT MCOLOR BAS E8 4PICTURE 7cAƂ"U"U "U"U  x- <)r}<>`<|`<|>cccwk><>fxfff> )s}``nf>ff~fff??`??4")t}""f<$$$$$(,DDDf?= |~`f~||ff|lfffff>>`<|`<|>cccwk><>fxfff> )u} |~`f~||ff|lfffff>>`<|`<|>cccwk><>fxfff> (000<< w{}~~<$$<>|-w}-x}888|||8p?? -y}000@]>ggw>>~ww~xxcxxccxx```>ggg~g`g>cxxc-z}=G"U 3"U `"U"U?ߏ`  <-{}<\Z`<|><|>`ccwkc<>f>fff> x-|} 33?300?0073-}}2<$$$ 88(HL>|ff|lfffff>`<|><|>`ccwkc<>f>fff> x-~}>|ff|lfffff>`<|><|>`ccwkc<>f>fff> x, <<000p~~BBBB~>~1}1}~8XBf<<|""<` < `~ < `&~$ f < `? 1}000@|||||||8|||8|~~1}x "U `"U$<`"U"U?   <1}<f<|>`|>`<cwkcc<>f>fff> x1}f``f< 1} <$$$$$800><>`pff|lf|fff>f<|>`|>`<cwkcc<>f>fff> x1}<>`pff|lf|fff>f<|>`|>`<cwkcc<>f>fff> x0~}{w~ 5}5}<<<<ggg?3sppp?0ppp?0p~ppp?33sssggpss?0ppp??y?? 5}000@~Z<b4<ff|`bx`bbx``f``f<bx`b5}0  "U"U0Hx "U"U???`  <5}<:ZXX<00P`x0007?సf|lf|fff>ff|>`<|>`<cwkcc<>f>fff> x5}333``f< <|b`f|lf|fff>ff|>`<|>`<cwkcc<>f>fff> x5} <|b`f|lf|fff>ff|>`<|>`<cwkcc<>f>fff> x4wwww~~BBBB~????x9}9} 0033 0>3c~`?00x`>00x` 3cf6p`x?00x` ~x 9}000@~ff<|ff|``~`|``~~`|```fff|>`<>`<|cwkcc<>f>ff> xf9}ffffff`f<fff|>`<>`<|cwkcc<>f>ff> xf9}x|lf|fff>fff|>`<>`<|cwkcc<>f>ff> xf8 <<000?_ow~<$$<|=}=}~ff<666666``~``~~<$f~cflxlfc``~``?? =}000@00000|c32 fffl``f`x`cf|f`x````x<6>ffffff>`<|>`<|wkccc>f> xff=}333̏̏f<ffff>`<|>`<|wkccc>f> xff=}lf|ff|>ffff>`<|>`<|wkccc>f> xff<000<< ``~>~A}A}~f<ffl```l``~`l```x<^````~`l``~? A}000@?ll cc6 33>003`|`3`|``7ggo;3``p?3`|`A}MODULEBYTE CTR, CTR1, DRIVE=[1], MEMCHAR, WRAP=[0], HEX=[0], ERRFLG=[0], FLAG, X, ~_}<>`<|>`<|kcccw>f><> xfffA}`< A} <$$$$$800r0||f|ff|lffff>>`<|>`<|kcccw>f><> xfffA}r0||f|ff|lffff>>`<|>`<|kcccw>f><> xfff@wo_?``~> E}E}?<<<<?<>`<|>`<|kcccwf><> xfff>E}0x>3>33>000||33?333 E}2<$$$0((HL`p8p|||ff|lfffff>>`<|>`<|kcccwf><> xfff>E}p8p|||ff|lfffff>>`<|>`<|kcccwf><> xfff>D ?&L Ofrom the disk.N R& 6L/OAll that remains is toO ?&LPOre-boot this disk andO9 ?&LqOselect the EDITOR.....O/}v =08 I};Ϳ{;W y ?> I} ̍?o  z D  N|P<8<0p` 80=y` p8I}v<p8I}p8 `p 83>I}`p 83>H=08 ;Ϳ{M};W y ?> v M} N|P<8<0p` 80=y` p8 ?88?p?|M}`0p8p8 M}`p 83>v<M} 83>v<L;Ϳ{;W y Q}?> v =08 Q}^ ?fЗ l0?  Q}0|88~l0 ̍?o  z D  N|P<8<0p` 80Q}=y` p8 ?88?p?|`0v<<pp08  0x8|Q}p8 `p Q}83>v<Q}p8v<P;W y ?> U}v =08 ;Ϳ{U}З l0?  0|88~l0 ̍U}?o  z D  N|P<8<0p` 80=y` p8 U}?88?p?|`0v<<pp08  0x8|??0131y?8U}`p 83>v<U}p8p8 U}p8p8 T?> v Y}=08 ;Ϳ{;W y Y}?  0|88~l0 ̍?o  z D  NY}|P<8<0p` 80Y} 83>v<Y}p8p8 `pY}p8p8 `pX`ayRAMTOPSCPLDXSPDIASOTHROTEMYPTFLACHOICSCOLWIDTT1CHBASBLDSCRNLOAR@]}@@@Ah@,fn@ @ @ @ @A ,@QA&@]}@AJBh`` ]}!" YAHTZEEBY RUSSELL MAYE6-AR$F:A,@. BELOAD IN CHARACTERSET ! A]}!INITIALISE ARRAYSn6-@-1-@@C68<,-6@G ^68<@,-b n]}6-@ A(-@@@2@-$@&@@@(7$@&@<$@,< ]}Z AdJ6-@6-1-$@&@@7(aJCHOOSE RE-THROWSnP6-R:,!6-T:,06-]}F:B2y,P"@**"@As"@A@x"A}4"@+-$@&@]}@1( 4$?!6-%+"@,&+"@,?6-%+ @,&+!@,%-$@&@@%( +-$@]}&@@%(a+6-%-@@0 % A68,-@&8,F-$@&@@]}F(>:@2&8,$@#%8,$A(, T:,"A  ADICE THROW-@]}8%@,AT-@@3-$@%@@T(7$@I&@H<$@I,-@@]}P  %%6-P:H:,$@,%@&Q-$@%@@@(7$@&@<$@,Q68%@]},-0_%2A@@9-@@= _2N   $GAME PLA]}YN6-#-@@268,-6 J-@AN N6-%@#-@<(@]} throw no.N@w! A!"@AE A A @-@@(& ]} +-@@+-@@$-8, 8,6-8,$68,-8,-68,-.   ]}GET CHOICE?6-@6-@'6-@36-@9-?(76-R:,!6-T:,7"@]}*A 1"6-'6-1 A!"@6-@"@6-@?!6-%+]}"@,&+"@,?6-%+ @,&+!@,  -(  -(6-6- %-@@0 % A]} 4?%6-&@%@$+"@,?8<,6@A 9 @A">!! A"%A$+&@,]}1's TO 6's+-@@ "8,+6-%8,  A0 CHOICE 0-@@"6-%8,& ]}0 A0` HOUSEj gg8@,8@,)8@,8@,*+8@,8@,)8@,8@,,A0]}t 0-@@"6-%8,& 0 A0 4/KIND OO8@,"8@,*8@,"8@,*8@,"8@]},A%@ OO8@,"8@,*8@,"8@,*8@,"8@,A%@ A0 ,"6-@ %@]}$8@,, A0( LOW/ST2 -@@<  8,6-@F   (6-@0P A0 ]}BIG/ST -@@ 8&@, 6-@   (6-@0 A0 YAHTZEE 5-@]}@)8,8@,56-@  A0 6-@P p-@@%6-@&B-@]}6@h2@0$%@ @l p  s68<,-,68<@,-8<@,%6 AS-@^}6@o2A@s  T:,"A0 T:,A0 A6-#-@^}@58<,"6@A6-@  (A@ #6-%@!#6-@ A0 RAA^}2'A A 9A@HA8,R AFINISHED+@%@/-@@/(^}@ player scoreK-@%-@%@G(@ 8<@,K  @AP^}-@+8<@,!%6-8<@,+6- 5-@@ 5(@PLAYER  WINS F:^}B2y,@AP%(#t +A1AR@4(V6-F:A`,%AV$F:Aa,h@^}tAV2#1 #A !-@3%"-%1 7#HAA2'A A 9A@^}HA8,<#WW112,112,112,70,64,156,6,4,4,4,4,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,65,32,156,0,0F#$-@^}$( YAHTZEE P#S6-@6-@/-@@;!@G6-@S6-@U#: -%:( 7$@^ }&@<$@&@,Z#E8<,6@-%#(/!@ ?-%@%E(d# n#L-@^ }3-$@%@@H(7@<@I,L #U-@@#(player 5-@@R(score 8^ }<@, U$#e;A,;A,;@,;@,9@,9@,9@,9@<@,q6-@^ }68@,-@p68@,-@$68@,-A668@,-A#pp6.f    ^ }          #`+@%@'A9A^}@@K-@@`(@#L #A!-@@%"H67$@&@<$@,.L ^}#ppONES .,TWOS .,THREES .,FOURS .,FIVES .,SIXES ., CHOICE., HOUSE., 4/KIND.,LTL/ST .,BIG/ST .,YAHTZEE.$;;6.1^}   $II67B:,%@,.1  $II67^}B:,%@,.1    $II67B:,%@,.1  ^}$II67B:,%@,.1   $,-@@,(@ ^}$3-@@3(@select "$1-@@1(@start ,$06-F:B2y,0^}@*@A`6$"@$@$)6-%@!@)6-@J$5-@@5(@>:%^}@H%@,T$"F:B2y,A^$ A`%$'s6-$AV#AdA-+C(^}P;@(,s6.hRhUhThYhX V`'..@@ D:YAHTZEE.FNT'6-?:C:,<<A$,'^}@'!AV!A@'$D8:YAHTZEE.BAS D:YAHTZEE.FNT'6-?:C:,<<A$,'\H34EZFONTCHSETMEMTOFILEBICSTARABLDPSCRNLOZ@A A(@6@Bb}6a E m ApmTHIS CALL RESERVES MEMORY SPACE FOR YOUR SET/S. RETRIEVESb} THEM FROM THE DISK AND SETS GR.MODE);@2,)PUT YOUR OWN CODE HEREB)6.)*+,IJKL ijklBPICTb}URE OF RUNNING BOY(AR@2-@<#-@%$@@ #(F P-@b}Z,, $aaaaccddcceeeeffffgggghhhhddccddbbbbd n%-@@%CHANGE SETSxAV8,$-b}@ $DELAY LOOP   ASTART AGAINn6-@nThe number of characactersets to be loaded. Eacb}h will require 1024 bytes of memory.(4 Pages)C 9,;@,;@(,C6.hRhUhThYhX V`?6-F:Ab},&$@?Reserve space for charactersets.A&@-&@_68%@,-%$@b }_CHSET Contains the start address in pages of each characterset U68,-A$UCHSET(0) will contain tb!}he address of the default Atari setjjIf you are using more than oneredefined characterset in the same program it is best b"}to give them the++same name with a number following it.aaThe following program will load 8 charactersets which are onb#} the front of your Editor Disk. +"36.D:T13Change this to your own file name.,V-@VIf you areb$} only loading one characterset then Š this line.66-8,$AV@H67@<@,.=:,HŠ if one b%}set only being entered.J @@T  LOADING- ^$$6-?:C:,<8,$AV<A$,h@b}fffffff>`<|fl0fF68of;p88pf< 80 0 ~~`0 0```nf>ff~fff~~f<flxxlf`````~cwkccfv~~nff)}?`<|fl0fF68of;p88p<<8888888p~888 0j1}`@||88x88|88 |8<||8||88ppp|||8|~>xp888888888p8p8~~~~~p88p|j2}8888||~<~~<~<<<<<~>xj3}||8|v|||~<<<<<<|8<<|88888p@`0 xx6j4}c8pp8?j5}ww<~~~<x`x`~<~~||88~8888~~|8x88||x8888||j7}||8~~||x8888>||8v4|8|~8p<~~<j8}~x|nf8x8~~||x8888>||8v4|8|~8p<~~<h~<<~~~8|||~~~<<<<~>xn<}|||v|||~<<<<<|8vv<`````66666n>}x`x`~<~~xxxx~~xxx<<<<<xxxxn@}||~~~|xxxx>~|8~v|8|~~|8~v|8|~`<|fl0fF68of;p88pf< 80 0 ~~`0 0```nf>ff~fff~~f<flxxlf`````~cwkccfv~~nfrF}ff>|``|fff8<<``lxlf8<frJ}kc|ffffff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~<rT}88888DDllll>`<|fl0fF68of;888>x|f<000|ll<<<<<<<<<<<0 0 ~~`0 0`cvM}||~ff|00888| n~```vN}~~888888|8|8880n@`0 xx6vO}c6>8pp8?vP}ww<~~~<x`x`~<~~~v~```~fn~>20:>~fv~~f~p~<0|088~fv~~```~fvv00088 ~006|vw00088<vR}|fvvv~fvv~~fv~``~fn~>0888>`~~~ffnn~fnn>ck>6f>>nfff~~~6~<~~<vS}~x|nf8x8fv~``~fn~>0888>`~~~ffnn~fnn>ck>6f>>nfff~~~6~<~~<t~x|nf8x8ff|``>ff>|f```>`<|~ffff>fff<ck>6f< x~ 0~<~~<p 6lؐ>t>>0g͇68on;p88pf<c8c>fff~`~c>>`~cc> 0>c>cc>>cc?>  `00`>#zW}c>omo`?>ccc~c~cc~>c``c>|fccf|`|```|```>c`gc?ccccc~~f<cnxxnc`````cwkcccs{ogczX}>cccc>~cc~``>cckn;~cc~fc>`>c>~ccccc?cccc>cckwccc>>cc~0`$660|0~l$H6zY}c6> 0``0 ?zZ}**<~~~<p@`Xs4<~~><>f?`~ccc>>c`c>?ccc>>c`>>?cc?>`~cccc  ?f<`flxlg ?~z\}kkkk~cccc>ccc>~cc~`?cc?~c```>`>~0~003cccc?ccc>ck>6c>>cccc?< 8>>z]}x|occ8x8x X1, Y, Y1, NUM, MEM, BIT, BIT1, ABORT, JOYSTICK=632, TRIGGER=644, CLOCK~`}=20, LOWCASE=[0], CONSOL=53279, CHCH=764, COUNT=$CB, WYSNC=54282, COL2=$D018, COL1=$D017,~a} COL4=$D01A, NMIEN=$D40E, CHMEM=$CC, BACKMEM=$CD, VCOUNT=$D40B, CHBASS=$D409, MEMTOP=106, ~b} CURRENTCHAR=[0], CURRENTSET, POKMSK=16, IRQEN=$D20E, BRK, TIC=[1]CARD VVBLKI=546, VDSLST=~c}512, SCREEN=88, DLIST=560, CCTR, PMAREA CARD ARRAY ANTIC(2) CARD POINTER ENDADDBYTE POINTER BP,BP1~d}BYTE ARRAY PMHPOS(4)=53248, PMWITH(4)=53256, PMCOLR(4)=704, PFCOLR(5)=708, DEFAL~e}T=[40 204 228 70 0], MASK=[128 64 32 16 8 4 2 1], CHARSET(10),CHARARRAY=[160 191 149 146 186 170 184 ~f}189 185 141 129 133 128 165 163 136 138 175 168 190 173 139 144 174 150171 151 28 142 143 134 135 33 95 94 9088 93 91 115 ~g}112 114 7 6 32 14 34 3850 31 30 26 24 29 27 51 53 48 66 2 5415 55 102 117 127 85 82 122 106 120125 121 77 65 69 64 101 99 ~h}72 74 111104 126 109 75 80 110 86 107 87 96 7098 71 78 162 63 21 18 58 42 56 61 5713 1 5 0 37 35 8 10 47 40 62 45 11 1646~i} 22 43 23 130 79 118 52 44],FILE=" ",NAME="D1:*.*",NAME2="D1:",ST="D1: "PROC COLPF2~j}=*() [28 164 28 244 228]PROC COLPF1=*() [0 12 0 12 204]PROC DISPLAY1=*() [112 112 240 66 00 144 2 2 2 2 2 2 2 2 2 2 ~k}128 2 1282 2 2 2 128 0 6 7 0 2 2 2 2 650 0]PROC DISPLAY2=*() [112 112 240 66 00 144 2 2 2 2 2 2 2 2 2 2 128 2 1282 2 2 ~l}2 128 0 4 5 0 4 4 4 4 65 00]PROC BGet=*(BYTE chan BYTE POINTER addr CARD len) [ $84 $A2 ;STY $A2 $A0 $07 ;LDY~m} #BGET $D0 $04 ;BNE *+6 ]PROC BPut=*(BYTE chan BYTE POINTER addr CARD len) [ $84 $A2 ;STY $A2 $A0 $0B ;LDY~n} #BPUT ;JOIN HERE $86 $A1 ;STX $A1 $0A ;ASL A $0A ;ASL A $0A ;ASL A $0A ;ASL ~o}A $AA ;TAX $A5 $A1 ;LDA $A1 $9D $344 ;STA ICBADR,X $A5 $A2 ;LDA $A2 $9D $345 ;STA ICADR+1,X $A5 $A3 ~p} ;LDA $A3 $9D $348 ;STA ICBLEN,X $A5 $A4 ;LDA $A4 $9D $349 ;STA ICBLEN+1,X $98 ;TYA $9D $342 ;STA ICBCO~q}M,X $20 $E456 ;JSR CIO $10 $03 ;BPL *+5 $20 ERROR ;JSR ERROR $60 ;RTS ]RETURNPROC INTERUPT=*()[ $48 ~r} ;PHA $8A ;TXA $48 ;PHA $98 ;TYA $48 ;PHA $A6 COUNT ;LDX COUNT $BD CO~s}LPF2 ;LDA COLPF2,X $BC COLPF1 ;LDY COLPF1,X $8D WYSNC ;STA WYSNC $8D COL2 ;STA COL2 $8C COL1 ;STY COL1~t} $E0 $04 ;CPX #4 $D0 $0A ;BNE 10 $A5 CHMEM ;LDA CHMEM $A4 BACKMEM ;LDY BACKMEM $8D CHBASS ;STA CHBA~u}SS $8C COL4 ;STY COL4 $E6 COUNT ;INC COUNT $68 ;PLA $A8 ;TAY $68 ;PLA $AA ~v} ;TXA $68 ;PLA $40 ;RTI]PROC VBLANK=*()[ $48 ;PHA $A9 $0 ;LDA #0 $85 COUNT ~w} ;STA COUNT $8D $2B6 ;STA INVFLG $A9 $40 ;LDA #64 $8D $2BE ;STA SHFLOK $68 ;PLA $4C $E45F ~x} ;JMP $E45F]PROC DIRECTORY()PRINT(")?D")PUT(DRIVE+48)PRINT(":")INPUTS(FILE)IF FILE(0)=0 THEN RETURN FIFOR CTR=1 TO~y} FILE(0) DO ST(3+CTR)=FILE(CTR) ODST(2)=DRIVE+48ST(0)=3+FILE(0)RETURNPROC SETBP()BP=CHARSET(CURRENTSET)*256+(CURREN~z}TCHAR*8)RETURNPROC CLEARSCREEN()POSITION(16,1)PRINT("")FOR CTR=2 TO 10 DO POSITION(15,CTR) P~{}RINT(" ") ODRETURNPROC CLEARP(BYTE F)POSITION(2,11)PRINT(" "~|})POSITION(2,11)IF F=1 THEN PRINT("FILENAME (SET ")ELSEIF F=2 THEN PRINT("SELECT CHARACTER")ELSEIF F=3 THEN PRINT("ENTE~}}R YOUR CHOICE :?")ELSEIF F=4 THEN PRINT("PRESS TRIGGER TO RETURN TO MENU")FIRETURNPROC MYERROR(BYTE ERR)NMIEN=192POK~~}MSK=112IRQEN=112ERRFLG=1CLEARP(0)POKE(752,1)PRINT("ERROR: ")IF ERR=138 THEN PRINT("DEVICE TIMEOUT")ELSEIF ERR=144 THE~}N PRINT("DEVICE DONE")ELSEIF ERR=162 THEN PRINT("DISK FULL")ELSEIF ERR=165 THEN PRINT("FILENAME")ELSEIF ERR=170 THEN P~}RINT("FILE NOT FOUND")ELSE PRINTB(ERR) PRINT(" HAS OCCURRED")FICHCH=255DO UNTIL CHCH=33 OR CHCH=28ODCLOSE(1)CLOSE(2~})CHCH=255RETURNBYTE FUNC KEYTOASC(BYTE BIT)BYTE CTR FOR CTR=0 TO 127 DO IF BIT=CHARARRAY(CTR) THEN BIT=CTR EXIT~} FI ODIF BIT>31 AND BIT<96 THEN BIT==-32ELSEIF BIT>=0 AND BIT<32 THEN BIT==+64FIRETURN(BIT)PROC WHICHSET(BYTE NUMBE~}R)DOCLEARP(0) IF NUMBER=0 THEN PRINT("WHICH") ELSEIF NUMBER=1 THEN PRINT("EXCHANGE") ELSEIF NUMBER=2 THEN PRINT("~}WITH") ELSEIF NUMBER=3 THEN PRINT("COPY") ELSEIF NUMBER=4 THEN PRINT("TO") ELSEIF NUMBER=5 THEN PRINT("RESTO~}RE") ELSEIF NUMBER=6 THEN PRINT("BLANK OUT") ELSEIF NUMBER=14 THEN PRINT("LOAD") ELSEIF NUMBER=18 THEN PRINT("SAVE")~} FIPRINT(" SET [1-8] :?")CLOSE(1)OPEN(1,"K:",4,0) NUM=GETD(1)CLOSE(1)IF NUM>'0 AND NUM<'9 THEN NUM==-48 EXITELSEIF~} NUM=' THEN EXITFIODRETURNPROC LOADSET(BYTE LS)WHICHSET(LS+10)IF NUM=' THEN RETURN FICLEARP(1)PRINTB(NUM) DIREC~}TORY()IF FILE(0)=0 THEN RETURN FICLEARP(0)IF LS=4 THEN PRINT("LOADING -- ")ELSE PRINT("SAVING -- ")FIPRINT(ST)BP=CHA~}RSET(NUM)*256POKMSK=BRKIRQEN=BRKCHMEM=CHARSET(0)OPEN(1,ST,LS,0)IF ERRFLG=1 THEN ERRFLG=0 CHMEM=CHARSET(CURRENTSET) RE~}TURNFIIF LS=4 THEN BGET(1,BP,1024)ELSEIF LS=8 THEN BPUT(1,BP,1024)FICLOSE(1)NMIEN=192POKMSK=112IRQEN=112CHMEM=CHAR~}SET(NUM)+LOWCASE*2CURRENTSET=NUMPOSITION(3,14)PRINTB(CURRENTSET)RETURNPROC GTIA()BYTE TEMPTIC=1-TICPOKE(623,4)POK~}E(53277,0)POKE(559,2)PMHPOS(1)=0PMHPOS(2)=0PMHPOS(3)=0GRAPHICS(0)POKE(752,1)BRK=POKMSKPOKMSK=112IRQEN=112ENDADD=ANT~}IC(TIC)+4 ;SET UP DISPLAY LISTENDADD^=SCREENENDADD=ANTIC(TIC)+34ENDADD^=ANTIC(TIC)DLIST=ANTIC(TIC)VDSLST=INTERUPT ;ENA~}BLE INTERUPTNMIEN=192POSITION(0,0)PRINT("CASE: |WRAP: |ASC: 32|INT: 0|KEY: 33")LOWCASE=0POSITION(5,0)PRINT("HI")CH~}MEM=CHARSET(CURRENTSET)POSITION(13,0)IF WRAP=0 THEN PRINT("OFF")ELSE PRINT("ON ")FIPOSITION(2,1)PRINTE("~}")FOR CTR=0 TO 7 DO PRINTE("| 0|") ODPRINTE("")BP=SCREEN+640ZERO(BP,200+TIC*40)FOR CTR=0 TO 3 ~}DO BP=SCREEN+486+(CTR*40) BP1=SCREEN+686+(CTR*40)+(TIC*40) FOR CTR1=0 TO 31 DO BP^=CTR1+(CTR*32) BP1^=CTR1+(CTR*32)~} BP==+1 BP1==+1 OD ODPOSITION(1,12)PRINT("")POSITION(1,13)PRINT("|SET|")POSITION(1,14)PRINT("| |")POSITIO~}N(1,15)PRINT("")POSITION(3,14)PRINTB(CURRENTSET)BP=MEMTOP*256ZERO(BP,1024)POKE(559,42)POKE(53277,3)POKE(54279,ME~}MTOP)POKE(623,1)FOR CTR=0 TO 7 DO FOR CTR1=0 TO 3 DO BP1=MEMTOP*256+793+CTR*4+CTR1 BP=MEMTOP*256+921+CTR*4+CTR1 ~} TEMP=CTR % 1 IF TEMP=CTR THEN BP1^=170+(TIC*34) BP^=85-(TIC*34) ELSE BP1^=85-(TIC*34) BP^=170+(TIC*34) FI~} OD ODPMCOLR(1)=50PMCOLR(2)=136PMCOLR(3)=134PMHPOS(1)=60PMHPOS(2)=60PMHPOS(3)=60RETURNPROC DATAPRINT(BYTE DATA)~}BYTE ARRAY HEXA=[48 49 50 51 52 53 5455 56 57 65 66 67 68 69 70]BYTE TEMPIF HEX=0 THEN IF DATA<10 THEN PRINT(" ") EL~}SEIF DATA<100 THEN PRINT(" ") FI PRINTB(DATA)ELSE PRINT("$") TEMP=DATA RSH 4 PUT(HEXA(TEMP)) TEMP=DATA LSH 4 TEMP==~} RSH 4 PUT(HEXA(TEMP))FIRETURNPROC CHANGEPLAYER()SETBP()BP1=MEMTOP*256+665FOR CTR=0 TO 7 DO FOR CTR1=0 TO 3 DO ~} BP1^=BP^ BP1==+1 OD POSITION(14,2+CTR) PRINT("~~~") DATAPRINT(BP^) BP==+1ODRETURNPROC GETCURCHAR(BYTE F)Y=CURR~}ENTCHAR/32X=CURRENTCHAR MOD 32X1=XY1=YABORT=0MEM=CURRENTCHARCLEARP(2)IF F='s THEN PRINT(" TO SWAP")ELSEIF F='t THEN~}UUUUU@UUUUUUUUUPUUUUU@UUUUUUTUUUUUP}UUUUUUUUUUUUTUUUUUUU@UUUUUUUUUUUUUPUUUUUUU@}UUUUUUUUTUUUUUUUPUUUUUUUUUUUUUUUUTUUUUUUUUU@UUUUUUUU}UUUUUUUUUPUUUUUUUUU@UUUUUUUUUUUUUUUUUUUUPUUUUUUUUUUUUUUUUUUUUT}UUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUjj}jYZUUTUUjjjYZUUTUUUUZYjiUUUTUUUUZ}YjiUUUTUUjZYiUUTUUjZYiUUTUUVUZ}UUUTUUVUZUUUTUUUZiUUTUUUZiUU}TUUjUZiiiUUTUUjUZiiiUUTUUjZUZYiiUUT}UUjZUZYiiUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUT}UUUUUUZjjjiTUUUUUUZjjjiTUUUUUUUjiZiiT}UUUUUUUjiZiiTUUUUUUiUZjTUUUUUUiUZjT}UUUUUUUiZZTUUUUUUUiZZTUUUUUUUiZZTUUUUU}UUiZZTUUUUUUUijZjiZTUUUUUUUijZjiZTUUUUUUUi}ZZZiZTUUUUUUUiZZZiZTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUU}UUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUT}} PRINT(" TO TRANSFER TO")ELSEIF F='f THEN PRINT(" TO TRANSFER FROM")FIDOCHCH=255 IF JOYSTICK=7 THEN X==+1 IF X=32 T~}HEN X=0:FI ELSEIF JOYSTICK=11 THEN X==-1 IF X=255 THEN X=31:FI ELSEIF JOYSTICK=13 THEN Y==+1 IF Y=4 THEN Y=0:FI EL~}k "amkkik8k+ek,eikikkk,e+e CekIL1l k``kk bk lSEIF JOYSTICK=14 THEN Y==-1 IF Y=255 THEN Y=3:FI FIBP=SCREEN+486+X1+(Y1*40)BP1=SCREEN+686+(TIC*40)+X1+(Y1*40)BP^=MEM~}r2 2Š if one set only being entered.|E++,EChange this graphics command for the mode you want.$b} D:CHEDIT.BAS2 one set only being entered.|E++,EChange this graphics command for the mode you want.$`BP1^=MEMBP=SCREEN+486+X+(Y*40)BP1=SCREEN+686+(TIC*40)+X+(Y*40)CURRENTCHAR=BP^BP^=CURRENTCHAR+128BP1^=CURRENTCHAR+128MEM~}=CURRENTCHARX1=XY1=YCLOCK=0 DO UNTIL CLOCK>5 ODIF CHCH#255 THEN ABORT=1:EXIT:FIUNTIL TRIGGER=0 ODDOUNTIL TRIGGE~}R=1ODBP^=MEMBP1^=MEMCLEARP(0)RETURN PROC WRITEDATA()POSITION(29,0)DATAPRINT(CURRENTCHAR)BIT=CURRENTCHARIF BIT>=0 ~}AND BIT<64 THEN BIT==+32ELSEIF BIT>63 AND BIT<96 THEN BIT==-64FI POSITION(21,0)DATAPRINT(BIT)POSITION(37,0)DATAPRI~}NT(CHARARRAY(BIT))RETURNPROC MENU(BYTE NUM)BYTE X,X1,Y,Y1CLEARSCREEN()BP=COLPF2+1IF NUM=1 THEN BP^=164 POSITION(16~},1) PRINT("Πՠ") POSITION(16,3) PRINT(" EDITOR ANIMATE") POSITION(16,4) PRINT(" LOAD SET TEST~} LINE") POSITION(16,5) PRINT(" SAVE SET RESTORE") POSITION(16,6) PRINT(" COPY SET GTIA MODE") POSITION(16,7) PRIN~}T(" EXCHANGE COLOURS *") POSITION(16,8) PRINT(" MOVE-CHS BLANK SET") POSITION(16,9) PRINT(" DISK HEX/DEC *")~}ELSEIF NUM=5 THEN BP^=212 POSITION(16,1) PRINT("ˠ٠") POSITION(16,2) PRINT("ԠŠӠ") P~}UT(DRIVE+176) PRINT("") POSITION(18,4) PRINT("Ġ For Directory") POSITION(18,5) PRINT(" To change Drive") POSITIO~}N(18,6) PRINT(" To quit") POSITION(18,7) PRINT("Ӡ Format Single") POSITION(18,8) PRINT("Ơ Format Double")ELSEIF ~}NUM=2 THEN BP^=6 POSITION(16,1) PRINT("Ҡՠ") POSITION(16,3) PRINT("ź ú ׺") POSITION~}(16,4) PRINT("  ") POSITION(16,5) PRINT(" غ Ժ") POSITION(16,6) PRINT("Ӻ ~} ƺ") POSITION(16,8) PRINT("Һ ͺ ") POSITION(16,9) PRINT("ú ɺ")ELSEIF NU~}M=3 THEN BP^=84 POSITION(16,1) PRINT("ŠӠ") POSITION(16,3) PRINT("1 Choose characterset") POSITION(1~}6,4) PRINT(" to move to.") POSITION(16,5) PRINT("2 Choose characters to") POSITION(16,6) PRINT(" move. (MAX 32)"~}) POSITION(16,7) PRINT("3 Space bar for step 4") POSITION(16,8) PRINT("4 Choose position for") POSITION(16,9) PRINT(" ~}character in new set")ELSEIF NUM=4 THEN BP^=116 CLEARP(4) POSITION(16,1) PRINT("ŠӠ") POSITION(16,3)~} PRINT(" ŠҠ") FOR CTR=0 TO 4 DO POSITION(18,4+CTR) PRINTC(708+CTR) PUT(44) IF CTR=4 THEN P~}RINTB(BACKMEM) ELSE PRINTB(PFCOLR(CTR)) FI POSITION(26,4+CTR) PRINT("SE.") PRINTB(CTR) PUT(44) IF CTR=4 ~}THEN BIT=BACKMEM ELSE BIT=PFCOLR(CTR) FI BIT1=BIT RSH 4 BIT== LSH 4 BIT== RSH 4 PRINTB(BIT1) PUT(44)~} PRINTB(BIT) OD POSITION(18,9) PRINT("Default Colours") X=25:Y=4:Y1=4:BIT=0 POSITION(X,Y) PUT(2*40 CHCH=255 DO~} IF JOYSTICK=14 OR JOYSTICK=13 THEN IF JOYSTICK=14 THEN Y==-1 IF Y<4 THEN Y=9 FI ELSE Y==+1 IF Y>9 TH~}EN Y=4 FI FI POSITION(X,Y1) PUT(32) POSITION(X,Y) PUT(20) Y1=Y BIT=Y-4 FI IF BIT<5 AND (JOYSTICK=11 OR JOY~}STICK=7) THEN IF JOYSTICK=11 THEN IF BIT=4 THEN BACKMEM==-2 ELSE PFCOLR(BIT)==-2 FI ELSEIF JOYSTI~}CK=7 THEN IF BIT=4 THEN BACKMEM==+2 ELSE PFCOLR(BIT)==+2 FI FI POSITION(36,4+BIT) PRINT("~~~~~~}~~") PRINTB(BIT) PUT(44) IF BIT=4 THEN X1=BACKMEM ELSE X1=PFCOLR(BIT) FI BIT1=X1 RSH 4 X1==~} LSH 4 X1== RSH 4 PRINTB(BIT1) PUT(44) PRINTB(X1) POSITION(25,4+BIT) PRINT("~~~") IF BIT=4 THEN PR|}