8__PAGEZEROH__TEXT__text__TEXT"tO__cstring__TEXTqa__literal8__TEXT(__const__TEXT@H__DATA__data__DATA __dyld__DATA  __bss__DATA@__common__DATAЛ__IMPORT__pointers__IMPORT8__jump_table__IMPORT888__LINKEDIT /usr/lib/dyld 4]EX/usr/lib/libSystem.B.dylib PY](ܦ1<(P"j]\$ML$ˉ\$UWVS,} ]E =uqU%  ЋU 1ļ[^_]ÍOD$U$i1ҋ}у9U T$MD$E$i1uEЉD$=OD$U$hKUf(f.E\ukziE 1+VR F @ FBl4f>t UЉUED$M$rhfu\f(fTU\f.M\Yf(fTf.sf(Mf(f(fTf.vXf(fTf.wMY]\ $gU 1FED$M$gfU1ED$M$gUf~N vtM\VUWVS<[aurID$a$(gƅD$ D$D$ g$fI$0g4$Fg<[^_]ËaD$qI$fID$a$fƅvaD$I$f<[^_]Ét$ D$D$E$5fRt$ D$D$f$ f't$ D$D$g$eauLE䋻gfffW ƒfWƒfWfGau1H$eI$eI$eGD$GD$ GD$D$IG$[e$ @e1EUWVS|[_d@fEdJTddV@Gf _Eu ŀʁUUf}G^}ǁtE ;;  !J|G$ddBD$BD$ BD$D$E$c$ cǃ1_|[^_]ÉB} ZU\}Љ8U% lj E1dǃ___u[dP=;BdfBpD-|[^_]ǃ%_|[^_]ǃ5_ƋEڋdEމBEfB뫋dB@ЍG}dB@8U}ЉE_d>FdEڋBEBfE}fDEfEEfEdEdOс EȋẼp _ / / / / / / h h h h h h h h M_sdf}uf>Ef8ƋUfUԉff% 6fuf f% Ƌ_<f-f=vEf-f=_ǃ!_E_d6ƃ?Ed8x_UT0 xED$ $T2D-_-_d}% Љ1drE _dV0Eu:_u0uf-f=EЅtUft ffEf%fE fEfEfEdE_u@uf-f=PMЅtUft f4d$dd1ɋ% P1ρ?Y<00  M   E_u0Uf-f=nEЅtuft fRdBсE%) Љ1dDE4_u0Uf-f=EЅtuft fd%! 1du_u@Uf-f=jUЅtuft fNd>d.%dׁ 01@E\_u0Uf-f=EЅtuft fdсE%)ׁ 1dM_u0Uf-f=PEЅtuft f4d$сE%M=_u0Uf-f=EЅtuft fd% ǃ)_1d1% ‰1dEu)_udFD7UdT$ $UT D-_-_+d&1dQEu)d_uDt d ED$ $TD-_-_d E1d dxdd d|Uxf9}f9uEf8Uf21ddd dsdd{ddud/ЙvfufUWVS[8D$GS$XEv OSDSxkXD4txUT$D$ $0Xa ;֋xt FO)ȅ2S€tD$@$XuẺD$ED$EЉD$EԉD$E؉D$ E܉D$<D$x $Wƃ4} *E܅E؅ EԅEЅ=D$ x<$}WDž7S93S|Aǃ7S7SPT$;S$V;Sb C<D$<$WGD$3SP;ST$V3SP;SfD3SP;SEfы3SP;SEfD3SP;SEfD3SP;SEfD53SP;SẺD 3Sx|D$ D$3SD$;S$UOSTxut$D$<$rUty <lxt FO)ȅtJD$:x $U…txF9ut$D$<$Tu3D$ D$0?SD$wX$%UOSeOSOSU$U1ļ[^_]FS€)kXD4uÉt$EЉD$EԉD$E؉D$ E܉D$<D$x<$RTU܅}tM؅i`EԉpOF}Љ}8,?St=@wXfD8fT8fL8 pfT8 MfL8t$D8$gS?S@@,@!@@u|t$}}|$ ut$<D$xE$+SR?S@wXUwXT|t$?S@wX}D8!$R=ut FO)ȅ,?S@uD0?SxD$@${RGSD$;$BRSx$ RO$ R=$,R=$R3S$ Q=$Q=$Q?SEwXU׍8M=u;tg>$zQ$ _QEE0E;?SzwXE4@ >QBD$BD$ BD$AD$U$Qt>t$M $Qu}>$P}G$5'URwXD!D$7>$P ?SD$=$mP~3SD$G<$PPOSGSD$g<$*Pxi118E=UM;SBD$BD$ BD$D$ $O;SD$E$OƘ;3S|}wXD!D$>$~O/=$kOuFD$=$NOss=$;O`GSD$;$ORMIwXD!D$O>$Np3SP;SD t$<D$M $N?S@wX0UT07Sb=put FO)ȅ?S@MD||$ ED$<D$U$Nu6?S@wX<$M/=ut FO)ȅu~?S@wX<$M=ut FO)ȅ?S@MD|t$ }|$G=D$E$Mu?S@wXs=ut FO)ȅ#?S@wXUWVSL[Gt L[^_]Ë L PFƉt FO)ȅt‹PFFTFFfXF G Dž,wG G G $ Kt$,2$K G82$KX,\2$KLD$ T$K%D$`2$5KFfnX;f)Yx;D$T$|2$J LMދPU@fE拻Ft GED$ED$ ED$EމD$$J$ oJ,9 GG|Fh, G,T$D$,$J LX$:JL[^_]NPV@ЋLB,t, Gt,o@2$IBD$BD$ BD$D$X,4$RI,%D$GD$H2$'IDHfLKpDž0)D ,0fDD$D$ FD$FD$$HƅF4n94sAhBf;Du,Bf;FuBf;Huf;JtFP4<Ѝ9F Ƙ9s;Bf;Du,Bf;FuBf;Hu˜f;Jt00 FfDžFJfJt,%D$, ,,FD$2$:G2$OGDfUED$ED$ ED$T$<$F$ FF$FqUWVS[-$F?-$FS;ES7UhM9MMċMHzp MJ9EuE D$E$PtČ[^_]u狃7At ,uԍ&D$3A$EE1EEUU&M}'9uu>E%? EUMD$ T$L$E$EtU$E5f.A*$KF$ EAD$ D$D$CF$Dt^D$-$DČ[^_]Ë3AD$s-$DEU@B 9Eu?E@UPǃAEE$Dt@NEE܀EЉD$E؉$DKF$D@M $pD@@)@R@{@@@u @t%ǃKAǃ@ǃ@E@t;ǃAǃ A@AǃKAǃ@EAKA1E.$CCǃ@ǃKAE@1Č[^_]Í.$Bǃ@ǃKAE@?.$Bǃ@ǃKAE@_.$Bǃ@ǃKAEW-$cBǃ@ǃKAE@@@@z19h@Z@L@>@0@t@+A-fnX6f)EWFEY*A\$AƋEǃAǃA?$ZA*ȍ5^^5WF@AA A{3AD$[-$@n1&%9uE%MD ?'UT$ ML$|$E$a@t1UWVS[C:$a@Džo /t$@?D$D$?$?Ƌ$@t:+?t'< O< Gʃt < t< uϋ?D4t)tD$@$T?ut'ǃ:ǃ:f :Dž::]/:O :O3 T$D$? $>?X$><#WDžE1<#@„t ?D4u3„t€tD$@$=tk~?D4PtD$@$=э' :; )tt FO)ȅ(t FO)ȅ'/t FO)ȅuzǃ/:ǃ:f :3($<Džǃ7:<$<7:$<'(t FO)ȅW/(dt FO)ȅ%K(dt FO)ȅ~$I;:o$c;u鋵tt FO)ȅ,3$-|$'$:ta14s |@|G%D$ t$T$$:ŋ<$:ǃ3:$:1[^_]Í}čuEEЀ|$4$:7:uf10 x@x1 D$ t$xD$$:FS(dt FO)ȅ%[(dt FO)ȅ_(dt FO)ȅc(dt FO)ȅE؉D$E܉D$ ED$ED$4$DEtaEt fE܅t fE؅t;?ut$($8uDž1릉t$($8Džt$k($g8Dž` (dt FO)ȅu9(D$4$48ǃ:Dž )dt FO)ȅSDž+)DžhDžDžlDžlhpp?1tKf-f=w|$T$ D$T$$7upyl?h` 14K)@8Gyt$$l6ֹ)t FO)ȅut?ftf%fu荃40`b 9u苃? ? DžE؉D$E܉D$ ED$ED$4$E Džt(D$4$}5ǃ:DžA)dt FO)ȅE؉D$E܉D$ ED$ED$4$E%D$t$)$4Dž(D$4$4uǃ:Džvt$($\4DžU10c) @tF y|$$4ڋ?y{)$4?:)$4DžEt=f DžEt. E% ‰T$E܅uE܅%D$t$)$Q3DžJt$)$03Dž))dt FO)ȅE؉D$E܉D$ ED$ED$4$zEԉD$4$TMti%Uԁ ЉDž}?9MQA A A ‰T$qMt>fE f% fMf%Uf fDžM܅uՋ?9M'EfffQ ƒfQƒfQfADžt$)$~1Džw *dt FO)ȅ4$+ut$*$1^D$<$0214s |G%D$ t$|D$$0@u10 x1~ D$ |$xT$$]0t@u1gS*dt FO)ȅud$/@w/R ?о0ftf uW*$/Dž*dt FO)ȅt.*dt FO)ȅu*$c/Dž4*dt FO)ȅt|$.$.Dž<$/T$;*$.Dž__dyld_make_delayed_module_initializer_calls__dyld_mod_term_funcsHOPDIVPRORSUADDSUBCLAANDMPYTRASHFTMISTOSPQCLDTNZyaOBC.ioyaOBC.bin--helpUSAGE: yaOBC [OPTIONS] The allowed OPTIONS are: --help Display this usage info and then exit. --lvdc Emulate Apollo LVDC. (Default is Gemini OBC.) --binary=F Specifies name of file containing memory/ATM contents and HOP constant. Defaults to yaOBC.bin, which is normally produced by yaOBC itself, but can be a binary file made by yaASM also. --symbols=F Specifies the name of the listing file created by yaASM. Used to get the symbol table and source code for symbolic debugging. If absent, debugging will be non-symbolic. --run Start the emulator in a mode in which it is running the selected OBC/LVDC binary in real time. The default is to start in paused mode, immediately prior to running the first instruction. --ports=P1-PN Specifies the range of TCP/IP ports on which to listen for peripheral-emulating programs like yaPanel. Defaults to 19653-19661. -v Increase verbosity level of messages. --method=P,T This switch relates to the method by which emulated or physical peripheral devices connect to the emulated CPU. In essence, it allows different types of device drivers to be used for different XY ranges for the PRO and CLD instructions of the CPU. The P field selects the XY range by the designator of a specific peripheral device. The choices for P are ALL (meaning, all peripherals), DCS, RR, TRS, MDIU, IVI, IMU, FDI, ACME, AGE, IS, ATM, PCDP. The T field specifies the the data-transport method for the XY ranges associated with peripheral P, and the choices for it are: MEM (the default, meaning that there is no emulated or physical peripheral of type P, and so PRO/CLD are simply supposed to read/write to a special memory buffer maintained by yaOBC), TCPIP, COM1, COM2, ..., CUSTOM. The MEM choice would typically be used when merely debugging OBC software. The TCPIP choice would be used for emulated peripherals provided directly by the Virtual AGC project. The COMn choice could be used for building a physical peripheral like an MDIU or IVI. CUSTOM would relate to a compiled-in driver of a presently unknown type, such as a driver for the Orbiter spacecraft- simulation system. --io=F Specifies a file containing initial PRO/CLD values for the MEM driver of the --method switch. The default is --io=yaOBC.io, or simply all zeros if that file does not exist. --com1=P Used only with --method type RS232. P is the --com2=P name of the desired comport, such as COM1 or etc. /dev/ttyS0.-v--lvdc--run--ports=%d-%dIllegal TCP/IP port range.--binary=--symbols=--method=Sorry, --method is not yet implemented. MEM method always used.--comSorry, --comN is not yet implemented.Unrecognised switch: %s Apollo LVDCGemini OBCEmulation: %s State: running in real time.State: paused prior to first instruction.Binary file: %s No symbol table.Symbol-table file: %s TCP/IP port range: %d-%d %o-%02o-%o-%03o(paused)(running)LVDCOBC%s debugger %s> rPRO %o %o CLD %o %o wPRO %02o %09o CLD %02o %o ACCPQ%o-%o-%o-%oD-%oFYI: Location %s (LSW) was previously uninitialized. FYI: Location %s (MSW) was previously uninitialized. Note that symbols are case-sensitive to the debugger.Writing snapshot file "%s" ... wbCannot create snapshot file "%s". Sorry, LVDC not fully implemented yet.Write-error on snapshot.Finished writing snapshot file.012345670123456789%d.0123456789%lfH-Reading binary file "%s" ... rbSelected binary file "%s" not found. Unexpected end of binary file.Finished reading binary file.Program entry point: Trying to execute from ininitialized memory at Selected listing file "%s" not found. Reading source code from listing-file "%s" ... SYMBOL TABLE%o-%o-%o-%o%c%oOut of memory for the symbol table. %d lines of source code found. Reading symbols from listing-file "%s" ... OCTAL LISTING%o-%o-%o-%o,%sToo many symbols.Constant (%o), created via "%s %[^"]"Constant (%o)Uninitialized variable, created via "%s %[^"]"Uninitialized variableLeft-hand symbol, created via "%s %[^"]"Left-hand symbolHOPCSYNEQU%d symbols found. Source code----------- %s Symbol table------------, %-8s: Constant (%09o)Implementation error, created via "HOPC %s", created via "SYN %s", created via "EQU %s", implementation errorHOP=%09o (????ADR= HWM=%d VAL=%05o)ACC=%09o PQ=%09o (TMR:%d) Cycles=%ld (%.5lf seconds) (Uninitialized memory) %s %03o yaOBC emulator for Gemini OBC and Apollo LVDC computers.Built Jan 7 2012, 11:41:19Read-error on file %s. Warning: Could not read %s, zeroing PRO/CLD MEM driver. Could not create debugger thread (error %d). Program execution reached end of sector, emulation paused. PRO or CLD instruction timed out. Breakpoint on code reached. Breakpoint on data reached. PRO/CLD/SHF instruction used unimplemented XY.QUITCONTREmulation running ...STEPNEXTSNBREAKCan't parse Location field (%s). Location %s not eligible for a breakpoint. Breakpoint set at location %s. WATCHMODEANYWRITECHANGE%s is not a valid WATCHMODE mode. BREAKPOINTSBreakpoint at %o-%02o-%o-%03o. Breakpoint at PRO%02o. Breakpoint at CLD%02o. Breakpoint at ACC.Breakpoint at PQ.DELETEPRINTCan't parse Location field %s. %s: %09o %s: %05o EDITCan't parse Value field %s. COREDUMPSnapshot file %s created. I/O file %s created. ATMThe module to load must be in the range 1-7.HELPMENU?Debugger commands: HELP or MENU or ? -- Display available commands. QUIT or EXIT -- Exit the yaOBC program, saving the current state. RUN or CONT or R -- Stop pausing and resume running the emulation. STEP [N] or NEXT [N] or S [N] or N [N] -- Emulate next N instructions. BREAK Location -- Set breakpoint. WATCHMODE Mode -- Data-access types (ANY/WRITE/CHANGE) triggering breaks. BREAKPOINTS -- Display all breakpoints. DELETE [Location] -- Delete breakpoint at Location, or all. PRINT Location -- Display contents of Location. EDIT Location Value -- Modify contents of Location. COREDUMP File [IoFile] -- Save system snapshot files. ATM Module -- Load program Module from ATM into main memory. Location formats: Left-hand symbol, constant name, variable name [D-]Module-Sector-Syllable-Word HOP, ACC, PQ PROYX, CLDYX Value for EDIT: Octal constant with leading 0 Decimal constant without decimal point -> unscaled Decimal constant with decimal point -> scaled Left-hand symbol -> HOP constant Variable/constant name -> contents of the variable/constant [H-]Module-Sector-Syllable-Word -> HOP constantUnknown debugger command: %s EXITRUNמY"???AAAA                           DrHrLrPrTrXr\r`rdrhrlrprtrxr|rr2rrLL  #3"D#@)6Q]'}( * e*9)) (Ԛ-ؚAКT̚>bqML`] St)x#4|Mtpaps{`  #,:3} ' &5*;*Q9a*mG}E;a(31 l 1+Лԛ؛ܛ&@[x;:Y@]"c! '#.6FZpy{$*5Abjn X n q p qfbE`4]$Dg^cdmtjkpzawes{ln_vo|xyir}uh~_NXArgc_NXArgv___progname__dyld_func_lookup__start_environdyld_stub_binding_helperstart___keymgr_dwarf2_register_sections__cthread_init_routine__mh_execute_header_atexit_catch_exception_raise_catch_exception_raise_state_catch_exception_raise_state_identity_clock_alarm_reply_do_mach_notify_dead_name_do_mach_notify_no_senders_do_mach_notify_port_deleted_do_mach_notify_send_once_do_seqnos_mach_notify_dead_name_do_seqnos_mach_notify_no_senders_do_seqnos_mach_notify_port_deleted_do_seqnos_mach_notify_send_once_errno_exit_mach_init_routine_main_receive_samples_BinaryFile_BuildAddressFromObcHopRegister_BuildObcHopRegisterFromAddress_CldCategories_CldInputFunctionMem_CldMem_CldOutputFunctionMem_CompareSourceByAddresses_CompareSymbols_ComputeNeededCycles_CurrentCycles_CurrentStartCycles_CurrentStartTicks_CurrentTicks_DebuggerMutex_DebuggerPause_DebuggerQuit_DebuggerRun_DebuggerThreadFunction_DisplayCurrentDebuggingLocation_DisplayDebuggerPrompt_EmulatorBreakpoint_EmulatorEndOfSector_EmulatorPause_EmulatorTimeout_EmulatorUnimplementedXY_EmulatorWatchpoint_IgnoreBreakpoint_IoFile_LastDebuggedHopRegister_Lvdc_MaxSourceLines_NumSourceLines_NumSymbols_ObcOps_ParseCommandLine_ParseLocation_ParseValue_Port1_PortN_PrintAddress_ProCategories_ProInputFunctionMem_ProOutputFunctionMem_ReadBinaryFile_ReadIoFile_ReadSymbolFile_Run_RunOneMachineCycle_SetCyclesPerTick_SleepMilliseconds_SourceLines_Speedup_StepN_SymbolFile_TotalCycles_Verbosity_WatchmodeType_WriteBinaryFile_WriteIoFile_Accumulator_Binary_CyclesPerTick_DebuggerThread_DebuggerUserInput_HopRegister_PqRegister_Symbols_TmsStruct__DefaultRuneLocale___maskrune___sF___toupper_atoi_bsearch_fclose_fflush_fgets_fopen_fprintf_fread_fscanf_fwrite_lround_nanosleep_printf_pthread_create_pthread_mutex_lock_pthread_mutex_unlock_putchar_puts_qsort_realloc_sscanf_strcasecmp_strchr_strcmp_strcpy_strcspn_strncasecmp_strspn_sysconf_times_LineBuffer  8__PAGEZERO__TEXT__text__TEXT%pV\p__symbol_stub__TEXT{k__picsymbol_stub__TEXT{k$__symbol_stub1__TEXT{0k__cstring__TEXT|\l__picsymbolstub1__TEXT`@` __literal8__TEXT8__DATA__data__DATA __nl_symbol_ptr__DATA<-__la_symbol_ptr__DATALL<__dyld__DATA__bss__DATA__common__DATA8__LINKEDIT  /usr/lib/dyld 4EX/usr/lib/libSystem.B.dylib ( PZj3(i\3(%p|: x8!T!48!z8;cW{:|H |<@!= |#x|yx|+x!b <@$/}"Kx@8= 9)|H<|i|lxN!HX//A 8BH 9"}"Kx|t/@<@fx"H8/@<@;FBB/A|I|LxN!<@BB/A|I|LxN!HUQ<@B/A|I|LxN!<`8<8c|HI<| | xN!<`8@8c|4H)<`888c|HH<`8H8c|`H <`8L8c|xH<`8P8c|HA@/A,8/A H/AL/AP/A|I|Lx?;;|N!|~xHԀ8x| | xN!H//A 8BH 8b|bx|t/@=`9 9k| |t/A | 9k|t@`9)K؀Hx| | xN!/A<Lx8| | xN!/AP| | xN!,@;@A,<`8D8c|HaD/AHS}<@8xexBFx#xH9HS5=a{}N =ab }N =a{}N =a)}N =a{}N =}=9N =`k}iN |!|> x~x|8`8(Hr|`x8^8x^8|^88(8`-HqQ|`x^88`-8Hq!|N |B}=|9qx}N |B}=|9p}N |B}=|9qX}N |!|> x~x|888`-Hp|`x@8@ xBHo%<_Bd88/A^8T>+A<_8b`Hn<_8bHHn!|N |B}=|9n|}N |B}=|9n<}N |B}=|9n|}N |/!B|{x|#x!@;;??```.8PxHp/@<8cPHn8`H`<x8\Hp/@,=?I~l8BI~l;;@H`<x8\Hp/@8<_~|K<x8\Hp]/@8<_~xK<x888<8\HL/@T8a<<_=?/~ti~pAXA8`@D<8c\Hm8`H`.<8 8\xHm]/@8 <_~hK<x8 8]Hm1/@8 <_~dK<x8 8] Hm/@<8c]Hm8`H,<x88]XHl/@<8c]`Hl8`H<x8c]HKK<_8`B~l/A<_B~|/A<_8]H <_8]<8c]HJ<_B~x/A <8c]HleH```<8c]HlI<<~h8c^HJ<_~d/@<8c^,HlH<8c^@HJY<<<~t~p8c^XHJ=8` Hm8`8!p!|N ``TkTbTi>8TcDd$dN `|B}H| ^|B49`tTBH,)`UJ ^?9@}taJ)`TB<9k})})| Z|IZ.P@0<x8cUH?I[8^ K<8cUH`8`H8```8!|N ```||ky!A<<b= 8a88@`Ma)B@| TѾ@8|BXP|BI֐AY`<x8Q Hb|}y@<x;8cQ$H>)H,<_Bo/A$<;8cQHH_H```<_<<8BoЀcox"bBU)LTUkt"UJ|Kx|[x|Sx8H_/@l8a888xH_/@P<88xcoH_/@0<88xcoH_/A$```<;8cQpH^H o;/A<8cQH^xH` 8!`x|N ||{xB|#x!@|t/0@D<8OH_y|}xcxH`m@<<cxx8NH=-9H`/+A ~<_9@:HBnT\|<\AL<8cKHW<8cK=8@hf`B|JT@.|RT<|k.@XH?<8cIpH4^f<8cFH48` HX 8<_fH``?Tg>f/@ p`A8<_fH `.TdT>At,AHfT` 8B^}@H(>fTk>Hfܨ 8B|ZT<}@ 9U>pTA8|xH```,A HfTi 8\8BZ}}IH,>fTj>hfܨ 8K|RT<}}@Z UTi|ExtA d`+A <<_T:8B| .|| N @T@ ` h @H<_Bf/@88T>+@ /A ,8`A q+@ \TTT>T<8aBADA>!@H<9H l@x<_Bf/@L8T>+@ /A ,8`A q+@ <_BfĀ/A <_AHBf/@H =?!H<_/9 BfĀTA} +ցaHU)9KfT |KxdPH Tj=T|j8H`}+.+A x<_U):8B| .|| N 4P<_89AH<_fH 4<8<_9HfH @<<_Bf/@<_BfĀ/A 8H`|K/A <_9(`}CSxbf}+J | | xTN!/A8<_f/A <_9AHT H x@H<LGfĀ/A <_Bf/@(8H`|K/@H`=?!L/ALGfĀT 8H`}CSx88|K| | xN!/A8<_f<AL89H"fĀI|BxIH=?8<_9!HfH=8<_9aHfHx``@d<_Bf/@88T>+@/A ,8`A q @<_ALBfĀ/@H=?}+Kx!LHaL+fĀIt@T@Ad|(PH@d<_Bf/@88T>+@l/A ,8`A q+@H<_ALBfĀ/@H,=?}+Kx!LHaL+fĀIt@T@Ad|TTB <9|BxHIH$@d<_Bf/@88T>+@/A ,8`A q+@<_ALBfĀ/@Hx=?}+Kx!LHaL+fĀIt@T@Ad|PKL@d<_Bf/@88T>+@ /A ,8`A q+@<_ALBfĀ/@H=?}+Kx!LHaL<KfT9HT |KxH@d<_Bf/@88T>+@/A ,8`A q+@\<_ALBfĀ/@H@=?}+Kx!LHaL<Kf9HT T |H8|KxHH@x<_Bf/@L8T>+@/A ,8`A q+@<_BfĀ/A<_AHBf/@H=?}"Kx!HHAHbf<_9Bfā+U) |)T})xe)0+H^f"bD!T><9HBHH@$=?!LIf}'Kx/@H=aL}g[xGfābuiUjAeJ8+A<_T :8B h| .|| N ph``````xxxxxxxx8@H }BpH}BpHUB`B@,U >@ |3xf U&>TT$/U$T|K[x})x@ffIT@>/A8 H8<_f H'fItKpA< ``8!paa|}p N `|B!0?_<zW87HJ||y@W<8c:H&18`H >W/AW<????8c:H%Hx`<x8 8c:HGq/AtX|tT`1@(=?Tb:)W|BJ4TH``8@HH-0C|/@ ;X<8@8Dx8:8H9L9!89APH& /|}x@Ԉ8/ @Ȁ@/A/AD/A/AH/A/AL/A/Axx8 HI|~yAd=?WtIWxA@/@<` WxH 8 WxWxyW|HF/yW|A<x8;0HGu88|xWtW|c|c8cHFрXWt9W|8/B|BJ8Wt@yW|)| [.XWt9W|DB|BJ8WtYW|H)}) XWt9W|LB|BJ@ XWt9W|PB|BJ H XWt9W|8`B|BJ XWt8BXWtH``????`;X8xxHE/@xyW|Wt<884HE!W/AWt<8c;4H#5W/A耚W<>8c;TH#H<8c; HD8`HT<8c;HD8`H@`<x8 8c;HDa/Ax8:HG,A8@xX8@^|tT`1@ =?Tb:)W|BJ4TH8@HD0/@,;[X;T<8@Cx8D8;8H9LxH"/@@/A/A!D/A/AЁAH/A/AaL/A/AsW/A>c0xW;:Af;A<:]|Cb8b" B HCSW9 8<xa)Ex8;~FxJ0~x|Jʩ.9b ", H!/@\W0|u.} A```;X8xxHAQ/@8>W<80wW8DH@̀W/AW<8c?;9W|8u7;|^J|JHuW|8{<|";8H]WtA8` HA<8c>_;>?==>;>!x;~7x8x|]8u79"H8r<dxH/Ah/Ap/@x<8c<`HHt/A0/@H8q= xHuHx8o=$~xHeHh8n=<$xHUHX<8c<HEH 8pM/@??8 M;M xxH@}/At?>~^;@McZ"<_BM|JT@.|ZT<B.M8` ^>TLWTBt"U)xxKxH><x8c3HM/A<>8c3HqH@<>8c3H]8t-HE<WE8c3H1<??8c3H<<_=?<)M؀BM8c3TTT'~H<<C0<_<MBd<_8c3ܐ``ɡ(B\2١ h``HM[M/b"Ba@!8A8@JAFW^;:D?>``MM~óx88TDH<|}yAM9=n`@A,``M9=}@B @XHAD 9]h@ШFI@HI@IJ9)h@}]SxK;P@@HAD @8FI@(HI@IJ9)AT/;@`8:<>8t-H8` H<58`@$<8c3H:yMH@```M/@(<_W@κ<WE8BL8c4|.HM/A<_8-H <_8-ЀM/@,<_BM8/@<_8-H```<_8-<8c-H!<cM8cXH=AH<D:<>8t-|x8H8` H;58}H9MKT8!0|N ```|B|~x|#x! <>?8c/8H9)<8c/tH98WB98>8@9B9i|<_=?98 l<_=?8BЌ9) J+9J9kBxxKɽ/@DKߡ/@8<_BH/AKu/@??<yH8)H;9||yA<_;?;A<8BB;x8)Ex88H/@܀<@;8/?T;@<_;?8B>; x8)(Ex88H/@<@x;8/?T;@HP/AH<8c/H8`HTH<8c/H8@8WB98>8|8B9)  8B9)B=?<_ H=Ap8`H>H9<C0=?lc<_X)Ha\H<_"H<_Hɢ=l<_Xh(ɢ=t<_BI$h$H>=mHH9%pHK}<<8cH88,H8!,A|dx<8c/H8`H<<_=?<==|<_I=?:>?pa|=l!x<_>?At?_==;??>>C0mHH8qAtbH8qH\H7HL/A<:8c0H5哳HLHԀApHD/A <:8c0PH5ApHԓHDH?>>>8qB =>_H49\;B xH5BЀwB8H3I|}xxH4}/AԀB/A`8?xBH5uB/A8?;AL;aT;cޖCxdxLPH5aB/@8qB H4 WBĈ|t/@H(/ @8H|t/@<_BăBH```;|tT`1@ Tb:|B4TH``8@H20C|/@^|@t/A\HT`|t/ATTi1@,=?Tb:)B|BJ4TH ```8@H2-0C|/A`|tW:/8.xA\<_;BH;|tTi1@ Tb:|B4TH``8@H10C|/@^;|@t/A,/#A$/@A$|Ctx/@KP/@8\|t/A xH3}~|t/@H /@H <x8*H2i/@ <8cK<8"8cH2||yA <_;?8B<;x8"xTH /@\/?;;@<_;?8B8; x8# x0@|H /@/?;;@xH0H 0<x8*H1/A<x8*H1}/@H=?9`<_<9)A; bA8c*<_ bBh H.<_AhH D<x8*H1!/AL<x8*H1 /A4<x8*H0/A<x8*H0/@`/@<_8AhBlHa`H2 <_AhbBl=?<_8; 9)AAiikiAhH <x8*H0e/@܃`888<8@8DxKȱ/@ A8;/A;d!TJ*j AhH<x8,H(/@`xK/@<x8c,Hm/@XAd8"CxH(||yA@<_;?8B<;x8"xTH/@T/?;;@<_;?8B8; x8# x0@|H/@ /?;;@;H<Dx; 8c,H<_AhH<x8,H'y/@a`H(8+@ <; 8c,H% <_AhHT=?C`9` B9 0ak})|B| xXA 8B9)B=; ah}b[xBl/@H<x8-H&/A4<x8-H&/A<x8- H&/@ <; 8c-$H$I<_AhK<x; 8c1Hy<_AhKp<_BB/A<_8"H <_8"B/@ <_BB/@<_8"H <_8"<8c"H pB8cXH'1Kx81H%/@dKx<x81H%/ALK;xH$/@K```/ @K /#;@K8<_8qB BH&8!8`|N |B|H|=94/@!|> x|_xlptx|>^~h<_8b!HQ|lx<_8B4~h^>|xtpl!|}N |B|H|=93h/@!|> x|_xlptx|>^~h<_8b!H|lx<_8B3h~h^>|xtpl!|}N |B|H|=92/@!|> x|_xlptx|>^~h<_8b \H|lx<_8B2~h^>|xtpl!|}N |B|H|=92/@!|> x|_xlptx|>^~h<_8bHM|lx<_8B2~h^>|xtpl!|}N ||dxB8_!p8a98H 8a8|}xH"E<_}]|~x9" B i|].<_x j;xH#,@|}xxH#H#8!|N =`L}N =`P}N =`T}N __dyld_make_delayed_module_initializer_calls__dyld_image_count__dyld_get_image_name__dyld_get_image_header__dyld_NSLookupSymbolInImage__dyld_NSAddressOfSymbollibobjc__objcInit__dyld_mod_term_funcsHOPDIVPRORSUADDSUBCLAANDMPYTRASHFTMISTOSPQCLDTNZyaOBC.ioyaOBC.bin--helpUSAGE: yaOBC [OPTIONS] The allowed OPTIONS are: --help Display this usage info and then exit. --lvdc Emulate Apollo LVDC. (Default is Gemini OBC.) --binary=F Specifies name of file containing memory/ATM contents and HOP constant. Defaults to yaOBC.bin, which is normally produced by yaOBC itself, but can be a binary file made by yaASM also. --symbols=F Specifies the name of the listing file created by yaASM. Used to get the symbol table and source code for symbolic debugging. If absent, debugging will be non-symbolic. --run Start the emulator in a mode in which it is running the selected OBC/LVDC binary in real time. The default is to start in paused mode, immediately prior to running the first instruction. --ports=P1-PN Specifies the range of TCP/IP ports on which to listen for peripheral-emulating programs like yaPanel. Defaults to 19653-19661. -v Increase verbosity level of messages. --method=P,T This switch relates to the method by which emulated or physical peripheral devices connect to the emulated CPU. In essence, it allows different types of device drivers to be used for different XY ranges for the PRO and CLD instructions of the CPU. The P field selects the XY range by the designator of a specific peripheral device. The choices for P are ALL (meaning, all peripherals), DCS, RR, TRS, MDIU, IVI, IMU, FDI, ACME, AGE, IS, ATM, PCDP. The T field specifies the the data-transport method for the XY ranges associated with peripheral P, and the choices for it are: MEM (the default, meaning that there is no emulated or physical peripheral of type P, and so PRO/CLD are simply supposed to read/write to a special memory buffer maintained by yaOBC), TCPIP, COM1, COM2, ..., CUSTOM. The MEM choice would typically be used when merely debugging OBC software. The TCPIP choice would be used for emulated peripherals provided directly by the Virtual AGC project. The COMn choice could be used for building a physical peripheral like an MDIU or IVI. CUSTOM would relate to a compiled-in driver of a presently unknown type, such as a driver for the Orbiter spacecraft- simulation system. --io=F Specifies a file containing initial PRO/CLD values for the MEM driver of the --method switch. The default is --io=yaOBC.io, or simply all zeros if that file does not exist. --com1=P Used only with --method type RS232. P is the --com2=P name of the desired comport, such as COM1 or etc. /dev/ttyS0.-v--lvdc--run--ports=%d-%dIllegal TCP/IP port range.--binary=--symbols=--method=Sorry, --method is not yet implemented. MEM method always used.--comSorry, --comN is not yet implemented.Unrecognised switch: %s Apollo LVDCGemini OBCEmulation: %s State: running in real time.State: paused prior to first instruction.Binary file: %s No symbol table.Symbol-table file: %s TCP/IP port range: %d-%d %o-%02o-%o-%03oLVDCOBC(paused)(running)%s debugger %s> rPRO %o %o CLD %o %o wPRO %02o %09o CLD %02o %o ACCPQ%o-%o-%o-%oD-%oFYI: Location %s (LSW) was previously uninitialized. FYI: Location %s (MSW) was previously uninitialized. Note that symbols are case-sensitive to the debugger.Writing snapshot file "%s" ... wbCannot create snapshot file "%s". Sorry, LVDC not fully implemented yet.Write-error on snapshot.Finished writing snapshot file.012345670123456789%d.0123456789%lfH-Reading binary file "%s" ... rbSelected binary file "%s" not found. Unexpected end of binary file.Finished reading binary file.Program entry point: Trying to execute from ininitialized memory at Selected listing file "%s" not found. Reading source code from listing-file "%s" ... SYMBOL TABLE%o-%o-%o-%o%c%oOut of memory for the symbol table. %d lines of source code found. Reading symbols from listing-file "%s" ... OCTAL LISTING%o-%o-%o-%o,%sToo many symbols.Constant (%o), created via "%s %[^"]"Constant (%o)Uninitialized variable, created via "%s %[^"]"Uninitialized variableLeft-hand symbol, created via "%s %[^"]"Left-hand symbolHOPCSYNEQU%d symbols found. Source code----------- %s Symbol table------------, %-8s: Constant (%09o)Implementation error, created via "HOPC %s", created via "SYN %s", created via "EQU %s", implementation errorHOP=%09o (????ADR= HWM=%d VAL=%05o)ACC=%09o PQ=%09o (TMR:%d) Cycles=%ld (%.5lf seconds) (Uninitialized memory) %s %03o yaOBC emulator for Gemini OBC and Apollo LVDC computers.Built Jan 7 2012, 11:41:19Read-error on file %s. Warning: Could not read %s, zeroing PRO/CLD MEM driver. Could not create debugger thread (error %d). Program execution reached end of sector, emulation paused. PRO or CLD instruction timed out. Breakpoint on code reached. Breakpoint on data reached. PRO/CLD/SHF instruction used unimplemented XY.QUITCONTREmulation running ...STEPNEXTSNBREAKCan't parse Location field (%s). Location %s not eligible for a breakpoint. Breakpoint set at location %s. WATCHMODEANYWRITECHANGE%s is not a valid WATCHMODE mode. BREAKPOINTSBreakpoint at %o-%02o-%o-%03o. Breakpoint at PRO%02o. Breakpoint at CLD%02o. Breakpoint at ACC.Breakpoint at PQ.DELETEPRINTCan't parse Location field %s. %s: %09o %s: %05o EDITCan't parse Value field %s. COREDUMPSnapshot file %s created. I/O file %s created. ATMThe module to load must be in the range 1-7.HELPMENU?Debugger commands: HELP or MENU or ? -- Display available commands. QUIT or EXIT -- Exit the yaOBC program, saving the current state. RUN or CONT or R -- Stop pausing and resume running the emulation. STEP [N] or NEXT [N] or S [N] or N [N] -- Emulate next N instructions. BREAK Location -- Set breakpoint. WATCHMODE Mode -- Data-access types (ANY/WRITE/CHANGE) triggering breaks. BREAKPOINTS -- Display all breakpoints. DELETE [Location] -- Delete breakpoint at Location, or all. PRINT Location -- Display contents of Location. EDIT Location Value -- Modify contents of Location. COREDUMP File [IoFile] -- Save system snapshot files. ATM Module -- Load program Module from ATM into main memory. Location formats: Left-hand symbol, constant name, variable name [D-]Module-Sector-Syllable-Word HOP, ACC, PQ PROYX, CLDYX Value for EDIT: Octal constant with leading 0 Decimal constant without decimal point -> unscaled Decimal constant with decimal point -> scaled Left-hand symbol -> HOP constant Variable/constant name -> contents of the variable/constant [H-]Module-Sector-Syllable-Word -> HOP constantUnknown debugger command: %s EXITRUNfprintffscanfprintfsscanf$LDBL128libSystem.|B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|d}N |B}h=k|H}N |B}h=k|,}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|h}N |B}h=k|L}N |B}h=k|0}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|}N |B}h=k|l}N |B}h=k|P}N |B}h=k|4}N |B}h=k|}N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| p}N |B}h=k| T}N |B}h=k| 8}N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| }N |B}h=k| t}N C0?"YC0??A+                           ||||||||}}}} }}}}2} },LL((((((((((((((((((((((((((((((((((((((((((((( | )3%D( ) *    xx  y$  9y  z| {( ' BN/n0 33P121 2E/ Sbq> h`N ]@1p|x%t>la RhdlX  ,60<n /3,2BBpR3^S`nsDP0p:z  d;@ 5 c+   9 L f       ;`b f ]%p + > ]w-4@G<M&.JZn  N[`)+9;@\"5>Vp9 % # 9 < h m u d nzytuwvx}p|r{klj~so0m%Q' q@Pnzytuwvx}p|r{klj_NXArgc_NXArgv___progname__dyld_func_lookup__start_environdyld_stub_binding_helperstart___darwin_gcc3_preregister_frame_info___keymgr_dwarf2_register_sections__cthread_init_routine__mh_execute_header_atexit_catch_exception_raise_catch_exception_raise_state_catch_exception_raise_state_identity_clock_alarm_reply_do_mach_notify_dead_name_do_mach_notify_no_senders_do_mach_notify_port_deleted_do_mach_notify_send_once_do_seqnos_mach_notify_dead_name_do_seqnos_mach_notify_no_senders_do_seqnos_mach_notify_port_deleted_do_seqnos_mach_notify_send_once_errno_exit_mach_init_routine_main_receive_samples___keymgr_global__dyld_register_func_for_add_image__dyld_register_func_for_remove_image__init_keymgr__keymgr_get_and_lock_processwide_ptr__keymgr_set_and_unlock_processwide_ptr_abort_calloc_free_BinaryFile_BuildAddressFromObcHopRegister_BuildObcHopRegisterFromAddress_CldCategories_CldInputFunctionMem_CldMem_CldOutputFunctionMem_CompareSourceByAddresses_CompareSymbols_ComputeNeededCycles_CurrentCycles_CurrentStartCycles_CurrentStartTicks_CurrentTicks_DebuggerMutex_DebuggerPause_DebuggerQuit_DebuggerRun_DebuggerThreadFunction_DisplayCurrentDebuggingLocation_DisplayDebuggerPrompt_EmulatorBreakpoint_EmulatorEndOfSector_EmulatorPause_EmulatorTimeout_EmulatorUnimplementedXY_EmulatorWatchpoint_IgnoreBreakpoint_IoFile_LastDebuggedHopRegister_Lvdc_MaxSourceLines_NumSourceLines_NumSymbols_ObcOps_ParseCommandLine_ParseLocation_ParseValue_Port1_PortN_PrintAddress_ProCategories_ProInputFunctionMem_ProOutputFunctionMem_ReadBinaryFile_ReadIoFile_ReadSymbolFile_Run_RunOneMachineCycle_SetCyclesPerTick_SleepMilliseconds_SourceLines_Speedup_StepN_SymbolFile_TotalCycles_Verbosity_WatchmodeType_WriteBinaryFile_WriteIoFile_Accumulator_Binary_CyclesPerTick_DebuggerThread_DebuggerUserInput_HopRegister_PqRegister_Symbols_TmsStruct__DefaultRuneLocale___maskrune___sF___toupper_atoi_bsearch_fclose_fflush_fgets_fopen_fprintf$LDBLStub_fread_fscanf$LDBLStub_fwrite_lround_memcmp_nanosleep_printf$LDBLStub_pthread_create_pthread_mutex_lock_pthread_mutex_unlock_putchar_puts_qsort_realloc_sscanf$LDBLStub_strcasecmp_strchr_strcmp_strcpy_strcspn_strlen_strncasecmp_strncmp_strspn_sysconf_times___stub_getrealaddr_NSAddressOfSymbol_NSIsSymbolNameDefinedWithHint_NSLookupAndBindSymbolWithHint_pointer_to__darwin_gcc3_preregister_frame_info_darwin_unwind_dyld_add_image_hook_darwin_unwind_dyld_remove_image_hook_LineBuffer_funcptr_funcptr_funcptr_funcptr