ELFL$44 (&%44ollll8`llX/usr/lib/ld.so.1  !$(,-/01234569:<=?ABCDEFGHIJMNQRTUWXYZ[\_`abdeghjklmnpqswxyz|}~ "#%&')*+.78;>@KLOPSV]^cfiortuv{ "-h% C% OU&Z gp0' {( ( ) *4 Y/ L5 g5 5 5 5<( ] _  if 4q Oq jq q x x x x yB Fy  Oz (S 5׆& Ax N  * E U< W r  ]|v mvu 7  T r i "Ա l"` $ +!3<#E J$VD ] "e4!m"t52  q ?V <$"&C O  z L$ #d%    '!/lu H=#!D"JW U[{ gaw5 r z 5P u "Ԃ    ~ l!El[ _ #e n qL"v(&h |"` ̚P L# #l#\!8 kg ("\ -^% lI3 st20disfsr.scrti.svalues-Xa.ccrtstuff.c__do_global_dtors_auxframe_dummycrc.cxmodem_crc_updatedetect.cdetect_m2vdetect_paldetect_fontdetect_pngdetect_bmpstring_fpdis.cfstatlstat_xmknodinit_secop_tablebuildsymtabprintoutpassfile.chtml.chtml_hashhtml_openfilehtml_stylehtml_locnamehtml_escapehtml_loclinkmain.cpatch.capply_patchfiletables.cadd_namloccreate_memlocutil.cxmodem.cis_readywrite_blockread_charxmodem_send__do_global_ctors_auxcrtn.serrnodebuguncompressldpilast_lib_versionhtmldir___Argvatexit_lxstat_environstrerrormaincfsetispeedmemmemstrlcpysysoptsstrcatdetect_stringsendposopen_filenamloc_hash_get_exit_frame_monitorxmodem_crchtml_closeindex_Jv_RegisterClassesadd_memloc_startmemcpy_mcountload_map__environ_lock_initvsprintfcompress_fileselectwritehtml_opend__iobhtml_opcodewrite_file__ctypeoptoptpatch_memoryhtml_openindexhtml_opclosehtml_opensublookup_namlocbreaksuboptargstrncmp__dso_handle__fsr_init_valuedump_namlocsstrcmpfreebinsizefprintfbinfopengettimeofday_exitmemsetatoireadperror__assert_PROCEDURE_LINKAGE_TABLE__fxstatmallocsleepcfsetospeedtcsetattrread_uint32syntax__register_frame_info_bases_enddump_memlocsxmodemdevmunmap_finistrstr__fsroptindgetoptsubstartlookup_memloc__longdouble_used_edata_xstatfflushoffsetfclosetcgetattrmkdirstartpos__1cG__CrunMdo_exit_code6F_v_memflaghexdumpsscanfflag_memorydetect_bytesmemcmpdetecthtml_closesubfgetsadd_patchclose_file__deregister_frame_info_baseshtml_stringsubendbreakposstrchr_GLOBAL_OFFSET_TABLE___fpstartdisassemblemmapdigi_crczErrorprioptable_statssubposstrtoulinit_tablesstrdup_etextstrlenstrpbrkwrite_uint32xmodemhtml_oparg_DYNAMICadd_patchfilelibz.so.1SUNW_1.1libc.so.1SUNW_1.19SUNWprivate_1.1/usr/sfw/lib '= y#qN -^` Z UWem !"#$%&q[t'(l)jr+,-.N01234pvX6u{7]aP:;<=cfSbHRFECGVKBwo~j9vR*-6.[x||gCvR>c7Yzb J'KDH;#UGApWe2< (h} @$m(\,0E4B8F<@ DsHL&PLTXf\N`dOh5p%t%xh%|h%h%h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h% h%h%h %h(%h0% h8p%$h@`%(hHP%,hP@%0hX0%4h` %8hh%<hp%@hx%Dh%Hh%Lh%Ph%Th%Xh%\h%`hp%dh`%hhPjjlt RKh0>tt PEu TRU RP"Ig PPURQ  t`|$у  D$td$у`tƒ 3fd$f T$tfd$f L$l$YZ]ÐUS[RTt :4ҋ4u鋃t ,P8ƃT]ÐUS[ßP$tSjXP,P0t,t 0P]U EE } tKEEEE}w݊EЋE9tE5EE E ENjEUEU fEUEEf1E}%f}yE5!fEEf EEUfEEE ;E~"EEPEPwfEEEUE;E j hLUE )PuE}mEE ЉEE)ЉE=tuuhXhf=~j EPY jEPhwjuv EE7UE;E j h{UE )Pu~E}EEE ЉEE)ЉE=tuuhh=~j EP~ juhju1v EE;UE;E jhUE )Pu}E}EE ЉEE)ЉE=tuuhh=~j EP} juhʲjuhu EE?UE;E jhβUE )Pu'}E}jhӲju}E}tEU)‰Ѓ uEjhزUE )Pu|E}upUE)ЃEE)ЉE=tuuhݲh=~j EP| juhjuQt EEU(E;E  jhUE )Pu|E}E8u#E8uE 8u E 8uE똃 EPM{E EP8{EEtEƒE)ЃEEEEEE E PzEE)ЉE}t }t}u EE;Et6=~$uuuuuhh7 EEE;E=~9uh huuuuhDh E}E;EsyEEEEEE؋E;EsQEE8u==~+ EPE)Puh[ha EE맍Eu}u EEEEEU)‰;EsEE)Ѓ;s/E%`uE@%=uEE묃}t*=~uuh|hE<=t!uuuuhh} =~j@uty juhjuq EEUEE=thijhuu=u%hƳh huu=u%hƳh huu&=u%hƳhV hVuu=u%hƳh huu=u%hƳh hU(EEEE;E }OEt5EEEtEaEAUENEt E *E8 t E8 t Es E.EEFEjhȳuu Eh̳htS=~>uU U}2vE2uu U)‰Phгhi EnhhE}tE@hPjuS=~>uE E}2vE2uu U)‰Phh Eh"huih&huP=~>uU U܃}2vE2uu U)‰Ph,hZ EbE E8tP=~>uE E؃}2vE2uu U)‰PhTh EEEU(EEEEEE;EE8 E8 EWt7E}EPh4^UE)ЉEE7E)ЉEuuYtEEEG jE@Phtjuk =~6uEE}2vE2uuuhxh EEUEЙ}u,hƳh hEEtMEEtEE)ЉE jE@Phtjuj EEE3E)U(EEEEEE;EEU:UE)ЉEEU)‰ЉE juhj u6j =~$ EPuuhh8 EEUEXЙ}u,hƳh hEUEU"EUu ujUu ujUu ujUuu ujU h@hj5@ hDhj5D=~hhh@1@@5@@=@@ @E@@H@@T@@ @ t@ @y@ @@ @ @0@0@@0@@0@ @@@@@@@@@@@ @P@P@@P@@P@ @`ܷ@`@@`@@`@ @p@p@@p@(@p@ @N@@S@@[@@ @y@@|@@@@ @@@@@@@ @Ѹ@@ո@@@@ @@@@@@@ @ @@@@@@ @!@@)@@5@@ @D@@L@@5@@ @X@@_@@@@ @ o@ @w@ @@ @ @0@0@@0@@0@ @P@P@@P@@P@ @`@`@@`@@`@ @p"@p@(@p@@p@ @H@@P@@@@ @r@@w@@@@ @@@@@ƺ@@ @Ѻ@@ֺ@@@@ @ @@@@"@@ @p:@p@@@p@@p@ @a@@g@@}@@ @@@@@@@ @@@@@@@ @@@@@@@ @ Ȼ@ @л@ @ۻ@ @ @@@@@ @@ @@@$@@@@ @=@@A@@@@ @M@@Q@@X@@ @b@@g@@u@@ @@@@@@@ @ȼ@@ͼ@@ܼ@@ @@@@@@@ @ @ @@ @@ @ @0%@0@)@0@6@0@ @@C@@@H@@@S@@@ @Ph@P@m@P@~@P@ @`@`@@`@@`@ @p@p@@p@@p@ @Ž@@ʽ@@ؽ@@ @@@@@@@ @ @@&@@8@@ @f@@i@@t@@ @@@@@@@ @@@@@@@ @־@@ܾ@@@@ @@@@@@@ @D@@H@@T@@ @_@@c@@n@@ @ y@ @~@ @@ @ @0@0@@0@@0@ @@ſ@@@˿@@@Կ@@@ @P@P@@P@@P@ @`@`@@`@@`@ @p@p@$@p@1@p@ @H@@M@@\@@ @{@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @D@@J@@`@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @ @ @@ @@ @ @0@0@ @0@@0@ @@@@@$@@@0@@@ @PA@P@I@P@W@P@ @`t@`@z@`@@`@ @p@p@@p@@p@ @@@@@ @@ @@@!@@ @@ @8@@<@@@@ @S@@`@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @0@0@ @0@@0@ @@+@@@1@@@F@@@ @PT@P@\@P@@P@ @@@@@@@ @@@@@@@ @@@@@@@ @,@@8@@@@ @m@@x@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @ @ @@ @,@ @ @0d@0@k@0@@0@ @@@@@@@@@@@ @P@P@@P@@P@ @`@`@@`@@`@ @p@p@%@p@<@p@ @[@@g@@@@ @@@@@@@ @@@@@@@ @*@@1@@@@ @ L@ @V@ @@ @ @ i@ @v@ @@ @ @ @ @@ @@ @ @ @ @@ @@ @ @ @ @@ @@ @ @ D@ @H@ @\@ @ @ @ @@ @@ @ @@ @@ @@@ @@@ @ @P @P @@P @@P @ @` @` @@` @@` @ @p @p @#@p @4@p @ @ `@ @c@ @q@ @ @ x@ @{@ @@ @ @ @ @@ @@ @ @ @ @@ @@ @ @ +@ @3@ @L@ @ @ R@ @Z@ @L@ @ @r@@x@@@@ @@@@@@@ @ @ @@ @@ @ @0@0@@0@@0@ @@4@@@:@@@L@@@ @Pk@P@q@P@@P@ @@@@@@@ @@@@@@@ @@@ @@@@ @I@@M@@d@@ DD@D@D@ DD@D@D@ D0D0@D0@D0@ D@D@@D@@D@@ DPDP@DP@$DP@ D`JD`@RD`@D`@ Dp_Dp@gDp@Dp@ DsD@xD@D@ DD@D@D@ DD@D@D@ DD@D@D@ D D @D @'D @ D BD @BD @LD @ D oD @sD @D @ D D @D @D @ D D @D @D @ DD@D@D@ DD@D@D@ UE8uj&h h=~/EEE8uEuu hhUE )@;0vUE )@0EEE;t!Eh60Wu)}x!jjU)‰P_<EhѺ0u:=<t1E )8@EE)Pju<EhL0uE8E< <E@ ufE@ uUEh0muU)‰Pju|;U)‰Pju];USE8uj[h hEh0EEEt@h40PE PE PUBPh65 0 hL50E@PhO5| jEpA Ph\5REt9u Ep hc5&= u*~Et"Ep E Phs5ٿLE8yEp h5賿& Ep E@PE0h5苿 E% ЅEp uiEEEE)ЉE E)P:<h5 u>4=4Eh60蛿u}y 4UډP4 up?+EC =t 548 4p4p4p uh5O E4@;E~0}*4Et$h5Eá4@;E~$4U@)Ph 5ڽj2jEPwEEEE;E wUUЃ1GEPhMUЍP]UЍUЃ> EE룡u) EP50EPhO5% juT> Ph"5E0h)5E=tE0EPu#E@ TE@ ju=E}tME8tEuh-5bE=uh-$EPh05E=EPh0#}yDEPh75ûE=tTEPh7|#<uh<5肻E=tuh<>#Eh0u~EWtEEE.uh@5 E=t4EWtUUE.uh@"=4`E@ OhF5蔺E=t hFS"E@ t6hI5NE=t hI "4@;E}T4PE)PhK5E=t\4PE)PhK!<uhR5费E=tuhRp!hY5{E=t hY:!EhѺ0=<E )8@E u4uuh0EPӹjju!:PEP¹EPh[5踸E=tEPh[s =t"EhL0AuE8E< <Ex Eph4+EPh`5 =t!Eph4+EPh`tDExt;Ephi5護=tEphim=t!h5j]U(EE t EEEEEU)‰;E tIEUE@кu؅u,hohӶ hӶE E)P1°!Є E)PN6E}E貘!ЄtmE;Es,E`EEEPuuuEЃEEpuuuuEЃUEB EEEEE;EuIEt9EpuuuuEЃUEB EEEEEU)‰Ѓ ~FE;Es,E`EEEPuuuEЃE̋EEE,EEEEE`E}u:EUE }uE`EEEE}uEҍEE E}E EE}v=E }vhh hqAEDEE@EE8t$E@ tEEEEHE8u@E;Es,E`EEEPuuuEЃEE=~= EE܋E8uE܁uuuU)‰Ph觴 EU E;EuE8uD EEE@ tE)E@EEPuuuEЃE@EEEE u= tU)‰; r EU uou+`+} t u 5|*=t@=t&jj5, 5* 5@t] uK=t=hh h豾hhٱhhı hıhh蚱hh腱 h腱hh[t jhh- h-jh]hh00=0v 0tk*=t 5)=t, 50 5D1 hhZ hZ=uh8h)=Ph_hhUu uj2Uu uj'Uu ujUuu ujUhPuyu u^ jE5uh@h!jju/L=Lu u j薮j5Ljj5j =u hW輯 jO 8 88~8m8\8Kj h\Pa( Pa3\\P P;3P  P"3T P 3XX\5T5Phlhz \ `=t`\hh<`uhh j P PPP`=ddt1d* Phh跬 jZP;\thh芬 j- P PoTT;Xt:Thh4h8h j«!fH`\Uf=Ht(556 5L5U(RP,$d$(0}fE fEm}mEUE E PE=t uuuhhh/ }u!hhEE55EPE PyE}t>u/ Phh輪 uNE=tuhh聪j juuu/5EP/5PEP/5TE P/uE P EuEP/UE uuhhɩEE܋EUf=Hu6h8h虩hlh脩Ehhu耪E}u uYEuhh% EPfE}u Evuuu蠪EE;Et4}u hߩhh躨E# uC uEEUu ujΨUu ujèUu uj踨Uuu uj譨Uj_uUE}tE@EjuhlШlU}  uP5hP}hPFhP?uP*hPu5hPhPu&Phh j腦U5hP芧hPsh$wh/ah2KhL5hh hhݥhǥh豥h蛥h/腥hohYhCh-h/hhhդh迤h/詤h 蓤h*}hHghQh;hi%h/hphhͣh跣h衣h苣huh8_h[Ih3hhkhyhۢhŢh询h虢h/胢hmhWhAh+h hh/h'ӡhE轡hb觡h葡h{hteh/Oh9h#h hhhˠh赠h/蟠h艠h!sh.]hLGhk1hhhh/ٟhßh譟h藟h聟hkh Uh\?h)hh ܠUjhKhhT5h貞h5h蜞Uh5h~h5hh 5hGhUjEpoEjuDd=hu EpEpEp Epuuu Ph5hĝ0he5h讝E@EUE@ B;Evf u{tD u9EE8 u#EPEp hj5h5E뉃hu5hh{5huh5dh5dӜh5d轜EpEpEp Epuh5d茜 Ex'h 5diEE@;E} UEt$EjucEUEt$h(5d}t=E8t5uEUt$uu PhH5d軛 hq5d襛E9E@;E~"EU@)Phx5dnh5dXh5dBU=dtch5d5h5dh5d 5dȜdUjuE}tcE8t[j:uE}t) uuEU)‰Ph5de uuh5dJUEhuhu EEE8EE}tlE&EEaEEmEEpEE;EmE&EElEEtEE;E?E&EEgEEtEE;EE‹EEEEEEUu EPh5d u&uh<5d֘hau蓙u ` `U uEjuE}t8E8t0u uuu= Phh5dA u uh5d&UE Euuhjhh u6 hhh Ph5d趗 EPhh訙uhhuEPhhmuNuhh  hhh Ph5d @EPhhu5uhh贗hhuEPhh讘u5uhhahhu=`tjhhhQuK hE}t2uhhhhuO'h Ph5dʕUh5d謕Uh 5d莕UUBPh5dd EpUBPEp hP5d.Uu ujrUu ujgUu uj\Uuu ujQUhh褔hh菔hhzU)EEEE5h8hhlu u"EϊE<AEσ:,,@,Dž0  돃 @놃jj5蹕g8du)EEȉE:d< 5{  8+u%jj56 jj5 8P5u]h5Zu*5hhzDž08P5+L%u*5hh)Dž0/EEE% 5c 5jj5דjj5踓fW H <  0 !dt  5hhE5hhE5h/h轐E}tDž0t=u =t5hEhS;Eu$h`h4Dž0:= t1 ;w$hhDž0E E}tHhu蝑=u'uhh藏Dž0jEPǑuujjEP襑}t 5.UE)P$d$UE)P$d$]Eԍd$$hhDž00Uu uj*Uu ujUu ujUuu uj USj=u谎E}uhhB jEE j E]jju8]jju!CU BE ]U jcEUEU$BE$UhPuu"uhhh j jjulTTu u? jҌ E@P赍dduh6h j蔌udT-XX;EtBXu hF賍 jFhWh脌 j' Td`d`)‰;X`u`8 t `8 t `ăjhn` ukhu`\\t \`Phxh蜋\)\`!jh`膋ukhu`茋\\t \`Phh\\`jh`'`j:` \\uA\\jj`豌Pj:\踊``u``j j\^L=tLPhhPL`PxPhh躉 j]jh`踉`j:`ĉ\\u\\jj`jLj:\q``u``j j\PPPo j_HHPLHP`BH BH 뒍` d`)‰;X}hh9 j܇U$E}t E0iE@Eߡ E}taE;vGU‹E@E@PE0hh讇jj@E0E@EU}un ufu"uh(hL jE"E@uhQhUE u蓇uj5與hjhqj@jh]tIuhph膆hhhlj@hhUU5HDЍ=@P5D5@hh UE E=~ uEPuh,h΅ E;vE EŠE EEuw uGE}u; jjEt EEEIuEPu  E}tExMEPED$E@UE;v EEEEU EE8tEЍEEEEUU}yEEU)‰ЉEEUS j Ej juu yE] u 貆CUEUEBUE]U=~uhMhuEEE}tQ=~uEph`h詃Eupeu EEE@EEEUE}suhnhEEEt.}t(E0EphthE@E҃h}hEU jhuEjhjupUEBE%EUEBdUE@tEExdt<DEEE}tEE@dEE;H~EHEUSE E=~9EE}uEuuuEPuhh }y)E=~uhh貁E;v$uhh菁EEt-=~uhhOEjEPu) u6EUEjuE@P}t(] uTCEpuFEUP EEE]UEE;sg u^E}tIE@EExuEuE@PEPEp Ephh> EUE;v!uhh E_Eu ECE%EEE}tE@;EuEEE@dEEEUE;vEENEEE;v(E)PPuE͡U)‰ЉEEUE;vEETE@E;Ev(E)PuEȡU)‰ЉEEUE;wE8u E uVE}tHExtj2Eph`NEPE@Ph%h`tEt EPh+h`~>Et EPh2h`~ E"} th9h`xE`EUhDž=tuh;hh}hRu5u6 5PuhTh}DžaDžhPy#tʀ;thtP|E}tEEEtEE8ug PPPhwuU~ u' jPj PPhu ~u% jhj PPhu}u& Pjhj` PPPhup} u- Phh (uhh{Dž |=t/ j* jchhzUEE@ ‹E ‹E ‰ЃUUE UBE UE UE UE ;Er*uuuU{uEEEE EEU}uW} u un|E E)EEE;E EEPh 5yEEEU)‰ЃwGE;E s"EEPh5Jyh52yE몃h5yEEE;E s[EU)‰ЃwLEEWtEEEE.uh!5xE띃h$5xEU(hjhPyEE hhjPxEE E EE}t, EPPhPjE@Pz * EPPjhPE@P]z u-=th(hwDžEEt*=th;h3wDžTEEhu*=thLhvDž DžU}jju%uEeuu u.xE}u,=u륃= u jyEUE)UE oEEUjjuu EHjEPuOx}Ku'hchu huEEEU8ƅDž}fDžhjP vƅЈEv Džu PwhPzf%E닅E=t* PhPhhht hPuuDž uC tCtNhht ht @Džhhs hs Džhhos hos Džhh&s h&s<Phhr hrDž}w)E(E Džhhr hrƅjPuuAhhHr hHr h8sDž` ut9Phhq hqDž DžUXEhhurE}uuhhnquhhQqEPutEЁ EЁEEEEEučEPsu hqučEPsu hqEPhTusu hq EPE}u uqhhVpEjj ujEPurEPh hp hp}t}CuEE}yEE @Phhouuuuh@hohUhwoE up upUVS[Î9 p@Ћu[^US[S9s[US[39#s[-@ 4Found M2V frame @ %x, size %x m2vJASC-PALFound Palette @ %x, size %x pal4TV_Found Font @ %x, size %x fntPNGIHDRIENDFound PNG @ %x, size %x png%x: BMP FP: %xx%x, el=%x, l=%x %x: BMP FP Checking padding bytes. %x: i=0..%d, j=%d..%d %x: BMP FP: padding @%x = %x %x: BMP FP: %d nfix instructions. Found BMP @ %x, size %x, %dx%d bmp .STi...String FP %x:%x - 3-non-alnum - [%.*s] aAString FP %x:%x - <2 alnums - [%.*s] aaaAAAString FP %x:%x - no-3-seq - [%.*s] Possible FN String: %x:%x:%.*s strFound String @ %x, len %x, [%.*s] bytFound repeated bytes @ %x, len %x, [%x] jjumpUnconditional relative jumpldlpload local pointerA = &workspace[n], B=A, C=Bpfixprefixldnlload non-localA = A[n]ldcload constantA = n, B=A, C=Bldnlpload non-local pointerA = &A[n]nfixnegative prefixldlload localA = workspace[n], B=A, C=Badcadd constantAdd to A with carry checkcallCall Subroutinecjconditional jumpjump if A = 0ajwadjust workspaceMove workspace pointereqcequals constantA = (A == Constant)stlstore localworkspace[n] = A, A=B, B=Cstnlstore non-localA[n] = B, A=Coproperate.dbbyte.objobjectAllocated %d bytes for each secondary opcode table. revreverseA <=> Blbload byteLoad byte addressed by A into AbsubByte subscriptA = A + Bendpend processdiffdifferenceA = B - AaddA = A + B with carry checkgcallgeneral callJump to A, previous address saved in Aininput messageRead A bytes from channel B to addr CprodproductA = A * B (no overflow check)gtgreater thanA = B > Awsubword subscriptA = address of element in A indexed by Boutoutput messageA bytes to channel B from address Csubstartpstart processoutbyteoutput byteA to channel Boutwordoutput wordseterrset error flagsresetchreset channelReset channel pointed to by Acsub0check subscript from 0Check that B is in the range 0..A (unsigned)stoppstop processladdlong addA = A + B + bit0(C)stlbstore low priority back pointersthfstore high priority front pointernormnormaliseshift double length number BA left under MSB = 1ldivlong divideA = (CB)/AldpiLoad pointer to instructionA = next instruction + Axdbleextend to doubleSign extend A to doublestlfstore low priority front pointerldpriload current priorityA = priorityremremainderA = remainder when B/Aretreturnlendloop endldtimerload timerA = ClockReg[Priority]testerrtest error flagA = true/falsetestpranaltest processor analysingtintimer inputdivdivideA = B / Adistdisable timerDisable timer guard in altseqdiscdisable channelDisable channel guard in altseqdissdisable skipDisable a skip guard in altseqlmullong multiplyA = (B*A)+CnotA = ~Axorexclusive orA = A^B, B=Cbcntbyte countA = A * BytesPerWordlshrlong shift rightA = CB>>Alshllong shift leftA = CB< Asavelsave low priority queue registerssavehsave high priority queue registerswcntword countconvert byte ggg in A to word ggg and byte selectorshrshift rightA = B >> Ashlshift leftA = B << Amintminimum integerA = MostNegaltalt startStart of a non-timer alt seqaltwtalt waitWait for alt guard to be readyaltendalt endEnd of alt seqandA = A & Benbtenable timerenable timer in altseqenbcenable channelenable channel guard in altseqenbsenable skipenable skip guard in altseqmovemove messageCopy A bytes to address B from address CorA = A|Bcsnglcheck singleCheck that the 2-word value in A,B can be represented as singleccnt1check count from 1Check that B is in the range 1..A inclusivetalttimer alt startldifflong diffA = B - A - bit0(C)sthbstore high priority back pointertaltwttimer alt waitsummulmultiplyA = A*Bsttimerstore timerClockreg = A, SSstoperrstop on errorDeschedule if error flag setcwordcheck wordCheck that B can be represented as N-bit signed, A = 2^(N-1)clrhalterrclear halt-on-errorunset flagsethalterrset halt-on-errorset flagtesthalterrtest hal-on-error flagdupduplicate top of stackmove2dinitinitialize data for 2D block movemove2dall2D block copymove2dnonzero2D block copy non-zero bytesmove2dzero2D block copy zero bytesgtugreater than unsignedunpacksnunpack single length fp numberslmulsigned long multiplyA = A * B + Csulmulsigned times unsigned long multiplyAB = A*Bsataddsaturating addA = A + B or MostPos/MostNegsatsubsaturating subtractA = B - A or MostPos/MostNegsatmulsaturating multiplyA = A * B or MostPos/MostNegpostnormsnpost-normalise correction of single length fp numberroundsnround single length floating point numberldtraphload trap handlerInstall a trap handlersttraphstore trap handlerldinfload infinityA = 7f8000000fmulfractional multiplyA = B * A (A,B treated as fractions, result rounded up)cflerrcheck floating point errorCheck if A represents Inf. or NaNcrcwordcalculate CRC on wordcrcbytecalculate CRC on bytebitcntcount bits set in wordA <- B + BitsSetIn(A)bitrevwordreverse bits in wordReverse order of all bits in Abitrevnbitsreverse bottom n bits in wordReverse bottom A bits of Bpoppop processor stackA=B, B=Cldmemstartvalload value of MemStart addressLoad into A the address of the first free memory locationwsubdbform double word subscriptfptesterrtest for FPU errorsettimesliceset timeslicing statusxbwordsign extend byte to wordlbxload byte and sign extendLoad byte addressed by A into A and sign extend to wordcbcheck byteCheck that A can be represented as 8-bit signedcbucheck byte unsignedCheck that A can be represented as 8-bit unsignedssubsixteen subscriptA = A + 2Bintdis(localised) interrupt disableintenb(localised) interrupt enableldtrappedload trapped process statuscircheck in rangeCheck that C is in the range A..B inclusivessstore sixteen*A = Blsload sixteenLoad the 16-bit object addressed by A into Asttrappedstore trapped processcirucheck in range unsignedCheck that C is in the range A..B inclusive (unsigned)gintdisglobal interrupt disableper Agintenbglobal interrupt enabledevlbdevice load byteRead byte from peripheral etc.devsbdevice store byteWrite to a peripheral etc.devlsdevice load sixteenRead 16-bit from peripheral etc.devssdevice store sixteendevlwdevice load wordRead word from peripheral etc.devswdevice store wordxswordsign extend sixteen to wordin Alsxload sixteen and sign extendLoad 16-bit object addressed by A and sign extend to wordcscheck sixteenCheck that A can be represented as 16-bit signedcsucheck sixteen unsignedCheck that A can be represented as 16-bit unsignedswapqueueswap scheduler queueswaptimerswap timer queuetimesliceCause timeslicesignalSignal on the semaphore pointer to by AwaitWait on the semaphore pointed to by Atrapdistrap disabletrapenbtrap enabletrettrap returnreturn from a trap handlerldshadowload shadow registersstshadowstore shadow registersiretinterrupt returnreturn from external interruptdevmovedevice moveCopy A bytes to *B from *CrestartRestart execution of saved processnopno-operationldclockload clockA = Clockregclockenbclock enableStart specific clocksldprodidload product identityinto ArebootPerform a cold bootdis.cop->sym???buildsymtab(%p, %s) %08lx: %02x..%02x%*s **%08lx: %-*s %-12s .string "%.*s" .db #%02x (repeated x %x) .bin (%x bytes) %s %s (%x bytes) ** ; New subroutine %x+%x; References: %d, Local Vars: %d ; Called/referenced from %x ; ... %d more. %02x%-13s %s %sloc_%x#-%x#%x '%c' [&arg_%dvar_%d][%s]%*s ; %s - %s.op < NUM_SECOPS?%x/%p/%p Opcode: %s Pass 1 - Detecting objects...Pass 2 - Detecting strings...Pass 3 - Detecting repeated bytes...Pass 4 - Building symbol table...Pass 5 - Disassembling... Opening %s, %d bytes. mmapCompressed firmware file v?.%d.%d, uncompressed size %d, CRC32 %x. malloc for uncompress, %d bytes = %p Out of memory. Error decompressing data, %s. Short compressed data. Calculated checksum: %x Invalid compressed data, checksum mismatch. compress_file(%p) = malloc(%lx) = %p Out of memory in compress_file. Error compressing data, %s. Compressed ok, final size %lx Created compressed image file, size %lx, CRC %x )\(?(@Cannot write changes back to an uncompressed file. Contact the author if you would like this limitation lifting. Writing modified file to %s writeError writing file. %s/%s/.html%s/%s.htmlwCan't create file '%s' %s/style.csshtml body { line-height: 1.55em; font-family: "Lucida Grande", verdana, lucida, helvetica, sans-serif; background-color: #f8f8f8; margin: 1em; padding: 0; font-size: small; } html>body table td table.index td vertical-align: top; white-space: nowrap; border: 1px solid grey; h3 font-family: "Lucida Grande", helvetica, lucida, verdana, sans-serif; line-height: 104%%; font-size: 145%%; display: block; background: transparent; color: #900; padding: 0.2em 0.7em; margin: 1em -0.7em 0.5em -0.7em; height: auto; :link:focus, :visited:focus, :link, :visited, :link:active, :visited:active text-decoration: none; color: #1e5bbd; background-color: transparent; :link:hover, :visited:hover text-decoration: underline; background-color: #b4d5ff; color: #1559B3; .footnote color: #aaa; background: transparent; font-size: 90%%; padding: 2em 0; table td, table th #border: solid 1px #9e9e70; border: 0; empty-cells: show; padding: 0.1em 0.3em; text-align: left; table th background-color: #e4faa8; # short versions to save space in generated HTML td.addr,td.a { background: transparent; color: #ff4000; } td.bytes,td.b { background: transparent; color: green; } td.label,td.l { background: transparent; color: magenta; } td.opcode,td.o { background: transparent; color: purple; } td.oparg,td.g { background: transparent; color: black; } td.comment,td.c { background: transparent; color: #aaa; } indexDissassembly Output

