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 ,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 ,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 Next: ; ...
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 Next: ; ...
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 ,X ; [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 = &( [Money] [currentPlayer])
6D04 JSR copyD4To_Yx_ ; [Money] [currentPlayer] = moneyScore
6D07 LDA #3
6D09 JSR getAddrYxA ; // Y|X = &( [Total] [currentPlayer])
6D0C JSR copyD4To_Yx_ ; [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 = &( [byte_BC] [currentPlayer]) (6 octets)
6D6C JSR copyD4To_Yx_ ; [Land] [currentPlayer] = playerLandScore
6D6F LDA #3
6D71 JSR getAddrYxA ; Y/X, byte_83/byte_82 = &( [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_ ; [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 = &( [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 = &( [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_ ; [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 += [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 = &( [Total] [currentPlayer])
6E69 LDY #0
6E6B
6E6B loc_6E6B: ; ...
6E6B LDA (byte_82),Y ; // if ( [Total] [currentPlayer] > bestScore) {
6E6B ; // goto (Found)
6E6B ; // }
6E6B ; // else if ( [Total] [currentPlayer] < bestScore) {
6E6B ; // goto (NextPlayer)
6E6B ; // }
6E6B ; // else if ( [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 = [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 ; // ( [Total] [currentPlayer] > bestScore) {
6E80 ; // currentPlayer
6E82
6E82 loc_6E82: ; ...
6E82 LDA (byte_82),Y
6E84 STA byte_B2AB,Y ; bestScore = [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 = &( [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 = &( [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 = &( [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 Next: ; ...
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 Next: ; ...
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 Next: ; ...
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 Next: ; ...
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 :.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 ; +