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

⟦48815a23b⟧ M200

    Length: 14336 (0x3800)
    Types: M200
    Notes: @(#)FRU,2.1,92/01/16,12:34:56, M200_PROGRAM
    Names: »FRU.M200«

Derivation

└─⟦b434774df⟧ Bits:30000528 8mm tape, Rational 1000, DFS, D_12_6_5
    └─ ⟦this⟧ »FRU.M200« 
    └─ ⟦this⟧ »FRU.M200« 

Disassembly

0x214ba


@ 214ba
    <POP 214ba-2150a Body>                                              
        <POP 214ba-214d0 Prologue>                           Σ0         ↓
        <POP 214d0-21502 Naked>                              Σ0         ↓
            <Blob 0x214d0 [18] @>                            Δ-18               {[«18""»]}
            <POP 214e2-214e4 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x214e4 17>                                                    {[«18""»]|[$$Not yet supported]}
            <Call 0x214f8 0x103e0>                                              {[«18""»]|[$$Not yet supported]}
                WriteConsoleStringCrLf(str : String)
            <POP 214fe-21502 StackAdj>                       Δ+22               {}
        <POP 21502-2150a Epilogue>                           Σ0         

0x2150a


@ 2150a
        <LVAR -0x003 @ 1(r)>
        <LVAR -0x008 @ 4(rw)>
    <POP 2150a-215de Body>                                              
        <POP 2150a-21520 Prologue>                           Σ0         ↓
        <POP 21520-2152c RegCacheLoad>                       Σ0         ↓
        <POP 2152c-21594 Naked>                              Σ0         ↓ →0x215d6
            <Call 0x2152c 0x10538>                                              {}
                IPC_Init(void)
            <MI 21532  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Call 0x21534 0x10502>                                              {[#0]}
                IPC_PutBool(a : Bool)
            <POP 21536-21538 StackAdj>                       Δ+2                {}
            <MI 21538  MOVE.B  0x2352b,D0>                                      {}
            <MI 2153e  EXTB.W  D0>                                              {}
            <POP 0x21540 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21542  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21544 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21546-21548 StackAdj>                       Δ+2                {}
            <MI 21548  MOVE.B  0x23530,D0>                                      {}
            <MI 2154e  EXTB.W  D0>                                              {}
            <POP 0x21550 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21552  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21554 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21556-21557 StackAdj>                       Δ+2        ↓       {}
            <Blob 0x21557 [10] @>                            Δ-10               {[«10""»]}
            <POP 21566-21568 StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x21568 9>                                                     {[«10""»]|[$$RUN_UDIAG]}
            <Const 0x2157a 0x1.4>                            Δ-4                {[«10""»]|[$$RUN_UDIAG]|[##1]}
            <Const 0x2157e 0x1.2>                            Δ-2                {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]}
            <Pointer.fp 0x21580 <LVAR -0x003 @ 1(r)>>        Δ-4                {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]|[@@-3]}
            <Call 0x21584 0x103b0>                                              {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]|[@@-3]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 2158a-2158e StackAdj>                       Δ+24               {}
            <MI 2158e  TST.B   (A6-0x3)>                                        {}
            <MI 21592  BNE     0x215d6>                                         {}
        <POP 21594-215d6 Naked>                              Σ0         ↓
            <Blob 0x21594 [6] @>                             Δ-6                {[«6""»]}
            <POP 215a4-215a6 StackAdj>                       Δ-4                {[«6""»]|[-4-]}
            <Lit 0x215a6 5>                                                     {[«6""»]|[$$UDIAG]}
            <MI 215b8  MOVE.L  (A7)+,(A6-0x8)>               Δ+4                {[«6""»]}
            <POP 215ba-215bc StackAdj>                       Δ+6                {}
            <MI 215bc  MOVEA.L 0x23532,A0>                                      {}
            <MI 215c2  MOVEA.L (A6-0x8),A1>                                     {}
            <BlockMove 128,A1,A0>                                               {}
            <Pointer.fp 0x215cc <LVAR -0x008 @ 4(rw)>>       Δ-4                {[@@-8]}
            <Call 0x215ce 0x102bc>                                              {[@@-8]}
                FreeString(VAR a : String)
            <POP 215d4-215d6 StackAdj>                       Δ+4                {}
        <POP 215d6-215de Epilogue>                           Σ0         ←0x2152c

0x215de


@ 215de
        <LVAR -0x004 @>
    <POP 215de-216a8 Body>                                              
        <POP 215de-215f4 Prologue>                           Σ0         ↓
        <POP 215f4-215fc RegCacheLoad>                       Σ0         ↓
        <POP 215fc-216a0 Naked>                              Σ0         ↓
            <Call 0x215fc 0x105b6>                                              {}
                R1000_Reset_L(void)
            <Call 0x21602 0x10538>                                              {}
                IPC_Init(void)
            <Const 0x21608 0x1.2>                            Δ-2                {[#1]}
            <Call 0x2160a 0x10502>                                              {[#1]}
                IPC_PutBool(a : Bool)
            <POP 21610-21612 StackAdj>                       Δ+2                {}
            <Call 0x21612 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x21618 [10] @>                            Δ-10               {[«10""»]}
            <POP 21628-2162a StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x2162a 9>                                                     {[«10""»]|[$$CONFIGURE]}
            <Const 0x2163a 0x1.4>                            Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]}
            <Const 0x2163e 0x1.2>                            Δ-2                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]}
            <Pointer.fp 0x21640 <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
            <Call 0x21644 0x103b0>                                              {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 2164a-2164c StackAdj>                       Δ+24               {}
            <Call 0x2164c 0x10538>                                              {}
                IPC_Init(void)
            <MI 21652  MOVE.B  0x2352b,D0>                                      {}
            <MI 21658  EXTB.W  D0>                                              {}
            <POP 0x2165a LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2165c  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x2165e 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21664-21666 StackAdj>                       Δ+2                {}
            <Call 0x21666 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x2166c [10] @>                            Δ-10               {[«10""»]}
            <POP 2167c-2167e StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x2167e 9>                                                     {[«10""»]|[$$INITSTATE]}
            <Const 0x2168e 0x1.4>                            Δ-4                {[«10""»]|[$$INITSTATE]|[##1]}
            <Const 0x21692 0x1.2>                            Δ-2                {[«10""»]|[$$INITSTATE]|[##1]|[#1]}
            <Pointer.fp 0x21694 <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$INITSTATE]|[##1]|[#1]|[@@-4]}
            <Call 0x21698 0x103b0>                                              {[«10""»]|[$$INITSTATE]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 2169e-216a0 StackAdj>                       Δ+24               {}
        <POP 216a0-216a8 Epilogue>                           Σ0         

0x216a8


@ 216a8
        <LVAR  0x01c 4(r)>
        <LVAR  0x01a 1(r)>
        <LVAR  0x016 @ 4(r)>
        <LVAR  0x012 @ 4(r)>
        <LVAR  0x010 1(r)>
        <LVAR -0x003 1(w)>
    <POP 216a8-2186e Body>                                              
        <POP 216a8-216be Prologue>                           Σ0         ↓
        <POP 216be-216d0 RegCacheLoad>                       Σ0         ↓
        <POP 216d0-216d6 Naked>                              Σ0         ↓ →0x2170a
            <MI 216d0  TST.B   (A6+0x1a)>                                       {}
            <MI 216d4  BEQ     0x2170a>                                         {}
        <POP 216d6-2170a Naked>                              Σ0         →0x2184e
            <Blob 0x216d6 [8] @>                             Δ-8                {[«8""»]}
            <POP 216e6-216e8 StackAdj>                       Δ-4                {[«8""»]|[-4-]}
            <MI 216e8  MOVE.L  (A6+0x1c),-(A7)>              Δ-4                {[«8""»]|[-4-]|[4, '(A6+0x1c)']}
            <POP 216ec-216ee StackAdj>                       Δ-4                {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[-4-]}
            <Lit 0x216ee 7>                                                     {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ passed]}
            <Call 0x216fa 0x102d0>                                              {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ passed]}
                StringCat2(a, b : String) : String
            <POP 216fc-216fe StackAdj>                       Δ+8                {[«8""»]|[-4-]}
            <Call 0x216fe 0x103e0>                                              {[«8""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 21704-21706 StackAdj>                       Δ+12               {}
            <MI 21706  BRA     0x2184e>                                         {}
        <POP 2170a-2175a Naked>                              Σ0         ↓ →0x21794 ←0x216d0
            <POP 2170a-2170c StackAdj>                       Δ-2                {[-2-]}
            <MI 2170c  MOVE.L  (A6+0x1c),-(A7)>              Δ-4                {[-2-]|[4, '(A6+0x1c)']}
            <MI 21710  MOVE.L  (A6+0x16),-(A7)>              Δ-4                {[-2-]|[4, '(A6+0x1c)']|[4, '(A6+0x16)']}
            <Call 0x21714 0x102c8>                                              {[-2-]|[4, '(A6+0x1c)']|[4, '(A6+0x16)']}
                StringEqual(a, b : String) : Byte
            <POP 2171a-2171c StackAdj>                       Δ+8                {[-2-]}
            <MI 2171c  MOVE.B  (A7)+,D0>                     Δ+2                {}
            <MI 2171e  EXTB.W  D0>                                              {}
            <POP 0x21720 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21722  MOVE.B  D0,(A6-0x3)>                                     {}
            <Blob 0x21726 [8] @>                             Δ-8                {[«8""»]}
            <POP 21736-21738 StackAdj>                       Δ-4                {[«8""»]|[-4-]}
            <MI 21738  MOVE.L  (A6+0x1c),-(A7)>              Δ-4                {[«8""»]|[-4-]|[4, '(A6+0x1c)']}
            <POP 2173c-2173e StackAdj>                       Δ-4                {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[-4-]}
            <Lit 0x2173e 7>                                                     {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ failed]}
            <Call 0x2174a 0x102d0>                                              {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ failed]}
                StringCat2(a, b : String) : String
            <POP 2174c-2174e StackAdj>                       Δ+8                {[«8""»]|[-4-]}
            <Call 0x2174e 0x103e0>                                              {[«8""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 21754-21756 StackAdj>                       Δ+12               {}
            <MI 21756  TST.B   D0>                                              {}
            <MI 21758  BEQ     0x21794>                                         {}
        <POP 2175a-21794 Naked>                              Σ0         ↓
            <Blob 0x2175a [44] @>                            Δ-44               {[«44""»]}
            <POP 2176c-2176e StackAdj>                       Δ-8                {[«44""»]|[-8-]}
            <Lit 0x2176e 43>                                                    {[«44""»]|[-4-]|[$$The diagnostic which found the failure was_]}
            <MI 2177a  MOVE.L  (A6+0x16),(A7)>                                  {[«44""»]|[-4-]|[4, '(A6+0x16)']}
            <POP 21778-2177a StackAdj>                       Δ-8                {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-8-]}
            <Call 0x2177e 0x102cc>                                              {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-8-]}
                StringDup(a : String) : String
            <POP 21784-21786 StackAdj>                       Δ+4                {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-4-]}
            <Call 0x21786 0x102d0>                                              {[«44""»]|[-4-]|[4, '(A6+0x16)']|[-4-]}
                StringCat2(a, b : String) : String
            <POP 21788-2178a StackAdj>                       Δ+8                {[«44""»]|[-4-]}
            <Call 0x2178a 0x103e0>                                              {[«44""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 21790-21794 StackAdj>                       Δ+48               {}
        <POP 21794-21806 Naked>                              Σ0         ↓ ←0x2170a
            <Blob 0x21794 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21798 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 2179c-2179e StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[-8-]}
            <MI 2179e  MOVE.L  (A6+0x16),-(A7)>              Δ-4                {[«4""»]|[«4""»]|[-8-]|[4, '(A6+0x16)']}
            <Call 0x217a2 0x102cc>                                              {[«4""»]|[«4""»]|[-8-]|[4, '(A6+0x16)']}
                StringDup(a : String) : String
            <Lit 0x217a8 8>                                                     {[«4""»]|[«4""»]|[-8-]|[$$.ERRMESS]}
            <Call 0x217b6 0x102d0>                                              {[«4""»]|[«4""»]|[-8-]|[$$.ERRMESS]}
                StringCat2(a, b : String) : String
            <POP 217b8-217ba StackAdj>                       Δ+8                {[«4""»]|[«4""»]|[-4-]}
            <MI 217ba  MOVEA.L (A7)+,A4>                     Δ+4                {[«4""»]|[«4""»]}
            <POP 217bc-217be StackAdj>                       Δ+8                {}
            <Call 0x217be 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <MI 217c4  MOVE.L  A4,-(A7)>                     Δ-4                {[4, 'A4']}
            <MI 217c6  MOVE.L  (A6+0x12),-(A7)>              Δ-4                {[4, 'A4']|[4, '(A6+0x12)']}
            <MI 217ca  CLR.L   D0>                                              {[4, 'A4']|[4, '(A6+0x12)']}
            <MI 217cc  MOVE.B  (A6+0x10),D0>                                    {[4, 'A4']|[4, '(A6+0x12)']}
            <MI 217d0  MOVE.L  D0,-(A7)>                     Δ-4                {[4, 'A4']|[4, '(A6+0x12)']|[4, 'D0']}
            <Call 0x217d2 0x1044c>                                              {[4, 'A4']|[4, '(A6+0x12)']|[4, 'D0']}
                WriteErrorMessage(file : String; txt : String; number : Long) : Bool
            <POP 217d8-217d9 StackAdj>                       Δ+12       ↓       {}
            <Blob 0x217d9 [26] @>                            Δ-26               {[«26""»]}
            <POP 217ea-217ec StackAdj>                       Δ-4                {[«26""»]|[-4-]}
            <Lit 0x217ec 25>                                                    {[«26""»]|[$$Field replaceable units :]}
            <Call 0x217fa 0x103e0>                                              {[«26""»]|[$$Field replaceable units :]}
                WriteConsoleStringCrLf(str : String)
            <POP 21800-21804 StackAdj>                       Δ+30               {}
            <MI 21804  MOVEQ.L #0x00,D7>                                        {}
        <POP 21806-21822 Naked>                              Σ0         ↓ →0x21848 ←0x21848
            <POP 0x21806 LimitCheck 0x0 ≤ D7 ≤ 0x7>                             {}
            <MI 2180c  CLR.L   D0>                                              {}
            <MI 2180e  MOVE.B  (A6+D7.L+#0x8),D0>                               {}
            <MI 21812  MOVE.L  D0,D6>                                           {}
            <MI 21814  MOVE.B  D6,-(A7)>                     Δ-2                {[2, 'D6']}
            <MI 21816  MOVE.B  (A7)+,D0>                     Δ+2                {}
            <MI 21818  EXTB.W  D0>                                              {}
            <POP 0x2181a LimitCheck 0x0 ≤ D0 ≤ 0x4f>                            {}
            <MI 2181e  MOVE.B  D0,D5>                                           {}
            <MI 21820  BEQ     0x21848>                                         {}
        <POP 21822-21848 Naked>                              Σ0         ↓
            <Blob 0x21822 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21826 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <Blob 0x2182a [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]}
            <POP 2182e-21830 StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[«4""»]|[-4-]}
            <Lit 0x21830 12>                                                    {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]}
            <POP 2183a-2183c StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[-4-]}
            <MI 2183c  MOVE.L  D6,(A7)>                                         {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[4, 'D6']}
            <Call 0x2183e 0x10450>                                              {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[4, 'D6']}
                FS_10450(&, &)
            <POP 21844-21848 StackAdj>                       Δ+20               {}
        <POP 21848-2184e Naked>                              Σ0         ↓ →0x21806 ←0x21806
            <MI 21848  ADDQ.L  #0x1,D7>                                         {}
            <MI 2184a  CMP.L   #0x07,D7>                                        {}
            <MI 2184c  BLE     0x21806>                                         {}
        <POP 2184e-21866 Naked>                              Σ0         ↓ ←0x216d6
            <Pointer.fp 0x2184e <LVAR  0x012 @ 4(r)>>        Δ-4                {[@@18]}
            <Call 0x21852 0x102bc>                                              {[@@18]}
                FreeString(VAR a : String)
            <POP 21858-2185a StackAdj>                       Δ+4                {}
            <Pointer.fp 0x2185a <LVAR  0x016 @ 4(r)>>        Δ-4                {[@@22]}
            <Call 0x2185e 0x102bc>                                              {[@@22]}
                FreeString(VAR a : String)
            <POP 21864-21866 StackAdj>                       Δ+4                {}
        <POP 21866-2186e Epilogue>                           Σ0         

0x2186e


@ 2186e
        <LVAR  0x00e 4(r)>
        <LVAR  0x00c 1(r)>
        <LVAR  0x008 4(r)>
        <LVAR -0x004 1(rw)>
        <LVAR -0x009 @ 1(r)>
        <LVAR -0x011 @>
        <LVAR -0x012 @ 1(r)>
        <LVAR -0x016 @ 4(r)>
        <LVAR -0x01a @ 4(r)>
        <LVAR -0x01e @ 4(rw)>
    <POP 2186e-21a1c Body>                                              
        <POP 2186e-21884 Prologue>                           Σ0         ↓
        <POP 21884-21892 RegCacheLoad>                       Σ0         ↓
        <POP 21892-2194a Naked>                              Σ0         ↓ →0x21a14
            <MI 21892  MOVE.B  (A6+0xc),(A6-0x4)>                               {}
            <Blob 0x21898 [2] @>                             Δ-2                {[«2""»]}
            <POP 2189c-2189e StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <POP 2189e-2189f StackAdj>                       Δ+2                {[«2""»]|[-2-]}
            <Blob 0x2189f [2] @>                             Δ-2                {[«2""»]|[-2-]|[«2""»]}
            <MI 218a2  MOVE.B  0x201cb,(A7+0x1)>                                {[«2""»]|[-2-]|[«2""»]}
            <MI 218a8  MOVE.B  0x201cc,(A7+0x2)>                                {[«2""»]|[-2-]|[«2""»]}
            <POP 218ae-218b0 StackAdj>                       Δ-8                {[«2""»]|[-2-]|[«2""»]|[-8-]}
            <Lit 0x218b0 2>                                                     {[«2""»]|[-2-]|[«2""»]|[-4-]|[$$P ]}
            <MI 218c0  MOVE.L  (A6+0xe),(A7)>                                   {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']}
            <POP 218ba-218c0 StackAdj>                       Δ-8                {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
            <Call 0x218c4 0x102e4>                                              {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
                Long2String(a : Long) : String
            <Lit 0x218ca>                                                       {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$…]}
                <Pointer.sp 0x218ca 16>                      Δ-4        
                <Const 0x218ce 0x1.2>                        Δ-2        
                <Const 0x218d0 0x3.2>                        Δ-2        
                <Call 0x218d4 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 218da-218dc StackAdj>                   Δ+8        
            <Call 0x218dc 0x102d4>                                              {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$…]}
                StringCat3(a, b, c : String) : String
            <POP 218e2-218e4 StackAdj>                       Δ+12               {[«2""»]|[-2-]|[«2""»]|[-4-]}
            <MI 218e4  MOVEA.L (A7)+,A4>                     Δ+4                {[«2""»]|[-2-]|[«2""»]}
            <POP 218e6-218e8 StackAdj>                       Δ+6                {}
            <Call 0x218e8 0x10538>                                              {}
                IPC_Init(void)
            <MI 218ee  MOVE.B  (A6-0x4),-(A7)>               Δ-2                {[2, '(A6-0x4)']}
            <MI 218f2  PEA.L   (A7)>                         Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']}
            <Const 0x218f4 0x0.4>                            Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]}
            <Const 0x218f6 0x0.4>                            Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]}
            <Call 0x218f8 0x104fc>                                              {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]}
                IPC_PutVar(src : Pointer; length : Long ; type : Long)
            <POP 218fe-21900 StackAdj>                       Δ+14               {}
            <MI 21900  MOVE.B  0x2352a,D0>                                      {}
            <MI 21906  EXTB.W  D0>                                              {}
            <POP 0x21908 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2190a  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x2190c 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21912-21914 StackAdj>                       Δ+2                {}
            <MI 21914  MOVE.B  0x2352b,D0>                                      {}
            <MI 2191a  EXTB.W  D0>                                              {}
            <POP 0x2191c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2191e  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21920 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21926-21928 StackAdj>                       Δ+2                {}
            <Call 0x21928 0x10514>                                              {}
                IPC_PutEnd(void)
            <MI 2192e  MOVE.L  A4,-(A7)>                     Δ-4                {[4, 'A4']}
            <Const 0x21930 0x1.4>                            Δ-4                {[4, 'A4']|[##1]}
            <Const 0x21934 0x1.2>                            Δ-2                {[4, 'A4']|[##1]|[#1]}
            <Pointer.fp 0x21936 <LVAR -0x009 @ 1(r)>>        Δ-4                {[4, 'A4']|[##1]|[#1]|[@@-9]}
            <Call 0x2193a 0x103b0>                                              {[4, 'A4']|[##1]|[#1]|[@@-9]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 21940-21942 StackAdj>                       Δ+14               {}
            <MI 21942  TST.B   (A6-0x9)>                                        {}
            <MI 21946  BNE     0x21a14>                                         {}
        <POP 2194a-219ac Naked>                              Σ0         ↓ →0x219ec
            <Call 0x2194a 0x10538>                                              {}
                IPC_Init(void)
            <MI 21950  MOVEA.L (A6+0x8),A0>                                     {}
            <MI 21954  PEA.L   (A0)>                         Δ-4                {[4, '^(A0)']}
            <Call 0x21956 0x10526>                                              {[4, '^(A0)']}
                IPC_GetBool() : Bool
            <POP 2195c-2195e StackAdj>                       Δ+4                {}
            <Pointer.fp 0x2195e <LVAR -0x01e @ 4(rw)>>       Δ-4                {[@@-30]}
            <Call 0x21960 0x1052c>                                              {[@@-30]}
                IPC_GetString(VAR retval : String)
            <POP 21966-21968 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21968 <LVAR -0x01a @ 4(r)>>        Δ-4                {[@@-26]}
            <Call 0x2196c 0x1052c>                                              {[@@-26]}
                IPC_GetString(VAR retval : String)
            <POP 21972-21974 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21974 <LVAR -0x016 @ 4(r)>>        Δ-4                {[@@-22]}
            <Call 0x21978 0x1052c>                                              {[@@-22]}
                IPC_GetString(VAR retval : String)
            <POP 2197e-21980 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21980 <LVAR -0x012 @ 1(r)>>        Δ-4                {[@@-18]}
            <Const 0x21984 0x0.4>                            Δ-4                {[@@-18]|[##0]}
            <Const 0x21986 0x0.4>                            Δ-4                {[@@-18]|[##0]|[##0]}
            <Call 0x21988 0x10520>                                              {[@@-18]|[##0]|[##0]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 2198e-21990 StackAdj>                       Δ+12               {}
            <Pointer.fp 0x21990 <LVAR -0x011 @>>             Δ-4                {[@@-17]}
            <Const 0x21994 0x0.4>                            Δ-4                {[@@-17]|[##0]}
            <Const 0x21996 0x7.4>                            Δ-4                {[@@-17]|[##0]|[##7]}
            <Call 0x2199a 0x10520>                                              {[@@-17]|[##0]|[##7]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 219a0-219a2 StackAdj>                       Δ+12               {}
            <Call 0x219a2 0x1051a>                                              {}
                IPC_GetEnd(void)
            <MI 219a8  TST.B   (A0)>                                            {}
            <MI 219aa  BEQ     0x219ec>                                         {}
        <POP 219ac-219ec Naked>                              Σ0         ↓
            <Pointer.fp 0x219ac <LVAR -0x01e @ 4(rw)>>       Δ-4                {[@@-30]}
            <Call 0x219ae 0x102bc>                                              {[@@-30]}
                FreeString(VAR a : String)
            <POP 219b4-219b6 StackAdj>                       Δ+2                {[-2-]}
            <POP 219b6-219b7 StackAdj>                       Δ+2                {}
            <Blob 0x219b7 [2] @>                             Δ-2                {[«2""»]}
            <Blob 0x219ba [2] @>                             Δ-2                {[«2""»]|[«2""»]}
            <Blob 0x219be [2] @>                             Δ-2                {[«2""»]|[«2""»]|[«2""»]}
            <POP 219c2-219c4 StackAdj>                       Δ-8                {[«2""»]|[«2""»]|[«2""»]|[-8-]}
            <Lit 0x219c4 6>                                                     {[«2""»]|[«2""»]|[«2""»]|[-4-]|[$$Phase_]}
            <MI 219d4  MOVE.L  (A6+0xe),(A7)>                                   {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']}
            <POP 219ce-219d4 StackAdj>                       Δ-8                {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
            <Call 0x219d8 0x102e4>                                              {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
                Long2String(a : Long) : String
            <POP 219de-219e0 StackAdj>                       Δ+4                {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]}
            <Call 0x219e0 0x102d0>                                              {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]}
                StringCat2(a, b : String) : String
            <POP 219e6-219e8 StackAdj>                       Δ+8                {[«2""»]|[«2""»]|[«2""»]|[-4-]}
            <MI 219e8  MOVE.L  (A7)+,(A6-0x1e)>              Δ+4                {[«2""»]|[«2""»]|[«2""»]}
            <POP 219ea-219ec StackAdj>                       Δ+6                {}
        <POP 219ec-21a14 Naked>                              Σ0         ↓ ←0x2194a
            <MI 219ec  MOVE.L  (A6-0x1e),-(A7)>              Δ-4                {[4, '(A6-0x1e)']}
            <MI 219ee  MOVE.B  (A0),-(A7)>                   Δ-2                {[4, '(A6-0x1e)']|[2, '(A0)']}
            <MI 219f0  MOVE.L  (A6-0x1a),-(A7)>              Δ-4                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']}
            <MI 219f4  MOVE.L  (A6-0x16),-(A7)>              Δ-4                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']}
            <MI 219f8  MOVE.B  (A6-0x12),-(A7)>              Δ-2                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']}
            <Blob 0x219fc [8] (A6-0x11)>                     Δ-8                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']|[«8»]}
            <Call 0x21a0c 0x216a8>                                              {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']|[«8»]}
            <POP 21a10-21a14 StackAdj>                       Δ+24               {}
        <POP 21a14-21a1c Epilogue>                           Σ0         ←0x21892

0x21a1c


@ 21a1c
        <LVAR  0x00c @ 4(r)>
        <LVAR  0x008 4(r)>
        <LVAR -0x003 @ 1(r)>
        <LVAR -0x00b @>
        <LVAR -0x00c @ 1(r)>
        <LVAR -0x010 @ 4(r)>
        <LVAR -0x014 @ 4(r)>
    <POP 21a1c-21b5c Body>                                              
        <POP 21a1c-21a32 Prologue>                           Σ0         ↓
        <POP 21a32-21a3e RegCacheLoad>                       Σ0         ↓
        <POP 21a3e-21acc Naked>                              Σ0         ↓ →0x21ad8
            <Call 0x21a3e 0x10538>                                              {}
                IPC_Init(void)
            <MI 21a44  MOVE.B  0x2352a,D0>                                      {}
            <MI 21a4a  EXTB.W  D0>                                              {}
            <POP 0x21a4c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21a4e  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21a50 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21a56-21a58 StackAdj>                       Δ+2                {}
            <MI 21a58  MOVE.B  0x2352b,D0>                                      {}
            <MI 21a5e  EXTB.W  D0>                                              {}
            <POP 0x21a60 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21a62  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21a64 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21a6a-21a6c StackAdj>                       Δ+2                {}
            <Call 0x21a6c 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x21a72 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21a76 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <Blob 0x21a7a [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]}
            <POP 21a7e-21a80 StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[-8-]}
            <Lit 0x21a80 12>                                                    {[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$Running FRU_]}
            <MI 21a8e  MOVE.L  (A6+0xc),(A7)>                                   {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']}
            <POP 21a88-21a8e StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-8-]}
            <Call 0x21a90 0x102cc>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-8-]}
                StringDup(a : String) : String
            <POP 21a96-21a98 StackAdj>                       Δ+4                {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-4-]}
            <Call 0x21a98 0x102d0>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xc)']|[-4-]}
                StringCat2(a, b : String) : String
            <POP 21a9e-21aa0 StackAdj>                       Δ+8                {[«4""»]|[«4""»]|[«4""»]|[-4-]}
            <Call 0x21aa0 0x103e0>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 21aa6-21aa8 StackAdj>                       Δ+8                {[«4""»]|[«4""»]}
            <MI 21aa8  MOVE.L  (A6+0xc),(A7)>                                   {[«4""»]|[4, '(A6+0xc)']}
            <Call 0x21aaa 0x102cc>                                              {[«4""»]|[4, '(A6+0xc)']}
                StringDup(a : String) : String
            <POP 21ab0-21ab2 StackAdj>                       Δ+4                {[«4""»]}
            <Const 0x21ab2 0x1.4>                            Δ-4                {[«4""»]|[##1]}
            <Const 0x21ab6 0x1.2>                            Δ-2                {[«4""»]|[##1]|[#1]}
            <Pointer.fp 0x21ab8 <LVAR -0x003 @ 1(r)>>        Δ-4                {[«4""»]|[##1]|[#1]|[@@-3]}
            <Call 0x21abc 0x103b0>                                              {[«4""»]|[##1]|[#1]|[@@-3]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 21ac2-21ac6 StackAdj>                       Δ+14               {}
            <MI 21ac6  TST.B   (A6-0x3)>                                        {}
            <MI 21aca  BEQ     0x21ad8>                                         {}
        <POP 21acc-21ad8 Naked>                              Σ0         →0x21b54
            <Pointer.fp 0x21acc <LVAR  0x00c @ 4(r)>>        Δ-4                {[@@12]}
            <Call 0x21ace 0x102bc>                                              {[@@12]}
                FreeString(VAR a : String)
            <POP 21ad4-21ad6 StackAdj>                       Δ+4                {}
            <MI 21ad6  BRA     0x21b54>                                         {}
        <POP 21ad8-21b54 Naked>                              Σ0         ↓ ←0x21a3e
            <Call 0x21ad8 0x10538>                                              {}
                IPC_Init(void)
            <MI 21ade  MOVEA.L (A6+0x8),A0>                                     {}
            <MI 21ae2  PEA.L   (A0)>                         Δ-4                {[4, '^(A0)']}
            <Call 0x21ae4 0x10526>                                              {[4, '^(A0)']}
                IPC_GetBool() : Bool
            <POP 21aea-21aec StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21aec <LVAR -0x014 @ 4(r)>>        Δ-4                {[@@-20]}
            <Call 0x21af0 0x1052c>                                              {[@@-20]}
                IPC_GetString(VAR retval : String)
            <POP 21af6-21af8 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21af8 <LVAR -0x010 @ 4(r)>>        Δ-4                {[@@-16]}
            <Call 0x21afc 0x1052c>                                              {[@@-16]}
                IPC_GetString(VAR retval : String)
            <POP 21b02-21b04 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21b04 <LVAR -0x00c @ 1(r)>>        Δ-4                {[@@-12]}
            <Const 0x21b08 0x0.4>                            Δ-4                {[@@-12]|[##0]}
            <Const 0x21b0a 0x0.4>                            Δ-4                {[@@-12]|[##0]|[##0]}
            <Call 0x21b0c 0x10520>                                              {[@@-12]|[##0]|[##0]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21b12-21b14 StackAdj>                       Δ+12               {}
            <Pointer.fp 0x21b14 <LVAR -0x00b @>>             Δ-4                {[@@-11]}
            <Const 0x21b18 0x0.4>                            Δ-4                {[@@-11]|[##0]}
            <Const 0x21b1a 0x7.4>                            Δ-4                {[@@-11]|[##0]|[##7]}
            <Call 0x21b1e 0x10520>                                              {[@@-11]|[##0]|[##7]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21b24-21b26 StackAdj>                       Δ+12               {}
            <Call 0x21b26 0x1051a>                                              {}
                IPC_GetEnd(void)
            <MI 21b2c  MOVE.L  (A6+0xc),-(A7)>               Δ-4                {[4, '(A6+0xc)']}
            <MI 21b2e  MOVE.B  (A0),-(A7)>                   Δ-2                {[4, '(A6+0xc)']|[2, '(A0)']}
            <MI 21b30  MOVE.L  (A6-0x14),-(A7)>              Δ-4                {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']}
            <MI 21b34  MOVE.L  (A6-0x10),-(A7)>              Δ-4                {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']}
            <MI 21b38  MOVE.B  (A6-0xc),-(A7)>               Δ-2                {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']}
            <Blob 0x21b3c [8] (A6-0xb)>                      Δ-8                {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']|[«8»]}
            <Call 0x21b4c 0x216a8>                                              {[4, '(A6+0xc)']|[2, '(A0)']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']|[«8»]}
            <POP 21b50-21b54 StackAdj>                       Δ+24               {}
        <POP 21b54-21b5c Epilogue>                           Σ0         ←0x21acc

0x21b5c


@ 21b5c
        <LVAR  0x00e @ 4(r)>
        <LVAR  0x00c 1(r)>
        <LVAR  0x008 4(r)>
        <LVAR -0x004 1(rw)>
        <LVAR -0x005 @ 1(r)>
        <LVAR -0x00d @>
        <LVAR -0x00e @ 1(r)>
        <LVAR -0x012 @ 4(r)>
        <LVAR -0x016 @ 4(r)>
    <POP 21b5c-21cd6 Body>                                              
        <POP 21b5c-21b72 Prologue>                           Σ0         ↓
        <POP 21b72-21b80 RegCacheLoad>                       Σ0         ↓
        <POP 21b80-21c46 Naked>                              Σ0         ↓ →0x21c52
            <MI 21b80  MOVE.B  (A6+0xc),(A6-0x4)>                               {}
            <Call 0x21b86 0x10538>                                              {}
                IPC_Init(void)
            <MI 21b8c  MOVE.B  (A6-0x4),-(A7)>               Δ-2                {[2, '(A6-0x4)']}
            <MI 21b90  PEA.L   (A7)>                         Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']}
            <Const 0x21b92 0x0.4>                            Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]}
            <Const 0x21b94 0x0.4>                            Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]}
            <Call 0x21b96 0x104fc>                                              {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]}
                IPC_PutVar(src : Pointer; length : Long ; type : Long)
            <POP 21b9c-21b9e StackAdj>                       Δ+14               {}
            <MI 21b9e  MOVE.B  0x2352a,D0>                                      {}
            <MI 21ba4  EXTB.W  D0>                                              {}
            <POP 0x21ba6 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21ba8  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21baa 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21bb0-21bb2 StackAdj>                       Δ+2                {}
            <MI 21bb2  MOVE.B  0x2352b,D0>                                      {}
            <MI 21bb8  EXTB.W  D0>                                              {}
            <POP 0x21bba LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21bbc  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21bbe 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21bc4-21bc6 StackAdj>                       Δ+2                {}
            <Call 0x21bc6 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x21bcc [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21bd0 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <Blob 0x21bd4 [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]}
            <Blob 0x21bd8 [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]|[«4""»]}
            <POP 21bdc-21bde StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-8-]}
            <Lit 0x21bde 12>                                                    {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$Running FRU_]}
            <MI 21bec  MOVE.L  (A6+0xe),(A7)>                                   {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']}
            <POP 21be6-21bec StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
            <Call 0x21bee 0x102cc>                                              {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
                StringDup(a : String) : String
            <Lit 0x21bf4 4>                                                     {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]}
            <POP 21c04-21c06 StackAdj>                       Δ-6                {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-6-]}
            <MI 21c06  MOVE.B  (A6+0xc),(A7)>                                   {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-6-]}
            <Call 0x21c0a 0x1049c>                                              {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-6-]}
                BoardName(address : B) : String
            <POP 21c10-21c12 StackAdj>                       Δ+2                {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-4-]}
            <Call 0x21c12 0x102d8>                                              {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$ on_]|[-4-]}
                StringCat4(a, b, c, d : String) : String
            <POP 21c18-21c1c StackAdj>                       Δ+16               {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]}
            <Call 0x21c1c 0x103e0>                                              {[«4""»]|[«4""»]|[«4""»]|[«4""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 21c22-21c24 StackAdj>                       Δ+12               {[«4""»]|[«4""»]}
            <MI 21c24  MOVE.L  (A6+0xe),(A7)>                                   {[«4""»]|[4, '(A6+0xe)']}
            <Call 0x21c26 0x102cc>                                              {[«4""»]|[4, '(A6+0xe)']}
                StringDup(a : String) : String
            <POP 21c2c-21c2e StackAdj>                       Δ+4                {[«4""»]}
            <Const 0x21c2e 0x1.4>                            Δ-4                {[«4""»]|[##1]}
            <Const 0x21c32 0x1.2>                            Δ-2                {[«4""»]|[##1]|[#1]}
            <Pointer.fp 0x21c34 <LVAR -0x005 @ 1(r)>>        Δ-4                {[«4""»]|[##1]|[#1]|[@@-5]}
            <Call 0x21c38 0x103b0>                                              {[«4""»]|[##1]|[#1]|[@@-5]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 21c3e-21c40 StackAdj>                       Δ+14               {}
            <MI 21c40  TST.B   (A6-0x5)>                                        {}
            <MI 21c44  BEQ     0x21c52>                                         {}
        <POP 21c46-21c52 Naked>                              Σ0         →0x21cce
            <Pointer.fp 0x21c46 <LVAR  0x00e @ 4(r)>>        Δ-4                {[@@14]}
            <Call 0x21c48 0x102bc>                                              {[@@14]}
                FreeString(VAR a : String)
            <POP 21c4e-21c50 StackAdj>                       Δ+4                {}
            <MI 21c50  BRA     0x21cce>                                         {}
        <POP 21c52-21cce Naked>                              Σ0         ↓ ←0x21b80
            <Call 0x21c52 0x10538>                                              {}
                IPC_Init(void)
            <MI 21c58  MOVEA.L (A6+0x8),A0>                                     {}
            <MI 21c5c  PEA.L   (A0)>                         Δ-4                {[4, '^(A0)']}
            <Call 0x21c5e 0x10526>                                              {[4, '^(A0)']}
                IPC_GetBool() : Bool
            <POP 21c64-21c66 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21c66 <LVAR -0x016 @ 4(r)>>        Δ-4                {[@@-22]}
            <Call 0x21c6a 0x1052c>                                              {[@@-22]}
                IPC_GetString(VAR retval : String)
            <POP 21c70-21c72 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21c72 <LVAR -0x012 @ 4(r)>>        Δ-4                {[@@-18]}
            <Call 0x21c76 0x1052c>                                              {[@@-18]}
                IPC_GetString(VAR retval : String)
            <POP 21c7c-21c7e StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21c7e <LVAR -0x00e @ 1(r)>>        Δ-4                {[@@-14]}
            <Const 0x21c82 0x0.4>                            Δ-4                {[@@-14]|[##0]}
            <Const 0x21c84 0x0.4>                            Δ-4                {[@@-14]|[##0]|[##0]}
            <Call 0x21c86 0x10520>                                              {[@@-14]|[##0]|[##0]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21c8c-21c8e StackAdj>                       Δ+12               {}
            <Pointer.fp 0x21c8e <LVAR -0x00d @>>             Δ-4                {[@@-13]}
            <Const 0x21c92 0x0.4>                            Δ-4                {[@@-13]|[##0]}
            <Const 0x21c94 0x7.4>                            Δ-4                {[@@-13]|[##0]|[##7]}
            <Call 0x21c98 0x10520>                                              {[@@-13]|[##0]|[##7]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21c9e-21ca0 StackAdj>                       Δ+12               {}
            <Call 0x21ca0 0x1051a>                                              {}
                IPC_GetEnd(void)
            <MI 21ca6  MOVE.L  (A6+0xe),-(A7)>               Δ-4                {[4, '(A6+0xe)']}
            <MI 21ca8  MOVE.B  (A0),-(A7)>                   Δ-2                {[4, '(A6+0xe)']|[2, '(A0)']}
            <MI 21caa  MOVE.L  (A6-0x16),-(A7)>              Δ-4                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']}
            <MI 21cae  MOVE.L  (A6-0x12),-(A7)>              Δ-4                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']}
            <MI 21cb2  MOVE.B  (A6-0xe),-(A7)>               Δ-2                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']}
            <Blob 0x21cb6 [8] (A6-0xd)>                      Δ-8                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]}
            <Call 0x21cc6 0x216a8>                                              {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]}
            <POP 21cca-21cce StackAdj>                       Δ+24               {}
        <POP 21cce-21cd6 Epilogue>                           Σ0         ←0x21c46

0x21cd6


@ 21cd6
        <LVAR  0x00e @ 4(r)>
        <LVAR  0x00c 1(r)>
        <LVAR  0x008 4(r)>
        <LVAR -0x003 1(rw)>
        <LVAR -0x005 @ 1(r)>
        <LVAR -0x00d @>
        <LVAR -0x00e @ 1(r)>
        <LVAR -0x012 @ 4(r)>
        <LVAR -0x016 @ 4(r)>
    <POP 21cd6-21e6a Body>                                              
        <POP 21cd6-21cec Prologue>                           Σ0         ↓
        <POP 21cec-21d00 RegCacheLoad>                       Σ0         ↓
        <POP 21d00-21dc8 Naked>                              Σ0         ↓ →0x21dd6
            <MI 21d00  MOVE.B  (A6+0xc),(A6-0x3)>                               {}
            <POP 21d06-21d08 StackAdj>                       Δ-2                {[-2-]}
            <Blob 0x21d08 [4] 0x23532>                       Δ-4                {[-2-]|[«4»]}
            <MI 21d0e  MOVE.L  (A6+0xe),-(A7)>               Δ-4                {[-2-]|[«4»]|[4, '(A6+0xe)']}
            <Call 0x21d10 0x102c8>                                              {[-2-]|[«4»]|[4, '(A6+0xe)']}
                StringEqual(a, b : String) : Byte
            <POP 21d16-21d18 StackAdj>                       Δ+8                {[-2-]}
            <MI 21d18  MOVE.B  (A7)+,D0>                     Δ+2                {}
            <MI 21d1a  NEG.B   D0>                                              {}
            <MI 21d1c  ADDQ.B  #0x1,D0>                                         {}
            <MI 21d1e  OR.B    0x23530,D0>                                      {}
            <MI 21d24  EXTB.W  D0>                                              {}
            <POP 0x21d26 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21d28  MOVE.B  D0,D7>                                           {}
            <Call 0x21d2a 0x10538>                                              {}
                IPC_Init(void)
            <MI 21d30  MOVE.B  (A6-0x3),-(A7)>               Δ-2                {[2, '(A6-0x3)']}
            <MI 21d34  PEA.L   (A7)>                         Δ-4                {[2, '(A6-0x3)']|[4, '^(A7)']}
            <Const 0x21d36 0x0.4>                            Δ-4                {[2, '(A6-0x3)']|[4, '^(A7)']|[##0]}
            <Const 0x21d38 0x0.4>                            Δ-4                {[2, '(A6-0x3)']|[4, '^(A7)']|[##0]|[##0]}
            <Call 0x21d3a 0x104fc>                                              {[2, '(A6-0x3)']|[4, '^(A7)']|[##0]|[##0]}
                IPC_PutVar(src : Pointer; length : Long ; type : Long)
            <POP 21d40-21d42 StackAdj>                       Δ+14               {}
            <MI 21d42  MOVE.B  0x2352a,D0>                                      {}
            <MI 21d48  EXTB.W  D0>                                              {}
            <POP 0x21d4a LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21d4c  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21d4e 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21d50-21d52 StackAdj>                       Δ+2                {}
            <MI 21d52  MOVE.B  0x2352b,D0>                                      {}
            <MI 21d58  EXTB.W  D0>                                              {}
            <POP 0x21d5a LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 21d5c  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21d5e 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <MI 21d60  MOVE.B  D7,(A7)>                                         {[-2-]}
            <Call 0x21d62 0x10502>                                              {[-2-]}
                IPC_PutBool(a : Bool)
            <MI 21d64  MOVE.B  D7,(A7)>                                         {[-2-]}
            <Call 0x21d66 0x10502>                                              {[-2-]}
                IPC_PutBool(a : Bool)
            <POP 21d68-21d6a StackAdj>                       Δ+2                {}
            <Call 0x21d6a 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x21d70 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21d74 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <Blob 0x21d78 [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]}
            <POP 21d7c-21d7e StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[-8-]}
            <Lit 0x21d7e 12>                                                    {[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$Running FRU_]}
            <MI 21d8c  MOVE.L  (A6+0xe),(A7)>                                   {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']}
            <POP 21d86-21d8c StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
            <Call 0x21d8e 0x102cc>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
                StringDup(a : String) : String
            <POP 21d94-21d96 StackAdj>                       Δ+4                {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]}
            <Call 0x21d96 0x102d0>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, '(A6+0xe)']|[-4-]}
                StringCat2(a, b : String) : String
            <POP 21d9c-21d9e StackAdj>                       Δ+8                {[«4""»]|[«4""»]|[«4""»]|[-4-]}
            <Call 0x21d9e 0x103e0>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 21da4-21da6 StackAdj>                       Δ+8                {[«4""»]|[«4""»]}
            <MI 21da6  MOVE.L  (A6+0xe),(A7)>                                   {[«4""»]|[4, '(A6+0xe)']}
            <Call 0x21da8 0x102cc>                                              {[«4""»]|[4, '(A6+0xe)']}
                StringDup(a : String) : String
            <POP 21dae-21db0 StackAdj>                       Δ+4                {[«4""»]}
            <Const 0x21db0 0x1.4>                            Δ-4                {[«4""»]|[##1]}
            <Const 0x21db4 0x1.2>                            Δ-2                {[«4""»]|[##1]|[#1]}
            <Pointer.fp 0x21db6 <LVAR -0x005 @ 1(r)>>        Δ-4                {[«4""»]|[##1]|[#1]|[@@-5]}
            <Call 0x21dba 0x103b0>                                              {[«4""»]|[##1]|[#1]|[@@-5]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 21dc0-21dc2 StackAdj>                       Δ+14               {}
            <MI 21dc2  TST.B   (A6-0x5)>                                        {}
            <MI 21dc6  BEQ     0x21dd6>                                         {}
        <POP 21dc8-21dd6 Naked>                              Σ0         →0x21e62
            <Pointer.fp 0x21dc8 <LVAR  0x00e @ 4(r)>>        Δ-4                {[@@14]}
            <Call 0x21dca 0x102bc>                                              {[@@14]}
                FreeString(VAR a : String)
            <POP 21dd0-21dd2 StackAdj>                       Δ+4                {}
            <MI 21dd2  BRA     0x21e62>                                         {}
        <POP 21dd6-21e62 Naked>                              Σ0         ↓ ←0x21d00
            <MI 21dd6  MOVEA.L 0x23532,A0>                                      {}
            <MI 21ddc  MOVEA.L (A6+0xe),A1>                                     {}
            <BlockMove 128,A1,A0>                                               {}
            <Call 0x21de6 0x10538>                                              {}
                IPC_Init(void)
            <MI 21dec  MOVEA.L (A6+0x8),A0>                                     {}
            <MI 21df0  PEA.L   (A0)>                         Δ-4                {[4, '^(A0)']}
            <Call 0x21df2 0x10526>                                              {[4, '^(A0)']}
                IPC_GetBool() : Bool
            <POP 21df8-21dfa StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21dfa <LVAR -0x016 @ 4(r)>>        Δ-4                {[@@-22]}
            <Call 0x21dfe 0x1052c>                                              {[@@-22]}
                IPC_GetString(VAR retval : String)
            <POP 21e04-21e06 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21e06 <LVAR -0x012 @ 4(r)>>        Δ-4                {[@@-18]}
            <Call 0x21e0a 0x1052c>                                              {[@@-18]}
                IPC_GetString(VAR retval : String)
            <POP 21e10-21e12 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21e12 <LVAR -0x00e @ 1(r)>>        Δ-4                {[@@-14]}
            <Const 0x21e16 0x0.4>                            Δ-4                {[@@-14]|[##0]}
            <Const 0x21e18 0x0.4>                            Δ-4                {[@@-14]|[##0]|[##0]}
            <Call 0x21e1a 0x10520>                                              {[@@-14]|[##0]|[##0]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21e20-21e22 StackAdj>                       Δ+12               {}
            <Pointer.fp 0x21e22 <LVAR -0x00d @>>             Δ-4                {[@@-13]}
            <Const 0x21e26 0x0.4>                            Δ-4                {[@@-13]|[##0]}
            <Const 0x21e28 0x7.4>                            Δ-4                {[@@-13]|[##0]|[##7]}
            <Call 0x21e2c 0x10520>                                              {[@@-13]|[##0]|[##7]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21e32-21e34 StackAdj>                       Δ+12               {}
            <Call 0x21e34 0x1051a>                                              {}
                IPC_GetEnd(void)
            <MI 21e3a  MOVE.L  (A6+0xe),-(A7)>               Δ-4                {[4, '(A6+0xe)']}
            <MI 21e3c  MOVE.B  (A0),-(A7)>                   Δ-2                {[4, '(A6+0xe)']|[2, '(A0)']}
            <MI 21e3e  MOVE.L  (A6-0x16),-(A7)>              Δ-4                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']}
            <MI 21e42  MOVE.L  (A6-0x12),-(A7)>              Δ-4                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']}
            <MI 21e46  MOVE.B  (A6-0xe),-(A7)>               Δ-2                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']}
            <Blob 0x21e4a [8] (A6-0xd)>                      Δ-8                {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]}
            <Call 0x21e5a 0x216a8>                                              {[4, '(A6+0xe)']|[2, '(A0)']|[4, '(A6-0x16)']|[4, '(A6-0x12)']|[2, '(A6-0xe)']|[«8»]}
            <POP 21e5e-21e62 StackAdj>                       Δ+24               {}
        <POP 21e62-21e6a Epilogue>                           Σ0         ←0x21dc8

0x21e6a


@ 21e6a
        <LVAR  0x008 1(r)>
        <LVAR -0x001 @ 1(r)>
    <POP 21e6a-21eec Body>                                              
        <POP 21e6a-21e80 Prologue>                           Σ0         ↓
        <POP 21e80-21e82 RegCacheLoad>                       Σ0         ↓
        <POP 21e82-21eba Naked>                              Σ0         ↓
            <Blob 0x21e82 [40] @>                            Δ-40               {[«40""»]}
            <POP 21e8e-21e90 StackAdj>                       Δ-8                {[«40""»]|[-8-]}
            <Lit 0x21e90 40>                                                    {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]}
            <Const 0x21ea2 0x1.4>                            Δ-4                {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]}
            <Const 0x21ea6 0x3.4>                            Δ-4                {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]|[##3]}
            <Call 0x21eaa 0x103ec>                                              {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]|[##3]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 21eb0-21eb4 StackAdj>                       Δ+12               {[«40""»]|[-4-]}
            <MI 21eb4  MOVE.L  (A7)+,D6>                     Δ+4                {[«40""»]}
            <POP 21eb6-21eb8 StackAdj>                       Δ+40               {}
            <MI 21eb8  MOVEQ.L #0x01,D7>                                        {}
        <POP 21eba-21ec2 Naked>                              Σ0         ↓ →0x21ec6 ←0x21ee0
            <MI 21eba  CMPI.L  #0x00000002,D7>                                  {}
            <MI 21ec0  BNE     0x21ec6>                                         {}
        <POP 21ec2-21ec6 Naked>                              Σ0         ↓
            <Call 0x21ec2 0x215de>                                              {}
        <POP 21ec6-21ee0 Naked>                              Σ0         ↓ →0x21ee4 ←0x21eba
            <MI 21ec6  MOVE.L  D7,-(A7)>                     Δ-4                {[4, 'D7']}
            <MI 21ec8  MOVE.B  (A6+0x8),-(A7)>               Δ-2                {[4, 'D7']|[2, '(A6+0x8)']}
            <Pointer.fp 0x21ecc <LVAR -0x001 @ 1(r)>>        Δ-4                {[4, 'D7']|[2, '(A6+0x8)']|[@@-1]}
            <Call 0x21ed0 0x2186e>                                              {[4, 'D7']|[2, '(A6+0x8)']|[@@-1]}
            <POP 21ed4-21ed8 StackAdj>                       Δ+10               {}
            <MI 21ed8  ADDQ.L  #0x1,D7>                                         {}
            <MI 21eda  TST.B   (A6-0x1)>                                        {}
            <MI 21ede  BEQ     0x21ee4>                                         {}
        <POP 21ee0-21ee4 Naked>                              Σ0         ↓ →0x21eba
            <MI 21ee0  CMP.L   D6,D7>                                           {}
            <MI 21ee2  BLE     0x21eba>                                         {}
        <POP 21ee4-21eec Epilogue>                           Σ0         ←0x21ec6

0x21eec


@ 21eec
    <POP 21eec-21f0a Body>                                              
        <POP 21eec-21efe Prologue>                           Σ0         ↓
        <POP 21efe-21f06 Naked>                              Σ0         ↓
            <MI 21efe  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Call 0x21f00 0x21e6a>                                              {[#0]}
            <POP 21f04-21f06 StackAdj>                       Δ+2                {}
        <POP 21f06-21f0a Epilogue>                           Σ0         

0x21f0a


@ 21f0a
    <POP 21f0a-220b2 Body>                                              
        <POP 21f0a-21f20 Prologue>                           Σ0         ↓
        <POP 21f20-21f34 RegCacheLoad>                       Σ0         ↓
        <POP 21f34-22054 Naked>                              Σ0         →0x2206e →0x22072 →0x22076 →0x2207a →0x2207e →0x22082 →0x22086 →0x2208a →0x2208e →0x22092 →0x22094 →0x22096 →0x22098
            <Blob 0x21f34 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21f38 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 21f3c-21f3e StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[-4-]}
            <Lit 0x21f3e 8>                                                     {[«4""»]|[«4""»]|[$$Fru menu]}
            <Call 0x21f4c 0x103e0>                                              {[«4""»]|[«4""»]|[$$Fru menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f4e-21f50 StackAdj>                       Δ+12               {}
            <Blob 0x21f50 [44] @>                            Δ-44               {[«44""»]}
            <POP 21f5c-21f5e StackAdj>                       Δ-4                {[«44""»]|[-4-]}
            <Lit 0x21f5e 44>                                                    {[«44""»]|[$$    1 => ALL boards                 7 => FIU]}
            <Call 0x21f6c 0x103e0>                                              {[«44""»]|[$$    1 => ALL boards                 7 => FIU]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f6e-21f6f StackAdj>                       Δ+48       ↓       {}
            <Blob 0x21f6f [50] @>                            Δ-50               {[«50""»]}
            <POP 21f7e-21f80 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21f80 49>                                                    {[«50""»]|[$$    2 => VAL                        8 => Memory 0]}
            <Call 0x21f8c 0x103e0>                                              {[«50""»]|[$$    2 => VAL                        8 => Memory 0]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f8e-21f8f StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21f8f [50] @>                            Δ-50               {[«50""»]}
            <POP 21f9e-21fa0 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21fa0 49>                                                    {[«50""»]|[$$    3 => TYP                        9 => Memory 1]}
            <Call 0x21fac 0x103e0>                                              {[«50""»]|[$$    3 => TYP                        9 => Memory 1]}
                WriteConsoleStringCrLf(str : String)
            <POP 21fae-21faf StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21faf [50] @>                            Δ-50               {[«50""»]}
            <POP 21fbe-21fc0 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21fc0 49>                                                    {[«50""»]|[$$    4 => SEQuencer                 10 => Memory 2]}
            <Call 0x21fcc 0x103e0>                                              {[«50""»]|[$$    4 => SEQuencer                 10 => Memory 2]}
                WriteConsoleStringCrLf(str : String)
            <POP 21fce-21fcf StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21fcf [50] @>                            Δ-50               {[«50""»]}
            <POP 21fde-21fe0 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21fe0 49>                                                    {[«50""»]|[$$    5 => Foreplane                 11 => Memory 3]}
            <Call 0x21fec 0x103e0>                                              {[«50""»]|[$$    5 => Foreplane                 11 => Memory 3]}
                WriteConsoleStringCrLf(str : String)
            <POP 21fee-21fef StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21fef [56] @>                            Δ-56               {[«56""»]}
            <POP 21ffe-22000 StackAdj>                       Δ-4                {[«56""»]|[-4-]}
            <Lit 0x22000 55>                                                    {[«56""»]|[$$    6 => IOC                        0 => exit this menu]}
            <Call 0x2200e 0x103e0>                                              {[«56""»]|[$$    6 => IOC                        0 => exit this menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22010-22014 StackAdj>                       Δ+60               {}
            <MI 22014  MOVEQ.L #0x0b,D5>                                        {}
            <Blob 0x22016 [22] @>                            Δ-22               {[«22""»]}
            <POP 22022-22024 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22024 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x22030 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <MI 22034  MOVE.L  D5,-(A7)>                     Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[4, 'D5']}
            <Call 0x22036 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[4, 'D5']}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 2203c-2203e StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 2203e  MOVE.L  (A7)+,D6>                     Δ+4                {[«22""»]}
            <POP 22040-22042 StackAdj>                       Δ+22               {}
            <MI 22042  MOVE.L  D6,D0>                                           {}
            <POP 0x22044 LimitCheck 0x0 ≤ D0 ≤ 0xc>                             {}
            <MI 2204a  ADD.W   D0,D0>                                           {}
            <MI 2204c  SWITCH  D0.W>                                            {}
        <POP 2206e-22070 Naked>                              Σ0         →0x220aa ←0x21f34
            <MI 2206e  BRA     0x220aa>                                         {}
        <POP 22072-22076 Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 22072  MOVEQ.L #0x00,D7>                                        {}
            <MI 22074  BRA     0x2209a>                                         {}
        <POP 22076-2207a Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 22076  MOVEQ.L #0x03,D7>                                        {}
            <MI 22078  BRA     0x2209a>                                         {}
        <POP 2207a-2207e Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 2207a  MOVEQ.L #0x04,D7>                                        {}
            <MI 2207c  BRA     0x2209a>                                         {}
        <POP 2207e-22082 Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 2207e  MOVEQ.L #0x05,D7>                                        {}
            <MI 22080  BRA     0x2209a>                                         {}
        <POP 22082-22086 Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 22082  MOVEQ.L #0x0b,D7>                                        {}
            <MI 22084  BRA     0x2209a>                                         {}
        <POP 22086-2208a Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 22086  MOVEQ.L #0x02,D7>                                        {}
            <MI 22088  BRA     0x2209a>                                         {}
        <POP 2208a-2208e Naked>                              Σ0         →0x2209a ←0x21f34
            <MI 2208a  MOVEQ.L #0x06,D7>                                        {}
            <MI 2208c  BRA     0x2209a>                                         {}
        <POP 2208e-22092 Naked>                              Σ0         →0x2209a ←0x21f34 ←0x22092 ←0x22094 ←0x22096
            <MI 2208e  MOVEQ.L #0x07,D7>                                        {}
            <MI 22090  BRA     0x2209a>                                         {}
        <POP 22092-22094 Naked>                              Σ0         →0x2208e ←0x21f34
            <MI 22092  BRA     0x2208e>                                         {}
        <POP 22094-22096 Naked>                              Σ0         →0x2208e ←0x21f34
            <MI 22094  BRA     0x2208e>                                         {}
        <POP 22096-22098 Naked>                              Σ0         →0x2208e ←0x21f34
            <MI 22096  BRA     0x2208e>                                         {}
        <POP 22098-2209a Naked>                              Σ0         ↓ ←0x21f34
            <MI 22098  MOVEQ.L #0x01,D7>                                        {}
        <POP 2209a-220aa Naked>                              Σ0         ↓ ←0x22072 ←0x22076 ←0x2207a ←0x2207e ←0x22082 ←0x22086 ←0x2208a ←0x2208e
            <MI 2209a  MOVE.B  D7,D0>                                           {}
            <MI 2209c  EXTB.W  D0>                                              {}
            <POP 0x2209e LimitCheck 0x0 ≤ D0 ≤ 0xb>                             {}
            <MI 220a2  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x220a4 0x21e6a>                                              {[2, 'D0']}
            <POP 220a8-220aa StackAdj>                       Δ+2                {}
        <POP 220aa-220b2 Epilogue>                           Σ0         ←0x2206e

0x220b2


@ 220b2
        <LVAR  0x00c 1(w)>
        <LVAR  0x008 4(r)>
    <POP 220b2-2228a Body>                                              
        <POP 220b2-220c8 Prologue>                           Σ0         ↓
        <POP 220c8-220de RegCacheLoad>                       Σ0         ↓
        <POP 220de-22282 Naked>                              Σ0         ↓
            <Call 0x220de 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x220e4 [50] @>                            Δ-50               {[«50""»]}
            <POP 220f4-220f6 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x220f6 49>                                                    {[«50""»]|[$$1  => All                     12 => Class Checker]}
            <Call 0x22104 0x103e0>                                              {[«50""»]|[$$1  => All                     12 => Class Checker]}
                WriteConsoleStringCrLf(str : String)
            <POP 22106-22107 StackAdj>                       Δ+54       ↓       {}
            <Blob 0x22107 [46] @>                            Δ-46               {[«46""»]}
            <POP 22116-22118 StackAdj>                       Δ-4                {[«46""»]|[-4-]}
            <Lit 0x22118 45>                                                    {[«46""»]|[$$2  => Condition selection     13 => Tagstores]}
            <Call 0x22126 0x103e0>                                              {[«46""»]|[$$2  => Condition selection     13 => Tagstores]}
                WriteConsoleStringCrLf(str : String)
            <POP 22128-2212a StackAdj>                       Δ+50               {}
            <Blob 0x2212a [48] @>                            Δ-48               {[«48""»]}
            <POP 22136-22138 StackAdj>                       Δ-4                {[«48""»]|[-4-]}
            <Lit 0x22138 48>                                                    {[«48""»]|[$$3  => VAL board               14 => Dynamic RAMS]}
            <Call 0x22146 0x103e0>                                              {[«48""»]|[$$3  => VAL board               14 => Dynamic RAMS]}
                WriteConsoleStringCrLf(str : String)
            <POP 22148-2214a StackAdj>                       Δ+52               {}
            <Blob 0x2214a [54] @>                            Δ-54               {[«54""»]}
            <POP 22156-22158 StackAdj>                       Δ-4                {[«54""»]|[-4-]}
            <Lit 0x22158 54>                                                    {[«54""»]|[$$4  => TYP board               15 => Val register files]}
            <Call 0x22164 0x103e0>                                              {[«54""»]|[$$4  => TYP board               15 => Val register files]}
                WriteConsoleStringCrLf(str : String)
            <POP 22166-22168 StackAdj>                       Δ+58               {}
            <Blob 0x22168 [54] @>                            Δ-54               {[«54""»]}
            <POP 22174-22176 StackAdj>                       Δ-4                {[«54""»]|[-4-]}
            <Lit 0x22176 54>                                                    {[«54""»]|[$$5  => SEQuencer board         16 => Typ register files]}
            <Call 0x22182 0x103e0>                                              {[«54""»]|[$$5  => SEQuencer board         16 => Typ register files]}
                WriteConsoleStringCrLf(str : String)
            <POP 22184-22186 StackAdj>                       Δ+58               {}
            <Blob 0x22186 [50] @>                            Δ-50               {[«50""»]}
            <POP 22192-22194 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x22194 50>                                                    {[«50""»]|[$$6  => FIU board               17 => Dispatch logic]}
            <Call 0x221a0 0x103e0>                                              {[«50""»]|[$$6  => FIU board               17 => Dispatch logic]}
                WriteConsoleStringCrLf(str : String)
            <POP 221a2-221a4 StackAdj>                       Δ+54               {}
            <Blob 0x221a4 [58] @>                            Δ-58               {[«58""»]}
            <POP 221b0-221b2 StackAdj>                       Δ-4                {[«58""»]|[-4-]}
            <Lit 0x221b2 58>                                                    {[«58""»]|[$$7  => Memory board(s)         18 => Error correction (ECC)]}
            <Call 0x221be 0x103e0>                                              {[«58""»]|[$$7  => Memory board(s)         18 => Error correction (ECC)]}
                WriteConsoleStringCrLf(str : String)
            <POP 221c0-221c4 StackAdj>                       Δ+62               {}
            <Blob 0x221c4 [42] @>                            Δ-42               {[«42""»]}
            <POP 221d0-221d2 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x221d2 42>                                                    {[«42""»]|[$$8  => CSA                     19 => Timers]}
            <Call 0x221e0 0x103e0>                                              {[«42""»]|[$$8  => CSA                     19 => Timers]}
                WriteConsoleStringCrLf(str : String)
            <POP 221e2-221e6 StackAdj>                       Δ+46               {}
            <Blob 0x221e6 [52] @>                            Δ-52               {[«52""»]}
            <POP 221f2-221f4 StackAdj>                       Δ-4                {[«52""»]|[-4-]}
            <Lit 0x221f4 52>                                                    {[«52""»]|[$$9  => Memory Monitor          20 => Worst case paths]}
            <Call 0x22200 0x103e0>                                              {[«52""»]|[$$9  => Memory Monitor          20 => Worst case paths]}
                WriteConsoleStringCrLf(str : String)
            <POP 22202-22203 StackAdj>                       Δ+56       ↓       {}
            <Blob 0x22203 [16] @>                            Δ-16               {[«16""»]}
            <POP 22214-22216 StackAdj>                       Δ-4                {[«16""»]|[-4-]}
            <Lit 0x22216 15>                                                    {[«16""»]|[$$10 => IOC board]}
            <Call 0x22224 0x103e0>                                              {[«16""»]|[$$10 => IOC board]}
                WriteConsoleStringCrLf(str : String)
            <POP 22226-2222a StackAdj>                       Δ+20               {}
            <MI 2222a  MOVEQ.L #0x14,D6>                                        {}
            <Blob 0x2222c [22] @>                            Δ-22               {[«22""»]}
            <POP 2223e-22240 StackAdj>                       Δ-4                {[«22""»]|[-4-]}
            <Lit 0x22240 21>                                                    {[«22""»]|[$$11 => Privacy Checker]}
            <Call 0x2224e 0x103e0>                                              {[«22""»]|[$$11 => Privacy Checker]}
                WriteConsoleStringCrLf(str : String)
            <POP 22250-22254 StackAdj>                       Δ+18               {[-8-]}
            <MI 22254  MOVE.L  (A6+0x8),(A7)>                                   {[-4-]|[4, '(A6+0x8)']}
            <Const 0x22258 0x1.4>                            Δ-4                {[-4-]|[4, '(A6+0x8)']|[##1]}
            <MI 2225c  MOVE.L  D6,-(A7)>                     Δ-4                {[-4-]|[4, '(A6+0x8)']|[##1]|[4, 'D6']}
            <Call 0x2225e 0x103ec>                                              {[-4-]|[4, '(A6+0x8)']|[##1]|[4, 'D6']}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22264-22268 StackAdj>                       Δ+12               {[-4-]}
            <MI 22268  MOVE.L  (A7)+,D7>                     Δ+4                {}
            <MI 2226a  MOVE.L  D7,D0>                                           {}
            <MI 2226c  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x2226e LimitCheck 0x0 ≤ D0 ≤ 0x14>                            {}
            <MI 22278  LEA.L   0x2133e,A0>                                      {}
            <MI 2227c  MOVE.B  (A0+D0.L),(A6+0xc)>                              {}
        <POP 22282-2228a Epilogue>                           Σ0         

0x2228a


@ 2228a
        <LVAR  0x00c 1(w)>
        <LVAR  0x008 4(r)>
    <POP 2228a-2239c Body>                                              
        <POP 2228a-222a0 Prologue>                           Σ0         ↓
        <POP 222a0-222b2 RegCacheLoad>                       Σ0         ↓
        <POP 222b2-22394 Naked>                              Σ0         ↓
            <Blob 0x222b2 [38] @>                            Δ-38               {[«38""»]}
            <POP 222be-222c0 StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x222c0 38>                                                    {[«38""»]|[$$1 => All boards          7 => Memory 0]}
            <Call 0x222cc 0x103e0>                                              {[«38""»]|[$$1 => All boards          7 => Memory 0]}
                WriteConsoleStringCrLf(str : String)
            <POP 222ce-222d0 StackAdj>                       Δ+42               {}
            <Blob 0x222d0 [38] @>                            Δ-38               {[«38""»]}
            <POP 222dc-222de StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x222de 38>                                                    {[«38""»]|[$$2 => SEQuencer           8 => Memory 1]}
            <Call 0x222ea 0x103e0>                                              {[«38""»]|[$$2 => SEQuencer           8 => Memory 1]}
                WriteConsoleStringCrLf(str : String)
            <POP 222ec-222ee StackAdj>                       Δ+42               {}
            <Blob 0x222ee [38] @>                            Δ-38               {[«38""»]}
            <POP 222fa-222fc StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x222fc 38>                                                    {[«38""»]|[$$3 => FIU                 9 => Memory 2]}
            <Call 0x22308 0x103e0>                                              {[«38""»]|[$$3 => FIU                 9 => Memory 2]}
                WriteConsoleStringCrLf(str : String)
            <POP 2230a-2230c StackAdj>                       Δ+42               {}
            <Blob 0x2230c [38] @>                            Δ-38               {[«38""»]}
            <POP 22318-2231a StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x2231a 38>                                                    {[«38""»]|[$$4 => TYP                10 => Memory 3]}
            <Call 0x22326 0x103e0>                                              {[«38""»]|[$$4 => TYP                10 => Memory 3]}
                WriteConsoleStringCrLf(str : String)
            <POP 22328-2232a StackAdj>                       Δ+42               {}
            <Blob 0x2232a [42] @>                            Δ-42               {[«42""»]}
            <POP 22336-22338 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22338 42>                                                    {[«42""»]|[$$5 => VAL                11 => All Memories]}
            <Call 0x22344 0x103e0>                                              {[«42""»]|[$$5 => VAL                11 => All Memories]}
                WriteConsoleStringCrLf(str : String)
            <POP 22346-22348 StackAdj>                       Δ+42               {[-4-]}
            <POP 22348-22349 StackAdj>                       Δ+4                {}
            <Blob 0x22349 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x2234c [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 22350-22352 StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[-4-]}
            <Lit 0x22352 8>                                                     {[«4""»]|[«4""»]|[$$6 => IOC]}
            <Call 0x22360 0x103e0>                                              {[«4""»]|[«4""»]|[$$6 => IOC]}
                WriteConsoleStringCrLf(str : String)
            <POP 22362-22364 StackAdj>                       Δ+4                {[«4""»]|[«4""»]}
            <MI 22364  MOVE.L  (A6+0x8),(A7)>                                   {[«4""»]|[4, '(A6+0x8)']}
            <Const 0x22368 0x1.4>                            Δ-4                {[«4""»]|[4, '(A6+0x8)']|[##1]}
            <Const 0x2236c 0xb.4>                            Δ-4                {[«4""»]|[4, '(A6+0x8)']|[##1]|[##11]}
            <Call 0x22370 0x103ec>                                              {[«4""»]|[4, '(A6+0x8)']|[##1]|[##11]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22376-2237a StackAdj>                       Δ+12               {[«4""»]}
            <MI 2237a  MOVE.L  (A7)+,D7>                     Δ+4                {}
            <MI 2237c  MOVE.L  D7,D0>                                           {}
            <MI 2237e  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x22380 LimitCheck 0x0 ≤ D0 ≤ 0xa>                             {}
            <MI 2238a  LEA.L   0x21353,A0>                                      {}
            <MI 2238e  MOVE.B  (A0+D0.L),(A6+0xc)>                              {}
        <POP 22394-2239c Epilogue>                           Σ0         

0x2239c


@ 2239c
        <LVAR -0x004 1(rw)>
        <LVAR -0x00a @>
    <POP 2239c-227ca Body>                                              
        <POP 2239c-223b2 Prologue>                           Σ0         ↓
        <POP 223b2-223c2 RegCacheLoad>                       Σ0         ↓
        <POP 223c2-2261a Naked>                              Σ0         ↓ →0x227c2
            <Blob 0x223c2 [40] @>                            Δ-40               {[«40""»]}
            <POP 223d2-223d4 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x223d4 39>                                                    {[«40""»]|[$$0  => Exit this menu         16 => none]}
            <Call 0x223e2 0x103e0>                                              {[«40""»]|[$$0  => Exit this menu         16 => none]}
                WriteConsoleStringCrLf(str : String)
            <POP 223e4-223e8 StackAdj>                       Δ+44               {}
            <Blob 0x223e8 [40] @>                            Δ-40               {[«40""»]}
            <POP 223f4-223f6 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x223f6 40>                                                    {[«40""»]|[$$1  => P1DCOMM                17 => P2IOC]}
            <Call 0x22402 0x103e0>                                              {[«40""»]|[$$1  => P1DCOMM                17 => P2IOC]}
                WriteConsoleStringCrLf(str : String)
            <POP 22404-22408 StackAdj>                       Δ+44               {}
            <Blob 0x22408 [40] @>                            Δ-40               {[«40""»]}
            <POP 22414-22416 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22416 40>                                                    {[«40""»]|[$$2  => P1FIU                  18 => P2MEM]}
            <Call 0x22422 0x103e0>                                              {[«40""»]|[$$2  => P1FIU                  18 => P2MEM]}
                WriteConsoleStringCrLf(str : String)
            <POP 22424-22425 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x22425 [40] @>                            Δ-40               {[«40""»]}
            <POP 22434-22436 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22436 39>                                                    {[«40""»]|[$$3  => P1IOC                  19 => P2MM]}
            <Call 0x22444 0x103e0>                                              {[«40""»]|[$$3  => P1IOC                  19 => P2MM]}
                WriteConsoleStringCrLf(str : String)
            <POP 22446-22447 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x22447 [40] @>                            Δ-40               {[«40""»]}
            <POP 22456-22458 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22458 39>                                                    {[«40""»]|[$$4  => P1MEM                  20 => none]}
            <Call 0x22466 0x103e0>                                              {[«40""»]|[$$4  => P1MEM                  20 => none]}
                WriteConsoleStringCrLf(str : String)
            <POP 22468-2246c StackAdj>                       Δ+44               {}
            <Blob 0x2246c [40] @>                            Δ-40               {[«40""»]}
            <POP 22478-2247a StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x2247a 40>                                                    {[«40""»]|[$$5  => P1SEQ                  21 => P2SEQ]}
            <Call 0x22486 0x103e0>                                              {[«40""»]|[$$5  => P1SEQ                  21 => P2SEQ]}
                WriteConsoleStringCrLf(str : String)
            <POP 22488-22489 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x22489 [42] @>                            Δ-42               {[«42""»]}
            <POP 22498-2249a StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x2249a 41>                                                    {[«42""»]|[$$6  => P1SF                   22 => P2STOP]}
            <Call 0x224a8 0x103e0>                                              {[«42""»]|[$$6  => P1SF                   22 => P2STOP]}
                WriteConsoleStringCrLf(str : String)
            <POP 224aa-224ab StackAdj>                       Δ+46       ↓       {}
            <Blob 0x224ab [40] @>                            Δ-40               {[«40""»]}
            <POP 224ba-224bc StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x224bc 39>                                                    {[«40""»]|[$$7  => none                   23 => none]}
            <Call 0x224ca 0x103e0>                                              {[«40""»]|[$$7  => none                   23 => none]}
                WriteConsoleStringCrLf(str : String)
            <POP 224cc-224d0 StackAdj>                       Δ+44               {}
            <Blob 0x224d0 [40] @>                            Δ-40               {[«40""»]}
            <POP 224dc-224de StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x224de 40>                                                    {[«40""»]|[$$8  => P1TYP                  24 => P2TYP]}
            <Call 0x224ea 0x103e0>                                              {[«40""»]|[$$8  => P1TYP                  24 => P2TYP]}
                WriteConsoleStringCrLf(str : String)
            <POP 224ec-224ed StackAdj>                       Δ+44       ↓       {}
            <Blob 0x224ed [42] @>                            Δ-42               {[«42""»]}
            <POP 224fc-224fe StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x224fe 41>                                                    {[«42""»]|[$$9  => P1VAL                  25 => P2UADR]}
            <Call 0x2250c 0x103e0>                                              {[«42""»]|[$$9  => P1VAL                  25 => P2UADR]}
                WriteConsoleStringCrLf(str : String)
            <POP 2250e-22512 StackAdj>                       Δ+46               {}
            <Blob 0x22512 [42] @>                            Δ-42               {[«42""»]}
            <POP 2251e-22520 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22520 42>                                                    {[«42""»]|[$$10 => P2ABUS                 26 => P2UCODE]}
            <Call 0x2252e 0x103e0>                                              {[«42""»]|[$$10 => P2ABUS                 26 => P2UCODE]}
                WriteConsoleStringCrLf(str : String)
            <POP 22530-22534 StackAdj>                       Δ+46               {}
            <Blob 0x22534 [40] @>                            Δ-40               {[«40""»]}
            <POP 22540-22542 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22542 40>                                                    {[«40""»]|[$$11 => P2COND                 27 => P2VAL]}
            <Call 0x2254e 0x103e0>                                              {[«40""»]|[$$11 => P2COND                 27 => P2VAL]}
                WriteConsoleStringCrLf(str : String)
            <POP 22550-22551 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x22551 [42] @>                            Δ-42               {[«42""»]}
            <POP 22560-22562 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22562 41>                                                    {[«42""»]|[$$12 => P2CSA                  28 => P3RAMS]}
            <Call 0x22570 0x103e0>                                              {[«42""»]|[$$12 => P2CSA                  28 => P3RAMS]}
                WriteConsoleStringCrLf(str : String)
            <POP 22572-22576 StackAdj>                       Δ+46               {}
            <Blob 0x22576 [42] @>                            Δ-42               {[«42""»]}
            <POP 22582-22584 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22584 42>                                                    {[«42""»]|[$$13 => P2EVNT                 29 => P3UCODE]}
            <Call 0x22592 0x103e0>                                              {[«42""»]|[$$13 => P2EVNT                 29 => P3UCODE]}
                WriteConsoleStringCrLf(str : String)
            <POP 22594-22598 StackAdj>                       Δ+46               {}
            <Blob 0x22598 [40] @>                            Δ-40               {[«40""»]}
            <POP 225a4-225a6 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x225a6 40>                                                    {[«40""»]|[$$14 => P2FIU                  30 => Other]}
            <Call 0x225b2 0x103e0>                                              {[«40""»]|[$$14 => P2FIU                  30 => Other]}
                WriteConsoleStringCrLf(str : String)
            <POP 225b4-225b8 StackAdj>                       Δ+44               {}
            <Blob 0x225b8 [10] @>                            Δ-10               {[«10""»]}
            <POP 225c4-225c6 StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x225c6 10>                                                    {[«10""»]|[$$15 => P2FP]}
            <Call 0x225d4 0x103e0>                                              {[«10""»]|[$$15 => P2FP]}
                WriteConsoleStringCrLf(str : String)
            <POP 225d6-225da StackAdj>                       Δ+14               {}
            <Blob 0x225da [20] @>                            Δ-20               {[«20""»]}
            <POP 225e6-225e8 StackAdj>                       Δ-8                {[«20""»]|[-8-]}
            <Lit 0x225e8 20>                                                    {[«20""»]|[-4-]|[$$Enter test option :_]}
            <Const 0x225f6 0x0.4>                            Δ-4                {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]}
            <Const 0x225fa 0x1e.4>                           Δ-4                {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]|[##30]}
            <Call 0x225fe 0x103ec>                                              {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]|[##30]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22604-22608 StackAdj>                       Δ+12               {[«20""»]|[-4-]}
            <MI 22608  MOVE.L  (A7)+,D5>                     Δ+4                {[«20""»]}
            <POP 2260a-2260e StackAdj>                       Δ+20               {}
            <MI 2260e  MOVE.B  #0x02,(A6-0x4)>                                  {}
            <MI 22614  TST.L   D5>                                              {}
            <MI 22616  BEQ     0x227c2>                                         {}
        <POP 2261a-22622 Naked>                              Σ0         ↓ →0x22684
            <MI 2261a  CMPI.L  #0x0000001e,D5>                                  {}
            <MI 22620  BNE     0x22684>                                         {}
        <POP 22622-22676 Naked>                              Σ0 Δ-26    ↓ →0x2267a
            <Blob 0x22622 [18] @>                            Δ-18               {[«18""»]}
            <POP 2262e-22630 StackAdj>                       Δ-8                {[«18""»]|[-8-]}
            <Lit 0x22630 18>                                                    {[«18""»]|[-4-]|[$$Enter test name :_]}
            <Call 0x2263e 0x103e4>                                              {[«18""»]|[-4-]|[$$Enter test name :_]}
                AskConsoleString(prompt : String) : String
            <POP 22644-22646 StackAdj>                       Δ+4                {[«18""»]|[-4-]}
            <MI 22646  MOVEA.L (A7)+,A4>                     Δ+4                {[«18""»]}
            <POP 22648-22649 StackAdj>                       Δ+18       ↓       {}
            <Blob 0x22649 [26] @>                            Δ-26               {[«26""»]}
            <POP 22658-2265a StackAdj>                       Δ-6                {[«26""»]|[-6-]}
            <Lit 0x2265a 25>                                                    {[«26""»]|[-2-]|[$$Is this a multi-board FRU]}
            <POP 22666-22668 StackAdj>                       Δ-2                {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[-2-]}
            <POP 22668-22669 StackAdj>                       Δ+2                {[«26""»]|[-2-]|[$$Is this a multi-board FRU]}
            <Const 0x22669 0x1.2>                            Δ-2                {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[#1]}
            <Call 0x2266a 0x103f0>                                              {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[#1]}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 22670-22672 StackAdj>                       Δ+6                {[«26""»]|[-2-]}
            <MI 22672  TST.B   (A7)+>                        Δ+2                {[«26""»]}
            <MI 22674  BEQ     0x2267a>                                         {[«26""»]}
        <POP 22676-2267a Naked>                              Σ-26       →0x2267c
            <MI 22676  MOVEQ.L #0x01,D7>                                        {[-26-]}
            <MI 22678  BRA     0x2267c>                                         {[-26-]}
        <POP 2267a-2267c Naked>                              Σ-26       ↓ ←0x22622
            <MI 2267a  MOVEQ.L #0x00,D7>                                        {[-26-]}
        <POP 2267c-22684 Naked>                              Σ-26 Δ+26  →0x226ec ←0x22676
            <POP 2267c-22680 StackAdj>                       Δ+26               {}
            <MI 22680  MOVEQ.L #0x01,D6>                                        {}
            <MI 22682  BRA     0x226ec>                                         {}
        <POP 22684-226dc Naked>                              Σ0         ↓ →0x226ea ←0x2261a
            <MI 22684  MOVE.L  D5,D0>                                           {}
            <MI 22686  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x22688 LimitCheck 0x0 ≤ D0 ≤ 0x1c>                            {}
            <MI 22692  MOVE.L  D0,D4>                                           {}
            <MI 22694  MOVEQ.L #0x0c,D3>                                        {}
            <Call 0x22696 0x1028c>                                              {}
                ?muls_d3_d4
            <MI 2269c  LEA.L   0x2135e,A0>                                      {}
            <Blob 0x226a0 [10] (A0+D4.L)>                    Δ-10               {[«10»]}
            <POP 226b2-226b4 StackAdj>                       Δ-4                {[«10»]|[-4-]}
            <Lit 0x226b4>                                                       {[«10»]|[$$…]}
                <Pointer.sp 0x226b4 4>                       Δ-4        
                <Const 0x226b8 0x1.2>                        Δ-2        
                <Const 0x226ba 0xa.2>                        Δ-2        
                <Call 0x226be 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 226c0-226c2 StackAdj>                   Δ+8        
            <MI 226c2  MOVEA.L (A7)+,A4>                     Δ+4                {[«10»]}
            <POP 226c4-226c8 StackAdj>                       Δ+10               {}
            <MI 226c8  LEA.L   0x2135e,A0>                                      {}
            <MI 226cc  MOVE.B  (A0+D4.L+#0xa),D7>                               {}
            <MI 226d0  MOVEQ.L #0x00,D6>                                        {}
            <MI 226d2  LEA.L   0x2135e,A0>                                      {}
            <MI 226d6  TST.B   (A0+D4.L+#0xb)>                                  {}
            <MI 226da  BEQ     0x226ea>                                         {}
        <POP 226dc-226ea Naked>                              Σ0         ↓ →0x226ec
            <MI 226dc  LEA.L   0x2135e,A0>                                      {}
            <MI 226e0  MOVE.B  (A0+D4.L+#0xb),D0>                               {}
            <MI 226e4  CMP.B   (A6-0x4),D0>                                     {}
            <MI 226e8  BNE     0x226ec>                                         {}
        <POP 226ea-226ec Naked>                              Σ0         ↓ ←0x22684
            <MI 226ea  ADDQ.B  #0x1,D6>                                         {}
        <POP 226ec-226f2 Naked>                              Σ0         ↓ →0x2279a ←0x2267c ←0x226dc
            <MI 226ec  TST.B   D6>                                              {}
            <MI 226ee  BEQ     0x2279a>                                         {}
        <POP 226f2-22708 Naked>                              Σ0         →0x2270e →0x2271c →0x2275e
            <MI 226f2  MOVE.B  D7,D0>                                           {}
            <MI 226f4  EXTB.W  D0>                                              {}
            <POP 0x226f6 LimitCheck 0x0 ≤ D0 ≤ 0x2>                             {}
            <MI 226fe  ADD.W   D0,D0>                                           {}
            <MI 22700  SWITCH  D0.W>                                            {}
        <POP 2270e-2271c Naked>                              Σ0         →0x22798 ←0x226f2
            <MI 2270e  MOVE.L  A4,-(A7)>                     Δ-4                {[4, 'A4']}
            <Pointer.fp 0x22710 <LVAR -0x00a @>>             Δ-4                {[4, 'A4']|[@@-10]}
            <Call 0x22714 0x21a1c>                                              {[4, 'A4']|[@@-10]}
            <POP 22718-2271a StackAdj>                       Δ+8                {}
            <MI 2271a  BRA     0x22798>                                         {}
        <POP 2271c-2275e Naked>                              Σ0         →0x22798 ←0x226f2
            <Blob 0x2271c [44] @>                            Δ-44               {[«44""»]}
            <MI 2272e  MOVE.L  A4,-(A7)>                     Δ-4                {[«44""»]|[4, 'A4']}
            <POP 22730-22732 StackAdj>                       Δ-6                {[«44""»]|[4, 'A4']|[-6-]}
            <Lit 0x22732 43>                                                    {[«44""»]|[4, 'A4']|[-2-]|[$$Which board(s) should this FRU be run on :_]}
            <Call 0x22740 0x2228a>                                              {[«44""»]|[4, 'A4']|[-2-]|[$$Which board(s) should this FRU be run on :_]}
            <POP 22744-22746 StackAdj>                       Δ+4                {[«44""»]|[4, 'A4']|[-2-]}
            <MI 22746  MOVE.B  (A7),D0>                                         {[«44""»]|[4, 'A4']|[-2-]}
            <MI 22748  EXTB.W  D0>                                              {[«44""»]|[4, 'A4']|[-2-]}
            <POP 0x2274a LimitCheck 0x0 ≤ D0 ≤ 0xf>                             {[«44""»]|[4, 'A4']|[-2-]}
            <MI 2274e  MOVE.B  D0,(A7)>                                         {[«44""»]|[4, 'A4']|[-2-]}
            <Pointer.fp 0x22750 <LVAR -0x00a @>>             Δ-4                {[«44""»]|[4, 'A4']|[-2-]|[@@-10]}
            <Call 0x22754 0x21b5c>                                              {[«44""»]|[4, 'A4']|[-2-]|[@@-10]}
            <POP 22758-2275c StackAdj>                       Δ+54               {}
            <MI 2275c  BRA     0x22798>                                         {}
        <POP 2275e-22798 Naked>                              Σ0         ↓ ←0x226f2
            <Blob 0x2275e [38] @>                            Δ-38               {[«38""»]}
            <MI 2276a  MOVE.L  A4,-(A7)>                     Δ-4                {[«38""»]|[4, 'A4']}
            <POP 2276c-2276e StackAdj>                       Δ-6                {[«38""»]|[4, 'A4']|[-6-]}
            <Lit 0x2276e 38>                                                    {[«38""»]|[4, 'A4']|[-2-]|[$$Which function should this FRU test :_]}
            <Call 0x2277c 0x220b2>                                              {[«38""»]|[4, 'A4']|[-2-]|[$$Which function should this FRU test :_]}
            <POP 22780-22782 StackAdj>                       Δ+4                {[«38""»]|[4, 'A4']|[-2-]}
            <MI 22782  MOVE.B  (A7),D0>                                         {[«38""»]|[4, 'A4']|[-2-]}
            <MI 22784  EXTB.W  D0>                                              {[«38""»]|[4, 'A4']|[-2-]}
            <POP 0x22786 LimitCheck 0x0 ≤ D0 ≤ 0x1a>                            {[«38""»]|[4, 'A4']|[-2-]}
            <MI 2278a  MOVE.B  D0,(A7)>                                         {[«38""»]|[4, 'A4']|[-2-]}
            <Pointer.fp 0x2278c <LVAR -0x00a @>>             Δ-4                {[«38""»]|[4, 'A4']|[-2-]|[@@-10]}
            <Call 0x22790 0x21cd6>                                              {[«38""»]|[4, 'A4']|[-2-]|[@@-10]}
            <POP 22794-22798 StackAdj>                       Δ+48               {}
        <POP 22798-2279a Naked>                              Σ0         →0x227c2 ←0x2270e ←0x2271c
            <MI 22798  BRA     0x227c2>                                         {}
        <POP 2279a-227c2 Naked>                              Σ0         ↓ ←0x226ec
            <Blob 0x2279a [60] @>                            Δ-60               {[«60""»]}
            <POP 227ac-227ae StackAdj>                       Δ-4                {[«60""»]|[-4-]}
            <Lit 0x227ae 59>                                                    {[«60""»]|[$$That test option is not applicable to this R1000 Processor.]}
            <Call 0x227bc 0x103e0>                                              {[«60""»]|[$$That test option is not applicable to this R1000 Processor.]}
                WriteConsoleStringCrLf(str : String)
            <POP 227be-227c2 StackAdj>                       Δ+64               {}
        <POP 227c2-227ca Epilogue>                           Σ0         ←0x223c2 ←0x22798

0x227ca


@ 227ca
        <LVAR -0x004 @>
    <POP 227ca-22836 Body>                                              
        <POP 227ca-227e0 Prologue>                           Σ0         ↓
        <POP 227e0-227e2 RegCacheLoad>                       Σ0         ↓
        <POP 227e2-2282e Naked>                              Σ0         ↓
            <Blob 0x227e2 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x227e6 [12] @>                            Δ-12               {[«4""»]|[«12""»]}
            <POP 227f8-227fa StackAdj>                       Δ-4                {[«4""»]|[«12""»]|[-4-]}
            <Lit 0x227fa 4>                                                     {[«4""»]|[«12""»]|[$$P2FP]}
            <POP 2280a-2280c StackAdj>                       Δ-4                {[«4""»]|[«12""»]|[$$P2FP]|[-4-]}
            <Lit 0x2280c 11>                                                    {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]}
            <POP 2281c-2281e StackAdj>                       Δ-2                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[-2-]}
            <POP 2281e-2281f StackAdj>                       Δ+2                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]}
            <Const 0x2281f 0x1.2>                            Δ-2                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]}
            <Pointer.fp 0x22820 <LVAR -0x004 @>>             Δ-4                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]|[@@-4]}
            <Call 0x22824 0x103b0>                                              {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 2282a-2282e StackAdj>                       Δ+30               {}
        <POP 2282e-22836 Epilogue>                           Σ0         

0x22836


@ 22836
    <POP 22836-2299a Body>                                              
        <POP 22836-2284c Prologue>                           Σ0         ↓
        <POP 2284c-22862 RegCacheLoad>                       Σ0         ↓
        <POP 22862-2296a Naked>                              Σ0         →0x22974 →0x22976 →0x2297c →0x22982 →0x22988 ←0x2298c
            <Blob 0x22862 [26] @>                            Δ-26               {[«26""»]}
            <POP 22872-22874 StackAdj>                       Δ-4                {[«26""»]|[-4-]}
            <Lit 0x22874 25>                                                    {[«26""»]|[$$Diagnostic execution menu]}
            <Call 0x22882 0x103e0>                                              {[«26""»]|[$$Diagnostic execution menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22884-22885 StackAdj>                       Δ+30       ↓       {}
            <Blob 0x22885 [28] @>                            Δ-28               {[«28""»]}
            <POP 22894-22896 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22896 27>                                                    {[«28""»]|[$$    1 => Test the foreplane]}
            <Call 0x228a4 0x103e0>                                              {[«28""»]|[$$    1 => Test the foreplane]}
                WriteConsoleStringCrLf(str : String)
            <POP 228a6-228a8 StackAdj>                       Δ+32               {}
            <Blob 0x228a8 [22] @>                            Δ-22               {[«22""»]}
            <POP 228b4-228b6 StackAdj>                       Δ-4                {[«22""»]|[-4-]}
            <Lit 0x228b6 22>                                                    {[«22""»]|[$$    2 => Run all tests]}
            <Call 0x228c2 0x103e0>                                              {[«22""»]|[$$    2 => Run all tests]}
                WriteConsoleStringCrLf(str : String)
            <POP 228c4-228c6 StackAdj>                       Δ+26               {}
            <Blob 0x228c6 [56] @>                            Δ-56               {[«56""»]}
            <POP 228d2-228d4 StackAdj>                       Δ-4                {[«56""»]|[-4-]}
            <Lit 0x228d4 56>                                                    {[«56""»]|[$$    3 => Run all tests applicable to a given FRU (board)]}
            <Call 0x228e2 0x103e0>                                              {[«56""»]|[$$    3 => Run all tests applicable to a given FRU (board)]}
                WriteConsoleStringCrLf(str : String)
            <POP 228e4-228e8 StackAdj>                       Δ+60               {}
            <Blob 0x228e8 [28] @>                            Δ-28               {[«28""»]}
            <POP 228f4-228f6 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x228f6 28>                                                    {[«28""»]|[$$    4 => Run a specific test]}
            <Call 0x22902 0x103e0>                                              {[«28""»]|[$$    4 => Run a specific test]}
                WriteConsoleStringCrLf(str : String)
            <POP 22904-22906 StackAdj>                       Δ+32               {}
            <Blob 0x22906 [28] @>                            Δ-28               {[«28""»]}
            <POP 22912-22914 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22914 28>                                                    {[«28""»]|[$$    0 => Return to main menu]}
            <Call 0x22920 0x103e0>                                              {[«28""»]|[$$    0 => Return to main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22922-22924 StackAdj>                       Δ+32               {}
            <Blob 0x22924 [22] @>                            Δ-22               {[«22""»]}
            <POP 22930-22932 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22932 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x2293e 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x22942 0x4.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
            <Call 0x22946 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 2294c-22950 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 22950  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 22952-22954 StackAdj>                       Δ+22               {}
            <MI 22954  MOVE.L  D7,D0>                                           {}
            <POP 0x22956 LimitCheck 0x0 ≤ D0 ≤ 0x4>                             {}
            <MI 22960  ADD.W   D0,D0>                                           {}
            <MI 22962  SWITCH  D0.W>                                            {}
        <POP 22974-22976 Naked>                              Σ0         →0x2298c ←0x22862
            <MI 22974  BRA     0x2298c>                                         {}
        <POP 22976-2297c Naked>                              Σ0         →0x2298c ←0x22862
            <Call 0x22976 0x227ca>                                              {}
            <MI 2297a  BRA     0x2298c>                                         {}
        <POP 2297c-22982 Naked>                              Σ0         →0x2298c ←0x22862
            <Call 0x2297c 0x21eec>                                              {}
            <MI 22980  BRA     0x2298c>                                         {}
        <POP 22982-22988 Naked>                              Σ0         →0x2298c ←0x22862
            <Call 0x22982 0x21f0a>                                              {}
            <MI 22986  BRA     0x2298c>                                         {}
        <POP 22988-2298c Naked>                              Σ0         ↓ ←0x22862
            <Call 0x22988 0x2239c>                                              {}
        <POP 2298c-22992 Naked>                              Σ0         ↓ →0x22862 ←0x22974 ←0x22976 ←0x2297c ←0x22982
            <MI 2298c  TST.L   D7>                                              {}
            <MI 2298e  BNE     0x22862>                                         {}
        <POP 22992-2299a Epilogue>                           Σ0         

0x2299a


@ 2299a
    <POP 2299a-229ea Body>                                              
        <POP 2299a-229b0 Prologue>                           Σ0         ↓
        <POP 229b0-229e2 Naked>                              Σ0         ↓
            <Blob 0x229b0 [18] @>                            Δ-18               {[«18""»]}
            <POP 229c2-229c4 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x229c4 17>                                                    {[«18""»]|[$$Not yet supported]}
            <Call 0x229d8 0x103e0>                                              {[«18""»]|[$$Not yet supported]}
                WriteConsoleStringCrLf(str : String)
            <POP 229de-229e2 StackAdj>                       Δ+22               {}
        <POP 229e2-229ea Epilogue>                           Σ0         

0x229ea


@ 229ea
    <POP 229ea-22de0 Body>                                              
        <POP 229ea-22a00 Prologue>                           Σ0         ↓
        <POP 22a00-22a1e RegCacheLoad>                       Σ0         ↓
        <POP 22a1e-22b2e Naked>                              Σ0         →0x22b38 →0x22b3c →0x22b7c →0x22bc6 →0x22c0a ←0x22dd2
            <Blob 0x22a1e [18] @>                            Δ-18               {[«18""»]}
            <POP 22a30-22a32 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x22a32 17>                                                    {[«18""»]|[$$Test options menu]}
            <Call 0x22a40 0x103e0>                                              {[«18""»]|[$$Test options menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22a42-22a44 StackAdj>                       Δ+22               {}
            <Blob 0x22a44 [24] @>                            Δ-24               {[«24""»]}
            <POP 22a50-22a52 StackAdj>                       Δ-4                {[«24""»]|[-4-]}
            <Lit 0x22a52 24>                                                    {[«24""»]|[$$    1 => Specify tracing]}
            <Call 0x22a60 0x103e0>                                              {[«24""»]|[$$    1 => Specify tracing]}
                WriteConsoleStringCrLf(str : String)
            <POP 22a62-22a64 StackAdj>                       Δ+28               {}
            <Blob 0x22a64 [44] @>                            Δ-44               {[«44""»]}
            <POP 22a70-22a72 StackAdj>                       Δ-4                {[«44""»]|[-4-]}
            <Lit 0x22a72 44>                                                    {[«44""»]|[$$    2 => Specify force control store loading]}
            <Call 0x22a80 0x103e0>                                              {[«44""»]|[$$    2 => Specify force control store loading]}
                WriteConsoleStringCrLf(str : String)
            <POP 22a82-22a86 StackAdj>                       Δ+48               {}
            <Blob 0x22a86 [42] @>                            Δ-42               {[«42""»]}
            <POP 22a92-22a94 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22a94 42>                                                    {[«42""»]|[$$    3 => Specify automatic fault isolation]}
            <Call 0x22aa2 0x103e0>                                              {[«42""»]|[$$    3 => Specify automatic fault isolation]}
                WriteConsoleStringCrLf(str : String)
            <POP 22aa4-22aa8 StackAdj>                       Δ+46               {}
            <Blob 0x22aa8 [62] @>                            Δ-62               {[«62""»]}
            <POP 22ab4-22ab6 StackAdj>                       Δ-4                {[«62""»]|[-4-]}
            <Lit 0x22ab6 62>                                                    {[«62""»]|[$$    4 => List explainations and current state of these options]}
            <Call 0x22ac4 0x103e0>                                              {[«62""»]|[$$    4 => List explainations and current state of these options]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ac6-22aca StackAdj>                       Δ+66               {}
            <Blob 0x22aca [28] @>                            Δ-28               {[«28""»]}
            <POP 22ad6-22ad8 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22ad8 28>                                                    {[«28""»]|[$$    0 => Return to main menu]}
            <Call 0x22ae4 0x103e0>                                              {[«28""»]|[$$    0 => Return to main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ae6-22ae8 StackAdj>                       Δ+32               {}
            <Blob 0x22ae8 [22] @>                            Δ-22               {[«22""»]}
            <POP 22af4-22af6 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22af6 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x22b02 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x22b06 0x4.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
            <Call 0x22b0a 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22b10-22b14 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 22b14  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 22b16-22b18 StackAdj>                       Δ+22               {}
            <MI 22b18  MOVE.L  D7,D0>                                           {}
            <POP 0x22b1a LimitCheck 0x0 ≤ D0 ≤ 0x4>                             {}
            <MI 22b24  ADD.W   D0,D0>                                           {}
            <MI 22b26  SWITCH  D0.W>                                            {}
        <POP 22b38-22b3c Naked>                              Σ0         →0x22dd2 ←0x22a1e
            <MI 22b38  BRA     0x22dd2>                                         {}
        <POP 22b3c-22b7c Naked>                              Σ0         →0x22dd2 ←0x22a1e
            <Blob 0x22b3c [14] @>                            Δ-14               {[«14""»]}
            <POP 22b48-22b4a StackAdj>                       Δ-6                {[«14""»]|[-6-]}
            <Lit 0x22b4a 14>                                                    {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 22b58  MOVE.B  0x2352b,D0>                                      {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 22b5a  NEG.B   D0>                                              {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 22b5c  ADDQ.B  #0x1,D0>                                         {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 22b5e  EXTB.W  D0>                                              {[«14""»]|[-2-]|[$$Enable tracing]}
            <POP 0x22b60 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 22b62  MOVE.B  D0,-(A7)>                     Δ-2                {[«14""»]|[-2-]|[$$Enable tracing]|[2, 'D0']}
            <Call 0x22b64 0x103f0>                                              {[«14""»]|[-2-]|[$$Enable tracing]|[2, 'D0']}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 22b6a-22b6c StackAdj>                       Δ+6                {[«14""»]|[-2-]}
            <MI 22b6c  MOVE.B  (A7)+,D0>                     Δ+2                {[«14""»]}
            <MI 22b6e  EXTB.W  D0>                                              {[«14""»]}
            <POP 0x22b70 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«14""»]}
            <POP 22b72-22b76 StackAdj>                       Δ+14               {}
            <MI 22b76  MOVE.B  D0,0x2352b>                                      {}
            <MI 22b78  BRA     0x22dd2>                                         {}
        <POP 22b7c-22bc6 Naked>                              Σ0         →0x22dd2 ←0x22a1e
            <Blob 0x22b7c [28] @>                            Δ-28               {[«28""»]}
            <POP 22b8c-22b8e StackAdj>                       Δ-6                {[«28""»]|[-6-]}
            <Lit 0x22b8e 27>                                                    {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22b9c  MOVE.B  0x23530,D0>                                      {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22ba2  NEG.B   D0>                                              {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22ba4  ADDQ.B  #0x1,D0>                                         {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22ba6  EXTB.W  D0>                                              {[«28""»]|[-2-]|[$$Force control store loading]}
            <POP 0x22ba8 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22baa  MOVE.B  D0,-(A7)>                     Δ-2                {[«28""»]|[-2-]|[$$Force control store loading]|[2, 'D0']}
            <Call 0x22bac 0x103f0>                                              {[«28""»]|[-2-]|[$$Force control store loading]|[2, 'D0']}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 22bb2-22bb4 StackAdj>                       Δ+6                {[«28""»]|[-2-]}
            <MI 22bb4  MOVE.B  (A7)+,D0>                     Δ+2                {[«28""»]}
            <MI 22bb6  EXTB.W  D0>                                              {[«28""»]}
            <POP 0x22bb8 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«28""»]}
            <POP 22bba-22bbc StackAdj>                       Δ+28               {}
            <MI 22bbc  MOVE.B  D0,0x23530>                                      {}
            <MI 22bc2  BRA     0x22dd2>                                         {}
        <POP 22bc6-22c0a Naked>                              Σ0         →0x22dd2 ←0x22a1e
            <Blob 0x22bc6 [32] @>                            Δ-32               {[«32""»]}
            <POP 22bd2-22bd4 StackAdj>                       Δ-6                {[«32""»]|[-6-]}
            <Lit 0x22bd4 32>                                                    {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22be0  MOVE.B  0x2352a,D0>                                      {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22be6  NEG.B   D0>                                              {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22be8  ADDQ.B  #0x1,D0>                                         {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22bea  EXTB.W  D0>                                              {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <POP 0x22bec LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22bee  MOVE.B  D0,-(A7)>                     Δ-2                {[«32""»]|[-2-]|[$$Enable automatic fault isolation]|[2, 'D0']}
            <Call 0x22bf0 0x103f0>                                              {[«32""»]|[-2-]|[$$Enable automatic fault isolation]|[2, 'D0']}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 22bf6-22bf8 StackAdj>                       Δ+6                {[«32""»]|[-2-]}
            <MI 22bf8  MOVE.B  (A7)+,D0>                     Δ+2                {[«32""»]}
            <MI 22bfa  EXTB.W  D0>                                              {[«32""»]}
            <POP 0x22bfc LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«32""»]}
            <POP 22bfe-22c00 StackAdj>                       Δ+32               {}
            <MI 22c00  MOVE.B  D0,0x2352a>                                      {}
            <MI 22c06  BRA     0x22dd2>                                         {}
        <POP 22c0a-22c52 Naked>                              Σ0         ↓ →0x22c6c ←0x22a1e
            <Blob 0x22c0a [70] @>                            Δ-70               {[«70""»]}
            <POP 22c16-22c18 StackAdj>                       Δ-4                {[«70""»]|[-4-]}
            <Lit 0x22c18 70>                                                    {[«70""»]|[$$TRACING when ON causes the names of experiments to be displayed on the]}
            <Call 0x22c24 0x103e0>                                              {[«70""»]|[$$TRACING when ON causes the names of experiments to be displayed on the]}
                WriteConsoleStringCrLf(str : String)
            <POP 22c26-22c28 StackAdj>                       Δ+74               {}
            <Blob 0x22c28 [36] @>                            Δ-36               {[«36""»]}
            <POP 22c34-22c36 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22c36 36>                                                    {[«36""»]|[$$terminal as they are run. It is now_]}
            <Call 0x22c44 0x103d8>                                              {[«36""»]|[$$terminal as they are run. It is now_]}
                WriteConsoleString(str : String)
            <POP 22c4a-22c4e StackAdj>                       Δ+40               {}
            <MI 22c4e  TST.B   0x2352b>                                         {}
            <MI 22c50  BEQ     0x22c6c>                                         {}
        <POP 22c52-22c6c Naked>                              Σ0         →0x22c92
            <Blob 0x22c52 [2] @>                             Δ-2                {[«2""»]}
            <POP 22c56-22c58 StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <Lit 0x22c58 2>                                                     {[«2""»]|[$$ON]}
            <Call 0x22c66 0x103e0>                                              {[«2""»]|[$$ON]}
                WriteConsoleStringCrLf(str : String)
            <POP 22c68-22c6a StackAdj>                       Δ+6                {}
            <MI 22c6a  BRA     0x22c92>                                         {}
        <POP 22c6c-22c92 Naked>                              Σ0         ↓ ←0x22c0a
            <POP 22c6c-22c6e StackAdj>                       Δ-4                {[-4-]}
            <POP 22c6e-22c6f StackAdj>                       Δ+2                {[-2-]}
            <Blob 0x22c6f [2] @>                             Δ-2                {[-2-]|[«2""»]}
            <MI 22c72  MOVE.B  0x20eb1,(A7+0x1)>                                {[-2-]|[«2""»]}
            <MI 22c78  MOVE.B  0x20eb2,(A7+0x2)>                                {[-2-]|[«2""»]}
            <POP 22c7e-22c80 StackAdj>                       Δ-4                {[-2-]|[«2""»]|[-4-]}
            <Lit 0x22c80>                                                       {[-2-]|[«2""»]|[$$…]}
                <Pointer.sp 0x22c80 4>                       Δ-4        
                <Const 0x22c84 0x1.2>                        Δ-2        
                <Const 0x22c86 0x3.2>                        Δ-2        
                <Call 0x22c8a 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 22c8c-22c8e StackAdj>                   Δ+8        
            <Call 0x22c8e 0x103e0>                                              {[-2-]|[«2""»]|[$$…]}
                WriteConsoleStringCrLf(str : String)
            <POP 22c90-22c92 StackAdj>                       Δ+8                {}
        <POP 22c92-22cfe Naked>                              Σ0         ↓ →0x22d18 ←0x22c52
            <Blob 0x22c92 [72] @>                            Δ-72               {[«72""»]}
            <POP 22c9e-22ca0 StackAdj>                       Δ-4                {[«72""»]|[-4-]}
            <Lit 0x22ca0 72>                                                    {[«72""»]|[$$FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode]}
            <Call 0x22cae 0x103e0>                                              {[«72""»]|[$$FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode]}
                WriteConsoleStringCrLf(str : String)
            <POP 22cb0-22cb1 StackAdj>                       Δ+76       ↓       {}
            <Blob 0x22cb1 [70] @>                            Δ-70               {[«70""»]}
            <POP 22cc0-22cc2 StackAdj>                       Δ-4                {[«70""»]|[-4-]}
            <Lit 0x22cc2 69>                                                    {[«70""»]|[$$into control store every time they are run, even if the microcode was]}
            <Call 0x22cd0 0x103e0>                                              {[«70""»]|[$$into control store every time they are run, even if the microcode was]}
                WriteConsoleStringCrLf(str : String)
            <POP 22cd2-22cd4 StackAdj>                       Δ+74               {}
            <Blob 0x22cd4 [70] @>                            Δ-70               {[«70""»]}
            <POP 22ce0-22ce2 StackAdj>                       Δ-4                {[«70""»]|[-4-]}
            <Lit 0x22ce2 70>                                                    {[«70""»]|[$$still in control store from the last time the test was run. It is now_]}
            <Call 0x22cee 0x103d8>                                              {[«70""»]|[$$still in control store from the last time the test was run. It is now_]}
                WriteConsoleString(str : String)
            <POP 22cf4-22cf6 StackAdj>                       Δ+74               {}
            <MI 22cf6  TST.B   0x23530>                                         {}
            <MI 22cfc  BEQ     0x22d18>                                         {}
        <POP 22cfe-22d18 Naked>                              Σ0         →0x22d3e
            <Blob 0x22cfe [2] @>                             Δ-2                {[«2""»]}
            <POP 22d02-22d04 StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <Lit 0x22d04 2>                                                     {[«2""»]|[$$ON]}
            <Call 0x22d12 0x103e0>                                              {[«2""»]|[$$ON]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d14-22d16 StackAdj>                       Δ+6                {}
            <MI 22d16  BRA     0x22d3e>                                         {}
        <POP 22d18-22d3e Naked>                              Σ0         ↓ ←0x22c92
            <POP 22d18-22d1a StackAdj>                       Δ-4                {[-4-]}
            <POP 22d1a-22d1b StackAdj>                       Δ+2                {[-2-]}
            <Blob 0x22d1b [2] @>                             Δ-2                {[-2-]|[«2""»]}
            <MI 22d1e  MOVE.B  0x20eb7,(A7+0x1)>                                {[-2-]|[«2""»]}
            <MI 22d24  MOVE.B  0x20eb8,(A7+0x2)>                                {[-2-]|[«2""»]}
            <POP 22d2a-22d2c StackAdj>                       Δ-4                {[-2-]|[«2""»]|[-4-]}
            <Lit 0x22d2c>                                                       {[-2-]|[«2""»]|[$$…]}
                <Pointer.sp 0x22d2c 4>                       Δ-4        
                <Const 0x22d30 0x1.2>                        Δ-2        
                <Const 0x22d32 0x3.2>                        Δ-2        
                <Call 0x22d36 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 22d38-22d3a StackAdj>                   Δ+8        
            <Call 0x22d3a 0x103e0>                                              {[-2-]|[«2""»]|[$$…]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d3c-22d3e StackAdj>                       Δ+8                {}
        <POP 22d3e-22d8c Naked>                              Σ0         ↓ →0x22da6 ←0x22cfe
            <Blob 0x22d3e [66] @>                            Δ-66               {[«66""»]}
            <POP 22d4a-22d4c StackAdj>                       Δ-4                {[«66""»]|[-4-]}
            <Lit 0x22d4c 66>                                                    {[«66""»]|[$$FAULT ISOLATION when ON allows a test that detects an error to run]}
            <Call 0x22d5a 0x103e0>                                              {[«66""»]|[$$FAULT ISOLATION when ON allows a test that detects an error to run]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d5c-22d5d StackAdj>                       Δ+70       ↓       {}
            <Blob 0x22d5d [66] @>                            Δ-66               {[«66""»]}
            <POP 22d6c-22d6e StackAdj>                       Δ-4                {[«66""»]|[-4-]}
            <Lit 0x22d6e 65>                                                    {[«66""»]|[$$additional tests that might further isolate the cause. It is now_]}
            <Call 0x22d7c 0x103d8>                                              {[«66""»]|[$$additional tests that might further isolate the cause. It is now_]}
                WriteConsoleString(str : String)
            <POP 22d82-22d84 StackAdj>                       Δ+70               {}
            <MI 22d84  TST.B   0x2352a>                                         {}
            <MI 22d8a  BEQ     0x22da6>                                         {}
        <POP 22d8c-22da6 Naked>                              Σ0         →0x22dcc
            <Blob 0x22d8c [2] @>                             Δ-2                {[«2""»]}
            <POP 22d90-22d92 StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <Lit 0x22d92 2>                                                     {[«2""»]|[$$ON]}
            <Call 0x22da0 0x103e0>                                              {[«2""»]|[$$ON]}
                WriteConsoleStringCrLf(str : String)
            <POP 22da2-22da4 StackAdj>                       Δ+6                {}
            <MI 22da4  BRA     0x22dcc>                                         {}
        <POP 22da6-22dcc Naked>                              Σ0         ↓ ←0x22d3e
            <POP 22da6-22da8 StackAdj>                       Δ-4                {[-4-]}
            <POP 22da8-22da9 StackAdj>                       Δ+2                {[-2-]}
            <Blob 0x22da9 [2] @>                             Δ-2                {[-2-]|[«2""»]}
            <MI 22dac  MOVE.B  0x20ebd,(A7+0x1)>                                {[-2-]|[«2""»]}
            <MI 22db2  MOVE.B  0x20ebe,(A7+0x2)>                                {[-2-]|[«2""»]}
            <POP 22db8-22dba StackAdj>                       Δ-4                {[-2-]|[«2""»]|[-4-]}
            <Lit 0x22dba>                                                       {[-2-]|[«2""»]|[$$…]}
                <Pointer.sp 0x22dba 4>                       Δ-4        
                <Const 0x22dbe 0x1.2>                        Δ-2        
                <Const 0x22dc0 0x3.2>                        Δ-2        
                <Call 0x22dc4 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 22dc6-22dc8 StackAdj>                   Δ+8        
            <Call 0x22dc8 0x103e0>                                              {[-2-]|[«2""»]|[$$…]}
                WriteConsoleStringCrLf(str : String)
            <POP 22dca-22dcc StackAdj>                       Δ+8                {}
        <POP 22dcc-22dd2 Naked>                              Σ0         ↓ ←0x22d8c
            <Call 0x22dcc 0x103dc>                                              {}
                WriteConsoleCrLf(void)
        <POP 22dd2-22dd8 Naked>                              Σ0         ↓ →0x22a1e ←0x22b38 ←0x22b3c ←0x22b7c ←0x22bc6
            <MI 22dd2  TST.L   D7>                                              {}
            <MI 22dd4  BNE     0x22a1e>                                         {}
        <POP 22dd8-22de0 Epilogue>                           Σ0         

0x22de0


@ 22de0
    <POP 22de0-22f78 Body>                                   Δ+2        
        <POP 22de0-22df6 Prologue>                           Σ0         ↓
        <POP 22df6-22e0c RegCacheLoad>                       Σ0         ↓
        <POP 22e0c-22f2c Naked>                              Σ0         →0x22f38 →0x22f3a →0x22f3a →0x22f52 →0x22f52 →0x22f52 ←0x22f6a
            <Blob 0x22e0c [14] @>                            Δ-14               {[«14""»]}
            <POP 22e18-22e1a StackAdj>                       Δ-4                {[«14""»]|[-4-]}
            <Lit 0x22e1a 14>                                                    {[«14""»]|[$$Margining menu]}
            <Call 0x22e28 0x103e0>                                              {[«14""»]|[$$Margining menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22e2a-22e2e StackAdj>                       Δ+18               {}
            <Blob 0x22e2e [40] @>                            Δ-40               {[«40""»]}
            <POP 22e3a-22e3c StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22e3c 40>                                                    {[«40""»]|[$$    1 => Margin system clocks to nominal]}
            <Call 0x22e48 0x103e0>                                              {[«40""»]|[$$    1 => Margin system clocks to nominal]}
                WriteConsoleStringCrLf(str : String)
            <POP 22e4a-22e4e StackAdj>                       Δ+44               {}
            <Blob 0x22e4e [36] @>                            Δ-36               {[«36""»]}
            <POP 22e5a-22e5c StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22e5c 36>                                                    {[«36""»]|[$$    2 => Margin system clocks to +5%]}
            <Call 0x22e68 0x103e0>                                              {[«36""»]|[$$    2 => Margin system clocks to +5%]}
                WriteConsoleStringCrLf(str : String)
            <POP 22e6a-22e6c StackAdj>                       Δ+40               {}
            <Blob 0x22e6c [36] @>                            Δ-36               {[«36""»]}
            <POP 22e78-22e7a StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22e7a 36>                                                    {[«36""»]|[$$    3 => Margin system power nominal]}
            <Call 0x22e86 0x103e0>                                              {[«36""»]|[$$    3 => Margin system power nominal]}
                WriteConsoleStringCrLf(str : String)
            <POP 22e88-22e8a StackAdj>                       Δ+40               {}
            <Blob 0x22e8a [32] @>                            Δ-32               {[«32""»]}
            <POP 22e96-22e98 StackAdj>                       Δ-4                {[«32""»]|[-4-]}
            <Lit 0x22e98 32>                                                    {[«32""»]|[$$    4 => Margin system power +5%]}
            <Call 0x22ea4 0x103e0>                                              {[«32""»]|[$$    4 => Margin system power +5%]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ea6-22ea8 StackAdj>                       Δ+36               {}
            <Blob 0x22ea8 [32] @>                            Δ-32               {[«32""»]}
            <POP 22eb4-22eb6 StackAdj>                       Δ-4                {[«32""»]|[-4-]}
            <Lit 0x22eb6 32>                                                    {[«32""»]|[$$    5 => Margin system power -5%]}
            <Call 0x22ec2 0x103e0>                                              {[«32""»]|[$$    5 => Margin system power -5%]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ec4-22ec6 StackAdj>                       Δ+36               {}
            <Blob 0x22ec6 [28] @>                            Δ-28               {[«28""»]}
            <POP 22ed2-22ed4 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22ed4 28>                                                    {[«28""»]|[$$    0 => Return to main menu]}
            <Call 0x22ee2 0x103e0>                                              {[«28""»]|[$$    0 => Return to main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ee4-22ee6 StackAdj>                       Δ+32               {}
            <Blob 0x22ee6 [22] @>                            Δ-22               {[«22""»]}
            <POP 22ef2-22ef4 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22ef4 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x22f00 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x22f04 0x5.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##5]}
            <Call 0x22f08 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##5]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22f0e-22f12 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 22f12  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 22f14-22f16 StackAdj>                       Δ+22               {}
            <MI 22f16  MOVE.L  D7,D0>                                           {}
            <POP 0x22f18 LimitCheck 0x0 ≤ D0 ≤ 0x5>                             {}
            <MI 22f22  ADD.W   D0,D0>                                           {}
            <MI 22f24  SWITCH  D0.W>                                            {}
        <POP 22f38-22f3a Naked>                              Σ0         →0x22f6a ←0x22e0c
            <MI 22f38  BRA     0x22f6a>                                         {}
        <POP 22f3a-22f52 Naked>                              Σ0 Δ-2     →0x22f68 ←0x22e0c ←0x22e0c
            <MI 22f3a  MOVE.L  D7,D0>                                           {}
            <MI 22f3c  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x22f3e LimitCheck 0x0 ≤ D0 ≤ 0xffff>                          {}
            <MI 22f48  MOVE.W  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x22f4a 0x1022c>                                              {[2, 'D0']}
                KC16_Clock_Margin
            <MI 22f50  BRA     0x22f68>                                         {[2, 'D0']}
        <POP 22f52-22f68 Naked>                              Σ0 Δ-2     ↓ ←0x22e0c ←0x22e0c ←0x22e0c
            <MI 22f52  MOVE.L  D7,D0>                                           {}
            <MI 22f54  SUBQ.L  #0x3,D0>                                         {}
            <POP 0x22f56 LimitCheck 0x0 ≤ D0 ≤ 0xffff>                          {}
            <MI 22f60  MOVE.W  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x22f62 0x1022e>                                              {[2, 'D0']}
                KC17_Power_Margin
        <POP 22f68-22f6a Naked>                              Σ-2 Δ+2    ↓ ←0x22f3a
            <POP 22f68-22f6a StackAdj>                       Δ+2                {}
        <POP 22f6a-22f70 Naked>                              Σ0         ↓ →0x22e0c ←0x22f38
            <MI 22f6a  TST.L   D7>                                              {}
            <MI 22f6c  BNE     0x22e0c>                                         {}
        <POP 22f70-22f78 Epilogue>                           Σ0         

0x22f78


@ 22f78
    <POP 22f78-22fc2 Body>                                              
        <POP 22f78-22f8e Prologue>                           Σ0         ↓
        <POP 22f8e-22fba Naked>                              Σ0         ↓
            <Blob 0x22f8e [54] @>                            Δ-54               {[«54""»]}
            <POP 22f9a-22f9c StackAdj>                       Δ-4                {[«54""»]|[-4-]}
            <Lit 0x22f9c 54>                                                    {[«54""»]|[$$The feature is not available for Series-200 processors]}
            <Call 0x22fb0 0x103e0>                                              {[«54""»]|[$$The feature is not available for Series-200 processors]}
                WriteConsoleStringCrLf(str : String)
            <POP 22fb6-22fba StackAdj>                       Δ+58               {}
        <POP 22fba-22fc2 Epilogue>                           Σ0         

0x22fc2


@ 22fc2
    <POP 22fc2-231dc Body>                                              
        <POP 22fc2-22fd8 Prologue>                           Σ0         ↓
        <POP 22fd8-22fec RegCacheLoad>                       Σ0         ↓
        <POP 22fec-2318c Naked>                              Σ0         →0x2319e →0x231a0 →0x231a6 →0x231ac →0x231b2 →0x231b8 →0x231be →0x231c4 →0x231ca ←0x231ce
            <Blob 0x22fec [10] @>                            Δ-10               {[«10""»]}
            <POP 22ffc-22ffe StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x22ffe 9>                                                     {[«10""»]|[$$Main menu]}
            <Call 0x2300c 0x103e0>                                              {[«10""»]|[$$Main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 2300e-23012 StackAdj>                       Δ+14               {}
            <Blob 0x23012 [36] @>                            Δ-36               {[«36""»]}
            <POP 2301e-23020 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x23020 36>                                                    {[«36""»]|[$$    1 => Display cluster information]}
            <Call 0x2302c 0x103e0>                                              {[«36""»]|[$$    1 => Display cluster information]}
                WriteConsoleStringCrLf(str : String)
            <POP 2302e-23032 StackAdj>                       Δ+40               {}
            <Blob 0x23032 [50] @>                            Δ-50               {[«50""»]}
            <POP 2303e-23040 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x23040 50>                                                    {[«50""»]|[$$    2 => Execute confidence test (microdiagnostic)]}
            <Call 0x2304e 0x103e0>                                              {[«50""»]|[$$    2 => Execute confidence test (microdiagnostic)]}
                WriteConsoleStringCrLf(str : String)
            <POP 23050-23054 StackAdj>                       Δ+54               {}
            <Blob 0x23054 [28] @>                            Δ-28               {[«28""»]}
            <POP 23060-23062 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x23062 28>                                                    {[«28""»]|[$$    3 => Execute diagnostics]}
            <Call 0x23070 0x103e0>                                              {[«28""»]|[$$    3 => Execute diagnostics]}
                WriteConsoleStringCrLf(str : String)
            <POP 23072-23073 StackAdj>                       Δ+32       ↓       {}
            <Blob 0x23073 [48] @>                            Δ-48               {[«48""»]}
            <POP 23084-23086 StackAdj>                       Δ-4                {[«48""»]|[-4-]}
            <Lit 0x23086 47>                                                    {[«48""»]|[$$    4 => Execute PM tests (not implemented yet)]}
            <Call 0x23094 0x103e0>                                              {[«48""»]|[$$    4 => Execute PM tests (not implemented yet)]}
                WriteConsoleStringCrLf(str : String)
            <POP 23096-2309a StackAdj>                       Δ+52               {}
            <Blob 0x2309a [36] @>                            Δ-36               {[«36""»]}
            <POP 230a6-230a8 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x230a8 36>                                                    {[«36""»]|[$$    5 => Margin cluster clocks/power]}
            <Call 0x230b4 0x103e0>                                              {[«36""»]|[$$    5 => Margin cluster clocks/power]}
                WriteConsoleStringCrLf(str : String)
            <POP 230b6-230b7 StackAdj>                       Δ+40       ↓       {}
            <Blob 0x230b7 [30] @>                            Δ-30               {[«30""»]}
            <POP 230c6-230c8 StackAdj>                       Δ-4                {[«30""»]|[-4-]}
            <Lit 0x230c8 29>                                                    {[«30""»]|[$$    6 => Specify test options]}
            <Call 0x230d6 0x103e0>                                              {[«30""»]|[$$    6 => Specify test options]}
                WriteConsoleStringCrLf(str : String)
            <POP 230d8-230dc StackAdj>                       Δ+34               {}
            <Blob 0x230dc [56] @>                            Δ-56               {[«56""»]}
            <POP 230e8-230ea StackAdj>                       Δ-4                {[«56""»]|[-4-]}
            <Lit 0x230ea 56>                                                    {[«56""»]|[$$    7 => Repair assistance (model 100 CPU power control)]}
            <Call 0x230f8 0x103e0>                                              {[«56""»]|[$$    7 => Repair assistance (model 100 CPU power control)]}
                WriteConsoleStringCrLf(str : String)
            <POP 230fa-230fb StackAdj>                       Δ+60       ↓       {}
            <Blob 0x230fb [36] @>                            Δ-36               {[«36""»]}
            <POP 2310c-2310e StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x2310e 35>                                                    {[«36""»]|[$$    8 => Initialize processor state]}
            <Call 0x2311c 0x103e0>                                              {[«36""»]|[$$    8 => Initialize processor state]}
                WriteConsoleStringCrLf(str : String)
            <POP 2311e-2311f StackAdj>                       Δ+40       ↓       {}
            <Blob 0x2311f [14] @>                            Δ-14               {[«14""»]}
            <POP 23130-23132 StackAdj>                       Δ-4                {[«14""»]|[-4-]}
            <Lit 0x23132 13>                                                    {[«14""»]|[$$    0 => Exit]}
            <Call 0x23140 0x103e0>                                              {[«14""»]|[$$    0 => Exit]}
                WriteConsoleStringCrLf(str : String)
            <POP 23142-23146 StackAdj>                       Δ+18               {}
            <Blob 0x23146 [22] @>                            Δ-22               {[«22""»]}
            <POP 23152-23154 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x23154 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x23160 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x23164 0x8.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##8]}
            <Call 0x23168 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##8]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 2316e-23172 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 23172  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 23174-23176 StackAdj>                       Δ+22               {}
            <MI 23176  MOVE.L  D7,D0>                                           {}
            <POP 0x23178 LimitCheck 0x0 ≤ D0 ≤ 0x8>                             {}
            <MI 23182  ADD.W   D0,D0>                                           {}
            <MI 23184  SWITCH  D0.W>                                            {}
        <POP 2319e-231a0 Naked>                              Σ0         →0x231ce ←0x22fec
            <MI 2319e  BRA     0x231ce>                                         {}
        <POP 231a0-231a6 Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231a0 0x214ba>                                              {}
            <MI 231a4  BRA     0x231ce>                                         {}
        <POP 231a6-231ac Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231a6 0x2150a>                                              {}
            <MI 231aa  BRA     0x231ce>                                         {}
        <POP 231ac-231b2 Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231ac 0x22836>                                              {}
            <MI 231b0  BRA     0x231ce>                                         {}
        <POP 231b2-231b8 Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231b2 0x2299a>                                              {}
            <MI 231b6  BRA     0x231ce>                                         {}
        <POP 231b8-231be Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231b8 0x22de0>                                              {}
            <MI 231bc  BRA     0x231ce>                                         {}
        <POP 231be-231c4 Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231be 0x229ea>                                              {}
            <MI 231c2  BRA     0x231ce>                                         {}
        <POP 231c4-231ca Naked>                              Σ0         →0x231ce ←0x22fec
            <Call 0x231c4 0x22f78>                                              {}
            <MI 231c8  BRA     0x231ce>                                         {}
        <POP 231ca-231ce Naked>                              Σ0         ↓ ←0x22fec
            <Call 0x231ca 0x215de>                                              {}
        <POP 231ce-231d4 Naked>                              Σ0         ↓ →0x22fec ←0x2319e ←0x231a0 ←0x231a6 ←0x231ac ←0x231b2 ←0x231b8 ←0x231be ←0x231c4
            <MI 231ce  TST.L   D7>                                              {}
            <MI 231d0  BNE     0x22fec>                                         {}
        <POP 231d4-231dc Epilogue>                           Σ0         

0x231dc


@ 231dc
        <LVAR -0x004 @>
    <POP 231dc-2324c Body>                                              
        <POP 231dc-231f2 Prologue>                           Σ0         ↓
        <POP 231f2-231f4 RegCacheLoad>                       Σ0         ↓
        <POP 231f4-23244 Naked>                              Σ0         ↓
            <Call 0x231f4 0x10538>                                              {}
                IPC_Init(void)
            <Const 0x231fa 0x1.2>                            Δ-2                {[#1]}
            <Call 0x231fc 0x10502>                                              {[#1]}
                IPC_PutBool(a : Bool)
            <POP 23202-23204 StackAdj>                       Δ+2                {}
            <Call 0x23204 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x2320a [10] @>                            Δ-10               {[«10""»]}
            <POP 2321c-2321e StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x2321e 9>                                                     {[«10""»]|[$$CONFIGURE]}
            <Const 0x23230 0x1.4>                            Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]}
            <Const 0x23234 0x1.2>                            Δ-2                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]}
            <Pointer.fp 0x23236 <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
            <Call 0x2323a 0x103b0>                                              {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 23240-23244 StackAdj>                       Δ+24               {}
        <POP 23244-2324c Epilogue>                           Σ0         

0x2324c


@ 2324c
START
    <POP 2324c--0001 Body>                                              
        <POP 2324c-23256 Prologue>                           Σ0         
        <POP 23256-23260 RegCacheLoad>                       Σ0         ↓
        <POP 23260-23316 Naked>                              Σ0         ↓
            <Call 0x23260 0x10398>                                              {}
                FSCALL_10398
            <Blob 0x23266 [36] @>                            Δ-36               {[«36""»]}
            <POP 23272-23274 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x23274 36>                                                    {[«36""»]|[$$Rational R1000 FRU diagnostic driver]}
            <Call 0x23282 0x103e0>                                              {[«36""»]|[$$Rational R1000 FRU diagnostic driver]}
                WriteConsoleStringCrLf(str : String)
            <POP 23288-23289 StackAdj>                       Δ+40       ↓       {}
            <Blob 0x23289 [18] @>                            Δ-18               {[«18""»]}
            <POP 23298-2329a StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x2329a 17>                                                    {[«18""»]|[$$Initializing ... ]}
            <Call 0x232a8 0x103d8>                                              {[«18""»]|[$$Initializing ... ]}
                WriteConsoleString(str : String)
            <POP 232ae-232b0 StackAdj>                       Δ+22               {}
            <MI 232b0  MOVE.B  #0x01,0x2352b>                                   {}
            <MI 232b6  MOVE.B  #0x01,0x2352a>                                   {}
            <MI 232bc  MOVE.B  #0x01,0x23530>                                   {}
            <MI 232c2  CLR.L   0x2352c>                                         {}
            <Const 0x232c8 0x23532.4>                        Δ-4                {[##144690]}
            <Call 0x232ce 0x102b8>                                              {[##144690]}
                NewString(VAR a : String)
            <POP 232d4-232d6 StackAdj>                       Δ+4                {}
            <Call 0x232d6 0x231dc>                                              {}
            <Blob 0x232da [6] @>                             Δ-6                {[«6""»]}
            <POP 232ea-232ec StackAdj>                       Δ-4                {[«6""»]|[-4-]}
            <Lit 0x232ec 5>                                                     {[«6""»]|[$$done!]}
            <Call 0x232fa 0x103e0>                                              {[«6""»]|[$$done!]}
                WriteConsoleStringCrLf(str : String)
            <POP 23300-23304 StackAdj>                       Δ+10               {}
            <Call 0x23304 0x22fc2>                                              {}
            <MI 23308  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Const 0x2330a 0x1.4>                            Δ-4                {[#0]|[##1]}
            <Call 0x2330e 0x103b8>                                              {[#0]|[##1]}
                PopProgram(status : Byte; msg : String)
            <POP 23314-23316 StackAdj>                       Δ+6                {}
        <POP 23316-2331c Naked>                              Σ0         
            <Call 0x23316 0x10284>                                              {}
                ?exit

0x2332a


@ 2332a
PROG_FAIL
        <LVAR  0x008 1(r)>
    <POP 2332a-23392 Body>                                              
        <POP 2332a-23340 Prologue>                           Σ0         ↓
        <POP 23340-2338a Naked>                              Σ0         ↓
            <Blob 0x23340 [14] @>                            Δ-14               {[«14""»]}
            <Const 0x2334c 0x3.2>                            Δ-2                {[«14""»]|[#3]}
            <POP 23350-23352 StackAdj>                       Δ-8                {[«14""»]|[#3]|[-8-]}
            <Lit 0x23352 14>                                                    {[«14""»]|[#3]|[-4-]|[$$Words error :_]}
            <POP 23364-23366 StackAdj>                       Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 23366  MOVE.B  (A6+0x8),D0>                                     {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 2336a  EXTB.W  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 2336c  EXTW.L  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 2336e  MOVE.L  D0,-(A7)>                     Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
            <Call 0x23370 0x102e4>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
                Long2String(a : Long) : String
            <POP 23376-23378 StackAdj>                       Δ+4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <Call 0x23378 0x102d0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 2337e-23380 StackAdj>                       Δ+8                {[«14""»]|[#3]|[-4-]}
            <Call 0x23380 0x103b8>                                              {[«14""»]|[#3]|[-4-]}
                PopProgram(status : Byte; msg : String)
            <POP 23386-2338a StackAdj>                       Δ+20               {}
        <POP 2338a-23392 Epilogue>                           Σ0         

0x233e6


@ 233e6
EXP_FAIL
        <LVAR  0x00e 1(r)>
        <LVAR  0x00a 4(r)>
        <LVAR  0x008 1(r)>
    <POP 233e6-23522 Body>                                              
        <POP 233e6-233fc Prologue>                           Σ0         ↓
        <POP 233fc-23412 RegCacheLoad>                       Σ0         ↓
        <POP 23412-23472 Naked>                              Σ0         ↓ →0x234ba
            <Call 0x23412 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x23418 [18] @>                            Δ-18               {[«18""»]}
            <POP 23424-23426 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x23426 18>                                                    {[«18""»]|[$$Experiment error :]}
            <Call 0x23432 0x103e0>                                              {[«18""»]|[$$Experiment error :]}
                WriteConsoleStringCrLf(str : String)
            <POP 23434-23435 StackAdj>                       Δ+22       ↓       {}
            <Blob 0x23435 [14] @>                            Δ-14               {[«14""»]}
            <POP 23444-23446 StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x23446 13>                                                    {[«14""»]|[-4-]|[$$Board      :_]}
            <POP 23450-23452 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <MI 23452  MOVE.B  (A6+0xe),(A7)>                                   {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <Call 0x23456 0x1049c>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
                BoardName(address : B) : String
            <POP 2345c-2345e StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
            <Call 0x2345e 0x102d0>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 23464-23466 StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x23466 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 23468-2346a StackAdj>                       Δ+18               {}
            <MI 2346a  MOVEA.L (A6+0xa),A0>                                     {}
            <MI 2346e  CMPA.W  #0x01,A0>                                        {}
            <MI 23470  BEQ     0x234ba>                                         {}
        <POP 23472-234ba Naked>                              Σ0         ↓
            <Blob 0x23472 [14] @>                            Δ-14               {[«14""»]}
            <Blob 0x23482 [30] (A0+0xfc)>                    Δ-30               {[«14""»]|[«30»]}
            <POP 23492-23494 StackAdj>                       Δ-8                {[«14""»]|[«30»]|[-8-]}
            <Lit 0x23494 13>                                                    {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]}
            <POP 2349e-234a0 StackAdj>                       Δ-4                {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]}
            <Lit 0x234a0>                                                       {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                <Pointer.sp 0x234a0 12>                      Δ-4        
                <Const 0x234a4 0x1.2>                        Δ-2        
                <Const 0x234a6 0x1e.2>                       Δ-2        
                <Call 0x234a8 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 234aa-234ac StackAdj>                   Δ+8        
            <Call 0x234ac 0x102d0>                                              {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                StringCat2(a, b : String) : String
            <POP 234b2-234b4 StackAdj>                       Δ+8                {[«14""»]|[«30»]|[-4-]}
            <Call 0x234b4 0x103e0>                                              {[«14""»]|[«30»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 234b6-234ba StackAdj>                       Δ+48               {}
        <POP 234ba-2351a Naked>                              Σ0         ↓ ←0x23412
            <Blob 0x234ba [14] @>                            Δ-14               {[«14""»]}
            <POP 234ca-234cc StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x234cc 13>                                                    {[«14""»]|[-4-]|[$$Status     :_]}
            <POP 234d6-234d8 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <MI 234d8  MOVE.B  (A6+0x8),(A7)>                                   {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <Call 0x234dc 0x104a2>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
                ExpStatus2Text(status.B, &String)
            <POP 234e2-234e4 StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
            <Call 0x234e4 0x102d0>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 234ea-234ec StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x234ec 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 234ee-234ef StackAdj>                       Δ+18       ↓       {}
            <Blob 0x234ef [24] @>                            Δ-24               {[«24""»]}
            <Const 0x234fe 0x2.2>                            Δ-2                {[«24""»]|[#2]}
            <POP 23502-23504 StackAdj>                       Δ-4                {[«24""»]|[#2]|[-4-]}
            <Lit 0x23504 23>                                                    {[«24""»]|[#2]|[$$Fatal experiment error.]}
            <Call 0x23512 0x103b8>                                              {[«24""»]|[#2]|[$$Fatal experiment error.]}
                PopProgram(status : Byte; msg : String)
            <POP 23518-2351a StackAdj>                       Δ+30               {}
        <POP 2351a-23522 Epilogue>                           Σ0         

Raw from R1000.Disassembly/DFS

00020000 ; --------------------------------------------------------------------------------------
00020000 ; R1000.Disassembly modules:
00020000 ;   import all
00020000 ;   import kind.program
00020000 ;   no ident.f3485d271f4bcf91
00020000 ; --------------------------------------------------------------------------------------
00020000					stack.top:
00020000 00 04 00 00              |        |		.CODE	0x40000			; STACK.END
00020004 00 02 32 4c              |  2L    |		.CODE	START
00020008 00 01 02 88              |        |		.CODE	FSCALL_10288
0002000c					heap.top:
0002000c 00 02 35 46              |  5F    |		.PTR	0x23546
00020010					code.end:
00020010 00 02 35 22              |  5"    |		.PTR	0x23522
00020014 00 00 00 00              |        |		.CONST	0x00000000
00020018					programfailurehandler:
00020018 00 02 33 2a              |  3*    |		.CODE	PROG_FAIL
0002001c					experimentfailurehandler:
0002001c 00 02 33 e6              |  3     |		.CODE	EXP_FAIL
00020020 00 00 00 00              |        |		.CONST	0x00000000
00020024					exp_init_done:
00020024 00                       |        |		.CONST	0x00
00020025 00                       |        |		.CONST	0x00
00020026 00 00                    |        |		.CONST	0x0000
00020028 00 00                    |        |		.CONST	0x0000
0002002a 00 00                    |        |		.XXX[0x2]
0002002c 00 00                    |        |		.CONST	0x0000
0002002e 00 00                    |        |		.CONST	0x0000
00020030 00 00                    |        |		.CONST	0x0000
00020032 00 00 00 00 00 00        |        |		.XXX[0x6]
00020038 00 00 00 00 00 00 00 00  |        |		.BLANK	00[0xb0]
000200e8 00 00 00 00              |        |		.XXX[0x4]
000200ec 00 00 00 00              |        |		.PTR	0x0
000200f0					is_open_ERROR_LOG:
000200f0 00                       |        |		.CONST	0x0
000200f1					write_error_ERROR_LOG:
000200f1 00                       |        |		.CONST	0x0
000200f2 00 00 00 00              |        |		.CONST	0x00000000
000200f6 00 00 00 00              |        |		.CONST	0x00000000
000200fa 00                       |        |		.CONST	0x00
000200fb 00                       |        |		.CONST	0x00
000200fc					file_ERROR_LOG:
000200fc 00 00 00 00              |        |		.CONST	0x00000000
00020100 00 00 00 00              |        |		.CONST	0x00000000
00020104 00 00                    |        |		.CONST	0x0000
00020106 00 00                    |        |		.CONST	0x0000
00020108					somekindoffsflag:
00020108 00                       |        |		.CONST	0x00
00020109 00                       |        |		.CONST	0x00
0002010a 40 28 23 29 46 52        |@(#)FR  |		.XXX[0x6]
00020110 55 2c 32 2e 31 2c 39 32  |U,2.1,92|		.XXX[0x18]
00020118 2f 30 31 2f 31 36 2c 31  |/01/16,1|
00020120 32 3a 33 34 3a 35 36 5c  |2:34:56\|
00020128 4e 6f 74 20 79 65 74 20  |Not yet |		.TXT	'Not yet supported '
0002013a 52 55 4e 5f 55 44 49 41  |RUN_UDIA|		.TXT	'RUN_UDIAG '
00020144 55 44 49 41 47 20        |UDIAG   |		.TXT	'UDIAG '
0002014a 43 4f 4e 46 49 47 55 52  |CONFIGUR|		.TXT	'CONFIGURE '
00020154 49 4e 49 54 53 54 41 54  |INITSTAT|		.TXT	'INITSTATE '
0002015e 2e 45 52 52              |.ERR    |		.TXT	'.ERR'
00020162 4d 45 53 53              |MESS    |		.TXT	'MESS'
00020166 20 70 61 73 73 65 64 20  | passed |		.TXT	' passed '
0002016e 20 66 61 69 6c 65 64 20  | failed |		.TXT	' failed '
00020176 54 68 65 20 64 69 61 67  |The diag|		.TXT	'The diagnostic which found the failure was_ '
000201a2 46 69 65 6c 64 20 72 65  |Field re|		.TXT	'Field replaceable units : '
000201bc 46 52 55 5f              |FRU_    |		.TXT	'FRU_'
000201c0 4c 49 54 53              |LITS    |		.TXT	'LITS'
000201c4 2e 54 58 54              |.TXT    |		.TXT	'.TXT'
000201c8 50 20                    |P       |		.TXT	'P '
000201ca 46 52                    |FR      |		.TXT	'FR'
000201cc 55 20                    |U       |		.XXX[0x2]
000201ce 50 68                    |Ph      |		.TXT	'Ph'
000201d0 61 73                    |as      |		.TXT	'as'
000201d2 65 5f                    |e_      |		.TXT	'e_'
000201d4 52 75 6e 6e              |Runn    |		.TXT	'Runn'
000201d8 69 6e 67 20              |ing     |		.TXT	'ing '
000201dc 46 52 55 5f              |FRU_    |		.TXT	'FRU_'
000201e0 52 75 6e 6e 69 6e 67 20  |Running |		.XXX[0x8]
000201e8 46 52 55 5f              |FRU_    |		.XXX[0x4]
000201ec 52 75 6e 6e              |Runn    |		.TXT	'Runn'
000201f0 69 6e 67 20              |ing     |		.TXT	'ing '
000201f4 46 52 55 5f              |FRU_    |		.TXT	'FRU_'
000201f8 20 6f 6e 5f              | on_    |		.TXT	' on_'
000201fc 52 75 6e 6e              |Runn    |		.TXT	'Runn'
00020200 69 6e 67 20              |ing     |		.TXT	'ing '
00020204 46 52 55 5f              |FRU_    |		.TXT	'FRU_'
00020208 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter maximum test phase (1-3) :_'
00020230 46 72 75 20              |Fru     |		.TXT	'Fru '
00020234 6d 65 6e 75              |menu    |		.TXT	'menu'
00020238 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => ALL boards                 7 => FIU'
00020264 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => VAL                        8 => Memory 0 '
00020296 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => TYP                        9 => Memory 1 '
000202c8 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => SEQuencer                 10 => Memory 2 '
000202fa 20 20 20 20 35 20 3d 3e  |    5 =>|		.TXT	'    5 => Foreplane                 11 => Memory 3 '
0002032c 20 20 20 20 36 20 3d 3e  |    6 =>|		.TXT	'    6 => IOC                        0 => exit this menu '
00020364 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
0002037a 31 20 20 3d 3e 20 41 6c  |1  => Al|		.TXT	'1  => All                     12 => Class Checker '
000203ac 32 20 20 3d 3e 20 43 6f  |2  => Co|		.TXT	'2  => Condition selection     13 => Tagstores '
000203da 33 20 20 3d 3e 20 56 41  |3  => VA|		.TXT	'3  => VAL board               14 => Dynamic RAMS'
0002040a 34 20 20 3d 3e 20 54 59  |4  => TY|		.TXT	'4  => TYP board               15 => Val register files'
00020440 35 20 20 3d 3e 20 53 45  |5  => SE|		.TXT	'5  => SEQuencer board         16 => Typ register files'
00020476 36 20 20 3d 3e 20 46 49  |6  => FI|		.TXT	'6  => FIU board               17 => Dispatch logic'
000204a8 37 20 20 3d 3e 20 4d 65  |7  => Me|		.TXT	'7  => Memory board(s)         18 => Error correction (ECC)'
000204e2 38 20 20 3d 3e 20 43 53  |8  => CS|		.TXT	'8  => CSA                     19 => Timers'
0002050c 39 20 20 3d 3e 20 4d 65  |9  => Me|		.TXT	'9  => Memory Monitor          20 => Worst case paths'
00020540 31 30 20 3d 3e 20 53 59  |10 => SY|		.XXX[0x30]
00020548 53 42 55 53 20 62 6f 61  |SBUS boa|
00020550 72 64 20 20 20 20 20 20  |rd      |
00020558 20 20 20 20 20 20 32 31  |      21|
00020560 20 3d 3e 20 53 59 53 42  | => SYSB|
00020568 55 53 20 62 75 66 66 65  |US buffe|
00020570 72 73                    |rs      |		.XXX[0x2]
00020572 31 30 20 3d 3e 20 49 4f  |10 => IO|		.TXT	'10 => IOC board '
00020582 31 31 20 3d 3e 20 50 72  |11 => Pr|		.TXT	'11 => Privacy Checker '
00020598 31 20 3d 3e 20 41 6c 6c  |1 => All|		.TXT	'1 => All boards          7 => Memory 0'
000205be 32 20 3d 3e 20 53 45 51  |2 => SEQ|		.TXT	'2 => SEQuencer           8 => Memory 1'
000205e4 33 20 3d 3e 20 46 49 55  |3 => FIU|		.TXT	'3 => FIU                 9 => Memory 2'
0002060a 34 20 3d 3e 20 54 59 50  |4 => TYP|		.TXT	'4 => TYP                10 => Memory 3'
00020630 35 20 3d 3e 20 56 41 4c  |5 => VAL|		.TXT	'5 => VAL                11 => All Memories'
0002065a 36 20 3d 3e              |6 =>    |		.TXT	'6 =>'
0002065e 20 49 4f 43              | IOC    |		.TXT	' IOC'
00020662 50 31 44 43 4f 4d        |P1DCOM  |		.XXX[0x6]
00020668 4d 20 20 20 50 31 46 49  |M   P1FI|		.XXX[0x118]
00020670 55 20 20 20 20 20 50 31  |U     P1|
00020678 49 4f 43 20 20 20 20 20  |IOC     |
00020680 50 31 4d 45 4d 20 20 20  |P1MEM   |
00020688 20 20 50 31 53 45 51 20  |  P1SEQ |
00020690 20 20 20 20 50 31 53 46  |    P1SF|
00020698 20 20 20 20 20 20 50 31  |      P1|
000206a0 53 59 53 20 20 20 20 20  |SYS     |
000206a8 50 31 54 59 50 20 20 20  |P1TYP   |
000206b0 20 20 50 31 56 41 4c 20  |  P1VAL |
000206b8 20 20 20 20 50 32 41 42  |    P2AB|
000206c0 55 53 20 20 20 20 50 32  |US    P2|
000206c8 43 4f 4e 44 20 20 20 20  |COND    |
000206d0 50 32 43 53 41 20 20 20  |P2CSA   |
000206d8 20 20 50 32 45 56 4e 54  |  P2EVNT|
000206e0 20 20 20 20 50 32 46 49  |    P2FI|
000206e8 55 20 20 20 20 20 50 32  |U     P2|
000206f0 46 50 20 20 20 20 20 20  |FP      |
000206f8 50 32 49 4f 41 20 20 20  |P2IOA   |
00020700 20 20 50 32 49 4f 43 20  |  P2IOC |
00020708 20 20 20 20 50 32 4d 45  |    P2ME|
00020710 4d 20 20 20 20 20 50 32  |M     P2|
00020718 4d 4d 20 20 20 20 20 20  |MM      |
00020720 50 32 53 42 55 53 20 20  |P2SBUS  |
00020728 20 20 50 32 53 45 51 20  |  P2SEQ |
00020730 20 20 20 20 50 32 53 54  |    P2ST|
00020738 4f 50 20 20 20 20 50 32  |OP    P2|
00020740 53 59 53 20 20 20 20 20  |SYS     |
00020748 50 32 54 59 50 20 20 20  |P2TYP   |
00020750 20 20 50 32 55 41 44 52  |  P2UADR|
00020758 20 20 20 20 50 32 55 43  |    P2UC|
00020760 4f 44 45 20 20 20 50 32  |ODE   P2|
00020768 56 41 4c 20 20 20 20 20  |VAL     |
00020770 50 33 52 41 4d 53 20 20  |P3RAMS  |
00020778 20 20 50 33 55 43 4f 44  |  P3UCOD|
00020780 45 20 20 20              |E       |		.XXX[0x4]
00020784 30 20 20 3d 3e 20 45 78  |0  => Ex|		.TXT	'0  => Exit this menu         16 => none '
000207ac 31 20 20 3d 3e 20 50 31  |1  => P1|		.TXT	'1  => P1DCOMM                17 => P2IOC'
000207d4 32 20 20 3d 3e 20 50 31  |2  => P1|		.TXT	'2  => P1FIU                  18 => P2MEM'
000207fc 33 20 20 3d 3e 20 50 31  |3  => P1|		.TXT	'3  => P1IOC                  19 => P2MM '
00020824 34 20 20 3d 3e 20 50 31  |4  => P1|		.TXT	'4  => P1MEM                  20 => none '
0002084c 35 20 20 3d 3e 20 50 31  |5  => P1|		.TXT	'5  => P1SEQ                  21 => P2SEQ'
00020874 36 20 20 3d 3e 20 50 31  |6  => P1|		.TXT	'6  => P1SF                   22 => P2STOP '
0002089e 37 20 20 3d 3e 20 6e 6f  |7  => no|		.TXT	'7  => none                   23 => none '
000208c6 38 20 20 3d 3e 20 50 31  |8  => P1|		.TXT	'8  => P1TYP                  24 => P2TYP'
000208ee 39 20 20 3d 3e 20 50 31  |9  => P1|		.TXT	'9  => P1VAL                  25 => P2UADR '
00020918 31 30 20 3d 3e 20 50 32  |10 => P2|		.TXT	'10 => P2ABUS                 26 => P2UCODE'
00020942 31 31 20 3d 3e 20 50 32  |11 => P2|		.TXT	'11 => P2COND                 27 => P2VAL'
0002096a 31 32 20 3d 3e 20 50 32  |12 => P2|		.TXT	'12 => P2CSA                  28 => P3RAMS '
00020994 31 33 20 3d 3e 20 50 32  |13 => P2|		.TXT	'13 => P2EVNT                 29 => P3UCODE'
000209be 31 34 20 3d 3e 20 50 32  |14 => P2|		.TXT	'14 => P2FIU                  30 => Other'
000209e6 31 35 20 3d 3e 20 50 32  |15 => P2|		.TXT	'15 => P2FP'
000209f0 54 68 61 74 20 74 65 73  |That tes|		.TXT	'That test option is not applicable to this R1000 Processor. '
00020a2c 45 6e 74 65 72 20 74 65  |Enter te|		.TXT	'Enter test option :_'
00020a40 45 6e 74 65 72 20 74 65  |Enter te|		.TXT	'Enter test name :_'
00020a52 49 73 20 74 68 69 73 20  |Is this |		.TXT	'Is this a multi-board FRU '
00020a6c 57 68 69 63 68 20 62 6f  |Which bo|		.TXT	'Which board(s) should this FRU be run on :_ '
00020a98 57 68 69 63 68 20 66 75  |Which fu|		.TXT	'Which function should this FRU test :_'
00020abe 50 32 46 50              |P2FP    |		.TXT	'P2FP'
00020ac2 49 4e 54 45 52 41 43 54  |INTERACT|		.TXT	'INTERACTIVE '
00020ace 44 69 61 67 6e 6f 73 74  |Diagnost|		.TXT	'Diagnostic execution menu '
00020ae8 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Test the foreplane '
00020b04 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Run all tests'
00020b1a 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Run all tests applicable to a given FRU (board)'
00020b52 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => Run a specific test'
00020b6e 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Return to main menu'
00020b8a 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020ba0 4e 6f 74 20 79 65 74 20  |Not yet |		.TXT	'Not yet supported '
00020bb2 54 65 73 74 20 6f 70 74  |Test opt|		.TXT	'Test options menu '
00020bc4 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Specify tracing'
00020bdc 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Specify force control store loading'
00020c08 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Specify automatic fault isolation'
00020c32 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => List explainations and current state of these options'
00020c70 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Return to main menu'
00020c8c 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020ca2 45 6e 61 62 6c 65 20 74  |Enable t|		.TXT	'Enable tracing'
00020cb0 46 6f 72 63 65 20 63 6f  |Force co|		.TXT	'Force control store loading '
00020ccc 45 6e 61 62 6c 65 20 61  |Enable a|		.TXT	'Enable automatic fault isolation'
00020cec 54 52 41 43 49 4e 47 20  |TRACING |		.TXT	'TRACING when ON causes the names of experiments to be displayed on the'
00020d32 74 65 72 6d 69 6e 61 6c  |terminal|		.TXT	'terminal as they are run. It is now_'
00020d56 46 4f 52 43 45 20 43 4f  |FORCE CO|		.TXT	'FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode'
00020d9e 69 6e 74 6f 20 63 6f 6e  |into con|		.TXT	'into control store every time they are run, even if the microcode was '
00020de4 73 74 69 6c 6c 20 69 6e  |still in|		.TXT	'still in control store from the last time the test was run. It is now_'
00020e2a 46 41 55 4c 54 20 49 53  |FAULT IS|		.TXT	'FAULT ISOLATION when ON allows a test that detects an error to run'
00020e6c 61 64 64 69 74 69 6f 6e  |addition|		.TXT	'additional tests that might further isolate the cause. It is now_ '
00020eae 4f 4e                    |ON      |		.TXT	'ON'
00020eb0 4f 46                    |OF      |		.TXT	'OF'
00020eb2 46 20                    |F       |		.XXX[0x2]
00020eb4 4f 4e                    |ON      |		.TXT	'ON'
00020eb6 4f 46                    |OF      |		.TXT	'OF'
00020eb8 46 20                    |F       |		.XXX[0x2]
00020eba 4f 4e                    |ON      |		.TXT	'ON'
00020ebc 4f 46                    |OF      |		.TXT	'OF'
00020ebe 46 20                    |F       |		.XXX[0x2]
00020ec0 4d 61 72 67 69 6e 69 6e  |Marginin|		.TXT	'Margining menu'
00020ece 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Margin system clocks to nominal'
00020ef6 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Margin system clocks to +5%'
00020f1a 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Margin system power nominal'
00020f3e 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => Margin system power +5%'
00020f5e 20 20 20 20 35 20 3d 3e  |    5 =>|		.TXT	'    5 => Margin system power -5%'
00020f7e 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Return to main menu'
00020f9a 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020fb0 54 68 65 20 66 65 61 74  |The feat|		.TXT	'The feature is not available for Series-200 processors'
00020fe6 54 68                    |Th      |		.XXX[0x2]
00020fe8 69 73 20 6f 70 74 69 6f  |is optio|		.XXX[0x1a0]
00020ff0 6e 20 77 69 6c 6c 20 72  |n will r|
00020ff8 65 6d 6f 76 65 20 70 6f  |emove po|
00021000 77 65 72 20 66 72 6f 6d  |wer from|
00021008 20 74 68 65 20 52 31 30  | the R10|
00021010 30 30 20 70 72 6f 63 65  |00 proce|
00021018 73 73 6f 72 20 74 6f 20  |ssor to |
00021020 61 6c 6c 6f 77 20 79 6f  |allow yo|
00021028 75 20 74 6f 20 63 68 61  |u to cha|
00021030 6e 67 65 20 62 6f 61 72  |nge boar|
00021038 64 73 20 77 68 69 63 68  |ds which|
00021040 20 61 72 65 20 62 65 68  | are beh|
00021048 69 6e 64 20 74 68 65 20  |ind the |
00021050 66 6f 72 65 70 6c 61 6e  |foreplan|
00021058 65 2e 44 6f 20 79 6f 75  |e.Do you|
00021060 20 77 61 6e 74 20 74 6f  | want to|
00021068 20 70 6f 77 65 72 20 74  | power t|
00021070 68 65 20 73 79 73 74 65  |he syste|
00021078 6d 20 64 6f 77 6e 54 68  |m downTh|
00021080 65 20 70 72 6f 63 65 73  |e proces|
00021088 73 6f 72 20 70 6f 77 65  |sor powe|
00021090 72 20 69 73 20 6e 6f 77  |r is now|
00021098 20 6f 66 66 2e 20 20 59  | off.  Y|
000210a0 6f 75 20 6d 61 79 20 63  |ou may c|
000210a8 68 61 6e 67 65 20 62 6f  |hange bo|
000210b0 61 72 64 73 2e 20 54 68  |ards. Th|
000210b8 65 20 49 2f 4f 20 61 64  |e I/O ad|
000210c0 61 70 74 6f 72 20 61 6e  |aptor an|
000210c8 64 20 49 2f 4f 20 70 72  |d I/O pr|
000210d0 6f 63 65 73 73 6f 72 20  |ocessor |
000210d8 61 72 65 20 73 74 69 6c  |are stil|
000210e0 6c 20 70 6f 77 65 72 65  |l powere|
000210e8 64 2e 20 20 54 6f 63 68  |d.  Toch|
000210f0 61 6e 67 65 20 74 68 65  |ange the|
000210f8 20 49 4f 41 20 6f 72 20  | IOA or |
00021100 62 6f 61 72 64 73 20 77  |boards w|
00021108 69 74 68 69 6e 20 74 68  |ithin th|
00021110 65 20 49 4f 50 20 79 6f  |e IOP yo|
00021118 75 20 6d 75 73 74 20 74  |u must t|
00021120 75 72 6e 20 74 68 65 20  |urn the |
00021128 70 6f 77 65 72 20 6f 66  |power of|
00021130 66 20 6d 61 6e 75 61 6c  |f manual|
00021138 6c 79 20 66 72 6f 6d 20  |ly from |
00021140 74 68 65 20 53 79 73 74  |the Syst|
00021148 65 6d 20 43 6f 6e 74 72  |em Contr|
00021150 6f 6c 20 50 61 6e 65 6c  |ol Panel|
00021158 41 72 65 20 79 6f 75 20  |Are you |
00021160 72 65 61 64 79 20 74 6f  |ready to|
00021168 20 74 75 72 6e 20 74 68  | turn th|
00021170 65 20 52 31 30 30 30 20  |e R1000 |
00021178 70 72 6f 63 65 73 73 6f  |processo|
00021180 72 20 70 6f 77 65 72 20  |r power |
00021188 6f 6e                    |on      |		.XXX[0x2]
0002118a 4d 61 69 6e 20 6d 65 6e  |Main men|		.TXT	'Main menu '
00021194 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Display cluster information'
000211b8 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Execute confidence test (microdiagnostic)'
000211ea 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Execute diagnostics'
00021206 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => Execute PM tests (not implemented yet) '
00021236 20 20 20 20 35 20 3d 3e  |    5 =>|		.TXT	'    5 => Margin cluster clocks/power'
0002125a 20 20 20 20 36 20 3d 3e  |    6 =>|		.TXT	'    6 => Specify test options '
00021278 20 20 20 20 37 20 3d 3e  |    7 =>|		.TXT	'    7 => Repair assistance (model 100 CPU power control)'
000212b0 20 20 20 20 38 20 3d 3e  |    8 =>|		.TXT	'    8 => Initialize processor state '
000212d4 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Exit '
000212e2 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
000212f8 43 4f 4e 46 49 47 55 52  |CONFIGUR|		.TXT	'CONFIGURE '
00021302 52 61 74 69 6f 6e 61 6c  |Rational|		.TXT	'Rational R1000 FRU diagnostic driver'
00021326 49 6e 69 74 69 61 6c 69  |Initiali|		.TXT	'Initializing ...  '
00021338 64 6f 6e 65 21 20        |done!   |		.TXT	'done! '
0002133e 00 01                    |        |		.XXX[0x2]
00021340 03 04 05 06 07 08 09 02  |        |		.XXX[0x178]
00021348 0a 0b 12 13 14 15 17 18  |        |
00021350 19 1a 16 05 02 03 06 07  |        |
00021358 04 0c 0d 0e 0f 08 50 31  |      P1|
00021360 44 43 4f 4d 4d 20 20 20  |DCOMM   |
00021368 01 00 50 31 46 49 55 20  |  P1FIU |
00021370 20 20 20 20 00 00 50 31  |      P1|
00021378 49 4f 43 20 20 20 20 20  |IOC     |
00021380 00 02 50 31 4d 45 4d 20  |  P1MEM |
00021388 20 20 20 20 01 00 50 31  |      P1|
00021390 53 45 51 20 20 20 20 20  |SEQ     |
00021398 00 00 50 31 53 46 20 20  |  P1SF  |
000213a0 20 20 20 20 01 00 50 31  |      P1|
000213a8 53 59 53 20 20 20 20 20  |SYS     |
000213b0 00 01 50 31 54 59 50 20  |  P1TYP |
000213b8 20 20 20 20 00 00 50 31  |      P1|
000213c0 56 41 4c 20 20 20 20 20  |VAL     |
000213c8 00 00 50 32 41 42 55 53  |  P2ABUS|
000213d0 20 20 20 20 00 00 50 32  |      P2|
000213d8 43 4f 4e 44 20 20 20 20  |COND    |
000213e0 00 00 50 32 43 53 41 20  |  P2CSA |
000213e8 20 20 20 20 00 00 50 32  |      P2|
000213f0 45 56 4e 54 20 20 20 20  |EVNT    |
000213f8 00 00 50 32 46 49 55 20  |  P2FIU |
00021400 20 20 20 20 00 00 50 32  |      P2|
00021408 46 50 20 20 20 20 20 20  |FP      |
00021410 00 00 50 32 49 4f 41 20  |  P2IOA |
00021418 20 20 20 20 00 01 50 32  |      P2|
00021420 49 4f 43 20 20 20 20 20  |IOC     |
00021428 00 02 50 32 4d 45 4d 20  |  P2MEM |
00021430 20 20 20 20 01 00 50 32  |      P2|
00021438 4d 4d 20 20 20 20 20 20  |MM      |
00021440 00 00 50 32 53 42 55 53  |  P2SBUS|
00021448 20 20 20 20 00 01 50 32  |      P2|
00021450 53 45 51 20 20 20 20 20  |SEQ     |
00021458 00 00 50 32 53 54 4f 50  |  P2STOP|
00021460 20 20 20 20 00 00 50 32  |      P2|
00021468 53 59 53 20 20 20 20 20  |SYS     |
00021470 00 01 50 32 54 59 50 20  |  P2TYP |
00021478 20 20 20 20 00 00 50 32  |      P2|
00021480 55 41 44 52 20 20 20 20  |UADR    |
00021488 00 00 50 32 55 43 4f 44  |  P2UCOD|
00021490 45 20 20 20 02 00 50 32  |E     P2|
00021498 56 41 4c 20 20 20 20 20  |VAL     |
000214a0 00 00 50 33 52 41 4d 53  |  P3RAMS|
000214a8 20 20 20 20 01 00 50 33  |      P3|
000214b0 55 43 4f 44 45 20 20 20  |UCODE   |
000214b8 02 00                    |        |		.XXX[0x2]
000214ba ; --------------------------------------------------------------------------------------
000214ba ; OMSI PASCAL Function
000214ba ; --------------------------------------------------------------------------------------
000214ba 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
000214be bf d5                    |        |		CMPA.L	(A5),A7
000214c0 62 06                    |b       |		BHI	0x214c8
000214c2 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000214c6 4e 76                    |Nv      |		TRAPV
000214c8 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
000214cc 48 e7 80 c0              |H       |		MOVEM.L	A1+A0+D0,-(A7)
000214d0 9e fc 00 12              |        |		SUBA.W	#0x12,A7
000214d4 20 4f                    | O      |		MOVEA.L	A7,A0
000214d6 43 fa ec 50              |C  P    |		LEA.L	0x20128,A1
000214da 70 10                    |p       |		MOVEQ.L	#0x10,D0
000214dc 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000214de 51 c8 ff fc              |Q       |		DBF	D0,0x214dc
000214e2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000214e4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000214e8 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
000214ec 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
000214f0 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000214f6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000214f8 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
000214fe de fc 00 16              |        |		ADDA.W	#0x16,A7
00021502 4c df 03 01              |L       |		MOVEM.L	(A7)+,D0+A0+A1
00021506 4e 5e                    |N^      |		UNLK	A6
00021508 4e 75                    |Nu      |		RTS
0002150a ; --------------------------------------------------------------------------------------
0002150a ; OMSI PASCAL Function
0002150a ;    <LVAR -0x003 @ 1(r)>
0002150a ;    <LVAR -0x008 @ 4(rw)>
0002150a ; --------------------------------------------------------------------------------------
0002150a 4e 56 ff c4              |NV      |		LINK.W	A6,#0xffc4
0002150e bf d5                    |        |		CMPA.L	(A5),A7
00021510 62 06                    |b       |		BHI	0x21518
00021512 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021516 4e 76                    |Nv      |		TRAPV
00021518 de fc 00 34              |   4    |		ADDA.W	#0x34,A7
0002151c 48 e7 c0 f0              |H       |		MOVEM.L	A3+A2+A1+A0+D1+D0,-(A7)
00021520 45 f9 00 01 05 02        |E       |		LEA.L	IPC_PutBool(a : Bool),A2
00021526 47 ee ff f8              |G       |		LEA.L	(A6-0x8),A3
0002152a 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002152c 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021532 42 27                    |B'      |		CLR.B	-(A7)
00021534 4e 92                    |N       |		JSR	(A2)
00021536 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021538 10 39 00 02 35 2b        | 9  5+  |		MOVE.B	0x2352b,D0
0002153e 48 80                    |H       |		EXTB.W	D0
00021540 41 81                    |A       |		CHK.W	D1,D0
00021542 1f 00                    |        |		MOVE.B	D0,-(A7)
00021544 4e 92                    |N       |		JSR	(A2)
00021546 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021548 10 39 00 02 35 30        | 9  50  |		MOVE.B	0x23530,D0
0002154e 48 80                    |H       |		EXTB.W	D0
00021550 41 81                    |A       |		CHK.W	D1,D0
00021552 1f 00                    |        |		MOVE.B	D0,-(A7)
00021554 4e 92                    |N       |		JSR	(A2)
00021556 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021558 20 4f                    | O      |		MOVEA.L	A7,A0
0002155a 43 fa eb de              |C       |		LEA.L	0x2013a,A1
0002155e 70 08                    |p       |		MOVEQ.L	#0x08,D0
00021560 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021562 51 c8 ff fc              |Q       |		DBF	D0,0x21560
00021566 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021568 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002156c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002156e 3f 3c 00 09              |?<      |		MOVE.W	#0x9,-(A7)
00021572 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021578 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002157a 48 78 00 01              |Hx      |		PEA.L	0x1
0002157e 1f 01                    |        |		MOVE.B	D1,-(A7)
00021580 48 6e ff fd              |Hn      |		PEA.L	(A6-0x3)
00021584 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
0002158a de fc 00 18              |        |		ADDA.W	#0x18,A7
0002158e 4a 2e ff fd              |J.      |		TST.B	(A6-0x3)
00021592 66 42                    |fB      |		BNE	0x215d6
00021594 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00021596 20 4f                    | O      |		MOVEA.L	A7,A0
00021598 43 fa eb aa              |C       |		LEA.L	0x20144,A1
0002159c 70 04                    |p       |		MOVEQ.L	#0x04,D0
0002159e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000215a0 51 c8 ff fc              |Q       |		DBF	D0,0x2159e
000215a4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000215a6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000215aa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000215ac 3f 3c 00 05              |?<      |		MOVE.W	#0x5,-(A7)
000215b0 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000215b6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000215b8 26 9f                    |&       |		MOVE.L	(A7)+,(A3)
000215ba 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000215bc 20 79 00 02 35 32        | y  52  |		MOVEA.L	0x23532,A0
000215c2 22 53                    |"S      |		MOVEA.L	(A3),A1
000215c4 70 7f                    |p       |		MOVEQ.L	#0x7f,D0
000215c6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000215c8 51 c8 ff fc              |Q       |		DBF	D0,0x215c6
000215cc 48 53                    |HS      |		PEA.L	(A3)
000215ce 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
000215d4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000215d6 4c df 0f 03              |L       |		MOVEM.L	(A7)+,D0+D1+A0+A1+A2+A3
000215da 4e 5e                    |N^      |		UNLK	A6
000215dc 4e 75                    |Nu      |		RTS
000215de ; --------------------------------------------------------------------------------------
000215de ; OMSI PASCAL Function
000215de ;    <LVAR -0x004 @>
000215de ; --------------------------------------------------------------------------------------
000215de 4e 56 ff c4              |NV      |		LINK.W	A6,#0xffc4
000215e2 bf d5                    |        |		CMPA.L	(A5),A7
000215e4 62 06                    |b       |		BHI	0x215ec
000215e6 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000215ea 4e 76                    |Nv      |		TRAPV
000215ec de fc 00 38              |   8    |		ADDA.W	#0x38,A7
000215f0 48 e7 f8 c0              |H       |		MOVEM.L	A1+A0+D4+D3+D2+D1+D0,-(A7)
000215f4 72 01                    |r       |		MOVEQ.L	#0x01,D1
000215f6 74 0a                    |t       |		MOVEQ.L	#0x0a,D2
000215f8 76 09                    |v       |		MOVEQ.L	#0x09,D3
000215fa 78 18                    |x       |		MOVEQ.L	#0x18,D4
000215fc 4e b9 00 01 05 b6        |N       |		JSR	R1000_Reset_L(void)
00021602 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021608 1f 01                    |        |		MOVE.B	D1,-(A7)
0002160a 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021610 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021612 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
00021618 9e c2                    |        |		SUBA.W	D2,A7
0002161a 20 4f                    | O      |		MOVEA.L	A7,A0
0002161c 43 fa eb 2c              |C  ,    |		LEA.L	0x2014a,A1
00021620 70 08                    |p       |		MOVEQ.L	#0x08,D0
00021622 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021624 51 c8 ff fc              |Q       |		DBF	D0,0x21622
00021628 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002162a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002162e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021630 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021632 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021638 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002163a 48 78 00 01              |Hx      |		PEA.L	0x1
0002163e 1f 01                    |        |		MOVE.B	D1,-(A7)
00021640 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
00021644 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
0002164a de c4                    |        |		ADDA.W	D4,A7
0002164c 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021652 10 39 00 02 35 2b        | 9  5+  |		MOVE.B	0x2352b,D0
00021658 48 80                    |H       |		EXTB.W	D0
0002165a 41 81                    |A       |		CHK.W	D1,D0
0002165c 1f 00                    |        |		MOVE.B	D0,-(A7)
0002165e 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021664 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021666 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
0002166c 9e c2                    |        |		SUBA.W	D2,A7
0002166e 20 4f                    | O      |		MOVEA.L	A7,A0
00021670 43 fa ea e2              |C       |		LEA.L	0x20154,A1
00021674 70 08                    |p       |		MOVEQ.L	#0x08,D0
00021676 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021678 51 c8 ff fc              |Q       |		DBF	D0,0x21676
0002167c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002167e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021682 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021684 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021686 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002168c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002168e 48 78 00 01              |Hx      |		PEA.L	0x1
00021692 1f 01                    |        |		MOVE.B	D1,-(A7)
00021694 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
00021698 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
0002169e de c4                    |        |		ADDA.W	D4,A7
000216a0 4c df 03 1f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+A0+A1
000216a4 4e 5e                    |N^      |		UNLK	A6
000216a6 4e 75                    |Nu      |		RTS
000216a8 ; --------------------------------------------------------------------------------------
000216a8 ; OMSI PASCAL Function
000216a8 ;    <LVAR  0x01c 4(r)>
000216a8 ;    <LVAR  0x01a 1(r)>
000216a8 ;    <LVAR  0x016 @ 4(r)>
000216a8 ;    <LVAR  0x012 @ 4(r)>
000216a8 ;    <LVAR  0x010 1(r)>
000216a8 ;    <LVAR -0x003 1(w)>
000216a8 ; --------------------------------------------------------------------------------------
000216a8 4e 56 ff 7a              |NV z    |		LINK.W	A6,#0xff7a
000216ac bf d5                    |        |		CMPA.L	(A5),A7
000216ae 62 06                    |b       |		BHI	0x216b6
000216b0 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000216b4 4e 76                    |Nv      |		TRAPV
000216b6 de fc 00 76              |   v    |		ADDA.W	#0x76,A7
000216ba 48 e7 ff f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
000216be 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
000216c4 47 f9 00 01 02 d0        |G       |		LEA.L	StringCat2(a, b : String) : String,A3
000216ca 74 01                    |t       |		MOVEQ.L	#0x01,D2
000216cc 76 07                    |v       |		MOVEQ.L	#0x07,D3
000216ce 78 0c                    |x       |		MOVEQ.L	#0x0c,D4
000216d0 4a 2e 00 1a              |J.      |		TST.B	(A6+0x1a)
000216d4 67 34                    |g4      |		BEQ	0x2170a
000216d6 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000216d8 20 4f                    | O      |		MOVEA.L	A7,A0
000216da 43 fa ea 8a              |C       |		LEA.L	0x20166,A1
000216de 70 06                    |p       |		MOVEQ.L	#0x06,D0
000216e0 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000216e2 51 c8 ff fc              |Q       |		DBF	D0,0x216e0
000216e6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000216e8 2f 2e 00 1c              |/.      |		MOVE.L	(A6+0x1c),-(A7)
000216ec 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000216ee 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
000216f2 3f 02                    |?       |		MOVE.W	D2,-(A7)
000216f4 3f 03                    |?       |		MOVE.W	D3,-(A7)
000216f6 4e 92                    |N       |		JSR	(A2)
000216f8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000216fa 4e 93                    |N       |		JSR	(A3)
000216fc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000216fe 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021704 de c4                    |        |		ADDA.W	D4,A7
00021706 60 00 01 46              |`  F    |		BRA	0x2184e
0002170a 55 4f                    |UO      |		SUBQ.L	#0x2,A7
0002170c 2f 2e 00 1c              |/.      |		MOVE.L	(A6+0x1c),-(A7)
00021710 2f 2e 00 16              |/.      |		MOVE.L	(A6+0x16),-(A7)
00021714 4e b9 00 01 02 c8        |N       |		JSR	StringEqual(a, b : String) : Byte
0002171a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002171c 10 1f                    |        |		MOVE.B	(A7)+,D0
0002171e 48 80                    |H       |		EXTB.W	D0
00021720 41 82                    |A       |		CHK.W	D2,D0
00021722 1d 40 ff fd              | @      |		MOVE.B	D0,(A6-0x3)
00021726 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021728 20 4f                    | O      |		MOVEA.L	A7,A0
0002172a 43 fa ea 42              |C  B    |		LEA.L	0x2016e,A1
0002172e 72 06                    |r       |		MOVEQ.L	#0x06,D1
00021730 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021732 51 c9 ff fc              |Q       |		DBF	D1,0x21730
00021736 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021738 2f 2e 00 1c              |/.      |		MOVE.L	(A6+0x1c),-(A7)
0002173c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002173e 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00021742 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021744 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021746 4e 92                    |N       |		JSR	(A2)
00021748 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002174a 4e 93                    |N       |		JSR	(A3)
0002174c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002174e 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021754 de c4                    |        |		ADDA.W	D4,A7
00021756 4a 00                    |J       |		TST.B	D0
00021758 67 3a                    |g:      |		BEQ	0x21794
0002175a 9e fc 00 2c              |   ,    |		SUBA.W	#0x2c,A7
0002175e 20 4f                    | O      |		MOVEA.L	A7,A0
00021760 43 fa ea 14              |C       |		LEA.L	0x20176,A1
00021764 70 2a                    |p*      |		MOVEQ.L	#0x2a,D0
00021766 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021768 51 c8 ff fc              |Q       |		DBF	D0,0x21766
0002176c 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002176e 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00021772 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021774 3f 3c 00 2b              |?< +    |		MOVE.W	#0x2b,-(A7)
00021778 4e 92                    |N       |		JSR	(A2)
0002177a 2e ae 00 16              |.       |		MOVE.L	(A6+0x16),(A7)
0002177e 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021784 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021786 4e 93                    |N       |		JSR	(A3)
00021788 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002178a 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021790 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
00021794 2f 3a e9 cc              |/:      |		MOVE.L	0x20162,-(A7)
00021798 2f 3a e9 c4              |/:      |		MOVE.L	0x2015e,-(A7)
0002179c 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002179e 2f 2e 00 16              |/.      |		MOVE.L	(A6+0x16),-(A7)
000217a2 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
000217a8 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
000217ac 3f 02                    |?       |		MOVE.W	D2,-(A7)
000217ae 3f 3c 00 08              |?<      |		MOVE.W	#0x8,-(A7)
000217b2 4e 92                    |N       |		JSR	(A2)
000217b4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000217b6 4e 93                    |N       |		JSR	(A3)
000217b8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000217ba 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
000217bc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000217be 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
000217c4 2f 0c                    |/       |		MOVE.L	A4,-(A7)
000217c6 2f 2e 00 12              |/.      |		MOVE.L	(A6+0x12),-(A7)
000217ca 42 80                    |B       |		CLR.L	D0
000217cc 10 2e 00 10              | .      |		MOVE.B	(A6+0x10),D0
000217d0 2f 00                    |/       |		MOVE.L	D0,-(A7)
000217d2 4e b9 00 01 04 4c        |N    L  |		JSR	WriteErrorMessage(file : String; txt : String; number : Long) : Bool
000217d8 9e fc 00 0e              |        |		SUBA.W	#0xe,A7
000217dc 20 4f                    | O      |		MOVEA.L	A7,A0
000217de 43 fa e9 c2              |C       |		LEA.L	0x201a2,A1
000217e2 70 18                    |p       |		MOVEQ.L	#0x18,D0
000217e4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000217e6 51 c8 ff fc              |Q       |		DBF	D0,0x217e4
000217ea 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000217ec 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000217f0 3f 02                    |?       |		MOVE.W	D2,-(A7)
000217f2 3f 3c 00 19              |?<      |		MOVE.W	#0x19,-(A7)
000217f6 4e 92                    |N       |		JSR	(A2)
000217f8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000217fa 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021800 de fc 00 1e              |        |		ADDA.W	#0x1e,A7
00021804 7e 00                    |~       |		MOVEQ.L	#0x00,D7
00021806 be 83                    |        |		CMP.L	D3,D7
00021808 63 02                    |c       |		BLS	0x2180c
0002180a 4e 4f                    |NO      |		TRAP	#15
0002180c 42 80                    |B       |		CLR.L	D0
0002180e 10 36 78 08              | 6x     |		MOVE.B	(A6+D7.L+#0x8),D0
00021812 2c 00                    |,       |		MOVE.L	D0,D6
00021814 1f 06                    |        |		MOVE.B	D6,-(A7)
00021816 10 1f                    |        |		MOVE.B	(A7)+,D0
00021818 48 80                    |H       |		EXTB.W	D0
0002181a 41 bc 00 4f              |A  O    |		CHK.W	#0x4f,D0
0002181e 1a 00                    |        |		MOVE.B	D0,D5
00021820 67 26                    |g&      |		BEQ	0x21848
00021822 2f 3a e9 a0              |/:      |		MOVE.L	0x201c4,-(A7)
00021826 2f 3a e9 98              |/:      |		MOVE.L	0x201c0,-(A7)
0002182a 2f 3a e9 90              |/:      |		MOVE.L	0x201bc,-(A7)
0002182e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021830 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021834 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021836 3f 04                    |?       |		MOVE.W	D4,-(A7)
00021838 4e 92                    |N       |		JSR	(A2)
0002183a 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002183c 2e 86                    |.       |		MOVE.L	D6,(A7)
0002183e 4e b9 00 01 04 50        |N    P  |		JSR	FS_10450(&, &)
00021844 de fc 00 14              |        |		ADDA.W	#0x14,A7
00021848 52 87                    |R       |		ADDQ.L	#0x1,D7
0002184a be 83                    |        |		CMP.L	D3,D7
0002184c 6f b8                    |o       |		BLE	0x21806
0002184e 48 6e 00 12              |Hn      |		PEA.L	(A6+0x12)
00021852 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
00021858 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002185a 48 6e 00 16              |Hn      |		PEA.L	(A6+0x16)
0002185e 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
00021864 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021866 4c df 1f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4
0002186a 4e 5e                    |N^      |		UNLK	A6
0002186c 4e 75                    |Nu      |		RTS
0002186e ; --------------------------------------------------------------------------------------
0002186e ; OMSI PASCAL Function
0002186e ;    <LVAR  0x00e 4(r)>
0002186e ;    <LVAR  0x00c 1(r)>
0002186e ;    <LVAR  0x008 4(r)>
0002186e ;    <LVAR -0x004 1(rw)>
0002186e ;    <LVAR -0x009 @ 1(r)>
0002186e ;    <LVAR -0x011 @>
0002186e ;    <LVAR -0x012 @ 1(r)>
0002186e ;    <LVAR -0x016 @ 4(r)>
0002186e ;    <LVAR -0x01a @ 4(r)>
0002186e ;    <LVAR -0x01e @ 4(rw)>
0002186e ; --------------------------------------------------------------------------------------
0002186e 4e 56 ff 9c              |NV      |		LINK.W	A6,#0xff9c
00021872 bf d5                    |        |		CMPA.L	(A5),A7
00021874 62 06                    |b       |		BHI	0x2187c
00021876 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
0002187a 4e 76                    |Nv      |		TRAPV
0002187c de fc 00 46              |   F    |		ADDA.W	#0x46,A7
00021880 48 e7 f0 f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D3+D2+D1+D0,-(A7)
00021884 45 f8 00 00              |E       |		LEA.L	0x0,A2
00021888 47 ee ff e2              |G       |		LEA.L	(A6-0x1e),A3
0002188c 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002188e 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00021890 76 0e                    |v       |		MOVEQ.L	#0x0e,D3
00021892 1d 6e 00 0c ff fc        | n      |		MOVE.B	(A6+0xc),(A6-0x4)
00021898 3f 3a e9 2e              |?: .    |		MOVE.W	0x201c8,-(A7)
0002189c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002189e 1e ba e9 2a              |   *    |		MOVE.B	0x201ca,(A7)
000218a2 1f 7a e9 27 00 01        | z '    |		MOVE.B	0x201cb,(A7+0x1)
000218a8 1f 7a e9 22 00 02        | z "    |		MOVE.B	0x201cc,(A7+0x2)
000218ae 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000218b0 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
000218b4 3f 01                    |?       |		MOVE.W	D1,-(A7)
000218b6 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
000218ba 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000218c0 2e ae 00 0e              |.       |		MOVE.L	(A6+0xe),(A7)
000218c4 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
000218ca 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
000218ce 3f 01                    |?       |		MOVE.W	D1,-(A7)
000218d0 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
000218d4 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000218da 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000218dc 4e b9 00 01 02 d4        |N       |		JSR	StringCat3(a, b, c : String) : String
000218e2 de c2                    |        |		ADDA.W	D2,A7
000218e4 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
000218e6 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000218e8 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
000218ee 1f 2e ff fc              | .      |		MOVE.B	(A6-0x4),-(A7)
000218f2 48 57                    |HW      |		PEA.L	(A7)
000218f4 48 52                    |HR      |		PEA.L	(A2)
000218f6 48 52                    |HR      |		PEA.L	(A2)
000218f8 4e b9 00 01 04 fc        |N       |		JSR	IPC_PutVar(src : Pointer; length : Long ; type : Long)
000218fe de c3                    |        |		ADDA.W	D3,A7
00021900 10 39 00 02 35 2a        | 9  5*  |		MOVE.B	0x2352a,D0
00021906 48 80                    |H       |		EXTB.W	D0
00021908 41 81                    |A       |		CHK.W	D1,D0
0002190a 1f 00                    |        |		MOVE.B	D0,-(A7)
0002190c 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021912 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021914 10 39 00 02 35 2b        | 9  5+  |		MOVE.B	0x2352b,D0
0002191a 48 80                    |H       |		EXTB.W	D0
0002191c 41 81                    |A       |		CHK.W	D1,D0
0002191e 1f 00                    |        |		MOVE.B	D0,-(A7)
00021920 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021926 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021928 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
0002192e 2f 0c                    |/       |		MOVE.L	A4,-(A7)
00021930 48 78 00 01              |Hx      |		PEA.L	0x1
00021934 1f 01                    |        |		MOVE.B	D1,-(A7)
00021936 48 6e ff f7              |Hn      |		PEA.L	(A6-0x9)
0002193a 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00021940 de c3                    |        |		ADDA.W	D3,A7
00021942 4a 2e ff f7              |J.      |		TST.B	(A6-0x9)
00021946 66 00 00 cc              |f       |		BNE	0x21a14
0002194a 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021950 20 6e 00 08              | n      |		MOVEA.L	(A6+0x8),A0
00021954 48 50                    |HP      |		PEA.L	(A0)
00021956 4e b9 00 01 05 26        |N    &  |		JSR	IPC_GetBool() : Bool
0002195c 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002195e 48 53                    |HS      |		PEA.L	(A3)
00021960 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021966 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021968 48 6e ff e6              |Hn      |		PEA.L	(A6-0x1a)
0002196c 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021972 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021974 48 6e ff ea              |Hn      |		PEA.L	(A6-0x16)
00021978 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
0002197e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021980 48 6e ff ee              |Hn      |		PEA.L	(A6-0x12)
00021984 48 52                    |HR      |		PEA.L	(A2)
00021986 48 52                    |HR      |		PEA.L	(A2)
00021988 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
0002198e de c2                    |        |		ADDA.W	D2,A7
00021990 48 6e ff ef              |Hn      |		PEA.L	(A6-0x11)
00021994 48 52                    |HR      |		PEA.L	(A2)
00021996 48 78 00 07              |Hx      |		PEA.L	0x7
0002199a 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
000219a0 de c2                    |        |		ADDA.W	D2,A7
000219a2 4e b9 00 01 05 1a        |N       |		JSR	IPC_GetEnd(void)
000219a8 4a 10                    |J       |		TST.B	(A0)
000219aa 67 40                    |g@      |		BEQ	0x219ec
000219ac 48 53                    |HS      |		PEA.L	(A3)
000219ae 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
000219b4 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000219b6 3e ba e8 1a              |>       |		MOVE.W	0x201d2,(A7)
000219ba 3f 3a e8 14              |?:      |		MOVE.W	0x201d0,-(A7)
000219be 3f 3a e8 0e              |?:      |		MOVE.W	0x201ce,-(A7)
000219c2 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000219c4 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000219c8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000219ca 3f 3c 00 06              |?<      |		MOVE.W	#0x6,-(A7)
000219ce 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000219d4 2e ae 00 0e              |.       |		MOVE.L	(A6+0xe),(A7)
000219d8 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
000219de 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000219e0 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000219e6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000219e8 26 9f                    |&       |		MOVE.L	(A7)+,(A3)
000219ea 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000219ec 2f 13                    |/       |		MOVE.L	(A3),-(A7)
000219ee 1f 10                    |        |		MOVE.B	(A0),-(A7)
000219f0 2f 2e ff e6              |/.      |		MOVE.L	(A6-0x1a),-(A7)
000219f4 2f 2e ff ea              |/.      |		MOVE.L	(A6-0x16),-(A7)
000219f8 1f 2e ff ee              | .      |		MOVE.B	(A6-0x12),-(A7)
000219fc 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000219fe 20 4f                    | O      |		MOVEA.L	A7,A0
00021a00 43 ee ff ef              |C       |		LEA.L	(A6-0x11),A1
00021a04 70 07                    |p       |		MOVEQ.L	#0x07,D0
00021a06 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021a08 51 c8 ff fc              |Q       |		DBF	D0,0x21a06
00021a0c 4e ba fc 9a              |N       |		JSR	0x216a8
00021a10 de fc 00 18              |        |		ADDA.W	#0x18,A7
00021a14 4c df 1f 0f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+A0+A1+A2+A3+A4
00021a18 4e 5e                    |N^      |		UNLK	A6
00021a1a 4e 75                    |Nu      |		RTS
00021a1c ; --------------------------------------------------------------------------------------
00021a1c ; OMSI PASCAL Function
00021a1c ;    <LVAR  0x00c @ 4(r)>
00021a1c ;    <LVAR  0x008 4(r)>
00021a1c ;    <LVAR -0x003 @ 1(r)>
00021a1c ;    <LVAR -0x00b @>
00021a1c ;    <LVAR -0x00c @ 1(r)>
00021a1c ;    <LVAR -0x010 @ 4(r)>
00021a1c ;    <LVAR -0x014 @ 4(r)>
00021a1c ; --------------------------------------------------------------------------------------
00021a1c 4e 56 ff b0              |NV      |		LINK.W	A6,#0xffb0
00021a20 bf d5                    |        |		CMPA.L	(A5),A7
00021a22 62 06                    |b       |		BHI	0x21a2a
00021a24 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021a28 4e 76                    |Nv      |		TRAPV
00021a2a de fc 00 3c              |   <    |		ADDA.W	#0x3c,A7
00021a2e 48 e7 e0 f0              |H       |		MOVEM.L	A3+A2+A1+A0+D2+D1+D0,-(A7)
00021a32 45 ee 00 0c              |E       |		LEA.L	(A6+0xc),A2
00021a36 47 f8 00 00              |G       |		LEA.L	0x0,A3
00021a3a 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021a3c 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00021a3e 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021a44 10 39 00 02 35 2a        | 9  5*  |		MOVE.B	0x2352a,D0
00021a4a 48 80                    |H       |		EXTB.W	D0
00021a4c 41 81                    |A       |		CHK.W	D1,D0
00021a4e 1f 00                    |        |		MOVE.B	D0,-(A7)
00021a50 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021a56 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021a58 10 39 00 02 35 2b        | 9  5+  |		MOVE.B	0x2352b,D0
00021a5e 48 80                    |H       |		EXTB.W	D0
00021a60 41 81                    |A       |		CHK.W	D1,D0
00021a62 1f 00                    |        |		MOVE.B	D0,-(A7)
00021a64 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021a6a 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021a6c 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
00021a72 2f 3a e7 68              |/: h    |		MOVE.L	0x201dc,-(A7)
00021a76 2f 3a e7 60              |/: `    |		MOVE.L	0x201d8,-(A7)
00021a7a 2f 3a e7 58              |/: X    |		MOVE.L	0x201d4,-(A7)
00021a7e 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021a80 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00021a84 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021a86 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021a88 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021a8e 2e 92                    |.       |		MOVE.L	(A2),(A7)
00021a90 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021a96 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021a98 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00021a9e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021aa0 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021aa6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021aa8 2e 92                    |.       |		MOVE.L	(A2),(A7)
00021aaa 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021ab0 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021ab2 48 78 00 01              |Hx      |		PEA.L	0x1
00021ab6 1f 01                    |        |		MOVE.B	D1,-(A7)
00021ab8 48 6e ff fd              |Hn      |		PEA.L	(A6-0x3)
00021abc 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00021ac2 de fc 00 0e              |        |		ADDA.W	#0xe,A7
00021ac6 4a 2e ff fd              |J.      |		TST.B	(A6-0x3)
00021aca 67 0c                    |g       |		BEQ	0x21ad8
00021acc 48 52                    |HR      |		PEA.L	(A2)
00021ace 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
00021ad4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021ad6 60 7c                    |`|      |		BRA	0x21b54
00021ad8 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021ade 20 6e 00 08              | n      |		MOVEA.L	(A6+0x8),A0
00021ae2 48 50                    |HP      |		PEA.L	(A0)
00021ae4 4e b9 00 01 05 26        |N    &  |		JSR	IPC_GetBool() : Bool
00021aea 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021aec 48 6e ff ec              |Hn      |		PEA.L	(A6-0x14)
00021af0 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021af6 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021af8 48 6e ff f0              |Hn      |		PEA.L	(A6-0x10)
00021afc 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021b02 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021b04 48 6e ff f4              |Hn      |		PEA.L	(A6-0xc)
00021b08 48 53                    |HS      |		PEA.L	(A3)
00021b0a 48 53                    |HS      |		PEA.L	(A3)
00021b0c 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021b12 de c2                    |        |		ADDA.W	D2,A7
00021b14 48 6e ff f5              |Hn      |		PEA.L	(A6-0xb)
00021b18 48 53                    |HS      |		PEA.L	(A3)
00021b1a 48 78 00 07              |Hx      |		PEA.L	0x7
00021b1e 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021b24 de c2                    |        |		ADDA.W	D2,A7
00021b26 4e b9 00 01 05 1a        |N       |		JSR	IPC_GetEnd(void)
00021b2c 2f 12                    |/       |		MOVE.L	(A2),-(A7)
00021b2e 1f 10                    |        |		MOVE.B	(A0),-(A7)
00021b30 2f 2e ff ec              |/.      |		MOVE.L	(A6-0x14),-(A7)
00021b34 2f 2e ff f0              |/.      |		MOVE.L	(A6-0x10),-(A7)
00021b38 1f 2e ff f4              | .      |		MOVE.B	(A6-0xc),-(A7)
00021b3c 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021b3e 20 4f                    | O      |		MOVEA.L	A7,A0
00021b40 43 ee ff f5              |C       |		LEA.L	(A6-0xb),A1
00021b44 70 07                    |p       |		MOVEQ.L	#0x07,D0
00021b46 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021b48 51 c8 ff fc              |Q       |		DBF	D0,0x21b46
00021b4c 4e ba fb 5a              |N  Z    |		JSR	0x216a8
00021b50 de fc 00 18              |        |		ADDA.W	#0x18,A7
00021b54 4c df 0f 07              |L       |		MOVEM.L	(A7)+,D0+D1+D2+A0+A1+A2+A3
00021b58 4e 5e                    |N^      |		UNLK	A6
00021b5a 4e 75                    |Nu      |		RTS
00021b5c ; --------------------------------------------------------------------------------------
00021b5c ; OMSI PASCAL Function
00021b5c ;    <LVAR  0x00e @ 4(r)>
00021b5c ;    <LVAR  0x00c 1(r)>
00021b5c ;    <LVAR  0x008 4(r)>
00021b5c ;    <LVAR -0x004 1(rw)>
00021b5c ;    <LVAR -0x005 @ 1(r)>
00021b5c ;    <LVAR -0x00d @>
00021b5c ;    <LVAR -0x00e @ 1(r)>
00021b5c ;    <LVAR -0x012 @ 4(r)>
00021b5c ;    <LVAR -0x016 @ 4(r)>
00021b5c ; --------------------------------------------------------------------------------------
00021b5c 4e 56 ff 9e              |NV      |		LINK.W	A6,#0xff9e
00021b60 bf d5                    |        |		CMPA.L	(A5),A7
00021b62 62 06                    |b       |		BHI	0x21b6a
00021b64 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021b68 4e 76                    |Nv      |		TRAPV
00021b6a de fc 00 4c              |   L    |		ADDA.W	#0x4c,A7
00021b6e 48 e7 f0 f0              |H       |		MOVEM.L	A3+A2+A1+A0+D3+D2+D1+D0,-(A7)
00021b72 45 f8 00 00              |E       |		LEA.L	0x0,A2
00021b76 47 ee 00 0e              |G       |		LEA.L	(A6+0xe),A3
00021b7a 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021b7c 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00021b7e 76 0e                    |v       |		MOVEQ.L	#0x0e,D3
00021b80 1d 6e 00 0c ff fc        | n      |		MOVE.B	(A6+0xc),(A6-0x4)
00021b86 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021b8c 1f 2e ff fc              | .      |		MOVE.B	(A6-0x4),-(A7)
00021b90 48 57                    |HW      |		PEA.L	(A7)
00021b92 48 52                    |HR      |		PEA.L	(A2)
00021b94 48 52                    |HR      |		PEA.L	(A2)
00021b96 4e b9 00 01 04 fc        |N       |		JSR	IPC_PutVar(src : Pointer; length : Long ; type : Long)
00021b9c de c3                    |        |		ADDA.W	D3,A7
00021b9e 10 39 00 02 35 2a        | 9  5*  |		MOVE.B	0x2352a,D0
00021ba4 48 80                    |H       |		EXTB.W	D0
00021ba6 41 81                    |A       |		CHK.W	D1,D0
00021ba8 1f 00                    |        |		MOVE.B	D0,-(A7)
00021baa 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021bb0 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021bb2 10 39 00 02 35 2b        | 9  5+  |		MOVE.B	0x2352b,D0
00021bb8 48 80                    |H       |		EXTB.W	D0
00021bba 41 81                    |A       |		CHK.W	D1,D0
00021bbc 1f 00                    |        |		MOVE.B	D0,-(A7)
00021bbe 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021bc4 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021bc6 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
00021bcc 2f 3a e6 26              |/: &    |		MOVE.L	0x201f4,-(A7)
00021bd0 2f 3a e6 1e              |/:      |		MOVE.L	0x201f0,-(A7)
00021bd4 2f 3a e6 16              |/:      |		MOVE.L	0x201ec,-(A7)
00021bd8 2f 3a e6 1e              |/:      |		MOVE.L	0x201f8,-(A7)
00021bdc 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021bde 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00021be2 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021be4 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021be6 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021bec 2e 93                    |.       |		MOVE.L	(A3),(A7)
00021bee 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021bf4 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
00021bf8 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021bfa 3f 3c 00 04              |?<      |		MOVE.W	#0x4,-(A7)
00021bfe 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021c04 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021c06 1e ae 00 0c              |        |		MOVE.B	(A6+0xc),(A7)
00021c0a 4e b9 00 01 04 9c        |N       |		JSR	BoardName(address : B) : String
00021c10 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021c12 4e b9 00 01 02 d8        |N       |		JSR	StringCat4(a, b, c, d : String) : String
00021c18 de fc 00 10              |        |		ADDA.W	#0x10,A7
00021c1c 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021c22 de c2                    |        |		ADDA.W	D2,A7
00021c24 2e 93                    |.       |		MOVE.L	(A3),(A7)
00021c26 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021c2c 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021c2e 48 78 00 01              |Hx      |		PEA.L	0x1
00021c32 1f 01                    |        |		MOVE.B	D1,-(A7)
00021c34 48 6e ff fb              |Hn      |		PEA.L	(A6-0x5)
00021c38 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00021c3e de c3                    |        |		ADDA.W	D3,A7
00021c40 4a 2e ff fb              |J.      |		TST.B	(A6-0x5)
00021c44 67 0c                    |g       |		BEQ	0x21c52
00021c46 48 53                    |HS      |		PEA.L	(A3)
00021c48 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
00021c4e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021c50 60 7c                    |`|      |		BRA	0x21cce
00021c52 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021c58 20 6e 00 08              | n      |		MOVEA.L	(A6+0x8),A0
00021c5c 48 50                    |HP      |		PEA.L	(A0)
00021c5e 4e b9 00 01 05 26        |N    &  |		JSR	IPC_GetBool() : Bool
00021c64 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021c66 48 6e ff ea              |Hn      |		PEA.L	(A6-0x16)
00021c6a 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021c70 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021c72 48 6e ff ee              |Hn      |		PEA.L	(A6-0x12)
00021c76 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021c7c 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021c7e 48 6e ff f2              |Hn      |		PEA.L	(A6-0xe)
00021c82 48 52                    |HR      |		PEA.L	(A2)
00021c84 48 52                    |HR      |		PEA.L	(A2)
00021c86 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021c8c de c2                    |        |		ADDA.W	D2,A7
00021c8e 48 6e ff f3              |Hn      |		PEA.L	(A6-0xd)
00021c92 48 52                    |HR      |		PEA.L	(A2)
00021c94 48 78 00 07              |Hx      |		PEA.L	0x7
00021c98 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021c9e de c2                    |        |		ADDA.W	D2,A7
00021ca0 4e b9 00 01 05 1a        |N       |		JSR	IPC_GetEnd(void)
00021ca6 2f 13                    |/       |		MOVE.L	(A3),-(A7)
00021ca8 1f 10                    |        |		MOVE.B	(A0),-(A7)
00021caa 2f 2e ff ea              |/.      |		MOVE.L	(A6-0x16),-(A7)
00021cae 2f 2e ff ee              |/.      |		MOVE.L	(A6-0x12),-(A7)
00021cb2 1f 2e ff f2              | .      |		MOVE.B	(A6-0xe),-(A7)
00021cb6 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021cb8 20 4f                    | O      |		MOVEA.L	A7,A0
00021cba 43 ee ff f3              |C       |		LEA.L	(A6-0xd),A1
00021cbe 70 07                    |p       |		MOVEQ.L	#0x07,D0
00021cc0 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021cc2 51 c8 ff fc              |Q       |		DBF	D0,0x21cc0
00021cc6 4e ba f9 e0              |N       |		JSR	0x216a8
00021cca de fc 00 18              |        |		ADDA.W	#0x18,A7
00021cce 4c df 0f 0f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+A0+A1+A2+A3
00021cd2 4e 5e                    |N^      |		UNLK	A6
00021cd4 4e 75                    |Nu      |		RTS
00021cd6 ; --------------------------------------------------------------------------------------
00021cd6 ; OMSI PASCAL Function
00021cd6 ;    <LVAR  0x00e @ 4(r)>
00021cd6 ;    <LVAR  0x00c 1(r)>
00021cd6 ;    <LVAR  0x008 4(r)>
00021cd6 ;    <LVAR -0x003 1(rw)>
00021cd6 ;    <LVAR -0x005 @ 1(r)>
00021cd6 ;    <LVAR -0x00d @>
00021cd6 ;    <LVAR -0x00e @ 1(r)>
00021cd6 ;    <LVAR -0x012 @ 4(r)>
00021cd6 ;    <LVAR -0x016 @ 4(r)>
00021cd6 ; --------------------------------------------------------------------------------------
00021cd6 4e 56 ff a2              |NV      |		LINK.W	A6,#0xffa2
00021cda bf d5                    |        |		CMPA.L	(A5),A7
00021cdc 62 06                    |b       |		BHI	0x21ce4
00021cde 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021ce2 4e 76                    |Nv      |		TRAPV
00021ce4 de fc 00 48              |   H    |		ADDA.W	#0x48,A7
00021ce8 48 e7 f1 f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D3+D2+D1+D0,-(A7)
00021cec 45 ee 00 0e              |E       |		LEA.L	(A6+0xe),A2
00021cf0 47 f8 00 00              |G       |		LEA.L	0x0,A3
00021cf4 49 f9 00 01 05 02        |I       |		LEA.L	IPC_PutBool(a : Bool),A4
00021cfa 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021cfc 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00021cfe 76 0e                    |v       |		MOVEQ.L	#0x0e,D3
00021d00 1d 6e 00 0c ff fd        | n      |		MOVE.B	(A6+0xc),(A6-0x3)
00021d06 55 4f                    |UO      |		SUBQ.L	#0x2,A7
00021d08 2f 39 00 02 35 32        |/9  52  |		MOVE.L	0x23532,-(A7)
00021d0e 2f 12                    |/       |		MOVE.L	(A2),-(A7)
00021d10 4e b9 00 01 02 c8        |N       |		JSR	StringEqual(a, b : String) : Byte
00021d16 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d18 10 1f                    |        |		MOVE.B	(A7)+,D0
00021d1a 44 00                    |D       |		NEG.B	D0
00021d1c 52 00                    |R       |		ADDQ.B	#0x1,D0
00021d1e 80 39 00 02 35 30        | 9  50  |		OR.B	0x23530,D0
00021d24 48 80                    |H       |		EXTB.W	D0
00021d26 41 81                    |A       |		CHK.W	D1,D0
00021d28 1e 00                    |        |		MOVE.B	D0,D7
00021d2a 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021d30 1f 2e ff fd              | .      |		MOVE.B	(A6-0x3),-(A7)
00021d34 48 57                    |HW      |		PEA.L	(A7)
00021d36 48 53                    |HS      |		PEA.L	(A3)
00021d38 48 53                    |HS      |		PEA.L	(A3)
00021d3a 4e b9 00 01 04 fc        |N       |		JSR	IPC_PutVar(src : Pointer; length : Long ; type : Long)
00021d40 de c3                    |        |		ADDA.W	D3,A7
00021d42 10 39 00 02 35 2a        | 9  5*  |		MOVE.B	0x2352a,D0
00021d48 48 80                    |H       |		EXTB.W	D0
00021d4a 41 81                    |A       |		CHK.W	D1,D0
00021d4c 1f 00                    |        |		MOVE.B	D0,-(A7)
00021d4e 4e 94                    |N       |		JSR	(A4)
00021d50 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021d52 10 39 00 02 35 2b        | 9  5+  |		MOVE.B	0x2352b,D0
00021d58 48 80                    |H       |		EXTB.W	D0
00021d5a 41 81                    |A       |		CHK.W	D1,D0
00021d5c 1f 00                    |        |		MOVE.B	D0,-(A7)
00021d5e 4e 94                    |N       |		JSR	(A4)
00021d60 1e 87                    |        |		MOVE.B	D7,(A7)
00021d62 4e 94                    |N       |		JSR	(A4)
00021d64 1e 87                    |        |		MOVE.B	D7,(A7)
00021d66 4e 94                    |N       |		JSR	(A4)
00021d68 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021d6a 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
00021d70 2f 3a e4 92              |/:      |		MOVE.L	0x20204,-(A7)
00021d74 2f 3a e4 8a              |/:      |		MOVE.L	0x20200,-(A7)
00021d78 2f 3a e4 82              |/:      |		MOVE.L	0x201fc,-(A7)
00021d7c 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021d7e 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00021d82 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021d84 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021d86 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021d8c 2e 92                    |.       |		MOVE.L	(A2),(A7)
00021d8e 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021d94 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021d96 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00021d9c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d9e 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00021da4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021da6 2e 92                    |.       |		MOVE.L	(A2),(A7)
00021da8 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00021dae 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021db0 48 78 00 01              |Hx      |		PEA.L	0x1
00021db4 1f 01                    |        |		MOVE.B	D1,-(A7)
00021db6 48 6e ff fb              |Hn      |		PEA.L	(A6-0x5)
00021dba 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00021dc0 de c3                    |        |		ADDA.W	D3,A7
00021dc2 4a 2e ff fb              |J.      |		TST.B	(A6-0x5)
00021dc6 67 0e                    |g       |		BEQ	0x21dd6
00021dc8 48 52                    |HR      |		PEA.L	(A2)
00021dca 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
00021dd0 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021dd2 60 00 00 8e              |`       |		BRA	0x21e62
00021dd6 20 79 00 02 35 32        | y  52  |		MOVEA.L	0x23532,A0
00021ddc 22 52                    |"R      |		MOVEA.L	(A2),A1
00021dde 70 7f                    |p       |		MOVEQ.L	#0x7f,D0
00021de0 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021de2 51 c8 ff fc              |Q       |		DBF	D0,0x21de0
00021de6 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00021dec 20 6e 00 08              | n      |		MOVEA.L	(A6+0x8),A0
00021df0 48 50                    |HP      |		PEA.L	(A0)
00021df2 4e b9 00 01 05 26        |N    &  |		JSR	IPC_GetBool() : Bool
00021df8 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021dfa 48 6e ff ea              |Hn      |		PEA.L	(A6-0x16)
00021dfe 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021e04 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021e06 48 6e ff ee              |Hn      |		PEA.L	(A6-0x12)
00021e0a 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00021e10 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021e12 48 6e ff f2              |Hn      |		PEA.L	(A6-0xe)
00021e16 48 53                    |HS      |		PEA.L	(A3)
00021e18 48 53                    |HS      |		PEA.L	(A3)
00021e1a 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021e20 de c2                    |        |		ADDA.W	D2,A7
00021e22 48 6e ff f3              |Hn      |		PEA.L	(A6-0xd)
00021e26 48 53                    |HS      |		PEA.L	(A3)
00021e28 48 78 00 07              |Hx      |		PEA.L	0x7
00021e2c 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021e32 de c2                    |        |		ADDA.W	D2,A7
00021e34 4e b9 00 01 05 1a        |N       |		JSR	IPC_GetEnd(void)
00021e3a 2f 12                    |/       |		MOVE.L	(A2),-(A7)
00021e3c 1f 10                    |        |		MOVE.B	(A0),-(A7)
00021e3e 2f 2e ff ea              |/.      |		MOVE.L	(A6-0x16),-(A7)
00021e42 2f 2e ff ee              |/.      |		MOVE.L	(A6-0x12),-(A7)
00021e46 1f 2e ff f2              | .      |		MOVE.B	(A6-0xe),-(A7)
00021e4a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021e4c 20 4f                    | O      |		MOVEA.L	A7,A0
00021e4e 43 ee ff f3              |C       |		LEA.L	(A6-0xd),A1
00021e52 70 07                    |p       |		MOVEQ.L	#0x07,D0
00021e54 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021e56 51 c8 ff fc              |Q       |		DBF	D0,0x21e54
00021e5a 4e ba f8 4c              |N  L    |		JSR	0x216a8
00021e5e de fc 00 18              |        |		ADDA.W	#0x18,A7
00021e62 4c df 1f 8f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D7+A0+A1+A2+A3+A4
00021e66 4e 5e                    |N^      |		UNLK	A6
00021e68 4e 75                    |Nu      |		RTS
00021e6a ; --------------------------------------------------------------------------------------
00021e6a ; OMSI PASCAL Function
00021e6a ;    <LVAR  0x008 1(r)>
00021e6a ;    <LVAR -0x001 @ 1(r)>
00021e6a ; --------------------------------------------------------------------------------------
00021e6a 4e 56 ff a6              |NV      |		LINK.W	A6,#0xffa6
00021e6e bf d5                    |        |		CMPA.L	(A5),A7
00021e70 62 06                    |b       |		BHI	0x21e78
00021e72 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021e76 4e 76                    |Nv      |		TRAPV
00021e78 de fc 00 50              |   P    |		ADDA.W	#0x50,A7
00021e7c 48 e7 c3 80              |H       |		MOVEM.L	A0+D7+D6+D1+D0,-(A7)
00021e80 72 28                    |r(      |		MOVEQ.L	#0x28,D1
00021e82 41 fa e3 ac              |A       |		LEA.L	0x20230,A0
00021e86 70 09                    |p       |		MOVEQ.L	#0x09,D0
00021e88 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021e8a 51 c8 ff fc              |Q       |		DBF	D0,0x21e88
00021e8e 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021e90 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00021e94 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
00021e98 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e9a 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021ea0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021ea2 48 78 00 01              |Hx      |		PEA.L	0x1
00021ea6 48 78 00 03              |Hx      |		PEA.L	0x3
00021eaa 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00021eb0 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00021eb4 2c 1f                    |,       |		MOVE.L	(A7)+,D6
00021eb6 de c1                    |        |		ADDA.W	D1,A7
00021eb8 7e 01                    |~       |		MOVEQ.L	#0x01,D7
00021eba 0c 87 00 00 00 02        |        |		CMPI.L	#0x00000002,D7
00021ec0 66 04                    |f       |		BNE	0x21ec6
00021ec2 4e ba f7 1a              |N       |		JSR	0x215de
00021ec6 2f 07                    |/       |		MOVE.L	D7,-(A7)
00021ec8 1f 2e 00 08              | .      |		MOVE.B	(A6+0x8),-(A7)
00021ecc 48 6e ff ff              |Hn      |		PEA.L	(A6-0x1)
00021ed0 4e ba f9 9c              |N       |		JSR	0x2186e
00021ed4 de fc 00 0a              |        |		ADDA.W	#0xa,A7
00021ed8 52 87                    |R       |		ADDQ.L	#0x1,D7
00021eda 4a 2e ff ff              |J.      |		TST.B	(A6-0x1)
00021ede 67 04                    |g       |		BEQ	0x21ee4
00021ee0 be 86                    |        |		CMP.L	D6,D7
00021ee2 6f d6                    |o       |		BLE	0x21eba
00021ee4 4c df 01 c3              |L       |		MOVEM.L	(A7)+,D0+D1+D6+D7+A0
00021ee8 4e 5e                    |N^      |		UNLK	A6
00021eea 4e 75                    |Nu      |		RTS
00021eec ; --------------------------------------------------------------------------------------
00021eec ; OMSI PASCAL Function
00021eec ; --------------------------------------------------------------------------------------
00021eec 4e 56 ff fa              |NV      |		LINK.W	A6,#0xfffa
00021ef0 bf d5                    |        |		CMPA.L	(A5),A7
00021ef2 62 06                    |b       |		BHI	0x21efa
00021ef4 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021ef8 4e 76                    |Nv      |		TRAPV
00021efa de fc 00 06              |        |		ADDA.W	#0x6,A7
00021efe 42 27                    |B'      |		CLR.B	-(A7)
00021f00 4e ba ff 68              |N  h    |		JSR	0x21e6a
00021f04 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021f06 4e 5e                    |N^      |		UNLK	A6
00021f08 4e 75                    |Nu      |		RTS
00021f0a ; --------------------------------------------------------------------------------------
00021f0a ; OMSI PASCAL Function
00021f0a ; --------------------------------------------------------------------------------------
00021f0a 4e 56 ff 7c              |NV |    |		LINK.W	A6,#0xff7c
00021f0e bf d5                    |        |		CMPA.L	(A5),A7
00021f10 62 06                    |b       |		BHI	0x21f18
00021f12 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021f16 4e 76                    |Nv      |		TRAPV
00021f18 de fc 00 78              |   x    |		ADDA.W	#0x78,A7
00021f1c 48 e7 ff f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
00021f20 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00021f26 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00021f2c 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021f2e 74 31                    |t1      |		MOVEQ.L	#0x31,D2
00021f30 76 0c                    |v       |		MOVEQ.L	#0x0c,D3
00021f32 78 16                    |x       |		MOVEQ.L	#0x16,D4
00021f34 2f 3a e2 fe              |/:      |		MOVE.L	0x20234,-(A7)
00021f38 2f 3a e2 f6              |/:      |		MOVE.L	0x20230,-(A7)
00021f3c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f3e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f42 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f44 3f 3c 00 08              |?<      |		MOVE.W	#0x8,-(A7)
00021f48 4e 92                    |N       |		JSR	(A2)
00021f4a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f4c 4e 93                    |N       |		JSR	(A3)
00021f4e de c3                    |        |		ADDA.W	D3,A7
00021f50 41 fa e3 12              |A       |		LEA.L	0x20264,A0
00021f54 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00021f56 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021f58 51 c8 ff fc              |Q       |		DBF	D0,0x21f56
00021f5c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f5e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f62 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f64 3f 3c 00 2c              |?< ,    |		MOVE.W	#0x2c,-(A7)
00021f68 4e 92                    |N       |		JSR	(A2)
00021f6a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f6c 4e 93                    |N       |		JSR	(A3)
00021f6e 55 4f                    |UO      |		SUBQ.L	#0x2,A7
00021f70 20 4f                    | O      |		MOVEA.L	A7,A0
00021f72 43 fa e2 f0              |C       |		LEA.L	0x20264,A1
00021f76 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021f78 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021f7a 51 c8 ff fc              |Q       |		DBF	D0,0x21f78
00021f7e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f80 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f84 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f86 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021f88 4e 92                    |N       |		JSR	(A2)
00021f8a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f8c 4e 93                    |N       |		JSR	(A3)
00021f8e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021f90 20 4f                    | O      |		MOVEA.L	A7,A0
00021f92 43 fa e3 02              |C       |		LEA.L	0x20296,A1
00021f96 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021f98 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021f9a 51 c8 ff fc              |Q       |		DBF	D0,0x21f98
00021f9e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021fa0 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021fa4 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021fa6 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021fa8 4e 92                    |N       |		JSR	(A2)
00021faa 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021fac 4e 93                    |N       |		JSR	(A3)
00021fae 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021fb0 20 4f                    | O      |		MOVEA.L	A7,A0
00021fb2 43 fa e3 14              |C       |		LEA.L	0x202c8,A1
00021fb6 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021fb8 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021fba 51 c8 ff fc              |Q       |		DBF	D0,0x21fb8
00021fbe 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021fc0 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021fc4 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021fc6 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021fc8 4e 92                    |N       |		JSR	(A2)
00021fca 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021fcc 4e 93                    |N       |		JSR	(A3)
00021fce 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021fd0 20 4f                    | O      |		MOVEA.L	A7,A0
00021fd2 43 fa e3 26              |C  &    |		LEA.L	0x202fa,A1
00021fd6 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021fd8 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021fda 51 c8 ff fc              |Q       |		DBF	D0,0x21fd8
00021fde 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021fe0 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021fe4 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021fe6 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021fe8 4e 92                    |N       |		JSR	(A2)
00021fea 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021fec 4e 93                    |N       |		JSR	(A3)
00021fee 55 4f                    |UO      |		SUBQ.L	#0x2,A7
00021ff0 20 4f                    | O      |		MOVEA.L	A7,A0
00021ff2 43 fa e3 38              |C  8    |		LEA.L	0x2032c,A1
00021ff6 70 36                    |p6      |		MOVEQ.L	#0x36,D0
00021ff8 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021ffa 51 c8 ff fc              |Q       |		DBF	D0,0x21ff8
00021ffe 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022000 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022004 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022006 3f 3c 00 37              |?< 7    |		MOVE.W	#0x37,-(A7)
0002200a 4e 92                    |N       |		JSR	(A2)
0002200c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002200e 4e 93                    |N       |		JSR	(A3)
00022010 de fc 00 3c              |   <    |		ADDA.W	#0x3c,A7
00022014 7a 0b                    |z       |		MOVEQ.L	#0x0b,D5
00022016 41 fa e3 62              |A  b    |		LEA.L	0x2037a,A0
0002201a 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
0002201c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002201e 51 c8 ff fc              |Q       |		DBF	D0,0x2201c
00022022 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022024 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022028 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002202a 3f 04                    |?       |		MOVE.W	D4,-(A7)
0002202c 4e 92                    |N       |		JSR	(A2)
0002202e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022030 48 78 00 00              |Hx      |		PEA.L	0x0
00022034 2f 05                    |/       |		MOVE.L	D5,-(A7)
00022036 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
0002203c de c3                    |        |		ADDA.W	D3,A7
0002203e 2c 1f                    |,       |		MOVE.L	(A7)+,D6
00022040 de c4                    |        |		ADDA.W	D4,A7
00022042 20 06                    |        |		MOVE.L	D6,D0
00022044 b0 83                    |        |		CMP.L	D3,D0
00022046 63 02                    |c       |		BLS	0x2204a
00022048 4e 4e                    |NN      |		TRAP	#14
0002204a d0 40                    | @      |		ADD.W	D0,D0
0002204c 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00022054 00 1a                    |        |		.CONST	0x1a			; [0x0] -> 0x2206e
00022056 00 1e                    |        |		.CONST	0x1e			; [0x1] -> 0x22072
00022058 00 22                    | "      |		.CONST	0x22			; [0x2] -> 0x22076
0002205a 00 26                    | &      |		.CONST	0x26			; [0x3] -> 0x2207a
0002205c 00 2a                    | *      |		.CONST	0x2a			; [0x4] -> 0x2207e
0002205e 00 2e                    | .      |		.CONST	0x2e			; [0x5] -> 0x22082
00022060 00 32                    | 2      |		.CONST	0x32			; [0x6] -> 0x22086
00022062 00 36                    | 6      |		.CONST	0x36			; [0x7] -> 0x2208a
00022064 00 3a                    | :      |		.CONST	0x3a			; [0x8] -> 0x2208e
00022066 00 3e                    | >      |		.CONST	0x3e			; [0x9] -> 0x22092
00022068 00 40                    | @      |		.CONST	0x40			; [0xa] -> 0x22094
0002206a 00 42                    | B      |		.CONST	0x42			; [0xb] -> 0x22096
0002206c 00 44                    | D      |		.CONST	0x44			; [0xc] -> 0x22098
0002206e					switch@0x2204c[0x0]:
0002206e 60 3a                    |`:      |		BRA	0x220aa
00022070 60 28                    |`(      |		.XXX[0x2]
00022072					switch@0x2204c[0x1]:
00022072 7e 00                    |~       |		MOVEQ.L	#0x00,D7
00022074 60 24                    |`$      |		BRA	0x2209a
00022076					switch@0x2204c[0x2]:
00022076 7e 03                    |~       |		MOVEQ.L	#0x03,D7
00022078 60 20                    |`       |		BRA	0x2209a
0002207a					switch@0x2204c[0x3]:
0002207a 7e 04                    |~       |		MOVEQ.L	#0x04,D7
0002207c 60 1c                    |`       |		BRA	0x2209a
0002207e					switch@0x2204c[0x4]:
0002207e 7e 05                    |~       |		MOVEQ.L	#0x05,D7
00022080 60 18                    |`       |		BRA	0x2209a
00022082					switch@0x2204c[0x5]:
00022082 7e 0b                    |~       |		MOVEQ.L	#0x0b,D7
00022084 60 14                    |`       |		BRA	0x2209a
00022086					switch@0x2204c[0x6]:
00022086 7e 02                    |~       |		MOVEQ.L	#0x02,D7
00022088 60 10                    |`       |		BRA	0x2209a
0002208a					switch@0x2204c[0x7]:
0002208a 7e 06                    |~       |		MOVEQ.L	#0x06,D7
0002208c 60 0c                    |`       |		BRA	0x2209a
0002208e					switch@0x2204c[0x8]:
0002208e 7e 07                    |~       |		MOVEQ.L	#0x07,D7
00022090 60 08                    |`       |		BRA	0x2209a
00022092					switch@0x2204c[0x9]:
00022092 60 fa                    |`       |		BRA	switch@0x2204c[0x8]
00022094					switch@0x2204c[0xa]:
00022094 60 f8                    |`       |		BRA	switch@0x2204c[0x8]
00022096					switch@0x2204c[0xb]:
00022096 60 f6                    |`       |		BRA	switch@0x2204c[0x8]
00022098					switch@0x2204c[0xc]:
00022098 7e 01                    |~       |		MOVEQ.L	#0x01,D7
0002209a 10 07                    |        |		MOVE.B	D7,D0
0002209c 48 80                    |H       |		EXTB.W	D0
0002209e 41 bc 00 0b              |A       |		CHK.W	#0xb,D0
000220a2 1f 00                    |        |		MOVE.B	D0,-(A7)
000220a4 4e ba fd c4              |N       |		JSR	0x21e6a
000220a8 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000220aa 4c df 0f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3
000220ae 4e 5e                    |N^      |		UNLK	A6
000220b0 4e 75                    |Nu      |		RTS
000220b2 ; --------------------------------------------------------------------------------------
000220b2 ; OMSI PASCAL Function
000220b2 ;    <LVAR  0x00c 1(w)>
000220b2 ;    <LVAR  0x008 4(r)>
000220b2 ; --------------------------------------------------------------------------------------
000220b2 4e 56 ff 7e              |NV ~    |		LINK.W	A6,#0xff7e
000220b6 bf d5                    |        |		CMPA.L	(A5),A7
000220b8 62 06                    |b       |		BHI	0x220c0
000220ba 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000220be 4e 76                    |Nv      |		TRAPV
000220c0 de fc 00 7a              |   z    |		ADDA.W	#0x7a,A7
000220c4 48 e7 ff f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
000220c8 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
000220ce 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
000220d4 72 01                    |r       |		MOVEQ.L	#0x01,D1
000220d6 74 32                    |t2      |		MOVEQ.L	#0x32,D2
000220d8 76 36                    |v6      |		MOVEQ.L	#0x36,D3
000220da 78 3a                    |x:      |		MOVEQ.L	#0x3a,D4
000220dc 7a 34                    |z4      |		MOVEQ.L	#0x34,D5
000220de 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
000220e4 9e c2                    |        |		SUBA.W	D2,A7
000220e6 20 4f                    | O      |		MOVEA.L	A7,A0
000220e8 43 fa e2 90              |C       |		LEA.L	0x2037a,A1
000220ec 70 30                    |p0      |		MOVEQ.L	#0x30,D0
000220ee 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000220f0 51 c8 ff fc              |Q       |		DBF	D0,0x220ee
000220f4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000220f6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000220fa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000220fc 3f 3c 00 31              |?< 1    |		MOVE.W	#0x31,-(A7)
00022100 4e 92                    |N       |		JSR	(A2)
00022102 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022104 4e 93                    |N       |		JSR	(A3)
00022106 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022108 20 4f                    | O      |		MOVEA.L	A7,A0
0002210a 43 fa e2 a0              |C       |		LEA.L	0x203ac,A1
0002210e 70 2c                    |p,      |		MOVEQ.L	#0x2c,D0
00022110 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022112 51 c8 ff fc              |Q       |		DBF	D0,0x22110
00022116 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022118 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002211c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002211e 3f 3c 00 2d              |?< -    |		MOVE.W	#0x2d,-(A7)
00022122 4e 92                    |N       |		JSR	(A2)
00022124 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022126 4e 93                    |N       |		JSR	(A3)
00022128 de c2                    |        |		ADDA.W	D2,A7
0002212a 41 fa e2 de              |A       |		LEA.L	0x2040a,A0
0002212e 70 0b                    |p       |		MOVEQ.L	#0x0b,D0
00022130 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022132 51 c8 ff fc              |Q       |		DBF	D0,0x22130
00022136 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022138 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002213c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002213e 3f 3c 00 30              |?< 0    |		MOVE.W	#0x30,-(A7)
00022142 4e 92                    |N       |		JSR	(A2)
00022144 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022146 4e 93                    |N       |		JSR	(A3)
00022148 de c5                    |        |		ADDA.W	D5,A7
0002214a 41 fa e2 f4              |A       |		LEA.L	0x20440,A0
0002214e 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
00022150 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022152 51 c8 ff fc              |Q       |		DBF	D0,0x22150
00022156 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022158 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002215c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002215e 3f 03                    |?       |		MOVE.W	D3,-(A7)
00022160 4e 92                    |N       |		JSR	(A2)
00022162 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022164 4e 93                    |N       |		JSR	(A3)
00022166 de c4                    |        |		ADDA.W	D4,A7
00022168 41 fa e3 0c              |A       |		LEA.L	0x20476,A0
0002216c 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
0002216e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022170 51 c8 ff fc              |Q       |		DBF	D0,0x2216e
00022174 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022176 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002217a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002217c 3f 03                    |?       |		MOVE.W	D3,-(A7)
0002217e 4e 92                    |N       |		JSR	(A2)
00022180 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022182 4e 93                    |N       |		JSR	(A3)
00022184 de c4                    |        |		ADDA.W	D4,A7
00022186 41 fa e3 20              |A       |		LEA.L	0x204a8,A0
0002218a 70 18                    |p       |		MOVEQ.L	#0x18,D0
0002218c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002218e 51 c8 ff fc              |Q       |		DBF	D0,0x2218c
00022192 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022194 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022198 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002219a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002219c 4e 92                    |N       |		JSR	(A2)
0002219e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000221a0 4e 93                    |N       |		JSR	(A3)
000221a2 de c3                    |        |		ADDA.W	D3,A7
000221a4 41 fa e3 3c              |A  <    |		LEA.L	0x204e2,A0
000221a8 70 1c                    |p       |		MOVEQ.L	#0x1c,D0
000221aa 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000221ac 51 c8 ff fc              |Q       |		DBF	D0,0x221aa
000221b0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000221b2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000221b6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000221b8 3f 04                    |?       |		MOVE.W	D4,-(A7)
000221ba 4e 92                    |N       |		JSR	(A2)
000221bc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000221be 4e 93                    |N       |		JSR	(A3)
000221c0 de fc 00 3e              |   >    |		ADDA.W	#0x3e,A7
000221c4 41 fa e3 46              |A  F    |		LEA.L	0x2050c,A0
000221c8 70 14                    |p       |		MOVEQ.L	#0x14,D0
000221ca 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000221cc 51 c8 ff fc              |Q       |		DBF	D0,0x221ca
000221d0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000221d2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000221d6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000221d8 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
000221dc 4e 92                    |N       |		JSR	(A2)
000221de 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000221e0 4e 93                    |N       |		JSR	(A3)
000221e2 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
000221e6 41 fa e3 58              |A  X    |		LEA.L	0x20540,A0
000221ea 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000221ec 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000221ee 51 c8 ff fc              |Q       |		DBF	D0,0x221ec
000221f2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000221f4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000221f8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000221fa 3f 05                    |?       |		MOVE.W	D5,-(A7)
000221fc 4e 92                    |N       |		JSR	(A2)
000221fe 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022200 4e 93                    |N       |		JSR	(A3)
00022202 de fc 00 28              |   (    |		ADDA.W	#0x28,A7
00022206 20 4f                    | O      |		MOVEA.L	A7,A0
00022208 43 fa e3 68              |C  h    |		LEA.L	0x20572,A1
0002220c 70 0e                    |p       |		MOVEQ.L	#0x0e,D0
0002220e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022210 51 c8 ff fc              |Q       |		DBF	D0,0x2220e
00022214 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022216 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002221a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002221c 3f 3c 00 0f              |?<      |		MOVE.W	#0xf,-(A7)
00022220 4e 92                    |N       |		JSR	(A2)
00022222 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022224 4e 93                    |N       |		JSR	(A3)
00022226 de fc 00 14              |        |		ADDA.W	#0x14,A7
0002222a 7c 14                    ||       |		MOVEQ.L	#0x14,D6
0002222c 9e fc 00 16              |        |		SUBA.W	#0x16,A7
00022230 20 4f                    | O      |		MOVEA.L	A7,A0
00022232 43 fa e3 4e              |C  N    |		LEA.L	0x20582,A1
00022236 70 14                    |p       |		MOVEQ.L	#0x14,D0
00022238 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002223a 51 c8 ff fc              |Q       |		DBF	D0,0x22238
0002223e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022240 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022244 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022246 3f 3c 00 15              |?<      |		MOVE.W	#0x15,-(A7)
0002224a 4e 92                    |N       |		JSR	(A2)
0002224c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002224e 4e 93                    |N       |		JSR	(A3)
00022250 de fc 00 12              |        |		ADDA.W	#0x12,A7
00022254 2e ae 00 08              |.       |		MOVE.L	(A6+0x8),(A7)
00022258 48 78 00 01              |Hx      |		PEA.L	0x1
0002225c 2f 06                    |/       |		MOVE.L	D6,-(A7)
0002225e 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022264 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022268 2e 1f                    |.       |		MOVE.L	(A7)+,D7
0002226a 20 07                    |        |		MOVE.L	D7,D0
0002226c 53 80                    |S       |		SUBQ.L	#0x1,D0
0002226e 0c 80 00 00 00 14        |        |		CMPI.L	#0x00000014,D0
00022274 63 02                    |c       |		BLS	0x22278
00022276 4e 4f                    |NO      |		TRAP	#15
00022278 41 fa f0 c4              |A       |		LEA.L	0x2133e,A0
0002227c 1d 70 08 00 00 0c        | p      |		MOVE.B	(A0+D0.L),(A6+0xc)
00022282 4c df 0f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3
00022286 4e 5e                    |N^      |		UNLK	A6
00022288 4e 75                    |Nu      |		RTS
0002228a ; --------------------------------------------------------------------------------------
0002228a ; OMSI PASCAL Function
0002228a ;    <LVAR  0x00c 1(w)>
0002228a ;    <LVAR  0x008 4(r)>
0002228a ; --------------------------------------------------------------------------------------
0002228a 4e 56 ff a2              |NV      |		LINK.W	A6,#0xffa2
0002228e bf d5                    |        |		CMPA.L	(A5),A7
00022290 62 06                    |b       |		BHI	0x22298
00022292 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022296 4e 76                    |Nv      |		TRAPV
00022298 de fc 00 5a              |   Z    |		ADDA.W	#0x5a,A7
0002229c 48 e7 f1 e0              |H       |		MOVEM.L	A2+A1+A0+D7+D3+D2+D1+D0,-(A7)
000222a0 43 f9 00 01 02 c4        |C       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A1
000222a6 45 f9 00 01 03 e0        |E       |		LEA.L	WriteConsoleStringCrLf(str : String),A2
000222ac 72 01                    |r       |		MOVEQ.L	#0x01,D1
000222ae 74 2a                    |t*      |		MOVEQ.L	#0x2a,D2
000222b0 76 26                    |v&      |		MOVEQ.L	#0x26,D3
000222b2 41 fa e3 0a              |A       |		LEA.L	0x205be,A0
000222b6 70 12                    |p       |		MOVEQ.L	#0x12,D0
000222b8 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000222ba 51 c8 ff fc              |Q       |		DBF	D0,0x222b8
000222be 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000222c0 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000222c4 3f 01                    |?       |		MOVE.W	D1,-(A7)
000222c6 3f 03                    |?       |		MOVE.W	D3,-(A7)
000222c8 4e 91                    |N       |		JSR	(A1)
000222ca 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000222cc 4e 92                    |N       |		JSR	(A2)
000222ce de c2                    |        |		ADDA.W	D2,A7
000222d0 41 fa e3 12              |A       |		LEA.L	0x205e4,A0
000222d4 70 12                    |p       |		MOVEQ.L	#0x12,D0
000222d6 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000222d8 51 c8 ff fc              |Q       |		DBF	D0,0x222d6
000222dc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000222de 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000222e2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000222e4 3f 03                    |?       |		MOVE.W	D3,-(A7)
000222e6 4e 91                    |N       |		JSR	(A1)
000222e8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000222ea 4e 92                    |N       |		JSR	(A2)
000222ec de c2                    |        |		ADDA.W	D2,A7
000222ee 41 fa e3 1a              |A       |		LEA.L	0x2060a,A0
000222f2 70 12                    |p       |		MOVEQ.L	#0x12,D0
000222f4 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000222f6 51 c8 ff fc              |Q       |		DBF	D0,0x222f4
000222fa 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000222fc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022300 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022302 3f 03                    |?       |		MOVE.W	D3,-(A7)
00022304 4e 91                    |N       |		JSR	(A1)
00022306 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022308 4e 92                    |N       |		JSR	(A2)
0002230a de c2                    |        |		ADDA.W	D2,A7
0002230c 41 fa e3 22              |A  "    |		LEA.L	0x20630,A0
00022310 70 12                    |p       |		MOVEQ.L	#0x12,D0
00022312 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022314 51 c8 ff fc              |Q       |		DBF	D0,0x22312
00022318 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002231a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002231e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022320 3f 03                    |?       |		MOVE.W	D3,-(A7)
00022322 4e 91                    |N       |		JSR	(A1)
00022324 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022326 4e 92                    |N       |		JSR	(A2)
00022328 de c2                    |        |		ADDA.W	D2,A7
0002232a 41 fa e3 2e              |A  .    |		LEA.L	0x2065a,A0
0002232e 70 14                    |p       |		MOVEQ.L	#0x14,D0
00022330 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022332 51 c8 ff fc              |Q       |		DBF	D0,0x22330
00022336 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022338 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002233c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002233e 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022340 4e 91                    |N       |		JSR	(A1)
00022342 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022344 4e 92                    |N       |		JSR	(A2)
00022346 de c2                    |        |		ADDA.W	D2,A7
00022348 2e ba e3 14              |.       |		MOVE.L	0x2065e,(A7)
0002234c 2f 3a e3 0c              |/:      |		MOVE.L	0x2065a,-(A7)
00022350 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022352 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022356 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022358 3f 3c 00 08              |?<      |		MOVE.W	#0x8,-(A7)
0002235c 4e 91                    |N       |		JSR	(A1)
0002235e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022360 4e 92                    |N       |		JSR	(A2)
00022362 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022364 2e ae 00 08              |.       |		MOVE.L	(A6+0x8),(A7)
00022368 48 78 00 01              |Hx      |		PEA.L	0x1
0002236c 48 78 00 0b              |Hx      |		PEA.L	0xb
00022370 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022376 de fc 00 0c              |        |		ADDA.W	#0xc,A7
0002237a 2e 1f                    |.       |		MOVE.L	(A7)+,D7
0002237c 20 07                    |        |		MOVE.L	D7,D0
0002237e 53 80                    |S       |		SUBQ.L	#0x1,D0
00022380 0c 80 00 00 00 0a        |        |		CMPI.L	#0x0000000a,D0
00022386 63 02                    |c       |		BLS	0x2238a
00022388 4e 4f                    |NO      |		TRAP	#15
0002238a 41 fa ef c7              |A       |		LEA.L	0x21353,A0
0002238e 1d 70 08 00 00 0c        | p      |		MOVE.B	(A0+D0.L),(A6+0xc)
00022394 4c df 07 8f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D7+A0+A1+A2
00022398 4e 5e                    |N^      |		UNLK	A6
0002239a 4e 75                    |Nu      |		RTS
0002239c ; --------------------------------------------------------------------------------------
0002239c ; OMSI PASCAL Function
0002239c ;    <LVAR -0x004 1(rw)>
0002239c ;    <LVAR -0x00a @>
0002239c ; --------------------------------------------------------------------------------------
0002239c 4e 56 ff 70              |NV p    |		LINK.W	A6,#0xff70
000223a0 bf d5                    |        |		CMPA.L	(A5),A7
000223a2 62 06                    |b       |		BHI	0x223aa
000223a4 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000223a8 4e 76                    |Nv      |		TRAPV
000223aa de fc 00 80              |        |		ADDA.W	#0x80,A7
000223ae 48 e7 ff f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
000223b2 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
000223b8 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
000223be 72 01                    |r       |		MOVEQ.L	#0x01,D1
000223c0 74 28                    |t(      |		MOVEQ.L	#0x28,D2
000223c2 9e c2                    |        |		SUBA.W	D2,A7
000223c4 20 4f                    | O      |		MOVEA.L	A7,A0
000223c6 43 fa e3 bc              |C       |		LEA.L	0x20784,A1
000223ca 70 26                    |p&      |		MOVEQ.L	#0x26,D0
000223cc 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000223ce 51 c8 ff fc              |Q       |		DBF	D0,0x223cc
000223d2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000223d4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000223d8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000223da 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
000223de 4e 92                    |N       |		JSR	(A2)
000223e0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000223e2 4e 93                    |N       |		JSR	(A3)
000223e4 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
000223e8 41 fa e3 ea              |A       |		LEA.L	0x207d4,A0
000223ec 70 09                    |p       |		MOVEQ.L	#0x09,D0
000223ee 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000223f0 51 c8 ff fc              |Q       |		DBF	D0,0x223ee
000223f4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000223f6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000223fa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000223fc 3f 02                    |?       |		MOVE.W	D2,-(A7)
000223fe 4e 92                    |N       |		JSR	(A2)
00022400 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022402 4e 93                    |N       |		JSR	(A3)
00022404 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00022408 41 fa e3 f2              |A       |		LEA.L	0x207fc,A0
0002240c 70 09                    |p       |		MOVEQ.L	#0x09,D0
0002240e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022410 51 c8 ff fc              |Q       |		DBF	D0,0x2240e
00022414 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022416 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002241a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002241c 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002241e 4e 92                    |N       |		JSR	(A2)
00022420 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022422 4e 93                    |N       |		JSR	(A3)
00022424 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022426 20 4f                    | O      |		MOVEA.L	A7,A0
00022428 43 fa e3 d2              |C       |		LEA.L	0x207fc,A1
0002242c 70 26                    |p&      |		MOVEQ.L	#0x26,D0
0002242e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022430 51 c8 ff fc              |Q       |		DBF	D0,0x2242e
00022434 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022436 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002243a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002243c 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
00022440 4e 92                    |N       |		JSR	(A2)
00022442 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022444 4e 93                    |N       |		JSR	(A3)
00022446 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022448 20 4f                    | O      |		MOVEA.L	A7,A0
0002244a 43 fa e3 d8              |C       |		LEA.L	0x20824,A1
0002244e 70 26                    |p&      |		MOVEQ.L	#0x26,D0
00022450 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022452 51 c8 ff fc              |Q       |		DBF	D0,0x22450
00022456 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022458 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002245c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002245e 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
00022462 4e 92                    |N       |		JSR	(A2)
00022464 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022466 4e 93                    |N       |		JSR	(A3)
00022468 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
0002246c 41 fa e4 06              |A       |		LEA.L	0x20874,A0
00022470 70 09                    |p       |		MOVEQ.L	#0x09,D0
00022472 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022474 51 c8 ff fc              |Q       |		DBF	D0,0x22472
00022478 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002247a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002247e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022480 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022482 4e 92                    |N       |		JSR	(A2)
00022484 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022486 4e 93                    |N       |		JSR	(A3)
00022488 54 4f                    |TO      |		ADDQ.L	#0x2,A7
0002248a 20 4f                    | O      |		MOVEA.L	A7,A0
0002248c 43 fa e3 e6              |C       |		LEA.L	0x20874,A1
00022490 70 28                    |p(      |		MOVEQ.L	#0x28,D0
00022492 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022494 51 c8 ff fc              |Q       |		DBF	D0,0x22492
00022498 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002249a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002249e 3f 01                    |?       |		MOVE.W	D1,-(A7)
000224a0 3f 3c 00 29              |?< )    |		MOVE.W	#0x29,-(A7)
000224a4 4e 92                    |N       |		JSR	(A2)
000224a6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000224a8 4e 93                    |N       |		JSR	(A3)
000224aa 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000224ac 20 4f                    | O      |		MOVEA.L	A7,A0
000224ae 43 fa e3 ee              |C       |		LEA.L	0x2089e,A1
000224b2 70 26                    |p&      |		MOVEQ.L	#0x26,D0
000224b4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000224b6 51 c8 ff fc              |Q       |		DBF	D0,0x224b4
000224ba 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000224bc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000224c0 3f 01                    |?       |		MOVE.W	D1,-(A7)
000224c2 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
000224c6 4e 92                    |N       |		JSR	(A2)
000224c8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000224ca 4e 93                    |N       |		JSR	(A3)
000224cc de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
000224d0 41 fa e4 1c              |A       |		LEA.L	0x208ee,A0
000224d4 70 09                    |p       |		MOVEQ.L	#0x09,D0
000224d6 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000224d8 51 c8 ff fc              |Q       |		DBF	D0,0x224d6
000224dc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000224de 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000224e2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000224e4 3f 02                    |?       |		MOVE.W	D2,-(A7)
000224e6 4e 92                    |N       |		JSR	(A2)
000224e8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000224ea 4e 93                    |N       |		JSR	(A3)
000224ec 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000224ee 20 4f                    | O      |		MOVEA.L	A7,A0
000224f0 43 fa e3 fc              |C       |		LEA.L	0x208ee,A1
000224f4 70 28                    |p(      |		MOVEQ.L	#0x28,D0
000224f6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000224f8 51 c8 ff fc              |Q       |		DBF	D0,0x224f6
000224fc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000224fe 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022502 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022504 3f 3c 00 29              |?< )    |		MOVE.W	#0x29,-(A7)
00022508 4e 92                    |N       |		JSR	(A2)
0002250a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002250c 4e 93                    |N       |		JSR	(A3)
0002250e de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022512 41 fa e4 2e              |A  .    |		LEA.L	0x20942,A0
00022516 70 14                    |p       |		MOVEQ.L	#0x14,D0
00022518 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002251a 51 c8 ff fc              |Q       |		DBF	D0,0x22518
0002251e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022520 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022524 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022526 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
0002252a 4e 92                    |N       |		JSR	(A2)
0002252c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002252e 4e 93                    |N       |		JSR	(A3)
00022530 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022534 41 fa e4 34              |A  4    |		LEA.L	0x2096a,A0
00022538 70 09                    |p       |		MOVEQ.L	#0x09,D0
0002253a 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002253c 51 c8 ff fc              |Q       |		DBF	D0,0x2253a
00022540 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022542 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022546 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022548 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002254a 4e 92                    |N       |		JSR	(A2)
0002254c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002254e 4e 93                    |N       |		JSR	(A3)
00022550 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022552 20 4f                    | O      |		MOVEA.L	A7,A0
00022554 43 fa e4 14              |C       |		LEA.L	0x2096a,A1
00022558 70 28                    |p(      |		MOVEQ.L	#0x28,D0
0002255a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002255c 51 c8 ff fc              |Q       |		DBF	D0,0x2255a
00022560 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022562 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022566 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022568 3f 3c 00 29              |?< )    |		MOVE.W	#0x29,-(A7)
0002256c 4e 92                    |N       |		JSR	(A2)
0002256e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022570 4e 93                    |N       |		JSR	(A3)
00022572 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022576 41 fa e4 46              |A  F    |		LEA.L	0x209be,A0
0002257a 70 14                    |p       |		MOVEQ.L	#0x14,D0
0002257c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002257e 51 c8 ff fc              |Q       |		DBF	D0,0x2257c
00022582 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022584 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022588 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002258a 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
0002258e 4e 92                    |N       |		JSR	(A2)
00022590 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022592 4e 93                    |N       |		JSR	(A3)
00022594 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022598 41 fa e4 4c              |A  L    |		LEA.L	0x209e6,A0
0002259c 70 09                    |p       |		MOVEQ.L	#0x09,D0
0002259e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000225a0 51 c8 ff fc              |Q       |		DBF	D0,0x2259e
000225a4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000225a6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000225aa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000225ac 3f 02                    |?       |		MOVE.W	D2,-(A7)
000225ae 4e 92                    |N       |		JSR	(A2)
000225b0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000225b2 4e 93                    |N       |		JSR	(A3)
000225b4 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
000225b8 41 fa e4 36              |A  6    |		LEA.L	0x209f0,A0
000225bc 70 04                    |p       |		MOVEQ.L	#0x04,D0
000225be 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000225c0 51 c8 ff fc              |Q       |		DBF	D0,0x225be
000225c4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000225c6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000225ca 3f 01                    |?       |		MOVE.W	D1,-(A7)
000225cc 3f 3c 00 0a              |?<      |		MOVE.W	#0xa,-(A7)
000225d0 4e 92                    |N       |		JSR	(A2)
000225d2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000225d4 4e 93                    |N       |		JSR	(A3)
000225d6 de fc 00 0e              |        |		ADDA.W	#0xe,A7
000225da 41 fa e4 64              |A  d    |		LEA.L	0x20a40,A0
000225de 70 04                    |p       |		MOVEQ.L	#0x04,D0
000225e0 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000225e2 51 c8 ff fc              |Q       |		DBF	D0,0x225e0
000225e6 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000225e8 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000225ec 3f 01                    |?       |		MOVE.W	D1,-(A7)
000225ee 3f 3c 00 14              |?<      |		MOVE.W	#0x14,-(A7)
000225f2 4e 92                    |N       |		JSR	(A2)
000225f4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000225f6 48 78 00 00              |Hx      |		PEA.L	0x0
000225fa 48 78 00 1e              |Hx      |		PEA.L	0x1e
000225fe 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022604 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022608 2a 1f                    |*       |		MOVE.L	(A7)+,D5
0002260a de fc 00 14              |        |		ADDA.W	#0x14,A7
0002260e 1d 7c 00 02 ff fc        | |      |		MOVE.B	#0x02,(A6-0x4)
00022614 4a 85                    |J       |		TST.L	D5
00022616 67 00 01 aa              |g       |		BEQ	0x227c2
0002261a 0c 85 00 00 00 1e        |        |		CMPI.L	#0x0000001e,D5
00022620 66 62                    |fb      |		BNE	0x22684
00022622 41 fa e4 2e              |A  .    |		LEA.L	0x20a52,A0
00022626 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022628 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002262a 51 c8 ff fc              |Q       |		DBF	D0,0x22628
0002262e 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022630 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022634 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022636 3f 3c 00 12              |?<      |		MOVE.W	#0x12,-(A7)
0002263a 4e 92                    |N       |		JSR	(A2)
0002263c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002263e 4e b9 00 01 03 e4        |N       |		JSR	AskConsoleString(prompt : String) : String
00022644 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022646 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
00022648 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002264a 20 4f                    | O      |		MOVEA.L	A7,A0
0002264c 43 fa e4 04              |C       |		LEA.L	0x20a52,A1
00022650 70 18                    |p       |		MOVEQ.L	#0x18,D0
00022652 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022654 51 c8 ff fc              |Q       |		DBF	D0,0x22652
00022658 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
0002265a 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
0002265e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022660 3f 3c 00 19              |?<      |		MOVE.W	#0x19,-(A7)
00022664 4e 92                    |N       |		JSR	(A2)
00022666 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022668 1e 81                    |        |		MOVE.B	D1,(A7)
0002266a 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
00022670 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022672 4a 1f                    |J       |		TST.B	(A7)+
00022674 67 04                    |g       |		BEQ	0x2267a
00022676 7e 01                    |~       |		MOVEQ.L	#0x01,D7
00022678 60 02                    |`       |		BRA	0x2267c
0002267a 7e 00                    |~       |		MOVEQ.L	#0x00,D7
0002267c de fc 00 1a              |        |		ADDA.W	#0x1a,A7
00022680 7c 01                    ||       |		MOVEQ.L	#0x01,D6
00022682 60 68                    |`h      |		BRA	0x226ec
00022684 20 05                    |        |		MOVE.L	D5,D0
00022686 53 80                    |S       |		SUBQ.L	#0x1,D0
00022688 0c 80 00 00 00 1c        |        |		CMPI.L	#0x0000001c,D0
0002268e 63 02                    |c       |		BLS	0x22692
00022690 4e 4f                    |NO      |		TRAP	#15
00022692 28 00                    |(       |		MOVE.L	D0,D4
00022694 76 0c                    |v       |		MOVEQ.L	#0x0c,D3
00022696 4e b9 00 01 02 8c        |N       |		JSR	?muls_d3_d4
0002269c 41 fa ec c0              |A       |		LEA.L	0x2135e,A0
000226a0 9e fc 00 0a              |        |		SUBA.W	#0xa,A7
000226a4 22 4f                    |"O      |		MOVEA.L	A7,A1
000226a6 41 f0 48 00              |A H     |		LEA.L	(A0+D4.L),A0
000226aa 70 09                    |p       |		MOVEQ.L	#0x09,D0
000226ac 12 d8                    |        |		MOVE.B	(A0)+,(A1)+
000226ae 51 c8 ff fc              |Q       |		DBF	D0,0x226ac
000226b2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000226b4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000226b8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000226ba 3f 3c 00 0a              |?<      |		MOVE.W	#0xa,-(A7)
000226be 4e 92                    |N       |		JSR	(A2)
000226c0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000226c2 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
000226c4 de fc 00 0a              |        |		ADDA.W	#0xa,A7
000226c8 41 fa ec 94              |A       |		LEA.L	0x2135e,A0
000226cc 1e 30 48 0a              | 0H     |		MOVE.B	(A0+D4.L+#0xa),D7
000226d0 7c 00                    ||       |		MOVEQ.L	#0x00,D6
000226d2 41 fa ec 8a              |A       |		LEA.L	0x2135e,A0
000226d6 4a 30 48 0b              |J0H     |		TST.B	(A0+D4.L+#0xb)
000226da 67 0e                    |g       |		BEQ	0x226ea
000226dc 41 fa ec 80              |A       |		LEA.L	0x2135e,A0
000226e0 10 30 48 0b              | 0H     |		MOVE.B	(A0+D4.L+#0xb),D0
000226e4 b0 2e ff fc              | .      |		CMP.B	(A6-0x4),D0
000226e8 66 02                    |f       |		BNE	0x226ec
000226ea 52 06                    |R       |		ADDQ.B	#0x1,D6
000226ec 4a 06                    |J       |		TST.B	D6
000226ee 67 00 00 aa              |g       |		BEQ	0x2279a
000226f2 10 07                    |        |		MOVE.B	D7,D0
000226f4 48 80                    |H       |		EXTB.W	D0
000226f6 0c 40 00 02              | @      |		CMPI.W	#0x0002,D0
000226fa 63 02                    |c       |		BLS	0x226fe
000226fc 4e 4e                    |NN      |		TRAP	#14
000226fe d0 40                    | @      |		ADD.W	D0,D0
00022700 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00022708 00 06                    |        |		.CONST	0x6			; [0x0] -> 0x2270e
0002270a 00 14                    |        |		.CONST	0x14			; [0x1] -> 0x2271c
0002270c 00 56                    | V      |		.CONST	0x56			; [0x2] -> 0x2275e
0002270e					switch@0x22700[0x0]:
0002270e 2f 0c                    |/       |		MOVE.L	A4,-(A7)
00022710 48 6e ff f6              |Hn      |		PEA.L	(A6-0xa)
00022714 4e ba f3 06              |N       |		JSR	0x21a1c
00022718 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002271a 60 7c                    |`|      |		BRA	0x22798
0002271c					switch@0x22700[0x1]:
0002271c 9e fc 00 2c              |   ,    |		SUBA.W	#0x2c,A7
00022720 20 4f                    | O      |		MOVEA.L	A7,A0
00022722 43 fa e3 48              |C  H    |		LEA.L	0x20a6c,A1
00022726 70 2a                    |p*      |		MOVEQ.L	#0x2a,D0
00022728 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002272a 51 c8 ff fc              |Q       |		DBF	D0,0x22728
0002272e 2f 0c                    |/       |		MOVE.L	A4,-(A7)
00022730 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022732 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
00022736 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022738 3f 3c 00 2b              |?< +    |		MOVE.W	#0x2b,-(A7)
0002273c 4e 92                    |N       |		JSR	(A2)
0002273e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022740 4e ba fb 48              |N  H    |		JSR	0x2228a
00022744 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022746 10 17                    |        |		MOVE.B	(A7),D0
00022748 48 80                    |H       |		EXTB.W	D0
0002274a 41 bc 00 0f              |A       |		CHK.W	#0xf,D0
0002274e 1e 80                    |        |		MOVE.B	D0,(A7)
00022750 48 6e ff f6              |Hn      |		PEA.L	(A6-0xa)
00022754 4e ba f4 06              |N       |		JSR	0x21b5c
00022758 de fc 00 36              |   6    |		ADDA.W	#0x36,A7
0002275c 60 3a                    |`:      |		BRA	0x22798
0002275e					switch@0x22700[0x2]:
0002275e 41 fa e3 5e              |A  ^    |		LEA.L	0x20abe,A0
00022762 70 12                    |p       |		MOVEQ.L	#0x12,D0
00022764 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022766 51 c8 ff fc              |Q       |		DBF	D0,0x22764
0002276a 2f 0c                    |/       |		MOVE.L	A4,-(A7)
0002276c 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
0002276e 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
00022772 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022774 3f 3c 00 26              |?< &    |		MOVE.W	#0x26,-(A7)
00022778 4e 92                    |N       |		JSR	(A2)
0002277a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002277c 4e ba f9 34              |N  4    |		JSR	0x220b2
00022780 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022782 10 17                    |        |		MOVE.B	(A7),D0
00022784 48 80                    |H       |		EXTB.W	D0
00022786 41 bc 00 1a              |A       |		CHK.W	#0x1a,D0
0002278a 1e 80                    |        |		MOVE.B	D0,(A7)
0002278c 48 6e ff f6              |Hn      |		PEA.L	(A6-0xa)
00022790 4e ba f5 44              |N  D    |		JSR	0x21cd6
00022794 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
00022798 60 28                    |`(      |		BRA	0x227c2
0002279a 9e fc 00 3c              |   <    |		SUBA.W	#0x3c,A7
0002279e 20 4f                    | O      |		MOVEA.L	A7,A0
000227a0 43 fa e2 4e              |C  N    |		LEA.L	0x209f0,A1
000227a4 70 3a                    |p:      |		MOVEQ.L	#0x3a,D0
000227a6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000227a8 51 c8 ff fc              |Q       |		DBF	D0,0x227a6
000227ac 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000227ae 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000227b2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000227b4 3f 3c 00 3b              |?< ;    |		MOVE.W	#0x3b,-(A7)
000227b8 4e 92                    |N       |		JSR	(A2)
000227ba 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000227bc 4e 93                    |N       |		JSR	(A3)
000227be de fc 00 40              |   @    |		ADDA.W	#0x40,A7
000227c2 4c df 1f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4
000227c6 4e 5e                    |N^      |		UNLK	A6
000227c8 4e 75                    |Nu      |		RTS
000227ca ; --------------------------------------------------------------------------------------
000227ca ; OMSI PASCAL Function
000227ca ;    <LVAR -0x004 @>
000227ca ; --------------------------------------------------------------------------------------
000227ca 4e 56 ff c8              |NV      |		LINK.W	A6,#0xffc8
000227ce bf d5                    |        |		CMPA.L	(A5),A7
000227d0 62 06                    |b       |		BHI	0x227d8
000227d2 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000227d6 4e 76                    |Nv      |		TRAPV
000227d8 de fc 00 34              |   4    |		ADDA.W	#0x34,A7
000227dc 48 e7 c0 c0              |H       |		MOVEM.L	A1+A0+D1+D0,-(A7)
000227e0 72 01                    |r       |		MOVEQ.L	#0x01,D1
000227e2 2f 3a e2 da              |/:      |		MOVE.L	0x20abe,-(A7)
000227e6 9e fc 00 0c              |        |		SUBA.W	#0xc,A7
000227ea 20 4f                    | O      |		MOVEA.L	A7,A0
000227ec 43 fa e2 d4              |C       |		LEA.L	0x20ac2,A1
000227f0 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
000227f2 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000227f4 51 c8 ff fc              |Q       |		DBF	D0,0x227f2
000227f8 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000227fa 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
000227fe 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022800 3f 3c 00 04              |?<      |		MOVE.W	#0x4,-(A7)
00022804 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002280a 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002280c 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022810 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022812 3f 3c 00 0b              |?<      |		MOVE.W	#0xb,-(A7)
00022816 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002281c 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
0002281e 1e 81                    |        |		MOVE.B	D1,(A7)
00022820 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
00022824 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
0002282a de fc 00 1e              |        |		ADDA.W	#0x1e,A7
0002282e 4c df 03 03              |L       |		MOVEM.L	(A7)+,D0+D1+A0+A1
00022832 4e 5e                    |N^      |		UNLK	A6
00022834 4e 75                    |Nu      |		RTS
00022836 ; --------------------------------------------------------------------------------------
00022836 ; OMSI PASCAL Function
00022836 ; --------------------------------------------------------------------------------------
00022836 4e 56 ff 84              |NV      |		LINK.W	A6,#0xff84
0002283a bf d5                    |        |		CMPA.L	(A5),A7
0002283c 62 06                    |b       |		BHI	0x22844
0002283e 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022842 4e 76                    |Nv      |		TRAPV
00022844 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
00022848 48 e7 fd f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7)
0002284c 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00022852 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00022858 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002285a 74 20                    |t       |		MOVEQ.L	#0x20,D2
0002285c 76 16                    |v       |		MOVEQ.L	#0x16,D3
0002285e 78 1a                    |x       |		MOVEQ.L	#0x1a,D4
00022860 7a 1c                    |z       |		MOVEQ.L	#0x1c,D5
00022862 9e c4                    |        |		SUBA.W	D4,A7
00022864 20 4f                    | O      |		MOVEA.L	A7,A0
00022866 43 fa e2 66              |C  f    |		LEA.L	0x20ace,A1
0002286a 70 18                    |p       |		MOVEQ.L	#0x18,D0
0002286c 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002286e 51 c8 ff fc              |Q       |		DBF	D0,0x2286c
00022872 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022874 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022878 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002287a 3f 3c 00 19              |?<      |		MOVE.W	#0x19,-(A7)
0002287e 4e 92                    |N       |		JSR	(A2)
00022880 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022882 4e 93                    |N       |		JSR	(A3)
00022884 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022886 20 4f                    | O      |		MOVEA.L	A7,A0
00022888 43 fa e2 5e              |C  ^    |		LEA.L	0x20ae8,A1
0002288c 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
0002288e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022890 51 c8 ff fc              |Q       |		DBF	D0,0x2288e
00022894 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022896 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002289a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002289c 3f 3c 00 1b              |?<      |		MOVE.W	#0x1b,-(A7)
000228a0 4e 92                    |N       |		JSR	(A2)
000228a2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000228a4 4e 93                    |N       |		JSR	(A3)
000228a6 de c2                    |        |		ADDA.W	D2,A7
000228a8 41 fa e2 70              |A  p    |		LEA.L	0x20b1a,A0
000228ac 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
000228ae 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000228b0 51 c8 ff fc              |Q       |		DBF	D0,0x228ae
000228b4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228b6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000228ba 3f 01                    |?       |		MOVE.W	D1,-(A7)
000228bc 3f 03                    |?       |		MOVE.W	D3,-(A7)
000228be 4e 92                    |N       |		JSR	(A2)
000228c0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000228c2 4e 93                    |N       |		JSR	(A3)
000228c4 de c4                    |        |		ADDA.W	D4,A7
000228c6 41 fa e2 8a              |A       |		LEA.L	0x20b52,A0
000228ca 70 0d                    |p       |		MOVEQ.L	#0x0d,D0
000228cc 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000228ce 51 c8 ff fc              |Q       |		DBF	D0,0x228cc
000228d2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228d4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000228d8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000228da 3f 3c 00 38              |?< 8    |		MOVE.W	#0x38,-(A7)
000228de 4e 92                    |N       |		JSR	(A2)
000228e0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000228e2 4e 93                    |N       |		JSR	(A3)
000228e4 de fc 00 3c              |   <    |		ADDA.W	#0x3c,A7
000228e8 41 fa e2 84              |A       |		LEA.L	0x20b6e,A0
000228ec 70 06                    |p       |		MOVEQ.L	#0x06,D0
000228ee 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000228f0 51 c8 ff fc              |Q       |		DBF	D0,0x228ee
000228f4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228f6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000228fa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000228fc 3f 05                    |?       |		MOVE.W	D5,-(A7)
000228fe 4e 92                    |N       |		JSR	(A2)
00022900 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022902 4e 93                    |N       |		JSR	(A3)
00022904 de c2                    |        |		ADDA.W	D2,A7
00022906 41 fa e2 82              |A       |		LEA.L	0x20b8a,A0
0002290a 70 06                    |p       |		MOVEQ.L	#0x06,D0
0002290c 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002290e 51 c8 ff fc              |Q       |		DBF	D0,0x2290c
00022912 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022914 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022918 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002291a 3f 05                    |?       |		MOVE.W	D5,-(A7)
0002291c 4e 92                    |N       |		JSR	(A2)
0002291e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022920 4e 93                    |N       |		JSR	(A3)
00022922 de c2                    |        |		ADDA.W	D2,A7
00022924 41 fa e2 7a              |A  z    |		LEA.L	0x20ba0,A0
00022928 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
0002292a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002292c 51 c8 ff fc              |Q       |		DBF	D0,0x2292a
00022930 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022932 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022936 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022938 3f 03                    |?       |		MOVE.W	D3,-(A7)
0002293a 4e 92                    |N       |		JSR	(A2)
0002293c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002293e 48 78 00 00              |Hx      |		PEA.L	0x0
00022942 48 78 00 04              |Hx      |		PEA.L	0x4
00022946 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
0002294c de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022950 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00022952 de c3                    |        |		ADDA.W	D3,A7
00022954 20 07                    |        |		MOVE.L	D7,D0
00022956 0c 80 00 00 00 04        |        |		CMPI.L	#0x00000004,D0
0002295c 63 02                    |c       |		BLS	0x22960
0002295e 4e 4e                    |NN      |		TRAP	#14
00022960 d0 40                    | @      |		ADD.W	D0,D0
00022962 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
0002296a 00 0a                    |        |		.CONST	0xa			; [0x0] -> 0x22974
0002296c 00 0c                    |        |		.CONST	0xc			; [0x1] -> 0x22976
0002296e 00 12                    |        |		.CONST	0x12			; [0x2] -> 0x2297c
00022970 00 18                    |        |		.CONST	0x18			; [0x3] -> 0x22982
00022972 00 1e                    |        |		.CONST	0x1e			; [0x4] -> 0x22988
00022974					switch@0x22962[0x0]:
00022974 60 16                    |`       |		BRA	0x2298c
00022976					switch@0x22962[0x1]:
00022976 4e ba fe 52              |N  R    |		JSR	0x227ca
0002297a 60 10                    |`       |		BRA	0x2298c
0002297c					switch@0x22962[0x2]:
0002297c 4e ba f5 6e              |N  n    |		JSR	0x21eec
00022980 60 0a                    |`       |		BRA	0x2298c
00022982					switch@0x22962[0x3]:
00022982 4e ba f5 86              |N       |		JSR	0x21f0a
00022986 60 04                    |`       |		BRA	0x2298c
00022988					switch@0x22962[0x4]:
00022988 4e ba fa 12              |N       |		JSR	0x2239c
0002298c 4a 87                    |J       |		TST.L	D7
0002298e 66 00 fe d2              |f       |		BNE	0x22862
00022992 4c df 0f bf              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2+A3
00022996 4e 5e                    |N^      |		UNLK	A6
00022998 4e 75                    |Nu      |		RTS
0002299a ; --------------------------------------------------------------------------------------
0002299a ; OMSI PASCAL Function
0002299a ; --------------------------------------------------------------------------------------
0002299a 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
0002299e bf d5                    |        |		CMPA.L	(A5),A7
000229a0 62 06                    |b       |		BHI	0x229a8
000229a2 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000229a6 4e 76                    |Nv      |		TRAPV
000229a8 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
000229ac 48 e7 80 c0              |H       |		MOVEM.L	A1+A0+D0,-(A7)
000229b0 9e fc 00 12              |        |		SUBA.W	#0x12,A7
000229b4 20 4f                    | O      |		MOVEA.L	A7,A0
000229b6 43 fa e1 e8              |C       |		LEA.L	0x20ba0,A1
000229ba 70 10                    |p       |		MOVEQ.L	#0x10,D0
000229bc 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000229be 51 c8 ff fc              |Q       |		DBF	D0,0x229bc
000229c2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000229c4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000229c8 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
000229cc 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
000229d0 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000229d6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000229d8 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
000229de de fc 00 16              |        |		ADDA.W	#0x16,A7
000229e2 4c df 03 01              |L       |		MOVEM.L	(A7)+,D0+A0+A1
000229e6 4e 5e                    |N^      |		UNLK	A6
000229e8 4e 75                    |Nu      |		RTS
000229ea ; --------------------------------------------------------------------------------------
000229ea ; OMSI PASCAL Function
000229ea ; --------------------------------------------------------------------------------------
000229ea 4e 56 ff 70              |NV p    |		LINK.W	A6,#0xff70
000229ee bf d5                    |        |		CMPA.L	(A5),A7
000229f0 62 06                    |b       |		BHI	0x229f8
000229f2 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000229f6 4e 76                    |Nv      |		TRAPV
000229f8 de fc 00 8c              |        |		ADDA.W	#0x8c,A7
000229fc 48 e7 ff f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
00022a00 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00022a06 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00022a0c 49 f9 00 02 35 2b        |I   5+  |		LEA.L	0x2352b,A4
00022a12 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022a14 74 1c                    |t       |		MOVEQ.L	#0x1c,D2
00022a16 76 16                    |v       |		MOVEQ.L	#0x16,D3
00022a18 78 20                    |x       |		MOVEQ.L	#0x20,D4
00022a1a 7a 46                    |zF      |		MOVEQ.L	#0x46,D5
00022a1c 7c 4a                    ||J      |		MOVEQ.L	#0x4a,D6
00022a1e 9e fc 00 12              |        |		SUBA.W	#0x12,A7
00022a22 20 4f                    | O      |		MOVEA.L	A7,A0
00022a24 43 fa e1 8c              |C       |		LEA.L	0x20bb2,A1
00022a28 70 10                    |p       |		MOVEQ.L	#0x10,D0
00022a2a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022a2c 51 c8 ff fc              |Q       |		DBF	D0,0x22a2a
00022a30 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a32 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a36 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a38 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
00022a3c 4e 92                    |N       |		JSR	(A2)
00022a3e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a40 4e 93                    |N       |		JSR	(A3)
00022a42 de c3                    |        |		ADDA.W	D3,A7
00022a44 41 fa e1 96              |A       |		LEA.L	0x20bdc,A0
00022a48 70 05                    |p       |		MOVEQ.L	#0x05,D0
00022a4a 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022a4c 51 c8 ff fc              |Q       |		DBF	D0,0x22a4a
00022a50 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a52 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a56 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a58 3f 3c 00 18              |?<      |		MOVE.W	#0x18,-(A7)
00022a5c 4e 92                    |N       |		JSR	(A2)
00022a5e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a60 4e 93                    |N       |		JSR	(A3)
00022a62 de c2                    |        |		ADDA.W	D2,A7
00022a64 41 fa e1 a2              |A       |		LEA.L	0x20c08,A0
00022a68 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022a6a 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022a6c 51 c8 ff fc              |Q       |		DBF	D0,0x22a6a
00022a70 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a72 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a76 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a78 3f 3c 00 2c              |?< ,    |		MOVE.W	#0x2c,-(A7)
00022a7c 4e 92                    |N       |		JSR	(A2)
00022a7e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a80 4e 93                    |N       |		JSR	(A3)
00022a82 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
00022a86 41 fa e1 aa              |A       |		LEA.L	0x20c32,A0
00022a8a 70 14                    |p       |		MOVEQ.L	#0x14,D0
00022a8c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022a8e 51 c8 ff fc              |Q       |		DBF	D0,0x22a8c
00022a92 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a94 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a98 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a9a 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
00022a9e 4e 92                    |N       |		JSR	(A2)
00022aa0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022aa2 4e 93                    |N       |		JSR	(A3)
00022aa4 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022aa8 41 fa e1 c6              |A       |		LEA.L	0x20c70,A0
00022aac 70 1e                    |p       |		MOVEQ.L	#0x1e,D0
00022aae 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022ab0 51 c8 ff fc              |Q       |		DBF	D0,0x22aae
00022ab4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022ab6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022aba 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022abc 3f 3c 00 3e              |?< >    |		MOVE.W	#0x3e,-(A7)
00022ac0 4e 92                    |N       |		JSR	(A2)
00022ac2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ac4 4e 93                    |N       |		JSR	(A3)
00022ac6 de fc 00 42              |   B    |		ADDA.W	#0x42,A7
00022aca 41 fa e1 c0              |A       |		LEA.L	0x20c8c,A0
00022ace 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022ad0 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022ad2 51 c8 ff fc              |Q       |		DBF	D0,0x22ad0
00022ad6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022ad8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022adc 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022ade 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022ae0 4e 92                    |N       |		JSR	(A2)
00022ae2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ae4 4e 93                    |N       |		JSR	(A3)
00022ae6 de c4                    |        |		ADDA.W	D4,A7
00022ae8 41 fa e1 b8              |A       |		LEA.L	0x20ca2,A0
00022aec 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022aee 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022af0 51 c8 ff fc              |Q       |		DBF	D0,0x22aee
00022af4 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022af6 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022afa 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022afc 3f 03                    |?       |		MOVE.W	D3,-(A7)
00022afe 4e 92                    |N       |		JSR	(A2)
00022b00 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b02 48 78 00 00              |Hx      |		PEA.L	0x0
00022b06 48 78 00 04              |Hx      |		PEA.L	0x4
00022b0a 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022b10 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022b14 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00022b16 de c3                    |        |		ADDA.W	D3,A7
00022b18 20 07                    |        |		MOVE.L	D7,D0
00022b1a 0c 80 00 00 00 04        |        |		CMPI.L	#0x00000004,D0
00022b20 63 02                    |c       |		BLS	0x22b24
00022b22 4e 4e                    |NN      |		TRAP	#14
00022b24 d0 40                    | @      |		ADD.W	D0,D0
00022b26 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00022b2e 00 0a                    |        |		.CONST	0xa			; [0x0] -> 0x22b38
00022b30 00 0e                    |        |		.CONST	0xe			; [0x1] -> 0x22b3c
00022b32 00 4e                    | N      |		.CONST	0x4e			; [0x2] -> 0x22b7c
00022b34 00 98                    |        |		.CONST	0x98			; [0x3] -> 0x22bc6
00022b36 00 dc                    |        |		.CONST	0xdc			; [0x4] -> 0x22c0a
00022b38					switch@0x22b26[0x0]:
00022b38 60 00 02 98              |`       |		BRA	0x22dd2
00022b3c					switch@0x22b26[0x1]:
00022b3c 41 fa e1 72              |A  r    |		LEA.L	0x20cb0,A0
00022b40 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022b42 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022b44 51 c8 ff fc              |Q       |		DBF	D0,0x22b42
00022b48 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022b4a 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022b4e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022b50 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
00022b54 4e 92                    |N       |		JSR	(A2)
00022b56 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b58 10 14                    |        |		MOVE.B	(A4),D0
00022b5a 44 00                    |D       |		NEG.B	D0
00022b5c 52 00                    |R       |		ADDQ.B	#0x1,D0
00022b5e 48 80                    |H       |		EXTB.W	D0
00022b60 41 81                    |A       |		CHK.W	D1,D0
00022b62 1f 00                    |        |		MOVE.B	D0,-(A7)
00022b64 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
00022b6a 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022b6c 10 1f                    |        |		MOVE.B	(A7)+,D0
00022b6e 48 80                    |H       |		EXTB.W	D0
00022b70 41 81                    |A       |		CHK.W	D1,D0
00022b72 de fc 00 0e              |        |		ADDA.W	#0xe,A7
00022b76 18 80                    |        |		MOVE.B	D0,(A4)
00022b78 60 00 02 58              |`  X    |		BRA	0x22dd2
00022b7c					switch@0x22b26[0x2]:
00022b7c 9e c2                    |        |		SUBA.W	D2,A7
00022b7e 20 4f                    | O      |		MOVEA.L	A7,A0
00022b80 43 fa e1 2e              |C  .    |		LEA.L	0x20cb0,A1
00022b84 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
00022b86 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022b88 51 c8 ff fc              |Q       |		DBF	D0,0x22b86
00022b8c 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022b8e 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022b92 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022b94 3f 3c 00 1b              |?<      |		MOVE.W	#0x1b,-(A7)
00022b98 4e 92                    |N       |		JSR	(A2)
00022b9a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b9c 10 39 00 02 35 30        | 9  50  |		MOVE.B	0x23530,D0
00022ba2 44 00                    |D       |		NEG.B	D0
00022ba4 52 00                    |R       |		ADDQ.B	#0x1,D0
00022ba6 48 80                    |H       |		EXTB.W	D0
00022ba8 41 81                    |A       |		CHK.W	D1,D0
00022baa 1f 00                    |        |		MOVE.B	D0,-(A7)
00022bac 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
00022bb2 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022bb4 10 1f                    |        |		MOVE.B	(A7)+,D0
00022bb6 48 80                    |H       |		EXTB.W	D0
00022bb8 41 81                    |A       |		CHK.W	D1,D0
00022bba de c2                    |        |		ADDA.W	D2,A7
00022bbc 13 c0 00 02 35 30        |    50  |		MOVE.B	D0,0x23530
00022bc2 60 00 02 0e              |`       |		BRA	0x22dd2
00022bc6					switch@0x22b26[0x3]:
00022bc6 41 fa e1 24              |A  $    |		LEA.L	0x20cec,A0
00022bca 70 07                    |p       |		MOVEQ.L	#0x07,D0
00022bcc 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022bce 51 c8 ff fc              |Q       |		DBF	D0,0x22bcc
00022bd2 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022bd4 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022bd8 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022bda 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022bdc 4e 92                    |N       |		JSR	(A2)
00022bde 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022be0 10 39 00 02 35 2a        | 9  5*  |		MOVE.B	0x2352a,D0
00022be6 44 00                    |D       |		NEG.B	D0
00022be8 52 00                    |R       |		ADDQ.B	#0x1,D0
00022bea 48 80                    |H       |		EXTB.W	D0
00022bec 41 81                    |A       |		CHK.W	D1,D0
00022bee 1f 00                    |        |		MOVE.B	D0,-(A7)
00022bf0 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
00022bf6 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022bf8 10 1f                    |        |		MOVE.B	(A7)+,D0
00022bfa 48 80                    |H       |		EXTB.W	D0
00022bfc 41 81                    |A       |		CHK.W	D1,D0
00022bfe de c4                    |        |		ADDA.W	D4,A7
00022c00 13 c0 00 02 35 2a        |    5*  |		MOVE.B	D0,0x2352a
00022c06 60 00 01 ca              |`       |		BRA	0x22dd2
00022c0a					switch@0x22b26[0x4]:
00022c0a 41 fa e1 26              |A  &    |		LEA.L	0x20d32,A0
00022c0e 70 22                    |p"      |		MOVEQ.L	#0x22,D0
00022c10 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022c12 51 c8 ff fc              |Q       |		DBF	D0,0x22c10
00022c16 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c18 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c1c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022c1e 3f 05                    |?       |		MOVE.W	D5,-(A7)
00022c20 4e 92                    |N       |		JSR	(A2)
00022c22 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c24 4e 93                    |N       |		JSR	(A3)
00022c26 de c6                    |        |		ADDA.W	D6,A7
00022c28 41 fa e1 2c              |A  ,    |		LEA.L	0x20d56,A0
00022c2c 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022c2e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022c30 51 c8 ff fc              |Q       |		DBF	D0,0x22c2e
00022c34 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c36 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c3a 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022c3c 3f 3c 00 24              |?< $    |		MOVE.W	#0x24,-(A7)
00022c40 4e 92                    |N       |		JSR	(A2)
00022c42 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c44 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
00022c4a de fc 00 28              |   (    |		ADDA.W	#0x28,A7
00022c4e 4a 14                    |J       |		TST.B	(A4)
00022c50 67 1a                    |g       |		BEQ	0x22c6c
00022c52 3f 3a e2 5a              |?: Z    |		MOVE.W	0x20eae,-(A7)
00022c56 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c58 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c5c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022c5e 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
00022c62 4e 92                    |N       |		JSR	(A2)
00022c64 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c66 4e 93                    |N       |		JSR	(A3)
00022c68 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022c6a 60 26                    |`&      |		BRA	0x22c92
00022c6c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c6e 1e ba e2 40              |   @    |		MOVE.B	0x20eb0,(A7)
00022c72 1f 7a e2 3d 00 01        | z =    |		MOVE.B	0x20eb1,(A7+0x1)
00022c78 1f 7a e2 38 00 02        | z 8    |		MOVE.B	0x20eb2,(A7+0x2)
00022c7e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c80 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c84 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022c86 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
00022c8a 4e 92                    |N       |		JSR	(A2)
00022c8c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c8e 4e 93                    |N       |		JSR	(A3)
00022c90 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c92 41 fa e1 0a              |A       |		LEA.L	0x20d9e,A0
00022c96 70 11                    |p       |		MOVEQ.L	#0x11,D0
00022c98 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022c9a 51 c8 ff fc              |Q       |		DBF	D0,0x22c98
00022c9e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022ca0 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022ca4 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022ca6 3f 3c 00 48              |?< H    |		MOVE.W	#0x48,-(A7)
00022caa 4e 92                    |N       |		JSR	(A2)
00022cac 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022cae 4e 93                    |N       |		JSR	(A3)
00022cb0 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022cb2 20 4f                    | O      |		MOVEA.L	A7,A0
00022cb4 43 fa e0 e8              |C       |		LEA.L	0x20d9e,A1
00022cb8 70 44                    |pD      |		MOVEQ.L	#0x44,D0
00022cba 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022cbc 51 c8 ff fc              |Q       |		DBF	D0,0x22cba
00022cc0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022cc2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022cc6 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022cc8 3f 3c 00 45              |?< E    |		MOVE.W	#0x45,-(A7)
00022ccc 4e 92                    |N       |		JSR	(A2)
00022cce 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022cd0 4e 93                    |N       |		JSR	(A3)
00022cd2 de c6                    |        |		ADDA.W	D6,A7
00022cd4 41 fa e1 54              |A  T    |		LEA.L	0x20e2a,A0
00022cd8 70 22                    |p"      |		MOVEQ.L	#0x22,D0
00022cda 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022cdc 51 c8 ff fc              |Q       |		DBF	D0,0x22cda
00022ce0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022ce2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022ce6 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022ce8 3f 05                    |?       |		MOVE.W	D5,-(A7)
00022cea 4e 92                    |N       |		JSR	(A2)
00022cec 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022cee 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
00022cf4 de c6                    |        |		ADDA.W	D6,A7
00022cf6 4a 39 00 02 35 30        |J9  50  |		TST.B	0x23530
00022cfc 67 1a                    |g       |		BEQ	0x22d18
00022cfe 3f 3a e1 b4              |?:      |		MOVE.W	0x20eb4,-(A7)
00022d02 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d04 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d08 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d0a 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
00022d0e 4e 92                    |N       |		JSR	(A2)
00022d10 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d12 4e 93                    |N       |		JSR	(A3)
00022d14 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022d16 60 26                    |`&      |		BRA	0x22d3e
00022d18 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d1a 1e ba e1 9a              |        |		MOVE.B	0x20eb6,(A7)
00022d1e 1f 7a e1 97 00 01        | z      |		MOVE.B	0x20eb7,(A7+0x1)
00022d24 1f 7a e1 92 00 02        | z      |		MOVE.B	0x20eb8,(A7+0x2)
00022d2a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d2c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d30 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d32 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
00022d36 4e 92                    |N       |		JSR	(A2)
00022d38 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d3a 4e 93                    |N       |		JSR	(A3)
00022d3c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d3e 41 fa e1 2c              |A  ,    |		LEA.L	0x20e6c,A0
00022d42 70 20                    |p       |		MOVEQ.L	#0x20,D0
00022d44 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022d46 51 c8 ff fc              |Q       |		DBF	D0,0x22d44
00022d4a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d4c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d50 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d52 3f 3c 00 42              |?< B    |		MOVE.W	#0x42,-(A7)
00022d56 4e 92                    |N       |		JSR	(A2)
00022d58 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d5a 4e 93                    |N       |		JSR	(A3)
00022d5c 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022d5e 20 4f                    | O      |		MOVEA.L	A7,A0
00022d60 43 fa e1 0a              |C       |		LEA.L	0x20e6c,A1
00022d64 70 40                    |p@      |		MOVEQ.L	#0x40,D0
00022d66 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022d68 51 c8 ff fc              |Q       |		DBF	D0,0x22d66
00022d6c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d6e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d72 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d74 3f 3c 00 41              |?< A    |		MOVE.W	#0x41,-(A7)
00022d78 4e 92                    |N       |		JSR	(A2)
00022d7a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d7c 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
00022d82 de c5                    |        |		ADDA.W	D5,A7
00022d84 4a 39 00 02 35 2a        |J9  5*  |		TST.B	0x2352a
00022d8a 67 1a                    |g       |		BEQ	0x22da6
00022d8c 3f 3a e1 2c              |?: ,    |		MOVE.W	0x20eba,-(A7)
00022d90 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d92 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d96 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d98 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
00022d9c 4e 92                    |N       |		JSR	(A2)
00022d9e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022da0 4e 93                    |N       |		JSR	(A3)
00022da2 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022da4 60 26                    |`&      |		BRA	0x22dcc
00022da6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022da8 1e ba e1 12              |        |		MOVE.B	0x20ebc,(A7)
00022dac 1f 7a e1 0f 00 01        | z      |		MOVE.B	0x20ebd,(A7+0x1)
00022db2 1f 7a e1 0a 00 02        | z      |		MOVE.B	0x20ebe,(A7+0x2)
00022db8 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022dba 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022dbe 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022dc0 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
00022dc4 4e 92                    |N       |		JSR	(A2)
00022dc6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022dc8 4e 93                    |N       |		JSR	(A3)
00022dca 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022dcc 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00022dd2 4a 87                    |J       |		TST.L	D7
00022dd4 66 00 fc 48              |f  H    |		BNE	0x22a1e
00022dd8 4c df 1f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4
00022ddc 4e 5e                    |N^      |		UNLK	A6
00022dde 4e 75                    |Nu      |		RTS
00022de0 ; --------------------------------------------------------------------------------------
00022de0 ; OMSI PASCAL Function
00022de0 ; --------------------------------------------------------------------------------------
00022de0 4e 56 ff 9c              |NV      |		LINK.W	A6,#0xff9c
00022de4 bf d5                    |        |		CMPA.L	(A5),A7
00022de6 62 06                    |b       |		BHI	0x22dee
00022de8 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022dec 4e 76                    |Nv      |		TRAPV
00022dee de fc 00 60              |   `    |		ADDA.W	#0x60,A7
00022df2 48 e7 fd e0              |H       |		MOVEM.L	A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7)
00022df6 43 f9 00 01 02 c4        |C       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A1
00022dfc 45 f9 00 01 03 e0        |E       |		LEA.L	WriteConsoleStringCrLf(str : String),A2
00022e02 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022e04 74 24                    |t$      |		MOVEQ.L	#0x24,D2
00022e06 76 28                    |v(      |		MOVEQ.L	#0x28,D3
00022e08 78 20                    |x       |		MOVEQ.L	#0x20,D4
00022e0a 7a 16                    |z       |		MOVEQ.L	#0x16,D5
00022e0c 41 fa e0 c0              |A       |		LEA.L	0x20ece,A0
00022e10 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022e12 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022e14 51 c8 ff fc              |Q       |		DBF	D0,0x22e12
00022e18 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022e1a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022e1e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022e20 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
00022e24 4e 91                    |N       |		JSR	(A1)
00022e26 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022e28 4e 92                    |N       |		JSR	(A2)
00022e2a de fc 00 12              |        |		ADDA.W	#0x12,A7
00022e2e 41 fa e0 c6              |A       |		LEA.L	0x20ef6,A0
00022e32 70 09                    |p       |		MOVEQ.L	#0x09,D0
00022e34 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022e36 51 c8 ff fc              |Q       |		DBF	D0,0x22e34
00022e3a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022e3c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022e40 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022e42 3f 03                    |?       |		MOVE.W	D3,-(A7)
00022e44 4e 91                    |N       |		JSR	(A1)
00022e46 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022e48 4e 92                    |N       |		JSR	(A2)
00022e4a de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00022e4e 41 fa e0 ca              |A       |		LEA.L	0x20f1a,A0
00022e52 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022e54 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022e56 51 c8 ff fc              |Q       |		DBF	D0,0x22e54
00022e5a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022e5c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022e60 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022e62 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022e64 4e 91                    |N       |		JSR	(A1)
00022e66 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022e68 4e 92                    |N       |		JSR	(A2)
00022e6a de c3                    |        |		ADDA.W	D3,A7
00022e6c 41 fa e0 d0              |A       |		LEA.L	0x20f3e,A0
00022e70 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022e72 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022e74 51 c8 ff fc              |Q       |		DBF	D0,0x22e72
00022e78 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022e7a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022e7e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022e80 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022e82 4e 91                    |N       |		JSR	(A1)
00022e84 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022e86 4e 92                    |N       |		JSR	(A2)
00022e88 de c3                    |        |		ADDA.W	D3,A7
00022e8a 41 fa e0 d2              |A       |		LEA.L	0x20f5e,A0
00022e8e 70 07                    |p       |		MOVEQ.L	#0x07,D0
00022e90 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022e92 51 c8 ff fc              |Q       |		DBF	D0,0x22e90
00022e96 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022e98 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022e9c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022e9e 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022ea0 4e 91                    |N       |		JSR	(A1)
00022ea2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ea4 4e 92                    |N       |		JSR	(A2)
00022ea6 de c2                    |        |		ADDA.W	D2,A7
00022ea8 41 fa e0 d4              |A       |		LEA.L	0x20f7e,A0
00022eac 70 07                    |p       |		MOVEQ.L	#0x07,D0
00022eae 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022eb0 51 c8 ff fc              |Q       |		DBF	D0,0x22eae
00022eb4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022eb6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022eba 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022ebc 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022ebe 4e 91                    |N       |		JSR	(A1)
00022ec0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ec2 4e 92                    |N       |		JSR	(A2)
00022ec4 de c2                    |        |		ADDA.W	D2,A7
00022ec6 41 fa e0 d2              |A       |		LEA.L	0x20f9a,A0
00022eca 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022ecc 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022ece 51 c8 ff fc              |Q       |		DBF	D0,0x22ecc
00022ed2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022ed4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022ed8 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022eda 3f 3c 00 1c              |?<      |		MOVE.W	#0x1c,-(A7)
00022ede 4e 91                    |N       |		JSR	(A1)
00022ee0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ee2 4e 92                    |N       |		JSR	(A2)
00022ee4 de c4                    |        |		ADDA.W	D4,A7
00022ee6 41 fa e0 c8              |A       |		LEA.L	0x20fb0,A0
00022eea 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022eec 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022eee 51 c8 ff fc              |Q       |		DBF	D0,0x22eec
00022ef2 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022ef4 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022ef8 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022efa 3f 05                    |?       |		MOVE.W	D5,-(A7)
00022efc 4e 91                    |N       |		JSR	(A1)
00022efe 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022f00 48 78 00 00              |Hx      |		PEA.L	0x0
00022f04 48 78 00 05              |Hx      |		PEA.L	0x5
00022f08 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022f0e de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022f12 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00022f14 de c5                    |        |		ADDA.W	D5,A7
00022f16 20 07                    |        |		MOVE.L	D7,D0
00022f18 0c 80 00 00 00 05        |        |		CMPI.L	#0x00000005,D0
00022f1e 63 02                    |c       |		BLS	0x22f22
00022f20 4e 4e                    |NN      |		TRAP	#14
00022f22 d0 40                    | @      |		ADD.W	D0,D0
00022f24 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00022f2c 00 0c                    |        |		.CONST	0xc			; [0x0] -> 0x22f38
00022f2e 00 0e                    |        |		.CONST	0xe			; [0x1] -> 0x22f3a
00022f30 00 0e                    |        |		.CONST	0xe			; [0x2] -> 0x22f3a
00022f32 00 26                    | &      |		.CONST	0x26			; [0x3] -> 0x22f52
00022f34 00 26                    | &      |		.CONST	0x26			; [0x4] -> 0x22f52
00022f36 00 26                    | &      |		.CONST	0x26			; [0x5] -> 0x22f52
00022f38					switch@0x22f24[0x0]:
00022f38 60 30                    |`0      |		BRA	0x22f6a
00022f3a					switch@0x22f24[0x1]:
00022f3a					switch@0x22f24[0x2]:
00022f3a 20 07                    |        |		MOVE.L	D7,D0
00022f3c 53 80                    |S       |		SUBQ.L	#0x1,D0
00022f3e 0c 80 00 00 ff ff        |        |		CMPI.L	#0x0000ffff,D0
00022f44 63 02                    |c       |		BLS	0x22f48
00022f46 4e 4f                    |NO      |		TRAP	#15
00022f48 3f 00                    |?       |		MOVE.W	D0,-(A7)
00022f4a 4e b9 00 01 02 2c        |N    ,  |		JSR	KC16_Clock_Margin
00022f50 60 16                    |`       |		BRA	0x22f68
00022f52					switch@0x22f24[0x3]:
00022f52					switch@0x22f24[0x4]:
00022f52					switch@0x22f24[0x5]:
00022f52 20 07                    |        |		MOVE.L	D7,D0
00022f54 57 80                    |W       |		SUBQ.L	#0x3,D0
00022f56 0c 80 00 00 ff ff        |        |		CMPI.L	#0x0000ffff,D0
00022f5c 63 02                    |c       |		BLS	0x22f60
00022f5e 4e 4f                    |NO      |		TRAP	#15
00022f60 3f 00                    |?       |		MOVE.W	D0,-(A7)
00022f62 4e b9 00 01 02 2e        |N    .  |		JSR	KC17_Power_Margin
00022f68 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022f6a 4a 87                    |J       |		TST.L	D7
00022f6c 66 00 fe 9e              |f       |		BNE	0x22e0c
00022f70 4c df 07 bf              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2
00022f74 4e 5e                    |N^      |		UNLK	A6
00022f76 4e 75                    |Nu      |		RTS
00022f78 ; --------------------------------------------------------------------------------------
00022f78 ; OMSI PASCAL Function
00022f78 ; --------------------------------------------------------------------------------------
00022f78 4e 56 ff ae              |NV      |		LINK.W	A6,#0xffae
00022f7c bf d5                    |        |		CMPA.L	(A5),A7
00022f7e 62 06                    |b       |		BHI	0x22f86
00022f80 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022f84 4e 76                    |Nv      |		TRAPV
00022f86 de fc 00 4e              |   N    |		ADDA.W	#0x4e,A7
00022f8a 48 e7 80 80              |H       |		MOVEM.L	A0+D0,-(A7)
00022f8e 41 fa e0 56              |A  V    |		LEA.L	0x20fe6,A0
00022f92 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
00022f94 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022f96 51 c8 ff fc              |Q       |		DBF	D0,0x22f94
00022f9a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022f9c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022fa0 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
00022fa4 3f 3c 00 36              |?< 6    |		MOVE.W	#0x36,-(A7)
00022fa8 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00022fae 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022fb0 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00022fb6 de fc 00 3a              |   :    |		ADDA.W	#0x3a,A7
00022fba 4c df 01 01              |L       |		MOVEM.L	(A7)+,D0+A0
00022fbe 4e 5e                    |N^      |		UNLK	A6
00022fc0 4e 75                    |Nu      |		RTS
00022fc2 ; --------------------------------------------------------------------------------------
00022fc2 ; OMSI PASCAL Function
00022fc2 ; --------------------------------------------------------------------------------------
00022fc2 4e 56 ff 8c              |NV      |		LINK.W	A6,#0xff8c
00022fc6 bf d5                    |        |		CMPA.L	(A5),A7
00022fc8 62 06                    |b       |		BHI	0x22fd0
00022fca 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022fce 4e 76                    |Nv      |		TRAPV
00022fd0 de fc 00 70              |   p    |		ADDA.W	#0x70,A7
00022fd4 48 e7 f9 f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D4+D3+D2+D1+D0,-(A7)
00022fd8 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00022fde 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00022fe4 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022fe6 74 0a                    |t       |		MOVEQ.L	#0x0a,D2
00022fe8 76 24                    |v$      |		MOVEQ.L	#0x24,D3
00022fea 78 16                    |x       |		MOVEQ.L	#0x16,D4
00022fec 9e c2                    |        |		SUBA.W	D2,A7
00022fee 20 4f                    | O      |		MOVEA.L	A7,A0
00022ff0 43 fa e1 98              |C       |		LEA.L	0x2118a,A1
00022ff4 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022ff6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022ff8 51 c8 ff fc              |Q       |		DBF	D0,0x22ff6
00022ffc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022ffe 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023002 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023004 3f 3c 00 09              |?<      |		MOVE.W	#0x9,-(A7)
00023008 4e 92                    |N       |		JSR	(A2)
0002300a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002300c 4e 93                    |N       |		JSR	(A3)
0002300e de fc 00 0e              |        |		ADDA.W	#0xe,A7
00023012 41 fa e1 a4              |A       |		LEA.L	0x211b8,A0
00023016 70 08                    |p       |		MOVEQ.L	#0x08,D0
00023018 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002301a 51 c8 ff fc              |Q       |		DBF	D0,0x23018
0002301e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023020 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023024 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023026 3f 03                    |?       |		MOVE.W	D3,-(A7)
00023028 4e 92                    |N       |		JSR	(A2)
0002302a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002302c 4e 93                    |N       |		JSR	(A3)
0002302e de fc 00 28              |   (    |		ADDA.W	#0x28,A7
00023032 41 fa e1 b6              |A       |		LEA.L	0x211ea,A0
00023036 70 18                    |p       |		MOVEQ.L	#0x18,D0
00023038 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002303a 51 c8 ff fc              |Q       |		DBF	D0,0x23038
0002303e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023040 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023044 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023046 3f 3c 00 32              |?< 2    |		MOVE.W	#0x32,-(A7)
0002304a 4e 92                    |N       |		JSR	(A2)
0002304c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002304e 4e 93                    |N       |		JSR	(A3)
00023050 de fc 00 36              |   6    |		ADDA.W	#0x36,A7
00023054 41 fa e1 b0              |A       |		LEA.L	0x21206,A0
00023058 70 06                    |p       |		MOVEQ.L	#0x06,D0
0002305a 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002305c 51 c8 ff fc              |Q       |		DBF	D0,0x2305a
00023060 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023062 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023066 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023068 3f 3c 00 1c              |?<      |		MOVE.W	#0x1c,-(A7)
0002306c 4e 92                    |N       |		JSR	(A2)
0002306e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023070 4e 93                    |N       |		JSR	(A3)
00023072 9e fc 00 10              |        |		SUBA.W	#0x10,A7
00023076 20 4f                    | O      |		MOVEA.L	A7,A0
00023078 43 fa e1 8c              |C       |		LEA.L	0x21206,A1
0002307c 70 2e                    |p.      |		MOVEQ.L	#0x2e,D0
0002307e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00023080 51 c8 ff fc              |Q       |		DBF	D0,0x2307e
00023084 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023086 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002308a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002308c 3f 3c 00 2f              |?< /    |		MOVE.W	#0x2f,-(A7)
00023090 4e 92                    |N       |		JSR	(A2)
00023092 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023094 4e 93                    |N       |		JSR	(A3)
00023096 de fc 00 34              |   4    |		ADDA.W	#0x34,A7
0002309a 41 fa e1 be              |A       |		LEA.L	0x2125a,A0
0002309e 70 08                    |p       |		MOVEQ.L	#0x08,D0
000230a0 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000230a2 51 c8 ff fc              |Q       |		DBF	D0,0x230a0
000230a6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000230a8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000230ac 3f 01                    |?       |		MOVE.W	D1,-(A7)
000230ae 3f 03                    |?       |		MOVE.W	D3,-(A7)
000230b0 4e 92                    |N       |		JSR	(A2)
000230b2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000230b4 4e 93                    |N       |		JSR	(A3)
000230b6 de c2                    |        |		ADDA.W	D2,A7
000230b8 20 4f                    | O      |		MOVEA.L	A7,A0
000230ba 43 fa e1 9e              |C       |		LEA.L	0x2125a,A1
000230be 70 1c                    |p       |		MOVEQ.L	#0x1c,D0
000230c0 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000230c2 51 c8 ff fc              |Q       |		DBF	D0,0x230c0
000230c6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000230c8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000230cc 3f 01                    |?       |		MOVE.W	D1,-(A7)
000230ce 3f 3c 00 1d              |?<      |		MOVE.W	#0x1d,-(A7)
000230d2 4e 92                    |N       |		JSR	(A2)
000230d4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000230d6 4e 93                    |N       |		JSR	(A3)
000230d8 de fc 00 22              |   "    |		ADDA.W	#0x22,A7
000230dc 41 fa e1 d2              |A       |		LEA.L	0x212b0,A0
000230e0 70 0d                    |p       |		MOVEQ.L	#0x0d,D0
000230e2 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000230e4 51 c8 ff fc              |Q       |		DBF	D0,0x230e2
000230e8 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000230ea 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000230ee 3f 01                    |?       |		MOVE.W	D1,-(A7)
000230f0 3f 3c 00 38              |?< 8    |		MOVE.W	#0x38,-(A7)
000230f4 4e 92                    |N       |		JSR	(A2)
000230f6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000230f8 4e 93                    |N       |		JSR	(A3)
000230fa de fc 00 18              |        |		ADDA.W	#0x18,A7
000230fe 20 4f                    | O      |		MOVEA.L	A7,A0
00023100 43 fa e1 ae              |C       |		LEA.L	0x212b0,A1
00023104 70 22                    |p"      |		MOVEQ.L	#0x22,D0
00023106 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00023108 51 c8 ff fc              |Q       |		DBF	D0,0x23106
0002310c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002310e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023112 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023114 3f 3c 00 23              |?< #    |		MOVE.W	#0x23,-(A7)
00023118 4e 92                    |N       |		JSR	(A2)
0002311a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002311c 4e 93                    |N       |		JSR	(A3)
0002311e de fc 00 1a              |        |		ADDA.W	#0x1a,A7
00023122 20 4f                    | O      |		MOVEA.L	A7,A0
00023124 43 fa e1 ae              |C       |		LEA.L	0x212d4,A1
00023128 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
0002312a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002312c 51 c8 ff fc              |Q       |		DBF	D0,0x2312a
00023130 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023132 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023136 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023138 3f 3c 00 0d              |?<      |		MOVE.W	#0xd,-(A7)
0002313c 4e 92                    |N       |		JSR	(A2)
0002313e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023140 4e 93                    |N       |		JSR	(A3)
00023142 de fc 00 12              |        |		ADDA.W	#0x12,A7
00023146 41 fa e1 b0              |A       |		LEA.L	0x212f8,A0
0002314a 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
0002314c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002314e 51 c8 ff fc              |Q       |		DBF	D0,0x2314c
00023152 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00023154 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00023158 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002315a 3f 04                    |?       |		MOVE.W	D4,-(A7)
0002315c 4e 92                    |N       |		JSR	(A2)
0002315e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023160 48 78 00 00              |Hx      |		PEA.L	0x0
00023164 48 78 00 08              |Hx      |		PEA.L	0x8
00023168 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
0002316e de fc 00 0c              |        |		ADDA.W	#0xc,A7
00023172 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00023174 de c4                    |        |		ADDA.W	D4,A7
00023176 20 07                    |        |		MOVE.L	D7,D0
00023178 0c 80 00 00 00 08        |        |		CMPI.L	#0x00000008,D0
0002317e 63 02                    |c       |		BLS	0x23182
00023180 4e 4e                    |NN      |		TRAP	#14
00023182 d0 40                    | @      |		ADD.W	D0,D0
00023184 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
0002318c 00 12                    |        |		.CONST	0x12			; [0x0] -> 0x2319e
0002318e 00 14                    |        |		.CONST	0x14			; [0x1] -> 0x231a0
00023190 00 1a                    |        |		.CONST	0x1a			; [0x2] -> 0x231a6
00023192 00 20                    |        |		.CONST	0x20			; [0x3] -> 0x231ac
00023194 00 26                    | &      |		.CONST	0x26			; [0x4] -> 0x231b2
00023196 00 2c                    | ,      |		.CONST	0x2c			; [0x5] -> 0x231b8
00023198 00 32                    | 2      |		.CONST	0x32			; [0x6] -> 0x231be
0002319a 00 38                    | 8      |		.CONST	0x38			; [0x7] -> 0x231c4
0002319c 00 3e                    | >      |		.CONST	0x3e			; [0x8] -> 0x231ca
0002319e					switch@0x23184[0x0]:
0002319e 60 2e                    |`.      |		BRA	0x231ce
000231a0					switch@0x23184[0x1]:
000231a0 4e ba e3 18              |N       |		JSR	0x214ba
000231a4 60 28                    |`(      |		BRA	0x231ce
000231a6					switch@0x23184[0x2]:
000231a6 4e ba e3 62              |N  b    |		JSR	0x2150a
000231aa 60 22                    |`"      |		BRA	0x231ce
000231ac					switch@0x23184[0x3]:
000231ac 4e ba f6 88              |N       |		JSR	0x22836
000231b0 60 1c                    |`       |		BRA	0x231ce
000231b2					switch@0x23184[0x4]:
000231b2 4e ba f7 e6              |N       |		JSR	0x2299a
000231b6 60 16                    |`       |		BRA	0x231ce
000231b8					switch@0x23184[0x5]:
000231b8 4e ba fc 26              |N  &    |		JSR	0x22de0
000231bc 60 10                    |`       |		BRA	0x231ce
000231be					switch@0x23184[0x6]:
000231be 4e ba f8 2a              |N  *    |		JSR	0x229ea
000231c2 60 0a                    |`       |		BRA	0x231ce
000231c4					switch@0x23184[0x7]:
000231c4 4e ba fd b2              |N       |		JSR	0x22f78
000231c8 60 04                    |`       |		BRA	0x231ce
000231ca					switch@0x23184[0x8]:
000231ca 4e ba e4 12              |N       |		JSR	0x215de
000231ce 4a 87                    |J       |		TST.L	D7
000231d0 66 00 fe 1a              |f       |		BNE	0x22fec
000231d4 4c df 0f 9f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D7+A0+A1+A2+A3
000231d8 4e 5e                    |N^      |		UNLK	A6
000231da 4e 75                    |Nu      |		RTS
000231dc ; --------------------------------------------------------------------------------------
000231dc ; OMSI PASCAL Function
000231dc ;    <LVAR -0x004 @>
000231dc ; --------------------------------------------------------------------------------------
000231dc 4e 56 ff d0              |NV      |		LINK.W	A6,#0xffd0
000231e0 bf d5                    |        |		CMPA.L	(A5),A7
000231e2 62 06                    |b       |		BHI	0x231ea
000231e4 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000231e8 4e 76                    |Nv      |		TRAPV
000231ea de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
000231ee 48 e7 c0 c0              |H       |		MOVEM.L	A1+A0+D1+D0,-(A7)
000231f2 72 01                    |r       |		MOVEQ.L	#0x01,D1
000231f4 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
000231fa 1f 01                    |        |		MOVE.B	D1,-(A7)
000231fc 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00023202 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00023204 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
0002320a 9e fc 00 0a              |        |		SUBA.W	#0xa,A7
0002320e 20 4f                    | O      |		MOVEA.L	A7,A0
00023210 43 fa e0 e6              |C       |		LEA.L	0x212f8,A1
00023214 70 08                    |p       |		MOVEQ.L	#0x08,D0
00023216 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00023218 51 c8 ff fc              |Q       |		DBF	D0,0x23216
0002321c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002321e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023222 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023224 3f 3c 00 09              |?<      |		MOVE.W	#0x9,-(A7)
00023228 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002322e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023230 48 78 00 01              |Hx      |		PEA.L	0x1
00023234 1f 01                    |        |		MOVE.B	D1,-(A7)
00023236 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
0002323a 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00023240 de fc 00 18              |        |		ADDA.W	#0x18,A7
00023244 4c df 03 03              |L       |		MOVEM.L	(A7)+,D0+D1+A0+A1
00023248 4e 5e                    |N^      |		UNLK	A6
0002324a 4e 75                    |Nu      |		RTS
0002324c ; --------------------------------------------------------------------------------------
0002324c ; OMSI PASCAL Function
0002324c ; --------------------------------------------------------------------------------------
0002324c					START:
0002324c 4f fa 00 08              |O       |		LEA.L	MAIN,A7
00023250 4e f9 00 01 02 80        |N       |		JMP	?start_program
00023256					MAIN:
00023256 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
0002325c 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002325e 74 16                    |t       |		MOVEQ.L	#0x16,D2
00023260 4e b9 00 01 03 98        |N       |		JSR	FSCALL_10398
00023266 41 fa e0 be              |A       |		LEA.L	0x21326,A0
0002326a 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002326c 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002326e 51 c8 ff fc              |Q       |		DBF	D0,0x2326c
00023272 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023274 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00023278 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002327a 3f 3c 00 24              |?< $    |		MOVE.W	#0x24,-(A7)
0002327e 4e 92                    |N       |		JSR	(A2)
00023280 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023282 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00023288 de c2                    |        |		ADDA.W	D2,A7
0002328a 20 4f                    | O      |		MOVEA.L	A7,A0
0002328c 43 fa e0 98              |C       |		LEA.L	0x21326,A1
00023290 70 10                    |p       |		MOVEQ.L	#0x10,D0
00023292 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00023294 51 c8 ff fc              |Q       |		DBF	D0,0x23292
00023298 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002329a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002329e 3f 01                    |?       |		MOVE.W	D1,-(A7)
000232a0 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
000232a4 4e 92                    |N       |		JSR	(A2)
000232a6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000232a8 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
000232ae de c2                    |        |		ADDA.W	D2,A7
000232b0 13 c1 00 02 35 2b        |    5+  |		MOVE.B	D1,0x2352b
000232b6 13 c1 00 02 35 2a        |    5*  |		MOVE.B	D1,0x2352a
000232bc 13 c1 00 02 35 30        |    50  |		MOVE.B	D1,0x23530
000232c2 42 b9 00 02 35 2c        |B   5,  |		CLR.L	0x2352c
000232c8 48 79 00 02 35 32        |Hy  52  |		PEA.L	0x23532
000232ce 4e b9 00 01 02 b8        |N       |		JSR	NewString(VAR a : String)
000232d4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000232d6 4e ba ff 04              |N       |		JSR	0x231dc
000232da 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
000232dc 20 4f                    | O      |		MOVEA.L	A7,A0
000232de 43 fa e0 58              |C  X    |		LEA.L	0x21338,A1
000232e2 70 04                    |p       |		MOVEQ.L	#0x04,D0
000232e4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000232e6 51 c8 ff fc              |Q       |		DBF	D0,0x232e4
000232ea 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000232ec 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000232f0 3f 01                    |?       |		MOVE.W	D1,-(A7)
000232f2 3f 3c 00 05              |?<      |		MOVE.W	#0x5,-(A7)
000232f6 4e 92                    |N       |		JSR	(A2)
000232f8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000232fa 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00023300 de fc 00 0a              |        |		ADDA.W	#0xa,A7
00023304 4e ba fc bc              |N       |		JSR	0x22fc2
00023308 42 27                    |B'      |		CLR.B	-(A7)
0002330a 48 78 00 01              |Hx      |		PEA.L	0x1
0002330e 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00023314 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00023316 4e b9 00 01 02 84        |N       |		JSR	?exit
0002331c 57 6f 72 64 73 20 65 72  |Words er|		.TXT	'Words error :_'
0002332a ; --------------------------------------------------------------------------------------
0002332a ; OMSI PASCAL Function
0002332a ;    <LVAR  0x008 1(r)>
0002332a ; --------------------------------------------------------------------------------------
0002332a					PROG_FAIL:
0002332a 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
0002332e bf d5                    |        |		CMPA.L	(A5),A7
00023330 62 06                    |b       |		BHI	0x23338
00023332 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00023336 4e 76                    |Nv      |		TRAPV
00023338 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
0002333c 48 e7 80 80              |H       |		MOVEM.L	A0+D0,-(A7)
00023340 41 fa ff e8              |A       |		LEA.L	PROG_FAIL,A0
00023344 70 06                    |p       |		MOVEQ.L	#0x06,D0
00023346 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00023348 51 c8 ff fc              |Q       |		DBF	D0,0x23346
0002334c 1f 3c 00 03              | <      |		MOVE.B	#0x03,-(A7)
00023350 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00023352 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
00023356 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
0002335a 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
0002335e 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00023364 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00023366 10 2e 00 08              | .      |		MOVE.B	(A6+0x8),D0
0002336a 48 80                    |H       |		EXTB.W	D0
0002336c 48 c0                    |H       |		EXTW.L	D0
0002336e 2f 00                    |/       |		MOVE.L	D0,-(A7)
00023370 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
00023376 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00023378 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
0002337e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023380 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00023386 de fc 00 14              |        |		ADDA.W	#0x14,A7
0002338a 4c df 01 01              |L       |		MOVEM.L	(A7)+,D0+A0
0002338e 4e 5e                    |N^      |		UNLK	A6
00023390 4e 75                    |Nu      |		RTS
00023392 42 6f 61 72 64 20 20 20  |Board   |		.TXT	'Board      :_ '
000233a0 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment :_ '
000233ae 53 74 61 74 75 73 20 20  |Status  |		.TXT	'Status     :_ '
000233bc 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment error :'
000233ce 46 61 74 61 6c 20 65 78  |Fatal ex|		.TXT	'Fatal experiment error. '
000233e6 ; --------------------------------------------------------------------------------------
000233e6 ; OMSI PASCAL Function
000233e6 ;    <LVAR  0x00e 1(r)>
000233e6 ;    <LVAR  0x00a 4(r)>
000233e6 ;    <LVAR  0x008 1(r)>
000233e6 ; --------------------------------------------------------------------------------------
000233e6					EXP_FAIL:
000233e6 4e 56 ff 8c              |NV      |		LINK.W	A6,#0xff8c
000233ea bf d5                    |        |		CMPA.L	(A5),A7
000233ec 62 06                    |b       |		BHI	0x233f4
000233ee 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000233f2 4e 76                    |Nv      |		TRAPV
000233f4 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
000233f8 48 e7 fc f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7)
000233fc 47 f9 00 01 02 c4        |G       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A3
00023402 49 f9 00 01 03 e0        |I       |		LEA.L	WriteConsoleStringCrLf(str : String),A4
00023408 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002340a 74 0d                    |t       |		MOVEQ.L	#0x0d,D2
0002340c 76 1e                    |v       |		MOVEQ.L	#0x1e,D3
0002340e 78 12                    |x       |		MOVEQ.L	#0x12,D4
00023410 7a 0e                    |z       |		MOVEQ.L	#0x0e,D5
00023412 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00023418 41 fa ff b4              |A       |		LEA.L	0x233ce,A0
0002341c 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002341e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00023420 51 c8 ff fc              |Q       |		DBF	D0,0x2341e
00023424 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023426 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002342a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002342c 3f 04                    |?       |		MOVE.W	D4,-(A7)
0002342e 4e 93                    |N       |		JSR	(A3)
00023430 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023432 4e 94                    |N       |		JSR	(A4)
00023434 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023436 20 4f                    | O      |		MOVEA.L	A7,A0
00023438 43 fa ff 58              |C  X    |		LEA.L	0x23392,A1
0002343c 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
0002343e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00023440 51 c8 ff fc              |Q       |		DBF	D0,0x2343e
00023444 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00023446 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
0002344a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002344c 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002344e 4e 93                    |N       |		JSR	(A3)
00023450 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00023452 1e ae 00 0e              |        |		MOVE.B	(A6+0xe),(A7)
00023456 4e b9 00 01 04 9c        |N       |		JSR	BoardName(address : B) : String
0002345c 54 4f                    |TO      |		ADDQ.L	#0x2,A7
0002345e 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00023464 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023466 4e 94                    |N       |		JSR	(A4)
00023468 de c4                    |        |		ADDA.W	D4,A7
0002346a 20 6e 00 0a              | n      |		MOVEA.L	(A6+0xa),A0
0002346e b0 c1                    |        |		CMPA.W	D1,A0
00023470 67 48                    |gH      |		BEQ	0x234ba
00023472 9e c5                    |        |		SUBA.W	D5,A7
00023474 22 4f                    |"O      |		MOVEA.L	A7,A1
00023476 45 fa ff 28              |E  (    |		LEA.L	0x233a0,A2
0002347a 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
0002347c 12 da                    |        |		MOVE.B	(A2)+,(A1)+
0002347e 51 c8 ff fc              |Q       |		DBF	D0,0x2347c
00023482 9e c3                    |        |		SUBA.W	D3,A7
00023484 22 4f                    |"O      |		MOVEA.L	A7,A1
00023486 41 e8 00 fc              |A       |		LEA.L	(A0+0xfc),A0
0002348a 70 1d                    |p       |		MOVEQ.L	#0x1d,D0
0002348c 12 d8                    |        |		MOVE.B	(A0)+,(A1)+
0002348e 51 c8 ff fc              |Q       |		DBF	D0,0x2348c
00023492 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00023494 48 6f 00 26              |Ho &    |		PEA.L	(A7+0x26)
00023498 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002349a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002349c 4e 93                    |N       |		JSR	(A3)
0002349e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000234a0 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
000234a4 3f 01                    |?       |		MOVE.W	D1,-(A7)
000234a6 3f 03                    |?       |		MOVE.W	D3,-(A7)
000234a8 4e 93                    |N       |		JSR	(A3)
000234aa 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000234ac 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000234b2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000234b4 4e 94                    |N       |		JSR	(A4)
000234b6 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
000234ba 9e c5                    |        |		SUBA.W	D5,A7
000234bc 20 4f                    | O      |		MOVEA.L	A7,A0
000234be 43 fa fe ee              |C       |		LEA.L	0x233ae,A1
000234c2 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000234c4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000234c6 51 c8 ff fc              |Q       |		DBF	D0,0x234c4
000234ca 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000234cc 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000234d0 3f 01                    |?       |		MOVE.W	D1,-(A7)
000234d2 3f 02                    |?       |		MOVE.W	D2,-(A7)
000234d4 4e 93                    |N       |		JSR	(A3)
000234d6 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000234d8 1e ae 00 08              |        |		MOVE.B	(A6+0x8),(A7)
000234dc 4e b9 00 01 04 a2        |N       |		JSR	ExpStatus2Text(status.B, &String)
000234e2 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000234e4 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000234ea 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000234ec 4e 94                    |N       |		JSR	(A4)
000234ee 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
000234f0 20 4f                    | O      |		MOVEA.L	A7,A0
000234f2 43 fa fe da              |C       |		LEA.L	0x233ce,A1
000234f6 70 16                    |p       |		MOVEQ.L	#0x16,D0
000234f8 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000234fa 51 c8 ff fc              |Q       |		DBF	D0,0x234f8
000234fe 1f 3c 00 02              | <      |		MOVE.B	#0x02,-(A7)
00023502 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023504 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00023508 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002350a 3f 3c 00 17              |?<      |		MOVE.W	#0x17,-(A7)
0002350e 4e 93                    |N       |		JSR	(A3)
00023510 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023512 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00023518 de c3                    |        |		ADDA.W	D3,A7
0002351a 4c df 1f 3f              |L  ?    |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4
0002351e 4e 5e                    |N^      |		UNLK	A6
00023520 4e 75                    |Nu      |		RTS