' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]L L}BBL] 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` `00`>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"_]` L/浍굺L  !"#$%&'()*+,-./0123456789:;<=>?  1#"""  (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0EB H  @H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`HIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   vLDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^L iõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx-#(# @0͠٠ˠ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈m浍浭m䵍䵐`"L ŵ8ŵH ~(` i d ֠0z# 0u`0z"#??    "ήàԠӠ ŠŠήħӠŠɠήĠŠΠήʠĠή ήΠ̠!ήɠ͠٠ˠɮΠҠɮҠҠҮРР٠ ȮʠȱʠRECTORY !!!": |:1000C"X138:B$B$"=":3 ,X10511:NAME$(X)B$:I 6NAME$(0)(B$,19)U @D$(4)} E12:12:"READING CATALOG ":12:29 Y63075 ^2054:D$"CATALOG" c216,0:D$"PR#0":D$"IN#0": h(NA$(0),1)" "Ģ12:868:"!!! ERROR - UNABLE TO READ DI85:34,22 23:958T "SELECT A FILE BY NUMBER -->";A$:A(A$):AMAX2010_ A1Ĭ} :::T(A)66T$"BRUN " T(A)84T$"EXEC " T(A)65T(A)73T$"RUN " 23:T$A$(A) 23:D$T$A$(A)  NAME$(105),A$(105),T(105) ((NA$(N),8,1))942000! XX1: A$(X)(NA$(N),8,30)T T(X)((NA$(N),2,1))h X21İ30:2000 X21X61X101İ80 X41İ40:2000 $X41X81İ90 .X61İ30:2000 8X81İ40:2000 BX101İ30:2000 L40  MAXX 32,0:23:1::U Z85:23:"IS YOUR PROGRAM LISTED HERE? Y/";::"N";::" ";:A$:w dA$"Y"MAXN1:N105::2000 n23:958:34,1:35,21::35,24: 60:X0 N1105 ((NA$(N),8,1))652000 ((NA$(N),8,1))61N105:2000 8(ST6UVk,ȱk-`),-`G ::63000]Y140:"=";::qX;:5:A$(X):(" "X" ";:6:(A$(X),15):2X" ";:5:(NA$(X),8,15):<1:20:22:20:34,1:2:FP33,21:32,19:1:1:: U33,40:     I(IN$)PIZ:Nd*------------------------------------------------*n* Need to save dungeon or exit editing screen? *x*------------------------------------------------*:-- Need to quit and save dungeon level?: K$:'*--------------------------*I* Check for dungeon item *k*--------------------------*q: I1(IN$)I$(IN$,I,1)I$K$1360(50,255((CH(I)1)128)((CH(I)128)192)2CH$(I):<BUF(16(V1))H,CH(I) F16V1:VT75K$"I"VTVT1:VV1:V1V16:VT22;:m*------------------------------------------** If cursor key then go back (for speed) **------------------------------------------*:K$"I"K$"J"K$"K"K$"M"ĂALOOP-------------*.V* Cursor movement keys *N`*------------------------*Tj:tK$"J"HTHT1:HH1:H1H16:HT19:VV1:VTVT1:V1V16:VT22~K$"K"HTHT1:HH1:H16H1:HT4:VV1:VTVT1:V16V1:VT7 K$"M"VTVT1:VV1:Veypress *"*----------------*(::K$:CKB,ZERO@:x$*------------------------------------------------*.* See which key was pressed and act accordingly *8*------------------------------------------------*BL*-----------y repeating FOR-NEXT loops. *N* This approach is much faster *~* than using GOTO statements. **----------------------------------------*:ALOOP12ZEROVT:HT:*----------------* * Get k4"T>HIDDEN DOOR"!>"=>SAVE"3H"ESC>QUIT":@R7);"I"]\6);"J";::" ";::"K"jf7);"M"pCKB,ZERO:32,ZERO:33,40z:*----------------------------------------** Main processing loop. It uses ** infinitel2"1>HALLWAY")"2>SOLID WALL"8"3>CHEST"F"4>DOOR"Y"5>TIME LORD"k"6>FOUNTAIN""7>STRANGE WIND""8>TRAP""9>ROD""0>GREMLINS" "Q>WRITINGS""W>UP LADDER" "E>DOWN LADDER"*"R>2 WAY LADDER" DJ:" "(NI116:I6:I10);I::X32,22:33,18@b:ul*---------------------------------------------*v* Print options out on right side of screen **---------------------------------------------*::VT7:HT4:V1:H1 is in each *3 * location and print it out *X *-----------------------------*^ :y J1256:CHAR(BUFJ) I115 CH(I)CHARĂI 50,255((CHAR1)128)((CHAR128)192) &CH$(I);::I15 0I :(J16)(J16)ĺ" ":4);creen and print headers *D r*----------------------------------*J |:R :g DN$;" (";LN;")" I119:"-";::"-": 12);"1111111" 3);"1234567890123456" :4); : *-----------------------------* * Calculate what--------------------* :% 1730+ :U "*----------------------------------* ,* Read in dungeon level selected * 6*----------------------------------* @: JCODE1:2180 T: ^*----------------------------------* h* Clear s *-------------------------*A * Read data into arrays *b *-------------------------*h :t 1590: "INSERT SCENARIO DISK & PRESS RETURN ";A$ : *----------------------------* * Select dungeon and level * *-----------------------------------*" Z:- d38144d n(768)(770)329ĺ(4);"BLOAD SECTOR.ZAP,A$300" xBUF38143:RWTS768:KB16384:CKB16368 IN$"1234567890QWERT":ZERO0:CODEZERO DN$(8),MAP$(8),ZM$(2,9),TRK(8,9),SEC(8,9),CH$(15),CH(15) :& *=============================*K* Ultima III Dungeon Editor *p* by : Jim S. Hart *(*=============================*2<*-----------------------------------*F* Initialize arrays and constants * P*--------          # -- Second menu# :`# " 1 "," 2 "," 3 "," 4 "," 5 "," 6 "," 7 "," 8 "," EXIT PROGRAM "f# :# -- Dungeon character data# :# 32,0,32,128,36,64,127,160,84,1,70,2,83,3#( 84,4,82,5,71,6,87,8,94,16,118,32,37,48,47,192Data for menus array *7" *------------------------*=" :P" -- First menuV" :" " DARDIN'S PIT "," MINES OF MORINIA "" " PERINIAN DEPTHS "," ISLAND DUNGEON "" " TIME LORD "," FIRES OF HELL "" " WELCOME FOOLS "," EXIT PROGRAM "# :,1,8,2!. "TIME LORD","3A-1E"F!8 8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11c!B "FIRES OF HELL","31-22"!L 8,13,8,14,8,15,9,0,9,1,9,2,9,3,9,4!V "WELCOME FOOLS","13-39"!` 9,6,9,7,9,8,9,9,9,10,9,11,9,12,9,13!j :!t *------------------------*"~ * IT","2E-07"0 6,0,6,1,6,2,6,3,6,4,6,5,6,6,6,7O "MINES OF MORINA","09-1C"z 6,9,6,10,6,11,6,12,6,13,6,14,6,15,7,0  "PERINIAN DEPTHS","38-06"  7,2,7,3,7,4,7,5,7,6,7,7,7,8,7,9  "ISLAND DUNGEON","3A-2C"!$ 7,11,7,12,7,13,7,14,7,15,8,0,8*---------------------------------------------------*s* Data for each dungeon. ** Dungeon name,Map Coordinates,Track-Sector lists **---------------------------------------------------*: "DARDIN'S P1)ZV(ZZ2)(ZK136ZK139)(Z1)(ZK138ZK149)9H?R:d\*-----------------------------*f* Read/Write sector of data *p*-----------------------------*z:790,CODE:791,ZERO782,TRK:783,SECRWTS:72,ZERO::812ZERO:$ ZV:ZH:ZM$(ZI,ZVZ)8(KB)1282070Q ZK(KB):CKB,ZERO:k*ZV:ZH:ZM$(ZI,ZVZ)4(ZK141ZK155)ZK(ZVZ)(ZK141)(ZK155):BLOOP2::3>(ZK136ZK139ZK138ZK149)ZVZV(ZK138ZK149)(ZK136ZK139):(ZVZZVZZ2* Value upon exit: *V* ZK = # of menu item selected ** (i.e. 4=fourth item in menu) **--------------------------------------*:ZZV1:ZVZJ1Z2:ZH:ZM$(ZI,ZJ):CKB,ZERO BLOOP *B* Values upon entry: *p* ZV = Vertical top of menu ** ZH = Horizontal left of menu ** Z2 = # of items in this menu ** ZI = Which menu in menu array *(2:2020:BZK&B1B9-0B9A8:1780P:LNB:TRKTRK(A,B):SECSEC(A,B)VD\N:X*--------------------------------------*b* Cursor Bar Routine *l*......................................*v* " ULTIMA III DUNGEON EDITOR ":D5:"CHOOSE DUNGEON TO EDIT :"gZV8:ZH8:Z28:ZI1:2020:AZKuA1A8A8ġ:::"PROGRAM TERMINATED.":DN$ZM$(1,A):2:5:DN$4:"CHOOSE DUNGEON LEVEL TO EDIT :" ZV8:ZH10:Z29:ZITTRK(I,J),SEC(I,J)^J,I6hI18:ZM$(1,I):MrI19:ZM$(2,I):p|I115:J,CH(I):CH$(I)(J):v|:*----------------------------** Choose Dungeon and Level **----------------------------*::2:8:!"="1490CODE2:2180 :A-- Need to quit w/o saving?G:[K$(27)1520gALOOP2m:xALOOP270:*----------------** Read Data in *"*----------------*,:6I17@DN$(I),MAP$(I)JJ18: ALOOP270:3*===============*J* Subroutines *a*===============*g*----------------*"* Read Data in *,*----------------*6:@I14JZM$(1,I),TRK%(I),SEC%(I)T:ZM$(1,5)^I16hCnK$"="1490x::5F"WRITING ENCOUNTER BACK TO DISK..."WCODE2:1840cALOOP2i:*-----------------------------------------** Go back to start of Main Control Loop **-----------------------------------------*CH$(I):(BUF(11(V1))H,CH%(I)6I(KEY$)=IC:\*-----------------*u * Save or exit? **-----------------*:(-- Quit w/o saving?2:<K$(27)1390FALOOP2P:Z-- Quit and save encounter?d:---------------------*`:DjK$"J"K$"K"K$"M"K$"I"ĂALOOPJt:d~*------------------*~* Check for item **------------------*:I1(KEY$)I$(IN$,I,1)I$K$126050,255((CH%(I)70)192):CH%(I)68ğ 1:HT4:VV1:VTVT1:V11V1:VT7M$K$"M"VTVT1:VV1:V11V1:VT7w.K$"I"VTVT1:VV1:V1V11:VT17}8:B*-------------------------------------------*L* If cursor move then go back (for speed) *V*----------------------*--------------------------------------*0P*------------------------*p* Cursor movement keys **------------------------*:K$"J"HTHT1:HH1:H1H11:HT14:VV1:VTVT1:V1V11:VT17$K$"K"HTHT1:HH1:H11H33,40 f:(p*=====================*Ez* Main Control Loop *b*=====================*h:|ALOOP12ZEROVT:HTK$:CKB,ZERO:*--------------------------------------** Check keypress and act accordingly **K-M KEYS" "TO MOVE CURSOR"8"-----------------"M :" - <-WATER"_*" # <-LAVA"x4" @ <-FORCE FIELD">" ";::" ";::" <-MOONGATE"H" ";::" ";::" <-SOLID WALL"R(34);" ";(34);" <-DARK SPACE"\CKB,ZERO:32,ZERO:--------------------------*!:7VT7:HT4:V1:H1@:2O"1>WATER"]"2>LAVA"r"3>FORCE FIELD""4>MOONGATE""5>SOLID WALL""6>DARK SPACE""=>SAVE ENCNTR""ESC>QUIT EDIT":"-----------------" "USE I-J-((CHAR70)192):CHAR68ğ. CH$(I);::I65 &IN 0(J11)(J11)580] :" ":4);i DJ:" " NI111:I6:I: X32,22:33,18 b: l*------------------------------------* v* Print out rest of editing screen **---------- 13);"11"% 4);"12345678901"1 :4);7 :` *---------------------------------* * Print out what was in dungeon * *---------------------------------* : J1121:CHAR(BUFJ) I16 CH%(I)CHAR550 50,255 ,* Read Dungeon level in *A 6*-------------------------*G @:X JCODE1:1840^ T:~ ^*------------------------* h* Print screen headers * r*------------------------* |: :(DN$,2);"ENCOUNTER" I119:"-";: "-":--------* : 1600:J "INSERT SCENARIO DISK & PRESS RETURN ";A$P :x *--------------------------------* * Choose Dungeon level to edit * *--------------------------------* : 1710 : "*-------------------------*K%(4),SEC%(4),CH$(6),CH%(6)R x(768)(770)329ĺ(4);"BLOAD SECTOR.ZAP,A$300"t IN$"123456":ZERO0:CODEZERO KB16384:CKB16368:BUF38143:RWTS768 : *-------------------------* * Load data into arrays * *-----------------$ *===========================*G* ULTIMA ENCOUNTER EDITOR *j* By : Jim S. Hart *(*===========================*2<*-----------------*F* Set constants *P*-----------------*Z:d38144 nZM$(1,5),TR          ----------------------------*A* Items (character, value) *e*----------------------------*k:45,0,35,64,64,66,32,68,32,70,32,72K------------------*G4* Encounter name for menu, track#, sector# *{>*--------------------------------------------*H:R" ROD OF MARKS ",1,15\" TIME LORD ",2,0f" FOUNTAIN ",2,1p" SHRINE ",2,2z" EXIT PROGRAM ":*36ZK139ZK138ZK149)ZVZV(ZK138ZK149)(ZK136ZK139):(ZVZZVZZ21)ZV(ZZ2)(ZK136ZK139)(Z1)(ZK138ZK149)BLOOP:*================* * Program data **================* **--------------------------:ZZV1:ZV3ZJ1Z2:ZH:ZM$(ZI,ZJ):ACKB,ZEROWBLOOP12ZERO:qZV:ZH:ZM$(ZI,ZVZ)(KB)1281980ZK(KB):CKB,ZERO:ZV:ZH:ZM$(ZI,ZVZ)(ZK141ZK155)ZK(ZVZ)(ZK141)(ZK155):BLOOP2::(ZK1ERO: N:HX*-----------------------------------------------------*b* Cursor bar routine adapted from Beagle Bros flyer *l* (Thanks to Bert Kersey & the Beagle Bros gang!) *v*-----------------------------------------------------*5:ZI1:1930ZK1ZK5-ZK5ĉ::YDN$ZM$(1,ZK):TRKTRK%(ZK):SECSEC%(ZK)_e:*---------------------** Read/Write sector **---------------------*&:0792,CODE:791,ZERO:782,TRK:783,SECDRWTS:72,ZH,CH%(I):CH$(I)(CH)r:#|:G*----------------------------*k* Choose Dungeon and Level **----------------------------*::1::" ULTIMA III ENCOUNTER EDITOR ":5:" CHOOSE ENCOUNTER TO EDIT :" ZV8:ZH8:Z2! ```:38):17:1:38):Y5376:230T3:13::"SHADOWKEEP COPY"::9:5:"-ORIGINAL- -DUPLICATE-"11:6:"DRIVE:";:25:"DRIVE:":13:6:"TRACK:";:25:"SECTOR:":&15:6:"INSERT ORIGINAL IN DRIVE ONE":17:14:"PRESS ANY KEY":16384,128:16368,0015:14NT1:TRTK1:BUF5376:DR1İ550:2304Z4230NT1ė:17:"ALL DONE":3:"TO USE THIS COPY PROGRAM AGAIN, YOU MUST":4:"REBOOT THE SHADOWKEEP COPY DISK AND RE-":5:"RUN THE COPY PROGRAM.":DR1TRTK1:BUF5376:550:230 TRTK1:BUFSERT DUPLICATE IN DRIVE ONE":17:14:"PRESS ANY KEY":16384,128:16368,0:15:1:38):17:1:38)TKTR:W(TRNT)TR:L015:BUFBUF256:13:13:" ";:13:W;:33:" ";:33:L'2,W:3,L:4,BUF(BUF256)256:5,(BUF256):WR:L:W:ZZ1:Z:SKEL015:BUFBUF256:13:13:" ";:13:W;:33:" ";:33:L0,0:1,0:3,L:4,BUF(BUF256)256:5,(BUF256):5120(1)1ė:12:16::"DISK ERROR"::L:W:BUF5376:TRW19:16::"WRITING":e47082,DR:DR1Ģ15:6:"IN33:LGJ2,0:3,L:4,BUF(BUF256)256:5,(BUF256):WR:L:BUF5376aT9:16::"READING":^DR1Ģ15:6:"INSERT ORIGINAL IN DRIVE ONE":17:14:"PRESS ANY KEY":16384,128:16368,0hDR1Ģ15:1:38):17:1:38)|N1:WTR(TRNT):2,W6:5,(BUF256):5120:L:BUF5376:DR1Ģ15:6:"INSERT DUPLICATE IN DRIVE ONE":17:14:"PRESS ANY KEY" ,DR1ĵ16384,128:16368,0:15:1:38):17:1:38)@47082,DR:9:16::"WRITING"::L115X:BUFBUF256:13:13:" ";:13:W;:33:" ";:EAD TRACK ZER0 *E 9:16::"READING"::DR1Ģ11:13:DR;:32:DRe DR2Ģ11:13:"1";:32:DRr N1380 S1X2:280 X1 2,0:SK:L115X:BUFBUF256:13:13:" ";:13:W;:33:" ";:33:Lh "0,0:1,0:3,L:4,BUF(BUF256)25"PRESS ANY KEY":16384,128:16368,0u (13):(4)"BLOAD TRANSLATE TABLE,D1":X0105:Y(24726X):47766X,Y:X :47082,DR:10:9:"INSERT SIDE "(192S)" IN DRIVE 1" 12:9:"PRESS ANY KEY TO CONTINUE":16384,128:16368,0::530 * R:(13):(4)"INIT HELLO,D"DR",V"SS) xI TR1:BUF5376:Z0:NT7:170 (13):(4)"BLOAD SH1.OBJ":SK5305:WR5352::12:"1 OR 2 DRIVES? ";:A$:A(A$):A1A2Č65338:150 90& DR1Ģ11:2:"INSERT SHADOWKEEP COPY DISK IN DRIVE 1":13:14:1503 F(13):(4)"BLOAD SH.OBJ":SK5303:WR5350q P:12:"1 OR 2 DRIVES? ";:A$:A(A$):A1A2Č65338:80 ZDRA::10:9:"INSERT DUPLICATE IN DRIVE "DR:12:10:"PRESS ANY KEY TO CONTINUE":16384,128:16368,0# n:11::14:"INITIALIZING": @ :::7:12:"SHADOWKEEP COPY"::9:8:"[1] COPY SIDE A"11:8:"[2] COPY SIDE B":13:8:"[3] COPY SIDE C":15:8:"[4] COPY SIDE D"17:8:"[5] COPY SAVE GAME DISK"(19:8:"CHOOSE: ";:A$:S(A$):SSS1:S1S5Č65338:40 2S5     詷 `     췥詷 `H.5``Jjɪɭ佌JjڽɪѠɖƩ'*&%&,E'V - L>?& ¸``  `鷩귩뷍췩﷠詷 `췦  詷 `     '.5`Jjlɪɖ*Hh%EN IJjɪ ɭ꽌V Ѐ>?& ¸``8``鷩귩뷍췩﷠詷 `귍췦 `j' 7 1 !"#$%&()*+;-./023456 89:,<=>?8,98 14,7,117,234( 14,7,118,234: 14,7,119,234;! BARD'S TALE II CONTROLLER>ST15:LS15:FAST1:CDWRRTK0:LT5:1050gTK7:LT35:1050}:"COPY DONE!":490:610$T1TK:TK(TRK)1::310:TKT1.490:610:(TRK)LTı8TK(TRK):ST(SCT):1050 4 CHANGES 1,6, Q! BEYOND CASTLE WOLFENSTEINITK3:LT35:ST15:LS15:CDWR:FAST1w:190:210:47426,24:47786,35:490:610230:47426,56:47786,170:490:610:(TRK)LT1050TK(TRK):ST(SCT):1020:"COPY DONE":213,218,150,213,218,173 LT1170 TKLT11202 :A$"ALL DONE":450:_ 170,213,171,170,213,235,222,171,237,17070 BTKLT1020 L:4509 VTK1:LT35:CDWR:MB151^ `ST0:T1TK:490::190:210:170 j430:100:STST1:ST161130 tBF1160 ~ST0:TKTK1:TKLT1130 230:TKT1:ST0:490 430:100:STST1:ST161170 ST0:TKTK1:BF0TK` J.BIRD CONTROLLER4TK0:LT1:CDWR:MB144YST1:T1TK:490::190:210:170{430:100:STST1:ST161030BF1060ST1:TKTK1:TKLT1030$230:TKT1:ST1:490.430:100:STST1:ST161070 8ST1:TKTK1:BF0TKLT10  445,212(TK2(TK2)):- 218,170,218,170>7.TRANSYLVANIA;TK3:LT35:ST15:LS15:CDWR:FAST1_490:T1TK:LTTK1::170:2000610:(BUF)MBLT35LTLT1:TKTK1:2000:1025230:TKT1:LT35:490:610:(TRK)LT1050TK(TRK):ST(SCT):1020:"COPY DONE": 47 :ST(SCT):1060% B:"COPYDONE.":B 170,213,173,213,150,170C"OREGON TRAIL;TK0:LT1:ST15:LS15:CDWR:FAST1I490:610g490:610:(TRK)LT1050TK(TRK):ST(SCT):1020TK1:LT35:ST15:LS15:CDWR:FAST1$:190:210)490:610.230:490:6103(TRK)LT1090 8TK(TRK)  3,221,2237  221,223,223,215,221,215,221,215,223,223e  223,215,223,215,223,221,223,223,223,215  221,223,223,215,223,223,221,223,223,223 '(4);"BLOAD RWTS.ULTIMA I,A$1900"430:100:STST1:STDOS1100: `TK(LT1)TKTK1:1031Q t::"COPY DONE":  213,213,223,223,221,215,221,223,223,223  221,221,223,221,223,221,223,223,223,221  223,223,223,221,223,223,223,221,223,215  223,223,221,223,223,215,223,22 ULTIMA I CONTROLLER%CDWRM775,96: IGNORE UNREADABLE SECTORSY900,12dDO313mTK0wLT35ST0:T1TK:490: READ360:A1,A2:47462,A1:47368,A2$430:100:STST1:STDOS1060B490:360:TKT1:ST0: WRITE L!! ! K1:BF0TKLT1070$ BTKLT1020? L:A$"ALL DONE":450:m ,170,213,150,213,170,173,222,170,222,170n$"MECC CONTROLLER WITHOUT RWTSFTK3:LT35:CDWR:MB151:550kST0:T1TK:490::190:210:170430:100:STST1:ST161030BF1060ST0:TKTK1:TKLT1030$230:TKT1:ST0:490.430:100:STST1:ST161070 8ST0:TKT""