changeset 1109:5a9158e64763

Original disassembly and commenting. Assembles byte for byte to original.
author pwz
date Thu, 10 Apr 2003 18:34:26 +0000
parents b1a142047a50
children a0381320f4b1
files 3rdparty/packages/subsim/sub1.asm
diffstat 1 files changed, 2984 insertions(+), 707 deletions(-) [+]
line wrap: on
line diff
--- a/3rdparty/packages/subsim/sub1.asm	Thu Apr 10 16:20:42 2003 +0000
+++ b/3rdparty/packages/subsim/sub1.asm	Thu Apr 10 18:34:26 2003 +0000
@@ -1,708 +1,2985 @@
+********************************************************************
+* sub1 - Sub Battle Simulator
+*
+* $Id$
+*
+* Ed.    Comments                                       Who YY/MM/DD
+* ------------------------------------------------------------------
+* 0      Disassembly of original distribution           PWZ 03/03/29
+*        There is a lot of extraneous and unneccessary
+*        instructions through out the code.
+*        But since we use the jump table at module enter
+*        be careful when removing any thing and adjust 
+*        it accordingly
+*        No explicit edition byte in source
 
-L0000    fcb   $87,$CD,$16,$14,$00,$0D,$21,$81   .M....!.
-L0008    fcb   $1A,$00,$11,$00,$00,$73,$75,$62   .....sub
-L0010    fcb   $B1,$30,$8D,$00,$07,$EC,$85,$BE   10...l.>
-L0018    fcb   $01,$07,$6E,$8B,$00,$23,$0F,$C5   ..n..#.E
-L0020    fcb   $0A,$05,$08,$80,$08,$BC,$04,$68   .....<.h
-L0028    fcb   $0B,$42,$05,$47,$0D,$F1,$12,$43   .B.G.q.C
-L0030    fcb   $14,$5C,$0E,$3C,$17,$0D,$A6,$CC   .\.<..&L
-L0038    fcb   $00,$73,$FD,$1D,$AF,$CC,$00,$F4   .s../L.t
-L0040    fcb   $FD,$1D,$AD,$86,$01,$30,$8D,$15   ..-..0..
-L0048    fcb   $B9,$10,$3F,$84,$34,$02,$8E,$01   9.?.4...
-L0050    fcb   $26,$10,$8E,$01,$69,$10,$3F,$89   &...i.?.
-L0058    fcb   $35,$02,$10,$3F,$8F,$86,$01,$30   5..?...0
-L0060    fcb   $8D,$14,$9F,$10,$3F,$84,$34,$02   ....?.4.
-L0068    fcb   $8E,$00,$00,$10,$8E,$00,$00,$CE   .......N
-L0070    fcb   $01,$03,$10,$3F,$88,$8E,$4D,$3F   ...?..M?
-L0078    fcb   $10,$8E,$03,$08,$A6,$E4,$10,$3F   ....&d.?
-L0080    fcb   $89,$35,$02,$10,$3F,$8F,$7C,$4C   .5..?.|L
-L0088    fcb   $75,$17,$00,$6D,$17,$01,$F2,$17   u..m..r.
-L0090    fcb   $06,$5B,$17,$00,$23,$17,$03,$65   .[..#..e
-L0098    fcb   $17,$04,$EF,$17,$05,$EF,$86,$02   ..o..o..
-L00A0    fcb   $B7,$05,$CE,$CC,$00,$04,$FD,$1D   7.NL....
-L00A8    fcb   $44,$CC,$12,$34,$FD,$1D,$3F,$FD   DL.4..?.
-L00B0    fcb   $1D,$41,$16,$0B,$8D,$10,$3F,$06   .A....?.
-L00B8    fcb   $34,$76,$86,$01,$7D,$4C,$75,$26   4v..}Lu&
-L00C0    fcb   $0A,$30,$8D,$14,$7C,$10,$8E,$0A   .0..|...
-L00C8    fcb   $9D,$20,$08,$30,$8D,$14,$81,$10   . .0....
-L00D0    fcb   $8E,$09,$4E,$34,$20,$10,$3F,$84   ..N4 .?.
-L00D8    fcb   $10,$AE,$E4,$34,$02,$8E,$1E,$25   ..d4...%
-L00E0    fcb   $A6,$E4,$10,$3F,$89,$35,$02,$10   &d.?.5..
-L00E8    fcb   $3F,$8F,$35,$20,$31,$3F,$8E,$1E   ?.5 1?..
-L00F0    fcb   $25,$CE,$05,$CF,$17,$0C,$75,$35   %N.O..u5
-L00F8    fcb   $F6,$34,$76,$17,$0B,$2C,$7F,$4D   v4v..,M
-L0100    fcb   $27,$86,$01,$30,$8D,$13,$C9,$10   '..0..I.
-L0108    fcb   $3F,$84,$B7,$1D,$D9,$17,$00,$8A   ?.7.Y...
-L0110    fcb   $F6,$02,$A3,$86,$33,$3D,$1F,$03   v.#.3=..
-L0118    fcb   $8E,$00,$00,$B6,$1D,$D9,$10,$3F   ...6.Y.?
-L0120    fcb   $88,$8E,$4C,$8A,$10,$8E,$00,$33   ..L....3
-L0128    fcb   $B6,$1D,$D9,$10,$3F,$89,$B6,$1D   6.Y.?.6.
-L0130    fcb   $D9,$10,$3F,$8F,$F6,$4C,$A8,$5A   Y.?.vL(Z
-L0138    fcb   $58,$30,$8D,$14,$A2,$EC,$85,$FB   X0.."l..
-L0140    fcb   $4C,$A9,$89,$00,$FD,$1E,$17,$F6   L).....v
-L0148    fcb   $4C,$AA,$F7,$1E,$16,$F6,$4C,$AB   L*w..vL+
-L0150    fcb   $7D,$4C,$76,$26,$05,$17,$00,$C3   }Lv&...C
-L0158    fcb   $C6,$10,$F7,$4D,$22,$7D,$4C,$76   F.wM"}Lv
-L0160    fcb   $27,$2A,$F6,$4C,$A0,$10,$2B,$00   '*vL .+.
-L0168    fcb   $2F,$86,$09,$3D,$30,$8D,$14,$27   /..=0..'
-L0170    fcb   $30,$8B,$10,$8E,$4C,$63,$8D,$16   0...Lc..
-L0178    fcb   $F6,$4C,$A1,$2B,$1B,$86,$09,$3D   vL!+...=
-L0180    fcb   $30,$8D,$14,$13,$30,$8B,$10,$8E   0...0...
-L0188    fcb   $4C,$6C,$8D,$02,$35,$F6,$86,$09   Ll..5v..
-L0190    fcb   $E6,$80,$E7,$A0,$4A,$26,$F9,$39   f.g J&y9
-L0198    fcb   $35,$F6,$34,$76,$F6,$4C,$76,$C1   5v4vvLvA
-L01A0    fcb   $02,$10,$27,$00,$5E,$7D,$4C,$76   ..'.^}Lv
-L01A8    fcb   $26,$0F,$C6,$24,$F7,$02,$A3,$F7   &.F$w.#w
-L01B0    fcb   $4D,$3B,$86,$01,$B7,$4C,$75,$35   M;..7Lu5
-L01B8    fcb   $F6,$F6,$1E,$16,$F1,$4D,$3D,$26   vv..qM=&
-L01C0    fcb   $16,$F6,$4C,$75,$F1,$4D,$3C,$26   .vLuqM<&
-L01C8    fcb   $0E,$F6,$02,$A3,$5C,$F1,$4D,$3B   .v.#\qM;
-L01D0    fcb   $27,$05,$F7,$02,$A3,$35,$F6,$F6   '.w.#5vv
-L01D8    fcb   $4C,$75,$F7,$4D,$3C,$F6,$1E,$16   LuwM<v..
-L01E0    fcb   $F7,$4D,$3D,$C0,$27,$B6,$4C,$75   wM=@'6Lu
-L01E8    fcb   $81,$00,$26,$06,$30,$8D,$00,$1B   ..&.0...
-L01F0    fcb   $20,$04,$30,$8D,$00,$1D,$A6,$85    .0...&.
-L01F8    fcb   $B7,$02,$A3,$5C,$A6,$85,$B7,$4D   7.#\&.7M
-L0200    fcb   $3B,$35,$F6,$7C,$02,$A3,$7C,$4D   ;5v|.#|M
-L0208    fcb   $3B,$35,$F6,$00,$02,$09,$0F,$15   ;5v.....
-L0210    fcb   $1B,$21,$24,$00,$00,$00,$24,$2E   .!$...$.
-L0218    fcb   $32,$39,$3C,$34,$76,$C6,$FF,$8E   29<4vF..
-L0220    fcb   $4C,$8A,$E7,$80,$8C,$4C,$A4,$25   L.g..L$%
-L0228    fcb   $F9,$CC,$00,$00,$FD,$4C,$A4,$FD   yL...L$.
-L0230    fcb   $4C,$A6,$7F,$4C,$90,$C6,$05,$F7   L&L.F.w
-L0238    fcb   $4C,$B1,$C6,$10,$F7,$4C,$AB,$7F   L1F.wL+
-L0240    fcb   $4C,$B3,$7F,$4C,$B4,$8E,$05,$79   L3L4..y
-L0248    fcb   $C6,$06,$E7,$01,$86,$60,$A7,$02   F.g..`'.
-L0250    fcb   $B7,$1D,$F6,$CC,$00,$64,$ED,$03   7.vL.dm.
-L0258    fcb   $86,$7F,$A7,$05,$B7,$1D,$F9,$CC   .'.7.yL
-L0260    fcb   $3F,$FF,$ED,$06,$6F,$88,$12,$6F   ?.m.o..o
-L0268    fcb   $08,$30,$0A,$CC,$01,$08,$A7,$80   .0.L..'.
-L0270    fcb   $5A,$26,$FB,$7F,$02,$96,$CC,$03   Z&...L.
-L0278    fcb   $20,$FD,$1D,$6D,$17,$01,$FA,$35    ..m..z5
-L0280    fcb   $F6,$34,$76,$86,$FF,$B7,$02,$95   v4v..7..
-L0288    fcb   $86,$01,$30,$8D,$12,$63,$10,$3F   ..0..c.?
-L0290    fcb   $84,$B7,$1D,$D9,$B6,$4C,$B1,$C6   .7.Y6L1F
-L0298    fcb   $22,$3D,$8E,$00,$00,$1F,$03,$B6   "=.....6
-L02A0    fcb   $1D,$D9,$10,$3F,$88,$8E,$4C,$CC   .Y.?..LL
-L02A8    fcb   $10,$8E,$00,$22,$B6,$1D,$D9,$10   ..."6.Y.
-L02B0    fcb   $3F,$89,$B6,$4C,$B2,$C6,$0D,$3D   ?.6L2F.=
-L02B8    fcb   $C3,$00,$CC,$8E,$00,$00,$1F,$03   C.L.....
-L02C0    fcb   $B6,$1D,$D9,$10,$3F,$88,$8E,$4C   6.Y.?..L
-L02C8    fcb   $BD,$10,$8E,$00,$0D,$B6,$1D,$D9   =....6.Y
-L02D0    fcb   $10,$3F,$89,$B6,$4C,$75,$81,$00   .?.6Lu..
-L02D8    fcb   $27,$05,$CE,$01,$34,$20,$03,$CE   '.N.4 .N
-L02E0    fcb   $01,$AC,$8E,$00,$00,$B6,$1D,$D9   .,...6.Y
-L02E8    fcb   $10,$3F,$88,$8E,$05,$01,$10,$8E   .?......
-L02F0    fcb   $00,$78,$B6,$1D,$D9,$10,$3F,$89   .x6.Y.?.
-L02F8    fcb   $B6,$4C,$75,$81,$00,$27,$05,$CE   6Lu..'.N
-L0300    fcb   $02,$24,$20,$03,$CE,$02,$A2,$8E   .$ .N.".
-L0308    fcb   $00,$00,$B6,$1D,$D9,$10,$3F,$88   ..6.Y.?.
-L0310    fcb   $8E,$02,$B7,$10,$8E,$00,$7E,$B6   ..7...~6
-L0318    fcb   $1D,$D9,$10,$3F,$89,$B6,$1D,$D9   .Y.?.6.Y
-L0320    fcb   $10,$3F,$8F,$8E,$4A,$80,$CE,$02   .?..J.N.
-L0328    fcb   $B7,$C6,$06,$34,$04,$6F,$00,$A6   7F.4.o.&
-L0330    fcb   $41,$A7,$03,$EC,$42,$ED,$04,$A6   A'.lBm.&
-L0338    fcb   $44,$A7,$06,$EC,$45,$ED,$07,$CC   D'.lEm.L
-L0340    fcb   $00,$00,$ED,$01,$ED,$09,$30,$88   ..m.m.0.
-L0348    fcb   $15,$33,$C8,$15,$6A,$E4,$26,$DD   .3H.jd&]
-L0350    fcb   $35,$04,$86,$05,$17,$00,$96,$F6   5......v
-L0358    fcb   $1E,$16,$7D,$4C,$75,$10,$26,$00   ..}Lu.&.
-L0360    fcb   $39,$C1,$27,$26,$12,$86,$02,$17   9A'&....
-L0368    fcb   $00,$83,$86,$03,$17,$00,$7E,$86   ......~.
-L0370    fcb   $04,$17,$00,$79,$16,$00,$74,$C1   ...y..tA
-L0378    fcb   $28,$26,$18,$86,$02,$17,$00,$6D   (&.....m
-L0380    fcb   $FC,$1E,$17,$10,$83,$00,$5A,$10   ......Z.
-L0388    fcb   $2E,$00,$60,$86,$03,$17,$00,$5D   ..`....]
-L0390    fcb   $16,$00,$58,$C1,$29,$26,$03,$16   ..XA)&..
-L0398    fcb   $00,$51,$C1,$2A,$26,$03,$16,$00   .QA*&...
-L03A0    fcb   $4A,$C1,$2B,$26,$0D,$7D,$4C,$75   JA+&.}Lu
-L03A8    fcb   $27,$41,$86,$04,$17,$00,$3E,$16   'A....>.
-L03B0    fcb   $00,$39,$C1,$2C,$26,$24,$7D,$4C   .9A,&$}L
-L03B8    fcb   $75,$10,$26,$00,$2E,$FC,$1E,$17   u.&.....
-L03C0    fcb   $10,$83,$00,$99,$10,$23,$00,$23   .....#.#
-L03C8    fcb   $86,$02,$17,$00,$20,$86,$04,$17   .... ...
-L03D0    fcb   $00,$1B,$86,$03,$17,$00,$16,$16   ........
-L03D8    fcb   $00,$11,$7D,$4C,$75,$27,$E9,$86   ..}Lu'i.
-L03E0    fcb   $05,$C6,$15,$3D,$8E,$4A,$80,$30   .F.=.J.0
-L03E8    fcb   $8B,$6F,$00,$35,$F6,$34,$76,$C6   .o.5v4vF
-L03F0    fcb   $15,$3D,$8E,$4A,$80,$30,$8B,$86   .=.J.0..
-L03F8    fcb   $FF,$A7,$00,$35,$F6,$34,$76,$B6   .'.5v4v6
-L0400    fcb   $4C,$76,$26,$02,$35,$F6,$30,$8D   Lv&.5v0.
-L0408    fcb   $10,$B6,$86,$01,$10,$3F,$84,$B7   .6...?.7
-L0410    fcb   $1D,$D9,$8E,$4C,$90,$10,$8E,$05   .Y.L....
-L0418    fcb   $79,$C6,$04,$34,$04,$E6,$80,$10   yF.4.f..
-L0420    fcb   $2B,$00,$45,$86,$16,$3D,$1F,$03   +.E..=..
-L0428    fcb   $34,$30,$8E,$00,$00,$B6,$1D,$D9   40...6.Y
-L0430    fcb   $10,$3F,$88,$AE,$62,$10,$8E,$00   .?..b...
-L0438    fcb   $16,$B6,$1D,$D9,$10,$3F,$89,$35   .6.Y.?.5
-L0440    fcb   $30,$C6,$03,$34,$04,$E6,$22,$CB   0F.4.f"K
-L0448    fcb   $3B,$7D,$4C,$75,$27,$02,$CB,$15   ;}Lu'.K.
-L0450    fcb   $E7,$22,$E6,$25,$CB,$27,$7D,$4C   g"f%K'}L
-L0458    fcb   $75,$27,$02,$CB,$0B,$E7,$25,$31   u'.K.g%1
-L0460    fcb   $21,$35,$04,$5A,$26,$DD,$31,$3D   !5.Z&]1=
-L0468    fcb   $31,$A8,$16,$6A,$E4,$26,$AE,$35   1(.jd&.5
-L0470    fcb   $04,$B6,$1D,$D9,$10,$3F,$8F,$35   .6.Y.?.5
-L0478    fcb   $F6,$34,$76,$F6,$02,$96,$86,$16   v4vv....
-L0480    fcb   $3D,$8E,$05,$79,$30,$8B,$A6,$04   =..y0.&.
-L0488    fcb   $2A,$08,$A6,$02,$A7,$04,$A6,$05   *.&.'.&.
-L0490    fcb   $A7,$07,$86,$01,$A7,$08,$F6,$02   '...'.v.
-L0498    fcb   $96,$17,$00,$13,$86,$07,$33,$0A   ......3.
-L04A0    fcb   $E6,$C6,$27,$06,$17,$00,$33,$5A   fF'...3Z
-L04A8    fcb   $26,$FA,$4A,$2A,$F3,$35,$F6,$34   &zJ*s5v4
-L04B0    fcb   $76,$CE,$4A,$02,$86,$15,$3D,$33   vNJ...=3
-L04B8    fcb   $CB,$6F,$40,$6F,$C8,$10,$FC,$1D   Ko@oH...
-L04C0    fcb   $F6,$ED,$43,$FC,$1D,$F9,$ED,$46   vmC..ymF
-L04C8    fcb   $FC,$1D,$6D,$ED,$49,$E6,$01,$4F   ..mmIf.O
-L04D0    fcb   $ED,$41,$AF,$C8,$12,$FF,$71,$B1   mA/H..q1
-L04D8    fcb   $35,$F6,$34,$76,$C6,$41,$F7,$1E   5v4vFAw.
-L04E0    fcb   $13,$CE,$42,$B5,$E6,$40,$2A,$55   .NB5f@*U
-L04E8    fcb   $34,$10,$30,$8D,$0F,$CA,$A6,$86   4.0..J&.
-L04F0    fcb   $A7,$C8,$12,$35,$10,$6F,$40,$6F   'H.5.o@o
-L04F8    fcb   $C8,$10,$FC,$1D,$F6,$ED,$43,$CC   H...vmCL
-L0500    fcb   $1F,$FF,$BD,$76,$A4,$E3,$44,$ED   ..=v$cDm
-L0508    fcb   $44,$FC,$1D,$F9,$ED,$46,$CC,$1F   D..ymFL.
-L0510    fcb   $FD,$BD,$76,$A4,$E3,$47,$ED,$47   .=v$cGmG
-L0518    fcb   $FC,$1D,$6D,$ED,$49,$E6,$01,$4F   ..mmIf.O
-L0520    fcb   $ED,$41,$FC,$71,$B1,$ED,$C8,$13   mA.q1mH.
-L0528    fcb   $34,$40,$31,$43,$CE,$4C,$84,$BD   4@1CNL.=
-L0530    fcb   $74,$D9,$1F,$32,$35,$40,$10,$AF   tY.25@./
-L0538    fcb   $4E,$A7,$4D,$35,$F6,$33,$C8,$15   N'M5v3H.
-L0540    fcb   $7A,$1E,$13,$10,$26,$FF,$9D,$35   z...&..5
-L0548    fcb   $F6,$34,$76,$4F,$8E,$1D,$DA,$10   v4vO..Z.
-L0550    fcb   $8E,$00,$01,$10,$3F,$89,$35,$F6   ....?.5v
-L0558    fcb   $34,$76,$B6,$4C,$80,$81,$03,$27   4v6L...'
-L0560    fcb   $17,$4C,$B7,$4C,$80,$8E,$4C,$A4   .L7L..L$
-L0568    fcb   $6D,$86,$26,$07,$86,$FF,$B7,$4C   m.&...7L
-L0570    fcb   $80,$20,$05,$86,$04,$B7,$4C,$81   . ...7L.
-L0578    fcb   $35,$F6,$34,$60,$10,$8E,$1E,$0D   5v4`....
-L0580    fcb   $CE,$4C,$84,$BD,$74,$D9,$44,$44   NL.=tYDD
-L0588    fcb   $35,$E0,$34,$76,$CC,$00,$00,$FD   5`4vL...
-L0590    fcb   $4C,$78,$FD,$4C,$7A,$C6,$FF,$F7   Lx.LzF.w
-L0598    fcb   $4D,$2B,$F7,$4C,$80,$86,$FF,$B7   M+wL...7
-L05A0    fcb   $4D,$28,$7F,$4D,$11,$7F,$4D,$29   M(M.M)
-L05A8    fcb   $7F,$4C,$82,$7F,$05,$00,$5F,$F7   L..._w
-L05B0    fcb   $4C,$EE,$F7,$03,$55,$F7,$02,$98   Lnw.Uw..
-L05B8    fcb   $17,$FF,$9D,$86,$0A,$B7,$1D,$47   .....7.G
-L05C0    fcb   $86,$01,$B7,$1D,$46,$86,$3C,$B7   ..7.F.<7
-L05C8    fcb   $1D,$76,$C6,$63,$F7,$4D,$12,$F7   .vFcwM.w
-L05D0    fcb   $4D,$13,$CC,$63,$00,$FD,$4D,$1F   M.Lc..M.
-L05D8    fcb   $FD,$4D,$1B,$FD,$4D,$1D,$B6,$4C   .M..M.6L
-L05E0    fcb   $E0,$B7,$4D,$21,$F6,$4C,$CF,$F7   `7M!vLOw
-L05E8    fcb   $4D,$00,$F6,$4C,$CE,$F7,$4C,$FF   M.vLNwL.
-L05F0    fcb   $FB,$4C,$CF,$F1,$4C,$AC,$23,$0F   .LOqL,#.
-L05F8    fcb   $F6,$4C,$CD,$F7,$4D,$00,$B6,$4C   vLMwM.6L
-L0600    fcb   $AC,$B0,$4C,$CD,$B7,$4C,$FF,$B6   ,0LM7L.6
-L0608    fcb   $4C,$CC,$B7,$4D,$01,$B6,$4C,$CD   LL7M.6LM
-L0610    fcb   $B7,$4D,$02,$7F,$4D,$03,$7F,$4D   7M.M.M
-L0618    fcb   $04,$CC,$00,$01,$FD,$1E,$1E,$FD   .L......
-L0620    fcb   $1E,$20,$F7,$1E,$22,$7F,$1E,$1D   . w."..
-L0628    fcb   $10,$8E,$00,$00,$6F,$A9,$4D,$2D   ....o)M-
-L0630    fcb   $31,$21,$10,$8C,$00,$0E,$25,$F4   1!....%t
-L0638    fcb   $7F,$4C,$EE,$7D,$4C,$76,$26,$1B   Ln}Lv&.
-L0640    fcb   $7F,$4C,$81,$86,$5F,$B7,$4C,$84   L.._7L.
-L0648    fcb   $86,$7F,$B7,$4C,$87,$CC,$E6,$78   .7L.Lfx
-L0650    fcb   $FD,$4C,$85,$CC,$4E,$20,$FD,$4C   .L.LN .L
-L0658    fcb   $88,$35,$F6,$F6,$4C,$B3,$86,$15   .5vvL3..
-L0660    fcb   $3D,$8E,$02,$B7,$30,$8B,$E6,$00   =..70.f.
-L0668    fcb   $86,$04,$3D,$FD,$4C,$FB,$FD,$4C   ..=.L..L
-L0670    fcb   $F3,$FD,$4C,$FD,$FD,$4C,$F5,$E6   s.L..Luf
-L0678    fcb   $01,$F7,$4C,$84,$EC,$02,$FD,$4C   .wL.l..L
-L0680    fcb   $85,$E6,$04,$F7,$4C,$87,$EC,$05   .f.wL.l.
-L0688    fcb   $FD,$4C,$88,$35,$F6,$34,$76,$8E   .L.5v4v.
-L0690    fcb   $4A,$56,$86,$FF,$A7,$00,$30,$88   JV..'.0.
-L0698    fcb   $15,$A7,$00,$B6,$4C,$77,$30,$8D   .'.6Lw0.
-L06A0    fcb   $00,$43,$E6,$86,$F7,$1E,$23,$30   .Cf.w.#0
-L06A8    fcb   $8D,$00,$3E,$E6,$86,$F7,$1E,$24   ..>f.w.$
-L06B0    fcb   $FC,$4C,$BD,$CE,$00,$03,$BD,$76   .L=N..=v
-L06B8    fcb   $B9,$FD,$1D,$DA,$F6,$4C,$77,$4F   9..ZvLwO
-L06C0    fcb   $1F,$02,$FC,$4C,$BD,$10,$8C,$00   ...L=...
-L06C8    fcb   $03,$27,$18,$F3,$1D,$DA,$10,$8C   .'.s.Z..
-L06D0    fcb   $00,$02,$27,$0C,$F3,$1D,$DA,$10   ..'.s.Z.
-L06D8    fcb   $8C,$00,$01,$27,$03,$F3,$1D,$DA   ...'.s.Z
-L06E0    fcb   $FD,$4C,$BD,$35,$F6,$14,$19,$1E   .L=5v...
-L06E8    fcb   $2D,$47,$47,$47,$47,$34,$76,$86   -GGGG4v.
-L06F0    fcb   $01,$30,$8D,$0E,$1B,$10,$3F,$84   .0....?.
-L06F8    fcb   $B7,$1D,$D9,$8E,$50,$41,$10,$8E   7.Y.PA..
-L0700    fcb   $00,$50,$10,$3F,$89,$34,$52,$8E   .P.?.4R.
-L0708    fcb   $00,$00,$CE,$0C,$9D,$B6,$1D,$D9   ..N..6.Y
-L0710    fcb   $10,$3F,$88,$35,$52,$8E,$50,$91   .?.5R.P.
-L0718    fcb   $10,$8E,$11,$35,$B6,$1D,$D9,$10   ...56.Y.
-L0720    fcb   $3F,$89,$7D,$4C,$75,$26,$3C,$34   ?.}Lu&<4
-L0728    fcb   $52,$8E,$00,$00,$CE,$00,$80,$B6   R...N..6
-L0730    fcb   $1D,$D9,$10,$3F,$88,$35,$52,$8E   .Y.?.5R.
-L0738    fcb   $61,$C6,$10,$8E,$0C,$1D,$B6,$1D   aF....6.
-L0740    fcb   $D9,$10,$3F,$89,$34,$52,$8E,$00   Y.?.4R..
-L0748    fcb   $00,$CE,$2A,$9C,$B6,$1D,$D9,$10   .N*.6.Y.
-L0750    fcb   $3F,$88,$35,$52,$8E,$6D,$E3,$10   ?.5R.mc.
-L0758    fcb   $8E,$02,$30,$B6,$1D,$D9,$10,$3F   ..06.Y.?
-L0760    fcb   $89,$20,$57,$34,$52,$8E,$00,$00   . W4R...
-L0768    fcb   $CE,$00,$50,$B6,$1D,$D9,$10,$3F   N.P6.Y.?
-L0770    fcb   $88,$35,$52,$8E,$50,$61,$10,$8E   .5R.Pa..
-L0778    fcb   $00,$30,$B6,$1D,$D9,$10,$3F,$89   .06.Y.?.
-L0780    fcb   $34,$52,$8E,$00,$00,$CE,$1D,$D2   4R...N.R
-L0788    fcb   $B6,$1D,$D9,$10,$3F,$88,$35,$52   6.Y.?.5R
-L0790    fcb   $8E,$61,$C6,$10,$8E,$0C,$CA,$B6   .aF...J6
-L0798    fcb   $1D,$D9,$10,$3F,$89,$34,$52,$8E   .Y.?.4R.
-L07A0    fcb   $00,$00,$CE,$2C,$CC,$B6,$1D,$D9   ..N,L6.Y
-L07A8    fcb   $10,$3F,$88,$35,$52,$8E,$6E,$90   .?.5R.n.
-L07B0    fcb   $10,$8E,$02,$CA,$B6,$1D,$D9,$10   ...J6.Y.
-L07B8    fcb   $3F,$89,$B6,$1D,$D9,$10,$3F,$8F   ?.6.Y.?.
-L07C0    fcb   $35,$F6,$34,$02,$CC,$00,$00,$BD   5v4.L..=
-L07C8    fcb   $77,$E5,$BD,$77,$47,$CC,$00,$39   we=wGL.9
-L07D0    fcb   $FD,$1D,$A7,$CC,$00,$50,$FD,$1D   ..'L.P..
-L07D8    fcb   $A5,$BD,$72,$F3,$45,$6E,$74,$65   %=rsEnte
-L07E0    fcb   $72,$20,$46,$69,$6C,$65,$6E,$61   r Filena
-L07E8    fcb   $6D,$65,$3A,$20,$00,$CC,$00,$45   me: .L.E
-L07F0    fcb   $FD,$1D,$A7,$CC,$00,$56,$FD,$1D   ..'L.V..
-L07F8    fcb   $A5,$BD,$72,$F3,$2D,$3E,$00,$7F   %=rs->.
-L0800    fcb   $42,$65,$17,$00,$02,$35,$82,$34   Be...5.4
-L0808    fcb   $72,$8E,$42,$65,$BD,$74,$CC,$30   r.Be=tL0
-L0810    fcb   $1F,$17,$00,$6B,$4F,$34,$10,$10   ...kO4..
-L0818    fcb   $8E,$00,$01,$10,$3F,$89,$35,$10   ....?.5.
-L0820    fcb   $E6,$84,$C1,$08,$10,$27,$00,$33   f.A..'.3
-L0828    fcb   $C1,$1B,$10,$27,$00,$4D,$C1,$05   A..'.MA.
-L0830    fcb   $10,$27,$00,$47,$7D,$02,$9C,$10   .'.G}...
-L0838    fcb   $26,$00,$40,$C1,$0D,$10,$27,$00   &.@A..'.
-L0840    fcb   $35,$BD,$74,$77,$8C,$42,$75,$25   5=tw.Bu%
-L0848    fcb   $0D,$10,$BE,$1D,$A5,$31,$38,$10   ..>.%18.
-L0850    fcb   $BF,$1D,$A5,$16,$FF,$BB,$30,$01   ?.%..;0.
-L0858    fcb   $16,$FF,$B6,$8C,$42,$65,$10,$27   ..6.Be.'
-L0860    fcb   $FF,$AF,$30,$1F,$C6,$20,$BD,$74   ./0.F =t
-L0868    fcb   $77,$10,$BE,$1D,$A5,$31,$30,$10   w.>.%10.
-L0870    fcb   $BF,$1D,$A5,$16,$FF,$9B,$7F,$02   ?.%....
-L0878    fcb   $9C,$35,$F2,$C6,$1B,$20,$F7,$34   .5rF. w4
-L0880    fcb   $06,$C6,$5F,$BD,$74,$77,$FC,$1D   .F_=tw..
-L0888    fcb   $A5,$83,$00,$08,$FD,$1D,$A5,$35   %.....%5
-L0890    fcb   $86,$34,$76,$17,$FF,$2C,$C1,$1B   .4v..,A.
-L0898    fcb   $10,$27,$00,$2C,$8E,$42,$65,$10   .'.,.Be.
-L08A0    fcb   $3F,$87,$8E,$42,$65,$CC,$02,$5B   ?..BeL.[
-L08A8    fcb   $10,$3F,$83,$25,$12,$B7,$1D,$D9   .?.%.7.Y
-L08B0    fcb   $8E,$01,$09,$10,$8E,$7E,$04,$10   .....~..
-L08B8    fcb   $3F,$8A,$25,$03,$16,$00,$03,$17   ?.%.....
-L08C0    fcb   $00,$65,$B6,$1D,$D9,$10,$3F,$8F   .e6.Y.?.
-L08C8    fcb   $7C,$02,$97,$35,$F6,$34,$76,$17   |..5v4v.
-L08D0    fcb   $FE,$F0,$C1,$1B,$10,$27,$00,$4A   .pA..'.J
-L08D8    fcb   $FE,$1D,$8B,$34,$40,$8E,$42,$65   ...4@.Be
-L08E0    fcb   $86,$01,$10,$3F,$84,$25,$27,$B7   ...?.%'7
-L08E8    fcb   $1D,$D9,$C6,$02,$10,$3F,$8D,$1F   .YF..?..
-L08F0    fcb   $31,$11,$83,$7E,$04,$27,$05,$C6   1..~.'.F
-L08F8    fcb   $F9,$16,$00,$12,$B6,$1D,$D9,$8E   y...6.Y.
-L0900    fcb   $01,$09,$10,$8E,$7E,$04,$10,$3F   ....~..?
-L0908    fcb   $89,$25,$03,$16,$00,$03,$17,$00   .%......
-L0910    fcb   $16,$35,$40,$FF,$1D,$8B,$8E,$1E   .5@.....
-L0918    fcb   $25,$BF,$1D,$89,$B6,$1D,$D9,$10   %?..6.Y.
-L0920    fcb   $3F,$8F,$7C,$02,$97,$35,$F6,$34   ?.|..5v4
-L0928    fcb   $76,$8E,$00,$50,$BF,$1D,$A5,$8E   v..P?.%.
-L0930    fcb   $00,$39,$30,$88,$10,$BF,$1D,$A7   .90..?.'
-L0938    fcb   $BD,$72,$F3,$45,$52,$52,$4F,$52   =rsERROR
-L0940    fcb   $20,$23,$00,$34,$04,$4F,$BD,$73    #.4.O=s
-L0948    fcb   $04,$BD,$72,$F3,$20,$3A,$20,$00   .=rs : .
-L0950    fcb   $35,$04,$C1,$F9,$26,$16,$BD,$72   5.Ay&.=r
-L0958    fcb   $F3,$57,$52,$4F,$4E,$47,$20,$46   sWRONG F
-L0960    fcb   $49,$4C,$45,$20,$54,$59,$50,$45   ILE TYPE
-L0968    fcb   $00,$16,$00,$54,$C1,$D7,$26,$13   ...TAW&.
-L0970    fcb   $BD,$72,$F3,$42,$41,$44,$20,$50   =rsBAD P
-L0978    fcb   $41,$54,$48,$4E,$41,$4D,$45,$00   ATHNAME.
-L0980    fcb   $16,$00,$3D,$C1,$D8,$26,$15,$BD   ..=AX&.=
-L0988    fcb   $72,$F3,$46,$49,$4C,$45,$20,$4E   rsFILE N
-L0990    fcb   $4F,$54,$20,$46,$4F,$55,$4E,$44   OT FOUND
-L0998    fcb   $00,$16,$00,$24,$C1,$F0,$2D,$10   ...$Ap-.
-L09A0    fcb   $BD,$72,$F3,$44,$49,$53,$4B,$20   =rsDISK 
-L09A8    fcb   $45,$52,$52,$4F,$52,$00,$20,$10   ERROR. .
-L09B0    fcb   $BD,$72,$F3,$53,$59,$53,$54,$45   =rsSYSTE
-L09B8    fcb   $4D,$20,$45,$52,$52,$4F,$52,$00   M ERROR.
-L09C0    fcb   $BE,$1D,$A7,$30,$88,$10,$BF,$1D   >.'0..?.
-L09C8    fcb   $A7,$8E,$00,$60,$BF,$1D,$A5,$BD   '..`?.%=
-L09D0    fcb   $72,$F3,$50,$72,$65,$73,$73,$20   rsPress 
-L09D8    fcb   $61,$6E,$79,$20,$6B,$65,$79,$20   any key 
-L09E0    fcb   $74,$6F,$20,$63,$6F,$6E,$74,$69   to conti
-L09E8    fcb   $6E,$75,$65,$00,$4F,$8E,$1D,$DA   nue.O..Z
-L09F0    fcb   $10,$8E,$00,$01,$10,$3F,$89,$35   .....?.5
-L09F8    fcb   $F6,$34,$76,$8E,$1E,$25,$CC,$00   v4v..%L.
-L0A00    fcb   $00,$ED,$81,$8C,$42,$65,$2D,$F9   .m..Be-y
-L0A08    fcb   $CC,$00,$08,$FD,$1D,$A5,$CC,$00   L....%L.
-L0A10    fcb   $02,$FD,$1D,$A7,$35,$F6,$34,$76   ...'5v4v
-L0A18    fcb   $17,$FF,$DE,$30,$8D,$0A,$C2,$86   ..^0..B.
-L0A20    fcb   $01,$10,$3F,$84,$B7,$1D,$D9,$CE   ..?.7.YN
-L0A28    fcb   $4C,$B5,$F6,$02,$98,$58,$7D,$4C   L5v..X}L
-L0A30    fcb   $76,$26,$02,$C6,$06,$EE,$C5,$8E   v&.F.nE.
-L0A38    fcb   $00,$00,$B6,$1D,$D9,$10,$3F,$88   ..6.Y.?.
-L0A40    fcb   $BE,$1D,$8B,$34,$10,$8E,$1E,$25   >..4...%
-L0A48    fcb   $BF,$1D,$8B,$8E,$42,$65,$10,$8E   ?...Be..
-L0A50    fcb   $00,$01,$B6,$1D,$D9,$10,$3F,$89   ..6.Y.?.
-L0A58    fcb   $F6,$42,$65,$C1,$40,$10,$27,$00   vBeA@.'.
-L0A60    fcb   $2C,$C1,$25,$10,$27,$00,$26,$C1   ,A%.'.&A
-L0A68    fcb   $0D,$27,$09,$C1,$0A,$27,$0E,$BD   .'.A.'.=
-L0A70    fcb   $74,$77,$20,$D7,$CC,$00,$08,$FD   tw WL...
-L0A78    fcb   $1D,$A5,$16,$FF,$CE,$BE,$1D,$A7   .%..N>.'
-L0A80    fcb   $30,$08,$8C,$00,$6B,$2C,$ED,$BF   0...k,m?
-L0A88    fcb   $1D,$A7,$16,$FF,$BE,$B6,$1D,$D9   .'..>6.Y
-L0A90    fcb   $10,$3F,$8F,$35,$10,$BF,$1D,$8B   .?.5.?..
-L0A98    fcb   $8D,$05,$17,$00,$98,$35,$F6,$34   .....5v4
-L0AA0    fcb   $76,$86,$FF,$B7,$02,$97,$86,$03   v..7....
-L0AA8    fcb   $B7,$1D,$88,$FC,$1D,$8B,$34,$06   7.....4.
-L0AB0    fcb   $CC,$1E,$25,$FD,$1D,$8B,$FC,$1D   L.%.....
-L0AB8    fcb   $AD,$34,$06,$CC,$01,$3F,$FD,$1D   -4.L.?..
-L0AC0    fcb   $AD,$CC,$00,$00,$FD,$1D,$8F,$FD   -L......
-L0AC8    fcb   $1D,$91,$FD,$1D,$95,$CC,$01,$3F   .....L.?
-L0AD0    fcb   $FD,$1D,$93,$BD,$7B,$F4,$FD,$1D   ...={t..
-L0AD8    fcb   $93,$CC,$00,$00,$FD,$1D,$8F,$CC   .L.....L
-L0AE0    fcb   $00,$73,$FD,$1D,$91,$FD,$1D,$95   .s......
-L0AE8    fcb   $BD,$7B,$F4,$CC,$00,$00,$FD,$1D   ={tL....
-L0AF0    fcb   $8F,$FD,$1D,$91,$FD,$1D,$93,$CC   .......L
-L0AF8    fcb   $00,$73,$FD,$1D,$95,$BD,$7B,$F4   .s...={t
-L0B00    fcb   $FD,$1D,$95,$CC,$01,$3F,$FD,$1D   ...L.?..
-L0B08    fcb   $8F,$FD,$1D,$93,$CC,$00,$00,$FD   ....L...
-L0B10    fcb   $1D,$91,$BD,$7B,$F4,$35,$16,$FD   ..={t5..
-L0B18    fcb   $1D,$AD,$BF,$1D,$8B,$8E,$1E,$25   .-?....%
-L0B20    fcb   $FE,$1D,$8B,$10,$8E,$24,$40,$E6   .....$@f
-L0B28    fcb   $84,$A6,$C4,$E7,$C0,$A7,$80,$31   .&Dg@'.1
-L0B30    fcb   $3F,$26,$F4,$35,$F6,$34,$76,$4F   ?&t5v4vO
-L0B38    fcb   $8E,$42,$65,$10,$8E,$00,$01,$10   .Be.....
-L0B40    fcb   $3F,$89,$FE,$1D,$8B,$8E,$1E,$25   ?......%
-L0B48    fcb   $EC,$81,$ED,$C1,$8C,$42,$65,$2D   l.mA.Be-
-L0B50    fcb   $F7,$35,$F6,$34,$76,$86,$FF,$B7   w5v4v..7
-L0B58    fcb   $02,$97,$7F,$4D,$3E,$8E,$1E,$25   ..M>..%
-L0B60    fcb   $CC,$00,$00,$ED,$81,$8C,$42,$65   L..m..Be
-L0B68    fcb   $2D,$F9,$17,$FF,$32,$CC,$00,$08   -y..2L..
-L0B70    fcb   $FD,$1D,$A5,$CC,$00,$02,$FD,$1D   ..%L....
-L0B78    fcb   $A7,$30,$8D,$09,$64,$86,$01,$10   '0..d...
-L0B80    fcb   $3F,$84,$B7,$1D,$D9,$CE,$4C,$B5   ?.7.YNL5
-L0B88    fcb   $F6,$02,$98,$58,$7D,$4C,$76,$26   v..X}Lv&
-L0B90    fcb   $02,$C6,$06,$EE,$C5,$8E,$00,$00   .F.nE...
-L0B98    fcb   $B6,$1D,$D9,$10,$3F,$88,$8E,$42   6.Y.?..B
-L0BA0    fcb   $65,$10,$8E,$00,$01,$B6,$1D,$D9   e....6.Y
-L0BA8    fcb   $10,$3F,$89,$F6,$42,$65,$C1,$40   .?.vBeA@
-L0BB0    fcb   $10,$27,$00,$3A,$C1,$25,$10,$27   .'.:A%.'
-L0BB8    fcb   $00,$34,$C1,$0D,$27,$17,$C1,$0A   .4A.'.A.
-L0BC0    fcb   $27,$1C,$7D,$4D,$3E,$26,$09,$17   '.}M>&..
-L0BC8    fcb   $00,$2F,$B7,$4D,$3E,$17,$03,$06   ./7M>...
-L0BD0    fcb   $BD,$74,$77,$20,$C9,$CC,$00,$08   =tw IL..
-L0BD8    fcb   $FD,$1D,$A5,$16,$FF,$C0,$BE,$1D   ..%..@>.
-L0BE0    fcb   $A7,$30,$08,$8C,$00,$6B,$2C,$ED   '0...k,m
-L0BE8    fcb   $BF,$1D,$A7,$16,$FF,$B0,$B6,$1D   ?.'..06.
-L0BF0    fcb   $D9,$10,$3F,$8F,$17,$FF,$3E,$35   Y.?...>5
-L0BF8    fcb   $F6,$34,$34,$4F,$C6,$01,$10,$3F   v44OF..?
-L0C00    fcb   $8D,$24,$03,$4F,$35,$B4,$4F,$8E   .$.O54O.
-L0C08    fcb   $1D,$DA,$10,$8E,$00,$01,$10,$3F   .Z.....?
-L0C10    fcb   $89,$B6,$1D,$DA,$81,$03,$27,$0B   .6.Z..'.
-L0C18    fcb   $81,$05,$27,$07,$7D,$02,$9C,$26   ..'.}..&
-L0C20    fcb   $02,$35,$B4,$7F,$02,$9C,$86,$1B   .54....
-L0C28    fcb   $35,$B4,$34,$76,$10,$8E,$00,$75   544v...u
-L0C30    fcb   $8E,$42,$B5,$86,$FF,$A7,$00,$30   .B5..'.0
-L0C38    fcb   $88,$15,$31,$3F,$10,$26,$FF,$F5   ..1?.&.u
-L0C40    fcb   $35,$F6,$34,$76,$86,$01,$30,$8D   5v4v..0.
-L0C48    fcb   $08,$E6,$10,$3F,$84,$8E,$1E,$25   .f.?...%
-L0C50    fcb   $10,$8E,$16,$66,$10,$3F,$89,$10   ...f.?..
-L0C58    fcb   $3F,$8F,$8E,$1E,$25,$10,$8E,$16   ?...%...
-L0C60    fcb   $66,$FE,$1D,$8B,$17,$01,$05,$CC   f......L
-L0C68    fcb   $01,$09,$BD,$73,$5B,$CC,$02,$36   ..=s[L.6
-L0C70    fcb   $BD,$73,$5B,$86,$03,$B7,$1D,$88   =s[..7..
-L0C78    fcb   $BE,$1D,$8B,$BF,$1D,$89,$4F,$34   >..?..O4
-L0C80    fcb   $02,$8E,$00,$20,$30,$14,$BF,$1D   ... 0.?.
-L0C88    fcb   $A5,$30,$8D,$08,$D2,$E6,$86,$4F   %0..Rf.O
-L0C90    fcb   $C3,$00,$04,$FD,$1D,$A7,$BD,$72   C....'=r
-L0C98    fcb   $F3,$30,$30,$30,$00,$35,$02,$4C   s000.5.L
-L0CA0    fcb   $81,$04,$26,$DB,$4F,$30,$8D,$08   ..&[O0..
-L0CA8    fcb   $B6,$10,$8E,$02,$A7,$34,$02,$C6   6...'4.F
-L0CB0    fcb   $20,$E7,$28,$E7,$A0,$E6,$80,$C0    g(g f.@
-L0CB8    fcb   $14,$E7,$28,$E7,$A0,$35,$02,$4C   .g(g 5.L
-L0CC0    fcb   $81,$04,$26,$E9,$CC,$00,$00,$FD   ..&iL...
-L0CC8    fcb   $4C,$FD,$FD,$4C,$F9,$FD,$4C,$FB   L..Ly.L.
-L0CD0    fcb   $FD,$4C,$F7,$FD,$4C,$F5,$FD,$4C   .Lw.Lu.L
-L0CD8    fcb   $F1,$FD,$4C,$F3,$FD,$4C,$EF,$17   q.Ls.Lo.
-L0CE0    fcb   $00,$5E,$17,$00,$71,$17,$00,$A6   .^..q..&
-L0CE8    fcb   $17,$00,$B9,$BD,$78,$43,$BD,$78   ..9=xC=x
-L0CF0    fcb   $66,$86,$FF,$B7,$4D,$28,$86,$01   f..7M(..
-L0CF8    fcb   $30,$8D,$00,$35,$10,$3F,$84,$B7   0..5.?.7
-L0D00    fcb   $1D,$D9,$8E,$00,$00,$CE,$00,$72   .Y...N.r
-L0D08    fcb   $10,$3F,$88,$FC,$1D,$8B,$C3,$2D   .?....C-
-L0D10    fcb   $63,$1F,$01,$C6,$08,$34,$14,$B6   c..F.4.6
-L0D18    fcb   $1D,$D9,$10,$8E,$00,$0C,$10,$3F   .Y.....?
-L0D20    fcb   $89,$35,$14,$30,$88,$50,$5A,$26   .5.0.PZ&
-L0D28    fcb   $EC,$B6,$1D,$D9,$10,$3F,$8F,$35   l6.Y.?.5
-L0D30    fcb   $F6,$73,$75,$62,$2F,$64,$69,$65   vsub/die
-L0D38    fcb   $73,$65,$6C,$2E,$64,$61,$74,$00   sel.dat.
-L0D40    fcb   $34,$76,$CC,$00,$92,$FD,$1D,$A7   4vL....'
-L0D48    fcb   $CC,$00,$C8,$FD,$1D,$A5,$F6,$4D   L.H..%vM
-L0D50    fcb   $11,$BD,$78,$2E,$35,$F6,$34,$76   .=x.5v4v
-L0D58    fcb   $CC,$00,$A2,$FD,$1D,$A7,$CC,$00   L."..'L.
-L0D60    fcb   $C8,$FD,$1D,$A5,$F6,$4D,$12,$BD   H..%vM.=
-L0D68    fcb   $78,$2E,$35,$F6,$34,$76,$A6,$80   x.5v4v&.
-L0D70    fcb   $2A,$0D,$84,$7F,$31,$3F,$E6,$80   *..1?f.
-L0D78    fcb   $E7,$C0,$4A,$26,$FB,$20,$09,$E6   g@J&. .f
-L0D80    fcb   $80,$E7,$C0,$31,$3F,$4A,$26,$F7   .g@1?J&w
-L0D88    fcb   $31,$3F,$26,$E2,$35,$F6,$34,$76   1?&b5v4v
-L0D90    fcb   $CC,$00,$B2,$FD,$1D,$A7,$CC,$00   L.2..'L.
-L0D98    fcb   $C8,$FD,$1D,$A5,$F6,$4D,$13,$BD   H..%vM.=
-L0DA0    fcb   $78,$2E,$35,$F6,$34,$76,$CC,$00   x.5v4vL.
-L0DA8    fcb   $92,$FD,$1D,$A7,$CC,$01,$12,$FD   ...'L...
-L0DB0    fcb   $1D,$A5,$4F,$F6,$1E,$1D,$30,$8D   .%Ov..0.
-L0DB8    fcb   $00,$1E,$E6,$85,$BD,$78,$2E,$8E   ..f.=x..
-L0DC0    fcb   $01,$28,$BF,$1D,$A5,$30,$8D,$00   .(?.%0..
-L0DC8    fcb   $0A,$F6,$1E,$1D,$E6,$85,$BD,$74   .v..f.=t
-L0DD0    fcb   $77,$35,$F6,$53,$53,$53,$4D,$48   w5vSSSMH
-L0DD8    fcb   $01,$05,$1E,$0A,$04,$34,$36,$CC   .....46L
-L0DE0    fcb   $01,$00,$8E,$42,$65,$34,$10,$10   ...Be4..
-L0DE8    fcb   $3F,$8D,$35,$10,$A6,$04,$B7,$1D   ?.5.&.7.
-L0DF0    fcb   $49,$6F,$04,$A6,$07,$B7,$1D,$4A   Io.&.7.J
-L0DF8    fcb   $6F,$07,$CC,$01,$00,$10,$3F,$8E   o.L...?.
-L0E00    fcb   $35,$B6,$7D,$4D,$2E,$27,$1A,$BD   56}M.'.=
-L0E08    fcb   $72,$C3,$54,$68,$65,$20,$72,$61   rCThe ra
-L0E10    fcb   $64,$69,$6F,$20,$69,$73,$20,$6F   dio is o
-L0E18    fcb   $75,$74,$2C,$20,$53,$69,$72,$00   ut, Sir.
-L0E20    fcb   $39,$BD,$72,$C3,$53,$65,$6E,$64   9=rCSend
-L0E28    fcb   $69,$6E,$67,$20,$53,$2E,$4F,$2E   ing S.O.
-L0E30    fcb   $53,$2E,$2C,$20,$53,$69,$72,$00   S., Sir.
-L0E38    fcb   $C6,$53,$17,$00,$99,$C6,$4F,$17   FS...FO.
-L0E40    fcb   $00,$94,$C6,$53,$17,$00,$8F,$C6   ..FS...F
-L0E48    fcb   $FF,$F7,$4C,$83,$39,$7D,$4D,$2E   .wL.9}M.
-L0E50    fcb   $27,$1A,$BD,$72,$C3,$54,$68,$65   '.=rCThe
-L0E58    fcb   $20,$72,$61,$64,$69,$6F,$20,$69    radio i
-L0E60    fcb   $73,$20,$6F,$75,$74,$2C,$20,$53   s out, S
-L0E68    fcb   $69,$72,$00,$39,$BD,$72,$C3,$52   ir.9=rCR
-L0E70    fcb   $61,$64,$69,$6F,$69,$6E,$67,$20   adioing 
-L0E78    fcb   $70,$6F,$73,$69,$74,$69,$6F,$6E   position
-L0E80    fcb   $2C,$20,$53,$69,$72,$00,$F6,$4C   , Sir.vL
-L0E88    fcb   $84,$BD,$76,$91,$17,$00,$47,$BD   .=v...G=
-L0E90    fcb   $76,$91,$17,$00,$41,$BD,$76,$91   v...A=v.
-L0E98    fcb   $17,$00,$3B,$F6,$4C,$87,$BD,$76   ..;vL.=v
-L0EA0    fcb   $91,$17,$00,$32,$BD,$76,$91,$17   ...2=v..
-L0EA8    fcb   $00,$2C,$BD,$76,$91,$17,$00,$26   .,=v...&
-L0EB0    fcb   $C6,$45,$17,$00,$21,$C6,$50,$17   FE..!FP.
-L0EB8    fcb   $00,$1C,$C6,$59,$17,$00,$17,$C6   ..FY...F
-L0EC0    fcb   $58,$17,$00,$12,$C6,$FF,$F7,$4C   X...F.wL
-L0EC8    fcb   $83,$39,$34,$76,$1F,$01,$CC,$01   .94v..L.
-L0ED0    fcb   $98,$10,$3F,$8E,$35,$F6,$34,$76   ..?.5v4v
-L0ED8    fcb   $C1,$20,$26,$11,$17,$00,$5E,$17   A &...^.
-L0EE0    fcb   $00,$5B,$17,$00,$58,$17,$00,$55   .[..X..U
-L0EE8    fcb   $17,$00,$52,$35,$F6,$C1,$27,$2D   ..R5vA'-
-L0EF0    fcb   $FA,$C1,$61,$2D,$02,$C0,$20,$C1   zAa-.@ A
-L0EF8    fcb   $7A,$2E,$F0,$C0,$27,$30,$8D,$06   z.p@'0..
-L0F00    fcb   $62,$E6,$85,$86,$08,$4A,$58,$24   bf...JX$
-L0F08    fcb   $FC,$58,$24,$14,$34,$06,$CC,$3F   .X$.4.L?
-L0F10    fcb   $04,$1F,$01,$10,$8E,$0F,$D7,$17   ......W.
-L0F18    fcb   $FF,$B0,$8D,$21,$35,$06,$20,$12   .0.!5. .
-L0F20    fcb   $34,$06,$CC,$3F,$0C,$1F,$01,$10   4.L?....
-L0F28    fcb   $8E,$0F,$D7,$17,$FF,$9C,$8D,$0D   ..W.....
-L0F30    fcb   $35,$06,$4A,$26,$D4,$8D,$06,$8D   5.J&T...
-L0F38    fcb   $04,$8D,$02,$35,$F6,$34,$10,$8E   ...5v4..
-L0F40    fcb   $27,$10,$30,$1F,$26,$FC,$35,$10   '.0.&.5.
-L0F48    fcb   $39,$34,$62,$CC,$00,$00,$FD,$1D   94bL....
-L0F50    fcb   $B9,$BD,$77,$E5,$FE,$1D,$8B,$34   9=we...4
-L0F58    fcb   $40,$CE,$1E,$25,$FF,$1D,$8B,$FF   @N.%....
-L0F60    fcb   $1D,$89,$10,$8E,$00,$06,$10,$BF   .......?
-L0F68    fcb   $1D,$A7,$10,$8E,$00,$30,$10,$BF   .'...0.?
-L0F70    fcb   $1D,$A5,$E6,$80,$34,$04,$34,$04   .%f.4.4.
-L0F78    fcb   $BD,$74,$CC,$17,$00,$45,$17,$00   =tL..E..
-L0F80    fcb   $42,$BD,$74,$CC,$17,$00,$3C,$6A   B=tL..<j
-L0F88    fcb   $E4,$26,$F6,$35,$46,$FF,$1D,$8B   d&v5F...
-L0F90    fcb   $CE,$1E,$25,$FF,$1D,$89,$BD,$77   N.%...=w
-L0F98    fcb   $47,$CB,$30,$34,$04,$17,$FC,$59   GK04...Y
-L0FA0    fcb   $4D,$27,$FA,$1F,$89,$4F,$C1,$0D   M'z..OA.
-L0FA8    fcb   $27,$10,$C1,$1B,$27,$0F,$C1,$31   '.A.'.A1
-L0FB0    fcb   $2D,$EB,$E1,$E4,$2E,$E7,$C0,$31   -kad.g@1
-L0FB8    fcb   $20,$05,$5F,$20,$02,$C6,$FF,$32    ._ .F.2
-L0FC0    fcb   $61,$35,$E2,$10,$8E,$00,$30,$10   a5b...0.
-L0FC8    fcb   $BF,$1D,$A5,$10,$BE,$1D,$A7,$31   ?.%.>.'1
-L0FD0    fcb   $2C,$10,$BF,$1D,$A7,$39,$34,$76   ,.?.'94v
-L0FD8    fcb   $B6,$4C,$75,$B7,$4D,$3C,$B6,$1E   6Lu7M<6.
-L0FE0    fcb   $16,$B7,$4D,$3D,$CC,$00,$00,$34   .7M=L..4
-L0FE8    fcb   $06,$34,$06,$30,$8D,$03,$4E,$17   .4.0..N.
-L0FF0    fcb   $FF,$57,$5D,$10,$2B,$02,$59,$C1   .W].+.YA
-L0FF8    fcb   $00,$10,$27,$00,$54,$E7,$E4,$30   ..'.Tgd0
-L1000    fcb   $8D,$03,$85,$17,$FF,$43,$5D,$10   .....C].
-L1008    fcb   $2B,$02,$45,$E7,$63,$30,$8D,$03   +.Egc0..
-L1010    fcb   $BB,$17,$FF,$35,$5D,$10,$2B,$02   ;..5].+.
-L1018    fcb   $37,$E7,$61,$A6,$E4,$81,$02,$27   7ga&d..'
-L1020    fcb   $1A,$C1,$01,$27,$06,$30,$8D,$03   .A.'.0..
-L1028    fcb   $CA,$20,$04,$30,$8D,$04,$0D,$17   J .0....
-L1030    fcb   $FF,$17,$5D,$10,$2B,$02,$19,$E7   ..].+..g
-L1038    fcb   $62,$20,$16,$6F,$62,$34,$02,$C1   b .ob4.A
-L1040    fcb   $01,$27,$07,$86,$FF,$B7,$02,$A3   .'...7.#
-L1048    fcb   $20,$05,$86,$23,$B7,$02,$A3,$35    ..#7.#5
-L1050    fcb   $02,$CC,$00,$00,$BD,$77,$E5,$BD   .L..=we=
-L1058    fcb   $77,$47,$CC,$00,$39,$FD,$1D,$A7   wGL.9..'
-L1060    fcb   $CC,$00,$50,$FD,$1D,$A5,$BD,$72   L.P..%=r
-L1068    fcb   $F3,$45,$6E,$74,$65,$72,$20,$43   sEnter C
-L1070    fcb   $61,$70,$74,$61,$69,$6E,$27,$73   aptain's
-L1078    fcb   $20,$4E,$61,$6D,$65,$3A,$20,$00    Name: .
-L1080    fcb   $CC,$00,$45,$FD,$1D,$A7,$CC,$00   L.E..'L.
-L1088    fcb   $56,$FD,$1D,$A5,$BD,$72,$F3,$2D   V..%=rs-
-L1090    fcb   $3E,$00,$8E,$42,$65,$10,$8E,$03   >..Be...
-L1098    fcb   $35,$86,$19,$E6,$A0,$27,$05,$E7   5..f '.g
-L10A0    fcb   $80,$4A,$26,$F7,$6F,$84,$17,$F7   .J&wo..w
-L10A8    fcb   $5E,$C1,$1B,$10,$27,$01,$A1,$B6   ^A..'.!6
-L10B0    fcb   $42,$65,$81,$0D,$26,$06,$30,$8D   Be..&.0.
-L10B8    fcb   $05,$3F,$20,$03,$8E,$42,$65,$86   .? ..Be.
-L10C0    fcb   $19,$10,$8E,$03,$35,$E6,$80,$C1   ....5f.A
-L10C8    fcb   $0D,$27,$05,$E7,$A0,$4A,$26,$F5   .'.g J&u
-L10D0    fcb   $6F,$A4,$35,$06,$B7,$4C,$76,$F7   o$5.7Lvw
-L10D8    fcb   $4C,$75,$35,$02,$C1,$00,$27,$04   Lu5.A.'.
-L10E0    fcb   $8B,$2A,$20,$02,$8B,$27,$B7,$1E   .* ..'7.
-L10E8    fcb   $16,$35,$02,$B7,$4C,$77,$86,$03   .5.7Lw..
-L10F0    fcb   $B7,$05,$CE,$CC,$00,$00,$FD,$04   7.NL....
-L10F8    fcb   $F0,$FD,$04,$F2,$FD,$04,$F4,$FD   p..r..t.
-L1100    fcb   $04,$F5,$FD,$02,$9A,$7F,$04,$F7   .u....w
-L1108    fcb   $7F,$04,$F8,$7F,$04,$F9,$7F,$04   .x.y.
-L1110    fcb   $FA,$7F,$04,$FB,$7F,$04,$FC,$7F   z....
-L1118    fcb   $04,$FD,$7F,$04,$FE,$7F,$04,$FF   ......
-L1120    fcb   $17,$EF,$D6,$17,$F1,$5B,$17,$F5   .oV.q[.u
-L1128    fcb   $C4,$17,$EF,$8C,$17,$F2,$CE,$17   D.o..rN.
-L1130    fcb   $F4,$58,$17,$FB,$0D,$17,$F5,$55   tX....uU
-L1138    fcb   $B6,$4C,$76,$81,$02,$10,$26,$01   6Lv...&.
-L1140    fcb   $0A,$CC,$00,$00,$BD,$77,$E5,$FE   .L..=we.
-L1148    fcb   $1D,$8B,$34,$40,$CE,$1E,$25,$FF   ..4@N.%.
-L1150    fcb   $1D,$8B,$10,$8E,$00,$29,$10,$BF   .....).?
-L1158    fcb   $1D,$A7,$10,$8E,$00,$10,$10,$BF   .'.....?
-L1160    fcb   $1D,$A5,$7D,$4C,$75,$26,$46,$BD   .%}Lu&F=
-L1168    fcb   $72,$F3,$49,$74,$20,$69,$73,$20   rsIt is 
-L1170    fcb   $74,$68,$65,$20,$79,$65,$61,$72   the year
-L1178    fcb   $20,$31,$39,$33,$39,$2C,$20,$61    1939, a
-L1180    fcb   $6E,$64,$00,$10,$8E,$00,$32,$10   nd....2.
-L1188    fcb   $BF,$1D,$A7,$10,$8E,$00,$10,$10   ?.'.....
-L1190    fcb   $BF,$1D,$A5,$BD,$72,$F3,$47,$65   ?.%=rsGe
-L1198    fcb   $72,$6D,$61,$6E,$79,$20,$68,$61   rmany ha
-L11A0    fcb   $73,$20,$73,$74,$61,$72,$74,$65   s starte
-L11A8    fcb   $64,$00,$16,$00,$4D,$BD,$72,$F3   d...M=rs
-L11B0    fcb   $49,$74,$20,$69,$73,$20,$74,$68   It is th
-L11B8    fcb   $65,$20,$79,$65,$61,$72,$20,$31   e year 1
-L11C0    fcb   $39,$34,$32,$2C,$20,$61,$6E,$64   942, and
-L11C8    fcb   $20,$74,$68,$65,$00,$10,$8E,$00    the....
-L11D0    fcb   $32,$10,$BF,$1D,$A7,$10,$8E,$00   2.?.'...
-L11D8    fcb   $10,$10,$BF,$1D,$A5,$BD,$72,$F3   ..?.%=rs
-L11E0    fcb   $55,$6E,$69,$74,$65,$64,$20,$53   United S
-L11E8    fcb   $74,$61,$74,$65,$73,$20,$68,$61   tates ha
-L11F0    fcb   $73,$20,$65,$6E,$74,$65,$72,$65   s entere
-L11F8    fcb   $64,$00,$10,$8E,$00,$3A,$10,$BF   d....:.?
-L1200    fcb   $1D,$A7,$10,$8E,$00,$10,$10,$BF   .'.....?
-L1208    fcb   $1D,$A5,$BD,$72,$F3,$57,$6F,$72   .%=rsWor
-L1210    fcb   $6C,$64,$20,$57,$61,$72,$20,$49   ld War I
-L1218    fcb   $49,$2E,$00,$8E,$00,$63,$BF,$1D   I....c?.
-L1220    fcb   $A7,$8E,$00,$48,$BF,$1D,$A5,$BD   '..H?.%=
-L1228    fcb   $72,$F3,$50,$72,$65,$73,$73,$20   rsPress 
-L1230    fcb   $61,$6E,$79,$20,$6B,$65,$79,$00   any key.
-L1238    fcb   $35,$40,$FF,$1D,$8B,$BD,$77,$47   5@...=wG
-L1240    fcb   $4F,$8E,$1D,$DA,$10,$8E,$00,$01   O..Z....
-L1248    fcb   $10,$3F,$89,$17,$F7,$C8,$35,$F6   .?..wH5v
-L1250    fcb   $32,$64,$35,$F6,$34,$76,$CC,$00   2d5v4vL.
-L1258    fcb   $00,$FD,$02,$9A,$7F,$04,$FA,$7F   .....z
-L1260    fcb   $04,$FB,$7F,$04,$FC,$7F,$04,$FD   ......
-L1268    fcb   $7F,$04,$FE,$7F,$04,$FF,$86,$03   ......
-L1270    fcb   $B7,$05,$CE,$BE,$1E,$17,$F6,$1E   7.N>..v.
-L1278    fcb   $16,$34,$14,$17,$EE,$7B,$17,$F0   .4..n{.p
-L1280    fcb   $00,$17,$F4,$69,$17,$EE,$31,$17   ..ti.n1.
-L1288    fcb   $F1,$73,$17,$F2,$FD,$17,$F9,$B2   qs.r..y2
-L1290    fcb   $17,$F3,$FA,$17,$F7,$63,$8E,$00   .sz.wc..
-L1298    fcb   $29,$BF,$1D,$A7,$8E,$00,$38,$BF   )?.'..8?
-L12A0    fcb   $1D,$A5,$10,$BE,$1D,$8B,$CE,$1E   .%.>..N.
-L12A8    fcb   $25,$FF,$1D,$8B,$BE,$1E,$17,$F6   %...>..v
-L12B0    fcb   $1E,$16,$E1,$E0,$27,$04,$30,$89   ..a`'.0.
-L12B8    fcb   $01,$6D,$1F,$10,$A3,$E1,$10,$83   .m..#a..
-L12C0    fcb   $00,$01,$2C,$03,$CC,$00,$01,$BD   ..,.L..=
-L12C8    fcb   $72,$F3,$41,$66,$74,$65,$72,$20   rsAfter 
-L12D0    fcb   $61,$20,$6C,$65,$61,$76,$65,$20   a leave 
-L12D8    fcb   $6F,$66,$20,$00,$BD,$73,$04,$BD   of .=s.=
-L12E0    fcb   $72,$F3,$20,$64,$61,$79,$73,$2C   rs days,
-L12E8    fcb   $00,$BE,$1D,$A7,$30,$09,$BF,$1D   .>.'0.?.
-L12F0    fcb   $A7,$CC,$00,$38,$FD,$1D,$A5,$BD   'L.8..%=
-L12F8    fcb   $72,$F3,$79,$6F,$75,$20,$67,$65   rsyou ge
-L1300    fcb   $74,$20,$61,$20,$6E,$65,$77,$20   t a new 
-L1308    fcb   $6D,$69,$73,$73,$69,$6F,$6E,$2E   mission.
-L1310    fcb   $00,$8E,$00,$63,$BF,$1D,$A7,$8E   ...c?.'.
-L1318    fcb   $00,$68,$BF,$1D,$A5,$BD,$72,$F3   .h?.%=rs
-L1320    fcb   $50,$72,$65,$73,$73,$20,$61,$6E   Press an
-L1328    fcb   $79,$20,$6B,$65,$79,$00,$10,$BF   y key..?
-L1330    fcb   $1D,$8B,$17,$F7,$6A,$17,$F7,$FD   ...wj.w.
-L1338    fcb   $17,$F6,$DB,$35,$F6,$03,$20,$53   .v[5v. S
-L1340    fcb   $45,$4C,$45,$43,$54,$20,$47,$41   ELECT GA
-L1348    fcb   $4D,$45,$20,$54,$59,$50,$45,$00   ME TYPE.
-L1350    fcb   $31,$2E,$20,$54,$61,$72,$67,$65   1. Targe
-L1358    fcb   $74,$20,$70,$72,$61,$63,$74,$69   t practi
-L1360    fcb   $63,$65,$00,$32,$2E,$20,$53,$69   ce.2. Si
-L1368    fcb   $6E,$67,$6C,$65,$20,$6D,$69,$73   ngle mis
-L1370    fcb   $73,$69,$6F,$6E,$00,$33,$2E,$20   sion.3. 
-L1378    fcb   $57,$61,$72,$74,$69,$6D,$65,$20   Wartime 
-L1380    fcb   $63,$6F,$6D,$6D,$61,$6E,$64,$00   command.
-L1388    fcb   $04,$20,$53,$45,$4C,$45,$43,$54   . SELECT
-L1390    fcb   $20,$47,$41,$4D,$45,$20,$4C,$45    GAME LE
-L1398    fcb   $56,$45,$4C,$00,$31,$2E,$20,$4E   VEL.1. N
-L13A0    fcb   $6F,$76,$69,$63,$65,$00,$32,$2E   ovice.2.
-L13A8    fcb   $20,$49,$6E,$74,$65,$72,$6D,$65    Interme
-L13B0    fcb   $64,$69,$61,$74,$65,$00,$33,$2E   diate.3.
-L13B8    fcb   $20,$41,$64,$76,$61,$6E,$63,$65    Advance
-L13C0    fcb   $64,$00,$34,$2E,$20,$45,$78,$70   d.4. Exp
-L13C8    fcb   $65,$72,$74,$00,$02,$20,$20,$43   ert..  C
-L13D0    fcb   $48,$4F,$4F,$53,$45,$20,$41,$20   HOOSE A 
-L13D8    fcb   $53,$49,$44,$45,$00,$31,$2E,$20   SIDE.1. 
-L13E0    fcb   $47,$65,$72,$6D,$61,$6E,$00,$32   German.2
-L13E8    fcb   $2E,$20,$41,$6D,$65,$72,$69,$63   . Americ
-L13F0    fcb   $61,$6E,$00,$07,$20,$20,$43,$48   an..  CH
-L13F8    fcb   $4F,$4F,$53,$45,$20,$41,$20,$59   OOSE A Y
-L1400    fcb   $45,$41,$52,$00,$31,$2E,$20,$31   EAR.1. 1
-L1408    fcb   $39,$33,$39,$00,$32,$2E,$20,$31   939.2. 1
-L1410    fcb   $39,$34,$30,$00,$33,$2E,$20,$31   940.3. 1
-L1418    fcb   $39,$34,$31,$00,$34,$2E,$20,$31   941.4. 1
-L1420    fcb   $39,$34,$32,$00,$35,$2E,$20,$31   942.5. 1
-L1428    fcb   $39,$34,$33,$00,$36,$2E,$20,$31   943.6. 1
-L1430    fcb   $39,$34,$34,$00,$37,$2E,$20,$31   944.7. 1
-L1438    fcb   $39,$34,$35,$00,$04,$20,$20,$43   945..  C
-L1440    fcb   $48,$4F,$4F,$53,$45,$20,$41,$20   HOOSE A 
-L1448    fcb   $59,$45,$41,$52,$00,$31,$2E,$20   YEAR.1. 
-L1450    fcb   $31,$39,$34,$32,$00,$32,$2E,$20   1942.2. 
-L1458    fcb   $31,$39,$34,$33,$00,$33,$2E,$20   1943.3. 
-L1460    fcb   $31,$39,$34,$34,$00,$34,$2E,$20   1944.4. 
-L1468    fcb   $31,$39,$34,$35,$00,$34,$76,$30   1945.4v0
-L1470    fcb   $8D,$00,$0B,$17,$FA,$D3,$F7,$02   ....zSw.
-L1478    fcb   $91,$7C,$02,$97,$35,$F6,$02,$20   .|..5v. 
-L1480    fcb   $20,$54,$52,$41,$4E,$53,$46,$45    TRANSFE
-L1488    fcb   $52,$20,$41,$20,$54,$4F,$52,$50   R A TORP
-L1490    fcb   $45,$44,$4F,$00,$31,$2E,$20,$46   EDO.1. F
-L1498    fcb   $6F,$72,$77,$61,$72,$64,$20,$74   orward t
-L14A0    fcb   $6F,$20,$41,$66,$74,$00,$32,$2E   o Aft.2.
-L14A8    fcb   $20,$41,$66,$74,$20,$74,$6F,$20    Aft to 
-L14B0    fcb   $46,$6F,$72,$77,$61,$72,$64,$00   Forward.
-L14B8    fcb   $04,$05,$06,$07,$00,$01,$02,$03   ........
-L14C0    fcb   $73,$75,$62,$2F,$63,$6F,$6E,$76   sub/conv
-L14C8    fcb   $6F,$79,$73,$2E,$64,$61,$74,$0D   oys.dat.
-L14D0    fcb   $73,$75,$62,$2F,$6D,$69,$73,$73   sub/miss
-L14D8    fcb   $69,$6F,$6E,$73,$2E,$64,$61,$74   ions.dat
-L14E0    fcb   $0D,$73,$75,$62,$2F,$6D,$69,$73   .sub/mis
-L14E8    fcb   $73,$69,$6F,$6E,$2E,$74,$78,$74   sion.txt
-L14F0    fcb   $0D,$73,$75,$62,$2F,$73,$75,$62   .sub/sub
-L14F8    fcb   $73,$74,$61,$74,$73,$2E,$64,$61   stats.da
-L1500    fcb   $74,$0D,$73,$75,$62,$2F,$66,$6F   t.sub/fo
-L1508    fcb   $6E,$74,$73,$2E,$64,$61,$74,$0D   nts.dat.
-L1510    fcb   $73,$75,$62,$2F,$73,$68,$69,$70   sub/ship
-L1518    fcb   $6D,$61,$70,$32,$2E,$64,$61,$74   map2.dat
-L1520    fcb   $0D,$73,$75,$62,$2F,$69,$6E,$76   .sub/inv
-L1528    fcb   $65,$72,$74,$2E,$70,$69,$63,$0D   ert.pic.
-L1530    fcb   $73,$75,$62,$2F,$63,$6F,$6E,$74   sub/cont
-L1538    fcb   $72,$6F,$6C,$31,$2E,$63,$6D,$70   rol1.cmp
-L1540    fcb   $0D,$73,$75,$62,$2F,$67,$65,$72   .sub/ger
-L1548    fcb   $6D,$61,$70,$2E,$63,$6D,$70,$0D   map.cmp.
-L1550    fcb   $73,$75,$62,$2F,$75,$73,$61,$6D   sub/usam
-L1558    fcb   $61,$70,$2E,$63,$6D,$70,$0D,$18   ap.cmp..
-L1560    fcb   $49,$78,$A8,$61,$52,$52,$73,$73   Ix(aRRss
-L1568    fcb   $4C,$5E,$6A,$2D,$20,$30,$38,$3C   L^j- 08<
-L1570    fcb   $3E,$3F,$2F,$27,$23,$21,$47,$55   >?/'#!GU
-L1578    fcb   $73,$73,$73,$73,$73,$06,$17,$15   sssss...
-L1580    fcb   $0B,$03,$1D,$09,$1F,$07,$18,$0A   ........
-L1588    fcb   $1B,$04,$05,$08,$19,$12,$0D,$0F   ........
-L1590    fcb   $02,$0E,$1E,$0C,$16,$14,$13,$01   ........
-L1598    fcb   $72,$40,$00,$45,$FD,$E8,$00,$14   r@.E.h..
-L15A0    fcb   $00,$7E,$00,$00,$37,$40,$00,$FF   .~..7@..
-L15A8    fcb   $14,$00,$75,$00,$00,$73,$00,$00   ..u..s..
-L15B0    fcb   $FF,$1E,$00,$75,$00,$00,$73,$00   ...u..s.
-L15B8    fcb   $00,$FF,$24,$00,$77,$17,$B4,$56   ..$.w.4V
-L15C0    fcb   $2F,$68,$FF,$24,$00,$77,$F5,$CB   /h.$.wuK
-L15C8    fcb   $56,$18,$92,$FF,$28,$00,$5F,$00   V...(._.
-L15D0    fcb   $00,$55,$00,$00,$FF,$18,$00,$60   .U.....`
-L15D8    fcb   $00,$00,$55,$00,$00,$FF,$1E,$00   ..U.....
-L15E0    fcb   $00,$00,$1F,$00,$3B,$00,$5A,$00   ....;.Z.
-L15E8    fcb   $78,$00,$97,$00,$B5,$00,$D4,$00   x...5.T.
-L15F0    fcb   $F3,$01,$11,$01,$30,$01,$4E,$01   s...0.N.
-L15F8    fcb   $6D,$4E,$61,$6D,$65,$6C,$65,$73   mNameles
-L1600    fcb   $73,$0D,$73,$75,$62,$2F,$73,$69   s.sub/si
-L1608    fcb   $6E,$74,$62,$6C,$2E,$64,$61,$74   ntbl.dat
-L1610    fcb   $0D,$9A,$BA,$ED                   ..:m
+* Disassembly by Os9disasm of sub1
+
+      nam sub1
+      ttl Sub1 Sub Battle Simulator subroutine
+
+      ifp1
+      use defsfile
+      endc
+
+* I/O path definitions
+StdIn    equ   0
+StdOut   equ   1
+StdErr   equ   2
+
+
+
+*  defines for 5 bit zero offset instructions
+Zldb_u   equ  $E640
+Zldb_x   equ  $E600
+Zsta_x   equ  $A700
+Zclr_u   equ  $6F40
+Zclr_x   equ  $6F00
+
+*   misc defines for SUB
+SinTblSz equ $0169
+CntrlSz  equ $1666
+
+SinDat   equ $0126
+CntrlDat equ $1E25
+
+* class D external label equates
+
+D0001    equ $0001
+D0002    equ $0002
+D0003    equ $0003
+D0004    equ $0004
+D0005    equ $0005
+D0006    equ $0006
+D0007    equ $0007
+D0009    equ $0009
+D000D    equ $000D
+D000E    equ $000E
+D0010    equ $0010
+D0012    equ $0012
+D0013    equ $0013
+D0015    equ $0015
+D0030    equ $0030
+
+* class X external label equates
+
+X0107    equ $0107
+X0291    equ $0291
+X0295    equ $0295
+X0296    equ $0296
+X0297    equ $0297
+X0298    equ $0298
+X029A    equ $029A
+X029C    equ $029C
+X02A3    equ $02A3    side FF = german 23 = American
+X0355    equ $0355
+X04F0    equ $04F0
+X04F2    equ $04F2
+X04F4    equ $04F4
+X04F5    equ $04F5
+X04F7    equ $04F7
+X04F8    equ $04F8
+X04F9    equ $04F9
+X04FA    equ $04FA
+X04FB    equ $04FB
+X04FC    equ $04FC
+X04FD    equ $04FD
+X04FE    equ $04FE
+X04FF    equ $04FF
+X0500    equ $0500
+X05CE    equ $05CE
+X1D3F    equ $1D3F
+X1D41    equ $1D41
+X1D44    equ $1D44
+X1D46    equ $1D46
+X1D47    equ $1D47
+X1D49    equ $1D49      IT.EKO original value (echo)
+X1D4A    equ $1D4A      IT.PAU original value (end of page pause)
+X1D6D    equ $1D6D
+X1D76    equ $1D76
+X1D88    equ $1D88
+X1D89    equ $1D89
+X1D8B    equ $1D8B
+X1D8F    equ $1D8F
+X1D91    equ $1D91
+X1D93    equ $1D93
+X1D95    equ $1D95
+X1DA5    equ $1DA5
+X1DA7    equ $1DA7
+X1DAD    equ $1DAD
+X1DAF    equ $1DAF
+X1DB9    equ $1DB9
+X1DD9    equ $1DD9     temp storage for path num
+X1DDA    equ $1DDA
+X1DF6    equ $1DF6
+X1DF9    equ $1DF9
+X1E13    equ $1E13
+X1E16    equ $1E16     year value
+X1E17    equ $1E17
+X1E1D    equ $1E1D
+X1E1E    equ $1E1E
+X1E20    equ $1E20
+X1E22    equ $1E22
+X1E23    equ $1E23
+X1E24    equ $1E24
+X4265    equ $4265
+X4C75    equ $4C75    side      0=German 1=US
+X4C76    equ $4C76    game type
+X4C77    equ $4C77    game level
+X4C78    equ $4C78
+X4C7A    equ $4C7A
+X4C80    equ $4C80
+X4C81    equ $4C81
+X4C82    equ $4C82
+X4C83    equ $4C83
+X4C84    equ $4C84
+X4C85    equ $4C85
+X4C87    equ $4C87
+X4C88    equ $4C88
+X4C90    equ $4C90
+X4CA0    equ $4CA0
+X4CA1    equ $4CA1
+X4CA4    equ $4CA4
+X4CA6    equ $4CA6
+X4CA8    equ $4CA8
+X4CA9    equ $4CA9
+X4CAA    equ $4CAA
+X4CAB    equ $4CAB
+X4CAC    equ $4CAC
+X4CB1    equ $4CB1
+X4CB2    equ $4CB2
+X4CB3    equ $4CB3
+X4CB4    equ $4CB4
+X4CBD    equ $4CBD
+X4CCC    equ $4CCC
+X4CCD    equ $4CCD
+X4CCE    equ $4CCE
+X4CCF    equ $4CCF
+X4CE0    equ $4CE0
+X4CEE    equ $4CEE
+X4CEF    equ $4CEF
+X4CF1    equ $4CF1
+X4CF3    equ $4CF3
+X4CF5    equ $4CF5
+X4CF7    equ $4CF7
+X4CF9    equ $4CF9
+X4CFB    equ $4CFB
+X4CFD    equ $4CFD
+X4CFF    equ $4CFF
+X4D00    equ $4D00
+X4D01    equ $4D01
+X4D02    equ $4D02
+X4D03    equ $4D03
+X4D04    equ $4D04
+X4D11    equ $4D11
+X4D12    equ $4D12
+X4D13    equ $4D13
+X4D1B    equ $4D1B
+X4D1D    equ $4D1D
+X4D1F    equ $4D1F
+X4D21    equ $4D21
+X4D22    equ $4D22
+X4D27    equ $4D27
+X4D28    equ $4D28
+X4D29    equ $4D29
+X4D2B    equ $4D2B
+X4D2E    equ $4D2E    radio status
+X4D3B    equ $4D3B
+X4D3C    equ $4D3C    new side value
+X4D3D    equ $4D3D
+X4D3E    equ $4D3E
+X71B1    equ $71B1
+X72C3    equ $72C3
+X72F3    equ $72F3   seems to proceed character strings
+X7304    equ $7304
+X735B    equ $735B
+X7477    equ $7477   some sort of copy routine ???
+X74CC    equ $74CC
+X74D9    equ $74D9
+X7691    equ $7691
+X76A4    equ $76A4
+X76B9    equ $76B9
+X7747    equ $7747
+X77E5    equ $77E5
+X782E    equ $782E
+X7843    equ $7843
+X7866    equ $7866
+X7BF4    equ $7BF4
+
+
+     
+tylg    set   SbRtn+Objct   
+atrv    set   ReEnt+rev
+rev     set   $01
+*edition set  $01
+  
+        mod   eom,name,tylg,atrv,start,size
+
+
+
+* OS9 data area definitions
+size    equ .
+
+name    fcs "sub1"
+*       fcb  edition                           no edition byte included in orig code
+
+start   leax  >JumpTbl,pcr
+        ldd   b,x
+        ldx   X0107
+        jmp   d,x
+
+JumpTbl      
+L001C   fcb   $00,$23,$0F,$C5,$0A,$05
+        fcb   $08,$80,$08,$BC,$04,$68
+        fcb   $0B,$42,$05,$47,$0D,$F1
+        fcb   $12,$43,$14,$5C,$0E,$3C
+        fcb   $17,$0D,$A6
+      
+        ldd   #$0073
+        std   X1DAF
+        
+        ldd   #$00F4
+        std   X1DAD
+
+* Open Path - Opens a path to the an existing file or device
+*             as specified by the path list
+* entry:
+*       a -> access mode (D S PE PW PR E W R) 
+*       x -> address of the path list 
+*
+* exit:
+*       a -> path number 
+*       x -> address of the last btye of the path list + 1 
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+      
+        lda   #READ.
+        leax  >SinTbl,pcr
+        os9   I$Open
+        pshs  a                   save that path number
+
+* Read  - Reads n bytes from the specified path
+* entry:
+*       a -> path number
+*       x -> address in which to store the data
+*       y -> is the number of bytes to read
+*
+* exit:
+*       y -> number of bytes read 
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+
+        ldx   #SinDat
+        ldy   #SinTblSz
+        os9   I$Read             load it in data 
+      
+        puls  a                  clean up stack
+      
+* Close Path - Terminates I/O path
+*              (performs an impledd I$Detach call)
+* entry:
+*       a -> path number
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+      
+        os9   I$Close
+
+
+        lda   #READ.
+        leax  >Font,pcr
+        os9   I$Open
+        pshs  a             No need for this here
+
+* Seek  - Repositions a file pointer
+* entry:
+*       a -> path number
+*       x -> MS 16 bits of the desired file position
+*       u -> LS 16 bits of the desired file position
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+      
+        ldx   #0
+        ldy   #0            No need for this here  
+        ldu   #$0103        file position
+        os9   I$Seek
+        
+        ldx   #$4D3F        save address
+        ldy   #$0308        num of bytes to read
+        lda   ,s            get the path ?? should still be set
+        os9   I$Read
+        
+        puls  a             get that same path number no need
+        os9   I$Close       close the file        
+        inc   X4C75         increment side ?
+        
+        lbsr  GetMisDat
+        lbsr  GetSubStat
+        lbsr  GetShipmap
+        lbsr  GetMap
+        lbsr  GetConvoy
+        lbsr  SetParams
+        lbsr  SetMorePars
+        
+        lda   #2
+        sta   X05CE
+        
+        ldd   #4
+        std   X1D44
+        
+        ldd   #$1234
+        std   X1D3F
+        std   X1D41
+        
+        lbra  GetControl1
+        
+        os9   F$Exit
+
+GetMap
+L00B8   pshs  a,b,x,y,u
+        lda   #READ.
+        tst   X4C75           test the side value 0=German 1=US
+        bne   MapUS
+      
+        leax  >Germap,pcr
+        ldy   #$0A9D          number of bytes to read when the file is open
+        bra   LoadMap
+
+MapUS
+L00CB   leax  >USAmap,pcr
+        ldy   #$094E          number of bytes to read when the file is open
+
+LoadMap
+L00D3   pshs  y               number of bytes to read when the file is open
+        os9   I$Open          open it
+        ldy   ,s              once again number of bytes to read when the file is open
+        pshs  a               save the path
+        ldx   #CntrlDat       Set the addr to store the info
+        lda   ,s              get the path ???
+        os9   I$Read          do the read 
+        puls  a               pull the path
+        os9   I$Close         close the path
+
+* decode and put it in memory
+        puls  y               get that number of bytes to read when the file is open
+        leay  -$01,y          drop it by one
+        ldx   #CntrlDat       address where stored (from addr)
+        ldu   #$05CF          destination address
+        lbsr  Decode_copy
+        puls  a,b,x,y,u,pc
+      
+
+GetMisDat      
+L00F9   pshs  a,b,x,y,u
+        lbsr  Set_75
+        clr   X4D27
+        
+        lda   #READ.
+        leax  >Mis_dat,pcr
+        os9   I$Open
+        sta   X1DD9           stow path number
+     
+        lbsr  L019A
+       
+        ldb   X02A3           load the Side value
+        lda   #$33
+        mul   
+        tfr   d,u             LS 16 bits of file position
+        ldx   #0              MS 16 bits of file position
+        lda   X1DD9           get our path number 
+        os9   I$Seek          reset the file pointer
+        
+        ldx   #$4C8A          address to store the data
+        ldy   #$0033          number of bytes to read
+        lda   X1DD9           get the path number   (not needed)
+        os9   I$Read          read the data from the file
+         
+        lda   X1DD9           get the path number again (not needed)
+        os9   I$Close         close the file
+        
+        ldb   X4CA8
+        decb  
+        lslb  
+        leax  >ByteTbl4,pcr
+        ldd   b,x
+        addb  X4CA9
+        adca  #0
+        std   X1E17
+        
+        ldb   X4CAA
+        stb   X1E16            year value
+        
+        ldb   X4CAB
+        tst   X4C76            test game type value once
+        bne   L015A            not target practice
+        lbsr  L021B            was target practice
+        
+        ldb   #$10             on return load b
+L015A   stb   X4D22            always stow b either from X4CAB or a fixed value of $10
+
+        tst   X4C76            test that game type value again
+        beq   Ext_MD           if zero we're done
+
+        ldb   X4CA0
+        lbmi  Ext_MD2          if negative were done
+        lda   #$09             otherwise multiply by 9
+        mul   
+        leax  >ByteTbl3,pcr    load pointer to bytetable
+        leax  d,x              index into it and use that as copy from addr
+        ldy   #$4C63           set destination address to copy to
+        bsr   Copy_9           copy 9 bytes
+      
+        ldb   X4CA1
+        bmi   Ext_MD2          if negative we're done
+        lda   #$09             same as above for 9 more bytes 
+        mul   
+        leax  >ByteTbl3,pcr
+        leax  d,x
+        ldy   #$4C6C
+        bsr   Copy_9
+      
+Ext_MD
+L018C   puls  a,b,x,y,u,pc
+
+
+Copy_9
+L018E   lda   #$09             for the use only twice I would have inlined this snippet 
+
+Loop_9
+L0190   ldb   ,x+
+        stb   ,y+
+        deca  
+        bne   Loop_9   
+        rts   
+
+
+Ext_MD2      
+L0198   puls  a,b,x,y,u,pc
+
+
+L019A   pshs  a,b,x,y,u
+        ldb   X4C76            check that game type value again
+        cmpb  #$02             is it a 2 War Time Command ?       
+        lbeq  inc2             if so head for inc & inc
+         
+        tst   X4C76            check that game type value again
+        bne   L01B9            not target practice branch
+        
+        ldb   #$24             set some men loactaions with $
+        stb   X02A3            the side value
+        stb   X4D3B
+        
+        lda   #$01             US
+        sta   X4C75            set side value
+        puls  a,b,x,y,u,pc
+
+
+L01B9   ldb   X1E16            year value
+        cmpb  X4D3D            new year value
+        bne   L01D7            not equal branch to next sub
+        
+        ldb   X4C75            side value 
+        cmpb  X4D3C            new side value
+        bne   L01D7            not equal branch to next sub
+        
+        ldb   X02A3            Side value
+        incb                   bump it
+        cmpb  X4D3B            compare to mate
+        beq   L01D7            if equal branch to next sub
+        stb   X02A3            if not stow b at side value
+        puls  a,b,x,y,u,pc
+
+
+L01D7   ldb   X4C75            side value
+        stb   X4D3C            new side value
+        
+        ldb   X1E16            year value
+        stb   X4D3D            new year value
+        
+        subb  #39              start year german b used as index below
+        
+        lda   X4C75            side value
+        cmpa  #0               German ?
+        bne   Loadtb
+        
+        leax  >ByteTblA,pcr    German
+        bra   Gotta
+        
+Loadtb  leax  >ByteTblB,pcr    American
+Gotta   lda   b,x  
+        sta   X02A3            side value
+  
+        incb                   bump b by one
+        lda   b,x              index into x again
+        sta   X4D3B            stow that
+        puls  a,b,x,y,u,pc
+
+
+inc2    inc   X02A3            side value
+        inc   X4D3B
+        puls  a,b,x,y,u,pc
+        
+
+ByteTblA
+L020B   fcb   $00,$02,$09,$0F,$15,$1B,$21,$24
+
+ByteTblB
+L0213   fcb   $00,$00,$00,$24,$2E,$32,$39,$3C
+
+
+L021B   pshs  a,b,x,y,u
+
+        ldb   #$FF             set b to $FF
+        ldx   #$4C8A           start address to set bytes
+Loop25  stb   ,x+              set byte and bump pointer
+        cmpx  #$4CA4           have we moved 25 bytes?
+        blo   Loop25           nope loop again
+        
+        ldd   #0000            I'm sure there is a reason these
+        std   X4CA4            jump all over the place
+        std   X4CA6            but it sure isn't self evident
+        
+        clr   X4C90
+        
+        ldb   #$05
+        stb   X4CB1
+        
+        ldb   #$10
+        stb   X4CAB
+        
+        clr   X4CB3
+        clr   X4CB4
+        
+        ldx   #$0579
+        ldb   #$06
+        stb   $01,x
+        
+        lda   #$60
+        sta   $02,x
+        sta   X1DF6
+        
+        ldd   #$0064
+        std   $03,x
+        
+        lda   #$7F
+        sta   $05,x
+        sta   X1DF9
+        
+        ldd   #$3FFF
+        std   $06,x
+
+        clr   $12,x            this gets overwritten below
+        clr   $08,x
+*                              $09.x is not manipulated 
+        
+        leax  $0A,x            so now x is pointed to $0583
+
+        ldd   #$0108           this is cute a=$01 b=$08
+Set8    sta   ,x+              set 8 bytes to 1
+        decb                   dec the counter
+        bne   Set8
+        
+*                              so when we're finished here starting $0580 we have  
+*                               0580     $06,$60,$00,$64,$7F,$3F,$FF,$00
+*                               0588      ??,$01,$01,$01,$01,$01,$01,$01
+*                               0590     $01,$01
+
+        clr   X0296
+        
+        ldd   #$0320
+        std   X1D6D
+        
+        lbsr  L0479            branch down and set some more based at $0579
+        puls  a,b,x,y,u,pc
+      
+ 
+GetSubStat      
+L0281   pshs  a,b,x,y,u
+        lda   #$FF
+        sta   X0295
+        
+        lda   #READ.
+        leax  >SubStat,pcr
+        os9   I$Open
+      
+        sta   X1DD9            stow the path num
+      
+        lda   X4CB1            First read of sub stats        
+        ldb   #$22
+        mul   
+        ldx   #0               MS 16 bits of file position
+        tfr   d,u              LS 16 bits of file position
+        lda   X1DD9            get the path num
+        os9   I$Seek           reset file pointer to the head of the file  
+      
+        ldx   #$4CCC           destination address
+        ldy   #$0022           number of bytes to read
+        lda   X1DD9            get that pesky path number (not needed)
+        os9   I$Read           read the data
+        
+        lda   X4CB2            second read of sub stats
+        ldb   #$0D
+        mul   
+        addd  #$00CC
+        ldx   #0               MS 16 bits of file position
+        tfr   d,u              LS 16 bits of file position
+        lda   X1DD9            get path num
+        os9   I$Seek           position the file pointer
+        
+        ldx   #$4CBD           destination address
+        ldy   #$000D           number of bytes to read
+        lda   X1DD9            get the path num (not needed)
+        os9   I$Read           read the data
+      
+        lda   X4C75            test side value  
+        cmpa  #0               is it zero?  German
+        beq   Geroff           if so branch to get next file pos
+        ldu   #$0134           LS 16 bits of file position
+        bra   SetMS1           go get the MS word
+Geroff  ldu   #$01AC           LS 16 bits of file position
+SetMS1  ldx   #$0000           MS 16 bits of file position
+        lda   X1DD9            get path num
+        os9   I$Seek           position the file pointer
+      
+        ldx   #$0501           destination addr
+        ldy   #$0078           number bytes to read
+        lda   X1DD9            get path num
+        os9   I$Read           read the data
+      
+        lda   X4C75            test side for next read value
+        cmpa  #0               German ?
+        beq   Geroff2          set up next seek 
+        ldu   #$0224           LS word of pos
+        bra   SetMS2           go set MS word
+Geroff2 ldu   #$02A2           LS word of pos
+SetMS2  ldx   #$0000           MS word of pos
+        lda   X1DD9            get the path num
+        os9   I$Seek           set the file pointer
+      
+        ldx   #$02B7           destination address
+        ldy   #$007E           number of bytes to read 
+        lda   X1DD9            get the path num  (not needed)
+        os9   I$Read           fetch the data
+      
+        lda   X1DD9            get the path num (not needed)
+        os9   I$Close          close the file
+      
+        ldx   #$4A80           load base addr for offset index addressing
+        ldu   #$02B7           load base addr for offset index addressing
+      
+        ldb   #$06
+        pshs  b
+
+Transtat      
+L032D   fdb   Zclr_x           clr 0,x  
+      
+        lda   $01,u
+        sta   $03,x           
+      
+        ldd   $02,u
+        std   $04,x           
+      
+        lda   $04,u
+        sta   $06,x           
+      
+        ldd   $05,u
+        std   $07,x           
+      
+        ldd   #0               set up to clr word
+        std   $01,x           
+        std   $09,x           
+      
+        leax  $15,x            bump pointer by 21
+        leau  $15,u
+        dec   ,s               dec the counter
+        bne   Transtat         gone 6 times ? nope loop again
+      
+        puls  b                clean up stack
+      
+        lda   #$05
+        lbsr  SetByte
+      
+        ldb   X1E16           load year value
+        tst   X4C75           test side value 0=German 1=US
+        lbne  tst2A           test value not zero skip to compare b $2A
+        cmpb  #$27            is it 39 ?
+        bne   tst28           nope goto next test
+        lda   #2
+        lbsr  SetByte
+        lda   #3
+        lbsr  SetByte
+        lda   #4
+        lbsr  SetByte
+        lbra  ExtSubStat
+      
+tst28   cmpb  #$28            is it 40 ?
+        bne   tst29           nope go to next test
+        lda   #2
+        lbsr  SetByte
+        
+        ldd   X1E17
+        cmpd  #$005A
+        lbgt  ExtSubStat
+        
+        lda   #3
+        lbsr  SetByte
+        lbra  ExtSubStat
+      
+tst29   cmpb  #$29            is it 41 ?
+        bne   tst2a
+        lbra  ExtSubStat
+        
+tst2a   cmpb  #$2A            is it 42 ?
+        bne   tst2b
+        lbra  ExtSubStat
+        
+tst2b   cmpb  #$2B            is it 43 ?
+        bne   tst2c
+        tst   X4C75           test side value
+        beq   ExtSubStat      german ?
+        
+        lda   #4
+        lbsr  SetByte
+        lbra  ExtSubStat
+        
+tst2c   cmpb  #$2C            is it 44 ?
+        bne   tstlst
+        tst   X4C75
+        lbne  ExtSubStat
+        ldd   X1E17
+        cmpd  #$0099
+        lbls  ExtSubStat
+        
+L03C8   lda   #2
+        lbsr  SetByte
+        lda   #4
+        lbsr  SetByte
+        lda   #3
+        lbsr  SetByte
+        lbra  ExtSubStat
+        
+tstlst  tst   X4C75
+        beq   L03C8
+        lda   #5
+        ldb   #$15
+        mul   
+        ldx   #$4A80
+        leax  d,x
+        fdb   Zclr_x          clr 0,x
+
+ExtSubStat
+L03EB   puls  a,b,x,y,u,pc
+
+
+*  a is passed by caller
+*  Calcs an offset from base addr and sets it to FF
+*  
+SetByte
+L03ED   pshs  a,b,x,y,u
+        ldb   #$15
+        mul   
+        ldx   #$4A80
+        leax  d,x
+        lda   #$FF
+        fdb   Zsta_x
+        puls  a,b,x,y,u,pc
+
+
+GetConvoy
+L03FD   pshs  a,b,x,y,u
+        lda   X4C76           check the game type byte
+        bne   ReadConvoy      not target practice
+        puls  a,b,x,y,u,pc
+
+
+ReadConvoy
+L0406   leax  >Convoys,pcr
+        lda   #READ.
+        os9   I$Open
+        sta   X1DD9           save that path num
+        ldx   #$4C90          set up destination addr
+        ldy   #$0579          addr for inner loop RCLop2
+        
+        ldb   #4              loop counter
+        pshs  b               push on the stack
+RCloop  ldb   ,x+             get the first byte at 4C90 and bump the pointer
+        lbmi  RCLend          go to loop end        
+        lda   #$16            calc the seek position
+        mul   
+        tfr   d,u             LS Word file pos
+        pshs  x,y             save destination and bytes to read 
+        ldx   #0              MS Word file pos
+        lda   X1DD9           path num
+        os9   I$Seek          reset the file pointer
+        ldx   $02,s           get the val off the stack
+        ldy   #$0016          bytes to read 
+        lda   X1DD9           path num
+        os9   I$Read          fetch the data 
+        
+        puls  x,y             grab the old x and y
+        ldb   #3              set up an inner loop 
+
+RCLop2  pshs  b               push the counter on the stack
+        ldb   $02,y           get the third byte at y
+        addb  #$3B            add to it
+        tst   X4C75           test side value 
+        beq   RCx1            if zero (german) stow it and get new thing to work on
+        addb  #$15            otherwise add some more to it then 
+RCx1    stb   $02,y           stow it back
+        ldb   $05,y           get the next one to work with
+        addb  #$27            add to it
+        tst   X4C75           check that side value
+        beq   RCx2            if zero (german) stow that and cycle the loop
+        addb  #$0B            otherwise add some more then
+RCx2    stb   $05,y           stow it back
+        leay  $01,y           bump pointer +1
+        puls  b               pull the loop counter
+        decb                  decrement it
+        bne   RCLop2          loop if we haven't gone 3 times
+        
+        leay  -$03,y          after 3 loops move y back to start of inner loop value
+RCLend  leay  $16,y           set y up for the next $16 byte read        
+        dec   ,s              dec the outer loop counter
+        bne   RCloop          not gone four times ? loop again
+        
+        puls  b               otherwise clean up stack
+        
+        lda   X1DD9           get that good old path number
+        os9   I$Close         and close the file
+        puls  a,b,x,y,u,pc    return
+        
+        
+L0479   pshs  a,b,x,y,u       our generic save all
+
+        ldb   X0296
+        lda   #$16
+        mul                   calc an offset
+        ldx   #$0579          get the base address
+        leax  d,x             set the pointer to bae + offset
+        lda   $04,x        
+        bpl   PosVal          is it positive ? branch
+        lda   $02,x           otherwise shift a couple bytes
+        sta   $04,x           first then go on
+        lda   $05,x
+        sta   $07,x
+
+PosVal  lda   #$01
+        sta   $08,x
+        
+        ldb   X0296
+        lbsr  L04AF
+        
+        lda   #$07            outer loop counter
+        leau  $0A,x           load u with x+10
+
+Outloop ldb   a,u             load b with u+counter (inner counter)
+        beq   Decout          is it zero branch out
+In_loop lbsr  L04DA           not zero  
+        decb                  dec inner counter
+        bne   In_loop
+Decout  deca  
+        bpl   Outloop
+        puls  a,b,x,y,u,pc
+
+
+*       value passed in b from caller
+L04AF   pshs  a,b,x,y,u
+        ldu   #$4A02          set base offset
+        lda   #$15            compute offset
+        mul   
+        leau  d,u             set base + offset
+        fdb   Zclr_u          clear the byte at u
+        clr   $10,u
+        
+        ldd   X1DF6
+        std   $03,u
+        
+        ldd   X1DF9
+        std   $06,u
+        
+        ldd   X1D6D
+        std   $09,u
+        
+        ldb   1,x             could have pulled x off the stack 
+        clra                  instead of mucking around with u
+        std   $01,u
+        
+        stx   $12,u
+        
+        stu   X71B1           stow $4a02 at 71b1
+        puls  a,b,x,y,u,pc
+
+ 
+L04DA   pshs  a,b,x,y,u
+        ldb   #$41
+        stb   X1E13
+        
+        ldu   #$42B5          set base address
+L04E4   fdb   Zldb_u          ldb ,u
+        bpl   L053D
+        
+        pshs  x               we've pushed it once
+        leax  >ByteTblF,pcr
+        lda   a,x
+        sta   $12,u
+        puls  x
+        
+        fdb   Zclr_u          clr ,u
+        clr   $10,u
+        
+        ldd   X1DF6
+        std   $03,u
+        
+        ldd   #$1FFF
+        jsr   X76A4
+        addd  $04,u
+        std   $04,u
+        
+        ldd   X1DF9
+        std   $06,u
+        ldd   #$1FFD
+        jsr   X76A4
+        addd  $07,u
+        std   $07,u
+        
+        ldd   X1D6D
+        std   $09,u
+        ldb   $01,x
+        clra  
+        std   $01,u
+        
+        ldd   X71B1
+        std   $13,u
+        
+        pshs  u
+        leay  $03,u
+        ldu   #$4C84
+        jsr   X74D9
+        tfr   u,y
+        puls  u
+        
+        sty   $0E,u
+        sta   $0D,u
+        puls  a,b,x,y,u,pc
+        
+        
+L053D   leau  $15,u
+        dec   X1E13
+        lbne  L04E4
+        
+        puls  a,b,x,y,u,pc
+
+
+*     reads a byte from std in not explicitly called
+N0549   pshs  a,b,x,y,u
+        clra  
+        ldx   #$1DDA
+        ldy   #1
+        os9   I$Read
+        puls  a,b,x,y,u,pc
+
+
+SetParms2
+L0558   pshs  a,b,x,y,u
+        lda   X4C80
+        cmpa  #3
+        beq   ExtSP2          if three were done
+        inca                  bump a
+        sta   X4C80           and save it back
+        ldx   #$4CA4          set up index
+        tst   a,x             test 
+        bne   SetP2       
+
+        lda   #$FF
+        sta   X4C80
+        bra   ExtSP2
+
+SetP2   lda   #4
+        sta   X4C81
+ExtSP2
+L0578   puls  a,b,x,y,u,pc
+
+
+* Not labeled by the disassembler
+N057A   pshs  y,u
+        ldy   #$1E0D
+        ldu   #$4C84
+        jsr   X74D9
+        lsra  
+        lsra  
+        puls  y,u,pc
+
+
+SetParams
+L058A   pshs  a,b,x,y,u
+        ldd   #0             zero (clear) these words
+        std   X4C78
+        std   X4C7A
+        
+        ldb   #$FF           set these bytes
+        stb   X4D2B
+        stb   X4C80
+        
+        lda   #$FF           switching from accb to acca makes no sense
+        sta   X4D28
+        
+        clr   X4D11          clear these bytes
+        clr   X4D29
+        clr   X4C82
+        clr   X0500
+        
+        clrb                 now we clear an acc 
+        stb   X4CEE          and store the val at these
+        stb   X0355
+        stb   X0298
+        
+        lbsr  SetParms2      call a sub to set some others
+        
+        lda   #$0A
+        sta   X1D47
+        
+        lda   #1
+        sta   X1D46
+        
+        lda   #$3C
+        sta   X1D76
+        
+        ldb   #$63
+        stb   X4D12
+        stb   X4D13
+        
+        ldd   #$6300
+        std   X4D1F
+        std   X4D1B
+        std   X4D1D
+        
+        lda   X4CE0
+        sta   X4D21
+        
+        ldb   X4CCF
+        stb   X4D00
+        
+        ldb   X4CCE
+        stb   X4CFF
+        
+        addb  X4CCF
+        cmpb  X4CAC
+        
+        bls   Setpar2
+        
+        ldb   X4CCD
+        stb   X4D00
+       
+        lda   X4CAC
+        suba  X4CCD
+        sta   X4CFF
+
+Setpar2 lda   X4CCC
+        sta   X4D01
+       
+        lda   X4CCD
+        sta   X4D02
+       
+        clr   X4D03
+        clr   X4D04
+       
+        ldd   #1
+        std   X1E1E
+        std   X1E20
+       
+        stb   X1E22
+       
+        clr   X1E1D
+        
+        ldy   #0
+SPLoop  clr   $4D2D,y
+        leay  1,y
+        cmpy  #$000E
+        bcs   SPLoop
+
+        clr   X4CEE
+        
+        tst   X4C76          test game type value
+        bne   Setpar3        not target practice
+        
+        clr   X4C81
+
+        lda   #$5F
+        sta   X4C84
+
+        lda   #$7F
+        sta   X4C87
+
+        ldd   #$E678
+        std   X4C85
+
+        ldd   #$4E20
+        std   X4C88
+
+        puls  a,b,x,y,u,pc
+
+
+Setpar3
+L065B   ldb   X4CB3
+        lda   #$15
+        mul   
+        ldx   #$02B7
+        leax  d,x            calc an index
+        fdb   Zldb_x         to calc an index
+        lda   #$04
+        mul   
+        std   X4CFB          stow that value
+        std   X4CF3
+        std   X4CFD
+        std   X4CF5
+        
+        ldb   $01,x          get bytes at the pointer
+        stb   X4C84          and save them elsewhere
+ 
+        ldd   $02,x
+        std   X4C85
+ 
+        ldb   $04,x
+        stb   X4C87
+ 
+        ldd   $05,x
+        std   X4C88
+        
+        puls  a,b,x,y,u,pc
+
+SetMorePars
+L068D   pshs  a,b,x,y,u
+        ldx   #$4A56
+        lda   #$FF
+        fdb   Zsta_x
+     
+        leax  $15,x
+        fdb   Zsta_x
+        
+        lda   X4C77          game level
+        leax  >ByteTblC,pcr
+        ldb   a,x
+        stb   X1E23
+        
+        leax  >Gstring,pcr
+        ldb   a,x
+        stb   X1E24          always a G
+        
+        ldd   X4CBD
+        ldu   #3
+        jsr   X76B9
+        std   X1DDA
+        
+        ldb   X4C77          game level
+        clra                 zero ms byte
+        tfr   d,y            transfer game level to y
+        ldd   X4CBD
+        cmpy  #$0003         Expert level ?
+        beq   ExtSMP
+        
+        addd  X1DDA
+        cmpy  #$0002         Advanced level ?
+        beq   ExtSMP1
+        
+        addd  X1DDA
+        cmpy  #$0001         Intermediate level ?
+        beq   ExtSMP1
+        
+        addd  X1DDA          must be Novice
+
+ExtSMP1 std   X4CBD
+
+ExtSMP
+L06E3   puls  a,b,x,y,u,pc
+
+
+ByteTblC
+L06E5   fcb   $14,$19,$1E,$2D
+
+
+Gstring
+L06E9   fcc  "GGGG"          all bytes $47
+
+
+GetShipmap
+L06ED   pshs  a,b,x,y,u
+        lda   #READ.
+        leax  >Shipmap,pcr
+        os9   I$Open
+        sta   X1DD9          stow the path num
+        
+        ldx   #$5041         destination address
+        ldy   #$0050         number of bytes to read
+        os9   I$Read         fetch the data
+
+        pshs  a,x,u          why ??
+        ldx   #0             MS Word of file pos
+        ldu   #$0C9D         LS Word of file pos
+        lda   X1DD9          path num
+        os9   I$Seek         reset file pointer
+        puls  a,x,u          pull what we just saved and then over write it
+        
+        ldx   #$5091         destination address
+        ldy   #$1135         bytes to read
+        lda   X1DD9          get the path num
+        os9   I$Read         fetch the data
+        
+        tst   X4C75          test side value
+        bne   Shpmap2        Not German 
+        
+        pshs  a,x,u          duh
+        ldx   #0             MS Word of file pos
+        ldu   #$0080         LS Word of file pos
+        lda   X1DD9          load the same path num
+        os9   I$Seek         reset the file pointer
+        
+        puls  a,x,u          pull em and overwrite em ??
+        ldx   #$61C6         destination
+        ldy   #$0C1D         number of bytes to read
+        lda   X1DD9          path num
+        os9   I$Read         fetch the data
+        
+        pshs  a,x,u          duh
+        ldx   #0             MS Word of file pos
+        ldu   #$2A9C         LS Word of file pos
+        lda   X1DD9          get that path num 
+        os9   I$Seek         reset the file pointer
+        
+        puls  a,x,u          pull em and over write them duh
+        ldx   #$6DE3         destination addr
+        ldy   #$0230         number of byets to read
+        lda   X1DD9          same path num again
+        os9   I$Read         fetch the data
+        
+        bra   Shpmap3
+        
+Shpmap2 pshs  a,x,u
+        ldx   #0             MW Word of file pos
+        ldu   #$0050         LS Word of file pos
+        lda   X1DD9          path num
+        os9   I$Seek         reset the file pointer
+        
+        puls  a,x,u          waste of time
+        ldx   #$5061         destination addr
+        ldy   #$0030         number of byets to read
+        lda   X1DD9          path num
+        os9   I$Read
+        
+        pshs  a,x,u          waste of time
+        ldx   #0             MW Word of file pos
+        ldu   #$1DD2         LS Word of file pos
+        lda   X1DD9          path num
+        os9   I$Seek         reset the file pointer
+        
+        puls  a,x,u          waste of time
+        ldx   #$61C6         destination addr
+        ldy   #$0CCA         number of byets to read
+        lda   X1DD9          path num
+        os9   I$Read
+        
+        pshs  a,x,u          waste of time
+        ldx   #0             MW Word of file pos
+        ldu   #$2CCC         LS Word of file pos
+        lda   X1DD9          path num
+        os9   I$Seek         reset the file pointer
+        
+        puls  a,x,u          waste of time
+        ldx   #$6E90         destination addr
+        ldy   #$02CA         number of byets to read
+        lda   X1DD9          path num
+        os9   I$Read
+
+Shpmap3 lda   X1DD9          its the same stinking path num all along ...
+        os9   I$Close
+        
+        puls  a,b,x,y,u,pc
+
+
+GetFile pshs  a
+        ldd   #0000
+        jsr   X77E5
+        
+        jsr   X7747
+        
+        ldd   #$0039
+        std   X1DA7
+        
+        ldd   #$0050
+        std   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "Enter Filename: "
+        fcb   C$NULL
+        fcb   $CC
+        fcb   C$NULL
+        fcb   $45
+        
+        std   X1DA7
+        
+        ldd   #$0056
+        std   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "->"
+        fcb   C$NULL
+        
+        clr   X4265
+        lbsr  GetKBinp
+        puls  a,pc
+
+
+GetKBinp
+L0807   pshs  a,x,y,u
+        ldx   #$4265         base addr to store data
+        jsr   X74CC
+
+        leax  -$01,x
+ReadKey lbsr  L087F
+
+        clra                 set path stdin   
+        pshs  x              address to store data ($4264) 
+        ldy   #$01           get one byte
+        os9   I$Read         fetch the byte
+        puls  x              no need for this
+        ldb   ,x             load b with the keyboard value
+           
+        cmpb  #C$BSP         is it a back space ? (ctrl-h)
+        lbeq  IsBSP
+        
+        cmpb  #C$EOF         is it an ESC (ctrl-break)
+        lbeq  IsEOF
+        
+        cmpb  #C$QUIT        is it ENQ (ctrl-e)
+        lbeq  IsEOF
+        
+        tst   X029C
+        lbne  IsEOF
+        
+        cmpb  #C$CR          carriage return
+        lbeq  EndKey
+        
+        jsr   X7477          some sort of copy routine ??
+        cmpx  #$4275         so we read 16 bytes ?
+        blo   NextKey        bump x and read again
+        
+        ldy   X1DA5
+        leay  -$08,y
+        sty   X1DA5        
+        lbra  ReadKey
+        
+NextKey leax  $01,x          bump x by one
+        lbra  ReadKey        read the next key press
+        
+IsBSP   cmpx  #$4265  
+        lbeq  ReadKey
+        leax  -$01,x
+        
+        ldb   #C$SPAC
+        jsr   X7477          some sort of copy routine ??
+        ldy   X1DA5
+        leay  -16,y
+        sty   X1DA5
+        lbra  ReadKey
+
+EndKey  clr   X029C
+        puls  a,x,y,u,pc
+
+
+IsEOF   ldb   #C$EOF
+        bra   EndKey
+
+L087F   pshs  a,b
+        ldb   #'_            $5F
+        jsr   X7477          some sort of copy routine ??
+
+        ldd   X1DA5
+        subd  #$08
+        std   X1DA5
+
+        puls  a,b,pc
+
+
+*   Not explicitly called not labeled by disasm
+N0891   pshs  a,b,x,y,u
+        lbsr  GetFile
+        cmpb  #C$EOF
+        lbeq  L08C8
+
+* Delete File - Deletes a specified disk file
+*            
+* entry:
+*       x -> address of the path list 
+*
+* exit:
+*       x -> address of the last btye of the path list + 1 
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+        
+        ldx   #$4265         pointer to file name string
+        os9   I$Delete       delete file if exsits
+
+
+* Create File - Creates and opens a disk file
+*            
+* entry:
+*       a -> access mode (write (2) or update (3))
+*       b -> file attributes
+*            Bit   Definition
+*             0    Read
+*             1    Write
+*             2    Execute
+*             3    Public Read
+*             4    Public Write
+*             5    Public Execute
+*             6    Shareable file
+*       x -> address of the path list 
+*
+* exit:
+*       a -> path number
+*       x -> address of the last btye of the path list + 1 
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+        
+        ldx   #$4265         pointer to file name string           
+        ldd   #(WRITE.*$100)+READ.+WRITE.+PREAD.+PWRIT.+SHARE. $025B
+        os9   I$Create       create the file
+        bcs   CallErr        if error occured call error handler
+        sta   X1DD9          store the path number
+
+
+* Write - Writes to a file or device
+*            
+* entry:
+*       a -> path number
+*       x -> starting address of the data to write 
+*       y -> number of bytes to write
+* exit:
+*       y -> number of bytes written 
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+        
+*                            path still set from create call        
+        ldx   #$0109         starting address of data 
+        ldy   #$7E04         number of bytes to write
+        os9   I$Write        move the data
+        bcs   CallErr        if error occured call error handler
+        lbra  NoError
+        
+CallErr lbsr  ErrMsg
+NoError lda   X1DD9          load the path number
+        os9   I$Close        close the file
+
+L08C8   inc   X0297      
+        puls  a,b,x,y,u,pc
+
+
+*   Not explicitly called not labeled by disasm
+N08CD   pshs  a,b,x,y,u
+        lbsr  GetFile
+        cmpb  #C$EOF
+        lbeq  L0922
+        
+        ldu   X1D8B          we overwrite this below
+        pshs  u              so we save it now
+        
+        ldx   #$4265         address of path list
+        lda   #READ.         access mode
+        os9   I$Open         open the filr
+        bcs   CallEr2        if error occured call error handler
+        sta   X1DD9          stow the path number
+        
+        
+* Get status  - Returns the status of a file or device
+*               Wildcard call exit status differs based on cal code
+* entry:
+*       a -> path number 
+*       b -> function code 2 (SS.Size)
+*
+* exit:
+*       x -> MS 16 bits of the current file size 
+*       u -> LS 16 bits of the current file size 
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+*
+        
+        ldb   #SS.Size       get the curent file size
+        os9   I$GetStt       make the call
+        tfr   u,x            move u to x but why ??
+        cmpu  #$7E04         check the file size
+        beq   Readfile       if it's the right size go read it
+        ldb   #E$Btyp        otherwise wrong type error
+        lbra  CallEr2
+
+ReadFile        
+L08FC   lda   X1DD9          load the path num
+        ldx   #$0109         addr to stow data
+        ldy   #$7E04         bytes to read
+        os9   I$Read         make the call
+        bcs   CallEr2
+        lbra  NoErr
+CallEr2 lbsr  ErrMsg
+
+NoErr   puls  u              get our old value
+        stu   X1D8B          and return it
+        
+        ldx   #$1E25
+        stx   X1D89
+        
+        lda   X1DD9      l   Looks like this gets overwriten too?
+*                            $0109 + $7E04 = $7F0D  
+        os9   I$Close        close the file
+L0922   inc   X0297
+        puls  a,b,x,y,u,pc
+
+* b contains error code from calling routine
+ErrMsg  pshs  a,b,x,y,u
+        ldx   #$0050
+        stx   X1DA5
+        
+        ldx   #$0039
+        leax  16,x
+        stx   X1DA7
+        
+        jsr   X72F3          this writes the strings?
+        fcc   "ERROR #"
+        fcb   C$NULL
+        
+        pshs  b
+        clra  
+        jsr   X7304
+        
+        jsr   X72F3          this writes the strings?
+        fcc   " : "
+        fcb   C$NULL
+        
+        puls  b
+        cmpb  #E$Btyp        bad type ??
+        bne   ChkBPth
+        
+        jsr   X72F3          this writes the strings?
+        fcc   "WRONG FILE TYPE"
+        fcb   C$NULL
+        fcb   C$CLSALL       flag to skip # of bytes after next null
+        fcb   C$NULL
+        fcb   $54  
+           
+ChkBPth cmpb  #E$BPNam       bad path name
+        bne   ChkPNF
+        jsr   X72F3          this writes the strings?
+        fcc   "BAD PATHNAME"
+        fcb   C$NULL
+        fcb   C$CLSALL       flag to skip # of bytes after next null
+        fcb   C$NULL
+        fcb   $3D
+
+ChkPNF  cmpb  #E$PNNF        path not found
+        bne   ChkDrv
+        jsr   X72F3          this writes the strings?
+        fcc  "FILE NOT FOUND"
+        fcb   C$NULL
+        fcb   C$CLSALL       flag to skip # of bytes after next null
+        fcb   C$NULL
+        fcb   $24
+        
+ChkDrv  cmpb  #E$Unit        Illegal drive num
+        blt   SomERR         none of the above and less than E$Unit
+*                            E$Unit and greater yields disk error of some kind        
+        jsr   X72F3          this writes the strings?
+        fcc  "DISK ERROR"
+        fcb   C$NULL
+        fcb   $20
+        fcb   $10            this will skip over SomERR msg string
+        
+SomERR  jsr   X72F3          this writes the strings?
+        fcc  "SYSTEM ERROR"
+        fcb   C$NULL
+        
+        ldx   X1DA7
+        leax  16,x
+        stx   X1DA7
+        
+        ldx   #$0060
+        stx   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "Press any key to continue"
+        fcb   C$NULL
+
+*       after a string write byte after second null sends to here
+        clra                 set stdin  
+        ldx   #$1DDA         addr to save byte
+        ldy   #$01           only need one          
+        os9   I$Read         get the input
+        puls  a,b,x,y,u,pc   we're done here return to caller
+
+
+Zero_txt_area
+L09F9   pshs  a,b,x,y,u
+        ldx   #$1E25         clears $2440 bytes
+        ldd   #$0000
+ClrLoop std   ,x++
+        cmpx  #$4265
+        blt   ClrLoop
+        
+        ldd   #$0008
+        std   X1DA5
+        
+        ldd   #$0002
+        std   X1DA7
+        
+        puls  a,b,x,y,u,pc
+
+Read_mission
+L0A16   pshs  a,b,x,y,u
+        lbsr  Zero_txt_area  clear mission text area
+        leax  >Mis_txt,pcr   get the name of the file to open
+        lda   #READ.         in read only mode
+        os9   I$Open         open the file
+        sta   X1DD9          path number
+        
+        ldu   #$4CB5         base addr
+        ldb   X0298          get value stored
+        lslb                 multiply by 2
+        tst   X4C76          check that game type byte 
+        bne   L0A35          not target practice use this byte as offset
+        ldb   #$06           is target practice use a +6 offset       
+L0A35   ldu   b,u            LS Word of file seek
+        ldx   #$0000         MS Word of file seek
+        lda   X1DD9          get the path number which should still be in a
+        os9   I$Seek         repostion file pointer
+        
+        ldx   X1D8B
+        pshs  x
+        ldx   #$1E25
+        stx   X1D8B
+
+L0A4B   ldx   #$4265         addr to stow the data
+        ldy   #$01           number of bytes to read
+        lda   X1DD9          load the path number
+        os9   I$Read         read one byte
+        ldb   X4265          put that byte in b
+        cmpb  #'@            is it an @  $40            
+        lbeq  L0A8D
+        
+        cmpb  #'%            is it a %   $25
+        lbeq  L0A8D
+        
+        cmpb  #C$CR          is it a carriage return ?
+        beq   L0A74
+        
+        cmpb  #C$LF          is it a line feed
+        beq   L0A7D
+        
+        jsr   X7477          nope then some sort of copy routine ??
+        bra   L0A4B          loop again
+        
+L0A74   ldd   #$0008
+        std   X1DA5
+        lbra  L0A4B
+        
+L0A7D   ldx   X1DA7
+        leax  $08,x
+        cmpx  #$006B
+        bge   L0A74
+        
+        stx   X1DA7
+        lbra  L0A4B
+        
+L0A8D   lda   X1DD9          get the path num and
+        os9   I$Close        close the file
+        
+        puls  x
+        stx   X1D8B
+        
+        bsr   SetandSwap
+        
+        lbsr  MVMissn
+        
+        puls  a,b,x,y,u,pc
+
+
+SetandSwap
+L0A9F   pshs  a,b,x,y,u
+        lda   #$FF
+        sta   X0297
+        
+        lda   #$03
+        sta   X1D88
+        
+        ldd   X1D8B
+        pshs  d
+        
+        ldd   #$1E25
+        std   X1D8B
+        
+        ldd   X1DAD
+        pshs  d
+        
+        ldd   #$013F
+        std   X1DAD
+        
+        ldd   #$0000
+        std   X1D8F
+        std   X1D91
+        std   X1D95
+        
+        ldd   #$013F
+        std   X1D93
+        jsr   X7BF4
+        std   X1D93
+        
+        ldd   #$0000
+        std   X1D8F
+        
+        ldd   #$0073
+        std   X1D91
+        std   X1D95
+        jsr   X7BF4
+        
+        ldd   #$0000
+        std   X1D8F
+        std   X1D91
+        std   X1D93
+        
+        ldd   #$0073
+        std   X1D95
+        jsr   X7BF4
+        std   X1D95
+        
+        ldd   #$013F
+        std   X1D8F
+        std   X1D93
+        
+        ldd   #$0000
+        std   X1D91
+        jsr   X7BF4
+        
+        puls  d,x
+        std   X1DAD
+        stx   X1D8B
+
+        ldx   #$1E25         address 1
+        ldu   X1D8B          address 2
+        ldy   #$2440         number of bytes to swap
+L0B27   ldb   ,x             get a byte from each
+        lda   ,u
+        stb   ,u+            swap them and bump pointers
+        sta   ,x+
+        leay  -$01,y         decrement the counter
+        bne   L0B27          loop till we are finished
+        
+        puls  a,b,x,y,u,pc
+
+
+MVMissn pshs  a,b,x,y,u
+        clra                 stdin path
+        ldx   #$4265         address to save data
+        ldy   #$01           bytes to read
+        os9   I$Read         read byte
+        
+        ldu   X1D8B          get save address
+        ldx   #$1E25         get from address      
+MVLoop  ldd   ,x++           load a word from x and bump by a word
+        std   ,u++           stow that word at u and bump by a word
+        cmpx  #$4265         have we gotten to the end ??
+        blt   MVLoop         nope loop again
+        
+        puls  a,b,x,y,u,pc
+
+
+*   Not explicitly called not labeled by disasm
+*   similar to Read_mission at L0A16
+N0B53   pshs  a,b,x,y,u
+        lda   #$FF
+        sta   X0297
+        
+        clr   X4D3E
+       
+        ldx   #$1E25         clear the bytes between $1E25 - $4265 
+        ldd   #$0000
+L0B63   std   ,x++
+        cmpx  #$4265
+        blt   L0B63
+        
+        lbsr  SetandSwap     so now we swap the cleared bytes
+        
+        ldd   #$0008
+        std   X1DA5
+        
+        ldd   #$0002
+        std   X1DA7
+        
+        leax  >Mis_txt,pcr
+        lda   #READ.
+        os9   I$Open
+        sta   X1DD9          save path num
+        
+        ldu   #$4CB5         base address
+        ldb   X0298          get stored value
+        lslb                 multiply by two
+        tst   X4C76          check that game type byte
+        bne   L0B93          not target practice use this value
+        ldb   #$06           otherwise is target practice use a +6 offset
+L0B93   ldu   b,u            LS word of file position to seek
+        ldx   #$0000         MS word of file positioin to seek
+        lda   X1DD9          get the path num that is still in a
+        os9   I$Seek         reset the file pointer
+        
+L0B9E   ldx   #$4265         addr to stow data
+        ldy   #$01           get one byte
+        lda   X1DD9          get that path numm that's already there
+        os9   I$Read         read a byte
+        
+        ldb   X4265          load it in b
+        cmpb  #'@            is it an @ $40
+        lbeq  ClsMisTx
+        
+        cmpb  #'%            is it a %  $25
+        lbeq  ClsMisTx
+        
+        cmpb  #C$CR
+        beq   L0BD5
+        
+        cmpb  #C$LF
+        beq   L0BDE
+        
+        tst   X4D3E
+        bne   L0BD0
+        
+        lbsr  InpReady
+        sta   X4D3E
+        
+        lbsr  MCode
+
+L0BD0   jsr   X7477          some sort of copy routine ??
+        bra   L0B9E          loop again
+        
+L0BD5   ldd   #$0008
+        std   X1DA5
+        lbra  L0B9E          loop again
+        
+L0BDE   ldx   X1DA7
+        leax  $08,x
+        cmpx  #$006B
+        bge   L0BD5
+        stx   X1DA7
+        lbra  L0B9E          loop again
+
+ClsMisTx
+L0BEE   lda   X1DD9
+        os9   I$Close
+        lbsr  MVMissn
+        puls  a,b,x,y,u,pc
+
+InpReady
+L0BF9   pshs  b,x,y
+        clra                 set path stdin
+        ldb   #SS.Ready      test if data available
+        os9   I$GetStt       make the call
+        bcc   ReadKey2       if ready go read it
+        clra                 not read clear a again
+        puls  b,x,y,pc       pull b back over any error code
+
+ReadKey2
+L0C06   clra                 set path stdin
+        ldx   #$1DDA         set address to hold data
+        ldy   #$01           read one byte       
+        os9   I$Read         make the call
+        lda   X1DDA          load the data in a
+        cmpa  #C$INTR        is it a key board interrupt (ctrl-C)
+        beq   EndKey2
+        cmpa  #C$QUIT        is it a keyboard abort (ctrl-E)
+        beq   EndKey2
+        tst   X029C
+        bne   EndKey2
+        puls  b,x,y,pc
+
+
+EndKey2
+L0C23   clr   X029C
+        lda   #C$EOF
+        puls  b,x,y,pc
+
+
+Set_75
+L0C2A   pshs  a,b,x,y,u
+        ldy   #$0075         number of bytes to set
+        ldx   #$42B5         base address
+        lda   #$FF           value to set them to
+Loop75  fdb   Zsta_x         sta ,x
+        leax  $15,x          bump x by $15
+        leay  -$01,y         decrement the counter
+        lbne  Loop75         are we done ? nope loop again
+        puls  a,b,x,y,u,pc
+
+
+GetControl1
+L0C42   pshs  a,b,x,y,u
+
+        lda   #READ.
+        leax  >Control1,pcr
+        os9   I$Open
+       
+        ldx   #CntrlDat      address to store
+        ldy   #CntrlSz       bytes to read
+        os9   I$Read
+       
+        os9   I$Close        close the file
+       
+        ldx   #CntrlDat
+        ldy   #CntrlSz
+        ldu   X1D8B
+        lbsr  Decode_copy
+       
+        ldd   #$0109
+        jsr   X735B
+       
+        ldd   #$0236
+        jsr   X735B
+       
+        lda   #$03
+        sta   X1D88
+       
+        ldx   X1D8B
+        stx   X1D89
+       
+        clra                 make a zero
+GCloop  pshs  a              push it on the stack for a counter
+        ldx   #$0020         huh ?
+        leax  -$0C,x
+        stx   X1DA5          stow that
+       
+        leax  >ByteTbl1,pcr
+        ldb   a,x              
+        clra                 make a zero again  (still)
+        addd  #$04           add four to value loaded from ByteTbl1
+        std   X1DA7
+       
+        jsr   X72F3          this writes the strings?
+        fcc  "000"
+        fcb   C$NULL
+       
+        puls  a              pull our counter
+        inca                 bump it
+        cmpa  #Tbl1sz        made 4 loops ??
+        bne   GCloop         nope go again
+       
+        clra                 clear a
+        leax  >ByteTbl1,pcr
+        ldy   #$02A7
+
+GClop2  pshs  a
+        ldb   #C$SPAC
+        stb   $08,y          save it once
+        stb   ,y+            save it twice
+        ldb   ,x+            get the ByteTbl1 byte and bump pointer
+        subb  #$14           subtract $14
+        stb   $08,y
+        stb   ,y+
+        puls  a
+        inca  
+        cmpa  #Tbl1sz
+        bne   GClop2
+        
+        ldd   #$0000
+        std   X4CFD
+        std   X4CF9
+        std   X4CFB
+        std   X4CF7
+        std   X4CF5
+        std   X4CF1
+        std   X4CF3
+        std   X4CEF
+       
+        lbsr  SetandJsr1
+        lbsr  SetandJsr2
+        lbsr  SetandJsr3
+        lbsr  SetandJsr4
+
+        jsr   X7843
+
+        jsr   X7866
+       
+        lda   #$FF
+        sta   X4D28
+        
+        lda   #READ.
+        leax  >Diesel,pcr
+        os9   I$Open
+        
+        sta   X1DD9          stow the path number
+        ldx   #$0000         MS 16 bits of file pos
+        ldu   #$0072         LS 16 bits of file pos
+        os9   I$Seek         move file pointer
+        
+        ldd   X1D8B          start with some value
+        addd  #$2D63         add a big offset to it
+        tfr   d,x            move it to x in  prep for the read
+        
+        ldb   #$08           Loop counter
+DRloop  pshs  b,x            push em
+
+        lda   X1DD9          get the path num
+        ldy   #$000C         read 12 bytes
+        os9   I$Read         copy the bytes
+        
+        puls  b,x            get the counter and orig destination addr
+        leax  $50,x          bump it by 80
+        decb                 dec the counter
+        bne   DRloop         go again if not zero
+
+        lda   X1DD9          get the path num
+        os9   I$Close        close the file
+
+        puls  a,b,x,y,u,pc
+
+
+Diesel
+L0D31   fcc  "sub/diesel.dat"
+        fcb   C$NULL
+
+SetandJsr1
+L0D40   pshs  a,b,x,y,u
+        ldd   #$0092
+        std   X1DA7
+        
+        ldd   #$00C8
+        std   X1DA5
+        
+        ldb   X4D11
+        jsr   X782E
+        
+        puls  a,b,x,y,u,pc
+        
+SetandJsr2        
+L0D56   pshs  a,b,x,y,u
+        ldd   #$00A2
+        std   X1DA7
+        
+        ldd   #$00C8
+        std   X1DA5
+        
+        ldb   X4D12
+        jsr   X782E
+        puls  a,b,x,y,u,pc
+        
+        
+* Decodes ??? and copies data
+*  x -> from address
+*  u -> to address      
+Decode_copy
+L0D6C   pshs  a,b,x,y,u
+
+Decotr  lda   ,x+
+        bpl   Declp2
+        anda  #$7F
+        leay  -1,y
+        ldb   ,x+
+        
+Declp1  stb   ,u+
+        deca  
+        bne   Declp1
+        
+        bra   Dectr1
+
+Declp2  ldb   ,x+
+        stb   ,u+
+        leay  -1,y
+        deca  
+        bne   Declp2
+Dectr1  leay  -1,y
+        bne   Decotr
+        
+        puls  a,b,x,y,u,pc
+
+SetandJsr3
+L0D8E   pshs  a,b,x,y,u
+        ldd   #$00B2
+        std   X1DA7
+        
+        ldd   #$00C8
+        std   X1DA5
+        
+        ldb   X4D13
+        jsr   X782E
+        puls  a,b,x,y,u,pc
+
+
+SetandJsr4
+L0DA4   pshs  a,b,x,y,u
+        ldd   #$0092
+        std   X1DA7
+        
+        ldd   #$0112
+        std   X1DA5
+        
+        clra  
+        
+        ldb   X1E1D
+        leax  >ByteTblE,pcr
+        ldb   b,x
+        jsr   X782E
+        
+        ldx   #$0128
+        stx   X1DA5
+        
+        leax  >ByteTblD,pcr
+        ldb   X1E1D
+        ldb   b,x
+        jsr   X7477          some sort of copy routine ??
+        
+        puls  a,b,x,y,u,pc
+
+
+ByteTblD
+L0DD3   fcb  $53,$53,$53,$4D,$48         SSSMH 
+
+
+ByteTblE
+L0DD8   fcb  $01,$05,$1E,$0A,$04,$34,$36
+
+
+* NO label assigned by disassembler not called explicitly
+*  possibly through jump table calc?
+
+* Get Status - Returns the status of a file or device
+* entry:
+*       a -> path number
+*       b -> SS.Opt (function code 00) 
+*            Reads the option section of the path descriptor,
+*            copies it to the 32 byte area pointed to by x
+*       x -> address to receive data packet
+*
+* error:
+*       CC -> Carry set on error
+*       b  -> error code (if any)
+
+
+N0DDF   ldd   #(StdOut*$100)+SS.Opt
+        ldx   #$4265
+        pshs  x              unneeded
+        os9   I$GetStt
+        puls  x              unneeded
+        lda   $04,x          IT.EKO
+        sta   X1D49          save orig
+        clr   $04,x          set it to NO echo
+        lda   $07,x          IT.PAU
+        sta   X1D4A          save orig value
+        clr   $07,x          set it to NO pause
+        
+        ldd   #(StdOut*$100)+SS.Opt
+        
+        os9   I$SetStt       reset them            
+        puls  a,b,x,y,pc
+
+
+* NO label assigned by disassembler not called explicitly
+*  possibly through jump table calc?
+N0E02   tst   X4D2E
+        beq   SendSOS
+        jsr   X72C3
+        fcc  "The radio is out, Sir"
+        fcb   C$NULL
+        rts   
+
+SendSOS
+L0E21   jsr   X72C3
+        fcc  "Sending S.O.S., Sir"
+        fcb   C$NULL
+       
+        ldb   #'S
+        lbsr  MCode
+       
+        ldb   #'O
+        lbsr  MCode
+       
+        ldb   #'S
+        lbsr  MCode
+       
+        ldb   #$FF
+        stb   X4C83
+        rts   
+
+* NO label assigned by disassembler not called explicitly
+*  possibly through jump table calc?
+N0E4D   tst   X4D2E
+        beq   SendPOS
+        jsr   X72C3
+        fcc  "The radio is out, Sir"
+        fcb   C$NULL
+        rts   
+
+SendPOS
+L0E6C   jsr   X72C3
+        fcc  "Radioing position, Sir"
+        fcb   C$NULL
+       
+        ldb   X4C84
+        jsr   X7691
+        lbsr  MCode
+        
+        jsr   X7691
+        lbsr  MCode
+        
+        jsr   X7691
+        lbsr  MCode
+        
+        ldb   X4C87
+        jsr   X7691
+        lbsr  MCode
+        
+        jsr   X7691
+        lbsr  MCode
+        
+        jsr   X7691
+        lbsr  MCode
+        
+        
+        ldb   #'E            cute litte Easter Egg :-)
+        lbsr  MCode
+        
+        ldb   #'P
+        lbsr  MCode
+        
+        ldb   #'Y
+        lbsr  MCode
+        
+        ldb   #'X
+        lbsr  MCode
+
+        ldb   #$FF
+        stb   X4C83
+        rts   
+
+
+* Set Status - Sets the status of a file or device
+* entry:
+*       a -> path number
+*       b -> SS.Tone (function code 98) Sound through termional output device          
+*       x -> duration and amplitude of the tone
+*            LSB duration in ticks (60 sec) in the range of 0-255
+*            MSB amplitude of the tone in the range of 0-63
+*       y -> relative frequency counter (0 = low, 4095 = high)
+* exit:
+*       Same as entry
+* error:
+*       There are no error conditions set
+*  
+*  Therefore duration and amplitude passed in accd
+*                           freq is passed in y
+
+SoundGen
+L0ECA   pshs  a,b,x,y,u
+        tfr   d,x
+        ldd   #(StdOut*$100)+SS.Tone
+        os9   I$SetStt
+        puls  a,b,x,y,u,pc
+
+* Looks like a morse code generator based on character input        
+MCode        
+L0ED6   pshs  a,b,x,y,u
+        cmpb  #C$SPAC
+        bne   L0EED          not a space process more
+        lbsr  TimeDly1       otherwise appropriate dead time
+        lbsr  TimeDly1
+        lbsr  TimeDly1
+        lbsr  TimeDly1
+        lbsr  TimeDly1
+ExtMCode 
+        puls  a,b,x,y,u,pc
+
+
+
+L0EED   cmpb  #''            is it a tick $27
+        blt   ExtMcode
+        cmpb  #'a
+        blt   L0EF7          whats wrong with this logic?
+        subb  #$20           make upper case
+L0EF7   cmpb  #'z            this should have been Uppercase Z
+*                            can't be less than a but greater than z
+        bgt   ExtMCode
+        subb  #$27           now we subtract the position of the '
+*                            to be zero based in the table        
+        leax  >ByteTbl2,pcr
+        ldb   b,x
+        lda   #$08
+
+L0F05   deca  
+        lslb  
+        bcc   L0F05
+
+Sndloop lslb  
+        bcc   L0F20
+        pshs  a,b
+        ldd   #$3F04         setup sound amplitude/duration 
+        tfr   d,x            move it to x where it should have been
+        ldy   #$0FD7         load the freq value
+        lbsr  SoundGen       make the noise 
+        bsr   TimeDly1
+        puls  a,b
+        bra   Sndcntr
+        
+L0F20   pshs  a,b
+        ldd   #$3F0C        setup sound amplitude/duration
+        tfr   d,x           move that to x where it should have been in the first place
+        ldy   #$0FD7        load with freq value
+        lbsr  SoundGen      make the noise
+        bsr   TimeDly1
+        puls  a,b
+
+Sndcntr deca  
+        bne   Sndloop
+        
+        bsr   TimeDly1
+        bsr   TimeDly1
+        bsr   TimeDly1
+        puls  a,b,x,y,u,pc
+
+
+TimeDly1
+L0F3D   pshs  x
+        ldx   #$2710
+TD1loop leax  -1,x
+        bne   TD1Loop
+        puls  x
+        rts   
+
+* caller passes a pointer to string data in x
+MenuSelect
+L0F49   pshs  a,y,u
+        ldd   #$0000
+        std   X1DB9
+        
+        jsr   X77E5
+        
+        ldu   X1D8B
+        pshs  u
+        
+        ldu   #$1E25
+        stu   X1D8B
+        stu   X1D89
+        
+        ldy   #$0006
+        sty   X1DA7
+        
+        ldy   #$0030
+        sty   X1DA5
+        
+        ldb   ,x+
+        pshs  b
+        pshs  b
+        jsr   X74CC
+        
+        lbsr  L0FC3
+        lbsr  L0FC3
+        
+L0F81   jsr   X74CC
+        lbsr  L0FC3
+        dec   ,s
+        bne   L0F81
+        
+        puls  a,b,u
+        stu   X1D8B
+        
+        ldu   #$1E25
+        stu   X1D89
+        
+        jsr   X7747
+        
+        addb  #$30
+        pshs  b
+        
+L0F9D   lbsr  InpReady
+        tsta                 not ready a = 0
+        beq   L0F9D          loop till we get an input
+        
+        tfr   a,b            move the returned value to b
+        clra  
+        cmpb  #C$CR
+        beq   L0FBA
+        
+        cmpb  #C$EOF
+        beq   L0FBD
+        
+        cmpb  #'1            Looking for input 1 - 7 max depending on menu
+        blt   L0F9D          less than 1 loop again
+        
+        cmpb  ,s
+        bgt   L0F9D
+        
+        subb  #'1            subtract "one" ($31) from it so we are now zero based 
+        bra   L0FBF
+        
+L0FBA   clrb  
+        bra   L0FBF
+        
+L0FBD   ldb   #$FF
+L0FBF   leas  $01,s
+        puls  a,y,u,pc
+
+
+L0FC3   ldy   #$0030
+        sty   X1DA5
+        
+        ldy   X1DA7
+        leay  $0C,y
+        sty   X1DA7
+        rts   
+
+
+GameSetup
+N0FD6   pshs  a,b,x,y,u
+        lda   X4C75          current side
+        sta   X4D3C          new side value
+        
+        lda   X1E16          current year value
+        sta   X4D3D          new year value
+        
+        ldd   #$0000         make room for 4 items
+        pshs  d
+        pshs  d
+        
+        leax  >GameType,pcr
+        lbsr  MenuSelect
+        tstb  
+        lbmi  Ex_GS          minus value returned were outa here
+        cmpb  #$00           1 was selected (target practice)
+        lbeq  CaptName       go prompt for capt name
+        stb   ,s             push value on the stack
+        
+        leax  >GameLev,pcr
+        lbsr  MenuSelect
+        tstb  
+        lbmi  Ex_GS          minus value returned were outa here 
+        stb   $03,s          push that value on the stack
+        
+        leax  >SideChoose,pcr
+        lbsr  MenuSelect
+        tstb  
+        lbmi  Ex_GS          minus value returned were outa here
+        stb   $01,s          push that on the stack
+        
+        lda   ,s             get the game type from stack
+        cmpa  #$02           3 selected War time command ?
+        beq   WTCmnd
+        
+        cmpb  #$01           check side American ?
+        beq   USAin
+        leax  >YearChoose,pcr 
+        bra   YrSel
+USAin   leax  >YearChoose2,pcr
+YrSel   lbsr  MenuSelect
+        tstb  
+        lbmi  Ex_GS          minus value returned were outa here
+        stb   $02,s          push on stack
+        bra   CaptName
+
+WTCmnd
+L103B   clr   $02,s           clear the year value
+        pshs  a               push game type
+        cmpb  #$01            check side American ?
+        beq   Ameri
+        lda   #$FF            German
+        sta   X02A3           side vlaue
+        bra   L104F
+Ameri   lda   #$23            American
+        sta   X02A3           side value
+L104F   puls  a
+
+CaptName
+L1051   ldd   #$0000
+        jsr   X77E5
+        jsr   X7747
+        
+        ldd   #$0039
+        std   X1DA7
+        
+        ldd   #$0050
+        std   X1DA5
+        
+        jsr   X72F3           this writes the strings?
+        fcc  "Enter Captain's Name: "
+        fcb   C$NULL
+        fcb   $CC
+        fcb   C$NULL
+        fcb   $45
+        
+        std   X1DA7
+        
+        ldd   #$0056
+        std   X1DA5
+        
+        jsr   X72F3           this writes the strings?
+        fcc   "->"
+        fcb   C$NULL
+        
+*       copies in the current captains name          
+        ldx   #$4265          destination address
+        ldy   #$0335          source address
+        lda   #$19            bytes to read
+L109B   ldb   ,y+             get the byte
+        beq   L10A4           if we find a zero exit loop
+        stb   ,x+             not zero move the data
+        deca                  decrement the loop counter
+        bne   L109B           loop till done
+
+L10A4   clr   ,x              clear the byte at x
+        lbsr  GetKBinp        get keyboard input
+        cmpb  #C$EOF
+        lbeq  Ex_GS
+        
+        lda   X4265           base address of keyboard input  
+        cmpa  #C$CR           a carriage return ?
+        bne   HaveNam         anything else must be a name
+        leax  >Nameless,pcr   was a CR no name chosen
+        bra   CopyNam
+HaveNam ldx   #$4265          set base address for name string
+CopyNam lda   #$19            max bytes to copy   
+        ldy   #$0335          captains name storage
+Cpy2Nam ldb   ,x+             get byte
+        cmpb  #C$CR           is it a carriage return?
+        beq   NMDone          if so were done         
+        stb   ,y+             otherwise move the byte
+        deca                  dec the counter
+        bne   Cpy2Nam
+        
+        
+NMDone  clr   ,y
+        
+        puls  a,b
+        sta   X4C76          game type
+        stb   X4C75          side
+        puls  a              year
+        cmpb  #$00           test side German ?
+        beq   GRyear
+        
+USyear  adda  #42            US first year          
+        bra   SavYear
+        
+GRyear  adda  #39            German first year
+SavYear sta   X1E16          save the year value
+
+        puls  a        
+        sta   X4C77          game level
+        
+        lda   #$03
+        sta   X05CE
+        
+        ldd   #$0000
+        std   X04F0
+        std   X04F2
+        std   X04F4
+        std   X04F5
+        std   X029A
+        
+        clr   X04F7
+        clr   X04F8
+        clr   X04F9
+        clr   X04FA
+        clr   X04FB
+        clr   X04FC
+        clr   X04FD
+        clr   X04FE
+        clr   X04FF
+        
+        lbsr  GetMisDat
+        lbsr  GetSubStat
+        lbsr  GetShipmap
+        lbsr  GetMap 
+        lbsr  GetConvoy
+        lbsr  SetParams
+        lbsr  GetControl1
+        lbsr  SetMorePars
+        
+        lda   X4C76          test the game type value
+        cmpa  #$02           is it war time command ?
+        lbne  GetMission     no then get your mission
+        
+        ldd   #$0000
+        jsr   X77E5
+        
+        ldu   X1D8B
+        pshs  u
+        ldu   #$1E25
+        stu   X1D8B
+        
+        ldy   #$0029
+        sty   X1DA7
+        
+        ldy   #$0010
+        sty   X1DA5
+        
+        tst   X4C75          test side value 0 = German 1 = US
+        bne   ImUSA
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "It is the year 1939, and"
+        fcb   C$NULL
+
+        ldy   #$0032
+        sty   X1DA7
+
+        ldy   #$0010
+        sty   X1DA5
+
+        jsr   X72F3          this writes the strings?
+        fcc  "Germany has started"
+        fcb   C$NULL
+        fcb   C$CLSALL       flag to skip # of bytes after next null
+        fcb   C$NULL
+        fcb   $4D            bytes to skip (US opening message)
+
+ImUSA   jsr   X72F3          this writes the strings?
+        fcc  "It is the year 1942, and the"
+        fcb   C$NULL
+        
+        ldy   #$0032
+        sty   X1DA7
+        
+        ldy   #$0010
+        sty   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "United States has entered"
+        fcb   C$NULL
+*                            ends up here at the null after germay started string
+
+        ldy   #$003A
+        sty   X1DA7
+        
+        ldy   #$0010
+        sty   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "World War II."
+        fcb   C$NULL
+        
+        ldx   #$0063
+        stx   X1DA7
+        
+        ldx   #$0048
+        stx   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc  "Press any key"
+        fcb   C$NULL
+        
+        puls  u
+        stu   X1D8B
+        jsr   X7747
+
+
+        clra                 set path to StdIn 
+        ldx   #$1DDA         place to store input
+        ldy   #1             get one byte
+        os9   I$Read         go fetch it
+
+GetMission
+L124B   lbsr  Read_Mission
+        puls  a,b,x,y,u,pc
+
+Ex_GS
+L1250   leas  $04,s          clean up the stack
+        puls  a,b,x,y,u,pc
+        
+        
+*       not explicitly called and not labeled by disasm        
+N1254   pshs  a,b,x,y,u
+        ldd   #$0000
+        std   X029A
+        
+        clr   X04FA
+        clr   X04FB
+        clr   X04FC
+        clr   X04FD
+        clr   X04FE
+        clr   X04FF
+        
+        lda   #$03
+        sta   X05CE
+        
+        ldx   X1E17
+        ldb   X1E16          year value 
+        pshs  b,x
+        
+        lbsr  GetMisDat
+        lbsr  GetSubStat
+        lbsr  GetShipmap
+        lbsr  GetMap
+        lbsr  GetConvoy
+        lbsr  SetParams
+        lbsr  GetControl1
+        lbsr  SetMorePars
+        lbsr  Zero_txt_area
+  
+        ldx   #$0029
+        stx   X1DA7
+  
+        ldx   #$0038
+        stx   X1DA5
+  
+        ldy   X1D8B
+  
+        ldu   #$1E25
+        stu   X1D8B
+  
+        ldx   X1E17
+        ldb   X1E16          year value
+        cmpb  ,s+
+        beq   L12BA
+        leax  365,x
+L12BA   tfr   x,d
+        subd  ,s++
+        cmpd  #1
+        bge   L12C7
+        ldd   #1
+
+L12C7   jsr   X72F3          this writes the strings?
+        fcc   "After a leave of "
+        fcb   C$NULL
+
+        jsr   X7304          writes the days ??
+
+        jsr   X72F3          this writes the strings?
+        fcc   " days,"
+        fcb   C$NULL
+        
+        ldx   X1DA7
+        leax  9,x
+        stx   X1DA7
+        
+        ldd   #$0038
+        std   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc   "you get a new mission."
+        fcb   C$NULL
+        
+        ldx   #$0063
+        stx   X1DA7
+        
+        ldx   #$0068
+        stx   X1DA5
+        
+        jsr   X72F3          this writes the strings?
+        fcc   "Press any key"
+        fcb   C$NULL
+        
+        sty   X1D8B
+        
+        lbsr  SetandSwap
+        lbsr  MVMissn
+        lbsr  Read_Mission
+        puls  a,b,x,y,u,pc
+
+
+GameType
+L133D   fcb   $03            seems to flag number of choices
+        fcc   " SELECT GAME TYPE"
+        fcb   C$NULL
+        fcc   "1. Target practice"
+        fcb   C$NULL
+        fcc   "2. Single mission"
+        fcb   C$NULL
+        fcc   "3. Wartime command"
+        fcb   C$NULL
+
+GameLev
+L1388   fcb   $04            seems to flag number of choices
+        fcc   " SELECT GAME LEVEL"
+        fcb   C$NULL
+        fcc   "1. Novice"
+        fcb   C$NULL
+        fcc   "2. Intermediate"
+        fcb   C$NULL
+        fcc   "3. Advanced"
+        fcb   C$NULL
+        fcc   "4. Expert"
+        fcb   C$NULL
+
+
+SideChoose
+L13CC   fcb   $02            seems to flag number of choices
+        fcc   "  CHOOSE A SIDE"
+        fcb   C$NULL
+        fcc   "1. German"
+        fcb   C$NULL
+        fcc   "2. American"
+        fcb   C$NULL
+
+
+YearChoose
+L13F3   fcb   $07            seems to flag number of choices
+        fcc   "  CHOOSE A YEAR"
+        fcb   C$NULL
+        fcc   "1. 1939"
+        fcb   C$NULL
+        fcc   "2. 1940"
+        fcb   C$NULL
+        fcc   "3. 1941"
+        fcb   C$NULL
+        fcc   "4. 1942"
+        fcb   C$NULL
+        fcc   "5. 1943"
+        fcb   C$NULL
+        fcc   "6. 1944"
+        fcb   C$NULL
+        fcc   "7. 1945"
+        fcb   C$NULL
+
+
+YearChoose2
+L143C   fcb   $04            seems to flag number of choices
+        fcc   "  CHOOSE A YEAR"
+        fcb   C$NULL
+        fcc   "1. 1942"
+        fcb   C$NULL
+        fcc   "2. 1943"
+        fcb   C$NULL
+        fcc   "3. 1944"
+        fcb   C$NULL
+        fcc   "4. 1945"
+        fcb   C$NULL
+
+
+*       not explicitly called and not labeled by the disasm
+N146D   pshs  a,b,x,y,u
+        leax  >TorpTrans,pcr
+        lbsr  MenuSelect
+        stb   X0291
+        inc   X0297
+        puls  a,b,x,y,u,pc
+
+
+TorpTrans
+L147E   fcb   $02            seems to flag number of choices
+        fcc   "  TRANSFER A TORPEDO"
+        fcb   C$NULL
+        fcc   "1. Forward to Aft"
+        fcb   C$NULL
+        fcc   "2. Aft to Forward"
+        fcb   C$NULL
+
+
+ByteTblF
+L14B8   fcb   $04,$05,$06,$07,$00,$01
+        fcb   $02,$03
+
+
+Convoys
+L14C0   fcc  "sub/convoys.dat"
+        fcb   C$CR
+
+
+Mis_dat
+L14D0   fcc  "sub/missions.dat"
+        fcb   C$CR
+
+
+Mis_txt
+L14E1   fcc  "sub/mission.txt"
+        fcb   C$CR
+
+
+SubStat
+L14F1   fcc  "sub/substats.dat"
+        fcb   C$CR
+
+
+Font
+L1502   fcc  "sub/fonts.dat"
+        fcb   C$CR
+
+
+Shipmap
+L1510   fcc  "sub/shipmap2.dat"
+        fcb   C$CR
+
+
+Invert
+        fcc  "sub/invert.pic" had no disasm generated label
+        fcb   C$CR
+
+
+Control1
+L1530   fcc  "sub/control1.cmp"
+        fcb   C$CR
+
+
+Germap
+L1541   fcc  "sub/germap.cmp"
+        fcb   C$CR
+
+
+USAmap
+L1550   fcc  "sub/usamap.cmp"
+        fcb   C$CR
+
+
+ByteTbl1
+L155F   fcb   $18,$49,$78,$A8
+Tbl1sz  equ   *-ByteTbl1
+
+ByteTbl2
+L1563   fcb   $61,$52,$52,$73,$73,$4C
+        fcb   $5E,$6A,$2D,$20,$30,$38
+        fcb   $3C,$3E,$3F,$2F,$27,$23
+        fcb   $21,$47,$55,$73,$73,$73
+        fcb   $73,$73,$06,$17,$15,$0B
+        fcb   $03,$1D,$09,$1F,$07,$18
+        fcb   $0A,$1B,$04,$05,$08,$19
+        fcb   $12,$0D,$0F,$02,$0E,$1E
+        fcb   $0C,$16,$14,$13
+
+
+ByteTbl3
+L1597   fcb   $01,$72,$40,$00,$45,$FD
+        fcb   $E8,$00,$14,$00,$7E,$00
+        fcb   $00,$37,$40,$00,$FF,$14
+        fcb   $00,$75,$00,$00,$73,$00
+        fcb   $00,$FF,$1E,$00,$75,$00
+        fcb   $00,$73,$00,$00,$FF,$24
+        fcb   $00,$77,$17,$B4,$56,$2F
+        fcb   $68,$FF,$24,$00,$77,$F5
+        fcb   $CB,$56,$18,$92,$FF,$28
+        fcb   $00,$5F,$00,$00,$55,$00
+        fcb   $00,$FF,$18,$00,$60,$00
+        fcb   $00,$55,$00,$00,$FF,$1E
+
+
+ByteTbl4
+L15DF   fcb   $00,$00,$00,$1F,$00,$3B
+        fcb   $00,$5A,$00,$78,$00,$97
+        fcb   $00,$B5,$00,$D4,$00,$F3
+        fcb   $01,$11,$01,$30,$01,$4E
+        fcb   $01,$6D
+
+
+Nameless
+L15F9   fcc  "Nameless"
+        fcb   C$CR
+
+SinTbl
+L1602   fcc  "sub/sintbl.dat"
+        fcb   C$CR
+
+        emod 
+eom
+L1614   equ *
+
+        end