LBSOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUNDINVALID KERNEL FILExةw,@  4  J  ȱ⩤i8#) ) 8LeCREATESO 8>:Ф ,PRT.OPS.CODE>:Ф%+JEPPSON.LIB*>:L#-READ.ME.FIRST9-M.DISASM.CODE| >8ڤ!-M.SEARCH.CODE>9 -MAKE.OPS.CODE >9Ф+OPCODE.LIST >9Ф,OPCODES.6502>9 .PEEK.POKE.CODE#DH.HEXUNIT.LINKEDq >8Ф .SYSTEM.LIBRARY*H:ФSYSTEM.MISCINFO>::-SYSTEM.PASCAL3dH.SYSTEM.STARTUPx>8DISKNAME.DATJ,J,III.REP.10S.09Au' +CREATE.CODE >7H+-D.DISASM.CODE >7ڤ-D.SEARCH.CODE$>7 *HELLO.DATA2(>7,HEXUNIT.CODEj >8Ф *SOS.INTERP<m#im#iЛ#Lȱ  6L憦  Lsmm l y` @8(Je稽 ʈ *ˡ0u 0u*á0u {*á}}U U Asterics removed from fileUU<  צ  ȡ/  Í1 0u }80uzz ˡ}80u }:~šU U Comments removed from FileU4CE ~ UUצRemoving AstericsU}~}ȡ}0uz}z:áh}0u{0uUUצRemoving all comment statmentsU}}ق}}0uz}z á:}40u;á}40u }50uzz ˡ}50u }60uzz ˡ}60u }70uzz ˡ}7 "$&(*,.02468:@GɄ}%0u ˄I*$ġ'}݂0u}݂0u}$0u0}:~šU U1 "@" or "#" of FFD3 conditions have been examinedUY[ IJ}z á:}$0uڹ}%0u@[ɄB*%ġ'}݂0u}݂0u}%0u0}%0u@[ɄB*%ġ'}݂0u}݂0u}%0u0#@ UU with -> U.UWقXWXȡW0u.WWW)2Resetting Look up table - Previous Table ContentsUUȡHUצLabel From Look up Table -> xxxUUUUצ/Total Number of Items That Were In The Table = U Uȡ Example "4FA0" -> PAPlease Enter the Label character. e.g. "x" for xxx30F0 --------> |<~0u ȡ ת# @UUook at file and try againצsend listing where -> ±PU±APlease enter the starting address.(UPPERCASE) Example "0000" -> PצAPlease enter the ending address. (UPPERCASE) rences.צPress צReturnצ to exitצ#Please enter the file name to open ±P,±P±á±"ˡC.Error Openning file lan Ascii file NOT a Pascal Text file. The fileCthat has been read-in will be written out to a user designated FileצBFurthermore, a listing will be generated to a user defined device.צfor future refe"Facts on the SOURCE: By Rob Turner2The SOURCE will skip ALL lines that Begin with "/"DThe "/" must be placed in the file by an text editor. Also note that@the file must be n צ ݿܿۿڿȡWUAttempt to Install UU Failed Because Table FullU  0uå0uÄ0uÄ0uÄZ  ,ULabel Already AdjustedU ؂0u á:0uå0uÄ0uÄ0uÄ0u|Y)es or N)o -> zzNéznÍ  FץU{± UTZNJL v f $:N*ritten back out+m6=Do you wish to list the file before saving it Y)es or N)o -> zzYézyÍqצsend listing where -> ±PU±U~ȡU0u,Do you wish to save the File try againz+~+צAll Done Boss ~ צ blocks written back out~צAll Done Boss ~ צ blocks written back out+m6ˡ+"**ˡצReset caused error #* +"**ˡצRewrite caused error #* ,I could not create or use the file named -> +צPress return and letso save the file under a new name1By doing this you will not OVERWRITE the file -> ,צ+Just press RETURN to OVERWRITE the old file#Enter File name or press Return -> PU0uU á U0u 0u 0u 0u :~ġUU U" Above addresses have been removedUMOf+ƂQצPצ9You now have the option t an U!invalid address ** INVESTIGATE **U}:~šL^U7Following addresses were not referenced so were removedUUۂ0uzz á:0u|ˡȫ}}0uz}z á:-}~ɡ ת תP,/,/ȡ ,},0u,,JSRׯJMPׯ,/,/ȡ ,}#,0u,,}$ }$]UAddress UUצ isUצAddress UUצ" not present in this, But is ValidUV }-UUצ8Beginning Routine to Adjust the JSR and JMP InstructionsUUצ-Routine Replaces SOS Addresses with SOS NamesUU}-Jצ191CSysEnableReset%٦1925ׯצ SysFailure  $צ P٥٥ڴ|||,-,-ȡ,,,,Lound have been adjustedUOQ ٦1913ׯצ SysAllocSIR ٦1916ׯצ SysDeAllocSIR ٦1922ׯצSelC800٦1928ׯצSysErrצ191FQueEvento٦1919ׯצSysDefeatReset%0u|}&0u|}'0u}(0u})0u}*0uUצ#Converting branch address from --> UUUUU}:~šU U" branches f6U&No address found to convert to a labelUP0UUצLooking for Branch instructionsUU}}؂}}0uz}z á:}$0uz}%0u{z-é{>Ä}$0u|}0u|0u|0u0u0u0u0u:UצTo the ladel --> ȡU0uU: -UצLabel already createdU؂~ō=Do you wish to list the file before saving it Y)es or N)o -> zzYézyÍqצsend listing where -> ±PU±U~ȡU0u,Do you wish to save the File DISASSEM w( #(#  ȡ쩌#"(::ȡ#$(  ʥ ###!ġ#צ  ȡ-. .á! צ .###!ġ# #(#"(::ȡ#$(  á  #!ġ#Y/ #"(::#$إ(צ  س . ,P,,P,+S,צ W,9ǧ,צ Ǯ,,PV &  bbȡQ#$ c cddȡ##šVš##ة"(99P +#"(,,P,: R,P*+,*,ȡ3--P-*R-צ S-P**ɡ,,P, Q(    צPP9š99PQQײ9š99Pצdisp9s (default = $0000): P(ڥ(ک!(צValid addresses: $צ to $T 9٢P תP#ȡة$..Specify blocknumber at which to begin load:  %/ %blocks transferred =  !.Assign starting $addresƂ+(/צSpecify source file: Ƃ+PƂ+"ˡQצI/O error: code #  (p.171)áצ Loads (upto)   blocks( ("(צValid: ..!"(צ $ser ist20

age uit ut "[]צ [.console](%/ !"bbbbbbbbbbbbbbbbmá  ###!ġ#צ  ȡ-. .á! צ #* զׯbצSpecify outfile: Pצ   (ުSSǀġ SǀSS.SS  צPP9š99PQQײ9š99Pצdisp9s (default = $0000): P(ڥ(کT(צValid addresses: $צ to $T 9٢P תPYȡةZ.0Specify block number (decimal) to start load:  [/ [blocks transferred =  T.Assign starting $addresƂ+(/צSpecify source file: Ƃ+PƂ+"ˡQצI/O error: code #  (p.171)áצ Loads (upto)   blocks( (X(צValid: ..VX(צ $ser ist20

