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

⟦fa918facb⟧ M200

    Length: 13312 (0x3400)
    Types: M200
    Notes: @(#)FRU,2.2,92/08/28,12:34:56, M200_PROGRAM
    Names: »FRU.M200«

Derivation

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

Disassembly

0x2148a


@ 2148a
    <POP 2148a-214da Body>                                              
        <POP 2148a-214a0 Prologue>                           Σ0         ↓
        <POP 214a0-214d2 Naked>                              Σ0         ↓
            <Blob 0x214a0 [18] @>                            Δ-18               {[«18""»]}
            <POP 214b2-214b4 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x214b4 17>                                                    {[«18""»]|[$$Not yet supported]}
            <Call 0x214c8 0x103e0>                                              {[«18""»]|[$$Not yet supported]}
                WriteConsoleStringCrLf(str : String)
            <POP 214ce-214d2 StackAdj>                       Δ+22               {}
        <POP 214d2-214da Epilogue>                           Σ0         

0x214da


@ 214da
        <LVAR -0x004 @>
    <POP 214da-21562 Body>                                              
        <POP 214da-214f0 Prologue>                           Σ0         ↓
        <POP 214f0-214f8 RegCacheLoad>                       Σ0         ↓
        <POP 214f8-2155a Naked>                              Σ0         ↓
            <Call 0x214f8 0x10538>                                              {}
                IPC_Init(void)
            <MI 214fe  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Call 0x21500 0x10502>                                              {[#0]}
                IPC_PutBool(a : Bool)
            <POP 21502-21504 StackAdj>                       Δ+2                {}
            <MI 21504  MOVE.B  0x231bb,D0>                                      {}
            <MI 2150a  EXTB.W  D0>                                              {}
            <POP 0x2150c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2150e  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21510 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21512-21514 StackAdj>                       Δ+2                {}
            <MI 21514  MOVE.B  0x231c0,D0>                                      {}
            <MI 2151a  EXTB.W  D0>                                              {}
            <POP 0x2151c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2151e  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x21520 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21522-21523 StackAdj>                       Δ+2        ↓       {}
            <Blob 0x21523 [10] @>                            Δ-10               {[«10""»]}
            <POP 21532-21534 StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x21534 9>                                                     {[«10""»]|[$$RUN_UDIAG]}
            <Const 0x21546 0x1.4>                            Δ-4                {[«10""»]|[$$RUN_UDIAG]|[##1]}
            <Const 0x2154a 0x1.2>                            Δ-2                {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]}
            <Pointer.fp 0x2154c <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]|[@@-4]}
            <Call 0x21550 0x103b0>                                              {[«10""»]|[$$RUN_UDIAG]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 21556-2155a StackAdj>                       Δ+24               {}
        <POP 2155a-21562 Epilogue>                           Σ0         

0x21562


@ 21562
        <LVAR -0x004 @>
    <POP 21562-2162c Body>                                              
        <POP 21562-21578 Prologue>                           Σ0         ↓
        <POP 21578-21580 RegCacheLoad>                       Σ0         ↓
        <POP 21580-21624 Naked>                              Σ0         ↓
            <Call 0x21580 0x105b6>                                              {}
                R1000_Reset_L(void)
            <Call 0x21586 0x10538>                                              {}
                IPC_Init(void)
            <Const 0x2158c 0x1.2>                            Δ-2                {[#1]}
            <Call 0x2158e 0x10502>                                              {[#1]}
                IPC_PutBool(a : Bool)
            <POP 21594-21596 StackAdj>                       Δ+2                {}
            <Call 0x21596 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x2159c [10] @>                            Δ-10               {[«10""»]}
            <POP 215ac-215ae StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x215ae 9>                                                     {[«10""»]|[$$CONFIGURE]}
            <Const 0x215be 0x1.4>                            Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]}
            <Const 0x215c2 0x1.2>                            Δ-2                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]}
            <Pointer.fp 0x215c4 <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
            <Call 0x215c8 0x103b0>                                              {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 215ce-215d0 StackAdj>                       Δ+24               {}
            <Call 0x215d0 0x10538>                                              {}
                IPC_Init(void)
            <MI 215d6  MOVE.B  0x231bb,D0>                                      {}
            <MI 215dc  EXTB.W  D0>                                              {}
            <POP 0x215de LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 215e0  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x215e2 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 215e8-215ea StackAdj>                       Δ+2                {}
            <Call 0x215ea 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x215f0 [10] @>                            Δ-10               {[«10""»]}
            <POP 21600-21602 StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x21602 9>                                                     {[«10""»]|[$$INITSTATE]}
            <Const 0x21612 0x1.4>                            Δ-4                {[«10""»]|[$$INITSTATE]|[##1]}
            <Const 0x21616 0x1.2>                            Δ-2                {[«10""»]|[$$INITSTATE]|[##1]|[#1]}
            <Pointer.fp 0x21618 <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$INITSTATE]|[##1]|[#1]|[@@-4]}
            <Call 0x2161c 0x103b0>                                              {[«10""»]|[$$INITSTATE]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 21622-21624 StackAdj>                       Δ+24               {}
        <POP 21624-2162c Epilogue>                           Σ0         

0x2162c


@ 2162c
        <LVAR  0x01c 4(r)>
        <LVAR  0x01a 1(r)>
        <LVAR  0x016 @ 4(r)>
        <LVAR  0x012 @ 4(r)>
        <LVAR  0x010 1(r)>
    <POP 2162c-217ee Body>                                              
        <POP 2162c-21642 Prologue>                           Σ0         ↓
        <POP 21642-21656 RegCacheLoad>                       Σ0         ↓
        <POP 21656-2165c Naked>                              Σ0         ↓ →0x21690
            <MI 21656  TST.B   (A6+0x1a)>                                       {}
            <MI 2165a  BEQ     0x21690>                                         {}
        <POP 2165c-21690 Naked>                              Σ0         →0x217ce
            <Blob 0x2165c [8] @>                             Δ-8                {[«8""»]}
            <POP 2166c-2166e StackAdj>                       Δ-4                {[«8""»]|[-4-]}
            <MI 2166e  MOVE.L  (A6+0x1c),-(A7)>              Δ-4                {[«8""»]|[-4-]|[4, '(A6+0x1c)']}
            <POP 21672-21674 StackAdj>                       Δ-4                {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[-4-]}
            <Lit 0x21674 7>                                                     {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ passed]}
            <Call 0x21680 0x102d0>                                              {[«8""»]|[-4-]|[4, '(A6+0x1c)']|[$$ passed]}
                StringCat2(a, b : String) : String
            <POP 21686-21688 StackAdj>                       Δ+8                {[«8""»]|[-4-]}
            <Call 0x21688 0x103e0>                                              {[«8""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 2168a-2168c StackAdj>                       Δ+12               {}
            <MI 2168c  BRA     0x217ce>                                         {}
        <POP 21690-21740 Naked>                              Σ0         ↓ ←0x21656
            <Blob 0x21690 [22] @>                            Δ-22               {[«22""»]}
            <Blob 0x2169c [2] @>                             Δ-2                {[«22""»]|[«2""»]}
            <POP 216a0-216a2 StackAdj>                       Δ-8                {[«22""»]|[«2""»]|[-8-]}
            <Lit 0x216a2 22>                                                    {[«22""»]|[«2""»]|[-4-]|[$$*** ERROR reported by_]}
            <MI 216ae  MOVE.L  (A6+0x16),(A7)>                                  {[«22""»]|[«2""»]|[-4-]|[4, '(A6+0x16)']}
            <POP 216ac-216ae StackAdj>                       Δ-8                {[«22""»]|[«2""»]|[-4-]|[4, '(A6+0x16)']|[-8-]}
            <Call 0x216b2 0x102cc>                                              {[«22""»]|[«2""»]|[-4-]|[4, '(A6+0x16)']|[-8-]}
                StringDup(a : String) : String
            <Lit 0x216b8 2>                                                     {[«22""»]|[«2""»]|[-4-]|[4, '(A6+0x16)']|[-4-]|[$$: ]}
            <Call 0x216c6 0x102d4>                                              {[«22""»]|[«2""»]|[-4-]|[4, '(A6+0x16)']|[-4-]|[$$: ]}
                StringCat3(a, b, c : String) : String
            <POP 216cc-216ce StackAdj>                       Δ+12               {[«22""»]|[«2""»]|[-4-]}
            <Call 0x216ce 0x103e0>                                              {[«22""»]|[«2""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 216d0-216d4 StackAdj>                       Δ+24               {[-4-]}
            <POP 216d4-216d5 StackAdj>                       Δ+4                {}
            <Blob 0x216d5 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x216d8 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 216dc-216de StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[-8-]}
            <MI 216de  MOVE.L  (A6+0x16),-(A7)>              Δ-4                {[«4""»]|[«4""»]|[-8-]|[4, '(A6+0x16)']}
            <Call 0x216e2 0x102cc>                                              {[«4""»]|[«4""»]|[-8-]|[4, '(A6+0x16)']}
                StringDup(a : String) : String
            <Lit 0x216e8 8>                                                     {[«4""»]|[«4""»]|[-8-]|[$$.ERRMESS]}
            <Call 0x216f6 0x102d0>                                              {[«4""»]|[«4""»]|[-8-]|[$$.ERRMESS]}
                StringCat2(a, b : String) : String
            <POP 216fc-216fe StackAdj>                       Δ+8                {[«4""»]|[«4""»]|[-4-]}
            <MI 216fe  MOVEA.L (A7)+,A4>                     Δ+4                {[«4""»]|[«4""»]}
            <POP 21700-21702 StackAdj>                       Δ+4                {[«4""»]}
            <MI 21702  MOVE.L  A4,(A7)>                                         {[4, 'A4']}
            <MI 21704  MOVE.L  (A6+0x12),-(A7)>              Δ-4                {[4, 'A4']|[4, '(A6+0x12)']}
            <MI 21708  CLR.L   D0>                                              {[4, 'A4']|[4, '(A6+0x12)']}
            <MI 2170a  MOVE.B  (A6+0x10),D0>                                    {[4, 'A4']|[4, '(A6+0x12)']}
            <MI 2170e  MOVE.L  D0,-(A7)>                     Δ-4                {[4, 'A4']|[4, '(A6+0x12)']|[4, 'D0']}
            <Call 0x21710 0x1044c>                                              {[4, 'A4']|[4, '(A6+0x12)']|[4, 'D0']}
                WriteErrorMessage(file : String; txt : String; number : Long) : Bool
            <POP 21716-21717 StackAdj>                       Δ+12       ↓       {}
            <Blob 0x21717 [26] @>                            Δ-26               {[«26""»]}
            <POP 21728-2172a StackAdj>                       Δ-4                {[«26""»]|[-4-]}
            <Lit 0x2172a 25>                                                    {[«26""»]|[$$Field replaceable units :]}
            <Call 0x21738 0x103e0>                                              {[«26""»]|[$$Field replaceable units :]}
                WriteConsoleStringCrLf(str : String)
            <POP 2173a-2173e StackAdj>                       Δ+30               {}
            <MI 2173e  MOVEQ.L #0x00,D7>                                        {}
        <POP 21740-21754 Naked>                              Σ0         ↓ →0x2177e ←0x2177e
            <POP 0x21740 LimitCheck 0x0 ≤ D7 ≤ 0x7>                             {}
            <MI 21746  CLR.L   D0>                                              {}
            <MI 21748  MOVE.B  (A6+D7.L+#0x8),D0>                               {}
            <POP 0x2174c LimitCheck 0x0 ≤ D0 ≤ 0x4f>                            {}
            <MI 21750  MOVE.B  D0,D6>                                           {}
            <MI 21752  BEQ     0x2177e>                                         {}
        <POP 21754-2177e Naked>                              Σ0         ↓
            <Blob 0x21754 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21758 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <Blob 0x2175c [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]}
            <POP 21760-21762 StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[«4""»]|[-4-]}
            <Lit 0x21762 12>                                                    {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]}
            <MI 2176e  CLR.L   D0>                                              {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]}
            <MI 21770  MOVE.B  (A6+D7.L+#0x8),D0>                               {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]}
            <MI 21774  MOVE.L  D0,-(A7)>                     Δ-4                {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[4, 'D0']}
            <Call 0x21776 0x10450>                                              {[«4""»]|[«4""»]|[«4""»]|[$$FRU_LITS.TXT]|[4, 'D0']}
                FS_10450(&, &)
            <POP 2177c-2177e StackAdj>                       Δ+20               {}
        <POP 2177e-21784 Naked>                              Σ0         ↓ →0x21740 ←0x21740
            <MI 2177e  ADDQ.L  #0x1,D7>                                         {}
            <MI 21780  CMP.L   #0x07,D7>                                        {}
            <MI 21782  BLE     0x21740>                                         {}
        <POP 21784-217ce Naked>                              Σ0         ↓
            <Blob 0x21784 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21788 [12] @>                            Δ-12               {[«4""»]|[«12""»]}
            <POP 21798-2179a StackAdj>                       Δ-8                {[«4""»]|[«12""»]|[-8-]}
            <Lit 0x2179a 4>                                                     {[«4""»]|[«12""»]|[-4-]|[$$***_]}
            <POP 217a6-217a8 StackAdj>                       Δ-4                {[«4""»]|[«12""»]|[-4-]|[$$***_]|[-4-]}
            <MI 217a8  MOVE.L  (A6+0x1c),(A7)>                                  {[«4""»]|[«12""»]|[-4-]|[$$***_]|[4, '(A6+0x1c)']}
            <POP 217ac-217ae StackAdj>                       Δ-4                {[«4""»]|[«12""»]|[-4-]|[$$***_]|[4, '(A6+0x1c)']|[-4-]}
            <Lit 0x217ae 11>                                                    {[«4""»]|[«12""»]|[-4-]|[$$***_]|[4, '(A6+0x1c)']|[$$ failed ***]}
            <Call 0x217bc 0x102d4>                                              {[«4""»]|[«12""»]|[-4-]|[$$***_]|[4, '(A6+0x1c)']|[$$ failed ***]}
                StringCat3(a, b, c : String) : String
            <POP 217c2-217c4 StackAdj>                       Δ+12               {[«4""»]|[«12""»]|[-4-]}
            <Call 0x217c4 0x103e0>                                              {[«4""»]|[«12""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 217c6-217c8 StackAdj>                       Δ+20               {}
            <Call 0x217c8 0x103dc>                                              {}
                WriteConsoleCrLf(void)
        <POP 217ce-217e6 Naked>                              Σ0         ↓ ←0x2165c
            <Pointer.fp 0x217ce <LVAR  0x012 @ 4(r)>>        Δ-4                {[@@18]}
            <Call 0x217d2 0x102bc>                                              {[@@18]}
                FreeString(VAR a : String)
            <POP 217d8-217da StackAdj>                       Δ+4                {}
            <Pointer.fp 0x217da <LVAR  0x016 @ 4(r)>>        Δ-4                {[@@22]}
            <Call 0x217de 0x102bc>                                              {[@@22]}
                FreeString(VAR a : String)
            <POP 217e4-217e6 StackAdj>                       Δ+4                {}
        <POP 217e6-217ee Epilogue>                           Σ0         

0x217ee


@ 217ee
        <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 217ee-2199c Body>                                              
        <POP 217ee-21804 Prologue>                           Σ0         ↓
        <POP 21804-21812 RegCacheLoad>                       Σ0         ↓
        <POP 21812-218ca Naked>                              Σ0         ↓ →0x21994
            <MI 21812  MOVE.B  (A6+0xc),(A6-0x4)>                               {}
            <Blob 0x21818 [2] @>                             Δ-2                {[«2""»]}
            <POP 2181c-2181e StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <POP 2181e-2181f StackAdj>                       Δ+2                {[«2""»]|[-2-]}
            <Blob 0x2181f [2] @>                             Δ-2                {[«2""»]|[-2-]|[«2""»]}
            <MI 21822  MOVE.B  0x201b9,(A7+0x1)>                                {[«2""»]|[-2-]|[«2""»]}
            <MI 21828  MOVE.B  0x201ba,(A7+0x2)>                                {[«2""»]|[-2-]|[«2""»]}
            <POP 2182e-21830 StackAdj>                       Δ-8                {[«2""»]|[-2-]|[«2""»]|[-8-]}
            <Lit 0x21830 2>                                                     {[«2""»]|[-2-]|[«2""»]|[-4-]|[$$P ]}
            <MI 21840  MOVE.L  (A6+0xe),(A7)>                                   {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']}
            <POP 2183a-21840 StackAdj>                       Δ-8                {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
            <Call 0x21844 0x102e4>                                              {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
                Long2String(a : Long) : String
            <Lit 0x2184a>                                                       {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$…]}
                <Pointer.sp 0x2184a 16>                      Δ-4        
                <Const 0x2184e 0x1.2>                        Δ-2        
                <Const 0x21850 0x3.2>                        Δ-2        
                <Call 0x21854 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 2185a-2185c StackAdj>                   Δ+8        
            <Call 0x2185c 0x102d4>                                              {[«2""»]|[-2-]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]|[$$…]}
                StringCat3(a, b, c : String) : String
            <POP 21862-21864 StackAdj>                       Δ+12               {[«2""»]|[-2-]|[«2""»]|[-4-]}
            <MI 21864  MOVEA.L (A7)+,A4>                     Δ+4                {[«2""»]|[-2-]|[«2""»]}
            <POP 21866-21868 StackAdj>                       Δ+6                {}
            <Call 0x21868 0x10538>                                              {}
                IPC_Init(void)
            <MI 2186e  MOVE.B  (A6-0x4),-(A7)>               Δ-2                {[2, '(A6-0x4)']}
            <MI 21872  PEA.L   (A7)>                         Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']}
            <Const 0x21874 0x0.4>                            Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]}
            <Const 0x21876 0x0.4>                            Δ-4                {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]}
            <Call 0x21878 0x104fc>                                              {[2, '(A6-0x4)']|[4, '^(A7)']|[##0]|[##0]}
                IPC_PutVar(src : Pointer; length : Long ; type : Long)
            <POP 2187e-21880 StackAdj>                       Δ+14               {}
            <MI 21880  MOVE.B  0x231ba,D0>                                      {}
            <MI 21886  EXTB.W  D0>                                              {}
            <POP 0x21888 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2188a  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x2188c 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 21892-21894 StackAdj>                       Δ+2                {}
            <MI 21894  MOVE.B  0x231bb,D0>                                      {}
            <MI 2189a  EXTB.W  D0>                                              {}
            <POP 0x2189c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2189e  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x218a0 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 218a6-218a8 StackAdj>                       Δ+2                {}
            <Call 0x218a8 0x10514>                                              {}
                IPC_PutEnd(void)
            <MI 218ae  MOVE.L  A4,-(A7)>                     Δ-4                {[4, 'A4']}
            <Const 0x218b0 0x1.4>                            Δ-4                {[4, 'A4']|[##1]}
            <Const 0x218b4 0x1.2>                            Δ-2                {[4, 'A4']|[##1]|[#1]}
            <Pointer.fp 0x218b6 <LVAR -0x009 @ 1(r)>>        Δ-4                {[4, 'A4']|[##1]|[#1]|[@@-9]}
            <Call 0x218ba 0x103b0>                                              {[4, 'A4']|[##1]|[#1]|[@@-9]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 218c0-218c2 StackAdj>                       Δ+14               {}
            <MI 218c2  TST.B   (A6-0x9)>                                        {}
            <MI 218c6  BNE     0x21994>                                         {}
        <POP 218ca-2192c Naked>                              Σ0         ↓ →0x2196c
            <Call 0x218ca 0x10538>                                              {}
                IPC_Init(void)
            <MI 218d0  MOVEA.L (A6+0x8),A0>                                     {}
            <MI 218d4  PEA.L   (A0)>                         Δ-4                {[4, '^(A0)']}
            <Call 0x218d6 0x10526>                                              {[4, '^(A0)']}
                IPC_GetBool() : Bool
            <POP 218dc-218de StackAdj>                       Δ+4                {}
            <Pointer.fp 0x218de <LVAR -0x01e @ 4(rw)>>       Δ-4                {[@@-30]}
            <Call 0x218e0 0x1052c>                                              {[@@-30]}
                IPC_GetString(VAR retval : String)
            <POP 218e6-218e8 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x218e8 <LVAR -0x01a @ 4(r)>>        Δ-4                {[@@-26]}
            <Call 0x218ec 0x1052c>                                              {[@@-26]}
                IPC_GetString(VAR retval : String)
            <POP 218f2-218f4 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x218f4 <LVAR -0x016 @ 4(r)>>        Δ-4                {[@@-22]}
            <Call 0x218f8 0x1052c>                                              {[@@-22]}
                IPC_GetString(VAR retval : String)
            <POP 218fe-21900 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x21900 <LVAR -0x012 @ 1(r)>>        Δ-4                {[@@-18]}
            <Const 0x21904 0x0.4>                            Δ-4                {[@@-18]|[##0]}
            <Const 0x21906 0x0.4>                            Δ-4                {[@@-18]|[##0]|[##0]}
            <Call 0x21908 0x10520>                                              {[@@-18]|[##0]|[##0]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 2190e-21910 StackAdj>                       Δ+12               {}
            <Pointer.fp 0x21910 <LVAR -0x011 @>>             Δ-4                {[@@-17]}
            <Const 0x21914 0x0.4>                            Δ-4                {[@@-17]|[##0]}
            <Const 0x21916 0x7.4>                            Δ-4                {[@@-17]|[##0]|[##7]}
            <Call 0x2191a 0x10520>                                              {[@@-17]|[##0]|[##7]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 21920-21922 StackAdj>                       Δ+12               {}
            <Call 0x21922 0x1051a>                                              {}
                IPC_GetEnd(void)
            <MI 21928  TST.B   (A0)>                                            {}
            <MI 2192a  BEQ     0x2196c>                                         {}
        <POP 2192c-2196c Naked>                              Σ0         ↓
            <Pointer.fp 0x2192c <LVAR -0x01e @ 4(rw)>>       Δ-4                {[@@-30]}
            <Call 0x2192e 0x102bc>                                              {[@@-30]}
                FreeString(VAR a : String)
            <POP 21934-21936 StackAdj>                       Δ+2                {[-2-]}
            <POP 21936-21937 StackAdj>                       Δ+2                {}
            <Blob 0x21937 [2] @>                             Δ-2                {[«2""»]}
            <Blob 0x2193a [2] @>                             Δ-2                {[«2""»]|[«2""»]}
            <Blob 0x2193e [2] @>                             Δ-2                {[«2""»]|[«2""»]|[«2""»]}
            <POP 21942-21944 StackAdj>                       Δ-8                {[«2""»]|[«2""»]|[«2""»]|[-8-]}
            <Lit 0x21944 6>                                                     {[«2""»]|[«2""»]|[«2""»]|[-4-]|[$$Phase_]}
            <MI 21954  MOVE.L  (A6+0xe),(A7)>                                   {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']}
            <POP 2194e-21954 StackAdj>                       Δ-8                {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
            <Call 0x21958 0x102e4>                                              {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-8-]}
                Long2String(a : Long) : String
            <POP 2195e-21960 StackAdj>                       Δ+4                {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]}
            <Call 0x21960 0x102d0>                                              {[«2""»]|[«2""»]|[«2""»]|[-4-]|[4, '(A6+0xe)']|[-4-]}
                StringCat2(a, b : String) : String
            <POP 21966-21968 StackAdj>                       Δ+8                {[«2""»]|[«2""»]|[«2""»]|[-4-]}
            <MI 21968  MOVE.L  (A7)+,(A6-0x1e)>              Δ+4                {[«2""»]|[«2""»]|[«2""»]}
            <POP 2196a-2196c StackAdj>                       Δ+6                {}
        <POP 2196c-21994 Naked>                              Σ0         ↓ ←0x218ca
            <MI 2196c  MOVE.L  (A6-0x1e),-(A7)>              Δ-4                {[4, '(A6-0x1e)']}
            <MI 2196e  MOVE.B  (A0),-(A7)>                   Δ-2                {[4, '(A6-0x1e)']|[2, '(A0)']}
            <MI 21970  MOVE.L  (A6-0x1a),-(A7)>              Δ-4                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']}
            <MI 21974  MOVE.L  (A6-0x16),-(A7)>              Δ-4                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']}
            <MI 21978  MOVE.B  (A6-0x12),-(A7)>              Δ-2                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']}
            <Blob 0x2197c [8] (A6-0x11)>                     Δ-8                {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']|[«8»]}
            <Call 0x2198c 0x2162c>                                              {[4, '(A6-0x1e)']|[2, '(A0)']|[4, '(A6-0x1a)']|[4, '(A6-0x16)']|[2, '(A6-0x12)']|[«8»]}
            <POP 21990-21994 StackAdj>                       Δ+24               {}
        <POP 21994-2199c Epilogue>                           Σ0         ←0x21812

0x2199c


@ 2199c
        <LVAR  0x00c 1(r)>
        <LVAR  0x008 4(rw)>
        <LVAR -0x001 @ 1(r)>
    <POP 2199c-21a26 Body>                                              
        <POP 2199c-219b2 Prologue>                           Σ0         ↓
        <POP 219b2-219b8 RegCacheLoad>                       Σ0         ↓
        <POP 219b8-219bc Naked>                              Σ0         ↓ →0x219f2
            <MI 219b8  TST.L   (A6+0x8)>                                        {}
            <MI 219ba  BNE     0x219f2>                                         {}
        <POP 219bc-219f2 Naked>                              Σ0         ↓
            <Blob 0x219bc [40] @>                            Δ-40               {[«40""»]}
            <POP 219c8-219ca StackAdj>                       Δ-8                {[«40""»]|[-8-]}
            <Lit 0x219ca 40>                                                    {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]}
            <Const 0x219dc 0x1.4>                            Δ-4                {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]}
            <Const 0x219e0 0x3.4>                            Δ-4                {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]|[##3]}
            <Call 0x219e4 0x103ec>                                              {[«40""»]|[-4-]|[$$Please enter maximum test phase (1-3) :_]|[##1]|[##3]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 219ea-219ee StackAdj>                       Δ+12               {[«40""»]|[-4-]}
            <MI 219ee  MOVE.L  (A7)+,(A6+0x8)>               Δ+4                {[«40""»]}
            <POP 219f0-219f2 StackAdj>                       Δ+40               {}
        <POP 219f2-219f4 Naked>                              Σ0         ↓ ←0x219b8
            <MI 219f2  MOVEQ.L #0x01,D7>                                        {}
        <POP 219f4-219fc Naked>                              Σ0         ↓ →0x21a00 ←0x21a1a
            <MI 219f4  CMPI.L  #0x00000002,D7>                                  {}
            <MI 219fa  BNE     0x21a00>                                         {}
        <POP 219fc-21a00 Naked>                              Σ0         ↓
            <Call 0x219fc 0x21562>                                              {}
        <POP 21a00-21a1a Naked>                              Σ0         ↓ →0x21a1e ←0x219f4
            <MI 21a00  MOVE.L  D7,-(A7)>                     Δ-4                {[4, 'D7']}
            <MI 21a02  MOVE.B  (A6+0xc),-(A7)>               Δ-2                {[4, 'D7']|[2, '(A6+0xc)']}
            <Pointer.fp 0x21a06 <LVAR -0x001 @ 1(r)>>        Δ-4                {[4, 'D7']|[2, '(A6+0xc)']|[@@-1]}
            <Call 0x21a0a 0x217ee>                                              {[4, 'D7']|[2, '(A6+0xc)']|[@@-1]}
            <POP 21a0e-21a12 StackAdj>                       Δ+10               {}
            <MI 21a12  ADDQ.L  #0x1,D7>                                         {}
            <MI 21a14  TST.B   (A6-0x1)>                                        {}
            <MI 21a18  BEQ     0x21a1e>                                         {}
        <POP 21a1a-21a1e Naked>                              Σ0         ↓ →0x219f4
            <MI 21a1a  CMP.L   (A6+0x8),D7>                                     {}
            <MI 21a1c  BLE     0x219f4>                                         {}
        <POP 21a1e-21a26 Epilogue>                           Σ0         ←0x21a00

0x21a26


@ 21a26
    <POP 21a26-21a48 Body>                                              
        <POP 21a26-21a38 Prologue>                           Σ0         ↓
        <POP 21a38-21a44 Naked>                              Σ0         ↓
            <MI 21a38  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Const 0x21a3a 0x0.4>                            Δ-4                {[#0]|[##0]}
            <Call 0x21a3e 0x2199c>                                              {[#0]|[##0]}
            <POP 21a42-21a44 StackAdj>                       Δ+6                {}
        <POP 21a44-21a48 Epilogue>                           Σ0         

0x21a48


@ 21a48
    <POP 21a48-21bf4 Body>                                              
        <POP 21a48-21a5e Prologue>                           Σ0         ↓
        <POP 21a5e-21a72 RegCacheLoad>                       Σ0         ↓
        <POP 21a72-21b92 Naked>                              Σ0         →0x21bac →0x21bb0 →0x21bb4 →0x21bb8 →0x21bbc →0x21bc0 →0x21bc4 →0x21bc8 →0x21bcc →0x21bd0 →0x21bd2 →0x21bd4 →0x21bd6
            <Blob 0x21a72 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21a76 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 21a7a-21a7c StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[-4-]}
            <Lit 0x21a7c 8>                                                     {[«4""»]|[«4""»]|[$$Fru menu]}
            <Call 0x21a8a 0x103e0>                                              {[«4""»]|[«4""»]|[$$Fru menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 21a8c-21a8e StackAdj>                       Δ+12               {}
            <Blob 0x21a8e [44] @>                            Δ-44               {[«44""»]}
            <POP 21a9a-21a9c StackAdj>                       Δ-4                {[«44""»]|[-4-]}
            <Lit 0x21a9c 44>                                                    {[«44""»]|[$$    1 => ALL boards                 7 => FIU]}
            <Call 0x21aaa 0x103e0>                                              {[«44""»]|[$$    1 => ALL boards                 7 => FIU]}
                WriteConsoleStringCrLf(str : String)
            <POP 21aac-21aad StackAdj>                       Δ+48       ↓       {}
            <Blob 0x21aad [50] @>                            Δ-50               {[«50""»]}
            <POP 21abc-21abe StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21abe 49>                                                    {[«50""»]|[$$    2 => VAL                        8 => Memory 0]}
            <Call 0x21aca 0x103e0>                                              {[«50""»]|[$$    2 => VAL                        8 => Memory 0]}
                WriteConsoleStringCrLf(str : String)
            <POP 21acc-21acd StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21acd [50] @>                            Δ-50               {[«50""»]}
            <POP 21adc-21ade StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21ade 49>                                                    {[«50""»]|[$$    3 => TYP                        9 => Memory 1]}
            <Call 0x21aea 0x103e0>                                              {[«50""»]|[$$    3 => TYP                        9 => Memory 1]}
                WriteConsoleStringCrLf(str : String)
            <POP 21aec-21aed StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21aed [50] @>                            Δ-50               {[«50""»]}
            <POP 21afc-21afe StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21afe 49>                                                    {[«50""»]|[$$    4 => SEQuencer                 10 => Memory 2]}
            <Call 0x21b0a 0x103e0>                                              {[«50""»]|[$$    4 => SEQuencer                 10 => Memory 2]}
                WriteConsoleStringCrLf(str : String)
            <POP 21b0c-21b0d StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21b0d [50] @>                            Δ-50               {[«50""»]}
            <POP 21b1c-21b1e StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21b1e 49>                                                    {[«50""»]|[$$    5 => Foreplane                 11 => Memory 3]}
            <Call 0x21b2a 0x103e0>                                              {[«50""»]|[$$    5 => Foreplane                 11 => Memory 3]}
                WriteConsoleStringCrLf(str : String)
            <POP 21b2c-21b2d StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21b2d [56] @>                            Δ-56               {[«56""»]}
            <POP 21b3c-21b3e StackAdj>                       Δ-4                {[«56""»]|[-4-]}
            <Lit 0x21b3e 55>                                                    {[«56""»]|[$$    6 => IOC                        0 => exit this menu]}
            <Call 0x21b4c 0x103e0>                                              {[«56""»]|[$$    6 => IOC                        0 => exit this menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 21b4e-21b52 StackAdj>                       Δ+60               {}
            <MI 21b52  MOVEQ.L #0x0b,D5>                                        {}
            <Blob 0x21b54 [22] @>                            Δ-22               {[«22""»]}
            <POP 21b60-21b62 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x21b62 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x21b6e 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <MI 21b72  MOVE.L  D5,-(A7)>                     Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[4, 'D5']}
            <Call 0x21b74 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[4, 'D5']}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 21b7a-21b7c StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 21b7c  MOVE.L  (A7)+,D6>                     Δ+4                {[«22""»]}
            <POP 21b7e-21b80 StackAdj>                       Δ+22               {}
            <MI 21b80  MOVE.L  D6,D0>                                           {}
            <POP 0x21b82 LimitCheck 0x0 ≤ D0 ≤ 0xc>                             {}
            <MI 21b88  ADD.W   D0,D0>                                           {}
            <MI 21b8a  SWITCH  D0.W>                                            {}
        <POP 21bac-21bae Naked>                              Σ0         →0x21bec ←0x21a72
            <MI 21bac  BRA     0x21bec>                                         {}
        <POP 21bb0-21bb4 Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bb0  MOVEQ.L #0x00,D7>                                        {}
            <MI 21bb2  BRA     0x21bd8>                                         {}
        <POP 21bb4-21bb8 Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bb4  MOVEQ.L #0x03,D7>                                        {}
            <MI 21bb6  BRA     0x21bd8>                                         {}
        <POP 21bb8-21bbc Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bb8  MOVEQ.L #0x04,D7>                                        {}
            <MI 21bba  BRA     0x21bd8>                                         {}
        <POP 21bbc-21bc0 Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bbc  MOVEQ.L #0x05,D7>                                        {}
            <MI 21bbe  BRA     0x21bd8>                                         {}
        <POP 21bc0-21bc4 Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bc0  MOVEQ.L #0x0b,D7>                                        {}
            <MI 21bc2  BRA     0x21bd8>                                         {}
        <POP 21bc4-21bc8 Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bc4  MOVEQ.L #0x02,D7>                                        {}
            <MI 21bc6  BRA     0x21bd8>                                         {}
        <POP 21bc8-21bcc Naked>                              Σ0         →0x21bd8 ←0x21a72
            <MI 21bc8  MOVEQ.L #0x06,D7>                                        {}
            <MI 21bca  BRA     0x21bd8>                                         {}
        <POP 21bcc-21bd0 Naked>                              Σ0         →0x21bd8 ←0x21a72 ←0x21bd0 ←0x21bd2 ←0x21bd4
            <MI 21bcc  MOVEQ.L #0x07,D7>                                        {}
            <MI 21bce  BRA     0x21bd8>                                         {}
        <POP 21bd0-21bd2 Naked>                              Σ0         →0x21bcc ←0x21a72
            <MI 21bd0  BRA     0x21bcc>                                         {}
        <POP 21bd2-21bd4 Naked>                              Σ0         →0x21bcc ←0x21a72
            <MI 21bd2  BRA     0x21bcc>                                         {}
        <POP 21bd4-21bd6 Naked>                              Σ0         →0x21bcc ←0x21a72
            <MI 21bd4  BRA     0x21bcc>                                         {}
        <POP 21bd6-21bd8 Naked>                              Σ0         ↓ ←0x21a72
            <MI 21bd6  MOVEQ.L #0x01,D7>                                        {}
        <POP 21bd8-21bec Naked>                              Σ0         ↓ ←0x21bb0 ←0x21bb4 ←0x21bb8 ←0x21bbc ←0x21bc0 ←0x21bc4 ←0x21bc8 ←0x21bcc
            <MI 21bd8  MOVE.B  D7,D0>                                           {}
            <MI 21bda  EXTB.W  D0>                                              {}
            <POP 0x21bdc LimitCheck 0x0 ≤ D0 ≤ 0xb>                             {}
            <MI 21be0  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Const 0x21be2 0x0.4>                            Δ-4                {[2, 'D0']|[##0]}
            <Call 0x21be6 0x2199c>                                              {[2, 'D0']|[##0]}
            <POP 21bea-21bec StackAdj>                       Δ+6                {}
        <POP 21bec-21bf4 Epilogue>                           Σ0         ←0x21bac

0x21bf4


@ 21bf4
        <LVAR  0x00c 1(w)>
        <LVAR  0x008 4(r)>
    <POP 21bf4-21dcc Body>                                              
        <POP 21bf4-21c0a Prologue>                           Σ0         ↓
        <POP 21c0a-21c20 RegCacheLoad>                       Σ0         ↓
        <POP 21c20-21dc4 Naked>                              Σ0         ↓
            <Call 0x21c20 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x21c26 [50] @>                            Δ-50               {[«50""»]}
            <POP 21c36-21c38 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21c38 49>                                                    {[«50""»]|[$$1  => All                     12 => Class Checker]}
            <Call 0x21c46 0x103e0>                                              {[«50""»]|[$$1  => All                     12 => Class Checker]}
                WriteConsoleStringCrLf(str : String)
            <POP 21c48-21c49 StackAdj>                       Δ+54       ↓       {}
            <Blob 0x21c49 [46] @>                            Δ-46               {[«46""»]}
            <POP 21c58-21c5a StackAdj>                       Δ-4                {[«46""»]|[-4-]}
            <Lit 0x21c5a 45>                                                    {[«46""»]|[$$2  => Condition selection     13 => Tagstores]}
            <Call 0x21c68 0x103e0>                                              {[«46""»]|[$$2  => Condition selection     13 => Tagstores]}
                WriteConsoleStringCrLf(str : String)
            <POP 21c6a-21c6c StackAdj>                       Δ+50               {}
            <Blob 0x21c6c [48] @>                            Δ-48               {[«48""»]}
            <POP 21c78-21c7a StackAdj>                       Δ-4                {[«48""»]|[-4-]}
            <Lit 0x21c7a 48>                                                    {[«48""»]|[$$3  => VAL board               14 => Dynamic RAMS]}
            <Call 0x21c88 0x103e0>                                              {[«48""»]|[$$3  => VAL board               14 => Dynamic RAMS]}
                WriteConsoleStringCrLf(str : String)
            <POP 21c8a-21c8c StackAdj>                       Δ+52               {}
            <Blob 0x21c8c [54] @>                            Δ-54               {[«54""»]}
            <POP 21c98-21c9a StackAdj>                       Δ-4                {[«54""»]|[-4-]}
            <Lit 0x21c9a 54>                                                    {[«54""»]|[$$4  => TYP board               15 => Val register files]}
            <Call 0x21ca6 0x103e0>                                              {[«54""»]|[$$4  => TYP board               15 => Val register files]}
                WriteConsoleStringCrLf(str : String)
            <POP 21ca8-21caa StackAdj>                       Δ+58               {}
            <Blob 0x21caa [54] @>                            Δ-54               {[«54""»]}
            <POP 21cb6-21cb8 StackAdj>                       Δ-4                {[«54""»]|[-4-]}
            <Lit 0x21cb8 54>                                                    {[«54""»]|[$$5  => SEQuencer board         16 => Typ register files]}
            <Call 0x21cc4 0x103e0>                                              {[«54""»]|[$$5  => SEQuencer board         16 => Typ register files]}
                WriteConsoleStringCrLf(str : String)
            <POP 21cc6-21cc8 StackAdj>                       Δ+58               {}
            <Blob 0x21cc8 [50] @>                            Δ-50               {[«50""»]}
            <POP 21cd4-21cd6 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x21cd6 50>                                                    {[«50""»]|[$$6  => FIU board               17 => Dispatch logic]}
            <Call 0x21ce2 0x103e0>                                              {[«50""»]|[$$6  => FIU board               17 => Dispatch logic]}
                WriteConsoleStringCrLf(str : String)
            <POP 21ce4-21ce6 StackAdj>                       Δ+54               {}
            <Blob 0x21ce6 [58] @>                            Δ-58               {[«58""»]}
            <POP 21cf2-21cf4 StackAdj>                       Δ-4                {[«58""»]|[-4-]}
            <Lit 0x21cf4 58>                                                    {[«58""»]|[$$7  => Memory board(s)         18 => Error correction (ECC)]}
            <Call 0x21d00 0x103e0>                                              {[«58""»]|[$$7  => Memory board(s)         18 => Error correction (ECC)]}
                WriteConsoleStringCrLf(str : String)
            <POP 21d02-21d06 StackAdj>                       Δ+62               {}
            <Blob 0x21d06 [42] @>                            Δ-42               {[«42""»]}
            <POP 21d12-21d14 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x21d14 42>                                                    {[«42""»]|[$$8  => CSA                     19 => Timers]}
            <Call 0x21d22 0x103e0>                                              {[«42""»]|[$$8  => CSA                     19 => Timers]}
                WriteConsoleStringCrLf(str : String)
            <POP 21d24-21d28 StackAdj>                       Δ+46               {}
            <Blob 0x21d28 [52] @>                            Δ-52               {[«52""»]}
            <POP 21d34-21d36 StackAdj>                       Δ-4                {[«52""»]|[-4-]}
            <Lit 0x21d36 52>                                                    {[«52""»]|[$$9  => Memory Monitor          20 => Worst case paths]}
            <Call 0x21d42 0x103e0>                                              {[«52""»]|[$$9  => Memory Monitor          20 => Worst case paths]}
                WriteConsoleStringCrLf(str : String)
            <POP 21d44-21d45 StackAdj>                       Δ+56       ↓       {}
            <Blob 0x21d45 [16] @>                            Δ-16               {[«16""»]}
            <POP 21d56-21d58 StackAdj>                       Δ-4                {[«16""»]|[-4-]}
            <Lit 0x21d58 15>                                                    {[«16""»]|[$$10 => IOC board]}
            <Call 0x21d66 0x103e0>                                              {[«16""»]|[$$10 => IOC board]}
                WriteConsoleStringCrLf(str : String)
            <POP 21d68-21d6c StackAdj>                       Δ+20               {}
            <MI 21d6c  MOVEQ.L #0x14,D6>                                        {}
            <Blob 0x21d6e [22] @>                            Δ-22               {[«22""»]}
            <POP 21d80-21d82 StackAdj>                       Δ-4                {[«22""»]|[-4-]}
            <Lit 0x21d82 21>                                                    {[«22""»]|[$$11 => Privacy Checker]}
            <Call 0x21d90 0x103e0>                                              {[«22""»]|[$$11 => Privacy Checker]}
                WriteConsoleStringCrLf(str : String)
            <POP 21d92-21d96 StackAdj>                       Δ+18               {[-8-]}
            <MI 21d96  MOVE.L  (A6+0x8),(A7)>                                   {[-4-]|[4, '(A6+0x8)']}
            <Const 0x21d9a 0x1.4>                            Δ-4                {[-4-]|[4, '(A6+0x8)']|[##1]}
            <MI 21d9e  MOVE.L  D6,-(A7)>                     Δ-4                {[-4-]|[4, '(A6+0x8)']|[##1]|[4, 'D6']}
            <Call 0x21da0 0x103ec>                                              {[-4-]|[4, '(A6+0x8)']|[##1]|[4, 'D6']}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 21da6-21daa StackAdj>                       Δ+12               {[-4-]}
            <MI 21daa  MOVE.L  (A7)+,D7>                     Δ+4                {}
            <MI 21dac  MOVE.L  D7,D0>                                           {}
            <MI 21dae  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x21db0 LimitCheck 0x0 ≤ D0 ≤ 0x14>                            {}
            <MI 21dba  LEA.L   0x2130e,A0>                                      {}
            <MI 21dbe  MOVE.B  (A0+D0.L),(A6+0xc)>                              {}
        <POP 21dc4-21dcc Epilogue>                           Σ0         

0x21dcc


@ 21dcc
        <LVAR  0x00c 1(w)>
        <LVAR  0x008 4(r)>
    <POP 21dcc-21ede Body>                                              
        <POP 21dcc-21de2 Prologue>                           Σ0         ↓
        <POP 21de2-21df4 RegCacheLoad>                       Σ0         ↓
        <POP 21df4-21ed6 Naked>                              Σ0         ↓
            <Blob 0x21df4 [38] @>                            Δ-38               {[«38""»]}
            <POP 21e00-21e02 StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x21e02 38>                                                    {[«38""»]|[$$1 => All boards          7 => Memory 0]}
            <Call 0x21e0e 0x103e0>                                              {[«38""»]|[$$1 => All boards          7 => Memory 0]}
                WriteConsoleStringCrLf(str : String)
            <POP 21e10-21e12 StackAdj>                       Δ+42               {}
            <Blob 0x21e12 [38] @>                            Δ-38               {[«38""»]}
            <POP 21e1e-21e20 StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x21e20 38>                                                    {[«38""»]|[$$2 => SEQuencer           8 => Memory 1]}
            <Call 0x21e2c 0x103e0>                                              {[«38""»]|[$$2 => SEQuencer           8 => Memory 1]}
                WriteConsoleStringCrLf(str : String)
            <POP 21e2e-21e30 StackAdj>                       Δ+42               {}
            <Blob 0x21e30 [38] @>                            Δ-38               {[«38""»]}
            <POP 21e3c-21e3e StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x21e3e 38>                                                    {[«38""»]|[$$3 => FIU                 9 => Memory 2]}
            <Call 0x21e4a 0x103e0>                                              {[«38""»]|[$$3 => FIU                 9 => Memory 2]}
                WriteConsoleStringCrLf(str : String)
            <POP 21e4c-21e4e StackAdj>                       Δ+42               {}
            <Blob 0x21e4e [38] @>                            Δ-38               {[«38""»]}
            <POP 21e5a-21e5c StackAdj>                       Δ-4                {[«38""»]|[-4-]}
            <Lit 0x21e5c 38>                                                    {[«38""»]|[$$4 => TYP                10 => Memory 3]}
            <Call 0x21e68 0x103e0>                                              {[«38""»]|[$$4 => TYP                10 => Memory 3]}
                WriteConsoleStringCrLf(str : String)
            <POP 21e6a-21e6c StackAdj>                       Δ+42               {}
            <Blob 0x21e6c [42] @>                            Δ-42               {[«42""»]}
            <POP 21e78-21e7a StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x21e7a 42>                                                    {[«42""»]|[$$5 => VAL                11 => All Memories]}
            <Call 0x21e86 0x103e0>                                              {[«42""»]|[$$5 => VAL                11 => All Memories]}
                WriteConsoleStringCrLf(str : String)
            <POP 21e88-21e8a StackAdj>                       Δ+42               {[-4-]}
            <POP 21e8a-21e8b StackAdj>                       Δ+4                {}
            <Blob 0x21e8b [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x21e8e [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 21e92-21e94 StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[-4-]}
            <Lit 0x21e94 8>                                                     {[«4""»]|[«4""»]|[$$6 => IOC]}
            <Call 0x21ea2 0x103e0>                                              {[«4""»]|[«4""»]|[$$6 => IOC]}
                WriteConsoleStringCrLf(str : String)
            <POP 21ea4-21ea6 StackAdj>                       Δ+4                {[«4""»]|[«4""»]}
            <MI 21ea6  MOVE.L  (A6+0x8),(A7)>                                   {[«4""»]|[4, '(A6+0x8)']}
            <Const 0x21eaa 0x1.4>                            Δ-4                {[«4""»]|[4, '(A6+0x8)']|[##1]}
            <Const 0x21eae 0xb.4>                            Δ-4                {[«4""»]|[4, '(A6+0x8)']|[##1]|[##11]}
            <Call 0x21eb2 0x103ec>                                              {[«4""»]|[4, '(A6+0x8)']|[##1]|[##11]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 21eb8-21ebc StackAdj>                       Δ+12               {[«4""»]}
            <MI 21ebc  MOVE.L  (A7)+,D7>                     Δ+4                {}
            <MI 21ebe  MOVE.L  D7,D0>                                           {}
            <MI 21ec0  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x21ec2 LimitCheck 0x0 ≤ D0 ≤ 0xa>                             {}
            <MI 21ecc  LEA.L   0x21323,A0>                                      {}
            <MI 21ed0  MOVE.B  (A0+D0.L),(A6+0xc)>                              {}
        <POP 21ed6-21ede Epilogue>                           Σ0         

0x21ede


@ 21ede
        <LVAR -0x003 @>
        <LVAR -0x00b @>
        <LVAR -0x00c @ 1(r)>
        <LVAR -0x010 @ 4(r)>
        <LVAR -0x014 @ 4(r)>
        <LVAR -0x016 1(w)>
        <LVAR -0x018 1(rw)>
        <LVAR -0x01e @ 1(r)>
    <POP 21ede-2243a Body>                                              
        <POP 21ede-21ef4 Prologue>                           Σ0         ↓
        <POP 21ef4-21f04 RegCacheLoad>                       Σ0         ↓
        <POP 21f04-2215c Naked>                              Σ0         ↓ →0x22432
            <Blob 0x21f04 [40] @>                            Δ-40               {[«40""»]}
            <POP 21f14-21f16 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21f16 39>                                                    {[«40""»]|[$$0  => Exit this menu         16 => none]}
            <Call 0x21f24 0x103e0>                                              {[«40""»]|[$$0  => Exit this menu         16 => none]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f26-21f2a StackAdj>                       Δ+44               {}
            <Blob 0x21f2a [40] @>                            Δ-40               {[«40""»]}
            <POP 21f36-21f38 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21f38 40>                                                    {[«40""»]|[$$1  => P1DCOMM                17 => P2IOC]}
            <Call 0x21f44 0x103e0>                                              {[«40""»]|[$$1  => P1DCOMM                17 => P2IOC]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f46-21f4a StackAdj>                       Δ+44               {}
            <Blob 0x21f4a [40] @>                            Δ-40               {[«40""»]}
            <POP 21f56-21f58 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21f58 40>                                                    {[«40""»]|[$$2  => P1FIU                  18 => P2MEM]}
            <Call 0x21f64 0x103e0>                                              {[«40""»]|[$$2  => P1FIU                  18 => P2MEM]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f66-21f67 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x21f67 [40] @>                            Δ-40               {[«40""»]}
            <POP 21f76-21f78 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21f78 39>                                                    {[«40""»]|[$$3  => P1IOC                  19 => P2MM]}
            <Call 0x21f86 0x103e0>                                              {[«40""»]|[$$3  => P1IOC                  19 => P2MM]}
                WriteConsoleStringCrLf(str : String)
            <POP 21f88-21f89 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x21f89 [40] @>                            Δ-40               {[«40""»]}
            <POP 21f98-21f9a StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21f9a 39>                                                    {[«40""»]|[$$4  => P1MEM                  20 => none]}
            <Call 0x21fa8 0x103e0>                                              {[«40""»]|[$$4  => P1MEM                  20 => none]}
                WriteConsoleStringCrLf(str : String)
            <POP 21faa-21fae StackAdj>                       Δ+44               {}
            <Blob 0x21fae [40] @>                            Δ-40               {[«40""»]}
            <POP 21fba-21fbc StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21fbc 40>                                                    {[«40""»]|[$$5  => P1SEQ                  21 => P2SEQ]}
            <Call 0x21fc8 0x103e0>                                              {[«40""»]|[$$5  => P1SEQ                  21 => P2SEQ]}
                WriteConsoleStringCrLf(str : String)
            <POP 21fca-21fcb StackAdj>                       Δ+44       ↓       {}
            <Blob 0x21fcb [42] @>                            Δ-42               {[«42""»]}
            <POP 21fda-21fdc StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x21fdc 41>                                                    {[«42""»]|[$$6  => P1SF                   22 => P2STOP]}
            <Call 0x21fea 0x103e0>                                              {[«42""»]|[$$6  => P1SF                   22 => P2STOP]}
                WriteConsoleStringCrLf(str : String)
            <POP 21fec-21fed StackAdj>                       Δ+46       ↓       {}
            <Blob 0x21fed [40] @>                            Δ-40               {[«40""»]}
            <POP 21ffc-21ffe StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x21ffe 39>                                                    {[«40""»]|[$$7  => none                   23 => none]}
            <Call 0x2200c 0x103e0>                                              {[«40""»]|[$$7  => none                   23 => none]}
                WriteConsoleStringCrLf(str : String)
            <POP 2200e-22012 StackAdj>                       Δ+44               {}
            <Blob 0x22012 [40] @>                            Δ-40               {[«40""»]}
            <POP 2201e-22020 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22020 40>                                                    {[«40""»]|[$$8  => P1TYP                  24 => P2TYP]}
            <Call 0x2202c 0x103e0>                                              {[«40""»]|[$$8  => P1TYP                  24 => P2TYP]}
                WriteConsoleStringCrLf(str : String)
            <POP 2202e-2202f StackAdj>                       Δ+44       ↓       {}
            <Blob 0x2202f [42] @>                            Δ-42               {[«42""»]}
            <POP 2203e-22040 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22040 41>                                                    {[«42""»]|[$$9  => P1VAL                  25 => P2UADR]}
            <Call 0x2204e 0x103e0>                                              {[«42""»]|[$$9  => P1VAL                  25 => P2UADR]}
                WriteConsoleStringCrLf(str : String)
            <POP 22050-22054 StackAdj>                       Δ+46               {}
            <Blob 0x22054 [42] @>                            Δ-42               {[«42""»]}
            <POP 22060-22062 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22062 42>                                                    {[«42""»]|[$$10 => P2ABUS                 26 => P2UCODE]}
            <Call 0x22070 0x103e0>                                              {[«42""»]|[$$10 => P2ABUS                 26 => P2UCODE]}
                WriteConsoleStringCrLf(str : String)
            <POP 22072-22076 StackAdj>                       Δ+46               {}
            <Blob 0x22076 [40] @>                            Δ-40               {[«40""»]}
            <POP 22082-22084 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22084 40>                                                    {[«40""»]|[$$11 => P2COND                 27 => P2VAL]}
            <Call 0x22090 0x103e0>                                              {[«40""»]|[$$11 => P2COND                 27 => P2VAL]}
                WriteConsoleStringCrLf(str : String)
            <POP 22092-22093 StackAdj>                       Δ+44       ↓       {}
            <Blob 0x22093 [42] @>                            Δ-42               {[«42""»]}
            <POP 220a2-220a4 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x220a4 41>                                                    {[«42""»]|[$$12 => P2CSA                  28 => P3RAMS]}
            <Call 0x220b2 0x103e0>                                              {[«42""»]|[$$12 => P2CSA                  28 => P3RAMS]}
                WriteConsoleStringCrLf(str : String)
            <POP 220b4-220b8 StackAdj>                       Δ+46               {}
            <Blob 0x220b8 [42] @>                            Δ-42               {[«42""»]}
            <POP 220c4-220c6 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x220c6 42>                                                    {[«42""»]|[$$13 => P2EVNT                 29 => P3UCODE]}
            <Call 0x220d4 0x103e0>                                              {[«42""»]|[$$13 => P2EVNT                 29 => P3UCODE]}
                WriteConsoleStringCrLf(str : String)
            <POP 220d6-220da StackAdj>                       Δ+46               {}
            <Blob 0x220da [40] @>                            Δ-40               {[«40""»]}
            <POP 220e6-220e8 StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x220e8 40>                                                    {[«40""»]|[$$14 => P2FIU                  30 => Other]}
            <Call 0x220f4 0x103e0>                                              {[«40""»]|[$$14 => P2FIU                  30 => Other]}
                WriteConsoleStringCrLf(str : String)
            <POP 220f6-220fa StackAdj>                       Δ+44               {}
            <Blob 0x220fa [10] @>                            Δ-10               {[«10""»]}
            <POP 22106-22108 StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x22108 10>                                                    {[«10""»]|[$$15 => P2FP]}
            <Call 0x22116 0x103e0>                                              {[«10""»]|[$$15 => P2FP]}
                WriteConsoleStringCrLf(str : String)
            <POP 22118-2211c StackAdj>                       Δ+14               {}
            <Blob 0x2211c [20] @>                            Δ-20               {[«20""»]}
            <POP 22128-2212a StackAdj>                       Δ-8                {[«20""»]|[-8-]}
            <Lit 0x2212a 20>                                                    {[«20""»]|[-4-]|[$$Enter test option :_]}
            <Const 0x22138 0x0.4>                            Δ-4                {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]}
            <Const 0x2213c 0x1e.4>                           Δ-4                {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]|[##30]}
            <Call 0x22140 0x103ec>                                              {[«20""»]|[-4-]|[$$Enter test option :_]|[##0]|[##30]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22146-2214a StackAdj>                       Δ+12               {[«20""»]|[-4-]}
            <MI 2214a  MOVE.L  (A7)+,D5>                     Δ+4                {[«20""»]}
            <POP 2214c-22150 StackAdj>                       Δ+20               {}
            <MI 22150  MOVE.B  #0x02,(A6-0x18)>                                 {}
            <MI 22156  TST.L   D5>                                              {}
            <MI 22158  BEQ     0x22432>                                         {}
        <POP 2215c-22164 Naked>                              Σ0         ↓ →0x221c6
            <MI 2215c  CMPI.L  #0x0000001e,D5>                                  {}
            <MI 22162  BNE     0x221c6>                                         {}
        <POP 22164-221b8 Naked>                              Σ0 Δ-26    ↓ →0x221bc
            <Blob 0x22164 [18] @>                            Δ-18               {[«18""»]}
            <POP 22170-22172 StackAdj>                       Δ-8                {[«18""»]|[-8-]}
            <Lit 0x22172 18>                                                    {[«18""»]|[-4-]|[$$Enter test name :_]}
            <Call 0x22180 0x103e4>                                              {[«18""»]|[-4-]|[$$Enter test name :_]}
                AskConsoleString(prompt : String) : String
            <POP 22186-22188 StackAdj>                       Δ+4                {[«18""»]|[-4-]}
            <MI 22188  MOVEA.L (A7)+,A4>                     Δ+4                {[«18""»]}
            <POP 2218a-2218b StackAdj>                       Δ+18       ↓       {}
            <Blob 0x2218b [26] @>                            Δ-26               {[«26""»]}
            <POP 2219a-2219c StackAdj>                       Δ-6                {[«26""»]|[-6-]}
            <Lit 0x2219c 25>                                                    {[«26""»]|[-2-]|[$$Is this a multi-board FRU]}
            <POP 221a8-221aa StackAdj>                       Δ-2                {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[-2-]}
            <POP 221aa-221ab StackAdj>                       Δ+2                {[«26""»]|[-2-]|[$$Is this a multi-board FRU]}
            <Const 0x221ab 0x1.2>                            Δ-2                {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[#1]}
            <Call 0x221ac 0x103f0>                                              {[«26""»]|[-2-]|[$$Is this a multi-board FRU]|[#1]}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 221b2-221b4 StackAdj>                       Δ+6                {[«26""»]|[-2-]}
            <MI 221b4  TST.B   (A7)+>                        Δ+2                {[«26""»]}
            <MI 221b6  BEQ     0x221bc>                                         {[«26""»]}
        <POP 221b8-221bc Naked>                              Σ-26       →0x221be
            <MI 221b8  MOVEQ.L #0x01,D7>                                        {[-26-]}
            <MI 221ba  BRA     0x221be>                                         {[-26-]}
        <POP 221bc-221be Naked>                              Σ-26       ↓ ←0x22164
            <MI 221bc  MOVEQ.L #0x00,D7>                                        {[-26-]}
        <POP 221be-221c6 Naked>                              Σ-26 Δ+26  →0x2222e ←0x221b8
            <POP 221be-221c2 StackAdj>                       Δ+26               {}
            <MI 221c2  MOVEQ.L #0x01,D6>                                        {}
            <MI 221c4  BRA     0x2222e>                                         {}
        <POP 221c6-2221e Naked>                              Σ0         ↓ →0x2222c ←0x2215c
            <MI 221c6  MOVE.L  D5,D0>                                           {}
            <MI 221c8  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x221ca LimitCheck 0x0 ≤ D0 ≤ 0x1c>                            {}
            <MI 221d4  MOVE.L  D0,D4>                                           {}
            <MI 221d6  MOVEQ.L #0x0c,D3>                                        {}
            <Call 0x221d8 0x1028c>                                              {}
                ?muls_d3_d4
            <MI 221de  LEA.L   0x2132e,A0>                                      {}
            <Blob 0x221e2 [10] (A0+D4.L)>                    Δ-10               {[«10»]}
            <POP 221f4-221f6 StackAdj>                       Δ-4                {[«10»]|[-4-]}
            <Lit 0x221f6>                                                       {[«10»]|[$$…]}
                <Pointer.sp 0x221f6 4>                       Δ-4        
                <Const 0x221fa 0x1.2>                        Δ-2        
                <Const 0x221fc 0xa.2>                        Δ-2        
                <Call 0x22200 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 22202-22204 StackAdj>                   Δ+8        
            <MI 22204  MOVEA.L (A7)+,A4>                     Δ+4                {[«10»]}
            <POP 22206-2220a StackAdj>                       Δ+10               {}
            <MI 2220a  LEA.L   0x2132e,A0>                                      {}
            <MI 2220e  MOVE.B  (A0+D4.L+#0xa),D7>                               {}
            <MI 22212  MOVEQ.L #0x00,D6>                                        {}
            <MI 22214  LEA.L   0x2132e,A0>                                      {}
            <MI 22218  TST.B   (A0+D4.L+#0xb)>                                  {}
            <MI 2221c  BEQ     0x2222c>                                         {}
        <POP 2221e-2222c Naked>                              Σ0         ↓ →0x2222e
            <MI 2221e  LEA.L   0x2132e,A0>                                      {}
            <MI 22222  MOVE.B  (A0+D4.L+#0xb),D0>                               {}
            <MI 22226  CMP.B   (A6-0x18),D0>                                    {}
            <MI 2222a  BNE     0x2222e>                                         {}
        <POP 2222c-2222e Naked>                              Σ0         ↓ ←0x221c6
            <MI 2222c  ADDQ.B  #0x1,D6>                                         {}
        <POP 2222e-22234 Naked>                              Σ0         ↓ →0x2240a ←0x221be ←0x2221e
            <MI 2222e  TST.B   D6>                                              {}
            <MI 22230  BEQ     0x2240a>                                         {}
        <POP 22234-2223e Naked>                              Σ0         ↓ →0x2227c
            <Call 0x22234 0x10538>                                              {}
                IPC_Init(void)
            <MI 2223a  CMP.B   #0x01,D7>                                        {}
            <MI 2223c  BNE     0x2227c>                                         {}
        <POP 2223e-2227c Naked>                              Σ0         →0x222b8
            <Blob 0x2223e [44] @>                            Δ-44               {[«44""»]}
            <POP 22250-22252 StackAdj>                       Δ-6                {[«44""»]|[-6-]}
            <Lit 0x22252 43>                                                    {[«44""»]|[-2-]|[$$Which board(s) should this FRU be run on :_]}
            <Call 0x22260 0x21dcc>                                              {[«44""»]|[-2-]|[$$Which board(s) should this FRU be run on :_]}
            <POP 22264-22266 StackAdj>                       Δ+4                {[«44""»]|[-2-]}
            <MI 22266  MOVE.B  (A7)+,D0>                     Δ+2                {[«44""»]}
            <MI 22268  EXTB.W  D0>                                              {[«44""»]}
            <MI 2226a  EXTW.L  D0>                                              {[«44""»]}
            <POP 0x2226c LimitCheck 0x0 ≤ D0 ≤ 0xff>                            {[«44""»]}
            <POP 22276-2227a StackAdj>                       Δ+44               {}
            <MI 2227a  BRA     0x222b8>                                         {}
        <POP 2227c-22282 Naked>                              Σ0         ↓ →0x222d2 ←0x22234
            <MI 2227c  CMPI.B  #0x02,D7>                                        {}
            <MI 22280  BNE     0x222d2>                                         {}
        <POP 22282-222b8 Naked>                              Σ0         ↓
            <Blob 0x22282 [38] @>                            Δ-38               {[«38""»]}
            <POP 2228e-22290 StackAdj>                       Δ-6                {[«38""»]|[-6-]}
            <Lit 0x22290 38>                                                    {[«38""»]|[-2-]|[$$Which function should this FRU test :_]}
            <Call 0x2229e 0x21bf4>                                              {[«38""»]|[-2-]|[$$Which function should this FRU test :_]}
            <POP 222a2-222a4 StackAdj>                       Δ+4                {[«38""»]|[-2-]}
            <MI 222a4  MOVE.B  (A7)+,D0>                     Δ+2                {[«38""»]}
            <MI 222a6  EXTB.W  D0>                                              {[«38""»]}
            <MI 222a8  EXTW.L  D0>                                              {[«38""»]}
            <POP 0x222aa LimitCheck 0x0 ≤ D0 ≤ 0xff>                            {[«38""»]}
            <POP 222b4-222b8 StackAdj>                       Δ+38               {}
        <POP 222b8-222d2 Naked>                              Σ0         ↓ ←0x2223e
            <MI 222b8  MOVE.B  D0,(A6-0x16)>                                    {}
            <MI 222bc  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <MI 222be  PEA.L   (A7)>                         Δ-4                {[2, 'D0']|[4, '^(A7)']}
            <Const 0x222c0 0x0.4>                            Δ-4                {[2, 'D0']|[4, '^(A7)']|[##0]}
            <Const 0x222c4 0x0.4>                            Δ-4                {[2, 'D0']|[4, '^(A7)']|[##0]|[##0]}
            <Call 0x222c8 0x104fc>                                              {[2, 'D0']|[4, '^(A7)']|[##0]|[##0]}
                IPC_PutVar(src : Pointer; length : Long ; type : Long)
            <POP 222ce-222d2 StackAdj>                       Δ+14               {}
        <POP 222d2-22300 Naked>                              Σ0         ↓ →0x22328 ←0x2227c
            <MI 222d2  MOVE.B  0x231ba,D0>                                      {}
            <MI 222d8  EXTB.W  D0>                                              {}
            <POP 0x222da LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 222dc  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x222de 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 222e4-222e6 StackAdj>                       Δ+2                {}
            <MI 222e6  MOVE.B  0x231bb,D0>                                      {}
            <MI 222ec  EXTB.W  D0>                                              {}
            <POP 0x222ee LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 222f0  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x222f2 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 222f8-222fa StackAdj>                       Δ+2                {}
            <MI 222fa  CMPI.B  #0x02,D7>                                        {}
            <MI 222fe  BNE     0x22328>                                         {}
        <POP 22300-22328 Naked>                              Σ0         ↓
            <MI 22300  MOVE.B  0x231c0,D0>                                      {}
            <MI 22306  EXTB.W  D0>                                              {}
            <POP 0x22308 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2230a  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x2230c 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 22312-22314 StackAdj>                       Δ+2                {}
            <MI 22314  MOVE.B  0x231c0,D0>                                      {}
            <MI 2231a  EXTB.W  D0>                                              {}
            <POP 0x2231c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {}
            <MI 2231e  MOVE.B  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x22320 0x10502>                                              {[2, 'D0']}
                IPC_PutBool(a : Bool)
            <POP 22326-22328 StackAdj>                       Δ+2                {}
        <POP 22328-2240a Naked>                              Σ0         →0x22432 ←0x222d2
            <Call 0x22328 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x2232e [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x22332 [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <Blob 0x22336 [4] @>                             Δ-4                {[«4""»]|[«4""»]|[«4""»]}
            <POP 2233a-2233c StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[-8-]}
            <Lit 0x2233c 12>                                                    {[«4""»]|[«4""»]|[«4""»]|[-4-]|[$$running FRU_]}
            <MI 22348  MOVE.L  A4,(A7)>                                         {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, 'A4']}
            <POP 22346-22348 StackAdj>                       Δ-8                {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, 'A4']|[-8-]}
            <Call 0x2234a 0x102cc>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, 'A4']|[-8-]}
                StringDup(a : String) : String
            <POP 22350-22352 StackAdj>                       Δ+4                {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, 'A4']|[-4-]}
            <Call 0x22352 0x102d0>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]|[4, 'A4']|[-4-]}
                StringCat2(a, b : String) : String
            <POP 22358-2235a StackAdj>                       Δ+8                {[«4""»]|[«4""»]|[«4""»]|[-4-]}
            <Call 0x2235a 0x103e0>                                              {[«4""»]|[«4""»]|[«4""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 2235c-2235e StackAdj>                       Δ+8                {[«4""»]|[«4""»]}
            <MI 2235e  MOVE.L  A4,(A7)>                                         {[«4""»]|[4, 'A4']}
            <Call 0x22360 0x102cc>                                              {[«4""»]|[4, 'A4']}
                StringDup(a : String) : String
            <POP 22366-22368 StackAdj>                       Δ+4                {[«4""»]}
            <Const 0x22368 0x1.4>                            Δ-4                {[«4""»]|[##1]}
            <Const 0x2236c 0x1.2>                            Δ-2                {[«4""»]|[##1]|[#1]}
            <Pointer.fp 0x2236e <LVAR -0x003 @>>             Δ-4                {[«4""»]|[##1]|[#1]|[@@-3]}
            <Call 0x22372 0x103b0>                                              {[«4""»]|[##1]|[#1]|[@@-3]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 22378-2237c StackAdj>                       Δ+14               {}
            <Call 0x2237c 0x10538>                                              {}
                IPC_Init(void)
            <Pointer.fp 0x22382 <LVAR -0x01e @ 1(r)>>        Δ-4                {[@@-30]}
            <Call 0x22386 0x10526>                                              {[@@-30]}
                IPC_GetBool() : Bool
            <POP 2238c-2238e StackAdj>                       Δ+4                {}
            <Pointer.fp 0x2238e <LVAR -0x014 @ 4(r)>>        Δ-4                {[@@-20]}
            <Call 0x22392 0x1052c>                                              {[@@-20]}
                IPC_GetString(VAR retval : String)
            <POP 22398-2239a StackAdj>                       Δ+4                {}
            <Pointer.fp 0x2239a <LVAR -0x010 @ 4(r)>>        Δ-4                {[@@-16]}
            <Call 0x2239e 0x1052c>                                              {[@@-16]}
                IPC_GetString(VAR retval : String)
            <POP 223a4-223a6 StackAdj>                       Δ+4                {}
            <Pointer.fp 0x223a6 <LVAR -0x00c @ 1(r)>>        Δ-4                {[@@-12]}
            <Const 0x223aa 0x0.4>                            Δ-4                {[@@-12]|[##0]}
            <Const 0x223ae 0x0.4>                            Δ-4                {[@@-12]|[##0]|[##0]}
            <Call 0x223b2 0x10520>                                              {[@@-12]|[##0]|[##0]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 223b8-223bc StackAdj>                       Δ+12               {}
            <Pointer.fp 0x223bc <LVAR -0x00b @>>             Δ-4                {[@@-11]}
            <Const 0x223c0 0x0.4>                            Δ-4                {[@@-11]|[##0]}
            <Const 0x223c4 0x7.4>                            Δ-4                {[@@-11]|[##0]|[##7]}
            <Call 0x223c8 0x10520>                                              {[@@-11]|[##0]|[##7]}
                IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
            <POP 223ce-223d2 StackAdj>                       Δ+12               {}
            <Call 0x223d2 0x1051a>                                              {}
                IPC_GetEnd(void)
            <MI 223d8  MOVE.L  A4,-(A7)>                     Δ-4                {[4, 'A4']}
            <MI 223da  MOVE.B  (A6-0x1e),D0>                                    {[4, 'A4']}
            <MI 223de  EXTB.W  D0>                                              {[4, 'A4']}
            <POP 0x223e0 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[4, 'A4']}
            <MI 223e2  MOVE.B  D0,-(A7)>                     Δ-2                {[4, 'A4']|[2, 'D0']}
            <MI 223e4  MOVE.L  (A6-0x14),-(A7)>              Δ-4                {[4, 'A4']|[2, 'D0']|[4, '(A6-0x14)']}
            <MI 223e8  MOVE.L  (A6-0x10),-(A7)>              Δ-4                {[4, 'A4']|[2, 'D0']|[4, '(A6-0x14)']|[4, '(A6-0x10)']}
            <MI 223ec  MOVE.B  (A6-0xc),-(A7)>               Δ-2                {[4, 'A4']|[2, 'D0']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']}
            <Blob 0x223f0 [8] (A6-0xb)>                      Δ-8                {[4, 'A4']|[2, 'D0']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']|[«8»]}
            <Call 0x22400 0x2162c>                                              {[4, 'A4']|[2, 'D0']|[4, '(A6-0x14)']|[4, '(A6-0x10)']|[2, '(A6-0xc)']|[«8»]}
            <POP 22404-22408 StackAdj>                       Δ+24               {}
            <MI 22408  BRA     0x22432>                                         {}
        <POP 2240a-22432 Naked>                              Σ0         ↓ ←0x2222e
            <Blob 0x2240a [60] @>                            Δ-60               {[«60""»]}
            <POP 2241c-2241e StackAdj>                       Δ-4                {[«60""»]|[-4-]}
            <Lit 0x2241e 59>                                                    {[«60""»]|[$$That test option is not applicable to this R1000 Processor.]}
            <Call 0x2242c 0x103e0>                                              {[«60""»]|[$$That test option is not applicable to this R1000 Processor.]}
                WriteConsoleStringCrLf(str : String)
            <POP 2242e-22432 StackAdj>                       Δ+64               {}
        <POP 22432-2243a Epilogue>                           Σ0         ←0x21f04 ←0x22328

0x2243a


@ 2243a
        <LVAR -0x004 @>
    <POP 2243a-224a6 Body>                                              
        <POP 2243a-22450 Prologue>                           Σ0         ↓
        <POP 22450-22452 RegCacheLoad>                       Σ0         ↓
        <POP 22452-2249e Naked>                              Σ0         ↓
            <Blob 0x22452 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x22456 [12] @>                            Δ-12               {[«4""»]|[«12""»]}
            <POP 22468-2246a StackAdj>                       Δ-4                {[«4""»]|[«12""»]|[-4-]}
            <Lit 0x2246a 4>                                                     {[«4""»]|[«12""»]|[$$P2FP]}
            <POP 2247a-2247c StackAdj>                       Δ-4                {[«4""»]|[«12""»]|[$$P2FP]|[-4-]}
            <Lit 0x2247c 11>                                                    {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]}
            <POP 2248c-2248e StackAdj>                       Δ-2                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[-2-]}
            <POP 2248e-2248f StackAdj>                       Δ+2                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]}
            <Const 0x2248f 0x1.2>                            Δ-2                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]}
            <Pointer.fp 0x22490 <LVAR -0x004 @>>             Δ-4                {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]|[@@-4]}
            <Call 0x22494 0x103b0>                                              {[«4""»]|[«12""»]|[$$P2FP]|[$$INTERACTIVE]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 2249a-2249e StackAdj>                       Δ+30               {}
        <POP 2249e-224a6 Epilogue>                           Σ0         

0x224a6


@ 224a6
    <POP 224a6-2260a Body>                                              
        <POP 224a6-224bc Prologue>                           Σ0         ↓
        <POP 224bc-224d2 RegCacheLoad>                       Σ0         ↓
        <POP 224d2-225da Naked>                              Σ0         →0x225e4 →0x225e6 →0x225ec →0x225f2 →0x225f8 ←0x225fc
            <Blob 0x224d2 [26] @>                            Δ-26               {[«26""»]}
            <POP 224e2-224e4 StackAdj>                       Δ-4                {[«26""»]|[-4-]}
            <Lit 0x224e4 25>                                                    {[«26""»]|[$$Diagnostic execution menu]}
            <Call 0x224f2 0x103e0>                                              {[«26""»]|[$$Diagnostic execution menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 224f4-224f5 StackAdj>                       Δ+30       ↓       {}
            <Blob 0x224f5 [28] @>                            Δ-28               {[«28""»]}
            <POP 22504-22506 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22506 27>                                                    {[«28""»]|[$$    1 => Test the foreplane]}
            <Call 0x22514 0x103e0>                                              {[«28""»]|[$$    1 => Test the foreplane]}
                WriteConsoleStringCrLf(str : String)
            <POP 22516-22518 StackAdj>                       Δ+32               {}
            <Blob 0x22518 [22] @>                            Δ-22               {[«22""»]}
            <POP 22524-22526 StackAdj>                       Δ-4                {[«22""»]|[-4-]}
            <Lit 0x22526 22>                                                    {[«22""»]|[$$    2 => Run all tests]}
            <Call 0x22532 0x103e0>                                              {[«22""»]|[$$    2 => Run all tests]}
                WriteConsoleStringCrLf(str : String)
            <POP 22534-22536 StackAdj>                       Δ+26               {}
            <Blob 0x22536 [56] @>                            Δ-56               {[«56""»]}
            <POP 22542-22544 StackAdj>                       Δ-4                {[«56""»]|[-4-]}
            <Lit 0x22544 56>                                                    {[«56""»]|[$$    3 => Run all tests applicable to a given FRU (board)]}
            <Call 0x22552 0x103e0>                                              {[«56""»]|[$$    3 => Run all tests applicable to a given FRU (board)]}
                WriteConsoleStringCrLf(str : String)
            <POP 22554-22558 StackAdj>                       Δ+60               {}
            <Blob 0x22558 [28] @>                            Δ-28               {[«28""»]}
            <POP 22564-22566 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22566 28>                                                    {[«28""»]|[$$    4 => Run a specific test]}
            <Call 0x22572 0x103e0>                                              {[«28""»]|[$$    4 => Run a specific test]}
                WriteConsoleStringCrLf(str : String)
            <POP 22574-22576 StackAdj>                       Δ+32               {}
            <Blob 0x22576 [28] @>                            Δ-28               {[«28""»]}
            <POP 22582-22584 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22584 28>                                                    {[«28""»]|[$$    0 => Return to main menu]}
            <Call 0x22590 0x103e0>                                              {[«28""»]|[$$    0 => Return to main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22592-22594 StackAdj>                       Δ+32               {}
            <Blob 0x22594 [22] @>                            Δ-22               {[«22""»]}
            <POP 225a0-225a2 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x225a2 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x225ae 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x225b2 0x4.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
            <Call 0x225b6 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 225bc-225c0 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 225c0  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 225c2-225c4 StackAdj>                       Δ+22               {}
            <MI 225c4  MOVE.L  D7,D0>                                           {}
            <POP 0x225c6 LimitCheck 0x0 ≤ D0 ≤ 0x4>                             {}
            <MI 225d0  ADD.W   D0,D0>                                           {}
            <MI 225d2  SWITCH  D0.W>                                            {}
        <POP 225e4-225e6 Naked>                              Σ0         →0x225fc ←0x224d2
            <MI 225e4  BRA     0x225fc>                                         {}
        <POP 225e6-225ec Naked>                              Σ0         →0x225fc ←0x224d2
            <Call 0x225e6 0x2243a>                                              {}
            <MI 225ea  BRA     0x225fc>                                         {}
        <POP 225ec-225f2 Naked>                              Σ0         →0x225fc ←0x224d2
            <Call 0x225ec 0x21a26>                                              {}
            <MI 225f0  BRA     0x225fc>                                         {}
        <POP 225f2-225f8 Naked>                              Σ0         →0x225fc ←0x224d2
            <Call 0x225f2 0x21a48>                                              {}
            <MI 225f6  BRA     0x225fc>                                         {}
        <POP 225f8-225fc Naked>                              Σ0         ↓ ←0x224d2
            <Call 0x225f8 0x21ede>                                              {}
        <POP 225fc-22602 Naked>                              Σ0         ↓ →0x224d2 ←0x225e4 ←0x225e6 ←0x225ec ←0x225f2
            <MI 225fc  TST.L   D7>                                              {}
            <MI 225fe  BNE     0x224d2>                                         {}
        <POP 22602-2260a Epilogue>                           Σ0         

0x2260a


@ 2260a
    <POP 2260a-2265a Body>                                              
        <POP 2260a-22620 Prologue>                           Σ0         ↓
        <POP 22620-22652 Naked>                              Σ0         ↓
            <Blob 0x22620 [18] @>                            Δ-18               {[«18""»]}
            <POP 22632-22634 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x22634 17>                                                    {[«18""»]|[$$Not yet supported]}
            <Call 0x22648 0x103e0>                                              {[«18""»]|[$$Not yet supported]}
                WriteConsoleStringCrLf(str : String)
            <POP 2264e-22652 StackAdj>                       Δ+22               {}
        <POP 22652-2265a Epilogue>                           Σ0         

0x2265a


@ 2265a
    <POP 2265a-22a50 Body>                                              
        <POP 2265a-22670 Prologue>                           Σ0         ↓
        <POP 22670-2268e RegCacheLoad>                       Σ0         ↓
        <POP 2268e-2279e Naked>                              Σ0         →0x227a8 →0x227ac →0x227ec →0x22836 →0x2287a ←0x22a42
            <Blob 0x2268e [18] @>                            Δ-18               {[«18""»]}
            <POP 226a0-226a2 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x226a2 17>                                                    {[«18""»]|[$$Test options menu]}
            <Call 0x226b0 0x103e0>                                              {[«18""»]|[$$Test options menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 226b2-226b4 StackAdj>                       Δ+22               {}
            <Blob 0x226b4 [24] @>                            Δ-24               {[«24""»]}
            <POP 226c0-226c2 StackAdj>                       Δ-4                {[«24""»]|[-4-]}
            <Lit 0x226c2 24>                                                    {[«24""»]|[$$    1 => Specify tracing]}
            <Call 0x226d0 0x103e0>                                              {[«24""»]|[$$    1 => Specify tracing]}
                WriteConsoleStringCrLf(str : String)
            <POP 226d2-226d4 StackAdj>                       Δ+28               {}
            <Blob 0x226d4 [44] @>                            Δ-44               {[«44""»]}
            <POP 226e0-226e2 StackAdj>                       Δ-4                {[«44""»]|[-4-]}
            <Lit 0x226e2 44>                                                    {[«44""»]|[$$    2 => Specify force control store loading]}
            <Call 0x226f0 0x103e0>                                              {[«44""»]|[$$    2 => Specify force control store loading]}
                WriteConsoleStringCrLf(str : String)
            <POP 226f2-226f6 StackAdj>                       Δ+48               {}
            <Blob 0x226f6 [42] @>                            Δ-42               {[«42""»]}
            <POP 22702-22704 StackAdj>                       Δ-4                {[«42""»]|[-4-]}
            <Lit 0x22704 42>                                                    {[«42""»]|[$$    3 => Specify automatic fault isolation]}
            <Call 0x22712 0x103e0>                                              {[«42""»]|[$$    3 => Specify automatic fault isolation]}
                WriteConsoleStringCrLf(str : String)
            <POP 22714-22718 StackAdj>                       Δ+46               {}
            <Blob 0x22718 [62] @>                            Δ-62               {[«62""»]}
            <POP 22724-22726 StackAdj>                       Δ-4                {[«62""»]|[-4-]}
            <Lit 0x22726 62>                                                    {[«62""»]|[$$    4 => List explainations and current state of these options]}
            <Call 0x22734 0x103e0>                                              {[«62""»]|[$$    4 => List explainations and current state of these options]}
                WriteConsoleStringCrLf(str : String)
            <POP 22736-2273a StackAdj>                       Δ+66               {}
            <Blob 0x2273a [28] @>                            Δ-28               {[«28""»]}
            <POP 22746-22748 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22748 28>                                                    {[«28""»]|[$$    0 => Return to main menu]}
            <Call 0x22754 0x103e0>                                              {[«28""»]|[$$    0 => Return to main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22756-22758 StackAdj>                       Δ+32               {}
            <Blob 0x22758 [22] @>                            Δ-22               {[«22""»]}
            <POP 22764-22766 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22766 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x22772 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x22776 0x4.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
            <Call 0x2277a 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##4]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22780-22784 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 22784  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 22786-22788 StackAdj>                       Δ+22               {}
            <MI 22788  MOVE.L  D7,D0>                                           {}
            <POP 0x2278a LimitCheck 0x0 ≤ D0 ≤ 0x4>                             {}
            <MI 22794  ADD.W   D0,D0>                                           {}
            <MI 22796  SWITCH  D0.W>                                            {}
        <POP 227a8-227ac Naked>                              Σ0         →0x22a42 ←0x2268e
            <MI 227a8  BRA     0x22a42>                                         {}
        <POP 227ac-227ec Naked>                              Σ0         →0x22a42 ←0x2268e
            <Blob 0x227ac [14] @>                            Δ-14               {[«14""»]}
            <POP 227b8-227ba StackAdj>                       Δ-6                {[«14""»]|[-6-]}
            <Lit 0x227ba 14>                                                    {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 227c8  MOVE.B  0x231bb,D0>                                      {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 227ca  NEG.B   D0>                                              {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 227cc  ADDQ.B  #0x1,D0>                                         {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 227ce  EXTB.W  D0>                                              {[«14""»]|[-2-]|[$$Enable tracing]}
            <POP 0x227d0 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«14""»]|[-2-]|[$$Enable tracing]}
            <MI 227d2  MOVE.B  D0,-(A7)>                     Δ-2                {[«14""»]|[-2-]|[$$Enable tracing]|[2, 'D0']}
            <Call 0x227d4 0x103f0>                                              {[«14""»]|[-2-]|[$$Enable tracing]|[2, 'D0']}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 227da-227dc StackAdj>                       Δ+6                {[«14""»]|[-2-]}
            <MI 227dc  MOVE.B  (A7)+,D0>                     Δ+2                {[«14""»]}
            <MI 227de  EXTB.W  D0>                                              {[«14""»]}
            <POP 0x227e0 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«14""»]}
            <POP 227e2-227e6 StackAdj>                       Δ+14               {}
            <MI 227e6  MOVE.B  D0,0x231bb>                                      {}
            <MI 227e8  BRA     0x22a42>                                         {}
        <POP 227ec-22836 Naked>                              Σ0         →0x22a42 ←0x2268e
            <Blob 0x227ec [28] @>                            Δ-28               {[«28""»]}
            <POP 227fc-227fe StackAdj>                       Δ-6                {[«28""»]|[-6-]}
            <Lit 0x227fe 27>                                                    {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 2280c  MOVE.B  0x231c0,D0>                                      {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22812  NEG.B   D0>                                              {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22814  ADDQ.B  #0x1,D0>                                         {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 22816  EXTB.W  D0>                                              {[«28""»]|[-2-]|[$$Force control store loading]}
            <POP 0x22818 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«28""»]|[-2-]|[$$Force control store loading]}
            <MI 2281a  MOVE.B  D0,-(A7)>                     Δ-2                {[«28""»]|[-2-]|[$$Force control store loading]|[2, 'D0']}
            <Call 0x2281c 0x103f0>                                              {[«28""»]|[-2-]|[$$Force control store loading]|[2, 'D0']}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 22822-22824 StackAdj>                       Δ+6                {[«28""»]|[-2-]}
            <MI 22824  MOVE.B  (A7)+,D0>                     Δ+2                {[«28""»]}
            <MI 22826  EXTB.W  D0>                                              {[«28""»]}
            <POP 0x22828 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«28""»]}
            <POP 2282a-2282c StackAdj>                       Δ+28               {}
            <MI 2282c  MOVE.B  D0,0x231c0>                                      {}
            <MI 22832  BRA     0x22a42>                                         {}
        <POP 22836-2287a Naked>                              Σ0         →0x22a42 ←0x2268e
            <Blob 0x22836 [32] @>                            Δ-32               {[«32""»]}
            <POP 22842-22844 StackAdj>                       Δ-6                {[«32""»]|[-6-]}
            <Lit 0x22844 32>                                                    {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22850  MOVE.B  0x231ba,D0>                                      {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22856  NEG.B   D0>                                              {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 22858  ADDQ.B  #0x1,D0>                                         {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 2285a  EXTB.W  D0>                                              {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <POP 0x2285c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«32""»]|[-2-]|[$$Enable automatic fault isolation]}
            <MI 2285e  MOVE.B  D0,-(A7)>                     Δ-2                {[«32""»]|[-2-]|[$$Enable automatic fault isolation]|[2, 'D0']}
            <Call 0x22860 0x103f0>                                              {[«32""»]|[-2-]|[$$Enable automatic fault isolation]|[2, 'D0']}
                AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
            <POP 22866-22868 StackAdj>                       Δ+6                {[«32""»]|[-2-]}
            <MI 22868  MOVE.B  (A7)+,D0>                     Δ+2                {[«32""»]}
            <MI 2286a  EXTB.W  D0>                                              {[«32""»]}
            <POP 0x2286c LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«32""»]}
            <POP 2286e-22870 StackAdj>                       Δ+32               {}
            <MI 22870  MOVE.B  D0,0x231ba>                                      {}
            <MI 22876  BRA     0x22a42>                                         {}
        <POP 2287a-228c2 Naked>                              Σ0         ↓ →0x228dc ←0x2268e
            <Blob 0x2287a [70] @>                            Δ-70               {[«70""»]}
            <POP 22886-22888 StackAdj>                       Δ-4                {[«70""»]|[-4-]}
            <Lit 0x22888 70>                                                    {[«70""»]|[$$TRACING when ON causes the names of experiments to be displayed on the]}
            <Call 0x22894 0x103e0>                                              {[«70""»]|[$$TRACING when ON causes the names of experiments to be displayed on the]}
                WriteConsoleStringCrLf(str : String)
            <POP 22896-22898 StackAdj>                       Δ+74               {}
            <Blob 0x22898 [36] @>                            Δ-36               {[«36""»]}
            <POP 228a4-228a6 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x228a6 36>                                                    {[«36""»]|[$$terminal as they are run. It is now_]}
            <Call 0x228b4 0x103d8>                                              {[«36""»]|[$$terminal as they are run. It is now_]}
                WriteConsoleString(str : String)
            <POP 228ba-228be StackAdj>                       Δ+40               {}
            <MI 228be  TST.B   0x231bb>                                         {}
            <MI 228c0  BEQ     0x228dc>                                         {}
        <POP 228c2-228dc Naked>                              Σ0         →0x22902
            <Blob 0x228c2 [2] @>                             Δ-2                {[«2""»]}
            <POP 228c6-228c8 StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <Lit 0x228c8 2>                                                     {[«2""»]|[$$ON]}
            <Call 0x228d6 0x103e0>                                              {[«2""»]|[$$ON]}
                WriteConsoleStringCrLf(str : String)
            <POP 228d8-228da StackAdj>                       Δ+6                {}
            <MI 228da  BRA     0x22902>                                         {}
        <POP 228dc-22902 Naked>                              Σ0         ↓ ←0x2287a
            <POP 228dc-228de StackAdj>                       Δ-4                {[-4-]}
            <POP 228de-228df StackAdj>                       Δ+2                {[-2-]}
            <Blob 0x228df [2] @>                             Δ-2                {[-2-]|[«2""»]}
            <MI 228e2  MOVE.B  0x20e77,(A7+0x1)>                                {[-2-]|[«2""»]}
            <MI 228e8  MOVE.B  0x20e78,(A7+0x2)>                                {[-2-]|[«2""»]}
            <POP 228ee-228f0 StackAdj>                       Δ-4                {[-2-]|[«2""»]|[-4-]}
            <Lit 0x228f0>                                                       {[-2-]|[«2""»]|[$$…]}
                <Pointer.sp 0x228f0 4>                       Δ-4        
                <Const 0x228f4 0x1.2>                        Δ-2        
                <Const 0x228f6 0x3.2>                        Δ-2        
                <Call 0x228fa 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 228fc-228fe StackAdj>                   Δ+8        
            <Call 0x228fe 0x103e0>                                              {[-2-]|[«2""»]|[$$…]}
                WriteConsoleStringCrLf(str : String)
            <POP 22900-22902 StackAdj>                       Δ+8                {}
        <POP 22902-2296e Naked>                              Σ0         ↓ →0x22988 ←0x228c2
            <Blob 0x22902 [72] @>                            Δ-72               {[«72""»]}
            <POP 2290e-22910 StackAdj>                       Δ-4                {[«72""»]|[-4-]}
            <Lit 0x22910 72>                                                    {[«72""»]|[$$FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode]}
            <Call 0x2291e 0x103e0>                                              {[«72""»]|[$$FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode]}
                WriteConsoleStringCrLf(str : String)
            <POP 22920-22921 StackAdj>                       Δ+76       ↓       {}
            <Blob 0x22921 [70] @>                            Δ-70               {[«70""»]}
            <POP 22930-22932 StackAdj>                       Δ-4                {[«70""»]|[-4-]}
            <Lit 0x22932 69>                                                    {[«70""»]|[$$into control store every time they are run, even if the microcode was]}
            <Call 0x22940 0x103e0>                                              {[«70""»]|[$$into control store every time they are run, even if the microcode was]}
                WriteConsoleStringCrLf(str : String)
            <POP 22942-22944 StackAdj>                       Δ+74               {}
            <Blob 0x22944 [70] @>                            Δ-70               {[«70""»]}
            <POP 22950-22952 StackAdj>                       Δ-4                {[«70""»]|[-4-]}
            <Lit 0x22952 70>                                                    {[«70""»]|[$$still in control store from the last time the test was run. It is now_]}
            <Call 0x2295e 0x103d8>                                              {[«70""»]|[$$still in control store from the last time the test was run. It is now_]}
                WriteConsoleString(str : String)
            <POP 22964-22966 StackAdj>                       Δ+74               {}
            <MI 22966  TST.B   0x231c0>                                         {}
            <MI 2296c  BEQ     0x22988>                                         {}
        <POP 2296e-22988 Naked>                              Σ0         →0x229ae
            <Blob 0x2296e [2] @>                             Δ-2                {[«2""»]}
            <POP 22972-22974 StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <Lit 0x22974 2>                                                     {[«2""»]|[$$ON]}
            <Call 0x22982 0x103e0>                                              {[«2""»]|[$$ON]}
                WriteConsoleStringCrLf(str : String)
            <POP 22984-22986 StackAdj>                       Δ+6                {}
            <MI 22986  BRA     0x229ae>                                         {}
        <POP 22988-229ae Naked>                              Σ0         ↓ ←0x22902
            <POP 22988-2298a StackAdj>                       Δ-4                {[-4-]}
            <POP 2298a-2298b StackAdj>                       Δ+2                {[-2-]}
            <Blob 0x2298b [2] @>                             Δ-2                {[-2-]|[«2""»]}
            <MI 2298e  MOVE.B  0x20e7d,(A7+0x1)>                                {[-2-]|[«2""»]}
            <MI 22994  MOVE.B  0x20e7e,(A7+0x2)>                                {[-2-]|[«2""»]}
            <POP 2299a-2299c StackAdj>                       Δ-4                {[-2-]|[«2""»]|[-4-]}
            <Lit 0x2299c>                                                       {[-2-]|[«2""»]|[$$…]}
                <Pointer.sp 0x2299c 4>                       Δ-4        
                <Const 0x229a0 0x1.2>                        Δ-2        
                <Const 0x229a2 0x3.2>                        Δ-2        
                <Call 0x229a6 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 229a8-229aa StackAdj>                   Δ+8        
            <Call 0x229aa 0x103e0>                                              {[-2-]|[«2""»]|[$$…]}
                WriteConsoleStringCrLf(str : String)
            <POP 229ac-229ae StackAdj>                       Δ+8                {}
        <POP 229ae-229fc Naked>                              Σ0         ↓ →0x22a16 ←0x2296e
            <Blob 0x229ae [66] @>                            Δ-66               {[«66""»]}
            <POP 229ba-229bc StackAdj>                       Δ-4                {[«66""»]|[-4-]}
            <Lit 0x229bc 66>                                                    {[«66""»]|[$$FAULT ISOLATION when ON allows a test that detects an error to run]}
            <Call 0x229ca 0x103e0>                                              {[«66""»]|[$$FAULT ISOLATION when ON allows a test that detects an error to run]}
                WriteConsoleStringCrLf(str : String)
            <POP 229cc-229cd StackAdj>                       Δ+70       ↓       {}
            <Blob 0x229cd [66] @>                            Δ-66               {[«66""»]}
            <POP 229dc-229de StackAdj>                       Δ-4                {[«66""»]|[-4-]}
            <Lit 0x229de 65>                                                    {[«66""»]|[$$additional tests that might further isolate the cause. It is now_]}
            <Call 0x229ec 0x103d8>                                              {[«66""»]|[$$additional tests that might further isolate the cause. It is now_]}
                WriteConsoleString(str : String)
            <POP 229f2-229f4 StackAdj>                       Δ+70               {}
            <MI 229f4  TST.B   0x231ba>                                         {}
            <MI 229fa  BEQ     0x22a16>                                         {}
        <POP 229fc-22a16 Naked>                              Σ0         →0x22a3c
            <Blob 0x229fc [2] @>                             Δ-2                {[«2""»]}
            <POP 22a00-22a02 StackAdj>                       Δ-4                {[«2""»]|[-4-]}
            <Lit 0x22a02 2>                                                     {[«2""»]|[$$ON]}
            <Call 0x22a10 0x103e0>                                              {[«2""»]|[$$ON]}
                WriteConsoleStringCrLf(str : String)
            <POP 22a12-22a14 StackAdj>                       Δ+6                {}
            <MI 22a14  BRA     0x22a3c>                                         {}
        <POP 22a16-22a3c Naked>                              Σ0         ↓ ←0x229ae
            <POP 22a16-22a18 StackAdj>                       Δ-4                {[-4-]}
            <POP 22a18-22a19 StackAdj>                       Δ+2                {[-2-]}
            <Blob 0x22a19 [2] @>                             Δ-2                {[-2-]|[«2""»]}
            <MI 22a1c  MOVE.B  0x20e83,(A7+0x1)>                                {[-2-]|[«2""»]}
            <MI 22a22  MOVE.B  0x20e84,(A7+0x2)>                                {[-2-]|[«2""»]}
            <POP 22a28-22a2a StackAdj>                       Δ-4                {[-2-]|[«2""»]|[-4-]}
            <Lit 0x22a2a>                                                       {[-2-]|[«2""»]|[$$…]}
                <Pointer.sp 0x22a2a 4>                       Δ-4        
                <Const 0x22a2e 0x1.2>                        Δ-2        
                <Const 0x22a30 0x3.2>                        Δ-2        
                <Call 0x22a34 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 22a36-22a38 StackAdj>                   Δ+8        
            <Call 0x22a38 0x103e0>                                              {[-2-]|[«2""»]|[$$…]}
                WriteConsoleStringCrLf(str : String)
            <POP 22a3a-22a3c StackAdj>                       Δ+8                {}
        <POP 22a3c-22a42 Naked>                              Σ0         ↓ ←0x229fc
            <Call 0x22a3c 0x103dc>                                              {}
                WriteConsoleCrLf(void)
        <POP 22a42-22a48 Naked>                              Σ0         ↓ →0x2268e ←0x227a8 ←0x227ac ←0x227ec ←0x22836
            <MI 22a42  TST.L   D7>                                              {}
            <MI 22a44  BNE     0x2268e>                                         {}
        <POP 22a48-22a50 Epilogue>                           Σ0         

0x22a50


@ 22a50
    <POP 22a50-22be8 Body>                                   Δ+2        
        <POP 22a50-22a66 Prologue>                           Σ0         ↓
        <POP 22a66-22a7c RegCacheLoad>                       Σ0         ↓
        <POP 22a7c-22b9c Naked>                              Σ0         →0x22ba8 →0x22baa →0x22baa →0x22bc2 →0x22bc2 →0x22bc2 ←0x22bda
            <Blob 0x22a7c [14] @>                            Δ-14               {[«14""»]}
            <POP 22a88-22a8a StackAdj>                       Δ-4                {[«14""»]|[-4-]}
            <Lit 0x22a8a 14>                                                    {[«14""»]|[$$Margining menu]}
            <Call 0x22a98 0x103e0>                                              {[«14""»]|[$$Margining menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22a9a-22a9e StackAdj>                       Δ+18               {}
            <Blob 0x22a9e [40] @>                            Δ-40               {[«40""»]}
            <POP 22aaa-22aac StackAdj>                       Δ-4                {[«40""»]|[-4-]}
            <Lit 0x22aac 40>                                                    {[«40""»]|[$$    1 => Margin system clocks to nominal]}
            <Call 0x22ab8 0x103e0>                                              {[«40""»]|[$$    1 => Margin system clocks to nominal]}
                WriteConsoleStringCrLf(str : String)
            <POP 22aba-22abe StackAdj>                       Δ+44               {}
            <Blob 0x22abe [36] @>                            Δ-36               {[«36""»]}
            <POP 22aca-22acc StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22acc 36>                                                    {[«36""»]|[$$    2 => Margin system clocks to +5%]}
            <Call 0x22ad8 0x103e0>                                              {[«36""»]|[$$    2 => Margin system clocks to +5%]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ada-22adc StackAdj>                       Δ+40               {}
            <Blob 0x22adc [36] @>                            Δ-36               {[«36""»]}
            <POP 22ae8-22aea StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22aea 36>                                                    {[«36""»]|[$$    3 => Margin system power nominal]}
            <Call 0x22af6 0x103e0>                                              {[«36""»]|[$$    3 => Margin system power nominal]}
                WriteConsoleStringCrLf(str : String)
            <POP 22af8-22afa StackAdj>                       Δ+40               {}
            <Blob 0x22afa [32] @>                            Δ-32               {[«32""»]}
            <POP 22b06-22b08 StackAdj>                       Δ-4                {[«32""»]|[-4-]}
            <Lit 0x22b08 32>                                                    {[«32""»]|[$$    4 => Margin system power +5%]}
            <Call 0x22b14 0x103e0>                                              {[«32""»]|[$$    4 => Margin system power +5%]}
                WriteConsoleStringCrLf(str : String)
            <POP 22b16-22b18 StackAdj>                       Δ+36               {}
            <Blob 0x22b18 [32] @>                            Δ-32               {[«32""»]}
            <POP 22b24-22b26 StackAdj>                       Δ-4                {[«32""»]|[-4-]}
            <Lit 0x22b26 32>                                                    {[«32""»]|[$$    5 => Margin system power -5%]}
            <Call 0x22b32 0x103e0>                                              {[«32""»]|[$$    5 => Margin system power -5%]}
                WriteConsoleStringCrLf(str : String)
            <POP 22b34-22b36 StackAdj>                       Δ+36               {}
            <Blob 0x22b36 [28] @>                            Δ-28               {[«28""»]}
            <POP 22b42-22b44 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22b44 28>                                                    {[«28""»]|[$$    0 => Return to main menu]}
            <Call 0x22b52 0x103e0>                                              {[«28""»]|[$$    0 => Return to main menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22b54-22b56 StackAdj>                       Δ+32               {}
            <Blob 0x22b56 [22] @>                            Δ-22               {[«22""»]}
            <POP 22b62-22b64 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22b64 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x22b70 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x22b74 0x5.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##5]}
            <Call 0x22b78 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##5]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22b7e-22b82 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 22b82  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 22b84-22b86 StackAdj>                       Δ+22               {}
            <MI 22b86  MOVE.L  D7,D0>                                           {}
            <POP 0x22b88 LimitCheck 0x0 ≤ D0 ≤ 0x5>                             {}
            <MI 22b92  ADD.W   D0,D0>                                           {}
            <MI 22b94  SWITCH  D0.W>                                            {}
        <POP 22ba8-22baa Naked>                              Σ0         →0x22bda ←0x22a7c
            <MI 22ba8  BRA     0x22bda>                                         {}
        <POP 22baa-22bc2 Naked>                              Σ0 Δ-2     →0x22bd8 ←0x22a7c ←0x22a7c
            <MI 22baa  MOVE.L  D7,D0>                                           {}
            <MI 22bac  SUBQ.L  #0x1,D0>                                         {}
            <POP 0x22bae LimitCheck 0x0 ≤ D0 ≤ 0xffff>                          {}
            <MI 22bb8  MOVE.W  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x22bba 0x1022c>                                              {[2, 'D0']}
                KC16_Clock_Margin
            <MI 22bc0  BRA     0x22bd8>                                         {[2, 'D0']}
        <POP 22bc2-22bd8 Naked>                              Σ0 Δ-2     ↓ ←0x22a7c ←0x22a7c ←0x22a7c
            <MI 22bc2  MOVE.L  D7,D0>                                           {}
            <MI 22bc4  SUBQ.L  #0x3,D0>                                         {}
            <POP 0x22bc6 LimitCheck 0x0 ≤ D0 ≤ 0xffff>                          {}
            <MI 22bd0  MOVE.W  D0,-(A7)>                     Δ-2                {[2, 'D0']}
            <Call 0x22bd2 0x1022e>                                              {[2, 'D0']}
                KC17_Power_Margin
        <POP 22bd8-22bda Naked>                              Σ-2 Δ+2    ↓ ←0x22baa
            <POP 22bd8-22bda StackAdj>                       Δ+2                {}
        <POP 22bda-22be0 Naked>                              Σ0         ↓ →0x22a7c ←0x22ba8
            <MI 22bda  TST.L   D7>                                              {}
            <MI 22bdc  BNE     0x22a7c>                                         {}
        <POP 22be0-22be8 Epilogue>                           Σ0         

0x22be8


@ 22be8
    <POP 22be8-22c32 Body>                                              
        <POP 22be8-22bfe Prologue>                           Σ0         ↓
        <POP 22bfe-22c2a Naked>                              Σ0         ↓
            <Blob 0x22bfe [54] @>                            Δ-54               {[«54""»]}
            <POP 22c0a-22c0c StackAdj>                       Δ-4                {[«54""»]|[-4-]}
            <Lit 0x22c0c 54>                                                    {[«54""»]|[$$The feature is not available for Series-200 processors]}
            <Call 0x22c20 0x103e0>                                              {[«54""»]|[$$The feature is not available for Series-200 processors]}
                WriteConsoleStringCrLf(str : String)
            <POP 22c26-22c2a StackAdj>                       Δ+58               {}
        <POP 22c2a-22c32 Epilogue>                           Σ0         

0x22c32


@ 22c32
    <POP 22c32-22e50 Body>                                              
        <POP 22c32-22c48 Prologue>                           Σ0         ↓
        <POP 22c48-22c5e RegCacheLoad>                       Σ0         ↓
        <POP 22c5e-22e00 Naked>                              Σ0         →0x22e12 →0x22e14 →0x22e1a →0x22e20 →0x22e26 →0x22e2c →0x22e32 →0x22e38 →0x22e3e ←0x22e42
            <Call 0x22c5e 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x22c64 [14] @>                            Δ-14               {[«14""»]}
            <POP 22c76-22c78 StackAdj>                       Δ-4                {[«14""»]|[-4-]}
            <Lit 0x22c78 13>                                                    {[«14""»]|[$$Main FRU menu]}
            <Call 0x22c84 0x103e0>                                              {[«14""»]|[$$Main FRU menu]}
                WriteConsoleStringCrLf(str : String)
            <POP 22c86-22c88 StackAdj>                       Δ+18               {}
            <Blob 0x22c88 [36] @>                            Δ-36               {[«36""»]}
            <POP 22c94-22c96 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22c96 36>                                                    {[«36""»]|[$$    1 => Display cluster information]}
            <Call 0x22ca2 0x103e0>                                              {[«36""»]|[$$    1 => Display cluster information]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ca4-22ca8 StackAdj>                       Δ+40               {}
            <Blob 0x22ca8 [50] @>                            Δ-50               {[«50""»]}
            <POP 22cb4-22cb6 StackAdj>                       Δ-4                {[«50""»]|[-4-]}
            <Lit 0x22cb6 50>                                                    {[«50""»]|[$$    2 => Execute confidence test (microdiagnostic)]}
            <Call 0x22cc4 0x103e0>                                              {[«50""»]|[$$    2 => Execute confidence test (microdiagnostic)]}
                WriteConsoleStringCrLf(str : String)
            <POP 22cc6-22cca StackAdj>                       Δ+54               {}
            <Blob 0x22cca [28] @>                            Δ-28               {[«28""»]}
            <POP 22cd6-22cd8 StackAdj>                       Δ-4                {[«28""»]|[-4-]}
            <Lit 0x22cd8 28>                                                    {[«28""»]|[$$    3 => Execute diagnostics]}
            <Call 0x22ce6 0x103e0>                                              {[«28""»]|[$$    3 => Execute diagnostics]}
                WriteConsoleStringCrLf(str : String)
            <POP 22ce8-22ce9 StackAdj>                       Δ+32       ↓       {}
            <Blob 0x22ce9 [48] @>                            Δ-48               {[«48""»]}
            <POP 22cfa-22cfc StackAdj>                       Δ-4                {[«48""»]|[-4-]}
            <Lit 0x22cfc 47>                                                    {[«48""»]|[$$    4 => Execute PM tests (not implemented yet)]}
            <Call 0x22d0a 0x103e0>                                              {[«48""»]|[$$    4 => Execute PM tests (not implemented yet)]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d0c-22d10 StackAdj>                       Δ+52               {}
            <Blob 0x22d10 [36] @>                            Δ-36               {[«36""»]}
            <POP 22d1c-22d1e StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22d1e 36>                                                    {[«36""»]|[$$    5 => Margin cluster clocks/power]}
            <Call 0x22d2a 0x103e0>                                              {[«36""»]|[$$    5 => Margin cluster clocks/power]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d2c-22d2d StackAdj>                       Δ+40       ↓       {}
            <Blob 0x22d2d [30] @>                            Δ-30               {[«30""»]}
            <POP 22d3e-22d40 StackAdj>                       Δ-4                {[«30""»]|[-4-]}
            <Lit 0x22d40 29>                                                    {[«30""»]|[$$    6 => Specify test options]}
            <Call 0x22d4e 0x103e0>                                              {[«30""»]|[$$    6 => Specify test options]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d50-22d54 StackAdj>                       Δ+34               {}
            <Blob 0x22d54 [56] @>                            Δ-56               {[«56""»]}
            <POP 22d60-22d62 StackAdj>                       Δ-4                {[«56""»]|[-4-]}
            <Lit 0x22d62 56>                                                    {[«56""»]|[$$    7 => Repair assistance (model 100 CPU power control)]}
            <Call 0x22d70 0x103e0>                                              {[«56""»]|[$$    7 => Repair assistance (model 100 CPU power control)]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d72-22d73 StackAdj>                       Δ+60       ↓       {}
            <Blob 0x22d73 [36] @>                            Δ-36               {[«36""»]}
            <POP 22d84-22d86 StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22d86 35>                                                    {[«36""»]|[$$    8 => Initialize processor state]}
            <Call 0x22d94 0x103e0>                                              {[«36""»]|[$$    8 => Initialize processor state]}
                WriteConsoleStringCrLf(str : String)
            <POP 22d96-22d97 StackAdj>                       Δ+40       ↓       {}
            <Blob 0x22d97 [14] @>                            Δ-14               {[«14""»]}
            <POP 22da8-22daa StackAdj>                       Δ-4                {[«14""»]|[-4-]}
            <Lit 0x22daa 13>                                                    {[«14""»]|[$$    0 => Exit]}
            <Call 0x22db6 0x103e0>                                              {[«14""»]|[$$    0 => Exit]}
                WriteConsoleStringCrLf(str : String)
            <POP 22db8-22dba StackAdj>                       Δ+18               {}
            <Blob 0x22dba [22] @>                            Δ-22               {[«22""»]}
            <POP 22dc6-22dc8 StackAdj>                       Δ-8                {[«22""»]|[-8-]}
            <Lit 0x22dc8 22>                                                    {[«22""»]|[-4-]|[$$Please enter option :_]}
            <Const 0x22dd4 0x0.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]}
            <Const 0x22dd8 0x8.4>                            Δ-4                {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##8]}
            <Call 0x22ddc 0x103ec>                                              {[«22""»]|[-4-]|[$$Please enter option :_]|[##0]|[##8]}
                AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
            <POP 22de2-22de6 StackAdj>                       Δ+12               {[«22""»]|[-4-]}
            <MI 22de6  MOVE.L  (A7)+,D7>                     Δ+4                {[«22""»]}
            <POP 22de8-22dea StackAdj>                       Δ+22               {}
            <MI 22dea  MOVE.L  D7,D0>                                           {}
            <POP 0x22dec LimitCheck 0x0 ≤ D0 ≤ 0x8>                             {}
            <MI 22df6  ADD.W   D0,D0>                                           {}
            <MI 22df8  SWITCH  D0.W>                                            {}
        <POP 22e12-22e14 Naked>                              Σ0         →0x22e42 ←0x22c5e
            <MI 22e12  BRA     0x22e42>                                         {}
        <POP 22e14-22e1a Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e14 0x2148a>                                              {}
            <MI 22e18  BRA     0x22e42>                                         {}
        <POP 22e1a-22e20 Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e1a 0x214da>                                              {}
            <MI 22e1e  BRA     0x22e42>                                         {}
        <POP 22e20-22e26 Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e20 0x224a6>                                              {}
            <MI 22e24  BRA     0x22e42>                                         {}
        <POP 22e26-22e2c Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e26 0x2260a>                                              {}
            <MI 22e2a  BRA     0x22e42>                                         {}
        <POP 22e2c-22e32 Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e2c 0x22a50>                                              {}
            <MI 22e30  BRA     0x22e42>                                         {}
        <POP 22e32-22e38 Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e32 0x2265a>                                              {}
            <MI 22e36  BRA     0x22e42>                                         {}
        <POP 22e38-22e3e Naked>                              Σ0         →0x22e42 ←0x22c5e
            <Call 0x22e38 0x22be8>                                              {}
            <MI 22e3c  BRA     0x22e42>                                         {}
        <POP 22e3e-22e42 Naked>                              Σ0         ↓ ←0x22c5e
            <Call 0x22e3e 0x21562>                                              {}
        <POP 22e42-22e48 Naked>                              Σ0         ↓ →0x22c5e ←0x22e12 ←0x22e14 ←0x22e1a ←0x22e20 ←0x22e26 ←0x22e2c ←0x22e32 ←0x22e38
            <MI 22e42  TST.L   D7>                                              {}
            <MI 22e44  BNE     0x22c5e>                                         {}
        <POP 22e48-22e50 Epilogue>                           Σ0         

0x22e50


@ 22e50
        <LVAR -0x004 @>
    <POP 22e50-22ec0 Body>                                              
        <POP 22e50-22e66 Prologue>                           Σ0         ↓
        <POP 22e66-22e68 RegCacheLoad>                       Σ0         ↓
        <POP 22e68-22eb8 Naked>                              Σ0         ↓
            <Call 0x22e68 0x10538>                                              {}
                IPC_Init(void)
            <Const 0x22e6e 0x1.2>                            Δ-2                {[#1]}
            <Call 0x22e70 0x10502>                                              {[#1]}
                IPC_PutBool(a : Bool)
            <POP 22e76-22e78 StackAdj>                       Δ+2                {}
            <Call 0x22e78 0x10514>                                              {}
                IPC_PutEnd(void)
            <Blob 0x22e7e [10] @>                            Δ-10               {[«10""»]}
            <POP 22e90-22e92 StackAdj>                       Δ-4                {[«10""»]|[-4-]}
            <Lit 0x22e92 9>                                                     {[«10""»]|[$$CONFIGURE]}
            <Const 0x22ea4 0x1.4>                            Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]}
            <Const 0x22ea8 0x1.2>                            Δ-2                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]}
            <Pointer.fp 0x22eaa <LVAR -0x004 @>>             Δ-4                {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
            <Call 0x22eae 0x103b0>                                              {[«10""»]|[$$CONFIGURE]|[##1]|[#1]|[@@-4]}
                PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
            <POP 22eb4-22eb8 StackAdj>                       Δ+24               {}
        <POP 22eb8-22ec0 Epilogue>                           Σ0         

0x22ec0


@ 22ec0
START
    <POP 22ec0--0001 Body>                                              
        <POP 22ec0-22eca Prologue>                           Σ0         
        <POP 22eca-22edc RegCacheLoad>                       Σ0         ↓
        <POP 22edc-22f86 Naked>                              Σ0         ↓ →0x22f94
            <Call 0x22edc 0x10398>                                              {}
                FSCALL_10398
            <Blob 0x22ee2 [12] @>                            Δ-12               {[«12""»]}
            <POP 22ef2-22ef4 StackAdj>                       Δ-6                {[«12""»]|[-6-]}
            <Call 0x22ef4 0x103c4>                                              {[«12""»]|[-6-]}
                GetArgv() : String
            <POP 22efa-22efc StackAdj>                       Δ-4                {[«12""»]|[-10-]}
            <Lit 0x22efc 11>                                                    {[«12""»]|[-6-]|[$$AUTO_RUN_P2]}
            <Call 0x22f0a 0x102c8>                                              {[«12""»]|[-6-]|[$$AUTO_RUN_P2]}
                StringEqual(a, b : String) : Byte
            <POP 22f10-22f12 StackAdj>                       Δ+8                {[«12""»]|[-2-]}
            <MI 22f12  MOVE.B  (A7)+,D0>                     Δ+2                {[«12""»]}
            <MI 22f14  EXTB.W  D0>                                              {[«12""»]}
            <POP 0x22f16 LimitCheck 0x0 ≤ D0 ≤ 0x1>                             {[«12""»]}
            <POP 22f18-22f1a StackAdj>                       Δ+12               {}
            <MI 22f1a  MOVE.B  D0,0x231c1>                                      {}
            <Blob 0x22f1c [36] @>                            Δ-36               {[«36""»]}
            <POP 22f28-22f2a StackAdj>                       Δ-4                {[«36""»]|[-4-]}
            <Lit 0x22f2a 36>                                                    {[«36""»]|[$$Rational R1000 FRU diagnostic driver]}
            <Call 0x22f38 0x103e0>                                              {[«36""»]|[$$Rational R1000 FRU diagnostic driver]}
                WriteConsoleStringCrLf(str : String)
            <POP 22f3e-22f3f StackAdj>                       Δ+40       ↓       {}
            <Blob 0x22f3f [18] @>                            Δ-18               {[«18""»]}
            <POP 22f4e-22f50 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x22f50 17>                                                    {[«18""»]|[$$Initializing ... ]}
            <Call 0x22f5e 0x103d8>                                              {[«18""»]|[$$Initializing ... ]}
                WriteConsoleString(str : String)
            <POP 22f64-22f66 StackAdj>                       Δ+22               {}
            <MI 22f66  MOVE.B  #0x01,0x231bb>                                   {}
            <MI 22f6c  MOVE.B  #0x01,0x231ba>                                   {}
            <MI 22f72  MOVE.B  #0x01,0x231c0>                                   {}
            <MI 22f78  CLR.L   0x231bc>                                         {}
            <Call 0x22f7e 0x22e50>                                              {}
            <MI 22f82  TST.B   0x231c1>                                         {}
            <MI 22f84  BEQ     0x22f94>                                         {}
        <POP 22f86-22f94 Naked>                              Σ0         →0x22f98
            <MI 22f86  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Const 0x22f88 0x2.4>                            Δ-4                {[#0]|[##2]}
            <Call 0x22f8c 0x2199c>                                              {[#0]|[##2]}
            <POP 22f90-22f92 StackAdj>                       Δ+6                {}
            <MI 22f92  BRA     0x22f98>                                         {}
        <POP 22f94-22f98 Naked>                              Σ0         ↓ ←0x22edc
            <Call 0x22f94 0x22c32>                                              {}
        <POP 22f98-22fa6 Naked>                              Σ0         ↓ ←0x22f86
            <MI 22f98  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Const 0x22f9a 0x1.4>                            Δ-4                {[#0]|[##1]}
            <Call 0x22f9e 0x103b8>                                              {[#0]|[##1]}
                PopProgram(status : Byte; msg : String)
            <POP 22fa4-22fa6 StackAdj>                       Δ+6                {}
        <POP 22fa6-22fac Naked>                              Σ0         
            <Call 0x22fa6 0x10284>                                              {}
                ?exit

0x22fba


@ 22fba
PROG_FAIL
        <LVAR  0x008 1(r)>
    <POP 22fba-23022 Body>                                              
        <POP 22fba-22fd0 Prologue>                           Σ0         ↓
        <POP 22fd0-2301a Naked>                              Σ0         ↓
            <Blob 0x22fd0 [14] @>                            Δ-14               {[«14""»]}
            <Const 0x22fdc 0x3.2>                            Δ-2                {[«14""»]|[#3]}
            <POP 22fe0-22fe2 StackAdj>                       Δ-8                {[«14""»]|[#3]|[-8-]}
            <Lit 0x22fe2 14>                                                    {[«14""»]|[#3]|[-4-]|[$$Words error :_]}
            <POP 22ff4-22ff6 StackAdj>                       Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 22ff6  MOVE.B  (A6+0x8),D0>                                     {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 22ffa  EXTB.W  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 22ffc  EXTW.L  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 22ffe  MOVE.L  D0,-(A7)>                     Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
            <Call 0x23000 0x102e4>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
                Long2String(a : Long) : String
            <POP 23006-23008 StackAdj>                       Δ+4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <Call 0x23008 0x102d0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 2300e-23010 StackAdj>                       Δ+8                {[«14""»]|[#3]|[-4-]}
            <Call 0x23010 0x103b8>                                              {[«14""»]|[#3]|[-4-]}
                PopProgram(status : Byte; msg : String)
            <POP 23016-2301a StackAdj>                       Δ+20               {}
        <POP 2301a-23022 Epilogue>                           Σ0         

0x23076


@ 23076
EXP_FAIL
        <LVAR  0x00e 1(r)>
        <LVAR  0x00a 4(r)>
        <LVAR  0x008 1(r)>
    <POP 23076-231b2 Body>                                              
        <POP 23076-2308c Prologue>                           Σ0         ↓
        <POP 2308c-230a2 RegCacheLoad>                       Σ0         ↓
        <POP 230a2-23102 Naked>                              Σ0         ↓ →0x2314a
            <Call 0x230a2 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x230a8 [18] @>                            Δ-18               {[«18""»]}
            <POP 230b4-230b6 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x230b6 18>                                                    {[«18""»]|[$$Experiment error :]}
            <Call 0x230c2 0x103e0>                                              {[«18""»]|[$$Experiment error :]}
                WriteConsoleStringCrLf(str : String)
            <POP 230c4-230c5 StackAdj>                       Δ+22       ↓       {}
            <Blob 0x230c5 [14] @>                            Δ-14               {[«14""»]}
            <POP 230d4-230d6 StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x230d6 13>                                                    {[«14""»]|[-4-]|[$$Board      :_]}
            <POP 230e0-230e2 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <MI 230e2  MOVE.B  (A6+0xe),(A7)>                                   {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <Call 0x230e6 0x1049c>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
                BoardName(address : B) : String
            <POP 230ec-230ee StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
            <Call 0x230ee 0x102d0>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 230f4-230f6 StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x230f6 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 230f8-230fa StackAdj>                       Δ+18               {}
            <MI 230fa  MOVEA.L (A6+0xa),A0>                                     {}
            <MI 230fe  CMPA.W  #0x01,A0>                                        {}
            <MI 23100  BEQ     0x2314a>                                         {}
        <POP 23102-2314a Naked>                              Σ0         ↓
            <Blob 0x23102 [14] @>                            Δ-14               {[«14""»]}
            <Blob 0x23112 [30] (A0+0xfc)>                    Δ-30               {[«14""»]|[«30»]}
            <POP 23122-23124 StackAdj>                       Δ-8                {[«14""»]|[«30»]|[-8-]}
            <Lit 0x23124 13>                                                    {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]}
            <POP 2312e-23130 StackAdj>                       Δ-4                {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]}
            <Lit 0x23130>                                                       {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                <Pointer.sp 0x23130 12>                      Δ-4        
                <Const 0x23134 0x1.2>                        Δ-2        
                <Const 0x23136 0x1e.2>                       Δ-2        
                <Call 0x23138 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 2313a-2313c StackAdj>                   Δ+8        
            <Call 0x2313c 0x102d0>                                              {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                StringCat2(a, b : String) : String
            <POP 23142-23144 StackAdj>                       Δ+8                {[«14""»]|[«30»]|[-4-]}
            <Call 0x23144 0x103e0>                                              {[«14""»]|[«30»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 23146-2314a StackAdj>                       Δ+48               {}
        <POP 2314a-231aa Naked>                              Σ0         ↓ ←0x230a2
            <Blob 0x2314a [14] @>                            Δ-14               {[«14""»]}
            <POP 2315a-2315c StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x2315c 13>                                                    {[«14""»]|[-4-]|[$$Status     :_]}
            <POP 23166-23168 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <MI 23168  MOVE.B  (A6+0x8),(A7)>                                   {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <Call 0x2316c 0x104a2>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
                ExpStatus2Text(status.B, &String)
            <POP 23172-23174 StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
            <Call 0x23174 0x102d0>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 2317a-2317c StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x2317c 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 2317e-2317f StackAdj>                       Δ+18       ↓       {}
            <Blob 0x2317f [24] @>                            Δ-24               {[«24""»]}
            <Const 0x2318e 0x2.2>                            Δ-2                {[«24""»]|[#2]}
            <POP 23192-23194 StackAdj>                       Δ-4                {[«24""»]|[#2]|[-4-]}
            <Lit 0x23194 23>                                                    {[«24""»]|[#2]|[$$Fatal experiment error.]}
            <Call 0x231a2 0x103b8>                                              {[«24""»]|[#2]|[$$Fatal experiment error.]}
                PopProgram(status : Byte; msg : String)
            <POP 231a8-231aa StackAdj>                       Δ+30               {}
        <POP 231aa-231b2 Epilogue>                           Σ0         

Raw from R1000.Disassembly/DFS

00020000 ; --------------------------------------------------------------------------------------
00020000 ; R1000.Disassembly modules:
00020000 ;   import all
00020000 ;   import kind.program
00020000 ;   no ident.8f92250054b618a1
00020000 ; --------------------------------------------------------------------------------------
00020000					stack.top:
00020000 00 04 00 00              |        |		.CODE	0x40000			; STACK.END
00020004 00 02 2e c0              |  .     |		.CODE	START
00020008 00 01 02 88              |        |		.CODE	FSCALL_10288
0002000c					heap.top:
0002000c 00 02 31 d2              |  1     |		.PTR	0x231d2
00020010					code.end:
00020010 00 02 31 b2              |  1     |		.PTR	0x231b2
00020014 00 00 00 00              |        |		.CONST	0x00000000
00020018					programfailurehandler:
00020018 00 02 2f ba              |  /     |		.CODE	PROG_FAIL
0002001c					experimentfailurehandler:
0002001c 00 02 30 76              |  0v    |		.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 32 2c 39 32  |U,2.2,92|		.XXX[0x18]
00020118 2f 30 38 2f 32 38 2c 31  |/08/28,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 43 4f 4e 46 49 47 55 52  |CONFIGUR|		.TXT	'CONFIGURE '
0002014e 49 4e 49 54 53 54 41 54  |INITSTAT|		.TXT	'INITSTATE '
00020158 20 70 61 73 73 65 64 20  | passed |		.TXT	' passed '
00020160 2a 2a 2a 20 45 52 52 4f  |*** ERRO|		.TXT	'*** ERROR reported by_'
00020176 3a 20                    |:       |		.TXT	': '
00020178 2e 45 52 52              |.ERR    |		.TXT	'.ERR'
0002017c 4d 45 53 53              |MESS    |		.TXT	'MESS'
00020180 46 69 65 6c 64 20 72 65  |Field re|		.TXT	'Field replaceable units : '
0002019a 46 52 55 5f              |FRU_    |		.TXT	'FRU_'
0002019e 4c 49 54 53              |LITS    |		.TXT	'LITS'
000201a2 2e 54 58 54              |.TXT    |		.TXT	'.TXT'
000201a6 2a 2a 2a 5f              |***_    |		.TXT	'***_'
000201aa 20 66 61 69 6c 65 64 20  | failed |		.TXT	' failed *** '
000201b6 50 20                    |P       |		.TXT	'P '
000201b8 46 52                    |FR      |		.TXT	'FR'
000201ba 55 20                    |U       |		.XXX[0x2]
000201bc 50 68                    |Ph      |		.TXT	'Ph'
000201be 61 73                    |as      |		.TXT	'as'
000201c0 65 5f                    |e_      |		.TXT	'e_'
000201c2 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter maximum test phase (1-3) :_'
000201ea 46 72 75 20              |Fru     |		.TXT	'Fru '
000201ee 6d 65 6e 75              |menu    |		.TXT	'menu'
000201f2 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => ALL boards                 7 => FIU'
0002021e 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => VAL                        8 => Memory 0 '
00020250 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => TYP                        9 => Memory 1 '
00020282 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => SEQuencer                 10 => Memory 2 '
000202b4 20 20 20 20 35 20 3d 3e  |    5 =>|		.TXT	'    5 => Foreplane                 11 => Memory 3 '
000202e6 20 20 20 20 36 20 3d 3e  |    6 =>|		.TXT	'    6 => IOC                        0 => exit this menu '
0002031e 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020334 31 20 20 3d 3e 20 41 6c  |1  => Al|		.TXT	'1  => All                     12 => Class Checker '
00020366 32 20 20 3d 3e 20 43 6f  |2  => Co|		.TXT	'2  => Condition selection     13 => Tagstores '
00020394 33 20 20 3d 3e 20 56 41  |3  => VA|		.TXT	'3  => VAL board               14 => Dynamic RAMS'
000203c4 34 20 20 3d 3e 20 54 59  |4  => TY|		.TXT	'4  => TYP board               15 => Val register files'
000203fa 35 20 20 3d 3e 20 53 45  |5  => SE|		.TXT	'5  => SEQuencer board         16 => Typ register files'
00020430 36 20 20 3d 3e 20 46 49  |6  => FI|		.TXT	'6  => FIU board               17 => Dispatch logic'
00020462 37 20 20 3d 3e 20 4d 65  |7  => Me|		.TXT	'7  => Memory board(s)         18 => Error correction (ECC)'
0002049c 38 20 20 3d 3e 20 43 53  |8  => CS|		.TXT	'8  => CSA                     19 => Timers'
000204c6 39 20 20 3d 3e 20 4d 65  |9  => Me|		.TXT	'9  => Memory Monitor          20 => Worst case paths'
000204fa 31 30 20 3d 3e 20        |10 =>   |		.XXX[0x6]
00020500 53 59 53 42 55 53 20 62  |SYSBUS b|		.XXX[0x28]
00020508 6f 61 72 64 20 20 20 20  |oard    |
00020510 20 20 20 20 20 20 20 20  |        |
00020518 32 31 20 3d 3e 20 53 59  |21 => SY|
00020520 53 42 55 53 20 62 75 66  |SBUS buf|
00020528 66 65 72 73              |fers    |		.XXX[0x4]
0002052c 31 30 20 3d 3e 20 49 4f  |10 => IO|		.TXT	'10 => IOC board '
0002053c 31 31 20 3d 3e 20 50 72  |11 => Pr|		.TXT	'11 => Privacy Checker '
00020552 31 20 3d 3e 20 41 6c 6c  |1 => All|		.TXT	'1 => All boards          7 => Memory 0'
00020578 32 20 3d 3e 20 53 45 51  |2 => SEQ|		.TXT	'2 => SEQuencer           8 => Memory 1'
0002059e 33 20 3d 3e 20 46 49 55  |3 => FIU|		.TXT	'3 => FIU                 9 => Memory 2'
000205c4 34 20 3d 3e 20 54 59 50  |4 => TYP|		.TXT	'4 => TYP                10 => Memory 3'
000205ea 35 20 3d 3e 20 56 41 4c  |5 => VAL|		.TXT	'5 => VAL                11 => All Memories'
00020614 36 20 3d 3e              |6 =>    |		.TXT	'6 =>'
00020618 20 49 4f 43              | IOC    |		.TXT	' IOC'
0002061c 50 31 44 43              |P1DC    |		.XXX[0x4]
00020620 4f 4d 4d 20 20 20 50 31  |OMM   P1|		.XXX[0x118]
00020628 46 49 55 20 20 20 20 20  |FIU     |
00020630 50 31 49 4f 43 20 20 20  |P1IOC   |
00020638 20 20 50 31 4d 45 4d 20  |  P1MEM |
00020640 20 20 20 20 50 31 53 45  |    P1SE|
00020648 51 20 20 20 20 20 50 31  |Q     P1|
00020650 53 46 20 20 20 20 20 20  |SF      |
00020658 50 31 53 59 53 20 20 20  |P1SYS   |
00020660 20 20 50 31 54 59 50 20  |  P1TYP |
00020668 20 20 20 20 50 31 56 41  |    P1VA|
00020670 4c 20 20 20 20 20 50 32  |L     P2|
00020678 41 42 55 53 20 20 20 20  |ABUS    |
00020680 50 32 43 4f 4e 44 20 20  |P2COND  |
00020688 20 20 50 32 43 53 41 20  |  P2CSA |
00020690 20 20 20 20 50 32 45 56  |    P2EV|
00020698 4e 54 20 20 20 20 50 32  |NT    P2|
000206a0 46 49 55 20 20 20 20 20  |FIU     |
000206a8 50 32 46 50 20 20 20 20  |P2FP    |
000206b0 20 20 50 32 49 4f 41 20  |  P2IOA |
000206b8 20 20 20 20 50 32 49 4f  |    P2IO|
000206c0 43 20 20 20 20 20 50 32  |C     P2|
000206c8 4d 45 4d 20 20 20 20 20  |MEM     |
000206d0 50 32 4d 4d 20 20 20 20  |P2MM    |
000206d8 20 20 50 32 53 42 55 53  |  P2SBUS|
000206e0 20 20 20 20 50 32 53 45  |    P2SE|
000206e8 51 20 20 20 20 20 50 32  |Q     P2|
000206f0 53 54 4f 50 20 20 20 20  |STOP    |
000206f8 50 32 53 59 53 20 20 20  |P2SYS   |
00020700 20 20 50 32 54 59 50 20  |  P2TYP |
00020708 20 20 20 20 50 32 55 41  |    P2UA|
00020710 44 52 20 20 20 20 50 32  |DR    P2|
00020718 55 43 4f 44 45 20 20 20  |UCODE   |
00020720 50 32 56 41 4c 20 20 20  |P2VAL   |
00020728 20 20 50 33 52 41 4d 53  |  P3RAMS|
00020730 20 20 20 20 50 33 55 43  |    P3UC|
00020738 4f 44 45 20 20 20        |ODE     |		.XXX[0x6]
0002073e 30 20 20 3d 3e 20 45 78  |0  => Ex|		.TXT	'0  => Exit this menu         16 => none '
00020766 31 20 20 3d 3e 20 50 31  |1  => P1|		.TXT	'1  => P1DCOMM                17 => P2IOC'
0002078e 32 20 20 3d 3e 20 50 31  |2  => P1|		.TXT	'2  => P1FIU                  18 => P2MEM'
000207b6 33 20 20 3d 3e 20 50 31  |3  => P1|		.TXT	'3  => P1IOC                  19 => P2MM '
000207de 34 20 20 3d 3e 20 50 31  |4  => P1|		.TXT	'4  => P1MEM                  20 => none '
00020806 35 20 20 3d 3e 20 50 31  |5  => P1|		.TXT	'5  => P1SEQ                  21 => P2SEQ'
0002082e 36 20 20 3d 3e 20 50 31  |6  => P1|		.TXT	'6  => P1SF                   22 => P2STOP '
00020858 37 20 20 3d 3e 20 6e 6f  |7  => no|		.TXT	'7  => none                   23 => none '
00020880 38 20 20 3d 3e 20 50 31  |8  => P1|		.TXT	'8  => P1TYP                  24 => P2TYP'
000208a8 39 20 20 3d 3e 20 50 31  |9  => P1|		.TXT	'9  => P1VAL                  25 => P2UADR '
000208d2 31 30 20 3d 3e 20 50 32  |10 => P2|		.TXT	'10 => P2ABUS                 26 => P2UCODE'
000208fc 31 31 20 3d 3e 20 50 32  |11 => P2|		.TXT	'11 => P2COND                 27 => P2VAL'
00020924 31 32 20 3d 3e 20 50 32  |12 => P2|		.TXT	'12 => P2CSA                  28 => P3RAMS '
0002094e 31 33 20 3d 3e 20 50 32  |13 => P2|		.TXT	'13 => P2EVNT                 29 => P3UCODE'
00020978 31 34 20 3d 3e 20 50 32  |14 => P2|		.TXT	'14 => P2FIU                  30 => Other'
000209a0 31 35 20 3d 3e 20 50 32  |15 => P2|		.TXT	'15 => P2FP'
000209aa 54 68 61 74 20 74 65 73  |That tes|		.TXT	'That test option is not applicable to this R1000 Processor. '
000209e6 45 6e 74 65 72 20 74 65  |Enter te|		.TXT	'Enter test option :_'
000209fa 45 6e 74 65 72 20 74 65  |Enter te|		.TXT	'Enter test name :_'
00020a0c 49 73 20 74 68 69 73 20  |Is this |		.TXT	'Is this a multi-board FRU '
00020a26 57 68 69 63 68 20 62 6f  |Which bo|		.TXT	'Which board(s) should this FRU be run on :_ '
00020a52 57 68 69 63 68 20 66 75  |Which fu|		.TXT	'Which function should this FRU test :_'
00020a78 72 75 6e 6e              |runn    |		.TXT	'runn'
00020a7c 69 6e 67 20              |ing     |		.TXT	'ing '
00020a80 46 52 55 5f              |FRU_    |		.TXT	'FRU_'
00020a84 50 32 46 50              |P2FP    |		.TXT	'P2FP'
00020a88 49 4e 54 45 52 41 43 54  |INTERACT|		.TXT	'INTERACTIVE '
00020a94 44 69 61 67 6e 6f 73 74  |Diagnost|		.TXT	'Diagnostic execution menu '
00020aae 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Test the foreplane '
00020aca 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Run all tests'
00020ae0 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Run all tests applicable to a given FRU (board)'
00020b18 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => Run a specific test'
00020b34 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Return to main menu'
00020b50 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020b66 4e 6f 74 20 79 65 74 20  |Not yet |		.TXT	'Not yet supported '
00020b78 54 65 73 74 20 6f 70 74  |Test opt|		.TXT	'Test options menu '
00020b8a 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Specify tracing'
00020ba2 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Specify force control store loading'
00020bce 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Specify automatic fault isolation'
00020bf8 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => List explainations and current state of these options'
00020c36 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Return to main menu'
00020c52 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020c68 45 6e 61 62 6c 65 20 74  |Enable t|		.TXT	'Enable tracing'
00020c76 46 6f 72 63 65 20 63 6f  |Force co|		.TXT	'Force control store loading '
00020c92 45 6e 61 62 6c 65 20 61  |Enable a|		.TXT	'Enable automatic fault isolation'
00020cb2 54 52 41 43 49 4e 47 20  |TRACING |		.TXT	'TRACING when ON causes the names of experiments to be displayed on the'
00020cf8 74 65 72 6d 69 6e 61 6c  |terminal|		.TXT	'terminal as they are run. It is now_'
00020d1c 46 4f 52 43 45 20 43 4f  |FORCE CO|		.TXT	'FORCE CONTROL_STORE LOADING when ON forces tests to load their microcode'
00020d64 69 6e 74 6f 20 63 6f 6e  |into con|		.TXT	'into control store every time they are run, even if the microcode was '
00020daa 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_'
00020df0 46 41 55 4c 54 20 49 53  |FAULT IS|		.TXT	'FAULT ISOLATION when ON allows a test that detects an error to run'
00020e32 61 64 64 69 74 69 6f 6e  |addition|		.TXT	'additional tests that might further isolate the cause. It is now_ '
00020e74 4f 4e                    |ON      |		.TXT	'ON'
00020e76 4f 46                    |OF      |		.TXT	'OF'
00020e78 46 20                    |F       |		.XXX[0x2]
00020e7a 4f 4e                    |ON      |		.TXT	'ON'
00020e7c 4f 46                    |OF      |		.TXT	'OF'
00020e7e 46 20                    |F       |		.XXX[0x2]
00020e80 4f 4e                    |ON      |		.TXT	'ON'
00020e82 4f 46                    |OF      |		.TXT	'OF'
00020e84 46 20                    |F       |		.XXX[0x2]
00020e86 4d 61 72 67 69 6e 69 6e  |Marginin|		.TXT	'Margining menu'
00020e94 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Margin system clocks to nominal'
00020ebc 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Margin system clocks to +5%'
00020ee0 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Margin system power nominal'
00020f04 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => Margin system power +5%'
00020f24 20 20 20 20 35 20 3d 3e  |    5 =>|		.TXT	'    5 => Margin system power -5%'
00020f44 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Return to main menu'
00020f60 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
00020f76 54 68 65 20 66 65 61 74  |The feat|		.TXT	'The feature is not available for Series-200 processors'
00020fac 54 68 69 73              |This    |		.XXX[0x4]
00020fb0 20 6f 70 74 69 6f 6e 20  | option |		.XXX[0x1a0]
00020fb8 77 69 6c 6c 20 72 65 6d  |will rem|
00020fc0 6f 76 65 20 70 6f 77 65  |ove powe|
00020fc8 72 20 66 72 6f 6d 20 74  |r from t|
00020fd0 68 65 20 52 31 30 30 30  |he R1000|
00020fd8 20 70 72 6f 63 65 73 73  | process|
00020fe0 6f 72 20 74 6f 20 61 6c  |or to al|
00020fe8 6c 6f 77 20 79 6f 75 20  |low you |
00020ff0 74 6f 20 63 68 61 6e 67  |to chang|
00020ff8 65 20 62 6f 61 72 64 73  |e boards|
00021000 20 77 68 69 63 68 20 61  | which a|
00021008 72 65 20 62 65 68 69 6e  |re behin|
00021010 64 20 74 68 65 20 66 6f  |d the fo|
00021018 72 65 70 6c 61 6e 65 2e  |replane.|
00021020 44 6f 20 79 6f 75 20 77  |Do you w|
00021028 61 6e 74 20 74 6f 20 70  |ant to p|
00021030 6f 77 65 72 20 74 68 65  |ower the|
00021038 20 73 79 73 74 65 6d 20  | system |
00021040 64 6f 77 6e 54 68 65 20  |downThe |
00021048 70 72 6f 63 65 73 73 6f  |processo|
00021050 72 20 70 6f 77 65 72 20  |r power |
00021058 69 73 20 6e 6f 77 20 6f  |is now o|
00021060 66 66 2e 20 20 59 6f 75  |ff.  You|
00021068 20 6d 61 79 20 63 68 61  | may cha|
00021070 6e 67 65 20 62 6f 61 72  |nge boar|
00021078 64 73 2e 20 54 68 65 20  |ds. The |
00021080 49 2f 4f 20 61 64 61 70  |I/O adap|
00021088 74 6f 72 20 61 6e 64 20  |tor and |
00021090 49 2f 4f 20 70 72 6f 63  |I/O proc|
00021098 65 73 73 6f 72 20 61 72  |essor ar|
000210a0 65 20 73 74 69 6c 6c 20  |e still |
000210a8 70 6f 77 65 72 65 64 2e  |powered.|
000210b0 20 20 54 6f 63 68 61 6e  |  Tochan|
000210b8 67 65 20 74 68 65 20 49  |ge the I|
000210c0 4f 41 20 6f 72 20 62 6f  |OA or bo|
000210c8 61 72 64 73 20 77 69 74  |ards wit|
000210d0 68 69 6e 20 74 68 65 20  |hin the |
000210d8 49 4f 50 20 79 6f 75 20  |IOP you |
000210e0 6d 75 73 74 20 74 75 72  |must tur|
000210e8 6e 20 74 68 65 20 70 6f  |n the po|
000210f0 77 65 72 20 6f 66 66 20  |wer off |
000210f8 6d 61 6e 75 61 6c 6c 79  |manually|
00021100 20 66 72 6f 6d 20 74 68  | from th|
00021108 65 20 53 79 73 74 65 6d  |e System|
00021110 20 43 6f 6e 74 72 6f 6c  | Control|
00021118 20 50 61 6e 65 6c 41 72  | PanelAr|
00021120 65 20 79 6f 75 20 72 65  |e you re|
00021128 61 64 79 20 74 6f 20 74  |ady to t|
00021130 75 72 6e 20 74 68 65 20  |urn the |
00021138 52 31 30 30 30 20 70 72  |R1000 pr|
00021140 6f 63 65 73 73 6f 72 20  |ocessor |
00021148 70 6f 77 65 72 20 6f 6e  |power on|
00021150 4d 61 69 6e 20 46 52 55  |Main FRU|		.TXT	'Main FRU menu '
0002115e 20 20 20 20 31 20 3d 3e  |    1 =>|		.TXT	'    1 => Display cluster information'
00021182 20 20 20 20 32 20 3d 3e  |    2 =>|		.TXT	'    2 => Execute confidence test (microdiagnostic)'
000211b4 20 20 20 20 33 20 3d 3e  |    3 =>|		.TXT	'    3 => Execute diagnostics'
000211d0 20 20 20 20 34 20 3d 3e  |    4 =>|		.TXT	'    4 => Execute PM tests (not implemented yet) '
00021200 20 20 20 20 35 20 3d 3e  |    5 =>|		.TXT	'    5 => Margin cluster clocks/power'
00021224 20 20 20 20 36 20 3d 3e  |    6 =>|		.TXT	'    6 => Specify test options '
00021242 20 20 20 20 37 20 3d 3e  |    7 =>|		.TXT	'    7 => Repair assistance (model 100 CPU power control)'
0002127a 20 20 20 20 38 20 3d 3e  |    8 =>|		.TXT	'    8 => Initialize processor state '
0002129e 20 20 20 20 30 20 3d 3e  |    0 =>|		.TXT	'    0 => Exit '
000212ac 50 6c 65 61 73 65 20 65  |Please e|		.TXT	'Please enter option :_'
000212c2 43 4f 4e 46 49 47 55 52  |CONFIGUR|		.TXT	'CONFIGURE '
000212cc 41 55 54 4f 5f 52 55 4e  |AUTO_RUN|		.TXT	'AUTO_RUN_P2 '
000212d8 52 61 74 69 6f 6e 61 6c  |Rational|		.TXT	'Rational R1000 FRU diagnostic driver'
000212fc 49 6e 69 74 69 61 6c 69  |Initiali|		.TXT	'Initializing ...  '
0002130e 00 01                    |        |		.XXX[0x2]
00021310 03 04 05 06 07 08 09 02  |        |		.XXX[0x178]
00021318 0a 0b 12 13 14 15 17 18  |        |
00021320 19 1a 16 05 02 03 06 07  |        |
00021328 04 0c 0d 0e 0f 08 50 31  |      P1|
00021330 44 43 4f 4d 4d 20 20 20  |DCOMM   |
00021338 01 00 50 31 46 49 55 20  |  P1FIU |
00021340 20 20 20 20 00 00 50 31  |      P1|
00021348 49 4f 43 20 20 20 20 20  |IOC     |
00021350 00 02 50 31 4d 45 4d 20  |  P1MEM |
00021358 20 20 20 20 01 00 50 31  |      P1|
00021360 53 45 51 20 20 20 20 20  |SEQ     |
00021368 00 00 50 31 53 46 20 20  |  P1SF  |
00021370 20 20 20 20 01 00 50 31  |      P1|
00021378 53 59 53 20 20 20 20 20  |SYS     |
00021380 00 01 50 31 54 59 50 20  |  P1TYP |
00021388 20 20 20 20 00 00 50 31  |      P1|
00021390 56 41 4c 20 20 20 20 20  |VAL     |
00021398 00 00 50 32 41 42 55 53  |  P2ABUS|
000213a0 20 20 20 20 00 00 50 32  |      P2|
000213a8 43 4f 4e 44 20 20 20 20  |COND    |
000213b0 00 00 50 32 43 53 41 20  |  P2CSA |
000213b8 20 20 20 20 00 00 50 32  |      P2|
000213c0 45 56 4e 54 20 20 20 20  |EVNT    |
000213c8 00 00 50 32 46 49 55 20  |  P2FIU |
000213d0 20 20 20 20 00 00 50 32  |      P2|
000213d8 46 50 20 20 20 20 20 20  |FP      |
000213e0 00 00 50 32 49 4f 41 20  |  P2IOA |
000213e8 20 20 20 20 00 01 50 32  |      P2|
000213f0 49 4f 43 20 20 20 20 20  |IOC     |
000213f8 00 02 50 32 4d 45 4d 20  |  P2MEM |
00021400 20 20 20 20 01 00 50 32  |      P2|
00021408 4d 4d 20 20 20 20 20 20  |MM      |
00021410 00 00 50 32 53 42 55 53  |  P2SBUS|
00021418 20 20 20 20 00 01 50 32  |      P2|
00021420 53 45 51 20 20 20 20 20  |SEQ     |
00021428 00 00 50 32 53 54 4f 50  |  P2STOP|
00021430 20 20 20 20 00 00 50 32  |      P2|
00021438 53 59 53 20 20 20 20 20  |SYS     |
00021440 00 01 50 32 54 59 50 20  |  P2TYP |
00021448 20 20 20 20 00 00 50 32  |      P2|
00021450 55 41 44 52 20 20 20 20  |UADR    |
00021458 00 00 50 32 55 43 4f 44  |  P2UCOD|
00021460 45 20 20 20 02 00 50 32  |E     P2|
00021468 56 41 4c 20 20 20 20 20  |VAL     |
00021470 00 00 50 33 52 41 4d 53  |  P3RAMS|
00021478 20 20 20 20 01 00 50 33  |      P3|
00021480 55 43 4f 44 45 20 20 20  |UCODE   |
00021488 02 00                    |        |		.XXX[0x2]
0002148a ; --------------------------------------------------------------------------------------
0002148a ; OMSI PASCAL Function
0002148a ; --------------------------------------------------------------------------------------
0002148a 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
0002148e bf d5                    |        |		CMPA.L	(A5),A7
00021490 62 06                    |b       |		BHI	0x21498
00021492 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021496 4e 76                    |Nv      |		TRAPV
00021498 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
0002149c 48 e7 80 c0              |H       |		MOVEM.L	A1+A0+D0,-(A7)
000214a0 9e fc 00 12              |        |		SUBA.W	#0x12,A7
000214a4 20 4f                    | O      |		MOVEA.L	A7,A0
000214a6 43 fa ec 80              |C       |		LEA.L	0x20128,A1
000214aa 70 10                    |p       |		MOVEQ.L	#0x10,D0
000214ac 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000214ae 51 c8 ff fc              |Q       |		DBF	D0,0x214ac
000214b2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000214b4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000214b8 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
000214bc 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
000214c0 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000214c6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000214c8 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
000214ce de fc 00 16              |        |		ADDA.W	#0x16,A7
000214d2 4c df 03 01              |L       |		MOVEM.L	(A7)+,D0+A0+A1
000214d6 4e 5e                    |N^      |		UNLK	A6
000214d8 4e 75                    |Nu      |		RTS
000214da ; --------------------------------------------------------------------------------------
000214da ; OMSI PASCAL Function
000214da ;    <LVAR -0x004 @>
000214da ; --------------------------------------------------------------------------------------
000214da 4e 56 ff cc              |NV      |		LINK.W	A6,#0xffcc
000214de bf d5                    |        |		CMPA.L	(A5),A7
000214e0 62 06                    |b       |		BHI	0x214e8
000214e2 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000214e6 4e 76                    |Nv      |		TRAPV
000214e8 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
000214ec 48 e7 c0 e0              |H       |		MOVEM.L	A2+A1+A0+D1+D0,-(A7)
000214f0 45 f9 00 01 05 02        |E       |		LEA.L	IPC_PutBool(a : Bool),A2
000214f6 72 01                    |r       |		MOVEQ.L	#0x01,D1
000214f8 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
000214fe 42 27                    |B'      |		CLR.B	-(A7)
00021500 4e 92                    |N       |		JSR	(A2)
00021502 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021504 10 39 00 02 31 bb        | 9  1   |		MOVE.B	0x231bb,D0
0002150a 48 80                    |H       |		EXTB.W	D0
0002150c 41 81                    |A       |		CHK.W	D1,D0
0002150e 1f 00                    |        |		MOVE.B	D0,-(A7)
00021510 4e 92                    |N       |		JSR	(A2)
00021512 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021514 10 39 00 02 31 c0        | 9  1   |		MOVE.B	0x231c0,D0
0002151a 48 80                    |H       |		EXTB.W	D0
0002151c 41 81                    |A       |		CHK.W	D1,D0
0002151e 1f 00                    |        |		MOVE.B	D0,-(A7)
00021520 4e 92                    |N       |		JSR	(A2)
00021522 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021524 20 4f                    | O      |		MOVEA.L	A7,A0
00021526 43 fa ec 12              |C       |		LEA.L	0x2013a,A1
0002152a 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002152c 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002152e 51 c8 ff fc              |Q       |		DBF	D0,0x2152c
00021532 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021534 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021538 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002153a 3f 3c 00 09              |?<      |		MOVE.W	#0x9,-(A7)
0002153e 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021544 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021546 48 78 00 01              |Hx      |		PEA.L	0x1
0002154a 1f 01                    |        |		MOVE.B	D1,-(A7)
0002154c 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
00021550 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00021556 de fc 00 18              |        |		ADDA.W	#0x18,A7
0002155a 4c df 07 03              |L       |		MOVEM.L	(A7)+,D0+D1+A0+A1+A2
0002155e 4e 5e                    |N^      |		UNLK	A6
00021560 4e 75                    |Nu      |		RTS
00021562 ; --------------------------------------------------------------------------------------
00021562 ; OMSI PASCAL Function
00021562 ;    <LVAR -0x004 @>
00021562 ; --------------------------------------------------------------------------------------
00021562 4e 56 ff c4              |NV      |		LINK.W	A6,#0xffc4
00021566 bf d5                    |        |		CMPA.L	(A5),A7
00021568 62 06                    |b       |		BHI	0x21570
0002156a 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
0002156e 4e 76                    |Nv      |		TRAPV
00021570 de fc 00 38              |   8    |		ADDA.W	#0x38,A7
00021574 48 e7 f8 c0              |H       |		MOVEM.L	A1+A0+D4+D3+D2+D1+D0,-(A7)
00021578 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002157a 74 0a                    |t       |		MOVEQ.L	#0x0a,D2
0002157c 76 09                    |v       |		MOVEQ.L	#0x09,D3
0002157e 78 18                    |x       |		MOVEQ.L	#0x18,D4
00021580 4e b9 00 01 05 b6        |N       |		JSR	R1000_Reset_L(void)
00021586 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
0002158c 1f 01                    |        |		MOVE.B	D1,-(A7)
0002158e 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021594 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021596 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
0002159c 9e c2                    |        |		SUBA.W	D2,A7
0002159e 20 4f                    | O      |		MOVEA.L	A7,A0
000215a0 43 fa eb a2              |C       |		LEA.L	0x20144,A1
000215a4 70 08                    |p       |		MOVEQ.L	#0x08,D0
000215a6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000215a8 51 c8 ff fc              |Q       |		DBF	D0,0x215a6
000215ac 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000215ae 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000215b2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000215b4 3f 03                    |?       |		MOVE.W	D3,-(A7)
000215b6 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000215bc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000215be 48 78 00 01              |Hx      |		PEA.L	0x1
000215c2 1f 01                    |        |		MOVE.B	D1,-(A7)
000215c4 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
000215c8 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
000215ce de c4                    |        |		ADDA.W	D4,A7
000215d0 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
000215d6 10 39 00 02 31 bb        | 9  1   |		MOVE.B	0x231bb,D0
000215dc 48 80                    |H       |		EXTB.W	D0
000215de 41 81                    |A       |		CHK.W	D1,D0
000215e0 1f 00                    |        |		MOVE.B	D0,-(A7)
000215e2 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
000215e8 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000215ea 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
000215f0 9e c2                    |        |		SUBA.W	D2,A7
000215f2 20 4f                    | O      |		MOVEA.L	A7,A0
000215f4 43 fa eb 58              |C  X    |		LEA.L	0x2014e,A1
000215f8 70 08                    |p       |		MOVEQ.L	#0x08,D0
000215fa 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000215fc 51 c8 ff fc              |Q       |		DBF	D0,0x215fa
00021600 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021602 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021606 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021608 3f 03                    |?       |		MOVE.W	D3,-(A7)
0002160a 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021610 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021612 48 78 00 01              |Hx      |		PEA.L	0x1
00021616 1f 01                    |        |		MOVE.B	D1,-(A7)
00021618 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
0002161c 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00021622 de c4                    |        |		ADDA.W	D4,A7
00021624 4c df 03 1f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+A0+A1
00021628 4e 5e                    |N^      |		UNLK	A6
0002162a 4e 75                    |Nu      |		RTS
0002162c ; --------------------------------------------------------------------------------------
0002162c ; OMSI PASCAL Function
0002162c ;    <LVAR  0x01c 4(r)>
0002162c ;    <LVAR  0x01a 1(r)>
0002162c ;    <LVAR  0x016 @ 4(r)>
0002162c ;    <LVAR  0x012 @ 4(r)>
0002162c ;    <LVAR  0x010 1(r)>
0002162c ; --------------------------------------------------------------------------------------
0002162c 4e 56 ff 90              |NV      |		LINK.W	A6,#0xff90
00021630 bf d5                    |        |		CMPA.L	(A5),A7
00021632 62 06                    |b       |		BHI	0x2163a
00021634 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021638 4e 76                    |Nv      |		TRAPV
0002163a de fc 00 64              |   d    |		ADDA.W	#0x64,A7
0002163e 48 e7 fb f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D6+D4+D3+D2+D1+D0,-(A7)
00021642 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00021648 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
0002164e 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021650 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00021652 76 07                    |v       |		MOVEQ.L	#0x07,D3
00021654 78 14                    |x       |		MOVEQ.L	#0x14,D4
00021656 4a 2e 00 1a              |J.      |		TST.B	(A6+0x1a)
0002165a 67 34                    |g4      |		BEQ	0x21690
0002165c 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002165e 20 4f                    | O      |		MOVEA.L	A7,A0
00021660 43 fa ea f6              |C       |		LEA.L	0x20158,A1
00021664 70 06                    |p       |		MOVEQ.L	#0x06,D0
00021666 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021668 51 c8 ff fc              |Q       |		DBF	D0,0x21666
0002166c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002166e 2f 2e 00 1c              |/.      |		MOVE.L	(A6+0x1c),-(A7)
00021672 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021674 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00021678 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002167a 3f 03                    |?       |		MOVE.W	D3,-(A7)
0002167c 4e 92                    |N       |		JSR	(A2)
0002167e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021680 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00021686 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021688 4e 93                    |N       |		JSR	(A3)
0002168a de c2                    |        |		ADDA.W	D2,A7
0002168c 60 00 01 40              |`  @    |		BRA	0x217ce
00021690 41 fa ea e4              |A       |		LEA.L	0x20176,A0
00021694 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00021696 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021698 51 c8 ff fc              |Q       |		DBF	D0,0x21696
0002169c 3f 3a ea d8              |?:      |		MOVE.W	0x20176,-(A7)
000216a0 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000216a2 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
000216a6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000216a8 3f 3c 00 16              |?<      |		MOVE.W	#0x16,-(A7)
000216ac 4e 92                    |N       |		JSR	(A2)
000216ae 2e ae 00 16              |.       |		MOVE.L	(A6+0x16),(A7)
000216b2 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
000216b8 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
000216bc 3f 01                    |?       |		MOVE.W	D1,-(A7)
000216be 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
000216c2 4e 92                    |N       |		JSR	(A2)
000216c4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000216c6 4e b9 00 01 02 d4        |N       |		JSR	StringCat3(a, b, c : String) : String
000216cc de c2                    |        |		ADDA.W	D2,A7
000216ce 4e 93                    |N       |		JSR	(A3)
000216d0 de fc 00 18              |        |		ADDA.W	#0x18,A7
000216d4 2e ba ea a6              |.       |		MOVE.L	0x2017c,(A7)
000216d8 2f 3a ea 9e              |/:      |		MOVE.L	0x20178,-(A7)
000216dc 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000216de 2f 2e 00 16              |/.      |		MOVE.L	(A6+0x16),-(A7)
000216e2 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
000216e8 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
000216ec 3f 01                    |?       |		MOVE.W	D1,-(A7)
000216ee 3f 3c 00 08              |?<      |		MOVE.W	#0x8,-(A7)
000216f2 4e 92                    |N       |		JSR	(A2)
000216f4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000216f6 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000216fc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000216fe 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
00021700 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021702 2e 8c                    |.       |		MOVE.L	A4,(A7)
00021704 2f 2e 00 12              |/.      |		MOVE.L	(A6+0x12),-(A7)
00021708 42 80                    |B       |		CLR.L	D0
0002170a 10 2e 00 10              | .      |		MOVE.B	(A6+0x10),D0
0002170e 2f 00                    |/       |		MOVE.L	D0,-(A7)
00021710 4e b9 00 01 04 4c        |N    L  |		JSR	WriteErrorMessage(file : String; txt : String; number : Long) : Bool
00021716 9e fc 00 0e              |        |		SUBA.W	#0xe,A7
0002171a 20 4f                    | O      |		MOVEA.L	A7,A0
0002171c 43 fa ea 62              |C  b    |		LEA.L	0x20180,A1
00021720 70 18                    |p       |		MOVEQ.L	#0x18,D0
00021722 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021724 51 c8 ff fc              |Q       |		DBF	D0,0x21722
00021728 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002172a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002172e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021730 3f 3c 00 19              |?<      |		MOVE.W	#0x19,-(A7)
00021734 4e 92                    |N       |		JSR	(A2)
00021736 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021738 4e 93                    |N       |		JSR	(A3)
0002173a de fc 00 1e              |        |		ADDA.W	#0x1e,A7
0002173e 7e 00                    |~       |		MOVEQ.L	#0x00,D7
00021740 be 83                    |        |		CMP.L	D3,D7
00021742 63 02                    |c       |		BLS	0x21746
00021744 4e 4f                    |NO      |		TRAP	#15
00021746 42 80                    |B       |		CLR.L	D0
00021748 10 36 78 08              | 6x     |		MOVE.B	(A6+D7.L+#0x8),D0
0002174c 41 bc 00 4f              |A  O    |		CHK.W	#0x4f,D0
00021750 1c 00                    |        |		MOVE.B	D0,D6
00021752 67 2a                    |g*      |		BEQ	0x2177e
00021754 2f 3a ea 4c              |/: L    |		MOVE.L	0x201a2,-(A7)
00021758 2f 3a ea 44              |/: D    |		MOVE.L	0x2019e,-(A7)
0002175c 2f 3a ea 3c              |/: <    |		MOVE.L	0x2019a,-(A7)
00021760 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021762 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021766 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021768 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002176a 4e 92                    |N       |		JSR	(A2)
0002176c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002176e 42 80                    |B       |		CLR.L	D0
00021770 10 36 78 08              | 6x     |		MOVE.B	(A6+D7.L+#0x8),D0
00021774 2f 00                    |/       |		MOVE.L	D0,-(A7)
00021776 4e b9 00 01 04 50        |N    P  |		JSR	FS_10450(&, &)
0002177c de c4                    |        |		ADDA.W	D4,A7
0002177e 52 87                    |R       |		ADDQ.L	#0x1,D7
00021780 be 83                    |        |		CMP.L	D3,D7
00021782 6f bc                    |o       |		BLE	0x21740
00021784 2f 3a ea 20              |/:      |		MOVE.L	0x201a6,-(A7)
00021788 9e c2                    |        |		SUBA.W	D2,A7
0002178a 20 4f                    | O      |		MOVEA.L	A7,A0
0002178c 43 fa ea 1c              |C       |		LEA.L	0x201aa,A1
00021790 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00021792 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021794 51 c8 ff fc              |Q       |		DBF	D0,0x21792
00021798 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002179a 48 6f 00 14              |Ho      |		PEA.L	(A7+0x14)
0002179e 3f 01                    |?       |		MOVE.W	D1,-(A7)
000217a0 3f 3c 00 04              |?<      |		MOVE.W	#0x4,-(A7)
000217a4 4e 92                    |N       |		JSR	(A2)
000217a6 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000217a8 2e ae 00 1c              |.       |		MOVE.L	(A6+0x1c),(A7)
000217ac 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000217ae 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
000217b2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000217b4 3f 3c 00 0b              |?<      |		MOVE.W	#0xb,-(A7)
000217b8 4e 92                    |N       |		JSR	(A2)
000217ba 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000217bc 4e b9 00 01 02 d4        |N       |		JSR	StringCat3(a, b, c : String) : String
000217c2 de c2                    |        |		ADDA.W	D2,A7
000217c4 4e 93                    |N       |		JSR	(A3)
000217c6 de c4                    |        |		ADDA.W	D4,A7
000217c8 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
000217ce 48 6e 00 12              |Hn      |		PEA.L	(A6+0x12)
000217d2 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
000217d8 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000217da 48 6e 00 16              |Hn      |		PEA.L	(A6+0x16)
000217de 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
000217e4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000217e6 4c df 1f df              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D6+D7+A0+A1+A2+A3+A4
000217ea 4e 5e                    |N^      |		UNLK	A6
000217ec 4e 75                    |Nu      |		RTS
000217ee ; --------------------------------------------------------------------------------------
000217ee ; OMSI PASCAL Function
000217ee ;    <LVAR  0x00e 4(r)>
000217ee ;    <LVAR  0x00c 1(r)>
000217ee ;    <LVAR  0x008 4(r)>
000217ee ;    <LVAR -0x004 1(rw)>
000217ee ;    <LVAR -0x009 @ 1(r)>
000217ee ;    <LVAR -0x011 @>
000217ee ;    <LVAR -0x012 @ 1(r)>
000217ee ;    <LVAR -0x016 @ 4(r)>
000217ee ;    <LVAR -0x01a @ 4(r)>
000217ee ;    <LVAR -0x01e @ 4(rw)>
000217ee ; --------------------------------------------------------------------------------------
000217ee 4e 56 ff 9c              |NV      |		LINK.W	A6,#0xff9c
000217f2 bf d5                    |        |		CMPA.L	(A5),A7
000217f4 62 06                    |b       |		BHI	0x217fc
000217f6 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000217fa 4e 76                    |Nv      |		TRAPV
000217fc de fc 00 46              |   F    |		ADDA.W	#0x46,A7
00021800 48 e7 f0 f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D3+D2+D1+D0,-(A7)
00021804 45 f8 00 00              |E       |		LEA.L	0x0,A2
00021808 47 ee ff e2              |G       |		LEA.L	(A6-0x1e),A3
0002180c 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002180e 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00021810 76 0e                    |v       |		MOVEQ.L	#0x0e,D3
00021812 1d 6e 00 0c ff fc        | n      |		MOVE.B	(A6+0xc),(A6-0x4)
00021818 3f 3a e9 9c              |?:      |		MOVE.W	0x201b6,-(A7)
0002181c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002181e 1e ba e9 98              |        |		MOVE.B	0x201b8,(A7)
00021822 1f 7a e9 95 00 01        | z      |		MOVE.B	0x201b9,(A7+0x1)
00021828 1f 7a e9 90 00 02        | z      |		MOVE.B	0x201ba,(A7+0x2)
0002182e 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021830 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00021834 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021836 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
0002183a 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021840 2e ae 00 0e              |.       |		MOVE.L	(A6+0xe),(A7)
00021844 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
0002184a 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
0002184e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021850 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
00021854 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002185a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002185c 4e b9 00 01 02 d4        |N       |		JSR	StringCat3(a, b, c : String) : String
00021862 de c2                    |        |		ADDA.W	D2,A7
00021864 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
00021866 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00021868 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
0002186e 1f 2e ff fc              | .      |		MOVE.B	(A6-0x4),-(A7)
00021872 48 57                    |HW      |		PEA.L	(A7)
00021874 48 52                    |HR      |		PEA.L	(A2)
00021876 48 52                    |HR      |		PEA.L	(A2)
00021878 4e b9 00 01 04 fc        |N       |		JSR	IPC_PutVar(src : Pointer; length : Long ; type : Long)
0002187e de c3                    |        |		ADDA.W	D3,A7
00021880 10 39 00 02 31 ba        | 9  1   |		MOVE.B	0x231ba,D0
00021886 48 80                    |H       |		EXTB.W	D0
00021888 41 81                    |A       |		CHK.W	D1,D0
0002188a 1f 00                    |        |		MOVE.B	D0,-(A7)
0002188c 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00021892 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021894 10 39 00 02 31 bb        | 9  1   |		MOVE.B	0x231bb,D0
0002189a 48 80                    |H       |		EXTB.W	D0
0002189c 41 81                    |A       |		CHK.W	D1,D0
0002189e 1f 00                    |        |		MOVE.B	D0,-(A7)
000218a0 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
000218a6 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000218a8 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
000218ae 2f 0c                    |/       |		MOVE.L	A4,-(A7)
000218b0 48 78 00 01              |Hx      |		PEA.L	0x1
000218b4 1f 01                    |        |		MOVE.B	D1,-(A7)
000218b6 48 6e ff f7              |Hn      |		PEA.L	(A6-0x9)
000218ba 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
000218c0 de c3                    |        |		ADDA.W	D3,A7
000218c2 4a 2e ff f7              |J.      |		TST.B	(A6-0x9)
000218c6 66 00 00 cc              |f       |		BNE	0x21994
000218ca 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
000218d0 20 6e 00 08              | n      |		MOVEA.L	(A6+0x8),A0
000218d4 48 50                    |HP      |		PEA.L	(A0)
000218d6 4e b9 00 01 05 26        |N    &  |		JSR	IPC_GetBool() : Bool
000218dc 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000218de 48 53                    |HS      |		PEA.L	(A3)
000218e0 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
000218e6 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000218e8 48 6e ff e6              |Hn      |		PEA.L	(A6-0x1a)
000218ec 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
000218f2 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000218f4 48 6e ff ea              |Hn      |		PEA.L	(A6-0x16)
000218f8 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
000218fe 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021900 48 6e ff ee              |Hn      |		PEA.L	(A6-0x12)
00021904 48 52                    |HR      |		PEA.L	(A2)
00021906 48 52                    |HR      |		PEA.L	(A2)
00021908 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
0002190e de c2                    |        |		ADDA.W	D2,A7
00021910 48 6e ff ef              |Hn      |		PEA.L	(A6-0x11)
00021914 48 52                    |HR      |		PEA.L	(A2)
00021916 48 78 00 07              |Hx      |		PEA.L	0x7
0002191a 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
00021920 de c2                    |        |		ADDA.W	D2,A7
00021922 4e b9 00 01 05 1a        |N       |		JSR	IPC_GetEnd(void)
00021928 4a 10                    |J       |		TST.B	(A0)
0002192a 67 40                    |g@      |		BEQ	0x2196c
0002192c 48 53                    |HS      |		PEA.L	(A3)
0002192e 4e b9 00 01 02 bc        |N       |		JSR	FreeString(VAR a : String)
00021934 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021936 3e ba e8 88              |>       |		MOVE.W	0x201c0,(A7)
0002193a 3f 3a e8 82              |?:      |		MOVE.W	0x201be,-(A7)
0002193e 3f 3a e8 7c              |?: |    |		MOVE.W	0x201bc,-(A7)
00021942 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021944 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00021948 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002194a 3f 3c 00 06              |?<      |		MOVE.W	#0x6,-(A7)
0002194e 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00021954 2e ae 00 0e              |.       |		MOVE.L	(A6+0xe),(A7)
00021958 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
0002195e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021960 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00021966 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021968 26 9f                    |&       |		MOVE.L	(A7)+,(A3)
0002196a 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
0002196c 2f 13                    |/       |		MOVE.L	(A3),-(A7)
0002196e 1f 10                    |        |		MOVE.B	(A0),-(A7)
00021970 2f 2e ff e6              |/.      |		MOVE.L	(A6-0x1a),-(A7)
00021974 2f 2e ff ea              |/.      |		MOVE.L	(A6-0x16),-(A7)
00021978 1f 2e ff ee              | .      |		MOVE.B	(A6-0x12),-(A7)
0002197c 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002197e 20 4f                    | O      |		MOVEA.L	A7,A0
00021980 43 ee ff ef              |C       |		LEA.L	(A6-0x11),A1
00021984 70 07                    |p       |		MOVEQ.L	#0x07,D0
00021986 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021988 51 c8 ff fc              |Q       |		DBF	D0,0x21986
0002198c 4e ba fc 9e              |N       |		JSR	0x2162c
00021990 de fc 00 18              |        |		ADDA.W	#0x18,A7
00021994 4c df 1f 0f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+A0+A1+A2+A3+A4
00021998 4e 5e                    |N^      |		UNLK	A6
0002199a 4e 75                    |Nu      |		RTS
0002199c ; --------------------------------------------------------------------------------------
0002199c ; OMSI PASCAL Function
0002199c ;    <LVAR  0x00c 1(r)>
0002199c ;    <LVAR  0x008 4(rw)>
0002199c ;    <LVAR -0x001 @ 1(r)>
0002199c ; --------------------------------------------------------------------------------------
0002199c 4e 56 ff aa              |NV      |		LINK.W	A6,#0xffaa
000219a0 bf d5                    |        |		CMPA.L	(A5),A7
000219a2 62 06                    |b       |		BHI	0x219aa
000219a4 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000219a8 4e 76                    |Nv      |		TRAPV
000219aa de fc 00 50              |   P    |		ADDA.W	#0x50,A7
000219ae 48 e7 c1 c0              |H       |		MOVEM.L	A1+A0+D7+D1+D0,-(A7)
000219b2 43 ee 00 08              |C       |		LEA.L	(A6+0x8),A1
000219b6 72 28                    |r(      |		MOVEQ.L	#0x28,D1
000219b8 4a 91                    |J       |		TST.L	(A1)
000219ba 66 36                    |f6      |		BNE	0x219f2
000219bc 41 fa e8 2c              |A  ,    |		LEA.L	0x201ea,A0
000219c0 70 09                    |p       |		MOVEQ.L	#0x09,D0
000219c2 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000219c4 51 c8 ff fc              |Q       |		DBF	D0,0x219c2
000219c8 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000219ca 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000219ce 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
000219d2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000219d4 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
000219da 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000219dc 48 78 00 01              |Hx      |		PEA.L	0x1
000219e0 48 78 00 03              |Hx      |		PEA.L	0x3
000219e4 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
000219ea de fc 00 0c              |        |		ADDA.W	#0xc,A7
000219ee 22 9f                    |"       |		MOVE.L	(A7)+,(A1)
000219f0 de c1                    |        |		ADDA.W	D1,A7
000219f2 7e 01                    |~       |		MOVEQ.L	#0x01,D7
000219f4 0c 87 00 00 00 02        |        |		CMPI.L	#0x00000002,D7
000219fa 66 04                    |f       |		BNE	0x21a00
000219fc 4e ba fb 64              |N  d    |		JSR	0x21562
00021a00 2f 07                    |/       |		MOVE.L	D7,-(A7)
00021a02 1f 2e 00 0c              | .      |		MOVE.B	(A6+0xc),-(A7)
00021a06 48 6e ff ff              |Hn      |		PEA.L	(A6-0x1)
00021a0a 4e ba fd e2              |N       |		JSR	0x217ee
00021a0e de fc 00 0a              |        |		ADDA.W	#0xa,A7
00021a12 52 87                    |R       |		ADDQ.L	#0x1,D7
00021a14 4a 2e ff ff              |J.      |		TST.B	(A6-0x1)
00021a18 67 04                    |g       |		BEQ	0x21a1e
00021a1a be 91                    |        |		CMP.L	(A1),D7
00021a1c 6f d6                    |o       |		BLE	0x219f4
00021a1e 4c df 03 83              |L       |		MOVEM.L	(A7)+,D0+D1+D7+A0+A1
00021a22 4e 5e                    |N^      |		UNLK	A6
00021a24 4e 75                    |Nu      |		RTS
00021a26 ; --------------------------------------------------------------------------------------
00021a26 ; OMSI PASCAL Function
00021a26 ; --------------------------------------------------------------------------------------
00021a26 4e 56 ff f6              |NV      |		LINK.W	A6,#0xfff6
00021a2a bf d5                    |        |		CMPA.L	(A5),A7
00021a2c 62 06                    |b       |		BHI	0x21a34
00021a2e 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021a32 4e 76                    |Nv      |		TRAPV
00021a34 de fc 00 0a              |        |		ADDA.W	#0xa,A7
00021a38 42 27                    |B'      |		CLR.B	-(A7)
00021a3a 48 78 00 00              |Hx      |		PEA.L	0x0
00021a3e 4e ba ff 5c              |N  \    |		JSR	0x2199c
00021a42 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00021a44 4e 5e                    |N^      |		UNLK	A6
00021a46 4e 75                    |Nu      |		RTS
00021a48 ; --------------------------------------------------------------------------------------
00021a48 ; OMSI PASCAL Function
00021a48 ; --------------------------------------------------------------------------------------
00021a48 4e 56 ff 7c              |NV |    |		LINK.W	A6,#0xff7c
00021a4c bf d5                    |        |		CMPA.L	(A5),A7
00021a4e 62 06                    |b       |		BHI	0x21a56
00021a50 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021a54 4e 76                    |Nv      |		TRAPV
00021a56 de fc 00 78              |   x    |		ADDA.W	#0x78,A7
00021a5a 48 e7 ff f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
00021a5e 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00021a64 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00021a6a 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021a6c 74 31                    |t1      |		MOVEQ.L	#0x31,D2
00021a6e 76 0c                    |v       |		MOVEQ.L	#0x0c,D3
00021a70 78 16                    |x       |		MOVEQ.L	#0x16,D4
00021a72 2f 3a e7 7a              |/: z    |		MOVE.L	0x201ee,-(A7)
00021a76 2f 3a e7 72              |/: r    |		MOVE.L	0x201ea,-(A7)
00021a7a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021a7c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021a80 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021a82 3f 3c 00 08              |?<      |		MOVE.W	#0x8,-(A7)
00021a86 4e 92                    |N       |		JSR	(A2)
00021a88 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021a8a 4e 93                    |N       |		JSR	(A3)
00021a8c de c3                    |        |		ADDA.W	D3,A7
00021a8e 41 fa e7 8e              |A       |		LEA.L	0x2021e,A0
00021a92 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00021a94 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021a96 51 c8 ff fc              |Q       |		DBF	D0,0x21a94
00021a9a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021a9c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021aa0 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021aa2 3f 3c 00 2c              |?< ,    |		MOVE.W	#0x2c,-(A7)
00021aa6 4e 92                    |N       |		JSR	(A2)
00021aa8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021aaa 4e 93                    |N       |		JSR	(A3)
00021aac 55 4f                    |UO      |		SUBQ.L	#0x2,A7
00021aae 20 4f                    | O      |		MOVEA.L	A7,A0
00021ab0 43 fa e7 6c              |C  l    |		LEA.L	0x2021e,A1
00021ab4 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021ab6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021ab8 51 c8 ff fc              |Q       |		DBF	D0,0x21ab6
00021abc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021abe 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021ac2 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021ac4 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021ac6 4e 92                    |N       |		JSR	(A2)
00021ac8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021aca 4e 93                    |N       |		JSR	(A3)
00021acc 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021ace 20 4f                    | O      |		MOVEA.L	A7,A0
00021ad0 43 fa e7 7e              |C  ~    |		LEA.L	0x20250,A1
00021ad4 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021ad6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021ad8 51 c8 ff fc              |Q       |		DBF	D0,0x21ad6
00021adc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021ade 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021ae2 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021ae4 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021ae6 4e 92                    |N       |		JSR	(A2)
00021ae8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021aea 4e 93                    |N       |		JSR	(A3)
00021aec 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021aee 20 4f                    | O      |		MOVEA.L	A7,A0
00021af0 43 fa e7 90              |C       |		LEA.L	0x20282,A1
00021af4 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021af6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021af8 51 c8 ff fc              |Q       |		DBF	D0,0x21af6
00021afc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021afe 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021b02 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021b04 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021b06 4e 92                    |N       |		JSR	(A2)
00021b08 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021b0a 4e 93                    |N       |		JSR	(A3)
00021b0c 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021b0e 20 4f                    | O      |		MOVEA.L	A7,A0
00021b10 43 fa e7 a2              |C       |		LEA.L	0x202b4,A1
00021b14 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021b16 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021b18 51 c8 ff fc              |Q       |		DBF	D0,0x21b16
00021b1c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021b1e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021b22 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021b24 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021b26 4e 92                    |N       |		JSR	(A2)
00021b28 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021b2a 4e 93                    |N       |		JSR	(A3)
00021b2c 55 4f                    |UO      |		SUBQ.L	#0x2,A7
00021b2e 20 4f                    | O      |		MOVEA.L	A7,A0
00021b30 43 fa e7 b4              |C       |		LEA.L	0x202e6,A1
00021b34 70 36                    |p6      |		MOVEQ.L	#0x36,D0
00021b36 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021b38 51 c8 ff fc              |Q       |		DBF	D0,0x21b36
00021b3c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021b3e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021b42 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021b44 3f 3c 00 37              |?< 7    |		MOVE.W	#0x37,-(A7)
00021b48 4e 92                    |N       |		JSR	(A2)
00021b4a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021b4c 4e 93                    |N       |		JSR	(A3)
00021b4e de fc 00 3c              |   <    |		ADDA.W	#0x3c,A7
00021b52 7a 0b                    |z       |		MOVEQ.L	#0x0b,D5
00021b54 41 fa e7 de              |A       |		LEA.L	0x20334,A0
00021b58 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00021b5a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021b5c 51 c8 ff fc              |Q       |		DBF	D0,0x21b5a
00021b60 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00021b62 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00021b66 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021b68 3f 04                    |?       |		MOVE.W	D4,-(A7)
00021b6a 4e 92                    |N       |		JSR	(A2)
00021b6c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021b6e 48 78 00 00              |Hx      |		PEA.L	0x0
00021b72 2f 05                    |/       |		MOVE.L	D5,-(A7)
00021b74 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00021b7a de c3                    |        |		ADDA.W	D3,A7
00021b7c 2c 1f                    |,       |		MOVE.L	(A7)+,D6
00021b7e de c4                    |        |		ADDA.W	D4,A7
00021b80 20 06                    |        |		MOVE.L	D6,D0
00021b82 b0 83                    |        |		CMP.L	D3,D0
00021b84 63 02                    |c       |		BLS	0x21b88
00021b86 4e 4e                    |NN      |		TRAP	#14
00021b88 d0 40                    | @      |		ADD.W	D0,D0
00021b8a 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00021b92 00 1a                    |        |		.CONST	0x1a			; [0x0] -> 0x21bac
00021b94 00 1e                    |        |		.CONST	0x1e			; [0x1] -> 0x21bb0
00021b96 00 22                    | "      |		.CONST	0x22			; [0x2] -> 0x21bb4
00021b98 00 26                    | &      |		.CONST	0x26			; [0x3] -> 0x21bb8
00021b9a 00 2a                    | *      |		.CONST	0x2a			; [0x4] -> 0x21bbc
00021b9c 00 2e                    | .      |		.CONST	0x2e			; [0x5] -> 0x21bc0
00021b9e 00 32                    | 2      |		.CONST	0x32			; [0x6] -> 0x21bc4
00021ba0 00 36                    | 6      |		.CONST	0x36			; [0x7] -> 0x21bc8
00021ba2 00 3a                    | :      |		.CONST	0x3a			; [0x8] -> 0x21bcc
00021ba4 00 3e                    | >      |		.CONST	0x3e			; [0x9] -> 0x21bd0
00021ba6 00 40                    | @      |		.CONST	0x40			; [0xa] -> 0x21bd2
00021ba8 00 42                    | B      |		.CONST	0x42			; [0xb] -> 0x21bd4
00021baa 00 44                    | D      |		.CONST	0x44			; [0xc] -> 0x21bd6
00021bac					switch@0x21b8a[0x0]:
00021bac 60 3e                    |`>      |		BRA	0x21bec
00021bae 60 28                    |`(      |		.XXX[0x2]
00021bb0					switch@0x21b8a[0x1]:
00021bb0 7e 00                    |~       |		MOVEQ.L	#0x00,D7
00021bb2 60 24                    |`$      |		BRA	0x21bd8
00021bb4					switch@0x21b8a[0x2]:
00021bb4 7e 03                    |~       |		MOVEQ.L	#0x03,D7
00021bb6 60 20                    |`       |		BRA	0x21bd8
00021bb8					switch@0x21b8a[0x3]:
00021bb8 7e 04                    |~       |		MOVEQ.L	#0x04,D7
00021bba 60 1c                    |`       |		BRA	0x21bd8
00021bbc					switch@0x21b8a[0x4]:
00021bbc 7e 05                    |~       |		MOVEQ.L	#0x05,D7
00021bbe 60 18                    |`       |		BRA	0x21bd8
00021bc0					switch@0x21b8a[0x5]:
00021bc0 7e 0b                    |~       |		MOVEQ.L	#0x0b,D7
00021bc2 60 14                    |`       |		BRA	0x21bd8
00021bc4					switch@0x21b8a[0x6]:
00021bc4 7e 02                    |~       |		MOVEQ.L	#0x02,D7
00021bc6 60 10                    |`       |		BRA	0x21bd8
00021bc8					switch@0x21b8a[0x7]:
00021bc8 7e 06                    |~       |		MOVEQ.L	#0x06,D7
00021bca 60 0c                    |`       |		BRA	0x21bd8
00021bcc					switch@0x21b8a[0x8]:
00021bcc 7e 07                    |~       |		MOVEQ.L	#0x07,D7
00021bce 60 08                    |`       |		BRA	0x21bd8
00021bd0					switch@0x21b8a[0x9]:
00021bd0 60 fa                    |`       |		BRA	switch@0x21b8a[0x8]
00021bd2					switch@0x21b8a[0xa]:
00021bd2 60 f8                    |`       |		BRA	switch@0x21b8a[0x8]
00021bd4					switch@0x21b8a[0xb]:
00021bd4 60 f6                    |`       |		BRA	switch@0x21b8a[0x8]
00021bd6					switch@0x21b8a[0xc]:
00021bd6 7e 01                    |~       |		MOVEQ.L	#0x01,D7
00021bd8 10 07                    |        |		MOVE.B	D7,D0
00021bda 48 80                    |H       |		EXTB.W	D0
00021bdc 41 bc 00 0b              |A       |		CHK.W	#0xb,D0
00021be0 1f 00                    |        |		MOVE.B	D0,-(A7)
00021be2 48 78 00 00              |Hx      |		PEA.L	0x0
00021be6 4e ba fd b4              |N       |		JSR	0x2199c
00021bea 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00021bec 4c df 0f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3
00021bf0 4e 5e                    |N^      |		UNLK	A6
00021bf2 4e 75                    |Nu      |		RTS
00021bf4 ; --------------------------------------------------------------------------------------
00021bf4 ; OMSI PASCAL Function
00021bf4 ;    <LVAR  0x00c 1(w)>
00021bf4 ;    <LVAR  0x008 4(r)>
00021bf4 ; --------------------------------------------------------------------------------------
00021bf4 4e 56 ff 7e              |NV ~    |		LINK.W	A6,#0xff7e
00021bf8 bf d5                    |        |		CMPA.L	(A5),A7
00021bfa 62 06                    |b       |		BHI	0x21c02
00021bfc 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021c00 4e 76                    |Nv      |		TRAPV
00021c02 de fc 00 7a              |   z    |		ADDA.W	#0x7a,A7
00021c06 48 e7 ff f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
00021c0a 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00021c10 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00021c16 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021c18 74 32                    |t2      |		MOVEQ.L	#0x32,D2
00021c1a 76 36                    |v6      |		MOVEQ.L	#0x36,D3
00021c1c 78 3a                    |x:      |		MOVEQ.L	#0x3a,D4
00021c1e 7a 34                    |z4      |		MOVEQ.L	#0x34,D5
00021c20 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00021c26 9e c2                    |        |		SUBA.W	D2,A7
00021c28 20 4f                    | O      |		MOVEA.L	A7,A0
00021c2a 43 fa e7 08              |C       |		LEA.L	0x20334,A1
00021c2e 70 30                    |p0      |		MOVEQ.L	#0x30,D0
00021c30 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021c32 51 c8 ff fc              |Q       |		DBF	D0,0x21c30
00021c36 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021c38 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021c3c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021c3e 3f 3c 00 31              |?< 1    |		MOVE.W	#0x31,-(A7)
00021c42 4e 92                    |N       |		JSR	(A2)
00021c44 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021c46 4e 93                    |N       |		JSR	(A3)
00021c48 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021c4a 20 4f                    | O      |		MOVEA.L	A7,A0
00021c4c 43 fa e7 18              |C       |		LEA.L	0x20366,A1
00021c50 70 2c                    |p,      |		MOVEQ.L	#0x2c,D0
00021c52 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021c54 51 c8 ff fc              |Q       |		DBF	D0,0x21c52
00021c58 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021c5a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021c5e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021c60 3f 3c 00 2d              |?< -    |		MOVE.W	#0x2d,-(A7)
00021c64 4e 92                    |N       |		JSR	(A2)
00021c66 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021c68 4e 93                    |N       |		JSR	(A3)
00021c6a de c2                    |        |		ADDA.W	D2,A7
00021c6c 41 fa e7 56              |A  V    |		LEA.L	0x203c4,A0
00021c70 70 0b                    |p       |		MOVEQ.L	#0x0b,D0
00021c72 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021c74 51 c8 ff fc              |Q       |		DBF	D0,0x21c72
00021c78 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021c7a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021c7e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021c80 3f 3c 00 30              |?< 0    |		MOVE.W	#0x30,-(A7)
00021c84 4e 92                    |N       |		JSR	(A2)
00021c86 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021c88 4e 93                    |N       |		JSR	(A3)
00021c8a de c5                    |        |		ADDA.W	D5,A7
00021c8c 41 fa e7 6c              |A  l    |		LEA.L	0x203fa,A0
00021c90 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
00021c92 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021c94 51 c8 ff fc              |Q       |		DBF	D0,0x21c92
00021c98 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021c9a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021c9e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021ca0 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021ca2 4e 92                    |N       |		JSR	(A2)
00021ca4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021ca6 4e 93                    |N       |		JSR	(A3)
00021ca8 de c4                    |        |		ADDA.W	D4,A7
00021caa 41 fa e7 84              |A       |		LEA.L	0x20430,A0
00021cae 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
00021cb0 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021cb2 51 c8 ff fc              |Q       |		DBF	D0,0x21cb0
00021cb6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021cb8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021cbc 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021cbe 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021cc0 4e 92                    |N       |		JSR	(A2)
00021cc2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021cc4 4e 93                    |N       |		JSR	(A3)
00021cc6 de c4                    |        |		ADDA.W	D4,A7
00021cc8 41 fa e7 98              |A       |		LEA.L	0x20462,A0
00021ccc 70 18                    |p       |		MOVEQ.L	#0x18,D0
00021cce 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021cd0 51 c8 ff fc              |Q       |		DBF	D0,0x21cce
00021cd4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021cd6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021cda 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021cdc 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021cde 4e 92                    |N       |		JSR	(A2)
00021ce0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021ce2 4e 93                    |N       |		JSR	(A3)
00021ce4 de c3                    |        |		ADDA.W	D3,A7
00021ce6 41 fa e7 b4              |A       |		LEA.L	0x2049c,A0
00021cea 70 1c                    |p       |		MOVEQ.L	#0x1c,D0
00021cec 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021cee 51 c8 ff fc              |Q       |		DBF	D0,0x21cec
00021cf2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021cf4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021cf8 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021cfa 3f 04                    |?       |		MOVE.W	D4,-(A7)
00021cfc 4e 92                    |N       |		JSR	(A2)
00021cfe 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d00 4e 93                    |N       |		JSR	(A3)
00021d02 de fc 00 3e              |   >    |		ADDA.W	#0x3e,A7
00021d06 41 fa e7 be              |A       |		LEA.L	0x204c6,A0
00021d0a 70 14                    |p       |		MOVEQ.L	#0x14,D0
00021d0c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021d0e 51 c8 ff fc              |Q       |		DBF	D0,0x21d0c
00021d12 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021d14 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021d18 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021d1a 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
00021d1e 4e 92                    |N       |		JSR	(A2)
00021d20 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d22 4e 93                    |N       |		JSR	(A3)
00021d24 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00021d28 41 fa e7 d0              |A       |		LEA.L	0x204fa,A0
00021d2c 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
00021d2e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021d30 51 c8 ff fc              |Q       |		DBF	D0,0x21d2e
00021d34 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021d36 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021d3a 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021d3c 3f 05                    |?       |		MOVE.W	D5,-(A7)
00021d3e 4e 92                    |N       |		JSR	(A2)
00021d40 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d42 4e 93                    |N       |		JSR	(A3)
00021d44 de fc 00 28              |   (    |		ADDA.W	#0x28,A7
00021d48 20 4f                    | O      |		MOVEA.L	A7,A0
00021d4a 43 fa e7 e0              |C       |		LEA.L	0x2052c,A1
00021d4e 70 0e                    |p       |		MOVEQ.L	#0x0e,D0
00021d50 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021d52 51 c8 ff fc              |Q       |		DBF	D0,0x21d50
00021d56 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021d58 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021d5c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021d5e 3f 3c 00 0f              |?<      |		MOVE.W	#0xf,-(A7)
00021d62 4e 92                    |N       |		JSR	(A2)
00021d64 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d66 4e 93                    |N       |		JSR	(A3)
00021d68 de fc 00 14              |        |		ADDA.W	#0x14,A7
00021d6c 7c 14                    ||       |		MOVEQ.L	#0x14,D6
00021d6e 9e fc 00 16              |        |		SUBA.W	#0x16,A7
00021d72 20 4f                    | O      |		MOVEA.L	A7,A0
00021d74 43 fa e7 c6              |C       |		LEA.L	0x2053c,A1
00021d78 70 14                    |p       |		MOVEQ.L	#0x14,D0
00021d7a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021d7c 51 c8 ff fc              |Q       |		DBF	D0,0x21d7a
00021d80 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021d82 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021d86 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021d88 3f 3c 00 15              |?<      |		MOVE.W	#0x15,-(A7)
00021d8c 4e 92                    |N       |		JSR	(A2)
00021d8e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021d90 4e 93                    |N       |		JSR	(A3)
00021d92 de fc 00 12              |        |		ADDA.W	#0x12,A7
00021d96 2e ae 00 08              |.       |		MOVE.L	(A6+0x8),(A7)
00021d9a 48 78 00 01              |Hx      |		PEA.L	0x1
00021d9e 2f 06                    |/       |		MOVE.L	D6,-(A7)
00021da0 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00021da6 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00021daa 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00021dac 20 07                    |        |		MOVE.L	D7,D0
00021dae 53 80                    |S       |		SUBQ.L	#0x1,D0
00021db0 0c 80 00 00 00 14        |        |		CMPI.L	#0x00000014,D0
00021db6 63 02                    |c       |		BLS	0x21dba
00021db8 4e 4f                    |NO      |		TRAP	#15
00021dba 41 fa f5 52              |A  R    |		LEA.L	0x2130e,A0
00021dbe 1d 70 08 00 00 0c        | p      |		MOVE.B	(A0+D0.L),(A6+0xc)
00021dc4 4c df 0f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3
00021dc8 4e 5e                    |N^      |		UNLK	A6
00021dca 4e 75                    |Nu      |		RTS
00021dcc ; --------------------------------------------------------------------------------------
00021dcc ; OMSI PASCAL Function
00021dcc ;    <LVAR  0x00c 1(w)>
00021dcc ;    <LVAR  0x008 4(r)>
00021dcc ; --------------------------------------------------------------------------------------
00021dcc 4e 56 ff a2              |NV      |		LINK.W	A6,#0xffa2
00021dd0 bf d5                    |        |		CMPA.L	(A5),A7
00021dd2 62 06                    |b       |		BHI	0x21dda
00021dd4 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021dd8 4e 76                    |Nv      |		TRAPV
00021dda de fc 00 5a              |   Z    |		ADDA.W	#0x5a,A7
00021dde 48 e7 f1 e0              |H       |		MOVEM.L	A2+A1+A0+D7+D3+D2+D1+D0,-(A7)
00021de2 43 f9 00 01 02 c4        |C       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A1
00021de8 45 f9 00 01 03 e0        |E       |		LEA.L	WriteConsoleStringCrLf(str : String),A2
00021dee 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021df0 74 2a                    |t*      |		MOVEQ.L	#0x2a,D2
00021df2 76 26                    |v&      |		MOVEQ.L	#0x26,D3
00021df4 41 fa e7 82              |A       |		LEA.L	0x20578,A0
00021df8 70 12                    |p       |		MOVEQ.L	#0x12,D0
00021dfa 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021dfc 51 c8 ff fc              |Q       |		DBF	D0,0x21dfa
00021e00 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021e02 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021e06 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e08 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021e0a 4e 91                    |N       |		JSR	(A1)
00021e0c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021e0e 4e 92                    |N       |		JSR	(A2)
00021e10 de c2                    |        |		ADDA.W	D2,A7
00021e12 41 fa e7 8a              |A       |		LEA.L	0x2059e,A0
00021e16 70 12                    |p       |		MOVEQ.L	#0x12,D0
00021e18 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021e1a 51 c8 ff fc              |Q       |		DBF	D0,0x21e18
00021e1e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021e20 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021e24 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e26 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021e28 4e 91                    |N       |		JSR	(A1)
00021e2a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021e2c 4e 92                    |N       |		JSR	(A2)
00021e2e de c2                    |        |		ADDA.W	D2,A7
00021e30 41 fa e7 92              |A       |		LEA.L	0x205c4,A0
00021e34 70 12                    |p       |		MOVEQ.L	#0x12,D0
00021e36 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021e38 51 c8 ff fc              |Q       |		DBF	D0,0x21e36
00021e3c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021e3e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021e42 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e44 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021e46 4e 91                    |N       |		JSR	(A1)
00021e48 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021e4a 4e 92                    |N       |		JSR	(A2)
00021e4c de c2                    |        |		ADDA.W	D2,A7
00021e4e 41 fa e7 9a              |A       |		LEA.L	0x205ea,A0
00021e52 70 12                    |p       |		MOVEQ.L	#0x12,D0
00021e54 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021e56 51 c8 ff fc              |Q       |		DBF	D0,0x21e54
00021e5a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021e5c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021e60 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e62 3f 03                    |?       |		MOVE.W	D3,-(A7)
00021e64 4e 91                    |N       |		JSR	(A1)
00021e66 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021e68 4e 92                    |N       |		JSR	(A2)
00021e6a de c2                    |        |		ADDA.W	D2,A7
00021e6c 41 fa e7 a6              |A       |		LEA.L	0x20614,A0
00021e70 70 14                    |p       |		MOVEQ.L	#0x14,D0
00021e72 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00021e74 51 c8 ff fc              |Q       |		DBF	D0,0x21e72
00021e78 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021e7a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021e7e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e80 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021e82 4e 91                    |N       |		JSR	(A1)
00021e84 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021e86 4e 92                    |N       |		JSR	(A2)
00021e88 de c2                    |        |		ADDA.W	D2,A7
00021e8a 2e ba e7 8c              |.       |		MOVE.L	0x20618,(A7)
00021e8e 2f 3a e7 84              |/:      |		MOVE.L	0x20614,-(A7)
00021e92 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021e94 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021e98 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021e9a 3f 3c 00 08              |?<      |		MOVE.W	#0x8,-(A7)
00021e9e 4e 91                    |N       |		JSR	(A1)
00021ea0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021ea2 4e 92                    |N       |		JSR	(A2)
00021ea4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021ea6 2e ae 00 08              |.       |		MOVE.L	(A6+0x8),(A7)
00021eaa 48 78 00 01              |Hx      |		PEA.L	0x1
00021eae 48 78 00 0b              |Hx      |		PEA.L	0xb
00021eb2 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00021eb8 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00021ebc 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00021ebe 20 07                    |        |		MOVE.L	D7,D0
00021ec0 53 80                    |S       |		SUBQ.L	#0x1,D0
00021ec2 0c 80 00 00 00 0a        |        |		CMPI.L	#0x0000000a,D0
00021ec8 63 02                    |c       |		BLS	0x21ecc
00021eca 4e 4f                    |NO      |		TRAP	#15
00021ecc 41 fa f4 55              |A  U    |		LEA.L	0x21323,A0
00021ed0 1d 70 08 00 00 0c        | p      |		MOVE.B	(A0+D0.L),(A6+0xc)
00021ed6 4c df 07 8f              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D7+A0+A1+A2
00021eda 4e 5e                    |N^      |		UNLK	A6
00021edc 4e 75                    |Nu      |		RTS
00021ede ; --------------------------------------------------------------------------------------
00021ede ; OMSI PASCAL Function
00021ede ;    <LVAR -0x003 @>
00021ede ;    <LVAR -0x00b @>
00021ede ;    <LVAR -0x00c @ 1(r)>
00021ede ;    <LVAR -0x010 @ 4(r)>
00021ede ;    <LVAR -0x014 @ 4(r)>
00021ede ;    <LVAR -0x016 1(w)>
00021ede ;    <LVAR -0x018 1(rw)>
00021ede ;    <LVAR -0x01e @ 1(r)>
00021ede ; --------------------------------------------------------------------------------------
00021ede 4e 56 ff 5c              |NV \    |		LINK.W	A6,#0xff5c
00021ee2 bf d5                    |        |		CMPA.L	(A5),A7
00021ee4 62 06                    |b       |		BHI	0x21eec
00021ee6 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00021eea 4e 76                    |Nv      |		TRAPV
00021eec de fc 00 80              |        |		ADDA.W	#0x80,A7
00021ef0 48 e7 ff f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
00021ef4 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00021efa 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00021f00 72 01                    |r       |		MOVEQ.L	#0x01,D1
00021f02 74 28                    |t(      |		MOVEQ.L	#0x28,D2
00021f04 9e c2                    |        |		SUBA.W	D2,A7
00021f06 20 4f                    | O      |		MOVEA.L	A7,A0
00021f08 43 fa e8 34              |C  4    |		LEA.L	0x2073e,A1
00021f0c 70 26                    |p&      |		MOVEQ.L	#0x26,D0
00021f0e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021f10 51 c8 ff fc              |Q       |		DBF	D0,0x21f0e
00021f14 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f16 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f1a 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f1c 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
00021f20 4e 92                    |N       |		JSR	(A2)
00021f22 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f24 4e 93                    |N       |		JSR	(A3)
00021f26 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00021f2a 41 fa e8 62              |A  b    |		LEA.L	0x2078e,A0
00021f2e 70 09                    |p       |		MOVEQ.L	#0x09,D0
00021f30 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021f32 51 c8 ff fc              |Q       |		DBF	D0,0x21f30
00021f36 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f38 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f3c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f3e 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021f40 4e 92                    |N       |		JSR	(A2)
00021f42 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f44 4e 93                    |N       |		JSR	(A3)
00021f46 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00021f4a 41 fa e8 6a              |A  j    |		LEA.L	0x207b6,A0
00021f4e 70 09                    |p       |		MOVEQ.L	#0x09,D0
00021f50 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021f52 51 c8 ff fc              |Q       |		DBF	D0,0x21f50
00021f56 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f58 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f5c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f5e 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021f60 4e 92                    |N       |		JSR	(A2)
00021f62 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f64 4e 93                    |N       |		JSR	(A3)
00021f66 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021f68 20 4f                    | O      |		MOVEA.L	A7,A0
00021f6a 43 fa e8 4a              |C  J    |		LEA.L	0x207b6,A1
00021f6e 70 26                    |p&      |		MOVEQ.L	#0x26,D0
00021f70 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021f72 51 c8 ff fc              |Q       |		DBF	D0,0x21f70
00021f76 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f78 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f7c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021f7e 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
00021f82 4e 92                    |N       |		JSR	(A2)
00021f84 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021f86 4e 93                    |N       |		JSR	(A3)
00021f88 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00021f8a 20 4f                    | O      |		MOVEA.L	A7,A0
00021f8c 43 fa e8 50              |C  P    |		LEA.L	0x207de,A1
00021f90 70 26                    |p&      |		MOVEQ.L	#0x26,D0
00021f92 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021f94 51 c8 ff fc              |Q       |		DBF	D0,0x21f92
00021f98 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021f9a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021f9e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021fa0 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
00021fa4 4e 92                    |N       |		JSR	(A2)
00021fa6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021fa8 4e 93                    |N       |		JSR	(A3)
00021faa de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00021fae 41 fa e8 7e              |A  ~    |		LEA.L	0x2082e,A0
00021fb2 70 09                    |p       |		MOVEQ.L	#0x09,D0
00021fb4 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00021fb6 51 c8 ff fc              |Q       |		DBF	D0,0x21fb4
00021fba 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021fbc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021fc0 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021fc2 3f 02                    |?       |		MOVE.W	D2,-(A7)
00021fc4 4e 92                    |N       |		JSR	(A2)
00021fc6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021fc8 4e 93                    |N       |		JSR	(A3)
00021fca 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00021fcc 20 4f                    | O      |		MOVEA.L	A7,A0
00021fce 43 fa e8 5e              |C  ^    |		LEA.L	0x2082e,A1
00021fd2 70 28                    |p(      |		MOVEQ.L	#0x28,D0
00021fd4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021fd6 51 c8 ff fc              |Q       |		DBF	D0,0x21fd4
00021fda 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021fdc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00021fe0 3f 01                    |?       |		MOVE.W	D1,-(A7)
00021fe2 3f 3c 00 29              |?< )    |		MOVE.W	#0x29,-(A7)
00021fe6 4e 92                    |N       |		JSR	(A2)
00021fe8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00021fea 4e 93                    |N       |		JSR	(A3)
00021fec 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00021fee 20 4f                    | O      |		MOVEA.L	A7,A0
00021ff0 43 fa e8 66              |C  f    |		LEA.L	0x20858,A1
00021ff4 70 26                    |p&      |		MOVEQ.L	#0x26,D0
00021ff6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00021ff8 51 c8 ff fc              |Q       |		DBF	D0,0x21ff6
00021ffc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00021ffe 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022002 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022004 3f 3c 00 27              |?< '    |		MOVE.W	#0x27,-(A7)
00022008 4e 92                    |N       |		JSR	(A2)
0002200a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002200c 4e 93                    |N       |		JSR	(A3)
0002200e de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00022012 41 fa e8 94              |A       |		LEA.L	0x208a8,A0
00022016 70 09                    |p       |		MOVEQ.L	#0x09,D0
00022018 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002201a 51 c8 ff fc              |Q       |		DBF	D0,0x22018
0002201e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022020 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022024 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022026 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022028 4e 92                    |N       |		JSR	(A2)
0002202a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002202c 4e 93                    |N       |		JSR	(A3)
0002202e 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022030 20 4f                    | O      |		MOVEA.L	A7,A0
00022032 43 fa e8 74              |C  t    |		LEA.L	0x208a8,A1
00022036 70 28                    |p(      |		MOVEQ.L	#0x28,D0
00022038 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002203a 51 c8 ff fc              |Q       |		DBF	D0,0x22038
0002203e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022040 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022044 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022046 3f 3c 00 29              |?< )    |		MOVE.W	#0x29,-(A7)
0002204a 4e 92                    |N       |		JSR	(A2)
0002204c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002204e 4e 93                    |N       |		JSR	(A3)
00022050 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022054 41 fa e8 a6              |A       |		LEA.L	0x208fc,A0
00022058 70 14                    |p       |		MOVEQ.L	#0x14,D0
0002205a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002205c 51 c8 ff fc              |Q       |		DBF	D0,0x2205a
00022060 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022062 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022066 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022068 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
0002206c 4e 92                    |N       |		JSR	(A2)
0002206e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022070 4e 93                    |N       |		JSR	(A3)
00022072 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022076 41 fa e8 ac              |A       |		LEA.L	0x20924,A0
0002207a 70 09                    |p       |		MOVEQ.L	#0x09,D0
0002207c 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002207e 51 c8 ff fc              |Q       |		DBF	D0,0x2207c
00022082 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022084 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022088 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002208a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002208c 4e 92                    |N       |		JSR	(A2)
0002208e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022090 4e 93                    |N       |		JSR	(A3)
00022092 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022094 20 4f                    | O      |		MOVEA.L	A7,A0
00022096 43 fa e8 8c              |C       |		LEA.L	0x20924,A1
0002209a 70 28                    |p(      |		MOVEQ.L	#0x28,D0
0002209c 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002209e 51 c8 ff fc              |Q       |		DBF	D0,0x2209c
000220a2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000220a4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000220a8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000220aa 3f 3c 00 29              |?< )    |		MOVE.W	#0x29,-(A7)
000220ae 4e 92                    |N       |		JSR	(A2)
000220b0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000220b2 4e 93                    |N       |		JSR	(A3)
000220b4 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
000220b8 41 fa e8 be              |A       |		LEA.L	0x20978,A0
000220bc 70 14                    |p       |		MOVEQ.L	#0x14,D0
000220be 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000220c0 51 c8 ff fc              |Q       |		DBF	D0,0x220be
000220c4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000220c6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000220ca 3f 01                    |?       |		MOVE.W	D1,-(A7)
000220cc 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
000220d0 4e 92                    |N       |		JSR	(A2)
000220d2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000220d4 4e 93                    |N       |		JSR	(A3)
000220d6 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
000220da 41 fa e8 c4              |A       |		LEA.L	0x209a0,A0
000220de 70 09                    |p       |		MOVEQ.L	#0x09,D0
000220e0 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000220e2 51 c8 ff fc              |Q       |		DBF	D0,0x220e0
000220e6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000220e8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000220ec 3f 01                    |?       |		MOVE.W	D1,-(A7)
000220ee 3f 02                    |?       |		MOVE.W	D2,-(A7)
000220f0 4e 92                    |N       |		JSR	(A2)
000220f2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000220f4 4e 93                    |N       |		JSR	(A3)
000220f6 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
000220fa 41 fa e8 ae              |A       |		LEA.L	0x209aa,A0
000220fe 70 04                    |p       |		MOVEQ.L	#0x04,D0
00022100 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022102 51 c8 ff fc              |Q       |		DBF	D0,0x22100
00022106 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022108 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002210c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002210e 3f 3c 00 0a              |?<      |		MOVE.W	#0xa,-(A7)
00022112 4e 92                    |N       |		JSR	(A2)
00022114 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022116 4e 93                    |N       |		JSR	(A3)
00022118 de fc 00 0e              |        |		ADDA.W	#0xe,A7
0002211c 41 fa e8 dc              |A       |		LEA.L	0x209fa,A0
00022120 70 04                    |p       |		MOVEQ.L	#0x04,D0
00022122 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022124 51 c8 ff fc              |Q       |		DBF	D0,0x22122
00022128 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002212a 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
0002212e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022130 3f 3c 00 14              |?<      |		MOVE.W	#0x14,-(A7)
00022134 4e 92                    |N       |		JSR	(A2)
00022136 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022138 48 78 00 00              |Hx      |		PEA.L	0x0
0002213c 48 78 00 1e              |Hx      |		PEA.L	0x1e
00022140 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022146 de fc 00 0c              |        |		ADDA.W	#0xc,A7
0002214a 2a 1f                    |*       |		MOVE.L	(A7)+,D5
0002214c de fc 00 14              |        |		ADDA.W	#0x14,A7
00022150 1d 7c 00 02 ff e8        | |      |		MOVE.B	#0x02,(A6-0x18)
00022156 4a 85                    |J       |		TST.L	D5
00022158 67 00 02 d8              |g       |		BEQ	0x22432
0002215c 0c 85 00 00 00 1e        |        |		CMPI.L	#0x0000001e,D5
00022162 66 62                    |fb      |		BNE	0x221c6
00022164 41 fa e8 a6              |A       |		LEA.L	0x20a0c,A0
00022168 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002216a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002216c 51 c8 ff fc              |Q       |		DBF	D0,0x2216a
00022170 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022172 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022176 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022178 3f 3c 00 12              |?<      |		MOVE.W	#0x12,-(A7)
0002217c 4e 92                    |N       |		JSR	(A2)
0002217e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022180 4e b9 00 01 03 e4        |N       |		JSR	AskConsoleString(prompt : String) : String
00022186 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022188 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
0002218a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002218c 20 4f                    | O      |		MOVEA.L	A7,A0
0002218e 43 fa e8 7c              |C  |    |		LEA.L	0x20a0c,A1
00022192 70 18                    |p       |		MOVEQ.L	#0x18,D0
00022194 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022196 51 c8 ff fc              |Q       |		DBF	D0,0x22194
0002219a 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
0002219c 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
000221a0 3f 01                    |?       |		MOVE.W	D1,-(A7)
000221a2 3f 3c 00 19              |?<      |		MOVE.W	#0x19,-(A7)
000221a6 4e 92                    |N       |		JSR	(A2)
000221a8 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000221aa 1e 81                    |        |		MOVE.B	D1,(A7)
000221ac 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
000221b2 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000221b4 4a 1f                    |J       |		TST.B	(A7)+
000221b6 67 04                    |g       |		BEQ	0x221bc
000221b8 7e 01                    |~       |		MOVEQ.L	#0x01,D7
000221ba 60 02                    |`       |		BRA	0x221be
000221bc 7e 00                    |~       |		MOVEQ.L	#0x00,D7
000221be de fc 00 1a              |        |		ADDA.W	#0x1a,A7
000221c2 7c 01                    ||       |		MOVEQ.L	#0x01,D6
000221c4 60 68                    |`h      |		BRA	0x2222e
000221c6 20 05                    |        |		MOVE.L	D5,D0
000221c8 53 80                    |S       |		SUBQ.L	#0x1,D0
000221ca 0c 80 00 00 00 1c        |        |		CMPI.L	#0x0000001c,D0
000221d0 63 02                    |c       |		BLS	0x221d4
000221d2 4e 4f                    |NO      |		TRAP	#15
000221d4 28 00                    |(       |		MOVE.L	D0,D4
000221d6 76 0c                    |v       |		MOVEQ.L	#0x0c,D3
000221d8 4e b9 00 01 02 8c        |N       |		JSR	?muls_d3_d4
000221de 41 fa f1 4e              |A  N    |		LEA.L	0x2132e,A0
000221e2 9e fc 00 0a              |        |		SUBA.W	#0xa,A7
000221e6 22 4f                    |"O      |		MOVEA.L	A7,A1
000221e8 41 f0 48 00              |A H     |		LEA.L	(A0+D4.L),A0
000221ec 70 09                    |p       |		MOVEQ.L	#0x09,D0
000221ee 12 d8                    |        |		MOVE.B	(A0)+,(A1)+
000221f0 51 c8 ff fc              |Q       |		DBF	D0,0x221ee
000221f4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000221f6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000221fa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000221fc 3f 3c 00 0a              |?<      |		MOVE.W	#0xa,-(A7)
00022200 4e 92                    |N       |		JSR	(A2)
00022202 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022204 28 5f                    |(_      |		MOVEA.L	(A7)+,A4
00022206 de fc 00 0a              |        |		ADDA.W	#0xa,A7
0002220a 41 fa f1 22              |A  "    |		LEA.L	0x2132e,A0
0002220e 1e 30 48 0a              | 0H     |		MOVE.B	(A0+D4.L+#0xa),D7
00022212 7c 00                    ||       |		MOVEQ.L	#0x00,D6
00022214 41 fa f1 18              |A       |		LEA.L	0x2132e,A0
00022218 4a 30 48 0b              |J0H     |		TST.B	(A0+D4.L+#0xb)
0002221c 67 0e                    |g       |		BEQ	0x2222c
0002221e 41 fa f1 0e              |A       |		LEA.L	0x2132e,A0
00022222 10 30 48 0b              | 0H     |		MOVE.B	(A0+D4.L+#0xb),D0
00022226 b0 2e ff e8              | .      |		CMP.B	(A6-0x18),D0
0002222a 66 02                    |f       |		BNE	0x2222e
0002222c 52 06                    |R       |		ADDQ.B	#0x1,D6
0002222e 4a 06                    |J       |		TST.B	D6
00022230 67 00 01 d8              |g       |		BEQ	0x2240a
00022234 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
0002223a be 01                    |        |		CMP.B	D1,D7
0002223c 66 3e                    |f>      |		BNE	0x2227c
0002223e 9e fc 00 2c              |   ,    |		SUBA.W	#0x2c,A7
00022242 20 4f                    | O      |		MOVEA.L	A7,A0
00022244 43 fa e7 e0              |C       |		LEA.L	0x20a26,A1
00022248 70 2a                    |p*      |		MOVEQ.L	#0x2a,D0
0002224a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002224c 51 c8 ff fc              |Q       |		DBF	D0,0x2224a
00022250 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022252 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022256 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022258 3f 3c 00 2b              |?< +    |		MOVE.W	#0x2b,-(A7)
0002225c 4e 92                    |N       |		JSR	(A2)
0002225e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022260 4e ba fb 6a              |N  j    |		JSR	0x21dcc
00022264 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022266 10 1f                    |        |		MOVE.B	(A7)+,D0
00022268 48 80                    |H       |		EXTB.W	D0
0002226a 48 c0                    |H       |		EXTW.L	D0
0002226c 0c 80 00 00 00 ff        |        |		CMPI.L	#0x000000ff,D0
00022272 63 02                    |c       |		BLS	0x22276
00022274 4e 4f                    |NO      |		TRAP	#15
00022276 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
0002227a 60 3c                    |`<      |		BRA	0x222b8
0002227c 0c 07 00 02              |        |		CMPI.B	#0x02,D7
00022280 66 50                    |fP      |		BNE	0x222d2
00022282 41 fa e7 f4              |A       |		LEA.L	0x20a78,A0
00022286 70 12                    |p       |		MOVEQ.L	#0x12,D0
00022288 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002228a 51 c8 ff fc              |Q       |		DBF	D0,0x22288
0002228e 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022290 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022294 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022296 3f 3c 00 26              |?< &    |		MOVE.W	#0x26,-(A7)
0002229a 4e 92                    |N       |		JSR	(A2)
0002229c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002229e 4e ba f9 54              |N  T    |		JSR	0x21bf4
000222a2 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000222a4 10 1f                    |        |		MOVE.B	(A7)+,D0
000222a6 48 80                    |H       |		EXTB.W	D0
000222a8 48 c0                    |H       |		EXTW.L	D0
000222aa 0c 80 00 00 00 ff        |        |		CMPI.L	#0x000000ff,D0
000222b0 63 02                    |c       |		BLS	0x222b4
000222b2 4e 4f                    |NO      |		TRAP	#15
000222b4 de fc 00 26              |   &    |		ADDA.W	#0x26,A7
000222b8 1d 40 ff ea              | @      |		MOVE.B	D0,(A6-0x16)
000222bc 1f 00                    |        |		MOVE.B	D0,-(A7)
000222be 48 57                    |HW      |		PEA.L	(A7)
000222c0 48 78 00 00              |Hx      |		PEA.L	0x0
000222c4 48 78 00 00              |Hx      |		PEA.L	0x0
000222c8 4e b9 00 01 04 fc        |N       |		JSR	IPC_PutVar(src : Pointer; length : Long ; type : Long)
000222ce de fc 00 0e              |        |		ADDA.W	#0xe,A7
000222d2 10 39 00 02 31 ba        | 9  1   |		MOVE.B	0x231ba,D0
000222d8 48 80                    |H       |		EXTB.W	D0
000222da 41 81                    |A       |		CHK.W	D1,D0
000222dc 1f 00                    |        |		MOVE.B	D0,-(A7)
000222de 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
000222e4 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000222e6 10 39 00 02 31 bb        | 9  1   |		MOVE.B	0x231bb,D0
000222ec 48 80                    |H       |		EXTB.W	D0
000222ee 41 81                    |A       |		CHK.W	D1,D0
000222f0 1f 00                    |        |		MOVE.B	D0,-(A7)
000222f2 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
000222f8 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000222fa 0c 07 00 02              |        |		CMPI.B	#0x02,D7
000222fe 66 28                    |f(      |		BNE	0x22328
00022300 10 39 00 02 31 c0        | 9  1   |		MOVE.B	0x231c0,D0
00022306 48 80                    |H       |		EXTB.W	D0
00022308 41 81                    |A       |		CHK.W	D1,D0
0002230a 1f 00                    |        |		MOVE.B	D0,-(A7)
0002230c 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00022312 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022314 10 39 00 02 31 c0        | 9  1   |		MOVE.B	0x231c0,D0
0002231a 48 80                    |H       |		EXTB.W	D0
0002231c 41 81                    |A       |		CHK.W	D1,D0
0002231e 1f 00                    |        |		MOVE.B	D0,-(A7)
00022320 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00022326 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022328 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
0002232e 2f 3a e7 50              |/: P    |		MOVE.L	0x20a80,-(A7)
00022332 2f 3a e7 48              |/: H    |		MOVE.L	0x20a7c,-(A7)
00022336 2f 3a e7 40              |/: @    |		MOVE.L	0x20a78,-(A7)
0002233a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002233c 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022340 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022342 3f 3c 00 0c              |?<      |		MOVE.W	#0xc,-(A7)
00022346 4e 92                    |N       |		JSR	(A2)
00022348 2e 8c                    |.       |		MOVE.L	A4,(A7)
0002234a 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00022350 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022352 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00022358 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002235a 4e 93                    |N       |		JSR	(A3)
0002235c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002235e 2e 8c                    |.       |		MOVE.L	A4,(A7)
00022360 4e b9 00 01 02 cc        |N       |		JSR	StringDup(a : String) : String
00022366 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022368 48 78 00 01              |Hx      |		PEA.L	0x1
0002236c 1f 01                    |        |		MOVE.B	D1,-(A7)
0002236e 48 6e ff fd              |Hn      |		PEA.L	(A6-0x3)
00022372 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00022378 de fc 00 0e              |        |		ADDA.W	#0xe,A7
0002237c 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00022382 48 6e ff e2              |Hn      |		PEA.L	(A6-0x1e)
00022386 4e b9 00 01 05 26        |N    &  |		JSR	IPC_GetBool() : Bool
0002238c 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002238e 48 6e ff ec              |Hn      |		PEA.L	(A6-0x14)
00022392 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
00022398 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002239a 48 6e ff f0              |Hn      |		PEA.L	(A6-0x10)
0002239e 4e b9 00 01 05 2c        |N    ,  |		JSR	IPC_GetString(VAR retval : String)
000223a4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000223a6 48 6e ff f4              |Hn      |		PEA.L	(A6-0xc)
000223aa 48 78 00 00              |Hx      |		PEA.L	0x0
000223ae 48 78 00 00              |Hx      |		PEA.L	0x0
000223b2 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
000223b8 de fc 00 0c              |        |		ADDA.W	#0xc,A7
000223bc 48 6e ff f5              |Hn      |		PEA.L	(A6-0xb)
000223c0 48 78 00 00              |Hx      |		PEA.L	0x0
000223c4 48 78 00 07              |Hx      |		PEA.L	0x7
000223c8 4e b9 00 01 05 20        |N       |		JSR	IPC_GetVar(MOD dst : Pointer; length : Long ; type : Long)
000223ce de fc 00 0c              |        |		ADDA.W	#0xc,A7
000223d2 4e b9 00 01 05 1a        |N       |		JSR	IPC_GetEnd(void)
000223d8 2f 0c                    |/       |		MOVE.L	A4,-(A7)
000223da 10 2e ff e2              | .      |		MOVE.B	(A6-0x1e),D0
000223de 48 80                    |H       |		EXTB.W	D0
000223e0 41 81                    |A       |		CHK.W	D1,D0
000223e2 1f 00                    |        |		MOVE.B	D0,-(A7)
000223e4 2f 2e ff ec              |/.      |		MOVE.L	(A6-0x14),-(A7)
000223e8 2f 2e ff f0              |/.      |		MOVE.L	(A6-0x10),-(A7)
000223ec 1f 2e ff f4              | .      |		MOVE.B	(A6-0xc),-(A7)
000223f0 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000223f2 20 4f                    | O      |		MOVEA.L	A7,A0
000223f4 43 ee ff f5              |C       |		LEA.L	(A6-0xb),A1
000223f8 70 07                    |p       |		MOVEQ.L	#0x07,D0
000223fa 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000223fc 51 c8 ff fc              |Q       |		DBF	D0,0x223fa
00022400 4e ba f2 2a              |N  *    |		JSR	0x2162c
00022404 de fc 00 18              |        |		ADDA.W	#0x18,A7
00022408 60 28                    |`(      |		BRA	0x22432
0002240a 9e fc 00 3c              |   <    |		SUBA.W	#0x3c,A7
0002240e 20 4f                    | O      |		MOVEA.L	A7,A0
00022410 43 fa e5 98              |C       |		LEA.L	0x209aa,A1
00022414 70 3a                    |p:      |		MOVEQ.L	#0x3a,D0
00022416 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022418 51 c8 ff fc              |Q       |		DBF	D0,0x22416
0002241c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002241e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022422 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022424 3f 3c 00 3b              |?< ;    |		MOVE.W	#0x3b,-(A7)
00022428 4e 92                    |N       |		JSR	(A2)
0002242a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002242c 4e 93                    |N       |		JSR	(A3)
0002242e de fc 00 40              |   @    |		ADDA.W	#0x40,A7
00022432 4c df 1f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4
00022436 4e 5e                    |N^      |		UNLK	A6
00022438 4e 75                    |Nu      |		RTS
0002243a ; --------------------------------------------------------------------------------------
0002243a ; OMSI PASCAL Function
0002243a ;    <LVAR -0x004 @>
0002243a ; --------------------------------------------------------------------------------------
0002243a 4e 56 ff c8              |NV      |		LINK.W	A6,#0xffc8
0002243e bf d5                    |        |		CMPA.L	(A5),A7
00022440 62 06                    |b       |		BHI	0x22448
00022442 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022446 4e 76                    |Nv      |		TRAPV
00022448 de fc 00 34              |   4    |		ADDA.W	#0x34,A7
0002244c 48 e7 c0 c0              |H       |		MOVEM.L	A1+A0+D1+D0,-(A7)
00022450 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022452 2f 3a e6 30              |/: 0    |		MOVE.L	0x20a84,-(A7)
00022456 9e fc 00 0c              |        |		SUBA.W	#0xc,A7
0002245a 20 4f                    | O      |		MOVEA.L	A7,A0
0002245c 43 fa e6 2a              |C  *    |		LEA.L	0x20a88,A1
00022460 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022462 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022464 51 c8 ff fc              |Q       |		DBF	D0,0x22462
00022468 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002246a 48 6f 00 10              |Ho      |		PEA.L	(A7+0x10)
0002246e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022470 3f 3c 00 04              |?<      |		MOVE.W	#0x4,-(A7)
00022474 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002247a 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002247c 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022480 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022482 3f 3c 00 0b              |?<      |		MOVE.W	#0xb,-(A7)
00022486 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
0002248c 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
0002248e 1e 81                    |        |		MOVE.B	D1,(A7)
00022490 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
00022494 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
0002249a de fc 00 1e              |        |		ADDA.W	#0x1e,A7
0002249e 4c df 03 03              |L       |		MOVEM.L	(A7)+,D0+D1+A0+A1
000224a2 4e 5e                    |N^      |		UNLK	A6
000224a4 4e 75                    |Nu      |		RTS
000224a6 ; --------------------------------------------------------------------------------------
000224a6 ; OMSI PASCAL Function
000224a6 ; --------------------------------------------------------------------------------------
000224a6 4e 56 ff 84              |NV      |		LINK.W	A6,#0xff84
000224aa bf d5                    |        |		CMPA.L	(A5),A7
000224ac 62 06                    |b       |		BHI	0x224b4
000224ae 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
000224b2 4e 76                    |Nv      |		TRAPV
000224b4 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
000224b8 48 e7 fd f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7)
000224bc 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
000224c2 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
000224c8 72 01                    |r       |		MOVEQ.L	#0x01,D1
000224ca 74 20                    |t       |		MOVEQ.L	#0x20,D2
000224cc 76 16                    |v       |		MOVEQ.L	#0x16,D3
000224ce 78 1a                    |x       |		MOVEQ.L	#0x1a,D4
000224d0 7a 1c                    |z       |		MOVEQ.L	#0x1c,D5
000224d2 9e c4                    |        |		SUBA.W	D4,A7
000224d4 20 4f                    | O      |		MOVEA.L	A7,A0
000224d6 43 fa e5 bc              |C       |		LEA.L	0x20a94,A1
000224da 70 18                    |p       |		MOVEQ.L	#0x18,D0
000224dc 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000224de 51 c8 ff fc              |Q       |		DBF	D0,0x224dc
000224e2 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000224e4 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000224e8 3f 01                    |?       |		MOVE.W	D1,-(A7)
000224ea 3f 3c 00 19              |?<      |		MOVE.W	#0x19,-(A7)
000224ee 4e 92                    |N       |		JSR	(A2)
000224f0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000224f2 4e 93                    |N       |		JSR	(A3)
000224f4 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000224f6 20 4f                    | O      |		MOVEA.L	A7,A0
000224f8 43 fa e5 b4              |C       |		LEA.L	0x20aae,A1
000224fc 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
000224fe 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022500 51 c8 ff fc              |Q       |		DBF	D0,0x224fe
00022504 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022506 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002250a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002250c 3f 3c 00 1b              |?<      |		MOVE.W	#0x1b,-(A7)
00022510 4e 92                    |N       |		JSR	(A2)
00022512 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022514 4e 93                    |N       |		JSR	(A3)
00022516 de c2                    |        |		ADDA.W	D2,A7
00022518 41 fa e5 c6              |A       |		LEA.L	0x20ae0,A0
0002251c 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
0002251e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022520 51 c8 ff fc              |Q       |		DBF	D0,0x2251e
00022524 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022526 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002252a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002252c 3f 03                    |?       |		MOVE.W	D3,-(A7)
0002252e 4e 92                    |N       |		JSR	(A2)
00022530 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022532 4e 93                    |N       |		JSR	(A3)
00022534 de c4                    |        |		ADDA.W	D4,A7
00022536 41 fa e5 e0              |A       |		LEA.L	0x20b18,A0
0002253a 70 0d                    |p       |		MOVEQ.L	#0x0d,D0
0002253c 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002253e 51 c8 ff fc              |Q       |		DBF	D0,0x2253c
00022542 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022544 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022548 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002254a 3f 3c 00 38              |?< 8    |		MOVE.W	#0x38,-(A7)
0002254e 4e 92                    |N       |		JSR	(A2)
00022550 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022552 4e 93                    |N       |		JSR	(A3)
00022554 de fc 00 3c              |   <    |		ADDA.W	#0x3c,A7
00022558 41 fa e5 da              |A       |		LEA.L	0x20b34,A0
0002255c 70 06                    |p       |		MOVEQ.L	#0x06,D0
0002255e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022560 51 c8 ff fc              |Q       |		DBF	D0,0x2255e
00022564 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022566 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002256a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002256c 3f 05                    |?       |		MOVE.W	D5,-(A7)
0002256e 4e 92                    |N       |		JSR	(A2)
00022570 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022572 4e 93                    |N       |		JSR	(A3)
00022574 de c2                    |        |		ADDA.W	D2,A7
00022576 41 fa e5 d8              |A       |		LEA.L	0x20b50,A0
0002257a 70 06                    |p       |		MOVEQ.L	#0x06,D0
0002257c 2f 20                    |/       |		MOVE.L	-(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 05                    |?       |		MOVE.W	D5,-(A7)
0002258c 4e 92                    |N       |		JSR	(A2)
0002258e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022590 4e 93                    |N       |		JSR	(A3)
00022592 de c2                    |        |		ADDA.W	D2,A7
00022594 41 fa e5 d0              |A       |		LEA.L	0x20b66,A0
00022598 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
0002259a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002259c 51 c8 ff fc              |Q       |		DBF	D0,0x2259a
000225a0 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000225a2 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000225a6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000225a8 3f 03                    |?       |		MOVE.W	D3,-(A7)
000225aa 4e 92                    |N       |		JSR	(A2)
000225ac 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000225ae 48 78 00 00              |Hx      |		PEA.L	0x0
000225b2 48 78 00 04              |Hx      |		PEA.L	0x4
000225b6 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
000225bc de fc 00 0c              |        |		ADDA.W	#0xc,A7
000225c0 2e 1f                    |.       |		MOVE.L	(A7)+,D7
000225c2 de c3                    |        |		ADDA.W	D3,A7
000225c4 20 07                    |        |		MOVE.L	D7,D0
000225c6 0c 80 00 00 00 04        |        |		CMPI.L	#0x00000004,D0
000225cc 63 02                    |c       |		BLS	0x225d0
000225ce 4e 4e                    |NN      |		TRAP	#14
000225d0 d0 40                    | @      |		ADD.W	D0,D0
000225d2 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
000225da 00 0a                    |        |		.CONST	0xa			; [0x0] -> 0x225e4
000225dc 00 0c                    |        |		.CONST	0xc			; [0x1] -> 0x225e6
000225de 00 12                    |        |		.CONST	0x12			; [0x2] -> 0x225ec
000225e0 00 18                    |        |		.CONST	0x18			; [0x3] -> 0x225f2
000225e2 00 1e                    |        |		.CONST	0x1e			; [0x4] -> 0x225f8
000225e4					switch@0x225d2[0x0]:
000225e4 60 16                    |`       |		BRA	0x225fc
000225e6					switch@0x225d2[0x1]:
000225e6 4e ba fe 52              |N  R    |		JSR	0x2243a
000225ea 60 10                    |`       |		BRA	0x225fc
000225ec					switch@0x225d2[0x2]:
000225ec 4e ba f4 38              |N  8    |		JSR	0x21a26
000225f0 60 0a                    |`       |		BRA	0x225fc
000225f2					switch@0x225d2[0x3]:
000225f2 4e ba f4 54              |N  T    |		JSR	0x21a48
000225f6 60 04                    |`       |		BRA	0x225fc
000225f8					switch@0x225d2[0x4]:
000225f8 4e ba f8 e4              |N       |		JSR	0x21ede
000225fc 4a 87                    |J       |		TST.L	D7
000225fe 66 00 fe d2              |f       |		BNE	0x224d2
00022602 4c df 0f bf              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2+A3
00022606 4e 5e                    |N^      |		UNLK	A6
00022608 4e 75                    |Nu      |		RTS
0002260a ; --------------------------------------------------------------------------------------
0002260a ; OMSI PASCAL Function
0002260a ; --------------------------------------------------------------------------------------
0002260a 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
0002260e bf d5                    |        |		CMPA.L	(A5),A7
00022610 62 06                    |b       |		BHI	0x22618
00022612 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022616 4e 76                    |Nv      |		TRAPV
00022618 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
0002261c 48 e7 80 c0              |H       |		MOVEM.L	A1+A0+D0,-(A7)
00022620 9e fc 00 12              |        |		SUBA.W	#0x12,A7
00022624 20 4f                    | O      |		MOVEA.L	A7,A0
00022626 43 fa e5 3e              |C  >    |		LEA.L	0x20b66,A1
0002262a 70 10                    |p       |		MOVEQ.L	#0x10,D0
0002262c 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002262e 51 c8 ff fc              |Q       |		DBF	D0,0x2262c
00022632 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022634 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022638 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
0002263c 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
00022640 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00022646 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022648 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
0002264e de fc 00 16              |        |		ADDA.W	#0x16,A7
00022652 4c df 03 01              |L       |		MOVEM.L	(A7)+,D0+A0+A1
00022656 4e 5e                    |N^      |		UNLK	A6
00022658 4e 75                    |Nu      |		RTS
0002265a ; --------------------------------------------------------------------------------------
0002265a ; OMSI PASCAL Function
0002265a ; --------------------------------------------------------------------------------------
0002265a 4e 56 ff 70              |NV p    |		LINK.W	A6,#0xff70
0002265e bf d5                    |        |		CMPA.L	(A5),A7
00022660 62 06                    |b       |		BHI	0x22668
00022662 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022666 4e 76                    |Nv      |		TRAPV
00022668 de fc 00 8c              |        |		ADDA.W	#0x8c,A7
0002266c 48 e7 ff f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D7+D6+D5+D4+D3+D2+D1+D0,-(A7)
00022670 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00022676 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
0002267c 49 f9 00 02 31 bb        |I   1   |		LEA.L	0x231bb,A4
00022682 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022684 74 1c                    |t       |		MOVEQ.L	#0x1c,D2
00022686 76 16                    |v       |		MOVEQ.L	#0x16,D3
00022688 78 20                    |x       |		MOVEQ.L	#0x20,D4
0002268a 7a 46                    |zF      |		MOVEQ.L	#0x46,D5
0002268c 7c 4a                    ||J      |		MOVEQ.L	#0x4a,D6
0002268e 9e fc 00 12              |        |		SUBA.W	#0x12,A7
00022692 20 4f                    | O      |		MOVEA.L	A7,A0
00022694 43 fa e4 e2              |C       |		LEA.L	0x20b78,A1
00022698 70 10                    |p       |		MOVEQ.L	#0x10,D0
0002269a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002269c 51 c8 ff fc              |Q       |		DBF	D0,0x2269a
000226a0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000226a2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000226a6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000226a8 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
000226ac 4e 92                    |N       |		JSR	(A2)
000226ae 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000226b0 4e 93                    |N       |		JSR	(A3)
000226b2 de c3                    |        |		ADDA.W	D3,A7
000226b4 41 fa e4 ec              |A       |		LEA.L	0x20ba2,A0
000226b8 70 05                    |p       |		MOVEQ.L	#0x05,D0
000226ba 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000226bc 51 c8 ff fc              |Q       |		DBF	D0,0x226ba
000226c0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000226c2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000226c6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000226c8 3f 3c 00 18              |?<      |		MOVE.W	#0x18,-(A7)
000226cc 4e 92                    |N       |		JSR	(A2)
000226ce 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000226d0 4e 93                    |N       |		JSR	(A3)
000226d2 de c2                    |        |		ADDA.W	D2,A7
000226d4 41 fa e4 f8              |A       |		LEA.L	0x20bce,A0
000226d8 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
000226da 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000226dc 51 c8 ff fc              |Q       |		DBF	D0,0x226da
000226e0 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000226e2 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000226e6 3f 01                    |?       |		MOVE.W	D1,-(A7)
000226e8 3f 3c 00 2c              |?< ,    |		MOVE.W	#0x2c,-(A7)
000226ec 4e 92                    |N       |		JSR	(A2)
000226ee 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000226f0 4e 93                    |N       |		JSR	(A3)
000226f2 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
000226f6 41 fa e5 00              |A       |		LEA.L	0x20bf8,A0
000226fa 70 14                    |p       |		MOVEQ.L	#0x14,D0
000226fc 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000226fe 51 c8 ff fc              |Q       |		DBF	D0,0x226fc
00022702 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022704 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022708 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002270a 3f 3c 00 2a              |?< *    |		MOVE.W	#0x2a,-(A7)
0002270e 4e 92                    |N       |		JSR	(A2)
00022710 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022712 4e 93                    |N       |		JSR	(A3)
00022714 de fc 00 2e              |   .    |		ADDA.W	#0x2e,A7
00022718 41 fa e5 1c              |A       |		LEA.L	0x20c36,A0
0002271c 70 1e                    |p       |		MOVEQ.L	#0x1e,D0
0002271e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022720 51 c8 ff fc              |Q       |		DBF	D0,0x2271e
00022724 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022726 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002272a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002272c 3f 3c 00 3e              |?< >    |		MOVE.W	#0x3e,-(A7)
00022730 4e 92                    |N       |		JSR	(A2)
00022732 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022734 4e 93                    |N       |		JSR	(A3)
00022736 de fc 00 42              |   B    |		ADDA.W	#0x42,A7
0002273a 41 fa e5 16              |A       |		LEA.L	0x20c52,A0
0002273e 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022740 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022742 51 c8 ff fc              |Q       |		DBF	D0,0x22740
00022746 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022748 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002274c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002274e 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022750 4e 92                    |N       |		JSR	(A2)
00022752 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022754 4e 93                    |N       |		JSR	(A3)
00022756 de c4                    |        |		ADDA.W	D4,A7
00022758 41 fa e5 0e              |A       |		LEA.L	0x20c68,A0
0002275c 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
0002275e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022760 51 c8 ff fc              |Q       |		DBF	D0,0x2275e
00022764 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022766 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
0002276a 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002276c 3f 03                    |?       |		MOVE.W	D3,-(A7)
0002276e 4e 92                    |N       |		JSR	(A2)
00022770 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022772 48 78 00 00              |Hx      |		PEA.L	0x0
00022776 48 78 00 04              |Hx      |		PEA.L	0x4
0002277a 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022780 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022784 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00022786 de c3                    |        |		ADDA.W	D3,A7
00022788 20 07                    |        |		MOVE.L	D7,D0
0002278a 0c 80 00 00 00 04        |        |		CMPI.L	#0x00000004,D0
00022790 63 02                    |c       |		BLS	0x22794
00022792 4e 4e                    |NN      |		TRAP	#14
00022794 d0 40                    | @      |		ADD.W	D0,D0
00022796 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
0002279e 00 0a                    |        |		.CONST	0xa			; [0x0] -> 0x227a8
000227a0 00 0e                    |        |		.CONST	0xe			; [0x1] -> 0x227ac
000227a2 00 4e                    | N      |		.CONST	0x4e			; [0x2] -> 0x227ec
000227a4 00 98                    |        |		.CONST	0x98			; [0x3] -> 0x22836
000227a6 00 dc                    |        |		.CONST	0xdc			; [0x4] -> 0x2287a
000227a8					switch@0x22796[0x0]:
000227a8 60 00 02 98              |`       |		BRA	0x22a42
000227ac					switch@0x22796[0x1]:
000227ac 41 fa e4 c8              |A       |		LEA.L	0x20c76,A0
000227b0 70 06                    |p       |		MOVEQ.L	#0x06,D0
000227b2 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000227b4 51 c8 ff fc              |Q       |		DBF	D0,0x227b2
000227b8 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
000227ba 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
000227be 3f 01                    |?       |		MOVE.W	D1,-(A7)
000227c0 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
000227c4 4e 92                    |N       |		JSR	(A2)
000227c6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000227c8 10 14                    |        |		MOVE.B	(A4),D0
000227ca 44 00                    |D       |		NEG.B	D0
000227cc 52 00                    |R       |		ADDQ.B	#0x1,D0
000227ce 48 80                    |H       |		EXTB.W	D0
000227d0 41 81                    |A       |		CHK.W	D1,D0
000227d2 1f 00                    |        |		MOVE.B	D0,-(A7)
000227d4 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
000227da 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000227dc 10 1f                    |        |		MOVE.B	(A7)+,D0
000227de 48 80                    |H       |		EXTB.W	D0
000227e0 41 81                    |A       |		CHK.W	D1,D0
000227e2 de fc 00 0e              |        |		ADDA.W	#0xe,A7
000227e6 18 80                    |        |		MOVE.B	D0,(A4)
000227e8 60 00 02 58              |`  X    |		BRA	0x22a42
000227ec					switch@0x22796[0x2]:
000227ec 9e c2                    |        |		SUBA.W	D2,A7
000227ee 20 4f                    | O      |		MOVEA.L	A7,A0
000227f0 43 fa e4 84              |C       |		LEA.L	0x20c76,A1
000227f4 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
000227f6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000227f8 51 c8 ff fc              |Q       |		DBF	D0,0x227f6
000227fc 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
000227fe 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022802 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022804 3f 3c 00 1b              |?<      |		MOVE.W	#0x1b,-(A7)
00022808 4e 92                    |N       |		JSR	(A2)
0002280a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002280c 10 39 00 02 31 c0        | 9  1   |		MOVE.B	0x231c0,D0
00022812 44 00                    |D       |		NEG.B	D0
00022814 52 00                    |R       |		ADDQ.B	#0x1,D0
00022816 48 80                    |H       |		EXTB.W	D0
00022818 41 81                    |A       |		CHK.W	D1,D0
0002281a 1f 00                    |        |		MOVE.B	D0,-(A7)
0002281c 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
00022822 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022824 10 1f                    |        |		MOVE.B	(A7)+,D0
00022826 48 80                    |H       |		EXTB.W	D0
00022828 41 81                    |A       |		CHK.W	D1,D0
0002282a de c2                    |        |		ADDA.W	D2,A7
0002282c 13 c0 00 02 31 c0        |    1   |		MOVE.B	D0,0x231c0
00022832 60 00 02 0e              |`       |		BRA	0x22a42
00022836					switch@0x22796[0x3]:
00022836 41 fa e4 7a              |A  z    |		LEA.L	0x20cb2,A0
0002283a 70 07                    |p       |		MOVEQ.L	#0x07,D0
0002283c 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002283e 51 c8 ff fc              |Q       |		DBF	D0,0x2283c
00022842 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022844 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00022848 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002284a 3f 04                    |?       |		MOVE.W	D4,-(A7)
0002284c 4e 92                    |N       |		JSR	(A2)
0002284e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022850 10 39 00 02 31 ba        | 9  1   |		MOVE.B	0x231ba,D0
00022856 44 00                    |D       |		NEG.B	D0
00022858 52 00                    |R       |		ADDQ.B	#0x1,D0
0002285a 48 80                    |H       |		EXTB.W	D0
0002285c 41 81                    |A       |		CHK.W	D1,D0
0002285e 1f 00                    |        |		MOVE.B	D0,-(A7)
00022860 4e b9 00 01 03 f0        |N       |		JSR	AskOnConsoleYesNo(prompt : String; default : Bool) : Bool
00022866 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022868 10 1f                    |        |		MOVE.B	(A7)+,D0
0002286a 48 80                    |H       |		EXTB.W	D0
0002286c 41 81                    |A       |		CHK.W	D1,D0
0002286e de c4                    |        |		ADDA.W	D4,A7
00022870 13 c0 00 02 31 ba        |    1   |		MOVE.B	D0,0x231ba
00022876 60 00 01 ca              |`       |		BRA	0x22a42
0002287a					switch@0x22796[0x4]:
0002287a 41 fa e4 7c              |A  |    |		LEA.L	0x20cf8,A0
0002287e 70 22                    |p"      |		MOVEQ.L	#0x22,D0
00022880 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022882 51 c8 ff fc              |Q       |		DBF	D0,0x22880
00022886 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022888 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
0002288c 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002288e 3f 05                    |?       |		MOVE.W	D5,-(A7)
00022890 4e 92                    |N       |		JSR	(A2)
00022892 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022894 4e 93                    |N       |		JSR	(A3)
00022896 de c6                    |        |		ADDA.W	D6,A7
00022898 41 fa e4 82              |A       |		LEA.L	0x20d1c,A0
0002289c 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002289e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
000228a0 51 c8 ff fc              |Q       |		DBF	D0,0x2289e
000228a4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228a6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000228aa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000228ac 3f 3c 00 24              |?< $    |		MOVE.W	#0x24,-(A7)
000228b0 4e 92                    |N       |		JSR	(A2)
000228b2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000228b4 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
000228ba de fc 00 28              |   (    |		ADDA.W	#0x28,A7
000228be 4a 14                    |J       |		TST.B	(A4)
000228c0 67 1a                    |g       |		BEQ	0x228dc
000228c2 3f 3a e5 b0              |?:      |		MOVE.W	0x20e74,-(A7)
000228c6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228c8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000228cc 3f 01                    |?       |		MOVE.W	D1,-(A7)
000228ce 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
000228d2 4e 92                    |N       |		JSR	(A2)
000228d4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000228d6 4e 93                    |N       |		JSR	(A3)
000228d8 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
000228da 60 26                    |`&      |		BRA	0x22902
000228dc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228de 1e ba e5 96              |        |		MOVE.B	0x20e76,(A7)
000228e2 1f 7a e5 93 00 01        | z      |		MOVE.B	0x20e77,(A7+0x1)
000228e8 1f 7a e5 8e 00 02        | z      |		MOVE.B	0x20e78,(A7+0x2)
000228ee 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000228f0 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000228f4 3f 01                    |?       |		MOVE.W	D1,-(A7)
000228f6 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
000228fa 4e 92                    |N       |		JSR	(A2)
000228fc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000228fe 4e 93                    |N       |		JSR	(A3)
00022900 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022902 41 fa e4 60              |A  `    |		LEA.L	0x20d64,A0
00022906 70 11                    |p       |		MOVEQ.L	#0x11,D0
00022908 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
0002290a 51 c8 ff fc              |Q       |		DBF	D0,0x22908
0002290e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022910 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022914 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022916 3f 3c 00 48              |?< H    |		MOVE.W	#0x48,-(A7)
0002291a 4e 92                    |N       |		JSR	(A2)
0002291c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002291e 4e 93                    |N       |		JSR	(A3)
00022920 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022922 20 4f                    | O      |		MOVEA.L	A7,A0
00022924 43 fa e4 3e              |C  >    |		LEA.L	0x20d64,A1
00022928 70 44                    |pD      |		MOVEQ.L	#0x44,D0
0002292a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002292c 51 c8 ff fc              |Q       |		DBF	D0,0x2292a
00022930 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022932 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022936 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022938 3f 3c 00 45              |?< E    |		MOVE.W	#0x45,-(A7)
0002293c 4e 92                    |N       |		JSR	(A2)
0002293e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022940 4e 93                    |N       |		JSR	(A3)
00022942 de c6                    |        |		ADDA.W	D6,A7
00022944 41 fa e4 aa              |A       |		LEA.L	0x20df0,A0
00022948 70 22                    |p"      |		MOVEQ.L	#0x22,D0
0002294a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002294c 51 c8 ff fc              |Q       |		DBF	D0,0x2294a
00022950 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022952 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022956 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022958 3f 05                    |?       |		MOVE.W	D5,-(A7)
0002295a 4e 92                    |N       |		JSR	(A2)
0002295c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002295e 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
00022964 de c6                    |        |		ADDA.W	D6,A7
00022966 4a 39 00 02 31 c0        |J9  1   |		TST.B	0x231c0
0002296c 67 1a                    |g       |		BEQ	0x22988
0002296e 3f 3a e5 0a              |?:      |		MOVE.W	0x20e7a,-(A7)
00022972 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022974 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022978 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002297a 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
0002297e 4e 92                    |N       |		JSR	(A2)
00022980 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022982 4e 93                    |N       |		JSR	(A3)
00022984 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022986 60 26                    |`&      |		BRA	0x229ae
00022988 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002298a 1e ba e4 f0              |        |		MOVE.B	0x20e7c,(A7)
0002298e 1f 7a e4 ed 00 01        | z      |		MOVE.B	0x20e7d,(A7+0x1)
00022994 1f 7a e4 e8 00 02        | z      |		MOVE.B	0x20e7e,(A7+0x2)
0002299a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
0002299c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000229a0 3f 01                    |?       |		MOVE.W	D1,-(A7)
000229a2 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
000229a6 4e 92                    |N       |		JSR	(A2)
000229a8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000229aa 4e 93                    |N       |		JSR	(A3)
000229ac 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000229ae 41 fa e4 82              |A       |		LEA.L	0x20e32,A0
000229b2 70 20                    |p       |		MOVEQ.L	#0x20,D0
000229b4 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000229b6 51 c8 ff fc              |Q       |		DBF	D0,0x229b4
000229ba 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000229bc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000229c0 3f 01                    |?       |		MOVE.W	D1,-(A7)
000229c2 3f 3c 00 42              |?< B    |		MOVE.W	#0x42,-(A7)
000229c6 4e 92                    |N       |		JSR	(A2)
000229c8 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000229ca 4e 93                    |N       |		JSR	(A3)
000229cc 58 4f                    |XO      |		ADDQ.L	#0x4,A7
000229ce 20 4f                    | O      |		MOVEA.L	A7,A0
000229d0 43 fa e4 60              |C  `    |		LEA.L	0x20e32,A1
000229d4 70 40                    |p@      |		MOVEQ.L	#0x40,D0
000229d6 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000229d8 51 c8 ff fc              |Q       |		DBF	D0,0x229d6
000229dc 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000229de 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000229e2 3f 01                    |?       |		MOVE.W	D1,-(A7)
000229e4 3f 3c 00 41              |?< A    |		MOVE.W	#0x41,-(A7)
000229e8 4e 92                    |N       |		JSR	(A2)
000229ea 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000229ec 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
000229f2 de c5                    |        |		ADDA.W	D5,A7
000229f4 4a 39 00 02 31 ba        |J9  1   |		TST.B	0x231ba
000229fa 67 1a                    |g       |		BEQ	0x22a16
000229fc 3f 3a e4 82              |?:      |		MOVE.W	0x20e80,-(A7)
00022a00 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a02 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a06 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a08 3f 3c 00 02              |?<      |		MOVE.W	#0x2,-(A7)
00022a0c 4e 92                    |N       |		JSR	(A2)
00022a0e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a10 4e 93                    |N       |		JSR	(A3)
00022a12 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022a14 60 26                    |`&      |		BRA	0x22a3c
00022a16 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a18 1e ba e4 68              |   h    |		MOVE.B	0x20e82,(A7)
00022a1c 1f 7a e4 65 00 01        | z e    |		MOVE.B	0x20e83,(A7+0x1)
00022a22 1f 7a e4 60 00 02        | z `    |		MOVE.B	0x20e84,(A7+0x2)
00022a28 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a2a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a2e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a30 3f 3c 00 03              |?<      |		MOVE.W	#0x3,-(A7)
00022a34 4e 92                    |N       |		JSR	(A2)
00022a36 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a38 4e 93                    |N       |		JSR	(A3)
00022a3a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a3c 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00022a42 4a 87                    |J       |		TST.L	D7
00022a44 66 00 fc 48              |f  H    |		BNE	0x2268e
00022a48 4c df 1f ff              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D6+D7+A0+A1+A2+A3+A4
00022a4c 4e 5e                    |N^      |		UNLK	A6
00022a4e 4e 75                    |Nu      |		RTS
00022a50 ; --------------------------------------------------------------------------------------
00022a50 ; OMSI PASCAL Function
00022a50 ; --------------------------------------------------------------------------------------
00022a50 4e 56 ff 9c              |NV      |		LINK.W	A6,#0xff9c
00022a54 bf d5                    |        |		CMPA.L	(A5),A7
00022a56 62 06                    |b       |		BHI	0x22a5e
00022a58 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022a5c 4e 76                    |Nv      |		TRAPV
00022a5e de fc 00 60              |   `    |		ADDA.W	#0x60,A7
00022a62 48 e7 fd e0              |H       |		MOVEM.L	A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7)
00022a66 43 f9 00 01 02 c4        |C       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A1
00022a6c 45 f9 00 01 03 e0        |E       |		LEA.L	WriteConsoleStringCrLf(str : String),A2
00022a72 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022a74 74 24                    |t$      |		MOVEQ.L	#0x24,D2
00022a76 76 28                    |v(      |		MOVEQ.L	#0x28,D3
00022a78 78 20                    |x       |		MOVEQ.L	#0x20,D4
00022a7a 7a 16                    |z       |		MOVEQ.L	#0x16,D5
00022a7c 41 fa e4 16              |A       |		LEA.L	0x20e94,A0
00022a80 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022a82 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022a84 51 c8 ff fc              |Q       |		DBF	D0,0x22a82
00022a88 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022a8a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022a8e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022a90 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
00022a94 4e 91                    |N       |		JSR	(A1)
00022a96 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022a98 4e 92                    |N       |		JSR	(A2)
00022a9a de fc 00 12              |        |		ADDA.W	#0x12,A7
00022a9e 41 fa e4 1c              |A       |		LEA.L	0x20ebc,A0
00022aa2 70 09                    |p       |		MOVEQ.L	#0x09,D0
00022aa4 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022aa6 51 c8 ff fc              |Q       |		DBF	D0,0x22aa4
00022aaa 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022aac 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022ab0 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022ab2 3f 03                    |?       |		MOVE.W	D3,-(A7)
00022ab4 4e 91                    |N       |		JSR	(A1)
00022ab6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ab8 4e 92                    |N       |		JSR	(A2)
00022aba de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00022abe 41 fa e4 20              |A       |		LEA.L	0x20ee0,A0
00022ac2 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022ac4 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022ac6 51 c8 ff fc              |Q       |		DBF	D0,0x22ac4
00022aca 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022acc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022ad0 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022ad2 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022ad4 4e 91                    |N       |		JSR	(A1)
00022ad6 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ad8 4e 92                    |N       |		JSR	(A2)
00022ada de c3                    |        |		ADDA.W	D3,A7
00022adc 41 fa e4 26              |A  &    |		LEA.L	0x20f04,A0
00022ae0 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022ae2 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022ae4 51 c8 ff fc              |Q       |		DBF	D0,0x22ae2
00022ae8 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022aea 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022aee 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022af0 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022af2 4e 91                    |N       |		JSR	(A1)
00022af4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022af6 4e 92                    |N       |		JSR	(A2)
00022af8 de c3                    |        |		ADDA.W	D3,A7
00022afa 41 fa e4 28              |A  (    |		LEA.L	0x20f24,A0
00022afe 70 07                    |p       |		MOVEQ.L	#0x07,D0
00022b00 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022b02 51 c8 ff fc              |Q       |		DBF	D0,0x22b00
00022b06 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022b08 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022b0c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022b0e 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022b10 4e 91                    |N       |		JSR	(A1)
00022b12 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b14 4e 92                    |N       |		JSR	(A2)
00022b16 de c2                    |        |		ADDA.W	D2,A7
00022b18 41 fa e4 2a              |A  *    |		LEA.L	0x20f44,A0
00022b1c 70 07                    |p       |		MOVEQ.L	#0x07,D0
00022b1e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022b20 51 c8 ff fc              |Q       |		DBF	D0,0x22b1e
00022b24 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022b26 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022b2a 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022b2c 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022b2e 4e 91                    |N       |		JSR	(A1)
00022b30 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b32 4e 92                    |N       |		JSR	(A2)
00022b34 de c2                    |        |		ADDA.W	D2,A7
00022b36 41 fa e4 28              |A  (    |		LEA.L	0x20f60,A0
00022b3a 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022b3c 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022b3e 51 c8 ff fc              |Q       |		DBF	D0,0x22b3c
00022b42 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022b44 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022b48 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022b4a 3f 3c 00 1c              |?<      |		MOVE.W	#0x1c,-(A7)
00022b4e 4e 91                    |N       |		JSR	(A1)
00022b50 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b52 4e 92                    |N       |		JSR	(A2)
00022b54 de c4                    |        |		ADDA.W	D4,A7
00022b56 41 fa e4 1e              |A       |		LEA.L	0x20f76,A0
00022b5a 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022b5c 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022b5e 51 c8 ff fc              |Q       |		DBF	D0,0x22b5c
00022b62 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022b64 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022b68 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022b6a 3f 05                    |?       |		MOVE.W	D5,-(A7)
00022b6c 4e 91                    |N       |		JSR	(A1)
00022b6e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022b70 48 78 00 00              |Hx      |		PEA.L	0x0
00022b74 48 78 00 05              |Hx      |		PEA.L	0x5
00022b78 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022b7e de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022b82 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00022b84 de c5                    |        |		ADDA.W	D5,A7
00022b86 20 07                    |        |		MOVE.L	D7,D0
00022b88 0c 80 00 00 00 05        |        |		CMPI.L	#0x00000005,D0
00022b8e 63 02                    |c       |		BLS	0x22b92
00022b90 4e 4e                    |NN      |		TRAP	#14
00022b92 d0 40                    | @      |		ADD.W	D0,D0
00022b94 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00022b9c 00 0c                    |        |		.CONST	0xc			; [0x0] -> 0x22ba8
00022b9e 00 0e                    |        |		.CONST	0xe			; [0x1] -> 0x22baa
00022ba0 00 0e                    |        |		.CONST	0xe			; [0x2] -> 0x22baa
00022ba2 00 26                    | &      |		.CONST	0x26			; [0x3] -> 0x22bc2
00022ba4 00 26                    | &      |		.CONST	0x26			; [0x4] -> 0x22bc2
00022ba6 00 26                    | &      |		.CONST	0x26			; [0x5] -> 0x22bc2
00022ba8					switch@0x22b94[0x0]:
00022ba8 60 30                    |`0      |		BRA	0x22bda
00022baa					switch@0x22b94[0x1]:
00022baa					switch@0x22b94[0x2]:
00022baa 20 07                    |        |		MOVE.L	D7,D0
00022bac 53 80                    |S       |		SUBQ.L	#0x1,D0
00022bae 0c 80 00 00 ff ff        |        |		CMPI.L	#0x0000ffff,D0
00022bb4 63 02                    |c       |		BLS	0x22bb8
00022bb6 4e 4f                    |NO      |		TRAP	#15
00022bb8 3f 00                    |?       |		MOVE.W	D0,-(A7)
00022bba 4e b9 00 01 02 2c        |N    ,  |		JSR	KC16_Clock_Margin
00022bc0 60 16                    |`       |		BRA	0x22bd8
00022bc2					switch@0x22b94[0x3]:
00022bc2					switch@0x22b94[0x4]:
00022bc2					switch@0x22b94[0x5]:
00022bc2 20 07                    |        |		MOVE.L	D7,D0
00022bc4 57 80                    |W       |		SUBQ.L	#0x3,D0
00022bc6 0c 80 00 00 ff ff        |        |		CMPI.L	#0x0000ffff,D0
00022bcc 63 02                    |c       |		BLS	0x22bd0
00022bce 4e 4f                    |NO      |		TRAP	#15
00022bd0 3f 00                    |?       |		MOVE.W	D0,-(A7)
00022bd2 4e b9 00 01 02 2e        |N    .  |		JSR	KC17_Power_Margin
00022bd8 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022bda 4a 87                    |J       |		TST.L	D7
00022bdc 66 00 fe 9e              |f       |		BNE	0x22a7c
00022be0 4c df 07 bf              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2
00022be4 4e 5e                    |N^      |		UNLK	A6
00022be6 4e 75                    |Nu      |		RTS
00022be8 ; --------------------------------------------------------------------------------------
00022be8 ; OMSI PASCAL Function
00022be8 ; --------------------------------------------------------------------------------------
00022be8 4e 56 ff ae              |NV      |		LINK.W	A6,#0xffae
00022bec bf d5                    |        |		CMPA.L	(A5),A7
00022bee 62 06                    |b       |		BHI	0x22bf6
00022bf0 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022bf4 4e 76                    |Nv      |		TRAPV
00022bf6 de fc 00 4e              |   N    |		ADDA.W	#0x4e,A7
00022bfa 48 e7 80 80              |H       |		MOVEM.L	A0+D0,-(A7)
00022bfe 41 fa e3 ac              |A       |		LEA.L	0x20fac,A0
00022c02 70 1a                    |p       |		MOVEQ.L	#0x1a,D0
00022c04 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022c06 51 c8 ff fc              |Q       |		DBF	D0,0x22c04
00022c0a 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c0c 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c10 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
00022c14 3f 3c 00 36              |?< 6    |		MOVE.W	#0x36,-(A7)
00022c18 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00022c1e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c20 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00022c26 de fc 00 3a              |   :    |		ADDA.W	#0x3a,A7
00022c2a 4c df 01 01              |L       |		MOVEM.L	(A7)+,D0+A0
00022c2e 4e 5e                    |N^      |		UNLK	A6
00022c30 4e 75                    |Nu      |		RTS
00022c32 ; --------------------------------------------------------------------------------------
00022c32 ; OMSI PASCAL Function
00022c32 ; --------------------------------------------------------------------------------------
00022c32 4e 56 ff 88              |NV      |		LINK.W	A6,#0xff88
00022c36 bf d5                    |        |		CMPA.L	(A5),A7
00022c38 62 06                    |b       |		BHI	0x22c40
00022c3a 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022c3e 4e 76                    |Nv      |		TRAPV
00022c40 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
00022c44 48 e7 fd f0              |H       |		MOVEM.L	A3+A2+A1+A0+D7+D5+D4+D3+D2+D1+D0,-(A7)
00022c48 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00022c4e 47 f9 00 01 03 e0        |G       |		LEA.L	WriteConsoleStringCrLf(str : String),A3
00022c54 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022c56 74 0d                    |t       |		MOVEQ.L	#0x0d,D2
00022c58 76 12                    |v       |		MOVEQ.L	#0x12,D3
00022c5a 78 24                    |x$      |		MOVEQ.L	#0x24,D4
00022c5c 7a 16                    |z       |		MOVEQ.L	#0x16,D5
00022c5e 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00022c64 9e fc 00 0e              |        |		SUBA.W	#0xe,A7
00022c68 20 4f                    | O      |		MOVEA.L	A7,A0
00022c6a 43 fa e4 e4              |C       |		LEA.L	0x21150,A1
00022c6e 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
00022c70 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022c72 51 c8 ff fc              |Q       |		DBF	D0,0x22c70
00022c76 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c78 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c7c 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022c7e 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022c80 4e 92                    |N       |		JSR	(A2)
00022c82 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022c84 4e 93                    |N       |		JSR	(A3)
00022c86 de c3                    |        |		ADDA.W	D3,A7
00022c88 41 fa e4 f8              |A       |		LEA.L	0x21182,A0
00022c8c 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022c8e 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022c90 51 c8 ff fc              |Q       |		DBF	D0,0x22c8e
00022c94 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022c96 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022c9a 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022c9c 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022c9e 4e 92                    |N       |		JSR	(A2)
00022ca0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ca2 4e 93                    |N       |		JSR	(A3)
00022ca4 de fc 00 28              |   (    |		ADDA.W	#0x28,A7
00022ca8 41 fa e5 0a              |A       |		LEA.L	0x211b4,A0
00022cac 70 18                    |p       |		MOVEQ.L	#0x18,D0
00022cae 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022cb0 51 c8 ff fc              |Q       |		DBF	D0,0x22cae
00022cb4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022cb6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022cba 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022cbc 3f 3c 00 32              |?< 2    |		MOVE.W	#0x32,-(A7)
00022cc0 4e 92                    |N       |		JSR	(A2)
00022cc2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022cc4 4e 93                    |N       |		JSR	(A3)
00022cc6 de fc 00 36              |   6    |		ADDA.W	#0x36,A7
00022cca 41 fa e5 04              |A       |		LEA.L	0x211d0,A0
00022cce 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022cd0 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022cd2 51 c8 ff fc              |Q       |		DBF	D0,0x22cd0
00022cd6 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022cd8 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022cdc 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022cde 3f 3c 00 1c              |?<      |		MOVE.W	#0x1c,-(A7)
00022ce2 4e 92                    |N       |		JSR	(A2)
00022ce4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ce6 4e 93                    |N       |		JSR	(A3)
00022ce8 9e fc 00 10              |        |		SUBA.W	#0x10,A7
00022cec 20 4f                    | O      |		MOVEA.L	A7,A0
00022cee 43 fa e4 e0              |C       |		LEA.L	0x211d0,A1
00022cf2 70 2e                    |p.      |		MOVEQ.L	#0x2e,D0
00022cf4 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022cf6 51 c8 ff fc              |Q       |		DBF	D0,0x22cf4
00022cfa 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022cfc 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d00 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d02 3f 3c 00 2f              |?< /    |		MOVE.W	#0x2f,-(A7)
00022d06 4e 92                    |N       |		JSR	(A2)
00022d08 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d0a 4e 93                    |N       |		JSR	(A3)
00022d0c de fc 00 34              |   4    |		ADDA.W	#0x34,A7
00022d10 41 fa e5 12              |A       |		LEA.L	0x21224,A0
00022d14 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022d16 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022d18 51 c8 ff fc              |Q       |		DBF	D0,0x22d16
00022d1c 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d1e 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d22 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d24 3f 04                    |?       |		MOVE.W	D4,-(A7)
00022d26 4e 92                    |N       |		JSR	(A2)
00022d28 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d2a 4e 93                    |N       |		JSR	(A3)
00022d2c de fc 00 0a              |        |		ADDA.W	#0xa,A7
00022d30 20 4f                    | O      |		MOVEA.L	A7,A0
00022d32 43 fa e4 f0              |C       |		LEA.L	0x21224,A1
00022d36 70 1c                    |p       |		MOVEQ.L	#0x1c,D0
00022d38 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022d3a 51 c8 ff fc              |Q       |		DBF	D0,0x22d38
00022d3e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d40 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d44 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d46 3f 3c 00 1d              |?<      |		MOVE.W	#0x1d,-(A7)
00022d4a 4e 92                    |N       |		JSR	(A2)
00022d4c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d4e 4e 93                    |N       |		JSR	(A3)
00022d50 de fc 00 22              |   "    |		ADDA.W	#0x22,A7
00022d54 41 fa e5 24              |A  $    |		LEA.L	0x2127a,A0
00022d58 70 0d                    |p       |		MOVEQ.L	#0x0d,D0
00022d5a 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022d5c 51 c8 ff fc              |Q       |		DBF	D0,0x22d5a
00022d60 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d62 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d66 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d68 3f 3c 00 38              |?< 8    |		MOVE.W	#0x38,-(A7)
00022d6c 4e 92                    |N       |		JSR	(A2)
00022d6e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d70 4e 93                    |N       |		JSR	(A3)
00022d72 de fc 00 18              |        |		ADDA.W	#0x18,A7
00022d76 20 4f                    | O      |		MOVEA.L	A7,A0
00022d78 43 fa e5 00              |C       |		LEA.L	0x2127a,A1
00022d7c 70 22                    |p"      |		MOVEQ.L	#0x22,D0
00022d7e 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022d80 51 c8 ff fc              |Q       |		DBF	D0,0x22d7e
00022d84 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022d86 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022d8a 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022d8c 3f 3c 00 23              |?< #    |		MOVE.W	#0x23,-(A7)
00022d90 4e 92                    |N       |		JSR	(A2)
00022d92 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022d94 4e 93                    |N       |		JSR	(A3)
00022d96 de fc 00 1a              |        |		ADDA.W	#0x1a,A7
00022d9a 20 4f                    | O      |		MOVEA.L	A7,A0
00022d9c 43 fa e5 00              |C       |		LEA.L	0x2129e,A1
00022da0 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
00022da2 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022da4 51 c8 ff fc              |Q       |		DBF	D0,0x22da2
00022da8 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022daa 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022dae 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022db0 3f 02                    |?       |		MOVE.W	D2,-(A7)
00022db2 4e 92                    |N       |		JSR	(A2)
00022db4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022db6 4e 93                    |N       |		JSR	(A3)
00022db8 de c3                    |        |		ADDA.W	D3,A7
00022dba 41 fa e5 06              |A       |		LEA.L	0x212c2,A0
00022dbe 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022dc0 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022dc2 51 c8 ff fc              |Q       |		DBF	D0,0x22dc0
00022dc6 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022dc8 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00022dcc 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022dce 3f 05                    |?       |		MOVE.W	D5,-(A7)
00022dd0 4e 92                    |N       |		JSR	(A2)
00022dd2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022dd4 48 78 00 00              |Hx      |		PEA.L	0x0
00022dd8 48 78 00 08              |Hx      |		PEA.L	0x8
00022ddc 4e b9 00 01 03 ec        |N       |		JSR	AskOnConsoleIntRange(prompt: String; low : Long; High : Long) : Long
00022de2 de fc 00 0c              |        |		ADDA.W	#0xc,A7
00022de6 2e 1f                    |.       |		MOVE.L	(A7)+,D7
00022de8 de c5                    |        |		ADDA.W	D5,A7
00022dea 20 07                    |        |		MOVE.L	D7,D0
00022dec 0c 80 00 00 00 08        |        |		CMPI.L	#0x00000008,D0
00022df2 63 02                    |c       |		BLS	0x22df6
00022df4 4e 4e                    |NN      |		TRAP	#14
00022df6 d0 40                    | @      |		ADD.W	D0,D0
00022df8 30 3b 00 06 4e fb 00 02  |0;  N   |		SWITCH	D0.W
00022e00 00 12                    |        |		.CONST	0x12			; [0x0] -> 0x22e12
00022e02 00 14                    |        |		.CONST	0x14			; [0x1] -> 0x22e14
00022e04 00 1a                    |        |		.CONST	0x1a			; [0x2] -> 0x22e1a
00022e06 00 20                    |        |		.CONST	0x20			; [0x3] -> 0x22e20
00022e08 00 26                    | &      |		.CONST	0x26			; [0x4] -> 0x22e26
00022e0a 00 2c                    | ,      |		.CONST	0x2c			; [0x5] -> 0x22e2c
00022e0c 00 32                    | 2      |		.CONST	0x32			; [0x6] -> 0x22e32
00022e0e 00 38                    | 8      |		.CONST	0x38			; [0x7] -> 0x22e38
00022e10 00 3e                    | >      |		.CONST	0x3e			; [0x8] -> 0x22e3e
00022e12					switch@0x22df8[0x0]:
00022e12 60 2e                    |`.      |		BRA	0x22e42
00022e14					switch@0x22df8[0x1]:
00022e14 4e ba e6 74              |N  t    |		JSR	0x2148a
00022e18 60 28                    |`(      |		BRA	0x22e42
00022e1a					switch@0x22df8[0x2]:
00022e1a 4e ba e6 be              |N       |		JSR	0x214da
00022e1e 60 22                    |`"      |		BRA	0x22e42
00022e20					switch@0x22df8[0x3]:
00022e20 4e ba f6 84              |N       |		JSR	0x224a6
00022e24 60 1c                    |`       |		BRA	0x22e42
00022e26					switch@0x22df8[0x4]:
00022e26 4e ba f7 e2              |N       |		JSR	0x2260a
00022e2a 60 16                    |`       |		BRA	0x22e42
00022e2c					switch@0x22df8[0x5]:
00022e2c 4e ba fc 22              |N  "    |		JSR	0x22a50
00022e30 60 10                    |`       |		BRA	0x22e42
00022e32					switch@0x22df8[0x6]:
00022e32 4e ba f8 26              |N  &    |		JSR	0x2265a
00022e36 60 0a                    |`       |		BRA	0x22e42
00022e38					switch@0x22df8[0x7]:
00022e38 4e ba fd ae              |N       |		JSR	0x22be8
00022e3c 60 04                    |`       |		BRA	0x22e42
00022e3e					switch@0x22df8[0x8]:
00022e3e 4e ba e7 22              |N  "    |		JSR	0x21562
00022e42 4a 87                    |J       |		TST.L	D7
00022e44 66 00 fe 18              |f       |		BNE	0x22c5e
00022e48 4c df 0f bf              |L       |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+D7+A0+A1+A2+A3
00022e4c 4e 5e                    |N^      |		UNLK	A6
00022e4e 4e 75                    |Nu      |		RTS
00022e50 ; --------------------------------------------------------------------------------------
00022e50 ; OMSI PASCAL Function
00022e50 ;    <LVAR -0x004 @>
00022e50 ; --------------------------------------------------------------------------------------
00022e50 4e 56 ff d0              |NV      |		LINK.W	A6,#0xffd0
00022e54 bf d5                    |        |		CMPA.L	(A5),A7
00022e56 62 06                    |b       |		BHI	0x22e5e
00022e58 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022e5c 4e 76                    |Nv      |		TRAPV
00022e5e de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00022e62 48 e7 c0 c0              |H       |		MOVEM.L	A1+A0+D1+D0,-(A7)
00022e66 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022e68 4e b9 00 01 05 38        |N    8  |		JSR	IPC_Init(void)
00022e6e 1f 01                    |        |		MOVE.B	D1,-(A7)
00022e70 4e b9 00 01 05 02        |N       |		JSR	IPC_PutBool(a : Bool)
00022e76 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00022e78 4e b9 00 01 05 14        |N       |		JSR	IPC_PutEnd(void)
00022e7e 9e fc 00 0a              |        |		SUBA.W	#0xa,A7
00022e82 20 4f                    | O      |		MOVEA.L	A7,A0
00022e84 43 fa e4 3c              |C  <    |		LEA.L	0x212c2,A1
00022e88 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022e8a 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022e8c 51 c8 ff fc              |Q       |		DBF	D0,0x22e8a
00022e90 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022e92 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022e96 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022e98 3f 3c 00 09              |?<      |		MOVE.W	#0x9,-(A7)
00022e9c 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00022ea2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022ea4 48 78 00 01              |Hx      |		PEA.L	0x1
00022ea8 1f 01                    |        |		MOVE.B	D1,-(A7)
00022eaa 48 6e ff fc              |Hn      |		PEA.L	(A6-0x4)
00022eae 4e b9 00 01 03 b0        |N       |		JSR	PushProgram(a : String; b : String; MOD c : B; VAR d : Bool)
00022eb4 de fc 00 18              |        |		ADDA.W	#0x18,A7
00022eb8 4c df 03 03              |L       |		MOVEM.L	(A7)+,D0+D1+A0+A1
00022ebc 4e 5e                    |N^      |		UNLK	A6
00022ebe 4e 75                    |Nu      |		RTS
00022ec0 ; --------------------------------------------------------------------------------------
00022ec0 ; OMSI PASCAL Function
00022ec0 ; --------------------------------------------------------------------------------------
00022ec0					START:
00022ec0 4f fa 00 08              |O       |		LEA.L	MAIN,A7
00022ec4 4e f9 00 01 02 80        |N       |		JMP	?start_program
00022eca					MAIN:
00022eca 45 f9 00 01 02 c4        |E       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A2
00022ed0 47 f9 00 02 31 c1        |G   1   |		LEA.L	0x231c1,A3
00022ed6 72 01                    |r       |		MOVEQ.L	#0x01,D1
00022ed8 74 0c                    |t       |		MOVEQ.L	#0x0c,D2
00022eda 76 16                    |v       |		MOVEQ.L	#0x16,D3
00022edc 4e b9 00 01 03 98        |N       |		JSR	FSCALL_10398
00022ee2 9e c2                    |        |		SUBA.W	D2,A7
00022ee4 20 4f                    | O      |		MOVEA.L	A7,A0
00022ee6 43 fa e3 e4              |C       |		LEA.L	0x212cc,A1
00022eea 70 0a                    |p       |		MOVEQ.L	#0x0a,D0
00022eec 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022eee 51 c8 ff fc              |Q       |		DBF	D0,0x22eec
00022ef2 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00022ef4 4e b9 00 01 03 c4        |N       |		JSR	GetArgv() : String
00022efa 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022efc 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
00022f00 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022f02 3f 3c 00 0b              |?<      |		MOVE.W	#0xb,-(A7)
00022f06 4e 92                    |N       |		JSR	(A2)
00022f08 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022f0a 4e b9 00 01 02 c8        |N       |		JSR	StringEqual(a, b : String) : Byte
00022f10 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022f12 10 1f                    |        |		MOVE.B	(A7)+,D0
00022f14 48 80                    |H       |		EXTB.W	D0
00022f16 41 81                    |A       |		CHK.W	D1,D0
00022f18 de c2                    |        |		ADDA.W	D2,A7
00022f1a 16 80                    |        |		MOVE.B	D0,(A3)
00022f1c 41 fa e3 de              |A       |		LEA.L	0x212fc,A0
00022f20 70 08                    |p       |		MOVEQ.L	#0x08,D0
00022f22 2f 20                    |/       |		MOVE.L	-(A0),-(A7)
00022f24 51 c8 ff fc              |Q       |		DBF	D0,0x22f22
00022f28 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022f2a 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022f2e 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022f30 3f 3c 00 24              |?< $    |		MOVE.W	#0x24,-(A7)
00022f34 4e 92                    |N       |		JSR	(A2)
00022f36 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022f38 4e b9 00 01 03 e0        |N       |		JSR	WriteConsoleStringCrLf(str : String)
00022f3e de c3                    |        |		ADDA.W	D3,A7
00022f40 20 4f                    | O      |		MOVEA.L	A7,A0
00022f42 43 fa e3 b8              |C       |		LEA.L	0x212fc,A1
00022f46 70 10                    |p       |		MOVEQ.L	#0x10,D0
00022f48 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00022f4a 51 c8 ff fc              |Q       |		DBF	D0,0x22f48
00022f4e 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00022f50 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00022f54 3f 01                    |?       |		MOVE.W	D1,-(A7)
00022f56 3f 3c 00 11              |?<      |		MOVE.W	#0x11,-(A7)
00022f5a 4e 92                    |N       |		JSR	(A2)
00022f5c 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00022f5e 4e b9 00 01 03 d8        |N       |		JSR	WriteConsoleString(str : String)
00022f64 de c3                    |        |		ADDA.W	D3,A7
00022f66 13 c1 00 02 31 bb        |    1   |		MOVE.B	D1,0x231bb
00022f6c 13 c1 00 02 31 ba        |    1   |		MOVE.B	D1,0x231ba
00022f72 13 c1 00 02 31 c0        |    1   |		MOVE.B	D1,0x231c0
00022f78 42 b9 00 02 31 bc        |B   1   |		CLR.L	0x231bc
00022f7e 4e ba fe d0              |N       |		JSR	0x22e50
00022f82 4a 13                    |J       |		TST.B	(A3)
00022f84 67 0e                    |g       |		BEQ	0x22f94
00022f86 42 27                    |B'      |		CLR.B	-(A7)
00022f88 48 78 00 02              |Hx      |		PEA.L	0x2
00022f8c 4e ba ea 0e              |N       |		JSR	0x2199c
00022f90 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022f92 60 04                    |`       |		BRA	0x22f98
00022f94 4e ba fc 9c              |N       |		JSR	0x22c32
00022f98 42 27                    |B'      |		CLR.B	-(A7)
00022f9a 48 78 00 01              |Hx      |		PEA.L	0x1
00022f9e 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00022fa4 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00022fa6 4e b9 00 01 02 84        |N       |		JSR	?exit
00022fac 57 6f 72 64 73 20 65 72  |Words er|		.TXT	'Words error :_'
00022fba ; --------------------------------------------------------------------------------------
00022fba ; OMSI PASCAL Function
00022fba ;    <LVAR  0x008 1(r)>
00022fba ; --------------------------------------------------------------------------------------
00022fba					PROG_FAIL:
00022fba 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
00022fbe bf d5                    |        |		CMPA.L	(A5),A7
00022fc0 62 06                    |b       |		BHI	0x22fc8
00022fc2 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00022fc6 4e 76                    |Nv      |		TRAPV
00022fc8 de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00022fcc 48 e7 80 80              |H       |		MOVEM.L	A0+D0,-(A7)
00022fd0 41 fa ff e8              |A       |		LEA.L	PROG_FAIL,A0
00022fd4 70 06                    |p       |		MOVEQ.L	#0x06,D0
00022fd6 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
00022fd8 51 c8 ff fc              |Q       |		DBF	D0,0x22fd6
00022fdc 1f 3c 00 03              | <      |		MOVE.B	#0x03,-(A7)
00022fe0 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00022fe2 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
00022fe6 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
00022fea 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
00022fee 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00022ff4 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00022ff6 10 2e 00 08              | .      |		MOVE.B	(A6+0x8),D0
00022ffa 48 80                    |H       |		EXTB.W	D0
00022ffc 48 c0                    |H       |		EXTW.L	D0
00022ffe 2f 00                    |/       |		MOVE.L	D0,-(A7)
00023000 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
00023006 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00023008 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
0002300e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023010 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00023016 de fc 00 14              |        |		ADDA.W	#0x14,A7
0002301a 4c df 01 01              |L       |		MOVEM.L	(A7)+,D0+A0
0002301e 4e 5e                    |N^      |		UNLK	A6
00023020 4e 75                    |Nu      |		RTS
00023022 42 6f 61 72 64 20 20 20  |Board   |		.TXT	'Board      :_ '
00023030 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment :_ '
0002303e 53 74 61 74 75 73 20 20  |Status  |		.TXT	'Status     :_ '
0002304c 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment error :'
0002305e 46 61 74 61 6c 20 65 78  |Fatal ex|		.TXT	'Fatal experiment error. '
00023076 ; --------------------------------------------------------------------------------------
00023076 ; OMSI PASCAL Function
00023076 ;    <LVAR  0x00e 1(r)>
00023076 ;    <LVAR  0x00a 4(r)>
00023076 ;    <LVAR  0x008 1(r)>
00023076 ; --------------------------------------------------------------------------------------
00023076					EXP_FAIL:
00023076 4e 56 ff 8c              |NV      |		LINK.W	A6,#0xff8c
0002307a bf d5                    |        |		CMPA.L	(A5),A7
0002307c 62 06                    |b       |		BHI	0x23084
0002307e 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00023082 4e 76                    |Nv      |		TRAPV
00023084 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
00023088 48 e7 fc f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7)
0002308c 47 f9 00 01 02 c4        |G       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A3
00023092 49 f9 00 01 03 e0        |I       |		LEA.L	WriteConsoleStringCrLf(str : String),A4
00023098 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002309a 74 0d                    |t       |		MOVEQ.L	#0x0d,D2
0002309c 76 1e                    |v       |		MOVEQ.L	#0x1e,D3
0002309e 78 12                    |x       |		MOVEQ.L	#0x12,D4
000230a0 7a 0e                    |z       |		MOVEQ.L	#0x0e,D5
000230a2 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
000230a8 41 fa ff b4              |A       |		LEA.L	0x2305e,A0
000230ac 70 08                    |p       |		MOVEQ.L	#0x08,D0
000230ae 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000230b0 51 c8 ff fc              |Q       |		DBF	D0,0x230ae
000230b4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000230b6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000230ba 3f 01                    |?       |		MOVE.W	D1,-(A7)
000230bc 3f 04                    |?       |		MOVE.W	D4,-(A7)
000230be 4e 93                    |N       |		JSR	(A3)
000230c0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000230c2 4e 94                    |N       |		JSR	(A4)
000230c4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000230c6 20 4f                    | O      |		MOVEA.L	A7,A0
000230c8 43 fa ff 58              |C  X    |		LEA.L	0x23022,A1
000230cc 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000230ce 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000230d0 51 c8 ff fc              |Q       |		DBF	D0,0x230ce
000230d4 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000230d6 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000230da 3f 01                    |?       |		MOVE.W	D1,-(A7)
000230dc 3f 02                    |?       |		MOVE.W	D2,-(A7)
000230de 4e 93                    |N       |		JSR	(A3)
000230e0 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000230e2 1e ae 00 0e              |        |		MOVE.B	(A6+0xe),(A7)
000230e6 4e b9 00 01 04 9c        |N       |		JSR	BoardName(address : B) : String
000230ec 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000230ee 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000230f4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000230f6 4e 94                    |N       |		JSR	(A4)
000230f8 de c4                    |        |		ADDA.W	D4,A7
000230fa 20 6e 00 0a              | n      |		MOVEA.L	(A6+0xa),A0
000230fe b0 c1                    |        |		CMPA.W	D1,A0
00023100 67 48                    |gH      |		BEQ	0x2314a
00023102 9e c5                    |        |		SUBA.W	D5,A7
00023104 22 4f                    |"O      |		MOVEA.L	A7,A1
00023106 45 fa ff 28              |E  (    |		LEA.L	0x23030,A2
0002310a 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
0002310c 12 da                    |        |		MOVE.B	(A2)+,(A1)+
0002310e 51 c8 ff fc              |Q       |		DBF	D0,0x2310c
00023112 9e c3                    |        |		SUBA.W	D3,A7
00023114 22 4f                    |"O      |		MOVEA.L	A7,A1
00023116 41 e8 00 fc              |A       |		LEA.L	(A0+0xfc),A0
0002311a 70 1d                    |p       |		MOVEQ.L	#0x1d,D0
0002311c 12 d8                    |        |		MOVE.B	(A0)+,(A1)+
0002311e 51 c8 ff fc              |Q       |		DBF	D0,0x2311c
00023122 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00023124 48 6f 00 26              |Ho &    |		PEA.L	(A7+0x26)
00023128 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002312a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002312c 4e 93                    |N       |		JSR	(A3)
0002312e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00023130 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00023134 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023136 3f 03                    |?       |		MOVE.W	D3,-(A7)
00023138 4e 93                    |N       |		JSR	(A3)
0002313a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002313c 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00023142 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00023144 4e 94                    |N       |		JSR	(A4)
00023146 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
0002314a 9e c5                    |        |		SUBA.W	D5,A7
0002314c 20 4f                    | O      |		MOVEA.L	A7,A0
0002314e 43 fa fe ee              |C       |		LEA.L	0x2303e,A1
00023152 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
00023154 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00023156 51 c8 ff fc              |Q       |		DBF	D0,0x23154
0002315a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002315c 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00023160 3f 01                    |?       |		MOVE.W	D1,-(A7)
00023162 3f 02                    |?       |		MOVE.W	D2,-(A7)
00023164 4e 93                    |N       |		JSR	(A3)
00023166 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00023168 1e ae 00 08              |        |		MOVE.B	(A6+0x8),(A7)
0002316c 4e b9 00 01 04 a2        |N       |		JSR	ExpStatus2Text(status.B, &String)
00023172 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00023174 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
0002317a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002317c 4e 94                    |N       |		JSR	(A4)
0002317e 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00023180 20 4f                    | O      |		MOVEA.L	A7,A0
00023182 43 fa fe da              |C       |		LEA.L	0x2305e,A1
00023186 70 16                    |p       |		MOVEQ.L	#0x16,D0
00023188 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002318a 51 c8 ff fc              |Q       |		DBF	D0,0x23188
0002318e 1f 3c 00 02              | <      |		MOVE.B	#0x02,-(A7)
00023192 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00023194 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00023198 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002319a 3f 3c 00 17              |?<      |		MOVE.W	#0x17,-(A7)
0002319e 4e 93                    |N       |		JSR	(A3)
000231a0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000231a2 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
000231a8 de c3                    |        |		ADDA.W	D3,A7
000231aa 4c df 1f 3f              |L  ?    |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4
000231ae 4e 5e                    |N^      |		UNLK	A6
000231b0 4e 75                    |Nu      |		RTS