|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 DFS Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 DFS Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 14336 (0x3800) Types: M200 Notes: @(#)FRU,2.1,92/01/16,12:34:56, M200_PROGRAM Names: »FRU.M200«
└─⟦b434774df⟧ Bits:30000528 8mm tape, Rational 1000, DFS, D_12_6_5 └─ ⟦this⟧ »FRU.M200« └─ ⟦this⟧ »FRU.M200«
@ 214ba <POP 214ba-2150a Body> <POP 214ba-214d0 Prologue> Σ0 ↓ <POP 214d0-21502 Naked> Σ0 ↓ <Blob 0x214d0 [18] @> Δ-18 {[«18""»]} <POP 214e2-214e4 StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x214e4 17> {[«18""»]|[$$Not yet supported]} <Call 0x214f8 0x103e0> {[«18""»]|[$$Not yet supported]} WriteConsoleStringCrLf(str : String) <POP 214fe-21502 StackAdj> Δ+22 {} <POP 21502-2150a Epilogue> Σ0
@ 2150a <LVAR -0x003 @ 1(r)> <LVAR -0x008 @ 4(rw)> <POP 2150a-215de Body> <POP 2150a-21520 Prologue> Σ0 ↓ <POP 21520-2152c RegCacheLoad> Σ0 ↓ <POP 2152c-21594 Naked> Σ0 ↓ →0x215d6 <Call 0x2152c 0x10538> {} IPC_Init(void) <MI 21532 CLR.B -(A7)> Δ-2 {[#0]} <Call 0x21534 0x10502> {[#0]} IPC_PutBool(a : Bool) <POP 21536-21538 StackAdj> Δ+2 {} <MI 21538 MOVE.B 0x2352b,D0> {} <MI 2153e EXTB.W D0> {} <POP 0x21540 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21542 MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21544 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21546-21548 StackAdj> Δ+2 {} <MI 21548 MOVE.B 0x23530,D0> {} <MI 2154e EXTB.W D0> {} <POP 0x21550 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21552 MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21554 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21556-21557 StackAdj> Δ+2 ↓ {} <Blob 0x21557 [10] @> Δ-10 {[«10""»]} <POP 21566-21568 StackAdj> Δ-4 {[«10""»]|[-4-]} <Lit 0x21568 9> {[«10""»]|[$$RUN_UDIAG]} <Const 0x2157a 0x1.4> Δ-4 {[«10""»]|[$$RUN_UDIAG]|[##1]} <Const 0x2157e 0x1.2> Δ-2 {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]} <Pointer.fp 0x21580 <LVAR -0x003 @ 1(r)>> Δ-4 {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]|[@@-3]} <Call 0x21584 0x103b0> {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]|[@@-3]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 2158a-2158e StackAdj> Δ+24 {} <MI 2158e TST.B (A6-0x3)> {} <MI 21592 BNE 0x215d6> {} <POP 21594-215d6 Naked> Σ0 ↓ <Blob 0x21594 [6] @> Δ-6 {[«6""»]} <POP 215a4-215a6 StackAdj> Δ-4 {[«6""»]|[-4-]} <Lit 0x215a6 5> {[«6""»]|[$$UDIAG]} <MI 215b8 MOVE.L (A7)+,(A6-0x8)> Δ+4 {[«6""»]} <POP 215ba-215bc StackAdj> Δ+6 {} <MI 215bc MOVEA.L 0x23532,A0> {} <MI 215c2 MOVEA.L (A6-0x8),A1> {} <BlockMove 128,A1,A0> {} <Pointer.fp 0x215cc <LVAR -0x008 @ 4(rw)>> Δ-4 {[@@-8]} <Call 0x215ce 0x102bc> {[@@-8]} FreeString(VAR a : String) <POP 215d4-215d6 StackAdj> Δ+4 {} <POP 215d6-215de Epilogue> Σ0 ←0x2152c
@ 215de <LVAR -0x004 @> <POP 215de-216a8 Body> <POP 215de-215f4 Prologue> Σ0 ↓ <POP 215f4-215fc RegCacheLoad> Σ0 ↓ <POP 215fc-216a0 Naked> Σ0 ↓ <Call 0x215fc 0x105b6> {} R1000_Reset_L(void) <Call 0x21602 0x10538> {} IPC_Init(void) <Const 0x21608 0x1.2> Δ-2 {[#1]} <Call 0x2160a 0x10502> {[#1]} IPC_PutBool(a : Bool) <POP 21610-21612 StackAdj> Δ+2 {} <Call 0x21612 0x10514> {} IPC_PutEnd(void) <Blob 0x21618 [10] @> Δ-10 {[«10""»]} <POP 21628-2162a StackAdj> Δ-4 {[«10""»]|[-4-]} <Lit 0x2162a 9> {[«10""»]|[$$CONFIGURE]} <Const 0x2163a 0x1.4> Δ-4 {[«10""»]|[$$CONFIGURE]|[##1]} <Const 0x2163e 0x1.2> Δ-2 {[«10""»]|[$$CONFIGURE]|[##1]|[#1]} <Pointer.fp 0x21640 <LVAR -0x004 @>> Δ-4 {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]} <Call 0x21644 0x103b0> {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 2164a-2164c StackAdj> Δ+24 {} <Call 0x2164c 0x10538> {} IPC_Init(void) <MI 21652 MOVE.B 0x2352b,D0> {} <MI 21658 EXTB.W D0> {} <POP 0x2165a LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 2165c MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x2165e 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21664-21666 StackAdj> Δ+2 {} <Call 0x21666 0x10514> {} IPC_PutEnd(void) <Blob 0x2166c [10] @> Δ-10 {[«10""»]} <POP 2167c-2167e StackAdj> Δ-4 {[«10""»]|[-4-]} <Lit 0x2167e 9> {[«10""»]|[$$INITSTATE]} <Const 0x2168e 0x1.4> Δ-4 {[«10""»]|[$$INITSTATE]|[##1]} <Const 0x21692 0x1.2> Δ-2 {[«10""»]|[$$INITSTATE]|[##1]|[#1]} <Pointer.fp 0x21694 <LVAR -0x004 @>> Δ-4 {[«10""»]|[$$INITSTATE]|[##1]|[#1]|[@@-4]} <Call 0x21698 0x103b0> {[«10""»]|[$$INITSTATE]|[##1]|[#1]|[@@-4]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 2169e-216a0 StackAdj> Δ+24 {} <POP 216a0-216a8 Epilogue> Σ0
@ 216a8 <LVAR 0x01c 4(r)> <LVAR 0x01a 1(r)> <LVAR 0x016 @ 4(r)> <LVAR 0x012 @ 4(r)> <LVAR 0x010 1(r)> <LVAR -0x003 1(w)> <POP 216a8-2186e Body> <POP 216a8-216be Prologue> Σ0 ↓ <POP 216be-216d0 RegCacheLoad> Σ0 ↓ <POP 216d0-216d6 Naked> Σ0 ↓ →0x2170a <MI 216d0 TST.B (A6+0x1a)> {} <MI 216d4 BEQ 0x2170a> {} <POP 216d6-2170a Naked> Σ0 →0x2184e <Blob 0x216d6 [8] @> Δ-8 {[«8""»]} <POP 216e6-216e8 StackAdj> Δ-4 {[«8""»]|[-4-]} <MI 216e8 MOVE.L (A6+0x1c),-(A7)> Δ-4 {[«8""»]|[-4-]|[4, '(A6+0x1c)']} <POP 216ec-216ee StackAdj> Δ-4 {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[-4-]} <Lit 0x216ee 7> {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ passed]} <Call 0x216fa 0x102d0> {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ passed]} StringCat2(a, b : String) : String <POP 216fc-216fe StackAdj> Δ+8 {[«8""»]|[-4-]} <Call 0x216fe 0x103e0> {[«8""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 21704-21706 StackAdj> Δ+12 {} <MI 21706 BRA 0x2184e> {} <POP 2170a-2175a Naked> Σ0 ↓ →0x21794 ←0x216d0 <POP 2170a-2170c StackAdj> Δ-2 {[-2-]} <MI 2170c MOVE.L (A6+0x1c),-(A7)> Δ-4 {[-2-]|[4, '(A6+0x1c)']} <MI 21710 MOVE.L (A6+0x16),-(A7)> Δ-4 {[-2-]|[4, '(A6+0x1c)']|[4, '(A6+0x16)']} <Call 0x21714 0x102c8> {[-2-]|[4, '(A6+0x1c)']|[4, '(A6+0x16)']} StringEqual(a, b : String) : Byte <POP 2171a-2171c StackAdj> Δ+8 {[-2-]} <MI 2171c MOVE.B (A7)+,D0> Δ+2 {} <MI 2171e EXTB.W D0> {} <POP 0x21720 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21722 MOVE.B D0,(A6-0x3)> {} <Blob 0x21726 [8] @> Δ-8 {[«8""»]} <POP 21736-21738 StackAdj> Δ-4 {[«8""»]|[-4-]} <MI 21738 MOVE.L (A6+0x1c),-(A7)> Δ-4 {[«8""»]|[-4-]|[4, '(A6+0x1c)']} <POP 2173c-2173e StackAdj> Δ-4 {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[-4-]} <Lit 0x2173e 7> {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ failed]} <Call 0x2174a 0x102d0> {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ failed]} StringCat2(a, b : String) : String <POP 2174c-2174e StackAdj> Δ+8 {[«8""»]|[-4-]} <Call 0x2174e 0x103e0> {[«8""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 21754-21756 StackAdj> Δ+12 {} <MI 21756 TST.B D0> {} <MI 21758 BEQ 0x21794> {} <POP 2175a-21794 Naked> Σ0 ↓ <Blob 0x2175a [44] @> Δ-44 {[«44""»]} <POP 2176c-2176e StackAdj> Δ-8 {[«44""»]|[-8-]} <Lit 0x2176e 43> {[«44""»]|[-4-]|[$$The diagnostic which found the failure was_]} <MI 2177a MOVE.L (A6+0x16),(A7)> {[«44""»]|[-4-]|[4, '(A6+0x16)']} <POP 21778-2177a StackAdj> Δ-8 {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-8-]} <Call 0x2177e 0x102cc> {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-8-]} StringDup(a : String) : String <POP 21784-21786 StackAdj> Δ+4 {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-4-]} <Call 0x21786 0x102d0> {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-4-]} StringCat2(a, b : String) : String <POP 21788-2178a StackAdj> Δ+8 {[«44""»]|[-4-]} <Call 0x2178a 0x103e0> {[«44""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 21790-21794 StackAdj> Δ+48 {} <POP 21794-21806 Naked> Σ0 ↓ ←0x2170a <Blob 0x21794 [4] @> Δ-4 {[«4""»]} <Blob 0x21798 [4] @> Δ-4 {[«4""»]|[«4""»]} <POP 2179c-2179e StackAdj> Δ-8 {[«4""»]|[«4""»]|[-8-]} <MI 2179e MOVE.L (A6+0x16),-(A7)> Δ-4 {[«4""»]|[«4""»]|[-8-]|[4, '(A6+0x16)']} <Call 0x217a2 0x102cc> {[«4""»]|[«4""»]|[-8-]|[4, '(A6+0x16)']} StringDup(a : String) : String <Lit 0x217a8 8> {[«4""»]|[«4""»]|[-8-]|[$$.ERRMESS]} <Call 0x217b6 0x102d0> {[«4""»]|[«4""»]|[-8-]|[$$.ERRMESS]} StringCat2(a, b : String) : String <POP 217b8-217ba StackAdj> Δ+8 {[«4""»]|[«4""»]|[-4-]} <MI 217ba MOVEA.L (A7)+,A4> Δ+4 {[«4""»]|[«4""»]} <POP 217bc-217be StackAdj> Δ+8 {} <Call 0x217be 0x103dc> {} WriteConsoleCrLf(void) <MI 217c4 MOVE.L A4,-(A7)> Δ-4 {[4, 'A4']} <MI 217c6 MOVE.L (A6+0x12),-(A7)> Δ-4 {[4, 'A4']|[4, '(A6+0x12)']} <MI 217ca CLR.L D0> {[4, 'A4']|[4, '(A6+0x12)']} <MI 217cc MOVE.B (A6+0x10),D0> {[4, 'A4']|[4, '(A6+0x12)']} <MI 217d0 MOVE.L D0,-(A7)> Δ-4 {[4, 'A4']|[4, '(A6+0x12)']|[4, 'D0']} <Call 0x217d2 0x1044c> {[4, 'A4']|[4, '(A6+0x12)']|[4, 'D0']} WriteErrorMessage(file : String; txt : String; number : Long) : Bool <POP 217d8-217d9 StackAdj> Δ+12 ↓ {} <Blob 0x217d9 [26] @> Δ-26 {[«26""»]} <POP 217ea-217ec StackAdj> Δ-4 {[«26""»]|[-4-]} <Lit 0x217ec 25> {[«26""»]|[$$Field replaceable units :]} <Call 0x217fa 0x103e0> {[«26""»]|[$$Field replaceable units :]} WriteConsoleStringCrLf(str : String) <POP 21800-21804 StackAdj> Δ+30 {} <MI 21804 MOVEQ.L #0x00,D7> {} <POP 21806-21822 Naked> Σ0 ↓ →0x21848 ←0x21848 <POP 0x21806 LimitCheck 0x0 ≤ D7 ≤ 0x7> {} <MI 2180c CLR.L D0> {} <MI 2180e MOVE.B (A6+D7.L+#0x8),D0> {} <MI 21812 MOVE.L D0,D6> {} <MI 21814 MOVE.B D6,-(A7)> Δ-2 {[2, 'D6']} <MI 21816 MOVE.B (A7)+,D0> Δ+2 {} <MI 21818 EXTB.W D0> {} <POP 0x2181a LimitCheck 0x0 ≤ D0 ≤ 0x4f> {} <MI 2181e MOVE.B D0,D5> {} <MI 21820 BEQ 0x21848> {} <POP 21822-21848 Naked> Σ0 ↓ <Blob 0x21822 [4] @> Δ-4 {[«4""»]} <Blob 0x21826 [4] @> Δ-4 {[«4""»]|[«4""»]} <Blob 0x2182a [4] @> Δ-4 {[«4""»]|[«4""»]|[«4""»]} <POP 2182e-21830 StackAdj> Δ-4 {[«4""»]|[«4""»]|[«4""»]|[-4-]} <Lit 0x21830 12> {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]} <POP 2183a-2183c StackAdj> Δ-4 {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[-4-]} <MI 2183c MOVE.L D6,(A7)> {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[4, 'D6']} <Call 0x2183e 0x10450> {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[4, 'D6']} FS_10450(&, &) <POP 21844-21848 StackAdj> Δ+20 {} <POP 21848-2184e Naked> Σ0 ↓ →0x21806 ←0x21806 <MI 21848 ADDQ.L #0x1,D7> {} <MI 2184a CMP.L #0x07,D7> {} <MI 2184c BLE 0x21806> {} <POP 2184e-21866 Naked> Σ0 ↓ ←0x216d6 <Pointer.fp 0x2184e <LVAR 0x012 @ 4(r)>> Δ-4 {[@@18]} <Call 0x21852 0x102bc> {[@@18]} FreeString(VAR a : String) <POP 21858-2185a StackAdj> Δ+4 {} <Pointer.fp 0x2185a <LVAR 0x016 @ 4(r)>> Δ-4 {[@@22]} <Call 0x2185e 0x102bc> {[@@22]} FreeString(VAR a : String) <POP 21864-21866 StackAdj> Δ+4 {} <POP 21866-2186e Epilogue> Σ0
@ 2186e <LVAR 0x00e 4(r)> <LVAR 0x00c 1(r)> <LVAR 0x008 4(r)> <LVAR -0x004 1(rw)> <LVAR -0x009 @ 1(r)> <LVAR -0x011 @> <LVAR -0x012 @ 1(r)> <LVAR -0x016 @ 4(r)> <LVAR -0x01a @ 4(r)> <LVAR -0x01e @ 4(rw)> <POP 2186e-21a1c Body> <POP 2186e-21884 Prologue> Σ0 ↓ <POP 21884-21892 RegCacheLoad> Σ0 ↓ <POP 21892-2194a Naked> Σ0 ↓ →0x21a14 <MI 21892 MOVE.B (A6+0xc),(A6-0x4)> {} <Blob 0x21898 [2] @> Δ-2 {[«2""»]} <POP 2189c-2189e StackAdj> Δ-4 {[«2""»]|[-4-]} <POP 2189e-2189f StackAdj> Δ+2 {[«2""»]|[-2-]} <Blob 0x2189f [2] @> Δ-2 {[«2""»]|[-2-]|[«2""»]} <MI 218a2 MOVE.B 0x201cb,(A7+0x1)> {[«2""»]|[-2-]|[«2""»]} <MI 218a8 MOVE.B 0x201cc,(A7+0x2)> {[«2""»]|[-2-]|[«2""»]} <POP 218ae-218b0 StackAdj> Δ-8 {[«2""»]|[-2-]|[«2""»]|[-8-]} <Lit 0x218b0 2> {[«2""»]|[-2-]|[«2""»]|[-4-]|[$$P ]} <MI 218c0 MOVE.L (A6+0xe),(A7)> {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']} <POP 218ba-218c0 StackAdj> Δ-8 {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} <Call 0x218c4 0x102e4> {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} Long2String(a : Long) : String <Lit 0x218ca> {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$…]} <Pointer.sp 0x218ca 16> Δ-4 <Const 0x218ce 0x1.2> Δ-2 <Const 0x218d0 0x3.2> Δ-2 <Call 0x218d4 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 218da-218dc StackAdj> Δ+8 <Call 0x218dc 0x102d4> {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$…]} StringCat3(a, b, c : String) : String <POP 218e2-218e4 StackAdj> Δ+12 {[«2""»]|[-2-]|[«2""»]|[-4-]} <MI 218e4 MOVEA.L (A7)+,A4> Δ+4 {[«2""»]|[-2-]|[«2""»]} <POP 218e6-218e8 StackAdj> Δ+6 {} <Call 0x218e8 0x10538> {} IPC_Init(void) <MI 218ee MOVE.B (A6-0x4),-(A7)> Δ-2 {[2, '(A6-0x4)']} <MI 218f2 PEA.L (A7)> Δ-4 {[2, '(A6-0x4)']|[4, '^(A7)']} <Const 0x218f4 0x0.4> Δ-4 {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]} <Const 0x218f6 0x0.4> Δ-4 {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]} <Call 0x218f8 0x104fc> {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]} IPC_PutVar(src : Pointer; length : Long ; type : Long) <POP 218fe-21900 StackAdj> Δ+14 {} <MI 21900 MOVE.B 0x2352a,D0> {} <MI 21906 EXTB.W D0> {} <POP 0x21908 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 2190a MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x2190c 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21912-21914 StackAdj> Δ+2 {} <MI 21914 MOVE.B 0x2352b,D0> {} <MI 2191a EXTB.W D0> {} <POP 0x2191c LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 2191e MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21920 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21926-21928 StackAdj> Δ+2 {} <Call 0x21928 0x10514> {} IPC_PutEnd(void) <MI 2192e MOVE.L A4,-(A7)> Δ-4 {[4, 'A4']} <Const 0x21930 0x1.4> Δ-4 {[4, 'A4']|[##1]} <Const 0x21934 0x1.2> Δ-2 {[4, 'A4']|[##1]|[#1]} <Pointer.fp 0x21936 <LVAR -0x009 @ 1(r)>> Δ-4 {[4, 'A4']|[##1]|[#1]|[@@-9]} <Call 0x2193a 0x103b0> {[4, 'A4']|[##1]|[#1]|[@@-9]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 21940-21942 StackAdj> Δ+14 {} <MI 21942 TST.B (A6-0x9)> {} <MI 21946 BNE 0x21a14> {} <POP 2194a-219ac Naked> Σ0 ↓ →0x219ec <Call 0x2194a 0x10538> {} IPC_Init(void) <MI 21950 MOVEA.L (A6+0x8),A0> {} <MI 21954 PEA.L (A0)> Δ-4 {[4, '^(A0)']} <Call 0x21956 0x10526> {[4, '^(A0)']} IPC_GetBool() : Bool <POP 2195c-2195e StackAdj> Δ+4 {} <Pointer.fp 0x2195e <LVAR -0x01e @ 4(rw)>> Δ-4 {[@@-30]} <Call 0x21960 0x1052c> {[@@-30]} IPC_GetString(VAR retval : String) <POP 21966-21968 StackAdj> Δ+4 {} <Pointer.fp 0x21968 <LVAR -0x01a @ 4(r)>> Δ-4 {[@@-26]} <Call 0x2196c 0x1052c> {[@@-26]} IPC_GetString(VAR retval : String) <POP 21972-21974 StackAdj> Δ+4 {} <Pointer.fp 0x21974 <LVAR -0x016 @ 4(r)>> Δ-4 {[@@-22]} <Call 0x21978 0x1052c> {[@@-22]} IPC_GetString(VAR retval : String) <POP 2197e-21980 StackAdj> Δ+4 {} <Pointer.fp 0x21980 <LVAR -0x012 @ 1(r)>> Δ-4 {[@@-18]} <Const 0x21984 0x0.4> Δ-4 {[@@-18]|[##0]} <Const 0x21986 0x0.4> Δ-4 {[@@-18]|[##0]|[##0]} <Call 0x21988 0x10520> {[@@-18]|[##0]|[##0]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 2198e-21990 StackAdj> Δ+12 {} <Pointer.fp 0x21990 <LVAR -0x011 @>> Δ-4 {[@@-17]} <Const 0x21994 0x0.4> Δ-4 {[@@-17]|[##0]} <Const 0x21996 0x7.4> Δ-4 {[@@-17]|[##0]|[##7]} <Call 0x2199a 0x10520> {[@@-17]|[##0]|[##7]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 219a0-219a2 StackAdj> Δ+12 {} <Call 0x219a2 0x1051a> {} IPC_GetEnd(void) <MI 219a8 TST.B (A0)> {} <MI 219aa BEQ 0x219ec> {} <POP 219ac-219ec Naked> Σ0 ↓ <Pointer.fp 0x219ac <LVAR -0x01e @ 4(rw)>> Δ-4 {[@@-30]} <Call 0x219ae 0x102bc> {[@@-30]} FreeString(VAR a : String) <POP 219b4-219b6 StackAdj> Δ+2 {[-2-]} <POP 219b6-219b7 StackAdj> Δ+2 {} <Blob 0x219b7 [2] @> Δ-2 {[«2""»]} <Blob 0x219ba [2] @> Δ-2 {[«2""»]|[«2""»]} <Blob 0x219be [2] @> Δ-2 {[«2""»]|[«2""»]|[«2""»]} <POP 219c2-219c4 StackAdj> Δ-8 {[«2""»]|[«2""»]|[«2""»]|[-8-]} <Lit 0x219c4 6> {[«2""»]|[«2""»]|[«2""»]|[-4-]|[$$Phase_]} <MI 219d4 MOVE.L (A6+0xe),(A7)> {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']} <POP 219ce-219d4 StackAdj> Δ-8 {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} <Call 0x219d8 0x102e4> {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} Long2String(a : Long) : String <POP 219de-219e0 StackAdj> Δ+4 {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]} <Call 0x219e0 0x102d0> {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]} StringCat2(a, b : String) : String <POP 219e6-219e8 StackAdj> Δ+8 {[«2""»]|[«2""»]|[«2""»]|[-4-]} <MI 219e8 MOVE.L (A7)+,(A6-0x1e)> Δ+4 {[«2""»]|[«2""»]|[«2""»]} <POP 219ea-219ec StackAdj> Δ+6 {} <POP 219ec-21a14 Naked> Σ0 ↓ ←0x2194a <MI 219ec MOVE.L (A6-0x1e),-(A7)> Δ-4 {[4, '(A6-0x1e)']} <MI 219ee MOVE.B (A0),-(A7)> Δ-2 {[4, '(A6-0x1e)']|[2, '(A0)']} <MI 219f0 MOVE.L (A6-0x1a),-(A7)> Δ-4 {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']} <MI 219f4 MOVE.L (A6-0x16),-(A7)> Δ-4 {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']} <MI 219f8 MOVE.B (A6-0x12),-(A7)> Δ-2 {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']} <Blob 0x219fc [8] (A6-0x11)> Δ-8 {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']|[«8»]} <Call 0x21a0c 0x216a8> {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']|[«8»]} <POP 21a10-21a14 StackAdj> Δ+24 {} <POP 21a14-21a1c Epilogue> Σ0 ←0x21892
@ 21a1c <LVAR 0x00c @ 4(r)> <LVAR 0x008 4(r)> <LVAR -0x003 @ 1(r)> <LVAR -0x00b @> <LVAR -0x00c @ 1(r)> <LVAR -0x010 @ 4(r)> <LVAR -0x014 @ 4(r)> <POP 21a1c-21b5c Body> <POP 21a1c-21a32 Prologue> Σ0 ↓ <POP 21a32-21a3e RegCacheLoad> Σ0 ↓ <POP 21a3e-21acc Naked> Σ0 ↓ →0x21ad8 <Call 0x21a3e 0x10538> {} IPC_Init(void) <MI 21a44 MOVE.B 0x2352a,D0> {} <MI 21a4a EXTB.W D0> {} <POP 0x21a4c LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21a4e MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21a50 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21a56-21a58 StackAdj> Δ+2 {} <MI 21a58 MOVE.B 0x2352b,D0> {} <MI 21a5e EXTB.W D0> {} <POP 0x21a60 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21a62 MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21a64 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21a6a-21a6c StackAdj> Δ+2 {} <Call 0x21a6c 0x10514> {} IPC_PutEnd(void) <Blob 0x21a72 [4] @> Δ-4 {[«4""»]} <Blob 0x21a76 [4] @> Δ-4 {[«4""»]|[«4""»]} <Blob 0x21a7a [4] @> Δ-4 {[«4""»]|[«4""»]|[«4""»]} <POP 21a7e-21a80 StackAdj> Δ-8 {[«4""»]|[«4""»]|[«4""»]|[-8-]} <Lit 0x21a80 12> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$Running FRU_]} <MI 21a8e MOVE.L (A6+0xc),(A7)> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']} <POP 21a88-21a8e StackAdj> Δ-8 {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-8-]} <Call 0x21a90 0x102cc> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-8-]} StringDup(a : String) : String <POP 21a96-21a98 StackAdj> Δ+4 {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-4-]} <Call 0x21a98 0x102d0> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-4-]} StringCat2(a, b : String) : String <POP 21a9e-21aa0 StackAdj> Δ+8 {[«4""»]|[«4""»]|[«4""»]|[-4-]} <Call 0x21aa0 0x103e0> {[«4""»]|[«4""»]|[«4""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 21aa6-21aa8 StackAdj> Δ+8 {[«4""»]|[«4""»]} <MI 21aa8 MOVE.L (A6+0xc),(A7)> {[«4""»]|[4, '(A6+0xc)']} <Call 0x21aaa 0x102cc> {[«4""»]|[4, '(A6+0xc)']} StringDup(a : String) : String <POP 21ab0-21ab2 StackAdj> Δ+4 {[«4""»]} <Const 0x21ab2 0x1.4> Δ-4 {[«4""»]|[##1]} <Const 0x21ab6 0x1.2> Δ-2 {[«4""»]|[##1]|[#1]} <Pointer.fp 0x21ab8 <LVAR -0x003 @ 1(r)>> Δ-4 {[«4""»]|[##1]|[#1]|[@@-3]} <Call 0x21abc 0x103b0> {[«4""»]|[##1]|[#1]|[@@-3]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 21ac2-21ac6 StackAdj> Δ+14 {} <MI 21ac6 TST.B (A6-0x3)> {} <MI 21aca BEQ 0x21ad8> {} <POP 21acc-21ad8 Naked> Σ0 →0x21b54 <Pointer.fp 0x21acc <LVAR 0x00c @ 4(r)>> Δ-4 {[@@12]} <Call 0x21ace 0x102bc> {[@@12]} FreeString(VAR a : String) <POP 21ad4-21ad6 StackAdj> Δ+4 {} <MI 21ad6 BRA 0x21b54> {} <POP 21ad8-21b54 Naked> Σ0 ↓ ←0x21a3e <Call 0x21ad8 0x10538> {} IPC_Init(void) <MI 21ade MOVEA.L (A6+0x8),A0> {} <MI 21ae2 PEA.L (A0)> Δ-4 {[4, '^(A0)']} <Call 0x21ae4 0x10526> {[4, '^(A0)']} IPC_GetBool() : Bool <POP 21aea-21aec StackAdj> Δ+4 {} <Pointer.fp 0x21aec <LVAR -0x014 @ 4(r)>> Δ-4 {[@@-20]} <Call 0x21af0 0x1052c> {[@@-20]} IPC_GetString(VAR retval : String) <POP 21af6-21af8 StackAdj> Δ+4 {} <Pointer.fp 0x21af8 <LVAR -0x010 @ 4(r)>> Δ-4 {[@@-16]} <Call 0x21afc 0x1052c> {[@@-16]} IPC_GetString(VAR retval : String) <POP 21b02-21b04 StackAdj> Δ+4 {} <Pointer.fp 0x21b04 <LVAR -0x00c @ 1(r)>> Δ-4 {[@@-12]} <Const 0x21b08 0x0.4> Δ-4 {[@@-12]|[##0]} <Const 0x21b0a 0x0.4> Δ-4 {[@@-12]|[##0]|[##0]} <Call 0x21b0c 0x10520> {[@@-12]|[##0]|[##0]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 21b12-21b14 StackAdj> Δ+12 {} <Pointer.fp 0x21b14 <LVAR -0x00b @>> Δ-4 {[@@-11]} <Const 0x21b18 0x0.4> Δ-4 {[@@-11]|[##0]} <Const 0x21b1a 0x7.4> Δ-4 {[@@-11]|[##0]|[##7]} <Call 0x21b1e 0x10520> {[@@-11]|[##0]|[##7]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 21b24-21b26 StackAdj> Δ+12 {} <Call 0x21b26 0x1051a> {} IPC_GetEnd(void) <MI 21b2c MOVE.L (A6+0xc),-(A7)> Δ-4 {[4, '(A6+0xc)']} <MI 21b2e MOVE.B (A0),-(A7)> Δ-2 {[4, '(A6+0xc)']|[2, '(A0)']} <MI 21b30 MOVE.L (A6-0x14),-(A7)> Δ-4 {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']} <MI 21b34 MOVE.L (A6-0x10),-(A7)> Δ-4 {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']} <MI 21b38 MOVE.B (A6-0xc),-(A7)> Δ-2 {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']} <Blob 0x21b3c [8] (A6-0xb)> Δ-8 {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']|[«8»]} <Call 0x21b4c 0x216a8> {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']|[«8»]} <POP 21b50-21b54 StackAdj> Δ+24 {} <POP 21b54-21b5c Epilogue> Σ0 ←0x21acc
@ 21b5c <LVAR 0x00e @ 4(r)> <LVAR 0x00c 1(r)> <LVAR 0x008 4(r)> <LVAR -0x004 1(rw)> <LVAR -0x005 @ 1(r)> <LVAR -0x00d @> <LVAR -0x00e @ 1(r)> <LVAR -0x012 @ 4(r)> <LVAR -0x016 @ 4(r)> <POP 21b5c-21cd6 Body> <POP 21b5c-21b72 Prologue> Σ0 ↓ <POP 21b72-21b80 RegCacheLoad> Σ0 ↓ <POP 21b80-21c46 Naked> Σ0 ↓ →0x21c52 <MI 21b80 MOVE.B (A6+0xc),(A6-0x4)> {} <Call 0x21b86 0x10538> {} IPC_Init(void) <MI 21b8c MOVE.B (A6-0x4),-(A7)> Δ-2 {[2, '(A6-0x4)']} <MI 21b90 PEA.L (A7)> Δ-4 {[2, '(A6-0x4)']|[4, '^(A7)']} <Const 0x21b92 0x0.4> Δ-4 {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]} <Const 0x21b94 0x0.4> Δ-4 {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]} <Call 0x21b96 0x104fc> {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]} IPC_PutVar(src : Pointer; length : Long ; type : Long) <POP 21b9c-21b9e StackAdj> Δ+14 {} <MI 21b9e MOVE.B 0x2352a,D0> {} <MI 21ba4 EXTB.W D0> {} <POP 0x21ba6 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21ba8 MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21baa 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21bb0-21bb2 StackAdj> Δ+2 {} <MI 21bb2 MOVE.B 0x2352b,D0> {} <MI 21bb8 EXTB.W D0> {} <POP 0x21bba LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21bbc MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21bbe 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21bc4-21bc6 StackAdj> Δ+2 {} <Call 0x21bc6 0x10514> {} IPC_PutEnd(void) <Blob 0x21bcc [4] @> Δ-4 {[«4""»]} <Blob 0x21bd0 [4] @> Δ-4 {[«4""»]|[«4""»]} <Blob 0x21bd4 [4] @> Δ-4 {[«4""»]|[«4""»]|[«4""»]} <Blob 0x21bd8 [4] @> Δ-4 {[«4""»]|[«4""»]|[«4""»]|[«4""»]} <POP 21bdc-21bde StackAdj> Δ-8 {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-8-]} <Lit 0x21bde 12> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$Running FRU_]} <MI 21bec MOVE.L (A6+0xe),(A7)> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']} <POP 21be6-21bec StackAdj> Δ-8 {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} <Call 0x21bee 0x102cc> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} StringDup(a : String) : String <Lit 0x21bf4 4> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]} <POP 21c04-21c06 StackAdj> Δ-6 {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-6-]} <MI 21c06 MOVE.B (A6+0xc),(A7)> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-6-]} <Call 0x21c0a 0x1049c> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-6-]} BoardName(address : B) : String <POP 21c10-21c12 StackAdj> Δ+2 {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-4-]} <Call 0x21c12 0x102d8> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-4-]} StringCat4(a, b, c, d : String) : String <POP 21c18-21c1c StackAdj> Δ+16 {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]} <Call 0x21c1c 0x103e0> {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 21c22-21c24 StackAdj> Δ+12 {[«4""»]|[«4""»]} <MI 21c24 MOVE.L (A6+0xe),(A7)> {[«4""»]|[4, '(A6+0xe)']} <Call 0x21c26 0x102cc> {[«4""»]|[4, '(A6+0xe)']} StringDup(a : String) : String <POP 21c2c-21c2e StackAdj> Δ+4 {[«4""»]} <Const 0x21c2e 0x1.4> Δ-4 {[«4""»]|[##1]} <Const 0x21c32 0x1.2> Δ-2 {[«4""»]|[##1]|[#1]} <Pointer.fp 0x21c34 <LVAR -0x005 @ 1(r)>> Δ-4 {[«4""»]|[##1]|[#1]|[@@-5]} <Call 0x21c38 0x103b0> {[«4""»]|[##1]|[#1]|[@@-5]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 21c3e-21c40 StackAdj> Δ+14 {} <MI 21c40 TST.B (A6-0x5)> {} <MI 21c44 BEQ 0x21c52> {} <POP 21c46-21c52 Naked> Σ0 →0x21cce <Pointer.fp 0x21c46 <LVAR 0x00e @ 4(r)>> Δ-4 {[@@14]} <Call 0x21c48 0x102bc> {[@@14]} FreeString(VAR a : String) <POP 21c4e-21c50 StackAdj> Δ+4 {} <MI 21c50 BRA 0x21cce> {} <POP 21c52-21cce Naked> Σ0 ↓ ←0x21b80 <Call 0x21c52 0x10538> {} IPC_Init(void) <MI 21c58 MOVEA.L (A6+0x8),A0> {} <MI 21c5c PEA.L (A0)> Δ-4 {[4, '^(A0)']} <Call 0x21c5e 0x10526> {[4, '^(A0)']} IPC_GetBool() : Bool <POP 21c64-21c66 StackAdj> Δ+4 {} <Pointer.fp 0x21c66 <LVAR -0x016 @ 4(r)>> Δ-4 {[@@-22]} <Call 0x21c6a 0x1052c> {[@@-22]} IPC_GetString(VAR retval : String) <POP 21c70-21c72 StackAdj> Δ+4 {} <Pointer.fp 0x21c72 <LVAR -0x012 @ 4(r)>> Δ-4 {[@@-18]} <Call 0x21c76 0x1052c> {[@@-18]} IPC_GetString(VAR retval : String) <POP 21c7c-21c7e StackAdj> Δ+4 {} <Pointer.fp 0x21c7e <LVAR -0x00e @ 1(r)>> Δ-4 {[@@-14]} <Const 0x21c82 0x0.4> Δ-4 {[@@-14]|[##0]} <Const 0x21c84 0x0.4> Δ-4 {[@@-14]|[##0]|[##0]} <Call 0x21c86 0x10520> {[@@-14]|[##0]|[##0]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 21c8c-21c8e StackAdj> Δ+12 {} <Pointer.fp 0x21c8e <LVAR -0x00d @>> Δ-4 {[@@-13]} <Const 0x21c92 0x0.4> Δ-4 {[@@-13]|[##0]} <Const 0x21c94 0x7.4> Δ-4 {[@@-13]|[##0]|[##7]} <Call 0x21c98 0x10520> {[@@-13]|[##0]|[##7]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 21c9e-21ca0 StackAdj> Δ+12 {} <Call 0x21ca0 0x1051a> {} IPC_GetEnd(void) <MI 21ca6 MOVE.L (A6+0xe),-(A7)> Δ-4 {[4, '(A6+0xe)']} <MI 21ca8 MOVE.B (A0),-(A7)> Δ-2 {[4, '(A6+0xe)']|[2, '(A0)']} <MI 21caa MOVE.L (A6-0x16),-(A7)> Δ-4 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']} <MI 21cae MOVE.L (A6-0x12),-(A7)> Δ-4 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']} <MI 21cb2 MOVE.B (A6-0xe),-(A7)> Δ-2 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']} <Blob 0x21cb6 [8] (A6-0xd)> Δ-8 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]} <Call 0x21cc6 0x216a8> {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]} <POP 21cca-21cce StackAdj> Δ+24 {} <POP 21cce-21cd6 Epilogue> Σ0 ←0x21c46
@ 21cd6 <LVAR 0x00e @ 4(r)> <LVAR 0x00c 1(r)> <LVAR 0x008 4(r)> <LVAR -0x003 1(rw)> <LVAR -0x005 @ 1(r)> <LVAR -0x00d @> <LVAR -0x00e @ 1(r)> <LVAR -0x012 @ 4(r)> <LVAR -0x016 @ 4(r)> <POP 21cd6-21e6a Body> <POP 21cd6-21cec Prologue> Σ0 ↓ <POP 21cec-21d00 RegCacheLoad> Σ0 ↓ <POP 21d00-21dc8 Naked> Σ0 ↓ →0x21dd6 <MI 21d00 MOVE.B (A6+0xc),(A6-0x3)> {} <POP 21d06-21d08 StackAdj> Δ-2 {[-2-]} <Blob 0x21d08 [4] 0x23532> Δ-4 {[-2-]|[«4»]} <MI 21d0e MOVE.L (A6+0xe),-(A7)> Δ-4 {[-2-]|[«4»]|[4, '(A6+0xe)']} <Call 0x21d10 0x102c8> {[-2-]|[«4»]|[4, '(A6+0xe)']} StringEqual(a, b : String) : Byte <POP 21d16-21d18 StackAdj> Δ+8 {[-2-]} <MI 21d18 MOVE.B (A7)+,D0> Δ+2 {} <MI 21d1a NEG.B D0> {} <MI 21d1c ADDQ.B #0x1,D0> {} <MI 21d1e OR.B 0x23530,D0> {} <MI 21d24 EXTB.W D0> {} <POP 0x21d26 LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21d28 MOVE.B D0,D7> {} <Call 0x21d2a 0x10538> {} IPC_Init(void) <MI 21d30 MOVE.B (A6-0x3),-(A7)> Δ-2 {[2, '(A6-0x3)']} <MI 21d34 PEA.L (A7)> Δ-4 {[2, '(A6-0x3)']|[4, '^(A7)']} <Const 0x21d36 0x0.4> Δ-4 {[2, '(A6-0x3)']|[4, '^(A7)']|[##0]} <Const 0x21d38 0x0.4> Δ-4 {[2, '(A6-0x3)']|[4, '^(A7)']|[##0]|[##0]} <Call 0x21d3a 0x104fc> {[2, '(A6-0x3)']|[4, '^(A7)']|[##0]|[##0]} IPC_PutVar(src : Pointer; length : Long ; type : Long) <POP 21d40-21d42 StackAdj> Δ+14 {} <MI 21d42 MOVE.B 0x2352a,D0> {} <MI 21d48 EXTB.W D0> {} <POP 0x21d4a LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21d4c MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21d4e 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <POP 21d50-21d52 StackAdj> Δ+2 {} <MI 21d52 MOVE.B 0x2352b,D0> {} <MI 21d58 EXTB.W D0> {} <POP 0x21d5a LimitCheck 0x0 ≤ D0 ≤ 0x1> {} <MI 21d5c MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x21d5e 0x10502> {[2, 'D0']} IPC_PutBool(a : Bool) <MI 21d60 MOVE.B D7,(A7)> {[-2-]} <Call 0x21d62 0x10502> {[-2-]} IPC_PutBool(a : Bool) <MI 21d64 MOVE.B D7,(A7)> {[-2-]} <Call 0x21d66 0x10502> {[-2-]} IPC_PutBool(a : Bool) <POP 21d68-21d6a StackAdj> Δ+2 {} <Call 0x21d6a 0x10514> {} IPC_PutEnd(void) <Blob 0x21d70 [4] @> Δ-4 {[«4""»]} <Blob 0x21d74 [4] @> Δ-4 {[«4""»]|[«4""»]} <Blob 0x21d78 [4] @> Δ-4 {[«4""»]|[«4""»]|[«4""»]} <POP 21d7c-21d7e StackAdj> Δ-8 {[«4""»]|[«4""»]|[«4""»]|[-8-]} <Lit 0x21d7e 12> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$Running FRU_]} <MI 21d8c MOVE.L (A6+0xe),(A7)> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']} <POP 21d86-21d8c StackAdj> Δ-8 {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} <Call 0x21d8e 0x102cc> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]} StringDup(a : String) : String <POP 21d94-21d96 StackAdj> Δ+4 {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]} <Call 0x21d96 0x102d0> {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]} StringCat2(a, b : String) : String <POP 21d9c-21d9e StackAdj> Δ+8 {[«4""»]|[«4""»]|[«4""»]|[-4-]} <Call 0x21d9e 0x103e0> {[«4""»]|[«4""»]|[«4""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 21da4-21da6 StackAdj> Δ+8 {[«4""»]|[«4""»]} <MI 21da6 MOVE.L (A6+0xe),(A7)> {[«4""»]|[4, '(A6+0xe)']} <Call 0x21da8 0x102cc> {[«4""»]|[4, '(A6+0xe)']} StringDup(a : String) : String <POP 21dae-21db0 StackAdj> Δ+4 {[«4""»]} <Const 0x21db0 0x1.4> Δ-4 {[«4""»]|[##1]} <Const 0x21db4 0x1.2> Δ-2 {[«4""»]|[##1]|[#1]} <Pointer.fp 0x21db6 <LVAR -0x005 @ 1(r)>> Δ-4 {[«4""»]|[##1]|[#1]|[@@-5]} <Call 0x21dba 0x103b0> {[«4""»]|[##1]|[#1]|[@@-5]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 21dc0-21dc2 StackAdj> Δ+14 {} <MI 21dc2 TST.B (A6-0x5)> {} <MI 21dc6 BEQ 0x21dd6> {} <POP 21dc8-21dd6 Naked> Σ0 →0x21e62 <Pointer.fp 0x21dc8 <LVAR 0x00e @ 4(r)>> Δ-4 {[@@14]} <Call 0x21dca 0x102bc> {[@@14]} FreeString(VAR a : String) <POP 21dd0-21dd2 StackAdj> Δ+4 {} <MI 21dd2 BRA 0x21e62> {} <POP 21dd6-21e62 Naked> Σ0 ↓ ←0x21d00 <MI 21dd6 MOVEA.L 0x23532,A0> {} <MI 21ddc MOVEA.L (A6+0xe),A1> {} <BlockMove 128,A1,A0> {} <Call 0x21de6 0x10538> {} IPC_Init(void) <MI 21dec MOVEA.L (A6+0x8),A0> {} <MI 21df0 PEA.L (A0)> Δ-4 {[4, '^(A0)']} <Call 0x21df2 0x10526> {[4, '^(A0)']} IPC_GetBool() : Bool <POP 21df8-21dfa StackAdj> Δ+4 {} <Pointer.fp 0x21dfa <LVAR -0x016 @ 4(r)>> Δ-4 {[@@-22]} <Call 0x21dfe 0x1052c> {[@@-22]} IPC_GetString(VAR retval : String) <POP 21e04-21e06 StackAdj> Δ+4 {} <Pointer.fp 0x21e06 <LVAR -0x012 @ 4(r)>> Δ-4 {[@@-18]} <Call 0x21e0a 0x1052c> {[@@-18]} IPC_GetString(VAR retval : String) <POP 21e10-21e12 StackAdj> Δ+4 {} <Pointer.fp 0x21e12 <LVAR -0x00e @ 1(r)>> Δ-4 {[@@-14]} <Const 0x21e16 0x0.4> Δ-4 {[@@-14]|[##0]} <Const 0x21e18 0x0.4> Δ-4 {[@@-14]|[##0]|[##0]} <Call 0x21e1a 0x10520> {[@@-14]|[##0]|[##0]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 21e20-21e22 StackAdj> Δ+12 {} <Pointer.fp 0x21e22 <LVAR -0x00d @>> Δ-4 {[@@-13]} <Const 0x21e26 0x0.4> Δ-4 {[@@-13]|[##0]} <Const 0x21e28 0x7.4> Δ-4 {[@@-13]|[##0]|[##7]} <Call 0x21e2c 0x10520> {[@@-13]|[##0]|[##7]} IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) <POP 21e32-21e34 StackAdj> Δ+12 {} <Call 0x21e34 0x1051a> {} IPC_GetEnd(void) <MI 21e3a MOVE.L (A6+0xe),-(A7)> Δ-4 {[4, '(A6+0xe)']} <MI 21e3c MOVE.B (A0),-(A7)> Δ-2 {[4, '(A6+0xe)']|[2, '(A0)']} <MI 21e3e MOVE.L (A6-0x16),-(A7)> Δ-4 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']} <MI 21e42 MOVE.L (A6-0x12),-(A7)> Δ-4 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']} <MI 21e46 MOVE.B (A6-0xe),-(A7)> Δ-2 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']} <Blob 0x21e4a [8] (A6-0xd)> Δ-8 {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]} <Call 0x21e5a 0x216a8> {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]} <POP 21e5e-21e62 StackAdj> Δ+24 {} <POP 21e62-21e6a Epilogue> Σ0 ←0x21dc8
@ 21e6a <LVAR 0x008 1(r)> <LVAR -0x001 @ 1(r)> <POP 21e6a-21eec Body> <POP 21e6a-21e80 Prologue> Σ0 ↓ <POP 21e80-21e82 RegCacheLoad> Σ0 ↓ <POP 21e82-21eba Naked> Σ0 ↓ <Blob 0x21e82 [40] @> Δ-40 {[«40""»]} <POP 21e8e-21e90 StackAdj> Δ-8 {[«40""»]|[-8-]} <Lit 0x21e90 40> {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]} <Const 0x21ea2 0x1.4> Δ-4 {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]} <Const 0x21ea6 0x3.4> Δ-4 {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]|[##3]} <Call 0x21eaa 0x103ec> {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]|[##3]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 21eb0-21eb4 StackAdj> Δ+12 {[«40""»]|[-4-]} <MI 21eb4 MOVE.L (A7)+,D6> Δ+4 {[«40""»]} <POP 21eb6-21eb8 StackAdj> Δ+40 {} <MI 21eb8 MOVEQ.L #0x01,D7> {} <POP 21eba-21ec2 Naked> Σ0 ↓ →0x21ec6 ←0x21ee0 <MI 21eba CMPI.L #0x00000002,D7> {} <MI 21ec0 BNE 0x21ec6> {} <POP 21ec2-21ec6 Naked> Σ0 ↓ <Call 0x21ec2 0x215de> {} <POP 21ec6-21ee0 Naked> Σ0 ↓ →0x21ee4 ←0x21eba <MI 21ec6 MOVE.L D7,-(A7)> Δ-4 {[4, 'D7']} <MI 21ec8 MOVE.B (A6+0x8),-(A7)> Δ-2 {[4, 'D7']|[2, '(A6+0x8)']} <Pointer.fp 0x21ecc <LVAR -0x001 @ 1(r)>> Δ-4 {[4, 'D7']|[2, '(A6+0x8)']|[@@-1]} <Call 0x21ed0 0x2186e> {[4, 'D7']|[2, '(A6+0x8)']|[@@-1]} <POP 21ed4-21ed8 StackAdj> Δ+10 {} <MI 21ed8 ADDQ.L #0x1,D7> {} <MI 21eda TST.B (A6-0x1)> {} <MI 21ede BEQ 0x21ee4> {} <POP 21ee0-21ee4 Naked> Σ0 ↓ →0x21eba <MI 21ee0 CMP.L D6,D7> {} <MI 21ee2 BLE 0x21eba> {} <POP 21ee4-21eec Epilogue> Σ0 ←0x21ec6
@ 21eec <POP 21eec-21f0a Body> <POP 21eec-21efe Prologue> Σ0 ↓ <POP 21efe-21f06 Naked> Σ0 ↓ <MI 21efe CLR.B -(A7)> Δ-2 {[#0]} <Call 0x21f00 0x21e6a> {[#0]} <POP 21f04-21f06 StackAdj> Δ+2 {} <POP 21f06-21f0a Epilogue> Σ0
@ 21f0a <POP 21f0a-220b2 Body> <POP 21f0a-21f20 Prologue> Σ0 ↓ <POP 21f20-21f34 RegCacheLoad> Σ0 ↓ <POP 21f34-22054 Naked> Σ0 →0x2206e →0x22072 →0x22076 →0x2207a →0x2207e →0x22082 →0x22086 →0x2208a →0x2208e →0x22092 →0x22094 →0x22096 →0x22098 <Blob 0x21f34 [4] @> Δ-4 {[«4""»]} <Blob 0x21f38 [4] @> Δ-4 {[«4""»]|[«4""»]} <POP 21f3c-21f3e StackAdj> Δ-4 {[«4""»]|[«4""»]|[-4-]} <Lit 0x21f3e 8> {[«4""»]|[«4""»]|[$$Fru menu]} <Call 0x21f4c 0x103e0> {[«4""»]|[«4""»]|[$$Fru menu]} WriteConsoleStringCrLf(str : String) <POP 21f4e-21f50 StackAdj> Δ+12 {} <Blob 0x21f50 [44] @> Δ-44 {[«44""»]} <POP 21f5c-21f5e StackAdj> Δ-4 {[«44""»]|[-4-]} <Lit 0x21f5e 44> {[«44""»]|[$$ 1 => ALL boards 7 => FIU]} <Call 0x21f6c 0x103e0> {[«44""»]|[$$ 1 => ALL boards 7 => FIU]} WriteConsoleStringCrLf(str : String) <POP 21f6e-21f6f StackAdj> Δ+48 ↓ {} <Blob 0x21f6f [50] @> Δ-50 {[«50""»]} <POP 21f7e-21f80 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x21f80 49> {[«50""»]|[$$ 2 => VAL 8 => Memory 0]} <Call 0x21f8c 0x103e0> {[«50""»]|[$$ 2 => VAL 8 => Memory 0]} WriteConsoleStringCrLf(str : String) <POP 21f8e-21f8f StackAdj> Δ+54 ↓ {} <Blob 0x21f8f [50] @> Δ-50 {[«50""»]} <POP 21f9e-21fa0 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x21fa0 49> {[«50""»]|[$$ 3 => TYP 9 => Memory 1]} <Call 0x21fac 0x103e0> {[«50""»]|[$$ 3 => TYP 9 => Memory 1]} WriteConsoleStringCrLf(str : String) <POP 21fae-21faf StackAdj> Δ+54 ↓ {} <Blob 0x21faf [50] @> Δ-50 {[«50""»]} <POP 21fbe-21fc0 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x21fc0 49> {[«50""»]|[$$ 4 => SEQuencer 10 => Memory 2]} <Call 0x21fcc 0x103e0> {[«50""»]|[$$ 4 => SEQuencer 10 => Memory 2]} WriteConsoleStringCrLf(str : String) <POP 21fce-21fcf StackAdj> Δ+54 ↓ {} <Blob 0x21fcf [50] @> Δ-50 {[«50""»]} <POP 21fde-21fe0 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x21fe0 49> {[«50""»]|[$$ 5 => Foreplane 11 => Memory 3]} <Call 0x21fec 0x103e0> {[«50""»]|[$$ 5 => Foreplane 11 => Memory 3]} WriteConsoleStringCrLf(str : String) <POP 21fee-21fef StackAdj> Δ+54 ↓ {} <Blob 0x21fef [56] @> Δ-56 {[«56""»]} <POP 21ffe-22000 StackAdj> Δ-4 {[«56""»]|[-4-]} <Lit 0x22000 55> {[«56""»]|[$$ 6 => IOC 0 => exit this menu]} <Call 0x2200e 0x103e0> {[«56""»]|[$$ 6 => IOC 0 => exit this menu]} WriteConsoleStringCrLf(str : String) <POP 22010-22014 StackAdj> Δ+60 {} <MI 22014 MOVEQ.L #0x0b,D5> {} <Blob 0x22016 [22] @> Δ-22 {[«22""»]} <POP 22022-22024 StackAdj> Δ-8 {[«22""»]|[-8-]} <Lit 0x22024 22> {[«22""»]|[-4-]|[$$Please enter option :_]} <Const 0x22030 0x0.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]} <MI 22034 MOVE.L D5,-(A7)> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[4, 'D5']} <Call 0x22036 0x103ec> {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[4, 'D5']} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 2203c-2203e StackAdj> Δ+12 {[«22""»]|[-4-]} <MI 2203e MOVE.L (A7)+,D6> Δ+4 {[«22""»]} <POP 22040-22042 StackAdj> Δ+22 {} <MI 22042 MOVE.L D6,D0> {} <POP 0x22044 LimitCheck 0x0 ≤ D0 ≤ 0xc> {} <MI 2204a ADD.W D0,D0> {} <MI 2204c SWITCH D0.W> {} <POP 2206e-22070 Naked> Σ0 →0x220aa ←0x21f34 <MI 2206e BRA 0x220aa> {} <POP 22072-22076 Naked> Σ0 →0x2209a ←0x21f34 <MI 22072 MOVEQ.L #0x00,D7> {} <MI 22074 BRA 0x2209a> {} <POP 22076-2207a Naked> Σ0 →0x2209a ←0x21f34 <MI 22076 MOVEQ.L #0x03,D7> {} <MI 22078 BRA 0x2209a> {} <POP 2207a-2207e Naked> Σ0 →0x2209a ←0x21f34 <MI 2207a MOVEQ.L #0x04,D7> {} <MI 2207c BRA 0x2209a> {} <POP 2207e-22082 Naked> Σ0 →0x2209a ←0x21f34 <MI 2207e MOVEQ.L #0x05,D7> {} <MI 22080 BRA 0x2209a> {} <POP 22082-22086 Naked> Σ0 →0x2209a ←0x21f34 <MI 22082 MOVEQ.L #0x0b,D7> {} <MI 22084 BRA 0x2209a> {} <POP 22086-2208a Naked> Σ0 →0x2209a ←0x21f34 <MI 22086 MOVEQ.L #0x02,D7> {} <MI 22088 BRA 0x2209a> {} <POP 2208a-2208e Naked> Σ0 →0x2209a ←0x21f34 <MI 2208a MOVEQ.L #0x06,D7> {} <MI 2208c BRA 0x2209a> {} <POP 2208e-22092 Naked> Σ0 →0x2209a ←0x21f34 ←0x22092 ←0x22094 ←0x22096 <MI 2208e MOVEQ.L #0x07,D7> {} <MI 22090 BRA 0x2209a> {} <POP 22092-22094 Naked> Σ0 →0x2208e ←0x21f34 <MI 22092 BRA 0x2208e> {} <POP 22094-22096 Naked> Σ0 →0x2208e ←0x21f34 <MI 22094 BRA 0x2208e> {} <POP 22096-22098 Naked> Σ0 →0x2208e ←0x21f34 <MI 22096 BRA 0x2208e> {} <POP 22098-2209a Naked> Σ0 ↓ ←0x21f34 <MI 22098 MOVEQ.L #0x01,D7> {} <POP 2209a-220aa Naked> Σ0 ↓ ←0x22072 ←0x22076 ←0x2207a ←0x2207e ←0x22082 ←0x22086 ←0x2208a ←0x2208e <MI 2209a MOVE.B D7,D0> {} <MI 2209c EXTB.W D0> {} <POP 0x2209e LimitCheck 0x0 ≤ D0 ≤ 0xb> {} <MI 220a2 MOVE.B D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x220a4 0x21e6a> {[2, 'D0']} <POP 220a8-220aa StackAdj> Δ+2 {} <POP 220aa-220b2 Epilogue> Σ0 ←0x2206e
@ 220b2 <LVAR 0x00c 1(w)> <LVAR 0x008 4(r)> <POP 220b2-2228a Body> <POP 220b2-220c8 Prologue> Σ0 ↓ <POP 220c8-220de RegCacheLoad> Σ0 ↓ <POP 220de-22282 Naked> Σ0 ↓ <Call 0x220de 0x103dc> {} WriteConsoleCrLf(void) <Blob 0x220e4 [50] @> Δ-50 {[«50""»]} <POP 220f4-220f6 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x220f6 49> {[«50""»]|[$$1 => All 12 => Class Checker]} <Call 0x22104 0x103e0> {[«50""»]|[$$1 => All 12 => Class Checker]} WriteConsoleStringCrLf(str : String) <POP 22106-22107 StackAdj> Δ+54 ↓ {} <Blob 0x22107 [46] @> Δ-46 {[«46""»]} <POP 22116-22118 StackAdj> Δ-4 {[«46""»]|[-4-]} <Lit 0x22118 45> {[«46""»]|[$$2 => Condition selection 13 => Tagstores]} <Call 0x22126 0x103e0> {[«46""»]|[$$2 => Condition selection 13 => Tagstores]} WriteConsoleStringCrLf(str : String) <POP 22128-2212a StackAdj> Δ+50 {} <Blob 0x2212a [48] @> Δ-48 {[«48""»]} <POP 22136-22138 StackAdj> Δ-4 {[«48""»]|[-4-]} <Lit 0x22138 48> {[«48""»]|[$$3 => VAL board 14 => Dynamic RAMS]} <Call 0x22146 0x103e0> {[«48""»]|[$$3 => VAL board 14 => Dynamic RAMS]} WriteConsoleStringCrLf(str : String) <POP 22148-2214a StackAdj> Δ+52 {} <Blob 0x2214a [54] @> Δ-54 {[«54""»]} <POP 22156-22158 StackAdj> Δ-4 {[«54""»]|[-4-]} <Lit 0x22158 54> {[«54""»]|[$$4 => TYP board 15 => Val register files]} <Call 0x22164 0x103e0> {[«54""»]|[$$4 => TYP board 15 => Val register files]} WriteConsoleStringCrLf(str : String) <POP 22166-22168 StackAdj> Δ+58 {} <Blob 0x22168 [54] @> Δ-54 {[«54""»]} <POP 22174-22176 StackAdj> Δ-4 {[«54""»]|[-4-]} <Lit 0x22176 54> {[«54""»]|[$$5 => SEQuencer board 16 => Typ register files]} <Call 0x22182 0x103e0> {[«54""»]|[$$5 => SEQuencer board 16 => Typ register files]} WriteConsoleStringCrLf(str : String) <POP 22184-22186 StackAdj> Δ+58 {} <Blob 0x22186 [50] @> Δ-50 {[«50""»]} <POP 22192-22194 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x22194 50> {[«50""»]|[$$6 => FIU board 17 => Dispatch logic]} <Call 0x221a0 0x103e0> {[«50""»]|[$$6 => FIU board 17 => Dispatch logic]} WriteConsoleStringCrLf(str : String) <POP 221a2-221a4 StackAdj> Δ+54 {} <Blob 0x221a4 [58] @> Δ-58 {[«58""»]} <POP 221b0-221b2 StackAdj> Δ-4 {[«58""»]|[-4-]} <Lit 0x221b2 58> {[«58""»]|[$$7 => Memory board(s) 18 => Error correction (ECC)]} <Call 0x221be 0x103e0> {[«58""»]|[$$7 => Memory board(s) 18 => Error correction (ECC)]} WriteConsoleStringCrLf(str : String) <POP 221c0-221c4 StackAdj> Δ+62 {} <Blob 0x221c4 [42] @> Δ-42 {[«42""»]} <POP 221d0-221d2 StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x221d2 42> {[«42""»]|[$$8 => CSA 19 => Timers]} <Call 0x221e0 0x103e0> {[«42""»]|[$$8 => CSA 19 => Timers]} WriteConsoleStringCrLf(str : String) <POP 221e2-221e6 StackAdj> Δ+46 {} <Blob 0x221e6 [52] @> Δ-52 {[«52""»]} <POP 221f2-221f4 StackAdj> Δ-4 {[«52""»]|[-4-]} <Lit 0x221f4 52> {[«52""»]|[$$9 => Memory Monitor 20 => Worst case paths]} <Call 0x22200 0x103e0> {[«52""»]|[$$9 => Memory Monitor 20 => Worst case paths]} WriteConsoleStringCrLf(str : String) <POP 22202-22203 StackAdj> Δ+56 ↓ {} <Blob 0x22203 [16] @> Δ-16 {[«16""»]} <POP 22214-22216 StackAdj> Δ-4 {[«16""»]|[-4-]} <Lit 0x22216 15> {[«16""»]|[$$10 => IOC board]} <Call 0x22224 0x103e0> {[«16""»]|[$$10 => IOC board]} WriteConsoleStringCrLf(str : String) <POP 22226-2222a StackAdj> Δ+20 {} <MI 2222a MOVEQ.L #0x14,D6> {} <Blob 0x2222c [22] @> Δ-22 {[«22""»]} <POP 2223e-22240 StackAdj> Δ-4 {[«22""»]|[-4-]} <Lit 0x22240 21> {[«22""»]|[$$11 => Privacy Checker]} <Call 0x2224e 0x103e0> {[«22""»]|[$$11 => Privacy Checker]} WriteConsoleStringCrLf(str : String) <POP 22250-22254 StackAdj> Δ+18 {[-8-]} <MI 22254 MOVE.L (A6+0x8),(A7)> {[-4-]|[4, '(A6+0x8)']} <Const 0x22258 0x1.4> Δ-4 {[-4-]|[4, '(A6+0x8)']|[##1]} <MI 2225c MOVE.L D6,-(A7)> Δ-4 {[-4-]|[4, '(A6+0x8)']|[##1]|[4, 'D6']} <Call 0x2225e 0x103ec> {[-4-]|[4, '(A6+0x8)']|[##1]|[4, 'D6']} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 22264-22268 StackAdj> Δ+12 {[-4-]} <MI 22268 MOVE.L (A7)+,D7> Δ+4 {} <MI 2226a MOVE.L D7,D0> {} <MI 2226c SUBQ.L #0x1,D0> {} <POP 0x2226e LimitCheck 0x0 ≤ D0 ≤ 0x14> {} <MI 22278 LEA.L 0x2133e,A0> {} <MI 2227c MOVE.B (A0+D0.L),(A6+0xc)> {} <POP 22282-2228a Epilogue> Σ0
@ 2228a <LVAR 0x00c 1(w)> <LVAR 0x008 4(r)> <POP 2228a-2239c Body> <POP 2228a-222a0 Prologue> Σ0 ↓ <POP 222a0-222b2 RegCacheLoad> Σ0 ↓ <POP 222b2-22394 Naked> Σ0 ↓ <Blob 0x222b2 [38] @> Δ-38 {[«38""»]} <POP 222be-222c0 StackAdj> Δ-4 {[«38""»]|[-4-]} <Lit 0x222c0 38> {[«38""»]|[$$1 => All boards 7 => Memory 0]} <Call 0x222cc 0x103e0> {[«38""»]|[$$1 => All boards 7 => Memory 0]} WriteConsoleStringCrLf(str : String) <POP 222ce-222d0 StackAdj> Δ+42 {} <Blob 0x222d0 [38] @> Δ-38 {[«38""»]} <POP 222dc-222de StackAdj> Δ-4 {[«38""»]|[-4-]} <Lit 0x222de 38> {[«38""»]|[$$2 => SEQuencer 8 => Memory 1]} <Call 0x222ea 0x103e0> {[«38""»]|[$$2 => SEQuencer 8 => Memory 1]} WriteConsoleStringCrLf(str : String) <POP 222ec-222ee StackAdj> Δ+42 {} <Blob 0x222ee [38] @> Δ-38 {[«38""»]} <POP 222fa-222fc StackAdj> Δ-4 {[«38""»]|[-4-]} <Lit 0x222fc 38> {[«38""»]|[$$3 => FIU 9 => Memory 2]} <Call 0x22308 0x103e0> {[«38""»]|[$$3 => FIU 9 => Memory 2]} WriteConsoleStringCrLf(str : String) <POP 2230a-2230c StackAdj> Δ+42 {} <Blob 0x2230c [38] @> Δ-38 {[«38""»]} <POP 22318-2231a StackAdj> Δ-4 {[«38""»]|[-4-]} <Lit 0x2231a 38> {[«38""»]|[$$4 => TYP 10 => Memory 3]} <Call 0x22326 0x103e0> {[«38""»]|[$$4 => TYP 10 => Memory 3]} WriteConsoleStringCrLf(str : String) <POP 22328-2232a StackAdj> Δ+42 {} <Blob 0x2232a [42] @> Δ-42 {[«42""»]} <POP 22336-22338 StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x22338 42> {[«42""»]|[$$5 => VAL 11 => All Memories]} <Call 0x22344 0x103e0> {[«42""»]|[$$5 => VAL 11 => All Memories]} WriteConsoleStringCrLf(str : String) <POP 22346-22348 StackAdj> Δ+42 {[-4-]} <POP 22348-22349 StackAdj> Δ+4 {} <Blob 0x22349 [4] @> Δ-4 {[«4""»]} <Blob 0x2234c [4] @> Δ-4 {[«4""»]|[«4""»]} <POP 22350-22352 StackAdj> Δ-4 {[«4""»]|[«4""»]|[-4-]} <Lit 0x22352 8> {[«4""»]|[«4""»]|[$$6 => IOC]} <Call 0x22360 0x103e0> {[«4""»]|[«4""»]|[$$6 => IOC]} WriteConsoleStringCrLf(str : String) <POP 22362-22364 StackAdj> Δ+4 {[«4""»]|[«4""»]} <MI 22364 MOVE.L (A6+0x8),(A7)> {[«4""»]|[4, '(A6+0x8)']} <Const 0x22368 0x1.4> Δ-4 {[«4""»]|[4, '(A6+0x8)']|[##1]} <Const 0x2236c 0xb.4> Δ-4 {[«4""»]|[4, '(A6+0x8)']|[##1]|[##11]} <Call 0x22370 0x103ec> {[«4""»]|[4, '(A6+0x8)']|[##1]|[##11]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 22376-2237a StackAdj> Δ+12 {[«4""»]} <MI 2237a MOVE.L (A7)+,D7> Δ+4 {} <MI 2237c MOVE.L D7,D0> {} <MI 2237e SUBQ.L #0x1,D0> {} <POP 0x22380 LimitCheck 0x0 ≤ D0 ≤ 0xa> {} <MI 2238a LEA.L 0x21353,A0> {} <MI 2238e MOVE.B (A0+D0.L),(A6+0xc)> {} <POP 22394-2239c Epilogue> Σ0
@ 2239c <LVAR -0x004 1(rw)> <LVAR -0x00a @> <POP 2239c-227ca Body> <POP 2239c-223b2 Prologue> Σ0 ↓ <POP 223b2-223c2 RegCacheLoad> Σ0 ↓ <POP 223c2-2261a Naked> Σ0 ↓ →0x227c2 <Blob 0x223c2 [40] @> Δ-40 {[«40""»]} <POP 223d2-223d4 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x223d4 39> {[«40""»]|[$$0 => Exit this menu 16 => none]} <Call 0x223e2 0x103e0> {[«40""»]|[$$0 => Exit this menu 16 => none]} WriteConsoleStringCrLf(str : String) <POP 223e4-223e8 StackAdj> Δ+44 {} <Blob 0x223e8 [40] @> Δ-40 {[«40""»]} <POP 223f4-223f6 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x223f6 40> {[«40""»]|[$$1 => P1DCOMM 17 => P2IOC]} <Call 0x22402 0x103e0> {[«40""»]|[$$1 => P1DCOMM 17 => P2IOC]} WriteConsoleStringCrLf(str : String) <POP 22404-22408 StackAdj> Δ+44 {} <Blob 0x22408 [40] @> Δ-40 {[«40""»]} <POP 22414-22416 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x22416 40> {[«40""»]|[$$2 => P1FIU 18 => P2MEM]} <Call 0x22422 0x103e0> {[«40""»]|[$$2 => P1FIU 18 => P2MEM]} WriteConsoleStringCrLf(str : String) <POP 22424-22425 StackAdj> Δ+44 ↓ {} <Blob 0x22425 [40] @> Δ-40 {[«40""»]} <POP 22434-22436 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x22436 39> {[«40""»]|[$$3 => P1IOC 19 => P2MM]} <Call 0x22444 0x103e0> {[«40""»]|[$$3 => P1IOC 19 => P2MM]} WriteConsoleStringCrLf(str : String) <POP 22446-22447 StackAdj> Δ+44 ↓ {} <Blob 0x22447 [40] @> Δ-40 {[«40""»]} <POP 22456-22458 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x22458 39> {[«40""»]|[$$4 => P1MEM 20 => none]} <Call 0x22466 0x103e0> {[«40""»]|[$$4 => P1MEM 20 => none]} WriteConsoleStringCrLf(str : String) <POP 22468-2246c StackAdj> Δ+44 {} <Blob 0x2246c [40] @> Δ-40 {[«40""»]} <POP 22478-2247a StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x2247a 40> {[«40""»]|[$$5 => P1SEQ 21 => P2SEQ]} <Call 0x22486 0x103e0> {[«40""»]|[$$5 => P1SEQ 21 => P2SEQ]} WriteConsoleStringCrLf(str : String) <POP 22488-22489 StackAdj> Δ+44 ↓ {} <Blob 0x22489 [42] @> Δ-42 {[«42""»]} <POP 22498-2249a StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x2249a 41> {[«42""»]|[$$6 => P1SF 22 => P2STOP]} <Call 0x224a8 0x103e0> {[«42""»]|[$$6 => P1SF 22 => P2STOP]} WriteConsoleStringCrLf(str : String) <POP 224aa-224ab StackAdj> Δ+46 ↓ {} <Blob 0x224ab [40] @> Δ-40 {[«40""»]} <POP 224ba-224bc StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x224bc 39> {[«40""»]|[$$7 => none 23 => none]} <Call 0x224ca 0x103e0> {[«40""»]|[$$7 => none 23 => none]} WriteConsoleStringCrLf(str : String) <POP 224cc-224d0 StackAdj> Δ+44 {} <Blob 0x224d0 [40] @> Δ-40 {[«40""»]} <POP 224dc-224de StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x224de 40> {[«40""»]|[$$8 => P1TYP 24 => P2TYP]} <Call 0x224ea 0x103e0> {[«40""»]|[$$8 => P1TYP 24 => P2TYP]} WriteConsoleStringCrLf(str : String) <POP 224ec-224ed StackAdj> Δ+44 ↓ {} <Blob 0x224ed [42] @> Δ-42 {[«42""»]} <POP 224fc-224fe StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x224fe 41> {[«42""»]|[$$9 => P1VAL 25 => P2UADR]} <Call 0x2250c 0x103e0> {[«42""»]|[$$9 => P1VAL 25 => P2UADR]} WriteConsoleStringCrLf(str : String) <POP 2250e-22512 StackAdj> Δ+46 {} <Blob 0x22512 [42] @> Δ-42 {[«42""»]} <POP 2251e-22520 StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x22520 42> {[«42""»]|[$$10 => P2ABUS 26 => P2UCODE]} <Call 0x2252e 0x103e0> {[«42""»]|[$$10 => P2ABUS 26 => P2UCODE]} WriteConsoleStringCrLf(str : String) <POP 22530-22534 StackAdj> Δ+46 {} <Blob 0x22534 [40] @> Δ-40 {[«40""»]} <POP 22540-22542 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x22542 40> {[«40""»]|[$$11 => P2COND 27 => P2VAL]} <Call 0x2254e 0x103e0> {[«40""»]|[$$11 => P2COND 27 => P2VAL]} WriteConsoleStringCrLf(str : String) <POP 22550-22551 StackAdj> Δ+44 ↓ {} <Blob 0x22551 [42] @> Δ-42 {[«42""»]} <POP 22560-22562 StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x22562 41> {[«42""»]|[$$12 => P2CSA 28 => P3RAMS]} <Call 0x22570 0x103e0> {[«42""»]|[$$12 => P2CSA 28 => P3RAMS]} WriteConsoleStringCrLf(str : String) <POP 22572-22576 StackAdj> Δ+46 {} <Blob 0x22576 [42] @> Δ-42 {[«42""»]} <POP 22582-22584 StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x22584 42> {[«42""»]|[$$13 => P2EVNT 29 => P3UCODE]} <Call 0x22592 0x103e0> {[«42""»]|[$$13 => P2EVNT 29 => P3UCODE]} WriteConsoleStringCrLf(str : String) <POP 22594-22598 StackAdj> Δ+46 {} <Blob 0x22598 [40] @> Δ-40 {[«40""»]} <POP 225a4-225a6 StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x225a6 40> {[«40""»]|[$$14 => P2FIU 30 => Other]} <Call 0x225b2 0x103e0> {[«40""»]|[$$14 => P2FIU 30 => Other]} WriteConsoleStringCrLf(str : String) <POP 225b4-225b8 StackAdj> Δ+44 {} <Blob 0x225b8 [10] @> Δ-10 {[«10""»]} <POP 225c4-225c6 StackAdj> Δ-4 {[«10""»]|[-4-]} <Lit 0x225c6 10> {[«10""»]|[$$15 => P2FP]} <Call 0x225d4 0x103e0> {[«10""»]|[$$15 => P2FP]} WriteConsoleStringCrLf(str : String) <POP 225d6-225da StackAdj> Δ+14 {} <Blob 0x225da [20] @> Δ-20 {[«20""»]} <POP 225e6-225e8 StackAdj> Δ-8 {[«20""»]|[-8-]} <Lit 0x225e8 20> {[«20""»]|[-4-]|[$$Enter test option :_]} <Const 0x225f6 0x0.4> Δ-4 {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]} <Const 0x225fa 0x1e.4> Δ-4 {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]|[##30]} <Call 0x225fe 0x103ec> {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]|[##30]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 22604-22608 StackAdj> Δ+12 {[«20""»]|[-4-]} <MI 22608 MOVE.L (A7)+,D5> Δ+4 {[«20""»]} <POP 2260a-2260e StackAdj> Δ+20 {} <MI 2260e MOVE.B #0x02,(A6-0x4)> {} <MI 22614 TST.L D5> {} <MI 22616 BEQ 0x227c2> {} <POP 2261a-22622 Naked> Σ0 ↓ →0x22684 <MI 2261a CMPI.L #0x0000001e,D5> {} <MI 22620 BNE 0x22684> {} <POP 22622-22676 Naked> Σ0 Δ-26 ↓ →0x2267a <Blob 0x22622 [18] @> Δ-18 {[«18""»]} <POP 2262e-22630 StackAdj> Δ-8 {[«18""»]|[-8-]} <Lit 0x22630 18> {[«18""»]|[-4-]|[$$Enter test name :_]} <Call 0x2263e 0x103e4> {[«18""»]|[-4-]|[$$Enter test name :_]} AskConsoleString(prompt : String) : String <POP 22644-22646 StackAdj> Δ+4 {[«18""»]|[-4-]} <MI 22646 MOVEA.L (A7)+,A4> Δ+4 {[«18""»]} <POP 22648-22649 StackAdj> Δ+18 ↓ {} <Blob 0x22649 [26] @> Δ-26 {[«26""»]} <POP 22658-2265a StackAdj> Δ-6 {[«26""»]|[-6-]} <Lit 0x2265a 25> {[«26""»]|[-2-]|[$$Is this a multi-board FRU]} <POP 22666-22668 StackAdj> Δ-2 {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[-2-]} <POP 22668-22669 StackAdj> Δ+2 {[«26""»]|[-2-]|[$$Is this a multi-board FRU]} <Const 0x22669 0x1.2> Δ-2 {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[#1]} <Call 0x2266a 0x103f0> {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[#1]} AskOnConsoleYesNo(prompt : String; default : Bool) : Bool <POP 22670-22672 StackAdj> Δ+6 {[«26""»]|[-2-]} <MI 22672 TST.B (A7)+> Δ+2 {[«26""»]} <MI 22674 BEQ 0x2267a> {[«26""»]} <POP 22676-2267a Naked> Σ-26 →0x2267c <MI 22676 MOVEQ.L #0x01,D7> {[-26-]} <MI 22678 BRA 0x2267c> {[-26-]} <POP 2267a-2267c Naked> Σ-26 ↓ ←0x22622 <MI 2267a MOVEQ.L #0x00,D7> {[-26-]} <POP 2267c-22684 Naked> Σ-26 Δ+26 →0x226ec ←0x22676 <POP 2267c-22680 StackAdj> Δ+26 {} <MI 22680 MOVEQ.L #0x01,D6> {} <MI 22682 BRA 0x226ec> {} <POP 22684-226dc Naked> Σ0 ↓ →0x226ea ←0x2261a <MI 22684 MOVE.L D5,D0> {} <MI 22686 SUBQ.L #0x1,D0> {} <POP 0x22688 LimitCheck 0x0 ≤ D0 ≤ 0x1c> {} <MI 22692 MOVE.L D0,D4> {} <MI 22694 MOVEQ.L #0x0c,D3> {} <Call 0x22696 0x1028c> {} ?muls_d3_d4 <MI 2269c LEA.L 0x2135e,A0> {} <Blob 0x226a0 [10] (A0+D4.L)> Δ-10 {[«10»]} <POP 226b2-226b4 StackAdj> Δ-4 {[«10»]|[-4-]} <Lit 0x226b4> {[«10»]|[$$…]} <Pointer.sp 0x226b4 4> Δ-4 <Const 0x226b8 0x1.2> Δ-2 <Const 0x226ba 0xa.2> Δ-2 <Call 0x226be 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 226c0-226c2 StackAdj> Δ+8 <MI 226c2 MOVEA.L (A7)+,A4> Δ+4 {[«10»]} <POP 226c4-226c8 StackAdj> Δ+10 {} <MI 226c8 LEA.L 0x2135e,A0> {} <MI 226cc MOVE.B (A0+D4.L+#0xa),D7> {} <MI 226d0 MOVEQ.L #0x00,D6> {} <MI 226d2 LEA.L 0x2135e,A0> {} <MI 226d6 TST.B (A0+D4.L+#0xb)> {} <MI 226da BEQ 0x226ea> {} <POP 226dc-226ea Naked> Σ0 ↓ →0x226ec <MI 226dc LEA.L 0x2135e,A0> {} <MI 226e0 MOVE.B (A0+D4.L+#0xb),D0> {} <MI 226e4 CMP.B (A6-0x4),D0> {} <MI 226e8 BNE 0x226ec> {} <POP 226ea-226ec Naked> Σ0 ↓ ←0x22684 <MI 226ea ADDQ.B #0x1,D6> {} <POP 226ec-226f2 Naked> Σ0 ↓ →0x2279a ←0x2267c ←0x226dc <MI 226ec TST.B D6> {} <MI 226ee BEQ 0x2279a> {} <POP 226f2-22708 Naked> Σ0 →0x2270e →0x2271c →0x2275e <MI 226f2 MOVE.B D7,D0> {} <MI 226f4 EXTB.W D0> {} <POP 0x226f6 LimitCheck 0x0 ≤ D0 ≤ 0x2> {} <MI 226fe ADD.W D0,D0> {} <MI 22700 SWITCH D0.W> {} <POP 2270e-2271c Naked> Σ0 →0x22798 ←0x226f2 <MI 2270e MOVE.L A4,-(A7)> Δ-4 {[4, 'A4']} <Pointer.fp 0x22710 <LVAR -0x00a @>> Δ-4 {[4, 'A4']|[@@-10]} <Call 0x22714 0x21a1c> {[4, 'A4']|[@@-10]} <POP 22718-2271a StackAdj> Δ+8 {} <MI 2271a BRA 0x22798> {} <POP 2271c-2275e Naked> Σ0 →0x22798 ←0x226f2 <Blob 0x2271c [44] @> Δ-44 {[«44""»]} <MI 2272e MOVE.L A4,-(A7)> Δ-4 {[«44""»]|[4, 'A4']} <POP 22730-22732 StackAdj> Δ-6 {[«44""»]|[4, 'A4']|[-6-]} <Lit 0x22732 43> {[«44""»]|[4, 'A4']|[-2-]|[$$Which board(s) should this FRU be run on :_]} <Call 0x22740 0x2228a> {[«44""»]|[4, 'A4']|[-2-]|[$$Which board(s) should this FRU be run on :_]} <POP 22744-22746 StackAdj> Δ+4 {[«44""»]|[4, 'A4']|[-2-]} <MI 22746 MOVE.B (A7),D0> {[«44""»]|[4, 'A4']|[-2-]} <MI 22748 EXTB.W D0> {[«44""»]|[4, 'A4']|[-2-]} <POP 0x2274a LimitCheck 0x0 ≤ D0 ≤ 0xf> {[«44""»]|[4, 'A4']|[-2-]} <MI 2274e MOVE.B D0,(A7)> {[«44""»]|[4, 'A4']|[-2-]} <Pointer.fp 0x22750 <LVAR -0x00a @>> Δ-4 {[«44""»]|[4, 'A4']|[-2-]|[@@-10]} <Call 0x22754 0x21b5c> {[«44""»]|[4, 'A4']|[-2-]|[@@-10]} <POP 22758-2275c StackAdj> Δ+54 {} <MI 2275c BRA 0x22798> {} <POP 2275e-22798 Naked> Σ0 ↓ ←0x226f2 <Blob 0x2275e [38] @> Δ-38 {[«38""»]} <MI 2276a MOVE.L A4,-(A7)> Δ-4 {[«38""»]|[4, 'A4']} <POP 2276c-2276e StackAdj> Δ-6 {[«38""»]|[4, 'A4']|[-6-]} <Lit 0x2276e 38> {[«38""»]|[4, 'A4']|[-2-]|[$$Which function should this FRU test :_]} <Call 0x2277c 0x220b2> {[«38""»]|[4, 'A4']|[-2-]|[$$Which function should this FRU test :_]} <POP 22780-22782 StackAdj> Δ+4 {[«38""»]|[4, 'A4']|[-2-]} <MI 22782 MOVE.B (A7),D0> {[«38""»]|[4, 'A4']|[-2-]} <MI 22784 EXTB.W D0> {[«38""»]|[4, 'A4']|[-2-]} <POP 0x22786 LimitCheck 0x0 ≤ D0 ≤ 0x1a> {[«38""»]|[4, 'A4']|[-2-]} <MI 2278a MOVE.B D0,(A7)> {[«38""»]|[4, 'A4']|[-2-]} <Pointer.fp 0x2278c <LVAR -0x00a @>> Δ-4 {[«38""»]|[4, 'A4']|[-2-]|[@@-10]} <Call 0x22790 0x21cd6> {[«38""»]|[4, 'A4']|[-2-]|[@@-10]} <POP 22794-22798 StackAdj> Δ+48 {} <POP 22798-2279a Naked> Σ0 →0x227c2 ←0x2270e ←0x2271c <MI 22798 BRA 0x227c2> {} <POP 2279a-227c2 Naked> Σ0 ↓ ←0x226ec <Blob 0x2279a [60] @> Δ-60 {[«60""»]} <POP 227ac-227ae StackAdj> Δ-4 {[«60""»]|[-4-]} <Lit 0x227ae 59> {[«60""»]|[$$That test option is not applicable to this R1000 Processor.]} <Call 0x227bc 0x103e0> {[«60""»]|[$$That test option is not applicable to this R1000 Processor.]} WriteConsoleStringCrLf(str : String) <POP 227be-227c2 StackAdj> Δ+64 {} <POP 227c2-227ca Epilogue> Σ0 ←0x223c2 ←0x22798
@ 227ca <LVAR -0x004 @> <POP 227ca-22836 Body> <POP 227ca-227e0 Prologue> Σ0 ↓ <POP 227e0-227e2 RegCacheLoad> Σ0 ↓ <POP 227e2-2282e Naked> Σ0 ↓ <Blob 0x227e2 [4] @> Δ-4 {[«4""»]} <Blob 0x227e6 [12] @> Δ-12 {[«4""»]|[«12""»]} <POP 227f8-227fa StackAdj> Δ-4 {[«4""»]|[«12""»]|[-4-]} <Lit 0x227fa 4> {[«4""»]|[«12""»]|[$$P2FP]} <POP 2280a-2280c StackAdj> Δ-4 {[«4""»]|[«12""»]|[$$P2FP]|[-4-]} <Lit 0x2280c 11> {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]} <POP 2281c-2281e StackAdj> Δ-2 {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[-2-]} <POP 2281e-2281f StackAdj> Δ+2 {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]} <Const 0x2281f 0x1.2> Δ-2 {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]} <Pointer.fp 0x22820 <LVAR -0x004 @>> Δ-4 {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]|[@@-4]} <Call 0x22824 0x103b0> {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]|[@@-4]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 2282a-2282e StackAdj> Δ+30 {} <POP 2282e-22836 Epilogue> Σ0
@ 22836 <POP 22836-2299a Body> <POP 22836-2284c Prologue> Σ0 ↓ <POP 2284c-22862 RegCacheLoad> Σ0 ↓ <POP 22862-2296a Naked> Σ0 →0x22974 →0x22976 →0x2297c →0x22982 →0x22988 ←0x2298c <Blob 0x22862 [26] @> Δ-26 {[«26""»]} <POP 22872-22874 StackAdj> Δ-4 {[«26""»]|[-4-]} <Lit 0x22874 25> {[«26""»]|[$$Diagnostic execution menu]} <Call 0x22882 0x103e0> {[«26""»]|[$$Diagnostic execution menu]} WriteConsoleStringCrLf(str : String) <POP 22884-22885 StackAdj> Δ+30 ↓ {} <Blob 0x22885 [28] @> Δ-28 {[«28""»]} <POP 22894-22896 StackAdj> Δ-4 {[«28""»]|[-4-]} <Lit 0x22896 27> {[«28""»]|[$$ 1 => Test the foreplane]} <Call 0x228a4 0x103e0> {[«28""»]|[$$ 1 => Test the foreplane]} WriteConsoleStringCrLf(str : String) <POP 228a6-228a8 StackAdj> Δ+32 {} <Blob 0x228a8 [22] @> Δ-22 {[«22""»]} <POP 228b4-228b6 StackAdj> Δ-4 {[«22""»]|[-4-]} <Lit 0x228b6 22> {[«22""»]|[$$ 2 => Run all tests]} <Call 0x228c2 0x103e0> {[«22""»]|[$$ 2 => Run all tests]} WriteConsoleStringCrLf(str : String) <POP 228c4-228c6 StackAdj> Δ+26 {} <Blob 0x228c6 [56] @> Δ-56 {[«56""»]} <POP 228d2-228d4 StackAdj> Δ-4 {[«56""»]|[-4-]} <Lit 0x228d4 56> {[«56""»]|[$$ 3 => Run all tests applicable to a given FRU (board)]} <Call 0x228e2 0x103e0> {[«56""»]|[$$ 3 => Run all tests applicable to a given FRU (board)]} WriteConsoleStringCrLf(str : String) <POP 228e4-228e8 StackAdj> Δ+60 {} <Blob 0x228e8 [28] @> Δ-28 {[«28""»]} <POP 228f4-228f6 StackAdj> Δ-4 {[«28""»]|[-4-]} <Lit 0x228f6 28> {[«28""»]|[$$ 4 => Run a specific test]} <Call 0x22902 0x103e0> {[«28""»]|[$$ 4 => Run a specific test]} WriteConsoleStringCrLf(str : String) <POP 22904-22906 StackAdj> Δ+32 {} <Blob 0x22906 [28] @> Δ-28 {[«28""»]} <POP 22912-22914 StackAdj> Δ-4 {[«28""»]|[-4-]} <Lit 0x22914 28> {[«28""»]|[$$ 0 => Return to main menu]} <Call 0x22920 0x103e0> {[«28""»]|[$$ 0 => Return to main menu]} WriteConsoleStringCrLf(str : String) <POP 22922-22924 StackAdj> Δ+32 {} <Blob 0x22924 [22] @> Δ-22 {[«22""»]} <POP 22930-22932 StackAdj> Δ-8 {[«22""»]|[-8-]} <Lit 0x22932 22> {[«22""»]|[-4-]|[$$Please enter option :_]} <Const 0x2293e 0x0.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]} <Const 0x22942 0x4.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]} <Call 0x22946 0x103ec> {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 2294c-22950 StackAdj> Δ+12 {[«22""»]|[-4-]} <MI 22950 MOVE.L (A7)+,D7> Δ+4 {[«22""»]} <POP 22952-22954 StackAdj> Δ+22 {} <MI 22954 MOVE.L D7,D0> {} <POP 0x22956 LimitCheck 0x0 ≤ D0 ≤ 0x4> {} <MI 22960 ADD.W D0,D0> {} <MI 22962 SWITCH D0.W> {} <POP 22974-22976 Naked> Σ0 →0x2298c ←0x22862 <MI 22974 BRA 0x2298c> {} <POP 22976-2297c Naked> Σ0 →0x2298c ←0x22862 <Call 0x22976 0x227ca> {} <MI 2297a BRA 0x2298c> {} <POP 2297c-22982 Naked> Σ0 →0x2298c ←0x22862 <Call 0x2297c 0x21eec> {} <MI 22980 BRA 0x2298c> {} <POP 22982-22988 Naked> Σ0 →0x2298c ←0x22862 <Call 0x22982 0x21f0a> {} <MI 22986 BRA 0x2298c> {} <POP 22988-2298c Naked> Σ0 ↓ ←0x22862 <Call 0x22988 0x2239c> {} <POP 2298c-22992 Naked> Σ0 ↓ →0x22862 ←0x22974 ←0x22976 ←0x2297c ←0x22982 <MI 2298c TST.L D7> {} <MI 2298e BNE 0x22862> {} <POP 22992-2299a Epilogue> Σ0
@ 2299a <POP 2299a-229ea Body> <POP 2299a-229b0 Prologue> Σ0 ↓ <POP 229b0-229e2 Naked> Σ0 ↓ <Blob 0x229b0 [18] @> Δ-18 {[«18""»]} <POP 229c2-229c4 StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x229c4 17> {[«18""»]|[$$Not yet supported]} <Call 0x229d8 0x103e0> {[«18""»]|[$$Not yet supported]} WriteConsoleStringCrLf(str : String) <POP 229de-229e2 StackAdj> Δ+22 {} <POP 229e2-229ea Epilogue> Σ0
@ 229ea <POP 229ea-22de0 Body> <POP 229ea-22a00 Prologue> Σ0 ↓ <POP 22a00-22a1e RegCacheLoad> Σ0 ↓ <POP 22a1e-22b2e Naked> Σ0 →0x22b38 →0x22b3c →0x22b7c →0x22bc6 →0x22c0a ←0x22dd2 <Blob 0x22a1e [18] @> Δ-18 {[«18""»]} <POP 22a30-22a32 StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x22a32 17> {[«18""»]|[$$Test options menu]} <Call 0x22a40 0x103e0> {[«18""»]|[$$Test options menu]} WriteConsoleStringCrLf(str : String) <POP 22a42-22a44 StackAdj> Δ+22 {} <Blob 0x22a44 [24] @> Δ-24 {[«24""»]} <POP 22a50-22a52 StackAdj> Δ-4 {[«24""»]|[-4-]} <Lit 0x22a52 24> {[«24""»]|[$$ 1 => Specify tracing]} <Call 0x22a60 0x103e0> {[«24""»]|[$$ 1 => Specify tracing]} WriteConsoleStringCrLf(str : String) <POP 22a62-22a64 StackAdj> Δ+28 {} <Blob 0x22a64 [44] @> Δ-44 {[«44""»]} <POP 22a70-22a72 StackAdj> Δ-4 {[«44""»]|[-4-]} <Lit 0x22a72 44> {[«44""»]|[$$ 2 => Specify force control store loading]} <Call 0x22a80 0x103e0> {[«44""»]|[$$ 2 => Specify force control store loading]} WriteConsoleStringCrLf(str : String) <POP 22a82-22a86 StackAdj> Δ+48 {} <Blob 0x22a86 [42] @> Δ-42 {[«42""»]} <POP 22a92-22a94 StackAdj> Δ-4 {[«42""»]|[-4-]} <Lit 0x22a94 42> {[«42""»]|[$$ 3 => Specify automatic fault isolation]} <Call 0x22aa2 0x103e0> {[«42""»]|[$$ 3 => Specify automatic fault isolation]} WriteConsoleStringCrLf(str : String) <POP 22aa4-22aa8 StackAdj> Δ+46 {} <Blob 0x22aa8 [62] @> Δ-62 {[«62""»]} <POP 22ab4-22ab6 StackAdj> Δ-4 {[«62""»]|[-4-]} <Lit 0x22ab6 62> {[«62""»]|[$$ 4 => List explainations and current state of these options]} <Call 0x22ac4 0x103e0> {[«62""»]|[$$ 4 => List explainations and current state of these options]} WriteConsoleStringCrLf(str : String) <POP 22ac6-22aca StackAdj> Δ+66 {} <Blob 0x22aca [28] @> Δ-28 {[«28""»]} <POP 22ad6-22ad8 StackAdj> Δ-4 {[«28""»]|[-4-]} <Lit 0x22ad8 28> {[«28""»]|[$$ 0 => Return to main menu]} <Call 0x22ae4 0x103e0> {[«28""»]|[$$ 0 => Return to main menu]} WriteConsoleStringCrLf(str : String) <POP 22ae6-22ae8 StackAdj> Δ+32 {} <Blob 0x22ae8 [22] @> Δ-22 {[«22""»]} <POP 22af4-22af6 StackAdj> Δ-8 {[«22""»]|[-8-]} <Lit 0x22af6 22> {[«22""»]|[-4-]|[$$Please enter option :_]} <Const 0x22b02 0x0.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]} <Const 0x22b06 0x4.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]} <Call 0x22b0a 0x103ec> {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 22b10-22b14 StackAdj> Δ+12 {[«22""»]|[-4-]} <MI 22b14 MOVE.L (A7)+,D7> Δ+4 {[«22""»]} <POP 22b16-22b18 StackAdj> Δ+22 {} <MI 22b18 MOVE.L D7,D0> {} <POP 0x22b1a LimitCheck 0x0 ≤ D0 ≤ 0x4> {} <MI 22b24 ADD.W D0,D0> {} <MI 22b26 SWITCH D0.W> {} <POP 22b38-22b3c Naked> Σ0 →0x22dd2 ←0x22a1e <MI 22b38 BRA 0x22dd2> {} <POP 22b3c-22b7c Naked> Σ0 →0x22dd2 ←0x22a1e <Blob 0x22b3c [14] @> Δ-14 {[«14""»]} <POP 22b48-22b4a StackAdj> Δ-6 {[«14""»]|[-6-]} <Lit 0x22b4a 14> {[«14""»]|[-2-]|[$$Enable tracing]} <MI 22b58 MOVE.B 0x2352b,D0> {[«14""»]|[-2-]|[$$Enable tracing]} <MI 22b5a NEG.B D0> {[«14""»]|[-2-]|[$$Enable tracing]} <MI 22b5c ADDQ.B #0x1,D0> {[«14""»]|[-2-]|[$$Enable tracing]} <MI 22b5e EXTB.W D0> {[«14""»]|[-2-]|[$$Enable tracing]} <POP 0x22b60 LimitCheck 0x0 ≤ D0 ≤ 0x1> {[«14""»]|[-2-]|[$$Enable tracing]} <MI 22b62 MOVE.B D0,-(A7)> Δ-2 {[«14""»]|[-2-]|[$$Enable tracing]|[2, 'D0']} <Call 0x22b64 0x103f0> {[«14""»]|[-2-]|[$$Enable tracing]|[2, 'D0']} AskOnConsoleYesNo(prompt : String; default : Bool) : Bool <POP 22b6a-22b6c StackAdj> Δ+6 {[«14""»]|[-2-]} <MI 22b6c MOVE.B (A7)+,D0> Δ+2 {[«14""»]} <MI 22b6e EXTB.W D0> {[«14""»]} <POP 0x22b70 LimitCheck 0x0 ≤ D0 ≤ 0x1> {[«14""»]} <POP 22b72-22b76 StackAdj> Δ+14 {} <MI 22b76 MOVE.B D0,0x2352b> {} <MI 22b78 BRA 0x22dd2> {} <POP 22b7c-22bc6 Naked> Σ0 →0x22dd2 ←0x22a1e <Blob 0x22b7c [28] @> Δ-28 {[«28""»]} <POP 22b8c-22b8e StackAdj> Δ-6 {[«28""»]|[-6-]} <Lit 0x22b8e 27> {[«28""»]|[-2-]|[$$Force control store loading]} <MI 22b9c MOVE.B 0x23530,D0> {[«28""»]|[-2-]|[$$Force control store loading]} <MI 22ba2 NEG.B D0> {[«28""»]|[-2-]|[$$Force control store loading]} <MI 22ba4 ADDQ.B #0x1,D0> {[«28""»]|[-2-]|[$$Force control store loading]} <MI 22ba6 EXTB.W D0> {[«28""»]|[-2-]|[$$Force control store loading]} <POP 0x22ba8 LimitCheck 0x0 ≤ D0 ≤ 0x1> {[«28""»]|[-2-]|[$$Force control store loading]} <MI 22baa MOVE.B D0,-(A7)> Δ-2 {[«28""»]|[-2-]|[$$Force control store loading]|[2, 'D0']} <Call 0x22bac 0x103f0> {[«28""»]|[-2-]|[$$Force control store loading]|[2, 'D0']} AskOnConsoleYesNo(prompt : String; default : Bool) : Bool <POP 22bb2-22bb4 StackAdj> Δ+6 {[«28""»]|[-2-]} <MI 22bb4 MOVE.B (A7)+,D0> Δ+2 {[«28""»]} <MI 22bb6 EXTB.W D0> {[«28""»]} <POP 0x22bb8 LimitCheck 0x0 ≤ D0 ≤ 0x1> {[«28""»]} <POP 22bba-22bbc StackAdj> Δ+28 {} <MI 22bbc MOVE.B D0,0x23530> {} <MI 22bc2 BRA 0x22dd2> {} <POP 22bc6-22c0a Naked> Σ0 →0x22dd2 ←0x22a1e <Blob 0x22bc6 [32] @> Δ-32 {[«32""»]} <POP 22bd2-22bd4 StackAdj> Δ-6 {[«32""»]|[-6-]} <Lit 0x22bd4 32> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]} <MI 22be0 MOVE.B 0x2352a,D0> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]} <MI 22be6 NEG.B D0> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]} <MI 22be8 ADDQ.B #0x1,D0> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]} <MI 22bea EXTB.W D0> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]} <POP 0x22bec LimitCheck 0x0 ≤ D0 ≤ 0x1> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]} <MI 22bee MOVE.B D0,-(A7)> Δ-2 {[«32""»]|[-2-]|[$$Enable automatic fault isolation]|[2, 'D0']} <Call 0x22bf0 0x103f0> {[«32""»]|[-2-]|[$$Enable automatic fault isolation]|[2, 'D0']} AskOnConsoleYesNo(prompt : String; default : Bool) : Bool <POP 22bf6-22bf8 StackAdj> Δ+6 {[«32""»]|[-2-]} <MI 22bf8 MOVE.B (A7)+,D0> Δ+2 {[«32""»]} <MI 22bfa EXTB.W D0> {[«32""»]} <POP 0x22bfc LimitCheck 0x0 ≤ D0 ≤ 0x1> {[«32""»]} <POP 22bfe-22c00 StackAdj> Δ+32 {} <MI 22c00 MOVE.B D0,0x2352a> {} <MI 22c06 BRA 0x22dd2> {} <POP 22c0a-22c52 Naked> Σ0 ↓ →0x22c6c ←0x22a1e <Blob 0x22c0a [70] @> Δ-70 {[«70""»]} <POP 22c16-22c18 StackAdj> Δ-4 {[«70""»]|[-4-]} <Lit 0x22c18 70> {[«70""»]|[$$TRACING when ON causes the names of experiments to be displayed on the]} <Call 0x22c24 0x103e0> {[«70""»]|[$$TRACING when ON causes the names of experiments to be displayed on the]} WriteConsoleStringCrLf(str : String) <POP 22c26-22c28 StackAdj> Δ+74 {} <Blob 0x22c28 [36] @> Δ-36 {[«36""»]} <POP 22c34-22c36 StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x22c36 36> {[«36""»]|[$$terminal as they are run. It is now_]} <Call 0x22c44 0x103d8> {[«36""»]|[$$terminal as they are run. It is now_]} WriteConsoleString(str : String) <POP 22c4a-22c4e StackAdj> Δ+40 {} <MI 22c4e TST.B 0x2352b> {} <MI 22c50 BEQ 0x22c6c> {} <POP 22c52-22c6c Naked> Σ0 →0x22c92 <Blob 0x22c52 [2] @> Δ-2 {[«2""»]} <POP 22c56-22c58 StackAdj> Δ-4 {[«2""»]|[-4-]} <Lit 0x22c58 2> {[«2""»]|[$$ON]} <Call 0x22c66 0x103e0> {[«2""»]|[$$ON]} WriteConsoleStringCrLf(str : String) <POP 22c68-22c6a StackAdj> Δ+6 {} <MI 22c6a BRA 0x22c92> {} <POP 22c6c-22c92 Naked> Σ0 ↓ ←0x22c0a <POP 22c6c-22c6e StackAdj> Δ-4 {[-4-]} <POP 22c6e-22c6f StackAdj> Δ+2 {[-2-]} <Blob 0x22c6f [2] @> Δ-2 {[-2-]|[«2""»]} <MI 22c72 MOVE.B 0x20eb1,(A7+0x1)> {[-2-]|[«2""»]} <MI 22c78 MOVE.B 0x20eb2,(A7+0x2)> {[-2-]|[«2""»]} <POP 22c7e-22c80 StackAdj> Δ-4 {[-2-]|[«2""»]|[-4-]} <Lit 0x22c80> {[-2-]|[«2""»]|[$$…]} <Pointer.sp 0x22c80 4> Δ-4 <Const 0x22c84 0x1.2> Δ-2 <Const 0x22c86 0x3.2> Δ-2 <Call 0x22c8a 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 22c8c-22c8e StackAdj> Δ+8 <Call 0x22c8e 0x103e0> {[-2-]|[«2""»]|[$$…]} WriteConsoleStringCrLf(str : String) <POP 22c90-22c92 StackAdj> Δ+8 {} <POP 22c92-22cfe Naked> Σ0 ↓ →0x22d18 ←0x22c52 <Blob 0x22c92 [72] @> Δ-72 {[«72""»]} <POP 22c9e-22ca0 StackAdj> Δ-4 {[«72""»]|[-4-]} <Lit 0x22ca0 72> {[«72""»]|[$$FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode]} <Call 0x22cae 0x103e0> {[«72""»]|[$$FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode]} WriteConsoleStringCrLf(str : String) <POP 22cb0-22cb1 StackAdj> Δ+76 ↓ {} <Blob 0x22cb1 [70] @> Δ-70 {[«70""»]} <POP 22cc0-22cc2 StackAdj> Δ-4 {[«70""»]|[-4-]} <Lit 0x22cc2 69> {[«70""»]|[$$into control store every time they are run, even if the microcode was]} <Call 0x22cd0 0x103e0> {[«70""»]|[$$into control store every time they are run, even if the microcode was]} WriteConsoleStringCrLf(str : String) <POP 22cd2-22cd4 StackAdj> Δ+74 {} <Blob 0x22cd4 [70] @> Δ-70 {[«70""»]} <POP 22ce0-22ce2 StackAdj> Δ-4 {[«70""»]|[-4-]} <Lit 0x22ce2 70> {[«70""»]|[$$still in control store from the last time the test was run. It is now_]} <Call 0x22cee 0x103d8> {[«70""»]|[$$still in control store from the last time the test was run. It is now_]} WriteConsoleString(str : String) <POP 22cf4-22cf6 StackAdj> Δ+74 {} <MI 22cf6 TST.B 0x23530> {} <MI 22cfc BEQ 0x22d18> {} <POP 22cfe-22d18 Naked> Σ0 →0x22d3e <Blob 0x22cfe [2] @> Δ-2 {[«2""»]} <POP 22d02-22d04 StackAdj> Δ-4 {[«2""»]|[-4-]} <Lit 0x22d04 2> {[«2""»]|[$$ON]} <Call 0x22d12 0x103e0> {[«2""»]|[$$ON]} WriteConsoleStringCrLf(str : String) <POP 22d14-22d16 StackAdj> Δ+6 {} <MI 22d16 BRA 0x22d3e> {} <POP 22d18-22d3e Naked> Σ0 ↓ ←0x22c92 <POP 22d18-22d1a StackAdj> Δ-4 {[-4-]} <POP 22d1a-22d1b StackAdj> Δ+2 {[-2-]} <Blob 0x22d1b [2] @> Δ-2 {[-2-]|[«2""»]} <MI 22d1e MOVE.B 0x20eb7,(A7+0x1)> {[-2-]|[«2""»]} <MI 22d24 MOVE.B 0x20eb8,(A7+0x2)> {[-2-]|[«2""»]} <POP 22d2a-22d2c StackAdj> Δ-4 {[-2-]|[«2""»]|[-4-]} <Lit 0x22d2c> {[-2-]|[«2""»]|[$$…]} <Pointer.sp 0x22d2c 4> Δ-4 <Const 0x22d30 0x1.2> Δ-2 <Const 0x22d32 0x3.2> Δ-2 <Call 0x22d36 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 22d38-22d3a StackAdj> Δ+8 <Call 0x22d3a 0x103e0> {[-2-]|[«2""»]|[$$…]} WriteConsoleStringCrLf(str : String) <POP 22d3c-22d3e StackAdj> Δ+8 {} <POP 22d3e-22d8c Naked> Σ0 ↓ →0x22da6 ←0x22cfe <Blob 0x22d3e [66] @> Δ-66 {[«66""»]} <POP 22d4a-22d4c StackAdj> Δ-4 {[«66""»]|[-4-]} <Lit 0x22d4c 66> {[«66""»]|[$$FAULT ISOLATION when ON allows a test that detects an error to run]} <Call 0x22d5a 0x103e0> {[«66""»]|[$$FAULT ISOLATION when ON allows a test that detects an error to run]} WriteConsoleStringCrLf(str : String) <POP 22d5c-22d5d StackAdj> Δ+70 ↓ {} <Blob 0x22d5d [66] @> Δ-66 {[«66""»]} <POP 22d6c-22d6e StackAdj> Δ-4 {[«66""»]|[-4-]} <Lit 0x22d6e 65> {[«66""»]|[$$additional tests that might further isolate the cause. It is now_]} <Call 0x22d7c 0x103d8> {[«66""»]|[$$additional tests that might further isolate the cause. It is now_]} WriteConsoleString(str : String) <POP 22d82-22d84 StackAdj> Δ+70 {} <MI 22d84 TST.B 0x2352a> {} <MI 22d8a BEQ 0x22da6> {} <POP 22d8c-22da6 Naked> Σ0 →0x22dcc <Blob 0x22d8c [2] @> Δ-2 {[«2""»]} <POP 22d90-22d92 StackAdj> Δ-4 {[«2""»]|[-4-]} <Lit 0x22d92 2> {[«2""»]|[$$ON]} <Call 0x22da0 0x103e0> {[«2""»]|[$$ON]} WriteConsoleStringCrLf(str : String) <POP 22da2-22da4 StackAdj> Δ+6 {} <MI 22da4 BRA 0x22dcc> {} <POP 22da6-22dcc Naked> Σ0 ↓ ←0x22d3e <POP 22da6-22da8 StackAdj> Δ-4 {[-4-]} <POP 22da8-22da9 StackAdj> Δ+2 {[-2-]} <Blob 0x22da9 [2] @> Δ-2 {[-2-]|[«2""»]} <MI 22dac MOVE.B 0x20ebd,(A7+0x1)> {[-2-]|[«2""»]} <MI 22db2 MOVE.B 0x20ebe,(A7+0x2)> {[-2-]|[«2""»]} <POP 22db8-22dba StackAdj> Δ-4 {[-2-]|[«2""»]|[-4-]} <Lit 0x22dba> {[-2-]|[«2""»]|[$$…]} <Pointer.sp 0x22dba 4> Δ-4 <Const 0x22dbe 0x1.2> Δ-2 <Const 0x22dc0 0x3.2> Δ-2 <Call 0x22dc4 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 22dc6-22dc8 StackAdj> Δ+8 <Call 0x22dc8 0x103e0> {[-2-]|[«2""»]|[$$…]} WriteConsoleStringCrLf(str : String) <POP 22dca-22dcc StackAdj> Δ+8 {} <POP 22dcc-22dd2 Naked> Σ0 ↓ ←0x22d8c <Call 0x22dcc 0x103dc> {} WriteConsoleCrLf(void) <POP 22dd2-22dd8 Naked> Σ0 ↓ →0x22a1e ←0x22b38 ←0x22b3c ←0x22b7c ←0x22bc6 <MI 22dd2 TST.L D7> {} <MI 22dd4 BNE 0x22a1e> {} <POP 22dd8-22de0 Epilogue> Σ0
@ 22de0 <POP 22de0-22f78 Body> Δ+2 <POP 22de0-22df6 Prologue> Σ0 ↓ <POP 22df6-22e0c RegCacheLoad> Σ0 ↓ <POP 22e0c-22f2c Naked> Σ0 →0x22f38 →0x22f3a →0x22f3a →0x22f52 →0x22f52 →0x22f52 ←0x22f6a <Blob 0x22e0c [14] @> Δ-14 {[«14""»]} <POP 22e18-22e1a StackAdj> Δ-4 {[«14""»]|[-4-]} <Lit 0x22e1a 14> {[«14""»]|[$$Margining menu]} <Call 0x22e28 0x103e0> {[«14""»]|[$$Margining menu]} WriteConsoleStringCrLf(str : String) <POP 22e2a-22e2e StackAdj> Δ+18 {} <Blob 0x22e2e [40] @> Δ-40 {[«40""»]} <POP 22e3a-22e3c StackAdj> Δ-4 {[«40""»]|[-4-]} <Lit 0x22e3c 40> {[«40""»]|[$$ 1 => Margin system clocks to nominal]} <Call 0x22e48 0x103e0> {[«40""»]|[$$ 1 => Margin system clocks to nominal]} WriteConsoleStringCrLf(str : String) <POP 22e4a-22e4e StackAdj> Δ+44 {} <Blob 0x22e4e [36] @> Δ-36 {[«36""»]} <POP 22e5a-22e5c StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x22e5c 36> {[«36""»]|[$$ 2 => Margin system clocks to +5%]} <Call 0x22e68 0x103e0> {[«36""»]|[$$ 2 => Margin system clocks to +5%]} WriteConsoleStringCrLf(str : String) <POP 22e6a-22e6c StackAdj> Δ+40 {} <Blob 0x22e6c [36] @> Δ-36 {[«36""»]} <POP 22e78-22e7a StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x22e7a 36> {[«36""»]|[$$ 3 => Margin system power nominal]} <Call 0x22e86 0x103e0> {[«36""»]|[$$ 3 => Margin system power nominal]} WriteConsoleStringCrLf(str : String) <POP 22e88-22e8a StackAdj> Δ+40 {} <Blob 0x22e8a [32] @> Δ-32 {[«32""»]} <POP 22e96-22e98 StackAdj> Δ-4 {[«32""»]|[-4-]} <Lit 0x22e98 32> {[«32""»]|[$$ 4 => Margin system power +5%]} <Call 0x22ea4 0x103e0> {[«32""»]|[$$ 4 => Margin system power +5%]} WriteConsoleStringCrLf(str : String) <POP 22ea6-22ea8 StackAdj> Δ+36 {} <Blob 0x22ea8 [32] @> Δ-32 {[«32""»]} <POP 22eb4-22eb6 StackAdj> Δ-4 {[«32""»]|[-4-]} <Lit 0x22eb6 32> {[«32""»]|[$$ 5 => Margin system power -5%]} <Call 0x22ec2 0x103e0> {[«32""»]|[$$ 5 => Margin system power -5%]} WriteConsoleStringCrLf(str : String) <POP 22ec4-22ec6 StackAdj> Δ+36 {} <Blob 0x22ec6 [28] @> Δ-28 {[«28""»]} <POP 22ed2-22ed4 StackAdj> Δ-4 {[«28""»]|[-4-]} <Lit 0x22ed4 28> {[«28""»]|[$$ 0 => Return to main menu]} <Call 0x22ee2 0x103e0> {[«28""»]|[$$ 0 => Return to main menu]} WriteConsoleStringCrLf(str : String) <POP 22ee4-22ee6 StackAdj> Δ+32 {} <Blob 0x22ee6 [22] @> Δ-22 {[«22""»]} <POP 22ef2-22ef4 StackAdj> Δ-8 {[«22""»]|[-8-]} <Lit 0x22ef4 22> {[«22""»]|[-4-]|[$$Please enter option :_]} <Const 0x22f00 0x0.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]} <Const 0x22f04 0x5.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##5]} <Call 0x22f08 0x103ec> {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##5]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 22f0e-22f12 StackAdj> Δ+12 {[«22""»]|[-4-]} <MI 22f12 MOVE.L (A7)+,D7> Δ+4 {[«22""»]} <POP 22f14-22f16 StackAdj> Δ+22 {} <MI 22f16 MOVE.L D7,D0> {} <POP 0x22f18 LimitCheck 0x0 ≤ D0 ≤ 0x5> {} <MI 22f22 ADD.W D0,D0> {} <MI 22f24 SWITCH D0.W> {} <POP 22f38-22f3a Naked> Σ0 →0x22f6a ←0x22e0c <MI 22f38 BRA 0x22f6a> {} <POP 22f3a-22f52 Naked> Σ0 Δ-2 →0x22f68 ←0x22e0c ←0x22e0c <MI 22f3a MOVE.L D7,D0> {} <MI 22f3c SUBQ.L #0x1,D0> {} <POP 0x22f3e LimitCheck 0x0 ≤ D0 ≤ 0xffff> {} <MI 22f48 MOVE.W D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x22f4a 0x1022c> {[2, 'D0']} KC16_Clock_Margin <MI 22f50 BRA 0x22f68> {[2, 'D0']} <POP 22f52-22f68 Naked> Σ0 Δ-2 ↓ ←0x22e0c ←0x22e0c ←0x22e0c <MI 22f52 MOVE.L D7,D0> {} <MI 22f54 SUBQ.L #0x3,D0> {} <POP 0x22f56 LimitCheck 0x0 ≤ D0 ≤ 0xffff> {} <MI 22f60 MOVE.W D0,-(A7)> Δ-2 {[2, 'D0']} <Call 0x22f62 0x1022e> {[2, 'D0']} KC17_Power_Margin <POP 22f68-22f6a Naked> Σ-2 Δ+2 ↓ ←0x22f3a <POP 22f68-22f6a StackAdj> Δ+2 {} <POP 22f6a-22f70 Naked> Σ0 ↓ →0x22e0c ←0x22f38 <MI 22f6a TST.L D7> {} <MI 22f6c BNE 0x22e0c> {} <POP 22f70-22f78 Epilogue> Σ0
@ 22f78 <POP 22f78-22fc2 Body> <POP 22f78-22f8e Prologue> Σ0 ↓ <POP 22f8e-22fba Naked> Σ0 ↓ <Blob 0x22f8e [54] @> Δ-54 {[«54""»]} <POP 22f9a-22f9c StackAdj> Δ-4 {[«54""»]|[-4-]} <Lit 0x22f9c 54> {[«54""»]|[$$The feature is not available for Series-200 processors]} <Call 0x22fb0 0x103e0> {[«54""»]|[$$The feature is not available for Series-200 processors]} WriteConsoleStringCrLf(str : String) <POP 22fb6-22fba StackAdj> Δ+58 {} <POP 22fba-22fc2 Epilogue> Σ0
@ 22fc2 <POP 22fc2-231dc Body> <POP 22fc2-22fd8 Prologue> Σ0 ↓ <POP 22fd8-22fec RegCacheLoad> Σ0 ↓ <POP 22fec-2318c Naked> Σ0 →0x2319e →0x231a0 →0x231a6 →0x231ac →0x231b2 →0x231b8 →0x231be →0x231c4 →0x231ca ←0x231ce <Blob 0x22fec [10] @> Δ-10 {[«10""»]} <POP 22ffc-22ffe StackAdj> Δ-4 {[«10""»]|[-4-]} <Lit 0x22ffe 9> {[«10""»]|[$$Main menu]} <Call 0x2300c 0x103e0> {[«10""»]|[$$Main menu]} WriteConsoleStringCrLf(str : String) <POP 2300e-23012 StackAdj> Δ+14 {} <Blob 0x23012 [36] @> Δ-36 {[«36""»]} <POP 2301e-23020 StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x23020 36> {[«36""»]|[$$ 1 => Display cluster information]} <Call 0x2302c 0x103e0> {[«36""»]|[$$ 1 => Display cluster information]} WriteConsoleStringCrLf(str : String) <POP 2302e-23032 StackAdj> Δ+40 {} <Blob 0x23032 [50] @> Δ-50 {[«50""»]} <POP 2303e-23040 StackAdj> Δ-4 {[«50""»]|[-4-]} <Lit 0x23040 50> {[«50""»]|[$$ 2 => Execute confidence test (microdiagnostic)]} <Call 0x2304e 0x103e0> {[«50""»]|[$$ 2 => Execute confidence test (microdiagnostic)]} WriteConsoleStringCrLf(str : String) <POP 23050-23054 StackAdj> Δ+54 {} <Blob 0x23054 [28] @> Δ-28 {[«28""»]} <POP 23060-23062 StackAdj> Δ-4 {[«28""»]|[-4-]} <Lit 0x23062 28> {[«28""»]|[$$ 3 => Execute diagnostics]} <Call 0x23070 0x103e0> {[«28""»]|[$$ 3 => Execute diagnostics]} WriteConsoleStringCrLf(str : String) <POP 23072-23073 StackAdj> Δ+32 ↓ {} <Blob 0x23073 [48] @> Δ-48 {[«48""»]} <POP 23084-23086 StackAdj> Δ-4 {[«48""»]|[-4-]} <Lit 0x23086 47> {[«48""»]|[$$ 4 => Execute PM tests (not implemented yet)]} <Call 0x23094 0x103e0> {[«48""»]|[$$ 4 => Execute PM tests (not implemented yet)]} WriteConsoleStringCrLf(str : String) <POP 23096-2309a StackAdj> Δ+52 {} <Blob 0x2309a [36] @> Δ-36 {[«36""»]} <POP 230a6-230a8 StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x230a8 36> {[«36""»]|[$$ 5 => Margin cluster clocks/power]} <Call 0x230b4 0x103e0> {[«36""»]|[$$ 5 => Margin cluster clocks/power]} WriteConsoleStringCrLf(str : String) <POP 230b6-230b7 StackAdj> Δ+40 ↓ {} <Blob 0x230b7 [30] @> Δ-30 {[«30""»]} <POP 230c6-230c8 StackAdj> Δ-4 {[«30""»]|[-4-]} <Lit 0x230c8 29> {[«30""»]|[$$ 6 => Specify test options]} <Call 0x230d6 0x103e0> {[«30""»]|[$$ 6 => Specify test options]} WriteConsoleStringCrLf(str : String) <POP 230d8-230dc StackAdj> Δ+34 {} <Blob 0x230dc [56] @> Δ-56 {[«56""»]} <POP 230e8-230ea StackAdj> Δ-4 {[«56""»]|[-4-]} <Lit 0x230ea 56> {[«56""»]|[$$ 7 => Repair assistance (model 100 CPU power control)]} <Call 0x230f8 0x103e0> {[«56""»]|[$$ 7 => Repair assistance (model 100 CPU power control)]} WriteConsoleStringCrLf(str : String) <POP 230fa-230fb StackAdj> Δ+60 ↓ {} <Blob 0x230fb [36] @> Δ-36 {[«36""»]} <POP 2310c-2310e StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x2310e 35> {[«36""»]|[$$ 8 => Initialize processor state]} <Call 0x2311c 0x103e0> {[«36""»]|[$$ 8 => Initialize processor state]} WriteConsoleStringCrLf(str : String) <POP 2311e-2311f StackAdj> Δ+40 ↓ {} <Blob 0x2311f [14] @> Δ-14 {[«14""»]} <POP 23130-23132 StackAdj> Δ-4 {[«14""»]|[-4-]} <Lit 0x23132 13> {[«14""»]|[$$ 0 => Exit]} <Call 0x23140 0x103e0> {[«14""»]|[$$ 0 => Exit]} WriteConsoleStringCrLf(str : String) <POP 23142-23146 StackAdj> Δ+18 {} <Blob 0x23146 [22] @> Δ-22 {[«22""»]} <POP 23152-23154 StackAdj> Δ-8 {[«22""»]|[-8-]} <Lit 0x23154 22> {[«22""»]|[-4-]|[$$Please enter option :_]} <Const 0x23160 0x0.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]} <Const 0x23164 0x8.4> Δ-4 {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##8]} <Call 0x23168 0x103ec> {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##8]} AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long <POP 2316e-23172 StackAdj> Δ+12 {[«22""»]|[-4-]} <MI 23172 MOVE.L (A7)+,D7> Δ+4 {[«22""»]} <POP 23174-23176 StackAdj> Δ+22 {} <MI 23176 MOVE.L D7,D0> {} <POP 0x23178 LimitCheck 0x0 ≤ D0 ≤ 0x8> {} <MI 23182 ADD.W D0,D0> {} <MI 23184 SWITCH D0.W> {} <POP 2319e-231a0 Naked> Σ0 →0x231ce ←0x22fec <MI 2319e BRA 0x231ce> {} <POP 231a0-231a6 Naked> Σ0 →0x231ce ←0x22fec <Call 0x231a0 0x214ba> {} <MI 231a4 BRA 0x231ce> {} <POP 231a6-231ac Naked> Σ0 →0x231ce ←0x22fec <Call 0x231a6 0x2150a> {} <MI 231aa BRA 0x231ce> {} <POP 231ac-231b2 Naked> Σ0 →0x231ce ←0x22fec <Call 0x231ac 0x22836> {} <MI 231b0 BRA 0x231ce> {} <POP 231b2-231b8 Naked> Σ0 →0x231ce ←0x22fec <Call 0x231b2 0x2299a> {} <MI 231b6 BRA 0x231ce> {} <POP 231b8-231be Naked> Σ0 →0x231ce ←0x22fec <Call 0x231b8 0x22de0> {} <MI 231bc BRA 0x231ce> {} <POP 231be-231c4 Naked> Σ0 →0x231ce ←0x22fec <Call 0x231be 0x229ea> {} <MI 231c2 BRA 0x231ce> {} <POP 231c4-231ca Naked> Σ0 →0x231ce ←0x22fec <Call 0x231c4 0x22f78> {} <MI 231c8 BRA 0x231ce> {} <POP 231ca-231ce Naked> Σ0 ↓ ←0x22fec <Call 0x231ca 0x215de> {} <POP 231ce-231d4 Naked> Σ0 ↓ →0x22fec ←0x2319e ←0x231a0 ←0x231a6 ←0x231ac ←0x231b2 ←0x231b8 ←0x231be ←0x231c4 <MI 231ce TST.L D7> {} <MI 231d0 BNE 0x22fec> {} <POP 231d4-231dc Epilogue> Σ0
@ 231dc <LVAR -0x004 @> <POP 231dc-2324c Body> <POP 231dc-231f2 Prologue> Σ0 ↓ <POP 231f2-231f4 RegCacheLoad> Σ0 ↓ <POP 231f4-23244 Naked> Σ0 ↓ <Call 0x231f4 0x10538> {} IPC_Init(void) <Const 0x231fa 0x1.2> Δ-2 {[#1]} <Call 0x231fc 0x10502> {[#1]} IPC_PutBool(a : Bool) <POP 23202-23204 StackAdj> Δ+2 {} <Call 0x23204 0x10514> {} IPC_PutEnd(void) <Blob 0x2320a [10] @> Δ-10 {[«10""»]} <POP 2321c-2321e StackAdj> Δ-4 {[«10""»]|[-4-]} <Lit 0x2321e 9> {[«10""»]|[$$CONFIGURE]} <Const 0x23230 0x1.4> Δ-4 {[«10""»]|[$$CONFIGURE]|[##1]} <Const 0x23234 0x1.2> Δ-2 {[«10""»]|[$$CONFIGURE]|[##1]|[#1]} <Pointer.fp 0x23236 <LVAR -0x004 @>> Δ-4 {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]} <Call 0x2323a 0x103b0> {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 23240-23244 StackAdj> Δ+24 {} <POP 23244-2324c Epilogue> Σ0
@ 2324c START <POP 2324c--0001 Body> <POP 2324c-23256 Prologue> Σ0 <POP 23256-23260 RegCacheLoad> Σ0 ↓ <POP 23260-23316 Naked> Σ0 ↓ <Call 0x23260 0x10398> {} FSCALL_10398 <Blob 0x23266 [36] @> Δ-36 {[«36""»]} <POP 23272-23274 StackAdj> Δ-4 {[«36""»]|[-4-]} <Lit 0x23274 36> {[«36""»]|[$$Rational R1000 FRU diagnostic driver]} <Call 0x23282 0x103e0> {[«36""»]|[$$Rational R1000 FRU diagnostic driver]} WriteConsoleStringCrLf(str : String) <POP 23288-23289 StackAdj> Δ+40 ↓ {} <Blob 0x23289 [18] @> Δ-18 {[«18""»]} <POP 23298-2329a StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x2329a 17> {[«18""»]|[$$Initializing ... ]} <Call 0x232a8 0x103d8> {[«18""»]|[$$Initializing ... ]} WriteConsoleString(str : String) <POP 232ae-232b0 StackAdj> Δ+22 {} <MI 232b0 MOVE.B #0x01,0x2352b> {} <MI 232b6 MOVE.B #0x01,0x2352a> {} <MI 232bc MOVE.B #0x01,0x23530> {} <MI 232c2 CLR.L 0x2352c> {} <Const 0x232c8 0x23532.4> Δ-4 {[##144690]} <Call 0x232ce 0x102b8> {[##144690]} NewString(VAR a : String) <POP 232d4-232d6 StackAdj> Δ+4 {} <Call 0x232d6 0x231dc> {} <Blob 0x232da [6] @> Δ-6 {[«6""»]} <POP 232ea-232ec StackAdj> Δ-4 {[«6""»]|[-4-]} <Lit 0x232ec 5> {[«6""»]|[$$done!]} <Call 0x232fa 0x103e0> {[«6""»]|[$$done!]} WriteConsoleStringCrLf(str : String) <POP 23300-23304 StackAdj> Δ+10 {} <Call 0x23304 0x22fc2> {} <MI 23308 CLR.B -(A7)> Δ-2 {[#0]} <Const 0x2330a 0x1.4> Δ-4 {[#0]|[##1]} <Call 0x2330e 0x103b8> {[#0]|[##1]} PopProgram(status : Byte; msg : String) <POP 23314-23316 StackAdj> Δ+6 {} <POP 23316-2331c Naked> Σ0 <Call 0x23316 0x10284> {} ?exit
@ 2332a PROG_FAIL <LVAR 0x008 1(r)> <POP 2332a-23392 Body> <POP 2332a-23340 Prologue> Σ0 ↓ <POP 23340-2338a Naked> Σ0 ↓ <Blob 0x23340 [14] @> Δ-14 {[«14""»]} <Const 0x2334c 0x3.2> Δ-2 {[«14""»]|[#3]} <POP 23350-23352 StackAdj> Δ-8 {[«14""»]|[#3]|[-8-]} <Lit 0x23352 14> {[«14""»]|[#3]|[-4-]|[$$Words error :_]} <POP 23364-23366 StackAdj> Δ-4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 23366 MOVE.B (A6+0x8),D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 2336a EXTB.W D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 2336c EXTW.L D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 2336e MOVE.L D0,-(A7)> Δ-4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']} <Call 0x23370 0x102e4> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']} Long2String(a : Long) : String <POP 23376-23378 StackAdj> Δ+4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <Call 0x23378 0x102d0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} StringCat2(a, b : String) : String <POP 2337e-23380 StackAdj> Δ+8 {[«14""»]|[#3]|[-4-]} <Call 0x23380 0x103b8> {[«14""»]|[#3]|[-4-]} PopProgram(status : Byte; msg : String) <POP 23386-2338a StackAdj> Δ+20 {} <POP 2338a-23392 Epilogue> Σ0
@ 233e6 EXP_FAIL <LVAR 0x00e 1(r)> <LVAR 0x00a 4(r)> <LVAR 0x008 1(r)> <POP 233e6-23522 Body> <POP 233e6-233fc Prologue> Σ0 ↓ <POP 233fc-23412 RegCacheLoad> Σ0 ↓ <POP 23412-23472 Naked> Σ0 ↓ →0x234ba <Call 0x23412 0x103dc> {} WriteConsoleCrLf(void) <Blob 0x23418 [18] @> Δ-18 {[«18""»]} <POP 23424-23426 StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x23426 18> {[«18""»]|[$$Experiment error :]} <Call 0x23432 0x103e0> {[«18""»]|[$$Experiment error :]} WriteConsoleStringCrLf(str : String) <POP 23434-23435 StackAdj> Δ+22 ↓ {} <Blob 0x23435 [14] @> Δ-14 {[«14""»]} <POP 23444-23446 StackAdj> Δ-8 {[«14""»]|[-8-]} <Lit 0x23446 13> {[«14""»]|[-4-]|[$$Board :_]} <POP 23450-23452 StackAdj> Δ-6 {[«14""»]|[-4-]|[$$Board :_]|[-6-]} <MI 23452 MOVE.B (A6+0xe),(A7)> {[«14""»]|[-4-]|[$$Board :_]|[-6-]} <Call 0x23456 0x1049c> {[«14""»]|[-4-]|[$$Board :_]|[-6-]} BoardName(address : B) : String <POP 2345c-2345e StackAdj> Δ+2 {[«14""»]|[-4-]|[$$Board :_]|[-4-]} <Call 0x2345e 0x102d0> {[«14""»]|[-4-]|[$$Board :_]|[-4-]} StringCat2(a, b : String) : String <POP 23464-23466 StackAdj> Δ+8 {[«14""»]|[-4-]} <Call 0x23466 0x103e0> {[«14""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 23468-2346a StackAdj> Δ+18 {} <MI 2346a MOVEA.L (A6+0xa),A0> {} <MI 2346e CMPA.W #0x01,A0> {} <MI 23470 BEQ 0x234ba> {} <POP 23472-234ba Naked> Σ0 ↓ <Blob 0x23472 [14] @> Δ-14 {[«14""»]} <Blob 0x23482 [30] (A0+0xfc)> Δ-30 {[«14""»]|[«30»]} <POP 23492-23494 StackAdj> Δ-8 {[«14""»]|[«30»]|[-8-]} <Lit 0x23494 13> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]} <POP 2349e-234a0 StackAdj> Δ-4 {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]} <Lit 0x234a0> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]} <Pointer.sp 0x234a0 12> Δ-4 <Const 0x234a4 0x1.2> Δ-2 <Const 0x234a6 0x1e.2> Δ-2 <Call 0x234a8 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 234aa-234ac StackAdj> Δ+8 <Call 0x234ac 0x102d0> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]} StringCat2(a, b : String) : String <POP 234b2-234b4 StackAdj> Δ+8 {[«14""»]|[«30»]|[-4-]} <Call 0x234b4 0x103e0> {[«14""»]|[«30»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 234b6-234ba StackAdj> Δ+48 {} <POP 234ba-2351a Naked> Σ0 ↓ ←0x23412 <Blob 0x234ba [14] @> Δ-14 {[«14""»]} <POP 234ca-234cc StackAdj> Δ-8 {[«14""»]|[-8-]} <Lit 0x234cc 13> {[«14""»]|[-4-]|[$$Status :_]} <POP 234d6-234d8 StackAdj> Δ-6 {[«14""»]|[-4-]|[$$Status :_]|[-6-]} <MI 234d8 MOVE.B (A6+0x8),(A7)> {[«14""»]|[-4-]|[$$Status :_]|[-6-]} <Call 0x234dc 0x104a2> {[«14""»]|[-4-]|[$$Status :_]|[-6-]} ExpStatus2Text(status.B, &String) <POP 234e2-234e4 StackAdj> Δ+2 {[«14""»]|[-4-]|[$$Status :_]|[-4-]} <Call 0x234e4 0x102d0> {[«14""»]|[-4-]|[$$Status :_]|[-4-]} StringCat2(a, b : String) : String <POP 234ea-234ec StackAdj> Δ+8 {[«14""»]|[-4-]} <Call 0x234ec 0x103e0> {[«14""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 234ee-234ef StackAdj> Δ+18 ↓ {} <Blob 0x234ef [24] @> Δ-24 {[«24""»]} <Const 0x234fe 0x2.2> Δ-2 {[«24""»]|[#2]} <POP 23502-23504 StackAdj> Δ-4 {[«24""»]|[#2]|[-4-]} <Lit 0x23504 23> {[«24""»]|[#2]|[$$Fatal experiment error.]} <Call 0x23512 0x103b8> {[«24""»]|[#2]|[$$Fatal experiment error.]} PopProgram(status : Byte; msg : String) <POP 23518-2351a StackAdj> Δ+30 {} <POP 2351a-23522 Epilogue> Σ0
00020000 ; -------------------------------------------------------------------------------------- 00020000 ; R1000.Disassembly modules: 00020000 ; import all 00020000 ; import kind.program 00020000 ; no ident.f3485d271f4bcf91 00020000 ; -------------------------------------------------------------------------------------- 00020000 stack.top: 00020000 00 04 00 00 | | .CODE 0x40000 ; STACK.END 00020004 00 02 32 4c | 2L | .CODE START 00020008 00 01 02 88 | | .CODE FSCALL_10288 0002000c heap.top: 0002000c 00 02 35 46 | 5F | .PTR 0x23546 00020010 code.end: 00020010 00 02 35 22 | 5" | .PTR 0x23522 00020014 00 00 00 00 | | .CONST 0x00000000 00020018 programfailurehandler: 00020018 00 02 33 2a | 3* | .CODE PROG_FAIL 0002001c experimentfailurehandler: 0002001c 00 02 33 e6 | 3 | .CODE EXP_FAIL 00020020 00 00 00 00 | | .CONST 0x00000000 00020024 exp_init_done: 00020024 00 | | .CONST 0x00 00020025 00 | | .CONST 0x00 00020026 00 00 | | .CONST 0x0000 00020028 00 00 | | .CONST 0x0000 0002002a 00 00 | | .XXX[0x2] 0002002c 00 00 | | .CONST 0x0000 0002002e 00 00 | | .CONST 0x0000 00020030 00 00 | | .CONST 0x0000 00020032 00 00 00 00 00 00 | | .XXX[0x6] 00020038 00 00 00 00 00 00 00 00 | | .BLANK 00[0xb0] 000200e8 00 00 00 00 | | .XXX[0x4] 000200ec 00 00 00 00 | | .PTR 0x0 000200f0 is_open_ERROR_LOG: 000200f0 00 | | .CONST 0x0 000200f1 write_error_ERROR_LOG: 000200f1 00 | | .CONST 0x0 000200f2 00 00 00 00 | | .CONST 0x00000000 000200f6 00 00 00 00 | | .CONST 0x00000000 000200fa 00 | | .CONST 0x00 000200fb 00 | | .CONST 0x00 000200fc file_ERROR_LOG: 000200fc 00 00 00 00 | | .CONST 0x00000000 00020100 00 00 00 00 | | .CONST 0x00000000 00020104 00 00 | | .CONST 0x0000 00020106 00 00 | | .CONST 0x0000 00020108 somekindoffsflag: 00020108 00 | | .CONST 0x00 00020109 00 | | .CONST 0x00 0002010a 40 28 23 29 46 52 |@(#)FR | .XXX[0x6] 00020110 55 2c 32 2e 31 2c 39 32 |U,2.1,92| .XXX[0x18] 00020118 2f 30 31 2f 31 36 2c 31 |/01/16,1| 00020120 32 3a 33 34 3a 35 36 5c |2:34:56\| 00020128 4e 6f 74 20 79 65 74 20 |Not yet | .TXT 'Not yet supported ' 0002013a 52 55 4e 5f 55 44 49 41 |RUN_UDIA| .TXT 'RUN_UDIAG ' 00020144 55 44 49 41 47 20 |UDIAG | .TXT 'UDIAG ' 0002014a 43 4f 4e 46 49 47 55 52 |CONFIGUR| .TXT 'CONFIGURE ' 00020154 49 4e 49 54 53 54 41 54 |INITSTAT| .TXT 'INITSTATE ' 0002015e 2e 45 52 52 |.ERR | .TXT '.ERR' 00020162 4d 45 53 53 |MESS | .TXT 'MESS' 00020166 20 70 61 73 73 65 64 20 | passed | .TXT ' passed ' 0002016e 20 66 61 69 6c 65 64 20 | failed | .TXT ' failed ' 00020176 54 68 65 20 64 69 61 67 |The diag| .TXT 'The diagnostic which found the failure was_ ' 000201a2 46 69 65 6c 64 20 72 65 |Field re| .TXT 'Field replaceable units : ' 000201bc 46 52 55 5f |FRU_ | .TXT 'FRU_' 000201c0 4c 49 54 53 |LITS | .TXT 'LITS' 000201c4 2e 54 58 54 |.TXT | .TXT '.TXT' 000201c8 50 20 |P | .TXT 'P ' 000201ca 46 52 |FR | .TXT 'FR' 000201cc 55 20 |U | .XXX[0x2] 000201ce 50 68 |Ph | .TXT 'Ph' 000201d0 61 73 |as | .TXT 'as' 000201d2 65 5f |e_ | .TXT 'e_' 000201d4 52 75 6e 6e |Runn | .TXT 'Runn' 000201d8 69 6e 67 20 |ing | .TXT 'ing ' 000201dc 46 52 55 5f |FRU_ | .TXT 'FRU_' 000201e0 52 75 6e 6e 69 6e 67 20 |Running | .XXX[0x8] 000201e8 46 52 55 5f |FRU_ | .XXX[0x4] 000201ec 52 75 6e 6e |Runn | .TXT 'Runn' 000201f0 69 6e 67 20 |ing | .TXT 'ing ' 000201f4 46 52 55 5f |FRU_ | .TXT 'FRU_' 000201f8 20 6f 6e 5f | on_ | .TXT ' on_' 000201fc 52 75 6e 6e |Runn | .TXT 'Runn' 00020200 69 6e 67 20 |ing | .TXT 'ing ' 00020204 46 52 55 5f |FRU_ | .TXT 'FRU_' 00020208 50 6c 65 61 73 65 20 65 |Please e| .TXT 'Please enter maximum test phase (1-3) :_' 00020230 46 72 75 20 |Fru | .TXT 'Fru ' 00020234 6d 65 6e 75 |menu | .TXT 'menu' 00020238 20 20 20 20 31 20 3d 3e | 1 =>| .TXT ' 1 => ALL boards 7 => FIU' 00020264 20 20 20 20 32 20 3d 3e | 2 =>| .TXT ' 2 => VAL 8 => Memory 0 ' 00020296 20 20 20 20 33 20 3d 3e | 3 =>| .TXT ' 3 => TYP 9 => Memory 1 ' 000202c8 20 20 20 20 34 20 3d 3e | 4 =>| .TXT ' 4 => SEQuencer 10 => Memory 2 ' 000202fa 20 20 20 20 35 20 3d 3e | 5 =>| .TXT ' 5 => Foreplane 11 => Memory 3 ' 0002032c 20 20 20 20 36 20 3d 3e | 6 =>| .TXT ' 6 => IOC 0 => exit this menu ' 00020364 50 6c 65 61 73 65 20 65 |Please e| .TXT 'Please enter option :_' 0002037a 31 20 20 3d 3e 20 41 6c |1 => Al| .TXT '1 => All 12 => Class Checker ' 000203ac 32 20 20 3d 3e 20 43 6f |2 => Co| .TXT '2 => Condition selection 13 => Tagstores ' 000203da 33 20 20 3d 3e 20 56 41 |3 => VA| .TXT '3 => VAL board 14 => Dynamic RAMS' 0002040a 34 20 20 3d 3e 20 54 59 |4 => TY| .TXT '4 => TYP board 15 => Val register files' 00020440 35 20 20 3d 3e 20 53 45 |5 => SE| .TXT '5 => SEQuencer board 16 => Typ register files' 00020476 36 20 20 3d 3e 20 46 49 |6 => FI| .TXT '6 => FIU board 17 => Dispatch logic' 000204a8 37 20 20 3d 3e 20 4d 65 |7 => Me| .TXT '7 => Memory board(s) 18 => Error correction (ECC)' 000204e2 38 20 20 3d 3e 20 43 53 |8 => CS| .TXT '8 => CSA 19 => Timers' 0002050c 39 20 20 3d 3e 20 4d 65 |9 => Me| .TXT '9 => Memory Monitor 20 => Worst case paths' 00020540 31 30 20 3d 3e 20 53 59 |10 => SY| .XXX[0x30] 00020548 53 42 55 53 20 62 6f 61 |SBUS boa| 00020550 72 64 20 20 20 20 20 20 |rd | 00020558 20 20 20 20 20 20 32 31 | 21| 00020560 20 3d 3e 20 53 59 53 42 | => SYSB| 00020568 55 53 20 62 75 66 66 65 |US buffe| 00020570 72 73 |rs | .XXX[0x2] 00020572 31 30 20 3d 3e 20 49 4f |10 => IO| .TXT '10 => IOC board ' 00020582 31 31 20 3d 3e 20 50 72 |11 => Pr| .TXT '11 => Privacy Checker ' 00020598 31 20 3d 3e 20 41 6c 6c |1 => All| .TXT '1 => All boards 7 => Memory 0' 000205be 32 20 3d 3e 20 53 45 51 |2 => SEQ| .TXT '2 => SEQuencer 8 => Memory 1' 000205e4 33 20 3d 3e 20 46 49 55 |3 => FIU| .TXT '3 => FIU 9 => Memory 2' 0002060a 34 20 3d 3e 20 54 59 50 |4 => TYP| .TXT '4 => TYP 10 => Memory 3' 00020630 35 20 3d 3e 20 56 41 4c |5 => VAL| .TXT '5 => VAL 11 => All Memories' 0002065a 36 20 3d 3e |6 => | .TXT '6 =>' 0002065e 20 49 4f 43 | IOC | .TXT ' IOC' 00020662 50 31 44 43 4f 4d |P1DCOM | .XXX[0x6] 00020668 4d 20 20 20 50 31 46 49 |M P1FI| .XXX[0x118] 00020670 55 20 20 20 20 20 50 31 |U P1| 00020678 49 4f 43 20 20 20 20 20 |IOC | 00020680 50 31 4d 45 4d 20 20 20 |P1MEM | 00020688 20 20 50 31 53 45 51 20 | P1SEQ | 00020690 20 20 20 20 50 31 53 46 | P1SF| 00020698 20 20 20 20 20 20 50 31 | P1| 000206a0 53 59 53 20 20 20 20 20 |SYS | 000206a8 50 31 54 59 50 20 20 20 |P1TYP | 000206b0 20 20 50 31 56 41 4c 20 | P1VAL | 000206b8 20 20 20 20 50 32 41 42 | P2AB| 000206c0 55 53 20 20 20 20 50 32 |US P2| 000206c8 43 4f 4e 44 20 20 20 20 |COND | 000206d0 50 32 43 53 41 20 20 20 |P2CSA | 000206d8 20 20 50 32 45 56 4e 54 | P2EVNT| 000206e0 20 20 20 20 50 32 46 49 | P2FI| 000206e8 55 20 20 20 20 20 50 32 |U P2| 000206f0 46 50 20 20 20 20 20 20 |FP | 000206f8 50 32 49 4f 41 20 20 20 |P2IOA | 00020700 20 20 50 32 49 4f 43 20 | P2IOC | 00020708 20 20 20 20 50 32 4d 45 | P2ME| 00020710 4d 20 20 20 20 20 50 32 |M P2| 00020718 4d 4d 20 20 20 20 20 20 |MM | 00020720 50 32 53 42 55 53 20 20 |P2SBUS | 00020728 20 20 50 32 53 45 51 20 | P2SEQ | 00020730 20 20 20 20 50 32 53 54 | P2ST| 00020738 4f 50 20 20 20 20 50 32 |OP P2| 00020740 53 59 53 20 20 20 20 20 |SYS | 00020748 50 32 54 59 50 20 20 20 |P2TYP | 00020750 20 20 50 32 55 41 44 52 | P2UADR| 00020758 20 20 20 20 50 32 55 43 | P2UC| 00020760 4f 44 45 20 20 20 50 32 |ODE P2| 00020768 56 41 4c 20 20 20 20 20 |VAL | 00020770 50 33 52 41 4d 53 20 20 |P3RAMS | 00020778 20 20 50 33 55 43 4f 44 | P3UCOD| 00020780 45 20 20 20 |E | .XXX[0x4] 00020784 30 20 20 3d 3e 20 45 78 |0 => Ex| .TXT '0 => Exit this menu 16 => none ' 000207ac 31 20 20 3d 3e 20 50 31 |1 => P1| .TXT '1 => P1DCOMM 17 => P2IOC' 000207d4 32 20 20 3d 3e 20 50 31 |2 => P1| .TXT '2 => P1FIU 18 => P2MEM' 000207fc 33 20 20 3d 3e 20 50 31 |3 => P1| .TXT '3 => P1IOC 19 => P2MM ' 00020824 34 20 20 3d 3e 20 50 31 |4 => P1| .TXT '4 => P1MEM 20 => none ' 0002084c 35 20 20 3d 3e 20 50 31 |5 => P1| .TXT '5 => P1SEQ 21 => P2SEQ' 00020874 36 20 20 3d 3e 20 50 31 |6 => P1| .TXT '6 => P1SF 22 => P2STOP ' 0002089e 37 20 20 3d 3e 20 6e 6f |7 => no| .TXT '7 => none 23 => none ' 000208c6 38 20 20 3d 3e 20 50 31 |8 => P1| .TXT '8 => P1TYP 24 => P2TYP' 000208ee 39 20 20 3d 3e 20 50 31 |9 => P1| .TXT '9 => P1VAL 25 => P2UADR ' 00020918 31 30 20 3d 3e 20 50 32 |10 => P2| .TXT '10 => P2ABUS 26 => P2UCODE' 00020942 31 31 20 3d 3e 20 50 32 |11 => P2| .TXT '11 => P2COND 27 => P2VAL' 0002096a 31 32 20 3d 3e 20 50 32 |12 => P2| .TXT '12 => P2CSA 28 => P3RAMS ' 00020994 31 33 20 3d 3e 20 50 32 |13 => P2| .TXT '13 => P2EVNT 29 => P3UCODE' 000209be 31 34 20 3d 3e 20 50 32 |14 => P2| .TXT '14 => P2FIU 30 => Other' 000209e6 31 35 20 3d 3e 20 50 32 |15 => P2| .TXT '15 => P2FP' 000209f0 54 68 61 74 20 74 65 73 |That tes| .TXT 'That test option is not applicable to this R1000 Processor. ' 00020a2c 45 6e 74 65 72 20 74 65 |Enter te| .TXT 'Enter test option :_' 00020a40 45 6e 74 65 72 20 74 65 |Enter te| .TXT 'Enter test name :_' 00020a52 49 73 20 74 68 69 73 20 |Is this | .TXT 'Is this a multi-board FRU ' 00020a6c 57 68 69 63 68 20 62 6f |Which bo| .TXT 'Which board(s) should this FRU be run on :_ ' 00020a98 57 68 69 63 68 20 66 75 |Which fu| .TXT 'Which function should this FRU test :_' 00020abe 50 32 46 50 |P2FP | .TXT 'P2FP' 00020ac2 49 4e 54 45 52 41 43 54 |INTERACT| .TXT 'INTERACTIVE ' 00020ace 44 69 61 67 6e 6f 73 74 |Diagnost| .TXT 'Diagnostic execution menu ' 00020ae8 20 20 20 20 31 20 3d 3e | 1 =>| .TXT ' 1 => Test the foreplane ' 00020b04 20 20 20 20 32 20 3d 3e | 2 =>| .TXT ' 2 => Run all tests' 00020b1a 20 20 20 20 33 20 3d 3e | 3 =>| .TXT ' 3 => Run all tests applicable to a given FRU (board)' 00020b52 20 20 20 20 34 20 3d 3e | 4 =>| .TXT ' 4 => Run a specific test' 00020b6e 20 20 20 20 30 20 3d 3e | 0 =>| .TXT ' 0 => Return to main menu' 00020b8a 50 6c 65 61 73 65 20 65 |Please e| .TXT 'Please enter option :_' 00020ba0 4e 6f 74 20 79 65 74 20 |Not yet | .TXT 'Not yet supported ' 00020bb2 54 65 73 74 20 6f 70 74 |Test opt| .TXT 'Test options menu ' 00020bc4 20 20 20 20 31 20 3d 3e | 1 =>| .TXT ' 1 => Specify tracing' 00020bdc 20 20 20 20 32 20 3d 3e | 2 =>| .TXT ' 2 => Specify force control store loading' 00020c08 20 20 20 20 33 20 3d 3e | 3 =>| .TXT ' 3 => Specify automatic fault isolation' 00020c32 20 20 20 20 34 20 3d 3e | 4 =>| .TXT ' 4 => List explainations and current state of these options' 00020c70 20 20 20 20 30 20 3d 3e | 0 =>| .TXT ' 0 => Return to main menu' 00020c8c 50 6c 65 61 73 65 20 65 |Please e| .TXT 'Please enter option :_' 00020ca2 45 6e 61 62 6c 65 20 74 |Enable t| .TXT 'Enable tracing' 00020cb0 46 6f 72 63 65 20 63 6f |Force co| .TXT 'Force control store loading ' 00020ccc 45 6e 61 62 6c 65 20 61 |Enable a| .TXT 'Enable automatic fault isolation' 00020cec 54 52 41 43 49 4e 47 20 |TRACING | .TXT 'TRACING when ON causes the names of experiments to be displayed on the' 00020d32 74 65 72 6d 69 6e 61 6c |terminal| .TXT 'terminal as they are run. It is now_' 00020d56 46 4f 52 43 45 20 43 4f |FORCE CO| .TXT 'FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode' 00020d9e 69 6e 74 6f 20 63 6f 6e |into con| .TXT 'into control store every time they are run, even if the microcode was ' 00020de4 73 74 69 6c 6c 20 69 6e |still in| .TXT 'still in control store from the last time the test was run. It is now_' 00020e2a 46 41 55 4c 54 20 49 53 |FAULT IS| .TXT 'FAULT ISOLATION when ON allows a test that detects an error to run' 00020e6c 61 64 64 69 74 69 6f 6e |addition| .TXT 'additional tests that might further isolate the cause. It is now_ ' 00020eae 4f 4e |ON | .TXT 'ON' 00020eb0 4f 46 |OF | .TXT 'OF' 00020eb2 46 20 |F | .XXX[0x2] 00020eb4 4f 4e |ON | .TXT 'ON' 00020eb6 4f 46 |OF | .TXT 'OF' 00020eb8 46 20 |F | .XXX[0x2] 00020eba 4f 4e |ON | .TXT 'ON' 00020ebc 4f 46 |OF | .TXT 'OF' 00020ebe 46 20 |F | .XXX[0x2] 00020ec0 4d 61 72 67 69 6e 69 6e |Marginin| .TXT 'Margining menu' 00020ece 20 20 20 20 31 20 3d 3e | 1 =>| .TXT ' 1 => Margin system clocks to nominal' 00020ef6 20 20 20 20 32 20 3d 3e | 2 =>| .TXT ' 2 => Margin system clocks to +5%' 00020f1a 20 20 20 20 33 20 3d 3e | 3 =>| .TXT ' 3 => Margin system power nominal' 00020f3e 20 20 20 20 34 20 3d 3e | 4 =>| .TXT ' 4 => Margin system power +5%' 00020f5e 20 20 20 20 35 20 3d 3e | 5 =>| .TXT ' 5 => Margin system power -5%' 00020f7e 20 20 20 20 30 20 3d 3e | 0 =>| .TXT ' 0 => Return to main menu' 00020f9a 50 6c 65 61 73 65 20 65 |Please e| .TXT 'Please enter option :_' 00020fb0 54 68 65 20 66 65 61 74 |The feat| .TXT 'The feature is not available for Series-200 processors' 00020fe6 54 68 |Th | .XXX[0x2] 00020fe8 69 73 20 6f 70 74 69 6f |is optio| .XXX[0x1a0] 00020ff0 6e 20 77 69 6c 6c 20 72 |n will r| 00020ff8 65 6d 6f 76 65 20 70 6f |emove po| 00021000 77 65 72 20 66 72 6f 6d |wer from| 00021008 20 74 68 65 20 52 31 30 | the R10| 00021010 30 30 20 70 72 6f 63 65 |00 proce| 00021018 73 73 6f 72 20 74 6f 20 |ssor to | 00021020 61 6c 6c 6f 77 20 79 6f |allow yo| 00021028 75 20 74 6f 20 63 68 61 |u to cha| 00021030 6e 67 65 20 62 6f 61 72 |nge boar| 00021038 64 73 20 77 68 69 63 68 |ds which| 00021040 20 61 72 65 20 62 65 68 | are beh| 00021048 69 6e 64 20 74 68 65 20 |ind the | 00021050 66 6f 72 65 70 6c 61 6e |foreplan| 00021058 65 2e 44 6f 20 79 6f 75 |e.Do you| 00021060 20 77 61 6e 74 20 74 6f | want to| 00021068 20 70 6f 77 65 72 20 74 | power t| 00021070 68 65 20 73 79 73 74 65 |he syste| 00021078 6d 20 64 6f 77 6e 54 68 |m downTh| 00021080 65 20 70 72 6f 63 65 73 |e proces| 00021088 73 6f 72 20 70 6f 77 65 |sor powe| 00021090 72 20 69 73 20 6e 6f 77 |r is now| 00021098 20 6f 66 66 2e 20 20 59 | off. Y| 000210a0 6f 75 20 6d 61 79 20 63 |ou may c| 000210a8 68 61 6e 67 65 20 62 6f |hange bo| 000210b0 61 72 64 73 2e 20 54 68 |ards. Th| 000210b8 65 20 49 2f 4f 20 61 64 |e I/O ad| 000210c0 61 70 74 6f 72 20 61 6e |aptor an| 000210c8 64 20 49 2f 4f 20 70 72 |d I/O pr| 000210d0 6f 63 65 73 73 6f 72 20 |ocessor | 000210d8 61 72 65 20 73 74 69 6c |are stil| 000210e0 6c 20 70 6f 77 65 72 65 |l powere| 000210e8 64 2e 20 20 54 6f 63 68 |d. Toch| 000210f0 61 6e 67 65 20 74 68 65 |ange the| 000210f8 20 49 4f 41 20 6f 72 20 | IOA or | 00021100 62 6f 61 72 64 73 20 77 |boards w| 00021108 69 74 68 69 6e 20 74 68 |ithin th| 00021110 65 20 49 4f 50 20 79 6f |e IOP yo| 00021118 75 20 6d 75 73 74 20 74 |u must t| 00021120 75 72 6e 20 74 68 65 20 |urn the | 00021128 70 6f 77 65 72 20 6f 66 |power of| 00021130 66 20 6d 61 6e 75 61 6c |f manual| 00021138 6c 79 20 66 72 6f 6d 20 |ly from | 00021140 74 68 65 20 53 79 73 74 |the Syst| 00021148 65 6d 20 43 6f 6e 74 72 |em Contr| 00021150 6f 6c 20 50 61 6e 65 6c |ol Panel| 00021158 41 72 65 20 79 6f 75 20 |Are you | 00021160 72 65 61 64 79 20 74 6f |ready to| 00021168 20 74 75 72 6e 20 74 68 | turn th| 00021170 65 20 52 31 30 30 30 20 |e R1000 | 00021178 70 72 6f 63 65 73 73 6f |processo| 00021180 72 20 70 6f 77 65 72 20 |r power | 00021188 6f 6e |on | .XXX[0x2] 0002118a 4d 61 69 6e 20 6d 65 6e |Main men| .TXT 'Main menu ' 00021194 20 20 20 20 31 20 3d 3e | 1 =>| .TXT ' 1 => Display cluster information' 000211b8 20 20 20 20 32 20 3d 3e | 2 =>| .TXT ' 2 => Execute confidence test (microdiagnostic)' 000211ea 20 20 20 20 33 20 3d 3e | 3 =>| .TXT ' 3 => Execute diagnostics' 00021206 20 20 20 20 34 20 3d 3e | 4 =>| .TXT ' 4 => Execute PM tests (not implemented yet) ' 00021236 20 20 20 20 35 20 3d 3e | 5 =>| .TXT ' 5 => Margin cluster clocks/power' 0002125a 20 20 20 20 36 20 3d 3e | 6 =>| .TXT ' 6 => Specify test options ' 00021278 20 20 20 20 37 20 3d 3e | 7 =>| .TXT ' 7 => Repair assistance (model 100 CPU power control)' 000212b0 20 20 20 20 38 20 3d 3e | 8 =>| .TXT ' 8 => Initialize processor state ' 000212d4 20 20 20 20 30 20 3d 3e | 0 =>| .TXT ' 0 => Exit ' 000212e2 50 6c 65 61 73 65 20 65 |Please e| .TXT 'Please enter option :_' 000212f8 43 4f 4e 46 49 47 55 52 |CONFIGUR| .TXT 'CONFIGURE ' 00021302 52 61 74 69 6f 6e 61 6c |Rational| .TXT 'Rational R1000 FRU diagnostic driver' 00021326 49 6e 69 74 69 61 6c 69 |Initiali| .TXT 'Initializing ... ' 00021338 64 6f 6e 65 21 20 |done! | .TXT 'done! ' 0002133e 00 01 | | .XXX[0x2] 00021340 03 04 05 06 07 08 09 02 | | .XXX[0x178] 00021348 0a 0b 12 13 14 15 17 18 | | 00021350 19 1a 16 05 02 03 06 07 | | 00021358 04 0c 0d 0e 0f 08 50 31 | P1| 00021360 44 43 4f 4d 4d 20 20 20 |DCOMM | 00021368 01 00 50 31 46 49 55 20 | P1FIU | 00021370 20 20 20 20 00 00 50 31 | P1| 00021378 49 4f 43 20 20 20 20 20 |IOC | 00021380 00 02 50 31 4d 45 4d 20 | P1MEM | 00021388 20 20 20 20 01 00 50 31 | P1| 00021390 53 45 51 20 20 20 20 20 |SEQ | 00021398 00 00 50 31 53 46 20 20 | P1SF | 000213a0 20 20 20 20 01 00 50 31 | P1| 000213a8 53 59 53 20 20 20 20 20 |SYS | 000213b0 00 01 50 31 54 59 50 20 | P1TYP | 000213b8 20 20 20 20 00 00 50 31 | P1| 000213c0 56 41 4c 20 20 20 20 20 |VAL | 000213c8 00 00 50 32 41 42 55 53 | P2ABUS| 000213d0 20 20 20 20 00 00 50 32 | P2| 000213d8 43 4f 4e 44 20 20 20 20 |COND | 000213e0 00 00 50 32 43 53 41 20 | P2CSA | 000213e8 20 20 20 20 00 00 50 32 | P2| 000213f0 45 56 4e 54 20 20 20 20 |EVNT | 000213f8 00 00 50 32 46 49 55 20 | P2FIU | 00021400 20 20 20 20 00 00 50 32 | P2| 00021408 46 50 20 20 20 20 20 20 |FP | 00021410 00 00 50 32 49 4f 41 20 | P2IOA | 00021418 20 20 20 20 00 01 50 32 | P2| 00021420 49 4f 43 20 20 20 20 20 |IOC | 00021428 00 02 50 32 4d 45 4d 20 | P2MEM | 00021430 20 20 20 20 01 00 50 32 | P2| 00021438 4d 4d 20 20 20 20 20 20 |MM | 00021440 00 00 50 32 53 42 55 53 | P2SBUS| 00021448 20 20 20 20 00 01 50 32 | P2| 00021450 53 45 51 20 20 20 20 20 |SEQ | 00021458 00 00 50 32 53 54 4f 50 | P2STOP| 00021460 20 20 20 20 00 00 50 32 | P2| 00021468 53 59 53 20 20 20 20 20 |SYS | 00021470 00 01 50 32 54 59 50 20 | P2TYP | 00021478 20 20 20 20 00 00 50 32 | P2| 00021480 55 41 44 52 20 20 20 20 |UADR | 00021488 00 00 50 32 55 43 4f 44 | P2UCOD| 00021490 45 20 20 20 02 00 50 32 |E P2| 00021498 56 41 4c 20 20 20 20 20 |VAL | 000214a0 00 00 50 33 52 41 4d 53 | P3RAMS| 000214a8 20 20 20 20 01 00 50 33 | P3| 000214b0 55 43 4f 44 45 20 20 20 |UCODE | 000214b8 02 00 | | .XXX[0x2] 000214ba ; -------------------------------------------------------------------------------------- 000214ba ; OMSI PASCAL Function 000214ba ; -------------------------------------------------------------------------------------- 000214ba 4e 56 ff d2 |NV | LINK.W A6,#0xffd2 000214be bf d5 | | CMPA.L (A5),A7 000214c0 62 06 |b | BHI 0x214c8 000214c2 44 fc 00 02 |D | MOVE.W #0x2,CCR 000214c6 4e 76 |Nv | TRAPV 000214c8 de fc 00 2e | . | ADDA.W #0x2e,A7 000214cc 48 e7 80 c0 |H | MOVEM.L A1+A0+D0,-(A7) 000214d0 9e fc 00 12 | | SUBA.W #0x12,A7 000214d4 20 4f | O | MOVEA.L A7,A0 000214d6 43 fa ec 50 |C P | LEA.L 0x20128,A1 000214da 70 10 |p | MOVEQ.L #0x10,D0 000214dc 10 d9 | | MOVE.B (A1)+,(A0)+ 000214de 51 c8 ff fc |Q | DBF D0,0x214dc 000214e2 59 4f |YO | SUBQ.L #0x4,A7 000214e4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000214e8 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 000214ec 3f 3c 00 11 |?< | MOVE.W #0x11,-(A7) 000214f0 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000214f6 50 4f |PO | ADDQ.L #0x8,A7 000214f8 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 000214fe de fc 00 16 | | ADDA.W #0x16,A7 00021502 4c df 03 01 |L | MOVEM.L (A7)+,D0+A0+A1 00021506 4e 5e |N^ | UNLK A6 00021508 4e 75 |Nu | RTS 0002150a ; -------------------------------------------------------------------------------------- 0002150a ; OMSI PASCAL Function 0002150a ; <LVAR -0x003 @ 1(r)> 0002150a ; <LVAR -0x008 @ 4(rw)> 0002150a ; -------------------------------------------------------------------------------------- 0002150a 4e 56 ff c4 |NV | LINK.W A6,#0xffc4 0002150e bf d5 | | CMPA.L (A5),A7 00021510 62 06 |b | BHI 0x21518 00021512 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021516 4e 76 |Nv | TRAPV 00021518 de fc 00 34 | 4 | ADDA.W #0x34,A7 0002151c 48 e7 c0 f0 |H | MOVEM.L A3+A2+A1+A0+D1+D0,-(A7) 00021520 45 f9 00 01 05 02 |E | LEA.L IPC_PutBool(a : Bool),A2 00021526 47 ee ff f8 |G | LEA.L (A6-0x8),A3 0002152a 72 01 |r | MOVEQ.L #0x01,D1 0002152c 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021532 42 27 |B' | CLR.B -(A7) 00021534 4e 92 |N | JSR (A2) 00021536 54 4f |TO | ADDQ.L #0x2,A7 00021538 10 39 00 02 35 2b | 9 5+ | MOVE.B 0x2352b,D0 0002153e 48 80 |H | EXTB.W D0 00021540 41 81 |A | CHK.W D1,D0 00021542 1f 00 | | MOVE.B D0,-(A7) 00021544 4e 92 |N | JSR (A2) 00021546 54 4f |TO | ADDQ.L #0x2,A7 00021548 10 39 00 02 35 30 | 9 50 | MOVE.B 0x23530,D0 0002154e 48 80 |H | EXTB.W D0 00021550 41 81 |A | CHK.W D1,D0 00021552 1f 00 | | MOVE.B D0,-(A7) 00021554 4e 92 |N | JSR (A2) 00021556 51 4f |QO | SUBQ.L #0x8,A7 00021558 20 4f | O | MOVEA.L A7,A0 0002155a 43 fa eb de |C | LEA.L 0x2013a,A1 0002155e 70 08 |p | MOVEQ.L #0x08,D0 00021560 10 d9 | | MOVE.B (A1)+,(A0)+ 00021562 51 c8 ff fc |Q | DBF D0,0x21560 00021566 59 4f |YO | SUBQ.L #0x4,A7 00021568 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002156c 3f 01 |? | MOVE.W D1,-(A7) 0002156e 3f 3c 00 09 |?< | MOVE.W #0x9,-(A7) 00021572 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021578 50 4f |PO | ADDQ.L #0x8,A7 0002157a 48 78 00 01 |Hx | PEA.L 0x1 0002157e 1f 01 | | MOVE.B D1,-(A7) 00021580 48 6e ff fd |Hn | PEA.L (A6-0x3) 00021584 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 0002158a de fc 00 18 | | ADDA.W #0x18,A7 0002158e 4a 2e ff fd |J. | TST.B (A6-0x3) 00021592 66 42 |fB | BNE 0x215d6 00021594 5d 4f |]O | SUBQ.L #0x6,A7 00021596 20 4f | O | MOVEA.L A7,A0 00021598 43 fa eb aa |C | LEA.L 0x20144,A1 0002159c 70 04 |p | MOVEQ.L #0x04,D0 0002159e 10 d9 | | MOVE.B (A1)+,(A0)+ 000215a0 51 c8 ff fc |Q | DBF D0,0x2159e 000215a4 59 4f |YO | SUBQ.L #0x4,A7 000215a6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000215aa 3f 01 |? | MOVE.W D1,-(A7) 000215ac 3f 3c 00 05 |?< | MOVE.W #0x5,-(A7) 000215b0 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000215b6 50 4f |PO | ADDQ.L #0x8,A7 000215b8 26 9f |& | MOVE.L (A7)+,(A3) 000215ba 5c 4f |\O | ADDQ.L #0x6,A7 000215bc 20 79 00 02 35 32 | y 52 | MOVEA.L 0x23532,A0 000215c2 22 53 |"S | MOVEA.L (A3),A1 000215c4 70 7f |p | MOVEQ.L #0x7f,D0 000215c6 10 d9 | | MOVE.B (A1)+,(A0)+ 000215c8 51 c8 ff fc |Q | DBF D0,0x215c6 000215cc 48 53 |HS | PEA.L (A3) 000215ce 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 000215d4 58 4f |XO | ADDQ.L #0x4,A7 000215d6 4c df 0f 03 |L | MOVEM.L (A7)+,D0+D1+A0+A1+A2+A3 000215da 4e 5e |N^ | UNLK A6 000215dc 4e 75 |Nu | RTS 000215de ; -------------------------------------------------------------------------------------- 000215de ; OMSI PASCAL Function 000215de ; <LVAR -0x004 @> 000215de ; -------------------------------------------------------------------------------------- 000215de 4e 56 ff c4 |NV | LINK.W A6,#0xffc4 000215e2 bf d5 | | CMPA.L (A5),A7 000215e4 62 06 |b | BHI 0x215ec 000215e6 44 fc 00 02 |D | MOVE.W #0x2,CCR 000215ea 4e 76 |Nv | TRAPV 000215ec de fc 00 38 | 8 | ADDA.W #0x38,A7 000215f0 48 e7 f8 c0 |H | MOVEM.L A1+A0+D4+D3+D2+D1+D0,-(A7) 000215f4 72 01 |r | MOVEQ.L #0x01,D1 000215f6 74 0a |t | MOVEQ.L #0x0a,D2 000215f8 76 09 |v | MOVEQ.L #0x09,D3 000215fa 78 18 |x | MOVEQ.L #0x18,D4 000215fc 4e b9 00 01 05 b6 |N | JSR R1000_Reset_L(void) 00021602 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021608 1f 01 | | MOVE.B D1,-(A7) 0002160a 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021610 54 4f |TO | ADDQ.L #0x2,A7 00021612 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 00021618 9e c2 | | SUBA.W D2,A7 0002161a 20 4f | O | MOVEA.L A7,A0 0002161c 43 fa eb 2c |C , | LEA.L 0x2014a,A1 00021620 70 08 |p | MOVEQ.L #0x08,D0 00021622 10 d9 | | MOVE.B (A1)+,(A0)+ 00021624 51 c8 ff fc |Q | DBF D0,0x21622 00021628 59 4f |YO | SUBQ.L #0x4,A7 0002162a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002162e 3f 01 |? | MOVE.W D1,-(A7) 00021630 3f 03 |? | MOVE.W D3,-(A7) 00021632 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021638 50 4f |PO | ADDQ.L #0x8,A7 0002163a 48 78 00 01 |Hx | PEA.L 0x1 0002163e 1f 01 | | MOVE.B D1,-(A7) 00021640 48 6e ff fc |Hn | PEA.L (A6-0x4) 00021644 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 0002164a de c4 | | ADDA.W D4,A7 0002164c 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021652 10 39 00 02 35 2b | 9 5+ | MOVE.B 0x2352b,D0 00021658 48 80 |H | EXTB.W D0 0002165a 41 81 |A | CHK.W D1,D0 0002165c 1f 00 | | MOVE.B D0,-(A7) 0002165e 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021664 54 4f |TO | ADDQ.L #0x2,A7 00021666 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 0002166c 9e c2 | | SUBA.W D2,A7 0002166e 20 4f | O | MOVEA.L A7,A0 00021670 43 fa ea e2 |C | LEA.L 0x20154,A1 00021674 70 08 |p | MOVEQ.L #0x08,D0 00021676 10 d9 | | MOVE.B (A1)+,(A0)+ 00021678 51 c8 ff fc |Q | DBF D0,0x21676 0002167c 59 4f |YO | SUBQ.L #0x4,A7 0002167e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021682 3f 01 |? | MOVE.W D1,-(A7) 00021684 3f 03 |? | MOVE.W D3,-(A7) 00021686 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 0002168c 50 4f |PO | ADDQ.L #0x8,A7 0002168e 48 78 00 01 |Hx | PEA.L 0x1 00021692 1f 01 | | MOVE.B D1,-(A7) 00021694 48 6e ff fc |Hn | PEA.L (A6-0x4) 00021698 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 0002169e de c4 | | ADDA.W D4,A7 000216a0 4c df 03 1f |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+A0+A1 000216a4 4e 5e |N^ | UNLK A6 000216a6 4e 75 |Nu | RTS 000216a8 ; -------------------------------------------------------------------------------------- 000216a8 ; OMSI PASCAL Function 000216a8 ; <LVAR 0x01c 4(r)> 000216a8 ; <LVAR 0x01a 1(r)> 000216a8 ; <LVAR 0x016 @ 4(r)> 000216a8 ; <LVAR 0x012 @ 4(r)> 000216a8 ; <LVAR 0x010 1(r)> 000216a8 ; <LVAR -0x003 1(w)> 000216a8 ; -------------------------------------------------------------------------------------- 000216a8 4e 56 ff 7a |NV z | LINK.W A6,#0xff7a 000216ac bf d5 | | CMPA.L (A5),A7 000216ae 62 06 |b | BHI 0x216b6 000216b0 44 fc 00 02 |D | MOVE.W #0x2,CCR 000216b4 4e 76 |Nv | TRAPV 000216b6 de fc 00 76 | v | ADDA.W #0x76,A7 000216ba 48 e7 ff f8 |H | MOVEM.L A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7) 000216be 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 000216c4 47 f9 00 01 02 d0 |G | LEA.L StringCat2(a, b : String) : String,A3 000216ca 74 01 |t | MOVEQ.L #0x01,D2 000216cc 76 07 |v | MOVEQ.L #0x07,D3 000216ce 78 0c |x | MOVEQ.L #0x0c,D4 000216d0 4a 2e 00 1a |J. | TST.B (A6+0x1a) 000216d4 67 34 |g4 | BEQ 0x2170a 000216d6 51 4f |QO | SUBQ.L #0x8,A7 000216d8 20 4f | O | MOVEA.L A7,A0 000216da 43 fa ea 8a |C | LEA.L 0x20166,A1 000216de 70 06 |p | MOVEQ.L #0x06,D0 000216e0 10 d9 | | MOVE.B (A1)+,(A0)+ 000216e2 51 c8 ff fc |Q | DBF D0,0x216e0 000216e6 59 4f |YO | SUBQ.L #0x4,A7 000216e8 2f 2e 00 1c |/. | MOVE.L (A6+0x1c),-(A7) 000216ec 59 4f |YO | SUBQ.L #0x4,A7 000216ee 48 6f 00 0c |Ho | PEA.L (A7+0xc) 000216f2 3f 02 |? | MOVE.W D2,-(A7) 000216f4 3f 03 |? | MOVE.W D3,-(A7) 000216f6 4e 92 |N | JSR (A2) 000216f8 50 4f |PO | ADDQ.L #0x8,A7 000216fa 4e 93 |N | JSR (A3) 000216fc 50 4f |PO | ADDQ.L #0x8,A7 000216fe 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021704 de c4 | | ADDA.W D4,A7 00021706 60 00 01 46 |` F | BRA 0x2184e 0002170a 55 4f |UO | SUBQ.L #0x2,A7 0002170c 2f 2e 00 1c |/. | MOVE.L (A6+0x1c),-(A7) 00021710 2f 2e 00 16 |/. | MOVE.L (A6+0x16),-(A7) 00021714 4e b9 00 01 02 c8 |N | JSR StringEqual(a, b : String) : Byte 0002171a 50 4f |PO | ADDQ.L #0x8,A7 0002171c 10 1f | | MOVE.B (A7)+,D0 0002171e 48 80 |H | EXTB.W D0 00021720 41 82 |A | CHK.W D2,D0 00021722 1d 40 ff fd | @ | MOVE.B D0,(A6-0x3) 00021726 51 4f |QO | SUBQ.L #0x8,A7 00021728 20 4f | O | MOVEA.L A7,A0 0002172a 43 fa ea 42 |C B | LEA.L 0x2016e,A1 0002172e 72 06 |r | MOVEQ.L #0x06,D1 00021730 10 d9 | | MOVE.B (A1)+,(A0)+ 00021732 51 c9 ff fc |Q | DBF D1,0x21730 00021736 59 4f |YO | SUBQ.L #0x4,A7 00021738 2f 2e 00 1c |/. | MOVE.L (A6+0x1c),-(A7) 0002173c 59 4f |YO | SUBQ.L #0x4,A7 0002173e 48 6f 00 0c |Ho | PEA.L (A7+0xc) 00021742 3f 02 |? | MOVE.W D2,-(A7) 00021744 3f 03 |? | MOVE.W D3,-(A7) 00021746 4e 92 |N | JSR (A2) 00021748 50 4f |PO | ADDQ.L #0x8,A7 0002174a 4e 93 |N | JSR (A3) 0002174c 50 4f |PO | ADDQ.L #0x8,A7 0002174e 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021754 de c4 | | ADDA.W D4,A7 00021756 4a 00 |J | TST.B D0 00021758 67 3a |g: | BEQ 0x21794 0002175a 9e fc 00 2c | , | SUBA.W #0x2c,A7 0002175e 20 4f | O | MOVEA.L A7,A0 00021760 43 fa ea 14 |C | LEA.L 0x20176,A1 00021764 70 2a |p* | MOVEQ.L #0x2a,D0 00021766 10 d9 | | MOVE.B (A1)+,(A0)+ 00021768 51 c8 ff fc |Q | DBF D0,0x21766 0002176c 51 4f |QO | SUBQ.L #0x8,A7 0002176e 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00021772 3f 02 |? | MOVE.W D2,-(A7) 00021774 3f 3c 00 2b |?< + | MOVE.W #0x2b,-(A7) 00021778 4e 92 |N | JSR (A2) 0002177a 2e ae 00 16 |. | MOVE.L (A6+0x16),(A7) 0002177e 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021784 58 4f |XO | ADDQ.L #0x4,A7 00021786 4e 93 |N | JSR (A3) 00021788 50 4f |PO | ADDQ.L #0x8,A7 0002178a 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021790 de fc 00 30 | 0 | ADDA.W #0x30,A7 00021794 2f 3a e9 cc |/: | MOVE.L 0x20162,-(A7) 00021798 2f 3a e9 c4 |/: | MOVE.L 0x2015e,-(A7) 0002179c 51 4f |QO | SUBQ.L #0x8,A7 0002179e 2f 2e 00 16 |/. | MOVE.L (A6+0x16),-(A7) 000217a2 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 000217a8 48 6f 00 0c |Ho | PEA.L (A7+0xc) 000217ac 3f 02 |? | MOVE.W D2,-(A7) 000217ae 3f 3c 00 08 |?< | MOVE.W #0x8,-(A7) 000217b2 4e 92 |N | JSR (A2) 000217b4 50 4f |PO | ADDQ.L #0x8,A7 000217b6 4e 93 |N | JSR (A3) 000217b8 50 4f |PO | ADDQ.L #0x8,A7 000217ba 28 5f |(_ | MOVEA.L (A7)+,A4 000217bc 50 4f |PO | ADDQ.L #0x8,A7 000217be 4e b9 00 01 03 dc |N | JSR WriteConsoleCrLf(void) 000217c4 2f 0c |/ | MOVE.L A4,-(A7) 000217c6 2f 2e 00 12 |/. | MOVE.L (A6+0x12),-(A7) 000217ca 42 80 |B | CLR.L D0 000217cc 10 2e 00 10 | . | MOVE.B (A6+0x10),D0 000217d0 2f 00 |/ | MOVE.L D0,-(A7) 000217d2 4e b9 00 01 04 4c |N L | JSR WriteErrorMessage(file : String; txt : String; number : Long) : Bool 000217d8 9e fc 00 0e | | SUBA.W #0xe,A7 000217dc 20 4f | O | MOVEA.L A7,A0 000217de 43 fa e9 c2 |C | LEA.L 0x201a2,A1 000217e2 70 18 |p | MOVEQ.L #0x18,D0 000217e4 10 d9 | | MOVE.B (A1)+,(A0)+ 000217e6 51 c8 ff fc |Q | DBF D0,0x217e4 000217ea 59 4f |YO | SUBQ.L #0x4,A7 000217ec 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000217f0 3f 02 |? | MOVE.W D2,-(A7) 000217f2 3f 3c 00 19 |?< | MOVE.W #0x19,-(A7) 000217f6 4e 92 |N | JSR (A2) 000217f8 50 4f |PO | ADDQ.L #0x8,A7 000217fa 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021800 de fc 00 1e | | ADDA.W #0x1e,A7 00021804 7e 00 |~ | MOVEQ.L #0x00,D7 00021806 be 83 | | CMP.L D3,D7 00021808 63 02 |c | BLS 0x2180c 0002180a 4e 4f |NO | TRAP #15 0002180c 42 80 |B | CLR.L D0 0002180e 10 36 78 08 | 6x | MOVE.B (A6+D7.L+#0x8),D0 00021812 2c 00 |, | MOVE.L D0,D6 00021814 1f 06 | | MOVE.B D6,-(A7) 00021816 10 1f | | MOVE.B (A7)+,D0 00021818 48 80 |H | EXTB.W D0 0002181a 41 bc 00 4f |A O | CHK.W #0x4f,D0 0002181e 1a 00 | | MOVE.B D0,D5 00021820 67 26 |g& | BEQ 0x21848 00021822 2f 3a e9 a0 |/: | MOVE.L 0x201c4,-(A7) 00021826 2f 3a e9 98 |/: | MOVE.L 0x201c0,-(A7) 0002182a 2f 3a e9 90 |/: | MOVE.L 0x201bc,-(A7) 0002182e 59 4f |YO | SUBQ.L #0x4,A7 00021830 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021834 3f 02 |? | MOVE.W D2,-(A7) 00021836 3f 04 |? | MOVE.W D4,-(A7) 00021838 4e 92 |N | JSR (A2) 0002183a 58 4f |XO | ADDQ.L #0x4,A7 0002183c 2e 86 |. | MOVE.L D6,(A7) 0002183e 4e b9 00 01 04 50 |N P | JSR FS_10450(&, &) 00021844 de fc 00 14 | | ADDA.W #0x14,A7 00021848 52 87 |R | ADDQ.L #0x1,D7 0002184a be 83 | | CMP.L D3,D7 0002184c 6f b8 |o | BLE 0x21806 0002184e 48 6e 00 12 |Hn | PEA.L (A6+0x12) 00021852 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 00021858 58 4f |XO | ADDQ.L #0x4,A7 0002185a 48 6e 00 16 |Hn | PEA.L (A6+0x16) 0002185e 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 00021864 58 4f |XO | ADDQ.L #0x4,A7 00021866 4c df 1f ff |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4 0002186a 4e 5e |N^ | UNLK A6 0002186c 4e 75 |Nu | RTS 0002186e ; -------------------------------------------------------------------------------------- 0002186e ; OMSI PASCAL Function 0002186e ; <LVAR 0x00e 4(r)> 0002186e ; <LVAR 0x00c 1(r)> 0002186e ; <LVAR 0x008 4(r)> 0002186e ; <LVAR -0x004 1(rw)> 0002186e ; <LVAR -0x009 @ 1(r)> 0002186e ; <LVAR -0x011 @> 0002186e ; <LVAR -0x012 @ 1(r)> 0002186e ; <LVAR -0x016 @ 4(r)> 0002186e ; <LVAR -0x01a @ 4(r)> 0002186e ; <LVAR -0x01e @ 4(rw)> 0002186e ; -------------------------------------------------------------------------------------- 0002186e 4e 56 ff 9c |NV | LINK.W A6,#0xff9c 00021872 bf d5 | | CMPA.L (A5),A7 00021874 62 06 |b | BHI 0x2187c 00021876 44 fc 00 02 |D | MOVE.W #0x2,CCR 0002187a 4e 76 |Nv | TRAPV 0002187c de fc 00 46 | F | ADDA.W #0x46,A7 00021880 48 e7 f0 f8 |H | MOVEM.L A4+A3+A2+A1+A0+D3+D2+D1+D0,-(A7) 00021884 45 f8 00 00 |E | LEA.L 0x0,A2 00021888 47 ee ff e2 |G | LEA.L (A6-0x1e),A3 0002188c 72 01 |r | MOVEQ.L #0x01,D1 0002188e 74 0c |t | MOVEQ.L #0x0c,D2 00021890 76 0e |v | MOVEQ.L #0x0e,D3 00021892 1d 6e 00 0c ff fc | n | MOVE.B (A6+0xc),(A6-0x4) 00021898 3f 3a e9 2e |?: . | MOVE.W 0x201c8,-(A7) 0002189c 59 4f |YO | SUBQ.L #0x4,A7 0002189e 1e ba e9 2a | * | MOVE.B 0x201ca,(A7) 000218a2 1f 7a e9 27 00 01 | z ' | MOVE.B 0x201cb,(A7+0x1) 000218a8 1f 7a e9 22 00 02 | z " | MOVE.B 0x201cc,(A7+0x2) 000218ae 51 4f |QO | SUBQ.L #0x8,A7 000218b0 48 6f 00 0c |Ho | PEA.L (A7+0xc) 000218b4 3f 01 |? | MOVE.W D1,-(A7) 000218b6 3f 3c 00 02 |?< | MOVE.W #0x2,-(A7) 000218ba 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000218c0 2e ae 00 0e |. | MOVE.L (A6+0xe),(A7) 000218c4 4e b9 00 01 02 e4 |N | JSR Long2String(a : Long) : String 000218ca 48 6f 00 10 |Ho | PEA.L (A7+0x10) 000218ce 3f 01 |? | MOVE.W D1,-(A7) 000218d0 3f 3c 00 03 |?< | MOVE.W #0x3,-(A7) 000218d4 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000218da 50 4f |PO | ADDQ.L #0x8,A7 000218dc 4e b9 00 01 02 d4 |N | JSR StringCat3(a, b, c : String) : String 000218e2 de c2 | | ADDA.W D2,A7 000218e4 28 5f |(_ | MOVEA.L (A7)+,A4 000218e6 5c 4f |\O | ADDQ.L #0x6,A7 000218e8 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 000218ee 1f 2e ff fc | . | MOVE.B (A6-0x4),-(A7) 000218f2 48 57 |HW | PEA.L (A7) 000218f4 48 52 |HR | PEA.L (A2) 000218f6 48 52 |HR | PEA.L (A2) 000218f8 4e b9 00 01 04 fc |N | JSR IPC_PutVar(src : Pointer; length : Long ; type : Long) 000218fe de c3 | | ADDA.W D3,A7 00021900 10 39 00 02 35 2a | 9 5* | MOVE.B 0x2352a,D0 00021906 48 80 |H | EXTB.W D0 00021908 41 81 |A | CHK.W D1,D0 0002190a 1f 00 | | MOVE.B D0,-(A7) 0002190c 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021912 54 4f |TO | ADDQ.L #0x2,A7 00021914 10 39 00 02 35 2b | 9 5+ | MOVE.B 0x2352b,D0 0002191a 48 80 |H | EXTB.W D0 0002191c 41 81 |A | CHK.W D1,D0 0002191e 1f 00 | | MOVE.B D0,-(A7) 00021920 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021926 54 4f |TO | ADDQ.L #0x2,A7 00021928 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 0002192e 2f 0c |/ | MOVE.L A4,-(A7) 00021930 48 78 00 01 |Hx | PEA.L 0x1 00021934 1f 01 | | MOVE.B D1,-(A7) 00021936 48 6e ff f7 |Hn | PEA.L (A6-0x9) 0002193a 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00021940 de c3 | | ADDA.W D3,A7 00021942 4a 2e ff f7 |J. | TST.B (A6-0x9) 00021946 66 00 00 cc |f | BNE 0x21a14 0002194a 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021950 20 6e 00 08 | n | MOVEA.L (A6+0x8),A0 00021954 48 50 |HP | PEA.L (A0) 00021956 4e b9 00 01 05 26 |N & | JSR IPC_GetBool() : Bool 0002195c 58 4f |XO | ADDQ.L #0x4,A7 0002195e 48 53 |HS | PEA.L (A3) 00021960 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021966 58 4f |XO | ADDQ.L #0x4,A7 00021968 48 6e ff e6 |Hn | PEA.L (A6-0x1a) 0002196c 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021972 58 4f |XO | ADDQ.L #0x4,A7 00021974 48 6e ff ea |Hn | PEA.L (A6-0x16) 00021978 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 0002197e 58 4f |XO | ADDQ.L #0x4,A7 00021980 48 6e ff ee |Hn | PEA.L (A6-0x12) 00021984 48 52 |HR | PEA.L (A2) 00021986 48 52 |HR | PEA.L (A2) 00021988 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 0002198e de c2 | | ADDA.W D2,A7 00021990 48 6e ff ef |Hn | PEA.L (A6-0x11) 00021994 48 52 |HR | PEA.L (A2) 00021996 48 78 00 07 |Hx | PEA.L 0x7 0002199a 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 000219a0 de c2 | | ADDA.W D2,A7 000219a2 4e b9 00 01 05 1a |N | JSR IPC_GetEnd(void) 000219a8 4a 10 |J | TST.B (A0) 000219aa 67 40 |g@ | BEQ 0x219ec 000219ac 48 53 |HS | PEA.L (A3) 000219ae 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 000219b4 54 4f |TO | ADDQ.L #0x2,A7 000219b6 3e ba e8 1a |> | MOVE.W 0x201d2,(A7) 000219ba 3f 3a e8 14 |?: | MOVE.W 0x201d0,-(A7) 000219be 3f 3a e8 0e |?: | MOVE.W 0x201ce,-(A7) 000219c2 51 4f |QO | SUBQ.L #0x8,A7 000219c4 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000219c8 3f 01 |? | MOVE.W D1,-(A7) 000219ca 3f 3c 00 06 |?< | MOVE.W #0x6,-(A7) 000219ce 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000219d4 2e ae 00 0e |. | MOVE.L (A6+0xe),(A7) 000219d8 4e b9 00 01 02 e4 |N | JSR Long2String(a : Long) : String 000219de 58 4f |XO | ADDQ.L #0x4,A7 000219e0 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 000219e6 50 4f |PO | ADDQ.L #0x8,A7 000219e8 26 9f |& | MOVE.L (A7)+,(A3) 000219ea 5c 4f |\O | ADDQ.L #0x6,A7 000219ec 2f 13 |/ | MOVE.L (A3),-(A7) 000219ee 1f 10 | | MOVE.B (A0),-(A7) 000219f0 2f 2e ff e6 |/. | MOVE.L (A6-0x1a),-(A7) 000219f4 2f 2e ff ea |/. | MOVE.L (A6-0x16),-(A7) 000219f8 1f 2e ff ee | . | MOVE.B (A6-0x12),-(A7) 000219fc 51 4f |QO | SUBQ.L #0x8,A7 000219fe 20 4f | O | MOVEA.L A7,A0 00021a00 43 ee ff ef |C | LEA.L (A6-0x11),A1 00021a04 70 07 |p | MOVEQ.L #0x07,D0 00021a06 10 d9 | | MOVE.B (A1)+,(A0)+ 00021a08 51 c8 ff fc |Q | DBF D0,0x21a06 00021a0c 4e ba fc 9a |N | JSR 0x216a8 00021a10 de fc 00 18 | | ADDA.W #0x18,A7 00021a14 4c df 1f 0f |L | MOVEM.L (A7)+,D0+D1+D2+D3+A0+A1+A2+A3+A4 00021a18 4e 5e |N^ | UNLK A6 00021a1a 4e 75 |Nu | RTS 00021a1c ; -------------------------------------------------------------------------------------- 00021a1c ; OMSI PASCAL Function 00021a1c ; <LVAR 0x00c @ 4(r)> 00021a1c ; <LVAR 0x008 4(r)> 00021a1c ; <LVAR -0x003 @ 1(r)> 00021a1c ; <LVAR -0x00b @> 00021a1c ; <LVAR -0x00c @ 1(r)> 00021a1c ; <LVAR -0x010 @ 4(r)> 00021a1c ; <LVAR -0x014 @ 4(r)> 00021a1c ; -------------------------------------------------------------------------------------- 00021a1c 4e 56 ff b0 |NV | LINK.W A6,#0xffb0 00021a20 bf d5 | | CMPA.L (A5),A7 00021a22 62 06 |b | BHI 0x21a2a 00021a24 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021a28 4e 76 |Nv | TRAPV 00021a2a de fc 00 3c | < | ADDA.W #0x3c,A7 00021a2e 48 e7 e0 f0 |H | MOVEM.L A3+A2+A1+A0+D2+D1+D0,-(A7) 00021a32 45 ee 00 0c |E | LEA.L (A6+0xc),A2 00021a36 47 f8 00 00 |G | LEA.L 0x0,A3 00021a3a 72 01 |r | MOVEQ.L #0x01,D1 00021a3c 74 0c |t | MOVEQ.L #0x0c,D2 00021a3e 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021a44 10 39 00 02 35 2a | 9 5* | MOVE.B 0x2352a,D0 00021a4a 48 80 |H | EXTB.W D0 00021a4c 41 81 |A | CHK.W D1,D0 00021a4e 1f 00 | | MOVE.B D0,-(A7) 00021a50 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021a56 54 4f |TO | ADDQ.L #0x2,A7 00021a58 10 39 00 02 35 2b | 9 5+ | MOVE.B 0x2352b,D0 00021a5e 48 80 |H | EXTB.W D0 00021a60 41 81 |A | CHK.W D1,D0 00021a62 1f 00 | | MOVE.B D0,-(A7) 00021a64 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021a6a 54 4f |TO | ADDQ.L #0x2,A7 00021a6c 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 00021a72 2f 3a e7 68 |/: h | MOVE.L 0x201dc,-(A7) 00021a76 2f 3a e7 60 |/: ` | MOVE.L 0x201d8,-(A7) 00021a7a 2f 3a e7 58 |/: X | MOVE.L 0x201d4,-(A7) 00021a7e 51 4f |QO | SUBQ.L #0x8,A7 00021a80 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00021a84 3f 01 |? | MOVE.W D1,-(A7) 00021a86 3f 02 |? | MOVE.W D2,-(A7) 00021a88 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021a8e 2e 92 |. | MOVE.L (A2),(A7) 00021a90 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021a96 58 4f |XO | ADDQ.L #0x4,A7 00021a98 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00021a9e 50 4f |PO | ADDQ.L #0x8,A7 00021aa0 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021aa6 50 4f |PO | ADDQ.L #0x8,A7 00021aa8 2e 92 |. | MOVE.L (A2),(A7) 00021aaa 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021ab0 58 4f |XO | ADDQ.L #0x4,A7 00021ab2 48 78 00 01 |Hx | PEA.L 0x1 00021ab6 1f 01 | | MOVE.B D1,-(A7) 00021ab8 48 6e ff fd |Hn | PEA.L (A6-0x3) 00021abc 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00021ac2 de fc 00 0e | | ADDA.W #0xe,A7 00021ac6 4a 2e ff fd |J. | TST.B (A6-0x3) 00021aca 67 0c |g | BEQ 0x21ad8 00021acc 48 52 |HR | PEA.L (A2) 00021ace 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 00021ad4 58 4f |XO | ADDQ.L #0x4,A7 00021ad6 60 7c |`| | BRA 0x21b54 00021ad8 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021ade 20 6e 00 08 | n | MOVEA.L (A6+0x8),A0 00021ae2 48 50 |HP | PEA.L (A0) 00021ae4 4e b9 00 01 05 26 |N & | JSR IPC_GetBool() : Bool 00021aea 58 4f |XO | ADDQ.L #0x4,A7 00021aec 48 6e ff ec |Hn | PEA.L (A6-0x14) 00021af0 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021af6 58 4f |XO | ADDQ.L #0x4,A7 00021af8 48 6e ff f0 |Hn | PEA.L (A6-0x10) 00021afc 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021b02 58 4f |XO | ADDQ.L #0x4,A7 00021b04 48 6e ff f4 |Hn | PEA.L (A6-0xc) 00021b08 48 53 |HS | PEA.L (A3) 00021b0a 48 53 |HS | PEA.L (A3) 00021b0c 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 00021b12 de c2 | | ADDA.W D2,A7 00021b14 48 6e ff f5 |Hn | PEA.L (A6-0xb) 00021b18 48 53 |HS | PEA.L (A3) 00021b1a 48 78 00 07 |Hx | PEA.L 0x7 00021b1e 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 00021b24 de c2 | | ADDA.W D2,A7 00021b26 4e b9 00 01 05 1a |N | JSR IPC_GetEnd(void) 00021b2c 2f 12 |/ | MOVE.L (A2),-(A7) 00021b2e 1f 10 | | MOVE.B (A0),-(A7) 00021b30 2f 2e ff ec |/. | MOVE.L (A6-0x14),-(A7) 00021b34 2f 2e ff f0 |/. | MOVE.L (A6-0x10),-(A7) 00021b38 1f 2e ff f4 | . | MOVE.B (A6-0xc),-(A7) 00021b3c 51 4f |QO | SUBQ.L #0x8,A7 00021b3e 20 4f | O | MOVEA.L A7,A0 00021b40 43 ee ff f5 |C | LEA.L (A6-0xb),A1 00021b44 70 07 |p | MOVEQ.L #0x07,D0 00021b46 10 d9 | | MOVE.B (A1)+,(A0)+ 00021b48 51 c8 ff fc |Q | DBF D0,0x21b46 00021b4c 4e ba fb 5a |N Z | JSR 0x216a8 00021b50 de fc 00 18 | | ADDA.W #0x18,A7 00021b54 4c df 0f 07 |L | MOVEM.L (A7)+,D0+D1+D2+A0+A1+A2+A3 00021b58 4e 5e |N^ | UNLK A6 00021b5a 4e 75 |Nu | RTS 00021b5c ; -------------------------------------------------------------------------------------- 00021b5c ; OMSI PASCAL Function 00021b5c ; <LVAR 0x00e @ 4(r)> 00021b5c ; <LVAR 0x00c 1(r)> 00021b5c ; <LVAR 0x008 4(r)> 00021b5c ; <LVAR -0x004 1(rw)> 00021b5c ; <LVAR -0x005 @ 1(r)> 00021b5c ; <LVAR -0x00d @> 00021b5c ; <LVAR -0x00e @ 1(r)> 00021b5c ; <LVAR -0x012 @ 4(r)> 00021b5c ; <LVAR -0x016 @ 4(r)> 00021b5c ; -------------------------------------------------------------------------------------- 00021b5c 4e 56 ff 9e |NV | LINK.W A6,#0xff9e 00021b60 bf d5 | | CMPA.L (A5),A7 00021b62 62 06 |b | BHI 0x21b6a 00021b64 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021b68 4e 76 |Nv | TRAPV 00021b6a de fc 00 4c | L | ADDA.W #0x4c,A7 00021b6e 48 e7 f0 f0 |H | MOVEM.L A3+A2+A1+A0+D3+D2+D1+D0,-(A7) 00021b72 45 f8 00 00 |E | LEA.L 0x0,A2 00021b76 47 ee 00 0e |G | LEA.L (A6+0xe),A3 00021b7a 72 01 |r | MOVEQ.L #0x01,D1 00021b7c 74 0c |t | MOVEQ.L #0x0c,D2 00021b7e 76 0e |v | MOVEQ.L #0x0e,D3 00021b80 1d 6e 00 0c ff fc | n | MOVE.B (A6+0xc),(A6-0x4) 00021b86 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021b8c 1f 2e ff fc | . | MOVE.B (A6-0x4),-(A7) 00021b90 48 57 |HW | PEA.L (A7) 00021b92 48 52 |HR | PEA.L (A2) 00021b94 48 52 |HR | PEA.L (A2) 00021b96 4e b9 00 01 04 fc |N | JSR IPC_PutVar(src : Pointer; length : Long ; type : Long) 00021b9c de c3 | | ADDA.W D3,A7 00021b9e 10 39 00 02 35 2a | 9 5* | MOVE.B 0x2352a,D0 00021ba4 48 80 |H | EXTB.W D0 00021ba6 41 81 |A | CHK.W D1,D0 00021ba8 1f 00 | | MOVE.B D0,-(A7) 00021baa 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021bb0 54 4f |TO | ADDQ.L #0x2,A7 00021bb2 10 39 00 02 35 2b | 9 5+ | MOVE.B 0x2352b,D0 00021bb8 48 80 |H | EXTB.W D0 00021bba 41 81 |A | CHK.W D1,D0 00021bbc 1f 00 | | MOVE.B D0,-(A7) 00021bbe 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00021bc4 54 4f |TO | ADDQ.L #0x2,A7 00021bc6 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 00021bcc 2f 3a e6 26 |/: & | MOVE.L 0x201f4,-(A7) 00021bd0 2f 3a e6 1e |/: | MOVE.L 0x201f0,-(A7) 00021bd4 2f 3a e6 16 |/: | MOVE.L 0x201ec,-(A7) 00021bd8 2f 3a e6 1e |/: | MOVE.L 0x201f8,-(A7) 00021bdc 51 4f |QO | SUBQ.L #0x8,A7 00021bde 48 6f 00 0c |Ho | PEA.L (A7+0xc) 00021be2 3f 01 |? | MOVE.W D1,-(A7) 00021be4 3f 02 |? | MOVE.W D2,-(A7) 00021be6 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021bec 2e 93 |. | MOVE.L (A3),(A7) 00021bee 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021bf4 48 6f 00 10 |Ho | PEA.L (A7+0x10) 00021bf8 3f 01 |? | MOVE.W D1,-(A7) 00021bfa 3f 3c 00 04 |?< | MOVE.W #0x4,-(A7) 00021bfe 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021c04 54 4f |TO | ADDQ.L #0x2,A7 00021c06 1e ae 00 0c | | MOVE.B (A6+0xc),(A7) 00021c0a 4e b9 00 01 04 9c |N | JSR BoardName(address : B) : String 00021c10 54 4f |TO | ADDQ.L #0x2,A7 00021c12 4e b9 00 01 02 d8 |N | JSR StringCat4(a, b, c, d : String) : String 00021c18 de fc 00 10 | | ADDA.W #0x10,A7 00021c1c 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021c22 de c2 | | ADDA.W D2,A7 00021c24 2e 93 |. | MOVE.L (A3),(A7) 00021c26 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021c2c 58 4f |XO | ADDQ.L #0x4,A7 00021c2e 48 78 00 01 |Hx | PEA.L 0x1 00021c32 1f 01 | | MOVE.B D1,-(A7) 00021c34 48 6e ff fb |Hn | PEA.L (A6-0x5) 00021c38 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00021c3e de c3 | | ADDA.W D3,A7 00021c40 4a 2e ff fb |J. | TST.B (A6-0x5) 00021c44 67 0c |g | BEQ 0x21c52 00021c46 48 53 |HS | PEA.L (A3) 00021c48 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 00021c4e 58 4f |XO | ADDQ.L #0x4,A7 00021c50 60 7c |`| | BRA 0x21cce 00021c52 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021c58 20 6e 00 08 | n | MOVEA.L (A6+0x8),A0 00021c5c 48 50 |HP | PEA.L (A0) 00021c5e 4e b9 00 01 05 26 |N & | JSR IPC_GetBool() : Bool 00021c64 58 4f |XO | ADDQ.L #0x4,A7 00021c66 48 6e ff ea |Hn | PEA.L (A6-0x16) 00021c6a 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021c70 58 4f |XO | ADDQ.L #0x4,A7 00021c72 48 6e ff ee |Hn | PEA.L (A6-0x12) 00021c76 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021c7c 58 4f |XO | ADDQ.L #0x4,A7 00021c7e 48 6e ff f2 |Hn | PEA.L (A6-0xe) 00021c82 48 52 |HR | PEA.L (A2) 00021c84 48 52 |HR | PEA.L (A2) 00021c86 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 00021c8c de c2 | | ADDA.W D2,A7 00021c8e 48 6e ff f3 |Hn | PEA.L (A6-0xd) 00021c92 48 52 |HR | PEA.L (A2) 00021c94 48 78 00 07 |Hx | PEA.L 0x7 00021c98 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 00021c9e de c2 | | ADDA.W D2,A7 00021ca0 4e b9 00 01 05 1a |N | JSR IPC_GetEnd(void) 00021ca6 2f 13 |/ | MOVE.L (A3),-(A7) 00021ca8 1f 10 | | MOVE.B (A0),-(A7) 00021caa 2f 2e ff ea |/. | MOVE.L (A6-0x16),-(A7) 00021cae 2f 2e ff ee |/. | MOVE.L (A6-0x12),-(A7) 00021cb2 1f 2e ff f2 | . | MOVE.B (A6-0xe),-(A7) 00021cb6 51 4f |QO | SUBQ.L #0x8,A7 00021cb8 20 4f | O | MOVEA.L A7,A0 00021cba 43 ee ff f3 |C | LEA.L (A6-0xd),A1 00021cbe 70 07 |p | MOVEQ.L #0x07,D0 00021cc0 10 d9 | | MOVE.B (A1)+,(A0)+ 00021cc2 51 c8 ff fc |Q | DBF D0,0x21cc0 00021cc6 4e ba f9 e0 |N | JSR 0x216a8 00021cca de fc 00 18 | | ADDA.W #0x18,A7 00021cce 4c df 0f 0f |L | MOVEM.L (A7)+,D0+D1+D2+D3+A0+A1+A2+A3 00021cd2 4e 5e |N^ | UNLK A6 00021cd4 4e 75 |Nu | RTS 00021cd6 ; -------------------------------------------------------------------------------------- 00021cd6 ; OMSI PASCAL Function 00021cd6 ; <LVAR 0x00e @ 4(r)> 00021cd6 ; <LVAR 0x00c 1(r)> 00021cd6 ; <LVAR 0x008 4(r)> 00021cd6 ; <LVAR -0x003 1(rw)> 00021cd6 ; <LVAR -0x005 @ 1(r)> 00021cd6 ; <LVAR -0x00d @> 00021cd6 ; <LVAR -0x00e @ 1(r)> 00021cd6 ; <LVAR -0x012 @ 4(r)> 00021cd6 ; <LVAR -0x016 @ 4(r)> 00021cd6 ; -------------------------------------------------------------------------------------- 00021cd6 4e 56 ff a2 |NV | LINK.W A6,#0xffa2 00021cda bf d5 | | CMPA.L (A5),A7 00021cdc 62 06 |b | BHI 0x21ce4 00021cde 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021ce2 4e 76 |Nv | TRAPV 00021ce4 de fc 00 48 | H | ADDA.W #0x48,A7 00021ce8 48 e7 f1 f8 |H | MOVEM.L A4+A3+A2+A1+A0+D7+D3+D2+D1+D0,-(A7) 00021cec 45 ee 00 0e |E | LEA.L (A6+0xe),A2 00021cf0 47 f8 00 00 |G | LEA.L 0x0,A3 00021cf4 49 f9 00 01 05 02 |I | LEA.L IPC_PutBool(a : Bool),A4 00021cfa 72 01 |r | MOVEQ.L #0x01,D1 00021cfc 74 0c |t | MOVEQ.L #0x0c,D2 00021cfe 76 0e |v | MOVEQ.L #0x0e,D3 00021d00 1d 6e 00 0c ff fd | n | MOVE.B (A6+0xc),(A6-0x3) 00021d06 55 4f |UO | SUBQ.L #0x2,A7 00021d08 2f 39 00 02 35 32 |/9 52 | MOVE.L 0x23532,-(A7) 00021d0e 2f 12 |/ | MOVE.L (A2),-(A7) 00021d10 4e b9 00 01 02 c8 |N | JSR StringEqual(a, b : String) : Byte 00021d16 50 4f |PO | ADDQ.L #0x8,A7 00021d18 10 1f | | MOVE.B (A7)+,D0 00021d1a 44 00 |D | NEG.B D0 00021d1c 52 00 |R | ADDQ.B #0x1,D0 00021d1e 80 39 00 02 35 30 | 9 50 | OR.B 0x23530,D0 00021d24 48 80 |H | EXTB.W D0 00021d26 41 81 |A | CHK.W D1,D0 00021d28 1e 00 | | MOVE.B D0,D7 00021d2a 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021d30 1f 2e ff fd | . | MOVE.B (A6-0x3),-(A7) 00021d34 48 57 |HW | PEA.L (A7) 00021d36 48 53 |HS | PEA.L (A3) 00021d38 48 53 |HS | PEA.L (A3) 00021d3a 4e b9 00 01 04 fc |N | JSR IPC_PutVar(src : Pointer; length : Long ; type : Long) 00021d40 de c3 | | ADDA.W D3,A7 00021d42 10 39 00 02 35 2a | 9 5* | MOVE.B 0x2352a,D0 00021d48 48 80 |H | EXTB.W D0 00021d4a 41 81 |A | CHK.W D1,D0 00021d4c 1f 00 | | MOVE.B D0,-(A7) 00021d4e 4e 94 |N | JSR (A4) 00021d50 54 4f |TO | ADDQ.L #0x2,A7 00021d52 10 39 00 02 35 2b | 9 5+ | MOVE.B 0x2352b,D0 00021d58 48 80 |H | EXTB.W D0 00021d5a 41 81 |A | CHK.W D1,D0 00021d5c 1f 00 | | MOVE.B D0,-(A7) 00021d5e 4e 94 |N | JSR (A4) 00021d60 1e 87 | | MOVE.B D7,(A7) 00021d62 4e 94 |N | JSR (A4) 00021d64 1e 87 | | MOVE.B D7,(A7) 00021d66 4e 94 |N | JSR (A4) 00021d68 54 4f |TO | ADDQ.L #0x2,A7 00021d6a 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 00021d70 2f 3a e4 92 |/: | MOVE.L 0x20204,-(A7) 00021d74 2f 3a e4 8a |/: | MOVE.L 0x20200,-(A7) 00021d78 2f 3a e4 82 |/: | MOVE.L 0x201fc,-(A7) 00021d7c 51 4f |QO | SUBQ.L #0x8,A7 00021d7e 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00021d82 3f 01 |? | MOVE.W D1,-(A7) 00021d84 3f 02 |? | MOVE.W D2,-(A7) 00021d86 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021d8c 2e 92 |. | MOVE.L (A2),(A7) 00021d8e 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021d94 58 4f |XO | ADDQ.L #0x4,A7 00021d96 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00021d9c 50 4f |PO | ADDQ.L #0x8,A7 00021d9e 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00021da4 50 4f |PO | ADDQ.L #0x8,A7 00021da6 2e 92 |. | MOVE.L (A2),(A7) 00021da8 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 00021dae 58 4f |XO | ADDQ.L #0x4,A7 00021db0 48 78 00 01 |Hx | PEA.L 0x1 00021db4 1f 01 | | MOVE.B D1,-(A7) 00021db6 48 6e ff fb |Hn | PEA.L (A6-0x5) 00021dba 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00021dc0 de c3 | | ADDA.W D3,A7 00021dc2 4a 2e ff fb |J. | TST.B (A6-0x5) 00021dc6 67 0e |g | BEQ 0x21dd6 00021dc8 48 52 |HR | PEA.L (A2) 00021dca 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 00021dd0 58 4f |XO | ADDQ.L #0x4,A7 00021dd2 60 00 00 8e |` | BRA 0x21e62 00021dd6 20 79 00 02 35 32 | y 52 | MOVEA.L 0x23532,A0 00021ddc 22 52 |"R | MOVEA.L (A2),A1 00021dde 70 7f |p | MOVEQ.L #0x7f,D0 00021de0 10 d9 | | MOVE.B (A1)+,(A0)+ 00021de2 51 c8 ff fc |Q | DBF D0,0x21de0 00021de6 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 00021dec 20 6e 00 08 | n | MOVEA.L (A6+0x8),A0 00021df0 48 50 |HP | PEA.L (A0) 00021df2 4e b9 00 01 05 26 |N & | JSR IPC_GetBool() : Bool 00021df8 58 4f |XO | ADDQ.L #0x4,A7 00021dfa 48 6e ff ea |Hn | PEA.L (A6-0x16) 00021dfe 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021e04 58 4f |XO | ADDQ.L #0x4,A7 00021e06 48 6e ff ee |Hn | PEA.L (A6-0x12) 00021e0a 4e b9 00 01 05 2c |N , | JSR IPC_GetString(VAR retval : String) 00021e10 58 4f |XO | ADDQ.L #0x4,A7 00021e12 48 6e ff f2 |Hn | PEA.L (A6-0xe) 00021e16 48 53 |HS | PEA.L (A3) 00021e18 48 53 |HS | PEA.L (A3) 00021e1a 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 00021e20 de c2 | | ADDA.W D2,A7 00021e22 48 6e ff f3 |Hn | PEA.L (A6-0xd) 00021e26 48 53 |HS | PEA.L (A3) 00021e28 48 78 00 07 |Hx | PEA.L 0x7 00021e2c 4e b9 00 01 05 20 |N | JSR IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long) 00021e32 de c2 | | ADDA.W D2,A7 00021e34 4e b9 00 01 05 1a |N | JSR IPC_GetEnd(void) 00021e3a 2f 12 |/ | MOVE.L (A2),-(A7) 00021e3c 1f 10 | | MOVE.B (A0),-(A7) 00021e3e 2f 2e ff ea |/. | MOVE.L (A6-0x16),-(A7) 00021e42 2f 2e ff ee |/. | MOVE.L (A6-0x12),-(A7) 00021e46 1f 2e ff f2 | . | MOVE.B (A6-0xe),-(A7) 00021e4a 51 4f |QO | SUBQ.L #0x8,A7 00021e4c 20 4f | O | MOVEA.L A7,A0 00021e4e 43 ee ff f3 |C | LEA.L (A6-0xd),A1 00021e52 70 07 |p | MOVEQ.L #0x07,D0 00021e54 10 d9 | | MOVE.B (A1)+,(A0)+ 00021e56 51 c8 ff fc |Q | DBF D0,0x21e54 00021e5a 4e ba f8 4c |N L | JSR 0x216a8 00021e5e de fc 00 18 | | ADDA.W #0x18,A7 00021e62 4c df 1f 8f |L | MOVEM.L (A7)+,D0+D1+D2+D3+D7+A0+A1+A2+A3+A4 00021e66 4e 5e |N^ | UNLK A6 00021e68 4e 75 |Nu | RTS 00021e6a ; -------------------------------------------------------------------------------------- 00021e6a ; OMSI PASCAL Function 00021e6a ; <LVAR 0x008 1(r)> 00021e6a ; <LVAR -0x001 @ 1(r)> 00021e6a ; -------------------------------------------------------------------------------------- 00021e6a 4e 56 ff a6 |NV | LINK.W A6,#0xffa6 00021e6e bf d5 | | CMPA.L (A5),A7 00021e70 62 06 |b | BHI 0x21e78 00021e72 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021e76 4e 76 |Nv | TRAPV 00021e78 de fc 00 50 | P | ADDA.W #0x50,A7 00021e7c 48 e7 c3 80 |H | MOVEM.L A0+D7+D6+D1+D0,-(A7) 00021e80 72 28 |r( | MOVEQ.L #0x28,D1 00021e82 41 fa e3 ac |A | LEA.L 0x20230,A0 00021e86 70 09 |p | MOVEQ.L #0x09,D0 00021e88 2f 20 |/ | MOVE.L -(A0),-(A7) 00021e8a 51 c8 ff fc |Q | DBF D0,0x21e88 00021e8e 51 4f |QO | SUBQ.L #0x8,A7 00021e90 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00021e94 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 00021e98 3f 01 |? | MOVE.W D1,-(A7) 00021e9a 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00021ea0 50 4f |PO | ADDQ.L #0x8,A7 00021ea2 48 78 00 01 |Hx | PEA.L 0x1 00021ea6 48 78 00 03 |Hx | PEA.L 0x3 00021eaa 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 00021eb0 de fc 00 0c | | ADDA.W #0xc,A7 00021eb4 2c 1f |, | MOVE.L (A7)+,D6 00021eb6 de c1 | | ADDA.W D1,A7 00021eb8 7e 01 |~ | MOVEQ.L #0x01,D7 00021eba 0c 87 00 00 00 02 | | CMPI.L #0x00000002,D7 00021ec0 66 04 |f | BNE 0x21ec6 00021ec2 4e ba f7 1a |N | JSR 0x215de 00021ec6 2f 07 |/ | MOVE.L D7,-(A7) 00021ec8 1f 2e 00 08 | . | MOVE.B (A6+0x8),-(A7) 00021ecc 48 6e ff ff |Hn | PEA.L (A6-0x1) 00021ed0 4e ba f9 9c |N | JSR 0x2186e 00021ed4 de fc 00 0a | | ADDA.W #0xa,A7 00021ed8 52 87 |R | ADDQ.L #0x1,D7 00021eda 4a 2e ff ff |J. | TST.B (A6-0x1) 00021ede 67 04 |g | BEQ 0x21ee4 00021ee0 be 86 | | CMP.L D6,D7 00021ee2 6f d6 |o | BLE 0x21eba 00021ee4 4c df 01 c3 |L | MOVEM.L (A7)+,D0+D1+D6+D7+A0 00021ee8 4e 5e |N^ | UNLK A6 00021eea 4e 75 |Nu | RTS 00021eec ; -------------------------------------------------------------------------------------- 00021eec ; OMSI PASCAL Function 00021eec ; -------------------------------------------------------------------------------------- 00021eec 4e 56 ff fa |NV | LINK.W A6,#0xfffa 00021ef0 bf d5 | | CMPA.L (A5),A7 00021ef2 62 06 |b | BHI 0x21efa 00021ef4 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021ef8 4e 76 |Nv | TRAPV 00021efa de fc 00 06 | | ADDA.W #0x6,A7 00021efe 42 27 |B' | CLR.B -(A7) 00021f00 4e ba ff 68 |N h | JSR 0x21e6a 00021f04 54 4f |TO | ADDQ.L #0x2,A7 00021f06 4e 5e |N^ | UNLK A6 00021f08 4e 75 |Nu | RTS 00021f0a ; -------------------------------------------------------------------------------------- 00021f0a ; OMSI PASCAL Function 00021f0a ; -------------------------------------------------------------------------------------- 00021f0a 4e 56 ff 7c |NV | | LINK.W A6,#0xff7c 00021f0e bf d5 | | CMPA.L (A5),A7 00021f10 62 06 |b | BHI 0x21f18 00021f12 44 fc 00 02 |D | MOVE.W #0x2,CCR 00021f16 4e 76 |Nv | TRAPV 00021f18 de fc 00 78 | x | ADDA.W #0x78,A7 00021f1c 48 e7 ff f0 |H | MOVEM.L A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7) 00021f20 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 00021f26 47 f9 00 01 03 e0 |G | LEA.L WriteConsoleStringCrLf(str : String),A3 00021f2c 72 01 |r | MOVEQ.L #0x01,D1 00021f2e 74 31 |t1 | MOVEQ.L #0x31,D2 00021f30 76 0c |v | MOVEQ.L #0x0c,D3 00021f32 78 16 |x | MOVEQ.L #0x16,D4 00021f34 2f 3a e2 fe |/: | MOVE.L 0x20234,-(A7) 00021f38 2f 3a e2 f6 |/: | MOVE.L 0x20230,-(A7) 00021f3c 59 4f |YO | SUBQ.L #0x4,A7 00021f3e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021f42 3f 01 |? | MOVE.W D1,-(A7) 00021f44 3f 3c 00 08 |?< | MOVE.W #0x8,-(A7) 00021f48 4e 92 |N | JSR (A2) 00021f4a 50 4f |PO | ADDQ.L #0x8,A7 00021f4c 4e 93 |N | JSR (A3) 00021f4e de c3 | | ADDA.W D3,A7 00021f50 41 fa e3 12 |A | LEA.L 0x20264,A0 00021f54 70 0a |p | MOVEQ.L #0x0a,D0 00021f56 2f 20 |/ | MOVE.L -(A0),-(A7) 00021f58 51 c8 ff fc |Q | DBF D0,0x21f56 00021f5c 59 4f |YO | SUBQ.L #0x4,A7 00021f5e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021f62 3f 01 |? | MOVE.W D1,-(A7) 00021f64 3f 3c 00 2c |?< , | MOVE.W #0x2c,-(A7) 00021f68 4e 92 |N | JSR (A2) 00021f6a 50 4f |PO | ADDQ.L #0x8,A7 00021f6c 4e 93 |N | JSR (A3) 00021f6e 55 4f |UO | SUBQ.L #0x2,A7 00021f70 20 4f | O | MOVEA.L A7,A0 00021f72 43 fa e2 f0 |C | LEA.L 0x20264,A1 00021f76 70 30 |p0 | MOVEQ.L #0x30,D0 00021f78 10 d9 | | MOVE.B (A1)+,(A0)+ 00021f7a 51 c8 ff fc |Q | DBF D0,0x21f78 00021f7e 59 4f |YO | SUBQ.L #0x4,A7 00021f80 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021f84 3f 01 |? | MOVE.W D1,-(A7) 00021f86 3f 02 |? | MOVE.W D2,-(A7) 00021f88 4e 92 |N | JSR (A2) 00021f8a 50 4f |PO | ADDQ.L #0x8,A7 00021f8c 4e 93 |N | JSR (A3) 00021f8e 58 4f |XO | ADDQ.L #0x4,A7 00021f90 20 4f | O | MOVEA.L A7,A0 00021f92 43 fa e3 02 |C | LEA.L 0x20296,A1 00021f96 70 30 |p0 | MOVEQ.L #0x30,D0 00021f98 10 d9 | | MOVE.B (A1)+,(A0)+ 00021f9a 51 c8 ff fc |Q | DBF D0,0x21f98 00021f9e 59 4f |YO | SUBQ.L #0x4,A7 00021fa0 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021fa4 3f 01 |? | MOVE.W D1,-(A7) 00021fa6 3f 02 |? | MOVE.W D2,-(A7) 00021fa8 4e 92 |N | JSR (A2) 00021faa 50 4f |PO | ADDQ.L #0x8,A7 00021fac 4e 93 |N | JSR (A3) 00021fae 58 4f |XO | ADDQ.L #0x4,A7 00021fb0 20 4f | O | MOVEA.L A7,A0 00021fb2 43 fa e3 14 |C | LEA.L 0x202c8,A1 00021fb6 70 30 |p0 | MOVEQ.L #0x30,D0 00021fb8 10 d9 | | MOVE.B (A1)+,(A0)+ 00021fba 51 c8 ff fc |Q | DBF D0,0x21fb8 00021fbe 59 4f |YO | SUBQ.L #0x4,A7 00021fc0 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021fc4 3f 01 |? | MOVE.W D1,-(A7) 00021fc6 3f 02 |? | MOVE.W D2,-(A7) 00021fc8 4e 92 |N | JSR (A2) 00021fca 50 4f |PO | ADDQ.L #0x8,A7 00021fcc 4e 93 |N | JSR (A3) 00021fce 58 4f |XO | ADDQ.L #0x4,A7 00021fd0 20 4f | O | MOVEA.L A7,A0 00021fd2 43 fa e3 26 |C & | LEA.L 0x202fa,A1 00021fd6 70 30 |p0 | MOVEQ.L #0x30,D0 00021fd8 10 d9 | | MOVE.B (A1)+,(A0)+ 00021fda 51 c8 ff fc |Q | DBF D0,0x21fd8 00021fde 59 4f |YO | SUBQ.L #0x4,A7 00021fe0 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00021fe4 3f 01 |? | MOVE.W D1,-(A7) 00021fe6 3f 02 |? | MOVE.W D2,-(A7) 00021fe8 4e 92 |N | JSR (A2) 00021fea 50 4f |PO | ADDQ.L #0x8,A7 00021fec 4e 93 |N | JSR (A3) 00021fee 55 4f |UO | SUBQ.L #0x2,A7 00021ff0 20 4f | O | MOVEA.L A7,A0 00021ff2 43 fa e3 38 |C 8 | LEA.L 0x2032c,A1 00021ff6 70 36 |p6 | MOVEQ.L #0x36,D0 00021ff8 10 d9 | | MOVE.B (A1)+,(A0)+ 00021ffa 51 c8 ff fc |Q | DBF D0,0x21ff8 00021ffe 59 4f |YO | SUBQ.L #0x4,A7 00022000 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022004 3f 01 |? | MOVE.W D1,-(A7) 00022006 3f 3c 00 37 |?< 7 | MOVE.W #0x37,-(A7) 0002200a 4e 92 |N | JSR (A2) 0002200c 50 4f |PO | ADDQ.L #0x8,A7 0002200e 4e 93 |N | JSR (A3) 00022010 de fc 00 3c | < | ADDA.W #0x3c,A7 00022014 7a 0b |z | MOVEQ.L #0x0b,D5 00022016 41 fa e3 62 |A b | LEA.L 0x2037a,A0 0002201a 70 0a |p | MOVEQ.L #0x0a,D0 0002201c 3f 20 |? | MOVE.W -(A0),-(A7) 0002201e 51 c8 ff fc |Q | DBF D0,0x2201c 00022022 51 4f |QO | SUBQ.L #0x8,A7 00022024 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00022028 3f 01 |? | MOVE.W D1,-(A7) 0002202a 3f 04 |? | MOVE.W D4,-(A7) 0002202c 4e 92 |N | JSR (A2) 0002202e 50 4f |PO | ADDQ.L #0x8,A7 00022030 48 78 00 00 |Hx | PEA.L 0x0 00022034 2f 05 |/ | MOVE.L D5,-(A7) 00022036 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 0002203c de c3 | | ADDA.W D3,A7 0002203e 2c 1f |, | MOVE.L (A7)+,D6 00022040 de c4 | | ADDA.W D4,A7 00022042 20 06 | | MOVE.L D6,D0 00022044 b0 83 | | CMP.L D3,D0 00022046 63 02 |c | BLS 0x2204a 00022048 4e 4e |NN | TRAP #14 0002204a d0 40 | @ | ADD.W D0,D0 0002204c 30 3b 00 06 4e fb 00 02 |0; N | SWITCH D0.W 00022054 00 1a | | .CONST 0x1a ; [0x0] -> 0x2206e 00022056 00 1e | | .CONST 0x1e ; [0x1] -> 0x22072 00022058 00 22 | " | .CONST 0x22 ; [0x2] -> 0x22076 0002205a 00 26 | & | .CONST 0x26 ; [0x3] -> 0x2207a 0002205c 00 2a | * | .CONST 0x2a ; [0x4] -> 0x2207e 0002205e 00 2e | . | .CONST 0x2e ; [0x5] -> 0x22082 00022060 00 32 | 2 | .CONST 0x32 ; [0x6] -> 0x22086 00022062 00 36 | 6 | .CONST 0x36 ; [0x7] -> 0x2208a 00022064 00 3a | : | .CONST 0x3a ; [0x8] -> 0x2208e 00022066 00 3e | > | .CONST 0x3e ; [0x9] -> 0x22092 00022068 00 40 | @ | .CONST 0x40 ; [0xa] -> 0x22094 0002206a 00 42 | B | .CONST 0x42 ; [0xb] -> 0x22096 0002206c 00 44 | D | .CONST 0x44 ; [0xc] -> 0x22098 0002206e switch@0x2204c[0x0]: 0002206e 60 3a |`: | BRA 0x220aa 00022070 60 28 |`( | .XXX[0x2] 00022072 switch@0x2204c[0x1]: 00022072 7e 00 |~ | MOVEQ.L #0x00,D7 00022074 60 24 |`$ | BRA 0x2209a 00022076 switch@0x2204c[0x2]: 00022076 7e 03 |~ | MOVEQ.L #0x03,D7 00022078 60 20 |` | BRA 0x2209a 0002207a switch@0x2204c[0x3]: 0002207a 7e 04 |~ | MOVEQ.L #0x04,D7 0002207c 60 1c |` | BRA 0x2209a 0002207e switch@0x2204c[0x4]: 0002207e 7e 05 |~ | MOVEQ.L #0x05,D7 00022080 60 18 |` | BRA 0x2209a 00022082 switch@0x2204c[0x5]: 00022082 7e 0b |~ | MOVEQ.L #0x0b,D7 00022084 60 14 |` | BRA 0x2209a 00022086 switch@0x2204c[0x6]: 00022086 7e 02 |~ | MOVEQ.L #0x02,D7 00022088 60 10 |` | BRA 0x2209a 0002208a switch@0x2204c[0x7]: 0002208a 7e 06 |~ | MOVEQ.L #0x06,D7 0002208c 60 0c |` | BRA 0x2209a 0002208e switch@0x2204c[0x8]: 0002208e 7e 07 |~ | MOVEQ.L #0x07,D7 00022090 60 08 |` | BRA 0x2209a 00022092 switch@0x2204c[0x9]: 00022092 60 fa |` | BRA switch@0x2204c[0x8] 00022094 switch@0x2204c[0xa]: 00022094 60 f8 |` | BRA switch@0x2204c[0x8] 00022096 switch@0x2204c[0xb]: 00022096 60 f6 |` | BRA switch@0x2204c[0x8] 00022098 switch@0x2204c[0xc]: 00022098 7e 01 |~ | MOVEQ.L #0x01,D7 0002209a 10 07 | | MOVE.B D7,D0 0002209c 48 80 |H | EXTB.W D0 0002209e 41 bc 00 0b |A | CHK.W #0xb,D0 000220a2 1f 00 | | MOVE.B D0,-(A7) 000220a4 4e ba fd c4 |N | JSR 0x21e6a 000220a8 54 4f |TO | ADDQ.L #0x2,A7 000220aa 4c df 0f ff |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3 000220ae 4e 5e |N^ | UNLK A6 000220b0 4e 75 |Nu | RTS 000220b2 ; -------------------------------------------------------------------------------------- 000220b2 ; OMSI PASCAL Function 000220b2 ; <LVAR 0x00c 1(w)> 000220b2 ; <LVAR 0x008 4(r)> 000220b2 ; -------------------------------------------------------------------------------------- 000220b2 4e 56 ff 7e |NV ~ | LINK.W A6,#0xff7e 000220b6 bf d5 | | CMPA.L (A5),A7 000220b8 62 06 |b | BHI 0x220c0 000220ba 44 fc 00 02 |D | MOVE.W #0x2,CCR 000220be 4e 76 |Nv | TRAPV 000220c0 de fc 00 7a | z | ADDA.W #0x7a,A7 000220c4 48 e7 ff f0 |H | MOVEM.L A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7) 000220c8 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 000220ce 47 f9 00 01 03 e0 |G | LEA.L WriteConsoleStringCrLf(str : String),A3 000220d4 72 01 |r | MOVEQ.L #0x01,D1 000220d6 74 32 |t2 | MOVEQ.L #0x32,D2 000220d8 76 36 |v6 | MOVEQ.L #0x36,D3 000220da 78 3a |x: | MOVEQ.L #0x3a,D4 000220dc 7a 34 |z4 | MOVEQ.L #0x34,D5 000220de 4e b9 00 01 03 dc |N | JSR WriteConsoleCrLf(void) 000220e4 9e c2 | | SUBA.W D2,A7 000220e6 20 4f | O | MOVEA.L A7,A0 000220e8 43 fa e2 90 |C | LEA.L 0x2037a,A1 000220ec 70 30 |p0 | MOVEQ.L #0x30,D0 000220ee 10 d9 | | MOVE.B (A1)+,(A0)+ 000220f0 51 c8 ff fc |Q | DBF D0,0x220ee 000220f4 59 4f |YO | SUBQ.L #0x4,A7 000220f6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000220fa 3f 01 |? | MOVE.W D1,-(A7) 000220fc 3f 3c 00 31 |?< 1 | MOVE.W #0x31,-(A7) 00022100 4e 92 |N | JSR (A2) 00022102 50 4f |PO | ADDQ.L #0x8,A7 00022104 4e 93 |N | JSR (A3) 00022106 50 4f |PO | ADDQ.L #0x8,A7 00022108 20 4f | O | MOVEA.L A7,A0 0002210a 43 fa e2 a0 |C | LEA.L 0x203ac,A1 0002210e 70 2c |p, | MOVEQ.L #0x2c,D0 00022110 10 d9 | | MOVE.B (A1)+,(A0)+ 00022112 51 c8 ff fc |Q | DBF D0,0x22110 00022116 59 4f |YO | SUBQ.L #0x4,A7 00022118 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002211c 3f 01 |? | MOVE.W D1,-(A7) 0002211e 3f 3c 00 2d |?< - | MOVE.W #0x2d,-(A7) 00022122 4e 92 |N | JSR (A2) 00022124 50 4f |PO | ADDQ.L #0x8,A7 00022126 4e 93 |N | JSR (A3) 00022128 de c2 | | ADDA.W D2,A7 0002212a 41 fa e2 de |A | LEA.L 0x2040a,A0 0002212e 70 0b |p | MOVEQ.L #0x0b,D0 00022130 2f 20 |/ | MOVE.L -(A0),-(A7) 00022132 51 c8 ff fc |Q | DBF D0,0x22130 00022136 59 4f |YO | SUBQ.L #0x4,A7 00022138 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002213c 3f 01 |? | MOVE.W D1,-(A7) 0002213e 3f 3c 00 30 |?< 0 | MOVE.W #0x30,-(A7) 00022142 4e 92 |N | JSR (A2) 00022144 50 4f |PO | ADDQ.L #0x8,A7 00022146 4e 93 |N | JSR (A3) 00022148 de c5 | | ADDA.W D5,A7 0002214a 41 fa e2 f4 |A | LEA.L 0x20440,A0 0002214e 70 1a |p | MOVEQ.L #0x1a,D0 00022150 3f 20 |? | MOVE.W -(A0),-(A7) 00022152 51 c8 ff fc |Q | DBF D0,0x22150 00022156 59 4f |YO | SUBQ.L #0x4,A7 00022158 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002215c 3f 01 |? | MOVE.W D1,-(A7) 0002215e 3f 03 |? | MOVE.W D3,-(A7) 00022160 4e 92 |N | JSR (A2) 00022162 50 4f |PO | ADDQ.L #0x8,A7 00022164 4e 93 |N | JSR (A3) 00022166 de c4 | | ADDA.W D4,A7 00022168 41 fa e3 0c |A | LEA.L 0x20476,A0 0002216c 70 1a |p | MOVEQ.L #0x1a,D0 0002216e 3f 20 |? | MOVE.W -(A0),-(A7) 00022170 51 c8 ff fc |Q | DBF D0,0x2216e 00022174 59 4f |YO | SUBQ.L #0x4,A7 00022176 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002217a 3f 01 |? | MOVE.W D1,-(A7) 0002217c 3f 03 |? | MOVE.W D3,-(A7) 0002217e 4e 92 |N | JSR (A2) 00022180 50 4f |PO | ADDQ.L #0x8,A7 00022182 4e 93 |N | JSR (A3) 00022184 de c4 | | ADDA.W D4,A7 00022186 41 fa e3 20 |A | LEA.L 0x204a8,A0 0002218a 70 18 |p | MOVEQ.L #0x18,D0 0002218c 3f 20 |? | MOVE.W -(A0),-(A7) 0002218e 51 c8 ff fc |Q | DBF D0,0x2218c 00022192 59 4f |YO | SUBQ.L #0x4,A7 00022194 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022198 3f 01 |? | MOVE.W D1,-(A7) 0002219a 3f 02 |? | MOVE.W D2,-(A7) 0002219c 4e 92 |N | JSR (A2) 0002219e 50 4f |PO | ADDQ.L #0x8,A7 000221a0 4e 93 |N | JSR (A3) 000221a2 de c3 | | ADDA.W D3,A7 000221a4 41 fa e3 3c |A < | LEA.L 0x204e2,A0 000221a8 70 1c |p | MOVEQ.L #0x1c,D0 000221aa 3f 20 |? | MOVE.W -(A0),-(A7) 000221ac 51 c8 ff fc |Q | DBF D0,0x221aa 000221b0 59 4f |YO | SUBQ.L #0x4,A7 000221b2 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000221b6 3f 01 |? | MOVE.W D1,-(A7) 000221b8 3f 04 |? | MOVE.W D4,-(A7) 000221ba 4e 92 |N | JSR (A2) 000221bc 50 4f |PO | ADDQ.L #0x8,A7 000221be 4e 93 |N | JSR (A3) 000221c0 de fc 00 3e | > | ADDA.W #0x3e,A7 000221c4 41 fa e3 46 |A F | LEA.L 0x2050c,A0 000221c8 70 14 |p | MOVEQ.L #0x14,D0 000221ca 3f 20 |? | MOVE.W -(A0),-(A7) 000221cc 51 c8 ff fc |Q | DBF D0,0x221ca 000221d0 59 4f |YO | SUBQ.L #0x4,A7 000221d2 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000221d6 3f 01 |? | MOVE.W D1,-(A7) 000221d8 3f 3c 00 2a |?< * | MOVE.W #0x2a,-(A7) 000221dc 4e 92 |N | JSR (A2) 000221de 50 4f |PO | ADDQ.L #0x8,A7 000221e0 4e 93 |N | JSR (A3) 000221e2 de fc 00 2e | . | ADDA.W #0x2e,A7 000221e6 41 fa e3 58 |A X | LEA.L 0x20540,A0 000221ea 70 0c |p | MOVEQ.L #0x0c,D0 000221ec 2f 20 |/ | MOVE.L -(A0),-(A7) 000221ee 51 c8 ff fc |Q | DBF D0,0x221ec 000221f2 59 4f |YO | SUBQ.L #0x4,A7 000221f4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000221f8 3f 01 |? | MOVE.W D1,-(A7) 000221fa 3f 05 |? | MOVE.W D5,-(A7) 000221fc 4e 92 |N | JSR (A2) 000221fe 50 4f |PO | ADDQ.L #0x8,A7 00022200 4e 93 |N | JSR (A3) 00022202 de fc 00 28 | ( | ADDA.W #0x28,A7 00022206 20 4f | O | MOVEA.L A7,A0 00022208 43 fa e3 68 |C h | LEA.L 0x20572,A1 0002220c 70 0e |p | MOVEQ.L #0x0e,D0 0002220e 10 d9 | | MOVE.B (A1)+,(A0)+ 00022210 51 c8 ff fc |Q | DBF D0,0x2220e 00022214 59 4f |YO | SUBQ.L #0x4,A7 00022216 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002221a 3f 01 |? | MOVE.W D1,-(A7) 0002221c 3f 3c 00 0f |?< | MOVE.W #0xf,-(A7) 00022220 4e 92 |N | JSR (A2) 00022222 50 4f |PO | ADDQ.L #0x8,A7 00022224 4e 93 |N | JSR (A3) 00022226 de fc 00 14 | | ADDA.W #0x14,A7 0002222a 7c 14 || | MOVEQ.L #0x14,D6 0002222c 9e fc 00 16 | | SUBA.W #0x16,A7 00022230 20 4f | O | MOVEA.L A7,A0 00022232 43 fa e3 4e |C N | LEA.L 0x20582,A1 00022236 70 14 |p | MOVEQ.L #0x14,D0 00022238 10 d9 | | MOVE.B (A1)+,(A0)+ 0002223a 51 c8 ff fc |Q | DBF D0,0x22238 0002223e 59 4f |YO | SUBQ.L #0x4,A7 00022240 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022244 3f 01 |? | MOVE.W D1,-(A7) 00022246 3f 3c 00 15 |?< | MOVE.W #0x15,-(A7) 0002224a 4e 92 |N | JSR (A2) 0002224c 50 4f |PO | ADDQ.L #0x8,A7 0002224e 4e 93 |N | JSR (A3) 00022250 de fc 00 12 | | ADDA.W #0x12,A7 00022254 2e ae 00 08 |. | MOVE.L (A6+0x8),(A7) 00022258 48 78 00 01 |Hx | PEA.L 0x1 0002225c 2f 06 |/ | MOVE.L D6,-(A7) 0002225e 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 00022264 de fc 00 0c | | ADDA.W #0xc,A7 00022268 2e 1f |. | MOVE.L (A7)+,D7 0002226a 20 07 | | MOVE.L D7,D0 0002226c 53 80 |S | SUBQ.L #0x1,D0 0002226e 0c 80 00 00 00 14 | | CMPI.L #0x00000014,D0 00022274 63 02 |c | BLS 0x22278 00022276 4e 4f |NO | TRAP #15 00022278 41 fa f0 c4 |A | LEA.L 0x2133e,A0 0002227c 1d 70 08 00 00 0c | p | MOVE.B (A0+D0.L),(A6+0xc) 00022282 4c df 0f ff |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3 00022286 4e 5e |N^ | UNLK A6 00022288 4e 75 |Nu | RTS 0002228a ; -------------------------------------------------------------------------------------- 0002228a ; OMSI PASCAL Function 0002228a ; <LVAR 0x00c 1(w)> 0002228a ; <LVAR 0x008 4(r)> 0002228a ; -------------------------------------------------------------------------------------- 0002228a 4e 56 ff a2 |NV | LINK.W A6,#0xffa2 0002228e bf d5 | | CMPA.L (A5),A7 00022290 62 06 |b | BHI 0x22298 00022292 44 fc 00 02 |D | MOVE.W #0x2,CCR 00022296 4e 76 |Nv | TRAPV 00022298 de fc 00 5a | Z | ADDA.W #0x5a,A7 0002229c 48 e7 f1 e0 |H | MOVEM.L A2+A1+A0+D7+D3+D2+D1+D0,-(A7) 000222a0 43 f9 00 01 02 c4 |C | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A1 000222a6 45 f9 00 01 03 e0 |E | LEA.L WriteConsoleStringCrLf(str : String),A2 000222ac 72 01 |r | MOVEQ.L #0x01,D1 000222ae 74 2a |t* | MOVEQ.L #0x2a,D2 000222b0 76 26 |v& | MOVEQ.L #0x26,D3 000222b2 41 fa e3 0a |A | LEA.L 0x205be,A0 000222b6 70 12 |p | MOVEQ.L #0x12,D0 000222b8 3f 20 |? | MOVE.W -(A0),-(A7) 000222ba 51 c8 ff fc |Q | DBF D0,0x222b8 000222be 59 4f |YO | SUBQ.L #0x4,A7 000222c0 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000222c4 3f 01 |? | MOVE.W D1,-(A7) 000222c6 3f 03 |? | MOVE.W D3,-(A7) 000222c8 4e 91 |N | JSR (A1) 000222ca 50 4f |PO | ADDQ.L #0x8,A7 000222cc 4e 92 |N | JSR (A2) 000222ce de c2 | | ADDA.W D2,A7 000222d0 41 fa e3 12 |A | LEA.L 0x205e4,A0 000222d4 70 12 |p | MOVEQ.L #0x12,D0 000222d6 3f 20 |? | MOVE.W -(A0),-(A7) 000222d8 51 c8 ff fc |Q | DBF D0,0x222d6 000222dc 59 4f |YO | SUBQ.L #0x4,A7 000222de 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000222e2 3f 01 |? | MOVE.W D1,-(A7) 000222e4 3f 03 |? | MOVE.W D3,-(A7) 000222e6 4e 91 |N | JSR (A1) 000222e8 50 4f |PO | ADDQ.L #0x8,A7 000222ea 4e 92 |N | JSR (A2) 000222ec de c2 | | ADDA.W D2,A7 000222ee 41 fa e3 1a |A | LEA.L 0x2060a,A0 000222f2 70 12 |p | MOVEQ.L #0x12,D0 000222f4 3f 20 |? | MOVE.W -(A0),-(A7) 000222f6 51 c8 ff fc |Q | DBF D0,0x222f4 000222fa 59 4f |YO | SUBQ.L #0x4,A7 000222fc 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022300 3f 01 |? | MOVE.W D1,-(A7) 00022302 3f 03 |? | MOVE.W D3,-(A7) 00022304 4e 91 |N | JSR (A1) 00022306 50 4f |PO | ADDQ.L #0x8,A7 00022308 4e 92 |N | JSR (A2) 0002230a de c2 | | ADDA.W D2,A7 0002230c 41 fa e3 22 |A " | LEA.L 0x20630,A0 00022310 70 12 |p | MOVEQ.L #0x12,D0 00022312 3f 20 |? | MOVE.W -(A0),-(A7) 00022314 51 c8 ff fc |Q | DBF D0,0x22312 00022318 59 4f |YO | SUBQ.L #0x4,A7 0002231a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002231e 3f 01 |? | MOVE.W D1,-(A7) 00022320 3f 03 |? | MOVE.W D3,-(A7) 00022322 4e 91 |N | JSR (A1) 00022324 50 4f |PO | ADDQ.L #0x8,A7 00022326 4e 92 |N | JSR (A2) 00022328 de c2 | | ADDA.W D2,A7 0002232a 41 fa e3 2e |A . | LEA.L 0x2065a,A0 0002232e 70 14 |p | MOVEQ.L #0x14,D0 00022330 3f 20 |? | MOVE.W -(A0),-(A7) 00022332 51 c8 ff fc |Q | DBF D0,0x22330 00022336 59 4f |YO | SUBQ.L #0x4,A7 00022338 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002233c 3f 01 |? | MOVE.W D1,-(A7) 0002233e 3f 02 |? | MOVE.W D2,-(A7) 00022340 4e 91 |N | JSR (A1) 00022342 50 4f |PO | ADDQ.L #0x8,A7 00022344 4e 92 |N | JSR (A2) 00022346 de c2 | | ADDA.W D2,A7 00022348 2e ba e3 14 |. | MOVE.L 0x2065e,(A7) 0002234c 2f 3a e3 0c |/: | MOVE.L 0x2065a,-(A7) 00022350 59 4f |YO | SUBQ.L #0x4,A7 00022352 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022356 3f 01 |? | MOVE.W D1,-(A7) 00022358 3f 3c 00 08 |?< | MOVE.W #0x8,-(A7) 0002235c 4e 91 |N | JSR (A1) 0002235e 50 4f |PO | ADDQ.L #0x8,A7 00022360 4e 92 |N | JSR (A2) 00022362 58 4f |XO | ADDQ.L #0x4,A7 00022364 2e ae 00 08 |. | MOVE.L (A6+0x8),(A7) 00022368 48 78 00 01 |Hx | PEA.L 0x1 0002236c 48 78 00 0b |Hx | PEA.L 0xb 00022370 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 00022376 de fc 00 0c | | ADDA.W #0xc,A7 0002237a 2e 1f |. | MOVE.L (A7)+,D7 0002237c 20 07 | | MOVE.L D7,D0 0002237e 53 80 |S | SUBQ.L #0x1,D0 00022380 0c 80 00 00 00 0a | | CMPI.L #0x0000000a,D0 00022386 63 02 |c | BLS 0x2238a 00022388 4e 4f |NO | TRAP #15 0002238a 41 fa ef c7 |A | LEA.L 0x21353,A0 0002238e 1d 70 08 00 00 0c | p | MOVE.B (A0+D0.L),(A6+0xc) 00022394 4c df 07 8f |L | MOVEM.L (A7)+,D0+D1+D2+D3+D7+A0+A1+A2 00022398 4e 5e |N^ | UNLK A6 0002239a 4e 75 |Nu | RTS 0002239c ; -------------------------------------------------------------------------------------- 0002239c ; OMSI PASCAL Function 0002239c ; <LVAR -0x004 1(rw)> 0002239c ; <LVAR -0x00a @> 0002239c ; -------------------------------------------------------------------------------------- 0002239c 4e 56 ff 70 |NV p | LINK.W A6,#0xff70 000223a0 bf d5 | | CMPA.L (A5),A7 000223a2 62 06 |b | BHI 0x223aa 000223a4 44 fc 00 02 |D | MOVE.W #0x2,CCR 000223a8 4e 76 |Nv | TRAPV 000223aa de fc 00 80 | | ADDA.W #0x80,A7 000223ae 48 e7 ff f8 |H | MOVEM.L A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7) 000223b2 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 000223b8 47 f9 00 01 03 e0 |G | LEA.L WriteConsoleStringCrLf(str : String),A3 000223be 72 01 |r | MOVEQ.L #0x01,D1 000223c0 74 28 |t( | MOVEQ.L #0x28,D2 000223c2 9e c2 | | SUBA.W D2,A7 000223c4 20 4f | O | MOVEA.L A7,A0 000223c6 43 fa e3 bc |C | LEA.L 0x20784,A1 000223ca 70 26 |p& | MOVEQ.L #0x26,D0 000223cc 10 d9 | | MOVE.B (A1)+,(A0)+ 000223ce 51 c8 ff fc |Q | DBF D0,0x223cc 000223d2 59 4f |YO | SUBQ.L #0x4,A7 000223d4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000223d8 3f 01 |? | MOVE.W D1,-(A7) 000223da 3f 3c 00 27 |?< ' | MOVE.W #0x27,-(A7) 000223de 4e 92 |N | JSR (A2) 000223e0 50 4f |PO | ADDQ.L #0x8,A7 000223e2 4e 93 |N | JSR (A3) 000223e4 de fc 00 2c | , | ADDA.W #0x2c,A7 000223e8 41 fa e3 ea |A | LEA.L 0x207d4,A0 000223ec 70 09 |p | MOVEQ.L #0x09,D0 000223ee 2f 20 |/ | MOVE.L -(A0),-(A7) 000223f0 51 c8 ff fc |Q | DBF D0,0x223ee 000223f4 59 4f |YO | SUBQ.L #0x4,A7 000223f6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000223fa 3f 01 |? | MOVE.W D1,-(A7) 000223fc 3f 02 |? | MOVE.W D2,-(A7) 000223fe 4e 92 |N | JSR (A2) 00022400 50 4f |PO | ADDQ.L #0x8,A7 00022402 4e 93 |N | JSR (A3) 00022404 de fc 00 2c | , | ADDA.W #0x2c,A7 00022408 41 fa e3 f2 |A | LEA.L 0x207fc,A0 0002240c 70 09 |p | MOVEQ.L #0x09,D0 0002240e 2f 20 |/ | MOVE.L -(A0),-(A7) 00022410 51 c8 ff fc |Q | DBF D0,0x2240e 00022414 59 4f |YO | SUBQ.L #0x4,A7 00022416 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002241a 3f 01 |? | MOVE.W D1,-(A7) 0002241c 3f 02 |? | MOVE.W D2,-(A7) 0002241e 4e 92 |N | JSR (A2) 00022420 50 4f |PO | ADDQ.L #0x8,A7 00022422 4e 93 |N | JSR (A3) 00022424 58 4f |XO | ADDQ.L #0x4,A7 00022426 20 4f | O | MOVEA.L A7,A0 00022428 43 fa e3 d2 |C | LEA.L 0x207fc,A1 0002242c 70 26 |p& | MOVEQ.L #0x26,D0 0002242e 10 d9 | | MOVE.B (A1)+,(A0)+ 00022430 51 c8 ff fc |Q | DBF D0,0x2242e 00022434 59 4f |YO | SUBQ.L #0x4,A7 00022436 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002243a 3f 01 |? | MOVE.W D1,-(A7) 0002243c 3f 3c 00 27 |?< ' | MOVE.W #0x27,-(A7) 00022440 4e 92 |N | JSR (A2) 00022442 50 4f |PO | ADDQ.L #0x8,A7 00022444 4e 93 |N | JSR (A3) 00022446 58 4f |XO | ADDQ.L #0x4,A7 00022448 20 4f | O | MOVEA.L A7,A0 0002244a 43 fa e3 d8 |C | LEA.L 0x20824,A1 0002244e 70 26 |p& | MOVEQ.L #0x26,D0 00022450 10 d9 | | MOVE.B (A1)+,(A0)+ 00022452 51 c8 ff fc |Q | DBF D0,0x22450 00022456 59 4f |YO | SUBQ.L #0x4,A7 00022458 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002245c 3f 01 |? | MOVE.W D1,-(A7) 0002245e 3f 3c 00 27 |?< ' | MOVE.W #0x27,-(A7) 00022462 4e 92 |N | JSR (A2) 00022464 50 4f |PO | ADDQ.L #0x8,A7 00022466 4e 93 |N | JSR (A3) 00022468 de fc 00 2c | , | ADDA.W #0x2c,A7 0002246c 41 fa e4 06 |A | LEA.L 0x20874,A0 00022470 70 09 |p | MOVEQ.L #0x09,D0 00022472 2f 20 |/ | MOVE.L -(A0),-(A7) 00022474 51 c8 ff fc |Q | DBF D0,0x22472 00022478 59 4f |YO | SUBQ.L #0x4,A7 0002247a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002247e 3f 01 |? | MOVE.W D1,-(A7) 00022480 3f 02 |? | MOVE.W D2,-(A7) 00022482 4e 92 |N | JSR (A2) 00022484 50 4f |PO | ADDQ.L #0x8,A7 00022486 4e 93 |N | JSR (A3) 00022488 54 4f |TO | ADDQ.L #0x2,A7 0002248a 20 4f | O | MOVEA.L A7,A0 0002248c 43 fa e3 e6 |C | LEA.L 0x20874,A1 00022490 70 28 |p( | MOVEQ.L #0x28,D0 00022492 10 d9 | | MOVE.B (A1)+,(A0)+ 00022494 51 c8 ff fc |Q | DBF D0,0x22492 00022498 59 4f |YO | SUBQ.L #0x4,A7 0002249a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002249e 3f 01 |? | MOVE.W D1,-(A7) 000224a0 3f 3c 00 29 |?< ) | MOVE.W #0x29,-(A7) 000224a4 4e 92 |N | JSR (A2) 000224a6 50 4f |PO | ADDQ.L #0x8,A7 000224a8 4e 93 |N | JSR (A3) 000224aa 5c 4f |\O | ADDQ.L #0x6,A7 000224ac 20 4f | O | MOVEA.L A7,A0 000224ae 43 fa e3 ee |C | LEA.L 0x2089e,A1 000224b2 70 26 |p& | MOVEQ.L #0x26,D0 000224b4 10 d9 | | MOVE.B (A1)+,(A0)+ 000224b6 51 c8 ff fc |Q | DBF D0,0x224b4 000224ba 59 4f |YO | SUBQ.L #0x4,A7 000224bc 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000224c0 3f 01 |? | MOVE.W D1,-(A7) 000224c2 3f 3c 00 27 |?< ' | MOVE.W #0x27,-(A7) 000224c6 4e 92 |N | JSR (A2) 000224c8 50 4f |PO | ADDQ.L #0x8,A7 000224ca 4e 93 |N | JSR (A3) 000224cc de fc 00 2c | , | ADDA.W #0x2c,A7 000224d0 41 fa e4 1c |A | LEA.L 0x208ee,A0 000224d4 70 09 |p | MOVEQ.L #0x09,D0 000224d6 2f 20 |/ | MOVE.L -(A0),-(A7) 000224d8 51 c8 ff fc |Q | DBF D0,0x224d6 000224dc 59 4f |YO | SUBQ.L #0x4,A7 000224de 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000224e2 3f 01 |? | MOVE.W D1,-(A7) 000224e4 3f 02 |? | MOVE.W D2,-(A7) 000224e6 4e 92 |N | JSR (A2) 000224e8 50 4f |PO | ADDQ.L #0x8,A7 000224ea 4e 93 |N | JSR (A3) 000224ec 54 4f |TO | ADDQ.L #0x2,A7 000224ee 20 4f | O | MOVEA.L A7,A0 000224f0 43 fa e3 fc |C | LEA.L 0x208ee,A1 000224f4 70 28 |p( | MOVEQ.L #0x28,D0 000224f6 10 d9 | | MOVE.B (A1)+,(A0)+ 000224f8 51 c8 ff fc |Q | DBF D0,0x224f6 000224fc 59 4f |YO | SUBQ.L #0x4,A7 000224fe 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022502 3f 01 |? | MOVE.W D1,-(A7) 00022504 3f 3c 00 29 |?< ) | MOVE.W #0x29,-(A7) 00022508 4e 92 |N | JSR (A2) 0002250a 50 4f |PO | ADDQ.L #0x8,A7 0002250c 4e 93 |N | JSR (A3) 0002250e de fc 00 2e | . | ADDA.W #0x2e,A7 00022512 41 fa e4 2e |A . | LEA.L 0x20942,A0 00022516 70 14 |p | MOVEQ.L #0x14,D0 00022518 3f 20 |? | MOVE.W -(A0),-(A7) 0002251a 51 c8 ff fc |Q | DBF D0,0x22518 0002251e 59 4f |YO | SUBQ.L #0x4,A7 00022520 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022524 3f 01 |? | MOVE.W D1,-(A7) 00022526 3f 3c 00 2a |?< * | MOVE.W #0x2a,-(A7) 0002252a 4e 92 |N | JSR (A2) 0002252c 50 4f |PO | ADDQ.L #0x8,A7 0002252e 4e 93 |N | JSR (A3) 00022530 de fc 00 2e | . | ADDA.W #0x2e,A7 00022534 41 fa e4 34 |A 4 | LEA.L 0x2096a,A0 00022538 70 09 |p | MOVEQ.L #0x09,D0 0002253a 2f 20 |/ | MOVE.L -(A0),-(A7) 0002253c 51 c8 ff fc |Q | DBF D0,0x2253a 00022540 59 4f |YO | SUBQ.L #0x4,A7 00022542 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022546 3f 01 |? | MOVE.W D1,-(A7) 00022548 3f 02 |? | MOVE.W D2,-(A7) 0002254a 4e 92 |N | JSR (A2) 0002254c 50 4f |PO | ADDQ.L #0x8,A7 0002254e 4e 93 |N | JSR (A3) 00022550 54 4f |TO | ADDQ.L #0x2,A7 00022552 20 4f | O | MOVEA.L A7,A0 00022554 43 fa e4 14 |C | LEA.L 0x2096a,A1 00022558 70 28 |p( | MOVEQ.L #0x28,D0 0002255a 10 d9 | | MOVE.B (A1)+,(A0)+ 0002255c 51 c8 ff fc |Q | DBF D0,0x2255a 00022560 59 4f |YO | SUBQ.L #0x4,A7 00022562 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022566 3f 01 |? | MOVE.W D1,-(A7) 00022568 3f 3c 00 29 |?< ) | MOVE.W #0x29,-(A7) 0002256c 4e 92 |N | JSR (A2) 0002256e 50 4f |PO | ADDQ.L #0x8,A7 00022570 4e 93 |N | JSR (A3) 00022572 de fc 00 2e | . | ADDA.W #0x2e,A7 00022576 41 fa e4 46 |A F | LEA.L 0x209be,A0 0002257a 70 14 |p | MOVEQ.L #0x14,D0 0002257c 3f 20 |? | MOVE.W -(A0),-(A7) 0002257e 51 c8 ff fc |Q | DBF D0,0x2257c 00022582 59 4f |YO | SUBQ.L #0x4,A7 00022584 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022588 3f 01 |? | MOVE.W D1,-(A7) 0002258a 3f 3c 00 2a |?< * | MOVE.W #0x2a,-(A7) 0002258e 4e 92 |N | JSR (A2) 00022590 50 4f |PO | ADDQ.L #0x8,A7 00022592 4e 93 |N | JSR (A3) 00022594 de fc 00 2e | . | ADDA.W #0x2e,A7 00022598 41 fa e4 4c |A L | LEA.L 0x209e6,A0 0002259c 70 09 |p | MOVEQ.L #0x09,D0 0002259e 2f 20 |/ | MOVE.L -(A0),-(A7) 000225a0 51 c8 ff fc |Q | DBF D0,0x2259e 000225a4 59 4f |YO | SUBQ.L #0x4,A7 000225a6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000225aa 3f 01 |? | MOVE.W D1,-(A7) 000225ac 3f 02 |? | MOVE.W D2,-(A7) 000225ae 4e 92 |N | JSR (A2) 000225b0 50 4f |PO | ADDQ.L #0x8,A7 000225b2 4e 93 |N | JSR (A3) 000225b4 de fc 00 2c | , | ADDA.W #0x2c,A7 000225b8 41 fa e4 36 |A 6 | LEA.L 0x209f0,A0 000225bc 70 04 |p | MOVEQ.L #0x04,D0 000225be 3f 20 |? | MOVE.W -(A0),-(A7) 000225c0 51 c8 ff fc |Q | DBF D0,0x225be 000225c4 59 4f |YO | SUBQ.L #0x4,A7 000225c6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000225ca 3f 01 |? | MOVE.W D1,-(A7) 000225cc 3f 3c 00 0a |?< | MOVE.W #0xa,-(A7) 000225d0 4e 92 |N | JSR (A2) 000225d2 50 4f |PO | ADDQ.L #0x8,A7 000225d4 4e 93 |N | JSR (A3) 000225d6 de fc 00 0e | | ADDA.W #0xe,A7 000225da 41 fa e4 64 |A d | LEA.L 0x20a40,A0 000225de 70 04 |p | MOVEQ.L #0x04,D0 000225e0 2f 20 |/ | MOVE.L -(A0),-(A7) 000225e2 51 c8 ff fc |Q | DBF D0,0x225e0 000225e6 51 4f |QO | SUBQ.L #0x8,A7 000225e8 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000225ec 3f 01 |? | MOVE.W D1,-(A7) 000225ee 3f 3c 00 14 |?< | MOVE.W #0x14,-(A7) 000225f2 4e 92 |N | JSR (A2) 000225f4 50 4f |PO | ADDQ.L #0x8,A7 000225f6 48 78 00 00 |Hx | PEA.L 0x0 000225fa 48 78 00 1e |Hx | PEA.L 0x1e 000225fe 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 00022604 de fc 00 0c | | ADDA.W #0xc,A7 00022608 2a 1f |* | MOVE.L (A7)+,D5 0002260a de fc 00 14 | | ADDA.W #0x14,A7 0002260e 1d 7c 00 02 ff fc | | | MOVE.B #0x02,(A6-0x4) 00022614 4a 85 |J | TST.L D5 00022616 67 00 01 aa |g | BEQ 0x227c2 0002261a 0c 85 00 00 00 1e | | CMPI.L #0x0000001e,D5 00022620 66 62 |fb | BNE 0x22684 00022622 41 fa e4 2e |A . | LEA.L 0x20a52,A0 00022626 70 08 |p | MOVEQ.L #0x08,D0 00022628 3f 20 |? | MOVE.W -(A0),-(A7) 0002262a 51 c8 ff fc |Q | DBF D0,0x22628 0002262e 51 4f |QO | SUBQ.L #0x8,A7 00022630 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00022634 3f 01 |? | MOVE.W D1,-(A7) 00022636 3f 3c 00 12 |?< | MOVE.W #0x12,-(A7) 0002263a 4e 92 |N | JSR (A2) 0002263c 50 4f |PO | ADDQ.L #0x8,A7 0002263e 4e b9 00 01 03 e4 |N | JSR AskConsoleString(prompt : String) : String 00022644 58 4f |XO | ADDQ.L #0x4,A7 00022646 28 5f |(_ | MOVEA.L (A7)+,A4 00022648 51 4f |QO | SUBQ.L #0x8,A7 0002264a 20 4f | O | MOVEA.L A7,A0 0002264c 43 fa e4 04 |C | LEA.L 0x20a52,A1 00022650 70 18 |p | MOVEQ.L #0x18,D0 00022652 10 d9 | | MOVE.B (A1)+,(A0)+ 00022654 51 c8 ff fc |Q | DBF D0,0x22652 00022658 5d 4f |]O | SUBQ.L #0x6,A7 0002265a 48 6f 00 06 |Ho | PEA.L (A7+0x6) 0002265e 3f 01 |? | MOVE.W D1,-(A7) 00022660 3f 3c 00 19 |?< | MOVE.W #0x19,-(A7) 00022664 4e 92 |N | JSR (A2) 00022666 5c 4f |\O | ADDQ.L #0x6,A7 00022668 1e 81 | | MOVE.B D1,(A7) 0002266a 4e b9 00 01 03 f0 |N | JSR AskOnConsoleYesNo(prompt : String; default : Bool) : Bool 00022670 5c 4f |\O | ADDQ.L #0x6,A7 00022672 4a 1f |J | TST.B (A7)+ 00022674 67 04 |g | BEQ 0x2267a 00022676 7e 01 |~ | MOVEQ.L #0x01,D7 00022678 60 02 |` | BRA 0x2267c 0002267a 7e 00 |~ | MOVEQ.L #0x00,D7 0002267c de fc 00 1a | | ADDA.W #0x1a,A7 00022680 7c 01 || | MOVEQ.L #0x01,D6 00022682 60 68 |`h | BRA 0x226ec 00022684 20 05 | | MOVE.L D5,D0 00022686 53 80 |S | SUBQ.L #0x1,D0 00022688 0c 80 00 00 00 1c | | CMPI.L #0x0000001c,D0 0002268e 63 02 |c | BLS 0x22692 00022690 4e 4f |NO | TRAP #15 00022692 28 00 |( | MOVE.L D0,D4 00022694 76 0c |v | MOVEQ.L #0x0c,D3 00022696 4e b9 00 01 02 8c |N | JSR ?muls_d3_d4 0002269c 41 fa ec c0 |A | LEA.L 0x2135e,A0 000226a0 9e fc 00 0a | | SUBA.W #0xa,A7 000226a4 22 4f |"O | MOVEA.L A7,A1 000226a6 41 f0 48 00 |A H | LEA.L (A0+D4.L),A0 000226aa 70 09 |p | MOVEQ.L #0x09,D0 000226ac 12 d8 | | MOVE.B (A0)+,(A1)+ 000226ae 51 c8 ff fc |Q | DBF D0,0x226ac 000226b2 59 4f |YO | SUBQ.L #0x4,A7 000226b4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000226b8 3f 01 |? | MOVE.W D1,-(A7) 000226ba 3f 3c 00 0a |?< | MOVE.W #0xa,-(A7) 000226be 4e 92 |N | JSR (A2) 000226c0 50 4f |PO | ADDQ.L #0x8,A7 000226c2 28 5f |(_ | MOVEA.L (A7)+,A4 000226c4 de fc 00 0a | | ADDA.W #0xa,A7 000226c8 41 fa ec 94 |A | LEA.L 0x2135e,A0 000226cc 1e 30 48 0a | 0H | MOVE.B (A0+D4.L+#0xa),D7 000226d0 7c 00 || | MOVEQ.L #0x00,D6 000226d2 41 fa ec 8a |A | LEA.L 0x2135e,A0 000226d6 4a 30 48 0b |J0H | TST.B (A0+D4.L+#0xb) 000226da 67 0e |g | BEQ 0x226ea 000226dc 41 fa ec 80 |A | LEA.L 0x2135e,A0 000226e0 10 30 48 0b | 0H | MOVE.B (A0+D4.L+#0xb),D0 000226e4 b0 2e ff fc | . | CMP.B (A6-0x4),D0 000226e8 66 02 |f | BNE 0x226ec 000226ea 52 06 |R | ADDQ.B #0x1,D6 000226ec 4a 06 |J | TST.B D6 000226ee 67 00 00 aa |g | BEQ 0x2279a 000226f2 10 07 | | MOVE.B D7,D0 000226f4 48 80 |H | EXTB.W D0 000226f6 0c 40 00 02 | @ | CMPI.W #0x0002,D0 000226fa 63 02 |c | BLS 0x226fe 000226fc 4e 4e |NN | TRAP #14 000226fe d0 40 | @ | ADD.W D0,D0 00022700 30 3b 00 06 4e fb 00 02 |0; N | SWITCH D0.W 00022708 00 06 | | .CONST 0x6 ; [0x0] -> 0x2270e 0002270a 00 14 | | .CONST 0x14 ; [0x1] -> 0x2271c 0002270c 00 56 | V | .CONST 0x56 ; [0x2] -> 0x2275e 0002270e switch@0x22700[0x0]: 0002270e 2f 0c |/ | MOVE.L A4,-(A7) 00022710 48 6e ff f6 |Hn | PEA.L (A6-0xa) 00022714 4e ba f3 06 |N | JSR 0x21a1c 00022718 50 4f |PO | ADDQ.L #0x8,A7 0002271a 60 7c |`| | BRA 0x22798 0002271c switch@0x22700[0x1]: 0002271c 9e fc 00 2c | , | SUBA.W #0x2c,A7 00022720 20 4f | O | MOVEA.L A7,A0 00022722 43 fa e3 48 |C H | LEA.L 0x20a6c,A1 00022726 70 2a |p* | MOVEQ.L #0x2a,D0 00022728 10 d9 | | MOVE.B (A1)+,(A0)+ 0002272a 51 c8 ff fc |Q | DBF D0,0x22728 0002272e 2f 0c |/ | MOVE.L A4,-(A7) 00022730 5d 4f |]O | SUBQ.L #0x6,A7 00022732 48 6f 00 0a |Ho | PEA.L (A7+0xa) 00022736 3f 01 |? | MOVE.W D1,-(A7) 00022738 3f 3c 00 2b |?< + | MOVE.W #0x2b,-(A7) 0002273c 4e 92 |N | JSR (A2) 0002273e 50 4f |PO | ADDQ.L #0x8,A7 00022740 4e ba fb 48 |N H | JSR 0x2228a 00022744 58 4f |XO | ADDQ.L #0x4,A7 00022746 10 17 | | MOVE.B (A7),D0 00022748 48 80 |H | EXTB.W D0 0002274a 41 bc 00 0f |A | CHK.W #0xf,D0 0002274e 1e 80 | | MOVE.B D0,(A7) 00022750 48 6e ff f6 |Hn | PEA.L (A6-0xa) 00022754 4e ba f4 06 |N | JSR 0x21b5c 00022758 de fc 00 36 | 6 | ADDA.W #0x36,A7 0002275c 60 3a |`: | BRA 0x22798 0002275e switch@0x22700[0x2]: 0002275e 41 fa e3 5e |A ^ | LEA.L 0x20abe,A0 00022762 70 12 |p | MOVEQ.L #0x12,D0 00022764 3f 20 |? | MOVE.W -(A0),-(A7) 00022766 51 c8 ff fc |Q | DBF D0,0x22764 0002276a 2f 0c |/ | MOVE.L A4,-(A7) 0002276c 5d 4f |]O | SUBQ.L #0x6,A7 0002276e 48 6f 00 0a |Ho | PEA.L (A7+0xa) 00022772 3f 01 |? | MOVE.W D1,-(A7) 00022774 3f 3c 00 26 |?< & | MOVE.W #0x26,-(A7) 00022778 4e 92 |N | JSR (A2) 0002277a 50 4f |PO | ADDQ.L #0x8,A7 0002277c 4e ba f9 34 |N 4 | JSR 0x220b2 00022780 58 4f |XO | ADDQ.L #0x4,A7 00022782 10 17 | | MOVE.B (A7),D0 00022784 48 80 |H | EXTB.W D0 00022786 41 bc 00 1a |A | CHK.W #0x1a,D0 0002278a 1e 80 | | MOVE.B D0,(A7) 0002278c 48 6e ff f6 |Hn | PEA.L (A6-0xa) 00022790 4e ba f5 44 |N D | JSR 0x21cd6 00022794 de fc 00 30 | 0 | ADDA.W #0x30,A7 00022798 60 28 |`( | BRA 0x227c2 0002279a 9e fc 00 3c | < | SUBA.W #0x3c,A7 0002279e 20 4f | O | MOVEA.L A7,A0 000227a0 43 fa e2 4e |C N | LEA.L 0x209f0,A1 000227a4 70 3a |p: | MOVEQ.L #0x3a,D0 000227a6 10 d9 | | MOVE.B (A1)+,(A0)+ 000227a8 51 c8 ff fc |Q | DBF D0,0x227a6 000227ac 59 4f |YO | SUBQ.L #0x4,A7 000227ae 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000227b2 3f 01 |? | MOVE.W D1,-(A7) 000227b4 3f 3c 00 3b |?< ; | MOVE.W #0x3b,-(A7) 000227b8 4e 92 |N | JSR (A2) 000227ba 50 4f |PO | ADDQ.L #0x8,A7 000227bc 4e 93 |N | JSR (A3) 000227be de fc 00 40 | @ | ADDA.W #0x40,A7 000227c2 4c df 1f ff |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4 000227c6 4e 5e |N^ | UNLK A6 000227c8 4e 75 |Nu | RTS 000227ca ; -------------------------------------------------------------------------------------- 000227ca ; OMSI PASCAL Function 000227ca ; <LVAR -0x004 @> 000227ca ; -------------------------------------------------------------------------------------- 000227ca 4e 56 ff c8 |NV | LINK.W A6,#0xffc8 000227ce bf d5 | | CMPA.L (A5),A7 000227d0 62 06 |b | BHI 0x227d8 000227d2 44 fc 00 02 |D | MOVE.W #0x2,CCR 000227d6 4e 76 |Nv | TRAPV 000227d8 de fc 00 34 | 4 | ADDA.W #0x34,A7 000227dc 48 e7 c0 c0 |H | MOVEM.L A1+A0+D1+D0,-(A7) 000227e0 72 01 |r | MOVEQ.L #0x01,D1 000227e2 2f 3a e2 da |/: | MOVE.L 0x20abe,-(A7) 000227e6 9e fc 00 0c | | SUBA.W #0xc,A7 000227ea 20 4f | O | MOVEA.L A7,A0 000227ec 43 fa e2 d4 |C | LEA.L 0x20ac2,A1 000227f0 70 0a |p | MOVEQ.L #0x0a,D0 000227f2 10 d9 | | MOVE.B (A1)+,(A0)+ 000227f4 51 c8 ff fc |Q | DBF D0,0x227f2 000227f8 59 4f |YO | SUBQ.L #0x4,A7 000227fa 48 6f 00 10 |Ho | PEA.L (A7+0x10) 000227fe 3f 01 |? | MOVE.W D1,-(A7) 00022800 3f 3c 00 04 |?< | MOVE.W #0x4,-(A7) 00022804 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 0002280a 58 4f |XO | ADDQ.L #0x4,A7 0002280c 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00022810 3f 01 |? | MOVE.W D1,-(A7) 00022812 3f 3c 00 0b |?< | MOVE.W #0xb,-(A7) 00022816 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 0002281c 5c 4f |\O | ADDQ.L #0x6,A7 0002281e 1e 81 | | MOVE.B D1,(A7) 00022820 48 6e ff fc |Hn | PEA.L (A6-0x4) 00022824 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 0002282a de fc 00 1e | | ADDA.W #0x1e,A7 0002282e 4c df 03 03 |L | MOVEM.L (A7)+,D0+D1+A0+A1 00022832 4e 5e |N^ | UNLK A6 00022834 4e 75 |Nu | RTS 00022836 ; -------------------------------------------------------------------------------------- 00022836 ; OMSI PASCAL Function 00022836 ; -------------------------------------------------------------------------------------- 00022836 4e 56 ff 84 |NV | LINK.W A6,#0xff84 0002283a bf d5 | | CMPA.L (A5),A7 0002283c 62 06 |b | BHI 0x22844 0002283e 44 fc 00 02 |D | MOVE.W #0x2,CCR 00022842 4e 76 |Nv | TRAPV 00022844 de fc 00 74 | t | ADDA.W #0x74,A7 00022848 48 e7 fd f0 |H | MOVEM.L A3+A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7) 0002284c 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 00022852 47 f9 00 01 03 e0 |G | LEA.L WriteConsoleStringCrLf(str : String),A3 00022858 72 01 |r | MOVEQ.L #0x01,D1 0002285a 74 20 |t | MOVEQ.L #0x20,D2 0002285c 76 16 |v | MOVEQ.L #0x16,D3 0002285e 78 1a |x | MOVEQ.L #0x1a,D4 00022860 7a 1c |z | MOVEQ.L #0x1c,D5 00022862 9e c4 | | SUBA.W D4,A7 00022864 20 4f | O | MOVEA.L A7,A0 00022866 43 fa e2 66 |C f | LEA.L 0x20ace,A1 0002286a 70 18 |p | MOVEQ.L #0x18,D0 0002286c 10 d9 | | MOVE.B (A1)+,(A0)+ 0002286e 51 c8 ff fc |Q | DBF D0,0x2286c 00022872 59 4f |YO | SUBQ.L #0x4,A7 00022874 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022878 3f 01 |? | MOVE.W D1,-(A7) 0002287a 3f 3c 00 19 |?< | MOVE.W #0x19,-(A7) 0002287e 4e 92 |N | JSR (A2) 00022880 50 4f |PO | ADDQ.L #0x8,A7 00022882 4e 93 |N | JSR (A3) 00022884 54 4f |TO | ADDQ.L #0x2,A7 00022886 20 4f | O | MOVEA.L A7,A0 00022888 43 fa e2 5e |C ^ | LEA.L 0x20ae8,A1 0002288c 70 1a |p | MOVEQ.L #0x1a,D0 0002288e 10 d9 | | MOVE.B (A1)+,(A0)+ 00022890 51 c8 ff fc |Q | DBF D0,0x2288e 00022894 59 4f |YO | SUBQ.L #0x4,A7 00022896 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002289a 3f 01 |? | MOVE.W D1,-(A7) 0002289c 3f 3c 00 1b |?< | MOVE.W #0x1b,-(A7) 000228a0 4e 92 |N | JSR (A2) 000228a2 50 4f |PO | ADDQ.L #0x8,A7 000228a4 4e 93 |N | JSR (A3) 000228a6 de c2 | | ADDA.W D2,A7 000228a8 41 fa e2 70 |A p | LEA.L 0x20b1a,A0 000228ac 70 0a |p | MOVEQ.L #0x0a,D0 000228ae 3f 20 |? | MOVE.W -(A0),-(A7) 000228b0 51 c8 ff fc |Q | DBF D0,0x228ae 000228b4 59 4f |YO | SUBQ.L #0x4,A7 000228b6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000228ba 3f 01 |? | MOVE.W D1,-(A7) 000228bc 3f 03 |? | MOVE.W D3,-(A7) 000228be 4e 92 |N | JSR (A2) 000228c0 50 4f |PO | ADDQ.L #0x8,A7 000228c2 4e 93 |N | JSR (A3) 000228c4 de c4 | | ADDA.W D4,A7 000228c6 41 fa e2 8a |A | LEA.L 0x20b52,A0 000228ca 70 0d |p | MOVEQ.L #0x0d,D0 000228cc 2f 20 |/ | MOVE.L -(A0),-(A7) 000228ce 51 c8 ff fc |Q | DBF D0,0x228cc 000228d2 59 4f |YO | SUBQ.L #0x4,A7 000228d4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000228d8 3f 01 |? | MOVE.W D1,-(A7) 000228da 3f 3c 00 38 |?< 8 | MOVE.W #0x38,-(A7) 000228de 4e 92 |N | JSR (A2) 000228e0 50 4f |PO | ADDQ.L #0x8,A7 000228e2 4e 93 |N | JSR (A3) 000228e4 de fc 00 3c | < | ADDA.W #0x3c,A7 000228e8 41 fa e2 84 |A | LEA.L 0x20b6e,A0 000228ec 70 06 |p | MOVEQ.L #0x06,D0 000228ee 2f 20 |/ | MOVE.L -(A0),-(A7) 000228f0 51 c8 ff fc |Q | DBF D0,0x228ee 000228f4 59 4f |YO | SUBQ.L #0x4,A7 000228f6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000228fa 3f 01 |? | MOVE.W D1,-(A7) 000228fc 3f 05 |? | MOVE.W D5,-(A7) 000228fe 4e 92 |N | JSR (A2) 00022900 50 4f |PO | ADDQ.L #0x8,A7 00022902 4e 93 |N | JSR (A3) 00022904 de c2 | | ADDA.W D2,A7 00022906 41 fa e2 82 |A | LEA.L 0x20b8a,A0 0002290a 70 06 |p | MOVEQ.L #0x06,D0 0002290c 2f 20 |/ | MOVE.L -(A0),-(A7) 0002290e 51 c8 ff fc |Q | DBF D0,0x2290c 00022912 59 4f |YO | SUBQ.L #0x4,A7 00022914 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022918 3f 01 |? | MOVE.W D1,-(A7) 0002291a 3f 05 |? | MOVE.W D5,-(A7) 0002291c 4e 92 |N | JSR (A2) 0002291e 50 4f |PO | ADDQ.L #0x8,A7 00022920 4e 93 |N | JSR (A3) 00022922 de c2 | | ADDA.W D2,A7 00022924 41 fa e2 7a |A z | LEA.L 0x20ba0,A0 00022928 70 0a |p | MOVEQ.L #0x0a,D0 0002292a 3f 20 |? | MOVE.W -(A0),-(A7) 0002292c 51 c8 ff fc |Q | DBF D0,0x2292a 00022930 51 4f |QO | SUBQ.L #0x8,A7 00022932 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00022936 3f 01 |? | MOVE.W D1,-(A7) 00022938 3f 03 |? | MOVE.W D3,-(A7) 0002293a 4e 92 |N | JSR (A2) 0002293c 50 4f |PO | ADDQ.L #0x8,A7 0002293e 48 78 00 00 |Hx | PEA.L 0x0 00022942 48 78 00 04 |Hx | PEA.L 0x4 00022946 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 0002294c de fc 00 0c | | ADDA.W #0xc,A7 00022950 2e 1f |. | MOVE.L (A7)+,D7 00022952 de c3 | | ADDA.W D3,A7 00022954 20 07 | | MOVE.L D7,D0 00022956 0c 80 00 00 00 04 | | CMPI.L #0x00000004,D0 0002295c 63 02 |c | BLS 0x22960 0002295e 4e 4e |NN | TRAP #14 00022960 d0 40 | @ | ADD.W D0,D0 00022962 30 3b 00 06 4e fb 00 02 |0; N | SWITCH D0.W 0002296a 00 0a | | .CONST 0xa ; [0x0] -> 0x22974 0002296c 00 0c | | .CONST 0xc ; [0x1] -> 0x22976 0002296e 00 12 | | .CONST 0x12 ; [0x2] -> 0x2297c 00022970 00 18 | | .CONST 0x18 ; [0x3] -> 0x22982 00022972 00 1e | | .CONST 0x1e ; [0x4] -> 0x22988 00022974 switch@0x22962[0x0]: 00022974 60 16 |` | BRA 0x2298c 00022976 switch@0x22962[0x1]: 00022976 4e ba fe 52 |N R | JSR 0x227ca 0002297a 60 10 |` | BRA 0x2298c 0002297c switch@0x22962[0x2]: 0002297c 4e ba f5 6e |N n | JSR 0x21eec 00022980 60 0a |` | BRA 0x2298c 00022982 switch@0x22962[0x3]: 00022982 4e ba f5 86 |N | JSR 0x21f0a 00022986 60 04 |` | BRA 0x2298c 00022988 switch@0x22962[0x4]: 00022988 4e ba fa 12 |N | JSR 0x2239c 0002298c 4a 87 |J | TST.L D7 0002298e 66 00 fe d2 |f | BNE 0x22862 00022992 4c df 0f bf |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2+A3 00022996 4e 5e |N^ | UNLK A6 00022998 4e 75 |Nu | RTS 0002299a ; -------------------------------------------------------------------------------------- 0002299a ; OMSI PASCAL Function 0002299a ; -------------------------------------------------------------------------------------- 0002299a 4e 56 ff d2 |NV | LINK.W A6,#0xffd2 0002299e bf d5 | | CMPA.L (A5),A7 000229a0 62 06 |b | BHI 0x229a8 000229a2 44 fc 00 02 |D | MOVE.W #0x2,CCR 000229a6 4e 76 |Nv | TRAPV 000229a8 de fc 00 2e | . | ADDA.W #0x2e,A7 000229ac 48 e7 80 c0 |H | MOVEM.L A1+A0+D0,-(A7) 000229b0 9e fc 00 12 | | SUBA.W #0x12,A7 000229b4 20 4f | O | MOVEA.L A7,A0 000229b6 43 fa e1 e8 |C | LEA.L 0x20ba0,A1 000229ba 70 10 |p | MOVEQ.L #0x10,D0 000229bc 10 d9 | | MOVE.B (A1)+,(A0)+ 000229be 51 c8 ff fc |Q | DBF D0,0x229bc 000229c2 59 4f |YO | SUBQ.L #0x4,A7 000229c4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000229c8 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 000229cc 3f 3c 00 11 |?< | MOVE.W #0x11,-(A7) 000229d0 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000229d6 50 4f |PO | ADDQ.L #0x8,A7 000229d8 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 000229de de fc 00 16 | | ADDA.W #0x16,A7 000229e2 4c df 03 01 |L | MOVEM.L (A7)+,D0+A0+A1 000229e6 4e 5e |N^ | UNLK A6 000229e8 4e 75 |Nu | RTS 000229ea ; -------------------------------------------------------------------------------------- 000229ea ; OMSI PASCAL Function 000229ea ; -------------------------------------------------------------------------------------- 000229ea 4e 56 ff 70 |NV p | LINK.W A6,#0xff70 000229ee bf d5 | | CMPA.L (A5),A7 000229f0 62 06 |b | BHI 0x229f8 000229f2 44 fc 00 02 |D | MOVE.W #0x2,CCR 000229f6 4e 76 |Nv | TRAPV 000229f8 de fc 00 8c | | ADDA.W #0x8c,A7 000229fc 48 e7 ff f8 |H | MOVEM.L A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7) 00022a00 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 00022a06 47 f9 00 01 03 e0 |G | LEA.L WriteConsoleStringCrLf(str : String),A3 00022a0c 49 f9 00 02 35 2b |I 5+ | LEA.L 0x2352b,A4 00022a12 72 01 |r | MOVEQ.L #0x01,D1 00022a14 74 1c |t | MOVEQ.L #0x1c,D2 00022a16 76 16 |v | MOVEQ.L #0x16,D3 00022a18 78 20 |x | MOVEQ.L #0x20,D4 00022a1a 7a 46 |zF | MOVEQ.L #0x46,D5 00022a1c 7c 4a ||J | MOVEQ.L #0x4a,D6 00022a1e 9e fc 00 12 | | SUBA.W #0x12,A7 00022a22 20 4f | O | MOVEA.L A7,A0 00022a24 43 fa e1 8c |C | LEA.L 0x20bb2,A1 00022a28 70 10 |p | MOVEQ.L #0x10,D0 00022a2a 10 d9 | | MOVE.B (A1)+,(A0)+ 00022a2c 51 c8 ff fc |Q | DBF D0,0x22a2a 00022a30 59 4f |YO | SUBQ.L #0x4,A7 00022a32 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022a36 3f 01 |? | MOVE.W D1,-(A7) 00022a38 3f 3c 00 11 |?< | MOVE.W #0x11,-(A7) 00022a3c 4e 92 |N | JSR (A2) 00022a3e 50 4f |PO | ADDQ.L #0x8,A7 00022a40 4e 93 |N | JSR (A3) 00022a42 de c3 | | ADDA.W D3,A7 00022a44 41 fa e1 96 |A | LEA.L 0x20bdc,A0 00022a48 70 05 |p | MOVEQ.L #0x05,D0 00022a4a 2f 20 |/ | MOVE.L -(A0),-(A7) 00022a4c 51 c8 ff fc |Q | DBF D0,0x22a4a 00022a50 59 4f |YO | SUBQ.L #0x4,A7 00022a52 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022a56 3f 01 |? | MOVE.W D1,-(A7) 00022a58 3f 3c 00 18 |?< | MOVE.W #0x18,-(A7) 00022a5c 4e 92 |N | JSR (A2) 00022a5e 50 4f |PO | ADDQ.L #0x8,A7 00022a60 4e 93 |N | JSR (A3) 00022a62 de c2 | | ADDA.W D2,A7 00022a64 41 fa e1 a2 |A | LEA.L 0x20c08,A0 00022a68 70 0a |p | MOVEQ.L #0x0a,D0 00022a6a 2f 20 |/ | MOVE.L -(A0),-(A7) 00022a6c 51 c8 ff fc |Q | DBF D0,0x22a6a 00022a70 59 4f |YO | SUBQ.L #0x4,A7 00022a72 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022a76 3f 01 |? | MOVE.W D1,-(A7) 00022a78 3f 3c 00 2c |?< , | MOVE.W #0x2c,-(A7) 00022a7c 4e 92 |N | JSR (A2) 00022a7e 50 4f |PO | ADDQ.L #0x8,A7 00022a80 4e 93 |N | JSR (A3) 00022a82 de fc 00 30 | 0 | ADDA.W #0x30,A7 00022a86 41 fa e1 aa |A | LEA.L 0x20c32,A0 00022a8a 70 14 |p | MOVEQ.L #0x14,D0 00022a8c 3f 20 |? | MOVE.W -(A0),-(A7) 00022a8e 51 c8 ff fc |Q | DBF D0,0x22a8c 00022a92 59 4f |YO | SUBQ.L #0x4,A7 00022a94 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022a98 3f 01 |? | MOVE.W D1,-(A7) 00022a9a 3f 3c 00 2a |?< * | MOVE.W #0x2a,-(A7) 00022a9e 4e 92 |N | JSR (A2) 00022aa0 50 4f |PO | ADDQ.L #0x8,A7 00022aa2 4e 93 |N | JSR (A3) 00022aa4 de fc 00 2e | . | ADDA.W #0x2e,A7 00022aa8 41 fa e1 c6 |A | LEA.L 0x20c70,A0 00022aac 70 1e |p | MOVEQ.L #0x1e,D0 00022aae 3f 20 |? | MOVE.W -(A0),-(A7) 00022ab0 51 c8 ff fc |Q | DBF D0,0x22aae 00022ab4 59 4f |YO | SUBQ.L #0x4,A7 00022ab6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022aba 3f 01 |? | MOVE.W D1,-(A7) 00022abc 3f 3c 00 3e |?< > | MOVE.W #0x3e,-(A7) 00022ac0 4e 92 |N | JSR (A2) 00022ac2 50 4f |PO | ADDQ.L #0x8,A7 00022ac4 4e 93 |N | JSR (A3) 00022ac6 de fc 00 42 | B | ADDA.W #0x42,A7 00022aca 41 fa e1 c0 |A | LEA.L 0x20c8c,A0 00022ace 70 06 |p | MOVEQ.L #0x06,D0 00022ad0 2f 20 |/ | MOVE.L -(A0),-(A7) 00022ad2 51 c8 ff fc |Q | DBF D0,0x22ad0 00022ad6 59 4f |YO | SUBQ.L #0x4,A7 00022ad8 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022adc 3f 01 |? | MOVE.W D1,-(A7) 00022ade 3f 02 |? | MOVE.W D2,-(A7) 00022ae0 4e 92 |N | JSR (A2) 00022ae2 50 4f |PO | ADDQ.L #0x8,A7 00022ae4 4e 93 |N | JSR (A3) 00022ae6 de c4 | | ADDA.W D4,A7 00022ae8 41 fa e1 b8 |A | LEA.L 0x20ca2,A0 00022aec 70 0a |p | MOVEQ.L #0x0a,D0 00022aee 3f 20 |? | MOVE.W -(A0),-(A7) 00022af0 51 c8 ff fc |Q | DBF D0,0x22aee 00022af4 51 4f |QO | SUBQ.L #0x8,A7 00022af6 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00022afa 3f 01 |? | MOVE.W D1,-(A7) 00022afc 3f 03 |? | MOVE.W D3,-(A7) 00022afe 4e 92 |N | JSR (A2) 00022b00 50 4f |PO | ADDQ.L #0x8,A7 00022b02 48 78 00 00 |Hx | PEA.L 0x0 00022b06 48 78 00 04 |Hx | PEA.L 0x4 00022b0a 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 00022b10 de fc 00 0c | | ADDA.W #0xc,A7 00022b14 2e 1f |. | MOVE.L (A7)+,D7 00022b16 de c3 | | ADDA.W D3,A7 00022b18 20 07 | | MOVE.L D7,D0 00022b1a 0c 80 00 00 00 04 | | CMPI.L #0x00000004,D0 00022b20 63 02 |c | BLS 0x22b24 00022b22 4e 4e |NN | TRAP #14 00022b24 d0 40 | @ | ADD.W D0,D0 00022b26 30 3b 00 06 4e fb 00 02 |0; N | SWITCH D0.W 00022b2e 00 0a | | .CONST 0xa ; [0x0] -> 0x22b38 00022b30 00 0e | | .CONST 0xe ; [0x1] -> 0x22b3c 00022b32 00 4e | N | .CONST 0x4e ; [0x2] -> 0x22b7c 00022b34 00 98 | | .CONST 0x98 ; [0x3] -> 0x22bc6 00022b36 00 dc | | .CONST 0xdc ; [0x4] -> 0x22c0a 00022b38 switch@0x22b26[0x0]: 00022b38 60 00 02 98 |` | BRA 0x22dd2 00022b3c switch@0x22b26[0x1]: 00022b3c 41 fa e1 72 |A r | LEA.L 0x20cb0,A0 00022b40 70 06 |p | MOVEQ.L #0x06,D0 00022b42 3f 20 |? | MOVE.W -(A0),-(A7) 00022b44 51 c8 ff fc |Q | DBF D0,0x22b42 00022b48 5d 4f |]O | SUBQ.L #0x6,A7 00022b4a 48 6f 00 06 |Ho | PEA.L (A7+0x6) 00022b4e 3f 01 |? | MOVE.W D1,-(A7) 00022b50 3f 3c 00 0e |?< | MOVE.W #0xe,-(A7) 00022b54 4e 92 |N | JSR (A2) 00022b56 50 4f |PO | ADDQ.L #0x8,A7 00022b58 10 14 | | MOVE.B (A4),D0 00022b5a 44 00 |D | NEG.B D0 00022b5c 52 00 |R | ADDQ.B #0x1,D0 00022b5e 48 80 |H | EXTB.W D0 00022b60 41 81 |A | CHK.W D1,D0 00022b62 1f 00 | | MOVE.B D0,-(A7) 00022b64 4e b9 00 01 03 f0 |N | JSR AskOnConsoleYesNo(prompt : String; default : Bool) : Bool 00022b6a 5c 4f |\O | ADDQ.L #0x6,A7 00022b6c 10 1f | | MOVE.B (A7)+,D0 00022b6e 48 80 |H | EXTB.W D0 00022b70 41 81 |A | CHK.W D1,D0 00022b72 de fc 00 0e | | ADDA.W #0xe,A7 00022b76 18 80 | | MOVE.B D0,(A4) 00022b78 60 00 02 58 |` X | BRA 0x22dd2 00022b7c switch@0x22b26[0x2]: 00022b7c 9e c2 | | SUBA.W D2,A7 00022b7e 20 4f | O | MOVEA.L A7,A0 00022b80 43 fa e1 2e |C . | LEA.L 0x20cb0,A1 00022b84 70 1a |p | MOVEQ.L #0x1a,D0 00022b86 10 d9 | | MOVE.B (A1)+,(A0)+ 00022b88 51 c8 ff fc |Q | DBF D0,0x22b86 00022b8c 5d 4f |]O | SUBQ.L #0x6,A7 00022b8e 48 6f 00 06 |Ho | PEA.L (A7+0x6) 00022b92 3f 01 |? | MOVE.W D1,-(A7) 00022b94 3f 3c 00 1b |?< | MOVE.W #0x1b,-(A7) 00022b98 4e 92 |N | JSR (A2) 00022b9a 50 4f |PO | ADDQ.L #0x8,A7 00022b9c 10 39 00 02 35 30 | 9 50 | MOVE.B 0x23530,D0 00022ba2 44 00 |D | NEG.B D0 00022ba4 52 00 |R | ADDQ.B #0x1,D0 00022ba6 48 80 |H | EXTB.W D0 00022ba8 41 81 |A | CHK.W D1,D0 00022baa 1f 00 | | MOVE.B D0,-(A7) 00022bac 4e b9 00 01 03 f0 |N | JSR AskOnConsoleYesNo(prompt : String; default : Bool) : Bool 00022bb2 5c 4f |\O | ADDQ.L #0x6,A7 00022bb4 10 1f | | MOVE.B (A7)+,D0 00022bb6 48 80 |H | EXTB.W D0 00022bb8 41 81 |A | CHK.W D1,D0 00022bba de c2 | | ADDA.W D2,A7 00022bbc 13 c0 00 02 35 30 | 50 | MOVE.B D0,0x23530 00022bc2 60 00 02 0e |` | BRA 0x22dd2 00022bc6 switch@0x22b26[0x3]: 00022bc6 41 fa e1 24 |A $ | LEA.L 0x20cec,A0 00022bca 70 07 |p | MOVEQ.L #0x07,D0 00022bcc 2f 20 |/ | MOVE.L -(A0),-(A7) 00022bce 51 c8 ff fc |Q | DBF D0,0x22bcc 00022bd2 5d 4f |]O | SUBQ.L #0x6,A7 00022bd4 48 6f 00 06 |Ho | PEA.L (A7+0x6) 00022bd8 3f 01 |? | MOVE.W D1,-(A7) 00022bda 3f 04 |? | MOVE.W D4,-(A7) 00022bdc 4e 92 |N | JSR (A2) 00022bde 50 4f |PO | ADDQ.L #0x8,A7 00022be0 10 39 00 02 35 2a | 9 5* | MOVE.B 0x2352a,D0 00022be6 44 00 |D | NEG.B D0 00022be8 52 00 |R | ADDQ.B #0x1,D0 00022bea 48 80 |H | EXTB.W D0 00022bec 41 81 |A | CHK.W D1,D0 00022bee 1f 00 | | MOVE.B D0,-(A7) 00022bf0 4e b9 00 01 03 f0 |N | JSR AskOnConsoleYesNo(prompt : String; default : Bool) : Bool 00022bf6 5c 4f |\O | ADDQ.L #0x6,A7 00022bf8 10 1f | | MOVE.B (A7)+,D0 00022bfa 48 80 |H | EXTB.W D0 00022bfc 41 81 |A | CHK.W D1,D0 00022bfe de c4 | | ADDA.W D4,A7 00022c00 13 c0 00 02 35 2a | 5* | MOVE.B D0,0x2352a 00022c06 60 00 01 ca |` | BRA 0x22dd2 00022c0a switch@0x22b26[0x4]: 00022c0a 41 fa e1 26 |A & | LEA.L 0x20d32,A0 00022c0e 70 22 |p" | MOVEQ.L #0x22,D0 00022c10 3f 20 |? | MOVE.W -(A0),-(A7) 00022c12 51 c8 ff fc |Q | DBF D0,0x22c10 00022c16 59 4f |YO | SUBQ.L #0x4,A7 00022c18 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022c1c 3f 01 |? | MOVE.W D1,-(A7) 00022c1e 3f 05 |? | MOVE.W D5,-(A7) 00022c20 4e 92 |N | JSR (A2) 00022c22 50 4f |PO | ADDQ.L #0x8,A7 00022c24 4e 93 |N | JSR (A3) 00022c26 de c6 | | ADDA.W D6,A7 00022c28 41 fa e1 2c |A , | LEA.L 0x20d56,A0 00022c2c 70 08 |p | MOVEQ.L #0x08,D0 00022c2e 2f 20 |/ | MOVE.L -(A0),-(A7) 00022c30 51 c8 ff fc |Q | DBF D0,0x22c2e 00022c34 59 4f |YO | SUBQ.L #0x4,A7 00022c36 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022c3a 3f 01 |? | MOVE.W D1,-(A7) 00022c3c 3f 3c 00 24 |?< $ | MOVE.W #0x24,-(A7) 00022c40 4e 92 |N | JSR (A2) 00022c42 50 4f |PO | ADDQ.L #0x8,A7 00022c44 4e b9 00 01 03 d8 |N | JSR WriteConsoleString(str : String) 00022c4a de fc 00 28 | ( | ADDA.W #0x28,A7 00022c4e 4a 14 |J | TST.B (A4) 00022c50 67 1a |g | BEQ 0x22c6c 00022c52 3f 3a e2 5a |?: Z | MOVE.W 0x20eae,-(A7) 00022c56 59 4f |YO | SUBQ.L #0x4,A7 00022c58 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022c5c 3f 01 |? | MOVE.W D1,-(A7) 00022c5e 3f 3c 00 02 |?< | MOVE.W #0x2,-(A7) 00022c62 4e 92 |N | JSR (A2) 00022c64 50 4f |PO | ADDQ.L #0x8,A7 00022c66 4e 93 |N | JSR (A3) 00022c68 5c 4f |\O | ADDQ.L #0x6,A7 00022c6a 60 26 |`& | BRA 0x22c92 00022c6c 59 4f |YO | SUBQ.L #0x4,A7 00022c6e 1e ba e2 40 | @ | MOVE.B 0x20eb0,(A7) 00022c72 1f 7a e2 3d 00 01 | z = | MOVE.B 0x20eb1,(A7+0x1) 00022c78 1f 7a e2 38 00 02 | z 8 | MOVE.B 0x20eb2,(A7+0x2) 00022c7e 59 4f |YO | SUBQ.L #0x4,A7 00022c80 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022c84 3f 01 |? | MOVE.W D1,-(A7) 00022c86 3f 3c 00 03 |?< | MOVE.W #0x3,-(A7) 00022c8a 4e 92 |N | JSR (A2) 00022c8c 50 4f |PO | ADDQ.L #0x8,A7 00022c8e 4e 93 |N | JSR (A3) 00022c90 50 4f |PO | ADDQ.L #0x8,A7 00022c92 41 fa e1 0a |A | LEA.L 0x20d9e,A0 00022c96 70 11 |p | MOVEQ.L #0x11,D0 00022c98 2f 20 |/ | MOVE.L -(A0),-(A7) 00022c9a 51 c8 ff fc |Q | DBF D0,0x22c98 00022c9e 59 4f |YO | SUBQ.L #0x4,A7 00022ca0 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022ca4 3f 01 |? | MOVE.W D1,-(A7) 00022ca6 3f 3c 00 48 |?< H | MOVE.W #0x48,-(A7) 00022caa 4e 92 |N | JSR (A2) 00022cac 50 4f |PO | ADDQ.L #0x8,A7 00022cae 4e 93 |N | JSR (A3) 00022cb0 5c 4f |\O | ADDQ.L #0x6,A7 00022cb2 20 4f | O | MOVEA.L A7,A0 00022cb4 43 fa e0 e8 |C | LEA.L 0x20d9e,A1 00022cb8 70 44 |pD | MOVEQ.L #0x44,D0 00022cba 10 d9 | | MOVE.B (A1)+,(A0)+ 00022cbc 51 c8 ff fc |Q | DBF D0,0x22cba 00022cc0 59 4f |YO | SUBQ.L #0x4,A7 00022cc2 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022cc6 3f 01 |? | MOVE.W D1,-(A7) 00022cc8 3f 3c 00 45 |?< E | MOVE.W #0x45,-(A7) 00022ccc 4e 92 |N | JSR (A2) 00022cce 50 4f |PO | ADDQ.L #0x8,A7 00022cd0 4e 93 |N | JSR (A3) 00022cd2 de c6 | | ADDA.W D6,A7 00022cd4 41 fa e1 54 |A T | LEA.L 0x20e2a,A0 00022cd8 70 22 |p" | MOVEQ.L #0x22,D0 00022cda 3f 20 |? | MOVE.W -(A0),-(A7) 00022cdc 51 c8 ff fc |Q | DBF D0,0x22cda 00022ce0 59 4f |YO | SUBQ.L #0x4,A7 00022ce2 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022ce6 3f 01 |? | MOVE.W D1,-(A7) 00022ce8 3f 05 |? | MOVE.W D5,-(A7) 00022cea 4e 92 |N | JSR (A2) 00022cec 50 4f |PO | ADDQ.L #0x8,A7 00022cee 4e b9 00 01 03 d8 |N | JSR WriteConsoleString(str : String) 00022cf4 de c6 | | ADDA.W D6,A7 00022cf6 4a 39 00 02 35 30 |J9 50 | TST.B 0x23530 00022cfc 67 1a |g | BEQ 0x22d18 00022cfe 3f 3a e1 b4 |?: | MOVE.W 0x20eb4,-(A7) 00022d02 59 4f |YO | SUBQ.L #0x4,A7 00022d04 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022d08 3f 01 |? | MOVE.W D1,-(A7) 00022d0a 3f 3c 00 02 |?< | MOVE.W #0x2,-(A7) 00022d0e 4e 92 |N | JSR (A2) 00022d10 50 4f |PO | ADDQ.L #0x8,A7 00022d12 4e 93 |N | JSR (A3) 00022d14 5c 4f |\O | ADDQ.L #0x6,A7 00022d16 60 26 |`& | BRA 0x22d3e 00022d18 59 4f |YO | SUBQ.L #0x4,A7 00022d1a 1e ba e1 9a | | MOVE.B 0x20eb6,(A7) 00022d1e 1f 7a e1 97 00 01 | z | MOVE.B 0x20eb7,(A7+0x1) 00022d24 1f 7a e1 92 00 02 | z | MOVE.B 0x20eb8,(A7+0x2) 00022d2a 59 4f |YO | SUBQ.L #0x4,A7 00022d2c 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022d30 3f 01 |? | MOVE.W D1,-(A7) 00022d32 3f 3c 00 03 |?< | MOVE.W #0x3,-(A7) 00022d36 4e 92 |N | JSR (A2) 00022d38 50 4f |PO | ADDQ.L #0x8,A7 00022d3a 4e 93 |N | JSR (A3) 00022d3c 50 4f |PO | ADDQ.L #0x8,A7 00022d3e 41 fa e1 2c |A , | LEA.L 0x20e6c,A0 00022d42 70 20 |p | MOVEQ.L #0x20,D0 00022d44 3f 20 |? | MOVE.W -(A0),-(A7) 00022d46 51 c8 ff fc |Q | DBF D0,0x22d44 00022d4a 59 4f |YO | SUBQ.L #0x4,A7 00022d4c 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022d50 3f 01 |? | MOVE.W D1,-(A7) 00022d52 3f 3c 00 42 |?< B | MOVE.W #0x42,-(A7) 00022d56 4e 92 |N | JSR (A2) 00022d58 50 4f |PO | ADDQ.L #0x8,A7 00022d5a 4e 93 |N | JSR (A3) 00022d5c 58 4f |XO | ADDQ.L #0x4,A7 00022d5e 20 4f | O | MOVEA.L A7,A0 00022d60 43 fa e1 0a |C | LEA.L 0x20e6c,A1 00022d64 70 40 |p@ | MOVEQ.L #0x40,D0 00022d66 10 d9 | | MOVE.B (A1)+,(A0)+ 00022d68 51 c8 ff fc |Q | DBF D0,0x22d66 00022d6c 59 4f |YO | SUBQ.L #0x4,A7 00022d6e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022d72 3f 01 |? | MOVE.W D1,-(A7) 00022d74 3f 3c 00 41 |?< A | MOVE.W #0x41,-(A7) 00022d78 4e 92 |N | JSR (A2) 00022d7a 50 4f |PO | ADDQ.L #0x8,A7 00022d7c 4e b9 00 01 03 d8 |N | JSR WriteConsoleString(str : String) 00022d82 de c5 | | ADDA.W D5,A7 00022d84 4a 39 00 02 35 2a |J9 5* | TST.B 0x2352a 00022d8a 67 1a |g | BEQ 0x22da6 00022d8c 3f 3a e1 2c |?: , | MOVE.W 0x20eba,-(A7) 00022d90 59 4f |YO | SUBQ.L #0x4,A7 00022d92 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022d96 3f 01 |? | MOVE.W D1,-(A7) 00022d98 3f 3c 00 02 |?< | MOVE.W #0x2,-(A7) 00022d9c 4e 92 |N | JSR (A2) 00022d9e 50 4f |PO | ADDQ.L #0x8,A7 00022da0 4e 93 |N | JSR (A3) 00022da2 5c 4f |\O | ADDQ.L #0x6,A7 00022da4 60 26 |`& | BRA 0x22dcc 00022da6 59 4f |YO | SUBQ.L #0x4,A7 00022da8 1e ba e1 12 | | MOVE.B 0x20ebc,(A7) 00022dac 1f 7a e1 0f 00 01 | z | MOVE.B 0x20ebd,(A7+0x1) 00022db2 1f 7a e1 0a 00 02 | z | MOVE.B 0x20ebe,(A7+0x2) 00022db8 59 4f |YO | SUBQ.L #0x4,A7 00022dba 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022dbe 3f 01 |? | MOVE.W D1,-(A7) 00022dc0 3f 3c 00 03 |?< | MOVE.W #0x3,-(A7) 00022dc4 4e 92 |N | JSR (A2) 00022dc6 50 4f |PO | ADDQ.L #0x8,A7 00022dc8 4e 93 |N | JSR (A3) 00022dca 50 4f |PO | ADDQ.L #0x8,A7 00022dcc 4e b9 00 01 03 dc |N | JSR WriteConsoleCrLf(void) 00022dd2 4a 87 |J | TST.L D7 00022dd4 66 00 fc 48 |f H | BNE 0x22a1e 00022dd8 4c df 1f ff |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4 00022ddc 4e 5e |N^ | UNLK A6 00022dde 4e 75 |Nu | RTS 00022de0 ; -------------------------------------------------------------------------------------- 00022de0 ; OMSI PASCAL Function 00022de0 ; -------------------------------------------------------------------------------------- 00022de0 4e 56 ff 9c |NV | LINK.W A6,#0xff9c 00022de4 bf d5 | | CMPA.L (A5),A7 00022de6 62 06 |b | BHI 0x22dee 00022de8 44 fc 00 02 |D | MOVE.W #0x2,CCR 00022dec 4e 76 |Nv | TRAPV 00022dee de fc 00 60 | ` | ADDA.W #0x60,A7 00022df2 48 e7 fd e0 |H | MOVEM.L A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7) 00022df6 43 f9 00 01 02 c4 |C | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A1 00022dfc 45 f9 00 01 03 e0 |E | LEA.L WriteConsoleStringCrLf(str : String),A2 00022e02 72 01 |r | MOVEQ.L #0x01,D1 00022e04 74 24 |t$ | MOVEQ.L #0x24,D2 00022e06 76 28 |v( | MOVEQ.L #0x28,D3 00022e08 78 20 |x | MOVEQ.L #0x20,D4 00022e0a 7a 16 |z | MOVEQ.L #0x16,D5 00022e0c 41 fa e0 c0 |A | LEA.L 0x20ece,A0 00022e10 70 06 |p | MOVEQ.L #0x06,D0 00022e12 3f 20 |? | MOVE.W -(A0),-(A7) 00022e14 51 c8 ff fc |Q | DBF D0,0x22e12 00022e18 59 4f |YO | SUBQ.L #0x4,A7 00022e1a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022e1e 3f 01 |? | MOVE.W D1,-(A7) 00022e20 3f 3c 00 0e |?< | MOVE.W #0xe,-(A7) 00022e24 4e 91 |N | JSR (A1) 00022e26 50 4f |PO | ADDQ.L #0x8,A7 00022e28 4e 92 |N | JSR (A2) 00022e2a de fc 00 12 | | ADDA.W #0x12,A7 00022e2e 41 fa e0 c6 |A | LEA.L 0x20ef6,A0 00022e32 70 09 |p | MOVEQ.L #0x09,D0 00022e34 2f 20 |/ | MOVE.L -(A0),-(A7) 00022e36 51 c8 ff fc |Q | DBF D0,0x22e34 00022e3a 59 4f |YO | SUBQ.L #0x4,A7 00022e3c 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022e40 3f 01 |? | MOVE.W D1,-(A7) 00022e42 3f 03 |? | MOVE.W D3,-(A7) 00022e44 4e 91 |N | JSR (A1) 00022e46 50 4f |PO | ADDQ.L #0x8,A7 00022e48 4e 92 |N | JSR (A2) 00022e4a de fc 00 2c | , | ADDA.W #0x2c,A7 00022e4e 41 fa e0 ca |A | LEA.L 0x20f1a,A0 00022e52 70 08 |p | MOVEQ.L #0x08,D0 00022e54 2f 20 |/ | MOVE.L -(A0),-(A7) 00022e56 51 c8 ff fc |Q | DBF D0,0x22e54 00022e5a 59 4f |YO | SUBQ.L #0x4,A7 00022e5c 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022e60 3f 01 |? | MOVE.W D1,-(A7) 00022e62 3f 02 |? | MOVE.W D2,-(A7) 00022e64 4e 91 |N | JSR (A1) 00022e66 50 4f |PO | ADDQ.L #0x8,A7 00022e68 4e 92 |N | JSR (A2) 00022e6a de c3 | | ADDA.W D3,A7 00022e6c 41 fa e0 d0 |A | LEA.L 0x20f3e,A0 00022e70 70 08 |p | MOVEQ.L #0x08,D0 00022e72 2f 20 |/ | MOVE.L -(A0),-(A7) 00022e74 51 c8 ff fc |Q | DBF D0,0x22e72 00022e78 59 4f |YO | SUBQ.L #0x4,A7 00022e7a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022e7e 3f 01 |? | MOVE.W D1,-(A7) 00022e80 3f 02 |? | MOVE.W D2,-(A7) 00022e82 4e 91 |N | JSR (A1) 00022e84 50 4f |PO | ADDQ.L #0x8,A7 00022e86 4e 92 |N | JSR (A2) 00022e88 de c3 | | ADDA.W D3,A7 00022e8a 41 fa e0 d2 |A | LEA.L 0x20f5e,A0 00022e8e 70 07 |p | MOVEQ.L #0x07,D0 00022e90 2f 20 |/ | MOVE.L -(A0),-(A7) 00022e92 51 c8 ff fc |Q | DBF D0,0x22e90 00022e96 59 4f |YO | SUBQ.L #0x4,A7 00022e98 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022e9c 3f 01 |? | MOVE.W D1,-(A7) 00022e9e 3f 04 |? | MOVE.W D4,-(A7) 00022ea0 4e 91 |N | JSR (A1) 00022ea2 50 4f |PO | ADDQ.L #0x8,A7 00022ea4 4e 92 |N | JSR (A2) 00022ea6 de c2 | | ADDA.W D2,A7 00022ea8 41 fa e0 d4 |A | LEA.L 0x20f7e,A0 00022eac 70 07 |p | MOVEQ.L #0x07,D0 00022eae 2f 20 |/ | MOVE.L -(A0),-(A7) 00022eb0 51 c8 ff fc |Q | DBF D0,0x22eae 00022eb4 59 4f |YO | SUBQ.L #0x4,A7 00022eb6 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022eba 3f 01 |? | MOVE.W D1,-(A7) 00022ebc 3f 04 |? | MOVE.W D4,-(A7) 00022ebe 4e 91 |N | JSR (A1) 00022ec0 50 4f |PO | ADDQ.L #0x8,A7 00022ec2 4e 92 |N | JSR (A2) 00022ec4 de c2 | | ADDA.W D2,A7 00022ec6 41 fa e0 d2 |A | LEA.L 0x20f9a,A0 00022eca 70 06 |p | MOVEQ.L #0x06,D0 00022ecc 2f 20 |/ | MOVE.L -(A0),-(A7) 00022ece 51 c8 ff fc |Q | DBF D0,0x22ecc 00022ed2 59 4f |YO | SUBQ.L #0x4,A7 00022ed4 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022ed8 3f 01 |? | MOVE.W D1,-(A7) 00022eda 3f 3c 00 1c |?< | MOVE.W #0x1c,-(A7) 00022ede 4e 91 |N | JSR (A1) 00022ee0 50 4f |PO | ADDQ.L #0x8,A7 00022ee2 4e 92 |N | JSR (A2) 00022ee4 de c4 | | ADDA.W D4,A7 00022ee6 41 fa e0 c8 |A | LEA.L 0x20fb0,A0 00022eea 70 0a |p | MOVEQ.L #0x0a,D0 00022eec 3f 20 |? | MOVE.W -(A0),-(A7) 00022eee 51 c8 ff fc |Q | DBF D0,0x22eec 00022ef2 51 4f |QO | SUBQ.L #0x8,A7 00022ef4 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00022ef8 3f 01 |? | MOVE.W D1,-(A7) 00022efa 3f 05 |? | MOVE.W D5,-(A7) 00022efc 4e 91 |N | JSR (A1) 00022efe 50 4f |PO | ADDQ.L #0x8,A7 00022f00 48 78 00 00 |Hx | PEA.L 0x0 00022f04 48 78 00 05 |Hx | PEA.L 0x5 00022f08 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 00022f0e de fc 00 0c | | ADDA.W #0xc,A7 00022f12 2e 1f |. | MOVE.L (A7)+,D7 00022f14 de c5 | | ADDA.W D5,A7 00022f16 20 07 | | MOVE.L D7,D0 00022f18 0c 80 00 00 00 05 | | CMPI.L #0x00000005,D0 00022f1e 63 02 |c | BLS 0x22f22 00022f20 4e 4e |NN | TRAP #14 00022f22 d0 40 | @ | ADD.W D0,D0 00022f24 30 3b 00 06 4e fb 00 02 |0; N | SWITCH D0.W 00022f2c 00 0c | | .CONST 0xc ; [0x0] -> 0x22f38 00022f2e 00 0e | | .CONST 0xe ; [0x1] -> 0x22f3a 00022f30 00 0e | | .CONST 0xe ; [0x2] -> 0x22f3a 00022f32 00 26 | & | .CONST 0x26 ; [0x3] -> 0x22f52 00022f34 00 26 | & | .CONST 0x26 ; [0x4] -> 0x22f52 00022f36 00 26 | & | .CONST 0x26 ; [0x5] -> 0x22f52 00022f38 switch@0x22f24[0x0]: 00022f38 60 30 |`0 | BRA 0x22f6a 00022f3a switch@0x22f24[0x1]: 00022f3a switch@0x22f24[0x2]: 00022f3a 20 07 | | MOVE.L D7,D0 00022f3c 53 80 |S | SUBQ.L #0x1,D0 00022f3e 0c 80 00 00 ff ff | | CMPI.L #0x0000ffff,D0 00022f44 63 02 |c | BLS 0x22f48 00022f46 4e 4f |NO | TRAP #15 00022f48 3f 00 |? | MOVE.W D0,-(A7) 00022f4a 4e b9 00 01 02 2c |N , | JSR KC16_Clock_Margin 00022f50 60 16 |` | BRA 0x22f68 00022f52 switch@0x22f24[0x3]: 00022f52 switch@0x22f24[0x4]: 00022f52 switch@0x22f24[0x5]: 00022f52 20 07 | | MOVE.L D7,D0 00022f54 57 80 |W | SUBQ.L #0x3,D0 00022f56 0c 80 00 00 ff ff | | CMPI.L #0x0000ffff,D0 00022f5c 63 02 |c | BLS 0x22f60 00022f5e 4e 4f |NO | TRAP #15 00022f60 3f 00 |? | MOVE.W D0,-(A7) 00022f62 4e b9 00 01 02 2e |N . | JSR KC17_Power_Margin 00022f68 54 4f |TO | ADDQ.L #0x2,A7 00022f6a 4a 87 |J | TST.L D7 00022f6c 66 00 fe 9e |f | BNE 0x22e0c 00022f70 4c df 07 bf |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2 00022f74 4e 5e |N^ | UNLK A6 00022f76 4e 75 |Nu | RTS 00022f78 ; -------------------------------------------------------------------------------------- 00022f78 ; OMSI PASCAL Function 00022f78 ; -------------------------------------------------------------------------------------- 00022f78 4e 56 ff ae |NV | LINK.W A6,#0xffae 00022f7c bf d5 | | CMPA.L (A5),A7 00022f7e 62 06 |b | BHI 0x22f86 00022f80 44 fc 00 02 |D | MOVE.W #0x2,CCR 00022f84 4e 76 |Nv | TRAPV 00022f86 de fc 00 4e | N | ADDA.W #0x4e,A7 00022f8a 48 e7 80 80 |H | MOVEM.L A0+D0,-(A7) 00022f8e 41 fa e0 56 |A V | LEA.L 0x20fe6,A0 00022f92 70 1a |p | MOVEQ.L #0x1a,D0 00022f94 3f 20 |? | MOVE.W -(A0),-(A7) 00022f96 51 c8 ff fc |Q | DBF D0,0x22f94 00022f9a 59 4f |YO | SUBQ.L #0x4,A7 00022f9c 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00022fa0 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 00022fa4 3f 3c 00 36 |?< 6 | MOVE.W #0x36,-(A7) 00022fa8 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00022fae 50 4f |PO | ADDQ.L #0x8,A7 00022fb0 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00022fb6 de fc 00 3a | : | ADDA.W #0x3a,A7 00022fba 4c df 01 01 |L | MOVEM.L (A7)+,D0+A0 00022fbe 4e 5e |N^ | UNLK A6 00022fc0 4e 75 |Nu | RTS 00022fc2 ; -------------------------------------------------------------------------------------- 00022fc2 ; OMSI PASCAL Function 00022fc2 ; -------------------------------------------------------------------------------------- 00022fc2 4e 56 ff 8c |NV | LINK.W A6,#0xff8c 00022fc6 bf d5 | | CMPA.L (A5),A7 00022fc8 62 06 |b | BHI 0x22fd0 00022fca 44 fc 00 02 |D | MOVE.W #0x2,CCR 00022fce 4e 76 |Nv | TRAPV 00022fd0 de fc 00 70 | p | ADDA.W #0x70,A7 00022fd4 48 e7 f9 f0 |H | MOVEM.L A3+A2+A1+A0+D7+D4+D3+D2+D1+D0,-(A7) 00022fd8 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 00022fde 47 f9 00 01 03 e0 |G | LEA.L WriteConsoleStringCrLf(str : String),A3 00022fe4 72 01 |r | MOVEQ.L #0x01,D1 00022fe6 74 0a |t | MOVEQ.L #0x0a,D2 00022fe8 76 24 |v$ | MOVEQ.L #0x24,D3 00022fea 78 16 |x | MOVEQ.L #0x16,D4 00022fec 9e c2 | | SUBA.W D2,A7 00022fee 20 4f | O | MOVEA.L A7,A0 00022ff0 43 fa e1 98 |C | LEA.L 0x2118a,A1 00022ff4 70 08 |p | MOVEQ.L #0x08,D0 00022ff6 10 d9 | | MOVE.B (A1)+,(A0)+ 00022ff8 51 c8 ff fc |Q | DBF D0,0x22ff6 00022ffc 59 4f |YO | SUBQ.L #0x4,A7 00022ffe 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023002 3f 01 |? | MOVE.W D1,-(A7) 00023004 3f 3c 00 09 |?< | MOVE.W #0x9,-(A7) 00023008 4e 92 |N | JSR (A2) 0002300a 50 4f |PO | ADDQ.L #0x8,A7 0002300c 4e 93 |N | JSR (A3) 0002300e de fc 00 0e | | ADDA.W #0xe,A7 00023012 41 fa e1 a4 |A | LEA.L 0x211b8,A0 00023016 70 08 |p | MOVEQ.L #0x08,D0 00023018 2f 20 |/ | MOVE.L -(A0),-(A7) 0002301a 51 c8 ff fc |Q | DBF D0,0x23018 0002301e 59 4f |YO | SUBQ.L #0x4,A7 00023020 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023024 3f 01 |? | MOVE.W D1,-(A7) 00023026 3f 03 |? | MOVE.W D3,-(A7) 00023028 4e 92 |N | JSR (A2) 0002302a 50 4f |PO | ADDQ.L #0x8,A7 0002302c 4e 93 |N | JSR (A3) 0002302e de fc 00 28 | ( | ADDA.W #0x28,A7 00023032 41 fa e1 b6 |A | LEA.L 0x211ea,A0 00023036 70 18 |p | MOVEQ.L #0x18,D0 00023038 3f 20 |? | MOVE.W -(A0),-(A7) 0002303a 51 c8 ff fc |Q | DBF D0,0x23038 0002303e 59 4f |YO | SUBQ.L #0x4,A7 00023040 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023044 3f 01 |? | MOVE.W D1,-(A7) 00023046 3f 3c 00 32 |?< 2 | MOVE.W #0x32,-(A7) 0002304a 4e 92 |N | JSR (A2) 0002304c 50 4f |PO | ADDQ.L #0x8,A7 0002304e 4e 93 |N | JSR (A3) 00023050 de fc 00 36 | 6 | ADDA.W #0x36,A7 00023054 41 fa e1 b0 |A | LEA.L 0x21206,A0 00023058 70 06 |p | MOVEQ.L #0x06,D0 0002305a 2f 20 |/ | MOVE.L -(A0),-(A7) 0002305c 51 c8 ff fc |Q | DBF D0,0x2305a 00023060 59 4f |YO | SUBQ.L #0x4,A7 00023062 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023066 3f 01 |? | MOVE.W D1,-(A7) 00023068 3f 3c 00 1c |?< | MOVE.W #0x1c,-(A7) 0002306c 4e 92 |N | JSR (A2) 0002306e 50 4f |PO | ADDQ.L #0x8,A7 00023070 4e 93 |N | JSR (A3) 00023072 9e fc 00 10 | | SUBA.W #0x10,A7 00023076 20 4f | O | MOVEA.L A7,A0 00023078 43 fa e1 8c |C | LEA.L 0x21206,A1 0002307c 70 2e |p. | MOVEQ.L #0x2e,D0 0002307e 10 d9 | | MOVE.B (A1)+,(A0)+ 00023080 51 c8 ff fc |Q | DBF D0,0x2307e 00023084 59 4f |YO | SUBQ.L #0x4,A7 00023086 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002308a 3f 01 |? | MOVE.W D1,-(A7) 0002308c 3f 3c 00 2f |?< / | MOVE.W #0x2f,-(A7) 00023090 4e 92 |N | JSR (A2) 00023092 50 4f |PO | ADDQ.L #0x8,A7 00023094 4e 93 |N | JSR (A3) 00023096 de fc 00 34 | 4 | ADDA.W #0x34,A7 0002309a 41 fa e1 be |A | LEA.L 0x2125a,A0 0002309e 70 08 |p | MOVEQ.L #0x08,D0 000230a0 2f 20 |/ | MOVE.L -(A0),-(A7) 000230a2 51 c8 ff fc |Q | DBF D0,0x230a0 000230a6 59 4f |YO | SUBQ.L #0x4,A7 000230a8 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000230ac 3f 01 |? | MOVE.W D1,-(A7) 000230ae 3f 03 |? | MOVE.W D3,-(A7) 000230b0 4e 92 |N | JSR (A2) 000230b2 50 4f |PO | ADDQ.L #0x8,A7 000230b4 4e 93 |N | JSR (A3) 000230b6 de c2 | | ADDA.W D2,A7 000230b8 20 4f | O | MOVEA.L A7,A0 000230ba 43 fa e1 9e |C | LEA.L 0x2125a,A1 000230be 70 1c |p | MOVEQ.L #0x1c,D0 000230c0 10 d9 | | MOVE.B (A1)+,(A0)+ 000230c2 51 c8 ff fc |Q | DBF D0,0x230c0 000230c6 59 4f |YO | SUBQ.L #0x4,A7 000230c8 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000230cc 3f 01 |? | MOVE.W D1,-(A7) 000230ce 3f 3c 00 1d |?< | MOVE.W #0x1d,-(A7) 000230d2 4e 92 |N | JSR (A2) 000230d4 50 4f |PO | ADDQ.L #0x8,A7 000230d6 4e 93 |N | JSR (A3) 000230d8 de fc 00 22 | " | ADDA.W #0x22,A7 000230dc 41 fa e1 d2 |A | LEA.L 0x212b0,A0 000230e0 70 0d |p | MOVEQ.L #0x0d,D0 000230e2 2f 20 |/ | MOVE.L -(A0),-(A7) 000230e4 51 c8 ff fc |Q | DBF D0,0x230e2 000230e8 59 4f |YO | SUBQ.L #0x4,A7 000230ea 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000230ee 3f 01 |? | MOVE.W D1,-(A7) 000230f0 3f 3c 00 38 |?< 8 | MOVE.W #0x38,-(A7) 000230f4 4e 92 |N | JSR (A2) 000230f6 50 4f |PO | ADDQ.L #0x8,A7 000230f8 4e 93 |N | JSR (A3) 000230fa de fc 00 18 | | ADDA.W #0x18,A7 000230fe 20 4f | O | MOVEA.L A7,A0 00023100 43 fa e1 ae |C | LEA.L 0x212b0,A1 00023104 70 22 |p" | MOVEQ.L #0x22,D0 00023106 10 d9 | | MOVE.B (A1)+,(A0)+ 00023108 51 c8 ff fc |Q | DBF D0,0x23106 0002310c 59 4f |YO | SUBQ.L #0x4,A7 0002310e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023112 3f 01 |? | MOVE.W D1,-(A7) 00023114 3f 3c 00 23 |?< # | MOVE.W #0x23,-(A7) 00023118 4e 92 |N | JSR (A2) 0002311a 50 4f |PO | ADDQ.L #0x8,A7 0002311c 4e 93 |N | JSR (A3) 0002311e de fc 00 1a | | ADDA.W #0x1a,A7 00023122 20 4f | O | MOVEA.L A7,A0 00023124 43 fa e1 ae |C | LEA.L 0x212d4,A1 00023128 70 0c |p | MOVEQ.L #0x0c,D0 0002312a 10 d9 | | MOVE.B (A1)+,(A0)+ 0002312c 51 c8 ff fc |Q | DBF D0,0x2312a 00023130 59 4f |YO | SUBQ.L #0x4,A7 00023132 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023136 3f 01 |? | MOVE.W D1,-(A7) 00023138 3f 3c 00 0d |?< | MOVE.W #0xd,-(A7) 0002313c 4e 92 |N | JSR (A2) 0002313e 50 4f |PO | ADDQ.L #0x8,A7 00023140 4e 93 |N | JSR (A3) 00023142 de fc 00 12 | | ADDA.W #0x12,A7 00023146 41 fa e1 b0 |A | LEA.L 0x212f8,A0 0002314a 70 0a |p | MOVEQ.L #0x0a,D0 0002314c 3f 20 |? | MOVE.W -(A0),-(A7) 0002314e 51 c8 ff fc |Q | DBF D0,0x2314c 00023152 51 4f |QO | SUBQ.L #0x8,A7 00023154 48 6f 00 08 |Ho | PEA.L (A7+0x8) 00023158 3f 01 |? | MOVE.W D1,-(A7) 0002315a 3f 04 |? | MOVE.W D4,-(A7) 0002315c 4e 92 |N | JSR (A2) 0002315e 50 4f |PO | ADDQ.L #0x8,A7 00023160 48 78 00 00 |Hx | PEA.L 0x0 00023164 48 78 00 08 |Hx | PEA.L 0x8 00023168 4e b9 00 01 03 ec |N | JSR AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long 0002316e de fc 00 0c | | ADDA.W #0xc,A7 00023172 2e 1f |. | MOVE.L (A7)+,D7 00023174 de c4 | | ADDA.W D4,A7 00023176 20 07 | | MOVE.L D7,D0 00023178 0c 80 00 00 00 08 | | CMPI.L #0x00000008,D0 0002317e 63 02 |c | BLS 0x23182 00023180 4e 4e |NN | TRAP #14 00023182 d0 40 | @ | ADD.W D0,D0 00023184 30 3b 00 06 4e fb 00 02 |0; N | SWITCH D0.W 0002318c 00 12 | | .CONST 0x12 ; [0x0] -> 0x2319e 0002318e 00 14 | | .CONST 0x14 ; [0x1] -> 0x231a0 00023190 00 1a | | .CONST 0x1a ; [0x2] -> 0x231a6 00023192 00 20 | | .CONST 0x20 ; [0x3] -> 0x231ac 00023194 00 26 | & | .CONST 0x26 ; [0x4] -> 0x231b2 00023196 00 2c | , | .CONST 0x2c ; [0x5] -> 0x231b8 00023198 00 32 | 2 | .CONST 0x32 ; [0x6] -> 0x231be 0002319a 00 38 | 8 | .CONST 0x38 ; [0x7] -> 0x231c4 0002319c 00 3e | > | .CONST 0x3e ; [0x8] -> 0x231ca 0002319e switch@0x23184[0x0]: 0002319e 60 2e |`. | BRA 0x231ce 000231a0 switch@0x23184[0x1]: 000231a0 4e ba e3 18 |N | JSR 0x214ba 000231a4 60 28 |`( | BRA 0x231ce 000231a6 switch@0x23184[0x2]: 000231a6 4e ba e3 62 |N b | JSR 0x2150a 000231aa 60 22 |`" | BRA 0x231ce 000231ac switch@0x23184[0x3]: 000231ac 4e ba f6 88 |N | JSR 0x22836 000231b0 60 1c |` | BRA 0x231ce 000231b2 switch@0x23184[0x4]: 000231b2 4e ba f7 e6 |N | JSR 0x2299a 000231b6 60 16 |` | BRA 0x231ce 000231b8 switch@0x23184[0x5]: 000231b8 4e ba fc 26 |N & | JSR 0x22de0 000231bc 60 10 |` | BRA 0x231ce 000231be switch@0x23184[0x6]: 000231be 4e ba f8 2a |N * | JSR 0x229ea 000231c2 60 0a |` | BRA 0x231ce 000231c4 switch@0x23184[0x7]: 000231c4 4e ba fd b2 |N | JSR 0x22f78 000231c8 60 04 |` | BRA 0x231ce 000231ca switch@0x23184[0x8]: 000231ca 4e ba e4 12 |N | JSR 0x215de 000231ce 4a 87 |J | TST.L D7 000231d0 66 00 fe 1a |f | BNE 0x22fec 000231d4 4c df 0f 9f |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D7+A0+A1+A2+A3 000231d8 4e 5e |N^ | UNLK A6 000231da 4e 75 |Nu | RTS 000231dc ; -------------------------------------------------------------------------------------- 000231dc ; OMSI PASCAL Function 000231dc ; <LVAR -0x004 @> 000231dc ; -------------------------------------------------------------------------------------- 000231dc 4e 56 ff d0 |NV | LINK.W A6,#0xffd0 000231e0 bf d5 | | CMPA.L (A5),A7 000231e2 62 06 |b | BHI 0x231ea 000231e4 44 fc 00 02 |D | MOVE.W #0x2,CCR 000231e8 4e 76 |Nv | TRAPV 000231ea de fc 00 2c | , | ADDA.W #0x2c,A7 000231ee 48 e7 c0 c0 |H | MOVEM.L A1+A0+D1+D0,-(A7) 000231f2 72 01 |r | MOVEQ.L #0x01,D1 000231f4 4e b9 00 01 05 38 |N 8 | JSR IPC_Init(void) 000231fa 1f 01 | | MOVE.B D1,-(A7) 000231fc 4e b9 00 01 05 02 |N | JSR IPC_PutBool(a : Bool) 00023202 54 4f |TO | ADDQ.L #0x2,A7 00023204 4e b9 00 01 05 14 |N | JSR IPC_PutEnd(void) 0002320a 9e fc 00 0a | | SUBA.W #0xa,A7 0002320e 20 4f | O | MOVEA.L A7,A0 00023210 43 fa e0 e6 |C | LEA.L 0x212f8,A1 00023214 70 08 |p | MOVEQ.L #0x08,D0 00023216 10 d9 | | MOVE.B (A1)+,(A0)+ 00023218 51 c8 ff fc |Q | DBF D0,0x23216 0002321c 59 4f |YO | SUBQ.L #0x4,A7 0002321e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023222 3f 01 |? | MOVE.W D1,-(A7) 00023224 3f 3c 00 09 |?< | MOVE.W #0x9,-(A7) 00023228 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 0002322e 50 4f |PO | ADDQ.L #0x8,A7 00023230 48 78 00 01 |Hx | PEA.L 0x1 00023234 1f 01 | | MOVE.B D1,-(A7) 00023236 48 6e ff fc |Hn | PEA.L (A6-0x4) 0002323a 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00023240 de fc 00 18 | | ADDA.W #0x18,A7 00023244 4c df 03 03 |L | MOVEM.L (A7)+,D0+D1+A0+A1 00023248 4e 5e |N^ | UNLK A6 0002324a 4e 75 |Nu | RTS 0002324c ; -------------------------------------------------------------------------------------- 0002324c ; OMSI PASCAL Function 0002324c ; -------------------------------------------------------------------------------------- 0002324c START: 0002324c 4f fa 00 08 |O | LEA.L MAIN,A7 00023250 4e f9 00 01 02 80 |N | JMP ?start_program 00023256 MAIN: 00023256 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 0002325c 72 01 |r | MOVEQ.L #0x01,D1 0002325e 74 16 |t | MOVEQ.L #0x16,D2 00023260 4e b9 00 01 03 98 |N | JSR FSCALL_10398 00023266 41 fa e0 be |A | LEA.L 0x21326,A0 0002326a 70 08 |p | MOVEQ.L #0x08,D0 0002326c 2f 20 |/ | MOVE.L -(A0),-(A7) 0002326e 51 c8 ff fc |Q | DBF D0,0x2326c 00023272 59 4f |YO | SUBQ.L #0x4,A7 00023274 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00023278 3f 01 |? | MOVE.W D1,-(A7) 0002327a 3f 3c 00 24 |?< $ | MOVE.W #0x24,-(A7) 0002327e 4e 92 |N | JSR (A2) 00023280 50 4f |PO | ADDQ.L #0x8,A7 00023282 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00023288 de c2 | | ADDA.W D2,A7 0002328a 20 4f | O | MOVEA.L A7,A0 0002328c 43 fa e0 98 |C | LEA.L 0x21326,A1 00023290 70 10 |p | MOVEQ.L #0x10,D0 00023292 10 d9 | | MOVE.B (A1)+,(A0)+ 00023294 51 c8 ff fc |Q | DBF D0,0x23292 00023298 59 4f |YO | SUBQ.L #0x4,A7 0002329a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002329e 3f 01 |? | MOVE.W D1,-(A7) 000232a0 3f 3c 00 11 |?< | MOVE.W #0x11,-(A7) 000232a4 4e 92 |N | JSR (A2) 000232a6 50 4f |PO | ADDQ.L #0x8,A7 000232a8 4e b9 00 01 03 d8 |N | JSR WriteConsoleString(str : String) 000232ae de c2 | | ADDA.W D2,A7 000232b0 13 c1 00 02 35 2b | 5+ | MOVE.B D1,0x2352b 000232b6 13 c1 00 02 35 2a | 5* | MOVE.B D1,0x2352a 000232bc 13 c1 00 02 35 30 | 50 | MOVE.B D1,0x23530 000232c2 42 b9 00 02 35 2c |B 5, | CLR.L 0x2352c 000232c8 48 79 00 02 35 32 |Hy 52 | PEA.L 0x23532 000232ce 4e b9 00 01 02 b8 |N | JSR NewString(VAR a : String) 000232d4 58 4f |XO | ADDQ.L #0x4,A7 000232d6 4e ba ff 04 |N | JSR 0x231dc 000232da 5d 4f |]O | SUBQ.L #0x6,A7 000232dc 20 4f | O | MOVEA.L A7,A0 000232de 43 fa e0 58 |C X | LEA.L 0x21338,A1 000232e2 70 04 |p | MOVEQ.L #0x04,D0 000232e4 10 d9 | | MOVE.B (A1)+,(A0)+ 000232e6 51 c8 ff fc |Q | DBF D0,0x232e4 000232ea 59 4f |YO | SUBQ.L #0x4,A7 000232ec 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000232f0 3f 01 |? | MOVE.W D1,-(A7) 000232f2 3f 3c 00 05 |?< | MOVE.W #0x5,-(A7) 000232f6 4e 92 |N | JSR (A2) 000232f8 50 4f |PO | ADDQ.L #0x8,A7 000232fa 4e b9 00 01 03 e0 |N | JSR WriteConsoleStringCrLf(str : String) 00023300 de fc 00 0a | | ADDA.W #0xa,A7 00023304 4e ba fc bc |N | JSR 0x22fc2 00023308 42 27 |B' | CLR.B -(A7) 0002330a 48 78 00 01 |Hx | PEA.L 0x1 0002330e 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 00023314 5c 4f |\O | ADDQ.L #0x6,A7 00023316 4e b9 00 01 02 84 |N | JSR ?exit 0002331c 57 6f 72 64 73 20 65 72 |Words er| .TXT 'Words error :_' 0002332a ; -------------------------------------------------------------------------------------- 0002332a ; OMSI PASCAL Function 0002332a ; <LVAR 0x008 1(r)> 0002332a ; -------------------------------------------------------------------------------------- 0002332a PROG_FAIL: 0002332a 4e 56 ff d2 |NV | LINK.W A6,#0xffd2 0002332e bf d5 | | CMPA.L (A5),A7 00023330 62 06 |b | BHI 0x23338 00023332 44 fc 00 02 |D | MOVE.W #0x2,CCR 00023336 4e 76 |Nv | TRAPV 00023338 de fc 00 2c | , | ADDA.W #0x2c,A7 0002333c 48 e7 80 80 |H | MOVEM.L A0+D0,-(A7) 00023340 41 fa ff e8 |A | LEA.L PROG_FAIL,A0 00023344 70 06 |p | MOVEQ.L #0x06,D0 00023346 3f 20 |? | MOVE.W -(A0),-(A7) 00023348 51 c8 ff fc |Q | DBF D0,0x23346 0002334c 1f 3c 00 03 | < | MOVE.B #0x03,-(A7) 00023350 51 4f |QO | SUBQ.L #0x8,A7 00023352 48 6f 00 0a |Ho | PEA.L (A7+0xa) 00023356 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 0002335a 3f 3c 00 0e |?< | MOVE.W #0xe,-(A7) 0002335e 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00023364 58 4f |XO | ADDQ.L #0x4,A7 00023366 10 2e 00 08 | . | MOVE.B (A6+0x8),D0 0002336a 48 80 |H | EXTB.W D0 0002336c 48 c0 |H | EXTW.L D0 0002336e 2f 00 |/ | MOVE.L D0,-(A7) 00023370 4e b9 00 01 02 e4 |N | JSR Long2String(a : Long) : String 00023376 58 4f |XO | ADDQ.L #0x4,A7 00023378 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 0002337e 50 4f |PO | ADDQ.L #0x8,A7 00023380 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 00023386 de fc 00 14 | | ADDA.W #0x14,A7 0002338a 4c df 01 01 |L | MOVEM.L (A7)+,D0+A0 0002338e 4e 5e |N^ | UNLK A6 00023390 4e 75 |Nu | RTS 00023392 42 6f 61 72 64 20 20 20 |Board | .TXT 'Board :_ ' 000233a0 45 78 70 65 72 69 6d 65 |Experime| .TXT 'Experiment :_ ' 000233ae 53 74 61 74 75 73 20 20 |Status | .TXT 'Status :_ ' 000233bc 45 78 70 65 72 69 6d 65 |Experime| .TXT 'Experiment error :' 000233ce 46 61 74 61 6c 20 65 78 |Fatal ex| .TXT 'Fatal experiment error. ' 000233e6 ; -------------------------------------------------------------------------------------- 000233e6 ; OMSI PASCAL Function 000233e6 ; <LVAR 0x00e 1(r)> 000233e6 ; <LVAR 0x00a 4(r)> 000233e6 ; <LVAR 0x008 1(r)> 000233e6 ; -------------------------------------------------------------------------------------- 000233e6 EXP_FAIL: 000233e6 4e 56 ff 8c |NV | LINK.W A6,#0xff8c 000233ea bf d5 | | CMPA.L (A5),A7 000233ec 62 06 |b | BHI 0x233f4 000233ee 44 fc 00 02 |D | MOVE.W #0x2,CCR 000233f2 4e 76 |Nv | TRAPV 000233f4 de fc 00 74 | t | ADDA.W #0x74,A7 000233f8 48 e7 fc f8 |H | MOVEM.L A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7) 000233fc 47 f9 00 01 02 c4 |G | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A3 00023402 49 f9 00 01 03 e0 |I | LEA.L WriteConsoleStringCrLf(str : String),A4 00023408 72 01 |r | MOVEQ.L #0x01,D1 0002340a 74 0d |t | MOVEQ.L #0x0d,D2 0002340c 76 1e |v | MOVEQ.L #0x1e,D3 0002340e 78 12 |x | MOVEQ.L #0x12,D4 00023410 7a 0e |z | MOVEQ.L #0x0e,D5 00023412 4e b9 00 01 03 dc |N | JSR WriteConsoleCrLf(void) 00023418 41 fa ff b4 |A | LEA.L 0x233ce,A0 0002341c 70 08 |p | MOVEQ.L #0x08,D0 0002341e 3f 20 |? | MOVE.W -(A0),-(A7) 00023420 51 c8 ff fc |Q | DBF D0,0x2341e 00023424 59 4f |YO | SUBQ.L #0x4,A7 00023426 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002342a 3f 01 |? | MOVE.W D1,-(A7) 0002342c 3f 04 |? | MOVE.W D4,-(A7) 0002342e 4e 93 |N | JSR (A3) 00023430 50 4f |PO | ADDQ.L #0x8,A7 00023432 4e 94 |N | JSR (A4) 00023434 50 4f |PO | ADDQ.L #0x8,A7 00023436 20 4f | O | MOVEA.L A7,A0 00023438 43 fa ff 58 |C X | LEA.L 0x23392,A1 0002343c 70 0c |p | MOVEQ.L #0x0c,D0 0002343e 10 d9 | | MOVE.B (A1)+,(A0)+ 00023440 51 c8 ff fc |Q | DBF D0,0x2343e 00023444 51 4f |QO | SUBQ.L #0x8,A7 00023446 48 6f 00 08 |Ho | PEA.L (A7+0x8) 0002344a 3f 01 |? | MOVE.W D1,-(A7) 0002344c 3f 02 |? | MOVE.W D2,-(A7) 0002344e 4e 93 |N | JSR (A3) 00023450 54 4f |TO | ADDQ.L #0x2,A7 00023452 1e ae 00 0e | | MOVE.B (A6+0xe),(A7) 00023456 4e b9 00 01 04 9c |N | JSR BoardName(address : B) : String 0002345c 54 4f |TO | ADDQ.L #0x2,A7 0002345e 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00023464 50 4f |PO | ADDQ.L #0x8,A7 00023466 4e 94 |N | JSR (A4) 00023468 de c4 | | ADDA.W D4,A7 0002346a 20 6e 00 0a | n | MOVEA.L (A6+0xa),A0 0002346e b0 c1 | | CMPA.W D1,A0 00023470 67 48 |gH | BEQ 0x234ba 00023472 9e c5 | | SUBA.W D5,A7 00023474 22 4f |"O | MOVEA.L A7,A1 00023476 45 fa ff 28 |E ( | LEA.L 0x233a0,A2 0002347a 70 0c |p | MOVEQ.L #0x0c,D0 0002347c 12 da | | MOVE.B (A2)+,(A1)+ 0002347e 51 c8 ff fc |Q | DBF D0,0x2347c 00023482 9e c3 | | SUBA.W D3,A7 00023484 22 4f |"O | MOVEA.L A7,A1 00023486 41 e8 00 fc |A | LEA.L (A0+0xfc),A0 0002348a 70 1d |p | MOVEQ.L #0x1d,D0 0002348c 12 d8 | | MOVE.B (A0)+,(A1)+ 0002348e 51 c8 ff fc |Q | DBF D0,0x2348c 00023492 51 4f |QO | SUBQ.L #0x8,A7 00023494 48 6f 00 26 |Ho & | PEA.L (A7+0x26) 00023498 3f 01 |? | MOVE.W D1,-(A7) 0002349a 3f 02 |? | MOVE.W D2,-(A7) 0002349c 4e 93 |N | JSR (A3) 0002349e 58 4f |XO | ADDQ.L #0x4,A7 000234a0 48 6f 00 0c |Ho | PEA.L (A7+0xc) 000234a4 3f 01 |? | MOVE.W D1,-(A7) 000234a6 3f 03 |? | MOVE.W D3,-(A7) 000234a8 4e 93 |N | JSR (A3) 000234aa 50 4f |PO | ADDQ.L #0x8,A7 000234ac 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 000234b2 50 4f |PO | ADDQ.L #0x8,A7 000234b4 4e 94 |N | JSR (A4) 000234b6 de fc 00 30 | 0 | ADDA.W #0x30,A7 000234ba 9e c5 | | SUBA.W D5,A7 000234bc 20 4f | O | MOVEA.L A7,A0 000234be 43 fa fe ee |C | LEA.L 0x233ae,A1 000234c2 70 0c |p | MOVEQ.L #0x0c,D0 000234c4 10 d9 | | MOVE.B (A1)+,(A0)+ 000234c6 51 c8 ff fc |Q | DBF D0,0x234c4 000234ca 51 4f |QO | SUBQ.L #0x8,A7 000234cc 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000234d0 3f 01 |? | MOVE.W D1,-(A7) 000234d2 3f 02 |? | MOVE.W D2,-(A7) 000234d4 4e 93 |N | JSR (A3) 000234d6 54 4f |TO | ADDQ.L #0x2,A7 000234d8 1e ae 00 08 | | MOVE.B (A6+0x8),(A7) 000234dc 4e b9 00 01 04 a2 |N | JSR ExpStatus2Text(status.B, &String) 000234e2 54 4f |TO | ADDQ.L #0x2,A7 000234e4 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 000234ea 50 4f |PO | ADDQ.L #0x8,A7 000234ec 4e 94 |N | JSR (A4) 000234ee 5d 4f |]O | SUBQ.L #0x6,A7 000234f0 20 4f | O | MOVEA.L A7,A0 000234f2 43 fa fe da |C | LEA.L 0x233ce,A1 000234f6 70 16 |p | MOVEQ.L #0x16,D0 000234f8 10 d9 | | MOVE.B (A1)+,(A0)+ 000234fa 51 c8 ff fc |Q | DBF D0,0x234f8 000234fe 1f 3c 00 02 | < | MOVE.B #0x02,-(A7) 00023502 59 4f |YO | SUBQ.L #0x4,A7 00023504 48 6f 00 06 |Ho | PEA.L (A7+0x6) 00023508 3f 01 |? | MOVE.W D1,-(A7) 0002350a 3f 3c 00 17 |?< | MOVE.W #0x17,-(A7) 0002350e 4e 93 |N | JSR (A3) 00023510 50 4f |PO | ADDQ.L #0x8,A7 00023512 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 00023518 de c3 | | ADDA.W D3,A7 0002351a 4c df 1f 3f |L ? | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4 0002351e 4e 5e |N^ | UNLK A6 00023520 4e 75 |Nu | RTS