ELF 4$4 (# 444mmD;Lħħ /lib/ld-linux.so.2GNU    ȅ+؅g@!VD+^!s (j8OHvlXHh3x<$'l9OȆC؆2d1zq 0libc.so.6strcpyatolfscanffgetsmemcpytolowerlseekcallocfprintfstrcatmemset__assert_failsprintffclosestderr__ctype_b_locexitfopen_IO_stdin_used__libc_start_mainstrlenstrchrfputs__gmon_start__GLIBC_2.3GLIBC_2.1GLIBC_2.0ii ii ii  ĨȨ ̨ Ш Ԩ بܨU苈5%%h%h%h%h%h %h(%Ĩh0%Ȩh8p%̨h@`%ШhHP%ԨhP@%بhX0%ܨh` %hh%hp%hx%h%h%h%h%h1^PTRh hp QVhUS[S!R`tX[ÐUPP=$u.mt&mҡmu$ÉUQQtt h+xÐU}ujEEE}uUEf%%tEf%%t uEUjju EjjuEjuuEUhh"EE}~MEE`E`,EE@,E먃}EEPhuE}tEEPhuE`PhuE`,PhuhEPhuIE@,Phu*6 uuh5 Uuh-3US h-à u)Éƀ-]US=mu+L HLH  L%9Et#uu h5  j=Pt(En%Ph-h5]UEH]US$=PᆳL% PE5+us=Pt3=Lu EEuuh h`>1=Lu EEuuhNh` }ᆳuh5 zEL‰Ѝ HЍHxE=LᆳL%uhh`E#L%Phh`ZE=Pth`EP5E=Lu EEuh`EPrhh`E=Pth`EPE=Lu EEuh`EP5Lh45 m`]Uu uh`h`E`UE 4h>=t#}w}t BA hEE8uEU‹EEUDᆳދE@EUE} E E%DDPhhFzE%DDPhh @E%DDPhhEhhE%EEE@EEE@EE%EE%% u+}uEEE3UE)}uEE)EUE)E EDPhhE%ƒE%%‹E%DDPhhlEE%Phh:qhEE%ƒE%%‹E%DDPhhEE8uEU‹EE֋EUu hhsEE;Er9EE %PhUP0EEE8uEU‹EEUE LE pp< tp<t E E=Ip<E EE<vzjp4p4EPju p4EPS‹EE0u uTEEpE"p}t}E ‡8WttEE EEE% uOujjEP uu jEP‹EE0u u[p<=pE ‡EE<E< tE<t EuE4E4EP@uu jEP‹EE0u u~Eup4p4EPuu p4EP8‹EE0u u9Uhju3=mtuh-h%5=mt5Lh-h@5_h-h5Dh5.EPh-h5h5Eu h-h5Eu h-h@5Eu h-h5}Eu h-h5REuh-h5'oEuh-h@5GEuh-h5EPh-h5h5,ᆳރ 5Lthh-h5d<,Uhj0u=mtuh-h5=mt5Lh-h@5hh-h5h h-h5h5L%Ph-h`5ph5ZEu h-h54Eu h-h5 Euh-h`5oEuh-h5GEuh-h5EPh-h 5nh5Xᆳރ 5Lpthh-h5<,UhjQuy=mt5Lh-h@5=mtuh-hR5=,ᆳ{Eu&,Ph-hm5icEu&,Ph-h582Eu&,Ph-h5Eu&,Ph-h5Eu&,Ph-h5EuL,t h-h5oih-h5OI ,PEPh-h 5 Eu"h`h-h5Eu h-h5Eu h-h5Euh-h 5roEuh-h`5JGEuh-h5"EPh-h5 5L#th<h-h5<,Uhju,=mtuh-hN5Et u^<,<,E=,ᆳt9,t EEuh-hj5hh-h5 5Lth<h-h5<,EEUhhhhUhhhhyUhhhhZUhhhh;UhhhhUhhhhUhhhhUh hhhUhhu=mtuh-h5p}uGh@h-h5Mh-hi52,=DᆳtBh@h-h5D,Ph-h5Ih@h-h5E,,Ph-h5 5Lth h-h5Z<,Uhh&u=mtuh-hS5}udhh-h5hh-h5h-h5=Dᆳt_hh-h5thh-h5WDPh-h54fhh-h5hh-h5EPh-h 5 5Lthh-h5<,Uhh=u=mtuh-h`5Ghh-h5*=|ᆳt8|E..Ph-h5)EPh-h 5.ᆳ,ᆳh}h-h5 5Lthh-h5d<,UhhOu=mtuh-h5h-h5hh-h5=|ᆳt9EPh-h 5|E.)EPh-h 5u.ᆳᆳރ 5Lthh-h5/<,Uhhdu=mtuh-h|5h-h5hh-h5,ᆳރ 5Lthh-h5h<,Uhhpu=mtuh-h5hh-h5hh-h5h h-h5ᆳh}h-h5 5Lthh-h5e<,Uhh~u=mtuh-h) 5=,ᆳt|E,EPh-h` 5f,%ft#,%Ph 5=5,h 5EPh-h!5kh}h-h5N 5Lpthh-h5<,Uhhuv=mtuh-hx!5h-h!5h-h!5EPh-h "5tᆳރ 5Lthh-h58<,Uhhu=mtuh-h"5=DᆳuL%D=,ᆳ5Dh-h"5,D t5D,,Ph-h"5Z%,SD,,Ph-h #5%(5Dh-h`#5,ᆳރ 5Lthh-h5<,Uhhu#=mtuh-h#5vh-h$5[=DᆳuL%D=ᆳ5Dh-hG$5 D t> 5DDPh-h`$5 %\ 5DDPh-h$5 (5Dh-h "5iᆳރ 5Lthh-h5-<,Uhhu=mtuh-h$5=|ᆳt8|E..Ph-h%5)EPh-h%5w.ᆳ,ᆳރ 5Lthh-h51<,Uhhu=mtuh-h8&5h`&h-h5=|ᆳt8|E..Ph-h&5)EPh-h '5^.ᆳᆳރ 5Llthh-h5<,Uhhur=mtuh-h'5h'h-h5=.ᆳt 5.h-h(5~h`(h-h5_h(h-h5B,ᆳރ 5LZthh-h5<,Uhhu`=mtuh-h(5h(h-h5hh-h5yh)h-h5\ᆳh(h-h55 5LWthh-h5<,Uhhu]=mtuh-hM)5h'h-h5EPh-h)5t,ᆳރ 5Lthh-h58<,Uhhu=mtuh-h)5h-h*5EPh-h *5ᆳރ 5Lthh-h5o<,Uhh'u=mtuh-h*5=DᆳuL%Dh-h*55Dh-h+5,ᆳރ 5Lthh-h5<,Uhh8u=mtuh-h`+52=DᆳuL%Dh-h*55Dh-h+5ᆳރ 5Lthh-h5<,UhhGu=mtuh-h+5Hh'h-h5+=|ᆳt8|E..Ph-h ,5)EPh-h,5.ᆳ,ᆳރ 5Lthh-h5<,UhhXu=mtuh-h.-5/h-h*5EPh-h`-5ᆳރ 5L thh-h5<,Uhhcu=mtuh-h-5fh .h-h5I,ᆳރ 5Lathh-h5 <,Uhhmug=mtuh-h.5h-h*5h.h-h5ᆳރ 5Lthh-h5F<,Uhhyu=mtuh-h]/5=mtWh{/h-h5h/h-h5h/h-h5h-h/5x=|ᆳu+EPh-h 05M.ᆳ6|E..Ph-h05  5L-thh-h5<,Uhhu3=mtuh-h05h(h-h5iEPh-h 15J 5Llthh-h5<,Uhhur=mtuh-h15h@h-h5h1h-h5,ᆳރ 5Lthh-h5O<,Uhhu=mtuh-h 25hh-h5hh-h5h@2h-h5ᆳރ 5Lthh-h5i<,Uhhu=mtuh-hl25=DᆳuRL%fEfE%fEf %fEUfE% УDDP5Ph-h25 5Lth<h-h5^<,Uh2hhh;Uhhu=mtuh-h25=mt5Lh-h@5=muh-h25h 3h-h5=.ᆳt 5.h-hN35Zh3h-h5;h3h-h5=Hth-h45Pᆳރ 5Lth<h-h5<,Uhhu=mtuh-hr45k=mt5Lh-h@5D=muh-h25 h 3h-h5h4h-h5=Hth-h45Pᆳރ 5Lth4h-h5<,Uhhu=mtuh-h453=DᆳtY=Dvh4hhh5|;Dt5Dh-h 55D|5E9|tEPh 55 jV 5Lth<h-h5g<,Uhhu=mtuh-hP55h5h-h5E9|tEPh-h 55E| 5Lth4h-h5<,Uhh"u=mtuh-h55:=|ᆳt8|EPh-h55.ᆳ)EPh-h@65.ᆳރ 5Lth<h-h5<,Uhh1u=mtuh-h65Hh6h-h5+h6h-h5uh-h 75h}h-h5h`7h-h5h7h-h5h}h-h5.ᆳރ 5Lth4h-h5C<,UhhBu=mtuh-h75=|ᆳtZ=|vh7hFhh7|E.5.h-h75)EPh-h85k.ᆳށ=,ᆳtE,%th7hOhh18;5,h`85h85 5Lth<h-h5<,Uhh[u"=mtuh-h85uEPh-h85V 5Lxth4h-h5$.ᆳ<,Uhhiut=mtuh-hF95=.ᆳtU=,ᆳt) 5,5.h-h95 =5.h-h95hh:h-h5I 5Lkth<h-h5<,Uhhzuq=mtuh-h/:5Ŀ=.ᆳts=ᆳt) 55.h-h95腿 [5.h-h`:5e5.h-h:5Gh:h-h5( 5LJth4h-h5<,UShhuO=mtuh-h;5袾=mh{/h-h5xh@;h-h5[h;h-h5>h<h-h5!h@<h-h5h/h-h5=mt5Lh-h@5,ᆳ.ᆳ|ᆳށ=,ᆳthL% ,%,,Ph-h<5X=Hh-h=50t=Hth-h`=5 fL%ft%L%Ph-h >5׼h-h>5躼L8_u8 5Lhh-h5uyLLPh-h>5NL HLH ,ᆳ]Ph-h&?5<,]Uh-?hhhԻUhhu2=mtuh-h8?5腻hV?h-h5hh?h-h5Kh?h-h5.EPh-h@5h`@h-h5 h@h@h-h5Ǻh@h-h5誺h@h-h5荺hAhAPh-hA5_h1Ah-h5BhOAhAPh-hA5hQAh-h5hAh-h5ڹhQAh-h5轹 h@hAh-h5萹 h@跽hAh-h5ch Bh-h5Fh`Bh-h5)h@h-h5 h@h-h5hBhAzPh-hA5hQAh-h5褸 h@h7h-h5w,ᆳᆳރ 5L腽thh-h51<,UhBhhhUhh ul=mtuh-hB5迷=mtth{/h-h5虷hBh-h5|h/h-h5_h}h-h5BhCh-h5%h@h-h5,ᆳރ 5L thh-h5̶<,Uhhu&=mtuh-hRC5yhCh-h5\hCh-h5?ᆳރ 5LWthh-h5h7h-h5<,UhCh(hhõUhCh2hh褵Uhh<u=mtuh-h D5U=mtWh{/h-h5/h@Dh-h5h/h-h5hrDh-h5شh'h-h5軴hDh-h5螴hDh-h5聴,ᆳރ 5L虹thh-h5E<,UhhNu蟸=mtuh-h E5h@Eh-h5ճhEh-h5踳ᆳރ 5Lиthh-h5|<,UhEhYhhYUhEhchh:Uhhqu蘷=mtuh-hE5hFh-h5βh@Fh-h5豲hOAhqF<Ph-h|F5胲,ᆳރ 5L蛷thh-h5G<,Uhhu衶=mtuh-hF5hFh-h5ױhh-h5躱hh-h5蝱hFh-h5耱hOAhA Ph-hF5Rᆳރ 5Ljthh-h5<,UhGhhhUh'Ghhh԰Uhhu2=mtuh-h3G5腰=mtth{/h-h5_h`Gh-h5BhGh-h5%h/h-h5hHh-h5h`Hh-h5ίhHh-h5豯,ᆳᆳރ 5L迴thh-h5k<,UhHhhhHUhHhhh)UhHhhh Uhhuh=mtuh-hH5軮=mth Ih-h5蕮hIh-h5xhIh-h5[,ᆳᆳރ 5Lithh-h5<,Uh1JhhhUhh uP=mtuh-h>J5裭h6h-h5膭h[Jh-h5ih}h-h5LhhJh-h5/h}h-h5hJh-h5h'h-h5جh}h-h5軬hJh-h5螬h}h-h5聬hJh-h5dhJh-h5Gh}h-h5*hJh-h5 hKh-h5h}h-h5ӫ,ᆳᆳރ 5Lthh-h5荫h7h-h5p<,UhKh$hhMUShh=u誯L HLH =mtuh-h%K5ѪPh-h&?5質 5Lկth<h-h5聪|ᆳ.ᆳ,ᆳᆳ<,]Uh?KhThh3USLEhhcu舮5+L@P#ELL HLH =mtuh-hJK5菩=mt5Lh-h@5h 5L芮th<h-h56<,]ULEhdKhhhULEhoKhhhULEhyKhhh躨ULEhKhhh蓨ULEhKhhhlULEhKhhhEUSLEhhu蚬5+L@P.!ELL HLH =mu,L HLH =mtuh-hK5l=mthKh-h5F苬Ph-hK5( 5LJth<h-h5<,]USLEhh1uD5+L@PELL HLH =mu,L HLH =mtuh-hL5[Ph-hK5 5Lth4h-h5ƥ<,]USLEhhFu5+L@PELL HLH =mu,L HLH =mtuh-h"L5+Ph-h@L5Ȥ 5Lth<h-h5薤<,]USLEhhYu5+L@PxELL HLH =mu,L HLH =mtuh-h_L5趣Ph-h@L5蘣h}h-h5{ 5L蝨th4h-h5I<,]USLEhhmu藧5+L@P+ELL HLH =mtuh-hzL5螢Ph-hL5耢h}h-h5c 5L腧th<h-h51<,]ULEhLhhhUSLEhhuX5+L@PELL HLH =mtuh-hL5_褦Ph-hL5A 5Lcth<h-h5<,]ULEhMhhhUhhu?=mtuh-h M5蒠=mth@Mh-h5l,ᆳރ 5L脥th<h-h50<,Uhhu芤=mtuh-huM5ݟh@Mh-h5ᆳރ 5Lؤth4h-h5脟<,Uhhuޣ=mtuh-hM51 5LSth<h-h5<,UhhuY=mtuh-hM5謞 5LΣth4h-h5z<,UhMhhhWUhMhhh8UhMhhhUhMhhhUShh,uWL HLH =mtuh-hM5~âPh-h&?5` 5L肢thNh-h5.<,]USLEhh:u|5+L@PELL HLH =mtuh-h#N5胜=mh{/h-h5Yh@Nh-h5<hNh-h5hOh-h5h/h-h5=|ᆳ4=|t2=|t)5|5Lh O5 褛 jW=Pᆳ|H P%LLPh-h`O5P5LhO5 4L HLH  5+5L&k|H Ph-hO5ʚLᆳh Ph-h5裚hPh-h5脚ɟPh-h&?5f<,]UhPhjhhJULEhPhhh#ULEhPhhhULEhPhhhՙUSLEhhu*5+L@PELL HLH =mtuh-hP51vPh-hK5h}h-h5 5LthNh-h5Ę<,]USLEhhu5+L@PELL HLH =mtuh-hQ5XPh-hQh-h5 h}h-h5˗ 5LthNh-h5虗<,]USLEhhu5+L@P{ELL HLH =mtuh-hZ5ނ h@ ppPoЃ h@h-h`Z5~ h@襆 ppPsЃ h@苆h-hZ5 h@E ppPwЃ h@+h-hZ5辁 h@ ppP{Ѓ h@˅h-h[5^h-h[5Ch-h [5(0 <,ppPoЃ=mu EH%t=mtbhZ5讀h-h@[5蓀h-h[5xh5b=mu`EE%9s `EELEPE.E,E죨US)+[8,+h[h-րdjh oH=Hu 5 h[ j. 5+.5.5+h. H8,4,+xm=m~: 5+58,5mh \5 ~ <,|ᆳ.ᆳ,ᆳᆳ4,8,x+=muhO\hQ\X5+58,5+hkhhY\EDž\HXHXx5+hHYHYx5+hqH> (signed short int)%s)) /* SAR */#$%X#$%02X[i]#$%03X$%X$%03Xs$7s%04X: %02Xmacros.h%s/* opINP_A_AA (%02x) */ %sregister_PC = 0x%04x /* Force consistency */; %scmp_old = flag_C = acc_a0 = register_A; #ifdef RAWIO %sregister_A = cmp_new = get_io_bit(0x%01x); #else %sregister_A = cmp_new = get_io_moveright(); %sregister_A = cmp_new = get_io_moveleft(); %sregister_A = cmp_new = get_io_moveup(); %sregister_A = cmp_new = get_io_movedown(); %sregister_A = cmp_new = get_io_fire(); %sregister_A = cmp_new = get_io_shields(); %sregister_A = cmp_new = get_io_startbutton(); #endif state = state_AA; %s%s%s/* opINP_B_AA (%02x) */ flag_C = acc_a0 = register_A; cmp_old = register_B; /* save old accB */ %sregister_B = cmp_new = (( ioSwitches >> 0x%01x ) & 0x01); %sregister_B = cmp_new = get_coin_state(); /* apparently not used in tailgunner??? */ %sregister_B = cmp_new = get_quarters_per_game(); /* 1 => 1q/game, 0 => 2q/game */ %sregister_B = cmp_new = get_shield_bit2(); %sregister_B = cmp_new = get_shield_bit1(); %sregister_B = cmp_new = get_shield_bit0(); %sregister_B = cmp_new = get_switch_bit(0x%01x); %s/* opOUTsnd_A (%02x) */ %sreset_coin_counter(%0d); %sset_sound_data(%0d); %sset_sound_addr_A(%0d); %sset_sound_addr_B(%0d); %sset_sound_addr_C(%0d); %sstrobe_sound_on(); %sstrobe_sound_off(); %sput_io_bit(/*bitno*/0x%01x, /*set or clr*/0x%01x); reset_coin_counter(register_A&1); %sset_sound_data(register_A&1); %sset_sound_addr_A(register_A&1); %sset_sound_addr_B(register_A&1); %sset_sound_addr_C(register_A&1); %sif (register_A&1) strobe_sound_on(); else strobe_sound_off(); %sput_io_bit(/*bitno*/0x%01x, /*set or clr*/register_A&1); state = state_A; %s/* opOUTbi_A_A (%02x) */ %svgColour = 0x%02x; vgColour = register_A & 0x01 ? 0x0f: 0x07; opOUT16_A_A(0!=0)opOUT64_A_AopOUTWW_A_AopOUTsnd_BopOUTbi_B_BBopOUT16_B_BBopOUT64_B_BBopOUTWW_B_BB%s/* opLDAimm_A_AA (%02x) */ cmp_old = flag_C = acc_a0 = register_A; %sregister_A = cmp_new = 0; %sregister_A = cmp_new = 0x%04x; %sregister_A = cmp_new = 0x%04x; /* pick up immediate value */ state = state_AA; /* swap state and end opcode */ %s/* opLDAimm_B_AA (%02x) */ cmp_old = register_B; /* step back cmp flag */ %sregister_B = cmp_new = 0; %sregister_B = cmp_new = 0x%04x; %sregister_B = cmp_new = 0x%04x; /* pick up immediate value */ %s/* opLDAdir_A_AA (%02x) */ cmp_old = flag_C = acc_a0 = register_A; /* store old acc */ %sregister_A = cmp_new = ram[register_I = 0x%02x]; /* set I register */ %sregister_A = cmp_new = ram[register_I = (register_P << 4) + 0x%02x]; /* set I register */ %s/* opLDAdir_B_AA (%02x) */ %sflag_C = acc_a0 = register_A; cmp_old = register_B; /* store old acc */ %sregister_B = cmp_new = ram[register_I = (register_P << 4) + 0x%02x]; /* new acc value */ %s/* opLDAirg_A_AA (%02x) */ register_A = cmp_new = ram[register_I]; %s/* opLDAirg_B_AA (%02x) */ cmp_old = register_B; register_B = cmp_new = ram[register_I]; %s/* opADDimm_A_AA (%02x) */ %scmp_new = 0x%01x; cmp_old = acc_a0 = register_A; register_A = 0x%03x; flag_C = 0x1000; register_A = flag_C = 0x%04x; %sregister_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = 0x%01x))) & 0xFFF; /* add values, save carry */ %s/* opADDimm_B_AA (%02x) */ %sacc_a0 = register_A; /* save old accA bit0 */ %scmp_old = register_B; /* store old acc for later */ %sregister_B = (flag_C = (register_B + (cmp_new = 0x%02x))) & 0xFFF; /* add values */ %s/* opADDimmX_A_AA (%02x) */ %scmp_old = register_A; cmp_new = 0x%02x; %sregister_A = (flag_C = (acc_a0 = 0x%04x)) & 0xFFF; %sregister_A = flag_C = acc_a0 = 0x%04x; %sregister_A = (flag_C = ((acc_a0 = cmp_old = register_A) + (cmp_new = 0x%04x))) & 0xFFF; /* add values */ %s/* opADDimmX_B_AA (%02x) */ %scmp_old = register_B; acc_a0 = register_A; /* save old accA bit0 */ %scmp_new = 0x%02x; %sregister_B = (flag_C = 0x%04x) & 0xFFF; cmp_new = 0x%02x %sregister_B = flag_C = 0x%04x; cmp_new = 0x%02x; /* No carry */ %s/* opADDdir_A_AA (%02x) */ %sregister_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = ram[register_I = 0x%02x]))) & 0xFFF; /* do acc operation */ %sregister_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = ram[register_I = (register_P << 4) + 0x%01x]))) & 0xFFF; /* do acc operation */ %s/* opADDdir_B_AA (%02x) */ acc_a0 = register_A; /* store old acc value */ %sregister_B = (flag_C = ((cmp_old = register_B) + (cmp_new = ram[register_I = 0x%02x]))) & 0xFFF; /* do acc operation */ %sregister_B = (flag_C = ((cmp_old = register_B) + (cmp_new = ram[register_I = (register_P << 4) + 0x%02x]))) & 0xFFF; /* do acc operation */ %s/* opAWDirg_A_AA (%02x) */ cmp_old = acc_a0 = register_A; %sregister_A = (flag_C = (register_A + (cmp_new = ram[0x%02x]))) & 0xFFF; register_A = (flag_C = (register_A + (cmp_new = ram[register_I]))) & 0xFFF; set_watchdog(); %s/* opAWDirg_B_AA (%02x) */ acc_a0 = register_A; register_B = (flag_C = (register_B + (cmp_new = ram[register_I]))) & 0xFFF; %s/* opSUBimm_A_AA (%02x) */ %sregister_A = (flag_C = (register_A + (((cmp_new = 0x%01x) ^ 0xFFF) + 1))) & 0xFFF; /* 1's-comp add */ %s/* opSUBimm_B_AA (%02x) */ %sacc_a0 = register_A; %sregister_B = (flag_C = ((cmp_old = register_B) + ((cmp_new = 0x%01x) ^ 0xFFF) + 1)) & 0xFFF; /* 1's-comp add */ %s/* opSUBimmX_A_AA (%02x) */ %scmp_old = acc_a0 = register_A; /* back up regA */ %sregister_A = (flag_C = (register_A + (((cmp_new = 0x%02x) ^ 0xFFF) + 1))) & 0xFFF; /* add */ %s/* opSUBimmX_B_AA (%02x) */ %sregister_B = (flag_C = ((cmp_old = register_B) + (((cmp_new = 0x%02x) ^ 0xFFF) + 1))) & 0xFFF; /* add */ %s/* opSUBdir_A_AA (%02x) */ %sregister_A = (flag_C = (register_A + ((cmp_new = ram[register_I = 0x%02x]) ^ 0xFFF) + 1)) & 0xFFF; /* set regI addr */ %sregister_A = (flag_C = (register_A + ((cmp_new = ram[register_I = (register_P << 4) + 0x%01x]) ^ 0xFFF) + 1)) & 0xFFF; /* set regI addr */ %s/* opSUBdir_B_AA (%02x) */ %sregister_B = (flag_C = ((cmp_old = register_B) + ((cmp_new = ram[register_I = (register_P << 4) + 0x%02x]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */ %s/* opSUBirg_A_AA (%02x) */ register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + ((cmp_new = ram[register_I]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */ %s/* opSUBirg_B_AA (%02x) */ register_B = (flag_C = ((cmp_old = register_B) + ((cmp_new = ram[register_I]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */ %s/* opCMPdir_A_AA (%02x) */ /* * compare direct mode; don't modify regs, just set carry flag or not. */ %scmp_old = acc_a0 = register_A; /* backup old acc */ %sflag_C = (((cmp_new = ram[register_I = (register_P << 4) + 0x%01x]) ^ 0xFFF) + 1 + register_A); %sflag_C = (((cmp_new = ram[register_I = 0x%02x]) ^ 0xFFF) + 1 + register_A); %s/* opCMPdir_B_AA (%02x) */ %sflag_C = ((((cmp_new = ram[register_I = (register_P << 4) + 0x%01x]) ^ 0xFFF) + 1) + (cmp_old = register_B)); /* ones compliment */ %s/* opANDirg_A_AA (%02x) */ register_A &= (cmp_new = ram[register_I]); %s/* opANDirg_B_AA (%02x) */ register_B &= (cmp_new = ram[register_I]); %s/* opLDJimm_A_A (%02x) */ %sregister_J = 0x%04x; opLDJimm_B_BB%s/* opLDJirg_A_A (%02x) */ %s/* WARNING: DYNAMIC JUMP TABLE. NEEDS HAND-TWEAKING */ /* load J reg from value at last dir addr */ %sregister_J = ram[0x%02x]; register_J = ram[register_I]; if ((register_J & (~0xfff)) != 0) ERROR("Ram value must have been > 12 bits!\n"); %sif (debug) fprintf(stderr, "%%04x J set to 0x%%03x from ram[0x%%02x]\n", register_PC, register_J, register_I); %s/* opLDJirg_B_BB (%02x) */ register_J = ram[register_I] & 0xFFF; state = state_BB; %s/* opLDPimm_A_A (%02x) */ opLDPimm_A_AImmOpd < 16%sregister_P = 0x%01x; /* set page register */ %s/* opLDPimm_B_BB (%02x) */ /* load page register from immediate */ %s/* opLDIdir_A_A (%02x) */ %sregister_I = ram[0x%02x]&0xff; /* set new register_I (8 bits) */ %sregister_I = ram[(register_P << 4) + 0x%02x]&0xff; /* set/mask new register_I */ %s/* opLDIdir_B_BB (%02x) */ { CINEBYTE temp_byte = (register_P << 4) + /* get ram page ... */ %s (0x%02x & 0x0F); /* and imm half of ram addr.. */ register_I = ram[temp_byte] & 0xFF; /* set/mask new register_I */ } %s/* opSTAdir_A_A (%02x) */ opSTAdir_A_Aregister_P < 16%sram[register_I = 0x%02x] = %sram[register_I = (register_P << 4) + 0x%1x] = (register_A & (~0xFFF)) == 00x%03x; /* store acc to RAM */ register_A; /* store acc to RAM */ %s/* opSTAdir_B_BB (%02x) */ %sram[register_I = (register_P << 4) + 0x%01x] = register_B; /* set I register and store B to ram */ %s/* opSTAirg_A_A (%02x) */ %sram[0x%02x] = 0x%03x; /* store acc */ %sram[0x%02x] = register_A; /* store acc */ ram[register_I] = register_A; /* store acc */ %s/* opSTAirg_B_BB (%02x) */ %sif (register_I != 0x%02x) ERROR("Error in I\n"); %sram[0x%02x] = register_B; /* store acc */ ram[register_I] = register_B; /* store acc */ %s/* opXLT_A_AA (%02x) */ * XLT is weird; it loads the current accumulator with the bytevalue * at ROM location pointed to by the accumulator; this allows the * program to read the program itself.. * NOTE! Next opcode is *IGNORED!* because of a twisted side-effect %scmp_old = register_A; register_A = cmp_new = 0x%02x; /* new acc value */ %sif (debug) fprintf(stderr, "%%04x A set using XLT but target known at compile time?\n"); %sif (debug) fprintf(stderr, "%%04x A set to 0x%%03x from rom[0x%%04x]\n", register_PC, rom[(register_PC & 0xF000) | register_A], (register_PC & 0xF000) | register_A); %scmp_old = register_A; register_A = cmp_new = rom[0x%04x | register_A]; /* new acc value */ %scmp_old = register_A; register_A = cmp_new = rom[register_A]; /* new acc value */ %sregister_PC = 0x%04x; /* bump PC twice because XLT is fucked up */ %s%s; opXLT_B_AA%s/* opMULirg_A_AA (%02x) */ cmp_new = ram[register_I]; register_B <<= 4; /* get sign bit 15 */ register_B |= (register_A >> 8); /* bring in A high nibble */ %sregister_A = ((register_A & 0xFF) << 8) | (0x%02x); /* pick up opcode */ if (register_A & 0x100) /* 1bit shifted out? */ { acc_a0 = register_A = (register_A >> 8) | ((register_B & 0xFF) << 8); register_A >>= 1; register_A &= 0xFFF; 4register_B%sregister_B = %s; cmp_old = register_B & 0x0F; 1register_B &= 0xFFF; flag_C = (register_B += cmp_new); } else { register_A = (register_A >> 8) | /* Bhigh | Alow */ ((register_B & 0xFF) << 8); cmp_old = acc_a0 = register_A & 0xFFF; flag_C = (cmp_old + cmp_new); 5opMULirg_B_AA%s/* opLSRe_A_AA (%02x) */ * EB; right shift pure; fill new bit with zero. cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A); %s/* opLSRe_B_AA (%02x) */ cmp_new = 0x0BEB; acc_a0 = register_A; cmp_old = register_B; flag_C = (0x0BEB + register_B); register_B >>= 1; opLSRf_A_AAopLSRf_B_AA%s/* opLSLe_A_AA (%02x) */ * EC; left shift pure; fill new bit with zero * cmp_new = 0x0CEC; flag_C = (0x0CEC + register_A); register_A = (register_A << 1) & 0x0FFF; %s/* opLSLe_B_AA (%02x) */ cmp_new = 0x0CEC; acc_a0 = register_A; cmp_old = register_B; flag_C = (0x0CEC + register_B); register_B = (register_B << 1) & 0xFFF; opLSLf_A_AAopLSLf_B_AA%s/* opASRe_A_AA (%02x) */ cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A; register_A = SEX(register_A); /* make signed */ register_A%sregister_A = (%s) & 0xFFF; %s/* opASRe_B_AA (%02x) */ cmp_new = 0x0DED; register_B = SEX(register_B); %sregister_B = (%s)&0xFFF; opASRf_A_AAopASRf_B_AA%s/* opASRDe_A_AA (%02x) */ * Arithmetic shift right of D (A+B) .. B is high (sign bits). * divide by 2, but leave the sign bit the same. (ie: 1010 -> 1001) cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A); register_A = (register_A >> 1) | ((register_B & 1) << 11); register_B = (register_B >> 1) | (register_B & 0x800); opASRDe_B_AAopASRDf_A_AAopASRDf_B_AA%s/* opLSLDe_A_AA (%02x) */ /* LSLDe -- Left shift through both accumulators; lossy in middle. */ cmp_new = 0x0FEF; cmp_old = acc_a0 = register_A; flag_C = (0x0FEF + register_A); register_A = (register_A << 1) & 0xFFF; register_B = (register_B << 1) & 0xFFF; opLSLDe_B_AA%s/* opLSLDf_A_AA (%02x) */ /* LSLDf */ CINEWORD temp_word = 0xFFF; cmp_new = temp_word; flag_C = (temp_word + register_A); register_A <<= 1; register_A &= 0x0FFF; register_B <<= 1; register_B &= 0x0FFF; opLSLDf_B_AA%s/* opJMP_A_A (%02x) */ opJMP_B_BB%s/* opJEI_A_A (%02x) */ opJEI_B_BBopJEI_A_BopJMI_A_AopJMI_AA_AopJMI_BB_AopJMI_B_BB%s/* opJLT_A_A (%02x) */ /* jump if old acc less than new acc */ %sif (cmp_new < cmp_old) %s; %s/* opJLT_B_BB (%02x) */ %s/* opJEQ_A_AA (%02x) */ %sif (cmp_new == cmp_old) %s; %s/* opJEQ_B_BB (%02x) */ %s/* opJA0_A_A (%02x) */ %sif (acc_a0 & 0x01) %s; opJA0_B_BB%s/* opJNC_A_AA (%02x) */ %sif (!(flag_C & CARRYBIT)) %s; opJNC_B_BB%s/* opJDR_A_A (%02x) */ /* We don't need to simulate this too accurately */ %s/* opJDR_B_BB (%02x) */ %s/* opNOP_A_A (%02x) */ %s/* opNOP_B_BB (%02x) */ opJPP32_A_BopJPP32_B_BBopJPP16_A_BopJPP16_B_BB%s/* opJMP_A_B (%02x) */ state = state_B; %s/* opJPP8_A_B (%02x) */ * "long jump"; combine P and J to jump to a new far location (that can * be more than 12 bits in address). After this jump, further jumps * are local to this new page. %04x: Translated jump to a wrong page: P = 0x%02x %sregister_PC = 0x%04x; /* rom offset */ Setting TAG_JUMPTARGET_B bit on 0x%04x %sregister_PC = register_J + 0x%04x; /* rom offset */ /* WARNING: UNKNOWN JUMP DESTINATION - MAY FOUL UP CODE OPTIMISATIONS */ register_PC = register_J + (((register_P & 0x03) - 1) << 12); opJPP8_B_BBopJMI_A_BopJMI_AA_BopJMI_BB_B%s/* opJLT_A_B (%02x) */ %s/* opJEQ_A_B (%02x) */ if (cmp_new == cmp_old) %s; %s/* opJA0_A_B (%02x) */ %sif (acc_a0 & A0BIT) %s; %s/* opJNC_A_B (%02x) */ opJDR_A_B%s/* opNOP_A_B (%02x) */ %s/* opLLT_A_AA (%02x) */ {CINEBYTE temp_byte = 0; for (;;) { if ( (((register_A >> 8) & 0x0A) && (((register_A >> 8) & 0x0A) ^ 0x0A)) || (((register_B >> 8) & 0x0A) && (((register_B >> 8) & 0x0A) ^ 0x0A)) ) break; register_A <<= 1; register_B <<= 1; if (!(++temp_byte)) break /* This may not be correct */; vgShiftLength = temp_byte & 0xfff; register_A &= 0x0FFF; register_B &= 0x0FFF; opLLT_B_AA%s/* opVIN_A_A (%02x) */ /* set the starting address of a vector */ FromX = register_A & 0xFFF; /* regA goes to x-coord */ FromY = register_B & 0xFFF; /* regB goes to y-coord */ opVIN_B_BB%s/* opWAI_A_A (%02x) */ /* wait for a tick on the watchdog */ fprintf(stderr, "%04x ClearScreen();\n", register_PC); #ifndef DUALCPU CinemaClearScreen(); bNewFrame = 1; bailOut = TRUE; %sregister_PC = 0x%04x; continue%s%s; /* NOT REALLY A JUMP - ACTUALLY FOR GETTING BACK TO POLLING LOOP - NEEDS WORK */ opWAI_B_BB%s/* opVDR_A_A (%02x) */ /* set ending points and draw the vector, or buffer for a later draw. */ int ToX = register_A & 0xFFF; int ToY = register_B & 0xFFF; /* Sign extend from 20 bit CCPU to 32bit target machine */ FromX = SEX(FromX); ToX = SEX(ToX); FromY = SEX(FromY); ToY = SEX(ToY); /* figure out the vector */ ToX -= FromX; vgShiftLengthToX%sToX = %s; ToX += FromX; ToY -= FromY; ToY%sToY = %s; ToY += FromY; /* render the line */ CinemaVectorData (FromX, FromY, ToX, ToY, vgColour); opVDR_B_BBfprintf (stderr, "Out of range JPP!\n"); Out of range JPP! /* state = state; */ EXPLORING 1000 DECODING 1000 /*********************************************************/ L%04x: case 0x%04x: /* romflags %04x */%s/* %s */ %sstate = state_A; /* Even if it's not! :-) */ #ifdef BEFORE %straceregs(register_A, register_B, register_P, register_I, register_J, flag_C, acc_a0, cmp_new, cmp_old, ccpu_ICount); #ifdef TRACING %straceinst("%s"); %sif (state == state_A) { %s} else if (state == state_AA) { %s} else if (state == state_B) { %s} else if (state == state_BB) { %s} else { %s /* error */ %s} %straceregs(register_A, register_B, register_P, register_I, register_J, flag_C, acc_a0, cmp_new, cmp_old, ccpu_ICount); %stracenl(); tailgunr Not enough memory for rom flags! Compilation pass %d; start = %04x end = %04x wdevnulltailgunr.jmpWe need a tailgunr.jmp file containing integers, one per line Added from file: %d ('%s', 0x%04x) tailgunr.jmp appears to be empty tailgunr-ops.cgoto *lab[register_PC]; dispatch-ops.hstatic void *lab[0x2000] = { &&L%04x, &&Lelse, }; ROMFLAGS[1000] = %04x 9999999999999999&&&&&&&&&&&&&&&&Ĩ]#;~f9xϫϫϫϫϫϫϫϫϫϫϫϫϫϫϫϫaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbboooooooooooooooo$:uCͤT$7$:uCͤ9999999999999999&&&&&&&&&&&&&&&&Ĩ]k#;~f9xϫϫϫϫϫϫϫϫϫϫϫϫϫϫϫϫaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbboooooooooooooooo$:uCͤT$7$:uCͤ3wİİİİİİİİİİİİİİİ  i  iˬˬˬˬˬˬˬˬˬˬˬˬˬˬˬˬzzzzzzzzzzzzzzzz################aaaaaaaaaaaaaaaa4444444444444444>>m0V>m59999999999999999&&&&&&&&&&&&&&&&Ĩ][#;~f9xϫϫϫϫϫϫϫϫϫϫϫϫϫϫϫϫaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvbbbbbbbbbbbbbbbboooooooooooooooo$:uCͤT$7$:uCͤ  !%)-159=AEIMQUY]afkpuz                 !"#$%&'                                              W HW!]!D Xy͏ , _ ӈӂ!!HP\@P FP]!HPX__W@`Z0!E`]+W!N]      O] B]\O\1/҇! C] F]\C\1/҇! G!] J!]\G!\1/҇!ЇN1[ @AZ ѡ!(WKQZDa[$K[WWW1"AW!]e!(A[`$F[WWW1"OW!]f挦 O]]4O[5O]W0N!J] f`_WW" HA[FX ?" tg!_0֥_0!__ CB^e!__ NR^fKAX @`pa$a$ܾ$#$#$RB$;RB$ii$$;0L["M[%]!! KXM] @͂P%J@] %X_I]\c[I#]\c[I3]\c[Oh\!Oh\\!8Gs]Cs\ Mc\/Hc\1FsX7FsX0gFsX WWAZ0C!F] ؠW"_F\pӦ!_qԣW`Wa`a戳MWZBX @` @ @@ `  NT\D$\]] M AD\]] M NT\]] M F\G\NdZ xEX! EXMXLZoW0!G]CYnDX~"A\MXxL[~'D[ؽXjF[]D[FXkK[ ]H[ KX G5[C5[ F5[G5X  ,AU[ME[ Խ@U[AUX ,mWl0OUZCu\1DXD]\D\)#ЯO\I]\֤!""L] 1@ X!0d!B]HF\0ӆ  @ZW"_O\0s`ܦ!_0taݬWcWdcd@X!_HF\0`Ӧ!_0a@Xvvblvllvl{{v{vv{vI\MV\&[!OVX! 딢WWգuWW֤vWAZM\F]\֤"1"J] Ԁ A@ X CX!0d!@]M\!D'\ WWjWիWsF[ަtWF[n3D]eWfDX!s׫tا Ѫҫh٪gn ܢWOGZ0 !DW]sWDg[rOg[m3Jw]bWcҩӼXjԨk IGXg~Ԩk IGXԫ١IGXsWWcWKZF\@]\֤2!"C] Q@ X!0d!I]EX\!N8\ @WWjWիWs@([ަtW@8[n3EX]eWfEXXs׫tا UK7XMX\1M\"N[%]HX  NTX"I[%] KX"M[%]HX_M]H]]]F]N]  !  @PWWWWWWWWWWF X 0@P`p 0 6 #& .K !e K w# ʥ : U 6 #K 6AW w#] !e~H#~E#~X*}|{ "!{ ͊ !ʦ =¥ ` kʥ j \͢@ w# ͅ ú n ʥ : W _ O { `i"@ w# ͅ ¥ n S n S GтWx ͢!i ~T #H  *( Ϳ *(  NEXT PC͊ =¥ `  ( Ϳ ~ Ϳ Ͱ ʵ .͍ =¥ ` |¥ }w#~ ÿ >2F͊ ! =¥ ` }ʥ +"G> Å >  !  # å ¥   Ϳ Ͱ ͊ =¥ ` xS |¥ }ҥ gA>M Ag}M M c |¥ }!w s#r:[ʎ _!~ʠ ![4á \͢  2[y 7 >?  _͢!a"]> _͢a_!`~> 5*]~#"] 0 7 Щ!ѩ!ҩ!ө!ԩ!թ"p HL[DL[0GL[HLX ֩!q Nl[Jl[0Ml[NlX ש!A] @v @w6s N\ @L[1NX!c KXܫݩ!t J\ @H[1JX!d KXWN[WB[sWK[WO [sWH[WL-[tWE=[WIM[WB][WFm[u4Щ!ѩ!uҩ)恢فՁԭC[WW!D[W1W!N[W1W!H[W1W!B[W1W!L[W1W!F[W1W!@[W1W!J[W1W!D[W1W!N[W1WKXݤ!CXWD[WJ.[wWC>[WIN[xWWtK^\B^ghW!]h1gG\#][ قw@[yG[x@[yG[4#/тk:@]!߂oj/:O]& 0] `悩!3L\X  l E[A/[ E?[n0_۪ `~COX~_ LnO/Xn0@_ ~_IOX @~_n0`_X %2>JVbmx:ͮ+GGW +GU!ͩ>̀+! @!!BH @@ABH B! "BHI$$BI$BI $ HI D$__@}XW08!E] 1 . H!X܀xxxx($xx`XXXX#A%axz0H!\!X͘_D\ ; GXG\ K GXMt\ [ }߁ցIt]!W]CZ<"1_W_!Щ!ѩ!ҩ! EuXܫݩ! EuX"BpX ئ32ӀL^#_At\0Ӧ!_0Ԧ"_0Հ"恣mWBq[WF[ctWE[WI[sWB[WF[tstkW@[WD[duWC[WG[tW@"[WD2[utumWNB[WBb[cuWAr[WE[sWN[WB[usu`ՁaցbԭC3[WW!D[W1W!N[W1W!H[W1W!B[W1W!L[W1W!F[W1W!@[W1W!J[W1W!D#[W1W!N#[W1WK3Xݤ!CXWDC[WJS[wWCc[WIs[xWWtK\BghW!] !gh恧_It\D1Z[/[ !DT]] !]]vاu"N[vWWfWՀwWWgWրWB$ZM$[F4[n3DT]0!@D]7KT]]WeWf!LXWWeWffeNX!LXXXllbbbtXt:tXƔƀllXl#0EVgx{ b:dl|Ɣ|dlN:NNlNvƊ#4@Vgpi*0 'xbxxbxƀƞnƲdbnNd#0B%Vb'x)4A]DlvvlllXpbXbD#4@%S0gpVh Zy  O[K[ O[n0_۪ `~MX~_ nIXn0@_ ~_CX @~_n0`_X %2>JVbmx SBB AN_WW v KZ08!@]J6]   3 CXSCOREDF\1!   X #  j qCX  X #  k CXJ\1DX##$1_0C] 惯_د!_ٯ"_ڄ_د!_ٯ"_څ_د!_ٯ"_ڈW!N'\!WWK'\!!N'\!懪چI\IG\:[! ̀ !#   gCXAw\1!*y9D]!!  X !#  i CX*y HPPK]E\ݫK]ZWW v !   !  CXHIGH[SCORE  X #  l -CX  X #  m KCXLY\! 2 M o CXCREDITS9B]) X 2 #   CX     딇!(   ,  CXPUSH[START!C\1 ۇ݆ۃЄЅЇۈТ*و!HPP C\ "B]3 EuXH]#ݮ; ÀWW 202MZGX!殁҇ EuXHPP   ׂH!X 0 K] `]MtX > 2 H!X z 2 H!X / }H!XGeGe?]?]#0EVgt]meeqw}tz}k#EVx}}ttktkk}}tt}k}k4%gx}}}kq}qkk}kk_k_}\rVrYrYkMkM}Y}#EVgWFZ~1!M]  A+]!_ױKk\0@Nk] 9X1Kk\ׯ1Ck\1L;\M;X/B[^H[\!ާ 0CX1B[\ [CX#ߥ!BKXX )g_ !_A\ !_d٬_cWKZ/ !_dyۭ_cxڪWhWiJ{X)d٦c#WKZI X      t@ PyNIZY@ .YYiN@ Wy@ P= T ~ NHY.s>'z~T &% *7+015!T;@DINMSVY^aeh .  B ! %) !ߠp pp% `` `@@@) `` `@ @@Ҁ *    EXCZMEIABDHSP_E\ هӃ݄݅ӄӅӂWbWWW ؅x څڃڂM^^K^^0 ՃH[ х DX0 ԃ҅0 ՅՄJX0х ԄԅHX ҅ ԃՂԂWbWWWң ކHO[N?[@?[A/[ <ކ0`AOX 8ކ0AOX 0ކ0AOXn患Lo^O_^ #Ԯ, 9CX Ԯ( CXM^ Ԯ$ CX' ЄЅI\ ]/ނքօ ~'n!_W_'ЁP@ABH B! "BHI$$BI$BI $ HI D$  d(|܁ ooorħ΅ޅ.>N^n~ΆކGCC: (GNU) 3.3.1 (SuSE Linux)GCC: (GNU) 3.3.1 (SuSE Linux)GCC: (GNU) 3.3.1 (SuSE Linux)GCC: (GNU) 3.3.1 (SuSE Linux)GCC: (GNU) 3.3.1 (SuSE Linux)GCC: (GNU) 3.3.1 (SuSE Linux)GCC: (GNU) 3.3.1 (SuSE Linux) ",d D!{p $z!oy_IO_stdin_used6{ E__libc_csu_init~__libc_csu_finik B../sysdeps/i386/elf/start.S/usr/src/packages/BUILD/glibc-2.3/csuGNU AS 2.14.90.0.5qDD!dGintQ_VvOwV/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S/usr/src/packages/BUILD/glibc-2.3/csuGNU AS 2.14.90.0.5f&0p !int7Vy,p  U@yiA,V ,J 0UiL,V     w /usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.S/usr/src/packages/BUILD/glibc-2.3/csuGNU AS 2.14.90.0.5%% $ > $ > 4: ; I?  &I%% $ > : ; I$ > .? : ; ' @  U4: ; I4: ; I &I I ! '  I4: ; I? < %S/ ../sysdeps/i386/elfstart.S .01:"VWYX   init.cC /usr/src/packages/BUILD/glibc-2.3/cc/csucrti.Sd3,Wd#,:D ,Wdd,,-Y /usr/lib/gcc-lib/i586-suse-linux/3.3.1/includeelf-init.cstddef.hp +j+[8Ke;VuVV kC /usr/src/packages/BUILD/glibc-2.3/cc/csucrtn.Sz | p XAB IP `AB FNOshort unsigned intunsigned char/usr/src/packages/BUILD/glibc-2.3/csushort intlong long intlong long unsigned int_IO_stdin_usedGNU C 3.3.1 (SuSE Linux)__libc_csu_finisize_t__init_array_end__init_array_startelf-init.c__fini_array_end__libc_csu_init__fini_array_startsize !X.symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.data.eh_frame.dynamic.ctors.dtors.jcr.got.bss.comment.debug_aranges.debug_pubnames.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_ranges# 1((7 ܁?||Gorr4To@c l  up`{  Ddd&O m: ħd    _!8!X 0!+""9x)" (> (܁|r    d mħ  !">ITII>I>D "0=mA$Mp c o|@ >no 9i &r "Ĩo 1I ? N \  i] rP { # ;+ ~ f   P  V 90   x ϫ a "v / 8b6 Fm To a{ n x  $ : u   C  ͤ F Tc  $m ) 67 @ L X d q ~kP P  H 3  w İ    P   0 iM )' 4' ? J Uˬ cz q  5 # aX 4 > >8    m !  % 3 A O0 [ g1 s  V 5     [P P  `` ȅ+$- 0 =؅gOY܇z ` ip' {ħm+++ ! mm+Q#D<mI ` YmfZ omz4,< 8,' H^` '  <, q ܞ    !% - m6 A B L @,_ q >' | @  m 1 D H m L  P T (j  8O M  `. H@ LN `,a mt `| p X  d h :7 ' l }  X m p h D  * VH 5 m @ tI xP d V x<g 'y ' 5S  | e' @  ' P '  Q  " ,-  9 K R 0 i  . ȆC  -  . ؆2 m   . % . 1$  ,  8 mE Y qr  ~ 0/usr/src/packages/BUILD/glibc-2.3/cc/config.habi-note.S/usr/src/packages/BUILD/glibc-2.3/cc/csu/abi-tag.hinit.c/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S/usr/src/packages/BUILD/glibc-2.3/cc/csu/defs.hinitfini.ccall_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST__p.0completed.1__do_global_dtors_auxframe_dummy__CTOR_END____DTOR_END____FRAME_END____JCR_END____do_global_ctors_aux/usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.Stranslate.cccpu_cyclescineopsopLDAimm_A_AAopINP_A_AAopADDimmX_A_AAopADDimm_A_AAopSUBimmX_A_AAopSUBimm_A_AAopLDJimm_A_AtJPP_A_BtJMI_A_BopJDR_A_BopJLT_A_BopJEQ_A_BopJNC_A_BopJA0_A_BopNOP_A_BopJMP_A_AtJMI_A_AopJDR_A_AopJLT_A_AopJEQ_A_AopJNC_A_AopJA0_A_AopNOP_A_AopADDdir_A_AAopSUBdir_A_AAopLDPimm_A_AtOUT_A_AopLDAdir_A_AAopCMPdir_A_AAopLDIdir_A_AopSTAdir_A_AopVDR_A_AopLDJirg_A_AopXLT_A_AAopMULirg_A_AAopLLT_A_AAopWAI_A_AopSTAirg_A_AopAWDirg_A_AAopSUBirg_A_AAopANDirg_A_AAopLDAirg_A_AAopLSRe_A_AAopLSLe_A_AAopASRe_A_AAopASRDe_A_AAopLSLDe_A_AAopVIN_A_AopLSRf_A_AAopLSLf_A_AAopASRf_A_AAopASRDf_A_AAopLSLDf_A_AAtJMI_AA_BtJMI_AA_AopLDAimm_B_AAopINP_B_AAopADDimmX_B_AAopADDimm_B_AAopSUBimmX_B_AAopSUBimm_B_AAopLDJimm_B_BBtJPP_B_BBtJMI_B_BB1opJDR_B_BBopJLT_B_BBopJEQ_B_BBopJNC_B_BBopJA0_B_BBopNOP_B_BBopJMP_B_BBopADDdir_B_AAopSUBdir_B_AAopLDPimm_B_BBtOUT_B_BBopLDAdir_B_AAopCMPdir_B_AAopLDIdir_B_BBopSTAdir_B_BBopVDR_B_BBopLDJirg_B_BBopXLT_B_AAopMULirg_B_AAopLLT_B_AAopWAI_B_BBopSTAirg_B_BBopAWDirg_B_AAopSUBirg_B_AAopANDirg_B_AAopLDAirg_B_AAopLSRe_B_AAopLSLe_B_AAopASRe_B_AAopASRDe_B_AAopLSLDe_B_AAopVIN_B_BBopLSRf_B_AAopLSLf_B_AAopASRf_B_AAopASRDf_B_AAopLSLDf_B_AAtJMI_BB_BtJMI_BB_Arombuffer.0buffer.1fileNameelf-init.catol@@GLIBC_2.0opOUTbi_A_AopOUTbi_B_BBstrchr@@GLIBC_2.0this_pagestrlwrprintOpcExtd_fopJMI_BB_B_DYNAMICregister_Bcodefilecontext_register_JpassgamenameendAdr_fp_hwobjidxrequire_note_statefprintf@@GLIBC_2.0load_invariants__fini_array_endbeforeDspBfr__assert_fail@@GLIBC_2.0__dso_handle__libc_csu_finidisp_opcodesprintObjccpu_msizeoldStartprintModestartAdropJEI_A_Bdebugtolower@@GLIBC_2.0opOUT64_A_AopJMI_AA_B_initstateopJPP32_A_Bdo_internal_testopOUT16_B_BBopJPP32_B_BBfscanf@@GLIBC_2.0startedslave_pcopOUT16_A_ADecodeTblcontext_register_Pstderr@@GLIBC_2.0opJMI_AA_AinFileopOUT64_B_BBcommentsdissOpcodeImmOpdromFlagstracingregister_PC_startregister_Jromidxfgets@@GLIBC_2.0opOUTWW_B_BBfputs@@GLIBC_2.0opOUTsnd_Acontext_register_Bstrlen@@GLIBC_2.0jumptableflagcontext_register_I__fini_array_startobjSize__libc_csu_init__bss_startbrk_fiipop_indentopJMI_B_BBerrmainopJPP8_A_B__libc_start_main@@GLIBC_2.0__init_array_endopCodestrcat@@GLIBC_2.0ccpu_jmi_dipopOUTsnd_Bfilelengthdata_starttempSizeoldEnd_finilseek@@GLIBC_2.0memcpy@@GLIBC_2.0opJEI_B_BBJumpfclose@@GLIBC_2.1register_PopJMI_BB_Accpu_monitoropJPP16_B_BBopJMI_A_BloggingCyclesopJMI_A_AOpcodeNameOpcBfrcontext_register_Aexit@@GLIBC_2.0register_AopJPP8_B_BBcalloc@@GLIBC_2.0_edata__i686.get_pc_thunk.bx_GLOBAL_OFFSET_TABLE__endmemset@@GLIBC_2.0opJEI_A_Acur_tabsopJMP_A_Bregister_Ifopen@@GLIBC_2.1__init_array_start_IO_stdin_usedpush_indentnameLenSARromSizesprintf@@GLIBC_2.0exploreopOUTWW_A_A__data_start_Jv_RegisterClasses__ctype_b_loc@@GLIBC_2.3opJPP16_A_B__gmon_start__strcpy@@GLIBC_2.0