|
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: 2048 (0x800) Types: M200 Notes: M200_PROGRAM Names: »FINDSEG.M200«
└─⟦b434774df⟧ Bits:30000528 8mm tape, Rational 1000, DFS, D_12_6_5 └─ ⟦this⟧ »FINDSEG.M200« └─ ⟦this⟧ »FINDSEG.M200«
@ 2016e <LVAR 0x008 4(r)> <LVAR -0x004 @ 4(rw)> <POP 2016e-201de Body> <POP 2016e-20184 Prologue> Σ0 ↓ <POP 20184-2018a RegCacheLoad> Σ0 ↓ <POP 2018a-2019a Naked> Σ0 ↓ →0x201d0 <POP 2018a-2018c StackAdj> Δ-4 {[-4-]} <Call 0x2018c 0x103c4> {[-4-]} GetArgv() : String <MI 20192 MOVE.L (A7)+,(A6-0x4)> Δ+4 {} <MI 20194 MOVEA.L (A6-0x4),A0> {} <MI 20196 TST.W (A0)> {} <MI 20198 BNE 0x201d0> {} <POP 2019a-201d0 Naked> Σ0 ↓ <Pointer.fp 0x2019a <LVAR -0x004 @ 4(rw)>> Δ-4 {[@@-4]} <Call 0x2019c 0x102bc> {[@@-4]} FreeString(VAR a : String) <POP 201a2-201a4 StackAdj> Δ+4 {} <Blob 0x201a4 [26] @> Δ-26 {[«26""»]} <POP 201b0-201b2 StackAdj> Δ-8 {[«26""»]|[-8-]} <Lit 0x201b2 26> {[«26""»]|[-4-]|[$$Enter code segment name :_]} <Call 0x201c4 0x103e4> {[«26""»]|[-4-]|[$$Enter code segment name :_]} AskConsoleString(prompt : String) : String <POP 201ca-201cc StackAdj> Δ+4 {[«26""»]|[-4-]} <MI 201cc MOVE.L (A7)+,(A6-0x4)> Δ+4 {[«26""»]} <POP 201ce-201d0 StackAdj> Δ+26 {} <POP 201d0-201d6 Naked> Σ0 ↓ ←0x2018a <MI 201d0 MOVEA.L (A6+0x8),A0> {} <MI 201d4 MOVE.L (A6-0x4),(A0)> {} <POP 201d6-201de Epilogue> Σ0
@ 201de <LVAR -0x004 @ 1(r)> <POP 201de-2027a Body> <POP 201de-201f4 Prologue> Σ0 ↓ <POP 201f4-201f8 RegCacheLoad> Σ0 ↓ <POP 201f8-20240 Naked> Σ0 ↓ →0x20272 <Blob 0x201f8 [20] @> Δ-20 {[«20""»]} <POP 2020a-2020c StackAdj> Δ-4 {[«20""»]|[-4-]} <Lit 0x2020c 19> {[«20""»]|[$$CURRENT.M200_CONFIG]} <MI 2021e MOVEA.L (A7)+,A4> Δ+4 {[«20""»]} <POP 20220-20222 StackAdj> Δ+16 {[-4-]} <MI 20222 MOVE.L A4,(A7)> {[4, 'A4']} <Const 0x20224 0x3.4> Δ-4 {[4, 'A4']|[##3]} <Const 0x20228 0x205b4.4> Δ-4 {[4, 'A4']|[##3]|[##132532]} <Pointer.fp 0x2022e <LVAR -0x004 @ 1(r)>> Δ-4 {[4, 'A4']|[##3]|[##132532]|[@@-4]} <Call 0x20232 0x1056e> {[4, 'A4']|[##3]|[##132532]|[@@-4]} Read_ConfigFile(name: String; version: Long; dst: Pointer; VAR status: Bool) <POP 20238-2023a StackAdj> Δ+16 {} <MI 2023a TST.B (A6-0x4)> {} <MI 2023e BNE 0x20272> {} <POP 20240-20272 Naked> Σ0 ↓ <Blob 0x20240 [38] @> Δ-38 {[«38""»]} <MI 20252 CLR.B -(A7)> Δ-2 {[«38""»]|[#0]} <POP 20254-20256 StackAdj> Δ-4 {[«38""»]|[#0]|[-4-]} <Lit 0x20256 37> {[«38""»]|[#0]|[$$Can't read configuration information.]} <Call 0x20268 0x103b8> {[«38""»]|[#0]|[$$Can't read configuration information.]} PopProgram(status : Byte; msg : String) <POP 2026e-20272 StackAdj> Δ+44 {} <POP 20272-2027a Epilogue> Σ0 ←0x201f8
@ 2027a <LVAR 0x008 4(r)> <LVAR -0x002 @> <POP 2027a-20368 Body> <POP 2027a-20290 Prologue> Σ0 ↓ <POP 20290-2029e RegCacheLoad> Σ0 ↓ <POP 2029e-202a6 Naked> Σ0 ↓ →0x202aa <MI 2029e TST.B 0x205b9> {} <MI 202a4 BEQ 0x202aa> {} <POP 202a6-202aa Naked> Σ0 →0x202ac <MI 202a6 MOVEQ.L #0x04,D6> {} <MI 202a8 BRA 0x202ac> {} <POP 202aa-202ac Naked> Σ0 ↓ ←0x2029e <MI 202aa MOVEQ.L #0x09,D6> {} <POP 202ac-202b4 Naked> Σ0 Δ-2 ↓ →0x202bc ←0x202a6 <MI 202ac MOVE.B D6,-(A7)> Δ-2 {[2, 'D6']} <MI 202ae MOVEQ.L #0x00,D7> {[2, 'D6']} <MI 202b0 CMP.B (A7),D7> {[2, 'D6']} <MI 202b2 BGT 0x202bc> {[2, 'D6']} <POP 202b4-202bc Naked> Σ-2 ↓ <MI 202b4 MOVE.B (A7),D0> {[-2-]} <POP 0x202b6 LimitCheck D0 ≤ 0x9> {[-2-]} <MI 202b6 CMP.B #0x09,D0> <MI 202b8 BLE 0x202bc> <MI 202ba TRAP #15> <POP 202bc-202c2 Naked> Σ-2 ↓ →0x2035e ←0x202ac ←0x202c2 <MI 202bc CMP.B (A7),D7> {[-2-]} <MI 202be BGT 0x2035e> {[-2-]} <POP 202c2-2035e Naked> Σ-2 ↓ →0x202bc <Blob 0x202c2 [10] @> Δ-10 {[-2-]|[«10""»]} <Blob 0x202d4 [2] @> Δ-2 {[-2-]|[«10""»]|[«2""»]} <MI 202d8 MOVE.B D7,D0> {[-2-]|[«10""»]|[«2""»]} <MI 202da EXTB.W D0> {[-2-]|[«10""»]|[«2""»]} <MI 202dc ASL.W #0x5,D0> {[-2-]|[«10""»]|[«2""»]} <MI 202de LEA.L 0x205ac,A0> {[-2-]|[«10""»]|[«2""»]} <Blob 0x202e4 [30] (A0+D0.W+#0x5b)> Δ-30 {[-2-]|[«10""»]|[«2""»]|[«30»]} <POP 202f4-202f6 StackAdj> Δ-8 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-8-]} <Lit 0x202f6 9> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[$$FIND/KEY=]} <MI 20300 MOVE.L (A6+0x8),(A7)> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']} <POP 202fe-20300 StackAdj> Δ-8 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-8-]} <Call 0x20304 0x102cc> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-8-]} StringDup(a : String) : String <Lit 0x2030a 2> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]} <POP 20314-20316 StackAdj> Δ-4 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]|[-4-]} <Lit 0x20316> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]|[$$…]} <Pointer.sp 0x20316 20> Δ-4 <Const 0x2031a 0x1.2> Δ-2 <Const 0x2031c 0x1e.2> Δ-2 <Call 0x2031e 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 20320-20322 StackAdj> Δ+8 <Call 0x20322 0x102d8> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]|[$$…]} StringCat4(a, b, c, d : String) : String <POP 20328-2032c StackAdj> Δ+16 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]} <MI 2032c MOVEA.L (A7)+,A4> Δ+4 {[-2-]|[«10""»]|[«2""»]|[«30»]} <POP 2032e-20332 StackAdj> Δ+38 {[-2-]|[-4-]} <POP 20332-20333 StackAdj> Δ+4 {[-2-]} <Blob 0x20333 [4] @> Δ-4 {[-2-]|[«4""»]} <POP 20336-20338 StackAdj> Δ-4 {[-2-]|[«4""»]|[-4-]} <Lit 0x20338 4> {[-2-]|[«4""»]|[$$SCAN]} <POP 20344-20346 StackAdj> Δ-4 {[-2-]|[«4""»]|[$$SCAN]|[-4-]} <MI 20346 MOVE.L A4,(A7)> {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']} <Const 0x20348 0x2.2> Δ-2 {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']|[#2]} <Pointer.fp 0x2034a <LVAR -0x002 @>> Δ-4 {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']|[#2]|[@@-2]} <Call 0x2034e 0x103b0> {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']|[#2]|[@@-2]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 20354-20358 StackAdj> Δ+18 {[-2-]} <MI 20358 ADDQ.B #0x1,D7> {[-2-]} <MI 2035a BVC 0x202bc> {[-2-]} <POP 2035e-20360 Naked> Σ-2 Δ+2 ↓ ←0x202bc <POP 2035e-20360 StackAdj> Δ+2 {} <POP 20360-20368 Epilogue> Σ0
@ 20368 START <POP 20368--0001 Body> <POP 20368-20372 Prologue> Σ0 <POP 20372-20378 RegCacheLoad> Σ0 ↓ <POP 20378-203a0 Naked> Σ0 ↓ <Call 0x20378 0x10398> {} FSCALL_10398 <Const 0x2037e 0x2074a.4> Δ-4 {[##132938]} <Call 0x20380 0x2016e> {[##132938]} <POP 20384-20386 StackAdj> Δ+4 {} <Call 0x20386 0x201de> {} <Blob 0x2038a [4] 0x2074a> Δ-4 {[«4»]} <Call 0x2038c 0x2027a> {[«4»]} <POP 20390-20392 StackAdj> Δ+2 {[-2-]} <MI 20392 CLR.B (A7)> {[-2-]} <Const 0x20394 0x1.4> Δ-4 {[-2-]|[##1]} <Call 0x20398 0x103b8> {[-2-]|[##1]} PopProgram(status : Byte; msg : String) <POP 2039e-203a0 StackAdj> Δ+6 {} <POP 203a0-203a6 Naked> Σ0 <Call 0x203a0 0x10284> {} ?exit
@ 203b4 PROG_FAIL <LVAR 0x008 1(r)> <POP 203b4-2041c Body> <POP 203b4-203ca Prologue> Σ0 ↓ <POP 203ca-20414 Naked> Σ0 ↓ <Blob 0x203ca [14] @> Δ-14 {[«14""»]} <Const 0x203d6 0x3.2> Δ-2 {[«14""»]|[#3]} <POP 203da-203dc StackAdj> Δ-8 {[«14""»]|[#3]|[-8-]} <Lit 0x203dc 14> {[«14""»]|[#3]|[-4-]|[$$Words error :_]} <POP 203ee-203f0 StackAdj> Δ-4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 203f0 MOVE.B (A6+0x8),D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 203f4 EXTB.W D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 203f6 EXTW.L D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 203f8 MOVE.L D0,-(A7)> Δ-4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']} <Call 0x203fa 0x102e4> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']} Long2String(a : Long) : String <POP 20400-20402 StackAdj> Δ+4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <Call 0x20402 0x102d0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} StringCat2(a, b : String) : String <POP 20408-2040a StackAdj> Δ+8 {[«14""»]|[#3]|[-4-]} <Call 0x2040a 0x103b8> {[«14""»]|[#3]|[-4-]} PopProgram(status : Byte; msg : String) <POP 20410-20414 StackAdj> Δ+20 {} <POP 20414-2041c Epilogue> Σ0
@ 20470 EXP_FAIL <LVAR 0x00e 1(r)> <LVAR 0x00a 4(r)> <LVAR 0x008 1(r)> <POP 20470-205ac Body> <POP 20470-20486 Prologue> Σ0 ↓ <POP 20486-2049c RegCacheLoad> Σ0 ↓ <POP 2049c-204fc Naked> Σ0 ↓ →0x20544 <Call 0x2049c 0x103dc> {} WriteConsoleCrLf(void) <Blob 0x204a2 [18] @> Δ-18 {[«18""»]} <POP 204ae-204b0 StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x204b0 18> {[«18""»]|[$$Experiment error :]} <Call 0x204bc 0x103e0> {[«18""»]|[$$Experiment error :]} WriteConsoleStringCrLf(str : String) <POP 204be-204bf StackAdj> Δ+22 ↓ {} <Blob 0x204bf [14] @> Δ-14 {[«14""»]} <POP 204ce-204d0 StackAdj> Δ-8 {[«14""»]|[-8-]} <Lit 0x204d0 13> {[«14""»]|[-4-]|[$$Board :_]} <POP 204da-204dc StackAdj> Δ-6 {[«14""»]|[-4-]|[$$Board :_]|[-6-]} <MI 204dc MOVE.B (A6+0xe),(A7)> {[«14""»]|[-4-]|[$$Board :_]|[-6-]} <Call 0x204e0 0x1049c> {[«14""»]|[-4-]|[$$Board :_]|[-6-]} BoardName(address : B) : String <POP 204e6-204e8 StackAdj> Δ+2 {[«14""»]|[-4-]|[$$Board :_]|[-4-]} <Call 0x204e8 0x102d0> {[«14""»]|[-4-]|[$$Board :_]|[-4-]} StringCat2(a, b : String) : String <POP 204ee-204f0 StackAdj> Δ+8 {[«14""»]|[-4-]} <Call 0x204f0 0x103e0> {[«14""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 204f2-204f4 StackAdj> Δ+18 {} <MI 204f4 MOVEA.L (A6+0xa),A0> {} <MI 204f8 CMPA.W #0x01,A0> {} <MI 204fa BEQ 0x20544> {} <POP 204fc-20544 Naked> Σ0 ↓ <Blob 0x204fc [14] @> Δ-14 {[«14""»]} <Blob 0x2050c [30] (A0+0xfc)> Δ-30 {[«14""»]|[«30»]} <POP 2051c-2051e StackAdj> Δ-8 {[«14""»]|[«30»]|[-8-]} <Lit 0x2051e 13> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]} <POP 20528-2052a StackAdj> Δ-4 {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]} <Lit 0x2052a> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]} <Pointer.sp 0x2052a 12> Δ-4 <Const 0x2052e 0x1.2> Δ-2 <Const 0x20530 0x1e.2> Δ-2 <Call 0x20532 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 20534-20536 StackAdj> Δ+8 <Call 0x20536 0x102d0> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]} StringCat2(a, b : String) : String <POP 2053c-2053e StackAdj> Δ+8 {[«14""»]|[«30»]|[-4-]} <Call 0x2053e 0x103e0> {[«14""»]|[«30»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 20540-20544 StackAdj> Δ+48 {} <POP 20544-205a4 Naked> Σ0 ↓ ←0x2049c <Blob 0x20544 [14] @> Δ-14 {[«14""»]} <POP 20554-20556 StackAdj> Δ-8 {[«14""»]|[-8-]} <Lit 0x20556 13> {[«14""»]|[-4-]|[$$Status :_]} <POP 20560-20562 StackAdj> Δ-6 {[«14""»]|[-4-]|[$$Status :_]|[-6-]} <MI 20562 MOVE.B (A6+0x8),(A7)> {[«14""»]|[-4-]|[$$Status :_]|[-6-]} <Call 0x20566 0x104a2> {[«14""»]|[-4-]|[$$Status :_]|[-6-]} ExpStatus2Text(status.B, &String) <POP 2056c-2056e StackAdj> Δ+2 {[«14""»]|[-4-]|[$$Status :_]|[-4-]} <Call 0x2056e 0x102d0> {[«14""»]|[-4-]|[$$Status :_]|[-4-]} StringCat2(a, b : String) : String <POP 20574-20576 StackAdj> Δ+8 {[«14""»]|[-4-]} <Call 0x20576 0x103e0> {[«14""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 20578-20579 StackAdj> Δ+18 ↓ {} <Blob 0x20579 [24] @> Δ-24 {[«24""»]} <Const 0x20588 0x2.2> Δ-2 {[«24""»]|[#2]} <POP 2058c-2058e StackAdj> Δ-4 {[«24""»]|[#2]|[-4-]} <Lit 0x2058e 23> {[«24""»]|[#2]|[$$Fatal experiment error.]} <Call 0x2059c 0x103b8> {[«24""»]|[#2]|[$$Fatal experiment error.]} PopProgram(status : Byte; msg : String) <POP 205a2-205a4 StackAdj> Δ+30 {} <POP 205a4-205ac Epilogue> Σ0
00020000 ; -------------------------------------------------------------------------------------- 00020000 ; R1000.Disassembly modules: 00020000 ; import all 00020000 ; import kind.program 00020000 ; no ident.9de38a00752ee37b 00020000 ; -------------------------------------------------------------------------------------- 00020000 stack.top: 00020000 00 04 00 00 | | .CODE 0x40000 ; STACK.END 00020004 00 02 03 68 | h | .CODE START 00020008 00 01 02 88 | | .CODE FSCALL_10288 0002000c heap.top: 0002000c 00 02 07 60 | ` | .PTR 0x20760 00020010 code.end: 00020010 00 02 05 ac | | .PTR 0x205ac 00020014 00 00 00 00 | | .CONST 0x00000000 00020018 programfailurehandler: 00020018 00 02 03 b4 | | .CODE PROG_FAIL 0002001c experimentfailurehandler: 0002001c 00 02 04 70 | p | .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 45 6e 74 65 72 20 63 6f |Enter co| .TXT 'Enter code segment name :_' 00020124 43 61 6e 27 74 20 72 65 |Can't re| .TXT 'Can't read configuration information. ' 0002014a 43 55 52 52 45 4e 54 2e |CURRENT.| .TXT 'CURRENT.M200_CONFIG ' 0002015e 46 49 4e 44 2f 4b 45 59 |FIND/KEY| .TXT 'FIND/KEY= ' 00020168 2c 20 |, | .TXT ', ' 0002016a 53 43 41 4e |SCAN | .TXT 'SCAN' 0002016e ; -------------------------------------------------------------------------------------- 0002016e ; OMSI PASCAL Function 0002016e ; <LVAR 0x008 4(r)> 0002016e ; <LVAR -0x004 @ 4(rw)> 0002016e ; -------------------------------------------------------------------------------------- 0002016e 4e 56 ff be |NV | LINK.W A6,#0xffbe 00020172 bf d5 | | CMPA.L (A5),A7 00020174 62 06 |b | BHI 0x2017c 00020176 44 fc 00 02 |D | MOVE.W #0x2,CCR 0002017a 4e 76 |Nv | TRAPV 0002017c de fc 00 3e | > | ADDA.W #0x3e,A7 00020180 48 e7 c0 c0 |H | MOVEM.L A1+A0+D1+D0,-(A7) 00020184 43 ee ff fc |C | LEA.L (A6-0x4),A1 00020188 72 1a |r | MOVEQ.L #0x1a,D1 0002018a 59 4f |YO | SUBQ.L #0x4,A7 0002018c 4e b9 00 01 03 c4 |N | JSR GetArgv() : String 00020192 22 9f |" | MOVE.L (A7)+,(A1) 00020194 20 51 | Q | MOVEA.L (A1),A0 00020196 4a 50 |JP | TST.W (A0) 00020198 66 36 |f6 | BNE 0x201d0 0002019a 48 51 |HQ | PEA.L (A1) 0002019c 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 000201a2 58 4f |XO | ADDQ.L #0x4,A7 000201a4 41 fa ff 7e |A ~ | LEA.L 0x20124,A0 000201a8 70 0c |p | MOVEQ.L #0x0c,D0 000201aa 3f 20 |? | MOVE.W -(A0),-(A7) 000201ac 51 c8 ff fc |Q | DBF D0,0x201aa 000201b0 51 4f |QO | SUBQ.L #0x8,A7 000201b2 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000201b6 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 000201ba 3f 01 |? | MOVE.W D1,-(A7) 000201bc 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000201c2 50 4f |PO | ADDQ.L #0x8,A7 000201c4 4e b9 00 01 03 e4 |N | JSR AskConsoleString(prompt : String) : String 000201ca 58 4f |XO | ADDQ.L #0x4,A7 000201cc 22 9f |" | MOVE.L (A7)+,(A1) 000201ce de c1 | | ADDA.W D1,A7 000201d0 20 6e 00 08 | n | MOVEA.L (A6+0x8),A0 000201d4 20 91 | | MOVE.L (A1),(A0) 000201d6 4c df 03 03 |L | MOVEM.L (A7)+,D0+D1+A0+A1 000201da 4e 5e |N^ | UNLK A6 000201dc 4e 75 |Nu | RTS 000201de ; -------------------------------------------------------------------------------------- 000201de ; OMSI PASCAL Function 000201de ; <LVAR -0x004 @ 1(r)> 000201de ; -------------------------------------------------------------------------------------- 000201de 4e 56 ff a8 |NV | LINK.W A6,#0xffa8 000201e2 bf d5 | | CMPA.L (A5),A7 000201e4 62 06 |b | BHI 0x201ec 000201e6 44 fc 00 02 |D | MOVE.W #0x2,CCR 000201ea 4e 76 |Nv | TRAPV 000201ec de fc 00 50 | P | ADDA.W #0x50,A7 000201f0 48 e7 e0 c8 |H | MOVEM.L A4+A1+A0+D2+D1+D0,-(A7) 000201f4 72 01 |r | MOVEQ.L #0x01,D1 000201f6 74 10 |t | MOVEQ.L #0x10,D2 000201f8 9e fc 00 14 | | SUBA.W #0x14,A7 000201fc 20 4f | O | MOVEA.L A7,A0 000201fe 43 fa ff 4a |C J | LEA.L 0x2014a,A1 00020202 70 12 |p | MOVEQ.L #0x12,D0 00020204 10 d9 | | MOVE.B (A1)+,(A0)+ 00020206 51 c8 ff fc |Q | DBF D0,0x20204 0002020a 59 4f |YO | SUBQ.L #0x4,A7 0002020c 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00020210 3f 01 |? | MOVE.W D1,-(A7) 00020212 3f 3c 00 13 |?< | MOVE.W #0x13,-(A7) 00020216 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 0002021c 50 4f |PO | ADDQ.L #0x8,A7 0002021e 28 5f |(_ | MOVEA.L (A7)+,A4 00020220 de c2 | | ADDA.W D2,A7 00020222 2e 8c |. | MOVE.L A4,(A7) 00020224 48 78 00 03 |Hx | PEA.L 0x3 00020228 48 79 00 02 05 b4 |Hy | PEA.L 0x205b4 0002022e 48 6e ff fc |Hn | PEA.L (A6-0x4) 00020232 4e b9 00 01 05 6e |N n | JSR Read_ConfigFile(name: String; version: Long; dst: Pointer; VAR status: Bool) 00020238 de c2 | | ADDA.W D2,A7 0002023a 4a 2e ff fc |J. | TST.B (A6-0x4) 0002023e 66 32 |f2 | BNE 0x20272 00020240 9e fc 00 26 | & | SUBA.W #0x26,A7 00020244 20 4f | O | MOVEA.L A7,A0 00020246 43 fa fe dc |C | LEA.L 0x20124,A1 0002024a 70 24 |p$ | MOVEQ.L #0x24,D0 0002024c 10 d9 | | MOVE.B (A1)+,(A0)+ 0002024e 51 c8 ff fc |Q | DBF D0,0x2024c 00020252 42 27 |B' | CLR.B -(A7) 00020254 59 4f |YO | SUBQ.L #0x4,A7 00020256 48 6f 00 06 |Ho | PEA.L (A7+0x6) 0002025a 3f 01 |? | MOVE.W D1,-(A7) 0002025c 3f 3c 00 25 |?< % | MOVE.W #0x25,-(A7) 00020260 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00020266 50 4f |PO | ADDQ.L #0x8,A7 00020268 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 0002026e de fc 00 2c | , | ADDA.W #0x2c,A7 00020272 4c df 13 07 |L | MOVEM.L (A7)+,D0+D1+D2+A0+A1+A4 00020276 4e 5e |N^ | UNLK A6 00020278 4e 75 |Nu | RTS 0002027a ; -------------------------------------------------------------------------------------- 0002027a ; OMSI PASCAL Function 0002027a ; <LVAR 0x008 4(r)> 0002027a ; <LVAR -0x002 @> 0002027a ; -------------------------------------------------------------------------------------- 0002027a 4e 56 ff 7c |NV | | LINK.W A6,#0xff7c 0002027e bf d5 | | CMPA.L (A5),A7 00020280 62 06 |b | BHI 0x20288 00020282 44 fc 00 02 |D | MOVE.W #0x2,CCR 00020286 4e 76 |Nv | TRAPV 00020288 de fc 00 7c | | | ADDA.W #0x7c,A7 0002028c 48 e7 fb e8 |H | MOVEM.L A4+A2+A1+A0+D7+D6+D4+D3+D2+D1+D0,-(A7) 00020290 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 00020296 72 01 |r | MOVEQ.L #0x01,D1 00020298 74 09 |t | MOVEQ.L #0x09,D2 0002029a 76 1e |v | MOVEQ.L #0x1e,D3 0002029c 78 02 |x | MOVEQ.L #0x02,D4 0002029e 4a 39 00 02 05 b9 |J9 | TST.B 0x205b9 000202a4 67 04 |g | BEQ 0x202aa 000202a6 7c 04 || | MOVEQ.L #0x04,D6 000202a8 60 02 |` | BRA 0x202ac 000202aa 7c 09 || | MOVEQ.L #0x09,D6 000202ac 1f 06 | | MOVE.B D6,-(A7) 000202ae 7e 00 |~ | MOVEQ.L #0x00,D7 000202b0 be 17 | | CMP.B (A7),D7 000202b2 6e 08 |n | BGT 0x202bc 000202b4 10 17 | | MOVE.B (A7),D0 000202b6 b0 02 | | CMP.B D2,D0 000202b8 6f 02 |o | BLE 0x202bc 000202ba 4e 4f |NO | TRAP #15 000202bc be 17 | | CMP.B (A7),D7 000202be 6e 00 00 9e |n | BGT 0x2035e 000202c2 9e fc 00 0a | | SUBA.W #0xa,A7 000202c6 20 4f | O | MOVEA.L A7,A0 000202c8 43 fa fe 94 |C | LEA.L 0x2015e,A1 000202cc 70 08 |p | MOVEQ.L #0x08,D0 000202ce 10 d9 | | MOVE.B (A1)+,(A0)+ 000202d0 51 c8 ff fc |Q | DBF D0,0x202ce 000202d4 3f 3a fe 92 |?: | MOVE.W 0x20168,-(A7) 000202d8 10 07 | | MOVE.B D7,D0 000202da 48 80 |H | EXTB.W D0 000202dc eb 40 | @ | ASL.W #0x5,D0 000202de 41 f9 00 02 05 ac |A | LEA.L 0x205ac,A0 000202e4 9e c3 | | SUBA.W D3,A7 000202e6 22 4f |"O | MOVEA.L A7,A1 000202e8 41 f0 00 5b |A [ | LEA.L (A0+D0.W+#0x5b),A0 000202ec 70 1d |p | MOVEQ.L #0x1d,D0 000202ee 12 d8 | | MOVE.B (A0)+,(A1)+ 000202f0 51 c8 ff fc |Q | DBF D0,0x202ee 000202f4 51 4f |QO | SUBQ.L #0x8,A7 000202f6 48 6f 00 28 |Ho ( | PEA.L (A7+0x28) 000202fa 3f 01 |? | MOVE.W D1,-(A7) 000202fc 3f 02 |? | MOVE.W D2,-(A7) 000202fe 4e 92 |N | JSR (A2) 00020300 2e ae 00 08 |. | MOVE.L (A6+0x8),(A7) 00020304 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 0002030a 48 6f 00 2e |Ho . | PEA.L (A7+0x2e) 0002030e 3f 01 |? | MOVE.W D1,-(A7) 00020310 3f 04 |? | MOVE.W D4,-(A7) 00020312 4e 92 |N | JSR (A2) 00020314 58 4f |XO | ADDQ.L #0x4,A7 00020316 48 6f 00 14 |Ho | PEA.L (A7+0x14) 0002031a 3f 01 |? | MOVE.W D1,-(A7) 0002031c 3f 03 |? | MOVE.W D3,-(A7) 0002031e 4e 92 |N | JSR (A2) 00020320 50 4f |PO | ADDQ.L #0x8,A7 00020322 4e b9 00 01 02 d8 |N | JSR StringCat4(a, b, c, d : String) : String 00020328 de fc 00 10 | | ADDA.W #0x10,A7 0002032c 28 5f |(_ | MOVEA.L (A7)+,A4 0002032e de fc 00 26 | & | ADDA.W #0x26,A7 00020332 2e ba fe 36 |. 6 | MOVE.L 0x2016a,(A7) 00020336 59 4f |YO | SUBQ.L #0x4,A7 00020338 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002033c 3f 01 |? | MOVE.W D1,-(A7) 0002033e 3f 3c 00 04 |?< | MOVE.W #0x4,-(A7) 00020342 4e 92 |N | JSR (A2) 00020344 58 4f |XO | ADDQ.L #0x4,A7 00020346 2e 8c |. | MOVE.L A4,(A7) 00020348 1f 04 | | MOVE.B D4,-(A7) 0002034a 48 6e ff fe |Hn | PEA.L (A6-0x2) 0002034e 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00020354 de fc 00 12 | | ADDA.W #0x12,A7 00020358 52 07 |R | ADDQ.B #0x1,D7 0002035a 68 00 ff 60 |h ` | BVC 0x202bc 0002035e 54 4f |TO | ADDQ.L #0x2,A7 00020360 4c df 17 df |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D6+D7+A0+A1+A2+A4 00020364 4e 5e |N^ | UNLK A6 00020366 4e 75 |Nu | RTS 00020368 ; -------------------------------------------------------------------------------------- 00020368 ; OMSI PASCAL Function 00020368 ; -------------------------------------------------------------------------------------- 00020368 START: 00020368 4f fa 00 08 |O | LEA.L MAIN,A7 0002036c 4e f9 00 01 02 80 |N | JMP ?start_program 00020372 MAIN: 00020372 41 f9 00 02 07 4a |A J | LEA.L 0x2074a,A0 00020378 4e b9 00 01 03 98 |N | JSR FSCALL_10398 0002037e 48 50 |HP | PEA.L (A0) 00020380 4e ba fd ec |N | JSR 0x2016e 00020384 58 4f |XO | ADDQ.L #0x4,A7 00020386 4e ba fe 56 |N V | JSR 0x201de 0002038a 2f 10 |/ | MOVE.L (A0),-(A7) 0002038c 4e ba fe ec |N | JSR 0x2027a 00020390 54 4f |TO | ADDQ.L #0x2,A7 00020392 42 17 |B | CLR.B (A7) 00020394 48 78 00 01 |Hx | PEA.L 0x1 00020398 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 0002039e 5c 4f |\O | ADDQ.L #0x6,A7 000203a0 4e b9 00 01 02 84 |N | JSR ?exit 000203a6 57 6f 72 64 73 20 65 72 |Words er| .TXT 'Words error :_' 000203b4 ; -------------------------------------------------------------------------------------- 000203b4 ; OMSI PASCAL Function 000203b4 ; <LVAR 0x008 1(r)> 000203b4 ; -------------------------------------------------------------------------------------- 000203b4 PROG_FAIL: 000203b4 4e 56 ff d2 |NV | LINK.W A6,#0xffd2 000203b8 bf d5 | | CMPA.L (A5),A7 000203ba 62 06 |b | BHI 0x203c2 000203bc 44 fc 00 02 |D | MOVE.W #0x2,CCR 000203c0 4e 76 |Nv | TRAPV 000203c2 de fc 00 2c | , | ADDA.W #0x2c,A7 000203c6 48 e7 80 80 |H | MOVEM.L A0+D0,-(A7) 000203ca 41 fa ff e8 |A | LEA.L PROG_FAIL,A0 000203ce 70 06 |p | MOVEQ.L #0x06,D0 000203d0 3f 20 |? | MOVE.W -(A0),-(A7) 000203d2 51 c8 ff fc |Q | DBF D0,0x203d0 000203d6 1f 3c 00 03 | < | MOVE.B #0x03,-(A7) 000203da 51 4f |QO | SUBQ.L #0x8,A7 000203dc 48 6f 00 0a |Ho | PEA.L (A7+0xa) 000203e0 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 000203e4 3f 3c 00 0e |?< | MOVE.W #0xe,-(A7) 000203e8 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000203ee 58 4f |XO | ADDQ.L #0x4,A7 000203f0 10 2e 00 08 | . | MOVE.B (A6+0x8),D0 000203f4 48 80 |H | EXTB.W D0 000203f6 48 c0 |H | EXTW.L D0 000203f8 2f 00 |/ | MOVE.L D0,-(A7) 000203fa 4e b9 00 01 02 e4 |N | JSR Long2String(a : Long) : String 00020400 58 4f |XO | ADDQ.L #0x4,A7 00020402 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00020408 50 4f |PO | ADDQ.L #0x8,A7 0002040a 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 00020410 de fc 00 14 | | ADDA.W #0x14,A7 00020414 4c df 01 01 |L | MOVEM.L (A7)+,D0+A0 00020418 4e 5e |N^ | UNLK A6 0002041a 4e 75 |Nu | RTS 0002041c 42 6f 61 72 64 20 20 20 |Board | .TXT 'Board :_ ' 0002042a 45 78 70 65 72 69 6d 65 |Experime| .TXT 'Experiment :_ ' 00020438 53 74 61 74 75 73 20 20 |Status | .TXT 'Status :_ ' 00020446 45 78 70 65 72 69 6d 65 |Experime| .TXT 'Experiment error :' 00020458 46 61 74 61 6c 20 65 78 |Fatal ex| .TXT 'Fatal experiment error. ' 00020470 ; -------------------------------------------------------------------------------------- 00020470 ; OMSI PASCAL Function 00020470 ; <LVAR 0x00e 1(r)> 00020470 ; <LVAR 0x00a 4(r)> 00020470 ; <LVAR 0x008 1(r)> 00020470 ; -------------------------------------------------------------------------------------- 00020470 EXP_FAIL: 00020470 4e 56 ff 8c |NV | LINK.W A6,#0xff8c 00020474 bf d5 | | CMPA.L (A5),A7 00020476 62 06 |b | BHI 0x2047e 00020478 44 fc 00 02 |D | MOVE.W #0x2,CCR 0002047c 4e 76 |Nv | TRAPV 0002047e de fc 00 74 | t | ADDA.W #0x74,A7 00020482 48 e7 fc f8 |H | MOVEM.L A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7) 00020486 47 f9 00 01 02 c4 |G | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A3 0002048c 49 f9 00 01 03 e0 |I | LEA.L WriteConsoleStringCrLf(str : String),A4 00020492 72 01 |r | MOVEQ.L #0x01,D1 00020494 74 0d |t | MOVEQ.L #0x0d,D2 00020496 76 1e |v | MOVEQ.L #0x1e,D3 00020498 78 12 |x | MOVEQ.L #0x12,D4 0002049a 7a 0e |z | MOVEQ.L #0x0e,D5 0002049c 4e b9 00 01 03 dc |N | JSR WriteConsoleCrLf(void) 000204a2 41 fa ff b4 |A | LEA.L 0x20458,A0 000204a6 70 08 |p | MOVEQ.L #0x08,D0 000204a8 3f 20 |? | MOVE.W -(A0),-(A7) 000204aa 51 c8 ff fc |Q | DBF D0,0x204a8 000204ae 59 4f |YO | SUBQ.L #0x4,A7 000204b0 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000204b4 3f 01 |? | MOVE.W D1,-(A7) 000204b6 3f 04 |? | MOVE.W D4,-(A7) 000204b8 4e 93 |N | JSR (A3) 000204ba 50 4f |PO | ADDQ.L #0x8,A7 000204bc 4e 94 |N | JSR (A4) 000204be 50 4f |PO | ADDQ.L #0x8,A7 000204c0 20 4f | O | MOVEA.L A7,A0 000204c2 43 fa ff 58 |C X | LEA.L 0x2041c,A1 000204c6 70 0c |p | MOVEQ.L #0x0c,D0 000204c8 10 d9 | | MOVE.B (A1)+,(A0)+ 000204ca 51 c8 ff fc |Q | DBF D0,0x204c8 000204ce 51 4f |QO | SUBQ.L #0x8,A7 000204d0 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000204d4 3f 01 |? | MOVE.W D1,-(A7) 000204d6 3f 02 |? | MOVE.W D2,-(A7) 000204d8 4e 93 |N | JSR (A3) 000204da 54 4f |TO | ADDQ.L #0x2,A7 000204dc 1e ae 00 0e | | MOVE.B (A6+0xe),(A7) 000204e0 4e b9 00 01 04 9c |N | JSR BoardName(address : B) : String 000204e6 54 4f |TO | ADDQ.L #0x2,A7 000204e8 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 000204ee 50 4f |PO | ADDQ.L #0x8,A7 000204f0 4e 94 |N | JSR (A4) 000204f2 de c4 | | ADDA.W D4,A7 000204f4 20 6e 00 0a | n | MOVEA.L (A6+0xa),A0 000204f8 b0 c1 | | CMPA.W D1,A0 000204fa 67 48 |gH | BEQ 0x20544 000204fc 9e c5 | | SUBA.W D5,A7 000204fe 22 4f |"O | MOVEA.L A7,A1 00020500 45 fa ff 28 |E ( | LEA.L 0x2042a,A2 00020504 70 0c |p | MOVEQ.L #0x0c,D0 00020506 12 da | | MOVE.B (A2)+,(A1)+ 00020508 51 c8 ff fc |Q | DBF D0,0x20506 0002050c 9e c3 | | SUBA.W D3,A7 0002050e 22 4f |"O | MOVEA.L A7,A1 00020510 41 e8 00 fc |A | LEA.L (A0+0xfc),A0 00020514 70 1d |p | MOVEQ.L #0x1d,D0 00020516 12 d8 | | MOVE.B (A0)+,(A1)+ 00020518 51 c8 ff fc |Q | DBF D0,0x20516 0002051c 51 4f |QO | SUBQ.L #0x8,A7 0002051e 48 6f 00 26 |Ho & | PEA.L (A7+0x26) 00020522 3f 01 |? | MOVE.W D1,-(A7) 00020524 3f 02 |? | MOVE.W D2,-(A7) 00020526 4e 93 |N | JSR (A3) 00020528 58 4f |XO | ADDQ.L #0x4,A7 0002052a 48 6f 00 0c |Ho | PEA.L (A7+0xc) 0002052e 3f 01 |? | MOVE.W D1,-(A7) 00020530 3f 03 |? | MOVE.W D3,-(A7) 00020532 4e 93 |N | JSR (A3) 00020534 50 4f |PO | ADDQ.L #0x8,A7 00020536 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 0002053c 50 4f |PO | ADDQ.L #0x8,A7 0002053e 4e 94 |N | JSR (A4) 00020540 de fc 00 30 | 0 | ADDA.W #0x30,A7 00020544 9e c5 | | SUBA.W D5,A7 00020546 20 4f | O | MOVEA.L A7,A0 00020548 43 fa fe ee |C | LEA.L 0x20438,A1 0002054c 70 0c |p | MOVEQ.L #0x0c,D0 0002054e 10 d9 | | MOVE.B (A1)+,(A0)+ 00020550 51 c8 ff fc |Q | DBF D0,0x2054e 00020554 51 4f |QO | SUBQ.L #0x8,A7 00020556 48 6f 00 08 |Ho | PEA.L (A7+0x8) 0002055a 3f 01 |? | MOVE.W D1,-(A7) 0002055c 3f 02 |? | MOVE.W D2,-(A7) 0002055e 4e 93 |N | JSR (A3) 00020560 54 4f |TO | ADDQ.L #0x2,A7 00020562 1e ae 00 08 | | MOVE.B (A6+0x8),(A7) 00020566 4e b9 00 01 04 a2 |N | JSR ExpStatus2Text(status.B, &String) 0002056c 54 4f |TO | ADDQ.L #0x2,A7 0002056e 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00020574 50 4f |PO | ADDQ.L #0x8,A7 00020576 4e 94 |N | JSR (A4) 00020578 5d 4f |]O | SUBQ.L #0x6,A7 0002057a 20 4f | O | MOVEA.L A7,A0 0002057c 43 fa fe da |C | LEA.L 0x20458,A1 00020580 70 16 |p | MOVEQ.L #0x16,D0 00020582 10 d9 | | MOVE.B (A1)+,(A0)+ 00020584 51 c8 ff fc |Q | DBF D0,0x20582 00020588 1f 3c 00 02 | < | MOVE.B #0x02,-(A7) 0002058c 59 4f |YO | SUBQ.L #0x4,A7 0002058e 48 6f 00 06 |Ho | PEA.L (A7+0x6) 00020592 3f 01 |? | MOVE.W D1,-(A7) 00020594 3f 3c 00 17 |?< | MOVE.W #0x17,-(A7) 00020598 4e 93 |N | JSR (A3) 0002059a 50 4f |PO | ADDQ.L #0x8,A7 0002059c 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 000205a2 de c3 | | ADDA.W D3,A7 000205a4 4c df 1f 3f |L ? | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4 000205a8 4e 5e |N^ | UNLK A6 000205aa 4e 75 |Nu | RTS