DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 DFS Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 DFS Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦500f18234⟧ M200

    Length: 2048 (0x800)
    Types: M200
    Notes: M200_PROGRAM
    Names: »P2UPRIV.M200«

Derivation

└─⟦b4205821b⟧ Bits:30000743 8mm tape, Rational 1000, DFS, D_12_7_3 SEQ288
    └─ ⟦this⟧ »P2UPRIV.M200« 
└─⟦b434774df⟧ Bits:30000528 8mm tape, Rational 1000, DFS, D_12_6_5
    └─ ⟦this⟧ »P2UPRIV.M200« 
    └─ ⟦this⟧ »P2UPRIV.M200« 
└─⟦bc1274df5⟧ Bits:30000750 8mm tape, Rational 1000, DFS backup from PAM's R1000
    └─ ⟦this⟧ »P2UPRIV.M200« 

Disassembly

0x20166


@ 20166
EXP_FAIL
        <LVAR  0x00e 1(r)>
        <LVAR  0x00a 4(r)>
        <LVAR  0x008 1(r)>
    <POP 20166-202a2 Body>                                              
        <POP 20166-2017c Prologue>                           Σ0         ↓
        <POP 2017c-20192 RegCacheLoad>                       Σ0         ↓
        <POP 20192-201f2 Naked>                              Σ0         ↓ →0x2023a
            <Call 0x20192 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x20198 [18] @>                            Δ-18               {[«18""»]}
            <POP 201a4-201a6 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x201a6 18>                                                    {[«18""»]|[$$Experiment error :]}
            <Call 0x201b2 0x103e0>                                              {[«18""»]|[$$Experiment error :]}
                WriteConsoleStringCrLf(str : String)
            <POP 201b4-201b5 StackAdj>                       Δ+22       ↓       {}
            <Blob 0x201b5 [14] @>                            Δ-14               {[«14""»]}
            <POP 201c4-201c6 StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x201c6 13>                                                    {[«14""»]|[-4-]|[$$Board      :_]}
            <POP 201d0-201d2 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <MI 201d2  MOVE.B  (A6+0xe),(A7)>                                   {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <Call 0x201d6 0x1049c>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
                BoardName(address : B) : String
            <POP 201dc-201de StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
            <Call 0x201de 0x102d0>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 201e4-201e6 StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x201e6 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 201e8-201ea StackAdj>                       Δ+18               {}
            <MI 201ea  MOVEA.L (A6+0xa),A0>                                     {}
            <MI 201ee  CMPA.W  #0x01,A0>                                        {}
            <MI 201f0  BEQ     0x2023a>                                         {}
        <POP 201f2-2023a Naked>                              Σ0         ↓
            <Blob 0x201f2 [14] @>                            Δ-14               {[«14""»]}
            <Blob 0x20202 [30] (A0+0xfc)>                    Δ-30               {[«14""»]|[«30»]}
            <POP 20212-20214 StackAdj>                       Δ-8                {[«14""»]|[«30»]|[-8-]}
            <Lit 0x20214 13>                                                    {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]}
            <POP 2021e-20220 StackAdj>                       Δ-4                {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]}
            <Lit 0x20220>                                                       {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                <Pointer.sp 0x20220 12>                      Δ-4        
                <Const 0x20224 0x1.2>                        Δ-2        
                <Const 0x20226 0x1e.2>                       Δ-2        
                <Call 0x20228 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 2022a-2022c StackAdj>                   Δ+8        
            <Call 0x2022c 0x102d0>                                              {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                StringCat2(a, b : String) : String
            <POP 20232-20234 StackAdj>                       Δ+8                {[«14""»]|[«30»]|[-4-]}
            <Call 0x20234 0x103e0>                                              {[«14""»]|[«30»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 20236-2023a StackAdj>                       Δ+48               {}
        <POP 2023a-2029a Naked>                              Σ0         ↓ ←0x20192
            <Blob 0x2023a [14] @>                            Δ-14               {[«14""»]}
            <POP 2024a-2024c StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x2024c 13>                                                    {[«14""»]|[-4-]|[$$Status     :_]}
            <POP 20256-20258 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <MI 20258  MOVE.B  (A6+0x8),(A7)>                                   {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <Call 0x2025c 0x104a2>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
                ExpStatus2Text(status.B, &String)
            <POP 20262-20264 StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
            <Call 0x20264 0x102d0>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 2026a-2026c StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x2026c 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 2026e-2026f StackAdj>                       Δ+18       ↓       {}
            <Blob 0x2026f [24] @>                            Δ-24               {[«24""»]}
            <Const 0x2027e 0x2.2>                            Δ-2                {[«24""»]|[#2]}
            <POP 20282-20284 StackAdj>                       Δ-4                {[«24""»]|[#2]|[-4-]}
            <Lit 0x20284 23>                                                    {[«24""»]|[#2]|[$$Fatal experiment error.]}
            <Call 0x20292 0x103b8>                                              {[«24""»]|[#2]|[$$Fatal experiment error.]}
                PopProgram(status : Byte; msg : String)
            <POP 20298-2029a StackAdj>                       Δ+30               {}
        <POP 2029a-202a2 Epilogue>                           Σ0         

0x202a2


@ 202a2
START
    <POP 202a2--0001 Body>                                              
        <POP 202a2-202ac Prologue>                           Σ0         
        <POP 202ac-202c0 RegCacheLoad>                       Σ0         ↓
        <POP 202c0-2036e Naked>                              Σ0         ↓ →0x20378
            <Call 0x202c0 0x10398>                                              {}
                FSCALL_10398
            <Const 0x202c6 0x204b5.4>                        Δ-4                {[##132277]}
            <Const 0x202cc 0x204b6.4>                        Δ-4                {[##132277]|[##132278]}
            <Call 0x202d2 0x10544>                                              {[##132277]|[##132278]}
                IPC_InitGetTwoBools(VAR a : Bool; VAR b : Bool)
            <POP 202d8-202da StackAdj>                       Δ+8                {}
            <Const 0x202da 0x0.4>                            Δ-4                {[##0]}
            <Call 0x202de 0x104d8>                                              {[##0]}
                ExpInit(a : Long)
            <POP 202e4-202e6 StackAdj>                       Δ+2                {[-2-]}
            <POP 202e6-202e7 StackAdj>                       Δ+2                {}
            <Blob 0x202e7 [2] 0x204b6>                       Δ-2                {[«2»]}
            <Call 0x202ec 0x104d2>                                              {[«2»]}
                SetExpInitDone(a : Byte)
            <POP 202f2-202f3 StackAdj>                       Δ+2        ↓       {}
            <Blob 0x202f3 [8] @>                             Δ-8                {[«8""»]}
            <POP 20302-20304 StackAdj>                       Δ-4                {[«8""»]|[-4-]}
            <Lit 0x20304 7>                                                     {[«8""»]|[$$P2UPRIV]}
            <MI 20316  MOVE.L  (A7)+,0x204a4>                Δ+4                {[«8""»]}
            <POP 2031c-2031e StackAdj>                       Δ+8                {}
            <Const 0x2031e 0x204a8.4>                        Δ-4                {[##132264]}
            <Call 0x20324 0x102b8>                                              {[##132264]}
                NewString(VAR a : String)
            <POP 2032a-2032c StackAdj>                       Δ+4                {}
            <Call 0x2032c 0x20408>                                              {}
                exp_PREP_READ_REG.VAL()
            <MI 20332  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <MI 20334  CLR.B   -(A7)>                        Δ-2                {[#0]|[#0]}
            <Const 0x20336 0x204b7.4>                        Δ-4                {[#0]|[#0]|[##132279]}
            <Call 0x2033c 0x203ca>                                              {[#0]|[#0]|[##132279]}
                exp_REG_TO_LOOP.VAL(Sw_1, Sw_1, &Sr_2)
            <POP 20342-20344 StackAdj>                       Δ+6                {[#0]}
            <POP 20344-20345 StackAdj>                       Δ+2                {}
            <Blob 0x20345 [2] 0x204b7>                       Δ-2                {[«2»]}
            <MI 2034a  MOVE.B  0x204b8,(A7+0x1)>                                {[«2»]}
            <MI 20352  CLR.B   -(A7)>                        Δ-2                {[«2»]|[#0]}
            <Const 0x20354 0x204b9.4>                        Δ-4                {[«2»]|[#0]|[##132281]}
            <Call 0x2035a 0x203ea>                                              {[«2»]|[#0]|[##132281]}
                exp_READ_B_REG.VAL(Sw_2, Sw_1, &Sr_8)
            <POP 20360-20362 StackAdj>                       Δ+8                {}
            <MI 20362  TST.B   0x204c0>                                         {}
            <MI 20364  CLR.L   D0>                                              {}
            <MI 20366  MOVE.B  0x204c0,D0>                                      {}
            <MI 20368  CMPI.W  #0x000f,D0>                                      {}
            <MI 2036c  BLS     0x20378>                                         {}
        <POP 2036e-20378 Naked>                              Σ0         →0x2037e
            <MI 2036e  MOVE.B  #0x27,0x204ad>                                   {}
            <MI 20372  MOVE.B  #0x10,0x204ac>                                   {}
            <MI 20376  BRA     0x2037e>                                         {}
        <POP 20378-2037e Naked>                              Σ0         ↓ ←0x202c0
            <MI 20378  MOVE.B  #0x03,0x204ad>                                   {}
            <MI 2037c  MOVE.B  0x204c0,0x204ac>                                 {}
        <POP 2037e-20380 Naked>                              Σ0         ↓ ←0x2036e
            <MI 2037e  MOVEQ.L #0x01,D0>                                        {}
        <POP 20380-2039c Naked>                              Σ0         ↓ →0x20380 ←0x20380
            <MI 20380  MOVE.L  D0,0x204c2>                                      {}
            <POP 0x20386 LimitCheck 0x0 ≤ D0 ≤ 0x7>                             {}
            <MI 2038c  LEA.L   0x2049c,A0>                                      {}
            <MI 20392  CLR.B   (A0+D0.L+#0x11)>                                 {}
            <MI 20396  ADDQ.L  #0x1,D0>                                         {}
            <MI 20398  CMP.L   #0x07,D0>                                        {}
            <MI 2039a  BLE     0x20380>                                         {}
        <POP 2039c-203c4 Naked>                              Σ0         ↓
            <MI 2039c  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Blob 0x2039e [4] 0x204a4>                       Δ-4                {[#0]|[«4»]}
            <Blob 0x203a4 [4] 0x204a8>                       Δ-4                {[#0]|[«4»]|[«4»]}
            <Blob 0x203aa [2] 0x204ac>                       Δ-2                {[#0]|[«4»]|[«4»]|[«2»]}
            <Blob 0x203ac [8] 0x204ad>                       Δ-8                {[#0]|[«4»]|[«4»]|[«2»]|[«8»]}
            <Call 0x203ba 0x1054a>                                              {[#0]|[«4»]|[«4»]|[«2»]|[«8»]}
                ?IPC_Puts(a : Bool; b : String; c : String; d: Bool; e : Long; f : Long)
            <POP 203c0-203c4 StackAdj>                       Δ+20               {}
        <POP 203c4-203ca Naked>                              Σ0         
            <Call 0x203c4 0x10284>                                              {}
                ?exit

0x20434


@ 20434
PROG_FAIL
        <LVAR  0x008 1(r)>
    <POP 20434-2049c Body>                                              
        <POP 20434-2044a Prologue>                           Σ0         ↓
        <POP 2044a-20494 Naked>                              Σ0         ↓
            <Blob 0x2044a [14] @>                            Δ-14               {[«14""»]}
            <Const 0x20456 0x3.2>                            Δ-2                {[«14""»]|[#3]}
            <POP 2045a-2045c StackAdj>                       Δ-8                {[«14""»]|[#3]|[-8-]}
            <Lit 0x2045c 14>                                                    {[«14""»]|[#3]|[-4-]|[$$Words error :_]}
            <POP 2046e-20470 StackAdj>                       Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 20470  MOVE.B  (A6+0x8),D0>                                     {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 20474  EXTB.W  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 20476  EXTW.L  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 20478  MOVE.L  D0,-(A7)>                     Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
            <Call 0x2047a 0x102e4>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
                Long2String(a : Long) : String
            <POP 20480-20482 StackAdj>                       Δ+4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <Call 0x20482 0x102d0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 20488-2048a StackAdj>                       Δ+8                {[«14""»]|[#3]|[-4-]}
            <Call 0x2048a 0x103b8>                                              {[«14""»]|[#3]|[-4-]}
                PopProgram(status : Byte; msg : String)
            <POP 20490-20494 StackAdj>                       Δ+20               {}
        <POP 20494-2049c Epilogue>                           Σ0         

Raw from R1000.Disassembly/DFS

00020000 ; --------------------------------------------------------------------------------------
00020000 ; R1000.Disassembly modules:
00020000 ;   import all
00020000 ;   import kind.program
00020000 ;   no ident.773ad4166a49edb3
00020000 ; --------------------------------------------------------------------------------------
00020000					stack.top:
00020000 00 04 00 00              |        |		.CODE	0x40000			; STACK.END
00020004 00 02 02 a2              |        |		.CODE	START
00020008 00 01 02 88              |        |		.CODE	FSCALL_10288
0002000c					heap.top:
0002000c 00 02 04 d0              |        |		.PTR	0x204d0
00020010					code.end:
00020010 00 02 04 9c              |        |		.PTR	0x2049c
00020014 00 00 00 00              |        |		.CONST	0x00000000
00020018					programfailurehandler:
00020018 00 02 04 34              |   4    |		.CODE	PROG_FAIL
0002001c					experimentfailurehandler:
0002001c 00 02 01 66              |   f    |		.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 42 6f 61 72 64 20 20 20  |Board   |		.TXT	'Board      :_ '
00020118 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment :_ '
00020126 53 74 61 74 75 73 20 20  |Status  |		.TXT	'Status     :_ '
00020134 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment error :'
00020146 46 61 74 61 6c 20 65 78  |Fatal ex|		.TXT	'Fatal experiment error. '
0002015e 50 32 55 50 52 49 56 20  |P2UPRIV |		.TXT	'P2UPRIV '
00020166 ; --------------------------------------------------------------------------------------
00020166 ; OMSI PASCAL Function
00020166 ;    <LVAR  0x00e 1(r)>
00020166 ;    <LVAR  0x00a 4(r)>
00020166 ;    <LVAR  0x008 1(r)>
00020166 ; --------------------------------------------------------------------------------------
00020166					EXP_FAIL:
00020166 4e 56 ff 8c              |NV      |		LINK.W	A6,#0xff8c
0002016a bf d5                    |        |		CMPA.L	(A5),A7
0002016c 62 06                    |b       |		BHI	0x20174
0002016e 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00020172 4e 76                    |Nv      |		TRAPV
00020174 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
00020178 48 e7 fc f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7)
0002017c 47 f9 00 01 02 c4        |G       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A3
00020182 49 f9 00 01 03 e0        |I       |		LEA.L	WriteConsoleStringCrLf(str : String),A4
00020188 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002018a 74 0d                    |t       |		MOVEQ.L	#0x0d,D2
0002018c 76 1e                    |v       |		MOVEQ.L	#0x1e,D3
0002018e 78 12                    |x       |		MOVEQ.L	#0x12,D4
00020190 7a 0e                    |z       |		MOVEQ.L	#0x0e,D5
00020192 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00020198 41 fa ff ac              |A       |		LEA.L	0x20146,A0
0002019c 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002019e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000201a0 51 c8 ff fc              |Q       |		DBF	D0,0x2019e
000201a4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000201a6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000201aa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000201ac 3f 04                    |?       |		MOVE.W	D4,-(A7)
000201ae 4e 93                    |N       |		JSR	(A3)
000201b0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000201b2 4e 94                    |N       |		JSR	(A4)
000201b4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000201b6 20 4f                    | O      |		MOVEA.L	A7,A0
000201b8 43 fa ff 50              |C  P    |		LEA.L	0x2010a,A1
000201bc 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000201be 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000201c0 51 c8 ff fc              |Q       |		DBF	D0,0x201be
000201c4 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000201c6 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000201ca 3f 01                    |?       |		MOVE.W	D1,-(A7)
000201cc 3f 02                    |?       |		MOVE.W	D2,-(A7)
000201ce 4e 93                    |N       |		JSR	(A3)
000201d0 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000201d2 1e ae 00 0e              |        |		MOVE.B	(A6+0xe),(A7)
000201d6 4e b9 00 01 04 9c        |N       |		JSR	BoardName(address : B) : String
000201dc 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000201de 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000201e4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000201e6 4e 94                    |N       |		JSR	(A4)
000201e8 de c4                    |        |		ADDA.W	D4,A7
000201ea 20 6e 00 0a              | n      |		MOVEA.L	(A6+0xa),A0
000201ee b0 c1                    |        |		CMPA.W	D1,A0
000201f0 67 48                    |gH      |		BEQ	0x2023a
000201f2 9e c5                    |        |		SUBA.W	D5,A7
000201f4 22 4f                    |"O      |		MOVEA.L	A7,A1
000201f6 45 fa ff 20              |E       |		LEA.L	0x20118,A2
000201fa 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000201fc 12 da                    |        |		MOVE.B	(A2)+,(A1)+
000201fe 51 c8 ff fc              |Q       |		DBF	D0,0x201fc
00020202 9e c3                    |        |		SUBA.W	D3,A7
00020204 22 4f                    |"O      |		MOVEA.L	A7,A1
00020206 41 e8 00 fc              |A       |		LEA.L	(A0+0xfc),A0
0002020a 70 1d                    |p       |		MOVEQ.L	#0x1d,D0
0002020c 12 d8                    |        |		MOVE.B	(A0)+,(A1)+
0002020e 51 c8 ff fc              |Q       |		DBF	D0,0x2020c
00020212 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00020214 48 6f 00 26              |Ho &    |		PEA.L	(A7+0x26)
00020218 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002021a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002021c 4e 93                    |N       |		JSR	(A3)
0002021e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00020220 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00020224 3f 01                    |?       |		MOVE.W	D1,-(A7)
00020226 3f 03                    |?       |		MOVE.W	D3,-(A7)
00020228 4e 93                    |N       |		JSR	(A3)
0002022a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002022c 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00020232 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020234 4e 94                    |N       |		JSR	(A4)
00020236 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
0002023a 9e c5                    |        |		SUBA.W	D5,A7
0002023c 20 4f                    | O      |		MOVEA.L	A7,A0
0002023e 43 fa fe e6              |C       |		LEA.L	0x20126,A1
00020242 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
00020244 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00020246 51 c8 ff fc              |Q       |		DBF	D0,0x20244
0002024a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002024c 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00020250 3f 01                    |?       |		MOVE.W	D1,-(A7)
00020252 3f 02                    |?       |		MOVE.W	D2,-(A7)
00020254 4e 93                    |N       |		JSR	(A3)
00020256 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00020258 1e ae 00 08              |        |		MOVE.B	(A6+0x8),(A7)
0002025c 4e b9 00 01 04 a2        |N       |		JSR	ExpStatus2Text(status.B, &String)
00020262 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00020264 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
0002026a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002026c 4e 94                    |N       |		JSR	(A4)
0002026e 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00020270 20 4f                    | O      |		MOVEA.L	A7,A0
00020272 43 fa fe d2              |C       |		LEA.L	0x20146,A1
00020276 70 16                    |p       |		MOVEQ.L	#0x16,D0
00020278 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002027a 51 c8 ff fc              |Q       |		DBF	D0,0x20278
0002027e 1f 3c 00 02              | <      |		MOVE.B	#0x02,-(A7)
00020282 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00020284 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00020288 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002028a 3f 3c 00 17              |?<      |		MOVE.W	#0x17,-(A7)
0002028e 4e 93                    |N       |		JSR	(A3)
00020290 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020292 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00020298 de c3                    |        |		ADDA.W	D3,A7
0002029a 4c df 1f 3f              |L  ?    |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4
0002029e 4e 5e                    |N^      |		UNLK	A6
000202a0 4e 75                    |Nu      |		RTS
000202a2 ; --------------------------------------------------------------------------------------
000202a2 ; OMSI PASCAL Function
000202a2 ; --------------------------------------------------------------------------------------
000202a2					START:
000202a2 4f fa 00 08              |O       |		LEA.L	MAIN,A7
000202a6 4e f9 00 01 02 80        |N       |		JMP	?start_program
000202ac					MAIN:
000202ac 45 f9 00 02 04 c0        |E       |		LEA.L	0x204c0,A2
000202b2 47 f9 00 02 04 ad        |G       |		LEA.L	0x204ad,A3
000202b8 49 f9 00 02 04 ac        |I       |		LEA.L	0x204ac,A4
000202be 72 07                    |r       |		MOVEQ.L	#0x07,D1
000202c0 4e b9 00 01 03 98        |N       |		JSR	FSCALL_10398
000202c6 48 79 00 02 04 b5        |Hy      |		PEA.L	0x204b5
000202cc 48 79 00 02 04 b6        |Hy      |		PEA.L	0x204b6
000202d2 4e b9 00 01 05 44        |N    D  |		JSR	IPC_InitGetTwoBools(VAR a : Bool; VAR b : Bool)
000202d8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000202da 48 78 00 00              |Hx      |		PEA.L	0x0
000202de 4e b9 00 01 04 d8        |N       |		JSR	ExpInit(a : Long)
000202e4 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000202e6 1e b9 00 02 04 b6        |        |		MOVE.B	0x204b6,(A7)
000202ec 4e b9 00 01 04 d2        |N       |		JSR	SetExpInitDone(a : Byte)
000202f2 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
000202f4 20 4f                    | O      |		MOVEA.L	A7,A0
000202f6 43 fa fe 66              |C  f    |		LEA.L	0x2015e,A1
000202fa 70 06                    |p       |		MOVEQ.L	#0x06,D0
000202fc 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000202fe 51 c8 ff fc              |Q       |		DBF	D0,0x202fc
00020302 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00020304 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00020308 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
0002030c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002030e 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00020314 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020316 23 df 00 02 04 a4        |#       |		MOVE.L	(A7)+,0x204a4
0002031c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002031e 48 79 00 02 04 a8        |Hy      |		PEA.L	0x204a8
00020324 4e b9 00 01 02 b8        |N       |		JSR	NewString(VAR a : String)
0002032a 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002032c 4e b9 00 02 04 08        |N       |		JSR	exp_PREP_READ_REG.VAL()
00020332 42 27                    |B'      |		CLR.B	-(A7)
00020334 42 27                    |B'      |		CLR.B	-(A7)
00020336 48 79 00 02 04 b7        |Hy      |		PEA.L	0x204b7
0002033c 4e b9 00 02 03 ca        |N       |		JSR	exp_REG_TO_LOOP.VAL(Sw_1, Sw_1, &Sr_2)
00020342 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00020344 1e b9 00 02 04 b7        |        |		MOVE.B	0x204b7,(A7)
0002034a 1f 79 00 02 04 b8 00 01  | y      |		MOVE.B	0x204b8,(A7+0x1)
00020352 42 27                    |B'      |		CLR.B	-(A7)
00020354 48 79 00 02 04 b9        |Hy      |		PEA.L	0x204b9
0002035a 4e b9 00 02 03 ea        |N       |		JSR	exp_READ_B_REG.VAL(Sw_2, Sw_1, &Sr_8)
00020360 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020362 4a 12                    |J       |		TST.B	(A2)
00020364 42 80                    |B       |		CLR.L	D0
00020366 10 12                    |        |		MOVE.B	(A2),D0
00020368 0c 40 00 0f              | @      |		CMPI.W	#0x000f,D0
0002036c 63 0a                    |c       |		BLS	0x20378
0002036e 16 bc 00 27              |   '    |		MOVE.B	#0x27,(A3)
00020372 18 bc 00 10              |        |		MOVE.B	#0x10,(A4)
00020376 60 06                    |`       |		BRA	0x2037e
00020378 16 bc 00 03              |        |		MOVE.B	#0x03,(A3)
0002037c 18 92                    |        |		MOVE.B	(A2),(A4)
0002037e 70 01                    |p       |		MOVEQ.L	#0x01,D0
00020380 23 c0 00 02 04 c2        |#       |		MOVE.L	D0,0x204c2
00020386 b0 81                    |        |		CMP.L	D1,D0
00020388 63 02                    |c       |		BLS	0x2038c
0002038a 4e 4f                    |NO      |		TRAP	#15
0002038c 41 f9 00 02 04 9c        |A       |		LEA.L	0x2049c,A0
00020392 42 30 08 11              |B0      |		CLR.B	(A0+D0.L+#0x11)
00020396 52 80                    |R       |		ADDQ.L	#0x1,D0
00020398 b0 81                    |        |		CMP.L	D1,D0
0002039a 6f e4                    |o       |		BLE	0x20380
0002039c 42 27                    |B'      |		CLR.B	-(A7)
0002039e 2f 39 00 02 04 a4        |/9      |		MOVE.L	0x204a4,-(A7)
000203a4 2f 39 00 02 04 a8        |/9      |		MOVE.L	0x204a8,-(A7)
000203aa 1f 14                    |        |		MOVE.B	(A4),-(A7)
000203ac 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000203ae 20 4f                    | O      |		MOVEA.L	A7,A0
000203b0 22 4b                    |"K      |		MOVEA.L	A3,A1
000203b2 70 07                    |p       |		MOVEQ.L	#0x07,D0
000203b4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000203b6 51 c8 ff fc              |Q       |		DBF	D0,0x203b4
000203ba 4e b9 00 01 05 4a        |N    J  |		JSR	?IPC_Puts(a : Bool; b : String; c : String; d: Bool; e : Long; f : Long)
000203c0 de fc 00 14              |        |		ADDA.W	#0x14,A7
000203c4 4e b9 00 01 02 84        |N       |		JSR	?exit
000203ca					exp_REG_TO_LOOP.VAL(Sw_1, Sw_1, &Sr_2):
000203ca 4e b9 00 01 05 68        |N    h  |		JSR	Run_Experiment()
000203d0 00 10                    |        |		.CONST	0x0010			; Stack-delta
000203d2 0f 52 45 47 5f 54 4f 5f  | REG_TO_|		.TXT	15,'REG_TO_LOOP.VAL'
000203e2 00                       |        |		.CONST	0x0
000203e3 07                       |        |		.CONST	0x7			; DIPROC address
000203e4 01                       |        |		.CONST	0x1			; Output Parameters
000203e5 02                       |        |		.CONST	0x2			; Input Parameters
000203e6 00                       |        |		.CONST	0x0			; In arg [1]
000203e7 00                       |        |		.CONST	0x0			; In arg [1]
000203e8 01                       |        |		.CONST	0x1			; Out arg [2]
000203e9 00                       |        |		.PAD	0x0
000203ea					exp_READ_B_REG.VAL(Sw_2, Sw_1, &Sr_8):
000203ea 4e b9 00 01 05 68        |N    h  |		JSR	Run_Experiment()
000203f0 00 10                    |        |		.CONST	0x0010			; Stack-delta
000203f2 0e 52 45 41 44 5f 42 5f  | READ_B_|		.TXT	14,'READ_B_REG.VAL'
00020401 00                       |        |		.CONST	0x0
00020402 07                       |        |		.CONST	0x7			; DIPROC address
00020403 01                       |        |		.CONST	0x1			; Output Parameters
00020404 02                       |        |		.CONST	0x2			; Input Parameters
00020405 01                       |        |		.CONST	0x1			; In arg [2]
00020406 00                       |        |		.CONST	0x0			; In arg [1]
00020407 07                       |        |		.CONST	0x7			; Out arg [8]
00020408					exp_PREP_READ_REG.VAL():
00020408 4e b9 00 01 05 68        |N    h  |		JSR	Run_Experiment()
0002040e 00 08                    |        |		.CONST	0x0008			; Stack-delta
00020410 11 50 52 45 50 5f 52 45  | PREP_RE|		.TXT	17,'PREP_READ_REG.VAL'
00020422 00                       |        |		.CONST	0x0
00020423 07                       |        |		.CONST	0x7			; DIPROC address
00020424 00                       |        |		.CONST	0x0			; Output Parameters
00020425 00                       |        |		.CONST	0x0			; Input Parameters
00020426 57 6f 72 64 73 20 65 72  |Words er|		.TXT	'Words error :_'
00020434 ; --------------------------------------------------------------------------------------
00020434 ; OMSI PASCAL Function
00020434 ;    <LVAR  0x008 1(r)>
00020434 ; --------------------------------------------------------------------------------------
00020434					PROG_FAIL:
00020434 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
00020438 bf d5                    |        |		CMPA.L	(A5),A7
0002043a 62 06                    |b       |		BHI	0x20442
0002043c 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00020440 4e 76                    |Nv      |		TRAPV
00020442 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00020446 48 e7 80 80              |H       |		MOVEM.L	A0+D0,-(A7)
0002044a 41 fa ff e8              |A       |		LEA.L	PROG_FAIL,A0
0002044e 70 06                    |p       |		MOVEQ.L	#0x06,D0
00020450 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00020452 51 c8 ff fc              |Q       |		DBF	D0,0x20450
00020456 1f 3c 00 03              | <      |		MOVE.B	#0x03,-(A7)
0002045a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002045c 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
00020460 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
00020464 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
00020468 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002046e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00020470 10 2e 00 08              | .      |		MOVE.B	(A6+0x8),D0
00020474 48 80                    |H       |		EXTB.W	D0
00020476 48 c0                    |H       |		EXTW.L	D0
00020478 2f 00                    |/       |		MOVE.L	D0,-(A7)
0002047a 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
00020480 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00020482 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00020488 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002048a 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00020490 de fc 00 14              |        |		ADDA.W	#0x14,A7
00020494 4c df 01 01              |L       |		MOVEM.L	(A7)+,D0+A0
00020498 4e 5e                    |N^      |		UNLK	A6
0002049a 4e 75                    |Nu      |		RTS