|
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: @(#)FINDSEG,1.1,92/07/09,12:00:00, M200_PROGRAM Names: »FINDSEG.M200«
└─⟦b4205821b⟧ Bits:30000743 8mm tape, Rational 1000, DFS, D_12_7_3 SEQ288 └─ ⟦this⟧ »FINDSEG.M200« └─⟦bc1274df5⟧ Bits:30000750 8mm tape, Rational 1000, DFS backup from PAM's R1000 └─ ⟦this⟧ »FINDSEG.M200«
@ 20190 <LVAR 0x008 4(r)> <LVAR -0x004 @ 4(rw)> <POP 20190-20200 Body> <POP 20190-201a6 Prologue> Σ0 ↓ <POP 201a6-201ac RegCacheLoad> Σ0 ↓ <POP 201ac-201bc Naked> Σ0 ↓ →0x201f2 <POP 201ac-201ae StackAdj> Δ-4 {[-4-]} <Call 0x201ae 0x103c4> {[-4-]} GetArgv() : String <MI 201b4 MOVE.L (A7)+,(A6-0x4)> Δ+4 {} <MI 201b6 MOVEA.L (A6-0x4),A0> {} <MI 201b8 TST.W (A0)> {} <MI 201ba BNE 0x201f2> {} <POP 201bc-201f2 Naked> Σ0 ↓ <Pointer.fp 0x201bc <LVAR -0x004 @ 4(rw)>> Δ-4 {[@@-4]} <Call 0x201be 0x102bc> {[@@-4]} FreeString(VAR a : String) <POP 201c4-201c6 StackAdj> Δ+4 {} <Blob 0x201c6 [26] @> Δ-26 {[«26""»]} <POP 201d2-201d4 StackAdj> Δ-8 {[«26""»]|[-8-]} <Lit 0x201d4 26> {[«26""»]|[-4-]|[$$Enter code segment name :_]} <Call 0x201e6 0x103e4> {[«26""»]|[-4-]|[$$Enter code segment name :_]} AskConsoleString(prompt : String) : String <POP 201ec-201ee StackAdj> Δ+4 {[«26""»]|[-4-]} <MI 201ee MOVE.L (A7)+,(A6-0x4)> Δ+4 {[«26""»]} <POP 201f0-201f2 StackAdj> Δ+26 {} <POP 201f2-201f8 Naked> Σ0 ↓ ←0x201ac <MI 201f2 MOVEA.L (A6+0x8),A0> {} <MI 201f6 MOVE.L (A6-0x4),(A0)> {} <POP 201f8-20200 Epilogue> Σ0
@ 20200 <LVAR -0x004 @ 1(r)> <POP 20200-2029c Body> <POP 20200-20216 Prologue> Σ0 ↓ <POP 20216-2021a RegCacheLoad> Σ0 ↓ <POP 2021a-20262 Naked> Σ0 ↓ →0x20294 <Blob 0x2021a [20] @> Δ-20 {[«20""»]} <POP 2022c-2022e StackAdj> Δ-4 {[«20""»]|[-4-]} <Lit 0x2022e 19> {[«20""»]|[$$CURRENT.M200_CONFIG]} <MI 20240 MOVEA.L (A7)+,A4> Δ+4 {[«20""»]} <POP 20242-20244 StackAdj> Δ+16 {[-4-]} <MI 20244 MOVE.L A4,(A7)> {[4, 'A4']} <Const 0x20246 0x3.4> Δ-4 {[4, 'A4']|[##3]} <Const 0x2024a 0x205d6.4> Δ-4 {[4, 'A4']|[##3]|[##132566]} <Pointer.fp 0x20250 <LVAR -0x004 @ 1(r)>> Δ-4 {[4, 'A4']|[##3]|[##132566]|[@@-4]} <Call 0x20254 0x1056e> {[4, 'A4']|[##3]|[##132566]|[@@-4]} Read_ConfigFile(name: String; version: Long; dst: Pointer; VAR status: Bool) <POP 2025a-2025c StackAdj> Δ+16 {} <MI 2025c TST.B (A6-0x4)> {} <MI 20260 BNE 0x20294> {} <POP 20262-20294 Naked> Σ0 ↓ <Blob 0x20262 [38] @> Δ-38 {[«38""»]} <MI 20274 CLR.B -(A7)> Δ-2 {[«38""»]|[#0]} <POP 20276-20278 StackAdj> Δ-4 {[«38""»]|[#0]|[-4-]} <Lit 0x20278 37> {[«38""»]|[#0]|[$$Can't read configuration information.]} <Call 0x2028a 0x103b8> {[«38""»]|[#0]|[$$Can't read configuration information.]} PopProgram(status : Byte; msg : String) <POP 20290-20294 StackAdj> Δ+44 {} <POP 20294-2029c Epilogue> Σ0 ←0x2021a
@ 2029c <LVAR 0x008 4(r)> <LVAR -0x002 @> <POP 2029c-2038a Body> <POP 2029c-202b2 Prologue> Σ0 ↓ <POP 202b2-202c0 RegCacheLoad> Σ0 ↓ <POP 202c0-202c8 Naked> Σ0 ↓ →0x202cc <MI 202c0 TST.B 0x205db> {} <MI 202c6 BEQ 0x202cc> {} <POP 202c8-202cc Naked> Σ0 →0x202ce <MI 202c8 MOVEQ.L #0x04,D6> {} <MI 202ca BRA 0x202ce> {} <POP 202cc-202ce Naked> Σ0 ↓ ←0x202c0 <MI 202cc MOVEQ.L #0x09,D6> {} <POP 202ce-202d6 Naked> Σ0 Δ-2 ↓ →0x202de ←0x202c8 <MI 202ce MOVE.B D6,-(A7)> Δ-2 {[2, 'D6']} <MI 202d0 MOVEQ.L #0x00,D7> {[2, 'D6']} <MI 202d2 CMP.B (A7),D7> {[2, 'D6']} <MI 202d4 BGT 0x202de> {[2, 'D6']} <POP 202d6-202de Naked> Σ-2 ↓ <MI 202d6 MOVE.B (A7),D0> {[-2-]} <POP 0x202d8 LimitCheck D0 ≤ 0x9> {[-2-]} <MI 202d8 CMP.B #0x09,D0> <MI 202da BLE 0x202de> <MI 202dc TRAP #15> <POP 202de-202e4 Naked> Σ-2 ↓ →0x20380 ←0x202ce ←0x202e4 <MI 202de CMP.B (A7),D7> {[-2-]} <MI 202e0 BGT 0x20380> {[-2-]} <POP 202e4-20380 Naked> Σ-2 ↓ →0x202de <Blob 0x202e4 [10] @> Δ-10 {[-2-]|[«10""»]} <Blob 0x202f6 [2] @> Δ-2 {[-2-]|[«10""»]|[«2""»]} <MI 202fa MOVE.B D7,D0> {[-2-]|[«10""»]|[«2""»]} <MI 202fc EXTB.W D0> {[-2-]|[«10""»]|[«2""»]} <MI 202fe ASL.W #0x5,D0> {[-2-]|[«10""»]|[«2""»]} <MI 20300 LEA.L 0x205ce,A0> {[-2-]|[«10""»]|[«2""»]} <Blob 0x20306 [30] (A0+D0.W+#0x5b)> Δ-30 {[-2-]|[«10""»]|[«2""»]|[«30»]} <POP 20316-20318 StackAdj> Δ-8 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-8-]} <Lit 0x20318 9> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[$$FIND/KEY=]} <MI 20322 MOVE.L (A6+0x8),(A7)> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']} <POP 20320-20322 StackAdj> Δ-8 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-8-]} <Call 0x20326 0x102cc> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-8-]} StringDup(a : String) : String <Lit 0x2032c 2> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]} <POP 20336-20338 StackAdj> Δ-4 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]|[-4-]} <Lit 0x20338> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]|[$$…]} <Pointer.sp 0x20338 20> Δ-4 <Const 0x2033c 0x1.2> Δ-2 <Const 0x2033e 0x1e.2> Δ-2 <Call 0x20340 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 20342-20344 StackAdj> Δ+8 <Call 0x20344 0x102d8> {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]|[4, '(A6+0x8)']|[-4-]|[$$, ]|[$$…]} StringCat4(a, b, c, d : String) : String <POP 2034a-2034e StackAdj> Δ+16 {[-2-]|[«10""»]|[«2""»]|[«30»]|[-4-]} <MI 2034e MOVEA.L (A7)+,A4> Δ+4 {[-2-]|[«10""»]|[«2""»]|[«30»]} <POP 20350-20354 StackAdj> Δ+38 {[-2-]|[-4-]} <POP 20354-20355 StackAdj> Δ+4 {[-2-]} <Blob 0x20355 [4] @> Δ-4 {[-2-]|[«4""»]} <POP 20358-2035a StackAdj> Δ-4 {[-2-]|[«4""»]|[-4-]} <Lit 0x2035a 4> {[-2-]|[«4""»]|[$$SCAN]} <POP 20366-20368 StackAdj> Δ-4 {[-2-]|[«4""»]|[$$SCAN]|[-4-]} <MI 20368 MOVE.L A4,(A7)> {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']} <Const 0x2036a 0x2.2> Δ-2 {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']|[#2]} <Pointer.fp 0x2036c <LVAR -0x002 @>> Δ-4 {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']|[#2]|[@@-2]} <Call 0x20370 0x103b0> {[-2-]|[«4""»]|[$$SCAN]|[4, 'A4']|[#2]|[@@-2]} PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) <POP 20376-2037a StackAdj> Δ+18 {[-2-]} <MI 2037a ADDQ.B #0x1,D7> {[-2-]} <MI 2037c BVC 0x202de> {[-2-]} <POP 20380-20382 Naked> Σ-2 Δ+2 ↓ ←0x202de <POP 20380-20382 StackAdj> Δ+2 {} <POP 20382-2038a Epilogue> Σ0
@ 2038a START <POP 2038a--0001 Body> <POP 2038a-20394 Prologue> Σ0 <POP 20394-2039a RegCacheLoad> Σ0 ↓ <POP 2039a-203c2 Naked> Σ0 ↓ <Call 0x2039a 0x10398> {} FSCALL_10398 <Const 0x203a0 0x2076c.4> Δ-4 {[##132972]} <Call 0x203a2 0x20190> {[##132972]} <POP 203a6-203a8 StackAdj> Δ+4 {} <Call 0x203a8 0x20200> {} <Blob 0x203ac [4] 0x2076c> Δ-4 {[«4»]} <Call 0x203ae 0x2029c> {[«4»]} <POP 203b2-203b4 StackAdj> Δ+2 {[-2-]} <MI 203b4 CLR.B (A7)> {[-2-]} <Const 0x203b6 0x1.4> Δ-4 {[-2-]|[##1]} <Call 0x203ba 0x103b8> {[-2-]|[##1]} PopProgram(status : Byte; msg : String) <POP 203c0-203c2 StackAdj> Δ+6 {} <POP 203c2-203c8 Naked> Σ0 <Call 0x203c2 0x10284> {} ?exit
@ 203d6 PROG_FAIL <LVAR 0x008 1(r)> <POP 203d6-2043e Body> <POP 203d6-203ec Prologue> Σ0 ↓ <POP 203ec-20436 Naked> Σ0 ↓ <Blob 0x203ec [14] @> Δ-14 {[«14""»]} <Const 0x203f8 0x3.2> Δ-2 {[«14""»]|[#3]} <POP 203fc-203fe StackAdj> Δ-8 {[«14""»]|[#3]|[-8-]} <Lit 0x203fe 14> {[«14""»]|[#3]|[-4-]|[$$Words error :_]} <POP 20410-20412 StackAdj> Δ-4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 20412 MOVE.B (A6+0x8),D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 20416 EXTB.W D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 20418 EXTW.L D0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <MI 2041a MOVE.L D0,-(A7)> Δ-4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']} <Call 0x2041c 0x102e4> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']} Long2String(a : Long) : String <POP 20422-20424 StackAdj> Δ+4 {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} <Call 0x20424 0x102d0> {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]} StringCat2(a, b : String) : String <POP 2042a-2042c StackAdj> Δ+8 {[«14""»]|[#3]|[-4-]} <Call 0x2042c 0x103b8> {[«14""»]|[#3]|[-4-]} PopProgram(status : Byte; msg : String) <POP 20432-20436 StackAdj> Δ+20 {} <POP 20436-2043e Epilogue> Σ0
@ 20492 EXP_FAIL <LVAR 0x00e 1(r)> <LVAR 0x00a 4(r)> <LVAR 0x008 1(r)> <POP 20492-205ce Body> <POP 20492-204a8 Prologue> Σ0 ↓ <POP 204a8-204be RegCacheLoad> Σ0 ↓ <POP 204be-2051e Naked> Σ0 ↓ →0x20566 <Call 0x204be 0x103dc> {} WriteConsoleCrLf(void) <Blob 0x204c4 [18] @> Δ-18 {[«18""»]} <POP 204d0-204d2 StackAdj> Δ-4 {[«18""»]|[-4-]} <Lit 0x204d2 18> {[«18""»]|[$$Experiment error :]} <Call 0x204de 0x103e0> {[«18""»]|[$$Experiment error :]} WriteConsoleStringCrLf(str : String) <POP 204e0-204e1 StackAdj> Δ+22 ↓ {} <Blob 0x204e1 [14] @> Δ-14 {[«14""»]} <POP 204f0-204f2 StackAdj> Δ-8 {[«14""»]|[-8-]} <Lit 0x204f2 13> {[«14""»]|[-4-]|[$$Board :_]} <POP 204fc-204fe StackAdj> Δ-6 {[«14""»]|[-4-]|[$$Board :_]|[-6-]} <MI 204fe MOVE.B (A6+0xe),(A7)> {[«14""»]|[-4-]|[$$Board :_]|[-6-]} <Call 0x20502 0x1049c> {[«14""»]|[-4-]|[$$Board :_]|[-6-]} BoardName(address : B) : String <POP 20508-2050a StackAdj> Δ+2 {[«14""»]|[-4-]|[$$Board :_]|[-4-]} <Call 0x2050a 0x102d0> {[«14""»]|[-4-]|[$$Board :_]|[-4-]} StringCat2(a, b : String) : String <POP 20510-20512 StackAdj> Δ+8 {[«14""»]|[-4-]} <Call 0x20512 0x103e0> {[«14""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 20514-20516 StackAdj> Δ+18 {} <MI 20516 MOVEA.L (A6+0xa),A0> {} <MI 2051a CMPA.W #0x01,A0> {} <MI 2051c BEQ 0x20566> {} <POP 2051e-20566 Naked> Σ0 ↓ <Blob 0x2051e [14] @> Δ-14 {[«14""»]} <Blob 0x2052e [30] (A0+0xfc)> Δ-30 {[«14""»]|[«30»]} <POP 2053e-20540 StackAdj> Δ-8 {[«14""»]|[«30»]|[-8-]} <Lit 0x20540 13> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]} <POP 2054a-2054c StackAdj> Δ-4 {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]} <Lit 0x2054c> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]} <Pointer.sp 0x2054c 12> Δ-4 <Const 0x20550 0x1.2> Δ-2 <Const 0x20552 0x1e.2> Δ-2 <Call 0x20554 0x102c4> StringLit(Src : Pointer; Offset: W; Len : W) : String <POP 20556-20558 StackAdj> Δ+8 <Call 0x20558 0x102d0> {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]} StringCat2(a, b : String) : String <POP 2055e-20560 StackAdj> Δ+8 {[«14""»]|[«30»]|[-4-]} <Call 0x20560 0x103e0> {[«14""»]|[«30»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 20562-20566 StackAdj> Δ+48 {} <POP 20566-205c6 Naked> Σ0 ↓ ←0x204be <Blob 0x20566 [14] @> Δ-14 {[«14""»]} <POP 20576-20578 StackAdj> Δ-8 {[«14""»]|[-8-]} <Lit 0x20578 13> {[«14""»]|[-4-]|[$$Status :_]} <POP 20582-20584 StackAdj> Δ-6 {[«14""»]|[-4-]|[$$Status :_]|[-6-]} <MI 20584 MOVE.B (A6+0x8),(A7)> {[«14""»]|[-4-]|[$$Status :_]|[-6-]} <Call 0x20588 0x104a2> {[«14""»]|[-4-]|[$$Status :_]|[-6-]} ExpStatus2Text(status.B, &String) <POP 2058e-20590 StackAdj> Δ+2 {[«14""»]|[-4-]|[$$Status :_]|[-4-]} <Call 0x20590 0x102d0> {[«14""»]|[-4-]|[$$Status :_]|[-4-]} StringCat2(a, b : String) : String <POP 20596-20598 StackAdj> Δ+8 {[«14""»]|[-4-]} <Call 0x20598 0x103e0> {[«14""»]|[-4-]} WriteConsoleStringCrLf(str : String) <POP 2059a-2059b StackAdj> Δ+18 ↓ {} <Blob 0x2059b [24] @> Δ-24 {[«24""»]} <Const 0x205aa 0x2.2> Δ-2 {[«24""»]|[#2]} <POP 205ae-205b0 StackAdj> Δ-4 {[«24""»]|[#2]|[-4-]} <Lit 0x205b0 23> {[«24""»]|[#2]|[$$Fatal experiment error.]} <Call 0x205be 0x103b8> {[«24""»]|[#2]|[$$Fatal experiment error.]} PopProgram(status : Byte; msg : String) <POP 205c4-205c6 StackAdj> Δ+30 {} <POP 205c6-205ce Epilogue> Σ0
00020000 ; -------------------------------------------------------------------------------------- 00020000 ; R1000.Disassembly modules: 00020000 ; import all 00020000 ; import kind.program 00020000 ; no ident.1b6c4eebcfed1dbf 00020000 ; -------------------------------------------------------------------------------------- 00020000 stack.top: 00020000 00 04 00 00 | | .CODE 0x40000 ; STACK.END 00020004 00 02 03 8a | | .CODE START 00020008 00 01 02 88 | | .CODE FSCALL_10288 0002000c heap.top: 0002000c 00 02 07 82 | | .PTR 0x20782 00020010 code.end: 00020010 00 02 05 ce | | .PTR 0x205ce 00020014 00 00 00 00 | | .CONST 0x00000000 00020018 programfailurehandler: 00020018 00 02 03 d6 | | .CODE PROG_FAIL 0002001c experimentfailurehandler: 0002001c 00 02 04 92 | | .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 49 |@(#)FI | .XXX[0x6] 00020110 4e 44 53 45 47 2c 31 2e |NDSEG,1.| .XXX[0x18] 00020118 31 2c 39 32 2f 30 37 2f |1,92/07/| 00020120 30 39 2c 31 32 3a 30 30 |09,12:00| 00020128 3a 30 30 5c |:00\ | .XXX[0x4] 0002012c 45 6e 74 65 72 20 63 6f |Enter co| .TXT 'Enter code segment name :_' 00020146 43 61 6e 27 74 20 72 65 |Can't re| .TXT 'Can't read configuration information. ' 0002016c 43 55 52 52 45 4e 54 2e |CURRENT.| .TXT 'CURRENT.M200_CONFIG ' 00020180 46 49 4e 44 2f 4b 45 59 |FIND/KEY| .TXT 'FIND/KEY= ' 0002018a 2c 20 |, | .TXT ', ' 0002018c 53 43 41 4e |SCAN | .TXT 'SCAN' 00020190 ; -------------------------------------------------------------------------------------- 00020190 ; OMSI PASCAL Function 00020190 ; <LVAR 0x008 4(r)> 00020190 ; <LVAR -0x004 @ 4(rw)> 00020190 ; -------------------------------------------------------------------------------------- 00020190 4e 56 ff be |NV | LINK.W A6,#0xffbe 00020194 bf d5 | | CMPA.L (A5),A7 00020196 62 06 |b | BHI 0x2019e 00020198 44 fc 00 02 |D | MOVE.W #0x2,CCR 0002019c 4e 76 |Nv | TRAPV 0002019e de fc 00 3e | > | ADDA.W #0x3e,A7 000201a2 48 e7 c0 c0 |H | MOVEM.L A1+A0+D1+D0,-(A7) 000201a6 43 ee ff fc |C | LEA.L (A6-0x4),A1 000201aa 72 1a |r | MOVEQ.L #0x1a,D1 000201ac 59 4f |YO | SUBQ.L #0x4,A7 000201ae 4e b9 00 01 03 c4 |N | JSR GetArgv() : String 000201b4 22 9f |" | MOVE.L (A7)+,(A1) 000201b6 20 51 | Q | MOVEA.L (A1),A0 000201b8 4a 50 |JP | TST.W (A0) 000201ba 66 36 |f6 | BNE 0x201f2 000201bc 48 51 |HQ | PEA.L (A1) 000201be 4e b9 00 01 02 bc |N | JSR FreeString(VAR a : String) 000201c4 58 4f |XO | ADDQ.L #0x4,A7 000201c6 41 fa ff 7e |A ~ | LEA.L 0x20146,A0 000201ca 70 0c |p | MOVEQ.L #0x0c,D0 000201cc 3f 20 |? | MOVE.W -(A0),-(A7) 000201ce 51 c8 ff fc |Q | DBF D0,0x201cc 000201d2 51 4f |QO | SUBQ.L #0x8,A7 000201d4 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000201d8 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 000201dc 3f 01 |? | MOVE.W D1,-(A7) 000201de 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 000201e4 50 4f |PO | ADDQ.L #0x8,A7 000201e6 4e b9 00 01 03 e4 |N | JSR AskConsoleString(prompt : String) : String 000201ec 58 4f |XO | ADDQ.L #0x4,A7 000201ee 22 9f |" | MOVE.L (A7)+,(A1) 000201f0 de c1 | | ADDA.W D1,A7 000201f2 20 6e 00 08 | n | MOVEA.L (A6+0x8),A0 000201f6 20 91 | | MOVE.L (A1),(A0) 000201f8 4c df 03 03 |L | MOVEM.L (A7)+,D0+D1+A0+A1 000201fc 4e 5e |N^ | UNLK A6 000201fe 4e 75 |Nu | RTS 00020200 ; -------------------------------------------------------------------------------------- 00020200 ; OMSI PASCAL Function 00020200 ; <LVAR -0x004 @ 1(r)> 00020200 ; -------------------------------------------------------------------------------------- 00020200 4e 56 ff a8 |NV | LINK.W A6,#0xffa8 00020204 bf d5 | | CMPA.L (A5),A7 00020206 62 06 |b | BHI 0x2020e 00020208 44 fc 00 02 |D | MOVE.W #0x2,CCR 0002020c 4e 76 |Nv | TRAPV 0002020e de fc 00 50 | P | ADDA.W #0x50,A7 00020212 48 e7 e0 c8 |H | MOVEM.L A4+A1+A0+D2+D1+D0,-(A7) 00020216 72 01 |r | MOVEQ.L #0x01,D1 00020218 74 10 |t | MOVEQ.L #0x10,D2 0002021a 9e fc 00 14 | | SUBA.W #0x14,A7 0002021e 20 4f | O | MOVEA.L A7,A0 00020220 43 fa ff 4a |C J | LEA.L 0x2016c,A1 00020224 70 12 |p | MOVEQ.L #0x12,D0 00020226 10 d9 | | MOVE.B (A1)+,(A0)+ 00020228 51 c8 ff fc |Q | DBF D0,0x20226 0002022c 59 4f |YO | SUBQ.L #0x4,A7 0002022e 48 6f 00 04 |Ho | PEA.L (A7+0x4) 00020232 3f 01 |? | MOVE.W D1,-(A7) 00020234 3f 3c 00 13 |?< | MOVE.W #0x13,-(A7) 00020238 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 0002023e 50 4f |PO | ADDQ.L #0x8,A7 00020240 28 5f |(_ | MOVEA.L (A7)+,A4 00020242 de c2 | | ADDA.W D2,A7 00020244 2e 8c |. | MOVE.L A4,(A7) 00020246 48 78 00 03 |Hx | PEA.L 0x3 0002024a 48 79 00 02 05 d6 |Hy | PEA.L 0x205d6 00020250 48 6e ff fc |Hn | PEA.L (A6-0x4) 00020254 4e b9 00 01 05 6e |N n | JSR Read_ConfigFile(name: String; version: Long; dst: Pointer; VAR status: Bool) 0002025a de c2 | | ADDA.W D2,A7 0002025c 4a 2e ff fc |J. | TST.B (A6-0x4) 00020260 66 32 |f2 | BNE 0x20294 00020262 9e fc 00 26 | & | SUBA.W #0x26,A7 00020266 20 4f | O | MOVEA.L A7,A0 00020268 43 fa fe dc |C | LEA.L 0x20146,A1 0002026c 70 24 |p$ | MOVEQ.L #0x24,D0 0002026e 10 d9 | | MOVE.B (A1)+,(A0)+ 00020270 51 c8 ff fc |Q | DBF D0,0x2026e 00020274 42 27 |B' | CLR.B -(A7) 00020276 59 4f |YO | SUBQ.L #0x4,A7 00020278 48 6f 00 06 |Ho | PEA.L (A7+0x6) 0002027c 3f 01 |? | MOVE.W D1,-(A7) 0002027e 3f 3c 00 25 |?< % | MOVE.W #0x25,-(A7) 00020282 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00020288 50 4f |PO | ADDQ.L #0x8,A7 0002028a 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 00020290 de fc 00 2c | , | ADDA.W #0x2c,A7 00020294 4c df 13 07 |L | MOVEM.L (A7)+,D0+D1+D2+A0+A1+A4 00020298 4e 5e |N^ | UNLK A6 0002029a 4e 75 |Nu | RTS 0002029c ; -------------------------------------------------------------------------------------- 0002029c ; OMSI PASCAL Function 0002029c ; <LVAR 0x008 4(r)> 0002029c ; <LVAR -0x002 @> 0002029c ; -------------------------------------------------------------------------------------- 0002029c 4e 56 ff 7c |NV | | LINK.W A6,#0xff7c 000202a0 bf d5 | | CMPA.L (A5),A7 000202a2 62 06 |b | BHI 0x202aa 000202a4 44 fc 00 02 |D | MOVE.W #0x2,CCR 000202a8 4e 76 |Nv | TRAPV 000202aa de fc 00 7c | | | ADDA.W #0x7c,A7 000202ae 48 e7 fb e8 |H | MOVEM.L A4+A2+A1+A0+D7+D6+D4+D3+D2+D1+D0,-(A7) 000202b2 45 f9 00 01 02 c4 |E | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A2 000202b8 72 01 |r | MOVEQ.L #0x01,D1 000202ba 74 09 |t | MOVEQ.L #0x09,D2 000202bc 76 1e |v | MOVEQ.L #0x1e,D3 000202be 78 02 |x | MOVEQ.L #0x02,D4 000202c0 4a 39 00 02 05 db |J9 | TST.B 0x205db 000202c6 67 04 |g | BEQ 0x202cc 000202c8 7c 04 || | MOVEQ.L #0x04,D6 000202ca 60 02 |` | BRA 0x202ce 000202cc 7c 09 || | MOVEQ.L #0x09,D6 000202ce 1f 06 | | MOVE.B D6,-(A7) 000202d0 7e 00 |~ | MOVEQ.L #0x00,D7 000202d2 be 17 | | CMP.B (A7),D7 000202d4 6e 08 |n | BGT 0x202de 000202d6 10 17 | | MOVE.B (A7),D0 000202d8 b0 02 | | CMP.B D2,D0 000202da 6f 02 |o | BLE 0x202de 000202dc 4e 4f |NO | TRAP #15 000202de be 17 | | CMP.B (A7),D7 000202e0 6e 00 00 9e |n | BGT 0x20380 000202e4 9e fc 00 0a | | SUBA.W #0xa,A7 000202e8 20 4f | O | MOVEA.L A7,A0 000202ea 43 fa fe 94 |C | LEA.L 0x20180,A1 000202ee 70 08 |p | MOVEQ.L #0x08,D0 000202f0 10 d9 | | MOVE.B (A1)+,(A0)+ 000202f2 51 c8 ff fc |Q | DBF D0,0x202f0 000202f6 3f 3a fe 92 |?: | MOVE.W 0x2018a,-(A7) 000202fa 10 07 | | MOVE.B D7,D0 000202fc 48 80 |H | EXTB.W D0 000202fe eb 40 | @ | ASL.W #0x5,D0 00020300 41 f9 00 02 05 ce |A | LEA.L 0x205ce,A0 00020306 9e c3 | | SUBA.W D3,A7 00020308 22 4f |"O | MOVEA.L A7,A1 0002030a 41 f0 00 5b |A [ | LEA.L (A0+D0.W+#0x5b),A0 0002030e 70 1d |p | MOVEQ.L #0x1d,D0 00020310 12 d8 | | MOVE.B (A0)+,(A1)+ 00020312 51 c8 ff fc |Q | DBF D0,0x20310 00020316 51 4f |QO | SUBQ.L #0x8,A7 00020318 48 6f 00 28 |Ho ( | PEA.L (A7+0x28) 0002031c 3f 01 |? | MOVE.W D1,-(A7) 0002031e 3f 02 |? | MOVE.W D2,-(A7) 00020320 4e 92 |N | JSR (A2) 00020322 2e ae 00 08 |. | MOVE.L (A6+0x8),(A7) 00020326 4e b9 00 01 02 cc |N | JSR StringDup(a : String) : String 0002032c 48 6f 00 2e |Ho . | PEA.L (A7+0x2e) 00020330 3f 01 |? | MOVE.W D1,-(A7) 00020332 3f 04 |? | MOVE.W D4,-(A7) 00020334 4e 92 |N | JSR (A2) 00020336 58 4f |XO | ADDQ.L #0x4,A7 00020338 48 6f 00 14 |Ho | PEA.L (A7+0x14) 0002033c 3f 01 |? | MOVE.W D1,-(A7) 0002033e 3f 03 |? | MOVE.W D3,-(A7) 00020340 4e 92 |N | JSR (A2) 00020342 50 4f |PO | ADDQ.L #0x8,A7 00020344 4e b9 00 01 02 d8 |N | JSR StringCat4(a, b, c, d : String) : String 0002034a de fc 00 10 | | ADDA.W #0x10,A7 0002034e 28 5f |(_ | MOVEA.L (A7)+,A4 00020350 de fc 00 26 | & | ADDA.W #0x26,A7 00020354 2e ba fe 36 |. 6 | MOVE.L 0x2018c,(A7) 00020358 59 4f |YO | SUBQ.L #0x4,A7 0002035a 48 6f 00 04 |Ho | PEA.L (A7+0x4) 0002035e 3f 01 |? | MOVE.W D1,-(A7) 00020360 3f 3c 00 04 |?< | MOVE.W #0x4,-(A7) 00020364 4e 92 |N | JSR (A2) 00020366 58 4f |XO | ADDQ.L #0x4,A7 00020368 2e 8c |. | MOVE.L A4,(A7) 0002036a 1f 04 | | MOVE.B D4,-(A7) 0002036c 48 6e ff fe |Hn | PEA.L (A6-0x2) 00020370 4e b9 00 01 03 b0 |N | JSR PushProgram(a : String; b : String; MOD c : B; VAR d : Bool) 00020376 de fc 00 12 | | ADDA.W #0x12,A7 0002037a 52 07 |R | ADDQ.B #0x1,D7 0002037c 68 00 ff 60 |h ` | BVC 0x202de 00020380 54 4f |TO | ADDQ.L #0x2,A7 00020382 4c df 17 df |L | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D6+D7+A0+A1+A2+A4 00020386 4e 5e |N^ | UNLK A6 00020388 4e 75 |Nu | RTS 0002038a ; -------------------------------------------------------------------------------------- 0002038a ; OMSI PASCAL Function 0002038a ; -------------------------------------------------------------------------------------- 0002038a START: 0002038a 4f fa 00 08 |O | LEA.L MAIN,A7 0002038e 4e f9 00 01 02 80 |N | JMP ?start_program 00020394 MAIN: 00020394 41 f9 00 02 07 6c |A l | LEA.L 0x2076c,A0 0002039a 4e b9 00 01 03 98 |N | JSR FSCALL_10398 000203a0 48 50 |HP | PEA.L (A0) 000203a2 4e ba fd ec |N | JSR 0x20190 000203a6 58 4f |XO | ADDQ.L #0x4,A7 000203a8 4e ba fe 56 |N V | JSR 0x20200 000203ac 2f 10 |/ | MOVE.L (A0),-(A7) 000203ae 4e ba fe ec |N | JSR 0x2029c 000203b2 54 4f |TO | ADDQ.L #0x2,A7 000203b4 42 17 |B | CLR.B (A7) 000203b6 48 78 00 01 |Hx | PEA.L 0x1 000203ba 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 000203c0 5c 4f |\O | ADDQ.L #0x6,A7 000203c2 4e b9 00 01 02 84 |N | JSR ?exit 000203c8 57 6f 72 64 73 20 65 72 |Words er| .TXT 'Words error :_' 000203d6 ; -------------------------------------------------------------------------------------- 000203d6 ; OMSI PASCAL Function 000203d6 ; <LVAR 0x008 1(r)> 000203d6 ; -------------------------------------------------------------------------------------- 000203d6 PROG_FAIL: 000203d6 4e 56 ff d2 |NV | LINK.W A6,#0xffd2 000203da bf d5 | | CMPA.L (A5),A7 000203dc 62 06 |b | BHI 0x203e4 000203de 44 fc 00 02 |D | MOVE.W #0x2,CCR 000203e2 4e 76 |Nv | TRAPV 000203e4 de fc 00 2c | , | ADDA.W #0x2c,A7 000203e8 48 e7 80 80 |H | MOVEM.L A0+D0,-(A7) 000203ec 41 fa ff e8 |A | LEA.L PROG_FAIL,A0 000203f0 70 06 |p | MOVEQ.L #0x06,D0 000203f2 3f 20 |? | MOVE.W -(A0),-(A7) 000203f4 51 c8 ff fc |Q | DBF D0,0x203f2 000203f8 1f 3c 00 03 | < | MOVE.B #0x03,-(A7) 000203fc 51 4f |QO | SUBQ.L #0x8,A7 000203fe 48 6f 00 0a |Ho | PEA.L (A7+0xa) 00020402 3f 3c 00 01 |?< | MOVE.W #0x1,-(A7) 00020406 3f 3c 00 0e |?< | MOVE.W #0xe,-(A7) 0002040a 4e b9 00 01 02 c4 |N | JSR StringLit(Src : Pointer; Offset: W; Len : W) : String 00020410 58 4f |XO | ADDQ.L #0x4,A7 00020412 10 2e 00 08 | . | MOVE.B (A6+0x8),D0 00020416 48 80 |H | EXTB.W D0 00020418 48 c0 |H | EXTW.L D0 0002041a 2f 00 |/ | MOVE.L D0,-(A7) 0002041c 4e b9 00 01 02 e4 |N | JSR Long2String(a : Long) : String 00020422 58 4f |XO | ADDQ.L #0x4,A7 00020424 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 0002042a 50 4f |PO | ADDQ.L #0x8,A7 0002042c 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 00020432 de fc 00 14 | | ADDA.W #0x14,A7 00020436 4c df 01 01 |L | MOVEM.L (A7)+,D0+A0 0002043a 4e 5e |N^ | UNLK A6 0002043c 4e 75 |Nu | RTS 0002043e 42 6f 61 72 64 20 20 20 |Board | .TXT 'Board :_ ' 0002044c 45 78 70 65 72 69 6d 65 |Experime| .TXT 'Experiment :_ ' 0002045a 53 74 61 74 75 73 20 20 |Status | .TXT 'Status :_ ' 00020468 45 78 70 65 72 69 6d 65 |Experime| .TXT 'Experiment error :' 0002047a 46 61 74 61 6c 20 65 78 |Fatal ex| .TXT 'Fatal experiment error. ' 00020492 ; -------------------------------------------------------------------------------------- 00020492 ; OMSI PASCAL Function 00020492 ; <LVAR 0x00e 1(r)> 00020492 ; <LVAR 0x00a 4(r)> 00020492 ; <LVAR 0x008 1(r)> 00020492 ; -------------------------------------------------------------------------------------- 00020492 EXP_FAIL: 00020492 4e 56 ff 8c |NV | LINK.W A6,#0xff8c 00020496 bf d5 | | CMPA.L (A5),A7 00020498 62 06 |b | BHI 0x204a0 0002049a 44 fc 00 02 |D | MOVE.W #0x2,CCR 0002049e 4e 76 |Nv | TRAPV 000204a0 de fc 00 74 | t | ADDA.W #0x74,A7 000204a4 48 e7 fc f8 |H | MOVEM.L A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7) 000204a8 47 f9 00 01 02 c4 |G | LEA.L StringLit(Src : Pointer; Offset: W; Len : W) : String,A3 000204ae 49 f9 00 01 03 e0 |I | LEA.L WriteConsoleStringCrLf(str : String),A4 000204b4 72 01 |r | MOVEQ.L #0x01,D1 000204b6 74 0d |t | MOVEQ.L #0x0d,D2 000204b8 76 1e |v | MOVEQ.L #0x1e,D3 000204ba 78 12 |x | MOVEQ.L #0x12,D4 000204bc 7a 0e |z | MOVEQ.L #0x0e,D5 000204be 4e b9 00 01 03 dc |N | JSR WriteConsoleCrLf(void) 000204c4 41 fa ff b4 |A | LEA.L 0x2047a,A0 000204c8 70 08 |p | MOVEQ.L #0x08,D0 000204ca 3f 20 |? | MOVE.W -(A0),-(A7) 000204cc 51 c8 ff fc |Q | DBF D0,0x204ca 000204d0 59 4f |YO | SUBQ.L #0x4,A7 000204d2 48 6f 00 04 |Ho | PEA.L (A7+0x4) 000204d6 3f 01 |? | MOVE.W D1,-(A7) 000204d8 3f 04 |? | MOVE.W D4,-(A7) 000204da 4e 93 |N | JSR (A3) 000204dc 50 4f |PO | ADDQ.L #0x8,A7 000204de 4e 94 |N | JSR (A4) 000204e0 50 4f |PO | ADDQ.L #0x8,A7 000204e2 20 4f | O | MOVEA.L A7,A0 000204e4 43 fa ff 58 |C X | LEA.L 0x2043e,A1 000204e8 70 0c |p | MOVEQ.L #0x0c,D0 000204ea 10 d9 | | MOVE.B (A1)+,(A0)+ 000204ec 51 c8 ff fc |Q | DBF D0,0x204ea 000204f0 51 4f |QO | SUBQ.L #0x8,A7 000204f2 48 6f 00 08 |Ho | PEA.L (A7+0x8) 000204f6 3f 01 |? | MOVE.W D1,-(A7) 000204f8 3f 02 |? | MOVE.W D2,-(A7) 000204fa 4e 93 |N | JSR (A3) 000204fc 54 4f |TO | ADDQ.L #0x2,A7 000204fe 1e ae 00 0e | | MOVE.B (A6+0xe),(A7) 00020502 4e b9 00 01 04 9c |N | JSR BoardName(address : B) : String 00020508 54 4f |TO | ADDQ.L #0x2,A7 0002050a 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00020510 50 4f |PO | ADDQ.L #0x8,A7 00020512 4e 94 |N | JSR (A4) 00020514 de c4 | | ADDA.W D4,A7 00020516 20 6e 00 0a | n | MOVEA.L (A6+0xa),A0 0002051a b0 c1 | | CMPA.W D1,A0 0002051c 67 48 |gH | BEQ 0x20566 0002051e 9e c5 | | SUBA.W D5,A7 00020520 22 4f |"O | MOVEA.L A7,A1 00020522 45 fa ff 28 |E ( | LEA.L 0x2044c,A2 00020526 70 0c |p | MOVEQ.L #0x0c,D0 00020528 12 da | | MOVE.B (A2)+,(A1)+ 0002052a 51 c8 ff fc |Q | DBF D0,0x20528 0002052e 9e c3 | | SUBA.W D3,A7 00020530 22 4f |"O | MOVEA.L A7,A1 00020532 41 e8 00 fc |A | LEA.L (A0+0xfc),A0 00020536 70 1d |p | MOVEQ.L #0x1d,D0 00020538 12 d8 | | MOVE.B (A0)+,(A1)+ 0002053a 51 c8 ff fc |Q | DBF D0,0x20538 0002053e 51 4f |QO | SUBQ.L #0x8,A7 00020540 48 6f 00 26 |Ho & | PEA.L (A7+0x26) 00020544 3f 01 |? | MOVE.W D1,-(A7) 00020546 3f 02 |? | MOVE.W D2,-(A7) 00020548 4e 93 |N | JSR (A3) 0002054a 58 4f |XO | ADDQ.L #0x4,A7 0002054c 48 6f 00 0c |Ho | PEA.L (A7+0xc) 00020550 3f 01 |? | MOVE.W D1,-(A7) 00020552 3f 03 |? | MOVE.W D3,-(A7) 00020554 4e 93 |N | JSR (A3) 00020556 50 4f |PO | ADDQ.L #0x8,A7 00020558 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 0002055e 50 4f |PO | ADDQ.L #0x8,A7 00020560 4e 94 |N | JSR (A4) 00020562 de fc 00 30 | 0 | ADDA.W #0x30,A7 00020566 9e c5 | | SUBA.W D5,A7 00020568 20 4f | O | MOVEA.L A7,A0 0002056a 43 fa fe ee |C | LEA.L 0x2045a,A1 0002056e 70 0c |p | MOVEQ.L #0x0c,D0 00020570 10 d9 | | MOVE.B (A1)+,(A0)+ 00020572 51 c8 ff fc |Q | DBF D0,0x20570 00020576 51 4f |QO | SUBQ.L #0x8,A7 00020578 48 6f 00 08 |Ho | PEA.L (A7+0x8) 0002057c 3f 01 |? | MOVE.W D1,-(A7) 0002057e 3f 02 |? | MOVE.W D2,-(A7) 00020580 4e 93 |N | JSR (A3) 00020582 54 4f |TO | ADDQ.L #0x2,A7 00020584 1e ae 00 08 | | MOVE.B (A6+0x8),(A7) 00020588 4e b9 00 01 04 a2 |N | JSR ExpStatus2Text(status.B, &String) 0002058e 54 4f |TO | ADDQ.L #0x2,A7 00020590 4e b9 00 01 02 d0 |N | JSR StringCat2(a, b : String) : String 00020596 50 4f |PO | ADDQ.L #0x8,A7 00020598 4e 94 |N | JSR (A4) 0002059a 5d 4f |]O | SUBQ.L #0x6,A7 0002059c 20 4f | O | MOVEA.L A7,A0 0002059e 43 fa fe da |C | LEA.L 0x2047a,A1 000205a2 70 16 |p | MOVEQ.L #0x16,D0 000205a4 10 d9 | | MOVE.B (A1)+,(A0)+ 000205a6 51 c8 ff fc |Q | DBF D0,0x205a4 000205aa 1f 3c 00 02 | < | MOVE.B #0x02,-(A7) 000205ae 59 4f |YO | SUBQ.L #0x4,A7 000205b0 48 6f 00 06 |Ho | PEA.L (A7+0x6) 000205b4 3f 01 |? | MOVE.W D1,-(A7) 000205b6 3f 3c 00 17 |?< | MOVE.W #0x17,-(A7) 000205ba 4e 93 |N | JSR (A3) 000205bc 50 4f |PO | ADDQ.L #0x8,A7 000205be 4e b9 00 01 03 b8 |N | JSR PopProgram(status : Byte; msg : String) 000205c4 de c3 | | ADDA.W D3,A7 000205c6 4c df 1f 3f |L ? | MOVEM.L (A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4 000205ca 4e 5e |N^ | UNLK A6 000205cc 4e 75 |Nu | RTS