age uit ut P"[]צ [.console]([/#%&'()*+,-./0bbbbbbbbbbbbbbbbmDISASSEM +$#"FFFF(! 00תPզתP"N S(á0& ת ((ZJDHfl(@t:  X f >*("##ɩ#!č#ˡ<á % LP NƂ((  opcode.list ~ "$&9*d.A2Eء š ^4Dš, áءšC }yu<U4  ,$&]<].q2B  3զ׷  |p<U4!   !Sš(<[>R<xxxxx0([ = "$&P" ء* ; צ šVšYYةX(9޲9P +YX(,,P,:Q, R,P*+,*,ȡ3--P-*R- S-P**ɡ,,P,צ Q,P,,P,*Q, Y,+\,צ a,9DZ, Ƿ,צ;Ǹ,צ ǹ,,PPV b P bbȡ ^4Dš,@ áءšC(XYYɩYTčYˡ<á % Q R3׷ R|p<U4!   "$&9*d.A2Eء š([ = "$&P"@0 ء* Q; צ  }yu<U4  ,$&]<].q2B:~X( found at ~Wr L   !Sš(<[>R<xxxxx0decimal): SPSˡSSáSצS(Ud }U}ȡv #} : *P*ˡ**á}d*(}}~~á not foundlocation (default = $): SPSˡSSáS׷S(XVTARGET (default = }U}ȡ-}d*(* }})צ length (in hexa  Search utilityWX($Enter starting location (default = $צ): SPSˡSSáSצS(XWVX(צ"Enter ending $ searching...WVÄ˄۩UɄ%ۂZdˡ۩UšޡEܩX||(á,|(||(ܩTVޡ P P$s*  PPPׯbצSpecify outfile: PצPP .((. P á P YYYTġYצ P ȡSSǀġ SǀSS.SSP Sá!צ P Pi( Y(YP  ȡ쩌YX(:P:ȡYZ( P á P YYYTġYצ P ȡSSǀġ SǀSS.SSP Sá!צ Sǀġ SǀSS.SSP SYYYTġYP Y(YX(:P:ȡYZ(QYZ c cddȡYYYTġYY/ YX(:P:YZإ(צ P ثSLP NƂ((  opcode.list @~0+ZYX צ00PצPPFFFF(TXd UWTVN S(á0&QRתQR((ZJHfl>VPrr & 0 B ( 2.YɩYTčYˡ<á % ᠠᠠ堠̠婠䠠Р堠䠠蠠堠ﮠO砮젯岠寯󠠠堠砠砠娵ƩР砲Ơ̠󠠠蠠󠠠堰Ơᠠ򰰠Ʈ󠠠󺠠Ạ堠袢ĠϠκӠ13456789:^_`abcdefgh砠嵠堠蠠Ů󮠠Ԡ렠O砮젯屠寯󠠠㢠蠠蠬LP NƂ((  opcode.list @~0+ZYX צ00PצPPFFFF(TXd UWTVN𠠠䠨驠庠堠쮠㠠砮Т堨ũw w`svywyw w w w ww ww w t t t t`hhhyhyhhTy y xHH` yyy yy y  `tstty ty tt`svL&whhh th ths x yHH`}x|x yx|x`|x tsvzxv{xv}xȘvv v txx`xxhhsvhvhvhhvv vHH`svywyww ww w}xw w w w v`# Fv`vvv cv`v Fv`hhhhwwhhjjjjwjvj vLw wvsw }x|xHH`wswsw w`hhhhhhUsȑȭsȭsȭsȭsȭsȭsȢs y s }~)yL!&X(E'+@FGH{|}~ @ Ev0vDvvLQv1vEv `uv Fv`|v Fv`nsPnsPv`# Fv`vvv cv`v Fv`v`# Fv`vvv cv`v Fv`v`# Fv`vvv cv`v Fv` ts;ttttt ts?tt@ttt tss18tAttBttst t St8tLbut~sts tt tt t tttL ctDta s5sLub s&sLuA ssLu  s StLu CtЫsvv cv x;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] t.CONSOLE.GRAFIX.PRINTER.RS232.D?tt%t.t5tsss`sss`s+s&s!ss0ss0``tstt`tҰt ̮tssssssssst9tt:tttSOS NTRPs1BLsL-xL~xLjyLyL2|LY|L|L|Le{L{L{L{LzLzL@{LP{L{L{L|L |L|L|LA~LU~L^{LwQusnssPLtLtŠԺ䠠젯寯砠ɠ蠴O砮젯峠寯󠠠Ҡ̺Š٠堠쮠堠砮Ӯ΢娮įǩ䠠庠 thj thh t thsth   hht t t.tU t8\Z][TZ[ te t tt e    FvHH`(LzLyhhh th th thji thht thsthhhtt FvHH` s` `svL&wLysv{v{vvv v{`{{sv{v{vvv v`{svLwsvL&wsv{v{vvv v{`{|sv|vveawvHvHL冠Xw e`veawhvhvL冠X e`eaHHL𨭙whvhwȱvHvHLhvhwhxhyyvxȥwxLȱXȘ vX)XYXHXHXevXYL ȱX khjhkjHjHLȱXvevevlPe`fQeag fHfHL Pe`fQeagfi fggHfHL gPe`fQeag hfhfLX  eg`edfaeeg fHfHL冠X  `edfaeegfi fggHfHL冠X  eg`edfaeeg hfhfL冠Xw e`HHXYp X lLhh)X0 eXXYLeTveUwUwv8vXwvYL HHLXHXHL飨RHRHL gRe`fSeag fHfHL Re`fSeagfi fggHfHL gRe`fSeag hfhfLèPHPHL g\R]S]S_\ȥ]Z[[ )z RPRRSQRRQ RȥRi fL XaXYX `&a` `a`RdSeSedvȱdevd`ȱ`Zȱ[`XiXYXiXY HH LURSTUVWRmvmwwyz{{|}}}|Fxy exxx&yvexxweyyxȩxxixyzxȱzxȱzxȱzxziz{|i|}Г\]\8\]SU T쀍VW@RRSTUVARARWXYZ[ 8 8 ť 8i杩村ƝRSTbVcWXYZd[e\Rح)pRSERRSTUVARX8  W8LZW RSUTVW@RRSTVXWRHH LRUSTUWVR3vRRvjjj)*R`pA'rFͰͰͰͰͰͰͰNj䋂 Y.D1/SYSTEM.PASCALg.D1/SYSTEM.MISCINFO<Put Pascal system disk in built-in drive. Press RETURN.!?_ @` ;*(|@΍ߞJBITڌ*xY6YsB_>3F b$9ˉ?$^V`ZRybÇԮSͰͰ lllllllllllllllla^^^^^^^hhhHH``8Zv[vvv vZ[``)s svLw`)ssvL&whhhhhhHH`tststt`tststP tt`hvhvhh h h  vvh)s1 svhhh) $v v vHH`hhh))Z[L} }    ~HH`* |8  }L} |`|` } }` }`8\] ~ h|vvv v`|svLwsvsL&wsvW|vX|vvv vV|`V|}|sv~|v|vvv v`}|svLwsvL&whhhvhvhvhvhhvvh)ssvhhh vHH`hhhhhmmvLhlhlhhLhvhwhevvhewwwHvHLhhhvhwhevvhewwwvLkmhjhkhlhm Lɢhvhwhh%wH%vHLhvhwhhwHvHLhhIHIHLXXhhQX0XŏoXf0bXE0XRXŎIE8XX&XeYei揭W8XYL XiXYL hvhwv&whxhyy8\v\]w]8\Z][L\xȥ]xL ņhvhwhxhyv&wyZxȥ[xZevZ[ew[8\Z][LL ņhvhwwZvȥ[vLhvhwwvZȱv[)@ L94)  L90 2)hhLҰ`0!ƍL`&&&0 ƃƃ`\0 2)hhhhLҰ40$494) 0-L™"L™&% 8`$ `Vvvv`w8}Iȥ}v Ì665``ō0 2)bENŃ ƃƌ!Ffff 5&Ō0*0  F2)hhLҰ0 2)`Ń 0"kgffff惩ŃO0 2):46vlhh0jH*vjHHHl`w $x$y $z}J`} $~ $ $vLח$xp$~P!0 2)hhLҰx)x~)~y̢|8`$~ $$`|)@0 2)п)8`0戨L 0 8`hh •v h0 LE LElnLdLj/ L 8L •v hI=+ L •v襀I= ƀ LȄHHLhhhhh*68jh*v #n0 2)LҰ%n HHLHHLh)vhh)hvL nhxhyhvhwEy0wyvx/1'w0+!hvhwhvhwHHLhHHL%nHHLhhh ~hxe~ |ŀ8~e|vl8 nXLLL=LN   Faf`LM hxhyhvhwXYwy`LvxvwxyaLL Lwyhxhyxyxyhvhwvwvwvxx ȱvxvx L})L8|~}L~) w~fjv|) y|f}jx8xvyz{{HzHz{{HzHzw9ޓz{9ߓ{{HzHz{v {HzHHxiHLHHLHHLV??zF~H~HLX hh&ņL0eeƆL򆥆8儅ņ 8刪8刪ƄLhh&eȹ~Ȅh)1~)wf~jjj)?vńevw9ܒ hHHLhHHL @hhHHHHh|h}h~hzxI%vyI%wzȥzLhhh ~he~Ȅ Ȅvl %~8~e~ h9 0 ʚL %~~ hI9ʚL %~0~ hʚL|v|z}{zve|ʥ~z{ƅ|}hh &hezheHzH}H|He|HHLh~hh|h}hzh{{zȱz~80 iff| ==HHLhvhwh~hh|h}| x%vvy%ww~80vwwvxyyxi v&wx&yhzh{{zȱ檥HHL펭kmhjhkhlhmXk&ljȑlLjjlLQjlLLװwvwvLVL{ he`zhea{zHzHL he`heaHHLhh a `&L揥`a lhezheHzHLXX{0{wvz{LLV^__`XȱY`ȱL+ XYXYXXYL XYXYX步kg\8孅\]\)\]H\H0X\\8\]\ȥ\ȥ^\ȥ_\\^]_8\Z][LXeXYL iIiIi挥IiIiƌ8別剰 ` gf!ffgff8fg8&&`ffgff&&`hhhh 挥IiIiHHLhhhh 挥HHLhvhwhxhyz{Ey0y{)zx!{0wEȩLLshh0HHLIiIiHHLhvhwhhevewHHLhIihIiHHLhvhwhh8vwHHLgfff fefgegfgffff`hh0 hhLΌhh"IiIiIiIi lHHLHHLfgL`| Ù`v|`4) ``5)@v|v`0  F2)hhLҰ` {ezeyexe~ a ` 8{zy~x4) ` ; a `w}"$x~yzŀ {Ł|8`w}w}x~x~yyzzv`v Ȗ| ȖvIvL2v Ȗ| Ȗ UL˛w} Lɛ|LS}%v0tn50h0 2)XLҰw } $Lɛ}v| Ś L ^%!0~0500 2)LҰ L [Fxfyfzf{F~fff8{zy~e8)/H1HHHHHHH ^{LLSRTUX Vȱ*W.XR!R4T5UVWR\]Lð``­8Ɠ ~…`LRSi TVARLWYWX8 X ΰ0 [L쨩R[SER\8居\]岅]LE08居\岅]L8\Z][ ņ8\Z][L\]eHLhzh{hvhwhxhy{wy07ȱzx0xȱx,xyL# xȱxxyL#HHLuHHLuHHxvȥyvL򆭓8~`~ȱ~wLͧ8~~vȥ~wvevȱvev~8~Ɔ`ȱUUU 1VAR WHILE WITH hhh`hahhhhLhlhmhellhemmma ʑlmLU`LmlLhhh~hhe~~hehhhhh`ehae`Ii`Iia~Ŋ.LΦ'~0 ~L~8~L~8冪HF IMPLEMEN4IN )INTERFAC3LABEL MOD 'NOT &OF OR (OTHERWIS6PROCEDURPROGRAM !PACKED +REPEAT RECORD -SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USESȑLNdoǤKKK*5@KlKĥKKK@#AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO END ELSE EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO Ihhhheȱe a{8 ȱa {8 Lu0:A[_ ҕLLqȱi8A ȹȱՀƈ4i Lȱ~ȱ~ȩȥȩLȑ  LXiXYLhvhwhxhywyvxȑvxLje`jkeakle`lmeamakm ʱjlL[`L{jlLh`ha hhhhhhhhL򆭙kmhlhmhellhemmhjhkhejjhekkXL=aʱjlmkL͢`L뢱jlL8\Z][JHjHLv| w}L5)@ w}Lwv0|0X ?lhzhhhTLsUwT8vUwv8vXȥwYzT VL SRSLȱ yxȱyxL`x8xyx8xyx zxб wvȱwvЗLABzDF@GPtI$KL nN(kPQChSU焵V!cX_Z[^]k _#ǭ`xXb'dxehSgiQYjoNln9?oIqr|otEv7w߄y @{Η|½~v``| Ȗv Ȗw?}:w}NE||0vEvvv|)0L Lv $| ,0 2) LҰ0 2)HHL8w#0 xyzL]Fxfyfzzzvxyzz aLvɀ牢L(xyvxIxyIiyxxHyHLhh' HHHHLHHHH0 2)LҰ? w֢| Lw}v |  Lv Ȗv|L^LILhhhh:ɀ ,IiIi&lh{hzhyhx Y xHyHzH{HL Y LLv ȖwLi ћ Lw8}8eP&$0 LhhLҰwe}8eL^iL^挅@Fxfyfzeee~ffffإ Lr % a `v Ȗ| Ȗ U LvE|v|w&}0  F2)2LҰv L}x ~8&&&&&&&~ȥ~ ; % a `v Ȗ| Ȗ U LvE|v|w}M0 2)LҰ FL }| L}wL w0 2)LҰL v 5Li| }8wei L i8ŧSRERL槤\]L槅  `\]e&mmeeUȱP8\\]]L8\Z][ ņ8\Z][L\8]` ৠ|8Ɠ ~5~8~8\~ȥ]~8~Ə8 ƏL to continueeHH LsL審L審pX8XYL審 L審 L審 L審 L審 L寢hhhhCQHPH PȱPPQL RhPhQL9 RSwR8vSwv^ȱv_ȱv\ȱv]X i RHLj RwRvȱRwVv ΫwWvVwWWURTȱRUWYRXȱRYRRRSL ӯsPQvȑ RȥST^xȥ_xȥ\xȥ]xx\y]^_WVW8\Z][LlXz C ~ƆSRSLtȱ ȱņڠRRL Xz CL Xz CPQȑL XzX )XY  ~0 LOXz L ~8~}8|~}~L~L8~lm8 ƁPȹPȹPȹPȹPȹPȹPȹP Ym~Lhl w~iviwY8vvXwvYU~iTiURSy8xyRER`hh )Lhh ΫLhhw vwLehhWwVvWw]}\|]}XiXYv8zvwv8zvw8vv~wv~\ť~8~8~~ȥ~))i )HHl0 ΠˠẠĠ򠠠彰ư堠Ġ򠠠Ơ堠Š堠Ơ򠠠󠠠󠠠ɠ𢠠󠠠Ԡ򠠠堠嬠宠⠠򠠠좠蠠쬼堠򠠠㠠堠堠򠠠O砮젯嵠寯󠠠àҺŠ驠ᮠ렰堠Ժ尰򠠠尰󠠠젠堠蠠宠䠠Ӡᠠ砠î堰򨮮Ʃ頠堠尰㠠ë蠠Ơ堠ǠӠ󠠠庠頠堰ƨ婠ᠠ䰰Ơ砠렠䲠ᠠ㠠ɠ栠ᮠ䠠ᠠ󨲸򠠠렱堠場堂O砮젯崠寯󠠠̠̺Š٠󮠠穠宠PEEK POKE   :ڪP/-0-Ʉ110123456789ABCDEF..á(110123456789abcdef..á0/-.--0/ צ0123456789ABCDEFP-ئ0000תP..ȡ-ڕ(X Zצ0123456789ABCDEFP-ئ00תP..ȡ-ڕ(X X,F( ܿۿڿٿؿ  :ڪP/-0-Ʉ110123456789ABCDEF..á(110123456789abcdef..á0/-.--0/ צ0123456789ABCDEFP-ئ0000תP..ȡ-ڕ(X Zצ0123456789ABCDEFP-ئ00תP..ȡ-ڕ(X X,Fܿۿڿٿؿ  :ڪP/-0-Ʉ110123456789ABCDEF..á(110123456789abcdef..á0/-.--0/ צnd;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (int : integer) : integer;  function peek (bytenumber, bank : integer) : integer; procedure poke (bytenumber, bank, value : integer);  implementation E [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -end;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (i  type $varindex = 1..5; $variant = record case varindex of /1 : (int : integer); /2 : (byte : packed array [0..1] of 0..255); /3 : (nybl : packed array [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -eiklmnob(bbbbbbbbbbbbbbb HEXSTUFF 0123456789ABCDEFP-ئ0000תP..ȡ-ڕ(X Zצ0123456789ABCDEFP-ئ00תP..ȡ-ڕ(X X,F" HEXSTUFF PHELLO LDA XBYTE CMP #0FF ;FF = ROM #1, C0-CF = I/O BEQ SPECIAL ; "true" 00 and 01 pages ;handle system bank SYSTEM LDY #0=; (.Hb .( rash, just start CMP #0EF ; POKing into SOS (RAM $B800 - FFFF) BEQ DONE ; soon hHEXSTUFF# &( . ;detect artificia bank 'FF' $2hhhhh )ɀ0ɐ0(yuqLL%!x s (Lx L (  HH`xmje[UMJEAhhhhhhhhh "ɀ0ɐ0 LL%!x s (Lx L ( HHHH`qdc^THED?;975L hhh0123456789ABCDEFP-ئ0000תP..ȡ-ڕ(X Zצ0123456789ABCDEFP-ئ00תP..ȡ-ڕ(X XL hܿۿڿٿؿ  :ڪP/-0-Ʉ110123456789ABCDEF..á(110123456789abcdef..á0/-.--0/ צnd;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (int : integer) : integer;  function peek (bytenumber, bank : integer) : integer; procedure poke (bytenumber, bank, value : integer);  implementation E [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -end;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (i  type $varindex = 1..5; $variant = record case varindex of /1 : (int : integer); /2 : (byte : packed array [0..1] of 0..255); /3 : (nybl : packed array [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -eprstuv(gbbbbbbbbbbbbbbbb_wyzO(ة$( š á ١  9٢P תP#ȡة$( addressing)צ- (all other entries are considered = 00)Enter (hex) Xbyte: ($$צ80(ɩ$צ8F(ō$FF(ˡ$ġq ALL RAM!! access 00 to FF of bank 0צ8 and RAM beneath VIA's (FFD0 to FFEF)צ9FF (fake) --> C0-CF = I/O, ROM#1, true pages 00 and 01700 --> system bank (ordinary 6502צXbyte Options:צ%8n (80..8E) --> Bank pair: n and n+148F --> system bank with bank 0 switched in0 bank 0 occupies $2000 to 9FFF7 ( ($(צXBYTE = צ 0et xbyte ser ist20

age uit ut "[]צ [.console]((צ00{}~bbbbbbbbbbbbbbbbmDISASSEM +듡2"(>DL on> צSelect Option:צ1. Instructions2. Memory Disassembler3. Disk File Disassembler3Distributed by Softalk Publishing Inc., Sept. 1982Zצ á  1á2ám.searchd.search צAPPLE /// DISASSEMBLER.צby John Jeppson> צSelect Option:צ1. Instructions2. Memory Disassembler3. Disk File DisassemblerƂ(צ hello.dataN LƄƄ ?ƄƄʄ N>ȡ9á á ١A8 V    צPP9š99PQQײ9š99Pצdisp9šVš##ة"(99P +#"(,,P,: R,P*+,*,ȡ3--P-*R-צ S-P**ɡ,,P, Q,P,,P,+S,צ W,90DISASSEM  "$3(*,7xƂ((  opcode.list ~+$#"FFFF(! 00תPզתPN S(á0& ת ((ZJDfl*6v<  D & *("#k vˡfá O#@< 8:P.  "$3(*,7xƂ((  opcode.list ~+$#"FFFF(! 00תPզתPN S ^4Dš, áءš$("#k vˡfá O#@< 8:P.   3զ׷  |p<U4!   "$&9*d.A2Eء š0([ = "$&P" ء* 3 צ  }yu<U4  ,$&]<].i2BצSpecify outfile: Pצ    !Sš(<[>R<xxxxxȡ-. .á! צ #s*  զׯbȡ쩌#"(::ȡ#$(  á  ## צ -. .á! צ i( #(#  #"(::ȡ#$(  á  ## צ ȡƥ::#$إ(צ  س . .##  #(ǧ,צ Ǯ,,PV &  bbȡB#$ c cddȡ##K! #"(bbbbbbbbbbbbbbbbm..15,0..7] OF CHAR; 2END; 2  VAR FotoFile: FILE; 2  PROCEDURE GrafixMode(GrfxHMode: GMode; GrfxBuf: GBuf);  PROCEDURE GrafixOn;  PROCEDURE TextOn;  PROCEDURE FillPort;  PROCEDURE PenColor(Color: Screencolor);  PROCEDURE FillColor(Color: Screencoptr = ^GSCB; %GSCB = PACKED RECORD 4GHMode,GSMode: CHAR; 4GPX,GPY: INTEGER; 4GVL,GVR,GVB,GVT: INTEGER; 4GCF,GCB: CHAR; 4GFont: PACKED ARRAY[0..3] OF CHAR; 4CWidth,CHeight: CHAR; 4GColTab: PACKED ARRAY[0   TYPE Screencolor= (Black,Magenta,DarkBlue,Purple,DarkGreen,  Grey1,MedBlue,LightBlue,Brown,Orange, 3Grey2,Pink,Green,Yellow,Aqua,White); %GMode = (BW280,CP280,BW560,COL140); %GBuf = 1..2; %XfrMode = 0..7; %GSCBCHAINUNIT.TEXTSYSLIByy6JJ>Bb^JJNR^^ bb"L^LtJ ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, تPRš+R+PP4تPRšG+R+PGP4GRšزGRPزGPR0D~YSLIB:CHAINUNIT.CODECHAINUNIT.TEXTSYSLIByy6JJ>Bb^JJNR^^ bb"L^LtJ ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, ( (PROCEDURE SetChain( Tytle: STRING); (PROCEDURE SetCVal ( Val: STRING); (PROCEDURE GetCVal ( VAR Val: STRING); # #IMPLEMENTATION E _ERJSYSLIB:CHAINUNIT.CODE b7g8b(g" CHAINSTUPGRAF PGRAF HEXSTUFF צXbyte Options:צ%8n (80..8E) --> Bank pair: n and n+148F --> system bank with bank 0 switched in0 bank 0 occupies $2000 to 9FFF7 ( (Z(צXBYTE = צ 0et xbyte ser ist20

age uit ut P"[]צ [.console]((צ00lor);  PROCEDURE XfrOption(GrfxSMode: XfrMode);  PROCEDURE SetCTab(Ink,Pixelcolor,Newcolor: Screencolor); :'')PBB PROCEDURE Viewport(Left,Right,Bottom,Top: INTEGER);  PROCEDURE MoveTo(X,Y: INTEGER);  PROCEDURE MoveRel(DX,DY: INTEGER);  PROCEDURE DotAt(X,Y: INTEGER);  PROCEDURE DotRel(DX,DY: INTEGER);  PROCEDURE LineTo(X,Y: INTEGER);  PROCEDURE LineRel(DX,DY: I2& |" "%: ˡ J#鿥  &'azȄaAB%Type to continue% " ġ2 2fj <32 &ˡ 2 26!ˡ 2Rˡ 2=˄+&ȡ   ,á- .ت/S# /أ d-, P# /أd-, I# /أ -.@0! áצ IO error # / d-צ Exec err # /d-.>?@O^^;COPYRIGHT APPLE COMPUTER INC. 1981-1983 RELEASE VERSION 1.1$< | \ &PASCALSYUSERPROGINITIALIGETCMD UCSDFILE EXTFILEMEXTFILEMTABLE INFORMATIONCI4Current date is Hd*BEed on U.  P ? Apple //X @{BB@6bBB@ijpbZb ԳԳ@,ء4ت /6: á :@4 @ A P @6d\5P6ת@ת,š[ץ44š7]ץ114á7g14š^743355 5073331é731é14Ä3*á74147Í4!ץ44á4@ >'@ ;> )#%0ë>>@@@| V  )šá4?š?VP>:+>P:X;髁@@@˄@#@ˡ @@#>@@ O@ ˡ? @ ?>@ > ? @ ?>쓡 @ ?>@ > á@ > :@ >:@ >:![L&á'횩)ˡ8 >#> \ˡآآآ*:UU šC+P VVPVU _aaO@á ( ˄ ë 9:ץaššë 铄˄dS79P7 a(7 آآ-? :آ&آ#> ?  ڢڢצڢ ڢ  آأأآآآ 9Pš8P8>뫀 8a a:a aa>ʁ@ צ" ˄ Ʉ8>ʁ@"ؚ"álʁ@&ʁ@ > "áVʁ@ ʁ@"Ä:ʁ@铡-@ ʁ@ >ʁ@ @>ʁ@ @>ʁ@{ 7( آڢآآ"٢ڢ٣ PSYSTEMPW\PIj 8́@́AƁAa@ƁAǐƁAP:ץaá:/Pa8ʁ@ >"á"ʁ@ˡ ʁ@ʁ@ʁ@ צʁ@ ʁ@á áÄڡɡá ɡ 럚肚`諁6"  >  >b) á إaaġ00000תȡ  ڕ0ق,  & "ë 넡6 & Í< š˄ u 8 Íáš#ńW   0  𓍡ńȄ (˫/ ˡ   Í wˡ ˡ ! ˡ(  Ǖš]6W.TEXTת .CODEתš!!Ȅ!!P!x!P ( >ˡ 뚹  צ`&Ꟛ צ.CODE$.BACKׯצ.ASCIaF*:˄/˄&ڲ#áצ:áD6>,ת(.Ä !á צ[š!!!(4צ4848@צ/44צ:.Í4šצ/44š>444ȓ4.484854צ/46444ȩ4å.ˍo˩4ń\88P.TEXTׯ74צ:4*å#Í%Í4ōM4á@4Pá/á *á?@%áΪ@:ץ44ȡAá+#Ó4צ/ˍ4@תP4á7ˡ 3ء #צ ۂ #ء >  >݂"ˡ ޕ݂ނɡ  <Ąɡ낫š ꓡ š땫ĻD<ꓡ"á삫ûš > "ˡ˫   ɡĻ2꓄ > >"ˡ ꄓr<Lá > "á=ˡ땏PVvP jLV~ &"#n####&XHv4  R: thd z  `"B$>"z>@t!-ǀ@? ? צPEz>ׯ{ y@צ>>  OQSUWY[] ''A>zˡ@*B;̀̀آA'ʀˡBʀáʀá>??>D;T ,+z>>"ȡ{ˡo!צError # . closing FILE or DEVICE opened by last program$>"z>@t!-ǀ@? ? צPE š:X fˡ ؞!؟?!? ?ˡMx?š3ġ  ?w?v?ádt J~*!ˡ !蟚dt*ńȄ4šáRתPńȄ ,ń.áš蕿@šQȡ2é000+-Í-ë0^ 000á'3á 000 {]\ ȡ3"#쾿 > 9dá. 6áá:00áQP 0á0 뾿 9šš > | á1á3  ] |Nš  ɡ'áצ-32768 ` 逫-ġ@00ń0ˡ ɡc ȡꫀZš "1諀멀ȡ! ꫀ𩀄򩀄"7ũ  @š& "ˡ鿩/ȡšš  > ;N áEF > 섡/ F >"ˡFFFFF>N >=" "ˡ v  á ń# Ȅ ꚹ~á^"Ä<7=+ > ˍ >  BFF >"ˡFFTFPd= šš > "ˡ "Lá"  që   N "ˡ  )á á áˡ  šá áK<"á83 ɻ  X\Hب&̂(ʂ( ʂ(ʂ(ʂ($ʂ(̂)ʂ)!&ʂ)ʂ)ʂ($ʂ($z>ׯ{ y@צ>>  OQSUWY[] ''A>zˡ@*B;̀̀آA'ʀˡBʀáʀá>??>D;TNo user programתP4text? o@ Compiling... NNRRRSYSPASCAL/RT2SYS.CODE:JJ>z Xأأ أ > ,11ȡd1d1ٲ ٲ  ٗ 1!&ءdt >? ? ޢ ȡڤ ˡpݢڤ?Xܢ0ۤ ݢ`ڤáޣ!ݢ`ڤˡ  ޣ ר d't!צPΦתP22>  pq%sy!{P{ %צSystem re-initialized& j28h4rP  צCONSOLE:(#צSYSTERM:(>z ë0???JanFebMarAprMayJunJulAugSepOctNovDec?????????ר d't!צPΦתP22>  pq%sy!{P{ %צSystem re-initialized& j28h4 צCONSOLE:(#צSYSTERM:(>z ë0???JanFebMarAprMayJunJulAugSepOctNovDec?????????$  wx55ȡ"5555vu *?    H2צ*צ:צ??"?[צ0Bצ0tצ0,k\M B3&ʂddʂdضáSʂdšJ?ʂd1Ƃ;צ*SYSTEM.STARTUP.P1 Ƃ;P צPGתPˡǀ?P:ײP)@$$ Ȅ٤ ̂d ʂdʂd >ʂd׷ړ ؞&"ڡؿʂdá ʂd ʂd.áʂdʂdʂd ˻عcʂdצCONSOLEjʂdSYSTERMתYʂdצGRAPHICHʂdPRINTERת7ʂdצREMIN(ʂdREMOUTתE ʃE ʃE  ʃEʃD̃EʃEʃEʃEʃEʃEʃEʃEʃE  ʃE 4$Ƃ+̂dʂdȡ+٤ ̂eʂeתʂeʂeܣʃDܢʃD%ܢ% ʃD>ʃDʃD+ >&?̃DʃDʃDʃDʃD%̃E ʃEʃEʃEʃEʃE ʃEʃE ʃ٢ š٢ ٢٢ 4$  ؗ(/  ؗ(Ƃ+ ƃ*SYSTEM.MISCINFOתPƃ"á̃DܢʃDʃDܢʃD'7SYSPASCAL/RT2SYS.TEXT*tZt^+ZRt^DEVO/SYSPASCAL"JJ*.r;t^JJ:>;t^; NNRRP ^5PECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,)  " تP"á 3 Gצ&Warning: Cannot open the library file + <+צ Warning: צ is not usedR پ$ò$ÄZȡIP  ٲ7)؞7)ؿ؂پ$áڸ444Z ȡ+ؾaġ +ز+ؾ $ 2تPww"á\w++L+IÄ)++LIBRARY FILES:ׯ wڪ 0ޢߢšáޢޣߢ  dޣ"ޢ#ޣ$)ޣߢ  dÍÍޢ  ܓۤ ۤ Äܓۤ  dÄÍߢۢڤ   ڪP44444444"ߚ44 4 4!4"d4$4% 4#44#4á74-4& 4&44&4T ڢڢ& ڢ&ڣڣڢ$ڢڣ"ڢÄڢá     á ۢڤ š sá ŶÄ)ڤ ܢɡ ڶá  á ġMáš6 ܂ۻݪ d ( ڣ"ڣ١ڢڣڢ#ڣ$ڣáڣ$ڣ#š ڢ#ڣ$ڣ%fڢ%ڢ١ڢ&ڣ$ڣ$ ڢ&ڣڣڢÄڣ% ܣġ ۤ ٤ ڨ ܢܣ*@ٕ۶š ڸ۸۶ š۸ ڸ:   ȡQ  ȡ   ȡ? ȡ  ġܡ=" áܡ ܓצ $  ޓ(ݤ ߢܯߢ  d˯7 H ۣȡڤ  ۣ צۣۢ0H dō (ܓ(*(ܡ )*) *)* ܓ)ת) (!($IKPz(  Íܡ  , Ąܓ"á    (( )(á (((ܡ( **(( *Ä(*Ä**Ȅ*Ą*MȄ*)v*ȡO(ۤ +++ō++ɍ+ ō+ ȍ+ ( ́ ́ ʁ ʁ צ ʁ ʁ ˄ʁ @˄ʁ ˄3 ʁ ! ʁ Þ"Ä  = &)ʁ á ʁ   "ń,ʁ !  ʁ ޾6ˡ!PV$~<d(Jf 6 " open ̂iv̂jʂjʂj1ʂj ʂj 1> 1Ɓ1ƀƀƀ b1v*ƁP!1Execution aborted. Put in system disk and reboot.*ƁP!1Execution aborted. Put in system disk and reboot.Yd 8ءPšP Tצ:ƂPƂצ/ƂPƂ̂iƂiƂPƂiƁǠƂiP?̂e?>ʂe?>"ˡ$צUnable to open ̂iv̂jʂjʂj1ʂj ʂj 1> 1Ɓ1ƀƀƀ ired library files are not present 3L?Required intrinsic(s) not available (possible bad library file)X PުP*vƁnPvƁΪPƂ;PƂ;ƂƁƂgƂf̂dƂPʂd ΦתPצ:Ƃ+3w w+w+b43  n 4ńV54̂.5ʂ.ȡ;5575) ʂ 5554 Ƃצ*SYSTEM.LIBRARYPxƂ ʂx+3:-Error: Requ˄ɡۤ  dáߢ  dá ߢ &ޣ˄ ߢ  ߢ ۤ ߢޣ"ߢ ޣ#ޢ ޢۤ ޢ á٢á( ת$&(0!    š  ݓۤ ۤ Äݓ š ۤ  ɍX ޚ "ˡ8ˡޚ   dܓڢڢ   "ġ$ނ#;> > ;>c> 0Ʉ  廹> ō> 0 0,?? 19 c? ??á>0 ;? ?,2-2ȡ ނ0ō>- >>+2ȡ09ō>0 ˡ c> >>0Ʉ廹> ٪P3-, ,á55תآ1آ 0 5 6633 ȡ 6363 dȡ 6 3 65 4/ á5  5 -5 ---525 ˡ 5. 5.2,2h  ػ!2 jڝ?"ɡ6?#?#ھá?#٧?#ڝ?"ٕ?"ڕ?"?J=á=2áˡL2" ۝?"ܓ?#۾á ?#ܡ$?#RšR?#ئתPVdá;<:PP#PC/š:7צ:P; ./Ad ?3 1ˡI á+ݢˡڦתRáצ!צ2ڧ? š ǀڧ?ǀǀ Ǔš@:צ!á צ!P$;ئ00000תP  0ڂȡ۾0Ʉ< R<87  áG:/ |77áBš2@/áf9šoá+ھ.á ھ/á 2á9&á9á  áán8ڧ? á 6ȡ/ݾ!á ݾ /P޾ /P 5RR3ۂɄݓVá(۾'ۂ@n: צ/˄5ȡ0ƀƀP̀ʀȡ0ܾaġ 00ܾ 87CONSOLE1:7SYSTERM2:7GRAPHIC3:7PRINTER6:5REMIN7:6REMOUT8ת802Ȅ&0á݂0 4 6ȡ4 0.  á5٪P,6YتPš  ȡ޾ *:Í#Í*á ޾:ˍ צ:P?P#áL۾ ݏ۾0 4ޕ P5:Ä:P.áٳ ا?ǀǓ ا?ǀ:1!&ÍXÍc(ÍEÍ QáG'á@=+á3@á)Fá Gá Há >z? ؚ21!$4YP>3$M l 0 nL T "&"ˡ.&"ˡ$  " áP$ނ š: -Ʉ  $ $ $šš$%&$۞$$ۂۂەߓf%%&"ˡ|ɡ& & "ˡN$ߡá4 á,á"$࣡ $ $šš&$۞$$ۂۂە R%%&"ˡ.&"ˡ$  " áP$ނ š: - ;?  ō> ? 0*2 )2ܪP/ۻ0/ٻ1 23/3"32\ 6۪Pá? ?"11ǐȡs. .ٻ..3P33? 223.20#0á-=?#?"?#?"?"?"002 ,٪PتPZ,PƀPZ3ƀ3ZƀU$UáVV?"ɡYV?"YB?#V,á?#VZ,,ZYYV?#VVY,W?"Wǐš ?"VUiV,@@O(ةZ( š á ١  9٢P תPYȡةZ(ު addressing)צ- (all other entries are considered = 00)Enter (hex) Xbyte: (ZZצ80(ɩZצ8F(ōZFF(ˡZġq ALL RAM!! access 00 to FF of bank 0צ8 and RAM beneath VIA's (FFD0 to FFEF)צ9FF (fake) --> C0-CF = I/O, ROM#1, true pages 00 and 01700 --> system bank (ordinary 6502ǰȑHH`0&# L? zD<F`"tL>nRJRl: * ( 2  R     6&>@). Calls the SOS routine GET_MARK.}  :?  hhҰ L0? hhhh Ӱ HHL#6?e ?hhhhhhưȑHH`# D?hhhhhhhh   * <L*?   d *hhhhL#"!6?   * <L*?   * <b L%$:?   * <c L%$j** * <LedbVRQPONMLKJIHFDCA>963?  hhhhhhꍴ0 ȩhh * <Ȱ ȩLa`XMJ0-*('& ~? * <LGF=:43-,+*%" f?   d *hhhhL#"!6?  hhhhϰ j쭳j*쭲L=<40.-,% V?  hhhh왺ED<:520.-+*)$ f?  hh * <hhL'&$"<?  hhhhHH * <İ ȑjȑ*ȑLedbROLJI |?  hh왺 ȑL54)&#!  L?  hhhh * <Ű 깷LCB1.-,*)&# ^?  hhL  ?  hhhh * <hhʰ 쭷ȑL{@H?hhhhhhjWȑ jȑ(!Hh0?H&h*0HH`?  hh *h < L+*(" B?  hh * <` hhL&ȑ`W CL& hʈL&fi` hhHj*H*HHL&SOS-PARAM-TABLE߻5޻5ݻ5ܻ56; ; ;  <  3 5=(=2hx? ?"? ? ?  . /202hh%hh%HH`%ʎ%HHXWɡ?#X?#XW?"XWš?#X?#XW?"X?"W?"?#VVVU2 R2 ػ%2تP3+&+2T'á  ܚ2"  P ٨ ب5 5SSǀġ SǀSS.SS  צPP9š99PQQײ9š99Pצdisp9šVšYYةX(9޲9P +YX(,,P,:Q, R,P*+,*,ȡ3--P-*R- S-P**ɡ,,P,צ Q,P,,P,*Q, 4!   "$&9*d.A2Eء š ^4Dš,@ á3 צ  }yu<U4  ,$&]<].i2BQ R3׷ R|p<U  !Sš(<[>R<xxxxx0([ = "$&P"@0 ء* Q #} : *P*ˡ**á}d*(}}~~á not found:~X( found at ~Wr L S(XVTARGET (default = }U}ȡ-}d*(* }})צ length (in hexadecimal): SPSˡSSáSצS(Ud }U}ȡvcation (default = $צ): SPSˡSSáSצS(XWVX(צ"Enter ending location (default = $): SPSˡSSáS׷Zdˡ۩UšޡEܩX||(á,|(||(ܩTVޡ  Search utilityWX($Enter starting loPׯbצSpecify outfile: PצPP .((.$ searching...WVÄ˄۩UɄ%ۂ Pצ ȡSSǀġ SǀSS.SSP Sá!צ P P$e* PPP  ȡ쩌YX(:P:ȡYZ( P á P YYYY Pצ ȡSSǀġ SǀSS.SSP Sá!צ P PY( Y(Y SYYP  Y(YX(:P:ȡYZ( P á P YYK! YX(:P:YZإ(צ P ثSSǀġ SǀSS.SSP Y,+\,צ a,9DZ, Ƿ,צ;Ǹ,צ ǹ,,PPV b P bbȡBYZ c cddȡءš$(XYk vˡfá OY@< 8:P.  "$3(*,7xƂ((  opcode.list @~0+ZYX צ00PצPPFFFF(Td UWTVN S(á0&QRתQR((ZJfBRK sos.call ORA @PP,X --- --- N--- ORA PP UASL PP O--- PHP ORA #PP FASL A 1--- I--- IORA QQPP /ASLj^d`11ȡ"۳ۂ A11ȡ  K2{m?*MLbץ++Q + opcodes.6502++  צsos.call lj ---תȡW  ɡ9   צ  צ opcode.list +, q11ȡ"۳ۂ A11ȡ  K2{m?*MLbץ++Q + opcodes.6502+ 00ٹ0-> dispת 011ȡ 0A ת 11ȡ l   11ȡۏ PP  ڢإ(ڢڢ QQPP ڢإڢڢ ,X  إڢڢ ,Y  6 F7//ȡ䥉 8 :צ P00ȡۛ0 ۂǖǶǾȡ"  *>;bȡ צ---ڢڢת إqڢڢ @  إaڢڢ צ#  إQ&ڢڢ ȡ" ȡ" ǞǔǴǼȡ7     쥏ǖǞǶǾ`qȡqqaǠǢȡaa aaljQDŽǔǤǴaȡ)QQ򥏡ǼbbbbbbbbbbbbbbbbGENERATE l@LRll  * . ~>>V.k vˡfá OY@< 8:P.  "$3(*,7xƂ((  opcode.list  QQPP --- 2BPL -> disp 7ORA @PP,Y 2--- E--- T--- ORA PP,X 7ASL PP,X 3--- 7CLC IORA QQPP,Y --- --- --- -- !INY CMP #PP DEX T--- SCPY QQPP /CMP QQPP DEC QQPP --- SBNE -> disp &CMP @PP,Y --- P--- --- rCMP LDA QQPP,Y TSX t--- LDY QQPP,X CLDA QQPP,X eLDX QQPP,Y --- CPY #PP CMP @PP,X --- ,--- PCPY PP _CMP PP /DEC PP O- O--- SLDY QQPP LDA QQPP LDX QQPP --- BCS -> disp LDA @PP,Y --- %--- 8LDY PP,X LDA PP,X iLDX PP,Y I--- CLV STA QQPP,X --- --- cLDY #PP SLDA @PP,X ALDX #PP %--- LDY PP LDA PP LDX PP --- TAY LDA #PP TAX  QQPP F--- LBCC -> disp PSTA @PP,Y E--- P--- ASTY PP,X bSTA PP,X KSTX PP,Y --- STYA LSTA QQPP,Y STXS P--- --- --- STA @PP,X --- --- STY PP SSTA PP RSTX PP 5--- FDEY O--- TXA R--- TSTY QQPP RSTA QQPP ESTX --- --- --- ADC PP,X ROR PP,X --- SEI SADC QQPP,Y --- --- --- .ADC QQPP,X ROR QQPP,X F--- R S--- IADC PP PROR PP --- PLA PADC #PP jROR A E--- JMP @QQPP ZADC QQPP ROR QQPP R--- FBVS -> disp .ADC @PP,Y PP PLSR PP --- 3CLI 7EOR QQPP,Y 3--- 7--- E--- OEOR QQPP,X 7LSR QQPP,X 6--- TRTS /ADC @PP,X S--- --- -- PHA LEOR #PP LSR A --- GJMP QQPP EOR QQPP LSR QQPP --- GBVC -> disp /EOR @PP,Y 7--- 2--- E--- TEOR AND QQPP,Y --- --- --- AND QQPP,X ROL QQPP,X c--- bRTI EOR @PP,X --- --- --- EOR PP LSR PP P- --- BIT QQPP AND QQPP mROL QQPP /--- BMI -> disp OAND @PP,Y --- --- --- AND PP,X ROL PP,X --- SEC ORA QQPP,X /ASL QQPP,X --- iJSR QQPP AND @PP,X --- --- /BIT PP AND PP LROL PP i--- PLP AAND #PP ROL A PP,X eDEC PP,X o--- vCLD ]CMP QQPP,Y I--- --- D--- OCMP QQPP,X DEC QQPP,X --- 4CPX #PP /SBC @PP,X --- C--- OCPX PP OSBC PP CINC PP --- INX SBC #PP iNOP --- OCPX QQPP /SBC QQPP INC QQPP --- BEQ -> disp SBC @PP,Y e[UMJEA=; (hhhhhhhh )ɀ0ɐ0(yuqLL%!x s (Lx L (  HH`xmjL hhhhhhhhhh "ɀ0ɐ0 LL%!x s (Lx L ( HHHH`qdc^THED?;975L GA3/1.07PRIN" PEEK CLV CLI XCLD CLC BVS pBVC PBRK BPL BNE BMI 0BIT $ BEQ BCS BCC ASL AND )ADC i (PLA hPHP PHA HORA NOP LSR JLDY LDX LDA JSR JMP LINY INX INC EOR IDEY DEX DEC CPY CPX CMP Y X A TXS TXA TSX TYA TAY TAX STY STX STA SEI xSED SEC 8SBC RTS `RTI @ROR jROL *PLP D--- E--- --- SBC PP,X INC PP,X --- SED SBC QQPP,Y --- l--- --- SBC QQPP,X INC QQPP,X --- PEEK PEEK POKE POKE  تPRš+R+PP4تPRšG+R+PGP4GRšزGRPزGPR0D~YSLIB:CHAINUNIT.CODECHAINUNIT.TEXTSYSLIByy6JJ>Bb^JJNR^^ bb"L^LtJ ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, ( (PROCEDURE SetChain( Tytle: STRING); (PROCEDURE SetCVal ( Val: STRING); (PROCEDURE GetCVal ( VAR Val: STRING); # #IMPLEMENTATION E _ERJSYSLIB:CHAINUNIT.CODEb7g8b(g" CHAINSTUPGRAF PGRAF HEXSTUFF-S(Output file? P - opcode.list- ,--(( ^;AECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,M*ƂP*̂R?̂SʂRʂSȡ̂Q̂TʂQʂTȡzʂRʂQ@ ̂UʂRʂQ@(** *ʂU* *ʂU *צ *ʂUʂQ̂Q.console׷ .silentype׷*ʂR̂R*bbbbbbbbbbbbbbbbmPRINTLIS CHAINUNIT.TEXTSYSLIByy6JJ>Bb^JJNR^^ bb"L^LtJ ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,   TYPE Screencolor= (Black,Magenta,DarkBlue,Purple,DarkGreen,  Grey1,MedBlue,LightBlue,Brown,Orange, 3Grey2,Pink,Green,Yellow,Aqua,White); %GMode = (BW280,CP280,BW560,COL140); %GBuf = 1..2; %XfrMode = 0..7; %GSCB8( \8'8'8'<8'ǖ8' 8'8)8'8(ٝ8)؝8(\8'8'8' 8'8'< 8'ǖ8' 8'8)8'8(ٝ8)؝8( \ 8'8'8'< 8'ǖ8' 8'8)8'8(ٝ8)؝8'ǀn]L;* 8'  8'6 8'8'8'8'8' \ 8'8'8'.8'8'.8'8'ġ ڹ8'8'8'x8'e8'R8' ?8'@,s8sš78'8'قd8'8'8'8'8'.8'8'cs buffer space.צHit to continue....\٧8' "ˡaUnit  צ write error: IORESULT =  ~á 8s@8sá 8s88s-Insufficient graphics buffer space allocated.צNeed  K bytes, but only  K bytes have been allocated.=Use O)ptions to increase the available graphiNTEGER);  PROCEDURE NewFont(VAR Font; ChrWidth,ChrHeight: INTEGER);  PROCEDURE SysFont;  PROCEDURE DrawImage(VAR Source; SRowSize,SXskip,SYskip, 4Width,Height: INTEGER);  FUNCTION XYcolor: INTEGER;  FUNCTION Xloc: INTEGER;  FUNCTION Yloc: INTEGER;  PROCEDURE GSave(FName: STRING);  PROCEDURE GLoad(FName: STRING);  PROCEDURE InitGrafix;    IMPLEMENTATION E ;  PROCEDURE DotAt(X,Y: INTEGER);  PROCEDURE DotRel(DX,DY: INTEGER);  PROCEDURE LineTo(X,Y: INTEGER);  PROCEDURE LineRel(DX,DY: INTEGER);  PROCEDURE NewFont(VAR Font; ChrWidth,ChrHeight: INTEGER);  PROCEDURE SysFont;  PROCEDURE DrawImage(VAR Source; SRowSize,SXskip,SYskip, 4Width,Height: INTEGER);  FUNCTION XYcolor: INTEGER;  FUNCTION Xloc: INTEGER;  FUNCTION Yloc: INTEGER;  PROCEDURE Viewport(Left,Right,Bottom,Top: INTEGER);  PROCEDURE MoveTo(X,Y: INTEGER);  PROCEDURE MoveRel(DX,DY: INTEGER);  PROCEDURE DotAt(X,Y: INTEGER);  PROCEDURE DotRel(DX,DY: INTEGER);  PROCEDURE LineTo(X,Y: INTEGER);  PROCEDURE LineRel(DX,DY: Ilor);  PROCEDURE XfrOption(GrfxSMode: XfrMode);  PROCEDURE SetCTab(Ink,Pixelcolor,Newcolor: Screencolor); :'')PBB..15,0..7] OF CHAR; 2END; 2  VAR FotoFile: FILE; 2  PROCEDURE GrafixMode(GrfxHMode: GMode; GrfxBuf: GBuf);  PROCEDURE GrafixOn;  PROCEDURE TextOn;  PROCEDURE FillPort;  PROCEDURE PenColor(Color: Screencolor);  PROCEDURE FillColor(Color: Screencoptr = ^GSCB; %GSCB = PACKED RECORD 4GHMode,GSMode: CHAR; 4GPX,GPY: INTEGER; 4GVL,GVR,GVB,GVT: INTEGER; 4GCF,GCB: CHAR; 4GFont: PACKED ARRAY[0..3] OF CHAR; 4CWidth,CHeight: CHAR; 4GColTab: PACKED ARRAY[08'r8'8'á8'@:8'ǖ8' 8'8)8)<8'ǖ8' 8'8(8(<8צFOTO file I/O error: IORESULT= Hit to continue....!تP8"-- á8"--ˡ-!8'ǖ8' 8'8'8'18'00á ,1ܿۿڿٿؿ  :ڪP/-0-Ʉ110123456789ABCDEF..á(110123456789abcdef..á0/-.--0/ צnd;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (int : integer) : integer;  function peek (bytenumber, bank : integer) : integer; procedure poke (bytenumber, bank, value : integer);  implementation E [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -end;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (i  type $varindex = 1..5; $variant = record case varindex of /1 : (int : integer); /2 : (byte : packed array [0..1] of 0..255); /3 : (nybl : packed array [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -e #REPORTERb3!7RESULT 8t3x3#PGRAF ****7end; 55 1:2 415 ); 3 411 tinue....'); d to allocate buffer space.'); le.'); 43-STARTADD~|zkhZEB-*'% 8hhhhhhHHHH`.8" ~(B N j * l  r  L .P47!2BYTECT 3SETCTMAS3 7I R3&3&3COLOR >H`F.GRAFIXNL<2.*&$ ZXA=9r8h&h'h h 'H&H`(&*('$!B8hyhzh}h~hhhh{|}{|{|zHyH`RPL88hlhmh h h h h h h h h h h h    n o mHlH`pnvtrpnljhfdb`\YVUTSRQMI8h>h?h h hhBȑE @ A ?Hate buffer space.צHit to continue....= hShTh\hh[hhXhYZWnflgm NUlVmTHSH`j`Wrpnkhfb_\[ZYXWVUTS8' 8rˡGraphics driver not resident!צ:Use SCP to add the .GRAFIX driver to your SOS.DRIVER file.áצ&No graphics buffer space is allocated!צ2Use the O)ptions command to alloc,+/3+3ȡM88'."--ˡ-!87,8',,++8cd 8'8' 88r8'8r˄=&8'ǖ8' 8'8'088'."--ˡ-!8'x22á 8s@8s0á 8s8s8sš870á ,2á@,`,,8'21ˡD20040(008.$2á/ /,á@,`,1á/ /+/2+2ȡc,8'+á8'x188'.,,"--ˡ-!78++8wb *تP8"--ˡ-!8'ǖ8' 8'8'8'10123456789ABCDEFP-ئ0000תP..ȡ-ڕ(X Zצ0123456789ABCDEFP-ئ00תP..ȡ-ڕ(X XL hhhhhhhhhh "ɀ0ɐ0 LL%!x s (Lx L ( HHHH`qdc^THED?;975L hhh8'ǀn]L;* 8'  8'6 8'8'8'8'8' \ 8'8'8'.8'8'.8'8'ġ ڹ8'8'8'x8'e8'R8' ?8'@,s8sš78'8'قd8'8'8'8'8'.8'8'cs buffer space.צHit to continue....\٧8' "ˡaUnit  צ write error: IORESULT =  ~á 8s@8sá 8s88s-Insufficient graphics buffer space allocated.צNeed  K bytes, but only  K bytes have been allocated.=Use O)ptions to increase the available graphi󮠠穠宠󠠠󠠠ɠ𢠠󠠠Ԡ򠠠堠嬠宠⠠򠠠좠蠠쬼堠 LDA XBYTE CMP #0FF ;FF = ROM #1, C0-CF = I/O BEQ SPECIAL ; "true" 00 and 01 pages ;handle system bank SYSTEM LDY #0=; (.Hb .( rash, just start CMP #0EF ; POKing into SOS (RAM $B800 - FFFF) BEQ DONE ; soon hHEXSTUFF# &( . ;detect artificia bank 'FF' $2hhhhh )ɀ0ɐ0(yuqLL%!x s (Lx L (  HH`xmje[UMJEA< 8'ǖ8' 8'8)8'8(ٝ8)؝8( \ 8'8'8'< 8'ǖ8' 8'8)8'8(ٝ8)؝8( \8'8'8'<8'ǖ8' 8'8)8'8(ٝ8)؝8(\8'8'8' 8'8'nt : integer) : integer;  function peek (bytenumber, bank : integer) : integer; procedure poke (bytenumber, bank, value : integer);  implementation E [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -end;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (i  type $varindex = 1..5; $variant = record case varindex of /1 : (int : integer); /2 : (byte : packed array [0..1] of 0..255); /3 : (nybl : packed array [0..3] of 0..15); - 4 : (bit : packed array [0..15] of boolean); /5 : (bool : boolean); -e #REPORTERb3!7RESULT 8t3x3#PGRAF ****7end; 55 1:2 415 ); 3 411 tinue....'); d to allocate buffer space.'); le.'); 43-STARTADD~|zkhZEB-*'% 8hhhhhhHHHH`.8" ~(B N j * l  r  L .P47!2BYTECT 3SETCTMAS3 7I R3&3&3COLOR >H`F.GRAFIXNL<2.*&$ ZXA=9r8h&h'h h 'H&H`(&*('$!B8hyhzh}h~hhhh{|}{|{|zHyH`RPL88hlhmh h h h h h h h h h h h    n o mHlH`pnvtrpnljhfdb`\YVUTSRQMI8h>h?h h hhBȑE @ A ?Hate buffer space.צHit to continue....= hShTh\hh[hhXhYZWnflgm NUlVmTHSH`j`Wrpnkhfb_\[ZYXWVUTS8' 8rˡGraphics driver not resident!צ:Use SCP to add the .GRAFIX driver to your SOS.DRIVER file.áצ&No graphics buffer space is allocated!צ2Use the O)ptions command to alloc,+/3+3ȡM88'."--ˡ-!87,8',,++8cd 8'8' 88r8'8r˄=&8'ǖ8' 8'8'088'."--ˡ-!8'x22á 8s@8s0á 8s8s8sš870á ,2á@,`,,8'21ˡD20040(008.$2á/ /,á@,`,1á/ /+/2+2ȡc,8'+á8'x188'.,,"--ˡ-!78++8wb *تP8"--ˡ-!8'ǖ8' 8'8'8'1צFOTO file I/O error: IORESULT= Hit to continue....!تP8"-- á8"--ˡ-!8'ǖ8' 8'8'8'18'00á ,18'r8'8'á8'@:8'ǖ8' 8'8)8)<8'ǖ8' 8'8(8(<8nd;  procedure screen (a, b, c, d, e : integer); function ten (str : string) : integer; procedure hex4 (value : integer; var str : string); procedure hex2 (value : integer; var str : string); function hibyte (int : integer) : integer; function lobyte (iܿۿڿٿؿ  :ڪP/-0-Ʉ110123456789ABCDEF..á(110123456789abcdef..á0/-.--0/ צ version 2/1/94 SIDE TWO: JEPPSON DISASSEMBLER DATA AND SOURCE CODE FILES This side of disk 3REP-10 contains the source code files for the Jeppson Disassembler. It's presented for those interested in wanting to examine or tinker with The program used after you have successfully disassembled a file. The program is self documenting, so just follow the instructions. - Updated from Pair Software it is a pain!! Additional notes 02/01/86 This version of the Jeppson Disassembler contains the CREATE.CODE program that can take a disassembled Jeppson file and turn it into a compilable source.text file for the ///'s assembler. d users only. To Use on a Hard Disk: Place all code files and data files under one sub-directory on your hard disk with the name : 'DISASSEMBLER'. Pascal text files are not needed. This program can be used with disk drives, but WAP /// SIG PUBLIC DOMAIN LIBRARY PDS NAME: JEPPSON DISASSEMBLER DISK ID : 3REP-10 BOOTABLE? Side One SIDE ONE: Dr. Jeppson's Pascal program that will disassemble the Apple /// memory or any Apple /// file to its assembly language roots. For AdvanceJEPPSON DISASSEMBLER LDA XBYTE CMP #0FF ;FF = ROM #1, C0-CF = I/O BEQ SPECIAL ; "true" 00 and 01 pages ;handle system bank SYSTEM LDY #0=; (.Hb .( rash, just start CMP #0EF ; POKing into SOS (RAM $B800 - FFFF) BEQ DONE ; soon hHEXSTUFF# &( . ;detect artificia bank 'FF' $2hhhhh )ɀ0ɐ0(yuqLL%!x s (Lx L (  HH`xmje[UMJEAhhhhhhhhh "ɀ0ɐ0 LL%!x s (Lx L ( HHHH`qdc^THED?;975L hhh0123456789ABCDEFP-ئ0000תP..ȡ-ڕ(X Zצ0123456789ABCDEFP-ئ00תP..ȡ-ڕ(X XL hDr. Jeppson's work. For more information, see "Peeking at the ///" in the August, 1982 "Softalk Magazine" (available in the WAP office or from Dave Ottalini.