Disassembly Output

%s%x+%x; References: %d, Local Vars %d "%.*s"
%s

%s - %x+%x; References: %d; Local Vars %d

Generated by st20dis v%s%s%s&<>1.0.2Syntax: st20dis [options] -a Annotate opcodes briefly -A Annotate opcodes verbosely -b Bare output (no addresses or hex) -B Break (disable) sub-routine at address -d[level] Enable debugging [at level] -D Perform detection only (for testing) -e End disassembly at offset -e+ End disassembly after bytes -H HTML Output into directory -m Load map file -o Output to (defaults to screen) -O Detect disassembly offset -p= Simulate patch in memory -P Apply patch from (.fpt format) -s Start disassembly at offset -S Disassemble subroutine containing offset -t Send resulting file to device via XMODEM -w Write modifications to file (after patch operations) -x Include binary object bytes -X Don't automatically detect objects ST20 Disassembler v%s, (c) Andy Fiddaman, 2008. :d:s:e:S:DaAho:xXObp:P:m:zwB:t:H:Cannot create HTML output directory, %s Cannot write to HTML output directory, %s /dev/nullOption -%c requires an argument. Unrecognised option -%c Unhandled option -%c Debugging level set to %d A source filename must be provided. Start position can't be after end position wCan't create output file '%s' Processed in: %.2fs .AGGGG"GhGGGGHGGGGGG+MGGGGGGˏGGGGGGGGoxGGGTGGGGG7GGcGGG׏Syntax error in -p argument Cannot open patch file '%s' Out of memory. patch file read.patch file short read.descr: Applying patch '%s' fware:Patch is for firmware v%s verify:verify [%x] [%d] Patch verify error @ %x patch:Error parsing patch file. Patched memory at offset %x to %x Break position %x is not a sub-routine. Disabled sub-routine at %x Allocated %ld bytes for memflags table. Allocated %d bytes for memloc data. Allocated %d bytes for namloc data. Symbol table: entries: %d, collisions: %d (%d%%), maxdepth: %d flag_memory(%x, %x, %x) subloclookup_namloc(%s) %s vs. %s %3d: %s(%lx) NULLadd_memloc(%x, %x, %s, %x, %s) -ve offset => %x add_memloc(%x) out of range. Duplicate memloc @%x %08x+%04x: %02x %s %s lookup_memloc(%x) out of range. %s_%xsub_%xloc_%x:Loading map from '%s' rCan not open map file, %s (%s) object:%x:%x:%3sstring:%x:%xstrloc:%x:%20smapbin:%x:%x:%20sbinSyntax error in map file at line %d (%s) ----------------------------------- %08lx: %02x %c fd_ready timeout. fd_ready error. fd_ready - not ready. KWriting block %d, %lu bytes, CRC: %x NC.!?(%d).EOT.WwriteCan not open device '%s' Connected to %s setospeedsetispeedtcsetattrTurn on your PVR now... %c +Beginning XMODEM-CRC/1K transfer, %d chunks. - Transfer failed. - Transfer complete. l     !!"!2!B!R!b!r!!!!!!!!!""""2"B"R"b"r"""""""""##"#2#B#R#b#r#########$$"$2$B$  0== J   ``0 ```os.o8ot(o`o`l<$., _-()<>:/\%*=@!;'[]̴δӴ #(/4CLP^ntԵص(6:Kbfvʶضܶ 8t   L$  0Hll !"#$% ,?T  _fr}Hh% % *0&Z BK0' V( a( m) x*4 PY/ 4L5 g5 5 5 048<5<( @D] _  if 4q Oq jq q HLP#T*x x x x d1h;lAyB KFy  YOz dS qw׆& x @@  * E < W r   $|v @DH $@,u 77 E`2MT] fT rr |i Ա l"` $ +!3<#E J$VD ] "e4!m"t52  q ?V <$"&C O  z L$ #d%    '!/lu H=#!D"JW U[{ gaw5 r z 5P u "Ԃ    ~ F"L#/ V"\e . ,j ,# 74 \"-w ߅t # 0u<  ` r $l!+lA E #K n WL"\(&h e|"l` r̚P ~L# #l#\!8 kg "\ i^% lI3 st20disfsr.s__get_exit_frame_monitor_ptr__do_exit_code_ptr__fsr_init_value_ptrtrap_tablecrti.svalues-Xa.cDdata.dataBbss.bssDrodata.rodataDpicdata.picdatacrtstuff.c__CTOR_LIST____DTOR_LIST____EH_FRAME_BEGIN____JCR_LIST__map.0completed.1__do_global_dtors_auxobject.2frame_dummycrc.cxmodem_crc_updatedetect.cdetect_m2vdetect_paldetect_fontdetect_pngdetect_bmpstring_fpokchars.1dis.cfstatlstat_xmknodmaxbyteshtmlsubAregAregSetinit_secop_tablesecopsecop2buildsymtabprintoutpassfile.ccompressedfdvermajverminhtml.chtmlindexbuf.0html_hashhtml_openfilehtml_stylehtml_locnamebuf.1html_escapehtml_loclinkbuf.2buf2.3main.cpatch.cpatchespatchfilesapply_patchfiletables.cmemloc_entriesmemloc_collisionsmemloc_maxdepthmemflagsdump_memlocsdump_namlocsadd_namloccreate_memloclabel.0util.cxmodem.cis_readywrite_blockread_charxmodem_send__CTOR_END____DTOR_END____FRAME_END____JCR_END____do_global_ctors_auxcrtn.s_END__START_errnodebuguncompressldpilast_lib_versionhtmldir___Argvatexit_lxstat_environstrerrormaincfsetispeedmemmemstrlcpysysoptsstrcatdetect_stringsendposopen_filenamloc_hash_get_exit_frame_monitorxmodem_crchtml_closeindex_Jv_RegisterClassesadd_memloc_startmemcpy_mcountload_map__environ_lock_initvsprintfcompress_fileselectwritehtml_opend__iobhtml_opcodewrite_file__ctypeoptoptpatch_memoryhtml_openindexhtml_opclosehtml_opensublookup_namlocbreaksuboptargstrncmp__dso_handle__fsr_init_valuestrcmpfreebinsizefprintfbinfopengettimeofday_exitmemsetatoireadperror__assert_PROCEDURE_LINKAGE_TABLE__fxstatmallocsleepcfsetospeedtcsetattrread_uint32syntax__register_frame_info_bases_endxmodemdevmunmap_finistrstr__fsroptindgetoptsubstartlookup_memloc__longdouble_used_edata_xstatfflushoffsetfclosetcgetattrmkdirstartpos__1cG__CrunMdo_exit_code6F_v_memflaghexdumpsscanfflag_memorydetect_bytesmemcmpdetecthtml_closesubfgetsadd_patchclose_file__deregister_frame_info_baseshtml_stringsubendbreakposstrchr_GLOBAL_OFFSET_TABLE___fpstartdisassemblemmapdigi_crczErrorprioptable_statssubposstrtoulinit_tablesstrdup_etextstrlenstrpbrkwrite_uint32xmodemhtml_oparg_DYNAMICadd_patchfile@(#)SunOS 5.11 snv_86 January 2008@(#)SunOS 5.11 snv_86 January 2008@(#)SunOS 5.11 snv_86 January 2008GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)GCC: (GNU) 3.4.3 (csl-sol210-3_4-20050802)@(#)SunOS 5.11 snv_86 January 2008ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.622% $ > $ > : ; I.? : ; ' I@ : ; I 4: ; I    I .: ; ' I@ .? : ; ' I@ % $ > : ; I : ;  : ; I8  : ; I 8  I$ > .: ; ' @ : ; I 4: ; I  4: ; I .? : ;' @ 4: ;I .: ;' I@ : ;I I!I/ 4: ;I 4: ; I? < !% $ > : ; I : ;  : ; I8  : ; I 8  I$ >  : ;I : ;I8 I !I/ .: ; ' I@ : ; I &I.: ; @ .: ; ' @ 4: ; I   4: ;I .: ;' @ : ;I ' I.? : ;' @ 4: ; I? < !4: ; I?  % $ > : ; I : ;  : ; I8  : ; I 8  I$ > : ;I : ;I8 I !I/ .: ; ' I@ : ; I &I.? : ; ' @ : ; I 4: ; I  .? : ; ' @ .? : ; ' I@ 4: ; I? < %  I$ > : ; I : ;  : ; I8  : ; I 8 $ > : ;I : ;I8 I !I/ .: ; ' I@ : ; I &I : ; I8 4: ; I !I/.: ; @ .? : ; ' @ .? : ; ' @ 4: ; I   .: ; ' @ : ; I .? : ;' @ : ;I : ;I .: ;' @ 4: ;I !4: ;I ".? : ;' @ #4: ; I? < $4: ;I?  % $ > : ; I : ;  : ; I8  : ; I 8  I$ > : ;I : ;I8 I !I/ .: ; ' I@ : ; I &I.? : ; @ .? : ; ' I@ 4: ; I   4: ; I? < 4: ; I?  % $ > : ; I : ;  : ; I8  : ; I 8  I$ > : ;I : ;I8 I !I/ .: ; ' I@ : ; I &I : ; I8 .? : ; ' @ 4: ; I : ; I .: ; ' @   4: ; I? < !% $ > : ; I : ;  : ; I8  : ; I 8  I$ > : ; I8 I !I/ .? : ; ' @ 4: ; I .? : ; ' @ : ; I : ; I  .? : ; ' I@ .: ; ' @ .? : ; @ .: ; ' I@ 4: ; I .? : ;' I@ : ;I 4: ;I : ;I 4: ;I 4: ; I? < !!I/% $ > : ; I : ;  : ; I8  : ; I 8  I$ > .? : ; ' I@ : ; I .? : ; ' @ 4: ; I I!4: ; I? < % $ > : ; I : ;  : ; I8  : ; I 8  I$ > : ;I I !I/ .: ; ' I@ : ; I 4: ; I  !I/.? : ; ' @ 4: ; I? < X-'(&GNU C 3.4.3 (csl-sol210-3_4-20050802)crc.c/export/home/af/st20discharintunsigned charlong long intlong intshort intuint8_t]luint16_t^short unsigned intuint32_t_}long long unsigned intlong unsigned intlong double digi_crc(&&Udatalen result|@&&octet!{j"t  xmodem_crc_update3&&Ucrc2~data2}i4ex xmodem_crcD&-'UdataClenC crcE~iFextJ50'GNU C 3.4.3 (csl-sol210-3_4-20050802)detect.c/export/home/af/st20dischar__FILE*vj__FILE*_cnt8j#_ptr9q#_base;q#_flagstathU_path>_bufI D^e lstath*U_path>_bufI fstath*EU_fdh_bufI mknodhE`U_path>_mode _devsyntax!`UmainCh<UargcBhargvB filenameDHtmapfileEHpoutfileFHlstartG1`endG1XtmHTopterrIhPcJ^OӍpnHHHste~Hfloat 1f ;__iob !optargHoptindhoptopthdebughstartposendpos subposbreakpossysoptsoffsetouthtmldirHxmodemdevHversion>7 <GNU C 3.4.3 (csl-sol210-3_4-20050802)patch.c/export/home/af/st20dischar__FILE *ui__FILE *_cnt 8i#_ptr 9p#_base ;p#_flag ao}bo}cp} }`  `  h ;__ioberrno:j w__ctype7debug jsysopts offset bin binsize  memflags T  memlocsA  y [  namlocsi  memloc_entriesj@ memloc_collisionsjD memloc_maxdepthjH[ 9xGNU C 3.4.3 (csl-sol210-3_4-20050802)util.c/export/home/af/st20dischar__FILE*th__FILE*_cnt8h#_ptr9o#_base;o#_flag7>2>>rYjrdceI[6HxeVdsW/irde$HuW  /usr/include/sys/usr/include/usr/include/isostat_impl.hopcode.cdis.cstat.htypes.hstdlib.hstdio.htime_impl.hint_types.hopcode.htables.hstdio_iso.hstdio_tag.hstdio_impl.hstdlib_iso.hlint.hL5d, +d, +d,+d,~+dHsHs /;;;;;;;;CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC#CCCCCCCCCCCCCCCCCCC}+fՎ/Ղ,XI,-/j-@0*&;X(V1#t$,#'5)'ǎe/,u&e#u.A4+-*J. . .\\ .8. . .u. . .. .$W .$u .$` .| $h  .$h  .$h * .$h E .$h `G .@h  U.U.:..R.| $ < .$ W .$ r .$  .,  .$ I3 .$ |v .$  .$ ~ .| $  .$ ̚P C. 4  *. U.A.  .  ?V 8 u . ..4  . .:.$   .$ 7 .4 z @. /., i .R. $  .$ l 9.$ r ?.$ ^% ..P  ).#. J.%. #.&. z.| x8 8 $D .$,j .| 4 .. Y.$T .$r  .4i ;.. .$kg .*\8digi_crcxmodem_crc=\zdetect;detect_stringsdetect_bytes< disassemble bin binsize priopLopen_file}close_filecompress_file write_file html_openindexhtml_closeindex&html_opensubhtml_closesubv html_opcode5 html_oparg html_opend html_opclose html_string ldpilast(dsyntax&mainpdebugstartposendpossubposbreakpossysoptsoffsetouthtmldir5xmodemdevMversionL 1Eadd_patchadd_patchfilepatch_memorybreaksub9 ainit_tablestable_statsflag_memorymemflag=namloc_hashlookup_namlocdump_namlocsadd_memloc*dump_memlocstlookup_memlocsubstart subendFlocnameload_mapFC=read_uint32swrite_uint32memmemhexdumpyG/bxmodem(&\0' L5;4qbx[(H 1<9h CxyG: unsigned intaddrunsigned intobjlenunsigned intfilenameunsigned intaddrunsigned intunsigned intfilenameunsigned intaddrlabelunsigned intunsigned intunsigned int.interp.SUNW_cap.hash.SUNW_ldynsym.dynsym.dynstr.SUNW_version.SUNW_dynsymsort.SUNW_reloc.rel.plt.text.init.fini.rodata.got.dynamic.data.bssf.picdata.ctors.dtors.eh_frame.jcr.data.rel.local.bss.symtab.strtab.comment.debug_abbrev.debug_info.debug_line.debug_frame.debug_pubnames.debug_aranges.debug_str.shstrtab ooA'   /"J 7o88PEoV ttXb B f  kL$L$qw00}HH$9llllX   p   E *M h|&P6G@EP 7Z
%08lx%s%sldpi%s%ssub_%sloc_%x[sub_%x]sub_%x[loc_%x][str_%x]str_%x[%[^]]]%s
%08lx.string "%.*s"