1 ********************************* 2 * * 3 * AFFICHAGE DU PAYSAGE MURYADEN * 4 * (C)1989 BY DECKARD * 5 * * 6 ********************************* 7 * 8 ; 9 ORG $4000 10 ; 11 SPMVT EQU $1D2F ; NBRE DE SPRITES EN MVT 12 SPM EQU $1D33 ; DEBUT STOCKAGE DES SPRITES EN MVT 13 SPMX EQU $1D97 ; " " " " COORD. X 14 SPMY EQU $1DFB ; " " " " COORD. Y 15 MULT EQU $1B1B ; MODULE MULTIPLICATION 16 SPRITED EQU $1AB6 ; &SPRITE DIRECT 17 CARTE2 EQU $4F00 ; DATA CARTE (RENCONTRES) 18 CARTE1 EQU $52C2 ; DATA CARTE (SPRITES) 19 CBT1 EQU $540E ; SPRITE BATEAU SUR CARTE SPRITE (DANS ILE) 20 CBT2 EQU $5410 ; " " " " " " " " " (HORS ILE) 21 COMPX EQU $08 22 COMPY EQU $19 23 CY EQU $17 24 CX EQU $18 25 X EQU $09 26 Y EQU $1A 27 CH EQU $24 28 CV EQU $25 29 WAIT EQU $FCA8 30 POSITION EQU $FC22 31 ; 32 ; INITIALISATION 4000: 20 29 4A 33 GAME0 JSR RAZMVT ; ANNULE LES SPRITES MOUVANTS ACTUELS 4003: A9 01 34 LDA #$01 4005: 85 09 35 STA X 4007: 85 1A 36 STA Y ; LAISSE UNE PLACE POUR LE CADRE 37 ; 4009: 20 E0 40 38 JSR CALCOU? 39 ; 40 ; DETERMINE X0 41 ; 400C: 38 42 SEC 400D: 8A 43 TXA 400E: E9 C8 44 SBC #$C8 ; =200 4010: 8D 2A 40 45 STA X0+1 4013: 8D B8 40 46 STA X0COP+1 4016: 98 47 TYA 4017: E9 00 48 SBC #$00 4019: 8D 2B 40 49 STA X0+2 401C: 8D B9 40 50 STA X0COP+2 51 ; 52 ; AFFICHAGE 53 ; 401F: A9 00 54 LDA #$00 4021: 85 19 55 STA COMPY 4023: A9 00 56 AFFIC1 LDA #$00 4025: 85 08 57 STA COMPX 4027: A6 08 58 AFFIC2 LDX COMPX 4029: BD FF FF 59 X0 LDA $FFFF,X ; LDA $????,X 402C: 20 99 40 60 JSR BROUILL ; TEST BROUILLARD 61 ; TEST SI MOBILE OU NON 402F: C9 1D 62 CMP #29 ; 1ER SPRITE MOBILE 4031: 10 03 63 BPL MVT1 4033: 4C 42 40 64 JMP FIN_MVT 4036: C9 3B 65 MVT1 CMP #59 ; DERNIER SPRITE (JEU 1) MOBILE+1 4038: 30 03 66 BMI MVT2 403A: 4C 42 40 67 JMP FIN_MVT 68 ; C'EST UN SPRITE MOBILE 403D: 48 69 MVT2 PHA ; SAUVE NUMERO SPRITE 403E: 20 CC 40 70 JSR MVTSTAT ; SIGNALE LE SPRITE A AFFICHER 4041: 68 71 PLA ; RECUPERE NUMERO SPRITE POUR AFFICHAGE 72 ; 4042: 20 B6 1A 73 FIN_MVT JSR SPRITED ; SPRITE DIRECT 4045: E6 08 74 INC COMPX 4047: A6 08 75 LDX COMPX 4049: E0 05 76 CPX #$05 ; ON REGARDE SI ON EST AU CENTRE 404B: D0 16 77 BNE PACENTRE 404D: A4 19 78 LDY COMPY 404F: C0 05 79 CPY #$05 4051: D0 10 80 BNE PACENTRE 81 ; ON EST AU CENTRE 4053: E6 08 82 INC COMPX 4055: A9 0B 83 LDA #$0B 4057: 85 09 84 STA X 4059: 85 1A 85 STA Y 405B: A9 21 86 CLASSE LDA #33 ; SPRITE BONHOMME 405D: 20 B6 1A 87 JSR SPRITED 4060: 4C 67 40 88 JMP AFFIC3 89 ; 4063: E0 0B 90 PACENTRE CPX #$0B ; EST-CE LA BORDURE DU CADRE? 4065: F0 09 91 BEQ NEXTL 92 ; 4067: E6 09 93 AFFIC3 INC X ; REPLACE POUR SPRITE SUIVANT 4069: E6 09 94 INC X 406B: C6 1A 95 DEC Y 406D: 4C 27 40 96 JMP AFFIC2 97 ; 4070: E6 19 98 NEXTL INC COMPY ; PASSE A LA LIGNE DE SPRITES SUIVANTE 4072: A4 19 99 LDY COMPY 4074: C0 0B 100 CPY #$0B ; EST-CE LA BORDURE DU CADRE 4076: F0 20 101 BEQ FINCADRE 102 ; 4078: A9 01 103 LDA #$01 407A: 85 09 104 STA X ; REPOSITIONNE POUR CADRE 407C: E6 1A 105 INC Y ; ON DESCEND DE 1 407E: 18 106 CLC 407F: AD 2A 40 107 LDA X0+1 ; POSITIONNEMENT SUR LA CARTE (+39) 4082: 69 27 108 ADC #$27 ; +39 4084: 8D 2A 40 109 STA X0+1 4087: 8D B8 40 110 STA X0COP+1 408A: AD 2B 40 111 LDA X0+2 408D: 69 00 112 ADC #$00 ; RETENUES 408F: 8D 2B 40 113 STA X0+2 4092: 8D B9 40 114 STA X0COP+2 4095: 4C 23 40 115 JMP AFFIC1 ; ON REFAIT 1 LIGNE DE SPRITES 116 ; 4098: 60 117 FINCADRE RTS 118 ; 119 ; TEST BROUILLARD 120 ; 4099: 30 01 121 BROUILL BMI OKBROUIL 409B: 60 122 RTS ; RETOUR CAR PAS DE BROUILLARD 123 ; 124 * ON VERIFIE QU'ON EST PAS DANS LA MINI FENETRE DU PERSO 125 ; 409C: 20 BE 40 126 OKBROUIL JSR TESTPOS 409F: B0 03 127 BCS NORM 40A1: 4C BB 40 128 JMP CBROUIL 40A4: A6 19 129 NORM LDX COMPY 40A6: 20 BE 40 130 JSR TESTPOS 40A9: B0 03 131 BCS NORM2 40AB: 4C BB 40 132 JMP CBROUIL 133 ; 40AE: E9 80 134 NORM2 SBC #$80 ; AFFICHE SPRITE NORMAL (ON ENLEVE $80) 40B0: AC 4E 49 135 LDY NATURE ; REGARDE NATURE LIEU. SI DONJON, ON POKE 136 ; LA NOUVELLE VALEUR (DECOUVERTE) 40B3: D0 05 137 BNE PADONJON ; DONJON = 0 40B5: A6 08 138 LDX COMPX 40B7: 9D FF FF 139 X0COP STA $FFFF,X ; STA $????,X 40BA: 60 140 PADONJON RTS 141 ; 142 ; BROUILLARD COMPLET 143 ; 40BB: A9 10 144 CBROUIL LDA #16 ; SPRITE VIDE COMPLET 40BD: 60 145 RTS 146 ; 147 ; 148 ; TEST POSITION 149 ; 40BE: E0 04 150 TESTPOS CPX #$04 40C0: 10 02 151 BPL TESTPOS2 ; X>=4 40C2: 18 152 CLC 40C3: 60 153 RTS 154 ; 40C4: E0 07 155 TESTPOS2 CPX #$07 40C6: 30 02 156 BMI TESTPOS3 ; X<7 40C8: 18 157 CLC 40C9: 60 158 RTS 40CA: 38 159 TESTPOS3 SEC ; ON EST DANS LA FENETRE 40CB: 60 160 RTS 161 ; 162 * SAUVE DONNEES POUR SPRITE MOUVANT 163 ; 40CC: AE 2F 1D 164 MVTSTAT LDX SPMVT 40CF: 9D 33 1D 165 STA SPM,X ; SAUVE NUMERO SPRITE 40D2: A5 09 166 LDA X 40D4: 9D 97 1D 167 STA SPMX,X ; SAUVE COORD. X 40D7: A5 1A 168 LDA Y 40D9: 9D FB 1D 169 STA SPMY,X ; SAUVE COORD. Y 40DC: EE 2F 1D 170 INC SPMVT ; 1 SPRITE MOUVANT EN PLUS 40DF: 60 171 RTS 172 ; 173 * CALCUL POSITION DU BONHOMME SUR LA CARTE DES SPRITES 174 ; 40E0: A5 17 175 CALCOU? LDA CY ; DETERMINE XP 40E2: 85 EC 176 STA $EC 40E4: A9 27 177 LDA #39 40E6: 85 ED 178 STA $ED 40E8: 20 1B 1B 179 JSR MULT ; CY*39 180 ; 40EB: 18 181 CLC 40EC: A5 EF 182 LDA $EF ; (-) 40EE: 65 18 183 ADC CX 40F0: AA 184 TAX 40F1: A5 EE 185 LDA $EE ; (+) 40F3: 69 00 186 ADC #$00 ; RETENUES 40F5: A8 187 TAY 188 ; 189 ; +ADR DEBUT CARTE1 (SPRITES) 190 ; 40F6: 18 191 CLC 40F7: 8A 192 TXA 40F8: 69 C2 193 ADC #CARTE1 40FE: A8 197 TAY 40FF: 60 198 RTS 199 ; 200 ; 201 *------------------------------------------------- 202 ; 203 ; MAIN PROG 204 ; 205 DECALAGE EQU $17FA 206 CPTMUS EQU $19AD 207 SOUNDD EQU $19CF ; SOUND DIRECT 208 MUSICD EQU $1992 ; MUSIC DIRECT 209 NOISED EQU $1A3D 210 AD1 EQU $1A31 211 AD3 EQU $1A33 212 RDKEY EQU $FD0C 213 OUTDO EQU $DB5C 214 STROUT EQU $DB3A 215 XCOPIE EQU $4C 216 YCOPIE EQU $4D 217 ; 4100: AD 52 49 218 START LDA CMD 4103: C9 02 219 CMP #2 ; COMBAT 4105: D0 3D 220 BNE START2 221 ; ON ETAIT EN COMBAT 4107: CE 2F 1D 222 DEC SPMVT ; ON AFFICHE PLUS LE SPRITE MONSTRE 410A: CE 2F 1D 223 DEC SPMVT ; NOTRE PERSO REDEVIENT IMMOBILE 410D: 20 00 40 224 JSR GAME0 ; DEGAGE LA BESTIOLE DE L'ECRAN 4110: A9 00 225 LDA #0 4112: 8D 52 49 226 STA CMD ; ON EST PLUS EN MODE COMBAT 227 ; 4115: AD 5C 49 228 LDA MBUTE ; A-T-ON BUTER LE MONSTRE? 4118: C9 01 229 CMP #1 411A: D0 28 230 BNE START2 231 ; ON A TUE LE MONSTRE 411C: A9 00 232 LDA #0 411E: 8D 5C 49 233 STA MBUTE 234 ; 4121: AD 5A 49 235 LDA PCOMB 4124: C9 64 236 CMP #100 4126: D0 1C 237 BNE START2 238 ; C'ETAIT UN MONSTRE A 100% 4128: AD 51 49 239 LDA MONSTRE 412B: C9 01 240 CMP #1 ; CYCLOPE 412D: F0 10 241 BEQ GARDEPAS+1 412F: C9 0A 242 CMP #10 ; MATRIARCHE 4131: F0 0C 243 BEQ GARDEPAS+1 4133: C9 11 244 CMP #17 ; FAMILIER 4135: F0 08 245 BEQ GARDEPAS+1 4137: C9 10 246 CMP #16 ; LE NECROMANT 4139: F0 04 247 BEQ GARDEPAS+1 413B: AC 51 49 248 LDY MONSTRE ; ON GARDE MONSTRE A 10% 413E: 2C 249 GARDEPAS DFB $2C ; BIT 413F: A0 00 250 LDY #0 ; ON POKE 0 : PLUS DE MONSTRES ICI 4141: 20 19 4A 251 JSR MNORMAL ; ON MET UN NOUVEAU POURCENTAGE:10% 252 ; 4144: 20 FA 17 253 START2 JSR DECALAGE 4147: A9 BE 254 LDA #$BE ; AFFICHE '>' 4149: 20 5C DB 255 JSR OUTDO 414C: 20 0C FD 256 WAITKEY JSR RDKEY ; ATTENTE TOUCHE 414F: C9 95 257 CMP #$95 ; DROITE 4151: D0 13 258 BNE MAIN1 259 ; FLECHE DROITE 4153: A9 5A 260 LDA #EST 4157: 20 3A DB 262 JSR STROUT 415A: A6 18 263 LDX CX 415C: E8 264 INX 415D: 86 4C 265 MAIN0 STX XCOPIE 415F: A5 17 266 LDA CY 4161: 85 4D 267 STA YCOPIE 4163: 4C 7B 44 268 JMP AA 269 ; 4166: C9 88 270 MAIN1 CMP #$88 ; OUEST 4168: D0 0D 271 BNE MAIN2 272 ; FLECHE GAUCHE 416A: A9 5E 273 LDA #OUEST 416E: 20 3A DB 275 JSR STROUT 4171: A6 18 276 LDX CX 4173: CA 277 DEX 4174: 4C 5D 41 278 JMP MAIN0 279 ; 4177: C9 8B 280 MAIN2 CMP #$8B ; NORD 4179: D0 13 281 BNE MAIN3 282 ; FLECHE HAUT 417B: A9 64 283 LDA #NORD 417F: 20 3A DB 285 JSR STROUT 4182: A4 17 286 LDY CY 4184: 88 287 DEY 4185: 84 4D 288 MAIN00 STY YCOPIE 4187: A5 18 289 LDA CX 4189: 85 4C 290 STA XCOPIE 418B: 4C 7B 44 291 JMP AA 292 ; 418E: C9 8A 293 MAIN3 CMP #$8A ; SUD 4190: D0 0D 294 BNE MAIN4 295 ; FLECHE BAS 4192: A9 69 296 LDA #SUD 4196: 20 3A DB 298 JSR STROUT 4199: A4 17 299 LDY CY 419B: C8 300 INY 419C: 4C 85 41 301 JMP MAIN00 302 ; 419F: C9 D0 303 MAIN4 CMP #$D0 ; 'P' 41A1: D0 03 304 BNE MAIN5 41A3: 4C 3F 43 305 JMP ENTRER 306 ; 41A6: C9 D1 307 MAIN5 CMP #$D1 ; 'Q' 41A8: D0 03 308 BNE MAIN6 41AA: 4C 03 44 309 JMP QUIT 310 ; 41AD: C9 C9 311 MAIN6 CMP #$C9 ; 'I' 41AF: D0 03 312 BNE MAIN7 41B1: 4C 2C 43 313 JMP INVENTOR 314 ; 41B4: C9 D5 315 MAIN7 CMP #$D5 ; 'U' 41B6: D0 03 316 BNE MAIN8 41B8: 4C 14 43 317 JMP UTILISER 318 ; 41BB: C9 CC 319 MAIN8 CMP #$CC ; 'L' 41BD: D0 03 320 BNE MAIN9 41BF: 4C 20 43 321 JMP SORT 322 ; 41C2: C9 CA 323 MAIN9 CMP #$CA ; 'J' 41C4: D0 03 324 BNE MAIN10 41C6: 4C 08 43 325 JMP JETER 326 ; 41C9: C9 C5 327 MAIN10 CMP #$C5 ; 'E' 41CB: D0 03 328 BNE MAIN11 41CD: 4C FC 42 329 JMP EQUIPER 330 ; 41D0: C9 CF 331 MAIN11 CMP #$CF ; 'O' 41D2: D0 03 332 BNE MAIN12 41D4: 4C CC 42 333 JMP OUVRIR 334 ; 41D7: C9 CD 335 MAIN12 CMP #$CD ; 'M' 41D9: D0 03 336 BNE MAIN13 41DB: 4C 5F 42 337 JMP BATEAU 338 ; 41DE: C9 D3 339 MAIN13 CMP #$D3 ; 'S' 41E0: D0 03 340 BNE MAIN14 41E2: 4C 53 42 341 JMP SAUVEJEU 342 ; 41E5: C9 C3 343 MAIN14 CMP #$C3 ; 'C' 41E7: D0 03 344 BNE MAIN? 41E9: 4C EF 41 345 JMP CHERCHER 346 ; 41EC: 4C 4C 41 347 MAIN? JMP WAITKEY 348 ; 349 ; 350 ; CHERCHER 351 ; 41EF: A9 ED 352 CHERCHER LDA #SEEK 41F3: 20 3A DB 354 JSR STROUT 41F6: 20 62 44 355 JSR HEREIS 41F9: C9 C8 356 CMP #200 41FB: 30 47 357 BMI CHERCHE? ; <200 41FD: C9 CC 358 CMP #204 41FF: 10 43 359 BPL CHERCHE? ; >203 360 ; 4201: 38 361 SEC 4202: E9 C7 362 SBC #199 ; NUMEROTES DE 1 A 4 4204: 8D 5D 49 363 STA DIVERS 364 ; 4207: 48 365 PHA 4208: A9 0E 366 LDA #TROUVE 420C: 20 3A DB 368 JSR STROUT 420F: 68 369 PLA 4210: AA 370 TAX 4211: CA 371 DEX 4212: D0 0A 372 BNE CHERCHE2 373 ; CLEF 4214: A9 1F 374 LDA #CLEF 4218: 20 3A DB 376 JSR STROUT 421B: 4C 3F 42 377 JMP FCHERCHE 378 ; 421E: CA 379 CHERCHE2 DEX 421F: D0 0A 380 BNE CHERCHE3 381 ; PARCHEMIN 4221: A9 28 382 LDA #SCROLL 4225: 20 3A DB 384 JSR STROUT 4228: 4C 3F 42 385 JMP FCHERCHE 386 ; 422B: CA 387 CHERCHE3 DEX 422C: D0 0A 388 BNE CHERCHE4 389 ; MURYADEN 422E: A9 35 390 LDA #MURYADEN 4232: 20 3A DB 392 JSR STROUT 4235: 4C 3F 42 393 JMP FCHERCHE 394 ; PRINCESSE 4238: A9 41 395 CHERCHE4 LDA #PRINCESS 423C: 20 3A DB 397 JSR STROUT 398 ; 423F: A9 0C 399 FCHERCHE LDA #12 ; CMD=CHERCHER 4241: 4C 38 43 400 JMP GOBASIC 401 ; 4244: A9 FD 402 CHERCHE? LDA #KEDAL 4248: 20 3A DB 404 JSR STROUT 424B: 4C 00 41 405 JMP START 406 ; 407 ; 424E: A9 16 408 ENLEVOBJ LDA #22 4250: 4C 8A 4B 409 JMP ICISPRIT ; ON MET LE SPRITE CADRE VIDE 410 ; 411 ; 412 ; SAUVEGARDE SCENARIO 413 ; 4253: A9 E0 414 SAUVEJEU LDA #SAVEGAME 4257: 20 3A DB 416 JSR STROUT 425A: A9 0B 417 LDA #11 425C: 4C 38 43 418 JMP GOBASIC 419 ; 420 ; MONTER A BORD 421 ; 425F: A9 D1 422 BATEAU LDA #EMBARK 4263: 20 3A DB 424 JSR STROUT 4266: 20 62 44 425 JSR HEREIS 4269: C9 CC 426 CMP #204 426B: D0 1A 427 BNE BATEAU2 428 ; ON QUITTE L'ILE 426D: 20 A8 42 429 JSR BATEAUP 4270: A9 1D 430 LDA #29 ; SUR CARTE: MER REMPLACE BATEAU (DEPART ILE) 4272: 8D 0E 54 431 STA CBT1 4275: E6 18 432 INC CX 4277: 20 C6 42 433 JSR BATEAUP3 427A: E6 18 434 INC CX 427C: 20 C6 42 435 JSR BATEAUP3 427F: A9 20 436 LDA #32 ; SUR CARTE: BATEAU REMPLACE MER (DEPART ILE) 4281: 8D 10 54 437 STA CBT2 4284: 4C BB 42 438 JMP BATEAUP2 439 ; 4287: C9 CD 440 BATEAU2 CMP #205 4289: D0 1A 441 BNE BATEAU? 442 ; ON VA DANS L'ILE 428B: 20 A8 42 443 JSR BATEAUP 428E: A9 1D 444 LDA #29 ; SUR CARTE: MER REMPLACE BATEAU (VA SUR ILE) 4290: 8D 10 54 445 STA CBT2 4293: C6 18 446 DEC CX 4295: 20 C6 42 447 JSR BATEAUP3 4298: C6 18 448 DEC CX 429A: 20 C6 42 449 JSR BATEAUP3 429D: A9 20 450 LDA #32 ; SUR CARTE: BATEAU REMPLACE MER (VA SUR ILE) 429F: 8D 0E 54 451 STA CBT1 42A2: 4C BB 42 452 JMP BATEAUP2 453 ; 42A5: 4C F1 43 454 BATEAU? JMP ENTRER8 ; MONTER OU? 455 ; 42A8: A9 D9 456 BATEAUP LDA #ABORD 42AC: 20 3A DB 458 JSR STROUT 42AF: AD 5C 40 459 LDA CLASSE+1 42B2: 8D BC 42 460 STA BATEAUP2+1 42B5: A9 20 461 LDA #32 42B7: 8D 5C 40 462 STA CLASSE+1 ; SPRITE BATEAU AU CENTRE DE L'ECRAN 42BA: 60 463 RTS 464 ; 42BB: A9 00 465 BATEAUP2 LDA #$00 ; LDA #$?? 42BD: 8D 5C 40 466 STA CLASSE+1 ; ON REMET LE SPRITE DU PERSO AU CENTRE 42C0: 20 00 40 467 JSR GAME0 42C3: 4C 00 41 468 JMP START 469 ; 470 BATEAUP3 42C6: 20 29 4A 471 JSR RAZMVT 42C9: 4C 00 40 472 JMP GAME0 ; RTS INCLU 473 ; 474 ; OUVRIR 475 ; 42CC: A9 C2 476 OUVRIR LDA #OPEN 42D0: 20 3A DB 478 JSR STROUT 42D3: 20 62 44 479 JSR HEREIS 42D6: 10 1C 480 BPL OUVRE? ; SI >0 42D8: 29 7F 481 AND #$7F ; -$80 42DA: C9 52 482 CMP #82 42DC: 30 16 483 BMI OUVRE? ; SI <210 42DE: C9 5B 484 CMP #91 42E0: 10 12 485 BPL OUVRE? ; SI >218 486 ; 42E2: 38 487 SEC 42E3: E9 51 488 SBC #81 ; LES COFFRES SONT NUMEROTES DE 1 A 9 42E5: 8D 5D 49 489 STA DIVERS 490 ; 42E8: A9 CA 491 LDA #COFFRE 42EC: 20 3A DB 493 JSR STROUT 42EF: A9 0A 494 LDA #10 42F1: 4C 38 43 495 JMP GOBASIC 496 ; 42F4: 4C 58 44 497 OUVRE? JMP QUIT4 ; OUVRIR QUOI? 498 ; 499 ; 42F7: A9 0F 500 COFFRVID LDA #15 ; POKE COFFRE VIDE SUR CARTE1 42F9: 4C 8A 4B 501 JMP ICISPRIT 502 ; 503 ; 504 ; EQUIPER 505 ; 42FC: A9 B7 506 EQUIPER LDA #EQUIP 4300: 20 3A DB 508 JSR STROUT 4303: A9 09 509 LDA #9 4305: 4C 38 43 510 JMP GOBASIC 511 ; 512 ; JETER OBJET 513 ; 4308: A9 AB 514 JETER LDA #JETTE 430C: 20 3A DB 516 JSR STROUT 430F: A9 08 517 LDA #8 4311: 4C 38 43 518 JMP GOBASIC 519 ; 520 ; UTILISER OBJET 521 ; 4314: A9 91 522 UTILISER LDA #OBJET 4318: 20 3A DB 524 JSR STROUT 431B: A9 06 525 LDA #6 431D: 4C 38 43 526 JMP GOBASIC 527 ; 528 ; LANCER UN SORT 529 ; 4320: A9 82 530 SORT LDA #SPELL 4324: 20 3A DB 532 JSR STROUT 4327: A9 07 533 LDA #7 4329: 4C 38 43 534 JMP GOBASIC 535 ; 432C: A9 A0 536 INVENTOR LDA #INVEN 4330: 20 3A DB 538 JSR STROUT 4333: A9 05 539 LDA #5 4335: 4C 38 43 540 JMP GOBASIC 541 ; 542 ; 4338: 8D 52 49 543 GOBASIC STA CMD 433B: 20 FA 17 544 JSR DECALAGE 433E: 60 545 RTS 546 ; 547 ; ENTRER 548 ; 433F: A9 F6 549 ENTRER LDA #ENTRE 4343: 20 3A DB 551 JSR STROUT 4346: 20 62 44 552 JSR HEREIS 4349: C9 F0 553 CMP #240 434B: D0 18 554 BNE ENTRER1 555 ; BAR-TOLAINOR 434D: 20 FB 43 556 JSR MDANS 4350: A9 2B 557 LDA #TOLAINOR 4354: 20 3A DB 559 JSR STROUT 4357: A9 02 560 LDA #2 ; VILLE 2 4359: A2 03 561 ENTRE0 LDX #3 ; CMD = 3 (VILLES/CHATEAU/DONJON) 435B: 8D 53 49 562 STA LIEU 435E: 8E 52 49 563 STX CMD 4361: 20 29 4A 564 JSR RAZMVT 4364: 60 565 RTS 566 ; 4365: C9 F1 567 ENTRER1 CMP #241 4367: D0 0F 568 BNE ENTRER2 569 ; BAR-CALENLAD 4369: 20 FB 43 570 JSR MDANS 436C: A9 1C 571 LDA #CALENLAD 4370: 20 3A DB 573 JSR STROUT 4373: A9 01 574 LDA #1 ; VILLE1 4375: 4C 59 43 575 JMP ENTRE0 576 ; 4378: C9 F2 577 ENTRER2 CMP #242 437A: D0 0F 578 BNE ENTRER3 579 ; ECHORKELIANT 437C: 20 FB 43 580 JSR MDANS 437F: A9 3A 581 LDA #ECHORKEL 4383: 20 3A DB 583 JSR STROUT 4386: A9 03 584 LDA #3 4388: 4C 59 43 585 JMP ENTRE0 586 ; 438B: C9 F5 587 ENTRER3 CMP #245 438D: D0 0F 588 BNE ENTRER4 589 ; GONDARNOST 438F: 20 FB 43 590 JSR MDANS 4392: A9 49 591 LDA #GONDARNO 4396: 20 3A DB 593 JSR STROUT 4399: A9 04 594 LDA #4 439B: 4C 59 43 595 JMP ENTRE0 596 ; 439E: C9 FA 597 ENTRER4 CMP #250 43A0: D0 13 598 BNE ENTRER5 599 ; DONJON CYCLOPE 43A2: 20 FB 43 600 JSR MDANS 43A5: A9 57 601 LDA #DONJON1 43A9: 20 3A DB 603 JSR STROUT 43AC: A0 20 604 LDY #32 ; POSITIONNEMENT 43AE: A2 14 605 LDX #20 43B0: A9 05 606 LDA #5 43B2: 4C E3 43 607 JMP ENTRER7 608 ; 43B5: C9 FB 609 ENTRER5 CMP #251 43B7: D0 13 610 BNE ENTRER6 611 ; DONJON MATRIARCHE 43B9: 20 FB 43 612 JSR MDANS 43BC: A9 66 613 LDA #DONJON2 43C0: 20 3A DB 615 JSR STROUT 43C3: A0 20 616 LDY #32 ; POSITIONNEMENT 43C5: A2 12 617 LDX #18 43C7: A9 06 618 LDA #6 43C9: 4C E3 43 619 JMP ENTRER7 620 ; 43CC: C9 FC 621 ENTRER6 CMP #252 43CE: D0 21 622 BNE ENTRER8 623 ; DONJON NECROMANT 43D0: 20 FB 43 624 JSR MDANS 43D3: A9 73 625 LDA #DONJON3 43D7: 20 3A DB 627 JSR STROUT 43DA: A0 20 628 LDY #32 43DC: A2 13 629 LDX #19 43DE: A9 07 630 LDA #7 43E0: 4C E3 43 631 JMP ENTRER7 632 ; 43E3: 48 633 ENTRER7 PHA 43E4: A9 00 634 LDA #0 ; DONJON 43E6: 8D 4E 49 635 STA NATURE 43E9: 68 636 PLA 43EA: 86 18 637 STX CX 43EC: 84 17 638 STY CY 43EE: 4C 59 43 639 JMP ENTRE0 640 ; 641 ; PAS DE:VILLE/CHATEAU/DONJON 642 ; 43F1: A9 00 643 ENTRER8 LDA #OU 43F5: 20 3A DB 645 JSR STROUT 43F8: 4C 00 41 646 JMP START 647 ; 43FB: A9 0E 648 MDANS LDA #DANS 43FF: 20 3A DB 650 JSR STROUT 4402: 60 651 RTS 652 ; 653 ; 654 ; QUITTER DONJON 655 ; 4403: A9 7C 656 QUIT LDA #QUITTER 4407: 20 3A DB 658 JSR STROUT 440A: 20 62 44 659 JSR HEREIS 440D: C9 AA 660 CMP #170 440F: D0 23 661 BNE QUIT2 662 ; QUITTER DONJON 1 4411: A9 04 663 LDA #4 4413: 8D 4F 49 664 STA NMAP ; ON SORT SUR LA CARTE 4 4416: A9 18 665 LDA #24 ; CX 4418: 48 666 PHA 4419: A9 0E 667 LDA #14 ; CY 441B: 48 668 PHA 441C: A9 15 669 QUIT0 LDA #DJN 4420: 20 3A DB 671 JSR STROUT 4423: 68 672 PLA ; RECUPERE COORDONNEES 4424: 85 17 673 STA CY 4426: 68 674 PLA 4427: 85 18 675 STA CX 4429: A9 04 676 LDA #4 442B: 8D 52 49 677 STA CMD 442E: A9 01 678 LDA #1 4430: 8D 4E 49 679 STA NATURE ; ON SORT DONC: NATURE EXTERIEURE (=1) 4433: 60 680 RTS 681 ; 4434: C9 AB 682 QUIT2 CMP #171 4436: D0 0E 683 BNE QUIT3 684 ; QUITTER DONJON 2 4438: A9 02 685 LDA #2 443A: 8D 4F 49 686 STA NMAP ; ON REVIENT SUR LA CARTE 2 443D: A9 1E 687 LDA #30 ; CX 443F: 48 688 PHA 4440: A9 18 689 LDA #24 ; CY 4442: 48 690 PHA 4443: 4C 1C 44 691 JMP QUIT0 692 ; 4446: C9 AC 693 QUIT3 CMP #172 4448: D0 0E 694 BNE QUIT4 695 ; QUITTER DONJON 3 444A: A9 03 696 LDA #3 444C: 8D 4F 49 697 STA NMAP ; RETOUR SUR CARTE 3 444F: A9 12 698 LDA #18 ; CX 4451: 48 699 PHA 4452: A9 07 700 LDA #7 ; CY 4454: 48 701 PHA 4455: 4C 1C 44 702 JMP QUIT0 703 ; 704 ; QUITTER QUOI ?? 705 ; 4458: A9 07 706 QUIT4 LDA #QUOI 445C: 20 3A DB 708 JSR STROUT 445F: 4C 00 41 709 JMP START 710 ; 4462: A5 18 711 HEREIS LDA CX 4464: 85 4C 712 STA XCOPIE 4466: A5 17 713 LDA CY 4468: 85 4D 714 STA YCOPIE 446A: 20 F8 49 715 JSR ENLEVE 446D: 8E 74 44 716 STX HEREIS2+1 4470: 8C 75 44 717 STY HEREIS2+2 4473: AE FF FF 718 HEREIS2 LDX $FFFF ; LDA $???? CHARGE 4476: 20 E9 49 719 JSR RETABLIR 4479: 8A 720 TXA ; LE TYPE DE TERRIN EST DANS L'ACC 447A: 60 721 RTS 722 ; 723 *------------------------------------------------- 724 ; 725 ; ON REGARDE LA NATURE DU LIEU OU ON ARRIVE 726 ; 447B: 20 F8 49 727 AA JSR ENLEVE 447E: AD FF FF 728 b LDA $FFFF ; LDA $???? 4481: D0 03 729 BNE A1 730 ; AUCUN OBSTACLE 4483: 4C 84 49 731 JMP B 732 ; 4486: C9 FF 733 A1 CMP #$FF ; =255 4488: D0 1C 734 BNE A2 735 ; SOLIDE 448A: A9 01 736 LDA #1 ; &MUSIC1,0,15 448C: 8D AD 19 737 STA CPTMUS 448F: A9 00 738 LDA #0 4491: 85 EC 739 STA $EC 4493: EA 740 NOP 4494: A2 0F 741 LDX #15 4496: 20 92 19 742 JSR MUSICD 743 ; 4499: 20 FA 17 744 JSR DECALAGE 449C: A9 6D 745 LDA #IMPOSS 44A0: 20 3A DB 747 JSR STROUT ; ?"IMPOSSIBLE" 44A3: 4C 0A 4A 748 JMP D 749 ; 44A6: C9 01 750 A2 CMP #$01 44A8: 10 03 751 BPL A3 44AA: 4C 60 4A 752 JMP COM 44AD: C9 79 753 A3 CMP #$79 44AF: 30 03 754 BMI A4 44B1: 4C 60 4A 755 JMP COM 756 ; 44B4: 8D 54 49 757 A4 STA COPYLIEU 758 ; 759 ; DETERMINE NOMBRE ALEATOIRE 760 ; 44B7: AE 5B 49 761 LDX FLAG? 44BA: D0 05 762 BNE ANNEX1 44BC: A5 4E 763 LDA $4E 44BE: 4C CE 44 764 JMP FLGOK 44C1: CA 765 ANNEX1 DEX 44C2: D0 05 766 BNE ANNEX2 44C4: A5 4F 767 LDA $4F 44C6: 4C CE 44 768 JMP FLGOK 44C9: 38 769 ANNEX2 SEC 44CA: A5 4E 770 LDA $4E 44CC: E5 4F 771 SBC $4F 772 ; 44CE: AA 773 FLGOK TAX 44CF: CE 5B 49 774 DEC FLAG? 44D2: AD 5B 49 775 LDA FLAG? 44D5: 10 05 776 BPL FLGOK2 44D7: A9 02 777 LDA #2 44D9: 8D 5B 49 778 STA FLAG? 44DC: 8A 779 FLGOK2 TXA 780 ; 781 ; NB ALEATOIRE COMPRIS ENTRE 0 ET 100 44DD: 10 02 782 A6 BPL A5 ; SI >=0 44DF: 29 7F 783 AND #$7F 44E1: C9 65 784 A5 CMP #$65 ; =101 44E3: 30 05 785 BMI A7 ; SI <101 (DONC SI <=100) 44E5: 6A 786 ROR A 44E6: 18 787 CLC 44E7: 4C DD 44 788 JMP A6 789 ; 44EA: 8D 55 49 790 A7 STA PROBA 44ED: A2 00 791 LDX #$00 44EF: AD 54 49 792 LDA COPYLIEU 44F2: C9 1F 793 A8 CMP #31 44F4: 30 07 794 BMI A9 ; SI <=30 ON A LE NUMERO DU MONSTRE 44F6: 38 795 SEC 44F7: E9 1E 796 SBC #30 ; -30 44F9: E8 797 INX 44FA: 4C F2 44 798 JMP A8 799 ; 44FD: A8 800 A9 TAY 44FE: 38 801 SEC 44FF: BD 56 49 802 LDA POURCENT,X 4502: 8D 5A 49 803 STA PCOMB ; SAUVE CE POURCENTAGE 4505: ED 55 49 804 SBC PROBA 4508: 10 03 805 BPL CCOMB ; COMBAT (PROBA<=POURCENTAGE) 806 ; 450A: 4C B2 45 807 JMP A10 ; PAS DE COMBAT 808 ; 809 ; COMBAT 810 ; %TAGE>=PROBA ALEATOIRE 450D: 8C 51 49 811 CCOMB STY MONSTRE 4510: 98 812 TYA 4511: 48 813 PHA ; NUMERO MONSTRE 814 ; AFFICHE SPRITE MONSTRE 4512: B9 B4 45 815 LDA SPCOMBAT-1,Y 4515: 48 816 PHA ; SAUVE LE SPRITE DU MONSTRE 4516: 20 E9 49 817 JSR RETABLIR 4519: A5 18 818 LDA CX 451B: C5 4C 819 CMP XCOPIE 451D: D0 16 820 BNE HORIZ ; SOIT A GAUCHE SOIT A DROITE 821 ; 451F: A9 0B 822 LDA #$0B 4521: 85 09 823 STA X 4523: A5 17 824 LDA CY ; SOIT EN HAUT SOIT EN BAS 4525: C5 4D 825 CMP YCOPIE 4527: 30 07 826 BMI ENBAS 827 ; MONSTRE EN HAUT 4529: A9 09 828 LDA #$09 452B: 85 1A 829 STA Y 452D: 4C 48 45 830 AFF_SP0 JMP AFF_SP 831 ; MONSTRE EN BAS 4530: A9 0D 832 ENBAS LDA #$0D 4532: 4C 2B 45 833 JMP AFF_SP0-2 834 ; 835 ; 4535: A2 0B 836 HORIZ LDX #$0B 4537: 86 1A 837 STX Y 4539: C5 4C 838 CMP XCOPIE 453B: 30 07 839 BMI ADROITE 840 ; MONSTRE A GAUCHE 453D: A9 09 841 LDA #9 453F: 85 09 842 STA X 4541: 4C 48 45 843 JMP AFF_SP 844 ; 4544: A9 0D 845 ADROITE LDA #$0D 4546: 85 09 846 STA X 847 ; RETOUR BASIC 4548: 68 848 AFF_SP PLA ; RECUPERE LE SPRITE DU MONSTRE 4549: 48 849 PHA 454A: 20 CC 40 850 JSR MVTSTAT ; AJOUTE SPRITE (FAIT AUSSI AFFICHAGE) 454D: 68 851 PLA 454E: 20 B6 1A 852 JSR SPRITED 853 ; ON FAIT BOUGER NOTRE PERSO AU CENTRE 4551: A9 0B 854 LDA #$0B 4553: 85 09 855 STA X 4555: 85 1A 856 STA Y ; COORDONNES MILIEU ECRAN 4557: AD 5C 40 857 LDA CLASSE+1 ; NO SPRITE PERSO 455A: 20 CC 40 858 JSR MVTSTAT ; AJOUTE SPRITE 859 ; 455D: EA 860 NOP 455E: EA 861 NOP 455F: 20 FA 17 862 JSR DECALAGE 4562: A9 0D 863 LDA #MCOMBAT 4566: 20 3A DB 865 JSR STROUT 4569: 20 FA 17 866 JSR DECALAGE 867 ; DECLIC DEBUT COMBAT 456C: A0 10 868 SOUNDCB LDY #$10 456E: 98 869 TYA 456F: 20 A8 FC 870 JSR WAIT 4572: 2C 30 C0 871 BIT $C030 4575: 88 872 DEY 4576: D0 F6 873 BNE SOUNDCB+2 874 ; 4578: 68 875 PLA ; RECUPERE NUMERO BESTIOLE 4579: A8 876 TAY 457A: 88 877 DEY ; -1 POUR POINTER SUR TABLE 457B: 98 878 TYA 457C: 0A 879 ASL A ; *2 POUR LA TABLE 457D: AA 880 TAX 457E: BD 1E 47 881 LDA MTABLE,X ; HIGH 4581: A8 882 TAY 4582: 48 883 PHA ; SAUVE HIGH 4583: E8 884 INX 4584: BD 1E 47 885 LDA MTABLE,X ; LOW 4587: 48 886 PHA ; SAUVE LOW 4588: 20 3A DB 887 JSR STROUT 458B: 20 FA 17 888 JSR DECALAGE 889 ; AFFICHE NOM MONSTRE DANS LE CADRE HAUT 458E: A2 01 890 LDX #1 4590: A0 05 891 LDY #5 4592: 20 AA 45 892 JSR WINDPOS 893 ; 4595: 68 894 PLA ; RECUPERE LOW 4596: AA 895 TAX 4597: 68 896 PLA ; RECUPERE HIGH 4598: A8 897 TAY 4599: 8A 898 TXA 459A: 20 3A DB 899 JSR STROUT ; AFFICHE NOM 900 ; 901 ; REPOSITIONNE DANS FENETRE BAS 459D: A2 00 902 LDX #0 459F: A0 17 903 LDY #23 45A1: 20 AA 45 904 JSR WINDPOS 905 ; 906 ; 45A4: A9 02 907 LDA #$02 ; = COMBAT 45A6: 8D 52 49 908 STA CMD 45A9: 60 909 RTS 910 ; 45AA: 86 24 911 WINDPOS STX CH 45AC: 84 25 912 STY CV 45AE: 20 22 FC 913 JSR POSITION POSITIONNE DANS FENETRE 45B1: 60 914 RTS 915 ; 916 ; 917 ; 45B2: 4C 84 49 918 A10 JMP B ; AUCUN OBSTACLE (DONC MOUVEMENT NORMAL) 919 ; 920 * 921 * SPRITES DES MONSTRES 922 * 923 ; 45B5: 30 36 33 924 SPCOMBAT DFB 48,54,51,45,57,37,38,42,41,43,46,37,43,35,52 45B8: 2D 39 25 26 2A 29 2B 2E 45C0: 25 2B 23 34 45C4: 23 27 37 925 DFB 35,39,55,58,53,40,43,51,56,34,47,36,44,49,50 45C7: 3A 35 28 2B 33 38 22 2F 45CF: 24 2C 31 32 926 ; 45D3: CC E5 A0 927 CYCLOPE ASC "Le cyclope" 45D6: E3 F9 E3 EC EF F0 E5 45DD: 00 928 dfb 0 45DE: D5 EE A0 929 ETTIN asc "Un ettin" 45E1: E5 F4 F4 E9 EE 45E6: 00 930 dfb 0 45E7: D5 EE E5 931 MANTICOR asc "Une manticore" 45EA: A0 ED E1 EE F4 E9 E3 EF 45F2: F2 E5 45F4: 00 932 dfb 0 45F5: D5 EE E5 933 HARPIE asc "Une harpie" 45F8: A0 E8 E1 F2 F0 E9 E5 45FF: 00 934 dfb 0 4600: D5 EE A0 935 SAURE ASC "Un saure" 4603: F3 E1 F5 F2 E5 4608: 00 936 dfb 0 4609: D5 EE A0 937 ORQUE asc "Un orque" 460C: EF F2 F1 F5 E5 4611: 00 938 dfb 0 4612: D5 EE A0 939 KOBOLD asc "Un kobold" 4615: EB EF E2 EF EC E4 461B: 00 940 dfb 0 461C: D5 EE A0 941 SERPENT asc "Un serpent" 461F: F3 E5 F2 F0 E5 EE F4 4626: 00 942 dfb 0 4627: D5 EE A0 943 RAT asc "Un rat" 462A: F2 E1 F4 462D: 00 944 dfb 0 462E: CC E1 A0 945 MATRIARC asc "La Matriarche" 4631: CD E1 F4 F2 E9 E1 F2 E3 4639: E8 E5 463B: 00 946 dfb 0 463C: D5 EE A0 947 CHAMANE asc "Un chamane" 463F: E3 E8 E1 ED E1 EE E5 4646: 00 948 dfb 0 4647: D5 EE A0 949 TROLL asc "Un troll" 464A: F4 F2 EF EC EC 464F: 00 950 dfb 0 4650: D5 EE A0 951 OGRE asc "Un ogre" 4653: EF E7 F2 E5 4657: 00 952 dfb 0 4658: D5 EE A0 953 MAGE asc "Un mage" 465B: ED E1 E7 E5 465F: 00 954 dfb 0 4660: D5 EE A0 955 DIABLE asc "Un diablotin" 4663: E4 E9 E1 E2 EC EF F4 E9 466B: EE 466C: 00 956 dfb 0 466D: CC E5 A0 957 NECROMAN asc "Le n{cromant" 4670: EE FB E3 F2 EF ED E1 EE 4678: F4 4679: 00 958 dfb 0 467A: CC E5 A0 959 FAMILIER asc "Le familier" 467D: E6 E1 ED E9 EC E9 E5 F2 4685: 00 960 dfb 0 4686: D5 EE A0 961 XORN asc "Un xorn" 4689: F8 EF F2 EE 468D: 00 962 dfb 0 468E: D5 EE A0 963 DEMON asc "Un d{mon" 4691: E4 FB ED EF EE 4696: 00 964 dfb 0 4697: D5 EE A0 965 SPECTRE asc "Un spectre" 469A: F3 F0 E5 E3 F4 F2 E5 46A1: 00 966 dfb 0 46A2: D5 EE A0 967 ZOMBIE asc "Un zombie" 46A5: FA EF ED E2 E9 E5 46AB: 00 968 dfb 0 46AC: D5 EE A0 969 GOLEM asc "Un golem" 46AF: E7 EF EC E5 ED 46B4: 00 970 dfb 0 46B5: D5 EE A0 971 WYRM asc "Un wyrm" 46B8: F7 F9 F2 ED 46BC: 00 972 dfb 0 46BD: D5 EE A0 973 BALROG asc "Un balrog" 46C0: E2 E1 EC F2 EF E7 46C6: 00 974 dfb 0 46C7: D5 EE A0 975 BANDIT asc "Un bandit" 46CA: E2 E1 EE E4 E9 F4 46D0: 00 976 dfb 0 46D1: D5 EE A0 977 BARBARE asc "Un barbare" 46D4: E2 E1 F2 E2 E1 F2 E5 46DB: 00 978 dfb 0 46DC: D5 EE A0 979 PRETRE asc "Un pr~tre" 46DF: F0 F2 FE F4 F2 E5 46E5: 00 980 dfb 0 46E6: D5 EE E5 981 ARAIGNEE asc "Une araign{e" 46E9: A0 E1 F2 E1 E9 E7 EE FB 46F1: E5 46F2: 00 982 dfb 0 46F3: D5 EE A0 983 MARCHAND asc "Un marchand" 46F6: ED E1 F2 E3 E8 E1 EE E4 46FE: 00 984 dfb 0 46FF: D5 EE A0 985 MERCENAI asc "Un mercenaire" 4702: ED E5 F2 E3 E5 EE E1 E9 470A: F2 E5 470C: 00 986 dfb 0 470D: D5 EE E5 987 MCOMBAT ASC "Une rencontre! " 4710: A0 F2 E5 EE E3 EF EE F4 4718: F2 E5 A1 A0 A0 471D: 00 988 DFB 0 989 ; 990 ; 991 ; 471E: 45 D3 992 MTABLE DFB #>CYCLOPE,#ETTIN,#MANTICOR,#HARPIE,#SAURE,#ORQUE,#KOBOLD,#SERPENT,#RAT,#MATRIARC,#CHAMANE,#TROLL,#OGRE,#MAGE,#DIABLE,#NECROMAN,#FAMILIER,#XORN,#DEMON,#SPECTRE,#ZOMBIE,#GOLEM,#WYRM,#BALROG,#BANDIT,#BARBARE,#PRETRE,#ARAIGNEE,#MARCHAND,#MERCENAI,#CARTE2 497F: 8D 80 44 1147 STA b+2 ; HIGH 4982: A8 1148 TAY 4983: 60 1149 RTS 1150 ; 1151 *--------------------------------------------- 1152 ; 1153 ; MOUVEMENTS 1154 ; 4984: 20 29 4A 1155 B JSR RAZMVT ; ANNULE LES SPRITES MOUVANTS ACTUELS 4987: A9 01 1156 LDA #1 ; &MUSIC1,1,5 4989: 8D AD 19 1157 STA CPTMUS 498C: A9 01 1158 LDA #1 498E: 85 EC 1159 STA $EC 4990: EA 1160 NOP 4991: A2 0F 1161 LDX #15 4993: 20 92 19 1162 JSR MUSICD 1163 ; 4996: 2C 1164 COM? DFB $2C ; BIT OU JSR 4997: 79 4A 1165 DFB #F 4999: 20 E9 49 1166 JSR RETABLIR 1167 ; TESTS DE SORTIE DE LA CARTE DES SPRITES 1168 ; 1169 ; TESTS DE X 499C: A5 4C 1170 LDA XCOPIE 499E: C9 05 1171 CMP #$05 49A0: 30 11 1172 BMI B1 ; SI X<5 (TOUCHE <-) 49A2: C9 22 1173 CMP #$22 49A4: 10 17 1174 BPL B2 ; SI X>=34 (TOUCHE ->) 1175 ; 1176 ; TESTS DE Y 49A6: A5 4D 1177 LDA YCOPIE 49A8: C9 05 1178 CMP #$05 49AA: 30 18 1179 BMI B3 ; SI Y<5 (FLECHE HAUT) 49AC: C9 22 1180 CMP #$22 49AE: 10 1E 1181 BPL B4 ; SI Y>=34 (FLECHE BAS) 1182 ; 49B0: 4C D5 49 1183 JMP C ; OK ON CONTINUE 1184 ; 49B3: A9 21 1185 B1 LDA #$21 ; ON CHANGE X, ON GARDE Y 49B5: 85 18 1186 STA CX ; X=33 49B7: A9 01 1187 B0 LDA #$01 49B9: 20 2F 4A 1188 JSR MAP ; DETERMINE CARTE A CHARGER 49BC: 60 1189 RTS 1190 ; 49BD: A9 05 1191 B2 LDA #$05 ; ON CHANGE X, ON GARDE Y 49BF: 85 18 1192 STA CX 49C1: 4C B7 49 1193 JMP B0 1194 ; 49C4: A9 21 1195 B3 LDA #$21 ; ON GARDE X, ON CHANGE Y 49C6: 85 17 1196 STA CY 49C8: A9 00 1197 B00 LDA #$00 49CA: 20 2F 4A 1198 JSR MAP 49CD: 60 1199 RTS 1200 ; 49CE: A9 05 1201 B4 LDA #$05 ; ON GARDE X, ON CHANGE Y 49D0: 85 17 1202 STA CY 49D2: 4C C8 49 1203 JMP B00 1204 ; 1205 ; TRANSFERT XCOPIE->X ET YCOPIE->Y 49D5: A5 4C 1206 C LDA XCOPIE 49D7: 85 18 1207 STA CX 49D9: A5 4D 1208 LDA YCOPIE 49DB: 85 17 1209 STA CY 49DD: 20 00 40 1210 JSR GAME0 1211 ; 49E0: 2C 1212 TELEP? DFB $2C ; BIT 49E1: 13 4B 1213 DFB #TELE 1214 ; 49E3: 2C 1215 TRAP? DFB $2C ; BIT 49E4: 68 4B 1216 DFB #PIEGE 1217 ; 49E6: 4C 00 41 1218 JMP START 1219 ; 1220 ; 49E9: A5 4C 1221 RETABLIR LDA XCOPIE 49EB: 18 1222 CLC 49EC: 69 04 1223 ADC #$04 49EE: 85 4C 1224 STA XCOPIE 49F0: A5 4D 1225 LDA YCOPIE 49F2: 18 1226 CLC 49F3: 69 04 1227 ADC #$04 49F5: 85 4D 1228 STA YCOPIE 49F7: 60 1229 RTS 1230 ; 49F8: A5 4C 1231 ENLEVE LDA XCOPIE 49FA: 38 1232 SEC 49FB: E9 04 1233 SBC #$04 49FD: 85 4C 1234 STA XCOPIE 49FF: A5 4D 1235 LDA YCOPIE 4A01: 38 1236 SEC 4A02: E9 04 1237 SBC #$04 4A04: 85 4D 1238 STA YCOPIE 4A06: 20 5E 49 1239 JSR LDTERRIN 4A09: 60 1240 RTS 1241 ; 4A0A: 20 E9 49 1242 D JSR RETABLIR 4A0D: 4C 00 41 1243 JMP START 1244 ; 4A10: 8D 52 49 1245 E STA CMD 4A13: 20 E9 49 1246 JSR RETABLIR 4A16: 60 1247 RTS 1248 ; 1249 ; 1250 ; ENLEVE LE 100% DU MONSTRE 1251 ; 4A17: A0 00 1252 MNORMAL0 LDY #0 ; POUR LE CALL BASIC 4A19: AD 7F 44 1253 MNORMAL LDA b+1 4A1C: 8D 26 4A 1254 STA MNORMAL2+1 4A1F: AD 80 44 1255 LDA b+2 4A22: 8D 27 4A 1256 STA MNORMAL2+2 4A25: 8C FF FF 1257 MNORMAL2 STY $FFFF ; STY $???? 4A28: 60 1258 RTS 1259 ; 1260 ; 1261 ; REMISE A ZERO DU NOMBRE DE SPRITES EN MVT 1262 ; 4A29: A9 00 1263 RAZMVT LDA #0 4A2B: 8D 2F 1D 1264 STA SPMVT 4A2E: 60 1265 RTS 1266 ; 1267 ; 1268 ; DETERMINE LA CARTE A LOADER 1269 ; 4A2F: D0 19 1270 MAP BNE MAP1 1271 ; NORD OU SUD 4A31: AE 4F 49 1272 LDX NMAP 4A34: 8E 50 49 1273 STX OMAP ; LA NEW MAP DEVIENT OLD MAP 4A37: E0 03 1274 CPX #$03 4A39: 10 0A 1275 BPL MAP2 ; SI NO MAP>=3 (MAP=MAP-2) 1276 ; 4A3B: E8 1277 INX ; MAP=MAP+2 4A3C: E8 1278 INX 4A3D: 8E 4F 49 1279 MAP0 STX NMAP 4A40: A9 01 1280 LDA #$01 ; CHARGEMENT CARTE 4A42: 4C 10 4A 1281 JMP E 1282 ; 4A45: CA 1283 MAP2 DEX ; MAP=MAP-2 4A46: CA 1284 DEX 4A47: 4C 3D 4A 1285 JMP MAP0 1286 ; EST OU OUEST 4A4A: AE 4F 49 1287 MAP1 LDX NMAP 4A4D: 8E 50 49 1288 STX OMAP ; LA NEW MAP DEVIEN OLD MAP 4A50: E0 02 1289 CPX #$02 4A52: D0 04 1290 BNE MAP3 1291 ; MAP=MAP-1 4A54: CA 1292 MAP4 DEX 4A55: 4C 3D 4A 1293 JMP MAP0 1294 ; 4A58: E0 04 1295 MAP3 CPX #$04 4A5A: F0 F8 1296 BEQ MAP4 1297 ; 4A5C: E8 1298 INX 4A5D: 4C 3D 4A 1299 JMP MAP0 1300 ; 1301 ; LES COMMENTAIRES 1302 ; 1303 CETRE EQU $58B3 1304 COUIE EQU $58B4 1305 CSPECIAL EQU $58B5 1306 CSENTIR EQU $58B6 1307 NBPAS EQU $58B7 ; NOMBRE DE PASSAGERS 1308 TABLECOM EQU $58C7 ; DEBUT DES ADR DE DEBUT DES COMMENTAIRES 1309 ; 4A60: C9 8B 1310 COM CMP #$8B 4A62: 10 03 1311 BPL COM2 ; SI LIEU>=139 4A64: 4C 01 4B 1312 JMP TELEP0 4A67: C9 AA 1313 COM2 CMP #$AA 4A69: 30 03 1314 BMI COM3 ; SI LIEU<170 (DONC SI LIEU<=169) 4A6B: 4C 01 4B 1315 JMP TELEP0 1316 ; 1317 ; OK COMMENTAIRES 1318 ; 4A6E: 8D 54 49 1319 COM3 STA COPYLIEU ; SAUVEGARDE LIEU 4A71: A9 20 1320 LDA #$20 ; REMPLACE LE BIT PAR LE JSR 4A73: 8D 96 49 1321 STA COM? 4A76: 4C 84 49 1322 JMP B 1323 ; 1324 ; 4A79: A9 2C 1325 F LDA #$2C ; REMET LE BIT A LA PLACE DU JSR 4A7B: 8D 96 49 1326 STA COM? 4A7E: 20 FA 17 1327 JSR DECALAGE 1328 ; ON DETERMINE LE NUMERO DU COMMANTAIRE 4A81: AD 54 49 1329 LDA COPYLIEU 4A84: 38 1330 SEC 4A85: E9 8B 1331 SBC #$8B ; -139 ( LE 1ER COMMENTAIRE A LE NB:0) 4A87: 8D 54 49 1332 STA COPYLIEU 4A8A: 48 1333 PHA 1334 ; 1335 ; TESTS POUR DETERMINER LE DEBUT DU COM. 1336 ; 4A8B: CD B6 58 1337 CMP CSENTIR 4A8E: 30 25 1338 BMI TESTCOM2 ; SI SENTIR 1341 ; 1342 ; 1343 ; PRINTCOM 4A94: 20 3A DB 1344 TESTCOM0 JSR STROUT 4A97: 68 1345 PLA ; RECUPERE LE NO DU COMMENTAIRE 4A98: 18 1346 CLC 4A99: 0A 1347 ASL ; ON MULTIPLIE PAR 2 PR POINTER L'ADR 4A9A: 69 C7 1348 ADC #TABLECOM 4AA0: 69 00 1351 ADC #$00 4AA2: 85 3D 1352 STA $3D ; HIGH 1353 ; 4AA4: A0 00 1354 LDY #$00 4AA6: B1 3C 1355 LDA ($3C),Y ; CHARGE ADR LOW 4AA8: AA 1356 TAX 4AA9: C8 1357 INY 4AAA: B1 3C 1358 LDA ($3C),Y ; CHARGE ADR HIGH 4AAC: A8 1359 TAY 4AAD: 8A 1360 TXA ; RECUPERE ADR LOW 4AAE: 20 3A DB 1361 JSR STROUT 1362 ; 1363 ; SUITE DES COMMENTAIRES 4AB1: 20 D9 4A 1364 JSR VERIFPAS ; VERIFICATION SI PASSAGER 4AB4: 60 1365 RTS 1366 ; 4AB5: CD B5 58 1367 TESTCOM2 CMP CSPECIAL 4AB8: 10 DD 1368 BPL TESTCOM0+3 ; SI >=SPECIAL (ON SAUTE LE JSR STROUT) 1369 ; 4ABA: CD B4 58 1370 CMP COUIE 4ABD: 30 07 1371 BMI TESTCOM3 ; SI OUIE 4AC3: 4C 94 4A 1376 JMP TESTCOM0 1377 ; 4AC6: CD B3 58 1378 TESTCOM3 CMP CETRE 4AC9: 30 07 1379 BMI TESTCOM4 ; SI ETRE 4ACF: 4C 94 4A 1384 JMP TESTCOM0 1385 ; 1386 ; VOIR 4AD2: A9 85 1387 TESTCOM4 LDA #VOIR 4AD6: 4C 94 4A 1389 JMP TESTCOM0 1390 ; 1391 ; VERIFICATION S'IL Y A DES COM PASSAGERS 1392 ; 4AD9: 20 5E 49 1393 VERIFPAS JSR LDTERRIN 4ADC: 8E FE 4A 1394 STX d+1 ; RECUPERATION ADR LOW 4ADF: 8C FF 4A 1395 STY d+2 ; RECUPERATION ADR HIGH 1396 ; 4AE2: AD B7 58 1397 LDA NBPAS 4AE5: D0 01 1398 BNE PAS1 4AE7: 60 1399 FINPAS RTS ; PAS DE PASSAGERS 1400 ; 4AE8: A2 00 1401 PAS1 LDX #$00 4AEA: BD B8 58 1402 PAS2 LDA NBPAS+1,X ; NBPAS+1 = DEBUT DES PASSAGERS 4AED: CD 54 49 1403 CMP COPYLIEU 4AF0: F0 09 1404 BEQ PAS3 1405 ; CE N'EST PAS UN PASSAGER. SUIVANT? 4AF2: EC B7 58 1406 CPX NBPAS 4AF5: F0 F0 1407 BEQ FINPAS 4AF7: E8 1408 INX 4AF8: 4C EA 4A 1409 JMP PAS2 ; NEXT 1410 ; 1411 ; SI C'EST UN PASSAGER ON POKE 0 4AFB: A9 00 1412 PAS3 LDA #$00 4AFD: 8D FF FF 1413 d STA $FFFF ; STA $???? 4B00: 60 1414 RTS 1415 ; 1416 ; TELEPORTATION 1417 ; 4B01: C9 CE 1418 TELEP0 CMP #206 4B03: D0 2F 1419 BNE TEL2 4B05: A9 09 1420 LDA #9 ; NOUVELLES VALEURS DE CY,CX 4B07: 48 1421 PHA 4B08: A9 15 1422 LDA #21 4B0A: 48 1423 PHA 4B0B: A9 4C 1424 TELE00 LDA #$4C ; JMP 4B0D: 8D E0 49 1425 STA TELEP? 4B10: 4C 84 49 1426 JMP B 1427 ; 4B13: A9 2C 1428 TELE LDA #$2C ; RETABLI LE BIT 4B15: 8D E0 49 1429 STA TELEP? 4B18: 20 FA 17 1430 JSR DECALAGE 4B1B: A9 C6 1431 LDA #TELEPORT 4B1F: 20 3A DB 1433 JSR STROUT ; AFFICHE FRANCHISSEMENT 4B22: 20 41 4B 1434 JSR SONTEL 4B25: 68 1435 PLA ; RECUPERE NOUVELLES COORDONNEES 4B26: 85 18 1436 STA CX 4B28: 68 1437 PLA 4B29: 85 17 1438 STA CY 4B2B: 20 00 40 1439 JSR GAME0 4B2E: 20 41 4B 1440 JSR SONTEL 4B31: 4C 00 41 1441 JMP START 1442 ; 4B34: C9 CF 1443 TEL2 CMP #207 4B36: D0 17 1444 BNE PIEGER 4B38: A9 06 1445 LDA #6 ; NOUVELLES VALEURS DE CY,CX 4B3A: 48 1446 PHA 4B3B: A9 10 1447 LDA #16 4B3D: 48 1448 PHA 4B3E: 4C 0B 4B 1449 JMP TELE00 1450 ; 1451 ; 4B41: A9 C8 1452 SONTEL LDA #200 ; SON TELEPORTATION (&SOUND200,10) 4B43: 8D 31 1A 1453 STA AD1 4B46: A9 14 1454 LDA #20 4B48: 8D 33 1A 1455 STA AD3 4B4B: 4C CF 19 1456 JMP SOUNDD 4B4E: 60 1457 RTS 1458 ; 1459 ; 4B4F: A8 1460 PIEGER TAY ; SAUVE ACC 4B50: 29 7F 1461 AND #$7F ; -$80 4B52: C9 3E 1462 CMP #62 4B54: 30 1C 1463 BMI PORTECLE 4B56: C9 44 1464 CMP #68 4B58: 10 18 1465 BPL PORTECLE 1466 ; ON TOMBE DANS UN PIEGE 4B5A: 38 1467 SEC 4B5B: E9 3D 1468 SBC #61 ; RECUPERE LE NUMERO DU PIEGE 4B5D: 8D 5D 49 1469 STA DIVERS 4B60: A9 4C 1470 LDA #$4C ; JMP 4B62: 8D E3 49 1471 STA TRAP? 4B65: 4C 84 49 1472 JMP B 1473 ; 1474 ; POINT D'ARRIVEE DE PIEGE 1475 ; 4B68: A9 2C 1476 PIEGE LDA #$2C 4B6A: 8D E3 49 1477 STA TRAP? ; RETABLIT LE BIT 4B6D: A9 0D 1478 LDA #13 ; CMD=PIEGE 4B6F: 4C 38 43 1479 JMP GOBASIC 1480 ; 1481 ; 1482 ; PORTE MATRIARCHE FERMEE A CLEF 1483 ; 4B72: 98 1484 PORTECLE TYA 4B73: C9 BD 1485 CMP #189 4B75: D0 10 1486 BNE AUTRLIEU 4B77: A9 0E 1487 LDA #14 4B79: 4C 38 43 1488 JMP GOBASIC 1489 ; 4B7C: C6 17 1490 OPENDOOR DEC CY ; ON PASSE PAR LA PORTE 4B7E: 20 00 40 1491 JSR GAME0 4B81: A0 00 1492 REMPLAS0 LDY #0 4B83: 20 19 4A 1493 JSR MNORMAL 4B86: 60 1494 RTS 1495 ; 1496 ; 1497 ; 4B87: 4C 84 49 1498 AUTRLIEU JMP B ; 1499 ; 1500 ; 1501 ; 1502 * ECRIT UN NOUVEAU SPRITE SUR LA CARTE1 A 1503 * L'ENDROIT OU ON EST 1504 ; 4B8A: 48 1505 ICISPRIT PHA ; MET DE COTE LA VALEUR A POKER 4B8B: 20 E0 40 1506 JSR CALCOU? 4B8E: 8E 96 4B 1507 STX ICISP2+1 4B91: 8C 97 4B 1508 STY ICISP2+2 4B94: 68 1509 PLA ; RECUPERE LA VALEUR 4B95: 8D FF FF 1510 ICISP2 STA $FFFF ; STA $???? 4B98: 20 81 4B 1511 JSR REMPLAS0 ; ET ON POKE 0 SUR CARTE2 4B9B: 60 1512 RTS 1513 ; 1514 SAV GAME Object saved as GAME,A$4000,L$0B9C --End assembly, 2972 bytes, Errors: 0 Symbol table - alphabetical order: A1 =$4486 A10 =$45B2 A2 =$44A6 A3 =$44AD A4 =$44B4 A5 =$44E1 A6 =$44DD A7 =$44EA A8 =$44F2 A9 =$44FD AA =$447B ABORD =$48D9 AD1 =$1A31 AD3 =$1A33 ADROITE =$4544 AFFIC1 =$4023 AFFIC2 =$4027 AFFIC3 =$4067 AFF_SP =$4548 AFF_SP0 =$452D ANNEX1 =$44C1 ANNEX2 =$44C9 ARAIGNEE =$46E6 AUTRLIEU =$4B87 B =$4984 B0 =$49B7 B00 =$49C8 B1 =$49B3 B2 =$49BD B3 =$49C4 B4 =$49CE BALROG =$46BD BANDIT =$46C7 BARBARE =$46D1 BATEAU =$425F BATEAU2 =$4287 BATEAU? =$42A5 BATEAUP =$42A8 BATEAUP2 =$42BB BATEAUP3 =$42C6 BROUILL =$4099 C =$49D5 CALCOU? =$40E0 CALENLAD =$481C CARTE1 =$52C2 CARTE2 =$4F00 CBROUIL =$40BB CBT1 =$540E CBT2 =$5410 CCOMB =$450D CETRE =$58B3 CH =$24 CHAMANE =$463C CHERCHE2 =$421E CHERCHE3 =$422B CHERCHE4 =$4238 CHERCHE? =$4244 CHERCHER =$41EF CLASSE =$405B CLEF =$491F CMD =$4952 COFFRE =$48CA ? COFFRVID =$42F7 COM =$4A60 COM2 =$4A67 COM3 =$4A6E COM? =$4996 COMPX =$08 COMPY =$19 COPYLIEU =$4954 COUIE =$58B4 CPTMUS =$19AD CSENTIR =$58B6 CSPECIAL =$58B5 CV =$25 CX =$18 CY =$17 CYCLOPE =$45D3 D =$4A0A DANS =$480E DECALAGE =$17FA DEMON =$468E DIABLE =$4660 DIVERS =$495D DJN =$4815 DONJON1 =$4857 DONJON2 =$4866 DONJON3 =$4873 E =$4A10 ECHORKEL =$483A EMBARK =$48D1 ENBAS =$4530 ENLEVE =$49F8 ? ENLEVOBJ =$424E ENTRE =$47F6 ENTRE0 =$4359 ENTRER =$433F ENTRER1 =$4365 ENTRER2 =$4378 ENTRER3 =$438B ENTRER4 =$439E ENTRER5 =$43B5 ENTRER6 =$43CC ENTRER7 =$43E3 ENTRER8 =$43F1 EQUIP =$48B7 EQUIPER =$42FC EST =$475A ETRE =$4791 ETTIN =$45DE F =$4A79 FAMILIER =$467A FCHERCHE =$423F FINCADRE =$4098 FINPAS =$4AE7 FIN_MVT =$4042 FLAG? =$495B FLGOK =$44CE FLGOK2 =$44DC GAME0 =$4000 GARDEPAS =$413E GOBASIC =$4338 GOLEM =$46AC GONDARNO =$4849 HARPIE =$45F5 HEREIS =$4462 HEREIS2 =$4473 HORIZ =$4535 ICISP2 =$4B95 ICISPRIT =$4B8A IMPOSS =$476D INVEN =$48A0 INVENTOR =$432C JETER =$4308 JETTE =$48AB KEDAL =$48FD KOBOLD =$4612 LDTERRIN =$495E LIEU =$4953 MAGE =$4658 MAIN0 =$415D MAIN00 =$4185 MAIN1 =$4166 MAIN10 =$41C9 MAIN11 =$41D0 MAIN12 =$41D7 MAIN13 =$41DE MAIN14 =$41E5 MAIN2 =$4177 MAIN3 =$418E MAIN4 =$419F MAIN5 =$41A6 MAIN6 =$41AD MAIN7 =$41B4 MAIN8 =$41BB MAIN9 =$41C2 MAIN? =$41EC MANTICOR =$45E7 MAP =$4A2F MAP0 =$4A3D MAP1 =$4A4A MAP2 =$4A45 MAP3 =$4A58 MAP4 =$4A54 MARCHAND =$46F3 MATRIARC =$462E MBUTE =$495C MCOMBAT =$470D MDANS =$43FB MERCENAI =$46FF MNORMAL =$4A19 ? MNORMAL0 =$4A17 MNORMAL2 =$4A25 MONSTRE =$4951 MTABLE =$471E MULT =$1B1B MURYADEN =$4935 MUSICD =$1992 MVT1 =$4036 MVT2 =$403D MVTSTAT =$40CC NATURE =$494E NBPAS =$58B7 NECROMAN =$466D NEXTL =$4070 NMAP =$494F ? NOISED =$1A3D NORD =$4764 NORM =$40A4 NORM2 =$40AE OBJET =$4891 OGRE =$4650 OKBROUIL =$409C OMAP =$4950 OPEN =$48C2 ? OPENDOOR =$4B7C ORQUE =$4609 OU =$4800 OUEST =$475E OUIE =$47AA OUTDO =$DB5C OUVRE? =$42F4 OUVRIR =$42CC PACENTRE =$4063 PADONJON =$40BA PAS1 =$4AE8 PAS2 =$4AEA PAS3 =$4AFB PCOMB =$495A PIEGE =$4B68 PIEGER =$4B4F PORTECLE =$4B72 POSITION =$FC22 POURCENT =$4956 PRETRE =$46DC PRINCESS =$4941 PROBA =$4955 QUIT =$4403 QUIT0 =$441C QUIT2 =$4434 QUIT3 =$4446 QUIT4 =$4458 QUITTER =$477C QUOI =$4807 RAT =$4627 RAZMVT =$4A29 RDKEY =$FD0C REMPLAS0 =$4B81 RETABLIR =$49E9 SAURE =$4600 SAUVEJEU =$4253 SAVEGAME =$48E0 SCROLL =$4928 SEEK =$48ED SENTIR =$47B9 SERPENT =$461C SONTEL =$4B41 SORT =$4320 SOUNDCB =$456C SOUNDD =$19CF SPCOMBAT =$45B5 SPECTRE =$4697 SPELL =$4882 SPM =$1D33 SPMVT =$1D2F SPMX =$1D97 SPMY =$1DFB SPRITED =$1AB6 START =$4100 START2 =$4144 STROUT =$DB3A SUD =$4769 TABLECOM =$58C7 TEL2 =$4B34 TELE =$4B13 TELE00 =$4B0B TELEP0 =$4B01 TELEP? =$49E0 TELEPORT =$47C6 TESTCOM0 =$4A94 TESTCOM2 =$4AB5 TESTCOM3 =$4AC6 TESTCOM4 =$4AD2 TESTPOS =$40BE TESTPOS2 =$40C4 TESTPOS3 =$40CA TOLAINOR =$482B TRAP? =$49E3 TROLL =$4647 TROUVE =$490E UTILISER =$4314 VERIFPAS =$4AD9 VOIR =$4785 WAIT =$FCA8 WAITKEY =$414C WINDPOS =$45AA WYRM =$46B5 X =$09 X0 =$4029 X0COP =$40B7 XCOPIE =$4C XORN =$4686 Y =$1A YCOPIE =$4D ZOMBIE =$46A2 b =$447E d =$4AFD Symbol table - numerical order: COMPX =$08 X =$09 CY =$17 CX =$18 COMPY =$19 Y =$1A CH =$24 CV =$25 XCOPIE =$4C YCOPIE =$4D DECALAGE =$17FA MUSICD =$1992 CPTMUS =$19AD SOUNDD =$19CF AD1 =$1A31 AD3 =$1A33 ? NOISED =$1A3D SPRITED =$1AB6 MULT =$1B1B SPMVT =$1D2F SPM =$1D33 SPMX =$1D97 SPMY =$1DFB GAME0 =$4000 AFFIC1 =$4023 AFFIC2 =$4027 X0 =$4029 MVT1 =$4036 MVT2 =$403D FIN_MVT =$4042 CLASSE =$405B PACENTRE =$4063 AFFIC3 =$4067 NEXTL =$4070 FINCADRE =$4098 BROUILL =$4099 OKBROUIL =$409C NORM =$40A4 NORM2 =$40AE X0COP =$40B7 PADONJON =$40BA CBROUIL =$40BB TESTPOS =$40BE TESTPOS2 =$40C4 TESTPOS3 =$40CA MVTSTAT =$40CC CALCOU? =$40E0 START =$4100 GARDEPAS =$413E START2 =$4144 WAITKEY =$414C MAIN0 =$415D MAIN1 =$4166 MAIN2 =$4177 MAIN00 =$4185 MAIN3 =$418E MAIN4 =$419F MAIN5 =$41A6 MAIN6 =$41AD MAIN7 =$41B4 MAIN8 =$41BB MAIN9 =$41C2 MAIN10 =$41C9 MAIN11 =$41D0 MAIN12 =$41D7 MAIN13 =$41DE MAIN14 =$41E5 MAIN? =$41EC CHERCHER =$41EF CHERCHE2 =$421E CHERCHE3 =$422B CHERCHE4 =$4238 FCHERCHE =$423F CHERCHE? =$4244 ? ENLEVOBJ =$424E SAUVEJEU =$4253 BATEAU =$425F BATEAU2 =$4287 BATEAU? =$42A5 BATEAUP =$42A8 BATEAUP2 =$42BB BATEAUP3 =$42C6 OUVRIR =$42CC OUVRE? =$42F4 ? COFFRVID =$42F7 EQUIPER =$42FC JETER =$4308 UTILISER =$4314 SORT =$4320 INVENTOR =$432C GOBASIC =$4338 ENTRER =$433F ENTRE0 =$4359 ENTRER1 =$4365 ENTRER2 =$4378 ENTRER3 =$438B ENTRER4 =$439E ENTRER5 =$43B5 ENTRER6 =$43CC ENTRER7 =$43E3 ENTRER8 =$43F1 MDANS =$43FB QUIT =$4403 QUIT0 =$441C QUIT2 =$4434 QUIT3 =$4446 QUIT4 =$4458 HEREIS =$4462 HEREIS2 =$4473 AA =$447B b =$447E A1 =$4486 A2 =$44A6 A3 =$44AD A4 =$44B4 ANNEX1 =$44C1 ANNEX2 =$44C9 FLGOK =$44CE FLGOK2 =$44DC A6 =$44DD A5 =$44E1 A7 =$44EA A8 =$44F2 A9 =$44FD CCOMB =$450D AFF_SP0 =$452D ENBAS =$4530 HORIZ =$4535 ADROITE =$4544 AFF_SP =$4548 SOUNDCB =$456C WINDPOS =$45AA A10 =$45B2 SPCOMBAT =$45B5 CYCLOPE =$45D3 ETTIN =$45DE MANTICOR =$45E7 HARPIE =$45F5 SAURE =$4600 ORQUE =$4609 KOBOLD =$4612 SERPENT =$461C RAT =$4627 MATRIARC =$462E CHAMANE =$463C TROLL =$4647 OGRE =$4650 MAGE =$4658 DIABLE =$4660 NECROMAN =$466D FAMILIER =$467A XORN =$4686 DEMON =$468E SPECTRE =$4697 ZOMBIE =$46A2 GOLEM =$46AC WYRM =$46B5 BALROG =$46BD BANDIT =$46C7 BARBARE =$46D1 PRETRE =$46DC ARAIGNEE =$46E6 MARCHAND =$46F3 MERCENAI =$46FF MCOMBAT =$470D MTABLE =$471E EST =$475A OUEST =$475E NORD =$4764 SUD =$4769 IMPOSS =$476D QUITTER =$477C VOIR =$4785 ETRE =$4791 OUIE =$47AA SENTIR =$47B9 TELEPORT =$47C6 ENTRE =$47F6 OU =$4800 QUOI =$4807 DANS =$480E DJN =$4815 CALENLAD =$481C TOLAINOR =$482B ECHORKEL =$483A GONDARNO =$4849 DONJON1 =$4857 DONJON2 =$4866 DONJON3 =$4873 SPELL =$4882 OBJET =$4891 INVEN =$48A0 JETTE =$48AB EQUIP =$48B7 OPEN =$48C2 COFFRE =$48CA EMBARK =$48D1 ABORD =$48D9 SAVEGAME =$48E0 SEEK =$48ED KEDAL =$48FD TROUVE =$490E CLEF =$491F SCROLL =$4928 MURYADEN =$4935 PRINCESS =$4941 NATURE =$494E NMAP =$494F OMAP =$4950 MONSTRE =$4951 CMD =$4952 LIEU =$4953 COPYLIEU =$4954 PROBA =$4955 POURCENT =$4956 PCOMB =$495A FLAG? =$495B MBUTE =$495C DIVERS =$495D LDTERRIN =$495E B =$4984 COM? =$4996 B1 =$49B3 B0 =$49B7 B2 =$49BD B3 =$49C4 B00 =$49C8 B4 =$49CE C =$49D5 TELEP? =$49E0 TRAP? =$49E3 RETABLIR =$49E9 ENLEVE =$49F8 D =$4A0A E =$4A10 ? MNORMAL0 =$4A17 MNORMAL =$4A19 MNORMAL2 =$4A25 RAZMVT =$4A29 MAP =$4A2F MAP0 =$4A3D MAP2 =$4A45 MAP1 =$4A4A MAP4 =$4A54 MAP3 =$4A58 COM =$4A60 COM2 =$4A67 COM3 =$4A6E F =$4A79 TESTCOM0 =$4A94 TESTCOM2 =$4AB5 TESTCOM3 =$4AC6 TESTCOM4 =$4AD2 VERIFPAS =$4AD9 FINPAS =$4AE7 PAS1 =$4AE8 PAS2 =$4AEA PAS3 =$4AFB d =$4AFD TELEP0 =$4B01 TELE00 =$4B0B TELE =$4B13 TEL2 =$4B34 SONTEL =$4B41 PIEGER =$4B4F PIEGE =$4B68 PORTECLE =$4B72 ? OPENDOOR =$4B7C REMPLAS0 =$4B81 AUTRLIEU =$4B87 ICISPRIT =$4B8A ICISP2 =$4B95 CARTE2 =$4F00 CARTE1 =$52C2 CBT1 =$540E CBT2 =$5410 CETRE =$58B3 COUIE =$58B4 CSPECIAL =$58B5 CSENTIR =$58B6 NBPAS =$58B7 TABLECOM =$58C7 STROUT =$DB3A OUTDO =$DB5C POSITION =$FC22 WAIT =$FCA8 RDKEY =$FD0C