mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-06 01:31:57 +00:00
1408 lines
18 KiB
NASM
1408 lines
18 KiB
NASM
*
|
|
* Bill Palmer
|
|
*
|
|
|
|
lessalles
|
|
da s00,s01,s02,s03,s04,s05,s06,s07,s08,s09
|
|
da s10,s11,s12,s13,s14,s15,s16,s17,s18,s19
|
|
da s20,s21,s22,s23,s24,s25,s26,s27,s28,s29
|
|
da s30,s31,s32,s33,s34,s35,s36,s37,s38,s39
|
|
da s40,s41,s42,s43,s44,s45,s46,s47,s48,s49
|
|
da s50,s51,s52,s53,s54,s55,s56
|
|
|
|
*---
|
|
|
|
s00
|
|
rts
|
|
|
|
*---
|
|
|
|
s01
|
|
lda instruction1
|
|
cmp #main
|
|
bne s0199
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s012
|
|
|
|
ldx #laitue
|
|
lda #s1_str1
|
|
jmp apparition_objet
|
|
|
|
s012 cmp #2
|
|
bne s013
|
|
|
|
ldx #journal
|
|
lda #s1_str2
|
|
jmp apparition_objet
|
|
|
|
s013 cmp #4
|
|
bne s0199
|
|
|
|
lda #2
|
|
sta salle
|
|
|
|
s0199 rts
|
|
|
|
s1_str1 str 'Bill collects a not very fresh lettuce'
|
|
s1_str2 str 'Here, the newspaper of the day has arrived'
|
|
|
|
*---
|
|
|
|
s02
|
|
lda instruction1
|
|
cmp #main
|
|
bne s0299
|
|
lda zone_cliquee
|
|
cmp #3
|
|
bne s022
|
|
|
|
ldx #livre
|
|
lda #s2_str3
|
|
jmp apparition_objet
|
|
|
|
s022 cmp #2
|
|
bne s0299
|
|
|
|
ldx #carte_de_credit
|
|
lda #s2_str2
|
|
jmp apparition_objet
|
|
|
|
s0299 rts
|
|
|
|
s2_str3 str 'Bill notices an old manual'
|
|
s2_str2 str 'By crikey! The credit card Bill thought he lost forever'
|
|
|
|
*---
|
|
|
|
s03
|
|
lda instruction1
|
|
cmp #main
|
|
bne s0399
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s032
|
|
|
|
ldx #machette
|
|
lda #strVIDE
|
|
jsr apparition_objet
|
|
ldx #souris_mecanique
|
|
lda #strVIDE
|
|
jsr apparition_objet
|
|
ldx #carte_didentite
|
|
lda #strVIDE
|
|
jsr apparition_objet
|
|
ldx #boite_de_conserve
|
|
lda #strVIDE
|
|
jsr apparition_objet
|
|
ldx #ouvre_boite
|
|
lda #strVIDE
|
|
jmp apparition_objet
|
|
|
|
s032 cmp #2
|
|
bne s0399
|
|
|
|
ldx #passeport
|
|
lda #s3_str2
|
|
jmp apparition_objet
|
|
|
|
s0399 rts
|
|
|
|
s3_str2 str 'Damn! The passport that Bill in his heroic disorganization had lost after a stay in South Africa ...'
|
|
|
|
*---
|
|
|
|
s04
|
|
lda instruction1
|
|
cmp #main
|
|
bne s0499
|
|
lda zone_cliquee
|
|
cmp #3
|
|
bne s0499
|
|
|
|
lda #5
|
|
sta salle
|
|
s0499 rts
|
|
|
|
*---
|
|
|
|
s05
|
|
lda instruction1
|
|
cmp #oeil
|
|
bne s0599
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s0599
|
|
|
|
ldx #bombe
|
|
lda #s5_str1
|
|
jmp apparition_objet
|
|
|
|
s0599 rts
|
|
|
|
s5_str1 str 'Gently exploring the recesses of the vehicle'27's engine, Bill notices a curious device visibly placed there for hostile purposes.'
|
|
|
|
*---
|
|
|
|
s06
|
|
lda instruction1
|
|
cmp #main
|
|
bne s0699
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s063
|
|
|
|
ldx #bombe
|
|
lda objet-1,x
|
|
and #$ff
|
|
cmp #objet_inexistant
|
|
bne s062
|
|
|
|
lda #s6_str1
|
|
jmp fin
|
|
|
|
s062 lda #s6_str2
|
|
jsr ecriture
|
|
lda #7
|
|
sta salle
|
|
rts
|
|
|
|
s063 cmp #3
|
|
bne s0699
|
|
|
|
ldx #briquet
|
|
lda #s6_str3
|
|
jmp apparition_objet
|
|
|
|
s0699 rts
|
|
|
|
s6_str1 str 'Baaaaooooouuuuummmmm!!!!!! Without Bill having had time to react, the car explodes into a thousand pieces. Fail so close to the goal...'
|
|
s6_str2 str 'The car starts...'
|
|
s6_str3 str 'A brick was lying around there...'
|
|
*---
|
|
|
|
s07
|
|
s0799 rts
|
|
|
|
*---
|
|
|
|
s08
|
|
s0899 rts
|
|
|
|
*---
|
|
|
|
s09
|
|
lda instruction1
|
|
cmp #main
|
|
bne s0999
|
|
lda instruction2
|
|
cmp #carte_de_credit
|
|
bne s0901
|
|
|
|
ldx #billet_davion
|
|
lda #s9_str1
|
|
jmp apparition_objet
|
|
|
|
s0901 cmp #billet_davion
|
|
bne s0999
|
|
|
|
lda #10
|
|
sta salle
|
|
|
|
s0999 rts
|
|
|
|
s9_str1 str 'The hostess gives Bill his ticket to N'27'Gwanal'8e'l'8e
|
|
|
|
*---
|
|
|
|
s10
|
|
lda instruction1
|
|
cmp #droite
|
|
bne s1001
|
|
|
|
lda #s10_str1
|
|
jmp ecriture
|
|
|
|
s1001 cmp #main
|
|
bne s1099
|
|
lda instruction2
|
|
cmp #passeport
|
|
bne s1099
|
|
|
|
lda #11
|
|
sta salle
|
|
lda #s10_str2
|
|
jmp ecriture
|
|
|
|
s1099 rts
|
|
|
|
s10_str1 str 'We do not pass!'
|
|
s10_str2 str 'It is in order, you can pass!'
|
|
|
|
*---
|
|
|
|
s11
|
|
s1199 rts
|
|
|
|
*---
|
|
|
|
s12
|
|
s1299 rts
|
|
|
|
*---
|
|
|
|
s13
|
|
lda instruction1
|
|
cmp #main
|
|
bne s1399
|
|
lda zone_cliquee
|
|
cmp #3
|
|
bne s1399
|
|
|
|
lda #s13_str3
|
|
jmp fin
|
|
|
|
s1399 rts
|
|
|
|
s13_str3 str 'Stones can hide a lot of animals. And snakes are often very dangerous...'
|
|
|
|
*---
|
|
|
|
s14
|
|
s1499 rts
|
|
|
|
*---
|
|
|
|
s15
|
|
lda instruction1
|
|
cmp #main
|
|
bne s1599
|
|
lda instruction2
|
|
cmp #carte_de_credit
|
|
bne s1501
|
|
|
|
lda #s15_str1
|
|
jmp ecriture
|
|
|
|
s1501 cmp #livre
|
|
bne s1502
|
|
|
|
ldx #livre
|
|
lda #s15_str2
|
|
jsr disparition_objet
|
|
sep #$20
|
|
ldx #livre_donne
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
s1502 lda instruction2
|
|
cmp #laitue
|
|
bne s1599
|
|
|
|
ldx #livre_donne
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
beq s1503 ; FALSE
|
|
|
|
lda #17
|
|
sta salle
|
|
|
|
ldx #laitue
|
|
lda #s15_str3
|
|
jmp disparition_objet
|
|
|
|
s1503
|
|
lda #s15_str4
|
|
jmp ecriture
|
|
|
|
s1599 rts
|
|
|
|
s15_str1 str 'What is that? You don'27't pay it like that...'
|
|
s15_str2 str 'You'27're a real adventurer then !! I keep the book there for you and you go with the dromedary!'
|
|
s15_str3 str 'The dromedary swallows the lettuce and bends down so that Bill goes on his back.'
|
|
s15_str4 str 'The man refuses to let Bill feed the dromaderies'
|
|
|
|
*---
|
|
|
|
s16
|
|
sep #$20
|
|
ldx #bill_desert
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s1601
|
|
inc indicateur-1,x
|
|
s1601 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #4
|
|
bne s1699
|
|
|
|
lda #s16_str1
|
|
jmp fin
|
|
s1699 rts
|
|
|
|
s16_str1 str 'Without safe and fast transportation, Bill soon dies exhausted'
|
|
|
|
*--- Was protection check
|
|
|
|
s17
|
|
s1799 rts
|
|
|
|
*---
|
|
|
|
s18
|
|
s1899 rts
|
|
|
|
*---
|
|
|
|
s19
|
|
lda instruction1
|
|
cmp #main
|
|
bne s1999
|
|
lda instruction2
|
|
cmp #carte_de_credit
|
|
bne s1902
|
|
|
|
lda #s19_str1
|
|
jmp ecriture
|
|
|
|
s1902 cmp #machette
|
|
bne s1999
|
|
|
|
lda #s19_str2
|
|
jmp ecriture
|
|
|
|
s1999 rts
|
|
|
|
s19_str1 str 'Credit cards are not accepted. Bill'27's gonna have to take the train without a ticket.'
|
|
s19_str2 str 'We do not play proudly in my station. The man goes back to sleep...'
|
|
|
|
*---
|
|
|
|
s20
|
|
lda instruction1
|
|
cmp #main
|
|
bne s2099
|
|
lda zone_cliquee
|
|
cmp #4
|
|
bne s2001
|
|
|
|
lda #s20_str4
|
|
jsr ecriture
|
|
|
|
sep #$20
|
|
ldx #train_arrete
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
s2001 lda zone_cliquee
|
|
cmp #5
|
|
bne s2003
|
|
|
|
ldx #train_arrete
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
beq s2002
|
|
|
|
lda #22
|
|
sta salle
|
|
bra s2003
|
|
|
|
s2002 lda #23
|
|
sta salle
|
|
|
|
s2003 sep #$20
|
|
ldx #controleur_passe
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s2004
|
|
inc indicateur-1,x
|
|
s2004 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #8
|
|
bcc s2099
|
|
|
|
lda #s20_str3
|
|
jmp fin
|
|
|
|
s2099 rts
|
|
|
|
s20_str4 str 'The train is stopped'
|
|
s20_str3 str 'The controller comes and stops Bill, who has no ticket.'
|
|
|
|
*---
|
|
|
|
s21
|
|
s2199 rts
|
|
|
|
*---
|
|
|
|
s22
|
|
s2299 rts
|
|
|
|
*---
|
|
|
|
s23
|
|
lda instruction1
|
|
cmp #main
|
|
bne s2399
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s2399
|
|
|
|
lda #s23_str1
|
|
jmp fin
|
|
|
|
s2399 rts
|
|
|
|
s23_str1 str 'The stone hid a scorpion. And scorpions hate to be disturbed... Bad plan.'
|
|
|
|
*---
|
|
|
|
s24
|
|
s2499 rts
|
|
|
|
*---
|
|
|
|
s25
|
|
sep #$20
|
|
ldx #elephant_arrive
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s2500
|
|
inc indicateur-1,x
|
|
s2500 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #6
|
|
bcc s2501
|
|
|
|
lda #s25_str1
|
|
jmp fin
|
|
|
|
s2501 lda instruction1
|
|
cmp #main
|
|
bne s2599
|
|
lda instruction2
|
|
cmp #souris_mecanique
|
|
bne s2599
|
|
|
|
lda #s25_str2
|
|
jsr ecriture
|
|
|
|
sep #$20
|
|
ldx #elephant_enfuis
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
lda #26
|
|
sta salle
|
|
|
|
s2599 rts
|
|
|
|
s25_str1 str 'Bill is rolled, squashed and atomized by the raving mammal'
|
|
s25_str2 str 'Frightened by the machine, the animal takes its legs to its neck and flees'
|
|
|
|
*---
|
|
|
|
s26
|
|
lda instruction1
|
|
cmp #main
|
|
bne s2699
|
|
lda instruction2
|
|
cmp #machette
|
|
bne s2699
|
|
|
|
ldx #brindilles
|
|
lda #s26_str1
|
|
jmp apparition_objet
|
|
|
|
s2699 rts
|
|
|
|
s26_str1 str 'Bill manages to cut some twigs'
|
|
|
|
*---
|
|
|
|
s27
|
|
lda instruction1
|
|
cmp #main
|
|
bne s2799
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s2701
|
|
|
|
lda #30
|
|
sta salle
|
|
|
|
s2701 cmp #3
|
|
bne s2799
|
|
|
|
ldx #photo
|
|
lda #s27_str3
|
|
jmp apparition_objet
|
|
|
|
s2799 rts
|
|
|
|
s27_str3 str 'While searching it, Bill discovers a photograph'
|
|
|
|
*---
|
|
|
|
s28
|
|
lda instruction1
|
|
cmp #main
|
|
bne s2899
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s2899
|
|
|
|
lda #s28_str1
|
|
jsr ecriture
|
|
|
|
lda #29
|
|
sta salle
|
|
|
|
s2899 rts
|
|
|
|
s28_str1 str 'Bill starts to climb the hill'
|
|
|
|
*---
|
|
|
|
s29
|
|
sep #$20
|
|
ldx #mechant
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s2901
|
|
inc indicateur-1,x
|
|
s2901 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #4
|
|
bcc s2999
|
|
|
|
lda #s29_str1
|
|
jmp fin
|
|
s2999 rts
|
|
|
|
s29_str1 str 'The dastardly fellow strangles Bill with his knife'
|
|
|
|
*---
|
|
|
|
s30
|
|
lda instruction1
|
|
cmp #main
|
|
bne s3099
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s3099
|
|
|
|
lda #s30_str2
|
|
jmp fin
|
|
|
|
s3099 rts
|
|
|
|
s30_str2 str 'Bad luck, the tuft of grass breaks off the rock and Bill falls into the void'
|
|
|
|
*---
|
|
|
|
s31
|
|
s3199 rts
|
|
|
|
*---
|
|
|
|
s32
|
|
sep #$20
|
|
ldx #mechant
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s3200
|
|
inc indicateur-1,x
|
|
s3200 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #8
|
|
bcc s3201
|
|
|
|
lda #s32_str8
|
|
jmp fin
|
|
|
|
s3201 lda instruction1
|
|
cmp #main
|
|
bne s3299
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s3299
|
|
|
|
lda #s32_str1
|
|
jsr ecriture
|
|
|
|
sep #$20
|
|
ldx #mechant_assome
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
lda #31
|
|
sta salle
|
|
s3299 rts
|
|
|
|
s32_str8 str 'The Professor'27's henchman catches up with Bill. It'27's over...'
|
|
s32_str1 str 'Bill knocks the stone back into the void. She knocks out the villain who followed him'
|
|
|
|
*---
|
|
|
|
s33
|
|
ldx #photo_montree
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
bne s3301
|
|
|
|
sep #$20
|
|
ldx #camera_mort
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s3300
|
|
inc indicateur-1,x
|
|
s3300 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #8
|
|
bcc s3301
|
|
|
|
lda #s33_str1
|
|
jmp fin
|
|
|
|
s3301 lda instruction1
|
|
cmp #main
|
|
bne s3399
|
|
lda instruction2
|
|
cmp #photo
|
|
bne s3399
|
|
|
|
lda #s33_str2
|
|
jsr ecriture
|
|
|
|
sep #$20
|
|
ldx #photo_montree
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
s3399 rts
|
|
|
|
s33_str1 str 'Suddenly a ray pulverizes Bill (gniark gniark!)'
|
|
s33_str2 str 'Bill shows the photo to the camera which seems to react'
|
|
|
|
*---
|
|
|
|
s34
|
|
lda instruction1
|
|
cmp #main
|
|
bne s3499
|
|
lda instruction2
|
|
cmp #briquet
|
|
bne s3402
|
|
|
|
ldx #brindilles
|
|
lda objet-1,x
|
|
and #$ff
|
|
* cmp #34 ; LOGO - original code
|
|
cmp #objet_pris
|
|
bne s3401
|
|
|
|
ldx #brindilles
|
|
lda #s34_str2
|
|
jsr disparition_objet
|
|
|
|
sep #$20
|
|
ldx #feu_allume
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
lda #35
|
|
sta salle
|
|
rts
|
|
|
|
s3401 lda #s34_str2
|
|
jmp ecriture
|
|
|
|
s3402 cmp #brindilles
|
|
bne s3499
|
|
|
|
lda #s34_str3
|
|
jmp ecriture
|
|
|
|
s3499 rts
|
|
|
|
s34_str1 str 'Bill lights a fire with the twigs...'
|
|
s34_str2 str 'There is nothing to burn in the room'
|
|
s34_str3 str 'And why not burn them?'
|
|
|
|
*---
|
|
|
|
s35
|
|
s3599 rts
|
|
|
|
*---
|
|
|
|
s36
|
|
lda instruction1
|
|
cmp #main
|
|
bne s3699
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s3699
|
|
|
|
ldx #professeur_parti
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #4
|
|
bcs s3601
|
|
|
|
lda #s36_str1
|
|
jmp fin
|
|
|
|
s3601 lda #38
|
|
sta salle
|
|
lda #s36_str2
|
|
jmp ecriture
|
|
|
|
s3699 rts
|
|
|
|
s36_str1 str 'Before Bill can enter Professor X'27's lab, Professor X grabs a submachine gun and turns it into a strainer.'
|
|
s36_str2 str 'Phew... The door opens!'
|
|
|
|
*---
|
|
|
|
s37
|
|
s3799 rts
|
|
|
|
*---
|
|
|
|
s38
|
|
lda instruction1
|
|
cmp #main
|
|
bne s3803
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s3801
|
|
|
|
ldx #appeau
|
|
lda #s38_str1
|
|
jmp apparition_objet
|
|
|
|
s3801 cmp #2
|
|
bne s3802
|
|
|
|
ldx #mitraillette
|
|
lda #s38_str2
|
|
jmp apparition_objet
|
|
|
|
s3802 cmp #3
|
|
bne s3803
|
|
|
|
lda #s38_str3
|
|
jmp fin
|
|
|
|
s3803 lda instruction1
|
|
cmp #bouche
|
|
bne s3899
|
|
lda zone_cliquee
|
|
cmp #3
|
|
bne s3899
|
|
|
|
lda #s38_str4
|
|
jmp fin
|
|
|
|
s3899 rts
|
|
|
|
s38_str1 str 'Bill find a call...'
|
|
s38_str2 str 'Wow! A submachine gun'
|
|
s38_str3 str 'Bill should have known that it is better to handle toxic products with gloves...'
|
|
s38_str4 str 'Damn it! It was poison! Bill chokes and dies in minutes'
|
|
|
|
*---
|
|
|
|
s39
|
|
lda instruction1
|
|
cmp #oeil
|
|
bne s3999
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s3999
|
|
|
|
sep #$20
|
|
ldx #professeur_parti
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s3901
|
|
inc indicateur-1,x
|
|
s3901 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #3+1
|
|
bcc s3999
|
|
|
|
lda #s39_str1
|
|
jmp ecriture
|
|
|
|
s3999 rts
|
|
|
|
s39_str1 str 'The Professor stays to inspect his men!'
|
|
|
|
*---
|
|
|
|
s40
|
|
lda instruction1
|
|
cmp #bouche
|
|
bne s4001
|
|
lda instruction2
|
|
cmp #appeau
|
|
bne s4001
|
|
|
|
lda #41
|
|
sta salle
|
|
lda #s40_str1
|
|
jsr ecriture
|
|
|
|
s4001 lda instruction1
|
|
cmp #oeil
|
|
bne s4099
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s4099
|
|
|
|
ldx #feu_allume
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
beq s4002
|
|
|
|
lda #s40_str2
|
|
jmp ecriture
|
|
|
|
s4002 lda #s40_str3
|
|
jmp ecriture
|
|
|
|
s4099 rts
|
|
|
|
s40_str1 str 'Attracted by the call, the bird comes to rest...'
|
|
s40_str2 str 'Hot smoke rises from it'
|
|
s40_str3 str 'It looks like the flue of a fireplace'
|
|
|
|
*---
|
|
|
|
s41
|
|
ldx #feu_allume
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
bne s4101
|
|
|
|
lda #40
|
|
sta salle
|
|
lda #s41_str1
|
|
jmp ecriture
|
|
|
|
s4101 lda #42
|
|
sta salle
|
|
lda #s41_str2
|
|
jmp ecriture
|
|
|
|
s4199 rts
|
|
|
|
s41_str1 str 'The bird leaves immediatly'
|
|
s41_str2 str 'The bird clogs the flue of the chimney, immediately the professor'27's men come out suffocated...'
|
|
|
|
*---
|
|
|
|
s42
|
|
sep #$20
|
|
ldx #homme_attaque
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s4200
|
|
inc indicateur-1,x
|
|
s4200 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #8
|
|
bcc s4201
|
|
|
|
lda #s42_str1
|
|
jmp fin
|
|
|
|
s4201 lda instruction1
|
|
cmp #main
|
|
bne s4299
|
|
lda instruction2
|
|
cmp #mitraillette
|
|
bne s4202
|
|
|
|
lda #43
|
|
sta salle
|
|
lda #s42_str2
|
|
jsr ecriture
|
|
jsr chargement_image
|
|
lda #s42_str3
|
|
jsr ecriture
|
|
|
|
lda #3
|
|
jsr nowWAIT
|
|
|
|
lda #44
|
|
sta salle
|
|
rts
|
|
|
|
s4202 cmp #machette
|
|
bne s4299
|
|
|
|
lda #s42_str4
|
|
jmp fin
|
|
|
|
s4299 rts
|
|
|
|
s42_str1 str 'Professor'27's men gut Bill'
|
|
s42_str2 str 'Bill draws his submachine gun...'
|
|
s42_str3 str 'And massacres his attackers...'
|
|
s42_str4 str 'Bill engages in the fight with a machete but he falls under the number'
|
|
|
|
*--- Check protection
|
|
|
|
s43
|
|
s4399 rts
|
|
|
|
*---
|
|
|
|
s44
|
|
s4499 rts
|
|
|
|
*---
|
|
|
|
s45
|
|
lda instruction1
|
|
cmp #main
|
|
bne s4599
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s4599
|
|
|
|
lda #46
|
|
sta salle
|
|
lda #s45_str2
|
|
jsr ecriture
|
|
jsr chargement_image
|
|
lda #s45_str3
|
|
jsr ecriture
|
|
|
|
lda #48
|
|
sta salle
|
|
|
|
lda #3
|
|
jsr nowWAIT
|
|
|
|
ldx #1
|
|
]lp phx
|
|
lda #strVIDE
|
|
jsr disparition_objet
|
|
plx
|
|
inx
|
|
cpx #nombre_objets
|
|
bcc ]lp
|
|
|
|
s4599 rts
|
|
|
|
s45_str2 str 'Bill pulls the flag. Suddenly...'
|
|
s45_str3 str 'A trap door opens under his feet. Bill is captured by Professor X'27's men'
|
|
|
|
*---
|
|
|
|
s46
|
|
s4699 rts
|
|
|
|
*---
|
|
|
|
s47
|
|
s4799 rts
|
|
|
|
*---
|
|
|
|
s48
|
|
sep #$20
|
|
ldx #canon
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s4600
|
|
inc indicateur-1,x
|
|
s4600 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #6
|
|
bcc s4801
|
|
|
|
lda #s48_str6
|
|
jmp fin
|
|
|
|
s4801 lda instruction1
|
|
cmp #main
|
|
bne s4899
|
|
lda zone_cliquee
|
|
cmp #1
|
|
bne s4899
|
|
|
|
lda #s48_str1
|
|
jsr ecriture
|
|
|
|
lda #49
|
|
sta salle
|
|
|
|
s4899 rts
|
|
|
|
s48_str6 str 'The cannon cuts Bill to pieces. Professor X. becomes master of the world'
|
|
s48_str1 str 'Bill manages to free himself discreetly and extinguish the fuse'
|
|
|
|
*---
|
|
|
|
s49
|
|
lda instruction1
|
|
cmp #main
|
|
bne s4999
|
|
lda zone_cliquee
|
|
cmp #2
|
|
beq s4901
|
|
cmp #3
|
|
bne s4902
|
|
|
|
s4901 lda #s49_str2
|
|
jmp fin
|
|
|
|
s4902 cmp #1
|
|
bne s4999
|
|
|
|
lda #s49_str1
|
|
jsr ecriture
|
|
lda #50
|
|
sta salle
|
|
|
|
s4999 rts
|
|
|
|
s49_str2 str 'Bill makes a mistake and is fatally spotted by the Professor'27's lieutenant...'
|
|
s49_str1 str 'Bill switches off the light, plunging the entire room into darkness'
|
|
|
|
*---
|
|
|
|
s50
|
|
lda instruction1
|
|
cmp #main
|
|
bne s5099
|
|
lda zone_cliquee
|
|
beq s5099
|
|
|
|
lda #s50_str1
|
|
jmp fin
|
|
|
|
s5099 rts
|
|
|
|
s50_str1 str 'Rather than quietly slipping away, Bill saw fit to show his presence...'
|
|
|
|
*---
|
|
|
|
s51
|
|
lda instruction1
|
|
cmp #main
|
|
bne s5102
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s5101
|
|
|
|
lda #s51_str2
|
|
jmp fin
|
|
|
|
s5101 cmp #3
|
|
bne s5102
|
|
|
|
sep #$20
|
|
ldx #destruction_base
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
s5102 ldx #destruction_base
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
beq s5103
|
|
|
|
sep #$20
|
|
ldx #compte_a_rebours
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s5100
|
|
inc indicateur-1,x
|
|
s5100 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #6
|
|
bcc s5103
|
|
|
|
lda #s51_str2
|
|
jmp fin
|
|
|
|
s5103 lda instruction1
|
|
cmp #main
|
|
bne s5105
|
|
lda zone_cliquee
|
|
cmp #4
|
|
bne s5104
|
|
|
|
lda #s51_str4
|
|
jsr ecriture
|
|
lda #54
|
|
sta salle
|
|
|
|
s5104 cmp #6
|
|
bne s5105
|
|
|
|
ldx #revolver
|
|
lda #s51_str6
|
|
jmp apparition_objet
|
|
|
|
s5105 lda instruction1
|
|
cmp #bouche
|
|
bne s5199
|
|
lda zone_cliquee
|
|
cmp #5
|
|
bne s5199
|
|
|
|
lda #52
|
|
sta salle
|
|
|
|
s5199 rts
|
|
|
|
s51_str2 str 'The base and everything in it explodes. Too expeditious...'
|
|
s51_str4 str 'Bill ejects...'
|
|
s51_str6 str 'This could be useful...'
|
|
|
|
*---
|
|
|
|
s52
|
|
lda instruction1
|
|
cmp #main
|
|
bne s5201
|
|
lda instruction2
|
|
cmp #revolver
|
|
bne s5201
|
|
|
|
lda #53
|
|
sta salle
|
|
|
|
ldx #fetiche
|
|
lda #s52_str1
|
|
jsr apparition_objet
|
|
|
|
s5201 ldx #lieutenant
|
|
sep #$20
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s5200
|
|
inc indicateur-1,x
|
|
s5200 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #4
|
|
bcc s5202
|
|
|
|
lda #s52_str2
|
|
jmp fin
|
|
|
|
s5202 lda instruction1
|
|
cmp #main
|
|
bne s5204
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s5203
|
|
|
|
lda #s52_str3
|
|
jmp fin
|
|
|
|
s5203 cmp #3
|
|
bne s5204
|
|
|
|
sep #$20
|
|
ldx #destruction_base
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
s5204 ldx #destruction_base
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
beq s5205
|
|
|
|
sep #$20
|
|
ldx #compte_a_rebours
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s5252
|
|
inc indicateur-1,x
|
|
s5252 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #6
|
|
bcc s5205
|
|
|
|
lda #s52_str3
|
|
jmp fin
|
|
|
|
s5205 lda instruction1
|
|
cmp #main
|
|
bne s5299
|
|
lda zone_cliquee
|
|
cmp #4
|
|
bne s5206
|
|
|
|
lda #s52_str4
|
|
jsr ecriture
|
|
lda #54
|
|
sta salle
|
|
|
|
s5206 cmp #6
|
|
bne s5299
|
|
|
|
ldx #revolver
|
|
lda #s52_str6
|
|
jmp apparition_objet
|
|
|
|
s5299 rts
|
|
|
|
s52_str1 str 'Bill draws quickly and takes aim at the two men. The Professor must let go of the fetish'
|
|
s52_str2 str 'Professor'27's henchman coldly kills Bill'
|
|
s52_str3 str 'The base and everything in it explodes. Too expeditious...'
|
|
s52_str4 str 'Bill ejects...'
|
|
s52_str6 str 'This could be useful...'
|
|
|
|
*---
|
|
|
|
s53
|
|
lda instruction1
|
|
cmp #main
|
|
bne s5302
|
|
lda zone_cliquee
|
|
cmp #2
|
|
bne s5301
|
|
|
|
lda #s53_str2
|
|
jmp fin
|
|
|
|
s5301 cmp #3
|
|
bne s5302
|
|
|
|
sep #$20
|
|
ldx #destruction_base
|
|
lda #TRUE
|
|
sta indicateur-1,x
|
|
rep #$20
|
|
|
|
s5302 ldx #destruction_base
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
beq s5303
|
|
|
|
sep #$20
|
|
ldx #compte_a_rebours
|
|
lda indicateur-1,x
|
|
cmp #-1
|
|
beq s5300
|
|
inc indicateur-1,x
|
|
s5300 rep #$20
|
|
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
cmp #6
|
|
bcc s5303
|
|
|
|
lda #s53_str2
|
|
jmp fin
|
|
|
|
s5303 lda instruction1
|
|
cmp #main
|
|
bne s5399
|
|
lda zone_cliquee
|
|
cmp #4
|
|
bne s5399
|
|
|
|
lda #s53_str4
|
|
jsr ecriture
|
|
lda #54
|
|
sta salle
|
|
s5399 rts
|
|
|
|
s53_str2 str 'The base and everything in it explodes. Too expeditious...'
|
|
s53_str4 str 'Bill ejects...'
|
|
|
|
*---
|
|
|
|
s54
|
|
lda #55
|
|
sta salle
|
|
jsr chargement_image
|
|
|
|
lda #3
|
|
jsr nowWAIT
|
|
|
|
ldx #destruction_base
|
|
lda indicateur-1,x
|
|
and #$ff
|
|
bne s5401
|
|
|
|
lda #s54_str1
|
|
jmp fin
|
|
|
|
s5401 ldx #fetiche
|
|
lda objet-1,x
|
|
and #$ff
|
|
cmp #objet_pris
|
|
beq s5402
|
|
|
|
lda #s54_str2
|
|
jmp fin
|
|
|
|
s5402 lda #56
|
|
sta salle
|
|
jsr chargement_image
|
|
|
|
lda #3
|
|
jsr nowWAIT
|
|
|
|
lda #s54_str3 ; on a gagné !
|
|
jmp fin
|
|
|
|
s5499 rts
|
|
|
|
s54_str1 str 'When he falls, Bill is captured again. He can no longer thwart the professor'27's plans...'
|
|
s54_str2 str 'Professor X.'27's base is reduced to rubble. Alas, Bill failed to retrieve the Fetish'
|
|
s54_str3 str 'CONGRATULATIONS!! Bill has recovered the fetish and destroyed Professor X'27's base. We can bet that he will take his revenge...'
|
|
|
|
*---
|
|
|
|
s55
|
|
s5599 rts
|
|
|
|
*---
|
|
|
|
s56
|
|
s5699 rts |