mirror of
https://github.com/antoinevignau/source.git
synced 2025-03-15 22:31:28 +00:00
nice Genius
This commit is contained in:
parent
57b84496d9
commit
9568ef7d30
Binary file not shown.
@ -348,7 +348,17 @@ loadBACK _HideCursor
|
||||
|
||||
*----------------------------------- Open
|
||||
|
||||
doLOAD jsr doSOUNDOFF
|
||||
mx %11
|
||||
|
||||
doLOAD sta pGAME+10
|
||||
rep #$30
|
||||
jsr loadALL
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
mx %00
|
||||
|
||||
jsr doSOUNDOFF
|
||||
jsr saveBACK
|
||||
|
||||
PushWord #30
|
||||
@ -370,11 +380,19 @@ doLOAD1 jsr copyPATH
|
||||
jsr loadALL
|
||||
rts
|
||||
|
||||
mx %00
|
||||
|
||||
*----------------------------------- Save
|
||||
|
||||
doSAVE jsr doSOUNDOFF
|
||||
mx %11
|
||||
|
||||
doSAVE sta pGAME+10
|
||||
rep #$30
|
||||
jsr saveALL
|
||||
sep #$30
|
||||
rts
|
||||
|
||||
mx %00
|
||||
|
||||
jsr doSOUNDOFF
|
||||
jsr saveBACK
|
||||
|
||||
PushWord #25
|
||||
@ -521,7 +539,7 @@ proWRITEGAME
|
||||
ds 4 ; C - transfer_count
|
||||
dw 1 ; cache_priority
|
||||
|
||||
pGAME strl '0/ '
|
||||
pGAME strl '1/Partie0' ; +10 pour la partie
|
||||
|
||||
*-----------------------------------
|
||||
* DES DONNES 16-BITS
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -15,6 +15,24 @@
|
||||
ext picGENIUS
|
||||
ext picMONDE
|
||||
|
||||
ext txtTELEX
|
||||
ext txtGENIUSTEXTE
|
||||
ext txtSERPENT1
|
||||
ext txtSERPENT2
|
||||
ext txtSERPENT3
|
||||
ext txtSERPENT4
|
||||
ext txtECRITPAR1
|
||||
ext txtECRITPAR2
|
||||
ext txtECRITPAR3
|
||||
ext txtECRITPAR4
|
||||
ext txtECRITPAR5
|
||||
ext txtECRITPAR6
|
||||
ext txtMONDE
|
||||
ext txtEXPLICATIONS1
|
||||
ext txtEXPLICATIONS2
|
||||
ext txtEXPLICATIONS3
|
||||
ext txtEXPLICATIONS4
|
||||
|
||||
*-----------------------------------
|
||||
* CODE
|
||||
*-----------------------------------
|
||||
@ -25,6 +43,8 @@ intro jsr intro_telex
|
||||
bcs intro_end
|
||||
jsr intro_serpent
|
||||
bcs intro_end
|
||||
jsr intro_ecritpar
|
||||
bcs intro_end
|
||||
jsr intro_genius_image
|
||||
bcs intro_end
|
||||
jsr intro_monde
|
||||
@ -59,6 +79,140 @@ intro_genius_texte
|
||||
intro_serpent
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* DE QUI EST CE LOGICIEL ?
|
||||
*-----------------------------------
|
||||
|
||||
mx %00
|
||||
|
||||
intro_ecritpar
|
||||
PushWord #$9999
|
||||
_ClearScreen
|
||||
|
||||
jsr petit_genius
|
||||
rts
|
||||
|
||||
*----------- Affiche le petit Genius
|
||||
|
||||
petit_genius
|
||||
lda #picGENIUS
|
||||
sta dpFROM
|
||||
lda #^picGENIUS
|
||||
sta dpFROM+2
|
||||
|
||||
lda ptrSCREEN
|
||||
clc
|
||||
adc #56 ; pour center
|
||||
sta dpTO
|
||||
lda ptrSCREEN+2
|
||||
sta dpTO+2
|
||||
|
||||
ldx #0
|
||||
pgLOOP ldy #0
|
||||
sep #$20
|
||||
]lp lda [dpFROM],y
|
||||
jsr outputPG
|
||||
iny
|
||||
cpy #17
|
||||
bcc ]lp
|
||||
|
||||
rep #$20
|
||||
|
||||
lda dpFROM
|
||||
clc
|
||||
adc #17
|
||||
sta dpFROM
|
||||
|
||||
txa
|
||||
clc
|
||||
adc #160-51 ; 17x3 (6 bits = 3 pixels)
|
||||
tax
|
||||
cpx #84*160 ; 84 lignes
|
||||
bcc pgLOOP
|
||||
|
||||
*-----------
|
||||
|
||||
sep #$20
|
||||
pgK2 ldal KBD
|
||||
bpl pgK2
|
||||
stal KBDSTROBE
|
||||
rep #$20
|
||||
clc
|
||||
rts
|
||||
|
||||
*-----------
|
||||
|
||||
mx %10
|
||||
|
||||
outputPG phy
|
||||
pha
|
||||
txy
|
||||
|
||||
lda #$99
|
||||
sta dpPX
|
||||
lda 1,s
|
||||
and #%0010_0000
|
||||
beq outputPG1
|
||||
lda dpPX
|
||||
and #$0f
|
||||
ora dpCOL1
|
||||
sta dpPX
|
||||
outputPG1 lda 1,s
|
||||
and #%0001_0000
|
||||
beq outputPG2
|
||||
lda dpPX
|
||||
and #$f0
|
||||
ora dpCOL2
|
||||
sta dpPX
|
||||
outputPG2 lda dpPX
|
||||
sta [dpTO],y
|
||||
iny
|
||||
|
||||
lda #$99
|
||||
sta dpPX
|
||||
lda 1,s
|
||||
and #%0000_1000
|
||||
beq outputPG3
|
||||
lda dpPX
|
||||
and #$0f
|
||||
ora dpCOL1
|
||||
sta dpPX
|
||||
outputPG3 lda 1,s
|
||||
and #%0000_0100
|
||||
beq outputPG4
|
||||
lda dpPX
|
||||
and #$f0
|
||||
ora dpCOL2
|
||||
sta dpPX
|
||||
outputPG4 lda dpPX
|
||||
sta [dpTO],y
|
||||
iny
|
||||
|
||||
lda #$99
|
||||
sta dpPX
|
||||
lda 1,s
|
||||
and #%0000_0010
|
||||
beq outputPG5
|
||||
lda dpPX
|
||||
and #$0f
|
||||
ora dpCOL1
|
||||
sta dpPX
|
||||
outputPG5 lda 1,s
|
||||
and #%0000_0001
|
||||
beq outputPG6
|
||||
lda dpPX
|
||||
and #$f0
|
||||
ora dpCOL2
|
||||
sta dpPX
|
||||
outputPG6 lda dpPX
|
||||
sta [dpTO],y
|
||||
iny
|
||||
tyx
|
||||
|
||||
pla
|
||||
ply
|
||||
rts
|
||||
|
||||
*-----------------------------------
|
||||
* GENIUS
|
||||
*-----------------------------------
|
||||
@ -76,7 +230,7 @@ intro_genius_image
|
||||
|
||||
lda ptrSCREEN
|
||||
clc
|
||||
adc #56 ; pour center
|
||||
adc #34 ; pour center
|
||||
sta dpTO
|
||||
lda ptrSCREEN+2
|
||||
sta dpTO+2
|
||||
@ -99,9 +253,9 @@ igLOOP ldy #0
|
||||
|
||||
txa
|
||||
clc
|
||||
adc #160-51 ; 17x3 (6 bits = 3 pixels)
|
||||
adc #320-102 ; 17x6 (6 bits = 3 pixels)
|
||||
tax
|
||||
cpx #84*160 ; 84 lignes
|
||||
cpx #168*160 ; 84x2 lignes
|
||||
bcc igLOOP
|
||||
|
||||
*-----------
|
||||
@ -116,70 +270,132 @@ igK2 ldal KBD
|
||||
|
||||
*-----------
|
||||
|
||||
colIGBK = $77
|
||||
|
||||
mx %10
|
||||
|
||||
outputIG phy
|
||||
pha
|
||||
txy
|
||||
|
||||
lda #$77
|
||||
sta dpPX
|
||||
lda 1,s
|
||||
and #%0010_0000
|
||||
beq outputIG1
|
||||
lda dpPX
|
||||
and #$0f
|
||||
ora dpCOL1
|
||||
sta dpPX
|
||||
outputIG1 lda 1,s
|
||||
and #%0001_0000
|
||||
beq outputIG2
|
||||
lda dpPX
|
||||
and #$f0
|
||||
ora dpCOL2
|
||||
sta dpPX
|
||||
outputIG2 lda dpPX
|
||||
lda #$00
|
||||
beq outputIG1B
|
||||
outputIG1 lda #colIGBK
|
||||
outputIG1B phy
|
||||
pha
|
||||
sta [dpTO],y
|
||||
rep #$20
|
||||
tya
|
||||
clc
|
||||
adc #160
|
||||
tay
|
||||
sep #$20
|
||||
pla
|
||||
sta [dpTO],y
|
||||
ply
|
||||
iny
|
||||
|
||||
lda 1,s
|
||||
and #%0001_0000
|
||||
beq outputIG2
|
||||
lda #$00
|
||||
beq outputIG2B
|
||||
outputIG2 lda #colIGBK
|
||||
outputIG2B phy
|
||||
pha
|
||||
sta [dpTO],y
|
||||
rep #$20
|
||||
tya
|
||||
clc
|
||||
adc #160
|
||||
tay
|
||||
sep #$20
|
||||
pla
|
||||
sta [dpTO],y
|
||||
ply
|
||||
iny
|
||||
|
||||
lda #$77
|
||||
sta dpPX
|
||||
lda 1,s
|
||||
and #%0000_1000
|
||||
beq outputIG3
|
||||
lda dpPX
|
||||
and #$0f
|
||||
ora dpCOL1
|
||||
sta dpPX
|
||||
outputIG3 lda 1,s
|
||||
and #%0000_0100
|
||||
beq outputIG4
|
||||
lda dpPX
|
||||
and #$f0
|
||||
ora dpCOL2
|
||||
sta dpPX
|
||||
outputIG4 lda dpPX
|
||||
lda #$00
|
||||
beq outputIG3B
|
||||
outputIG3 lda #colIGBK
|
||||
outputIG3B phy
|
||||
pha
|
||||
sta [dpTO],y
|
||||
rep #$20
|
||||
tya
|
||||
clc
|
||||
adc #160
|
||||
tay
|
||||
sep #$20
|
||||
pla
|
||||
sta [dpTO],y
|
||||
ply
|
||||
iny
|
||||
|
||||
lda 1,s
|
||||
and #%0000_0100
|
||||
beq outputIG4
|
||||
lda #$00
|
||||
beq outputIG4B
|
||||
outputIG4 lda #colIGBK
|
||||
outputIG4B phy
|
||||
pha
|
||||
sta [dpTO],y
|
||||
rep #$20
|
||||
tya
|
||||
clc
|
||||
adc #160
|
||||
tay
|
||||
sep #$20
|
||||
pla
|
||||
sta [dpTO],y
|
||||
ply
|
||||
iny
|
||||
|
||||
lda #$77
|
||||
sta dpPX
|
||||
lda 1,s
|
||||
and #%0000_0010
|
||||
beq outputIG5
|
||||
lda dpPX
|
||||
and #$0f
|
||||
ora dpCOL1
|
||||
sta dpPX
|
||||
outputIG5 lda 1,s
|
||||
lda #$00
|
||||
beq outputIG5B
|
||||
outputIG5 lda #colIGBK
|
||||
outputIG5B phy
|
||||
pha
|
||||
sta [dpTO],y
|
||||
rep #$20
|
||||
tya
|
||||
clc
|
||||
adc #160
|
||||
tay
|
||||
sep #$20
|
||||
pla
|
||||
sta [dpTO],y
|
||||
ply
|
||||
iny
|
||||
|
||||
lda 1,s
|
||||
and #%0000_0001
|
||||
beq outputIG6
|
||||
lda dpPX
|
||||
and #$f0
|
||||
ora dpCOL2
|
||||
sta dpPX
|
||||
outputIG6 lda dpPX
|
||||
lda #$00
|
||||
beq outputIG6B
|
||||
outputIG6 lda #colIGBK
|
||||
outputIG6B phy
|
||||
pha
|
||||
sta [dpTO],y
|
||||
rep #$20
|
||||
tya
|
||||
clc
|
||||
adc #160
|
||||
tay
|
||||
sep #$20
|
||||
pla
|
||||
sta [dpTO],y
|
||||
ply
|
||||
iny
|
||||
tyx
|
||||
|
||||
|
@ -7,6 +7,121 @@
|
||||
|
||||
lst off
|
||||
|
||||
*-----------------------------------
|
||||
* LES TEXTES DE L'INTRO
|
||||
*-----------------------------------
|
||||
|
||||
txtTELEX ENT
|
||||
asc 'Une heure du matin (heure francaise)'0d
|
||||
asc 'sur tous les telex du monde apparait'0d
|
||||
asc 'ce message angoissant...'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
txtGENIUSTEXTE ENT
|
||||
asc 'Moi, GENIUS, je defie le monde. J'27'ai'0d
|
||||
asc 'invente une nouvelle arme capable de'0d
|
||||
asc 'raser la terre, ce que je ferai dans'0d
|
||||
asc 'deux semaines... Mais, comme je ne suis'0d
|
||||
asc 'pas un monstre, je vous laisse une'0d
|
||||
asc 'chance. J'27'accepte que des hommes de'0d
|
||||
asc 'tout pays se rendent sur mon vaisseau'0d
|
||||
asc 'en orbite autour de la terre afin de'0d
|
||||
asc 'tenter de desamorcer mes armes. Mais,'0d
|
||||
asc 'jamais plus d'27'un homme a la fois....'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
txtSERPENT1 ENT
|
||||
asc 'LORICIELS'00
|
||||
txtSERPENT2 ENT
|
||||
asc 'vous propose ce que'00
|
||||
txtSERPENT3 ENT
|
||||
asc 'vous redoutiez'00
|
||||
txtSERPENT4 ENT
|
||||
asc 'depuis longtemps'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
txtECRITPAR1 ENT
|
||||
asc 'Ecrit par Laurent Benes'00
|
||||
txtECRITPAR2 ENT
|
||||
asc 'Assiste de Karine Le Pors'00
|
||||
txtECRITPAR3 ENT
|
||||
asc 'Version Apple IIgs'00
|
||||
txtECRITPAR4 ENT
|
||||
asc 'Brutal Deluxe Software'00
|
||||
txtECRITPAR5 ENT
|
||||
asc 'Merci XavSnap'00
|
||||
txtECRITPAR6 ENT
|
||||
asc '3 jours plus tard dans les journaux'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
txtMONDE ENT
|
||||
asc 'C'27'est ainsi que vous decidez de'0d
|
||||
asc 'vous rendre aux autorites pour combat-'0d
|
||||
asc 'tre a nouveau le Dr Genius.'
|
||||
asc 'Le lendemain, on vous emmene au vais-'0d
|
||||
asc 'seau ou vous allez maintenant tenter'0d
|
||||
asc 'de vaincre le Dr Genius afin de sauver'0d
|
||||
asc 'la terre.'0d0d0d
|
||||
asc ' BON COURAGE...'0d0d0d
|
||||
asc 'Vous en aurez besoin !'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
txtEXPLICATIONS1 ENT
|
||||
asc 0d'Voici quelques explications'0d0d
|
||||
asc 'Le jeu est en temps reel, un chronome-'0d
|
||||
asc 'tre sera affiche en permanence.'0d
|
||||
asc 'D'27'autre part, vous devrez prendre'0d
|
||||
asc 'garde a votre energie qui diminuera au'0d
|
||||
asc 'fil de la partie.'0d
|
||||
asc 'Attention, plus vous transportez'0d
|
||||
asc 'd'27'objets, plus votre force decroit.'0d0d
|
||||
asc 'Pour converser avec l'27'ordinateur, vous'0d
|
||||
asc 'pouvez utiliser un vocabulaire choisi'0d
|
||||
asc 'parmi pres de 150 mots que vous allez'0d
|
||||
asc 'donc decouvrir au fur et a mesure...'0d
|
||||
asc 'et oui, c'27'est ca l'27'aventure.'0d0d
|
||||
asc 'D'27'autre part, l'27'ordinateur ne prendra'0d
|
||||
asc 'en compte que les 4 premieres lettres'0d
|
||||
asc 'de chaque mot, ainsi : PRENDS CARTON'0d
|
||||
asc 'sera compris comme : PREN CART'00
|
||||
|
||||
txtEXPLICATIONS2 ENT
|
||||
asc 0d'L'27'ordinateur ne prend en compte en'0d
|
||||
asc 'general que deux mots, exemple :'0d
|
||||
asc '- ALLUME SALLE'0d
|
||||
asc '- EST ou E ou AVANCE EST'0d0d
|
||||
asc 'Dans certains cas,l'27'ordinateur prendra'0d
|
||||
asc 'en compte trois mots. Il s'27'agit de cas'0d
|
||||
asc 'ou un qualificatif est necessaire, ou'0d
|
||||
asc 'lorsque l'27'on veut mettre une chose'0d
|
||||
asc 'dans une autre. Exemple :'0d0d
|
||||
asc 'PRENDS LIVRE VERT'0d
|
||||
asc 'PRENDS MOUCHOIR PAPIER'0d
|
||||
asc ' ou'0d
|
||||
asc 'CRAYON DANS BOITE'0d0d
|
||||
asc 'Ce dernier cas indiquera qu'27'il faut'0d
|
||||
asc 'mettre le crayon dans la boite.'0d
|
||||
asc 'a condition que vous possediez crayon'0d
|
||||
asc 'et boite, evidemment.'00
|
||||
|
||||
txtEXPLICATIONS3 ENT
|
||||
asc 0d'Une derniere chose, il est possible de'0d
|
||||
asc 'sauver une partie en cours, et de la'0d
|
||||
asc 'recharger, mais a vous de trouver le'0d
|
||||
asc 'vocabulaire adequat...'0d0d0d0d
|
||||
asc 'Et maintenant, tres bonne aventure...'0d0d
|
||||
asc 'et prenez garde a vous !'0d0d0d
|
||||
asc 'Tapez une touche pour charger le'0d
|
||||
asc 'programme de jeu.'00 ; Fond rouge, encre
|
||||
|
||||
txtEXPLICATIONS4 ENT
|
||||
asc 'Voulez-vous revoir la presentation (O/N) '00
|
||||
|
||||
*-----------------------------------
|
||||
* IMAGE DU DR GENIUS (DRACULA)
|
||||
*-----------------------------------
|
||||
|
@ -1081,21 +1081,46 @@ MDP$ asc 'MANOIR'
|
||||
*----------- SAVE - LOGO
|
||||
|
||||
:4590 stz fgTIME
|
||||
rep #$30
|
||||
jsr :4595
|
||||
bcs :4591
|
||||
* rep #$30
|
||||
jsr doSAVE
|
||||
sep #$30
|
||||
inc fgTIME
|
||||
* sep #$30
|
||||
:4591 inc fgTIME
|
||||
rts
|
||||
|
||||
*----------- LOAD - LOGO
|
||||
|
||||
:4600 stz fgTIME
|
||||
rep #$30
|
||||
jsr :4595
|
||||
bcs :4601
|
||||
* rep #$30
|
||||
jsr doLOAD
|
||||
sep #$30
|
||||
* sep #$30
|
||||
inc fgTIME
|
||||
jmp REPLAY
|
||||
:4601 inc fgTIME
|
||||
rts
|
||||
|
||||
*----------- Slot for load/save
|
||||
|
||||
:4595 @print #str4595
|
||||
jsr GETLN1
|
||||
cpx #1
|
||||
bne :4595
|
||||
lda TEXTBUFFER
|
||||
cmp #'0'
|
||||
bcc :4595
|
||||
beq :4597
|
||||
cmp #'9'+1
|
||||
bcs :4595
|
||||
clc
|
||||
rts
|
||||
:4597 sec
|
||||
rts
|
||||
|
||||
str4595 asc 'Slot 1-9 (0=sortir) ? '00
|
||||
|
||||
*----------- LE MOT DE PASSE FINAL
|
||||
|
||||
:4610 @print #str4610
|
||||
|
BIN
leretour/images/leretour legranddrgenius.jpg
Normal file
BIN
leretour/images/leretour legranddrgenius.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 258 KiB |
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user