0000 byte_0:.BYTE 0                ; ...
0001 byte_1:.BYTE 1                ; ...
0002 word_2:.WORD 0                ; ...
0004 word_4:.WORD $F5              ; ...
0006 byte_6:.BYTE 0                ; ...
0007 unk_7:.BYTE   0
0008 byte_8:.BYTE $FF              ; ...
0009 byte_9:.BYTE 1                ; ...
000A word_A:.WORD $1009            ; ...
000C word_C:.WORD $1009            ; ...
000E byte_E:.BYTE 0                ; ...
000F byte_F:.BYTE 0                ; ...
0010 OS_POKMSK:.BYTE 0             ; ...
0011 byte_11:.BYTE $FF             ; ...
0012 byte_12:.BYTE 0               ; ...
0013 byte_13:.BYTE 2               ; ...
0014 OS_RTCLOK:.BYTE $88           ; ...
0015 byte_15:.BYTE 0               ; ...
0016 byte_16:.BYTE 0               ; ...
0017 byte_17:.BYTE $B              ; ...
0018 byte_18:.BYTE 0
0019 unk_19:.BYTE   0
001A unk_1A:.BYTE   0
001B unk_1B:.BYTE   0
001C   .BYTE   0
001D   .BYTE   0
001E unk_1E:.BYTE   0
001F unk_1F:.BYTE   0
0020 byte_20:.BYTE 6               ; ...
0021 byte_21:.BYTE 1               ; ...
0022 byte_22:.BYTE 3               ; ...
0023 byte_23:.BYTE 1               ; ...
0024 byte_24:.BYTE $48             ; ...
0025 byte_25:.BYTE $C4             ; ...
0026 byte_26:.BYTE $AF             ; ...
0027 byte_27:.BYTE $F2             ; ...
0028 byte_28:.BYTE 0               ; ...
0029 byte_29:.BYTE 0               ; ...
002A byte_2A:.BYTE $C              ; ...
002B byte_2B:.BYTE 0               ; ...
002C byte_2C:.BYTE $AF             ; ...
002D byte_2D:.BYTE $F2             ; ...
002E byte_2E:.BYTE 0               ; ...
002F byte_2F:.BYTE $C              ; ...
0030 byte_30:.BYTE 0               ; ...
0031 byte_31:.BYTE 0               ; ...
0032 byte_32:.BYTE 0               ; ...
0033 byte_33:.BYTE 0               ; ...
0034 byte_34:.BYTE 0               ; ...
0035 byte_35:.BYTE 0               ; ...
0036   .BYTE 0
0037 byte_37:.BYTE 0
0038 byte_38:.BYTE 0               ; ...
0039 byte_39:.BYTE 0               ; ...
003A byte_3A:.BYTE 0               ; ...
003B byte_3B:.BYTE 0               ; ...
003C byte_3C:.BYTE 0               ; ...
003D byte_3D:.BYTE 0               ; ...
003E byte_3E:.BYTE 0               ; ...
003F byte_3F:.BYTE 0               ; ...
0040 byte_40:.BYTE 0               ; ...
0041 byte_41:.BYTE 3               ; ...
0042 byte_42:.BYTE 0               ; ...
0043 byte_43:.BYTE 0               ; ...
0043                               ; 0 si store a des unités
0043                               ; 1 si store a aucune unité
0044 byte_44:.BYTE 0               ; ...
0045 byte_45:.BYTE 0               ; ...
0046 byte_46:.BYTE 0               ; ...
0047 byte_47:.BYTE 0               ; ...
0048 byte_48:.BYTE 0               ; ...
0049 byte_49:.BYTE 0               ; ...
0049                               ; // sens des tours
004A byte_4A:.BYTE 0               ; ...
004A                               ; // nb de exp traités
004A                               ; aussi i-eme terre a vendre par joueurs
004B byte_4B:.BYTE 0               ; ...
004B                               ; // byte_4B [#6] dans le calcul des scores (tri des joueurs)
004B                               ; // aussi player qui a le meilleur score parmis les non traités
004C byte_4C:.BYTE 1               ; ...
004D byte_4D:.BYTE 2               ; ...
004E byte_4E:.BYTE $FE             ; ...
004F byte_4F:.BYTE 0               ; ...
0050 byte_50:.BYTE $80             ; ...
0051 byte_51:.BYTE 2               ; ...
0052 byte_52:.BYTE 0               ; ...
0053 byte_53:.BYTE $14             ; ...
0054 byte_54:.BYTE 0               ; ...
0055 byte_55:.BYTE $1A             ; ...
0056 byte_56:.BYTE 0               ; ...
0057 byte_57:.BYTE 0               ; ...
0058 byte_58:.BYTE $40             ; ...
0059 byte_59:.BYTE $BC             ; ...
005A byte_5A:.BYTE 0               ; ...
005B byte_5B:.BYTE $18             ; ...
005C byte_5C:.BYTE 0               ; ...
005D byte_5D:.BYTE $B5             ; ...
005E byte_5E:.BYTE 1               ; ...
005F byte_5F:.BYTE $BC             ; ...
0060 byte_60:.BYTE $D0             ; ...
0061 byte_61:.BYTE $2C             ; ...
0062 byte_62:.BYTE $50             ; ...
0063 byte_63:.BYTE 2               ; ...
0064 byte_64:.BYTE $42             ; ...
0065 byte_65:.BYTE $BC             ; ...
0066 byte_66:.BYTE 1               ; ...
0067 byte_67:.BYTE 0               ; ...
0068 byte_68:.BYTE $3D             ; ...
0069 byte_69:.BYTE $BC             ; ...
006A byte_6A:.BYTE $C0             ; ...
006B   .BYTE   0
006C byte_6C:.BYTE 0               ; ...
006D byte_6D:.BYTE 2               ; ...
006E byte_6E:.BYTE 0               ; ...
006F byte_6F:.BYTE $7F             ; ...
0070 word_70:.WORD $C000           ; ...
0072 word_72:.WORD $BFFF           ; ...
0074   .BYTE   0
0075   .BYTE 0
0076   .BYTE   0
0077   .BYTE   0
0078 byte_78:.BYTE 0               ; ...
0079 byte_79:.BYTE $51             ; ...
007A byte_7A:.BYTE $FB             ; ...
007B byte_7B:.BYTE 0               ; ...
007C unk_7C:.BYTE   0
007D byte_7D:.BYTE 0               ; ...
007E byte_7E:.BYTE 0               ; ...
007F byte_7F:.BYTE 0               ; ...
0080 byte_80:.BYTE $EE             ; ...
0081 byte_81:.BYTE 0               ; ...
0082 byte_82:.BYTE 0               ; ...
0083 byte_83:.BYTE 4               ; ...
0084 byte_84:.BYTE 2               ; ...
0085 byte_85:.BYTE $A              ; ...
0086 byte_86:.BYTE $65             ; ...
0087 byte_87:.BYTE $FF             ; ...
0088 byte_88:.BYTE 2               ; ...
0089 byte_89:.BYTE 6               ; ...
008A byte_8A:.BYTE 3               ; ...
008B byte_8B:.BYTE $2D             ; ...
008B                               ; nb de terres sélectionnées
008C byte_8C:.BYTE 0               ; ...
008C                               ; nb de terres restantes à parcourir
008D byte_8D:.BYTE 0               ; ...
008E byte_8E:.BYTE $26             ; ...
008F byte_8F:.BYTE $2A             ; ...
0090 byte_90:.BYTE 0               ; ...
0091 byte_91:.BYTE 0               ; ...
0091                               ; byte_91: good auction (good à acheter/vendre)
0091                               ; 2 Smithore
0091                               ; 3 Crystite
0091                               ; 0 Food
0091                               ; 1 Energy
0091                               ;
0091                               ; ausi nb de terres restant a vendre dans land auction
0092 byte_92:.BYTE 0               ; ...
0093 byte_93:.BYTE 0               ; ...
0094 byte_94:.BYTE 0               ; ...
0094                               ; prodMax
0095 byte_95:.BYTE 0               ; ...
0096 byte_96:.BYTE 0               ; ...
0097 byte_97:.BYTE 196             ; ...
0098 byte_98:.BYTE 132             ; ...
0099 byte_99:.BYTE 52              ; ...
009A byte_9A:.BYTE 84              ; ...
009B byte_9B:.BYTE 4               ; ...
009C byte_9C:.BYTE 0               ; ...
009D byte_9D:.BYTE 0               ; ...
009E byte_9E:.BYTE $FF             ; ...
009F byte_9F:.BYTE $3D             ; ...
009F                               ; tableau de 4 octets contenant les plots à choisir
009F                               ; pour chaque joueurs
009F                               ;
009F                               ; aussi playerX
00A0 byte_A0:.BYTE $45             ; ...
00A1 byte_A1:.BYTE 0               ; ...
00A2 byte_A2:.BYTE 0               ; ...
00A3 byte_A3:.BYTE $71             ; ...
00A3                               ; playersOrder [PLAYERS]
00A3                               ; -1    NotSorted, pas encore trié
00A3                               ; 0...3 Sorted, premier, ..., 3 dernier
00A3                               ;
00A3                               ; aussi playerY
00A4 byte_A4:.BYTE $63             ; ...
00A4                               ; // $
00A5 byte_A5:.BYTE 0               ; ...
00A6 byte_A6:.BYTE 0               ; ...
00A7 byte_A7:.BYTE 0               ; ...
00A8 byte_A8:.BYTE 0               ; ...
00A9 byte_A9:.BYTE 2               ; ...
00AA byte_AA:.BYTE 0               ; ...
00AB byte_AB:.BYTE 9               ; ...
00AC currentPlayer:.BYTE 0         ; ...
00AC                               ; currentPlayer Byte ($00AC)
00AC                               ; The number of the player taking his turn.
00AD byte_AD:.BYTE 0               ; ...
00AE byte_AE:.BYTE 0               ; ...
00AF byte_AF:.BYTE 0               ; ...
00AF                               ; // good de la mule
00B0 level:.BYTE 2                 ; ...
00B0                               ; 0 Beginner
00B0                               ; 1 Standard
00B0                               ; 2 Tournament
00B1 numRound:.BYTE 0              ; ...
00B1                               ; // 1 -> 12
00B2 byte_B2:.BYTE 1, 1, 1, 1      ; ...
00B2                               ; // [PLAYERS] paddle
00B6 playersButtonPushed:.BYTE 0, 0, 0, 0 ; ...
00B6                               ; // 1: No, pas encore appuyé
00B6                               ; // 0: Yes, déjà appuyé
00BA byte_BA:.BYTE 1               ; ...
00BB nbPaddles:.BYTE 0             ; ...
00BC byte_BC:.BYTE 0               ; ...
00BC                               ; typeAuction
00BC                               ; 0 good auction
00BC                               ; 5 land auction
00BD byte_BD:.BYTE 0               ; ...
00BE   .BYTE   0
00BF   .BYTE   0
00C0   .BYTE  $F
00C1 byte_C1:.BYTE 5               ; ...
00C2 byte_C2:.BYTE 0               ; ...
00C2                               ; numero du message à afficher dans playerTurn
00C3 byte_C3:.BYTE 0               ; ...
00C4 byte_C4:.BYTE 0               ; ...
00C5 byte_C5:.BYTE 0               ; ...
00C6 byte_C6:.BYTE 0               ; ...
00C7 byte_C7:.BYTE 5               ; ...
00C8 byte_C8:.BYTE 0               ; ...
00C9 byte_C9:.BYTE 0               ; ...
00CA nbLandsToSellByPlayers:.BYTE 0 ; ...
00CB byte_CB:.BYTE 0               ; ...
00CB                               ; plot en cours pendant la sélection des terres
00CB                               ; plot choisi lors d'un essay
00CC playersGoodReq:.BYTE 0, 0, 0, 0 ; ...
00CC                               ; // good requis pour l'auction courant
00D0 byte_D0:.BYTE 0               ; ...
00D0                               ; // nb de rounds a faire
00D1 byte_D1:.BYTE 0               ; ...
00D1                               ; // nb de rounds a faire initial
00D2 maxIndexCpu:.BYTE 2           ; ...
00D2                               ; [0; 3]: index max des cpus
00D2                               ; -1: aucun cpus
00D3 byte_D3:.BYTE 0               ; ...
00D3                               ; // temps restant [0; 101]
00D3                               ; // avec 10 minimum au debut du tour
00D4 byte_D4:.BYTE $7A             ; ...
00D5 byte_D5:.BYTE $74             ; ...
00D6 byte_D6:.BYTE 0               ; ...
00D7 byte_D7:.BYTE 0               ; ...
00D8 byte_D8:.BYTE 0               ; ...
00D9 byte_D9:.BYTE $A              ; ...
00DA byte_DA:.BYTE 0               ; ...
00DB byte_DB:.BYTE 0               ; ...
00DC byte_DC:.BYTE 0               ; ...
00DD byte_DD:.BYTE 0               ; ...
00DE byte_DE:.BYTE 0               ; ...
00DF byte_DF:.BYTE 0               ; ...
00E0 byte_E0:.BYTE 0               ; ...
00E0                               ; 0 tout seul sans mule
00E0                               ; 1 tire une mule
00E1 byte_E1:.BYTE 0               ; ...
00E2 byte_E2:.BYTE 0               ; ...
00E3 byte_E3:.BYTE 0               ; ...
00E4   .BYTE   0
00E5   .BYTE   0
00E6 byte_E6:.BYTE 0               ; ...
00E7 byte_E7:.BYTE 0               ; ...
00E7                               ; // paddle qui sera actif pour bouger
00E8 byte_E8:.BYTE 0, 0, 0, 0      ; ...
00EC byte_EC:.BYTE 0               ; ...
00ED byte_ED:.BYTE 0               ; ...
00EE byte_EE:.BYTE 0               ; ...
00EF byte_EF:.BYTE 0               ; ...
00F0 byte_F0:.BYTE 0               ; ...
00F0                               ; vendeur de la land
00F0                               ; -1 NoBody
00F1 byte_F1:.BYTE 0               ; ...
00F2 byte_F2:.BYTE 0               ; ...
00F2                               ; 0: goto (Fin)
00F2                               ; 1: Ok
00F3 byte_F3:.BYTE 0               ; ...
00F4 byte_F4:.BYTE 0               ; ...
00F5 byte_F5:.BYTE 0               ; ...
00F6 byte_F6:.BYTE 0               ; ...
00F7 byte_F7:.BYTE 0               ; ...
00F8 byte_F8:.BYTE 0               ; ...
00F9 byte_F9:.BYTE 0               ; ...
00FA byte_FA:.BYTE 0               ; ...
00FB   .BYTE   0
00FC byte_FC:.BYTE 0               ; ...
00FD byte_FD:.BYTE 0               ; ...
00FE byte_FE:.BYTE 0               ; ...
00FF byte_FF:.BYTE 0               ; ...
0100 OS_STACK:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0100   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $F7
0100   .BYTE $5C, $B5, 0, 0, 0, $1A, $7C, $FF, $A, $21, $58, $76, $E0, $76, $67, $47
0200 OS_VDSLST:.WORD $2D43         ; ...
0202 word_202:.WORD $C0CD          ; ...
0204 word_204:.WORD $C0CD          ; ...
0206 word_206:.WORD $C0CD          ; ...
0208   .WORD $FC19
020A word_20A:.WORD $EB2C          ; ...
020C   .WORD $EAAD
020E   .WORD $EAEC
0210   .WORD $C0CD
0212   .WORD $C0CD
0214   .WORD $C0CD
0216 OS_VIMIRQ:.WORD $C030         ; ...
0218 OS_CDTMV1:.WORD 3             ; ...
021A   .WORD 0
021C   .WORD 0
021E   .WORD 0
0220   .WORD 0
0222 word_222:.WORD $5BB5          ; ...
0224 word_224:.WORD $C28A          ; ...
0226 word_226:.WORD 0              ; ...
0228 word_228:.WORD 0              ; ...
022A word_22A:.WORD 0              ; ...
022C   .BYTE 0
022D OS_INTEMP:.BYTE $C            ; ...
022E   .BYTE   0
022F OS_SDMCTL:.BYTE $3E           ; ...
0230 OS_SDLSTL:.WORD $1E75         ; ...
0232 byte_232:.BYTE 3              ; ...
0233 byte_233:.BYTE 0              ; ...
0234 byte_234:.BYTE 0              ; ...
0235 byte_235:.BYTE 0              ; ...
0236 byte_236:.BYTE $92            ; ...
0237 byte_237:.BYTE $C0            ; ...
0238 word_238:.WORD $C96E          ; ...
023A byte_23A:.BYTE 0              ; ...
023B byte_23B:.BYTE 0              ; ...
023C byte_23C:.BYTE 0              ; ...
023D byte_23D:.BYTE 0              ; ...
023E byte_23E:.BYTE 0              ; ...
023F byte_23F:.BYTE 0              ; ...
0240 unk_240:.BYTE   0             ; ...
0241 byte_241:.BYTE 0              ; ...
0242 byte_242:.BYTE 0              ; ...
0243 byte_243:.BYTE 0              ; ...
0244 byte_244:.BYTE 0              ; ...
0245 byte_245:.BYTE 0              ; ...
0246 byte_246:.BYTE $A0            ; ...
0247 byte_247:.BYTE 0              ; ...
0248 byte_248:.BYTE 0              ; ...
0249 byte_249:.BYTE 0              ; ...
024A   .BYTE 0
024B   .BYTE 0
024C byte_24C:.BYTE 0              ; ...
024D byte_24D:.BYTE 0              ; ...
024E   .BYTE   0
024F   .BYTE   0
0250   .BYTE   0
0251   .BYTE   0
0252   .BYTE   0
0253   .BYTE   0
0254   .BYTE   0
0255   .BYTE   0
0256   .BYTE   0
0257   .BYTE   0
0258   .BYTE   0
0259   .BYTE   0
025A   .BYTE   0
025B   .BYTE   0
025C   .BYTE   0
025D   .BYTE   0
025E   .BYTE   0
025F   .BYTE   0
0260   .BYTE   0
0261   .BYTE   0
0262   .BYTE   0
0263   .BYTE   0
0264   .BYTE   0
0265   .BYTE   0
0266   .BYTE   0
0267   .BYTE   0
0268   .BYTE   0
0269   .BYTE   0
026A   .BYTE   0
026B byte_26B:.BYTE $CC            ; ...
026C byte_26C:.BYTE 0              ; ...
026D byte_26D:.BYTE 0              ; ...
026E byte_26E:.BYTE 0              ; ...
026F OS_GPRIOR:.BYTE 1             ; ...
0270   .BYTE $E4 ; õ
0271   .BYTE $E4 ; õ
0272   .BYTE $E4 ; õ
0273   .BYTE $E4 ; õ
0274   .BYTE $E4 ; õ
0275   .BYTE $E4 ; õ
0276   .BYTE $E4 ; õ
0277   .BYTE $E4 ; õ
0278 byte_278:.BYTE $F             ; ...
0279 byte_279:.BYTE $F             ; ...
027A byte_27A:.BYTE $F             ; ...
027B byte_27B:.BYTE $F             ; ...
027C   .BYTE   1
027D unk_27D:.BYTE   1
027E   .BYTE   1
027F   .BYTE   1
0280   .BYTE   1
0281   .BYTE   1
0282   .BYTE   1
0283   .BYTE   1
0284 byte_284:.BYTE 1              ; ...
0285 byte_285:.BYTE 1              ; ...
0286 byte_286:.BYTE 1              ; ...
0287 byte_287:.BYTE 1              ; ...
0288 byte_288:.BYTE 0              ; ...
0289 byte_289:.BYTE 0              ; ...
028A byte_28A:.BYTE 0              ; ...
028B   .BYTE   0
028C word_28C:.WORD 0              ; ...
028E   .BYTE 0
028F   .BYTE 0
0290 byte_290:.BYTE 0              ; ...
0291 byte_291:.BYTE 2              ; ...
0292   .BYTE   0
0293 byte_293:.BYTE 0              ; ...
0294 byte_294:.BYTE $60            ; ...
0295 byte_295:.BYTE $BF            ; ...
0296   .BYTE   0
0297   .BYTE   0
0298   .BYTE   0
0299   .BYTE   0
029A   .BYTE   0
029B   .BYTE   0
029C byte_29C:.BYTE 0              ; ...
029D byte_29D:.BYTE 0              ; ...
029E byte_29E:.BYTE 1              ; ...
029F   .BYTE   0
02A0 byte_2A0:.BYTE $FF            ; ...
02A1   .BYTE   0
02A2   .BYTE   0
02A3   .BYTE   1
02A4   .BYTE   1
02A5   .BYTE   1
02A6   .BYTE   1
02A7   .BYTE   1
02A8   .BYTE   1
02A9   .BYTE   1
02AA   .BYTE   1
02AB   .BYTE   1
02AC   .BYTE   1
02AD   .BYTE   1
02AE   .BYTE   1
02AF   .BYTE   1
02B0   .BYTE   1
02B1   .BYTE   1
02B2 byte_2B2:.BYTE $FF            ; ...
02B3 byte_2B3:.BYTE $FF            ; ...
02B4 byte_2B4:.BYTE $FF            ; ...
02B5   .BYTE $FF
02B6   .BYTE   0
02B7   .BYTE   0
02B8   .BYTE   0
02B9   .BYTE   0
02BA   .BYTE   0
02BB byte_2BB:.BYTE 0              ; ...
02BC   .BYTE   0
02BD byte_2BD:.BYTE 0              ; ...
02BE byte_2BE:.BYTE $40            ; ...
02BF byte_2BF:.BYTE $18            ; ...
02C0 OS_PCOLR0:.BYTE $82           ; ...
02C1 OS_PCOLR1:.BYTE $82           ; ...
02C2 OS_PCOLR2:.BYTE 6             ; ...
02C3 OS_PCOLR3:.BYTE $16           ; ...
02C4 OS_COLOR0:.BYTE $28           ; ...
02C5 OS_COLOR1:.BYTE 4             ; ...
02C6 OS_COLOR2:.BYTE 8             ; ...
02C7 OS_COLOR3:.BYTE $46           ; ...
02C8 OS_COLOR4:.BYTE 8             ; ...
02C9 word_2C9:.WORD 0              ; ...
02CB   .BYTE   0
02CC   .BYTE   0
02CD   .BYTE   0
02CE   .BYTE   0
02CF word_2CF:.WORD 0              ; ...
02D1 byte_2D1:.BYTE 0              ; ...
02D2 byte_2D2:.BYTE 0              ; ...
02D3 byte_2D3:.BYTE 0              ; ...
02D4   .BYTE   0
02D5 byte_2D5:.BYTE $80            ; ...
02D6 byte_2D6:.BYTE 0              ; ...
02D7   .BYTE   0
02D8   .BYTE   0
02D9 byte_2D9:.BYTE $28            ; ...
02DA byte_2DA:.BYTE 5              ; ...
02DB   .BYTE   0
02DC byte_2DC:.BYTE 0              ; ...
02DD byte_2DD:.BYTE 0              ; ...
02DE   .BYTE   0
02DF byte_2DF:.BYTE 0              ; ...
02E0   .BYTE   0
02E1   .BYTE   0
02E2   .BYTE   0
02E3   .BYTE   0
02E4 byte_2E4:.BYTE $C0            ; ...
02E5 byte_2E5:.BYTE $1F            ; ...
02E6 byte_2E6:.BYTE $BC            ; ...
02E7 byte_2E7:.BYTE 0              ; ...
02E8 byte_2E8:.BYTE 7              ; ...
02E9 byte_2E9:.BYTE 0              ; ...
02EA byte_2EA:.BYTE 0              ; ...
02EB byte_2EB:.BYTE 0              ; ...
02EC byte_2EC:.BYTE 0              ; ...
02ED byte_2ED:.BYTE 0              ; ...
02EE byte_2EE:.BYTE $CC            ; ...
02EF byte_2EF:.BYTE 5              ; ...
02F0 byte_2F0:.BYTE 0              ; ...
02F1 byte_2F1:.BYTE 0              ; ...
02F2 byte_2F2:.BYTE $FF            ; ...
02F3 byte_2F3:.BYTE 2              ; ...
02F4 OS_CHBAS:.BYTE $18            ; ...
02F5   .BYTE   0
02F6   .BYTE   0
02F7   .BYTE   0
02F8   .BYTE   0
02F9   .BYTE   0
02FA byte_2FA:.BYTE $80            ; ...
02FB byte_2FB:.BYTE 0              ; ...
02FC byte_2FC:.BYTE $FF            ; ...
02FD   .BYTE   0
02FE   .BYTE   0
02FF byte_2FF:.BYTE 0              ; ...
0300 byte_300:.BYTE 0              ; ...
0301 byte_301:.BYTE 0              ; ...
0302 byte_302:.BYTE 0              ; ...
0303 byte_303:.BYTE 0              ; ...
0304 byte_304:.BYTE 0              ; ...
0305 byte_305:.BYTE 0              ; ...
0306 byte_306:.BYTE 0              ; ...
0307   .BYTE   0
0308 byte_308:.BYTE 0              ; ...
0309 byte_309:.BYTE 0              ; ...
030A byte_30A:.BYTE 0              ; ...
030B byte_30B:.BYTE 0              ; ...
030C byte_30C:.BYTE 0              ; ...
030D byte_30D:.BYTE 0              ; ...
030E   .BYTE   0
030F byte_30F:.BYTE 0              ; ...
0310 byte_310:.BYTE 0              ; ...
0311 byte_311:.BYTE 0              ; ...
0312 word_312:.WORD 0              ; ...
0314 byte_314:.BYTE $1E            ; ...
0315 byte_315:.BYTE 0              ; ...
0316 byte_316:.BYTE 0              ; ...
0317 byte_317:.BYTE 0              ; ...
0318 byte_318:.BYTE 0              ; ...
0319 byte_319:.BYTE 0              ; ...
031A   .BYTE $50 ; P
031B   .BYTE $30 ; 0
031C   .BYTE $E4 ; õ
031D   .BYTE $43 ; C
031E   .BYTE $40 ; @
031F   .BYTE $E4 ; õ
0320   .BYTE $45 ; E
0321   .BYTE   0
0322   .BYTE $E4 ; õ
0323   .BYTE $53 ; S
0324   .BYTE $10
0325   .BYTE $E4 ; õ
0326   .BYTE $4B ; K
0327   .BYTE $20
0328   .BYTE $E4 ; õ
0329   .BYTE   0
032A   .BYTE   0
032B   .BYTE   0
032C   .BYTE   0
032D   .BYTE   0
032E   .BYTE   0
032F   .BYTE   0
0330   .BYTE   0
0331   .BYTE   0
0332   .BYTE   0
0333   .BYTE   0
0334   .BYTE   0
0335   .BYTE   0
0336   .BYTE   0
0337   .BYTE   0
0338   .BYTE   0
0339   .BYTE   0
033A   .BYTE   0
033B   .BYTE   0
033C   .BYTE   0
033D byte_33D:.BYTE $5C            ; ...
033E byte_33E:.BYTE $93            ; ...
033F byte_33F:.BYTE $25            ; ...
0340   .BYTE   6
0341   .BYTE   1
0342   .BYTE   3
0343   .BYTE   1
0344   .BYTE $48 ; H
0345   .BYTE $C4 ; -
0346   .BYTE $AF ; »
0347   .BYTE $F2 ; =
0348   .BYTE   0
0349   .BYTE   0
034A   .BYTE  $C
034B   .BYTE   0
034C   .BYTE   0
034D   .BYTE   0
034E   .BYTE   0
034F   .BYTE   0
0350   .BYTE $FF
0351   .BYTE   0
0352   .BYTE   0
0353   .BYTE   0
0354   .BYTE   0
0355   .BYTE   0
0356   .BYTE $DB ; ¦
0357   .BYTE $E4 ; õ
0358   .BYTE   0
0359   .BYTE   0
035A   .BYTE   0
035B   .BYTE   0
035C   .BYTE   0
035D   .BYTE   0
035E   .BYTE   0
035F   .BYTE   0
0360   .BYTE $FF
0361   .BYTE   0
0362   .BYTE   0
0363   .BYTE   0
0364   .BYTE   0
0365   .BYTE   0
0366   .BYTE $DB ; ¦
0367   .BYTE $E4 ; õ
0368   .BYTE   0
0369   .BYTE   0
036A   .BYTE   0
036B   .BYTE   0
036C   .BYTE   0
036D   .BYTE   0
036E   .BYTE   0
036F   .BYTE   0
0370   .BYTE $FF
0371   .BYTE   0
0372   .BYTE   0
0373   .BYTE   0
0374   .BYTE   0
0375   .BYTE   0
0376   .BYTE $DB ; ¦
0377   .BYTE $E4 ; õ
0378   .BYTE   0
0379   .BYTE   0
037A   .BYTE   0
037B   .BYTE   0
037C   .BYTE   0
037D   .BYTE   0
037E   .BYTE   0
037F   .BYTE   0
0380   .BYTE $FF
0381   .BYTE   0
0382   .BYTE   0
0383   .BYTE   0
0384   .BYTE   0
0385   .BYTE   0
0386   .BYTE $DB ; ¦
0387   .BYTE $E4 ; õ
0388   .BYTE   0
0389   .BYTE   0
038A   .BYTE   0
038B   .BYTE   0
038C   .BYTE   0
038D   .BYTE   0
038E   .BYTE   0
038F   .BYTE   0
0390   .BYTE $FF
0391   .BYTE   0
0392   .BYTE   0
0393   .BYTE   0
0394   .BYTE   0
0395   .BYTE   0
0396   .BYTE $DB ; ¦
0397   .BYTE $E4 ; õ
0398   .BYTE   0
0399   .BYTE   0
039A   .BYTE   0
039B   .BYTE   0
039C   .BYTE   0
039D   .BYTE   0
039E   .BYTE   0
039F   .BYTE   0
03A0   .BYTE $FF
03A1   .BYTE   0
03A2   .BYTE   0
03A3   .BYTE   0
03A4   .BYTE   0
03A5   .BYTE   0
03A6   .BYTE $DB ; ¦
03A7   .BYTE $E4 ; õ
03A8   .BYTE   0
03A9   .BYTE   0
03AA   .BYTE   0
03AB   .BYTE   0
03AC   .BYTE   0
03AD   .BYTE   0
03AE   .BYTE   0
03AF   .BYTE   0
03B0   .BYTE $FF
03B1   .BYTE   0
03B2   .BYTE   0
03B3   .BYTE   0
03B4   .BYTE   0
03B5   .BYTE   0
03B6   .BYTE $DB ; ¦
03B7   .BYTE $E4 ; õ
03B8   .BYTE   0
03B9   .BYTE   0
03BA   .BYTE   0
03BB   .BYTE   0
03BC   .BYTE   0
03BD   .BYTE   0
03BE   .BYTE   0
03BF   .BYTE   0
03C0   .BYTE   0
03C1   .BYTE   0
03C2   .BYTE   0
03C3   .BYTE   0
03C4   .BYTE   0
03C5   .BYTE   0
03C6   .BYTE   0
03C7   .BYTE   0
03C8   .BYTE   0
03C9   .BYTE   0
03CA   .BYTE   0
03CB   .BYTE   0
03CC   .BYTE   0
03CD   .BYTE   0
03CE   .BYTE   0
03CF   .BYTE   0
03D0   .BYTE   0
03D1   .BYTE   0
03D2   .BYTE   0
03D3   .BYTE   0
03D4   .BYTE   0
03D5   .BYTE   0
03D6   .BYTE   0
03D7   .BYTE   0
03D8   .BYTE   0
03D9   .BYTE   0
03DA   .BYTE   0
03DB   .BYTE   0
03DC   .BYTE   0
03DD   .BYTE   0
03DE   .BYTE   0
03DF   .BYTE   0
03E0   .BYTE   0
03E1   .BYTE   0
03E2   .BYTE   0
03E3   .BYTE   0
03E4   .BYTE   0
03E5   .BYTE   0
03E6   .BYTE   0
03E7   .BYTE   0
03E8   .BYTE   0
03E9 byte_3E9:.BYTE 0              ; ...
03EA byte_3EA:.BYTE 0              ; ...
03EB byte_3EB:.BYTE 0              ; ...
03EC byte_3EC:.BYTE 0              ; ...
03ED   .BYTE   0
03EE   .BYTE   0
03EF   .BYTE   0
03F0   .BYTE   0
03F1   .BYTE   0
03F2   .BYTE   0
03F3   .BYTE   0
03F4   .BYTE   0
03F5   .BYTE   0
03F6   .BYTE   0
03F7   .BYTE   0
03F8 byte_3F8:.BYTE 1              ; ...
03F9   .BYTE   0
03FA byte_3FA:.BYTE 0              ; ...
03FB byte_3FB:.BYTE 0              ; ...
03FC byte_3FC:.BYTE 0              ; ...
03FD byte_3FD:.BYTE 0              ; ...
03FE byte_3FE:.BYTE 0              ; ...
03FF byte_3FF:.BYTE 0              ; ...
0400 BUFFER_CONVERT_NUMBER:.BYTE $43 ; C ; ...
0401   .BYTE $32 ; 2
0402   .BYTE $38 ; 8
0403   .BYTE $32 ; 2
0404 byte_404:.BYTE $34            ; ...
0405 byte_405:.BYTE $32            ; ...
0406   .BYTE $34 ; 4
0407   .BYTE $30 ; 0
0408   .BYTE $30 ; 0
0409   .BYTE $30 ; 0
040A   .BYTE $30 ; 0
040B   .BYTE $83 ; â
040C   .BYTE $52 ; R
040D   .BYTE $32 ; 2
040E   .BYTE   0
040F   .BYTE $1C
0410   .BYTE $E8 ; Þ
0411   .BYTE   0
0412   .BYTE   0
0413   .BYTE $55 ; U
0414   .BYTE $55 ; U
0415   .BYTE   0
0416   .BYTE   0
0417   .BYTE   0
0418   .BYTE   0
0419   .BYTE $55 ; U
041A   .BYTE $55 ; U
041B   .BYTE   0
041C   .BYTE   0
041D   .BYTE   5
041E   .BYTE $55 ; U
041F   .BYTE $50 ; P
0420   .BYTE   0
0421   .BYTE $55 ; U
0422   .BYTE $55 ; U
0423   .BYTE $50 ; P
0424   .BYTE   0
0425   .BYTE   0
0426   .BYTE   5
0427   .BYTE $55 ; U
0428   .BYTE $55 ; U
0429   .BYTE   0
042A   .BYTE   0
042B   .BYTE   0
042C   .BYTE   0
042D   .BYTE   0
042E   .BYTE   0
042F   .BYTE $55 ; U
0430   .BYTE $55 ; U
0431   .BYTE $70 ; p
0432   .BYTE $70 ; p
0433   .BYTE $70 ; p
0434   .BYTE $42 ; B
0435   .BYTE $40 ; @
0436   .BYTE $BC ; +
0437   .BYTE   2
0438   .BYTE   2
0439   .BYTE   2
043A   .BYTE   2
043B   .BYTE   2
043C   .BYTE   2
043D   .BYTE   2
043E   .BYTE   2
043F   .BYTE   2
0440   .BYTE   2
0441   .BYTE   2
0442   .BYTE   2
0443   .BYTE   2
0444   .BYTE   2
0445   .BYTE   2
0446   .BYTE   2
0447   .BYTE   2
0448   .BYTE   2
0449   .BYTE   2
044A   .BYTE   2
044B   .BYTE   2
044C   .BYTE   2
044D   .BYTE   2
044E   .BYTE $41 ; A
044F   .BYTE $20
0450   .BYTE $BC ; +
0451   .BYTE   0
0452   .BYTE   0
0453   .BYTE   0
0454   .BYTE   0
0455   .BYTE   0
0456   .BYTE   0
0457   .BYTE   0
0458   .BYTE   0
0459   .BYTE   0
045A   .BYTE   0
045B   .BYTE   0
045C   .BYTE   0
045D   .BYTE   0
045E   .BYTE   0
045F   .BYTE   0
0460   .BYTE   0
0461   .BYTE   0
0462   .BYTE   0
0463   .BYTE   0
0464   .BYTE   0
0465   .BYTE   0
0466   .BYTE   0
0467   .BYTE   0
0468   .BYTE   0
0469   .BYTE   0
046A   .BYTE   0
046B   .BYTE   0
046C   .BYTE   0
046D   .BYTE   0
046E   .BYTE   0
046F   .BYTE   0
0470   .BYTE   0
0471   .BYTE   0
0472   .BYTE   0
0473   .BYTE   0
0474   .BYTE   0
0475   .BYTE   0
0476   .BYTE   0
0477   .BYTE   0
0478   .BYTE   0
0479   .BYTE   0
047A   .BYTE   0
047B   .BYTE   0
047C   .BYTE   0
047D   .BYTE   0
047E   .BYTE   0
047F byte_47F:.BYTE 0              ; ...
0480   .BYTE   0
0481   .BYTE   0
0482   .BYTE   0
0483   .BYTE   0
0484   .BYTE   0
0485   .BYTE   0
0486   .BYTE   0
0487   .BYTE   0
0488   .BYTE   0
0489   .BYTE   0
048A   .BYTE   0
048B   .BYTE   0
048C   .BYTE   0
048D   .BYTE   0
048E   .BYTE   0
048F   .BYTE   0
0490   .BYTE   0
0491   .BYTE   0
0492   .BYTE   0
0493   .BYTE   0
0494   .BYTE   0
0495   .BYTE   0
0496   .BYTE   0
0497   .BYTE   0
0498   .BYTE   0
0499   .BYTE   0
049A   .BYTE   0
049B   .BYTE   0
049C   .BYTE   0
049D   .BYTE   0
049E   .BYTE   0
049F   .BYTE   0
04A0   .BYTE   0
04A1   .BYTE   0
04A2   .BYTE   0
04A3   .BYTE   0
04A4   .BYTE   0
04A5   .BYTE   0
04A6   .BYTE   0
04A7   .BYTE   0
04A8   .BYTE   0
04A9   .BYTE   0
04AA   .BYTE   0
04AB   .BYTE   0
04AC   .BYTE   0
04AD   .BYTE   0
04AE   .BYTE   0
04AF   .BYTE   0
04B0   .BYTE   0
04B1   .BYTE   0
04B2   .BYTE   0
04B3   .BYTE   0
04B4   .BYTE   0
04B5   .BYTE   0
04B6   .BYTE   0
04B7   .BYTE   0
04B8   .BYTE   0
04B9   .BYTE   0
04BA   .BYTE   0
04BB   .BYTE   0
04BC   .BYTE   0
04BD   .BYTE   0
04BE   .BYTE   0
04BF   .BYTE   0
04C0   .BYTE   0
04C1   .BYTE   0
04C2   .BYTE   0
04C3   .BYTE   0
04C4   .BYTE   0
04C5   .BYTE   0
04C6   .BYTE   0
04C7   .BYTE   0
04C8   .BYTE   0
04C9   .BYTE   0
04CA   .BYTE   0
04CB   .BYTE   0
04CC   .BYTE   0
04CD   .BYTE   0
04CE   .BYTE   0
04CF   .BYTE   0
04D0   .BYTE   0
04D1   .BYTE   0
04D2   .BYTE   0
04D3   .BYTE   0
04D4   .BYTE   0
04D5   .BYTE   0
04D6   .BYTE   0
04D7   .BYTE   0
04D8   .BYTE   0
04D9   .BYTE   0
04DA   .BYTE   0
04DB   .BYTE   0
04DC   .BYTE   0
04DD   .BYTE   0
04DE   .BYTE   0
04DF   .BYTE   0
04E0   .BYTE   0
04E1   .BYTE   0
04E2   .BYTE   0
04E3   .BYTE   0
04E4   .BYTE   0
04E5   .BYTE   0
04E6   .BYTE   0
04E7   .BYTE   0
04E8   .BYTE   0
04E9   .BYTE   0
04EA   .BYTE   0
04EB   .BYTE   0
04EC   .BYTE   0
04ED   .BYTE   0
04EE   .BYTE   0
04EF   .BYTE   0
04F0   .BYTE   0
04F1   .BYTE   0
04F2   .BYTE   0
04F3   .BYTE   0
04F4   .BYTE   0
04F5   .BYTE   0
04F6   .BYTE   0
04F7   .BYTE   0
04F8   .BYTE   0
04F9   .BYTE   0
04FA   .BYTE   0
04FB   .BYTE   0
04FC   .BYTE   0
04FD   .BYTE   0
04FE   .BYTE   0
04FF   .BYTE   0
0500   .BYTE   0
0501   .BYTE   0
0502   .BYTE   0
0503   .BYTE   0
0504   .BYTE   0
0505   .BYTE   0
0506   .BYTE   0
0507   .BYTE   0
0508   .BYTE   0
0509   .BYTE   0
050A   .BYTE   0
050B   .BYTE   0
050C   .BYTE   0
050D   .BYTE   0
050E   .BYTE   0
050F   .BYTE   0
0510   .BYTE   0
0511   .BYTE   0
0512   .BYTE   0
0513   .BYTE   0
0514   .BYTE   0
0515   .BYTE   0
0516   .BYTE   0
0517   .BYTE   0
0518   .BYTE   0
0519   .BYTE   0
051A   .BYTE   0
051B   .BYTE   0
051C   .BYTE   0
051D   .BYTE   0
051E   .BYTE   0
051F   .BYTE   0
0520   .BYTE   0
0521   .BYTE   0
0522   .BYTE   0
0523   .BYTE   0
0524   .BYTE   0
0525   .BYTE   0
0526   .BYTE   0
0527   .BYTE   0
0528   .BYTE   0
0529   .BYTE   0
052A   .BYTE   0
052B   .BYTE   0
052C   .BYTE   0
052D   .BYTE   0
052E   .BYTE   0
052F   .BYTE   0
0530   .BYTE   0
0531   .BYTE   0
0532   .BYTE   0
0533   .BYTE   0
0534   .BYTE   0
0535   .BYTE   0
0536   .BYTE   0
0537   .BYTE   0
0538   .BYTE   0
0539   .BYTE   0
053A   .BYTE   0
053B   .BYTE   0
053C   .BYTE   0
053D   .BYTE   0
053E   .BYTE   0
053F   .BYTE   0
0540   .BYTE   0
0541   .BYTE   0
0542   .BYTE   0
0543   .BYTE   0
0544   .BYTE   0
0545   .BYTE   0
0546   .BYTE   0
0547   .BYTE   0
0548   .BYTE   0
0549   .BYTE   0
054A   .BYTE   0
054B   .BYTE   0
054C   .BYTE   0
054D   .BYTE   0
054E   .BYTE   0
054F   .BYTE   0
0550   .BYTE   0
0551   .BYTE   0
0552   .BYTE   0
0553   .BYTE   0
0554   .BYTE   0
0555   .BYTE   0
0556   .BYTE   0
0557   .BYTE   0
0558   .BYTE   0
0559   .BYTE   0
055A   .BYTE   0
055B   .BYTE   0
055C   .BYTE   0
055D   .BYTE   0
055E   .BYTE   0
055F   .BYTE   0
0560   .BYTE   0
0561   .BYTE   0
0562   .BYTE   0
0563   .BYTE   0
0564   .BYTE   0
0565   .BYTE   0
0566   .BYTE   0
0567   .BYTE   0
0568   .BYTE   0
0569   .BYTE   0
056A   .BYTE   0
056B   .BYTE   0
056C   .BYTE   0
056D   .BYTE   0
056E   .BYTE   0
056F   .BYTE   0
0570   .BYTE   0
0571   .BYTE   0
0572   .BYTE   0
0573   .BYTE   0
0574   .BYTE   0
0575   .BYTE   0
0576   .BYTE   0
0577   .BYTE   0
0578   .BYTE   0
0579   .BYTE   0
057A   .BYTE   0
057B   .BYTE   0
057C   .BYTE   0
057D   .BYTE   0
057E   .BYTE   0
057F byte_57F:.BYTE 0              ; ...
0580 byte_580:.BYTE 0              ; ...
0581 byte_581:.BYTE 0              ; ...
0582 byte_582:.BYTE 0              ; ...
0583   .BYTE   0
0584   .BYTE   0
0585   .BYTE   0
0586   .BYTE   0
0587   .BYTE   0
0588   .BYTE   0
0589   .BYTE   0
058A   .BYTE   0
058B   .BYTE   0
058C   .BYTE   0
058D   .BYTE   0
058E   .BYTE   0
058F   .BYTE   0
0590   .BYTE   0
0591   .BYTE   0
0592   .BYTE   0
0593   .BYTE   0
0594   .BYTE   0
0595   .BYTE   0
0596   .BYTE   0
0597   .BYTE   0
0598   .BYTE   0
0599   .BYTE   0
059A   .BYTE   0
059B   .BYTE   0
059C   .BYTE   0
059D   .BYTE   0
059E   .BYTE   0
059F   .BYTE   0
05A0   .BYTE   0
05A1   .BYTE   0
05A2   .BYTE   0
05A3   .BYTE   0
05A4   .BYTE   0
05A5   .BYTE   0
05A6   .BYTE   0
05A7   .BYTE   0
05A8   .BYTE   0
05A9   .BYTE   0
05AA   .BYTE   0
05AB   .BYTE   0
05AC   .BYTE   0
05AD   .BYTE   0
05AE   .BYTE   0
05AF   .BYTE   0
05B0   .BYTE   0
05B1   .BYTE   0
05B2   .BYTE   0
05B3   .BYTE   0
05B4   .BYTE   0
05B5   .BYTE   0
05B6   .BYTE   0
05B7   .BYTE   0
05B8   .BYTE   0
05B9   .BYTE   0
05BA   .BYTE   0
05BB   .BYTE   0
05BC   .BYTE   0
05BD   .BYTE   0
05BE   .BYTE   0
05BF   .BYTE   0
05C0   .BYTE   0
05C1   .BYTE   0
05C2   .BYTE   0
05C3   .BYTE   0
05C4   .BYTE   0
05C5   .BYTE   0
05C6   .BYTE   0
05C7   .BYTE   0
05C8   .BYTE   0
05C9   .BYTE   0
05CA   .BYTE   0
05CB   .BYTE   0
05CC   .BYTE   0
05CD   .BYTE   0
05CE   .BYTE   0
05CF   .BYTE   0
05D0   .BYTE   0
05D1   .BYTE   0
05D2   .BYTE   0
05D3   .BYTE   0
05D4   .BYTE   0
05D5   .BYTE   0
05D6   .BYTE   0
05D7   .BYTE   0
05D8   .BYTE   0
05D9   .BYTE   0
05DA   .BYTE   0
05DB   .BYTE   0
05DC   .BYTE   0
05DD   .BYTE   0
05DE   .BYTE   0
05DF   .BYTE   0
05E0   .BYTE   0
05E1   .BYTE   0
05E2   .BYTE   0
05E3   .BYTE   0
05E4   .BYTE   0
05E5   .BYTE   0
05E6   .BYTE   0
05E7   .BYTE   0
05E8   .BYTE   0
05E9   .BYTE   0
05EA   .BYTE   0
05EB   .BYTE   0
05EC   .BYTE   0
05ED   .BYTE   0
05EE   .BYTE   0
05EF   .BYTE   0
05F0   .BYTE   0
05F1   .BYTE   0
05F2   .BYTE   0
05F3   .BYTE   0
05F4   .BYTE   0
05F5   .BYTE   0
05F6   .BYTE   0
05F7   .BYTE   0
05F8   .BYTE   0
05F9   .BYTE   0
05FA   .BYTE   0
05FB   .BYTE   0
05FC   .BYTE   0
05FD   .BYTE   0
05FE   .BYTE   0
05FF   .BYTE   0
0600   .BYTE $C6, $C1, $C9, $CC, $C5, $C4, $AE, $AE, $AE, $A0, $C4, $C9, $D3 ; FAILED..._DISMALLY.__THE_FEDERATION_DEBTORS'_PRISON_IS_YOUR_NEXT_HOME
0600   .BYTE $CD, $C1, $CC, $CC, $D9, $AE, $A0, $A0, $D4, $C8, $C5, $A0, $C6
0600   .BYTE $C5, $C4, $C5, $D2, $C1, $D4, $C9, $CF, $CE, $A0, $C4, $C5, $C2
0600   .BYTE $D4, $CF, $D2, $D3, $A7, $A0, $D0, $D2, $C9, $D3, $CF, $CE, $A0
0600   .BYTE $C9, $D3, $A0, $D9, $CF, $D5, $D2, $A0, $CE, $C5, $D8, $D4, $A0
0600   .BYTE $C8, $CF, $CD, $45
0645   .BYTE $C6, $C1, $C9, $CC, $C5, $C4, $AE, $AE, $AE, $A0, $D4, $C8, $C5 ; FAILED..._THE_FEDERATION_WILL_NO_LONGER_SEND_TRADE_SHIPS.__YOU_ARE_ON_YOUR_OWN
0645   .BYTE $A0, $C6, $C5, $C4, $C5, $D2, $C1, $D4, $C9, $CF, $CE, $A0, $D7
0645   .BYTE $C9, $CC, $CC, $A0, $CE, $CF, $A0, $CC, $CF, $CE, $C7, $C5, $D2
0645   .BYTE $A0, $D3, $C5, $CE, $C4, $A0, $D4, $D2, $C1, $C4, $C5, $A0, $D3
0645   .BYTE $C8, $C9, $D0, $D3, $AE, $A0, $A0, $D9, $CF, $D5, $A0, $C1, $D2
0645   .BYTE $C5, $A0, $CF, $CE, $A0, $D9, $CF, $D5, $D2, $A0, $CF, $D7, $4E
0693   .BYTE $D3, $D5, $D2, $D6, $C9, $D6, $C5, $C4, $AE, $AE, $AE, $A0, $C2 ; SURVIVED..._BARELY.__YOU_WILL_BE_LIVING_IN_TENTS.__FEW_TRADING_SHIPS_WILL_COME_YOUR_WAY
0693   .BYTE $C1, $D2, $C5, $CC, $D9, $AE, $A0, $A0, $D9, $CF, $D5, $A0, $D7
0693   .BYTE $C9, $CC, $CC, $A0, $C2, $C5, $A0, $CC, $C9, $D6, $C9, $CE, $C7
0693   .BYTE $A0, $C9, $CE, $A0, $D4, $C5, $CE, $D4, $D3, $AE, $A0, $A0, $C6
0693   .BYTE $C5, $D7, $A0, $D4, $D2, $C1, $C4, $C9, $CE, $C7, $A0, $D3, $C8
0693   .BYTE $C9, $D0, $D3, $A0, $D7, $C9, $CC, $CC, $A0, $C3, $CF, $CD, $C5
0693   .BYTE $A0, $D9, $CF, $D5, $D2, $A0, $D7, $C1, $59
06EA   .BYTE $D7, $C1, $D3, $A0, $C1, $A0, $D3, $D5, $C3, $C3, $C5, $D3, $D3 ; WAS_A_SUCCESS.__YOU_HAVE_MET_THE_MINIMUM_STANDARDS_SET_BY_THE_FEDERATION,_BUT_YOUR_LIFE_WILL_NOT_BE_EASY
06EA   .BYTE $AE, $A0, $A0, $D9, $CF, $D5, $A0, $C8, $C1, $D6, $C5, $A0, $CD
06EA   .BYTE $C5, $D4, $A0, $D4, $C8, $C5, $A0, $CD, $C9, $CE, $C9, $CD, $D5
06EA   .BYTE $CD, $A0, $D3, $D4, $C1, $CE, $C4, $C1, $D2, $C4, $D3, $A0, $D3
06EA   .BYTE $C5, $D4, $A0, $C2, $D9, $A0, $D4, $C8, $C5, $A0, $C6, $C5, $C4
06EA   .BYTE $C5, $D2, $C1, $D4, $C9, $CF, $CE, $AC, $A0, $C2, $D5, $D4, $A0
06EA   .BYTE $D9, $CF, $D5, $D2, $A0, $CC, $C9, $C6, $C5, $A0, $D7, $C9, $CC
06EA   .BYTE $CC, $A0, $CE, $CF, $D4, $A0, $C2, $C5, $A0, $C5, $C1, $D3, $59
0752 byte_752:.BYTE $D3, $D5, $C3, $C3, $C5, $C5, $C4, $C5, $C4, $AE, $A0, $A0, $D4 ; SUCCEEDED.__THE_FEDERATION_IS_PLEASED_BY_YOUR_EFFORTS.__YOU_WILL_LIVE_COMFORTABLY
0752   .BYTE $C8, $C5, $A0, $C6, $C5, $C4, $C5, $D2, $C1, $D4, $C9, $CF, $CE
0752   .BYTE $A0, $C9, $D3, $A0, $D0, $CC, $C5, $C1, $D3, $C5, $C4, $A0, $C2
0752   .BYTE $D9, $A0, $D9, $CF, $D5, $D2, $A0, $C5, $C6, $C6, $CF, $D2, $D4
0752   .BYTE $D3, $AE, $A0, $A0, $D9, $CF, $D5, $A0, $D7, $C9, $CC, $CC, $A0
0752   .BYTE $CC, $C9, $D6, $C5, $A0, $C3, $CF, $CD, $C6, $CF, $D2, $D4, $C1
0752   .BYTE $C2, $CC, $59
07A3   .BYTE $D3, $D5, $C3, $C3, $C5, $C5, $C4, $C5, $C4, $AE, $AE, $AE, $A0 ; SUCCEEDED..._EXTREMELY_WELL.__YOU_CAN_NOW_RETIRE_IN_ELEGANT_ESTATES
07A3   .BYTE $C5, $D8, $D4, $D2, $C5, $CD, $C5, $CC, $D9, $A0, $D7, $C5, $CC
07A3   .BYTE $CC, $AE, $A0, $A0, $D9, $CF, $D5, $A0, $C3, $C1, $CE, $A0, $CE
07A3   .BYTE $CF, $D7, $A0, $D2, $C5, $D4, $C9, $D2, $C5, $A0, $C9, $CE, $A0
07A3   .BYTE $C5, $CC, $C5, $C7, $C1, $CE, $D4, $A0, $C5, $D3, $D4, $C1, $D4
07A3   .BYTE $C5, $53
07E6   .BYTE $C4, $C5, $CC, $C9, $C7, $C8, $D4, $C5, $C4, $A0, $D4, $C8, $C5 ; DELIGHTED_THE_FEDERATION_WITH_YOUR_EXCEPTIONAL_ACHIEVEMENT.__YOUR_RETIREMENT_WILL_BE_LUXURIOU
07E6   .BYTE $A0, $C6, $C5, $C4, $C5, $D2, $C1, $D4, $C9, $CF, $CE, $A0, $D7
07E6   .BYTE $C9, $D4, $C8, $A0, $D9, $CF, $D5, $D2, $A0, $C5, $D8, $C3, $C5
07E6   .BYTE $D0, $D4, $C9, $CF, $CE, $C1, $CC, $A0, $C1, $C3, $C8, $C9, $C5
07E6   .BYTE $D6, $C5, $CD, $C5, $CE, $D4, $AE, $A0, $A0, $D9, $CF, $D5, $D2
07E6   .BYTE $A0, $D2, $C5, $D4, $C9, $D2, $C5, $CD, $C5, $CE, $D4, $A0, $D7
07E6   .BYTE $C9, $CC, $CC, $A0, $C2, $C5, $A0, $CC, $D5, $D8, $D5, $D2, $C9
07E6   .BYTE $CF, $D5
0843   .BYTE   0
0844   .BYTE   0
0845   .BYTE   0
0846   .BYTE   0
0847   .BYTE   0
0848   .BYTE   0
0849   .BYTE   0
084A   .BYTE   0
084B   .BYTE   0
084C   .BYTE   0
084D   .BYTE   0
084E   .BYTE   0
084F   .BYTE   0
0850   .BYTE   0
0851   .BYTE   0
0852   .BYTE   0
0853   .BYTE   0
0854   .BYTE   0
0855   .BYTE   0
0856   .BYTE   0
0857   .BYTE   0
0858   .BYTE   0
0859   .BYTE   0
085A   .BYTE   0
085B   .BYTE   0
085C   .BYTE   0
085D   .BYTE   0
085E   .BYTE   0
085F   .BYTE   0
0860   .BYTE   0
0861   .BYTE   0
0862   .BYTE   0
0863   .BYTE   0
0864   .BYTE   0
0865   .BYTE   0
0866   .BYTE   0
0867   .BYTE   0
0868   .BYTE   0
0869   .BYTE   0
086A   .BYTE   0
086B   .BYTE   0
086C   .BYTE   0
086D   .BYTE   0
086E   .BYTE   0
086F   .BYTE   0
0870   .BYTE   0
0871   .BYTE   0
0872   .BYTE   0
0873   .BYTE   0
0874   .BYTE   0
0875   .BYTE   0
0876   .BYTE   0
0877   .BYTE   0
0878   .BYTE   0
0879   .BYTE   0
087A   .BYTE   0
087B   .BYTE   0
087C   .BYTE   0
087D   .BYTE   0
087E   .BYTE   0
087F   .BYTE   0
0880   .BYTE   0
0881   .BYTE   0
0882   .BYTE   0
0883   .BYTE   0
0884   .BYTE   0
0885   .BYTE   0
0886   .BYTE   0
0887   .BYTE   0
0888   .BYTE   0
0889   .BYTE   0
088A   .BYTE   0
088B   .BYTE   0
088C   .BYTE   0
088D   .BYTE   0
088E   .BYTE   0
088F   .BYTE   0
0890   .BYTE   0
0891   .BYTE   0
0892   .BYTE   0
0893   .BYTE   0
0894   .BYTE   0
0895   .BYTE   0
0896   .BYTE   0
0897   .BYTE   0
0898   .BYTE   0
0899   .BYTE   0
089A   .BYTE   0
089B   .BYTE   0
089C   .BYTE   0
089D   .BYTE   0
089E   .BYTE   0
089F   .BYTE   0
08A0   .BYTE   0
08A1   .BYTE   0
08A2   .BYTE   0
08A3   .BYTE   0
08A4   .BYTE   0
08A5   .BYTE   0
08A6   .BYTE   0
08A7   .BYTE   0
08A8   .BYTE   0
08A9   .BYTE   0
08AA   .BYTE   0
08AB   .BYTE   0
08AC   .BYTE   0
08AD   .BYTE   0
08AE   .BYTE   0
08AF   .BYTE   0
08B0   .BYTE   0
08B1   .BYTE   0
08B2   .BYTE   0
08B3   .BYTE   0
08B4   .BYTE   0
08B5   .BYTE   0
08B6   .BYTE   0
08B7   .BYTE   0
08B8   .BYTE   0
08B9   .BYTE   0
08BA   .BYTE   0
08BB   .BYTE   0
08BC   .BYTE   0
08BD   .BYTE   0
08BE   .BYTE   0
08BF   .BYTE   0
08C0   .BYTE   0
08C1   .BYTE   0
08C2   .BYTE   0
08C3   .BYTE   0
08C4   .BYTE   0
08C5   .BYTE   0
08C6   .BYTE   0
08C7   .BYTE   0
08C8   .BYTE   0
08C9   .BYTE   0
08CA   .BYTE   0
08CB   .BYTE   0
08CC   .BYTE   0
08CD   .BYTE   0
08CE   .BYTE   0
08CF   .BYTE   0
08D0   .BYTE   0
08D1   .BYTE   0
08D2   .BYTE   0
08D3   .BYTE   0
08D4   .BYTE   0
08D5   .BYTE   0
08D6   .BYTE   0
08D7   .BYTE   0
08D8   .BYTE   0
08D9   .BYTE   0
08DA   .BYTE   0
08DB   .BYTE   0
08DC   .BYTE $FF
08DD   .BYTE $FF
08DE   .BYTE $80 ; Ç
08DF   .BYTE $80 ; Ç
08E0   .BYTE $80 ; Ç
08E1   .BYTE $80 ; Ç
08E2   .BYTE $80 ; Ç
08E3   .BYTE $80 ; Ç
08E4   .BYTE $FF
08E5   .BYTE $FF
08E6   .BYTE   1
08E7   .BYTE   1
08E8   .BYTE   1
08E9   .BYTE   1
08EA   .BYTE   1
08EB   .BYTE   1
08EC   .BYTE $80 ; Ç
08ED   .BYTE $80 ; Ç
08EE   .BYTE $80 ; Ç
08EF   .BYTE $80 ; Ç
08F0   .BYTE $80 ; Ç
08F1   .BYTE $80 ; Ç
08F2   .BYTE $80 ; Ç
08F3   .BYTE $80 ; Ç
08F4   .BYTE   1
08F5   .BYTE   1
08F6   .BYTE   1
08F7   .BYTE   1
08F8   .BYTE   1
08F9   .BYTE   1
08FA   .BYTE   1
08FB   .BYTE   1
08FC   .BYTE $80 ; Ç
08FD   .BYTE $80 ; Ç
08FE   .BYTE $80 ; Ç
08FF   .BYTE $80 ; Ç
0900 playersAi:.BYTE -1, -1, -1, 8 ; ...
0900                               ; IA:
0900                               ; -1 = CPU
0900                               ;  8 = Human
0904 startingLevel:.BYTE 130       ; ...
0905 playersColor:.BYTE 196, 132, 52, 84 ; ...
0909 word_909:.WORD $9C0, $AD0, $BE0, $CF0 ; ...
0911 unk_911:.BYTE   0             ; ...
0912 unk_912:.BYTE  $E             ; ...
0913   .BYTE $80 ; Ç
0914   .BYTE  $E
0915   .BYTE   0
0916   .BYTE  $F
0917   .BYTE $80 ; Ç
0918   .BYTE  $F
0919   .BYTE   1
091A   .BYTE $FF
091B   .BYTE $FF
091C   .BYTE   1
091D playersRace:.BYTE 0, 0, 0, 3  ; ...
091D                               ; 0 Computer
091D                               ; 5 Flapper
091D                               ; 7 Human
0921   .BYTE $71 ; q
0922   .BYTE $F9 ; ¨
0923   .BYTE $51 ; Q
0924   .BYTE $51 ; Q
0925   .BYTE $71 ; q
0926   .BYTE $71 ; q
0927   .BYTE   1
0928   .BYTE   1
0929   .BYTE   1
092A   .BYTE   1
092B   .BYTE   1
092C   .BYTE   1
092D   .BYTE   0
092E   .BYTE   0
092F byte_92F:.BYTE 7              ; ...
0930   .BYTE $10
0931   .BYTE $10
0932   .BYTE $10
0933   .BYTE $FF
0934 unk_934:.BYTE   6             ; ...
0935   .BYTE   6
0936   .BYTE   6
0937   .BYTE $A7 ; º
0938   .BYTE $FF
0939   .BYTE   0
093A   .BYTE   0
093B   .BYTE   0
093C   .BYTE   0
093D   .BYTE   0
093E   .BYTE   0
093F   .BYTE   0
0940   .BYTE $60 ; `
0941   .BYTE   0
0942   .BYTE   0
0943   .BYTE   0
0944   .BYTE   0
0945   .BYTE   0
0946   .BYTE   0
0947   .BYTE   0
0948   .BYTE   0
0949   .BYTE   0
094A   .BYTE   0
094B   .BYTE   0
094C   .BYTE   0
094D   .BYTE   0
094E   .BYTE   0
094F   .BYTE   0
0950   .BYTE $B6 ; Â
0951   .BYTE $AB ; ½
0952   .BYTE $B6 ; Â
0953   .BYTE $AB ; ½
0954   .BYTE $B6 ; Â
0955   .BYTE $AB ; ½
0956   .BYTE $CA ; -
0957   .BYTE $AB ; ½
0958   .BYTE   0
0959   .BYTE   0
095A   .BYTE   0
095B   .BYTE   0
095C   .BYTE   0
095D   .BYTE   0
095E   .BYTE   0
095F   .BYTE   0
0960 successesMessageAddrL:.BYTE 0, $45, $93, $EA, $52, $A3, $E6 ; ...
0967 successesMessageAddrH:.BYTE 6, 6, 6, 6, 7, 7, 7 ; ...
096E   .BYTE   0
096F   .BYTE   0
0970   .BYTE   0
0971   .BYTE   0
0972   .BYTE   0
0973   .BYTE   0
0974   .BYTE   0
0975   .BYTE   0
0976   .BYTE   0
0977   .BYTE   0
0978   .BYTE   0
0979   .BYTE   0
097A   .BYTE   0
097B   .BYTE   0
097C   .BYTE   0
097D   .BYTE   0
097E   .BYTE   0
097F   .BYTE   0
0980   .BYTE   0
0981   .BYTE   0
0982   .BYTE   0
0983   .BYTE   0
0984   .BYTE   0
0985   .BYTE   0
0986   .BYTE   0
0987   .BYTE   0
0988   .BYTE   0
0989   .BYTE   0
098A   .BYTE   0
098B   .BYTE   0
098C   .BYTE   0
098D   .BYTE   0
098E   .BYTE   0
098F   .BYTE   0
0990   .BYTE   0
0991   .BYTE   0
0992   .BYTE   0
0993   .BYTE   0
0994   .BYTE   0
0995   .BYTE   0
0996   .BYTE   0
0997   .BYTE   0
0998   .BYTE   0
0999   .BYTE   0
099A   .BYTE   0
099B   .BYTE   0
099C   .BYTE   0
099D   .BYTE   0
099E   .BYTE   0
099F   .BYTE   0
09A0   .BYTE   0
09A1   .BYTE   0
09A2   .BYTE   0
09A3   .BYTE   0
09A4   .BYTE   0
09A5   .BYTE   0
09A6   .BYTE   0
09A7   .BYTE   0
09A8   .BYTE   0
09A9   .BYTE   0
09AA   .BYTE   0
09AB   .BYTE   0
09AC   .BYTE   0
09AD   .BYTE   0
09AE   .BYTE   0
09AF   .BYTE   0
09B0   .BYTE   0
09B1   .BYTE   0
09B2   .BYTE   0
09B3   .BYTE   0
09B4   .BYTE   0
09B5   .BYTE   0
09B6   .BYTE   0
09B7   .BYTE   0
09B8   .BYTE   0
09B9   .BYTE   0
09BA   .BYTE   0
09BB   .BYTE   0
09BC   .BYTE   0
09BD   .BYTE   0
09BE   .BYTE   0
09BF   .BYTE   0
09C0   .BYTE   1
09C1   .BYTE   0
09C2   .BYTE   0
09C3   .BYTE   4
09C4   .BYTE   4
09C5   .BYTE   8
09C6   .BYTE $3E ; >
09C7   .BYTE $7C ; |
09C8   .BYTE $7D ; }
09C9   .BYTE $3F ; ?
09CA   .BYTE $38 ; 8
09CB   .BYTE $18
09CC   .BYTE $18
09CD   .BYTE $18
09CE   .BYTE $38 ; 8
09CF   .BYTE $38 ; 8
09D0   .BYTE $30 ; 0
09D1   .BYTE $30 ; 0
09D2   .BYTE $10
09D3   .BYTE $18
09D4   .BYTE $18
09D5   .BYTE   0
09D6   .BYTE   0
09D7   .BYTE   0
09D8   .BYTE   0
09D9   .BYTE   0
09DA   .BYTE $20
09DB   .BYTE $10
09DC   .BYTE $10
09DD   .BYTE $7C ; |
09DE   .BYTE $F8 ; °
09DF   .BYTE $FA ; ·
09E0   .BYTE $7E ; ~
09E1   .BYTE $70 ; p
09E2   .BYTE $30 ; 0
09E3   .BYTE $30 ; 0
09E4   .BYTE $70 ; p
09E5   .BYTE $F0 ; ­
09E6   .BYTE $B0 ; ¦
09E7   .BYTE $B8 ; ©
09E8   .BYTE $2A ; *
09E9   .BYTE $66 ; f
09EA   .BYTE $44 ; D
09EB   .BYTE $20
09EC   .BYTE   0
09ED   .BYTE   0
09EE   .BYTE   0
09EF   .BYTE   0
09F0   .BYTE   1
09F1   .BYTE   0
09F2   .BYTE   0
09F3   .BYTE $20
09F4   .BYTE $20
09F5   .BYTE $10
09F6   .BYTE $7C ; |
09F7   .BYTE $3E ; >
09F8   .BYTE $BE ; ¥
09F9   .BYTE $FC ; ³
09FA   .BYTE $1C
09FB   .BYTE $18
09FC   .BYTE $18
09FD   .BYTE $18
09FE   .BYTE $1C
09FF   .BYTE $1C
0A00   .BYTE  $C
0A01   .BYTE  $C
0A02   .BYTE   8
0A03   .BYTE $18
0A04   .BYTE $18
0A05   .BYTE   0
0A06   .BYTE   0
0A07   .BYTE   0
0A08   .BYTE   0
0A09   .BYTE   0
0A0A   .BYTE   4
0A0B   .BYTE   8
0A0C   .BYTE   8
0A0D   .BYTE $3E ; >
0A0E   .BYTE $1F
0A0F   .BYTE $5F ; _
0A10   .BYTE $7E ; ~
0A11   .BYTE  $E
0A12   .BYTE  $C
0A13   .BYTE  $C
0A14   .BYTE  $E
0A15   .BYTE  $F
0A16   .BYTE  $D
0A17   .BYTE $1D
0A18   .BYTE $54 ; T
0A19   .BYTE $66 ; f
0A1A   .BYTE $22 ; "
0A1B   .BYTE   4
0A1C   .BYTE   0
0A1D   .BYTE   0
0A1E   .BYTE   0
0A1F   .BYTE   0
0A20   .BYTE   0
0A21   .BYTE   0
0A22   .BYTE   0
0A23   .BYTE $24 ; $
0A24   .BYTE $24 ; $
0A25   .BYTE $24 ; $
0A26   .BYTE $7E ; ~
0A27   .BYTE $42 ; B
0A28   .BYTE $5A ; Z
0A29   .BYTE $5A ; Z
0A2A   .BYTE $3C ; <
0A2B   .BYTE $18
0A2C   .BYTE $3C ; <
0A2D   .BYTE $7E ; ~
0A2E   .BYTE $FF
0A2F   .BYTE $BD ; ¢
0A30   .BYTE $BD ; ¢
0A31   .BYTE $24 ; $
0A32   .BYTE $24 ; $
0A33   .BYTE $66 ; f
0A34   .BYTE $66 ; f
0A35   .BYTE   0
0A36   .BYTE   0
0A37   .BYTE   0
0A38   .BYTE   0
0A39   .BYTE   0
0A3A   .BYTE   0
0A3B   .BYTE $24 ; $
0A3C   .BYTE $24 ; $
0A3D   .BYTE $24 ; $
0A3E   .BYTE $7E ; ~
0A3F   .BYTE $42 ; B
0A40   .BYTE $5A ; Z
0A41   .BYTE $5A ; Z
0A42   .BYTE $3C ; <
0A43   .BYTE $18
0A44   .BYTE $3C ; <
0A45   .BYTE $7E ; ~
0A46   .BYTE $FF
0A47   .BYTE $BD ; ¢
0A48   .BYTE $BD ; ¢
0A49   .BYTE $24 ; $
0A4A   .BYTE $24 ; $
0A4B   .BYTE $66 ; f
0A4C   .BYTE $66 ; f
0A4D   .BYTE   0
0A4E   .BYTE   0
0A4F   .BYTE   0
0A50   .BYTE   1
0A51   .BYTE   0
0A52   .BYTE   0
0A53   .BYTE   4
0A54   .BYTE   4
0A55   .BYTE $24 ; $
0A56   .BYTE $7E ; ~
0A57   .BYTE $42 ; B
0A58   .BYTE $5A ; Z
0A59   .BYTE $5A ; Z
0A5A   .BYTE $3C ; <
0A5B   .BYTE $78 ; x
0A5C   .BYTE $FC ; ³
0A5D   .BYTE $BE ; ¥
0A5E   .BYTE $3F ; ?
0A5F   .BYTE $3D ; =
0A60   .BYTE $24 ; $
0A61   .BYTE $26 ; &
0A62   .BYTE $26 ; &
0A63   .BYTE $60 ; `
0A64   .BYTE $60 ; `
0A65   .BYTE   0
0A66   .BYTE   0
0A67   .BYTE   0
0A68   .BYTE   1
0A69   .BYTE   0
0A6A   .BYTE   0
0A6B   .BYTE $20
0A6C   .BYTE $20
0A6D   .BYTE $24 ; $
0A6E   .BYTE $7E ; ~
0A6F   .BYTE $42 ; B
0A70   .BYTE $5A ; Z
0A71   .BYTE $5A ; Z
0A72   .BYTE $3C ; <
0A73   .BYTE $1E
0A74   .BYTE $3F ; ?
0A75   .BYTE $7D ; }
0A76   .BYTE $FC ; ³
0A77   .BYTE $BC ; +
0A78   .BYTE $24 ; $
0A79   .BYTE $64 ; d
0A7A   .BYTE $64 ; d
0A7B   .BYTE   6
0A7C   .BYTE   6
0A7D   .BYTE   0
0A7E   .BYTE   0
0A7F   .BYTE   0
0A80   .BYTE   1
0A81   .BYTE   0
0A82   .BYTE   0
0A83   .BYTE $20
0A84   .BYTE $20
0A85   .BYTE $24 ; $
0A86   .BYTE $7E ; ~
0A87   .BYTE $7E ; ~
0A88   .BYTE $7E ; ~
0A89   .BYTE $7F ; 
0A8A   .BYTE $3D ; =
0A8B   .BYTE $19
0A8C   .BYTE $BF ; +
0A8D   .BYTE $FE ; ¦
0A8E   .BYTE $7C ; |
0A8F   .BYTE $3C ; <
0A90   .BYTE $24 ; $
0A91   .BYTE $64 ; d
0A92   .BYTE $64 ; d
0A93   .BYTE   6
0A94   .BYTE   6
0A95   .BYTE   0
0A96   .BYTE   0
0A97   .BYTE   0
0A98   .BYTE   1
0A99   .BYTE   0
0A9A   .BYTE   0
0A9B   .BYTE   4
0A9C   .BYTE   4
0A9D   .BYTE $24 ; $
0A9E   .BYTE $7E ; ~
0A9F   .BYTE $7E ; ~
0AA0   .BYTE $7E ; ~
0AA1   .BYTE $FE ; ¦
0AA2   .BYTE $BC ; +
0AA3   .BYTE $98 ; ÿ
0AA4   .BYTE $FD ; ²
0AA5   .BYTE $7F ; 
0AA6   .BYTE $3E ; >
0AA7   .BYTE $3C ; <
0AA8   .BYTE $24 ; $
0AA9   .BYTE $26 ; &
0AAA   .BYTE $26 ; &
0AAB   .BYTE $60 ; `
0AAC   .BYTE $60 ; `
0AAD   .BYTE   0
0AAE   .BYTE   0
0AAF   .BYTE   0
0AB0   .BYTE   0
0AB1   .BYTE   0
0AB2   .BYTE   0
0AB3   .BYTE $24 ; $
0AB4   .BYTE $24 ; $
0AB5   .BYTE $24 ; $
0AB6   .BYTE $7E ; ~
0AB7   .BYTE $7E ; ~
0AB8   .BYTE $7E ; ~
0AB9   .BYTE $7E ; ~
0ABA   .BYTE $3C ; <
0ABB   .BYTE $18
0ABC   .BYTE $3C ; <
0ABD   .BYTE $7E ; ~
0ABE   .BYTE $FF
0ABF   .BYTE $BD ; ¢
0AC0   .BYTE $BD ; ¢
0AC1   .BYTE $24 ; $
0AC2   .BYTE $24 ; $
0AC3   .BYTE $66 ; f
0AC4   .BYTE $66 ; f
0AC5   .BYTE   0
0AC6   .BYTE   0
0AC7   .BYTE   0
0AC8   .BYTE   0
0AC9   .BYTE   0
0ACA   .BYTE   0
0ACB   .BYTE   0
0ACC   .BYTE   0
0ACD   .BYTE   0
0ACE   .BYTE   0
0ACF   .BYTE   0
0AD0   .BYTE   1
0AD1   .BYTE   0
0AD2   .BYTE   0
0AD3   .BYTE   4
0AD4   .BYTE   4
0AD5   .BYTE   8
0AD6   .BYTE $3E ; >
0AD7   .BYTE $7C ; |
0AD8   .BYTE $7D ; }
0AD9   .BYTE $3F ; ?
0ADA   .BYTE $38 ; 8
0ADB   .BYTE $18
0ADC   .BYTE $18
0ADD   .BYTE $18
0ADE   .BYTE $38 ; 8
0ADF   .BYTE $38 ; 8
0AE0   .BYTE $30 ; 0
0AE1   .BYTE $30 ; 0
0AE2   .BYTE $10
0AE3   .BYTE $18
0AE4   .BYTE $18
0AE5   .BYTE   0
0AE6   .BYTE   0
0AE7   .BYTE   0
0AE8   .BYTE   0
0AE9   .BYTE   0
0AEA   .BYTE $20
0AEB   .BYTE $10
0AEC   .BYTE $10
0AED   .BYTE $7C ; |
0AEE   .BYTE $F8 ; °
0AEF   .BYTE $FA ; ·
0AF0   .BYTE $7E ; ~
0AF1   .BYTE $70 ; p
0AF2   .BYTE $30 ; 0
0AF3   .BYTE $30 ; 0
0AF4   .BYTE $70 ; p
0AF5   .BYTE $F0 ; ­
0AF6   .BYTE $B0 ; ¦
0AF7   .BYTE $B8 ; ©
0AF8   .BYTE $2A ; *
0AF9   .BYTE $66 ; f
0AFA   .BYTE $44 ; D
0AFB   .BYTE $20
0AFC   .BYTE   0
0AFD   .BYTE   0
0AFE   .BYTE   0
0AFF   .BYTE   0
0B00   .BYTE   1
0B01   .BYTE   0
0B02   .BYTE   0
0B03   .BYTE $20
0B04   .BYTE $20
0B05   .BYTE $10
0B06   .BYTE $7C ; |
0B07   .BYTE $3E ; >
0B08   .BYTE $BE ; ¥
0B09   .BYTE $FC ; ³
0B0A   .BYTE $1C
0B0B   .BYTE $18
0B0C   .BYTE $18
0B0D   .BYTE $18
0B0E   .BYTE $1C
0B0F   .BYTE $1C
0B10   .BYTE  $C
0B11   .BYTE  $C
0B12   .BYTE   8
0B13   .BYTE $18
0B14   .BYTE $18
0B15   .BYTE   0
0B16   .BYTE   0
0B17   .BYTE   0
0B18   .BYTE   0
0B19   .BYTE   0
0B1A   .BYTE   4
0B1B   .BYTE   8
0B1C   .BYTE   8
0B1D   .BYTE $3E ; >
0B1E   .BYTE $1F
0B1F   .BYTE $5F ; _
0B20   .BYTE $7E ; ~
0B21   .BYTE  $E
0B22   .BYTE  $C
0B23   .BYTE  $C
0B24   .BYTE  $E
0B25   .BYTE  $F
0B26   .BYTE  $D
0B27   .BYTE $1D
0B28   .BYTE $54 ; T
0B29   .BYTE $66 ; f
0B2A   .BYTE $22 ; "
0B2B   .BYTE   4
0B2C   .BYTE   0
0B2D   .BYTE   0
0B2E   .BYTE   0
0B2F   .BYTE   0
0B30   .BYTE   0
0B31   .BYTE   0
0B32   .BYTE   0
0B33   .BYTE $24 ; $
0B34   .BYTE $24 ; $
0B35   .BYTE $24 ; $
0B36   .BYTE $7E ; ~
0B37   .BYTE $42 ; B
0B38   .BYTE $5A ; Z
0B39   .BYTE $5A ; Z
0B3A   .BYTE $3C ; <
0B3B   .BYTE $18
0B3C   .BYTE $3C ; <
0B3D   .BYTE $7E ; ~
0B3E   .BYTE $FF
0B3F   .BYTE $BD ; ¢
0B40   .BYTE $BD ; ¢
0B41   .BYTE $24 ; $
0B42   .BYTE $24 ; $
0B43   .BYTE $66 ; f
0B44   .BYTE $66 ; f
0B45   .BYTE   0
0B46   .BYTE   0
0B47   .BYTE   0
0B48   .BYTE   0
0B49   .BYTE   0
0B4A   .BYTE   0
0B4B   .BYTE $24 ; $
0B4C   .BYTE $24 ; $
0B4D   .BYTE $24 ; $
0B4E   .BYTE $7E ; ~
0B4F   .BYTE $42 ; B
0B50   .BYTE $5A ; Z
0B51   .BYTE $5A ; Z
0B52   .BYTE $3C ; <
0B53   .BYTE $18
0B54   .BYTE $3C ; <
0B55   .BYTE $7E ; ~
0B56   .BYTE $FF
0B57   .BYTE $BD ; ¢
0B58   .BYTE $BD ; ¢
0B59   .BYTE $24 ; $
0B5A   .BYTE $24 ; $
0B5B   .BYTE $66 ; f
0B5C   .BYTE $66 ; f
0B5D   .BYTE   0
0B5E   .BYTE   0
0B5F   .BYTE   0
0B60   .BYTE   1
0B61   .BYTE   0
0B62   .BYTE   0
0B63   .BYTE   4
0B64   .BYTE   4
0B65   .BYTE $24 ; $
0B66   .BYTE $7E ; ~
0B67   .BYTE $42 ; B
0B68   .BYTE $5A ; Z
0B69   .BYTE $5A ; Z
0B6A   .BYTE $3C ; <
0B6B   .BYTE $78 ; x
0B6C   .BYTE $FC ; ³
0B6D   .BYTE $BE ; ¥
0B6E   .BYTE $3F ; ?
0B6F   .BYTE $3D ; =
0B70   .BYTE $24 ; $
0B71   .BYTE $26 ; &
0B72   .BYTE $26 ; &
0B73   .BYTE $60 ; `
0B74   .BYTE $60 ; `
0B75   .BYTE   0
0B76   .BYTE   0
0B77   .BYTE   0
0B78   .BYTE   1
0B79   .BYTE   0
0B7A   .BYTE   0
0B7B   .BYTE $20
0B7C   .BYTE $20
0B7D   .BYTE $24 ; $
0B7E   .BYTE $7E ; ~
0B7F   .BYTE $42 ; B
0B80   .BYTE $5A ; Z
0B81   .BYTE $5A ; Z
0B82   .BYTE $3C ; <
0B83   .BYTE $1E
0B84   .BYTE $3F ; ?
0B85   .BYTE $7D ; }
0B86   .BYTE $FC ; ³
0B87   .BYTE $BC ; +
0B88   .BYTE $24 ; $
0B89   .BYTE $64 ; d
0B8A   .BYTE $64 ; d
0B8B   .BYTE   6
0B8C   .BYTE   6
0B8D   .BYTE   0
0B8E   .BYTE   0
0B8F   .BYTE   0
0B90   .BYTE   1
0B91   .BYTE   0
0B92   .BYTE   0
0B93   .BYTE $20
0B94   .BYTE $20
0B95   .BYTE $24 ; $
0B96   .BYTE $7E ; ~
0B97   .BYTE $7E ; ~
0B98   .BYTE $7E ; ~
0B99   .BYTE $7F ; 
0B9A   .BYTE $3D ; =
0B9B   .BYTE $19
0B9C   .BYTE $BF ; +
0B9D   .BYTE $FE ; ¦
0B9E   .BYTE $7C ; |
0B9F   .BYTE $3C ; <
0BA0   .BYTE $24 ; $
0BA1   .BYTE $64 ; d
0BA2   .BYTE $64 ; d
0BA3   .BYTE   6
0BA4   .BYTE   6
0BA5   .BYTE   0
0BA6   .BYTE   0
0BA7   .BYTE   0
0BA8   .BYTE   1
0BA9   .BYTE   0
0BAA   .BYTE   0
0BAB   .BYTE   4
0BAC   .BYTE   4
0BAD   .BYTE $24 ; $
0BAE   .BYTE $7E ; ~
0BAF   .BYTE $7E ; ~
0BB0   .BYTE $7E ; ~
0BB1   .BYTE $FE ; ¦
0BB2   .BYTE $BC ; +
0BB3   .BYTE $98 ; ÿ
0BB4   .BYTE $FD ; ²
0BB5   .BYTE $7F ; 
0BB6   .BYTE $3E ; >
0BB7   .BYTE $3C ; <
0BB8   .BYTE $24 ; $
0BB9   .BYTE $26 ; &
0BBA   .BYTE $26 ; &
0BBB   .BYTE $60 ; `
0BBC   .BYTE $60 ; `
0BBD   .BYTE   0
0BBE   .BYTE   0
0BBF   .BYTE   0
0BC0   .BYTE   0
0BC1   .BYTE   0
0BC2   .BYTE   0
0BC3   .BYTE $24 ; $
0BC4   .BYTE $24 ; $
0BC5   .BYTE $24 ; $
0BC6   .BYTE $7E ; ~
0BC7   .BYTE $7E ; ~
0BC8   .BYTE $7E ; ~
0BC9   .BYTE $7E ; ~
0BCA   .BYTE $3C ; <
0BCB   .BYTE $18
0BCC   .BYTE $3C ; <
0BCD   .BYTE $7E ; ~
0BCE   .BYTE $FF
0BCF   .BYTE $BD ; ¢
0BD0   .BYTE $BD ; ¢
0BD1   .BYTE $24 ; $
0BD2   .BYTE $24 ; $
0BD3   .BYTE $66 ; f
0BD4   .BYTE $66 ; f
0BD5   .BYTE   0
0BD6   .BYTE   0
0BD7   .BYTE   0
0BD8   .BYTE   0
0BD9   .BYTE   0
0BDA   .BYTE   0
0BDB   .BYTE   0
0BDC   .BYTE   0
0BDD   .BYTE   0
0BDE   .BYTE   0
0BDF   .BYTE   0
0BE0   .BYTE   1
0BE1   .BYTE   0
0BE2   .BYTE   0
0BE3   .BYTE   4
0BE4   .BYTE   4
0BE5   .BYTE   8
0BE6   .BYTE $3E ; >
0BE7   .BYTE $7C ; |
0BE8   .BYTE $7D ; }
0BE9   .BYTE $3F ; ?
0BEA   .BYTE $38 ; 8
0BEB   .BYTE $18
0BEC   .BYTE $18
0BED   .BYTE $18
0BEE   .BYTE $38 ; 8
0BEF   .BYTE $38 ; 8
0BF0   .BYTE $30 ; 0
0BF1   .BYTE $30 ; 0
0BF2   .BYTE $10
0BF3   .BYTE $18
0BF4   .BYTE $18
0BF5   .BYTE   0
0BF6   .BYTE   0
0BF7   .BYTE   0
0BF8   .BYTE   0
0BF9   .BYTE   0
0BFA   .BYTE $20
0BFB   .BYTE $10
0BFC   .BYTE $10
0BFD   .BYTE $7C ; |
0BFE   .BYTE $F8 ; °
0BFF   .BYTE $FA ; ·
0C00   .BYTE $7E ; ~
0C01   .BYTE $70 ; p
0C02   .BYTE $30 ; 0
0C03   .BYTE $30 ; 0
0C04   .BYTE $70 ; p
0C05   .BYTE $F0 ; ­
0C06   .BYTE $B0 ; ¦
0C07   .BYTE $B8 ; ©
0C08   .BYTE $2A ; *
0C09   .BYTE $66 ; f
0C0A   .BYTE $44 ; D
0C0B   .BYTE $20
0C0C   .BYTE   0
0C0D   .BYTE   0
0C0E   .BYTE   0
0C0F   .BYTE   0
0C10   .BYTE   1
0C11   .BYTE   0
0C12   .BYTE   0
0C13   .BYTE $20
0C14   .BYTE $20
0C15   .BYTE $10
0C16   .BYTE $7C ; |
0C17   .BYTE $3E ; >
0C18   .BYTE $BE ; ¥
0C19   .BYTE $FC ; ³
0C1A   .BYTE $1C
0C1B   .BYTE $18
0C1C   .BYTE $18
0C1D   .BYTE $18
0C1E   .BYTE $1C
0C1F   .BYTE $1C
0C20   .BYTE  $C
0C21   .BYTE  $C
0C22   .BYTE   8
0C23   .BYTE $18
0C24   .BYTE $18
0C25   .BYTE   0
0C26   .BYTE   0
0C27   .BYTE   0
0C28   .BYTE   0
0C29   .BYTE   0
0C2A   .BYTE   4
0C2B   .BYTE   8
0C2C   .BYTE   8
0C2D   .BYTE $3E ; >
0C2E   .BYTE $1F
0C2F   .BYTE $5F ; _
0C30   .BYTE $7E ; ~
0C31   .BYTE  $E
0C32   .BYTE  $C
0C33   .BYTE  $C
0C34   .BYTE  $E
0C35   .BYTE  $F
0C36   .BYTE  $D
0C37   .BYTE $1D
0C38   .BYTE $54 ; T
0C39   .BYTE $66 ; f
0C3A   .BYTE $22 ; "
0C3B   .BYTE   4
0C3C   .BYTE   0
0C3D   .BYTE   0
0C3E   .BYTE   0
0C3F   .BYTE   0
0C40   .BYTE   0
0C41   .BYTE   0
0C42   .BYTE   0
0C43   .BYTE $24 ; $
0C44   .BYTE $24 ; $
0C45   .BYTE $24 ; $
0C46   .BYTE $7E ; ~
0C47   .BYTE $42 ; B
0C48   .BYTE $5A ; Z
0C49   .BYTE $5A ; Z
0C4A   .BYTE $3C ; <
0C4B   .BYTE $18
0C4C   .BYTE $3C ; <
0C4D   .BYTE $7E ; ~
0C4E   .BYTE $FF
0C4F   .BYTE $BD ; ¢
0C50   .BYTE $BD ; ¢
0C51   .BYTE $24 ; $
0C52   .BYTE $24 ; $
0C53   .BYTE $66 ; f
0C54   .BYTE $66 ; f
0C55   .BYTE   0
0C56   .BYTE   0
0C57   .BYTE   0
0C58   .BYTE   0
0C59   .BYTE   0
0C5A   .BYTE   0
0C5B   .BYTE $24 ; $
0C5C   .BYTE $24 ; $
0C5D   .BYTE $24 ; $
0C5E   .BYTE $7E ; ~
0C5F   .BYTE $42 ; B
0C60   .BYTE $5A ; Z
0C61   .BYTE $5A ; Z
0C62   .BYTE $3C ; <
0C63   .BYTE $18
0C64   .BYTE $3C ; <
0C65   .BYTE $7E ; ~
0C66   .BYTE $FF
0C67   .BYTE $BD ; ¢
0C68   .BYTE $BD ; ¢
0C69   .BYTE $24 ; $
0C6A   .BYTE $24 ; $
0C6B   .BYTE $66 ; f
0C6C   .BYTE $66 ; f
0C6D   .BYTE   0
0C6E   .BYTE   0
0C6F   .BYTE   0
0C70   .BYTE   1
0C71   .BYTE   0
0C72   .BYTE   0
0C73   .BYTE   4
0C74   .BYTE   4
0C75   .BYTE $24 ; $
0C76   .BYTE $7E ; ~
0C77   .BYTE $42 ; B
0C78   .BYTE $5A ; Z
0C79   .BYTE $5A ; Z
0C7A   .BYTE $3C ; <
0C7B   .BYTE $78 ; x
0C7C   .BYTE $FC ; ³
0C7D   .BYTE $BE ; ¥
0C7E   .BYTE $3F ; ?
0C7F   .BYTE $3D ; =
0C80   .BYTE $24 ; $
0C81   .BYTE $26 ; &
0C82   .BYTE $26 ; &
0C83   .BYTE $60 ; `
0C84   .BYTE $60 ; `
0C85   .BYTE   0
0C86   .BYTE   0
0C87   .BYTE   0
0C88   .BYTE   1
0C89   .BYTE   0
0C8A   .BYTE   0
0C8B   .BYTE $20
0C8C   .BYTE $20
0C8D   .BYTE $24 ; $
0C8E   .BYTE $7E ; ~
0C8F   .BYTE $42 ; B
0C90   .BYTE $5A ; Z
0C91   .BYTE $5A ; Z
0C92   .BYTE $3C ; <
0C93   .BYTE $1E
0C94   .BYTE $3F ; ?
0C95   .BYTE $7D ; }
0C96   .BYTE $FC ; ³
0C97   .BYTE $BC ; +
0C98   .BYTE $24 ; $
0C99   .BYTE $64 ; d
0C9A   .BYTE $64 ; d
0C9B   .BYTE   6
0C9C   .BYTE   6
0C9D   .BYTE   0
0C9E   .BYTE   0
0C9F   .BYTE   0
0CA0   .BYTE   1
0CA1   .BYTE   0
0CA2   .BYTE   0
0CA3   .BYTE $20
0CA4   .BYTE $20
0CA5   .BYTE $24 ; $
0CA6   .BYTE $7E ; ~
0CA7   .BYTE $7E ; ~
0CA8   .BYTE $7E ; ~
0CA9   .BYTE $7F ; 
0CAA   .BYTE $3D ; =
0CAB   .BYTE $19
0CAC   .BYTE $BF ; +
0CAD   .BYTE $FE ; ¦
0CAE   .BYTE $7C ; |
0CAF   .BYTE $3C ; <
0CB0   .BYTE $24 ; $
0CB1   .BYTE $64 ; d
0CB2   .BYTE $64 ; d
0CB3   .BYTE   6
0CB4   .BYTE   6
0CB5   .BYTE   0
0CB6   .BYTE   0
0CB7   .BYTE   0
0CB8   .BYTE   1
0CB9   .BYTE   0
0CBA   .BYTE   0
0CBB   .BYTE   4
0CBC   .BYTE   4
0CBD   .BYTE $24 ; $
0CBE   .BYTE $7E ; ~
0CBF   .BYTE $7E ; ~
0CC0   .BYTE $7E ; ~
0CC1   .BYTE $FE ; ¦
0CC2   .BYTE $BC ; +
0CC3   .BYTE $98 ; ÿ
0CC4   .BYTE $FD ; ²
0CC5   .BYTE $7F ; 
0CC6   .BYTE $3E ; >
0CC7   .BYTE $3C ; <
0CC8   .BYTE $24 ; $
0CC9   .BYTE $26 ; &
0CCA   .BYTE $26 ; &
0CCB   .BYTE $60 ; `
0CCC   .BYTE $60 ; `
0CCD   .BYTE   0
0CCE   .BYTE   0
0CCF   .BYTE   0
0CD0   .BYTE   0
0CD1   .BYTE   0
0CD2   .BYTE   0
0CD3   .BYTE $24 ; $
0CD4   .BYTE $24 ; $
0CD5   .BYTE $24 ; $
0CD6   .BYTE $7E ; ~
0CD7   .BYTE $7E ; ~
0CD8   .BYTE $7E ; ~
0CD9   .BYTE $7E ; ~
0CDA   .BYTE $3C ; <
0CDB   .BYTE $18
0CDC   .BYTE $3C ; <
0CDD   .BYTE $7E ; ~
0CDE   .BYTE $FF
0CDF   .BYTE $BD ; ¢
0CE0   .BYTE $BD ; ¢
0CE1   .BYTE $24 ; $
0CE2   .BYTE $24 ; $
0CE3   .BYTE $66 ; f
0CE4   .BYTE $66 ; f
0CE5   .BYTE   0
0CE6   .BYTE   0
0CE7   .BYTE   0
0CE8   .BYTE   0
0CE9   .BYTE   0
0CEA   .BYTE   0
0CEB   .BYTE   0
0CEC   .BYTE   0
0CED   .BYTE   0
0CEE   .BYTE   0
0CEF   .BYTE   0
0CF0   .BYTE   0
0CF1   .BYTE   0
0CF2   .BYTE   0
0CF3   .BYTE  $C
0CF4   .BYTE $1E
0CF5   .BYTE $18
0CF6   .BYTE $1E
0CF7   .BYTE $1F
0CF8   .BYTE $3F ; ?
0CF9   .BYTE $3B ; ;
0CFA   .BYTE $3C ; <
0CFB   .BYTE $3C ; <
0CFC   .BYTE $3E ; >
0CFD   .BYTE $6E ; n
0CFE   .BYTE $76 ; v
0CFF   .BYTE $3F ; ?
0D00   .BYTE $73 ; s
0D01   .BYTE $F1 ; ±
0D02   .BYTE $C1 ; -
0D03   .BYTE $C3 ; +
0D04   .BYTE $E3 ; Ò
0D05   .BYTE   0
0D06   .BYTE   0
0D07   .BYTE   0
0D08   .BYTE   1
0D09   .BYTE   0
0D0A   .BYTE $18
0D0B   .BYTE $3C ; <
0D0C   .BYTE $30 ; 0
0D0D   .BYTE $3C ; <
0D0E   .BYTE $3E ; >
0D0F   .BYTE $3E
0D10   .BYTE $36 ; 6
0D11   .BYTE $30 ; 0
0D12   .BYTE $38 ; 8
0D13   .BYTE $7C ; |
0D14   .BYTE $7C ; |
0D15   .BYTE $7C ; |
0D16   .BYTE $7C ; |
0D17   .BYTE $3C ; <
0D18   .BYTE $38 ; 8
0D19   .BYTE $18
0D1A   .BYTE $1C
0D1B   .BYTE $30 ; 0
0D1C   .BYTE $30 ; 0
0D1D   .BYTE   0
0D1E   .BYTE   0
0D1F   .BYTE   0
0D20   .BYTE   0
0D21   .BYTE   0
0D22   .BYTE   0
0D23   .BYTE $30 ; 0
0D24   .BYTE $78 ; x
0D25   .BYTE $18
0D26   .BYTE $78 ; x
0D27   .BYTE $F8 ; °
0D28   .BYTE $FC ; ³
0D29   .BYTE $DC ; _
0D2A   .BYTE $3C ; <
0D2B   .BYTE $3C ; <
0D2C   .BYTE $7E ; ~
0D2D   .BYTE $76 ; v
0D2E   .BYTE $6C ; l
0D2F   .BYTE $FE ; ¦
0D30   .BYTE $CE ; +
0D31   .BYTE $8F ; Å
0D32   .BYTE $83 ; â
0D33   .BYTE $C3 ; +
0D34   .BYTE $C7 ; Ã
0D35   .BYTE   0
0D36   .BYTE   0
0D37   .BYTE   0
0D38   .BYTE   1
0D39   .BYTE   0
0D3A   .BYTE $18
0D3B   .BYTE $3C ; <
0D3C   .BYTE  $C
0D3D   .BYTE $3C ; <
0D3E   .BYTE $7C ; |
0D3F   .BYTE $7C ; |
0D40   .BYTE $6C ; l
0D41   .BYTE  $C
0D42   .BYTE $1C
0D43   .BYTE $3E ; >
0D44   .BYTE $3E ; >
0D45   .BYTE $3E ; >
0D46   .BYTE $3E ; >
0D47   .BYTE $3C ; <
0D48   .BYTE $1C
0D49   .BYTE $18
0D4A   .BYTE $38 ; 8
0D4B   .BYTE  $C
0D4C   .BYTE  $C
0D4D   .BYTE   0
0D4E   .BYTE   0
0D4F   .BYTE   0
0D50   .BYTE   0
0D51   .BYTE   0
0D52   .BYTE   0
0D53   .BYTE $18
0D54   .BYTE $3C ; <
0D55   .BYTE $3C ; <
0D56   .BYTE   0
0D57   .BYTE $24 ; $
0D58   .BYTE $24 ; $
0D59   .BYTE $7E ; ~
0D5A   .BYTE $FF
0D5B   .BYTE $FF
0D5C   .BYTE $E7 ; þ
0D5D   .BYTE $DB ; ¦
0D5E   .BYTE $BD ; ¢
0D5F   .BYTE $FF
0D60   .BYTE $FF
0D61   .BYTE $BD ; ¢
0D62   .BYTE $99 ; Ö
0D63   .BYTE $DB ; ¦
0D64   .BYTE $3C ; <
0D65   .BYTE   0
0D66   .BYTE   0
0D67   .BYTE   0
0D68   .BYTE   0
0D69   .BYTE   0
0D6A   .BYTE   0
0D6B   .BYTE $18
0D6C   .BYTE $3C ; <
0D6D   .BYTE $3C ; <
0D6E   .BYTE   0
0D6F   .BYTE $24 ; $
0D70   .BYTE $24 ; $
0D71   .BYTE $7E ; ~
0D72   .BYTE $FF
0D73   .BYTE $FF
0D74   .BYTE $E7 ; þ
0D75   .BYTE $DB ; ¦
0D76   .BYTE $BD ; ¢
0D77   .BYTE $FF
0D78   .BYTE $FF
0D79   .BYTE $BD ; ¢
0D7A   .BYTE $99 ; Ö
0D7B   .BYTE $DB ; ¦
0D7C   .BYTE $3C ; <
0D7D   .BYTE   0
0D7E   .BYTE   0
0D7F   .BYTE   0
0D80   .BYTE   1
0D81   .BYTE   0
0D82   .BYTE   0
0D83   .BYTE   0
0D84   .BYTE $30 ; 0
0D85   .BYTE $78 ; x
0D86   .BYTE $78 ; x
0D87   .BYTE   0
0D88   .BYTE $48 ; H
0D89   .BYTE $48 ; H
0D8A   .BYTE $7C ; |
0D8B   .BYTE $3E ; >
0D8C   .BYTE $7E ; ~
0D8D   .BYTE $FE ; ¦
0D8E   .BYTE $FE ; ¦
0D8F   .BYTE $FA ; ·
0D90   .BYTE $FA ; ·
0D91   .BYTE $FA ; ·
0D92   .BYTE $DE ; Ì
0D93   .BYTE $9C ; £
0D94   .BYTE $80 ; Ç
0D95   .BYTE $C0 ; +
0D96   .BYTE   0
0D97   .BYTE   0
0D98   .BYTE   1
0D99   .BYTE   0
0D9A   .BYTE   0
0D9B   .BYTE   0
0D9C   .BYTE  $C
0D9D   .BYTE $1E
0D9E   .BYTE $1E
0D9F   .BYTE   0
0DA0   .BYTE $12
0DA1   .BYTE $12
0DA2   .BYTE $3E ; >
0DA3   .BYTE $7C ; |
0DA4   .BYTE $7E ; ~
0DA5   .BYTE $7F ; 
0DA6   .BYTE $7F ; 
0DA7   .BYTE $5F ; _
0DA8   .BYTE $5F ; _
0DA9   .BYTE $5F ; _
0DAA   .BYTE $7D ; }
0DAB   .BYTE $39 ; 9
0DAC   .BYTE   1
0DAD   .BYTE   3
0DAE   .BYTE   0
0DAF   .BYTE   0
0DB0   .BYTE   1
0DB1   .BYTE   0
0DB2   .BYTE   0
0DB3   .BYTE $30 ; 0
0DB4   .BYTE $78 ; x
0DB5   .BYTE $78 ; x
0DB6   .BYTE $78 ; x
0DB7   .BYTE $F8 ; °
0DB8   .BYTE $F8 ; °
0DB9   .BYTE $FC ; ³
0DBA   .BYTE $FE ; ¦
0DBB   .BYTE $FE ; ¦
0DBC   .BYTE $FE ; ¦
0DBD   .BYTE $FE ; ¦
0DBE   .BYTE $FE ; ¦
0DBF   .BYTE $7A ; z
0DC0   .BYTE $7E ; ~
0DC1   .BYTE $38 ; 8
0DC2   .BYTE $3C ; <
0DC3   .BYTE $30 ; 0
0DC4   .BYTE $70 ; p
0DC5   .BYTE   0
0DC6   .BYTE   0
0DC7   .BYTE   0
0DC8   .BYTE   1
0DC9   .BYTE   0
0DCA   .BYTE   0
0DCB   .BYTE  $C
0DCC   .BYTE $1E
0DCD   .BYTE $1E
0DCE   .BYTE $1E
0DCF   .BYTE $1E
0DD0   .BYTE $1F
0DD1   .BYTE $1F
0DD2   .BYTE $3F ; ?
0DD3   .BYTE $7F ; 
0DD4   .BYTE $7F ; 
0DD5   .BYTE $7F ; 
0DD6   .BYTE $7F ; 
0DD7   .BYTE $5E ; ^
0DD8   .BYTE $7E ; ~
0DD9   .BYTE $1C
0DDA   .BYTE $3C ; <
0DDB   .BYTE  $C
0DDC   .BYTE  $E
0DDD   .BYTE   0
0DDE   .BYTE   0
0DDF   .BYTE   0
0DE0   .BYTE   0
0DE1   .BYTE   0
0DE2   .BYTE   0
0DE3   .BYTE $18
0DE4   .BYTE $3C ; <
0DE5   .BYTE $3C ; <
0DE6   .BYTE $3C ; <
0DE7   .BYTE $3C ; <
0DE8   .BYTE $3C ; <
0DE9   .BYTE $7E ; ~
0DEA   .BYTE $FF
0DEB   .BYTE $FF
0DEC   .BYTE $FF
0DED   .BYTE $FF
0DEE   .BYTE $FF
0DEF   .BYTE $FF
0DF0   .BYTE $FF
0DF1   .BYTE $BD ; ¢
0DF2   .BYTE $99 ; Ö
0DF3   .BYTE $DB ; ¦
0DF4   .BYTE $3C ; <
0DF5   .BYTE   0
0DF6   .BYTE   0
0DF7   .BYTE   0
0DF8   .BYTE   0
0DF9   .BYTE   0
0DFA   .BYTE   0
0DFB   .BYTE   0
0DFC   .BYTE   0
0DFD   .BYTE   0
0DFE   .BYTE   0
0DFF   .BYTE   0
0E00   .BYTE   1
0E01   .BYTE $18
0E02   .BYTE $18
0E03   .BYTE $10
0E04   .BYTE $30 ; 0
0E05   .BYTE $30 ; 0
0E06   .BYTE $10
0E07   .BYTE   0
0E08   .BYTE   0
0E09   .BYTE $18
0E0A   .BYTE $18
0E0B   .BYTE $10
0E0C   .BYTE $30 ; 0
0E0D   .BYTE $10
0E0E   .BYTE $28 ; (
0E0F   .BYTE   0
0E10   .BYTE   1
0E11   .BYTE $18
0E12   .BYTE $18
0E13   .BYTE   8
0E14   .BYTE  $C
0E15   .BYTE  $C
0E16   .BYTE   8
0E17   .BYTE   0
0E18   .BYTE   0
0E19   .BYTE $18
0E1A   .BYTE $18
0E1B   .BYTE   8
0E1C   .BYTE  $C
0E1D   .BYTE   8
0E1E   .BYTE $14
0E1F   .BYTE   0
0E20   .BYTE   0
0E21   .BYTE   0
0E22   .BYTE $18
0E23   .BYTE $3C ; <
0E24   .BYTE $18
0E25   .BYTE $3C ; <
0E26   .BYTE $24 ; $
0E27   .BYTE   0
0E28   .BYTE   0
0E29   .BYTE   0
0E2A   .BYTE $18
0E2B   .BYTE $3C ; <
0E2C   .BYTE $18
0E2D   .BYTE $3C ; <
0E2E   .BYTE $24 ; $
0E2F   .BYTE   0
0E30   .BYTE   1
0E31   .BYTE   0
0E32   .BYTE $18
0E33   .BYTE $18
0E34   .BYTE $1C
0E35   .BYTE $38 ; 8
0E36   .BYTE   8
0E37   .BYTE   0
0E38   .BYTE   0
0E39   .BYTE   0
0E3A   .BYTE $18
0E3B   .BYTE $18
0E3C   .BYTE $38 ; 8
0E3D   .BYTE $1C
0E3E   .BYTE $10
0E3F   .BYTE   0
0E40   .BYTE   1
0E41   .BYTE   0
0E42   .BYTE $18
0E43   .BYTE $1C
0E44   .BYTE $38 ; 8
0E45   .BYTE $18
0E46   .BYTE   8
0E47   .BYTE   0
0E48   .BYTE   0
0E49   .BYTE   0
0E4A   .BYTE $18
0E4B   .BYTE $38 ; 8
0E4C   .BYTE $1C
0E4D   .BYTE $18
0E4E   .BYTE $10
0E4F   .BYTE   0
0E50   .BYTE   1
0E51   .BYTE   0
0E52   .BYTE   0
0E53   .BYTE   0
0E54   .BYTE   0
0E55   .BYTE   0
0E56   .BYTE   0
0E57   .BYTE   0
0E58   .BYTE   0
0E59   .BYTE   0
0E5A   .BYTE   0
0E5B   .BYTE   0
0E5C   .BYTE   0
0E5D   .BYTE   0
0E5E   .BYTE   0
0E5F   .BYTE   0
0E60   .BYTE   0
0E61   .BYTE   0
0E62   .BYTE   0
0E63   .BYTE   0
0E64   .BYTE   0
0E65   .BYTE   0
0E66   .BYTE   0
0E67   .BYTE   0
0E68   .BYTE   0
0E69   .BYTE   0
0E6A   .BYTE   0
0E6B   .BYTE   0
0E6C   .BYTE   0
0E6D   .BYTE   0
0E6E   .BYTE   0
0E6F   .BYTE   0
0E70   .BYTE   0
0E71   .BYTE   0
0E72   .BYTE   0
0E73   .BYTE   0
0E74   .BYTE   0
0E75   .BYTE   0
0E76   .BYTE   0
0E77   .BYTE   0
0E78   .BYTE   0
0E79   .BYTE   0
0E7A   .BYTE   0
0E7B   .BYTE   0
0E7C   .BYTE   0
0E7D   .BYTE   0
0E7E   .BYTE   0
0E7F   .BYTE   0
0E80   .BYTE   1
0E81   .BYTE $18
0E82   .BYTE $18
0E83   .BYTE $10
0E84   .BYTE $30 ; 0
0E85   .BYTE $30 ; 0
0E86   .BYTE $10
0E87   .BYTE   0
0E88   .BYTE   0
0E89   .BYTE $18
0E8A   .BYTE $18
0E8B   .BYTE $10
0E8C   .BYTE $30 ; 0
0E8D   .BYTE $10
0E8E   .BYTE $28 ; (
0E8F   .BYTE   0
0E90   .BYTE   1
0E91   .BYTE $18
0E92   .BYTE $18
0E93   .BYTE   8
0E94   .BYTE  $C
0E95   .BYTE  $C
0E96   .BYTE   8
0E97   .BYTE   0
0E98   .BYTE   0
0E99   .BYTE $18
0E9A   .BYTE $18
0E9B   .BYTE   8
0E9C   .BYTE  $C
0E9D   .BYTE   8
0E9E   .BYTE $14
0E9F   .BYTE   0
0EA0   .BYTE   0
0EA1   .BYTE   0
0EA2   .BYTE $18
0EA3   .BYTE $3C ; <
0EA4   .BYTE $18
0EA5   .BYTE $3C ; <
0EA6   .BYTE $24 ; $
0EA7   .BYTE   0
0EA8   .BYTE   0
0EA9   .BYTE   0
0EAA   .BYTE $18
0EAB   .BYTE $3C ; <
0EAC   .BYTE $18
0EAD   .BYTE $3C ; <
0EAE   .BYTE $24 ; $
0EAF   .BYTE   0
0EB0   .BYTE   1
0EB1   .BYTE   0
0EB2   .BYTE $18
0EB3   .BYTE $18
0EB4   .BYTE $1C
0EB5   .BYTE $38 ; 8
0EB6   .BYTE   8
0EB7   .BYTE   0
0EB8   .BYTE   0
0EB9   .BYTE   0
0EBA   .BYTE $18
0EBB   .BYTE $18
0EBC   .BYTE $38 ; 8
0EBD   .BYTE $1C
0EBE   .BYTE $10
0EBF   .BYTE   0
0EC0   .BYTE   1
0EC1   .BYTE   0
0EC2   .BYTE $18
0EC3   .BYTE $1C
0EC4   .BYTE $38 ; 8
0EC5   .BYTE $18
0EC6   .BYTE   8
0EC7   .BYTE   0
0EC8   .BYTE   0
0EC9   .BYTE   0
0ECA   .BYTE $18
0ECB   .BYTE $38 ; 8
0ECC   .BYTE $1C
0ECD   .BYTE $18
0ECE   .BYTE $10
0ECF   .BYTE   0
0ED0   .BYTE   1
0ED1   .BYTE   0
0ED2   .BYTE   0
0ED3   .BYTE   0
0ED4   .BYTE   0
0ED5   .BYTE   0
0ED6   .BYTE   0
0ED7   .BYTE   0
0ED8   .BYTE   0
0ED9   .BYTE   0
0EDA   .BYTE   0
0EDB   .BYTE   0
0EDC   .BYTE   0
0EDD   .BYTE   0
0EDE   .BYTE   0
0EDF   .BYTE   0
0EE0   .BYTE   0
0EE1   .BYTE   0
0EE2   .BYTE   0
0EE3   .BYTE   0
0EE4   .BYTE   0
0EE5   .BYTE   0
0EE6   .BYTE   0
0EE7   .BYTE   0
0EE8   .BYTE   0
0EE9   .BYTE   0
0EEA   .BYTE   0
0EEB   .BYTE   0
0EEC   .BYTE   0
0EED   .BYTE   0
0EEE   .BYTE   0
0EEF   .BYTE   0
0EF0   .BYTE   0
0EF1   .BYTE   0
0EF2   .BYTE   0
0EF3   .BYTE   0
0EF4   .BYTE   0
0EF5   .BYTE   0
0EF6   .BYTE   0
0EF7   .BYTE   0
0EF8   .BYTE   0
0EF9   .BYTE   0
0EFA   .BYTE   0
0EFB   .BYTE   0
0EFC   .BYTE   0
0EFD   .BYTE   0
0EFE   .BYTE   0
0EFF   .BYTE   0
0F00   .BYTE   1
0F01   .BYTE $18
0F02   .BYTE $18
0F03   .BYTE $10
0F04   .BYTE $30 ; 0
0F05   .BYTE $30 ; 0
0F06   .BYTE $10
0F07   .BYTE   0
0F08   .BYTE   0
0F09   .BYTE $18
0F0A   .BYTE $18
0F0B   .BYTE $10
0F0C   .BYTE $30 ; 0
0F0D   .BYTE $10
0F0E   .BYTE $28 ; (
0F0F   .BYTE   0
0F10   .BYTE   1
0F11   .BYTE $18
0F12   .BYTE $18
0F13   .BYTE   8
0F14   .BYTE  $C
0F15   .BYTE  $C
0F16   .BYTE   8
0F17   .BYTE   0
0F18   .BYTE   0
0F19   .BYTE $18
0F1A   .BYTE $18
0F1B   .BYTE   8
0F1C   .BYTE  $C
0F1D   .BYTE   8
0F1E   .BYTE $14
0F1F   .BYTE   0
0F20   .BYTE   0
0F21   .BYTE   0
0F22   .BYTE $18
0F23   .BYTE $3C ; <
0F24   .BYTE $18
0F25   .BYTE $3C ; <
0F26   .BYTE $24 ; $
0F27   .BYTE   0
0F28   .BYTE   0
0F29   .BYTE   0
0F2A   .BYTE $18
0F2B   .BYTE $3C ; <
0F2C   .BYTE $18
0F2D   .BYTE $3C ; <
0F2E   .BYTE $24 ; $
0F2F   .BYTE   0
0F30   .BYTE   1
0F31   .BYTE   0
0F32   .BYTE $18
0F33   .BYTE $18
0F34   .BYTE $1C
0F35   .BYTE $38 ; 8
0F36   .BYTE   8
0F37   .BYTE   0
0F38   .BYTE   0
0F39   .BYTE   0
0F3A   .BYTE $18
0F3B   .BYTE $18
0F3C   .BYTE $38 ; 8
0F3D   .BYTE $1C
0F3E   .BYTE $10
0F3F   .BYTE   0
0F40   .BYTE   1
0F41   .BYTE   0
0F42   .BYTE $18
0F43   .BYTE $1C
0F44   .BYTE $38 ; 8
0F45   .BYTE $18
0F46   .BYTE   8
0F47   .BYTE   0
0F48   .BYTE   0
0F49   .BYTE   0
0F4A   .BYTE $18
0F4B   .BYTE $38 ; 8
0F4C   .BYTE $1C
0F4D   .BYTE $18
0F4E   .BYTE $10
0F4F   .BYTE   0
0F50   .BYTE   1
0F51   .BYTE   0
0F52   .BYTE   0
0F53   .BYTE   0
0F54   .BYTE   0
0F55   .BYTE   0
0F56   .BYTE   0
0F57   .BYTE   0
0F58   .BYTE   0
0F59   .BYTE   0
0F5A   .BYTE   0
0F5B   .BYTE   0
0F5C   .BYTE   0
0F5D   .BYTE   0
0F5E   .BYTE   0
0F5F   .BYTE   0
0F60   .BYTE   0
0F61   .BYTE   0
0F62   .BYTE   0
0F63   .BYTE   0
0F64   .BYTE   0
0F65   .BYTE   0
0F66   .BYTE   0
0F67   .BYTE   0
0F68   .BYTE   0
0F69   .BYTE   0
0F6A   .BYTE   0
0F6B   .BYTE   0
0F6C   .BYTE   0
0F6D   .BYTE   0
0F6E   .BYTE   0
0F6F   .BYTE   0
0F70   .BYTE   0
0F71   .BYTE   0
0F72   .BYTE   0
0F73   .BYTE   0
0F74   .BYTE   0
0F75   .BYTE   0
0F76   .BYTE   0
0F77   .BYTE   0
0F78   .BYTE   0
0F79   .BYTE   0
0F7A   .BYTE   0
0F7B   .BYTE   0
0F7C   .BYTE   0
0F7D   .BYTE   0
0F7E   .BYTE   0
0F7F   .BYTE   0
0F80   .BYTE   1
0F81   .BYTE  $C
0F82   .BYTE $1C
0F83   .BYTE $10
0F84   .BYTE $18
0F85   .BYTE $18
0F86   .BYTE $18
0F87   .BYTE   0
0F88   .BYTE   0
0F89   .BYTE  $C
0F8A   .BYTE  $C
0F8B   .BYTE $18
0F8C   .BYTE $18
0F8D   .BYTE $24 ; $
0F8E   .BYTE $24 ; $
0F8F   .BYTE   0
0F90   .BYTE   1
0F91   .BYTE $30 ; 0
0F92   .BYTE $38 ; 8
0F93   .BYTE   8
0F94   .BYTE $18
0F95   .BYTE $18
0F96   .BYTE $18
0F97   .BYTE   0
0F98   .BYTE   0
0F99   .BYTE $30 ; 0
0F9A   .BYTE $30 ; 0
0F9B   .BYTE $18
0F9C   .BYTE $18
0F9D   .BYTE $24 ; $
0F9E   .BYTE $24 ; $
0F9F   .BYTE   0
0FA0   .BYTE   0
0FA1   .BYTE $18
0FA2   .BYTE $18
0FA3   .BYTE $3C ; <
0FA4   .BYTE $3C ; <
0FA5   .BYTE $3C ; <
0FA6   .BYTE $3C ; <
0FA7   .BYTE   0
0FA8   .BYTE   0
0FA9   .BYTE $18
0FAA   .BYTE $18
0FAB   .BYTE $3C ; <
0FAC   .BYTE $3C ; <
0FAD   .BYTE $3C ; <
0FAE   .BYTE $3C ; <
0FAF   .BYTE   0
0FB0   .BYTE   1
0FB1   .BYTE $18
0FB2   .BYTE $18
0FB3   .BYTE $38 ; 8
0FB4   .BYTE $3C ; <
0FB5   .BYTE $2C ; ,
0FB6   .BYTE $20
0FB7   .BYTE   0
0FB8   .BYTE   0
0FB9   .BYTE $18
0FBA   .BYTE $18
0FBB   .BYTE $1C
0FBC   .BYTE $3C ; <
0FBD   .BYTE $34 ; 4
0FBE   .BYTE   4
0FBF   .BYTE   0
0FC0   .BYTE   1
0FC1   .BYTE $18
0FC2   .BYTE $38 ; 8
0FC3   .BYTE $38 ; 8
0FC4   .BYTE $3C ; <
0FC5   .BYTE $1C
0FC6   .BYTE $1C
0FC7   .BYTE   0
0FC8   .BYTE   0
0FC9   .BYTE $18
0FCA   .BYTE $1C
0FCB   .BYTE $1C
0FCC   .BYTE $3C ; <
0FCD   .BYTE $38 ; 8
0FCE   .BYTE $38 ; 8
0FCF   .BYTE   0
0FD0   .BYTE   1
0FD1   .BYTE   0
0FD2   .BYTE   0
0FD3   .BYTE   0
0FD4   .BYTE   0
0FD5   .BYTE   0
0FD6   .BYTE   0
0FD7   .BYTE   0
0FD8   .BYTE   0
0FD9   .BYTE   0
0FDA   .BYTE   0
0FDB   .BYTE   0
0FDC   .BYTE   0
0FDD   .BYTE   0
0FDE   .BYTE   0
0FDF   .BYTE   0
0FE0   .BYTE   0
0FE1   .BYTE   0
0FE2   .BYTE   0
0FE3   .BYTE   0
0FE4   .BYTE   0
0FE5   .BYTE   0
0FE6   .BYTE   0
0FE7   .BYTE   0
0FE8   .BYTE   0
0FE9   .BYTE   0
0FEA   .BYTE   0
0FEB   .BYTE   0
0FEC   .BYTE   0
0FED   .BYTE   0
0FEE   .BYTE   0
0FEF   .BYTE   0
0FF0   .BYTE   0
0FF1   .BYTE   0
0FF2   .BYTE   0
0FF3   .BYTE   0
0FF4   .BYTE   0
0FF5   .BYTE   0
0FF6   .BYTE   0
0FF7   .BYTE   0
0FF8   .BYTE   0
0FF9   .BYTE   0
0FFA   .BYTE   0
0FFB   .BYTE   0
0FFC   .BYTE   0
0FFD   .BYTE   0
0FFE   .BYTE   0
0FFF   .BYTE   0
1000 ; ---------------------------------------------------------------------------
1000   JSR   sub_5942
1003   JSR   sub_5A4F
1003 ; ---------------------------------------------------------------------------
1006   .BYTE $20
1007   .BYTE $52 ; R
1008   .BYTE $43 ; C
1009 ; ---------------------------------------------------------------------------
1009 ; START OF FUNCTION CHUNK FOR drawMessageScore
1009
1009 loc_1009:                     ; ...
1009   NOP
100A   NOP
100B   NOP
100C   JMP   start
100C ; END OF FUNCTION CHUNK FOR drawMessageScore
100F
100F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
100F
100F
100F sub_100F:                     ; ...
100F   LDA   #141
100F ; End of function sub_100F
100F
1011
1011 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1011
1011 ; A
1011
1011 decodeCharToMessage:          ; ...
1011   JSR   sub_1129
1014   CMP   #$80
1016   BCC   loc_1022              ; if (A < 128) goto loc_1022
1018   CMP   #$A0
101A   BCC   loc_1028              ; if (A < 160) goto loc_1028
101C   CMP   #$E0
101E   BCS   loc_1022              ; if (A >= 224) goto loc_1022
1020   SBC   #$9F                  ; A -= 159 // si A dans [160; 224[
1022
1022 loc_1022:                     ; ...
1022   JSR   sub_10FB
1025   JMP   loc_102B
1028 ; ---------------------------------------------------------------------------
1028
1028 loc_1028:                     ; ...
1028   JSR   sub_1032
102B
102B loc_102B:                     ; ...
102B   LDY   byte_62
102D   LDX   byte_61
102F   LDA   byte_60
1031   RTS
1031 ; End of function decodeCharToMessage
1031
1032
1032 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1032
1032
1032 sub_1032:                     ; ...
1032
1032 ; FUNCTION CHUNK AT 1047 SIZE 00000021 BYTES
1032 ; FUNCTION CHUNK AT 1078 SIZE 00000004 BYTES
1032 ; FUNCTION CHUNK AT 1084 SIZE 00000009 BYTES
1032
1032   CMP   #$8D
1034   BNE   loc_1047
1034 ; End of function sub_1032
1034
1036
1036 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1036
1036
1036 sub_1036:                     ; ...
1036   LDA   #0
1038   STA   byte_55
103A
103A loc_103A:                     ; ...
103A   INC   byte_54
103C   LDA   byte_54
103E   CMP   byte_5B
1040   BCC   loc_1044
1042
1042 loc_1042:                     ; ...
1042   DEC   byte_54
1044
1044 loc_1044:                     ; ...
1044   JMP   loc_10BE
1044 ; End of function sub_1036
1044
1047 ; ---------------------------------------------------------------------------
1047 ; START OF FUNCTION CHUNK FOR sub_1032
1047
1047 loc_1047:                     ; ...
1047   CMP   #$8A
1049   BEQ   loc_103A
104B   CMP   #$88
104D   BNE   loc_1060
104F   DEC   byte_55
1051   BPL   locret_105F
1053   LDA   byte_53
1055   STA   byte_55
1057   DEC   byte_55
1059
1059 loc_1059:                     ; ...
1059   LDA   byte_5A
105B   CMP   byte_54
105D   BCC   loc_1042
105F
105F locret_105F:                  ; ...
105F   RTS
1060 ; ---------------------------------------------------------------------------
1060
1060 loc_1060:                     ; ...
1060   CMP   #$8B
1062   BEQ   loc_1059
1064   CMP   #$8C
1066   BNE   loc_1078
1066 ; END OF FUNCTION CHUNK FOR sub_1032
1068
1068 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1068
1068
1068 sub_1068:                     ; ...
1068   LDA   #0
106A   STA   byte_55
106C   LDA   byte_5A
106E   STA   byte_54
1070   JSR   loc_10BE
1070 ; End of function sub_1068
1070
1073
1073 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1073
1073
1073 sub_1073:                     ; ...
1073
1073 ; FUNCTION CHUNK AT 1096 SIZE 00000026 BYTES
1073
1073   LDA   byte_5B
1075   JMP   loc_1096
1075 ; End of function sub_1073
1075
1078 ; ---------------------------------------------------------------------------
1078 ; START OF FUNCTION CHUNK FOR sub_1032
1078
1078 loc_1078:                     ; ...
1078   CMP   #$8E
107A   BNE   loc_1084
107A ; END OF FUNCTION CHUNK FOR sub_1032
107C
107C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
107C
107C
107C sub_107C:                     ; ...
107C   LDA   byte_54
107E   CLC
107F   ADC   #1
1081   JMP   loc_1096
1081 ; End of function sub_107C
1081
1084 ; ---------------------------------------------------------------------------
1084 ; START OF FUNCTION CHUNK FOR sub_1032
1084
1084 loc_1084:                     ; ...
1084   CMP   #$8F
1086   BEQ   sub_1073
1088   CMP   #$87
108A   BEQ   sub_108D
108C   RTS
108C ; END OF FUNCTION CHUNK FOR sub_1032
108D
108D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
108D
108D
108D sub_108D:                     ; ...
108D   LDA   byte_9E
108F   BPL   sub_108D
1091   LDA   #4
1093   STA   byte_9E
1095   RTS
1095 ; End of function sub_108D
1095
1096 ; ---------------------------------------------------------------------------
1096 ; START OF FUNCTION CHUNK FOR sub_1073
1096
1096 loc_1096:                     ; ...
1096   STA   byte_5E
1098   LDA   byte_54
109A   PHA
109B   LDA   byte_55
109D   PHA
109E
109E loc_109E:                     ; ...
109E   LDA   #0
10A0   LDY   byte_55               ; // byte_55 offset du curseur
10A2
10A2 loc_10A2:                     ; ...
10A2   STA   (byte_5C),Y           ; // ecriture de A à l'offset (byte_5C) + byte_55
10A4   INY                         ; // incrémenter le curseur
10A5   CPY   byte_53
10A7   BCC   loc_10A2
10A9   LDA   #0
10AB   STA   byte_55               ; byte_55 = 0
10AD   INC   byte_54               ; byte_54 ++
10AF   JSR   loc_10BE
10B2   LDA   byte_54
10B4   CMP   byte_5E
10B6   BCC   loc_109E
10B8   PLA
10B9   STA   byte_55
10BB   PLA
10BB ; END OF FUNCTION CHUNK FOR sub_1073
10BC
10BC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
10BC
10BC
10BC sub_10BC:                     ; ...
10BC   STA   byte_54
10BE
10BE loc_10BE:                     ; ...
10BE   LDA   #0
10C0   STA   byte_5D
10C2   LDA   byte_54
10C4   STA   byte_5C
10C6   ASL   A
10C7   ASL   A
10C8   ASL   A
10C9   ASL   byte_5C
10CB   ADC   byte_5C
10CD   STA   byte_5C
10CF   BCC   loc_10D3
10D1   INC   byte_5D
10D3
10D3 loc_10D3:                     ; ...
10D3   TYA
10D4   PHA
10D5   LDY   byte_BA
10D7
10D7 loc_10D7:                     ; ...
10D7   ASL   byte_5C
10D9   ROL   byte_5D
10DB   INY
10DC   CPY   #2
10DE   BCC   loc_10D7
10E0   PLA
10E1   TAY
10E2
10E2 loc_10E2:                     ; ...
10E2   LDA   #0                    ; LDA
10E4   CLC
10E5   ADC   byte_5C
10E7   STA   byte_5C               ; byte_5C += byte_10E3
10E9
10E9 loc_10E9:                     ; ...
10E9   LDA   #$B5                  ; LDA
10EB   ADC   byte_5D
10ED   STA   byte_5D               ; byte_5D += byte_10EA
10EF   LDA   byte_5C
10F1   CLC
10F2   ADC   byte_52
10F4   STA   byte_5C               ; byte_5C += byte_52
10F6   BCC   locret_10FA           ; if (C == 1)
10F8   INC   byte_5D               ;   byte_5D ++
10FA
10FA locret_10FA:                  ; ...
10FA   RTS
10FA ; End of function sub_10BC
10FA
10FB
10FB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
10FB
10FB
10FB sub_10FB:                     ; ...
10FB   LDY   byte_90               ; // byte_90 à ecrire
10FD   ORA   byte_1107,Y           ; A |= byte_1107 [byte_90]
10FD ; End of function sub_10FB
10FD
1100
1100 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1100
1100
1100 sub_1100:                     ; ...
1100   LDY   byte_55
1102   STA   (byte_5C),Y           ; // ecriture de A a l'offset (byte_5C) + byte_55
1104   INC   byte_55               ; // incrémenter le curseur
1106   RTS
1106 ; End of function sub_1100
1106
1106 ; ---------------------------------------------------------------------------
1107 byte_1107:.BYTE 00000000b     ; ...
1108   .BYTE 01000000b
1109   .BYTE 10000000b
110A   .BYTE 11000000b
110B
110B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
110B
110B ; Attributes: hidden
110B
110B sub_110B:                     ; ...
110B   LDA   #0
110D   STA   byte_5A
110F   STA   byte_52
1111   LDA   #$18
1113   STA   byte_5B
1115   LDA   #$14
1117   STA   byte_53
1119   RTS
1119 ; End of function sub_110B
1119
111A
111A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
111A
111A ; Attributes: hidden
111A
111A sub_111A:                     ; ...
111A   LDA   word_70
111C   CMP   word_72
111E   LDA   word_70+1
1120   SBC   word_72+1
1122   INC   word_70
1124   BNE   locret_1128
1126   INC   word_70+1
1128
1128 locret_1128:                  ; ...
1128   RTS
1128 ; End of function sub_111A
1128
1129
1129 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1129
1129 ; Attributes: hidden
1129
1129 sub_1129:                     ; ...
1129   STA   byte_60
112B   STX   byte_61
112D   STY   byte_62
112F   RTS
112F ; End of function sub_1129
112F
1130
1130 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1130
1130 ; input
1130 ; A: left operand
1130 ; Y: right operand
1130 ; output
1130 ; Y/A, byte_81/byte_82: A * Y
1130 ; Attributes: hidden
1130
1130 mul8BitsBy8Bits:              ; ...
1130   STA   byte_80               ; byte_80 = A // MPD
1132   STY   byte_81               ; byte_81 = Y // MPR
1134   LDA   #0                    ; A = 0
1136   STA   byte_82               ; byte_82 = 0 // PRODL
1138   LDX   #8                    ; X = 8
113A
113A loc_113A:                     ; ...
113A   LSR   byte_81               ; do {
113A                               ;   byte_81 >>C
113C   BCC   loc_1141              ;   if (C == 1) {
113E   CLC                         ;     C = 0
113F   ADC   byte_80               ;     A += byte_80
113F                               ;   }
1141
1141 loc_1141:                     ; ...
1141   ROR   A                     ;   A C>>C
1142   ROR   byte_82               ;   byte_82 C>>C
1144   DEX                         ;   X --
1145   BNE   loc_113A              ; } while (X != 0)
1147   TAY                         ; Y = A // PRODH
1148   STA   byte_81               ; byte_81 = A
114A   LDA   byte_82               ; A = byte_82 // PRODL
114C   RTS
114C ; End of function mul8BitsBy8Bits
114C
114D
114D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
114D
114D ; input
114D ; X: Diviseur
114D ; Y/A: Numérateur
114D ; output
114D ; Y: Reste
114D ; A: Résultat
114D ; Attributes: hidden
114D
114D div8Bits:                     ; ...
114D   STX   byte_80               ; byte_80 = X // Diviseur
114F   STA   byte_81               ; byte_81 = A // Résultat
1151   TYA                         ; A = Y // reste = numérateur
1152   LDX   #8                    ; X = 8 // nb bits
1154
1154 loc_1154:                     ; ...
1154   ASL   byte_81               ; do {
1154                               ;   byte_81 C<< // décaler résultat
1156   ROL   A                     ;   ROL A C<byte_80
1159   BCC   loc_115F              ;   if (A >= byte_80) {
115B   SBC   byte_80               ;     A  -= byte_80
115D   INC   byte_81               ;     byte_81 ++
115D                               ;   }
115F
115F loc_115F:                     ; ...
115F   DEX                         ;   X --
1160   BNE   loc_1154              ; } while (X != 0)
1162   TAY                         ; Y = A       // Reste
1163   LDA   byte_81               ; A = byte_81 // Résultat
1165   RTS
1165 ; End of function div8Bits
1165
1165 ; ---------------------------------------------------------------------------
1166   .BYTE $20
1167   .BYTE $4D ; M
1168   .BYTE $11
1169   .BYTE $98 ; ÿ
116A   .BYTE $46 ; F
116B   .BYTE $80 ; Ç
116C   .BYTE $C5 ; +
116D   .BYTE $80 ; Ç
116E   .BYTE $90 ; É
116F   .BYTE   2
1170   .BYTE $E6 ; µ
1171   .BYTE $81 ; ü
1172   .BYTE $A5 ; Ñ
1173   .BYTE $81 ; ü
1174   .BYTE $60 ; `
1175
1175 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1175
1175 ; Y/A: High/Low address
1175
1175 addMessage:                   ; ...
1175   STA   byte_80
1177   STY   byte_81
1177 ; End of function addMessage
1177
1179
1179 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1179
1179 ; byte_81/byte_80: High/Low address
1179
1179 addToMessage2:                ; ...
1179   LDY   #0
117B   LDA   (byte_80),Y           ; A = (byte_80) + Y // 3E89
117D   INC   byte_80
117F   BNE   loc_1183
1181   INC   byte_81               ; byte_81/byte_80 ++
1183
1183 loc_1183:                     ; ...
1183   TAY                         ; Y = A
1184   BPL   loc_118C              ; if (A >= $80) {
1186   JSR   decodeCharToMessage   ; A
1189   JMP   addToMessage2         ;
1189                               ; }
118C ; ---------------------------------------------------------------------------
118C
118C loc_118C:                     ; ...
118C   ORA   #10000000b            ; A = -A
118E   JMP   decodeCharToMessage   ; // derniere itération
118E ; End of function addToMessage2
118E
1191
1191 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1191
1191 ; input
1191 ; A: borne supérieure
1191 ; output
1191 ; A: un nombre aléatoire [0; A[
1191 ;
1191 ; calcul un nombre aléatoire entre 0 et A
1191
1191 random_0_A:                   ; ...
1191   STA   byte_80               ; off_80 = A
1193   CMP   #2
1195   BCS   loc_119A              ; if (A < 2) {
1197   LDA   #0                    ;   A = 0
1199   RTS                         ;   return
1199                               ; }
119A ; ---------------------------------------------------------------------------
119A
119A loc_119A:                     ; ...
119A   LDA   OS_SKREST_RANDOM      ; do {
119A                               ;   A = random
119D   CMP   byte_80
119F   BCS   loc_119A              ; } while (A >= off_80)
11A1   RTS                         ; return
11A1 ; End of function random_0_A
11A1
11A2
11A2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
11A2
11A2 ; input
11A2 ; Y/A: Numérateur 16 bits
11A2 ; X:   Diviseur
11A2 ; output
11A2 ; Y/A, byte_82/byte_81: Résultat
11A2 ;      byte_84/byte_83: Reste
11A2 ;
11A2 ; Y/A /= X
11A2
11A2 div16Bits:                    ; ...
11A2   STX   byte_80               ; byte_80 = X // Diviseur
11A4   STA   byte_81               ; byte_81 = A // Numérateur
11A6   STY   byte_82               ; byte_82 = Y // Numérateur +1
11A8   LDA   #0
11AA   STA   byte_83               ; byte_83 = 0 // Reste
11AC   STA   byte_84               ; byte_84 = 0 // Reste +1
11AE   LDX   #16                   ; X = 16
11B0   CLC
11B1
11B1 loc_11B1:                     ; ...
11B1   ROL   byte_81               ; do {
11B1                               ;   byte_81 <<
11B3   ROL   byte_82               ;   byte_82 <<
11B5   ROL   byte_83               ;   byte_83 <<
11B7   ROL   byte_84               ;   byte_84 <<
11B9   SEC
11BA   LDA   byte_83
11BC   SBC   byte_80               ;   A = byte_83 - byte_80
11BE   TAY                         ;   Y = A
11BF   LDA   byte_84
11C1   SBC   #0                    ;   A = byte_84 - 0
11C3   BCC   loc_11C9              ;   if (A >= 0) {
11C5   STY   byte_83               ;     byte_83 = Y
11C7   STA   byte_84               ;     byte_84 = A
11C7                               ;   }
11C9
11C9 loc_11C9:                     ; ...
11C9   DEX                         ;   X --
11CA   BNE   loc_11B1              ; } while (X != 0)
11CC   ROL   byte_81               ; byte_81 <<
11CE   ROL   byte_82               ; byte_82 <<
11D0   LDA   byte_81               ; A = byte_81
11D2   LDY   byte_82               ; Y = byte_82
11D4   RTS
11D4 ; End of function div16Bits
11D4
11D5
11D5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
11D5
11D5 ; Y/A: High/Low address + ($00/X)*$10
11D5 ; Attributes: hidden
11D5
11D5 addToMessageWithOffset:       ; ...
11D5   STA   byte_80               ; // A = $AB
11D5                               ; // Y = $3E
11D5                               ; // X =
11D5                               ; // 0: MONEY
11D5                               ; // 1: LAND_
11D5                               ; // 2: GOODS
11D5                               ; // 3: TOTAL
11D5                               ; byte_80 = A // $AB
11D7   LDA   #0
11D9   STA   byte_82               ; byte_82 = 0
11DB   STY   byte_81               ; byte_81 = Y // $3E
11DD   TXA                         ; A = X // 0, 1, 2, 3, ...
11DE   ASL   A                     ; A C<<
11DF   ROL   byte_82               ; byte_82 C<byte_82
11E4   ASL   A
11E5   ROL   byte_82
11E7   ASL   A
11E8   ROL   byte_82               ; byte_82/A  = 0/A << 4 // 0/0, 1, 2, ... << 4
11EA   CLC
11EB   ADC   byte_80
11ED   STA   byte_80               ; byte_80 = A + byte_80 // A + $AB
11EF   LDA   byte_82
11F1   ADC   byte_81               ; A = byte_82 + byte_81 + C // byte_82 + $3E + C
11F1                               ;
11F1                               ; A/byte_80 = byte_82 + $3E / A + $AB
11F1                               ;
11F1                               ; // au final:
11F1                               ; A/byte_80 = (Y/A) + ( ($00/X)*$10) // $3E/$AB
11F3   TAY                         ; Y = A
11F4   LDA   byte_80               ; A = byte_80
11F6   JMP   addMessage            ; Y/A: High/Low address
11F6 ; End of function addToMessageWithOffset
11F6
11F9
11F9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
11F9
11F9 ; input
11F9 ; A/X: nombre 16 bits
11F9
11F9 decodeNumberToMessage:        ; ...
11F9   STX   byte_80
11FB   STA   byte_81               ; byte_81/byte_80 = A/X
11FD   LDY   #5
11FF   STY   byte_84               ; byte_84 = 5 // 16 bits tiens sur 5 digits (65535)
1201
1201 loc_1201:                     ; ...
1201   LDA   #0                    ; do {
1203   STA   byte_82               ; byte_82 = 0
1205   STA   byte_83               ; byte_83 = 0
1207   LDX   #16                   ; X = 16 // nombre de bits
1209   CLC                         ; C = 0
120A
120A loc_120A:                     ; ...
120A   ROL   byte_80               ; do {
120C   ROL   byte_81
120E   ROL   byte_82
1210   ROL   byte_83               ;   byte_83/byte_82/byte_81/byte_80 C<byte_82
1215   SBC   #$A
1217   TAY                         ;   Y = byte_82 - $A
1218   LDA   byte_83
121A   SBC   #0                    ;   A = byte_83 - 0
121A                               ;   // A/Y = byte_83/byte_82 - $00/$0A
121C   BCC   loc_1222              ;   if (C == 1) { // si pas d'overflow
121E   STY   byte_82               ;     byte_82 = Y
1220   STA   byte_83               ;     byte_83 = A
1220                               ;   }
1222
1222 loc_1222:                     ; ...
1222   DEX                         ;   X --
1223   BNE   loc_120A              ; } while (X != 0)
1225   ROL   byte_80
1227   ROL   byte_81               ; byte_81/byte_80 C<byte_82               ; A = byte_82
122B   BNE   loc_1234              ; if ( (A == 0) && (OS_CHBAS < 0) )
122D   LDY   OS_CHBAS
1230   BPL   loc_1234
1232   LDA   #$1F                  ;   A = $1F
1234
1234 loc_1234:                     ; ...
1234   CLC
1235   ADC   #$B0                  ; A += $80
1237   LDY   byte_84
1239   STA   BUFFER_CONVERT_NUMBER,Y ; BUFFER [byte_84] = A
123C   DEC   byte_84               ; byte_84 --
123E   LDA   byte_80
1240   ORA   byte_81
1242   BNE   loc_1201              ; } while ( (byte_80 != 0) && (byte_81 != 0) )
1244   INC   byte_84               ; byte_84 ++
1244 ; ---------------------------------------------------------------------------
1246 byte_1246:.BYTE $A4           ; ...
1246                               ; LDY ou STY
1247   .BYTE $84 ; ä
1248 ; ---------------------------------------------------------------------------
1248
1248 loc_1248:                     ; ...
1248   LDA   BUFFER_CONVERT_NUMBER,Y ; do {
1248                               ;   A = BUFFER [Y]
124B   JSR   decodeCharToMessage   ; A
124E   INY                         ;   Y ++
124F   CPY   #6
1251   BCC   loc_1248              ; } while (Y < 6)
1253   RTS
1253 ; End of function decodeNumberToMessage
1253
1254
1254 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1254
1254 ; input
1254 ; A: value
1254 ; Y: fluctuation
1254 ;
1254 ; output
1254 ; A, byte_81: partie entiere signée de la variation
1254 ; byte_80: partie numérique
1254 ;
1254 ; Si Y=0 alors pas de variation
1254 ; Si Y=1 alors
1254 ;   A = A + int ( 1/2 * binomial [-6.0; 6.0] )
1254 ; Si Y>=2 alors
1254 ;   A = A + int ( (Y-1) * binomial [-6.0; 6.0] )
1254 ;
1254 ; Utilisée pour:
1254 ; - prix du smithore
1254 ; - production
1254 ; - nb de terres à vendre
1254 ;
1254 ; Répartition:
1254 ; -4:  0.013%
1254 ; -3:  0.562%
1254 ; -2:  6.248%
1254 ; -1: 24.303%
1254 ;  0: 37.748%
1254 ;  1: 24.303%
1254 ;  2:  6.248%
1254 ;  3:  0.562%
1254 ;  4:  0.013%
1254
1254 calcBinomial:                 ; ...
1254   CPY   #0
1256   BEQ   locret_12B7           ; if (Y == 0)
1256                               ;   return
1258   STY   byte_84               ; byte_84 = Y
125A   STA   byte_9B               ; byte_9B = A
125C   LDA   #0
125E   STA   byte_80               ; byte_80 = 0
1260   STA   byte_81               ; byte_81 = 0
1262   STA   byte_82               ; byte_82 = 0
1264   LDY   #12                   ; Y = 12
1266
1266 loc_1266:                     ; ...
1266   LDA   OS_SKREST_RANDOM      ; for (Y=12; Y!=0; Y--) {
1269   CLC
126A   ADC   byte_80
126C   STA   byte_80
126E   LDA   #0
1270   ADC   byte_81
1272   STA   byte_81               ;   byte_81/byte_80 += $00/random [0; 255]
1274   DEY                         ;   Y --
1275   BNE   loc_1266              ; }
1275                               ; // byte_81/byte_80 = random [0; 3060]
1277   LDA   byte_80
1279   SEC
127A   SBC   #$FA
127C   STA   byte_80
127E   LDA   byte_81
1280   SBC   #5
1282   STA   byte_81               ; byte_81/byte_80 -= $05FA // 1530
1282                               ; // byte_81/byte_80 = random [-1530; 1530]
1284   LDY   byte_84               ; Y = byte_84
1286   LDA   byte_80
1288   STA   byte_82
128A   LDA   byte_81
128C   STA   byte_83               ; byte_83/byte_82 = byte_81/byte_80
128E   DEY                         ; Y = byte_84 - 1
128F   BEQ   loc_12A5              ; // si byte_84 == 2 alors *1 et tout sauter
128F                               ; if (byte_84 != 2) {
128F                               ;   // si byte_84 == 1 alors *1/2 et sauter en partie
128F                               ;   if (byte_84 != 1) { // *1/2
1291   CPY   #1                    ;     //ici si Y>=2
1293   BEQ   loc_12AA
1295
1295 loc_1295:                     ; ...
1295   LDA   byte_82               ;     do {
1297   CLC
1298   ADC   byte_80
129A   STA   byte_80
129C   LDA   byte_83
129E   ADC   byte_81
12A0   STA   byte_81               ;       byte_81/byte_80 += byte_83/byte_82
12A2   DEY                         ;       Y --
12A3   BNE   loc_1295              ;     } while (Y != 0)
12A3                               ;     // byte_81/byte_80 *= byte_84
12A3                               ;   }
12A5
12A5 loc_12A5:                     ; ...
12A5   ASL   A
12A6   ROR   byte_81
12A8   ROR   byte_80               ;   byte_81/byte_80 C>>C
12A8                               ;   byte_81/byte_80 /= 2 // en gardant le bit de signe
12A8                               ;   // byte_81/byte_80 *= (byte_84 - 1)
12A8                               ; }
12AA
12AA loc_12AA:                     ; ...
12AA   LDA   byte_80
12AC   CMP   #129
12AE   BCC   loc_12B2              ; // arrondir au sup si byte_80 > 128
12AE                               ; if (byte_80 > 128) {
12B0   INC   byte_81               ;   byte_81 ++
12B0                               ; }
12B2
12B2 loc_12B2:                     ; ...
12B2   LDA   byte_81
12B4   CLC
12B5   ADC   byte_9B               ; A = byte_81 + byte_9B
12B7
12B7 locret_12B7:                  ; ...
12B7   RTS
12B7 ; End of function calcBinomial
12B7
12B8
12B8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
12B8
12B8
12B8 C1_255:                       ; ...
12B8   LDA   #255
12BA   STA   byte_C1
12BC   RTS
12BC ; End of function C1_255
12BC
12BD
12BD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
12BD
12BD ; input
12BD ; A: ligne   [0;4]
12BD ; X: colonne [0;8]
12BD ; output
12BD ; A, X: l'index à la ligne A, colonne X de la carte
12BD ;
12BD ; A, X = A*9 + X
12BD
12BD plotCoordToIndex:             ; ...
12BD   STA   byte_80
12BF   STX   byte_81
12C1   ASL   A
12C2   ASL   A
12C3   ASL   A
12C4   ADC   byte_80
12C6   ADC   byte_81               ; A = A*8 + A + X
12C8   TAX                         ; X = A
12C9   RTS
12C9 ; End of function plotCoordToIndex
12C9
12CA
12CA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
12CA
12CA
12CA sub_12CA:                     ; ...
12CA   CLC
12CB   ADC   #188
12CD   STA   loc_12D3+2
12D0   LDA   #0
12D2   TAY
12D3
12D3 loc_12D3:                     ; ...
12D3   STA   $BD00,Y
12D6   INY
12D7   BNE   loc_12D3
12D9   RTS
12D9 ; End of function sub_12CA
12D9
12DA
12DA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
12DA
12DA
12DA initBB00ToBFFF:               ; ...
12DA   LDA   #0
12DC   TAY
12DD
12DD loc_12DD:                     ; ...
12DD   STA   charTime,Y
12E0   STA   byte_BC00,Y
12E3   STA   wampusSprite,Y
12E6   STA   byte_BE00,Y
12E9   STA   byte_BF00,Y
12EC   INY
12ED   BNE   loc_12DD
12EF   RTS
12EF ; End of function initBB00ToBFFF
12EF
12F0
12F0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
12F0
12F0
12F0 sub_12F0:                     ; ...
12F0   CLC
12F1   LDA   byte_5C
12F3   ADC   #20
12F5   STA   byte_5C               ; byte_5C += 20
12F7   BCC   loc_12FB
12F9   INC   byte_5D               ;   off_5D ++
12F9                               ; }
12FB
12FB loc_12FB:                     ; ...
12FB   INC   byte_54               ; byte_54 ++
12FD   DEC   byte_55               ; byte_55 --
12FF   RTS
12FF ; End of function sub_12F0
12FF
1300
1300 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1300
1300
1300 sub_1300:                     ; ...
1300   SEC
1301   LDA   byte_5C
1303   SBC   #20
1305   STA   byte_5C
1307   BCS   loc_130B
1309   DEC   byte_5D
130B
130B loc_130B:                     ; ...
130B   DEC   byte_54
130D   DEC   byte_55
130F   RTS
130F ; End of function sub_1300
130F
1310
1310 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1310
1310 ; input
1310 ; A: temps à attendre en jiffy (1/60 seconds)
1310
1310 waitJiffy:                    ; ...
1310   CMP   #0
1312   BEQ   locret_131B
1314   CLC
1315   ADC   OS_RTCLOK
1317
1317 loc_1317:                     ; ...
1317   CMP   OS_RTCLOK
1319   BNE   loc_1317
131B
131B locret_131B:                  ; ...
131B   RTS
131B ; End of function waitJiffy
131B
131C
131C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
131C
131C
131C initPlayersButtons:           ; ...
131C   LDA   #1
131E   STA   playersButtonPushed
1320   STA   playersButtonPushed+1
1322   STA   playersButtonPushed+2
1324   STA   playersButtonPushed+3 ; playersButtonPushed [PLAYERS] = No
1326   LDA   #0
1328   STA   byte_95
132A   RTS
132A ; End of function initPlayersButtons
132A
132B
132B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
132B
132B
132B prepareStaticMessage:         ; ...
132B   LDA   #$28
132D   STA   byte_53
132F   LDA   #22
1331   JSR   sub_10BC
1334   LDA   #0
1336   STA   byte_55
1338   STA   byte_90
133A   JSR   sub_1073
133D   LDA   #20
133F   STA   byte_53
1341   RTS
1341 ; End of function prepareStaticMessage
1341
1342
1342 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1342
1342 ; input
1342 ; Y
1342
1342 decodeNumberAndCharToMessage: ; ...
1342   STY   byte_1354
1345   LDY   #96
1347   STY   byte_1246
134A   JSR   decodeNumberToMessage ; input
134A                               ; A/X: nombre 16 bits
134D   LDX   #1
134F
134F loc_134F:                     ; ...
134F   CPX   byte_84
1351   BCS   loc_135B
1351 ; ---------------------------------------------------------------------------
1353   .BYTE $A9 ; ®               ; LDA Y
1354 byte_1354:.BYTE $FF           ; ...
1355 ; ---------------------------------------------------------------------------
1355   JSR   decodeCharToMessage   ; A
1358   INX
1359   BNE   loc_134F
135B
135B loc_135B:                     ; ...
135B   LDA   #$A4
135D   STA   byte_1246
1360   JMP   byte_1246
1360 ; End of function decodeNumberAndCharToMessage
1360
1363
1363 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1363
1363
1363 sub_1363:                     ; ...
1363   LDA   #0
1365   STA   OS_AUDCTL_ALLPOT
1368   LDA   #19
136A   STA   OS_SKCTL_SKSTAT
136A ; End of function sub_1363
136A
136D
136D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
136D
136D
136D sub_136D:                     ; ...
136D   LDA   #0
136F   LDX   #7
1371
1371 loc_1371:                     ; ...
1371   STA   OS_AUDF1_POT1,X
1374   DEX
1375   BPL   loc_1371
1377   RTS
1377 ; End of function sub_136D
1377
1378
1378 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1378
1378
1378 sub_1378:                     ; ...
1378   LDA   byte_C1
137A   PHA
137B   LDA   #$FF
137D   STA   byte_C1
137F
137F loc_137F:                     ; ...
137F   LDA   #4
1381   STA   byte_9E
1383
1383 loc_1383:                     ; ...
1383   LDA   byte_9E
1385   BPL   loc_1383
1387   LDA   #1
1389   JSR   waitJiffy             ; input
1389                               ; A: temps à attendre en jiffy (1/60 seconds)
138C   DEX
138D   BNE   loc_137F
138F   PLA
1390   STA   byte_C1
1392   RTS
1392 ; End of function sub_1378
1392
1393
1393 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
1393
1393 ; input
1393 ; Y/A
1393 ; X
1393 ; output
1393 ; Y/A, byte_81, byte_80: Y/A *= X
1393 ;
1393 ; Multiplie Y/A par X
1393
1393 mul16BitsBy8Bits:             ; ...
1393   STA   byte_82               ; byte_82 = A
1395   STY   byte_83               ; byte_83 = Y
1397   LDA   #0
1399   STA   byte_80               ; byte_80 = 0
139B   STA   byte_81               ; byte_81 = 0
139D   CPX   #0
139F   BEQ   loc_13B1              ; if (X != 0) {
13A1
13A1 loc_13A1:                     ; ...
13A1   LDA   byte_82               ;   do {
13A3   CLC
13A4   ADC   byte_80
13A6   STA   byte_80
13A8   LDA   byte_83
13AA   ADC   byte_81
13AC   STA   byte_81               ;     byte_81/byte_80 += byte_83/byte_82
13AE   DEX                         ;     X --
13AF   BNE   loc_13A1              ;   } while (X != 0)
13AF                               ;   // byte_81/byte_80 = (byte_83/byte_82) * X
13B1
13B1 loc_13B1:                     ; ...
13B1   LDA   byte_80               ; }
13B1                               ; A = byte_80
13B3   LDY   byte_81               ; Y = byte_81
13B5   RTS                         ; return
13B5 ; End of function mul16BitsBy8Bits
13B5
13B5 ; ---------------------------------------------------------------------------
13B6   .BYTE   0
13B7   .BYTE   0
13B8   .BYTE   0
13B9   .BYTE   0
13BA   .BYTE   0
13BB   .BYTE   0
13BC   .BYTE   0
13BD   .BYTE   0
13BE   .BYTE   0
13BF   .BYTE   0
13C0   .BYTE   0
13C1   .BYTE   0
13C2   .BYTE   0
13C3   .BYTE   0
13C4   .BYTE   0
13C5   .BYTE   0
13C6   .BYTE   0
13C7   .BYTE   0
13C8   .BYTE   0
13C9   .BYTE   0
13CA   .BYTE   0
13CB   .BYTE   0
13CC   .BYTE   0
13CD   .BYTE   0
13CE   .BYTE   0
13CF   .BYTE   0
13D0   .BYTE   0
13D1   .BYTE   0
13D2   .BYTE   0
13D3   .BYTE   0
13D4   .BYTE   0
13D5   .BYTE   0
13D6   .BYTE   0
13D7   .BYTE   0
13D8   .BYTE   0
13D9   .BYTE   0
13DA   .BYTE   0
13DB   .BYTE   0
13DC   .BYTE   0
13DD   .BYTE   0
13DE   .BYTE   0
13DF   .BYTE   0
13E0   .BYTE   0
13E1   .BYTE   0
13E2   .BYTE   0
13E3   .BYTE   0
13E4   .BYTE   0
13E5   .BYTE   0
13E6   .BYTE   0
13E7   .BYTE   0
13E8   .BYTE   0
13E9   .BYTE   0
13EA   .BYTE   0
13EB   .BYTE   0
13EC   .BYTE   0
13ED   .BYTE   0
13EE   .BYTE   0
13EF   .BYTE   0
13F0   .BYTE   0
13F1   .BYTE   0
13F2   .BYTE   0
13F3   .BYTE   0
13F4   .BYTE   0
13F5   .BYTE   0
13F6   .BYTE   0
13F7   .BYTE   0
13F8   .BYTE   0
13F9   .BYTE   0
13FA   .BYTE   0
13FB   .BYTE   0
13FC   .BYTE   0
13FD   .BYTE   0
13FE   .BYTE   0
13FF   .BYTE   0
1400   .BYTE   0
1401   .BYTE   0
1402   .BYTE   0
1403   .BYTE   0
1404   .BYTE   0
1405   .BYTE   0
1406   .BYTE   0
1407   .BYTE   0
1408   .BYTE $FF
1409   .BYTE $FF
140A   .BYTE $FF
140B   .BYTE $FF
140C   .BYTE $FF
140D   .BYTE $FF
140E   .BYTE $FF
140F   .BYTE $FF
1410   .BYTE $F0 ; ­
1411   .BYTE $F0 ; ­
1412   .BYTE $F0 ; ­
1413   .BYTE $F0 ; ­
1414   .BYTE $F0 ; ­
1415   .BYTE $F0 ; ­
1416   .BYTE $FF
1417   .BYTE $FF
1418   .BYTE  $F
1419   .BYTE  $F
141A   .BYTE  $F
141B   .BYTE  $F
141C   .BYTE  $F
141D   .BYTE  $F
141E   .BYTE $FF
141F   .BYTE $FF
1420   .BYTE $55 ; U
1421   .BYTE $55 ; U
1422   .BYTE $55 ; U
1423   .BYTE $55 ; U
1424   .BYTE $55 ; U
1425   .BYTE $55 ; U
1426   .BYTE $55 ; U
1427   .BYTE $55 ; U
1428   .BYTE $50 ; P
1429   .BYTE $50 ; P
142A   .BYTE $50 ; P
142B   .BYTE $50 ; P
142C   .BYTE $50 ; P
142D   .BYTE $50 ; P
142E   .BYTE $55 ; U
142F   .BYTE $55 ; U
1430   .BYTE   5
1431   .BYTE   5
1432   .BYTE   5
1433   .BYTE   5
1434   .BYTE   5
1435   .BYTE   5
1436   .BYTE $55 ; U
1437   .BYTE $55 ; U
1438   .BYTE $AA ; ¬
1439   .BYTE $AA ; ¬
143A   .BYTE $AA ; ¬
143B   .BYTE $AA ; ¬
143C   .BYTE $AA ; ¬
143D   .BYTE $AA ; ¬
143E   .BYTE $AA ; ¬
143F   .BYTE $AA ; ¬
1440   .BYTE $A0 ; á
1441   .BYTE $A0 ; á
1442   .BYTE $A0 ; á
1443   .BYTE $A0 ; á
1444   .BYTE $A0 ; á
1445   .BYTE $A0 ; á
1446   .BYTE $AA ; ¬
1447   .BYTE $AA ; ¬
1448   .BYTE  $A
1449   .BYTE  $A
144A   .BYTE  $A
144B   .BYTE  $A
144C   .BYTE  $A
144D   .BYTE  $A
144E   .BYTE $AA ; ¬
144F   .BYTE $AA ; ¬
1450   .BYTE   0
1451   .BYTE   0
1452   .BYTE $30 ; 0
1453   .BYTE $30 ; 0
1454   .BYTE $30 ; 0
1455   .BYTE $30 ; 0
1456   .BYTE $30 ; 0
1457   .BYTE $FC ; ³
1458   .BYTE   0
1459   .BYTE $3C ; <
145A   .BYTE $3C ; <
145B   .BYTE $F0 ; ­
145C   .BYTE $C0 ; +
145D   .BYTE $C0 ; +
145E   .BYTE $C0 ; +
145F   .BYTE   0
1460   .BYTE   0
1461   .BYTE $3F ; ?
1462   .BYTE $3C ; <
1463   .BYTE $3F ; ?
1464   .BYTE $3C ; <
1465   .BYTE $3C ; <
1466   .BYTE $3F ; ?
1467   .BYTE   0
1468   .BYTE   0
1469   .BYTE $F0 ; ­
146A   .BYTE $3C ; <
146B   .BYTE $3C ; <
146C   .BYTE $F0 ; ­
146D   .BYTE   0
146E   .BYTE   0
146F   .BYTE   0
1470   .BYTE   0
1471   .BYTE $3C ; <
1472   .BYTE $3C ; <
1473   .BYTE $3C ; <
1474   .BYTE $3C ; <
1475   .BYTE $3C ; <
1476   .BYTE $3F ; ?
1477   .BYTE   0
1478   .BYTE   0
1479   .BYTE $3C ; <
147A   .BYTE $3C ; <
147B   .BYTE $3C ; <
147C   .BYTE $3C ; <
147D   .BYTE $3C ; <
147E   .BYTE $FC ; ³
147F   .BYTE   0
1480   .BYTE $40 ; @
1481   .BYTE $14
1482   .BYTE   5
1483   .BYTE   1
1484   .BYTE   1
1485   .BYTE   5
1486   .BYTE $55 ; U
1487   .BYTE $55 ; U
1488   .BYTE   0
1489   .BYTE   0
148A   .BYTE $10
148B   .BYTE $40 ; @
148C   .BYTE $40 ; @
148D   .BYTE $50 ; P
148E   .BYTE $55 ; U
148F   .BYTE $55 ; U
1490   .BYTE   0
1491   .BYTE   0
1492   .BYTE   0
1493   .BYTE   0
1494   .BYTE   0
1495   .BYTE   0
1496   .BYTE   0
1497   .BYTE $50 ; P
1498   .BYTE   1
1499   .BYTE   1
149A   .BYTE   1
149B   .BYTE   5
149C   .BYTE   5
149D   .BYTE $15
149E   .BYTE $1A
149F   .BYTE $1A
14A0   .BYTE $55 ; U
14A1   .BYTE $55 ; U
14A2   .BYTE $56 ; V
14A3   .BYTE $5A ; Z
14A4   .BYTE $59 ; Y
14A5   .BYTE $6A ; j
14A6   .BYTE $6B ; k
14A7   .BYTE $AA ; ¬
14A8   .BYTE $55 ; U
14A9   .BYTE $55 ; U
14AA   .BYTE $96 ; û
14AB   .BYTE $5A ; Z
14AC   .BYTE $59 ; Y
14AD   .BYTE $AA ; ¬
14AE   .BYTE $EF ; ´
14AF   .BYTE $95 ; ò
14B0   .BYTE $54 ; T
14B1   .BYTE $55 ; U
14B2   .BYTE $95 ; ò
14B3   .BYTE $55 ; U
14B4   .BYTE $55 ; U
14B5   .BYTE $95 ; ò
14B6   .BYTE $95 ; ò
14B7   .BYTE $65 ; e
14B8   .BYTE   0
14B9   .BYTE   0
14BA   .BYTE $50 ; P
14BB   .BYTE $50 ; P
14BC   .BYTE $54 ; T
14BD   .BYTE $54 ; T
14BE   .BYTE $54 ; T
14BF   .BYTE $55 ; U
14C0   .BYTE   0
14C1   .BYTE   0
14C2   .BYTE   0
14C3   .BYTE   0
14C4   .BYTE   0
14C5   .BYTE   0
14C6   .BYTE $15
14C7   .BYTE $40 ; @
14C8   .BYTE   0
14C9   .BYTE   0
14CA   .BYTE   0
14CB   .BYTE   0
14CC   .BYTE   0
14CD   .BYTE $50 ; P
14CE   .BYTE   5
14CF   .BYTE   0
14D0   .BYTE  $C
14D1   .BYTE $3C ; <
14D2   .BYTE   0
14D3   .BYTE   0
14D4   .BYTE   0
14D5   .BYTE   0
14D6   .BYTE  $F
14D7   .BYTE   0
14D8   .BYTE   0
14D9   .BYTE $F0 ; ­
14DA   .BYTE $3C ; <
14DB   .BYTE $F0 ; ­
14DC   .BYTE $3C ; <
14DD   .BYTE $3C ; <
14DE   .BYTE $F0 ; ­
14DF   .BYTE   0
14E0   .BYTE $1A
14E1   .BYTE $1A
14E2   .BYTE $5A ; Z
14E3   .BYTE $5A ; Z
14E4   .BYTE $55 ; U
14E5   .BYTE $55 ; U
14E6   .BYTE $54 ; T
14E7   .BYTE   0
14E8   .BYTE $9A ; Ü
14E9   .BYTE $A6 ; ª
14EA   .BYTE $AA ; ¬
14EB   .BYTE $A9 ; ®
14EC   .BYTE $69 ; i
14ED   .BYTE $68 ; h
14EE   .BYTE $28 ; (
14EF   .BYTE $28 ; (
14F0   .BYTE $A9 ; ®
14F1   .BYTE $AA ; ¬
14F2   .BYTE $A5 ; Ñ
14F3   .BYTE $A5 ; Ñ
14F4   .BYTE $AA ; ¬
14F5   .BYTE  $A
14F6   .BYTE   0
14F7   .BYTE   0
14F8   .BYTE $A5 ; Ñ
14F9   .BYTE $95 ; ò
14FA   .BYTE $55 ; U
14FB   .BYTE $54 ; T
14FC   .BYTE   0
14FD   .BYTE   0
14FE   .BYTE   0
14FF   .BYTE   0
1500   .BYTE $55 ; U
1501   .BYTE $55 ; U
1502   .BYTE $55 ; U
1503   .BYTE   1
1504   .BYTE   1
1505   .BYTE   1
1506   .BYTE   1
1507   .BYTE   0
1508   .BYTE   0
1509   .BYTE   0
150A   .BYTE   0
150B   .BYTE   0
150C   .BYTE   0
150D   .BYTE   0
150E   .BYTE $55 ; U
150F   .BYTE   0
1510   .BYTE   0
1511   .BYTE   0
1512   .BYTE   0
1513   .BYTE   0
1514   .BYTE   0
1515   .BYTE   0
1516   .BYTE $54 ; T
1517   .BYTE   1
1518   .BYTE   0
1519   .BYTE   0
151A   .BYTE   0
151B   .BYTE   0
151C   .BYTE   0
151D   .BYTE   0
151E   .BYTE   5
151F   .BYTE $50 ; P
1520   .BYTE $15
1521   .BYTE   0
1522   .BYTE   0
1523   .BYTE   0
1524   .BYTE   0
1525   .BYTE   0
1526   .BYTE   0
1527   .BYTE   0
1528   .BYTE $40 ; @
1529   .BYTE $15
152A   .BYTE   0
152B   .BYTE   0
152C   .BYTE   0
152D   .BYTE   0
152E   .BYTE   0
152F   .BYTE   0
1530   .BYTE   0
1531   .BYTE $50 ; P
1532   .BYTE   4
1533   .BYTE   1
1534   .BYTE   0
1535   .BYTE   0
1536   .BYTE   0
1537   .BYTE   0
1538   .BYTE   0
1539   .BYTE   0
153A   .BYTE   0
153B   .BYTE $50 ; P
153C   .BYTE   5
153D   .BYTE   0
153E   .BYTE   0
153F   .BYTE   0
1540   .BYTE   0
1541   .BYTE   0
1542   .BYTE   0
1543   .BYTE $40 ; @
1544   .BYTE $15
1545   .BYTE   0
1546   .BYTE   0
1547   .BYTE   0
1548   .BYTE   0
1549   .BYTE   0
154A   .BYTE   0
154B   .BYTE $54 ; T
154C   .BYTE   1
154D   .BYTE   0
154E   .BYTE   0
154F   .BYTE   0
1550   .BYTE   0
1551   .BYTE   0
1552   .BYTE   0
1553   .BYTE   4
1554   .BYTE $51 ; Q
1555   .BYTE   0
1556   .BYTE   0
1557   .BYTE   0
1558   .BYTE   0
1559   .BYTE   0
155A   .BYTE   0
155B   .BYTE   0
155C   .BYTE $50 ; P
155D   .BYTE   5
155E   .BYTE   0
155F   .BYTE   0
1560   .BYTE   0
1561   .BYTE   0
1562   .BYTE   0
1563   .BYTE   0
1564   .BYTE   5
1565   .BYTE $50 ; P
1566   .BYTE   0
1567   .BYTE   0
1568   .BYTE   0
1569   .BYTE   0
156A   .BYTE   0
156B   .BYTE   0
156C   .BYTE $40 ; @
156D   .BYTE $14
156E   .BYTE   1
156F   .BYTE   0
1570   .BYTE   0
1571   .BYTE   0
1572   .BYTE   0
1573   .BYTE   0
1574   .BYTE   0
1575   .BYTE   1
1576   .BYTE $54 ; T
1577   .BYTE   0
1578   .BYTE   0
1579   .BYTE   0
157A   .BYTE   0
157B   .BYTE   0
157C   .BYTE   5
157D   .BYTE $50 ; P
157E   .BYTE   0
157F   .BYTE   0
1580   .BYTE   1
1581   .BYTE   1
1582   .BYTE   4
1583   .BYTE $50 ; P
1584   .BYTE   0
1585   .BYTE   0
1586   .BYTE   0
1587   .BYTE   0
1588   .BYTE   4
1589   .BYTE   0
158A   .BYTE   0
158B   .BYTE   0
158C   .BYTE   0
158D   .BYTE   0
158E   .BYTE   0
158F   .BYTE   0
1590   .BYTE   0
1591   .BYTE   0
1592   .BYTE   0
1593   .BYTE   0
1594   .BYTE $11
1595   .BYTE $44 ; D
1596   .BYTE   0
1597   .BYTE   0
1598   .BYTE   1
1599   .BYTE   1
159A   .BYTE   4
159B   .BYTE $50 ; P
159C   .BYTE   0
159D   .BYTE   0
159E   .BYTE   0
159F   .BYTE   0
15A0   .BYTE   4
15A1   .BYTE   0
15A2   .BYTE   0
15A3   .BYTE   0
15A4   .BYTE   0
15A5   .BYTE   0
15A6   .BYTE   0
15A7   .BYTE   0
15A8   .BYTE   0
15A9   .BYTE   0
15AA   .BYTE   0
15AB   .BYTE   0
15AC   .BYTE   0
15AD   .BYTE   0
15AE   .BYTE   1
15AF   .BYTE   5
15B0   .BYTE   0
15B1   .BYTE   0
15B2   .BYTE   0
15B3   .BYTE $41 ; A
15B4   .BYTE $14
15B5   .BYTE   0
15B6   .BYTE   0
15B7   .BYTE   0
15B8   .BYTE  $A
15B9   .BYTE   0
15BA   .BYTE   0
15BB   .BYTE $54 ; T
15BC   .BYTE   1
15BD   .BYTE   0
15BE   .BYTE   0
15BF   .BYTE   0
15C0   .BYTE   1
15C1   .BYTE   0
15C2   .BYTE   0
15C3   .BYTE   5
15C4   .BYTE $50 ; P
15C5   .BYTE   0
15C6   .BYTE   0
15C7   .BYTE   0
15C8   .BYTE   1
15C9   .BYTE   0
15CA   .BYTE   0
15CB   .BYTE   0
15CC   .BYTE $54 ; T
15CD   .BYTE   1
15CE   .BYTE   0
15CF   .BYTE   0
15D0   .BYTE $40 ; @
15D1   .BYTE   0
15D2   .BYTE   0
15D3   .BYTE   0
15D4   .BYTE   1
15D5   .BYTE $54 ; T
15D6   .BYTE   0
15D7   .BYTE   0
15D8   .BYTE   0
15D9   .BYTE   3
15DA   .BYTE   3
15DB   .BYTE   3
15DC   .BYTE   3
15DD   .BYTE $33 ; 3
15DE   .BYTE $3F ; ?
15DF   .BYTE   0
15E0   .BYTE   0
15E1   .BYTE  $F
15E2   .BYTE $30 ; 0
15E3   .BYTE $30 ; 0
15E4   .BYTE $3F ; ?
15E5   .BYTE $30 ; 0
15E6   .BYTE $30 ; 0
15E7   .BYTE   0
15E8   .BYTE   0
15E9   .BYTE  $C
15EA   .BYTE $CC ; ¦
15EB   .BYTE $CC ; ¦
15EC   .BYTE $CC ; ¦
15ED   .BYTE $CC ; ¦
15EE   .BYTE $CC ; ¦
15EF   .BYTE   0
15F0   .BYTE   0
15F1   .BYTE $C0 ; +
15F2   .BYTE $C0 ; +
15F3   .BYTE $C0 ; +
15F4   .BYTE $C0 ; +
15F5   .BYTE $C0 ; +
15F6   .BYTE $FC ; ³
15F7   .BYTE   0
15F8   .BYTE   0
15F9   .BYTE   0
15FA   .BYTE   0
15FB   .BYTE   0
15FC   .BYTE   0
15FD   .BYTE   0
15FE   .BYTE $FF
15FF   .BYTE   0
1600   .BYTE $FF
1601   .BYTE $FF
1602   .BYTE $F0 ; ­
1603   .BYTE $F0 ; ­
1604   .BYTE $F0 ; ­
1605   .BYTE $F0 ; ­
1606   .BYTE $F0 ; ­
1607   .BYTE $F0 ; ­
1608   .BYTE $FF
1609   .BYTE $FF
160A   .BYTE  $F
160B   .BYTE  $F
160C   .BYTE  $F
160D   .BYTE  $F
160E   .BYTE  $F
160F   .BYTE  $F
1610   .BYTE $55 ; U
1611   .BYTE $55 ; U
1612   .BYTE $50 ; P
1613   .BYTE $50 ; P
1614   .BYTE $50 ; P
1615   .BYTE $50 ; P
1616   .BYTE $50 ; P
1617   .BYTE $50 ; P
1618   .BYTE $55 ; U
1619   .BYTE $55 ; U
161A   .BYTE   5
161B   .BYTE   5
161C   .BYTE   5
161D   .BYTE   5
161E   .BYTE   5
161F   .BYTE   5
1620   .BYTE $AA ; ¬
1621   .BYTE $AA ; ¬
1622   .BYTE $A0 ; á
1623   .BYTE $A0 ; á
1624   .BYTE $A0 ; á
1625   .BYTE $A0 ; á
1626   .BYTE $A0 ; á
1627   .BYTE $A0 ; á
1628   .BYTE $AA ; ¬
1629   .BYTE $AA ; ¬
162A   .BYTE  $A
162B   .BYTE  $A
162C   .BYTE  $A
162D   .BYTE  $A
162E   .BYTE  $A
162F   .BYTE  $A
1630   .BYTE $30 ; 0
1631   .BYTE $30 ; 0
1632   .BYTE $30 ; 0
1633   .BYTE $3C ; <
1634   .BYTE  $C
1635   .BYTE $3C ; <
1636   .BYTE $C0 ; +
1637   .BYTE   0
1638   .BYTE $C0 ; +
1639   .BYTE $E0 ; Ó
163A   .BYTE $70 ; p
163B   .BYTE $38 ; 8
163C   .BYTE $1C
163D   .BYTE  $E
163E   .BYTE   7
163F   .BYTE   3
1640   .BYTE   1
1641   .BYTE   3
1642   .BYTE   7
1643   .BYTE  $F
1644   .BYTE $1F
1645   .BYTE $3F ; ?
1646   .BYTE $7F ; 
1647   .BYTE $FF
1648   .BYTE   0
1649   .BYTE   0
164A   .BYTE   0
164B   .BYTE   0
164C   .BYTE  $F
164D   .BYTE  $F
164E   .BYTE  $F
164F   .BYTE  $F
1650   .BYTE $80 ; Ç
1651   .BYTE $C0 ; +
1652   .BYTE $E0 ; Ó
1653   .BYTE $F0 ; ­
1654   .BYTE $F8 ; °
1655   .BYTE $FC ; ³
1656   .BYTE $FE ; ¦
1657   .BYTE $FF
1658   .BYTE  $F
1659   .BYTE  $F
165A   .BYTE  $F
165B   .BYTE  $F
165C   .BYTE   0
165D   .BYTE   0
165E   .BYTE   0
165F   .BYTE   0
1660   .BYTE $F0 ; ­
1661   .BYTE $F0 ; ­
1662   .BYTE $F0 ; ­
1663   .BYTE $F0 ; ­
1664   .BYTE   0
1665   .BYTE   0
1666   .BYTE   0
1667   .BYTE   0
1668   .BYTE $FF
1669   .BYTE $FF
166A   .BYTE   0
166B   .BYTE   0
166C   .BYTE   0
166D   .BYTE   0
166E   .BYTE   0
166F   .BYTE   0
1670   .BYTE   0
1671   .BYTE   0
1672   .BYTE   0
1673   .BYTE   0
1674   .BYTE   0
1675   .BYTE   0
1676   .BYTE $FF
1677   .BYTE $FF
1678   .BYTE   0
1679   .BYTE   0
167A   .BYTE   0
167B   .BYTE   0
167C   .BYTE $F0 ; ­
167D   .BYTE $F0 ; ­
167E   .BYTE $F0 ; ­
167F   .BYTE $F0 ; ­
1680   .BYTE   0
1681   .BYTE $1C
1682   .BYTE $1C
1683   .BYTE $77 ; w
1684   .BYTE $77 ; w
1685   .BYTE   8
1686   .BYTE $1C
1687   .BYTE   0
1688   .BYTE   0
1689   .BYTE   0
168A   .BYTE   0
168B   .BYTE $1F
168C   .BYTE $1F
168D   .BYTE $18
168E   .BYTE $18
168F   .BYTE $18
1690   .BYTE   0
1691   .BYTE   0
1692   .BYTE   0
1693   .BYTE $FF
1694   .BYTE $FF
1695   .BYTE   0
1696   .BYTE   0
1697   .BYTE   0
1698   .BYTE $18
1699   .BYTE $18
169A   .BYTE $18
169B   .BYTE $FF
169C   .BYTE $FF
169D   .BYTE $18
169E   .BYTE $18
169F   .BYTE $18
16A0   .BYTE   0
16A1   .BYTE   0
16A2   .BYTE $3C ; <
16A3   .BYTE $7E ; ~
16A4   .BYTE $7E ; ~
16A5   .BYTE $7E ; ~
16A6   .BYTE $3C ; <
16A7   .BYTE   0
16A8   .BYTE   0
16A9   .BYTE   0
16AA   .BYTE   0
16AB   .BYTE   0
16AC   .BYTE $FF
16AD   .BYTE $FF
16AE   .BYTE $FF
16AF   .BYTE $FF
16B0   .BYTE $C0 ; +
16B1   .BYTE $C0 ; +
16B2   .BYTE $C0 ; +
16B3   .BYTE $C0 ; +
16B4   .BYTE $C0 ; +
16B5   .BYTE $C0 ; +
16B6   .BYTE $C0 ; +
16B7   .BYTE $C0 ; +
16B8   .BYTE   0
16B9   .BYTE   0
16BA   .BYTE   0
16BB   .BYTE $FF
16BC   .BYTE $FF
16BD   .BYTE $18
16BE   .BYTE $18
16BF   .BYTE $18
16C0   .BYTE $18
16C1   .BYTE $18
16C2   .BYTE $18
16C3   .BYTE $FF
16C4   .BYTE $FF
16C5   .BYTE   0
16C6   .BYTE   0
16C7   .BYTE   0
16C8   .BYTE $F0 ; ­
16C9   .BYTE $F0 ; ­
16CA   .BYTE $F0 ; ­
16CB   .BYTE $F0 ; ­
16CC   .BYTE $F0 ; ­
16CD   .BYTE $F0 ; ­
16CE   .BYTE $F0 ; ­
16CF   .BYTE $F0 ; ­
16D0   .BYTE $18
16D1   .BYTE $18
16D2   .BYTE $18
16D3   .BYTE $1F
16D4   .BYTE $1F
16D5   .BYTE   0
16D6   .BYTE   0
16D7   .BYTE   0
16D8   .BYTE   0
16D9   .BYTE $3F ; ?
16DA   .BYTE $FF
16DB   .BYTE $FF
16DC   .BYTE $33 ; 3
16DD   .BYTE $33 ; 3
16DE   .BYTE $3F ; ?
16DF   .BYTE   0
16E0   .BYTE   0
16E1   .BYTE $30 ; 0
16E2   .BYTE $CC ; ¦
16E3   .BYTE $30 ; 0
16E4   .BYTE   0
16E5   .BYTE   0
16E6   .BYTE $C0 ; +
16E7   .BYTE   0
16E8   .BYTE   0
16E9   .BYTE $18
16EA   .BYTE $18
16EB   .BYTE $18
16EC   .BYTE $7E ; ~
16ED   .BYTE $3C ; <
16EE   .BYTE $18
16EF   .BYTE   0
16F0   .BYTE   0
16F1   .BYTE $18
16F2   .BYTE $30 ; 0
16F3   .BYTE $7E ; ~
16F4   .BYTE $30 ; 0
16F5   .BYTE $18
16F6   .BYTE   0
16F7   .BYTE   0
16F8   .BYTE   0
16F9   .BYTE $18
16FA   .BYTE  $C
16FB   .BYTE $7E ; ~
16FC   .BYTE  $C
16FD   .BYTE $18
16FE   .BYTE   0
16FF   .BYTE   0
1700   .BYTE   0
1701   .BYTE $18
1702   .BYTE $3C ; <
1703   .BYTE $7E ; ~
1704   .BYTE $7E ; ~
1705   .BYTE $3C ; <
1706   .BYTE $18
1707   .BYTE   0
1708   .BYTE   0
1709   .BYTE   0
170A   .BYTE   0
170B   .BYTE   0
170C   .BYTE   0
170D   .BYTE $3C ; <
170E   .BYTE  $C
170F   .BYTE $3F ; ?
1710   .BYTE   0
1711   .BYTE   0
1712   .BYTE   0
1713   .BYTE $30 ; 0
1714   .BYTE $3C ; <
1715   .BYTE  $F
1716   .BYTE  $F
1717   .BYTE   3
1718   .BYTE   0
1719   .BYTE   0
171A   .BYTE  $F
171B   .BYTE   3
171C   .BYTE   3
171D   .BYTE   3
171E   .BYTE   3
171F   .BYTE   3
1720   .BYTE   0
1721   .BYTE   0
1722   .BYTE   0
1723   .BYTE   0
1724   .BYTE $3F ; ?
1725   .BYTE   0
1726   .BYTE   0
1727   .BYTE   0
1728   .BYTE   0
1729   .BYTE $3C ; <
172A   .BYTE $3C ; <
172B   .BYTE $3C ; <
172C   .BYTE $3C ; <
172D   .BYTE $3C ; <
172E   .BYTE $3F ; ?
172F   .BYTE   0
1730   .BYTE   0
1731   .BYTE   3
1732   .BYTE  $F
1733   .BYTE $3C ; <
1734   .BYTE $3C ; <
1735   .BYTE $3F ; ?
1736   .BYTE $3C ; <
1737   .BYTE   0
1738   .BYTE   0
1739   .BYTE $3F ; ?
173A   .BYTE $3C ; <
173B   .BYTE $3C ; <
173C   .BYTE $3F ; ?
173D   .BYTE $3C ; <
173E   .BYTE $3C ; <
173F   .BYTE   0
1740   .BYTE   0
1741   .BYTE   0
1742   .BYTE   0
1743   .BYTE   0
1744   .BYTE   0
1745   .BYTE   0
1746   .BYTE   0
1747   .BYTE   0
1748   .BYTE $3C ; <
1749   .BYTE $FC ; ³
174A   .BYTE $3C ; <
174B   .BYTE $30 ; 0
174C   .BYTE   0
174D   .BYTE   0
174E   .BYTE   0
174F   .BYTE   0
1750   .BYTE   0
1751   .BYTE   0
1752   .BYTE $30 ; 0
1753   .BYTE $3C ; <
1754   .BYTE $FC ; ³
1755   .BYTE $3C ; <
1756   .BYTE $30 ; 0
1757   .BYTE   0
1758   .BYTE   0
1759   .BYTE  $C
175A   .BYTE $3C ; <
175B   .BYTE $3F ; ?
175C   .BYTE $3C ; <
175D   .BYTE  $C
175E   .BYTE   0
175F   .BYTE   0
1760   .BYTE   0
1761   .BYTE   0
1762   .BYTE   0
1763   .BYTE $FC ; ³
1764   .BYTE   0
1765   .BYTE   0
1766   .BYTE   0
1767   .BYTE   0
1768   .BYTE   0
1769   .BYTE   0
176A   .BYTE $F0 ; ­
176B   .BYTE   0
176C   .BYTE   0
176D   .BYTE   0
176E   .BYTE   0
176F   .BYTE $30 ; 0
1770   .BYTE   0
1771   .BYTE   0
1772   .BYTE   0
1773   .BYTE $C0 ; +
1774   .BYTE   0
1775   .BYTE   0
1776   .BYTE $C0 ; +
1777   .BYTE $F0 ; ­
1778   .BYTE   3
1779   .BYTE   3
177A   .BYTE   3
177B   .BYTE   3
177C   .BYTE   3
177D   .BYTE  $F
177E   .BYTE   0
177F   .BYTE   0
1780   .BYTE   0
1781   .BYTE   0
1782   .BYTE   0
1783   .BYTE   0
1784   .BYTE   0
1785   .BYTE $C0 ; +
1786   .BYTE   0
1787   .BYTE   0
1788   .BYTE   0
1789   .BYTE $3C ; <
178A   .BYTE $3F ; ?
178B   .BYTE $3F ; ?
178C   .BYTE $3F ; ?
178D   .BYTE $3C ; <
178E   .BYTE $3C ; <
178F   .BYTE   0
1790   .BYTE   0
1791   .BYTE   0
1792   .BYTE   0
1793   .BYTE   0
1794   .BYTE   0
1795   .BYTE   0
1796   .BYTE $FC ; ³
1797   .BYTE   0
1798   .BYTE   0
1799   .BYTE $3C ; <
179A   .BYTE $3C ; <
179B   .BYTE  $F
179C   .BYTE   3
179D   .BYTE   3
179E   .BYTE   3
179F   .BYTE   0
17A0   .BYTE   0
17A1   .BYTE $C0 ; +
17A2   .BYTE $F0 ; ­
17A3   .BYTE $3C ; <
17A4   .BYTE $3C ; <
17A5   .BYTE $FC ; ³
17A6   .BYTE $3C ; <
17A7   .BYTE   0
17A8   .BYTE   3
17A9   .BYTE $3F ; ?
17AA   .BYTE   3
17AB   .BYTE   3
17AC   .BYTE   3
17AD   .BYTE   3
17AE   .BYTE   3
17AF   .BYTE   0
17B0   .BYTE   0
17B1   .BYTE $3C ; <
17B2   .BYTE $3C ; <
17B3   .BYTE $FC ; ³
17B4   .BYTE $FC ; ³
17B5   .BYTE $FC ; ³
17B6   .BYTE $3C ; <
17B7   .BYTE   0
17B8   .BYTE   0
17B9   .BYTE $3F ; ?
17BA   .BYTE $3C ; <
17BB   .BYTE $3C ; <
17BC   .BYTE $3C ; <
17BD   .BYTE $3C ; <
17BE   .BYTE $3F ; ?
17BF   .BYTE   0
17C0   .BYTE   0
17C1   .BYTE $C0 ; +
17C2   .BYTE $F0 ; ­
17C3   .BYTE $3C ; <
17C4   .BYTE $3C ; <
17C5   .BYTE $F0 ; ­
17C6   .BYTE $C0 ; +
17C7   .BYTE   0
17C8   .BYTE   0
17C9   .BYTE  $F
17CA   .BYTE $3C ; <
17CB   .BYTE  $F
17CC   .BYTE   0
17CD   .BYTE   0
17CE   .BYTE  $F
17CF   .BYTE   0
17D0   .BYTE   0
17D1   .BYTE $F0 ; ­
17D2   .BYTE   0
17D3   .BYTE $F0 ; ­
17D4   .BYTE $3C ; <
17D5   .BYTE $3C ; <
17D6   .BYTE $F0 ; ­
17D7   .BYTE   0
17D8   .BYTE   0
17D9   .BYTE $3F ; ?
17DA   .BYTE $FF
17DB   .BYTE $FF
17DC   .BYTE $33 ; 3
17DD   .BYTE $33 ; 3
17DE   .BYTE $33 ; 3
17DF   .BYTE   0
17E0   .BYTE   0
17E1   .BYTE $30 ; 0
17E2   .BYTE $FC ; ³
17E3   .BYTE $30 ; 0
17E4   .BYTE   0
17E5   .BYTE   0
17E6   .BYTE   0
17E7   .BYTE   0
17E8   .BYTE   0
17E9   .BYTE $7E ; ~
17EA   .BYTE $78 ; x
17EB   .BYTE $7C ; |
17EC   .BYTE $6E ; n
17ED   .BYTE $66 ; f
17EE   .BYTE   6
17EF   .BYTE   0
17F0   .BYTE   8
17F1   .BYTE $18
17F2   .BYTE $38 ; 8
17F3   .BYTE $78 ; x
17F4   .BYTE $38 ; 8
17F5   .BYTE $18
17F6   .BYTE   8
17F7   .BYTE   0
17F8   .BYTE $10
17F9   .BYTE $18
17FA   .BYTE $1C
17FB   .BYTE $1E
17FC   .BYTE $1C
17FD   .BYTE $18
17FE   .BYTE $10
17FF   .BYTE   0
1800 FONT:.BYTE 00000000b          ; ...
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00011000b
1800   .BYTE 00011000b
1800   .BYTE 00011000b
1800   .BYTE 00011000b
1800   .BYTE 00000000b
1800   .BYTE 00011000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 01100110b
1800   .BYTE 01100110b
1800   .BYTE 01100110b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 00000000b
1800   .BYTE 01100110b
1800   .BYTE 11111111b
1800   .BYTE 01100110b
1800   .BYTE 01100110b
1800   .BYTE 11111111b
1800   .BYTE 01100110b
1800   .BYTE 00000000b
1800   .BYTE 00011000b
1800   .BYTE 00111110b
1800   .BYTE 01100000b
1800   .BYTE 00111100b
1800   .BYTE 00000110b
1800   .BYTE 01111100b
1800   .BYTE 00011000b
1800   .BYTE 00000000b
1828 FONT_CHAR1:.BYTE 00000000b    ; ...
1828   .BYTE 01100110b
1828   .BYTE 01101100b
1828   .BYTE 00011000b
1828   .BYTE 00110000b
1828   .BYTE 01100110b
1828   .BYTE 01000110b
1828   .BYTE 00000000b
1830   .BYTE 00011100b
1830   .BYTE 00110110b
1830   .BYTE 00011100b
1830   .BYTE 00111000b
1830   .BYTE 01101111b
1830   .BYTE 01100110b
1830   .BYTE 00111011b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00001110b
1830   .BYTE 00011100b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 00011100b
1830   .BYTE 00001110b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 01110000b
1830   .BYTE 00111000b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 00111000b
1830   .BYTE 01110000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 01100110b
1830   .BYTE 00111100b
1830   .BYTE 11111111b
1830   .BYTE 00111100b
1830   .BYTE 01100110b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 01111110b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00011000b
1830   .BYTE 00011000b
1830   .BYTE 00110000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 01111110b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1830   .BYTE 00000000b
1870 FONT_CHAR2:.BYTE 00000000b    ; ...
1870   .BYTE 00000000b
1870   .BYTE 00000000b
1870   .BYTE 00000000b
1870   .BYTE 00000000b
1870   .BYTE 00011000b
1870   .BYTE 00011000b
1870   .BYTE 00000000b
1878   .BYTE 00000000b
1878   .BYTE 00000110b
1878   .BYTE 00001100b
1878   .BYTE 00011000b
1878   .BYTE 00110000b
1878   .BYTE 01100000b
1878   .BYTE 01000000b
1878   .BYTE 00000000b
1880   .BYTE 00000000b
1881   .BYTE 00111100b
1882   .BYTE 01100110b
1883 FONT_CHAR9A:.BYTE 01100110b   ; ...
1884 FONT_CHAR9B:.BYTE 01100110b   ; ...
1885   .BYTE 01100110b
1886   .BYTE 00111100b
1887   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00011000b
1888   .BYTE 00111000b
1888   .BYTE 00011000b
1888   .BYTE 00011000b
1888   .BYTE 00011000b
1888   .BYTE 01111110b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00111100b
1888   .BYTE 01100110b
1888   .BYTE 00001100b
1888   .BYTE 00011000b
1888   .BYTE 00110000b
1888   .BYTE 01111110b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 01111110b
1888   .BYTE 00001100b
1888   .BYTE 00011000b
1888   .BYTE 00001100b
1888   .BYTE 01100110b
1888   .BYTE 00111100b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00001100b
1888   .BYTE 00011100b
1888   .BYTE 00111100b
1888   .BYTE 01101100b
1888   .BYTE 01111110b
1888   .BYTE 00001100b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 01111110b
1888   .BYTE 01100000b
1888   .BYTE 01111100b
1888   .BYTE 00000110b
1888   .BYTE 01100110b
1888   .BYTE 00111100b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00111100b
1888   .BYTE 01100000b
1888   .BYTE 01111100b
1888   .BYTE 01100110b
1888   .BYTE 01100110b
1888   .BYTE 00111100b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 01111110b
1888   .BYTE 00000110b
1888   .BYTE 00001100b
1888   .BYTE 00011000b
1888   .BYTE 00110000b
1888   .BYTE 00110000b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00111100b
1888   .BYTE 01100110b
1888   .BYTE 00111100b
1888   .BYTE 01100110b
1888   .BYTE 01100110b
1888   .BYTE 00111100b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00111100b
1888   .BYTE 01100110b
1888   .BYTE 00111110b
1888   .BYTE 00000110b
1888   .BYTE 00001100b
1888   .BYTE 00111000b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00011000b
1888   .BYTE 00011000b
1888   .BYTE 00000000b
1888   .BYTE 00011000b
1888   .BYTE 00011000b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00000000b
1888   .BYTE 00011000b
1888   .BYTE 00011000b
1888   .BYTE 00000000b
1888   .BYTE 00011000b
1888   .BYTE 00011000b
1888   .BYTE 00110000b
1888   .BYTE 00000110b
1888   .BYTE 00001100b
1888   .BYTE 00011000b
1888   .BYTE 00110000b
1888   .BYTE 00011000b
1888   .BYTE 00001100b
1888   .BYTE 00000110b
1888   .BYTE 00000000b
18E8 logoUpChar:.BYTE 00000000b    ; ...
18E8   .BYTE 00000000b
18E8   .BYTE 01111110b
18E8   .BYTE 00000000b
18E8   .BYTE 00000000b
18E8   .BYTE 01111110b
18E8   .BYTE 00000000b
18E8   .BYTE 00000000b
18F0 logoDownChar:.BYTE 01100000b  ; ...
18F0   .BYTE 00110000b
18F0   .BYTE 00011000b
18F0   .BYTE 00001100b
18F0   .BYTE 00011000b
18F0   .BYTE 00110000b
18F0   .BYTE 01100000b
18F0   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00111100b
18F8   .BYTE 01100110b
18F8   .BYTE 00001100b
18F8   .BYTE 00011000b
18F8   .BYTE 00000000b
18F8   .BYTE 00011000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01110000b
18F8   .BYTE 00100000b
18F8   .BYTE 00100000b
18F8   .BYTE 00100000b
18F8   .BYTE 00100000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00011000b
18F8   .BYTE 00111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01111110b
18F8   .BYTE 01100110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01111100b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01100110b
18F8   .BYTE 00111100b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111000b
18F8   .BYTE 01101100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01101100b
18F8   .BYTE 01111000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111110b
18F8   .BYTE 01100000b
18F8   .BYTE 01111100b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01111110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111110b
18F8   .BYTE 01100000b
18F8   .BYTE 01111100b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00111110b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01101110b
18F8   .BYTE 01100110b
18F8   .BYTE 00111110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01111110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111110b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 01111110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 01100110b
18F8   .BYTE 00111100b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01101100b
18F8   .BYTE 01111000b
18F8   .BYTE 01111000b
18F8   .BYTE 01101100b
18F8   .BYTE 01100110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 01111110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100011b
18F8   .BYTE 01110111b
18F8   .BYTE 01111111b
18F8   .BYTE 01101011b
18F8   .BYTE 01100011b
18F8   .BYTE 01100011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01110110b
18F8   .BYTE 01111110b
18F8   .BYTE 01111110b
18F8   .BYTE 01101110b
18F8   .BYTE 01100110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 00111100b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01111100b
18F8   .BYTE 01100000b
18F8   .BYTE 01100000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01101100b
18F8   .BYTE 00110110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01111100b
18F8   .BYTE 01101100b
18F8   .BYTE 01100110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00111100b
18F8   .BYTE 01100000b
18F8   .BYTE 00111100b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00111100b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111110b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01111110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 00111100b
18F8   .BYTE 00011000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100011b
18F8   .BYTE 01100011b
18F8   .BYTE 01101011b
18F8   .BYTE 01111111b
18F8   .BYTE 01110111b
18F8   .BYTE 01100011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 00111100b
18F8   .BYTE 00111100b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01100110b
18F8   .BYTE 01100110b
18F8   .BYTE 00111100b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00011000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 01111110b
18F8   .BYTE 00001100b
18F8   .BYTE 00011000b
18F8   .BYTE 00110000b
18F8   .BYTE 01100000b
18F8   .BYTE 01111110b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 11110000b
18F8   .BYTE 11110000b
18F8   .BYTE 11111100b
18F8   .BYTE 11110000b
18F8   .BYTE 11110000b
18F8   .BYTE 11110000b
18F8   .BYTE 11111111b
18F8   .BYTE 00001111b
18F8   .BYTE 00001111b
18F8   .BYTE 00001111b
18F8   .BYTE 00111111b
18F8   .BYTE 00001111b
18F8   .BYTE 00001111b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00001000b
18F8   .BYTE 00011100b
18F8   .BYTE 00110110b
18F8   .BYTE 01100011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001110b
18F8   .BYTE 10101111b
18F8   .BYTE 10101011b
18F8   .BYTE 11010101b
18F8   .BYTE 11110101b
18F8   .BYTE 01110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001110b
18F8   .BYTE 00101111b
18F8   .BYTE 10001011b
18F8   .BYTE 11010001b
18F8   .BYTE 11110100b
18F8   .BYTE 01110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001110b
18F8   .BYTE 10101111b
18F8   .BYTE 10101011b
18F8   .BYTE 11010101b
18F8   .BYTE 11110101b
18F8   .BYTE 01110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 01011101b
18F8   .BYTE 01011110b
18F8   .BYTE 10101111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 00011101b
18F8   .BYTE 00011110b
18F8   .BYTE 00101111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 00011101b
18F8   .BYTE 00011110b
18F8   .BYTE 00101111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 00011101b
18F8   .BYTE 00011110b
18F8   .BYTE 00101111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 00011101b
18F8   .BYTE 00011110b
18F8   .BYTE 10101111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 00011101b
18F8   .BYTE 01011111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001101b
18F8   .BYTE 01011111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11101011b
18F8   .BYTE 11000011b
18F8   .BYTE 11000011b
18F8   .BYTE 11010111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11101011b
18F8   .BYTE 11000011b
18F8   .BYTE 11000011b
18F8   .BYTE 11010111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11101011b
18F8   .BYTE 11000011b
18F8   .BYTE 11000011b
18F8   .BYTE 11010111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11010111b
18F8   .BYTE 00001110b
18F8   .BYTE 10111100b
18F8   .BYTE 00000011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11010111b
18F8   .BYTE 00001110b
18F8   .BYTE 10111100b
18F8   .BYTE 00000011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11010111b
18F8   .BYTE 00001110b
18F8   .BYTE 10111100b
18F8   .BYTE 00000011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11010111b
18F8   .BYTE 00001111b
18F8   .BYTE 11111100b
18F8   .BYTE 00000011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11010111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111100b
18F8   .BYTE 00000011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111100b
18F8   .BYTE 00000011b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001100b
18F8   .BYTE 00111100b
18F8   .BYTE 00111100b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001100b
18F8   .BYTE 00111100b
18F8   .BYTE 00111100b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001100b
18F8   .BYTE 00110000b
18F8   .BYTE 11000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001100b
18F8   .BYTE 00110000b
18F8   .BYTE 11000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001100b
18F8   .BYTE 00111111b
18F8   .BYTE 11000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001100b
18F8   .BYTE 00111111b
18F8   .BYTE 11000000b
18F8   .BYTE 00110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00001111b
18F8   .BYTE 11111111b
18F8   .BYTE 11111111b
18F8   .BYTE 11110000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
18F8   .BYTE 00000110b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000000b
18F8   .BYTE 00000110b
1C48 FONT_CHAR5:.BYTE 00111100b    ; ...
1C48   .BYTE 00111100b
1C48   .BYTE 00111100b
1C48   .BYTE 00111100b
1C48   .BYTE 00111100b
1C48   .BYTE 00111100b
1C48   .BYTE 00111100b
1C48   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00000000b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00111100b
1C50   .BYTE 00000001b
1C50   .BYTE 00000001b
1C50   .BYTE 00000001b
1C50   .BYTE 00000001b
1C50   .BYTE 00100001b
1C50   .BYTE 01110001b
1C50   .BYTE 11111001b
1C50   .BYTE 01010001b
1C90 goodUpChar:.BYTE 00000001b    ; ...
1C90   .BYTE 00000001b             ; 0 Food Up
1C90   .BYTE 00001001b             ; 1 Energy Up
1C90   .BYTE 00001001b             ; 2 Smithore Up
1C90   .BYTE 00001001b             ; 3 Crystite Up
1C90   .BYTE 11001001b             ;
1C90   .BYTE 01001001b
1C90   .BYTE 11111101b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 01001001b
1C98   .BYTE 01100001b
1C98   .BYTE 00110001b
1C98   .BYTE 00111001b
1C98   .BYTE 00011101b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 01111001b
1C98   .BYTE 00100001b
1C98   .BYTE 00100001b
1C98   .BYTE 00100001b
1C98   .BYTE 00100001b
1C98   .BYTE 00101001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00001001b
1C98   .BYTE 00001101b
1C98   .BYTE 11111101b
1C98   .BYTE 00001101b
1C98   .BYTE 00001001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00011001b
1C98   .BYTE 00111101b
1C98   .BYTE 00111101b
1C98   .BYTE 00111101b
1C98   .BYTE 00111101b
1C98   .BYTE 00111101b
1C98   .BYTE 01010001b
1C98   .BYTE 01110001b
1C98   .BYTE 01110001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1C98   .BYTE 00000001b
1CC0 goodDownChar:.BYTE 01001001b  ; ...
1CC0   .BYTE 11001001b
1CC0   .BYTE 00001001b
1CC0   .BYTE 00001101b
1CC0   .BYTE 00000101b
1CC0   .BYTE 00001101b
1CC0   .BYTE 01110001b
1CC0   .BYTE 00000001b
1CC8   .BYTE 00010001b
1CC8   .BYTE 00010001b
1CC8   .BYTE 00010001b
1CC8   .BYTE 00010001b
1CC8   .BYTE 00111001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00101101b
1CC8   .BYTE 11111101b
1CC8   .BYTE 00101101b
1CC8   .BYTE 00101001b
1CC8   .BYTE 00100001b
1CC8   .BYTE 00100001b
1CC8   .BYTE 00100001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 01000001b
1CC8   .BYTE 11000001b
1CC8   .BYTE 11111101b
1CC8   .BYTE 11000001b
1CC8   .BYTE 01000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00100101b
1CC8   .BYTE 00100101b
1CC8   .BYTE 00100101b
1CC8   .BYTE 00100101b
1CC8   .BYTE 00100101b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00010001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00101001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00010001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00101001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00101001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00101001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 00000001b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10010000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 11111111b
1CC8   .BYTE 11111111b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10000000b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10010010b
1CC8   .BYTE 10000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00111100b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 00111100b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 01111100b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01111100b
1CC8   .BYTE 01100000b
1CC8   .BYTE 01100000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00111100b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01101100b
1CC8   .BYTE 00110110b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 01111100b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01111100b
1CC8   .BYTE 01101100b
1CC8   .BYTE 01100110b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00111100b
1CC8   .BYTE 01100000b
1CC8   .BYTE 00111100b
1CC8   .BYTE 00000110b
1CC8   .BYTE 00000110b
1CC8   .BYTE 00111100b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 01111110b
1CC8   .BYTE 00011000b
1CC8   .BYTE 00011000b
1CC8   .BYTE 00011000b
1CC8   .BYTE 00011000b
1CC8   .BYTE 00011000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01111110b
1CC8   .BYTE 00000000b
1CC8   .BYTE 00000000b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 01100110b
1CC8   .BYTE 00111100b
1CC8   .BYTE 00011000b
1CC8   .BYTE 00000000b
1DB8 byte_1DB8:.BYTE 0             ; ...
1DB9   .BYTE   0
1DBA   .BYTE   0
1DBB   .BYTE   0
1DBC   .BYTE   0
1DBD   .BYTE   0
1DBE   .BYTE   0
1DBF   .BYTE   0
1DC0   .BYTE   0
1DC1   .BYTE   0
1DC2   .BYTE   0
1DC3   .BYTE   0
1DC4   .BYTE   0
1DC5   .BYTE   0
1DC6   .BYTE   0
1DC7   .BYTE   0
1DC8   .BYTE   0
1DC9   .BYTE   0
1DCA   .BYTE   0
1DCB   .BYTE   0
1DCC   .BYTE   0
1DCD   .BYTE   0
1DCE   .BYTE   0
1DCF   .BYTE   0
1DD0   .BYTE   0
1DD1   .BYTE   0
1DD2   .BYTE   0
1DD3   .BYTE   0
1DD4   .BYTE   0
1DD5   .BYTE   0
1DD6   .BYTE   0
1DD7   .BYTE   0
1DD8   .BYTE   0
1DD9   .BYTE   0
1DDA   .BYTE   0
1DDB   .BYTE   0
1DDC   .BYTE   0
1DDD   .BYTE   0
1DDE   .BYTE   0
1DDF   .BYTE   0
1DE0   .BYTE   0
1DE1   .BYTE   0
1DE2   .BYTE   0
1DE3   .BYTE   0
1DE4   .BYTE   0
1DE5   .BYTE   0
1DE6   .BYTE   0
1DE7   .BYTE   0
1DE8   .BYTE   0
1DE9   .BYTE   0
1DEA   .BYTE   0
1DEB   .BYTE   0
1DEC   .BYTE   0
1DED   .BYTE   0
1DEE   .BYTE   0
1DEF   .BYTE   0
1DF0   .BYTE   0
1DF1   .BYTE   0
1DF2   .BYTE   0
1DF3   .BYTE   0
1DF4   .BYTE   0
1DF5   .BYTE   0
1DF6   .BYTE   0
1DF7   .BYTE   0
1DF8   .BYTE   0
1DF9   .BYTE   0
1DFA   .BYTE   0
1DFB   .BYTE   0
1DFC   .BYTE   0
1DFD   .BYTE   0
1DFE   .BYTE   0
1DFF byte_1DFF:.BYTE 0             ; ...
1E00 unk_1E00:.BYTE   0            ; ...
1E01   .BYTE   0
1E02   .BYTE   0
1E03   .BYTE   0
1E04   .BYTE   0
1E05   .BYTE   0
1E06   .BYTE   0
1E07   .BYTE   0
1E08   .BYTE   0
1E09   .BYTE   0
1E0A byte_1E0A:.BYTE 4             ; ...
1E0B   .BYTE   0
1E0C   .BYTE   0
1E0D   .BYTE   0
1E0E   .BYTE   0
1E0F   .BYTE   0
1E10   .BYTE   3
1E11   .BYTE   0
1E12   .BYTE   0
1E13   .BYTE   0
1E14   .BYTE   0
1E15   .BYTE   0
1E16   .BYTE   2
1E17   .BYTE   0
1E18   .BYTE   0
1E19   .BYTE   0
1E1A   .BYTE   0
1E1B   .BYTE   0
1E1C   .BYTE   1
1E1D   .BYTE   0
1E1E   .BYTE   0
1E1F   .BYTE   0
1E20   .BYTE   0
1E21   .BYTE   0
1E22   .BYTE   0
1E23   .BYTE   0
1E24   .BYTE   0
1E25   .BYTE   0
1E26   .BYTE   0
1E27   .BYTE   0
1E28 unk_1E28:.BYTE   0            ; ...
1E29   .BYTE   0
1E2A   .BYTE   0
1E2B   .BYTE   0
1E2C   .BYTE   0
1E2D   .BYTE   0
1E2E   .BYTE   0
1E2F   .BYTE   0
1E30   .BYTE   0
1E31   .BYTE   0
1E32 byte_1E32:.BYTE 6             ; ...
1E33   .BYTE   0
1E34   .BYTE   0
1E35   .BYTE   0
1E36   .BYTE   0
1E37 byte_1E37:.BYTE 5             ; ...
1E38   .BYTE   0
1E39   .BYTE   0
1E3A   .BYTE   0
1E3B   .BYTE   0
1E3C   .BYTE   7
1E3D   .BYTE   0
1E3E   .BYTE   0
1E3F   .BYTE   0
1E40   .BYTE   0
1E41   .BYTE   8
1E42   .BYTE   8
1E43   .BYTE   8
1E44   .BYTE   8
1E45   .BYTE   8
1E46   .BYTE   0
1E47   .BYTE   0
1E48   .BYTE   0
1E49   .BYTE   0
1E4A   .BYTE   0
1E4B   .BYTE   0
1E4C   .BYTE   0
1E4D   .BYTE   0
1E4E   .BYTE   0
1E4F   .BYTE   0
1E50   .BYTE $70 ; p
1E51   .BYTE $70 ; p
1E52   .BYTE $60 ; `
1E53   .BYTE $46 ; F
1E54   .BYTE   0
1E55   .BYTE $B5 ; Á
1E56   .BYTE   6
1E57   .BYTE $80 ; Ç
1E58   .BYTE $20
1E59   .BYTE   2
1E5A   .BYTE $82 ; é
1E5B   .BYTE   2
1E5C   .BYTE   2
1E5D   .BYTE   2
1E5E   .BYTE   2
1E5F   .BYTE   2
1E60   .BYTE $82 ; é
1E61   .BYTE   2
1E62   .BYTE   2
1E63   .BYTE   2
1E64   .BYTE   2
1E65   .BYTE $82 ; é
1E66   .BYTE   2
1E67   .BYTE   2
1E68   .BYTE   2
1E69   .BYTE   2
1E6A   .BYTE $80 ; Ç
1E6B   .BYTE $20
1E6C   .BYTE   2
1E6D   .BYTE   2
1E6E   .BYTE $80 ; Ç
1E6F   .BYTE $20
1E70   .BYTE   6
1E71   .BYTE   6
1E72   .BYTE $41 ; A
1E73   .BYTE $50 ; P
1E74   .BYTE $1E
1E75 byte_1E75:.BYTE 0             ; ...
1E76   .BYTE $60 ; `
1E77   .BYTE $70 ; p
1E78   .BYTE $70 ; p
1E79   .BYTE $42 ; B
1E7A   .BYTE   0
1E7B   .BYTE $B5 ; Á
1E7C   .BYTE $80 ; Ç
1E7D   .BYTE $20
1E7E   .BYTE $86 ; å
1E7F   .BYTE $86 ; å
1E80   .BYTE $86 ; å
1E81   .BYTE $86 ; å
1E82   .BYTE $86 ; å
1E83   .BYTE $86 ; å
1E84   .BYTE $86 ; å
1E85   .BYTE $86 ; å
1E86   .BYTE $86 ; å
1E87   .BYTE $86 ; å
1E88   .BYTE $86 ; å
1E89   .BYTE $86 ; å
1E8A   .BYTE $86 ; å
1E8B   .BYTE $86 ; å
1E8C   .BYTE $86 ; å
1E8D   .BYTE $86 ; å
1E8E   .BYTE $86 ; å
1E8F   .BYTE $86 ; å
1E90   .BYTE $86 ; å
1E91   .BYTE   6
1E92   .BYTE $80 ; Ç
1E93   .BYTE $20
1E94   .BYTE $70 ; p
1E95 byte_1E95:.BYTE $46           ; ...
1E96 byte_1E96:.BYTE $B8           ; ...
1E97 byte_1E97:.BYTE $B6           ; ...
1E98 byte_1E98:.BYTE $46           ; ...
1E99   .BYTE $CC ; ¦
1E9A   .BYTE $B6 ; Â
1E9B   .BYTE $41 ; A
1E9C   .BYTE $75 ; u
1E9D   .BYTE $1E
1E9E   .BYTE $70 ; p
1E9F   .BYTE $70 ; p
1EA0   .BYTE $60 ; `
1EA1   .BYTE $46 ; F
1EA2   .BYTE   0
1EA3   .BYTE $B5 ; Á
1EA4   .BYTE   6
1EA5   .BYTE $80 ; Ç
1EA6   .BYTE $20
1EA7   .BYTE   2
1EA8   .BYTE   6
1EA9   .BYTE   6
1EAA   .BYTE   6
1EAB   .BYTE $86 ; å
1EAC   .BYTE   6
1EAD   .BYTE   6
1EAE   .BYTE   6
1EAF   .BYTE   6
1EB0   .BYTE   6
1EB1   .BYTE   6
1EB2   .BYTE   6
1EB3   .BYTE $86 ; å
1EB4   .BYTE   6
1EB5   .BYTE $82 ; é
1EB6   .BYTE   6
1EB7 byte_1EB7:.BYTE $86           ; ...
1EB8   .BYTE $30 ; 0
1EB9   .BYTE $82 ; é
1EBA   .BYTE   2
1EBB   .BYTE $80 ; Ç
1EBC   .BYTE $20
1EBD   .BYTE   6
1EBE   .BYTE   6
1EBF   .BYTE $41 ; A
1EC0   .BYTE $9E ; ×
1EC1   .BYTE $1E
1EC2   .BYTE $70 ; p
1EC3   .BYTE $70 ; p
1EC4   .BYTE $70 ; p
1EC5   .BYTE $42 ; B
1EC6   .BYTE   0
1EC7   .BYTE $B5 ; Á
1EC8   .BYTE $80 ; Ç
1EC9   .BYTE $20
1ECA   .BYTE $44 ; D
1ECB   .BYTE   0
1ECC   .BYTE $20
1ECD   .BYTE   4
1ECE   .BYTE   4
1ECF   .BYTE   4
1ED0   .BYTE   4
1ED1   .BYTE $84 ; ä
1ED2   .BYTE   4
1ED3   .BYTE   4
1ED4   .BYTE   4
1ED5   .BYTE   4
1ED6   .BYTE   4
1ED7   .BYTE   4
1ED8   .BYTE   4
1ED9   .BYTE   4
1EDA   .BYTE   4
1EDB   .BYTE   4
1EDC   .BYTE $84 ; ä
1EDD   .BYTE $42 ; B
1EDE   .BYTE $2C ; ,
1EDF   .BYTE $B8 ; ©
1EE0   .BYTE   2
1EE1   .BYTE $90 ; É
1EE2   .BYTE   2
1EE3   .BYTE $10
1EE4   .BYTE $46 ; F
1EE5   .BYTE $B8 ; ©
1EE6   .BYTE $B6 ; Â
1EE7   .BYTE   6
1EE8   .BYTE $41 ; A
1EE9   .BYTE $C2 ; -
1EEA   .BYTE $1E
1EEB   .BYTE $70 ; p
1EEC   .BYTE $70 ; p
1EED   .BYTE $70 ; p
1EEE   .BYTE $C0 ; +
1EEF   .BYTE $70 ; p
1EF0   .BYTE $70 ; p
1EF1   .BYTE $48 ; H
1EF2 byte_1EF2:.BYTE 0             ; ...
1EF3 byte_1EF3:.BYTE $1A           ; ...
1EF4   .BYTE   8
1EF5   .BYTE   8
1EF6   .BYTE   8
1EF7   .BYTE   8
1EF8   .BYTE   8
1EF9   .BYTE $88 ; ê
1EFA   .BYTE   8
1EFB   .BYTE   8
1EFC   .BYTE   8
1EFD   .BYTE   8
1EFE   .BYTE   8
1EFF   .BYTE   8
1F00   .BYTE   8
1F01   .BYTE   8
1F02   .BYTE   8
1F03   .BYTE $41 ; A
1F04   .BYTE $EB ; Ù
1F05   .BYTE $1E
1F06   .BYTE $70 ; p
1F07   .BYTE $70 ; p
1F08   .BYTE $70 ; p
1F09   .BYTE $70 ; p
1F0A   .BYTE $70 ; p
1F0B   .BYTE $70 ; p
1F0C   .BYTE $70 ; p
1F0D   .BYTE $70 ; p
1F0E   .BYTE $70 ; p
1F0F   .BYTE $70 ; p
1F10   .BYTE $47 ; G
1F11 byte_1F11:.BYTE $48           ; ...
1F12 byte_1F12:.BYTE $1F           ; ...
1F13   .BYTE   7
1F14   .BYTE $70 ; p
1F15   .BYTE $70 ; p
1F16   .BYTE $70 ; p
1F17   .BYTE $70 ; p
1F18   .BYTE $70 ; p
1F19   .BYTE $70 ; p
1F1A   .BYTE $70 ; p
1F1B   .BYTE $70 ; p
1F1C   .BYTE $70 ; p
1F1D   .BYTE $70 ; p
1F1E   .BYTE $41 ; A
1F1F   .BYTE   6
1F20   .BYTE $1F
1F21   .BYTE $70 ; p
1F22   .BYTE $70 ; p
1F23   .BYTE $70 ; p
1F24   .BYTE $46 ; F
1F25   .BYTE   0
1F26   .BYTE $B5 ; Á
1F27   .BYTE $B0 ; ¦
1F28   .BYTE   6
1F29   .BYTE   6
1F2A   .BYTE   6
1F2B   .BYTE   6
1F2C   .BYTE $30 ; 0
1F2D   .BYTE   6
1F2E   .BYTE   6
1F2F   .BYTE   6
1F30   .BYTE   6
1F31   .BYTE $30 ; 0
1F32   .BYTE   6
1F33   .BYTE   6
1F34   .BYTE   6
1F35   .BYTE   6
1F36   .BYTE $30 ; 0
1F37   .BYTE   6
1F38   .BYTE   6
1F39   .BYTE   6
1F3A   .BYTE   6
1F3B   .BYTE $80 ; Ç
1F3C   .BYTE $20
1F3D   .BYTE   6
1F3E   .BYTE $30 ; 0
1F3F   .BYTE $57 ; W
1F40   .BYTE   0
1F41   .BYTE $B7 ; À
1F42   .BYTE $42 ; B
1F43   .BYTE $B8 ; ©
1F44   .BYTE $B6 ; Â
1F45   .BYTE $41 ; A
1F46   .BYTE $21 ; !
1F47   .BYTE $1F
1F48   .BYTE   0
1F49   .BYTE   0
1F4A   .BYTE   0
1F4B   .BYTE   0
1F4C   .BYTE $30 ; 0
1F4D   .BYTE $32 ; 2
1F4E   .BYTE $25 ; %
1F4F   .BYTE $33 ; 3
1F50   .BYTE $33 ; 3
1F51   .BYTE   0
1F52   .BYTE   0
1F53   .BYTE $33 ; 3
1F54   .BYTE $34 ; 4
1F55   .BYTE $21 ; !
1F56   .BYTE $32 ; 2
1F57   .BYTE $34 ; 4
1F58   .BYTE   0
1F59   .BYTE   0
1F5A   .BYTE   0
1F5B   .BYTE   0
1F5C   .BYTE   0
1F5D   .BYTE   0
1F5E   .BYTE   0
1F5F   .BYTE $34 ; 4
1F60   .BYTE $2F ; /
1F61   .BYTE   0
1F62   .BYTE $32 ; 2
1F63   .BYTE $25 ; %
1F64   .BYTE $33 ; 3
1F65   .BYTE $35 ; 5
1F66   .BYTE $2D ; -
1F67   .BYTE $25 ; %
1F68   .BYTE   0
1F69   .BYTE $30 ; 0
1F6A   .BYTE $2C ; ,
1F6B   .BYTE $21 ; !
1F6C   .BYTE $39 ; 9
1F6D   .BYTE   0
1F6E   .BYTE   0
1F6F   .BYTE   0
1F70   .BYTE   0
1F71   .BYTE   0
1F72   .BYTE $39 ; 9
1F73   .BYTE $2F ; /
1F74   .BYTE $35 ; 5
1F75   .BYTE   0
1F76   .BYTE $26 ; &
1F77   .BYTE $2F ; /
1F78   .BYTE $35 ; 5
1F79   .BYTE $2E ; .
1F7A   .BYTE $24 ; $
1F7B   .BYTE   0
1F7C   .BYTE $29 ; )
1F7D   .BYTE $34 ; 4
1F7E   .BYTE  $C
1F7F   .BYTE   0
1F80   .BYTE   0
1F81   .BYTE   0
1F82   .BYTE   0
1F83   .BYTE   0
1F84   .BYTE   0
1F85   .BYTE   0
1F86   .BYTE   0
1F87   .BYTE   0
1F88   .BYTE   0
1F89   .BYTE   0
1F8A   .BYTE   0
1F8B   .BYTE   0
1F8C   .BYTE $24 ; $
1F8D   .BYTE $21 ; !
1F8E   .BYTE $22 ; "
1F8F   .BYTE $29 ; )
1F90   .BYTE $2A ; *
1F91   .BYTE $29 ; )
1F92   .BYTE $21 ; !
1F93   .BYTE $2C ; ,
1F94   .BYTE   0
1F95   .BYTE   0
1F96   .BYTE   0
1F97   .BYTE   0
1F98   .BYTE $80 ; Ç
1F99   .BYTE $60 ; `
1F9A   .BYTE $70 ; p
1F9B   .BYTE $70 ; p
1F9C   .BYTE $70 ; p
1F9D   .BYTE $70 ; p
1F9E   .BYTE $70 ; p
1F9F   .BYTE $70 ; p
1FA0   .BYTE $70 ; p
1FA1   .BYTE $70 ; p
1FA2   .BYTE $45 ; E
1FA3   .BYTE   0
1FA4   .BYTE $24 ; $
1FA5   .BYTE $85 ; à
1FA6   .BYTE   5
1FA7   .BYTE   5
1FA8   .BYTE $70 ; p
1FA9   .BYTE $70 ; p
1FAA   .BYTE $70 ; p
1FAB   .BYTE $70 ; p
1FAC   .BYTE $F0 ; ­
1FAD   .BYTE $70 ; p
1FAE   .BYTE $46 ; F
1FAF   .BYTE   0
1FB0   .BYTE $B7 ; À
1FB1   .BYTE   6
1FB2   .BYTE   2
1FB3   .BYTE   2
1FB4   .BYTE $41 ; A
1FB5   .BYTE $98 ; ÿ
1FB6   .BYTE $1F
1FB7   .BYTE $70 ; p
1FB8   .BYTE $70 ; p
1FB9   .BYTE $70 ; p
1FBA   .BYTE $70 ; p
1FBB   .BYTE $70 ; p
1FBC   .BYTE $70 ; p
1FBD   .BYTE $70 ; p
1FBE   .BYTE $70 ; p
1FBF   .BYTE $47 ; G
1FC0   .BYTE $20
1FC1   .BYTE $23 ; #
1FC2   .BYTE $70 ; p
1FC3   .BYTE   2
1FC4   .BYTE $70 ; p
1FC5   .BYTE   6
1FC6   .BYTE $70 ; p
1FC7   .BYTE $70 ; p
1FC8   .BYTE   2
1FC9   .BYTE $70 ; p
1FCA   .BYTE $46 ; F
1FCB byte_1FCB:.BYTE $98           ; ...
1FCC byte_1FCC:.BYTE $23           ; ...
1FCD   .BYTE $70 ; p
1FCE   .BYTE $70 ; p
1FCF   .BYTE $42 ; B
1FD0   .BYTE $D4 ; È
1FD1   .BYTE $23 ; #
1FD2   .BYTE $70 ; p
1FD3   .BYTE $70 ; p
1FD4   .BYTE $70 ; p
1FD5   .BYTE $70 ; p
1FD6   .BYTE $70 ; p
1FD7   .BYTE $41 ; A
1FD8   .BYTE $B7 ; À
1FD9   .BYTE $1F
1FDA   .BYTE   0
1FDB   .BYTE   0
1FDC   .BYTE   0
1FDD   .BYTE   0
1FDE   .BYTE   0
1FDF   .BYTE   0
1FE0   .BYTE   0
1FE1   .BYTE   0
1FE2   .BYTE   0
1FE3   .BYTE   0
1FE4   .BYTE   0
1FE5   .BYTE   0
1FE6   .BYTE   0
1FE7   .BYTE   0
1FE8   .BYTE   0
1FE9   .BYTE   0
1FEA   .BYTE   0
1FEB   .BYTE   0
1FEC   .BYTE   0
1FED   .BYTE   0
1FEE   .BYTE   0
1FEF   .BYTE   0
1FF0   .BYTE   0
1FF1   .BYTE   0
1FF2   .BYTE   0
1FF3   .BYTE   0
1FF4   .BYTE   0
1FF5   .BYTE   0
1FF6   .BYTE   0
1FF7   .BYTE   0
1FF8   .BYTE   0
1FF9   .BYTE   0
1FFA   .BYTE   0
1FFB   .BYTE   0
1FFC   .BYTE   0
1FFD   .BYTE   0
1FFE   .BYTE   0
1FFF   .BYTE   0
2000   .BYTE   0
2001   .BYTE   0
2002   .BYTE   0
2003   .BYTE   0
2004   .BYTE   0
2005   .BYTE   0
2006   .BYTE   0
2007   .BYTE   0
2008   .BYTE $81 ; ü
2009   .BYTE $81 ; ü
200A   .BYTE $81 ; ü
200B   .BYTE $81 ; ü
200C   .BYTE $81 ; ü
200D   .BYTE $81 ; ü
200E   .BYTE $81 ; ü
200F   .BYTE $81 ; ü
2010   .BYTE $81 ; ü
2011   .BYTE $81 ; ü
2012   .BYTE $81 ; ü
2013   .BYTE $81 ; ü
2014   .BYTE $81 ; ü
2015   .BYTE $81 ; ü
2016   .BYTE $81 ; ü
2017   .BYTE $81 ; ü
2018   .BYTE $81 ; ü
2019   .BYTE $81 ; ü
201A   .BYTE $81 ; ü
201B   .BYTE $81 ; ü
201C   .BYTE $81 ; ü
201D   .BYTE $81 ; ü
201E   .BYTE $81 ; ü
201F   .BYTE $81 ; ü
2020   .BYTE   0
2021   .BYTE   0
2022   .BYTE   0
2023   .BYTE   0
2024   .BYTE   0
2025   .BYTE   0
2026   .BYTE   0
2027   .BYTE   0
2028   .BYTE   0
2029   .BYTE   0
202A   .BYTE   0
202B   .BYTE   0
202C   .BYTE   0
202D   .BYTE   0
202E   .BYTE   0
202F   .BYTE   0
2030   .BYTE $81 ; ü
2031   .BYTE   7
2032   .BYTE   7
2033   .BYTE   7
2034   .BYTE   7
2035   .BYTE $81 ; ü
2036   .BYTE $81 ; ü
2037   .BYTE   7
2038   .BYTE   7
2039   .BYTE   7
203A   .BYTE   7
203B   .BYTE $81 ; ü
203C   .BYTE $81 ; ü
203D   .BYTE   4
203E   .BYTE   4
203F   .BYTE   4
2040   .BYTE   4
2041   .BYTE $81 ; ü
2042   .BYTE $81 ; ü
2043   .BYTE   4
2044   .BYTE   4
2045   .BYTE   4
2046   .BYTE   4
2047   .BYTE $81 ; ü
2048   .BYTE   0
2049   .BYTE   0
204A   .BYTE   0
204B   .BYTE   0
204C   .BYTE   0
204D   .BYTE   0
204E   .BYTE   0
204F   .BYTE   0
2050   .BYTE   0
2051   .BYTE   0
2052   .BYTE   0
2053   .BYTE   0
2054   .BYTE   0
2055   .BYTE   0
2056   .BYTE   0
2057   .BYTE   0
2058   .BYTE $81 ; ü
2059   .BYTE   7
205A   .BYTE $E4 ; õ
205B   .BYTE $EA ; Û
205C   .BYTE   7
205D   .BYTE $81 ; ü
205E   .BYTE $81 ; ü
205F   .BYTE   7
2060   .BYTE $E3 ; Ò
2061   .BYTE $ED ; Ý
2062   .BYTE   7
2063   .BYTE $81 ; ü
2064   .BYTE $81 ; ü
2065   .BYTE   4
2066   .BYTE $E2 ; Ô
2067   .BYTE $EE ; ¯
2068   .BYTE   4
2069   .BYTE $81 ; ü
206A   .BYTE $81 ; ü
206B   .BYTE   4
206C   .BYTE $E1 ; ß
206D   .BYTE $8A ; è
206E   .BYTE   4
206F   .BYTE $81 ; ü
2070   .BYTE   0
2071   .BYTE   0
2072   .BYTE   0
2073   .BYTE   0
2074   .BYTE   0
2075   .BYTE   0
2076   .BYTE   0
2077   .BYTE   0
2078   .BYTE   0
2079   .BYTE   0
207A   .BYTE   0
207B   .BYTE   0
207C   .BYTE   0
207D   .BYTE   0
207E   .BYTE   0
207F   .BYTE   0
2080   .BYTE $81 ; ü
2081   .BYTE   7
2082   .BYTE $EB ; Ù
2083   .BYTE $EC ; ý
2084   .BYTE   7
2085   .BYTE $81 ; ü
2086   .BYTE $81 ; ü
2087   .BYTE   7
2088   .BYTE $F5 ; §
2089   .BYTE $E9 ; Ú
208A   .BYTE   7
208B   .BYTE $81 ; ü
208C   .BYTE $81 ; ü
208D   .BYTE   4
208E   .BYTE $EF ; ´
208F   .BYTE $F0 ; ­
2090   .BYTE   4
2091   .BYTE $81 ; ü
2092   .BYTE $81 ; ü
2093   .BYTE   4
2094   .BYTE $9A ; Ü
2095   .BYTE $C6 ; ã
2096   .BYTE   4
2097   .BYTE $81 ; ü
2098   .BYTE   0
2099   .BYTE   0
209A   .BYTE   0
209B   .BYTE   0
209C   .BYTE   0
209D   .BYTE   0
209E   .BYTE   0
209F   .BYTE   0
20A0   .BYTE   0
20A1   .BYTE   0
20A2   .BYTE   0
20A3   .BYTE   0
20A4   .BYTE   0
20A5   .BYTE   0
20A6   .BYTE   0
20A7   .BYTE   0
20A8   .BYTE $81 ; ü
20A9   .BYTE   7
20AA   .BYTE   8
20AB   .BYTE   9
20AC   .BYTE   7
20AD   .BYTE $81 ; ü
20AE   .BYTE $81 ; ü
20AF   .BYTE   7
20B0   .BYTE   8
20B1   .BYTE   9
20B2   .BYTE   7
20B3   .BYTE $81 ; ü
20B4   .BYTE $81 ; ü
20B5   .BYTE   4
20B6   .BYTE   5
20B7   .BYTE   6
20B8   .BYTE   4
20B9   .BYTE $81 ; ü
20BA   .BYTE $81 ; ü
20BB   .BYTE   4
20BC   .BYTE   5
20BD   .BYTE   6
20BE   .BYTE   4
20BF   .BYTE $81 ; ü
20C0   .BYTE   0
20C1   .BYTE   0
20C2   .BYTE   0
20C3   .BYTE   0
20C4   .BYTE   0
20C5   .BYTE   0
20C6   .BYTE   0
20C7   .BYTE   0
20C8   .BYTE   0
20C9   .BYTE   0
20CA   .BYTE   0
20CB   .BYTE   0
20CC   .BYTE   0
20CD   .BYTE   0
20CE   .BYTE   0
20CF   .BYTE   0
20D0   .BYTE $81 ; ü
20D1   .BYTE $81 ; ü
20D2   .BYTE $81 ; ü
20D3   .BYTE $81 ; ü
20D4   .BYTE $81 ; ü
20D5   .BYTE $81 ; ü
20D6   .BYTE $81 ; ü
20D7   .BYTE $81 ; ü
20D8   .BYTE $81 ; ü
20D9   .BYTE $81 ; ü
20DA   .BYTE $81 ; ü
20DB   .BYTE $81 ; ü
20DC   .BYTE $81 ; ü
20DD   .BYTE $81 ; ü
20DE   .BYTE $81 ; ü
20DF   .BYTE $81 ; ü
20E0   .BYTE $81 ; ü
20E1   .BYTE $81 ; ü
20E2   .BYTE $81 ; ü
20E3   .BYTE $81 ; ü
20E4   .BYTE $81 ; ü
20E5   .BYTE $81 ; ü
20E6   .BYTE $81 ; ü
20E7   .BYTE $81 ; ü
20E8   .BYTE   0
20E9   .BYTE   0
20EA   .BYTE   0
20EB   .BYTE   0
20EC   .BYTE   0
20ED   .BYTE   0
20EE   .BYTE   0
20EF   .BYTE   0
20F0   .BYTE   0
20F1   .BYTE   0
20F2   .BYTE   0
20F3   .BYTE   0
20F4   .BYTE   0
20F5   .BYTE   0
20F6   .BYTE   0
20F7   .BYTE   0
20F8   .BYTE $81 ; ü
20F9   .BYTE $81 ; ü
20FA   .BYTE $81 ; ü
20FB   .BYTE $81 ; ü
20FC   .BYTE $81 ; ü
20FD   .BYTE $81 ; ü
20FE   .BYTE $81 ; ü
20FF   .BYTE $81 ; ü
2100   .BYTE $81 ; ü
2101   .BYTE $81 ; ü
2102   .BYTE $81 ; ü
2103   .BYTE $81 ; ü
2104   .BYTE $81 ; ü
2105   .BYTE $81 ; ü
2106   .BYTE $81 ; ü
2107   .BYTE $81 ; ü
2108   .BYTE $81 ; ü
2109   .BYTE $81 ; ü
210A   .BYTE $81 ; ü
210B   .BYTE $81 ; ü
210C   .BYTE $81 ; ü
210D   .BYTE $81 ; ü
210E   .BYTE $81 ; ü
210F   .BYTE $81 ; ü
2110   .BYTE   0
2111   .BYTE   0
2112   .BYTE   0
2113   .BYTE   0
2114   .BYTE   0
2115   .BYTE   0
2116   .BYTE   0
2117   .BYTE   0
2118   .BYTE   0
2119   .BYTE   0
211A   .BYTE   0
211B   .BYTE   0
211C   .BYTE   0
211D   .BYTE   0
211E   .BYTE   0
211F   .BYTE   0
2120   .BYTE $81 ; ü
2121   .BYTE $81 ; ü
2122   .BYTE $81 ; ü
2123   .BYTE $81 ; ü
2124   .BYTE $81 ; ü
2125   .BYTE $81 ; ü
2126   .BYTE $81 ; ü
2127   .BYTE $81 ; ü
2128   .BYTE $81 ; ü
2129   .BYTE $81 ; ü
212A   .BYTE $81 ; ü
212B   .BYTE $81 ; ü
212C   .BYTE $81 ; ü
212D   .BYTE $81 ; ü
212E   .BYTE $81 ; ü
212F   .BYTE $81 ; ü
2130   .BYTE $81 ; ü
2131   .BYTE $81 ; ü
2132   .BYTE $81 ; ü
2133   .BYTE $81 ; ü
2134   .BYTE $81 ; ü
2135   .BYTE $81 ; ü
2136   .BYTE $81 ; ü
2137   .BYTE $81 ; ü
2138   .BYTE   0
2139   .BYTE   0
213A   .BYTE   0
213B   .BYTE   0
213C   .BYTE   0
213D   .BYTE   0
213E   .BYTE   0
213F   .BYTE   0
2140   .BYTE   0
2141   .BYTE   0
2142   .BYTE   0
2143   .BYTE   0
2144   .BYTE   0
2145   .BYTE   0
2146   .BYTE   0
2147   .BYTE   0
2148   .BYTE $81 ; ü
2149   .BYTE $81 ; ü
214A   .BYTE $81 ; ü
214B   .BYTE $81 ; ü
214C   .BYTE $81 ; ü
214D   .BYTE $81 ; ü
214E   .BYTE $81 ; ü
214F   .BYTE $81 ; ü
2150   .BYTE $81 ; ü
2151   .BYTE $81 ; ü
2152   .BYTE $81 ; ü
2153   .BYTE $81 ; ü
2154   .BYTE $81 ; ü
2155   .BYTE $81 ; ü
2156   .BYTE $81 ; ü
2157   .BYTE $81 ; ü
2158   .BYTE $81 ; ü
2159   .BYTE $81 ; ü
215A   .BYTE $81 ; ü
215B   .BYTE $81 ; ü
215C   .BYTE $81 ; ü
215D   .BYTE $81 ; ü
215E   .BYTE $81 ; ü
215F   .BYTE $81 ; ü
2160   .BYTE   0
2161   .BYTE   0
2162   .BYTE   0
2163   .BYTE   0
2164   .BYTE   0
2165   .BYTE   0
2166   .BYTE   0
2167   .BYTE   0
2168   .BYTE   0
2169   .BYTE   0
216A   .BYTE   0
216B   .BYTE   0
216C   .BYTE   0
216D   .BYTE   0
216E   .BYTE   0
216F   .BYTE   0
2170   .BYTE $81 ; ü
2171   .BYTE   4
2172   .BYTE $42 ; B
2173   .BYTE $43 ; C
2174   .BYTE   4
2175   .BYTE $81 ; ü
2176   .BYTE   4
2177   .BYTE $42 ; B
2178   .BYTE $43 ; C
2179   .BYTE   4
217A   .BYTE $81 ; ü
217B   .BYTE   7
217C   .BYTE $44 ; D
217D   .BYTE $45 ; E
217E   .BYTE   7
217F   .BYTE $81 ; ü
2180   .BYTE $81 ; ü
2181   .BYTE   0
2182   .BYTE   0
2183   .BYTE   0
2184   .BYTE   0
2185   .BYTE   0
2186   .BYTE   0
2187   .BYTE $81 ; ü
2188   .BYTE   0
2189   .BYTE   0
218A   .BYTE   0
218B   .BYTE   0
218C   .BYTE   0
218D   .BYTE   0
218E   .BYTE   0
218F   .BYTE   0
2190   .BYTE   0
2191   .BYTE   0
2192   .BYTE   0
2193   .BYTE   0
2194   .BYTE   0
2195   .BYTE   0
2196   .BYTE   0
2197   .BYTE   0
2198   .BYTE $81 ; ü
2199   .BYTE   4
219A   .BYTE $E6 ; µ
219B   .BYTE $F4 ; ¶
219C   .BYTE   4
219D   .BYTE $81 ; ü
219E   .BYTE   4
219F   .BYTE $E5 ; Õ
21A0   .BYTE $F2 ; =
21A1   .BYTE   4
21A2   .BYTE $81 ; ü
21A3   .BYTE   7
21A4   .BYTE $E7 ; þ
21A5   .BYTE $8D ; ì
21A6   .BYTE   7
21A7   .BYTE $81 ; ü
21A8   .BYTE $81 ; ü
21A9   .BYTE $E8 ; Þ
21AA   .BYTE $E8 ; Þ
21AB   .BYTE $E8 ; Þ
21AC   .BYTE $E8 ; Þ
21AD   .BYTE $E8 ; Þ
21AE   .BYTE   0
21AF   .BYTE $81 ; ü
21B0   .BYTE   0
21B1   .BYTE   0
21B2   .BYTE   0
21B3   .BYTE   0
21B4   .BYTE   0
21B5   .BYTE   0
21B6   .BYTE   0
21B7   .BYTE   0
21B8   .BYTE   0
21B9   .BYTE   0
21BA   .BYTE   0
21BB   .BYTE   0
21BC   .BYTE   0
21BD   .BYTE   0
21BE   .BYTE   0
21BF   .BYTE   0
21C0   .BYTE $81 ; ü
21C1   .BYTE   4
21C2   .BYTE $F9 ; ¨
21C3   .BYTE $FA ; ·
21C4   .BYTE   4
21C5   .BYTE $81 ; ü
21C6   .BYTE   4
21C7   .BYTE $E6 ; µ
21C8   .BYTE $F4 ; ¶
21C9   .BYTE   4
21CA   .BYTE $81 ; ü
21CB   .BYTE   7
21CC   .BYTE $8E ; Ä
21CD   .BYTE $8F ; Å
21CE   .BYTE   7
21CF   .BYTE $81 ; ü
21D0   .BYTE $81 ; ü
21D1   .BYTE   0
21D2   .BYTE   0
21D3   .BYTE   0
21D4   .BYTE   0
21D5   .BYTE   0
21D6   .BYTE   0
21D7   .BYTE $81 ; ü
21D8   .BYTE   0
21D9   .BYTE   0
21DA   .BYTE   0
21DB   .BYTE   0
21DC   .BYTE   0
21DD   .BYTE   0
21DE   .BYTE   0
21DF   .BYTE   0
21E0   .BYTE   0
21E1   .BYTE   0
21E2   .BYTE   0
21E3   .BYTE   0
21E4   .BYTE   0
21E5   .BYTE   0
21E6   .BYTE   0
21E7   .BYTE   0
21E8   .BYTE $81 ; ü
21E9   .BYTE   4
21EA   .BYTE $F9 ; ¨
21EB   .BYTE $FA ; ·
21EC   .BYTE   4
21ED   .BYTE $81 ; ü
21EE   .BYTE   4
21EF   .BYTE $F1 ; ±
21F0   .BYTE $F6 ; ÷
21F1   .BYTE   4
21F2   .BYTE $81 ; ü
21F3   .BYTE   7
21F4   .BYTE $8C ; î
21F5   .BYTE $9B ; ø
21F6   .BYTE   7
21F7   .BYTE $81 ; ü
21F8   .BYTE $81 ; ü
21F9   .BYTE   0
21FA   .BYTE   0
21FB   .BYTE   0
21FC   .BYTE   0
21FD   .BYTE   0
21FE   .BYTE   0
21FF   .BYTE $81 ; ü
2200   .BYTE   0
2201   .BYTE   0
2202   .BYTE   0
2203   .BYTE   0
2204   .BYTE   0
2205   .BYTE   0
2206   .BYTE   0
2207   .BYTE   0
2208   .BYTE   0
2209   .BYTE   0
220A   .BYTE   0
220B   .BYTE   0
220C   .BYTE   0
220D   .BYTE   0
220E   .BYTE   0
220F   .BYTE   0
2210   .BYTE $81 ; ü
2211   .BYTE   4
2212   .BYTE $E6 ; µ
2213   .BYTE $F4 ; ¶
2214   .BYTE   4
2215   .BYTE $81 ; ü
2216   .BYTE   4
2217   .BYTE $F7 ; ¸
2218   .BYTE $F8 ; °
2219   .BYTE   4
221A   .BYTE $81 ; ü
221B   .BYTE   7
221C   .BYTE   7
221D   .BYTE   7
221E   .BYTE   7
221F   .BYTE $81 ; ü
2220   .BYTE $81 ; ü
2221   .BYTE   0
2222   .BYTE   0
2223   .BYTE   0
2224   .BYTE   0
2225   .BYTE   0
2226   .BYTE   0
2227   .BYTE $81 ; ü
2228   .BYTE   0
2229   .BYTE   0
222A   .BYTE   0
222B   .BYTE   0
222C   .BYTE   0
222D   .BYTE   0
222E   .BYTE   0
222F   .BYTE   0
2230   .BYTE   0
2231   .BYTE   0
2232   .BYTE   0
2233   .BYTE   0
2234   .BYTE   0
2235   .BYTE   0
2236   .BYTE   0
2237   .BYTE   0
2238   .BYTE $81 ; ü
2239   .BYTE   4
223A   .BYTE $F3 ; ¾
223B   .BYTE $8B ; ï
223C   .BYTE   4
223D   .BYTE $81 ; ü
223E   .BYTE   4
223F   .BYTE   4
2240   .BYTE   4
2241   .BYTE   4
2242   .BYTE $81 ; ü
2243   .BYTE $81 ; ü
2244   .BYTE $81 ; ü
2245   .BYTE $81 ; ü
2246   .BYTE $81 ; ü
2247   .BYTE $81 ; ü
2248   .BYTE $81 ; ü
2249   .BYTE   0
224A   .BYTE   0
224B   .BYTE   0
224C   .BYTE   0
224D   .BYTE   0
224E   .BYTE   0
224F   .BYTE $81 ; ü
2250   .BYTE   0
2251   .BYTE   0
2252   .BYTE   0
2253   .BYTE   0
2254   .BYTE   0
2255   .BYTE   0
2256   .BYTE   0
2257   .BYTE   0
2258   .BYTE   0
2259   .BYTE   0
225A   .BYTE   0
225B   .BYTE   0
225C   .BYTE   0
225D   .BYTE   0
225E   .BYTE   0
225F   .BYTE   0
2260   .BYTE $81 ; ü
2261   .BYTE   4
2262   .BYTE   4
2263   .BYTE   4
2264   .BYTE   4
2265   .BYTE $81 ; ü
2266   .BYTE $81 ; ü
2267   .BYTE $81 ; ü
2268   .BYTE $81 ; ü
2269   .BYTE $81 ; ü
226A   .BYTE $81 ; ü
226B   .BYTE $81 ; ü
226C   .BYTE $81 ; ü
226D   .BYTE $81 ; ü
226E   .BYTE $81 ; ü
226F   .BYTE $81 ; ü
2270   .BYTE $81 ; ü
2271   .BYTE   0
2272   .BYTE   0
2273   .BYTE   0
2274   .BYTE   0
2275   .BYTE   0
2276   .BYTE   0
2277   .BYTE $81 ; ü
2278   .BYTE   0
2279   .BYTE   0
227A   .BYTE   0
227B   .BYTE   0
227C   .BYTE   0
227D   .BYTE   0
227E   .BYTE   0
227F   .BYTE   0
2280   .BYTE   0
2281   .BYTE   0
2282   .BYTE   0
2283   .BYTE   0
2284   .BYTE   0
2285   .BYTE   0
2286   .BYTE   0
2287   .BYTE   0
2288   .BYTE $81 ; ü
2289   .BYTE $81 ; ü
228A   .BYTE $81 ; ü
228B   .BYTE $81 ; ü
228C   .BYTE $81 ; ü
228D   .BYTE $81 ; ü
228E   .BYTE $81 ; ü
228F   .BYTE $81 ; ü
2290   .BYTE $81 ; ü
2291   .BYTE $81 ; ü
2292   .BYTE $81 ; ü
2293   .BYTE $81 ; ü
2294   .BYTE $81 ; ü
2295   .BYTE $81 ; ü
2296   .BYTE $81 ; ü
2297   .BYTE $81 ; ü
2298   .BYTE $81 ; ü
2299   .BYTE   0
229A   .BYTE   0
229B   .BYTE   0
229C   .BYTE   0
229D   .BYTE   0
229E   .BYTE   0
229F   .BYTE $81 ; ü
22A0   .BYTE   0
22A1   .BYTE   0
22A2   .BYTE   0
22A3   .BYTE   0
22A4   .BYTE   0
22A5   .BYTE   0
22A6   .BYTE   0
22A7   .BYTE   0
22A8   .BYTE   0
22A9   .BYTE   0
22AA   .BYTE   0
22AB   .BYTE   0
22AC   .BYTE   0
22AD   .BYTE   0
22AE   .BYTE   0
22AF   .BYTE   0
22B0   .BYTE $81 ; ü
22B1   .BYTE $81 ; ü
22B2   .BYTE $81 ; ü
22B3   .BYTE $81 ; ü
22B4   .BYTE $81 ; ü
22B5   .BYTE $81 ; ü
22B6   .BYTE $81 ; ü
22B7   .BYTE $81 ; ü
22B8   .BYTE $81 ; ü
22B9   .BYTE $81 ; ü
22BA   .BYTE $81 ; ü
22BB   .BYTE $81 ; ü
22BC   .BYTE $81 ; ü
22BD   .BYTE $81 ; ü
22BE   .BYTE $81 ; ü
22BF   .BYTE $81 ; ü
22C0   .BYTE $81 ; ü
22C1   .BYTE   0
22C2   .BYTE   0
22C3   .BYTE   0
22C4   .BYTE   0
22C5   .BYTE   0
22C6   .BYTE   0
22C7   .BYTE $81 ; ü
22C8   .BYTE   0
22C9   .BYTE   0
22CA   .BYTE   0
22CB   .BYTE   0
22CC   .BYTE   0
22CD   .BYTE   0
22CE   .BYTE   0
22CF   .BYTE   0
22D0   .BYTE   0
22D1   .BYTE   0
22D2   .BYTE   0
22D3   .BYTE   0
22D4   .BYTE   0
22D5   .BYTE   0
22D6   .BYTE   0
22D7   .BYTE   0
22D8   .BYTE $81 ; ü
22D9   .BYTE $81 ; ü
22DA   .BYTE $81 ; ü
22DB   .BYTE $81 ; ü
22DC   .BYTE $81 ; ü
22DD   .BYTE $81 ; ü
22DE   .BYTE $81 ; ü
22DF   .BYTE $81 ; ü
22E0   .BYTE $81 ; ü
22E1   .BYTE $81 ; ü
22E2   .BYTE $81 ; ü
22E3   .BYTE $81 ; ü
22E4   .BYTE $81 ; ü
22E5   .BYTE $81 ; ü
22E6   .BYTE $81 ; ü
22E7   .BYTE $81 ; ü
22E8   .BYTE $81 ; ü
22E9   .BYTE   0
22EA   .BYTE   0
22EB   .BYTE   0
22EC   .BYTE   0
22ED   .BYTE   0
22EE   .BYTE   0
22EF   .BYTE $81 ; ü
22F0   .BYTE   0
22F1   .BYTE   0
22F2   .BYTE   0
22F3   .BYTE   0
22F4   .BYTE   0
22F5   .BYTE   0
22F6   .BYTE   0
22F7   .BYTE   0
22F8   .BYTE   0
22F9   .BYTE   0
22FA   .BYTE   0
22FB   .BYTE   0
22FC   .BYTE   0
22FD   .BYTE   0
22FE   .BYTE   0
22FF   .BYTE   0
2300   .BYTE $81 ; ü
2301   .BYTE $81 ; ü
2302   .BYTE $81 ; ü
2303   .BYTE $81 ; ü
2304   .BYTE $81 ; ü
2305   .BYTE $81 ; ü
2306   .BYTE $81 ; ü
2307   .BYTE $81 ; ü
2308   .BYTE $81 ; ü
2309   .BYTE $81 ; ü
230A   .BYTE $81 ; ü
230B   .BYTE $81 ; ü
230C   .BYTE $81 ; ü
230D   .BYTE $81 ; ü
230E   .BYTE $81 ; ü
230F   .BYTE $81 ; ü
2310   .BYTE $81 ; ü
2311   .BYTE $81 ; ü
2312   .BYTE $81 ; ü
2313   .BYTE $81 ; ü
2314   .BYTE $81 ; ü
2315   .BYTE $81 ; ü
2316   .BYTE $81 ; ü
2317   .BYTE $81 ; ü
2318   .BYTE   0
2319   .BYTE   0
231A   .BYTE   0
231B   .BYTE   0
231C   .BYTE   0
231D   .BYTE   0
231E   .BYTE   0
231F   .BYTE   0
2320   .BYTE   0
2321   .BYTE   0
2322   .BYTE   0
2323   .BYTE   0
2324   .BYTE   0
2325   .BYTE   0
2326   .BYTE $2D ; -
2327   .BYTE  $E
2328   .BYTE $35 ; 5
2329   .BYTE  $E
232A   .BYTE $2C ; ,
232B   .BYTE  $E
232C   .BYTE $25 ; %
232D   .BYTE  $E
232E   .BYTE   0
232F   .BYTE   0
2330   .BYTE   0
2331   .BYTE   0
2332   .BYTE   0
2333   .BYTE   0
2334   .BYTE   0
2335   .BYTE   0
2336   .BYTE   0
2337   .BYTE   0
2338   .BYTE   0
2339   .BYTE   0
233A   .BYTE   0
233B   .BYTE   0
233C   .BYTE   0
233D   .BYTE $23 ; #
233E   .BYTE $2F ; /
233F   .BYTE $30 ; 0
2340   .BYTE $39 ; 9
2341   .BYTE $32 ; 2
2342   .BYTE $29 ; )
2343   .BYTE $27 ; '
2344   .BYTE $28 ; (
2345   .BYTE $34 ; 4
2346   .BYTE   0
2347   .BYTE   8
2348   .BYTE $23 ; #
2349   .BYTE   9
234A   .BYTE   0
234B   .BYTE $11
234C   .BYTE $19
234D   .BYTE $18
234E   .BYTE $13
234F   .BYTE   0
2350   .BYTE $22 ; "
2351   .BYTE $39 ; 9
2352   .BYTE   0
2353   .BYTE   0
2354   .BYTE   0
2355   .BYTE   0
2356   .BYTE   0
2357   .BYTE   0
2358   .BYTE   0
2359   .BYTE   0
235A   .BYTE   0
235B   .BYTE   0
235C   .BYTE   0
235D   .BYTE   0
235E   .BYTE $6F ; o
235F   .BYTE $7A ; z
2360   .BYTE $61 ; a
2361   .BYTE $72 ; r
2362   .BYTE $6B ; k
2363   .BYTE   0
2364   .BYTE $73 ; s
2365   .BYTE $6F ; o
2366   .BYTE $66 ; f
2367   .BYTE $74 ; t
2368   .BYTE $73 ; s
2369   .BYTE $63 ; c
236A   .BYTE $61 ; a
236B   .BYTE $70 ; p
236C   .BYTE $65 ; e
236D   .BYTE   0
236E   .BYTE   0
236F   .BYTE   0
2370   .BYTE   0
2371   .BYTE   0
2372   .BYTE   0
2373   .BYTE $30 ; 0
2374   .BYTE $32 ; 2
2375   .BYTE $25 ; %
2376   .BYTE $33 ; 3
2377   .BYTE $33 ; 3
2378   .BYTE   0
2379   .BYTE $AF ; »
237A   .BYTE $B0 ; ¦
237B   .BYTE $B4 ; ¦
237C   .BYTE $A9 ; ®
237D   .BYTE $AF ; »
237E   .BYTE $AE ; «
237F   .BYTE   0
2380   .BYTE $34 ; 4
2381   .BYTE $2F ; /
2382   .BYTE   0
2383   .BYTE $23 ; #
2384   .BYTE $28 ; (
2385   .BYTE $21 ; !
2386   .BYTE $2E ; .
2387   .BYTE $27 ; '
2388   .BYTE $25 ; %
2389   .BYTE   0
238A   .BYTE $27 ; '
238B   .BYTE $21 ; !
238C   .BYTE $2D ; -
238D   .BYTE $25 ; %
238E   .BYTE   0
238F   .BYTE $2C ; ,
2390   .BYTE $25 ; %
2391   .BYTE $36 ; 6
2392   .BYTE $25 ; %
2393   .BYTE $2C ; ,
2394   .BYTE   0
2395   .BYTE   0
2396   .BYTE   0
2397   .BYTE   0
2398   .BYTE   0
2399   .BYTE   0
239A   .BYTE   0
239B   .BYTE   0
239C   .BYTE   0
239D   .BYTE   0
239E   .BYTE $E2 ; Ô
239F   .BYTE $E5 ; Õ
23A0   .BYTE $E7 ; þ
23A1   .BYTE $E9 ; Ú
23A2   .BYTE $EE ; ¯
23A3   .BYTE $EE ; ¯
23A4   .BYTE $E5 ; Õ
23A5   .BYTE $F2 ; =
23A6   .BYTE   0
23A7   .BYTE   0
23A8   .BYTE   0
23A9   .BYTE   0
23AA   .BYTE   0
23AB   .BYTE   0
23AC   .BYTE   0
23AD   .BYTE   0
23AE   .BYTE   0
23AF   .BYTE   0
23B0   .BYTE   0
23B1   .BYTE   0
23B2   .BYTE $F3 ; ¾
23B3   .BYTE $F4 ; ¶
23B4   .BYTE $E1 ; ß
23B5   .BYTE $EE ; ¯
23B6   .BYTE $E4 ; õ
23B7   .BYTE $E1 ; ß
23B8   .BYTE $F2 ; =
23B9   .BYTE $E4 ; õ
23BA   .BYTE   0
23BB   .BYTE   0
23BC   .BYTE   0
23BD   .BYTE   0
23BE   .BYTE   0
23BF   .BYTE   0
23C0   .BYTE   0
23C1   .BYTE   0
23C2   .BYTE   0
23C3   .BYTE   0
23C4   .BYTE   0
23C5   .BYTE $F4 ; ¶
23C6   .BYTE $EF ; ´
23C7   .BYTE $F5 ; §
23C8   .BYTE $F2 ; =
23C9   .BYTE $EE ; ¯
23CA   .BYTE $E1 ; ß
23CB   .BYTE $ED ; Ý
23CC   .BYTE $E5 ; Õ
23CD   .BYTE $EE ; ¯
23CE   .BYTE $F4 ; ¶
23CF   .BYTE   0
23D0   .BYTE   0
23D1   .BYTE   0
23D2   .BYTE   0
23D3   .BYTE   0
23D4   .BYTE   0
23D5   .BYTE   0
23D6   .BYTE   0
23D7   .BYTE   0
23D8   .BYTE   0
23D9   .BYTE   0
23DA   .BYTE   0
23DB   .BYTE   0
23DC   .BYTE   0
23DD   .BYTE   0
23DE   .BYTE $30 ; 0
23DF   .BYTE $32 ; 2
23E0   .BYTE $25 ; %
23E1   .BYTE $33 ; 3
23E2   .BYTE $33 ; 3
23E3   .BYTE   0
23E4   .BYTE $B3 ; ¦
23E5   .BYTE $B4 ; ¦
23E6   .BYTE $A1 ; í
23E7   .BYTE $B2 ; ¦
23E8   .BYTE $B4 ; ¦
23E9   .BYTE   0
23EA   .BYTE $34 ; 4
23EB   .BYTE $2F ; /
23EC   .BYTE   0
23ED   .BYTE $22 ; "
23EE   .BYTE $25 ; %
23EF   .BYTE $27 ; '
23F0   .BYTE $29 ; )
23F1   .BYTE $2E ; .
23F2   .BYTE   0
23F3   .BYTE   0
23F4   .BYTE   0
23F5   .BYTE   0
23F6   .BYTE   0
23F7   .BYTE   0
23F8   .BYTE   0
23F9   .BYTE   0
23FA   .BYTE   0
23FB   .BYTE   0
23FC   .BYTE   0
23FD   .BYTE   0
23FE   .BYTE   0
23FF   .BYTE   0
2400   .BYTE   0
2401   .BYTE   0
2402   .BYTE   0
2403   .BYTE   0
2404   .BYTE   0
2405   .BYTE   0
2406   .BYTE   0
2407   .BYTE   0
2408   .BYTE   0
2409   .BYTE   0
240A   .BYTE   0
240B   .BYTE   0
240C   .BYTE   0
240D   .BYTE   0
240E   .BYTE   0
240F   .BYTE   0
2410   .BYTE $10
2411   .BYTE $11
2412   .BYTE $12
2413   .BYTE   0
2414   .BYTE   0
2415   .BYTE   0
2416   .BYTE   0
2417   .BYTE   0
2418   .BYTE   0
2419   .BYTE   0
241A   .BYTE   0
241B   .BYTE   0
241C   .BYTE   0
241D   .BYTE   0
241E   .BYTE   0
241F   .BYTE   0
2420   .BYTE   0
2421   .BYTE   0
2422   .BYTE   0
2423   .BYTE   0
2424   .BYTE   0
2425   .BYTE   0
2426   .BYTE   0
2427   .BYTE   0
2428   .BYTE   0
2429   .BYTE   0
242A   .BYTE   0
242B   .BYTE   0
242C   .BYTE   0
242D   .BYTE   0
242E   .BYTE   0
242F   .BYTE   0
2430   .BYTE   0
2431   .BYTE   0
2432   .BYTE   0
2433   .BYTE   0
2434   .BYTE   0
2435   .BYTE   0
2436   .BYTE   0
2437   .BYTE $13
2438 byte_2438:.BYTE $14           ; ...
2439 byte_2439:.BYTE $15           ; ...
243A   .BYTE $16
243B   .BYTE $17
243C   .BYTE   0
243D   .BYTE   0
243E   .BYTE   0
243F   .BYTE   0
2440   .BYTE   0
2441   .BYTE   0
2442   .BYTE   0
2443   .BYTE   0
2444   .BYTE   0
2445   .BYTE   0
2446   .BYTE   0
2447   .BYTE   0
2448   .BYTE   0
2449   .BYTE   0
244A   .BYTE   0
244B   .BYTE   0
244C   .BYTE   0
244D   .BYTE   0
244E   .BYTE   0
244F   .BYTE   0
2450   .BYTE   0
2451   .BYTE   0
2452   .BYTE   0
2453   .BYTE   0
2454   .BYTE   0
2455   .BYTE   0
2456   .BYTE   0
2457   .BYTE   0
2458   .BYTE   0
2459   .BYTE   0
245A   .BYTE   0
245B   .BYTE   0
245C   .BYTE   0
245D   .BYTE $18
245E   .BYTE $19
245F   .BYTE $1C
2460   .BYTE $1D
2461   .BYTE $1E
2462   .BYTE $1F
2463   .BYTE $20
2464   .BYTE $21 ; !
2465   .BYTE $21 ; !
2466   .BYTE $21 ; !
2467   .BYTE $21 ; !
2468   .BYTE $21 ; !
2469   .BYTE $22 ; "
246A   .BYTE $23 ; #
246B   .BYTE   0
246C   .BYTE   0
246D   .BYTE   0
246E   .BYTE   0
246F   .BYTE   0
2470   .BYTE   0
2471   .BYTE   0
2472   .BYTE   0
2473   .BYTE   0
2474   .BYTE   0
2475   .BYTE   0
2476   .BYTE   0
2477   .BYTE   0
2478   .BYTE   0
2479   .BYTE   0
247A   .BYTE   0
247B   .BYTE   0
247C   .BYTE   0
247D   .BYTE   0
247E   .BYTE   0
247F   .BYTE   0
2480   .BYTE   0
2481   .BYTE   0
2482   .BYTE   0
2483   .BYTE   0
2484   .BYTE   0
2485   .BYTE $24 ; $
2486   .BYTE $25 ; %
2487   .BYTE $26 ; &
2488   .BYTE $27 ; '
2489   .BYTE $28 ; (
248A   .BYTE $29 ; )
248B   .BYTE $2A ; *
248C   .BYTE $2B ; +
248D   .BYTE $2C ; ,
248E   .BYTE $2D ; -
248F   .BYTE $2E ; .
2490   .BYTE $2F ; /
2491   .BYTE $30 ; 0
2492   .BYTE $31 ; 1
2493   .BYTE   0
2494   .BYTE   0
2495   .BYTE   0
2496   .BYTE   0
2497   .BYTE   0
2498   .BYTE   0
2499   .BYTE   0
249A   .BYTE   0
249B   .BYTE   0
249C   .BYTE   0
249D   .BYTE   0
249E   .BYTE   0
249F   .BYTE   0
24A0 byte_24A0:.BYTE 0             ; ...
24A1 byte_24A1:.BYTE 0             ; ...
24A2 byte_24A2:.BYTE 0             ; ...
24A3 byte_24A3:.BYTE 0             ; ...
24A4 byte_24A4:.BYTE 0             ; ...
24A5 byte_24A5:.BYTE 0             ; ...
24A6 byte_24A6:.BYTE 0             ; ...
24A7 unk_24A7:.BYTE $C5 ; +        ; ...
24A8   .BYTE $A3 ; ú
24A9   .BYTE $A3 ; ú
24AA   .BYTE   5
24AB unk_24AB:.BYTE $82 ; é        ; ...
24AC   .BYTE $7B ; {
24AD   .BYTE $73 ; s
24AE   .BYTE $6C ; l
24AF   .BYTE $67 ; g
24B0   .BYTE $61 ; a
24B1   .BYTE $5D ; ]
24B2   .BYTE $57 ; W
24B3   .BYTE $51 ; Q
24B4   .BYTE $4E ; N
24B5   .BYTE $48 ; H
24B6   .BYTE $43 ; C
24B7   .BYTE $C5 ; +
24B8   .BYTE $B9 ; ¦
24B9   .BYTE $AD ; ¡
24BA   .BYTE $A1 ; í
24BB   .BYTE $9B ; ø
24BC   .BYTE $92 ; Æ
24BD   .BYTE $8C ; î
24BE   .BYTE $83 ; â
24BF   .BYTE $7A ; z
24C0   .BYTE $74 ; t
24C1   .BYTE $6B ; k
24C2   .BYTE $65 ; e
24C3   .BYTE $62 ; b
24C4   .BYTE $5C ; \
24C5   .BYTE $56 ; V
24C6   .BYTE $50 ; P
24C7   .BYTE $4D ; M
24C8   .BYTE $47 ; G
24C9 unk_24C9:.BYTE $F6 ; ÷        ; ...
24CA   .BYTE $E8 ; Þ
24CB   .BYTE $DB ; ¦
24CC   .BYTE $CE ; +
24CD   .BYTE $C3 ; +
24CE   .BYTE $B8 ; ©
24CF   .BYTE $AE ; «
24D0   .BYTE $A4 ; ñ
24D1   .BYTE $9A ; Ü
24D2   .BYTE $92 ; Æ
24D3   .BYTE $89 ; ë
24D4   .BYTE $82 ; é
24D5   .BYTE $7B ; {
24D6   .BYTE $73 ; s
24D7   .BYTE $6D ; m
24D8   .BYTE $67 ; g
24D9   .BYTE $61 ; a
24DA   .BYTE $5B ; [
24DB   .BYTE $57 ; W
24DC   .BYTE $51 ; Q
24DD   .BYTE $4D ; M
24DE   .BYTE $49 ; I
24DF   .BYTE $44 ; D
24E0   .BYTE $41 ; A
24E1   .BYTE $3D ; =
24E2   .BYTE $39 ; 9
24E3   .BYTE $36 ; 6
24E4   .BYTE $33 ; 3
24E5   .BYTE $30 ; 0
24E6   .BYTE $2D ; -
24E7   .BYTE $2B ; +
24E8   .BYTE $28 ; (
24E9   .BYTE $26 ; &
24EA   .BYTE $24 ; $
24EB   .BYTE $22 ; "
24EC   .BYTE $20
24ED   .BYTE $1E
24EE   .BYTE $1C
24EF   .BYTE $1B
24F0   .BYTE $19
24F1   .BYTE $17
24F2   .BYTE $16
24F3   .BYTE $15
24F4   .BYTE $13
24F5   .BYTE $12
24F6   .BYTE $11
24F7   .BYTE $10
24F8   .BYTE  $F
24F9   .BYTE  $E
24FA byte_24FA:.BYTE $C5           ; ...
24FB byte_24FB:.BYTE $A3           ; ...
24FC byte_24FC:.BYTE $A3           ; ...
24FD byte_24FD:.BYTE 5             ; ...
24FE byte_24FE:.BYTE 4             ; ...
24FF byte_24FF:.BYTE $C            ; ...
2500 byte_2500:.BYTE $C            ; ...
2501 byte_2501:.BYTE 2             ; ...
2502 byte_2502:.BYTE 1             ; ...
2503 byte_2503:.BYTE 2             ; ...
2504 byte_2504:.BYTE 2             ; ...
2505 byte_2505:.BYTE 0             ; ...
2506 byte_2506:.BYTE $C            ; ...
2507 byte_2507:.BYTE $C            ; ...
2508 byte_2508:.BYTE $C            ; ...
2509 byte_2509:.BYTE $C            ; ...
250A byte_250A:.BYTE 0             ; ...
250B byte_250B:.BYTE 0             ; ...
250C byte_250C:.BYTE 0             ; ...
250D byte_250D:.BYTE 0             ; ...
250E byte_250E:.BYTE 0             ; ...
250F byte_250F:.BYTE 0             ; ...
2510 byte_2510:.BYTE 0             ; ...
2511 byte_2511:.BYTE 0             ; ...
2512 byte_2512:.BYTE 0             ; ...
2513 byte_2513:.BYTE 0             ; ...
2514 byte_2514:.BYTE 0             ; ...
2515 byte_2515:.BYTE 0             ; ...
2516 byte_2516:.BYTE 0             ; ...
2517 byte_2517:.BYTE 0             ; ...
2518 byte_2518:.BYTE 0             ; ...
2519 byte_2519:.BYTE 0             ; ...
251A byte_251A:.BYTE 0             ; ...
251B byte_251B:.BYTE 0             ; ...
251C byte_251C:.BYTE 0             ; ...
251D byte_251D:.BYTE 0             ; ...
251E byte_251E:.BYTE 0             ; ...
251F unk_251F:.BYTE $63 ; c        ; ...
2520 unk_2520:.BYTE   0            ; ...
2521   .BYTE $83 ; â
2522   .BYTE   0
2523   .BYTE $A3 ; ú
2524   .BYTE   0
2525   .BYTE $13
2526   .BYTE   1
2527
2527 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
2527
2527
2527 sub_2527:                     ; ...
2527   LDA   #2
2529   STA   byte_24A0
252C   LDA   numRound
252E   LSR   A
252F   LSR   A
2530   ASL   A
2531   TAY
2532   LDA   unk_251F,Y
2535   STA   byte_24A2
2538   LDA   unk_2520,Y
253B   STA   byte_24A3
253E   LDA   numRound
2540   CMP   #12
2542   BCC   loc_2549
2544   LDA   #0
2546   STA   byte_24A0
2549
2549 loc_2549:                     ; ...
2549   LDY   #3
254B
254B loc_254B:                     ; ...
254B   LDA   unk_24A7,Y
254E   STA   byte_24FA,Y
2551   DEY
2552   BPL   loc_254B
2554   INY
2555   STY   byte_95
2557   STY   byte_4E
2559
2559 loc_2559:                     ; ...
2559   LDA   #0
255B   STA   OS_AUDCTL_ALLPOT
255E   LDA   #3
2560   STA   byte_24A6
2563   STA   OS_SKCTL_SKSTAT
2566   LDA   #$B2
2568   CLC
2569   ADC   byte_24A0
256C   STA   byte_43
256E   LDA   #$28
2570   ADC   byte_24A1
2573   STA   byte_44
2575   LDA   #$D3
2577   CLC
2578   ADC   byte_24A0
257B   STA   byte_45
257D   LDA   #$29
257F   ADC   byte_24A1
2582   STA   byte_46
2584   LDA   #$58
2586   CLC
2587   ADC   byte_24A0
258A   STA   byte_47
258C   LDA   #$2B
258E   ADC   byte_24A1
2591   STA   byte_48
2593   LDA   #$D0
2595   STA   byte_D0
2597   LDA   #$2C
2599   ADC   byte_24A1
259C   STA   byte_D1
259E   LDA   byte_43
25A0   CLC
25A1   ADC   byte_24A2
25A4   STA   byte_24A4
25A7   LDA   byte_44
25A9   ADC   byte_24A3
25AC   STA   byte_24A5
25AC ; End of function sub_2527
25AC
25AF
25AF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
25AF
25AF
25AF sub_25AF:                     ; ...
25AF   LDA   #0
25B1   STA   byte_251A
25B4   STA   byte_251B
25B7   STA   byte_251C
25BA   STA   byte_251D
25BD   RTS
25BD ; End of function sub_25AF
25BD
25BE
25BE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
25BE
25BE
25BE v03:                          ; ...
25BE   LDA   byte_251A
25C1   BEQ   loc_25C6
25C3   JMP   loc_2646
25C6 ; ---------------------------------------------------------------------------
25C6
25C6 loc_25C6:                     ; ...
25C6   LDA   byte_24A4
25C9   CMP   byte_43
25CB   BNE   loc_25F8
25CD   LDA   byte_24A5
25D0   CMP   byte_44
25D2   BNE   loc_25F8
25D4   LDA   #0
25D6   STA   OS_AUDC1_POT2
25D9   STA   OS_AUDC2_POT3
25DC   STA   OS_AUDC3_POT5
25DF   STA   OS_AUDC4_POT7
25E2   LDA   byte_24A0
25E5   CMP   #2
25E7   BNE   loc_25F5
25E9   INC   byte_24A0
25EC   INC   byte_24A0
25EF   DEC   byte_24A2
25F2   DEC   byte_24A2
25F5
25F5 loc_25F5:                     ; ...
25F5   JMP   loc_2559
25F8 ; ---------------------------------------------------------------------------
25F8
25F8 loc_25F8:                     ; ...
25F8   LDY   #0
25FA   LDA   ($43),Y
25FC   STA   byte_251E
25FF   AND   #$3F
2601   TAX
2602   LDA   unk_24AB,X
2605   STA   OS_AUDF1_POT1
2608   BIT   byte_251E
260B   BPL   loc_2619
260D   INY
260E   LDA   ($43),Y
2610   STA   byte_2506
2613   INC   byte_43
2615   BNE   loc_2619
2617   INC   byte_44
2619
2619 loc_2619:                     ; ...
2619   INC   byte_43
261B   BNE   loc_261F
261D   INC   byte_44
261F
261F loc_261F:                     ; ...
261F   BIT   byte_251E
2622   BVC   loc_2629
2624   LDA   #0
2626   JMP   loc_262C
2629 ; ---------------------------------------------------------------------------
2629
2629 loc_2629:                     ; ...
2629   LDA   byte_24FA
262C
262C loc_262C:                     ; ...
262C   STA   byte_250A
262F   LDA   byte_24FE
2632   STA   byte_250E
2635   LDA   byte_2502
2638   STA   byte_2512
263B   LDA   byte_2506
263E   STA   byte_2516
2641   LDA   #1
2643   STA   byte_251A
2646
2646 loc_2646:                     ; ...
2646   LDA   byte_251B
2649   BEQ   loc_264E
264B   JMP   loc_26B0
264E ; ---------------------------------------------------------------------------
264E
264E loc_264E:                     ; ...
264E   LDA   #$57
2650   CMP   byte_45
2652   BNE   loc_2662
2654   LDA   #$2B
2656   CMP   byte_46
2658   BNE   loc_2662
265A   LDA   #$D3
265C   STA   byte_45
265E   LDA   #$29
2660   STA   byte_46
2662
2662 loc_2662:                     ; ...
2662   LDY   #0
2664   LDA   ($45),Y
2666   STA   byte_251E
2669   AND   #$3F
266B   TAX
266C   LDA   unk_24C9,X
266F   STA   OS_AUDF2_POT2
2672   BIT   byte_251E
2675   BPL   loc_2683
2677   INY
2678   LDA   ($45),Y
267A   STA   byte_2507
267D   INC   byte_45
267F   BNE   loc_2683
2681   INC   byte_46
2683
2683 loc_2683:                     ; ...
2683   INC   byte_45
2685   BNE   loc_2689
2687   INC   byte_46
2689
2689 loc_2689:                     ; ...
2689   BIT   byte_251E
268C   BVC   loc_2693
268E   LDA   #0
2690   JMP   loc_2696
2693 ; ---------------------------------------------------------------------------
2693
2693 loc_2693:                     ; ...
2693   LDA   byte_24FB
2696
2696 loc_2696:                     ; ...
2696   STA   byte_250B
2699   LDA   byte_24FF
269C   STA   byte_250F
269F   LDA   byte_2503
26A2   STA   byte_2513
26A5   LDA   byte_2507
26A8   STA   byte_2517
26AB   LDA   #1
26AD   STA   byte_251B
26B0
26B0 loc_26B0:                     ; ...
26B0   LDA   byte_251C
26B3   BEQ   loc_26B8
26B5   JMP   loc_271A
26B8 ; ---------------------------------------------------------------------------
26B8
26B8 loc_26B8:                     ; ...
26B8   LDA   #$CF
26BA   CMP   byte_47
26BC   BNE   loc_26CC
26BE   LDA   #$2C
26C0   CMP   byte_48
26C2   BNE   loc_26CC
26C4   LDA   #$58
26C6   STA   byte_47
26C8   LDA   #$2B
26CA   STA   byte_48
26CC
26CC loc_26CC:                     ; ...
26CC   LDY   #0
26CE   LDA   ($47),Y
26D0   STA   byte_251E
26D3   AND   #$3F
26D5   TAX
26D6   LDA   unk_24C9,X
26D9   STA   OS_AUDF3_POT4
26DC   BIT   byte_251E
26DF   BPL   loc_26ED
26E1   INY
26E2   LDA   ($47),Y
26E4   STA   byte_2508
26E7   INC   byte_47
26E9   BNE   loc_26ED
26EB   INC   byte_48
26ED
26ED loc_26ED:                     ; ...
26ED   INC   byte_47
26EF   BNE   loc_26F3
26F1   INC   byte_48
26F3
26F3 loc_26F3:                     ; ...
26F3   BIT   byte_251E
26F6   BVC   loc_26FD
26F8   LDA   #0
26FA   JMP   loc_2700
26FD ; ---------------------------------------------------------------------------
26FD
26FD loc_26FD:                     ; ...
26FD   LDA   byte_24FC
2700
2700 loc_2700:                     ; ...
2700   STA   byte_250C
2703   LDA   byte_2500
2706   STA   byte_2510
2709   LDA   byte_2504
270C   STA   byte_2514
270F   LDA   byte_2508
2712   STA   byte_2518
2715   LDA   #1
2717   STA   byte_251C
271A
271A loc_271A:                     ; ...
271A   LDA   byte_251D
271D   BEQ   loc_2722
271F   JMP   loc_2760
2722 ; ---------------------------------------------------------------------------
2722
2722 loc_2722:                     ; ...
2722   LDA   #$E0
2724   CMP   byte_D0
2726   BNE   loc_2736
2728   LDA   #$2C
272A   CMP   byte_D1
272C   BNE   loc_2736
272E   LDA   #$D0
2730   STA   byte_D0
2732   LDA   #$2C
2734   STA   byte_D1
2736
2736 loc_2736:                     ; ...
2736   LDY   #0
2738   LDA   ($D0),Y
273A   STA   OS_AUDF4_POT6
273D   INC   byte_D0
273F   BNE   loc_2743
2741   INC   byte_D1
2743
2743 loc_2743:                     ; ...
2743   LDA   byte_24FD
2746   STA   byte_250D
2749   LDA   byte_2501
274C   STA   byte_2511
274F   LDA   byte_2505
2752   STA   byte_2515
2755   LDA   byte_2509
2758   STA   byte_2519
275B   LDA   #1
275D   STA   byte_251D
2760
2760 loc_2760:                     ; ...
2760   LDA   byte_250A
2763   STA   OS_AUDC1_POT2
2766   LDA   byte_250E
2769   BEQ   loc_2771
276B   DEC   byte_250E
276E   JMP   loc_27A2
2771 ; ---------------------------------------------------------------------------
2771
2771 loc_2771:                     ; ...
2771   LDA   byte_250A
2774   AND   #$F
2776   BEQ   loc_27A2
2778   LDA   byte_2502
277B   BEQ   loc_2788
277D   LDA   byte_2512
2780   BEQ   loc_2793
2782   DEC   byte_2512
2785   JMP   loc_27A2
2788 ; ---------------------------------------------------------------------------
2788
2788 loc_2788:                     ; ...
2788   LDA   byte_24FA
278B   AND   #$F0
278D   STA   OS_AUDC1_POT2
2790   JMP   loc_27A2
2793 ; ---------------------------------------------------------------------------
2793
2793 loc_2793:                     ; ...
2793   LDA   byte_2502
2796   STA   byte_2512
2799   DEC   byte_250A
279C   LDA   byte_250A
279F   STA   OS_AUDC1_POT2
27A2
27A2 loc_27A2:                     ; ...
27A2   LDA   byte_2516
27A5   CMP   #1
27A7   BEQ   loc_27AF
27A9   DEC   byte_2516
27AC   JMP   loc_27B4
27AF ; ---------------------------------------------------------------------------
27AF
27AF loc_27AF:                     ; ...
27AF   LDA   #0
27B1   STA   byte_251A
27B4
27B4 loc_27B4:                     ; ...
27B4   LDA   byte_250B
27B7   STA   OS_AUDC2_POT3
27BA   LDA   byte_250F
27BD   BEQ   loc_27C5
27BF   DEC   byte_250F
27C2   JMP   loc_27F9
27C5 ; ---------------------------------------------------------------------------
27C5
27C5 loc_27C5:                     ; ...
27C5   LDA   byte_250B
27C8   AND   #$F
27CA   BEQ   loc_27F9
27CC   LDA   byte_2503
27CF   BEQ   loc_27DC
27D1   LDA   byte_2513
27D4   BEQ   loc_27E7
27D6   DEC   byte_2513
27D9   JMP   loc_27F9
27DC ; ---------------------------------------------------------------------------
27DC
27DC loc_27DC:                     ; ...
27DC   LDA   byte_24FB
27DF   AND   #$F0
27E1   STA   OS_AUDC2_POT3
27E4   JMP   loc_27F9
27E7 ; ---------------------------------------------------------------------------
27E7
27E7 loc_27E7:                     ; ...
27E7   LDA   byte_2503
27EA   STA   byte_2513
27ED   DEC   byte_250B
27F0   LDA   byte_250B
27F3   STA   OS_AUDC2_POT3
27F6   JMP   loc_27F9
27F9
27F9 loc_27F9:                     ; ...
27F9   LDA   byte_2517
27FC   CMP   #1
27FE   BEQ   loc_2806
2800   DEC   byte_2517
2803   JMP   loc_280B
2806 ; ---------------------------------------------------------------------------
2806
2806 loc_2806:                     ; ...
2806   LDA   #0
2808   STA   byte_251B
280B
280B loc_280B:                     ; ...
280B   LDA   byte_250C
280E   STA   OS_AUDC3_POT5
2811   LDA   byte_2510
2814   BEQ   loc_281C
2816   DEC   byte_2510
2819   JMP   loc_284D
281C ; ---------------------------------------------------------------------------
281C
281C loc_281C:                     ; ...
281C   LDA   byte_250C
281F   AND   #$F
2821   BEQ   loc_284D
2823   LDA   byte_2504
2826   BEQ   loc_2833
2828   LDA   byte_2514
282B   BEQ   loc_283E
282D   DEC   byte_2514
2830   JMP   loc_284D
2833 ; ---------------------------------------------------------------------------
2833
2833 loc_2833:                     ; ...
2833   LDA   byte_24FC
2836   AND   #$F0
2838   STA   OS_AUDC3_POT5
283B   JMP   loc_284D
283E ; ---------------------------------------------------------------------------
283E
283E loc_283E:                     ; ...
283E   LDA   byte_2504
2841   STA   byte_2514
2844   DEC   byte_250C
2847   LDA   byte_250C
284A   STA   OS_AUDC3_POT5
284D
284D loc_284D:                     ; ...
284D   LDA   byte_2518
2850   CMP   #1
2852   BEQ   loc_285A
2854   DEC   byte_2518
2857   JMP   loc_285F
285A ; ---------------------------------------------------------------------------
285A
285A loc_285A:                     ; ...
285A   LDA   #0
285C   STA   byte_251C
285F
285F loc_285F:                     ; ...
285F   LDA   byte_250D
2862   STA   OS_AUDC4_POT7
2865   LDA   byte_2511
2868   BEQ   loc_2870
286A   DEC   byte_2511
286D   JMP   loc_28A1
2870 ; ---------------------------------------------------------------------------
2870
2870 loc_2870:                     ; ...
2870   LDA   byte_250D
2873   AND   #$F
2875   BEQ   loc_28A1
2877   LDA   byte_2505
287A   BEQ   loc_2887
287C   LDA   byte_2515
287F   BEQ   loc_2892
2881   DEC   byte_2515
2884   JMP   loc_28A1
2887 ; ---------------------------------------------------------------------------
2887
2887 loc_2887:                     ; ...
2887   LDA   byte_24FD
288A   AND   #$F0
288C   STA   OS_AUDC4_POT7
288F   JMP   loc_28A1
2892 ; ---------------------------------------------------------------------------
2892
2892 loc_2892:                     ; ...
2892   LDA   byte_2505
2895   STA   byte_2515
2898   DEC   byte_250D
289B   LDA   byte_250D
289E   STA   OS_AUDC4_POT7
28A1
28A1 loc_28A1:                     ; ...
28A1   LDA   byte_2519
28A4   CMP   #1
28A6   BEQ   loc_28AC
28A8   DEC   byte_2519
28AB   RTS
28AC ; ---------------------------------------------------------------------------
28AC
28AC loc_28AC:                     ; ...
28AC   LDA   #0
28AE   STA   byte_251D
28B1   RTS
28B1 ; End of function v03
28B1
28B1 ; ---------------------------------------------------------------------------
28B2   .BYTE $C0 ; +
28B3   .BYTE $C0 ; +
28B4   .BYTE $C0 ; +
28B5   .BYTE $C0 ; +
28B6   .BYTE $91 ; æ
28B7   .BYTE  $C
28B8   .BYTE $1D
28B9   .BYTE   9
28BA   .BYTE $15
28BB   .BYTE  $A
28BC   .BYTE $16
28BD   .BYTE  $B
28BE   .BYTE $17
28BF   .BYTE  $C
28C0   .BYTE $18
28C1   .BYTE  $E
28C2   .BYTE $1A
28C3   .BYTE  $F
28C4   .BYTE $1B
28C5   .BYTE $10
28C6   .BYTE $1C
28C7   .BYTE $11
28C8   .BYTE $1D
28C9   .BYTE   9
28CA   .BYTE $15
28CB   .BYTE  $A
28CC   .BYTE $16
28CD   .BYTE  $B
28CE   .BYTE $17
28CF   .BYTE  $C
28D0   .BYTE $18
28D1   .BYTE  $E
28D2   .BYTE $1A
28D3   .BYTE  $F
28D4   .BYTE $1B
28D5   .BYTE $10
28D6   .BYTE $1C
28D7   .BYTE $11
28D8   .BYTE $1D
28D9   .BYTE   9
28DA   .BYTE $15
28DB   .BYTE  $A
28DC   .BYTE $16
28DD   .BYTE  $C
28DE   .BYTE $18
28DF   .BYTE  $F
28E0   .BYTE $1B
28E1   .BYTE  $D
28E2   .BYTE $19
28E3   .BYTE  $F
28E4   .BYTE $1B
28E5   .BYTE  $D
28E6   .BYTE $19
28E7   .BYTE $11
28E8   .BYTE $1D
28E9   .BYTE   9
28EA   .BYTE $15
28EB   .BYTE  $A
28EC   .BYTE $16
28ED   .BYTE  $C
28EE   .BYTE $18
28EF   .BYTE  $F
28F0   .BYTE $1B
28F1   .BYTE  $D
28F2   .BYTE $19
28F3   .BYTE  $F
28F4   .BYTE $1B
28F5   .BYTE $10
28F6   .BYTE $1C
28F7   .BYTE $11
28F8   .BYTE $1D
28F9   .BYTE   9
28FA   .BYTE $15
28FB   .BYTE  $A
28FC   .BYTE $16
28FD   .BYTE  $C
28FE   .BYTE $18
28FF   .BYTE  $F
2900   .BYTE $1B
2901   .BYTE  $D
2902   .BYTE $19
2903   .BYTE  $F
2904   .BYTE $1B
2905   .BYTE  $D
2906   .BYTE $19
2907   .BYTE $11
2908   .BYTE $1D
2909   .BYTE   9
290A   .BYTE $15
290B   .BYTE  $A
290C   .BYTE $16
290D   .BYTE  $C
290E   .BYTE $18
290F   .BYTE  $F
2910   .BYTE $1B
2911   .BYTE  $D
2912   .BYTE $19
2913   .BYTE  $F
2914   .BYTE $1B
2915   .BYTE $10
2916   .BYTE $1C
2917   .BYTE $91 ; æ
2918   .BYTE $2A ; *
2919   .BYTE $91 ; æ
291A   .BYTE   4
291B   .BYTE $C0 ; +
291C   .BYTE   2
291D   .BYTE $91 ; æ
291E   .BYTE $30 ; 0
291F   .BYTE $8F ; Å
2920   .BYTE $2A ; *
2921   .BYTE $8F ; Å
2922   .BYTE   4
2923   .BYTE $C0 ; +
2924   .BYTE   2
2925   .BYTE $8F ; Å
2926   .BYTE $30 ; 0
2927   .BYTE $8D ; ì
2928   .BYTE $2A ; *
2929   .BYTE $8D ; ì
292A   .BYTE   4
292B   .BYTE $C0 ; +
292C   .BYTE   2
292D   .BYTE $8D ; ì
292E   .BYTE $30 ; 0
292F   .BYTE $8C ; î
2930   .BYTE $2A ; *
2931   .BYTE $8C ; î
2932   .BYTE   4
2933   .BYTE $C0 ; +
2934   .BYTE   2
2935   .BYTE $8C ; î
2936   .BYTE $30 ; 0
2937   .BYTE $91 ; æ
2938   .BYTE $2A ; *
2939   .BYTE $91 ; æ
293A   .BYTE   4
293B   .BYTE $C0 ; +
293C   .BYTE   2
293D   .BYTE $91 ; æ
293E   .BYTE $30 ; 0
293F   .BYTE $8F ; Å
2940   .BYTE $2A ; *
2941   .BYTE $8F ; Å
2942   .BYTE   4
2943   .BYTE $C0 ; +
2944   .BYTE   2
2945   .BYTE $8F ; Å
2946   .BYTE $30 ; 0
2947   .BYTE $8D ; ì
2948   .BYTE $2A ; *
2949   .BYTE $8D ; ì
294A   .BYTE   4
294B   .BYTE $C0 ; +
294C   .BYTE   2
294D   .BYTE $8D ; ì
294E   .BYTE $30 ; 0
294F   .BYTE $8C ; î
2950   .BYTE $2A ; *
2951   .BYTE $8C ; î
2952   .BYTE   4
2953   .BYTE $C0 ; +
2954   .BYTE   2
2955   .BYTE $8C ; î
2956   .BYTE $30 ; 0
2957   .BYTE $C0 ; +
2958   .BYTE $C0 ; +
2959   .BYTE $C0 ; +
295A   .BYTE $C0 ; +
295B   .BYTE $91 ; æ
295C   .BYTE $18
295D   .BYTE $14
295E   .BYTE $18
295F   .BYTE $1D
2960   .BYTE  $D
2961   .BYTE $11
2962   .BYTE $14
2963   .BYTE $19
2964   .BYTE  $E
2965   .BYTE $11
2966   .BYTE $15
2967   .BYTE $1A
2968   .BYTE $13
2969   .BYTE  $E
296A   .BYTE $13
296B   .BYTE $1A
296C   .BYTE $14
296D   .BYTE  $F
296E   .BYTE $14
296F   .BYTE $1B
2970   .BYTE  $F
2971   .BYTE $13
2972   .BYTE $16
2973   .BYTE $1B
2974   .BYTE $91 ; æ
2975   .BYTE  $C
2976   .BYTE $1D
2977   .BYTE  $F
2978   .BYTE $1B
2979   .BYTE  $D
297A   .BYTE $19
297B   .BYTE  $C
297C   .BYTE $18
297D   .BYTE  $A
297E   .BYTE $16
297F   .BYTE   8
2980   .BYTE $14
2981   .BYTE   7
2982   .BYTE $13
2983   .BYTE  $C
2984   .BYTE $18
2985   .BYTE $11
2986   .BYTE $1D
2987   .BYTE   9
2988   .BYTE $15
2989   .BYTE  $A
298A   .BYTE $16
298B   .BYTE  $C
298C   .BYTE $18
298D   .BYTE  $F
298E   .BYTE $1B
298F   .BYTE  $D
2990   .BYTE $19
2991   .BYTE  $F
2992   .BYTE $1B
2993   .BYTE  $D
2994   .BYTE $19
2995   .BYTE $11
2996   .BYTE $1D
2997   .BYTE   9
2998   .BYTE $15
2999   .BYTE  $A
299A   .BYTE $16
299B   .BYTE  $C
299C   .BYTE $18
299D   .BYTE  $F
299E   .BYTE $1B
299F   .BYTE  $D
29A0   .BYTE $19
29A1   .BYTE  $F
29A2   .BYTE $1B
29A3   .BYTE $10
29A4   .BYTE $1C
29A5   .BYTE $11
29A6   .BYTE $1D
29A7   .BYTE   9
29A8   .BYTE $15
29A9   .BYTE  $A
29AA   .BYTE $16
29AB   .BYTE  $C
29AC   .BYTE $18
29AD   .BYTE  $F
29AE   .BYTE $1B
29AF   .BYTE  $D
29B0   .BYTE $19
29B1   .BYTE  $F
29B2   .BYTE $1B
29B3   .BYTE  $D
29B4   .BYTE $19
29B5   .BYTE $11
29B6   .BYTE $1D
29B7   .BYTE   9
29B8   .BYTE $15
29B9   .BYTE  $A
29BA   .BYTE $16
29BB   .BYTE  $C
29BC   .BYTE $18
29BD   .BYTE  $F
29BE   .BYTE $1B
29BF   .BYTE  $F
29C0   .BYTE $1B
29C1   .BYTE  $C
29C2   .BYTE $18
29C3   .BYTE  $C
29C4   .BYTE $18
29C5   .BYTE $C1 ; -
29C6   .BYTE   6
29C7   .BYTE $C0 ; +
29C8   .BYTE $12
29C9   .BYTE $C5 ; +
29CA   .BYTE   4
29CB   .BYTE $40 ; @
29CC   .BYTE   5
29CD   .BYTE $40 ; @
29CE   .BYTE   5
29CF   .BYTE $40 ; @
29D0   .BYTE $85 ; à
29D1   .BYTE  $C
29D2   .BYTE   0
29D3   .BYTE $C0 ; +
29D4   .BYTE $C0 ; +
29D5   .BYTE $C0 ; +
29D6   .BYTE $C0 ; +
29D7   .BYTE $C0 ; +
29D8   .BYTE $C0 ; +
29D9   .BYTE $C0 ; +
29DA   .BYTE $C0 ; +
29DB   .BYTE $8C ; î
29DC   .BYTE   6
29DD   .BYTE $40 ; @
29DE   .BYTE $8C ; î
29DF   .BYTE   3
29E0   .BYTE $40 ; @
29E1   .BYTE  $C
29E2   .BYTE $40 ; @
29E3   .BYTE $91 ; æ
29E4   .BYTE $18
29E5   .BYTE $C0 ; +
29E6   .BYTE   8
29E7   .BYTE  $C
29E8   .BYTE $11
29E9   .BYTE $15
29EA   .BYTE $13
29EB   .BYTE $11
29EC   .BYTE $8F ; Å
29ED   .BYTE   6
29EE   .BYTE $40 ; @
29EF   .BYTE $8F ; Å
29F0   .BYTE   3
29F1   .BYTE $40 ; @
29F2   .BYTE  $F
29F3   .BYTE $40 ; @
29F4   .BYTE $96 ; û
29F5   .BYTE $18
29F6   .BYTE $C0 ; +
29F7   .BYTE   8
29F8   .BYTE  $F
29F9   .BYTE $13
29FA   .BYTE $16
29FB   .BYTE $14
29FC   .BYTE $13
29FD   .BYTE $8C ; î
29FE   .BYTE   6
29FF   .BYTE $40 ; @
2A00   .BYTE $8C ; î
2A01   .BYTE   3
2A02   .BYTE $40 ; @
2A03   .BYTE  $C
2A04   .BYTE $40 ; @
2A05   .BYTE $91 ; æ
2A06   .BYTE $18
2A07   .BYTE $C0 ; +
2A08   .BYTE   8
2A09   .BYTE  $C
2A0A   .BYTE $11
2A0B   .BYTE $15
2A0C   .BYTE $13
2A0D   .BYTE $11
2A0E   .BYTE $8F ; Å
2A0F   .BYTE $60 ; `
2A10   .BYTE $8C ; î
2A11   .BYTE   6
2A12   .BYTE $40 ; @
2A13   .BYTE $8C ; î
2A14   .BYTE   3
2A15   .BYTE $40 ; @
2A16   .BYTE  $C
2A17   .BYTE $40 ; @
2A18   .BYTE $91 ; æ
2A19   .BYTE $18
2A1A   .BYTE $C0 ; +
2A1B   .BYTE   8
2A1C   .BYTE  $C
2A1D   .BYTE $11
2A1E   .BYTE $15
2A1F   .BYTE $13
2A20   .BYTE $11
2A21   .BYTE $8F ; Å
2A22   .BYTE   6
2A23   .BYTE $40 ; @
2A24   .BYTE $8F ; Å
2A25   .BYTE   3
2A26   .BYTE $40 ; @
2A27   .BYTE  $F
2A28   .BYTE $40 ; @
2A29   .BYTE $96 ; û
2A2A   .BYTE $18
2A2B   .BYTE $C0 ; +
2A2C   .BYTE   8
2A2D   .BYTE  $F
2A2E   .BYTE $13
2A2F   .BYTE $16
2A30   .BYTE $14
2A31   .BYTE $13
2A32   .BYTE $91 ; æ
2A33   .BYTE   6
2A34   .BYTE $40 ; @
2A35   .BYTE $91 ; æ
2A36   .BYTE   3
2A37   .BYTE $40 ; @
2A38   .BYTE $11
2A39   .BYTE $40 ; @
2A3A   .BYTE $98 ; ÿ
2A3B   .BYTE $18
2A3C   .BYTE $C0 ; +
2A3D   .BYTE   8
2A3E   .BYTE $11
2A3F   .BYTE $15
2A40   .BYTE $18
2A41   .BYTE $16
2A42   .BYTE $15
2A43   .BYTE $93 ; ô
2A44   .BYTE $60 ; `
2A45   .BYTE $9D ; Ø
2A46   .BYTE   6
2A47   .BYTE $40 ; @
2A48   .BYTE $18
2A49   .BYTE $40 ; @
2A4A   .BYTE $1D
2A4B   .BYTE $40 ; @
2A4C   .BYTE $18
2A4D   .BYTE $C0 ; +
2A4E   .BYTE $12
2A4F   .BYTE $98 ; ÿ
2A50   .BYTE   6
2A51   .BYTE $40 ; @
2A52   .BYTE $1D
2A53   .BYTE $40 ; @
2A54   .BYTE $18
2A55   .BYTE $40 ; @
2A56   .BYTE $9B ; ø
2A57   .BYTE   6
2A58   .BYTE $40 ; @
2A59   .BYTE $16
2A5A   .BYTE $40 ; @
2A5B   .BYTE $1B
2A5C   .BYTE $40 ; @
2A5D   .BYTE $16
2A5E   .BYTE $C0 ; +
2A5F   .BYTE $12
2A60   .BYTE $96 ; û
2A61   .BYTE   6
2A62   .BYTE $40 ; @
2A63   .BYTE $1B
2A64   .BYTE $40 ; @
2A65   .BYTE $16
2A66   .BYTE $40 ; @
2A67   .BYTE $99 ; Ö
2A68   .BYTE   6
2A69   .BYTE $40 ; @
2A6A   .BYTE $14
2A6B   .BYTE $40 ; @
2A6C   .BYTE $19
2A6D   .BYTE $40 ; @
2A6E   .BYTE $14
2A6F   .BYTE $C0 ; +
2A70   .BYTE $12
2A71   .BYTE $94 ; ö
2A72   .BYTE   6
2A73   .BYTE $40 ; @
2A74   .BYTE $19
2A75   .BYTE $40 ; @
2A76   .BYTE $14
2A77   .BYTE $40 ; @
2A78   .BYTE $98 ; ÿ
2A79   .BYTE   6
2A7A   .BYTE $40 ; @
2A7B   .BYTE $13
2A7C   .BYTE $40 ; @
2A7D   .BYTE $18
2A7E   .BYTE $40 ; @
2A7F   .BYTE $13
2A80   .BYTE $C0 ; +
2A81   .BYTE $12
2A82   .BYTE $93 ; ô
2A83   .BYTE   6
2A84   .BYTE $40 ; @
2A85   .BYTE $18
2A86   .BYTE $40 ; @
2A87   .BYTE $13
2A88   .BYTE $40 ; @
2A89   .BYTE $C0 ; +
2A8A   .BYTE $C0 ; +
2A8B   .BYTE $40 ; @
2A8C   .BYTE $C0 ; +
2A8D   .BYTE $C0 ; +
2A8E   .BYTE $C0 ; +
2A8F   .BYTE $C0 ; +
2A90   .BYTE $9D ; Ø
2A91   .BYTE  $C
2A92   .BYTE $18
2A93   .BYTE $1D
2A94   .BYTE $20
2A95   .BYTE $24 ; $
2A96   .BYTE $22 ; "
2A97   .BYTE $20
2A98   .BYTE $1F
2A99   .BYTE $1D
2A9A   .BYTE $19
2A9B   .BYTE $1D
2A9C   .BYTE $20
2A9D   .BYTE $24 ; $
2A9E   .BYTE $22 ; "
2A9F   .BYTE $20
2AA0   .BYTE $1F
2AA1   .BYTE $1D
2AA2   .BYTE $1A
2AA3   .BYTE $1D
2AA4   .BYTE $21 ; !
2AA5   .BYTE $26 ; &
2AA6   .BYTE $24 ; $
2AA7   .BYTE $22 ; "
2AA8   .BYTE $21 ; !
2AA9   .BYTE $1F
2AAA   .BYTE $1A
2AAB   .BYTE $1F
2AAC   .BYTE $22 ; "
2AAD   .BYTE $26 ; &
2AAE   .BYTE $24 ; $
2AAF   .BYTE $22 ; "
2AB0   .BYTE $1F
2AB1   .BYTE $20
2AB2   .BYTE $1B
2AB3   .BYTE $20
2AB4   .BYTE $24 ; $
2AB5   .BYTE $27 ; '
2AB6   .BYTE $25 ; %
2AB7   .BYTE $24 ; $
2AB8   .BYTE $22 ; "
2AB9   .BYTE $1F
2ABA   .BYTE $1B
2ABB   .BYTE $1F
2ABC   .BYTE $22 ; "
2ABD   .BYTE $27 ; '
2ABE   .BYTE $25 ; %
2ABF   .BYTE $24 ; $
2AC0   .BYTE $22 ; "
2AC1   .BYTE $A4 ; ñ
2AC2   .BYTE  $C
2AC3   .BYTE $20
2AC4   .BYTE $22 ; "
2AC5   .BYTE $1F
2AC6   .BYTE $20
2AC7   .BYTE $1D
2AC8   .BYTE $1F
2AC9   .BYTE $1C
2ACA   .BYTE $1D
2ACB   .BYTE $1A
2ACC   .BYTE $1B
2ACD   .BYTE $18
2ACE   .BYTE $1A
2ACF   .BYTE $17
2AD0   .BYTE $1C
2AD1   .BYTE $18
2AD2   .BYTE $8C ; î
2AD3   .BYTE   6
2AD4   .BYTE $40 ; @
2AD5   .BYTE $8C ; î
2AD6   .BYTE   3
2AD7   .BYTE $40 ; @
2AD8   .BYTE  $C
2AD9   .BYTE $40 ; @
2ADA   .BYTE $91 ; æ
2ADB   .BYTE $18
2ADC   .BYTE $C0 ; +
2ADD   .BYTE   8
2ADE   .BYTE  $C
2ADF   .BYTE $11
2AE0   .BYTE $15
2AE1   .BYTE $13
2AE2   .BYTE $11
2AE3   .BYTE $8F ; Å
2AE4   .BYTE   6
2AE5   .BYTE $40 ; @
2AE6   .BYTE $8F ; Å
2AE7   .BYTE   3
2AE8   .BYTE $40 ; @
2AE9   .BYTE  $F
2AEA   .BYTE $40 ; @
2AEB   .BYTE $96 ; û
2AEC   .BYTE $18
2AED   .BYTE $C0 ; +
2AEE   .BYTE   8
2AEF   .BYTE  $F
2AF0   .BYTE $13
2AF1   .BYTE $16
2AF2   .BYTE $14
2AF3   .BYTE $13
2AF4   .BYTE $8C ; î
2AF5   .BYTE   6
2AF6   .BYTE $40 ; @
2AF7   .BYTE $8C ; î
2AF8   .BYTE   3
2AF9   .BYTE $40 ; @
2AFA   .BYTE  $C
2AFB   .BYTE $40 ; @
2AFC   .BYTE $91 ; æ
2AFD   .BYTE $18
2AFE   .BYTE $C0 ; +
2AFF   .BYTE   8
2B00   .BYTE  $C
2B01   .BYTE $11
2B02   .BYTE $15
2B03   .BYTE $13
2B04   .BYTE $11
2B05   .BYTE $8F ; Å
2B06   .BYTE $60 ; `
2B07   .BYTE $8C ; î
2B08   .BYTE   6
2B09   .BYTE $40 ; @
2B0A   .BYTE $8C ; î
2B0B   .BYTE   3
2B0C   .BYTE $40 ; @
2B0D   .BYTE  $C
2B0E   .BYTE $40 ; @
2B0F   .BYTE $91 ; æ
2B10   .BYTE $18
2B11   .BYTE $C0 ; +
2B12   .BYTE   8
2B13   .BYTE  $C
2B14   .BYTE $11
2B15   .BYTE $15
2B16   .BYTE $13
2B17   .BYTE $11
2B18   .BYTE $8F ; Å
2B19   .BYTE   6
2B1A   .BYTE $40 ; @
2B1B   .BYTE $8F ; Å
2B1C   .BYTE   3
2B1D   .BYTE $40 ; @
2B1E   .BYTE  $F
2B1F   .BYTE $40 ; @
2B20   .BYTE $96 ; û
2B21   .BYTE $18
2B22   .BYTE $C0 ; +
2B23   .BYTE   8
2B24   .BYTE  $F
2B25   .BYTE $13
2B26   .BYTE $16
2B27   .BYTE $14
2B28   .BYTE $13
2B29   .BYTE $91 ; æ
2B2A   .BYTE   6
2B2B   .BYTE $40 ; @
2B2C   .BYTE $91 ; æ
2B2D   .BYTE   3
2B2E   .BYTE $40 ; @
2B2F   .BYTE $11
2B30   .BYTE $40 ; @
2B31   .BYTE $98 ; ÿ
2B32   .BYTE $18
2B33   .BYTE $C0 ; +
2B34   .BYTE   8
2B35   .BYTE $11
2B36   .BYTE $15
2B37   .BYTE $18
2B38   .BYTE $16
2B39   .BYTE $15
2B3A   .BYTE $CF ; ¤
2B3B   .BYTE   6
2B3C   .BYTE $10
2B3D   .BYTE $11
2B3E   .BYTE $12
2B3F   .BYTE $13
2B40   .BYTE $14
2B41   .BYTE $15
2B42   .BYTE $16
2B43   .BYTE $18
2B44   .BYTE $19
2B45   .BYTE $1A
2B46   .BYTE $1B
2B47   .BYTE $1C
2B48   .BYTE $1D
2B49   .BYTE $1E
2B4A   .BYTE $20
2B4B   .BYTE $1D
2B4C   .BYTE $C0 ; +
2B4D   .BYTE $12
2B4E   .BYTE $85 ; à
2B4F   .BYTE   4
2B50   .BYTE $40 ; @
2B51   .BYTE   5
2B52   .BYTE $40 ; @
2B53   .BYTE   5
2B54   .BYTE $40 ; @
2B55   .BYTE $85 ; à
2B56   .BYTE  $C
2B57   .BYTE   0
2B58   .BYTE $C0 ; +
2B59   .BYTE $C0 ; +
2B5A   .BYTE $C0 ; +
2B5B   .BYTE $C0 ; +
2B5C   .BYTE $C0 ; +
2B5D   .BYTE $C0 ; +
2B5E   .BYTE $C0 ; +
2B5F   .BYTE $C0 ; +
2B60   .BYTE $89 ; ë
2B61   .BYTE   6
2B62   .BYTE $40 ; @
2B63   .BYTE $89 ; ë
2B64   .BYTE   3
2B65   .BYTE $40 ; @
2B66   .BYTE   9
2B67   .BYTE $40 ; @
2B68   .BYTE $8C ; î
2B69   .BYTE $18
2B6A   .BYTE $C0 ; +
2B6B   .BYTE   8
2B6C   .BYTE   9
2B6D   .BYTE  $C
2B6E   .BYTE $11
2B6F   .BYTE $10
2B70   .BYTE  $E
2B71   .BYTE $8A ; è
2B72   .BYTE   6
2B73   .BYTE $40 ; @
2B74   .BYTE $8A ; è
2B75   .BYTE   3
2B76   .BYTE $40 ; @
2B77   .BYTE  $A
2B78   .BYTE $40 ; @
2B79   .BYTE $8F ; Å
2B7A   .BYTE $18
2B7B   .BYTE $C0 ; +
2B7C   .BYTE   8
2B7D   .BYTE  $A
2B7E   .BYTE  $F
2B7F   .BYTE $13
2B80   .BYTE $11
2B81   .BYTE  $F
2B82   .BYTE $89 ; ë
2B83   .BYTE   6
2B84   .BYTE $40 ; @
2B85   .BYTE $89 ; ë
2B86   .BYTE   3
2B87   .BYTE $40 ; @
2B88   .BYTE   9
2B89   .BYTE $40 ; @
2B8A   .BYTE $8C ; î
2B8B   .BYTE $18
2B8C   .BYTE $C0 ; +
2B8D   .BYTE   8
2B8E   .BYTE   9
2B8F   .BYTE  $C
2B90   .BYTE $11
2B91   .BYTE $10
2B92   .BYTE  $E
2B93   .BYTE $8A ; è
2B94   .BYTE $60 ; `
2B95   .BYTE $89 ; ë
2B96   .BYTE   6
2B97   .BYTE $40 ; @
2B98   .BYTE $89 ; ë
2B99   .BYTE   3
2B9A   .BYTE $40 ; @
2B9B   .BYTE   9
2B9C   .BYTE $40 ; @
2B9D   .BYTE $8C ; î
2B9E   .BYTE $18
2B9F   .BYTE $C0 ; +
2BA0   .BYTE   8
2BA1   .BYTE   9
2BA2   .BYTE  $C
2BA3   .BYTE $11
2BA4   .BYTE $10
2BA5   .BYTE  $E
2BA6   .BYTE $8A ; è
2BA7   .BYTE   6
2BA8   .BYTE $40 ; @
2BA9   .BYTE $8A ; è
2BAA   .BYTE   3
2BAB   .BYTE $40 ; @
2BAC   .BYTE  $A
2BAD   .BYTE $40 ; @
2BAE   .BYTE $8F ; Å
2BAF   .BYTE $18
2BB0   .BYTE $C0 ; +
2BB1   .BYTE   8
2BB2   .BYTE  $A
2BB3   .BYTE  $F
2BB4   .BYTE $13
2BB5   .BYTE $11
2BB6   .BYTE  $F
2BB7   .BYTE $8C ; î
2BB8   .BYTE   6
2BB9   .BYTE $40 ; @
2BBA   .BYTE $8C ; î
2BBB   .BYTE   3
2BBC   .BYTE $40 ; @
2BBD   .BYTE  $C
2BBE   .BYTE $40 ; @
2BBF   .BYTE $91 ; æ
2BC0   .BYTE $18
2BC1   .BYTE $C0 ; +
2BC2   .BYTE   8
2BC3   .BYTE  $C
2BC4   .BYTE $11
2BC5   .BYTE $15
2BC6   .BYTE $13
2BC7   .BYTE $11
2BC8   .BYTE $8F ; Å
2BC9   .BYTE $60 ; `
2BCA   .BYTE $98 ; ÿ
2BCB   .BYTE   6
2BCC   .BYTE $40 ; @
2BCD   .BYTE $11
2BCE   .BYTE $40 ; @
2BCF   .BYTE $18
2BD0   .BYTE $40 ; @
2BD1   .BYTE $11
2BD2   .BYTE $C0 ; +
2BD3   .BYTE $12
2BD4   .BYTE $91 ; æ
2BD5   .BYTE   6
2BD6   .BYTE $40 ; @
2BD7   .BYTE $18
2BD8   .BYTE $40 ; @
2BD9   .BYTE $11
2BDA   .BYTE $40 ; @
2BDB   .BYTE $96 ; û
2BDC   .BYTE   6
2BDD   .BYTE $40 ; @
2BDE   .BYTE  $F
2BDF   .BYTE $40 ; @
2BE0   .BYTE $16
2BE1   .BYTE $40 ; @
2BE2   .BYTE  $F
2BE3   .BYTE $C0 ; +
2BE4   .BYTE $12
2BE5   .BYTE $8F ; Å
2BE6   .BYTE   6
2BE7   .BYTE $40 ; @
2BE8   .BYTE $16
2BE9   .BYTE $40 ; @
2BEA   .BYTE  $F
2BEB   .BYTE $40 ; @
2BEC   .BYTE $94 ; ö
2BED   .BYTE   6
2BEE   .BYTE $40 ; @
2BEF   .BYTE  $D
2BF0   .BYTE $40 ; @
2BF1   .BYTE $14
2BF2   .BYTE $40 ; @
2BF3   .BYTE  $D
2BF4   .BYTE $C0 ; +
2BF5   .BYTE $12
2BF6   .BYTE $8D ; ì
2BF7   .BYTE   6
2BF8   .BYTE $40 ; @
2BF9   .BYTE $14
2BFA   .BYTE $40 ; @
2BFB   .BYTE  $D
2BFC   .BYTE $40 ; @
2BFD   .BYTE $93 ; ô
2BFE   .BYTE   6
2BFF   .BYTE $40 ; @
2C00   .BYTE  $C
2C01   .BYTE $40 ; @
2C02   .BYTE $13
2C03   .BYTE $40 ; @
2C04   .BYTE  $C
2C05   .BYTE $C0 ; +
2C06   .BYTE $12
2C07   .BYTE $8C ; î
2C08   .BYTE   6
2C09   .BYTE $40 ; @
2C0A   .BYTE $13
2C0B   .BYTE $40 ; @
2C0C   .BYTE  $C
2C0D   .BYTE $40 ; @
2C0E   .BYTE $C0 ; +
2C0F   .BYTE $C0 ; +
2C10   .BYTE $40 ; @
2C11   .BYTE $C0 ; +
2C12   .BYTE $C0 ; +
2C13   .BYTE $C0 ; +
2C14   .BYTE $C0 ; +
2C15   .BYTE $91 ; æ
2C16   .BYTE $30 ; 0
2C17   .BYTE $8C ; î
2C18   .BYTE $10
2C19   .BYTE $11
2C1A   .BYTE $13
2C1B   .BYTE $8D ; ì
2C1C   .BYTE $30 ; 0
2C1D   .BYTE $91 ; æ
2C1E   .BYTE $10
2C1F   .BYTE $13
2C20   .BYTE  $F
2C21   .BYTE $8E ; Ä
2C22   .BYTE $30 ; 0
2C23   .BYTE $91 ; æ
2C24   .BYTE $10
2C25   .BYTE $13
2C26   .BYTE $11
2C27   .BYTE $8E ; Ä
2C28   .BYTE $30 ; 0
2C29   .BYTE $91 ; æ
2C2A   .BYTE $10
2C2B   .BYTE $13
2C2C   .BYTE $11
2C2D   .BYTE $8F ; Å
2C2E   .BYTE $30 ; 0
2C2F   .BYTE $91 ; æ
2C30   .BYTE $10
2C31   .BYTE $14
2C32   .BYTE $13
2C33   .BYTE $8F ; Å
2C34   .BYTE $30 ; 0
2C35   .BYTE $91 ; æ
2C36   .BYTE $10
2C37   .BYTE $14
2C38   .BYTE $13
2C39   .BYTE $94 ; ö
2C3A   .BYTE  $C
2C3B   .BYTE $11
2C3C   .BYTE $13
2C3D   .BYTE  $F
2C3E   .BYTE $11
2C3F   .BYTE  $D
2C40   .BYTE $10
2C41   .BYTE  $C
2C42   .BYTE  $E
2C43   .BYTE  $A
2C44   .BYTE  $C
2C45   .BYTE   8
2C46   .BYTE  $B
2C47   .BYTE   7
2C48   .BYTE  $C
2C49   .BYTE $10
2C4A   .BYTE $89 ; ë
2C4B   .BYTE   6
2C4C   .BYTE $40 ; @
2C4D   .BYTE $89 ; ë
2C4E   .BYTE   3
2C4F   .BYTE $40 ; @
2C50   .BYTE   9
2C51   .BYTE $40 ; @
2C52   .BYTE $8C ; î
2C53   .BYTE $18
2C54   .BYTE $C0 ; +
2C55   .BYTE   8
2C56   .BYTE   9
2C57   .BYTE  $C
2C58   .BYTE $11
2C59   .BYTE $10
2C5A   .BYTE  $E
2C5B   .BYTE $8A ; è
2C5C   .BYTE   6
2C5D   .BYTE $40 ; @
2C5E   .BYTE $8A ; è
2C5F   .BYTE   3
2C60   .BYTE $40 ; @
2C61   .BYTE  $A
2C62   .BYTE $40 ; @
2C63   .BYTE $8F ; Å
2C64   .BYTE $18
2C65   .BYTE $C0 ; +
2C66   .BYTE   8
2C67   .BYTE  $A
2C68   .BYTE  $F
2C69   .BYTE $13
2C6A   .BYTE $11
2C6B   .BYTE  $F
2C6C   .BYTE $89 ; ë
2C6D   .BYTE   6
2C6E   .BYTE $40 ; @
2C6F   .BYTE $89 ; ë
2C70   .BYTE   3
2C71   .BYTE $40 ; @
2C72   .BYTE   9
2C73   .BYTE $40 ; @
2C74   .BYTE $8C ; î
2C75   .BYTE $18
2C76   .BYTE $C0 ; +
2C77   .BYTE   8
2C78   .BYTE   9
2C79   .BYTE  $C
2C7A   .BYTE $11
2C7B   .BYTE $10
2C7C   .BYTE  $E
2C7D   .BYTE $8A ; è
2C7E   .BYTE $60 ; `
2C7F   .BYTE $89 ; ë
2C80   .BYTE   6
2C81   .BYTE $40 ; @
2C82   .BYTE $89 ; ë
2C83   .BYTE   3
2C84   .BYTE $40 ; @
2C85   .BYTE   9
2C86   .BYTE $40 ; @
2C87   .BYTE $8C ; î
2C88   .BYTE $18
2C89   .BYTE $C0 ; +
2C8A   .BYTE   8
2C8B   .BYTE   9
2C8C   .BYTE  $C
2C8D   .BYTE $11
2C8E   .BYTE $10
2C8F   .BYTE  $E
2C90   .BYTE $8A ; è
2C91   .BYTE   6
2C92   .BYTE $40 ; @
2C93   .BYTE $8A ; è
2C94   .BYTE   3
2C95   .BYTE $40 ; @
2C96   .BYTE  $A
2C97   .BYTE $40 ; @
2C98   .BYTE $8F ; Å
2C99   .BYTE $18
2C9A   .BYTE $C0 ; +
2C9B   .BYTE   8
2C9C   .BYTE  $A
2C9D   .BYTE  $F
2C9E   .BYTE $13
2C9F   .BYTE $11
2CA0   .BYTE  $F
2CA1   .BYTE $8C ; î
2CA2   .BYTE   6
2CA3   .BYTE $40 ; @
2CA4   .BYTE $8C ; î
2CA5   .BYTE   3
2CA6   .BYTE $40 ; @
2CA7   .BYTE  $C
2CA8   .BYTE $40 ; @
2CA9   .BYTE $91 ; æ
2CAA   .BYTE $18
2CAB   .BYTE $C0 ; +
2CAC   .BYTE   8
2CAD   .BYTE  $C
2CAE   .BYTE $11
2CAF   .BYTE $15
2CB0   .BYTE $13
2CB1   .BYTE $11
2CB2   .BYTE $8A ; è
2CB3   .BYTE   6
2CB4   .BYTE  $B
2CB5   .BYTE  $C
2CB6   .BYTE  $D
2CB7   .BYTE  $E
2CB8   .BYTE  $F
2CB9   .BYTE $10
2CBA   .BYTE $11
2CBB   .BYTE $13
2CBC   .BYTE $14
2CBD   .BYTE $15
2CBE   .BYTE $16
2CBF   .BYTE $17
2CC0   .BYTE $18
2CC1   .BYTE $19
2CC2   .BYTE $1B
2CC3   .BYTE $18
2CC4   .BYTE $C0 ; +
2CC5   .BYTE $12
2CC6   .BYTE $8C ; î
2CC7   .BYTE   4
2CC8   .BYTE $40 ; @
2CC9   .BYTE  $C
2CCA   .BYTE $40 ; @
2CCB   .BYTE  $C
2CCC   .BYTE $40 ; @
2CCD   .BYTE $8C ; î
2CCE   .BYTE  $C
2CCF   .BYTE   0
2CD0   .BYTE $40 ; @
2CD1   .BYTE $80 ; Ç
2CD2   .BYTE   8
2CD3   .BYTE $80 ; Ç
2CD4   .BYTE $40 ; @
2CD5   .BYTE $80 ; Ç
2CD6   .BYTE   8
2CD7   .BYTE $80 ; Ç
2CD8   .BYTE $40 ; @
2CD9   .BYTE $80 ; Ç
2CDA   .BYTE   8
2CDB   .BYTE $80 ; Ç
2CDC   .BYTE   8
2CDD   .BYTE $80 ; Ç
2CDE   .BYTE   8
2CDF   .BYTE $80 ; Ç
2CE0   .BYTE   0
2CE1
2CE1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
2CE1
2CE1
2CE1 sub_2CE1:                     ; ...
2CE1   LDA   #$BD
2CE3   STA   byte_43
2CE5   LDA   #$29
2CE7   STA   byte_44
2CE9   LDA   #$3A
2CEB   STA   byte_45
2CED   LDA   #$2B
2CEF   STA   byte_46
2CF1   LDA   #$B2
2CF3   STA   byte_47
2CF5   LDA   #$2C
2CF7   STA   byte_48
2CF9   LDA   #$D0
2CFB   STA   byte_D0
2CFD   LDA   #$2C
2CFF   STA   byte_D1
2D01   LDA   #12
2D03   STA   byte_2506
2D06   LDA   #6
2D08   STA   byte_2507
2D0B   STA   byte_2508
2D0E   LDX   #3
2D10
2D10 loc_2D10:                     ; ...
2D10   LDY   unk_24A7,X
2D13   DEY
2D14   TYA
2D15   STA   byte_24FA,X
2D18   DEX
2D19   BPL   loc_2D10
2D1B   JSR   sub_25AF
2D1E   LDA   #16
2D20   STA   byte_C1
2D22
2D22 loc_2D22:                     ; ...
2D22   LDA   byte_C1
2D24
2D24 loc_2D24:                     ; ...
2D24   BPL   loc_2D22
2D26   JMP   sub_136D
2D26 ; End of function sub_2CE1
2D26
2D29
2D29 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
2D29
2D29
2D29 v17:
2D29   LDA   byte_251A
2D2C   BEQ   loc_2D31
2D2E   JMP   loc_2646
2D31 ; ---------------------------------------------------------------------------
2D31
2D31 loc_2D31:                     ; ...
2D31   LDA   byte_43
2D33   CMP   #$D2
2D35   BNE   loc_2D40
2D37   LDA   byte_44
2D39   CMP   #$29
2D3B   BNE   loc_2D40
2D3D   JSR   C1_255
2D40
2D40 loc_2D40:                     ; ...
2D40   JMP   loc_25F8
2D43 ; ---------------------------------------------------------------------------
2D43
2D43 loc_2D43:                     ; ...
2D43   STA   byte_85
2D45   STY   byte_86
2D47   STX   byte_87
2D49   LDY   byte_92
2D4B   BEQ   loc_2DBF
2D4D   CPY   #$14
2D4F   BCS   loc_2DBC
2D51   LDA   byte_9D
2D53   BMI   loc_2DB3
2D55   CPY   #8
2D57   BEQ   loc_2D75
2D59   CPY   #$C
2D5B   BEQ   loc_2D99
2D5D
2D5D loc_2D5D:                     ; ...
2D5D   LDA   mountainsX,Y
2D60   LDX   riverStoreX,Y
2D63   STA   OS_WSYNC
2D66   STA   OS_HPOSP2_M2PF
2D69   STX   OS_HPOSP3_M3PF
2D6C   INC   byte_92
2D6E   LDA   byte_85
2D70   LDY   byte_86
2D72   LDX   byte_87
2D74   RTI
2D75 ; ---------------------------------------------------------------------------
2D75
2D75 loc_2D75:                     ; ...
2D75   LDA   #0
2D77   LDX   riverStoreX,Y
2D7A   LDY   #1
2D7C   STA   OS_WSYNC
2D7F   STA   OS_COLPM3
2D82   STX   OS_HPOSP3_M3PF
2D85   STY   OS_SIZEP3
2D88   LDY   byte_92
2D8A   LDA   mountainsX,Y
2D8D   STA   OS_HPOSP2_M2PF
2D90   INC   byte_92
2D92   LDA   byte_85
2D94   LDY   byte_86
2D96   LDX   byte_87
2D98   RTI
2D99 ; ---------------------------------------------------------------------------
2D99
2D99 loc_2D99:                     ; ...
2D99   LDA   mountainsX,Y
2D9C   LDX   riverStoreX,Y
2D9F   LDY   #0
2DA1   STA   OS_WSYNC
2DA4   STA   OS_HPOSP2_M2PF
2DA7   STX   OS_HPOSP3_M3PF
2DAA   STY   OS_SIZEP3
2DAD   LDA   OS_PCOLR3
2DB0   STA   OS_COLPM3
2DB3
2DB3 loc_2DB3:                     ; ...
2DB3   INC   byte_92
2DB5   LDA   byte_85
2DB7   LDY   byte_86
2DB9   LDX   byte_87
2DBB   RTI
2DBC ; ---------------------------------------------------------------------------
2DBC
2DBC loc_2DBC:                     ; ...
2DBC   JMP   loc_2DE0
2DBF ; ---------------------------------------------------------------------------
2DBF
2DBF loc_2DBF:                     ; ...
2DBF   LDA   #$1C
2DC1   STA   byte_D409
2DC4   LDA   byte_97
2DC6   STA   byte_D016
2DC9   LDA   byte_9A
2DCB   STA   byte_D019
2DCE   LDA   byte_98
2DD0   STA   byte_D017
2DD3   LDA   byte_99
2DD5   STA   byte_D018
2DD8   LDA   #2
2DDA   STA   OS_PRIOR
2DDD   JMP   loc_2D5D
2DE0 ; ---------------------------------------------------------------------------
2DE0
2DE0 loc_2DE0:                     ; ...
2DE0   LDA   #$18
2DE2   STA   byte_D409
2DE5   LDA   #$F4
2DE7   STA   byte_D016
2DEA   LDA   OS_COLOR4
2DED   STA   byte_D018
2DED ; ---------------------------------------------------------------------------
2DF0   .BYTE $A9 ; ®               ; LDA
2DF1 byte_2DF1:.BYTE $44           ; ...
2DF2 ; ---------------------------------------------------------------------------
2DF2   STA   byte_D017
2DF5   LDA   byte_85
2DF7   LDY   byte_86
2DF9   LDX   byte_87
2DFB   RTI
2DFC ; ---------------------------------------------------------------------------
2DFC   STA   byte_85
2DFE   STX   byte_87
2E00   STY   byte_86
2E02   LDA   byte_92
2E04   BNE   loc_2E22
2E06   LDA   #$B0
2E08   STA   byte_D007
2E0B   LDA   #$B4
2E0D   STA   byte_D006
2E10   LDA   #$B8
2E12   STA   byte_D005
2E15   LDA   #$BC
2E17   STA   OS_HPOSM0_P0PF
2E1A   LDA   #$B6
2E1C   STA   byte_D019
2E1F   JMP   loc_2EB0
2E22 ; ---------------------------------------------------------------------------
2E22
2E22 loc_2E22:                     ; ...
2E22   CMP   #1
2E24   BNE   loc_2E4C
2E26   LDA   #$40
2E28   STA   byte_D007
2E2B   LDA   #$44
2E2D   STA   byte_D006
2E30   LDA   #$48
2E32   STA   byte_D005
2E35   LDA   #$4C
2E37   STA   OS_HPOSM0_P0PF
2E3A   LDA   #$26
2E3C   LDX   #$C
2E3E   LDY   #$C4
2E40   STA   byte_D019
2E43   STX   byte_D016
2E46   STY   byte_D018
2E49   JMP   loc_2EB0
2E4C ; ---------------------------------------------------------------------------
2E4C
2E4C loc_2E4C:                     ; ...
2E4C   CMP   #2
2E4E   BNE   loc_2E71
2E50   LDA   #1
2E52   STA   OS_PRIOR
2E55   LDA   byte_97
2E57   STA   byte_D012
2E5A   LDA   byte_98
2E5C   STA   wampusColor
2E5F   LDA   byte_99
2E61   STA   OS_COLPM2_PAL
2E64   LDA   byte_9A
2E66   STA   OS_COLPM3
2E69   LDA   #8
2E6B   STA   byte_D018
2E6E   JMP   loc_2EB0
2E71 ; ---------------------------------------------------------------------------
2E71
2E71 loc_2E71:                     ; ...
2E71   CMP   #3
2E73   BNE   loc_2E85
2E73 ; ---------------------------------------------------------------------------
2E75   .BYTE $A9                   ; LDA
2E76 byte_2E76:.BYTE 2             ; ...
2E77   .BYTE $A2                   ; LDX
2E78 byte_2E78:.BYTE $C            ; ...
2E79 ; ---------------------------------------------------------------------------
2E79   STA   OS_WSYNC
2E7C   STA   byte_D016
2E7F   STX   byte_D019
2E82   JMP   loc_2EB0
2E85 ; ---------------------------------------------------------------------------
2E85
2E85 loc_2E85:                     ; ...
2E85   CMP   #4
2E87   BNE   loc_2E94
2E89   LDA   #4
2E8B   STA   OS_WSYNC
2E8E   STA   byte_D017
2E91   JMP   loc_2EB0
2E94 ; ---------------------------------------------------------------------------
2E94
2E94 loc_2E94:                     ; ...
2E94   CMP   #5
2E96   BNE   loc_2EA3
2E98   LDA   #$C
2E9A   STA   OS_WSYNC
2E9D   STA   byte_D017
2EA0   JMP   loc_2EB0
2EA3 ; ---------------------------------------------------------------------------
2EA3
2EA3 loc_2EA3:                     ; ...
2EA3   LDX   #$94
2EA5   LDA   #$44
2EA7   STA   OS_WSYNC
2EAA   STX   byte_D017
2EAD   STA   byte_D018
2EB0
2EB0 loc_2EB0:                     ; ...
2EB0   INC   byte_92
2EB2   LDA   byte_85
2EB4   LDX   byte_87
2EB6   LDY   byte_86
2EB8   RTI
2EB9 ; ---------------------------------------------------------------------------
2EB9   PHA
2EBA   LDA   byte_92
2EBC   BMI   loc_2ED4
2EBE   BEQ   loc_2EF7
2EC0   CMP   #1
2EC2   BNE   loc_2EF0
2EC4   LDA   #$D4
2EC6   STA   byte_D016
2EC9   LDA   #$44
2ECB   STA   byte_D017
2ECE   LDA   #$FF
2ED0   STA   byte_92
2ED2   PLA
2ED3   RTI
2ED4 ; ---------------------------------------------------------------------------
2ED4
2ED4 loc_2ED4:                     ; ...
2ED4   TXA
2ED5   PHA
2ED6   LDA   #$18
2ED8   LDX   #0
2EDA   STA   OS_WSYNC
2EDD   STA   byte_D409
2EE0   STX   byte_D017
2EE3   LDA   #$F4
2EE5   STA   byte_D016
2EE8   LDA   #2
2EEA   STA   byte_92
2EEC   PLA
2EED   TAX
2EEE   PLA
2EEF   RTI
2EF0 ; ---------------------------------------------------------------------------
2EF0
2EF0 loc_2EF0:                     ; ...
2EF0   LDA   #4
2EF2   STA   byte_D017
2EF5   PLA
2EF6   RTI
2EF7 ; ---------------------------------------------------------------------------
2EF7
2EF7 loc_2EF7:                     ; ...
2EF7   LDA   #$14
2EF9   STA   byte_D409
2EFC   INC   byte_92
2EFE   PLA
2EFF   RTI
2F00 ; ---------------------------------------------------------------------------
2F00   PHA
2F01   LDA   byte_92
2F03   BNE   loc_2F1D
2F05   LDA   byte_97
2F07   STA   byte_D016
2F0A   LDA   byte_9A
2F0C   STA   byte_D019
2F0F   LDA   byte_98
2F11   STA   byte_D017
2F14   LDA   byte_99
2F16   STA   byte_D018
2F19   INC   byte_92
2F1B   PLA
2F1C   RTI
2F1D ; ---------------------------------------------------------------------------
2F1D
2F1D loc_2F1D:                     ; ...
2F1D   LDA   OS_COLOR4
2F20   STA   byte_D018
2F23   LDA   #8
2F25   STA   byte_D017
2F28   LDA   OS_COLOR0
2F2B   STA   byte_D016
2F2E   PLA
2F2F   RTI
2F2F ; End of function v17
2F2F
2F30
2F30 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
2F30
2F30
2F30 sub_2F30:                     ; ...
2F30   JSR   initBB00ToBFFF
2F33   JSR   sub_5E1B
2F36   LDA   #$E0
2F38   STA   OS_CHBAS
2F3B   LDA   #0
2F3D   STA   OS_COLOR4
2F40   STA   OS_COLOR2
2F43   LDA   #$28
2F45   STA   OS_COLOR0
2F48   LDA   #$C8
2F4A   STA   OS_COLOR1
2F4D   LDA   #$48
2F4F   STA   OS_COLOR3
2F52   JSR   sub_2F80
2F55   LDA   #$B7
2F57   STA   OS_SDLSTL
2F5A   LDA   #$1F
2F5C   STA   OS_SDLSTL+1
2F5F   JSR   waitJiffyLevel
2F62
2F62 loc_2F62:                     ; ...
2F62   LDA   #8
2F64   STA   OS_CONSOL
2F67   LDA   OS_CONSOL
2F6A   CMP   #6
2F6C   BNE   loc_2F6F
2F6E   RTS
2F6F ; ---------------------------------------------------------------------------
2F6F
2F6F loc_2F6F:                     ; ...
2F6F   CMP   #3
2F71   BNE   loc_2F62
2F73   INC   level                 ; // faire défiler les niveaux
2F75   JSR   sub_2F80
2F78   LDA   #30
2F7A   JSR   waitJiffy             ; input
2F7A                               ; A: temps à attendre en jiffy (1/60 seconds)
2F7D   JMP   loc_2F62
2F7D ; End of function sub_2F30
2F7D
2F80
2F80 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
2F80
2F80
2F80 sub_2F80:                     ; ...
2F80   LDA   level
2F82   CMP   #3
2F84   BCC   loc_2F8A              ; if (GAME_LEVEL >= 3)
2F86   LDA   #0
2F88   STA   level                 ;   GAME_LEVEL = 0
2F8A
2F8A loc_2F8A:                     ; ...
2F8A   LDY   #20
2F8C   JSR   mul8BitsBy8Bits       ; input
2F8C                               ; A: left operand
2F8C                               ; Y: right operand
2F8C                               ; output
2F8C                               ; Y/A, byte_81/byte_82: A * Y
2F8F   CLC
2F90   ADC   #$98
2F92   STA   byte_1FCB
2F95   LDA   #$23
2F97   ADC   #0
2F99   STA   byte_1FCC
2F9C   RTS
2F9C ; End of function sub_2F80
2F9C
2F9D
2F9D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
2F9D
2F9D
2F9D sub_2F9D:
2F9D   PHA
2F9E   LDA   OS_VCOUNT
2FA1   CMP   #$32
2FA3   BCS   loc_2FB6
2FA5   LDA   #$14
2FA7   STA   byte_D409
2FAA   LDA   #0
2FAC   STA   byte_D016
2FAF   LDA   #6
2FB1   STA   byte_D01A
2FB4   PLA
2FB5   RTI
2FB6 ; ---------------------------------------------------------------------------
2FB6
2FB6 loc_2FB6:                     ; ...
2FB6   CMP   #$46
2FB8   BCS   loc_2FD0
2FBA
2FBA loc_2FBA:                     ; ...
2FBA   LDA   OS_VCOUNT
2FBD   CMP   #$3E
2FBF   BNE   loc_2FBA
2FC1   LDA   #8
2FC3   STA   OS_WSYNC
2FC6   STA   byte_D01A
2FC9   LDA   #4
2FCB   STA   byte_D016
2FCE   PLA
2FCF   RTI
2FD0 ; ---------------------------------------------------------------------------
2FD0
2FD0 loc_2FD0:                     ; ...
2FD0   LDA   #$18
2FD2   STA   byte_D409
2FD5   LDA   #$74
2FD7   STA   byte_D016
2FDA   PLA
2FDB   RTI
2FDC ; ---------------------------------------------------------------------------
2FDC   STA   byte_85
2FDE   STX   byte_87
2FE0   STY   byte_86
2FE2   LDA   byte_92
2FE4   BNE   loc_3007
2FE6   LDA   #8
2FE8   LDX   #2
2FEA   STA   byte_D018
2FED   STX   byte_D017
2FED ; ---------------------------------------------------------------------------
2FF0   .BYTE $A2 ; ó               ; LDX
2FF1 byte_2FF1:.BYTE $B0           ; ...
2FF2 ; ---------------------------------------------------------------------------
2FF2   STX   byte_D007
2FF2 ; ---------------------------------------------------------------------------
2FF5   .BYTE $A2 ; ó               ; LDX
2FF6 byte_2FF6:.BYTE $B4           ; ...
2FF7 ; ---------------------------------------------------------------------------
2FF7   STX   byte_D006
2FF7 ; ---------------------------------------------------------------------------
2FFA   .BYTE $A2 ; ó               ; LDX
2FFB byte_2FFB:.BYTE $B8           ; ...
2FFC ; ---------------------------------------------------------------------------
2FFC   STX   byte_D005
2FFC ; ---------------------------------------------------------------------------
2FFF   .BYTE $A2 ; ó               ; LDX
3000 byte_3000:.BYTE $BC           ; ...
3001 ; ---------------------------------------------------------------------------
3001   STX   OS_HPOSM0_P0PF
3004   JMP   loc_3074
3007 ; ---------------------------------------------------------------------------
3007
3007 loc_3007:                     ; ...
3007   CMP   #1
3009   BNE   loc_301B
300B   LDA   #$1C
300B ; ---------------------------------------------------------------------------
300D   .BYTE $A0 ; á
300E byte_300E:.BYTE $B6           ; ...
300F ; ---------------------------------------------------------------------------
300F   STA   byte_D409
3012   STA   OS_WSYNC
3015   STY   byte_D019
3018   JMP   loc_3074
301B ; ---------------------------------------------------------------------------
301B
301B loc_301B:                     ; ...
301B   CMP   #2
301D   BNE   loc_303E
301D ; ---------------------------------------------------------------------------
301F byte_301F:.BYTE $A2           ; ...
3020 byte_3020:.BYTE $40           ; ...
3021 ; ---------------------------------------------------------------------------
3021
3021 loc_3021:
3021   STX   byte_D007
3024   LDX   #$44
3026
3026 loc_3026:
3026   STX   byte_D006
3029   LDX   #$48
302B   STX   byte_D005
302E   LDX   #$4C
3030   STX   OS_HPOSM0_P0PF
3030 ; ---------------------------------------------------------------------------
3033   .BYTE $A9 ; ®
3034 byte_3034:.BYTE $26           ; ...
3035 ; ---------------------------------------------------------------------------
3035   STA   OS_WSYNC
3038   STA   byte_D019
303B   JMP   loc_3074
303E ; ---------------------------------------------------------------------------
303E
303E loc_303E:                     ; ...
303E   CMP   #3
3040   BNE   loc_3052
3042   LDA   #$18
3044   STA   byte_D409
3047   LDA   #$C4
3049   STA   OS_WSYNC
304C   STA   byte_D019
304F   JMP   loc_3074
3052 ; ---------------------------------------------------------------------------
3052
3052 loc_3052:                     ; ...
3052   CMP   #4
3054   BNE   byte_3062
3056   LDA   OS_COLOR4
3059   STA   OS_WSYNC
305C   STA   byte_D018
305F   JMP   loc_3074
305F ; ---------------------------------------------------------------------------
3062 byte_3062:.BYTE $A9           ; ...
3062                               ; LDA
3063 byte_3063:.BYTE $24           ; ...
3064 ; ---------------------------------------------------------------------------
3064   LDX   #$B4
3066   LDY   #$44
3068   STX   OS_WSYNC
306B   STA   byte_D016
306E   STX   byte_D017
3071   STY   byte_D018
3074
3074 loc_3074:                     ; ...
3074   LDA   byte_85
3076   LDX   byte_87
3078   LDY   byte_86
307A   INC   byte_92
307C   RTI
307C ; End of function sub_2F9D
307C
307D
307D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
307D
307D
307D printAndWaitPlayersButtons:   ; ...
307D   JSR   prepareStaticMessage
3080   LDA   #$F5                  ; // _PRESS_ALL_PLAYER
3080                               ; // _BUTTONS_TO_GO_ON.
3082   LDY   #$3A
3084   JSR   addMessage            ; Y/A: High/Low address
3087   JSR   initPlayersButtons
3087 ; End of function printAndWaitPlayersButtons
3087
308A
308A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
308A
308A
308A waitPlayersButtons:           ; ...
308A   LDA   #1
308C   STA   byte_4E
308E   LDA   maxIndexCpu
3090   CMP   #3
3092   BNE   loc_30A0
3094   LDA   #4
3096   STA   byte_95
3098
3098 loc_3098:                     ; ...
3098   JSR   loc_309B
309B
309B loc_309B:
309B   LDA   #$FF
309D   JMP   waitJiffy             ; input
309D                               ; A: temps à attendre en jiffy (1/60 seconds)
30A0 ; ---------------------------------------------------------------------------
30A0
30A0 loc_30A0:                     ; ...
30A0   LDA   #$FF
30A2
30A2 loc_30A2:                     ; ...
30A2   STA   byte_C3
30A4
30A4 loc_30A4:                     ; ...
30A4   LDY   #3
30A6
30A6 loc_30A6:                     ; ...
30A6   LDA   playersAi,Y
30A9   BMI   loc_30B6
30AB   LDA   playersButtonPushed,Y
30AE   BNE   loc_30B6
30B0   LDA   OS_COLOR4
30B3   STA   byte_97,Y
30B6
30B6 loc_30B6:                     ; ...
30B6   LDA   unk_24A7,Y
30B9   AND   #1111b
30BB   SEC
30BC   SBC   byte_95
30BE   BCS   loc_30C2
30C0   LDA   #0
30C2
30C2 loc_30C2:                     ; ...
30C2   STA   loc_30CA+1
30C5   LDA   unk_24A7,Y
30C8   AND   #$F0
30CA
30CA loc_30CA:                     ; ...
30CA   ORA   #$FF                  ; ORA
30CC   STA   byte_24FA,Y
30CF   DEY
30D0   BPL   loc_30A6
30D2   LDA   #8
30D4   STA   OS_CONSOL
30D7   LDA   OS_CONSOL
30DA   CMP   #2
30DC   BNE   loc_30E1
30DE   JMP   start
30E1 ; ---------------------------------------------------------------------------
30E1
30E1 loc_30E1:                     ; ...
30E1   LDA   byte_C3
30E3   BEQ   loc_30FC
30E5   LDA   maxIndexCpu
30E7   CMP   #3
30E9   BEQ   loc_30A4
30EB   SEC
30EC   ADC   byte_95
30EE   CMP   #4
30F0   BCC   loc_30A4
30F2   LDA   #4
30F4   STA   byte_95
30F6   LDA   #1
30F8   STA   byte_C3
30FA   BNE   loc_30A4
30FC
30FC loc_30FC:                     ; ...
30FC   LDA   #0
30FE   STA   byte_4E
3100   RTS
3100 ; End of function waitPlayersButtons
3100
3101
3101 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3101
3101
3101 sub_3101:                     ; ...
3101   LDA   #$1E
3103   STA   byte_B33A
3106   LDA   #1
3108   STA   byte_B33E
310B   STA   byte_B33C
310E   LDA   #0
3110   STA   byte_B340
3113   RTS
3113 ; End of function sub_3101
3113
3114
3114 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3114
3114
3114 sub_3114:                     ; ...
3114   LDA   #$70
3116   STA   byte_1F11
3119   LDA   #$1F
311B   STA   byte_1F12
311E   LDA   OS_SKREST_RANDOM
3121   STA   byte_C000
3124   CMP   byte_C000
3127   BEQ   loc_312A
3129
3129 locret_3129:                  ; ...
3129   RTS
312A ; ---------------------------------------------------------------------------
312A
312A loc_312A:                     ; ...
312A   LDA   byte_C001
312D   CMP   #$4C
312F   BNE   locret_3129
3131   JMP   byte_C001
3131 ; End of function sub_3114
3131
3134
3134 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3134
3134 ; input
3134 ; goodsPlayersNb [Food] []
3134 ; goodsPlayersProd [Food] []
3134 ; foodReq
3134 ; goodsPrice []
3134 ; goodsPriceLimit []
3134 ;
3134 ; output
3134 ; goodsFuturReq [Food]
3134 ; goodsPrice []
3134
3134 calcFoodPriceFromNow:         ; ...
3134   LDA   goodsStoreNb
3137   STA   goodsFuturNb          ; goodsFuturNb [Food] = goodsStoreNb [Food]
3137 ; End of function calcFoodPriceFromNow
3137
313A
313A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
313A
313A ; input
313A ; goodsFuturNb [Food]
313A ; goodsPlayersNb [Food] []
313A ; goodsPlayersProd [Food] []
313A ; foodReq
313A ; goodsPrice []
313A ; goodsPriceLimit []
313A ;
313A ; output
313A ; goodsFuturNb []
313A ; (goodsFuturReq [Food])
313A ; goodsPrice []
313A
313A calcFoodPriceFromWhen:        ; ...
313A   LDX   #3
313C
313C loc_313C:                     ; ...
313C   LDA   goodsPlayersNb,X      ; for (int player=3; player>=0; player--) {
313C                               ;   int futurNb = goodsPlayersNb [Food] [player]
313F   SEC
3140   SBC   foodReq               ;   // usage
3140                               ;   futurNb -= foodReq
3143   BCS   loc_3147              ;   if (futurNb < 0) {
3145   LDA   #0                    ;     futurNb = 0
3145                               ;   }
3147
3147 loc_3147:                     ; ...
3147   LSR   A                     ;   // spoilage
3147                               ;   futurNb *= 2/4
3148   CLC
3149   ADC   goodsPlayersProd,X    ;   // prod
3149                               ;   futurNb += goodsPlayersProd [Food] [player]
314C   ADC   goodsFuturNb
314F   BCC   loc_3153
3151   LDA   #255
3153
3153 loc_3153:                     ; ...
3153   STA   goodsFuturNb          ; // En preview, goodsPlayerNb vaut 0, donc pas de Usage
3153                               ; ni de spoilage, seulement la prod, la maj de req et le prix
3153                               ;
3153                               ;   // goodsFuturNb [Food] += (PLAYER - REQ) * 2/4 + PROD;
3153                               ;   goodsFuturNb [Food] += futurNb
3153                               ;   if (goodsFuturNb [Food] > 255) {
3153                               ;     goodsFuturNb [Food] = 255
3153                               ;   }
3156   DEX
3157   BPL   loc_313C              ; }
3159   LDY   foodReq               ; int foodFuturReq = foodReq
315C   LDA   numRound
315E   AND   #3
3160   BNE   loc_3163              ; if ((numRound % 4) == 0) {
3162   INY                         ;   foodFuturReq ++
3162                               ; }
3163
3163 loc_3163:                     ; ...
3163   TYA
3164   ASL   A
3165   ASL   A
3166   STA   goodsFuturReq         ; // multiplier par le nombre de joueurs
3166                               ; goodsFuturReq [Food] = foodFuturReq * 4
3169   LDA   #0
316B   STA   byte_88               ; byte_88 = Food
316D   JMP   calcGoodPriceSupplyDemand ; input
316D ; End of function calcFoodPriceFromWhen ; byte_88: good
316D                               ; 0 [FOOD]
316D                               ; 2 [ENERGY]
316D                               ; 4 [SMITHORE] (pour goodsPrice)
316D                               ; 4 [MULE]     (pour goodsTotal et goodsFuturNeed -> ratio)
316D                               ; goodsFuturReq []
316D                               ; goodsFuturNb []
316D                               ; goodsPrice []
316D                               ; goodsPriceLimit []
316D                               ;
316D                               ; output
316D                               ; goodsPrice []
3170
3170 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3170
3170 ; goodsFuturNb [Energy] = goodsStoreNb [Energy]
3170
3170 calcEnergyPriceFromNow:       ; ...
3170   LDA   goodsStoreNb+1
3173   STA   goodsFuturNb+1        ; goodsFuturNb [Energy] = goodsStoreNb [Energy]
3173 ; End of function calcEnergyPriceFromNow
3173
3176
3176 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3176
3176 ; input
3176 ; goodsFuturNb [Energy]
3176
3176 calcEnergyPriceFromWhen:      ; ...
3176   LDA   #0
3178   STA   goodsFuturReq+1       ; goodsFuturNeed [Energy] = 0
317B   LDA   #3
317D   STA   byte_8C               ; for (int player=3, player>=0; player--) {
317D                               ;   int energyNeed = calcEnergyNeed (player)
317F
317F loc_317F:                     ; ...
317F   JSR   calcEnergyReq         ; input
317F                               ; byte_8C: player
317F                               ; output
317F                               ; A, byte_82: nb d'energie requis par les exploitations
3182   LDX   byte_8C
3184   STA   playersGoodReq,X      ;   playersGoodReq [player] = energyNeed
3186   CLC
3187   ADC   goodsFuturReq+1
318A   STA   goodsFuturReq+1       ;   goodsFuturNeed [Energy] += energyNeed
318D   LDA   goodsPlayersNb+4,X    ;   int energyTotal = goodsPlayersNb [Energy] [player]
3190   SEC
3191   SBC   byte_82               ;   // usage
3191                               ;   energyTotal -= energyNeed
3193   BCS   loc_3197              ;   if (energyTotal < 0) {
3195   LDA   #0                    ;     energyTotal = 0
3195                               ;   }
3197
3197 loc_3197:                     ; ...
3197   STA   byte_80
3199   LSR   A
319A   LSR   A
319B   STA   byte_82
319D   LDA   byte_80
319F   SEC
31A0   SBC   byte_82               ;   // spoilage
31A0                               ;   energyTotal *= 3/4
31A2   CLC
31A3   ADC   goodsPlayersProd+4,X  ;   // prod
31A3                               ;   energyTotal += goodsPlayersProd [Energy] [player]
31A6   ADC   goodsFuturNb+1
31A9   BCC   loc_31AD
31AB   LDA   #255
31AD
31AD loc_31AD:                     ; ...
31AD   STA   goodsFuturNb+1        ;   // energyTotal = (PLAYER - NEED) * 3/4 + PROD + STOCK
31AD                               ;   goodsTotal [Energy] += energyTotal
31AD                               ;   if (goodsTotal [Energy] > 255) {
31AD                               ;     goodsTotal [Energy] = 255
31AD                               ;   }
31B0   DEC   byte_8C
31B2   BPL   loc_317F              ; }
31B4   LDA   goodsFuturReq+1
31B7   CLC
31B8   ADC   #4
31BA   STA   goodsFuturReq+1       ; // ajouter les futurs lands
31BA                               ; goodsFuturReq [Energy] += 4
31BD   LDA   #2
31BF   STA   byte_88               ; byte_88 = Energy
31BF ; End of function calcEnergyPriceFromWhen ; calcGoodPriceSupplyDemand (Energy)
31BF
31C1
31C1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
31C1
    31C1 ; input
    31C1 ; byte_88: good
    31C1 ; 0 [FOOD]
    31C1 ; 2 [ENERGY]
    31C1 ; 4 [SMITHORE] (pour goodsPrice)
    31C1 ; 4 [MULE]     (pour goodsTotal et goodsFuturNeed -> ratio)
    31C1 ; goodsFuturReq []
    31C1 ; goodsFuturNb []
    31C1 ; goodsPrice []
    31C1 ; goodsPriceLimit []
    31C1 ;
    31C1 ; output
    31C1 ; goodsPrice []
    31C1
31C1 calcGoodPriceSupplyDemand:    ; ...
    31C1   LDA   byte_88
    31C3   LSR   A
    31C4   TAY
    31C5   LDA   goodsFuturReq,Y
    31C8   STA   byte_80               ; int goodFuturReq = goodsFuturReq [good]
    31CA   LDA   goodsFuturNb,Y
    31CD   STA   byte_81               ; int goodFuturNb = goodsFuturNb [good]
    31CF   LDA   #0
    31D1   LDX   #3
    31D3
31D3 loc_31D3:                     ; ...
    31D3   ASL   byte_80
    31D5   ROL   A
    31D6   DEX
    31D7   BNE   loc_31D3              ;
    31D7                               ; // FIXED à 3 bits pour la partie à virgule
    31D9   TAY
    31DA   LDA   byte_80               ; // Y|A = 0|goodFuturNeed << 3
    31DC   LDX   byte_81
    31DE   BNE   loc_31E1              ; // X = goodTotal
    31DE                               ; // if (X == 0) {
    31E0   INX                         ; //   X ++
    31E0                               ; // }
    31E1
31E1 loc_31E1:                     ; ...
    31E1   JSR   div16Bits             ; input
    31E1                               ; Y/A: Numérateur 16 bits
    31E1                               ; X:   Diviseur
    31E1                               ; output
    31E1                               ; Y/A, byte_82/byte_81: Résultat
    31E1                               ;      byte_84/byte_83: Reste
    31E1                               ;
    31E1                               ; Y/A /= X
    31E4   LDX   byte_88               ; // Y|A = 0|goodFuturNeed / goodTotal
    31E4                               ; float futurNeedRatio = goodFuturNeed / goodTotal
    31E6   CPX   #4
    31E8   BNE   loc_31FA              ; // (0 Food, 2 Energy, 4 Mule/Smithore)
    31E8                               ; if (good == Smithore) {
    31EA   CMP   #00011000b
    31EC   BCC   loc_31F2              ; if (futurNeedRatio >= 3.0) {
    31EE   LDA   #00011000b
    31F0   STA   byte_81               ; }
    31F2
31F2 loc_31F2:                     ; ...
    31F2   CMP   #00000010b
    31F4   BCS   loc_31FA              ; if (futurNeedRatio < 0.25) {
    31F6   LDA   #00000010b
    31F8   STA   byte_81               ; }
    31FA
31FA loc_31FA:                     ; ...
    31FA   LDA   goodsPrice,X
    31FD   INX
    31FE   LDY   goodsPrice,X          ; Y|A = goodsPrice [good]
    3201   LDX   byte_81               ; X = futurNeedRatio
    3203   JSR   mul16BitsBy8Bits      ; byte_81/byte_80 = Y/A * X
    3206   LDX   #4
    3208
3208 loc_3208:                     ; ...
    3208   LSR   byte_81
    320A   ROR   byte_80
    320C   DEX
    320D   BNE   loc_3208              ; // suppression de la partie à virgule
    320D                               ; byte_81/byte_80 >> 3
    320D                               ; // et diviser par 2
    320F   LDA   byte_81
    3211   STA   byte_83
    3213   LDA   byte_80
    3215   STA   byte_82               ; byte_83/byte_82 = byte_81/byte_80
    3217   LSR   byte_81
    3219   ROR   byte_80               ; byte_81/byte_80 /= 2
    321B   LDA   byte_80
    321D   CLC
    321E   ADC   byte_82
    3220   STA   byte_80
    3222   LDA   byte_81
    3224   ADC   byte_83
    3226   STA   byte_81               ; byte_81/byte_80 += byte_83/byte_82
    3226                               ; // au final: byte_81/byte_80 *= 3/4
    3228   LDY   #2
    322A
322A loc_322A:                     ; ...
    322A   LDX   byte_88
    322C   INX
    322D   LSR   goodsPrice,X
    3230   DEX
    3231   ROR   goodsPrice,X
    3234   DEY
    3235   BNE   loc_322A              ; GOODS_PRICE [byte_88] /= 4
    3237   LDA   byte_80
    3239   CLC
    323A   ADC   goodsPrice,X
    323D   STA   goodsPrice,X
    3240   INX
    3241   LDA   byte_81
    3243   ADC   goodsPrice,X
    3246   STA   goodsPrice,X          ; GOOD_PRICE [byte_88] += byte_81/byte_80
    3246 ; End of function calcGoodPriceSupplyDemand ; // au final:
    3246                               ; // goodsPrice [good] = 1/4*goodsPrice [good] +
    3246                               ;                        3/4*goodsPrice [good] *
    3246                               ;                        (goodsFuturReq [good]/goodsFuturNb [good])
    3246                               ; // goodsPrice [good] = 1/4*goodsPrice [good] +
    3246                               ;                        3/4*goodsPrice [good] * futurNeedRatio
    3246                               ; limitAbsolutGoodPrice (good)
3249
3249 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3249
3249 ; input
3249 ; byte_88: good
3249 ; 0 [FOOD]
3249 ; 2 [ENERGY]
3249 ; 4 [SMITHORE]
3249 ; goodsPrice []
3249 ; goodsPriceLimit []
3249 ;
3249 ; output
3249 ; goodsPrice []
3249
3249 limitGoodPrice:               ; ...
3249   LDX   byte_88
324B   INX
324C   LDA   goodsPrice,X
324F   BNE   loc_3259
3251   DEX
3252   LDA   goodsPrice,X
3255   CMP   #250
3257   BCC   loc_3266
3259
3259 loc_3259:                     ; ...
3259   LDX   byte_88
325B   LDA   #250
325D   STA   goodsPrice,X
3260   INX
3261   LDA   #0
3263   STA   goodsPrice,X          ; if (goodsPrice [good] >= 250) {
3263                               ;   goodsPrice [good] = 250
3263                               ; }
3266
3266 loc_3266:                     ; ...
3266   LDX   byte_88
3268   LDA   goodsPrice,X
326B   CMP   goodsPriceLimit,X
326E   BCS   locret_3276
3270   LDA   goodsPriceLimit,X
3273   STA   goodsPrice,X          ; if (goodsPrice [good] < goodsPriceLimit [good]) {
3273                               ;   goodsPrice [good] = goodsPriceLimit [good]
3273                               ; }
3276
3276 locret_3276:                  ; ...
3276   RTS
3276 ; End of function limitGoodPrice
3276
3276 ; ---------------------------------------------------------------------------
3277 goodsPriceLimit:.WORD 30, 25, 35 ; ...
3277                               ; +0 [FOOD]     10 (Ai ratio) ou 30 (Real ratio)
3277                               ; +2 [ENERGY]   10 (Ai ratio) ou 25 (Real ratio)
3277                               ; +4 [SMITHORE] 20 (binomial) ou 50 (ratio)
3277                               ;              (1)   (2)
3277                               ; (1) Absolutes Limits (after Binomial)
3277                               ; (2) Supply/Demand Limit (after ratio)
3277                               ;
3277                               ; Food/Energy:
3277                               ; Preview (Ai): 10/10
3277                               ; Real: 30/25 (15/10 à la vente car -15 à l'auction)
3277                               ; une unité se vend 15/10, mais donne 30/25 points
3277                               ; pas de binomial
3277                               ;
3277                               ; Smithore:
3277                               ; initial->ratio->50min->binomial->20min->final
327D
327D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
327D
327D
327D setPriceStartEnd:             ; ...
327D   LDX   byte_91               ; input
327D                               ; byte_91: goodAuction
327F   LDA   byte_4274,X
3282   STA   byte_94               ; byte_94 = byte_4274 [goodAuction]
3284   TXA
3285   ASL   A
3286   STA   byte_88
3288   CMP   #4
328A   BCC   loc_32D3              ; // si Smithore ou Crystite
328A                               ; if (goodAuction >= 2) {
328C   LDA   byte_94
328E   ASL   A
328F   ASL   A
3290   STA   byte_80
3292   ASL   A
3293   ASL   A
3294   STA   byte_81
3296   LDX   byte_88
3298   LDA   goodsPrice,X
329B   TAY
329C   LDA   #0
329E   STA   priceStart+1
32A1   INX
32A2   STA   word_B2E3,X
32A5   STA   priceEnd+1
32A8   JSR   sub_9053              ; input
32A8                               ; byte_94:
32A8                               ; A|Y:
32A8                               ;
32A8                               ; output
32A8                               ; A|Y, byte_84|byte_83 = A|Y - A|Y % 4
32AB   CPY   byte_80
32AD   BCS   loc_32B1
32AF   LDY   byte_80
32B1
32B1 loc_32B1:                     ; ...
32B1   STY   priceStart            ;   priceStart = goodsPrice [goodAuction]
32B4   TYA
32B5   LDX   byte_88
32B7   STA   word_B2E3,X           ;   word_B2E3 [goodAuction] = priceStart
32BA   LDA   #35
32BC   LDY   byte_94
32BE   JSR   mul8BitsBy8Bits       ; input
32BE                               ; A: left operand
32BE                               ; Y: right operand
32BE                               ; output
32BE                               ; Y/A, byte_81/byte_82: A * Y
32C1   CLC
32C2   LDA   priceStart
32C5   ADC   byte_82
32C7   STA   priceEnd
32CA   LDA   priceStart+1
32CD   ADC   byte_81
32CF   STA   priceEnd+1            ;   priceEnd = priceStart + (35 * byte_94)
32D2   RTS                         ; }
32D2                               ; // si Food ou Energy
32D2                               ; else {
32D3 ; ---------------------------------------------------------------------------
32D3
32D3 loc_32D3:                     ; ...
32D3   LDX   byte_88
32D5   SEC
32D6   LDA   goodsPrice,X
32D9   SBC   #15
32DB   TAY
32DC   INX
32DD   LDA   goodsPrice,X
32E0   SBC   #0
32E2   STA   priceStart+1
32E5   STY   priceStart            ;   priceStart = goodsPrice [goodAuction] - 15
32E8   LDX   byte_88
32EA   INX
32EB   STA   word_B2E3,X
32EE   DEX
32EF   TYA
32F0   STA   word_B2E3,X           ;   word_B2E3 [goodAuction] = priceStart
32F3   LDA   #35
32F5   LDY   byte_94
32F7   JSR   mul8BitsBy8Bits       ; input
32F7                               ; A: left operand
32F7                               ; Y: right operand
32F7                               ; output
32F7                               ; Y/A, byte_81/byte_82: A * Y
32FA   LDA   byte_82
32FC   CLC
32FD   ADC   priceStart
3300   STA   priceEnd
3303   LDA   byte_81
3305   ADC   priceStart+1
3308   STA   priceEnd+1            ;   priceEnd = priceStart + (35 * byte_94)
330B   RTS                         ; }
330B ; End of function setPriceStartEnd
330B
330C
330C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
    330C
    330C ; input
    330C ; output
    330C
330C calcGoodsPriceFromNow:        ; ...
    330C   JSR   calcFoodPriceFromNow  ; input
    330C                               ; goodsPlayersNb [Food] []
    330C                               ; goodsPlayersProd [Food] []
    330C                               ; foodReq
    330C                               ; goodsPrice []
    330C                               ; goodsPriceLimit []
    330C                               ;
    330C                               ; output
    330C                               ; goodsFuturReq [Food]
    330C                               ; goodsPrice []
    330F   JSR   calcEnergyPriceFromNow ; goodsFuturNb [Energy] = goodsStoreNb [Energy]
    3312   LDA   goodsStoreNb+2        ; // calcSmithoreAndCrystitePriceFromNow
    3315   LSR   A
    3316   CLC
    3317   ADC   goodsStoreNb+4
    331A   STA   goodsFuturNb+2        ; goodsTotal [Mule] = goodsStoreNb [Smithore] / 2 + goodsStoreNb [Mule]
    331D   JSR   calcMuleReq           ; input
    331D ; End of function calcGoodsPriceFromNow ; output
    331D                               ; A: (nombre de cases susceptibles d'être prise au prochain tour [0; 4] +
    331D                               ;    nombre de cases occupées sans mule) borné par [0; 8]
3320
3320 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3320
3320 ; input
3320 ; A: mule req to be used
3320 ; goodsFuturNb [Mule]
3320
3320 calcSmithoreAndCrystitePriceFromWhen: ; ...
3320   STA   goodsFuturReq+2       ; goodsFuturReq [Mule] = A
3323   LDA   #50
3325   STA   goodsPriceLimit+4     ; goodsPriceLimit [Smithore] = 50
3328   LDA   #4
332A   STA   byte_88               ; byte_88 = 4
332C   JSR   calcGoodPriceSupplyDemand ; input
332C                               ; byte_88: good
332C                               ; 0 [FOOD]
332C                               ; 2 [ENERGY]
332C                               ; 4 [SMITHORE] (pour goodsPrice)
332C                               ; 4 [MULE]     (pour goodsTotal et goodsFuturNeed -> ratio)
332C                               ; goodsFuturReq []
332C                               ; goodsFuturNb []
332C                               ; goodsPrice []
332C                               ; goodsPriceLimit []
332C                               ;
332C                               ; output
332C                               ; goodsPrice []
332F   LDA   #0                    ; // calcul de la variation naturelle du smithore
332F                               ; A = 0
3331   LDY   level                 ; Y = GAME_LEVEL
3333   CPY   #1
3335   BNE   loc_3338              ; if (GAME_LEVEL == 1) {
3337   INY                         ;   Y ++
3337                               ; }
3337                               ; // si GAME_LEVEL==BEGINNER alors Y=0
3337                               ; // sinon Y=2
3338
3338 loc_3338:                     ; ...
3338   JSR   calcBinomial          ; input
3338                               ; A: value
3338                               ; Y: fluctuation
3338                               ;
3338                               ; output
3338                               ; A, byte_81: partie entiere signée de la variation
3338                               ; byte_80: partie numérique
3338                               ;
3338                               ; Si Y=0 alors pas de variation
3338                               ; Si Y=1 alors
3338                               ;   A = A + int ( 1/2 * binomial [-6.0; 6.0] )
3338                               ; Si Y>=2 alors
3338                               ;   A = A + int ( (Y-1) * binomial [-6.0; 6.0] )
3338                               ;
3338                               ; Utilisée pour:
3338                               ; - prix du smithore
3338                               ; - production
3338                               ; - nb de terres à vendre
3338                               ;
3338                               ; Répartition:
3338                               ; -4:  0.013%
3338                               ; -3:  0.562%
3338                               ; -2:  6.248%
3338                               ; -1: 24.303%
3338                               ;  0: 37.748%
3338                               ;  1: 24.303%
3338                               ;  2:  6.248%
3338                               ;  3:  0.562%
3338                               ;  4:  0.013%
333B   STA   byte_80               ; // si GAME_LEVEL == BEGINNER alors pas de variation
333B                               ; // sinon
333B                               ; byte_80 = random [-6; 6]
333D   LDY   #6                    ; Y = 6
333F
333F loc_333F:                     ; ...
333F   CLC                         ; do { // A += byte_80 * 6
3340   ADC   byte_80               ;   A += byte_80
3342   DEY                         ;   Y --
3343   BNE   loc_333F              ; } while (Y != 0)
3343                               ; // A = random [-6; 6] * 7 = [-42; 42]
3345   TAY
3346   BPL   loc_3350              ; if (A < 0) {
3348   CLC
3349   ADC   goodsPrice+4          ;   // diminiuer
3349                               ;   A += GOODS_PRICE [SMITHORE]
334C   BCS   loc_3358
334E   BCS   loc_335B              ; }
334E                               ; else {
3350
3350 loc_3350:                     ; ...
3350   CLC
3351   ADC   goodsPrice+4          ;   // augmenter
3351                               ;   A += GOODS_PRICE [SMITHORE]
3354   BCC   loc_3358              ;   if (A > 255)
3356   LDA   #255                  ;     A = 255
3356                               ; }
3358
3358 loc_3358:                     ; ...
3358   STA   goodsPrice+4          ; GOODS_PRICES [SMITHORE] = A
335B
335B loc_335B:                     ; ...
335B   LDA   #20
335D   STA   goodsPriceLimit+4     ; GOODS_PRICE_LIMIT [SMITHORE] = 20
3360   JSR   limitGoodPrice        ; input
3360                               ; byte_88: good
3360                               ; 0 [FOOD]
3360                               ; 2 [ENERGY]
3360                               ; 4 [SMITHORE]
3360                               ; goodsPrice []
3360                               ; goodsPriceLimit []
3360                               ;
3360                               ; output
3360                               ; goodsPrice []
3363   LDA   #0                    ; // ***********************************
3365   STA   goodsPrice+5
3368   LDA   #100                  ; // calcul du prix du crystite
336A   JSR   random_0_A            ; input
336A                               ; A: borne supérieure
336A                               ; output
336A                               ; A: un nombre aléatoire [0; A[
336A                               ;
336A                               ; calcul un nombre aléatoire entre 0 et A
336D   CLC
336E   ADC   #50
3370   STA   goodsPrice+6
3373   LDA   #0
3375   STA   goodsPrice+7          ; GOODS_PRICES [CRYST] = random [0; 99] + 50
3378   RTS
3378 ; End of function calcSmithoreAndCrystitePriceFromWhen
3378
3379
3379 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3379
3379 ; input
3379 ; output
3379 ; A: (nombre de cases susceptibles d'être prise au prochain tour [0; 4] +
3379 ;    nombre de cases occupées sans mule) borné par [0; 8]
3379
3379 calcMuleReq:                  ; ...
3379   JSR   randomFreePlot        ; input
3379                               ;
3379                               ; output
3379                               ; A, byte_CB: indice d'une case libre tirée au hasard
3379                               ;          -1 aucune de libre
3379                               ; X: nombre de case libre
3379                               ;
3379                               ; Rempli le tableau MAP_TEMP des indices des cases
3379                               ; libres et renvoie une case au hasard
337C   CPX   #4                    ; // X = nb de cases libres
337E   BCC   loc_3382              ; if (X >= 4) {
3380   LDX   #4                    ;   X = 4
3380                               ; }
3382
3382 loc_3382:                     ; ...
3382   LDY   #44                   ; Y = 44
3384
3384 loc_3384:                     ; ...
3384   LDA   plotsPlayer,Y         ; do {
3387   BMI   loc_338F              ;   // si case appartient à un joueur
3387                               ;   // et aucune mule dessus
3387                               ;   if (MAP_PLAYERS [Y] >= 0) {
3389   LDA   plotsExp,Y
338C   BNE   loc_338F              ;     if (MAP_TYPE [Y] == 0) {
338E   INX                         ;       X ++
338E                               ;     }
338E                               ;   }
338F
338F loc_338F:                     ; ...
338F   DEY                         ;   Y --
3390   BPL   loc_3384              ; } while (Y >= 0)
3392   TXA                         ; A = X
3393   CMP   #8
3395   BCC   locret_3399           ; if (A >= 8) {
3397   LDA   #8                    ;   A = 8
3397                               ; }
3399
3399 locret_3399:                  ; ...
3399   RTS                         ; return
3399 ; End of function calcMuleReq
3399
339A
339A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
339A
339A
339A buildAndCalcPriceMule:        ; ...
339A   LDA   goodsStoreNb+2
339D   LSR   A                     ; // construction des mules
339D                               ; int nbMulesBuildable = goodsStoreNb [Smithore] / 2
339E   BEQ   calcMulePrice         ; if (nbMulesBuildable != 0) {
33A0   STA   byte_80
33A2   LDA   #14                   ;   // le store contient 14 mules au max
33A4   SEC
33A5   SBC   goodsStoreNb+4        ;   int nbMulesMissingInStore = 14 - goodsStoreNb [Mule]
33A8   BEQ   calcMulePrice         ;   if (nbMulesMissingInStore != 0) {
33A8                               ;
33AA   CMP   byte_80               ;     int nbMulesToBuild = nbMulesMissingInStore
33AC   BCC   loc_33B0              ;     if (nbMulesToBuild >= nbMulesBuildable ) {
33AE   LDA   byte_80               ;       nbMulesToBuild = nbMulesBuildable
33AE                               ;     }
33B0
33B0 loc_33B0:                     ; ...
33B0   ASL   A                     ;     // A contient le nb de mules qui peuvent
33B0                               ;     // etre construites par rapport au smithore dispo
33B0                               ;     // 1 MULE prend 2 SMITHORE
33B1   STA   byte_88               ;     nbSmithoresForBuild = nbMulesToBuild * 2
33B3   LDA   goodsStoreNb+2
33B6   SEC
33B7   SBC   byte_88
33B9   STA   goodsStoreNb+2        ;     goodsStoreNb [Smithore] -= nbSmithoresForBuild
33BC   LSR   byte_88
33BE   LDA   goodsStoreNb+4
33C1   CLC
33C2   ADC   byte_88
33C4   STA   goodsStoreNb+4        ;     goodsStoreNb [Mule] += nbMulesToBuild
33C4                               ;   }
33C4                               ; }
33C7
33C7 calcMulePrice:                ; ...
33C7   LDA   goodsPrice+4          ; // calcul du nouveau prix des mules
33CA   LDY   goodsPrice+5          ; Y/A = GOODS_PRICE [SMITHORE]
33CD   LDX   #5
33CF   JSR   div16Bits             ; Y/A /= 5
33D2   LDX   #10
33D4   JSR   mul16BitsBy8Bits      ; Y/A *= 10
33D4                               ; // Y/A = GOODS_PRICE [SMITHORE] * 2
33D7   STA   mulePriceL
33DA   STY   mulePriceH            ; mulePrice = (goodsPrice [Smithore] - goodsPrice [Smithore] % 5) * 2
33DD   RTS
33DD ; End of function buildAndCalcPriceMule
33DD
33DE
33DE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
33DE
33DE ; input
33DE ; A: nb de rounds prévisionnels
33DE ;    2 playerTurnAi
33DE ;    3 grantLandAi
33DE ;
33DE ; output:
33DE ; goodsQuality_B20C [Goods] = goodsPriceMultiple [Goods] / 8
33DE ; = note de 0 à 31
33DE ;
33DE ; met byte_B375 à 0
33DE ;
33DE ; anciennement calcGoodsPriceMultiple
33DE
33DE calcGoodsQuality:             ; ...
33DE   STA   byte_D1               ; byte_D1 = A // A=2 ou A=3
33E0   STA   byte_D0               ; byte_D0 = A
33E2   LDA   #10
33E4   STA   goodsPriceLimit       ; goodsPriceLimit [Food] = 10
33E7   STA   goodsPriceLimit+2     ; goodsPriceLimit [Energy] = 10
33EA   LDA   numRound              ; numRound_ = numRound
33EC   PHA
33ED   LDA   level                 ; level_ = level
33EF   PHA
33F0   LDX   #5
33F2
33F2 loc_33F2:                     ; ...
33F2   LDA   goodsPrice,X
33F5   STA   goodsPriceTemp,X      ; // copie de Food, Energy et Smithore
33F5                               ; goodsPriceTemp [Food]     = goodsPrice [Food]
33F5                               ; goodsPriceTemp [Energy]   = goodsPrice [Energy]
33F5                               ; goodsPriceTemp [Smithore] = goodsPrice [Smithore]
33F8   LDA   #0
33FA   STA   goodsQuality_B20C,X   ; word_B20C [Food]     = 0
33FA                               ; word_B20C [Energy]   = 0
33FA                               ; word_B20C [Smithore] = 0
33FD   DEX
33FE   BPL   loc_33F2
3400   LDA   #0
3402   STA   level                 ; level = 0 // pas de variation aléatoire dans la production
3404   LDA   goodsStoreNb
3407   STA   goodsFuturNb          ; goodsFuturNb [Food] = goodsStoreNb [Food]
340A   LDA   goodsStoreNb+1
340D   STA   goodsFuturNb+1        ; goodsFuturNb [Energy] = goodsStoreNb [Energy]
3410   LDA   goodsStoreNb+2
3413   LSR   A
3414   CLC
3415   ADC   goodsStoreNb+4
3418   STA   goodsFuturNb+2        ; goodsFuturNb [Mule] = goodsStoreNb [Smithore] / 2 +
3418                               ;                     goodsStoreNb [Mule]
341B   LDY   #7
341D   LDX   #1
341F
341F loc_341F:                     ; ...
341F   LDA   #3                    ; foreach (int good in {Food, Energy}) {
3421   STA   byte_80
3423
3423 loc_3423:                     ; ...
3423   LDA   goodsPlayersNb,Y      ;   for (int player=3; player>=0; player--) {
3426   STA   typesPlayersScore,Y   ;     goodsPlayersNbTemp [good] [player] = goodsPlayersNb [good] [player]
3429   CLC
342A   ADC   goodsFuturNb,X
342D   STA   goodsFuturNb,X        ;     // ajouter les goods de chaque joueur au total
342D                               ;     goodsFuturNb [good] += goodsPlayersNb [good] [player]
3430   LDA   #0
3432   STA   goodsPlayersNb,Y      ;     goodsPlayersNb [good] [player] = 0
3435   DEY
3436   DEC   byte_80
3438   BPL   loc_3423              ;   }
343A   DEX
343B   BPL   loc_341F              ; }
343B                               ;
343B                               ; // ici, c'est comme si tout le Food et Energy
343B                               ; // etait vendu dans goodsFuturNb [GOODS] MAIS PAS LE SMITHORE
343B                               ; // Food et Energy tiennent compte du stock des joueurs
343B                               ; // et le max des mules faites
343D   LDA   #1
343F   STA   doMissingEnergyMalus  ; doMissingEnergyMalus = No
3442   JSR   calcPlotsProd         ; input
3442                               ; doMissingEnergyMalus:
3442                               ;   Yes: 0 prendre compte du malus du manque d'energie
3442                               ;   No:  1 ne pas prendre en compte le malus
3442                               ;
3442                               ; output
3442                               ; plotsProd [PLOTS]
3442                               ; byte_94 = prodMax (utilisé pour ?)
3442                               ;
3442                               ; met byte_B375 à 0
3445   JSR   calcGoodsPriceFromWhen ; input
3445                               ; goodsFuturNb []
3445                               ; goodsPlayersNb [] []
3445                               ; foodReq
3445                               ; goodsPrice []
3445                               ; goodsPriceLimit []
3445                               ;
3445                               ; output
3445                               ; (goodsPlayersProd [] [])
3445                               ; (goodsFuturReq [])
3445                               ; goodsPrice []
3445                               ;
3445                               ; Variation de prix du Food et Energy prend en compte
3445                               ; la production
3445                               ; Celle du Smithore est basé sur les mules+smithore et
3445                               ; ne prend pas en compte la production de smithore
3448   LDX   #5
344A
344A loc_344A:                     ; ...
344A   LDA   goodsPriceTemp,X      ; foreach (int good in {Food, Energy, Smithore}) {
344D   STA   goodsPrice,X          ;   goodsPrice [good] = goodsPriceTemp [good]
3450   DEX
3451   BPL   loc_344A              ; }
3451                               ; do {
3453
3453 loc_3453:                     ; ...
3453   JSR   calcGoodsPriceFromWhen ; input
3453                               ; goodsFuturNb []
3453                               ; goodsPlayersNb [] []
3453                               ; foodReq
3453                               ; goodsPrice []
3453                               ; goodsPriceLimit []
3453                               ;
3453                               ; output
3453                               ; (goodsPlayersProd [] [])
3453                               ; (goodsFuturReq [])
3453                               ; goodsPrice []
3453                               ;
3453                               ; Variation de prix du Food et Energy prend en compte
3453                               ; la production
3453                               ; Celle du Smithore est basé sur les mules+smithore et
3453                               ; ne prend pas en compte la production de smithore
3456   LDY   #2
3458
3458 loc_3458:                     ; ...
3458   TYA                         ;   foreach (int good in {Food, Energy, Smithore}) {
3459   ASL   A
345A   TAX
345B   LDA   goodsQuality_B20C,X
345E   CLC
345F   ADC   goodsPrice,X
3462   STA   goodsQuality_B20C,X
3465   LDA   goodsQuality_B20C+1,X
3468   ADC   goodsPrice+1,X
346B   STA   goodsQuality_B20C+1,X ;     word_B20C [good] += goodsPrice [good]
346E   DEY
346F   BPL   loc_3458              ;   }
3471   INC   numRound              ;   numRound ++
3473   DEC   byte_D0               ;   byte_D0 --
3475   BEQ   loc_3482              ;   if (byte_D0 > 0) {
3477   LDA   #1
3479   STA   doMissingEnergyMalus  ;     doMissingEnergyMalus = No
347C   JSR   calcPlotsProd         ; input
347C                               ; doMissingEnergyMalus:
347C                               ;   Yes: 0 prendre compte du malus du manque d'energie
347C                               ;   No:  1 ne pas prendre en compte le malus
347C                               ;
347C                               ; output
347C                               ; plotsProd [PLOTS]
347C                               ; byte_94 = prodMax (utilisé pour ?)
347C                               ;
347C                               ; met byte_B375 à 0
347F   JMP   loc_3453              ;   }
347F                               ; } while (byte_D0 > 0)
3482 ; ---------------------------------------------------------------------------
3482
3482 loc_3482:                     ; ...
3482   LDA   #4
3484   STA   byte_9B
3486
3486 loc_3486:                     ; ...
3486   LDX   byte_9B               ; foreach (int good in {Food, Energy, Smithore}) {
3488   LDA   goodsQuality_B20C,X
348B   LDY   goodsQuality_B20C+1,X
348E   LDX   byte_D1
3490   JSR   div16Bits             ; input
3490                               ; Y/A: Numérateur 16 bits
3490                               ; X:   Diviseur
3490                               ; output
3490                               ; Y/A, byte_82/byte_81: Résultat
3490                               ;      byte_84/byte_83: Reste
3490                               ;
3490                               ; Y/A /= X
3493   LDX   byte_9B
3495   STA   goodsPrice,X
3498   TYA
3499   STA   goodsPrice+1,X        ;   goodsPrice [good] = word_B20C [good] / byte_D1
349C   DEC   byte_9B
349E   DEC   byte_9B
34A0   BPL   loc_3486              ; }
34A2   PLA
34A3   STA   level                 ; level = level_
34A5   PLA
34A6   STA   numRound              ; numRound = numRound_
34A8   ASL   A
34A9   ASL   A
34AA   ADC   #100
34AC   STA   goodsPrice+6          ; goodsPrice [Crystite] = numRound * 4 + 100
34AF   LDX   #3
34B1
34B1 loc_34B1:                     ; ...
34B1   TXA                         ; foreach (int good in {Food, Energy, Smithore, Crystite}) {
34B2   ASL   A
34B3   TAY
34B4   LDA   goodsPrice+1,Y
34B7   BNE   loc_34C0
34B9   LDA   goodsPrice,Y          ;   int goodPrice = goodsPrice [good]
34BC   CMP   #250
34BE   BCC   loc_34C2              ;   if (goodPrice >= 250) {
34C0
34C0 loc_34C0:                     ; ...
34C0   LDA   #250                  ;     goodPrice = 250
34C0                               ;   }
34C2
34C2 loc_34C2:                     ; ...
34C2   LSR   A
34C3   LSR   A
34C4   LSR   A
34C5   STA   goodsQuality_B20C,X   ;   byte_B20C [good] = goodPrice / 8
34C8   DEX
34C9   BPL   loc_34B1              ; }
34CB   LDX   #5
34CD
34CD loc_34CD:                     ; ...
34CD   LDA   goodsPriceTemp,X      ; foreach (int good in {Food, Energy, Smithore}) {
34D0   STA   goodsPrice,X          ;   goodsPrice [good] = goodsPriceTemp [good]
34D3   DEX
34D4   BPL   loc_34CD              ; }
34D6   LDX   #7
34D8
34D8 loc_34D8:                     ; ...
34D8   LDA   typesPlayersScore,X   ; foreach (int good in {Food, Energy}) {
34D8                               ;   for (int player=3; player>=0; player--) {
34DB   STA   goodsPlayersNb,X      ;     goodsPlayersNb [good] [player] = goodsPlayersNbTemp [good] [player]
34DE   DEX
34DF   BPL   loc_34D8              ;   }
34DF                               ; }
34E1   LDA   #30
34E3   STA   goodsPriceLimit       ; goodsPriceLimit [Food] = 30
34E6   LDA   #25
34E8   STA   goodsPriceLimit+2     ; goodsPriceLimit [Energy] = 25
34EB   RTS
34EB ; End of function calcGoodsQuality
34EB
34EC
34EC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
34EC
34EC ; input
34EC ; goodsFuturNb []
34EC ; goodsPlayersNb [] []
34EC ; foodReq
34EC ; goodsPrice []
34EC ; goodsPriceLimit []
34EC ;
34EC ; output
34EC ; (goodsPlayersProd [] [])
34EC ; (goodsFuturReq [])
34EC ; goodsPrice []
34EC ;
34EC ; Variation de prix du Food et Energy prend en compte
34EC ; la production
34EC ; Celle du Smithore est basé sur les mules+smithore et
34EC ; ne prend pas en compte la production de smithore
34EC
34EC calcGoodsPriceFromWhen:       ; ...
34EC   JSR   initVarsFromMaps      ; Initialise les variables suivantes à partir de la carte:
34EC                               ; expsPlayersNb    [Exps]  [Players]
34EC                               ; goodsPlayersProd [Goods] [Players]
34EC                               ; playersNbLands
34EC                               ; playersNbExps
34EC                               ;
34EC                               ; Met à jour:
34EC                               ; plotsKnownCrystite [plot]
34EF   JSR   calcFoodPriceFromWhen ; input
34EF                               ; goodsFuturNb [Food]
34EF                               ; goodsPlayersNb [Food] []
34EF                               ; goodsPlayersProd [Food] []
34EF                               ; foodReq
34EF                               ; goodsPrice []
34EF                               ; goodsPriceLimit []
34EF                               ;
34EF                               ; output
34EF                               ; goodsFuturNb []
34EF                               ; (goodsFuturReq [Food])
34EF                               ; goodsPrice []
34F2   JSR   calcEnergyPriceFromWhen ; input
34F2                               ; goodsFuturNb [Energy]
34F5   LDA   #5
34F7   JSR   calcSmithoreAndCrystitePriceFromWhen ; input
34F7                               ; A: mule req to be used
34F7                               ; goodsFuturNb [Mule]
34FA   LDY   #2
34FC
34FC loc_34FC:                     ; ...
34FC   LDA   goodsFuturNb,Y        ; foreach (int good in {Food, Energy, Mule}) {
34FF   SEC
3500   SBC   goodsFuturReq,Y       ;   goodsFuturNb [good] -= goodsFuturReq [good]
3503   BCS   loc_3507              ;   if (goodsFuturNb [good] < 0) {
3505   LDA   #0                    ;     goodsFuturNb [good] = 0
3505                               ;   }
3507
3507 loc_3507:                     ; ...
3507   STA   goodsFuturNb,Y
350A   DEY
350B   BPL   loc_34FC              ; }
350D   RTS
350D ; End of function calcGoodsPriceFromWhen
350D
350E
350E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
350E
350E ; output
350E ; playersPlotsQuality [] []:
350E
350E calcPlayersPlotsQuality:      ; ...
350E   LDA   #3
3510   JSR   calcGoodsQuality      ; input
3510                               ; A: nb de rounds prévisionnels
3510                               ;    2 playerTurnAi
3510                               ;    3 grantLandAi
3510                               ;
3510                               ; output:
3510                               ; goodsQuality_B20C [Goods] = goodsPriceMultiple [Goods] / 8
3510                               ; = note de 0 à 31
3510                               ;
3510                               ; met byte_B375 à 0
3510                               ;
3510                               ; anciennement calcGoodsPriceMultiple
3513   LDA   #2
3515   STA   byte_B375             ; byte_B375 = AiSelectBuyLand
3518   LDA   #3
351A   STA   currentPlayer
351C
351C loc_351C:                     ; ...
351C   LDA   #44                   ; for (int currentPlayer=3; currentPlayer>=0; currentPalyer--) {
351E   STA   byte_CB
3520   LDX   #2
3522
3522 loc_3522:                     ; ...
3522   LDA   goodsQuality_B20C,X   ;   // sauvegarder B20C
3522                               ;   foreach (int good in {Food, Energy, Smithore}) {
3525   STA   byte_B1B1,X           ;     byte_B1B1 [good] = byte_B20C [good]
3528   DEX
3529   BPL   loc_3522              ;   }
352B   LDA   numRound
352D   CMP   #1
352F   BNE   loc_3540              ;   if (numRound == 1) {
3531   LDA   OS_SKREST_RANDOM      ;     int good = random [Food, Energy, Smithore, Crystite]
3534
3534 loc_3534:
3534   AND   #00000011b
3536   CMP   #3
3538   BEQ   loc_3540              ;     if (good != Crystite) {
353A   TAX
353B   LDA   #32
353D   STA   goodsQuality_B20C,X   ;       byte_B20C [good] = 32
353D                               ;     }
353D                               ;     // sinon laisser faire la qualité du bien,
353D                               ;     // qui au premier round choisi Food
353D                               ;   }
3540
3540 loc_3540:                     ; ...
3540   LDX   byte_CB               ;   for (int plot=44; plot>=0; plot--) {
3542   LDA   #0
3544   STA   plotsTemp,X           ;     plotsTemp [plot] = 0
3547   LDA   plotsPlayer,X
354A   BPL   loc_356E              ;     if (plotsPlayer [plot] == NoBody) {
354C   CPX   #22
354E   BEQ   loc_356E              ;       if (plot != Store) {
3550   LDA   currentPlayer         ;         A = currentPlayer
3550                               ;         X = plot
3550                               ;         byte_B375 = AiSelectBuyLand
3552   JSR   calcPlotExpAndQualityAi ; input
3552                               ; A: player
3552                               ; X: plot
3552                               ; byte_B375:
3552                               ; byte_B20C: qualité financiere de chaque good de [0;31]
3552                               ;            32 pour le premier round
3552                               ;
3552                               ; output
3552                               ; Y, byte_9B: type d'exp
3552                               ; A, byte_84: qualité
3555   LDX   byte_CB
3557   STA   plotsTemp,X           ;         plotsTemp [plot] = quality
355A   JSR   calcPlotDistFromStore ; input
355A                               ; X: plot
355A                               ;
355A                               ; output
355A                               ; A: distance en cases
355A                               ;
355A                               ; calcul la distance entre la plot et le store
355A                               ; en ajoutant 1 si la plot est une riviere
355A                               ;
355A                               ; 432232234
355A                               ; 432121234
355A                               ; 4321 1234
355A                               ; 432121234
355A                               ; 432232234
355D   STA   byte_80
355F   LDX   byte_CB
3561   LDA   plotsTemp,X
3564   SEC
3565   SBC   byte_80               ;         // deduire le malus de distance à la qualité
3565                               ;         quality -= distance
3567   BCS   loc_356B              ;         if (quality < 0) {
3569   LDA   #0                    ;           quality = 0
3569                               ;         }
356B
356B loc_356B:                     ; ...
356B   STA   plotsTemp,X           ;         plotsTemp [plot] = quality
356B                               ;       }
356B                               ;     }
356E
356E loc_356E:                     ; ...
356E   DEC   byte_CB
3570   BPL   loc_3540              ;   } // fin for plot
3572   LDY   currentPlayer
3574   LDA   #0
3576   JSR   Aplus45TimeY          ; input
3576                               ; A:
3576                               ; Y:
3576                               ;
3576                               ; output
3576                               ; X: A + 45*Y
3579   LDY   #0
357B
357B loc_357B:                     ; ...
357B   LDA   plotsTemp,Y
357E   STA   playersPlotsQuality,X
3581   INX
3582   INY
3583   CPY   #45
3585   BCC   loc_357B              ;   playersPlotsQuality [currentPlayer] [PLOTS] = plotsTemp [PLOTS]
3587   LDX   #2
3589
3589 loc_3589:                     ; ...
3589   LDA   byte_B1B1,X           ;   // restaurer B20C
3589                               ;   foreach (int good in {Food, Energy, Smithore}) {
358C   STA   goodsQuality_B20C,X   ;     byte_B20C [good] = byte_B1B1 [good]
358F   DEX
3590   BPL   loc_3589              ;   }
3592   DEC   currentPlayer
3594   BPL   loc_351C              ; } fin for currentPlayer
3596   RTS
3596 ; End of function calcPlayersPlotsQuality
3596
3597
3597 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3597
3597 ; input
3597 ; A:
3597 ; Y:
3597 ;
3597 ; output
3597 ; X: A + 45*Y
3597
3597 Aplus45TimeY:                 ; ...
3597   PHA
3598   LDA   #45
359A   JSR   mul8BitsBy8Bits       ; input
359A                               ; A: left operand
359A                               ; Y: right operand
359A                               ; output
359A                               ; Y/A, byte_81/byte_82: A * Y
359D   PLA
359E   CLC
359F   ADC   byte_82
35A1   TAX
35A2   RTS
35A2 ; End of function Aplus45TimeY
35A2
35A3
35A3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
35A3
35A3 ; input
35A3 ; A: player
35A3 ; X: plot
35A3 ; byte_B375:
35A3 ; byte_B20C: qualité financiere de chaque good de [0;31]
35A3 ;            32 pour le premier round
35A3 ;
35A3 ; output
35A3 ; Y, byte_9B: type d'exp
35A3 ; A, byte_84: qualité
35A3
35A3 calcPlotExpAndQualityAi:      ; ...
35A3   STA   byte_88               ; byte_88 = player
35A5   STX   byte_8B               ; byte_8B = X; // plot
35A7   LDA   #0
35A9   STA   byte_84               ; byte_84 = 0
35AB   LDY   #4                    ; Y = 4 // Crystite
35AD   LDA   level
35AF   CMP   #2
35B1   BEQ   loc_35B4              ; if (GAME_LEVEL != TOURNAMENT) {
35B3   DEY                         ;   Y = 3 // Smithore (pas de crystite, uniquement en tournament)
35B3                               ; }
35B4
35B4 loc_35B4:                     ; ...
35B4   LDA   expsPlotsCapacity+$87,X
35B7   BPL   loc_35BB              ; // Si riviere, alors pas de smithore ni crystite
35B7                               ; if (MAP_CRYST [X] < 0) {
35B9   LDY   #2                    ;   Y = 2 // Energy
35B9                               ; }
35BB
35BB loc_35BB:                     ; ...
35BB   STY   byte_83               ; byte_83 = Y; // exp
35BD
35BD loc_35BD:                     ; ...
35BD   LDA   byte_83               ; for (byte_83=Y; byte_83>0; byte_83--) {
35BF   JSR   calcPlotQualityAi     ; input
35BF                               ; A: exp [1; 4] ((0: no), 1: food, 2: energy, ...)
35BF                               ; byte_8B: plot
35BF                               ; byte_88: player
35BF                               ; byte_B375:
35BF                               ; byte_B20C: qualité financiere de chaque good de [0;31]
35BF                               ;
35BF                               ; output
35BF                               ; A: qualité (valeur prod * qualité unité)
35BF                               ;    plafonner à 255
35C2   CMP   byte_84
35C4   BCC   loc_35CC              ;   if (A >= byte_84) {
35C6   STA   byte_84               ;     byte_84 = A // qualité
35C8   LDA   byte_83
35CA   STA   byte_9B               ;     byte_9B = byte_83 // exp
35CA                               ;   }
35CC
35CC loc_35CC:                     ; ...
35CC   DEC   byte_83
35CE   BNE   loc_35BD              ; }
35D0   LDY   byte_9B               ; Y = byte_9B
35D2   LDA   byte_84               ; A = byte_84
35D4   RTS
35D4 ; End of function calcPlotExpAndQualityAi
35D4
35D5
35D5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
35D5
35D5 ; input
35D5 ; A: exp [1; 4] ((0: no), 1: food, 2: energy, ...)
35D5 ; byte_8B: plot
35D5 ; byte_88: player
35D5 ; byte_B375:
35D5 ; byte_B20C: qualité financiere de chaque good de [0;31]
35D5 ;
35D5 ; output
35D5 ; A: qualité (valeur prod * qualité unité)
35D5 ;    plafonner à 255
35D5
35D5 calcPlotQualityAi:            ; ...
35D5   STA   byte_83               ; byte_83 = A // exp
35D7   JSR   calcPlotProdWithEcos  ; input
35D7                               ; A: exp [0; 4] (0: NoExp, 1: Food, 2: Energy, ...)
35D7                               ; byte_8B: plot
35D7                               ; byte_88: player
35D7                               ; byte_B375:
35D7                               ;
35D7                               ; output
35D7                               ; byte_8A: valeur de la prod avec eco1 et eco2
35D7                               ;          (non plafonnée par 8)
35D7                               ;
35D7                               ; ("the learning curve")
35D7                               ; Eco1 = bonus toutes les 3 exp de meme type n'importe où sur la carte
35D7                               ; ("economies of scale")
35D7                               ; Eco2 = bonus pour les exps de meme type cote a cote
35DA   LDA   byte_88
35DC   STA   byte_8C               ; byte_8C = byte_88
35DE   JSR   calcEnergyReq         ; input
35DE                               ; byte_8C: player
35DE                               ; output
35DE                               ; A, byte_82: nb d'energie requis par les exploitations
35E1   STA   byte_B1AD             ; byte_B1AD = A // nb nrj req
35E4   LDX   byte_83
35E6   DEX                         ; X = byte_83 - 1 // good correspondant a l'exp
35E7   LDY   goodsQuality_B20C,X   ; Y = word_B20C [X] // contient 3/2/6/?
35EA   LDA   numRound
35EC   CMP   #1
35EE   BEQ   fin2                  ; if (GAME_NUM_ROUND == 1) {
35EE                               ;   goto fin2
35EE                               ; }
35F0   CPX   #0
35F2   BNE   fin1                  ; if (X == 0) { // si food
35F4   LDY   byte_88               ;   // calcul le nb d'unités de food
35F4                               ;   // en surplus pour le tour suivant ?
35F6   LDA   goodsPlayersNb,Y      ;   A = GOODS_PLAYERS [FOOD] [byte_88]
35F9   CLC
35FA   ADC   goodsPlayersProd,Y    ;   A += EXPS_PLAYERS_PROD [FOOD] [byte_88]
35FD   SEC
35FE   SBC   foodReq               ;   A -= ROUND_FOOD_REQ
3601   BCC   Manque
3603   LDA   expsPlayersNb,Y
3606   BNE   Manque                ;   // si surplus et
3606                               ;   // si pas encore d'exp
3606                               ;   if ((A >= 0) && (EXPS_PLAYERS_NB [FOOD] [byte_88] == 0)) {
3608
3608 Surplus:                      ; ...
3608   LDA   goodsQuality_B20C,X
360B   ADC   byte_83
360D   ADC   #10
360F   TAY                         ;     // Y += n°good + 10;
360F                               ;     Y = word_B20C [X] + // 3/2/6/?
360F                               ;         byte_83 +       // 1/2/3/4
360F                               ;         10;
3610   JMP   fin2                  ;   }
3610                               ;   // si manque (avec ou sans exp)
3610                               ;   else {
3613 ; ---------------------------------------------------------------------------
3613
3613 Manque:                       ; ...
3613   LDY   goodsQuality_B20C,X
3616   BCS   fin2                  ;     if (A < 0) {
3618   TYA
3619   CLC
361A   ADC   #9
361C   ADC   byte_83
361E   TAY                         ;       // Y += n°good + 9;
361E                               ;       Y = word_B20C [X] + // 3/2/6/?
361E                               ;           byte_83 +       // 1/2/3/4
361E                               ;           9;
361F   LDA   goodsShortage,X
3622   BEQ   fin2                  ;       if (GOODS_SHORTAGE [X] != 0) {
3624   TYA
3625   CLC
3626   ADC   #4                    ;         // si shortage alors ajouter 4
3628   TAY                         ;         Y += 4
3628                               ;       }
3628                               ;     }
3629   JMP   fin2                  ;   }
3629                               ; }
3629                               ; else { // si pas food
362C ; ---------------------------------------------------------------------------
362C
362C fin1:                         ; ...
362C   CPX   #1
362E   BNE   fin2                  ;   if (X == 1) { // si energy
3630   LDY   byte_88               ;   // calcul le nb d'unités d'energy
3630                               ;   // en surplus pour le tour suivant ?
3632   LDA   goodsPlayersNb+4,Y    ;     A = GOODS_PLAYERS_NB [ENERGY] [byte_88]
3635   SEC
3636   ADC   goodsPlayersProd+4,Y  ;     A += EXPS_PLAYERS_PROD [ENERGY] [byte_88]
3639   SEC
363A   SBC   byte_B1AD             ;     A -= NRJ_REQ
363D   BCC   Manque                ;     // si manque (avec ou sans exp)
363D                               ;     if (A < 0) {
363D                               ;       goto Manque
363D                               ;     }
363F   LDA   expsPlayersNb+4,Y
3642   BEQ   Surplus               ;     else { // if (A >= 0) {
3642                               ;       // si surplus et
3642                               ;       // si pas encore d'exp
3642                               ;       if (expPlayersNb [Energy] [player] == 0) {
3642                               ;         goto Surplus
3642                               ;       }
3644   LDA   playersNbExps,Y       ;       else { // if (expPlayersNb [Energy] [player] != 0) {
3644                               ;         // si surplus et
3644                               ;         // si a deja des exp
3647   LSR   A
3648   LSR   A
3649   CMP   expsPlayersNb+4,Y     ;         A = playersNbExp [player] / 4;
364C   BEQ   Manque                ;         if (A == expPlayersNb [Energy] [player]) {
364C                               ;           goto Manque
364C                               ;         }
364E   BCS   Surplus               ;         // si nb d'exps d'energy < 1/4 des exps du joueur
364E                               ;         else if (A > expPlayersNb [Energy] [player]) {
364E                               ;           goto Surplus
364E                               ;         }
3650   SEC
3651   BCS   Manque                ; // jamais
3651                               ;       }
3651                               ;     }
3651                               ;   }
3651                               ; }
3653
3653 fin2:                         ; ...
3653   LDA   byte_8A               ; // Y = qualité du good
3655   CMP   #9
3657   BCC   loc_365B
3659   LDA   #8                    ; // A = byte_8A // prod plafonnée [0; 8]
365B
365B loc_365B:                     ; ...
365B   JSR   mul8BitsBy8Bits       ; input
365B                               ; A: left operand
365B                               ; Y: right operand
365B                               ; output
365B                               ; Y/A, byte_81/byte_82: A * Y
365E   CPY   #0                    ; A * Y // prod [0; 8] * qualité_unité [0;31] (ou 32)
3660   BEQ   locret_3664
3662   LDA   #255                  ; // si > 255 alors plafonner à 255
3664
3664 locret_3664:                  ; ...
3664   RTS
3664 ; End of function calcPlotQualityAi
3664
3665
3665 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3665
3665 ; input
3665 ; MAP_TEMP2
3665 ; output
3665 ; MAP_TEMP2
3665
3665 expandKnownCrystite:          ; ...
3665   LDY   #0                    ; Y = 0
3667   LDX   #44
3669
3669 loc_3669:                     ; ...
3669   LDA   #0                    ; for (X=44; X>=0; X--) {
366B   STA   plotsTemp,X           ;   MAP_TEMP [X] = 0
366E   STA   plotsTemp3,X          ;   MAP_TEMP3 [X] = 0
3671   LDA   plotsKnownCrystite,X
3674   CMP   #2
3676   BNE   loc_367E              ;   if (plotsKnownCrystite [X] == 2) {
3678   LDA   #2                    ;     // remplir MAP_TEMP de crystites niveau 2 de plotsKnownCrystite
367A   STA   plotsTemp,X           ;     MAP_TEMP [X] = 2
367D   TAY                         ;     Y = 2
367D                               ;   }
367E
367E loc_367E:                     ; ...
367E   DEX
367F   BPL   loc_3669              ; }
3681   CPY   #0
3683   BEQ   loc_3688              ; if (Y != 0) {
3685   JSR   expandCrystite        ; input
3685                               ; MAP_TEMP
3685                               ; output
3685                               ; MAP_TEMP3
3685                               ;
3685                               ; Etend les crystaux posés dans MAP_TEMP en étoile. Résultat dans MAP_TEMP3
3688
3688 loc_3688:                     ; ...
3688   LDX   #44                   ; }
368A
368A loc_368A:                     ; ...
368A   LDA   plotsTemp3,X          ; for (X=44; X>=0; X--) {
368D   CMP   #2
368F   BEQ   loc_3696              ;   if (MAP_TEMP3 [X] != 2) {
3691   ORA   #10000000b
3693   STA   plotsTemp3,X          ;     // marquer les nouveaux (1) en enlevant 128
3693                               ;     MAP_TEMP3 [X] |= 10000000b // -=128
3693                               ;   }
3696
3696 loc_3696:                     ; ...
3696   DEX
3697   BPL   loc_368A              ; }
3699   LDY   #0                    ; Y = 0
369B   LDX   #44
369D
369D loc_369D:                     ; ...
369D   LDA   #0                    ; for (X=44; X>=0; X--) {
369F   STA   plotsTemp,X           ;   MAP_TEMP [X] = 0
36A2   LDA   plotsKnownCrystite,X
36A5   CMP   #3
36A7   BNE   loc_36AF              ;   if (plotsKnownCrystite [X] == 3) {
36A9   LDA   #3
36AB   STA   plotsTemp,X           ;     // remplir MAP_TEMP de crystites niveau 3 de plotsKnownCrystite
36AB                               ;     MAP_TEMP [X] = 3
36AE   TAY                         ;     Y = 3
36AE                               ;   }
36AF
36AF loc_36AF:                     ; ...
36AF   DEX
36B0   BPL   loc_369D              ; }
36B2   CPY   #0
36B4   BEQ   loc_36B9              ; if (Y != 0) {
36B6   JSR   expandCrystite        ; input
36B6                               ; MAP_TEMP
36B6                               ; output
36B6                               ; MAP_TEMP3
36B6                               ;
36B6                               ; Etend les crystaux posés dans MAP_TEMP en étoile. Résultat dans MAP_TEMP3
36B9
36B9 loc_36B9:                     ; ...
36B9   LDX   #44                   ; }
36BB
36BB loc_36BB:                     ; ...
36BB   LDA   plotsKnownCrystite,X  ; for (X=44; X>=0; X--) {
36BE   BPL   loc_36CD              ;   if (plotsKnownCrystite [X] < 0) {
36C0   AND   #1111b
36C2   CMP   plotsTemp3,X
36C5   BCS   loc_36CD              ;     if ((plotsKnownCrystite [X] + 128) <
36C5                               ;           MAP_TEMP3 [X]) {
36C7   LDA   plotsTemp3,X
36CA   STA   plotsKnownCrystite,X  ;       plotsKnownCrystite = MAP_TEMP3 [X]
36CA                               ;     }
36CA                               ;   }
36CD
36CD loc_36CD:                     ; ...
36CD   DEX
36CE   BPL   loc_36BB              ; }
36D0   RTS
36D0 ; End of function expandKnownCrystite
36D0
36D1
36D1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
36D1
36D1 ; input
36D1 ; X: plot
36D1 ;
36D1 ; output
36D1 ; A: distance en cases
36D1 ;
36D1 ; calcul la distance entre la plot et le store
36D1 ; en ajoutant 1 si la plot est une riviere
36D1 ;
36D1 ; 432232234
36D1 ; 432121234
36D1 ; 4321 1234
36D1 ; 432121234
36D1 ; 432232234
36D1
36D1 calcPlotDistFromStore:        ; ...
36D1   TXA                         ; A = plot
36D2   JSR   plotIndexToCoord      ; input
36D2                               ; A: plot
36D2                               ;
36D2                               ; output
36D2                               ; X: ligne
36D2                               ; A: colonne
36D5   SEC
36D6   SBC   #4
36D8   BCS   loc_36DF
36DA   EOR   #11111111b
36DC   CLC
36DD   ADC   #1
36DF
36DF loc_36DF:                     ; ...
36DF   STA   byte_80               ; distColumn = abs (column - 4)
36E1   TXA
36E2   SEC
36E3   SBC   #2
36E5   BCS   loc_36EC
36E7   EOR   #11111111b
36E9   CLC
36EA   ADC   #1
36EC
36EC loc_36EC:                     ; ...
36EC   ASL   A                     ; distLine = abs (line - 2) * 2
36ED   CMP   byte_80
36EF   BCS   loc_36F3
36F1   LDA   byte_80               ; A = max (distColumn, distLine)
36F3
36F3 loc_36F3:                     ; ...
36F3   LDX   byte_80
36F5   BNE   locret_36FA           ; // si riviere ?
36F5                               ; if (distColumn == 0) {
36F7   CLC
36F8   ADC   #1                    ;   A ++
36F8                               ; }
36FA
36FA locret_36FA:                  ; ...
36FA   RTS
36FA ; End of function calcPlotDistFromStore
36FA
36FB
36FB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
36FB
36FB ; input
36FB ; A: 0 startingPlot
36FB ; Y: cpu
36FB ; playersPlotsQuality [PLAYERS] [PLOTS]:
36FB ;
36FB ; output
36FB ; A, byte_81: best plot
36FB
36FB calcPlayerBestPlotAi:         ; ...
36FB   STA   byte_83
36FD   STY   byte_84
36FF   JSR   Aplus45TimeY          ; input
36FF                               ; A:
36FF                               ; Y:
36FF                               ;
36FF                               ; output
36FF                               ; X: A + 45*Y
3702   LDA   #0
3704   STA   byte_81               ; int bestPlot = 0
3706   STA   byte_80               ; int penality = 0
3708   STA   byte_82               ; int bestEval = 0
370A   LDY   byte_83
370C
370C loc_370C:                     ; ...
370C   LDA   playersPlotsQuality,X ; for (int plot=startingPlot; plot<=44; plot++) {
370C                               ;   int plotQuality = playersPlotsQuality [cpu] [plot]
370F   SEC
3710   SBC   byte_80               ;   // penality:
3710                               ;   // 0: 3 premieres lignes
3710                               ;   // 1: avant derniere ligne
3710                               ;   // 2: derniere ligne
3710                               ;   int eval = plotQuality - penality
3712   BCS   loc_3716              ;   if (eval < 0) {
3714   LDA   #0                    ;     eval = 0
3714                               ;   }
3716
3716 loc_3716:                     ; ...
3716   CMP   byte_82
3718   BCC   loc_3727              ;   if (eval >= bestEval) {
371A   BNE   loc_3723              ;     if ((eval != 0) ||
371A                               ;         (random [0;3] == 0)) {
371C   BIT   OS_SKREST_RANDOM
371F   BPL   loc_3727
3721   BVC   loc_3727
3723
3723 loc_3723:                     ; ...
3723   STA   byte_82               ;       bestEval = eval
3725   STY   byte_81               ;       bestPlot = plot
3725                               ;     }
3725                               ;   }
3727
3727 loc_3727:                     ; ...
3727   INX
3728   INY
3729   CPY   #27
372B   BNE   loc_372F              ;   // si premiere plot de l'avant derniere ligne
372B                               ;   if (plot == 27) {
372D   INC   byte_80               ;     penality ++
372D                               ;   }
372F
372F loc_372F:                     ; ...
372F   CPY   #36
3731   BNE   loc_3735              ;   // si premiere plot de la derniere ligne
3731                               ;   if (plot == 36) {
3733   INC   byte_80               ;     penality ++
3733                               ;   }
3735
3735 loc_3735:                     ; ...
3735   CPY   #45
3737   BCC   loc_370C              ; }
3739   LDA   byte_81               ; A = bestPlot
373B   RTS
373B ; End of function calcPlayerBestPlotAi
373B
373C
373C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
373C
373C
373C sub_373C:                     ; ...
373C   LDX   #3
373E
373E loc_373E:                     ; ...
373E   LDA   playersAi,X
3741   BMI   loc_3747
3743   LDA   byte_B2,X
3745   BEQ   locret_374A
3747
3747 loc_3747:                     ; ...
3747   DEX
3748   BPL   loc_373E
374A
374A locret_374A:                  ; ...
374A   RTS
374A ; End of function sub_373C
374A
374B
374B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
374B
374B
374B playerTurnAi:                 ; ...
374B   LDA   currentPlayer
374D   STA   byte_88
374F   JSR   prepareStaticMessage
3752   JSR   sub_3919
3755   LDA   #0
3757   STA   byte_4A               ; // nombre de exps traités
3757                               ; byte_4A = 0
3759   LDX   #3
375B
375B loc_375B:                     ; ...
375B   LDA   #-1
375D   STA   byte_B1B5,X           ; byte_B1B5 [#3] = -1
3760   DEX
3761   BPL   loc_375B
3763
3763 NextExp:                      ; ...
3763   LDA   byte_D3               ; for (;;) {
3765   BMI   loc_376B              ;   if (byte_D3 < 0) {
3765                               ;     goto (NextPhaseAssay)
3765                               ;   }
3767   CMP   #35
3769   BCS   loc_376E              ;   if (byte_D3 < 35) {
3769                               ;     goto (NextPhaseAssay)
3769                               ;   }
376B
376B loc_376B:                     ; ...
376B   JMP   NextPhaseAssay
376E ; ---------------------------------------------------------------------------
376E
376E loc_376E:                     ; ...
376E   LDA   #0
3770   STA   byte_B323             ;   byte_B323 = 0
3773   LDA   #2                    ;   A = 2
3775   JSR   calcGoodsQuality      ; input
3775                               ; A: nb de rounds prévisionnels
3775                               ;    2 playerTurnAi
3775                               ;    3 grantLandAi
3775                               ;
3775                               ; output:
3775                               ; goodsQuality_B20C [Goods] = goodsPriceMultiple [Goods] / 8
3775                               ; = note de 0 à 31
3775                               ;
3775                               ; met byte_B375 à 0
3775                               ;
3775                               ; anciennement calcGoodsPriceMultiple
3778   LDA   #44
377A   STA   byte_CB
377C
377C loc_377C:                     ; ...
377C   LDA   currentPlayer         ;   for (int plot=44; plot>=0; plot--) {
377E   STA   byte_88
3780   LDX   byte_CB
3782   LDA   plotsPlayer,X
3785   CMP   byte_88
3787   BNE   loc_37CE              ;     if (plotsPlayer [plot] != currentPlayer) {
3787                               ;       goto (NextPlot)
3787                               ;     }
3789   LDX   #3
378B
378B loc_378B:                     ; ...
378B   LDA   byte_B1B5,X           ;     // ne pas choisir une plot deja traitée
378B                               ;     for (X=3; X>=0; X--) {
378E   CMP   byte_CB
3790   BEQ   loc_37CE              ;       if (byte_B1B5 [X] == plot) {
3790                               ;         goto (NextPlot)
3790                               ;       }
3792   DEX
3793   BPL   loc_378B              ;     }
3795   LDA   currentPlayer
3797   STA   byte_88
3799   ASL   A
379A   TAY
379B   LDA   playersCash,Y
379E   STA   priceEnd
37A1   LDA   playersCash+1,Y
37A4   STA   priceEnd+1            ;     int playerCash = playersCash [currentPlayer]
37A7   LDX   byte_CB
37A9   STX   byte_8B
37AB   LDA   plotsExp,X            ;     // qualité de l'exp courante de cette plot
37AB                               ;     int qualityAi1 = 0
37AE   BNE   loc_37D1              ;     if (plotsExp [plot] == NoExp) {
37B0   LDY   goodsStoreNb+4
37B3   BEQ   loc_37CE              ;       if (goodsStockNb [MULE] == 0) {
37B3                               ;         goto (NextPlot)
37B3                               ;       }
37B5   LDA   priceEnd
37B8   SEC
37B9   SBC   mulePriceL
37BC   STA   priceEnd
37BF   LDA   priceEnd+1
37C2   SBC   mulePriceH
37C5   STA   priceEnd+1            ;       playerCash -= mulePrice
37C8   BCC   loc_37CE              ;       if (playerCash < 0) {
37C8                               ;         goto (NextPlot)
37C8                               ;       }
37CA   LDA   #0                    ;       qualityAi1 = 0;
37CC   BEQ   loc_37D4
37CE
37CE loc_37CE:                     ; ...
37CE   JMP   NextPlot              ;     }
37CE                               ;     // if (plotsExp [plot] != NoExp)
37CE                               ;     else {
37CE                               ;       A = plotsExp [plot]
37CE                               ;       byte_88 = currentPlayer
37CE                               ;       byte_8B = plot
37CE                               ;       byte_B375 = 0
37CE                               ;       // puis 1 après la première terre
37CE                               ;       // bug car le nb d'exp n'est pas recalculé (-1)
37CE                               ;       // et donc ajouté de 1 (pour eco1)
37D1 ; ---------------------------------------------------------------------------
37D1
37D1 loc_37D1:                     ; ...
37D1   JSR   calcPlotQualityAi     ; input
37D1                               ; A: exp [1; 4] ((0: no), 1: food, 2: energy, ...)
37D1                               ; byte_8B: plot
37D1                               ; byte_88: player
37D1                               ; byte_B375:
37D1                               ; byte_B20C: qualité financiere de chaque good de [0;31]
37D1                               ;
37D1                               ; output
37D1                               ; A: qualité (valeur prod * qualité unité)
37D1                               ;    plafonner à 255
37D4
37D4 loc_37D4:                     ; ...
37D4   STA   word_B321             ;     }
37D7   LDA   #1
37D9   STA   byte_B375             ;     byte_B375 = AiChooseExpTurn
37DC   LDX   byte_CB               ;     X = plot
37DE   LDA   currentPlayer         ;     A = currentPlayer
37E0   JSR   calcPlotExpAndQualityAi ; input
37E0                               ; A: player
37E0                               ; X: plot
37E0                               ; byte_B375:
37E0                               ; byte_B20C: qualité financiere de chaque good de [0;31]
37E0                               ;            32 pour le premier round
37E0                               ;
37E0                               ; output
37E0                               ; Y, byte_9B: type d'exp
37E0                               ; A, byte_84: qualité
37E3   STY   byte_80               ;     int expAi = Y
37E5   LDX   byte_CB               ;     // qualité de la meilleur exp sur cette plot
37E5                               ;     int qualityAi2 = A
37E7   LDY   plotsExp,X
37EA   CPY   byte_80
37EC   BEQ   NextPlot              ;     if (plotExp [plot] = expAi) {
37EC                               ;       goto (NextPlot)
37EC                               ;     }
37EE   SEC
37EF   SBC   word_B321             ;     int gain = qualityAi2 - qualityAi1
37F2   BCC   NextPlot              ;     if (gain < 0) {
37F2                               ;       goto (NextPlot)
37F2                               ;     }
37F4   CMP   #2
37F6   BCC   NextPlot              ;     if (gain < 2) {
37F6                               ;       goto (NextPlot)
37F6                               ;     }
37F8   CMP   byte_B323
37FB   BCC   NextPlot              ;     if (gain < bestGain) {
37FB                               ;       goto (NextPlot)
37FB                               ;     }
37FD   TAX
37FE   LDY   byte_80
3800   LDA   priceEnd
3803   SEC
3804   SBC   outfitsPriceL,Y
3807   LDA   priceEnd+1
380A   SBC   #0
380C   BCC   NextPlot              ;     if ((playerCash - outfitsPrice [expAi]) < 0) {
380C                               ;       goto (NextPlot)
380C                               ;     }
380E   STY   byte_B324             ;     bestExpAi = expAi
3811   STX   byte_B323             ;     bestGain = gain
3814   LDA   byte_CB
3816   STA   successScore          ;     bestPlotAi = plot
3816                               ;
3819
3819 NextPlot:                     ; ...
3819   DEC   byte_CB               ;     NextPlot:
381B   BMI   loc_3820
381D   JMP   loc_377C              ;   } // fin for plot
3820 ; ---------------------------------------------------------------------------
3820
3820 loc_3820:                     ; ...
3820   LDA   byte_B323
3823   BEQ   NextPhaseAssay        ;   if (bestGain == 0) {
3823                               ;     goto (NextPhaseAssay)
3823                               ;   }
3825   LDY   byte_4A
3827   LDA   successScore
382A   STA   byte_B1B5,Y           ;   byte_B1B5 [byte_4A] = bestPlotAi
382D   TAX
382E   LDA   plotsExp,X
3831   BNE   loc_383B              ;   // achat d'une mule
3831                               ;   if (plotsExp [bestPlotAi] == NoExp) {
3833   LDX   #8                    ;     X = Mule
3835   JSR   buyOutfitOrMule       ; input
3835                               ; X: numero de l'outfit
3835                               ;    8: Mule
3835                               ; output
3838   DEC   goodsStoreNb+4        ;     goodsStoreNb [Mule] --
3838                               ;   }
383B
383B loc_383B:                     ; ...
383B   LDX   byte_B324             ;   // achat de l'outfit
383B                               ;   X = bestExpAi
383E   JSR   buyOutfitOrMule       ; input
383E                               ; X: numero de l'outfit
383E                               ;    8: Mule
383E                               ; output
3841   LDX   successScore
3844   LDA   byte_B324
3847   STA   plotsExp,X            ;   plotsExp [bestPlotAi] = bestExpAi
384A   STX   byte_CB
384C   LDY   #$FF
384E   JSR   drawCell              ; input
384E                               ; X: plot
3851   LDX   successScore          ;   X = bestPlotAi
3854   LDA   #25                   ;   A = 25
3856   JSR   decreaseTimeFromAction ; input
3856                               ; A: actionTimeCost
3856                               ; X: plot, concernant l'action
3859   LDA   #$64
385B   LDY   OS_PCOLR0
385E   INY
385F   INY
3860   JSR   sub_38F7
3863   INC   byte_4A               ;   byte_4A ++
3865   JMP   NextExp               ; } // fin for traités exp
3868 ; ---------------------------------------------------------------------------
3868
3868 NextPhaseAssay:               ; ...
3868   LDA   level
386A   CMP   #2
386C   BNE   EndTurn               ; if (level != Tournament) {
386C                               ;   goto (EndTurn)
386C                               ; }
386E   LDX   #44
3870   LDY   #0                    ; nbHighCrystiteKnown = 0
3872
3872 loc_3872:                     ; ...
3872   LDA   plotsKnownCrystite,X  ; // compter le nb de high trouvées
3872                               ; for (int plot=44; plot>=0; plot--) {
3875   CMP   #3
3877   BNE   loc_387A              ;   if (plotsKnownCrystite [plot] == High) {
3879   INY                         ;     nbHighCrystiteKnown ++
3879                               ;   }
387A
387A loc_387A:                     ; ...
387A   DEX
387B   BPL   loc_3872              ; }
387D   CPY   #3
387F   BCS   EndTurn               ; // Si au moins 3 high trouvées, ne pas faire d'assay
387F                               ; if (nbHighCrystiteKnown >= 3) {
387F                               ;   goto (EndTurn)
387F                               ; }
3881
3881 NextAssay:                    ; ...
3881   LDA   #1
3883   STA   byte_B375             ; byte_B375 = 1 // pour assay
3886   LDA   byte_D3
3888   BMI   EndTurn               ; // byte_D3: temps restant
3888                               ; if (byte_D3 < 0) {
3888                               ;   goto (EndTurn)
3888                               ; }
388A   CMP   #22
388C   BCC   EndTurn               ;
388C                               ; if (byte_D3 < 22) {
388C                               ;   goto (EndTurn)
388C                               ; }
388E
388E loc_388E:                     ; ...
388E   LDX   #44
3890   LDA   #0
3892   STA   successScore          ; // ici successScore signifie si une case est
3892                               ; // trouvée pour le assay
3892                               ; // 0 = non
3892                               ; // -128, .. = oui (avec byte_CB la case)
3892                               ; successScore = 0
3895
3895 loc_3895:                     ; ...
3895   LDA   byte_B375             ; for (plot=44; plot>=0; plot--) {
3898   BEQ   loc_38A3              ;   // byte_B375 != 0 -> scanner ses propres terres
3898                               ;   //           == 0 -> scanner une terre vide
3898                               ;   if (byte_B375 != 0) {
389A   LDA   plotsPlayer,X
389D   CMP   currentPlayer
389F   BNE   NextPlotAssay         ;     // scanner ses propres terres
389F                               ;     if (plotsPlayer [plot] != currentPlayer) {
389F                               ;       goto case_suivante
389F                               ;     }
38A1   BEQ   loc_38A8              ;   }
38A1                               ;   else {
38A3
38A3 loc_38A3:                     ; ...
38A3   LDA   plotsPlayer,X
38A6   BPL   NextPlotAssay         ;     // scanner une terre libre
38A6                               ;     if (plotsPlayer [plot] >= 0) {
38A6                               ;       goto case_suivante
38A6                               ;     }
38A6                               ;   }
38A8
38A8 loc_38A8:                     ; ...
38A8   LDA   expsPlotsCapacity+$87,X
38AB   BMI   NextPlotAssay         ;   // éviter la rivière et le store
38AB                               ;   if (expsPlotsCapacity [Crystite] [plot] < 0) {
38AB                               ;     goto case_suivante
38AB                               ;   }
38AD   LDA   plotsKnownCrystite,X
38B0   BPL   NextPlotAssay         ;   // éviter les cases deja connues
38B0                               ;   if (plotsKnownCrystite [plot] >= 0) {
38B0                               ;     goto case_suivante
38B0                               ;   }
38B2   CMP   successScore
38B5   BCC   NextPlotAssay         ;   // garder la case la + interessante
38B5                               ;   // 128 si inconnu
38B5                               ;   // Utile ? car si 1, 2, 3 ou 4 alors c évité
38B5                               ;   if (plotsKnownCrystite [plot] < successScore) {
38B5                               ;     goto case_suivante
38B5                               ;   }
38B7   BNE   loc_38C0              ;   // au 1er passage, c évité
38B7                               ;   if (plotsKnownCrystite [plot] == successScore) {
38B9   LDY   OS_SKREST_RANDOM
38BC   CPY   #32
38BE   BCS   NextPlotAssay         ;     // la prendre 1/8, garder la précédente 7/8
38BE                               ;     if (random [0; 255] >= 31) {
38C0
38C0 loc_38C0:                     ; ...
38C0   STA   successScore          ;       goto case_suivante
38C0                               ;     }
38C0                               ;   }
38C3   STX   byte_CB               ;   // garder la case en mémoire
38C3                               ;   successScore = plotsKnownCrystite [plot]
38C3                               ;   byte_CB = plot
38C5
38C5 NextPlotAssay:                ; ...
38C5   DEX
38C6   BPL   loc_3895              ; }
38C8   LDA   successScore
38CB   BEQ   loc_38E4              ; if (successScore != 0) {
38CD   JSR   crystiteFound         ;   crystiteFound (byte_CB)
38D0   LDY   #$C
38D2   LDA   #$C8
38D4   JSR   sub_38F7
38D7   LDA   #10                   ; // cout de l'assay = 10
38D9   LDX   byte_CB
38DB   JSR   decreaseTimeFromAction ; input
38DB                               ; A: actionTimeCost
38DB                               ; X: plot, concernant l'action
38DE   JSR   expandKnownCrystite   ; input
38DE                               ; MAP_TEMP2
38DE                               ; output
38DE                               ; MAP_TEMP2
38E1   JMP   NextAssay             ;   goto (NextEssay)
38E1                               ; }
38E4 ; ---------------------------------------------------------------------------
38E4
38E4 loc_38E4:                     ; ...
38E4   DEC   byte_B375             ; // si plus de terre perso a chercher, alors regarder
38E4                               ; // dans les terres libres. Si plus de terre libres
38E4                               ; // a chercher, arreter.
38E4                               ; byte_B375 --
38E7   BPL   loc_388E              ; if (byte_B375 >= 0) {
38E7                               ;   goto loc_388E
38E7                               ; }
38E9
38E9 EndTurn:                      ; ...
38E9   LDA   byte_38F6
38EC   BEQ   locret_38F5
38EE   LDY   byte_E7
38F0   LDA   byte_B2,Y
38F3   BNE   EndTurn
38F5
38F5 locret_38F5:                  ; ...
38F5   RTS
38F5 ; End of function playerTurnAi
38F5
38F5 ; ---------------------------------------------------------------------------
38F6 byte_38F6:.BYTE 0             ; ...
38F7
38F7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
38F7
38F7
38F7 sub_38F7:                     ; ...
38F7   PHA
38F8   STY   OS_PCOLR1
38FB   LDA   #0
38FD   STA   OS_HPOSP1_M1PF
3900   LDA   byte_CB
3902   JSR   setCursorSprite
3905   JSR   sub_5E1B
3908   LDA   byte_8E
390A   STA   OS_HPOSP1_M1PF
390D   PLA
390E   JSR   sub_391B
3911   LDA   #1
3913   JSR   sub_12CA
3916   JMP   prepareStaticMessage
3916 ; End of function sub_38F7
3916
3919
3919 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3919
3919
3919 sub_3919:                     ; ...
3919   LDA   #80
3919 ; End of function sub_3919
3919
391B
391B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
391B
391B
391B sub_391B:                     ; ...
391B   LDY   currentPlayer
391D   STY   byte_9E
391F   PHA
3920   LDA   #20
3922   JSR   waitJiffy             ; input
3922                               ; A: temps à attendre en jiffy (1/60 seconds)
3925   PLA
3926   CLC
3927   ADC   OS_RTCLOK
3929   TAY
392A
392A loc_392A:                     ; ...
392A   CPY   OS_RTCLOK
392C   BEQ   loc_3933
392E   JSR   sub_373C
3931   BNE   loc_392A
3933
3933 loc_3933:                     ; ...
3933   JMP   EndTurn
3933 ; End of function sub_391B
3933
3936
3936 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3936
3936 ; input
3936 ; A: actionTimeCost
3936 ; X: plot, concernant l'action
3936
3936 decreaseTimeFromAction:       ; ...
3936   STA   byte_81
3938   JSR   calcPlotDistFromStore ; input
3938                               ; X: plot
3938                               ;
3938                               ; output
3938                               ; A: distance en cases
3938                               ;
3938                               ; calcul la distance entre la plot et le store
3938                               ; en ajoutant 1 si la plot est une riviere
3938                               ;
3938                               ; 432232234
3938                               ; 432121234
3938                               ; 4321 1234
3938                               ; 432121234
3938                               ; 432232234
393B   ASL   A
393C   ASL   A
393D   ADC   byte_81
393F   STA   byte_81
3941   LDA   byte_D3
3943   SEC
3944   SBC   byte_81
3946   STA   byte_D3               ; int finalTimeCost = actionTimeCost + distPlot*4
3946                               ; byte_D3 -= finalTimeCost
3948   RTS
3948 ; End of function decreaseTimeFromAction
3948
3949
3949 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3949
3949 ; input
3949 ; A: player
3949 ; X: case de la terre à vendre
3949 ; byte_B375:
3949 ;
3949 ; output
3949 ; A: quality
3949
3949 calcPlotQualityForLandAuctionAi: ; ...
3949   STA   byte_80               ; byte_80 = A; // indexCpu
394B   LDA   #3
394D   STA   goodsQuality_B20C     ; word_B20C [0] = 3 // good Food
3950   STA   goodsQuality_B20C+1
3953   DEC   goodsQuality_B20C+1   ; word_B20C [1] = 2 // good Energy
3956   ASL   A
3957   STA   goodsQuality_B20C+2   ; word_B20C [2] = 6 // good Smithore
395A   LDA   numRound              ; A = numRound
395C   PHA                         ; numRound_ = numRound
395D   LDA   #1
395F   STA   numRound              ; numRound = 1 // influe sur le calcul de la qualité
3961   LDA   byte_80               ; A = byte_80
3963   JSR   calcPlotExpAndQualityAi ; input
3963                               ; A: player
3963                               ; X: plot
3963                               ; byte_B375:
3963                               ; byte_B20C: qualité financiere de chaque good de [0;31]
3963                               ;            32 pour le premier round
3963                               ;
3963                               ; output
3963                               ; Y, byte_9B: type d'exp
3963                               ; A, byte_84: qualité
3966   STA   byte_80               ; byte_80 = A
3968   PLA
3969   STA   numRound              ; numRound = numRound_
396B   LDA   OS_SKREST_RANDOM
396E   AND   #3
3970   CLC
3971   ADC   byte_80               ; A = byte_80 + random [0; 7]
3973   RTS
3973 ; End of function calcPlotQualityForLandAuctionAi
3973
3974
3974 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
3974
3974
3974 sub_3974:                     ; ...
3974   LDX   #$E6
3976   LDY   #$E6
3978   LDA   #0
397A   STA   word_70
397C   STA   word_70+1
397E   STA   word_72
3980   STA   word_72+1
3982   LDA   byte_46
3984   SEC
3985   SBC   byte_44
3987   BCS   loc_398F
3989   LDY   #$C6
398B   EOR   #$FF
398D   ADC   #1
398F
398F loc_398F:                     ; ...
398F   STA   byte_48
3991   SEC
3992   LDA   byte_45
3994   SBC   byte_43
3996   BCS   loc_399E
3998   LDX   #$C6
399A   EOR   #$FF
399C   ADC   #1
399E
399E loc_399E:                     ; ...
399E   STA   byte_47
39A0   CMP   byte_48
39A2   BCS   loc_39A6
39A4   LDA   byte_48
39A6
39A6 loc_39A6:                     ; ...
39A6   STA   byte_49
39A8   STA   byte_4A
39AA   BCS   loc_39B4
39AC   LSR   A
39AD   STA   word_70
39AF   STA   byte_4B
39B1   JMP   loc_39B9
39B4 ; ---------------------------------------------------------------------------
39B4
39B4 loc_39B4:                     ; ...
39B4   LSR   A
39B5   STA   word_72
39B7   STX   byte_4B
39B9
39B9 loc_39B9:                     ; ...
39B9   STX   loc_39DD
39BC   STY   loc_39FC
39BF   RTS
39C0 ; ---------------------------------------------------------------------------
39C0
39C0 loc_39C0:                     ; ...
39C0   BIT   byte_4B
39C2   BMI   loc_39DD
39C4   CLC
39C5   LDA   word_70
39C7   ADC   byte_47
39C9   STA   word_70
39CB   BCC   loc_39CF
39CD   INC   word_70+1
39CF
39CF loc_39CF:                     ; ...
39CF   SEC
39D0   SBC   byte_4A
39D2   TAX
39D3   LDA   word_70+1
39D5   SBC   #0
39D7   BCC   loc_39DF
39D9   STX   word_70
39DB   STA   word_70+1
39DD
39DD loc_39DD:                     ; ...
39DD   INC   byte_43
39DF
39DF loc_39DF:                     ; ...
39DF   BIT   byte_4B
39E1   BPL   loc_39FC
39E3   CLC
39E4   LDA   word_72
39E6   ADC   byte_48
39E8   STA   word_72
39EA   BCC   loc_39EE
39EC   INC   word_72+1
39EE
39EE loc_39EE:                     ; ...
39EE   SEC
39EF   SBC   byte_4A
39F1   TAX
39F2   LDA   word_72+1
39F4   SBC   #0
39F6   BCC   loc_39FE
39F8   STX   word_72
39FA   STA   word_72+1
39FC
39FC loc_39FC:                     ; ...
39FC   INC   byte_44
39FE
39FE loc_39FE:                     ; ...
39FE   LDY   byte_43
3A00   LDX   byte_44
3A02   DEC   byte_49
3A04   RTS
3A04 ; End of function sub_3974
3A04
3A04 ; ---------------------------------------------------------------------------
3A05   .BYTE $D3, $D4, $C1, $D4, $D5, $53 ; STATUS
3A0B   .BYTE $D0, $D2, $C5, $D6, $C9, $CF, $D5, $D3, $A0, $A0, $C1, $CD, $CF ; PREVIOUS__AMOUNT
3A0B   .BYTE $D5, $CE, $54
3A1B   .BYTE $A0, $D3, $D4, $CF, $D2, $C5, $A0, $C8, $C1, $D3, $20 ; _STORE_HAS_
3A26   .BYTE $A0, $D5, $CE, $C9, $54 ; _UNIT
3A2B   .BYTE $A0, $C6, $CF, $CF, $C4, $20 ; _FOOD_
3A31 unk_3A31:.BYTE   7            ; ...
3A32   .BYTE   2
3A33   .BYTE   6
3A34   .BYTE  $D
3A35   .BYTE   5
3A36   .BYTE $1A
3A37   .BYTE   5
3A38   .BYTE $1C
3A39   .BYTE   7
3A3A   .BYTE $1E
3A3B   .BYTE $A0, $C5, $CE, $C5, $D2, $C7, $D9, $20 ; _ENERGY_
3A43   .BYTE   2
3A44   .BYTE   2
3A45   .BYTE   2
3A46   .BYTE   2
3A47   .BYTE   2
3A48   .BYTE   0
3A49   .BYTE   0
3A4A   .BYTE   0
3A4B   .BYTE $A0, $D3, $CD, $C9, $D4, $C8, $CF, $D2, $C5, $20 ; _SMITHORE_
3A55   .BYTE  $E
3A56   .BYTE  $E
3A57   .BYTE  $E
3A58   .BYTE  $E
3A59   .BYTE   0
3A5A   .BYTE   0
3A5B   .BYTE $A0, $C3, $D2, $D9, $D3, $D4, $C9, $D4, $C5, $20 ; _CRYSTITE_
3A65   .BYTE   0
3A66   .BYTE   0
3A67   .BYTE   0
3A68   .BYTE   0
3A69   .BYTE   0
3A6A   .BYTE   0
3A6B   .BYTE $A0, $CD, $D5, $CC, $C5, $D3, $20 ; _MULES_
3A72   .BYTE $7C ; |
3A73   .BYTE $52 ; R
3A74   .BYTE $7C ; |
3A75   .BYTE $92 ; Æ
3A76   .BYTE $CC ; ¦
3A77   .BYTE $52 ; R
3A78   .BYTE $CC ; ¦
3A79   .BYTE $92 ; Æ
3A7A   .BYTE $A0, $A0, $A0, $A0, $A0, $D5, $D3, $C1, $C7, $C5, $A0, $A0, $A0 ; _____USAGE______
3A7A   .BYTE $A0, $A0, $20
3A8A   .BYTE $A0, $A0, $A0, $A0, $D3, $D0, $CF, $C9, $CC, $C1, $C7, $C5, $A0 ; ____SPOILAGE____
3A8A   .BYTE $A0, $A0, $20
3A9A   .BYTE $A0, $A0, $A0, $D0, $D2, $CF, $C4, $D5, $C3, $D4, $C9, $CF, $CE ; ___PRODUCTION___
3A9A   .BYTE $A0, $A0, $20
3AAA   .BYTE $A0, $A0, $A0, $A0, $20 ; _____
3AAF   .BYTE $D0, $D5, $D3, $C8, $A0, $D3, $D4, $C9, $C3, $CB, $8D, $A0, $A0 ; PUSH_STICK
3AAF   .BYTE $A0, $D4, $CF, $A0, $C4, $C5, $C3, $CC, $C1, $D2, $C5, $A0, $C1 ; ___TO_DECLARE_AS
3AAF   .BYTE $D3, $8D, $A0, $A0, $C2, $D5, $D9, $C5, $D2, $A0, $CF, $D2, $A0 ; __BUYER_OR_SELLER
3AAF   .BYTE $D3, $C5, $CC, $CC, $C5, $52
3ADC   .BYTE $D0, $CC, $C5, $C1, $D3, $C5, $A0, $C3, $C5, $CE, $D4, $C5, $D2 ; PLEASE_CENTER_YOUR_PADDLE
3ADC   .BYTE $A0, $D9, $CF, $D5, $D2, $A0, $D0, $C1, $C4, $C4, $CC, $45
3AF5   .BYTE $A0, $D0, $D2, $C5, $D3, $D3, $A0, $C1, $CC, $CC, $A0, $D0, $CC ; _PRESS_ALL_PLAYER
3AF5   .BYTE $C1, $D9, $C5, $D2, $8D, $A0, $C2, $D5, $D4, $D4, $CF, $CE, $D3 ; _BUTTONS_TO_GO_ON.
3AF5   .BYTE $A0, $D4, $CF, $A0, $C7, $CF, $A0, $CF, $CE, $2E
3B19   .BYTE $A0, $D0, $D2, $C5, $D3, $D3, $A0, $C1, $CC, $CC, $A0, $D0, $CC ; _PRESS_ALL_PLAYER_BUTTONS_TO_GO_ON._
3B19   .BYTE $C1, $D9, $C5, $D2, $A0, $C2, $D5, $D4, $D4, $CF, $CE, $D3, $A0
3B19   .BYTE $D4, $CF, $A0, $C7, $CF, $A0, $CF, $CE, $AE, $20
3B3D   .BYTE $A0, $CC, $C1, $CE, $C4, $A0, $C6, $CF, $D2, $A0, $D3, $C1, $CC ; _LAND_FOR_SALE
3B3D   .BYTE $45
3B4B   .BYTE $A0, $D0, $D2, $CF, $C4, $D5, $C3, $D4, $C9, $CF, $4E ; _PRODUCTION
3B56   .BYTE $A0, $CF, $D7, $CE, $C5, $D2, $D3, $C8, $C9, $D0, $A0, $CD, $C1 ; _OWNERSHIP_MAP
3B56   .BYTE $50
3B64   .BYTE $C4, $C5, $D6, $C5, $CC, $CF, $D0, $CD, $C5, $CE, $54 ; DEVELOPMENT
3B6F   .BYTE $A0,$A0,$CE,$C5,$C5,$C4,$A0,$C1,$A0,$CD,$D5,$CC,$C5,$A0,$A0,$20 ; 01 __NEED_A_MULE___
3B6F   .BYTE $CE,$CF,$A0,$CD,$D5,$CC,$C5,$D3,$A0,$C1,$CC,$CC,$CF,$D7,$C5,$44 ; 02 NO_MULES_ALLOWED
3B6F   .BYTE $CE,$CF,$D4,$A0,$C5,$CE,$CF,$D5,$C7,$C8,$A0,$CD,$CF,$CE,$C5,$59 ; 03 NOT_ENOUGH_MONEY
3B6F   .BYTE $A0,$CE,$CF,$A0,$CD,$D5,$CC,$C5,$D3,$A0,$CC,$C5,$C6,$D4,$A0,$20 ; 04 _NO_MULES_LEFT__
3B6F   .BYTE $A0,$CD,$D5,$CC,$C5,$A0,$D3,$C5,$D4,$A0,$C6,$CF,$D2,$BA,$A0,$20 ; 05 _MULE_SET_FOR:__ ???
3B6F   .BYTE $A0,$CE,$CF,$D4,$A0,$D9,$CF,$D5,$D2,$A0,$D0,$CC,$CF,$D4,$A0,$20 ; 06 _NOT_YOUR_PLOT__
3B6F   .BYTE $C1,$CC,$D2,$C5,$C1,$C4,$D9,$A0,$C7,$CF,$D4,$A0,$CD,$D5,$CC,$45 ; 07 ALREADY_GOT_MULE ???
3B6F   .BYTE $CE,$C5,$C5,$C4,$A0,$D3,$CF,$C9,$CC,$A0,$D3,$C1,$CD,$D0,$CC,$45 ; 08 NEED_SOIL_SAMPLE
3B6F   .BYTE $CE,$CF,$A0,$D0,$CC,$CF,$D4,$A0,$CD,$C1,$D2,$CB,$C5,$C4,$A0,$20 ; 09 NO_PLOT_MARKED__
3B6F   .BYTE $D4,$C9,$CD,$C5,$A0,$C8,$C1,$D3,$A0,$D2,$D5,$CE,$A0,$CF,$D5,$54 ; 10 TIME_HAS_RUN_OUT
3B6F   .BYTE $CE,$CF,$A0,$CD,$D5,$CC,$C5,$A0,$D3,$D4,$C5,$C1,$CC,$C9,$CE,$47 ; 11 NO_MULE_STEALING ???
3B6F   .BYTE $C7,$CF,$A0,$D4,$CF,$A0,$C2,$CC,$C4,$C7,$A0,$C6,$C9,$D2,$D3,$54 ; 12 GO_TO_BLDG_FIRST
3B6F   .BYTE $CD,$C1,$D2,$CB,$A0,$D0,$CC,$CF,$D4,$A0,$D4,$CF,$A0,$D3,$C5,$4C ; 13 MARK_PLOT_TO_SEL 'L' ajouté en dur
3B6F   .BYTE $C7,$C5,$D4,$A0,$D3,$CF,$C9,$CC,$A0,$D3,$C1,$CD,$D0,$CC,$C5,$20 ; 14 GET_SOIL_SAMPLE_
3B6F   .BYTE $A0,$D4,$C8,$C5,$CE,$A0,$C3,$CF,$CD,$C5,$A0,$C2,$C1,$C3,$CB,$2E ; 15 _THEN_COME_BACK.
3B6F   .BYTE $CD,$C1,$D2,$CB,$C5,$C4,$A0,$C6,$CF,$D2,$A0,$D3,$C1,$CC,$C5,$2E ; 16 MARKED_FOR_SALE.
3B6F   .BYTE $D3,$C1,$CD,$D0,$CC,$C5,$A0,$D2,$C5,$C1,$C4,$D9,$A0,$D4,$CF,$20 ; 17 SAMPLE_READY_TO_
3B6F   .BYTE $D2,$C5,$D4,$D5,$D2,$CE,$A0,$D4,$CF,$A0,$CF,$C6,$C6,$C9,$C3,$45 ; 18 RETURN_TO_OFFICE
3B6F   .BYTE $D4,$D2,$C1,$CE,$D3,$C6,$C5,$D2,$C9,$CE,$C7,$A0,$CD,$D5,$CC,$45 ; 19 TRANSFERING_MULE
3B6F   .BYTE $CF,$D5,$D4,$C6,$C9,$D4,$D4,$C9,$CE,$C7,$A0,$CD,$D5,$CC,$C5,$20 ; 20 OUTFITTING_MULE_
3B6F   .BYTE $A0,$A0,$C7,$CF,$A0,$D4,$CF,$A0,$CA,$C1,$C9,$CC,$A1,$A0,$A0,$20 ; 21 __GO_TO_JAIL!___ ???
3B6F   .BYTE $A0,$C6,$CF,$CF,$C4,$A0,$D3,$C8,$CF,$D2,$D4,$C1,$C7,$C5,$8D,$20 ; 22 _FOOD_SHORTAGE
3B6F   .BYTE $A0,$C4,$C5,$C3,$D2,$C5,$C1,$D3,$C5,$D3,$A0,$D4,$C9,$CD,$C5,$2E ; 23 __DECREASES_TIME.
3B6F   .BYTE $D9,$CF,$D5,$A0,$CF,$D7,$CE,$A0,$C9,$D4,$A0,$CE,$CF,$D7,$A1,$20 ; 24 YOU_OWN_IT_NOW!_ ???
3B6F   .BYTE $B1,$A0,$D0,$CC,$CF,$D4,$A0,$D0,$C5,$D2,$A0,$D4,$D2,$C9,$D0,$20 ; 25 1_PLOT_PER_TRIP_
3B6F   .BYTE $CD,$D5,$CC,$C5,$A0,$C9,$CE,$D3,$D4,$C1,$CC,$CC,$C5,$C4,$AE,$20 ; 26 MULE_INSTALLED._
3B6F                               ; 27 NO_MINING_IN_THE
3B6F                               ;    ___RIVER_VALLEY.
3D0F   .BYTE $CE, $CF, $A0, $CD, $C9, $CE, $C9, $CE, $C7, $A0, $C9, $CE, $A0 ; 27 NO_MINING_IN_THE
3D0F   .BYTE $D4, $C8, $C5, $8D, $A0, $A0, $A0, $D2, $C9, $D6, $C5, $D2, $A0 ; 28 ___RIVER_VALLEY.
3D0F   .BYTE $D6, $C1, $CC, $CC, $C5, $D9, $2E
3D30   .BYTE $D0, $D2, $C5, $D3, $D3, $20 ; PRESS_
3D36   .BYTE $D9, $CF, $D5, $D2, $A0, $D3, $D4, $C9, $C3, $CB, $A0, $C2, $D5 ; YOUR_STICK_BUTTON_TO_START
3D36   .BYTE $D4, $D4, $CF, $CE, $A0, $D4, $CF, $A0, $D3, $D4, $C1, $D2, $54
3D50   .BYTE $C1, $CE, $59         ; ANY
3D53   .BYTE $A0, $A0, $A0, $A0, $CE, $4F ; ____NO
3D59   .BYTE   0
3D5A   .BYTE   0
3D5B   .BYTE $A0, $A0, $A0, $CC, $CF, $57 ; ___LOW
3D61   .BYTE   0
3D62   .BYTE   0
3D63   .BYTE $A0, $A0, $CD, $C5, $C4, $C9, $D5, $4D ; __MEDIUM
3D6B   .BYTE $A0, $A0, $A0, $C8, $C9, $C7, $48 ; ___HIGH
3D72   .BYTE $A0, $C3, $D2, $D9, $D3, $D4, $C9, $D4, $C5, $8D, $A0, $A0, $A0 ; _CRYSTITE
3D72   .BYTE $C6, $CF, $D5, $CE, $C4, $A0, $C9, $CE, $A0, $D0, $CC, $CF, $D4 ; ___FOUND_IN_PLOT.
3D72   .BYTE $2E
3D8D   .BYTE $A0, $CC, $C1, $CE, $C4, $A0, $D7, $C9, $CC, $CC, $A0, $C2, $C5 ; _LAND_WILL_BE_SOLD
3D8D   .BYTE $A0, $D3, $CF, $CC, $C4, $8D, $A0, $A0, $C1, $D4, $A0, $CE, $C5 ; __AT_NEXT_AUCTION
3D8D   .BYTE $D8, $D4, $A0, $C1, $D5, $C3, $D4, $C9, $CF, $4E
3DB1   .BYTE $D3, $C8, $CF, $D2, $D4, $C1, $C7, $45 ; SHORTAGE
3DB9   .BYTE $A0, $D3, $D5, $D2, $D0, $CC, $D5, $53 ; _SURPLUS
3DC1   .BYTE $A0, $A0, $D7, $CF, $CE, $A0, $24 ; __WON_$
3DC8   .BYTE $A0, $C7, $C1, $CD, $C2, $CC, $C9, $CE, $C7, $21 ; _GAMBLING!
3DD2   .BYTE $A0, $A0, $A0, $D0, $C9, $D2, $C1, $D4, $C5, $A0, $D3, $C8, $C9 ; ___PIRATE_SHIP
3DD2   .BYTE $50
3DE0   .BYTE $D4, $D2, $C1, $CE, $D3, $D0, $CF, $D2, $D4, $A0, $D3, $C8, $C9 ; TRANSPORT_SHIP
3DE0   .BYTE $50
3DEE   .BYTE $A0, $A0, $D0, $CC, $C1, $CE, $C5, $D4, $D1, $D5, $C1, $CB, $45 ; __PLANETQUAKE
3DFB   .BYTE $A0, $D0, $C9, $D2, $C1, $D4, $C5, $D3, $A0, $D4, $C1, $CB, $C5 ; _PIRATES_TAKE_ALL
3DFB   .BYTE $A0, $C1, $CC, $CC, $8D, $A0, $A0, $A0, $A0, $20 ; _____
3E12   .BYTE $A0, $CD, $C9, $CE, $C9, $CE, $C7, $A0, $D0, $D2, $CF, $C4, $D5 ; _MINING_PRODUCTION
3E12   .BYTE $C3, $D4, $C9, $CF, $CE, $8D, $A0, $A0, $A0, $C8, $C1, $CC, $C6 ; ___HALF_OF_NORMAL.
3E12   .BYTE $A0, $CF, $C6, $A0, $CE, $CF, $D2, $CD, $C1, $CC, $2E
3E37   .BYTE $C1, $C3, $C9, $C4, $A0, $D2, $C1, $C9, $CE, $A0, $D3, $D4, $CF ; ACID_RAIN_STORM
3E37   .BYTE $D2, $4D
3E46   .BYTE $A0, $A0, $A0, $C6, $CF, $CF, $C4, $A0, $CF, $D5, $D4, $D0, $D5 ; ___FOOD_OUTPUT_UP,
3E46   .BYTE $D4, $A0, $D5, $D0, $AC, $8D, $A0, $A0, $A0, $C5, $CE, $C5, $D2 ; ___ENERGY_REDUCED.
3E46   .BYTE $C7, $D9, $A0, $D2, $C5, $C4, $D5, $C3, $C5, $C4, $2E
3E6B   .BYTE $A0, $A0, $D0, $C5, $D3, $D4, $A0, $C1, $D4, $D4, $C1, $C3, $4B ; __PEST_ATTACK
3E78   .BYTE $20                   ; _
3E79   .BYTE $D3, $D5, $CE, $D3, $D0, $CF, $D4, $A0, $C1, $C3, $D4, $C9, $D6 ; SUNSPOT_ACTIVITY
3E79   .BYTE $C9, $D4, $59
3E89   .BYTE $A0, $A0, $C5, $CE, $C5, $D2, $C7, $D9, $A0, $CF, $D5, $D4, $D0 ; __ENERGY_OUTPUT_IS
3E89   .BYTE $D5, $D4, $A0, $C9, $D3, $8D, $A0, $A0, $A0, $A0, $A0, $A0, $C9 ; ______INCREASED
3E89   .BYTE $CE, $C3, $D2, $C5, $C1, $D3, $C5, $44
3EAB   .BYTE $CD, $CF, $CE, $C5, $59 ; MONEY
3EB0   .BYTE   0
3EB1   .BYTE   0
3EB2   .BYTE   0
3EB3   .BYTE   0
3EB4   .BYTE   0
3EB5   .BYTE   0
3EB6   .BYTE   0
3EB7   .BYTE   0
3EB8   .BYTE   0
3EB9   .BYTE   0
3EBA   .BYTE   0
3EBB   .BYTE $CC, $C1, $CE, $C4, $20 ; LAND_
3EC0   .BYTE   0
3EC1   .BYTE   0
3EC2   .BYTE   0
3EC3   .BYTE   0
3EC4   .BYTE   0
3EC5   .BYTE   0
3EC6   .BYTE   0
3EC7   .BYTE   0
3EC8   .BYTE   0
3EC9   .BYTE   0
3ECA   .BYTE   0
3ECB   .BYTE $C7, $CF, $CF, $C4, $53 ; GOODS
3ED0   .BYTE $C3, $CF, $CC, $CF, $CE, $59 ; COLONY
3ED6   .BYTE   0
3ED7   .BYTE   0
3ED8   .BYTE   0
3ED9   .BYTE   0
3EDA   .BYTE   0
3EDB   .BYTE $D4, $CF, $D4, $C1, $4C ; TOTAL
3EE0   .BYTE $D3, $D4, $C1, $D4, $D5, $D3, $A0, $D3, $D5, $CD, $CD, $C1, $D2 ; STATUS_SUMMARY
3EE0   .BYTE $59
3EEE   .BYTE $CD, $C5, $D4, $C5, $CF, $D2, $C9, $D4, $C5, $A0, $D3, $D4, $D2 ; METEORITE_STRIKE
3EEE   .BYTE $C9, $CB, $45
3EFE   .BYTE $A0, $CD, $C5, $D4, $C5, $CF, $D2, $A0, $CD, $C1, $CB, $C5, $D3 ; _METEOR_MAKES_NEW
3EFE   .BYTE $A0, $CE, $C5, $D7, $8D, $A0, $C3, $D2, $D9, $D3, $D4, $C9, $D4 ; _CRYSTITE_DEPOSIT.
3EFE   .BYTE $C5, $A0, $C4, $C5, $D0, $CF, $D3, $C9, $D4, $2E
3F22   .BYTE $A0, $D4, $CF, $A0, $CF, $D5, $D4, $C6, $C9, $D4, $8D, $A0, $A0 ; _TO_OUTFIT
3F22   .BYTE $CD, $D5, $CC, $C5, $A0, $C6, $CF, $52 ; __MULE_FOR
3F37   .BYTE $A0, $A0, $A0, $A0, $CE, $CF, $A0, $CE, $C5, $D7, $A0, $D0, $CC ; ____NO_NEW_PLOTS
3F37   .BYTE $CF, $D4, $D3, $8D, $A0, $A0, $A0, $A0, $A0, $C6, $CF, $D2, $A0 ; _____FOR_SALE.
3F37   .BYTE $D3, $C1, $CC, $C5, $AE
3F56   .BYTE   7
3F57   .BYTE $A0, $CC, $C1, $CE, $C4, $A0, $C7, $D2, $C1, $CE, $54 ; _LAND_GRANT
3F62   .BYTE $A0, $D0, $D2, $C5, $D3, $D3, $A0, $D9, $CF, $D5, $D2, $A0, $C2 ; _PRESS_YOUR_BUTTON
3F62   .BYTE $D5, $D4, $D4, $CF, $CE, $8D, $A0, $D4, $CF, $A0, $D3, $C5, $CC ; _TO_SELECT_A_PLOT.
3F62   .BYTE $C5, $C3, $D4, $A0, $C1, $A0, $D0, $CC, $CF, $D4, $2E
3F87   .BYTE $D9, $CF, $D5, $D2, $A0, $CD, $CF, $CE, $C5, $D9, $A0, $C5, $D1 ; YOUR_MONEY_EQUALS_$
3F87   .BYTE $D5, $C1, $CC, $D3, $A0, $24
3F9A   .BYTE $A0, $D9, $CF, $D5, $A7, $D2, $C5, $A0, $CC, $C1, $CE, $C4, $C9 ; _YOU'RE_LANDING_ON
3F9A   .BYTE $CE, $C7, $A0, $CF, $CE, $8D, $A0, $D4, $C8, $C5, $A0, $D0, $CC ; _THE_PLANET_IRATA.
3F9A   .BYTE $C1, $CE, $C5, $D4, $A0, $C9, $D2, $C1, $D4, $C1, $2E
3FBF   .BYTE $A0, $D4, $C8, $C5, $A0, $D3, $C8, $C9, $D0, $A0, $C9, $D3, $A0 ; _THE_SHIP_IS_BACK!
3FBF   .BYTE $C2, $C1, $C3, $CB, $21
3FD1   .BYTE $A0, $A0, $D4, $C8, $C5, $A0, $D3, $C8, $C9, $D0, $A0, $D7, $C9 ; __THE_SHIP_WILL_BE
3FD1   .BYTE $CC, $CC, $A0, $C2, $C5, $8D, $A0, $C2, $C1, $C3, $CB, $A0, $C9 ; _BACK_IN_
3FD1   .BYTE $CE, $20
3FED   .BYTE $A0, $CD, $CF, $CE, $D4, $C8, $D3, $2E ; _MONTHS.
3FF5   .BYTE $A0, $A0, $A0, $D9, $CF, $D5, $A0, $C3, $C1, $D5, $C7, $C8, $D4 ; ___YOU_CAUGHT_THE_____MOUNTAIN_WAMPUS!___HE_GAVE_YOU_HIS_TREASURE_CHEST_($
3FF5   .BYTE $A0, $D4, $C8, $C5, $A0, $A0, $A0, $A0, $A0, $CD, $CF, $D5, $CE
3FF5   .BYTE $D4, $C1, $C9, $CE, $A0, $D7, $C1, $CD, $D0, $D5, $D3, $A1, $A0
3FF5   .BYTE $A0, $A0, $C8, $C5, $A0, $C7, $C1, $D6, $C5, $A0, $D9, $CF, $D5
3FF5   .BYTE $A0, $C8, $C9, $D3, $A0, $D4, $D2, $C5, $C1, $D3, $D5, $D2, $C5
3FF5   .BYTE $A0, $C3, $C8, $C5, $D3, $D4, $A0, $A8, $24
403F   .BYTE $A9, $A0, $A0, $A0, $A0, $A0, $A0, $A0, $A0, $A0, $D4, $CF, $A0 ; (_________TO_LET_HIM_GO_FREE_AGAIN._________
403F   .BYTE $CC, $C5, $D4, $A0, $C8, $C9, $CD, $A0, $C7, $CF, $A0, $C6, $D2
403F   .BYTE $C5, $C5, $A0, $C1, $C7, $C1, $C9, $CE, $AE, $A0, $A0, $A0, $A0
403F   .BYTE $A0, $A0, $A0, $A0, $20
406B   .BYTE $A0, $D2, $C1, $C4, $C9, $C1, $D4, $C9, $CF, $4E ; _RADIATION
4075   .BYTE $A0, $A0, $CD, $D5, $CC, $C5, $A0, $C7, $CF, $C5, $D3, $A0, $C3 ; __MULE_GOES_CRAZY!
4075   .BYTE $D2, $C1, $DA, $D9, $21
4087   .BYTE $A0, $AA, $A0, $D0, $D2, $C5, $D3, $D3, $A0, $CF, $D0, $D4, $C9 ; _*_PRESS_OPTION_&_START_TO_RESTART_*
4087   .BYTE $CF, $CE, $A0, $A6, $A0, $D3, $D4, $C1, $D2, $D4, $A0, $D4, $CF
4087   .BYTE $A0, $D2, $C5, $D3, $D4, $C1, $D2, $D4, $A0, $2A
40AB   .BYTE $C6, $C9, $D2, $C5, $A0, $C9, $CE, $A0, $D3, $D4, $CF, $D2, $45 ; FIRE_IN_STORE
40B8   .BYTE $A0, $A0, $C1, $CC, $CC, $A0, $D4, $C8, $C5, $A0, $D3, $D4, $CF ; __ALL_THE_STOCK_IN
40B8   .BYTE $C3, $CB, $A0, $C9, $CE, $8D, $A0, $D4, $C8, $C5, $A0, $D3, $D4 ; _THE_STORE_IS_LOST!
40B8   .BYTE $CF, $D2, $C5, $A0, $C9, $D3, $A0, $CC, $CF, $D3, $D4, $21
40DE   .BYTE $D4, $C8, $C5, $A0, $C3, $CF, $CD, $D0, $D5, $D4, $C5, $D2, $A0 ; THE_COMPUTER_IS_TAKING_HIS_TURN
40DE   .BYTE $C9, $D3, $A0, $D4, $C1, $CB, $C9, $CE, $C7, $A0, $C8, $C9, $D3
40DE   .BYTE $A0, $D4, $D5, $D2, $4E
40FD   .BYTE $A0, $A0, $A0, $C1, $D5, $C3, $D4, $C9, $CF, $4E ; ___AUCTION
4107   .BYTE $4A ; J               ; J
4108   .BYTE $49 ; I               ; I
4109   .BYTE $4D ; M               ; M
410A   .BYTE $42 ; B               ; B
410B   .BYTE $4F ; O               ; O
410C   .BYTE $53 ; S               ; S
410D   .BYTE $CC, $C1, $CE, $C4, $A0, $C1, $D5, $C3, $D4, $C9, $CF, $4E ; LAND_AUCTION
4119   .BYTE $CD, $CF, $CE, $C5, $59 ; MONEY
411E   .BYTE $D5, $CE, $C9, $D4, $D3, $20 ; UNITS_
4124   .BYTE $D4, $D2, $C1, $C4, $C5, $44 ; TRADED
412A   .BYTE $A0, $A0, $D3, $D4, $CF, $D2, $C5, $A0, $C8, $C1, $D3, $A0, $D2 ; __STORE_HAS_RUN_DRY!
412A   .BYTE $D5, $CE, $A0, $C4, $D2, $D9, $21
413E   .BYTE $A0, $A0, $D3, $C5, $CC, $CC, $C5, $D2, $AE, $D3, $A0, $D2, $D5 ; __SELLER'S_RUN_DRY!{$E}
413E   .BYTE $CE, $A0, $C4, $D2, $D9, $A1, $E
4152   .BYTE $A0, $A0, $A0, $C1, $D5, $C3, $D4, $C9, $CF, $CE, $A0, $C9, $D3 ; ___AUCTION_IS_OVER
4152   .BYTE $A0, $CF, $D6, $C5, $52
4164   .BYTE $A0, $C2, $D5, $D9, $C5, $D2, $AE, $D3, $A0, $D3, $D4, $D2, $C1 ; _BUYER'S_STRAPPED
4164   .BYTE $D0, $D0, $C5, $44
4175   .BYTE $A0, $A0, $A0, $A0, $A0, $C6, $CF, $D2, $A0, $C3, $C1, $D3, $C8 ; _____FOR_CASH!
4175   .BYTE $21
4183   .BYTE $C2, $C9, $C4, $D3, $A0, $D3, $D4, $C1, $D2, $D4, $A0, $C1, $D4 ; BIDS_START_AT_$
4183   .BYTE $A0, $24
4192   .BYTE $A0, $CE, $CF, $A0, $C2, $C9, $C4, $D3, $A0, $D4, $C5, $CE, $C4 ; _NO_BIDS_TENDERED
4192   .BYTE $C5, $D2, $C5, $44
41A3   .BYTE $C8, $C9, $C7, $C8, $A0, $C2, $C9, $C4, $A0, $C9, $D3, $A0, $24 ; HIGH_BID_IS_$
41B0   .BYTE $D0, $CC, $CF, $D4, $A0, $C9, $D3, $A0, $D3, $CF, $CC, $C4, $21 ; PLOT_IS_SOLD!
41BD   .BYTE $D0, $CC, $CF, $D4, $A0, $C4, $C9, $C4, $CE, $AE, $D4, $A0, $D3 ; PLOT_DIDN'T_SELL!
41BD   .BYTE $C5, $CC, $CC, $21
41CE   .BYTE $D3, $C1, $CC, $C5, $A0, $D0, $D2, $C9, $C3, $C5, $BA, $A0, $24 ; SALE_PRICE:_$
41DB   .BYTE $CE, $CF, $A0, $D3, $C5, $CC, $CC, $C5, $D2, $D3, $D ; NO_SELLERS
41DB                               ;
41E6   .BYTE $CE, $CF, $A0, $C1, $D5, $C3, $D4, $C9, $CF, $4E ; NO_AUCTION
41F0   .BYTE $A0, $A0, $A0, $A0, $A0, $D3, $C5, $CC, $CC, $C5, $D2, $A0, $C1 ; _____SELLER_AT
41F0   .BYTE $54
41FE   .BYTE $A0, $A0, $A0, $C3, $D2, $C9, $D4, $C9, $C3, $C1, $CC, $A0, $CC ; ___CRITICAL_LEVEL!
41FE   .BYTE $C5, $D6, $C5, $CC, $21
4210   .BYTE $CE, $CF, $A0, $C3, $CF, $CD, $CD, $CF, $C4, $C9, $D4, $D9, $D ; NO_COMMODITY
4210                               ;
421D   .BYTE $A0, $CE, $CF, $A0, $C1, $D5, $C3, $D4, $C9, $CF, $4E ; _NO_AUCTION
4228   .BYTE $A0, $A0, $C2, $D5, $D9, $20 ; __BUY_
422E   .BYTE $A0, $D3, $C5, $CC, $CC, $20 ; _SELL_
4234   .BYTE $A0, $A0, $A0, $A0, $A0, $C3, $CF, $CC, $CC, $D5, $D3, $C9, $CF ; _____COLLUSION
4234   .BYTE $4E
4242   .BYTE $A0, $C3, $CF, $CC, $CC, $D5, $D3, $C9, $CF, $CE, $A0, $C9, $D3 ; _COLLUSION_IS_OVER
4242   .BYTE $A0, $CF, $D6, $C5, $52
4254 houseGoodAuctionChar:.BYTE 00000000b
4254   .BYTE 00010000b
4254   .BYTE 00111000b
4254   .BYTE 01111100b
4254   .BYTE 11111110b
4254   .BYTE 01111100b
4254   .BYTE 01010100b
4254   .BYTE 01010100b
4254   .BYTE 01110100b
4254   .BYTE 01110100b
425E houseLandAuctionChar:.BYTE 00000000b
425E   .BYTE 11000000b
425E   .BYTE 01110000b
425E   .BYTE 01111100b
425E   .BYTE 01111110b
425E   .BYTE 01111100b
425E   .BYTE 01010100b
425E   .BYTE 01010100b
425E   .BYTE 01011100b
425E   .BYTE 01011100b
4268 initialFoodPrice:.BYTE 25     ; ...
4269   .BYTE 2
426A initialEnergyPrice:.BYTE 25   ; ...
426B   .BYTE 2
426C   .BYTE 25
426D   .BYTE 4
426E   .BYTE 140
426F   .BYTE 16
4270 initialMulePrice:.BYTE 35     ; ...
4271   .BYTE  $A
4272 initBidStartLa:.BYTE 160      ; ...
4273 initPriceStartLa:.BYTE 112    ; ...
4274 byte_4274:.BYTE 1             ; ...
4275   .BYTE   1
4276   .BYTE   1
4277   .BYTE   4
4278   .BYTE   1
4279   .BYTE   4
427A   .BYTE   1
427B byte_427B:.BYTE $57, $6F, $87, $9F ; ...
427F unk_427F:.BYTE   2            ; ...
4280   .BYTE $FE ; ¦
4281   .BYTE   0
4282 FONT_CHAR8:.BYTE 00000000b    ; ...
4282   .BYTE 00011000b
4282   .BYTE 00011000b
4282   .BYTE 00110000b
4282   .BYTE 00000000b
4282   .BYTE 00000000b
4282   .BYTE 00000000b
4282   .BYTE 00000000b
428A   .BYTE $A9 ; ®
428B   .BYTE $77 ; w
428C   .BYTE $85 ; à
428D   .BYTE  $A
428E   .BYTE $A9 ; ®
428F   .BYTE $E4 ; õ
4290   .BYTE $85 ; à
4291   .BYTE  $B
4292   .BYTE $60 ; `
4293
4293 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4293
4293
4293 initGame:                     ; ...
4293   LDY   byte_92F              ; Y = byte_92F
4296
4296 loc_4296:                     ; ...
4296   DEY                         ; do {
4296                               ;   Y --
4297   BNE   loc_4296              ; } while (Y != 0)
4299   LDA   #0
429B   STA   word_70
429D   LDA   #$B0
429F   STA   word_70+1             ; 70|71 = $B000
42A1   LDA   #$FF
42A3   STA   word_72
42A5   LDA   #$BF
42A7   STA   word_72+1             ; 72|73 = $BFFF
42A9   LDY   #0                    ; Y = 0
42AB
42AB loc_42AB:                     ; ...
42AB   LDA   #0                    ; A = 0
42AD   STA   (word_70),Y
42AF   JSR   sub_111A
42B2   BCC   loc_42AB
42B4   LDY   #$7F
42B6   LDA   #0
42B8
42B8 loc_42B8:                     ; ...
42B8   STA   byte_80,Y
42BB   DEY
42BC   BNE   loc_42B8
42BE   LDY   #44                   ; // initialization of the map Player
42C0   LDA   #-1
42C2
42C2 loc_42C2:                     ; ...
42C2   STA   plotsPlayer,Y
42C5   DEY
42C6   BPL   loc_42C2              ; plotsPlayer [PLOTS] = Nobody
42C8   LDA   #$3E
42CA   STA   OS_SDMCTL
42CD   LDA   #$B8
42CF   STA   OS_PMBASE
42D2   LDA   #0
42D4   STA   OS_CDTMV1
42D7   STA   OS_POKMSK
42D9   STA   OS_IRQEN_IRQST
42DC   STA   OS_AUDCTL_ALLPOT
42DF   LDA   #3
42E1   STA   OS_SKCTL_SKSTAT
42E4   LDA   #1
42E6   STA   OS_GPRIOR
42E9   JSR   C1_255
42EC   JSR   sub_136D
42EF   LDY   #$B5
42F1   LDX   #$5B
42F3   LDA   #6
42F5   JSR   sub_E45C
42F8   LDA   #$C0
42FA   STA   OS_NMIEN
42FD   JMP   loc_4330
42FD ; ---------------------------------------------------------------------------
4300 charsMountains:               ; ...
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00010000b
4300   .BYTE 00111000b
4300   .BYTE 01111100b
4300   .BYTE 11111110b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00010000b
4300   .BYTE 00010000b
4300   .BYTE 00111000b
4300   .BYTE 00111000b
4300   .BYTE 01111100b
4300   .BYTE 11111110b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00010000b
4300   .BYTE 00111000b
4300   .BYTE 11111110b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00000000b
4300   .BYTE 00010000b
4300   .BYTE 00010000b
4300   .BYTE 00010000b
4300   .BYTE 00111000b
4300   .BYTE 01111100b
4300   .BYTE 11111110b
4300   .BYTE 00000000b
4320 charRiver:.BYTE 00101000b     ; ...
4320   .BYTE 01010100b
4320   .BYTE 01001010b
4320   .BYTE 01010010b
4320   .BYTE 00010100b
4320   .BYTE 00101010b
4320   .BYTE 01001000b
4320   .BYTE 00010010b
4328 charCity:.BYTE 11111111b      ; ...
4328   .BYTE 10100101b
4328   .BYTE 11111111b
4328   .BYTE 11111111b
4328   .BYTE 10101001b
4328   .BYTE 10111001b
4328   .BYTE 11111001b
4328   .BYTE 11111111b
4330 ; ---------------------------------------------------------------------------
4330
4330 loc_4330:                     ; ...
4330   LDY   #3                    ; // initialization of the map Crystite
4332
4332 loc_4332:                     ; ...
4332   LDA   #45                   ; for (Y=3; Y!=0; ) {
4334   JSR   random_0_A            ; input
4334                               ; A: borne supérieure
4334                               ; output
4334                               ; A: un nombre aléatoire [0; A[
4334                               ;
4334                               ; calcul un nombre aléatoire entre 0 et A
4337   TAX                         ;   X = random [0; 44]
4338   LDA   plotsTemp,X
433B   BNE   loc_4332              ;   if (MAP_TEMP [X] == 0) {
433D   LDA   #3
433F   STA   plotsTemp,X           ;     MAP_TEMP [X] = 3
4342   DEY                         ;     Y --
4342                               ;   }
4343   BNE   loc_4332              ; }
4345   JSR   expandCrystite        ; input
4345                               ; MAP_TEMP
4345                               ; output
4345                               ; MAP_TEMP3
4345                               ;
4345                               ; Etend les crystaux posés dans MAP_TEMP en étoile. Résultat dans MAP_TEMP3
4348   LDX   #44                   ; X = 44
434A
434A loc_434A:                     ; ...
434A   LDA   #0                    ; // initialise MAP_TEMP à 0
434A                               ; // copie MAP_TEMP3 dans MAP_CRYST
434A                               ; do {
434C   STA   plotsTemp,X           ;   MAP_TEMP [X] = 0 // contiendra les montagnes
434F   LDA   plotsTemp3,X
4352   STA   expsPlotsCapacity+$87,X ;   MAP_CRYST [X] = MAP_TEMP3 [X]
4355   DEX                         ;   X --
4356   BPL   loc_434A              ; } while (X >= 0)
4358   LDA   #0
435A   STA   byte_8C               ; byte_8C = 0
435C
435C loc_435C:                     ; ...
435C   LDA   OS_SKREST_RANDOM      ; // placement des montagnes
435C                               ; do {
435F   AND   #3                    ; // tire 2 positions de montagne sur la même ligne:
435F                               ; // une à gauche de la rivière,
435F                               ; // l'autre à droite
4361   STA   byte_88               ;   byte_88 = random [0; 3]
4363   TAX                         ;   X = byte_88 // colonne
4364   LDA   byte_8C               ;   A = byte_8C // ligne
4366   JSR   plotCoordToIndex      ; input
4366                               ; A: ligne   [0;4]
4366                               ; X: colonne [0;8]
4366                               ; output
4366                               ; A, X: l'index à la ligne A, colonne X de la carte
4366                               ;
4366                               ; A, X = A*9 + X
4369   STX   byte_8E               ;   off_8E = coord_to_index (A, X) // gauche
436B   LDA   OS_SKREST_RANDOM
436E   AND   #3
4370   CLC
4371   ADC   #5
4373   STA   byte_89               ;   byte_89 = random [5; 8]
4375   TAX                         ;   X = byte_89 // colonne
4376   LDA   byte_8C               ;   A = byte_8C // ligne
4378   JSR   plotCoordToIndex      ; input
4378                               ; A: ligne   [0;4]
4378                               ; X: colonne [0;8]
4378                               ; output
4378                               ; A, X: l'index à la ligne A, colonne X de la carte
4378                               ;
4378                               ; A, X = A*9 + X
437B   STX   byte_8F               ;   off_8F = coord_to_index (A, X) // droite
437D
437D loc_437D:                     ; ...
437D   LDA   #0                    ;   do {
437F   STA   byte_8A               ;     byte_8A = 0
4381   STA   byte_8B               ;     byte_8B = 0
4383   LDX   byte_8E
4385   STA   plotsTemp,X           ;     MAP_TEMP [off_8E] = 0
4388   LDX   byte_8F
438A   STA   plotsTemp,X           ;     MAP_TEMP [off_8F] = 0
438D
438D loc_438D:                     ; ...
438D   LDA   byte_88               ;     do { // boucle 4 fois
438D                               ;       A = byte_88 // colonne gauche
438F   LDX   byte_8E               ;       X = off_8E  // index gauche
4391   BIT   OS_SKREST_RANDOM
4394   BPL   loc_439C              ;       if (random [-128; 127] < 0 ) {
4396   LDA   byte_89               ;         A = byte_89 // colonne droite
4398   LDX   byte_8F               ;         X = off_8F  // index droite
439A   INC   byte_8A               ;         byte_8A ++ // contient le nombre de montagnes ajouté a droite
439A                               ;       }
439C
439C loc_439C:                     ; ...
439C   INC   plotsTemp,X           ;       MAP_TEMP [X] ++ // ajouter une montagne
439F   ASL   A
43A0   ASL   A
43A1   ASL   A
43A2   ASL   A
43A3   STA   byte_80
43A5   LDA   OS_SKREST_RANDOM
43A8   AND   #111b
43AA   ADC   byte_80
43AC   ADC   #57                   ;       // avec A la colonne (gauche ou droite)
43AC                               ;       // calcul l'abscisse de la montagne
43AC                               ;       A = random [0; 7] + A*16 + 57
43AE   PHA
43AF   LDA   byte_8C
43B1   ASL   A
43B2   ASL   A
43B3   ADC   byte_8B
43B5   TAX                         ;       // ordonnée de la montagne en "1/4 de case"
43B5                               ;       // la premiere ligne = 1234
43B5                               ;       // la seconde ligne = 5678, ...
43B5                               ;       // ligne en cours*4 + 1/4 de ligne en cours
43B5                               ;       X = byte_8C*4 + byte_8B
43B6   PLA
43B7   STA   mountainsX,X          ;       off_B221 [X] = A
43BA   INC   byte_8B               ;       off_8B ++
43BC   LDA   #3
43BE   CMP   byte_8B
43C0   BCS   loc_438D              ;     } while (off_8B <= 3)
43C0                               ;     // donc au final, on a sur une même ligne
43C0                               ;     // 1 groupe de montagne a gauche, un autre a droite
43C0                               ;     // la ligne est divisé en 4
43C0                               ;     // sur chaque 1/4 de ligne, la montagne est a gauche ou a droite
43C2   LDA   byte_8A
43C4   BEQ   loc_437D
43C6   CMP   #4
43C8   BEQ   loc_437D              ;     // ce test evite d'avoir
43C8                               ;     // 0 ou 4 montagnes d'un même coté
43C8                               ;   } while ( (byte_8A == 0) ||
43C8                               ;             (byte_8A == 4) )
43CA   INC   byte_8C               ;   byte_8C ++ // ligne suivante
43CC   LDA   #4
43CE   CMP   byte_8C
43D0   BCC   loc_43D5
43D2   JMP   loc_435C              ; } while (byte_8C <= 4)
43D5 ; ---------------------------------------------------------------------------
43D5
43D5 loc_43D5:                     ; ...
43D5   LDA   #0                    ; // copie des sprites des montagnes
43D7   STA   byte_8B               ; off_8B = 0
43D9
43D9 loc_43D9:                     ; ...
43D9   LDA   byte_8B               ; do { // byte_8B boucler 20 fois = nb de montagnes
43DB   ASL   A
43DC   ASL   A
43DD   ASL   A
43DE   CLC
43DF   ADC   #44
43E1   TAY                         ;   Y = off_8B * 8 + 44 // 44ieme caractere
43E2   LDA   OS_SKREST_RANDOM
43E5   AND   #3
43E7   ASL   A
43E8   ASL   A
43E9   ASL   A
43EA   TAX                         ;   X = random [0; 3] * 8 // 4 types de montagnes differentes
43EB   LDA   #8
43ED   STA   byte_8C               ;   byte_8C = 8
43EF
43EF loc_43EF:                     ; ...
43EF   LDA   charsMountains,X      ;   do { // boucler 8 fois pour les 8 octets
43F2   STA   GAME_SPR_MOUNT,Y      ;     unk_B900 [Y] = CHAR_MOUNTAIN [X]
43F5   INX                         ;     X ++
43F6   INY                         ;     Y ++
43F7   DEC   byte_8C               ;     byte_8C --
43F9   BNE   loc_43EF              ;   } while (byte_8C != 0)
43FB   INC   byte_8B               ;   off_8B ++
43FD   LDA   #19
43FF   CMP   byte_8B
4401   BCS   loc_43D9              ; } while (off_8B <= 19)
4403   LDY   #241                  ; // boucler 231 fois = nb de lignes pour la riviere
4405
4405 loc_4405:                     ; ...
4405   LDA   OS_SKREST_RANDOM
4408   AND   #7
440A   TAX
440B   LDA   charRiver,X           ; // récupération d'un octet pour la riviere
440B                               ; // parmi les 8 disponibles
440E   STA   GAME_SPR_RIVER,Y      ; // 1 ligne de riviere
4411   DEY
4412   LDA   #0
4414   STA   GAME_SPR_RIVER,Y      ; // 1 ligne vide
4417   DEY
4418   CPY   #10
441A   BCS   loc_4405              ; // boucler
441C   LDY   #108
441E   LDX   #0
4420   STX   GAME_SPR_RIVER+$6B
4423   STX   GAME_SPR_RIVER+$8C
4426
4426 loc_4426:                     ; ...
4426   LDA   #4                    ; // copie du sprite de la ville (quadruplant la hauteur)
4428   STA   byte_80
442A   LDA   charCity,X
442D
442D loc_442D:                     ; ...
442D   STA   GAME_SPR_RIVER,Y
4430   INY
4431   DEC   byte_80
4433   BNE   loc_442D
4435   INX
4436   CPY   #140
4438   BCC   loc_4426
443A   LDY   #8
443C   LDA   #1111000b
443E
443E loc_443E:                     ; ...
443E   STA   riverStoreX,Y
4441   INY
4442   CPY   #12
4444   BCC   loc_443E
4446   LDA   #1111100b
4448   STA   riverStoreX
444B   LDA   #7
444D   JSR   random_0_A            ; input
444D                               ; A: borne supérieure
444D                               ; output
444D                               ; A: un nombre aléatoire [0; A[
444D                               ;
444D                               ; calcul un nombre aléatoire entre 0 et A
4450   SEC
4451   SBC   #3
4453   CLC
4454   ADC   riverStoreX
4457   STA   riverStoreX+$13
445A   LDA   #1
445C   STA   byte_8B
445E
445E loc_445E:                     ; ...
445E   LDA   #5
4460   JSR   random_0_A            ; input
4460                               ; A: borne supérieure
4460                               ; output
4460                               ; A: un nombre aléatoire [0; A[
4460                               ;
4460                               ; calcul un nombre aléatoire entre 0 et A
4463   SEC
4464   SBC   #2
4466   LDY   byte_8B
4468   DEY
4469   CLC
446A   ADC   riverStoreX,Y
446D   CMP   #119
446F   BCS   loc_4473
4471   LDA   #119
4473
4473 loc_4473:                     ; ...
4473   CMP   #130
4475   BCC   loc_4479
4477   LDA   #129
4479
4479 loc_4479:                     ; ...
4479   INY
447A   STA   riverStoreX,Y
447D   INC   byte_8B
447F   LDA   byte_8B
4481   CMP   #8
4483   BCC   loc_445E
4485   LDA   #18
4487   STA   byte_8B
4489
4489 loc_4489:                     ; ...
4489   LDA   #5
448B   JSR   random_0_A            ; input
448B                               ; A: borne supérieure
448B                               ; output
448B                               ; A: un nombre aléatoire [0; A[
448B                               ;
448B                               ; calcul un nombre aléatoire entre 0 et A
448E   SEC
448F   SBC   #2
4491   LDY   byte_8B
4493   INY
4494   CLC
4495   ADC   riverStoreX,Y
4498   CMP   #119
449A   BCS   loc_449E
449C   LDA   #119
449E
449E loc_449E:                     ; ...
449E   CMP   #130
44A0   BCC   loc_44A4
44A2   LDA   #129
44A4
44A4 loc_44A4:                     ; ...
44A4   DEY
44A5   STA   riverStoreX,Y
44A8   DEC   byte_8B
44AA   LDA   byte_8B
44AC   CMP   #12
44AE   BCS   loc_4489
44B0   LDA   riverStoreX
44B3   STA   oldRiverStoreX
44B6   LDA   mountainsX
44B9   STA   oldMountainX
44BC   LDX   #44
44BE
44BE loc_44BE:                     ; ...
44BE   LDA   #2                    ; // initialisation de MAP
44C0   STA   expsPlotsCapacity,X   ; MAP_FOOD [X] = 2
44C3   LDA   #3
44C5   STA   expsPlotsCapacity+$2D,X ; MAP_ENERGY [X] = 3
44C8   LDA   #128
44CA   STA   plotsKnownCrystite,X  ; MAP_TEMP2 [X] = 128
44CD   CPX   #4                    ; // eviter si riviere ou cité
44CF   BEQ   loc_44E1
44D1   CPX   #13
44D3   BEQ   loc_44E1
44D5   CPX   #31
44D7   BEQ   loc_44E1
44D9   CPX   #22
44DB   BEQ   loc_44E1
44DD   CPX   #40
44DF   BNE   loc_44F2
44E1
44E1 loc_44E1:                     ; ...
44E1   INC   expsPlotsCapacity,X   ; // riviere
44E4   INC   expsPlotsCapacity,X   ; // +2F
44E7   DEC   expsPlotsCapacity+$2D,X ; // -1E
44EA   LDA   #-1
44EC   STA   expsPlotsCapacity+$5A,X ; // SMITH impossible
44EF   STA   expsPlotsCapacity+$87,X ; // CRYST impossible
44F2
44F2 loc_44F2:                     ; ...
44F2   LDA   plotsTemp,X           ; // si montagne != 0
44F5   TAY
44F6   BEQ   loc_4500
44F8   LDA   #1
44FA   STA   expsPlotsCapacity,X   ; // FOOD = 1
44FD   STA   expsPlotsCapacity+$2D,X ; // ENERGY = 1
4500
4500 loc_4500:                     ; ...
4500   TYA                         ; // si montagne == 0
4501   STA   expsPlotsCapacity+$5A,X
4504   INC   expsPlotsCapacity+$5A,X ; // SMITH = montagne + 1
4507   DEX
4508   BPL   loc_44BE              ; // fin initialisation
450A   LDA   #0
450C   STA   nbPaddles             ; byte_BB = 0
450E   LDA   #-1
4510   STA   maxIndexCpu           ; byte_D2 = -1
4512   LDX   #3
4514
4514 loc_4514:                     ; ...
4514   LDA   playersAi,X           ; // pour chaque joueur
4517   BPL   loc_451B
4519   INC   maxIndexCpu           ; // si cpu
4519                               ; byte_D2 ++
451B
451B loc_451B:                     ; ...
451B   CMP   #8
451D   BCS   loc_4521
451F   INC   nbPaddles             ; // si human
451F                               ; byte_BB ++
4521
4521 loc_4521:                     ; ...
4521   DEX
4522   BPL   loc_4514              ; // fin chaque joueur
4524   LDA   startingLevel
4527   BMI   loc_452D
4529   STA   level
452B   BPL   loc_4536
452D
452D loc_452D:                     ; ...
452D   AND   #00001111b            ; // si restart, choisir le niveau
452F   STA   level
4531   JSR   sub_2F30
4534   LDA   level
4536
4536 loc_4536:                     ; ...
4536   ORA   #10000000b
4538   STA   startingLevel
453B   LDA   initialFoodPrice      ; // prix initial
453E   STA   goodsPrice
4541   LDA   initialEnergyPrice
4544   STA   goodsPrice+2
4547   LDA   initialMulePrice
454A   STA   goodsPrice+8
454D   LDA   #50
454F   STA   goodsPrice+4
4552   LDA   #4                    ; // initialisation des joueurs
4552                               ; // 4 Food
4554   STA   goodsPlayersNb
4557   STA   goodsPlayersNb+1
455A   STA   goodsPlayersNb+2
455D   STA   goodsPlayersNb+3
4560   LDA   #2                    ; // 2 Energy
4562   STA   goodsPlayersNb+4
4565   STA   goodsPlayersNb+5
4568   STA   goodsPlayersNb+6
456B   STA   goodsPlayersNb+7
456E   LDA   #3                    ; // CASH $3E8 = 1000
4570   STA   playersCash+1
4573   STA   playersCash+3
4576   STA   playersCash+5
4579   STA   playersCash+7
457C   LDA   #$E8
457E   STA   playersCash
4581   STA   playersCash+2
4584   STA   playersCash+4
4587   STA   playersCash+6
458A   LDA   #8                    ; // initialisation des stocks
458C   STA   goodsStoreNb
458F   STA   goodsStoreNb+1
4592   STA   goodsStoreNb+2
4595   LDA   #14                   ; // init nb de mules
4597   STA   goodsStoreNb+4
459A   LDA   #3
459C   STA   foodReq
459F   LDA   #25
45A1   LDX   #1
45A3
45A3 loc_45A3:                     ; ...
45A3   STA   outfitsPriceL,X       ; // init des 5 prix des outfits
45A6   CLC
45A7   ADC   #25
45A9   INX
45AA   CPX   #5
45AC   BCC   loc_45A3              ; // fin init des 5 prix des outfits
45AE   LDA   #100                  ; // prix des mules
45B0   STA   mulePriceL
45B3   LDX   #7
45B5
45B5 loc_45B5:                     ; ...
45B5   LDA   roundEventsProbInit,X ; // copie des chances qu'un evenement arrive
45B8   STA   roundEventsProb,X
45BB   DEX
45BC   BPL   loc_45B5
45BE   LDY   level
45C0   LDA   levelsCursorWait,Y
45C3   STA   cursorWait            ; // vitesse du curseur
45C6   LDA   levelsAuctionTimeWait,Y
45C9   STA   levelAuctionTimeWait
45CC   LDA   #7
45CE   STA   playersTurnTimeWait
45D1   STA   playersTurnTimeWait+1
45D4   STA   playersTurnTimeWait+2
45D7   STA   playersTurnTimeWait+3
45DA   LDA   #12
45DC   STA   nbRounds              ; // 12 rounds
45DF   LDA   #0
45E1   STA   loc_10E2+1
45E4   LDA   #32
45E6   STA   loc_10E9+1
45E9   LDA   #24
45EB   STA   byte_5B
45ED   LDA   #10
45EF   STA   byte_52
45F1   LDA   #0
45F3   STA   byte_55
45F5   STA   byte_BA
45F7   STA   byte_90
45F9   LDA   #2
45FB   JSR   sub_10BC
45FE   LDX   #0
4600
4600 loc_4600:                     ; ...
4600   LDA   byte_4724,X
4603   BNE   loc_460B
4605   JSR   sub_100F
4608   JMP   loc_460E
460B ; ---------------------------------------------------------------------------
460B
460B loc_460B:                     ; ...
460B   JSR   sub_1100
460E
460E loc_460E:                     ; ...
460E   INX
460F   CPX   #30
4611   BCC   loc_4600
4613   LDA   #15
4615   STA   byte_52
4617   LDA   #9
4619   JSR   sub_10BC
461C   LDA   #0
461E   STA   byte_55
4620   LDX   #0
4622
4622 loc_4622:                     ; ...
4622   LDA   byte_4743,X
4625   BNE   loc_462D
4627   JSR   sub_100F
462A   JMP   loc_4630
462D ; ---------------------------------------------------------------------------
462D
462D loc_462D:                     ; ...
462D   JSR   sub_1100
4630
4630 loc_4630:                     ; ...
4630   INX
4631   CPX   #15
4633   BCC   loc_4622
4635   LDA   #4
4637   STA   byte_1E0A
463A   LDA   #6
463C   STA   byte_1E32
463F   LDA   #5
4641   STA   byte_1E37
4644   LDA   level
4646   CMP   #2
4648   BNE   loc_464D
464A   JMP   loc_46C2              ; // si niveau != Tournament
464D ; ---------------------------------------------------------------------------
464D
464D loc_464D:                     ; ...
464D   CMP   #0
464F   BNE   loc_4672
4651   LDX   #3                    ; // si niveau == Beginner
4653
4653 loc_4653:                     ; ...
4653   INC   playersTurnTimeWait,X ; ??
4656   INC   playersTurnTimeWait,X
4659   DEX
465A   BPL   loc_4653
465C   LDA   #6
465E   STA   nbRounds              ; // 6 rounds
4661   ASL   goodsStoreNb          ; // doubler les stocks de food
4661                               ; // d'energie et de byte_B327
4664   ASL   goodsStoreNb+1
4667   ASL   levelAuctionTimeWait
466A   LDX   #7
466C
466C loc_466C:                     ; ...
466C   ASL   goodsPlayersNb,X      ; // doubler le nombre initial
466C                               ; // de food et d'energie
466C                               ; // pour chaque joueur
466F   DEX
4670   BPL   loc_466C
4672
4672 loc_4672:                     ; ...
4672   LDA   #10                   ; // fin si niveau 0 (BEGINNER)
4674   STA   byte_52
4676   LDA   #0
4678   STA   byte_55
467A   STA   byte_90
467C   LDA   #2
467E   JSR   sub_10BC
4681   LDX   #3
4683
4683 loc_4683:                     ; ...
4683   LDA   #7
4685   JSR   sub_4715
4688   DEX
4689   BNE   loc_4683
468B   LDA   #9
468D   JSR   sub_10BC
4690   LDX   #6
4692
4692 loc_4692:                     ; ...
4692   LDA   #4
4694   JSR   sub_4715
4697   DEX
4698   BNE   loc_4692
469A   LDA   level
469C   BNE   loc_46BA              ; if (level == Beginner) {
469E   LDA   #0
46A0   STA   byte_1E37
46A3   LDA   #15
46A5   STA   byte_52
46A7   LDA   #9
46A9   JSR   sub_10BC
46AC   LDA   #0
46AE   STA   byte_55
46B0   LDX   #5
46B2
46B2 loc_46B2:                     ; ...
46B2   LDA   #4
46B4   JSR   sub_4715
46B7   DEX
46B8   BNE   loc_46B2              ; }
46BA
46BA loc_46BA:                     ; ...
46BA   LDA   #0
46BC   STA   byte_1E0A
46BF   STA   byte_1E32
46C2
46C2 loc_46C2:                     ; ...
46C2   LDA   #1                    ; // fin si level != Tournament
46C4   STA   byte_BA
46C6   JSR   sub_4992
46C9   LDX   #3
46CB
46CB loc_46CB:                     ; ...
46CB   TXA                         ; // Initialisation des particularités des races et IA
46CC   ASL   A
46CD   TAY
46CE   LDA   playersRace,X
46D1   CMP   #7                    ; // Si race Human
46D3   BNE   loc_46E8
46D5   LDA   #$58
46D7   STA   playersCash,Y
46DA   LDA   #2
46DC   STA   playersCash+1,Y       ; // Cash $258 = 600
46DF   DEC   playersTurnTimeWait,X
46E2   DEC   playersTurnTimeWait,X
46E5   JMP   loc_46FC
46E8 ; ---------------------------------------------------------------------------
46E8
46E8 loc_46E8:                     ; ...
46E8   CMP   #5                    ; // Si Flapper
46EA   BNE   loc_46FC
46EC   LDA   #$40
46EE   STA   playersCash,Y
46F1   LDA   #6
46F3   STA   playersCash+1,Y       ; // Cash $640 = 1600
46F6   INC   playersTurnTimeWait,X
46F9   INC   playersTurnTimeWait,X
46FC
46FC loc_46FC:                     ; ...
46FC   LDA   level                 ; // si niveau tournament
46FE   CMP   #2
4700   BNE   loc_4711
4702   LDA   playersAi,X
4705   BPL   loc_4711              ; // Si IA = CPU
4707   LDA   #$B0
4709   STA   playersCash,Y
470C   LDA   #4
470E   STA   playersCash+1,Y       ; // Cash $4B0 = 1200
4711
4711 loc_4711:                     ; ...
4711   DEX
4712   BPL   loc_46CB
4714   RTS
4714 ; End of function initGame
4714
4715
4715 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4715
4715
4715 sub_4715:                     ; ...
4715   JSR   decodeCharToMessage   ; A
4718   JSR   decodeCharToMessage   ; A
471B   JMP   sub_100F
471B ; End of function sub_4715
471B
471B ; ---------------------------------------------------------------------------
471E levelsAuctionTimeWait:.BYTE 50, 30, 25 ; ...
471E                               ; // latence pour chaque pixel du temps
471E                               ; // en dehors de celui du tour (food):
471E                               ; // choix enchère bien, enchère bien ou terre
471E                               ; // [+0] 50 si beginner
471E                               ; // [+1] 30 si standard
471E                               ; // [+2] 25 si tournament
4721 levelsCursorWait:.BYTE 8, 4, 3 ; ...
4721                               ; levelsCursorWait [LEVELS] Byte ($4721)
4721                               ; Latencies times of the cursor according to the level.
4721                               ;
4721                               ; LEVELS Cursor wait
4721                               ; BEGINNER (+0) 8
4721                               ; STANDARD (+1) 4
4721                               ; TOURNAMENT (+2) 3
4724 byte_4724:.BYTE $E4, $EA, 0, $EB, $EC, 0, 8, 9, 0, 0, 0, 0, 0, $42, $43, 0, $E6 ; ...
4724   .BYTE $F4, 0, $F9, $FA, 0, $F9, $FA, 0, $E6, $F4, 0, $F3, $8B
4742   .BYTE   0
4743 byte_4743:.BYTE $42, $43, 0, $E5, $F2, 0, $E6, $F4, 0, $F1, $F6, 0, $F7, $F8, 0 ; ...
4752
4752 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4752
4752
4752 start:                        ; ...
4752   LDX   #-1
4754   TXS
4755   JSR   initGame
4758   JSR   drawMap
475B   JSR   prepareStaticMessage
475E   LDA   #$9A                  ; // _YOU'RE_LANDING_ON
475E                               ; // _THE_PLANET_IRATA.
4760   LDY   #$3F
4762   JSR   addMessage            ; // _YOU'RE_LANDING_ON
4762                               ; // _THE_PLANET_IRATA.
4765   JSR   animTransportShipLand
4768   JSR   calcAndDrawScore
476B   JSR   drawMap
476E   JSR   prepareStaticMessage
4771   LDA   #$D1                  ; // __THE_SHIP_WILL_BE
4771                               ; // _BACK_IN_
4773   LDY   #$3F
4775   JSR   addMessage            ; // __THE_SHIP_WILL_BE
4775                               ; // _BACK_IN_
4778   LDX   nbRounds
477B   LDA   #0
477D   JSR   decodeNumberToMessage ; nbRounds
4780   LDA   #$ED                  ; // _MONTHS.
4782   LDY   #$3F
4784   JSR   addMessage            ; // _MONTHS.
4787   JSR   anipTransportShipTakeOff
4787 ; End of function start
4787
478A
478A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
478A
478A
478A round:                        ; ...
478A   INC   numRound              ; do {
478A                               ;   numRound ++
478C   JSR   expandKnownCrystite   ; input
478C                               ; MAP_TEMP2
478C                               ; output
478C                               ; MAP_TEMP2
478F   JSR   randomFreePlot        ; input
478F                               ;
478F                               ; output
478F                               ; A, byte_CB: indice d'une case libre tirée au hasard
478F                               ;          -1 aucune de libre
478F                               ; X: nombre de case libre
478F                               ;
478F                               ; Rempli le tableau MAP_TEMP des indices des cases
478F                               ; libres et renvoie une case au hasard
4792   BMI   loc_4797              ; if (nb_cases_libres > 0) {
4794   JSR   grantLand             ;   grantAndSelectLand ()
4794                               ; }
4797
4797 loc_4797:                     ; ...
4797   JSR   landsAuctionByPlayers
479A   LDY   level
479C   BEQ   landAuctionEnded      ; if (GAME_LEVEL == 0) {
479C                               ;   goto landAuctionEnded
479C                               ; }
479E   JSR   randomFreePlot        ; input
479E                               ;
479E                               ; output
479E                               ; A, byte_CB: indice d'une case libre tirée au hasard
479E                               ;          -1 aucune de libre
479E                               ; X: nombre de case libre
479E                               ;
479E                               ; Rempli le tableau MAP_TEMP des indices des cases
479E                               ; libres et renvoie une case au hasard
47A1   STX   byte_CB               ; byte_CB = X // nb de cases libres
47A3   BPL   loc_47B8              ; if (nb_cases_libres == 0) {
47A5
47A5 NoLandsAuction:               ; ...
47A5   JSR   drawMap
47A8   JSR   prepareStaticMessage
47AB   LDA   #$37                  ;   // ____NO_NEW_PLOTS
47AB                               ;   // _____FOR_SALE.
47AD   LDY   #$3F
47AF   JSR   addMessage            ;   // ____NO_NEW_PLOTS
47AF                               ;   // _____FOR_SALE.
47B2   JSR   waitJiffyLevel
47B5   JMP   landAuctionEnded      ;   goto landAuctionEnded
47B5                               ; }
47B8 ; ---------------------------------------------------------------------------
47B8
47B8 loc_47B8:                     ; ...
47B8   LDY   level                 ; Y = level
47BA   LDA   #1                    ; A = 1
47BC   JSR   calcBinomial          ; input
47BC                               ; A: value
47BC                               ; Y: fluctuation
47BC                               ;
47BC                               ; output
47BC                               ; A, byte_81: partie entiere signée de la variation
47BC                               ; byte_80: partie numérique
47BC                               ;
47BC                               ; Si Y=0 alors pas de variation
47BC                               ; Si Y=1 alors
47BC                               ;   A = A + int ( 1/2 * binomial [-6.0; 6.0] )
47BC                               ; Si Y>=2 alors
47BC                               ;   A = A + int ( (Y-1) * binomial [-6.0; 6.0] )
47BC                               ;
47BC                               ; Utilisée pour:
47BC                               ; - prix du smithore
47BC                               ; - production
47BC                               ; - nb de terres à vendre
47BC                               ;
47BC                               ; Répartition:
47BC                               ; -4:  0.013%
47BC                               ; -3:  0.562%
47BC                               ; -2:  6.248%
47BC                               ; -1: 24.303%
47BC                               ;  0: 37.748%
47BC                               ;  1: 24.303%
47BC                               ;  2:  6.248%
47BC                               ;  3:  0.562%
47BC                               ;  4:  0.013%
47BF   TAY
47C0   BMI   NoLandsAuction
47C2   BEQ   NoLandsAuction        ; // random:
47C2                               ; // si STANDARD,   A=random [-3; 3]+1 3/7  non
47C2                               ; // si TOURNAMENT, A=random [-6; 6]+1 6/13 non
47C2                               ; int nbLandsToSell = random
47C2                               ; if (nbLandsToSell <= 0) {
47C2                               ;   goto (NoLandsAuction)
47C2                               ; }
47C4   CMP   byte_CB
47C6   BCC   loc_47CA              ; // limiter le nb de terre à vendre /r au nb de terre libre
47C6                               ; if (nbLandsToSell >= nbFreePlots) {
47C8   LDA   byte_CB               ;   nbLandsToSell = nbFreePlots
47C8                               ; }
47CA
47CA loc_47CA:                     ; ...
47CA   STA   byte_91               ; byte_91 = nbLandsToSell
47CC   JSR   landsAuction          ; byte_91: nb de terre à vendre
47CF
47CF landAuctionEnded:             ; ...
47CF   JSR   drawMap
47D2   LDA   level
47D4   BNE   loc_47E0              ; if (level == Beginner) {
47D6   LDA   #0
47D8   STA   goodsStoreNb+2        ;   goodsStoreNb [Smithore] = 0
47DB   LDA   #25
47DD   STA   goodsStoreNb+4        ;   goodsStoreNb [Mule] = 25
47DD                               ; }
47E0
47E0 loc_47E0:                     ; ...
47E0   JSR   playersTurn
47E3   JSR   drawMap
47E6   JSR   calcPlotsProdWithMissingEnergyMalus ; // production
47E9   LDA   numRound
47EB   CMP   nbRounds
47EE   BCC   loc_4800              ; if (numRound >= nbRounds) {
47F0   JSR   prepareStaticMessage
47F3   LDA   #$BF                  ;   // _THE_SHIP_IS_BACK!
47F5   LDY   #$3F
47F7   JSR   addMessage            ;   // _THE_SHIP_IS_BACK!
47FA   JSR   animTransportShipLand
47FD   JMP   loc_4803              ; }
47FD                               ; else {
4800 ; ---------------------------------------------------------------------------
4800
4800 loc_4800:                     ; ...
4800   JSR   roundEvent            ; }
4803
4803 loc_4803:                     ; ...
4803   JSR   printAndWaitPlayersButtons
4806   JSR   initVarsFromMaps      ; Initialise les variables suivantes à partir de la carte:
4806                               ; expsPlayersNb    [Exps]  [Players]
4806                               ; goodsPlayersProd [Goods] [Players]
4806                               ; playersNbLands
4806                               ; playersNbExps
4806                               ;
4806                               ; Met à jour:
4806                               ; plotsKnownCrystite [plot]
4809   JSR   prepareStaticMessage
480C   JSR   sub_1068
480F   JSR   calcGoodsPriceFromNow ; input
480F                               ; output
4812   LDA   #254
4814   JSR   wait2
4817   LDA   #2
4819   STA   byte_91               ; byte_91 = Smithore
481B   JSR   goodAuction           ; byte_91: good auction (good à acheter/vendre)
481B                               ; 2 Smithore
481B                               ; 3 Crystite
481B                               ; 0 Food
481B                               ; 1 Energy
481E   INC   byte_91               ; byte_91 = Crystite
4820   JSR   goodAuction           ; byte_91: good auction (good à acheter/vendre)
4820                               ; 2 Smithore
4820                               ; 3 Crystite
4820                               ; 0 Food
4820                               ; 1 Energy
4823   LDA   #0
4825   STA   goodsStoreNb+3        ; goodsStockNb [Crystite] = 0
4828   STA   byte_91               ; byte_91 = Food
482A   JSR   goodAuction           ; byte_91: good auction (good à acheter/vendre)
482A                               ; 2 Smithore
482A                               ; 3 Crystite
482A                               ; 0 Food
482A                               ; 1 Energy
482D   INC   byte_91               ; byte_91 = Energy
482F   JSR   goodAuction           ; byte_91: good auction (good à acheter/vendre)
482F                               ; 2 Smithore
482F                               ; 3 Crystite
482F                               ; 0 Food
482F                               ; 1 Energy
4832   LDY   level
4834   LDA   levelsAuctionTimeWait,Y
4837   STA   levelAuctionTimeWait  ; // latence réinitialisé (bonus niveau Beginner annulé)
483A   LDA   #2
483C   JSR   wait2
483F   JSR   buildAndCalcPriceMule
4842   JSR   calcAndDrawScore
4845   LDA   numRound
4847   CMP   nbRounds
484A   BCS   loc_484F
484C   JMP   round                 ; } while (numRound != nbRounds)
484F ; ---------------------------------------------------------------------------
484F
484F loc_484F:                     ; ...
484F   LDA   maxIndexCpu
4851   CMP   #3
4853   BNE   loc_4858
4855   JMP   (word_A)              ; // start
4858 ; ---------------------------------------------------------------------------
4858
4858 loc_4858:                     ; ...
4858   JSR   drawMap
485B   JSR   prepareStaticMessage
485E   JSR   waitJiffyLevel
4861   LDA   #$F5                  ; // _PRESS_ALL_PLAYER
4861                               ; // _BUTTONS_TO_GO_ON.
4863   LDY   #$3A
4865   JSR   addMessage            ; Y/A: High/Low address
4868   JSR   initPlayersButtons
486B
486B loc_486B:                     ; ...
486B   JSR   waitPlayersButtons
486E   LDA   byte_95
4870   CMP   #4
4872   BCC   loc_486B
4874   JSR   drawScore
4877   JMP   loc_484F
4877 ; End of function round
4877
487A
487A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
487A
487A
487A wait2:                        ; ...
487A   STA   byte_80
487C   LDX   #3
487E
487E loc_487E:                     ; ...
487E   LDA   unk_934,X
4881   CLC
4882   ADC   byte_80
4884   STA   unk_934,X
4887   DEX
4888   BPL   loc_487E
488A   RTS
488A ; End of function wait2
488A
488B
488B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
488B
488B
488B sub_488B:                     ; ...
488B   JSR   plotIndexToCoord      ; input
488B                               ; A: plot
488B                               ;
488B                               ; output
488B                               ; X: ligne
488B                               ; A: colonne
488E   ASL   A
488F   ADC   #1
4891   STA   byte_55
4893   TXA
4894   ASL   A
4895   ASL   A
4896   ADC   #2
4898   JMP   sub_10BC
4898 ; End of function sub_488B
4898
489B
489B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
489B
489B ; input
489B ; A: plot
489B ;
489B ; output
489B ; X: ligne
489B ; A: colonne
489B
489B plotIndexToCoord:             ; ...
489B   SEC
489C   LDX   #-1                   ; X = -1
489E
489E loc_489E:                     ; ...
489E   INX                         ; do {
489E                               ;   X ++
489F   SBC   #9                    ;   A -= 9
48A1   BCS   loc_489E              ; } while (A >= 0)
48A3   ADC   #9                    ; A += 9
48A5   RTS
48A5 ; End of function plotIndexToCoord
48A5
48A6
48A6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
48A6
48A6
48A6 sub_48A6:                     ; ...
48A6   JSR   sub_488B
48A9   LDA   byte_54
48AB   SEC
48AC   SBC   #2
48AE   ASL   A
48AF   ASL   A
48B0   ASL   A
48B1   ADC   #44
48B3   TAY
48B4   LDA   byte_55
48B6   ASL   A
48B7   ASL   A
48B8   ASL   A
48B9   ADC   #48
48BB   TAX
48BC   RTS
48BC ; End of function sub_48A6
48BC
48BD
48BD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
48BD
48BD ; input
48BD ; X: abscisse du pixel
48BD ; Y: ordonnée du pixel
48BD ; output
48BD ; A, X: index de la carte
48BD
48BD pixelToPlot:                  ; ...
48BD   TXA                         ; A = X
48BE   JSR   A_56_16               ; input
48BE                               ; A
48BE                               ; output
48BE                               ; A: (A-56) / 16
48C1   TAX                         ; X = A
48C2   TYA                         ; A = Y
48C3   JSR   A_44_32               ; input
48C3                               ; A
48C3                               ; output
48C3                               ; A: (A-44) / 32
48C6   JMP   plotCoordToIndex      ; A: (Y-44) / 32 (ligne)
48C6 ; End of function pixelToPlot ; X: (X-56) / 16 (colonne)
48C6
48C9
48C9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
48C9
48C9 ; input
48C9 ; MAP_TEMP
48C9 ; output
48C9 ; MAP_TEMP3
48C9 ;
48C9 ; Etend les crystaux posés dans MAP_TEMP en étoile. Résultat dans MAP_TEMP3
48C9
48C9 expandCrystite:               ; ...
48C9   LDA   #0                    ; byte_8C = 0
48CB   STA   byte_8C
48CD
48CD loc_48CD:                     ; ...
48CD   LDA   #0                    ; do {
48CF   STA   byte_8B               ;   off_8B = 0
48D1
48D1 loc_48D1:                     ; ...
48D1   LDA   byte_8C               ;   do {
48D1                               ;     A = byte_8C // ligne
48D3   LDX   byte_8B               ;     X = off_8B  // colonne
48D5   JSR   plotCoordToIndex      ; input
48D5                               ; A: ligne   [0;4]
48D5                               ; X: colonne [0;8]
48D5                               ; output
48D5                               ; A, X: l'index à la ligne A, colonne X de la carte
48D5                               ;
48D5                               ; A, X = A*9 + X
48D8   LDA   plotsTemp,X           ;     A = MAP_TEMP [X]
48DB   BNE   loc_48E0              ;     if (A != 0) {
48DD   JMP   loc_496F
48E0 ; ---------------------------------------------------------------------------
48E0
48E0 loc_48E0:                     ; ...
48E0   STA   byte_8A               ;       byte_8A = A // MAP_TEMP [X]
48E2   DEC   byte_8A               ;       byte_8A --
48E4   LDA   byte_8B
48E6   SEC
48E7   SBC   byte_8A               ;       A = off_8B - byte_8A
48E9   BPL   loc_48ED              ;       if (A < 0) {
48EB   LDA   #0                    ;         A = 0
48EB                               ;       }
48ED
48ED loc_48ED:                     ; ...
48ED   STA   byte_82               ;       byte_82 = A // gauche
48EF   LDA   byte_8B
48F1   CLC
48F2   ADC   byte_8A               ;       A = off_8B + byte_8A
48F4   CMP   #8
48F6   BCC   loc_48FA              ;       if (A >= 8) {
48F8   LDA   #8                    ;         A = 8
48F8                               ;       }
48FA
48FA loc_48FA:                     ; ...
48FA   STA   byte_83               ;       byte_83 = A // droite
48FC   LDA   byte_8C
48FE   SEC
48FF   SBC   byte_8A               ;       A = byte_8C - byte_8A
4901   BPL   loc_4905              ;       if (A < 0) {
4903   LDA   #0                    ;         A = 0
4903                               ;       }
4905
4905 loc_4905:                     ; ...
4905   STA   byte_84               ;       byte_84 = A // haut
4907   LDA   byte_8C
4909   CLC
490A   ADC   byte_8A               ;       A = byte_8C + byte_8A
490C   CMP   #4
490E   BCC   loc_4912              ;       if (A >= 4) {
4910   LDA   #4                    ;         A = 4
4910                               ;       }
4912
4912 loc_4912:                     ; ...
4912   STA   byte_9B               ;       byte_9B = A // bas
4914   LDA   byte_82               ;       A = byte_82
4916   STA   byte_8E               ;       off_8E = A // gauche
4918   INC   byte_8A               ;       byte_8A ++
491A
491A loc_491A:                     ; ...
491A   LDA   byte_84               ;       do {
491A                               ;         A = byte_84
491C   STA   byte_8F               ;         off_8F = A // haut
491E
491E loc_491E:                     ; ...
491E   LDA   byte_8B               ;         do {
4920   SEC
4921   SBC   byte_8E               ;           A = off_8B - off_8E
4923   BPL   loc_492A              ;           if (A < 0) {
4925   EOR   #11111111b
4927   CLC
4928   ADC   #1                    ;             A = abs (A)
4928                               ;           }
492A
492A loc_492A:                     ; ...
492A   STA   byte_88               ;           byte_88 = A // distance horizontale
492C   LDA   byte_8C
492E   SEC
492F   SBC   byte_8F               ;           A = byte_8C - off_8F
4931   BPL   loc_4938              ;           if (A < 0) {
4933   EOR   #11111111b
4935   CLC
4936   ADC   #1                    ;             A = abs (A)
4936                               ;           }
4938
4938 loc_4938:                     ; ...
4938   CLC
4939   ADC   byte_88               ;           A += byte_88 // distance horizontale + verticale
493B   STA   byte_88               ;           byte_88 = A
493D
493D loc_493D:                     ; ...
493D   LDA   byte_8A
493F   SEC
4940   SBC   byte_88               ;           A = byte_8A - byte_88 // MAP_TEMP - distance
4942   STA   byte_88               ;           byte_88 = A
4944   BMI   loc_495F
4946   BEQ   loc_495F              ;           if (A > 0) {
4948   LDA   byte_8F               ;             A = off_8F
494A   LDX   byte_8E               ;             X = off_8E
494C   JSR   plotCoordToIndex      ; input
494C                               ; A: ligne   [0;4]
494C                               ; X: colonne [0;8]
494C                               ; output
494C                               ; A, X: l'index à la ligne A, colonne X de la carte
494C                               ;
494C                               ; A, X = A*9 + X
494F   LDA   plotsTemp3,X          ;             A = MAP_TEMP3 [X]
4952   AND   #1111b                ;             A = A mod 16
4954   CMP   byte_88
4956   BEQ   loc_495A
4958   BCS   loc_495F              ;             if (A <= byte_88) { // max A et de MAP_TEMP3
495A
495A loc_495A:                     ; ...
495A   LDA   byte_88               ;               A = byte_88
495C   STA   plotsTemp3,X          ;               MAP_TEMP3 [X] = A
495C                               ;             }
495C                               ;           }
495F
495F loc_495F:                     ; ...
495F   INC   byte_8F               ;           off_8F ++
4961   LDA   byte_9B
4963   CMP   byte_8F
4965   BCS   loc_491E              ;         } while (byte_9B >= off_8F)
4967   INC   byte_8E               ;         off_8E ++
4969   LDA   byte_83
496B   CMP   byte_8E
496D   BCS   loc_491A              ;       } while (byte_83 >= off_8E)
496F
496F loc_496F:                     ; ...
496F   INC   byte_8B               ;     } // fin if (A != 0)
496F                               ;     off_8B ++
4971   LDA   #8
4973   CMP   byte_8B
4975   BCC   loc_497A
4977   JMP   loc_48D1              ;   } while (off_8B <= 8)
497A ; ---------------------------------------------------------------------------
497A
497A loc_497A:                     ; ...
497A   INC   byte_8C               ;   byte_8C ++
497C   LDA   #4
497E   CMP   byte_8C
4980   BCC   locret_4985
4982   JMP   loc_48CD              ; } while (byte_8C <= 4)
4985 ; ---------------------------------------------------------------------------
4985
4985 locret_4985:                  ; ...
4985   RTS                         ; return
4985 ; End of function expandCrystite
4985
4986
4986 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4986
4986
4986 decodeCharToMessage2:         ; ...
4986   JSR   decodeCharToMessage   ; A
4989   JMP   sub_12F0
4989 ; End of function decodeCharToMessage2
4989
498C
498C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
498C
498C
498C decodeCharToMessage3:         ; ...
498C   JSR   decodeCharToMessage   ; A
498F   JMP   sub_1300
498F ; End of function decodeCharToMessage3
498F
4992
4992 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4992
4992
4992 sub_4992:                     ; ...
4992   LDA   #0
4994   STA   loc_10E2+1
4997   LDA   #$B5                  ; // display list titre en haut
4999   STA   loc_10E9+1
499C   JSR   sub_110B
499F   JMP   sub_1068
499F ; End of function sub_4992
499F
49A2
49A2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
49A2
49A2
49A2 sub_49A2:                     ; ...
49A2   LDY   #0
49A4
49A4 loc_49A4:                     ; ...
49A4   STA   unk_B6E0,Y
49A7   INY
49A8   BNE   loc_49A4
49AA   RTS
49AA ; End of function sub_49A2
49AA
49AB
49AB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
49AB
49AB ; input
49AB ; X: plot
49AB
49AB drawCell:                     ; ...
49AB   LDA   plotsPlayer,X
49AE   BPL   loc_49B1              ; if (MAP_PLAYERS [X] < 0) {
49B0   RTS                         ;   return
49B0                               ; }
49B1 ; ---------------------------------------------------------------------------
49B1
49B1 loc_49B1:                     ; ...
49B1   STA   byte_90               ; byte_90 = MAP_PLAYERS [X]
49B3   STX   byte_83               ; byte_83 = X
49B5   STY   byte_82               ; byte_82 = Y
49B7   TXA                         ; A = X
49B8   JSR   sub_488B
49BB   LDA   #$BD
49BD   JSR   decodeCharToMessage2
49C0   LDA   #$BE
49C2   JSR   decodeCharToMessage2
49C5   LDA   #$BE
49C7   JSR   decodeCharToMessage2
49CA   LDA   #$BF
49CC   JSR   decodeCharToMessage   ; A
49CF   LDX   byte_83               ; X = byte_83
49D1   LDA   plotsExp,X            ; A = MAP_TYPE [X]
49D4   PHA
49D5   BEQ   loc_49F1              ; if (MAP_TYPE [X] != 0) {
49D7   BIT   byte_82
49D9   BPL   loc_49E3
49DB   LDY   level
49DD   BEQ   loc_49E3
49DF   LDA   #0
49E1   BEQ   loc_49F1              ;   if ( (byte_83 >= byte_82) ||
49E1                               ;        (byte_B0 == 0) ) {
49E3
49E3 loc_49E3:                     ; ...
49E3   TAY
49E4   DEY
49E5   LDA   #45
49E7   JSR   mul8BitsBy8Bits       ; input
49E7                               ; A: left operand
49E7                               ; Y: right operand
49E7                               ; output
49E7                               ; Y/A, byte_81/byte_82: A * Y
49EA   CLC
49EB   ADC   byte_83
49ED   TAY
49EE   LDA   expsPlotsCapacity,Y   ; }
49F1
49F1 loc_49F1:                     ; ...
49F1   CLC
49F2   ADC   #$C2
49F4   JSR   decodeCharToMessage3
49F7   PLA
49F8   TAY
49F9   CLC
49FA   ADC   #$B7
49FC   JSR   decodeCharToMessage3
49FF   TYA
4A00   CLC
4A01   ADC   #$B1
4A03   JSR   decodeCharToMessage3
4A06   LDA   #$C0
4A08   JMP   decodeCharToMessage   ; A
4A08 ; End of function drawCell
4A08
4A0B
4A0B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A0B
4A0B
4A0B printTitle:                   ; ...
4A0B   PHA
4A0C   LDA   #0
4A0E   STA   byte_55
4A10   STA   byte_90
4A12   JSR   sub_10BC
4A15   LDA   #$28
4A17   STA   byte_53
4A19   LDA   #$8E
4A1B   JSR   decodeCharToMessage   ; A
4A1E   LDA   #$C
4A20   STA   byte_55
4A22   PLA
4A23   JSR   addMessage            ; // ca ecrit ici dans B50C
4A26   LDA   #$14
4A28   STA   byte_53
4A2A   RTS
4A2A ; End of function printTitle
4A2A
4A2B
4A2B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A2B
4A2B ; input
4A2B ; byte_9E:
4A2B ; X:
4A2B ; 01 __NEED_A_MULE___
4A2B ; 02 NO_MULES_ALLOWED
4A2B ; 03 NOT_ENOUGH_MONEY
4A2B ; 04 _NO_MULES_LEFT__
4A2B ; 05 _MULE_SET_FOR:__
4A2B ; 06 _NOT_YOUR_PLOT__
4A2B ; 07 ALREADY_GOT_MULE
4A2B ; 08 NEED_SOIL_SAMPLE
4A2B ; 09 NO_PLOT_MARKED__
4A2B ; 10 TIME_HAS_RUN_OUT
4A2B ; 11 NO_MULE_STEALING
4A2B ; 12 GO_TO_BLDG_FIRST
4A2B ; 13 MARK_PLOT_TO_SEL L?
4A2B ; 14 GET_SOIL_SAMPLE_
4A2B ; 15 _THEN_COME_BACK.
4A2B ; 16 MARKED_FOR_SALE.
4A2B ; 17 SAMPLE_READY_TO_
4A2B ; 18 RETURN_TO_OFFICE
4A2B ; 19 TRANSFERING_MULE
4A2B ; 20 OUTFITTING_MULE_
4A2B ; 21 __GO_TO_JAIL!___
4A2B ; 22 _FOOD_SHORTAGE@_
4A2B ; 23 _DECREASES_TIME.
4A2B ; 24 YOU_OWN_IT_NOW!_
4A2B ; 25 1_PLOT_PER_TRIP_
4A2B ; 26 MULE_INSTALLED._
4A2B
4A2B addStaticTurnMessage2:        ; ...
4A2B   LDA   byte_9E
4A2D   BPL   addStaticMessageTurn  ; input
4A2D                               ; X:
4A2D                               ; 01 __NEED_A_MULE___
4A2D                               ; 02 NO_MULES_ALLOWED
4A2D                               ; 03 NOT_ENOUGH_MONEY
4A2D                               ; 04 _NO_MULES_LEFT__
4A2D                               ; 05 _MULE_SET_FOR:__
4A2D                               ; 06 _NOT_YOUR_PLOT__
4A2D                               ; 07 ALREADY_GOT_MULE
4A2D                               ; 08 NEED_SOIL_SAMPLE
4A2D                               ; 09 NO_PLOT_MARKED__
4A2D                               ; 10 TIME_HAS_RUN_OUT
4A2D                               ; 11 NO_MULE_STEALING
4A2D                               ; 12 GO_TO_BLDG_FIRST
4A2D                               ; 13 MARK_PLOT_TO_SEL L?
4A2D                               ; 14 GET_SOIL_SAMPLE_
4A2D                               ; 15 _THEN_COME_BACK.
4A2D                               ; 16 MARKED_FOR_SALE.
4A2D                               ; 17 SAMPLE_READY_TO_
4A2D                               ; 18 RETURN_TO_OFFICE
4A2D                               ; 19 TRANSFERING_MULE
4A2D                               ; 20 OUTFITTING_MULE_
4A2D                               ; 21 __GO_TO_JAIL!___
4A2D                               ; 22 _FOOD_SHORTAGE@_
4A2D                               ; 23 _DECREASES_TIME.
4A2D                               ; 24 YOU_OWN_IT_NOW!_
4A2D                               ; 25 1_PLOT_PER_TRIP_
4A2D                               ; 26 MULE_INSTALLED._
4A2F   JSR   sub_108D
4A2F ; End of function addStaticTurnMessage2
4A2F
4A32
4A32 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A32
4A32 ; input
4A32 ; X:
4A32 ; 01 __NEED_A_MULE___
4A32 ; 02 NO_MULES_ALLOWED
4A32 ; 03 NOT_ENOUGH_MONEY
4A32 ; 04 _NO_MULES_LEFT__
4A32 ; 05 _MULE_SET_FOR:__
4A32 ; 06 _NOT_YOUR_PLOT__
4A32 ; 07 ALREADY_GOT_MULE
4A32 ; 08 NEED_SOIL_SAMPLE
4A32 ; 09 NO_PLOT_MARKED__
4A32 ; 10 TIME_HAS_RUN_OUT
4A32 ; 11 NO_MULE_STEALING
4A32 ; 12 GO_TO_BLDG_FIRST
4A32 ; 13 MARK_PLOT_TO_SEL L?
4A32 ; 14 GET_SOIL_SAMPLE_
4A32 ; 15 _THEN_COME_BACK.
4A32 ; 16 MARKED_FOR_SALE.
4A32 ; 17 SAMPLE_READY_TO_
4A32 ; 18 RETURN_TO_OFFICE
4A32 ; 19 TRANSFERING_MULE
4A32 ; 20 OUTFITTING_MULE_
4A32 ; 21 __GO_TO_JAIL!___
4A32 ; 22 _FOOD_SHORTAGE@_
4A32 ; 23 _DECREASES_TIME.
4A32 ; 24 YOU_OWN_IT_NOW!_
4A32 ; 25 1_PLOT_PER_TRIP_
4A32 ; 26 MULE_INSTALLED._
4A32
4A32 addStaticMessageTurn:         ; ...
4A32   JSR   prepareStaticMessage
4A32 ; End of function addStaticMessageTurn
4A32
4A35
4A35 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A35
4A35 ; input
4A35 ; X:
4A35 ; 01 __NEED_A_MULE___
4A35 ; 02 NO_MULES_ALLOWED
4A35 ; 03 NOT_ENOUGH_MONEY
4A35 ; 04 _NO_MULES_LEFT__
4A35 ; 05 _MULE_SET_FOR:__
4A35 ; 06 _NOT_YOUR_PLOT__
4A35 ; 07 ALREADY_GOT_MULE
4A35 ; 08 NEED_SOIL_SAMPLE
4A35 ; 09 NO_PLOT_MARKED__
4A35 ; 10 TIME_HAS_RUN_OUT
4A35 ; 11 NO_MULE_STEALING
4A35 ; 12 GO_TO_BLDG_FIRST
4A35 ; 13 MARK_PLOT_TO_SEL L?
4A35 ; 14 GET_SOIL_SAMPLE_
4A35 ; 15 _THEN_COME_BACK.
4A35 ; 16 MARKED_FOR_SALE.
4A35 ; 17 SAMPLE_READY_TO_
4A35 ; 18 RETURN_TO_OFFICE
4A35 ; 19 TRANSFERING_MULE
4A35 ; 20 OUTFITTING_MULE_
4A35 ; 21 __GO_TO_JAIL!___
4A35 ; 22 _FOOD_SHORTAGE@_
4A35 ; 23 _DECREASES_TIME.
4A35 ; 24 YOU_OWN_IT_NOW!_
4A35 ; 25 1_PLOT_PER_TRIP_
4A35 ; 26 MULE_INSTALLED._
4A35
4A35 addMessageTurn:               ; ...
4A35   LDA   #2
4A37   STA   byte_55
4A39   LDA   #$6F                  ; // $3B6F [X] __NEED_A_MULE___
4A3B   LDY   #$3B
4A3D   DEX
4A3E   JMP   addToMessageWithOffset ; Y/A: High/Low address + ($00/X)*$10
4A3E ; End of function addMessageTurn
4A3E
4A41
4A41 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A41
4A41 ; input
4A41 ; A: good
4A41
4A41 addMessageLogoGood:           ; ...
4A41   ASL   A
4A42   ASL   A
4A43   ASL   A
4A44   TAY
4A45   LDX   #0
4A47
4A47 loc_4A47:                     ; ...
4A47   LDA   goodUpChar,Y
4A4A   LSR   A
4A4B   STA   logoUpChar,X
4A4E   LDA   goodDownChar,Y
4A51   LSR   A
4A52   STA   logoDownChar,X
4A55   INY
4A56   INX
4A57   CPX   #8
4A59   BCC   loc_4A47
4A5B   LDA   #$BD
4A5D   JSR   decodeCharToMessage2
4A60   LDA   #$BE
4A62   JMP   decodeCharToMessage   ; A
4A62 ; End of function addMessageLogoGood
4A62
4A65
4A65 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A65
4A65 ; A: nb prod
4A65 ; X: case
4A65
4A65 drawCellProd:                 ; ...
4A65   STA   byte_81
4A67   LDA   plotsPlayer,X
4A6A   STA   byte_90
4A6C   TXA
4A6D   JSR   sub_488B
4A70   LDA   #1
4A72   STA   byte_80
4A74
4A74 loc_4A74:                     ; ...
4A74   ASL   A
4A75   EOR   #$FF
4A77   CLC
4A78   ADC   #1
4A7A   CLC
4A7B   ADC   #8
4A7D   CMP   byte_81
4A7F   BCC   loc_4A89
4A81   LDA   byte_80
4A83   LSR   A
4A84   CLC
4A85   ADC   #$BD
4A87   BNE   loc_4A91
4A89
4A89 loc_4A89:                     ; ...
4A89   LDY   byte_81
4A8B   STA   byte_81
4A8D   TYA
4A8E   CLC
4A8F   ADC   #$C6
4A91
4A91 loc_4A91:                     ; ...
4A91   JSR   decodeCharToMessage2
4A94   INC   byte_80
4A96   LDA   byte_80
4A98   CMP   #5
4A9A   BCC   loc_4A74
4A9C   RTS
4A9C ; End of function drawCellProd
4A9C
4A9D
4A9D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4A9D
4A9D
4A9D animMapProd:                  ; ...
4A9D   LDA   numRound
4A9F   BNE   loc_4AA2              ; if (GAME_NUM_ROUND == 0) {
4A9F                               ;   return
4A9F                               ; }
4AA1   RTS
4AA2 ; ---------------------------------------------------------------------------
4AA2
4AA2 loc_4AA2:                     ; ...
4AA2   LDA   #$4B                  ; // _PRODUCTION
4AA4   LDY   #$3B
4AA6   JSR   printTitle
4AA9   JSR   drawNumRound
4AAC   JSR   sub_1363
4AAF   JSR   wait6
4AB2   LDA   #$C8
4AB4   STA   OS_AUDF1_POT1
4AB7   LDX   #44
4AB9
4AB9 loc_4AB9:                     ; ...
4AB9   LDA   #0                    ; for (X=44; X>=0; X--) {
4ABB   STA   plotsTemp,X           ;   MAP_TEMP [X] = 0
4ABE   DEX
4ABF   BPL   loc_4AB9              ; }
4AC1   STA   byte_89               ; byte_89 = 0
4AC3   STA   byte_8D               ; byte_8D = 0
4AC5
4AC5 debut_boucle:                 ; ...
4AC5   LDA   #45
4AC7   JSR   random_0_A            ; input
4AC7                               ; A: borne supérieure
4AC7                               ; output
4AC7                               ; A: un nombre aléatoire [0; A[
4AC7                               ;
4AC7                               ; calcul un nombre aléatoire entre 0 et A
4ACA   TAX                         ; X = random [0; 44]
4ACB   LDA   plotsExp,X
4ACE   BEQ   loc_4AF6              ; if (MAP_EXP [X] != 0) {
4AD0   LDA   plotsTemp,X
4AD3   CMP   plotsProd,X
4AD6   BCS   loc_4AF6              ;   if (MAP_TEMP [X] < MAP_PROD [X]) {
4AD8   LDA   #0
4ADA   STA   byte_89               ;     byte_89 = 0 // il en reste peut etre pas
4ADC   INC   plotsTemp,X           ;     MAP_TEMP [X] ++
4ADF   LDA   plotsTemp,X
4AE2   JSR   drawCellProd          ; A: nb prod
4AE2                               ; X: case
4AE5   LDA   #6
4AE7   STA   byte_8D               ;     byte_8D = 6
4AE9   STA   byte_9E               ;     byte_9E = 6
4AEB   LDA   OS_SKREST_RANDOM
4AEE   AND   #$F
4AF0   CLC
4AF1   ADC   #1
4AF3   JSR   waitJiffy             ;     wait (random [0; 15])
4AF3                               ;   }
4AF3                               ; }
4AF6
4AF6 loc_4AF6:                     ; ...
4AF6   LDA   byte_89
4AF8   BNE   debut_boucle          ; // s'il en reste
4AF8                               ; if (byte_89 == 1) {
4AF8                               ;   goto debut_boucle
4AF8                               ; }
4AFA   LDX   #44
4AFC
4AFC loc_4AFC:                     ; ...
4AFC   LDA   plotsExp,X            ; do {
4AFF   BEQ   loc_4B0F              ;   if (MAP_EXP [X] != 0) {
4B01   LDA   plotsTemp,X
4B04   CMP   plotsProd,X
4B07   BCS   loc_4B0F              ;     if (MAP_TEMP [X] < MAP_PROD [X] ) {
4B09   LDA   #1
4B0B   STA   byte_89               ;       byte_89 = 1 // il en reste !
4B0D   BNE   debut_boucle          ;       goto debut_boucle
4B0D                               ;     }
4B0D                               ;   }
4B0F
4B0F loc_4B0F:                     ; ...
4B0F   DEX                         ;   X --
4B10   BPL   loc_4AFC              ; } while (X >= 0)
4B12   LDA   byte_8D
4B14   BEQ   locret_4B19
4B16   JMP   sub_108D
4B19 ; ---------------------------------------------------------------------------
4B19
4B19 locret_4B19:                  ; ...
4B19   RTS
4B19 ; End of function animMapProd
4B19
4B1A
4B1A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4B1A
4B1A ; input
4B1A ; A
4B1A ; output
4B1A ; A: (A-44) / 32
4B1A
4B1A A_44_32:                      ; ...
4B1A   SEC
4B1B   SBC   #44
4B1D   LSR   A
4B1E   LSR   A
4B1F   LSR   A
4B20   LSR   A
4B21   LSR   A
4B22   RTS
4B22 ; End of function A_44_32
4B22
4B23
4B23 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4B23
4B23 ; input
4B23 ; A
4B23 ; output
4B23 ; A: (A-56) / 16
4B23
4B23 A_56_16:                      ; ...
4B23   SEC
4B24   SBC   #56
4B26   LSR   A
4B27   LSR   A
4B28   LSR   A
4B29   LSR   A
4B2A   RTS
4B2A ; End of function A_56_16
4B2A
4B2B
4B2B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4B2B
4B2B
4B2B drawEmptyCell:                ; ...
4B2B   TXA
4B2C   JSR   sub_488B
4B2F   LDX   #3
4B31
4B31 loc_4B31:                     ; ...
4B31   LDA   #0
4B33   JSR   decodeCharToMessage2
4B36   DEX
4B37   BNE   loc_4B31
4B39   LDA   #0
4B3B   JSR   decodeCharToMessage   ; A
4B3E   LDX   #3
4B40
4B40 loc_4B40:                     ; ...
4B40   LDA   #0
4B42   JSR   decodeCharToMessage3
4B45   DEX
4B46   BNE   loc_4B40
4B48   LDA   #0
4B4A   JMP   decodeCharToMessage   ; A
4B4A ; End of function drawEmptyCell
4B4A
4B4D
4B4D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4B4D
4B4D
4B4D sub_4B4D:                     ; ...
4B4D   LDY   #3
4B4F
4B4F loc_4B4F:                     ; ...
4B4F   LDA   playersColor,Y
4B52   STA   byte_97,Y
4B55   DEY
4B56   BPL   loc_4B4F
4B58   RTS
4B58 ; End of function sub_4B4D
4B58
4B59
4B59 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4B59
4B59
4B59 drawMap:                      ; ...
4B59   JSR   restoreFont
4B5C   LDA   #1
4B5E   STA   byte_BA
4B60   JSR   sub_4992
4B63   JSR   sub_49A2
4B66   LDA   #0
4B68   STA   byte_9D
4B6A   JSR   sub_4B89
4B6D   JSR   sub_4B4D
4B70   LDA   #0
4B72   STA   byte_8B
4B74
4B74 loc_4B74:                     ; ...
4B74   LDX   byte_8B
4B76   LDA   plotsPlayer,X
4B79   BMI   loc_4B80
4B7B   LDY   #0
4B7D   JSR   drawCell              ; input
4B7D                               ; X: plot
4B80
4B80 loc_4B80:                     ; ...
4B80   INC   byte_8B
4B82   LDA   #44
4B84   CMP   byte_8B
4B86   BCS   loc_4B74
4B88   RTS
4B88 ; End of function drawMap
4B88
4B89
4B89 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4B89
4B89
4B89 sub_4B89:                     ; ...
4B89   LDX   #3
4B8B
4B8B loc_4B8B:                     ; ...
4B8B   LDA   playersColor,X
4B8E   AND   #$F0
4B90   ORA   #4
4B92   STA   playersColor,X
4B95   LDA   #0
4B97   STA   OS_SIZEP0_M0PL,X
4B9A   DEX
4B9B   BPL   loc_4B8B
4B9D   LDA   #8
4B9F   STA   OS_COLOR4
4BA2   STA   OS_COLOR2
4BA5   STA   OS_COLPM2_PAL
4BA8   STA   OS_COLPM3
4BAB   LDA   byte_9D
4BAD   BMI   loc_4BC1
4BAF   JSR   sub_4C94
4BB2   LDA   #6
4BB4   STA   OS_PCOLR2
4BB7   LDA   #$16
4BB9   STA   OS_PCOLR3
4BBC   LDA   #4
4BBE   STA   OS_COLOR1
4BC1
4BC1 loc_4BC1:                     ; ...
4BC1   JSR   sub_5E1B
4BC4   LDA   #$75
4BC6   STA   OS_SDLSTL
4BC9   LDA   #$1E
4BCB   STA   OS_SDLSTL+1
4BCE   LDA   #$18
4BD0   STA   OS_CHBAS
4BD3   LDA   #$43
4BD5   STA   OS_VDSLST
4BD8   LDA   #$2D
4BDA   STA   OS_VDSLST+1
4BDD   LDA   #$C0
4BDF   STA   OS_NMIEN
4BE2   LDA   mountainsX
4BE5   STA   OS_HPOSP2_M2PF
4BE8   LDA   riverStoreX
4BEB   STA   OS_HPOSP3_M3PF
4BEE   LDA   #$3E
4BF0   STA   OS_SDMCTL
4BF3   STA   OS_DMACTL
4BF6   LDA   #3
4BF8   STA   OS_CDTMV1
4BFB   LDA   #1
4BFD   STA   OS_GPRIOR
4C00   RTS
4C00 ; End of function sub_4B89
4C00
4C01
4C01 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4C01
4C01
4C01 printAndWaitPlayersButtons2:  ; ...
4C01   PHA
4C02   LDY   #$3B                  ; // YOUR_STICK_BUTTON_TO_START
4C04   LDA   #$3D
4C06   JSR   printTitle
4C09   JSR   prepareStaticMessage
4C0C   LDA   #$F5                  ; // _PRESS_ALL_PLAYER
4C0C                               ; // _BUTTONS_TO_GO_ON.
4C0E   LDY   #$3A
4C10   JSR   addMessage            ; Y/A: High/Low address
4C13   JSR   wait6
4C16   JSR   initPlayersButtons
4C19   LDA   #1
4C1B   STA   byte_4E
4C1D   LDA   #$FF
4C1F   LDY   maxIndexCpu
4C21   CPY   #3
4C23   BNE   loc_4C27
4C25   LDA   #$40
4C27
4C27 loc_4C27:                     ; ...
4C27   STA   byte_C4
4C29   LDY   #0
4C2B   STY   OS_HPOSP1_M1PF
4C2E   STY   OS_PCOLR1
4C31   PLA
4C32   JSR   setCursorSprite
4C35
4C35 loc_4C35:                     ; ...
4C35   LDA   #0
4C37   STA   OS_HPOSP1_M1PF
4C3A   LDA   #5
4C3C   JSR   loc_30A2
4C3F   LDA   byte_95
4C41   CMP   #4
4C43   BCS   loc_4C5D
4C45   INC   byte_4E
4C47   LDA   byte_8E
4C49   STA   OS_HPOSP1_M1PF
4C4C   LDA   #5
4C4E   JSR   loc_30A2
4C51   INC   byte_4E
4C53   LDA   byte_C4
4C55   BEQ   loc_4C5D
4C57   LDA   byte_95
4C59   CMP   #4
4C5B   BCC   loc_4C35
4C5D
4C5D loc_4C5D:                     ; ...
4C5D   LDA   #0
4C5F   STA   byte_4E
4C5F ; End of function printAndWaitPlayersButtons2
4C5F
4C61
4C61 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4C61
4C61
4C61 sub_4C61:                     ; ...
4C61   LDA   #0
4C63   JSR   sub_12CA
4C66   LDA   #1
4C68   JMP   sub_12CA
4C68 ; End of function sub_4C61
4C68
4C6B
4C6B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4C6B
4C6B ; input
4C6B ;
4C6B ; output
4C6B ; A, byte_CB: indice d'une case libre tirée au hasard
4C6B ;          -1 aucune de libre
4C6B ; X: nombre de case libre
4C6B ;
4C6B ; Rempli le tableau MAP_TEMP des indices des cases
4C6B ; libres et renvoie une case au hasard
4C6B
4C6B randomFreePlot:               ; ...
4C6B   LDX   #0                    ; X = 0
4C6D   LDY   #0                    ; Y = 0
4C6F
4C6F loc_4C6F:                     ; ...
4C6F   LDA   plotsPlayer,Y         ; do {
4C72   BPL   loc_4C7D              ;   // si aucune joueur
4C72                               ;   if (MAP_PLAYERS [Y] < 0) {
4C74   CPY   #22
4C76   BEQ   loc_4C7D              ;     if (Y != CITY) {
4C78   TYA
4C79   STA   plotsTemp,X           ;       MAP_TEMP [X] = Y
4C7C   INX                         ;       X ++
4C7C                               ;     }
4C7C                               ;   }
4C7D
4C7D loc_4C7D:                     ; ...
4C7D   INY                         ;   Y ++
4C7E   CPY   #45
4C80   BCC   loc_4C6F              ; } while (Y < 45)
4C82   TXA
4C83   BNE   loc_4C8A              ; if (X == 0) {
4C85   LDA   #-1                   ;   A = -1
4C87   STA   byte_CB               ;   byte_CB = -1
4C89   RTS                         ;   return
4C89                               ; }
4C8A ; ---------------------------------------------------------------------------
4C8A
4C8A loc_4C8A:                     ; ...
4C8A   JSR   random_0_A            ; input
4C8A                               ; A: borne supérieure
4C8A                               ; output
4C8A                               ; A: un nombre aléatoire [0; A[
4C8A                               ;
4C8A                               ; calcul un nombre aléatoire entre 0 et A
4C8D   TAY                         ; Y = random_0_A (A)
4C8E   LDA   plotsTemp,Y           ; A = MAP_TEMP [Y]
4C91   STA   byte_CB               ; byte_CB = MAP_TEMP [Y]
4C93   RTS                         ; return
4C93 ; End of function randomFreePlot
4C93
4C94
4C94 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4C94
4C94
4C94 sub_4C94:                     ; ...
4C94   LDX   #0
4C96
4C96 loc_4C96:                     ; ...
4C96   LDY   #0
4C98
4C98 loc_4C98:                     ; ...
4C98   LDA   GAME_SPR_MOUNT,Y
4C9B   STA   byte_BE00,X
4C9E   LDA   GAME_SPR_RIVER,Y
4CA1   STA   byte_BF00,X
4CA4   INX
4CA5   INY
4CA6   BNE   loc_4C98
4CA8   RTS
4CA8 ; End of function sub_4C94
4CA8
4CA9
4CA9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4CA9
4CA9
4CA9 setCursorSprite:              ; ...
4CA9   LDY   #1
4CAB   STY   OS_SIZEP1
4CAE   JSR   sub_48A6
4CB1   STX   byte_8E
4CB3   JSR   sub_4CC1
4CB6   LDX   #$18
4CB8
4CB8 loc_4CB8:                     ; ...
4CB8   LDA   #$81
4CBA   STA   wampusSprite,Y
4CBD   INY
4CBE   DEX
4CBF   BNE   loc_4CB8
4CBF ; End of function setCursorSprite
4CBF
4CC1
4CC1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4CC1
4CC1
4CC1 sub_4CC1:                     ; ...
4CC1   LDX   #4
4CC3   LDA   #255
4CC5
4CC5 loc_4CC5:                     ; ...
4CC5   STA   wampusSprite,Y
4CC8   INY
4CC9   DEX
4CCA   BNE   loc_4CC5
4CCC   RTS
4CCC ; End of function sub_4CC1
4CCC
4CCD
4CCD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4CCD
4CCD ; output
4CCD ; plotsProd [PLOTS]
4CCD ; byte_94 = prodMax (utilisé pour ?)
4CCD ;
4CCD ; met byte_B375 à 0
4CCD
4CCD calcPlotsProdWithMissingEnergyMalus: ; ...
4CCD   LDA   #0
4CCF   STA   doMissingEnergyMalus  ; // prendre en compte le malus d'energie
4CCF ; End of function calcPlotsProdWithMissingEnergyMalus ; doMissingEnergyMalus = Yes
4CCF
4CD2
4CD2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4CD2
    4CD2 ; input
    4CD2 ; doMissingEnergyMalus:
    4CD2 ;   Yes: 0 prendre compte du malus du manque d'energie
    4CD2 ;   No:  1 ne pas prendre en compte le malus
    4CD2 ;
    4CD2 ; output
    4CD2 ; plotsProd [PLOTS]
    4CD2 ; byte_94 = prodMax (utilisé pour ?)
    4CD2 ;
    4CD2 ; met byte_B375 à 0
    4CD2
4CD2 calcPlotsProd:                ; ...
    4CD2   JSR   initVarsFromMaps      ; Initialise les variables suivantes à partir de la carte:
    4CD2                               ; expsPlayersNb    [Exps]  [Players]
    4CD2                               ; goodsPlayersProd [Goods] [Players]
    4CD2                               ; playersNbLands
    4CD2                               ; playersNbExps
    4CD2                               ;
    4CD2                               ; Met à jour:
    4CD2                               ; plotsKnownCrystite [plot]
    4CD5   LDA   #0
    4CD7   STA   byte_94               ; prodMax = 0
    4CD9   STA   byte_B375             ; byte_B375 = NoAi
    4CDC   LDA   #44
    4CDE   STA   byte_8B
    4CE0
4CE0 loc_4CE0:                     ; ...
    4CE0   LDY   byte_8B               ; for (int plot=44; plot>=0; plot--) {
    4CE2   LDA   #0
    4CE4   STA   plotsProd,Y           ;   // initialise le nombre d'unités produites
    4CE4                               ;   plotsProd [plot] = 0
    4CE7   LDA   plotsPlayer,Y
    4CEA   BPL   loc_4CEF
    4CEC
4CEC loc_4CEC:                     ; ...
    4CEC   JMP   Next                  ;   int player = plotsPlayer [plot]
    4CEC                               ;   // si aucun joueur
    4CEC                               ;   if (player == Nobody) {
    4CEC                               ;     goto (Next)
    4CEC                               ;   }
    4CEF ; ---------------------------------------------------------------------------
    4CEF
4CEF loc_4CEF:                     ; ...
    4CEF   STA   byte_88
    4CF1   LDA   plotsExp,Y            ;   // type d'exploitation
    4CF1                               ;   int exp = plotsExp [plot]
    4CF4   BEQ   loc_4CEC              ;   // si aucune production alors case suivante
    4CF4                               ;   if (exp == NoExp) {
    4CF4                               ;     goto (Next)
    4CF4                               ;   }
    4CF4                               ;   /*
    4CF4                               ;   A = exp
    4CF4                               ;   byte_8B = plot
    4CF4                               ;   byte_88 = player
    4CF4                               ;   byte_B375 = NoAi
    4CF4                               ;   */
    4CF6   JSR   calcPlotProdWithEcos  ; input
    4CF6                               ; A: exp [0; 4] (0: NoExp, 1: Food, 2: Energy, ...)
    4CF6                               ; byte_8B: plot
    4CF6                               ; byte_88: player
    4CF6                               ; byte_B375:
    4CF6                               ;
    4CF6                               ; output
    4CF6                               ; byte_8A: valeur de la prod avec eco1 et eco2
    4CF6                               ;          (non plafonnée par 8)
    4CF6                               ;
    4CF6                               ; ("the learning curve")
    4CF6                               ; Eco1 = bonus toutes les 3 exp de meme type n'importe où sur la carte
    4CF6                               ; ("economies of scale")
    4CF6                               ; Eco2 = bonus pour les exps de meme type cote a cote
    4CF9   LDY   level                 ;   Y = level
    4CFB   LDA   byte_8A               ;   A = prod
    4CFD   JSR   calcBinomial          ; input
    4CFD                               ; A: value
    4CFD                               ; Y: fluctuation
    4CFD                               ;
    4CFD                               ; output
    4CFD                               ; A, byte_81: partie entiere signée de la variation
    4CFD                               ; byte_80: partie numérique
    4CFD                               ;
    4CFD                               ; Si Y=0 alors pas de variation
    4CFD                               ; Si Y=1 alors
    4CFD                               ;   A = A + int ( 1/2 * binomial [-6.0; 6.0] )
    4CFD                               ; Si Y>=2 alors
    4CFD                               ;   A = A + int ( (Y-1) * binomial [-6.0; 6.0] )
    4CFD                               ;
    4CFD                               ; Utilisée pour:
    4CFD                               ; - prix du smithore
    4CFD                               ; - production
    4CFD                               ; - nb de terres à vendre
    4CFD                               ;
    4CFD                               ; Répartition:
    4CFD                               ; -4:  0.013%
    4CFD                               ; -3:  0.562%
    4CFD                               ; -2:  6.248%
    4CFD                               ; -1: 24.303%
    4CFD                               ;  0: 37.748%
    4CFD                               ;  1: 24.303%
    4CFD                               ;  2:  6.248%
    4CFD                               ;  3:  0.562%
    4CFD                               ;  4:  0.013%
    4D00   BPL   loc_4D04              ;   prod = calcBinomiale (prod, level)
    4D02   LDA   #0
    4D04
4D04 loc_4D04:                     ; ...
    4D04   CMP   #9
    4D06   BCC   loc_4D0A
    4D08   LDA   #8                    ;   prod = [0;8]
    4D0A
4D0A loc_4D0A:                     ; ...
    4D0A   LDY   byte_8B
    4D0C   STA   plotsProd,Y           ;   plotsProd [plot] = prod
    4D0F   CMP   byte_94
    4D11   BCC   Next                  ;   if (prod > prodMax) {
    4D13   STA   byte_94               ;     prodMax = prod
    4D13                               ;   }
    4D15
4D15 :                         ; ...
    4D15   DEC   byte_8B
    4D17   BMI   loc_4D1C
    4D19   JMP   loc_4CE0              ; }
    4D1C ; ---------------------------------------------------------------------------
    4D1C
4D1C loc_4D1C:                     ; ...
    4D1C   LDA   doMissingEnergyMalus  ; // si pas de malus du manque d'energie
    4D1F   BEQ   loc_4D22              ; if (doMissingEnergyMalus == No) {
    4D21   RTS                         ;   return
    4D21                               ; }
    4D22 ; ---------------------------------------------------------------------------
    4D22
4D22 loc_4D22:                     ; ...
    4D22   LDA   #3
    4D24   STA   byte_8C               ; for (int player=3; player>=0; player--) {
    4D26
4D26 loc_4D26:                     ; ...
    4D26   JSR   calcEnergyReq         ; input
    4D26                               ; byte_8C: player
    4D26                               ; output
    4D26                               ; A, byte_82: nb d'energie requis par les exploitations
    4D29   LDY   byte_8C               ;   int energyNeeded = byte_82
    4D2B   LDA   goodsPlayersNb+4,Y
    4D2E   SEC
    4D2F   SBC   byte_82               ;   int remainingEnergy = goodsPlayersNb [good] [player] - energyNeeded
    4D31   BCS   loc_4D66              ;   if (remainingEnergy < 0) {
    4D33   EOR   #11111111b
    4D35   CLC
    4D36   ADC   #1
    4D38   STA   byte_8B               ;     int missingEnergy = abs (remainingEnergy)
    4D3A
4D3A loc_4D3A:                     ; ...
    4D3A   LDA   #45                   ;     do {
    4D3C   JSR   random_0_A            ; input
    4D3C                               ; A: borne supérieure
    4D3C                               ; output
    4D3C                               ; A: un nombre aléatoire [0; A[
    4D3C                               ;
    4D3C                               ; calcul un nombre aléatoire entre 0 et A
    4D3F   TAY                         ;       int plot = random [0; 44]
    4D40
4D40 loc_4D40:                     ; ...
    4D40   LDA   plotsPlayer,Y         ;       // rechercher la premiere case appartenant au joueur
    4D43   CMP   byte_8C
    4D45   BEQ   loc_4D4F
    4D47
4D47 NextPlot:                     ; ...
    4D47   DEY
    4D48   BPL   loc_4D40
    4D4A   LDY   #44
    4D4C   JMP   loc_4D40
    4D4F ; ---------------------------------------------------------------------------
    4D4F
4D4F loc_4D4F:                     ; ...
    4D4F   LDA   plotsExp,Y
    4D52   BEQ   NextPlot              ;       if (plotsExp [plot] == NoExp) {
    4D52                               ;         goto (NextPlot)
    4D52                               ;       }
    4D54   CMP   #2
    4D56   BEQ   NextPlot              ;       if (plotsExp [plot] == Energy) {
    4D56                               ;         goto (NextPlot)
    4D56                               ;       }
    4D58   LDA   plotsProd,Y
    4D5B   BMI   NextPlot              ;       // si case déjà compter
    4D5B                               ;       if (plotsProd [plot] == -1) {
    4D5B                               ;         goto (NextPlot)
    4D5B                               ;       }
    4D5D   LDA   #-1
    4D5F   STA   plotsProd,Y           ;       plotsProd [plot] = -1
    4D62   DEC   byte_8B               ;       missingEnergy --
    4D62                               ;     } while (missingEnergy != 0)
    4D64   BNE   loc_4D3A              ;   }
    4D66
4D66 loc_4D66:                     ; ...
    4D66   DEC   byte_8C
    4D68   BPL   loc_4D26              ; }
    4D6A   LDY   #44
    4D6C
4D6C loc_4D6C:                     ; ...
    4D6C   LDA   plotsProd,Y           ; for (int plot=44; plot>=0; plot--) {
    4D6F   BPL   loc_4D76              ;   if (plotsProd [plot] == -1) {
    4D71   LDA   #0
    4D73   STA   plotsProd,Y           ;     plotsProd [plot] = 0
    4D73                               ;   }
    4D76
4D76 loc_4D76:                     ; ...
    4D76   DEY
    4D77   BPL   loc_4D6C              ; }
    4D79   RTS
    4D79 ; End of function calcPlotsProd
    4D79
4D7A
4D7A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4D7A
4D7A ; input
4D7A ; A: exp [0; 4] (0: NoExp, 1: Food, 2: Energy, ...)
4D7A ; byte_8B: plot
4D7A ; byte_88: player
4D7A ; byte_B375:
4D7A ;
4D7A ; output
4D7A ; byte_8A: valeur de la prod avec eco1 et eco2
4D7A ;          (non plafonnée par 8)
4D7A ;
4D7A ; ("the learning curve")
4D7A ; Eco1 = bonus toutes les 3 exp de meme type n'importe où sur la carte
4D7A ; ("economies of scale")
4D7A ; Eco2 = bonus pour les exps de meme type cote a cote
4D7A
4D7A calcPlotProdWithEcos:         ; ...
4D7A   SEC
4D7B   SBC   #1
4D7D   STA   byte_89
4D7F   LDY   #45
4D81   JSR   mul8BitsBy8Bits       ; input
4D81                               ; A: left operand
4D81                               ; Y: right operand
4D81                               ; output
4D81                               ; Y/A, byte_81/byte_82: A * Y
4D84   CLC
4D85   ADC   byte_8B
4D87   TAX
4D88   LDA   byte_89
4D8A   CMP   #3
4D8C   BNE   loc_4D9D
4D8E   LDA   byte_B375
4D91   BEQ   loc_4D9D              ; if ((exp == Crystite) &&
4D91                               ;     (byte_B375 == AiPreview)) {
4D93   LDX   byte_8B
4D95   LDA   plotsKnownCrystite,X
4D98   AND   #15                   ;   // c'est du crystite donc ne faire l'AI que sur le connu
4D98                               ;   A = plotsKnownCrystite [plot] % 16
4D9A   JMP   loc_4DA0              ; }
4D9D ; ---------------------------------------------------------------------------
4D9D
4D9D loc_4D9D:                     ; ...
4D9D   LDA   expsPlotsCapacity,X   ; else {
4D9D                               ;   // valeur en prod de l'exp
4D9D                               ;   A = expsPlotsCapacity [exp] [plot]
4D9D                               ; }
4DA0
4DA0 loc_4DA0:                     ; ...
4DA0   STA   byte_8A               ; int prod = A
4DA2   LDA   byte_89
4DA4   ASL   A
4DA5   ASL   A
4DA6   ADC   byte_88
4DA8   STA   byte_82
4DAA   TAX
4DAB   LDA   expsPlayersNb,X       ; // calcul bonus eco1
4DAB                               ; // nb d'exp de ce type pour ce joueur
4DAB                               ; int nbExps = expsPlayersNb [exp] [player]
4DAE   LDY   byte_B375
4DB1   BEQ   loc_4DB6              ; // le joueur ne possède pas encore l'exp
4DB1                               ; if (byte_B375 == AiPreview) {
4DB3   CLC                         ;   // ajouter la futur exp
4DB4   ADC   #1                    ;   nbExps ++
4DB4                               ; }
4DB6
4DB6 loc_4DB6:                     ; ...
4DB6   LDY   #0
4DB8   LDX   #3
4DBA   JSR   div8Bits              ; int bonusEco1 = nbExps / 3
4DBD   CLC
4DBE   ADC   byte_8A               ; prod += bonusEco1
4DC0   CPY   #0
4DC2   BNE   loc_4DCF              ; // if (Y == 0) { // reste de la div
4DC4   LDY   byte_B375
4DC7   BEQ   loc_4DCF              ; if ((byte_B375 == AiPreview) &&
4DC7                               ;     ((nbExps % 3) == 0)) {
4DC9   LDX   byte_82
4DCB   CLC                         ;   // si l'exp permet d'avoir un nouveau bonus eco1,
4DCB                               ;   // alors compter les bonus qui seront données aux autres exp
4DCC   ADC   expsPlayersNb,X       ;   prod += nbExps - 1;
4DCC                               ; }
4DCF
4DCF loc_4DCF:                     ; ...
4DCF   STA   byte_8A               ; byte_8A = A // nb de point de production avec eco1
4DD1   INC   byte_89               ; byte_89 ++ // 0 Empty, 1 Food, ...
4DD3   LDA   #0
4DD5   STA   byte_8D               ; // calcul de nb de point eco2
4DD5                               ; int bonusEco2 = 0
4DD5                               ; byte_8D = bonusEco2
4DD7   LDA   byte_8B               ; A = plot
4DD9   JSR   plotIndexToCoord      ; input
4DD9                               ; A: plot
4DD9                               ;
4DD9                               ; output
4DD9                               ; X: ligne
4DD9                               ; A: colonne
4DDC   STX   byte_8F               ; byte_8F = X // ligne
4DDE   STA   byte_8E               ; byte_8E = A // colonne
4DE0   DEC   byte_8E               ; byte_8E -- // gauche
4DE2   JSR   helpToCountNeighbor   ; input
4DE2                               ; byte_8F: line
4DE2                               ; byte_8E: column
4DE2                               ; byte_88: player
4DE2                               ; byte_89: exp
4DE2                               ; byte_8D: previous neighbors
4DE2                               ; byte_B375:
4DE2                               ; // si la plot appartient au joueur, alors la gratifer
4DE2                               ; // d'un bonus pour favoriser le choix d'une terre à coté
4DE2                               ; // des siennes
4DE2                               ; // if (byte_B375 == AiSelectBuyLand)
4DE2                               ;
4DE2                               ; output
4DE2                               ; byte_8D: new neighbors
4DE5   INC   byte_8E
4DE7   DEC   byte_8F               ; // haut
4DE9   JSR   helpToCountNeighbor   ; input
4DE9                               ; byte_8F: line
4DE9                               ; byte_8E: column
4DE9                               ; byte_88: player
4DE9                               ; byte_89: exp
4DE9                               ; byte_8D: previous neighbors
4DE9                               ; byte_B375:
4DE9                               ; // si la plot appartient au joueur, alors la gratifer
4DE9                               ; // d'un bonus pour favoriser le choix d'une terre à coté
4DE9                               ; // des siennes
4DE9                               ; // if (byte_B375 == AiSelectBuyLand)
4DE9                               ;
4DE9                               ; output
4DE9                               ; byte_8D: new neighbors
4DEC   INC   byte_8F
4DEE   INC   byte_8F               ; // bas
4DF0   JSR   helpToCountNeighbor   ; input
4DF0                               ; byte_8F: line
4DF0                               ; byte_8E: column
4DF0                               ; byte_88: player
4DF0                               ; byte_89: exp
4DF0                               ; byte_8D: previous neighbors
4DF0                               ; byte_B375:
4DF0                               ; // si la plot appartient au joueur, alors la gratifer
4DF0                               ; // d'un bonus pour favoriser le choix d'une terre à coté
4DF0                               ; // des siennes
4DF0                               ; // if (byte_B375 == AiSelectBuyLand)
4DF0                               ;
4DF0                               ; output
4DF0                               ; byte_8D: new neighbors
4DF3   DEC   byte_8F
4DF5   INC   byte_8E               ; // droite
4DF7   JSR   helpToCountNeighbor   ; input
4DF7                               ; byte_8F: line
4DF7                               ; byte_8E: column
4DF7                               ; byte_88: player
4DF7                               ; byte_89: exp
4DF7                               ; byte_8D: previous neighbors
4DF7                               ; byte_B375:
4DF7                               ; // si la plot appartient au joueur, alors la gratifer
4DF7                               ; // d'un bonus pour favoriser le choix d'une terre à coté
4DF7                               ; // des siennes
4DF7                               ; // if (byte_B375 == AiSelectBuyLand)
4DF7                               ;
4DF7                               ; output
4DF7                               ; byte_8D: new neighbors
4DFA   LDY   byte_B375             ; bonusEco2 = byte_8D
4DFD   INY
4DFE   CPY   byte_8D
4E00   BCS   loc_4E04              ; // plafonner le bonus eco2 en fonction de byte_B375
4E02   STY   byte_8D               ; if (byte_B375 == NoAi) {
4E02                               ;   bonusEco2 = [0;1]
4E02                               ; else if (byte_B375 == AiChooseExpTurn) {
4E02                               ;   bonusEco2 = [0;2]
4E02                               ; else if (byte_B375 == AiSelectBuyLand) {
4E02                               ;   bonusEco2 = [0;3]
4E02                               ; }
4E04
4E04 loc_4E04:                     ; ...
4E04   LDA   byte_8D
4E06   CLC
4E07   ADC   byte_8A
4E09   STA   byte_8A               ; // valeur final de la production avec eco1 et eco2
4E09                               ; prod += bonusEco2
4E0B   RTS
4E0B ; End of function calcPlotProdWithEcos
4E0B
4E0C
4E0C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4E0C
4E0C ; input
4E0C ; byte_8F: line
4E0C ; byte_8E: column
4E0C ; byte_88: player
4E0C ; byte_89: exp
4E0C ; byte_8D: previous neighbors
4E0C ; byte_B375:
4E0C ; // si la plot appartient au joueur, alors la gratifer
4E0C ; // d'un bonus pour favoriser le choix d'une terre à coté
4E0C ; // des siennes
4E0C ; // if (byte_B375 == AiSelectBuyLand)
4E0C ;
4E0C ; output
4E0C ; byte_8D: new neighbors
4E0C
4E0C helpToCountNeighbor:          ; ...
4E0C   LDX   byte_8E
4E0E   BMI   locret_4E3A           ; if (column < 0) {
4E0E                               ;   return
4E0E                               ; }
4E10   CPX   #9
4E12   BCS   locret_4E3A           ; if (column >= 9) {
4E12                               ;   return
4E12                               ; }
4E14   LDA   byte_8F
4E16   BMI   locret_4E3A           ; if (line < 0) {
4E16                               ;   return
4E16                               ; }
4E18   CMP   #5
4E1A   BCS   locret_4E3A           ; if (line >= 5) {
4E1A                               ;   return
4E1A                               ; }
4E1C   JSR   plotCoordToIndex      ; int plot = plotCoordToIndex (line, column)
4E1F   LDA   plotsPlayer,X
4E22   CMP   byte_88
4E24   BNE   locret_4E3A           ; // si n'appartient pas au joueur
4E24                               ; if (plotsPlayer [plot] != player) {
4E24                               ;   return
4E24                               ; }
4E26   LDA   byte_B375
4E29   CMP   #2
4E2B   BNE   loc_4E31              ; // si la plot appartient au joueur, alors la gratifer
4E2B                               ; // d'un bonus pour favoriser le choix d'une terre à coté
4E2B                               ; // des siennes
4E2B                               ; if (byte_B375 == AiSelectBuyLand) {
4E2D   INC   byte_8D
4E2F   INC   byte_8D               ;   byte_8D += 2
4E2F                               ; }
4E31
4E31 loc_4E31:                     ; ...
4E31   LDA   plotsExp,X
4E34   CMP   byte_89
4E36   BNE   locret_4E3A           ; // si meme exp, ajouter bonus eco2
4E36                               ; if (plotsExp [plot] == exp) {
4E38   INC   byte_8D               ;   byte_8D ++
4E38                               ; }
4E3A
4E3A locret_4E3A:                  ; ...
4E3A   RTS                         ; return
4E3A ; End of function helpToCountNeighbor
4E3A
4E3B
4E3B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4E3B
    4E3B ; Initialise les variables suivantes à partir de la carte:
    4E3B ; expsPlayersNb    [Exps]  [Players]
    4E3B ; goodsPlayersProd [Goods] [Players]
    4E3B ; playersNbLands
    4E3B ; playersNbExps
    4E3B ;
    4E3B ; Met à jour:
    4E3B ; plotsKnownCrystite [plot]
    4E3B
4E3B initVarsFromMaps:             ; ...
    4E3B   LDX   #47
    4E3D   LDA   #0
    4E3F
4E3F loc_4E3F:                     ; ...
    4E3F   STA   expsPlayersNb,X
    4E42   DEX
    4E43   BPL   loc_4E3F              ; expsPlayersNb    [Exps]  [Players] = 0
    4E43                               ; goodsPlayersProd [Goods] [Players] = 0
    4E43                               ; playersNbLands = 0
    4E43                               ; playersNbExps  = 0
    4E45   LDA   #44
    4E47   STA   byte_81
    4E49
4E49 loc_4E49:                     ; ...
    4E49   LDY   byte_81               ; for (int plot=44; plot>=0; plot--) {
    4E4B   LDA   plotsPlayer,Y
    4E4E   BMI   loc_4E7F              ;   // si la plot appartient a qqn
    4E4E                               ;   if (plotsPlayer [plot] != Nobody) {
    4E50   STA   byte_80
    4E52   TAX
    4E53   INC   playersNbLands,X      ;     // incrémenter le nombre de land du joueur
    4E53                               ;     playersNbLands [player] ++
    4E56   LDA   plotsExp,Y            ;     int exp = plotsExp [plot]
    4E59   BEQ   loc_4E7F              ;     // s'il y a une exp sur la land
    4E59                               ;     if (exp != NoExp) {
    4E5B   INC   playersNbExps,X       ;       // incrémenter le nombre d'exps du joueur
    4E5B                               ;       playersNbExps [player] ++
    4E5E   SEC
    4E5F   SBC   #1
    4E61   PHA
    4E62   ASL   A
    4E63   ASL   A
    4E64   ADC   byte_80
    4E66   TAX
    4E67   INC   expsPlayersNb,X       ;       // incrémenter le nombre d'exps de ce type pour le joueur
    4E67                               ;       expsPlayersNb [exp] [player] ++
    4E6A   LDA   goodsPlayersProd,X
    4E6D   CLC
    4E6E   ADC   plotsProd,Y           ;       int good = exp
    4E71   STA   goodsPlayersProd,X    ;       // ajouter le nombre d'unités que produit l'exp
    4E71                               ;       // au nombre de goods produit de ce type du joueur
    4E71                               ;       goodsPlayersProd [good] [player] += plotsProd [plot]
    4E74   PLA
    4E75   CMP   #3
    4E77   BNE   loc_4E7F              ;       if (exp == Crystite) {
    4E79   LDA   expsPlotsCapacity+$87,Y
    4E7C   STA   plotsKnownCrystite,Y  ;         // mettre à jour le crystite connu avec la valeur visuelle
    4E7C                               ;         plotsKnownCrystite [plot] = expsPlotsCapacity [Crystite] [plot]
    4E7C                               ;       }
    4E7C                               ;     }
    4E7C                               ;   }
    4E7F
4E7F loc_4E7F:                     ; ...
    4E7F   DEC   byte_81
    4E81   BPL   loc_4E49              ; } // fin for plot
    4E83   RTS
    4E83 ; End of function initVarsFromMaps
4E83
4E84
4E84 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
4E84
4E84
4E84 grantLand:                    ; ...
4E84   JSR   drawMap               ; call drawMap ()
4E87   LDA   maxIndexCpu
4E89   BMI   loc_4EEF              ; // s'il y a des cpus
4E89                               ; if (maxIndexCpu >= 0) {
4E8B   JSR   calcPlayersPlotsQuality ; output
4E8B                               ; playersPlotsQuality [] []:
4E8E   LDA   #3
4E90   STA   currentPlayer
4E92   LDA   #-1
4E94   STA   byte_CB
4E96
4E96 loc_4E96:                     ; ...
4E96   LDY   currentPlayer         ;   // remplit playersPlotSelectedByCpu pour chaque joueur
4E96                               ;   // 0 si cpu
4E96                               ;   // -1 sinon
4E96                               ;   for (currentPlayer=3; currentPlayer>=0; currentPlayer--) {
4E98   LDA   byte_CB               ;     A = -1;
4E9A   CPY   maxIndexCpu
4E9C   BCC   loc_4EA0              ;     if (currentPlayer <= maxIndexCpu) {
4E9E   BNE   loc_4EA7
4EA0
4EA0 loc_4EA0:                     ; ...
4EA0   LDA   #0                    ;       A = 0;
4EA2   JSR   calcPlayerBestPlotAi  ; input
4EA2                               ; A: 0 startingPlot
4EA2                               ; Y: cpu
4EA2                               ; playersPlotsQuality [PLAYERS] [PLOTS]:
4EA2                               ;
4EA2                               ; output
4EA2                               ; A, byte_81: best plot
4EA5   LDY   currentPlayer         ;     }
4EA7
4EA7 loc_4EA7:                     ; ...
4EA7   STA   byte_9F,Y             ;     playersPlotSelectedByCpu [currentPlayer] = A;
4EAA   DEC   currentPlayer
4EAC   BPL   loc_4E96              ;   }
4EAE   JSR   randomFreePlot        ; input
4EAE                               ;
4EAE                               ; output
4EAE                               ; A, byte_CB: indice d'une case libre tirée au hasard
4EAE                               ;          -1 aucune de libre
4EAE                               ; X: nombre de case libre
4EAE                               ;
4EAE                               ; Rempli le tableau MAP_TEMP des indices des cases
4EAE                               ; libres et renvoie une case au hasard
4EB1   CPX   #4
4EB3   BCC   loc_4EEF              ;   if (nbFreePlots >= 4) {
4EB5
4EB5 for:                          ; ...
4EB5   LDA   #3                    ;     for (;;) {
4EB7   STA   currentPlayer         ;       order1 = Last;
4EB9
4EB9 TryAgain:                     ; ...
4EB9   DEC   currentPlayer         ;       TryAgain:
4EB9                               ;
4EB9                               ;       order1 --;
4EBB   BMI   loc_4EEF              ;       if (order1 < 0) {
4EBB                               ;          exit for;
4EBB                               ;       }
4EBD   LDX   currentPlayer
4EBF   LDY   ordersPlayer,X
4EC2   STY   byte_8B               ;       player1 = ordersPlayer [order1];
4EC4   LDA   byte_9F,Y             ;       plot1 = playersPlotSelectedByCpu [player1];
4EC7   BMI   TryAgain              ;       // si joueur humain
4EC7                               ;       if (plot1 < 0) {
4EC7                               ;         goto (TryAgain);
4EC7                               ;       }
4EC9
4EC9 loc_4EC9:                     ; ...
4EC9   INX                         ;       order2 = order1;
4EC9                               ;       do {
4EC9                               ;         order2 ++;
4ECA   CPX   #4
4ECC   BCS   TryAgain              ;         if (order2 >= 4) {
4ECC                               ;           goto (TryAgain);
4ECC                               ;         }
4ECE   LDY   ordersPlayer,X        ;         player2 = ordersPlayer [order2];
4ED1   CMP   byte_9F,Y
4ED4   BNE   loc_4EC9              ;       } while (plot1 != playersPlotSelectedByCpu [player2]);
4ED6   LDY   byte_8B               ;       // on arrive ici si 2 cpus ont la même terre
4ED6                               ;       Y = player1;
4ED8   JSR   Aplus45TimeY          ; input
4ED8                               ; A:
4ED8                               ; Y:
4ED8                               ;
4ED8                               ; output
4ED8                               ; X: A + 45*Y
4EDB   LDA   #0
4EDD   STA   playersPlotsQuality,X ; // si la case est deja prise par qqn, en choisir une autre
4EE0   LDY   byte_8B
4EE2   LDA   #0
4EE4   JSR   calcPlayerBestPlotAi  ; input
4EE4                               ; A: 0 startingPlot
4EE4                               ; Y: cpu
4EE4                               ; playersPlotsQuality [PLAYERS] [PLOTS]:
4EE4                               ;
4EE4                               ; output
4EE4                               ; A, byte_81: best plot
4EE7   LDY   byte_8B
4EE9   STA   byte_9F,Y
4EEC   JMP   for                   ;     } // fin for (;;)
4EEC                               ;   }
4EEC                               ; }
4EEF ; ---------------------------------------------------------------------------
4EEF
4EEF loc_4EEF:                     ; ...
4EEF   LDA   #$57                  ; // _LAND_GRANT
4EF1   LDY   #$3F
4EF3   JSR   printTitle
4EF6   JSR   prepareStaticMessage
4EF9   LDA   #$62                  ; // _PRESS_YOUR_BUTTON
4EF9                               ; // _TO_SELECT_A_PLOT.
4EFB   LDY   #$3F
4EFD   JSR   addMessage            ; Y/A: High/Low address
4F00   JSR   waitJiffyLevel
4F03   JSR   sub_108D
4F06   JSR   wait6
4F09   LDY   #3
4F0B
4F0B loc_4F0B:                     ; ...
4F0B   LDA   #0
4F0D   STA   byte_B1B5,Y           ; byte_B1B5 [PLAYERS] = 0
4F10   LDA   #1
4F12   STA   byte_B2,Y
4F15   DEY
4F16   BPL   loc_4F0B
4F18   LDA   #0
4F1A   STA   byte_8B
4F1C   STA   OS_PCOLR1
4F1F   STA   byte_CB
4F21
4F21 loc_4F21:                     ; ...
4F21   LDX   byte_CB               ; for (int plot=0;;) {
4F23   CPX   #22
4F25   BEQ   loc_4F95
4F27   LDA   plotsPlayer,X
4F2A   BPL   loc_4F95              ;   if ((plot != Store) &&
4F2A                               ;       (plotsPlayer [plot] != NoBody)) {
4F2C   JSR   initPlayersButtons
4F2F   LDA   #0
4F31   STA   OS_HPOSP1_M1PF
4F34   TXA
4F35   LDX   maxIndexCpu
4F37   BMI   loc_4F42
4F39
4F39 loc_4F39:                     ; ...
4F39   CMP   byte_9F,X             ;     for (int cpu=maxIndexCpu; cpu>=0; cpu--) {
4F39                               ;       if (plot == playersPlotSelectedByCpu [cpu]) {
4F3B   BNE   loc_4F3F
4F3D   DEC   playersButtonPushed,X ;         playersButtonPushed [cpu] = Yes
4F3D                               ;       }
4F3F
4F3F loc_4F3F:                     ; ...
4F3F   DEX
4F40   BPL   loc_4F39              ;     }
4F42
4F42 loc_4F42:                     ; ...
4F42   JSR   setCursorSprite
4F45   JSR   sub_5E1B
4F48   LDA   byte_8E
4F4A   STA   OS_HPOSP1_M1PF
4F4D   LDA   cursorWait
4F50   STA   byte_C3
4F52
4F52 loc_4F52:                     ; ...
4F52   LDA   #3
4F54   STA   currentPlayer
4F56   LDA   #1
4F58   JSR   waitJiffy             ; input
4F58                               ; A: temps à attendre en jiffy (1/60 seconds)
4F5B
4F5B loc_4F5B:                     ; ...
4F5B   LDX   currentPlayer
4F5D   LDY   ordersPlayer,X
4F60   LDA   byte_B1B5,Y
4F63   ORA   playersButtonPushed,Y
4F66   BNE   loc_4F8B
4F68   STY   byte_9E
4F6A   LDA   playersColor,Y
4F6D   STA   OS_PCOLR1
4F70   LDX   byte_CB
4F72   INC   byte_8B               ; // terre sélectionnée
4F74   TYA
4F75   STA   plotsPlayer,X         ; // selection d'une terre (curseur qui defile)
4F78   LDA   #1
4F7A   STA   byte_B1B5,Y
4F7D   JSR   drawCell              ; input
4F7D                               ; X: plot
4F80   LDA   cursorWait
4F83   ASL   A
4F84   ASL   A
4F85   STA   byte_C3               ; // s'arréter momentanément sur la terre
4F87
4F87 loc_4F87:                     ; ...
4F87   LDA   byte_C3
4F89   BNE   loc_4F87
4F8B
4F8B loc_4F8B:                     ; ...
4F8B   LDA   byte_C3
4F8D   BEQ   loc_4F95
4F8F   DEC   currentPlayer
4F91   BPL   loc_4F5B
4F93   BMI   loc_4F52
4F95
4F95 loc_4F95:                     ; ...
4F95   JSR   sub_5E1B              ;   } // fin plot != Store && plot != Parcelle
4F98   LDA   #0
4F9A   STA   OS_HPOSP1_M1PF
4F9D   STA   OS_PCOLR1
4FA0   JSR   sub_4C61
4FA3   LDA   byte_8B
4FA5   CMP   #4
4FA7   BEQ   loc_5000              ;   // si tlm a choisit sa terre
4FA7                               ;   if (byte_8B == 4) {
4FA7                               ;     break
4FA7                               ;   }
4FA9   INC   byte_CB               ;   // case suivante
4FA9                               ;   plot ++
4FAB   LDA   #45
4FAD   SEC
4FAE   SBC   byte_CB
4FB0   BEQ   loc_5000              ;   // si toutes les cases passées
4FB0                               ;   if (plot == 45) {
4FB0                               ;     exit for;
4FB0                               ;   }
4FB2   STA   byte_8C               ;   // nb de terres restantes à parcourir
4FB2                               ;   nbLeftToGo = 45 - plot;
4FB4   LDA   maxIndexCpu
4FB6   BMI   loc_4FFD              ;   // s'il y a des cpus
4FB6                               ;   if (maxIndexCpu >= 0) {
4FB8   STA   byte_8F
4FBA
4FBA loc_4FBA:                     ; ...
4FBA   LDY   byte_8F               ;     for (player=maxIndexCpu; player>=0; player--) {
4FBC   LDA   byte_B1B5,Y
4FBF   BNE   loc_4FD2              ;       // si pas encore choisi de terre
4FBF                               ;       if (byte_B1B5 [player] == 0) {
4FC1   LDA   byte_9F,Y
4FC4   CMP   byte_CB
4FC6   BCS   loc_4FD2              ;         // si sa terre est passée
4FC6                               ;         if (playersPlotSelectedByCpu [player] < plot) {
4FC8   LDA   byte_CB
4FCA   JSR   calcPlayerBestPlotAi  ; input
4FCA                               ; A: 0 startingPlot
4FCA                               ; Y: cpu
4FCA                               ; playersPlotsQuality [PLAYERS] [PLOTS]:
4FCA                               ;
4FCA                               ; output
4FCA                               ; A, byte_81: best plot
4FCD   LDY   byte_8F
4FCF   STA   byte_9F,Y
4FD2
4FD2 loc_4FD2:                     ; ...
4FD2   DEC   byte_8F               ;         }
4FD2                               ;       }
4FD4   BPL   loc_4FBA              ;     }
4FD6   LDA   #4
4FD8   SEC
4FD9   SBC   byte_8B
4FDB   CMP   byte_8C
4FDD   BCC   loc_4FFD              ;     // ??
4FDD                               ;     // si nb de terres restantes à sélectionner est
4FDD                               ;     // >= nb de terres à parcourir
4FDD                               ;     if (4 - nbSelected) >= nbLeftToGo) {
4FDF   LDX   byte_8B               ;       i = nbSelected;
4FE1   LDY   ordersPlayer,X        ;       player = ordersPlayer [nbSelected];
4FE4   CPY   maxIndexCpu
4FE6   BCC   Next                  ;       // si cpu
4FE6                               ;       if (player <= maxIndexCpu) {
4FE8   BNE   loc_4FFD
4FEA
4FEA :                         ; ...
4FEA   INX                         ;         Next:
4FEA                               ;
4FEA                               ;         i ++;
4FEB   CPX   #4
4FED   BCS   loc_4FFD              ;         if (i < 4) {
4FEF   LDA   ordersPlayer,X
4FF2   CMP   maxIndexCpu
4FF4   BCC   Next                  ;           // si cpu
4FF4                               ;           if (ordersPlayer [i] <= maxIndexCpu) {
4FF4                               ;             goto (Next);
4FF4                               ;           }
4FF6   BEQ   Next
4FF8   LDA   byte_CB
4FFA   STA   byte_9F,Y             ;           // s'il y a au moins un humain
4FFA                               ;           playersPlotSelectedByCpu [player] = plot;
4FFD
4FFD loc_4FFD:                     ; ...
4FFD   JMP   loc_4F21              ;         }
4FFD                               ;       }
4FFD                               ;     }
4FFD                               ;   }
4FFD                               ; }
5000 ; ---------------------------------------------------------------------------
5000
5000 loc_5000:                     ; ...
5000   LDX   #2
5002
5002 loc_5002:                     ; ...
5002   JSR   sub_1378
5005   JMP   waitJiffyLevel
5005 ; End of function grantLand
5005
5008
5008 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5008
5008
5008 sub_5008:                     ; ...
5008   JSR   sub_5E1B
500B   LDA   #8
500D   STA   OS_COLOR2
5010   LDA   #byte_C2
5012   STA   OS_SDLSTL
5015   LDA   #$1E
5017   STA   OS_SDLSTL+1
501A   LDA   #$B9
501C   STA   OS_VDSLST
501F   LDA   #$2E
5021   STA   OS_VDSLST+1
5024   LDA   #$18
5026   STA   OS_CHBAS
5029   LDA   #0
502B   STA   byte_AB
502D   LDA   #8
502F   STA   OS_GPRIOR
5032   RTS
5032 ; End of function sub_5008
5032
5033
5033 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5033
5033
5033 sub_5033:                     ; ...
5033   JSR   sub_5E1B
5036   LDA   #$24
5038   STA   OS_COLOR0
503B   LDA   #$B4
503D   STA   OS_COLOR1
5040   LDA   #8
5042   STA   OS_COLOR4
5045   LDA   #0
5047   STA   OS_COLOR3
504A   STA   OS_COLOR2
504D   LDA   #byte_E8+3
504F   STA   OS_SDLSTL
5052   LDA   #$1E
5054   STA   OS_SDLSTL+1
5057   LDA   #$B9
5059   STA   OS_VDSLST
505C   LDA   #$2E
505E   STA   OS_VDSLST+1
5061   JMP   wait6
5061 ; End of function sub_5033
5061
5064
5064 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5064
5064
5064 sub_5064:                     ; ...
5064   LDA   OS_COLOR4
5067   STA   OS_PCOLR2
506A   STA   OS_COLOR2
506D   JSR   sub_5E1B
5070   LDA   #0
5072   STA   mountainsX
5075   LDY   #9
5077
5077 loc_5077:                     ; ...
5077   STA   byte_BF00,Y
507A   INY
507B   CPY   #$5C
507D   BNE   loc_5077
507F   LDA   #$70
5081   STA   riverStoreX
5084   LDA   #3
5086   STA   OS_SIZEP3
5089   LDA   #0
508B   STA   OS_PCOLR3
508E   LDX   #0
5090   LDA   #$FF
5092   STA   byte_9D
5094
5094 loc_5094:                     ; ...
5094   LDA   #8
5096   STA   byte_80
5098   LDA   charCity,X
509B
509B loc_509B:                     ; ...
509B   STA   byte_BF00,Y
509E   INY
509F   DEC   byte_80
50A1   BNE   loc_509B
50A3   INX
50A4   CPY   #$9C
50A6   BCC   loc_5094
50A8   LDA   #0
50AA
50AA loc_50AA:                     ; ...
50AA   STA   byte_BF00,Y
50AD   INY
50AE   CPY   #$F1
50B0   BCC   loc_50AA
50B2   RTS
50B2 ; End of function sub_5064
50B2
50B3
50B3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
50B3
50B3
50B3 sub_50B3:                     ; ...
50B3   JSR   C1_255
50B6   JSR   sub_5064
50B9   JSR   wait6
50BC   LDA   #2
50BE   JSR   sub_12CA
50C1   LDA   #3
50C3   JSR   sub_12CA
50C6   JSR   sub_4C61
50C9   LDA   #$40
50CB   LDY   #$1B
50CD   STA   byte_1EF2
50D0   STY   byte_1EF3
50D3   JSR   sub_5033
50D6   LDX   #2
50D8
50D8 loc_50D8:                     ; ...
50D8   LDA   byte_1EF2
50DB   SEC
50DC   SBC   #$A0
50DE   STA   byte_1EF2
50E1   LDA   byte_1EF3
50E4   SBC   #0
50E6   STA   byte_1EF3
50E9   JSR   wait6
50EC   DEX
50ED   BNE   loc_50D8
50EF   JSR   sub_5008
50F2   JMP   drawMulesInStock
50F2 ; End of function sub_50B3
50F2
50F5
50F5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
50F5
50F5
50F5 sub_50F5:                     ; ...
50F5   JSR   C1_255
50F8   LDA   #0
50FA   LDY   #$1A
50FC   STA   byte_1EF2
50FF   STY   byte_1EF3
5102   JSR   sub_5033
5105   LDA   #$1C
5107   STA   OS_CHBAS
510A   LDX   #2
510C
510C loc_510C:                     ; ...
510C   LDA   byte_1EF2
510F   CLC
5110   ADC   #$A0
5112   STA   byte_1EF2
5115   LDA   byte_1EF3
5118   ADC   #0
511A   STA   byte_1EF3
511D   JSR   wait6
5120   DEX
5121   BNE   loc_510C
5123   JSR   sub_5064
5126   JSR   sub_4B89
5129   LDA   #3
512B   STA   OS_SIZEP3
512E   JSR   wait6
5131   LDA   oldRiverStoreX
5134   STA   riverStoreX
5137   LDA   oldMountainX
513A   STA   mountainsX
513D   LDA   #0
513F   STA   byte_9D
5141   JMP   sub_4B89
5141 ; End of function sub_50F5
5141
5144
5144 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5144
5144
5144 wait6:                        ; ...
5144   LDA   #6
5146   JMP   waitJiffy             ; input
5146 ; End of function wait6       ; A: temps à attendre en jiffy (1/60 seconds)
5146
5149
5149 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5149
5149
5149 drawMulesInStock:             ; ...
5149   LDX   goodsStoreNb+4
514C   LDA   #$21
514E   STA   loc_10E9+1
5151   LDA   #$A9
5153   STA   loc_10E2+1
5156   LDA   #0
5158   STA   byte_BA
515A   STA   byte_5A
515C   STA   byte_52
515E   LDA   #6
5160   STA   byte_53
5162   LDA   #8
5164   STA   byte_5B
5166   LDA   #2
5168   STA   byte_90
516A   JSR   sub_1068
516D   TXA
516E   BEQ   loc_51A2
5170   CPX   #8
5172   BCS   loc_5181
5174
5174 loc_5174:                     ; ...
5174   LDA   #2
5176   STA   byte_55
5178   JSR   drawMuleInStock
517B   DEX
517C   BNE   loc_5174
517E   JMP   loc_51A2
5181 ; ---------------------------------------------------------------------------
5181
5181 loc_5181:                     ; ...
5181   CPX   #$F
5183   BCC   loc_5187
5185   LDX   #$E
5187
5187 loc_5187:                     ; ...
5187   LDA   #3
5189   STA   byte_55
518B   JSR   drawMuleInStock
518E   DEX
518F   CPX   #7
5191   BNE   loc_5187
5193   LDA   #0
5195   JSR   sub_10BC
5198
5198 loc_5198:                     ; ...
5198   LDA   #1
519A   STA   byte_55
519C   JSR   drawMuleInStock
519F   DEX
51A0   BNE   loc_5198
51A2
51A2 loc_51A2:                     ; ...
51A2   LDA   #0
51A4   STA   loc_10E2+1
51A7   LDA   #$B5
51A9   STA   loc_10E9+1
51AC   INC   byte_BA
51AE   JSR   sub_110B
51B1   RTS
51B1 ; End of function drawMulesInStock
51B1
51B2
51B2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
51B2
51B2
51B2 drawMuleInStock:              ; ...
51B2   LDA   #$BA
51B4   LDY   #$51
51B6   JSR   addMessage            ; Y/A: High/Low address
51B9   RTS
51B9 ; End of function drawMuleInStock
51B9
51B9 ; ---------------------------------------------------------------------------
51BA   .BYTE $FB ; ¹
51BB   .BYTE $FC ; ³
51BC   .BYTE  $D
51BD
51BD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
51BD
51BD
51BD sub_51BD:                     ; ...
51BD   JSR   C1_255
51C0   JSR   sub_136D
51C3   JSR   sub_4C61
51C6   JSR   prepareStaticMessage
51C9   JSR   sub_50B3
51CC   LDA   byte_9F
51CE   CMP   #$7C
51D0   BNE   loc_51D5
51D2   TAY
51D3   BNE   loc_51E1
51D5
51D5 loc_51D5:                     ; ...
51D5   BCS   loc_51DD
51D7   LDA   #$4C
51D9   LDY   #$44
51DB   BNE   loc_51E1
51DD
51DD loc_51DD:                     ; ...
51DD   LDA   #$AC
51DF   LDY   #$B4
51E1
51E1 loc_51E1:                     ; ...
51E1   STA   byte_9F
51E3   STY   byte_A0
51E5   STY   OS_HPOSP1_M1PF
51E8   LDA   #$58
51EA   STA   byte_A3
51EC   STA   byte_A4
51EE   LDA   #$A
51F0   STA   loc_5650
51F3   STA   loc_5667
51F6   LDA   #$B5
51F8   STA   loc_5676+1
51FB   LDA   #$54
51FD   STA   loc_5676+2
5200   LDA   #$18
5202   STA   loc_56C2+1
5205   LDA   currentPlayer
5207   ASL   A
5208   TAY
5209   LDA   word_909,Y
520C   STA   byte_D4
520E   LDA   word_909+1,Y
5211   STA   byte_D5
5213   LDA   #0
5215   STA   byte_AD
5217   LDY   currentPlayer
5219   LDA   playersColor,Y
521C   STA   OS_PCOLR0
521F   STA   OS_PCOLR1
5222   LDA   #4
5224   STA   byte_C1
5226   RTS
5226 ; End of function sub_51BD
5226
5227
5227 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5227
5227
5227 sub_5227:                     ; ...
5227   JSR   C1_255
522A   JSR   sub_136D
522D   JSR   sub_4C61
5230   JSR   prepareStaticMessage
5233   JSR   sub_50F5
5233 ; End of function sub_5227
5233
5236
5236 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5236
5236
5236 sub_5236:                     ; ...
5236   LDA   byte_9F
5238   CMP   #$7B
523A   BNE   loc_523F
523C   TAY
523D   BNE   loc_524B
523F
523F loc_523F:                     ; ...
523F   BCS   loc_5247
5241   LDA   #$71
5243   LDY   #$77
5245   BNE   loc_524B
5247
5247 loc_5247:                     ; ...
5247   LDA   #$87
5249   LDY   #$81
524B
524B loc_524B:                     ; ...
524B   STA   byte_9F
524D   STY   byte_A0
524F   STY   OS_HPOSP1_M1PF
5252   LDA   #$74
5254   STA   byte_A3
5256   STA   byte_A4
5258   LDA   #$EA
525A   STA   loc_5650
525D   STA   loc_5667
5260   LDA   #$DC
5262   STA   loc_5676+1
5265   LDA   #$56
5267   STA   loc_5676+2
526A   LDA   #8
526C   STA   loc_56C2+1
526F   LDA   currentPlayer
5271   ASL   A
5272   TAY
5273   LDA   unk_911,Y
5276   STA   byte_D4
5278   LDA   unk_912,Y
527B   STA   byte_D5
527D   LDA   #1
527F   STA   byte_AD
5281   LDY   currentPlayer
5283   LDA   playersColor,Y
5286   EOR   #6
5288   STA   OS_PCOLR0
528B   STA   OS_PCOLR1
528E   LDA   #4
5290   STA   byte_C1
5292   STA   byte_A9
5294   RTS
5294 ; End of function sub_5236
5294
5294 ; ---------------------------------------------------------------------------
5295 byte_5295:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D ; ...
5295   .BYTE $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, 0, 0, 0, 0, 0, 0
5295   .BYTE $3D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $3D, $3D
5295   .BYTE $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D, $3D
5295   .BYTE $3D, $3D, $AD, $B5, $AC, $A5, $B3, $3D, $3D, 0, 0, 0, 0, 0, 0
5295   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
5295   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
530D
530D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
530D
530D
530D drawMulePriceAndCurrentPlayerCash: ; ...
530D   LDY   #119
530F
530F loc_530F:                     ; ...
530F   LDA   byte_5295,Y
5312   STA   byte_B82C,Y
5315   DEY
5316   BPL   loc_530F
5318   LDA   #0
531A   STA   byte_90
531C   LDA   #$46
531E   STA   byte_5C
5320   LDA   #$B8
5322   STA   byte_5D
5324   LDA   #0
5326   STA   byte_55
5328   LDA   #$A4
532A   JSR   decodeCharToMessage   ; $
532D   LDX   mulePriceL
5330   LDA   mulePriceH
5333   JSR   decodeNumberToMessage ; mulePrice
5336   LDA   #$84
5338   STA   byte_5C
533A   LDA   #$B8
533C   STA   byte_5D
533E   LDA   #0
5340   STA   byte_55
5342   LDA   #$87                  ; // YOUR_MONEY_EQUALS_$
5344   LDY   #$3F
5346   JSR   addMessage            ; // YOUR_MONEY_EQUALS_$
5346 ; End of function drawMulePriceAndCurrentPlayerCash ; drawCurrentPlayerCash
5346
5349
5349 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5349
5349
5349 drawCurrentPlayerCash:        ; ...
5349   LDA   #$97
534B   STA   byte_5C
534D   LDA   #$B8
534F   STA   byte_5D
5351   LDA   #0
5353   STA   byte_90
5355   STA   byte_55
5357   LDA   currentPlayer
5359   ASL   A
535A   TAY
535B   LDX   playersCash,Y
535E   INY
535F   LDA   playersCash,Y
5362   JSR   decodeNumberToMessage ; input
5362                               ; A/X: nombre 16 bits
5365   LDX   #5
5367
5367 loc_5367:                     ; ...
5367   LDA   #0
5369   JSR   sub_1100
536C   DEX
536D   BNE   loc_5367
536F   RTS
536F ; End of function drawCurrentPlayerCash
536F
5370
5370 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5370
5370
5370 sub_5370:                     ; ...
5370   CLC
5371   ADC   #$BC
5373   STA   byte_5385
5376   STY   byte_5384
5379   STX   byte_5389
537C   LDY   byte_AA
537E   LDX   #1
5380   INY
5381
5381 loc_5381:                     ; ...
5381   LDA   ($D4),Y
5381 ; ---------------------------------------------------------------------------
5383   .BYTE $9D ; Ø               ; STA
5384 byte_5384:.BYTE $71           ; ...
5385 byte_5385:.BYTE $BC           ; ...
5386 ; ---------------------------------------------------------------------------
5386   INX
5387   INY
5387 ; ---------------------------------------------------------------------------
5388   .BYTE $E0 ; Ó               ; CPX
5389 byte_5389:.BYTE $C            ; ...
538A ; ---------------------------------------------------------------------------
538A   BNE   loc_5381
538C   RTS
538C ; End of function sub_5370
538C
538D
538D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
538D
538D
538D sub_538D:                     ; ...
538D   STY   loc_53AD+1
5390   STX   loc_53B2+1
5393   LDA   #$BE
5395   LDY   #$54
5397   LDX   byte_AD
5399   BEQ   loc_539F
539B   LDA   #$AE
539D   LDY   #$55
539F
539F loc_539F:                     ; ...
539F   STA   loc_53AA+1
53A2
53A2 loc_53A2:
53A2   STY   loc_53AA+2
53A5   LDX   byte_AA
53A7   LDY   #1
53A9   INX
53AA
53AA loc_53AA:                     ; ...
53AA   LDA   $54BE,X               ; LDA
53AD
53AD loc_53AD:                     ; ...
53AD   STA   $BD00,Y               ; STA
53B0   INX
53B1   INY
53B2
53B2 loc_53B2:                     ; ...
53B2   CPY   #$18                  ; CPY
53B4   BNE   loc_53AA
53B6   RTS
53B6 ; End of function sub_538D
53B6
53B7
53B7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
53B7
53B7
53B7 sub_53B7:                     ; ...
53B7   CLC
53B8   ADC   #$BC
53BA   STA   byte_53C4
53BD   STY   byte_53C3
53C0   LDA   #0
53C0 ; ---------------------------------------------------------------------------
53C2 unk_53C2:.BYTE $9D ; Ø        ; ...
53C2                               ; STA
53C3 byte_53C3:.BYTE $FF           ; ...
53C4 byte_53C4:.BYTE $FE           ; ...
53C5 ; ---------------------------------------------------------------------------
53C5   DEX
53C6   BPL   unk_53C2
53C8   RTS
53C8 ; End of function sub_53B7
53C8
53C9 ; ---------------------------------------------------------------------------
53C9 ; START OF FUNCTION CHUNK FOR v05
53C9
53C9 loc_53C9:                     ; ...
53C9   LDA   #0
53CB   STA   byte_81
53CD   LDA   #1
53CF   STA   OS_SIZEP1
53D2   LDA   #1
53D4   LDY   byte_A4
53D6   LDX   #$18
53D8   JSR   sub_53B7
53DB   LDA   byte_A7
53DD   BNE   loc_5404
53DF   LDA   byte_A0
53E1   CLC
53E2   ADC   #9
53E4   SEC
53E5   SBC   byte_9F
53E7   BPL   loc_5404
53E9   CMP   #$FC
53EB   BNE   loc_53FA
53ED   LDA   byte_A0
53EF   CLC
53F0   ADC   #4
53F2   STA   byte_A0
53F4   STA   OS_HPOSP1_M1PF
53F7   JMP   loc_5404
53FA ; ---------------------------------------------------------------------------
53FA
53FA loc_53FA:                     ; ...
53FA   LDA   byte_A0
53FC   CLC
53FD   ADC   #8
53FF   STA   byte_A0
5401   STA   OS_HPOSP1_M1PF
5404
5404 loc_5404:                     ; ...
5404   LDA   byte_9F
5406   CLC
5407   ADC   #$A
5409   SEC
540A   SBC   byte_A0
540C   BMI   loc_542D
540E   CMP   #$1C
5410   BCS   loc_542D
5412   CMP   #$14
5414   BCS   loc_541D
5416
5416 loc_5416:                     ; ...
5416   LDA   #1
5418   STA   byte_81
541A   JMP   loc_5451
541D ; ---------------------------------------------------------------------------
541D
541D loc_541D:                     ; ...
541D   LDA   byte_A7
541F   CMP   #4
5421   BNE   loc_5416
5423   LDA   byte_A0
5425   SEC
5426   SBC   #8
5428   STA   byte_A0
542A   STA   OS_HPOSP1_M1PF
542D
542D loc_542D:                     ; ...
542D   LDA   byte_A0
542F   CLC
5430   ADC   byte_A7
5432   STA   byte_A0
5434   STA   OS_HPOSP1_M1PF
5437   LDA   byte_A3
5439   SEC
543A   SBC   byte_A4
543C   BEQ   loc_5451
543E   BMI   loc_544A
5440   LDA   byte_A4
5442   CLC
5443   ADC   #4
5445   STA   byte_A4
5447   JMP   loc_5451
544A ; ---------------------------------------------------------------------------
544A
544A loc_544A:                     ; ...
544A   LDA   byte_A4
544C   SEC
544D   SBC   #4
544F   STA   byte_A4
5451
5451 loc_5451:                     ; ...
5451   LDA   byte_A3
5453   CLC
5454   ADC   #$16
5456   SEC
5457   SBC   byte_A4
5459   BMI   loc_546D
545B   CMP   #$2C
545D   BCS   loc_546D
545F   LDA   byte_81
5461   BNE   loc_5466
5463   JMP   loc_549B
5466 ; ---------------------------------------------------------------------------
5466
5466 loc_5466:                     ; ...
5466   LDA   #$60
5468   STA   byte_AA
546A   JMP   loc_549B
546D ; ---------------------------------------------------------------------------
546D
546D loc_546D:                     ; ...
546D   LDA   byte_A4
546F   CLC
5470   ADC   byte_A8
5472   STA   byte_A4
5474   LDA   byte_9F
5476   SEC
5477   SBC   byte_A0
5479   BEQ   loc_549B
547B   BMI   loc_5491
547D   LDA   byte_A7
547F   BEQ   loc_5484
5481   JMP   loc_549B
5484 ; ---------------------------------------------------------------------------
5484
5484 loc_5484:                     ; ...
5484   LDA   byte_A0
5486   CLC
5487   ADC   #4
5489   STA   byte_A0
548B   STA   OS_HPOSP1_M1PF
548E   JMP   loc_549B
5491 ; ---------------------------------------------------------------------------
5491
5491 loc_5491:                     ; ...
5491   LDA   byte_A0
5493   SEC
5494   SBC   #4
5496   STA   byte_A0
5498   STA   OS_HPOSP1_M1PF
549B
549B loc_549B:                     ; ...
549B   LDA   byte_AA
549D   CMP   #$60
549F   BCC   loc_54A6
54A1   LDX   #2
54A3   STA   OS_SIZEP1
54A6
54A6 loc_54A6:                     ; ...
54A6   LDX   #$18
54A8   LDY   byte_A4
54AA   LDA   #1
54AC   JMP   sub_538D
54AC ; END OF FUNCTION CHUNK FOR v05
54AC ; ---------------------------------------------------------------------------
54AF   .BYTE   1
54B0   .BYTE   2
54B1   .BYTE   0
54B2   .BYTE   0
54B3   .BYTE   3
54B4   .BYTE   6
54B5   .BYTE   0
54B6   .BYTE   0
54B7   .BYTE   0
54B8   .BYTE $30 ; 0
54B9   .BYTE $30 ; 0
54BA   .BYTE $30 ; 0
54BB   .BYTE $60 ; `
54BC   .BYTE $90 ; É
54BD   .BYTE $C0 ; +
54BE   .BYTE   0
54BF   .BYTE   0
54C0   .BYTE   0
54C1   .BYTE $30 ; 0
54C2   .BYTE $7A ; z
54C3   .BYTE $FE ; ¦
54C4   .BYTE $FD ; ²
54C5   .BYTE $FF
54C6   .BYTE $FF
54C7   .BYTE $FB ; ¹
54C8   .BYTE $FA ; ·
54C9   .BYTE $68 ; h
54CA   .BYTE $68 ; h
54CB   .BYTE $4C ; L
54CC   .BYTE $CC ; ¦
54CD   .BYTE $C4 ; -
54CE   .BYTE $84 ; ä
54CF   .BYTE $84 ; ä
54D0   .BYTE $84 ; ä
54D1   .BYTE $84 ; ä
54D2   .BYTE $C6 ; ã
54D3   .BYTE   0
54D4   .BYTE   0
54D5   .BYTE   0
54D6   .BYTE   0
54D7   .BYTE   0
54D8   .BYTE $30 ; 0
54D9   .BYTE $30 ; 0
54DA   .BYTE $78 ; x
54DB   .BYTE $78 ; x
54DC   .BYTE $7A ; z
54DD   .BYTE $FE ; ¦
54DE   .BYTE $FD ; ²
54DF   .BYTE $FF
54E0   .BYTE $FF
54E1   .BYTE $CB ; -
54E2   .BYTE $CA ; -
54E3   .BYTE $68 ; h
54E4   .BYTE $78 ; x
54E5   .BYTE $38 ; 8
54E6   .BYTE $70 ; p
54E7   .BYTE $70 ; p
54E8   .BYTE $70 ; p
54E9   .BYTE $50 ; P
54EA   .BYTE $78 ; x
54EB   .BYTE   0
54EC   .BYTE   0
54ED   .BYTE   0
54EE   .BYTE   0
54EF   .BYTE   0
54F0   .BYTE   0
54F1   .BYTE  $C
54F2   .BYTE $5E ; ^
54F3   .BYTE $7F ; 
54F4   .BYTE $BF ; +
54F5   .BYTE $FF
54F6   .BYTE $FF
54F7   .BYTE $DF ; ¯
54F8   .BYTE $57 ; W
54F9   .BYTE $16
54FA   .BYTE $16
54FB   .BYTE $32 ; 2
54FC   .BYTE $33 ; 3
54FD   .BYTE $23 ; #
54FE   .BYTE $21 ; !
54FF   .BYTE $21 ; !
5500   .BYTE $21 ; !
5501   .BYTE $21 ; !
5502   .BYTE $63 ; c
5503   .BYTE   0
5504   .BYTE   0
5505   .BYTE   0
5506   .BYTE   0
5507   .BYTE   0
5508   .BYTE  $C
5509   .BYTE  $C
550A   .BYTE $1E
550B   .BYTE $1E
550C   .BYTE $5E ; ^
550D   .BYTE $7F ; 
550E   .BYTE $BF ; +
550F   .BYTE $FF
5510   .BYTE $FF
5511   .BYTE $D3 ; Ë
5512   .BYTE $53 ; S
5513   .BYTE $16
5514   .BYTE $1E
5515   .BYTE $1C
5516   .BYTE  $E
5517   .BYTE  $E
5518   .BYTE  $E
5519   .BYTE  $A
551A   .BYTE $1E
551B   .BYTE   0
551C   .BYTE   0
551D   .BYTE   0
551E   .BYTE   0
551F   .BYTE   0
5520   .BYTE $3C ; <
5521   .BYTE $42 ; B
5522   .BYTE $FF
5523   .BYTE $DB ; ¦
5524   .BYTE $DB ; ¦
5525   .BYTE $DB ; ¦
5526   .BYTE $FF
5527   .BYTE $FF
5528   .BYTE $42 ; B
5529   .BYTE $7E ; ~
552A   .BYTE $66 ; f
552B   .BYTE $66 ; f
552C   .BYTE $66 ; f
552D   .BYTE $66 ; f
552E   .BYTE $66 ; f
552F   .BYTE $66 ; f
5530   .BYTE $66 ; f
5531   .BYTE $66 ; f
5532   .BYTE $E7 ; þ
5533   .BYTE   0
5534   .BYTE   0
5535   .BYTE   0
5536   .BYTE   0
5537   .BYTE   0
5538   .BYTE $3C ; <
5539   .BYTE $42 ; B
553A   .BYTE $FF
553B   .BYTE $DB ; ¦
553C   .BYTE $DB ; ¦
553D   .BYTE $DB ; ¦
553E   .BYTE $FF
553F   .BYTE $FF
5540   .BYTE $42 ; B
5541   .BYTE $7E ; ~
5542   .BYTE $66 ; f
5543   .BYTE $66 ; f
5544   .BYTE $66 ; f
5545   .BYTE $66 ; f
5546   .BYTE $66 ; f
5547   .BYTE $66 ; f
5548   .BYTE $66 ; f
5549   .BYTE $66 ; f
554A   .BYTE $E7 ; þ
554B   .BYTE   0
554C   .BYTE   0
554D   .BYTE   0
554E   .BYTE   0
554F   .BYTE   0
5550   .BYTE   0
5551   .BYTE   0
5552   .BYTE $3C ; <
5553   .BYTE $7E ; ~
5554   .BYTE $42 ; B
5555   .BYTE $FF
5556   .BYTE $DB ; ¦
5557   .BYTE $DB ; ¦
5558   .BYTE $DB ; ¦
5559   .BYTE $FF
555A   .BYTE $FF
555B   .BYTE $42 ; B
555C   .BYTE $66 ; f
555D   .BYTE $66 ; f
555E   .BYTE $66 ; f
555F   .BYTE $66 ; f
5560   .BYTE $66 ; f
5561   .BYTE $67 ; g
5562   .BYTE $67 ; g
5563   .BYTE $E0 ; Ó
5564   .BYTE   0
5565   .BYTE   0
5566   .BYTE   0
5567   .BYTE   0
5568   .BYTE   0
5569   .BYTE   0
556A   .BYTE $3C ; <
556B   .BYTE $7E ; ~
556C   .BYTE $42 ; B
556D   .BYTE $FF
556E   .BYTE $DB ; ¦
556F   .BYTE $DB ; ¦
5570   .BYTE $DB ; ¦
5571   .BYTE $FF
5572   .BYTE $FF
5573   .BYTE $42 ; B
5574   .BYTE $66 ; f
5575   .BYTE $66 ; f
5576   .BYTE $66 ; f
5577   .BYTE $66 ; f
5578   .BYTE $66 ; f
5579   .BYTE $E6 ; µ
557A   .BYTE $E6 ; µ
557B   .BYTE   7
557C   .BYTE   0
557D   .BYTE   0
557E   .BYTE   0
557F   .BYTE $18
5580   .BYTE $3C ; <
5581   .BYTE $42 ; B
5582   .BYTE $FF
5583   .BYTE $FF
5584   .BYTE $FF
5585   .BYTE $FF
5586   .BYTE $FF
5587   .BYTE $7E ; ~
5588   .BYTE $7E ; ~
5589   .BYTE $42 ; B
558A   .BYTE $66 ; f
558B   .BYTE $66 ; f
558C   .BYTE $66 ; f
558D   .BYTE $66 ; f
558E   .BYTE $66 ; f
558F   .BYTE $66 ; f
5590   .BYTE $67 ; g
5591   .BYTE $67 ; g
5592   .BYTE $E0 ; Ó
5593   .BYTE   0
5594   .BYTE   0
5595   .BYTE   0
5596   .BYTE   0
5597   .BYTE $18
5598   .BYTE $3C ; <
5599   .BYTE $42 ; B
559A   .BYTE $FF
559B   .BYTE $FF
559C   .BYTE $FF
559D   .BYTE $FF
559E   .BYTE $FF
559F   .BYTE $7E ; ~
55A0   .BYTE $7E ; ~
55A1   .BYTE $42 ; B
55A2   .BYTE $66 ; f
55A3   .BYTE $66 ; f
55A4   .BYTE $66 ; f
55A5   .BYTE $66 ; f
55A6   .BYTE $66 ; f
55A7   .BYTE $66 ; f
55A8   .BYTE $E6 ; µ
55A9   .BYTE $E6 ; µ
55AA   .BYTE   7
55AB   .BYTE   0
55AC   .BYTE   0
55AD   .BYTE   0
55AE   .BYTE   0
55AF   .BYTE $76 ; v
55B0   .BYTE $FD ; ²
55B1   .BYTE $F6 ; ÷
55B2   .BYTE $50 ; P
55B3   .BYTE $C8 ; +
55B4   .BYTE $88 ; ê
55B5   .BYTE $CC ; ¦
55B6   .BYTE   0
55B7   .BYTE $76 ; v
55B8   .BYTE $FD ; ²
55B9   .BYTE $F6 ; ÷
55BA   .BYTE $50 ; P
55BB   .BYTE $30 ; 0
55BC   .BYTE $50 ; P
55BD   .BYTE $78 ; x
55BE   .BYTE   0
55BF   .BYTE $6E ; n
55C0   .BYTE $BF ; +
55C1   .BYTE $6F ; o
55C2   .BYTE  $A
55C3   .BYTE $13
55C4   .BYTE $11
55C5   .BYTE $33 ; 3
55C6   .BYTE   0
55C7   .BYTE $6E ; n
55C8   .BYTE $BF ; +
55C9   .BYTE $6F ; o
55CA   .BYTE  $A
55CB   .BYTE  $C
55CC   .BYTE  $A
55CD   .BYTE $15
55CE   .BYTE   0
55CF   .BYTE $18
55D0   .BYTE $24 ; $
55D1   .BYTE $3C ; <
55D2   .BYTE $24 ; $
55D3   .BYTE $24 ; $
55D4   .BYTE $24 ; $
55D5   .BYTE $24 ; $
55D6   .BYTE   0
55D7   .BYTE $18
55D8   .BYTE $24 ; $
55D9   .BYTE $3C ; <
55DA   .BYTE $24 ; $
55DB   .BYTE $24 ; $
55DC   .BYTE $24 ; $
55DD   .BYTE $24 ; $
55DE   .BYTE   0
55DF   .BYTE $18
55E0   .BYTE $24 ; $
55E1   .BYTE $3C ; <
55E2   .BYTE $24 ; $
55E3   .BYTE $24 ; $
55E4   .BYTE $24 ; $
55E5   .BYTE $20
55E6   .BYTE   0
55E7   .BYTE $18
55E8   .BYTE $24 ; $
55E9   .BYTE $3C ; <
55EA   .BYTE $24 ; $
55EB   .BYTE $24 ; $
55EC   .BYTE $24 ; $
55ED   .BYTE   4
55EE   .BYTE   0
55EF   .BYTE $3C ; <
55F0   .BYTE $3C ; <
55F1   .BYTE $3C ; <
55F2   .BYTE $24 ; $
55F3   .BYTE $24 ; $
55F4   .BYTE $24 ; $
55F5   .BYTE $20
55F6   .BYTE   0
55F7   .BYTE $3C
55F8   .BYTE $3C ; <
55F9   .BYTE $3C ; <
55FA   .BYTE $24
55FB   .BYTE $24 ; $
55FC   .BYTE $24
55FD   .BYTE   4
55FE
55FE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
55FE
55FE
55FE v05:
55FE
55FE ; FUNCTION CHUNK AT 53C9 SIZE 000000E6 BYTES
55FE
55FE   LDA   byte_C4
5600   BNE   loc_5622
5602   LDA   byte_D3
5604   BMI   loc_5622
5606   BEQ   loc_5622
5608   DEC   byte_D3
560A   LDA   wampusTime
560D   BEQ   loc_5612              ; if (wampusTime != 0) {
560F   DEC   wampusTime            ;   wampusTime --
560F                               ; }
5612
5612 loc_5612:                     ; ...
5612   LDA   #$C1
5614   SEC
5615   SBC   byte_D3
5617   TAY
5618   LDA   #0
561A   STA   charTime,Y
561D   LDA   playerTurnTimeWait
5620   STA   byte_C4
5622
5622 loc_5622:                     ; ...
5622   JSR   wampus
5622 ; End of function v05
5622
5625
5625 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5625
5625
5625 v14:
5625   LDX   byte_A9
5627   INX
5628   STX   byte_A9
562A   CPX   #6
562C   BEQ   loc_5634
562E   LDA   #0
5630   STA   OS_AUDC3_POT5
5633   RTS
5634 ; ---------------------------------------------------------------------------
5634
5634 loc_5634:                     ; ...
5634   LDX   #0
5636   STX   byte_A9
5638   LDA   byte_D3
563A   BPL   loc_563F
563C   JMP   loc_5853
563F ; ---------------------------------------------------------------------------
563F
563F loc_563F:                     ; ...
563F   LDY   byte_E7
5641   LDA   $BD,Y
5644   ORA   byte_E3
5646   STA   byte_DC
5648   TAY
5649   AND   #3
564B   TAX
564C   DEX
564D   LDA   unk_56D9,X
5650
5650 loc_5650:                     ; ...
5650   ASL   A
5651   STA   byte_A8
5653   CLC
5654   ADC   byte_A3
5656   STA   byte_DA
5658   LDA   $54AF,X
565B   STA   byte_AA
565D   TYA
565E   AND   #$C
5660   LSR   A
5661   LSR   A
5662   TAX
5663   DEX
5664   LDA   $56D6,X
5667
5667 loc_5667:                     ; ...
5667   ASL   A
5668   STA   byte_A7
566A   CLC
566B   ADC   byte_9F
566D   STA   byte_D9
566F   LDA   $54B2,X
5672   CLC
5673   ADC   byte_AA
5675   TAY
5676
5676 loc_5676:                     ; ...
5676   LDA   $54B5,Y
5679   STA   byte_AA
567B   LDA   byte_AB
567D   EOR   #1
567F   STA   byte_AB
5681   BEQ   loc_568B
5683   LDA   #8
5685   LDX   byte_AD
5687   BNE   loc_568B
5689   LDA   #$18
568B
568B loc_568B:                     ; ...
568B   CLC
568C   ADC   byte_AA
568E   STA   byte_AA
5690   JSR   loc_5775
5693   LDA   byte_DA
5695   STA   byte_A3
5697   LDA   byte_D9
5699   STA   byte_9F
569B   STA   OS_HPOSP0_M0PF
569E   LDA   #0
56A0   LDY   byte_A3
56A2   DEY
56A3   DEY
56A4   DEY
56A5   LDX   #$1C
56A7   JSR   sub_53B7
56AA   LDY   byte_AA
56AC   LDA   ($D4),Y
56AE   BEQ   loc_56BB
56B0   LDY   currentPlayer
56B2   LDA   $930,Y
56B5   STA   OS_AUDF3_POT4
56B8   LDA   $934,Y
56BB
56BB loc_56BB:                     ; ...
56BB   STA   OS_AUDC3_POT5
56BE   LDY   byte_A3
56C0   LDA   #0
56C2
56C2 loc_56C2:                     ; ...
56C2   LDX   #$FF
56C4   JSR   sub_5370
56C7   LDA   byte_E0
56C9   BEQ   locret_56D5
56CB   LDA   byte_AD
56CD   BNE   loc_56D2
56CF   JMP   loc_53C9
56D2 ; ---------------------------------------------------------------------------
56D2
56D2 loc_56D2:                     ; ...
56D2   JMP   sub_56E5
56D5 ; ---------------------------------------------------------------------------
56D5
56D5 locret_56D5:                  ; ...
56D5   RTS
56D5 ; End of function v14
56D5
56D5 ; ---------------------------------------------------------------------------
56D6   .BYTE   2
56D7   .BYTE $FE ; ¦
56D8   .BYTE   0
56D9 unk_56D9:.BYTE   2            ; ...
56DA   .BYTE $FE ; ¦
56DB   .BYTE   0
56DC   .BYTE   0
56DD   .BYTE   0
56DE   .BYTE   0
56DF   .BYTE $10
56E0   .BYTE $10
56E1   .BYTE $10
56E2   .BYTE $20
56E3   .BYTE $30 ; 0
56E4   .BYTE $40 ; @
56E5
56E5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
56E5
56E5
56E5 sub_56E5:                     ; ...
56E5
56E5 ; FUNCTION CHUNK AT 581A SIZE 00000078 BYTES
56E5
56E5   LDA   #0
56E7   STA   byte_DA
56E9   LDA   #1
56EB   LDY   byte_A4
56ED   LDX   #9
56EF   JSR   sub_53B7
56F2   LDA   byte_9F
56F4   CLC
56F5   ADC   #6
56F7   SEC
56F8   SBC   byte_A0
56FA   BMI   loc_5707
56FC   CMP   #$E
56FE   BCS   loc_5707
5700   LDA   #1
5702   STA   byte_DA
5704   JMP   loc_572B
5707 ; ---------------------------------------------------------------------------
5707
5707 loc_5707:                     ; ...
5707   LDA   byte_A0
5709   CLC
570A   ADC   byte_A7
570C   STA   byte_A0
570E   STA   OS_HPOSP1_M1PF
5711   LDA   byte_A3
5713   SEC
5714   SBC   byte_A4
5716   BEQ   loc_572B
5718   BMI   loc_5724
571A   LDA   byte_A4
571C   CLC
571D   ADC   #2
571F   STA   byte_A4
5721   JMP   loc_572B
5724 ; ---------------------------------------------------------------------------
5724
5724 loc_5724:                     ; ...
5724   LDA   byte_A4
5726   SEC
5727   SBC   #2
5729   STA   byte_A4
572B
572B loc_572B:                     ; ...
572B   LDA   byte_A3
572D   CLC
572E   ADC   #9
5730   SEC
5731   SBC   byte_A4
5733   BMI   loc_5747
5735   CMP   #$12
5737   BCS   loc_5747
5739   LDA   byte_DA
573B   BNE   loc_5740
573D   JMP   loc_576E
5740 ; ---------------------------------------------------------------------------
5740
5740 loc_5740:                     ; ...
5740   LDA   #$20
5742   STA   byte_AA
5744   JMP   loc_576E
5747 ; ---------------------------------------------------------------------------
5747
5747 loc_5747:                     ; ...
5747   LDA   byte_A4
5749   CLC
574A   ADC   byte_A8
574C   STA   byte_A4
574E   LDA   byte_9F
5750   SEC
5751   SBC   byte_A0
5753   BEQ   loc_576E
5755   BMI   loc_5764
5757   LDA   byte_A0
5759   CLC
575A   ADC   #2
575C   STA   byte_A0
575E   STA   OS_HPOSP1_M1PF
5761   JMP   loc_576E
5764 ; ---------------------------------------------------------------------------
5764
5764 loc_5764:                     ; ...
5764   LDA   byte_A0
5766   SEC
5767   SBC   #2
5769   STA   byte_A0
576B   STA   OS_HPOSP1_M1PF
576E
576E loc_576E:                     ; ...
576E   LDY   byte_A4
5770   LDX   #8
5772   JMP   sub_538D
5775 ; ---------------------------------------------------------------------------
5775
5775 loc_5775:                     ; ...
5775   LDA   byte_AD
5777   BEQ   loc_577C
5779   JMP   loc_581A
577C ; ---------------------------------------------------------------------------
577C
577C loc_577C:                     ; ...
577C   LDA   byte_D9
577E   SEC
577F   SBC   #$30
5781   LSR   A
5782   LSR   A
5783   TAY
5784   LDA   byte_DA
5786   CMP   #$54
5788   BCC   loc_5795
578A   CMP   #$5E
578C   BCS   loc_5795
578E   LDA   #0
5790   STA   byte_E3
5792   STA   byte_AF
5794   RTS
5795 ; ---------------------------------------------------------------------------
5795
5795 loc_5795:                     ; ...
5795   PHP
5796   LDA   byte_A3
5798   CMP   #$54
579A   BCC   loc_57A0
579C   CMP   #$5E
579E   BCC   loc_57AA
57A0
57A0 loc_57A0:                     ; ...
57A0   LDA   byte_9F
57A2   STA   byte_D9
57A4   LDA   byte_E3
57A6   ORA   #$C
57A8   STA   byte_E3
57AA
57AA loc_57AA:                     ; ...
57AA   LDA   byte_DC
57AC   AND   #3
57AE   PLP
57AF   BCS   loc_57CF
57B1   CMP   #2
57B3   BNE   locret_5819
57B5   LDX   unk_1E00,Y
57B8   BEQ   loc_57CA
57BA   STX   byte_AF
57BC   LDA   byte_E0
57BE   BNE   loc_57C4
57C0   LDA   #1
57C2   BNE   loc_57C8
57C4
57C4 loc_57C4:                     ; ...
57C4   JSR   sub_57FB
57C7   RTS
57C8 ; ---------------------------------------------------------------------------
57C8
57C8 loc_57C8:                     ; ...
57C8   STA   byte_C2
57CA
57CA loc_57CA:                     ; ...
57CA   LDA   byte_A3
57CC   STA   byte_DA
57CE   RTS
57CF ; ---------------------------------------------------------------------------
57CF
57CF loc_57CF:                     ; ...
57CF   CMP   #1
57D1   BNE   locret_5819
57D3   LDX   unk_1E28,Y
57D6   BEQ   loc_57CA
57D8   STX   byte_AF
57DA   CPX   #8
57DC   BEQ   loc_57E9
57DE   JSR   sub_57FB
57E1   LDA   byte_E0
57E3   BEQ   locret_5819
57E5   LDA   #2
57E7   BNE   loc_57C8
57E9
57E9 loc_57E9:                     ; ...
57E9   LDA   byte_E0
57EB   BNE   locret_5819
57ED   JSR   sub_57FB
57F0   LDY   currentPlayer
57F2   LDA   goodsStoreNb+4
57F5   BNE   locret_5819
57F7   LDA   #4
57F9   BNE   loc_57C8
57F9 ; End of function sub_56E5
57F9
57FB
57FB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
57FB
57FB
57FB sub_57FB:                     ; ...
57FB   LDA   currentPlayer
57FD   ASL   A
57FE   TAY
57FF   LDA   playersCash,Y
5802   SEC
5803   SBC   outfitsPriceL,X
5806   INY
5807   LDA   playersCash,Y
580A   SBC   outfitsPriceH,X
580D   BCS   locret_5819           ; if (PLAYERS_CASH [CURRENT_PLAYER] >=
580D                               ;     OUTFITS_PRICE [X] ) {
580F   LDA   #3
5811   STA   byte_C2               ;   byte_C2 = 3
5813   PLA                         ;   // ??
5814   PLA
5815   LDA   byte_A3
5817   STA   byte_DA
5819
5819 locret_5819:                  ; ...
5819   RTS                         ; }
5819 ; End of function sub_57FB
5819
581A ; ---------------------------------------------------------------------------
581A ; START OF FUNCTION CHUNK FOR loc_5775
581A
581A loc_581A:                     ; ...
581A   LDA   byte_D9
581C   CMP   #$37
581E   BCC   loc_5824
5820   CMP   #$C6
5822   BCC   loc_5828
5824
5824 loc_5824:                     ; ...
5824   LDA   byte_9F
5826   STA   byte_D9
5828
5828 loc_5828:                     ; ...
5828   LDA   byte_DA
582A   CMP   #$2C
582C   BCC   loc_5832
582E   CMP   #$C5
5830   BCC   loc_5837
5832
5832 loc_5832:                     ; ...
5832   LDA   byte_A3
5834   STA   byte_DA
5836   RTS
5837 ; ---------------------------------------------------------------------------
5837
5837 loc_5837:                     ; ...
5837   LDA   OS_SIZEM
583A   AND   #4
583C   BEQ   loc_5848
583E   LDY   #$F1
5840   LDA   OS_HPOSM0_P0PF
5843   BNE   locret_5847
5845
5845 loc_5845:                     ; ...
5845   STY   byte_A9
5847
5847 locret_5847:                  ; ...
5847   RTS
5848 ; ---------------------------------------------------------------------------
5848
5848 loc_5848:                     ; ...
5848   LDA   OS_SIZEM
584B   AND   #8
584D   BEQ   locret_5847
584F   LDY   #$F8
5851   BNE   loc_5845
5853
5853 loc_5853:                     ; ...
5853   LDA   byte_E0
5855   BNE   loc_5858
5857   RTS
5858 ; ---------------------------------------------------------------------------
5858
5858 loc_5858:                     ; ...
5858   LDA   byte_A0
585A   CMP   #$7B
585C   BCS   loc_586D
585E   SEC
585F   SBC   #4
5861   STA   byte_A0
5863   STA   OS_HPOSP1_M1PF
5866   LDA   #$10
5868   STA   byte_AA
586A   JMP   loc_5879
586D ; ---------------------------------------------------------------------------
586D
586D loc_586D:                     ; ...
586D   CLC
586E   ADC   #4
5870   STA   byte_A0
5872   STA   OS_HPOSP1_M1PF
5875   LDA   #0
5877   STA   byte_AA
5879
5879 loc_5879:                     ; ...
5879   LDA   byte_AB
587B   EOR   #8
587D   STA   byte_AB
587F   PHA
5880   ORA   #$A0
5882   STA   OS_AUDC1_POT2
5885   PLA
5886   CLC
5887   ADC   byte_AA
5889   STA   byte_AA
588B   LDY   byte_A4
588D   LDX   #8
588F   JMP   sub_538D
588F ; END OF FUNCTION CHUNK FOR loc_5775
5892
5892 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5892
5892 ; input
5892 ; byte_89:
5892 ; 1 _____USAGE______
5892 ; 2 ____SPOILAGE____
5892 ; 3 ___PRODUCTION___
5892 ; byte_B301 []: source
5892 ; byte_B309 []: destination
5892
5892 animUsageOrSpoilageOrProd:    ; ...
5892   JSR   sub_1363
5895   LDA   #0
5897   STA   byte_8A
5899   LDX   #3
589B
589B loc_589B:                     ; ...
589B   STA   byte_B1B5,X
589E   DEX
589F   BPL   loc_589B              ; byte_B1B5 [] = 0
58A1   LDA   #$1A
58A3   JSR   sub_10BC
58A6   LDA   #0
58A8   STA   byte_55
58AA   JSR   sub_107C
58AD   LDX   #2
58AF   STX   byte_55
58B1   DEX
58B2   STX   byte_90
58B4   LDA   #$7A                  ; 0 _____USAGE______
58B4                               ; 1 ____SPOILAGE____
58B4                               ; 2 ___PRODUCTION___
58B6   LDY   #$3A
58B8   LDX   byte_89
58BA   DEX
58BB   JSR   addToMessageWithOffset ; 0 _____USAGE______
58BB                               ; 1 ____SPOILAGE____
58BB                               ; 2 ___PRODUCTION___
58BE
58BE loc_58BE:                     ; ...
58BE   LDA   byte_8A
58C0   CMP   #4
58C2   BEQ   loc_591F
58C4   JSR   sub_5922
58C7   LDA   byte_B338
58CA   CLC
58CB   ADC   byte_B339
58CE   LDY   #$A3
58D0   CMP   #$C8
58D2   BCC   loc_58D7
58D4   LDA   #$C8
58D6   DEY
58D7
58D7 loc_58D7:                     ; ...
58D7   CMP   #$19
58D9   BCS   loc_58DF
58DB   LDA   #$19
58DD   DEY
58DE   DEY
58DF
58DF loc_58DF:                     ; ...
58DF   STA   byte_B338
58E2   STA   OS_AUDF1_POT1
58E5   STY   OS_AUDC1_POT2
58E8   LDX   #0
58EA   STX   byte_8A
58EC   LDX   #3
58EE   STX   byte_8C
58F0
58F0 loc_58F0:                     ; ...
58F0   LDA   byte_B1B5,X
58F3   BNE   loc_5910
58F5   LDA   byte_8C
58F7   ASL   A
58F8   TAX
58F9   LDA   playersBid+1,X
58FC   CMP   byte_B309+1,X
58FF   BNE   byte_5914
5901   LDA   playersBid,X
5904   CMP   byte_B309,X
5907   BEQ   loc_590B
5907 ; ---------------------------------------------------------------------------
5909 byte_5909:.BYTE $B0           ; ...
590A   .BYTE   9
590B ; ---------------------------------------------------------------------------
590B
590B loc_590B:                     ; ...
590B   LDX   byte_8C
590D   INC   byte_B1B5,X
5910
5910 loc_5910:                     ; ...
5910   INC   byte_8A
5912   BNE   loc_5917
5912 ; ---------------------------------------------------------------------------
5914 byte_5914:.BYTE $20           ; ...
5915 byte_5915:.BYTE $AE           ; ...
5916 byte_5916:.BYTE 90            ; ...
5917 ; ---------------------------------------------------------------------------
5917
5917 loc_5917:                     ; ...
5917   DEC   byte_8C
5919   LDX   byte_8C
591B   BPL   loc_58F0
591D   BMI   loc_58BE
591F
591F loc_591F:                     ; ...
591F   JMP   sub_136D
591F ; End of function animUsageOrSpoilageOrProd
591F
5922
5922 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5922
5922
5922 sub_5922:                     ; ...
5922   LDX   #3
5924   STX   byte_93
5926   LDX   #0
5928   STX   byte_D9
592A
592A loc_592A:                     ; ...
592A   LDX   byte_D9
592C   BEQ   loc_592A
592E   LDA   #0
5930   STA   byte_90
5932   LDA   #$17
5934   JSR   sub_10BC
5937   LDX   #0
5939   STX   byte_8D
5939 ; End of function sub_5922
5939
593B ; START OF FUNCTION CHUNK FOR sub_5942
593B
593B loc_593B:                     ; ...
593B   TXA
593C   ASL   A
593D   TAX
593E   ASL   A
593F   ADC   byte_8D
593F ; END OF FUNCTION CHUNK FOR sub_5942
593F ; ---------------------------------------------------------------------------
5941   .BYTE $65 ; e
5942
5942 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5942
5942
5942 sub_5942:                     ; ...
5942
5942 ; FUNCTION CHUNK AT 593B SIZE 00000006 BYTES
5942
5942   STA   byte_752+$17
5945   STA   byte_55
5947   LDA   playersBid,X
594A   STA   byte_80
594C   INX
594D   LDA   playersBid,X
5950   STA   byte_81
5952   LSR   byte_81
5954   ROR   byte_80
5956   LSR   byte_81
5958   ROR   byte_80
595A   LDX   byte_80
595C   LDA   #0
595E   TAY
595F   JSR   decodeNumberAndCharToMessage ; input
595F                               ; Y
5962   INC   byte_8D
5964   LDX   byte_8D
5966   CPX   #4
5968   BNE   loc_593B
596A   RTS
596A ; End of function sub_5942
596A
596B
596B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
596B
596B ; input
596B ; byte_8C: player
596B ; output
596B ; A, byte_82: nb d'energie requis par les exploitations
596B
596B calcEnergyReq:                ; ...
596B   LDA   #0
596D   STA   byte_82               ; byte_82 = 0
596F   LDX   #3                    ; X = 3
5971
5971 loc_5971:                     ; ...
5971   TXA                         ; do {
5971                               ;   A = X
5972   CPX   #1
5974   BEQ   loc_5982              ;   // si ce ne sont pas les exps d'energy
5974                               ;   if (X != 1) {
5976   ASL   A
5977   ASL   A
5978   ADC   byte_8C
597A   TAY
597B   LDA   expsPlayersNb,Y
597E   ADC   byte_82
5980   STA   byte_82               ;     byte_82 += EXPS_PLAYERS_NB [X] [byte_8C]
5980                               ;   }
5982
5982 loc_5982:                     ; ...
5982   DEX                         ;   X --
5983   BPL   loc_5971              ; } while (X >= 0)
5985   LDA   byte_82               ; A = byte_82
5987   RTS                         ; return
5987 ; End of function calcEnergyReq
5987
5988
5988 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5988
5988
5988 waitJiffyLevel:               ; ...
5988   LDA   level
598A   BNE   loc_5997
598C   LDA   numRound
598E   CMP   #1
5990   BNE   loc_5997
5992   LDA   #160
5994   JMP   waitJiffy             ; input
5994                               ; A: temps à attendre en jiffy (1/60 seconds)
5997 ; ---------------------------------------------------------------------------
5997
5997 loc_5997:                     ; ...
5997   LDA   #128
5999   JMP   waitJiffy             ; input
5999 ; End of function waitJiffyLevel ; A: temps à attendre en jiffy (1/60 seconds)
5999
599C
599C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
599C
599C
599C addMessageLogoGood2:          ; ...
599C   LDY   #1
599E   STY   byte_55
59A0   LDA   byte_91
59A2   JSR   addMessageLogoGood    ; input
59A2                               ; A: good
59A5   JSR   sub_1300
59A8   LDY   #$12
59AA   STY   byte_55
59AC   LDA   byte_91
59AE   JMP   addMessageLogoGood    ; input
59AE ; End of function addMessageLogoGood2 ; A: good
59AE
59B1
59B1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
59B1
59B1
59B1 setFont:                      ; ...
59B1   LDX   #$80
59B3
59B3 loc_59B3:                     ; ...
59B3   LDA   OS_ATARI_FONT,X
59B6   STA   FONT,X
59B9   INX
59BA   CPX   #$D0
59BC   BCC   loc_59B3
59BE   LDA   #$66                  ; // correction du zéro
59C0   STA   FONT_CHAR9A
59C3   STA   FONT_CHAR9B
59C6   RTS
59C6 ; End of function setFont
59C6
59C7
59C7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
59C7
59C7
59C7 sub_59C7:                     ; ...
59C7   LDA   #4
59C9   STA   byte_8C
59CB
59CB loc_59CB:                     ; ...
59CB   LDA   #4
59CD   STA   byte_8D
59CF
59CF loc_59CF:                     ; ...
59CF   LDA   byte_89
59D1   LDY   #8
59D3   JSR   loc_5A34
59D6   LDA   byte_8B
59D8   BEQ   loc_5A13
59DA   LDA   #$1A
59DC   JSR   sub_10BC
59DF   LDA   #0
59E1   STA   byte_55
59E3   JSR   sub_107C
59E6   LDA   #6
59E8   STA   byte_55
59EA   LDA   #0
59EC   STA   byte_90
59EE   LDA   byte_89
59F0   BEQ   loc_59FC
59F2   LDA   #3
59F4   STA   byte_90
59F6   LDA   #$B1                  ; // SHORTAGE
59F8   LDY   #$3D
59FA   BNE   loc_5A00
59FC
59FC loc_59FC:                     ; ...
59FC   LDA   #$B9                  ; // _SURPLUS
59FE   LDY   #$3D
5A00
5A00 loc_5A00:                     ; ...
5A00   JSR   addMessage            ; Y/A: High/Low address
5A03   JSR   sub_5A1E
5A06   LDA   byte_89
5A08   TAY
5A09   JSR   loc_5A34
5A0C   JSR   sub_5A1E
5A0F   DEC   byte_8D
5A11   BPL   loc_59CF
5A13
5A13 loc_5A13:                     ; ...
5A13   LDA   byte_89
5A15   EOR   #$C
5A17   STA   byte_89
5A19   DEC   byte_8C
5A1B   BNE   loc_59CB
5A1D   RTS
5A1D ; End of function sub_59C7
5A1D
5A1E
5A1E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5A1E
5A1E
5A1E sub_5A1E:                     ; ...
5A1E   LDA   #4
5A20   STA   byte_C3
5A22
5A22 loc_5A22:                     ; ...
5A22   LDA   maxIndexCpu
5A24   CMP   #3
5A26   BEQ   loc_5A2F
5A28   SEC
5A29   ADC   byte_95
5A2B   CMP   #4
5A2D   BCS   locret_5A33
5A2F
5A2F loc_5A2F:                     ; ...
5A2F   LDA   byte_C3
5A31   BNE   loc_5A22
5A33
5A33 locret_5A33:                  ; ...
5A33   RTS
5A33 ; End of function sub_5A1E
5A33
5A34 ; ---------------------------------------------------------------------------
5A34
5A34 loc_5A34:                     ; ...
5A34   STA   byte_80
5A36   LDA   #0
5A38   STA   byte_8B
5A3A   LDX   #3
5A3C
5A3C loc_5A3C:                     ; ...
5A3C   LDA   byte_B1B1,X
5A3F   BNE   loc_5A49
5A41   LDA   byte_E3,X
5A43   CMP   byte_80
5A45   BNE   loc_5A49
5A47   INC   byte_8B
5A49
5A49 loc_5A49:                     ; ...
5A49   DEX
5A4A   BPL   loc_5A3C
5A4C   LDA   byte_8B
5A4C ; ---------------------------------------------------------------------------
5A4E   .BYTE $F0 ; ­
5A4F
5A4F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5A4F
5A4F
5A4F sub_5A4F:                     ; ...
5A4F   ORA   byte_89A5
5A52   BNE   loc_5A5A
5A54   STY   byte_2E76
5A57   JMP   locret_5A5D
5A5A ; ---------------------------------------------------------------------------
5A5A
5A5A loc_5A5A:                     ; ...
5A5A   STY   byte_2E78
5A5D
5A5D locret_5A5D:                  ; ...
5A5D   RTS
5A5D ; End of function sub_5A4F
5A5D
5A5E
5A5E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5A5E
5A5E
5A5E sub_5A5E:                     ; ...
5A5E   LDY   #8
5A60   STY   byte_8D
5A62   LDA   #1
5A64   STA   byte_8B
5A66
5A66 loc_5A66:                     ; ...
5A66   LDA   #1
5A68   STA   byte_8C
5A6A
5A6A loc_5A6A:                     ; ...
5A6A   LDA   #0
5A6C   LDX   byte_8C
5A6E   CPX   byte_8D
5A70   BCC   loc_5A74
5A72   LDA   byte_89
5A74
5A74 loc_5A74:                     ; ...
5A74   STA   FONT_CHAR1,Y
5A77   INY
5A78   INC   byte_8C
5A7A   LDA   #8
5A7C   CMP   byte_8C
5A7E   BCS   loc_5A6A
5A80   INC   byte_8B
5A82   DEC   byte_8D
5A84   LDA   byte_8D
5A86   CMP   #1
5A88   BNE   loc_5A8C
5A8A   LDY   #0
5A8C
5A8C loc_5A8C:                     ; ...
5A8C   LDA   #8
5A8E   CMP   byte_8B
5A90   BCS   loc_5A66
5A92   RTS
5A92 ; End of function sub_5A5E
5A92
5A93
5A93 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5A93
5A93
5A93 restoreFont:                  ; ...
5A93   LDY   #$50
5A95
5A95 loc_5A95:                     ; ...
5A95   LDA   OS_ATARI_FONT+$28,Y
5A98   STA   FONT_CHAR1,Y
5A9B   DEY
5A9C   BPL   loc_5A95
5A9E   RTS
5A9E ; End of function restoreFont
5A9E
5A9F
5A9F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5A9F
5A9F ; input
5A9F ; A:
5A9F ;
5A9F ; output
5A9F ; byte_81|byte_80 = 0|A << 2
5A9F
5A9F mulBy4orFixed:                ; ...
5A9F   STA   byte_80
5AA1   LDA   #0
5AA3   STA   byte_81
5AA5   ASL   byte_80
5AA7   ROL   byte_81
5AA9   ASL   byte_80
5AAB   ROL   byte_81
5AAD   RTS
5AAD ; End of function mulBy4orFixed
5AAD
5AAD ; ---------------------------------------------------------------------------
5AAE   .BYTE $A5 ; Ñ
5AAF   .BYTE $8C ; î
5AB0   .BYTE  $A
5AB1   .BYTE $AA ; ¬
5AB2   .BYTE $BD ; ¢
5AB3   .BYTE   1
5AB4   .BYTE $B3 ; ¦
5AB5   .BYTE $D0 ; ð
5AB6   .BYTE   5
5AB7   .BYTE $E8 ; Þ
5AB8   .BYTE $DE ; Ì
5AB9   .BYTE   1
5ABA   .BYTE $B3 ; ¦
5ABB   .BYTE $CA ; -
5ABC   .BYTE $DE ; Ì
5ABD   .BYTE   1
5ABE   .BYTE $B3 ; ¦
5ABF   .BYTE $60 ; `
5AC0   .BYTE $A5 ; Ñ
5AC1   .BYTE $8C ; î
5AC2   .BYTE  $A
5AC3   .BYTE $AA ; ¬
5AC4   .BYTE $FE ; ¦
5AC5   .BYTE   1
5AC6   .BYTE $B3 ; ¦
5AC7   .BYTE $D0 ; ð
5AC8   .BYTE   4
5AC9   .BYTE $E8 ; Þ
5ACA   .BYTE $FE ; ¦
5ACB   .BYTE   1
5ACC   .BYTE $B3 ; ¦
5ACD   .BYTE $60 ; `
5ACE
5ACE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5ACE
5ACE
5ACE sub_5ACE:                     ; ...
5ACE   LDX   #$3F
5AD0   LDA   #0
5AD2
5AD2 loc_5AD2:                     ; ...
5AD2   STA   FONT_CHAR1,X
5AD5   DEX
5AD6   BPL   loc_5AD2
5AD8   LDA   #$AA
5ADA   STA   FONT_CHAR1
5ADD   LDX   #$37
5ADF
5ADF loc_5ADF:                     ; ...
5ADF   STA   FONT,X
5AE2   PHA
5AE3   TXA
5AE4   CLC
5AE5   ADC   #7
5AE7   TAX
5AE8   PLA
5AE9   CPX   #$62
5AEB   BCC   loc_5ADF
5AED   RTS
5AED ; End of function sub_5ACE
5AED
5AEE
5AEE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5AEE
5AEE
5AEE addMessageStoreUnit:          ; ...
5AEE   LDX   #0
5AF0   STX   byte_55
5AF2   INX
5AF3   STX   byte_90
5AF5   LDY   byte_91
5AF7   CPY   #3
5AF9   BCC   loc_5B01
5AFB   JSR   sub_107C
5AFE   JMP   locret_5B3D
5B01 ; ---------------------------------------------------------------------------
5B01
5B01 loc_5B01:                     ; ...
5B01   LDA   goodsStoreNb,Y
5B04   STA   byte_8E
5B06   CMP   #1
5B08   BNE   loc_5B0A
5B0A
5B0A loc_5B0A:                     ; // _STORE_HAS_
5B0A   LDA   #$1B
5B0C   LDY   #$3A
5B0E   JSR   addMessage            ; // _STORE_HAS_
5B11   INC   byte_90
5B13   LDX   byte_8E
5B15   BNE   loc_5B24
5B17   LDA   #$CE                  ; // N
5B19   JSR   decodeCharToMessage   ; A
5B1C   LDA   #$CF                  ; // O
5B1E   JSR   decodeCharToMessage   ; A
5B21   JMP   loc_5B29
5B24 ; ---------------------------------------------------------------------------
5B24
5B24 loc_5B24:                     ; ...
5B24   LDA   #0
5B26   JSR   decodeNumberToMessage ; // goodStoreNb
5B29
5B29 loc_5B29:                     ; ...
5B29   DEC   byte_90
5B2B   LDA   #$26                  ; // _UNIT
5B2D   LDY   #$3A
5B2F   JSR   addMessage            ; // _UNIT
5B32   LDX   byte_8E
5B34   CPX   #1
5B36   BEQ   locret_5B3D
5B38   LDA   #$D3                  ; // S
5B3A   JSR   decodeCharToMessage   ; A
5B3D
5B3D locret_5B3D:                  ; ...
5B3D   RTS
5B3D ; End of function addMessageStoreUnit
5B3D
5B3E
5B3E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5B3E
5B3E
5B3E sub_5B3E:                     ; ...
5B3E   STX   byte_AE
5B40   TXA
5B41   ASL   A
5B42   TAX
5B43   LDA   byte_B217,X
5B46   JSR   sub_10BC
5B49   INX
5B4A   LDA   byte_B217,X
5B4D   STA   byte_55
5B4F   LDA   #0
5B51   JSR   sub_1100
5B54   LDA   #$14
5B56   JSR   sub_10BC
5B59   LDA   byte_AE
5B5B   ASL   A
5B5C   ADC   byte_AE
5B5E   ADC   #3
5B60   STA   byte_55
5B62   LDX   #3
5B64
5B64 loc_5B64:                     ; ...
5B64   LDA   #0
5B66   JSR   sub_1100
5B69   DEX
5B6A   BNE   loc_5B64
5B6C   RTS
5B6C ; End of function sub_5B3E
5B6C
5B6D
5B6D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5B6D
5B6D
5B6D someInit:                     ; ...
5B6D   LDY   #$9A
5B6F   LDA   #0
5B71
5B71 loc_5B71:                     ; ...
5B71   STA   byte_BC00,Y
5B74   STA   wampusSprite,Y
5B77   STA   byte_BE00,Y
5B7A   STA   byte_BF00,Y
5B7D   DEY
5B7E   CPY   #$3A
5B80   BNE   loc_5B71
5B82   LDA   #0
5B84   STA   byte_90
5B86   LDA   #3
5B88   STA   byte_8C
5B8A
5B8A loc_5B8A:                     ; ...
5B8A   LDA   #$10
5B8C   JSR   sub_10BC
5B8F   LDA   byte_8C
5B91   ASL   A
5B92   ADC   byte_8C
5B94   ADC   #5
5B96   STA   byte_55
5B98   LDX   #$D
5B9A
5B9A loc_5B9A:                     ; ...
5B9A   LDA   #0
5B9C   JSR   decodeCharToMessage   ; A
5B9F   JSR   sub_1300
5BA2   DEX
5BA3   BNE   loc_5B9A
5BA5   DEC   byte_8C
5BA7   BPL   loc_5B8A
5BA9   RTS
5BA9 ; End of function someInit
5BA9
5BA9 ; ---------------------------------------------------------------------------
5BAA unk_5BAA:.BYTE  $E            ; ...
5BAB   .BYTE  $F
5BAC   .BYTE  $D
5BAD unk_5BAD:.BYTE   4            ; ...
5BAE   .BYTE   8
5BAF   .BYTE $40 ; @
5BB0   .BYTE $80 ; Ç
5BB1   .BYTE   4
5BB2   .BYTE   8
5BB3   .BYTE $40 ; @
5BB4   .BYTE $80 ; Ç
5BB5
5BB5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5BB5
5BB5
5BB5 sub_5BB5:                     ; ...
5BB5   LDA   #0
5BB7   STA   byte_92
5BB9   LDA   byte_C1
5BBB   CMP   #$FE
5BBD   BEQ   loc_5BCB
5BBF   INC   OS_RTCLOK
5BC1   BNE   loc_5BCB
5BC3   INC   byte_4D
5BC5   INC   byte_13
5BC7   BNE   loc_5BCB
5BC9   INC   byte_12
5BCB
5BCB loc_5BCB:                     ; ...
5BCB   LDA   byte_42
5BCD   BNE   loc_5BD7
5BCF   TSX
5BD0   LDA   $104,X
5BD3   AND   #4
5BD5   BEQ   loc_5BDA
5BD7
5BD7 loc_5BD7:                     ; ...
5BD7   JMP   loc_5D6D
5BDA ; ---------------------------------------------------------------------------
5BDA
5BDA loc_5BDA:                     ; ...
5BDA   CLI
5BDB   LDA   OS_SDLSTL+1
5BDE   STA   byte_D403
5BE1   LDA   OS_SDLSTL
5BE4   STA   byte_D402
5BE7   LDA   OS_SDMCTL
5BEA   STA   OS_DMACTL
5BED   LDA   OS_CDTMV1
5BF0   STA   byte_D01D
5BF3   LDA   OS_GPRIOR
5BF6   STA   OS_PRIOR
5BF9   LDX   #8
5BFB   STX   OS_CONSOL
5BFE
5BFE loc_5BFE:                     ; ...
5BFE   LDA   $2C0,X
5C01   STA   byte_D012,X
5C04   DEX
5C05   BPL   loc_5BFE
5C07   LDA   OS_CHBAS
5C0A   STA   byte_D409
5C0D   LDA   byte_2F3
5C10   STA   byte_D401
5C13   LDA   #$40
5C15   STA   OS_IRQEN_IRQST
5C18   LDA   #3
5C1A   STA   OS_SKCTL_SKSTAT
5C1D   STA   OS_SKREST_RANDOM
5C20   LDY   #1
5C22   LDX   #3
5C24   LDX   #3
5C26
5C26 loc_5C26:                     ; ...
5C26   LDY   $900,X
5C29   BPL   loc_5C30
5C2B   LDA   #1
5C2D   JMP   loc_5C73
5C30 ; ---------------------------------------------------------------------------
5C30
5C30 loc_5C30:                     ; ...
5C30   CPY   #8
5C32   BCC   loc_5C4B
5C34   LDA   OS_SIZEP0_M0PL,Y
5C37   STA   $B2,X
5C39   TYA
5C3A   LSR   A
5C3B   TAY
5C3C   LDA   unk_D2FC,Y
5C3F   BCC   loc_5C45
5C41   LSR   A
5C42   LSR   A
5C43   LSR   A
5C44   LSR   A
5C45
5C45 loc_5C45:                     ; ...
5C45   AND   #$F
5C47   STA   $BD,X
5C49   BNE   loc_5C75
5C4B
5C4B loc_5C4B:                     ; ...
5C4B   LDA   OS_AUDF1_POT1,Y
5C4E   LSR   A
5C4F   LSR   A
5C50   LSR   A
5C51   LSR   A
5C52   LSR   A
5C53   LSR   A
5C54   CMP   #3
5C56   BCC   loc_5C5A
5C58   LDA   #2
5C5A
5C5A loc_5C5A:                     ; ...
5C5A   TAY
5C5B   LDA   unk_5BAA,Y
5C5E   STA   $BD,X
5C60   LDA   $900,X
5C63   LSR   A
5C64   LSR   A
5C65   TAY
5C66   LDA   byte_D300,Y
5C69   LDY   $900,X
5C6C   AND   unk_5BAD,Y
5C6F   BEQ   loc_5C73
5C71   LDA   #1
5C73
5C73 loc_5C73:                     ; ...
5C73   STA   $B2,X
5C75
5C75 loc_5C75:                     ; ...
5C75   DEX
5C76   BPL   loc_5C26
5C78   STA   byte_D20B
5C7B   LDA   byte_B2
5C7D   AND   byte_B2+1
5C7F   AND   byte_B2+2
5C81   AND   byte_B2+3
5C83   BNE   loc_5C87
5C85   STA   byte_4D
5C87
5C87 loc_5C87:                     ; ...
5C87   LDA   OS_RTCLOK
5C89   AND   #3
5C8B   BNE   loc_5C98
5C8D   LDX   #3
5C8F
5C8F loc_5C8F:                     ; ...
5C8F   LDA   byte_C3,X
5C91   BEQ   loc_5C95
5C93   DEC   byte_C3,X
5C95
5C95 loc_5C95:                     ; ...
5C95   DEX
5C96   BPL   loc_5C8F
5C98
5C98 loc_5C98:                     ; ...
5C98   LDA   byte_4D
5C9A   BPL   loc_5CA9
5C9C
5C9C loc_5C9C:                     ; ...
5C9C   LDA   #0
5C9E   STA   OS_NMIEN
5CA1   JSR   sub_5DA0
5CA4   LDA   #$C0
5CA6   STA   OS_NMIEN
5CA9
5CA9 loc_5CA9:                     ; ...
5CA9   LDA   OS_CONSOL
5CAC   CMP   #3
5CAE   BNE   loc_5CB7
5CB0   LDA   OS_SKCTL_SKSTAT
5CB3   AND   #8
5CB5   BEQ   loc_5C9C
5CB7
5CB7 loc_5CB7:                     ; ...
5CB7   LDX   #3
5CB9
5CB9 loc_5CB9:                     ; ...
5CB9   LDA   $B6,X
5CBB   BEQ   loc_5CCB
5CBD   LDA   $B2,X
5CBF   STA   $B6,X
5CC1   BNE   loc_5CCB
5CC3   INC   byte_95
5CC5   LDA   byte_4E
5CC7   BEQ   loc_5CCB
5CC9   STX   byte_9E
5CCB
5CCB loc_5CCB:                     ; ...
5CCB   DEX
5CCC   BPL   loc_5CB9
5CCE   LDY   byte_C1
5CD0   BMI   loc_5D07
5CD2   LDA   byte_55
5CD4   PHA
5CD5   LDA   byte_54
5CD7   PHA
5CD8   LDA   byte_90
5CDA   PHA
5CDB   LDA   byte_5C
5CDD   PHA
5CDE   LDA   byte_5D
5CE0   PHA
5CE1   CPY   byte_C7
5CE3   BEQ   loc_5CF5
5CE5   TYA
5CE6   ASL   A
5CE7   TAY
5CE8   LDA   word_5D7E,Y
5CEB   STA   loc_5CF5+1
5CEE   INY
5CEF   LDA   word_5D7E,Y
5CF2   STA   loc_5CF5+2
5CF5
5CF5 loc_5CF5:                     ; ...
5CF5   JSR   v06                   ; JSR
5CF8   PLA
5CF9   STA   byte_5D
5CFB   PLA
5CFC   STA   byte_5C
5CFE   PLA
5CFF   STA   byte_90
5D01   PLA
5D02   STA   byte_54
5D04   PLA
5D05   STA   byte_55
5D07
5D07 loc_5D07:                     ; ...
5D07   LDA   byte_B33C
5D0A   BEQ   loc_5D0F
5D0C   JSR   sub_5E98
5D0F
5D0F loc_5D0F:                     ; ...
5D0F   LDA   byte_9E
5D11   BMI   loc_5D16
5D13   JSR   sub_5E3D
5D16
5D16 loc_5D16:                     ; ...
5D16   LDA   byte_C1
5D18   STA   byte_C7
5D1A   CMP   #$FE
5D1C   BEQ   loc_5D6D
5D1E   LDA   byte_2FC
5D21   CMP   #$21
5D23   BNE   loc_5D6D
5D25   LDA   byte_C1
5D27   PHA
5D28   LDA   byte_D3
5D2A   PHA
5D2B   LDA   byte_B33A
5D2E   PHA
5D2F   LDA   byte_B33C
5D32   PHA
5D33   LDA   byte_9E
5D35   PHA
5D36   LDA   #$FF
5D38   STA   byte_9E
5D3A   JSR   sub_3101
5D3D   LDY   #$32
5D3F   STY   byte_B33A
5D42   DEY
5D43   STY   byte_D3
5D45   JSR   sub_1363
5D48   LDA   #$FE
5D4A   STA   byte_C1
5D4C   CLI
5D4D   LDY   #$1E
5D4F
5D4F loc_5D4F:                     ; ...
5D4F   JSR   sub_5E1B
5D52   DEY
5D53   BPL   loc_5D4F
5D55
5D55 loc_5D55:                     ; ...
5D55   LDA   byte_2FC
5D58   CMP   #$21
5D5A   BNE   loc_5D55
5D5C   PLA
5D5D   STA   byte_9E
5D5F   PLA
5D60   STA   byte_B33C
5D63   PLA
5D64   STA   byte_B33A
5D67   PLA
5D68   STA   byte_D3
5D6A   PLA
5D6B   STA   byte_C1
5D6D
5D6D loc_5D6D:                     ; ...
5D6D   LDA   #$FF
5D6F   STA   byte_D01E
5D72   STA   byte_2FC
5D75   STA   byte_2F2
5D78   PLA
5D79   TAY
5D7A   PLA
5D7B   TAX
5D7C   PLA
5D7D   RTI
5D7D ; End of function sub_5BB5
5D7D
5D7D ; ---------------------------------------------------------------------------
5D7E word_5D7E:.WORD $99F9         ; ...
5D80   .WORD $9A94
5D82   .WORD $25BE
5D84   .WORD $9B47
5D86   .WORD $55FE
5D88   .WORD $7515
5D8A   .WORD $77E2
5D8C   .WORD $9C91
5D8E   .WORD $79F9
5D90   .WORD $7B91
5D92   .WORD $7086
5D94   .WORD $7E0A
5D96   .WORD $8092
5D98   .WORD $5625
5D9A   .WORD $80B7
5D9C   .WORD $711E
5D9E   .WORD $2D29
5DA0
5DA0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5DA0
5DA0
5DA0 sub_5DA0:                     ; ...
5DA0   JSR   sub_5E1B
5DA3   LDA   #0
5DA5   STA   byte_D01A
5DA8   JSR   sub_136D
5DAB   STA   byte_D01D
5DAE   STA   OS_DMACTL
5DB1   LDY   #4
5DB3
5DB3 loc_5DB3:                     ; ...
5DB3   STA   unk_D00D,Y
5DB6   DEY
5DB7   BPL   loc_5DB3
5DB9   LDA   #$48
5DBB   STA   byte_1F11
5DBE   LDA   #$1F
5DC0   STA   byte_1F12
5DC3   LDA   #6
5DC5   STA   byte_D402
5DC8   LDA   #$1F
5DCA   STA   byte_D403
5DCD   LDA   #$E0
5DCF   STA   byte_D409
5DD2   JSR   sub_5E1B
5DD5   LDA   #$22
5DD7   STA   OS_DMACTL
5DDA
5DDA loc_5DDA:                     ; ...
5DDA   LDA   OS_SKREST_RANDOM
5DDD   AND   #$F7
5DDF   ORA   #2
5DE1   STA   byte_D016
5DE4   LDA   #$F
5DE6   STA   byte_5E1A
5DE9
5DE9 loc_5DE9:                     ; ...
5DE9   LDX   #0
5DEB
5DEB loc_5DEB:                     ; ...
5DEB   LDY   #0
5DED
5DED loc_5DED:                     ; ...
5DED   DEY
5DEE   BNE   loc_5DED
5DF0   DEX
5DF1   BNE   loc_5DEB
5DF3   LDA   #8
5DF5   STA   OS_CONSOL
5DF8   LDA   OS_CONSOL
5DFB   CMP   #6
5DFD   BEQ   loc_5E15
5DFF   CMP   #5
5E01   BNE   loc_5E0D
5E03   LDA   OS_SKCTL_SKSTAT
5E06   AND   #8
5E08   BNE   loc_5E0D
5E0A   JSR   sub_3114
5E0D
5E0D loc_5E0D:                     ; ...
5E0D   DEC   byte_5E1A
5E10   BNE   loc_5DE9
5E12   JMP   loc_5DDA
5E15 ; ---------------------------------------------------------------------------
5E15
5E15 loc_5E15:                     ; ...
5E15   LDA   #0
5E17   STA   byte_4D
5E19   RTS
5E19 ; End of function sub_5DA0
5E19
5E19 ; ---------------------------------------------------------------------------
5E1A byte_5E1A:.BYTE 0             ; ...
5E1B
5E1B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5E1B
5E1B
5E1B sub_5E1B:                     ; ...
5E1B   LDA   OS_VCOUNT
5E1E   CMP   #121
5E20   BNE   sub_5E1B
5E22
5E22 loc_5E22:                     ; ...
5E22   CMP   OS_VCOUNT
5E25   BEQ   loc_5E22
5E27   RTS
5E27 ; End of function sub_5E1B
5E27
5E27 ; ---------------------------------------------------------------------------
5E28 unk_5E28:.BYTE $10            ; ...
5E29   .BYTE $18
5E2A   .BYTE $20
5E2B   .BYTE $28 ; (
5E2C   .BYTE $30 ; 0
5E2D   .BYTE $60 ; `
5E2E   .BYTE $80 ; Ç
5E2F unk_5E2F:.BYTE   2            ; ...
5E30   .BYTE   2
5E31   .BYTE   2
5E32   .BYTE   2
5E33   .BYTE $15
5E34   .BYTE   8
5E35   .BYTE $80 ; Ç
5E36 unk_5E36:.BYTE $AD ; ¡        ; ...
5E37   .BYTE $AD ; ¡
5E38   .BYTE $AD ; ¡
5E39   .BYTE $AD ; ¡
5E3A   .BYTE $AD ; ¡
5E3B   .BYTE $AA ; ¬
5E3C   .BYTE   2
5E3D
5E3D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5E3D
5E3D
5E3D sub_5E3D:                     ; ...
5E3D   LDX   byte_9E
5E3F   LDA   byte_C8
5E41   BNE   loc_5E5C
5E43   LDA   #0
5E45   STA   OS_AUDCTL_ALLPOT
5E48   LDA   unk_5E2F,X
5E4B   STA   byte_C8
5E4D   LDA   unk_5E28,X
5E50   STA   OS_AUDF4_POT6
5E53   LDA   unk_5E36,X
5E56   STA   OS_AUDC4_POT7
5E59   STA   byte_C9
5E5B   RTS
5E5C ; ---------------------------------------------------------------------------
5E5C
5E5C loc_5E5C:                     ; ...
5E5C   CPX   #6
5E5E   BCS   loc_5E83
5E60   DEC   byte_C8
5E62   BNE   loc_5E75
5E64
5E64 loc_5E64:                     ; ...
5E64   LDX   #$FF
5E66   STX   byte_9E
5E68   INX
5E69   STX   OS_AUDF4_POT6
5E6C   STX   OS_AUDC4_POT7
5E6F   STX   byte_C9
5E71   STX   OS_AUDF4_POT6
5E74   RTS
5E75 ; ---------------------------------------------------------------------------
5E75
5E75 loc_5E75:                     ; ...
5E75   LDA   byte_C8
5E77   CMP   #$E
5E79   BCS   locret_5E82
5E7B   DEC   byte_C9
5E7D   LDA   byte_C9
5E7F   STA   OS_AUDC4_POT7
5E82
5E82 locret_5E82:                  ; ...
5E82   RTS
5E83 ; ---------------------------------------------------------------------------
5E83
5E83 loc_5E83:                     ; ...
5E83   LSR   byte_C8
5E85   LDA   byte_C8
5E87   STA   OS_AUDF4_POT6
5E8A   INC   byte_C9
5E8C   INC   byte_C9
5E8E   LDA   byte_C9
5E90   CMP   #$C
5E92   BCS   loc_5E64
5E94   STA   OS_AUDC4_POT7
5E97   RTS
5E97 ; End of function sub_5E3D
5E97
5E98
5E98 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5E98
5E98
5E98 sub_5E98:                     ; ...
5E98   LDA   byte_D3
5E9A   BEQ   loc_5EA2
5E9C   CMP   byte_B33A
5E9F   BCC   loc_5EB2
5EA1   RTS
5EA2 ; ---------------------------------------------------------------------------
5EA2
5EA2 loc_5EA2:                     ; ...
5EA2   STA   OS_AUDF1_POT1
5EA5   STA   OS_AUDC1_POT2
5EA8   STA   OS_AUDF2_POT2
5EAB   STA   OS_AUDC2_POT3
5EAE   STA   byte_B33C
5EB1   RTS
5EB2 ; ---------------------------------------------------------------------------
5EB2
5EB2 loc_5EB2:                     ; ...
5EB2   DEC   byte_B33E
5EB5   BEQ   loc_5EDE
5EB7   DEC   byte_B33F
5EBA   LDA   byte_B33F
5EBD   CMP   #$A0
5EBF   BCS   loc_5EC3
5EC1   LDA   #$A0
5EC3
5EC3 loc_5EC3:                     ; ...
5EC3   STA   byte_B33F
5EC6   STA   OS_AUDC1_POT2
5EC9   CMP   #$A1
5ECB   BCC   locret_5EDD
5ECD   BNE   loc_5ED4
5ECF   LDA   #0
5ED1   STA   OS_AUDC2_POT3
5ED4
5ED4 loc_5ED4:                     ; ...
5ED4   LDY   byte_B340
5ED7   LDA   unk_5F05,Y
5EDA   STA   OS_AUDF1_POT1
5EDD
5EDD locret_5EDD:                  ; ...
5EDD   RTS
5EDE ; ---------------------------------------------------------------------------
5EDE
5EDE loc_5EDE:                     ; ...
5EDE   LDA   #$A2
5EE0   STA   OS_AUDC1_POT2
5EE3   STA   byte_B33F
5EE6   LDA   #$81
5EE8   STA   OS_AUDC2_POT3
5EEB   LDA   byte_B340
5EEE   AND   #1
5EF0   EOR   #1
5EF2   STA   byte_B340
5EF5   TAY
5EF6   LDA   unk_5F05,Y
5EF9   STA   OS_AUDF1_POT1
5EFC   STA   OS_AUDF2_POT2
5EFF   LDA   byte_D3
5F01   STA   byte_B33E
5F04   RTS
5F04 ; End of function sub_5E98
5F04
5F04 ; ---------------------------------------------------------------------------
5F05 unk_5F05:.BYTE  $F            ; ...
5F06   .BYTE  $A
5F07
5F07 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
5F07
5F07 ; byte_91: good auction (good à acheter/vendre)
5F07 ; 2 Smithore
5F07 ; 3 Crystite
5F07 ; 0 Food
5F07 ; 1 Energy
5F07
5F07 animUsageSpoilageProd:        ; ...
5F07   LDA   #$86
5F09   STA   byte_1EB7
5F0C   JSR   initBB00ToBFFF
5F0F   LDA   #0
5F11   STA   byte_4E
5F13   STA   OS_CDTMV1
5F16   STA   byte_90
5F18   STA   byte_AF
5F1A   STA   byte_DA
5F1C   LDA   #8
5F1E   STA   OS_COLOR4
5F21   STA   OS_COLOR2
5F24   LDX   #3
5F26
5F26 loc_5F26:                     ; ...
5F26   LDA   playersColor,X
5F29   AND   #$F0
5F2B   ORA   #4
5F2D   STA   OS_PCOLR0,X
5F30   EOR   #6
5F32   STA   byte_97,X
5F34   LDA   #0
5F36   STA   OS_SIZEP0_M0PL,X
5F39   STA   byte_B1B5,X
5F3C   STA   byte_B1AD,X
5F3F   LDA   #$60                  ; byte_B1B5 [] = 0
5F3F                               ; byte_B1AD [] = 0
5F41   STA   byte_B2FD,X
5F44   LDA   byte_427B,X
5F47   STA   OS_HPOSP0_M0PF,X
5F4A   LDA   #$F
5F4C   STA   byte_E3,X
5F4E   LDA   #$AE
5F50   STA   byte_A3,X
5F52   DEX
5F53   BPL   loc_5F26
5F55   STX   byte_49
5F57   JSR   sub_9595
5F5A   LDA   #$55
5F5C   STA   OS_SIZEM
5F5F   LDA   #$14
5F61   STA   OS_GPRIOR
5F64   LDA   #$54
5F66   STA   byte_8E72
5F69   LDA   #$42
5F6B   STA   byte_8E73
5F6E   LDY   #$9A
5F70   JSR   charTimeFrom8E72      ; input
5F70                               ; byte_8E72
5F70                               ; byte_8E73
5F73   LDY   byte_91
5F75   LDA   goodsStoreNb,Y
5F78   BEQ   loc_5F7F              ; if (goodStoreNb [goodAuction] != 0) {
5F7A   LDY   #$54
5F7C   JSR   charTimeFrom8E72      ; }
5F7F
5F7F loc_5F7F:                     ; ...
5F7F   LDX   #1
5F81   STX   byte_D9
5F83   STX   byte_BA
5F85   JSR   sub_4992
5F88   LDA   #$1C
5F8A   STA   byte_5B
5F8C   JSR   sub_1068
5F8F   ASL   byte_53
5F91   JSR   setPriceStartEnd
5F94   LDA   #$11
5F96   JSR   sub_10BC
5F99   LDA   #2
5F9B   STA   byte_55
5F9D   LDX   priceStart
5FA0   LDA   priceStart+1
5FA3   LDY   #0
5FA5   STY   byte_90
5FA7   JSR   decodeNumberAndCharToMessage ; // priceStart
5FAA   LDY   byte_91
5FAC   LDA   goodsStoreNb,Y
5FAF   BEQ   loc_5FC3              ; if (goodStoreNb [goodAuction] != 0) {
5FB1   LDA   #2
5FB3   JSR   sub_10BC
5FB6   LDA   #$20
5FB8   STA   byte_55
5FBA   LDX   priceEnd
5FBD   LDA   priceEnd+1
5FC0   JSR   decodeNumberToMessage ;   // priceEnd
5FC0                               ; }
5FC3
5FC3 loc_5FC3:                     ; ...
5FC3   LDA   #0
5FC5   STA   byte_55
5FC7   JSR   sub_10BC
5FCA   JSR   sub_5E1B
5FCD   LDA   #$9E
5FCF   STA   OS_SDLSTL
5FD2   LDA   #$1E
5FD4   STA   OS_SDLSTL+1
5FD7   LDA   #$FC
5FD9   STA   OS_VDSLST
5FDC   LDA   #$2D
5FDE   STA   OS_VDSLST+1
5FE1   LDA   #$18
5FE3   STA   OS_CHBAS
5FE6   LDA   #$3E
5FE8   STA   OS_SDMCTL
5FEB   LDA   #$C0
5FED   STA   OS_NMIEN
5FF0   JSR   sub_5ACE
5FF3   JSR   setFont
5FF6   LDA   #2
5FF8   LDX   level
5FFA   BNE   loc_6003
5FFC   LDX   numRound
5FFE   CPX   #1
6000   BNE   loc_6003
6002   ASL   A
6003
6003 loc_6003:                     ; ...
6003   STA   byte_9A05
6006   LDX   #2
6008   STX   OS_COLOR1
600B   STX   byte_2E76
600E   LDX   #$C
6010   STX   byte_2E78
6013   LDX   #3
6015   STX   OS_CDTMV1
6018   LDA   #$AE
601A   STA   byte_5915
601D   LDA   #$5A
601F   STA   byte_5916
6022   LDA   #$B0
6024   STA   byte_5909
6027   LDA   #1
6029   STA   byte_B339
602C   LDA   #$7D
602E   STA   byte_B338
6031   JSR   initPlayersButtons
6034   LDA   #$32
6036   STA   OS_COLOR0
6039   LDA   #$72
603B   STA   OS_COLOR3
603E   LDA   #5
6040   STA   byte_55
6042   LDA   #5                    ; // STATUS
6044   LDY   #$3A
6046   JSR   addMessage            ; // STATUS
6049   JSR   drawNumRound
604C   LDX   #3
604E   STX   byte_90
6050   JSR   addMessageLogoGood2
6053   LDA   byte_91
6055   ASL   A
6056   TAX
6057   LDA   unk_3A31,X
605A   STA   byte_55
605C   LDA   #1
605E   JSR   sub_10BC
6061   LDA   #$2B                  ; Food
6061                               ; Energy
6061                               ; Smithore
6061                               ; Crystite
6063   LDY   #$3A
6065   LDX   byte_91
6067   JSR   addToMessageWithOffset ; Food
6067                               ; Energy
6067                               ; Smithore
6067                               ; Crystite
606A   LDA   #0
606C   STA   byte_90
606E   LDA   #$17
6070   JSR   sub_10BC
6073   LDA   #2
6075   STA   byte_55
6077   LDA   #$1E                  ; // UNITS_
6079   LDY   #$41
607B   JSR   addMessage            ; // UNITS_
607E   LDA   #$20
6080   STA   byte_55
6082   LDA   #$1E                  ; // UNITS_
6084   LDY   #$41
6086   JSR   addMessage            ; Y/A: High/Low address
6089   LDA   #$15
608B   JSR   sub_10BC
608E   LDA   #2
6090   STA   byte_55
6092   LDA   #$19                  ; // MONEY
6094   LDY   #$41
6096   JSR   addMessage            ; // MONEY
6099   LDA   #$20
609B   STA   byte_55
609D   LDA   #$19                  ; // MONEY
609F   LDY   #$41
60A1   JSR   addMessage            ; // MONEY
60A4   LDA   #$15
60A6   JSR   sub_10BC
60A9   LDX   #7
60AB   STX   byte_55
60AD   LDA   #0
60AF   STA   byte_8B
60B1
60B1 loc_60B1:                     ; ...
60B1   ASL   A
60B2   TAY
60B3   LDX   playersCash,Y
60B6   INY
60B7   LDA   playersCash,Y
60BA   LDY   #0
60BC   JSR   decodeNumberAndCharToMessage ; playersCash
60BF   INC   byte_55
60C1   INC   byte_8B
60C3   LDA   byte_8B
60C5   CMP   #4
60C7   BNE   loc_60B1
60C9   LDA   byte_91
60CB   ASL   A
60CC   ASL   A
60CD   ADC   #3
60CF   TAY
60D0   LDX   #3
60D2   STX   byte_8C
60D4
60D4 loc_60D4:                     ; ...
60D4   LDA   goodsPlayersNb,Y      ; for (int player=3; player>=0; player--) {
60D7   JSR   mulBy4orFixed         ; input
60D7                               ; A:
60D7                               ;
60D7                               ; output
60D7                               ; byte_81|byte_80 = 0|A << 2
60DA   LDA   byte_8C
60DC   ASL   A
60DD   TAX
60DE   LDA   byte_80
60E0   STA   playersBid,X
60E3   INX
60E4   LDA   byte_81
60E6   STA   playersBid,X          ;   // previous amount
60E6                               ;   playersBid [player] = (fixed) goodsPlayersNb [goodAuction] [player]
60E9   DEY
60EA   DEC   byte_8C
60EC   BPL   loc_60D4              ; }
60EE   LDX   #0
60F0   STX   byte_89
60F2   LDA   #$1A
60F4   JSR   sub_10BC
60F7   LDX   #2
60F9   STX   byte_55
60FB   DEX
60FC   STX   byte_90
60FE   LDA   #$B                   ; // PREVIOUS__AMOUNT
6100   LDY   #$3A
6102   JSR   addMessage            ; // PREVIOUS__AMOUNT
6105   LDX   #3
6107
6107 loc_6107:                     ; ...
6107   LDA   byte_427B,X
610A   STA   OS_HPOSP0_M0PF,X
610D   DEX
610E   BPL   loc_6107
6110   LDA   #0
6112   STA   byte_C1
6114   JSR   sub_5922
6117   JSR   C1_255
611A   JSR   waitJiffyLevel
611D   INC   byte_4E
611F   JSR   initPlayersButtons
6122   LDA   #0
6124   STA   byte_C1
6126   STA   byte_B1B1             ; byte_B1B1 [] = 0
6129   STA   byte_B1B1+1
612C   STA   byte_B1B1+2
612F   STA   byte_B1B1+3
6132   LDA   byte_91
6134   CMP   #2
6136   BCC   loc_619F              ; // si Smithore ou Crystite
6136                               ; if (goodAuction >= 2) {
6138   LDX   #2
613A   STX   byte_89               ;   byte_89 = Spoilage
613C   LDX   #0
613E   STX   byte_82
6140   ASL   A
6141   ASL   A
6142   ADC   #3
6144   TAY
6145   LDX   #3
6147   STX   byte_8C
6149
6149 loc_6149:                     ; ...
6149   LDA   goodsPlayersNb,Y      ;   for (int player=3; player>=0; player--) {
614C   TAX
614D   JSR   mulBy4orFixed         ; input
614D                               ; A:
614D                               ;
614D                               ; output
614D                               ; byte_81|byte_80 = 0|A << 2
6150   CPX   #51
6152   BCS   loc_616C              ;     if (goodsPlayersNb [goodAuction] [player] <= 50) {
6154   LDA   byte_8C
6156   ASL   A
6157   TAX
6158   LDA   byte_80
615A   STA   playersBid,X
615D   STA   byte_B309,X
6160   INX
6161   LDA   byte_81
6163   STA   playersBid,X          ;       // source
6163                               ;       playersBid [player] = (fixed) goodsPlayersNb [goodAuction] [player];
6166   STA   byte_B309,X           ;       // destination
6166                               ;       byte_B309  [player] = (fixed) goodsPlayersNb [goodAuction] [player];
6169   JMP   loc_618D              ;     }
6169                               ;     else {
616C ; ---------------------------------------------------------------------------
616C
616C loc_616C:                     ; ...
616C   LDA   byte_8C
616E   ASL   A
616F   TAX
6170   LDA   byte_80
6172   STA   playersBid,X
6175   INX
6176   LDA   byte_81
6178   STA   playersBid,X          ;       // source
6178                               ;       playersBid [player] = (fixed) goodsPlayersNb [goodAuction] [player];
617B   LDA   #50
617D   STA   goodsPlayersNb,Y      ;       // limiter le nombre de Smithore ou Crystite à 50
617D                               ;       goodsPlayersNb [player] = 50;
6180   LDA   #0
6182   STA   byte_B309,X
6185   DEX
6186   LDA   #200
6188   STA   byte_B309,X           ;       // destination
6188                               ;       byte_B309  [player] = (fixed) 50;
618B   INC   byte_82               ;     }
618D
618D loc_618D:                     ; ...
618D   DEY
618E   DEC   byte_8C
6190   BPL   loc_6149              ;   }
6192   LDA   byte_82
6194   BEQ   loc_619C
6196   JSR   animUsageOrSpoilageOrProd ; input
6196                               ; byte_89:
6196                               ; 1 _____USAGE______
6196                               ; 2 ____SPOILAGE____
6196                               ; 3 ___PRODUCTION___
6196                               ; byte_B301 []: source
6196                               ; byte_B309 []: destination
6199   JSR   waitJiffyLevel
619C
619C loc_619C:                     ; ...
619C   JMP   Production            ; }
619C                               ; // si Food ou Energy
619C                               ; else {
619F ; ---------------------------------------------------------------------------
619F
619F loc_619F:                     ; ...
619F   LDX   #1
61A1   STX   byte_8B               ;   byte_8B = 1 // 1=Usage, 0=Spoilage
61A3   STX   byte_89               ;   byte_89 = Usage
61A5   LDX   foodReq
61A8   STX   byte_82               ;   byte_82 = foodReq
61AA
61AA UsageSpoilage:                ; ...
61AA   LDX   #3                    ;   // premier passage Usage
61AA                               ;   // second passage Spoilage
61AC   STX   byte_8C
61AE
61AE loc_61AE:                     ; ...
61AE   LDX   byte_8B               ;   for (int player=3; player>=0; player--) {
61B0   BEQ   loc_61BC              ;     if (byte_8B == Usage) {
61B2   LDA   byte_91
61B4   BEQ   loc_61CE              ;       if (goodAuction == Energy) {
61B6   JSR   calcEnergyReq         ; input
61B6                               ; byte_8C: player
61B6                               ; output
61B6                               ; A, byte_82: nb d'energie requis par les exploitations
61B9   JMP   loc_61CE              ;         byte_82 = energyReq
61B9                               ;       }
61B9                               ;     }
61B9                               ;     // si Spoilage
61B9                               ;     else {
61BC ; ---------------------------------------------------------------------------
61BC
61BC loc_61BC:                     ; ...
61BC   LDA   byte_91
61BE   ASL   A
61BF   ASL   A
61C0   ADC   byte_8C
61C2   TAX
61C3   LDA   goodsPlayersNb,X
61C6   CPX   #4
61C8   BCC   loc_61CB
61CA   LSR   A
61CB
61CB loc_61CB:                     ; ...
61CB   LSR   A
61CC   STA   byte_82               ;       if (goodAuction == Food) {
61CC                               ;         // perte de la moitié
61CC                               ;         byte_82 = goodsPlayersNb [Food] [player] / 2
61CC                               ;       }
61CC                               ;       // si Energy
61CC                               ;       else {
61CC                               ;         // perte d'un quart, il reste le 3/4
61CC                               ;         byte_82 = goodsPlayersNb [Energy] [player] / 4
61CC                               ;       }
61CC                               ;     }
61CE
61CE loc_61CE:                     ; ...
61CE   LDA   byte_91
61D0   ASL   A
61D1   ASL   A
61D2   ADC   byte_8C
61D4   TAY
61D5   LDX   byte_8C
61D7   LDA   goodsPlayersNb,Y
61DA   PHA
61DB   JSR   mulBy4orFixed         ; input
61DB                               ; A:
61DB                               ;
61DB                               ; output
61DB                               ; byte_81|byte_80 = 0|A << 2
61DE   TXA
61DF   ASL   A
61E0   TAX
61E1   LDA   byte_80
61E3   STA   playersBid,X
61E6   INX
61E7   LDA   byte_81
61E9   STA   playersBid,X          ;     playersBid [player] = goodsPlayersNb [goodAuction] [player] * 4
61EC   PLA
61ED   SEC
61EE   SBC   byte_82               ;     A = goodsPlayersNb [goodAuction] [player] - byte_82
61F0   BCS   loc_61F4              ;     if (A < 0) {
61F2   LDA   #0                    ;       A = 0
61F2                               ;     }
61F4
61F4 loc_61F4:                     ; ...
61F4   STA   goodsPlayersNb,Y      ;     goodsPlayersNb [goodAuction] [player] = A
61F7   JSR   mulBy4orFixed         ; input
61F7                               ; A:
61F7                               ;
61F7                               ; output
61F7                               ; byte_81|byte_80 = 0|A << 2
61FA   LDA   byte_8C
61FC   ASL   A
61FD   TAX
61FE   LDA   byte_80
6200   STA   byte_B309,X
6203   INX
6204   LDA   byte_81
6206   STA   byte_B309,X           ;     byte_B309 [player] = goodsPlayersNb [goodAuction] [player] * 4
6209   DEC   byte_8C
620B   BPL   loc_61AE              ;   }
620D   JSR   animUsageOrSpoilageOrProd ; input
620D                               ; byte_89:
620D                               ; 1 _____USAGE______
620D                               ; 2 ____SPOILAGE____
620D                               ; 3 ___PRODUCTION___
620D                               ; byte_B301 []: source
620D                               ; byte_B309 []: destination
6210   JSR   waitJiffyLevel
6213   INC   byte_89               ;   byte_89 ++ // Spoilage
6215   DEC   byte_8B
6217   BMI   Production            ;   if (Production) {
6217                               ;     goto (Production)
6217                               ;   }
6219   JMP   UsageSpoilage         ; }
621C ; ---------------------------------------------------------------------------
621C
621C Production:                   ; ...
621C   LDA   byte_91
621E   CMP   #4
6220   BEQ   AnimEnded             ; if (goodAuction == 4) { // ???
6220                               ;   goto (AnimEnded)
6220                               ; }
6222   ASL   A
6223   ASL   A
6224   ADC   #3
6226   TAY
6227   LDA   #$C0
6229   STA   byte_5915
622C   LDA   #$5A
622E   STA   byte_5916
6231   LDA   #$90
6233   STA   byte_5909
6236   LDA   #$FF
6238   STA   byte_B339
623B   LDX   #3
623D   STX   byte_8B
623F   STX   byte_89               ; byte_89 = Production
6241
6241 loc_6241:                     ; ...
6241   LDA   goodsPlayersNb,Y      ; for (int player=3; player>=0; player--) {
6244   PHA
6245   JSR   mulBy4orFixed         ; input
6245                               ; A:
6245                               ;
6245                               ; output
6245                               ; byte_81|byte_80 = 0|A << 2
6248   LDA   byte_8B
624A   ASL   A
624B   TAX
624C   LDA   byte_80
624E   STA   playersBid,X
6251   INX
6252   LDA   byte_81
6254   STA   playersBid,X          ;   playersBid [player] = goodsPlayersNb [goodAuction] [player] * 4
6257   PLA
6258   CLC
6259   ADC   goodsPlayersProd,Y
625C   BCC   loc_6260
625E   LDA   #$FF
6260
6260 loc_6260:                     ; ...
6260   STA   goodsPlayersNb,Y      ;   goodsPlayersNb [goodAuction] [player] += expsPlayersProd [goodAuction] [player]
6260                               ;   if (goodsPlayersNb [goodAuction] [player] >= 255) {
6260                               ;     goodsPlayersNb [goodAuction] [player] = 255
6260                               ;   }
6263   JSR   mulBy4orFixed         ; input
6263                               ; A:
6263                               ;
6263                               ; output
6263                               ; byte_81|byte_80 = 0|A << 2
6266   LDA   byte_81
6268   STA   byte_B309,X
626B   DEX
626C   LDA   byte_80
626E   STA   byte_B309,X           ;   byte_B309 [player] = goodsPlayersNb [goodAuction] [player] * 4
6271   DEY
6272   DEC   byte_8B
6274   BPL   loc_6241              ; }
6276   JSR   animUsageOrSpoilageOrProd ; input
6276                               ; byte_89:
6276                               ; 1 _____USAGE______
6276                               ; 2 ____SPOILAGE____
6276                               ; 3 ___PRODUCTION___
6276                               ; byte_B301 []: source
6276                               ; byte_B309 []: destination
6279   JSR   waitJiffyLevel
627C
627C AnimEnded:                    ; ...
627C   LDA   numRound
627E   CMP   nbRounds              ; // remplit byte_B1A9 avec les req
6281   BCS   loc_6289              ; if ((numRound < nbRounds) &&
6281                               ;     (goodAuction < 2)) { // si Food ou Energy
6283   LDX   byte_91
6285   CPX   #2
6287   BCC   loc_628C
6289
6289 loc_6289:                     ; ...
6289   JMP   loc_638F
628C ; ---------------------------------------------------------------------------
628C
628C loc_628C:                     ; ...
628C   CPX   #1
628E   BEQ   loc_62AD              ;   if (goodAuction == Food) {
6290   LDX   #3
6292   LDA   numRound
6294   AND   #3
6296   BNE   loc_629B              ;     if ((numRound % 4) == 0) {
6298   INC   foodReq               ;       foodReq ++;
6298                               ;     }
629B
629B loc_629B:                     ; ...
629B   LDA   foodReq               ;     for (int player=3; player>=0; player--) {
629E   STA   playersGoodReq,X      ;       playersGoodReq [player] = foodReq
62A0   JSR   mulBy4orFixed         ; input
62A0                               ; A:
62A0                               ;
62A0                               ; output
62A0                               ; byte_81|byte_80 = 0|A << 2
62A3   LDA   byte_80
62A5   STA   byte_B1A9,X           ;       byte_B1A9 = foodReq * 4;
62A8   DEX
62A9   BPL   loc_629B              ;     }
62AB   BMI   loc_62C9              ;   }
62AB                               ;   else { // Energy
62AD
62AD loc_62AD:                     ; ...
62AD   LDX   #3
62AF   STX   byte_8C
62B1
62B1 loc_62B1:                     ; ...
62B1   LDX   byte_8C               ;     for (int player=3; player>=0; player--) {
62B3   JSR   calcEnergyReq         ; input
62B3                               ; byte_8C: player
62B3                               ; output
62B3                               ; A, byte_82: nb d'energie requis par les exploitations
62B6   CLC
62B7   ADC   #1
62B9   LDX   byte_8C
62BB   STA   playersGoodReq,X      ;       playersGoodReq [player] = calcEnergyReq (player) + 1
62BD   JSR   mulBy4orFixed         ; input
62BD                               ; A:
62BD                               ;
62BD                               ; output
62BD                               ; byte_81|byte_80 = 0|A << 2
62C0   LDA   byte_80
62C2   STA   byte_B1A9,X           ;       byte_B1A9 = playersGoodReq [player] * 4
62C5   DEC   byte_8C
62C7   BPL   loc_62B1              ;     }
62C7                               ;   }
62C9
62C9 loc_62C9:                     ; ...
62C9   LDA   byte_91
62CB   ASL   A
62CC   ASL   A
62CD   ADC   #3
62CF   LDX   #3
62D1   TAY
62D2
62D2 loc_62D2:                     ; ...
62D2   LDA   goodsPlayersNb,Y      ;   for (int player=3; player>=0; player--) {
62D5   STA   byte_9F,X             ;     byte_9F [player] = goodsPlayersNb [goodAuction] [player];
62D7   DEY
62D8   DEX
62D9   BPL   loc_62D2              ;   }
62DB   LDA   #0
62DD   STA   byte_8B
62DF   LDA   #3
62E1   STA   byte_8C
62E3
62E3 loc_62E3:                     ; ...
62E3   LDY   byte_8C               ;   // byte_8C = player
62E3                               ;   for (int player=3; player>=0; player--) {
62E5   LDX   byte_B1B1,Y
62E8   BEQ   loc_62ED
62EA   JMP   loc_6375
62ED ; ---------------------------------------------------------------------------
62ED
62ED loc_62ED:                     ; ...
62ED   LDX   #0
62EF   LDA   byte_9F,Y
62F2   SEC
62F3   SBC   playersGoodReq,Y
62F6   BCS   loc_6301
62F8   INC   byte_8B
62FA   LDX   #12
62FC   EOR   #11111111b
62FE   CLC
62FF   ADC   #1
6301
6301 loc_6301:                     ; ...
6301   STX   byte_A3,Y
6303   STX   byte_E3,Y
6305   STA   byte_9F,Y
6308   LDA   #0
630A   STA   byte_90
630C   TXA
630D   BNE   loc_6311
630F   INC   byte_90
6311
6311 loc_6311:                     ; ...
6311   LDA   byte_B1A9,Y
6314   TAX
6315   AND   #7
6317   STA   byte_84
6319   TXA
631A   LSR   A
631B   LSR   A
631C   LSR   A
631D   STA   byte_9B
631F   LDA   byte_84
6321   BEQ   loc_6325
6323   INC   byte_9B
6325
6325 loc_6325:                     ; ...
6325   LDA   #$10
6327   SEC
6328   SBC   byte_9B
632A   STA   byte_9B
632C   LDA   byte_8C
632E   ASL   A
632F   TAX
6330   LDA   byte_9B
6332   STA   byte_B217,X
6335   JSR   sub_10BC
6338   LDA   byte_8C
633A   ASL   A
633B   ADC   byte_8C
633D   ADC   #5
633F   STA   byte_55
6341   INX
6342   STA   byte_B217,X
6345   LDA   #5
6347   CLC
6348   ADC   byte_84
634A   JSR   decodeCharToMessage   ; A
634D   LDY   #0
634F   LDX   byte_8C
6351   LDA   byte_A3,X
6353   BEQ   loc_6357
6355   LDY   #3
6357
6357 loc_6357:                     ; ...
6357   STY   byte_90
6359   LDA   #$14
635B   JSR   sub_10BC
635E   LDA   byte_8C
6360   ASL   A
6361   ADC   byte_8C
6363   ADC   #4
6365   STA   byte_55
6367   LDA   byte_9F,X
6369   CMP   #$A
636B   BCS   loc_636F
636D   INC   byte_55
636F
636F loc_636F:                     ; ...
636F   TAX
6370   LDA   #0
6372   JSR   decodeNumberToMessage ; input
6372                               ; A/X: nombre 16 bits
6375
6375 loc_6375:                     ; ...
6375   DEC   byte_8C
6377   BMI   loc_637C
6379   JMP   loc_62E3              ;   }
637C ; ---------------------------------------------------------------------------
637C
637C loc_637C:                     ; ...
637C   LDA   #0
637E   STA   byte_89
6380   INC   byte_DA
6382   JSR   sub_59C7
6385   LDA   #2
6387   STA   byte_2E76
638A   LDA   #$C
638C   STA   byte_2E78
638F
638F loc_638F:                     ; ...
638F   LDA   #$1A                  ; }
6391   JSR   sub_10BC
6394   JSR   addMessageStoreUnit
6397   LDA   #$3C
6399   STA   byte_C3
639B
639B loc_639B:                     ; ...
639B   LDA   maxIndexCpu
639D   CMP   #3
639F   BEQ   loc_63A8
63A1   SEC
63A2   ADC   byte_95
63A4   CMP   #4
63A6   BCS   loc_63AC
63A8
63A8 loc_63A8:                     ; ...
63A8   LDA   byte_C3
63AA   BNE   loc_639B
63AC
63AC loc_63AC:                     ; ...
63AC   LDA   #$28
63AE   LDY   level
63B0   BNE   loc_63B3
63B2   ASL   A
63B3
63B3 loc_63B3:                     ; ...
63B3   JSR   waitJiffy             ; input
63B3                               ; A: temps à attendre en jiffy (1/60 seconds)
63B6   LDX   maxIndexCpu
63B8   BMI   loc_63C5              ; // ajouter une unité d'energie en + requise pour les cpus car
63B8                               ; // 2 peuvent etre gardées sans spoilage
63BA   LDA   byte_91
63BC   CMP   #1
63BE   BNE   loc_63C5
63C0
63C0 loc_63C0:                     ; ...
63C0   INC   playersGoodReq,X
63C2   DEX
63C3   BPL   loc_63C0
63C5
63C5 loc_63C5:                     ; ...
63C5   JSR   C1_255
63C8   LDA   byte_91
63CA   ASL   A
63CB   ASL   A
63CC   ADC   #3
63CE   TAY
63CF   LDX   #3
63D1
63D1 loc_63D1:                     ; ...
63D1   LDA   goodsPlayersNb,Y      ; for (int player=3; player>=0; player--) {
63D4   STA   byte_B319,X           ;   A = goodsPlayersNb [goodAuction] [player]
63D4                               ;   byte_B319 [player] = A
63D7   CPY   #8
63D9   BCS   loc_63EB              ;   // si Food ou Energy
63D9                               ;   if (goodAuction <= 1) {
63DB   SEC
63DC   SBC   playersGoodReq,X      ;     // nombre restant apres deduction de req
63DC                               ;     A -= playersGoodReq [player]
63DE   BCS   loc_63E8              ;     // s'il m'en manque
63DE                               ;     if (A < 0) {
63E0   INC   byte_B1AD,X           ;       byte_B1AD [player] = 1 // manque
63E3   EOR   #11111111b
63E5   CLC
63E6   ADC   #1                    ;       // A = nombre manquant
63E6                               ;       A = abs (A)
63E6                               ;     }
63E6                               ;     /*
63E6                               ;     else {
63E6                               ;       byte_B1AD [player] = 0 // surplus
63E6                               ;     }
63E6                               ;     */
63E8
63E8 loc_63E8:                     ; ...
63E8   STA   byte_B1B1,X           ;     // surplus ou manque
63E8                               ;     byte_B1B1 [player] = A
63E8                               ;   }
63E8                               ;   /*
63E8                               ;   else {
63E8                               ;     byte_B1B1 [player] = 0
63E8                               ;     byte_B1AD [player] = 0 // surplus
63E8                               ;   }
63E8                               ;   */
63EB
63EB loc_63EB:                     ; ...
63EB   DEY
63EC   DEX
63ED   BPL   loc_63D1              ; }
63EF   INX
63F0   STX   byte_4E
63F2   JMP   setFont
63F2 ; End of function animUsageSpoilageProd
63F2
63F5
63F5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
63F5
63F5 ; byte_91: good auction (good à acheter/vendre)
63F5 ; 2 Smithore
63F5 ; 3 Crystite
63F5 ; 0 Food
63F5 ; 1 Energy
63F5
63F5 animSelectBuySell:            ; ...
63F5   JSR   someInit
63F8   JSR   initPlayersButtons
63FB   JSR   sub_9356
63FE   LDA   byte_91
6400   ASL   A
6401   ASL   A
6402   ADC   #3
6404   TAY
6405   LDX   #3
6407
6407 loc_6407:                     ; ...
6407   LDA   goodsPlayersNb,Y      ; // vérifier s'il y a qqc à vendre
6407                               ; for (int player=3; player>=0; player--) {
640A   BNE   Label1                ;   if (goodsPlayersNb [byte_91] [player] != 0) {
640A                               ;     goto (Label1)
640A                               ;   }
640C   DEY
640D   DEX
640E   BPL   loc_6407              ; }
6410   LDX   byte_91
6412   LDA   goodsStoreNb,X
6415   BNE   Label1                ; if (goodsStoreNb [byte_91] != 0) {
6415                               ;   goto (Label1)
6415                               ; }
6417   LDA   #$A                   ; // rien à vendre
6419   JSR   sub_10BC
641C   LDA   #4
641E   STA   byte_55
6420   LDA   #2
6422   STA   byte_90
6424   LDA   #$10                  ; // NO_COMMODITY
6424                               ;
6426   LDY   #$42
6428   JSR   addMessage            ; // NO_COMMODITY
6428                               ;
642B   LDX   #4
642D   STX   byte_55
642F   DEC   byte_90
6431   JSR   addToMessage2         ; byte_81/byte_80: High/Low address
6434   LDX   #4
6436   JSR   sub_1378
6439   JSR   restoreFont
643C   PLA
643D   PLA
643E   JMP   waitJiffyLevel
6441 ; ---------------------------------------------------------------------------
6441
6441 Label1:                       ; ...
6441   LDA   byte_91               ; // il y a des choses à vendre
6443   ASL   A
6444   ASL   A
6445   STA   byte_80
6447   LDX   #3
6449   STX   byte_8C
644B
644B loc_644B:                     ; ...
644B   LDA   #4                    ; // placer auto les joueurs en buy/sell
644B                               ; for (int player=3; player>=0; player--) {
644D   STA   byte_C3,X
644F   LDA   byte_80
6451   CLC
6452   ADC   byte_8C
6454   TAY
6455   LDA   goodsPlayersNb,Y
6458   BEQ   Buyer                 ;   if (goodsPlayersNb [byte_91] [player] != 0) {
645A   LDX   byte_91
645C   CPX   #2
645E   BCS   Seller                ;     // si Smithore ou Crystite
645E                               ;     if (byte_91 >= 2) {
645E                               ;       goto (Seller)
645E                               ;     }
6460   LDX   byte_8C               ;     // si Food ou Energy
6462   CMP   playersGoodReq,X
6464   BEQ   Buyer                 ;     // si j'ai plus d'unité que nécessaire, les vendre
6464                               ;     if (goodsPlayersNb [byte_91] [player] >
6464                               ;         playersGoodReq [player]) {
6464                               ;       goto (Seller)
6464                               ;     }
6466   BCS   Seller                ;   }
6468
6468 Buyer:                        ; ...
6468   LDA   #0                    ;   A = 0 // acheteur
646A   LDY   #$AE
646C   BNE   loc_6479
646E
646E Seller:                       ; ...
646E   LDA   byte_8C
6470   JSR   sub_12CA
6473   STA   byte_9E
6475   LDA   #1                    ;   A = 1 // vendeur
6477   LDY   #$52
6479
6479 loc_6479:                     ; ...
6479   LDX   byte_8C
647B   STA   byte_B1B5,X           ;   byte_B1B5 [player] = A
647E   STA   byte_B1A9,X           ;   byte_B1A9 [player] = A
6481   STY   byte_A3,X
6483   DEC   byte_8C
6485   LDX   byte_8C
6487   BPL   loc_644B              ; }
6489   JSR   sub_5E1B
648C   LDA   #$82
648E   STA   byte_1EB7
6491   LDA   #$14
6493   JSR   sub_10BC
6496   LDA   #0
6498   STA   byte_90
649A   STA   byte_55
649C   LDA   #$1A
649E   JSR   sub_1073
64A1   LDA   #$18
64A3   JSR   sub_10BC
64A6   LDA   #2
64A8   STA   byte_55
64AA   LDA   #$1E                  ; // UNITS_
64AC   LDY   #$41
64AE   JSR   addMessage            ; // UNITS_
64B1   LDA   #$20
64B3   STA   byte_55
64B5   LDA   #$1E                  ; // UNITS_
64B7   LDY   #$41
64B9   JSR   addMessage            ; // UNITS_
64BC   LDA   #$18
64BE   JSR   sub_10BC
64C1   LDA   #7
64C3   STA   byte_55
64C5   LDX   #0
64C7   STX   byte_8C
64C9
64C9 loc_64C9:                     ; ...
64C9   LDA   byte_B319,X
64CC   TAX
64CD   LDA   #0
64CF   TAY
64D0   JSR   decodeNumberAndCharToMessage ; goodsPlayersNb [goodAuction] [player]
64D3   INC   byte_55
64D5   INC   byte_8C
64D7   LDX   byte_8C
64D9   CPX   #4
64DB   BNE   loc_64C9
64DD   LDA   #$16
64DF   JSR   sub_10BC
64E2   LDA   #2
64E4   STA   byte_55
64E6   LDA   #$19                  ; // MONEY
64E8   LDY   #$41
64EA   JSR   addMessage            ; // MONEY
64ED   LDA   #$20
64EF   STA   byte_55
64F1   LDA   #$19                  ; // MONEY
64F3   LDY   #$41
64F5   JSR   addMessage            ; // MONEY
64F8   LDA   #$16
64FA   JSR   sub_10BC
64FD   LDX   #7
64FF   STX   byte_55
6501   LDA   #0
6503   STA   byte_8B
6505
6505 loc_6505:                     ; ...
6505   ASL   A
6506   TAY
6507   LDX   playersCash,Y
650A   INY
650B   LDA   playersCash,Y
650E   LDY   #0
6510   JSR   decodeNumberAndCharToMessage ; // playersCash
6513   INC   byte_55
6515   INC   byte_8B
6517   LDA   byte_8B
6519   CMP   #4
651B   BNE   loc_6505
651D   LDA   #$1B
651F   JSR   sub_10BC
6522   JSR   addMessageStoreUnit
6525   LDX   maxIndexCpu
6527   BMI   loc_652C              ; if (maxIndexCpu >= 0) {
6529   JSR   ai1                   ; input
6529                               ; byte_BC: 0 good auction
6529                               ;          5 land auction
6529                               ; byte_91: goodAuction ou nb terre restant a vendre
6529                               ;
6529                               ; output
6529                               ; mapTemp3_8: l'argent qu'il faut garder au minimum
652C
652C loc_652C:                     ; ...
652C   JSR   ai2                   ; input
652C                               ; byte_BC: 0 good auction
652C                               ;          5 land auction
652C                               ; priceStart
652C                               ; playersCash
652C                               ; mapTemp3_0: estimation (si land action)
652C                               ; mapTemp3_8: argent mimnum à garder
652C                               ;
652C                               ; output
652C                               ; mapTemp3_11: l'argent qu'il est pres à investir
652C                               ;
652C                               ; Si land auction:
652C                               ; mapTemp3_0: la valeur estimée de la terre
652C                               ; mapTemp3_8: un nombre entre 144 et 399
652C                               ; mapTemp3: playerCash - random [144;399]
652C                               ;           plafonné par estimation
652F   LDX   maxIndexCpu
6531   BMI   loc_6536              ; if (maxIndexCpu >= 0) {
6533   JSR   animSelectBuySellAi4  ; input
6533                               ; X: maxIndexCpu
6533                               ; byte_91: good auction
6533                               ; mapTemp3_8: l'argent à garder au minimum
6533                               ;
6533                               ; output
6533                               ; byte_B487: nb d'unités à vendre ou acheter
6536
6536 loc_6536:                     ; ...
6536   LDA   #$60                  ; }
6538   STA   byte_89
653A   JSR   sub_5A5E
653D   LDX   #0
653F   STX   byte_8D
6541   LDA   #2
6543   STA   byte_90
6545   LDA   #9
6547   JSR   sub_10BC
654A   LDA   #4
654C   STA   byte_55
654E   LDA   #$AF                  ; // PUSH_STICK
654E                               ; // ___TO_DECLARE_AS
654E                               ; // __BUYER_OR_SELLER
6550   LDY   #$3A
6552   JSR   addMessage            ; // PUSH_STICK
6552                               ; // ___TO_DECLARE_AS
6552                               ; // __BUYER_OR_SELLER
6555   LDX   #3
6557
6557 loc_6557:                     ; ...
6557   LDA   #$F
6559   STA   byte_E3,X
655B   LDA   byte_427B,X
655E   STA   OS_HPOSP0_M0PF,X
6561   LDA   #0
6563   STA   OS_SIZEP0_M0PL,X
6566   DEX
6567   BPL   loc_6557
6569   LDY   #$1E
656B   STY   byte_D3
656D   JSR   sub_3101
6570   LDX   #0
6572   STX   byte_90
6574   STX   byte_93
6576   STX   byte_A9
6578   INX
6579   STX   byte_C1
657B
657B loc_657B:                     ; ...
657B   LDA   #0
657D   STA   byte_DD
657F
657F loc_657F:                     ; ...
657F   LDA   byte_DD
6581   BEQ   loc_657F
6583   LDX   #0
6585   STX   byte_4E
6587   LDX   byte_8D
6589   BEQ   loc_6592
658B   LDA   byte_AF
658D   BNE   loc_65A1
658F   JMP   loc_65FB
6592 ; ---------------------------------------------------------------------------
6592
6592 loc_6592:                     ; ...
6592   LDX   maxIndexCpu
6594   BMI   loc_65A1
6596
6596 loc_6596:                     ; ...
6596   LDA   byte_B1A9,X
6599   CLC
659A   ADC   #$D
659C   STA   byte_BD,X
659E   DEX
659F   BPL   loc_6596
65A1
65A1 loc_65A1:                     ; ...
65A1   LDX   #3
65A3   STX   byte_8D
65A5   STX   byte_8C
65A7   LDA   #$14
65A9   JSR   sub_10BC
65AC
65AC loc_65AC:                     ; ...
65AC   LDA   byte_8C
65AE   TAX
65AF   ASL   A
65B0   ASL   A
65B1   ADC   byte_8C
65B3   ADC   byte_8C
65B5   ADC   #7
65B7   STA   byte_55
65B9   LDA   byte_B1B5,X
65BC   BEQ   loc_65C4
65BE   LDA   #$AA                  ; // _____
65C0   LDY   #$3A
65C2   BNE   loc_65C8
65C4
65C4 loc_65C4:                     ; ...
65C4   LDA   #$28                  ; // __BUY_
65C6   LDY   #$42
65C8
65C8 loc_65C8:                     ; ...
65C8   JSR   addMessage            ; // _____
65C8                               ; // __BUY_
65CB   DEC   byte_8C
65CD   BPL   loc_65AC
65CF   LDX   #3
65D1   STX   byte_8C
65D3   LDA   #2
65D5   JSR   sub_10BC
65D8
65D8 loc_65D8:                     ; ...
65D8   LDA   byte_8C
65DA   TAX
65DB   ASL   A
65DC   ASL   A
65DD   ADC   byte_8C
65DF   ADC   byte_8C
65E1   ADC   #8
65E3   STA   byte_55
65E5   LDA   byte_B1B5,X
65E8   BNE   loc_65F0
65EA   LDA   #$AA                  ; // _____
65EC   LDY   #$3A
65EE   BNE   loc_65F4
65F0
65F0 loc_65F0:                     ; ...
65F0   LDA   #$2E                  ; // _SELL_
65F2   LDY   #$42
65F4
65F4 loc_65F4:                     ; ...
65F4   JSR   addMessage            ; // _____
65F4                               ; // _SELL_
65F7   DEC   byte_8C
65F9   BPL   loc_65D8
65FB
65FB loc_65FB:                     ; ...
65FB   LDX   byte_D3
65FD   BMI   loc_6602
65FF   JMP   loc_657B
6602 ; ---------------------------------------------------------------------------
6602
6602 loc_6602:                     ; ...
6602   JSR   C1_255
6605   JSR   sub_136D
6608   JSR   initPlayersButtons
660B   LDA   #8
660D   JSR   sub_10BC
6610   LDA   #0
6612   STA   byte_55
6614   LDX   #byte_78
6616
6616 loc_6616:                     ; ...
6616   LDA   #0
6618   JSR   decodeCharToMessage   ; A
661B   DEX
661C   BNE   loc_6616
661E   LDX   #1
6620   JSR   sub_1378
6623   LDA   #$1E
6625   JMP   waitJiffy             ; input
6625 ; End of function animSelectBuySell ; A: temps à attendre en jiffy (1/60 seconds)
6625
6628
6628 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6628
6628
6628 playersTurn:                  ; ...
6628
6628 ; FUNCTION CHUNK AT 6A82 SIZE 00000081 BYTES
6628 ; FUNCTION CHUNK AT 6B14 SIZE 0000017E BYTES
6628
6628   LDA   #0
662A   STA   nbLandsToSellByPlayers ; nbLandsToSell = 0
662C   STA   byte_B378             ; int order = 0 // premier joueur
662F   LDA   #1
6631   STA   byte_49               ; byte_49 = 1 // du premier au dernier
6633   LDA   #3
6635   STA   byte_E7               ; byte_E7 = 3
6637   LDY   goodsStoreNb+4
663A   CPY   #8
663C   BCS   loc_6645
663E   STA   byte_B378             ; if (STOCK_MULE < 8) {
663E                               ;   order = 3 // dernier joueur d'abord
6641   LDA   #-1
6643   STA   byte_49               ;   byte_49 = -1 // du dernier au premier
6643                               ; }
6645
6645 loc_6645:                     ; ...
6645   LDX   byte_B378             ; for (;;) {
6648   LDA   ordersPlayer,X
664B   STA   currentPlayer         ;   currentPlayer = ordersPlayer [order]
664D   JSR   drawMulePriceAndCurrentPlayerCash
6650   JSR   sub_4B4D
6653   LDA   #$7B
6655   STA   byte_9F
6657   LDA   #0
6659   STA   byte_91
665B   STA   byte_E0
665D   STA   byte_A9
665F   STA   byte_C4
6661   STA   byte_D3               ; // temps renstant en pixel = 0
6663   STA   byte_B33D
6666   LDA   #$F
6668   STA   byte_E3
666A   JSR   sub_5236
666D   LDA   #$64                  ; // DEVELOPMENT
666F   LDY   #$3B
6671   JSR   printTitle            ; // DEVELOPMENT
6674   JSR   drawNumRound
6677   JSR   prepareStaticMessage
667A   JSR   sub_1036
667D   LDA   #$42
667F   STA   byte_1E98
6682   LDY   #4
6684   STY   byte_55
6686   LDA   maxIndexCpu
6688   BMI   loc_669E              ;   if (maxIndexCpu >= 0) {
668A   CMP   currentPlayer
668C   BCC   loc_669E              ;     if (currentPlayer <= maxIndexCpu) {
668E   LDA   #$DE                  ; // THE_COMPUTER_IS_TAKING_HIS_TURN
6690   LDY   #$40
6692   JSR   addMessage            ; // THE_COMPUTER_IS_TAKING_HIS_TURN
6695   LDX   currentPlayer         ;       X = currentPlayer
6697   LDA   #1
6699   STA   byte_B2,X             ;       byte_B2 [currentPlayer] = 1
669B   JMP   loc_66C1              ;     }
669B                               ;   }
669B                               ;   else {
669E ; ---------------------------------------------------------------------------
669E
669E loc_669E:                     ; ...
669E   LDA   #$30                  ; // PRESS_
66A0   LDY   #$3D
66A2   JSR   addMessage            ; // PRESS_
66A5   LDA   nbPaddles
66A7   BNE   loc_66B1              ;     if (nbPaddles == 0) {
66A7                               ;
66A9   JSR   addToMessage2         ; // YOUR_STICK_BUTTON_TO_START
66AC   LDX   currentPlayer         ;       X = currentPlayer
66AC                               ;     }
66AC                               ;     else {
66AE   JMP   loc_66C1
66B1 ; ---------------------------------------------------------------------------
66B1
66B1 loc_66B1:                     ; ...
66B1   LDA   #$50                  ; // ANY
66B3   LDY   #$3D
66B5   JSR   addMessage            ; // ANY
66B8   LDA   #$3A                  ; // STICK_BUTTON_TO_START
66BA   LDY   #$3D
66BC   JSR   addMessage            ; // STICK_BUTTON_TO_START
66BF   LDX   #3                    ;       X = 3
66BF                               ;     }
66BF                               ;   }
66C1
66C1 loc_66C1:                     ; ...
66C1   STX   byte_E7               ; byte_E7 = X
66C3   JSR   wait6
66C6   LDA   #86
66C8   STA   byte_1E95
66CB   JSR   playerEvent
66CE   JSR   drawCurrentPlayerCash
66D1   LDY   byte_E7
66D3   LDX   currentPlayer
66D5   LDA   playersColor,X
66D8   STA   OS_PCOLR0
66DB   LDA   playersTurnTimeWait,X
66DE   STA   playerTurnTimeWait
66E1   LDA   #12
66E3   STA   byte_80
66E5   STA   byte_C3
66E7   LSR   A
66E8   STA   byte_88
66EA   LDA   #$FF
66EC   STA   byte_C6
66EE   BNE   loc_66F5
66F0
66F0 loc_66F0:                     ; ...
66F0   LDA   byte_B2,Y
66F3   BEQ   loc_6741
66F5
66F5 loc_66F5:                     ; ...
66F5   LDA   playersAi,X
66F8   BPL   loc_6704
66FA   JSR   sub_373C
66FD   BEQ   loc_6741
66FF   LDX   currentPlayer
6701   JMP   loc_6716
6704 ; ---------------------------------------------------------------------------
6704
6704 loc_6704:                     ; ...
6704   LDA   nbPaddles
6706   BEQ   loc_6716
6708
6708 loc_6708:                     ; ...
6708   DEY
6709   BPL   loc_670D
670B   LDY   #3
670D
670D loc_670D:                     ; ...
670D   LDA   playersAi,Y
6710   BMI   loc_6708
6712   CMP   #8
6714   BCC   loc_6708
6716
6716 loc_6716:                     ; ...
6716   LDA   byte_C3
6718   BNE   loc_66F0
671A   LDA   byte_97,X
671C   PHA
671D   LDA   byte_80
671F   STA   byte_97,X
6721   PLA
6722   STA   byte_80
6724   LDA   #$A
6726   STA   byte_C3
6728   LDA   playersAi,X
672B   BPL   loc_66F0
672D   JSR   sub_373C
6730   BEQ   loc_6741
6732   LDX   currentPlayer
6734   DEC   byte_88
6736   BPL   loc_66F0
6738   INC   byte_88
673A   LDA   byte_B33D
673D   CMP   #1
673F   BEQ   loc_66F0
6741
6741 loc_6741:                     ; ...
6741   LDX   currentPlayer
6743   LDA   playersColor,X
6746   STA   byte_97,X
6748   STX   byte_9E
674A   STY   byte_E7
674C   LDA   #$7C
674E   STA   byte_9F
6750   LDA   #$58
6752   STA   byte_A3
6754   JSR   C1_255
6757   LDA   byte_B33D
675A   BEQ   loc_6767
675C   LDA   byte_C6
675E   CLC
675F   ADC   #$64
6761   BCC   loc_6765
6763   LDA   #$FF
6765
6765 loc_6765:                     ; ...
6765   STA   byte_C6
6767
6767 loc_6767:                     ; ...
6767   LDA   #$B8
6769   STA   byte_1E96
676C   LDA   #$B6
676E   STA   byte_1E97
6771   LDA   #$46
6773   STA   byte_1E98
6776   STA   byte_1E95
6779   LDA   #7
677B   STA   byte_A9
677D   LDA   #$FF
677F   STA   byte_C4
6781   SEC
6782   SBC   byte_C6
6784   LSR   A
6785   LSR   A
6786   STA   wampusTime
6789   LDA   #0
678B   STA   OS_SIZEM
678E   STA   byte_BC
6790   LDA   #91
6792   STA   byte_D3               ;   byte_D3 = 91 // hauteur en pixel de la barre de temps
6794   LDA   #$CB
6796   STA   OS_HPOSM0_P0PF
6799   LDY   currentPlayer
679B   LDA   goodsPlayersNb,Y
679E   CMP   foodReq
67A1   BCS   loc_67C4              ;   if (goodsPlayersNb [Food] [currentPlayer] < foodReq) {
67A3   LDY   byte_D3
67A5   JSR   mul8BitsBy8Bits       ; input
67A5                               ; A: left operand
67A5                               ; Y: right operand
67A5                               ; output
67A5                               ; Y/A, byte_81/byte_82: A * Y
67A8   LDX   foodReq
67AB   JSR   div8Bits              ; input
67AB                               ; X: Diviseur
67AB                               ; Y/A: Numérateur
67AB                               ; output
67AB                               ; Y: Reste
67AB                               ; A: Résultat
67AE   STA   byte_D3               ;     byte_D3 *= goodsPlayersNb [Food] [currentPlayer] / foodReq
67B0   LDX   #22                   ; 22 _FOOD_SHORTAGE
67B0                               ; 23 __DECREASES_TIME.
67B2   JSR   addStaticTurnMessage2 ; 22 _FOOD_SHORTAGE
67B5   JSR   addToMessage2         ; 23 __DECREASES_TIME.
67B8   LDX   #2
67BA   JSR   sub_1378
67BD   LDA   #50
67BF   STA   byte_C3
67C1   JSR   waitJiffyLevel        ;   }
67C4
67C4 loc_67C4:                     ; ...
67C4   LDA   byte_D3
67C6   CLC
67C7   ADC   #10
67C9   STA   byte_D3               ;   byte_D3 += 10
67CB   LDA   maxIndexCpu
67CD   BMI   loc_67E0              ;   if (maxIndexCpu >= 0) {
67CF   CMP   currentPlayer
67D1   BCC   loc_67E0              ;     if (currentPlayer <= maxIndexCpu) {
67D3   JSR   playerTurnAi
67D6   LDA   byte_D3
67D8   BPL   loc_67DD              ;     if (byte_D3 <= 0) {
67DA   JMP   TimeHasRunOut         ;       goto (TimeHasRunOut)
67DA                               ;     }
67DA                               ;     else {
67DD ; ---------------------------------------------------------------------------
67DD
67DD loc_67DD:                     ; ...
67DD   JMP   Gambling              ;       goto (Gambling)
67DD                               ;     }
67DD                               ;   }
67DD                               ;   // joueur humain
67DD                               ;   else {
67E0 ; ---------------------------------------------------------------------------
67E0
67E0 loc_67E0:                     ; ...
67E0   JSR   sub_51BD
67E3   JSR   sub_3101
67E6   LDA   #4
67E8   STA   byte_C4
67EA   STA   byte_A9
67EC   LDA   #195                  ; // Y inférieur de la bar de temps
67EE   SEC
67EF   SBC   byte_D3               ; // temps restant en pixel
67F1   CMP   #3                    ; si temps < 3 alors ne rien afficher
67F3   BCC   EnterStore
67F5   TAY
67F6   LDA   #00000011b
67F8
67F8 loc_67F8:                     ; ...
67F8   STA   charTime,Y            ; // dessiner la bar de temps en mémoire
67FB   INY
67FC   CPY   #194
67FE   BCC   loc_67F8
6800
6800 EnterStore:                   ; ...
6800   JSR   drawMulesInStock      ; // joueur dans le store
6803   LDA   #0
6805   STA   byte_E3
6807   STA   byte_C2
6809
6809 LoopInStore:                  ; ...
6809   LDA   byte_D3
680B   BNE   loc_6822
680D   LDA   #$7B
680F   STA   byte_9F
6811   LDA   #$F
6813   STA   byte_E3
6815   JSR   sub_5227
6818   LDA   #4
681A   STA   byte_A9
681C   JSR   waitJiffy             ; input
681C                               ; A: temps à attendre en jiffy (1/60 seconds)
681F   JMP   TimeHasRunOut
6822 ; ---------------------------------------------------------------------------
6822
6822 loc_6822:                     ; ...
6822   LDX   byte_C2
6824   BEQ   loc_683F
6826   CPX   #3
6828   BCS   loc_682E              ; 02 NO_MULES_ALLOWED
6828                               ; 04 _NO_MULES_LEFT__
6828                               ; 08 NEED_SOIL_SAMPLE
6828                               ; 09 NO_PLOT_MARKED__
6828                               ; 12 GO_TO_BLDG_FIRST
682A   LDA   byte_91
682C   BNE   loc_6834
682E
682E loc_682E:                     ; ...
682E   JSR   addStaticTurnMessage2 ; 04 _NO_MULES_LEFT__
682E                               ; 08 NEED_SOIL_SAMPLE
682E                               ; 09 NO_PLOT_MARKED__
682E                               ; 12 GO_TO_BLDG_FIRST
6831   JMP   loc_6837
6834 ; ---------------------------------------------------------------------------
6834
6834 loc_6834:                     ; ...
6834   JSR   addStaticMessageTurn  ; 02 NO_MULES_ALLOWED
6837
6837 loc_6837:                     ; ...
6837   LDA   #$1E
6839   STA   byte_C3
683B   LDA   #0
683D   STA   byte_C2
683F
683F loc_683F:                     ; ...
683F   LDA   byte_C3
6841   BNE   loc_6848
6843   DEC   byte_C3
6845   JSR   prepareStaticMessage
6848
6848 loc_6848:                     ; ...
6848   LDA   byte_9F
684A   CMP   #$49
684C   BCC   loc_6852
684E   CMP   #$AD
6850   BCC   loc_6870
6852
6852 loc_6852:                     ; ...
6852   LDA   byte_BC
6854   BNE   loc_686B
6856   LDA   byte_E0
6858   BEQ   loc_686B
685A   BCC   loc_6860
685C   LDA   #$AC
685E   BNE   loc_6862
6860
6860 loc_6860:                     ; ...
6860   LDA   #$4C
6862
6862 loc_6862:                     ; ...
6862   STA   byte_9F
6864   LDA   #12                   ; 12 GO_TO_BLDG_FIRST
6866   STA   byte_C2
6868   JMP   loc_6870
686B ; ---------------------------------------------------------------------------
686B
686B loc_686B:                     ; ...
686B   INC   byte_91
686D   JMP   ExitStore
6870 ; ---------------------------------------------------------------------------
6870
6870 loc_6870:                     ; ...
6870   LDA   byte_A3
6872   CMP   #$39
6874   BCS   loc_687F
6876   JSR   addMessageAndBuyOutfittingMule
6879   LDA   #6
687B   STA   byte_C4
687D   LDA   byte_A3
687F
687F loc_687F:                     ; ...
687F   CMP   #$78
6881   BCS   loc_6886
6883   JMP   LoopInStore
6886 ; ---------------------------------------------------------------------------
6886
6886 loc_6886:                     ; ...
6886   LDA   #$F
6888   STA   byte_E3
688A   LDA   #6
688C   STA   byte_C4
688E   LDA   byte_AF
6890   CMP   #7
6892   BNE   loc_6897
6894   JMP   Gambling
6897 ; ---------------------------------------------------------------------------
6897
6897 loc_6897:                     ; ...
6897   CMP   #5
6899   BNE   loc_68F3
689B   CMP   byte_BC
689D   BNE   loc_68D4
689F   LDA   byte_CB
68A1   BPL   loc_68A8
68A3   LDA   #9                    ; 09 NO_PLOT_MARKED__
68A5   JMP   loc_6933
68A8 ; ---------------------------------------------------------------------------
68A8
68A8 loc_68A8:                     ; ...
68A8   LDY   nbLandsToSellByPlayers
68AA
68AA loc_68AA:                     ; ...
68AA   DEY                         ; // vérifier si la land n'est pas déjà
68AA                               ; // dans la liste à vendre
68AB   BMI   loc_68B4
68AD   CMP   landsToSell,Y
68B0   BEQ   loc_68BB
68B2   BNE   loc_68AA
68B4
68B4 loc_68B4:                     ; ...
68B4   LDY   nbLandsToSellByPlayers ; // ajouter la land dans la liste
68B6   STA   landsToSell,Y
68B9   INC   nbLandsToSellByPlayers
68BB
68BB loc_68BB:                     ; ...
68BB   JSR   prepareStaticMessage
68BE   LDA   #6
68C0   STA   byte_C4
68C2   LDA   #$8D                  ; // _LAND_WILL_BE_SOLD
68C2                               ; // __AT_NEXT_AUCTION
68C4   LDY   #$3D
68C6   JSR   addMessage            ; Y/A: High/Low address
68C9
68C9 loc_68C9:                     ; ...
68C9   LDA   #$FF
68CB   STA   byte_CB
68CD   LDA   #0
68CF   STA   byte_BC
68D1   JMP   loc_6992
68D4 ; ---------------------------------------------------------------------------
68D4
68D4 loc_68D4:                     ; ...
68D4   LDX   #13                   ; 13 MARK_PLOT_TO_SEL L?
68D6   JSR   addStaticMessageTurn  ; 13 MARK_PLOT_TO_SEL L?
68D9   LDA   #$CC                  ; L
68DB   JSR   decodeCharToMessage   ; A
68DE   LDA   #$FA
68E0   STA   byte_C4
68E2   LDY   byte_D3
68E4   CPY   byte_B33A
68E7   BCS   loc_68ED
68E9   DEY
68EA   STY   byte_B33A
68ED
68ED loc_68ED:                     ; ...
68ED   JSR   sub_136D
68F0   JMP   loc_690F
68F3 ; ---------------------------------------------------------------------------
68F3
68F3 loc_68F3:                     ; ...
68F3   CMP   #6
68F5   BNE   loc_6922
68F7   CMP   byte_BC
68F9   BNE   loc_690A
68FB   LDX   byte_CB
68FD   BPL   loc_6904
68FF   LDA   #8                    ; 08 NEED_SOIL_SAMPLE
6901   JMP   loc_6933
6904 ; ---------------------------------------------------------------------------
6904
6904 loc_6904:                     ; ...
6904   JSR   crystiteFound         ; input
6904                               ; byte_CB: la case regardée
6907   JMP   loc_68C9
690A ; ---------------------------------------------------------------------------
690A
690A loc_690A:                     ; ...
690A   LDX   #14                   ; 14 GET_SOIL_SAMPLE_
690C   JSR   addStaticMessageTurn  ; 14 GET_SOIL_SAMPLE_
690F
690F loc_690F:                     ; ...
690F   JSR   sub_1036
6912   LDX   #15                   ; 15 _THEN_COME_BACK.
6914   JSR   addMessageTurn        ; 15 _THEN_COME_BACK.
6917   LDA   byte_AF
6919   STA   byte_BC
691B   LDA   #$FF
691D   STA   byte_CB
691F   JMP   loc_6992
6922 ; ---------------------------------------------------------------------------
6922
6922 loc_6922:                     ; ...
6922   LDA   #0
6924   STA   byte_BC
6926   LDA   byte_E0
6928   BNE   loc_6938
692A   LDY   currentPlayer
692C   LDA   goodsStoreNb+4        ; // si il reste des mules
692F   BNE   loc_6973
6931   LDA   #4                    ; 04 _NO_MULES_LEFT__
6933
6933 loc_6933:                     ; ...
6933   STA   byte_C2
6935   JMP   loc_6992
6938 ; ---------------------------------------------------------------------------
6938
6938 loc_6938:                     ; ...
6938   INC   goodsStoreNb+4        ; // revente d'une mule
693B   LDA   currentPlayer
693D   ASL   A
693E   TAX
693F   LDA   playersCash,X
6942   ADC   mulePriceL
6945   STA   playersCash,X
6948   LDA   playersCash+1,X
694B   ADC   mulePriceH
694E   STA   playersCash+1,X
6951   LDA   byte_9F
6953   STA   byte_A0
6955   STA   OS_HPOSP1_M1PF
6958
6958 loc_6958:                     ; ...
6958   LDA   #2
695A   JSR   sub_6B03
695D   CMP   #$8A
695F   BCC   loc_6958
6961   LDA   #0
6963   STA   byte_E0
6965   LDA   #1
6967   JSR   sub_12CA
696A   JSR   drawMulesInStock
696D   JSR   drawCurrentPlayerCash
6970   JMP   loc_6992
6973 ; ---------------------------------------------------------------------------
6973
6973 loc_6973:                     ; ...
6973   DEC   goodsStoreNb+4        ; // achat d'une mule
6976   JSR   drawMulesInStock
6979   LDA   #$84
697B   STA   byte_A4
697D   LDA   #$9C
697F   STA   byte_A0
6981   STA   OS_HPOSP1_M1PF
6984   LDA   #1
6986   STA   byte_E0
6988   LDA   #4
698A   STA   OS_PCOLR1
698D   LDX   #8
698F   JSR   buyOutfitOrMule       ; input
698F                               ; X: numero de l'outfit
698F                               ;    8: Mule
698F                               ; output
6992
6992 loc_6992:                     ; ...
6992   JSR   wait6
6995   LDA   #$74
6997   STA   byte_A3
6999   JSR   wait6
699C   LDA   #$E
699E   STA   byte_E3
69A0   LDA   #$C8
69A2   STA   byte_C3
69A4   JMP   LoopInStore
69A4 ; End of function playersTurn
69A4
69A7
69A7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
69A7
69A7 ; input
69A7 ; byte_CB: la case regardée
69A7
69A7 crystiteFound:                ; ...
69A7   LDX   byte_CB
69A9   JSR   prepareStaticMessage
69AC   INC   byte_55
69AE   LDA   expsPlotsCapacity+$87,X ; A = MAP_CRYST [X]
69B1   STA   plotsKnownCrystite,X  ; MAP_TEMP2 [X] = MAP_CRYST [X]
69B4   CMP   #3
69B6   BCC   loc_69BA              ; if (A >= 3) {
69B8   LDA   #3                    ;   A = 3
69B8                               ; }
69BA
69BA loc_69BA:                     ; ...
69BA   ASL   A
69BB   ASL   A
69BC   ASL   A                     ; A *= 8
69BD   ADC   #$53                  ; ____NO
69BD                               ; ___LOW
69BD                               ; __MEDIUM
69BD                               ; ___HIGH
69BF   PHA
69C0   LDA   #0
69C2   ADC   #$3D
69C4   TAY
69C5   PLA
69C6   JSR   addMessage            ; Y/A: High/Low address
69C9   LDA   #$72                  ; // _CRYSTITE
69C9                               ; // ___FOUND_IN_PLOT.
69CB   LDY   #$3D
69CD   JMP   addMessage            ; Y/A: High/Low address
69CD ; End of function crystiteFound
69CD
69D0
69D0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
69D0
69D0
69D0 addMessageAndBuyOutfittingMule: ; ...
69D0   LDA   #$F
69D2   STA   byte_E3
69D4   LDA   byte_AF
69D6   STA   byte_BC
69D8   LDX   #20                   ; 20 OUTFITTING_MULE_
69DA   JSR   addStaticMessageTurn  ; 20 OUTFITTING_MULE_
69DD   LDA   byte_9F
69DF   STA   byte_A0
69E1   STA   OS_HPOSP1_M1PF
69E4   LDA   #$FF
69E6   STA   byte_8B
69E8
69E8 loc_69E8:                     ; ...
69E8   LDA   #$C8
69EA   STA   OS_AUDC4_POT7
69ED   LDA   byte_8B
69EF   STA   OS_AUDF4_POT6
69F2   SEC
69F3   SBC   #2
69F5   STA   byte_8B
69F7   LDA   #$FF
69F9   JSR   sub_6B03
69FC   CMP   #$39
69FE   BCS   loc_69E8
6A00   LDA   #$C5
6A02   STA   OS_AUDC4_POT7
6A05   LDA   OS_PCOLR0
6A08   STA   OS_PCOLR1
6A0B
6A0B loc_6A0B:                     ; ...
6A0B   LDA   #$C8
6A0D   STA   OS_AUDC4_POT7
6A10   LDA   byte_8B
6A12   STA   OS_AUDF4_POT6
6A15   CLC
6A16   ADC   #2
6A18   STA   byte_8B
6A1A   LDA   #1
6A1C   JSR   sub_6B03
6A1F   CMP   #$50
6A21   BCC   loc_6A0B
6A23   LDA   #$3C
6A25   STA   byte_A3
6A27   JSR   wait6
6A2A   LDA   #0
6A2C   STA   OS_AUDC4_POT7
6A2F   LDA   #$D
6A31   STA   byte_E3
6A33   JSR   prepareStaticMessage
6A36   LDA   #3
6A38   STA   byte_55
6A3A   LDA   #$A4
6A3C   JSR   decodeCharToMessage   ; $
6A3F   LDY   byte_BC
6A41   LDX   outfitsPriceL,Y
6A44   LDA   #0
6A46   JSR   decodeNumberToMessage ; outfitsPrice [good]
6A49   LDA   #$22                  ; // _TO_OUTFIT
6A49                               ; // __MULE_FOR
6A4B   LDY   #$3F
6A4D   JSR   addMessage            ; Y/A: High/Low address
6A50   LDX   byte_BC
6A52   DEX
6A53   JSR   addMessageGood        ; input
6A53                               ; X: good
6A56   LDA   #$C8
6A58   STA   byte_C3
6A5A   LDX   byte_BC               ; buyOutfitOrMule
6A5A ; End of function addMessageAndBuyOutfittingMule
6A5A
6A5C
6A5C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6A5C
6A5C ; input
6A5C ; X: numero de l'outfit
6A5C ;    8: Mule
6A5C ; output
6A5C
6A5C buyOutfitOrMule:              ; ...
6A5C   LDA   currentPlayer         ; // Achat d'un outfit
6A5E   ASL   A
6A5F   TAY
6A60   LDA   playersCash,Y
6A63   SEC
6A64   SBC   outfitsPriceL,X
6A67   STA   playersCash,Y
6A6A   INY
6A6B   LDA   playersCash,Y
6A6E   SBC   outfitsPriceH,X
6A71   STA   playersCash,Y         ; PLAYERS_CASH [CURRENT_PLAYER] -= OUTFITS_PRICE [X]
6A74   JMP   drawCurrentPlayerCash
6A74 ; End of function buyOutfitOrMule
6A74
6A77
6A77 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6A77
6A77 ; input
6A77 ; X: good
6A77
6A77 addMessageGood:               ; ...
6A77   LDA   #$2B                  ; // _FOOD_, ...
6A79   LDY   #$3A
6A7B   JMP   addToMessageWithOffset ; // _FOOD_, ...
6A7B ; End of function addMessageGood
6A7B
6A7B ; ---------------------------------------------------------------------------
6A7E roundsGamblingBonus:.BYTE 50, 100, 150, 200 ; ...
6A7E                               ; roundsGamblingBonus [i] Byte ($6A7E)
6A7E                               ; Gambling bonuses according to the round.
6A7E                               ;
6A7E                               ; i (roundNum/4) Gambling bonus
6A7E                               ; +0 (round [1; 3]) 50
6A7E                               ; +1 (round [4; 7]) 100
6A7E                               ; +2 (round [8; 11]) 150
6A7E                               ; +3 (round 12) 200
6A82 ; ---------------------------------------------------------------------------
6A82 ; START OF FUNCTION CHUNK FOR playersTurn
6A82
6A82 Gambling:                     ; ...
6A82   JSR   prepareStaticMessage
6A85   JSR   C1_255
6A88   LDA   #0
6A8A   STA   byte_B33C
6A8D   JSR   sub_136D
6A90   LDA   numRound
6A92   LSR   A
6A93   LSR   A
6A94   TAX                         ; X = GAME_NUM_ROUND / 4
6A95   LDA   currentPlayer
6A97   ASL   A
6A98   TAY
6A99   LDA   byte_D3               ; // time left
6A9B   ASL   A
6A9C   JSR   random_0_A            ; A = random [0; byte_D3*2] // avec byte_D3 <= 101
6A9F   CLC
6AA0   ADC   roundsGamblingBonus,X ; A += GAMBLING_BONUS [GAME_NUM_ROUND/4]
6AA3   BCC   loc_6AA7              ; if (A >= 250) {
6AA5   LDA   #250                  ;   A = 250
6AA5                               ; }
6AA7
6AA7 loc_6AA7:                     ; ...
6AA7   TAX
6AA8   CLC
6AA9   ADC   playersCash,Y
6AAC   STA   playersCash,Y
6AAF   INY
6AB0   LDA   #0
6AB2   ADC   playersCash,Y
6AB5   STA   playersCash,Y         ; PLAYERS_CASH [CURRENT_PLAYER] += $00/A
6AB8   LDA   #$C1                  ; // __WON_$
6ABA   LDY   #$3D
6ABC   JSR   addMessage            ; Y/A: High/Low address
6ABF   LDA   #0
6AC1   JSR   decodeNumberToMessage ; input
6AC1                               ; A/X: nombre 16 bits
6AC4   LDA   #$C8                  ; // _GAMBLING!
6AC6   LDY   #$3D
6AC8   JSR   addMessage            ; Y/A: High/Low address
6ACB   JSR   drawCurrentPlayerCash
6ACE   JSR   C1_255
6AD1   JSR   sub_136D
6AD4   JSR   sub_2CE1
6AD7   LDA   #$78
6AD9   JSR   waitJiffy             ; input
6AD9                               ; A: temps à attendre en jiffy (1/60 seconds)
6ADC
6ADC loc_6ADC:                     ; ...
6ADC   LDA   #$FF
6ADE   JSR   sub_12CA
6AE1   JSR   sub_4C61
6AE4   JSR   prepareStaticMessage
6AE7   LDA   #0
6AE9   STA   byte_AB
6AEB   LDA   byte_AD
6AED   BNE   loc_6AF2
6AEF   JSR   sub_50F5
6AF2
6AF2 loc_6AF2:                     ; ...
6AF2   LDA   byte_B378
6AF5   CLC
6AF6   ADC   byte_49
6AF8   STA   byte_B378
6AFB   CMP   #4
6AFD   BCC   loc_6B00
6AFF   RTS
6B00 ; ---------------------------------------------------------------------------
6B00
6B00 loc_6B00:                     ; ...
6B00   JMP   loc_6645              ; } // fin joueurs
6B00 ; END OF FUNCTION CHUNK FOR playersTurn
6B03
6B03 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6B03
6B03
6B03 sub_6B03:                     ; ...
6B03   PHA
6B04   LDA   #2
6B06   JSR   waitJiffy             ; input
6B06                               ; A: temps à attendre en jiffy (1/60 seconds)
6B09
6B09 loc_6B09:                     ; ...
6B09   LDA   byte_A9
6B0B   BNE   loc_6B09
6B0D   PLA
6B0E   CLC
6B0F   ADC   byte_A4
6B11   STA   byte_A4
6B13   RTS
6B13 ; End of function sub_6B03
6B13
6B14 ; ---------------------------------------------------------------------------
6B14 ; START OF FUNCTION CHUNK FOR playersTurn
6B14
6B14 ExitStore:                    ; ...
6B14   JSR   sub_5227
6B17   JSR   wait6
6B1A   LDA   #0
6B1C   STA   byte_C5
6B1E
6B1E LoopOnMap:                    ; ...
6B1E   LDA   byte_D3
6B20   BNE   loc_6B27
6B22   JMP   TimeHasRunOut
6B25 ; ---------------------------------------------------------------------------
6B25   STA   byte_E3
6B27
6B27 loc_6B27:                     ; ...
6B27   LDA   byte_C3
6B29   BNE   loc_6B30
6B2B   JSR   prepareStaticMessage
6B2E   DEC   byte_C3
6B30
6B30 loc_6B30:                     ; ...
6B30   LDX   currentPlayer
6B32   LDA   byte_C5
6B34   BNE   loc_6B3D
6B36   LDY   byte_E7
6B38   LDA   byte_B2,Y
6B3B   BEQ   loc_6B40
6B3D
6B3D loc_6B3D:                     ; ...
6B3D   JMP   loc_6C49
6B40 ; ---------------------------------------------------------------------------
6B40
6B40 loc_6B40:                     ; ...
6B40   LDA   #$F
6B42   STA   byte_E3
6B44   LDA   byte_A3
6B46   SEC
6B47   SBC   #$10
6B49   AND   #$10
6B4B   BEQ   loc_6B56
6B4D
6B4D loc_6B4D:                     ; ...
6B4D   JSR   sub_108D
6B50   JSR   sub_6C92
6B53   JMP   loc_6C3C
6B56 ; ---------------------------------------------------------------------------
6B56
6B56 loc_6B56:                     ; ...
6B56   LDA   byte_9F
6B58   SEC
6B59   SBC   #8
6B5B   AND   #8
6B5D   BNE   loc_6B4D
6B5F   LDX   byte_9F
6B61   LDY   byte_A3
6B63   JSR   pixelToPlot           ; input
6B63                               ; X: abscisse du pixel
6B63                               ; Y: ordonnée du pixel
6B63                               ; output
6B63                               ; A, X: index de la carte
6B66   LDA   plotsPlayer,X
6B69   BMI   loc_6B6F
6B6B   CMP   currentPlayer
6B6D   BEQ   loc_6B80
6B6F
6B6F loc_6B6F:                     ; ...
6B6F   LDA   byte_BC
6B71   CMP   #6
6B73   BEQ   loc_6B80
6B75   LDX   #6                    ; 06 _NOT_YOUR_PLOT__
6B77   JSR   addStaticTurnMessage2 ; 06 _NOT_YOUR_PLOT__
6B7A   JSR   sub_6C92
6B7D   JMP   loc_6C2A
6B80 ; ---------------------------------------------------------------------------
6B80
6B80 loc_6B80:                     ; ...
6B80   LDY   byte_BC
6B82   CPY   #5
6B84   BCC   loc_6BA9
6B86   LDA   byte_CB
6B88   BMI   loc_6B8F
6B8A   LDX   #25                   ; 25 1_PLOT_PER_TRIP_
6B8C   JMP   loc_6C27
6B8F ; ---------------------------------------------------------------------------
6B8F
6B8F loc_6B8F:                     ; ...
6B8F   STX   byte_CB
6B91   CPY   #5
6B93   BNE   loc_6B99
6B95   LDX   #16                   ; 16 MARKED_FOR_SALE.
6B97   BNE   loc_6B9B
6B99
6B99 loc_6B99:                     ; ...
6B99   LDX   #17                   ; 17 SAMPLE_READY_TO_
6B9B
6B9B loc_6B9B:                     ; ...
6B9B   JSR   addStaticMessageTurn  ; 16 MARKED_FOR_SALE.
6B9B                               ; 17 SAMPLE_READY_TO_
6B9E   JSR   sub_1036
6BA1   LDX   #18                   ; 18 RETURN_TO_OFFICE
6BA3   JSR   addMessageTurn        ; 18 RETURN_TO_OFFICE
6BA6   JMP   loc_6C34
6BA9 ; ---------------------------------------------------------------------------
6BA9
6BA9 loc_6BA9:                     ; ...
6BA9   LDA   plotsExp,X
6BAC   ORA   byte_E0
6BAE   BNE   loc_6BB5
6BB0   LDX   #1                    ; 01 __NEED_A_MULE___
6BB2   JMP   loc_6C27
6BB5 ; ---------------------------------------------------------------------------
6BB5
6BB5 loc_6BB5:                     ; ...
6BB5   LDA   #0
6BB7   STA   byte_80
6BB9   LDA   plotsExp,X
6BBC   BEQ   loc_6BD0
6BBE   LDA   byte_E0
6BC0   BEQ   loc_6BD0
6BC2   INC   byte_80
6BC4   JSR   C1_255
6BC7   LDA   #1
6BC9   JSR   sub_12CA
6BCC   LDA   #4
6BCE   STA   byte_C1
6BD0
6BD0 loc_6BD0:                     ; ...
6BD0   LDA   byte_BC
6BD2   CMP   #3
6BD4   BCC   loc_6BDF
6BD6   LDA   expsPlotsCapacity+$87,X
6BD9   BPL   loc_6BDF
6BDB   LDX   #27                   ; 27 NO_MINING_IN_THE_
6BDB                               ;    ___RIVER_VALLEY.
6BDD   BNE   loc_6C27
6BDF
6BDF loc_6BDF:                     ; ...
6BDF   LDA   plotsExp,X
6BE2   PHA
6BE3   LDA   byte_BC
6BE5   STA   plotsExp,X
6BE8   PLA
6BE9   STA   byte_BC
6BEB   LDA   byte_80
6BED   BNE   loc_6BFD
6BEF   LDY   wampusY
6BF2   LDA   #0
6BF4   STA   wampusSprite,Y
6BF7   LDA   byte_E0
6BF9   EOR   #1
6BFB   STA   byte_E0
6BFD
6BFD loc_6BFD:                     ; ...
6BFD   LDA   OS_PCOLR0
6C00   STA   OS_PCOLR1
6C03   LDY   #$FF
6C05   JSR   drawCell              ; input
6C05                               ; X: plot
6C08   LDA   byte_E0
6C0A   BEQ   loc_6C1E
6C0C   LDA   byte_A3
6C0E   STA   byte_A4
6C10   LDA   byte_9F
6C12   CLC
6C13   ADC   #4
6C15   STA   byte_A0
6C17   STA   OS_HPOSP1_M1PF
6C1A   LDX   #19                   ; 19 TRANSFERING_MULE
6C1C   BNE   loc_6C31
6C1E
6C1E loc_6C1E:                     ; ...
6C1E   LDA   #1                    ; 01 __NEED_A_MULE___
6C20   JSR   sub_12CA
6C23   LDX   #26                   ; 26 MULE_INSTALLED._
6C25   BNE   loc_6C31
6C27
6C27 loc_6C27:                     ; ...
6C27   JSR   addStaticTurnMessage2 ; 01 __NEED_A_MULE___
6C27                               ; 25 1_PLOT_PER_TRIP_
6C27                               ; 27 NO_MINING_IN_THE_
6C27                               ;    ___RIVER_VALLEY.
6C2A
6C2A loc_6C2A:                     ; ...
6C2A   LDA   #$32
6C2C   STA   byte_C3
6C2E   JMP   loc_6C3C
6C31 ; ---------------------------------------------------------------------------
6C31
6C31 loc_6C31:                     ; ...
6C31   JSR   addStaticMessageTurn  ; 19 TRANSFERING_MULE
6C31                               ; 26 MULE_INSTALLED._
6C34
6C34 loc_6C34:                     ; ...
6C34   LDA   currentPlayer
6C36   STA   byte_9E
6C38   LDA   #$64
6C3A   STA   byte_C3
6C3C
6C3C loc_6C3C:                     ; ...
6C3C   LDA   #8
6C3E   STA   byte_C5
6C40   JSR   wait6
6C43   LDA   #0
6C45   STA   byte_E3
6C47   STA   byte_E3
6C49
6C49 loc_6C49:                     ; ...
6C49   LDA   OS_SIZEM
6C4C   AND   #8
6C4E   BNE   loc_6C53
6C50
6C50 loc_6C50:                     ; ...
6C50   JMP   LoopOnMap
6C53 ; ---------------------------------------------------------------------------
6C53
6C53 loc_6C53:                     ; ...
6C53   LDA   byte_A3
6C55   CMP   #$66
6C57   BCC   loc_6C50
6C59   CMP   #$8C
6C5B   BCS   loc_6C50
6C5D   LDA   byte_9F
6C5F   CMP   #$81
6C61   BCS   loc_6C6B
6C63   CMP   #$78
6C65   BCC   loc_6C6B
6C67   LDA   #$7C
6C69   STA   byte_9F
6C6B
6C6B loc_6C6B:                     ; ...
6C6B   JSR   sub_51BD
6C6E   JMP   EnterStore
6C71 ; ---------------------------------------------------------------------------
6C71
6C71 TimeHasRunOut:                ; ...
6C71   LDA   #0
6C73   STA   byte_AB
6C75   JSR   sub_136D
6C78   LDX   #10                   ; 10 TIME_HAS_RUN_OUT
6C7A   JSR   addStaticMessageTurn  ; 10 TIME_HAS_RUN_OUT
6C7D   DEC   byte_D3
6C7F   LDX   #2
6C81   JSR   sub_1378
6C84   LDA   #$C8
6C86   JSR   waitJiffy             ; input
6C86                               ; A: temps à attendre en jiffy (1/60 seconds)
6C89   JSR   C1_255
6C8C   JSR   sub_136D
6C8F   JMP   loc_6ADC
6C8F ; END OF FUNCTION CHUNK FOR playersTurn
6C92
6C92 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6C92
6C92
6C92 sub_6C92:                     ; ...
6C92   LDA   level
6C94   BEQ   locret_6C9A
6C96   LDA   byte_E0
6C98   BNE   loc_6C9B
6C9A
6C9A locret_6C9A:                  ; ...
6C9A   RTS
6C9B ; ---------------------------------------------------------------------------
6C9B
6C9B loc_6C9B:                     ; ...
6C9B   LDA   byte_C1
6C9D   PHA
6C9E   LDA   byte_D3
6CA0   PHA
6CA1   LDA   #0
6CA3   STA   byte_AB
6CA5   STA   byte_A9
6CA7   LDA   #1
6CA9   STA   byte_AD
6CAB   STA   byte_E0
6CAD   LDA   #$FF
6CAF   STA   byte_C1
6CB1   STA   byte_D3
6CB3   JSR   sub_1363
6CB6   LDA   #$D
6CB8   STA   byte_C1
6CBA
6CBA loc_6CBA:                     ; ...
6CBA   LDA   byte_A0
6CBC   CMP   #$28
6CBE   BCC   loc_6CC4
6CC0   CMP   #$DC
6CC2   BCC   loc_6CBA
6CC4
6CC4 loc_6CC4:                     ; ...
6CC4   JSR   C1_255
6CC7   LDA   #1
6CC9   JSR   sub_12CA
6CCC   LDA   #0
6CCE   STA   byte_BC
6CD0   STA   byte_E0
6CD2   STA   byte_AB
6CD4   PLA
6CD5   STA   byte_D3
6CD7   PLA
6CD8   STA   byte_C1
6CDA   RTS
6CDA ; End of function sub_6C92
6CDA
6CDB
6CDB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6CDB
6CDB
6CDB calcAndDrawScore:             ; ...
6CDB   JSR   C1_255
6CDE   LDX   #102                  ; // 96 + 6 = (4      *6) * 4     + 6
6CDE                               ; //        = (PLAYERS*6) * TYPES + 6
6CE0   LDA   #0
6CE2
6CE2 loc_6CE2:                     ; ...
6CE2   STA   typesPlayersScore,X   ; typesPlayersScore [TYPES] [PLAYERS] = 0
6CE5   DEX
6CE6   BPL   loc_6CE2              ; bestScore = 0
6CE8   LDX   #5
6CEA
6CEA loc_6CEA:                     ; ...
6CEA   STA   totalScore,X          ; totalScore = 0
6CED   DEX
6CEE   BPL   loc_6CEA
6CF0   LDA   #3
6CF2   STA   currentPlayer
6CF4
6CF4 boucle_joueurs:               ; ...
6CF4   LDA   #0                    ; for (currentPlayer=3; currentPlayer>=0; currentPlayer--) {
6CF6   STA   byte_BC               ;   // Money
6CF8   LDA   currentPlayer
6CFA   LDY   #$B2
6CFC   LDX   #$BA                  ;   // $B2BA = playersCash
6CFE   JSR   D5D4_YxA              ;   int moneyScore = playersCash [currentPlayer]
6D01   JSR   getAddrYxByteBC       ;   // Y|X = &(typesPlayersScore [Money] [currentPlayer])
6D04   JSR   copyD4To_Yx_          ;   typesPlayersScore [Money] [currentPlayer] = moneyScore
6D07   LDA   #3
6D09   JSR   getAddrYxA            ;   // Y|X = &(typesPlayersScore [Total] [currentPlayer])
6D0C   JSR   copyD4To_Yx_          ;   typesPlayersScore [Total] [currentPlayer] = moneyScore
6D0F   INC   byte_BC               ;   // Land
6D11   LDA   #$F4
6D13   STA   byte_D4
6D15   LDA   #1                    ;   // $1F4 = 500
6D17   STA   byte_D5
6D19   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6D1C   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
6D1F   LDY   currentPlayer
6D21   LDA   playersNbLands,Y      ;   int playerNbLands = playersNbLands [currentPlayer]
6D24   STA   byte_D4
6D26   LDA   #0
6D28   STA   byte_D5               ;   // byte_D5/byte_D4 = $00/PLAYERS_NB_LAND [CURRENT_PLAYER]
6D2A   LDA   #-1
6D2C   STA   byte_A3,Y             ;   playersOrder [currentPlayer] = NotSorted
6D2F   LDA   playersColor,Y        ;   // A = playersColor [currentPlayer]
6D32   AND   #11110000b            ;   // A &= 11110000b
6D34   ORA   #00000100b            ;   // A |= 00000100b
6D36   STA   playersColor,Y        ;   // playersColor [currentPlayer] = A
6D39   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6D3C   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
6D3F   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
6D42   LDA   #4                    ;   int playerLandScore = playerNbLands * 500
6D44   STA   byte_8B
6D46
6D46 loc_6D46:                     ; ...
6D46   LDX   byte_8B               ;   // pour chaque outfit
6D46                               ;   foreach (int outfit in {Crystite, Smithore, Energy, Food}) {
6D48   LDY   outfitsPriceL,X       ;     outfitPrice = outfitsPrice [outfit]
6D4B   DEX                         ;     int exp = outfit
6D4C   TXA
6D4D   ASL   A
6D4E   ASL   A
6D4F   ADC   currentPlayer
6D51   TAX
6D52   LDA   expsPlayersNb,X       ;     int expPlayerNb = expsPlayersNb [exp] [currentPlayer]
6D55   JSR   mul8BitsBy8Bits       ; input
6D55                               ; A: left operand
6D55                               ; Y: right operand
6D55                               ; output
6D55                               ; Y/A, byte_81/byte_82: A * Y
6D58   STA   byte_D4               ;     // byte_D5/byte_D4 = EXPS_PLAYERS_NB [(byte_8B-1)*4] [CURRENT_PLAYER] *
6D58                               ;     //                   OUTFITS_PRICE [byte_8B]
6D5A   STY   byte_D5               ;     int outfitScore = expPlayerNb * outfitPrice
6D5C   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6D5F   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
6D62   JSR   copyD4ToE0            ;     playerLandScore += outfitScore
6D65   DEC   byte_8B
6D67   BNE   loc_6D46              ;   }
6D69   JSR   getAddrYxByteBC       ; Y/X, byte_83/byte_82 = &(typesPlayersScore [byte_BC] [currentPlayer]) (6 octets)
6D6C   JSR   copyD4To_Yx_          ;   typesPlayersScore [Land] [currentPlayer] = playerLandScore
6D6F   LDA   #3
6D71   JSR   getAddrYxA            ; Y/X, byte_83/byte_82 = &(typesPlayersScore [A] [currentPlayer]) (6 octets)
6D74   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
6D77   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
6D7A   JSR   copyYxTo82_83         ; Y/X = byte_83/byte_82
6D7D   JSR   copyD4To_Yx_          ;   typesPlayersScore [Total] [currentPlayer] += playerLandScore
6D80   INC   byte_BC               ;   // Goods
6D82   LDY   currentPlayer
6D84   LDA   playersNbExps,Y
6D87   STA   byte_D4
6D89   LDA   #0                    ;   // ajout des prix des mules aux biens
6D8B   STA   byte_D5               ;   int playerNbExps = playersNbExp [currentPlayer]
6D8D   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6D90   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
6D93   LDA   #4                    ;   // $B2F1 = goodsPrice
6D95   JSR   D5D4_B2F1             ;   int mulePrice = goodsPrice [Mule]
6D98   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
6D9B   JSR   getAddrYxByteBC       ; Y/X, byte_83/byte_82 = &(typesPlayersScore [byte_BC] [currentPlayer]) (6 octets)
6D9E   JSR   copyD4To_Yx_          ;   int playerGoodsScore = playerNbExps * mulePrice
6DA1   LDA   #4
6DA3   STA   byte_8B
6DA5
6DA5 loc_6DA5:                     ; ...
6DA5   LDA   byte_8B               ;   foreach (int good in {Mule?, Crystite, Smithore, Energy, Food}) {
6DA7   JSR   D5D4_B2F1             ;     int goodPrice = goodsPrice [good]
6DAA   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
6DAD   LDA   byte_8B
6DAF   ASL   A
6DB0   ASL   A
6DB1   ADC   currentPlayer
6DB3   TAY
6DB4   LDA   goodsPlayersNb,Y
6DB7   STA   byte_D4
6DB9   LDA   #0
6DBB   STA   byte_D5               ;     int goodPlayerNb = goodsPlayersNb [good] [currentPlayer]
6DBD   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6DC0   JSR   mulE0ToD4Bcd          ;     int playerGoodScore = goodPlayerNb * goodPrice
6DC3   JSR   copyYxTo82_83         ; Y/X = byte_83/byte_82
6DC6   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
6DC9   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
6DCC   JSR   copyYxTo82_83         ; Y/X = byte_83/byte_82
6DCF   JSR   copyD4To_Yx_          ;     playerGoodsScore += playerGoodScore
6DD2   DEC   byte_8B
6DD4   BPL   loc_6DA5              ;   }
6DD6   LDA   #3
6DD8   JSR   getAddrYxA            ; Y/X, byte_83/byte_82 = &(typesPlayersScore [A] [currentPlayer]) (6 octets)
6DDB   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
6DDE   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
6DE1   JSR   copyYxTo82_83         ; Y/X = byte_83/byte_82
6DE4   JSR   copyD4To_Yx_          ;   typesPlayersScore [Total] [currentPlayer] += playerGoodsScore
6DE7   LDX   #$2C
6DE9   LDY   #$B3                  ;   // totalScore
6DEB   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
6DEE   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
6DF1   LDX   #$2C
6DF3   LDY   #$B3                  ;   // totalScore
6DF5   JSR   copyD4To_Yx_          ;   totalScore += typesPlayersScore [Total] [currentPlayer]
6DF8   DEC   currentPlayer
6DFA   BMI   loc_6DFF
6DFC   JMP   boucle_joueurs        ; }
6DFF ; ---------------------------------------------------------------------------
6DFF
6DFF loc_6DFF:                     ; ...
6DFF   LDA   numRound
6E01   CMP   #12
6E03   BNE   loc_6E48              ; if (numRound == 12) {
6E05   LDA   #$10
6E07   STA   byte_D4
6E09   LDA   #$27                  ; // $2710 = 10000
6E0B   STA   byte_D5               ; // byte_D5/byte_D4 = 10000
6E0D   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6E10   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
6E13   LDX   #$2C
6E15   LDY   #$B3                  ; // totalScore
6E17   JSR   sub_DD89              ; D4 [#6] = (Y/X)
6E1A   JSR   subE0ToD4Bcd2         ; D4 [#6] -= E0 [#6]
6E1D   LDX   #$2D
6E1F   LDY   #$B4                  ; // mapTemp3
6E21   JSR   copyD4To_Yx_          ; (Y/X) = D4 [#6]
6E24   LDA   #$20
6E26   STA   byte_D4
6E28   LDA   #$4E                  ; // $4E20 = 20000
6E2A   STA   byte_D5               ; // byte_D5/byte_D4 = 20000
6E2C   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
6E2F   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
6E32   LDX   #$2D
6E34   LDY   #$B4                  ; // mapTemp3
6E34                               ; // ici:
6E34                               ; // D4 [#6] = totalScore - 10000
6E34                               ; // E0 [#6] = 20000
6E36   JSR   sub_DD89              ; D4 [#6] = (Y/X)
6E39   JSR   divD4ByE0Bcd          ;   successScore = (totalScore - 10000) / 20000
6E3C   JSR   convertD4ToNoBcd      ; convert D4[#6] to NoBCD number
6E3F   LDA   byte_D4
6E41   BCC   loc_6E45              ;   if (successScore < 0) {
6E43   LDA   #0                    ;     successScore = 0
6E43                               ;   }
6E45
6E45 loc_6E45:                     ; ...
6E45   STA   successScore          ; }
6E48
6E48 loc_6E48:                     ; ...
6E48   LDA   #0
6E4A   STA   byte_8B
6E4C   LDA   #3
6E4E   STA   byte_BC               ; byte_BC = Total // ?
6E50
6E50 loc_6E50:                     ; ...
6E50   LDX   #5                    ; // playersOrder [PLAYERS] = NotSorted
6E50                               ; // modification de l'ordre en fonction du score
6E50                               ; for (int order=0; order<4; order++) {
6E50                               ;
6E52   LDA   #0
6E54
6E54 loc_6E54:                     ; ...
6E54   STA   byte_B2AB,X           ;   bestScore = 0
6E57   DEX
6E58   BPL   loc_6E54
6E5A   STX   byte_4B               ;   bestPlayer = -1
6E5C   LDA   #3
6E5E   STA   currentPlayer         ;   currentPlayer = 3
6E60
6E60 loc_6E60:                     ; ...
6E60   LDX   currentPlayer         ;   // trouver le joueur qui a le meilleur score
6E60                               ;   for (int currentPlayer=3; currentPlayer>=0; currentPlayer--) {
6E62   LDA   byte_A3,X
6E64   BPL   NextPlayer            ;     // si deja trié
6E64                               ;     if (playersOrder [currentPlayer] == Sorted) {
6E64                               ;       goto (NextPlayer)
6E64                               ;     }
6E66   JSR   getAddrYxByteBC       ;     Y|X, byte_83|byte_82 = &(typesPlayersScore [Total] [currentPlayer])
6E69   LDY   #0
6E6B
6E6B loc_6E6B:                     ; ...
6E6B   LDA   (byte_82),Y           ;     // if (typesPlayersScore [Total] [currentPlayer] > bestScore) {
6E6B                               ;     //   goto (Found)
6E6B                               ;     // }
6E6B                               ;     // else if (typesPlayersScore [Total] [currentPlayer] < bestScore) {
6E6B                               ;     //   goto (NextPlayer)
6E6B                               ;     // }
6E6B                               ;     // else if (typesPlayersScore [Total] [currentPlayer] == bestScore) {
6E6B                               ;     //   if (random [0;1] == 1) {
6E6B                               ;     //     goto (Found)
6E6B                               ;     //   }
6E6B                               ;     //   else
6E6B                               ;     //     goto (NextPlayer)
6E6B                               ;     //   }
6E6B                               ;     // }
6E6B                               ;     for (Y=0; Y<6: Y++) {
6E6B                               ;       A = typesPlayersScore [Total] [currentPlayer] [octet Y]
6E6D   CMP   byte_B2AB,Y
6E70   BCC   NextPlayer            ;       if (A < bestScore [Y] ) {
6E70                               ;         goto (NextPlayer)
6E70                               ;       }
6E72   BEQ   loc_6E76              ;       if (A != byte_B2AB [Y] ) {
6E74   BCS   Found                 ;         if (A > bestScore [Y] ) {
6E74                               ;           goto (Found)
6E74                               ;         }
6E74                               ;       }
6E76
6E76 loc_6E76:                     ; ...
6E76   INY
6E77   CPY   #6
6E79   BCC   loc_6E6B              ;     }
6E7B   LDA   OS_SKREST_RANDOM      ;     // Egalité
6E7E   BPL   NextPlayer            ;     if (random [-128; 127] >= 0) {
6E7E                               ;       goto (NextPlayer)
6E7E                               ;     }
6E80
6E80 Found:                        ; ...
6E80   LDY   #5                    ;     Found:
6E80                               ;     // (typesPlayersScore [Total] [currentPlayer] > bestScore) {
6E80                               ;     // currentPlayer
6E82
6E82 loc_6E82:                     ; ...
6E82   LDA   (byte_82),Y
6E84   STA   byte_B2AB,Y           ;     bestScore = typesPlayersScore [Total] [currentPlayer]
6E87   DEY
6E88   BPL   loc_6E82
6E8A   LDA   currentPlayer         ;     bestPlayer = currentPlayer
6E8C   STA   byte_4B
6E8E
6E8E NextPlayer:                   ; ...
6E8E   DEC   currentPlayer         ;     NextPlayer:
6E90   BPL   loc_6E60              ;   } // fin for currentPlayer
6E90                               ;
6E92   LDA   byte_8B
6E94   TAY
6E95   LDX   byte_4B
6E97   STA   byte_A3,X             ;   playersOrder [bestPlayer] = order
6E99   TXA
6E9A   STA   ordersPlayer,Y        ;   ordersPlayer [order] = bestPlayer
6E9D   INC   byte_8B
6E9F   LDA   byte_8B
6EA1   CMP   #4
6EA3   BCC   loc_6E50              ; } // fin for order
6EA3 ; End of function calcAndDrawScore ; drawScore ()
6EA3
6EA5
6EA5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6EA5
6EA5
6EA5 drawScore:                    ; ...
6EA5   JSR   sub_714F
6EA8   JSR   animFirstFounder      ; Anim si dernier tour et si reussite GAME_SUCCESS >= 3
6EAB   LDA   #0
6EAD   STA   byte_90
6EAF   JSR   sub_10BC
6EB2   LDA   #1
6EB4   STA   byte_55
6EB6   LDA   #$E0                  ; // STATUS_SUMMARY
6EB8   LDY   #$3E
6EBA   JSR   addMessage            ; Y/A: High/Low address
6EBD   JSR   drawNumRound
6EC0   JSR   sub_1036
6EC3   LDA   #0
6EC5   STA   byte_8B
6EC7
6EC7 loc_6EC7:                     ; ...
6EC7   LDA   #0                    ; // pour chaque joueur
6EC7                               ; for (byte_8B=0; byte_8B<4; byte_8B++) {
6EC9   STA   byte_BC
6ECB   LDX   byte_8B
6ECD   LDA   ordersPlayer,X
6ED0   STA   currentPlayer         ;   CURRENT_PLAYER = PLAYERS_ORDER [byte_8B]
6ED2   STA   byte_90               ;   byte_90 = CURRENT_PLAYER
6ED4
6ED4 loc_6ED4:                     ; ...
6ED4   LDA   #3                    ;   // 4 fois (MONEY, LAND, GOODS, TOTAL)
6ED4                               ;   for (byte_BC=0; byte_BC<4; byte_BC++) {
6ED6   STA   byte_55               ;     byte_55 = 3
6ED8   LDA   #$AB                  ;     // MONEY
6EDA   LDY   #$3E
6EDC   LDX   byte_BC               ;     X = byte_BC // MONEY, LAND, ...
6EDE   JSR   addToMessageWithOffset ; Y/A: High/Low address + ($00/X)*$10
6EE1   JSR   getAddrYxByteBC       ; Y/X, byte_83/byte_82 = &(typesPlayersScore [byte_BC] [currentPlayer]) (6 octets)
6EE4   JSR   drawBcdNumber
6EE7   JSR   sub_1036
6EEA   INC   byte_BC
6EEC   LDA   byte_BC
6EEE   CMP   #4
6EF0   BCC   loc_6ED4              ;   }
6EF2   INC   byte_8B
6EF4   LDA   byte_8B
6EF6   CMP   #4
6EF8   BCC   loc_6EC7              ; }
6EFA   LDA   #0
6EFC   STA   byte_90
6EFE   LDA   #2
6F00   STA   byte_55
6F02   LDA   #$D0                  ; // COLONY
6F04   LDY   #$3E
6F06   JSR   addMessage            ; Y/A: High/Low address
6F09   LDX   #$2C
6F0B   LDY   #$B3
6F0D   JSR   drawBcdNumber
6F10   JSR   initPlayersButtons
6F13   JSR   sub_4B4D
6F16   JSR   drawMessageScore
6F16 ; End of function drawScore
6F16
6F19
6F19 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6F19
6F19
6F19 scoreWait:                    ; ...
6F19   LDA   #0
6F1B   STA   byte_8B
6F1D
6F1D loc_6F1D:                     ; ...
6F1D   LDA   #$16
6F1F   JSR   sub_10BC
6F22   LDA   #2
6F24   STA   byte_55
6F26   LDA   #0
6F28   STA   byte_90
6F2A   LDA   byte_8B
6F2C   LSR   A
6F2D   BCS   loc_6F3A
6F2F   LDA   #$19                  ; // _PRESS_ALL_PLAYER_BUTTONS_TO_GO_ON._
6F31   LDY   #$3B
6F33   JSR   addMessage            ; Y/A: High/Low address
6F36   LDA   #$64
6F38   BNE   loc_6F43
6F3A
6F3A loc_6F3A:                     ; ...
6F3A   LDA   #$87                  ; // _*_PRESS_OPTION_&_START_TO_RESTART_*
6F3C   LDY   #$40
6F3E   JSR   addMessage            ; Y/A: High/Low address
6F41   LDA   #$1E
6F43
6F43 loc_6F43:                     ; ...
6F43   JSR   loc_30A2
6F46   INC   byte_8B
6F48   LDA   byte_95
6F4A   CMP   #4
6F4C   BCS   loc_6F60
6F4E   LDA   maxIndexCpu
6F50   CMP   #3
6F52   BNE   loc_6F1D
6F54   JSR   loc_3098
6F57   LDA   numRound
6F59   CMP   #12
6F5B   BNE   loc_6F60
6F5D   JSR   loc_3098
6F60
6F60 loc_6F60:                     ; ...
6F60   LDA   #0
6F62   STA   byte_24A6
6F65   JSR   initBB00ToBFFF
6F68   JSR   C1_255
6F6B   JMP   sub_136D
6F6B ; End of function scoreWait
6F6B
6F6E
6F6E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6F6E
6F6E
6F6E drawNumRound:                 ; ...
6F6E   LDA   #0
6F70   JSR   decodeCharToMessage   ; A
6F73   LDA   #$A3
6F75   JSR   decodeCharToMessage   ; A
6F78   LDX   numRound
6F7A   LDA   #0
6F7C   JMP   decodeNumberToMessage ; input
6F7C ; End of function drawNumRound ; A/X: nombre 16 bits
6F7C
6F7F
6F7F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6F7F
6F7F
6F7F drawBcdNumber:                ; ...
6F7F   JSR   sub_DD89              ; D4 [#6] = (Y/X)
6F82   JSR   sub_D8E6
6F85   LDY   #0
6F87
6F87 loc_6F87:                     ; ...
6F87   LDA   (byte_F3),Y
6F89   BMI   loc_6F8E
6F8B   INY
6F8C   BNE   loc_6F87
6F8E
6F8E loc_6F8E:                     ; ...
6F8E   AND   #$7F
6F90   STA   (byte_F3),Y
6F92   INY
6F93   LDA   #$2E
6F95   STA   (byte_F3),Y
6F97   LDY   #0
6F99
6F99 loc_6F99:                     ; ...
6F99   LDA   (byte_F3),Y
6F9B   CMP   #$2E
6F9D   BEQ   loc_6FA2
6F9F   INY
6FA0   BNE   loc_6F99
6FA2
6FA2 loc_6FA2:                     ; ...
6FA2   CPY   #$A
6FA4   BCS   loc_6FAE
6FA6   LDA   #$A0
6FA8   JSR   decodeCharToMessage   ; A
6FAB   INY
6FAC   BNE   loc_6FA2
6FAE
6FAE loc_6FAE:                     ; ...
6FAE   LDY   #0
6FB0
6FB0 loc_6FB0:                     ; ...
6FB0   LDA   (byte_F3),Y
6FB2   CMP   #$2E
6FB4   BEQ   locret_6FBF
6FB6   ORA   #$80
6FB8   JSR   decodeCharToMessage   ; A
6FBB   INY
6FBC   JMP   loc_6FB0
6FBF ; ---------------------------------------------------------------------------
6FBF
6FBF locret_6FBF:                  ; ...
6FBF   RTS
6FBF ; End of function drawBcdNumber
6FBF
6FC0
6FC0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6FC0
6FC0 ; input
6FC0 ; A
6FC0 ; output
6FC0 ; A: A*6
6FC0 ; byte_80 = A*2
6FC0 ;
6FC0
6FC0 mulBy6:                       ; ...
6FC0   ASL   A
6FC1   STA   byte_80
6FC3   ASL   A
6FC4   ADC   byte_80
6FC6   RTS
6FC6 ; End of function mulBy6
6FC6
6FC7
6FC7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6FC7
6FC7 ; Y/X, byte_83/byte_82 = &(typesPlayersScore [byte_BC] [currentPlayer]) (6 octets)
6FC7
6FC7 getAddrYxByteBC:              ; ...
6FC7   LDA   byte_BC               ; // MONEY, LAND, GOODS, TOTAL
6FC7 ; End of function getAddrYxByteBC
6FC7
6FC9
6FC9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6FC9
6FC9 ; Y/X, byte_83/byte_82 = &(typesPlayersScore [A] [currentPlayer]) (6 octets)
6FC9
6FC9 getAddrYxA:                   ; ...
6FC9   JSR   mulBy6                ; input
6FC9                               ; A
6FC9                               ; output
6FC9                               ; A: A*6
6FC9                               ; byte_80 = A*2
6FC9                               ;
6FCC   ASL   A
6FCD   ASL   A
6FCE   STA   byte_81               ; byte_81 = A * 24
6FD0   LDA   currentPlayer         ; A = CURRENT_PLAYER
6FD2   JSR   mulBy6                ; input
6FD2                               ; A
6FD2                               ; output
6FD2                               ; A: A*6
6FD2                               ; byte_80 = A*2
6FD2                               ;
6FD5   CLC
6FD6   ADC   byte_81
6FD8   ADC   #$4B
6FDA   TAX
6FDB   STX   byte_82               ; byte_82 = currentPlayer * 6 + byte_81 + $4B
6FDD   LDA   #0
6FDF   ADC   #$B2
6FE1   TAY
6FE2   STY   byte_83               ; byte_83 = $B2
6FE4   RTS                         ; input
6FE4 ; End of function getAddrYxA  ; A
6FE4                               ;
6FE4                               ; output
6FE4                               ; byte_81: A*24
6FE4                               ; X, byte_82: currentPlayer*6 + A*24 + $4B
6FE4                               ; Y, byte_83: $B2
6FE4                               ;
6FE4                               ; Y/X: $B24B [A] [CURRENT_PLAYER] -> 6 octets
6FE4                               ;            24                4
6FE5
6FE5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6FE5
6FE5 ; Y/X = byte_83/byte_82
6FE5
6FE5 copyYxTo82_83:                ; ...
6FE5   LDX   byte_82
6FE7   LDY   byte_83
6FE9   RTS
6FE9 ; End of function copyYxTo82_83
6FE9
6FEA
6FEA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6FEA
6FEA ; byte_D5/byte_D4 = GOODS_PRICE [A*2]
6FEA
6FEA D5D4_B2F1:                    ; ...
6FEA   LDY   #$B2                  ; // GOODS_PRICE
6FEC   LDX   #$F1
6FEC ; End of function D5D4_B2F1
6FEC
6FEE
6FEE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
6FEE
6FEE ; byte_D5/byte_D4 = Y/X [A*2]
6FEE
6FEE D5D4_YxA:                     ; ...
6FEE   STY   byte_81               ; byte_81 = Y
6FF0   STX   byte_80               ; byte_80 = X
6FF2   ASL   A                     ; A *= 2
6FF3   TAY                         ; Y = A
6FF4   LDA   (byte_80),Y           ; A = (byte_80) [Y]
6FF6   STA   byte_D4               ; byte_D4 = A
6FF8   INY
6FF9   LDA   (byte_80),Y
6FFB   STA   byte_D5               ; byte_D5/byte_D4 = Y/X [A]
6FFD   JMP   convertD4ToBcd        ; convert D4[#6] to BCD number
6FFD ; End of function D5D4_YxA
6FFD
7000
7000 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7000
7000 ; Anim si dernier tour et si reussite GAME_SUCCESS >= 3
7000
7000 animFirstFounder:             ; ...
7000
7000 ; FUNCTION CHUNK AT 705B SIZE 0000001D BYTES
7000
7000   LDA   numRound
7002   CMP   #12
7004   BNE   locret_700D
7006   LDA   successScore
7009   CMP   #3
700B   BCS   loc_700E
700D
700D locret_700D:                  ; ...
700D   RTS
700E ; ---------------------------------------------------------------------------
700E
700E loc_700E:                     ; ...
700E   LDA   #0
7010   STA   byte_90
7012   LDA   #2
7014   JSR   sub_10BC
7017   LDA   #4
7019   STA   byte_55
701B   STA   byte_B1AD
701E   LDA   #$78                  ; // FIRST__FOUNDER_
7020   LDY   #$70
7022   JSR   addMessage            ; // FIRST__FOUNDER_
7025   LDX   #$12
7027
7027 loc_7027:                     ; ...
7027   DEX
7028   BNE   loc_702D
702A   JMP   loc_705B
702D ; ---------------------------------------------------------------------------
702D
702D loc_702D:                     ; ...
702D   LDA   OS_PCOLR0
7030   AND   #$F
7032   CMP   #$F
7034   BEQ   loc_703F
7036   INC   OS_PCOLR0
7039   JSR   sub_704F
703C   JMP   loc_702D
703F ; ---------------------------------------------------------------------------
703F
703F loc_703F:                     ; ...
703F   LDA   OS_PCOLR0
7042   AND   #$F
7044   BEQ   loc_7027
7046   DEC   OS_PCOLR0
7049   JSR   sub_704F
704C   JMP   loc_703F
704C ; End of function animFirstFounder
704C
704F
704F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
704F
704F
704F sub_704F:                     ; ...
704F   LDA   OS_PCOLR0
7052   EOR   #$FF
7054   STA   byte_97
7056   LDA   #1
7058   JMP   waitJiffy             ; input
7058 ; End of function sub_704F    ; A: temps à attendre en jiffy (1/60 seconds)
7058
705B ; ---------------------------------------------------------------------------
705B ; START OF FUNCTION CHUNK FOR animFirstFounder
705B
705B loc_705B:                     ; ...
705B   LDY   ordersPlayer
705E   LDA   playersColor,Y
7061   STA   OS_PCOLR0
7064   LDA   #0
7066   STA   byte_97
7068   LDA   #$F
706A   STA   byte_A9
706C   STA   byte_C1
706E
706E loc_706E:                     ; ...
706E   LDA   byte_B1AD
7071   BNE   loc_706E
7073   LDA   #2
7075   STA   byte_C1
7077   RTS
7077 ; END OF FUNCTION CHUNK FOR animFirstFounder
7077 ; ---------------------------------------------------------------------------
7078   .BYTE $C6, $C9, $D2, $D3, $D4, $A0, $A0, $C6, $CF, $D5, $CE, $C4, $C5 ; FIRST__FOUNDER_
7078   .BYTE $52
7086
7086 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7086
7086
7086 v11:
7086   JSR   v03
7089   LDA   #0
708B   STA   byte_95
708D   DEC   byte_A9
708F   LDA   byte_A9
7091   BMI   loc_7098
7093   CMP   #4
7095   BCC   loc_709D
7097   RTS
7098 ; ---------------------------------------------------------------------------
7098
7098 loc_7098:                     ; ...
7098   LDA   #5
709A   STA   byte_A9
709C   RTS
709D ; ---------------------------------------------------------------------------
709D
709D loc_709D:                     ; ...
709D   STA   byte_D9
709F   TAX
70A0   LDY   $A3,X
70A2   LDX   #$18
70A4   JSR   sub_12CA
70A7   LDY   byte_D9
70A9   LDA   #12
70AB   CMP   numRound
70AD   BNE   loc_70C1
70AF   LDA   successScore
70B2   CMP   #3
70B4   BCC   loc_70C1
70B6   CPY   #0
70B8   BNE   loc_70C1
70BA   LDA   $9F,Y
70BD   CMP   #$78
70BF   BCC   loc_70D7
70C1
70C1 loc_70C1:                     ; ...
70C1   LDA   $9F,Y
70C4   CMP   #$3C
70C6   BCC   loc_70D7
70C8   SBC   #4
70CA   STA   $9F,Y
70CD   STA   OS_HPOSP0_M0PF,Y
70D0   LDA   #$30
70D2   STA   byte_AA
70D4   JMP   loc_70F5
70D7 ; ---------------------------------------------------------------------------
70D7
70D7 loc_70D7:                     ; ...
70D7   LDA   $A3,Y
70DA   CMP   byte_B1B5,Y
70DD   BCC   loc_70EC
70DF   SEC
70E0   SBC   #4
70E2   STA   $A3,Y
70E5   LDA   #$C0
70E7   STA   byte_AA
70E9   JMP   loc_70F5
70EC ; ---------------------------------------------------------------------------
70EC
70EC loc_70EC:                     ; ...
70EC   LDA   #$FF
70EE   STA   byte_B1B5,Y
70F1   LDA   #$60
70F3   STA   byte_AA
70F5
70F5 loc_70F5:                     ; ...
70F5   LDA   $DA,Y
70F8   EOR   #$18
70FA   STA   $DA,Y
70FD   CLC
70FE   ADC   byte_AA
7100   STA   byte_AA
7102   LDA   byte_D9
7104   TAX
7105   LDA   ordersPlayer,X
7108   ASL   A
7109   TAY
710A   LDA   $909,Y
710D   STA   byte_D4
710F   LDA   $90A,Y
7112   STA   byte_D5
7114   LDY   $A3,X
7116   LDA   byte_D9
7118   LDX   #$18
711A   JSR   sub_5370
711D   RTS
711D ; End of function v11
711D
711E
711E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
711E
711E
711E v16:
711E   JSR   v03
7121   DEC   byte_A9
7123   BEQ   loc_7126
7125   RTS
7126 ; ---------------------------------------------------------------------------
7126
7126 loc_7126:                     ; ...
7126   LDA   #6
7128   STA   byte_A9
712A   LDA   byte_9F
712C   SEC
712D   SBC   #4
712F   STA   byte_9F
7131   STA   OS_HPOSP0_M0PF
7134   CMP   #$35
7136   BCS   loc_7144
7138   LDY   #0
713A   STY   byte_B1AD
713D   LDA   #$60
713F   STA   byte_AA
7141   JMP   loc_714A
7144 ; ---------------------------------------------------------------------------
7144
7144 loc_7144:                     ; ...
7144   LDY   #0
7146   LDA   #$30
7148   STA   byte_AA
714A
714A loc_714A:                     ; ...
714A   STY   byte_D9
714C   JMP   loc_70F5
714C ; End of function v16
714C
714F
714F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
714F
714F
714F sub_714F:                     ; ...
714F   JSR   restoreFont
7152   JSR   initBB00ToBFFF
7155   LDA   #1
7157   STA   OS_GPRIOR
715A   STA   byte_BA
715C   JSR   sub_4992
715F   JSR   sub_49A2
7162   LDA   #8
7164   STA   byte_A9
7166   LDA   #$C3
7168   STA   byte_9F
716A   LDA   #$D7
716C   STA   byte_A0
716E   LDA   #$EB
7170   STA   byte_A1
7172   LDA   #$FF
7174   STA   byte_A2
7176   LDA   #$B2
7178   STA   byte_A3
717A   STA   byte_A4
717C   STA   byte_A5
717E   STA   byte_A6
7180   LDA   #50
7182   STA   byte_B1B5
7185   LDA   #86
7187   STA   byte_B1B5+1
718A   LDA   #122
718C   STA   byte_B1B5+2
718F   LDA   #158
7191   STA   byte_B1B5+3
7194   LDA   #0
7196   LDX   #3
7198
7198 loc_7198:                     ; ...
7198   STA   byte_DA,X
719A   DEX
719B   BPL   loc_7198
719D   LDX   #3
719F
719F loc_719F:                     ; ...
719F   LDY   ordersPlayer,X
71A2   LDA   playersColor,Y
71A5   STA   OS_PCOLR0,X
71A8   LDA   #0
71AA   STA   OS_SIZEP0_M0PL,X
71AD   DEX
71AE   BPL   loc_719F
71B0   JSR   sub_5E1B
71B3   LDA   #$21
71B5   STA   OS_SDLSTL
71B8   LDA   #$1F
71BA   STA   OS_SDLSTL+1
71BD   LDA   #0
71BF   STA   OS_VDSLST
71C2   LDA   #byte_2F
71C4   STA   OS_VDSLST+1
71C7   LDA   #$18
71C9   STA   OS_CHBAS
71CC   LDA   #3
71CE   STA   OS_CDTMV1
71D1   LDA   #0
71D3   STA   OS_COLOR4
71D6   STA   OS_COLOR2
71D9   LDA   #$3E
71DB   STA   OS_SDMCTL
71DE   STA   OS_DMACTL
71E1   JSR   sub_2527
71E4   LDA   #$A
71E6   LDY   #12
71E8   CPY   numRound
71EA   BNE   loc_71F8
71EC   LDY   successScore
71EF   CPY   #3
71F1   BCC   loc_71F8
71F3   LDY   #1
71F5   STY   OS_SIZEP0_M0PL
71F8
71F8 loc_71F8:                     ; ...
71F8   STA   byte_C1
71FA
71FA loc_71FA:                     ; ...
71FA   LDX   #3
71FC   LDA   #$FF
71FE
71FE loc_71FE:                     ; ...
71FE   AND   byte_B1B5,X
7201   DEX
7202   BPL   loc_71FE
7204   CMP   #$FF
7206   BNE   loc_71FA
7208   LDA   #2
720A   STA   byte_C1
720C   LDX   #3
720E
720E loc_720E:                     ; ...
720E   LDA   playersColor,X
7211   STA   OS_COLOR0,X
7214   DEX
7215   BPL   loc_720E
7217   LDA   #$26
7219   STA   OS_COLOR0
721C   RTS
721C ; End of function sub_714F
721C
721C ; ---------------------------------------------------------------------------
721D byte_721D:.BYTE 0             ; ...
721E   .BYTE   0
721F   .BYTE $10
7220   .BYTE $20
7221   .BYTE $30 ; 0
7222   .BYTE $20
7223   .BYTE $40 ; @
7224   .BYTE $30 ; 0
7225   .BYTE $50 ; P
7226   .BYTE $40 ; @
7227   .BYTE $70 ; p
7228   .BYTE $50 ; P
7229   .BYTE $60 ; `
722A   .BYTE $20
722B   .BYTE $30 ; 0
722C   .BYTE $20
722D   .BYTE $10
722E
722E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
722E
722E
722E roundEventPlanetquake:
722E   LDA   #$EE                  ; // __PLANETQUAKE
7230   LDY   #$3D
7232   JSR   printTitle
7235   LDA   #4
7237   STA   OS_PCOLR2
723A   JSR   prepareStaticMessage
723D   LDA   #$12                  ; // _MINING_PRODUCTION
723D                               ; // ___HALF_OF_NORMAL.
723F   LDY   #$3E
7241   JSR   addMessage            ; Y/A: High/Low address
7244   LDA   OS_SKREST_RANDOM
7247   BMI   loc_7251
7249   LDA   #$C8
724B   STA   byte_8B
724D
724D loc_724D:                     ; ...
724D   DEC   byte_8B
724F   BNE   loc_725B
7251
7251 loc_7251:                     ; ...
7251   LDY   #0
7253   STY   byte_82
7255   DEY
7256   STY   byte_88
7258   JMP   loc_729A
725B ; ---------------------------------------------------------------------------
725B
725B loc_725B:                     ; ...
725B   LDA   #19                   ; // tire un quart de ligne au hasard (montagne)
725D   JSR   random_0_A            ; input
725D                               ; A: borne supérieure
725D                               ; output
725D                               ; A: un nombre aléatoire [0; A[
725D                               ;
725D                               ; calcul un nombre aléatoire entre 0 et A
7260   TAY
7261   INY
7262   LDA   mountainsX,Y
7265   CMP   #$48
7267   BCC   loc_724D
7269   CMP   #$B8
726B   BCS   loc_724D
726D   CMP   #$98
726F   BCS   loc_7275
7271   CMP   #$68
7273   BCS   loc_724D
7275
7275 loc_7275:                     ; ...
7275   STA   byte_83               ; byte_83 = A // abscisse de la montagne
7277   TAX                         ; X = byte_83
7278   STY   byte_84               ; byte_84 = Y // numero du quart de ligne
727A   TYA
727B   ASL   A
727C   ASL   A
727D   ASL   A
727E   ADC   #44
7280   TAY                         ; // calcul de l'ordonnée =
7280                               ; // numero de quart de ligne * hauteur de quart de ligne + bande gauche
7280                               ; Y = (byte_84*8) + 44
7281   JSR   pixelToPlot           ; input
7281                               ; X: abscisse du pixel
7281                               ; Y: ordonnée du pixel
7281                               ; output
7281                               ; A, X: index de la carte
7284   STX   byte_88               ; byte_88 = index de la case possedant la montagne
7286   LDA   #2
7288   STA   byte_81               ; byte_81 = 2
728A   LDA   OS_SKREST_RANDOM
728D   AND   #1
728F   BNE   loc_7293
7291   LDA   #-1
7293
7293 loc_7293:                     ; ...
7293   STA   byte_82               ; byte_82 = random {-1; 1}
7295   CLC
7296   ADC   byte_88
7298   STA   byte_89               ; byte_89 = case voisine a gauche ou a droite de byte_88
729A
729A loc_729A:                     ; ...
729A   JSR   sub_1363
729D   LDA   #$8C
729F   STA   OS_AUDC1_POT2
72A2   STA   OS_AUDC2_POT3
72A5   STA   OS_AUDC3_POT5
72A8   LDY   #$10
72AA   STY   byte_AA
72AC
72AC loc_72AC:                     ; ...
72AC   LDA   #$FF
72AE   STA   OS_AUDF1_POT1
72B1   LDA   #$C8
72B3   STA   OS_AUDF2_POT2
72B6   LDA   #$96
72B8   STA   OS_AUDF3_POT4
72BB   LDA   byte_721D,Y
72BE   PHA
72BF   LSR   A
72C0   LSR   A
72C1   LSR   A
72C2   LSR   A
72C3   TAX
72C4   JSR   sub_5E1B
72C7   JSR   loc_4C96
72CA   PLA
72CB   STA   byte_1E75
72CE   LDA   #$13
72D0   JSR   waitJiffy             ; input
72D0                               ; A: temps à attendre en jiffy (1/60 seconds)
72D3   LDA   byte_82               ; // si byte_82 != 0
72D5   BEQ   loc_72EC
72D7   LDA   byte_81
72D9   EOR   #11111111b
72DB   CLC
72DC   ADC   #1
72DE   STA   byte_81
72E0   LDX   byte_84
72E2   CLC
72E3   ADC   mountainsX,X
72E6   CLC
72E7   ADC   byte_82
72E9   STA   mountainsX,X
72EC
72EC loc_72EC:                     ; ...
72EC   LDA   byte_AA
72EE   ORA   #$80
72F0   STA   OS_AUDC1_POT2
72F3   LDA   byte_AA
72F5   LSR   A
72F6   ORA   #$80
72F8   STA   OS_AUDC2_POT3
72FB   LDA   byte_AA
72FD   LSR   A
72FE   LSR   A
72FF   ORA   #$80
7301   STA   OS_AUDC3_POT5
7304   DEC   byte_AA
7306   BEQ   loc_730D
7308   LDY   byte_AA
730A   JMP   loc_72AC
730D ; ---------------------------------------------------------------------------
730D
730D loc_730D:                     ; ...
730D   LDX   byte_88               ; // tremblement de terre
730D                               ; // déplacement d'une montagne
730D                               ; // byte_88 = pos src
730F   BMI   loc_7349
7311   DEC   expsPlotsCapacity+$5A,X ; // -1 montagne
7314   LDA   #0
7316   STA   plotsExp,X            ; // perte de la mule
7319   LDA   expsPlotsCapacity+$5A,X
731C   CMP   #1
731E   BNE   loc_732A
7320   LDA   #3
7322   STA   expsPlotsCapacity+$2D,X
7325   LDA   #2
7327   STA   expsPlotsCapacity,X   ; // si plus de montagne alors plaine
732A
732A loc_732A:                     ; ...
732A   JSR   drawCell              ; input
732A                               ; X: plot
732D   LDX   byte_89               ; // pos dst
732F   LDA   expsPlotsCapacity+$5A,X
7332   CMP   #1
7334   BNE   loc_733E
7336   LDA   #1
7338   STA   expsPlotsCapacity,X
733B   STA   expsPlotsCapacity+$2D,X ; // si c'etait une plaine alors devient montagne
733E
733E loc_733E:                     ; ...
733E   INC   expsPlotsCapacity+$5A,X ; // +1 montagne
7341   LDA   #0
7343   STA   plotsExp,X            ; // perte de la mule
7346   JSR   drawCell              ; input
7346                               ; X: plot
7349
7349 loc_7349:                     ; ...
7349   LDX   #44
734B
734B loc_734B:                     ; ...
734B   LDA   plotsExp,X            ; // si EXP = smith ou cryst
734E   CMP   #3
7350   BCC   loc_7359
7352   CMP   #5
7354   BCS   loc_7359
7356   LSR   plotsProd,X           ; // si type 3 ou 4 alors prod divisé par 2
7359
7359 loc_7359:                     ; ...
7359   DEX
735A   BPL   loc_734B
735C   JSR   sub_136D
735F   LDA   #6
7361   STA   OS_PCOLR2
7364   JMP   animMapProd
7364 ; End of function roundEventPlanetquake
7364
7364 ; ---------------------------------------------------------------------------
7367   .BYTE $42 ; B
7368   .BYTE   0
7369   .BYTE   0
736A   .BYTE   0
736B   .BYTE $42 ; B
736C   .BYTE   0
736D   .BYTE $42 ; B
736E   .BYTE $44 ; D
736F   .BYTE $46 ; F
7370   .BYTE $48 ; H
7371   .BYTE   0
7372   .BYTE $46 ; F
7373   .BYTE   0
7374   .BYTE   0
7375   .BYTE   0
7376   .BYTE $46 ; F
7377   .BYTE $82 ; é
7378   .BYTE $82 ; é
7379   .BYTE $82 ; é
737A   .BYTE $82 ; é
737B   .BYTE $82 ; é
737C   .BYTE $82 ; é
737D   .BYTE $84 ; ä
737E   .BYTE $86 ; å
737F   .BYTE $88 ; ê
7380   .BYTE $8A ; è
7381   .BYTE $88 ; ê
7382   .BYTE $88 ; ê
7383   .BYTE $88 ; ê
7384   .BYTE $88 ; ê
7385   .BYTE $88 ; ê
7386   .BYTE $88 ; ê
7387 byte_7387:.BYTE 0             ; ...
7388   .BYTE  $C
7389   .BYTE $18
738A   .BYTE $24 ; $
738B   .BYTE $30 ; 0
738C   .BYTE $3C ; <
738D   .BYTE $48 ; H
738E   .BYTE $54 ; T
738F   .BYTE $60 ; `
7390 byte_7390:.BYTE 0             ; ...
7391   .BYTE  $A
7392   .BYTE $14
7393   .BYTE $1E
7394   .BYTE $28 ; (
7395   .BYTE $32 ; 2
7396   .BYTE $3C ; <
7397   .BYTE $46 ; F
7398   .BYTE $50 ; P
7399 byte_7399:.BYTE $50           ; ...
739A   .BYTE $53 ; S
739B   .BYTE $60 ; `
739C   .BYTE $62 ; b
739D   .BYTE $71 ; q
739E   .BYTE $74 ; t
739F   .BYTE $78 ; x
73A0   .BYTE $7A ; z
73A1   .BYTE $7B ; {
73A2 byte_73A2:.BYTE $58           ; ...
73A3   .BYTE $5B ; [
73A4   .BYTE $66 ; f
73A5   .BYTE $6A ; j
73A6   .BYTE $6E ; n
73A7   .BYTE $71 ; q
73A8   .BYTE $78 ; x
73A9   .BYTE $7A ; z
73AA   .BYTE $7B ; {
73AB byte_73AB:.BYTE 3             ; ...
73AC   .BYTE   3
73AD   .BYTE   1
73AE   .BYTE   1
73AF   .BYTE   1
73B0   .BYTE   1
73B1   .BYTE   0
73B2   .BYTE   0
73B3   .BYTE   0
73B4   .BYTE   0
73B5   .BYTE   7
73B6   .BYTE $1F
73B7   .BYTE $31 ; 1
73B8   .BYTE $7B ; {
73B9   .BYTE $EE ; ¯
73BA   .BYTE $F1 ; ±
73BB   .BYTE $6E ; n
73BC   .BYTE $3F ; ?
73BD   .BYTE $1F
73BE   .BYTE   7
73BF   .BYTE   0
73C0   .BYTE   0
73C1   .BYTE   1
73C2   .BYTE   1
73C3   .BYTE   7
73C4   .BYTE   7
73C5   .BYTE $1F
73C6   .BYTE $1F
73C7   .BYTE   7
73C8   .BYTE   7
73C9   .BYTE   1
73CA   .BYTE   1
73CB   .BYTE   0
73CC   .BYTE   0
73CD   .BYTE   1
73CE   .BYTE   1
73CF   .BYTE   3
73D0   .BYTE   3
73D1   .BYTE  $F
73D2   .BYTE  $F
73D3   .BYTE   3
73D4   .BYTE   3
73D5   .BYTE   1
73D6   .BYTE   1
73D7   .BYTE   0
73D8   .BYTE   0
73D9   .BYTE   1
73DA   .BYTE   1
73DB   .BYTE   3
73DC   .BYTE   3
73DD   .BYTE   7
73DE   .BYTE   7
73DF   .BYTE   3
73E0   .BYTE   3
73E1   .BYTE   1
73E2   .BYTE   1
73E3   .BYTE   0
73E4   .BYTE   0
73E5   .BYTE   0
73E6   .BYTE $18
73E7   .BYTE $18
73E8   .BYTE $18
73E9   .BYTE $3C ; <
73EA   .BYTE $3C ; <
73EB   .BYTE $18
73EC   .BYTE $18
73ED   .BYTE $18
73EE   .BYTE   0
73EF   .BYTE   0
73F0   .BYTE   0
73F1   .BYTE   0
73F2   .BYTE   0
73F3   .BYTE   0
73F4   .BYTE $18
73F5   .BYTE $3C ; <
73F6   .BYTE $3C ; <
73F7   .BYTE $18
73F8   .BYTE   0
73F9   .BYTE   0
73FA   .BYTE   0
73FB   .BYTE   0
73FC   .BYTE   0
73FD   .BYTE   0
73FE   .BYTE   0
73FF   .BYTE   0
7400   .BYTE   0
7401   .BYTE $3C ; <
7402   .BYTE $3C ; <
7403   .BYTE   0
7404   .BYTE   0
7405   .BYTE   0
7406   .BYTE   0
7407   .BYTE   0
7408   .BYTE   0
7409   .BYTE   0
740A   .BYTE   0
740B   .BYTE   0
740C   .BYTE   0
740D   .BYTE $3C ; <
740E   .BYTE $3C ; <
740F   .BYTE   0
7410   .BYTE   0
7411   .BYTE   0
7412   .BYTE   0
7413   .BYTE   0
7414   .BYTE   0
7415   .BYTE   0
7416   .BYTE   0
7417   .BYTE   0
7418   .BYTE   0
7419   .BYTE $18
741A   .BYTE $18
741B   .BYTE   0
741C   .BYTE   0
741D   .BYTE   0
741E   .BYTE   0
741F   .BYTE   0
7420 byte_7420:.BYTE 0             ; ...
7421   .BYTE  $E
7422   .BYTE $1E
7423   .BYTE $3E ; >
7424   .BYTE $FC ; ³
7425   .BYTE $FC ; ³
7426   .BYTE $3E ; >
7427   .BYTE $1E
7428   .BYTE  $E
7429   .BYTE   0
742A   .BYTE   0
742B   .BYTE   6
742C   .BYTE  $E
742D   .BYTE $3E ; >
742E   .BYTE $FC ; ³
742F   .BYTE $FC ; ³
7430   .BYTE $3E ; >
7431   .BYTE  $E
7432   .BYTE   6
7433   .BYTE   0
7434   .BYTE   0
7435   .BYTE  $F
7436   .BYTE $1F
7437   .BYTE $3F ; ?
7438   .BYTE $7E ; ~
7439   .BYTE $7E ; ~
743A   .BYTE $3F ; ?
743B   .BYTE $1F
743C   .BYTE  $F
743D   .BYTE   0
743E   .BYTE   0
743F   .BYTE  $C
7440   .BYTE $3F ; ?
7441   .BYTE $3F ; ?
7442   .BYTE $FF
7443   .BYTE $FF
7444   .BYTE $3F ; ?
7445   .BYTE $3F ; ?
7446   .BYTE  $C
7447   .BYTE   0
7448   .BYTE   0
7449   .BYTE $18
744A   .BYTE $3C ; <
744B   .BYTE $3C ; <
744C   .BYTE $FF
744D   .BYTE $FF
744E   .BYTE $3C ; <
744F   .BYTE $3C ; <
7450   .BYTE $18
7451   .BYTE   0
7452   .BYTE   0
7453   .BYTE   0
7454   .BYTE $18
7455   .BYTE $3C ; <
7456   .BYTE $7E ; ~
7457   .BYTE $7E ; ~
7458   .BYTE $3C ; <
7459   .BYTE $18
745A   .BYTE   0
745B   .BYTE   0
745C   .BYTE   0
745D   .BYTE   0
745E   .BYTE   0
745F   .BYTE $18
7460   .BYTE $3C ; <
7461   .BYTE $3C ; <
7462   .BYTE $18
7463   .BYTE   0
7464   .BYTE   0
7465   .BYTE   0
7466   .BYTE   0
7467   .BYTE   0
7468   .BYTE   0
7469   .BYTE   0
746A   .BYTE $3C ; <
746B   .BYTE $3C ; <
746C   .BYTE   0
746D   .BYTE   0
746E   .BYTE   0
746F   .BYTE   0
7470   .BYTE   0
7471   .BYTE   0
7472   .BYTE   0
7473   .BYTE   0
7474   .BYTE $3C ; <
7475   .BYTE $3C ; <
7476   .BYTE   0
7477   .BYTE   0
7478   .BYTE   0
7479   .BYTE   0
747A   .BYTE   0
747B   .BYTE   7
747C   .BYTE $1F
747D   .BYTE $33 ; 3
747E   .BYTE $73 ; s
747F   .BYTE $C0 ; +
7480   .BYTE $C0 ; +
7481   .BYTE $73 ; s
7482   .BYTE $33 ; 3
7483   .BYTE $1F
7484   .BYTE   7
7485   .BYTE   0
7486   .BYTE   0
7487   .BYTE   1
7488   .BYTE   1
7489   .BYTE   7
748A   .BYTE   7
748B   .BYTE $1F
748C   .BYTE $1F
748D   .BYTE   7
748E   .BYTE   7
748F   .BYTE   1
7490   .BYTE   1
7491   .BYTE   0
7492   .BYTE   0
7493   .BYTE   1
7494   .BYTE   1
7495   .BYTE   3
7496   .BYTE   3
7497   .BYTE  $F
7498   .BYTE  $F
7499   .BYTE   3
749A   .BYTE   3
749B   .BYTE   1
749C   .BYTE   1
749D   .BYTE   0
749E   .BYTE   0
749F   .BYTE   1
74A0   .BYTE   1
74A1   .BYTE   3
74A2   .BYTE   3
74A3   .BYTE   7
74A4   .BYTE   7
74A5   .BYTE   3
74A6   .BYTE   3
74A7   .BYTE   1
74A8   .BYTE   1
74A9   .BYTE   0
74AA   .BYTE   0
74AB   .BYTE   0
74AC   .BYTE $18
74AD   .BYTE $18
74AE   .BYTE $18
74AF   .BYTE $3C ; <
74B0   .BYTE $3C ; <
74B1   .BYTE $18
74B2   .BYTE $18
74B3   .BYTE $18
74B4   .BYTE   0
74B5   .BYTE   0
74B6   .BYTE   0
74B7   .BYTE   0
74B8   .BYTE   0
74B9   .BYTE   0
74BA   .BYTE $18
74BB   .BYTE $3C ; <
74BC   .BYTE $3C ; <
74BD   .BYTE $18
74BE   .BYTE   0
74BF   .BYTE   0
74C0   .BYTE   0
74C1   .BYTE   0
74C2   .BYTE   0
74C3   .BYTE   0
74C4   .BYTE   0
74C5   .BYTE   0
74C6   .BYTE   0
74C7   .BYTE $3C ; <
74C8   .BYTE $3C ; <
74C9   .BYTE   0
74CA   .BYTE   0
74CB   .BYTE   0
74CC   .BYTE   0
74CD   .BYTE   0
74CE   .BYTE   0
74CF   .BYTE   0
74D0   .BYTE   0
74D1   .BYTE   0
74D2   .BYTE   0
74D3   .BYTE $3C ; <
74D4   .BYTE $3C ; <
74D5   .BYTE   0
74D6   .BYTE   0
74D7   .BYTE   0
74D8   .BYTE   0
74D9   .BYTE   0
74DA   .BYTE   0
74DB   .BYTE   0
74DC   .BYTE   0
74DD   .BYTE   0
74DE   .BYTE   0
74DF   .BYTE $18
74E0   .BYTE $18
74E1   .BYTE   0
74E2   .BYTE   0
74E3   .BYTE   0
74E4   .BYTE   0
74E5   .BYTE   0
74E6
74E6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
74E6
74E6
74E6 sub_74E6:                     ; ...
74E6   STY   off_7501
74E9   STY   off_7505
74EC   STY   off_7509
74EF   STY   off_750D
74F2   LDX   byte_81
74F4   LDA   byte_7420,X
74F7   STA   OS_AUDC2_POT3
74FA   LDY   #4
74FC
74FC loc_74FC:                     ; ...
74FC   INX
74FD   LDA   byte_7420,X
74FD ; ---------------------------------------------------------------------------
7500   .BYTE $99 ; Ö               ; STA
7501 off_7501:.BYTE byte_63        ; ...
7502   .BYTE $BD ; ¢
7503 ; ---------------------------------------------------------------------------
7503   INY
7503 ; ---------------------------------------------------------------------------
7504   .BYTE $99 ; Ö               ; STA
7505 off_7505:.BYTE byte_63        ; ...
7506   .BYTE $BD ; ¢
7507 ; ---------------------------------------------------------------------------
7507   INY
7507 ; ---------------------------------------------------------------------------
7508   .BYTE $99 ; Ö               ; STA
7509 off_7509:.BYTE byte_63        ; ...
750A   .BYTE $BD ; ¢
750B ; ---------------------------------------------------------------------------
750B   INY
750B ; ---------------------------------------------------------------------------
750C   .BYTE $99 ; Ö               ; STA
750D off_750D:.BYTE byte_63        ; ...
750E   .BYTE $BD ; ¢
750F ; ---------------------------------------------------------------------------
750F   INY
7510   CPY   #$28
7512   BCC   loc_74FC
7514   RTS
7514 ; End of function sub_74E6
7514
7515
7515 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7515
7515
7515 v06:                          ; ...
7515   LDA   byte_B375
7518   BEQ   loc_7530
751A   LDA   #$32
751C   STA   OS_AUDF3_POT4
751F   LDA   #3
7521   STA   OS_AUDC3_POT5
7524   LDA   #6
7526   STA   OS_AUDC1_POT2
7529   LDA   #$C8
752B   STA   OS_AUDF1_POT1
752E   BNE   loc_7547
7530
7530 loc_7530:                     ; ...
7530   LDY   #$FF
7532   STY   OS_AUDF3_POT4
7535   LDY   #$F0
7537   STY   OS_AUDF1_POT1
753A   LDA   #$A6
753C   STA   OS_AUDC1_POT2
753F   STA   OS_AUDC3_POT5
7542   LDA   #1
7544   STA   OS_AUDCTL_ALLPOT
7547
7547 loc_7547:                     ; ...
7547   LDA   byte_E0
7549   BEQ   loc_754E
754B   JMP   loc_75D8
754E ; ---------------------------------------------------------------------------
754E
754E loc_754E:                     ; ...
754E   LDA   byte_AB
7550   BNE   loc_7575
7552   ORA   byte_9F
7554   ORA   byte_A0
7556   BNE   loc_7560
7558   LDX   #9
755A   STX   byte_AB
755C   DEX
755D   STX   byte_A0
755F   RTS
7560 ; ---------------------------------------------------------------------------
7560
7560 loc_7560:                     ; ...
7560   LDX   byte_9F
7562   BEQ   loc_756A
7564   DEX
7565   STX   byte_9F
7567   STX   OS_HPOSP0_M0PF
756A
756A loc_756A:                     ; ...
756A   LDX   byte_A0
756C   BEQ   locret_7574
756E   DEX
756F   STX   byte_A0
7571   STX   OS_HPOSP1_M1PF
7574
7574 locret_7574:                  ; ...
7574   RTS
7575 ; ---------------------------------------------------------------------------
7575
7575 loc_7575:                     ; ...
7575   DEC   byte_A9
7577   BEQ   loc_757A
7579   RTS
757A ; ---------------------------------------------------------------------------
757A
757A loc_757A:                     ; ...
757A   LDX   #6
757C   STX   byte_A9
757E   LDA   byte_9F
7580   CMP   #$4E
7582   BCS   loc_7593
7584   INC   byte_9F
7586   INC   byte_A0
7588   LDA   byte_9F
758A   STA   OS_HPOSP0_M0PF
758D   LDA   byte_A0
758F   STA   OS_HPOSP1_M1PF
7592   RTS
7593 ; ---------------------------------------------------------------------------
7593
7593 loc_7593:                     ; ...
7593   LDA   #9
7595   SEC
7596   SBC   byte_AB
7598   TAX
7599
7599 loc_7599:                     ; ...
7599   LDA   byte_7387,X
759C   STA   byte_AA
759E   LDA   byte_7390,X
75A1   STA   byte_81
75A3   LDA   byte_7399,X
75A6   STA   byte_9F
75A8   STA   OS_HPOSP0_M0PF
75AB   LDA   byte_73A2,X
75AE   STA   byte_A0
75B0   STA   OS_HPOSP1_M1PF
75B3   LDA   byte_73AB,X
75B6   STA   OS_SIZEP1
75B9   LDA   #0
75BB   LDY   byte_A3
75BD   LDX   #$C
75BF   JSR   sub_5370
75C2   LDA   #1
75C4   LDY   byte_A4
75C6   LDX   #$A
75C8   JSR   sub_74E6
75CB   DEC   byte_AB
75CD   BNE   locret_75D7
75CF   LDA   #$FF
75D1   STA   byte_A9
75D3   LDA   #0
75D5   STA   byte_D9
75D7
75D7 locret_75D7:                  ; ...
75D7   RTS
75D8 ; ---------------------------------------------------------------------------
75D8
75D8 loc_75D8:                     ; ...
75D8   DEC   byte_A9
75DA   BEQ   loc_75DD
75DC   RTS
75DD ; ---------------------------------------------------------------------------
75DD
75DD loc_75DD:                     ; ...
75DD   LDX   #8
75DF   STX   byte_A9
75E1   LDA   byte_AB
75E3   CMP   #$F7
75E5   BEQ   loc_75EE
75E7   CLC
75E8   ADC   #8
75EA   TAX
75EB   JMP   loc_7599
75EE ; ---------------------------------------------------------------------------
75EE
75EE loc_75EE:                     ; ...
75EE   LDA   byte_9F
75F0   STA   byte_D9
75F2   JMP   loc_7560
75F2 ; End of function v06
75F2
75F5
75F5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
75F5
75F5
75F5 animShipLand:                 ; ...
75F5   LDA   #$F7
75F7   STA   byte_9F
75F9   LDA   #$FF
75FB   STA   byte_A0
75FD   LDA   #0
75FF   STA   byte_AB
7601   STA   byte_E0
7603   JSR   sub_761B
7606   LDA   #0
7608   LDY   byte_A3
760A   LDX   #$C
760C   JSR   sub_5370
760F   LDA   #1
7611   LDY   byte_A4
7613   LDX   #$A
7615   JSR   sub_74E6
7618   JMP   sub_764B
7618 ; End of function animShipLand
7618
761B
761B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
761B
761B
761B sub_761B:                     ; ...
761B   JSR   sub_4C61
761E   LDA   #$71
7620   STA   byte_A3
7622   LDA   #$63
7624   STA   byte_A4
7626   LDA   #$A
7628   STA   byte_A9
762A   STA   byte_D9
762C   LDX   #1
762E
762E loc_762E:                     ; ...
762E   LDA   byte_9F,X
7630   STA   OS_HPOSP0_M0PF,X
7633   DEX
7634   BPL   loc_762E
7636   LDA   #0
7638   STA   byte_AA
763A   STA   byte_81
763C   LDA   #3
763E   STA   OS_SIZEP1
7641   LDA   #$20
7643   STA   OS_PRIOR
7646   LDA   #5
7648   STA   byte_C1
764A   RTS
764A ; End of function sub_761B
764A
764B
764B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
764B
764B
764B sub_764B:                     ; ...
764B   LDA   byte_D9
764D   BNE   loc_7655
764F   JSR   C1_255
7652   JMP   sub_136D
7655 ; ---------------------------------------------------------------------------
7655
7655 loc_7655:                     ; ...
7655   LDY   OS_VCOUNT
7658   CPY   #$33
765A   BNE   sub_764B
765C   LDX   #$F
765C ; ---------------------------------------------------------------------------
765E byte_765E:.BYTE $BD           ; ...
765E                               ; LDA
765F byte_765F:.BYTE $77           ; ...
7660 byte_7660:.BYTE $73           ; ...
7661 ; ---------------------------------------------------------------------------
7661   STA   OS_WSYNC
7664   STA   wampusColor
7667
7667 loc_7667:                     ; ...
7667   CPY   OS_VCOUNT
766A   BEQ   loc_7667
766C   LDY   OS_VCOUNT
766F   DEX
7670   BMI   sub_764B
7672   BPL   byte_765E
7672 ; End of function sub_764B
7672
7674
7674 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7674
7674
7674 anipShipTakeOff:              ; ...
7674   LDA   #$7B
7676   STA   byte_9F
7678   STA   byte_A0
767A   LDA   #0
767C   STA   byte_AB
767E   LDA   #$FF
7680   STA   byte_E0
7682   JSR   sub_761B
7685   JSR   sub_764B
7688   JMP   sub_4C61
7688 ; End of function anipShipTakeOff
7688
768B
768B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
768B
768B
768B sub_768B:                     ; ...
768B   LDA   #$67
768D   STA   byte_765F
7690   LDA   #$73
7692   STA   byte_7660
7695   LDA   #$B4
7697   STA   byte_D4
7699   LDA   #$73
769B   STA   byte_D5
769D   LDA   #0
769F   STA   OS_PCOLR0
76A2   LDA   #$44
76A4   STA   OS_PCOLR1
76A7   LDA   #1
76A9   STA   byte_B375
76AC   JMP   sub_1363
76AC ; End of function sub_768B
76AC
76AF
76AF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
76AF
76AF
76AF sub_76AF:                     ; ...
76AF   LDA   #$77
76B1   STA   byte_765F
76B4   LDA   #$73
76B6   STA   byte_7660
76B9   LDA   #$7A
76BB   STA   byte_D4
76BD   LDA   #$74
76BF   STA   byte_D5
76C1   LDA   #$82
76C3   STA   OS_PCOLR0
76C6   STA   OS_PCOLR1
76C9   LDA   #0
76CB   STA   byte_B375
76CE   LDA   #1
76D0   STA   OS_STIMER_KBCODE
76D3   RTS
76D3 ; End of function sub_76AF
76D3
76D4
76D4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
76D4
76D4
76D4 animTransportShipLand:        ; ...
76D4   LDA   #$E0                  ; // TRANSPORT_SHIP
76D6   LDY   #$3D
76D8   JSR   printTitle
76DB   JSR   sub_76AF
76DE   JSR   animShipLand
76E1   JMP   animMapProd
76E1 ; End of function animTransportShipLand
76E1
76E4
76E4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
76E4
76E4
76E4 anipTransportShipTakeOff:     ; ...
76E4   JSR   sub_76AF
76E7   JSR   anipShipTakeOff
76EA   LDA   #0
76EC   STA   OS_AUDCTL_ALLPOT
76EF   RTS
76EF ; End of function anipTransportShipTakeOff
76EF
76F0
76F0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
76F0
76F0
76F0 roundEventPirateShip:
76F0   JSR   animMapProd
76F3   LDA   #$D2                  ; // ___PIRATE_SHIP
76F5   LDY   #$3D
76F7   JSR   printTitle
76FA   JSR   prepareStaticMessage
76FD   JSR   sub_768B
7700   JSR   animShipLand
7703   LDA   #1
7705   STA   byte_55
7707   LDA   #$FB                  ; // _PIRATES_TAKE_ALL
7707                               ; // _____
7709   LDY   #$3D
770B   JSR   addMessage            ; Y/A: High/Low address
770E   LDX   #3                    ; X = 3
7710   LDA   level
7712   CMP   #2                    ; // si level != 2
7714   BEQ   loc_771C              ; if (GAME_LEVEL != 2) {
7716   DEX                         ;   X --
7717   LDA   #0
7719   STA   goodsStoreNb+2        ;   GOODS_STOCK_NB [SMITHORE] = 0
7719                               ;   // dans tous les cas le cryst est laissé
7719                               ;   // car supprimé à chaque round
7719                               ; }
771C
771C loc_771C:                     ; ...
771C   STX   byte_91               ; // si tournament, X=3, sinon X=2
771C                               ; byte_91 = X
771E   JSR   addMessageGood        ; input
771E                               ; X: good
7721   LDA   #$A1
7723   JSR   decodeCharToMessage   ; A
7726   LDA   byte_91
7728   ASL   A
7729   ASL   A
772A   TAX                         ; X = byte_91 * 4 (= 12 ou 8)
772B   LDY   #4                    ; Y = 0
772D   LDA   #0                    ; A = 0
772F
772F loc_772F:                     ; ...
772F   STA   goodsPlayersNb,X      ; // retirer tous les smith ou cryst des joueurs
772F                               ; PLAYERS_FOOD [12] = PLAYERS_CRYST
772F                               ; PLAYERS_FOOD [8]  = PLAYERS_SMITTH
7732   INX
7733   DEY
7734   BNE   loc_772F
7736   INC   byte_91               ; byte_91 ++
7736                               ; // 2 -> 3 = EXP_SMITH
7736                               ; // 3 -> 4 = EXP_CRYST
7738   LDA   #44
773A   STA   byte_8B
773C
773C loc_773C:                     ; ...
773C   LDX   byte_8B
773E   LDA   plotsExp,X            ; // si bon type d'exploitation
7741   CMP   byte_91
7743   BNE   loc_7752
7745   LDA   #0
7747   STA   plotsProd,X           ; // retirer toutes les prod smith ou cryst de la carte
7747                               ; MAP_PROD [X] = 0
774A   LDY   #0
774C   JSR   drawCell              ; input
774C                               ; X: plot
774F   JSR   wait6
7752
7752 loc_7752:                     ; ...
7752   DEC   byte_8B
7754   BPL   loc_773C
7756   JSR   waitJiffyLevel
7759   JSR   sub_768B
775C   JMP   anipShipTakeOff
775C ; End of function roundEventPirateShip
775C
775C ; ---------------------------------------------------------------------------
775F unk_775F:.BYTE $FF            ; ...
7760   .BYTE $FE ; ¦
7761   .BYTE $FE ; ¦
7762   .BYTE $FE ; ¦
7763   .BYTE $FE ; ¦
7764   .BYTE $FE ; ¦
7765   .BYTE $FF
7766 unk_7766:.BYTE   2            ; ...
7767   .BYTE   1
7768   .BYTE   2
7769   .BYTE   2
776A   .BYTE   1
776B   .BYTE   2
776C   .BYTE   2
776D   .BYTE   0
776E   .BYTE   1
776F   .BYTE $FF
7770   .BYTE   0
7771   .BYTE $FF
7772   .BYTE   1
7773   .BYTE   0
7774   .BYTE $FF
7775   .BYTE $FE ; ¦
7776   .BYTE $FE ; ¦
7777   .BYTE $FE ; ¦
7778   .BYTE $FE ; ¦
7779   .BYTE $FE ; ¦
777A   .BYTE $FF
777B unk_777B:.BYTE   0            ; ...
777C   .BYTE  $C
777D   .BYTE $18
777E   .BYTE $24 ; $
777F   .BYTE $30 ; 0
7780   .BYTE $3C ; <
7781   .BYTE $54 ; T
7782   .BYTE   0
7783   .BYTE $22 ; "
7784   .BYTE $12
7785   .BYTE $49 ; I
7786   .BYTE $AA ; ¬
7787   .BYTE $1C
7788   .BYTE $1C
7789   .BYTE $1C
778A   .BYTE $AA ; ¬
778B   .BYTE $49 ; I
778C   .BYTE $12
778D   .BYTE $10
778E   .BYTE $10
778F   .BYTE   8
7790   .BYTE $68 ; h
7791   .BYTE $48 ; H
7792   .BYTE $1E
7793   .BYTE $5D ; ]
7794   .BYTE $B8 ; ©
7795   .BYTE $BC ; +
7796   .BYTE $92 ; Æ
7797   .BYTE   8
7798   .BYTE   8
7799   .BYTE $10
779A   .BYTE   0
779B   .BYTE $42 ; B
779C   .BYTE $A5 ; Ñ
779D   .BYTE $B8 ; ©
779E   .BYTE $18
779F   .BYTE $3E ; >
77A0   .BYTE $59 ; Y
77A1   .BYTE $98 ; ÿ
77A2   .BYTE $3C ; <
77A3   .BYTE $42 ; B
77A4   .BYTE $44 ; D
77A5   .BYTE $20
77A6   .BYTE   8
77A7   .BYTE $48 ; H
77A8   .BYTE $92 ; Æ
77A9   .BYTE $55 ; U
77AA   .BYTE $38 ; 8
77AB   .BYTE $38 ; 8
77AC   .BYTE $38 ; 8
77AD   .BYTE $55 ; U
77AE   .BYTE $92 ; Æ
77AF   .BYTE $48 ; H
77B0   .BYTE $44 ; D
77B1   .BYTE   0
77B2   .BYTE   8
77B3   .BYTE $10
77B4   .BYTE $50 ; P
77B5   .BYTE $49 ; I
77B6   .BYTE $3D ; =
77B7   .BYTE $1D
77B8   .BYTE $BA ; ¦
77B9   .BYTE $78 ; x
77BA   .BYTE $14
77BB   .BYTE $16
77BC   .BYTE $10
77BD   .BYTE   8
77BE   .BYTE   4
77BF   .BYTE $22 ; "
77C0   .BYTE $42 ; B
77C1   .BYTE $3C ; <
77C2   .BYTE $19
77C3   .BYTE $9A ; Ü
77C4   .BYTE $7C ; |
77C5   .BYTE $18
77C6   .BYTE $1D
77C7   .BYTE $A5 ; Ñ
77C8   .BYTE $42 ; B
77C9   .BYTE   0
77CA   .BYTE   0
77CB   .BYTE   0
77CC   .BYTE   0
77CD   .BYTE   0
77CE   .BYTE $3C ; <
77CF   .BYTE $3C ; <
77D0   .BYTE $3C ; <
77D1   .BYTE $3C ; <
77D2   .BYTE   0
77D3   .BYTE   0
77D4   .BYTE   0
77D5   .BYTE   0
77D6 ; ---------------------------------------------------------------------------
77D6   PHP
77D7   BPL   loc_77EF
77D9   TRB   byte_78
77DB   TSX
77DC   ORA   loc_493D,X
77DF   BVC   loc_77F1
77E1   PHP
77E2
77E2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
77E2
77E2
77E2 v07:
77E2   LDA   #$C0
77E4   STA   OS_AUDF2_POT2
77E7   LDA   byte_DD
77E9   BNE   loc_7806
77EB   LDA   byte_D9
77ED   BNE   loc_7806
77EF
77EF loc_77EF:                     ; ...
77EF   LDA   byte_AB
77F1
77F1 loc_77F1:                     ; ...
77F1   CMP   byte_88
77F3   BCS   loc_7806
77F5   CMP   #6
77F7   BCC   loc_7806
77F9   LDA   #$5F
77FB   STA   byte_DC
77FD   LDA   #$AA
77FF   STA   OS_AUDC1_POT2
7802   LDA   #2
7804   STA   byte_DD
7806
7806 loc_7806:                     ; ...
7806   LDA   byte_DD
7808   BEQ   loc_7843
780A   CMP   #1
780C   BEQ   loc_7823
780E   LDA   byte_DC
7810   STA   OS_AUDF1_POT1
7813   CLC
7814   ADC   #$14
7816   STA   byte_DC
7818   CMP   #$FF
781A   BEQ   loc_781F
781C   JMP   loc_7843
781F ; ---------------------------------------------------------------------------
781F
781F loc_781F:                     ; ...
781F   LDA   #1
7821   STA   byte_DD
7823
7823 loc_7823:                     ; ...
7823   LDA   byte_DD
7825   BEQ   loc_7843
7827   LDA   byte_DC
7829   SEC
782A   SBC   #$14
782C   CMP   #$5F
782E   BEQ   loc_7838
7830   STA   byte_DC
7832   STA   OS_AUDF1_POT1
7835   JMP   loc_7843
7838 ; ---------------------------------------------------------------------------
7838
7838 loc_7838:                     ; ...
7838   LDA   #$A0
783A   STA   OS_AUDC1_POT2
783D   LDA   #0
783F   STA   byte_DD
7841   STA   byte_DC
7843
7843 loc_7843:                     ; ...
7843   DEC   byte_A9
7845   LDA   byte_A9
7847   BEQ   loc_784A
7849   RTS
784A ; ---------------------------------------------------------------------------
784A
784A loc_784A:                     ; ...
784A   LDA   #6
784C   STA   byte_A9
784E   LDA   byte_AE
7850   EOR   #4
7852   STA   byte_AE
7854   STA   OS_AUDC2_POT3
7857   LDX   byte_D9
7859   LDY   byte_89,X
785B   LDX   #$C
785D   LDA   #0
785F   JSR   sub_12CA
7862   LDA   byte_A4
7864   BNE   loc_7875
7866   DEC   byte_D9
7868   LDX   byte_D9
786A   BPL   loc_7872
786C   LDX   #0
786E   STX   byte_D9
7870   STX   byte_DB
7872
7872 loc_7872:                     ; ...
7872   JMP   loc_788D
7875 ; ---------------------------------------------------------------------------
7875
7875 loc_7875:                     ; ...
7875   LDA   byte_DB
7877   BEQ   loc_7882
7879   LDX   byte_D9
787B   DEX
787C   BPL   loc_78B3
787E   LDA   #0
7880   STA   byte_DB
7882
7882 loc_7882:                     ; ...
7882   LDX   byte_D9
7884   INX
7885   CPX   #6
7887   BNE   loc_78B3
7889   LDA   #1
788B   STA   byte_DB
788D
788D loc_788D:                     ; ...
788D   LDY   #5
788F
788F loc_788F:                     ; ...
788F   LDA   byte_9F,Y
7892   STA   byte_A0,Y
7895   LDA   byte_89,Y
7898   STA   byte_8A,Y
789B   DEY
789C   BPL   loc_788F
789E   LDY   byte_AB
78A0   LDA   unk_7766,Y
78A3   CLC
78A4   ADC   byte_9F
78A6   STA   byte_9F
78A8   LDA   unk_775F,Y
78AB   ASL   A
78AC   CLC
78AD   ADC   byte_89
78AF   STA   byte_89
78B1   DEC   byte_AB
78B3
78B3 loc_78B3:                     ; ...
78B3   STX   byte_D9
78B5   LDA   byte_9F,X
78B7   STA   OS_HPOSP0_M0PF
78BA   LDX   byte_D9
78BC   LDA   unk_777B,X
78BF   STA   byte_AA
78C1   LDY   byte_89,X
78C3   LDX   #$C
78C5   LDA   #0
78C7   JSR   sub_5370
78CA   RTS
78CA ; End of function v07
78CA
78CB
78CB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
78CB
78CB
78CB roundEventPestAttack:
78CB   JSR   animMapProd
78CE   LDA   #45                   ; // Round event: Pest attack
78D0   JSR   random_0_A            ; input
78D0                               ; A: borne supérieure
78D0                               ; output
78D0                               ; A: un nombre aléatoire [0; A[
78D0                               ;
78D0                               ; calcul un nombre aléatoire entre 0 et A
78D3   STA   byte_84               ; byte_84 = random [0; 44]
78D5   TAX                         ; X = byte_84
78D6
78D6 loc_78D6:                     ; ...
78D6   LDA   plotsExp,X
78D9   CMP   #1
78DB   BNE   loc_78EF              ; // si food
78DD   LDA   plotsProd,X
78E0   BEQ   loc_78EF              ; // si prod != 0
78E2   LDY   plotsPlayer,X
78E5   CPY   ordersPlayer+3        ; // case sélectionnée si le propriétaire
78E5                               ; // est l'un des 2 premiers
78E8   BEQ   loc_78EF
78EA   CPY   ordersPlayer+2
78ED   BNE   loc_78FC
78EF
78EF loc_78EF:                     ; ...
78EF   DEX                         ; X --
78F0   CPX   byte_84
78F2   BEQ   locret_78FB           ; // si tour complet alors rien trouvé
78F4   TXA
78F5   BPL   loc_78D6
78F7   LDX   #44
78F9   BNE   loc_78D6              ; // si X < 0 alors X = 44
78FB
78FB locret_78FB:                  ; ...
78FB   RTS                         ; // rien trouvé
78FC ; ---------------------------------------------------------------------------
78FC
78FC loc_78FC:                     ; ...
78FC   CLC
78FD   ADC   #6
78FF   STA   byte_88               ; // byte_88 = prod + 6
7901   STX   byte_84               ; // byte_84 = case
7903   LDA   #$6B                  ; // __PEST_ATTACK
7905   LDY   #$3E
7907   JSR   printTitle
790A   LDX   #5
790C   LDA   #0
790E
790E loc_790E:                     ; ...
790E   STA   $9F,X
7910   STA   $89,X
7912   DEX
7913   BPL   loc_790E
7915   LDA   byte_84
7917   JSR   sub_48A6
791A   TXA
791B   CLC
791C   ADC   #$D
791E   STA   byte_9F
7920   TYA
7921   SEC
7922   SBC   #3
7924   STA   byte_89
7926   LDA   #$77
7928   STA   byte_D5
792A   LDA   #$82
792C   STA   byte_D4
792E   LDA   #8
7930   STA   byte_A9
7932   LDA   #$14
7934   STA   byte_AB
7936   LDX   #7
7938   STX   byte_D9
793A   LDA   #0
793C   STA   byte_DB
793E   STA   OS_PCOLR0
7941   STA   byte_DD
7943   STA   byte_AE
7945   LDA   #6
7947   STA   byte_C1
7949
7949 loc_7949:                     ; ...
7949   LDA   byte_AB               ; // manger tous les prod food
794B   BEQ   loc_7964
794D   LDA   byte_DD
794F   BEQ   loc_7949
7951   LDA   #$F
7953   JSR   waitJiffy             ; input
7953                               ; A: temps à attendre en jiffy (1/60 seconds)
7956   LDX   byte_84
7958   DEC   plotsProd,X           ; MAP_PROD [X] --
795B   LDA   plotsProd,X
795E   JSR   drawCellProd          ; A: nb prod
795E                               ; X: case
7961   JMP   loc_7949
7964 ; ---------------------------------------------------------------------------
7964
7964 loc_7964:                     ; ...
7964   JSR   C1_255
7967   JSR   sub_136D
796A   LDA   byte_8F
796C   STA   byte_A3
796E   LDA   #$C
7970   STA   byte_D6
7972   JSR   sub_7E87
7975   JMP   sub_4C61
7975 ; End of function roundEventPestAttack
7975
7975 ; ---------------------------------------------------------------------------
7978 byte_7978:.BYTE 1             ; ...
7979   .BYTE   2
797A   .BYTE   4
797B   .BYTE  $B
797C   .BYTE   6
797D   .BYTE $13
797E   .BYTE   0
797F   .BYTE  $D
7980   .BYTE   8
7981   .BYTE   6
7982   .BYTE   0
7983   .BYTE $20
7984   .BYTE $10
7985   .BYTE   8
7986   .BYTE $3C ; <
7987   .BYTE $10
7988   .BYTE   8
7989   .BYTE $3C ; <
798A   .BYTE $10
798B   .BYTE   8
798C   .BYTE   4
798D   .BYTE   0
798E byte_798E:.BYTE $E            ; ...
798F   .BYTE $3C ; <
7990   .BYTE $3C ; <
7991   .BYTE $7E ; ~
7992   .BYTE $7E ; ~
7993   .BYTE $FF
7994   .BYTE $FF
7995   .BYTE $FF
7996   .BYTE $FF
7997   .BYTE $FF
7998   .BYTE $FF
7999   .BYTE $7E ; ~
799A   .BYTE $7E ; ~
799B   .BYTE $3C ; <
799C   .BYTE $3C ; <
799D   .BYTE   0
799E   .BYTE   0
799F   .BYTE $1C
79A0   .BYTE $1C
79A1   .BYTE $7E ; ~
79A2   .BYTE $7E ; ~
79A3   .BYTE $FE ; ¦
79A4   .BYTE $FE ; ¦
79A5   .BYTE $FF
79A6   .BYTE $FF
79A7   .BYTE $7F ; 
79A8   .BYTE $7F ; 
79A9   .BYTE $7E ; ~
79AA   .BYTE $7E ; ~
79AB   .BYTE $38 ; 8
79AC   .BYTE $38 ; 8
79AD   .BYTE   0
79AE   .BYTE   0
79AF   .BYTE $24 ; $
79B0   .BYTE $24 ; $
79B1   .BYTE $7E ; ~
79B2   .BYTE $7E ; ~
79B3   .BYTE $FF
79B4   .BYTE $FF
79B5   .BYTE $7E ; ~
79B6   .BYTE $7E ; ~
79B7   .BYTE $FF
79B8   .BYTE $FF
79B9   .BYTE $7E ; ~
79BA   .BYTE $7E ; ~
79BB   .BYTE $24 ; $
79BC   .BYTE $24 ; $
79BD   .BYTE   0
79BE   .BYTE   0
79BF   .BYTE $38 ; 8
79C0   .BYTE $38 ; 8
79C1   .BYTE $7E ; ~
79C2   .BYTE $7E ; ~
79C3   .BYTE $7F ; 
79C4   .BYTE $7F ; 
79C5   .BYTE $FF
79C6   .BYTE $FF
79C7   .BYTE $FE ; ¦
79C8   .BYTE $FE ; ¦
79C9   .BYTE $7F ; 
79CA   .BYTE $7F ; 
79CB   .BYTE $1C
79CC   .BYTE $1C
79CD   .BYTE   0
79CE
79CE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
79CE
79CE
79CE sub_79CE:                     ; ...
79CE   CLC
79CF   ADC   #$BC
79D1   STA   loc_79EB+2
79D4   STA   loc_79EF+2
79D7   STY   loc_79EB+1
79DA   STY   loc_79EF+1
79DD   LDX   byte_D9
79DF   LDA   byte_798E,X
79E2   STA   OS_AUDC2_POT3
79E5   INX
79E6   LDY   #2
79E8
79E8 loc_79E8:                     ; ...
79E8   LDA   byte_798E,X
79EB
79EB loc_79EB:                     ; ...
79EB   STA   $FF00,Y               ; STA
79EE   INY
79EF
79EF loc_79EF:                     ; ...
79EF   STA   $FF00,Y               ; STA
79F2   INX
79F3   INY
79F4   CPY   #$20
79F6   BNE   loc_79E8
79F8   RTS
79F8 ; End of function sub_79CE
79F8
79F9
79F9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
79F9
79F9
79F9 v09:
79F9   LDA   #$16
79FB   STA   OS_AUDF1_POT1
79FE   LDA   #$8E
7A00   STA   OS_AUDF2_POT2
7A03   LDA   #4
7A05   STA   OS_AUDC1_POT2
7A08   LDX   byte_A9
7A0A   DEX
7A0B   STX   byte_A9
7A0D   BEQ   loc_7A3D
7A0F   LDA   #0
7A11   LDY   byte_A3
7A13   LDX   #$C
7A15   JSR   sub_12CA
7A18   LDX   byte_A9
7A1A   DEX
7A1B   TXA
7A1C   ASL   A
7A1D   TAX
7A1E   INX
7A1F   LDA   byte_A4
7A21   CLC
7A22   ADC   byte_7978,X
7A25   STA   byte_A3
7A27   DEX
7A28   LDA   byte_A0
7A2A   CLC
7A2B   ADC   byte_7978,X
7A2E   STA   byte_9F
7A30   STA   OS_HPOSP0_M0PF
7A33   LDA   #0
7A35   LDY   byte_A3
7A37   LDX   #$C
7A39   JSR   sub_5370
7A3C   RTS
7A3D ; ---------------------------------------------------------------------------
7A3D
7A3D loc_7A3D:                     ; ...
7A3D   LDA   #6
7A3F   STA   byte_A9
7A41   LDA   #1
7A43   LDY   byte_A4
7A45   LDX   #$20
7A47   JSR   sub_12CA
7A4A   LDA   byte_A0
7A4C   CLC
7A4D   ADC   #1
7A4F   STA   byte_A0
7A51   STA   OS_HPOSP1_M1PF
7A54   LDA   OS_SKREST_RANDOM
7A57   AND   #3
7A59   ASL   A
7A5A   ASL   A
7A5B   ASL   A
7A5C   ASL   A
7A5D   STA   byte_D9
7A5F   LDA   OS_SKREST_RANDOM
7A62   AND   #$86
7A64   ADC   #2
7A66   STA   OS_PCOLR1
7A69   LDA   byte_A4
7A6B   TAY
7A6C   LDA   #1
7A6E   JSR   sub_79CE
7A71   RTS
7A71 ; End of function v09
7A71
7A72
7A72 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7A72
7A72
7A72 roundEventAcidRainStorm:
7A72   LDA   #$37                  ; // ACID_RAIN_STORM
7A72                               ; // +4F -2E pour les exp sur la ligne du nuage
7A72                               ; // +1F -1E pour tous les autres
7A74   LDY   #$3E
7A76   JSR   printTitle
7A79   JSR   prepareStaticMessage
7A7C   LDA   #$46                  ; // ___FOOD_OUTPUT_UP,
7A7C                               ; // ___ENERGY_REDUCED.
7A7E   LDY   #$3E
7A80   JSR   addMessage            ; Y/A: High/Low address
7A83   LDA   #5
7A85   STA   byte_A9
7A87   JSR   random_0_A            ; input
7A87                               ; A: borne supérieure
7A87                               ; output
7A87                               ; A: un nombre aléatoire [0; A[
7A87                               ;
7A87                               ; calcul un nombre aléatoire entre 0 et A
7A8A   LDY   #9
7A8C   JSR   mul8BitsBy8Bits       ; input
7A8C                               ; A: left operand
7A8C                               ; Y: right operand
7A8C                               ; output
7A8C                               ; Y/A, byte_81/byte_82: A * Y
7A8F   STA   byte_CB               ; // case du debut de la ligne du nuage
7A8F                               ; byte_CB = random [0; 4] * 9
7A91   JSR   sub_48A6
7A94   STY   byte_A3
7A96   STY   byte_A4
7A98   JSR   sub_4C61
7A9B   LDA   #0
7A9D   STA   byte_AA
7A9F   LDA   #$14
7AA1   STA   byte_9F
7AA3   STA   byte_A0
7AA5   STA   OS_HPOSP0_M0PF
7AA8   STA   OS_HPOSP1_M1PF
7AAB   LDA   #$28
7AAD   STA   OS_PCOLR0
7AB0   LDA   #1
7AB2   STA   OS_SIZEP1
7AB5   LDA   #$20
7AB7   STA   OS_PRIOR
7ABA   LDA   #$79
7ABC   STA   byte_D5
7ABE   LDA   #$82
7AC0   STA   byte_D4
7AC2   LDA   #8
7AC4   STA   byte_C1
7AC6
7AC6 loc_7AC6:                     ; ...
7AC6   LDA   byte_A0
7AC8   CMP   #$DC
7ACA   BCC   loc_7AC6
7ACC   LDX   #44
7ACE   LDX   byte_CB               ; X = byte_CB
7AD0   LDY   #8
7AD2
7AD2 loc_7AD2:                     ; ...
7AD2   LDA   plotsExp,X            ; // traitement de la ligne du nuage
7AD2                               ; for (Y=8; Y>=0; Y--) {
7AD5   BEQ   loc_7AF1
7AD7   CMP   #1
7AD9   BNE   loc_7AE4              ;   if (MAP_EXP [X] == 1) {
7ADB   LDA   plotsProd,X
7ADE   CLC
7ADF   ADC   #3                    ;     // +3F pour les exploitation de food
7ADF                               ;     // sur la ligne byte_CB
7ADF                               ;     MAP_PROD [X] += 3
7AE1   JMP   loc_7AEE              ;   }
7AE4 ; ---------------------------------------------------------------------------
7AE4
7AE4 loc_7AE4:                     ; ...
7AE4   CMP   #2
7AE6   BNE   loc_7AF1              ;   else if (MAP_EXP [X] == 2) {
7AE8   LDA   plotsProd,X
7AEB   SEC
7AEC   SBC   #1                    ;     // -1E pour les exploitation d'energie
7AEC                               ;     // sur la ligne byte_CB
7AEC                               ;     MAP_PROD [X] -= 1
7AEE
7AEE loc_7AEE:                     ; ...
7AEE   STA   plotsProd,X           ;   }
7AF1
7AF1 loc_7AF1:                     ; ...
7AF1   INX                         ;   X ++
7AF2   DEY
7AF3   BPL   loc_7AD2              ; }
7AF5   LDX   #44
7AF7
7AF7 loc_7AF7:                     ; ...
7AF7   LDY   plotsExp,X            ; // traitement des autres lignes
7AF7                               ; for (X=44; X>=0; X--) {
7AFA   BEQ   loc_7B19              ;   if ( (MAP_EXP [X] != 0) &&
7AFA                               ;        (MAP_EXP [X] < 3) ) {
7AFC   CPY   #3
7AFE   BCS   loc_7B19              ;     // si exploitation de food: +1F
7B00   LDA   #1                    ;     A = 1
7B02   CPY   #2
7B04   BNE   loc_7B08              ;     // si exploitation d'energie: -1E
7B04                               ;     if (MAP_EXP [X] == 2) {
7B06   LDA   #-1                   ;       A = -1
7B06                               ;     }
7B08
7B08 loc_7B08:                     ; ...
7B08   CLC
7B09   ADC   plotsProd,X           ;   MAP_PROD [X] += A
7B0C   BPL   loc_7B10              ;   if (MAP_PROD [X] < 0) {
7B0E   LDA   #0                    ;     MAP_PROD [X] = 0
7B0E                               ;   }
7B10
7B10 loc_7B10:                     ; ...
7B10   CMP   #8
7B12   BCC   loc_7B16              ;   if (MAP_PROD [X] >= 8) {
7B14   LDA   #8                    ;     MAP_PROD [X] = 8
7B14                               ;   }
7B16
7B16 loc_7B16:                     ; ...
7B16   STA   plotsProd,X
7B19
7B19 loc_7B19:                     ; ...
7B19   DEX                         ;   }
7B1A   BPL   loc_7AF7              ; }
7B1C   JSR   C1_255
7B1F   JSR   sub_136D
7B22   JSR   sub_4C61
7B25   JMP   animMapProd
7B25 ; End of function roundEventAcidRainStorm
7B25
7B28
7B28 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7B28
7B28
7B28 roundEvent:                   ; ...
7B28   LDA   #0                    ; // decompte à partir de 7 et de la fin
7B28                               ;
7B28                               ; byte_B342 contient les chances de tomber dans chaque index
7B28                               ; ex:
7B28                               ; [+0] 3/20
7B28                               ; [+1] 2/20
7B28                               ; etc...
7B2A   STA   byte_88               ; byte_88 = 0
7B2C   LDX   #7
7B2E   STX   byte_8D
7B30
7B30 loc_7B30:                     ; ...
7B30   LDX   byte_8D               ; // si EVENTS_ROUND_PROB vaut:
7B30                               ; // 3, 2, 3, 3, 3, 2, 2, 2
7B30                               ;
7B30                               ; // alors MAP_TEMP aura:
7B30                               ; // 7, 7, 6, 6, 5, 5, 4, 4, 4,
7B30                               ; // 3, 3, 3, 2, 2, 2, 1, 1, 0,
7B30                               ; // 0, 0
7B30                               ; for (byte_8D=7; byte_8D>=0; byte_8D--) {
7B32   LDY   roundEventsProb,X
7B35   BEQ   loc_7B42              ;   if (EVENTS_ROUND_PROB [byte_8D] != 0) {
7B37   TXA
7B38
7B38 loc_7B38:                     ; ...
7B38   LDX   byte_88               ;     for (Y=EVENTS_ROUND_PROB [byte_8D]; Y!=0; Y--) {
7B3A   STA   plotsTemp,X           ;       MAP_TEMP [byte_88] = byte_8D
7B3D   INC   byte_88               ;       byte_88 ++
7B3F   DEY
7B40   BNE   loc_7B38              ;     }
7B40                               ;   }
7B42
7B42 loc_7B42:                     ; ...
7B42   DEC   byte_8D
7B44   BPL   loc_7B30              ; }
7B46   LDA   byte_88
7B48   JSR   random_0_A            ; input
7B48                               ; A: borne supérieure
7B48                               ; output
7B48                               ; A: un nombre aléatoire [0; A[
7B48                               ;
7B48                               ; calcul un nombre aléatoire entre 0 et A
7B4B   TAX                         ; // X = un index au hasard dans MAP_TEMP
7B4B                               ; X = random [0; byte_88[
7B4C   LDA   plotsTemp,X
7B4F   TAX                         ; X = MAP_TEMP [X]
7B50   DEC   roundEventsProb,X     ; EVENTS_ROUND_PROB [X] --
7B53   BPL   loc_7B5B              ; // comment il peut être choisit et avoir prob=0 ??
7B53                               ; if (EVENTS_ROUND_PROB [X] < 0) {
7B55   INC   roundEventsProb,X     ;   EVENTS_ROUND_PROB [X] ++
7B58   JMP   animMapProd           ;   goto animMapProd
7B58                               ; }
7B5B ; ---------------------------------------------------------------------------
7B5B
7B5B loc_7B5B:                     ; ...
7B5B   TXA
7B5C   ASL   A
7B5D   TAY
7B5E   LDA   roundEventsAddr,Y
7B61   STA   ROUND_EVENT_ADDR_L
7B64   LDA   roundEventsAddr+1,Y
7B67   STA   ROUND_EVENT_ADDR_H    ; EVENT_ROUND_ADDR = EVENTS_ROUND_ADDR [X]
7B67 ; ---------------------------------------------------------------------------
7B6A   .BYTE $4C                   ; JMP (EVENT_ROUND_ADDR)
7B6B ROUND_EVENT_ADDR_L:.BYTE $FF  ; ...
7B6C ROUND_EVENT_ADDR_H:.BYTE $FF  ; ...
7B6C ; End of function roundEvent
7B6C
7B6D roundEventsAddr:.WORD $78CB   ; ...
7B6D   .WORD $76F0                 ; roundEventsAddr [ROUND_EVENTS] Word ($7B6D)
7B6D   .WORD $7A72                 ; Adresses of the round events.
7B6D   .WORD $722E                 ;
7B6D   .WORD $7C12                 ; ROUND_EVENTS Address Infos
7B6D   .WORD $7C95                 ; +0 $78CB PEST ATTACK
7B6D   .WORD $7EA6                 ; +2 $76F0 PIRATE SHIP
7B6D   .WORD $7FF3                 ; +4 $7A72 ACID RAIN STORM
7B6D                               ; +6 $722E PLANETQUAKE
7B6D                               ; +8 $7C12 SUNSPOT ACTIVITY
7B6D                               ; +10 $7C95 METEORITE STRIKE
7B6D                               ; +12 $7EA6 RADIATION
7B6D                               ; +14 $7FF3 FIRE IN STORE
7B7D roundEventsProbInit:.BYTE 3   ; ...
7B7D   .BYTE 2                     ; roundEventsProbInit [ROUND_EVENTS] Byte ($7B7D)
7B7D   .BYTE 3                     ; Initial probabilities of the round events.
7B7D   .BYTE 3                     ;
7B7D   .BYTE 3                     ; ROUND_EVENTS Initial probability Infos
7B7D   .BYTE 2                     ; +0 3 PEST ATTACK
7B7D   .BYTE 2                     ; +1 2 PIRATE SHIP
7B7D   .BYTE 2                     ; +2 3 ACID RAIN STORM
7B7D                               ; +3 3 PLANETQUAKE
7B7D                               ; +4 3 SUNSPOT ACTIVITY
7B7D                               ; +5 2 METEORITE STRIKE
7B7D                               ; +6 2 RADIATION
7B7D                               ; +7 2 FIRE IN STORE
7B85   .BYTE   0
7B86   .BYTE   0
7B87   .BYTE   0
7B88   .BYTE   0
7B89   .BYTE   0
7B8A   .BYTE   8
7B8B   .BYTE   8
7B8C   .BYTE   0
7B8D   .BYTE   0
7B8E   .BYTE   0
7B8F   .BYTE   0
7B90   .BYTE   0
7B91
7B91 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7B91
7B91
7B91 v10:
7B91   LDX   byte_A9
7B93   DEX
7B94   STX   byte_A9
7B96   BEQ   loc_7B99
7B98   RTS
7B99 ; ---------------------------------------------------------------------------
7B99
7B99 loc_7B99:                     ; ...
7B99   LDX   #2
7B9B   STX   byte_A9
7B9D   LDA   #0
7B9F   LDY   byte_A3
7BA1   LDX   #$C
7BA3   JSR   sub_12CA
7BA6   LDA   #1
7BA8   LDY   byte_A4
7BAA   LDX   #$C
7BAC   JSR   sub_12CA
7BAF
7BAF loc_7BAF:                     ; ...
7BAF   LDA   OS_SKREST_RANDOM
7BB2   CMP   #$36
7BB4   BCC   loc_7BAF
7BB6   CMP   #$C3
7BB8   BCS   loc_7BAF
7BBA   STA   byte_9F
7BBC   STA   OS_HPOSP0_M0PF
7BBF   STA   byte_9F
7BC1
7BC1 loc_7BC1:                     ; ...
7BC1   LDA   OS_SKREST_RANDOM
7BC4   CMP   #$36
7BC6   BCC   loc_7BC1
7BC8   CMP   #$C3
7BCA   BCS   loc_7BC1
7BCC   STA   byte_A0
7BCE   STA   OS_HPOSP1_M1PF
7BD1
7BD1 loc_7BD1:                     ; ...
7BD1   LDA   OS_SKREST_RANDOM
7BD4   CMP   #$24
7BD6   BCC   loc_7BD1
7BD8   CMP   #$C0
7BDA   BCS   loc_7BD1
7BDC   STA   byte_A3
7BDE
7BDE loc_7BDE:                     ; ...
7BDE   LDA   OS_SKREST_RANDOM
7BE1   CMP   #$24
7BE3   BCC   loc_7BDE
7BE5   CMP   #$C0
7BE7   BCS   loc_7BDE
7BE9   STA   byte_A4
7BEB   LDA   #0
7BED   STA   byte_AA
7BEF   LDA   OS_SKREST_RANDOM
7BF2   AND   #$F3
7BF4   STA   OS_PCOLR0
7BF7   LDA   OS_SKREST_RANDOM
7BFA   AND   #$F3
7BFC   STA   OS_PCOLR1
7BFF   LDA   #0
7C01   LDY   byte_A3
7C03   LDX   #$C
7C05   JSR   sub_5370
7C08   LDA   #1
7C0A   LDY   byte_A4
7C0C   LDX   #$C
7C0E   JSR   sub_5370
7C11   RTS
7C11 ; End of function v10
7C11
7C12
7C12 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7C12
7C12
7C12 roundEventSunspotActivity:
7C12   LDA   #$79                  ; // SUNSPOT_ACTIVITY
7C14   LDY   #$3E
7C16   JSR   printTitle
7C19   JSR   prepareStaticMessage
7C1C   LDA   #$89                  ; // __ENERGY_OUTPUT_IS
7C1C                               ; // ______INCREASED
7C1E   LDY   #$3E
7C20   JSR   addMessage            ; Y/A: High/Low address
7C23   LDA   #$85
7C25   STA   byte_D4
7C27   LDA   #$7B
7C29   STA   byte_D5
7C2B   LDA   #9
7C2D   STA   byte_C1
7C2F   STA   byte_A9
7C31   LDA   #$96
7C33   STA   byte_C3
7C35   LDX   #44
7C37
7C37 loc_7C37:                     ; ...
7C37   LDA   plotsExp,X
7C3A   CMP   #2
7C3C   BNE   loc_7C4D
7C3E   LDA   plotsProd,X
7C41   CLC
7C42   ADC   #3                    ; // +3E
7C44   CMP   #8
7C46   BCC   loc_7C4A
7C48   LDA   #8
7C4A
7C4A loc_7C4A:                     ; ...
7C4A   STA   plotsProd,X           ; MAP_PROD [X] += 3
7C4D
7C4D loc_7C4D:                     ; ...
7C4D   DEX
7C4E   BPL   loc_7C37
7C50   LDA   #$FA
7C52   JSR   waitJiffy             ; input
7C52                               ; A: temps à attendre en jiffy (1/60 seconds)
7C55   JSR   waitJiffyLevel
7C58   JSR   C1_255
7C5B   JSR   sub_4C61
7C5E   JMP   animMapProd
7C5E ; End of function roundEventSunspotActivity
7C5E
7C5E ; ---------------------------------------------------------------------------
7C61   .BYTE   0
7C62   .BYTE $18
7C63   .BYTE $3C ; <
7C64   .BYTE $7E ; ~
7C65   .BYTE $7E ; ~
7C66   .BYTE $FF
7C67   .BYTE $FF
7C68   .BYTE $FF
7C69   .BYTE $FF
7C6A   .BYTE $FF
7C6B   .BYTE $FF
7C6C   .BYTE $7E ; ~
7C6D   .BYTE $7E ; ~
7C6E   .BYTE $3C ; <
7C6F   .BYTE $18
7C70   .BYTE   0
7C71
7C71 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7C71
7C71
7C71 sub_7C71:                     ; ...
7C71   CLC
7C72   ADC   #$BC
7C74   STA   byte_7C89
7C77   STY   byte_7C88
7C7A   LDX   #0
7C7C   LDY   #0
7C7E
7C7E loc_7C7E:                     ; ...
7C7E   LDA   byte_D8
7C80   STA   byte_D7
7C82   LDA   ($D4),Y
7C84   AND   OS_SKREST_RANDOM
7C84 ; ---------------------------------------------------------------------------
7C87 byte_7C87:.BYTE $9D           ; ...
7C87                               ; STA
7C88 byte_7C88:.BYTE 0             ; ...
7C89 byte_7C89:.BYTE $FF           ; ...
7C8A ; ---------------------------------------------------------------------------
7C8A   INX
7C8B   DEC   byte_D7
7C8D   BNE   byte_7C87
7C8F   INY
7C90   CPY   #$F
7C92   BNE   loc_7C7E
7C94   RTS
7C94 ; End of function sub_7C71
7C94
7C95
7C95 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7C95
7C95
7C95 roundEventMeteoriteStrike:
7C95   LDA   #$61
7C97   STA   byte_D4
7C99   LDA   #$7C
7C9B   STA   byte_D5
7C9D   LDA   #$EE                  ; // METEORITE_STRIKE
7C9F   LDY   #$3E
7CA1   JSR   printTitle
7CA4   JSR   prepareStaticMessage
7CA7   LDA   level
7CA9   CMP   #2
7CAB   BNE   loc_7CB4
7CAD   LDA   #$FE                  ; // _METEOR_MAKES_NEW
7CAD                               ; // _CRYSTITE_DEPOSIT.
7CAF   LDY   #$3E
7CB1   JSR   addMessage            ; Y/A: High/Low address
7CB4
7CB4 loc_7CB4:                     ; ...
7CB4   LDA   #45
7CB6   JSR   random_0_A            ; // pos du meteor
7CB9   TAX
7CBA   LDA   expsPlotsCapacity+$87,X
7CBD   BMI   loc_7CB4              ; // pas sur la ville ou la riviere
7CBF   CMP   #3
7CC1   BCS   loc_7CB4              ; // sur une terre avec cryst <3
7CC3   STX   byte_8C
7CC5   TXA
7CC6   LDX   #0
7CC8   STX   byte_A3
7CCA   LDX   #3
7CCC   STX   OS_SIZEP1
7CCF   STX   byte_DB
7CD1   STX   OS_SIZEP0_M0PL
7CD4   STX   byte_8B
7CD6   STX   byte_D8
7CD8   JSR   sub_48A6
7CDB   TYA
7CDC   CLC
7CDD   ADC   #$C
7CDF   STA   byte_45
7CE1   TXA
7CE2   CLC
7CE3   ADC   #7
7CE5   STA   byte_46
7CE7   LDA   #$BE
7CE9   STA   byte_43
7CEB   STA   byte_A3
7CED   STA   byte_44
7CEF   STA   byte_9F
7CF1   STA   byte_A0
7CF3   TAY
7CF4   LDA   #0
7CF6   JSR   sub_3974
7CF9   LDA   byte_49
7CFB   LSR   A
7CFC   STA   byte_80
7CFE   LSR   A
7CFF   STA   byte_81
7D01   CLC
7D02   ADC   byte_80
7D04   STA   byte_80
7D06   LDA   #$F
7D08   STA   OS_AUDC1_POT2
7D0B   STA   OS_AUDC2_POT3
7D0E   STA   byte_83
7D10   LDA   #$8E
7D12   STA   OS_AUDC1_POT2
7D15   LDA   #$3C
7D17   STA   OS_AUDF1_POT1
7D1A   LDA   #$28
7D1C   JSR   waitJiffy             ; input
7D1C                               ; A: temps à attendre en jiffy (1/60 seconds)
7D1F   LDA   #$F6
7D21   STA   OS_PCOLR0
7D24   LDA   #$38
7D26   STA   OS_PCOLR1
7D29   LDA   OS_GPRIOR
7D2C   EOR   #$20
7D2E   STA   OS_GPRIOR
7D31
7D31 loc_7D31:                     ; ...
7D31   LDA   byte_49
7D33   BNE   loc_7D49
7D35
7D35 loc_7D35:                     ; ...
7D35   LDA   byte_83
7D37   STA   OS_AUDC1_POT2
7D3A   STA   OS_AUDC2_POT3
7D3D   LDA   #$A
7D3F   JSR   waitJiffy             ; input
7D3F                               ; A: temps à attendre en jiffy (1/60 seconds)
7D42   DEC   byte_83
7D44   BNE   loc_7D35
7D46   JMP   loc_7D8C
7D49 ; ---------------------------------------------------------------------------
7D49
7D49 loc_7D49:                     ; ...
7D49   CMP   byte_81
7D4B   BCS   loc_7D5C
7D4D   LDA   #0
7D4F   STA   OS_SIZEP0_M0PL
7D52   STA   OS_SIZEP1
7D55   LDA   #1
7D57   STA   byte_D8
7D59   JMP   loc_7D6C
7D5C ; ---------------------------------------------------------------------------
7D5C
7D5C loc_7D5C:                     ; ...
7D5C   CMP   byte_80
7D5E   BCS   loc_7D6C
7D60   LDA   #1
7D62   STA   OS_SIZEP0_M0PL
7D65   STA   OS_SIZEP1
7D68   LDA   #2
7D6A   STA   byte_D8
7D6C
7D6C loc_7D6C:                     ; ...
7D6C   LDA   #$FF
7D6E   SEC
7D6F   SBC   byte_49
7D71   STA   OS_AUDF1_POT1
7D74   STA   OS_AUDF2_POT2
7D77   LDA   byte_49
7D79   LSR   A
7D7A   LSR   A
7D7B   LSR   A
7D7C   AND   #$F
7D7E   ORA   #$80
7D80   STA   OS_AUDC1_POT2
7D83   STA   OS_AUDC2_POT3
7D86   JSR   sub_7DCC
7D89   JMP   loc_7D31
7D8C ; ---------------------------------------------------------------------------
7D8C
7D8C loc_7D8C:                     ; ...
7D8C   LDA   OS_GPRIOR
7D8F   EOR   #$20
7D91   STA   OS_GPRIOR
7D94   LDA   #0
7D96   STA   OS_SIZEP0_M0PL
7D99   STA   OS_SIZEP1
7D9C   LDA   #1
7D9E   STA   byte_D8
7DA0   LDY   byte_A3
7DA2   JSR   sub_7C71
7DA5   LDA   #0
7DA7   LDY   byte_A3
7DA9   JSR   sub_7C71
7DAC   JSR   sub_136D
7DAF   LDX   byte_8C               ; // meteor
7DB1   LDA   #4
7DB3   STA   expsPlotsCapacity+$87,X ; MAP_CRYST [X] = 4
7DB6   STA   plotsKnownCrystite,X  ; MAP_CRYST_KNOWN [X] = 4
7DB9   LDA   #0
7DBB   STA   plotsExp,X            ; // meteor, perte de la mule
7DBE   STA   plotsProd,X
7DC1   LDY   #0
7DC3   JSR   drawCell              ; input
7DC3                               ; X: plot
7DC6   JSR   animMapProd
7DC9   JMP   sub_4C61
7DC9 ; End of function roundEventMeteoriteStrike
7DC9
7DCC
7DCC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7DCC
7DCC
7DCC sub_7DCC:                     ; ...
7DCC   LDA   byte_49
7DCE   BNE   loc_7DD1
7DD0   RTS
7DD1 ; ---------------------------------------------------------------------------
7DD1
7DD1 loc_7DD1:                     ; ...
7DD1   LDX   byte_8B
7DD3   DEX
7DD4   STX   byte_8B
7DD6   BEQ   loc_7DD9
7DD8   RTS
7DD9 ; ---------------------------------------------------------------------------
7DD9
7DD9 loc_7DD9:                     ; ...
7DD9   LDX   #$30
7DDB   STX   byte_8B
7DDD   LDY   byte_A3
7DDF   LDA   #0
7DE1   JSR   sub_12CA
7DE4   LDY   byte_A3
7DE6   LDA   #1
7DE8   JSR   sub_12CA
7DEB   LDA   byte_44
7DED   STA   byte_9F
7DEF   STA   OS_HPOSP0_M0PF
7DF2   STA   byte_A0
7DF4   STA   OS_HPOSP1_M1PF
7DF7   LDY   byte_43
7DF9   STY   byte_A3
7DFB   LDA   #0
7DFD   JSR   sub_7C71
7E00   LDY   byte_43
7E02   LDA   #1
7E04   JSR   sub_7C71
7E07   JMP   loc_39C0
7E07 ; End of function sub_7DCC
7E07
7E0A
7E0A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7E0A
7E0A
7E0A v12:
7E0A   DEC   byte_A9
7E0C   BEQ   loc_7E0F
7E0E
7E0E locret_7E0E:                  ; ...
7E0E   RTS
7E0F ; ---------------------------------------------------------------------------
7E0F
7E0F loc_7E0F:                     ; ...
7E0F   LDA   #3
7E11   STA   byte_A9
7E13   LDA   #0
7E15   LDY   byte_A3
7E17   LDX   #$10
7E19   JSR   sub_53B7
7E1C   LDX   byte_D6
7E1E   LDY   byte_A3
7E20   STY   loc_7E6E+1
7E23   LDA   byte_D5
7E25   STA   loc_7E69+2
7E28   LDA   byte_D4
7E2A   STA   loc_7E69+1
7E2D   LDA   byte_AB
7E2F   BEQ   locret_7E0E
7E31   CPX   #$11
7E33   BCC   loc_7E36
7E35   ASL   A
7E36
7E36 loc_7E36:                     ; ...
7E36   STA   byte_AE
7E38   STA   byte_AF
7E3A   TAY
7E3B   TXA
7E3C   SEC
7E3D   SBC   byte_AE
7E3F   CMP   byte_AE
7E41   BCC   loc_7E77
7E43   BEQ   loc_7E77
7E45   STA   loc_7E73+1
7E48   LDA   byte_AB
7E4A   LSR   A
7E4B   STA   byte_AE
7E4D   LDX   #0
7E4F   LDA   #$FF
7E51   CLC
7E52
7E52 loc_7E52:                     ; ...
7E52   ASL   A
7E53   CLC
7E54   INX
7E55   CPX   byte_AB
7E57   BNE   loc_7E52
7E59   LDX   byte_AE
7E5B   INX
7E5C
7E5C loc_7E5C:                     ; ...
7E5C   LSR   A
7E5D   CLC
7E5E   DEX
7E5F   BNE   loc_7E5C
7E61   STA   byte_AE
7E63   LDA   byte_AF
7E65   CLC
7E66   ADC   byte_AA
7E68   TAX
7E69
7E69 loc_7E69:                     ; ...
7E69   LDA   unk_FF00,X
7E6C   AND   byte_AE
7E6E
7E6E loc_7E6E:                     ; ...
7E6E   STA   byte_BC00,Y
7E71   INX
7E72   INY
7E73
7E73 loc_7E73:                     ; ...
7E73   CPY   #$FF
7E75   BNE   loc_7E69
7E77
7E77 loc_7E77:                     ; ...
7E77   INC   byte_AB
7E79   LDA   byte_AB
7E7B   CMP   #9
7E7D   BNE   locret_7E86
7E7F   LDA   #0
7E81   STA   byte_AB
7E83   JMP   C1_255
7E86 ; ---------------------------------------------------------------------------
7E86
7E86 locret_7E86:                  ; ...
7E86   RTS
7E86 ; End of function v12
7E86
7E87
7E87 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7E87
7E87
7E87 sub_7E87:                     ; ...
7E87   LDA   #1
7E89   STA   byte_AB
7E8B   LDA   #6
7E8D   STA   byte_A9
7E8F   LDA   #$B
7E91   STA   byte_C1
7E93
7E93 loc_7E93:                     ; ...
7E93   LDA   byte_AB
7E95   BNE   loc_7E93
7E97   JMP   C1_255
7E97 ; End of function sub_7E87
7E97
7E97 ; ---------------------------------------------------------------------------
7E9A   .BYTE   0
7E9B   .BYTE   0
7E9C   .BYTE $10
7E9D   .BYTE   0
7E9E   .BYTE $44 ; D
7E9F   .BYTE $28 ; (
7EA0   .BYTE $92 ; Æ
7EA1   .BYTE $28 ; (
7EA2   .BYTE $44 ; D
7EA3   .BYTE   0
7EA4   .BYTE $10
7EA5   .BYTE   0
7EA6
7EA6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7EA6
7EA6
7EA6 roundEventRadiation:
7EA6   LDA   #45
7EA8   JSR   random_0_A            ; input
7EA8                               ; A: borne supérieure
7EA8                               ; output
7EA8                               ; A: un nombre aléatoire [0; A[
7EA8                               ;
7EA8                               ; calcul un nombre aléatoire entre 0 et A
7EAB   STA   byte_CB
7EAD   TAX
7EAE
7EAE loc_7EAE:                     ; ...
7EAE   LDA   plotsExp,X            ; // tire une case au hasard avec une mule
7EAE                               ; // d'un joueur en position 1 ou 2
7EB1   BEQ   loc_7EC0
7EB3   LDA   plotsPlayer,X
7EB6   CMP   ordersPlayer+3
7EB9   BEQ   loc_7EC0
7EBB   CMP   ordersPlayer+2
7EBE   BNE   loc_7ECC
7EC0
7EC0 loc_7EC0:                     ; ...
7EC0   DEX
7EC1   BPL   loc_7EC5
7EC3   LDX   #44
7EC5
7EC5 loc_7EC5:                     ; ...
7EC5   CPX   byte_CB
7EC7   BNE   loc_7EAE
7EC9   JMP   animMapProd           ; // ne rien faire si aucune case valide
7ECC ; ---------------------------------------------------------------------------
7ECC
7ECC loc_7ECC:                     ; ...
7ECC   STX   byte_CB
7ECE   LDA   #$6B                  ; // _RADIATION
7ED0   LDY   #$40
7ED2   JSR   printTitle
7ED5   JSR   prepareStaticMessage
7ED8   LDA   #$75                  ; // __MULE_GOES_CRAZY!
7EDA   LDY   #$40
7EDC   JSR   addMessage            ; Y/A: High/Low address
7EDF   LDA   #$9A
7EE1   STA   byte_D4
7EE3   LDA   #$7E
7EE5   STA   byte_D5
7EE7   LDA   #$28
7EE9   STA   byte_88
7EEB   LDA   #$8C
7EED   STA   OS_PCOLR0
7EF0   LDA   byte_CB
7EF2   JSR   sub_48A6
7EF5   TYA
7EF6   CLC
7EF7   ADC   #9
7EF9   STA   byte_43
7EFB   STA   byte_81
7EFD   TXA
7EFE   CLC
7EFF   ADC   #5
7F01   STA   byte_44
7F03   STA   byte_82
7F05   LDA   #0
7F07   STA   byte_80
7F09
7F09 loc_7F09:                     ; ...
7F09   LDA   #0
7F0B   JSR   sub_12CA
7F0E   LDA   OS_SKREST_RANDOM
7F11   AND   #$F
7F13   SEC
7F14   SBC   #7
7F16   CLC
7F17   ADC   byte_81
7F19   STA   byte_43
7F1B   LDA   OS_SKREST_RANDOM
7F1E   AND   #7
7F20   SEC
7F21   SBC   #4
7F23   CLC
7F24   ADC   byte_82
7F26   STA   byte_9F
7F28   STA   OS_HPOSP0_M0PF
7F2B   STA   byte_44
7F2D   LDA   byte_80
7F2F   EOR   #1
7F31   STA   byte_80
7F33   BEQ   loc_7F3C
7F35   LDA   #$BE
7F37   STA   byte_45
7F39   JMP   loc_7F40
7F3C ; ---------------------------------------------------------------------------
7F3C
7F3C loc_7F3C:                     ; ...
7F3C   LDA   #$A
7F3E   STA   byte_45
7F40
7F40 loc_7F40:                     ; ...
7F40   LDA   OS_SKREST_RANDOM
7F43   STA   byte_46
7F45   JSR   sub_3974
7F48   LDA   #$14
7F4A   JSR   random_0_A            ; input
7F4A                               ; A: borne supérieure
7F4A                               ; output
7F4A                               ; A: un nombre aléatoire [0; A[
7F4A                               ;
7F4A                               ; calcul un nombre aléatoire entre 0 et A
7F4D   STA   byte_49
7F4F   LDA   #$EC
7F51   STA   OS_AUDC1_POT2
7F54   STA   byte_83
7F56   LDA   #0
7F58   STA   OS_AUDF1_POT1
7F5B   STA   byte_84
7F5D
7F5D loc_7F5D:                     ; ...
7F5D   LDA   byte_49
7F5F   BNE   loc_7F79
7F61   STA   OS_HPOSP0_M0PF
7F64   STA   OS_AUDF1_POT1
7F67   STA   OS_AUDC1_POT2
7F6A   LDA   #1
7F6C   JSR   waitJiffy             ; input
7F6C                               ; A: temps à attendre en jiffy (1/60 seconds)
7F6F   DEC   byte_88
7F71   BNE   loc_7F09
7F73   JSR   sub_7FC6              ; // enlever un food
7F76   JMP   animMapProd
7F79 ; ---------------------------------------------------------------------------
7F79
7F79 loc_7F79:                     ; ...
7F79   JSR   sub_7F98
7F7C   JSR   sub_7FBB
7F7F   INC   byte_84
7F81   LDA   byte_84
7F83   STA   OS_AUDF1_POT1
7F86   DEC   byte_83
7F88   LDA   byte_83
7F8A   CMP   #$A0
7F8C   BCS   loc_7F92
7F8E   LDA   #$EC
7F90   STA   byte_83
7F92
7F92 loc_7F92:                     ; ...
7F92   STA   OS_AUDC1_POT2
7F95   JMP   loc_7F5D
7F95 ; End of function roundEventRadiation
7F95
7F98
7F98 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7F98
7F98
7F98 sub_7F98:                     ; ...
7F98   LDA   byte_49
7F9A   BNE   loc_7F9D
7F9C   RTS
7F9D ; ---------------------------------------------------------------------------
7F9D
7F9D loc_7F9D:                     ; ...
7F9D   LDY   byte_A3
7F9F   LDA   #0
7FA1   STA   byte_AA
7FA3   JSR   sub_12CA
7FA6   LDA   byte_44
7FA8   STA   byte_9F
7FAA   STA   OS_HPOSP0_M0PF
7FAD   LDY   byte_43
7FAF   STY   byte_A3
7FB1   LDX   #$C
7FB3   LDA   #0
7FB5   JSR   sub_5370
7FB8   JMP   loc_39C0
7FB8 ; End of function sub_7F98
7FB8
7FBB
7FBB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7FBB
7FBB
7FBB sub_7FBB:                     ; ...
7FBB   LDX   #$18
7FBD
7FBD loc_7FBD:                     ; ...
7FBD   LDY   #$10
7FBF
7FBF loc_7FBF:                     ; ...
7FBF   DEY
7FC0   BNE   loc_7FBF
7FC2   DEX
7FC3   BNE   loc_7FBD
7FC5   RTS
7FC5 ; End of function sub_7FBB
7FC5
7FC6
7FC6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7FC6
7FC6
7FC6 sub_7FC6:                     ; ...
7FC6   LDX   byte_CB               ; // perte d'une mule d'une exp
7FC8   LDA   #0
7FCA   STA   plotsExp,X            ; MAP_EXP [X] = 0
7FCD   LDY   plotsPlayer,X
7FD0   LDA   playersColor,Y
7FD3   STA   OS_PCOLR1
7FD6   JSR   drawCell              ; input
7FD6                               ; X: plot
7FD9   LDA   byte_CB
7FDB   JSR   sub_48A6
7FDE   TXA
7FDF   CLC
7FE0   ADC   #5
7FE2   STA   byte_A0
7FE4   TYA
7FE5   CLC
7FE6   ADC   #9
7FE8   STA   byte_A4
7FEA   JSR   loc_6C9B
7FED   JSR   sub_4C61
7FF0   JMP   sub_136D
7FF0 ; End of function sub_7FC6
7FF0
7FF3
7FF3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
7FF3
7FF3
7FF3 roundEventFireInStore:
7FF3   JSR   animMapProd
7FF6   LDA   #$AB                  ; // FIRE_IN_STORE
7FF8   LDY   #$40
7FFA   JSR   printTitle
7FFD   JSR   prepareStaticMessage
8000   LDA   #$B8                  ; // __ALL_THE_STOCK_IN
8000                               ; // _THE_STORE_IS_LOST!
8002   LDY   #$40
8004   JSR   addMessage            ; Y/A: High/Low address
8007   LDA   #0
8009   STA   goodsStoreNb          ; GOODS_STOCK_NB [FOOD] = 0
800C   STA   goodsStoreNb+1        ; GOODS_STOCK_NB [ENERGY] = 0
800F   STA   goodsStoreNb+2        ; GOODS_STOCK_NB [SMITHORE] = 0
8012   JSR   sub_4C61
8015   LDA   #0
8017   STA   byte_AA
8019   LDA   #0
801B   STA   OS_SIZEP0_M0PL
801E   STA   OS_SIZEP1
8021   LDA   #2
8023   STA   byte_A9
8025   STA   byte_D8
8027   LDA   #$10
8029   STA   byte_D6
802B   LDA   #$69
802D   STA   byte_A3
802F   STA   byte_A4
8031   LDA   #$7A
8033   STA   byte_9F
8035   STA   byte_A0
8037   LDA   #$44
8039   STA   OS_PCOLR0
803C   LDA   #$18
803E   STA   OS_PCOLR1
8041   LDA   #$82
8043   STA   byte_D4
8045   LDA   #$80
8047   STA   byte_D5
8049   LDA   #$C
804B   STA   byte_C1
804D   JSR   sub_1363
8050   LDX   #4
8052
8052 loc_8052:                     ; ...
8052   LDA   #$A4
8054   STA   OS_AUDC1_POT2
8057   LDA   #$3C
8059   STA   OS_AUDF1_POT1
805C   LDA   #$1E
805E   JSR   waitJiffy             ; input
805E                               ; A: temps à attendre en jiffy (1/60 seconds)
8061   LDA   #$79
8063   STA   OS_AUDF1_POT1
8066   LDA   #$1E
8068   JSR   waitJiffy             ; input
8068                               ; A: temps à attendre en jiffy (1/60 seconds)
806B   DEX
806C   BNE   loc_8052
806E   JSR   sub_136D
8071   LDA   #$FF
8073   JSR   waitJiffy             ; input
8073                               ; A: temps à attendre en jiffy (1/60 seconds)
8076   JSR   waitJiffyLevel
8079   JSR   C1_255
807C   JSR   sub_4C61
807F   JMP   sub_4B89
807F ; End of function roundEventFireInStore
807F
807F ; ---------------------------------------------------------------------------
8082   .BYTE   0
8083   .BYTE $10
8084   .BYTE   8
8085   .BYTE $20
8086   .BYTE $14
8087   .BYTE $14
8088   .BYTE $15
8089   .BYTE $57 ; W
808A   .BYTE $75 ; u
808B   .BYTE $D9 ; +
808C   .BYTE $9B ; ø
808D   .BYTE $BA ; ¦
808E   .BYTE $FF
808F   .BYTE $FF
8090   .BYTE $7E ; ~
8091   .BYTE $7E ; ~
8092
8092 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8092
8092
8092 v13:
8092   DEC   byte_A9
8094   BEQ   loc_8097
8096   RTS
8097 ; ---------------------------------------------------------------------------
8097
8097 loc_8097:                     ; ...
8097   LDA   #3
8099   STA   byte_A9
809B   LDA   #1
809D   STA   byte_D9
809F
809F loc_809F:                     ; ...
809F   LDX   byte_D9
80A1   LDA   OS_SKREST_RANDOM
80A4   AND   #1
80A6   CLC
80A7   ADC   $9F,X
80A9   STA   OS_HPOSP0_M0PF,X
80AC   TXA
80AD   LDY   $A3,X
80AF   JSR   sub_7C71
80B2   DEC   byte_D9
80B4   BPL   loc_809F
80B6   RTS
80B6 ; End of function v13
80B6
80B7
80B7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
80B7
80B7
80B7 v15:
80B7   LDA   byte_24A6
80BA   BEQ   loc_80BF
80BC   JSR   v03
80BF
80BF loc_80BF:                     ; ...
80BF   LDX   byte_D9
80C1   BEQ   loc_80CA
80C3   DEX
80C4   STX   byte_D9
80C6   STX   OS_HSCROL
80C9   RTS
80CA ; ---------------------------------------------------------------------------
80CA
80CA loc_80CA:                     ; ...
80CA   LDY   #0
80CC   LDA   ($D4),Y
80CE   CLC
80CF   ADC   #1
80D1   STA   ($D4),Y
80D3   TAX
80D4   LDA   byte_B700,X
80D7   CMP   #$80
80D9   BNE   loc_80E2
80DB   INC   byte_B33D
80DE   LDA   #0
80E0   STA   ($D4),Y
80E2
80E2 loc_80E2:                     ; ...
80E2   LDX   #7
80E4   STX   byte_D9
80E6   STX   OS_HSCROL
80E9   RTS
80E9 ; End of function v15
80E9
80EA
80EA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
80EA
80EA
80EA addMessageStart:              ; ...
80EA   LDA   #1
80EC   STA   byte_90               ; byte_90 = 1
80EE   LDA   #0                    ; A = 0
80F0   TAY                         ; Y = 0
80F1
80F1 loc_80F1:                     ; ...
80F1   STA   byte_B700,Y           ; // effacer byte_B700 [256]
80F1                               ; byte_B700 = 0
80F4   INY
80F5   BNE   loc_80F1
80F7   LDA   #0
80F9   STA   (byte_D4),Y
80FB   INY
80FC   STA   byte_5C
80FE   LDA   #$B7
8100   STA   byte_5D               ; byte_5D/byte_5C = $B700
8102   STA   (byte_D4),Y           ; (byte_D4) [1]/(byte_D4) [0] = $B700
8104   LDA   #$14
8106   STA   byte_55               ; byte_55 = $14
8108   LDA   #$75                  ; // __***__
810A   LDY   #$89
810C   JMP   addMessage            ; Y/A: High/Low address
810C ; End of function addMessageStart
810C
810F
810F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
810F
810F
810F addMessageEnd:                ; ...
810F   LDA   #$75                  ; // __***__
8111   LDY   #$89
8113   JSR   addMessage            ; Y/A: High/Low address
8116   INC   byte_55
8118   LDA   #$80
811A   LDY   byte_55
811C   STA   (byte_5C),Y
811E   LDA   #0
8120   STA   byte_D9
8122   STA   OS_HSCROL
8125   LDA   #2
8127   STA   byte_A9
8129   LDA   #$E
812B   STA   byte_C1
812D   INC   byte_B33D
8130   RTS
8130 ; End of function addMessageEnd
8130
8131
8131 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8131
8131
8131 playerEvent:                  ; ...
8131
8131 ; FUNCTION CHUNK AT 82BC SIZE 00000006 BYTES
8131
8131   JSR   moveWampus
8134   LDA   #80
8136   JSR   random_0_A            ; A = random [0;79]
8139   CMP   #22
813B   BCC   loc_813E              ; if (A >= 22)
813D   RTS                         ;   return
813E ; ---------------------------------------------------------------------------
813E
813E loc_813E:                     ; ...
813E   STA   byte_BC               ; // ici A = random [0; 21]
813E                               ; byte_BC = A
8140   TAX                         ; X = A
8141   JSR   C1_255
8144   LDA   #20
8146   STA   byte_8B               ; byte_8B = 20
8148
8148 loc_8148:                     ; ...
8148   LDA   turnEventsHappened,X  ; do {
814B   BEQ   playerEventValid      ;   if (EVENTS_PLAYER_HAPPENED [X] == 0) {
814B                               ;     goto playerEventValid
814B                               ;   }
814D
814D lookForAnOtherPlayerEventX:   ; ...
814D   DEX                         ;   X --
814E   BPL   loc_8152              ;   if (X < 0) {
8150   LDX   #21                   ;     X = 21 // boucler
8150                               ;   }
8152
8152 loc_8152:                     ; ...
8152   DEC   byte_8B               ;   byte_8B --
8154   BEQ   noEvent               ;   if (byte_8B == 0) {
8154                               ;     goto noEvent
8154                               ;   }
8156   BNE   loc_8148              ; } while (byte_8B != 0)
8158
8158 playerEventValid:             ; ...
8158   LDA   turnEventsQuality,X
815B   BPL   loc_816B              ; if (EVENTS_PLAYER_QUALITY [X] < 0) {
815D   LDA   currentPlayer         ;   // MALUS
815F   CMP   ordersPlayer+3
8162   BEQ   lookForAnOtherPlayerEventX ;   if (CURRENT_PLAYER == dernier) {
8162                               ;     goto lookForAnOtherPlayerEventX
8162                               ;   }
8164   CMP   ordersPlayer+2
8167   BEQ   lookForAnOtherPlayerEventX ;   if (CURRENT_PLAYER == avant_dernier) {
8167                               ;     goto lookForAnOtherPlayerEventX
8167                               ;   }
8169   BNE   loc_8172              ; }
8169                               ; else {
816B
816B loc_816B:                     ; ...
816B   LDA   currentPlayer         ;   // BONUS
816D   CMP   ordersPlayer
8170   BEQ   lookForAnOtherPlayerEventX ;   if (CURRENT_PLAYER == premier) {
8170                               ;     goto lookForAnOtherPlayerEventX
8170                               ;   }
8170                               ; }
8172
8172 loc_8172:                     ; ...
8172   STX   byte_BC               ; byte_BC = X // byte_BC = player event
8174   LDY   currentPlayer
8176   LDA   playersColor,Y
8179   STA   byte_2DF1
817C   LDA   #$96
817E   STA   byte_D4
8180   LDA   #$1E
8182   STA   byte_D5
8184   LDA   byte_BC
8186   BNE   loc_81A4              ; if (byte_BC == 0) {
8188
8188 playerEvent3F2E:              ; ...
8188   LDY   currentPlayer         ;   // 00 + YOU_JUST_RECEIVED_A_PACKAGE_FROM_YOUR_HOME-WORLD_RELATIVES_CONTAINING_3_FOOD_AND_2_ENERGY_UNITS.
818A   LDA   goodsPlayersNb,Y
818D   CLC
818E   ADC   #3
8190   STA   goodsPlayersNb,Y      ;   GOODS_PLAYERS_NB [FOOD] [CURRENT_PLAYER] += 3
8193   LDA   goodsPlayersNb+4,Y
8196   CLC
8197   ADC   #2
8199   STA   goodsPlayersNb+4,Y    ;   GOODS_PLAYERS_NB [ENERGY] [CURRENT_PLAYER] += 2
819C   LDA   #0
819E   STA   byte_BC               ;   byte_BC = 0
81A0   JMP   addPlayerEventTotalMessage ;   goto addPlayerEventTotalMessage
81A3 ; ---------------------------------------------------------------------------
81A3
81A3 noEvent:                      ; ...
81A3   RTS                         ; }
81A4 ; ---------------------------------------------------------------------------
81A4
81A4 loc_81A4:                     ; ...
81A4   LDY   currentPlayer         ; else { // si byte_BC != 0
81A6   CPY   ordersPlayer
81A9   BEQ   loc_81B0              ;   // si joueur n'est pas premier et il a 0 food
81A9                               ;   if (CURRENT_PLAYER != premier) {
81AB   LDA   goodsPlayersNb,Y
81AE   BEQ   playerEvent3F2E       ;     if (GOODS_PLAYERS_NB [FOOD] [CURRENT_PLAYER] == 0) {
81AE                               ;       goto playerEvent3F2E
81AE                               ;     }
81AE                               ;   }
81AE                               ; }
81B0
81B0 loc_81B0:                     ; ...
81B0   LDA   byte_BC
81B2   CMP   #1
81B4   BNE   loc_81C2              ; if (byte_BC == 1) {
81B6   LDA   goodsPlayersNb+8,Y    ;   // 01 + A_WANDERING_SPACE_TRAVELER_REPAID_YOUR_HOSPITALITY_BY_LEAVING_TWO_BARS_OF_SMITHORE.
81B9   CLC
81BA   ADC   #2
81BC   STA   goodsPlayersNb+8,Y    ;   GOODS_PLAYERS_NB [SMYTHORE] [CURRENT_PLAYER] += 2
81BF   JMP   addPlayerEventTotalMessage ;   goto addPlayerEventTotalMessage
81BF                               ; }
81C2 ; ---------------------------------------------------------------------------
81C2
81C2 loc_81C2:                     ; ...
81C2   CMP   #2
81C4   BNE   loc_81D0              ; if (byte_BC == 2) {
81C6   LDA   goodsPlayersNb,Y      ;   // 02 - MISCHIEVOUS_GLAC-ELVES_BROKE_INTO_YOUR_STORAGE_SHED_AND_STOLE_HALF_YOUR_FOOD.
81C9   LSR   A
81CA   STA   goodsPlayersNb,Y      ;   GOODS_PLAYERS_NB [FOOD] [CURRENT_PLAYER] /= 2
81CD   JMP   addPlayerEventTotalMessage ;   goto addPlayerEventTotalMessage
81CD                               ; }
81D0 ; ---------------------------------------------------------------------------
81D0
81D0 loc_81D0:                     ; ...
81D0   CMP   #6
81D2   BCS   loc_81DE              ; if (byte_BC < 6) {
81D4   LDA   playersNbExps,Y       ;   // 03 + YOUR_MULE_WAS_JUDGED_"BEST_BUILT"_AT_THE_COLONY_FAIR.__YOU_WON_$?.
81D4                               ;   // 04 - ONE_OF_YOUR_MULES_LOST_A_BOLT.__REPAIRS_COST_YOU_$?.
81D4                               ;   // 05 + YOUR_MULE_WON_THE_COLONY_TAP-DANCING_CONTEST.__YOU_COLLECTED_$?.
81D4                               ;
81D7   BNE   doQualityPlayerEvent  ;   if (PLAYERS_NB_EXP [CURRENT_PLAYER] != 0) {
81D7                               ;     goto doQualityPlayerEvent
81D7                               ;   }
81D9
81D9 lookForAnOtherPlayerEvent:    ; ...
81D9   LDX   byte_BC               ;   X = byte_BC
81DB   JMP   lookForAnOtherPlayerEventX ;   goto lookForAnOtherPlayerEventX
81DB                               ; }
81DE ; ---------------------------------------------------------------------------
81DE
81DE loc_81DE:                     ; ...
81DE   BNE   loc_81EC              ; if (byte_BC == 6) {
81E0   LDA   expsPlayersNb+8,Y     ;   // 06 - YOUR_MINING_MULES_HAVE_DETERIORATED_FROM_HEAVY_USE_AND_COST_$?_EACH_TO_REPAIR.__THE_TOTAL_COST_IS_$?.
81E3   CLC
81E4   ADC   expsPlayersNb+$C,Y    ;   A = EXPS_PLAYERS_NB [SMITHORE] [CURRENT_PLAYER] +
81E4                               ;       EXPS_PLAYERS_NB [CRYSTITE] [CURRENT_PLAYER]
81E7   BEQ   lookForAnOtherPlayerEvent ;   if (A == 0) {
81E7                               ;     goto lookForAnOtherPlayerEvent
81E7                               ;   }
81E9   JMP   doVarQualityPlayerEvent ;   goto doVarQualityPlayerEvent
81E9                               ; }
81EC ; ---------------------------------------------------------------------------
81EC
81EC loc_81EC:                     ; ...
81EC   CMP   #7                    ; if (byte_BC == 7) {
81EE   BNE   loc_81F8              ;   // 07 - THE_SOLAR_COLLECTORS_ON_YOUR_ENERGY_MULES_ARE_DIRTY.__CLEANING_COST_YOU_$?_EACH_FOR_A_TOTAL_OF_$?.
81F0   LDA   expsPlayersNb+4,Y     ;   A = EXPS_PLAYERS_NB [ENERGY] [CURRENT_PLAYER]
81F3   BEQ   lookForAnOtherPlayerEvent ;   if (A == 0) {
81F3                               ;     goto lookForAnOtherPlayerEvent
81F5   JMP   doVarQualityPlayerEvent ;   goto doVarQualityPlayerEvent
81F5                               ; }
81F8 ; ---------------------------------------------------------------------------
81F8
81F8 loc_81F8:                     ; ...
81F8   CMP   #8                    ; if (byte_BC == 8) {
81FA   BNE   doQualityPlayerEvent  ;   // 08 + THE_COLONY_COUNCIL_FOR_AGRICULTURE_AWARDED_YOU_$?_FOR_EACH_FOOD_PLOT_YOU_HAVE_DEVELOPED.__THE_TOTAL_GRANT_IS_$?.
81FC   LDA   expsPlayersNb,Y       ;   A = EXPS_PLAYERS_NB [FOOD] [CURRENT_PLAYER]
81FF   BEQ   lookForAnOtherPlayerEvent ;   if (A == 0) {
81FF                               ;     goto lookForAnOtherPlayerEvent
8201   JMP   doVarQualityPlayerEvent ;   goto doVarQualityPlayerEvent
8201                               ; }
8204 ; ---------------------------------------------------------------------------
8204
8204 doQualityPlayerEvent:         ; ...
8204   CMP   #20                   ; if (byte_BC < 20) {
8204                               ;   // 09 ... 19
8206   BCS   loc_8214
8208   JSR   calcCashQualityPlayerEvent ; input
8208                               ; byte_BC: player event
8208                               ; output
8208                               ; Y/A, byte_9B/byte_84 = EVENTS_PLAYER_QUALITY * 25 *
8208                               ;                        (GAME_NUM_ROUND/4 + 1)
820B   JSR   updateCashPlayerEvent ; input
820B                               ; A: EVENTS_PLAYER_QUALITY
820B                               ; byte_9B/byte84: montant
820B                               ;
820B                               ; PLAYERS_CASH +/-= byte_9B/byte84
820B                               ; avec PLAYERS_CASH > 0
820B                               ; si A <  0 alors PAYER
820B                               ; si A >= 0 alors DONNER
820E   JSR   addPlayerEventPartialMessage
8211   JMP   addMessageEnd         ; }
8214 ; ---------------------------------------------------------------------------
8214
8214 loc_8214:                     ; ...
8214   BNE   loc_8239              ; if (byte_BC == 20) {
8216   LDA   playersNbExps,Y       ;   // 20 - YOU_LOST_A_PLOT_OF_LAND_BECAUSE_THE_CLAIM_WAS_NOT_RECORDED.
8219   BEQ   lookForAnOtherPlayerEvent ;   if (PLAYERS_NB_EXP [CURRENT_PLAYER] == 0) {
8219                               ;     goto lookForAnOtherPlayerEvent
8219                               ;   }
821B   LDX   #44                   ;   // recherche d'une parcelle en partant de la fin
821B                               ;   X = 44
821D
821D loc_821D:                     ; ...
821D   LDA   plotsPlayer,X         ;   do {
8220   CMP   currentPlayer
8222   BEQ   loc_8229              ;     if (MAP_PLAYERS [X] == CURRENT_PLAYER) {
8222                               ;       break
8222                               ;     }
8222                               ;
8224   DEX                         ;     X --
8225   BPL   loc_821D              ;   } while (X >= 0)
8227   BMI   lookForAnOtherPlayerEvent ;   if (X < 0) {
8227                               ;     goto lookForAnOtherPlayerEvent
8227                               ;   }
8229
8229 loc_8229:                     ; ...
8229   LDA   #0
822B   STA   plotsExp,X            ;   MAP_EXP [X] = 0
822B                               ;
822E   LDA   #-1
8230   STA   plotsPlayer,X         ;   MAP_PLAYERS [X] = -1
8233   JSR   drawEmptyCell
8236   JMP   addPlayerEventTotalMessage ;   goto addPlayerEventTotalMessage
8236                               ; }
8239 ; ---------------------------------------------------------------------------
8239
8239 loc_8239:                     ; ...
8239   JSR   randomFreePlot        ; // byte_BC == 21
823C   BMI   lookForAnOtherPlayerEvent ; if (A =< 0) {
823C                               ;   lookForAnOtherPlayerEvent
823C                               ; }
823E   LDX   byte_CB
8240   LDA   currentPlayer
8242   STA   plotsPlayer,X         ; MAP_PLAYERS [X] = CURRENT_PLAYER
8245   JSR   drawCell              ; input
8245                               ; X: plot
8248   JMP   addPlayerEventTotalMessage
8248 ; End of function playerEvent
8248
824B
824B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
824B
824B ; input
824B ; A: EVENTS_PLAYER_QUALITY
824B ; byte_9B/byte84: montant
824B ;
824B ; PLAYERS_CASH +/-= byte_9B/byte84
824B ; avec PLAYERS_CASH > 0
824B ; si A <  0 alors PAYER
824B ; si A >= 0 alors DONNER
824B
824B updateCashPlayerEvent:        ; ...
824B   BPL   loc_826E              ; if (A < 0) {
824D   LDA   currentPlayer
824F   ASL   A
8250   TAY
8251   LDA   playersCash,Y
8254   SEC
8255   SBC   byte_84
8257   STA   byte_82
8259   INY
825A   LDA   playersCash,Y
825D   SBC   byte_9B
825F   BCS   loc_8264
8261   PLA
8262   PLA
8263   RTS
8264 ; ---------------------------------------------------------------------------
8264
8264 loc_8264:                     ; ...
8264   STA   playersCash,Y
8267   DEY
8268   LDA   byte_82
826A   STA   playersCash,Y         ;   PLAYERS_CASH -= byte_9B/byte84
826D   RTS                         ; }
826D                               ; else {
826E ; ---------------------------------------------------------------------------
826E
826E loc_826E:                     ; ...
826E   LDA   currentPlayer
8270   ASL   A
8271   TAY
8272   LDA   playersCash,Y
8275   CLC
8276   ADC   byte_84
8278   STA   playersCash,Y
827B   INY
827C   LDA   playersCash,Y
827F   ADC   byte_9B
8281   STA   playersCash,Y         ;   PLAYERS_CASH += byte_9B/byte84
8284   RTS                         ; }
8284 ; End of function updateCashPlayerEvent
8284
8285
8285 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8285
8285 ; input
8285 ; byte_BC: player event
8285 ; output
8285 ; Y/A, byte_9B/byte_84 = EVENTS_PLAYER_QUALITY * 25 *
8285 ;                        (GAME_NUM_ROUND/4 + 1)
8285
8285 calcCashQualityPlayerEvent:   ; ...
8285   LDY   byte_BC
8287   LDA   turnEventsQuality,Y   ; A = EVENTS_PLAYER_QUALITY [byte_BC]
828A   PHP
828B   BPL   loc_8292              ; if (A < 0) {
828D   EOR   #11111111b
828F   CLC
8290   ADC   #1                    ;   A = -A
8290                               ; }
8292
8292 loc_8292:                     ; ...
8292   LDY   #25
8294   JSR   mul8BitsBy8Bits       ; Y/A = A * 25
8297   TAY                         ; Y = A
8298   LDA   numRound
829A   LSR   A
829B   LSR   A
829C   CLC
829D   ADC   #1                    ; A = (GAME_NUM_ROUND / 4) + 1
829F   JSR   mul8BitsBy8Bits       ; Y/A = A * (GAME_NUM_ROUND/4 + 1)
82A2   STA   byte_84
82A4   STY   byte_9B               ; byte_9B/byte_84 = Y/A
82A4                               ; // au final: Y/A = A  * 25 * (GAME_NUM_ROUND/4 + 1)
82A6   PLP
82A7   RTS
82A7 ; End of function calcCashQualityPlayerEvent
82A7
82A8
82A8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
82A8
82A8
82A8 addPlayerEventMessage:        ; ...
82A8   JSR   addMessageStart
82AB   LDX   byte_BC               ; // player event
82AD   INC   turnEventsHappened,X  ; EVENTS_PLAYER_HAPPENED [X] ++
82B0   LDA   EVENTS_PLAYER_TEXT_ADDR_L,X
82B3   LDY   EVENTS_PLAYER_TEXT_ADDR_H,X
82B6   JSR   addMessage            ; Y/A: High/Low address
82B9   JMP   soundPlayerEvent
82B9 ; End of function addPlayerEventMessage
82B9
82BC ; ---------------------------------------------------------------------------
82BC ; START OF FUNCTION CHUNK FOR playerEvent
82BC
82BC addPlayerEventTotalMessage:   ; ...
82BC   JSR   addPlayerEventMessage
82BF   JMP   addMessageEnd
82BF ; END OF FUNCTION CHUNK FOR playerEvent
82C2
82C2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
82C2
82C2
82C2 addPlayerEventPartialMessage: ; ...
82C2   JSR   addPlayerEventMessage
82C2 ; End of function addPlayerEventPartialMessage
82C2
82C5
82C5 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
82C5
82C5
82C5 addNumberToMessage:           ; ...
82C5   LDA   byte_80
82C7   PHA
82C8   LDA   byte_81
82CA   PHA
82CB   LDX   byte_84
82CD   LDA   byte_9B
82CF   JSR   decodeNumberToMessage ; input
82CF                               ; A/X: nombre 16 bits
82D2   PLA
82D3   STA   byte_81
82D5   PLA
82D6   STA   byte_80
82D8   JMP   addToMessage2         ; byte_81/byte_80: High/Low address
82D8 ; End of function addNumberToMessage
82D8
82DB
82DB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
82DB
82DB ; input
82DB ; A: nombre d'elements
82DB ; byte_BC: player event
82DB ; output
82DB ;
82DB
82DB doVarQualityPlayerEvent:      ; ...
82DB   PHA
82DC   JSR   calcCashQualityPlayerEvent ; input
82DC                               ; byte_BC: player event
82DC                               ; output
82DC                               ; Y/A, byte_9B/byte_84 = EVENTS_PLAYER_QUALITY * 25 *
82DC                               ;                        (GAME_NUM_ROUND/4 + 1)
82DF   TAY
82E0   PLA
82E1   JSR   mul8BitsBy8Bits       ; input
82E1                               ; A: left operand
82E1                               ; Y: right operand
82E1                               ; output
82E1                               ; Y/A, byte_81/byte_82: A * Y
82E4   STA   byte_84
82E6   STY   byte_9B               ; byte_9B/byte_84 *= A // multiplié par le nombre d'élément
82E8   LDY   byte_BC
82EA   LDA   turnEventsQuality,Y   ; A = EVENTS_PLAYER_QUALITY [byte_BC]
82ED   JSR   updateCashPlayerEvent ; input
82ED                               ; A: EVENTS_PLAYER_QUALITY
82ED                               ; byte_9B/byte84: montant
82ED                               ;
82ED                               ; PLAYERS_CASH +/-= byte_9B/byte84
82ED                               ; avec PLAYERS_CASH > 0
82ED                               ; si A <  0 alors PAYER
82ED                               ; si A >= 0 alors DONNER
82F0   LDA   byte_84
82F2   PHA
82F3   LDA   byte_9B
82F5   PHA
82F6   JSR   calcCashQualityPlayerEvent ; input
82F6                               ; byte_BC: player event
82F6                               ; output
82F6                               ; Y/A, byte_9B/byte_84 = EVENTS_PLAYER_QUALITY * 25 *
82F6                               ;                        (GAME_NUM_ROUND/4 + 1)
82F9   JSR   addPlayerEventPartialMessage
82FC   PLA
82FD   STA   byte_9B
82FF   PLA
8300   STA   byte_84
8302   JSR   addNumberToMessage
8305   JMP   addMessageEnd
8305 ; End of function doVarQualityPlayerEvent
8305
8305 ; ---------------------------------------------------------------------------
8308 EVENTS_PLAYER_TEXT_ADDR_L:.BYTE $4A, $AA, $FD, $4A, $8B, $BE, $FD, $60, $C0, $2E, $6E, $A5, $E9 ; ...
8308   .BYTE $24, $69, $BE, $F1, $40, $7D, $B0, $F7, $32
831E EVENTS_PLAYER_TEXT_ADDR_H:.BYTE $83, $83, $83, $84, $84, $84, $84, $85, $85, $86, $86, $86, $86 ; ...
831E   .BYTE $87, $87, $87, $87, $88, $88, $88, $88, $89
8334 turnEventsQuality:.BYTE 1, 1, -1, 2, -3, 4, -2, -1, 2, 4, 8, 2, 3, 6, 4, 2, -6, -4, -4 ; ...
8334   .BYTE -4, -1, 1
834A   .BYTE $D9, $CF, $D5, $A0, $CA, $D5, $D3, $D4, $A0, $D2, $C5, $C3, $C5 ; 00 + YOU_JUST_RECEIVED_A_PACKAGE_FROM_YOUR_HOME-WORLD_RELATIVES_CONTAINING_3_FOOD_AND_2_ENERGY_UNITS.
834A   .BYTE $C9, $D6, $C5, $C4, $A0, $C1, $A0, $D0, $C1, $C3, $CB, $C1, $C7
834A   .BYTE $C5, $A0, $C6, $D2, $CF, $CD, $A0, $D9, $CF, $D5, $D2, $A0, $C8
834A   .BYTE $CF, $CD, $C5, $AD, $D7, $CF, $D2, $CC, $C4, $A0, $D2, $C5, $CC
834A   .BYTE $C1, $D4, $C9, $D6, $C5, $D3, $A0, $C3, $CF, $CE, $D4, $C1, $C9
834A   .BYTE $CE, $C9, $CE, $C7, $A0, $B3, $A0, $C6, $CF, $CF, $C4, $A0, $C1
834A   .BYTE $CE, $C4, $A0, $B2, $A0, $C5, $CE, $C5, $D2, $C7, $D9, $A0, $D5
834A   .BYTE $CE, $C9, $D4, $D3, $2E
83AA   .BYTE $C1, $A0, $D7, $C1, $CE, $C4, $C5, $D2, $C9, $CE, $C7, $A0, $D3 ; 01 + A_WANDERING_SPACE_TRAVELER_REPAID_YOUR_HOSPITALITY_BY_LEAVING_TWO_BARS_OF_SMITHORE.
83AA   .BYTE $D0, $C1, $C3, $C5, $A0, $D4, $D2, $C1, $D6, $C5, $CC, $C5, $D2
83AA   .BYTE $A0, $D2, $C5, $D0, $C1, $C9, $C4, $A0, $D9, $CF, $D5, $D2, $A0
83AA   .BYTE $C8, $CF, $D3, $D0, $C9, $D4, $C1, $CC, $C9, $D4, $D9, $A0, $C2
83AA   .BYTE $D9, $A0, $CC, $C5, $C1, $D6, $C9, $CE, $C7, $A0, $D4, $D7, $CF
83AA   .BYTE $A0, $C2, $C1, $D2, $D3, $A0, $CF, $C6, $A0, $D3, $CD, $C9, $D4
83AA   .BYTE $C8, $CF, $D2, $C5, $2E
83FD   .BYTE $CD, $C9, $D3, $C3, $C8, $C9, $C5, $D6, $CF, $D5, $D3, $A0, $C7 ; 02 - MISCHIEVOUS_GLAC-ELVES_BROKE_INTO_YOUR_STORAGE_SHED_AND_STOLE_HALF_YOUR_FOOD.
83FD   .BYTE $CC, $C1, $C3, $AD, $C5, $CC, $D6, $C5, $D3, $A0, $C2, $D2, $CF
83FD   .BYTE $CB, $C5, $A0, $C9, $CE, $D4, $CF, $A0, $D9, $CF, $D5, $D2, $A0
83FD   .BYTE $D3, $D4, $CF, $D2, $C1, $C7, $C5, $A0, $D3, $C8, $C5, $C4, $A0
83FD   .BYTE $C1, $CE, $C4, $A0, $D3, $D4, $CF, $CC, $C5, $A0, $C8, $C1, $CC
83FD   .BYTE $C6, $A0, $D9, $CF, $D5, $D2, $A0, $C6, $CF, $CF, $C4, $2E
844A   .BYTE $D9, $CF, $D5, $D2, $A0, $CD, $D5, $CC, $C5, $A0, $D7, $C1, $D3 ; 03 + YOUR_MULE_WAS_JUDGED_"BEST_BUILT"_AT_THE_COLONY_FAIR.__YOU_WON_$?.
844A   .BYTE $A0, $CA, $D5, $C4, $C7, $C5, $C4, $A0, $A2, $C2, $C5, $D3, $D4
844A   .BYTE $A0, $C2, $D5, $C9, $CC, $D4, $A2, $A0, $C1, $D4, $A0, $D4, $C8
844A   .BYTE $C5, $A0, $C3, $CF, $CC, $CF, $CE, $D9, $A0, $C6, $C1, $C9, $D2
844A   .BYTE $AE, $A0, $A0, $D9, $CF, $D5, $A0, $D7, $CF, $CE, $A0, $24, $2E
848B   .BYTE $CF, $CE, $C5, $A0, $CF, $C6, $A0, $D9, $CF, $D5, $D2, $A0, $CD ; 04 - ONE_OF_YOUR_MULES_LOST_A_BOLT.__REPAIRS_COST_YOU_$?.
848B   .BYTE $D5, $CC, $C5, $D3, $A0, $CC, $CF, $D3, $D4, $A0, $C1, $A0, $C2
848B   .BYTE $CF, $CC, $D4, $AE, $A0, $A0, $D2, $C5, $D0, $C1, $C9, $D2, $D3
848B   .BYTE $A0, $C3, $CF, $D3, $D4, $A0, $D9, $CF, $D5, $A0, $24, $2E
84BE   .BYTE $D9, $CF, $D5, $D2, $A0, $CD, $D5, $CC, $C5, $A0, $D7, $CF, $CE ; 05 + YOUR_MULE_WON_THE_COLONY_TAP-DANCING_CONTEST.__YOU_COLLECTED_$?.
84BE   .BYTE $A0, $D4, $C8, $C5, $A0, $C3, $CF, $CC, $CF, $CE, $D9, $A0, $D4
84BE   .BYTE $C1, $D0, $AD, $C4, $C1, $CE, $C3, $C9, $CE, $C7, $A0, $C3, $CF
84BE   .BYTE $CE, $D4, $C5, $D3, $D4, $AE, $A0, $A0, $D9, $CF, $D5, $A0, $C3
84BE   .BYTE $CF, $CC, $CC, $C5, $C3, $D4, $C5, $C4, $A0, $24, $2E
84FD   .BYTE $D9, $CF, $D5, $D2, $A0, $CD, $C9, $CE, $C9, $CE, $C7, $A0, $CD ; 06 - YOUR_MINING_MULES_HAVE_DETERIORATED_FROM_HEAVY_USE_AND_COST_$?_EACH_TO_REPAIR.__THE_TOTAL_COST_IS_$?.
84FD   .BYTE $D5, $CC, $C5, $D3, $A0, $C8, $C1, $D6, $C5, $A0, $C4, $C5, $D4
84FD   .BYTE $C5, $D2, $C9, $CF, $D2, $C1, $D4, $C5, $C4, $A0, $C6, $D2, $CF
84FD   .BYTE $CD, $A0, $C8, $C5, $C1, $D6, $D9, $A0, $D5, $D3, $C5, $A0, $C1
84FD   .BYTE $CE, $C4, $A0, $C3, $CF, $D3, $D4, $A0, $24, $A0, $C5, $C1, $C3
84FD   .BYTE $C8, $A0, $D4, $CF, $A0, $D2, $C5, $D0, $C1, $C9, $D2, $AE, $A0
84FD   .BYTE $A0, $D4, $C8, $C5, $A0, $D4, $CF, $D4, $C1, $CC, $A0, $C3, $CF
84FD   .BYTE $D3, $D4, $A0, $C9, $D3, $A0, $24, $2E
8560   .BYTE $D4, $C8, $C5, $A0, $D3, $CF, $CC, $C1, $D2, $A0, $C3, $CF, $CC ; 07 - THE_SOLAR_COLLECTORS_ON_YOUR_ENERGY_MULES_ARE_DIRTY.__CLEANING_COST_YOU_$?_EACH_FOR_A_TOTAL_OF_$?.
8560   .BYTE $CC, $C5, $C3, $D4, $CF, $D2, $D3, $A0, $CF, $CE, $A0, $D9, $CF
8560   .BYTE $D5, $D2, $A0, $C5, $CE, $C5, $D2, $C7, $D9, $A0, $CD, $D5, $CC
8560   .BYTE $C5, $D3, $A0, $C1, $D2, $C5, $A0, $C4, $C9, $D2, $D4, $D9, $AE
8560   .BYTE $A0, $A0, $C3, $CC, $C5, $C1, $CE, $C9, $CE, $C7, $A0, $C3, $CF
8560   .BYTE $D3, $D4, $A0, $D9, $CF, $D5, $A0, $24, $A0, $C5, $C1, $C3, $C8
8560   .BYTE $A0, $C6, $CF, $D2, $A0, $C1, $A0, $D4, $CF, $D4, $C1, $CC, $A0
8560   .BYTE $CF, $C6, $A0, $24, $2E
85C0   .BYTE $D4, $C8, $C5, $A0, $C3, $CF, $CC, $CF, $CE, $D9, $A0, $C3, $CF ; 08 + THE_COLONY_COUNCIL_FOR_AGRICULTURE_AWARDED_YOU_$?_FOR_EACH_FOOD_PLOT_YOU_HAVE_DEVELOPED.__THE_TOTAL_GRANT_IS_$?.
85C0   .BYTE $D5, $CE, $C3, $C9, $CC, $A0, $C6, $CF, $D2, $A0, $C1, $C7, $D2
85C0   .BYTE $C9, $C3, $D5, $CC, $D4, $D5, $D2, $C5, $A0, $C1, $D7, $C1, $D2
85C0   .BYTE $C4, $C5, $C4, $A0, $D9, $CF, $D5, $A0, $24, $A0, $C6, $CF, $D2
85C0   .BYTE $A0, $C5, $C1, $C3, $C8, $A0, $C6, $CF, $CF, $C4, $A0, $D0, $CC
85C0   .BYTE $CF, $D4, $A0, $D9, $CF, $D5, $A0, $C8, $C1, $D6, $C5, $A0, $C4
85C0   .BYTE $C5, $D6, $C5, $CC, $CF, $D0, $C5, $C4, $AE, $A0, $A0, $D4, $C8
85C0   .BYTE $C5, $A0, $D4, $CF, $D4, $C1, $CC, $A0, $C7, $D2, $C1, $CE, $D4
85C0   .BYTE $A0, $C9, $D3, $A0, $24, $2E
862E   .BYTE $D4, $C8, $C5, $A0, $C3, $CF, $CC, $CF, $CE, $D9, $A0, $C1, $D7 ; 09 + THE_COLONY_AWARDED_YOU_$?_FOR_STOPPING_THE_WART_WORM_INFESTATION.
862E   .BYTE $C1, $D2, $C4, $C5, $C4, $A0, $D9, $CF, $D5, $A0, $24, $A0, $C6
862E   .BYTE $CF, $D2, $A0, $D3, $D4, $CF, $D0, $D0, $C9, $CE, $C7, $A0, $D4
862E   .BYTE $C8, $C5, $A0, $D7, $C1, $D2, $D4, $A0, $D7, $CF, $D2, $CD, $A0
862E   .BYTE $C9, $CE, $C6, $C5, $D3, $D4, $C1, $D4, $C9, $CF, $CE, $2E
866E   .BYTE $D4, $C8, $C5, $A0, $CD, $D5, $D3, $C5, $D5, $CD, $A0, $C2, $CF ; 10 + THE_MUSEUM_BOUGHT_YOUR_ANTIQUE_PERSONAL_COMPUTER_FOR_$?.
866E   .BYTE $D5, $C7, $C8, $D4, $A0, $D9, $CF, $D5, $D2, $A0, $C1, $CE, $D4
866E   .BYTE $C9, $D1, $D5, $C5, $A0, $D0, $C5, $D2, $D3, $CF, $CE, $C1, $CC
866E   .BYTE $A0, $C3, $CF, $CD, $D0, $D5, $D4, $C5, $D2, $A0, $C6, $CF, $D2
866E   .BYTE $A0, $24, $2E
86A5   .BYTE $D9, $CF, $D5, $A0, $D7, $CF, $CE, $A0, $D4, $C8, $C5, $A0, $C3 ; 11 + YOU_WON_THE_COLONY_SWAMP_EEL_EATING_CONTEST_AND_COLLECTED_$?._(YUCK!)
86A5   .BYTE $CF, $CC, $CF, $CE, $D9, $A0, $D3, $D7, $C1, $CD, $D0, $A0, $C5
86A5   .BYTE $C5, $CC, $A0, $C5, $C1, $D4, $C9, $CE, $C7, $A0, $C3, $CF, $CE
86A5   .BYTE $D4, $C5, $D3, $D4, $A0, $C1, $CE, $C4, $A0, $C3, $CF, $CC, $CC
86A5   .BYTE $C5, $C3, $D4, $C5, $C4, $A0, $24, $AE, $A0, $A8, $D9, $D5, $C3
86A5   .BYTE $CB, $A1, $29
86E9   .BYTE $C1, $A0, $C3, $C8, $C1, $D2, $C9, $D4, $D9, $A0, $C6, $D2, $CF ; 12 + A_CHARITY_FROM_YOUR_HOME-WORLD_TOOK_PITY_ON_YOU_AND_SENT_$?.
86E9   .BYTE $CD, $A0, $D9, $CF, $D5, $D2, $A0, $C8, $CF, $CD, $C5, $AD, $D7
86E9   .BYTE $CF, $D2, $CC, $C4, $A0, $D4, $CF, $CF, $CB, $A0, $D0, $C9, $D4
86E9   .BYTE $D9, $A0, $CF, $CE, $A0, $D9, $CF, $D5, $A0, $C1, $CE, $C4, $A0
86E9   .BYTE $D3, $C5, $CE, $D4, $A0, $24, $2E
8724   .BYTE $D9, $CF, $D5, $D2, $A0, $CF, $C6, $C6, $D7, $CF, $D2, $CC, $C4 ; 13 + YOUR_OFFWORLD_INVESTMENTS_IN_ARTIFICIAL_DUMBNESS_PAID_$?_IN_DIVIDENDS.
8724   .BYTE $A0, $C9, $CE, $D6, $C5, $D3, $D4, $CD, $C5, $CE, $D4, $D3, $A0
8724   .BYTE $C9, $CE, $A0, $C1, $D2, $D4, $C9, $C6, $C9, $C3, $C9, $C1, $CC
8724   .BYTE $A0, $C4, $D5, $CD, $C2, $CE, $C5, $D3, $D3, $A0, $D0, $C1, $C9
8724   .BYTE $C4, $A0, $24, $A0, $C9, $CE, $A0, $C4, $C9, $D6, $C9, $C4, $C5
8724   .BYTE $CE, $C4, $D3, $2E
8769   .BYTE $C1, $A0, $C4, $C9, $D3, $D4, $C1, $CE, $D4, $A0, $D2, $C5, $CC ; 14 + A_DISTANT_RELATIVE_DIED_AND_LEFT_YOU_A_VAST_FORTUNE.__BUT_AFTER_TAXES_YOU_ONLY_GOT_$?.
8769   .BYTE $C1, $D4, $C9, $D6, $C5, $A0, $C4, $C9, $C5, $C4, $A0, $C1, $CE
8769   .BYTE $C4, $A0, $CC, $C5, $C6, $D4, $A0, $D9, $CF, $D5, $A0, $C1, $A0
8769   .BYTE $D6, $C1, $D3, $D4, $A0, $C6, $CF, $D2, $D4, $D5, $CE, $C5, $AE
8769   .BYTE $A0, $A0, $C2, $D5, $D4, $A0, $C1, $C6, $D4, $C5, $D2, $A0, $D4
8769   .BYTE $C1, $D8, $C5, $D3, $A0, $D9, $CF, $D5, $A0, $CF, $CE, $CC, $D9
8769   .BYTE $A0, $C7, $CF, $D4, $A0, $24, $2E
87BE   .BYTE $D9, $CF, $D5, $A0, $C6, $CF, $D5, $CE, $C4, $A0, $C1, $A0, $C4 ; 15 + YOU_FOUND_A_DEAD_MOOSE_RAT_AND_SOLD_THE_HIDE_FOR_$?.
87BE   .BYTE $C5, $C1, $C4, $A0, $CD, $CF, $CF, $D3, $C5, $A0, $D2, $C1, $D4
87BE   .BYTE $A0, $C1, $CE, $C4, $A0, $D3, $CF, $CC, $C4, $A0, $D4, $C8, $C5
87BE   .BYTE $A0, $C8, $C9, $C4, $C5, $A0, $C6, $CF, $D2, $A0, $24, $2E
87F1   .BYTE $D9, $CF, $D5, $D2, $A0, $D3, $D0, $C1, $C3, $C5, $A0, $C7, $D9 ; 16 - YOUR_SPACE_GYPSY_INLAWS_MADE_A_MESS_OF_THE_TOWN.__IT_COST_YOU_$?_TO_CLEAN_IT_UP.
87F1   .BYTE $D0, $D3, $D9, $A0, $C9, $CE, $CC, $C1, $D7, $D3, $A0, $CD, $C1
87F1   .BYTE $C4, $C5, $A0, $C1, $A0, $CD, $C5, $D3, $D3, $A0, $CF, $C6, $A0
87F1   .BYTE $D4, $C8, $C5, $A0, $D4, $CF, $D7, $CE, $AE, $A0, $A0, $C9, $D4
87F1   .BYTE $A0, $C3, $CF, $D3, $D4, $A0, $D9, $CF, $D5, $A0, $24, $A0, $D4
87F1   .BYTE $CF, $A0, $C3, $CC, $C5, $C1, $CE, $A0, $C9, $D4, $A0, $D5, $D0
87F1   .BYTE $2E
8840   .BYTE $C6, $CC, $D9, $C9, $CE, $C7, $A0, $C3, $C1, $D4, $AD, $C2, $D5 ; 17 - FLYING_CAT-BUGS_ATE_THE_ROOF_OFF_YOUR_HOUSE.__REPAIRS_COST_$?.
8840   .BYTE $C7, $D3, $A0, $C1, $D4, $C5, $A0, $D4, $C8, $C5, $A0, $D2, $CF
8840   .BYTE $CF, $C6, $A0, $CF, $C6, $C6, $A0, $D9, $CF, $D5, $D2, $A0, $C8
8840   .BYTE $CF, $D5, $D3, $C5, $AE, $A0, $A0, $D2, $C5, $D0, $C1, $C9, $D2
8840   .BYTE $D3, $A0, $C3, $CF, $D3, $D4, $A0, $24, $2E
887D   .BYTE $D9, $CF, $D5, $A0, $CC, $CF, $D3, $D4, $A0, $24, $A0, $C2, $C5 ; 18 - YOU_LOST_$?_BETTING_ON_THE_TWO-LEGGED_KAZINGA_RACES.
887D   .BYTE $D4, $D4, $C9, $CE, $C7, $A0, $CF, $CE, $A0, $D4, $C8, $C5, $A0
887D   .BYTE $D4, $D7, $CF, $AD, $CC, $C5, $C7, $C7, $C5, $C4, $A0, $CB, $C1
887D   .BYTE $DA, $C9, $CE, $C7, $C1, $A0, $D2, $C1, $C3, $C5, $D3, $2E
88B0   .BYTE $D9, $CF, $D5, $D2, $A0, $C3, $C8, $C9, $CC, $C4, $A0, $D7, $C1 ; 19 - YOUR_CHILD_WAS_BITTEN_BY_A_BAT_LIZARD_AND_THE_HOSPITAL_BILL_COST_YOU_$?.
88B0   .BYTE $D3, $A0, $C2, $C9, $D4, $D4, $C5, $CE, $A0, $C2, $D9, $A0, $C1
88B0   .BYTE $A0, $C2, $C1, $D4, $A0, $CC, $C9, $DA, $C1, $D2, $C4, $A0, $C1
88B0   .BYTE $CE, $C4, $A0, $D4, $C8, $C5, $A0, $C8, $CF, $D3, $D0, $C9, $D4
88B0   .BYTE $C1, $CC, $A0, $C2, $C9, $CC, $CC, $A0, $C3, $CF, $D3, $D4, $A0
88B0   .BYTE $D9, $CF, $D5, $A0, $24, $2E
88F7   .BYTE $D9, $CF, $D5, $A0, $CC, $CF, $D3, $D4, $A0, $C1, $A0, $D0, $CC ; 20 - YOU_LOST_A_PLOT_OF_LAND_BECAUSE_THE_CLAIM_WAS_NOT_RECORDED.
88F7   .BYTE $CF, $D4, $A0, $CF, $C6, $A0, $CC, $C1, $CE, $C4, $A0, $C2, $C5
88F7   .BYTE $C3, $C1, $D5, $D3, $C5, $A0, $D4, $C8, $C5, $A0, $C3, $CC, $C1
88F7   .BYTE $C9, $CD, $A0, $D7, $C1, $D3, $A0, $CE, $CF, $D4, $A0, $D2, $C5
88F7   .BYTE $C3, $CF, $D2, $C4, $C5, $C4, $2E
8932   .BYTE $D9, $CF, $D5, $A0, $D2, $C5, $C3, $C5, $C9, $D6, $C5, $C4, $A0 ; 21 + YOU_RECEIVED_AN_EXTRA_PLOT_OF_LAND_TO_ENCOURAGE_COLONY_DEVELOPMENT.
8932   .BYTE $C1, $CE, $A0, $C5, $D8, $D4, $D2, $C1, $A0, $D0, $CC, $CF, $D4
8932   .BYTE $A0, $CF, $C6, $A0, $CC, $C1, $CE, $C4, $A0, $D4, $CF, $A0, $C5
8932   .BYTE $CE, $C3, $CF, $D5, $D2, $C1, $C7, $C5, $A0, $C3, $CF, $CC, $CF
8932   .BYTE $CE, $D9, $A0, $C4, $C5, $D6, $C5, $CC, $CF, $D0, $CD, $C5, $CE
8932   .BYTE $D4, $2E
8975   .BYTE $A0, $A0, $AA, $AA, $AA, $A0, $20 ; __***__
897C
897C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
897C
897C
897C soundPlayerEvent:             ; ...
897C   LDX   byte_BC
897E   LDA   turnEventsQuality,X
8981   BPL   loc_89A3
8983   LDA   #0
8985   STA   OS_AUDF1_POT1
8988   LDA   #$A4
898A   STA   OS_AUDC1_POT2
898D   LDX   #6
898F
898F loc_898F:                     ; ...
898F   LDA   unk_89C3,X
8992   STA   OS_AUDF1_POT1
8995   LDA   #$14
8997   JSR   waitJiffy             ; input
8997                               ; A: temps à attendre en jiffy (1/60 seconds)
899A   DEX
899B   BPL   loc_898F
899D   LDA   #0
899F   STA   OS_AUDC1_POT2
89A2   RTS
89A3 ; ---------------------------------------------------------------------------
89A3
89A3 loc_89A3:                     ; ...
89A3   LDA   #0
89A3 ; ---------------------------------------------------------------------------
89A5 byte_89A5:.BYTE $8D           ; ...
89A6   .BYTE   0
89A7   .BYTE $D2 ; Ê
89A8 ; ---------------------------------------------------------------------------
89A8   LDA   #$A4
89AA   STA   OS_AUDC1_POT2
89AD   LDX   #8
89AF
89AF loc_89AF:                     ; ...
89AF   LDA   unk_89CA,X
89B2   STA   OS_AUDF1_POT1
89B5   LDA   #8
89B7   JSR   waitJiffy             ; input
89B7                               ; A: temps à attendre en jiffy (1/60 seconds)
89BA   DEX
89BB   BPL   loc_89AF
89BD   LDA   #0
89BF   STA   OS_AUDC1_POT2
89C2   RTS
89C2 ; End of function soundPlayerEvent
89C2
89C2 ; ---------------------------------------------------------------------------
89C3 unk_89C3:.BYTE $F3 ; ¾        ; ...
89C4   .BYTE $F3 ; ¾
89C5   .BYTE $F3 ; ¾
89C6   .BYTE $B6 ; Â
89C7   .BYTE $B6 ; Â
89C8   .BYTE $F3 ; ¾
89C9   .BYTE $CC ; ¦
89CA unk_89CA:.BYTE $35 ; 5        ; ...
89CB   .BYTE $35 ; 5
89CC   .BYTE $35 ; 5
89CD   .BYTE $48 ; H
89CE   .BYTE   0
89CF   .BYTE $35 ; 5
89D0   .BYTE $48 ; H
89D1   .BYTE $60 ; `
89D2   .BYTE $6C ; l
89D3
89D3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
89D3
89D3
89D3 drawMessageScore:             ; ...
89D3
89D3 ; FUNCTION CHUNK AT 1009 SIZE 00000006 BYTES
89D3
89D3   LDA   #$40
89D5   STA   byte_D4
89D7   LDA   #$1F
89D9   STA   byte_D5               ; D5/D4 = $1F40
89DB   JSR   addMessageStart
89DE   LDA   numRound
89E0   CMP   #12                   ; // si dernier round
89E2   BNE   loc_89E7
89E4   JMP   addMessageSuccess     ; GAME_SUCCESS:
89E4                               ; 0 FAILED..._DISMALLY.__THE_FEDERATION_DEBTORS'_PRISON_IS_YOUR_NEXT_HOME
89E4                               ; 1 FAILED..._THE_FEDERATION_WILL_NO_LONGER_SEND_TRADE_SHIPS.__YOU_ARE_ON_YOUR_OWN
89E4                               ; 2 SURVIVED..._BARELY.__YOU_WILL_BE_LIVING_IN_TENTS.__FEW_TRADING_SHIPS_WILL_COME_YOUR_WAY
89E4                               ; 3 WAS_A_SUCCESS.__YOU_HAVE_MET_THE_MINIMUM_STANDARDS_SET_BY_THE_FEDERATION,_BUT_YOUR_LIFE_WILL_NOT_BE_EASY
89E4                               ; 4 SUCCEEDED.__THE_FEDERATION_IS_PLEASED_BY_YOUR_EFFORTS.__YOU_WILL_LIVE_COMFORTABLY
89E4                               ; 5 SUCCEEDED..._EXTREMELY_WELL.__YOU_CAN_NOW_RETIRE_IN_ELEGANT_ESTATES
89E4                               ; 6 DELIGHTED_THE_FEDERATION_WITH_YOUR_EXCEPTIONAL_ACHIEVEMENT.__YOUR_RETIREMENT_WILL_BE_LUXURIOU
89E4                               ;
89E7 ; ---------------------------------------------------------------------------
89E7
89E7 loc_89E7:                     ; ...
89E7   LDA   #0                    ; // si pas dernier round
89E9   STA   byte_BC               ; byte_BC = 0
89EB   STA   goodsShortage         ; byte_B19D = 0
89EE   STA   goodsShortage+1       ; byte_B19E = 0
89F1   STA   goodsShortage+2       ; byte_B19F = 0
89F4   LDA   goodsStoreNb
89F7   LDX   #3
89F9
89F9 loc_89F9:                     ; ...
89F9   CLC
89FA   ADC   goodsPlayersNb,X
89FD   BCC   loc_8A01
89FF   LDA   #255
8A01
8A01 loc_8A01:                     ; ...
8A01   DEX
8A02   BPL   loc_89F9
8A04   STA   byte_88               ; byte_88 = STOCK_FOOD + sum (PLAYERS_FOOD [])
8A06   CMP   #0
8A08   BNE   loc_8A19
8A0A   LDX   #3
8A0C
8A0C loc_8A0C:                     ; ...
8A0C   LDA   expsPlayersNb,X
8A0F   BNE   loc_8A19
8A11   DEX
8A12   BPL   loc_8A0C
8A14   LDA   #0                    ;   // si byte_88 == 0 ET si aucun joueur n'a une exploitation de food
8A16   JMP   addMessageFailure     ; A:
8A16                               ; 0 _FOOD_
8A16                               ; 1 _ENERGY_
8A16                               ; 2 _SMITHORE_
8A16                               ; 3 _CRYSTITE_
8A16                               ; 4 _MULES_
8A16                               ;
8A19 ; ---------------------------------------------------------------------------
8A19
8A19 loc_8A19:                     ; ...
8A19   LDA   goodsStoreNb+1
8A1C   LDX   #3
8A1E
8A1E loc_8A1E:                     ; ...
8A1E   CLC
8A1F   ADC   goodsPlayersNb+4,X
8A22   BCC   loc_8A26
8A24   LDA   #$FF
8A26
8A26 loc_8A26:                     ; ...
8A26   DEX
8A27   BPL   loc_8A1E
8A29   STA   byte_89               ; byte_89 = STOCK_ENERGY + sum (PLAYERS_ENERGY [])
8A2B   CMP   #0
8A2D   BNE   loc_8A3E
8A2F   LDX   #3
8A31
8A31 loc_8A31:                     ; ...
8A31   LDA   expsPlayersNb+4,X
8A34   BNE   loc_8A3E
8A36   DEX
8A37   BPL   loc_8A31
8A39   LDA   #1                    ;   // si byte_89 == 0 ET si aucun joueur n'a une exploitation d'energie
8A3B   JMP   addMessageFailure     ; A:
8A3B                               ; 0 _FOOD_
8A3B                               ; 1 _ENERGY_
8A3B                               ; 2 _SMITHORE_
8A3B                               ; 3 _CRYSTITE_
8A3B                               ; 4 _MULES_
8A3B                               ;
8A3E ; ---------------------------------------------------------------------------
8A3E
8A3E loc_8A3E:                     ; ...
8A3E   LDA   foodReq
8A41   ASL   A
8A42   ASL   A
8A43   CMP   byte_88
8A45   BCC   loc_8A51
8A47   BEQ   loc_8A51              ; if (byte_88 < ( ROUND_FOOD_REQ * 4) ) {
8A49   LDA   #0                    ;   A = 0
8A4B   INC   goodsShortage         ;   byte_B19D ++
8A4E   JSR   addMessageShortage    ; A:
8A4E                               ; 0 _FOOD_
8A4E                               ; 1 _ENERGY_
8A4E                               ; 2 _SMITHORE_
8A4E                               ; 3 _CRYSTITE_
8A4E                               ; 4 _MULES_
8A4E                               ;
8A4E                               ; byte_BC
8A4E                               ; == 3: AND
8A4E                               ; == 0: THE_COLONY_HAS_A_SHORTAGE_OF
8A4E                               ;
8A51
8A51 loc_8A51:                     ; ...
8A51   LDA   #3                    ; }
8A53   STA   byte_8C
8A55   LDA   #0
8A57   STA   byte_8A
8A59
8A59 loc_8A59:                     ; ...
8A59   JSR   calcEnergyReq         ; input
8A59                               ; byte_8C: player
8A59                               ; output
8A59                               ; A, byte_82: nb d'energie requis par les exploitations
8A5C   LDA   byte_82
8A5E   SEC
8A5F   ADC   byte_8A
8A61   STA   byte_8A
8A63   DEC   byte_8C
8A65   BPL   loc_8A59              ; byte_8A = somme des energies requis pour chaque joueur
8A67   CMP   byte_89
8A69   BCC   loc_8A75
8A6B   BEQ   loc_8A75              ; if (byte_89 < byte_8A) {
8A6D   INC   goodsShortage+1       ;   byte_B19E ++
8A70   LDA   #1                    ;   A = 1
8A72   JSR   addMessageShortage    ; A:
8A72                               ; 0 _FOOD_
8A72                               ; 1 _ENERGY_
8A72                               ; 2 _SMITHORE_
8A72                               ; 3 _CRYSTITE_
8A72                               ; 4 _MULES_
8A72                               ;
8A72                               ; byte_BC
8A72                               ; == 3: AND
8A72                               ; == 0: THE_COLONY_HAS_A_SHORTAGE_OF
8A72                               ;
8A75
8A75 loc_8A75:                     ; ...
8A75   JSR   calcMuleReq           ; input
8A75                               ; output
8A75                               ; A: (nombre de cases susceptibles d'être prise au prochain tour [0; 4] +
8A75                               ;    nombre de cases occupées sans mule) borné par [0; 8]
8A78   SEC
8A79   SBC   goodsStoreNb+4
8A7C   BCC   loc_8A98
8A7E   BEQ   loc_8A98              ; if ( (calc_plot_0_8 - STOCK_MULE) < 0) {
8A7E                               ;   // donc si STOCK_MULE >= 8 alors pas de message
8A80   INC   goodsShortage+2       ;   byte_B19F ++
8A83   LDA   byte_BC
8A85   BEQ   loc_8A8E
8A87   LDA   #$2C                  ; // !__
8A89   LDY   #$8B
8A8B   JSR   addMessage            ; Y/A: High/Low address
8A8E
8A8E loc_8A8E:                     ; ...
8A8E   LDA   #$2F                  ; // THE_STORE_HAS_A_SHORTAGE_OF_SMITHORE_FOR_MULES!
8A90   LDY   #$8B
8A92   JSR   addMessage            ; Y/A: High/Low address
8A95   JMP   addMessageEnd         ; }
8A98 ; ---------------------------------------------------------------------------
8A98
8A98 loc_8A98:                     ; ...
8A98   LDA   byte_BC
8A9A   BNE   addMessageEnd2
8A9C   RTS
8A9C ; End of function drawMessageScore
8A9C
8A9D
8A9D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8A9D
8A9D
8A9D addMessageEnd2:               ; ...
8A9D   DEC   byte_55
8A9F   LDA   #$A1                  ; // !
8AA1   JSR   decodeCharToMessage   ; A
8AA4   JMP   addMessageEnd
8AA4 ; End of function addMessageEnd2
8AA4
8AA7
8AA7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8AA7
8AA7 ; A:
8AA7 ; 0 _FOOD_
8AA7 ; 1 _ENERGY_
8AA7 ; 2 _SMITHORE_
8AA7 ; 3 _CRYSTITE_
8AA7 ; 4 _MULES_
8AA7 ;
8AA7 ; byte_BC
8AA7 ; == 3: AND
8AA7 ; == 0: THE_COLONY_HAS_A_SHORTAGE_OF
8AA7 ;
8AA7
8AA7 addMessageShortage:           ; ...
8AA7   PHA
8AA8   LDA   byte_BC
8AAA   CMP   #3
8AAC   BNE   loc_8AB8              ; if (byte_BC == 3) {
8AAE   LDA   #$E1                  ; // AND
8AB0   LDY   #$8A
8AB2   JSR   addMessage            ; Y/A: High/Low address
8AB5   JMP   loc_8ABF              ; }
8AB5                               ; else {
8AB8 ; ---------------------------------------------------------------------------
8AB8
8AB8 loc_8AB8:                     ; ...
8AB8   LDA   #$E4                  ; // THE_COLONY_HAS_A_SHORTAGE_OF
8ABA   LDY   #$8A
8ABC   JSR   addMessage            ; Y/A: High/Low address
8ABF
8ABF loc_8ABF:                     ; ...
8ABF   LDA   #3                    ; }
8AC1   STA   byte_BC               ; byte_BC = 3
8AC3   PLA
8AC3 ; End of function addMessageShortage
8AC3
8AC4
8AC4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8AC4
8AC4 ; A:
8AC4 ; 0 _FOOD_
8AC4 ; 1 _ENERGY_
8AC4 ; 2 _SMITHORE_
8AC4 ; 3 _CRYSTITE_
8AC4 ; 4 _MULES_
8AC4 ;
8AC4
8AC4 addMessageFailureGood:        ; ...
8AC4   TAX
8AC5   LDA   #$2B                  ; // _FOOD_
8AC7   LDY   #$3A
8AC9   JMP   addToMessageWithOffset ; Y/A: High/Low address + ($00/X)*$10
8AC9 ; End of function addMessageFailureGood
8AC9
8ACC
8ACC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8ACC
8ACC ; A:
8ACC ; 0 _FOOD_
8ACC ; 1 _ENERGY_
8ACC ; 2 _SMITHORE_
8ACC ; 3 _CRYSTITE_
8ACC ; 4 _MULES_
8ACC ;
8ACC
8ACC addMessageFailure:            ; ...
8ACC   PHA
8ACD   LDA   #0                    ; // THE_COLONY_FAILED_BECAUSE_OF_A_TOTAL_LACK_OF
8ACF   LDY   #$8B
8AD1   JSR   addMessage            ; Y/A: High/Low address
8AD4   PLA
8AD5   JSR   addMessageFailureGood ; A:
8AD5                               ; 0 _FOOD_
8AD5                               ; 1 _ENERGY_
8AD5                               ; 2 _SMITHORE_
8AD5                               ; 3 _CRYSTITE_
8AD5                               ; 4 _MULES_
8AD5                               ;
8AD8   JSR   addMessageEnd2
8ADB   JSR   scoreWait
8ADE   JMP   start
8ADE ; End of function addMessageFailure
8ADE
8ADE ; ---------------------------------------------------------------------------
8AE1   .BYTE $C1, $CE, $44         ; AND
8AE4   .BYTE $D4, $C8, $C5, $A0, $C3, $CF, $CC, $CF, $CE, $D9, $A0, $C8, $C1 ; THE_COLONY_HAS_A_SHORTAGE_OF
8AE4   .BYTE $D3, $A0, $C1, $A0, $D3, $C8, $CF, $D2, $D4, $C1, $C7, $C5, $A0
8AE4   .BYTE $CF, $46
8B00   .BYTE $D4, $C8, $C5, $A0, $C3, $CF, $CC, $CF, $CE, $D9, $A0, $C6, $C1 ; THE_COLONY_FAILED_BECAUSE_OF_A_TOTAL_LACK_OF
8B00   .BYTE $C9, $CC, $C5, $C4, $A0, $C2, $C5, $C3, $C1, $D5, $D3, $C5, $A0
8B00   .BYTE $CF, $C6, $A0, $C1, $A0, $D4, $CF, $D4, $C1, $CC, $A0, $CC, $C1
8B00   .BYTE $C3, $CB, $A0, $CF, $46
8B2C   .BYTE $A1, $A0, $20         ; !__
8B2F   .BYTE $D4, $C8, $C5, $A0, $D3, $D4, $CF, $D2, $C5, $A0, $C8, $C1, $D3 ; THE_STORE_HAS_A_SHORTAGE_OF_SMITHORE_FOR_MULES!
8B2F   .BYTE $A0, $C1, $A0, $D3, $C8, $CF, $D2, $D4, $C1, $C7, $C5, $A0, $CF
8B2F   .BYTE $C6, $A0, $D3, $CD, $C9, $D4, $C8, $CF, $D2, $C5, $A0, $C6, $CF
8B2F   .BYTE $D2, $A0, $CD, $D5, $CC, $C5, $D3, $21
8B5E
8B5E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8B5E
8B5E
8B5E moveWampus:                   ; ...
8B5E   LDA   #20
8B60   JSR   random_0_A            ; input
8B60                               ; A: borne supérieure
8B60                               ; output
8B60                               ; A: un nombre aléatoire [0; A[
8B60                               ;
8B60                               ; calcul un nombre aléatoire entre 0 et A
8B63   STA   byte_8B               ; int mountain = random [0;19]
8B65   ASL   A
8B66   ASL   A
8B67   ASL   A
8B68   CLC
8B69   ADC   #48                   ; // Y de la premiere ligne
8B6B   STA   wampusY               ; wampusY = mountain * 8 + 48
8B6E   LDA   #0
8B70   STA   wampusVisible         ; wampusVisible = No
8B73   LDY   byte_8B
8B75   LDA   mountainsX,Y
8B78   TAY
8B79   TAX
8B7A   AND   #1
8B7C   BNE   loc_8B7F
8B7E   INY
8B7F
8B7F loc_8B7F:                     ; ...
8B7F   STX   wampusX2              ; wampusX2 = mountainX [mountain]
8B82   STY   wampusX               ; wampusX = mountainX [mountain]
8B85   LDA   #2
8B87   STA   wampusTime            ; wampusTime = 2
8B8A   RTS
8B8A ; End of function moveWampus
8B8A
8B8B
8B8B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8B8B
8B8B ; Attributes: hidden
8B8B
8B8B wampus:                       ; ...
8B8B   LDA   #0
8B8D   STA   OS_AUDC2_POT3
8B90   LDA   byte_E3
8B92   BNE   Return
8B94   LDA   byte_AD
8B96   BEQ   Return
8B98   LDA   byte_BC
8B9A   BNE   Return
8B9C   LDY   byte_E7
8B9E   LDA   $B2,Y
8BA1   BEQ   Return
8BA3   LDA   wampusX2
8BA6   STA   OS_HPOSP1_M1PF
8BA9   LDY   level
8BAB   LDA   levelsWampusColor,Y
8BAE   STA   wampusColor           ; wampusColor = levelsWampusColor [level]
8BB1   STA   OS_PCOLR1
8BB4   LDA   byte_9F
8BB6   CMP   wampusX
8BB9   BNE   loc_8BCD              ; if (playerX == wampusX) {
8BBB   LDA   byte_A3
8BBD   CLC
8BBE   ADC   #4
8BC0   CMP   wampusY
8BC3   BNE   loc_8BCD              ;   if ((playerY + 4) == wampusY) {
8BC5   LDA   wampusVisible
8BC8   BEQ   loc_8BCD              ;     if (wampusVisible == Yes) {
8BCA   JMP   wampusCaught          ;       wampusCaught ()
8BCA                               ;     }
8BCA                               ;   }
8BCA                               ; }
8BCD ; ---------------------------------------------------------------------------
8BCD
8BCD loc_8BCD:                     ; ...
8BCD   LDA   wampusTime
8BD0   BEQ   loc_8BD3              ; if (wampusTime != 0) {
8BD2
8BD2 Return:                       ; ...
8BD2   RTS                         ;   return
8BD2                               ; }
8BD3 ; ---------------------------------------------------------------------------
8BD3
8BD3 loc_8BD3:                     ; ...
8BD3   LDX   wampusY               ; // if (wampusTime == 0)
8BD3                               ; // changement d'etat vers visible ou invisible
8BD6   LDA   OS_SKREST_RANDOM
8BD9   AND   #3
8BDB   TAY                         ; Y = random [0;3]
8BDC   LDA   wampusVisible
8BDF   BNE   loc_8BFD              ; // faire apparaitre et attendre
8BDF                               ; if (wampusVisible == No) {
8BE1   LDA   OS_SIZEM
8BE4   AND   #4
8BE6   BNE   loc_8BFD
8BE8   INC   wampusVisible         ;   wampusVisible = Yes
8BEB   LDA   #$A3
8BED   STA   OS_AUDC2_POT3
8BF0   LDA   wampusY
8BF3   LSR   A
8BF4   LSR   A
8BF5   STA   OS_AUDF2_POT2         ;   // son dépend de la hauteur
8BF5                               ;   // aigu en haut, grave en bas
8BF8   LDA   #00010000b            ;   A = 16
8BFA   JMP   loc_8C05              ; }
8BFA                               ; // if (wampusVisible = Yes)
8BFA                               ; // faire disparaitre et attendre
8BFA                               ; else {
8BFD ; ---------------------------------------------------------------------------
8BFD
8BFD loc_8BFD:                     ; ...
8BFD   INY                         ;   Y += 3
8BFE   INY
8BFF   INY
8C00   LDA   #0                    ;   A = 0
8C02   STA   wampusVisible         ;   wampusVisible = No
8C02                               ; }
8C05
8C05 loc_8C05:                     ; ...
8C05   STA   wampusSprite,X
8C08   INY                         ; Y ++
8C09   STY   wampusTime            ; wampusTime = Y
8C0C   CMP   #0
8C0E   BEQ   loc_8C11              ; // faire apparaitre et attendre
8C0E                               ; if (A != 0) {
8C0E                               ;
8C10
8C10 locret_8C10:                  ; ...
8C10   RTS                         ;   return
8C10                               ; }
8C11 ; ---------------------------------------------------------------------------
8C11
8C11 loc_8C11:                     ; ...
8C11   LDA   OS_SKREST_RANDOM      ; // faire disparaitre et attendre
8C11                               ; if (random [0;1] == 0) {
8C11                               ;   return
8C11                               ; }
8C14   BMI   locret_8C10           ; // une chance sur 2 que le wampus bouge
8C14                               ; // donc 52.50% de chance qu'il reste au meme endroit (21/40)
8C14                               ; // sauf que dans un cas il réapparait 2s apres (random)
8C14                               ; // et dans l'autre au meme endroit (random [0;3] + 4)
8C16   JMP   moveWampus
8C16 ; End of function wampus
8C16
8C16 ; ---------------------------------------------------------------------------
8C19 levelsWampusColor:.BYTE 30    ; ...
8C19   .BYTE 28                    ; byte_8C19 [LEVELS]
8C19   .BYTE 26                    ; couleur du point en fonction du niveau
8C19                               ; 30 Beginner   Blanc
8C19                               ; 28 Standard   Gris clair
8C19                               ; 26 Tournament Gris moyen
8C1C
8C1C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8C1C
8C1C
8C1C wampusCaught:                 ; ...
8C1C   LDA   #0
8C1E   STA   OS_NMIEN
8C21   STA   OS_HPOSP2_M2PF
8C24   STA   OS_HPOSP3_M3PF
8C27   STA   OS_HPOSP1_M1PF
8C2A   STA   OS_HPOSM0_P0PF
8C2D   STA   wampusX               ; wampusX = 0
8C30   JSR   sub_12CA
8C33   JSR   sub_136D
8C36   LDA   #-1
8C38   STA   wampusTime            ; wampusState = -1
8C3B   LDX   wampusY
8C3E   LDA   #0
8C40   STA   wampusSprite,X        ; // supprimer le point wampus sur la carte
8C43   LDA   numRound
8C45   LSR   A
8C46   LSR   A
8C47   ASL   A
8C48   TAX                         ; X = (numRound / 4) * 2 // *2 car Word
8C49   PHA
8C4A   LDA   currentPlayer
8C4C   ASL   A
8C4D   TAY
8C4E   LDA   playersCash,Y
8C51   CLC
8C52   ADC   roundsWampusBonus,X
8C55   STA   playersCash,Y
8C58   LDA   playersCash+1,Y
8C5B   ADC   roundsWampusBonus+1,X
8C5E   STA   playersCash+1,Y
8C61   LDA   $909,Y
8C64   CLC
8C65   ADC   #$60
8C67   STA   byte_5C
8C69   LDA   $90A,Y
8C6C   ADC   #0
8C6E   STA   byte_5D
8C70   LDY   #$17
8C72   LDX   #$87
8C74
8C74 loc_8C74:                     ; ...
8C74   LDA   ($5C),Y
8C76   STA   byte_BC00,X
8C79   DEX
8C7A   DEY
8C7B   BNE   loc_8C74
8C7D   LDX   #0
8C7F   STX   byte_90
8C81   STX   byte_55
8C83   LDA   #0
8C85   STA   byte_5C
8C87   LDA   #$B7
8C89   STA   byte_5D
8C8B   LDA   #$F5                  ; // ___YOU_CAUGHT_THE_____MOUNTAIN_WAMPUS!___HE_GAVE_YOU_HIS_TREASURE_CHEST_($
8C8D   LDY   #$3F
8C8F   JSR   addMessage            ; // ___YOU_CAUGHT_THE_____MOUNTAIN_WAMPUS!___HE_GAVE_YOU_HIS_TREASURE_CHEST_($
8C92   PLA
8C93   TAY
8C94   LDX   roundsWampusBonus,Y
8C97   LDA   roundsWampusBonus+1,Y
8C9A   JSR   decodeNumberToMessage ; roundWampusBonus
8C9D   LDA   #$3F                  ; // (_________TO_LET_HIM_GO_FREE_AGAIN._________
8C9F   LDY   #$40
8CA1   JSR   addMessage            ; // (_________TO_LET_HIM_GO_FREE_AGAIN._________
8CA4   LDA   #$84
8CA6   STA   OS_HPOSP0_M0PF
8CA9   JSR   drawCurrentPlayerCash
8CAC   LDA   #$98
8CAE   STA   byte_D402
8CB1   LDA   #$1F
8CB3   STA   byte_D403
8CB6   JSR   sub_5E1B
8CB9   LDA   #$9D
8CBB   STA   OS_VDSLST
8CBE   LDA   #$2F
8CC0   STA   OS_VDSLST+1
8CC3   LDA   #$80
8CC5   STA   OS_NMIEN
8CC8   LDA   #0
8CCA   STA   byte_D016
8CCD   LDA   #$F4
8CCF   STA   byte_D017
8CD2   LDA   #$44
8CD4   STA   byte_D019
8CD7   LDA   #$64
8CD9   STA   byte_5C
8CDB
8CDB loc_8CDB:                     ; ...
8CDB   LDY   #8
8CDD
8CDD loc_8CDD:                     ; ...
8CDD   JSR   sub_5E1B
8CE0
8CE0 loc_8CE0:                     ; ...
8CE0   LDA   OS_VCOUNT
8CE3   BNE   loc_8CE0
8CE5   LDA   byte_5C
8CE7   CMP   #$50
8CE9   BCS   loc_8CF6
8CEB   LDX   byte_E7
8CED   LDA   playersAi,X
8CF0   TAX
8CF1   LDA   OS_SIZEP0_M0PL,X
8CF4   BEQ   loc_8D14
8CF6
8CF6 loc_8CF6:                     ; ...
8CF6   DEY
8CF7   BNE   loc_8CDD
8CF9   LDA   OS_SKREST_RANDOM
8CFC   AND   #3
8CFE   BNE   loc_8D10
8D00   LDA   byte_2438
8D03   EOR   #$80
8D05   STA   byte_2438
8D08   LDA   byte_2439
8D0B   EOR   #$80
8D0D   STA   byte_2439
8D10
8D10 loc_8D10:                     ; ...
8D10   DEC   byte_5C
8D12   BNE   loc_8CDB
8D14
8D14 loc_8D14:                     ; ...
8D14   LDA   #0
8D16   JSR   sub_12CA
8D19   JSR   sub_5E1B
8D1C   LDA   #$C0
8D1E   STA   OS_NMIEN
8D21   LDA   #$43
8D23   STA   OS_VDSLST
8D26   LDA   #$2D
8D28
8D28 loc_8D28:
8D28   STA   OS_VDSLST+1
8D2B   LDA   #$CB
8D2D   STA   OS_HPOSM0_P0PF
8D30   LDX   byte_E7
8D32   LDA   #1
8D34   STA   $B2,X
8D36   LDA   #$14
8D38   STA   byte_C5
8D3A   RTS
8D3A ; End of function wampusCaught
8D3A
8D3A ; ---------------------------------------------------------------------------
8D3B roundsWampusBonus:.WORD 100, 200, 300, 400 ; ...
8D3B                               ; roundsWampusBonus [i] Word ($8D3B)
8D3B                               ; Wampus bonuses according to the round.
8D3B                               ;
8D3B                               ; i (roundNum/4) Gambling bonus
8D3B                               ; +0 (round [1; 3]) 100
8D3B                               ; +2 (round [4; 7]) 200
8D3B                               ; +4 (round [8; 11]) 300
8D3B                               ; +6 (round 12) 400
8D43
8D43 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8D43
8D43 ; GAME_SUCCESS:
8D43 ; 0 FAILED..._DISMALLY.__THE_FEDERATION_DEBTORS'_PRISON_IS_YOUR_NEXT_HOME
8D43 ; 1 FAILED..._THE_FEDERATION_WILL_NO_LONGER_SEND_TRADE_SHIPS.__YOU_ARE_ON_YOUR_OWN
8D43 ; 2 SURVIVED..._BARELY.__YOU_WILL_BE_LIVING_IN_TENTS.__FEW_TRADING_SHIPS_WILL_COME_YOUR_WAY
8D43 ; 3 WAS_A_SUCCESS.__YOU_HAVE_MET_THE_MINIMUM_STANDARDS_SET_BY_THE_FEDERATION,_BUT_YOUR_LIFE_WILL_NOT_BE_EASY
8D43 ; 4 SUCCEEDED.__THE_FEDERATION_IS_PLEASED_BY_YOUR_EFFORTS.__YOU_WILL_LIVE_COMFORTABLY
8D43 ; 5 SUCCEEDED..._EXTREMELY_WELL.__YOU_CAN_NOW_RETIRE_IN_ELEGANT_ESTATES
8D43 ; 6 DELIGHTED_THE_FEDERATION_WITH_YOUR_EXCEPTIONAL_ACHIEVEMENT.__YOUR_RETIREMENT_WILL_BE_LUXURIOU
8D43 ;
8D43
8D43 addMessageSuccess:            ; ...
8D43   LDA   #$61                  ; // OVERALL,_THE_COLONY_
8D45   LDY   #$8D
8D47   JSR   addMessage            ; Y/A: High/Low address
8D4A   LDX   successScore          ; X = GAME_SUCCESS
8D4D   CPX   #6
8D4F   BCC   loc_8D53              ; if (X >= 6)
8D51   LDX   #6                    ;   X = 6
8D53
8D53 loc_8D53:                     ; ...
8D53   LDA   successesMessageAddrL,X
8D56   LDY   successesMessageAddrH,X
8D59   JSR   addMessage            ; Y/A: High/Low address
8D5C   INC   byte_55               ; byte_55 ++
8D5E   JMP   addMessageEnd2
8D5E ; End of function addMessageSuccess
8D5E
8D5E ; ---------------------------------------------------------------------------
8D61   .BYTE $CF, $D6, $C5, $D2, $C1, $CC, $CC, $AC, $A0, $D4, $C8, $C5, $A0 ; OVERALL,_THE_COLONY_
8D61   .BYTE $C3, $CF, $CC, $CF, $CE, $D9, $20
8D75
8D75 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8D75
8D75
8D75 addMessageBuySell:            ; ...
8D75   LDA   #1
8D77   STA   byte_8DC1
8D7A   STA   byte_8DC5
8D7D   LDA   #$B3
8D7F   STA   byte_8DC2
8D82   STA   byte_8DC6
8D85
8D85 addMessageBuySell2:           ; ...
8D85   LDX   #0
8D87   STX   byte_90
8D89   LDA   #7
8D8B   STA   byte_55
8D8D   STX   byte_8B
8D8F
8D8F loc_8D8F:                     ; ...
8D8F   LDA   byte_8DC1
8D92   CMP   #1
8D94   BNE   loc_8DBC
8D96   LDY   #1
8D98   LDA   byte_B1B5,X
8D9B   BNE   loc_8D9F
8D9D   LDY   #$11
8D9F
8D9F loc_8D9F:                     ; ...
8D9F   TYA
8DA0   JSR   sub_10BC
8DA3   LDA   byte_9F,X
8DA5   BNE   loc_8DBC
8DA7   LDA   byte_B1B5,X
8DAA   BEQ   loc_8DB6
8DAC   LDA   #$2E                  ; // _SELL_
8DAE   LDY   #$42
8DB0
8DB0 loc_8DB0:                     ; ...
8DB0   JSR   addMessage            ; Y/A: High/Low address
8DB3   JMP   loc_8DCE
8DB6 ; ---------------------------------------------------------------------------
8DB6
8DB6 loc_8DB6:                     ; ...
8DB6   LDA   #$28                  ; // __BUY_
8DB8   LDY   #$42
8DBA   BNE   loc_8DB0
8DBC
8DBC loc_8DBC:                     ; ...
8DBC   LDA   byte_8B
8DBE   ASL   A
8DBF   TAY
8DBF ; ---------------------------------------------------------------------------
8DC0   .BYTE $BE ; ¥
8DC1 byte_8DC1:.BYTE 1             ; ...
8DC2 byte_8DC2:.BYTE $B3           ; ...
8DC3 ; ---------------------------------------------------------------------------
8DC3   INY
8DC3 ; ---------------------------------------------------------------------------
8DC4   .BYTE $B9 ; ¦
8DC5 byte_8DC5:.BYTE 1             ; ...
8DC6 byte_8DC6:.BYTE $B3           ; ...
8DC7 ; ---------------------------------------------------------------------------
8DC7   LDY   #0
8DC9   JSR   decodeNumberAndCharToMessage ; input
8DC9                               ; Y
8DCC   INC   byte_55
8DCE
8DCE loc_8DCE:                     ; ...
8DCE   INC   byte_8B
8DD0   LDX   byte_8B
8DD2   CPX   #4
8DD4   BNE   loc_8D8F
8DD6   RTS
8DD6 ; End of function addMessageBuySell
8DD6
8DD7
8DD7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8DD7
8DD7
8DD7 addMessageBuySell3:           ; ...
8DD7   LDA   #$BA
8DD9   STA   byte_8DC1
8DDC   STA   byte_8DC5
8DDF   LDA   #$B2
8DE1   STA   byte_8DC2
8DE4   STA   byte_8DC6
8DE7   BNE   addMessageBuySell2
8DE7 ; End of function addMessageBuySell3
8DE7
8DE9
8DE9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8DE9
8DE9
8DE9 sub_8DE9:                     ; ...
8DE9   LDY   #0
8DEB   STY   byte_90
8DED   LDA   #7
8DEF   STA   byte_55
8DF1   STY   byte_8B
8DF3
8DF3 loc_8DF3:                     ; ...
8DF3   LDX   byte_B319,Y
8DF6   LDA   #0
8DF8   TAY
8DF9   JSR   decodeNumberAndCharToMessage ; input
8DF9                               ; Y
8DFC   INC   byte_55
8DFE   INC   byte_8B
8E00   LDY   byte_8B
8E02   CPY   #4
8E04   BNE   loc_8DF3
8E06   RTS
8E06 ; End of function sub_8DE9
8E06
8E07
8E07 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E07
8E07
8E07 sub_8E07:                     ; ...
8E07   STA   byte_80
8E07 ; ---------------------------------------------------------------------------
8E09   .BYTE $A9 ; ®
8E0A byte_8E0A:.BYTE $9A           ; ...
8E0B ; ---------------------------------------------------------------------------
8E0B   SEC
8E0C   SBC   byte_80
8E0E   LSR   A
8E0F   LDY   byte_94
8E11   DEY
8E12   BEQ   loc_8E16
8E14   ASL   A
8E15   ASL   A
8E16
8E16 loc_8E16:                     ; ...
8E16   LDX   byte_88
8E18   CLC
8E19   ADC   word_B2E3,X
8E1C   STA   byte_84
8E1E   LDA   #0
8E20   ADC   word_B2E3+1,X
8E23   STA   byte_9B
8E25   RTS
8E25 ; End of function sub_8E07
8E25
8E25 ; ---------------------------------------------------------------------------
8E26   .BYTE $CA ; -
8E27
8E27 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E27
8E27
8E27 sub_8E27:                     ; ...
8E27   SEC
8E28   SBC   word_B2E3,X
8E2B   STA   byte_80
8E2D   TYA
8E2E   SBC   word_B2E3+1,X
8E31   STA   byte_81
8E33   LDY   byte_94
8E35   DEY
8E36   BEQ   loc_8E40
8E38   LSR   byte_81
8E3A   ROR   byte_80
8E3C   LSR   byte_81
8E3E   ROR   byte_80
8E40
8E40 loc_8E40:                     ; ...
8E40   ASL   byte_80
8E40 ; ---------------------------------------------------------------------------
8E42   .BYTE $A9
8E43 byte_8E43:.BYTE $9A           ; ...
8E44 ; ---------------------------------------------------------------------------
8E44   SEC
8E45   SBC   byte_80
8E47   TAY
8E48   STA   byte_80
8E4A   RTS
8E4A ; End of function sub_8E27
8E4A
8E4B
8E4B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E4B
8E4B
8E4B sub_8E4B:                     ; ...
8E4B   LDX   #3
8E4D
8E4D loc_8E4D:                     ; ...
8E4D   LDY   #$D
8E4F   LDA   byte_B309,X
8E52   BEQ   loc_8E57
8E54   INY
8E55   BNE   loc_8E65
8E57
8E57 loc_8E57:                     ; ...
8E57   LDA   byte_A3,X
8E59   CMP   byte_B30D,X
8E5C   BEQ   loc_8E68
8E5E   BCC   loc_8E68
8E60   CMP   byte_B311,X
8E63   BCC   loc_8E67
8E65
8E65 loc_8E65:                     ; ...
8E65   INY
8E66   INY
8E67
8E67 loc_8E67:                     ; ...
8E67   DEY
8E68
8E68 loc_8E68:                     ; ...
8E68   TYA
8E69   STA   byte_E3,X
8E6B   DEX
8E6C   BPL   loc_8E4D
8E6E   RTS
8E6E ; End of function sub_8E4B
8E6E
8E6F
8E6F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E6F
8E6F ; input
8E6F ; byte_8E72
8E6F ; byte_8E73
8E6F
8E6F charTimeFrom8E72:             ; ...
8E6F   LDX   #9
8E6F ; ---------------------------------------------------------------------------
8E71 byte_8E71:.BYTE $BD           ; ...
8E71                               ; LDA abs [X]
8E72 byte_8E72:.BYTE $FF           ; ...
8E73 byte_8E73:.BYTE $FF           ; ...
8E74 ; ---------------------------------------------------------------------------
8E74   STA   charTime,Y
8E77   DEY
8E78   DEX
8E79   BPL   byte_8E71
8E7B   RTS
8E7B ; End of function charTimeFrom8E72
8E7B
8E7C
8E7C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E7C
8E7C
8E7C sub_8E7C:                     ; ...
8E7C   LDA   byte_81
8E7E   STA   byte_A3,X
8E80
8E80 loc_8E80:                     ; ...
8E80   STA   byte_B311,X
8E83   RTS
8E83 ; End of function sub_8E7C
8E83
8E84 ; ---------------------------------------------------------------------------
8E84
8E84 loc_8E84:                     ; ...
8E84   LDX   #$A
8E84 ; ---------------------------------------------------------------------------
8E86   .BYTE $A0 ; á
8E87 off_8E87:.BYTE byte_FF        ; ...
8E88
8E88 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E88
8E88
8E88 sub_8E88:                     ; ...
8E88   LDA   #0
8E8A
8E8A loc_8E8A:                     ; ...
8E8A   STA   charTime,Y
8E8D   DEY
8E8E   DEX
8E8F   BNE   loc_8E8A
8E91   RTS
8E91 ; End of function sub_8E88
8E91
8E92
8E92 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8E92
8E92
8E92 sub_8E92:                     ; ...
8E92   LDA   #$D
8E94   STA   loc_8E80+1
8E97   LDA   #$B3
8E99   STA   loc_8E80+2
8E9C   JSR   sub_8E7C
8E9F   LDA   #$11
8EA1   STA   loc_8E80+1
8EA4   LDA   #$B3
8EA6   STA   loc_8E80+2
8EA9   RTS
8EA9 ; End of function sub_8E92
8EA9
8EAA
8EAA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8EAA
8EAA
8EAA auctionBuySellAi9a:           ; ...
8EAA   LDA   #$14
8EAC   JSR   sub_10BC
8EAF   JSR   sub_12F0
8EB2   LDA   #$40
8EB4   STA   off_9376
8EB7   LDA   #2
8EB9   STA   byte_55
8EBB   TAY
8EBC
8EBC loc_8EBC:                     ; ...
8EBC   JSR   sub_9373
8EBF   INY
8EC0   CPY   #$E
8EC2   BNE   loc_8EBC
8EC4   TXA
8EC5   ROL   A
8EC6   ROL   A
8EC7   ROL   A
8EC8   AND   #3
8ECA   STA   byte_90
8ECC   LDA   byte_91
8ECE   ASL   A
8ECF   ASL   A
8ED0   STA   byte_81
8ED2   LDY   byte_C2
8ED4   INY
8ED5   BMI   loc_8F02
8ED7   ADC   currentPlayer
8ED9   TAX
8EDA   INC   goodsPlayersNb,X
8EDD   LDX   currentPlayer
8EDF   INC   byte_B319,X
8EE2   LDA   byte_B490
8EE5   BEQ   loc_8EEA
8EE7   DEC   byte_B490
8EEA
8EEA loc_8EEA:                     ; ...
8EEA   LDA   playersAi,X
8EED   BPL   loc_8EF2
8EEF   DEC   byte_B487,X
8EF2
8EF2 loc_8EF2:                     ; ...
8EF2   TYA
8EF3   BNE   loc_8F02
8EF5   LDX   byte_91
8EF7   DEC   goodsStoreNb,X
8EFA   BNE   loc_8F60
8EFC   INC   byte_43
8EFE   LDA   #$FF
8F00   BNE   loc_8F59
8F02
8F02 loc_8F02:                     ; ...
8F02   LDY   byte_C2
8F04   BPL   loc_8F16
8F06   LDX   byte_BC
8F08   BNE   loc_8F16
8F0A   LDX   byte_91
8F0C   LDA   goodsStoreNb,X
8F0F   CMP   #$FF
8F11   BEQ   loc_8F16
8F13   INC   goodsStoreNb,X
8F16
8F16 loc_8F16:                     ; ...
8F16   LDA   byte_81
8F18   CLC
8F19   ADC   byte_AD
8F1B   TAX
8F1C   DEC   goodsPlayersNb,X
8F1F   PHP
8F20   STX   byte_81
8F22   LDX   byte_AD
8F24   INC   byte_B319,X
8F27   LDA   byte_B491
8F2A   BEQ   loc_8F2F
8F2C   DEC   byte_B491
8F2F
8F2F loc_8F2F:                     ; ...
8F2F   LDA   playersAi,X
8F32   BPL   loc_8F37
8F34   DEC   byte_B487,X
8F37
8F37 loc_8F37:                     ; ...
8F37   LDX   byte_81
8F39   PLP
8F3A   BEQ   loc_8F50
8F3C   LDY   byte_91
8F3E   CPY   #2
8F40   BCS   loc_8F60
8F42   LDA   goodsPlayersNb,X
8F45   LDY   byte_AD
8F47   CMP   playersGoodReq,Y
8F4A   BNE   loc_8F60
8F4C   LDA   #2
8F4E   BNE   loc_8F59
8F50
8F50 loc_8F50:                     ; ...
8F50   LDX   byte_AD
8F52   LDA   #1
8F54   STA   byte_B309,X
8F57   LDA   #1
8F59
8F59 loc_8F59:                     ; ...
8F59   INC   byte_9D
8F5B   LDX   byte_9D
8F5D   STA   byte_B2AB,X
8F60
8F60 loc_8F60:                     ; ...
8F60   INC   byte_E0
8F62   LDA   #$F
8F64   STA   byte_55
8F66   LDX   byte_E0
8F68   LDA   #0
8F6A   STA   byte_9E
8F6C   JSR   decodeNumberToMessage ; input
8F6C                               ; A/X: nombre 16 bits
8F6F   LDA   #$13
8F71   JSR   sub_10BC
8F74   JMP   sub_8DE9
8F74 ; End of function auctionBuySellAi9a
8F74
8F77
8F77 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8F77
8F77 ; input
8F77 ; byte_44
8F77 ; byte_B2E3 [PLAYERS]
8F77 ; byte_B1B5 [PLAYERS]
8F77 ;
8F77 ; output
8F77 ; byte_B309 [PLAYERS]
8F77 ; byte_B30D [PLAYERS]
8F77
8F77 auctionBuySellAi3:            ; ...
8F77   LDX   #3
8F79   STX   byte_8C
8F7B
8F7B loc_8F7B:                     ; ...
8F7B   LDA   byte_B1B5,X           ; for (int player=3; player>=0; player--) {
8F7E   BNE   loc_8FCB              ;   if (byte_B1B5 [player] == Buyer) {
8F80   LDA   byte_8C
8F82   ASL   A
8F83   TAX
8F84   LDA   plotsTemp3+$11,X
8F87   CMP   priceEnd
8F8A   LDA   plotsTemp3+$12,X
8F8D   SBC   priceEnd+1
8F90   BCC   loc_8F98              ;     if (mapTemp3_11 [player] >= priceEnd) {
8F92   LDX   byte_8C
8F94   LDA   byte_44
8F96   BNE   Label1                ;       // ??
8F96                               ;       if (byte_44 != 0) {
8F96                               ;         goto (Label1)
8F96                               ;       }
8F98
8F98 loc_8F98:                     ; ...
8F98   LDA   plotsTemp3+$12,X
8F9B   LDY   plotsTemp3+$11,X
8F9E   JSR   sub_9053              ; input
8F9E                               ; byte_94:
8F9E                               ; A|Y:
8F9E                               ;
8F9E                               ; output
8F9E                               ; A|Y, byte_84|byte_83 = A|Y - A|Y % 4
8FA1   LDX   byte_8C
8FA3   SEC
8FA4   LDA   byte_83
8FA6   SBC   priceStart
8FA9   LDA   byte_84
8FAB   SBC   priceStart+1
8FAE   BCC   NotEnoughCash         ; if (mapTemp3 [player]~4 < priceStart) {
8FAE                               ;   goto (NotEnoughCash)
8FAE                               ; }
8FB0   LDA   byte_83
8FB2   LDY   byte_84
8FB4   LDX   byte_88
8FB6   JSR   sub_8E27
8FB9   LDX   byte_8C
8FBB
8FBB Label1:                       ; ...
8FBB   STA   byte_B30D,X
8FBE   LDY   byte_BC
8FC0   BEQ   loc_8FCB
8FC2   LDA   #0
8FC4   BEQ   loc_8FC8
8FC6
8FC6 NotEnoughCash:                ; ...
8FC6   LDA   #1
8FC8
8FC8 loc_8FC8:                     ; ...
8FC8   STA   byte_B309,X           ;   }
8FCB
8FCB loc_8FCB:                     ; ...
8FCB   DEC   byte_8C
8FCD   LDX   byte_8C
8FCF   BPL   loc_8F7B              ; } // fin for
8FD1   RTS
8FD1 ; End of function auctionBuySellAi3
8FD1
8FD2
8FD2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
8FD2
8FD2
8FD2 auctionBuySellAi9b:           ; ...
8FD2   LDX   byte_C2
8FD4   INX
8FD5   BMI   loc_9013
8FD7   LDA   currentPlayer
8FD9   ASL   A
8FDA   TAY
8FDB   SEC
8FDC   LDA   playersCash,Y
8FDF   SBC   playersBid,Y
8FE2   STA   playersCash,Y
8FE5   LDA   playersCash+1,Y
8FE8   SBC   playersBid+1,Y
8FEB   STA   playersCash+1,Y       ; // achat unités ?
8FEE   STX   byte_84
8FF0   STY   byte_9B
8FF2   JSR   ai2                   ; input
8FF2                               ; byte_BC: 0 good auction
8FF2                               ;          5 land auction
8FF2                               ; priceStart
8FF2                               ; playersCash
8FF2                               ; mapTemp3_0: estimation (si land action)
8FF2                               ; mapTemp3_8: argent mimnum à garder
8FF2                               ;
8FF2                               ; output
8FF2                               ; mapTemp3_11: l'argent qu'il est pres à investir
8FF2                               ;
8FF2                               ; Si land auction:
8FF2                               ; mapTemp3_0: la valeur estimée de la terre
8FF2                               ; mapTemp3_8: un nombre entre 144 et 399
8FF2                               ; mapTemp3: playerCash - random [144;399]
8FF2                               ;           plafonné par estimation
8FF5   LDX   byte_84
8FF7   LDY   byte_9B
8FF9   LDA   plotsTemp3+$11,Y
8FFC   CMP   playersBid,Y
8FFF   LDA   plotsTemp3+$12,Y
9002   SBC   playersBid+1,Y
9005   BCS   loc_9010
9007   LDA   #$80
9009   INC   byte_9D
900B   LDY   byte_9D
900D   STA   byte_B2AB,Y
9010
9010 loc_9010:                     ; ...
9010   TXA
9011   BEQ   loc_9029
9013
9013 loc_9013:                     ; ...
9013   LDA   byte_AD
9015   ASL   A
9016   TAY
9017   LDA   playersCash,Y
901A   ADC   playersBid,Y
901D   STA   playersCash,Y
9020   LDA   playersCash+1,Y
9023   ADC   playersBid+1,Y
9026   STA   playersCash+1,Y
9029
9029 loc_9029:                     ; ...
9029   LDY   currentPlayer
902B   LDX   byte_C2
902D   INX
902E   BPL   loc_9032
9030   LDY   byte_AD
9032
9032 loc_9032:                     ; ...
9032   LDA   byte_45
9034   CMP   #$FF
9036   BEQ   loc_904B
9038   INC   byte_45
903A   TYA
903B   ASL   A
903C   TAY
903D   LDA   word_70
903F   ADC   playersBid,Y
9042   STA   word_70
9044   LDA   word_70+1
9046   ADC   playersBid+1,Y
9049   STA   word_70+1
904B
904B loc_904B:                     ; ...
904B   LDA   #$12
904D   JSR   sub_10BC
9050   JMP   addMessageBuySell3
9050 ; End of function auctionBuySellAi9b
9050
9053
9053 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9053
9053 ; input
9053 ; byte_94:
9053 ; A|Y:
9053 ;
9053 ; output
9053 ; A|Y, byte_84|byte_83 = A|Y - A|Y % 4
9053
9053 sub_9053:                     ; ...
9053   STA   byte_84
9055   STY   byte_83
9057   LDX   byte_94
9059   DEX
905A   BEQ   locret_9070
905C   LSR   byte_84
905E   ROR   byte_83
9060   LSR   byte_84
9062   ROR   byte_83
9064   ASL   byte_83
9066   ROL   byte_84
9068   ASL   byte_83
906A   ROL   byte_84
906C   LDA   byte_84
906E   LDY   byte_83
9070
9070 locret_9070:                  ; ...
9070   RTS
9070 ; End of function sub_9053
9070
9071
9071 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9071
9071
9071 auctionBuySellAi9:            ; ...
9071   JSR   sub_96B9
9074   LDX   #0
9076   STX   byte_B33C
9079   STX   byte_E0
907B   STX   byte_8E
907D   STX   byte_8F
907F   LDY   currentPlayer
9081   LDA   #$D
9083   LDX   byte_C2
9085   INX
9086   BMI   loc_9093
9088   STA   byte_E3,Y
908B   LDA   byte_A3,Y
908E   STA   byte_8E
9090   TXA
9091   BEQ   loc_909F
9093
9093 loc_9093:                     ; ...
9093   LDY   byte_AD
9095   LDA   #$E
9097   STA   byte_E3,Y
909A   LDA   byte_A3,Y
909D   STA   byte_8F
909F
909F loc_909F:                     ; ...
909F   LDA   byte_8E
90A1   ORA   byte_8F
90A3   STA   byte_EC
90A5   LDA   #$14
90A7   JSR   sub_10BC
90AA   LDA   #0
90AC   STA   byte_55
90AE   STA   byte_90
90B0   JSR   sub_1073
90B3   JSR   sub_12F0
90B6   LDA   #2
90B8   STA   byte_55
90BA   LDA   #$1E                  ; // UNITS_
90BC   LDY   #$41
90BE   JSR   addMessage            ; Y/A: High/Low address
90C1   JSR   addToMessage2         ; byte_81/byte_80: High/Low address
90C4   LDA   #0
90C6   STA   byte_DC
90C8   STA   byte_DA
90CA   STA   byte_DB
90CC
90CC loc_90CC:                     ; ...
90CC   LDA   byte_93
90CE   BPL   loc_9103
90D0   JSR   sub_9993
90D3   LDA   maxIndexCpu
90D5   BMI   loc_90DA
90D7   JSR   auctionBuySellAi12
90DA
90DA loc_90DA:                     ; ...
90DA   LDX   #0
90DC   STX   byte_AE
90DE
90DE loc_90DE:                     ; ...
90DE   LDX   byte_AE
90E0   BEQ   loc_90DE
90E2   JSR   sub_97FB
90E5   LDX   #3
90E7   STX   byte_8C
90E9
90E9 loc_90E9:                     ; ...
90E9   LDA   byte_B309,X
90EC   BNE   loc_90F5
90EE   LDA   byte_9F,X
90F0   BEQ   loc_90F5
90F2   JSR   sub_9514
90F5
90F5 loc_90F5:                     ; ...
90F5   DEC   byte_8C
90F7   LDX   byte_8C
90F9   BPL   loc_90E9
90FB   LDA   #$11
90FD   JSR   sub_10BC
9100   JSR   addMessageBuySell
9103
9103 loc_9103:                     ; ...
9103   LDX   byte_C2
9105   INX
9106   BMI   loc_9111
9108   LDA   byte_DA
910A   CMP   #$D
910C   BEQ   loc_9147
910E   TXA
910F   BEQ   loc_9117
9111
9111 loc_9111:                     ; ...
9111   LDA   byte_DB
9113   CMP   #$E
9115   BEQ   loc_9150
9117
9117 loc_9117:                     ; ...
9117   LDA   byte_C5
9119   BNE   loc_90CC
911B   JSR   auctionBuySellAi9a
911E   JSR   auctionBuySellAi9b
9121   LDX   byte_9D
9123   BPL   loc_9159
9125   LDA   byte_B374
9128   CMP   #2
912A   BCS   loc_912E
912C   LDA   #2
912E
912E loc_912E:                     ; ...
912E   STA   byte_C5
9130   LDA   byte_C4
9132   BNE   loc_913F
9134   LDA   byte_B374
9137   BEQ   loc_913F
9139   DEC   byte_B374
913C   DEC   byte_B374
913F
913F loc_913F:                     ; ...
913F   LDA   #1
9141   JSR   waitJiffy             ; input
9141                               ; A: temps à attendre en jiffy (1/60 seconds)
9144   JMP   loc_90CC
9147 ; ---------------------------------------------------------------------------
9147
9147 loc_9147:                     ; ...
9147   JSR   sub_9758
914A   JSR   sub_937B
914D   JMP   loc_91DB
9150 ; ---------------------------------------------------------------------------
9150
9150 loc_9150:                     ; ...
9150   JSR   sub_977E
9153   JSR   sub_937B
9156   JMP   loc_91DB
9159 ; ---------------------------------------------------------------------------
9159
9159 loc_9159:                     ; ...
9159   JSR   sub_93A9
915C   LDX   currentPlayer
915E   LDA   plotsTemp3+$1A,X
9161   BNE   loc_9183
9163   JSR   C1_255
9166   JSR   sub_5E1B
9169   LDA   #0
916B   STA   byte_C8
916D   LDA   #5
916F   STA   byte_9E
9171   LDA   #$13
9173   STA   OS_SKCTL_SKSTAT
9176   LDA   #$14
9178   JSR   waitJiffy             ; input
9178                               ; A: temps à attendre en jiffy (1/60 seconds)
917B   LDA   #$1E
917D   STA   byte_C3
917F   LDA   #3
9181   STA   byte_C1
9183
9183 loc_9183:                     ; ...
9183   LDY   byte_9D
9185   LDX   byte_B2AB,Y
9188   INX
9189   BEQ   loc_91DB
918B   BPL   loc_919B
918D   LDX   currentPlayer
918F   LDA   playersAi,X
9192   BMI   loc_91DB
9194   LDA   byte_B311,X
9197   STA   byte_8E
9199   BNE   loc_91B8
919B
919B loc_919B:                     ; ...
919B   LDX   byte_AD
919D   LDA   byte_B30D,X
91A0   STA   byte_8F
91A2   LDY   byte_A3,X
91A4   TXA
91A5   LDX   #$18
91A7   JSR   loc_9C0A
91AA   LDX   byte_AD
91AC   LDA   byte_8F
91AE   STA   byte_A3,X
91B0   JSR   sub_8E07
91B3   LDA   byte_AD
91B5   JMP   loc_91CB
91B8 ; ---------------------------------------------------------------------------
91B8
91B8 loc_91B8:                     ; ...
91B8   LDY   byte_A3,X
91BA   TXA
91BB   LDX   #$18
91BD   JSR   loc_9C0A
91C0   LDX   currentPlayer
91C2   LDA   byte_8E
91C4   STA   byte_A3,X
91C6   JSR   sub_8E07
91C9   LDA   currentPlayer
91CB
91CB loc_91CB:                     ; ...
91CB   ASL   A
91CC   TAX
91CD   LDA   byte_84
91CF   STA   playersBid,X
91D2   INX
91D3   LDA   byte_9B
91D5   STA   playersBid,X
91D8   JSR   sub_9838
91DB
91DB loc_91DB:                     ; ...
91DB   DEC   byte_9D
91DD   BPL   loc_9183
91DF   LDX   #$FF
91E1   STX   byte_9D
91E3   INX
91E4   STX   byte_C2
91E6   INX
91E7   STX   byte_AE
91E9   RTS
91E9 ; End of function auctionBuySellAi9
91E9
91EA
91EA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
91EA
91EA
91EA sub_91EA:                     ; ...
91EA   LDA   byte_E1
91EC   BNE   loc_91F1
91EE
91EE loc_91EE:                     ; ...
91EE   JMP   locret_92A8
91F1 ; ---------------------------------------------------------------------------
91F1
91F1 loc_91F1:                     ; ...
91F1   LDA   byte_E2
91F3   BNE   loc_91EE
91F5   INC   byte_E2
91F7   LDA   #0
91F9   STA   byte_B33C
91FC   JSR   sub_96B9
91FF   JSR   C1_255
9202   LDA   #byte_48
9204   STA   OS_COLOR4
9207   LDA   byte_BC
9209   BNE   loc_9215
920B   LDA   #playersButtonPushed+2
920D   STA   byte_300E
9210   LDA   #byte_28
9212   STA   byte_3034
9215
9215 loc_9215:                     ; ...
9215   JSR   sub_A933
9218   JSR   sub_92A9
921B   LDX   #3
921D
921D loc_921D:                     ; ...
921D   LDA   byte_B309,X
9220   STA   byte_B217,X
9223   DEX
9224   BPL   loc_921D
9226   LDA   byte_DE
9228   STA   byte_B21B
922B   LDA   byte_43
922D   STA   byte_B21C
9230   LDA   byte_D3
9232   STA   byte_B21D
9235   LDX   #3
9237
9237 loc_9237:                     ; ...
9237   LDA   byte_97,X
9239   BNE   loc_924C
923B   LDA   #1
923D   STA   byte_B309,X
9240   LDA   #$F
9242   STA   byte_E3,X
9244   LDA   playersColor,X
9247   EOR   #$A
9249   STA   OS_PCOLR0,X
924C
924C loc_924C:                     ; ...
924C   DEX
924D   BPL   loc_9237
924F   LDA   #1
9251   STA   byte_43
9253   LDA   #byte_FF
9255   STA   byte_DE
9257   LDA   #0
9259   LDX   byte_A7
925B   STA   byte_1DB8,X
925E   LDA   byte_BC
9260   BNE   loc_9267
9262   LDX   byte_A8
9264   STA   byte_1DB8,X
9267
9267 loc_9267:                     ; ...
9267   LDA   #$C
9269   STA   byte_3063
926C   LDX   #3
926E   STX   byte_9B
9270   LDX   #0
9272   STX   byte_90
9274   LDX   #2
9276   JSR   sub_1378
9279
9279 loc_9279:                     ; ...
9279   LDA   #$14
927B   JSR   sub_10BC
927E   LDX   #1
9280   STX   byte_55
9282   JSR   sub_1073
9285   LDA   #$14
9287   JSR   waitJiffy             ; input
9287                               ; A: temps à attendre en jiffy (1/60 seconds)
928A   LDA   #$34                  ; // _____COLLUSION
928C   LDY   #$42
928E   JSR   addMessage            ; Y/A: High/Low address
9291   LDA   #$14
9293   JSR   waitJiffy             ; input
9293                               ; A: temps à attendre en jiffy (1/60 seconds)
9296   DEC   byte_9B
9298   BNE   loc_9279
929A   LDA   #byte_32
929C   STA   byte_D3
929E   LDA   #7
92A0   LDX   byte_BC
92A2   BNE   loc_92A6
92A4   LDA   #3
92A6
92A6 loc_92A6:                     ; ...
92A6   STA   byte_C1
92A8
92A8 locret_92A8:                  ; ...
92A8   RTS
92A8 ; End of function sub_91EA
92A8
92A9
92A9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
92A9
92A9
92A9 sub_92A9:                     ; ...
92A9   LDX   #$3F
92AB
92AB loc_92AB:                     ; ...
92AB   LDA   FONT_CHAR5,X
92AE   BEQ   loc_92B5
92B0   EOR   #00010100b
92B2   STA   FONT_CHAR5,X
92B5
92B5 loc_92B5:                     ; ...
92B5   DEX
92B6   BPL   loc_92AB
92B8   RTS
92B8 ; End of function sub_92A9
92B8
92B9
92B9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
92B9
92B9
92B9 sub_92B9:                     ; ...
92B9   JSR   C1_255
92BC   JSR   sub_92A9
92BF   LDA   #8
92C1   STA   OS_COLOR4
92C4   JSR   sub_9356
92C7   LDX   byte_BC
92C9   BEQ   loc_92D0
92CB   LDA   #$26
92CD   STA   byte_300E
92D0
92D0 loc_92D0:                     ; ...
92D0   LDX   #3
92D2
92D2 loc_92D2:                     ; ...
92D2   LDA   byte_97,X
92D4   BNE   loc_92DC
92D6   LDA   byte_B217,X
92D9   STA   byte_B309,X
92DC
92DC loc_92DC:                     ; ...
92DC   DEX
92DD   BPL   loc_92D2
92DF   LDA   byte_B21B
92E2   STA   byte_DE
92E4   LDA   byte_B21C
92E7   STA   byte_43
92E9   LDX   byte_BC
92EB   BNE   loc_9305
92ED   LDX   #3
92EF
92EF loc_92EF:                     ; ...
92EF   LDY   byte_97,X
92F1   BEQ   loc_9302
92F3   LDA   #$AE
92F5   LDY   byte_B1B5,X
92F8   BEQ   loc_92FC
92FA   LDA   #$52
92FC
92FC loc_92FC:                     ; ...
92FC   STA   byte_A3,X
92FE   TXA
92FF   JSR   sub_12CA
9302
9302 loc_9302:                     ; ...
9302   DEX
9303   BPL   loc_92EF
9305
9305 loc_9305:                     ; ...
9305   LDA   #0
9307   STA   byte_E1
9309   STA   byte_E2
930B   STA   byte_D7
930D   STA   byte_96
930F   LDX   #3
9311
9311 loc_9311:                     ; ...
9311   STA   byte_97,X
9313   STA   byte_E8,X
9315   DEX
9316   BPL   loc_9311
9318   LDA   #$26
931A   STA   byte_3063
931D   LDA   byte_B21D
9320   STA   byte_D3
9322   LDA   #$14
9324   JSR   sub_10BC
9327   LDX   #0
9329   STX   byte_55
932B   JSR   sub_1073
932E   LDA   #7
9330   STA   byte_93
9332   LDX   byte_BC
9334   BNE   loc_9338
9336   LDA   #3
9338
9338 loc_9338:                     ; ...
9338   STA   byte_C1
933A   RTS
933A ; End of function sub_92B9
933A
933B
933B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
933B
933B
933B sub_933B:                     ; ...
933B   LDX   #3
933D
933D loc_933D:                     ; ...
933D   LDA   byte_B309,X
9340   BEQ   loc_9352
9342   LDA   playersAi,X
9345   BMI   loc_9352
9347   LDY   #$AE
9349   LDA   byte_B1B5,X
934C   BEQ   loc_9350
934E   LDY   #$52
9350
9350 loc_9350:                     ; ...
9350   STY   byte_A3,X
9352
9352 loc_9352:                     ; ...
9352   DEX
9353   BPL   loc_933D
9355   RTS
9355 ; End of function sub_933B
9355
9356
9356 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9356
9356
9356 sub_9356:                     ; ...
9356   LDX   #3
9358
9358 loc_9358:                     ; ...
9358   LDA   playersColor,X
935B   AND   #$F0
935D   ORA   #2
935F   STA   playersColor,X
9362   STA   OS_PCOLR0,X
9365   DEX
9366   BPL   loc_9358
9368   LDA   #$B6
936A   STA   byte_300E
936D   LDA   #$26
936F   STA   byte_3034
9372   RTS
9372 ; End of function sub_9356
9372
9373
9373 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9373
9373
9373 sub_9373:                     ; ...
9373   LDA   (byte_5C),Y
9373 ; ---------------------------------------------------------------------------
9375   .BYTE $49 ; I
9376 off_9376:.BYTE byte_40        ; ...
9377 ; ---------------------------------------------------------------------------
9377   STA   ($5C),Y
9379   TAX
937A   RTS
937A ; End of function sub_9373
937A
937B
937B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
937B
937B
937B sub_937B:                     ; ...
937B   JSR   sub_96B9
937E   LDA   #$18
9380   STA   byte_DC
9382   BNE   sub_9387
9382 ; End of function sub_937B
9382
9384
9384 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9384
9384
9384 addToMessage3:                ; ...
9384   JSR   addMessage            ; Y/A: High/Low address
9384 ; End of function addToMessage3
9384
9387
9387 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9387
9387
9387 sub_9387:                     ; ...
9387   LDA   byte_E1
9389   BEQ   loc_939C
938B   LDX   #3
938D
938D loc_938D:                     ; ...
938D   LDA   byte_97,X
938F   BEQ   loc_9397
9391   LDA   playersColor,X
9394   STA   OS_PCOLR0,X
9397
9397 loc_9397:                     ; ...
9397   DEX
9398   BPL   loc_938D
939A   BMI   loc_939F
939C
939C loc_939C:                     ; ...
939C   JSR   sub_9356
939F
939F loc_939F:                     ; ...
939F   LDA   #0
93A1   STA   byte_B326
93A4   LDA   #$14
93A6   STA   byte_C3
93A8   RTS
93A8 ; End of function sub_9387
93A8
93A9
93A9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
93A9
93A9
93A9 sub_93A9:                     ; ...
93A9   JSR   sub_96B9
93AC   LDA   byte_9D
93AE   STA   byte_B2AB+4
93B1
93B1 loc_93B1:                     ; ...
93B1   LDA   #$14
93B3   STA   byte_DC
93B5   JSR   sub_10BC
93B8   LDX   #1
93BA   STX   byte_55
93BC   JSR   sub_1073
93BF   LDX   #2
93C1   STX   byte_90
93C3   LDY   byte_B2AB+4
93C6   LDX   byte_B2AB,Y
93C9   INX
93CA   BEQ   loc_942E
93CC   BMI   loc_9405
93CE   CPX   #3
93D0   BEQ   loc_93DE
93D2   JSR   sub_12F0
93D5   LDA   #$3E                  ; // __SELLER'S_RUN_DRY!{$E}
93D7   LDY   #$41
93D9   JSR   addToMessage3
93DC   BNE   loc_9402
93DE
93DE loc_93DE:                     ; ...
93DE   LDA   #$F0                  ; // _____SELLER_AT
93E0   LDY   #$41
93E2   JSR   addMessage            ; Y/A: High/Low address
93E5   JSR   sub_12F0
93E8   LDA   #0
93EA   STA   byte_55
93EC   JSR   addToMessage2         ; byte_81/byte_80: High/Low address
93EF   LDY   level
93F1   BEQ   loc_93FB
93F3   LDX   maxIndexCpu
93F5   BMI   loc_9402
93F7   CPX   byte_AD
93F9   BCC   loc_9402
93FB
93FB loc_93FB:                     ; ...
93FB   LDA   #1
93FD   LDX   byte_AD
93FF   STA   byte_B309,X
9402
9402 loc_9402:                     ; ...
9402   JMP   loc_944F
9405 ; ---------------------------------------------------------------------------
9405
9405 loc_9405:                     ; ...
9405   LDX   currentPlayer
9407   LDA   playersAi,X
940A   BPL   loc_9418
940C   LDA   #0
940E   STA   byte_B487,X
9411   LDA   #1
9413   STA   plotsTemp3+$1A,X
9416   BNE   loc_9429
9418
9418 loc_9418:                     ; ...
9418   LDA   #$64                  ; // _BUYER'S_STRAPPED
941A   LDY   #$41
941C   JSR   addMessage            ; Y/A: High/Low address
941F   JSR   sub_12F0
9422   LDA   #0
9424   STA   byte_55
9426   JSR   addToMessage2         ; byte_81/byte_80: High/Low address
9429
9429 loc_9429:                     ; ...
9429   JSR   sub_9387
942C   BNE   loc_944F
942E
942E loc_942E:                     ; ...
942E   JSR   sub_12F0
9431   LDA   #$2A                  ; // __STORE_HAS_RUN_DRY!
9433   LDY   #$41
9435   JSR   addToMessage3
9438   JSR   loc_8E84
943B   LDA   #0
943D   STA   byte_90
943F   LDA   #2
9441   JSR   sub_10BC
9444   LDA   #$20
9446   STA   byte_55
9448   LDA   #$AA                  ; // _____
944A   LDY   #$3A
944C   JSR   addMessage            ; Y/A: High/Low address
944F
944F loc_944F:                     ; ...
944F   JSR   sub_937B
9452   LDA   #$28
9454   STA   byte_C3
9456   DEC   byte_B2AB+4
9459   BMI   locret_945E
945B   JMP   loc_93B1
945E ; ---------------------------------------------------------------------------
945E
945E locret_945E:                  ; ...
945E   RTS
945E ; End of function sub_93A9
945E
945F
945F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
945F
945F
945F sub_945F:                     ; ...
945F   LDX   #$F0
9461   STX   byte_301F
9464   LDX   #$1A
9466   STX   byte_3020
9469   LDA   #$78
946B
946B loc_946B:                     ; ...
946B   STY   byte_300E
946E   STA   byte_2FF1
9471   CLC
9472   ADC   #4
9474   STA   byte_2FF6
9477   ADC   #4
9479   STA   byte_2FFB
947C   ADC   #4
947E   STA   byte_3000
9481   RTS
9481 ; End of function sub_945F
9481
9482
9482 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9482
9482
9482 sub_9482:                     ; ...
9482   LDX   #$A2
9484   STX   byte_301F
9487   LDX   #$40
9489   STX   byte_3020
948C   LDA   #$B0
948E   LDY   #$B6
9490   BNE   loc_946B
9492
9492 loc_9492:                     ; ...
9492   DEC   byte_D3
9494   LDA   #$D
9496   JSR   sub_10BC
9499   LDA   #$25
949B   STA   byte_55
949D   LDA   #0
949F   STA   byte_90
94A1   LDA   byte_D3
94A3   TAX
94A4   AND   #7
94A6   PHA
94A7   TXA
94A8   LSR   A
94A9   LSR   A
94AA   LSR   A
94AB   TAX
94AC   BEQ   loc_94B9
94AE
94AE loc_94AE:                     ; ...
94AE   LDA   #9
94B0   JSR   sub_10FB
94B3   JSR   sub_9828
94B6   DEX
94B7   BNE   loc_94AE
94B9
94B9 loc_94B9:                     ; ...
94B9   PLA
94BA   BEQ   loc_94C5
94BC   CLC
94BD   ADC   #9
94BF   JSR   sub_10FB
94C2   JSR   sub_9828
94C5
94C5 loc_94C5:                     ; ...
94C5   LDA   #0
94C7   JSR   sub_10FB
94CA   LDA   byte_D3
94CC   RTS
94CC ; End of function sub_9482
94CC
94CD
94CD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
94CD
94CD
94CD addMessageMoneyUnits:         ; ...
94CD   LDA   #0
94CF   STA   byte_90
94D1   LDA   #$12
94D3   JSR   sub_10BC
94D6   LDA   #2
94D8   STA   byte_55
94DA   LDA   #$19                  ; // MONEY
94DC   LDY   #$41
94DE   JSR   addMessage            ; Y/A: High/Low address
94E1   JSR   addMessageBuySell3
94E4   LDA   #$20
94E6   STA   byte_55
94E8   LDA   #$19                  ; // MONEY
94EA   LDY   #$41
94EC   JSR   addMessage            ; Y/A: High/Low address
94EF   LDA   #$13
94F1   JSR   sub_10BC
94F4   LDX   byte_BC
94F6   CPX   #5
94F8   BEQ   locret_9513
94FA   LDA   #2
94FC   STA   byte_55
94FE   LDA   #$1E                  ; // UNITS_
9500   LDY   #$41
9502   JSR   addMessage            ; Y/A: High/Low address
9505   LDA   #$20
9507   STA   byte_55
9509   JSR   addToMessage2         ; byte_81/byte_80: High/Low address
950C   LDA   #7
950E   STA   byte_55
9510   JSR   sub_8DE9
9513
9513 locret_9513:                  ; ...
9513   RTS
9513 ; End of function addMessageMoneyUnits
9513
9514
9514 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9514
9514
9514 sub_9514:                     ; ...
9514   LDA   byte_A3,X
9516   JSR   sub_8E07
9519   LDA   byte_8C
951B   ASL   A
951C   TAX
951D   STX   byte_80
951F   LDA   byte_84
9521   STA   playersBid,X
9524   LDA   byte_9B
9526   STA   playersBid+1,X
9529   RTS
9529 ; End of function sub_9514
9529
952A
952A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
952A
952A
952A animAuctionOrCollusionOver:   ; ...
952A   JSR   sub_96B9
952A ; End of function animAuctionOrCollusionOver
952A
952D
952D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
952D
952D
952D animAuctionOrCollusionOver2:  ; ...
952D   LDA   #$14
952F   JSR   sub_10BC
9532   LDA   byte_E1
9534   BEQ   loc_9553
9536   LDA   #0
9538   STA   byte_90
953A   STA   byte_55
953C   JSR   sub_1073
953F   INC   byte_55
9541   JSR   sub_12F0
9544   LDA   #$42                  ; // _COLLUSION_IS_OVER
9546   LDY   #$42
9548   JSR   addMessage            ; Y/A: High/Low address
954B   LDX   #2
954D   JSR   sub_1378
9550   JMP   loc_9590
9553 ; ---------------------------------------------------------------------------
9553
9553 loc_9553:                     ; ...
9553   LDA   #$40
9555   STA   off_9376
9558   LDX   #2
955A   STX   byte_90
955C   LDX   #0
955E   STX   byte_55
9560   JSR   sub_1073
9563   INC   byte_55
9565   JSR   sub_12F0
9568   LDA   #$52                  ; // ___AUCTION_IS_OVER
956A   LDY   #$41
956C   JSR   addMessage            ; Y/A: High/Low address
956F   LDX   #4
9571   JSR   sub_1378
9574   LDA   #$32
9576   JSR   waitJiffy             ; input
9576                               ; A: temps à attendre en jiffy (1/60 seconds)
9579   LDA   #3
957B   STA   byte_8C
957D
957D loc_957D:                     ; ...
957D   LDY   #3
957F
957F loc_957F:                     ; ...
957F   JSR   sub_9373
9582   LDA   #0
9584   JSR   waitJiffy             ; input
9584                               ; A: temps à attendre en jiffy (1/60 seconds)
9587   INY
9588   CPY   #$12
958A   BNE   loc_957F
958C   DEC   byte_8C
958E   BNE   loc_957D
9590
9590 loc_9590:                     ; ...
9590   LDA   #$32
9592   JMP   waitJiffy             ; input
9592 ; End of function animAuctionOrCollusionOver2 ; A: temps à attendre en jiffy (1/60 seconds)
9592
9595
9595 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9595
9595
9595 sub_9595:                     ; ...
9595   LDA   #0
9597   STA   byte_D8
9599   STA   byte_EE
959B   LDX   byte_F0
959D   BMI   loc_95B4
959F   LDA   byte_BD,X
95A1   ORA   byte_E3,X
95A3   CMP   #$F
95A5   BEQ   loc_95B4
95A7   LDX   #3
95A9
95A9 loc_95A9:                     ; ...
95A9   CPX   byte_F0
95AB   BEQ   loc_95B1
95AD   LDA   #$F
95AF   STA   byte_E3,X
95B1
95B1 loc_95B1:                     ; ...
95B1   DEX
95B2   BPL   loc_95A9
95B4
95B4 loc_95B4:                     ; ...
95B4   LDX   byte_49
95B6   BMI   loc_95C2
95B8   LDA   byte_BD,X
95BA   ORA   byte_E3,X
95BC   CMP   #$E
95BE   BNE   loc_95C2
95C0   INC   byte_D8
95C2
95C2 loc_95C2:                     ; ...
95C2   LDX   #3
95C4   STX   byte_D9
95C6
95C6 loc_95C6:                     ; ...
95C6   TXA
95C7   ASL   A
95C8   STA   byte_ED
95CA   LDA   byte_EE
95CC   BNE   loc_9639
95CE   LDA   byte_BD,X
95D0   ORA   byte_E3,X
95D2   LDY   byte_BC
95D4   BEQ   loc_95EA
95D6   CPX   byte_F0
95D8   BNE   loc_95EA
95DA   CMP   #$E
95DC   BNE   loc_95E2
95DE   INC   byte_EE
95E0   BNE   loc_961A
95E2
95E2 loc_95E2:                     ; ...
95E2   CMP   #$D
95E4   BNE   loc_9639
95E6   DEC   byte_EE
95E8   BNE   loc_961A
95EA
95EA loc_95EA:                     ; ...
95EA   LDY   byte_D8
95EC   BEQ   loc_95FD
95EE   CMP   #$E
95F0   BEQ   loc_961A
95F2   LDY   byte_B1B5,X
95F5   BNE   loc_95FD
95F7   LDY   #0
95F9   LDA   byte_A3,X
95FB   BNE   loc_9607
95FD
95FD loc_95FD:                     ; ...
95FD   CMP   #$F
95FF   BEQ   loc_9639
9601   AND   #3
9603   TAY
9604   DEY
9605   LDA   byte_A3,X
9607
9607 loc_9607:                     ; ...
9607   CLC
9608   ADC   unk_427F,Y
9608 ; ---------------------------------------------------------------------------
960B   .BYTE $C9 ; +               ; CMP
960C byte_960C:.BYTE $AF           ; ...
960D ; ---------------------------------------------------------------------------
960D   BCS   loc_9639
960F   LDY   byte_B1B5,X
9612   BNE   loc_9618
9614   CMP   #$54
9616   BCC   loc_961A
9618
9618 loc_9618:                     ; ...
9618   STA   byte_A3,X
961A
961A loc_961A:                     ; ...
961A   LDA   byte_B1B5,X
961D   BNE   loc_9623
961F   LDA   #$C0
9621   BNE   loc_9625
9623
9623 loc_9623:                     ; ...
9623   LDA   #$90
9625
9625 loc_9625:                     ; ...
9625   STA   byte_B2FD,X
9628   LDA   byte_B315,X
962B   EOR   #$18
962D   STA   byte_B315,X
9630   CLC
9631   ADC   byte_B2FD,X
9634   STA   byte_B2FD,X
9637   BCC   loc_964A
9639
9639 loc_9639:                     ; ...
9639   LDA   byte_B1B5,X
963C   BNE   loc_9645
963E   LDA   #$F0
9640   STA   byte_B2FD,X
9643   BNE   loc_964A
9645
9645 loc_9645:                     ; ...
9645   LDA   #$60
9647   STA   byte_B2FD,X
964A
964A loc_964A:                     ; ...
964A   LDY   byte_ED
964C   LDA   byte_A3,X
964E   SEC
964F   SBC   #$14
9651   STA   byte_96A7
9654   SEC
9655   SBC   #4
9657   STA   off_966E
965A   LDA   byte_B2FD,X
965D   TAX
965E   LDA   byte_D9
9660   CLC
9661   ADC   #$BC
9663   STA   byte_96A8
9666   STA   off_966F
9669   LDY   #3
966B   LDA   #0
966B ; ---------------------------------------------------------------------------
966D byte_966D:.BYTE $99           ; ...
966D                               ; STA
966E off_966E:.BYTE byte_FF        ; ...
966F off_966F:.BYTE byte_FF        ; ...
9670 ; ---------------------------------------------------------------------------
9670   DEY
9671   BPL   byte_966D
9673   LDX   byte_D9
9675   LDY   byte_ED
9677   LDA   $909,Y
967A   INY
967B   CLC
967C   ADC   byte_B2FD,X
967F   STA   byte_D4
9681   LDA   $909,Y
9684   ADC   #0
9686   STA   byte_D5
9688   LDY   #0
968A   LDX   byte_ED
968C   LDA   ($D4),Y
968E   BEQ   loc_969B
9690   LDY   byte_D9
9692   LDA   $930,Y
9695   STA   OS_AUDF1_POT1,X
9698   LDA   $934,Y
969B
969B loc_969B:                     ; ...
969B   STA   OS_AUDC1_POT2,X
969E   LDY   #0
96A0   TYA
96A1   TAX
96A2   BEQ   byte_96A6
96A4
96A4 loc_96A4:                     ; ...
96A4   LDA   ($D4),Y
96A4 ; ---------------------------------------------------------------------------
96A6 byte_96A6:.BYTE $9D           ; ...
96A6                               ; STA
96A7 byte_96A7:.BYTE 0             ; ...
96A8 byte_96A8:.BYTE $FF           ; ...
96A9 ; ---------------------------------------------------------------------------
96A9   INY
96AA   INX
96AB   CPX   #$18
96AD   BNE   loc_96A4
96AF   DEC   byte_D9
96B1   LDX   byte_D9
96B3   BMI   locret_96B8
96B5   JMP   loc_95C6
96B8 ; ---------------------------------------------------------------------------
96B8
96B8 locret_96B8:                  ; ...
96B8   RTS
96B8 ; End of function sub_9595
96B8
96B9
96B9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
96B9
96B9
96B9 sub_96B9:                     ; ...
96B9   LDX   #3
96BB   LDA   #$F
96BD
96BD loc_96BD:                     ; ...
96BD   STA   byte_E3,X
96BF   DEX
96C0   BPL   loc_96BD
96C2   STX   byte_93
96C4   INX
96C5   STX   byte_AE
96C7
96C7 loc_96C7:                     ; ...
96C7   LDX   byte_AE
96C9   BEQ   loc_96C7
96CB   RTS
96CB ; End of function sub_96B9
96CB
96CC
96CC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
96CC
96CC
96CC sub_96CC:                     ; ...
96CC   JSR   sub_5E1B
96CF   LDA   #$50
96D1   STA   OS_SDLSTL
96D4   LDA   #$1E
96D6   STA   OS_SDLSTL+1
96D9   LDA   #$DC
96DB   STA   OS_VDSLST
96DE   LDA   #$2F
96E0   STA   OS_VDSLST+1
96E3   LDA   #$C0
96E5   STA   OS_NMIEN
96E8   LDA   #$3E
96EA   STA   OS_SDMCTL
96ED   LDA   #3
96EF   STA   OS_CDTMV1
96F2   RTS
96F2 ; End of function sub_96CC
96F2
96F3
96F3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
96F3
96F3 ; lastBidStartLa = byte_73|byte_72 / byte_49
96F3
96F3 B2FB_72div49:                 ; ...
96F3   LDA   word_72
96F5   ORA   word_72+1
96F7   BNE   loc_96FA
96F9
96F9 locret_96F9:                  ; ...
96F9   RTS
96FA ; ---------------------------------------------------------------------------
96FA
96FA loc_96FA:                     ; ...
96FA   LDX   byte_49
96FC   BEQ   locret_96F9
96FE   LDA   word_72
9700   LDY   word_72+1
9702   JSR   div16Bits             ; input
9702                               ; Y/A: Numérateur 16 bits
9702                               ; X:   Diviseur
9702                               ; output
9702                               ; Y/A, byte_82/byte_81: Résultat
9702                               ;      byte_84/byte_83: Reste
9702                               ;
9702                               ; Y/A /= X
9705   STA   lastBidStartLa
9708   LDA   byte_82
970A   STA   lastBidStartLa+1      ; word_B2FB = byte_73|byte_72 / byte_49
970A ; End of function B2FB_72div49
970A
970D
970D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
970D
970D
970D B2FB_94:                      ; ...
970D   LDA   #27
970F   LDY   byte_94
9711   JSR   mul8BitsBy8Bits       ; input
9711                               ; A: left operand
9711                               ; Y: right operand
9711                               ; output
9711                               ; Y/A, byte_81/byte_82: A * Y
9714   LDA   lastBidStartLa
9717   SEC
9718   SBC   byte_82
971A   STA   lastPriceStartLa
971D   LDA   lastBidStartLa+1
9720   SBC   byte_81
9722   STA   lastPriceStartLa+1    ; word_B2ED = word_B2FB - (27*byte_94)
9725   BCS   loc_9733              ; if (word_B2ED < 0) {
9727
9727 Label1:                       ; ...
9727   LDA   #0                    ;   Label1:
9729   STA   lastPriceStartLa+1
972C   LDA   byte_94
972E   STA   lastPriceStartLa      ;   word_B2ED = 0|byte_94
9731   BNE   Label2                ;   if (word_B2ED != 0) {
9731                               ;     goto (Label2)
9731                               ;   }
9731                               ; }
9733
9733 loc_9733:                     ; ...
9733   LDA   lastPriceStartLa
9736   CMP   byte_94
9738   LDA   lastPriceStartLa+1
973B   SBC   #0
973D   BCC   Label1                ; if (word_B2ED < 0|byte_94) {
973D                               ;   goto (Label1)
973D                               ; }
973D                               ; Label2:
973F
973F Label2:                       ; ...
973F   LDA   #12
9741   LDY   byte_94
9743   JSR   mul8BitsBy8Bits       ; input
9743                               ; A: left operand
9743                               ; Y: right operand
9743                               ; output
9743                               ; Y/A, byte_81/byte_82: A * Y
9746   LDA   lastPriceStartLa
9749   CLC
974A   ADC   byte_82
974C   STA   lastBidStartLa
974F   LDA   lastPriceStartLa+1
9752   ADC   byte_81
9754   STA   lastBidStartLa+1      ; word_B2FB = word_B2ED + (12*byte_94)
9757   RTS
9757 ; End of function B2FB_94
9757
9758
9758 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9758
9758
9758 sub_9758:                     ; ...
9758   LDA   currentPlayer
975A   STA   byte_80
975C   TAX
975D   ASL   A
975E   PHA
975F   CLC
9760   LDA   byte_A3,X
9762   ADC   #2
9764
9764 loc_9764:                     ; ...
9764   STA   byte_A3,X
9766   TAY
9767   LDX   #2
9769   LDA   byte_80
976B   JSR   sub_12CA
976E   JSR   sub_8E07
9771   PLA
9772   TAX
9773   LDA   byte_84
9775   STA   playersBid,X
9778   LDA   byte_9B
977A   STA   playersBid+1,X
977D   RTS
977D ; End of function sub_9758
977D
977E
977E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
977E
977E
977E sub_977E:                     ; ...
977E   LDA   byte_AD
9780   STA   byte_80
9782   TAX
9783   ASL   A
9784   PHA
9785   SEC
9786   LDA   byte_A3,X
9788   SBC   #2
978A   JMP   loc_9764
978A ; End of function sub_977E
978A
978D
978D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
978D
978D
978D sub_978D:                     ; ...
978D   LDA   byte_AD
978F   TAX
9790   ASL   A
9791   STA   byte_80
9793   LDA   currentPlayer
9795   ASL   A
9796   STA   byte_81
9798   LDA   byte_A3,X
979A   LDX   currentPlayer
979C   STA   byte_A3,X
979E   LDX   byte_80
97A0   LDY   byte_81
97A2   LDA   playersBid,X
97A5   STA   playersBid,Y
97A8   LDA   playersBid+1,X
97AB   STA   playersBid+1,Y
97AE   LDA   byte_A7
97B0   STA   byte_47
97B2   LDX   currentPlayer
97B4   BPL   loc_97BA
97B6   LDA   #byte_47
97B8   BNE   loc_97BF
97BA
97BA loc_97BA:                     ; ...
97BA   SEC
97BB   LDA   byte_A3,X
97BD   SBC   #byte_53
97BF
97BF loc_97BF:                     ; ...
97BF   STA   byte_A7
97C1   LDX   #0
97C3   STX   byte_A9
97C5
97C5 loc_97C5:                     ; ...
97C5   LDX   byte_A9
97C7   BEQ   loc_97C5
97C9   RTS
97C9 ; End of function sub_978D
97C9
97CA
97CA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
97CA
97CA ; byte_91: good auction (good à acheter/vendre)
97CA ; 2 Smithore
97CA ; 3 Crystite
97CA ; 0 Food
97CA ; 1 Energy
97CA
97CA goodAuction:                  ; ...
97CA   LDA   byte_91
97CC   CMP   #2
97CE   BCC   Auction               ; if (goodAuction >= 2) { // si Smithore ou Crystite
97D0   ASL   A
97D1   ASL   A
97D2   ADC   #3
97D4   TAY
97D5   LDX   #3
97D7
97D7 loc_97D7:                     ; ...
97D7   LDA   goodsPlayersNb,Y      ;   for (int player=3; player>=0; player--) {
97DA   ORA   goodsPlayersProd,Y    ;     if ((goodsPlayersNb  [goodAuction] [player] != 0) ||
97DA                               ;         (expsPlayersProd [goodAuction] [player] != 0)) {
97DA                               ;       goto (Auction);
97DA                               ;     }
97DD   BNE   Auction
97DF   DEY
97E0   DEX
97E1   BPL   loc_97D7              ;   }
97E3   LDX   byte_91
97E5   LDA   goodsStoreNb,X
97E8   BNE   Auction               ;   if (goodsStoreNb [goodAuction] != 0) {
97E8                               ;     goto (Auction);
97E8                               ;   }
97EA   RTS                         ;   // rien à acheter/vendre -> no auction
97EA                               ;   return;
97EA                               ; }
97EB ; ---------------------------------------------------------------------------
97EB
97EB Auction:                      ; ...
97EB   JSR   animUsageSpoilageProd ; byte_91: good auction (good à acheter/vendre)
97EB                               ; 2 Smithore
97EB                               ; 3 Crystite
97EB                               ; 0 Food
97EB                               ; 1 Energy
97EE   JSR   animSelectBuySell     ; byte_91: good auction (good à acheter/vendre)
97EE                               ; 2 Smithore
97EE                               ; 3 Crystite
97EE                               ; 0 Food
97EE                               ; 1 Energy
97F1   JSR   C1_255
97F4   LDA   #0
97F6   STA   byte_BC
97F8   JMP   auctionBuySell        ; input
97F8 ; End of function goodAuction ; byte_BC: 0 good auction
97F8                               ;          5 land auction
97F8                               ; byte_91: goodAuction ou nb terre restant a vendre
97F8                               ;
97F8                               ; output
97F8                               ; si land auction, currentPlayer: gagnant
97FB
97FB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
97FB
97FB
97FB sub_97FB:                     ; ...
97FB   LDX   #3
97FD
97FD loc_97FD:                     ; ...
97FD   LDA   byte_B1B5,X
9800   BNE   loc_980E
9802   LDY   #1
9804   LDA   byte_A3,X
9806   CMP   #$9B
9808   BCC   loc_980B
980A   DEY
980B
980B loc_980B:                     ; ...
980B   TYA
980C   STA   byte_9F,X
980E
980E loc_980E:                     ; ...
980E   DEX
980F   BPL   loc_97FD
9811   LDX   #3
9813
9813 loc_9813:                     ; ...
9813   LDA   byte_B1B5,X
9816   BEQ   loc_9824
9818   LDY   #1
981A   LDA   byte_A3,X
981C   CMP   #$54
981E   BCS   loc_9821
9820   DEY
9821
9821 loc_9821:                     ; ...
9821   TYA
9822   STA   byte_9F,X
9824
9824 loc_9824:                     ; ...
9824   DEX
9825   BPL   loc_9813
9827   RTS
9827 ; End of function sub_97FB
9827
9828
9828 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9828
9828
9828 sub_9828:                     ; ...
9828   SEC
9829   LDA   byte_5C
982B   SBC   #byte_28
982D   STA   byte_5C
982F   BCS   loc_9833
9831   DEC   byte_5D
9833
9833 loc_9833:                     ; ...
9833   DEC   byte_54
9835   DEC   byte_55
9837   RTS
9837 ; End of function sub_9828
9837
9838
9838 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9838
9838
9838 sub_9838:                     ; ...
9838   LDX   #$47
983A   LDA   #0
983C
983C loc_983C:                     ; ...
983C   STA   byte_1DB8,X
983F   DEX
9840   BPL   loc_983C
9842   RTS
9842 ; End of function sub_9838
9842
9843
9843 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9843
9843
9843 sub_9843:                     ; ...
9843   STX   byte_49
9843 ; End of function sub_9843
9843
9845
9845 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9845
9845
9845 sub_9845:                     ; ...
9845   LDX   #3
9847   STX   byte_8C
9849
9849 loc_9849:                     ; ...
9849   LDY   #$D
984B   LDA   byte_B309,X
984E   BEQ   loc_9853
9850   INY
9851   BNE   loc_988A
9853
9853 loc_9853:                     ; ...
9853   LDA   byte_B1B5,X
9856   BEQ   loc_9863
9858   LDA   byte_A3,X
985A   CMP   byte_B30D,X
985D   BEQ   loc_988D
985F   BCC   loc_988D
9861   BCS   loc_9885
9863
9863 loc_9863:                     ; ...
9863   TXA
9864   ASL   A
9865   TAX
9866   LDA   playersBid,X
9869   CLC
986A   ADC   byte_94
986C   STA   byte_80
986E   LDA   playersBid+1,X
9871   ADC   #0
9873   STA   byte_81
9875   LDA   plotsTemp3+$11,X
9878   CMP   byte_80
987A   LDA   plotsTemp3+$12,X
987D   SBC   byte_81
987F   BCC   loc_988D
9881   LDX   byte_8C
9883   LDA   byte_A3,X
9885
9885 loc_9885:                     ; ...
9885   CMP   byte_B311,X
9888   BCC   loc_988C
988A
988A loc_988A:                     ; ...
988A   INY
988B   INY
988C
988C loc_988C:                     ; ...
988C   DEY
988D
988D loc_988D:                     ; ...
988D   TYA
988E   LDX   byte_8C
9890   STA   byte_E3,X
9892   DEC   byte_8C
9894   LDX   byte_8C
9896   BPL   loc_9849
9898   RTS
9898 ; End of function sub_9845
9898
9899
9899 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9899
9899
9899 sub_9899:                     ; ...
9899   LDX   #$FF
989B   STX   byte_49
989D   INX
989E   STX   byte_80
98A0   LDA   byte_D8
98A2   BNE   loc_98A7
98A4   JMP   locret_990E
98A7 ; ---------------------------------------------------------------------------
98A7
98A7 loc_98A7:                     ; ...
98A7   LDX   byte_88
98A9   LDA   word_B2E3,X
98AC   CLC
98AD   ADC   byte_94
98AF   STA   word_B2E3,X
98B2   LDA   word_B2E3+1,X
98B5   ADC   #0
98B7   STA   word_B2E3+1,X
98BA   LDA   priceStart
98BD   CLC
98BE   ADC   byte_94
98C0   STA   priceStart
98C3   LDA   priceStart+1
98C6   ADC   #0
98C8   STA   priceStart+1
98CB   LDA   priceEnd
98CE   CLC
98CF   ADC   byte_94
98D1   STA   priceEnd
98D4   LDA   priceEnd+1
98D7   ADC   #0
98D9   STA   priceEnd+1
98DC   LDA   #0
98DE   STA   byte_D8
98E0   INC   byte_80
98E2   LDA   byte_BC
98E4   BNE   locret_990E
98E6   LDA   byte_DF
98E8   BNE   locret_990E
98EA   INC   byte_DF
98EC   LDX   #$A
98EE   LDY   #byte_9A
98F0   JSR   sub_8E88
98F3   LDA   #$F
98F5   JSR   sub_10BC
98F8   LDA   #2
98FA   STA   byte_55
98FC   LDA   #0
98FE   STA   byte_90
9900   LDA   #$AA                  ; // _____
9902   LDY   #$3A
9904   JSR   addMessage            ; Y/A: High/Low address
9907   DEC   byte_DE
9909   LDA   #0
990B   STA   byte_1DFF
990E
990E locret_990E:                  ; ...
990E   RTS
990E ; End of function sub_9899
990E
990F
990F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
990F
990F
990F sub_990F:                     ; ...
990F   LDA   byte_C3
9911   ORA   byte_B326
9914   BNE   locret_9925
9916   DEC   byte_B326
9919   LDA   #$14
991B   JSR   sub_10BC
991E   LDX   #0
9920   STX   byte_55
9922   JSR   sub_1073
9925
9925 locret_9925:                  ; ...
9925   RTS
9925 ; End of function sub_990F
9925
9926
9926 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9926
9926
9926 sub_9926:                     ; ...
9926   LDY   level
9928   CPY   #2
992A   BNE   locret_9992
992C   LDX   #3
992E
992E loc_992E:                     ; ...
992E   LDA   $E8,X
9930   BMI   loc_9946
9932   BEQ   loc_9946
9934   LDA   $B2,X
9936   BNE   loc_9946
9938   LDA   #$A
993A   STA   byte_96
993C   INC   byte_D7
993E   LDA   #1
9940   STA   $97,X
9942   LDA   #$9C
9944   STA   $E8,X
9946
9946 loc_9946:                     ; ...
9946   INC   $E8,X
9948   BMI   loc_994E
994A   LDA   $B2,X
994C   STA   $E8,X
994E
994E loc_994E:                     ; ...
994E   DEX
994F   BPL   loc_992E
9951   LDA   byte_96
9953   BNE   loc_9966
9955   LDA   #0
9957   STA   byte_96
9959   STA   byte_D7
995B   STA   byte_97
995D   STA   byte_98
995F   STA   byte_99
9961   STA   byte_9A
9963   JMP   locret_9992
9966 ; ---------------------------------------------------------------------------
9966
9966 loc_9966:                     ; ...
9966   DEC   byte_96
9968   LDA   byte_D7
996A   CMP   #2
996C   BCC   locret_9992
996E   LDX   #3
9970
9970 loc_9970:                     ; ...
9970   LDA   $97,X
9972   BEQ   loc_9979
9974   LDA   byte_B1B5,X
9977   BEQ   loc_997E
9979
9979 loc_9979:                     ; ...
9979   DEX
997A   BPL   loc_9970
997C   BMI   locret_9992
997E
997E loc_997E:                     ; ...
997E   TXA
997F   TAY
9980   LDX   #3
9982
9982 loc_9982:                     ; ...
9982   LDA   $97,X
9984   BEQ   loc_998B
9986   LDA   byte_B1B5,X
9989   BNE   loc_9990
998B
998B loc_998B:                     ; ...
998B   DEX
998C   BPL   loc_9982
998E   BMI   locret_9992
9990
9990 loc_9990:                     ; ...
9990   INC   byte_E1
9992
9992 locret_9992:                  ; ...
9992   RTS
9992 ; End of function sub_9926
9992
9993
9993 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9993
9993
9993 sub_9993:                     ; ...
9993   LDX   #3
9995   STX   byte_8C
9997
9997 loc_9997:                     ; ...
9997   CPX   currentPlayer
9999   BEQ   loc_99F2
999B   CPX   byte_AD
999D   BEQ   loc_99F2
999F   LDY   #$D
99A1   LDA   byte_B309,X
99A4   BEQ   loc_99A9
99A6   INY
99A7   BNE   loc_99EA
99A9
99A9 loc_99A9:                     ; ...
99A9   LDA   byte_B1B5,X
99AC   BEQ   loc_99BC
99AE   LDA   byte_A3,X
99B0   CMP   #$52
99B2   BEQ   loc_99ED
99B4   BCC   loc_99ED
99B6   CMP   byte_EC
99B8   BCC   loc_99EC
99BA   BCS   loc_99EA
99BC
99BC loc_99BC:                     ; ...
99BC   LDA   byte_A3,X
99BE   CMP   byte_EC
99C0   BEQ   loc_99ED
99C2   BCC   loc_99ED
99C4   TXA
99C5   ASL   A
99C6   TAX
99C7   LDA   playersBid,X
99CA   CLC
99CB   ADC   byte_94
99CD   STA   byte_80
99CF   LDA   playersBid+1,X
99D2   ADC   #0
99D4   STA   byte_81
99D6   LDA   plotsTemp3+$11,X
99D9   CMP   byte_80
99DB   LDA   plotsTemp3+$12,X
99DE   SBC   byte_81
99E0   BCC   loc_99ED
99E2   LDX   byte_8C
99E4   LDA   byte_A3,X
99E6   CMP   #$AE
99E8   BCC   loc_99EC
99EA
99EA loc_99EA:                     ; ...
99EA   INY
99EB   INY
99EC
99EC loc_99EC:                     ; ...
99EC   DEY
99ED
99ED loc_99ED:                     ; ...
99ED   TYA
99EE   LDX   byte_8C
99F0   STA   byte_E3,X
99F2
99F2 loc_99F2:                     ; ...
99F2   DEC   byte_8C
99F4   LDX   byte_8C
99F6   BPL   loc_9997
99F8   RTS
99F8 ; End of function sub_9993
99F8
99F9
99F9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
99F9
99F9
99F9 v01:
99F9   LDX   byte_D9
99FB   BEQ   loc_9A00
99FD
99FD loc_99FD:                     ; ...
99FD   JMP   loc_9A6D
9A00 ; ---------------------------------------------------------------------------
9A00
9A00 loc_9A00:                     ; ...
9A00   LDX   byte_AF
9A02   BNE   loc_99FD
9A02 ; ---------------------------------------------------------------------------
9A04   .BYTE $A2                   ; LDX
9A05 byte_9A05:.BYTE 2             ; ...
9A06 ; ---------------------------------------------------------------------------
9A06   STX   byte_AF
9A08
9A08 loc_9A08:                     ; ...
9A08   LDX   byte_93
9A0A   LDA   byte_B1B5,X
9A0D   BEQ   loc_9A12
9A0F   JMP   loc_9A64
9A12 ; ---------------------------------------------------------------------------
9A12
9A12 loc_9A12:                     ; ...
9A12   TXA
9A13   CLC
9A14   ADC   #$BC
9A16   STA   loc_9A57+2
9A19   STA   loc_9A61+2
9A1C   TXA
9A1D   ASL   A
9A1E   TAX
9A1F   INX
9A20   LDA   playersBid,X
9A23   LDY   byte_89
9A25   BNE   loc_9A37
9A27   CMP   #1
9A29   BCS   loc_9A33
9A2B   DEX
9A2C   LDA   playersBid,X
9A2F   CMP   #$61
9A31   BCC   loc_9A43
9A33
9A33 loc_9A33:                     ; ...
9A33   LDA   #$60
9A35   BNE   loc_9A43
9A37
9A37 loc_9A37:                     ; ...
9A37   CMP   #1
9A39   BCS   loc_9A64
9A3B   DEX
9A3C   LDA   playersBid,X
9A3F   CMP   #$61
9A41   BCS   loc_9A64
9A43
9A43 loc_9A43:                     ; ...
9A43   STA   byte_DC
9A45   TAX
9A46   BNE   loc_9A4C
9A48   LDY   #$9A
9A4A   BNE   loc_9A5F
9A4C
9A4C loc_9A4C:                     ; ...
9A4C   LDA   #$9B
9A4E   SEC
9A4F   SBC   byte_DC
9A51   STA   byte_DD
9A53   LDY   #$9A
9A55   LDA   #$3E
9A57
9A57 loc_9A57:                     ; ...
9A57   STA   unk_FF00,Y
9A5A   DEY
9A5B   CPY   byte_DD
9A5D   BCS   loc_9A57
9A5F
9A5F loc_9A5F:                     ; ...
9A5F   LDA   #0
9A61
9A61 loc_9A61:                     ; ...
9A61   STA   unk_FF00,Y
9A64
9A64 loc_9A64:                     ; ...
9A64   DEC   byte_93
9A66   BMI   loc_9A6B
9A68   JMP   loc_9A08
9A6B ; ---------------------------------------------------------------------------
9A6B
9A6B loc_9A6B:                     ; ...
9A6B   INC   byte_D9
9A6D
9A6D loc_9A6D:                     ; ...
9A6D   LDY   level
9A6F   CPY   #2
9A71   BNE   loc_9A8D
9A73   LDX   #3
9A75
9A75 loc_9A75:                     ; ...
9A75   LDA   byte_B1B1,X
9A78   BNE   loc_9A8A
9A7A   LDA   $B2,X
9A7C   BNE   loc_9A8A
9A7E   LDA   #1
9A80   STA   byte_B1B1,X
9A83   LDA   byte_DA
9A85   BEQ   loc_9A8A
9A87   JSR   sub_5B3E
9A8A
9A8A loc_9A8A:                     ; ...
9A8A   DEX
9A8B   BPL   loc_9A75
9A8D
9A8D loc_9A8D:                     ; ...
9A8D   LDX   byte_AF
9A8F   BEQ   locret_9A93
9A91   DEC   byte_AF
9A93
9A93 locret_9A93:                  ; ...
9A93   RTS
9A93 ; End of function v01
9A93
9A94
9A94 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9A94
9A94
9A94 v02:
9A94   LDX   byte_93
9A96   BNE   loc_9ADE
9A98   LDA   levelAuctionTimeWait
9A9B   LSR   A
9A9C   LSR   A
9A9D   STA   byte_93
9A9F   DEC   byte_D3
9AA1   BPL   loc_9AA6
9AA3   JMP   loc_9B42
9AA6 ; ---------------------------------------------------------------------------
9AA6
9AA6 loc_9AA6:                     ; ...
9AA6   LDA   #$10
9AA8   JSR   sub_10BC
9AAB   LDA   #$11
9AAD   STA   byte_55
9AAF   LDA   #1
9AB1   STA   byte_90
9AB3   LDA   byte_D3
9AB5   TAX
9AB6   AND   #7
9AB8   PHA
9AB9   TXA
9ABA   LSR   A
9ABB   LSR   A
9ABC   LSR   A
9ABD   STA   byte_DC
9ABF   BEQ   loc_9ACD
9AC1
9AC1 loc_9AC1:                     ; ...
9AC1   LDA   #5
9AC3   JSR   sub_10FB
9AC6   JSR   sub_1300
9AC9   DEC   byte_DC
9ACB   BNE   loc_9AC1
9ACD
9ACD loc_9ACD:                     ; ...
9ACD   PLA
9ACE   BEQ   loc_9AD9
9AD0   CLC
9AD1   ADC   #5
9AD3   JSR   sub_10FB
9AD6   JSR   sub_1300
9AD9
9AD9 loc_9AD9:                     ; ...
9AD9   LDA   #0
9ADB   JSR   sub_10FB
9ADE
9ADE loc_9ADE:                     ; ...
9ADE   LDX   #0
9AE0   STX   byte_AF
9AE2   LDX   #3
9AE4   STX   byte_DB
9AE6
9AE6 loc_9AE6:                     ; ...
9AE6   LDA   $C3,X
9AE8   BNE   loc_9B23
9AEA   LDY   #0
9AEC   LDA   $BD,X
9AEE   ORA   #$C
9AF0   CMP   #$D
9AF2   BEQ   loc_9AF9
9AF4   CMP   #$E
9AF6   BNE   loc_9B23
9AF8   INY
9AF9
9AF9 loc_9AF9:                     ; ...
9AF9   TYA
9AFA   EOR   byte_B1B5,X
9AFD   BEQ   loc_9B23
9AFF   TYA
9B00   STA   byte_B1B5,X
9B03   LDY   #1
9B05   STY   byte_AF
9B07   DEY
9B08   STY   byte_9E
9B0A   LDY   $A3,X
9B0C   TXA
9B0D   LDX   #$18
9B0F   JSR   loc_9C0A
9B12   LDX   byte_DB
9B14   LDA   #$52
9B16   LDY   byte_B1B5,X
9B19   BNE   loc_9B1D
9B1B   LDA   #$AE
9B1D
9B1D loc_9B1D:                     ; ...
9B1D   STA   $A3,X
9B1F   LDA   #7
9B21   STA   $C3,X
9B23
9B23 loc_9B23:                     ; ...
9B23   LDA   #0
9B25   STA   $B6,X
9B27   DEC   byte_DB
9B29   LDX   byte_DB
9B2B   BPL   loc_9AE6
9B2D   LDA   byte_A9
9B2F   BNE   loc_9B35
9B31   INC   byte_A9
9B33   BNE   loc_9B39
9B35
9B35 loc_9B35:                     ; ...
9B35   LDA   byte_AF
9B37   BEQ   loc_9B3C
9B39
9B39 loc_9B39:                     ; ...
9B39   JSR   sub_9595
9B3C
9B3C loc_9B3C:                     ; ...
9B3C   LDX   byte_93
9B3E   BEQ   loc_9B42
9B40   DEC   byte_93
9B42
9B42 loc_9B42:                     ; ...
9B42   LDA   #1
9B44   STA   byte_DD
9B46   RTS
9B46 ; End of function v02
9B46
9B47
9B47 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9B47
9B47
9B47 v04:
9B47
9B47 ; FUNCTION CHUNK AT 9C5C SIZE 00000035 BYTES
9B47
9B47   LDX   byte_A9
9B49   BNE   loc_9B4E
9B4B   JMP   loc_9C5C
9B4E ; ---------------------------------------------------------------------------
9B4E
9B4E loc_9B4E:                     ; ...
9B4E   LDX   byte_DC
9B50   BNE   loc_9B62
9B52   LDX   byte_DD
9B54   BNE   loc_9B62
9B56   LDX   #$15
9B58   STX   byte_DD
9B5A   JSR   sub_136D
9B5D   JSR   sub_9C20
9B60   BNE   loc_9B9C
9B62
9B62 loc_9B62:                     ; ...
9B62   LDX   byte_AE
9B64   BEQ   loc_9B6C
9B66   JSR   sub_136D
9B69   JMP   loc_9B82
9B6C ; ---------------------------------------------------------------------------
9B6C
9B6C loc_9B6C:                     ; ...
9B6C   LDA   byte_93
9B6E   BMI   loc_9B76
9B70   JSR   sub_136D
9B73   JMP   loc_9B82
9B76 ; ---------------------------------------------------------------------------
9B76
9B76 loc_9B76:                     ; ...
9B76   CLC
9B77   ADC   #8
9B79   STA   byte_93
9B7B   JSR   sub_9595
9B7E   LDA   #1
9B80   STA   byte_AE
9B82
9B82 loc_9B82:                     ; ...
9B82   LDA   byte_C2
9B84   BNE   loc_9B9C
9B86   LDX   byte_AF
9B88   BNE   loc_9B9C
9B8A
9B8A loc_9B8A:                     ; ...
9B8A   LDX   #$10
9B8C   STX   byte_AF
9B8E   LDX   byte_D3
9B90   BMI   locret_9B9B
9B92   JSR   loc_9492
9B95   LDA   byte_D3
9B97   BNE   loc_9B9C
9B99   DEC   byte_D3
9B9B
9B9B locret_9B9B:                  ; ...
9B9B   RTS
9B9C ; ---------------------------------------------------------------------------
9B9C
9B9C loc_9B9C:                     ; ...
9B9C   DEC   byte_93
9B9E   LDX   byte_DD
9BA0   BEQ   loc_9BA4
9BA2   DEC   byte_DD
9BA4
9BA4 loc_9BA4:                     ; ...
9BA4   LDX   byte_AF
9BA6   BEQ   loc_9BAA
9BA8   DEC   byte_AF
9BAA
9BAA loc_9BAA:                     ; ...
9BAA   LDX   currentPlayer
9BAC   BMI   loc_9BB8
9BAE   LDA   $BD,X
9BB0   ORA   $E3,X
9BB2   CMP   #$F
9BB4   BEQ   loc_9BB8
9BB6   STA   byte_DA
9BB8
9BB8 loc_9BB8:                     ; ...
9BB8   LDX   byte_AD
9BBA   BMI   loc_9BC6
9BBC   LDA   $BD,X
9BBE   ORA   $E3,X
9BC0   CMP   #$F
9BC2   BEQ   loc_9BC6
9BC4   STA   byte_DB
9BC6
9BC6 loc_9BC6:                     ; ...
9BC6   LDX   #3
9BC8   LDA   #$F
9BCA
9BCA loc_9BCA:                     ; ...
9BCA   LDY   $9F,X
9BCC   BEQ   loc_9BD0
9BCE   AND   $BD,X
9BD0
9BD0 loc_9BD0:                     ; ...
9BD0   DEX
9BD1   BPL   loc_9BCA
9BD3   ORA   #$C
9BD5   TAX
9BD6   LDA   levelAuctionTimeWait
9BD9   CPX   #$F
9BDB   BNE   loc_9BDF
9BDD   LSR   A
9BDE   LSR   A
9BDF
9BDF loc_9BDF:                     ; ...
9BDF   STA   loc_9B8A+1
9BE2   LDA   byte_E1
9BE4   BNE   loc_9BE9
9BE6   JSR   sub_9926
9BE9
9BE9 loc_9BE9:                     ; ...
9BE9   LDA   byte_C2
9BEB   BEQ   locret_9BFD
9BED   LDX   byte_AD
9BEF   BMI   loc_9BFE
9BF1   LDA   $BD,X
9BF3   ORA   #$C
9BF5   CMP   #$D
9BF7   BEQ   locret_9BFD
9BF9
9BF9 loc_9BF9:                     ; ...
9BF9   LDA   #5
9BFB   STA   byte_C4
9BFD
9BFD locret_9BFD:                  ; ...
9BFD   RTS
9BFE ; ---------------------------------------------------------------------------
9BFE
9BFE loc_9BFE:                     ; ...
9BFE   LDX   currentPlayer
9C00   LDA   $BD,X
9C02   ORA   #$C
9C04   CMP   #$E
9C06   BEQ   locret_9BFD
9C08   BNE   loc_9BF9
9C0A
9C0A loc_9C0A:                     ; ...
9C0A   CLC
9C0B   ADC   #$BC
9C0D   STA   byte_9C1B
9C10   TYA
9C11   SEC
9C12   SBC   #$14
9C14   STA   byte_9C1A
9C17   LDA   #0
9C17 ; ---------------------------------------------------------------------------
9C19 byte_9C19:.BYTE $9D           ; ...
9C19                               ; STA
9C1A byte_9C1A:.BYTE 0             ; ...
9C1B byte_9C1B:.BYTE $FF           ; ...
9C1C ; ---------------------------------------------------------------------------
9C1C   DEX
9C1D   BPL   byte_9C19
9C1F   RTS
9C1F ; End of function v04
9C1F
9C20
9C20 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9C20
9C20
9C20 sub_9C20:                     ; ...
9C20   LDX   byte_C2
9C22   INX
9C23   BMI   loc_9C4C
9C25   LDX   currentPlayer
9C27   LDY   $2C0,X
9C2A   LDA   byte_C2
9C2C   BPL   loc_9C3A
9C2E   LDA   byte_300E
9C31   STA   $2C0,X
9C34   TYA
9C35   STA   byte_300E
9C38   BNE   locret_9C5B
9C3A
9C3A loc_9C3A:                     ; ...
9C3A   LDX   byte_AD
9C3C   LDA   $2C0,X
9C3F   LDX   currentPlayer
9C41   STA   $2C0,X
9C44   LDX   byte_AD
9C46   TYA
9C47   STA   $2C0,X
9C4A   BNE   locret_9C5B
9C4C
9C4C loc_9C4C:                     ; ...
9C4C   LDX   byte_AD
9C4E   LDY   $2C0,X
9C51   LDA   byte_3034
9C54   STA   $2C0,X
9C57   TYA
9C58   STA   byte_3034
9C5B
9C5B locret_9C5B:                  ; ...
9C5B   RTS
9C5B ; End of function sub_9C20
9C5B
9C5C ; ---------------------------------------------------------------------------
9C5C ; START OF FUNCTION CHUNK FOR v04
9C5C
9C5C loc_9C5C:                     ; ...
9C5C   LDA   #0
9C5E   LDX   byte_47
9C60   STA   byte_1DB8,X
9C63   LDX   byte_48
9C65   STA   byte_1DB8,X
9C68   LDA   byte_43
9C6A   BEQ   loc_9C70
9C6C   LDX   byte_AD
9C6E   BMI   loc_9C7A
9C70
9C70 loc_9C70:                     ; ...
9C70   LDX   byte_A8
9C72   LDA   byte_1DB8,X
9C75   ORA   #5
9C77   STA   byte_1DB8,X
9C7A
9C7A loc_9C7A:                     ; ...
9C7A   LDX   byte_DE
9C7C   BEQ   loc_9C82
9C7E   CPX   currentPlayer
9C80   BEQ   loc_9C8C
9C82
9C82 loc_9C82:                     ; ...
9C82   LDX   byte_A7
9C84   LDA   byte_1DB8,X
9C87   ORA   #$A0
9C89   STA   byte_1DB8,X
9C8C
9C8C loc_9C8C:                     ; ...
9C8C   INC   byte_A9
9C8E   JMP   loc_9B82
9C8E ; END OF FUNCTION CHUNK FOR v04
9C91
9C91 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9C91
9C91
9C91 v08:
9C91   LDA   byte_A9
9C93   BNE   loc_9CA8
9C95   LDA   #0
9C97   LDX   byte_47
9C99   STA   byte_1DB8,X
9C9C   LDX   byte_A7
9C9E   LDA   byte_1DB8,X
9CA1   ORA   #$A0
9CA3   STA   byte_1DB8,X
9CA6   INC   byte_A9
9CA8
9CA8 loc_9CA8:                     ; ...
9CA8   LDX   #0
9CAA   STX   byte_AF
9CAC   LDX   byte_AE
9CAE   BNE   loc_9CC2
9CB0   LDA   byte_93
9CB2   BPL   loc_9CDF
9CB4   CLC
9CB5   ADC   #8
9CB7   STA   byte_93
9CB9   JSR   sub_9595
9CBC   LDA   #1
9CBE   STA   byte_AE
9CC0   INC   byte_AF
9CC2
9CC2 loc_9CC2:                     ; ...
9CC2   LDX   currentPlayer
9CC4   BMI   loc_9CDF
9CC6   LDY   byte_DC
9CC8   BNE   loc_9CDF
9CCA   LDY   byte_DD
9CCC   BNE   loc_9CDF
9CCE   LDY   #$15
9CD0   STY   byte_DD
9CD2   LDY   $2C0,X
9CD5   LDA   byte_300E
9CD8   STA   $2C0,X
9CDB   TYA
9CDC   STA   byte_300E
9CDF
9CDF loc_9CDF:                     ; ...
9CDF   LDX   byte_AF
9CE1   BNE   loc_9CE6
9CE3   JSR   sub_136D
9CE6
9CE6 loc_9CE6:                     ; ...
9CE6   LDX   byte_DB
9CE8   BNE   loc_9CFB
9CEA   LDX   byte_DA
9CEC   BNE   loc_9CFB
9CEC ; ---------------------------------------------------------------------------
9CEE   .BYTE $A2                   ; LDX
9CEF byte_9CEF:.BYTE $10           ; ...
9CF0 ; ---------------------------------------------------------------------------
9CF0   STX   byte_DA
9CF2   JSR   loc_9492
9CF5   BNE   loc_9CFB
9CF7   DEC   byte_D3
9CF9   INC   byte_DB
9CFB
9CFB loc_9CFB:                     ; ...
9CFB   DEC   byte_93
9CFD   LDX   byte_DD
9CFF   BEQ   loc_9D03
9D01   DEC   byte_DD
9D03
9D03 loc_9D03:                     ; ...
9D03   LDX   byte_DA
9D05   BEQ   loc_9D09
9D07   DEC   byte_DA
9D09
9D09 loc_9D09:                     ; ...
9D09   LDX   #3
9D0B   LDA   #$F
9D0D
9D0D loc_9D0D:                     ; ...
9D0D   LDY   $9F,X
9D0F   BEQ   loc_9D13
9D11   AND   $BD,X
9D13
9D13 loc_9D13:                     ; ...
9D13   DEX
9D14   BPL   loc_9D0D
9D16   ORA   #$C
9D18   TAX
9D19   LDA   levelAuctionTimeWait
9D1C   CPX   #$F
9D1E   BNE   loc_9D26
9D20   LDX   byte_F0
9D22   BPL   loc_9D26
9D24   LSR   A
9D25   LSR   A
9D26
9D26 loc_9D26:                     ; ...
9D26   STA   byte_9CEF
9D29   RTS
9D29 ; End of function v08
9D29
9D2A
9D2A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
9D2A
9D2A ; input
9D2A ; byte_BC: 0 good auction
9D2A ;          5 land auction
9D2A ; byte_91: goodAuction ou nb terre restant a vendre
9D2A ;
9D2A ; output
9D2A ; si land auction, currentPlayer: gagnant
9D2A
9D2A auctionBuySell:               ; ...
9D2A   LDX   #0
9D2C   STX   byte_43               ; byte_43 = 0
9D2E   LDX   #3
9D30
9D30 loc_9D30:                     ; ...
9D30   LDA   byte_BC               ; for (X=3; X>=0; X--) {
9D32   BEQ   loc_9D3A              ;   // si land auction, mettre tous les joueurs en buyer
9D32                               ;   if (byte_BC != 0) {
9D34   SEC
9D35   SBC   #5                    ;     byte_B1B5 [X] = byte_BC - 5;
9D37   STA   byte_B1B5,X           ;   }
9D3A
9D3A loc_9D3A:                     ; ...
9D3A   DEX
9D3B   BPL   loc_9D30              ; }
9D3D   LDY   byte_BC
9D3F   BNE   loc_9D92
9D41   LDY   byte_91
9D43   LDA   goodsStoreNb,Y
9D46   BNE   loc_9D92              ; // si good auction et store a aucune unité
9D46                               ; if ((byte_BC == 0) &&
9D46                               ;     (goodsStoreNb [goodAuction] == 0)) {
9D48   INC   byte_43               ;   byte_43 = 1
9D4A   LDY   #3
9D4C
9D4C loc_9D4C:                     ; ...
9D4C   LDA   byte_B1B5,Y
9D4F   BNE   loc_9D56
9D51   DEY
9D52   BPL   loc_9D4C
9D54   BMI   loc_9D6D
9D56
9D56 loc_9D56:                     ; ...
9D56   LDX   #3
9D58   LDA   byte_91
9D5A   ASL   A
9D5B   ASL   A
9D5C   ADC   #3
9D5E   TAY
9D5F
9D5F loc_9D5F:                     ; ...
9D5F   LDA   byte_B1B5,X
9D62   BEQ   loc_9D69
9D64   LDA   goodsPlayersNb,Y
9D67   BNE   loc_9D92
9D69
9D69 loc_9D69:                     ; ...
9D69   DEY
9D6A   DEX
9D6B   BPL   loc_9D5F
9D6D
9D6D loc_9D6D:                     ; ...
9D6D   LDA   #$A
9D6F   JSR   sub_10BC
9D72   LDA   #5
9D74   STA   byte_55
9D76   LDA   #2
9D78   STA   byte_90
9D7A   LDA   #$DB                  ;   $41DB NO_SELLERS
9D7C   LDY   #$41
9D7E   JSR   addMessage            ;   $41DB NO_SELLERS
9D81   LDA   #5
9D83   STA   byte_55
9D85   DEC   byte_90
9D87   JSR   addToMessage2         ; byte_81/byte_80: High/Low address
9D8A   LDX   #3
9D8C   JSR   sub_1378
9D8F   JMP   waitJiffyLevel
9D92 ; ---------------------------------------------------------------------------
9D92
9D92 loc_9D92:                     ; ...
9D92   JSR   sub_5E1B              ; }
9D95   LDA   #0
9D97   STA   OS_SDMCTL
9D9A   LDA   #byte_40
9D9C   STA   OS_NMIEN
9D9F   LDA   #8
9DA1   STA   OS_COLOR4
9DA4   JSR   initBB00ToBFFF
9DA7   LDA   #$47
9DA9   STA   byte_A7
9DAB   JSR   sub_9838
9DAE   JSR   initPlayersButtons
9DB1   JSR   sub_110B
9DB4   LDX   #$28
9DB6   STX   byte_53
9DB8   LDX   #0
9DBA   STX   byte_BA
9DBC   STX   byte_DE
9DBE   STX   byte_DF
9DC0   STX   byte_E1
9DC2   STX   byte_E2
9DC4   STX   byte_D7
9DC6   STX   byte_96
9DC8   JSR   sub_1068
9DCB   LSR   byte_53
9DCD   LDX   #3
9DCF
9DCF loc_9DCF:                     ; ...
9DCF   LDA   #0                    ; // initialisations pour chaque joueur
9DD1   STA   byte_B309,X
9DD4   STA   byte_E8,X
9DD6   STA   byte_97,X
9DD8   STA   byte_B319,X
9DDB   STA   byte_9F,X
9DDD   STA   OS_SIZEP0_M0PL,X
9DE0   STA   plotsTemp3+$1A,X
9DE3   STA   plotsTemp3+$1E,X
9DE6   STA   plotsTemp3+$22,X
9DE9   LDA   #96
9DEB   STA   byte_B2FD,X
9DEE   DEX
9DEF   BPL   loc_9DCF
9DF1   STX   byte_AE               ; // = 0
9DF3   STX   byte_9D
9DF5   STX   byte_F0
9DF7   STX   byte_49
9DF9   STX   byte_A9
9DFB   STX   byte_DC
9DFD   INX
9DFE   STX   byte_DD               ; // = 1
9E00   STX   byte_AF
9E02   STX   byte_C3
9E04   STX   byte_B326
9E07   INX
9E08   STX   byte_A8               ; // = 2
9E0A   STX   byte_BA
9E0C   LDX   #$55
9E0E   STX   OS_SIZEM
9E11   JSR   sub_9356
9E14   LDA   #$46
9E16   STA   byte_D3
9E18   JSR   sub_3101
9E1B   LDA   #$FA
9E1D   STA   byte_F3
9E1F   LDA   #$AF
9E21   STA   byte_960C
9E24   LDA   #$9A
9E26   STA   byte_8E0A
9E29   STA   byte_8E43
9E2C   LDX   byte_BC
9E2E   BEQ   loc_9E37              ; if (byte_BC != 0) {
9E30   LDY   #$26
9E32   JSR   sub_945F
9E35   BNE   loc_9E3A              ; }
9E37
9E37 loc_9E37:                     ; ...
9E37   JSR   sub_9482
9E3A
9E3A loc_9E3A:                     ; ...
9E3A   LDA   #$18
9E3C   STA   OS_CHBAS
9E3F   LDA   #$60
9E41   STA   byte_89
9E43   LDX   #7
9E45
9E45 loc_9E45:                     ; ...
9E45   LDA   FONT_CHAR8,X          ; // apostrophe
9E48   STA   FONT_CHAR2,X
9E4B   DEX
9E4C   BPL   loc_9E45
9E4E   INX
9E4F   STX   byte_90               ; // = 0
9E51   STX   byte_93
9E53   STX   byte_C2
9E55   STX   byte_45
9E57   STX   byte_E0
9E59   STX   word_70
9E5B   STX   word_70+1
9E5D   LDA   byte_BC
9E5F   BEQ   loc_9E6F              ; // ici AI
9E5F                               ; // si land auction
9E5F                               ; if (byte_BC != 0) {
9E61   LDA   maxIndexCpu
9E63   BMI   loc_9E68              ;   if (maxIndexCpu != -1) {
9E65   JSR   ai1                   ; input
9E65                               ; byte_BC: 0 good auction
9E65                               ;          5 land auction
9E65                               ; byte_91: goodAuction ou nb terre restant a vendre
9E65                               ;
9E65                               ; output
9E65                               ; mapTemp3_8: l'argent qu'il faut garder au minimum
9E68
9E68 loc_9E68:                     ; ...
9E68   LDA   byte_BC               ;   }
9E6A   BNE   loc_9E6F              ;   // si good auction
9E6A                               ;   if (byte_BC == 0) {
9E6A                               ;       // ???? ne passe jamais ici ?
9E6C   JSR   ai2                   ; input
9E6C                               ; byte_BC: 0 good auction
9E6C                               ;          5 land auction
9E6C                               ; priceStart
9E6C                               ; playersCash
9E6C                               ; mapTemp3_0: estimation (si land action)
9E6C                               ; mapTemp3_8: argent mimnum à garder
9E6C                               ;
9E6C                               ; output
9E6C                               ; mapTemp3_11: l'argent qu'il est pres à investir
9E6C                               ;
9E6C                               ; Si land auction:
9E6C                               ; mapTemp3_0: la valeur estimée de la terre
9E6C                               ; mapTemp3_8: un nombre entre 144 et 399
9E6C                               ; mapTemp3: playerCash - random [144;399]
9E6C                               ;           plafonné par estimation
9E6F
9E6F loc_9E6F:                     ; ...
9E6F   LDX   #$11                  ;   }
9E6F                               ; }
9E71   STX   OS_GPRIOR
9E74   LDA   byte_91
9E76   LDX   byte_BC               ; X = byte_BC
9E78   BNE   loc_9E7B              ; // si good auction
9E78                               ; if (byte_BC == 0) {
9E7A   TAX                         ;   X = goodAuction
9E7A                               ; }
9E7A                               ; // X =
9E7B
9E7B loc_9E7B:                     ; ...
9E7B   LDA   byte_4274,X
9E7E   STA   byte_94               ; byte_94 = unk_4274 [X]
9E80   TXA
9E81   ASL   A
9E82   STA   byte_88               ; byte_88 = X*2
9E84   LDA   #$32
9E86   STA   OS_COLOR0
9E89   LDA   #$72
9E8B   STA   OS_COLOR1
9E8E   LDA   #$44
9E90   STA   OS_COLOR2
9E93   LDA   #2
9E95   STA   byte_55
9E97   LDA   byte_BC               ; A = byte_BC
9E99   BEQ   loc_9E9E              ; if (A != 0) {
9E9B   SEC
9E9C   SBC   #4                    ;   A -= 4
9E9C                               ; }
9E9E
9E9E loc_9E9E:                     ; ...
9E9E   TAX
9E9F   LDA   #$FD                  ; // 0: ___AUCTION ou 1: LAND_AUCTION
9EA1   LDY   #$40
9EA3   JSR   addToMessageWithOffset ; // ___AUCTION
9EA3                               ; // LAND_AUCTION
9EA6   JSR   drawNumRound
9EA9   LDX   byte_BC
9EAB   CPX   #5
9EAD   BNE   loc_9EB2
9EAF   JMP   loc_9ED3              ; // si good auction
9EAF                               ; if (byte_BC != 5) {
9EB2 ; ---------------------------------------------------------------------------
9EB2
9EB2 loc_9EB2:                     ; ...
9EB2   LDA   #1
9EB4   JSR   sub_10BC
9EB7   INC   byte_90
9EB9   LDA   byte_91
9EBB   ASL   A
9EBC   TAY
9EBD   LDX   unk_3A31,Y
9EC0   STX   byte_55
9EC2   LDA   #$2B                  ;   // _FOOD_
9EC2                               ;   // _ENERGY_
9EC2                               ;   // _SMITHORE_
9EC2                               ;   // _CRYSTITE_
9EC4   LDY   #$3A
9EC6   LDX   byte_91
9EC8   JSR   addToMessageWithOffset ;   // _FOOD_
9EC8                               ;   // _ENERGY_
9EC8                               ;   // _SMITHORE_
9EC8                               ;   // _CRYSTITE_
9ECB   LDA   #0
9ECD   JSR   sub_10BC
9ED0   JSR   addMessageLogoGood2   ; }
9ED3
9ED3 loc_9ED3:                     ; ...
9ED3   LDA   #0
9ED5   STA   byte_BA
9ED7   STA   byte_90
9ED9   ASL   byte_53
9EDB   LDA   #5
9EDD   JSR   sub_10BC
9EE0   LDA   #9
9EE2   STA   byte_55
9EE4   STA   byte_52
9EE6   LDA   #$37
9EE8   STA   byte_8C
9EEA   LDX   #9
9EEC
9EEC loc_9EEC:                     ; ...
9EEC   LDY   #$16                  ; // ?
9EEE
9EEE loc_9EEE:                     ; ...
9EEE   JSR   decodeCharToMessage   ; A
9EF1   DEY
9EF2   BNE   loc_9EEE
9EF4   JSR   sub_1036
9EF7   LDA   byte_8C
9EF9   CLC
9EFA   ADC   #1
9EFC   STA   byte_8C
9EFE   DEX
9EFF   BNE   loc_9EEC
9F01   STX   byte_52
9F03   LDX   byte_BC
9F05   BEQ   loc_9F0A
9F07   JMP   loc_9F45              ; // si good auction
9F07                               ; if (byte_BC == 0) {
9F0A ; ---------------------------------------------------------------------------
9F0A
9F0A loc_9F0A:                     ; ...
9F0A   JSR   setPriceStartEnd
9F0D   LDA   #$54
9F0F   STA   byte_44
9F11   LDX   #3
9F13   STX   byte_8C
9F15
9F15 loc_9F15:                     ; ...
9F15   LDA   byte_B1B5,X           ;   for (X=3; X>=0; X--) {
9F18   BEQ   Next                  ;     if (byte_B1B5 [X] == Seller) {
9F1A   LDA   #$9A
9F1C   STA   byte_B311,X           ;       byte_B311 [X] = $9A;
9F1F   LDA   byte_88
9F21   ASL   A
9F22   ADC   byte_8C
9F24   TAY
9F25   LDA   goodsPlayersNb,Y
9F28   BEQ   Ok                    ;       // si le joueur a aucune unité
9F28                               ;       if (goodsPlayersNb [goodAuction] [player] == 0) {
9F28                               ;         goto (Ok)
9F28                               ;       }
9F2A   LDX   level
9F2C   BNE   Next                  ;       // si Standard ou Tournament
9F2C                               ;       if (level != Beginner) {
9F2C                               ;         goto (Next)
9F2C                               ;       }
9F2E   CPY   #8                    ;       // si Smithore ou Crystite
9F30   BCS   Next                  ;       if (goodAuction >= 2) {
9F30                               ;         goto (Next)
9F30                               ;       }
9F32   LDX   byte_8C
9F34   CMP   playersGoodReq,X
9F36   BEQ   Ok
9F38   BCS   Next                  ;       // si joueur a plus d'unités que nécessaire
9F38                               ;       if (goodsPlayersNb [goodAuction] [player] >
9F38                               ;           playersGoodReq [goodAuction]) {
9F38                               ;         goto (Next)
9F38                               ;       }
9F3A
9F3A Ok:                           ; ...
9F3A   LDA   #1                    ;       Ok:
9F3C   STA   byte_B309,X           ;       // le joueur a besoin d'unités
9F3C                               ;       byte_B309 [player] = 1
9F3C                               ;     }
9F3F
9F3F :                         ; ...
9F3F   DEC   byte_8C               ;     Next:
9F41   LDX   byte_8C
9F43   BPL   loc_9F15              ;   }
9F43                               ; } // fin si good auction
9F45
9F45 loc_9F45:                     ; ...
9F45   LDX   #3
9F47
9F47 loc_9F47:                     ; ...
9F47   LDA   byte_427B,X
9F4A   STA   OS_HPOSP0_M0PF,X
9F4D   DEX
9F4E   BPL   loc_9F47
9F50   LDX   byte_BC
9F52   BEQ   auctionBuySellGoodAuction
9F54   JMP   auctionBuySellLandAuction ; // si land_auction, aller dans une autre fonction
9F54                               ; if (byte_BC != 0) {
9F54                               ;   goto (auctionBuySellLandAuction)
9F54                               ; }
9F57 ; ---------------------------------------------------------------------------
9F57
9F57 auctionBuySellGoodAuction:    ; ...
9F57   LDA   #$11
9F59   JSR   sub_10BC
9F5C   JSR   addMessageMoneyUnits
9F5F   LDA   byte_43
9F61   BNE   loc_9F75              ; // si store a des unités, afficher le prix final
9F61                               ; if (byte_43 == 0) {
9F63   LDA   #2
9F65   JSR   sub_10BC
9F68   LDA   #$20
9F6A   STA   byte_55
9F6C   LDA   priceEnd+1
9F6F   LDX   priceEnd
9F72   JSR   decodeNumberToMessage ; priceEnd
9F75
9F75 loc_9F75:                     ; ...
9F75   LDA   #$F                   ; }
9F77   JSR   sub_10BC
9F7A   LDA   #2
9F7C   STA   byte_55
9F7E   LDY   #0
9F80   LDX   priceStart
9F83   LDA   priceStart+1
9F86   JSR   decodeNumberAndCharToMessage ; priceStart
9F89   LDY   maxIndexCpu
9F8B   BMI   loc_9FB6              ; // s'il y a des cpus
9F8B                               ; if (maxIndexCpu != -1) {
9F8D   LDY   #-1                   ;   Y = -1
9F8F   CLC
9F90   LDA   byte_B1B5
9F93   ADC   byte_B1B5+1
9F96   ADC   byte_B1B5+2
9F99   ADC   byte_B1B5+3
9F9C   BEQ   loc_9FA4              ;   // si au moins un vendeur
9F9C                               ;   if (byte_B1B5 [] != 0) {
9F9E   CMP   #4
9FA0   BEQ   loc_9FA3              ;     // si pas que des vendeurs
9FA0                               ;     if (byte_B1B5 [] != 4) {
9FA2   INY                         ;       Y ++
9FA2                               ;     }
9FA3
9FA3 loc_9FA3:                     ; ...
9FA3   INY                         ;     Y ++
9FA3                               ;   }
9FA3                               ;   // ici Y = -1 si que des acheteurs
9FA3                               ;          Y =  0 si que des vendeurs
9FA3                               ;          Y =  1 si vendeurs et acheteurs
9FA4
9FA4 loc_9FA4:                     ; ...
9FA4   STY   byte_B48B             ;   byte_B48B = Y
9FA7   TYA
9FA8   BPL   loc_9FB3              ;   // si que des acheteurs
9FA8                               ;   if (Y == -1) {
9FAA   LDY   level
9FAC   CPY   #2
9FAE   BNE   loc_9FB3              ;     if (level == Tournament) {
9FB0   JSR   auctionBuySellAi8     ;       AI8 ()
9FB0                               ;     }
9FB0                               ;   }
9FB3
9FB3 loc_9FB3:                     ; ...
9FB3   JSR   auctionBuySellAi5     ; input
9FB3                               ; byte_91: goodAuction
9FB3                               ; byte_B1B5
9FB3                               ; byte_B1AD
9FB3                               ; byte_B1B1
9FB3                               ;
9FB3                               ; output
9FB3                               ; byte_B490: nb unité supposé qui vont etre acheté (par cpus)
9FB3                               ; byte_B491: nb unité supposé disponibles à vendre (cpu + store)
9FB3                               ;
9FB3                               ; Calcul le nb d'unités qui vont potentiellement etre vendues/achetées
9FB3                               ; Ne concerne que le Food ou Energy
9FB3                               ; appelle auctionBuySellAi6
9FB6
9FB6 loc_9FB6:                     ; ...
9FB6   LDA   #$54                  ; }
9FB8   LDY   #$42                  ; // houseGoodAuctionChar
9FBA   STA   byte_8E72
9FBD   STY   byte_8E73
9FC0   LDY   #$9A                  ; // maison du bas
9FC2   JSR   charTimeFrom8E72      ; // houseGoodAuctionChar
9FC5   LDA   #$AE
9FC7   STA   byte_81
9FC9   LDX   #3
9FCB
9FCB loc_9FCB:                     ; ...
9FCB   LDA   byte_B1B5,X
9FCE   BNE   loc_9FD3
9FD0   JSR   sub_8E7C
9FD3
9FD3 loc_9FD3:                     ; ...
9FD3   DEX
9FD4   BPL   loc_9FCB
9FD6   LDY   #$54                  ; // maison du haut
9FD8   STY   off_8E87
9FDB   LDA   byte_43               ; // si le store a des unités
9FDD   BNE   loc_9FE2
9FDF   JSR   charTimeFrom8E72      ; // houseGoodAuctionChar
9FE2
9FE2 loc_9FE2:                     ; ...
9FE2   LDA   #$52
9FE4   STA   byte_81
9FE6   LDX   #3
9FE8
9FE8 loc_9FE8:                     ; ...
9FE8   LDA   byte_B1B5,X
9FEB   BEQ   loc_9FF0
9FED   JSR   sub_8E92
9FF0
9FF0 loc_9FF0:                     ; ...
9FF0   DEX
9FF1   BPL   loc_9FE8
9FF3   JSR   sub_96CC
9FF6   LDA   #3
9FF8   STA   byte_C1
9FFA
9FFA loc_9FFA:                     ; ...
9FFA   JSR   sub_990F
9FFD   JSR   auctionBuySellAi3     ; input
9FFD                               ; byte_44
9FFD                               ; byte_B2E3 [PLAYERS]
9FFD                               ; byte_B1B5 [PLAYERS]
9FFD                               ;
9FFD                               ; output
9FFD                               ; byte_B309 [PLAYERS]
9FFD                               ; byte_B30D [PLAYERS]
A000   JSR   sub_8E4B
A003
A003 loc_A003:                     ; ...
A003   LDA   maxIndexCpu
A005   BMI   loc_A00A
A007   JSR   auctionBuySellAi12
A00A
A00A loc_A00A:                     ; ...
A00A   LDX   #0
A00C   STX   byte_AE
A00E   INX
A00F   STX   byte_B33C
A012
A012 loc_A012:                     ; ...
A012   LDX   byte_AE
A014   BEQ   loc_A012
A016   JSR   sub_91EA
A019   JSR   sub_9899
A01C   LDX   #0
A01E   STX   word_B321
A021   STX   word_B321+1
A024   DEX
A025   STX   byte_AD
A027   LDA   priceEnd
A02A   CLC
A02B   ADC   #1
A02D   STA   byte_B323
A030   LDA   priceEnd+1
A033   ADC   #0
A035   STA   byte_B324
A038   JSR   sub_97FB
A03B   LDA   #3
A03D   STA   byte_8B
A03F
A03F loc_A03F:                     ; ...
A03F   LDY   byte_8B
A041   LDX   ordersPlayer,Y
A044   STX   byte_8C
A046   LDA   byte_B309,X
A049   BEQ   loc_A055
A04B   LDA   playersAi,X
A04E   BPL   loc_A0A8
A050   LDA   plotsTemp3+$1A,X
A053   BEQ   loc_A0A8
A055
A055 loc_A055:                     ; ...
A055   LDA   byte_9F,X
A057   BEQ   loc_A0A8
A059   JSR   sub_9514
A05C   LDY   byte_8C
A05E   LDA   byte_B1B5,Y
A061   BNE   loc_A088
A063   LDX   byte_80
A065   LDA   word_B321
A068   CMP   playersBid,X
A06B   INX
A06C   LDA   word_B321+1
A06F   SBC   playersBid,X
A072   BCS   loc_A0A8
A074   LDA   playersBid,X
A077   STA   word_B321+1
A07A   DEX
A07B   LDA   playersBid,X
A07E   STA   word_B321
A081   LDA   byte_8C
A083   STA   currentPlayer
A085   JMP   loc_A0A8
A088 ; ---------------------------------------------------------------------------
A088
A088 loc_A088:                     ; ...
A088   LDX   byte_80
A08A   LDA   playersBid,X
A08D   CMP   byte_B323
A090   INX
A091   LDA   playersBid,X
A094   TAY
A095   SBC   byte_B324
A098   BCS   loc_A0A8
A09A   STY   byte_B324
A09D   DEX
A09E   LDA   playersBid,X
A0A1   STA   byte_B323
A0A4   LDA   byte_8C
A0A6   STA   byte_AD
A0A8
A0A8 loc_A0A8:                     ; ...
A0A8   DEC   byte_8B
A0AA   BPL   loc_A03F
A0AC   LDA   word_B321
A0AF   CMP   priceStart
A0B2   LDA   word_B321+1
A0B5   SBC   priceStart+1
A0B8   BCS   loc_A0CA
A0BA   LDA   priceStart
A0BD   STA   word_B321
A0C0   LDA   priceStart+1
A0C3   STA   word_B321+1
A0C6
A0C6 loc_A0C6:
A0C6   LDX   #$FF
A0C8   STX   currentPlayer
A0CA
A0CA loc_A0CA:                     ; ...
A0CA   LDA   byte_43
A0CC   BNE   loc_A0E8
A0CE   LDA   priceEnd
A0D1   TAX
A0D2   CMP   byte_B323
A0D5   LDA   priceEnd+1
A0D8   TAY
A0D9   SBC   byte_B324
A0DC   BCS   loc_A0E8
A0DE   STX   byte_B323
A0E1   STY   byte_B324
A0E4   LDX   #$FF
A0E6   STX   byte_AD
A0E8
A0E8 loc_A0E8:                     ; ...
A0E8   LDA   byte_43
A0EA   BEQ   loc_A126
A0EC   LDX   level
A0EE   BEQ   loc_A126
A0F0   LDX   currentPlayer
A0F2   BMI   loc_A126
A0F4   LDA   byte_A3,X
A0F6   CMP   #$54
A0F8   BNE   loc_A126
A0FA   LDA   byte_BD,X
A0FC   CMP   #$E
A0FE   BEQ   loc_A126
A100   JSR   sub_9845
A103   LDA   #3
A105   STA   byte_8B
A107
A107 loc_A107:                     ; ...
A107   LDY   byte_8B
A109   LDX   ordersPlayer,Y
A10C   CPX   currentPlayer
A10E   BEQ   loc_A11E
A110   LDA   byte_A3,X
A112   CMP   #$55
A114   BCS   loc_A11E
A116   LDA   byte_BD,X
A118   ORA   byte_E3,X
A11A   CMP   #$E
A11C   BEQ   loc_A124
A11E
A11E loc_A11E:                     ; ...
A11E   DEC   byte_8B
A120   BPL   loc_A107
A122   BMI   loc_A126
A124
A124 loc_A124:                     ; ...
A124   STX   currentPlayer
A126
A126 loc_A126:                     ; ...
A126   LDA   byte_DE
A128   BEQ   loc_A132
A12A   CMP   currentPlayer
A12C   BNE   loc_A132
A12E   LDA   #$47
A130   BNE   loc_A134
A132
A132 loc_A132:                     ; ...
A132   LDA   byte_A7
A134
A134 loc_A134:                     ; ...
A134   STA   byte_47
A136   LDA   byte_A8
A138   STA   byte_48
A13A   LDX   currentPlayer
A13C   BPL   loc_A146
A13E   LDX   byte_DE
A140   BMI   loc_A14D
A142   LDA   #$47
A144   BNE   loc_A14B
A146
A146 loc_A146:                     ; ...
A146   SEC
A147   LDA   byte_A3,X
A149   SBC   #$53
A14B
A14B loc_A14B:                     ; ...
A14B   STA   byte_A7
A14D
A14D loc_A14D:                     ; ...
A14D   LDX   byte_AD
A14F   BPL   loc_A155
A151   LDA   #1
A153   BNE   loc_A15A
A155
A155 loc_A155:                     ; ...
A155   SEC
A156   LDA   byte_A3,X
A158   SBC   #$53
A15A
A15A loc_A15A:                     ; ...
A15A   STA   byte_A8
A15C   LDX   #0
A15E   STX   byte_A9
A160
A160 loc_A160:                     ; ...
A160   LDX   byte_A9
A162   BEQ   loc_A160
A164   LDA   #$11
A166   JSR   sub_10BC
A169   JSR   addMessageBuySell
A16C   LDA   currentPlayer
A16E   ORA   byte_AD
A170   BMI   loc_A1D4
A172   LDA   byte_B323
A175   CMP   word_B321
A178   BNE   loc_A182
A17A   LDA   byte_B324
A17D   CMP   word_B321+1
A180   BEQ   loc_A193
A182
A182 loc_A182:                     ; ...
A182   LDA   word_B321
A185   CMP   byte_B323
A188   LDA   word_B321+1
A18B   SBC   byte_B324
A18E   BCC   loc_A1D4
A190   JSR   sub_978D
A193
A193 loc_A193:                     ; ...
A193   LDA   byte_AD
A195   ASL   A
A196   STA   byte_80
A198   LDX   #3
A19A   STX   byte_8C
A19C
A19C loc_A19C:                     ; ...
A19C   LDX   byte_8C
A19E   LDY   byte_AD
A1A0   LDA   byte_B309,X
A1A3   BNE   loc_A1C1
A1A5   LDA   byte_B1B5,X
A1A8   BNE   loc_A1B7
A1AA   LDA   byte_A3,Y
A1AD   CMP   byte_A3,X
A1AF   BCC   loc_A1C1
A1B1   JSR   sub_A2C6
A1B4   JMP   loc_A1C1
A1B7 ; ---------------------------------------------------------------------------
A1B7
A1B7 loc_A1B7:                     ; ...
A1B7   LDA   byte_A3,Y
A1BA   CMP   byte_A3,X
A1BC   BCS   loc_A1C1
A1BE   JSR   sub_A2C6
A1C1
A1C1 loc_A1C1:                     ; ...
A1C1   DEC   byte_8C
A1C3   BPL   loc_A19C
A1C5   JSR   sub_96B9
A1C8   LDA   #$11
A1CA   JSR   sub_10BC
A1CD   JSR   addMessageBuySell
A1D0   INC   byte_C2
A1D2   BNE   loc_A200
A1D4
A1D4 loc_A1D4:                     ; ...
A1D4   LDA   byte_43
A1D6   BNE   loc_A1EA
A1D8   LDA   word_B321
A1DB   CMP   priceEnd
A1DE   LDA   word_B321+1
A1E1   SBC   priceEnd+1
A1E4   BCC   loc_A1EA
A1E6   DEC   byte_C2
A1E8   BNE   loc_A200
A1EA
A1EA loc_A1EA:                     ; ...
A1EA   LDA   byte_DE
A1EC   BMI   loc_A25E
A1EE   LDA   priceStart
A1F1   CMP   byte_B323
A1F4   LDA   priceStart+1
A1F7   SBC   byte_B324
A1FA   BCC   loc_A25E
A1FC   LDA   #$80
A1FE   STA   byte_C2
A200
A200 loc_A200:                     ; ...
A200   LDA   #$C
A202   STA   byte_B374
A205   STA   byte_C5
A207   LDA   #5
A209   STA   byte_C4
A20B   JSR   auctionBuySellAi9
A20E   JSR   ai2                   ; input
A20E                               ; byte_BC: 0 good auction
A20E                               ;          5 land auction
A20E                               ; priceStart
A20E                               ; playersCash
A20E                               ; mapTemp3_0: estimation (si land action)
A20E                               ; mapTemp3_8: argent mimnum à garder
A20E                               ;
A20E                               ; output
A20E                               ; mapTemp3_11: l'argent qu'il est pres à investir
A20E                               ;
A20E                               ; Si land auction:
A20E                               ; mapTemp3_0: la valeur estimée de la terre
A20E                               ; mapTemp3_8: un nombre entre 144 et 399
A20E                               ; mapTemp3: playerCash - random [144;399]
A20E                               ;           plafonné par estimation
A211   JSR   auctionBuySellAi3     ; input
A211                               ; byte_44
A211                               ; byte_B2E3 [PLAYERS]
A211                               ; byte_B1B5 [PLAYERS]
A211                               ;
A211                               ; output
A211                               ; byte_B309 [PLAYERS]
A211                               ; byte_B30D [PLAYERS]
A214   LDA   maxIndexCpu
A216   BMI   loc_A257
A218   STA   byte_8C
A21A   LDA   byte_91
A21C   CMP   #2
A21E   BCS   loc_A257
A220   JSR   auctionBuySellAi6     ; input
A220                               ; byte_8C: maxIndexCpu
A220                               ; byte_91: good
A220                               ; byte_9C: good
A220                               ; byte_B490:
A220                               ; byte_B491:
A220                               ;
A220                               ; output
A220                               ; byte_B48C [CPUS]
A223   LDX   byte_AD
A225   BMI   loc_A257
A227   LDA   playersAi,X
A22A   BPL   loc_A257
A22C   LDA   byte_B487,X
A22F   BEQ   loc_A257
A231   LDA   plotsTemp3+$22,X
A234   BNE   loc_A257
A236   LSR   word_B321+1
A239   ROR   word_B321
A23C   SEC
A23D   LDA   #$41
A23F   SBC   word_B321
A242   STA   byte_9B
A244   LDA   #0
A246   SBC   word_B321+1
A249   BCC   loc_A257
A24B   LDA   #$64
A24D   JSR   random_0_A            ; input
A24D                               ; A: borne supérieure
A24D                               ; output
A24D                               ; A: un nombre aléatoire [0; A[
A24D                               ;
A24D                               ; calcul un nombre aléatoire entre 0 et A
A250   CMP   byte_9B
A252   BCS   loc_A257
A254   INC   plotsTemp3+$22,X
A257
A257 loc_A257:                     ; ...
A257   LDA   byte_E1
A259   BNE   loc_A25E
A25B   JSR   sub_933B
A25E
A25E loc_A25E:                     ; ...
A25E   LDA   byte_D3
A260   BMI   loc_A284
A262   LDA   byte_E1
A264   BNE   loc_A281
A266   LDA   byte_43
A268   BEQ   loc_A281
A26A   LDX   level
A26C   BEQ   loc_A281
A26E   LDX   currentPlayer
A270   BMI   loc_A281
A272   LDA   byte_A3,X
A274   CMP   #$54
A276   BNE   loc_A281
A278   JSR   sub_9843
A27B   JSR   sub_990F
A27E   JMP   loc_A003
A281 ; ---------------------------------------------------------------------------
A281
A281 loc_A281:                     ; ...
A281   JMP   loc_9FFA
A284 ; ---------------------------------------------------------------------------
A284
A284 loc_A284:                     ; ...
A284   LDA   byte_E1
A286   BEQ   loc_A294
A288   JSR   animAuctionOrCollusionOver
A28B   JSR   sub_92B9
A28E   JSR   sub_933B
A291   JMP   loc_9FFA
A294 ; ---------------------------------------------------------------------------
A294
A294 loc_A294:                     ; ...
A294   LDA   byte_45
A296   BEQ   loc_A2AC
A298   LDA   word_70
A29A   LDY   word_70+1
A29C   LDX   byte_45
A29E   JSR   div16Bits             ; input
A29E                               ; Y/A: Numérateur 16 bits
A29E                               ; X:   Diviseur
A29E                               ; output
A29E                               ; Y/A, byte_82/byte_81: Résultat
A29E                               ;      byte_84/byte_83: Reste
A29E                               ;
A29E                               ; Y/A /= X
A2A1   LDX   byte_88
A2A3   STA   goodsPrice,X
A2A6   INX
A2A7   LDA   byte_82
A2A9   STA   goodsPrice,X
A2AC
A2AC loc_A2AC:                     ; ...
A2AC   JSR   animAuctionOrCollusionOver
A2AC ; End of function auctionBuySell
A2AC
A2AF
A2AF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A2AF
A2AF
A2AF sub_A2AF:                     ; ...
A2AF   JSR   C1_255
A2B2   LDA   #0
A2B4   STA   OS_SDMCTL
A2B7   LDA   OS_COLOR4
A2BA   STA   OS_COLOR2
A2BD   JSR   initBB00ToBFFF
A2C0   JSR   restoreFont
A2C3   JMP   sub_136D
A2C3 ; End of function sub_A2AF
A2C3
A2C6
A2C6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A2C6
A2C6
A2C6 sub_A2C6:                     ; ...
A2C6   STA   byte_A3,X
A2C8   TXA
A2C9   ASL   A
A2CA   TAX
A2CB   LDY   byte_80
A2CD   LDA   playersBid,Y
A2D0   STA   playersBid,X
A2D3   LDA   playersBid+1,Y
A2D6   STA   playersBid+1,X
A2D9   RTS
A2D9 ; End of function sub_A2C6
A2D9
A2DA
A2DA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A2DA
A2DA
A2DA auctionBuySellLandAuction:    ; ...
A2DA   LDA   lastBidStartLa        ; // land auction
A2DD   ORA   lastBidStartLa+1
A2E0   BNE   loc_A2F9              ; if (lastBidStartLa == 0) {
A2E2   LDA   #0
A2E4   TAY
A2E5   STA   lastBidStartLa+1
A2E8   STA   lastPriceStartLa+1
A2EB   LDA   initPriceStartLa
A2EE   STA   lastPriceStartLa
A2F1   LDA   initBidStartLa
A2F4   STA   lastBidStartLa        ;   lastPriceStartLa = initPriceStartLa // 112
A2F4                               ;   lastBidStartLa   = initBidStartLa // 160
A2F7   BNE   loc_A2FF              ; }
A2F7                               ; else {
A2F9
A2F9 loc_A2F9:                     ; ...
A2F9   LDY   lastBidStartLa+1
A2FC   LDA   lastBidStartLa        ; }
A2FF
A2FF loc_A2FF:                     ; ...
A2FF   STA   priceStart
A302   STY   priceStart+1          ; priceStart = lastBidStartLa
A305   SEC
A306   LDA   priceStart
A309   SBC   #48
A30B   STA   lastPriceStartLa
A30E   LDA   priceStart+1
A311   SBC   #0
A313   STA   lastPriceStartLa+1    ; lastPriceStartLa = priceStart - 48 // prix au joueur
A316   JSR   ai2                   ; input
A316                               ; byte_BC: 0 good auction
A316                               ;          5 land auction
A316                               ; priceStart
A316                               ; playersCash
A316                               ; mapTemp3_0: estimation (si land action)
A316                               ; mapTemp3_8: argent mimnum à garder
A316                               ;
A316                               ; output
A316                               ; mapTemp3_11: l'argent qu'il est pres à investir
A316                               ;
A316                               ; Si land auction:
A316                               ; mapTemp3_0: la valeur estimée de la terre
A316                               ; mapTemp3_8: un nombre entre 144 et 399
A316                               ; mapTemp3: playerCash - random [144;399]
A316                               ;           plafonné par estimation
A319   JSR   addMessageBidStart
A31C   LDA   #$5E
A31E   STA   byte_8E72
A321   LDA   #$42                  ; // houseLandAuctionChar
A323   STA   byte_8E73
A326   LDY   #$90
A328   JSR   charTimeFrom8E72      ; // houseLandAuctionChar
A32B   LDA   #$3E
A32D   STA   byte_A7
A32F   LDX   #3
A331   LDA   #$A8
A333   TAY
A334   STY   byte_8E0A
A337   STY   byte_8E43
A33A   INY
A33B   STY   byte_960C
A33E
A33E loc_A33E:                     ; ...
A33E   STA   byte_B311,X
A341   STA   byte_A3,X
A343   DEX
A344   BPL   loc_A33E
A346   STX   currentPlayer
A348   STX   byte_49
A34A   STX   byte_F0
A34C   INX
A34D   STX   byte_8D
A34F   STX   byte_EE
A351   STX   byte_DA
A353   STX   byte_DB
A355   STX   byte_DC
A357   LDA   #$54
A359   STA   byte_44
A35B   JSR   sub_8E07
A35E   LDA   byte_84
A360   STA   priceEnd
A363   LDA   byte_9B
A365   STA   priceEnd+1
A368   LDA   nbLandsToSellByPlayers
A36A   BEQ   loc_A385              ; if (nbLandsToSellByPlayers != 0) {
A36C   LDX   byte_4A
A36E   LDY   landsToSell,X         ;   int land = landsToSell [byte_4A]
A371   LDX   plotsPlayer,Y         ;   int seller = plotsPlayer [land]
A374   LDA   #1
A376   STA   byte_B1B5,X           ;   byte_B1B5 [player] = Seller
A379   STA   byte_B309,X           ;   byte_B309 [seller] = 1
A37C   STX   byte_F0               ;   byte_F0 = seller
A37E   LDA   #76
A380   STA   byte_A3,X
A382   JSR   sub_A886              ; }
A385
A385 loc_A385:                     ; ...
A385   LDA   #$28
A387   STA   byte_53
A389   LDA   #$11
A38B   JSR   sub_10BC
A38E   JSR   addMessageMoneyUnits
A391   JSR   initPlayersButtons
A394   JSR   sub_96CC
A397   LDX   #7
A399   STX   byte_C1
A39B   LDA   #$A
A39D   STA   byte_C6
A39F
A39F LoopAuctionBuySellLandAuction: ; ...
A39F   JSR   auctionBuySellAi3     ; input
A39F                               ; byte_44
A39F                               ; byte_B2E3 [PLAYERS]
A39F                               ; byte_B1B5 [PLAYERS]
A39F                               ;
A39F                               ; output
A39F                               ; byte_B309 [PLAYERS]
A39F                               ; byte_B30D [PLAYERS]
A3A2   LDA   #1
A3A4   STA   byte_B33C
A3A7   LDA   byte_E1
A3A9   BEQ   loc_A3C1
A3AB   LDX   #3
A3AD
A3AD loc_A3AD:                     ; ...
A3AD   LDA   byte_97,X
A3AF   BEQ   loc_A3B9
A3B1   CPX   byte_F0
A3B3   BEQ   loc_A3B9
A3B5   LDA   #0
A3B7   BEQ   loc_A3BB
A3B9
A3B9 loc_A3B9:                     ; ...
A3B9   LDA   #1
A3BB
A3BB loc_A3BB:                     ; ...
A3BB   STA   byte_B309,X
A3BE   DEX
A3BF   BPL   loc_A3AD
A3C1
A3C1 loc_A3C1:                     ; ...
A3C1   JSR   sub_8E4B
A3C4   LDA   byte_E1
A3C6   BNE   loc_A3D0
A3C8
A3C8 loc_A3C8:                     ; ...
A3C8   LDX   byte_F0
A3CA   BMI   loc_A3D0
A3CC   LDA   #$C
A3CE   STA   byte_E3,X
A3D0
A3D0 loc_A3D0:                     ; ...
A3D0   LDA   maxIndexCpu
A3D2   BMI   loc_A3D7
A3D4   JSR   auctionBuySellLandAuctionAi8
A3D7
A3D7 loc_A3D7:                     ; ...
A3D7   LDX   #0
A3D9   STX   byte_AE
A3DB
A3DB loc_A3DB:                     ; ...
A3DB   LDX   byte_AE
A3DD   BEQ   loc_A3DB
A3DF   JSR   auctionBuySellLandAuctionAi7
A3E2   LDA   byte_80
A3E4   BEQ   loc_A409
A3E6   LDA   #$14
A3E8   JSR   sub_10BC
A3EB   LDA   #3
A3ED   STA   byte_90
A3EF   LDA   #$11
A3F1   STA   byte_55
A3F3   JSR   sub_12F0
A3F6   LDA   priceStart+1
A3F9   LDX   priceStart
A3FC   JSR   decodeNumberToMessage ; // priceStart
A3FF   LDA   #0
A401   JSR   decodeCharToMessage   ; A
A404   LDA   #0
A406   JSR   decodeCharToMessage   ; A
A409
A409 loc_A409:                     ; ...
A409   JSR   sub_97FB
A40C   LDX   #3
A40E   STX   byte_8C
A410
A410 loc_A410:                     ; ...
A410   LDA   byte_B309,X
A413   BNE   loc_A41C
A415   LDA   byte_9F,X
A417   BEQ   loc_A41C
A419   JSR   sub_9514
A41C
A41C loc_A41C:                     ; ...
A41C   DEC   byte_8C
A41E   LDX   byte_8C
A420   BPL   loc_A410
A422   INX
A423   STX   word_B321
A426   STX   word_B321+1
A429   LDA   nbLandsToSellByPlayers
A42B   BEQ   loc_A439              ; if (nbLandsToSell != 0) {
A42D   LDA   byte_F0
A42F   ASL   A
A430   TAX
A431   LDA   #0
A433   STA   playersBid,X
A436   STA   playersBid+1,X        ; }
A439
A439 loc_A439:                     ; ...
A439   LDA   currentPlayer         ; A = currentPlayer
A43B   BPL   loc_A442              ; if (currentPlayer == NoBody) {
A43D   LDA   OS_SKREST_RANDOM
A440   AND   #3                    ;   A = random [0;3]
A440                               ; }
A442
A442 loc_A442:                     ; ...
A442   STA   byte_8B
A444   STA   byte_8C
A446
A446 loc_A446:                     ; ...
A446   TAX
A447   TAY
A448   LDA   byte_B309,X
A44B   BNE   loc_A47A
A44D   LDA   nbLandsToSellByPlayers
A44F   BEQ   loc_A455
A451   CPY   byte_F0
A453   BEQ   loc_A47A
A455
A455 loc_A455:                     ; ...
A455   LDA   byte_A3,X             ; // vente par un autre joueur
A457   CMP   #$91
A459   BCS   loc_A47A
A45B   TXA
A45C   ASL   A
A45D   TAX
A45E   LDA   word_B321             ; // comparer le bid des joueurs avec le high bid
A461   CMP   playersBid,X
A464   LDA   word_B321+1
A467   SBC   playersBid+1,X
A46A   BCS   loc_A47A
A46C   LDA   playersBid+1,X
A46F   STA   word_B321+1
A472   LDA   playersBid,X
A475   STA   word_B321
A478   STY   currentPlayer         ; // joueur qui tient le bid
A47A
A47A loc_A47A:                     ; ...
A47A   INC   byte_8C
A47C   LDA   byte_8C
A47E   CMP   #4
A480   BNE   loc_A486
A482   LDA   #0
A484   STA   byte_8C
A486
A486 loc_A486:                     ; ...
A486   CMP   byte_8B
A488   BNE   loc_A446              ; // si high bid sous le price start, pas d'acheteur
A48A   LDA   word_B321
A48D   CMP   priceStart
A490   LDA   word_B321+1
A493   SBC   priceStart+1
A496   BCS   loc_A49C
A498   LDY   #-1
A49A   STY   currentPlayer
A49C
A49C loc_A49C:                     ; ...
A49C   LDA   byte_A7
A49E   STA   byte_47
A4A0   LDX   currentPlayer
A4A2   BPL   loc_A4A8
A4A4   LDA   #$3E
A4A6   BNE   loc_A4AD
A4A8
A4A8 loc_A4A8:                     ; ...
A4A8   LDA   byte_A3,X
A4AA   SEC
A4AB   SBC   #$53
A4AD
A4AD loc_A4AD:                     ; ...
A4AD   STA   byte_A7
A4AF   LDX   #0
A4B1   STX   byte_A9
A4B3
A4B3 loc_A4B3:                     ; ...
A4B3   LDX   byte_A9
A4B5   BEQ   loc_A4B3
A4B7   LDA   byte_8D
A4B9   BNE   loc_A4C3
A4BB   LDA   currentPlayer
A4BD   STA   byte_AD
A4BF   INC   byte_8D
A4C1   BNE   loc_A537
A4C3
A4C3 loc_A4C3:                     ; ...
A4C3   LDX   currentPlayer
A4C5   BMI   loc_A50B
A4C7   LDA   byte_A3,X
A4C9   CMP   #$54
A4CB   BNE   loc_A50B
A4CD   LDA   byte_BD,X
A4CF   CMP   #$E
A4D1   BEQ   loc_A50B
A4D3   JSR   sub_9845
A4D6   LDA   OS_SKREST_RANDOM
A4D9   AND   #3
A4DB   STA   byte_8B
A4DD   STA   byte_8C
A4DF
A4DF loc_A4DF:                     ; ...
A4DF   TAX
A4E0   CPX   currentPlayer
A4E2   BEQ   loc_A4F7
A4E4   LDA   byte_B309,X
A4E7   BNE   loc_A4F7
A4E9   LDA   byte_A3,X
A4EB   CMP   #$55
A4ED   BCS   loc_A4F7
A4EF   LDA   byte_BD,X
A4F1   ORA   byte_E3,X
A4F3   CMP   #$E
A4F5   BEQ   loc_A509
A4F7
A4F7 loc_A4F7:                     ; ...
A4F7   INC   byte_8C
A4F9   LDA   byte_8C
A4FB   CMP   #4
A4FD   BNE   loc_A503
A4FF   LDA   #0
A501   STA   byte_8C
A503
A503 loc_A503:                     ; ...
A503   CMP   byte_8B
A505   BNE   loc_A4DF
A507   BEQ   loc_A50B
A509
A509 loc_A509:                     ; ...
A509   STX   currentPlayer
A50B
A50B loc_A50B:                     ; ...
A50B   LDA   currentPlayer
A50D   TAY
A50E   EOR   byte_AD
A510   STY   byte_AD
A512   BEQ   loc_A537
A514   LDX   #-1
A516   STX   byte_DC
A518   LDA   byte_E1
A51A   BNE   loc_A521
A51C   JSR   sub_9356
A51F   BNE   loc_A530
A521
A521 loc_A521:                     ; ...
A521   LDX   #3
A523
A523 loc_A523:                     ; ...
A523   LDA   byte_97,X
A525   BEQ   loc_A52D
A527   LDA   playersColor,X
A52A   STA   OS_PCOLR0,X
A52D
A52D loc_A52D:                     ; ...
A52D   DEX
A52E   BPL   loc_A523
A530
A530 loc_A530:                     ; ...
A530   LDA   #$26
A532   STA   byte_300E
A535   INC   byte_DC
A537
A537 loc_A537:                     ; ...
A537   LDA   #$11
A539   JSR   sub_10BC
A53C   JSR   addMessageBuySell
A53F   LDA   #0
A541   JSR   sub_10BC
A544   LDX   #2
A546   STX   byte_55
A548   DEX
A549   STX   byte_90
A54B   JSR   sub_12F0
A54E   LDY   currentPlayer
A550   BMI   loc_A581
A552   LDA   word_B321
A555   CMP   #232
A557   LDA   word_B321+1
A55A   SBC   #3
A55C   BCS   loc_A563
A55E   LDA   #0
A560   JSR   decodeCharToMessage   ; A
A563
A563 loc_A563:                     ; ...
A563   LDA   #$A3                  ; // HIGH_BID_IS_$
A565   LDY   #$41
A567   JSR   addMessage            ; // HIGH_BID_IS_$
A56A   LDA   word_B321+1
A56D   LDX   word_B321
A570   JSR   decodeNumberToMessage ; // highBid
A573   LDA   #0
A575   STA   byte_90
A577   LDA   #$AA                  ; // _____
A579   LDY   #$3A
A57B   JSR   addMessage            ; // _____
A57E   JMP   loc_A588
A581 ; ---------------------------------------------------------------------------
A581
A581 loc_A581:                     ; ...
A581   LDA   #$92                  ; // _NO_BIDS_TENDERED
A583   LDY   #$41
A585   JSR   addMessage            ; // _NO_BIDS_TENDERED
A588
A588 loc_A588:                     ; ...
A588   LDA   byte_D3
A58A   BMI   loc_A5A6
A58C   JSR   sub_A893
A58F   LDA   byte_E1
A591   BNE   loc_A5A3
A593   LDX   currentPlayer
A595   BMI   loc_A5A3
A597   LDA   byte_A3,X
A599   CMP   #$54
A59B   BNE   loc_A5A3
A59D   JSR   sub_9843
A5A0   JMP   loc_A3C8
A5A3 ; ---------------------------------------------------------------------------
A5A3
A5A3 loc_A5A3:                     ; ...
A5A3   JMP   LoopAuctionBuySellLandAuction
A5A3 ; End of function auctionBuySellLandAuction
A5A3
A5A6 ; ---------------------------------------------------------------------------
A5A6 ; START OF FUNCTION CHUNK FOR sub_A893
A5A6
A5A6 loc_A5A6:                     ; ...
A5A6   JSR   sub_96B9
A5A9   LDA   byte_E1
A5AB   BEQ   loc_A5CB
A5AD   JSR   animAuctionOrCollusionOver
A5B0   JSR   sub_92B9
A5B3   JSR   sub_96B9
A5B6   LDA   byte_B1B1
A5B9   BEQ   loc_A5CB
A5BB   JSR   sub_A886
A5BE   JSR   sub_A933
A5C1   LDA   #0
A5C3   STA   byte_DB
A5C5   JSR   addMessageBidStart
A5C8   JMP   LoopAuctionBuySellLandAuction
A5CB ; ---------------------------------------------------------------------------
A5CB
A5CB loc_A5CB:                     ; ...
A5CB   INC   byte_DB
A5CD   LDA   #0
A5CF   JSR   sub_10BC
A5D2   LDA   #1
A5D4   STA   byte_55
A5D6   JSR   sub_12F0
A5D9   JSR   sub_107C
A5DC   LDA   #$14
A5DE   JSR   sub_10BC
A5E1   LDA   #0
A5E3   STA   byte_55
A5E5   JSR   sub_1073
A5E8   LDX   #4
A5EA   STX   byte_55
A5EC   DEX
A5ED   STX   byte_90
A5EF   JSR   sub_12F0
A5F2   LDA   currentPlayer
A5F4   BPL   loc_A604
A5F6   LDA   #1
A5F8   STA   byte_55
A5FA   LDA   #$BD                  ; // PLOT_DIDN'T_SELL!
A5FC   LDY   #$41
A5FE   JSR   addMessage            ; // PLOT_DIDN'T_SELL!
A601   JMP   loc_A640
A604 ; ---------------------------------------------------------------------------
A604
A604 loc_A604:                     ; ...
A604   LDA   #$B0                  ; // PLOT_IS_SOLD!
A606   LDY   #$41
A608   JSR   addMessage            ; // PLOT_IS_SOLD!
A60B   LDA   #0
A60D   JSR   sub_10BC
A610   LDA   #2
A612   STA   byte_55
A614   JSR   sub_12F0
A617   LDA   currentPlayer
A619   ASL   A
A61A   PHA
A61B   TAX
A61C   LDA   playersBid,X
A61F   CMP   #$E8
A621   LDA   playersBid+1,X
A624   SBC   #3
A626   BCS   loc_A62A
A628   INC   byte_55
A62A
A62A loc_A62A:                     ; ...
A62A   LDA   #$CE                  ; // SALE_PRICE:_$
A62C   LDY   #$41
A62E   LDX   #2
A630   STX   byte_90
A632   JSR   addMessage            ; // SALE_PRICE:_$
A635   PLA
A636   TAY
A637   LDX   playersBid,Y
A63A   LDA   playersBid+1,Y
A63D   JSR   decodeNumberToMessage ; // playerBid
A640
A640 loc_A640:                     ; ...
A640   LDA   #$78
A642   JSR   waitJiffy             ; input
A642                               ; A: temps à attendre en jiffy (1/60 seconds)
A645   LDA   byte_F0
A647   BPL   loc_A691              ; if (byte_F0 == -1) {
A649   LDA   currentPlayer
A64B   BPL   loc_A675              ;   if (currentPlayer == NoBody) {
A64D   LSR   priceStart+1
A650   ROR   priceStart
A653   CLC
A654   LDA   priceStart
A657   ADC   #52
A659   STA   priceStart
A65C   LDA   priceStart+1
A65F   ADC   #0
A661   STA   priceStart+1          ;     priceStart = (priceStart / 2) + 52
A664   LDA   priceStart
A667   STA   lastBidStartLa        ;     word_B2FB = priceStart
A66A   CLC
A66B   ADC   word_72
A66D   STA   word_72               ;     word_72 += word_B2FB
A66F   LDA   priceStart+1
A672   JMP   loc_A685              ;   }
A672                               ;   else {
A675 ; ---------------------------------------------------------------------------
A675
A675 loc_A675:                     ; ...
A675   ASL   A
A676   TAX
A677   LDA   playersBid,X
A67A   STA   lastBidStartLa        ;     word_B2FB = playersBid [currentPlayer]
A67D   CLC
A67E   ADC   word_72
A680   STA   word_72               ;     word_72 += word_B2FB
A682   LDA   playersBid+1,X        ;   }
A685
A685 loc_A685:                     ; ...
A685   STA   lastBidStartLa+1
A688   ADC   word_72+1
A68A   STA   word_72+1
A68C   INC   byte_49               ;   byte_49 ++
A68E   JSR   B2FB_94               ; }
A691
A691 loc_A691:                     ; ...
A691   LDA   currentPlayer         ; // maj du cash du joueur apres une enchere
A693   BMI   loc_A6D7
A695   ASL   A
A696   TAX
A697   LDA   playersCash,X
A69A   SEC
A69B   SBC   playersBid,X
A69E   STA   playersCash,X
A6A1   LDA   playersCash+1,X
A6A4   SBC   playersBid+1,X
A6A7   STA   playersCash+1,X
A6AA   LDA   nbLandsToSellByPlayers
A6AC   BEQ   loc_A6CF              ; // si vente par un autre joueur, lui donner l'argent
A6AE   STX   byte_80
A6B0   LDX   byte_4A
A6B2   LDY   landsToSell,X
A6B5   LDA   plotsPlayer,Y
A6B8   ASL   A
A6B9   TAY
A6BA   LDX   byte_80
A6BC   LDA   playersCash,Y
A6BF   CLC
A6C0   ADC   playersBid,X
A6C3   STA   playersCash,Y
A6C6   LDA   playersCash+1,Y
A6C9   ADC   playersBid+1,X
A6CC   STA   playersCash+1,Y
A6CF
A6CF loc_A6CF:                     ; ...
A6CF   LDA   #$12
A6D1   JSR   sub_10BC
A6D4   JSR   addMessageBuySell3
A6D7
A6D7 loc_A6D7:                     ; ...
A6D7   JMP   waitJiffyLevel
A6D7 ; END OF FUNCTION CHUNK FOR sub_A893
A6DA
A6DA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A6DA
A6DA ; byte_91: nb de terre à vendre
A6DA
A6DA landsAuction:                 ; ...
A6DA   LDA   #0
A6DC   STA   word_72
A6DE   STA   word_72+1
A6E0   STA   byte_49
A6E2
A6E2 loc_A6E2:                     ; ...
A6E2   JSR   initBB00ToBFFF        ; do {
A6E5   JSR   C1_255
A6E8   JSR   randomFreePlot        ; input
A6E8                               ;
A6E8                               ; output
A6E8                               ; A, byte_CB: indice d'une case libre tirée au hasard
A6E8                               ;          -1 aucune de libre
A6E8                               ; X: nombre de case libre
A6E8                               ;
A6E8                               ; Rempli le tableau MAP_TEMP des indices des cases
A6E8                               ; libres et renvoie une case au hasard
A6EB   BMI   loc_A71B              ; if (nb_cases_libres == 0) {
A6EB                               ;   break
A6EB                               ; }
A6ED   JSR   drawMap
A6F0   JSR   wait6
A6F3   LDA   byte_CB
A6F5   JSR   printAndWaitPlayersButtons2 ; // wait for click
A6F8   JSR   calcPlotQualitiesForLandAuctionAi ; input
A6F8                               ; byte_CB: land to sell
A6F8                               ;
A6F8                               ; output
A6F8                               ; mapTemp3 [PLAYERS]: qualité de la terre pour chaque cpu
A6FB   LDA   #5
A6FD   STA   byte_BC
A6FF   LDA   #0
A701   STA   nbLandsToSellByPlayers ;   nbLandsToSell = 0;
A703   JSR   auctionBuySell        ; input
A703                               ; byte_BC: 0 good auction
A703                               ;          5 land auction
A703                               ; byte_91: goodAuction ou nb terre restant a vendre
A703                               ;
A703                               ; output
A703                               ; si land auction, currentPlayer: gagnant
A706   LDX   byte_CB
A708   LDA   currentPlayer
A70A   BMI   loc_A71B
A70C   STA   plotsPlayer,X         ; // donner la terre à l'acheteur
A70F   DEC   byte_91
A711   BEQ   loc_A71B
A713   BMI   loc_A71B
A715   JSR   sub_A2AF
A718   JMP   loc_A6E2              ; } while ((byte_91 > 0) && (currentPlayer != -1))
A71B ; ---------------------------------------------------------------------------
A71B
A71B loc_A71B:                     ; ...
A71B   JSR   B2FB_72div49          ; lastBidStartLa = byte_73|byte_72 / byte_49
A71E   JSR   animAuctionOrCollusionOver2 ; // prix des ventes du prochain round
A71E                               ; // ^^ cout moyen ? (argent total des ventes / nb ventes)
A721   JSR   C1_255
A724   JMP   sub_A2AF
A724 ; End of function landsAuction
A724
A727
A727 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A727
A727
A727 landsAuctionByPlayers:        ; ...
A727   LDA   nbLandsToSellByPlayers
A729   BNE   loc_A72C
A72B   RTS
A72C ; ---------------------------------------------------------------------------
A72C
A72C loc_A72C:                     ; ...
A72C   LDA   #0
A72E   STA   byte_4A               ; i-ème terre à vendre
A730   STA   word_72
A732   STA   word_72+1
A734   STA   byte_49
A736
A736 loc_A736:                     ; ...
A736   JSR   initBB00ToBFFF
A739   JSR   C1_255
A73C   JSR   drawMap
A73F   LDY   byte_4A
A741   LDA   landsToSell,Y
A744   STA   byte_CB               ;   byte_CB = landToSell [byte_4A]
A746   JSR   printAndWaitPlayersButtons2
A749   JSR   calcPlotQualitiesForLandAuctionAi ; input
A749                               ; byte_CB: land to sell
A749                               ;
A749                               ; output
A749                               ; mapTemp3 [PLAYERS]: qualité de la terre pour chaque cpu
A74C   LDA   #5
A74E   STA   byte_BC
A750   JSR   auctionBuySell        ; input
A750                               ; byte_BC: 0 good auction
A750                               ;          5 land auction
A750                               ; byte_91: goodAuction ou nb terre restant a vendre
A750                               ;
A750                               ; output
A750                               ; si land auction, currentPlayer: gagnant
A753   LDA   currentPlayer
A755   BMI   loc_A75F
A757   LDY   byte_4A
A759   LDX   landsToSell,Y
A75C   STA   plotsPlayer,X         ; // donner la land au joueur l'ayant acheté
A75F
A75F loc_A75F:                     ; ...
A75F   INC   byte_4A
A761   LDA   byte_4A
A763   CMP   nbLandsToSellByPlayers
A765   BCC   loc_A736
A767   JSR   B2FB_72div49          ; lastBidStartLa = byte_73|byte_72 / byte_49
A76A   JSR   sub_A2AF
A76D   JMP   drawMap
A76D ; End of function landsAuctionByPlayers
A76D
A770
A770 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A770
A770
A770 auctionBuySellLandAuctionAi7: ; ...
A770   LDX   byte_F0
A772   BPL   loc_A777
A774
A774 loc_A774:                     ; ...
A774   JMP   loc_A803
A777 ; ---------------------------------------------------------------------------
A777
A777 loc_A777:                     ; ...
A777   LDA   byte_E1
A779   BNE   loc_A774
A77B   LDA   byte_C6
A77D   BNE   loc_A774
A77F   LDA   #5
A781   STA   byte_C6
A783   LDA   byte_B2,X
A785   BNE   loc_A803
A787   LDA   #0
A789   STA   byte_9E
A78B   LDY   #3
A78D
A78D loc_A78D:                     ; ...
A78D   TYA
A78E   ASL   A
A78F   TAX
A790   CPY   byte_F0
A792   BEQ   loc_A7A2
A794   LDA   plotsTemp3+$11,X
A797   CMP   priceStart
A79A   LDA   plotsTemp3+$12,X
A79D   SBC   priceStart+1
A7A0   BCS   loc_A7A7
A7A2
A7A2 loc_A7A2:                     ; ...
A7A2   DEY
A7A3   BPL   loc_A78D
A7A5   BMI   loc_A803
A7A7
A7A7 loc_A7A7:                     ; ...
A7A7   LDA   #1
A7A9   LDX   byte_F0
A7AB   STA   byte_97,X
A7AD   INC   byte_E1
A7AF   LDA   #1
A7B1   STA   byte_DB
A7B3   JSR   sub_91EA
A7B6   LDX   #3
A7B8
A7B8 loc_A7B8:                     ; ...
A7B8   LDA   byte_B1B5,X
A7BB   BNE   loc_A7CB
A7BD   LDA   byte_A3,X
A7BF   CMP   #$A8
A7C1   BEQ   loc_A7CB
A7C3   TXA
A7C4   JSR   sub_12CA
A7C7   LDA   #$A8
A7C9   STA   byte_A3,X
A7CB
A7CB loc_A7CB:                     ; ...
A7CB   DEX
A7CC   BPL   loc_A7B8
A7CE   LDA   byte_EF
A7D0
A7D0 loc_A7D0:                     ; ...
A7D0   ASL   A
A7D1   TAX
A7D2   LDA   plotsTemp3+$11,X
A7D5   CMP   priceStart
A7D8   LDA   plotsTemp3+$12,X
A7DB   SBC   priceStart+1
A7DE   BCS   loc_A7EA
A7E0   INC   byte_EF
A7E2   LDA   byte_EF
A7E4   CMP   #4
A7E6   BEQ   loc_A803
A7E8   BNE   loc_A7D0
A7EA
A7EA loc_A7EA:                     ; ...
A7EA   LDX   byte_EF
A7EC   LDA   #0
A7EE   STA   byte_B309,X
A7F1   LDA   #1
A7F3   STA   byte_97,X
A7F5   TXA
A7F6   JSR   sub_12CA
A7F9   LDA   #$90
A7FB   STA   byte_A3,X
A7FD   DEC   byte_DB
A7FF   LDA   #5
A801   STA   byte_C6
A803
A803 loc_A803:                     ; ...
A803   LDX   #0
A805   STX   byte_80
A807   DEX
A808   STX   byte_49
A80A   LDA   byte_E1
A80C   BNE   locret_A843
A80E   LDA   byte_D8
A810   BEQ   loc_A815
A812   JMP   sub_9899
A815 ; ---------------------------------------------------------------------------
A815
A815 loc_A815:                     ; ...
A815   LDA   byte_EE
A817   BNE   loc_A81A
A819   RTS
A81A ; ---------------------------------------------------------------------------
A81A
A81A loc_A81A:                     ; ...
A81A   LDX   #3
A81C
A81C loc_A81C:                     ; ...
A81C   LDA   byte_B1B5,X
A81F   BNE   loc_A82F
A821   LDA   byte_A3,X
A823   CMP   #$A8
A825   BEQ   loc_A82F
A827   TXA
A828   JSR   sub_12CA
A82B   LDA   #$A8
A82D   STA   byte_A3,X
A82F
A82F loc_A82F:                     ; ...
A82F   DEX
A830   BPL   loc_A81C
A832   LDA   byte_EE
A834   BMI   loc_A844
A836   INC   byte_D8
A838   LDA   #$10
A83A   STA   byte_94
A83C   JSR   sub_9899
A83F   LDA   #4
A841   STA   byte_94
A843
A843 locret_A843:                  ; ...
A843   RTS
A844 ; ---------------------------------------------------------------------------
A844
A844 loc_A844:                     ; ...
A844   SEC
A845   LDA   lastPriceStartLa
A848   SBC   #16
A84A   STA   lastPriceStartLa
A84D   TAX
A84E   LDA   lastPriceStartLa+1
A851   SBC   #0
A853   STA   lastPriceStartLa+1
A856   TAY
A857   BCC   loc_A85F
A859   BNE   loc_A869
A85B   CPX   #4
A85D   BCS   loc_A869
A85F
A85F loc_A85F:                     ; ...
A85F   LDY   #0
A861   STY   lastPriceStartLa+1
A864   LDX   #4
A866   STX   lastPriceStartLa
A869
A869 loc_A869:                     ; ...
A869   CLC
A86A   TXA
A86B   ADC   #48
A86D   STA   priceStart
A870   TYA
A871   ADC   #0
A873   STA   priceStart+1
A876   CLC
A877   TXA
A878   ADC   #168
A87A   STA   priceEnd
A87D   TYA
A87E   ADC   #0
A880   STA   priceEnd+1
A883   INC   byte_80
A885   RTS
A885 ; End of function auctionBuySellLandAuctionAi7
A885
A886
A886 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A886
A886
A886 sub_A886:                     ; ...
A886   LDX   #0
A888   STX   byte_B1B1
A88B   CPX   byte_F0
A88D   BNE   loc_A890
A88F   INX
A890
A890 loc_A890:                     ; ...
A890   STX   byte_EF
A892   RTS
A892 ; End of function sub_A886
A892
A893
A893 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A893
A893
A893 sub_A893:                     ; ...
A893
A893 ; FUNCTION CHUNK AT A5A6 SIZE 00000134 BYTES
A893
A893   LDA   byte_E1
A895   BEQ   locret_A908
A897   LDA   byte_C6
A899   BNE   locret_A908
A89B   LDA   #5
A89D   STA   byte_C6
A89F   LDX   byte_F0
A8A1   LDA   byte_B2,X
A8A3   BNE   locret_A908
A8A5   LDA   #0
A8A7   STA   byte_9E
A8A9   LDA   byte_EF
A8AB   TAX
A8AC   JSR   sub_12CA
A8AF   LDA   #$A8
A8B1   STA   byte_A3,X
A8B3   LDA   #$FF
A8B5   STA   byte_DC
A8B7   STA   currentPlayer
A8B9   LDA   #$26
A8BB   STA   byte_300E
A8BE   LDA   playersColor,X
A8C1   EOR   #$A
A8C3   STA   OS_PCOLR0,X
A8C6   DEC   byte_97,X
A8C8   INC   byte_B309,X
A8CB   INC   byte_DC
A8CD
A8CD loc_A8CD:                     ; ...
A8CD   INC   byte_EF
A8CF   LDX   byte_EF
A8D1   CPX   byte_F0
A8D3   BNE   loc_A8D8
A8D5   INC   byte_EF
A8D7   INX
A8D8
A8D8 loc_A8D8:                     ; ...
A8D8   CPX   #4
A8DA   BNE   loc_A8E4
A8DC   INC   byte_B1B1
A8DF   PLA
A8E0   PLA
A8E1   JMP   loc_A5A6
A8E4 ; ---------------------------------------------------------------------------
A8E4
A8E4 loc_A8E4:                     ; ...
A8E4   TXA
A8E5   ASL   A
A8E6   TAY
A8E7   LDA   plotsTemp3+$11,Y
A8EA   CMP   priceStart
A8ED   LDA   plotsTemp3+$12,Y
A8F0   SBC   priceStart+1
A8F3   BCC   loc_A8CD
A8F5   TXA
A8F6   JSR   sub_12CA
A8F9   LDA   #byte_90
A8FB   STA   byte_A3,X
A8FD   LDA   playersColor,X
A900   STA   OS_PCOLR0,X
A903   INC   byte_97,X
A905   DEC   byte_B309,X
A908
A908 locret_A908:                  ; ...
A908   RTS
A908 ; End of function sub_A893
A908
A909
A909 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A909
A909
A909 addMessageBidStart:           ; ...
A909   LDA   #3
A90B   STA   byte_90
A90D   LDA   #$14
A90F   JSR   sub_10BC
A912   LDA   #2
A914   STA   byte_55
A916   JSR   sub_12F0
A919   LDA   #$83                  ; // BIDS_START_AT_$
A91B   LDY   #$41
A91D   JSR   addMessage            ; // BIDS_START_AT_$
A920   LDX   priceStart
A923   LDA   priceStart+1
A926   JSR   decodeNumberToMessage ; // priceStart
A929   LDA   #0
A92B   JSR   decodeCharToMessage   ; A
A92E   LDA   #0
A930   JSR   decodeCharToMessage   ; A
A930 ; End of function addMessageBidStart
A930
A933
A933 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A933
A933
A933 sub_A933:                     ; ...
A933   LDX   #$D
A935   TXA
A936   JSR   sub_10BC
A939   LDA   #byte_25
A93B   STA   byte_55
A93D   LDA   #0
A93F   STA   byte_90
A941
A941 loc_A941:                     ; ...
A941   LDA   #0
A943   JSR   decodeCharToMessage   ; A
A946   JSR   sub_9828
A949   DEX
A94A   CPX   #4
A94C   BNE   loc_A941
A94E   RTS
A94E ; End of function sub_A933
A94E
A94F
A94F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A94F
A94F ; input
A94F ; byte_91: goodAuction
A94F ; byte_B1B5
A94F ; byte_B1AD
A94F ; byte_B1B1
A94F ;
A94F ; output
A94F ; byte_B490: nb unité supposé qui vont etre acheté (par cpus)
A94F ; byte_B491: nb unité supposé disponibles à vendre (cpu + store)
A94F ;
A94F ; Calcul le nb d'unités qui vont potentiellement etre vendues/achetées
A94F ; Ne concerne que le Food ou Energy
A94F ; appelle auctionBuySellAi6
A94F
A94F auctionBuySellAi5:            ; ...
A94F   LDA   byte_91
A951   CMP   #2
A953   BCC   loc_A956              ; // si Smithore ou Crystite
A953                               ; if (goodAuction >= 2) {
A953                               ;   return
A953                               ; }
A955   RTS
A956 ; ---------------------------------------------------------------------------
A956
A956 loc_A956:                     ; ...
A956   TAX                         ; // si Food ou Energy
A957   ASL   A
A958   ASL   A
A959   STA   byte_9C
A95B   LDY   maxIndexCpu
A95D   STY   byte_8C
A95F   LDA   #0
A961   STA   byte_B490             ; byte_B490 = 0
A964   LDA   goodsStoreNb,X
A967   STA   byte_B491             ; byte_B491 = goodsStoreNb [goodAuction]
A96A   LDX   #3
A96C
A96C loc_A96C:                     ; ...
A96C   LDA   byte_B1B5,X           ; for (int player=3; player>=0; player--) {
A96F   BNE   loc_A983              ;   if (byte_B1B5 [player] == Buyer) {
A971   LDA   byte_B1AD,X
A974   BEQ   Next
A976   LDA   byte_B1B1,X           ;     // si le joueur a un manque
A976                               ;     if (byte_B1AD [player] == HasAleak) {
A979   CLC
A97A   ADC   byte_B490
A97D   STA   byte_B490             ;       byte_B490 += byte_B1B1 [indexCpu]
A980   JMP   Next                  ;     }
A980                               ;   }
A980                               ;   // si Seller
A980                               ;   else {
A983 ; ---------------------------------------------------------------------------
A983
A983 loc_A983:                     ; ...
A983   LDA   byte_B1AD,X
A986   BNE   Next                  ;     // si le joueur a un surplus
A986                               ;     if (byte_B1AD [player] == HasMore) {
A988   LDA   byte_B1B1,X
A98B   CLC
A98C   ADC   byte_B491
A98F   BCC   loc_A993
A991   LDA   #255
A993
A993 loc_A993:                     ; ...
A993   STA   byte_B491             ;       byte_B491 += byte_B1B1 [player]
A993                               ;       if (byte_B491 >= 255) {
A993                               ;         byte_B491 = 255
A993                               ;       }
A993                               ;     }
A993                               ;   }
A996
A996 :                         ; ...
A996   DEX
A997   BPL   loc_A96C              ; }
A997 ; End of function auctionBuySellAi5 ; // auctionBuySellAi6 ()
A997
A999
A999 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
A999
A999 ; input
A999 ; byte_8C: maxIndexCpu
A999 ; byte_91: good
A999 ; byte_9C: good
A999 ; byte_B490:
A999 ; byte_B491:
A999 ;
A999 ; output
A999 ; byte_B48C [CPUS]
A999
A999 auctionBuySellAi6:            ; ...
A999   LDX   #0
A99B   STX   byte_80               ; byte_80 = 0
A99D   LDA   byte_43
A99F   BEQ   loc_A9A8              ; // si store a aucune unité
A99F                               ; if (byte_43 == 1) {
A9A1   LDA   byte_B490
A9A4   BEQ   Fin                   ;   // si aucunes unités manquantes
A9A4                               ;   if (byte_B490 == 0) {
A9A4                               ;     goto (Fin)
A9A4                               ;   }
A9A6   BNE   loc_A9B3              ; }
A9A6                               ; // si store a des unités
A9A6                               ; else {
A9A8
A9A8 loc_A9A8:                     ; ...
A9A8   LDA   byte_B490
A9AB   LSR   A
A9AC   LDY   byte_91
A9AE   CMP   goodsStoreNb,Y
A9B1   BCC   Fin                   ;   // si le store a + de la moitié des unités manquantes
A9B1                               ;   if ((byte_B490/2) < goodsStoreNb [good]) {
A9B1                               ;     goto (Fin)
A9B1                               ;   }
A9B1                               ; }
A9B3
A9B3 loc_A9B3:                     ; ...
A9B3   LDY   maxIndexCpu
A9B5
A9B5 loc_A9B5:                     ; ...
A9B5   LDA   byte_B1B5,Y           ; for (int cpu=maxIndexCpu; cpu>=0; cpu--) {
A9B8   BEQ   loc_A9C3              ;   if (byte_B1B5 [cpu] == Seller) {
A9BA   INC   byte_80               ;     byte_80 ++
A9BC   LDA   byte_B1B1,Y
A9BF   CMP   #6                    ;     // si le nombre d'unités en surplus >= 6
A9BF                               ;     if (byte_B1B1 [cpu] >= 6) {
A9C1   BCS   Fin                   ;       goto (Fin)
A9C1                               ;     }
A9C1                               ;   }
A9C3
A9C3 loc_A9C3:                     ; ...
A9C3   DEY
A9C4   BPL   loc_A9B5              ; }
A9C6   LDA   byte_80
A9C8   BEQ   Fin                   ; // si nombre de vendeur cpus == 0
A9C8                               ; if (byte_80 == 0) {
A9C8                               ;   goto (Fin)
A9C8                               ; }
A9CA   INX                         ; X ++
A9CB
A9CB Fin:                          ; ...
A9CB   STX   byte_F2               ; byte_F2 = X
A9CD   LDY   byte_8C               ; maxIndexCpu
A9CF
A9CF loc_A9CF:                     ; ...
A9CF   LDA   byte_B1B5,Y           ; for (int cpu=maxIndexCpu; cpu>=0; cpu--) {
A9D2   BNE   Seller                ;   if (byte_B1B5 [cpu] == Seller) {
A9D2                               ;     goto (Seller)
A9D2                               ;   }
A9D4   LDA   playersGoodReq,Y
A9D7   LDY   #125
A9D9   JSR   mul8BitsBy8Bits       ;   Y|A = playersGoodReq [cpu] * 125
A9DC   LDA   byte_9C
A9DE   CLC
A9DF   ADC   byte_8C
A9E1   TAY
A9E2   LDX   goodsPlayersNb,Y
A9E5   BEQ   Error                 ;   if (goodsPlayersNb [good] [cpu] == 0) {
A9E5                               ;     goto (Error)
A9E5                               ;   }
A9E7   LDA   byte_82
A9E9   LDY   byte_81
A9EB   JSR   div16Bits             ;   Y|A /= goodsPlayersNb [good] [cpu]
A9EE   LDX   byte_B490
A9F1   JSR   mul16BitsBy8Bits      ;   // multiplier par le nombre d'unités manquantes totales
A9F1                               ;   Y|A *= byte_B490
A9F4   LDX   byte_B491
A9F7   BEQ   Error                 ;   // si aucunes unités disponibles a la vente
A9F7                               ;   if (byte_B491 == 0) {
A9F7                               ;     goto (Error)
A9F7                               ;   }
A9F9
A9F9 loc_A9F9:                     ; ...
A9F9   JSR   div16Bits             ;   // diviser par le nombre d'unités disponibles à la vente
A9F9                               ;   Y|A /= byte_B491
A9FC   CPY   #1
A9FE   BCC   Ok                    ;   if (Y|A <= 255) {
A9FE                               ;     goto (Ok)
A9FE                               ;   }
A9FE                               ;   goto (Error)
AA00
AA00 Error:                        ; ...
AA00   LDA   #255                  ;   Error:
AA00                               ;   Y|A = 255
AA02
AA02 Ok:                           ; ...
AA02   LDX   byte_8C               ;   Ok:
AA04   STA   byte_B48C,X           ;   byte_B48C [cpu] = Y|A
AA07   LDA   byte_B1B5,X
AA0A   BEQ   loc_AA13              ;   if (byte_B1B5 [cpu] == Seller) {
AA0C   LDA   byte_F2
AA0E   BEQ   loc_AA13              ;     if (byte_F2 != 0) {
AA10   LSR   byte_B48C,X           ;       byte_B48C [cpu] /= 2
AA10                               ;     }
AA10                               ;   }
AA13
AA13 loc_AA13:                     ; ...
AA13   DEC   byte_8C
AA15   LDY   byte_8C
AA17   BPL   loc_A9CF              ; } // fin for cpu
AA19   RTS
AA1A ; ---------------------------------------------------------------------------
AA1A
AA1A Seller:                       ; ...
AA1A   LDA   byte_9C
AA1C   CLC
AA1D   ADC   byte_8C
AA1F   TAY
AA20   LDA   goodsPlayersNb,Y
AA23   LDY   #15
AA25   JSR   mul8BitsBy8Bits       ; Y|A = goodsPlayersNb [good] [cpu] * 15
AA28   LDY   byte_8C
AA2A   LDX   playersGoodReq,Y
AA2C   BEQ   Error                 ; if (playersGoodReq [cpu] == 0) {
AA2C                               ;   goto (Error)
AA2C                               ; }
AA2E   LDA   byte_82
AA30   LDY   byte_81
AA32   JSR   div16Bits             ; Y|A /= playersGoodReq [cpu]
AA35   LDX   byte_B491
AA38   JSR   mul16BitsBy8Bits      ; // multiplier par le nombre d'unités disponibles à la vente
AA38                               ; Y|A *= byte_B491
AA3B   LDX   byte_B490
AA3E   BEQ   Error                 ; if (byte_B490 == 0) {
AA3E                               ;   goto (Error)
AA3E                               ; }
AA40   BNE   loc_A9F9              ;   // diviser par le nombre d'unités manquantes totalesY|A /= byte_B490
AA40 ; End of function auctionBuySellAi6 ; if (Y|A <= 255) {
AA40                               ;   goto (Ok)
AA40                               ; }
AA40                               ; goto (Error)
AA42
AA42 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
AA42
AA42 ; input
AA42 ; X: maxIndexCpu
AA42 ; byte_91: good auction
AA42 ; mapTemp3_8: l'argent à garder au minimum
AA42 ;
AA42 ; output
AA42 ; byte_B487: nb d'unités à vendre ou acheter
AA42
AA42 animSelectBuySellAi4:         ; ...
AA42   STX   byte_8C
AA44   LDA   numRound
AA46   CMP   nbRounds
AA49   BCC   loc_AA54              ; // si dernier round, ne rien vendre
AA49                               ; if (numRound >= nbRounds) {
AA4B
AA4B loc_AA4B:                     ; ...
AA4B   LDA   #0
AA4D   STA   byte_B487,X
AA50   DEX
AA51   BPL   loc_AA4B              ;   byte_B487 [] = 0
AA53   RTS                         ;   return
AA53                               ; }
AA54 ; ---------------------------------------------------------------------------
AA54
AA54 loc_AA54:                     ; ...
AA54   LDA   byte_91
AA56   CMP   #2
AA58   BCS   loc_AAA4              ; // si Food ou Energy
AA58                               ; if (goodAuction < 2) {
AA5A
AA5A loc_AA5A:                     ; ...
AA5A   LDA   byte_B1B1,X           ;   for (int indexCpu=maxIndexCpu; indexCpu>=0; indexCpu--) {
AA5A                               ;     // nb unités en surplus ou manquantes
AA5A                               ;     A = byte_B1B1 [indexCpu]
AA5D   LDY   byte_B1B5,X
AA60   BEQ   loc_AA9D              ;     if (byte_B1B5 [indexCpu] == Seller) {
AA62   LDY   level
AA64   CPY   #2
AA66   BNE   loc_AA9D              ;       if (level == Tournament) {
AA68   STA   byte_9B
AA6A   LDY   byte_91
AA6C   BNE   loc_AA73
AA6E   CMP   #6
AA70   JMP   loc_AA75
AA73 ; ---------------------------------------------------------------------------
AA73
AA73 loc_AA73:                     ; ...
AA73   CMP   #9
AA75
AA75 loc_AA75:                     ; ...
AA75   BCS   loc_AA9D              ;         // si seulement quelques unités à vendre
AA75                               ;         if ((goodAuction == Food)   && (A < 6) ||
AA75                               ;             (goodAuction == Energy) && (A < 9)) {
AA77   LDA   priceStart
AA7A   CMP   #81
AA7C   LDA   priceStart+1
AA7F   SBC   #0
AA81   LDA   byte_9B
AA83   BCS   loc_AA9D              ;           // ne pas tout vendre si prix <= 80
AA83                               ;           if ((priceStart <= 80) {
AA85   TXA
AA86   ASL   A
AA87   TAY
AA88   LDA   plotsTemp3+8,X
AA8B   CMP   playersCash,Y
AA8E   LDA   plotsTemp3+9,X
AA91   SBC   playersCash+1,Y
AA94   LDA   byte_9B
AA96   BCS   loc_AA9D              ;             // ne pas tout vendre si assez
AA96                               ;             // d'argent pour le minimum requis
AA96                               ;             if (mapTemp3_8 [indexCpu] < playersCash [indexCpu]) {
AA98   ADC   #1
AA9A   JSR   random_0_A            ;               A = random [0;A]
AA9A                               ;             }
AA9A                               ;           }
AA9A                               ;         }
AA9A                               ;       }
AA9A                               ;     }
AA9D
AA9D loc_AA9D:                     ; ...
AA9D   STA   byte_B487,X           ;     // nb à acheter ou vendre
AA9D                               ;     byte_B487 [indexCpu] = A
AAA0   DEX
AAA1   BPL   loc_AA5A              ;   }
AAA3   RTS                         ;   return
AAA3                               ; }
AAA4 ; ---------------------------------------------------------------------------
AAA4
AAA4 loc_AAA4:                     ; ...
AAA4   SBC   #2                    ; // si Smithore ou Crystite
AAA4                               ; else {
AAA6   STA   byte_D0               ;   byte_D0 = goodAuction - 2
AAA8
AAA8 loc_AAA8:                     ; ...
AAA8   TXA                         ;   for (int indexCpu=MaxIndexCpu; indexCpu>=0; indexCpu--) {
AAA9   ASL   A
AAAA   STA   byte_9C
AAAC   LDA   byte_D0
AAAE   BEQ   loc_AAB5              ;     // si Crystite
AAAE                               ;     if (byte_D0 == 1) {
AAB0   LDA   goodsPlayersNb+$C,X   ;       A = goodsPlayersNb [Crystite] [indexCpu]
AAB3   BCC   loc_AAB8
AAB5
AAB5 loc_AAB5:                     ; ...
AAB5   LDA   goodsPlayersNb+8,X    ;     }
AAB5                               ;     // si Smithore
AAB5                               ;     else {
AAB5                               ;       A = goodsPlayersNb [Smithore] [indexCpu]
AAB5                               ;     }
AAB8
AAB8 loc_AAB8:                     ; ...
AAB8   STA   byte_F2               ;     byte_F2 = A
AABA   BEQ   NothingToSell         ;     // si le cpu a des unités
AABA                               ;     if (A != 0) {
AABC   LDX   byte_D0
AABE   LDA   minPriceSellSmithoreCrystite,X
AAC1   CPX   #1
AAC3   BCS   loc_AAC7              ;       // calcul de la limite
AAC3                               ;       if (byte_D0 == Smithore) {
AAC5   ADC   level                 ;         // pourquoi ajouter level ??
AAC5                               ;         byte_9B = 50 + level // byte_AB75 [Smithore] + level
AAC5                               ;       }
AAC5                               ;       // si Crystite
AAC5                               ;       else {
AAC5                               ;         byte_9B = 100 // byte_AB75 [Crystite]
AAC5                               ;       }
AAC7
AAC7 loc_AAC7:                     ; ...
AAC7   STA   byte_9B
AAC9   LDY   priceStart
AACC   CPY   byte_9B
AACE   LDA   byte_F2
AAD0   BCS   Else                  ;       // si le prix de vente est inférieur à la limite
AAD0                               ;       if (priceStart < byte_9B) {
AAD2   LDY   #0                    ;         int spoilage = 0
AAD4   CMP   #51
AAD6   BCC   loc_AADB              ;         // si le cpu a + de 50 unités
AAD6                               ;         if (byte_F2 > 50) {
AAD8   SBC   #50                   ;           // calculer le nombre d'unités qu'il faut vendre
AAD8                               ;           // pour eviter le spoilage
AAD8                               ;           spoilage = byte_F2 - 50
AADA   TAY                         ;         }
AADB
AADB loc_AADB:                     ; ...
AADB   STY   byte_D1               ;         byte_D1 = spoilage
AADD   LDY   byte_9C
AADF   SEC
AAE0   LDA   #$E8
AAE2   SBC   playersCash,Y
AAE5   STA   byte_80
AAE7   LDA   #3
AAE9   SBC   playersCash+1,Y
AAEC   TAY                         ;         // calcul s'il faut vendre des unités pour
AAEC                               ;         // atteindre 1000$
AAEC                               ;         int nbGoodsToSell = 0
AAEC                               ;         int missingCash = 1000 - playersCash [player]
AAED   BCC   loc_AAFF              ;         if (missingCash >= 0) {
AAEF   LDA   byte_80
AAF1   LDX   priceStart
AAF4   JSR   div16Bits             ;           // calcul du nombre d'unités à vendre
AAF4                               ;           // pour atteindre 1000$
AAF4                               ;           nbGoodsToSell = missingCash / priceStart
AAF7   CPY   #1
AAF9   BCC   loc_AB01              ;           if (nbGoodsToSell >= 255) {
AAFB   LDA   #255                  ;             nbGoodsToSell = 255
AAFB                               ;           }
AAFD   BNE   loc_AB01              ;         }
AAFD                               ;         /*
AAFD                               ;         else {
AAFF
AAFF loc_AAFF:                     ; ...
AAFF   LDA   #0                    ;           nbGoodsToSell = 0
AAFF                               ;         }
AAFF                               ;         */
AB01
AB01 loc_AB01:                     ; ...
AB01   STA   byte_F1               ;         byte_F1 = nbGoodsToSell
AB03   TAY
AB04   ORA   byte_D1
AB06   BEQ   NothingToSell         ;         if ((spoilage == 0) &&
AB06                               ;             (nbGoodsToSell == 0)) {
AB06                               ;           goto (NothingToSell)
AB06                               ;         }
AB08   LDA   byte_D1
AB0A   CMP   byte_F1
AB0C   BCS   Else
AB0E   TYA
AB0F
AB0F Else:                         ; ...
AB0F   JMP   Next                  ;         A = max (spoilage, nbGoodsToSell)
AB0F                               ;       }
AB0F                               ;       /*
AB0F                               ;       // si le prix de vente est superieur à la limite
AB0F                               ;       else {
AB0F                               ;         A = byte_F2
AB0F                               ;       }
AB0F                               ;       */
AB0F                               ;       goto (Next)
AB0F                               ;     }
AB12 ; ---------------------------------------------------------------------------
AB12
AB12 NothingToSell:                ; ...
AB12   LDA   priceStart            ;     // on arrive ici si:
AB12                               ;     // - aucune unité en possession ou
AB12                               ;     // - prix de vente < min et (pas de spoilage et $ > 1000)
AB15   LDX   byte_D0
AB17   CMP   minPriceBuySmithoreCrystite,X
AB1A   BCC   loc_AB20              ;     // si prix > min, ne rien acheter
AB1A                               ;     if (priceStart >= byte_AB77 [byte_D0]) {
AB1C
AB1C loc_AB1C:                     ; ...
AB1C   LDA   #0                    ;       A = 0
AB1E   BEQ   Next                  ;       goto (Next)
AB1E                               ;     }
AB20
AB20 loc_AB20:                     ; ...
AB20   LDY   byte_9C
AB22   SEC
AB23   LDA   plotsTemp3+$11,Y
AB26   SBC   #$4C
AB28   LDA   plotsTemp3+$12,Y
AB2B   SBC   #4
AB2D   BCC   loc_AB1C              ;     // pourquoi faire ce test car sous ensemble du second
AB2D                               ;     if (mapTemp3_11 [index_cpu] < 1100) {
AB2D                               ;       A = 0
AB2D                               ;       goto (Next)
AB2D                               ;     }
AB2F   LDA   plotsTemp3+$11,Y
AB32   SBC   #$20
AB34   STA   byte_80
AB36   LDA   plotsTemp3+$12,Y
AB39   SBC   #3
AB3B   TAY
AB3C   BCC   loc_AB1C              ;     if (mapTemp3_11 [index_cpu] < 800) {
AB3C                               ;       A = 0
AB3C                               ;       goto (Next)
AB3C                               ;     }
AB3E   LDA   byte_80
AB40   LDX   priceStart
AB43   JSR   div16Bits             ;     // calculer le nombre d'unités à acheter
AB43                               ;     // en gardant 300 parmi le fric à investir
AB43                               ;     Y|A = (mapTemp3_11 [indexCpu] - 800) / priceStart
AB46   ORA   byte_82
AB48   BEQ   Next                  ;     if (Y|A == 0) {
AB48                               ;       A = 0
AB48                               ;       goto (Next)
AB48                               ;     }
AB4A   LDX   byte_8C
AB4C   LDA   #0
AB4E   STA   byte_B1A9,X           ;     // mettre le cpu en acheteur
AB4E                               ;     byte_B1A9 [indexCpu] = 0
AB51   LDA   byte_81
AB53   CMP   #25
AB55   BCC   loc_AB59              ;     // ne pas acheter + de 25 unités
AB55                               ;     if (Y|A >= 25) {
AB57   LDA   #25                   ;       Y|A = 25
AB57                               ;     }
AB59
AB59 loc_AB59:                     ; ...
AB59   STA   byte_D1               ;     int nbUnitsToBuy = Y|A
AB5B   TAY
AB5C   SEC
AB5D   LDA   #50
AB5F   SBC   byte_F2
AB61   CMP   byte_D1
AB63   BCC   Next                  ;     // nb unités achetable sans spoilage
AB63                               ;     int nbUnitsBuyable = 50 - byte_F2
AB63                               ;     if (nbUnitsToBuy > nbUnitsBuyable) {
AB63                               ;       A = nbUnitsBuyable
AB63                               ;       goto Next
AB63                               ;     }
AB63                               ;     A = nbUnitsToBuy
AB65   TYA
AB66
AB66 :                         ; ...
AB66   LDX   byte_8C               ;     // A contient le nombre d'unités à vendre ou à acheter
AB68   STA   byte_B487,X           ;     byte_B487 [indexCpu] = A
AB6B   DEC   byte_8C
AB6D   LDX   byte_8C
AB6F   BMI   locret_AB74
AB71   JMP   loc_AAA8              ;   } // fin for
AB71                               ; }
AB74 ; ---------------------------------------------------------------------------
AB74
AB74 locret_AB74:                  ; ...
AB74   RTS
AB74 ; End of function animSelectBuySellAi4
AB74
AB74 ; ---------------------------------------------------------------------------
AB75 minPriceSellSmithoreCrystite:.BYTE 50 ; ...
AB75                               ; 0 Smithore 50
AB75                               ; 1 Crystite 100
AB76   .BYTE 100
AB77 minPriceBuySmithoreCrystite:.BYTE 46 ; ...
AB77                               ; 0 Smithore 46
AB77                               ; 1 Crystite 86
AB78   .BYTE 86
AB79
AB79 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
AB79
AB79
AB79 auctionBuySellAi12:           ; ...
AB79   LDA   byte_E1
AB7B   BEQ   loc_AB87
AB7D   LDX   maxIndexCpu
AB7F   LDA   #$F
AB81
AB81 loc_AB81:                     ; ...
AB81   STA   byte_BD,X
AB83   DEX
AB84   BPL   loc_AB81
AB86   RTS
AB87 ; ---------------------------------------------------------------------------
AB87
AB87 loc_AB87:                     ; ...
AB87   LDX   byte_C2
AB89   BNE   loc_AB9D
AB8B   SEC
AB8C   LDA   byte_F3
AB8E   BPL   loc_AB95
AB90   SBC   #2
AB92   JMP   loc_AB97
AB95 ; ---------------------------------------------------------------------------
AB95
AB95 loc_AB95:                     ; ...
AB95   SBC   #3
AB97
AB97 loc_AB97:                     ; ...
AB97   BCS   loc_AB9B
AB99   LDA   #5
AB9B
AB9B loc_AB9B:                     ; ...
AB9B   STA   byte_F3
AB9D
AB9D loc_AB9D:                     ; ...
AB9D   LDX   maxIndexCpu
AB9F   LDA   byte_B48B
ABA2   BEQ   loc_ABD6
ABA4   BPL   loc_ABF4
ABA6
ABA6 loc_ABA6:                     ; ...
ABA6   LDY   #$F
ABA8   LDA   byte_91
ABAA   CMP   #2
ABAC   BCS   loc_ABCD
ABAE   LDA   byte_B309,X
ABB1   BEQ   loc_ABB7
ABB3   LDA   #$D
ABB5   STA   byte_E3,X
ABB7
ABB7 loc_ABB7:                     ; ...
ABB7   LDA   byte_B487,X
ABBA   BNE   loc_ABC6
ABBC   LDA   byte_A3,X
ABBE   CMP   #$56
ABC0   BCS   loc_ABCD
ABC2   LDY   #$D
ABC4   BNE   loc_ABCD
ABC6
ABC6 loc_ABC6:                     ; ...
ABC6   LDA   byte_A3,X
ABC8   CMP   #$54
ABCA   BEQ   loc_ABCD
ABCC   DEY
ABCD
ABCD loc_ABCD:                     ; ...
ABCD   TYA
ABCE   ORA   byte_E3,X
ABD0   STA   byte_BD,X
ABD2   DEX
ABD3   BPL   loc_ABA6
ABD5   RTS
ABD6 ; ---------------------------------------------------------------------------
ABD6
ABD6 loc_ABD6:                     ; ...
ABD6   LDY   #$F
ABD8   LDA   byte_B309,X
ABDB   BNE   loc_ABED
ABDD   LDA   byte_B487,X
ABE0   BNE   loc_ABEB
ABE2   LDA   byte_A3,X
ABE4   CMP   #byte_9A
ABE6   BCC   loc_ABED
ABE8   DEY
ABE9   BNE   loc_ABED
ABEB
ABEB loc_ABEB:                     ; ...
ABEB   LDY   #$D
ABED
ABED loc_ABED:                     ; ...
ABED   TYA
ABEE   STA   byte_BD,X
ABF0   DEX
ABF1   BPL   loc_ABD6
ABF3   RTS
ABF4 ; ---------------------------------------------------------------------------
ABF4
ABF4 loc_ABF4:                     ; ...
ABF4   LDY   #$F
ABF6   LDA   byte_B1B5,X
ABF9   BNE   loc_AC75
ABFB   LDA   byte_B309,X
ABFE   BEQ   loc_AC04
AC00   LDA   #$D
AC02   STA   byte_E3,X
AC04
AC04 loc_AC04:                     ; ...
AC04   LDA   byte_91
AC06   CMP   #2
AC08   BCC   loc_AC28
AC0A   LDA   byte_B487,X
AC0D   BNE   loc_AC19
AC0F
AC0F loc_AC0F:                     ; ...
AC0F   LDA   byte_A3,X
AC11   CMP   #$AE
AC13   BEQ   loc_AC20
AC15   LDY   #$D
AC17   BNE   loc_AC20
AC19
AC19 loc_AC19:                     ; ...
AC19   LDA   byte_A3,X
AC1B   CMP   #$9A
AC1D   BEQ   loc_AC20
AC1F
AC1F loc_AC1F:                     ; ...
AC1F   DEY
AC20
AC20 loc_AC20:                     ; ...
AC20   TYA
AC21   ORA   byte_E3,X
AC23
AC23 loc_AC23:                     ; ...
AC23   STA   byte_BD,X
AC25   JMP   loc_ACFC
AC28 ; ---------------------------------------------------------------------------
AC28
AC28 loc_AC28:                     ; ...
AC28   STX   byte_81
AC2A   LDA   byte_43
AC2C   BEQ   loc_AC45
AC2E   LDA   #1
AC30   LDX   #3
AC32
AC32 loc_AC32:                     ; ...
AC32   LDY   byte_B1B5,X
AC35   BEQ   loc_AC3C
AC37   AND   byte_B309,X
AC3A   BEQ   loc_AC45
AC3C
AC3C loc_AC3C:                     ; ...
AC3C   DEX
AC3D   BPL   loc_AC32
AC3F   LDX   byte_81
AC41   LDY   #$F
AC43   BNE   loc_AC20
AC45
AC45 loc_AC45:                     ; ...
AC45   LDY   #$F
AC47   LDX   byte_81
AC49   LDA   byte_B487,X
AC4C   BEQ   loc_AC0F
AC4E   LDA   plotsTemp3+$22,X
AC51   BNE   loc_AC20
AC53   LDA   byte_DE
AC55   BEQ   loc_AC63
AC57   LDA   OS_SKREST_RANDOM
AC5A   CMP   #5
AC5C   BCS   loc_AC63
AC5E   INC   plotsTemp3+$22,X
AC61   BCC   loc_AC20
AC63
AC63 loc_AC63:                     ; ...
AC63   LDA   byte_A3,X
AC65   CMP   #$9B
AC67   BCS   loc_AC1F
AC69   LDA   byte_F3
AC6B   JSR   random_0_A            ; input
AC6B                               ; A: borne supérieure
AC6B                               ; output
AC6B                               ; A: un nombre aléatoire [0; A[
AC6B                               ;
AC6B                               ; calcul un nombre aléatoire entre 0 et A
AC6E   CMP   byte_B48C,X
AC71   BCS   loc_AC20
AC73   BCC   loc_AC1F
AC75
AC75 loc_AC75:                     ; ...
AC75   LDA   byte_B309,X
AC78   BNE   loc_AC85
AC7A   LDA   byte_91
AC7C   CMP   #2
AC7E   BCC   loc_ACBF
AC80   LDA   byte_B487,X
AC83   BNE   loc_ACF7
AC85
AC85 loc_AC85:                     ; ...
AC85   LDA   byte_A3,X
AC87   CMP   #$52
AC89   BNE   loc_AC1F
AC8B   LDA   byte_91
AC8D   CMP   #2
AC8F   BCS   loc_ACB8
AC91   LDA   numRound
AC93   CMP   nbRounds
AC96   BEQ   loc_ACB8
AC98   LDA   byte_B1B1,X
AC9B   CMP   byte_B319,X
AC9E   BEQ   loc_ACB8
ACA0   LDA   word_B321
ACA3   CMP   #$C8
ACA5   LDA   word_B321+1
ACA8   SBC   #0
ACAA   BCC   loc_ACB8
ACAC   LDA   byte_B1B1,X
ACAF   SBC   byte_B319,X
ACB2   STA   byte_B487,X
ACB5   JMP   loc_ACBF
ACB8 ; ---------------------------------------------------------------------------
ACB8
ACB8 loc_ACB8:                     ; ...
ACB8   LDA   #1
ACBA   STA   byte_B309,X
ACBD   BNE   loc_ACF4
ACBF
ACBF loc_ACBF:                     ; ...
ACBF   LDA   byte_B487,X
ACC2   BEQ   loc_AC85
ACC4   LDA   plotsTemp3+$22,X
ACC7   BNE   loc_ACF4
ACC9   LDA   byte_F2
ACCB
ACCB loc_ACCB:
ACCB   BNE   loc_ACD5
ACCD   LDA   byte_A3,X
ACCF   CMP   #$54
ACD1   BCC   loc_ACF7
ACD3   BCS   loc_ACEA
ACD5
ACD5 loc_ACD5:                     ; ...
ACD5   BIT   byte_F3
ACD7   BPL   loc_ACEA
ACD9   LDA   byte_D3
ACDB   CMP   #$10
ACDD   BCS   loc_ACF4
ACDF   LDA   OS_SKREST_RANDOM
ACE2   BMI   loc_ACF4
ACE4   LDA   #$32
ACE6   STA   byte_F3
ACE8   BNE   loc_ACF4
ACEA
ACEA loc_ACEA:                     ; ...
ACEA   LDA   byte_F3
ACEC   JSR   random_0_A            ; input
ACEC                               ; A: borne supérieure
ACEC                               ; output
ACEC                               ; A: un nombre aléatoire [0; A[
ACEC                               ;
ACEC                               ; calcul un nombre aléatoire entre 0 et A
ACEF   CMP   byte_B48C,X
ACF2   BCC   loc_ACF7
ACF4
ACF4 loc_ACF4:                     ; ...
ACF4   JMP   loc_AC20
ACF7 ; ---------------------------------------------------------------------------
ACF7
ACF7 loc_ACF7:                     ; ...
ACF7   LDA   #$D
ACF9   JMP   loc_AC23
ACFC ; ---------------------------------------------------------------------------
ACFC
ACFC loc_ACFC:                     ; ...
ACFC   DEX
ACFD   BMI   locret_AD02
ACFF   JMP   loc_ABF4
AD02 ; ---------------------------------------------------------------------------
AD02
AD02 locret_AD02:                  ; ...
AD02   RTS
AD02 ; End of function auctionBuySellAi12
AD02
AD03
AD03 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
AD03
AD03 ; input
AD03 ; byte_CB: land to sell
AD03 ;
AD03 ; output
AD03 ; mapTemp3 [PLAYERS]: qualité de la terre pour chaque cpu
AD03
AD03 calcPlotQualitiesForLandAuctionAi: ; ...
AD03   JSR   initVarsFromMaps      ; Initialise les variables suivantes à partir de la carte:
AD03                               ; expsPlayersNb    [Exps]  [Players]
AD03                               ; goodsPlayersProd [Goods] [Players]
AD03                               ; playersNbLands
AD03                               ; playersNbExps
AD03                               ;
AD03                               ; Met à jour:
AD03                               ; plotsKnownCrystite [plot]
AD06   LDA   maxIndexCpu
AD08   STA   plotsTemp3+$10
AD0B
AD0B loc_AD0B:                     ; ...
AD0B   LDX   byte_CB               ; for (int indexCpu=maxIndexCpu; indexCpu>=0; indexCpu--) {
AD0D   LDY   #2                    ;   X = byte_CB; // case de la terre à vendre
AD0F   STY   byte_B375             ;   byte_B375 = 2; // la terre n'est pas possédée (prévisionnel)
AD0F                               ;   A = indexCpu;
AD12   JSR   calcPlotQualityForLandAuctionAi ; input
AD12                               ; A: player
AD12                               ; X: case de la terre à vendre
AD12                               ; byte_B375:
AD12                               ;
AD12                               ; output
AD12                               ; A: quality
AD15   STA   byte_80
AD17   LDA   plotsTemp3+$10
AD1A   ASL   A
AD1B   STA   byte_84               ;   // byte_84 = indexCpu * 2
AD1D   TAX
AD1E   LDA   #0
AD20   STA   byte_81               ;   byte_81|byte_80 = 0|quality
AD22   LDY   #2
AD24
AD24 loc_AD24:                     ; ...
AD24   ASL   byte_80               ;   for (Y=2; Y>=0; Y--) {
AD26   ROL   byte_81               ;     byte_81/byte_80 C<<
AD28   DEY
AD29   BPL   loc_AD24              ;   }
AD29                               ;   // byte_81/byte_80 *= 8 // << 3, fixed ?
AD2B   LDY   byte_81
AD2D   SEC
AD2E   LDA   nbRounds
AD31   SBC   numRound
AD33   TAX                         ;   X = nbRounds - numRound // rounds restant
AD34   LDA   byte_80               ;   Y|A = byte_81|byte_80 // qualityF
AD36   JSR   mul16BitsBy8Bits      ; input
AD36                               ; Y/A
AD36                               ; X
AD36                               ; output
AD36                               ; Y/A, byte_81, byte_80: Y/A *= X
AD36                               ;
AD36                               ; Multiplie Y/A par X
AD39   LDX   byte_84               ;   // Y|A = qualityF * roundsLeft
AD3B   STA   plotsTemp3,X
AD3E   TYA                         ;   mapTemp3 [indexCpu] = Y|A
AD3F   STA   plotsTemp3+1,X
AD42   DEC   plotsTemp3+$10
AD45   LDA   plotsTemp3+$10
AD48   BPL   loc_AD0B              ; }
AD4A   RTS
AD4A ; End of function calcPlotQualitiesForLandAuctionAi
AD4A
AD4B
AD4B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
AD4B
AD4B ; input
AD4B ; byte_BC: 0 good auction
AD4B ;          5 land auction
AD4B ; byte_91: goodAuction ou nb terre restant a vendre
AD4B ;
AD4B ; output
AD4B ; mapTemp3_8: l'argent qu'il faut garder au minimum
AD4B
AD4B ai1:                          ; ...
AD4B   LDX   maxIndexCpu
AD4D   STX   byte_8C
AD4F
AD4F loc_AD4F:                     ; ...
AD4F   TXA                         ; for (int indexCpu=maxIndexCpu; indexCpu>=0; indexCpu--) {
AD50   ASL   A
AD51   TAX
AD52   STA   byte_9B               ;   X = byte_9B = indexCpu*2
AD54   LDY   byte_BC
AD56   BNE   loc_ADAD              ;   // si good auction
AD56                               ;   if (byte_BC == 0) {
AD58   LDA   mulePriceL
AD5B   CLC
AD5C   ADC   #75
AD5E   STA   plotsTemp3+8,X
AD61   LDA   mulePriceH
AD64   ADC   #0
AD66   STA   plotsTemp3+9,X        ;     // garder un minimum d'argent pour acheter
AD66                               ;     // une mule de smithore
AD69   LDA   byte_91
AD6B   BNE   loc_AD94              ;     // si Food
AD6B                               ;     if (byte_91 == 0) {
AD6D   LDX   byte_8C
AD6F   LDA   playersNbExps,X
AD72   SEC
AD73   SBC   expsPlayersNb+4,X
AD76   SBC   goodsPlayersProd+4,X  ;       // calcul le manque en energie
AD76                               ;       // (nbExpTotal - nbExpEnergy) - nbProdEnergy
AD76                               ;       missingEnergy =
AD76                               ;         playersNbExp [indexCpu] -
AD76                               ;         expsPlayersNb   [Energy] [indexCpu] -
AD76                               ;         expsPlayersProd [Energy] [indexCpu]
AD79   BCC   Next                  ;       if (missingEnergy < 0) {
AD79                               ;         goto (Next);
AD79                               ;       }
AD7B   LDY   goodsPrice+2
AD7E   JSR   mul8BitsBy8Bits       ;       int cost = missingEnergy * goodsPrice [Energy]
AD81   CLC
AD82   LDX   byte_9B
AD84   ADC   plotsTemp3+8,X
AD87   STA   plotsTemp3+8,X        ;       // garder un minimum d'argent pour acheter l'energie
AD87                               ;       // et faire une mule de smithore
AD87                               ;       mapTemp3_8 [indexCpu] += cost
AD8A   TYA
AD8B   ADC   plotsTemp3+9,X
AD8E   STA   plotsTemp3+9,X
AD91   JMP   Next                  ;       goto (Next)
AD91                               ;     }
AD94 ; ---------------------------------------------------------------------------
AD94
AD94 loc_AD94:                     ; ...
AD94   CMP   #1
AD96   BNE   Next                  ;     // si Smithore ou Crystite
AD96                               ;     if (byte_91 != 1) {
AD96                               ;       goto (Next)
AD96                               ;     }
AD98   LDX   byte_8C               ;     // si Energy
AD9A   LDA   goodsPlayersNb,X
AD9D   BNE   Next                  ;     if (goodsPlayersNb [Food] [indexCpu] != 0) {
AD9D                               ;       goto (Next)
AD9D                               ;     }
AD9F   LDA   #1
ADA1   LDX   byte_9B
ADA3   STA   plotsTemp3+8,X
ADA6   LDA   #0                    ;     // si plus de nourriture, alors pas de minimum
ADA6                               ;     // d'argent a garder, c'est une priorité
ADA8   STA   plotsTemp3+9,X        ;     mapTemp3_8 [indexCpu] = 1
ADAB   BEQ   Next                  ;     goto (Next)
ADAB                               ;   }
ADAD
ADAD loc_ADAD:                     ; ...
ADAD   LDA   OS_SKREST_RANDOM      ;   // si land auction
ADAD                               ;   // if (byte_BC != 0) {
ADB0   CLC
ADB1   ADC   #144
ADB3   STA   plotsTemp3+8,X
ADB6   LDA   #1
ADB8   ADC   #0
ADBA   STA   plotsTemp3+9,X        ;   mapTemp3_8 [indexCpu] = random [144;399]
ADBD
ADBD :                         ; ...
ADBD   DEC   byte_8C
ADBF   LDX   byte_8C
ADC1   BPL   loc_AD4F              ; }
ADC3   RTS
ADC3 ; End of function ai1
ADC3
ADC4
ADC4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ADC4
ADC4
ADC4 auctionBuySellLandAuctionAi8: ; ...
ADC4   LDX   maxIndexCpu
ADC6   STX   byte_8C
ADC8   LDY   #0
ADCA   LDA   word_B321
ADCD   CMP   #232
ADCF   LDA   word_B321+1
ADD2   SBC   #3
ADD4   BCC   loc_ADD7
ADD6   INY
ADD7
ADD7 loc_ADD7:                     ; ...
ADD7   STY   byte_82
ADD9
ADD9 loc_ADD9:                     ; ...
ADD9   LDY   #$E
ADDB   CPX   currentPlayer
ADDD   BEQ   loc_ADE6
ADDF   LDA   plotsTemp3+$1E,X
ADE2   BNE   loc_AE56
ADE4   BEQ   loc_AE5A
ADE6
ADE6 loc_ADE6:                     ; ...
ADE6   LDA   plotsTemp3+$1E,X
ADE9   BNE   loc_AE56
ADEB   LDA   byte_A3,X
ADED   STA   byte_80
ADEF   LDX   #$FF
ADF1   STX   byte_8B
ADF3   STX   byte_81
ADF5   LDX   #3
ADF7
ADF7 loc_ADF7:                     ; ...
ADF7   CPX   byte_8C
ADF9   BEQ   loc_AE25
ADFB   SEC
ADFC   LDA   byte_A3,X
ADFE   SBC   byte_80
AE00   CMP   #5
AE02   BCS   loc_AE25
AE04   CMP   byte_81
AE06   BCS   loc_AE0C
AE08   STA   byte_81
AE0A   STX   byte_8B
AE0C
AE0C loc_AE0C:                     ; ...
AE0C   LDA   byte_BD,X
AE0E   ORA   byte_E3,X
AE10   CMP   #$E
AE12   BNE   loc_AE25
AE14   LDA   byte_82
AE16   BEQ   loc_AE5A
AE18   LDA   byte_D3
AE1A   CMP   #4
AE1C   BCS   loc_AE5A
AE1E   LDA   OS_SKREST_RANDOM
AE21   BMI   loc_AE5A
AE23   BPL   loc_AE40
AE25
AE25 loc_AE25:                     ; ...
AE25   DEX
AE26   BPL   loc_ADF7
AE28   LDX   byte_8B
AE2A   BMI   loc_AE50
AE2C   LDA   playersAi,X
AE2F   BMI   loc_AE48
AE31   LDA   byte_82
AE33   BEQ   loc_AE48
AE35   LDA   byte_D3
AE37   CMP   #4
AE39   BCS   loc_AE48
AE3B   LDA   OS_SKREST_RANDOM
AE3E   BMI   loc_AE48
AE40
AE40 loc_AE40:                     ; ...
AE40   LDX   byte_8C
AE42   INC   plotsTemp3+$1E,X
AE45   JMP   loc_AE56
AE48 ; ---------------------------------------------------------------------------
AE48
AE48 loc_AE48:                     ; ...
AE48   LDA   byte_81
AE4A   CMP   #3
AE4C   BCC   loc_AE5A
AE4E   BCS   loc_AE59
AE50
AE50 loc_AE50:                     ; ...
AE50   LDA   byte_80
AE52   CMP   #$90
AE54   BEQ   loc_AE59
AE56
AE56 loc_AE56:                     ; ...
AE56   DEY
AE57   BNE   loc_AE5A
AE59
AE59 loc_AE59:                     ; ...
AE59   INY
AE5A
AE5A loc_AE5A:                     ; ...
AE5A   LDX   byte_8C
AE5C   TYA
AE5D   ORA   byte_E3,X
AE5F   STA   byte_BD,X
AE61   DEC   byte_8C
AE63   LDX   byte_8C
AE65   BMI   locret_AE6A
AE67   JMP   loc_ADD9
AE6A ; ---------------------------------------------------------------------------
AE6A
AE6A locret_AE6A:                  ; ...
AE6A   RTS
AE6A ; End of function auctionBuySellLandAuctionAi8
AE6A
AE6B
AE6B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
AE6B
AE6B ; input
AE6B ; byte_BC: 0 good auction
AE6B ;          5 land auction
AE6B ; priceStart
AE6B ; playersCash
AE6B ; mapTemp3_0: estimation (si land action)
AE6B ; mapTemp3_8: argent mimnum à garder
AE6B ;
AE6B ; output
AE6B ; mapTemp3_11: l'argent qu'il est pres à investir
AE6B ;
AE6B ; Si land auction:
AE6B ; mapTemp3_0: la valeur estimée de la terre
AE6B ; mapTemp3_8: un nombre entre 144 et 399
AE6B ; mapTemp3: playerCash - random [144;399]
AE6B ;           plafonné par estimation
AE6B
AE6B ai2:                          ; ...
AE6B   LDA   #3
AE6D   STA   byte_8C
AE6F
AE6F loc_AE6F:                     ; ...
AE6F   TAY                         ; for (int player=3; player>=0; player--) {
AE70   ASL   A
AE71   TAX
AE72   LDA   playersAi,Y
AE75   BMI   loc_AE86              ;   if (playersAi [player] != Cpu) {
AE77   LDA   playersCash,X
AE7A   STA   plotsTemp3+$11,X
AE7D   LDA   playersCash+1,X
AE80   STA   plotsTemp3+$12,X      ;     mapTemp3_11 [player] = playersCash [player]
AE83   JMP   loc_AEF6              ;   }
AE83                               ;   else {
AE86 ; ---------------------------------------------------------------------------
AE86
AE86 loc_AE86:                     ; ...
AE86   LDA   playersCash,X
AE89   SEC
AE8A   SBC   plotsTemp3+8,X
AE8D   STA   plotsTemp3+$11,X
AE90   LDA   playersCash+1,X
AE93   SBC   plotsTemp3+9,X
AE96   STA   plotsTemp3+$12,X      ;     mapTemp3_11 [player] = playersCash [player] -
AE96                               ;                            mapTemp3_8  [player]
AE99   BCS   Suite                 ;     // si pas assez d'argent pour le minimum requis
AE99                               ;     if (playersCash [player] < mapTemp3_8  [player]) {
AE9B   LDA   byte_BC
AE9D   BEQ   loc_AECF
AE9F   LDA   priceStart+1
AEA2   BNE   loc_AECF              ;       // si land auction
AEA2                               ;       if ((byte_BC != 0) &&
AEA2                               ;           (priceStart < 256)) {
AEA4   LDA   playersCash,X
AEA7   STA   byte_80
AEA9   LDA   playersCash+1,X
AEAC   STA   byte_81
AEAE   LSR   byte_81
AEB0   ROR   byte_80
AEB2   LSR   byte_81
AEB4   ROR   byte_80
AEB6   LDA   byte_80
AEB8   CMP   priceStart
AEBB   LDA   byte_81
AEBD   SBC   priceStart+1
AEC0   BCC   loc_AECF              ;         // si le cpu a au moins 4 fois le prix de depart
AEC0                               ;         if (playersCash [player] / 4 >= priceStart) {
AEC2   LDA   priceStart
AEC5   STA   plotsTemp3+$11,X
AEC8   LDA   #0
AECA   STA   plotsTemp3+$12,X      ;           mapTemp3_11 [player] = priceStart
AECD   BEQ   Suite                 ;           goto (Suite)
AECD                               ;         }
AECF
AECF loc_AECF:                     ; ...
AECF   LDA   #1
AED1   STA   plotsTemp3+$11,X
AED4   LDA   #0
AED6   STA   plotsTemp3+$12,X      ;         mapTemp3_11 [player] = 1
AED6                               ;       }
AED6                               ;     }
AED9
AED9 Suite:                        ; ...
AED9   LDA   byte_BC
AEDB   BEQ   loc_AEF6              ;     // si land auction
AEDB                               ;     if (byte_BC != 0) {
AEDD   LDA   plotsTemp3,X
AEE0   TAY
AEE1   CMP   plotsTemp3+$11,X
AEE4   LDA   plotsTemp3+1,X
AEE7   SBC   plotsTemp3+$12,X
AEEA   BCS   loc_AEF6              ;       // si le cpu a au moins en $ la valeur de la terre qu'il estime
AEEA                               ;       if (mapTemp3_11 [player] > mapTemp3_0 [player]) {
AEEC   TYA
AEED   STA   plotsTemp3+$11,X
AEF0   LDA   plotsTemp3+1,X
AEF3   STA   plotsTemp3+$12,X      ;         mapTemp3_11 [player] = mapTemp3_0 [player]
AEF3                               ;       }
AEF3                               ;     }
AEF3                               ;   }
AEF6
AEF6 loc_AEF6:                     ; ...
AEF6   DEC   byte_8C
AEF8   LDA   byte_8C
AEFA   BMI   locret_AEFF
AEFC   JMP   loc_AE6F              ; }  // fin for
AEFF ; ---------------------------------------------------------------------------
AEFF
AEFF locret_AEFF:                  ; ...
AEFF   RTS
AEFF ; End of function ai2
AEFF
AF00
AF00 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
AF00
AF00 ; input
AF00 ; byte_91: goodAuction
AF00 ;
AF00 ; Décide si le cpu doit acheter tout le store
AF00 ; Ne concerne que le Food ou Energy
AF00 ; modifie byte_B487
AF00
AF00 auctionBuySellAi8:            ; ...
AF00   LDY   byte_91
AF02   CPY   #2
AF04   BCS   locret_AF4A           ; // si Food ou Energy
AF04                               ; if (goodAuction < 2) {
AF06   LDA   numRound
AF08   CMP   nbRounds
AF0B   BEQ   locret_AF4A           ;   // si pas dernier round
AF0B                               ;   if (numRound != NbRounds) {
AF0D   LDX   maxIndexCpu
AF0F   STX   byte_8C
AF11   LDA   goodsStoreNb,Y
AF14   CMP   #21
AF16   BCS   locret_AF4A           ;     // si le store n'a pas plus de 20 unités
AF16                               ;     if (goodsStoreNb [goodAuction] <= 20) {
AF18   STA   byte_84
AF1A
AF1A loc_AF1A:                     ; ...
AF1A   LDA   byte_84               ;       for (int indexCpu=maxIndexCpu; indexCpu>=0; indexCpu--) {
AF1C   CMP   byte_B487,X
AF1F   BEQ   loc_AF44
AF21   BCC   loc_AF44              ;         // si le store a + d'unités que nécessaire pour ce cpu
AF21                               ;         if (byte_B487 [indexCpu] < goodsStoreNb [goodAuction]) {
AF23   TAX
AF24   LDA   priceEnd
AF27   LDY   priceEnd+1
AF2A   JSR   mul16BitsBy8Bits      ; input
AF2A                               ; Y/A
AF2A                               ; X
AF2A                               ; output
AF2A                               ; Y/A, byte_81, byte_80: Y/A *= X
AF2A                               ;
AF2A                               ; Multiplie Y/A par X
AF2D   LDA   byte_8C
AF2F   ASL   A
AF30   TAX
AF31   LDA   byte_80
AF33   CMP   plotsTemp3+$11,X
AF36   LDA   byte_81
AF38   SBC   plotsTemp3+$12,X      ;           // calcul du cout pour acheter tout le store
AF38                               ;           int cost = priceEnd * goodsStoreNb [goodAction]
AF3B   BCS   loc_AF44              ;           // si le cout est inférieur a l'argent pouvant etre investi
AF3B                               ;           if (cost < mapTemp3_11 [indexCpu]) {
AF3D   LDA   byte_84
AF3F   LDX   byte_8C
AF41   STA   byte_B487,X           ;             // acheter tout le store
AF41                               ;             byte_B487 [indexCpu] = goodsStoreNb [indexCpu]
AF41                               ;           }
AF41                               ;         }
AF44
AF44 loc_AF44:                     ; ...
AF44   DEC   byte_8C
AF46   LDX   byte_8C
AF48   BPL   loc_AF1A              ;       } // fin for
AF48                               ;     }
AF48                               ;   }
AF48                               ; }
AF4A
AF4A locret_AF4A:                  ; ...
AF4A   RTS
AF4A ; End of function auctionBuySellAi8
AF4A
AF4A ; ---------------------------------------------------------------------------
AF4B   .BYTE   0
AF4C   .BYTE   0
AF4D   .BYTE   0
AF4E   .BYTE   0
AF4F   .BYTE   0
AF50   .BYTE   0
AF51   .BYTE   0
AF52   .BYTE   0
AF53   .BYTE   0
AF54   .BYTE   0
AF55   .BYTE   0
AF56   .BYTE   0
AF57   .BYTE   0
AF58   .BYTE   0
AF59   .BYTE   0
AF5A   .BYTE   0
AF5B   .BYTE   0
AF5C   .BYTE   0
AF5D   .BYTE   0
AF5E   .BYTE   0
AF5F   .BYTE   0
AF60   .BYTE   0
AF61   .BYTE   0
AF62   .BYTE   0
AF63   .BYTE   0
AF64   .BYTE   0
AF65   .BYTE   0
AF66   .BYTE   0
AF67   .BYTE   0
AF68   .BYTE   0
AF69   .BYTE   0
AF6A   .BYTE   0
AF6B   .BYTE   0
AF6C   .BYTE   0
AF6D   .BYTE   0
AF6E   .BYTE   0
AF6F   .BYTE   0
AF70   .BYTE   0
AF71   .BYTE   0
AF72   .BYTE   0
AF73   .BYTE   0
AF74   .BYTE   0
AF75   .BYTE   0
AF76   .BYTE   0
AF77   .BYTE   0
AF78   .BYTE   0
AF79   .BYTE   0
AF7A   .BYTE   0
AF7B   .BYTE   0
AF7C   .BYTE   0
AF7D   .BYTE   0
AF7E   .BYTE   0
AF7F   .BYTE   0
AF80   .BYTE   0
AF81   .BYTE   0
AF82   .BYTE   0
AF83   .BYTE   0
AF84   .BYTE   0
AF85   .BYTE   0
AF86   .BYTE   0
AF87   .BYTE   0
AF88   .BYTE   0
AF89   .BYTE   0
AF8A   .BYTE   0
AF8B   .BYTE   0
AF8C   .BYTE   0
AF8D   .BYTE   0
AF8E   .BYTE   0
AF8F   .BYTE   0
AF90   .BYTE   0
AF91   .BYTE   0
AF92   .BYTE   0
AF93   .BYTE   0
AF94   .BYTE   0
AF95   .BYTE   0
AF96   .BYTE   0
AF97   .BYTE   0
AF98   .BYTE   0
AF99   .BYTE   0
AF9A   .BYTE   0
AF9B   .BYTE   0
AF9C   .BYTE   0
AF9D   .BYTE   0
AF9E   .BYTE   0
AF9F   .BYTE   0
AFA0   .BYTE   0
AFA1   .BYTE   0
AFA2   .BYTE   0
AFA3   .BYTE   0
AFA4   .BYTE   0
AFA5   .BYTE   0
AFA6   .BYTE   0
AFA7   .BYTE   0
AFA8   .BYTE   0
AFA9   .BYTE   0
AFAA   .BYTE   0
AFAB   .BYTE   0
AFAC   .BYTE   0
AFAD   .BYTE   0
AFAE   .BYTE   0
AFAF   .BYTE   0
AFB0   .BYTE   0
AFB1   .BYTE   0
AFB2   .BYTE   0
AFB3   .BYTE   0
AFB4   .BYTE   0
AFB5   .BYTE   0
AFB6   .BYTE   0
AFB7   .BYTE   0
AFB8   .BYTE   0
AFB9   .BYTE   0
AFBA   .BYTE   0
AFBB   .BYTE   0
AFBC   .BYTE   0
AFBD   .BYTE   0
AFBE   .BYTE   0
AFBF   .BYTE   0
AFC0   .BYTE   0
AFC1   .BYTE   0
AFC2   .BYTE   0
AFC3   .BYTE   0
AFC4   .BYTE   0
AFC5   .BYTE   0
AFC6   .BYTE   0
AFC7   .BYTE   0
AFC8   .BYTE   0
AFC9   .BYTE   0
AFCA   .BYTE   0
AFCB   .BYTE   0
AFCC   .BYTE   0
AFCD   .BYTE   0
AFCE   .BYTE   0
AFCF   .BYTE   0
AFD0   .BYTE   0
AFD1   .BYTE   0
AFD2   .BYTE   0
AFD3   .BYTE   0
AFD4   .BYTE   0
AFD5   .BYTE   0
AFD6   .BYTE   0
AFD7   .BYTE   0
AFD8   .BYTE   0
AFD9   .BYTE   0
AFDA   .BYTE   0
AFDB   .BYTE   0
AFDC   .BYTE   0
AFDD   .BYTE   0
AFDE   .BYTE   0
AFDF   .BYTE   0
AFE0   .BYTE   0
AFE1   .BYTE   0
AFE2   .BYTE   0
AFE3   .BYTE   0
AFE4   .BYTE   0
AFE5   .BYTE   0
AFE6   .BYTE   0
AFE7   .BYTE   0
AFE8   .BYTE   0
AFE9   .BYTE   0
AFEA   .BYTE   0
AFEB   .BYTE   0
AFEC   .BYTE   0
AFED   .BYTE   0
AFEE   .BYTE   0
AFEF   .BYTE   0
AFF0   .BYTE   0
AFF1   .BYTE   0
AFF2   .BYTE   0
AFF3   .BYTE   0
AFF4   .BYTE   0
AFF5   .BYTE   0
AFF6   .BYTE   0
AFF7   .BYTE   0
AFF8   .BYTE   0
AFF9   .BYTE   0
AFFA   .BYTE   0
AFFB   .BYTE   0
AFFC   .BYTE   0
AFFD   .BYTE   0
AFFE   .BYTE   0
AFFF   .BYTE   0
B000 plotsPlayer:.BYTE   -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1 ; ...
B000   .BYTE   -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1 ; player [0; 44]
B000   .BYTE   -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1 ;   -1   Nobody
B000   .BYTE   -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1 ; [0; 3] Players
B000   .BYTE   -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1
B02D plotsExp:.BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; ...
B02D   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; exp [0;44]
B02D   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; 0 NoExp
B02D   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; 1 Food
B02D   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; 2 Energy
B02D                               ; 3 Smithore
B02D                               ; 4 Crystite
B05A plotsProd:.BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; ...
B05A   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; prod [0; 44]
B05A   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0 ; Nb units produced
B05A   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0
B05A   .BYTE    0,   0,   0,   0,   0,   0,   0,   0,   0
B087 plotsTemp:.BYTE    0,   0,   0,   3,   0,   0,   0,   1,   0 ; ...
B087   .BYTE    0,   0,   0,   2,   0,   0,   0,   0,   2 ; temp [0; 44]
B087   .BYTE    0,   0,   0,   2,   0,   0,   0,   0,   2 ;
B087   .BYTE    2,   0,   0,   0,   0,   0,   2,   0,   0
B087   .BYTE    0,   0,   1,   0,   0,   0,   3,   0,   0
B0B4 expsPlotsCapacity:.BYTE    2,   2,   2,   1,   4,   2,   2,   1,   2 ; ...
B0B4   .BYTE    2,   2,   2,   1,   4,   2,   2,   2,   1 ; Food      (+$0)  [0; 44] Food capacity
B0B4   .BYTE    2,   2,   2,   1,   4,   2,   2,   2,   1 ; Energy    (+$2D) [0; 44] Energy capacity
B0B4   .BYTE    1,   2,   2,   2,   4,   2,   1,   2,   2 ; Smithore  (+$5A) [0; 44] Smithore capacity
B0B4   .BYTE    2,   2,   1,   2,   4,   2,   1,   2,   2 ; Crystite  (+$87) [0; 44] Crystite capacity
B0B4   .BYTE    3,   3,   3,   1,   2,   3,   3,   1,   3
B0B4   .BYTE    3,   3,   3,   1,   2,   3,   3,   3,   1
B0B4   .BYTE    3,   3,   3,   1,   2,   3,   3,   3,   1
B0B4   .BYTE    1,   3,   3,   3,   2,   3,   1,   3,   3
B0B4   .BYTE    3,   3,   1,   3,   2,   3,   1,   3,   3
B0B4   .BYTE    1,   1,   1,   4,   1,   1,   1,   2,   1
B0B4   .BYTE    1,   1,   1,   3,   1,   1,   1,   1,   3
B0B4   .BYTE    1,   1,   1,   3,   1,   1,   1,   1,   3
B0B4   .BYTE    3,   1,   1,   1,   1,   1,   3,   1,   1
B0B4   .BYTE    1,   1,   2,   1,   1,   1,   4,   1,   1
B0B4   .BYTE    0,   0,   1,   2,  -1,   3,   2,   1,   0
B0B4   .BYTE    0,   1,   2,   3,  -1,   2,   1,   0,   0
B0B4   .BYTE    0,   0,   1,   2,  -1,   1,   0,   0,   0
B0B4   .BYTE    0,   1,   2,   1,  -1,   0,   0,   0,   0
B0B4   .BYTE    1,   2,   3,   2,  -1,   0,   0,   0,   0
B168   .BYTE   0
B169   .BYTE   0
B16A   .BYTE   0
B16B   .BYTE   0
B16C   .BYTE   0
B16D   .BYTE   0
B16E   .BYTE   0
B16F   .BYTE   0
B170   .BYTE   0
B171   .BYTE   0
B172   .BYTE   0
B173   .BYTE   0
B174   .BYTE   0
B175   .BYTE   0
B176   .BYTE   0
B177   .BYTE   0
B178   .BYTE   0
B179   .BYTE   0
B17A   .BYTE   0
B17B   .BYTE   0
B17C   .BYTE   0
B17D   .BYTE   0
B17E   .BYTE   0
B17F   .BYTE   0
B180   .BYTE   0
B181   .BYTE   0
B182   .BYTE   0
B183   .BYTE   0
B184   .BYTE   0
B185   .BYTE   0
B186   .BYTE   0
B187   .BYTE   0
B188   .BYTE   0
B189   .BYTE   0
B18A   .BYTE   0
B18B   .BYTE   0
B18C   .BYTE   0
B18D   .BYTE   0
B18E   .BYTE   0
B18F   .BYTE   0
B190   .BYTE   0
B191   .BYTE   0
B192   .BYTE   0
B193   .BYTE   0
B194   .BYTE   0
B195   .BYTE   0
B196   .BYTE   0
B197   .BYTE   0
B198   .BYTE   0
B199   .BYTE   0
B19A   .BYTE   0
B19B   .BYTE   0
B19C   .BYTE   0
B19D goodsShortage:.BYTE 0, 0, 0   ; ...
B19D                               ; +0 [FOOD]
B19D                               ; +1 [ENERGY]
B19D                               ; +2 [MULE]
B1A0   .BYTE   0
B1A1   .BYTE   0
B1A2   .BYTE   0
B1A3   .BYTE   0
B1A4   .BYTE   0
B1A5   .BYTE   0
B1A6   .BYTE   0
B1A7   .BYTE   0
B1A8   .BYTE   0
B1A9 byte_B1A9:.BYTE 0, 0, 0, 0    ; ...
B1A9                               ; dans usage/spoilage/prod:
B1A9                               ; barre taille req
B1A9                               ; dans select, choix n°2:
B1A9                               ; 0 buyer
B1A9                               ; 1 seller
B1AD byte_B1AD:.BYTE 0, 0, 0, 0    ; ...
B1AD                               ; [PLAYERS]
B1AD                               ; 0 surplus, il faut vendre
B1AD                               ; 1 manque, il faut acheter
B1AD                               ; pour Food ou Energy
B1B1 byte_B1B1:.BYTE 0, 0, 0, 0    ; ...
B1B1                               ; [PLAYERS]
B1B1                               ; nb unités en surplus ou manquantes
B1B1                               ; pour Food ou Energy
B1B5 byte_B1B5:.BYTE 0, 0, 0, 0    ; ...
B1B5                               ; dans select, choix n°1:
B1B5                               ; 0 Buyer
B1B5                               ; 1 Seller
B1B5                               ;
B1B5                               ; contient aussi la liste des plots traitées
B1B5                               ; pendant le tour d'un cpu
B1B5                               ;
B1B5                               ; contient aussi la liste des joueurs ayant
B1B5                               ; deja choisi une terre
B1B9   .BYTE   0
B1BA   .BYTE   0
B1BB   .BYTE   0
B1BC   .BYTE   0
B1BD   .BYTE   0
B1BE   .BYTE   0
B1BF   .BYTE   0
B1C0   .BYTE   0
B1C1   .BYTE   0
B1C2 goodsPlayersNb:.BYTE 4, 4, 4, 4 ; ...
B1C2   .BYTE 2, 2, 2, 2            ; Nombre d'unités possédées par chaque joueur
B1C2   .BYTE 0, 0, 0, 0            ; [GOOD]   [0; 3] {+0 FOOD, +4 ENERGY, +8 SMITHORE, +12 CRYSTITE, +16 MULE? pour score}
B1C2   .BYTE 0, 0, 0, 0            ; [PLAYER] [0; 3]
B1C2   .BYTE 0, 0, 0, 0
B1D6 expsPlayersNb:.BYTE 0, 0, 0, 0 ; ...
B1D6   .BYTE 0, 0, 0, 0            ; expsPlayersNb [EXPS] [PLAYERS] Byte ($B1D6)
B1D6   .BYTE 0, 0, 0, 0            ; Number of exploitation of each type for each player.
B1D6   .BYTE 0, 0, 0, 0            ;
B1D6   .BYTE 0, 0, 0, 0            ; EXPS PLAYERS Number
B1D6                               ; FOOD (+0) [0; 3] Exploitations of food
B1D6                               ; ENERGY (+4) [0; 3] Exploitations of energy
B1D6                               ; SMITHORE (+8) [0; 3] Exploitations of smithore
B1D6                               ; CRYSTITE (+12) [0; 3] Exploitations of crystite
B1D6                               ; ? (+16) [0; 3] ?
B1EA goodsPlayersProd:.BYTE 0, 0, 0, 0 ; ...
B1EA   .BYTE 0, 0, 0, 0            ; expsPlayersProd [EXPS] [PLAYERS] Byte ($B1D6)
B1EA   .BYTE 0, 0, 0, 0            ; Number of units producted of each type for each player.
B1EA   .BYTE 0, 0, 0, 0            ;
B1EA   .BYTE 0, 0, 0, 0            ; EXPS PLAYERS Units producted
B1EA                               ; FOOD (+0) [0; 3] Units of food
B1EA                               ; ENERGY (+4) [0; 3] Units of energy
B1EA                               ; SMITHORE (+8) [0; 3] Units of smithore
B1EA                               ; CRYSTITE (+12) [0; 3] Units of crystite
B1EA                               ; ? (+16) [0; 3] ?
B1FE playersNbLands:.BYTE 0, 0, 0, 0 ; ...
B1FE                               ; [PLAYER]
B1FE                               ; // nombre de terre de chaque joueur
B202 playersNbExps:.BYTE 0, 0, 0, 0 ; ...
B202                               ; [PLAYER]
B202                               ; // nombre d'exploitation de chaque joueur (Food, Energy, Smithore, Crystite)
B206 goodsPriceTemp:.WORD 0, 0, 0  ; ...
B206                               ; +0  [FOOD]
B206                               ; +2  [ENERGY]
B206                               ; +4  [SMITHORE]
B20C goodsQuality_B20C:.BYTE 0, 0, 0, 0, 0, 0 ; ...
B20C                               ; qualité financiere de chaque good de [0;31]
B20C                               ; +0  [FOOD]
B20C                               ; +1  [ENERGY]
B20C                               ; +2  [SMITHORE]
B20C                               ; +3  [CRYSTITE]
B20C                               ;
B20C                               ; aussi utilisé pour le calcul des prix futurs multiple
B20C                               ; (prix moyen)
B20C                               ; +0  [FOOD]
B20C                               ; +2  [ENERGY]
B20C                               ; +4  [SMITHORE]
B212 goodsStoreNb:.BYTE 8, 8, 8, 0, 14 ; ...
B212                               ; +0 [FOOD]
B212                               ; +1 [ENERGY]
B212                               ; +2 [SMITHORE]
B212                               ; +3 [CRYSTITE]
B212                               ; +4 [MULE]
B217 byte_B217:.BYTE 0             ; ...
B218   .BYTE   0
B219   .BYTE   0
B21A   .BYTE   0
B21B byte_B21B:.BYTE 0             ; ...
B21C byte_B21C:.BYTE 0             ; ...
B21D byte_B21D:.BYTE 0             ; ...
B21E   .BYTE   0
B21F   .BYTE   0
B220   .BYTE   0
B221 mountainsX:.BYTE 109, 110, 169, 112, 186, 187, 107, 107, 112, 185, 106, 192, 59 ; ...
B221   .BYTE 158, 58, 159, 157, 155, 93, 155 ; mountainsX [MOUNTAINS]
B221                               ; position X des montagnes
B235 riverStoreX:.BYTE 124, 125, 126, 128, 129, 127, 125, 127, 120, 120, 120, 120, 125 ; ...
B235   .BYTE 126, 126, 125, 123, 121, 122, 124
B249 oldRiverStoreX:.BYTE 124      ; ...
B24A oldMountainX:.BYTE 109        ; ...
B24B typesPlayersScore:.BYTE 0, 0, 0, 0, 0, 0 ; ...
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; [TYPES] [PLAYERS] (6 octets)
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; avec
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; +0  [Money]
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; +24 [Land]
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; +48 [Goods]
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; +72 [Total]
B24B   .BYTE 0, 0, 0, 0, 0, 0      ;
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; C'est aussi un buffer temporaire:
B24B   .BYTE 0, 0, 0, 0, 0, 0      ; goodsPlayersNbTemp [Goods] [Players]
B24B   .BYTE 0, 0, 0, 0, 0, 0
B24B   .BYTE 0, 0, 0, 0, 0, 0
B24B   .BYTE 0, 0, 0, 0, 0, 0
B24B   .BYTE 0, 0, 0, 0, 0, 0
B24B   .BYTE 0, 0, 0, 0, 0, 0
B24B   .BYTE 0, 0, 0, 0, 0, 0
B2AB byte_B2AB:.BYTE 0, 0, 0, 0, 0, 0 ; ...
B2AB                               ; bestScore
B2B1 outfitsPriceL:.BYTE 0, 25, 50, 75, 100 ; ...
B2B1                               ; +0 [NO_OUTFIT]
B2B1                               ; +1 [FOOD]
B2B1                               ; +2 [ENERGY]
B2B1                               ; +3 [SMITHORE]
B2B1                               ; +4 [CRYSTITE]
B2B6   .BYTE   0
B2B7   .BYTE   0
B2B8   .BYTE   0
B2B9 mulePriceL:.BYTE 100          ; ...
B2BA playersCash:.WORD 1200, 1200, 1200, 1000 ; ...
B2C2 landsToSell:.BYTE 0, 0, 0, 0  ; ...
B2C6   .BYTE   0
B2C7   .BYTE   0
B2C8   .BYTE   0
B2C9   .BYTE   0
B2CA   .BYTE   0
B2CB   .BYTE   0
B2CC   .BYTE   0
B2CD   .BYTE   0
B2CE   .BYTE   0
B2CF   .BYTE   0
B2D0   .BYTE   0
B2D1   .BYTE   0
B2D2   .BYTE   0
B2D3   .BYTE   0
B2D4   .BYTE   0
B2D5   .BYTE   0
B2D6   .BYTE   0
B2D7   .BYTE   0
B2D8   .BYTE   0
B2D9   .BYTE   0
B2DA   .BYTE   0
B2DB   .BYTE   0
B2DC   .BYTE   0
B2DD   .BYTE   0
B2DE   .BYTE   0
B2DF   .BYTE   0
B2E0   .BYTE   0
B2E1   .BYTE   0
B2E2   .BYTE   0
B2E3 word_B2E3:.WORD 0             ; ...
B2E5   .BYTE   0
B2E6   .BYTE   0
B2E7   .BYTE   0
B2E8   .BYTE   0
B2E9   .BYTE   0
B2EA   .BYTE   0
B2EB   .BYTE   0
B2EC   .BYTE   0
B2ED lastPriceStartLa:.WORD 0      ; ...
B2EF   .BYTE   0
B2F0   .BYTE   0
B2F1 goodsPrice:.WORD 25, 25, 50, 0, 35 ; ...
B2F1                               ; +0  [FOOD]
B2F1                               ; +2  [ENERGY]
B2F1                               ; +4  [SMITHORE]
B2F1                               ; +6  [CRYSTITE]
B2F1                               ; +8  [MULE] toujours = à 35 et uniquement utilisé pour le score
B2FB lastBidStartLa:.WORD 0        ; ...
B2FD byte_B2FD:.BYTE 0, 0, 0, 0    ; ...
B301 playersBid:.WORD 0, 0, 0, 0   ; ...
B301                               ; barre taille source
B309 byte_B309:.BYTE 0, 0, 0, 0    ; ...
B309                               ; barre taille dest
B309                               ; aussi 1 si joueur a besoin d'unités
B309                               ; aussi pour land auction
B309                               ;   1 ne peut pas acheter
B309                               ;   0 peut acheter
B30D byte_B30D:.BYTE 0, 0, 0, 0    ; ...
B311 byte_B311:.BYTE 0, 0, 0, 0    ; ...
B315 byte_B315:.BYTE 0, 0, 0, 0    ; ...
B319 byte_B319:.BYTE 0, 0, 0, 0    ; ...
B319                               ; goodsPlayersNb [goodAuction] [player]
B31D priceStart:.WORD 0            ; ...
B31F priceEnd:.WORD 0              ; ...
B321 word_B321:.WORD 0             ; ...
B321                               ; qualityAi1
B321                               ; aussi high bid dans land auction
B323 byte_B323:.BYTE 0             ; ...
B323                               ; bestQualityAi2
B324 byte_B324:.BYTE 0             ; ...
B324                               ; bestExpAi
B325 successScore:.BYTE 0          ; ...
B325                               ; aussi bestPlotAi
B325                               ;
B325                               ; // signifie aussi si une case est trouvée pour le assay
B325                               ; // 0 = non
B325                               ; // -128, .. = oui (avec byte_CB la case)
B325                               ;
B325                               ; // GAME_SUCCESS = (SCORE_TOTAL - 10000) / 20000
B325                               ; // 0:    -oo à  10000 Failure
B325                               ; // 1:  10000 à  30000
B325                               ; // 2:  30000 à  50000
B325                               ; // 3:  50000 à  70000
B325                               ; // 4:  70000 à  90000
B325                               ; // 5: 110000 à 130000
B325                               ; // 6: 130000 à    +oo
B326 byte_B326:.BYTE 0             ; ...
B327 levelAuctionTimeWait:.BYTE 25 ; ...
B327                               ; temps diponible pour enchere
B328 ordersPlayer:.BYTE 0, 0, 0, 0 ; ...
B328                               ; // renvoie le num du joueur
B328                               ; +0 [FIRST]
B328                               ; +1 [SECOND]
B328                               ; +2 [BEFORE_LAST]
B328                               ; +3 [LAST]
B32C totalScore:.BYTE 0, 0, 0, 0, 0, 0 ; ...
B332 goodsFuturNb:.BYTE 0, 0, 0    ; ...
B332                               ; WithInit:
B332                               ; goodsTotal [Food]   = goodsStoreNb [Food]
B332                               ; goodsTotal [Energy] = goodsStoreNb [Energy]
B332                               ; goodsTotal [Mule]   = goodsStoreNb [Smithore] / 2 + goodsStoreNb [Mule]
B332                               ;
B332                               ; playerTurnAi & grantLandAi:
B332                               ; +0 [FOOD]   // = (PLAYER - REQ) * 2/4 + PROD + STOCK
B332                               ; +1 [ENERGY] // = (PLAYER - REQ) * 3/4 + PROD + STOCK
B332                               ; +2 [MULE]   // = (PLAYER + PROD + STOCK) {Smithore} / 2 + STOCK
B332                               ; goodsFuturNb ?? avec Mule ?
B335 goodsFuturReq:.BYTE 0, 0, 0   ; ...
B335                               ; +0 [FOOD]
B335                               ; +1 [ENERGY]
B335                               ; +2 [MULE]
B338 byte_B338:.BYTE 0             ; ...
B339 byte_B339:.BYTE 0             ; ...
B33A byte_B33A:.BYTE 0             ; ...
B33B   .BYTE   0
B33C byte_B33C:.BYTE 0             ; ...
B33D byte_B33D:.BYTE 0             ; ...
B33E byte_B33E:.BYTE 0             ; ...
B33F byte_B33F:.BYTE 0             ; ...
B340 byte_B340:.BYTE 0             ; ...
B341   .BYTE   0
B342 roundEventsProb:.BYTE 3, 2, 3, 3, 3, 2, 2, 2 ; ...
B342                               ; roundEventsProb [ROUND_EVENTS] Byte ($B342)
B342                               ; Current probabilities of the round events.
B342                               ;
B342                               ; ROUND_EVENTS Current probability
B342                               ; [0;7]
B34A turnEventsHappened:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; ...
B34A                               ; turnEventsHappened [TURN_EVENTS] Byte ($B34A)
B34A                               ; Number of occurence of each turn events.
B34A                               ; (bug: only 21 bytes reserved for a 22 bytes array).
B34A                               ;
B34A                               ; TURN_EVENTS Happened
B34A                               ; [0;21]
B35F outfitsPriceH:.BYTE 0, 0, 0, 0, 0 ; ...
B364   .BYTE   0
B365   .BYTE   0
B366   .BYTE   0
B367 mulePriceH:.BYTE 0            ; ...
B368 wampusX:.BYTE 0               ; ...
B368                               ; X du wampus
B369 wampusY:.BYTE 0               ; ...
B369                               ; Y du wampus
B36A wampusVisible:.BYTE 0         ; ...
B36A                               ; 1 Yes, visible
B36A                               ; 0 No,  invisible
B36B wampusX2:.BYTE 0              ; ...
B36C wampusTime:.BYTE 0            ; ...
B36C                               ; -1 déjà attrapé
B36C                               ; 2 wampus vient de bouger
B36D cursorWait:.BYTE 3            ; ...
B36E playerTurnTimeWait:.BYTE 0    ; ...
B36F nbRounds:.BYTE 12             ; ...
B370 playersTurnTimeWait:.BYTE 7, 7, 7, 7 ; ...
B370                               ; // latence pour chaque pixel du temps
B370                               ; // lors du tour du joueur (foos) (humain)
B370                               ; // le wampus en dépend aussi par conséquence
B374 byte_B374:.BYTE 0             ; ...
B375 byte_B375:.BYTE 0             ; ...
B375                               ; 0 NoAi: setProd (setGoodsTotalAndPrice used both bottom)
B375                               ; 1 AiChooseExpTurn: pour mettre une exp (player turn AI)
B375                               ; 2 AiSelectBuyLand: pour choisir (grant land) et acheter (land auction)
B375                               ; 0: on possède l'exp
B375                               ; 1-2: AiPreview
B375                               ; 1: on a la terre, simuler l'exp
B375                               ; 2: on ne possède pas la terre, simuler la terre et l'exp
B375                               ;
B375                               ; aussi utilisé pour assay
B376 foodReq:.BYTE 3               ; ...
B377 doMissingEnergyMalus:.BYTE 0  ; ...
B377                               ; 0 Yes: prendre compte du malus du manque d'energie
B377                               ; 1 No: ne pas prendre en compte le malus
B378 byte_B378:.BYTE 0             ; ...
B378                               ; // i eme joueur qui fait son tour
B379 playersPlotsQuality:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0 ; ...
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0 ; playersPlotsQuality [Players] [Plots]
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0 ; qualité de chaque plot pour chaque joueur
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B379   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0
B42D plotsTemp3:.BYTE    0,   0,   1,   2,   2,   3,   2,   1,   0 ; ...
B42D   .BYTE    0,   1,   2,   3,   2,   2,   1,   0,   0 ; mapTemp3_0:  estimation (si land action)
B42D   .BYTE    0,   0,   1,   2,   1,   1,   0,   0,   0 ; mapTemp3_8:  argent miminum à garder
B42D   .BYTE    0,   1,   2,   1,   0,   0,   0,   0,   0 ; mapTemp3_11: argent pres à être investi
B42D   .BYTE    1,   2,   3,   2,   1,   0,   0,   0,   0 ; mapTemp3_1A
B42D                               ; mapTemp3_1E
B42D                               ; mapTemp3_22
B45A plotsKnownCrystite:.BYTE -128,-128,-128,-128,-128,-128,-128,-128,-128 ; ...
B45A   .BYTE -128,-128,-128,-128,-128,-128,-128,-128,-128
B45A   .BYTE -128,-128,-128,-128,-128,-128,-128,-128,-128
B45A   .BYTE -128,-128,-128,-128,-128,-128,-128,-128,-128
B45A   .BYTE -128,-128,-128,-128,-128,-128,-128,-128,-128
B487 byte_B487:.BYTE 0, 0, 0, 0    ; ...
B487                               ; nb à acheter ou vendre
B48B byte_B48B:.BYTE 0             ; ...
B48B                               ; -1 si que des acheteurs
B48B                               ;  0 si que des vendeurs
B48B                               ;  1 si vendeurs et acheteurs
B48C byte_B48C:.BYTE 0, 0, 0, 0    ; ...
B48C                               ; [CPUS]
B48C                               ; calculé dans AI6 utilisé dans AI12
B490 byte_B490:.BYTE 0             ; ...
B490                               ; nb unité supposé qui vont etre acheté
B490                               ; (nb unités manquantes totales)
B491 byte_B491:.BYTE 0             ; ...
B491                               ; nb unité supposé disponibles à vendre (surplus + store)
B492   .BYTE   0
B493   .BYTE   0
B494   .BYTE   0
B495   .BYTE   0
B496   .BYTE   0
B497   .BYTE   0
B498   .BYTE   0
B499   .BYTE   0
B49A   .BYTE   0
B49B   .BYTE   0
B49C   .BYTE   0
B49D   .BYTE   0
B49E   .BYTE   0
B49F   .BYTE   0
B4A0   .BYTE   0
B4A1   .BYTE   0
B4A2   .BYTE   0
B4A3   .BYTE   0
B4A4   .BYTE   0
B4A5   .BYTE   0
B4A6   .BYTE   0
B4A7   .BYTE   0
B4A8   .BYTE   0
B4A9   .BYTE   0
B4AA   .BYTE   0
B4AB   .BYTE   0
B4AC   .BYTE   0
B4AD   .BYTE   0
B4AE   .BYTE   0
B4AF   .BYTE   0
B4B0   .BYTE   0
B4B1   .BYTE   0
B4B2   .BYTE   0
B4B3   .BYTE   0
B4B4   .BYTE   0
B4B5   .BYTE   0
B4B6   .BYTE   0
B4B7   .BYTE   0
B4B8   .BYTE   0
B4B9   .BYTE   0
B4BA   .BYTE   0
B4BB   .BYTE   0
B4BC   .BYTE   0
B4BD   .BYTE   0
B4BE   .BYTE   0
B4BF   .BYTE   0
B4C0   .BYTE   0
B4C1   .BYTE   0
B4C2   .BYTE   0
B4C3   .BYTE   0
B4C4   .BYTE   0
B4C5   .BYTE   0
B4C6   .BYTE   0
B4C7   .BYTE   0
B4C8   .BYTE   0
B4C9   .BYTE   0
B4CA   .BYTE   0
B4CB   .BYTE   0
B4CC   .BYTE   0
B4CD   .BYTE   0
B4CE   .BYTE   0
B4CF   .BYTE   0
B4D0   .BYTE   0
B4D1   .BYTE   0
B4D2   .BYTE   0
B4D3   .BYTE   0
B4D4   .BYTE   0
B4D5   .BYTE   0
B4D6   .BYTE   0
B4D7   .BYTE   0
B4D8   .BYTE   0
B4D9   .BYTE   0
B4DA   .BYTE   0
B4DB   .BYTE   0
B4DC   .BYTE   0
B4DD   .BYTE   0
B4DE   .BYTE   0
B4DF   .BYTE   0
B4E0   .BYTE   0
B4E1   .BYTE   0
B4E2   .BYTE   0
B4E3   .BYTE   0
B4E4   .BYTE   0
B4E5   .BYTE   0
B4E6   .BYTE   0
B4E7   .BYTE   0
B4E8   .BYTE   0
B4E9   .BYTE   0
B4EA   .BYTE   0
B4EB   .BYTE   0
B4EC   .BYTE   0
B4ED   .BYTE   0
B4EE   .BYTE   0
B4EF   .BYTE   0
B4F0   .BYTE   0
B4F1   .BYTE   0
B4F2   .BYTE   0
B4F3   .BYTE   0
B4F4   .BYTE   0
B4F5   .BYTE   0
B4F6   .BYTE   0
B4F7   .BYTE   0
B4F8   .BYTE   0
B4F9   .BYTE   0
B4FA   .BYTE   0
B4FB   .BYTE   0
B4FC   .BYTE   0
B4FD   .BYTE   0
B4FE   .BYTE   0
B4FF   .BYTE   0
B500   .BYTE   0
B501   .BYTE   0
B502   .BYTE   0
B503   .BYTE   0
B504   .BYTE   0
B505   .BYTE   0
B506   .BYTE   0
B507   .BYTE   0
B508   .BYTE   0
B509   .BYTE   0
B50A   .BYTE   0
B50B   .BYTE   0
B50C   .BYTE $34 ; 4
B50D   .BYTE $32 ; 2
B50E   .BYTE $21 ; !
B50F   .BYTE $2E ; .
B510   .BYTE $33 ; 3
B511   .BYTE $30 ; 0
B512   .BYTE 00101111b
B513   .BYTE 00110010b
B514   .BYTE 00110100b
B515   .BYTE 00000000b
B516   .BYTE 00110011b
B517   .BYTE 00101000b
B518   .BYTE 00101001b
B519   .BYTE 00110000b
B51A   .BYTE   0
B51B   .BYTE   0
B51C   .BYTE   0
B51D   .BYTE   0
B51E   .BYTE   0
B51F   .BYTE   0
B520   .BYTE   0
B521   .BYTE   0
B522   .BYTE   0
B523   .BYTE   0
B524   .BYTE   0
B525   .BYTE   0
B526   .BYTE   0
B527   .BYTE   0
B528   .BYTE   0
B529   .BYTE   0
B52A   .BYTE   0
B52B   .BYTE   0
B52C   .BYTE   0
B52D   .BYTE   0
B52E   .BYTE   0
B52F   .BYTE   0
B530   .BYTE   0
B531   .BYTE   0
B532   .BYTE   0
B533   .BYTE   0
B534   .BYTE   0
B535   .BYTE   0
B536   .BYTE   0
B537   .BYTE   0
B538   .BYTE   0
B539   .BYTE   0
B53A   .BYTE   0
B53B   .BYTE   0
B53C   .BYTE   0
B53D   .BYTE   0
B53E   .BYTE   0
B53F   .BYTE   0
B540   .BYTE   0
B541   .BYTE   0
B542   .BYTE   0
B543   .BYTE   0
B544   .BYTE   0
B545   .BYTE   0
B546   .BYTE   0
B547   .BYTE   0
B548   .BYTE   0
B549   .BYTE   0
B54A   .BYTE   0
B54B   .BYTE   0
B54C   .BYTE   0
B54D   .BYTE   0
B54E   .BYTE   0
B54F   .BYTE   0
B550   .BYTE   0
B551   .BYTE   0
B552   .BYTE   0
B553   .BYTE   0
B554   .BYTE   0
B555   .BYTE   0
B556   .BYTE   0
B557   .BYTE   0
B558   .BYTE   0
B559   .BYTE   0
B55A   .BYTE   0
B55B   .BYTE   0
B55C   .BYTE   0
B55D   .BYTE   0
B55E   .BYTE   0
B55F   .BYTE   0
B560   .BYTE   0
B561   .BYTE   0
B562   .BYTE   0
B563   .BYTE   0
B564   .BYTE   0
B565   .BYTE   0
B566   .BYTE   0
B567   .BYTE   0
B568   .BYTE   0
B569   .BYTE   0
B56A   .BYTE   0
B56B   .BYTE   0
B56C   .BYTE   0
B56D   .BYTE   0
B56E   .BYTE   0
B56F   .BYTE   0
B570   .BYTE   0
B571   .BYTE   0
B572   .BYTE   0
B573   .BYTE   0
B574   .BYTE   0
B575   .BYTE   0
B576   .BYTE   0
B577   .BYTE   0
B578   .BYTE   0
B579   .BYTE   0
B57A   .BYTE   0
B57B   .BYTE   0
B57C   .BYTE   0
B57D   .BYTE   0
B57E   .BYTE   0
B57F   .BYTE   0
B580   .BYTE   0
B581   .BYTE   0
B582   .BYTE   0
B583   .BYTE   0
B584   .BYTE   0
B585   .BYTE   0
B586   .BYTE   0
B587   .BYTE   0
B588   .BYTE   0
B589   .BYTE   0
B58A   .BYTE   0
B58B   .BYTE   0
B58C   .BYTE   0
B58D   .BYTE   0
B58E   .BYTE   0
B58F   .BYTE   0
B590   .BYTE   0
B591   .BYTE   0
B592   .BYTE   0
B593   .BYTE   0
B594   .BYTE   0
B595   .BYTE   0
B596   .BYTE   0
B597   .BYTE   0
B598   .BYTE   0
B599   .BYTE   0
B59A   .BYTE   0
B59B   .BYTE   0
B59C   .BYTE   0
B59D   .BYTE   0
B59E   .BYTE   0
B59F   .BYTE   0
B5A0   .BYTE   0
B5A1   .BYTE   0
B5A2   .BYTE   0
B5A3   .BYTE   0
B5A4   .BYTE   0
B5A5   .BYTE   0
B5A6   .BYTE   0
B5A7   .BYTE   0
B5A8   .BYTE   0
B5A9   .BYTE   0
B5AA   .BYTE   0
B5AB   .BYTE   0
B5AC   .BYTE   0
B5AD   .BYTE   0
B5AE   .BYTE   0
B5AF   .BYTE   0
B5B0   .BYTE   0
B5B1   .BYTE   0
B5B2   .BYTE   0
B5B3   .BYTE   0
B5B4   .BYTE   0
B5B5   .BYTE   0
B5B6   .BYTE   0
B5B7   .BYTE   0
B5B8   .BYTE   0
B5B9   .BYTE   0
B5BA   .BYTE   0
B5BB   .BYTE   0
B5BC   .BYTE   0
B5BD   .BYTE   0
B5BE   .BYTE   0
B5BF   .BYTE   0
B5C0   .BYTE   0
B5C1   .BYTE   0
B5C2   .BYTE   0
B5C3   .BYTE   0
B5C4   .BYTE   0
B5C5   .BYTE   0
B5C6   .BYTE   0
B5C7   .BYTE   0
B5C8   .BYTE   0
B5C9   .BYTE   0
B5CA   .BYTE   0
B5CB   .BYTE   0
B5CC   .BYTE   0
B5CD   .BYTE   0
B5CE   .BYTE   0
B5CF   .BYTE   0
B5D0   .BYTE   0
B5D1   .BYTE   0
B5D2   .BYTE   0
B5D3   .BYTE   0
B5D4   .BYTE   0
B5D5   .BYTE   0
B5D6   .BYTE   0
B5D7   .BYTE   0
B5D8   .BYTE   0
B5D9   .BYTE   0
B5DA   .BYTE   0
B5DB   .BYTE   0
B5DC   .BYTE   0
B5DD   .BYTE   0
B5DE   .BYTE   0
B5DF   .BYTE   0
B5E0   .BYTE   0
B5E1   .BYTE   0
B5E2   .BYTE   0
B5E3   .BYTE   0
B5E4   .BYTE   0
B5E5   .BYTE   0
B5E6   .BYTE   0
B5E7   .BYTE   0
B5E8   .BYTE   0
B5E9   .BYTE   0
B5EA   .BYTE   0
B5EB   .BYTE   0
B5EC   .BYTE   0
B5ED   .BYTE   0
B5EE   .BYTE   0
B5EF   .BYTE   0
B5F0   .BYTE   0
B5F1   .BYTE   0
B5F2   .BYTE   0
B5F3   .BYTE   0
B5F4   .BYTE   0
B5F5   .BYTE   0
B5F6   .BYTE   0
B5F7   .BYTE   0
B5F8   .BYTE   0
B5F9   .BYTE   0
B5FA   .BYTE   0
B5FB   .BYTE   0
B5FC   .BYTE   0
B5FD   .BYTE   0
B5FE   .BYTE   0
B5FF   .BYTE   0
B600   .BYTE   0
B601   .BYTE   0
B602   .BYTE   0
B603   .BYTE   0
B604   .BYTE   0
B605   .BYTE   0
B606   .BYTE   0
B607   .BYTE   0
B608   .BYTE   0
B609   .BYTE   0
B60A   .BYTE   0
B60B   .BYTE   0
B60C   .BYTE   0
B60D   .BYTE   0
B60E   .BYTE   0
B60F   .BYTE   0
B610   .BYTE   0
B611   .BYTE   0
B612   .BYTE   0
B613   .BYTE   0
B614   .BYTE   0
B615   .BYTE   0
B616   .BYTE   0
B617   .BYTE   0
B618   .BYTE   0
B619   .BYTE   0
B61A   .BYTE   0
B61B   .BYTE   0
B61C   .BYTE   0
B61D   .BYTE   0
B61E   .BYTE   0
B61F   .BYTE   0
B620   .BYTE   0
B621   .BYTE   0
B622   .BYTE   0
B623   .BYTE   0
B624   .BYTE   0
B625   .BYTE   0
B626   .BYTE   0
B627   .BYTE   0
B628   .BYTE   0
B629   .BYTE   0
B62A   .BYTE   0
B62B   .BYTE   0
B62C   .BYTE   0
B62D   .BYTE   0
B62E   .BYTE   0
B62F   .BYTE   0
B630   .BYTE   0
B631   .BYTE   0
B632   .BYTE   0
B633   .BYTE   0
B634   .BYTE   0
B635   .BYTE   0
B636   .BYTE   0
B637   .BYTE   0
B638   .BYTE   0
B639   .BYTE   0
B63A   .BYTE   0
B63B   .BYTE   0
B63C   .BYTE   0
B63D   .BYTE   0
B63E   .BYTE   0
B63F   .BYTE   0
B640   .BYTE   0
B641   .BYTE   0
B642   .BYTE   0
B643   .BYTE   0
B644   .BYTE   0
B645   .BYTE   0
B646   .BYTE   0
B647   .BYTE   0
B648   .BYTE   0
B649   .BYTE   0
B64A   .BYTE   0
B64B   .BYTE   0
B64C   .BYTE   0
B64D   .BYTE   0
B64E   .BYTE   0
B64F   .BYTE   0
B650   .BYTE   0
B651   .BYTE   0
B652   .BYTE   0
B653   .BYTE   0
B654   .BYTE   0
B655   .BYTE   0
B656   .BYTE   0
B657   .BYTE   0
B658   .BYTE   0
B659   .BYTE   0
B65A   .BYTE   0
B65B   .BYTE   0
B65C   .BYTE   0
B65D   .BYTE   0
B65E   .BYTE   0
B65F   .BYTE   0
B660   .BYTE   0
B661   .BYTE   0
B662   .BYTE   0
B663   .BYTE   0
B664   .BYTE   0
B665   .BYTE   0
B666   .BYTE   0
B667   .BYTE   0
B668   .BYTE   0
B669   .BYTE   0
B66A   .BYTE   0
B66B   .BYTE   0
B66C   .BYTE   0
B66D   .BYTE   0
B66E   .BYTE   0
B66F   .BYTE   0
B670   .BYTE   0
B671   .BYTE   0
B672   .BYTE   0
B673   .BYTE   0
B674   .BYTE   0
B675   .BYTE   0
B676   .BYTE   0
B677   .BYTE   0
B678   .BYTE   0
B679   .BYTE   0
B67A   .BYTE   0
B67B   .BYTE   0
B67C   .BYTE   0
B67D   .BYTE   0
B67E   .BYTE   0
B67F   .BYTE   0
B680   .BYTE   0
B681   .BYTE   0
B682   .BYTE   0
B683   .BYTE   0
B684   .BYTE   0
B685   .BYTE   0
B686   .BYTE   0
B687   .BYTE   0
B688   .BYTE   0
B689   .BYTE   0
B68A   .BYTE   0
B68B   .BYTE   0
B68C   .BYTE   0
B68D   .BYTE   0
B68E   .BYTE   0
B68F   .BYTE   0
B690   .BYTE   0
B691   .BYTE   0
B692   .BYTE   0
B693   .BYTE   0
B694   .BYTE   0
B695   .BYTE   0
B696   .BYTE   0
B697   .BYTE   0
B698   .BYTE   0
B699   .BYTE   0
B69A   .BYTE   0
B69B   .BYTE   0
B69C   .BYTE   0
B69D   .BYTE   0
B69E   .BYTE   0
B69F   .BYTE   0
B6A0   .BYTE   0
B6A1   .BYTE   0
B6A2   .BYTE   0
B6A3   .BYTE   0
B6A4   .BYTE   0
B6A5   .BYTE   0
B6A6   .BYTE   0
B6A7   .BYTE   0
B6A8   .BYTE   0
B6A9   .BYTE   0
B6AA   .BYTE   0
B6AB   .BYTE   0
B6AC   .BYTE   0
B6AD   .BYTE   0
B6AE   .BYTE   0
B6AF   .BYTE   0
B6B0   .BYTE   0
B6B1   .BYTE   0
B6B2   .BYTE   0
B6B3   .BYTE   0
B6B4   .BYTE   0
B6B5   .BYTE   0
B6B6   .BYTE   0
B6B7   .BYTE   0
B6B8   .BYTE   0
B6B9   .BYTE $39 ; 9
B6BA   .BYTE $2F ; /
B6BB   .BYTE $35 ; 5
B6BC   .BYTE   7
B6BD   .BYTE $32 ; 2
B6BE   .BYTE $25 ; %
B6BF   .BYTE   0
B6C0   .BYTE $2C ; ,
B6C1   .BYTE $21 ; !
B6C2   .BYTE $2E ; .
B6C3   .BYTE $24 ; $
B6C4   .BYTE $29 ; )
B6C5   .BYTE $2E ; .
B6C6   .BYTE $27 ; '
B6C7   .BYTE   0
B6C8   .BYTE $2F ; /
B6C9   .BYTE $2E ; .
B6CA   .BYTE   0
B6CB   .BYTE   0
B6CC   .BYTE   0
B6CD   .BYTE $34 ; 4
B6CE   .BYTE $28 ; (
B6CF   .BYTE $25 ; %
B6D0   .BYTE   0
B6D1   .BYTE $30 ; 0
B6D2   .BYTE $2C ; ,
B6D3   .BYTE $21 ; !
B6D4   .BYTE $2E ; .
B6D5   .BYTE $25 ; %
B6D6   .BYTE $34 ; 4
B6D7   .BYTE   0
B6D8   .BYTE $29 ; )
B6D9   .BYTE $32 ; 2
B6DA   .BYTE $21 ; !
B6DB   .BYTE $34 ; 4
B6DC   .BYTE $21 ; !
B6DD   .BYTE  $E
B6DE   .BYTE   0
B6DF   .BYTE   0
B6E0 unk_B6E0:.BYTE   0            ; ...
B6E1   .BYTE   0
B6E2   .BYTE   0
B6E3   .BYTE   0
B6E4   .BYTE   0
B6E5   .BYTE   0
B6E6   .BYTE   0
B6E7   .BYTE   0
B6E8   .BYTE   0
B6E9   .BYTE   0
B6EA   .BYTE   0
B6EB   .BYTE   0
B6EC   .BYTE   0
B6ED   .BYTE   0
B6EE   .BYTE   0
B6EF   .BYTE   0
B6F0   .BYTE   0
B6F1   .BYTE   0
B6F2   .BYTE   0
B6F3   .BYTE   0
B6F4   .BYTE   0
B6F5   .BYTE   0
B6F6   .BYTE   0
B6F7   .BYTE   0
B6F8   .BYTE   0
B6F9   .BYTE   0
B6FA   .BYTE   0
B6FB   .BYTE   0
B6FC   .BYTE   0
B6FD   .BYTE   0
B6FE   .BYTE   0
B6FF   .BYTE   0
B700 byte_B700:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; ...
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B700   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B800   .BYTE   0
B801   .BYTE   0
B802   .BYTE   0
B803   .BYTE   0
B804   .BYTE   0
B805   .BYTE   0
B806   .BYTE   0
B807   .BYTE   0
B808   .BYTE   0
B809   .BYTE   0
B80A   .BYTE   0
B80B   .BYTE   0
B80C   .BYTE   0
B80D   .BYTE   0
B80E   .BYTE   0
B80F   .BYTE   0
B810   .BYTE   0
B811   .BYTE   0
B812   .BYTE   0
B813   .BYTE   0
B814   .BYTE   0
B815   .BYTE   0
B816   .BYTE   0
B817   .BYTE   0
B818   .BYTE   0
B819   .BYTE   0
B81A   .BYTE   0
B81B   .BYTE   0
B81C   .BYTE   0
B81D   .BYTE   0
B81E   .BYTE   0
B81F   .BYTE   0
B820   .BYTE   0
B821   .BYTE   0
B822   .BYTE   0
B823   .BYTE   0
B824   .BYTE   0
B825   .BYTE   0
B826   .BYTE   0
B827   .BYTE   0
B828   .BYTE   0
B829   .BYTE   0
B82A   .BYTE   0
B82B   .BYTE   0
B82C byte_B82C:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; ...
B82C   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B82C   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B82C   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B82C   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B82C   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B8A4   .BYTE   0
B8A5   .BYTE   0
B8A6   .BYTE   0
B8A7   .BYTE   0
B8A8   .BYTE   0
B8A9   .BYTE   0
B8AA   .BYTE   0
B8AB   .BYTE   0
B8AC   .BYTE   0
B8AD   .BYTE   0
B8AE   .BYTE   0
B8AF   .BYTE   0
B8B0   .BYTE   0
B8B1   .BYTE   0
B8B2   .BYTE   0
B8B3   .BYTE   0
B8B4   .BYTE   0
B8B5   .BYTE   0
B8B6   .BYTE   0
B8B7   .BYTE   0
B8B8   .BYTE   0
B8B9   .BYTE   0
B8BA   .BYTE   0
B8BB   .BYTE   0
B8BC   .BYTE   0
B8BD   .BYTE   0
B8BE   .BYTE   0
B8BF   .BYTE   0
B8C0   .BYTE   0
B8C1   .BYTE   0
B8C2   .BYTE   0
B8C3   .BYTE   0
B8C4   .BYTE   0
B8C5   .BYTE   0
B8C6   .BYTE   0
B8C7   .BYTE   0
B8C8   .BYTE   0
B8C9   .BYTE   0
B8CA   .BYTE   0
B8CB   .BYTE   0
B8CC   .BYTE   0
B8CD   .BYTE   0
B8CE   .BYTE   0
B8CF   .BYTE   0
B8D0   .BYTE   0
B8D1   .BYTE   0
B8D2   .BYTE   0
B8D3   .BYTE   0
B8D4   .BYTE   0
B8D5   .BYTE   0
B8D6   .BYTE   0
B8D7   .BYTE   0
B8D8   .BYTE   0
B8D9   .BYTE   0
B8DA   .BYTE   0
B8DB   .BYTE   0
B8DC   .BYTE   0
B8DD   .BYTE   0
B8DE   .BYTE   0
B8DF   .BYTE   0
B8E0   .BYTE   0
B8E1   .BYTE   0
B8E2   .BYTE   0
B8E3   .BYTE   0
B8E4   .BYTE   0
B8E5   .BYTE   0
B8E6   .BYTE   0
B8E7   .BYTE   0
B8E8   .BYTE   0
B8E9   .BYTE   0
B8EA   .BYTE   0
B8EB   .BYTE   0
B8EC   .BYTE   0
B8ED   .BYTE   0
B8EE   .BYTE   0
B8EF   .BYTE   0
B8F0   .BYTE   0
B8F1   .BYTE   0
B8F2   .BYTE   0
B8F3   .BYTE   0
B8F4   .BYTE   0
B8F5   .BYTE   0
B8F6   .BYTE   0
B8F7   .BYTE   0
B8F8   .BYTE   0
B8F9   .BYTE   0
B8FA   .BYTE   0
B8FB   .BYTE   0
B8FC   .BYTE   0
B8FD   .BYTE   0
B8FE   .BYTE   0
B8FF   .BYTE   0
B900 GAME_SPR_MOUNT:.BYTE 00000000b ; ...
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00010000b
B900   .BYTE 00010000b
B900   .BYTE 00111000b
B900   .BYTE 00111000b
B900   .BYTE 01111100b
B900   .BYTE 11111110b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
B900   .BYTE 00000000b
BA00 GAME_SPR_RIVER:.BYTE 00000000b ; ...
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 10100101b
BA00   .BYTE 10100101b
BA00   .BYTE 10100101b
BA00   .BYTE 10100101b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 10101001b
BA00   .BYTE 10101001b
BA00   .BYTE 10101001b
BA00   .BYTE 10101001b
BA00   .BYTE 10111001b
BA00   .BYTE 10111001b
BA00   .BYTE 10111001b
BA00   .BYTE 10111001b
BA00   .BYTE 11111001b
BA00   .BYTE 11111001b
BA00   .BYTE 11111001b
BA00   .BYTE 11111001b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 11111111b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 01010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001000b
BA00   .BYTE 00000000b
BA00   .BYTE 00101010b
BA00   .BYTE 00000000b
BA00   .BYTE 00101000b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 01010010b
BA00   .BYTE 00000000b
BA00   .BYTE 01001010b
BA00   .BYTE 00000000b
BA00   .BYTE 00010100b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BA00   .BYTE 00000000b
BB00 charTime:.BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; ...
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BB00   .BYTE 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
BC00 byte_BC00:.BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b ; ...
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000111b, 00011111b, 00110011b, 01110011b, 11000000b, 11000000b, 01110011b, 00110011b, 00011111b, 00000111b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BC00   .BYTE 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
BD00 wampusSprite:.BYTE 00000000b  ; ...
BD00   .BYTE 00000000b             ; // aussi cursor sprite
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00001110b
BD00   .BYTE 00001110b
BD00   .BYTE 00001110b
BD00   .BYTE 00001110b
BD00   .BYTE 00011110b
BD00   .BYTE 00011110b
BD00   .BYTE 00011110b
BD00   .BYTE 00011110b
BD00   .BYTE 00111110b
BD00   .BYTE 00111110b
BD00   .BYTE 00111110b
BD00   .BYTE 00111110b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 11111100b
BD00   .BYTE 00111110b
BD00   .BYTE 00111110b
BD00   .BYTE 00111110b
BD00   .BYTE 00111110b
BD00   .BYTE 00011110b
BD00   .BYTE 00011110b
BD00   .BYTE 00011110b
BD00   .BYTE 00011110b
BD00   .BYTE 00001110b
BD00   .BYTE 00001110b
BD00   .BYTE 00001110b
BD00   .BYTE 00001110b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BD00   .BYTE 00000000b
BE00 byte_BE00:.BYTE 00000000b     ; ...
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00010000b
BE00   .BYTE 00010000b
BE00   .BYTE 00111000b
BE00   .BYTE 00111000b
BE00   .BYTE 01111100b
BE00   .BYTE 11111110b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BE00   .BYTE 00000000b
BF00 byte_BF00:.BYTE 00000000b     ; ...
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 10100101b
BF00   .BYTE 10100101b
BF00   .BYTE 10100101b
BF00   .BYTE 10100101b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 10101001b
BF00   .BYTE 10101001b
BF00   .BYTE 10101001b
BF00   .BYTE 10101001b
BF00   .BYTE 10111001b
BF00   .BYTE 10111001b
BF00   .BYTE 10111001b
BF00   .BYTE 10111001b
BF00   .BYTE 11111001b
BF00   .BYTE 11111001b
BF00   .BYTE 11111001b
BF00   .BYTE 11111001b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 11111111b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 01010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001000b
BF00   .BYTE 00000000b
BF00   .BYTE 00101010b
BF00   .BYTE 00000000b
BF00   .BYTE 00101000b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 01010010b
BF00   .BYTE 00000000b
BF00   .BYTE 01001010b
BF00   .BYTE 00000000b
BF00   .BYTE 00010100b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
BF00   .BYTE 00000000b
C000 byte_C000:.BYTE $11           ; ...
C001 byte_C001:.BYTE $92           ; ...
C002   .BYTE $10
C003   .BYTE   5
C004   .BYTE $83 ; â
C005   .BYTE   0
C006   .BYTE $42 ; B
C007   .BYTE $42 ; B
C008   .BYTE   0
C009   .BYTE   0
C00A   .BYTE   1
C00B   .BYTE   2
C00C
C00C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C00C
C00C
C00C sub_C00C:                     ; ...
C00C   LDA   #$40
C00E   STA   OS_NMIEN
C011   LDA   wampusColor
C014   STA   byte_3FA
C017   RTS
C017 ; End of function sub_C00C
C017
C018
C018 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C018
C018
C018 sub_C018:
C018
C018 ; FUNCTION CHUNK AT EAAD SIZE 00000050 BYTES
C018 ; FUNCTION CHUNK AT EB2C SIZE 0000005B BYTES
C018 ; FUNCTION CHUNK AT FC19 SIZE 000000BD BYTES
C018
C018   BIT   byte_D40F
C01B   BPL   loc_C020
C01D   JMP   (OS_VDSLST)
C020 ; ---------------------------------------------------------------------------
C020
C020 loc_C020:                     ; ...
C020   CLD
C021   PHA
C022   TXA
C023   PHA
C024   TYA
C025   PHA
C026   STA   byte_D40F
C029   JMP   (word_222)
C02C ; ---------------------------------------------------------------------------
C02C   CLD
C02D   JMP   (OS_VIMIRQ)
C030
C030 loc_C030:                     ; ...
C030   PHA
C031   LDA   OS_IRQEN_IRQST
C034   AND   #$20
C036   BNE   loc_C045
C038   LDA   #$DF
C03A   STA   OS_IRQEN_IRQST
C03D   LDA   OS_POKMSK
C03F   STA   OS_IRQEN_IRQST
C042   JMP   (word_20A)
C045 ; ---------------------------------------------------------------------------
C045
C045 loc_C045:                     ; ...
C045   TXA
C046   PHA
C047   LDA   byte_D1FF
C04A   AND   byte_249
C04D   BEQ   loc_C052
C04F   JMP   (word_238)
C052 ; ---------------------------------------------------------------------------
C052
C052 loc_C052:                     ; ...
C052   LDX   #6
C054
C054 loc_C054:                     ; ...
C054   LDA   unk_C0CF,X
C057   CPX   #5
C059   BNE   loc_C05F
C05B   AND   OS_POKMSK
C05D   BEQ   loc_C064
C05F
C05F loc_C05F:                     ; ...
C05F   BIT   OS_IRQEN_IRQST
C062   BEQ   loc_C06A
C064
C064 loc_C064:                     ; ...
C064   DEX
C065   BPL   loc_C054
C067   JMP   loc_C0A0
C06A ; ---------------------------------------------------------------------------
C06A
C06A loc_C06A:                     ; ...
C06A   EOR   #$FF
C06C   STA   OS_IRQEN_IRQST
C06F   LDA   OS_POKMSK
C071   STA   OS_IRQEN_IRQST
C074   CPX   #0
C076   BNE   loc_C07D
C078   LDA   byte_26D
C07B   BNE   loc_C0A0
C07D
C07D loc_C07D:                     ; ...
C07D   LDA   unk_C0D7,X
C080   TAX
C081   LDA   $200,X
C084   STA   word_28C
C087   LDA   $201,X
C08A   STA   word_28C+1
C08D   PLA
C08E   TAX
C08F   JMP   (word_28C)
C092 ; ---------------------------------------------------------------------------
C092   LDA   #0
C094   STA   byte_11
C096   STA   byte_2FF
C099   STA   byte_2F0
C09C   STA   byte_4D
C09E   PLA
C09F   RTI
C0A0 ; ---------------------------------------------------------------------------
C0A0
C0A0 loc_C0A0:                     ; ...
C0A0   PLA
C0A1   TAX
C0A2   BIT   byte_D302
C0A5   BPL   loc_C0AD
C0A7   LDA   byte_D300
C0AA   JMP   (word_202)
C0AD ; ---------------------------------------------------------------------------
C0AD
C0AD loc_C0AD:                     ; ...
C0AD   BIT   byte_D303
C0B0   BPL   loc_C0B8
C0B2   LDA   byte_D301
C0B5   JMP   (word_204)
C0B8 ; ---------------------------------------------------------------------------
C0B8
C0B8 loc_C0B8:                     ; ...
C0B8   PLA
C0B9   STA   word_28C
C0BC   PLA
C0BD   PHA
C0BE   AND   #$10
C0C0   BEQ   loc_C0C9
C0C2   LDA   word_28C
C0C5   PHA
C0C6   JMP   (word_206)
C0C9 ; ---------------------------------------------------------------------------
C0C9
C0C9 loc_C0C9:                     ; ...
C0C9   LDA   word_28C
C0CC   PHA
C0CD
C0CD loc_C0CD:                     ; ...
C0CD   PLA
C0CE   RTI
C0CE ; End of function sub_C018
C0CE
C0CE ; ---------------------------------------------------------------------------
C0CF unk_C0CF:.BYTE $80 ; Ç        ; ...
C0D0   .BYTE $40 ; @
C0D1   .BYTE   4
C0D2   .BYTE   2
C0D3   .BYTE   1
C0D4   .BYTE   8
C0D5   .BYTE $10
C0D6   .BYTE $20
C0D7 unk_C0D7:.BYTE $36 ; 6        ; ...
C0D8   .BYTE   8
C0D9   .BYTE $14
C0DA   .BYTE $12
C0DB   .BYTE $10
C0DC   .BYTE  $E
C0DD   .BYTE  $C
C0DE   .BYTE  $A
C0DF
C0DF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C0DF
C0DF
C0DF sub_C0DF:                     ; ...
C0DF   JMP   sub_C0DF
C0E2 ; ---------------------------------------------------------------------------
C0E2   INC   OS_RTCLOK
C0E4   BNE   loc_C0EE
C0E6   INC   byte_4D
C0E8   INC   byte_13
C0EA   BNE   loc_C0EE
C0EC   INC   byte_12
C0EE
C0EE loc_C0EE:                     ; ...
C0EE   LDA   #$FE
C0F0   LDX   #0
C0F2   LDY   byte_4D
C0F4   BPL   loc_C0FC
C0F6   STA   byte_4D
C0F8   LDX   byte_13
C0FA   LDA   #$F6
C0FC
C0FC loc_C0FC:                     ; ...
C0FC   STA   byte_4E
C0FE   STX   byte_4F
C100   LDA   OS_COLOR1
C103   EOR   byte_4F
C105   AND   byte_4E
C107   STA   byte_D017
C10A   LDX   #0
C10C   JSR   sub_C255
C10F   BNE   loc_C114
C111   JSR   sub_C24F
C114
C114 loc_C114:                     ; ...
C114   LDA   byte_42
C116   BNE   loc_C120
C118   TSX
C119   LDA   $104,X
C11C   AND   #4
C11E   BEQ   loc_C123
C120
C120 loc_C120:                     ; ...
C120   JMP   sub_C28A
C123 ; ---------------------------------------------------------------------------
C123
C123 loc_C123:                     ; ...
C123   LDA   wampusColor
C126   CMP   byte_3FA
C129   BNE   sub_C0DF
C12B   LDA   byte_D40D
C12E   STA   byte_235
C131   LDA   byte_D40C
C134   STA   byte_234
C137   LDA   OS_SDLSTL+1
C13A   STA   byte_D403
C13D   LDA   OS_SDLSTL
C140   STA   byte_D402
C143   LDA   OS_SDMCTL
C146   STA   OS_DMACTL
C149   LDA   OS_GPRIOR
C14C   STA   OS_PRIOR
C14F   LDA   byte_26C
C152   BEQ   loc_C162
C154   DEC   byte_26C
C157   LDA   #8
C159   SEC
C15A   SBC   byte_26C
C15D   AND   #7
C15F   STA   byte_D405
C162
C162 loc_C162:                     ; ...
C162   LDX   #8
C164   STX   OS_CONSOL
C167
C167 loc_C167:                     ; ...
C167   CLI
C168   LDA   $2C0,X
C16B   EOR   byte_4F
C16D   AND   byte_4E
C16F   STA   byte_D012,X
C172   DEX
C173   BPL   loc_C167
C175   LDA   OS_CHBAS
C178   STA   byte_D409
C17B   LDA   byte_2F3
C17E   STA   byte_D401
C181   LDX   #2
C183   JSR   sub_C255
C186   BNE   loc_C18B
C188   JSR   sub_C252
C18B
C18B loc_C18B:                     ; ...
C18B   LDX   #2
C18D
C18D loc_C18D:                     ; ...
C18D   INX
C18E   INX
C18F   LDA   $218,X
C192   ORA   $219,X
C195   BEQ   loc_C19D
C197   JSR   sub_C255
C19A   STA   $226,X
C19D
C19D loc_C19D:                     ; ...
C19D   CPX   #8
C19F   BNE   loc_C18D
C1A1   LDA   OS_SKCTL_SKSTAT
C1A4   AND   #4
C1A6   BEQ   loc_C1B0
C1A8   LDA   byte_2F1
C1AB   BEQ   loc_C1B0
C1AD   DEC   byte_2F1
C1B0
C1B0 loc_C1B0:                     ; ...
C1B0   LDA   word_22A+1
C1B3   BEQ   loc_C1F3
C1B5   LDA   OS_SKCTL_SKSTAT
C1B8   AND   #4
C1BA   BNE   loc_C1EE
C1BC   DEC   word_22A+1
C1BF   BNE   loc_C1F3
C1C1   LDA   byte_26D
C1C4   BNE   loc_C1F3
C1C6   LDA   byte_2DA
C1C9   STA   word_22A+1
C1CC   LDA   OS_STIMER_KBCODE
C1CF   CMP   #$9F
C1D1   BEQ   loc_C1F3
C1D3   CMP   #$83
C1D5   BEQ   loc_C1F3
C1D7   CMP   #$84
C1D9   BEQ   loc_C1F3
C1DB   CMP   #$94
C1DD   BEQ   loc_C1F3
C1DF   AND   #$3F
C1E1   CMP   #$11
C1E3   BEQ   loc_C1F3
C1E5   LDA   OS_STIMER_KBCODE
C1E8   STA   byte_2FC
C1EB   JMP   loc_C1F3
C1EE ; ---------------------------------------------------------------------------
C1EE
C1EE loc_C1EE:                     ; ...
C1EE   LDA   #0
C1F0   STA   word_22A+1
C1F3
C1F3 loc_C1F3:                     ; ...
C1F3   LDA   byte_D300
C1F6   LSR   A
C1F7   LSR   A
C1F8   LSR   A
C1F9   LSR   A
C1FA   STA   byte_279
C1FD   STA   byte_27B
C200   LDA   byte_D300
C203   AND   #$F
C205   STA   byte_278
C208   STA   byte_27A
C20B   LDA   byte_D010
C20E   STA   byte_284
C211   STA   byte_286
C214   LDA   byte_D011
C217   STA   byte_285
C21A   STA   byte_287
C21D   LDX   #3
C21F
C21F loc_C21F:                     ; ...
C21F   LDA   OS_AUDF1_POT1,X
C222   STA   $270,X
C225   STA   $274,X
C228   DEX
C229   BPL   loc_C21F
C22B   STA   byte_D20B
C22E   LDX   #2
C230   LDY   #1
C232
C232 loc_C232:                     ; ...
C232   LDA   $278,Y
C235   LSR   A
C236   LSR   A
C237   LSR   A
C238   STA   $27D,X
C23B   STA   $281,X
C23E   LDA   #0
C240   ROL   A
C241   STA   $27C,X
C244   STA   $280,X
C247   DEX
C248   DEX
C249   DEY
C24A   BPL   loc_C232
C24C   JMP   (word_224)
C24C ; End of function sub_C0DF
C24C
C24F
C24F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C24F
C24F
C24F sub_C24F:                     ; ...
C24F   JMP   (word_226)
C24F ; End of function sub_C24F
C24F
C252
C252 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C252
C252
C252 sub_C252:                     ; ...
C252   JMP   (word_228)
C252 ; End of function sub_C252
C252
C255
C255 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C255
C255
C255 sub_C255:                     ; ...
C255   LDY   $218,X
C258   BNE   loc_C262
C25A   LDY   $219,X
C25D   BEQ   loc_C26F
C25F   DEC   $219,X
C262
C262 loc_C262:                     ; ...
C262   DEC   $218,X
C265   BNE   loc_C26F
C267   LDY   $219,X
C26A   BNE   loc_C26F
C26C   LDA   #0
C26E   RTS
C26F ; ---------------------------------------------------------------------------
C26F
C26F loc_C26F:                     ; ...
C26F   LDA   #$FF
C271   RTS
C271 ; End of function sub_C255
C271
C272
C272 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C272
C272
C272 sub_C272:                     ; ...
C272   ASL   A
C273   STA   OS_INTEMP
C276   TXA
C277   LDX   #5
C279   STA   OS_WSYNC
C27C
C27C loc_C27C:                     ; ...
C27C   DEX
C27D   BNE   loc_C27C
C27F   LDX   OS_INTEMP
C282   STA   OS_VIMIRQ+1,X
C285   TYA
C286   STA   OS_VIMIRQ,X
C289   RTS
C289 ; End of function sub_C272
C289
C28A
C28A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C28A
C28A
C28A sub_C28A:                     ; ...
C28A   PLA
C28B   TAY
C28C   PLA
C28D   TAX
C28E   PLA
C28F   RTI
C28F ; End of function sub_C28A
C28F
C290
C290 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C290
C290
C290 sub_C290:                     ; ...
C290   SEI
C291   LDA   wampusColor
C294   CMP   byte_3FA
C297   BNE   loc_C2C8
C299   ROR   A
C29A   BCC   loc_C2A1
C29C   JSR   sub_C4C9
C29F   BNE   loc_C2C8
C2A1
C2A1 loc_C2A1:                     ; ...
C2A1   LDA   byte_244
C2A4   BNE   loc_C2C8
C2A6   LDA   #$FF
C2A8   BNE   loc_C2CA
C2AA
C2AA loc_C2AA:                     ; ...
C2AA   SEI
C2AB   LDX   #$8C
C2AD
C2AD loc_C2AD:                     ; ...
C2AD   DEY
C2AE   BNE   loc_C2AD
C2B0   DEX
C2B1   BNE   loc_C2AD
C2B3   LDA   byte_33D
C2B6   CMP   #$5C
C2B8   BNE   loc_C2C8
C2BA   LDA   byte_33E
C2BD   CMP   #$93
C2BF   BNE   loc_C2C8
C2C1   LDA   byte_33F
C2C4   CMP   #$25
C2C6   BEQ   sub_C290
C2C8
C2C8 loc_C2C8:                     ; ...
C2C8   LDA   #0
C2CA
C2CA loc_C2CA:                     ; ...
C2CA   STA   byte_8
C2CC   SEI
C2CD   CLD
C2CE   LDX   #$FF
C2D0   TXS
C2D1   JSR   sub_C471
C2D4   LDA   #1
C2D6   STA   byte_1
C2D8   LDA   byte_8
C2DA   BNE   loc_C32E
C2DC   LDA   #0
C2DE   LDY   #8
C2E0   STA   word_4
C2E2   STA   word_4+1
C2E4
C2E4 loc_C2E4:                     ; ...
C2E4   LDA   #$FF
C2E6   STA   (4),Y
C2E8   CMP   (4),Y
C2EA   BEQ   loc_C2EE
C2EC   LSR   byte_1
C2EE
C2EE loc_C2EE:                     ; ...
C2EE   LDA   #0
C2F0   STA   (4),Y
C2F2   CMP   (4),Y
C2F4   BEQ   loc_C2F8
C2F6   LSR   byte_1
C2F8
C2F8 loc_C2F8:                     ; ...
C2F8   INY
C2F9   BNE   loc_C2E4
C2FB   INC   word_4+1
C2FD   LDX   word_4+1
C2FF   CPX   byte_6
C301   BNE   loc_C2E4
C303   LDA   #$23
C305   STA   word_A
C307   LDA   #$F2
C309   STA   word_A+1
C30B   LDA   byte_D301
C30E   AND   #$7F
C310   STA   byte_D301
C313   JSR   loc_FF8E
C316   BCS   loc_C31D
C318   JSR   loc_FF8E
C31B   BCC   loc_C31F
C31D
C31D loc_C31D:                     ; ...
C31D   LSR   byte_1
C31F
C31F loc_C31F:                     ; ...
C31F   LDA   byte_D301
C322   ORA   #$80
C324   STA   byte_D301
C327   LDA   #$FF
C329   STA   byte_244
C32C   BNE   loc_C350
C32E
C32E loc_C32E:                     ; ...
C32E   LDX   #0
C330   LDA   byte_3EC
C333   BEQ   loc_C33C
C335   STX   byte_E
C338   STX   byte_F
C33B   TXA
C33C
C33C loc_C33C:                     ; ...
C33C   STA   $200,X
C33F   CPX   #$ED
C341   BCS   loc_C346
C343   STA   $300,X
C346
C346 loc_C346:                     ; ...
C346   DEX
C347   BNE   loc_C33C
C349   LDX   #$10
C34B
C34B loc_C34B:                     ; ...
C34B   STA   0,X
C34D   INX
C34E   BPL   loc_C34B
C350
C350 loc_C350:                     ; ...
C350   LDX   #0
C352   LDA   byte_D301
C355   AND   #2
C357   BEQ   loc_C35A
C359   INX
C35A
C35A loc_C35A:                     ; ...
C35A   STX   byte_3F8
C35D   LDA   #$5C
C35F   STA   byte_33D
C362   LDA   #$93
C364   STA   byte_33E
C367   LDA   #$25
C369   STA   byte_33F
C36C   LDA   #2
C36E   STA   byte_52
C370   LDA   #$27
C372   STA   byte_53
C374   LDA   OS_COLPM2_PAL
C377   AND   #$E
C379   BNE   loc_C383
C37B   LDA   #5
C37D   LDX   #1
C37F   LDY   #$28
C381   BNE   loc_C389
C383
C383 loc_C383:                     ; ...
C383   LDA   #6
C385   LDX   #0
C387   LDY   #$30
C389
C389 loc_C389:                     ; ...
C389   STA   byte_2DA
C38C   STX   byte_62
C38E   STY   byte_2D9
C391   LDX   #$25
C393
C393 loc_C393:                     ; ...
C393   LDA   unk_C44B,X
C396   STA   $200,X
C399   DEX
C39A   BPL   loc_C393
C39C   LDX   #$E
C39E
C39E loc_C39E:                     ; ...
C39E   LDA   unk_C42E,X
C3A1   STA   $31A,X
C3A4   DEX
C3A5   BPL   loc_C39E
C3A7   JSR   sub_C535
C3AA   CLI
C3AB   LDA   byte_1
C3AD   BNE   loc_C3C4
C3AF   LDA   byte_D301
C3B2   AND   #$7F
C3B4   STA   byte_D301
C3B7   LDA   #2
C3B9   STA   byte_2F3
C3BC   LDA   #$E0
C3BE   STA   OS_CHBAS
C3C1   JMP   loc_5002+1
C3C4 ; ---------------------------------------------------------------------------
C3C4
C3C4 loc_C3C4:                     ; ...
C3C4   LDX   #0
C3C6   STX   byte_6
C3C8   LDX   byte_2E4
C3CB   CPX   #$B0
C3CD   BCS   loc_C3DC
C3CF   LDX   byte_BF00+$FC
C3D2   BNE   loc_C3DC
C3D4   INC   byte_6
C3D6   JSR   sub_C4C9
C3D9   JSR   sub_C429
C3DC
C3DC loc_C3DC:                     ; ...
C3DC   LDA   #3
C3DE   LDX   #0
C3E0   STA   $342,X
C3E3   LDA   #$48
C3E5   STA   $344,X
C3E8   LDA   #$C4
C3EA   STA   $345,X
C3ED   LDA   #$C
C3EF   STA   $34A,X
C3F2   JSR   sub_E456
C3F5   BPL   loc_C3FA
C3F7   JMP   loc_C2AA
C3FA ; ---------------------------------------------------------------------------
C3FA
C3FA loc_C3FA:                     ; ...
C3FA   INX
C3FB   BNE   loc_C3FA
C3FD   INY
C3FE   BPL   loc_C3FA
C400   JSR   sub_C66E
C403   LDA   byte_6
C405   BEQ   loc_C40D
C407   LDA   byte_BF00+$FD
C40A   ROR   A
C40B   BCC   loc_C413
C40D
C40D loc_C40D:                     ; ...
C40D   JSR   sub_C58B
C410   JSR   sub_E739
C413
C413 loc_C413:                     ; ...
C413   LDA   #0
C415   STA   byte_244
C418   LDA   byte_6
C41A   BEQ   loc_C426
C41C   LDA   byte_BF00+$FD
C41F   AND   #4
C421   BEQ   loc_C426
C423   JMP   (byte_BF00+$FA)
C426 ; ---------------------------------------------------------------------------
C426
C426 loc_C426:                     ; ...
C426   JMP   (word_A)
C426 ; End of function sub_C290
C426
C429
C429 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C429
C429
C429 sub_C429:                     ; ...
C429   JMP   (byte_BF00+$FE)
C429 ; End of function sub_C429
C429
C429 ; ---------------------------------------------------------------------------
C42C   .BYTE $18
C42D   .BYTE $60 ; `
C42E unk_C42E:.BYTE $50 ; P        ; ...
C42F   .BYTE $30 ; 0
C430   .BYTE $E4 ; õ
C431   .BYTE $43 ; C
C432   .BYTE $40 ; @
C433   .BYTE $E4 ; õ
C434   .BYTE $45 ; E
C435   .BYTE   0
C436   .BYTE $E4 ; õ
C437   .BYTE $53 ; S
C438   .BYTE $10
C439   .BYTE $E4 ; õ
C43A   .BYTE $4B ; K
C43B   .BYTE $20
C43C   .BYTE $E4 ; õ
C43D   .BYTE $42 ; B
C43E   .BYTE $4F ; O
C43F   .BYTE $4F ; O
C440   .BYTE $54 ; T
C441   .BYTE $20
C442   .BYTE $45 ; E
C443   .BYTE $52 ; R
C444   .BYTE $52 ; R
C445   .BYTE $4F ; O
C446   .BYTE $52 ; R
C447   .BYTE $9B ; ø
C448   .BYTE $45 ; E
C449   .BYTE $3A ; :
C44A   .BYTE $9B ; ø
C44B unk_C44B:.BYTE $CE ; +        ; ...
C44C   .BYTE $C0 ; +
C44D   .BYTE $CD ; -
C44E   .BYTE $C0 ; +
C44F   .BYTE $CD ; -
C450   .BYTE $C0 ; +
C451   .BYTE $CD ; -
C452   .BYTE $C0 ; +
C453   .BYTE $19
C454   .BYTE $FC ; ³
C455   .BYTE $2C ; ,
C456   .BYTE $EB ; Ù
C457   .BYTE $AD ; ¡
C458   .BYTE $EA ; Û
C459   .BYTE $EC ; ý
C45A   .BYTE $EA ; Û
C45B   .BYTE $CD ; -
C45C   .BYTE $C0 ; +
C45D   .BYTE $CD ; -
C45E   .BYTE $C0 ; +
C45F   .BYTE $CD ; -
C460   .BYTE $C0 ; +
C461   .BYTE $30 ; 0
C462   .BYTE $C0 ; +
C463   .BYTE   0
C464   .BYTE   0
C465   .BYTE   0
C466   .BYTE   0
C467   .BYTE   0
C468   .BYTE   0
C469   .BYTE   0
C46A   .BYTE   0
C46B   .BYTE   0
C46C   .BYTE   0
C46D   .BYTE $E2 ; Ô
C46E   .BYTE $C0 ; +
C46F   .BYTE $8A ; è
C470   .BYTE $C2 ; -
C471
C471 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C471
C471
C471 sub_C471:                     ; ...
C471   LDA   wampusColor
C474   ROR   A
C475   BCC   loc_C484
C477   LDA   byte_BF00+$FC
C47A   BNE   loc_C484
C47C   LDA   byte_BF00+$FD
C47F   BPL   loc_C484
C481   JMP   (byte_BF00+$FE)
C484 ; ---------------------------------------------------------------------------
C484
C484 loc_C484:                     ; ...
C484   JSR   sub_C4DA
C487   LDA   byte_D301
C48A   ORA   #2
C48C   STA   byte_D301
C48F   LDA   byte_8
C491   BEQ   loc_C49A
C493   LDA   byte_3F8
C496   BNE   loc_C4A9
C498   BEQ   loc_C4A1
C49A
C49A loc_C49A:                     ; ...
C49A   LDA   OS_CONSOL
C49D   AND   #4
C49F   BEQ   loc_C4A9
C4A1
C4A1 loc_C4A1:                     ; ...
C4A1   LDA   byte_D301
C4A4   AND   #$FD
C4A6   STA   byte_D301
C4A9
C4A9 loc_C4A9:                     ; ...
C4A9   LDA   #0
C4AB   TAY
C4AC   STA   word_4+1
C4AE   LDA   #$28
C4B0   STA   byte_6
C4B2
C4B2 loc_C4B2:                     ; ...
C4B2   LDA   (5),Y
C4B4   EOR   #$FF
C4B6   STA   (5),Y
C4B8   CMP   (5),Y
C4BA   BNE   locret_C4C8
C4BC   EOR   #$FF
C4BE   STA   (5),Y
C4C0   CMP   (5),Y
C4C2   BNE   locret_C4C8
C4C4   INC   byte_6
C4C6   BNE   loc_C4B2
C4C8
C4C8 locret_C4C8:                  ; ...
C4C8   RTS
C4C8 ; End of function sub_C471
C4C8
C4C9
C4C9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C4C9
C4C9
C4C9 sub_C4C9:                     ; ...
C4C9   LDA   #0
C4CB   TAX
C4CC   CLC
C4CD
C4CD loc_C4CD:                     ; ...
C4CD   ADC   byte_BF00+$F0,X
C4D0   INX
C4D1   BNE   loc_C4CD
C4D3   CMP   byte_3EB
C4D6   STA   byte_3EB
C4D9   RTS
C4D9 ; End of function sub_C4C9
C4D9
C4DA
C4DA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C4DA
C4DA
C4DA sub_C4DA:                     ; ...
C4DA   LDA   #0
C4DC   TAX
C4DD   STA   byte_D303
C4E0
C4E0 loc_C4E0:                     ; ...
C4E0   STA   OS_HPOSP0_M0PF,X
C4E3   STA   OS_DMACTL,X
C4E6   STA   OS_AUDF1_POT1,X
C4E9   CPX   #1
C4EB   BEQ   loc_C4F0
C4ED   STA   byte_D300,X
C4F0
C4F0 loc_C4F0:                     ; ...
C4F0   INX
C4F1   BNE   loc_C4E0
C4F3   LDA   #$3C
C4F5   STA   byte_D303
C4F8   LDA   #$FF
C4FA   STA   byte_D301
C4FD   LDA   #$38
C4FF   STA   byte_D302
C502   STA   byte_D303
C505   LDA   #0
C507   STA   byte_D300
C50A   LDA   #$FF
C50C   STA   byte_D301
C50F   LDA   #$3C
C511   STA   byte_D302
C514   STA   byte_D303
C517   LDA   byte_D301
C51A   LDA   byte_D300
C51D   LDA   #$22
C51F   STA   OS_SKCTL_SKSTAT
C522   LDA   #$A0
C524   STA   OS_AUDC3_POT5
C527   STA   OS_AUDC4_POT7
C52A   LDA   #$28
C52C   STA   OS_AUDCTL_ALLPOT
C52F   LDA   #$FF
C531   STA   byte_D20D
C534   RTS
C534 ; End of function sub_C4DA
C534
C535
C535 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C535
C535
C535 sub_C535:                     ; ...
C535   DEC   byte_11
C537   LDA   #$92
C539   STA   byte_236
C53C   LDA   #$C0
C53E   STA   byte_237
C541   LDA   byte_6
C543   STA   byte_2E4
C546   STA   byte_2E6
C549   LDA   #0
C54B   STA   byte_2E5
C54E   LDA   #0
C550   STA   byte_2E7
C553   LDA   #7
C555   STA   byte_2E8
C558   JSR   sub_E40C
C55B   JSR   sub_E41C
C55E   JSR   sub_E42C
C561   JSR   sub_E43C
C564   JSR   sub_E44C
C567   JSR   sub_E46E
C56A   JSR   sub_E465
C56D   JSR   sub_E46B
C570   JSR   sub_E450
C573   LDA   #$6E
C575   STA   word_238
C578   LDA   #$C9
C57A   STA   word_238+1
C57D   JSR   sub_E49B
C580   LDA   OS_CONSOL
C583   AND   #1
C585   EOR   #1
C587   STA   byte_3E9
C58A   RTS
C58A ; End of function sub_C535
C58A
C58B
C58B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C58B
C58B
C58B sub_C58B:                     ; ...
C58B   LDA   byte_8
C58D   BEQ   loc_C598
C58F   LDA   byte_9
C591   AND   #1
C593   BEQ   locret_C5C8
C595   JMP   sub_C63B
C598 ; ---------------------------------------------------------------------------
C598
C598 loc_C598:                     ; ...
C598   LDA   #1
C59A   STA   byte_301
C59D   LDA   #$53
C59F   STA   byte_302
C5A2   JSR   sub_E453
C5A5   BMI   locret_C5C8
C5A7   LDA   #0
C5A9   STA   byte_30B
C5AC   LDA   #1
C5AE   STA   byte_30A
C5B1   LDA   #0
C5B3   STA   byte_304
C5B6   LDA   #4
C5B8   STA   byte_305
C5BB
C5BB loc_C5BB:                     ; ...
C5BB   JSR   sub_C659
C5BE   BPL   loc_C5C9
C5C0
C5C0 loc_C5C0:                     ; ...
C5C0   JSR   sub_C63E
C5C0 ; ---------------------------------------------------------------------------
C5C3   .BYTE $AD ; ¡
C5C4   .BYTE $EA
C5C5   .BYTE   3
C5C6   .BYTE $F0 ; ­
C5C7   .BYTE $DF ; ¯
C5C8 ; ---------------------------------------------------------------------------
C5C8
C5C8 locret_C5C8:                  ; ...
C5C8   RTS
C5C9 ; ---------------------------------------------------------------------------
C5C9
C5C9 loc_C5C9:                     ; ...
C5C9   LDX   #3
C5CB
C5CB loc_C5CB:                     ; ...
C5CB   LDA   BUFFER_CONVERT_NUMBER,X
C5CE   STA   unk_240,X
C5D1   DEX
C5D2   BPL   loc_C5CB
C5D4   LDA   byte_242
C5D7   STA   word_4
C5D9   LDA   byte_243
C5DC   STA   word_4+1
C5DE   LDA   byte_404
C5E1   STA   word_C
C5E3   LDA   byte_405
C5E6   STA   word_C+1
C5E8
C5E8 loc_C5E8:                     ; ...
C5E8   LDY   #$7F
C5EA
C5EA loc_C5EA:                     ; ...
C5EA   LDA   BUFFER_CONVERT_NUMBER,Y
C5ED   STA   (4),Y
C5EF   DEY
C5F0   BPL   loc_C5EA
C5F2   CLC
C5F3   LDA   word_4
C5F5   ADC   #$80
C5F7   STA   word_4
C5F9   LDA   word_4+1
C5FB   ADC   #0
C5FD   STA   word_4+1
C5FF   DEC   byte_241
C602   BEQ   loc_C616
C604   INC   byte_30A
C607
C607 loc_C607:                     ; ...
C607   JSR   sub_C659
C60A   BPL   loc_C5E8
C60C   JSR   sub_C63E
C60F   LDA   byte_3EA
C612   BNE   loc_C5C0
C614   BEQ   loc_C607
C616
C616 loc_C616:                     ; ...
C616   LDA   byte_3EA
C619   BEQ   loc_C61E
C61B   JSR   sub_C659
C61E
C61E loc_C61E:                     ; ...
C61E   JSR   sub_C629
C621   BCS   loc_C5C0
C623   JSR   sub_C63B
C626   INC   byte_9
C628   RTS
C628 ; End of function sub_C58B
C628
C629
C629 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C629
C629
C629 sub_C629:                     ; ...
C629   CLC
C62A   LDA   byte_242
C62D   ADC   #6
C62F   STA   word_4
C631   LDA   byte_243
C634   ADC   #0
C636   STA   word_4+1
C638   JMP   (word_4)
C638 ; End of function sub_C629
C638
C63B
C63B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C63B
C63B ; Attributes: thunk
C63B
C63B sub_C63B:                     ; ...
C63B   JMP   (word_C)
C63B ; End of function sub_C63B
C63B
C63E
C63E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C63E
C63E
C63E sub_C63E:                     ; ...
C63E   LDX   #$3D
C640   LDY   #$C4
C642   TXA
C643   LDX   #0
C645   STA   $344,X
C648   TYA
C649   STA   $345,X
C64C   LDA   #9
C64E   STA   $342,X
C651   LDA   #$FF
C653   STA   $348,X
C656   JMP   sub_E456
C656 ; End of function sub_C63E
C656
C659
C659 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C659
C659
C659 sub_C659:                     ; ...
C659
C659 ; FUNCTION CHUNK AT E47A SIZE 00000003 BYTES
C659 ; FUNCTION CHUNK AT FD7A SIZE 0000003A BYTES
C659
C659   LDA   byte_3EA
C65C   BEQ   loc_C661
C65E   JMP   loc_E47A
C661 ; ---------------------------------------------------------------------------
C661
C661 loc_C661:                     ; ...
C661   LDA   #$52
C663   STA   byte_302
C666   LDA   #1
C668   STA   byte_301
C66B   JMP   sub_E453
C66B ; End of function sub_C659
C66B
C66E
C66E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C66E
C66E
C66E sub_C66E:                     ; ...
C66E   LDA   byte_8
C670   BEQ   loc_C67B
C672   LDA   byte_9
C674   AND   #2
C676   BEQ   locret_C69F
C678   JMP   loc_C6A0
C67B ; ---------------------------------------------------------------------------
C67B
C67B loc_C67B:                     ; ...
C67B   LDA   byte_3E9
C67E   BEQ   locret_C69F
C680   LDA   #$80
C682   STA   byte_3E
C684   INC   byte_3EA
C687   JSR   sub_E47D
C68A   JSR   loc_C5BB
C68D   LDA   #0
C68F   STA   byte_3EA
C692   STA   byte_3E9
C695   ASL   byte_9
C697   LDA   word_C
C699   STA   word_2
C69B   LDA   word_C+1
C69D   STA   word_2+1
C69F
C69F locret_C69F:                  ; ...
C69F   RTS
C6A0 ; ---------------------------------------------------------------------------
C6A0
C6A0 loc_C6A0:                     ; ...
C6A0   JMP   (word_2)
C6A0 ; End of function sub_C66E
C6A0
C6A3
C6A3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C6A3
C6A3
C6A3 sub_C6A3:                     ; ...
C6A3   LDA   #$A0
C6A5   STA   byte_246
C6A8   LDA   #$80
C6AA   STA   byte_2D5
C6AD   LDA   #0
C6AF   STA   byte_2D6
C6B2   RTS
C6B2 ; End of function sub_C6A3
C6B2
C6B3
C6B3 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C6B3
C6B3
C6B3 sub_C6B3:                     ; ...
C6B3   LDA   #$31
C6B5   STA   byte_300
C6B8   LDA   byte_246
C6BB   LDX   byte_302
C6BE   CPX   #$21
C6C0   BEQ   loc_C6C4
C6C2   LDA   #7
C6C4
C6C4 loc_C6C4:                     ; ...
C6C4   STA   byte_306
C6C7   LDX   #$40
C6C9   LDA   byte_302
C6CC   CMP   #$50
C6CE   BEQ   loc_C6D4
C6D0   CMP   #$57
C6D2   BNE   loc_C6D6
C6D4
C6D4 loc_C6D4:                     ; ...
C6D4   LDX   #$80
C6D6
C6D6 loc_C6D6:                     ; ...
C6D6   CMP   #$53
C6D8   BNE   loc_C6EA
C6DA   LDA   #$EA
C6DC   STA   byte_304
C6DF   LDA   #2
C6E1   STA   byte_305
C6E4   LDY   #4
C6E6   LDA   #0
C6E8   BEQ   loc_C6F0
C6EA
C6EA loc_C6EA:                     ; ...
C6EA   LDY   byte_2D5
C6ED   LDA   byte_2D6
C6F0
C6F0 loc_C6F0:                     ; ...
C6F0   STX   byte_303
C6F3   STY   byte_308
C6F6   STA   byte_309
C6F9   JSR   unk_E459
C6FC   BPL   loc_C6FF
C6FE   RTS
C6FF ; ---------------------------------------------------------------------------
C6FF
C6FF loc_C6FF:                     ; ...
C6FF   LDA   byte_302
C702   CMP   #$53
C704   BNE   loc_C710
C706   JSR   sub_C73A
C709   LDY   #2
C70B   LDA   ($15),Y
C70D   STA   byte_246
C710
C710 loc_C710:                     ; ...
C710   LDA   byte_302
C713   CMP   #$21
C715   BNE   loc_C736
C717   JSR   sub_C73A
C71A   LDY   #$FE
C71C
C71C loc_C71C:                     ; ...
C71C   INY
C71D   INY
C71E
C71E loc_C71E:                     ; ...
C71E   LDA   ($15),Y
C720   CMP   #$FF
C722   BNE   loc_C71C
C724   INY
C725   LDA   ($15),Y
C727   INY
C728   CMP   #$FF
C72A   BNE   loc_C71E
C72C   DEY
C72D   DEY
C72E   STY   byte_308
C731   LDA   #0
C733   STA   byte_309
C736
C736 loc_C736:                     ; ...
C736   LDY   byte_303
C739   RTS
C739 ; End of function sub_C6B3
C739
C73A
C73A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C73A
C73A
C73A sub_C73A:                     ; ...
C73A   LDA   byte_304
C73D   STA   byte_15
C73F   LDA   byte_305
C742   STA   byte_16
C744   RTS
C744 ; End of function sub_C73A
C744
C745 ; ---------------------------------------------------------------------------
C745 ; START OF FUNCTION CHUNK FOR sub_E7DE
C745
C745 loc_C745:                     ; ...
C745   LDX   #5
C747
C747 loc_C747:                     ; ...
C747   LDA   #0
C749   STA   $2C9,X
C74C   DEX
C74D   BPL   loc_C747
C74F
C74F loc_C74F:                     ; ...
C74F   LDA   #0
C751   STA   byte_233
C754   JSR   sub_C7CF
C757   LDY   #$9C
C759   BCS   locret_C794
C75B   STA   byte_288
C75E   JSR   sub_C7CF
C761   LDY   #$9C
C763   BCS   locret_C794
C765   STA   byte_245
C768   LDA   byte_288
C76B   CMP   #$B
C76D   BEQ   loc_C795
C76F   ROL   A
C770   TAX
C771   LDA   unk_C8E4,X
C774   STA   word_2C9
C777   LDA   unk_C8E5,X
C77A   STA   word_2C9+1
C77D
C77D loc_C77D:                     ; ...
C77D   LDA   byte_245
C780   CMP   byte_233
C783   BEQ   loc_C74F
C785   JSR   sub_C7CF
C788   LDY   #$9C
C78A   BCS   locret_C794
C78C   JSR   sub_C7D2
C78F   INC   byte_233
C792   BNE   loc_C77D
C794
C794 locret_C794:                  ; ...
C794   RTS
C795 ; ---------------------------------------------------------------------------
C795
C795 loc_C795:                     ; ...
C795   JSR   sub_C7CF
C798   LDY   #$9C
C79A   BCS   locret_C7C8
C79C   STA   word_2C9
C79F   JSR   sub_C7CF
C7A2   LDY   #$9C
C7A4   BCS   locret_C7C8
C7A6   STA   word_2C9+1
C7A9   LDA   byte_245
C7AC   CMP   #1
C7AE   BEQ   loc_C7C6
C7B0   BCC   loc_C7C9
C7B2   CLC
C7B3   LDA   word_2C9
C7B6   ADC   byte_2D1
C7B9   TAY
C7BA   LDA   word_2C9+1
C7BD   ADC   byte_2D2
C7C0
C7C0 loc_C7C0:                     ; ...
C7C0   STY   word_2C9
C7C3   STA   word_2C9+1
C7C6
C7C6 loc_C7C6:                     ; ...
C7C6   LDY   #1
C7C8
C7C8 locret_C7C8:                  ; ...
C7C8   RTS
C7C9 ; ---------------------------------------------------------------------------
C7C9
C7C9 loc_C7C9:                     ; ...
C7C9   LDY   #0
C7CB   LDA   #0
C7CD   BEQ   loc_C7C0
C7CD ; END OF FUNCTION CHUNK FOR sub_E7DE
C7CF
C7CF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C7CF
C7CF
C7CF sub_C7CF:                     ; ...
C7CF   JMP   (word_2CF)
C7CF ; End of function sub_C7CF
C7CF
C7D2
C7D2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C7D2
C7D2
C7D2 sub_C7D2:                     ; ...
C7D2   JMP   (word_2C9)
C7D2 ; End of function sub_C7D2
C7D2
C7D2 ; ---------------------------------------------------------------------------
C7D5   .BYTE $AC ; ¼
C7D6   .BYTE $33 ; 3
C7D7   .BYTE   2
C7D8   .BYTE $C0 ; +
C7D9   .BYTE   1
C7DA   .BYTE $F0 ; ­
C7DB   .BYTE  $A
C7DC   .BYTE $B0 ; ¦
C7DD   .BYTE $73 ; s
C7DE   .BYTE $8D ; ì
C7DF   .BYTE $4A ; J
C7E0   .BYTE   2
C7E1   .BYTE $8D ; ì
C7E2   .BYTE $8E ; Ä
C7E3   .BYTE   2
C7E4   .BYTE $90 ; É
C7E5   .BYTE $6A ; j
C7E6   .BYTE $8D ; ì
C7E7   .BYTE $4B ; K
C7E8   .BYTE   2
C7E9   .BYTE $8D ; ì
C7EA   .BYTE $8F ; Å
C7EB   .BYTE   2
C7EC   .BYTE $A2 ; ó
C7ED   .BYTE   0
C7EE   .BYTE $AD ; ¡
C7EF   .BYTE $88 ; ê
C7F0   .BYTE   2
C7F1   .BYTE $F0 ; ­
C7F2   .BYTE   6
C7F3   .BYTE $C9 ; +
C7F4   .BYTE  $A
C7F5   .BYTE $F0 ; ­
C7F6   .BYTE $15
C7F7   .BYTE $A2 ; ó
C7F8   .BYTE   2
C7F9   .BYTE $18
C7FA   .BYTE $AD ; ¡
C7FB   .BYTE $4A ; J
C7FC   .BYTE   2
C7FD   .BYTE $7D ; }
C7FE   .BYTE $D1 ; Ð
C7FF   .BYTE   2
C800   .BYTE $8D ; ì
C801   .BYTE $8E ; Ä
C802   .BYTE   2
C803   .BYTE $AD ; ¡
C804   .BYTE $4B ; K
C805   .BYTE   2
C806   .BYTE $7D ; }
C807   .BYTE $D2 ; Ê
C808   .BYTE   2
C809   .BYTE $8D ; ì
C80A   .BYTE $8F ; Å
C80B   .BYTE   2
C80C   .BYTE $18
C80D   .BYTE $AD ; ¡
C80E   .BYTE $8E ; Ä
C80F   .BYTE   2
C810   .BYTE $6D ; m
C811   .BYTE $45 ; E
C812   .BYTE   2
C813   .BYTE $48 ; H
C814   .BYTE $A9 ; ®
C815   .BYTE   0
C816   .BYTE $6D ; m
C817   .BYTE $8F ; Å
C818   .BYTE   2
C819   .BYTE $A8 ; ¿
C81A   .BYTE $68 ; h
C81B   .BYTE $38 ; 8
C81C   .BYTE $E9 ; Ú
C81D   .BYTE   2
C81E   .BYTE $B0 ; ¦
C81F   .BYTE   1
C820   .BYTE $88 ; ê
C821   .BYTE $48 ; H
C822   .BYTE $98 ; ÿ
C823   .BYTE $DD ; ¦
C824   .BYTE $CC ; ¦
C825   .BYTE   2
C826   .BYTE $68 ; h
C827   .BYTE $90 ; É
C828   .BYTE $10
C829   .BYTE $D0 ; ð
C82A   .BYTE   5
C82B   .BYTE $DD ; ¦
C82C   .BYTE $CB ; -
C82D   .BYTE   2
C82E   .BYTE $90 ; É
C82F   .BYTE   9
C830   .BYTE $9D ; Ø
C831   .BYTE $CB ; -
C832   .BYTE   2
C833   .BYTE $48 ; H
C834   .BYTE $98 ; ÿ
C835   .BYTE $9D ; Ø
C836   .BYTE $CC ; ¦
C837   .BYTE   2
C838   .BYTE $68 ; h
C839   .BYTE $AE ; «
C83A   .BYTE $88 ; ê
C83B   .BYTE   2
C83C   .BYTE $E0 ; Ó
C83D   .BYTE   1
C83E   .BYTE $F0 ; ­
C83F   .BYTE $10
C840   .BYTE $CC ; ¦
C841   .BYTE $E6 ; µ
C842   .BYTE   2
C843   .BYTE $90 ; É
C844   .BYTE  $B
C845   .BYTE $D0 ; ð
C846   .BYTE   5
C847   .BYTE $CD ; -
C848   .BYTE $E5 ; Õ
C849   .BYTE   2
C84A   .BYTE $90 ; É
C84B   .BYTE   4
C84C   .BYTE $68 ; h
C84D   .BYTE $68 ; h
C84E   .BYTE $A0 ; á
C84F   .BYTE $9D ; Ø
C850   .BYTE $60 ; `
C851   .BYTE $38 ; 8
C852   .BYTE $48 ; H
C853   .BYTE $AD ; ¡
C854   .BYTE $33 ; 3
C855   .BYTE   2
C856   .BYTE $E9 ; Ú
C857   .BYTE   2
C858   .BYTE $18
C859   .BYTE $6D ; m
C85A   .BYTE $8E ; Ä
C85B   .BYTE   2
C85C   .BYTE $85 ; à
C85D   .BYTE $36 ; 6
C85E   .BYTE $A9 ; ®
C85F   .BYTE   0
C860   .BYTE $6D ; m
C861   .BYTE $8F ; Å
C862   .BYTE   2
C863   .BYTE $85 ; à
C864   .BYTE $37 ; 7
C865   .BYTE $68 ; h
C866   .BYTE $A0 ; á
C867   .BYTE   0
C868   .BYTE $91 ; æ
C869   .BYTE $36 ; 6
C86A   .BYTE $4C ; L
C86B   .BYTE $50 ; P
C86C   .BYTE $C8 ; +
C86D   .BYTE $18
C86E   .BYTE $6D ; m
C86F   .BYTE $8E ; Ä
C870   .BYTE   2
C871   .BYTE $85 ; à
C872   .BYTE $36 ; 6
C873   .BYTE $A9 ; ®
C874   .BYTE   0
C875   .BYTE $6D ; m
C876   .BYTE $8F ; Å
C877   .BYTE   2
C878   .BYTE $85 ; à
C879   .BYTE $37 ; 7
C87A   .BYTE $A0 ; á
C87B   .BYTE   0
C87C   .BYTE $B1 ; ¦
C87D   .BYTE $36 ; 6
C87E   .BYTE $18
C87F   .BYTE $6D ; m
C880   .BYTE $D1 ; Ð
C881   .BYTE   2
C882   .BYTE $91 ; æ
C883   .BYTE $36 ; 6
C884   .BYTE $E6 ; µ
C885   .BYTE $36 ; 6
C886   .BYTE $D0 ; ð
C887   .BYTE   2
C888   .BYTE $E6 ; µ
C889   .BYTE $37 ; 7
C88A   .BYTE $B1 ; ¦
C88B   .BYTE $36 ; 6
C88C   .BYTE $6D ; m
C88D   .BYTE $D2 ; Ê
C88E   .BYTE   2
C88F   .BYTE $91 ; æ
C890   .BYTE $36 ; 6
C891   .BYTE $60 ; `
C892   .BYTE $A2 ; ó
C893   .BYTE   0
C894   .BYTE $AC ; ¼
C895   .BYTE $88 ; ê
C896   .BYTE   2
C897   .BYTE $C0 ; +
C898   .BYTE   4
C899   .BYTE $90 ; É
C89A   .BYTE   2
C89B   .BYTE $A2 ; ó
C89C   .BYTE   2
C89D   .BYTE $18
C89E   .BYTE $6D ; m
C89F   .BYTE $8E ; Ä
C8A0   .BYTE   2
C8A1   .BYTE $85 ; à
C8A2   .BYTE $36 ; 6
C8A3   .BYTE $A9 ; ®
C8A4   .BYTE   0
C8A5   .BYTE $6D ; m
C8A6   .BYTE $8F ; Å
C8A7   .BYTE   2
C8A8   .BYTE $85 ; à
C8A9   .BYTE $37 ; 7
C8AA   .BYTE $A0 ; á
C8AB   .BYTE   0
C8AC   .BYTE $B1 ; ¦
C8AD   .BYTE $36 ; 6
C8AE   .BYTE $18
C8AF   .BYTE $7D ; }
C8B0   .BYTE $D1 ; Ð
C8B1   .BYTE   2
C8B2   .BYTE $91 ; æ
C8B3   .BYTE $36 ; 6
C8B4   .BYTE $60 ; `
C8B5   .BYTE $48 ; H
C8B6   .BYTE $AD ; ¡
C8B7   .BYTE $33 ; 3
C8B8   .BYTE   2
C8B9   .BYTE $6A ; j
C8BA   .BYTE $68 ; h
C8BB   .BYTE $B0 ; ¦
C8BC   .BYTE $15
C8BD   .BYTE $18
C8BE   .BYTE $6D ; m
C8BF   .BYTE $8E ; Ä
C8C0   .BYTE   2
C8C1   .BYTE $85 ; à
C8C2   .BYTE $36 ; 6
C8C3   .BYTE $A9 ; ®
C8C4   .BYTE   0
C8C5   .BYTE $6D ; m
C8C6   .BYTE $8F ; Å
C8C7   .BYTE   2
C8C8   .BYTE $85 ; à
C8C9   .BYTE $37 ; 7
C8CA   .BYTE $A0 ; á
C8CB   .BYTE   0
C8CC   .BYTE $B1 ; ¦
C8CD   .BYTE $36 ; 6
C8CE   .BYTE $8D ; ì
C8CF   .BYTE $88 ; ê
C8D0   .BYTE   2
C8D1   .BYTE $60 ; `
C8D2   .BYTE $18
C8D3   .BYTE $6D ; m
C8D4   .BYTE $D1 ; Ð
C8D5   .BYTE   2
C8D6   .BYTE $A9 ; ®
C8D7   .BYTE   0
C8D8   .BYTE $6D ; m
C8D9   .BYTE $D2 ; Ê
C8DA   .BYTE   2
C8DB   .BYTE $6D ; m
C8DC   .BYTE $88 ; ê
C8DD   .BYTE   2
C8DE   .BYTE $A0 ; á
C8DF   .BYTE   0
C8E0   .BYTE $91 ; æ
C8E1   .BYTE $36 ; 6
C8E2   .BYTE $F0 ; ­
C8E3   .BYTE $ED ; Ý
C8E4 unk_C8E4:.BYTE $D5 ; i        ; ...
C8E5 unk_C8E5:.BYTE $C7 ; Ã        ; ...
C8E6   .BYTE $D5 ; i
C8E7   .BYTE $C7 ; Ã
C8E8   .BYTE $92 ; Æ
C8E9   .BYTE $C8 ; +
C8EA   .BYTE $92 ; Æ
C8EB   .BYTE $C8 ; +
C8EC   .BYTE $92 ; Æ
C8ED   .BYTE $C8 ; +
C8EE   .BYTE $92 ; Æ
C8EF   .BYTE $C8 ; +
C8F0   .BYTE $6D ; m
C8F1   .BYTE $C8 ; +
C8F2   .BYTE $6D ; m
C8F3   .BYTE $C8 ; +
C8F4   .BYTE $B5 ; Á
C8F5   .BYTE $C8 ; +
C8F6   .BYTE $B5 ; Á
C8F7   .BYTE $C8 ; +
C8F8   .BYTE $D5 ; i
C8F9   .BYTE $C7 ; Ã
C8FA   .BYTE $95 ; ò
C8FB   .BYTE $C7 ; Ã
C8FC   .BYTE $A9 ; ®
C8FD   .BYTE $FF
C8FE   .BYTE $8D ; ì
C8FF   .BYTE $44 ; D
C900   .BYTE   2
C901   .BYTE $AD ; ¡
C902   .BYTE   1
C903   .BYTE $D3 ; Ë
C904   .BYTE $29 ; )
C905   .BYTE $7F ; 
C906   .BYTE $8D ; ì
C907   .BYTE   1
C908   .BYTE $D3 ; Ë
C909   .BYTE $4C ; L
C90A   .BYTE $83 ; â
C90B   .BYTE $E4 ; õ
C90C
C90C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C90C
C90C
C90C sub_C90C:                     ; ...
C90C   LDA   #1
C90E   STA   byte_248
C911
C911 loc_C911:                     ; ...
C911   LDA   byte_248
C914   STA   byte_D1FF
C917   LDA   byte_D803
C91A   CMP   #$80
C91C   BNE   loc_C928
C91E   LDA   loc_D80A+1
C921   CMP   #$91
C923   BNE   loc_C928
C925   JSR   loc_D818+1
C928
C928 loc_C928:                     ; ...
C928   ASL   byte_248
C92B   BNE   loc_C911
C92D   LDA   #0
C92F   STA   byte_D1FF
C932   RTS
C932 ; End of function sub_C90C
C932
C933
C933 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C933
C933
C933 sub_C933:
C933   LDA   #1
C935   STA   byte_42
C938   LDA   byte_301
C93B   PHA
C93C   LDA   byte_247
C93F   BEQ   loc_C95B
C941   LDX   #8
C943
C943 loc_C943:                     ; ...
C943   JSR   sub_C9AF
C946   BEQ   loc_C95B
C948   TXA
C949   PHA
C94A   JSR   unk_D805
C94D   PLA
C94E   TAX
C94F   BCC   loc_C943
C951   LDA   #0
C953   STA   byte_248
C956   STA   byte_D1FF
C959   BEQ   loc_C95E
C95B
C95B loc_C95B:                     ; ...
C95B   JSR   sub_E971
C95E
C95E loc_C95E:                     ; ...
C95E   PLA
C95F   STA   byte_301
C962   LDA   #0
C964   STA   byte_42
C967   STY   byte_303
C96A   LDY   byte_303
C96D   RTS
C96D ; End of function sub_C933
C96D
C96E
C96E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C96E
C96E
C96E sub_C96E:                     ; ...
C96E
C96E ; FUNCTION CHUNK AT C9DC SIZE 00000047 BYTES
C96E ; FUNCTION CHUNK AT CA63 SIZE 00000007 BYTES
C96E ; FUNCTION CHUNK AT CAA2 SIZE 0000000A BYTES
C96E
C96E   LDX   #8
C970
C970 loc_C970:                     ; ...
C970   ROR   A
C971   BCS   loc_C976
C973   DEX
C974   BNE   loc_C970
C976
C976 loc_C976:                     ; ...
C976   LDA   byte_248
C979   PHA
C97A   LDA   loc_CA1F+1,X
C97D   STA   byte_248
C980   STA   byte_D1FF
C983   JSR   sub_D808
C986   PLA
C987   STA   byte_248
C98A   STA   byte_D1FF
C98D   PLA
C98E   TAX
C98F   PLA
C990   RTI
C991 ; ---------------------------------------------------------------------------
C991   LDY   #1
C993   JMP   loc_C9DC
C996 ; ---------------------------------------------------------------------------
C996   LDY   #3
C998   JMP   loc_C9DC
C99B ; ---------------------------------------------------------------------------
C99B   LDY   #5
C99D   JMP   loc_C9DC
C9A0 ; ---------------------------------------------------------------------------
C9A0   LDY   #7
C9A2   JMP   loc_C9DC
C9A5 ; ---------------------------------------------------------------------------
C9A5   LDY   #9
C9A7   JMP   loc_C9DC
C9AA ; ---------------------------------------------------------------------------
C9AA   LDY   #$B
C9AC   JMP   loc_C9DC
C9AC ; End of function sub_C96E
C9AC
C9AF
C9AF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C9AF
C9AF
C9AF sub_C9AF:                     ; ...
C9AF   DEX
C9B0   BPL   loc_C9BB
C9B2   LDA   #0
C9B4   STA   byte_248
C9B7   STA   byte_D1FF
C9BA   RTS
C9BB ; ---------------------------------------------------------------------------
C9BB
C9BB loc_C9BB:                     ; ...
C9BB   LDA   byte_247
C9BE   AND   loc_CA21,X
C9C1   BEQ   sub_C9AF
C9C3   STA   byte_248
C9C6   STA   byte_D1FF
C9C9   RTS
C9C9 ; End of function sub_C9AF
C9C9
C9CA
C9CA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
C9CA
C9CA
C9CA sub_C9CA:                     ; ...
C9CA   LDA   loc_D80C+1,Y
C9CD   PHA
C9CE   DEY
C9CF   LDA   loc_D80C+1,Y
C9D2   PHA
C9D3   LDA   byte_24C
C9D6   LDX   byte_24D
C9D9   LDY   #$92
C9DB   RTS
C9DB ; End of function sub_C9CA
C9DB
C9DC ; ---------------------------------------------------------------------------
C9DC ; START OF FUNCTION CHUNK FOR sub_C96E
C9DC
C9DC loc_C9DC:                     ; ...
C9DC   STA   byte_24C
C9DF   STX   byte_24D
C9E2   LDA   byte_42
C9E5   PHA
C9E6   LDA   #1
C9E8   STA   byte_42
C9EB   LDX   #8
C9ED
C9ED loc_C9ED:                     ; ...
C9ED   JSR   sub_C9AF
C9F0   BEQ   loc_CA03
C9F2   TXA
C9F3   PHA
C9F4   TYA
C9F5   PHA
C9F6   JSR   sub_C9CA
C9F9   BCC   loc_CA1B
C9FB   STA   byte_24C
C9FE   PLA
C9FF   PLA
CA00   JMP   loc_CA05
CA03 ; ---------------------------------------------------------------------------
CA03
CA03 loc_CA03:                     ; ...
CA03   LDY   #$82
CA05
CA05 loc_CA05:                     ; ...
CA05   LDA   #0
CA07   STA   byte_248
CA0A   STA   byte_D1FF
CA0D   PLA
CA0E   STA   byte_42
CA11   LDA   byte_24C
CA14   STY   byte_24D
CA17   LDY   byte_24D
CA1A   RTS
CA1B ; ---------------------------------------------------------------------------
CA1B
CA1B loc_CA1B:                     ; ...
CA1B   PLA
CA1C   TAY
CA1D   PLA
CA1E   TAX
CA1F
CA1F loc_CA1F:                     ; ...
CA1F   BCC   loc_C9ED
CA21
CA21 loc_CA21:                     ; ...
CA21   BRA   loc_CA63
CA21 ; END OF FUNCTION CHUNK FOR sub_C96E
CA21 ; ---------------------------------------------------------------------------
CA23   .BYTE $20
CA24   .BYTE $10
CA25   .BYTE   8
CA26   .BYTE   4
CA27   .BYTE   2
CA28   .BYTE   1
CA29
CA29 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
CA29
CA29
CA29 sub_CA29:                     ; ...
CA29   LDX   byte_2E
CA2C   LDA   $34D,X
CA2F   JSR   sub_E7DE
CA32   BCS   loc_CA54
CA34   CLC
CA35   JSR   sub_E89E
CA38   BCS   loc_CA54
CA3A   LDX   byte_2E
CA3D   LDA   $34C,X
CA40   JSR   sub_E716
CA43   BCS   loc_CA54
CA45   LDX   byte_2E
CA48   STA   $340,X
CA4B   STA   byte_20
CA4D   LDA   #3
CA4F   STA   byte_17
CA51   JMP   loc_E55C
CA54 ; ---------------------------------------------------------------------------
CA54
CA54 loc_CA54:                     ; ...
CA54   JMP   loc_E510
CA54 ; End of function sub_CA29
CA54
CA54 ; ---------------------------------------------------------------------------
CA57   .BYTE   0
CA58   .BYTE $13
CA59   .BYTE $16
CA5A   .BYTE $D1 ; Ð
CA5B   .BYTE $E4 ; õ
CA5C   .BYTE $E4 ; õ
CA5D   .BYTE $E8 ; Þ
CA5E   .BYTE $29 ; )
CA5F   .BYTE $EB ; Ù
CA60   .BYTE $EE ; ¯
CA61   .BYTE   0
CA62   .BYTE   0
CA63 ; ---------------------------------------------------------------------------
CA63 ; START OF FUNCTION CHUNK FOR sub_C96E
CA63
CA63 loc_CA63:                     ; ...
CA63   AND   loc_2D24+1
CA66   BBR2  byte_32, loc_CAA2
CA69   BRK
CA69 ; END OF FUNCTION CHUNK FOR sub_C96E
CA69 ; ---------------------------------------------------------------------------
CA6A   .BYTE $34 ; 4
CA6B   .BYTE $25 ; %
CA6C   .BYTE $33 ; 3
CA6D   .BYTE $34 ; 4
CA6E   .BYTE   0
CA6F   .BYTE   0
CA70   .BYTE   0
CA71   .BYTE $32 ; 2
CA72   .BYTE $2F ; /
CA73   .BYTE $2D ; -
CA74   .BYTE $32 ; 2
CA75   .BYTE $21 ; !
CA76   .BYTE $2D ; -
CA77   .BYTE   0
CA78   .BYTE   0
CA79   .BYTE $2B ; +
CA7A   .BYTE $25 ; %
CA7B   .BYTE $39 ; 9
CA7C   .BYTE $22 ; "
CA7D   .BYTE $2F ; /
CA7E   .BYTE $21 ; !
CA7F   .BYTE $32 ; 2
CA80   .BYTE $24 ; $
CA81   .BYTE   0
CA82   .BYTE $34 ; 4
CA83   .BYTE $25 ; %
CA84   .BYTE $33 ; 3
CA85   .BYTE $34 ; 4
CA86   .BYTE   0
CA87   .BYTE   0
CA88   .BYTE   0
CA89   .BYTE $B2 ; ¦
CA8A   .BYTE $91 ; æ
CA8B   .BYTE   0
CA8C   .BYTE $92 ; Æ
CA8D   .BYTE   0
CA8E   .BYTE $93 ; ô
CA8F   .BYTE   0
CA90   .BYTE $94 ; ö
CA91   .BYTE   0
CA92   .BYTE $A8 ; ¿
CA93   .BYTE   0
CA94   .BYTE $A1 ; í
CA95   .BYTE   0
CA96   .BYTE $A2 ; ó
CA97   .BYTE   0
CA98   .BYTE   0
CA99   .BYTE   0
CA9A   .BYTE $5B ; [
CA9B   .BYTE   0
CA9C   .BYTE $11
CA9D   .BYTE   0
CA9E   .BYTE $12
CA9F   .BYTE   0
CAA0   .BYTE $13
CAA1   .BYTE   0
CAA2 ; ---------------------------------------------------------------------------
CAA2 ; START OF FUNCTION CHUNK FOR sub_C96E
CAA2
CAA2 loc_CAA2:                     ; ...
CAA2   TRB   byte_0
CAA4   ORA   0,X
CAA6   ASL   0,X
CAA8   RMB1  byte_0
CAAA   CLC
CAAB   BRK
CAAB ; END OF FUNCTION CHUNK FOR sub_C96E
CAAB ; ---------------------------------------------------------------------------
CAAC   .BYTE $19
CAAD   .BYTE   0
CAAE   .BYTE $10
CAAF   .BYTE   0
CAB0   .BYTE $1C
CAB1   .BYTE   0
CAB2   .BYTE $1E
CAB3   .BYTE   0
CAB4   .BYTE $A2 ; ó
CAB5   .BYTE $80 ; Ç
CAB6   .BYTE $B3 ; ¦
CAB7   .BYTE   0
CAB8   .BYTE   0
CAB9   .BYTE   0
CABA   .BYTE $FF
CABB   .BYTE $FF
CABC   .BYTE   0
CABD   .BYTE $31 ; 1
CABE   .BYTE   0
CABF   .BYTE $37 ; 7
CAC0   .BYTE   0
CAC1   .BYTE $25 ; %
CAC2   .BYTE   0
CAC3   .BYTE $32 ; 2
CAC4   .BYTE   0
CAC5   .BYTE $34 ; 4
CAC6   .BYTE   0
CAC7   .BYTE $39 ; 9
CAC8   .BYTE   0
CAC9   .BYTE $35 ; 5
CACA   .BYTE   0
CACB   .BYTE $29 ; )
CACC   .BYTE   0
CACD   .BYTE $2F ; /
CACE   .BYTE   0
CACF   .BYTE $30 ; 0
CAD0   .BYTE   0
CAD1   .BYTE  $D
CAD2   .BYTE   0
CAD3   .BYTE $1D
CAD4   .BYTE   0
CAD5   .BYTE $B2 ; ¦
CAD6   .BYTE $B4 ; ¦
CAD7   .BYTE   0
CAD8   .BYTE   0
CAD9   .BYTE   0
CADA   .BYTE $80 ; Ç
CADB   .BYTE $DC ; _
CADC   .BYTE $80 ; Ç
CADD   .BYTE   0
CADE   .BYTE $21 ; !
CADF   .BYTE   0
CAE0   .BYTE $33 ; 3
CAE1   .BYTE   0
CAE2   .BYTE $24 ; $
CAE3   .BYTE   0
CAE4   .BYTE $26 ; &
CAE5   .BYTE   0
CAE6   .BYTE $27 ; '
CAE7   .BYTE   0
CAE8   .BYTE $28 ; (
CAE9   .BYTE   0
CAEA   .BYTE $2A ; *
CAEB   .BYTE   0
CAEC   .BYTE $2B ; +
CAED   .BYTE   0
CAEE   .BYTE $2C ; ,
CAEF   .BYTE   0
CAF0   .BYTE $1B
CAF1   .BYTE   0
CAF2   .BYTE  $B
CAF3   .BYTE   0
CAF4   .BYTE  $A
CAF5   .BYTE   0
CAF6   .BYTE $A3 ; ú
CAF7   .BYTE   0
CAF8   .BYTE   0
CAF9   .BYTE   0
CAFA   .BYTE $80 ; Ç
CAFB   .BYTE $B3 ; ¦
CAFC   .BYTE $A8 ; ¿
CAFD   .BYTE $80 ; Ç
CAFE   .BYTE   0
CAFF   .BYTE $3A ; :
CB00   .BYTE   0
CB01   .BYTE $38 ; 8
CB02   .BYTE   0
CB03   .BYTE $23 ; #
CB04   .BYTE   0
CB05   .BYTE $36 ; 6
CB06   .BYTE   0
CB07   .BYTE $22 ; "
CB08   .BYTE   0
CB09   .BYTE $2E ; .
CB0A   .BYTE   0
CB0B   .BYTE $2D ; -
CB0C   .BYTE   0
CB0D   .BYTE  $C
CB0E   .BYTE   0
CB0F   .BYTE  $E
CB10   .BYTE   0
CB11   .BYTE  $F
CB12   .BYTE   0
CB13   .BYTE $80 ; Ç
CB14   .BYTE $B3 ; ¦
CB15   .BYTE $A8 ; ¿
CB16   .BYTE $80 ; Ç
CB17   .BYTE   0
CB18   .BYTE   0
CB19   .BYTE   0
CB1A   .BYTE   0
CB1B   .BYTE   0
CB1C   .BYTE   0
CB1D   .BYTE   0
CB1E   .BYTE   0
CB1F   .BYTE $80 ; Ç
CB20   .BYTE $B3 ; ¦
CB21   .BYTE $80 ; Ç
CB22   .BYTE $B0 ; ¦
CB23   .BYTE $80 ; Ç
CB24   .BYTE $A1 ; í
CB25   .BYTE $80 ; Ç
CB26   .BYTE $A3 ; ú
CB27   .BYTE $80 ; Ç
CB28   .BYTE $A5 ; Ñ
CB29   .BYTE $80 ; Ç
CB2A   .BYTE $80 ; Ç
CB2B   .BYTE $80 ; Ç
CB2C   .BYTE $A2 ; ó
CB2D   .BYTE $80 ; Ç
CB2E   .BYTE $A1 ; í
CB2F   .BYTE $80 ; Ç
CB30   .BYTE $B2 ; ¦
CB31   .BYTE $80 ; Ç
CB32   .BYTE   0
CB33   .BYTE $33 ; 3
CB34   .BYTE   0
CB35   .BYTE $30 ; 0
CB36   .BYTE   0
CB37   .BYTE $21 ; !
CB38   .BYTE   0
CB39   .BYTE $23 ; #
CB3A   .BYTE   0
CB3B   .BYTE $25 ; %
CB3C   .BYTE   0
CB3D   .BYTE   0
CB3E   .BYTE   0
CB3F   .BYTE $22 ; "
CB40   .BYTE   0
CB41   .BYTE $21 ; !
CB42   .BYTE   0
CB43   .BYTE $32 ; 2
CB44   .BYTE   0
CB45   .BYTE   0
CB46   .BYTE $33 ; 3
CB47   .BYTE $28 ; (
CB48   .BYTE   0
CB49   .BYTE $22 ; "
CB4A   .BYTE   0
CB4B   .BYTE $33 ; 3
CB4C   .BYTE   0
CB4D   .BYTE $5C ; \
CB4E   .BYTE   0
CB4F   .BYTE $36 ; 6
CB50   .BYTE $2F ; /
CB51   .BYTE $29 ; )
CB52   .BYTE $23 ; #
CB53   .BYTE $25 ; %
CB54   .BYTE   0
CB55   .BYTE   3
CB56
CB56 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
CB56
CB56
CB56 sub_CB56:                     ; ...
CB56   LDY   #$11
CB58   LDA   #0
CB5A   CLC
CB5B
CB5B loc_CB5B:                     ; ...
CB5B   ADC   ($4A),Y
CB5D   DEY
CB5E   BPL   loc_CB5B
CB60   ADC   #0
CB62   EOR   #$FF
CB64   RTS
CB64 ; End of function sub_CB56
CB64
CB64 ; ---------------------------------------------------------------------------
CB65   .BYTE   0
CB66   .BYTE   0
CB67   .BYTE   0
CB68   .BYTE   0
CB69   .BYTE   0
CB6A   .BYTE   0
CB6B   .BYTE   0
CB6C   .BYTE   0
CB6D   .BYTE   0
CB6E   .BYTE   0
CB6F   .BYTE   0
CB70   .BYTE   0
CB71   .BYTE   0
CB72   .BYTE   0
CB73   .BYTE   0
CB74   .BYTE   0
CB75   .BYTE   0
CB76   .BYTE   0
CB77   .BYTE   0
CB78   .BYTE   0
CB79   .BYTE   0
CB7A   .BYTE   0
CB7B   .BYTE   0
CB7C   .BYTE   0
CB7D   .BYTE   0
CB7E   .BYTE   0
CB7F   .BYTE   0
CB80   .BYTE   0
CB81   .BYTE   0
CB82   .BYTE   0
CB83   .BYTE   0
CB84   .BYTE   0
CB85   .BYTE   0
CB86   .BYTE   0
CB87   .BYTE   0
CB88   .BYTE   0
CB89   .BYTE   0
CB8A   .BYTE   0
CB8B   .BYTE   0
CB8C   .BYTE   0
CB8D   .BYTE   0
CB8E   .BYTE   0
CB8F   .BYTE   0
CB90   .BYTE   0
CB91   .BYTE   0
CB92   .BYTE   0
CB93   .BYTE   0
CB94   .BYTE   0
CB95   .BYTE   0
CB96   .BYTE   0
CB97   .BYTE   0
CB98   .BYTE   0
CB99   .BYTE   0
CB9A   .BYTE   0
CB9B   .BYTE   0
CB9C   .BYTE   0
CB9D   .BYTE   0
CB9E   .BYTE   0
CB9F   .BYTE   0
CBA0   .BYTE   0
CBA1   .BYTE   0
CBA2   .BYTE   0
CBA3   .BYTE   0
CBA4   .BYTE   0
CBA5   .BYTE   0
CBA6   .BYTE   0
CBA7   .BYTE   0
CBA8   .BYTE   0
CBA9   .BYTE   0
CBAA   .BYTE   0
CBAB   .BYTE   0
CBAC   .BYTE   0
CBAD   .BYTE   0
CBAE   .BYTE   0
CBAF   .BYTE   0
CBB0   .BYTE   0
CBB1   .BYTE   0
CBB2   .BYTE   0
CBB3   .BYTE   0
CBB4   .BYTE   0
CBB5   .BYTE   0
CBB6   .BYTE   0
CBB7   .BYTE   0
CBB8   .BYTE   0
CBB9   .BYTE   0
CBBA   .BYTE   0
CBBB   .BYTE   0
CBBC   .BYTE   0
CBBD   .BYTE   0
CBBE   .BYTE   0
CBBF   .BYTE   0
CBC0   .BYTE   0
CBC1   .BYTE   0
CBC2   .BYTE   0
CBC3   .BYTE   0
CBC4   .BYTE   0
CBC5   .BYTE   0
CBC6   .BYTE   0
CBC7   .BYTE   0
CBC8   .BYTE   0
CBC9   .BYTE   0
CBCA   .BYTE   0
CBCB   .BYTE   0
CBCC   .BYTE   0
CBCD   .BYTE   0
CBCE   .BYTE   0
CBCF   .BYTE   0
CBD0   .BYTE   0
CBD1   .BYTE   0
CBD2   .BYTE   0
CBD3   .BYTE   0
CBD4   .BYTE   0
CBD5   .BYTE   0
CBD6   .BYTE   0
CBD7   .BYTE   0
CBD8   .BYTE   0
CBD9   .BYTE   0
CBDA   .BYTE   0
CBDB   .BYTE   0
CBDC   .BYTE   0
CBDD   .BYTE   0
CBDE   .BYTE   0
CBDF   .BYTE   0
CBE0   .BYTE   0
CBE1   .BYTE   0
CBE2   .BYTE   0
CBE3   .BYTE   0
CBE4   .BYTE   0
CBE5   .BYTE   0
CBE6   .BYTE   0
CBE7   .BYTE   0
CBE8   .BYTE   0
CBE9   .BYTE   0
CBEA   .BYTE   0
CBEB   .BYTE   0
CBEC   .BYTE   0
CBED   .BYTE   0
CBEE   .BYTE   0
CBEF   .BYTE   0
CBF0   .BYTE   0
CBF1   .BYTE   0
CBF2   .BYTE   0
CBF3   .BYTE   0
CBF4   .BYTE   0
CBF5   .BYTE   0
CBF6   .BYTE   0
CBF7   .BYTE   0
CBF8   .BYTE   0
CBF9   .BYTE   0
CBFA   .BYTE   0
CBFB   .BYTE   0
CBFC   .BYTE   0
CBFD   .BYTE   0
CBFE   .BYTE   0
CBFF   .BYTE   0
CC00   .BYTE   0
CC01   .BYTE   0
CC02   .BYTE   0
CC03   .BYTE   0
CC04   .BYTE   0
CC05   .BYTE   0
CC06   .BYTE   0
CC07   .BYTE   0
CC08   .BYTE   0
CC09   .BYTE $18
CC0A   .BYTE $18
CC0B   .BYTE $18
CC0C   .BYTE $18
CC0D   .BYTE   0
CC0E   .BYTE $18
CC0F   .BYTE   0
CC10   .BYTE   0
CC11   .BYTE $66 ; f
CC12   .BYTE $66 ; f
CC13   .BYTE $66 ; f
CC14   .BYTE   0
CC15   .BYTE   0
CC16   .BYTE   0
CC17   .BYTE   0
CC18   .BYTE   0
CC19   .BYTE $66 ; f
CC1A   .BYTE $FF
CC1B   .BYTE $66 ; f
CC1C   .BYTE $66 ; f
CC1D   .BYTE $FF
CC1E   .BYTE $66 ; f
CC1F   .BYTE   0
CC20   .BYTE $18
CC21   .BYTE $3E ; >
CC22   .BYTE $60 ; `
CC23   .BYTE $3C ; <
CC24   .BYTE   6
CC25   .BYTE $7C ; |
CC26   .BYTE $18
CC27   .BYTE   0
CC28   .BYTE   0
CC29   .BYTE $66 ; f
CC2A   .BYTE $6C ; l
CC2B   .BYTE $18
CC2C   .BYTE $30 ; 0
CC2D   .BYTE $66 ; f
CC2E   .BYTE $46 ; F
CC2F   .BYTE   0
CC30   .BYTE $1C
CC31   .BYTE $36 ; 6
CC32   .BYTE $1C
CC33   .BYTE $38 ; 8
CC34   .BYTE $6F ; o
CC35   .BYTE $66 ; f
CC36   .BYTE $3B ; ;
CC37   .BYTE   0
CC38   .BYTE   0
CC39   .BYTE $18
CC3A   .BYTE $18
CC3B   .BYTE $18
CC3C   .BYTE   0
CC3D   .BYTE   0
CC3E   .BYTE   0
CC3F   .BYTE   0
CC40   .BYTE   0
CC41   .BYTE  $E
CC42   .BYTE $1C
CC43   .BYTE $18
CC44   .BYTE $18
CC45   .BYTE $1C
CC46   .BYTE  $E
CC47   .BYTE   0
CC48   .BYTE   0
CC49   .BYTE $70 ; p
CC4A   .BYTE $38 ; 8
CC4B   .BYTE $18
CC4C   .BYTE $18
CC4D   .BYTE $38 ; 8
CC4E   .BYTE $70 ; p
CC4F   .BYTE   0
CC50   .BYTE   0
CC51   .BYTE $66 ; f
CC52   .BYTE $3C ; <
CC53   .BYTE $FF
CC54   .BYTE $3C ; <
CC55   .BYTE $66 ; f
CC56   .BYTE   0
CC57   .BYTE   0
CC58   .BYTE   0
CC59   .BYTE $18
CC5A   .BYTE $18
CC5B   .BYTE $7E ; ~
CC5C   .BYTE $18
CC5D   .BYTE $18
CC5E   .BYTE   0
CC5F   .BYTE   0
CC60   .BYTE   0
CC61   .BYTE   0
CC62   .BYTE   0
CC63   .BYTE   0
CC64   .BYTE   0
CC65   .BYTE $18
CC66   .BYTE $18
CC67   .BYTE $30 ; 0
CC68   .BYTE   0
CC69   .BYTE   0
CC6A   .BYTE   0
CC6B   .BYTE $7E ; ~
CC6C   .BYTE   0
CC6D   .BYTE   0
CC6E   .BYTE   0
CC6F   .BYTE   0
CC70   .BYTE   0
CC71   .BYTE   0
CC72   .BYTE   0
CC73   .BYTE   0
CC74   .BYTE   0
CC75   .BYTE $18
CC76   .BYTE $18
CC77   .BYTE   0
CC78   .BYTE   0
CC79   .BYTE   6
CC7A   .BYTE  $C
CC7B   .BYTE $18
CC7C   .BYTE $30 ; 0
CC7D   .BYTE $60 ; `
CC7E   .BYTE $40 ; @
CC7F   .BYTE   0
CC80   .BYTE   0
CC81   .BYTE $3C ; <
CC82   .BYTE $66 ; f
CC83   .BYTE $6E ; n
CC84   .BYTE $76 ; v
CC85   .BYTE $66 ; f
CC86   .BYTE $3C ; <
CC87   .BYTE   0
CC88   .BYTE   0
CC89   .BYTE $18
CC8A   .BYTE $38 ; 8
CC8B   .BYTE $18
CC8C   .BYTE $18
CC8D   .BYTE $18
CC8E   .BYTE $7E ; ~
CC8F   .BYTE   0
CC90   .BYTE   0
CC91   .BYTE $3C ; <
CC92   .BYTE $66 ; f
CC93   .BYTE  $C
CC94   .BYTE $18
CC95   .BYTE $30 ; 0
CC96   .BYTE $7E ; ~
CC97   .BYTE   0
CC98   .BYTE   0
CC99   .BYTE $7E ; ~
CC9A   .BYTE  $C
CC9B   .BYTE $18
CC9C   .BYTE  $C
CC9D   .BYTE $66 ; f
CC9E   .BYTE $3C ; <
CC9F   .BYTE   0
CCA0   .BYTE   0
CCA1   .BYTE  $C
CCA2   .BYTE $1C
CCA3   .BYTE $3C ; <
CCA4   .BYTE $6C ; l
CCA5   .BYTE $7E ; ~
CCA6   .BYTE  $C
CCA7   .BYTE   0
CCA8   .BYTE   0
CCA9   .BYTE $7E ; ~
CCAA   .BYTE $60 ; `
CCAB   .BYTE $7C ; |
CCAC   .BYTE   6
CCAD   .BYTE $66 ; f
CCAE   .BYTE $3C ; <
CCAF   .BYTE   0
CCB0   .BYTE   0
CCB1   .BYTE $3C ; <
CCB2   .BYTE $60 ; `
CCB3   .BYTE $7C ; |
CCB4   .BYTE $66 ; f
CCB5   .BYTE $66 ; f
CCB6   .BYTE $3C ; <
CCB7   .BYTE   0
CCB8   .BYTE   0
CCB9   .BYTE $7E ; ~
CCBA   .BYTE   6
CCBB   .BYTE  $C
CCBC   .BYTE $18
CCBD   .BYTE $30 ; 0
CCBE   .BYTE $30 ; 0
CCBF   .BYTE   0
CCC0   .BYTE   0
CCC1   .BYTE $3C ; <
CCC2   .BYTE $66 ; f
CCC3   .BYTE $3C ; <
CCC4   .BYTE $66 ; f
CCC5   .BYTE $66 ; f
CCC6   .BYTE $3C ; <
CCC7   .BYTE   0
CCC8   .BYTE   0
CCC9   .BYTE $3C ; <
CCCA   .BYTE $66 ; f
CCCB   .BYTE $3E ; >
CCCC   .BYTE   6
CCCD   .BYTE  $C
CCCE   .BYTE $38 ; 8
CCCF   .BYTE   0
CCD0   .BYTE   0
CCD1   .BYTE   0
CCD2   .BYTE $18
CCD3   .BYTE $18
CCD4   .BYTE   0
CCD5   .BYTE $18
CCD6   .BYTE $18
CCD7   .BYTE   0
CCD8   .BYTE   0
CCD9   .BYTE   0
CCDA   .BYTE $18
CCDB   .BYTE $18
CCDC   .BYTE   0
CCDD   .BYTE $18
CCDE   .BYTE $18
CCDF   .BYTE $30 ; 0
CCE0   .BYTE   6
CCE1   .BYTE  $C
CCE2   .BYTE $18
CCE3   .BYTE $30 ; 0
CCE4   .BYTE $18
CCE5   .BYTE  $C
CCE6   .BYTE   6
CCE7   .BYTE   0
CCE8   .BYTE   0
CCE9   .BYTE   0
CCEA   .BYTE $7E ; ~
CCEB   .BYTE   0
CCEC   .BYTE   0
CCED   .BYTE $7E ; ~
CCEE   .BYTE   0
CCEF   .BYTE   0
CCF0   .BYTE $60 ; `
CCF1   .BYTE $30 ; 0
CCF2   .BYTE $18
CCF3   .BYTE  $C
CCF4   .BYTE $18
CCF5   .BYTE $30 ; 0
CCF6   .BYTE $60 ; `
CCF7   .BYTE   0
CCF8   .BYTE   0
CCF9   .BYTE $3C ; <
CCFA   .BYTE $66 ; f
CCFB   .BYTE  $C
CCFC   .BYTE $18
CCFD   .BYTE   0
CCFE   .BYTE $18
CCFF   .BYTE   0
CD00   .BYTE   0
CD01   .BYTE $3C ; <
CD02   .BYTE $66 ; f
CD03   .BYTE $6E ; n
CD04   .BYTE $6E ; n
CD05   .BYTE $60 ; `
CD06   .BYTE $3E ; >
CD07   .BYTE   0
CD08   .BYTE   0
CD09   .BYTE $18
CD0A   .BYTE $3C ; <
CD0B   .BYTE $66 ; f
CD0C   .BYTE $66 ; f
CD0D   .BYTE $7E ; ~
CD0E   .BYTE $66 ; f
CD0F   .BYTE   0
CD10   .BYTE   0
CD11   .BYTE $7C ; |
CD12   .BYTE $66 ; f
CD13   .BYTE $7C ; |
CD14   .BYTE $66 ; f
CD15   .BYTE $66 ; f
CD16   .BYTE $7C ; |
CD17   .BYTE   0
CD18   .BYTE   0
CD19   .BYTE $3C ; <
CD1A   .BYTE $66 ; f
CD1B   .BYTE $60 ; `
CD1C   .BYTE $60 ; `
CD1D   .BYTE $66 ; f
CD1E   .BYTE $3C ; <
CD1F   .BYTE   0
CD20   .BYTE   0
CD21   .BYTE $78 ; x
CD22   .BYTE $6C ; l
CD23   .BYTE $66 ; f
CD24   .BYTE $66 ; f
CD25   .BYTE $6C ; l
CD26   .BYTE $78 ; x
CD27   .BYTE   0
CD28   .BYTE   0
CD29   .BYTE $7E ; ~
CD2A   .BYTE $60 ; `
CD2B   .BYTE $7C ; |
CD2C   .BYTE $60 ; `
CD2D   .BYTE $60 ; `
CD2E   .BYTE $7E ; ~
CD2F   .BYTE   0
CD30   .BYTE   0
CD31   .BYTE $7E ; ~
CD32   .BYTE $60 ; `
CD33   .BYTE $7C ; |
CD34   .BYTE $60 ; `
CD35   .BYTE $60 ; `
CD36   .BYTE $60 ; `
CD37   .BYTE   0
CD38   .BYTE   0
CD39   .BYTE $3E ; >
CD3A   .BYTE $60 ; `
CD3B   .BYTE $60 ; `
CD3C   .BYTE $6E ; n
CD3D   .BYTE $66 ; f
CD3E   .BYTE $3E ; >
CD3F   .BYTE   0
CD40   .BYTE   0
CD41   .BYTE $66 ; f
CD42   .BYTE $66 ; f
CD43   .BYTE $7E ; ~
CD44   .BYTE $66 ; f
CD45   .BYTE $66 ; f
CD46   .BYTE $66 ; f
CD47   .BYTE   0
CD48   .BYTE   0
CD49   .BYTE $7E ; ~
CD4A   .BYTE $18
CD4B   .BYTE $18
CD4C   .BYTE $18
CD4D   .BYTE $18
CD4E   .BYTE $7E ; ~
CD4F   .BYTE   0
CD50   .BYTE   0
CD51   .BYTE   6
CD52   .BYTE   6
CD53   .BYTE   6
CD54   .BYTE   6
CD55   .BYTE $66 ; f
CD56   .BYTE $3C ; <
CD57   .BYTE   0
CD58   .BYTE   0
CD59   .BYTE $66 ; f
CD5A   .BYTE $6C ; l
CD5B   .BYTE $78 ; x
CD5C   .BYTE $78 ; x
CD5D   .BYTE $6C ; l
CD5E   .BYTE $66 ; f
CD5F   .BYTE   0
CD60   .BYTE   0
CD61   .BYTE $60 ; `
CD62   .BYTE $60 ; `
CD63   .BYTE $60 ; `
CD64   .BYTE $60 ; `
CD65   .BYTE $60 ; `
CD66   .BYTE $7E ; ~
CD67   .BYTE   0
CD68   .BYTE   0
CD69   .BYTE $63 ; c
CD6A   .BYTE $77 ; w
CD6B   .BYTE $7F ; 
CD6C   .BYTE $6B ; k
CD6D   .BYTE $63 ; c
CD6E   .BYTE $63 ; c
CD6F   .BYTE   0
CD70   .BYTE   0
CD71   .BYTE $66 ; f
CD72   .BYTE $76 ; v
CD73   .BYTE $7E ; ~
CD74   .BYTE $7E ; ~
CD75   .BYTE $6E ; n
CD76   .BYTE $66 ; f
CD77   .BYTE   0
CD78   .BYTE   0
CD79   .BYTE $3C ; <
CD7A   .BYTE $66 ; f
CD7B   .BYTE $66 ; f
CD7C   .BYTE $66 ; f
CD7D   .BYTE $66 ; f
CD7E   .BYTE $3C ; <
CD7F   .BYTE   0
CD80   .BYTE   0
CD81   .BYTE $7C ; |
CD82   .BYTE $66 ; f
CD83   .BYTE $66 ; f
CD84   .BYTE $7C ; |
CD85   .BYTE $60 ; `
CD86   .BYTE $60 ; `
CD87   .BYTE   0
CD88   .BYTE   0
CD89   .BYTE $3C ; <
CD8A   .BYTE $66 ; f
CD8B   .BYTE $66 ; f
CD8C   .BYTE $66 ; f
CD8D   .BYTE $6C ; l
CD8E   .BYTE $36 ; 6
CD8F   .BYTE   0
CD90   .BYTE   0
CD91   .BYTE $7C ; |
CD92   .BYTE $66 ; f
CD93   .BYTE $66 ; f
CD94   .BYTE $7C ; |
CD95   .BYTE $6C ; l
CD96   .BYTE $66 ; f
CD97   .BYTE   0
CD98   .BYTE   0
CD99   .BYTE $3C ; <
CD9A   .BYTE $60 ; `
CD9B   .BYTE $3C ; <
CD9C   .BYTE   6
CD9D   .BYTE   6
CD9E   .BYTE $3C ; <
CD9F   .BYTE   0
CDA0   .BYTE   0
CDA1   .BYTE $7E ; ~
CDA2   .BYTE $18
CDA3   .BYTE $18
CDA4   .BYTE $18
CDA5   .BYTE $18
CDA6   .BYTE $18
CDA7   .BYTE   0
CDA8   .BYTE   0
CDA9   .BYTE $66 ; f
CDAA   .BYTE $66 ; f
CDAB   .BYTE $66 ; f
CDAC   .BYTE $66 ; f
CDAD   .BYTE $66 ; f
CDAE   .BYTE $7E ; ~
CDAF   .BYTE   0
CDB0   .BYTE   0
CDB1   .BYTE $66 ; f
CDB2   .BYTE $66 ; f
CDB3   .BYTE $66 ; f
CDB4   .BYTE $66 ; f
CDB5   .BYTE $3C ; <
CDB6   .BYTE $18
CDB7   .BYTE   0
CDB8   .BYTE   0
CDB9   .BYTE $63 ; c
CDBA   .BYTE $63 ; c
CDBB   .BYTE $6B ; k
CDBC   .BYTE $7F ; 
CDBD   .BYTE $77 ; w
CDBE   .BYTE $63 ; c
CDBF   .BYTE   0
CDC0   .BYTE   0
CDC1   .BYTE $66 ; f
CDC2   .BYTE $66 ; f
CDC3   .BYTE $3C ; <
CDC4   .BYTE $3C ; <
CDC5   .BYTE $66 ; f
CDC6   .BYTE $66 ; f
CDC7   .BYTE   0
CDC8   .BYTE   0
CDC9   .BYTE $66 ; f
CDCA   .BYTE $66 ; f
CDCB   .BYTE $3C ; <
CDCC   .BYTE $18
CDCD   .BYTE $18
CDCE   .BYTE $18
CDCF   .BYTE   0
CDD0   .BYTE   0
CDD1   .BYTE $7E ; ~
CDD2   .BYTE  $C
CDD3   .BYTE $18
CDD4   .BYTE $30 ; 0
CDD5   .BYTE $60 ; `
CDD6   .BYTE $7E ; ~
CDD7   .BYTE   0
CDD8   .BYTE   0
CDD9   .BYTE $1E
CDDA   .BYTE $18
CDDB   .BYTE $18
CDDC   .BYTE $18
CDDD   .BYTE $18
CDDE   .BYTE $1E
CDDF   .BYTE   0
CDE0   .BYTE   0
CDE1   .BYTE $40 ; @
CDE2   .BYTE $60 ; `
CDE3   .BYTE $30 ; 0
CDE4   .BYTE $18
CDE5   .BYTE  $C
CDE6   .BYTE   6
CDE7   .BYTE   0
CDE8   .BYTE   0
CDE9   .BYTE $78 ; x
CDEA   .BYTE $18
CDEB   .BYTE $18
CDEC   .BYTE $18
CDED   .BYTE $18
CDEE   .BYTE $78 ; x
CDEF   .BYTE   0
CDF0   .BYTE   0
CDF1   .BYTE   8
CDF2   .BYTE $1C
CDF3   .BYTE $36 ; 6
CDF4   .BYTE $63 ; c
CDF5   .BYTE   0
CDF6   .BYTE   0
CDF7   .BYTE   0
CDF8   .BYTE   0
CDF9   .BYTE   0
CDFA   .BYTE   0
CDFB   .BYTE   0
CDFC   .BYTE   0
CDFD   .BYTE   0
CDFE   .BYTE $FF
CDFF   .BYTE   0
CE00   .BYTE  $C
CE01   .BYTE $18
CE02   .BYTE $3C ; <
CE03   .BYTE   6
CE04   .BYTE $3E ; >
CE05   .BYTE $66 ; f
CE06   .BYTE $3E ; >
CE07   .BYTE   0
CE08   .BYTE $30 ; 0
CE09   .BYTE $18
CE0A   .BYTE   0
CE0B   .BYTE $66 ; f
CE0C   .BYTE $66 ; f
CE0D   .BYTE $66 ; f
CE0E   .BYTE $3E ; >
CE0F   .BYTE   0
CE10   .BYTE $36 ; 6
CE11   .BYTE $6C ; l
CE12   .BYTE   0
CE13   .BYTE $76 ; v
CE14   .BYTE $76 ; v
CE15   .BYTE $7E ; ~
CE16   .BYTE $6E ; n
CE17   .BYTE   0
CE18   .BYTE  $C
CE19   .BYTE $18
CE1A   .BYTE $7E ; ~
CE1B   .BYTE $60 ; `
CE1C   .BYTE $7C ; |
CE1D   .BYTE $60 ; `
CE1E   .BYTE $7E ; ~
CE1F   .BYTE   0
CE20   .BYTE   0
CE21   .BYTE   0
CE22   .BYTE $3C ; <
CE23   .BYTE $60 ; `
CE24   .BYTE $60 ; `
CE25   .BYTE $3C ; <
CE26   .BYTE $18
CE27   .BYTE $30 ; 0
CE28   .BYTE $3C ; <
CE29   .BYTE $66 ; f
CE2A   .BYTE   0
CE2B   .BYTE $3C ; <
CE2C   .BYTE $66 ; f
CE2D   .BYTE $66 ; f
CE2E   .BYTE $3C ; <
CE2F   .BYTE   0
CE30   .BYTE $30 ; 0
CE31   .BYTE $18
CE32   .BYTE   0
CE33   .BYTE $3C ; <
CE34   .BYTE $66 ; f
CE35   .BYTE $66 ; f
CE36   .BYTE $3C ; <
CE37   .BYTE   0
CE38   .BYTE $30 ; 0
CE39   .BYTE $18
CE3A   .BYTE   0
CE3B   .BYTE $38 ; 8
CE3C   .BYTE $18
CE3D   .BYTE $18
CE3E   .BYTE $3C ; <
CE3F   .BYTE   0
CE40   .BYTE $1C
CE41   .BYTE $30 ; 0
CE42   .BYTE $30 ; 0
CE43   .BYTE $78 ; x
CE44   .BYTE $30 ; 0
CE45   .BYTE $30 ; 0
CE46   .BYTE $7E ; ~
CE47   .BYTE   0
CE48   .BYTE   0
CE49   .BYTE $66 ; f
CE4A   .BYTE   0
CE4B   .BYTE $38 ; 8
CE4C   .BYTE $18
CE4D   .BYTE $18
CE4E   .BYTE $3C ; <
CE4F   .BYTE   0
CE50   .BYTE   0
CE51   .BYTE $66 ; f
CE52   .BYTE   0
CE53   .BYTE $66 ; f
CE54   .BYTE $66 ; f
CE55   .BYTE $66 ; f
CE56   .BYTE $3E ; >
CE57   .BYTE   0
CE58   .BYTE $36 ; 6
CE59   .BYTE   0
CE5A   .BYTE $3C ; <
CE5B   .BYTE   6
CE5C   .BYTE $3E ; >
CE5D   .BYTE $66 ; f
CE5E   .BYTE $3E ; >
CE5F   .BYTE   0
CE60   .BYTE $66 ; f
CE61   .BYTE   0
CE62   .BYTE $3C ; <
CE63   .BYTE $66 ; f
CE64   .BYTE $66 ; f
CE65   .BYTE $66 ; f
CE66   .BYTE $3C ; <
CE67   .BYTE   0
CE68   .BYTE  $C
CE69   .BYTE $18
CE6A   .BYTE   0
CE6B   .BYTE $66 ; f
CE6C   .BYTE $66 ; f
CE6D   .BYTE $66 ; f
CE6E   .BYTE $3E ; >
CE6F   .BYTE   0
CE70   .BYTE  $C
CE71   .BYTE $18
CE72   .BYTE   0
CE73   .BYTE $3C ; <
CE74   .BYTE $66 ; f
CE75   .BYTE $66 ; f
CE76   .BYTE $3C ; <
CE77   .BYTE   0
CE78   .BYTE   0
CE79   .BYTE $66 ; f
CE7A   .BYTE   0
CE7B   .BYTE $3C ; <
CE7C   .BYTE $66 ; f
CE7D   .BYTE $66 ; f
CE7E   .BYTE $3C ; <
CE7F   .BYTE   0
CE80   .BYTE $66 ; f
CE81   .BYTE   0
CE82   .BYTE $66 ; f
CE83   .BYTE $66 ; f
CE84   .BYTE $66 ; f
CE85   .BYTE $66 ; f
CE86   .BYTE $7E ; ~
CE87   .BYTE   0
CE88   .BYTE $3C ; <
CE89   .BYTE $66 ; f
CE8A   .BYTE $1C
CE8B   .BYTE   6
CE8C   .BYTE $3E ; >
CE8D   .BYTE $66 ; f
CE8E   .BYTE $3E ; >
CE8F   .BYTE   0
CE90   .BYTE $3C ; <
CE91   .BYTE $66 ; f
CE92   .BYTE   0
CE93   .BYTE $66 ; f
CE94   .BYTE $66 ; f
CE95   .BYTE $66 ; f
CE96   .BYTE $3E ; >
CE97   .BYTE   0
CE98   .BYTE $3C ; <
CE99   .BYTE $66 ; f
CE9A   .BYTE   0
CE9B   .BYTE $38 ; 8
CE9C   .BYTE $18
CE9D   .BYTE $18
CE9E   .BYTE $3C ; <
CE9F   .BYTE   0
CEA0   .BYTE  $C
CEA1   .BYTE $18
CEA2   .BYTE $3C ; <
CEA3   .BYTE $66 ; f
CEA4   .BYTE $7E ; ~
CEA5   .BYTE $60 ; `
CEA6   .BYTE $3C ; <
CEA7   .BYTE   0
CEA8   .BYTE $30 ; 0
CEA9   .BYTE $18
CEAA   .BYTE $3C ; <
CEAB   .BYTE $66 ; f
CEAC   .BYTE $7E ; ~
CEAD   .BYTE $60 ; `
CEAE   .BYTE $3C ; <
CEAF   .BYTE   0
CEB0   .BYTE $36 ; 6
CEB1   .BYTE $6C ; l
CEB2   .BYTE   0
CEB3   .BYTE $7C ; |
CEB4   .BYTE $66 ; f
CEB5   .BYTE $66 ; f
CEB6   .BYTE $66 ; f
CEB7   .BYTE   0
CEB8   .BYTE $3C ; <
CEB9   .BYTE $C3 ; +
CEBA   .BYTE $3C ; <
CEBB   .BYTE $66 ; f
CEBC   .BYTE $7E ; ~
CEBD   .BYTE $60 ; `
CEBE   .BYTE $3C ; <
CEBF   .BYTE   0
CEC0   .BYTE $18
CEC1   .BYTE   0
CEC2   .BYTE $3C ; <
CEC3   .BYTE   6
CEC4   .BYTE $3E ; >
CEC5   .BYTE $66 ; f
CEC6   .BYTE $3E ; >
CEC7   .BYTE   0
CEC8   .BYTE $30 ; 0
CEC9   .BYTE $18
CECA   .BYTE $3C ; <
CECB   .BYTE   6
CECC   .BYTE $3E ; >
CECD   .BYTE $66 ; f
CECE   .BYTE $3E ; >
CECF   .BYTE   0
CED0   .BYTE $18
CED1   .BYTE   0
CED2   .BYTE $18
CED3   .BYTE $3C ; <
CED4   .BYTE $66 ; f
CED5   .BYTE $7E ; ~
CED6   .BYTE $66 ; f
CED7   .BYTE   0
CED8   .BYTE $78 ; x
CED9   .BYTE $60 ; `
CEDA   .BYTE $78 ; x
CEDB   .BYTE $60 ; `
CEDC   .BYTE $7E ; ~
CEDD   .BYTE $18
CEDE   .BYTE $1E
CEDF   .BYTE   0
CEE0   .BYTE   0
CEE1   .BYTE $18
CEE2   .BYTE $3C ; <
CEE3   .BYTE $7E ; ~
CEE4   .BYTE $18
CEE5   .BYTE $18
CEE6   .BYTE $18
CEE7   .BYTE   0
CEE8   .BYTE   0
CEE9   .BYTE $18
CEEA   .BYTE $18
CEEB   .BYTE $18
CEEC   .BYTE $7E ; ~
CEED   .BYTE $3C ; <
CEEE   .BYTE $18
CEEF   .BYTE   0
CEF0   .BYTE   0
CEF1   .BYTE $18
CEF2   .BYTE $30 ; 0
CEF3   .BYTE $7E ; ~
CEF4   .BYTE $30 ; 0
CEF5   .BYTE $18
CEF6   .BYTE   0
CEF7   .BYTE   0
CEF8   .BYTE   0
CEF9   .BYTE $18
CEFA   .BYTE  $C
CEFB   .BYTE $7E ; ~
CEFC   .BYTE  $C
CEFD   .BYTE $18
CEFE   .BYTE   0
CEFF   .BYTE   0
CF00   .BYTE $18
CF01   .BYTE   0
CF02   .BYTE $18
CF03   .BYTE $18
CF04   .BYTE $18
CF05   .BYTE $18
CF06   .BYTE $18
CF07   .BYTE   0
CF08   .BYTE   0
CF09   .BYTE   0
CF0A   .BYTE $3C ; <
CF0B   .BYTE   6
CF0C   .BYTE $3E ; >
CF0D   .BYTE $66 ; f
CF0E   .BYTE $3E ; >
CF0F   .BYTE   0
CF10   .BYTE   0
CF11   .BYTE $60 ; `
CF12   .BYTE $60 ; `
CF13   .BYTE $7C ; |
CF14   .BYTE $66 ; f
CF15   .BYTE $66 ; f
CF16   .BYTE $7C ; |
CF17   .BYTE   0
CF18   .BYTE   0
CF19   .BYTE   0
CF1A   .BYTE $3C ; <
CF1B   .BYTE $60 ; `
CF1C   .BYTE $60 ; `
CF1D   .BYTE $60 ; `
CF1E   .BYTE $3C ; <
CF1F   .BYTE   0
CF20   .BYTE   0
CF21   .BYTE   6
CF22   .BYTE   6
CF23   .BYTE $3E ; >
CF24   .BYTE $66 ; f
CF25   .BYTE $66 ; f
CF26   .BYTE $3E ; >
CF27   .BYTE   0
CF28   .BYTE   0
CF29   .BYTE   0
CF2A   .BYTE $3C ; <
CF2B   .BYTE $66 ; f
CF2C   .BYTE $7E ; ~
CF2D   .BYTE $60 ; `
CF2E   .BYTE $3C ; <
CF2F   .BYTE   0
CF30   .BYTE   0
CF31   .BYTE  $E
CF32   .BYTE $18
CF33   .BYTE $3E ; >
CF34   .BYTE $18
CF35   .BYTE $18
CF36   .BYTE $18
CF37   .BYTE   0
CF38   .BYTE   0
CF39   .BYTE   0
CF3A   .BYTE $3E ; >
CF3B   .BYTE $66 ; f
CF3C   .BYTE $66 ; f
CF3D   .BYTE $3E ; >
CF3E   .BYTE   6
CF3F   .BYTE $7C ; |
CF40   .BYTE   0
CF41   .BYTE $60 ; `
CF42   .BYTE $60 ; `
CF43   .BYTE $7C ; |
CF44   .BYTE $66 ; f
CF45   .BYTE $66 ; f
CF46   .BYTE $66 ; f
CF47   .BYTE   0
CF48   .BYTE   0
CF49   .BYTE $18
CF4A   .BYTE   0
CF4B   .BYTE $38 ; 8
CF4C   .BYTE $18
CF4D   .BYTE $18
CF4E   .BYTE $3C ; <
CF4F   .BYTE   0
CF50   .BYTE   0
CF51   .BYTE   6
CF52   .BYTE   0
CF53   .BYTE   6
CF54   .BYTE   6
CF55   .BYTE   6
CF56   .BYTE   6
CF57   .BYTE $3C ; <
CF58   .BYTE   0
CF59   .BYTE $60 ; `
CF5A   .BYTE $60 ; `
CF5B   .BYTE $6C ; l
CF5C   .BYTE $78 ; x
CF5D   .BYTE $6C ; l
CF5E   .BYTE $66 ; f
CF5F   .BYTE   0
CF60   .BYTE   0
CF61   .BYTE $38 ; 8
CF62   .BYTE $18
CF63   .BYTE $18
CF64   .BYTE $18
CF65   .BYTE $18
CF66   .BYTE $3C ; <
CF67   .BYTE   0
CF68   .BYTE   0
CF69   .BYTE   0
CF6A   .BYTE $66 ; f
CF6B   .BYTE $7F ; 
CF6C   .BYTE $7F ; 
CF6D   .BYTE $6B ; k
CF6E   .BYTE $63 ; c
CF6F   .BYTE   0
CF70   .BYTE   0
CF71   .BYTE   0
CF72   .BYTE $7C ; |
CF73   .BYTE $66 ; f
CF74   .BYTE $66 ; f
CF75   .BYTE $66 ; f
CF76   .BYTE $66 ; f
CF77   .BYTE   0
CF78   .BYTE   0
CF79   .BYTE   0
CF7A   .BYTE $3C ; <
CF7B   .BYTE $66 ; f
CF7C   .BYTE $66 ; f
CF7D   .BYTE $66 ; f
CF7E   .BYTE $3C ; <
CF7F   .BYTE   0
CF80   .BYTE   0
CF81   .BYTE   0
CF82   .BYTE $7C ; |
CF83   .BYTE $66 ; f
CF84   .BYTE $66 ; f
CF85   .BYTE $7C ; |
CF86   .BYTE $60 ; `
CF87   .BYTE $60 ; `
CF88   .BYTE   0
CF89   .BYTE   0
CF8A   .BYTE $3E ; >
CF8B   .BYTE $66 ; f
CF8C   .BYTE $66 ; f
CF8D   .BYTE $3E ; >
CF8E   .BYTE   6
CF8F   .BYTE   6
CF90   .BYTE   0
CF91   .BYTE   0
CF92   .BYTE $7C ; |
CF93   .BYTE $66 ; f
CF94   .BYTE $60 ; `
CF95   .BYTE $60 ; `
CF96   .BYTE $60 ; `
CF97   .BYTE   0
CF98   .BYTE   0
CF99   .BYTE   0
CF9A   .BYTE $3E ; >
CF9B   .BYTE $60 ; `
CF9C   .BYTE $3C ; <
CF9D   .BYTE   6
CF9E   .BYTE $7C ; |
CF9F   .BYTE   0
CFA0   .BYTE   0
CFA1   .BYTE $18
CFA2   .BYTE $7E ; ~
CFA3   .BYTE $18
CFA4   .BYTE $18
CFA5   .BYTE $18
CFA6   .BYTE  $E
CFA7   .BYTE   0
CFA8   .BYTE   0
CFA9   .BYTE   0
CFAA   .BYTE $66 ; f
CFAB   .BYTE $66 ; f
CFAC   .BYTE $66 ; f
CFAD   .BYTE $66 ; f
CFAE   .BYTE $3E ; >
CFAF   .BYTE   0
CFB0   .BYTE   0
CFB1   .BYTE   0
CFB2   .BYTE $66 ; f
CFB3   .BYTE $66 ; f
CFB4   .BYTE $66 ; f
CFB5   .BYTE $3C ; <
CFB6   .BYTE $18
CFB7   .BYTE   0
CFB8   .BYTE   0
CFB9   .BYTE   0
CFBA   .BYTE $63 ; c
CFBB   .BYTE $6B ; k
CFBC   .BYTE $7F ; 
CFBD   .BYTE $3E ; >
CFBE   .BYTE $36 ; 6
CFBF   .BYTE   0
CFC0   .BYTE   0
CFC1   .BYTE   0
CFC2   .BYTE $66 ; f
CFC3   .BYTE $3C ; <
CFC4   .BYTE $18
CFC5   .BYTE $3C ; <
CFC6   .BYTE $66 ; f
CFC7   .BYTE   0
CFC8   .BYTE   0
CFC9   .BYTE   0
CFCA   .BYTE $66 ; f
CFCB   .BYTE $66 ; f
CFCC   .BYTE $66 ; f
CFCD   .BYTE $3E ; >
CFCE   .BYTE  $C
CFCF   .BYTE $78 ; x
CFD0   .BYTE   0
CFD1   .BYTE   0
CFD2   .BYTE $7E ; ~
CFD3   .BYTE  $C
CFD4   .BYTE $18
CFD5   .BYTE $30 ; 0
CFD6   .BYTE $7E ; ~
CFD7   .BYTE   0
CFD8   .BYTE $66 ; f
CFD9   .BYTE $66 ; f
CFDA   .BYTE $18
CFDB   .BYTE $3C ; <
CFDC   .BYTE $66 ; f
CFDD   .BYTE $7E ; ~
CFDE   .BYTE $66 ; f
CFDF   .BYTE   0
CFE0   .BYTE $18
CFE1   .BYTE $18
CFE2   .BYTE $18
CFE3   .BYTE $18
CFE4   .BYTE $18
CFE5   .BYTE $18
CFE6   .BYTE $18
CFE7   .BYTE $18
CFE8   .BYTE   0
CFE9   .BYTE $7E ; ~
CFEA   .BYTE $78 ; x
CFEB   .BYTE $7C ; |
CFEC   .BYTE $6E ; n
CFED   .BYTE $66 ; f
CFEE   .BYTE   6
CFEF   .BYTE   0
CFF0   .BYTE   8
CFF1   .BYTE $18
CFF2   .BYTE $38 ; 8
CFF3   .BYTE $78 ; x
CFF4   .BYTE $38 ; 8
CFF5   .BYTE $18
CFF6   .BYTE   8
CFF7   .BYTE   0
CFF8   .BYTE $10
CFF9   .BYTE $18
CFFA   .BYTE $1C
CFFB   .BYTE $1E
CFFC   .BYTE $1C
CFFD   .BYTE $18
CFFE   .BYTE $10
CFFF   .BYTE   0
D000 OS_HPOSP0_M0PF:.BYTE $4C      ; ...
D001 OS_HPOSP1_M1PF:.BYTE 9        ; ...
D002 OS_HPOSP2_M2PF:.BYTE $50      ; ...
D003 OS_HPOSP3_M3PF:.BYTE $20      ; ...
D004 OS_HPOSM0_P0PF:.BYTE $86      ; ...
D005 byte_D005:.BYTE $50           ; ...
D006 byte_D006:.BYTE $4C           ; ...
D007 byte_D007:.BYTE $91           ; ...
D008 OS_SIZEP0_M0PL:.BYTE $52      ; ...
D009 OS_SIZEP1:.BYTE $20           ; ...
D00A   .BYTE $86 ; å
D00B OS_SIZEP3:.BYTE $50           ; ...
D00C OS_SIZEM:.BYTE $A9            ; ...
D00D unk_D00D:.BYTE   0            ; ...
D00E   .BYTE $85 ; à
D00F   .BYTE $80 ; Ç
D010 byte_D010:.BYTE $85           ; ...
D011 byte_D011:.BYTE $81           ; ...
D012 byte_D012:.BYTE $85           ; ...
D013 wampusColor:.BYTE $82         ; ...
D014 OS_COLPM2_PAL:.BYTE $8D       ; ...
D015 OS_COLPM3:.BYTE 8             ; ...
D016 byte_D016:.BYTE $D2           ; ...
D017 byte_D017:.BYTE $A9           ; ...
D018 byte_D018:.BYTE 3             ; ...
D019 byte_D019:.BYTE $8D           ; ...
D01A byte_D01A:.BYTE $F            ; ...
D01B OS_PRIOR:.BYTE $D2            ; ...
D01C   .BYTE $20
D01D byte_D01D:.BYTE $10           ; ...
D01E byte_D01E:.BYTE $55           ; ...
D01F OS_CONSOL:.BYTE $A9           ; ...
D020   .BYTE $40 ; @
D021   .BYTE $8D ; ì
D022   .BYTE  $E
D023   .BYTE $D4 ; È
D024   .BYTE $A2 ; ó
D025   .BYTE   0
D026   .BYTE $20
D027   .BYTE $73 ; s
D028   .BYTE $57 ; W
D029   .BYTE $A2 ; ó
D02A   .BYTE $3A ; :
D02B   .BYTE $A0 ; á
D02C   .BYTE $51 ; Q
D02D   .BYTE $20
D02E   .BYTE $9E ; ×
D02F   .BYTE $50 ; P
D030   .BYTE $A9 ; ®
D031   .BYTE $D0 ; ð
D032   .BYTE $8D ; ì
D033   .BYTE   0
D034   .BYTE   2
D035   .BYTE $A9 ; ®
D036   .BYTE $50 ; P
D037   .BYTE $8D ; ì
D038   .BYTE   1
D039   .BYTE   2
D03A   .BYTE $A2 ; ó
D03B   .BYTE  $C
D03C   .BYTE $A9 ; ®
D03D   .BYTE $AA ; ¬
D03E   .BYTE $20
D03F   .BYTE $2A ; *
D040   .BYTE $57 ; W
D041   .BYTE $A2 ; ó
D042   .BYTE   0
D043   .BYTE $8E ; Ä
D044   .BYTE  $A
D045   .BYTE $D4 ; È
D046   .BYTE $E8 ; Þ
D047   .BYTE $D0 ; ð
D048   .BYTE $FA ; ·
D049   .BYTE $AD ; ¡
D04A   .BYTE  $B
D04B   .BYTE $D4 ; È
D04C   .BYTE $C9 ; +
D04D   .BYTE $18
D04E   .BYTE $B0 ; ¦
D04F   .BYTE $F9 ; ¨
D050   .BYTE $A9 ; ®
D051   .BYTE $10
D052   .BYTE $85 ; à
D053   .BYTE $87 ; ç
D054   .BYTE $A9 ; ®
D055   .BYTE $C0 ; +
D056   .BYTE $8D ; ì
D057   .BYTE  $E
D058   .BYTE $D4 ; È
D059   .BYTE $AD ; ¡
D05A   .BYTE $1F
D05B   .BYTE $D0 ; ð
D05C   .BYTE $29 ; )
D05D   .BYTE   1
D05E   .BYTE $D0 ; ð
D05F   .BYTE $F9 ; ¨
D060   .BYTE $A9 ; ®
D061   .BYTE $FF
D062   .BYTE $8D ; ì
D063   .BYTE $FC ; ³
D064   .BYTE   2
D065   .BYTE $A5 ; Ñ
D066   .BYTE $86 ; å
D067   .BYTE $29 ; )
D068   .BYTE  $F
D069   .BYTE $C9 ; +
D06A   .BYTE   1
D06B   .BYTE $F0 ; ­
D06C   .BYTE $10
D06D   .BYTE $C9 ; +
D06E   .BYTE   2
D06F   .BYTE $F0 ; ­
D070   .BYTE  $F
D071   .BYTE $C9 ; +
D072   .BYTE   4
D073   .BYTE $F0 ; ­
D074   .BYTE  $E
D075   .BYTE $A9 ; ®
D076   .BYTE $88 ; ê
D077   .BYTE $85 ; à
D078   .BYTE $86 ; å
D079   .BYTE $A9 ; ®
D07A   .BYTE $FF
D07B   .BYTE $85 ; à
D07C   .BYTE $82 ; é
D07D   .BYTE $4C ; L
D07E   .BYTE $91 ; æ
D07F   .BYTE $52 ; R
D080   .BYTE $4C ; L
D081   .BYTE $57 ; W
D082   .BYTE $55 ; U
D083   .BYTE $4C ; L
D084   .BYTE $50 ; P
D085   .BYTE $54 ; T
D086   .BYTE $A9 ; ®
D087   .BYTE $11
D088   .BYTE $85 ; à
D089   .BYTE $86 ; å
D08A   .BYTE $A9 ; ®
D08B   .BYTE $21 ; !
D08C   .BYTE $8D ; ì
D08D   .BYTE $2F ; /
D08E   .BYTE   2
D08F   .BYTE $A9 ; ®
D090   .BYTE $C0 ; +
D091   .BYTE $8D ; ì
D092   .BYTE  $E
D093   .BYTE $D4 ; È
D094   .BYTE $A9 ; ®
D095   .BYTE $41 ; A
D096   .BYTE $85 ; à
D097   .BYTE $83 ; â
D098   .BYTE $A9 ; ®
D099   .BYTE $FF
D09A   .BYTE $8D ; ì
D09B   .BYTE $FC ; ³
D09C   .BYTE   2
D09D   .BYTE $60 ; `
D09E   .BYTE $85 ; à
D09F   .BYTE $8A ; è
D0A0   .BYTE $98 ; ÿ
D0A1   .BYTE $48 ; H
D0A2   .BYTE $8A ; è
D0A3   .BYTE $48 ; H
D0A4   .BYTE $A9 ; ®
D0A5   .BYTE   0
D0A6   .BYTE $8D ; ì
D0A7   .BYTE $2F ; /
D0A8   .BYTE   2
D0A9   .BYTE $8D ; ì
D0AA   .BYTE $DC ; _
D0AB   .BYTE   2
D0AC   .BYTE $A9 ; ®
D0AD   .BYTE $DA ; +
D0AE   .BYTE $8D ; ì
D0AF   .BYTE   0
D0B0   .BYTE   2
D0B1   .BYTE $A9 ; ®
D0B2   .BYTE $53 ; S
D0B3   .BYTE $8D ; ì
D0B4   .BYTE   1
D0B5   .BYTE   2
D0B6   .BYTE $A2 ; ó
D0B7   .BYTE   0
D0B8   .BYTE $8A ; è
D0B9   .BYTE $20
D0BA   .BYTE $2A ; *
D0BB   .BYTE $57 ; W
D0BC   .BYTE $68 ; h
D0BD   .BYTE $AA ; ¬
D0BE   .BYTE $68 ; h
D0BF   .BYTE $A8 ; ¿
D0C0   .BYTE $8E ; Ä
D0C1   .BYTE $30 ; 0
D0C2   .BYTE   2
D0C3   .BYTE $86 ; å
D0C4   .BYTE $84 ; ä
D0C5   .BYTE $8C ; î
D0C6   .BYTE $31 ; 1
D0C7   .BYTE   2
D0C8   .BYTE $84 ; ä
D0C9   .BYTE $85 ; à
D0CA   .BYTE $A9 ; ®
D0CB   .BYTE $21 ; !
D0CC   .BYTE $8D ; ì
D0CD   .BYTE $2F ; /
D0CE   .BYTE   2
D0CF   .BYTE $60 ; `
D0D0   .BYTE $48 ; H
D0D1   .BYTE $8A ; è
D0D2   .BYTE $48 ; H
D0D3   .BYTE $A2 ; ó
D0D4   .BYTE $7A ; z
D0D5   .BYTE $A5 ; Ñ
D0D6   .BYTE $87 ; ç
D0D7   .BYTE $C9 ; +
D0D8   .BYTE   1
D0D9   .BYTE $F0 ; ­
D0DA   .BYTE $1F
D0DB   .BYTE $29 ; )
D0DC   .BYTE   1
D0DD   .BYTE $F0 ; ­
D0DE   .BYTE  $A
D0DF   .BYTE $E6 ; µ
D0E0   .BYTE $A2 ; ó
D0E1   .BYTE $A5 ; Ñ
D0E2   .BYTE $A2 ; ó
D0E3   .BYTE $29 ; )
D0E4   .BYTE $20
D0E5   .BYTE $F0 ; ­
D0E6   .BYTE   2
D0E7   .BYTE $A2 ; ó
D0E8   .BYTE $2C ; ,
D0E9   .BYTE $8E ; Ä
D0EA   .BYTE  $A
D0EB   .BYTE $D4 ; È
D0EC   .BYTE $8E ; Ä
D0ED   .BYTE $16
D0EE   .BYTE $D0 ; ð
D0EF   .BYTE $18
D0F0   .BYTE $66 ; f
D0F1   .BYTE $87 ; ç
D0F2   .BYTE $A9 ; ®
D0F3   .BYTE   0
D0F4   .BYTE $85 ; à
D0F5   .BYTE $4D ; M
D0F6   .BYTE $68 ; h
D0F7   .BYTE $AA ; ¬
D0F8   .BYTE $68 ; h
D0F9   .BYTE $40 ; @
D0FA   .BYTE $A5 ; Ñ
D0FB   .BYTE $88 ; ê
D0FC   .BYTE $D0 ; ð
D0FD   .BYTE $16
D0FE   .BYTE $AD ; ¡
D0FF   .BYTE $1F
D100   .BYTE $D0 ; ð
D101   .BYTE $29 ; )
D102   .BYTE   2
D103   .BYTE $D0 ; ð
D104   .BYTE $1A
D105   .BYTE $A5 ; Ñ
D106   .BYTE $86 ; å
D107   .BYTE $2A ; *
D108   .BYTE $26 ; &
D109   .BYTE $86 ; å
D10A   .BYTE $A9 ; ®
D10B   .BYTE $20
D10C   .BYTE $85 ; à
D10D   .BYTE $A2 ; ó
D10E   .BYTE $A9 ; ®
D10F   .BYTE $FF
D110   .BYTE $85 ; à
D111   .BYTE $88 ; ê
D112   .BYTE $D0 ; ð
D113   .BYTE  $B
D114   .BYTE $AD ; ¡
D115   .BYTE $1F
D116   .BYTE $D0 ; ð
D117   .BYTE $29 ; )
D118   .BYTE   2
D119   .BYTE $F0 ; ­
D11A   .BYTE   4
D11B   .BYTE $A9 ; ®
D11C   .BYTE   0
D11D   .BYTE $85 ; à
D11E   .BYTE $88 ; ê
D11F   .BYTE $A5 ; Ñ
D120   .BYTE $86 ; å
D121   .BYTE $29 ; )
D122   .BYTE  $F
D123   .BYTE   9
D124   .BYTE $10
D125   .BYTE $85 ; à
D126   .BYTE $87 ; ç
D127   .BYTE $E6 ; µ
D128   .BYTE $80 ; Ç
D129   .BYTE $D0 ; ð
D12A   .BYTE   2
D12B   .BYTE $E6 ; µ
D12C   .BYTE $81 ; ü
D12D   .BYTE $A5 ; Ñ
D12E   .BYTE $81 ; ü
D12F   .BYTE $C9 ; +
D130   .BYTE $FA ; ·
D131   .BYTE $D0 ; ð
D132   .BYTE   4
D133   .BYTE $58 ; X
D134   .BYTE $4C ; L
D135   .BYTE $75 ; u
D136   .BYTE $50 ; P
D137   .BYTE $4C ; L
D138   .BYTE $D3 ; Ë
D139   .BYTE $50 ; P
D13A   .BYTE $70 ; p
D13B   .BYTE $70 ; p
D13C   .BYTE $70 ; p
D13D   .BYTE $70 ; p
D13E   .BYTE $70 ; p
D13F   .BYTE $47 ; G
D140   .BYTE $FF
D141   .BYTE $FF
D142   .BYTE $FF
D143   .BYTE $FF
D144   .BYTE $FF
D145   .BYTE $FF
D146   .BYTE $FF
D147   .BYTE $FF
D148   .BYTE $FF
D149   .BYTE $FF
D14A   .BYTE $FF
D14B   .BYTE $FF
D14C   .BYTE $FF
D14D   .BYTE $FF
D14E   .BYTE $FF
D14F   .BYTE $FF
D150   .BYTE $FF
D151   .BYTE $FF
D152   .BYTE $FF
D153   .BYTE $FF
D154   .BYTE $FF
D155   .BYTE $FF
D156   .BYTE $FF
D157   .BYTE $FF
D158   .BYTE $FF
D159   .BYTE $FF
D15A   .BYTE $FF
D15B   .BYTE $FF
D15C   .BYTE $FF
D15D   .BYTE $FF
D15E   .BYTE $FF
D15F   .BYTE $FF
D160   .BYTE $FF
D161   .BYTE $FF
D162   .BYTE   0
D163   .BYTE   0
D164   .BYTE   0
D165   .BYTE $33 ; 3
D166   .BYTE $25 ; %
D167   .BYTE $2C ; ,
D168   .BYTE $26 ; &
D169   .BYTE   0
D16A   .BYTE $34 ; 4
D16B   .BYTE $25 ; %
D16C   .BYTE $33 ; 3
D16D   .BYTE $34 ; 4
D16E   .BYTE   0
D16F   .BYTE   0
D170   .BYTE   0
D171   .BYTE   0
D172   .BYTE   0
D173   .BYTE $2D ; -
D174   .BYTE $25 ; %
D175   .BYTE $2D ; -
D176   .BYTE $2F ; /
D177   .BYTE $32 ; 2
D178   .BYTE $39 ; 9
D179   .BYTE   0
D17A   .BYTE   0
D17B   .BYTE   0
D17C   .BYTE   0
D17D   .BYTE   0
D17E   .BYTE   0
D17F   .BYTE   0
D180   .BYTE $FF
D181   .BYTE $FF
D182   .BYTE $FF
D183   .BYTE $FF
D184   .BYTE $FF
D185   .BYTE $FF
D186   .BYTE $FF
D187   .BYTE $FF
D188   .BYTE $FF
D189   .BYTE $FF
D18A   .BYTE $FF
D18B   .BYTE $FF
D18C   .BYTE $FF
D18D   .BYTE $FF
D18E   .BYTE $FF
D18F   .BYTE $FF
D190   .BYTE $FF
D191   .BYTE $FF
D192   .BYTE $FF
D193   .BYTE $FF
D194   .BYTE $FF
D195   .BYTE $FF
D196   .BYTE $FF
D197   .BYTE $FF
D198   .BYTE $FF
D199   .BYTE $FF
D19A   .BYTE $FF
D19B   .BYTE $FF
D19C   .BYTE $FF
D19D   .BYTE $FF
D19E   .BYTE $FF
D19F   .BYTE $FF
D1A0   .BYTE $FF
D1A1   .BYTE $FF
D1A2   .BYTE   0
D1A3   .BYTE $21 ; !
D1A4   .BYTE $2C ; ,
D1A5   .BYTE $2C ; ,
D1A6   .BYTE   0
D1A7   .BYTE $34 ; 4
D1A8   .BYTE $25 ; %
D1A9   .BYTE $33 ; 3
D1AA   .BYTE $34 ; 4
D1AB   .BYTE $33 ; 3
D1AC   .BYTE   0
D1AD   .BYTE   0
D1AE   .BYTE   0
D1AF   .BYTE   0
D1B0   .BYTE   0
D1B1   .BYTE   0
D1B2   .BYTE   0
D1B3   .BYTE   0
D1B4   .BYTE   0
D1B5   .BYTE $42 ; B
D1B6   .BYTE $B3 ; ¦
D1B7   .BYTE $A5 ; Ñ
D1B8   .BYTE $AC ; ¼
D1B9   .BYTE $A5 ; Ñ
D1BA   .BYTE $A3 ; ú
D1BB   .BYTE $B4 ; ¦
D1BC   .BYTE $56 ; V
D1BD   .BYTE  $C
D1BE   .BYTE $42 ; B
D1BF   .BYTE $B3 ; ¦
D1C0   .BYTE $B4 ; ¦
D1C1   .BYTE $A1 ; í
D1C2   .BYTE $B2 ; ¦
D1C3   .BYTE $B4 ; ¦
D1C4   .BYTE $56 ; V
D1C5   .BYTE $2F ; /
D1C6   .BYTE $32 ; 2
D1C7   .BYTE $42 ; B
D1C8   .BYTE $B2 ; ¦
D1C9   .BYTE $A5 ; Ñ
D1CA   .BYTE $B3 ; ¦
D1CB   .BYTE $A5 ; Ñ
D1CC   .BYTE $B4 ; ¦
D1CD   .BYTE $56 ; V
D1CE   .BYTE   0
D1CF   .BYTE   0
D1D0   .BYTE   0
D1D1   .BYTE $70 ; p
D1D2   .BYTE $70 ; p
D1D3   .BYTE $70 ; p
D1D4   .BYTE $46 ; F
D1D5   .BYTE   0
D1D6   .BYTE $30 ; 0
D1D7   .BYTE $70 ; p
D1D8   .BYTE $70 ; p
D1D9   .BYTE   6
D1DA   .BYTE $70 ; p
D1DB   .BYTE   8
D1DC   .BYTE $70 ; p
D1DD   .BYTE $70 ; p
D1DE   .BYTE   6
D1DF   .BYTE $70 ; p
D1E0   .BYTE   8
D1E1   .BYTE $70 ; p
D1E2   .BYTE   8
D1E3   .BYTE $70 ; p
D1E4   .BYTE   8
D1E5   .BYTE $70 ; p
D1E6   .BYTE   8
D1E7   .BYTE $70 ; p
D1E8   .BYTE $70 ; p
D1E9   .BYTE $70 ; p
D1EA   .BYTE   1
D1EB   .BYTE $ED ; Ý
D1EC   .BYTE $51 ; Q
D1ED   .BYTE $A0 ; á
D1EE   .BYTE $40 ; @
D1EF   .BYTE $42 ; B
D1F0   .BYTE $F5 ; §
D1F1   .BYTE $51 ; Q
D1F2   .BYTE   1
D1F3   .BYTE $83 ; â
D1F4   .BYTE   0
D1F5   .BYTE   0
D1F6   .BYTE   0
D1F7   .BYTE   0
D1F8   .BYTE   0
D1F9   .BYTE   0
D1FA   .BYTE $42 ; B
D1FB   .BYTE $B2 ; ¦
D1FC   .BYTE $A5 ; Ñ
D1FD   .BYTE $B3 ; ¦
D1FE   .BYTE $A5 ; Ñ
D1FF byte_D1FF:.BYTE $B4           ; ...
D200 OS_AUDF1_POT1:.BYTE $56       ; ...
D201 OS_AUDC1_POT2:.BYTE $2F       ; ...
D202 OS_AUDF2_POT2:.BYTE $32       ; ...
D203 OS_AUDC2_POT3:.BYTE $42       ; ...
D204 OS_AUDF3_POT4:.BYTE $A8       ; ...
D205 OS_AUDC3_POT5:.BYTE $A5       ; ...
D206 OS_AUDF4_POT6:.BYTE $AC       ; ...
D207 OS_AUDC4_POT7:.BYTE $B0       ; ...
D208 OS_AUDCTL_ALLPOT:.BYTE $56    ; ...
D209 OS_STIMER_KBCODE:.BYTE $34    ; ...
D20A OS_SKREST_RANDOM:.BYTE $2F    ; ...
D20B byte_D20B:.BYTE 0             ; ...
D20C   .BYTE $25 ; %
D20D byte_D20D:.BYTE 56            ; ...
D20E OS_IRQEN_IRQST:.BYTE $29      ; ...
D20F OS_SKCTL_SKSTAT:.BYTE $34     ; ...
D210   .BYTE   0
D211   .BYTE   0
D212   .BYTE   0
D213   .BYTE   0
D214   .BYTE   0
D215   .BYTE $70 ; p
D216   .BYTE $70 ; p
D217   .BYTE $70 ; p
D218   .BYTE $70 ; p
D219   .BYTE $46 ; F
D21A   .BYTE   0
D21B   .BYTE $30 ; 0
D21C   .BYTE $70 ; p
D21D   .BYTE $70 ; p
D21E   .BYTE $70 ; p
D21F   .BYTE $70 ; p
D220   .BYTE   2
D221   .BYTE $70 ; p
D222   .BYTE $70 ; p
D223   .BYTE   2
D224   .BYTE $70 ; p
D225   .BYTE   2
D226   .BYTE $70 ; p
D227   .BYTE   2
D228   .BYTE $70 ; p
D229   .BYTE   2
D22A   .BYTE $70 ; p
D22B   .BYTE   2
D22C   .BYTE $70 ; p
D22D   .BYTE $70 ; p
D22E   .BYTE   1
D22F   .BYTE $ED ; Ý
D230   .BYTE $51 ; Q
D231   .BYTE $70 ; p
D232   .BYTE $70 ; p
D233   .BYTE $70 ; p
D234   .BYTE $70 ; p
D235   .BYTE $46 ; F
D236   .BYTE $71 ; q
D237   .BYTE $52 ; R
D238   .BYTE $70 ; p
D239   .BYTE   6
D23A   .BYTE $70 ; p
D23B   .BYTE $70 ; p
D23C   .BYTE $4B ; K
D23D   .BYTE   0
D23E   .BYTE $31 ; 1
D23F   .BYTE  $B
D240   .BYTE  $B
D241   .BYTE  $B
D242   .BYTE  $B
D243   .BYTE  $B
D244   .BYTE  $B
D245   .BYTE  $B
D246   .BYTE  $B
D247   .BYTE  $B
D248   .BYTE  $B
D249   .BYTE  $B
D24A   .BYTE  $B
D24B   .BYTE  $B
D24C   .BYTE  $B
D24D   .BYTE  $B
D24E   .BYTE  $B
D24F   .BYTE  $B
D250   .BYTE  $B
D251   .BYTE  $B
D252   .BYTE  $B
D253   .BYTE  $B
D254   .BYTE  $B
D255   .BYTE  $B
D256   .BYTE  $B
D257   .BYTE  $B
D258   .BYTE  $B
D259   .BYTE  $B
D25A   .BYTE  $B
D25B   .BYTE  $B
D25C   .BYTE  $B
D25D   .BYTE  $B
D25E   .BYTE  $B
D25F   .BYTE  $B
D260   .BYTE  $B
D261   .BYTE  $B
D262   .BYTE  $B
D263   .BYTE  $B
D264   .BYTE  $B
D265   .BYTE  $B
D266   .BYTE  $B
D267   .BYTE  $B
D268   .BYTE  $B
D269   .BYTE $70 ; p
D26A   .BYTE $46 ; F
D26B   .BYTE   0
D26C   .BYTE $30 ; 0
D26D   .BYTE $70 ; p
D26E   .BYTE   1
D26F   .BYTE $ED ; Ý
D270   .BYTE $51 ; Q
D271   .BYTE   0
D272   .BYTE   0
D273   .BYTE $21 ; !
D274   .BYTE $35 ; 5
D275   .BYTE $24 ; $
D276   .BYTE $29 ; )
D277   .BYTE $2F ; /
D278   .BYTE  $D
D279   .BYTE $36 ; 6
D27A   .BYTE $29 ; )
D27B   .BYTE $33 ; 3
D27C   .BYTE $35 ; 5
D27D   .BYTE $21 ; !
D27E   .BYTE $2C ; ,
D27F   .BYTE   0
D280   .BYTE   0
D281   .BYTE   0
D282   .BYTE   0
D283   .BYTE   0
D284   .BYTE   0
D285   .BYTE   0
D286   .BYTE   0
D287   .BYTE $34 ; 4
D288   .BYTE $25 ; %
D289   .BYTE $33 ; 3
D28A   .BYTE $34 ; 4
D28B   .BYTE   0
D28C   .BYTE   0
D28D   .BYTE   0
D28E   .BYTE   0
D28F   .BYTE   0
D290   .BYTE   0
D291   .BYTE $A2 ; ó
D292   .BYTE $D1 ; Ð
D293   .BYTE $A0 ; á
D294   .BYTE $51 ; Q
D295   .BYTE $A9 ; ®
D296   .BYTE   0
D297   .BYTE $20
D298   .BYTE $9E ; ×
D299   .BYTE $50 ; P
D29A   .BYTE $A2 ; ó
D29B   .BYTE   1
D29C   .BYTE $20
D29D   .BYTE $73 ; s
D29E   .BYTE $57 ; W
D29F   .BYTE $A2 ; ó
D2A0   .BYTE   0
D2A1   .BYTE $20
D2A2   .BYTE $59 ; Y
D2A3   .BYTE $57 ; W
D2A4   .BYTE $A2 ; ó
D2A5   .BYTE   1
D2A6   .BYTE $20
D2A7   .BYTE $59 ; Y
D2A8   .BYTE $57 ; W
D2A9   .BYTE $AD ; ¡
D2AA   .BYTE $20
D2AB   .BYTE $30 ; 0
D2AC   .BYTE $C9 ; +
D2AD   .BYTE $AA ; ¬
D2AE   .BYTE $F0 ; ­
D2AF   .BYTE $17
D2B0   .BYTE $A9 ; ®
D2B1   .BYTE $55 ; U
D2B2   .BYTE $20
D2B3   .BYTE $8E ; Ä
D2B4   .BYTE $53 ; S
D2B5   .BYTE $20
D2B6   .BYTE $B1 ; ¦
D2B7   .BYTE $53 ; S
D2B8   .BYTE $20
D2B9   .BYTE $73 ; s
D2BA   .BYTE $FF
D2BB   .BYTE $B0 ; ¦
D2BC   .BYTE   5
D2BD   .BYTE $A9 ; ®
D2BE   .BYTE $FF
D2BF   .BYTE $4C ; L
D2C0   .BYTE $C4 ; -
D2C1   .BYTE $52 ; R
D2C2   .BYTE $A9 ; ®
D2C3   .BYTE $AA ; ¬
D2C4   .BYTE $20
D2C5   .BYTE $8E ; Ä
D2C6   .BYTE $53 ; S
D2C7   .BYTE $AD ; ¡
D2C8   .BYTE $24 ; $
D2C9   .BYTE $30 ; 0
D2CA   .BYTE $C9 ; +
D2CB   .BYTE $AA ; ¬
D2CC   .BYTE $F0 ; ­
D2CD   .BYTE $17
D2CE   .BYTE $A9 ; ®
D2CF   .BYTE $55 ; U
D2D0   .BYTE $20
D2D1   .BYTE $99 ; Ö
D2D2   .BYTE $53 ; S
D2D3   .BYTE $20
D2D4   .BYTE $B1 ; ¦
D2D5   .BYTE $53 ; S
D2D6   .BYTE $20
D2D7   .BYTE $92 ; Æ
D2D8   .BYTE $FF
D2D9   .BYTE $B0 ; ¦
D2DA   .BYTE   5
D2DB   .BYTE $A9 ; ®
D2DC   .BYTE $FF
D2DD   .BYTE $4C ; L
D2DE   .BYTE $E2 ; Ô
D2DF   .BYTE $52 ; R
D2E0   .BYTE $A9 ; ®
D2E1   .BYTE $AA ; ¬
D2E2   .BYTE $20
D2E3   .BYTE $99 ; Ö
D2E4   .BYTE $53 ; S
D2E5   .BYTE $A9 ; ®
D2E6   .BYTE $C0 ; +
D2E7   .BYTE $85 ; à
D2E8   .BYTE $8D ; ì
D2E9   .BYTE $A9 ; ®
D2EA   .BYTE   4
D2EB   .BYTE $85 ; à
D2EC   .BYTE $A4 ; ñ
D2ED   .BYTE $A9 ; ®
D2EE   .BYTE   0
D2EF   .BYTE $85 ; à
D2F0   .BYTE $8E ; Ä
D2F1   .BYTE $85 ; à
D2F2   .BYTE $90 ; É
D2F3   .BYTE $85 ; à
D2F4   .BYTE $91 ; æ
D2F5   .BYTE $85 ; à
D2F6   .BYTE $8F ; Å
D2F7   .BYTE $A6 ; ª
D2F8   .BYTE $8E ; Ä
D2F9   .BYTE $BD ; ¢
D2FA   .BYTE $38 ; 8
D2FB   .BYTE $30 ; 0
D2FC unk_D2FC:.BYTE $25 ; %        ; ...
D2FD   .BYTE $8D ; ì
D2FE   .BYTE $C9 ; +
D2FF   .BYTE $80 ; Ç
D300 byte_D300:.BYTE $F0           ; ...
D301 byte_D301:.BYTE $5C           ; ...
D302 byte_D302:.BYTE $C9           ; ...
D303 byte_D303:.BYTE 8             ; ...
D304   .BYTE $F0 ; ­
D305   .BYTE $58 ; X
D306   .BYTE $A9 ; ®
D307   .BYTE $44 ; D
D308   .BYTE $20
D309   .BYTE $C3 ; +
D30A   .BYTE $53 ; S
D30B   .BYTE $A5 ; Ñ
D30C   .BYTE $A4 ; ñ
D30D   .BYTE $20
D30E   .BYTE $A4 ; ñ
D30F   .BYTE $53 ; S
D310   .BYTE $A5 ; Ñ
D311   .BYTE $A4 ; ñ
D312   .BYTE $49 ; I
D313   .BYTE  $C
D314   .BYTE $85 ; à
D315   .BYTE $A4 ; ñ
D316   .BYTE $A2 ; ó
D317   .BYTE   7
D318   .BYTE $BD ; ¢
D319   .BYTE $4A ; J
D31A   .BYTE $54 ; T
D31B   .BYTE $C5 ; +
D31C   .BYTE $91 ; æ
D31D   .BYTE $F0 ; ­
D31E   .BYTE $37 ; 7
D31F   .BYTE $CA ; -
D320   .BYTE $10
D321   .BYTE $F6 ; ÷
D322   .BYTE $A9 ; ®
D323   .BYTE   4
D324   .BYTE $85 ; à
D325   .BYTE $92 ; Æ
D326   .BYTE $A2 ; ó
D327   .BYTE   0
D328   .BYTE $A0 ; á
D329   .BYTE   0
D32A   .BYTE $8A ; è
D32B   .BYTE $91 ; æ
D32C   .BYTE $90 ; É
D32D   .BYTE $E8 ; Þ
D32E   .BYTE $C8 ; +
D32F   .BYTE $D0 ; ð
D330   .BYTE $F9 ; ¨
D331   .BYTE $86 ; å
D332   .BYTE $93 ; ô
D333   .BYTE $A0 ; á
D334   .BYTE   0
D335   .BYTE $B1 ; ¦
D336   .BYTE $90 ; É
D337   .BYTE $C5 ; +
D338   .BYTE $93 ; ô
D339   .BYTE $D0 ; ð
D33A   .BYTE $10
D33B   .BYTE $E6 ; µ
D33C   .BYTE $93 ; ô
D33D   .BYTE $C8 ; +
D33E   .BYTE $D0 ; ð
D33F   .BYTE $F5 ; §
D340   .BYTE $E8 ; Þ
D341   .BYTE $D0 ; ð
D342   .BYTE $E5 ; Õ
D343   .BYTE $E6 ; µ
D344   .BYTE $91 ; æ
D345   .BYTE $C6 ; ã
D346   .BYTE $92 ; Æ
D347   .BYTE $D0 ; ð
D348   .BYTE $DD ; ¦
D349   .BYTE $F0 ; ­
D34A   .BYTE  $E
D34B   .BYTE $20
D34C   .BYTE $B1 ; ¦
D34D   .BYTE $53 ; S
D34E   .BYTE $A9 ; ®
D34F   .BYTE $88 ; ê
D350   .BYTE $20
D351   .BYTE $C3 ; +
D352   .BYTE $53 ; S
D353   .BYTE $4C ; L
D354   .BYTE $5E ; ^
D355   .BYTE $53 ; S
D356   .BYTE $20
D357   .BYTE $B5 ; Á
D358   .BYTE $53 ; S
D359   .BYTE $A9 ; ®
D35A   .BYTE $CC ; ¦
D35B   .BYTE $20
D35C   .BYTE $C3 ; +
D35D   .BYTE $53 ; S
D35E   .BYTE $A5 ; Ñ
D35F   .BYTE $8D ; ì
D360   .BYTE $30 ; 0
D361   .BYTE $26 ; &
D362   .BYTE $A9 ; ®
D363   .BYTE $C0 ; +
D364   .BYTE $85 ; à
D365   .BYTE $8D ; ì
D366   .BYTE $E6 ; µ
D367   .BYTE $8E ; Ä
D368   .BYTE $18
D369   .BYTE $A5 ; Ñ
D36A   .BYTE $8F ; Å
D36B   .BYTE $69 ; i
D36C   .BYTE   4
D36D   .BYTE $85 ; à
D36E   .BYTE $91 ; æ
D36F   .BYTE $85 ; à
D370   .BYTE $8F ; Å
D371   .BYTE $CD ; -
D372   .BYTE $E4 ; õ
D373   .BYTE   2
D374   .BYTE $D0 ; ð
D375   .BYTE $81 ; ü
D376   .BYTE $A5 ; Ñ
D377   .BYTE $82 ; é
D378   .BYTE $D0 ; ð
D379   .BYTE   3
D37A   .BYTE $4C ; L
D37B   .BYTE $A9 ; ®
D37C   .BYTE $52 ; R
D37D   .BYTE $A9 ; ®
D37E   .BYTE  $C
D37F   .BYTE $20
D380   .BYTE $A4 ; ñ
D381   .BYTE $53 ; S
D382   .BYTE $20
D383   .BYTE $B5 ; Á
D384   .BYTE $53 ; S
D385   .BYTE $4C ; L
D386   .BYTE $57 ; W
D387   .BYTE $55 ; U
D388   .BYTE $A9 ; ®
D389   .BYTE  $C
D38A   .BYTE $85 ; à
D38B   .BYTE $8D ; ì
D38C   .BYTE $D0 ; ð
D38D   .BYTE $DA ; +
D38E   .BYTE $A2 ; ó
D38F   .BYTE   4
D390   .BYTE $20
D391   .BYTE $2A ; *
D392   .BYTE $57 ; W
D393   .BYTE $29 ; )
D394   .BYTE $FC ; ³
D395   .BYTE $8D ; ì
D396   .BYTE $23 ; #
D397   .BYTE $30 ; 0
D398   .BYTE $60 ; `
D399   .BYTE $A2 ; ó
D39A   .BYTE   8
D39B   .BYTE $20
D39C   .BYTE $2A ; *
D39D   .BYTE $57 ; W
D39E   .BYTE $29 ; )
D39F   .BYTE $FC ; ³
D3A0   .BYTE $8D ; ì
D3A1   .BYTE $27 ; '
D3A2   .BYTE $30 ; 0
D3A3   .BYTE $60 ; `
D3A4   .BYTE $85 ; à
D3A5   .BYTE $A5 ; Ñ
D3A6   .BYTE $AD ; ¡
D3A7   .BYTE   1
D3A8   .BYTE $D3 ; Ë
D3A9   .BYTE $29 ; )
D3AA   .BYTE $F3 ; ¾
D3AB   .BYTE   5
D3AC   .BYTE $A5 ; Ñ
D3AD   .BYTE $8D ; ì
D3AE   .BYTE   1
D3AF   .BYTE $D3 ; Ë
D3B0   .BYTE $60 ; `
D3B1   .BYTE $A2 ; ó
D3B2   .BYTE $3C ; <
D3B3   .BYTE $D0 ; ð
D3B4   .BYTE   2
D3B5   .BYTE $A2 ; ó
D3B6   .BYTE $96 ; û
D3B7   .BYTE $A0 ; á
D3B8   .BYTE $FF
D3B9   .BYTE $8C ; î
D3BA   .BYTE  $A
D3BB   .BYTE $D4 ; È
D3BC   .BYTE $88 ; ê
D3BD   .BYTE $D0 ; ð
D3BE   .BYTE $FA ; ·
D3BF   .BYTE $CA ; -
D3C0   .BYTE $D0 ; ð
D3C1   .BYTE $F5 ; §
D3C2   .BYTE $60 ; `
D3C3   .BYTE $48 ; H
D3C4   .BYTE $A6 ; ª
D3C5   .BYTE $8E ; Ä
D3C6   .BYTE $A5 ; Ñ
D3C7   .BYTE $8D ; ì
D3C8   .BYTE $49 ; I
D3C9   .BYTE $FF
D3CA   .BYTE $3D ; =
D3CB   .BYTE $38 ; 8
D3CC   .BYTE $30 ; 0
D3CD   .BYTE $9D ; Ø
D3CE   .BYTE $38 ; 8
D3CF   .BYTE $30 ; 0
D3D0   .BYTE $68 ; h
D3D1   .BYTE $25 ; %
D3D2   .BYTE $8D ; ì
D3D3   .BYTE $1D
D3D4   .BYTE $38 ; 8
D3D5   .BYTE $30 ; 0
D3D6   .BYTE $9D ; Ø
D3D7   .BYTE $38 ; 8
D3D8   .BYTE $30 ; 0
D3D9   .BYTE $60 ; `
D3DA   .BYTE $48 ; H
D3DB   .BYTE $A9 ; ®
D3DC   .BYTE  $C
D3DD   .BYTE $8D ; ì
D3DE   .BYTE $17
D3DF   .BYTE $D0 ; ð
D3E0   .BYTE $AD ; ¡
D3E1   .BYTE $C8 ; +
D3E2   .BYTE   2
D3E3   .BYTE $8D ; ì
D3E4   .BYTE $18
D3E5   .BYTE $D0 ; ð
D3E6   .BYTE $A9 ; ®
D3E7   .BYTE   0
D3E8   .BYTE $85 ; à
D3E9   .BYTE $4D ; M
D3EA   .BYTE $AD ; ¡
D3EB   .BYTE $DC ; _
D3EC   .BYTE   2
D3ED   .BYTE $F0 ; ­
D3EE   .BYTE  $E
D3EF   .BYTE $A9 ; ®
D3F0   .BYTE   0
D3F1   .BYTE $8D ; ì
D3F2   .BYTE $DC ; _
D3F3   .BYTE   2
D3F4   .BYTE $A9 ; ®
D3F5   .BYTE  $C
D3F6   .BYTE $20
D3F7   .BYTE $A4 ; ñ
D3F8   .BYTE $53 ; S
D3F9   .BYTE $58 ; X
D3FA   .BYTE $4C ; L
D3FB   .BYTE  $C
D3FC   .BYTE $50 ; P
D3FD   .BYTE $A5 ; Ñ
D3FE   .BYTE $8A ; è
D3FF   .BYTE $F0 ; ­
D400 OS_DMACTL:.BYTE $47           ; ...
D401 byte_D401:.BYTE $AD           ; ...
D402 byte_D402:.BYTE $1F           ; ...
D403 byte_D403:.BYTE $D0           ; ...
D404 OS_HSCROL:.BYTE $29           ; ...
D405 byte_D405:.BYTE 1             ; ...
D406   .BYTE $F0 ; ­
D407 OS_PMBASE:.BYTE 4             ; ...
D408   .BYTE $A9 ; ®
D409 byte_D409:.BYTE $B3           ; ...
D40A OS_WSYNC:.BYTE $D0            ; ...
D40B OS_VCOUNT:.BYTE 2             ; ...
D40C byte_D40C:.BYTE $A9           ; ...
D40D byte_D40D:.BYTE $33           ; ...
D40E OS_NMIEN:.BYTE $8D            ; ...
D40F byte_D40F:.BYTE $1C           ; ...
D410   .BYTE $30 ; 0
D411   .BYTE $AD ; ¡
D412   .BYTE $1F
D413   .BYTE $D0 ; ð
D414   .BYTE $29 ; )
D415   .BYTE   2
D416   .BYTE $F0 ; ­
D417   .BYTE   4
D418   .BYTE $A9 ; ®
D419   .BYTE $F3 ; ¾
D41A   .BYTE $D0 ; ð
D41B   .BYTE   2
D41C   .BYTE $A9 ; ®
D41D   .BYTE $73 ; s
D41E   .BYTE $8D ; ì
D41F   .BYTE $1E
D420   .BYTE $30 ; 0
D421   .BYTE $AD ; ¡
D422   .BYTE $1F
D423   .BYTE $D0 ; ð
D424   .BYTE $29 ; )
D425   .BYTE   4
D426   .BYTE $F0 ; ­
D427   .BYTE   4
D428   .BYTE $A9 ; ®
D429   .BYTE $AF ; »
D42A   .BYTE $D0 ; ð
D42B   .BYTE   2
D42C   .BYTE $A9 ; ®
D42D   .BYTE $2F ; /
D42E   .BYTE $8D ; ì
D42F   .BYTE $20
D430   .BYTE $30 ; 0
D431   .BYTE $AD ; ¡
D432   .BYTE $1F
D433   .BYTE $D0 ; ð
D434   .BYTE $29 ; )
D435   .BYTE   7
D436   .BYTE $C9 ; +
D437   .BYTE   7
D438   .BYTE $F0 ; ­
D439   .BYTE   9
D43A   .BYTE $A9 ; ®
D43B   .BYTE $64 ; d
D43C   .BYTE $8D ; ì
D43D   .BYTE   2
D43E   .BYTE $D2 ; Ê
D43F   .BYTE $A9 ; ®
D440   .BYTE $A8 ; ¿
D441   .BYTE $D0 ; ð
D442   .BYTE   2
D443   .BYTE $A9 ; ®
D444   .BYTE   0
D445   .BYTE $8D ; ì
D446   .BYTE   3
D447   .BYTE $D2 ; Ê
D448   .BYTE $68 ; h
D449   .BYTE $40 ; @
D44A   .BYTE   0
D44B   .BYTE $50 ; P
D44C   .BYTE $54 ; T
D44D   .BYTE $30 ; 0
D44E   .BYTE $30 ; 0
D44F   .BYTE $30 ; 0
D450   .BYTE $A2 ; ó
D451   .BYTE   0
D452   .BYTE $86 ; å
D453   .BYTE $94 ; ö
D454   .BYTE $A2 ; ó
D455   .BYTE   3
D456   .BYTE $20
D457   .BYTE $73 ; s
D458   .BYTE $57 ; W
D459   .BYTE $A2 ; ó
D45A   .BYTE $15
D45B   .BYTE $A0 ; á
D45C   .BYTE $52 ; R
D45D   .BYTE $A9 ; ®
D45E   .BYTE $FF
D45F   .BYTE $20
D460   .BYTE $9E ; ×
D461   .BYTE $50 ; P
D462   .BYTE $A2 ; ó
D463   .BYTE   2
D464   .BYTE $20
D465   .BYTE $59 ; Y
D466   .BYTE $57 ; W
D467   .BYTE $A2 ; ó
D468   .BYTE   7
D469   .BYTE $20
D46A   .BYTE $59 ; Y
D46B   .BYTE $57 ; W
D46C   .BYTE $A5 ; Ñ
D46D   .BYTE $82 ; é
D46E   .BYTE $F0 ; ­
D46F   .BYTE $13
D470   .BYTE $A6 ; ª
D471   .BYTE $94 ; ö
D472   .BYTE $BD ; ¢
D473   .BYTE $45 ; E
D474   .BYTE $55 ; U
D475   .BYTE $E6 ; µ
D476   .BYTE $94 ; ö
D477   .BYTE $A6 ; ª
D478   .BYTE $94 ; ö
D479   .BYTE $E0 ; Ó
D47A   .BYTE $13
D47B   .BYTE $D0 ; ð
D47C   .BYTE $14
D47D   .BYTE $20
D47E   .BYTE $B5 ; Á
D47F   .BYTE $53 ; S
D480   .BYTE $4C ; L
D481   .BYTE $91 ; æ
D482   .BYTE $52 ; R
D483   .BYTE $AD ; ¡
D484   .BYTE $FC ; ³
D485   .BYTE   2
D486   .BYTE $C9 ; +
D487   .BYTE $FF
D488   .BYTE $F0 ; ­
D489   .BYTE $F9 ; ¨
D48A   .BYTE $C9 ; +
D48B   .BYTE $C0 ; +
D48C   .BYTE $B0 ; ¦
D48D   .BYTE $F5 ; §
D48E   .BYTE $AD ; ¡
D48F   .BYTE $FC ; ³
D490   .BYTE   2
D491   .BYTE $A2 ; ó
D492   .BYTE $FF
D493   .BYTE $8E ; Ä
D494   .BYTE $FC ; ³
D495   .BYTE   2
D496   .BYTE $48 ; H
D497   .BYTE $29 ; )
D498   .BYTE $80 ; Ç
D499   .BYTE $F0 ; ­
D49A   .BYTE   5
D49B   .BYTE $A2 ; ó
D49C   .BYTE   8
D49D   .BYTE $20
D49E   .BYTE $59 ; Y
D49F   .BYTE $57 ; W
D4A0   .BYTE $68 ; h
D4A1   .BYTE $48 ; H
D4A2   .BYTE $29 ; )
D4A3   .BYTE $40 ; @
D4A4   .BYTE $F0 ; ­
D4A5   .BYTE  $A
D4A6   .BYTE $A2 ; ó
D4A7   .BYTE   5
D4A8   .BYTE $20
D4A9   .BYTE $59 ; Y
D4AA   .BYTE $57 ; W
D4AB   .BYTE $A2 ; ó
D4AC   .BYTE   4
D4AD   .BYTE $20
D4AE   .BYTE $59 ; Y
D4AF   .BYTE $57 ; W
D4B0   .BYTE $68 ; h
D4B1   .BYTE $29 ; )
D4B2   .BYTE $3F ; ?
D4B3   .BYTE $C9 ; +
D4B4   .BYTE $21 ; !
D4B5   .BYTE $F0 ; ­
D4B6   .BYTE $68 ; h
D4B7   .BYTE $C9 ; +
D4B8   .BYTE $2C ; ,
D4B9   .BYTE $F0 ; ­
D4BA   .BYTE $74 ; t
D4BB   .BYTE $C9 ; +
D4BC   .BYTE $34 ; 4
D4BD   .BYTE $F0 ; ­
D4BE   .BYTE $68 ; h
D4BF   .BYTE $C9 ; +
D4C0   .BYTE  $C
D4C1   .BYTE $F0 ; ­
D4C2   .BYTE $76 ; v
D4C3   .BYTE $AA ; ¬
D4C4   .BYTE $BD ; ¢
D4C5   .BYTE $9C ; £
D4C6   .BYTE $57 ; W
D4C7   .BYTE $48 ; H
D4C8   .BYTE $A9 ; ®
D4C9   .BYTE $21
D4CA   .BYTE $85 ; à
D4CB   .BYTE $95 ; ò
D4CC   .BYTE $A9 ; ®
D4CD   .BYTE $30 ; 0
D4CE   .BYTE $85 ; à
D4CF   .BYTE $96 ; û
D4D0   .BYTE $68 ; h
D4D1   .BYTE $A0 ; á
D4D2   .BYTE $FF
D4D3   .BYTE $C8 ; +
D4D4   .BYTE $D1 ; Ð
D4D5   .BYTE $95 ; ò
D4D6   .BYTE $D0 ; ð
D4D7   .BYTE $FB ; ¹
D4D8   .BYTE $B1 ; ¦
D4D9   .BYTE $95 ; ò
D4DA   .BYTE $49 ; I
D4DB   .BYTE $80 ; Ç
D4DC   .BYTE $91 ; æ
D4DD   .BYTE $95 ; ò
D4DE   .BYTE $A5 ; Ñ
D4DF   .BYTE $82 ; é
D4E0   .BYTE $F0 ; ­
D4E1   .BYTE $13
D4E2   .BYTE $20
D4E3   .BYTE   5
D4E4   .BYTE $55 ; U
D4E5   .BYTE $A2 ; ó
D4E6   .BYTE $14
D4E7   .BYTE $20
D4E8   .BYTE $B7 ; À
D4E9   .BYTE $53 ; S
D4EA   .BYTE $20
D4EB   .BYTE $10
D4EC   .BYTE $55 ; U
D4ED   .BYTE $A2 ; ó
D4EE   .BYTE  $A
D4EF   .BYTE $20
D4F0   .BYTE $B7 ; À
D4F1   .BYTE $53 ; S
D4F2   .BYTE $4C ; L
D4F3   .BYTE $62 ; b
D4F4   .BYTE $54 ; T
D4F5   .BYTE $20
D4F6   .BYTE   5
D4F7   .BYTE $55 ; U
D4F8   .BYTE $AD ; ¡
D4F9   .BYTE  $F
D4FA   .BYTE $D2 ; Ê
D4FB   .BYTE $29 ; )
D4FC   .BYTE   4
D4FD   .BYTE $F0 ; ­
D4FE   .BYTE $F9 ; ¨
D4FF   .BYTE $20
D500   .BYTE $10
D501   .BYTE $55 ; U
D502   .BYTE $4C ; L
D503   .BYTE $62 ; b
D504   .BYTE $54 ; T
D505   .BYTE $A9 ; ®
D506   .BYTE $64 ; d
D507   .BYTE $8D ; ì
D508   .BYTE   0
D509   .BYTE $D2 ; Ê
D50A   .BYTE $A9 ; ®
D50B   .BYTE $A8 ; ¿
D50C   .BYTE $8D ; ì
D50D   .BYTE   1
D50E   .BYTE $D2 ; Ê
D50F   .BYTE $60 ; `
D510   .BYTE $A9 ; ®
D511   .BYTE   0
D512   .BYTE $8D ; ì
D513   .BYTE   1
D514   .BYTE $D2 ; Ê
D515   .BYTE $8D ; ì
D516   .BYTE   3
D517   .BYTE $D2 ; Ê
D518   .BYTE $8D ; ì
D519   .BYTE   5
D51A   .BYTE $D2 ; Ê
D51B   .BYTE $8D ; ì
D51C   .BYTE   7
D51D   .BYTE $D2 ; Ê
D51E   .BYTE $60 ; `
D51F   .BYTE $A2 ; ó
D520   .BYTE   3
D521   .BYTE $20
D522   .BYTE $59 ; Y
D523   .BYTE $57 ; W
D524   .BYTE $4C ; L
D525   .BYTE $DE ; Ì
D526   .BYTE $54 ; T
D527   .BYTE $A2 ; ó
D528   .BYTE   6
D529   .BYTE $20
D52A   .BYTE $59 ; Y
D52B   .BYTE $57 ; W
D52C   .BYTE $4C ; L
D52D   .BYTE $DE ; Ì
D52E   .BYTE $54 ; T
D52F   .BYTE $A9 ; ®
D530   .BYTE $7F ; 
D531   .BYTE $8D ; ì
D532   .BYTE $52 ; R
D533   .BYTE $30 ; 0
D534   .BYTE $8D ; ì
D535   .BYTE $53 ; S
D536   .BYTE $30 ; 0
D537   .BYTE $D0 ; ð
D538   .BYTE $A5 ; Ñ
D539   .BYTE $A9 ; ®
D53A   .BYTE $32 ; 2
D53B   .BYTE $8D ; ì
D53C   .BYTE $6D ; m
D53D   .BYTE $30 ; 0
D53E   .BYTE $A9 ; ®
D53F   .BYTE $34 ; 4
D540   .BYTE $8D ; ì
D541   .BYTE $6E ; n
D542   .BYTE $30 ; 0
D543   .BYTE $D0 ; ð
D544   .BYTE $99 ; Ö
D545   .BYTE $52 ; R
D546   .BYTE   8
D547   .BYTE  $A
D548   .BYTE $2B ; +
D549   .BYTE $28 ; (
D54A   .BYTE  $D
D54B   .BYTE $3D ; =
D54C   .BYTE $39 ; 9
D54D   .BYTE $2D ; -
D54E   .BYTE $1F
D54F   .BYTE $30 ; 0
D550   .BYTE $35 ; 5
D551   .BYTE $1A
D552   .BYTE $7F ; 
D553   .BYTE $2D ; -
D554   .BYTE $3F ; ?
D555   .BYTE $28 ; (
D556   .BYTE  $D
D557   .BYTE $A2 ; ó
D558   .BYTE   2
D559   .BYTE $20
D55A   .BYTE $73 ; s
D55B   .BYTE $57 ; W
D55C   .BYTE $A9 ; ®
D55D   .BYTE   0
D55E   .BYTE $85 ; à
D55F   .BYTE $97 ; ù
D560   .BYTE $A9 ; ®
D561   .BYTE   0
D562   .BYTE $85 ; à
D563   .BYTE $98 ; ÿ
D564   .BYTE $A2 ; ó
D565   .BYTE $31 ; 1
D566   .BYTE $A0 ; á
D567   .BYTE $52 ; R
D568   .BYTE $A9 ; ®
D569   .BYTE   0
D56A   .BYTE $20
D56B   .BYTE $9E ; ×
D56C   .BYTE $50 ; P
D56D   .BYTE $A2 ; ó
D56E   .BYTE   9
D56F   .BYTE $20
D570   .BYTE $59 ; Y
D571   .BYTE $57 ; W
D572   .BYTE $A5 ; Ñ
D573   .BYTE $97 ; ù
D574   .BYTE $4A ; J
D575   .BYTE $18
D576   .BYTE $69 ; i
D577   .BYTE $11
D578   .BYTE $8D ; ì
D579   .BYTE  $B
D57A   .BYTE $30 ; 0
D57B   .BYTE $A2 ; ó
D57C   .BYTE  $F
D57D   .BYTE $A9 ; ®
D57E   .BYTE $FF
D57F   .BYTE $9D ; Ø
D580   .BYTE $50 ; P
D581   .BYTE $31 ; 1
D582   .BYTE $9D ; Ø
D583   .BYTE $B0 ; ¦
D584   .BYTE $31 ; 1
D585   .BYTE $9D ; Ø
D586   .BYTE $10
D587   .BYTE $32 ; 2
D588   .BYTE $9D ; Ø
D589   .BYTE $70 ; p
D58A   .BYTE $32 ; 2
D58B   .BYTE $9D ; Ø
D58C   .BYTE $D0 ; ð
D58D   .BYTE $32 ; 2
D58E   .BYTE $CA ; -
D58F   .BYTE $10
D590   .BYTE $EC ; ý
D591   .BYTE $A9 ; ®
D592   .BYTE   0
D593   .BYTE $85 ; à
D594   .BYTE $99 ; Ö
D595   .BYTE $A9 ; ®
D596   .BYTE  $C
D597   .BYTE $85 ; à
D598   .BYTE $9A ; Ü
D599   .BYTE $A6 ; ª
D59A   .BYTE $99 ; Ö
D59B   .BYTE $BD ; ¢
D59C   .BYTE $17
D59D   .BYTE $57 ; W
D59E   .BYTE $A8 ; ¿
D59F   .BYTE $BD ; ¢
D5A0   .BYTE $16
D5A1   .BYTE $57 ; W
D5A2   .BYTE $AA ; ¬
D5A3   .BYTE $A5 ; Ñ
D5A4   .BYTE $9A ; Ü
D5A5   .BYTE $20
D5A6   .BYTE $85 ; à
D5A7   .BYTE $56 ; V
D5A8   .BYTE $18
D5A9   .BYTE $A5 ; Ñ
D5AA   .BYTE $9A ; Ü
D5AB   .BYTE $69 ; i
D5AC   .BYTE   6
D5AD   .BYTE $85 ; à
D5AE   .BYTE $9A ; Ü
D5AF   .BYTE $E6 ; µ
D5B0   .BYTE $99 ; Ö
D5B1   .BYTE $E6 ; µ
D5B2   .BYTE $99 ; Ö
D5B3   .BYTE $A5 ; Ñ
D5B4   .BYTE $99 ; Ö
D5B5   .BYTE $C9 ; +
D5B6   .BYTE $14
D5B7   .BYTE $D0 ; ð
D5B8   .BYTE $E0 ; Ó
D5B9   .BYTE $20
D5BA   .BYTE $B1 ; ¦
D5BB   .BYTE $53 ; S
D5BC   .BYTE $A2 ; ó
D5BD   .BYTE $54 ; T
D5BE   .BYTE $A0 ; á
D5BF   .BYTE $31 ; 1
D5C0   .BYTE $A9 ; ®
D5C1   .BYTE   0
D5C2   .BYTE $20
D5C3   .BYTE $85 ; à
D5C4   .BYTE $56 ; V
D5C5   .BYTE $A9 ; ®
D5C6   .BYTE $51 ; Q
D5C7   .BYTE $20
D5C8   .BYTE $6C ; l
D5C9   .BYTE $56 ; V
D5CA   .BYTE $A2 ; ó
D5CB   .BYTE $86 ; å
D5CC   .BYTE $A0 ; á
D5CD   .BYTE $31 ; 1
D5CE   .BYTE $A9 ; ®
D5CF   .BYTE   0
D5D0   .BYTE $20
D5D1   .BYTE $85 ; à
D5D2   .BYTE $56 ; V
D5D3   .BYTE $A9 ; ®
D5D4   .BYTE $5B ; [
D5D5   .BYTE $20
D5D6   .BYTE $6C ; l
D5D7   .BYTE $56 ; V
D5D8   .BYTE $A2 ; ó
D5D9   .BYTE $F8 ; °
D5DA   .BYTE $A0 ; á
D5DB   .BYTE $30 ; 0
D5DC   .BYTE $A9 ; ®
D5DD   .BYTE $48 ; H
D5DE   .BYTE $20
D5DF   .BYTE $85 ; à
D5E0   .BYTE $56 ; V
D5E1   .BYTE $A2 ; ó
D5E2   .BYTE $C7 ; Ã
D5E3   .BYTE $A0 ; á
D5E4   .BYTE $30 ; 0
D5E5   .BYTE $A9 ; ®
D5E6   .BYTE $54 ; T
D5E7   .BYTE $20
D5E8   .BYTE $85 ; à
D5E9   .BYTE $56 ; V
D5EA   .BYTE $A2 ; ó
D5EB   .BYTE $48 ; H
D5EC   .BYTE $A0 ; á
D5ED   .BYTE $32 ; 2
D5EE   .BYTE $A9 ; ®
D5EF   .BYTE $4E ; N
D5F0   .BYTE $20
D5F1   .BYTE $85 ; à
D5F2   .BYTE $56 ; V
D5F3   .BYTE $A9 ; ®
D5F4   .BYTE $44 ; D
D5F5   .BYTE $20
D5F6   .BYTE $6C ; l
D5F7   .BYTE $56 ; V
D5F8   .BYTE $A2 ; ó
D5F9   .BYTE $CA ; -
D5FA   .BYTE $A0 ; á
D5FB   .BYTE $30 ; 0
D5FC   .BYTE $A9 ; ®
D5FD   .BYTE $48 ; H
D5FE   .BYTE $20
D5FF   .BYTE $85 ; à
D600   .BYTE $56 ; V
D601   .BYTE $A2 ; ó
D602   .BYTE $1A
D603   .BYTE $A0 ; á
D604   .BYTE $32 ; 2
D605   .BYTE $A9 ; ®
D606   .BYTE $4E ; N
D607   .BYTE $20
D608   .BYTE $85 ; à
D609   .BYTE $56 ; V
D60A   .BYTE $A2 ; ó
D60B   .BYTE $CA ; -
D60C   .BYTE $A0 ; á
D60D   .BYTE $31 ; 1
D60E   .BYTE $A9 ; ®
D60F   .BYTE   6
D610   .BYTE $20
D611   .BYTE $85 ; à
D612   .BYTE $56 ; V
D613   .BYTE $A9 ; ®
D614   .BYTE $3C ; <
D615   .BYTE $20
D616   .BYTE $6C ; l
D617   .BYTE $56 ; V
D618   .BYTE $A2 ; ó
D619   .BYTE $3C ; <
D61A   .BYTE $A0 ; á
D61B   .BYTE $30 ; 0
D61C   .BYTE $A9 ; ®
D61D   .BYTE $48 ; H
D61E   .BYTE $20
D61F   .BYTE $85 ; à
D620   .BYTE $56 ; V
D621   .BYTE $A2 ; ó
D622   .BYTE $8C ; î
D623   .BYTE $A0 ; á
D624   .BYTE $31 ; 1
D625   .BYTE $A9 ; ®
D626   .BYTE $4E ; N
D627   .BYTE $20
D628   .BYTE $85 ; à
D629   .BYTE $56 ; V
D62A   .BYTE $A2 ; ó
D62B   .BYTE $3C ; <
D62C   .BYTE $A0 ; á
D62D   .BYTE $31 ; 1
D62E   .BYTE $A9 ; ®
D62F   .BYTE   6
D630   .BYTE $20
D631   .BYTE $85 ; à
D632   .BYTE $56 ; V
D633   .BYTE $A9 ; ®
D634   .BYTE $2D ; -
D635   .BYTE $20
D636   .BYTE $6C ; l
D637   .BYTE $56 ; V
D638   .BYTE $A2 ; ó
D639   .BYTE $9E ; ×
D63A   .BYTE $A0 ; á
D63B   .BYTE $30 ; 0
D63C   .BYTE $A9 ; ®
D63D   .BYTE $48 ; H
D63E   .BYTE $20
D63F   .BYTE $85 ; à
D640   .BYTE $56 ; V
D641   .BYTE $A2 ; ó
D642   .BYTE $EE ; ¯
D643   .BYTE $A0 ; á
D644   .BYTE $31 ; 1
D645   .BYTE $A9 ; ®
D646   .BYTE $4E ; N
D647   .BYTE $20
D648   .BYTE $85 ; à
D649   .BYTE $56 ; V
D64A   .BYTE $A9 ; ®
D64B   .BYTE $35 ; 5
D64C   .BYTE $20
D64D   .BYTE $6C ; l
D64E   .BYTE $56 ; V
D64F   .BYTE $20
D650   .BYTE $B5 ; Á
D651   .BYTE $53 ; S
D652   .BYTE $E6 ; µ
D653   .BYTE $97 ; ù
D654   .BYTE $E6 ; µ
D655   .BYTE $97 ; ù
D656   .BYTE $A5 ; Ñ
D657   .BYTE $97 ; ù
D658   .BYTE $C9 ; +
D659   .BYTE   8
D65A   .BYTE $D0 ; ð
D65B   .BYTE   7
D65C   .BYTE $A5 ; Ñ
D65D   .BYTE $82 ; é
D65E   .BYTE $D0 ; ð
D65F   .BYTE   6
D660   .BYTE $4C ; L
D661   .BYTE $5C ; \
D662   .BYTE $55 ; U
D663   .BYTE $4C ; L
D664   .BYTE $60 ; `
D665   .BYTE $55 ; U
D666   .BYTE $20
D667   .BYTE $B5 ; Á
D668   .BYTE $53 ; S
D669   .BYTE $4C ; L
D66A   .BYTE $50 ; P
D66B   .BYTE $54 ; T
D66C   .BYTE $A4 ; ñ
D66D   .BYTE $97 ; ù
D66E   .BYTE $99 ; Ö
D66F   .BYTE   0
D670   .BYTE $D2 ; Ê
D671   .BYTE $A9 ; ®
D672   .BYTE $A8 ; ¿
D673   .BYTE $99 ; Ö
D674   .BYTE   1
D675   .BYTE $D2 ; Ê
D676   .BYTE $A6 ; ª
D677   .BYTE $98 ; ÿ
D678   .BYTE $BD ; ¢
D679   .BYTE $B6 ; Â
D67A   .BYTE $56 ; V
D67B   .BYTE $AA ; ¬
D67C   .BYTE $20
D67D   .BYTE $B7 ; À
D67E   .BYTE $53 ; S
D67F   .BYTE $E6 ; µ
D680   .BYTE $98 ; ÿ
D681   .BYTE $20
D682   .BYTE $10
D683   .BYTE $55 ; U
D684   .BYTE $60 ; `
D685   .BYTE $86 ; å
D686   .BYTE $9B ; ø
D687   .BYTE $84 ; ä
D688   .BYTE $9C ; £
D689   .BYTE $AA ; ¬
D68A   .BYTE $A0 ; á
D68B   .BYTE   0
D68C   .BYTE $A9 ; ®
D68D   .BYTE $10
D68E   .BYTE $85 ; à
D68F   .BYTE $9D ; Ø
D690   .BYTE $A9 ; ®
D691   .BYTE   6
D692   .BYTE $85 ; à
D693   .BYTE $A3 ; ú
D694   .BYTE $BD ; ¢
D695   .BYTE $BC ; +
D696   .BYTE $56 ; V
D697   .BYTE $11
D698   .BYTE $9B ; ø
D699   .BYTE $91 ; æ
D69A   .BYTE $9B ; ø
D69B   .BYTE $20
D69C   .BYTE $AA ; ¬
D69D   .BYTE $56 ; V
D69E   .BYTE $C6 ; ã
D69F   .BYTE $9D ; Ø
D6A0   .BYTE $D0 ; ð
D6A1   .BYTE $F2 ; =
D6A2   .BYTE $E6 ; µ
D6A3   .BYTE $9D ; Ø
D6A4   .BYTE $E8 ; Þ
D6A5   .BYTE $C6 ; ã
D6A6   .BYTE $A3 ; ú
D6A7   .BYTE $D0 ; ð
D6A8   .BYTE $EB ; Ù
D6A9   .BYTE $60 ; `
D6AA   .BYTE $18
D6AB   .BYTE $A5 ; Ñ
D6AC   .BYTE $9B ; ø
D6AD   .BYTE $69 ; i
D6AE   .BYTE $10
D6AF   .BYTE $85 ; à
D6B0   .BYTE $9B ; ø
D6B1   .BYTE $90 ; É
D6B2   .BYTE   2
D6B3   .BYTE $E6 ; µ
D6B4   .BYTE $9C ; £
D6B5   .BYTE $60 ; `
D6B6   .BYTE $20
D6B7   .BYTE $20
D6B8   .BYTE $20
D6B9   .BYTE $10
D6BA   .BYTE $10
D6BB   .BYTE $20
D6BC   .BYTE   1
D6BD   .BYTE $1F
D6BE   .BYTE $3F ; ?
D6BF   .BYTE $7F ; 
D6C0   .BYTE $3E ; >
D6C1   .BYTE $1C
D6C2   .BYTE   0
D6C3   .BYTE $41 ; A
D6C4   .BYTE $42 ; B
D6C5   .BYTE $4C ; L
D6C6   .BYTE $70 ; p
D6C7   .BYTE $40 ; @
D6C8   .BYTE   0
D6C9   .BYTE   1
D6CA   .BYTE   2
D6CB   .BYTE   4
D6CC   .BYTE   8
D6CD   .BYTE $10
D6CE   .BYTE   0
D6CF   .BYTE $43 ; C
D6D0   .BYTE $44 ; D
D6D1   .BYTE $48 ; H
D6D2   .BYTE $48 ; H
D6D3   .BYTE $48 ; H
D6D4   .BYTE   0
D6D5   .BYTE $44 ; D
D6D6   .BYTE $22 ; "
D6D7   .BYTE $10
D6D8   .BYTE   8
D6D9   .BYTE   7
D6DA   .BYTE   0
D6DB   .BYTE   4
D6DC   .BYTE   8
D6DD   .BYTE   5
D6DE   .BYTE   2
D6DF   .BYTE   0
D6E0   .BYTE   0
D6E1   .BYTE $30 ; 0
D6E2   .BYTE $48 ; H
D6E3   .BYTE $88 ; ê
D6E4   .BYTE $84 ; ä
D6E5   .BYTE $84 ; ä
D6E6   .BYTE   0
D6E7   .BYTE $88 ; ê
D6E8   .BYTE $88 ; ê
D6E9   .BYTE $90 ; É
D6EA   .BYTE $A0 ; á
D6EB   .BYTE $C0 ; +
D6EC   .BYTE   0
D6ED   .BYTE $F0 ; ­
D6EE   .BYTE $88 ; ê
D6EF   .BYTE $84 ; ä
D6F0   .BYTE $82 ; é
D6F1   .BYTE $82 ; é
D6F2   .BYTE   0
D6F3   .BYTE $82 ; é
D6F4   .BYTE $82 ; é
D6F5   .BYTE $84 ; ä
D6F6   .BYTE $88 ; ê
D6F7   .BYTE $F0 ; ­
D6F8   .BYTE   0
D6F9   .BYTE   0
D6FA   .BYTE   0
D6FB   .BYTE   0
D6FC   .BYTE   0
D6FD   .BYTE $80 ; Ç
D6FE   .BYTE $80 ; Ç
D6FF   .BYTE $80 ; Ç
D700   .BYTE $80 ; Ç
D701   .BYTE $80 ; Ç
D702   .BYTE $80 ; Ç
D703   .BYTE $80 ; Ç
D704   .BYTE   0
D705   .BYTE $1C
D706   .BYTE $3E ; >
D707   .BYTE $7F ; 
D708   .BYTE $7E ; ~
D709   .BYTE $7C ; |
D70A   .BYTE $40 ; @
D70B   .BYTE   0
D70C   .BYTE   0
D70D   .BYTE   0
D70E   .BYTE   0
D70F   .BYTE   0
D710   .BYTE   0
D711   .BYTE   4
D712   .BYTE   4
D713   .BYTE   6
D714   .BYTE   5
D715   .BYTE   6
D716   .BYTE $C1 ; -
D717   .BYTE $30 ; 0
D718   .BYTE $21 ; !
D719   .BYTE $31 ; 1
D71A   .BYTE $81 ; ü
D71B   .BYTE $31 ; 1
D71C   .BYTE $F1 ; ±
D71D   .BYTE $31 ; 1
D71E   .BYTE   2
D71F   .BYTE $30 ; 0
D720   .BYTE $62 ; b
D721   .BYTE $30 ; 0
D722   .BYTE $22 ; "
D723   .BYTE $31 ; 1
D724   .BYTE $82 ; é
D725   .BYTE $31 ; 1
D726   .BYTE $C2 ; -
D727   .BYTE $30 ; 0
D728   .BYTE $C2 ; -
D729   .BYTE $31 ; 1
D72A   .BYTE $48 ; H
D72B   .BYTE $BD ; ¢
D72C   .BYTE $DC ; _
D72D   .BYTE $57 ; W
D72E   .BYTE $85 ; à
D72F   .BYTE $9E ; ×
D730   .BYTE $BD ; ¢
D731   .BYTE $DD ; ¦
D732   .BYTE $57 ; W
D733   .BYTE $85 ; à
D734   .BYTE $9F ; ƒ
D735   .BYTE $BD ; ¢
D736   .BYTE $DE ; Ì
D737   .BYTE $57 ; W
D738   .BYTE $85 ; à
D739   .BYTE $A0 ; á
D73A   .BYTE $BD ; ¢
D73B   .BYTE $DF ; ¯
D73C   .BYTE $57 ; W
D73D   .BYTE $85 ; à
D73E   .BYTE $A1 ; í
D73F   .BYTE $A0 ; á
D740   .BYTE   0
D741   .BYTE $68 ; h
D742   .BYTE $91 ; æ
D743   .BYTE $9E ; ×
D744   .BYTE $E6 ; µ
D745   .BYTE $9E ; ×
D746   .BYTE $D0 ; ð
D747   .BYTE   2
D748   .BYTE $E6 ; µ
D749   .BYTE $9F ; ƒ
D74A   .BYTE $48 ; H
D74B   .BYTE $A5 ; Ñ
D74C   .BYTE $9E ; ×
D74D   .BYTE $C5 ; +
D74E   .BYTE $A0 ; á
D74F   .BYTE $D0 ; ð
D750   .BYTE $F0 ; ­
D751   .BYTE $A5 ; Ñ
D752   .BYTE $9F ; ƒ
D753   .BYTE $C5 ; +
D754   .BYTE $A1 ; í
D755   .BYTE $D0 ; ð
D756   .BYTE $EA ; Û
D757   .BYTE $68 ; h
D758   .BYTE $60 ; `
D759   .BYTE $BD ; ¢
D75A   .BYTE $57 ; W
D75B   .BYTE $CA ; -
D75C   .BYTE $A8 ; ¿
D75D   .BYTE $BD ; ¢
D75E   .BYTE $EC ; ý
D75F   .BYTE $57 ; W
D760   .BYTE $85 ; à
D761   .BYTE $9E ; ×
D762   .BYTE $BD ; ¢
D763   .BYTE $F6 ; ÷
D764   .BYTE $57 ; W
D765   .BYTE $AA ; ¬
D766   .BYTE $B9 ; ¦
D767   .BYTE $61 ; a
D768   .BYTE $CA ; -
D769   .BYTE $9D ; Ø
D76A   .BYTE   0
D76B   .BYTE $30 ; 0
D76C   .BYTE $C8 ; +
D76D   .BYTE $E8 ; Þ
D76E   .BYTE $C6 ; ã
D76F   .BYTE $9E ; ×
D770   .BYTE $D0 ; ð
D771   .BYTE $F4 ; ¶
D772   .BYTE $60 ; `
D773   .BYTE $BD ; ¢
D774   .BYTE $8C ; î
D775   .BYTE $57 ; W
D776   .BYTE $8D ; ì
D777   .BYTE $C4 ; -
D778   .BYTE   2
D779   .BYTE $BD ; ¢
D77A   .BYTE $90 ; É
D77B   .BYTE $57 ; W
D77C   .BYTE $8D ; ì
D77D   .BYTE $C5 ; +
D77E   .BYTE   2
D77F   .BYTE $BD ; ¢
D780   .BYTE $94 ; ö
D781   .BYTE $57 ; W
D782   .BYTE $8D ; ì
D783   .BYTE $C6 ; ã
D784   .BYTE   2
D785   .BYTE $BD ; ¢
D786   .BYTE $98 ; ÿ
D787   .BYTE $57 ; W
D788   .BYTE $8D ; ì
D789   .BYTE $C8 ; +
D78A   .BYTE   2
D78B   .BYTE $60 ; `
D78C   .BYTE $2C ; ,
D78D   .BYTE  $C
D78E   .BYTE $2A ; *
D78F   .BYTE $18
D790   .BYTE  $F
D791   .BYTE $32 ; 2
D792   .BYTE  $C
D793   .BYTE  $E
D794   .BYTE $D2 ; Ê
D795   .BYTE $D6 ; Í
D796   .BYTE   0
D797   .BYTE $B4 ; ¦
D798   .BYTE $D2 ; Ê
D799   .BYTE $A0 ; á
D79A   .BYTE $30 ; 0
D79B   .BYTE $B4 ; ¦
D79C   .BYTE $2C ; ,
D79D   .BYTE $2A ; *
D79E   .BYTE $1B
D79F   .BYTE $91 ; æ
D7A0   .BYTE $92 ; Æ
D7A1   .BYTE $2B ; +
D7A2   .BYTE  $B
D7A3   .BYTE  $A
D7A4   .BYTE $2F ; /
D7A5   .BYTE   0
D7A6   .BYTE $30 ; 0
D7A7   .BYTE $35 ; 5
D7A8   .BYTE $B2 ; ¦
D7A9   .BYTE $29 ; )
D7AA   .BYTE  $D
D7AB   .BYTE $1D
D7AC   .BYTE $36 ; 6
D7AD   .BYTE $A8 ; ¿
D7AE   .BYTE $23 ; #
D7AF   .BYTE $93 ; ô
D7B0   .BYTE $94 ; ö
D7B1   .BYTE $22 ; "
D7B2   .BYTE $38 ; 8
D7B3   .BYTE $3A ; :
D7B4   .BYTE $14
D7B5   .BYTE   0
D7B6   .BYTE $13
D7B7   .BYTE $16
D7B8   .BYTE $5B ; [
D7B9   .BYTE $15
D7BA   .BYTE $12
D7BB   .BYTE $11
D7BC   .BYTE  $C
D7BD   .BYTE   0
D7BE   .BYTE  $E
D7BF   .BYTE $2E ; .
D7C0   .BYTE   0
D7C1   .BYTE $2D ; -
D7C2   .BYTE  $F
D7C3   .BYTE $A1 ; í
D7C4   .BYTE $32 ; 2
D7C5   .BYTE   0
D7C6   .BYTE $25 ; %
D7C7   .BYTE $39 ; 9
D7C8   .BYTE $FF
D7C9   .BYTE $34 ; 4
D7CA   .BYTE $37 ; 7
D7CB   .BYTE $31 ; 1
D7CC   .BYTE $19
D7CD   .BYTE   0
D7CE   .BYTE $10
D7CF   .BYTE $17
D7D0   .BYTE $A2 ; ó
D7D1   .BYTE $18
D7D2   .BYTE $1C
D7D3   .BYTE $1E
D7D4   .BYTE $26 ; &
D7D5   .BYTE $28 ; (
D7D6   .BYTE $24 ; $
D7D7   .BYTE   0
D7D8   .BYTE $A3 ; ú
D7D9   .BYTE $27 ; '
D7DA   .BYTE $33 ; 3
D7DB   .BYTE $21 ; !
D7DC   .BYTE   0
D7DD   .BYTE $30 ; 0
D7DE   .BYTE $FF
D7DF   .BYTE $3E ; >
D7E0   .BYTE $20
D7E1   .BYTE $30 ; 0
D7E2   .BYTE $24 ; $
D7E3   .BYTE $30 ; 0
D7E4   .BYTE $24 ; $
D7E5   .BYTE $30 ; 0
D7E6   .BYTE $28 ; (
D7E7   .BYTE $30 ; 0
D7E8   .BYTE   0
D7E9   .BYTE $30 ; 0
D7EA   .BYTE $20
D7EB   .BYTE $30 ; 0
D7EC   .BYTE $13
D7ED   .BYTE   3
D7EE   .BYTE $13
D7EF   .BYTE $13
D7F0   .BYTE   4
D7F1   .BYTE   4
D7F2   .BYTE   3
D7F3   .BYTE $A8 ; ¿
D7F4   .BYTE   3
D7F5   .BYTE   7
D7F6   .BYTE   0
D7F7   .BYTE $28 ; (
D7F8   .BYTE   0
D7F9   .BYTE $B7 ; À
D7FA   .BYTE $92 ; Æ
D7FB   .BYTE $AB ; ½
D7FC   .BYTE $4C ; L
D7FD   .BYTE $22 ; "
D7FE   .BYTE $72 ; r
D7FF   .BYTE   4
D800   .BYTE $20
D801   .BYTE $A1 ; í
D802   .BYTE $DB ; ¦
D803 byte_D803:.BYTE $20           ; ...
D804   .BYTE $BB ; +
D805 unk_D805:.BYTE $DB ; ¦        ; ...
D806   .BYTE $B0 ; ¦
D807   .BYTE $39 ; 9
D808
D808 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
D808
D808
D808 sub_D808:                     ; ...
D808   LDX   #$ED
D80A
D80A loc_D80A:                     ; ...
D80A   LDY   #4
D80C
D80C loc_D80C:                     ; ...
D80C   JSR   loc_DA48
D80F   LDX   #$FF
D811   STX   byte_F1
D813   JSR   clearD4ToD9           ; D4 [#6] = 0
D816   BEQ   loc_D81C
D818
D818 loc_D818:                     ; ...
D818   LDA   #$FF
D81A   STA   byte_F0
D81C
D81C loc_D81C:                     ; ...
D81C   JSR   sub_DB94
D81F   BCS   loc_D842
D821   PHA
D822   LDX   byte_D5
D824   BNE   loc_D837
D826   JSR   sub_DBEB
D829   PLA
D82A   ORA   byte_D9
D82C   STA   byte_D9
D82E   LDX   byte_F1
D830   BMI   loc_D818
D832   INX
D833   STX   byte_F1
D835   BNE   loc_D818
D837
D837 loc_D837:                     ; ...
D837   PLA
D838   LDX   byte_F1
D83A   BPL   loc_D83E
D83C   INC   byte_ED
D83E
D83E loc_D83E:                     ; ...
D83E   JMP   loc_D818
D83E ; ---------------------------------------------------------------------------
D841   .BYTE $60 ; `
D842 ; ---------------------------------------------------------------------------
D842
D842 loc_D842:                     ; ...
D842   CMP   #$2E
D844   BEQ   loc_D85A
D846   CMP   #$45
D848   BEQ   loc_D863
D84A   LDX   byte_F0
D84C   BNE   loc_D8B6
D84E   CMP   #$2B
D850   BEQ   loc_D818
D852   CMP   #$2D
D854   BEQ   loc_D856
D856
D856 loc_D856:
D856   STA   byte_EE
D858   BEQ   loc_D818
D85A
D85A loc_D85A:                     ; ...
D85A   LDX   byte_F1
D85C   BPL   loc_D8B6
D85E   INX
D85F   STX   byte_F1
D861   BEQ   loc_D818
D863
D863 loc_D863:                     ; ...
D863   LDA   byte_F2
D865   STA   byte_EC
D867   JSR   sub_DB94
D86A   BCS   loc_D8A3
D86C
D86C loc_D86C:                     ; ...
D86C   TAX
D86D   LDA   byte_ED
D86F   PHA
D870   STX   byte_ED
D872   JSR   sub_DB94
D875   BCS   loc_D88E
D877   PHA
D878   LDA   byte_ED
D87A   ASL   A
D87B   STA   byte_ED
D87D   ASL   A
D87E   ASL   A
D87F   ADC   byte_ED
D881   STA   byte_ED
D883   PLA
D884   CLC
D885   ADC   byte_ED
D887   STA   byte_ED
D889   LDY   byte_F2
D88B   JSR   sub_DB9D
D88E
D88E loc_D88E:                     ; ...
D88E   LDA   byte_EF
D890   BEQ   loc_D89B
D892   LDA   byte_ED
D894   EOR   #$FF
D896   CLC
D897   ADC   #1
D899   STA   byte_ED
D89B
D89B loc_D89B:                     ; ...
D89B   PLA
D89C   CLC
D89D   ADC   byte_ED
D89F   STA   byte_ED
D8A1   BNE   loc_D8B6
D8A3
D8A3 loc_D8A3:                     ; ...
D8A3   CMP   #$2B
D8A5   BEQ   loc_D8AD
D8A7   CMP   #$2D
D8A9   BNE   loc_D8B2
D8AB   STA   byte_EF
D8AD
D8AD loc_D8AD:                     ; ...
D8AD   JSR   sub_DB94
D8B0   BCC   loc_D86C
D8B2
D8B2 loc_D8B2:                     ; ...
D8B2   LDA   byte_EC
D8B4   STA   byte_F2
D8B6
D8B6 loc_D8B6:                     ; ...
D8B6   DEC   byte_F2
D8B8   LDA   byte_ED
D8BA   LDX   byte_F1
D8BC   BMI   loc_D8C3
D8BE   BEQ   loc_D8C3
D8C0   SEC
D8C1   SBC   byte_F1
D8C3
D8C3 loc_D8C3:                     ; ...
D8C3   PHA
D8C4   ROL   A
D8C5   PLA
D8C6   ROR   A
D8C7   STA   byte_ED
D8C9   BCC   loc_D8CE
D8CB   JSR   sub_DBEB
D8CE
D8CE loc_D8CE:                     ; ...
D8CE   LDA   byte_ED
D8D0   CLC
D8D1   ADC   #$44
D8D3   STA   byte_D4
D8D5   JSR   sub_DC00
D8D8   BCS   locret_D8E5
D8DA   LDX   byte_EE
D8DC   BEQ   loc_D8E4
D8DE   LDA   byte_D4
D8E0   ORA   #$80
D8E2   STA   byte_D4
D8E4
D8E4 loc_D8E4:                     ; ...
D8E4   CLC
D8E5
D8E5 locret_D8E5:                  ; ...
D8E5   RTS
D8E5 ; End of function sub_D808
D8E5
D8E6
D8E6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
D8E6
D8E6
D8E6 sub_D8E6:                     ; ...
D8E6   JSR   sub_DA51
D8E9   LDA   #$30
D8EB   STA   byte_57F
D8EE   LDA   byte_D4
D8F0   BEQ   loc_D91A
D8F2   AND   #$7F
D8F4   CMP   #$3F
D8F6   BCC   loc_D920
D8F8   CMP   #$45
D8FA   BCS   loc_D920
D8FC   SEC
D8FD   SBC   #$3F
D8FF   JSR   sub_DC70
D902   JSR   sub_DCA4
D905   ORA   #$80
D907   STA   byte_580,X
D90A   LDA   byte_580
D90D   CMP   #$2E
D90F   BEQ   loc_D914
D911   JMP   loc_D988
D914 ; ---------------------------------------------------------------------------
D914
D914 loc_D914:                     ; ...
D914   JSR   sub_DCC1
D917   JMP   loc_D99C
D91A ; ---------------------------------------------------------------------------
D91A
D91A loc_D91A:                     ; ...
D91A   LDA   #$B0
D91C   STA   byte_580
D91F   RTS
D920 ; ---------------------------------------------------------------------------
D920
D920 loc_D920:                     ; ...
D920   LDA   #1
D922   JSR   sub_DC70
D925   JSR   sub_DCA4
D928   INX
D929   STX   byte_F2
D92B   LDA   byte_D4
D92D   ASL   A
D92E   SEC
D92F   SBC   #$80
D931   LDX   byte_580
D934   CPX   #$30
D936   BEQ   loc_D94F
D938   LDX   byte_581
D93B   LDY   byte_582
D93E   STX   byte_582
D941   STY   byte_581
D944   LDX   byte_F2
D946   CPX   #2
D948   BNE   loc_D94C
D94A   INC   byte_F2
D94C
D94C loc_D94C:                     ; ...
D94C   CLC
D94D   ADC   #1
D94F
D94F loc_D94F:                     ; ...
D94F   STA   byte_ED
D951   LDA   #$45
D953   LDY   byte_F2
D955   JSR   sub_DC9F
D958   STY   byte_F2
D95A   LDA   byte_ED
D95C   BPL   loc_D969
D95E   LDA   #0
D960   SEC
D961   SBC   byte_ED
D963   STA   byte_ED
D965   LDA   #$2D
D967   BNE   loc_D96B
D969
D969 loc_D969:                     ; ...
D969   LDA   #$2B
D96B
D96B loc_D96B:                     ; ...
D96B   JSR   sub_DC9F
D96E   LDX   #0
D970   LDA   byte_ED
D972
D972 loc_D972:                     ; ...
D972   SEC
D973   SBC   #$A
D975   BCC   loc_D97A
D977   INX
D978   BNE   loc_D972
D97A
D97A loc_D97A:                     ; ...
D97A   CLC
D97B   ADC   #$A
D97D   PHA
D97E   TXA
D97F   JSR   sub_DC9D
D982   PLA
D983   ORA   #$80
D985   JSR   sub_DC9D
D988
D988 loc_D988:                     ; ...
D988   LDA   byte_580
D98B   CMP   #$30
D98D   BNE   loc_D99C
D98F   CLC
D990   LDA   byte_F3
D992   ADC   #1
D994   STA   byte_F3
D996   LDA   byte_F4
D998   ADC   #0
D99A   STA   byte_F4
D99C
D99C loc_D99C:                     ; ...
D99C   LDA   byte_D4
D99E   BPL   locret_D9A9
D9A0   JSR   sub_DCC1
D9A3   LDY   #0
D9A5   LDA   #$2D
D9A7   STA   (byte_F3),Y
D9A9
D9A9 locret_D9A9:                  ; ...
D9A9   RTS
D9A9 ; End of function sub_D8E6
D9A9
D9AA
D9AA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
D9AA
D9AA ; convert D4[#6] to BCD number
D9AA
D9AA convertD4ToBcd:               ; ...
D9AA   LDA   byte_D4
D9AC   STA   byte_F8
D9AE   LDA   byte_D5
D9B0   STA   byte_F7               ; byte_F7/byte_F8 = byte_D5/byte_D4
D9B2   JSR   clearD4ToD9           ; D4 [#6] = 0
D9B5   SED
D9B6   LDY   #16                   ; 16 bits
D9B8
D9B8 loc_D9B8:                     ; ...
D9B8   ASL   byte_F8               ; for (Y=16; Y!=0; Y--) {
D9BA   ROL   byte_F7               ;   byte_F7/byte_F8 C<<
D9BC   LDX   #3                    ;   // 3 octets
D9BE
D9BE loc_D9BE:                     ; ...
D9BE   LDA   byte_D4,X
D9C0   ADC   byte_D4,X
D9C2   STA   byte_D4,X
D9C4   DEX
D9C5   BNE   loc_D9BE              ;   byte_D4 [X] += C*3
D9C7   DEY
D9C8   BNE   loc_D9B8              ; }
D9CA   CLD
D9CB   LDA   #$42
D9CD   STA   byte_D4               ; byte_D4 = $42
D9CF   JMP   sub_DC00
D9CF ; End of function convertD4ToBcd
D9CF
D9D2
D9D2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
D9D2
D9D2 ; convert D4[#6] to NoBCD number
D9D2
D9D2 convertD4ToNoBcd:             ; ...
D9D2   LDA   #0
D9D4   STA   byte_F7
D9D6   STA   byte_F8
D9D8   LDA   byte_D4
D9DA   BMI   loc_DA42
D9DC   CMP   #$43
D9DE   BCS   loc_DA42
D9E0   SEC
D9E1   SBC   #$40
D9E3   BCC   loc_DA24
D9E5   ADC   #0
D9E7   ASL   A
D9E8   STA   byte_F5
D9EA
D9EA loc_D9EA:                     ; ...
D9EA   JSR   sub_DA5A
D9ED   BCS   loc_DA42
D9EF   LDA   byte_F7
D9F1   STA   byte_F9
D9F3   LDA   byte_F8
D9F5   STA   byte_FA
D9F7   JSR   sub_DA5A
D9FA   BCS   loc_DA42
D9FC   JSR   sub_DA5A
D9FF   BCS   loc_DA42
DA01   CLC
DA02   LDA   byte_F8
DA04   ADC   byte_FA
DA06   STA   byte_F8
DA08   LDA   byte_F7
DA0A   ADC   byte_F9
DA0C   STA   byte_F7
DA0E   BCS   loc_DA42
DA10   JSR   sub_DCB9
DA13   CLC
DA14   ADC   byte_F8
DA16   STA   byte_F8
DA18   LDA   byte_F7
DA1A   ADC   #0
DA1C   BCS   loc_DA42
DA1E   STA   byte_F7
DA20   DEC   byte_F5
DA22   BNE   loc_D9EA
DA24
DA24 loc_DA24:                     ; ...
DA24   JSR   sub_DCB9
DA27   CMP   #5
DA29   BCC   loc_DA38
DA2B   CLC
DA2C   LDA   byte_F8
DA2E   ADC   #1
DA30   STA   byte_F8
DA32   LDA   byte_F7
DA34   ADC   #0
DA36   STA   byte_F7
DA38
DA38 loc_DA38:                     ; ...
DA38   LDA   byte_F8
DA3A   STA   byte_D4
DA3C   LDA   byte_F7
DA3E   STA   byte_D5
DA40   CLC
DA41   RTS
DA42 ; ---------------------------------------------------------------------------
DA42
DA42 loc_DA42:                     ; ...
DA42   SEC
DA43   RTS
DA43 ; End of function convertD4ToNoBcd
DA43
DA44
DA44 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DA44
DA44 ; D4 [#6] = 0
DA44
DA44 clearD4ToD9:                  ; ...
DA44   LDX   #$D4
DA46   LDY   #6
DA48
DA48 loc_DA48:                     ; ...
DA48   LDA   #0
DA4A
DA4A loc_DA4A:                     ; ...
DA4A   STA   0,X
DA4C   INX
DA4D   DEY
DA4E   BNE   loc_DA4A
DA50   RTS
DA50 ; End of function clearD4ToD9
DA50
DA51
DA51 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DA51
DA51
DA51 sub_DA51:                     ; ...
DA51   LDA   #5
DA53   STA   byte_F4
DA55   LDA   #byte_80
DA57   STA   byte_F3
DA59   RTS
DA59 ; End of function sub_DA51
DA59
DA5A
DA5A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DA5A
DA5A
DA5A sub_DA5A:                     ; ...
DA5A   CLC
DA5B   ROL   byte_F8
DA5D   ROL   byte_F7
DA5F   RTS
DA5F ; End of function sub_DA5A
DA5F
DA60
DA60 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DA60
DA60 ; D4 [#6] -= E0 [#6]
DA60
DA60 subE0ToD4Bcd2:                ; ...
DA60   LDA   byte_E0
DA62   EOR   #$80
DA64   STA   byte_E0
DA64 ; End of function subE0ToD4Bcd2
DA64
DA66
DA66 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DA66
DA66 ; D4 [#6] += E0 [#6]
DA66
DA66 addE0ToD4Bcd2:                ; ...
DA66   LDA   byte_E0
DA68   AND   #$7F
DA6A   STA   byte_F7
DA6C   LDA   byte_D4
DA6E   AND   #$7F
DA70   SEC
DA71   SBC   byte_F7
DA73   BPL   loc_DA85
DA75   LDX   #5
DA77
DA77 loc_DA77:                     ; ...
DA77   LDA   byte_D4,X
DA79   LDY   byte_E0,X
DA7B   STA   byte_E0,X
DA7D   TYA
DA7E   STA   byte_D4,X
DA80   DEX
DA81   BPL   loc_DA77
DA83   BMI   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
DA85
DA85 loc_DA85:                     ; ...
DA85   BEQ   loc_DA8E
DA87   CMP   #5
DA89   BCS   loc_DAA4
DA8B   JSR   sub_DC3E
DA8E
DA8E loc_DA8E:                     ; ...
DA8E   SED
DA8F   LDA   byte_D4
DA91   EOR   byte_E0
DA93   BMI   loc_DAB3
DA95   LDX   #4
DA97   CLC
DA98
DA98 loc_DA98:                     ; ...
DA98   LDA   byte_D5,X
DA9A   ADC   byte_E1,X
DA9C   STA   byte_D5,X
DA9E   DEX
DA9F   BPL   loc_DA98
DAA1   CLD
DAA2   BCS   loc_DAA7
DAA4
DAA4 loc_DAA4:                     ; ...
DAA4   JMP   sub_DC00
DAA7 ; ---------------------------------------------------------------------------
DAA7
DAA7 loc_DAA7:                     ; ...
DAA7   LDA   #1
DAA9   JSR   sub_DC3A
DAAC   LDA   #1
DAAE   STA   byte_D5
DAB0   JMP   sub_DC00
DAB3 ; ---------------------------------------------------------------------------
DAB3
DAB3 loc_DAB3:                     ; ...
DAB3   LDX   #4
DAB5   SEC
DAB6
DAB6 loc_DAB6:                     ; ...
DAB6   LDA   byte_D5,X
DAB8   SBC   byte_E1,X
DABA   STA   byte_D5,X
DABC   DEX
DABD   BPL   loc_DAB6
DABF   BCC   loc_DAC5
DAC1   CLD
DAC2   JMP   sub_DC00
DAC5 ; ---------------------------------------------------------------------------
DAC5
DAC5 loc_DAC5:                     ; ...
DAC5   LDA   byte_D4
DAC7   EOR   #$80
DAC9   STA   byte_D4
DACB   SEC
DACC   LDX   #4
DACE
DACE loc_DACE:                     ; ...
DACE   LDA   #0
DAD0   SBC   byte_D5,X
DAD2   STA   byte_D5,X
DAD4   DEX
DAD5   BPL   loc_DACE
DAD7   CLD
DAD8   JMP   sub_DC00
DAD8 ; End of function addE0ToD4Bcd2
DAD8
DADB
DADB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DADB
DADB ; D4 [#6] *= E0 [#6]
DADB
DADB mulE0ToD4Bcd:                 ; ...
DADB   LDA   byte_D4
DADD   BEQ   loc_DB24
DADF   LDA   byte_E0
DAE1   BEQ   loc_DB21
DAE3   JSR   sub_DCCF
DAE6   SEC
DAE7   SBC   #$40
DAE9   SEC
DAEA   ADC   byte_E0
DAEC   BMI   loc_DB26
DAEE   JSR   sub_DCE0
DAF1
DAF1 loc_DAF1:                     ; ...
DAF1   LDA   byte_DF
DAF3   AND   #$F
DAF5   STA   byte_F6
DAF7
DAF7 loc_DAF7:                     ; ...
DAF7   DEC   byte_F6
DAF9   BMI   loc_DB01
DAFB   JSR   sub_DD01
DAFE   JMP   loc_DAF7
DB01 ; ---------------------------------------------------------------------------
DB01
DB01 loc_DB01:                     ; ...
DB01   LDA   byte_DF
DB03   LSR   A
DB04   LSR   A
DB05   LSR   A
DB06   LSR   A
DB07   STA   byte_F6
DB09
DB09 loc_DB09:                     ; ...
DB09   DEC   byte_F6
DB0B   BMI   loc_DB13
DB0D   JSR   sub_DD05
DB10   JMP   loc_DB09
DB13 ; ---------------------------------------------------------------------------
DB13
DB13 loc_DB13:                     ; ...
DB13   JSR   sub_DC62
DB16   DEC   byte_F5
DB18   BNE   loc_DAF1
DB1A
DB1A loc_DB1A:                     ; ...
DB1A   LDA   byte_ED
DB1C   STA   byte_D4
DB1E   JMP   loc_DC04
DB21 ; ---------------------------------------------------------------------------
DB21
DB21 loc_DB21:                     ; ...
DB21   JSR   clearD4ToD9           ; D4 [#6] = 0
DB24
DB24 loc_DB24:                     ; ...
DB24   CLC
DB25   RTS
DB26 ; ---------------------------------------------------------------------------
DB26
DB26 loc_DB26:                     ; ...
DB26   SEC
DB27   RTS
DB27 ; End of function mulE0ToD4Bcd
DB27
DB28
DB28 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DB28
DB28 ; D4 [#6] /= E0 [#6]
DB28
DB28 divD4ByE0Bcd:                 ; ...
DB28   LDA   byte_E0
DB2A   BEQ   loc_DB26
DB2C   LDA   byte_D4
DB2E   BEQ   loc_DB24
DB30   JSR   sub_DCCF
DB33   SEC
DB34   SBC   byte_E0
DB36   CLC
DB37   ADC   #$40
DB39   BMI   loc_DB26
DB3B   JSR   sub_DCE0
DB3E   INC   byte_F5
DB40   JMP   loc_DB4E
DB43 ; ---------------------------------------------------------------------------
DB43
DB43 loc_DB43:                     ; ...
DB43   LDX   #0
DB45
DB45 loc_DB45:                     ; ...
DB45   LDA   byte_D5,X
DB47   STA   byte_D4,X
DB49   INX
DB4A   CPX   #$C
DB4C   BNE   loc_DB45
DB4E
DB4E loc_DB4E:                     ; ...
DB4E   LDY   #5
DB50   SEC
DB51   SED
DB52
DB52 loc_DB52:                     ; ...
DB52   LDA   byte_DA,Y
DB55   SBC   byte_E6,Y
DB58   STA   byte_DA,Y
DB5B   DEY
DB5C   BPL   loc_DB52
DB5E   CLD
DB5F   BCC   loc_DB65
DB61   INC   byte_D9
DB63   BNE   loc_DB4E
DB65
DB65 loc_DB65:                     ; ...
DB65   JSR   sub_DD0F
DB68   ASL   byte_D9
DB6A   ASL   byte_D9
DB6C   ASL   byte_D9
DB6E   ASL   byte_D9
DB70
DB70 loc_DB70:                     ; ...
DB70   LDY   #5
DB72   SEC
DB73   SED
DB74
DB74 loc_DB74:                     ; ...
DB74   LDA   byte_DA,Y
DB77   SBC   byte_E0,Y
DB7A   STA   byte_DA,Y
DB7D   DEY
DB7E   BPL   loc_DB74
DB80   CLD
DB81   BCC   loc_DB87
DB83   INC   byte_D9
DB85   BNE   loc_DB70
DB87
DB87 loc_DB87:                     ; ...
DB87   JSR   sub_DD09
DB8A   DEC   byte_F5
DB8C   BNE   loc_DB43
DB8E   JSR   sub_DC62
DB91   JMP   loc_DB1A
DB91 ; End of function divD4ByE0Bcd
DB91
DB94
DB94 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DB94
DB94
DB94 sub_DB94:                     ; ...
DB94   JSR   sub_DBAF
DB97   LDY   byte_F2
DB99   BCC   sub_DB9D
DB9B   LDA   ($F3),Y
DB9B ; End of function sub_DB94
DB9B
DB9D
DB9D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DB9D
DB9D
DB9D sub_DB9D:                     ; ...
DB9D   INY
DB9E   STY   byte_F2
DBA0   RTS
DBA0 ; End of function sub_DB9D
DBA0
DBA0 ; ---------------------------------------------------------------------------
DBA1   .BYTE $A4 ; ñ
DBA2   .BYTE $F2 ; =
DBA3   .BYTE $A9 ; ®
DBA4   .BYTE $20
DBA5   .BYTE $D1 ; Ð
DBA6   .BYTE $F3 ; ¾
DBA7   .BYTE $D0 ; ð
DBA8   .BYTE   3
DBA9   .BYTE $C8 ; +
DBAA   .BYTE $D0 ; ð
DBAB   .BYTE $F9 ; ¨
DBAC   .BYTE $84 ; ä
DBAD   .BYTE $F2 ; =
DBAE   .BYTE $60 ; `
DBAF
DBAF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DBAF
DBAF
DBAF sub_DBAF:                     ; ...
DBAF   LDY   byte_F2
DBB1   LDA   ($F3),Y
DBB3   SEC
DBB4   SBC   #$30
DBB6   BCC   loc_DBD0
DBB8   CMP   #$A
DBBA   RTS
DBBA ; ---------------------------------------------------------------------------
DBBB   .BYTE $A5 ; Ñ
DBBC   .BYTE $F2 ; =
DBBD   .BYTE $48 ; H
DBBE   .BYTE $20
DBBF   .BYTE $94 ; ö
DBC0   .BYTE $DB ; ¦
DBC1   .BYTE $90 ; É
DBC2   .BYTE $1F
DBC3   .BYTE $C9 ; +
DBC4   .BYTE $2E ; .
DBC5   .BYTE $F0 ; ­
DBC6   .BYTE $14
DBC7   .BYTE $C9 ; +
DBC8   .BYTE $2B ; +
DBC9   .BYTE $F0 ; ­
DBCA   .BYTE   7
DBCB   .BYTE $C9 ; +
DBCC   .BYTE $2D ; -
DBCD   .BYTE $F0 ; ­
DBCE   .BYTE   3
DBCF   .BYTE $68 ; h
DBD0 ; ---------------------------------------------------------------------------
DBD0
DBD0 loc_DBD0:                     ; ...
DBD0   SEC
DBD1   RTS
DBD1 ; End of function sub_DBAF
DBD1
DBD1 ; ---------------------------------------------------------------------------
DBD2   .BYTE $20
DBD3   .BYTE $94 ; ö
DBD4   .BYTE $DB ; ¦
DBD5   .BYTE $90 ; É
DBD6   .BYTE  $B
DBD7   .BYTE $C9 ; +
DBD8   .BYTE $2E ; .
DBD9   .BYTE $D0 ; ð
DBDA   .BYTE $F4 ; ¶
DBDB   .BYTE $20
DBDC   .BYTE $94 ; ö
DBDD   .BYTE $DB ; ¦
DBDE   .BYTE $90 ; É
DBDF   .BYTE   2
DBE0   .BYTE $B0 ; ¦
DBE1   .BYTE $ED ; Ý
DBE2   .BYTE $68 ; h
DBE3   .BYTE $85 ; à
DBE4   .BYTE $F2 ; =
DBE5   .BYTE $18
DBE6   .BYTE $60 ; `
DBE7
DBE7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DBE7
DBE7
DBE7 sub_DBE7:                     ; ...
DBE7   LDX   #$E7
DBE9   BNE   loc_DBED
DBE9 ; End of function sub_DBE7
DBE9
DBEB
DBEB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DBEB
DBEB
DBEB sub_DBEB:                     ; ...
DBEB   LDX   #$D5
DBED
DBED loc_DBED:                     ; ...
DBED   LDY   #4
DBEF
DBEF loc_DBEF:                     ; ...
DBEF   CLC
DBF0   ROL   4,X
DBF2   ROL   3,X
DBF4   ROL   2,X
DBF6   ROL   1,X
DBF8   ROL   0,X
DBFA   ROL   byte_EC
DBFC   DEY
DBFD   BNE   loc_DBEF
DBFF   RTS
DBFF ; End of function sub_DBEB
DBFF
DC00
DC00 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC00
DC00
DC00 sub_DC00:                     ; ...
DC00   LDX   #0
DC02   STX   byte_DA               ; byte_DA = 0
DC04
DC04 loc_DC04:                     ; ...
DC04   LDX   #4                    ; X = 4
DC06   LDA   byte_D4               ; A = byte_D4
DC08   BEQ   loc_DC38
DC0A
DC0A loc_DC0A:                     ; ...
DC0A   LDA   byte_D5
DC0C   BNE   loc_DC28
DC0E   LDY   #0
DC10
DC10 loc_DC10:                     ; ...
DC10   LDA   byte_D6,Y
DC13   STA   byte_D5,Y
DC16   INY
DC17   CPY   #5
DC19   BCC   loc_DC10
DC1B   DEC   byte_D4
DC1D   DEX
DC1E   BNE   loc_DC0A
DC20   LDA   byte_D5
DC22   BNE   loc_DC28
DC24   STA   byte_D4
DC26   CLC
DC27   RTS
DC28 ; ---------------------------------------------------------------------------
DC28
DC28 loc_DC28:                     ; ...
DC28   LDA   byte_D4
DC2A   AND   #01111111b
DC2C   CMP   #$71
DC2E   BCC   loc_DC31
DC30   RTS
DC31 ; ---------------------------------------------------------------------------
DC31
DC31 loc_DC31:                     ; ...
DC31   CMP   #$F
DC33   BCS   loc_DC38
DC35   JSR   clearD4ToD9           ; D4 [#6] = 0
DC38
DC38 loc_DC38:                     ; ...
DC38   CLC
DC39   RTS
DC39 ; End of function sub_DC00
DC39
DC3A
DC3A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC3A
DC3A
DC3A sub_DC3A:                     ; ...
DC3A   LDX   #$D4
DC3C   BNE   loc_DC40
DC3C ; End of function sub_DC3A
DC3C
DC3E
DC3E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC3E
DC3E
DC3E sub_DC3E:                     ; ...
DC3E   LDX   #$E0
DC40
DC40 loc_DC40:                     ; ...
DC40   STX   byte_F9
DC42   STA   byte_F7
DC44   STA   byte_F8
DC46
DC46 loc_DC46:                     ; ...
DC46   LDY   #4
DC48
DC48 loc_DC48:                     ; ...
DC48   LDA   4,X
DC4A   STA   5,X
DC4C   DEX
DC4D   DEY
DC4E   BNE   loc_DC48
DC50   LDA   #0
DC52   STA   5,X
DC54   LDX   byte_F9
DC56   DEC   byte_F7
DC58   BNE   loc_DC46
DC5A   LDA   0,X
DC5C   CLC
DC5D   ADC   byte_F8
DC5F   STA   0,X
DC61   RTS
DC61 ; End of function sub_DC3E
DC61
DC62
DC62 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC62
DC62
DC62 sub_DC62:                     ; ...
DC62   LDX   #$A
DC64
DC64 loc_DC64:                     ; ...
DC64   LDA   byte_D4,X
DC66   STA   byte_D5,X
DC68   DEX
DC69   BPL   loc_DC64
DC6B   LDA   #0
DC6D   STA   byte_D4
DC6F   RTS
DC6F ; End of function sub_DC62
DC6F
DC70
DC70 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC70
DC70
DC70 sub_DC70:                     ; ...
DC70   STA   byte_F7
DC72   LDX   #0
DC74   LDY   #0
DC76
DC76 loc_DC76:                     ; ...
DC76   JSR   sub_DC93
DC79   SEC
DC7A   SBC   #1
DC7C   STA   byte_F7
DC7E   LDA   byte_D5,X
DC80   LSR   A
DC81   LSR   A
DC82   LSR   A
DC83   LSR   A
DC84   JSR   sub_DC9D
DC87   LDA   byte_D5,X
DC89   AND   #$F
DC8B   JSR   sub_DC9D
DC8E   INX
DC8F   CPX   #5
DC91   BCC   loc_DC76
DC91 ; End of function sub_DC70
DC91
DC93
DC93 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC93
DC93
DC93 sub_DC93:                     ; ...
DC93   LDA   byte_F7
DC95   BNE   locret_DC9C
DC97   LDA   #$2E
DC99   JSR   sub_DC9F
DC9C
DC9C locret_DC9C:                  ; ...
DC9C   RTS
DC9C ; End of function sub_DC93
DC9C
DC9D
DC9D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC9D
DC9D
DC9D sub_DC9D:                     ; ...
DC9D   ORA   #$30
DC9D ; End of function sub_DC9D
DC9D
DC9F
DC9F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DC9F
DC9F
DC9F sub_DC9F:                     ; ...
DC9F   STA   byte_580,Y
DCA2   INY
DCA3   RTS
DCA3 ; End of function sub_DC9F
DCA3
DCA4
DCA4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DCA4
DCA4
DCA4 sub_DCA4:                     ; ...
DCA4   LDX   #$A
DCA6
DCA6 loc_DCA6:                     ; ...
DCA6   LDA   byte_580,X
DCA9   CMP   #byte_2E
DCAB   BEQ   loc_DCB4
DCAD   CMP   #byte_30
DCAF   BNE   locret_DCB8
DCB1   DEX
DCB2   BNE   loc_DCA6
DCB4
DCB4 loc_DCB4:                     ; ...
DCB4   DEX
DCB5   LDA   byte_580,X
DCB8
DCB8 locret_DCB8:                  ; ...
DCB8   RTS
DCB8 ; End of function sub_DCA4
DCB8
DCB9
DCB9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DCB9
DCB9
DCB9 sub_DCB9:                     ; ...
DCB9   JSR   sub_DBEB
DCBC   LDA   byte_EC
DCBE   AND   #$F
DCC0   RTS
DCC0 ; End of function sub_DCB9
DCC0
DCC1
DCC1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DCC1
DCC1
DCC1 sub_DCC1:                     ; ...
DCC1   SEC
DCC2   LDA   byte_F3
DCC4   SBC   #1
DCC6   STA   byte_F3
DCC8   LDA   byte_F4
DCCA   SBC   #0
DCCC   STA   byte_F4
DCCE   RTS
DCCE ; End of function sub_DCC1
DCCE
DCCF
DCCF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DCCF
DCCF
DCCF sub_DCCF:                     ; ...
DCCF   LDA   byte_D4
DCD1   EOR   byte_E0
DCD3   AND   #$80
DCD5   STA   byte_EE
DCD7   ASL   byte_E0
DCD9   LSR   byte_E0
DCDB   LDA   byte_D4
DCDD   AND   #$7F
DCDF   RTS
DCDF ; End of function sub_DCCF
DCDF
DCE0
DCE0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DCE0
DCE0
DCE0 sub_DCE0:                     ; ...
DCE0   ORA   byte_EE
DCE2   STA   byte_ED
DCE4   LDA   #0
DCE6   STA   byte_D4
DCE8   STA   byte_E0
DCEA   JSR   sub_DD28
DCED   JSR   sub_DBE7
DCF0   LDA   byte_EC
DCF2   AND   #$F
DCF4   STA   byte_E6
DCF6   LDA   #5
DCF8   STA   byte_F5
DCFA   JSR   sub_DD34
DCFD   JSR   clearD4ToD9           ; D4 [#6] = 0
DD00   RTS
DD00 ; End of function sub_DCE0
DD00
DD01
DD01 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD01
DD01
DD01 sub_DD01:                     ; ...
DD01   LDX   #$D9
DD03   BNE   loc_DD0B
DD03 ; End of function sub_DD01
DD03
DD05
DD05 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD05
DD05
DD05 sub_DD05:                     ; ...
DD05   LDX   #$D9
DD07   BNE   loc_DD11
DD07 ; End of function sub_DD05
DD07
DD09
DD09 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD09
DD09
DD09 sub_DD09:                     ; ...
DD09   LDX   #$DF
DD0B
DD0B loc_DD0B:                     ; ...
DD0B   LDY   #$E5
DD0D   BNE   loc_DD13
DD0D ; End of function sub_DD09
DD0D
DD0F
DD0F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD0F
DD0F
DD0F sub_DD0F:                     ; ...
DD0F   LDX   #$DF
DD11
DD11 loc_DD11:                     ; ...
DD11   LDY   #$EB
DD13
DD13 loc_DD13:                     ; ...
DD13   LDA   #5
DD15   STA   byte_F7
DD17   CLC
DD18   SED
DD19
DD19 loc_DD19:                     ; ...
DD19   LDA   0,X
DD1B   ADC   0,Y
DD1E   STA   0,X
DD20   DEX
DD21   DEY
DD22   DEC   byte_F7
DD24   BPL   loc_DD19
DD26   CLD
DD27   RTS
DD27 ; End of function sub_DD0F
DD27
DD28
DD28 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD28
DD28
DD28 sub_DD28:                     ; ...
DD28   LDY   #5
DD2A
DD2A loc_DD2A:                     ; ...
DD2A   LDA   byte_E0,Y
DD2D   STA   byte_E6,Y
DD30   DEY
DD31   BPL   loc_DD2A
DD33   RTS
DD33 ; End of function sub_DD28
DD33
DD34
DD34 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD34
DD34
DD34 sub_DD34:                     ; ...
DD34   LDY   #5
DD36
DD36 loc_DD36:                     ; ...
DD36   LDA   byte_D4,Y
DD39   STA   byte_DA,Y
DD3C   DEY
DD3D   BPL   loc_DD36
DD3F   RTS
DD3F ; End of function sub_DD34
DD3F
DD40
DD40 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD40
DD40
DD40 sub_DD40:                     ; ...
DD40   STX   byte_FE
DD42   STY   byte_FF
DD44   STA   byte_EF
DD46   LDX   #$E0
DD48   LDY   #5
DD4A   JSR   copyD4To_Yx_          ; (Y/X) = D4 [#6]
DD4D   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
DD50   LDX   byte_FE
DD52   LDY   byte_FF
DD54   JSR   sub_DD89              ; D4 [#6] = (Y/X)
DD57   DEC   byte_EF
DD59   BEQ   locret_DD88
DD5B
DD5B loc_DD5B:                     ; ...
DD5B   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
DD5E   BCS   locret_DD88
DD60   CLC
DD61   LDA   byte_FE
DD63   ADC   #6
DD65   STA   byte_FE
DD67   BCC   loc_DD6F
DD69   LDA   byte_FF
DD6B   ADC   #0
DD6D   STA   byte_FF
DD6F
DD6F loc_DD6F:                     ; ...
DD6F   LDX   byte_FE
DD71   LDY   byte_FF
DD73   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DD76   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
DD79   BCS   locret_DD88
DD7B   DEC   byte_EF
DD7D   BEQ   locret_DD88
DD7F   LDX   #$E0
DD81   LDY   #5
DD83   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DD86   BMI   loc_DD5B
DD88
DD88 locret_DD88:                  ; ...
DD88   RTS
DD88 ; End of function sub_DD40
DD88
DD89
DD89 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD89
DD89 ; D4 [#6] = (Y/X)
DD89
DD89 sub_DD89:                     ; ...
DD89   STX   byte_FC
DD8B   STY   byte_FD
DD8D   LDY   #5
DD8F
DD8F loc_DD8F:                     ; ...
DD8F   LDA   (byte_FC),Y
DD91   STA   byte_D4,Y
DD94   DEY
DD95   BPL   loc_DD8F
DD97   RTS
DD97 ; End of function sub_DD89
DD97
DD98
DD98 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DD98
DD98 ; E0 [#6] = (Y/X)
DD98
DD98 copy_Yx_ToE0:                 ; ...
DD98   STX   byte_FC
DD9A   STY   byte_FD
DD9C   LDY   #5
DD9E
DD9E loc_DD9E:                     ; ...
DD9E   LDA   (byte_FC),Y
DDA0   STA   byte_E0,Y
DDA3   DEY
DDA4   BPL   loc_DD9E
DDA6   RTS
DDA6 ; End of function copy_Yx_ToE0
DDA6
DDA7
DDA7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DDA7
DDA7 ; (Y/X) = D4 [#6]
DDA7
DDA7 copyD4To_Yx_:                 ; ...
DDA7   STX   byte_FC
DDA9   STY   byte_FD
DDAB   LDY   #5
DDAD
DDAD loc_DDAD:                     ; ...
DDAD   LDA   byte_D4,Y
DDB0   STA   (byte_FC),Y
DDB2   DEY
DDB3   BPL   loc_DDAD
DDB5   RTS
DDB5 ; End of function copyD4To_Yx_
DDB5
DDB6
DDB6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DDB6
DDB6 ; E0 [#6] = D4 [#6]
DDB6
DDB6 copyD4ToE0:                   ; ...
DDB6   LDX   #5
DDB8
DDB8 loc_DDB8:                     ; ...
DDB8   LDA   byte_D4,X
DDBA   STA   byte_E0,X
DDBC   DEX
DDBD   BPL   loc_DDB8
DDBF   RTS
DDBF ; End of function copyD4ToE0
DDBF
DDC0
DDC0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DDC0
DDC0
DDC0 sub_DDC0:
DDC0   LDX   #$89
DDC2   LDY   #$DE
DDC4   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DDC7   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
DDCA   BCS   loc_DE4B
DDCC   LDA   #0
DDCE   STA   byte_F1
DDD0   LDA   byte_D4
DDD2   STA   byte_F0
DDD4   AND   #$7F
DDD6   STA   byte_D4
DDD8   SEC
DDD9   SBC   #$40
DDDB   BMI   loc_DE03
DDDD   CMP   #4
DDDF   BPL   loc_DE4B
DDE1   LDX   #$E6
DDE3   LDY   #5
DDE5   JSR   copyD4To_Yx_          ; (Y/X) = D4 [#6]
DDE8   JSR   convertD4ToNoBcd      ; convert D4[#6] to NoBCD number
DDEB   LDA   byte_D4
DDED   STA   byte_F1
DDEF   LDA   byte_D5
DDF1   BNE   loc_DE4B
DDF3   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
DDF6   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
DDF9   LDX   #$E6
DDFB   LDY   #5
DDFD   JSR   sub_DD89              ; D4 [#6] = (Y/X)
DE00   JSR   subE0ToD4Bcd2         ; D4 [#6] -= E0 [#6]
DE03
DE03 loc_DE03:                     ; ...
DE03   LDA   #$A
DE05   LDX   #$4D
DE07   LDY   #$DE
DE09   JSR   sub_DD40
DE0C   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
DE0F   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
DE12   LDA   byte_F1
DE14   BEQ   loc_DE39
DE16   CLC
DE17   ROR   A
DE18   STA   byte_E0
DE1A   LDA   #1
DE1C   BCC   loc_DE20
DE1E   LDA   #$10
DE20
DE20 loc_DE20:                     ; ...
DE20   STA   byte_E1
DE22   LDX   #4
DE24   LDA   #0
DE26
DE26 loc_DE26:                     ; ...
DE26   STA   $E2,X
DE28   DEX
DE29   BPL   loc_DE26
DE2B   LDA   byte_E0
DE2D   CLC
DE2E   ADC   #$40
DE30   BCS   loc_DE4B
DE32   BMI   loc_DE4B
DE34   STA   byte_E0
DE36   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
DE39
DE39 loc_DE39:                     ; ...
DE39   LDA   byte_F0
DE3B   BPL   locret_DE4A
DE3D   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
DE40   LDX   #$8F
DE42   LDY   #$DE
DE44   JSR   sub_DD89              ; D4 [#6] = (Y/X)
DE47   JSR   divD4ByE0Bcd          ; D4 [#6] /= E0 [#6]
DE4A
DE4A locret_DE4A:                  ; ...
DE4A   RTS
DE4B ; ---------------------------------------------------------------------------
DE4B
DE4B loc_DE4B:                     ; ...
DE4B   SEC
DE4C   RTS
DE4C ; End of function sub_DDC0
DE4C
DE4C ; ---------------------------------------------------------------------------
DE4D   .BYTE $3D ; =
DE4E   .BYTE $17
DE4F   .BYTE $94 ; ö
DE50   .BYTE $19
DE51   .BYTE   0
DE52   .BYTE   0
DE53   .BYTE $3D ; =
DE54   .BYTE $57 ; W
DE55   .BYTE $33 ; 3
DE56   .BYTE   5
DE57   .BYTE   0
DE58   .BYTE   0
DE59   .BYTE $3E ; >
DE5A   .BYTE   5
DE5B   .BYTE $54 ; T
DE5C   .BYTE $76 ; v
DE5D   .BYTE $62 ; b
DE5E   .BYTE   0
DE5F   .BYTE $3E ; >
DE60   .BYTE $32 ; 2
DE61   .BYTE $19
DE62   .BYTE $62 ; b
DE63   .BYTE $27 ; '
DE64   .BYTE   0
DE65   .BYTE $3F ; ?
DE66   .BYTE   1
DE67   .BYTE $68 ; h
DE68   .BYTE $60 ; `
DE69   .BYTE $30 ; 0
DE6A   .BYTE $36 ; 6
DE6B   .BYTE $3F ; ?
DE6C   .BYTE   7
DE6D   .BYTE $32 ; 2
DE6E   .BYTE   3
DE6F   .BYTE $27 ; '
DE70   .BYTE $41 ; A
DE71   .BYTE $3F ; ?
DE72   .BYTE $25 ; %
DE73   .BYTE $43 ; C
DE74   .BYTE $34 ; 4
DE75   .BYTE $56 ; V
DE76   .BYTE $75 ; u
DE77   .BYTE $3F ; ?
DE78   .BYTE $66 ; f
DE79   .BYTE $27 ; '
DE7A   .BYTE $37 ; 7
DE7B   .BYTE $30 ; 0
DE7C   .BYTE $50 ; P
DE7D   .BYTE $40 ; @
DE7E   .BYTE   1
DE7F   .BYTE $15
DE80   .BYTE $12
DE81   .BYTE $92 ; Æ
DE82   .BYTE $55 ; U
DE83   .BYTE $3F ; ?
DE84   .BYTE $99 ; Ö
DE85   .BYTE $99 ; Ö
DE86   .BYTE $99 ; Ö
DE87   .BYTE $99 ; Ö
DE88   .BYTE $99 ; Ö
DE89   .BYTE $3F ; ?
DE8A   .BYTE $43 ; C
DE8B   .BYTE $42 ; B
DE8C   .BYTE $94 ; ö
DE8D   .BYTE $48 ; H
DE8E   .BYTE $19
DE8F   .BYTE $40 ; @
DE90   .BYTE   1
DE91   .BYTE   0
DE92   .BYTE   0
DE93   .BYTE   0
DE94   .BYTE   0
DE95
DE95 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DE95
DE95
DE95 sub_DE95:                     ; ...
DE95   STX   byte_FE
DE97   STY   byte_FF
DE99   LDX   #$E0
DE9B   LDY   #5
DE9D   JSR   copyD4To_Yx_          ; (Y/X) = D4 [#6]
DEA0   LDX   byte_FE
DEA2   LDY   byte_FF
DEA4   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DEA7   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
DEAA   LDX   #$E6
DEAC   LDY   #5
DEAE   JSR   copyD4To_Yx_          ; (Y/X) = D4 [#6]
DEB1   LDX   #$E0
DEB3   LDY   #5
DEB5   JSR   sub_DD89              ; D4 [#6] = (Y/X)
DEB8   LDX   byte_FE
DEBA   LDY   byte_FF
DEBC   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DEBF   JSR   subE0ToD4Bcd2         ; D4 [#6] -= E0 [#6]
DEC2   LDX   #$E6
DEC4   LDY   #5
DEC6   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DEC9   JSR   divD4ByE0Bcd          ; D4 [#6] /= E0 [#6]
DECC   RTS
DECC ; End of function sub_DE95
DECC
DECD
DECD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DECD
DECD
DECD sub_DECD:
DECD   LDA   #1
DECF   BNE   loc_DED3
DED1   LDA   #0
DED3
DED3 loc_DED3:                     ; ...
DED3   STA   byte_F0
DED5   LDA   byte_D4
DED7   BEQ   loc_DEDE
DED9   BMI   loc_DEDE
DEDB   JMP   sub_DFF6
DEDE ; ---------------------------------------------------------------------------
DEDE
DEDE loc_DEDE:                     ; ...
DEDE   SEC
DEDF   RTS
DEDF ; End of function sub_DECD
DEDF
DEE0 ; ---------------------------------------------------------------------------
DEE0 ; START OF FUNCTION CHUNK FOR sub_DFF6
DEE0
DEE0 loc_DEE0:                     ; ...
DEE0   SBC   #$40
DEE2   ASL   A
DEE3   STA   byte_F1
DEE5   LDA   byte_D5
DEE7   AND   #$F0
DEE9   BNE   loc_DEEF
DEEB   LDA   #1
DEED   BNE   loc_DEF3
DEEF
DEEF loc_DEEF:                     ; ...
DEEF   INC   byte_F1
DEF1   LDA   #$10
DEF3
DEF3 loc_DEF3:                     ; ...
DEF3   STA   byte_E1
DEF5   LDX   #4
DEF7   LDA   #0
DEF9
DEF9 loc_DEF9:                     ; ...
DEF9   STA   $E2,X
DEFB   DEX
DEFC   BPL   loc_DEF9
DEFE   JSR   divD4ByE0Bcd          ; D4 [#6] /= E0 [#6]
DF01   LDX   #$66
DF03   LDY   #$DF
DF05   JSR   sub_DE95
DF08   LDX   #$E6
DF0A   LDY   #5
DF0C   JSR   copyD4To_Yx_          ; (Y/X) = D4 [#6]
DF0F   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
DF12   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
DF15   LDA   #$A
DF17   LDX   #$72
DF19   LDY   #$DF
DF1B   JSR   sub_DD40
DF1E   LDX   #$E6
DF20   LDY   #5
DF22   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DF25   JSR   mulE0ToD4Bcd          ; D4 [#6] *= E0 [#6]
DF28   LDX   #$6C
DF2A   LDY   #$DF
DF2C   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DF2F   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
DF32   JSR   copyD4ToE0            ; E0 [#6] = D4 [#6]
DF35   LDA   #0
DF37   STA   byte_D5
DF39   LDA   byte_F1
DF3B   STA   byte_D4
DF3D   BPL   loc_DF46
DF3F   EOR   #$FF
DF41   CLC
DF42   ADC   #1
DF44   STA   byte_D4
DF46
DF46 loc_DF46:                     ; ...
DF46   JSR   convertD4ToBcd        ; convert D4[#6] to BCD number
DF49   BIT   byte_F1
DF4B   BPL   loc_DF53
DF4D   LDA   #$80
DF4F   ORA   byte_D4
DF51   STA   byte_D4
DF53
DF53 loc_DF53:                     ; ...
DF53   JSR   addE0ToD4Bcd2         ; D4 [#6] += E0 [#6]
DF56   LDA   byte_F0
DF58   BEQ   loc_DF64
DF5A   LDX   #$89
DF5C   LDY   #$DE
DF5E   JSR   copy_Yx_ToE0          ; E0 [#6] = (Y/X)
DF61   JSR   divD4ByE0Bcd          ; D4 [#6] /= E0 [#6]
DF64
DF64 loc_DF64:                     ; ...
DF64   CLC
DF65   RTS
DF65 ; END OF FUNCTION CHUNK FOR sub_DFF6
DF65 ; ---------------------------------------------------------------------------
DF66   .BYTE $40 ; @
DF67   .BYTE   3
DF68   .BYTE $16
DF69   .BYTE $22 ; "
DF6A   .BYTE $77 ; w
DF6B   .BYTE $66 ; f
DF6C   .BYTE $3F ; ?
DF6D   .BYTE $50 ; P
DF6E   .BYTE   0
DF6F   .BYTE   0
DF70   .BYTE   0
DF71   .BYTE   0
DF72   .BYTE $3F ; ?
DF73   .BYTE $49 ; I
DF74   .BYTE $15
DF75   .BYTE $57 ; W
DF76   .BYTE $11
DF77   .BYTE   8
DF78   .BYTE $BF ; +
DF79   .BYTE $51 ; Q
DF7A   .BYTE $70 ; p
DF7B   .BYTE $49 ; I
DF7C   .BYTE $47 ; G
DF7D   .BYTE   8
DF7E   .BYTE $3F ; ?
DF7F   .BYTE $39 ; 9
DF80   .BYTE $20
DF81   .BYTE $57 ; W
DF82   .BYTE $61 ; a
DF83   .BYTE $95 ; ò
DF84   .BYTE $BF ; +
DF85   .BYTE   4
DF86   .BYTE $39 ; 9
DF87   .BYTE $63 ; c
DF88   .BYTE   3
DF89   .BYTE $55 ; U
DF8A   .BYTE $3F ; ?
DF8B   .BYTE $10
DF8C   .BYTE   9
DF8D   .BYTE $30 ; 0
DF8E   .BYTE $12
DF8F   .BYTE $64 ; d
DF90   .BYTE $3F ; ?
DF91   .BYTE   9
DF92   .BYTE $39 ; 9
DF93   .BYTE   8
DF94   .BYTE   4
DF95   .BYTE $60 ; `
DF96   .BYTE $3F ; ?
DF97   .BYTE $12
DF98   .BYTE $42 ; B
DF99   .BYTE $58 ; X
DF9A   .BYTE $47 ; G
DF9B   .BYTE $42 ; B
DF9C   .BYTE $3F ; ?
DF9D   .BYTE $17
DF9E   .BYTE $37 ; 7
DF9F   .BYTE $12
DFA0   .BYTE   6
DFA1   .BYTE   8
DFA2   .BYTE $3F ; ?
DFA3   .BYTE $28 ; (
DFA4   .BYTE $95 ; ò
DFA5   .BYTE $29 ; )
DFA6   .BYTE $71 ; q
DFA7   .BYTE $17
DFA8   .BYTE $3F ; ?
DFA9   .BYTE $86 ; å
DFAA   .BYTE $85 ; à
DFAB   .BYTE $88 ; ê
DFAC   .BYTE $96 ; û
DFAD   .BYTE $44 ; D
DFAE   .BYTE $3E ; >
DFAF   .BYTE $16
DFB0   .BYTE   5
DFB1   .BYTE $44 ; D
DFB2   .BYTE $49 ; I
DFB3   .BYTE   0
DFB4   .BYTE $BE ; ¥
DFB5   .BYTE $95 ; ò
DFB6   .BYTE $68 ; h
DFB7   .BYTE $38 ; 8
DFB8   .BYTE $45 ; E
DFB9   .BYTE   0
DFBA   .BYTE $3F ; ?
DFBB   .BYTE   2
DFBC   .BYTE $68 ; h
DFBD   .BYTE $79 ; y
DFBE   .BYTE $94 ; ö
DFBF   .BYTE $16
DFC0   .BYTE $BF ; +
DFC1   .BYTE   4
DFC2   .BYTE $92 ; Æ
DFC3   .BYTE $78 ; x
DFC4   .BYTE $90 ; É
DFC5   .BYTE $80 ; Ç
DFC6   .BYTE $3F ; ?
DFC7   .BYTE   7
DFC8   .BYTE   3
DFC9   .BYTE $15
DFCA   .BYTE $20
DFCB   .BYTE   0
DFCC   .BYTE $BF ; +
DFCD   .BYTE   8
DFCE   .BYTE $92 ; Æ
DFCF   .BYTE $29 ; )
DFD0   .BYTE $12
DFD1   .BYTE $44 ; D
DFD2   .BYTE $3F ; ?
DFD3   .BYTE $11
DFD4   .BYTE   8
DFD5   .BYTE $40 ; @
DFD6   .BYTE   9
DFD7   .BYTE $11
DFD8   .BYTE $BF ; +
DFD9   .BYTE $14
DFDA   .BYTE $28 ; (
DFDB   .BYTE $31 ; 1
DFDC   .BYTE $56 ; V
DFDD   .BYTE   4
DFDE   .BYTE $3F ; ?
DFDF   .BYTE $19
DFE0   .BYTE $99 ; Ö
DFE1   .BYTE $98 ; ÿ
DFE2   .BYTE $77 ; w
DFE3   .BYTE $44 ; D
DFE4   .BYTE $BF ; +
DFE5   .BYTE $33 ; 3
DFE6   .BYTE $33 ; 3
DFE7   .BYTE $33 ; 3
DFE8   .BYTE $31 ; 1
DFE9   .BYTE $13
DFEA   .BYTE $3F ; ?
DFEB   .BYTE $99 ; Ö
DFEC   .BYTE $99 ; Ö
DFED   .BYTE $99 ; Ö
DFEE   .BYTE $99 ; Ö
DFEF   .BYTE $99 ; Ö
DFF0   .BYTE $3F ; ?
DFF1   .BYTE $78 ; x
DFF2   .BYTE $53 ; S
DFF3   .BYTE $98 ; ÿ
DFF4   .BYTE $16
DFF5   .BYTE $34 ; 4
DFF6
DFF6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
DFF6
DFF6
DFF6 sub_DFF6:                     ; ...
DFF6
DFF6 ; FUNCTION CHUNK AT DEE0 SIZE 00000086 BYTES
DFF6
DFF6   LDA   byte_D4
DFF8   STA   byte_E0
DFFA   SEC
DFFB   JMP   loc_DEE0
DFFB ; End of function sub_DFF6
DFFB
DFFB ; ---------------------------------------------------------------------------
DFFE   .BYTE   0
DFFF   .BYTE   0
E000 OS_ATARI_FONT:.BYTE 00000000b ; ...
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 11111111b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 11111111b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00111110b
E000   .BYTE 01100000b
E000   .BYTE 00111100b
E000   .BYTE 00000110b
E000   .BYTE 01111100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01101100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01100110b
E000   .BYTE 01000110b
E000   .BYTE 00000000b
E000   .BYTE 00011100b
E000   .BYTE 00110110b
E000   .BYTE 00011100b
E000   .BYTE 00111000b
E000   .BYTE 01101111b
E000   .BYTE 01100110b
E000   .BYTE 00111011b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00001110b
E000   .BYTE 00011100b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011100b
E000   .BYTE 00001110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01110000b
E000   .BYTE 00111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00111000b
E000   .BYTE 01110000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 11111111b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01100000b
E000   .BYTE 01000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01101110b
E000   .BYTE 01110110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00001100b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00001100b
E000   .BYTE 00011100b
E000   .BYTE 00111100b
E000   .BYTE 01101100b
E000   .BYTE 01111110b
E000   .BYTE 00001100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 01100000b
E000   .BYTE 01111100b
E000   .BYTE 00000110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00000110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 00110000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000110b
E000   .BYTE 00001100b
E000   .BYTE 00111000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 00000110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 00011000b
E000   .BYTE 00001100b
E000   .BYTE 00000110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100000b
E000   .BYTE 00110000b
E000   .BYTE 00011000b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01100000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01101110b
E000   .BYTE 01101110b
E000   .BYTE 01100000b
E000   .BYTE 00111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111000b
E000   .BYTE 01101100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01101100b
E000   .BYTE 01111000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 01100000b
E000   .BYTE 01111100b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 01100000b
E000   .BYTE 01111100b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111110b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01101110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01101100b
E000   .BYTE 01111000b
E000   .BYTE 01111000b
E000   .BYTE 01101100b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100011b
E000   .BYTE 01110111b
E000   .BYTE 01111111b
E000   .BYTE 01101011b
E000   .BYTE 01100011b
E000   .BYTE 01100011b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01110110b
E000   .BYTE 01111110b
E000   .BYTE 01111110b
E000   .BYTE 01101110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111100b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01101100b
E000   .BYTE 00110110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111100b
E000   .BYTE 01101100b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100000b
E000   .BYTE 00111100b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100011b
E000   .BYTE 01100011b
E000   .BYTE 01101011b
E000   .BYTE 01111111b
E000   .BYTE 01110111b
E000   .BYTE 01100011b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01100000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01000000b
E000   .BYTE 01100000b
E000   .BYTE 00110000b
E000   .BYTE 00011000b
E000   .BYTE 00001100b
E000   .BYTE 00000110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 01111000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00001000b
E000   .BYTE 00011100b
E000   .BYTE 00110110b
E000   .BYTE 01100011b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00110110b
E000   .BYTE 01111111b
E000   .BYTE 01111111b
E000   .BYTE 00111110b
E000   .BYTE 00011100b
E000   .BYTE 00001000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011111b
E000   .BYTE 00011111b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00000011b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 11111000b
E000   .BYTE 11111000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 11111000b
E000   .BYTE 11111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111000b
E000   .BYTE 11111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000011b
E000   .BYTE 00000111b
E000   .BYTE 00001110b
E000   .BYTE 00011100b
E000   .BYTE 00111000b
E000   .BYTE 01110000b
E000   .BYTE 11100000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11100000b
E000   .BYTE 01110000b
E000   .BYTE 00111000b
E000   .BYTE 00011100b
E000   .BYTE 00001110b
E000   .BYTE 00000111b
E000   .BYTE 00000011b
E000   .BYTE 00000001b
E000   .BYTE 00000011b
E000   .BYTE 00000111b
E000   .BYTE 00001111b
E000   .BYTE 00011111b
E000   .BYTE 00111111b
E000   .BYTE 01111111b
E000   .BYTE 11111111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00001111b
E000   .BYTE 00001111b
E000   .BYTE 00001111b
E000   .BYTE 00001111b
E000   .BYTE 10000000b
E000   .BYTE 11000000b
E000   .BYTE 11100000b
E000   .BYTE 11110000b
E000   .BYTE 11111000b
E000   .BYTE 11111100b
E000   .BYTE 11111110b
E000   .BYTE 11111111b
E000   .BYTE 00001111b
E000   .BYTE 00001111b
E000   .BYTE 00001111b
E000   .BYTE 00001111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 00000000b
E000   .BYTE 00011100b
E000   .BYTE 00011100b
E000   .BYTE 01110111b
E000   .BYTE 01110111b
E000   .BYTE 00001000b
E000   .BYTE 00011100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011111b
E000   .BYTE 00011111b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01111110b
E000   .BYTE 01111110b
E000   .BYTE 01111110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 11000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 11111111b
E000   .BYTE 11111111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 11110000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011111b
E000   .BYTE 00011111b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111000b
E000   .BYTE 01100000b
E000   .BYTE 01111000b
E000   .BYTE 01100000b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00011110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 01111110b
E000   .BYTE 00111100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01111110b
E000   .BYTE 00110000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00001100b
E000   .BYTE 01111110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 01111110b
E000   .BYTE 01111110b
E000   .BYTE 00111100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 00000110b
E000   .BYTE 00111110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00111110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01111110b
E000   .BYTE 01100000b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00001110b
E000   .BYTE 00011000b
E000   .BYTE 00111110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000110b
E000   .BYTE 01111100b
E000   .BYTE 00000000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000110b
E000   .BYTE 00000000b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01101100b
E000   .BYTE 01111000b
E000   .BYTE 01101100b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01111111b
E000   .BYTE 01111111b
E000   .BYTE 01101011b
E000   .BYTE 01100011b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01111100b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000110b
E000   .BYTE 00000110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111100b
E000   .BYTE 01100110b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 01100000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00111110b
E000   .BYTE 01100000b
E000   .BYTE 00111100b
E000   .BYTE 00000110b
E000   .BYTE 01111100b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00001110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100011b
E000   .BYTE 01101011b
E000   .BYTE 01111111b
E000   .BYTE 00111110b
E000   .BYTE 00110110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 00111100b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 01100110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 01100110b
E000   .BYTE 00111110b
E000   .BYTE 00001100b
E000   .BYTE 01111000b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 00001100b
E000   .BYTE 00011000b
E000   .BYTE 00110000b
E000   .BYTE 01111110b
E000   .BYTE 00000000b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 01111110b
E000   .BYTE 01111110b
E000   .BYTE 00011000b
E000   .BYTE 00111100b
E000   .BYTE 00000000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00011000b
E000   .BYTE 00000000b
E000   .BYTE 01111110b
E000   .BYTE 01111000b
E000   .BYTE 01111100b
E000   .BYTE 01101110b
E000   .BYTE 01100110b
E000   .BYTE 00000110b
E000   .BYTE 00000000b
E000   .BYTE 00001000b
E000   .BYTE 00011000b
E000   .BYTE 00111000b
E000   .BYTE 01111000b
E000   .BYTE 00111000b
E000   .BYTE 00011000b
E000   .BYTE 00001000b
E000   .BYTE 00000000b
E000   .BYTE 00010000b
E000   .BYTE 00011000b
E000   .BYTE 00011100b
E000   .BYTE 00011110b
E000   .BYTE 00011100b
E000   .BYTE 00011000b
E000   .BYTE 00010000b
E000   .BYTE 00000000b
E400   .BYTE $93 ; ô
E401   .BYTE $EF ; ´
E402   .BYTE $2D ; -
E403   .BYTE $F2 ; =
E404   .BYTE $49 ; I
E405   .BYTE $F2 ; =
E406   .BYTE $AF ; »
E407   .BYTE $F2 ; =
E408   .BYTE $1D
E409   .BYTE $F2 ; =
E40A   .BYTE $2C ; ,
E40B   .BYTE $F2 ; =
E40C
E40C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E40C
E40C ; Attributes: thunk
E40C
E40C sub_E40C:                     ; ...
E40C   JMP   sub_EF6E
E40C ; End of function sub_E40C
E40C
E40C ; ---------------------------------------------------------------------------
E40F   .BYTE   0
E410   .BYTE $8D ; ì
E411   .BYTE $EF ; ´
E412   .BYTE $2D ; -
E413   .BYTE $F2 ; =
E414   .BYTE $7F ; 
E415   .BYTE $F1 ; ±
E416   .BYTE $A3 ; ú
E417   .BYTE $F1 ; ±
E418   .BYTE $1D
E419   .BYTE $F2 ; =
E41A   .BYTE $AE ; «
E41B   .BYTE $F9 ; ¨
E41C
E41C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E41C
E41C ; Attributes: thunk
E41C
E41C sub_E41C:                     ; ...
E41C   JMP   sub_EF6E
E41C ; End of function sub_E41C
E41C
E41C ; ---------------------------------------------------------------------------
E41F   .BYTE   0
E420   .BYTE $1D
E421   .BYTE $F2 ; =
E422   .BYTE $1D
E423   .BYTE $F2 ; =
E424 byte_E424:.BYTE $FC           ; ...
E425 byte_E425:.BYTE $F2           ; ...
E426   .BYTE $2C ; ,
E427   .BYTE $F2 ; =
E428   .BYTE $1D
E429   .BYTE $F2 ; =
E42A   .BYTE $2C ; ,
E42B   .BYTE $F2 ; =
E42C
E42C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E42C
E42C ; Attributes: thunk
E42C
E42C sub_E42C:                     ; ...
E42C   JMP   sub_EF6E
E42C ; End of function sub_E42C
E42C
E42C ; ---------------------------------------------------------------------------
E42F   .BYTE   0
E430   .BYTE $C1 ; -
E431   .BYTE $FE ; ¦
E432   .BYTE   6
E433   .BYTE $FF
E434   .BYTE $C0 ; +
E435   .BYTE $FE ; ¦
E436   .BYTE $CA ; -
E437   .BYTE $FE ; ¦
E438   .BYTE $A2 ; ó
E439   .BYTE $FE ; ¦
E43A   .BYTE $C0 ; +
E43B   .BYTE $FE ; ¦
E43C
E43C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E43C
E43C ; Attributes: thunk
E43C
E43C sub_E43C:                     ; ...
E43C   JMP   sub_FE99
E43C ; End of function sub_E43C
E43C
E43C ; ---------------------------------------------------------------------------
E43F   .BYTE   0
E440   .BYTE $E5 ; Õ
E441   .BYTE $FC ; ³
E442   .BYTE $CE ; +
E443   .BYTE $FD ; ²
E444   .BYTE $79 ; y
E445   .BYTE $FD ; ²
E446   .BYTE $B3 ; ¦
E447   .BYTE $FD ; ²
E448   .BYTE $CB ; -
E449   .BYTE $FD ; ²
E44A   .BYTE $E4 ; õ
E44B   .BYTE $FC ; ³
E44C
E44C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E44C
E44C ; Attributes: thunk
E44C
E44C sub_E44C:                     ; ...
E44C   JMP   sub_FCDB
E44C ; End of function sub_E44C
E44C
E44C ; ---------------------------------------------------------------------------
E44F   .BYTE   0
E450
E450 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E450
E450 ; Attributes: thunk
E450
E450 sub_E450:                     ; ...
E450   JMP   sub_C6A3
E450 ; End of function sub_E450
E450
E453
E453 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E453
E453 ; Attributes: thunk
E453
E453 sub_E453:                     ; ...
E453   JMP   sub_C6B3
E453 ; End of function sub_E453
E453
E456
E456 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E456
E456 ; Attributes: thunk
E456
E456 sub_E456:                     ; ...
E456   JMP   sub_E4DF
E456 ; End of function sub_E456
E456
E456 ; ---------------------------------------------------------------------------
E459 unk_E459:.BYTE $F2 ; =        ; ...
E45A   .BYTE   0
E45B   .BYTE $60 ; `
E45C
E45C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E45C
E45C ; Attributes: thunk
E45C
E45C sub_E45C:                     ; ...
E45C   JMP   sub_C272
E45C ; End of function sub_E45C
E45C
E45C ; ---------------------------------------------------------------------------
E45F   .BYTE $4C ; L
E460   .BYTE $E2 ; Ô
E461   .BYTE $C0 ; +
E462   .BYTE $4C ; L
E463   .BYTE $8A ; è
E464   .BYTE $C2 ; -
E465
E465 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E465
E465 ; Attributes: thunk
E465
E465 sub_E465:                     ; ...
E465   JMP   sub_E95C
E465 ; End of function sub_E465
E465
E468
E468 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E468
E468 ; Attributes: thunk
E468
E468 sub_E468:                     ; ...
E468   JMP   sub_EC17
E468 ; End of function sub_E468
E468
E46B
E46B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E46B
E46B ; Attributes: thunk
E46B
E46B sub_E46B:                     ; ...
E46B   JMP   sub_C00C
E46B ; End of function sub_E46B
E46B
E46E
E46E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E46E
E46E ; Attributes: thunk
E46E
E46E sub_E46E:                     ; ...
E46E   JMP   sub_E4C1
E46E ; End of function sub_E46E
E46E
E46E ; ---------------------------------------------------------------------------
E471   .BYTE $4C ; L
E472   .BYTE $23 ; #
E473   .BYTE $F2 ; =
E474   .BYTE $4C ; L
E475   .BYTE $90 ; É
E476   .BYTE $C2 ; -
E477   .BYTE $4C ; L
E478   .BYTE $C8 ; +
E479   .BYTE $C2 ; -
E47A ; ---------------------------------------------------------------------------
E47A ; START OF FUNCTION CHUNK FOR sub_C659
E47A
E47A loc_E47A:                     ; ...
E47A   JMP   loc_FD8D
E47A ; END OF FUNCTION CHUNK FOR sub_C659
E47D
E47D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E47D
E47D ; Attributes: thunk
E47D
E47D sub_E47D:                     ; ...
E47D   JMP   sub_FCF7
E47D ; End of function sub_E47D
E47D
E47D ; ---------------------------------------------------------------------------
E480   .BYTE $4C ; L
E481   .BYTE $23 ; #
E482   .BYTE $F2 ; =
E483   .BYTE $4C ; L
E484   .BYTE   0
E485   .BYTE $50 ; P
E486   .BYTE $4C ; L
E487   .BYTE $BC ; +
E488   .BYTE $EE ; ¯
E489   .BYTE $4C ; L
E48A   .BYTE $15
E48B   .BYTE $E9 ; Ú
E48C   .BYTE $4C ; L
E48D   .BYTE $98 ; ÿ
E48E   .BYTE $E8 ; Þ
E48F   .BYTE $90 ; É
E490   .BYTE $C9 ; +
E491   .BYTE $95 ; ò
E492   .BYTE $C9 ; +
E493   .BYTE $9A ; Ü
E494   .BYTE $C9 ; +
E495   .BYTE $9F ; ƒ
E496   .BYTE $C9 ; +
E497   .BYTE $A4 ; ñ
E498   .BYTE $C9 ; +
E499   .BYTE $A9 ; ®
E49A   .BYTE $C9 ; +
E49B
E49B ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E49B
E49B ; Attributes: thunk
E49B
E49B sub_E49B:                     ; ...
E49B   JMP   sub_C90C
E49B ; End of function sub_E49B
E49B
E49B ; ---------------------------------------------------------------------------
E49E   .BYTE   0
E49F   .BYTE   0
E4A0   .BYTE   0
E4A1   .BYTE   0
E4A2   .BYTE   0
E4A3   .BYTE   0
E4A4   .BYTE   0
E4A5   .BYTE   0
E4A6   .BYTE   0
E4A7   .BYTE   0
E4A8   .BYTE   0
E4A9   .BYTE   0
E4AA   .BYTE   0
E4AB   .BYTE   0
E4AC   .BYTE   0
E4AD   .BYTE   0
E4AE   .BYTE   0
E4AF   .BYTE   0
E4B0   .BYTE   0
E4B1   .BYTE   0
E4B2   .BYTE   0
E4B3   .BYTE   0
E4B4   .BYTE   0
E4B5   .BYTE   0
E4B6   .BYTE   0
E4B7   .BYTE   0
E4B8   .BYTE   0
E4B9   .BYTE   0
E4BA   .BYTE   0
E4BB   .BYTE   0
E4BC   .BYTE   0
E4BD   .BYTE   0
E4BE   .BYTE   0
E4BF   .BYTE   0
E4C0   .BYTE $60 ; `
E4C1
E4C1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E4C1
E4C1
E4C1 sub_E4C1:                     ; ...
E4C1   LDX   #0
E4C3
E4C3 loc_E4C3:                     ; ...
E4C3   LDA   #$FF
E4C5   STA   $340,X
E4C8   LDA   #$DB
E4CA   STA   $346,X
E4CD   LDA   #$E4
E4CF   STA   $347,X
E4D2   TXA
E4D3   CLC
E4D4   ADC   #$10
E4D6   TAX
E4D7   CMP   #$80
E4D9   BCC   loc_E4C3
E4DB   RTS
E4DB ; End of function sub_E4C1
E4DB
E4DB ; ---------------------------------------------------------------------------
E4DC   .BYTE $A0 ; á
E4DD   .BYTE $85 ; à
E4DE   .BYTE $60 ; `
E4DF
E4DF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E4DF
E4DF
E4DF sub_E4DF:                     ; ...
E4DF   STA   byte_2F
E4E1   STX   byte_2E
E4E3   TXA
E4E4   AND   #$F
E4E6   BNE   loc_E4EC
E4E8   CPX   #$80
E4EA   BCC   loc_E4F1
E4EC
E4EC loc_E4EC:                     ; ...
E4EC   LDY   #$86
E4EE   JMP   loc_E670
E4F1 ; ---------------------------------------------------------------------------
E4F1
E4F1 loc_E4F1:                     ; ...
E4F1   LDY   #0
E4F3
E4F3 loc_E4F3:                     ; ...
E4F3   LDA   $340,X
E4F6   STA   $20,Y
E4F9   INX
E4FA   INY
E4FB   CPY   #$C
E4FD   BCC   loc_E4F3
E4FF   LDA   byte_20
E501   CMP   #$7F
E503   BNE   loc_E51A
E505   LDA   byte_22
E507   CMP   #$C
E509   BEQ   loc_E57C
E50B   LDA   byte_2E9
E50E   BNE   loc_E515
E510
E510 loc_E510:                     ; ...
E510   LDY   #$82
E512
E512 loc_E512:                     ; ...
E512   JMP   loc_E670
E515 ; ---------------------------------------------------------------------------
E515
E515 loc_E515:                     ; ...
E515   JSR   sub_CA29
E518   BMI   loc_E512
E51A
E51A loc_E51A:                     ; ...
E51A   LDY   #$84
E51C   LDA   byte_22
E51E   CMP   #3
E520   BCC   loc_E547
E522   TAY
E523   CPY   #$E
E525   BCC   loc_E529
E527   LDY   #$E
E529
E529 loc_E529:                     ; ...
E529   STY   byte_17
E52B   LDA   loc_E729+1,Y
E52E   BEQ   loc_E53F
E530   CMP   #2
E532   BEQ   loc_E57C
E534   CMP   #8
E536   BCS   loc_E597
E538   CMP   #4
E53A   BEQ   loc_E5B2
E53C   JMP   loc_E61E
E53F ; ---------------------------------------------------------------------------
E53F
E53F loc_E53F:                     ; ...
E53F   LDA   byte_20
E541   CMP   #$FF
E543   BEQ   loc_E54A
E545   LDY   #$81
E547
E547 loc_E547:                     ; ...
E547   JMP   loc_E670
E54A ; ---------------------------------------------------------------------------
E54A
E54A loc_E54A:                     ; ...
E54A   LDA   byte_2E9
E54D   BNE   loc_E576
E54F   JSR   sub_E6FF
E552   BCS   loc_E576
E554   LDA   #0
E556   STA   byte_2EA
E559   STA   byte_2EB
E55C
E55C loc_E55C:                     ; ...
E55C   JSR   sub_E695
E55F   BCS   loc_E547
E561   JSR   sub_E6EA
E564   LDA   #$B
E566   STA   byte_17
E568   JSR   sub_E695
E56B   LDA   byte_2C
E56D   STA   byte_26
E56F   LDA   byte_2D
E571   STA   byte_27
E573   JMP   loc_E672
E576 ; ---------------------------------------------------------------------------
E576
E576 loc_E576:                     ; ...
E576   JSR   sub_EEF9
E579   JMP   loc_E670
E57C ; ---------------------------------------------------------------------------
E57C
E57C loc_E57C:                     ; ...
E57C   LDY   #1
E57E   STY   byte_23
E580   JSR   sub_E695
E583   BCS   loc_E588
E585   JSR   sub_E6EA
E588
E588 loc_E588:                     ; ...
E588   LDA   #$FF
E58A   STA   byte_20
E58C   LDA   #$E4
E58E   STA   byte_27
E590   LDA   #$DB
E592   STA   byte_26
E594   JMP   loc_E672
E597 ; ---------------------------------------------------------------------------
E597
E597 loc_E597:                     ; ...
E597   LDA   byte_20
E599   CMP   #$FF
E59B   BNE   loc_E5A2
E59D   JSR   sub_E6FF
E5A0   BCS   loc_E547
E5A2
E5A2 loc_E5A2:                     ; ...
E5A2   JSR   sub_E695
E5A5   JSR   sub_E6EA
E5A8   LDX   byte_2E
E5AA   LDA   $340,X
E5AD   STA   byte_20
E5AF   JMP   loc_E672
E5B2 ; ---------------------------------------------------------------------------
E5B2
E5B2 loc_E5B2:                     ; ...
E5B2   LDA   byte_22
E5B4   AND   byte_2A
E5B6   BNE   loc_E5BD
E5B8   LDY   #$83
E5BA
E5BA loc_E5BA:                     ; ...
E5BA   JMP   loc_E670
E5BD ; ---------------------------------------------------------------------------
E5BD
E5BD loc_E5BD:                     ; ...
E5BD   JSR   sub_E695
E5C0   BCS   loc_E5BA
E5C2   LDA   byte_28
E5C4   ORA   byte_29
E5C6   BNE   loc_E5D0
E5C8   JSR   sub_E6EA
E5CB   STA   byte_2F
E5CD   JMP   loc_E672
E5D0 ; ---------------------------------------------------------------------------
E5D0
E5D0 loc_E5D0:                     ; ...
E5D0   JSR   sub_E6EA
E5D3   STA   byte_2F
E5D5   BMI   loc_E618
E5D7   LDY   #0
E5D9   STA   ($24),Y
E5DB   JSR   sub_E6D1
E5DE   LDA   byte_22
E5E0   AND   #2
E5E2   BNE   loc_E5F0
E5E4   LDA   byte_2F
E5E6   CMP   #$9B
E5E8   BNE   loc_E5F0
E5EA   JSR   sub_E6BB
E5ED   JMP   loc_E618
E5F0 ; ---------------------------------------------------------------------------
E5F0
E5F0 loc_E5F0:                     ; ...
E5F0   JSR   sub_E6BB
E5F3   BNE   loc_E5D0
E5F5   LDA   byte_22
E5F7   AND   #2
E5F9   BNE   loc_E618
E5FB
E5FB loc_E5FB:                     ; ...
E5FB   JSR   sub_E6EA
E5FE   STA   byte_2F
E600   BMI   loc_E60C
E602   LDA   byte_2F
E604   CMP   #$9B
E606   BNE   loc_E5FB
E608   LDA   #$89
E60A   STA   byte_23
E60C
E60C loc_E60C:                     ; ...
E60C   JSR   sub_E6C8
E60F   LDY   #0
E611   LDA   #$9B
E613   STA   ($24),Y
E615   JSR   sub_E6D1
E618
E618 loc_E618:                     ; ...
E618   JSR   sub_E6D8
E61B   JMP   loc_E672
E61E ; ---------------------------------------------------------------------------
E61E
E61E loc_E61E:                     ; ...
E61E   LDA   byte_22
E620   AND   byte_2A
E622   BNE   loc_E629
E624   LDY   #$87
E626
E626 loc_E626:                     ; ...
E626   JMP   loc_E670
E629 ; ---------------------------------------------------------------------------
E629
E629 loc_E629:                     ; ...
E629   JSR   sub_E695
E62C   BCS   loc_E626
E62E   LDA   byte_28
E630   ORA   byte_29
E632   BNE   loc_E63A
E634   LDA   byte_2F
E636   INC   byte_28
E638   BNE   loc_E640
E63A
E63A loc_E63A:                     ; ...
E63A   LDY   #0
E63C   LDA   ($24),Y
E63E   STA   byte_2F
E640
E640 loc_E640:                     ; ...
E640   JSR   sub_E6EA
E643   PHP
E644   JSR   sub_E6D1
E647   JSR   sub_E6BB
E64A   PLP
E64B   BMI   loc_E66A
E64D   LDA   byte_22
E64F   AND   #2
E651   BNE   loc_E659
E653   LDA   byte_2F
E655   CMP   #$9B
E657   BEQ   loc_E66A
E659
E659 loc_E659:                     ; ...
E659   LDA   byte_28
E65B   ORA   byte_29
E65D   BNE   loc_E63A
E65F   LDA   byte_22
E661   AND   #2
E663   BNE   loc_E66A
E665   LDA   #$9B
E667   JSR   sub_E6EA
E66A
E66A loc_E66A:                     ; ...
E66A   JSR   sub_E6D8
E66D   JMP   loc_E672
E670 ; ---------------------------------------------------------------------------
E670
E670 loc_E670:                     ; ...
E670   STY   byte_23
E672
E672 loc_E672:                     ; ...
E672   LDY   byte_2E
E674   LDA   $344,Y
E677   STA   byte_24
E679   LDA   $345,Y
E67C   STA   byte_25
E67E   LDX   #0
E680   STX   byte_2E9
E683
E683 loc_E683:                     ; ...
E683   LDA   $20,X
E685   STA   $340,Y
E688   INX
E689   INY
E68A   CPX   #$C
E68C   BCC   loc_E683
E68E   LDA   byte_2F
E690   LDX   byte_2E
E692   LDY   byte_23
E694   RTS
E694 ; End of function sub_E4DF
E694
E695
E695 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E695
E695
E695 sub_E695:                     ; ...
E695   LDY   byte_20
E697   CPY   #$22
E699   BCC   loc_E69F
E69B   LDY   #$85
E69D   BCS   locret_E6BA
E69F
E69F loc_E69F:                     ; ...
E69F   LDA   $31B,Y
E6A2   STA   byte_2C
E6A4   LDA   $31C,Y
E6A7   STA   byte_2D
E6A9   LDY   byte_17
E6AB   LDA   loc_E729+1,Y
E6AE   TAY
E6AF   LDA   ($2C),Y
E6B1   TAX
E6B2   INY
E6B3   LDA   ($2C),Y
E6B5   STA   byte_2D
E6B7   STX   byte_2C
E6B9   CLC
E6BA
E6BA locret_E6BA:                  ; ...
E6BA   RTS
E6BA ; End of function sub_E695
E6BA
E6BB
E6BB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6BB
E6BB
E6BB sub_E6BB:                     ; ...
E6BB   LDA   byte_28
E6BD   BNE   loc_E6C1
E6BF   DEC   byte_29
E6C1
E6C1 loc_E6C1:                     ; ...
E6C1   DEC   byte_28
E6C3   LDA   byte_28
E6C5   ORA   byte_29
E6C7   RTS
E6C7 ; End of function sub_E6BB
E6C7
E6C8
E6C8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6C8
E6C8
E6C8 sub_E6C8:                     ; ...
E6C8   LDA   byte_24
E6CA   BNE   loc_E6CE
E6CC   DEC   byte_25
E6CE
E6CE loc_E6CE:                     ; ...
E6CE   DEC   byte_24
E6D0   RTS
E6D0 ; End of function sub_E6C8
E6D0
E6D1
E6D1 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6D1
E6D1
E6D1 sub_E6D1:                     ; ...
E6D1   INC   byte_24
E6D3   BNE   locret_E6D7
E6D5   INC   byte_25
E6D7
E6D7 locret_E6D7:                  ; ...
E6D7   RTS
E6D7 ; End of function sub_E6D1
E6D7
E6D8
E6D8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6D8
E6D8
E6D8 sub_E6D8:                     ; ...
E6D8   LDX   byte_2E
E6DA   SEC
E6DB   LDA   $348,X
E6DE   SBC   byte_28
E6E0   STA   byte_28
E6E2   LDA   $349,X
E6E5   SBC   byte_29
E6E7   STA   byte_29
E6E9   RTS
E6E9 ; End of function sub_E6D8
E6E9
E6EA
E6EA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6EA
E6EA
E6EA sub_E6EA:                     ; ...
E6EA   LDY   #$92
E6EC   JSR   sub_E6F4
E6EF   STY   byte_23
E6F1   CPY   #0
E6F3   RTS
E6F3 ; End of function sub_E6EA
E6F3
E6F4
E6F4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6F4
E6F4
E6F4 sub_E6F4:                     ; ...
E6F4   TAX
E6F5   LDA   byte_2D
E6F7   PHA
E6F8   LDA   byte_2C
E6FA   PHA
E6FB   TXA
E6FC   LDX   byte_2E
E6FE   RTS
E6FE ; End of function sub_E6F4
E6FE
E6FF
E6FF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E6FF
E6FF
E6FF sub_E6FF:                     ; ...
E6FF   SEC
E700   LDY   #1
E702   LDA   ($24),Y
E704   SBC   #$31
E706   BMI   loc_E70C
E708   CMP   #9
E70A   BCC   loc_E70E
E70C
E70C loc_E70C:                     ; ...
E70C   LDA   #0
E70E
E70E loc_E70E:                     ; ...
E70E   STA   byte_21
E710   INC   byte_21
E712   LDY   #0
E714   LDA   ($24),Y
E714 ; End of function sub_E6FF
E714
E716
E716 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E716
E716
E716 sub_E716:                     ; ...
E716   BEQ   loc_E724
E718   LDY   #$21
E71A
E71A loc_E71A:                     ; ...
E71A   CMP   $31A,Y
E71D   BEQ   loc_E728
E71F   DEY
E720   DEY
E721   DEY
E722   BPL   loc_E71A
E724
E724 loc_E724:                     ; ...
E724   LDY   #$82
E726   SEC
E727   RTS
E728 ; ---------------------------------------------------------------------------
E728
E728 loc_E728:                     ; ...
E728   TYA
E729
E729 loc_E729:                     ; ...
E729   STA   byte_20
E72B   CLC
E72C   RTS
E72C ; End of function sub_E716
E72C
E72C ; ---------------------------------------------------------------------------
E72D   .BYTE   0
E72E   .BYTE   4
E72F   .BYTE   4
E730   .BYTE   4
E731   .BYTE   4
E732   .BYTE   6
E733   .BYTE   6
E734   .BYTE   6
E735   .BYTE   6
E736   .BYTE   2
E737   .BYTE   8
E738   .BYTE  $A
E739
E739 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E739
E739
E739 sub_E739:                     ; ...
E739   LDA   byte_8
E73B   BEQ   loc_E762
E73D   LDA   #$E9
E73F   STA   byte_4A
E741   LDA   #3
E743   STA   byte_4B
E745
E745 loc_E745:                     ; ...
E745   LDY   #$12
E747   CLC
E748   LDA   ($4A),Y
E74A   TAX
E74B   INY
E74C   ADC   ($4A),Y
E74E   BEQ   locret_E776
E750   LDA   ($4A),Y
E752   STA   byte_4B
E754   STX   byte_4A
E756   JSR   sub_CB56
E759   BNE   locret_E776
E75B   JSR   sub_E894
E75E   BCS   locret_E776
E760   BCC   loc_E745
E762
E762 loc_E762:                     ; ...
E762   LDA   #0
E764   STA   byte_3FB
E767   STA   byte_3FC
E76A   LDA   #$4F
E76C   BNE   loc_E79B
E76E
E76E loc_E76E:                     ; ...
E76E   LDA   #0
E770   TAY
E771   JSR   sub_E7BE
E774   BPL   loc_E777
E776
E776 locret_E776:                  ; ...
E776   RTS
E777 ; ---------------------------------------------------------------------------
E777
E777 loc_E777:                     ; ...
E777   CLC
E778   LDA   byte_2E7
E77B   ADC   byte_2EA
E77E   STA   word_312
E781   LDA   byte_2E8
E784   ADC   byte_2EB
E787   STA   word_312+1
E78A   SEC
E78B   LDA   byte_2E5
E78E   SBC   word_312
E791   LDA   byte_2E6
E794   SBC   word_312+1
E797   BCS   loc_E7A2
E799
E799 loc_E799:                     ; ...
E799   LDA   #$4E
E79B
E79B loc_E79B:                     ; ...
E79B   TAY
E79C   JSR   sub_E7BE
E79F   JMP   loc_E76E
E7A2 ; ---------------------------------------------------------------------------
E7A2
E7A2 loc_E7A2:                     ; ...
E7A2   LDA   byte_2EC
E7A5   LDX   byte_2E7
E7A8   STX   byte_2EC
E7AB   LDX   byte_2E8
E7AE   STX   byte_2ED
E7B1   JSR   sub_E7DE
E7B4   BMI   loc_E799
E7B6   SEC
E7B7   JSR   sub_E89E
E7BA   BCS   loc_E799
E7BC   BCC   loc_E76E
E7BC ; End of function sub_E739
E7BC
E7BE
E7BE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E7BE
E7BE
E7BE sub_E7BE:                     ; ...
E7BE   PHA
E7BF   LDX   #9
E7C1
E7C1 loc_E7C1:                     ; ...
E7C1   LDA   unk_E7D4,X
E7C4   STA   $300,X
E7C7   DEX
E7C8   BPL   loc_E7C1
E7CA   STY   byte_30B
E7CD   PLA
E7CE   STA   byte_30A
E7D1   JMP   unk_E459
E7D1 ; End of function sub_E7BE
E7D1
E7D1 ; ---------------------------------------------------------------------------
E7D4 unk_E7D4:.BYTE $4F ; O        ; ...
E7D5   .BYTE   1
E7D6   .BYTE $40 ; @
E7D7   .BYTE $40 ; @
E7D8   .BYTE $EA ; Û
E7D9   .BYTE   2
E7DA   .BYTE $1E
E7DB   .BYTE   0
E7DC   .BYTE   4
E7DD   .BYTE   0
E7DE
E7DE ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E7DE
E7DE
E7DE sub_E7DE:                     ; ...
E7DE
E7DE ; FUNCTION CHUNK AT C745 SIZE 0000008A BYTES
E7DE
E7DE   STA   word_312+1
E7E1   LDX   #0
E7E3   STX   word_312
E7E6   DEX
E7E7   STX   byte_315
E7EA   LDA   byte_2EC
E7ED   ROR   A
E7EE   BCC   loc_E7F8
E7F0   INC   byte_2EC
E7F3   BNE   loc_E7F8
E7F5   INC   byte_2ED
E7F8
E7F8 loc_E7F8:                     ; ...
E7F8   LDA   byte_2EC
E7FB   STA   byte_2D1
E7FE   LDA   byte_2ED
E801   STA   byte_2D2
E804   LDA   #$16
E806   STA   word_2CF
E809   LDA   #$E8
E80B   STA   word_2CF+1
E80E   LDA   #$80
E810   STA   byte_2D3
E813   JMP   loc_C745
E813 ; End of function sub_E7DE
E813
E813 ; ---------------------------------------------------------------------------
E816   .BYTE $AE ; «
E817   .BYTE $15
E818   .BYTE   3
E819   .BYTE $E8 ; Þ
E81A   .BYTE $8E ; Ä
E81B   .BYTE $15
E81C   .BYTE   3
E81D   .BYTE $F0 ; ­
E81E   .BYTE   8
E81F   .BYTE $AE ; «
E820   .BYTE $15
E821   .BYTE   3
E822   .BYTE $BD ; ¢
E823   .BYTE $7D ; }
E824   .BYTE   3
E825   .BYTE $18
E826   .BYTE $60 ; `
E827   .BYTE $A9 ; ®
E828   .BYTE $80 ; Ç
E829   .BYTE $8D ; ì
E82A   .BYTE $15
E82B   .BYTE   3
E82C   .BYTE $20
E82D   .BYTE $33 ; 3
E82E   .BYTE $E8 ; Þ
E82F   .BYTE $10
E830   .BYTE $EE ; ¯
E831   .BYTE $38 ; 8
E832   .BYTE $60 ; `
E833   .BYTE $A2 ; ó
E834   .BYTE  $B
E835   .BYTE $BD ; ¢
E836   .BYTE $51 ; Q
E837   .BYTE $E8 ; Þ
E838   .BYTE $9D ; Ø
E839   .BYTE   0
E83A   .BYTE   3
E83B   .BYTE $CA ; -
E83C   .BYTE $10
E83D   .BYTE $F7 ; ¸
E83E   .BYTE $AE ; «
E83F   .BYTE $12
E840   .BYTE   3
E841   .BYTE $8E ; Ä
E842   .BYTE  $A
E843   .BYTE   3
E844   .BYTE $E8 ; Þ
E845   .BYTE $8E ; Ä
E846   .BYTE $12
E847   .BYTE   3
E848   .BYTE $AD ; ¡
E849   .BYTE $13
E84A   .BYTE   3
E84B   .BYTE $8D ; ì
E84C   .BYTE   0
E84D   .BYTE   3
E84E   .BYTE $4C ; L
E84F   .BYTE $59 ; Y
E850   .BYTE $E4 ; õ
E851   .BYTE   0
E852   .BYTE   1
E853   .BYTE $26 ; &
E854   .BYTE $40 ; @
E855   .BYTE $FD ; ²
E856   .BYTE   3
E857   .BYTE $1E
E858   .BYTE   0
E859   .BYTE $80 ; Ç
E85A   .BYTE   0
E85B   .BYTE   0
E85C   .BYTE   0
E85D
E85D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E85D
E85D
E85D sub_E85D:                     ; ...
E85D   STY   word_312
E860   STA   word_312+1
E863   LDA   #$E9
E865   STA   byte_4A
E867   LDA   #3
E869   STA   byte_4B
E86B
E86B loc_E86B:                     ; ...
E86B   LDY   #$12
E86D   LDA   ($4A),Y
E86F   TAX
E870   INY
E871   LDA   ($4A),Y
E873   CMP   word_312+1
E876   BNE   loc_E87F
E878   CPX   word_312
E87B   BNE   loc_E87F
E87D   CLC
E87E   RTS
E87F ; ---------------------------------------------------------------------------
E87F
E87F loc_E87F:                     ; ...
E87F   CMP   #0
E881   BNE   loc_E889
E883   CPX   #0
E885   BNE   loc_E889
E887
E887 loc_E887:                     ; ...
E887   SEC
E888   RTS
E889 ; ---------------------------------------------------------------------------
E889
E889 loc_E889:                     ; ...
E889   STX   byte_4A
E88B   STA   byte_4B
E88D   JSR   sub_CB56
E890   BNE   loc_E887
E892   BEQ   loc_E86B
E892 ; End of function sub_E85D
E892
E894
E894 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E894
E894
E894 sub_E894:                     ; ...
E894   SEC
E895   PHP
E896   BCS   loc_E8C0
E898   STA   byte_2ED
E89B   STY   byte_2EC
E89B ; End of function sub_E894
E89B
E89E
E89E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E89E
E89E
E89E sub_E89E:                     ; ...
E89E   PHP
E89F   LDA   #0
E8A1   TAY
E8A2   JSR   sub_E85D
E8A5   BCS   loc_E8CE
E8A7   LDY   #$12
E8A9   LDA   byte_2EC
E8AC   STA   ($4A),Y
E8AE   TAX
E8AF   INY
E8B0   LDA   byte_2ED
E8B3   STA   ($4A),Y
E8B5   STX   byte_4A
E8B7   STA   byte_4B
E8B9   LDA   #0
E8BB   STA   ($4A),Y
E8BD   DEY
E8BE   STA   ($4A),Y
E8C0
E8C0 loc_E8C0:                     ; ...
E8C0   JSR   sub_E900
E8C3   BCC   loc_E8D1
E8C5   LDA   byte_2ED
E8C8   LDY   byte_2EC
E8CB   JSR   sub_E915
E8CE
E8CE loc_E8CE:                     ; ...
E8CE   PLP
E8CF   SEC
E8D0   RTS
E8D1 ; ---------------------------------------------------------------------------
E8D1
E8D1 loc_E8D1:                     ; ...
E8D1   PLP
E8D2   BCS   loc_E8DD
E8D4   LDA   #0
E8D6   LDY   #$10
E8D8   STA   ($4A),Y
E8DA   INY
E8DB   STA   ($4A),Y
E8DD
E8DD loc_E8DD:                     ; ...
E8DD   CLC
E8DE   LDY   #$10
E8E0   LDA   byte_2E7
E8E3   ADC   ($4A),Y
E8E5   STA   byte_2E7
E8E8   INY
E8E9   LDA   byte_2E8
E8EC   ADC   ($4A),Y
E8EE   STA   byte_2E8
E8F1   LDY   #$F
E8F3   LDA   #0
E8F5   STA   ($4A),Y
E8F7   JSR   sub_CB56
E8FA   LDY   #$F
E8FC   STA   ($4A),Y
E8FE   CLC
E8FF   RTS
E8FF ; End of function sub_E89E
E8FF
E900
E900 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E900
E900
E900 sub_E900:                     ; ...
E900   CLC
E901   LDA   byte_4A
E903   ADC   #$C
E905   STA   word_312
E908   LDA   byte_4B
E90A   ADC   #0
E90C   STA   word_312+1
E90F   JMP   (word_312)
E90F ; End of function sub_E900
E90F
E90F ; ---------------------------------------------------------------------------
E912   .BYTE $4C ; L
E913   .BYTE $72 ; r
E914   .BYTE $C2 ; -
E915
E915 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E915
E915
E915 sub_E915:                     ; ...
E915   JSR   sub_E85D
E918   BCS   loc_E955
E91A   TAY
E91B   LDA   byte_4A
E91D   PHA
E91E   LDA   byte_4B
E920   PHA
E921   STX   byte_4A
E923   STY   byte_4B
E925   LDA   byte_244
E928   BNE   loc_E939
E92A   LDY   #$10
E92C   CLC
E92D   LDA   ($4A),Y
E92F   INY
E930   ADC   ($4A),Y
E932   BNE   loc_E953
E934   JSR   sub_CB56
E937   BNE   loc_E953
E939
E939 loc_E939:                     ; ...
E939   LDY   #$12
E93B   LDA   ($4A),Y
E93D   TAX
E93E   INY
E93F   LDA   ($4A),Y
E941   TAY
E942   PLA
E943   STA   byte_4B
E945   PLA
E946   STA   byte_4A
E948   TYA
E949   LDY   #$13
E94B   STA   ($4A),Y
E94D   DEY
E94E   TXA
E94F   STA   ($4A),Y
E951   CLC
E952   RTS
E953 ; ---------------------------------------------------------------------------
E953
E953 loc_E953:                     ; ...
E953   PLA
E954   PLA
E955
E955 loc_E955:                     ; ...
E955   SEC
E956   RTS
E956 ; End of function sub_E915
E956
E956 ; ---------------------------------------------------------------------------
E957   .BYTE   0
E958   .BYTE   0
E959   .BYTE $4C ; L
E95A   .BYTE $33 ; 3
E95B   .BYTE $C9 ; +
E95C
E95C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E95C
E95C
E95C sub_E95C:                     ; ...
E95C   LDA   #$3C
E95E   STA   byte_D302
E961   LDA   #$3C
E963   STA   byte_D303
E966   LDA   #3
E968   STA   byte_232
E96B   STA   byte_41
E96D   STA   OS_SKCTL_SKSTAT
E970   RTS
E970 ; End of function sub_E95C
E970
E971
E971 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
E971
E971
E971 sub_E971:                     ; ...
E971
E971 ; FUNCTION CHUNK AT EB9D SIZE 00000074 BYTES
E971
E971   TSX
E972   STX   byte_318
E975   LDA   #1
E977   STA   byte_42
E979   LDA   byte_300
E97C   CMP   #$60
E97E   BNE   loc_E983
E980   JMP   loc_EB9D
E983 ; ---------------------------------------------------------------------------
E983
E983 loc_E983:                     ; ...
E983   LDA   #0
E985   STA   byte_30F
E988   LDA   #1
E98A   STA   byte_2BD
E98D
E98D loc_E98D:                     ; ...
E98D   LDA   #$D
E98F   STA   byte_29C
E992
E992 loc_E992:                     ; ...
E992   LDA   #$28
E994   STA   OS_AUDF3_POT4
E997   LDA   #0
E999   STA   OS_AUDF4_POT6
E99C   CLC
E99D   LDA   byte_300
E9A0   ADC   byte_301
E9A3   ADC   #$FF
E9A5   STA   byte_23A
E9A8   LDA   byte_302
E9AB   STA   byte_23B
E9AE   LDA   byte_30A
E9B1   STA   byte_23C
E9B4   LDA   byte_30B
E9B7   STA   byte_23D
E9BA   CLC
E9BB   LDA   #$3A
E9BD   STA   byte_32
E9BF   ADC   #4
E9C1   STA   byte_34
E9C3   LDA   #2
E9C5   STA   byte_33
E9C7   STA   byte_35
E9C9   LDA   #$34
E9CB   STA   byte_D303
E9CE   JSR   sub_ECAF
E9D1   LDA   byte_23F
E9D4   BNE   loc_E9D9
E9D6   TYA
E9D7   BNE   loc_E9E1
E9D9
E9D9 loc_E9D9:                     ; ...
E9D9   DEC   byte_29C
E9DC   BPL   loc_E992
E9DE   JMP   loc_EA22
E9E1 ; ---------------------------------------------------------------------------
E9E1
E9E1 loc_E9E1:                     ; ...
E9E1   LDA   byte_303
E9E4   BPL   loc_E9F3
E9E6   LDA   #$D
E9E8   STA   byte_29C
E9EB   JSR   sub_EB87
E9EE   JSR   sub_ECAF
E9F1   BEQ   loc_EA22
E9F3
E9F3 loc_E9F3:                     ; ...
E9F3   JSR   sub_EC9A
E9F6   LDA   #0
E9F8   STA   byte_23F
E9FB   JSR   sub_ECC0
E9FE   BEQ   loc_EA12
EA00   BIT   byte_303
EA03   BVS   loc_EA0C
EA05   LDA   byte_23F
EA08   BNE   loc_EA22
EA0A   BEQ   loc_EA2A
EA0C
EA0C loc_EA0C:                     ; ...
EA0C   JSR   sub_EB87
EA0F   JSR   sub_EAFD
EA12
EA12 loc_EA12:                     ; ...
EA12   LDA   byte_23F
EA15   BEQ   loc_EA1C
EA17   LDA   byte_319
EA1A   STA   byte_30
EA1C
EA1C loc_EA1C:                     ; ...
EA1C   LDA   byte_30
EA1E   CMP   #1
EA20   BEQ   loc_EA2A
EA22
EA22 loc_EA22:                     ; ...
EA22   DEC   byte_2BD
EA25   BMI   loc_EA2A
EA27   JMP   loc_E98D
EA2A ; ---------------------------------------------------------------------------
EA2A
EA2A loc_EA2A:                     ; ...
EA2A   JSR   sub_EC84
EA2D   LDA   #0
EA2F   STA   byte_42
EA31   LDY   byte_30
EA33   STY   byte_303
EA36   RTS
EA36 ; End of function sub_E971
EA36
EA37
EA37 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EA37
EA37
EA37 sub_EA37:                     ; ...
EA37   LDA   #0
EA39   STA   byte_23F
EA3C   CLC
EA3D   LDA   #$3E
EA3F   STA   byte_32
EA41   ADC   #1
EA43   STA   byte_34
EA45   LDA   #2
EA47   STA   byte_33
EA49   STA   byte_35
EA4B   LDA   #$FF
EA4D   STA   byte_3C
EA4F   JSR   sub_EAFD
EA52   LDY   #$FF
EA54   LDA   byte_30
EA56   CMP   #1
EA58   BNE   loc_EA73
EA5A   LDA   byte_23E
EA5D   CMP   #$41
EA5F   BEQ   loc_EA82
EA61   CMP   #$43
EA63   BEQ   loc_EA82
EA65   CMP   #$45
EA67   BNE   loc_EA6F
EA69   LDA   #$90
EA6B   STA   byte_30
EA6D   BNE   loc_EA73
EA6F
EA6F loc_EA6F:                     ; ...
EA6F   LDA   #$8B
EA71   STA   byte_30
EA73
EA73 loc_EA73:                     ; ...
EA73   LDA   byte_30
EA75   CMP   #$8A
EA77   BEQ   loc_EA80
EA79   LDA   #$FF
EA7B   STA   byte_23F
EA7E   BNE   loc_EA82
EA80
EA80 loc_EA80:                     ; ...
EA80   LDY   #0
EA82
EA82 loc_EA82:                     ; ...
EA82   LDA   byte_30
EA84   STA   byte_319
EA87   RTS
EA87 ; End of function sub_EA37
EA87
EA88
EA88 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EA88
EA88
EA88 sub_EA88:                     ; ...
EA88   LDA   #1
EA8A   STA   byte_30
EA8C   JSR   sub_EC17
EA8F   LDY   #0
EA91   STY   byte_31
EA93   STY   byte_3B
EA95   STY   byte_3A
EA97   LDA   ($32),Y
EA99   STA   byte_D20D
EA9C   STA   byte_31
EA9E
EA9E loc_EA9E:                     ; ...
EA9E   LDA   byte_11
EAA0   BNE   loc_EAA5
EAA2   JMP   loc_EDC7
EAA5 ; ---------------------------------------------------------------------------
EAA5
EAA5 loc_EAA5:                     ; ...
EAA5   LDA   byte_3A
EAA7   BEQ   loc_EA9E
EAA9   JSR   sub_EC84
EAAC   RTS
EAAC ; End of function sub_EA88
EAAC
EAAD ; ---------------------------------------------------------------------------
EAAD ; START OF FUNCTION CHUNK FOR sub_C018
EAAD
EAAD loc_EAAD:                     ; ...
EAAD   TYA
EAAE   PHA
EAAF   INC   byte_32
EAB1   BNE   loc_EAB5
EAB3   INC   byte_33
EAB5
EAB5 loc_EAB5:                     ; ...
EAB5   LDA   byte_32
EAB7   CMP   byte_34
EAB9   LDA   byte_33
EABB   SBC   byte_35
EABD   BCC   loc_EADB
EABF   LDA   byte_3B
EAC1   BNE   loc_EACE
EAC3   LDA   byte_31
EAC5   STA   byte_D20D
EAC8   LDA   #$FF
EACA   STA   byte_3B
EACC   BNE   loc_EAD7
EACE
EACE loc_EACE:                     ; ...
EACE   LDA   OS_POKMSK
EAD0   ORA   #8
EAD2   STA   OS_POKMSK
EAD4   STA   OS_IRQEN_IRQST
EAD7
EAD7 loc_EAD7:                     ; ...
EAD7   PLA
EAD8   TAY
EAD9   PLA
EADA   RTI
EADB ; ---------------------------------------------------------------------------
EADB
EADB loc_EADB:                     ; ...
EADB   LDY   #0
EADD   LDA   ($32),Y
EADF   STA   byte_D20D
EAE2   CLC
EAE3   ADC   byte_31
EAE5   ADC   #0
EAE7   STA   byte_31
EAE9   JMP   loc_EAD7
EAEC ; ---------------------------------------------------------------------------
EAEC
EAEC loc_EAEC:                     ; ...
EAEC   LDA   byte_3B
EAEE   BEQ   loc_EAFB
EAF0   STA   byte_3A
EAF2   LDA   OS_POKMSK
EAF4   AND   #$F7
EAF6   STA   OS_POKMSK
EAF8   STA   OS_IRQEN_IRQST
EAFB
EAFB loc_EAFB:                     ; ...
EAFB   PLA
EAFC   RTI
EAFC ; END OF FUNCTION CHUNK FOR sub_C018
EAFD
EAFD ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EAFD
EAFD
EAFD sub_EAFD:                     ; ...
EAFD   LDA   #0
EAFF   LDY   byte_30F
EB02   BNE   loc_EB06
EB04   STA   byte_31
EB06
EB06 loc_EB06:                     ; ...
EB06   STA   byte_38
EB08   STA   byte_39
EB0A   LDA   #1
EB0C   STA   byte_30
EB0E   JSR   sub_EC40
EB11   LDA   #$3C
EB13   STA   byte_D303
EB16
EB16 loc_EB16:                     ; ...
EB16   LDA   byte_11
EB18   BNE   loc_EB1D
EB1A   JMP   loc_EDC7
EB1D ; ---------------------------------------------------------------------------
EB1D
EB1D loc_EB1D:                     ; ...
EB1D   LDA   byte_317
EB20   BEQ   loc_EB27
EB22   LDA   byte_39
EB24   BEQ   loc_EB16
EB26   RTS
EB27 ; ---------------------------------------------------------------------------
EB27
EB27 loc_EB27:                     ; ...
EB27   LDA   #$8A
EB29   STA   byte_30
EB2B   RTS
EB2B ; End of function sub_EAFD
EB2B
EB2C ; ---------------------------------------------------------------------------
EB2C ; START OF FUNCTION CHUNK FOR sub_C018
EB2C
EB2C loc_EB2C:                     ; ...
EB2C   TYA
EB2D   PHA
EB2E   LDA   OS_SKCTL_SKSTAT
EB31   STA   OS_SKREST_RANDOM
EB34   BMI   loc_EB3A
EB36   LDY   #$8C
EB38   STY   byte_30
EB3A
EB3A loc_EB3A:                     ; ...
EB3A   AND   #$20
EB3C   BNE   loc_EB42
EB3E   LDY   #$8E
EB40   STY   byte_30
EB42
EB42 loc_EB42:                     ; ...
EB42   LDA   byte_38
EB44   BEQ   loc_EB59
EB46   LDA   byte_D20D
EB49   CMP   byte_31
EB4B   BEQ   loc_EB51
EB4D   LDY   #$8F
EB4F   STY   byte_30
EB51
EB51 loc_EB51:                     ; ...
EB51   LDA   #$FF
EB53   STA   byte_39
EB55
EB55 loc_EB55:                     ; ...
EB55   PLA
EB56   TAY
EB57   PLA
EB58   RTI
EB59 ; ---------------------------------------------------------------------------
EB59
EB59 loc_EB59:                     ; ...
EB59   LDA   byte_D20D
EB5C   LDY   #0
EB5E   STA   ($32),Y
EB60   CLC
EB61   ADC   byte_31
EB63   ADC   #0
EB65   STA   byte_31
EB67   INC   byte_32
EB69   BNE   loc_EB6D
EB6B   INC   byte_33
EB6D
EB6D loc_EB6D:                     ; ...
EB6D   LDA   byte_32
EB6F   CMP   byte_34
EB71   LDA   byte_33
EB73   SBC   byte_35
EB75   BCC   loc_EB55
EB77   LDA   byte_3C
EB79   BEQ   loc_EB81
EB7B   LDA   #0
EB7D   STA   byte_3C
EB7F   BEQ   loc_EB51
EB81
EB81 loc_EB81:                     ; ...
EB81   LDA   #$FF
EB83   STA   byte_38
EB85   BNE   loc_EB55
EB85 ; END OF FUNCTION CHUNK FOR sub_C018
EB87
EB87 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EB87
EB87
EB87 sub_EB87:                     ; ...
EB87   CLC
EB88   LDA   byte_304
EB8B   STA   byte_32
EB8D   ADC   byte_308
EB90   STA   byte_34
EB92   LDA   byte_305
EB95   STA   byte_33
EB97   ADC   byte_309
EB9A   STA   byte_35
EB9C   RTS
EB9C ; End of function sub_EB87
EB9C
EB9D ; ---------------------------------------------------------------------------
EB9D ; START OF FUNCTION CHUNK FOR sub_E971
EB9D
EB9D loc_EB9D:                     ; ...
EB9D   LDA   byte_303
EBA0   BPL   loc_EBD4
EBA2   LDA   #$CC
EBA4   STA   OS_AUDF3_POT4
EBA7   LDA   #5
EBA9   STA   OS_AUDF4_POT6
EBAC   JSR   sub_EC17
EBAF   LDX   byte_62
EBB1   LDY   unk_EE15,X
EBB4   LDA   byte_30B
EBB7   BMI   loc_EBBC
EBB9   LDY   unk_EE11,X
EBBC
EBBC loc_EBBC:                     ; ...
EBBC   LDX   #0
EBBE   JSR   sub_EDE2
EBC1   LDA   #$34
EBC3   STA   byte_D302
EBC6
EBC6 loc_EBC6:                     ; ...
EBC6   LDA   byte_317
EBC9   BNE   loc_EBC6
EBCB   JSR   sub_EB87
EBCE   JSR   sub_EA88
EBD1   JMP   loc_EC04
EBD4 ; ---------------------------------------------------------------------------
EBD4
EBD4 loc_EBD4:                     ; ...
EBD4   LDA   #$FF
EBD6   STA   byte_30F
EBD9   LDX   byte_62
EBDB   LDY   unk_EE17,X
EBDE   LDA   byte_30B
EBE1   BMI   loc_EBE6
EBE3   LDY   unk_EE13,X
EBE6
EBE6 loc_EBE6:                     ; ...
EBE6   LDX   #0
EBE8   JSR   sub_EDE2
EBEB   LDA   #$34
EBED   STA   byte_D302
EBF0
EBF0 loc_EBF0:                     ; ...
EBF0   LDA   byte_317
EBF3   BNE   loc_EBF0
EBF5   JSR   sub_EB87
EBF8   JSR   sub_EC9A
EBFB   JSR   sub_EDE2
EBFE   JSR   sub_ED3D
EC01   JSR   sub_EAFD
EC04
EC04 loc_EC04:                     ; ...
EC04   LDA   byte_30B
EC07   BMI   loc_EC0E
EC09   LDA   #$3C
EC0B   STA   byte_D302
EC0E
EC0E loc_EC0E:                     ; ...
EC0E   JMP   loc_EA2A
EC0E ; END OF FUNCTION CHUNK FOR sub_E971
EC0E ; ---------------------------------------------------------------------------
EC11   .BYTE $A9 ; ®
EC12   .BYTE   0
EC13   .BYTE $8D ; ì
EC14   .BYTE $17
EC15   .BYTE   3
EC16   .BYTE $60 ; `
EC17
EC17 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EC17
EC17
EC17 sub_EC17:                     ; ...
EC17   LDA   #7
EC19   AND   byte_232
EC1C   ORA   #$20
EC1E   LDY   byte_300
EC21   CPY   #$60
EC23   BNE   loc_EC31
EC25   ORA   #8
EC27   LDY   #7
EC29   STY   OS_AUDF2_POT2
EC2C   LDY   #5
EC2E   STY   OS_AUDF1_POT1
EC31
EC31 loc_EC31:                     ; ...
EC31   STA   byte_232
EC34   STA   OS_SKCTL_SKSTAT
EC37   LDA   #$C7
EC39   AND   OS_POKMSK
EC3B   ORA   #$10
EC3D   JMP   loc_EC56
EC3D ; End of function sub_EC17
EC3D
EC40
EC40 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EC40
EC40
EC40 sub_EC40:                     ; ...
EC40   LDA   #7
EC42   AND   byte_232
EC45   ORA   #$10
EC47   STA   byte_232
EC4A   STA   OS_SKCTL_SKSTAT
EC4D   STA   OS_SKREST_RANDOM
EC50   LDA   #$C7
EC52   AND   OS_POKMSK
EC54   ORA   #$20
EC56
EC56 loc_EC56:                     ; ...
EC56   STA   OS_POKMSK
EC58   STA   OS_IRQEN_IRQST
EC5B   LDA   #$28
EC5D   STA   OS_AUDCTL_ALLPOT
EC60   LDX   #6
EC62   LDA   #$A8
EC64   LDY   byte_41
EC66   BNE   loc_EC6A
EC68   LDA   #$A0
EC6A
EC6A loc_EC6A:                     ; ...
EC6A   STA   OS_AUDC1_POT2,X
EC6D   DEX
EC6E   DEX
EC6F   BPL   loc_EC6A
EC71   LDA   #$A0
EC73   STA   OS_AUDC3_POT5
EC76   LDY   byte_300
EC79   CPY   #$60
EC7B   BEQ   locret_EC83
EC7D   STA   OS_AUDC1_POT2
EC80   STA   OS_AUDC2_POT3
EC83
EC83 locret_EC83:                  ; ...
EC83   RTS
EC83 ; End of function sub_EC40
EC83
EC84
EC84 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EC84
EC84
EC84 sub_EC84:                     ; ...
EC84   NOP
EC85   LDA   #$C7
EC87   AND   OS_POKMSK
EC89   STA   OS_POKMSK
EC8B   STA   OS_IRQEN_IRQST
EC8E   LDX   #6
EC90   LDA   #0
EC92
EC92 loc_EC92:                     ; ...
EC92   STA   OS_AUDC1_POT2,X
EC95   DEX
EC96   DEX
EC97   BPL   loc_EC92
EC99   RTS
EC99 ; End of function sub_EC84
EC99
EC9A
EC9A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EC9A
EC9A
EC9A sub_EC9A:                     ; ...
EC9A   LDA   byte_306
EC9D   ROR   A
EC9E   ROR   A
EC9F   TAY
ECA0   AND   #$3F
ECA2   TAX
ECA3   TYA
ECA4   ROR   A
ECA5   AND   #$C0
ECA7   TAY
ECA8   RTS
ECA8 ; End of function sub_EC9A
ECA8
ECA8 ; ---------------------------------------------------------------------------
ECA9   .BYTE $2C ; ,
ECAA   .BYTE $EB ; Ù
ECAB   .BYTE $AD ; ¡
ECAC   .BYTE $EA ; Û
ECAD   .BYTE $EC ; ý
ECAE   .BYTE $EA ; Û
ECAF
ECAF ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ECAF
ECAF
ECAF sub_ECAF:                     ; ...
ECAF   LDX   #1
ECB1
ECB1 loc_ECB1:                     ; ...
ECB1   LDY   #$FF
ECB3
ECB3 loc_ECB3:                     ; ...
ECB3   DEY
ECB4   BNE   loc_ECB3
ECB6   DEX
ECB7   BNE   loc_ECB1
ECB9   JSR   sub_EA88
ECBC   LDY   #2
ECBE   LDX   #0
ECBE ; End of function sub_ECAF
ECBE
ECC0
ECC0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ECC0
ECC0
ECC0 sub_ECC0:                     ; ...
ECC0   JSR   sub_EDE2
ECC3   JSR   sub_EA37
ECC6   TYA
ECC7   RTS
ECC7 ; End of function sub_ECC0
ECC7
ECC8
ECC8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ECC8
ECC8
ECC8 sub_ECC8:                     ; ...
ECC8   STA   byte_310
ECCB   STY   byte_311
ECCE   JSR   sub_ED2E
ECD1   STA   byte_310
ECD4   LDA   byte_30C
ECD7   JSR   sub_ED2E
ECDA   STA   byte_30C
ECDD   LDA   byte_310
ECE0   SEC
ECE1   SBC   byte_30C
ECE4   STA   word_312
ECE7   LDA   byte_311
ECEA   SEC
ECEB   SBC   byte_30D
ECEE   TAY
ECEF   LDX   byte_62
ECF1   LDA   #0
ECF3   SEC
ECF4   SBC   unk_EE19,X
ECF7
ECF7 loc_ECF7:                     ; ...
ECF7   CLC
ECF8   ADC   unk_EE19,X
ECFB   DEY
ECFC   BPL   loc_ECF7
ECFE   CLC
ECFF   ADC   word_312
ED02   TAY
ED03   LSR   A
ED04   LSR   A
ED05   LSR   A
ED06   ASL   A
ED07   SEC
ED08   SBC   #$16
ED0A   TAX
ED0B   TYA
ED0C   AND   #7
ED0E   TAY
ED0F   LDA   #$F5
ED11
ED11 loc_ED11:                     ; ...
ED11   CLC
ED12   ADC   #$B
ED14   DEY
ED15   BPL   loc_ED11
ED17   LDY   #0
ED19   SEC
ED1A   SBC   #7
ED1C   BPL   loc_ED1F
ED1E   DEY
ED1F
ED1F loc_ED1F:                     ; ...
ED1F   CLC
ED20   ADC   unk_EDF9,X
ED23   STA   byte_2EE
ED26   TYA
ED27   ADC   unk_EDFA,X
ED2A   STA   byte_2EF
ED2D   RTS
ED2D ; End of function sub_ECC8
ED2D
ED2E
ED2E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ED2E
ED2E
ED2E sub_ED2E:                     ; ...
ED2E   CMP   #$7C
ED30   BMI   loc_ED36
ED32   SEC
ED33   SBC   #$7C
ED35   RTS
ED36 ; ---------------------------------------------------------------------------
ED36
ED36 loc_ED36:                     ; ...
ED36   CLC
ED37   LDX   byte_62
ED39   ADC   unk_EE1B,X
ED3C   RTS
ED3C ; End of function sub_ED2E
ED3C
ED3D
ED3D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ED3D
ED3D
ED3D sub_ED3D:                     ; ...
ED3D   LDA   byte_11
ED3F   BNE   loc_ED44
ED41   JMP   loc_EDC7
ED44 ; ---------------------------------------------------------------------------
ED44
ED44 loc_ED44:                     ; ...
ED44   SEI
ED45   LDA   byte_317
ED48   BNE   loc_ED4C
ED4A   BEQ   loc_ED71
ED4C
ED4C loc_ED4C:                     ; ...
ED4C   LDA   OS_SKCTL_SKSTAT
ED4F   AND   #$10
ED51   BNE   sub_ED3D
ED53   STA   byte_316
ED56   LDX   OS_VCOUNT
ED59   LDY   OS_RTCLOK
ED5B   STX   byte_30C
ED5E   STY   byte_30D
ED61   LDX   #1
ED63   STX   byte_315
ED66   LDY   #$A
ED68
ED68 loc_ED68:                     ; ...
ED68   LDA   byte_11
ED6A   BEQ   loc_EDC7
ED6C   LDA   byte_317
ED6F   BNE   loc_ED75
ED71
ED71 loc_ED71:                     ; ...
ED71   CLI
ED72   JMP   loc_EB27
ED75 ; ---------------------------------------------------------------------------
ED75
ED75 loc_ED75:                     ; ...
ED75   LDA   OS_SKCTL_SKSTAT
ED78   AND   #$10
ED7A   CMP   byte_316
ED7D   BEQ   loc_ED68
ED7F   STA   byte_316
ED82   DEY
ED83   BNE   loc_ED68
ED85   DEC   byte_315
ED88   BMI   loc_ED96
ED8A   LDA   OS_VCOUNT
ED8D   LDY   OS_RTCLOK
ED8F   JSR   sub_ECC8
ED92   LDY   #9
ED94   BNE   loc_ED68
ED96
ED96 loc_ED96:                     ; ...
ED96   LDA   byte_2EE
ED99   STA   OS_AUDF3_POT4
ED9C   LDA   byte_2EF
ED9F   STA   OS_AUDF4_POT6
EDA2   LDA   #0
EDA4   STA   OS_SKCTL_SKSTAT
EDA7   LDA   byte_232
EDAA   STA   OS_SKCTL_SKSTAT
EDAD   LDA   #$55
EDAF   STA   ($32),Y
EDB1   INY
EDB2   STA   ($32),Y
EDB4   LDA   #$AA
EDB6   STA   byte_31
EDB8   CLC
EDB9   LDA   byte_32
EDBB   ADC   #2
EDBD   STA   byte_32
EDBF   LDA   byte_33
EDC1   ADC   #0
EDC3   STA   byte_33
EDC5   CLI
EDC6   RTS
EDC7 ; ---------------------------------------------------------------------------
EDC7
EDC7 loc_EDC7:                     ; ...
EDC7   JSR   sub_EC84
EDCA   LDA   #$3C
EDCC   STA   byte_D302
EDCF   LDA   #$3C
EDD1   STA   byte_D303
EDD4   LDA   #$80
EDD6   STA   byte_30
EDD8   LDX   byte_318
EDDB   TXS
EDDC   DEC   byte_11
EDDE   CLI
EDDF   JMP   loc_EA2A
EDDF ; End of function sub_ED3D
EDDF
EDE2
EDE2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EDE2
EDE2
EDE2 sub_EDE2:                     ; ...
EDE2   LDA   #$11
EDE4   STA   word_226
EDE7   LDA   #$EC
EDE9   STA   word_226+1
EDEC   LDA   #1
EDEE   SEI
EDEF   JSR   sub_E45C
EDF2   LDA   #1
EDF4   STA   byte_317
EDF7   CLI
EDF8   RTS
EDF8 ; End of function sub_EDE2
EDF8
EDF8 ; ---------------------------------------------------------------------------
EDF9 unk_EDF9:.BYTE $E8 ; Þ        ; ...
EDFA unk_EDFA:.BYTE   3            ; ...
EDFB   .BYTE $43 ; C
EDFC   .BYTE   4
EDFD   .BYTE $9E ; ×
EDFE   .BYTE   4
EDFF   .BYTE $F9 ; ¨
EE00   .BYTE   4
EE01   .BYTE $54 ; T
EE02   .BYTE   5
EE03   .BYTE $AF ; »
EE04   .BYTE   5
EE05   .BYTE  $A
EE06   .BYTE   6
EE07   .BYTE $65 ; e
EE08   .BYTE   6
EE09   .BYTE $C0 ; +
EE0A   .BYTE   6
EE0B   .BYTE $1A
EE0C   .BYTE   7
EE0D   .BYTE $75 ; u
EE0E   .BYTE   7
EE0F   .BYTE $D0 ; ð
EE10   .BYTE   7
EE11 unk_EE11:.BYTE $B4 ; ¦        ; ...
EE12   .BYTE $96 ; û
EE13 unk_EE13:.BYTE $78 ; x        ; ...
EE14   .BYTE $64 ; d
EE15 unk_EE15:.BYTE  $F            ; ...
EE16   .BYTE  $D
EE17 unk_EE17:.BYTE  $A            ; ...
EE18   .BYTE   8
EE19 unk_EE19:.BYTE $83 ; â        ; ...
EE1A   .BYTE $9C ; £
EE1B unk_EE1B:.BYTE   7            ; ...
EE1C   .BYTE $20
EE1D unk_EE1D:.BYTE $18            ; ...
EE1E   .BYTE $10
EE1F   .BYTE  $A
EE20   .BYTE  $A
EE21   .BYTE $10
EE22   .BYTE $1C
EE23   .BYTE $34 ; 4
EE24   .BYTE $64 ; d
EE25   .BYTE $C4 ; -
EE26   .BYTE $C4 ; -
EE27   .BYTE $C4 ; -
EE28   .BYTE $C4 ; -
EE29   .BYTE $1C
EE2A   .BYTE $10
EE2B   .BYTE $64 ; d
EE2C   .BYTE $C4 ; -
EE2D unk_EE2D:.BYTE $17            ; ...
EE2E   .BYTE $17
EE2F   .BYTE  $B
EE30   .BYTE $17
EE31   .BYTE $2F ; /
EE32   .BYTE $2F ; /
EE33   .BYTE $5F ; _
EE34   .BYTE $5F ; _
EE35   .BYTE $61 ; a
EE36   .BYTE $61 ; a
EE37   .BYTE $61 ; a
EE38   .BYTE $61 ; a
EE39   .BYTE $17
EE3A   .BYTE  $B
EE3B   .BYTE $BF ; +
EE3C   .BYTE $61 ; a
EE3D   .BYTE $13
EE3E   .BYTE $13
EE3F   .BYTE   9
EE40   .BYTE $13
EE41   .BYTE $27 ; '
EE42   .BYTE $27 ; '
EE43   .BYTE $4F ; O
EE44   .BYTE $4F ; O
EE45   .BYTE $41 ; A
EE46   .BYTE $41 ; A
EE47   .BYTE $41 ; A
EE48   .BYTE $41 ; A
EE49   .BYTE $13
EE4A   .BYTE   9
EE4B   .BYTE $9F ; ƒ
EE4C   .BYTE $41 ; A
EE4D unk_EE4D:.BYTE   2            ; ...
EE4E   .BYTE   6
EE4F   .BYTE   7
EE50   .BYTE   8
EE51   .BYTE   9
EE52   .BYTE  $A
EE53   .BYTE  $B
EE54   .BYTE  $D
EE55   .BYTE  $F
EE56   .BYTE  $F
EE57   .BYTE  $F
EE58   .BYTE  $F
EE59   .BYTE   4
EE5A   .BYTE   5
EE5B   .BYTE  $C
EE5C   .BYTE  $E
EE5D unk_EE5D:.BYTE   0            ; ...
EE5E   .BYTE   0
EE5F   .BYTE   0
EE60   .BYTE   0
EE61   .BYTE   0
EE62   .BYTE   0
EE63   .BYTE   0
EE64   .BYTE   1
EE65   .BYTE   1
EE66   .BYTE   1
EE67   .BYTE   1
EE68   .BYTE   1
EE69   .BYTE   0
EE6A   .BYTE   0
EE6B   .BYTE   1
EE6C   .BYTE   1
EE6D unk_EE6D:.BYTE   3            ; ...
EE6E   .BYTE   2
EE6F   .BYTE   2
EE70   .BYTE   1
EE71   .BYTE   1
EE72   .BYTE   2
EE73   .BYTE   2
EE74   .BYTE   3
EE75   .BYTE   3
EE76   .BYTE   3
EE77   .BYTE   3
EE78   .BYTE   3
EE79   .BYTE   3
EE7A   .BYTE   3
EE7B   .BYTE   2
EE7C   .BYTE   3
EE7D unk_EE7D:.BYTE $28 ; (        ; ...
EE7E   .BYTE $14
EE7F   .BYTE $14
EE80   .BYTE $28 ; (
EE81   .BYTE $50 ; P
EE82   .BYTE $50 ; P
EE83   .BYTE $A0 ; á
EE84   .BYTE $A0 ; á
EE85   .BYTE $40 ; @
EE86   .BYTE $50 ; P
EE87   .BYTE $50 ; P
EE88   .BYTE $50 ; P
EE89   .BYTE $28 ; (
EE8A   .BYTE $28 ; (
EE8B   .BYTE $A0 ; á
EE8C   .BYTE $A0 ; á
EE8D unk_EE8D:.BYTE $18            ; ...
EE8E   .BYTE $18
EE8F   .BYTE  $C
EE90   .BYTE $18
EE91   .BYTE $30 ; 0
EE92   .BYTE $30 ; 0
EE93   .BYTE $60 ; `
EE94   .BYTE $60 ; `
EE95   .BYTE $C0 ; +
EE96   .BYTE $C0 ; +
EE97   .BYTE $C0 ; +
EE98   .BYTE $C0 ; +
EE99   .BYTE $18
EE9A   .BYTE  $C
EE9B   .BYTE $C0 ; +
EE9C   .BYTE $C0 ; +
EE9D unk_EE9D:.BYTE   0            ; ...
EE9E   .BYTE   0
EE9F   .BYTE   0
EEA0   .BYTE   2
EEA1   .BYTE   3
EEA2   .BYTE   2
EEA3   .BYTE   3
EEA4   .BYTE   2
EEA5   .BYTE   3
EEA6   .BYTE   1
EEA7   .BYTE   1
EEA8   .BYTE   1
EEA9   .BYTE   0
EEAA   .BYTE   0
EEAB   .BYTE   3
EEAC unk_EEAC:.BYTE   2            ; ...
EEAD   .BYTE $FF
EEAE   .BYTE $F0 ; ­
EEAF   .BYTE  $F
EEB0   .BYTE $C0 ; +
EEB1   .BYTE $30 ; 0
EEB2   .BYTE  $C
EEB3   .BYTE   3
EEB4 unk_EEB4:.BYTE $80 ; Ç        ; ...
EEB5   .BYTE $40 ; @
EEB6   .BYTE $20
EEB7   .BYTE $10
EEB8   .BYTE   8
EEB9   .BYTE   4
EEBA   .BYTE   2
EEBB   .BYTE   1
EEBC   .BYTE $48 ; H
EEBD   .BYTE $98 ; ÿ
EEBE   .BYTE $48 ; H
EEBF   .BYTE $8A ; è
EEC0   .BYTE $A2 ; ó
EEC1   .BYTE   0
EEC2 ; ---------------------------------------------------------------------------
EEC2
EEC2 loc_EEC2:                     ; ...
EEC2   CMP   $31A,X
EEC5   BEQ   loc_EEE5
EEC7   INX
EEC8   INX
EEC9   INX
EECA   CPX   #$22
EECC   BMI   loc_EEC2
EECE   LDX   #0
EED0   TAY
EED1   LDA   #0
EED3
EED3 loc_EED3:                     ; ...
EED3   CMP   $31A,X
EED6   BEQ   loc_EEEB
EED8   INX
EED9   INX
EEDA   INX
EEDB   CPX   #$22
EEDD   BMI   loc_EED3
EEDF   PLA
EEE0   PLA
EEE1   LDY   #$FF
EEE3   SEC
EEE4   RTS
EEE5 ; ---------------------------------------------------------------------------
EEE5
EEE5 loc_EEE5:                     ; ...
EEE5   PLA
EEE6   TAY
EEE7   PLA
EEE8   INX
EEE9   SEC
EEEA   RTS
EEEB ; ---------------------------------------------------------------------------
EEEB
EEEB loc_EEEB:                     ; ...
EEEB   TYA
EEEC   STA   $31A,X
EEEF   PLA
EEF0   STA   $31B,X
EEF3   PLA
EEF4   STA   $31C,X
EEF7   CLC
EEF8   RTS
EEF9
EEF9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EEF9
EEF9
EEF9 sub_EEF9:                     ; ...
EEF9   LDY   #0
EEFB   LDA   ($24),Y
EEFD   LDY   byte_21
EEFF   JSR   sub_E7BE
EF02   BPL   loc_EF07
EF04   LDY   #$82
EF06   RTS
EF07 ; ---------------------------------------------------------------------------
EF07
EF07 loc_EF07:                     ; ...
EF07   LDA   #$7F
EF09   STA   byte_20
EF0B   LDA   #$25
EF0D   STA   byte_26
EF0F   LDA   #$EF
EF11   STA   byte_27
EF13   LDA   byte_2EC
EF16   LDX   byte_2E
EF19   STA   $34D,X
EF1C   LDY   #0
EF1E   LDA   ($24),Y
EF20   STA   $34C,X
EF23   LDY   #1
EF25   RTS
EF25 ; End of function sub_EEF9
EF25
EF25 ; ---------------------------------------------------------------------------
EF26   .BYTE $48 ; H
EF27   .BYTE $8A ; è
EF28   .BYTE $48 ; H
EF29   .BYTE $29 ; )
EF2A   .BYTE  $F
EF2B   .BYTE $D0 ; ð
EF2C   .BYTE $10
EF2D   .BYTE $E0 ; Ó
EF2E   .BYTE $80 ; Ç
EF2F   .BYTE $10
EF30   .BYTE  $C
EF31   .BYTE $AD ; ¡
EF32   .BYTE $E9 ; Ú
EF33   .BYTE   2
EF34   .BYTE $D0 ; ð
EF35   .BYTE  $B
EF36   .BYTE $A0 ; á
EF37   .BYTE $82 ; é
EF38   .BYTE $68 ; h
EF39   .BYTE $68 ; h
EF3A   .BYTE $C0 ; +
EF3B   .BYTE   0
EF3C   .BYTE $60 ; `
EF3D   .BYTE $A0 ; á
EF3E   .BYTE $86 ; å
EF3F   .BYTE $30 ; 0
EF40   .BYTE $F7 ; ¸
EF41   .BYTE $8E ; Ä
EF42   .BYTE $2E ; .
EF43   .BYTE   0
EF44   .BYTE $A0 ; á
EF45   .BYTE   0
EF46   .BYTE $BD ; ¢
EF47   .BYTE $40 ; @
EF48   .BYTE   3
EF49   .BYTE $99 ; Ö
EF4A   .BYTE $20
EF4B   .BYTE   0
EF4C   .BYTE $E8 ; Þ
EF4D   .BYTE $C8 ; +
EF4E   .BYTE $C0 ; +
EF4F   .BYTE  $C
EF50   .BYTE $30 ; 0
EF51   .BYTE $F4 ; ¶
EF52   .BYTE $20
EF53   .BYTE $29 ; )
EF54   .BYTE $CA ; -
EF55   .BYTE $30 ; 0
EF56   .BYTE $E1 ; ß
EF57   .BYTE $68 ; h
EF58   .BYTE $AA ; ¬
EF59   .BYTE $68 ; h
EF5A   .BYTE $A8 ; ¿
EF5B   .BYTE $A5 ; Ñ
EF5C   .BYTE $27 ; '
EF5D   .BYTE $48 ; H
EF5E   .BYTE $A5 ; Ñ
EF5F   .BYTE $26 ; &
EF60   .BYTE $48 ; H
EF61   .BYTE $98 ; ÿ
EF62   .BYTE $A0 ; á
EF63   .BYTE $92 ; Æ
EF64   .BYTE $60 ; `
EF65   .BYTE   0
EF66   .BYTE   0
EF67   .BYTE   0
EF68   .BYTE   0
EF69   .BYTE   0
EF6A   .BYTE   0
EF6B   .BYTE $4C ; L
EF6C   .BYTE   5
EF6D   .BYTE $FD ; ²
EF6E
EF6E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EF6E
EF6E
EF6E sub_EF6E:                     ; ...
EF6E   LDA   #$FF
EF70   STA   byte_2FC
EF73   LDA   byte_2E4
EF76   STA   byte_6A
EF78   LDA   #$40
EF7A   STA   byte_2BE
EF7D   LDA   #$51
EF7F   STA   byte_79
EF81   LDA   #$FB
EF83   STA   byte_7A
EF85   LDA   #$11
EF87   STA   byte_60
EF89   LDA   #$FC
EF8B   STA   byte_61
EF8D   RTS
EF8D ; End of function sub_EF6E
EF8D
EF8D ; ---------------------------------------------------------------------------
EF8E   .BYTE $A5 ; Ñ
EF8F   .BYTE $2B ; +
EF90   .BYTE $29 ; )
EF91   .BYTE  $F
EF92   .BYTE $D0 ; ð
EF93   .BYTE   8
EF94 ; ---------------------------------------------------------------------------
EF94
EF94 loc_EF94:                     ; ...
EF94   LDA   byte_2A
EF96   AND   #$F
EF98   STA   byte_2A
EF9A   LDA   #0
EF9C   STA   byte_57
EF9E   CMP   #$10
EFA0   BCC   loc_EFA7
EFA2   LDA   #$91
EFA4   JMP   loc_F154
EFA7 ; ---------------------------------------------------------------------------
EFA7
EFA7 loc_EFA7:                     ; ...
EFA7   LDA   #$E0
EFA9   STA   OS_CHBAS
EFAC   LDA   #$CC
EFAE   STA   byte_26B
EFB1   LDA   #2
EFB3   STA   byte_2F3
EFB6   STA   OS_SDMCTL
EFB9   LDA   #1
EFBB   STA   byte_4C
EFBD   LDA   #$C0
EFBF   ORA   OS_POKMSK
EFC1   STA   OS_POKMSK
EFC3   STA   OS_IRQEN_IRQST
EFC6   LDA   #$40
EFC8   STA   OS_NMIEN
EFCB   BIT   byte_26E
EFCE   BPL   loc_EFDC
EFD0   LDA   #$C4
EFD2   STA   OS_VDSLST
EFD5   LDA   #$FC
EFD7   STA   OS_VDSLST+1
EFDA   LDA   #$C0
EFDC
EFDC loc_EFDC:                     ; ...
EFDC   STA   OS_NMIEN
EFDF   LDA   #0
EFE1   STA   byte_293
EFE4   STA   byte_64
EFE6   STA   byte_7B
EFE8   STA   byte_2F0
EFEB   LDY   #$E
EFED   LDA   #1
EFEF
EFEF loc_EFEF:                     ; ...
EFEF   STA   $2A3,Y
EFF2   DEY
EFF3   BPL   loc_EFEF
EFF5   LDX   #4
EFF7
EFF7 loc_EFF7:                     ; ...
EFF7   LDA   unk_FB08,X
EFFA   STA   $2C4,X
EFFD   DEX
EFFE   BPL   loc_EFF7
F000   LDY   byte_6A
F000 ; ---------------------------------------------------------------------------
F002 byte_F002:.BYTE $88           ; ...
F003 ; ---------------------------------------------------------------------------
F003   STY   byte_295
F006   LDA   #$60
F008   STA   byte_294
F00B   LDX   byte_57
F00D   LDA   unk_EE4D,X
F010   STA   byte_51
F012   LDA   byte_6A
F014   STA   byte_65
F016   LDY   unk_EE1D,X
F019
F019 loc_F019:                     ; ...
F019   LDA   #$28
F01B   JSR   loc_F57A
F01E   DEY
F01F   BNE   loc_F019
F021   LDA   OS_GPRIOR
F024   AND   #$3F
F026   STA   byte_67
F028   TAY
F029   CPX   #8
F02B   BCC   loc_F04C
F02D   CPX   #$F
F02F   BEQ   loc_F03E
F031   CPX   #$C
F033   BCS   loc_F04C
F035   TXA
F036   ROR   A
F037   ROR   A
F038   ROR   A
F039   AND   #$C0
F03B   ORA   byte_67
F03D   TAY
F03E
F03E loc_F03E:                     ; ...
F03E   LDA   #$10
F040   JSR   loc_F57A
F043   CPX   #$B
F045   BNE   loc_F04C
F047   LDA   #6
F049   STA   OS_COLOR4
F04C
F04C loc_F04C:                     ; ...
F04C   STY   OS_GPRIOR
F04F   LDA   byte_64
F051   STA   byte_58
F053   LDA   byte_65
F055   STA   byte_59
F057
F057 loc_F057:                     ; ...
F057   LDA   OS_VCOUNT
F05A   CMP   #$7A
F05C   BNE   loc_F057
F05E   JSR   loc_F578
F061   LDA   unk_EE5D,X
F064   BEQ   loc_F06C
F066   LDA   #$FF
F068   STA   byte_64
F06A   DEC   byte_65
F06C
F06C loc_F06C:                     ; ...
F06C   JSR   sub_F565
F06F   LDA   byte_64
F071   STA   byte_68
F073   LDA   byte_65
F075   STA   byte_69
F077   LDA   #$41
F079   JSR   sub_F570
F07C   STX   byte_66
F07E   LDA   #$18
F080   STA   byte_2BF
F083   LDA   byte_57
F085   CMP   #$C
F087   BCS   loc_F08D
F089   CMP   #9
F08B   BCS   loc_F0C6
F08D
F08D loc_F08D:                     ; ...
F08D   LDA   byte_2A
F08F   AND   #$10
F091   BEQ   loc_F0C6
F093   LDA   #4
F095   STA   byte_2BF
F098   LDX   #2
F09A   LDA   byte_26E
F09D   BEQ   loc_F0A2
F09F   JSR   sub_F5A0
F0A2
F0A2 loc_F0A2:                     ; ...
F0A2   LDA   #2
F0A4   JSR   sub_F569
F0A7   DEX
F0A8   BPL   loc_F0A2
F0AA   LDY   byte_6A
F0AC   DEY
F0AD   TYA
F0AE   JSR   sub_F570
F0B1   LDA   #$60
F0B3   JSR   sub_F570
F0B6   LDA   #$42
F0B8   JSR   sub_F569
F0BB   CLC
F0BC   LDA   #$10
F0BE   ADC   byte_66
F0C0   TAY
F0C1   LDX   unk_EE2D,Y
F0C4   BNE   loc_F0DB
F0C6
F0C6 loc_F0C6:                     ; ...
F0C6   LDY   byte_66
F0C8   LDX   unk_EE2D,Y
F0CB   LDA   byte_57
F0CD   BNE   loc_F0DB
F0CD ; ---------------------------------------------------------------------------
F0CF   .BYTE $AD ; ¡
F0D0
F0D0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F0D0
F0D0
F0D0 sub_F0D0:
F0D0
F0D0 ; FUNCTION CHUNK AT F20B SIZE 00000018 BYTES
F0D0 ; FUNCTION CHUNK AT F226 SIZE 00000008 BYTES
F0D0
F0D0   ROR   byte_F002
F0D3   RMB0  byte_20
F0D5   LDY   #$F5
F0D7   LDA   #$22
F0D9   STA   byte_51
F0DB
F0DB loc_F0DB:                     ; ...
F0DB   LDA   byte_51
F0DD   JSR   sub_F570
F0E0   DEX
F0E1   BNE   loc_F0DB
F0E3   LDA   byte_57
F0E5   CMP   #8
F0E7   BCC   loc_F10F
F0E9   CMP   #$F
F0EB   BEQ   loc_F0F1
F0ED   CMP   #$C
F0EF   BCS   loc_F10F
F0F1
F0F1 loc_F0F1:                     ; ...
F0F1   LDX   #$5D
F0F3   LDA   byte_6A
F0F5   SEC
F0F6   SBC   #$10
F0F8   JSR   sub_F570
F0FB   LDA   #0
F0FD   JSR   sub_F570
F100   LDA   byte_51
F102   ORA   #$40
F104   JSR   sub_F570
F107
F107 loc_F107:                     ; ...
F107   LDA   byte_51
F109   JSR   sub_F570
F10C   DEX
F10D   BNE   loc_F107
F10F
F10F loc_F10F:                     ; ...
F10F   LDA   byte_59
F111   JSR   sub_F570
F114   LDA   byte_58
F116   JSR   sub_F570
F119   LDA   byte_51
F11B   ORA   #$40
F11D   JSR   sub_F570
F120   LDA   #$70
F122   JSR   sub_F570
F125   LDA   #$70
F127   JSR   sub_F570
F12A   LDA   byte_64
F12C   STA   OS_SDLSTL
F12F   LDA   byte_65
F131   STA   OS_SDLSTL+1
F134   LDA   #$70
F136   JSR   sub_F570
F139   LDA   byte_64
F13B   STA   byte_2E5
F13E   LDA   byte_65
F140   STA   byte_2E6
F143   LDY   #1
F145   LDA   OS_SDLSTL
F148   STA   ($68),Y
F14A   INY
F14B   LDA   OS_SDLSTL+1
F14E   STA   ($68),Y
F150   LDA   byte_4C
F152   BPL   loc_F164
F154
F154 loc_F154:                     ; ...
F154   STA   byte_3EC
F157   JSR   loc_EF94
F15A   LDA   byte_3EC
F15D   LDY   #0
F15F   STY   byte_3EC
F162   TAY
F163   RTS
F164 ; ---------------------------------------------------------------------------
F164
F164 loc_F164:                     ; ...
F164   LDA   byte_2A
F166   AND   #$20
F168   BNE   loc_F175
F16A   JSR   sub_F420
F16D   STA   byte_290
F170   LDA   byte_52
F172   STA   byte_291
F175
F175 loc_F175:                     ; ...
F175   LDA   #$22
F177   ORA   OS_SDMCTL
F17A   STA   OS_SDMCTL
F17D   JMP   loc_F20B
F17D ; End of function sub_F0D0
F17D
F180 ; ---------------------------------------------------------------------------
F180   JSR   sub_F6CA
F183   JSR   sub_F18F
F186   JSR   sub_F76A
F189   JSR   sub_F60A
F18C   JMP   loc_F21E
F18F
F18F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F18F
F18F
F18F sub_F18F:                     ; ...
F18F   JSR   sub_F5AC
F192   LDA   ($64),Y
F194   AND   byte_2A0
F197
F197 loc_F197:                     ; ...
F197   LSR   byte_6F
F199   BCS   loc_F19E
F19B   LSR   A
F19C   BPL   loc_F197
F19E
F19E loc_F19E:                     ; ...
F19E   STA   byte_2FA
F1A1   CMP   #0
F1A3   RTS
F1A3 ; End of function sub_F18F
F1A3
F1A4 ; ---------------------------------------------------------------------------
F1A4   STA   byte_2FB
F1A7   CMP   #$7D
F1A9   BNE   loc_F1B1
F1AB   JSR   sub_F420
F1AE   JMP   loc_F20B
F1B1 ; ---------------------------------------------------------------------------
F1B1
F1B1 loc_F1B1:                     ; ...
F1B1   JSR   sub_F6CA
F1B4   LDA   byte_2FB
F1B7   CMP   #$9B
F1B9   BNE   loc_F1C1
F1BB   JSR   sub_F661
F1BE   JMP   loc_F20B
F1C1 ; ---------------------------------------------------------------------------
F1C1
F1C1 loc_F1C1:                     ; ...
F1C1   JSR   sub_F1CA
F1C4   JSR   loc_F60E
F1C7   JMP   loc_F20B
F1CA
F1CA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F1CA
F1CA
F1CA sub_F1CA:                     ; ...
F1CA   LDA   byte_2FF
F1CD   BNE   sub_F1CA
F1CF   LDX   #2
F1D1
F1D1 loc_F1D1:                     ; ...
F1D1   LDA   $54,X
F1D3   STA   $5A,X
F1D5   DEX
F1D6   BPL   loc_F1D1
F1D8   LDA   byte_2FB
F1DB   TAY
F1DC   ROL   A
F1DD   ROL   A
F1DE   ROL   A
F1DF   ROL   A
F1E0   AND   #3
F1E2   TAX
F1E3   TYA
F1E4   AND   #$9F
F1E6   ORA   unk_FB49,X
F1E6 ; End of function sub_F1CA
F1E6
F1E9
F1E9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F1E9
F1E9
F1E9 sub_F1E9:                     ; ...
F1E9   STA   byte_2FA
F1EC   JSR   sub_F5AC
F1EF   LDA   byte_2FA
F1F2
F1F2 loc_F1F2:                     ; ...
F1F2   LSR   byte_6F
F1F4   BCS   loc_F1FA
F1F6   ASL   A
F1F7   JMP   loc_F1F2
F1FA ; ---------------------------------------------------------------------------
F1FA
F1FA loc_F1FA:                     ; ...
F1FA   AND   byte_2A0
F1FD   STA   byte_50
F1FF   LDA   byte_2A0
F202   EOR   #$FF
F204   AND   ($64),Y
F206   ORA   byte_50
F208   STA   ($64),Y
F20A   RTS
F20A ; End of function sub_F1E9
F20A
F20B ; ---------------------------------------------------------------------------
F20B ; START OF FUNCTION CHUNK FOR sub_F0D0
F20B
F20B loc_F20B:                     ; ...
F20B   JSR   sub_F18F
F20E   STA   byte_5D
F210   LDX   byte_57
F212   BNE   loc_F21E
F214   LDX   byte_2F0
F217   BNE   loc_F21E
F219   EOR   #$80
F21B   JSR   sub_F1E9
F21E
F21E loc_F21E:                     ; ...
F21E   LDY   byte_4C
F220   JMP   loc_F226
F220 ; END OF FUNCTION CHUNK FOR sub_F0D0
F220 ; ---------------------------------------------------------------------------
F223   .BYTE $4C ; L
F224   .BYTE $FC ; ³
F225   .BYTE $C8 ; +
F226 ; ---------------------------------------------------------------------------
F226 ; START OF FUNCTION CHUNK FOR sub_F0D0
F226
F226 loc_F226:                     ; ...
F226   LDA   #1
F228   STA   byte_4C
F22A   LDA   byte_2FB
F22D   RTS
F22D ; END OF FUNCTION CHUNK FOR sub_F0D0
F22E ; ---------------------------------------------------------------------------
F22E   BIT   byte_26E
F22E ; ---------------------------------------------------------------------------
F231   .BYTE $10
F232   .BYTE $EB ; Ù
F233   .BYTE $A9 ; ®
F234   .BYTE $40 ; @
F235   .BYTE $8D ; ì
F236   .BYTE  $E
F237   .BYTE $D4 ; È
F238   .BYTE $A9 ; ®
F239   .BYTE   0
F23A   .BYTE $8D ; ì
F23B   .BYTE $6E ; n
F23C   .BYTE   2
F23D   .BYTE $A9 ; ®
F23E   .BYTE $CE ; +
F23F   .BYTE $8D ; ì
F240   .BYTE   0
F241   .BYTE   2
F242   .BYTE $A9 ; ®
F243   .BYTE $C0 ; +
F244   .BYTE $8D ; ì
F245   .BYTE   1
F246   .BYTE   2
F247   .BYTE $4C ; L
F248   .BYTE $94 ; ö
F249   .BYTE $EF ; ´
F24A   .BYTE $20
F24B   .BYTE $62 ; b
F24C   .BYTE $F9 ; ¨
F24D   .BYTE $20
F24E   .BYTE $BC ; +
F24F   .BYTE $F6 ; ÷
F250   .BYTE $A5 ; Ñ
F251   .BYTE $6B ; k
F252   .BYTE $D0 ; ð
F253   .BYTE $34 ; 4
F254   .BYTE $A5 ; Ñ
F255   .BYTE $54 ; T
F256   .BYTE $85 ; à
F257   .BYTE $6C ; l
F258   .BYTE $A5 ; Ñ
F259   .BYTE $55 ; U
F25A   .BYTE $85 ; à
F25B   .BYTE $6D ; m
F25C   .BYTE $20
F25D   .BYTE $FD ; ²
F25E   .BYTE $F2 ; =
F25F   .BYTE $84 ; ä
F260   .BYTE $4C ; L
F261   .BYTE $AD ; ¡
F262   .BYTE $FB ; ¹
F263   .BYTE   2
F264   .BYTE $C9 ; +
F265   .BYTE $9B ; ø
F266   .BYTE $F0 ; ­
F267   .BYTE $12
F268   .BYTE $20
F269   .BYTE $BE ; ¥
F26A   .BYTE $F2 ; =
F26B   .BYTE $20
F26C   .BYTE $62 ; b
F26D   .BYTE $F9 ; ¨
F26E   .BYTE $A5 ; Ñ
F26F   .BYTE $63 ; c
F270   .BYTE $C9 ; +
F271   .BYTE $71 ; q
F272   .BYTE $D0 ; ð
F273   .BYTE   3
F274   .BYTE $20
F275   .BYTE $56 ; V
F276   .BYTE $F5 ; §
F277   .BYTE $4C ; L
F278   .BYTE $5C ; \
F279   .BYTE $F2 ; =
F27A   .BYTE $20
F27B   .BYTE $18
F27C   .BYTE $F7 ; ¸
F27D   .BYTE $20
F27E   .BYTE $B1 ; ¦
F27F   .BYTE $F8 ; °
F280   .BYTE $A5 ; Ñ
F281   .BYTE $6C ; l
F282   .BYTE $85 ; à
F283   .BYTE $54 ; T
F284   .BYTE $A5 ; Ñ
F285   .BYTE $6D ; m
F286   .BYTE $85 ; à
F287   .BYTE $55 ; U
F288   .BYTE $A5 ; Ñ
F289   .BYTE $6B ; k
F28A   .BYTE $F0 ; ­
F28B   .BYTE $11
F28C   .BYTE $C6 ; ã
F28D   .BYTE $6B ; k
F28E   .BYTE $F0 ; ­
F28F   .BYTE  $D
F290   .BYTE $A5 ; Ñ
F291   .BYTE $4C ; L
F292   .BYTE $30 ; 0
F293   .BYTE $F8 ; °
F294   .BYTE $20
F295   .BYTE $80 ; Ç
F296   .BYTE $F1 ; ±
F297   .BYTE $8D ; ì
F298   .BYTE $FB ; ¹
F299   .BYTE   2
F29A   .BYTE $4C ; L
F29B   .BYTE $62 ; b
F29C   .BYTE $F9 ; ¨
F29D   .BYTE $20
F29E   .BYTE $61 ; a
F29F   .BYTE $F6 ; ÷
F2A0   .BYTE $A9 ; ®
F2A1   .BYTE $9B ; ø
F2A2   .BYTE $8D ; ì
F2A3   .BYTE $FB ; ¹
F2A4   .BYTE   2
F2A5   .BYTE $20
F2A6   .BYTE  $B
F2A7   .BYTE $F2 ; =
F2A8   .BYTE $84 ; ä
F2A9   .BYTE $4C ; L
F2AA   .BYTE $4C ; L
F2AB   .BYTE $62 ; b
F2AC   .BYTE $F9 ; ¨
F2AD   .BYTE $6C ; l
F2AE   .BYTE $64 ; d
F2AF   .BYTE   0
F2B0   .BYTE $8D ; ì
F2B1   .BYTE $FB ; ¹
F2B2   .BYTE   2
F2B3   .BYTE $20
F2B4   .BYTE $62 ; b
F2B5   .BYTE $F9 ; ¨
F2B6   .BYTE $20
F2B7   .BYTE $BC ; +
F2B8   .BYTE $F6 ; ÷
F2B9   .BYTE $A9 ; ®
F2BA   .BYTE   0
F2BB   .BYTE $8D ; ì
F2BC   .BYTE $E8 ; Þ
F2BD   .BYTE   3
F2BE   .BYTE $20
F2BF   .BYTE $18
F2C0   .BYTE $F7 ; ¸
F2C1   .BYTE $20
F2C2   .BYTE $3C ; <
F2C3   .BYTE $F9 ; ¨
F2C4   .BYTE $F0 ; ­
F2C5   .BYTE   9
F2C6   .BYTE  $E
F2C7   .BYTE $A2 ; ó
F2C8   .BYTE   2
F2C9   .BYTE $20
F2CA   .BYTE $B4 ; ¦
F2CB   .BYTE $F1 ; ±
F2CC   .BYTE $4C ; L
F2CD   .BYTE $62 ; b
F2CE   .BYTE $F9 ; ¨
F2CF   .BYTE $AD ; ¡
F2D0   .BYTE $FE ; ¦
F2D1   .BYTE   2
F2D2   .BYTE  $D
F2D3   .BYTE $A2 ; ó
F2D4   .BYTE   2
F2D5   .BYTE $D0 ; ð
F2D6   .BYTE $EF ; ´
F2D7   .BYTE  $E
F2D8   .BYTE $A2 ; ó
F2D9   .BYTE   2
F2DA   .BYTE $E8 ; Þ
F2DB   .BYTE $AD ; ¡
F2DC   .BYTE $E8 ; Þ
F2DD   .BYTE   3
F2DE   .BYTE $F0 ; ­
F2DF   .BYTE   5
F2E0   .BYTE $8A ; è
F2E1   .BYTE $18
F2E2   .BYTE $69 ; i
F2E3   .BYTE $2D ; -
F2E4   .BYTE $AA ; ¬
F2E5   .BYTE $BD ; ¢
F2E6   .BYTE  $D
F2E7   .BYTE $FB ; ¹
F2E8   .BYTE $85 ; à
F2E9   .BYTE $64 ; d
F2EA   .BYTE $BD ; ¢
F2EB   .BYTE  $E
F2EC   .BYTE $FB ; ¹
F2ED   .BYTE $85 ; à
F2EE   .BYTE $65 ; e
F2EF   .BYTE $20
F2F0   .BYTE $AD ; ¡
F2F1   .BYTE $F2 ; =
F2F2   .BYTE $20
F2F3   .BYTE  $B
F2F4   .BYTE $F2 ; =
F2F5   .BYTE $4C ; L
F2F6   .BYTE $62 ; b
F2F7   .BYTE $F9 ; ¨
F2F8   .BYTE $A9 ; ®
F2F9   .BYTE $FF
F2FA   .BYTE $8D ; ì
F2FB   .BYTE $FC ; ³
F2FC   .BYTE   2
F2FD   .BYTE $A9 ; ®
F2FE   .BYTE   0
F2FF   .BYTE $8D ; ì
F300   .BYTE $E8 ; Þ
F301   .BYTE   3
F302   .BYTE $A5 ; Ñ
F303   .BYTE $2A ; *
F304   .BYTE $4A ; J
F305   .BYTE $B0 ; ¦
F306   .BYTE $6F ; o
F307   .BYTE $A9 ; ®
F308   .BYTE $80 ; Ç
F309   .BYTE $A6 ; ª
F30A   .BYTE $11
F30B   .BYTE $F0 ; ­
F30C   .BYTE $65 ; e
F30D   .BYTE $AD ; ¡
F30E   .BYTE $FC ; ³
F30F   .BYTE   2
F310   .BYTE $C9 ; +
F311   .BYTE $FF
F312   .BYTE $F0 ; ­
F313   .BYTE $E9 ; Ú
F314   .BYTE $85 ; à
F315   .BYTE $7C ; |
F316   .BYTE $A2 ; ó
F317   .BYTE $FF
F318   .BYTE $8E ; Ä
F319   .BYTE $FC ; ³
F31A   .BYTE   2
F31B   .BYTE $AE ; «
F31C   .BYTE $DB ; ¦
F31D   .BYTE   2
F31E   .BYTE $D0 ; ð
F31F   .BYTE   3
F320   .BYTE $20
F321   .BYTE $83 ; â
F322   .BYTE $F9 ; ¨
F323   .BYTE $A8 ; ¿
F324   .BYTE $C0 ; +
F325   .BYTE $C0 ; +
F326   .BYTE $B0 ; ¦
F327   .BYTE $D0 ; ð
F328   .BYTE $B1 ; ¦
F329   .BYTE $79 ; y
F32A   .BYTE $8D ; ì
F32B   .BYTE $FB ; ¹
F32C   .BYTE   2
F32D   .BYTE $AA ; ¬
F32E   .BYTE $30 ; 0
F32F   .BYTE   3
F330   .BYTE $4C ; L
F331   .BYTE $B4 ; ¦
F332   .BYTE $F3 ; ¾
F333   .BYTE $C9 ; +
F334   .BYTE $80 ; Ç
F335   .BYTE $F0 ; ­
F336   .BYTE $C1 ; -
F337   .BYTE $C9 ; +
F338   .BYTE $81 ; ü
F339   .BYTE $D0 ; ð
F33A   .BYTE  $A
F33B   .BYTE $AD ; ¡
F33C   .BYTE $B6 ; Â
F33D   .BYTE   2
F33E   .BYTE $49 ; I
F33F   .BYTE $80 ; Ç
F340   .BYTE $8D ; ì
F341   .BYTE $B6 ; Â
F342   .BYTE   2
F343   .BYTE $B0 ; ¦
F344   .BYTE $B3 ; ¦
F345   .BYTE $C9 ; +
F346   .BYTE $82 ; é
F347   .BYTE $D0 ; ð
F348   .BYTE  $C
F349   .BYTE $AD ; ¡
F34A   .BYTE $BE ; ¥
F34B   .BYTE   2
F34C   .BYTE $F0 ; ­
F34D   .BYTE  $B
F34E   .BYTE $A9 ; ®
F34F   .BYTE   0
F350   .BYTE $8D ; ì
F351   .BYTE $BE ; ¥
F352   .BYTE   2
F353   .BYTE $F0 ; ­
F354   .BYTE $A3 ; ú
F355   .BYTE $C9 ; +
F356   .BYTE $83 ; â
F357   .BYTE $D0 ; ð
F358   .BYTE   7
F359   .BYTE $A9 ; ®
F35A   .BYTE $40 ; @
F35B   .BYTE $8D ; ì
F35C   .BYTE $BE ; ¥
F35D   .BYTE   2
F35E   .BYTE $D0 ; ð
F35F   .BYTE $98 ; ÿ
F360   .BYTE $C9 ; +
F361   .BYTE $84 ; ä
F362   .BYTE $D0 ; ð
F363   .BYTE   8
F364   .BYTE $A9 ; ®
F365   .BYTE $80 ; Ç
F366   .BYTE $8D ; ì
F367   .BYTE $BE ; ¥
F368   .BYTE   2
F369   .BYTE $4C ; L
F36A   .BYTE $F8 ; °
F36B   .BYTE $F2 ; =
F36C   .BYTE $C9 ; +
F36D   .BYTE $85 ; à
F36E   .BYTE $D0 ; ð
F36F   .BYTE  $B
F370   .BYTE $A9 ; ®
F371   .BYTE $88 ; ê
F372   .BYTE $85 ; à
F373   .BYTE $4C ; L
F374   .BYTE $85 ; à
F375   .BYTE $11
F376   .BYTE $A9 ; ®
F377   .BYTE $9B ; ø
F378   .BYTE $4C ; L
F379   .BYTE $DA ; +
F37A   .BYTE $F3 ; ¾
F37B   .BYTE $C9 ; +
F37C   .BYTE $89 ; ë
F37D   .BYTE $D0 ; ð
F37E   .BYTE $10
F37F   .BYTE $AD ; ¡
F380   .BYTE $DB ; ¦
F381   .BYTE   2
F382   .BYTE $49 ; I
F383   .BYTE $FF
F384   .BYTE $8D ; ì
F385   .BYTE $DB ; ¦
F386   .BYTE   2
F387   .BYTE $D0 ; ð
F388   .BYTE   3
F389   .BYTE $20
F38A   .BYTE $83 ; â
F38B   .BYTE $F9 ; ¨
F38C   .BYTE $4C ; L
F38D   .BYTE $F8 ; °
F38E   .BYTE $F2 ; =
F38F   .BYTE $C9 ; +
F390   .BYTE $8E ; Ä
F391   .BYTE $B0 ; ¦
F392   .BYTE $12
F393   .BYTE $C9 ; +
F394   .BYTE $8A ; è
F395   .BYTE $90 ; É
F396   .BYTE $F5 ; §
F397   .BYTE $E9 ; Ú
F398   .BYTE $8A ; è
F399   .BYTE   6
F39A   .BYTE $7C ; |
F39B   .BYTE $10
F39C   .BYTE   2
F39D   .BYTE   9
F39E   .BYTE   4
F39F   .BYTE $A8 ; ¿
F3A0   .BYTE $B1 ; ¦
F3A1   .BYTE $60 ; `
F3A2   .BYTE $4C ; L
F3A3   .BYTE $2A ; *
F3A4   .BYTE $F3 ; ¾
F3A5   .BYTE $C9 ; +
F3A6   .BYTE $92 ; Æ
F3A7   .BYTE $B0 ; ¦
F3A8   .BYTE  $B
F3A9   .BYTE $C9 ; +
F3AA   .BYTE $8E ; Ä
F3AB   .BYTE $90 ; É
F3AC   .BYTE $DF ; ¯
F3AD   .BYTE $E9 ; Ú
F3AE   .BYTE $72 ; r
F3AF   .BYTE $EE ; ¯
F3B0   .BYTE $E8 ; Þ
F3B1   .BYTE   3
F3B2   .BYTE $D0 ; ð
F3B3   .BYTE $26 ; &
F3B4   .BYTE $A5 ; Ñ
F3B5   .BYTE $7C ; |
F3B6   .BYTE $C9 ; +
F3B7   .BYTE $40 ; @
F3B8   .BYTE $B0 ; ¦
F3B9   .BYTE $15
F3BA   .BYTE $AD ; ¡
F3BB   .BYTE $FB ; ¹
F3BC   .BYTE   2
F3BD   .BYTE $C9 ; +
F3BE   .BYTE $61 ; a
F3BF   .BYTE $90 ; É
F3C0   .BYTE  $E
F3C1   .BYTE $C9 ; +
F3C2   .BYTE $7B ; {
F3C3   .BYTE $B0 ; ¦
F3C4   .BYTE  $A
F3C5   .BYTE $AD ; ¡
F3C6   .BYTE $BE ; ¥
F3C7   .BYTE   2
F3C8   .BYTE $F0 ; ­
F3C9   .BYTE   5
F3CA   .BYTE   5
F3CB   .BYTE $7C ; |
F3CC   .BYTE $4C ; L
F3CD   .BYTE $23 ; #
F3CE   .BYTE $F3 ; ¾
F3CF   .BYTE $20
F3D0   .BYTE $3C ; <
F3D1   .BYTE $F9 ; ¨
F3D2   .BYTE $F0 ; ­
F3D3   .BYTE   9
F3D4   .BYTE $AD ; ¡
F3D5   .BYTE $FB ; ¹
F3D6   .BYTE   2
F3D7   .BYTE $4D ; M
F3D8   .BYTE $B6 ; Â
F3D9   .BYTE   2
F3DA   .BYTE $8D ; ì
F3DB   .BYTE $FB ; ¹
F3DC   .BYTE   2
F3DD   .BYTE $4C ; L
F3DE   .BYTE $1E
F3DF   .BYTE $F2 ; =
F3E0   .BYTE $A9 ; ®
F3E1   .BYTE $80 ; Ç
F3E2   .BYTE $8D ; ì
F3E3   .BYTE $A2 ; ó
F3E4   .BYTE   2
F3E5   .BYTE $60 ; `
F3E6
F3E6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F3E6
F3E6
F3E6 sub_F3E6:                     ; ...
F3E6
F3E6 ; FUNCTION CHUNK AT F90C SIZE 0000000C BYTES
F3E6
F3E6   DEC   byte_54
F3E8   BPL   loc_F3F0
F3EA   LDX   byte_2BF
F3ED   DEX
F3EE   STX   byte_54
F3F0
F3F0 loc_F3F0:                     ; ...
F3F0   JMP   loc_F90C
F3F0 ; End of function sub_F3E6
F3F0
F3F0 ; ---------------------------------------------------------------------------
F3F3   .BYTE $E6 ; µ
F3F4   .BYTE $54 ; T
F3F5   .BYTE $A5 ; Ñ
F3F6   .BYTE $54 ; T
F3F7   .BYTE $CD ; -
F3F8   .BYTE $BF ; +
F3F9   .BYTE   2
F3FA   .BYTE $90 ; É
F3FB   .BYTE $F4 ; ¶
F3FC   .BYTE $A2 ; ó
F3FD   .BYTE   0
F3FE   .BYTE $F0 ; ­
F3FF   .BYTE $EE ; ¯
F400
F400 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F400
F400
F400 sub_F400:                     ; ...
F400   DEC   byte_55
F402   LDA   byte_55
F404   BMI   loc_F40A
F406   CMP   byte_52
F408   BCS   loc_F40E
F40A
F40A loc_F40A:                     ; ...
F40A   LDA   byte_53
F40C
F40C loc_F40C:                     ; ...
F40C   STA   byte_55
F40E
F40E loc_F40E:                     ; ...
F40E   JMP   loc_F88E
F40E ; End of function sub_F400
F40E
F411
F411 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F411
F411
F411 sub_F411:                     ; ...
F411   INC   byte_55
F413   LDA   byte_55
F415   CMP   byte_53
F417   BCC   loc_F40E
F419   BEQ   loc_F40E
F419 ; End of function sub_F411
F419
F41B ; START OF FUNCTION CHUNK FOR sub_F923
F41B
F41B loc_F41B:                     ; ...
F41B   LDA   byte_52
F41D   JMP   loc_F40C
F41D ; END OF FUNCTION CHUNK FOR sub_F923
F420
F420 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F420
F420
F420 sub_F420:                     ; ...
F420   JSR   sub_F9A6
F423   LDY   byte_64
F425   LDA   #0
F427   STA   byte_64
F429
F429 loc_F429:                     ; ...
F429   STA   ($64),Y
F42B   INY
F42C   BNE   loc_F429
F42E   INC   byte_65
F430   LDX   byte_65
F432   CPX   byte_6A
F434   BCC   loc_F429
F436   LDA   #$FF
F438
F438 loc_F438:                     ; ...
F438   STA   $2B2,Y
F43B   INY
F43C   CPY   #4
F43E   BCC   loc_F438
F440
F440 loc_F440:                     ; ...
F440   JSR   sub_F997
F443   STA   byte_63
F445   STA   byte_6D
F447   LDA   #0
F449   STA   byte_54
F44B   STA   byte_56
F44D   STA   byte_6C
F44F   RTS
F44F ; End of function sub_F420
F44F
F450 ; ---------------------------------------------------------------------------
F450   LDA   byte_63
F452   CMP   byte_52
F454   BEQ   loc_F477
F456   LDA   byte_55
F458   CMP   byte_52
F45A   BNE   loc_F45F
F45C   JSR   sub_F923
F45F
F45F loc_F45F:                     ; ...
F45F   JSR   sub_F400
F462   LDA   byte_55
F464   CMP   byte_53
F466   BNE   loc_F46F
F468   LDA   byte_54
F46A   BEQ   loc_F46F
F46C   JSR   sub_F3E6
F46F
F46F loc_F46F:                     ; ...
F46F   LDA   #$20
F471   STA   byte_2FB
F474   JSR   sub_F1CA
F477
F477 loc_F477:                     ; ...
F477   JMP   loc_F88E
F47A ; ---------------------------------------------------------------------------
F47A
F47A loc_F47A:                     ; ...
F47A   JSR   sub_F411
F47D   LDA   byte_55
F47F   CMP   byte_52
F481   BNE   loc_F48B
F483   JSR   sub_F665
F486   JSR   sub_F758
F489   BCS   loc_F492
F48B
F48B loc_F48B:                     ; ...
F48B   LDA   byte_63
F48D   JSR   sub_F75D
F490   BCC   loc_F47A
F492
F492 loc_F492:                     ; ...
F492   JMP   loc_F88E
F495 ; ---------------------------------------------------------------------------
F495   LDA   byte_63
F495 ; ---------------------------------------------------------------------------
F497   .BYTE $4C ; L
F498   .BYTE $3E ; >
F499   .BYTE $F7 ; ¸
F49A   .BYTE $A5 ; Ñ
F49B   .BYTE $63 ; c
F49C   .BYTE $4C ; L
F49D   .BYTE $4A ; J
F49E   .BYTE $F7 ; ¸
F49F   .BYTE $20
F4A0   .BYTE $4C ; L
F4A1   .BYTE $F9 ; ¨
F4A2   .BYTE $20
F4A3   .BYTE $8F ; Å
F4A4   .BYTE $F1 ; ±
F4A5   .BYTE $85 ; à
F4A6   .BYTE $7D ; }
F4A7   .BYTE $A9 ; ®
F4A8   .BYTE   0
F4A9   .BYTE $8D ; ì
F4AA   .BYTE $BB ; +
F4AB   .BYTE   2
F4AC   .BYTE $20
F4AD   .BYTE $E9 ; Ú
F4AE   .BYTE $F1 ; ±
F4AF   .BYTE $A5 ; Ñ
F4B0   .BYTE $63 ; c
F4B1   .BYTE $48 ; H
F4B2   .BYTE $20
F4B3   .BYTE $12
F4B4   .BYTE $F6 ; ÷
F4B5   .BYTE $68 ; h
F4B6   .BYTE $C5 ; +
F4B7   .BYTE $63 ; c
F4B8   .BYTE $B0 ; ¦
F4B9   .BYTE  $C
F4BA   .BYTE $A5 ; Ñ
F4BB   .BYTE $7D ; }
F4BC   .BYTE $48 ; H
F4BD   .BYTE $20
F4BE   .BYTE $8F ; Å
F4BF   .BYTE $F1 ; ±
F4C0   .BYTE $85 ; à
F4C1   .BYTE $7D ; }
F4C2   .BYTE $68 ; h
F4C3   .BYTE $4C ; L
F4C4   .BYTE $AC ; ¼
F4C5   .BYTE $F4 ; ¶
F4C6   .BYTE $20
F4C7   .BYTE $57 ; W
F4C8   .BYTE $F9 ; ¨
F4C9   .BYTE $CE ; +
F4CA   .BYTE $BB ; +
F4CB   .BYTE   2
F4CC   .BYTE $30 ; 0
F4CD   .BYTE   4
F4CE   .BYTE $C6 ; ã
F4CF   .BYTE $54 ; T
F4D0   .BYTE $D0 ; ð
F4D1   .BYTE $F7 ; ¸
F4D2   .BYTE $4C ; L
F4D3   .BYTE $8E ; Ä
F4D4   .BYTE $F8 ; °
F4D5   .BYTE $20
F4D6   .BYTE $4C ; L
F4D7   .BYTE $F9 ; ¨
F4D8   .BYTE $20
F4D9   .BYTE $AC ; ¼
F4DA   .BYTE $F5 ; §
F4DB   .BYTE $A5 ; Ñ
F4DC   .BYTE $64 ; d
F4DD   .BYTE $85 ; à
F4DE   .BYTE $68 ; h
F4DF   .BYTE $A5 ; Ñ
F4E0   .BYTE $65 ; e
F4E1   .BYTE $85 ; à
F4E2   .BYTE $69 ; i
F4E3   .BYTE $A5 ; Ñ
F4E4   .BYTE $63 ; c
F4E5   .BYTE $48 ; H
F4E6   .BYTE $20
F4E7   .BYTE  $A
F4E8   .BYTE $F6 ; ÷
F4E9   .BYTE $68 ; h
F4EA   .BYTE $C5 ; +
F4EB   .BYTE $63 ; c
F4EC   .BYTE $B0 ; ¦
F4ED   .BYTE $10
F4EE   .BYTE $A5 ; Ñ
F4EF   .BYTE $54 ; T
F4F0   .BYTE $CD ; -
F4F1   .BYTE $BF ; +
F4F2   .BYTE   2
F4F3   .BYTE $B0 ; ¦
F4F4   .BYTE   9
F4F5   .BYTE $20
F4F6   .BYTE $8F ; Å
F4F7   .BYTE $F1 ; ±
F4F8   .BYTE $A0 ; á
F4F9   .BYTE   0
F4FA   .BYTE $91 ; æ
F4FB   .BYTE $68 ; h
F4FC   .BYTE $F0 ; ­
F4FD   .BYTE $DA ; +
F4FE   .BYTE $A0 ; á
F4FF   .BYTE   0
F500   .BYTE $98 ; ÿ
F501   .BYTE $91 ; æ
F502   .BYTE $68 ; h
F503   .BYTE $20
F504   .BYTE $18
F505   .BYTE $F9 ; ¨
F506   .BYTE $20
F507   .BYTE $57 ; W
F508   .BYTE $F9 ; ¨
F509   .BYTE $4C ; L
F50A   .BYTE $8E ; Ä
F50B   .BYTE $F8 ; °
F50C   .BYTE $38 ; 8
F50D
F50D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F50D
F50D
F50D sub_F50D:                     ; ...
F50D   JSR   sub_F7C2
F510   LDA   byte_52
F512   STA   byte_55
F514   JSR   sub_F5AC
F517   JSR   sub_F78E
F51A   JSR   sub_F7E2
F51D   JMP   loc_F88E
F51D ; End of function sub_F50D
F51D
F51D ; ---------------------------------------------------------------------------
F520   .BYTE $20
F521   .BYTE $8E ; Ä
F522   .BYTE $F8 ; °
F523   .BYTE $A4 ; ñ
F524   .BYTE $51 ; Q
F525   .BYTE $84 ; ä
F526   .BYTE $54 ; T
F527 ; ---------------------------------------------------------------------------
F527 ; START OF FUNCTION CHUNK FOR sub_F923
F527
F527 loc_F527:                     ; ...
F527   LDY   byte_54
F529
F529 loc_F529:                     ; ...
F529   TYA
F52A   SEC
F52B   JSR   loc_F75B
F52E   PHP
F52F   TYA
F530   CLC
F531   ADC   #$78
F533   PLP
F534   JSR   sub_F73C
F537   INY
F538   CPY   #$18
F53A   BNE   loc_F529
F53C   LDA   byte_2B4
F53F   ORA   #1
F541   STA   byte_2B4
F544   LDA   #0
F546   STA   byte_55
F548   JSR   sub_F5AC
F54B   JSR   loc_F82A
F54E   JSR   sub_F758
F551   BCC   loc_F527
F553   JMP   loc_F41B
F553 ; END OF FUNCTION CHUNK FOR sub_F923
F553 ; ---------------------------------------------------------------------------
F556   .BYTE $A0 ; á
F557   .BYTE $20
F558   .BYTE $20
F559   .BYTE $83 ; â
F55A   .BYTE $F9 ; ¨
F55B   .BYTE $88 ; ê
F55C   .BYTE $10
F55D   .BYTE $FA ; ·
F55E   .BYTE $60 ; `
F55F   .BYTE $20
F560   .BYTE $40 ; @
F561   .BYTE $F4 ; ¶
F562   .BYTE $4C ; L
F563   .BYTE $E6 ; µ
F564   .BYTE $F3 ; ¾
F565
F565 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F565
F565
F565 sub_F565:                     ; ...
F565   LDA   #2
F567   BNE   loc_F57A
F567 ; End of function sub_F565
F567
F569
F569 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F569
F569
F569 sub_F569:                     ; ...
F569   LDY   byte_26E
F56C   BEQ   sub_F570
F56E   ORA   #$20
F56E ; End of function sub_F569
F56E
F570
F570 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F570
F570
F570 sub_F570:                     ; ...
F570   LDY   byte_4C
F572   BMI   locret_F59F
F574   LDY   #0
F576   STA   ($64),Y
F578
F578 loc_F578:                     ; ...
F578   LDA   #1
F57A
F57A loc_F57A:                     ; ...
F57A   STA   byte_29E
F57D   LDA   byte_4C
F57F   BMI   locret_F59F
F581   LDA   byte_64
F583   SEC
F584   SBC   byte_29E
F587   STA   byte_64
F589   BCS   loc_F58D
F58B   DEC   byte_65
F58D
F58D loc_F58D:                     ; ...
F58D   LDA   byte_F
F58F   CMP   byte_65
F591   BCC   locret_F59F
F593   BNE   loc_F59B
F595   LDA   byte_E
F597   CMP   byte_64
F599   BCC   locret_F59F
F59B
F59B loc_F59B:                     ; ...
F59B   LDA   #$93
F59D   STA   byte_4C
F59F
F59F locret_F59F:                  ; ...
F59F   RTS
F59F ; End of function sub_F570
F59F
F5A0
F5A0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F5A0
F5A0
F5A0 sub_F5A0:                     ; ...
F5A0   LDA   #2
F5A2   JSR   sub_F570
F5A5   LDA   #$A2
F5A7   JSR   sub_F570
F5AA   DEX
F5AB   RTS
F5AB ; End of function sub_F5A0
F5AB
F5AC
F5AC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F5AC
F5AC
F5AC sub_F5AC:                     ; ...
F5AC   LDX   #1
F5AE   STX   byte_66
F5B0   DEX
F5B1   STX   byte_65
F5B3   LDA   byte_54
F5B5   ASL   A
F5B6   ROL   byte_65
F5B8   ASL   A
F5B9   ROL   byte_65
F5BB   ADC   byte_54
F5BD   STA   byte_64
F5BF   BCC   loc_F5C3
F5C1   INC   byte_65
F5C3
F5C3 loc_F5C3:                     ; ...
F5C3   LDY   byte_57
F5C5   LDX   unk_EE6D,Y
F5C8
F5C8 loc_F5C8:                     ; ...
F5C8   ASL   byte_64
F5CA   ROL   byte_65
F5CC   DEX
F5CD   BNE   loc_F5C8
F5CF   LDA   byte_56
F5D1   LSR   A
F5D2   LDA   byte_55
F5D4   LDX   unk_EE9D,Y
F5D7   BEQ   loc_F5DF
F5D9
F5D9 loc_F5D9:                     ; ...
F5D9   ROR   A
F5DA   ASL   byte_66
F5DC   DEX
F5DD   BNE   loc_F5D9
F5DF
F5DF loc_F5DF:                     ; ...
F5DF   ADC   byte_64
F5E1   BCC   loc_F5E5
F5E3   INC   byte_65
F5E5
F5E5 loc_F5E5:                     ; ...
F5E5   CLC
F5E6   ADC   byte_58
F5E8   STA   byte_64
F5EA   STA   byte_5E
F5EC   LDA   byte_65
F5EE   ADC   byte_59
F5F0   STA   byte_65
F5F2   STA   byte_5F
F5F4   LDX   unk_EE9D,Y
F5F7   LDA   unk_FB04,X
F5FA   AND   byte_55
F5FC   ADC   byte_66
F5FE   TAY
F5FF   LDA   unk_EEAC,Y
F602   STA   byte_2A0
F605   STA   byte_6F
F607   LDY   #0
F609
F609 locret_F609:                  ; ...
F609   RTS
F609 ; End of function sub_F5AC
F609
F60A
F60A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F60A
F60A
F60A sub_F60A:                     ; ...
F60A   LDA   #0
F60C   BEQ   loc_F610
F60E
F60E loc_F60E:                     ; ...
F60E   LDA   #$9B
F610
F610 loc_F610:                     ; ...
F610   STA   byte_7D
F612   INC   byte_63
F614   INC   byte_55
F616   BNE   loc_F61A
F618   INC   byte_56
F61A
F61A loc_F61A:                     ; ...
F61A   LDA   byte_55
F61C   LDX   byte_57
F61E   CMP   unk_EE7D,X
F621   BEQ   loc_F62D
F623   CPX   #0
F625   BNE   locret_F609
F627   CMP   byte_53
F629   BEQ   locret_F609
F62B   BCC   locret_F609
F62D
F62D loc_F62D:                     ; ...
F62D   CPX   #8
F62F   BNE   loc_F635
F631   LDA   byte_56
F633   BEQ   locret_F609
F635
F635 loc_F635:                     ; ...
F635   LDA   byte_57
F637   BNE   sub_F665
F639   LDA   byte_63
F63B   CMP   #$51
F63D   BCC   loc_F649
F63F   LDA   byte_7D
F641   BEQ   sub_F665
F643   JSR   sub_F661
F646   JMP   loc_F6AB
F649 ; ---------------------------------------------------------------------------
F649
F649 loc_F649:                     ; ...
F649   JSR   sub_F665
F64C   LDA   byte_54
F64E   CLC
F64F   ADC   #$78
F651   JSR   sub_F75D
F654   BCC   loc_F65E
F656   LDA   byte_7D
F658   BEQ   loc_F65E
F65A   CLC
F65B   JSR   sub_F50D
F65E
F65E loc_F65E:                     ; ...
F65E   JMP   loc_F88E
F65E ; End of function sub_F60A
F65E
F661
F661 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F661
F661
F661 sub_F661:                     ; ...
F661   LDA   #$9B
F663   STA   byte_7D
F663 ; End of function sub_F661
F663
F665
F665 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F665
F665
F665 sub_F665:                     ; ...
F665   JSR   sub_F997
F668   LDA   #0
F66A   STA   byte_56
F66C   INC   byte_54
F66E   LDX   byte_57
F670   LDY   #$18
F672   BIT   byte_7B
F674   BPL   loc_F67B
F676   LDY   #4
F678   TYA
F679   BNE   loc_F67E
F67B
F67B loc_F67B:                     ; ...
F67B   LDA   unk_EE8D,X
F67E
F67E loc_F67E:                     ; ...
F67E   CMP   byte_54
F680   BNE   loc_F6AB
F682   STY   byte_29D
F685   TXA
F686   BNE   loc_F6AB
F688   LDA   byte_7D
F68A   BEQ   loc_F6AB
F68C   CMP   #$9B
F68E   BEQ   loc_F691
F690   CLC
F691
F691 loc_F691:                     ; ...
F691   JSR   sub_F7F7
F694   INC   byte_2BB
F697   DEC   byte_6C
F699   BPL   loc_F69D
F69B   INC   byte_6C
F69D
F69D loc_F69D:                     ; ...
F69D   DEC   byte_29D
F6A0   LDA   byte_2B2
F6A3   SEC
F6A4   BPL   loc_F691
F6A6   LDA   byte_29D
F6A9   STA   byte_54
F6AB
F6AB loc_F6AB:                     ; ...
F6AB   JMP   loc_F88E
F6AB ; End of function sub_F665
F6AB
F6AB ; ---------------------------------------------------------------------------
F6AE   .BYTE $38 ; 8
F6AF   .BYTE $B5 ; Á
F6B0   .BYTE $70 ; p
F6B1   .BYTE $E5 ; Õ
F6B2   .BYTE $74 ; t
F6B3   .BYTE $95 ; ò
F6B4   .BYTE $70 ; p
F6B5   .BYTE $B5 ; Á
F6B6   .BYTE $71 ; q
F6B7   .BYTE $E5 ; Õ
F6B8   .BYTE $75 ; u
F6B9   .BYTE $95 ; ò
F6BA   .BYTE $71 ; q
F6BB   .BYTE $60 ; `
F6BC   .BYTE $AD ; ¡
F6BD   .BYTE $BF ; +
F6BE   .BYTE   2
F6BF   .BYTE $C9 ; +
F6C0   .BYTE   4
F6C1   .BYTE $F0 ; ­
F6C2   .BYTE   7
F6C3   .BYTE $A5 ; Ñ
F6C4   .BYTE $57 ; W
F6C5   .BYTE $F0 ; ­
F6C6   .BYTE   3
F6C7   .BYTE $20
F6C8   .BYTE $94 ; ö
F6C9   .BYTE $EF ; ´
F6CA
F6CA ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F6CA
F6CA
F6CA sub_F6CA:                     ; ...
F6CA
F6CA ; FUNCTION CHUNK AT F962 SIZE 00000021 BYTES
F6CA
F6CA   LDA   #$27
F6CC   CMP   byte_53
F6CE   BCS   loc_F6D2
F6D0   STA   byte_53
F6D2
F6D2 loc_F6D2:                     ; ...
F6D2   LDX   byte_57
F6D4   LDA   unk_EE8D,X
F6D7   CMP   byte_54
F6D9   BCC   loc_F705
F6DB   BEQ   loc_F705
F6DD   CPX   #8
F6DF   BNE   loc_F6EB
F6E1   LDA   byte_56
F6E3   BEQ   loc_F6F8
F6E5   CMP   #1
F6E7   BNE   loc_F705
F6E9   BEQ   loc_F6EF
F6EB
F6EB loc_F6EB:                     ; ...
F6EB   LDA   byte_56
F6ED   BNE   loc_F705
F6EF
F6EF loc_F6EF:                     ; ...
F6EF   LDA   unk_EE7D,X
F6F2   CMP   byte_55
F6F4   BCC   loc_F705
F6F6   BEQ   loc_F705
F6F8
F6F8 loc_F6F8:                     ; ...
F6F8   LDA   #1
F6FA   STA   byte_4C
F6FC   LDA   #$80
F6FE   LDX   byte_11
F700   STA   byte_11
F702   BEQ   loc_F70A
F704   RTS
F705 ; ---------------------------------------------------------------------------
F705
F705 loc_F705:                     ; ...
F705   JSR   loc_F440
F708   LDA   #$8D
F70A
F70A loc_F70A:                     ; ...
F70A   STA   byte_4C
F70C   PLA
F70D   PLA
F70E   LDA   byte_7B
F710   BPL   loc_F715
F712   JMP   loc_F962
F715 ; ---------------------------------------------------------------------------
F715
F715 loc_F715:                     ; ...
F715   JMP   loc_F21E
F715 ; End of function sub_F6CA
F715
F715 ; ---------------------------------------------------------------------------
F718   .BYTE $A0 ; á
F719   .BYTE   0
F71A   .BYTE $A5 ; Ñ
F71B   .BYTE $5F ; _
F71C   .BYTE $F0 ; ­
F71D   .BYTE   4
F71E   .BYTE $A5 ; Ñ
F71F   .BYTE $5D ; ]
F720   .BYTE $91 ; æ
F721   .BYTE $5E ; ^
F722   .BYTE $60 ; `
F723
F723 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F723
F723
F723 sub_F723:                     ; ...
F723   PHA
F724   AND   #7
F726   TAX
F727   LDA   unk_EEB4,X
F72A   STA   byte_6E
F72C   PLA
F72D   LSR   A
F72E   LSR   A
F72F   LSR   A
F730   TAX
F731   RTS
F731 ; End of function sub_F723
F731
F732
F732 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F732
F732
F732 sub_F732:                     ; ...
F732   ROL   byte_2B4
F735   ROL   byte_2B3
F738   ROL   byte_2B2
F73B   RTS
F73B ; End of function sub_F732
F73B
F73C
F73C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F73C
F73C
F73C sub_F73C:                     ; ...
F73C   BCC   loc_F74A
F73E   JSR   sub_F723
F741   LDA   $2A3,X
F744   ORA   byte_6E
F746   STA   $2A3,X
F749   RTS
F74A ; ---------------------------------------------------------------------------
F74A
F74A loc_F74A:                     ; ...
F74A   JSR   sub_F723
F74D   LDA   byte_6E
F74F   EOR   #$FF
F751   AND   $2A3,X
F754   STA   $2A3,X
F757   RTS
F757 ; End of function sub_F73C
F757
F758
F758 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F758
F758
F758 sub_F758:                     ; ...
F758   LDA   byte_54
F758 ; End of function sub_F758
F758
F75A
F75A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F75A
F75A
F75A sub_F75A:                     ; ...
F75A   CLC
F75B
F75B loc_F75B:                     ; ...
F75B   ADC   #$78
F75B ; End of function sub_F75A
F75B
F75D
F75D ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F75D
F75D
F75D sub_F75D:                     ; ...
F75D   JSR   sub_F723
F760   CLC
F761   LDA   $2A3,X
F764   AND   byte_6E
F766   BEQ   locret_F769
F768   SEC
F769
F769 locret_F769:                  ; ...
F769   RTS
F769 ; End of function sub_F75D
F769
F76A
F76A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F76A
F76A
F76A sub_F76A:                     ; ...
F76A   LDA   byte_2FA
F76D   LDY   byte_57
F76F   CPY   #$E
F771   BCS   loc_F78A
F773   CPY   #$C
F775   BCS   loc_F77B
F777   CPY   #3
F779   BCS   loc_F78A
F77B
F77B loc_F77B:                     ; ...
F77B   ROL   A
F77C   ROL   A
F77D   ROL   A
F77E   ROL   A
F77F   AND   #3
F781   TAX
F782   LDA   byte_2FA
F785   AND   #$9F
F787   ORA   unk_FB4D,X
F78A
F78A loc_F78A:                     ; ...
F78A   STA   byte_2FB
F78D
F78D locret_F78D:                  ; ...
F78D   RTS
F78D ; End of function sub_F76A
F78D
F78E
F78E ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F78E
F78E
F78E sub_F78E:                     ; ...
F78E   LDX   byte_6A
F790   DEX
F791   STX   byte_69
F793   STX   byte_67
F795   LDA   #$B0
F797   STA   byte_68
F799   LDA   #$D8
F79B   STA   byte_66
F79D   LDX   byte_54
F79F
F79F loc_F79F:                     ; ...
F79F   INX
F7A0   CPX   byte_2BF
F7A3   BEQ   locret_F78D
F7A5   LDY   #$27
F7A7
F7A7 loc_F7A7:                     ; ...
F7A7   LDA   ($68),Y
F7A9   STA   ($66),Y
F7AB   DEY
F7AC   BPL   loc_F7A7
F7AE   SEC
F7AF   LDA   byte_68
F7B1   STA   byte_66
F7B3   SBC   #$28
F7B5   STA   byte_68
F7B7   LDA   byte_69
F7B9   STA   byte_67
F7BB   SBC   #0
F7BD   STA   byte_69
F7BF   JMP   loc_F79F
F7BF ; End of function sub_F78E
F7BF
F7C2
F7C2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F7C2
F7C2
F7C2 sub_F7C2:                     ; ...
F7C2   PHP
F7C3   LDY   #$16
F7C5
F7C5 loc_F7C5:                     ; ...
F7C5   TYA
F7C6   JSR   sub_F75A
F7C9   PHP
F7CA   TYA
F7CB   CLC
F7CC   ADC   #$79
F7CE   PLP
F7CF   JSR   sub_F73C
F7D2   DEY
F7D3   BMI   loc_F7D9
F7D5   CPY   byte_54
F7D7   BCS   loc_F7C5
F7D9
F7D9 loc_F7D9:                     ; ...
F7D9   LDA   byte_54
F7DB   CLC
F7DC   ADC   #$78
F7DE   PLP
F7DF   JMP   sub_F73C
F7DF ; End of function sub_F7C2
F7DF
F7E2
F7E2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F7E2
F7E2
F7E2 sub_F7E2:                     ; ...
F7E2   LDA   byte_52
F7E4   STA   byte_55
F7E6   JSR   sub_F5AC
F7E9   SEC
F7EA   LDA   byte_53
F7EC   SBC   byte_52
F7EE   TAY
F7EF   LDA   #0
F7F1
F7F1 loc_F7F1:                     ; ...
F7F1   STA   ($64),Y
F7F3   DEY
F7F4   BPL   loc_F7F1
F7F6   RTS
F7F6 ; End of function sub_F7E2
F7F6
F7F7
F7F7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F7F7
F7F7
F7F7 sub_F7F7:                     ; ...
F7F7   JSR   sub_F732
F7FA   LDA   byte_26E
F7FD   BEQ   loc_F827
F7FF
F7FF loc_F7FF:                     ; ...
F7FF   LDA   byte_26C
F802   BNE   loc_F7FF
F804   LDA   #8
F806   STA   byte_26C
F809
F809 loc_F809:                     ; ...
F809   LDA   byte_26C
F80C   CMP   #1
F80E   BNE   loc_F809
F810
F810 loc_F810:                     ; ...
F810   LDA   OS_VCOUNT
F813   CMP   #$40
F815   BCS   loc_F810
F817   LDX   #$D
F819   LDA   byte_2BF
F81C   CMP   #4
F81E   BNE   loc_F822
F820   LDX   #$70
F822
F822 loc_F822:                     ; ...
F822   CPX   OS_VCOUNT
F825   BCS   loc_F822
F827
F827 loc_F827:                     ; ...
F827   JSR   sub_F9A6
F82A
F82A loc_F82A:                     ; ...
F82A   LDA   byte_64
F82C   LDX   byte_65
F82E
F82E loc_F82E:                     ; ...
F82E   INX
F82F   CPX   byte_6A
F831   BEQ   loc_F839
F833   SEC
F834   SBC   #$10
F836   JMP   loc_F82E
F839 ; ---------------------------------------------------------------------------
F839
F839 loc_F839:                     ; ...
F839   ADC   #$27
F83B   BNE   loc_F847
F83D   LDX   byte_65
F83F   INX
F840   CPX   byte_6A
F842   BEQ   loc_F87C
F844   CLC
F845   ADC   #$10
F847
F847 loc_F847:                     ; ...
F847   TAY
F848   STA   byte_7E
F84A   SEC
F84B   LDA   byte_64
F84D   SBC   byte_7E
F84F   STA   byte_64
F851   BCS   loc_F855
F853   DEC   byte_65
F855
F855 loc_F855:                     ; ...
F855   LDA   byte_64
F857   CLC
F858   ADC   #$28
F85A   STA   byte_7E
F85C   LDA   byte_65
F85E   ADC   #0
F860   STA   byte_7F
F862
F862 loc_F862:                     ; ...
F862   LDA   ($7E),Y
F864   STA   ($64),Y
F866   INY
F867   BNE   loc_F862
F869   LDY   #$10
F86B   LDA   byte_64
F86D   CMP   #$D8
F86F   BEQ   loc_F87C
F871   CLC
F872   ADC   #$F0
F874   STA   byte_64
F876   BCC   loc_F855
F878   INC   byte_65
F87A   BNE   loc_F855
F87C
F87C loc_F87C:                     ; ...
F87C   LDX   byte_6A
F87E   DEX
F87F   STX   byte_7F
F881   LDX   #$D8
F883   STX   byte_7E
F885   LDA   #0
F887   LDY   #$27
F889
F889 loc_F889:                     ; ...
F889   STA   ($7E),Y
F88B   DEY
F88C   BPL   loc_F889
F88E
F88E loc_F88E:                     ; ...
F88E   LDA   #0
F890   STA   byte_63
F892   LDA   byte_54
F894   STA   byte_51
F896
F896 loc_F896:                     ; ...
F896   LDA   byte_51
F898   JSR   sub_F75A
F89B   BCS   loc_F8A9
F89D   LDA   byte_63
F89F   CLC
F8A0   ADC   #$28
F8A2   STA   byte_63
F8A4   DEC   byte_51
F8A6   JMP   loc_F896
F8A9 ; ---------------------------------------------------------------------------
F8A9
F8A9 loc_F8A9:                     ; ...
F8A9   CLC
F8AA   LDA   byte_63
F8AC   ADC   byte_55
F8AE   STA   byte_63
F8B0   RTS
F8B0 ; End of function sub_F7F7
F8B0
F8B0 ; ---------------------------------------------------------------------------
F8B1   .BYTE $20
F8B2   .BYTE $4C ; L
F8B3   .BYTE $F9 ; ¨
F8B4   .BYTE $A5 ; Ñ
F8B5   .BYTE $63 ; c
F8B6   .BYTE $48 ; H
F8B7   .BYTE $A5 ; Ñ
F8B8   .BYTE $6C ; l
F8B9   .BYTE $85 ; à
F8BA   .BYTE $54 ; T
F8BB   .BYTE $A5 ; Ñ
F8BC   .BYTE $6D ; m
F8BD   .BYTE $85 ; à
F8BE   .BYTE $55 ; U
F8BF   .BYTE $A9 ; ®
F8C0   .BYTE   1
F8C1   .BYTE $85 ; à
F8C2   .BYTE $6B ; k
F8C3   .BYTE $A2 ; ó
F8C4   .BYTE $17
F8C5   .BYTE $A5 ; Ñ
F8C6   .BYTE $7B ; {
F8C7   .BYTE $10
F8C8   .BYTE   2
F8C9   .BYTE $A2 ; ó
F8CA   .BYTE   3
F8CB   .BYTE $E4 ; õ
F8CC   .BYTE $54 ; T
F8CD   .BYTE $D0 ; ð
F8CE   .BYTE  $B
F8CF   .BYTE $A5 ; Ñ
F8D0   .BYTE $55 ; U
F8D1   .BYTE $C5 ; +
F8D2   .BYTE $53 ; S
F8D3   .BYTE $D0 ; ð
F8D4   .BYTE   5
F8D5   .BYTE $E6 ; µ
F8D6   .BYTE $6B ; k
F8D7   .BYTE $4C ; L
F8D8   .BYTE $EA ; Û
F8D9   .BYTE $F8 ; °
F8DA   .BYTE $20
F8DB   .BYTE  $A
F8DC   .BYTE $F6 ; ÷
F8DD   .BYTE $E6 ; µ
F8DE   .BYTE $6B ; k
F8DF   .BYTE $A5 ; Ñ
F8E0   .BYTE $63 ; c
F8E1   .BYTE $C5 ; +
F8E2   .BYTE $52 ; R
F8E3   .BYTE $D0 ; ð
F8E4   .BYTE $DE ; Ì
F8E5   .BYTE $C6 ; ã
F8E6   .BYTE $54 ; T
F8E7   .BYTE $20
F8E8   .BYTE   0
F8E9   .BYTE $F4 ; ¶
F8EA   .BYTE $20
F8EB   .BYTE $8F ; Å
F8EC   .BYTE $F1 ; ±
F8ED   .BYTE $D0 ; ð
F8EE   .BYTE $17
F8EF   .BYTE $C6 ; ã
F8F0   .BYTE $6B ; k
F8F1   .BYTE $A5 ; Ñ
F8F2   .BYTE $63 ; c
F8F3   .BYTE $C5 ; +
F8F4   .BYTE $52 ; R
F8F5   .BYTE $F0 ; ­
F8F6   .BYTE  $F
F8F7   .BYTE $20
F8F8   .BYTE   0
F8F9   .BYTE $F4 ; ¶
F8FA   .BYTE $A5 ; Ñ
F8FB   .BYTE $55 ; U
F8FC   .BYTE $C5 ; +
F8FD   .BYTE $53 ; S
F8FE   .BYTE $D0 ; ð
F8FF   .BYTE   2
F900   .BYTE $C6 ; ã
F901   .BYTE $54 ; T
F902   .BYTE $A5 ; Ñ
F903   .BYTE $6B ; k
F904   .BYTE $D0 ; ð
F905   .BYTE $E4 ; õ
F906   .BYTE $68 ; h
F907   .BYTE $85 ; à
F908   .BYTE $63 ; c
F909   .BYTE $4C ; L
F90A   .BYTE $57 ; W
F90B   .BYTE $F9 ; ¨
F90C ; ---------------------------------------------------------------------------
F90C ; START OF FUNCTION CHUNK FOR sub_F3E6
F90C
F90C loc_F90C:                     ; ...
F90C   JSR   loc_F88E
F90F   LDA   byte_51
F911   STA   byte_6C
F913   LDA   byte_52
F915   STA   byte_6D
F917
F917 locret_F917:                  ; ...
F917   RTS
F917 ; END OF FUNCTION CHUNK FOR sub_F3E6
F917 ; ---------------------------------------------------------------------------
F918   .BYTE $A5 ; Ñ
F919   .BYTE $63 ; c
F91A   .BYTE $C5 ; +
F91B   .BYTE $52 ; R
F91C   .BYTE $D0 ; ð
F91D   .BYTE   2
F91E   .BYTE $C6 ; ã
F91F   .BYTE $54 ; T
F920   .BYTE $20
F921   .BYTE $8E ; Ä
F922   .BYTE $F8 ; °
F923
F923 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F923
F923
F923 sub_F923:                     ; ...
F923
F923 ; FUNCTION CHUNK AT F41B SIZE 00000005 BYTES
F923 ; FUNCTION CHUNK AT F527 SIZE 0000002F BYTES
F923
F923   LDA   byte_63
F925   CMP   byte_52
F927   BEQ   locret_F917
F929   JSR   sub_F5AC
F92C   LDA   byte_53
F92E   SEC
F92F   SBC   byte_52
F931   TAY
F932
F932 loc_F932:                     ; ...
F932   LDA   ($64),Y
F934   BNE   locret_F917
F936   DEY
F937   BPL   loc_F932
F939   JMP   loc_F527
F939 ; End of function sub_F923
F939
F939 ; ---------------------------------------------------------------------------
F93C   .BYTE $A2 ; ó
F93D   .BYTE $2D ; -
F93E   .BYTE $BD ; ¢
F93F   .BYTE  $D
F940   .BYTE $FB ; ¹
F941   .BYTE $CD ; -
F942   .BYTE $FB ; ¹
F943   .BYTE   2
F944   .BYTE $F0 ; ­
F945   .BYTE   5
F946   .BYTE $CA ; -
F947   .BYTE $CA ; -
F948   .BYTE $CA ; -
F949   .BYTE $10
F94A   .BYTE $F3 ; ¾
F94B   .BYTE $60 ; `
F94C   .BYTE $A2 ; ó
F94D   .BYTE   2
F94E   .BYTE $B5 ; Á
F94F   .BYTE $54 ; T
F950   .BYTE $9D ; Ø
F951   .BYTE $B8 ; ©
F952   .BYTE   2
F953   .BYTE $CA ; -
F954   .BYTE $10
F955   .BYTE $F8 ; °
F956   .BYTE $60 ; `
F957   .BYTE $A2 ; ó
F958   .BYTE   2
F959   .BYTE $BD ; ¢
F95A   .BYTE $B8 ; ©
F95B   .BYTE   2
F95C   .BYTE $95 ; ò
F95D   .BYTE $54 ; T
F95E   .BYTE $CA ; -
F95F   .BYTE $10
F960   .BYTE $F8 ; °
F961   .BYTE $60 ; `
F962 ; ---------------------------------------------------------------------------
F962 ; START OF FUNCTION CHUNK FOR sub_F6CA
F962
F962 loc_F962:                     ; ...
F962   LDA   byte_2BF
F965   CMP   #$18
F967   BEQ   loc_F980
F969   LDX   #$B
F96B
F96B loc_F96B:                     ; ...
F96B   LDA   $54,X
F96D   PHA
F96E   LDA   $290,X
F971   STA   $54,X
F973   PLA
F974   STA   $290,X
F977   DEX
F978   BPL   loc_F96B
F97A   LDA   byte_7B
F97C   EOR   #$FF
F97E   STA   byte_7B
F980
F980 loc_F980:                     ; ...
F980   JMP   loc_F21E
F980 ; END OF FUNCTION CHUNK FOR sub_F6CA
F980 ; ---------------------------------------------------------------------------
F983   .BYTE $A2 ; ó
F984   .BYTE $7E ; ~
F985   .BYTE $48 ; H
F986   .BYTE $8E ; Ä
F987   .BYTE $1F
F988   .BYTE $D0 ; ð
F989   .BYTE $AD ; ¡
F98A   .BYTE  $B
F98B   .BYTE $D4 ; È
F98C   .BYTE $CD ; -
F98D   .BYTE  $B
F98E   .BYTE $D4 ; È
F98F   .BYTE $F0 ; ­
F990   .BYTE $FB ; ¹
F991   .BYTE $CA ; -
F992   .BYTE $CA ; -
F993   .BYTE $10
F994   .BYTE $F1 ; ±
F995   .BYTE $68 ; h
F996   .BYTE $60 ; `
F997
F997 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F997
F997
F997 sub_F997:                     ; ...
F997   LDA   #0
F999   LDX   byte_7B
F99B   BNE   loc_F9A1
F99D   LDX   byte_57
F99F   BNE   loc_F9A3
F9A1
F9A1 loc_F9A1:                     ; ...
F9A1   LDA   byte_52
F9A3
F9A3 loc_F9A3:                     ; ...
F9A3   STA   byte_55
F9A5   RTS
F9A5 ; End of function sub_F997
F9A5
F9A6
F9A6 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
F9A6
F9A6
F9A6 sub_F9A6:                     ; ...
F9A6   LDA   byte_58
F9A8   STA   byte_64
F9AA   LDA   byte_59
F9AC   STA   byte_65
F9AE   RTS
F9AE ; End of function sub_F9A6
F9AE
F9AE ; ---------------------------------------------------------------------------
F9AF   .BYTE $A2 ; ó
F9B0   .BYTE   0
F9B1   .BYTE $A5 ; Ñ
F9B2   .BYTE $22 ; "
F9B3   .BYTE $C9 ; +
F9B4   .BYTE $11
F9B5   .BYTE $F0 ; ­
F9B6   .BYTE   8
F9B7   .BYTE $C9 ; +
F9B8   .BYTE $12
F9B9   .BYTE $F0 ; ­
F9BA   .BYTE   3
F9BB   .BYTE $A0 ; á
F9BC   .BYTE $84 ; ä
F9BD   .BYTE $60 ; `
F9BE   .BYTE $E8 ; Þ
F9BF   .BYTE $8E ; Ä
F9C0   .BYTE $B7 ; À
F9C1   .BYTE   2
F9C2   .BYTE $A5 ; Ñ
F9C3   .BYTE $54 ; T
F9C4   .BYTE $8D ; ì
F9C5   .BYTE $F5 ; §
F9C6   .BYTE   2
F9C7   .BYTE $A5 ; Ñ
F9C8   .BYTE $55 ; U
F9C9   .BYTE $8D ; ì
F9CA   .BYTE $F6 ; ÷
F9CB   .BYTE   2
F9CC   .BYTE $A5 ; Ñ
F9CD   .BYTE $56 ; V
F9CE   .BYTE $8D ; ì
F9CF   .BYTE $F7 ; ¸
F9D0   .BYTE   2
F9D1   .BYTE $A9 ; ®
F9D2   .BYTE   1
F9D3   .BYTE $8D ; ì
F9D4   .BYTE $F8 ; °
F9D5   .BYTE   2
F9D6   .BYTE $8D ; ì
F9D7   .BYTE $F9 ; ¨
F9D8   .BYTE   2
F9D9   .BYTE $38 ; 8
F9DA   .BYTE $AD ; ¡
F9DB   .BYTE $F5 ; §
F9DC   .BYTE   2
F9DD   .BYTE $E5 ; Õ
F9DE   .BYTE $5A ; Z
F9DF   .BYTE $85 ; à
F9E0   .BYTE $76 ; v
F9E1   .BYTE $B0 ; ¦
F9E2   .BYTE  $E
F9E3   .BYTE $A9 ; ®
F9E4   .BYTE $FF
F9E5   .BYTE $8D ; ì
F9E6   .BYTE $F8 ; °
F9E7   .BYTE   2
F9E8   .BYTE $A5 ; Ñ
F9E9   .BYTE $76 ; v
F9EA   .BYTE $49 ; I
F9EB   .BYTE $FF
F9EC   .BYTE $18
F9ED   .BYTE $69 ; i
F9EE   .BYTE   1
F9EF   .BYTE $85 ; à
F9F0   .BYTE $76 ; v
F9F1   .BYTE $38 ; 8
F9F2   .BYTE $AD ; ¡
F9F3   .BYTE $F6 ; ÷
F9F4   .BYTE   2
F9F5   .BYTE $E5 ; Õ
F9F6   .BYTE $5B ; [
F9F7   .BYTE $85 ; à
F9F8   .BYTE $77 ; w
F9F9   .BYTE $AD ; ¡
F9FA   .BYTE $F7 ; ¸
F9FB   .BYTE   2
F9FC   .BYTE $E5 ; Õ
F9FD   .BYTE $5C ; \
F9FE   .BYTE $85 ; à
F9FF   .BYTE $78 ; x
FA00   .BYTE $B0 ; ¦
FA01   .BYTE $17
FA02   .BYTE $A9 ; ®
FA03   .BYTE $FF
FA04   .BYTE $8D ; ì
FA05   .BYTE $F9 ; ¨
FA06   .BYTE   2
FA07   .BYTE $A5 ; Ñ
FA08   .BYTE $77 ; w
FA09   .BYTE $49 ; I
FA0A   .BYTE $FF
FA0B   .BYTE $85 ; à
FA0C   .BYTE $77 ; w
FA0D   .BYTE $A5 ; Ñ
FA0E   .BYTE $78 ; x
FA0F   .BYTE $49 ; I
FA10   .BYTE $FF
FA11   .BYTE $85 ; à
FA12   .BYTE $78 ; x
FA13   .BYTE $E6 ; µ
FA14   .BYTE $77 ; w
FA15   .BYTE $D0 ; ð
FA16   .BYTE   2
FA17   .BYTE $E6 ; µ
FA18   .BYTE $78 ; x
FA19   .BYTE $A2 ; ó
FA1A   .BYTE   2
FA1B   .BYTE $A0 ; á
FA1C   .BYTE   0
FA1D   .BYTE $84 ; ä
FA1E   .BYTE $73 ; s
FA1F   .BYTE $98 ; ÿ
FA20   .BYTE $95 ; ò
FA21   .BYTE $70 ; p
FA22   .BYTE $B5 ; Á
FA23   .BYTE $5A ; Z
FA24   .BYTE $95 ; ò
FA25   .BYTE $54 ; T
FA26   .BYTE $CA ; -
FA27   .BYTE $10
FA28   .BYTE $F6 ; ÷
FA29   .BYTE $A5 ; Ñ
FA2A   .BYTE $77 ; w
FA2B   .BYTE $E8 ; Þ
FA2C   .BYTE $A8 ; ¿
FA2D   .BYTE $A5 ; Ñ
FA2E   .BYTE $78 ; x
FA2F   .BYTE $85 ; à
FA30   .BYTE $7F ; 
FA31   .BYTE $85 ; à
FA32   .BYTE $75 ; u
FA33   .BYTE $D0 ; ð
FA34   .BYTE  $B
FA35   .BYTE $A5 ; Ñ
FA36   .BYTE $77 ; w
FA37   .BYTE $C5 ; +
FA38   .BYTE $76 ; v
FA39   .BYTE $B0 ; ¦
FA3A   .BYTE   5
FA3B   .BYTE $A5 ; Ñ
FA3C   .BYTE $76 ; v
FA3D   .BYTE $A2 ; ó
FA3E   .BYTE   2
FA3F   .BYTE $A8 ; ¿
FA40   .BYTE $98 ; ÿ
FA41   .BYTE $85 ; à
FA42   .BYTE $7E ; ~
FA43   .BYTE $85 ; à
FA44   .BYTE $74 ; t
FA45   .BYTE $48 ; H
FA46   .BYTE $A5 ; Ñ
FA47   .BYTE $75 ; u
FA48   .BYTE $4A ; J
FA49   .BYTE $68 ; h
FA4A   .BYTE $6A ; j
FA4B   .BYTE $95 ; ò
FA4C   .BYTE $70 ; p
FA4D   .BYTE $A5 ; Ñ
FA4E   .BYTE $7E ; ~
FA4F   .BYTE   5
FA50   .BYTE $7F ; 
FA51   .BYTE $D0 ; ð
FA52   .BYTE   3
FA53   .BYTE $4C ; L
FA54   .BYTE   1
FA55   .BYTE $FB ; ¹
FA56   .BYTE $18
FA57   .BYTE $A5 ; Ñ
FA58   .BYTE $70 ; p
FA59   .BYTE $65 ; e
FA5A   .BYTE $76 ; v
FA5B   .BYTE $85 ; à
FA5C   .BYTE $70 ; p
FA5D   .BYTE $90 ; É
FA5E   .BYTE   2
FA5F   .BYTE $E6 ; µ
FA60   .BYTE $71 ; q
FA61   .BYTE $A5 ; Ñ
FA62   .BYTE $71 ; q
FA63   .BYTE $C5 ; +
FA64   .BYTE $75 ; u
FA65   .BYTE $90 ; É
FA66   .BYTE $15
FA67   .BYTE $D0 ; ð
FA68   .BYTE   6
FA69   .BYTE $A5 ; Ñ
FA6A   .BYTE $70 ; p
FA6B   .BYTE $C5 ; +
FA6C   .BYTE $74 ; t
FA6D   .BYTE $90 ; É
FA6E   .BYTE  $D
FA6F   .BYTE $18
FA70   .BYTE $A5 ; Ñ
FA71   .BYTE $54 ; T
FA72   .BYTE $6D ; m
FA73   .BYTE $F8 ; °
FA74   .BYTE   2
FA75   .BYTE $85 ; à
FA76   .BYTE $54 ; T
FA77   .BYTE $A2 ; ó
FA78   .BYTE   0
FA79   .BYTE $20
FA7A   .BYTE $AE ; «
FA7B   .BYTE $F6 ; ÷
FA7C   .BYTE $18
FA7D   .BYTE $A5 ; Ñ
FA7E   .BYTE $72 ; r
FA7F   .BYTE $65 ; e
FA80   .BYTE $77 ; w
FA81   .BYTE $85 ; à
FA82   .BYTE $72 ; r
FA83   .BYTE $A5 ; Ñ
FA84   .BYTE $73 ; s
FA85   .BYTE $65 ; e
FA86   .BYTE $78 ; x
FA87   .BYTE $85 ; à
FA88   .BYTE $73 ; s
FA89   .BYTE $C5 ; +
FA8A   .BYTE $75 ; u
FA8B   .BYTE $90 ; É
FA8C   .BYTE $28 ; (
FA8D   .BYTE $D0 ; ð
FA8E   .BYTE   6
FA8F   .BYTE $A5 ; Ñ
FA90   .BYTE $72 ; r
FA91   .BYTE $C5 ; +
FA92   .BYTE $74 ; t
FA93   .BYTE $90 ; É
FA94   .BYTE $20
FA95   .BYTE $2C ; ,
FA96   .BYTE $F9 ; ¨
FA97   .BYTE   2
FA98   .BYTE $10
FA99   .BYTE $10
FA9A   .BYTE $C6 ; ã
FA9B   .BYTE $55 ; U
FA9C   .BYTE $A5 ; Ñ
FA9D   .BYTE $55 ; U
FA9E   .BYTE $C9 ; +
FA9F   .BYTE $FF
FAA0   .BYTE $D0 ; ð
FAA1   .BYTE  $E
FAA2   .BYTE $A5 ; Ñ
FAA3   .BYTE $56 ; V
FAA4   .BYTE $F0 ; ­
FAA5   .BYTE  $A
FAA6   .BYTE $C6 ; ã
FAA7   .BYTE $56 ; V
FAA8   .BYTE $10
FAA9   .BYTE   6
FAAA   .BYTE $E6 ; µ
FAAB   .BYTE $55 ; U
FAAC   .BYTE $D0 ; ð
FAAD   .BYTE   2
FAAE   .BYTE $E6 ; µ
FAAF   .BYTE $56 ; V
FAB0   .BYTE $A2 ; ó
FAB1   .BYTE   2
FAB2   .BYTE $20
FAB3   .BYTE $AE ; «
FAB4   .BYTE $F6 ; ÷
FAB5   .BYTE $20
FAB6   .BYTE $CA ; -
FAB7   .BYTE $F6 ; ÷
FAB8   .BYTE $20
FAB9   .BYTE $CA ; -
FABA   .BYTE $F1 ; ±
FABB   .BYTE $AD ; ¡
FABC   .BYTE $B7 ; À
FABD   .BYTE   2
FABE   .BYTE $F0 ; ­
FABF   .BYTE $2F ; /
FAC0   .BYTE $20
FAC1   .BYTE $4C ; L
FAC2   .BYTE $F9 ; ¨
FAC3   .BYTE $AD ; ¡
FAC4   .BYTE $FB ; ¹
FAC5   .BYTE   2
FAC6   .BYTE $8D ; ì
FAC7   .BYTE $BC ; +
FAC8   .BYTE   2
FAC9   .BYTE $A5 ; Ñ
FACA   .BYTE $54 ; T
FACB   .BYTE $48 ; H
FACC   .BYTE $20
FACD   .BYTE $12
FACE   .BYTE $F6 ; ÷
FACF   .BYTE $68 ; h
FAD0   .BYTE $85 ; à
FAD1   .BYTE $54 ; T
FAD2   .BYTE $20
FAD3   .BYTE $CA ; -
FAD4   .BYTE $F6 ; ÷
FAD5   .BYTE $20
FAD6   .BYTE $8F ; Å
FAD7   .BYTE $F1 ; ±
FAD8   .BYTE $D0 ; ð
FAD9   .BYTE  $C
FADA   .BYTE $AD ; ¡
FADB   .BYTE $FD ; ²
FADC   .BYTE   2
FADD   .BYTE $8D ; ì
FADE   .BYTE $FB ; ¹
FADF   .BYTE   2
FAE0   .BYTE $20
FAE1   .BYTE $CA ; -
FAE2   .BYTE $F1 ; ±
FAE3   .BYTE $4C ; L
FAE4   .BYTE $C9 ; +
FAE5   .BYTE $FA ; ·
FAE6   .BYTE $AD ; ¡
FAE7   .BYTE $BC ; +
FAE8   .BYTE   2
FAE9   .BYTE $8D ; ì
FAEA   .BYTE $FB ; ¹
FAEB   .BYTE   2
FAEC   .BYTE $20
FAED   .BYTE $57 ; W
FAEE   .BYTE $F9 ; ¨
FAEF   .BYTE $38 ; 8
FAF0   .BYTE $A5 ; Ñ
FAF1   .BYTE $7E ; ~
FAF2   .BYTE $E9 ; Ú
FAF3   .BYTE   1
FAF4   .BYTE $85 ; à
FAF5   .BYTE $7E ; ~
FAF6   .BYTE $A5 ; Ñ
FAF7   .BYTE $7F ; 
FAF8   .BYTE $E9 ; Ú
FAF9   .BYTE   0
FAFA   .BYTE $85 ; à
FAFB   .BYTE $7F ; 
FAFC   .BYTE $30 ; 0
FAFD   .BYTE   3
FAFE   .BYTE $4C ; L
FAFF   .BYTE $4D ; M
FB00   .BYTE $FA ; ·
FB01   .BYTE $4C ; L
FB02   .BYTE $1E
FB03   .BYTE $F2 ; =
FB04 unk_FB04:.BYTE   0            ; ...
FB05   .BYTE   1
FB06   .BYTE   3
FB07   .BYTE   7
FB08 unk_FB08:.BYTE $28 ; (        ; ...
FB09   .BYTE $CA ; -
FB0A   .BYTE $94 ; ö
FB0B   .BYTE $46 ; F
FB0C   .BYTE   0
FB0D   .BYTE $1B
FB0E   .BYTE $E0 ; Ó
FB0F   .BYTE $F3 ; ¾
FB10   .BYTE $1C
FB11   .BYTE $E6 ; µ
FB12   .BYTE $F3 ; ¾
FB13   .BYTE $1D
FB14   .BYTE $F3 ; ¾
FB15   .BYTE $F3 ; ¾
FB16   .BYTE $1E
FB17   .BYTE   0
FB18   .BYTE $F4 ; ¶
FB19   .BYTE $1F
FB1A   .BYTE $11
FB1B   .BYTE $F4 ; ¶
FB1C   .BYTE $7D ; }
FB1D   .BYTE $20
FB1E   .BYTE $F4 ; ¶
FB1F   .BYTE $7E ; ~
FB20   .BYTE $50 ; P
FB21   .BYTE $F4 ; ¶
FB22   .BYTE $7F ; 
FB23   .BYTE $7A ; z
FB24   .BYTE $F4 ; ¶
FB25   .BYTE $9B ; ø
FB26   .BYTE $61 ; a
FB27   .BYTE $F6 ; ÷
FB28   .BYTE $9C ; £
FB29   .BYTE $20
FB2A   .BYTE $F5 ; §
FB2B   .BYTE $9D ; Ø
FB2C   .BYTE  $C
FB2D   .BYTE $F5 ; §
FB2E   .BYTE $9E ; ×
FB2F   .BYTE $9A ; Ü
FB30   .BYTE $F4 ; ¶
FB31   .BYTE $9F ; ƒ
FB32   .BYTE $95 ; ò
FB33   .BYTE $F4 ; ¶
FB34   .BYTE $FD ; ²
FB35   .BYTE $56 ; V
FB36   .BYTE $F5 ; §
FB37   .BYTE $FE ; ¦
FB38   .BYTE $D5 ; i
FB39   .BYTE $F4 ; ¶
FB3A   .BYTE $FF
FB3B   .BYTE $9F ; ƒ
FB3C   .BYTE $F4 ; ¶
FB3D   .BYTE $1C
FB3E   .BYTE $40 ; @
FB3F   .BYTE $F4 ; ¶
FB40   .BYTE $1D
FB41   .BYTE $5F ; _
FB42   .BYTE $F5 ; §
FB43   .BYTE $1E
FB44   .BYTE $1B
FB45   .BYTE $F4 ; ¶
FB46   .BYTE $1F
FB47   .BYTE  $A
FB48   .BYTE $F4 ; ¶
FB49 unk_FB49:.BYTE $40 ; @        ; ...
FB4A   .BYTE   0
FB4B   .BYTE $20
FB4C   .BYTE $60 ; `
FB4D unk_FB4D:.BYTE $20            ; ...
FB4E   .BYTE $40 ; @
FB4F   .BYTE   0
FB50   .BYTE $60 ; `
FB51   .BYTE $6C ; l
FB52   .BYTE $6A ; j
FB53   .BYTE $3B ; ;
FB54   .BYTE $8A ; è
FB55   .BYTE $8B ; ï
FB56   .BYTE $6B ; k
FB57   .BYTE $2B ; +
FB58   .BYTE $2A ; *
FB59   .BYTE $6F ; o
FB5A   .BYTE $80 ; Ç
FB5B   .BYTE $70 ; p
FB5C   .BYTE $75 ; u
FB5D   .BYTE $9B ; ø
FB5E   .BYTE $69 ; i
FB5F   .BYTE $2D ; -
FB60   .BYTE $3D ; =
FB61   .BYTE $76 ; v
FB62   .BYTE $80 ; Ç
FB63   .BYTE $63 ; c
FB64   .BYTE $8C ; î
FB65   .BYTE $8D ; ì
FB66   .BYTE $62 ; b
FB67   .BYTE $78 ; x
FB68   .BYTE $7A ; z
FB69   .BYTE $34 ; 4
FB6A   .BYTE $80 ; Ç
FB6B   .BYTE $33 ; 3
FB6C   .BYTE $36 ; 6
FB6D   .BYTE $1B
FB6E   .BYTE $35 ; 5
FB6F   .BYTE $32 ; 2
FB70   .BYTE $31 ; 1
FB71   .BYTE $2C ; ,
FB72   .BYTE $20
FB73   .BYTE $2E ; .
FB74   .BYTE $6E ; n
FB75   .BYTE $80 ; Ç
FB76   .BYTE $6D ; m
FB77   .BYTE $2F ; /
FB78   .BYTE $81 ; ü
FB79   .BYTE $72 ; r
FB7A   .BYTE $80 ; Ç
FB7B   .BYTE $65 ; e
FB7C   .BYTE $79 ; y
FB7D   .BYTE $7F ; 
FB7E   .BYTE $74 ; t
FB7F   .BYTE $77 ; w
FB80   .BYTE $71 ; q
FB81   .BYTE $39 ; 9
FB82   .BYTE $80 ; Ç
FB83   .BYTE $30 ; 0
FB84   .BYTE $37 ; 7
FB85   .BYTE $7E ; ~
FB86   .BYTE $38 ; 8
FB87   .BYTE $3C ; <
FB88   .BYTE $3E ; >
FB89   .BYTE $66 ; f
FB8A   .BYTE $68 ; h
FB8B   .BYTE $64 ; d
FB8C   .BYTE $80 ; Ç
FB8D   .BYTE $82 ; é
FB8E   .BYTE $67 ; g
FB8F   .BYTE $73 ; s
FB90   .BYTE $61 ; a
FB91   .BYTE $4C ; L
FB92   .BYTE $4A ; J
FB93   .BYTE $3A ; :
FB94   .BYTE $8A ; è
FB95   .BYTE $8B ; ï
FB96   .BYTE $4B ; K
FB97   .BYTE $5C ; \
FB98   .BYTE $5E ; ^
FB99   .BYTE $4F ; O
FB9A   .BYTE $80 ; Ç
FB9B   .BYTE $50 ; P
FB9C   .BYTE $55 ; U
FB9D   .BYTE $9B ; ø
FB9E   .BYTE $49 ; I
FB9F   .BYTE $5F ; _
FBA0   .BYTE $7C ; |
FBA1   .BYTE $56 ; V
FBA2   .BYTE $80 ; Ç
FBA3   .BYTE $43 ; C
FBA4   .BYTE $8C ; î
FBA5   .BYTE $8D ; ì
FBA6   .BYTE $42 ; B
FBA7   .BYTE $58 ; X
FBA8   .BYTE $5A ; Z
FBA9   .BYTE $24 ; $
FBAA   .BYTE $80 ; Ç
FBAB   .BYTE $23 ; #
FBAC   .BYTE $26 ; &
FBAD   .BYTE $1B
FBAE   .BYTE $25 ; %
FBAF   .BYTE $22 ; "
FBB0   .BYTE $21 ; !
FBB1   .BYTE $5B ; [
FBB2   .BYTE $20
FBB3   .BYTE $5D ; ]
FBB4   .BYTE $4E ; N
FBB5   .BYTE $80 ; Ç
FBB6   .BYTE $4D ; M
FBB7   .BYTE $3F ; ?
FBB8   .BYTE $81 ; ü
FBB9   .BYTE $52 ; R
FBBA   .BYTE $80 ; Ç
FBBB   .BYTE $45 ; E
FBBC   .BYTE $59 ; Y
FBBD   .BYTE $9F ; ƒ
FBBE   .BYTE $54 ; T
FBBF   .BYTE $57 ; W
FBC0   .BYTE $51 ; Q
FBC1   .BYTE $28 ; (
FBC2   .BYTE $80 ; Ç
FBC3   .BYTE $29 ; )
FBC4   .BYTE $27 ; '
FBC5   .BYTE $9C ; £
FBC6   .BYTE $40 ; @
FBC7   .BYTE $7D ; }
FBC8   .BYTE $9D ; Ø
FBC9   .BYTE $46 ; F
FBCA   .BYTE $48 ; H
FBCB   .BYTE $44 ; D
FBCC   .BYTE $80 ; Ç
FBCD   .BYTE $83 ; â
FBCE   .BYTE $47 ; G
FBCF   .BYTE $53 ; S
FBD0   .BYTE $41 ; A
FBD1   .BYTE  $C
FBD2   .BYTE  $A
FBD3   .BYTE $7B ; {
FBD4   .BYTE $80 ; Ç
FBD5   .BYTE $80 ; Ç
FBD6   .BYTE  $B
FBD7   .BYTE $1E
FBD8   .BYTE $1F
FBD9   .BYTE  $F
FBDA   .BYTE $80 ; Ç
FBDB   .BYTE $10
FBDC   .BYTE $15
FBDD   .BYTE $9B ; ø
FBDE   .BYTE   9
FBDF   .BYTE $1C
FBE0   .BYTE $1D
FBE1   .BYTE $16
FBE2   .BYTE $80 ; Ç
FBE3   .BYTE   3
FBE4   .BYTE $89 ; ë
FBE5   .BYTE $80 ; Ç
FBE6   .BYTE   2
FBE7   .BYTE $18
FBE8   .BYTE $1A
FBE9   .BYTE $80 ; Ç
FBEA   .BYTE $80 ; Ç
FBEB   .BYTE $85 ; à
FBEC   .BYTE $80 ; Ç
FBED   .BYTE $1B
FBEE   .BYTE $80 ; Ç
FBEF   .BYTE $FD ; ²
FBF0   .BYTE $80 ; Ç
FBF1   .BYTE   0
FBF2   .BYTE $20
FBF3   .BYTE $60 ; `
FBF4   .BYTE  $E
FBF5   .BYTE $80 ; Ç
FBF6   .BYTE  $D
FBF7   .BYTE $80 ; Ç
FBF8   .BYTE $81 ; ü
FBF9   .BYTE $12
FBFA   .BYTE $80 ; Ç
FBFB   .BYTE   5
FBFC   .BYTE $19
FBFD   .BYTE $9E ; ×
FBFE   .BYTE $14
FBFF   .BYTE $17
FC00   .BYTE $11
FC01   .BYTE $80 ; Ç
FC02   .BYTE $80 ; Ç
FC03   .BYTE $80 ; Ç
FC04   .BYTE $80 ; Ç
FC05   .BYTE $FE ; ¦
FC06   .BYTE $80 ; Ç
FC07   .BYTE $7D ; }
FC08   .BYTE $FF
FC09   .BYTE   6
FC0A   .BYTE   8
FC0B   .BYTE   4
FC0C   .BYTE $80 ; Ç
FC0D   .BYTE $84 ; ä
FC0E   .BYTE   7
FC0F   .BYTE $13
FC10   .BYTE   1
FC11   .BYTE $1C
FC12   .BYTE $1D
FC13   .BYTE $1E
FC14   .BYTE $1F
FC15   .BYTE $8E ; Ä
FC16   .BYTE $8F ; Å
FC17   .BYTE $90 ; É
FC18   .BYTE $91 ; æ
FC19 ; ---------------------------------------------------------------------------
FC19 ; START OF FUNCTION CHUNK FOR sub_C018
FC19
FC19 loc_FC19:                     ; ...
FC19   TXA
FC1A   PHA
FC1B   TYA
FC1C   PHA
FC1D   LDY   byte_D301
FC20   LDA   OS_STIMER_KBCODE
FC23   CMP   byte_2F2
FC26   BNE   loc_FC2D
FC28   LDX   byte_2F1
FC2B   BNE   loc_FC76
FC2D
FC2D loc_FC2D:                     ; ...
FC2D   LDX   byte_26D
FC30   CMP   #$83
FC32   BNE   loc_FC47
FC34   TXA
FC35   EOR   #$FF
FC37   STA   byte_26D
FC3A   BNE   loc_FC41
FC3C   TYA
FC3D   ORA   #4
FC3F   BNE   loc_FC44
FC41
FC41 loc_FC41:                     ; ...
FC41   TYA
FC42   AND   #$FB
FC44
FC44 loc_FC44:                     ; ...
FC44   TAY
FC45   BCS   loc_FC6D
FC47
FC47 loc_FC47:                     ; ...
FC47   TXA
FC48   BNE   loc_FC87
FC4A   LDA   OS_STIMER_KBCODE
FC4D   TAX
FC4E   CMP   #$9F
FC50   BNE   loc_FC5C
FC52   LDA   byte_2FF
FC55   EOR   #$FF
FC57   STA   byte_2FF
FC5A   BCS   loc_FC6D
FC5C
FC5C loc_FC5C:                     ; ...
FC5C   AND   #$3F
FC5E   CMP   #$11
FC60   BNE   loc_FC90
FC62   STX   byte_2DC
FC65   BEQ   loc_FC6D
FC67
FC67 loc_FC67:                     ; ...
FC67   STX   byte_2FC
FC6A   STX   byte_2F2
FC6D
FC6D loc_FC6D:                     ; ...
FC6D   LDA   #3
FC6F   STA   byte_2F1
FC72   LDA   #0
FC74   STA   byte_4D
FC76
FC76 loc_FC76:                     ; ...
FC76   LDA   byte_2D9
FC79   STA   word_22A+1
FC7C   LDA   OS_SDMCTL
FC7F   BNE   loc_FC87
FC81   LDA   byte_2DD
FC84   STA   OS_SDMCTL
FC87
FC87 loc_FC87:                     ; ...
FC87   STY   byte_D301
FC8A   PLA
FC8B   TAY
FC8C   PLA
FC8D   TAX
FC8E   PLA
FC8F   RTI
FC90 ; ---------------------------------------------------------------------------
FC90
FC90 loc_FC90:                     ; ...
FC90   CPX   #$84
FC92   BEQ   loc_FCB5
FC94   CPX   #$94
FC96   BNE   loc_FC67
FC98   LDA   OS_CHBAS
FC9B   LDX   byte_26B
FC9E   STA   byte_26B
FCA1   STX   OS_CHBAS
FCA4   CPX   #$CC
FCA6   BEQ   loc_FCAE
FCA8   TYA
FCA9   ORA   #8
FCAB   TAY
FCAC   BNE   loc_FC6D
FCAE
FCAE loc_FCAE:                     ; ...
FCAE   TYA
FCAF   AND   #$F7
FCB1   TAY
FCB2   JMP   loc_FC6D
FCB5 ; ---------------------------------------------------------------------------
FCB5
FCB5 loc_FCB5:                     ; ...
FCB5   LDA   OS_SDMCTL
FCB8   BEQ   loc_FC87
FCBA   STA   byte_2DD
FCBD   LDA   #0
FCBF   STA   OS_SDMCTL
FCC2   BEQ   loc_FC87
FCC4   PHA
FCC5   LDA   OS_COLOR2
FCC8   EOR   byte_4F
FCCB   AND   byte_4E
FCCE   STA   OS_WSYNC
FCD1   STA   byte_D017
FCD4   PLA
FCD5   RTI
FCD5 ; END OF FUNCTION CHUNK FOR sub_C018
FCD5 ; ---------------------------------------------------------------------------
FCD6   .BYTE   0
FCD7   .BYTE   0
FCD8   .BYTE $4C ; L
FCD9   .BYTE $83 ; â
FCDA   .BYTE $F9 ; ¨
FCDB
FCDB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FCDB
FCDB
FCDB sub_FCDB:                     ; ...
FCDB   LDA   #$CC
FCDD   STA   byte_2EE
FCE0   LDA   #5
FCE2   STA   byte_2EF
FCE5   RTS
FCE5 ; End of function sub_FCDB
FCE5
FCE5 ; ---------------------------------------------------------------------------
FCE6   .BYTE $A5 ; Ñ
FCE7   .BYTE $2B ; +
FCE8   .BYTE $85 ; à
FCE9   .BYTE $3E ; >
FCEA   .BYTE $A5 ; Ñ
FCEB   .BYTE $2A ; *
FCEC   .BYTE $29 ; )
FCED   .BYTE  $C
FCEE   .BYTE $C9 ; +
FCEF   .BYTE   4
FCF0   .BYTE $F0 ; ­
FCF1   .BYTE   5
FCF2   .BYTE $C9 ; +
FCF3   .BYTE   8
FCF4   .BYTE $F0 ; ­
FCF5   .BYTE $3E ; >
FCF6   .BYTE $60 ; `
FCF7
FCF7 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FCF7
FCF7
FCF7 sub_FCF7:                     ; ...
FCF7   LDA   #0
FCF9   STA   byte_289
FCFC   STA   byte_3F
FCFE   LDA   #1
FD00   JSR   sub_FDFC
FD03   BMI   loc_FD2E
FD05   LDA   #$34
FD07   STA   byte_D302
FD0A   LDX   byte_62
FD0C   LDY   unk_FE93,X
FD0F   LDA   unk_FE91,X
FD12   TAX
FD13   LDA   #3
FD15   STA   word_22A
FD18   JSR   sub_E45C
FD1B
FD1B loc_FD1B:                     ; ...
FD1B   LDA   word_22A
FD1E   BNE   loc_FD1B
FD20   LDA   #$80
FD22   STA   byte_3D
FD24   STA   byte_28A
FD27   JMP   loc_FD77
FD2A ; ---------------------------------------------------------------------------
FD2A
FD2A loc_FD2A:                     ; ...
FD2A   LDY   #$80
FD2C   DEC   byte_11
FD2E
FD2E loc_FD2E:                     ; ...
FD2E   LDA   #0
FD30   STA   byte_289
FD33   RTS
FD34 ; ---------------------------------------------------------------------------
FD34   LDA   #$80
FD36   STA   byte_289
FD39   LDA   #2
FD3B   JSR   sub_FDFC
FD3E   BMI   loc_FD2E
FD40   LDA   #$CC
FD42   STA   OS_AUDF3_POT4
FD45   LDA   #5
FD47   STA   OS_AUDF4_POT6
FD4A   LDA   #$60
FD4C   STA   byte_300
FD4F   JSR   sub_E468
FD52   LDA   #$34
FD54   STA   byte_D302
FD57   LDX   byte_62
FD59   LDY   unk_FE8F,X
FD5C   LDA   unk_FE8D,X
FD5F   TAX
FD60   LDA   #3
FD62   JSR   sub_E45C
FD65   LDA   #$FF
FD67   STA   word_22A
FD6A
FD6A loc_FD6A:                     ; ...
FD6A   LDA   byte_11
FD6C   BEQ   loc_FD2A
FD6E   LDA   word_22A
FD71   BNE   loc_FD6A
FD73   LDA   #0
FD75   STA   byte_3D
FD77
FD77 loc_FD77:                     ; ...
FD77   LDY   #1
FD79   RTS
FD79 ; End of function sub_FCF7
FD79
FD7A ; ---------------------------------------------------------------------------
FD7A ; START OF FUNCTION CHUNK FOR sub_C659
FD7A
FD7A loc_FD7A:                     ; ...
FD7A   LDA   byte_3F
FD7C   BMI   loc_FDB1
FD7E   LDX   byte_3D
FD80   CPX   byte_28A
FD83   BEQ   loc_FD8D
FD85   LDA   $400,X
FD88   INC   byte_3D
FD8A   LDY   #1
FD8C
FD8C locret_FD8C:                  ; ...
FD8C   RTS
FD8D ; ---------------------------------------------------------------------------
FD8D
FD8D loc_FD8D:                     ; ...
FD8D   LDA   #$52
FD8F   JSR   sub_FE3F
FD92   TYA
FD93   BMI   locret_FD8C
FD95   LDA   #0
FD97   STA   byte_3D
FD99   LDX   #$80
FD9B   LDA   byte_3FF
FD9E   CMP   #$FE
FDA0   BEQ   loc_FDAF
FDA2   CMP   #$FA
FDA4   BNE   loc_FDA9
FDA6   LDX   byte_47F
FDA9
FDA9 loc_FDA9:                     ; ...
FDA9   STX   byte_28A
FDAC   JMP   loc_FD7A
FDAF ; ---------------------------------------------------------------------------
FDAF
FDAF loc_FDAF:                     ; ...
FDAF   DEC   byte_3F
FDB1
FDB1 loc_FDB1:                     ; ...
FDB1   LDY   #$88
FDB3   RTS
FDB3 ; END OF FUNCTION CHUNK FOR sub_C659
FDB4 ; ---------------------------------------------------------------------------
FDB4   LDX   byte_3D
FDB6   STA   $400,X
FDB9   INC   byte_3D
FDBB   LDY   #1
FDBD   CPX   #$7F
FDBF   BEQ   loc_FDC2
FDC1   RTS
FDC2 ; ---------------------------------------------------------------------------
FDC2
FDC2 loc_FDC2:                     ; ...
FDC2   LDA   #$FC
FDC4   JSR   sub_FE7C
FDC7   LDA   #0
FDC9   STA   byte_3D
FDCB   RTS
FDCB ; ---------------------------------------------------------------------------
FDCC   .BYTE $A0 ; á
FDCD   .BYTE   1
FDCE   .BYTE $60 ; `
FDCF   .BYTE $AD ; ¡
FDD0   .BYTE $89 ; ë
FDD1   .BYTE   2
FDD2   .BYTE $30 ; 0
FDD3   .BYTE   8
FDD4   .BYTE $A0 ; á
FDD5   .BYTE   1
FDD6 ; ---------------------------------------------------------------------------
FDD6
FDD6 loc_FDD6:                     ; ...
FDD6   LDA   #$3C
FDD8   STA   byte_D302
FDDB   RTS
FDDC ; ---------------------------------------------------------------------------
FDDC   LDX   byte_3D
FDDE   BEQ   loc_FDEA
FDE0   STX   byte_47F
FDE3   LDA   #$FA
FDE5   JSR   sub_FE7C
FDE8   BMI   loc_FDD6
FDEA
FDEA loc_FDEA:                     ; ...
FDEA   LDX   #$7F
FDEC   LDA   #0
FDEE
FDEE loc_FDEE:                     ; ...
FDEE   STA   $400,X
FDF1   DEX
FDF2   BPL   loc_FDEE
FDF4   LDA   #$FE
FDF6   JSR   sub_FE7C
FDF9   JMP   loc_FDD6
FDFC
FDFC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FDFC
FDFC
FDFC sub_FDFC:                     ; ...
FDFC   STA   byte_40
FDFE
FDFE loc_FDFE:                     ; ...
FDFE   LDA   OS_RTCLOK
FE00   CLC
FE01   LDX   byte_62
FE03   ADC   unk_FE95,X
FE06   TAX
FE07
FE07 loc_FE07:                     ; ...
FE07   LDA   #$FF
FE09   STA   OS_CONSOL
FE0C   LDA   #0
FE0E   LDY   #$F0
FE10
FE10 loc_FE10:                     ; ...
FE10   DEY
FE11   BNE   loc_FE10
FE13   STA   OS_CONSOL
FE16   LDY   #$F0
FE18
FE18 loc_FE18:                     ; ...
FE18   DEY
FE19   BNE   loc_FE18
FE1B   CPX   OS_RTCLOK
FE1D   BNE   loc_FE07
FE1F   DEC   byte_40
FE21   BEQ   loc_FE31
FE23   TXA
FE24   CLC
FE25   LDX   byte_62
FE27   ADC   unk_FE97,X
FE2A   TAX
FE2B
FE2B loc_FE2B:                     ; ...
FE2B   CPX   OS_RTCLOK
FE2D   BNE   loc_FE2B
FE2F   BEQ   loc_FDFE
FE31
FE31 loc_FE31:                     ; ...
FE31   JSR   sub_FE36
FE34   TYA
FE35   RTS
FE35 ; End of function sub_FDFC
FE35
FE36
FE36 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FE36
FE36
FE36 sub_FE36:                     ; ...
FE36   LDA   byte_E425
FE39   PHA
FE3A   LDA   byte_E424
FE3D   PHA
FE3E   RTS
FE3E ; End of function sub_FE36
FE3E
FE3F
FE3F ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FE3F
FE3F
FE3F sub_FE3F:                     ; ...
FE3F   STA   byte_302
FE42   LDA   #0
FE44   STA   byte_309
FE47   LDA   #$83
FE49   STA   byte_308
FE4C   LDA   #3
FE4E   STA   byte_305
FE51   LDA   #$FD
FE53   STA   byte_304
FE56   LDA   #$60
FE58   STA   byte_300
FE5B   LDA   #0
FE5D   STA   byte_301
FE60   LDA   #$23
FE62   STA   byte_306
FE65   LDA   byte_302
FE68   LDY   #$40
FE6A   CMP   #$52
FE6C   BEQ   loc_FE70
FE6E   LDY   #$80
FE70
FE70 loc_FE70:                     ; ...
FE70   STY   byte_303
FE73   LDA   byte_3E
FE75   STA   byte_30B
FE78   JSR   unk_E459
FE7B   RTS
FE7B ; End of function sub_FE3F
FE7B
FE7C
FE7C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FE7C
FE7C
FE7C sub_FE7C:                     ; ...
FE7C   STA   byte_3FF
FE7F   LDA   #$55
FE81   STA   byte_3FD
FE84   STA   byte_3FE
FE87   LDA   #$57
FE89   JSR   sub_FE3F
FE8C   RTS
FE8C ; End of function sub_FE7C
FE8C
FE8C ; ---------------------------------------------------------------------------
FE8D unk_FE8D:.BYTE   4            ; ...
FE8E   .BYTE   3
FE8F unk_FE8F:.BYTE $80 ; Ç        ; ...
FE90   .BYTE $C0 ; +
FE91 unk_FE91:.BYTE   2            ; ...
FE92   .BYTE   1
FE93 unk_FE93:.BYTE $40 ; @        ; ...
FE94   .BYTE $E0 ; Ó
FE95 unk_FE95:.BYTE $1E            ; ...
FE96   .BYTE $19
FE97 unk_FE97:.BYTE  $A            ; ...
FE98   .BYTE   8
FE99
FE99 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FE99
FE99
FE99 sub_FE99:                     ; ...
FE99   LDA   #$1E
FE9B   STA   byte_314
FE9E   RTS
FE9E ; End of function sub_FE99
FE9E
FE9E ; ---------------------------------------------------------------------------
FE9F byte_FE9F:.BYTE $EA           ; ...
FEA0 byte_FEA0:.BYTE 2             ; ...
FEA1   .BYTE $C0 ; +
FEA2   .BYTE   3
FEA3 ; ---------------------------------------------------------------------------
FEA3   LDA   #4
FEA5   STA   byte_2DF
FEA8   LDX   byte_FE9F
FEAB   LDY   byte_FEA0
FEAE   LDA   #$53
FEB0   STA   byte_302
FEB3   STA   byte_30A
FEB6   JSR   sub_FF14
FEB9   JSR   unk_E459
FEBC   BMI   locret_FEC1
FEBE   JSR   sub_FF44
FEC1
FEC1 locret_FEC1:                  ; ...
FEC1   RTS
FEC1 ; ---------------------------------------------------------------------------
FEC2   .BYTE $20
FEC3   .BYTE $A3 ; ú
FEC4   .BYTE $FE ; ¦
FEC5   .BYTE $A9 ; ®
FEC6   .BYTE   0
FEC7   .BYTE $8D ; ì
FEC8   .BYTE $DE ; Ì
FEC9   .BYTE   2
FECA   .BYTE $60 ; `
FECB   .BYTE $48 ; H
FECC   .BYTE $BD ; ¢
FECD   .BYTE $41 ; A
FECE   .BYTE   3
FECF   .BYTE $85 ; à
FED0   .BYTE $21 ; !
FED1   .BYTE $20
FED2   .BYTE $4B ; K
FED3   .BYTE $FF
FED4   .BYTE $AE ; «
FED5   .BYTE $DE ; Ì
FED6   .BYTE   2
FED7   .BYTE $68 ; h
FED8   .BYTE $9D ; Ø
FED9   .BYTE $C0 ; +
FEDA   .BYTE   3
FEDB   .BYTE $E8 ; Þ
FEDC   .BYTE $EC ; ý
FEDD   .BYTE $DF ; ¯
FEDE   .BYTE   2
FEDF   .BYTE $F0 ; ­
FEE0   .BYTE $15
FEE1   .BYTE $8E ; Ä
FEE2   .BYTE $DE ; Ì
FEE3   .BYTE   2
FEE4   .BYTE $C9 ; +
FEE5   .BYTE $9B ; ø
FEE6   .BYTE $F0 ; ­
FEE7   .BYTE   3
FEE8   .BYTE $A0 ; á
FEE9   .BYTE   1
FEEA   .BYTE $60 ; `
FEEB   .BYTE $A9 ; ®
FEEC   .BYTE $20
FEED   .BYTE $9D ; Ø
FEEE   .BYTE $C0 ; +
FEEF   .BYTE   3
FEF0   .BYTE $E8 ; Þ
FEF1   .BYTE $EC ; ý
FEF2   .BYTE $DF ; ¯
FEF3   .BYTE   2
FEF4   .BYTE $D0 ; ð
FEF5   .BYTE $F7 ; ¸
FEF6   .BYTE $A9 ; ®
FEF7   .BYTE   0
FEF8   .BYTE $8D ; ì
FEF9   .BYTE $DE ; Ì
FEFA   .BYTE   2
FEFB   .BYTE $AE ; «
FEFC   .BYTE $A1 ; í
FEFD   .BYTE $FE ; ¦
FEFE   .BYTE $AC ; ¼
FEFF   .BYTE $A2 ; ó
FF00 unk_FF00:.BYTE $FE ; ¦        ; ...
FF01   .BYTE $20
FF02   .BYTE $14
FF03   .BYTE $FF
FF04   .BYTE $4C ; L
FF05   .BYTE $59 ; Y
FF06   .BYTE $E4 ; õ
FF07   .BYTE $20
FF08   .BYTE $4B ; K
FF09   .BYTE $FF
FF0A   .BYTE $A9 ; ®
FF0B   .BYTE $9B ; ø
FF0C   .BYTE $AE ; «
FF0D   .BYTE $DE ; Ì
FF0E   .BYTE   2
FF0F   .BYTE $D0 ; ð
FF10   .BYTE $DC ; _
FF11   .BYTE $A0 ; á
FF12   .BYTE   1
FF13   .BYTE $60 ; `
FF14
FF14 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FF14
FF14
FF14 sub_FF14:                     ; ...
FF14   STX   byte_304
FF17   STY   byte_305
FF1A   LDA   #$40
FF1C   STA   byte_300
FF1F   LDA   byte_21
FF21   STA   byte_301
FF24   LDA   #$80
FF26   LDX   byte_302
FF29   CPX   #$53
FF2B   BNE   loc_FF2F
FF2D   LDA   #$40
FF2F
FF2F loc_FF2F:                     ; ...
FF2F   STA   byte_303
FF32   LDA   byte_2DF
FF35   STA   byte_308
FF38   LDA   #0
FF3A   STA   byte_309
FF3D   LDA   byte_314
FF40   STA   byte_306
FF43   RTS
FF43 ; End of function sub_FF14
FF43
FF44
FF44 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FF44
FF44
FF44 sub_FF44:                     ; ...
FF44   LDA   byte_2EC
FF47   STA   byte_314
FF4A   RTS
FF4A ; End of function sub_FF44
FF4A
FF4B ; ---------------------------------------------------------------------------
FF4B   LDY   #$57
FF4D   LDA   byte_2B
FF4F
FF4F loc_FF4F:                     ; ...
FF4F   CMP   #$4E
FF51   BNE   loc_FF57
FF53   LDX   #$28
FF55   BNE   loc_FF65
FF57
FF57 loc_FF57:                     ; ...
FF57   CMP   #$44
FF59   BNE   loc_FF5F
FF5B   LDX   #$14
FF5D   BNE   loc_FF65
FF5F
FF5F loc_FF5F:                     ; ...
FF5F   CMP   #$53
FF61   BNE   loc_FF6F
FF63   LDX   #$1D
FF65
FF65 loc_FF65:                     ; ...
FF65   STX   byte_2DF
FF68   STY   byte_302
FF6B   STA   byte_30A
FF6E   RTS
FF6F ; ---------------------------------------------------------------------------
FF6F
FF6F loc_FF6F:                     ; ...
FF6F   LDA   #$4E
FF71   BNE   loc_FF4F
FF73
FF73 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FF73
FF73
FF73 sub_FF73:
FF73   LDX   #0
FF75   STX   byte_8B
FF77   STX   byte_8C
FF79
FF79 loc_FF79:                     ; ...
FF79   JSR   sub_FFA9
FF7C   CPX   #$C
FF7E   BNE   loc_FF79
FF80   LDA   byte_C000
FF83   LDX   byte_C001
FF86
FF86 loc_FF86:                     ; ...
FF86   CMP   byte_8B
FF88   BNE   loc_FF90
FF8A   CPX   byte_8C
FF8C   BNE   loc_FF90
FF8E
FF8E loc_FF8E:                     ; ...
FF8E   CLC
FF8F   RTS
FF90 ; ---------------------------------------------------------------------------
FF90
FF90 loc_FF90:                     ; ...
FF90   SEC
FF91   RTS
FF91 ; End of function sub_FF73
FF91
FF92
FF92 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FF92
FF92
FF92 sub_FF92:
FF92   LDX   #0
FF94   STX   byte_8B
FF96   STX   byte_8C
FF98   LDX   #$C
FF9A   JSR   sub_FFA9
FF9D   JSR   sub_FFA9
FFA0   LDA   byte_FFF8
FFA3   LDX   byte_FFF9
FFA6   JMP   loc_FF86
FFA6 ; End of function sub_FF92
FFA6
FFA9
FFA9 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
FFA9
FFA9
FFA9 sub_FFA9:                     ; ...
FFA9   LDY   #0
FFAB
FFAB loc_FFAB:                     ; ...
FFAB   LDA   unk_FFD7,X
FFAE   STA   $9E,Y
FFB1   INX
FFB2   INY
FFB3   CPY   #4
FFB5   BNE   loc_FFAB
FFB7   LDY   #0
FFB9
FFB9 loc_FFB9:                     ; ...
FFB9   CLC
FFBA   LDA   ($9E),Y
FFBC   ADC   byte_8B
FFBE   STA   byte_8B
FFC0   BCC   loc_FFC4
FFC2   INC   byte_8C
FFC4
FFC4 loc_FFC4:                     ; ...
FFC4   INC   byte_9E
FFC6   BNE   loc_FFCA
FFC8   INC   byte_9F
FFCA
FFCA loc_FFCA:                     ; ...
FFCA   LDA   byte_9E
FFCC   CMP   byte_A0
FFCE   BNE   loc_FFB9
FFD0   LDA   byte_9F
FFD2   CMP   byte_A1
FFD4   BNE   loc_FFB9
FFD6   RTS
FFD6 ; End of function sub_FFA9
FFD6
FFD6 ; ---------------------------------------------------------------------------
FFD7 unk_FFD7:.BYTE   2            ; ...
FFD8   .BYTE $C0 ; +
FFD9   .BYTE   0
FFDA   .BYTE $D0 ; ð
FFDB   .BYTE   0
FFDC   .BYTE $50 ; P
FFDD   .BYTE   0
FFDE   .BYTE $58 ; X
FFDF   .BYTE   0
FFE0   .BYTE $D8 ; Ï
FFE1   .BYTE   0
FFE2   .BYTE $E0 ; Ó
FFE3   .BYTE   0
FFE4   .BYTE $E0 ; Ó
FFE5   .BYTE $F8 ; °
FFE6   .BYTE $FF
FFE7   .BYTE $FA ; ·
FFE8   .BYTE $FF
FFE9   .BYTE   0
FFEA   .BYTE   0
FFEB   .BYTE   0
FFEC   .BYTE   0
FFED   .BYTE   0
FFEE   .BYTE $10
FFEF   .BYTE   5
FFF0   .BYTE $83 ; â
FFF1   .BYTE   2
FFF2   .BYTE $42 ; B
FFF3   .BYTE $42 ; B
FFF4   .BYTE   0
FFF5   .BYTE   0
FFF6   .BYTE   1
FFF7   .BYTE   2
FFF8 byte_FFF8:.BYTE $8C           ; ...
FFF9 byte_FFF9:.BYTE $6C           ; ...
FFFA   .BYTE $18
FFFB   .BYTE $C0 ; +
FFFC   .BYTE $AA ; ¬
FFFD   .BYTE $C2 ; -
FFFE   .BYTE $2C ; ,
FFFF   .BYTE $C0 ; +