moteur OK

This commit is contained in:
Antoine Vignau 2024-01-05 17:01:36 +01:00
parent 0fc6bdb5fa
commit 7c4fd6567e
15 changed files with 21195 additions and 22599 deletions

View File

@ -14,10 +14,23 @@
mx %11
BORDER ldal $c034
inc
stal $c034
rts
*-----------------------------------
mx %11
printNIVEAU ora #'0'
sta strNIVEAU+9
rep #$30
PushWord #250
PushWord #10
_MoveTo
PushLong #strNIVEAU
_DrawCString
sep #$30
@ -39,7 +52,9 @@ RDKEY phx
jsr CURSOR ; shows the cursor
rep #$30
]lp pha
]lp inc VBLCounter0 ; for RND
pha
PushWord #%00000000_00001000
PushLong #taskREC
_GetNextEvent
@ -165,8 +180,7 @@ CURSOR_ERASE
mx %11
CURSOR
lda CH
CURSOR lda CH
pha
lda CV
pha
@ -207,6 +221,12 @@ GOTOXY stx textX
lda #0
sta textX+1
sta textY+1
rep #$30
PushWord textX
PushWord textY
_MoveTo
sep #$30
rts
*-----------------------------------
@ -217,7 +237,7 @@ COUTXY pea ^COUTXY
phx
phy
rep #$30
_DrawString
_DrawCString
sep #$30
rts
@ -360,27 +380,26 @@ text2shr dw 9,19,29,39,49,59,69,79,89,99
*-----------------------------------
mx %11
WAIT rts ; LOGO
pha
]lp ldal RDVBLBAR
bmi ]lp
]lp ldal RDVBLBAR
bpl ]lp
pla
rts
*-----------------------------------
mx %11
*RND rep #$30
* PushWord #0
* _Random
* pla
* sep #$30
* rts
RND rep #$30
PushWord #0
_Random
pla
ldal VERTCNT
xba
clc
adc VBLCounter0
sta VBLCounter0
and #$ff
sep #$30
rts
VBLCounter0 ds 2
*-----------------------------------
* RECOPIE ACTION A$
*-----------------------------------
@ -495,13 +514,12 @@ L95D0 TAX
*-- H - RANDOM
L95DB jmp L95EF ; LOGO - Use the QDII RND
* STA $7C
* LDA $0306
* CMP $7C
* BCS L95EF
* JMP L9552
L95DB STA $7C
* LDA $0306
jsr RND
CMP $7C
BCS L95EF
JMP L9552
*-- I -

View File

@ -193,7 +193,13 @@ newA$ hex 0100411246012E4931394DFF
hex 3C3B2E4434364BFF
hex 3D002E4434374BFF
hex 4E002E41FF
hex 110E440444052E4330344330354830344830354231394AFF
* 1714D04D05.C04C05H04H05B19J. => TUBE GLAC
* $11 = TUBE / $0E = GLACE
* $5A = METT / $11 = TUBE
* hex 110E440444052E4330344330354830344830354231394AFF
hex 5A11440444052E4330344330354830344830354231394AFF
hex 502144072E4330374830374230364AFF
hex 3F002E443438FF
hex 40002E4434394EFF
@ -237,260 +243,6 @@ newA$ hex 0100411246012E4931394DFF
hex 3C002E4438384BFF
hex 00
*
* Les actions
*
AA = 155
tblAL$ dfb $bd
dfb <A$1,<A$2,<A$3,<A$4,<A$5,<A$6,<A$7,<A$8,<A$9,<A$10
dfb <A$11,<A$12,<A$13,<A$14,<A$15,<A$16,<A$17,<A$18,<A$19,<A$20
dfb <A$21,<A$22,<A$23,<A$24,<A$25,<A$26,<A$27,<A$28,<A$29,<A$30
dfb <A$31,<A$32,<A$33,<A$34,<A$35,<A$36,<A$37,<A$38,<A$39,<A$40
dfb <A$41,<A$42,<A$43,<A$44,<A$45,<A$46,<A$47,<A$48,<A$49,<A$50
dfb <A$51,<A$52,<A$53,<A$54,<A$55,<A$56,<A$57,<A$58,<A$59,<A$60
dfb <A$61,<A$62,<A$63,<A$64,<A$65,<A$66,<A$67,<A$68,<A$69,<A$70
dfb <A$71,<A$72,<A$73,<A$74,<A$75,<A$76,<A$77,<A$78,<A$79,<A$80
dfb <A$81,<A$82,<A$83,<A$84,<A$85,<A$86,<A$87,<A$88,<A$89,<A$90
dfb <A$91,<A$92,<A$93,<A$94,<A$95,<A$96,<A$97,<A$98,<A$99,<A$100
dfb <A$101,<A$102,<A$103,<A$104,<A$105,<A$106,<A$107,<A$108,<A$109,<A$110
dfb <A$111,<A$112,<A$113,<A$114,<A$115,<A$116,<A$117,<A$118,<A$119,<A$120
dfb <A$121,<A$122,<A$123,<A$124,<A$125,<A$126,<A$127,<A$128,<A$129,<A$130
dfb <A$131,<A$132,<A$133,<A$134,<A$135,<A$136,<A$137,<A$138,<A$139,<A$140
dfb <A$141,<A$142,<A$143,<A$144,<A$145,<A$146,<A$147,<A$148,<A$149,<A$150
dfb <A$151,<A$152,<A$153,<A$154,<A$155
tblAH$ dfb $bd
dfb >A$1,>A$2,>A$3,>A$4,>A$5,>A$6,>A$7,>A$8,>A$9,>A$10
dfb >A$11,>A$12,>A$13,>A$14,>A$15,>A$16,>A$17,>A$18,>A$19,>A$20
dfb >A$21,>A$22,>A$23,>A$24,>A$25,>A$26,>A$27,>A$28,>A$29,>A$30
dfb >A$31,>A$32,>A$33,>A$34,>A$35,>A$36,>A$37,>A$38,>A$39,>A$40
dfb >A$41,>A$42,>A$43,>A$44,>A$45,>A$46,>A$47,>A$48,>A$49,>A$50
dfb >A$51,>A$52,>A$53,>A$54,>A$55,>A$56,>A$57,>A$58,>A$59,>A$60
dfb >A$61,>A$62,>A$63,>A$64,>A$65,>A$66,>A$67,>A$68,>A$69,>A$70
dfb >A$71,>A$72,>A$73,>A$74,>A$75,>A$76,>A$77,>A$78,>A$79,>A$80
dfb >A$81,>A$82,>A$83,>A$84,>A$85,>A$86,>A$87,>A$88,>A$89,>A$90
dfb >A$91,>A$92,>A$93,>A$94,>A$95,>A$96,>A$97,>A$98,>A$99,>A$100
dfb >A$101,>A$102,>A$103,>A$104,>A$105,>A$106,>A$107,>A$108,>A$109,>A$110
dfb >A$111,>A$112,>A$113,>A$114,>A$115,>A$116,>A$117,>A$118,>A$119,>A$120
dfb >A$121,>A$122,>A$123,>A$124,>A$125,>A$126,>A$127,>A$128,>A$129,>A$130
dfb >A$131,>A$132,>A$133,>A$134,>A$135,>A$136,>A$137,>A$138,>A$139,>A$140
dfb >A$141,>A$142,>A$143,>A$144,>A$145,>A$146,>A$147,>A$148,>A$149,>A$150
dfb >A$151,>A$152,>A$153,>A$154,>A$155
A$1 str "A18F01.I19M."
A$2 str "A18E01.I11M."
A$3 str "A18.D03N."
A$4 str "A18.D03N."
A$5 str "E17.D85K."
A$6 str "A02.D04N."
A$7 str "A49.D05K."
A$8 str "A46.D06K."
A$9 str "B01.B01J."
A$10 str "B03.B03J."
A$11 str "B05.B05J."
A$12 str "B06.B06J."
A$13 str "B08.B08J."
A$14 str "B09.B09J."
A$15 str "B10.B10J."
A$16 str "B11.B11J."
A$17 str "B12.B12J."
A$18 str "B14.B14J."
A$19 str "B15.D07J."
A$20 str "A46F09.E09B16J."
A$21 str "B17.B17D08K."
A$22 str "B18.B18J."
A$23 str "E17B02.B02J."
A$24 str "B02.D09E17B02M."
A$25 str "B07.B07J."
A$26 str ".C02J."
A$27 str ".C01J."
A$28 str ".C03J."
A$29 str ".C14J."
A$30 str "B07.C07J."
A$31 str ".C06J."
A$32 str "A21.D89K."
A$33 str ".C08J."
A$34 str ".C09J."
A$35 str ".C10J."
A$36 str ".C11J."
A$37 str "D13.O12C13H13J."
A$38 str ".C12J."
A$39 str ".C16J."
A$40 str ".C17J."
A$41 str ".C18J."
A$42 str "B04.B04J."
A$43 str "B19.C19H19B05B04J."
A$44 str "D04.C04J."
A$45 str "D19.C19H19B05O04J."
A$46 str "D14.D12N."
A$47 str "D14.D12N."
A$48 str "D14.D12N."
A$49 str "A20.D13N."
A$50 str "B11.D14N."
A$51 str "A15.E00D16K."
A$52 str "C07.D17K."
A$53 str ".D18N."
A$54 str "D08.D19N."
A$55 str "D08.D19N."
A$56 str "D18.D20N."
A$57 str "A18.D21N."
A$58 str "B16.B16J."
A$59 str ".D15K."
A$60 str "A49.D05K."
A$61 str "A46.D05K."
A$62 str ".D22K."
A$63 str ".D23N."
A$64 str "A15.D24K."
A$65 str "A15.D25K."
A$66 str "A30.I53M."
A$67 str "A30.I53M."
A$68 str "A44.D27K."
A$69 str "A44.D27K."
A$70 str "A53.I30M."
A$71 str "A44.D26K."
A$72 str "A44.D28K."
A$73 str "A44.D29K."
A$74 str "A44.D30K."
A$75 str "A44.D31K."
A$76 str "A44.D32K."
A$77 str "A15B06.C06H06B07J."
A$78 str "A15B07.D33K."
A$79 str "B19.B19J."
A$80 str "B19.C19J."
A$81 str ".C05J."
A$82 str "D01.D34N."
A$83 str "D01I49I46.D35K."
A$84 str "D01A49.D36I46M."
A$85 str "D01A46.D36I49M."
A$86 str "D01I14I20I23I29I38.D35K."
A$87 str "D01A14.D37F04M."
A$88 str "D01A20.D37F05M."
A$89 str "D01A23.D37F03M."
A$90 str "D01A29.D37F06M."
A$91 str "D01.D37F07M."
A$92 str "B03F18.G0104E18J."
A$93 str "B03.D33K."
A$94 str "D13.D33K."
A$95 str "D12.C12H12B13J."
A$96 str "B09F11.D38K."
A$97 str "B09.D39K."
A$98 str "B09E11.F11J."
A$99 str "B09F11.E11J."
A$100 str "D17.D40K."
A$101 str "D17.D40K."
A$102 str "D17.J."
A$103 str "D13.C13H13B12J."
A$104 str "D10I04I17I22I48I51.D35K."
A$105 str "D10.D41K."
A$106 str ".D42K."
A$107 str ".D43K."
A$108 str ".D44K."
A$109 str ".D45K."
A$110 str ".D46K."
A$111 str ".D46K."
A$112 str ".D47K."
A$113 str ".A."
A$114 str "D04D05.C04C05H04H05B19J."
A$115 str "D07.C07H07B06J."
A$116 str ".D48."
A$117 str ".D49N."
A$118 str ".D50K."
A$119 str "A34E12.D51K."
A$120 str "A34E12.D51K."
A$121 str "A34.D52N."
A$122 str "A34.E13D57K."
A$123 str "E12.D53E14G0205K."
A$124 str "F12I50F13.D54N."
A$125 str "F12E13.D53E14G0205K."
A$126 str "F12A50.D53E14G0205K."
A$127 str "A21E15.D33K."
A$128 str "A21.E15D55G0407K."
A$129 str "A21E15.F15G0400D56M."
A$130 str "A21.D53K."
A$131 str "E16A21.F16D57K."
A$132 str "A21.D66K."
A$133 str ".D59."
A$134 str ".D60."
A$135 str "A29D16F12.D61."
A$136 str "A29F12.D86N."
A$137 str "A29.D62N."
A$138 str "A44.D68K."
A$139 str ".D64K."
A$140 str ".D64K."
A$141 str ".D63K."
A$142 str ".D63K."
A$143 str "D16.D69K."
A$144 str "D16.D69K."
A$145 str "A46.D67I51M."
A$146 str "A46.D70K."
A$147 str "B09.D71K."
A$148 str "A50.D72K."
A$149 str "B01.D90K."
A$150 str "A08.D91N."
A$151 str "A53.I30M."
A$152 str ".M."
A$153 str ".D73K."
A$154 str ".D87K."
A$155 str ".D88K"
tblA1 dfb $bd
dfb 01,03,01,03,25,02,02,04,10,10
dfb 10,10,10,10,10,10,10,10,10,10
dfb 10,10,10,10,10,11,11,11,11,11
dfb 11,25,11,11,11,11,11,11,11,11
dfb 11,10,10,11,11,05,50,75,15,52
dfb 40,40,40,42,52,52,12,10,40,15
dfb 15,15,15,15,67,15,25,15,67,67
dfb 25,82,28,28,28,28,34,34,10,11
dfb 11,20,20,20,20,20,20,20,20,20
dfb 20,52,52,50,50,52,52,36,36,75
dfb 50,51,51,52,52,55,56,57,58,59
dfb 60,61,78,17,80,63,64,20,20,20
dfb 20,20,69,69,69,69,71,71,86,86
dfb 87,87,84,85,37,37,37,28,62,60
dfb 81,60,36,82,71,25,25,25,25,01
dfb 25,25,25,11,60
tblA2 dfb $bd
dfb 00,00,00,00,00,00,00,00,19,18
dfb 14,33,42,43,54,53,45,46,47,16
dfb 48,49,41,41,33,41,19,18,46,33
dfb 33,74,42,43,54,53,45,45,16,48
dfb 49,17,17,17,17,46,46,46,47,53
dfb 35,35,35,00,42,49,76,16,00,77
dfb 77,77,17,68,68,73,73,26,26,73
dfb 26,83,30,31,32,29,33,33,14,14
dfb 14,23,22,22,22,21,21,21,21,21
dfb 21,18,18,45,45,43,43,44,44,48
dfb 48,48,45,54,54,00,00,00,00,00
dfb 59,00,00,14,33,00,00,24,66,65
dfb 66,65,70,70,70,70,74,74,74,74
dfb 88,88,00,00,38,38,38,27,00,62
dfb 00,81,16,16,13,13,43,72,19,00
dfb 39,39,00,89,00
*
* Les conditions
*
*C = 10
tblC$ da $bdbd
da C$1,C$2,C$3,C$4,C$5,C$6,C$7,C$8,C$9,C$10
C$1 str ""
C$2 str ""
C$3 str ""
C$4 str ""
C$5 str ""
C$6 str ""
C$7 str ""
C$8 str ""
C$9 str ""
C$10 str ""
*
* Les objets dans les salles
*
@ -505,9 +257,9 @@ O dfb $bd
dfb 40,33,41,53,43,10,00,21,22,26
dfb 01,06,00,17,20,00,47,19,00
refO$ da $bdbd
da O$1,O$2,O$3,O$4,O$5,O$6,O$7,O$8,O$9,O$10
da O$11,O$12,O$13,O$14,O$15,O$16,O$17,O$18,O$19
*refO$ da $bdbd
* da O$1,O$2,O$3,O$4,O$5,O$6,O$7,O$8,O$9,O$10
* da O$11,O$12,O$13,O$14,O$15,O$16,O$17,O$18,O$19
tblO$ da $bdbd
da O$1,O$2,O$3,O$4,O$5,O$6,O$7,O$8,O$9,O$10
@ -669,7 +421,7 @@ tblV dfb $bd
dfb 68,69,69,70,70,71,72,73,73,74
dfb 75,76,77,77,78,78,79,80,80,80
dfb 81,81,82,83,83,84,84,84,85,85
dfb 85,86,87,87,88,88,89,89,00
dfb 85,86,87,87,88,88,89,89,90 ; last was 00, now 90
dfb 200
V$1 str 'N'
@ -810,7 +562,7 @@ V$135 str 'DIRE'
V$136 str 'TRAJ'
V$137 str 'TOUT'
V$138 str 'TOTA'
V$139 str ' '
V$139 str 'RANG' ; RANGER (TUBE DANS GLACE => RANG TUBE)
V$200 str 'TIME'
@ -898,7 +650,10 @@ str4600 asc ''00
str4610 asc 'Le sas se referme derriere vous, le tableau de controle s'27'allume et l'27'ordinateur de bord vous demande le mot de passe pour le retour ?'00
str4615 asc 'Le vaisseau de secours s'27'eloigne, au loin vous voyez Genius qui pleure derriere un hublot'00
str4616 asc ' VOUS AVEZ GAGNE'00
str4618 asc 'Mais, que se passe-t-il,vous avez du vous tromper de mot de passe, votre '00
str4618_1 asc 'Mais, que se passe-t-il,vous avez du vous tromper de mot de passe, votre vaisseau de poche fonce sur le soleil.'00
str4618_2 asc 'Vous venez de realiser que Genius pleurait de JOIE...!'00
str4618_3 asc 'Comme je le pensais , vous vous etes stupidement fait avoir, et votre cadavre (ou ce qu'27'il en reste) reposera a jamais dans l'27'espace...'00
str4620 asc 'La soucoupe a explose au decollage.'00
str4630 asc 'Energie restante :'00
str4640 asc 'Petit drole...Le chronometre est affiche en permanence'00
@ -933,15 +688,10 @@ str4890 asc 'Il y a effectivement un ordinateur parmi le tableau de controle.'00
str4891 asc 'L'27'ordinateur n'27'est pas en fonction.'00
str4900 asc 'Sur le laser, vous voyez trois boutons : jaune, rouge et bleu.'00
str4910 asc 'Vous etes entre dans le desintegrateur de particules...'00
str4920 asc 'Vous etes entre dans le vaisseau par le sas a l'27'ouest qui ne s'27'ouvre pas de l'27'interieur.'00
str4920 asc 'Vous etes entre dans le vaisseau par le sas a l'27'ouest qui ne s'27'ouvre pas de'0d'l'27'interieur.'00
str5500 asc 0d'Etes-vous sur (O/N) ?'00
str16000 asc 'vaisseau de poche fonce sur le soleil, '00
str16010 asc 'Vous venez de realiser que Genius'00
str16020 asc 'pleurait de JOIE...!'00
str18005 asc 'Comme je le pensais , vous vous etes stupidement fait avoir, et votre cadavre (ou ce qu'27'il en reste) reposera a jamais dans l'27'espace...'00
str19050 asc ' Merci d'27'avoir essaye...!'00
str19060 asc ' Reveillez-vous , c'27'est fini !'00

Binary file not shown.

View File

@ -32,6 +32,7 @@
KBD = $e0c000
KBDSTROBE = $e0c010
RDVBLBAR = $e0c019
VERTCNT = $e0c02e
GSOS = $e100a8
*-----------------------
@ -87,9 +88,9 @@ ICI phk
tdc
sta myDP
lda #TEXTBUFFER
lda #tblMP$
stal $300
lda #^TEXTBUFFER
lda #^tblMP$
stal $302
_TLStartUp

File diff suppressed because it is too large Load Diff

View File

@ -60,8 +60,8 @@ idxTIMER = 200
eom
@gotoxy mac
ldx #>]1
ldy #<]1
ldx #]1
ldy #]2
jsr GOTOXY
eom
@ -93,18 +93,6 @@ PLAY sep #$30
sta CV
jsr TABV ; on a 20 lignes de 10 caract<63>res de haut
* @print #strCOMMANDE ; commande avec energie
* jsr GETLN1
*
* ldal $c034
* inc
* stal $c034
*
*]lp ldal $c000
* bpl ]lp
* stal $c010
* jmp QUIT
*-----------------------------------
* DU BASIC A L'ASSEMBLEUR (BEURK)
*-----------------------------------
@ -266,7 +254,7 @@ PLAY sep #$30
beq :310
@print #strRETURN
*-----------------------------------
* 500 - ACCEPTATION COMMANDE
*-----------------------------------
@ -293,6 +281,8 @@ PLAY sep #$30
:520 jmp :3500
*-----------
:530 @print #strCOMMANDE ; commande avec energie
:535 jsr GETLN1
@ -367,236 +357,7 @@ PLAY sep #$30
:1040 @print #strEXCLAM
jmp :500
* lda E$
* bne :1700
*
*:1000 lda #0
* sta NL
*
*:1100 inc NL
*
* lda T
* beq :1150
*
* lda NL ; E$=C$(NL)
* asl
* tax
* lda tblC$,x
* sta LINNUM
* lda tblC$+1,x
* sta LINNUM+1
*
* ldy #0
* lda (LINNUM),y
* tax
*]lp lda (LINNUM),y
* sta E$,y
* iny
* dex
* bpl ]lp
* jmp :1400
*
*:1150 lda NL
* cmp #AA
* bcc :1200
* beq :1200
*
* lda A1
* cmp #1
* bne :1170
* jmp :500
*
*:1170 @print #strIMPOSSIBLE
*
* lda MO$1 ; les directions
* cmp #9
* bcs :1190
*
* @print #strCECHEMIN
*
*:1190 @print #strEXCLAM
* jmp :500
*
*:1200 ldx NL
* lda tblA1,x
* cmp MO$1
* beq :1210
* jmp :1100
*
*:1210 lda tblA2,x
* beq :1230
* cmp MO$2
* beq :1230
* jmp :1100
*
*:1230 lda tblAL$,x
* sta LINNUM
* lda tblAH$,x
* sta LINNUM+1
*
* ldy #0
* lda (LINNUM),y
* tax
*]lp lda (LINNUM),y
* sta E$,y
* iny
* dex
* bpl ]lp
*
*-----------------------------------
* 1400 - CONDITIONS
*-----------------------------------
*
*:1400 lda #1
* sta E
*
*:1420 ldx E
* lda E$,x
* cmp #"."
* bne :1430
* jmp :1700 ; do actions
*
*:1430 sec
* sbc #"A"
* asl
* pha
*
* lda #0
* sta OK
*
* lda E$+1,x
* sec
* sbc #"0"
* tay
* lda tblD2H,y
* sta N
*
* lda E$+2,x
* sec
* sbc #"0"
* clc
* adc N
* sta N
*
* pla
* tax
* lda tbl1500,x
* sta :1450+1
* lda tbl1500+1,x
* sta :1450+2
*
*:1450 jsr $bdbd
*
* lda OK
* bne :1470
* jmp :1100
*
*:1470 lda E
* clc
* adc #3
* sta E
* jmp :1420
*
*--------
*
*tbl1500 da :1500,:1510,:1520,:1530,:1540
* da :1550,:1560,:1570,:1580
*
*-------- A
*
*:1500 lda N
* cmp SALLE
* bne :1505
* lda #1
* sta OK
*:1505 rts
*
*-------- B
*
*:1510 ldx N
* lda O,x
* cmp #-1
* beq :1515
* cmp SALLE
* bne :1516
*:1515 lda #1
* sta OK
*:1516 rts
*
*-------- C
*
*:1520 ldx N
* lda O,x
* cmp SALLE
* bne :1525
* rts
*:1525 cmp #-1
* bne :1527
* rts
*:1527 lda #1
* sta OK
* rts
*
*-------- D
*
*:1530 ldx N
* lda O,x
* cmp #-1
* bne :1535
* lda #1
* sta OK
*:1535 rts
*
*-------- E
*
*:1540 ldx N
* lda P,x
* cmp #1
* bne :1545
* lda #1
* sta OK
*:1545 rts
*
*-------- F
*
*:1550 ldx N
* lda P,x
* bne :1555
* lda #1
* sta OK
*:1555 rts
*
*-------- G
*
*:1560 ldx N
* lda C,x
* cmp #1
* bne :1565
* lda #1
* sta OK
*:1565 rts
*
*-------- H
*
*:1570 rts
* lda VBL ; LOGO - Use a better RND?
* eor VERTCNT
* cmp N
* bcs :1575
* lda #1
* sta OK
*:1575 rts
*
*-------- I
*
*:1580 lda N
* cmp SALLE
* beq :1585
* lda #1
* sta OK
*:1585 rts
*
*-----------------------------------
* 1700 - ACTIONS
*-----------------------------------
@ -614,22 +375,21 @@ PLAY sep #$30
:1710 ldx E
lda E$,x
sec
sbc #"A"
asl
sbc #'A'
pha ; LI
lda E$+1,x
* cmp #"."
* beq :1740
cmp #'.'
beq :1740
sec
sbc #"0"
sbc #'0'
tay
lda tblD2H,y
sta N
lda E$+2,x
sec
sbc #"0"
sbc #'0'
clc
adc N
sta N
@ -641,7 +401,8 @@ PLAY sep #$30
cmp #190 ; 255-65 = 190 = la fin
beq :1760
:1745 tax
:1745 asl
tax
lda tbl1800,x
sta :1750+1
lda tbl1800+1,x
@ -803,35 +564,6 @@ tbl1800 da :1800,:1900
*-------- G
*:2400 ldx N
* lda tblAL$,x
* sta LINNUM
* lda tblAH$,x
* sta LINNUM+1
*
* ldy E ; +3
* iny
* iny
* sty E
* iny
* lda (LINNUM),y
* sec
* sbc #"0"
* tax
* lda tblD2H,x
*
* ldx N
* sta C,x
*
* iny
* lda (LINNUM),y
* sec
* sbc #"0"
* clc
* adc C,x
* sta C,x
* rts
:2400 ldy E ; +3
iny
iny
@ -839,7 +571,7 @@ tbl1800 da :1800,:1900
iny
lda E$,y
sec
sbc #"0"
sbc #'0'
tax
lda tblD2H,x
@ -849,7 +581,7 @@ tbl1800 da :1800,:1900
iny
lda E$,y
sec
sbc #"0"
sbc #'0'
clc
adc C,x
sta C,x
@ -862,36 +594,6 @@ tbl1800 da :1800,:1900
sta O,x
rts
*:2500 ldx N
* lda O,x
* cmp #-1
* bne :2510
*
* dec S
*
*:2510 lda #0
* sta O,x
* rts
*
*:2500 lda N ; exchange object
* asl ; do it here on pointers
* tax ; not on strings
* lda tblO$,x
* pha
* lda tblO$+1,x
* pha
*
* lda tblO$+2,x
* sta tblO$,x
* lda tblO$+3,x
* sta tblO$+1,x
*
* pla
* sta tblO$+3,x
* pla
* sta tblO$+2,x
* rts
*-------- I
:2600 lda N
@ -979,9 +681,11 @@ tbl1800 da :1800,:1900
lda O,x
cmp #-1
bne :3516
:3512 ldx #8
dec C,x
:3514 ldx #8
dec C,x
lda C,x
bne :3516
jmp :4740
@ -989,15 +693,16 @@ tbl1800 da :1800,:1900
:3516 ldx #1
lda C,x
beq :3534
sec
sbc #1
sta C,x
:3518 dec C,x
:3520 lda C,x
cmp #1
bcs :3534
:3522 ldx #3
lda O,x
cmp #255
cmp #-1
bne :3524
jmp :4750
@ -1017,7 +722,7 @@ tbl1800 da :1800,:1900
ldx #$13
lda O,x
cmp #51
bne :3530
beq :3530
jmp :4780
:3530 lda SALLE
@ -1040,7 +745,7 @@ tbl1800 da :1800,:1900
lda P,x
beq :3537
ldx #2
:3535 ldx #2
dec C,x
lda C,x
cmp #1
@ -1050,14 +755,11 @@ tbl1800 da :1800,:1900
lda #0
sta P,x
:3537 ldx #$c
:3537 ldx #$c ; LOGO - It was a PEEK not a DEEK
lda P,x
beq :3538
bmi :3538
lda P+1,x
beq :3538
bpl :3540
cmp #0
bcs :3540
:3538 lda SALLE
cmp #50
beq :3540
@ -1078,7 +780,7 @@ tbl1800 da :1800,:1900
lda C,x
beq :3548
:3546 ldx #6
:3546
dec C,x
lda C,x
bne :3548
@ -1103,7 +805,7 @@ tbl1800 da :1800,:1900
lda C,x
beq :3556
:3554 ldx #4
:3554
dec C,x
lda C,x
cmp #1
@ -1205,7 +907,8 @@ tbl4000 da $bdbd,:4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090
:4250 @print #str4250
rts
:4260 @draw #57
:4260 jsr setHGR
@draw #57
lda #44
sta SALLE
rts
@ -1301,32 +1004,39 @@ tbl4000 da $bdbd,:4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090
:4540 @print #str4540
rts
:4550 @draw #56 ; LOGO
:4550 jsr setHGR
@draw #56 ; LOGO
jsr :12020
lda #21
sta SALLE
@gotoxy #43;#21-8
@gotoxy #43;#21 ; Vous avez deux essais pour
@printxy #str4550
@gotoxy #43;#29-8
@gotoxy #43;#29 ; entrer le mot de passe
@printxy #str4552
@gotoxy #43;#37 ; entrer le mot de passe
jsr :4556_input ; saisie 1
bcc :4554 ; ok
@gotoxy #43;#45 ; entrer le mot de passe
@print #str4553 ; FAUX!
@gotoxy #43;#37 ; entrer le mot de passe
jsr :4556_input ; saisie 2
bcc :4554 ; ok
@gotoxy #43;#45 ; entrer le mot de passe
@print #str4554 ; encore faux
jmp :perdu ; ciao
:4554 @gotoxy #43;#42-8
:4554 @gotoxy #43;#56 ; 42
@printxy #str4558
@gotoxy #43;#56-8
@gotoxy #43;#64 ; 56
@printxy #str4559_1
@gotoxy #43;#67-8
@gotoxy #43;#72 ; 67
@printxy #str4559_2
@gotoxy #43;#80-8
@gotoxy #43;#80
@printxy #str4559_3
@gotoxy #43;#88-8
@gotoxy #43;#88
@printxy #str4559_4
ldx #>MP$
@ -1382,11 +1092,30 @@ MDP$ asc 'MANOIR'
:4610 @print #str4610
jsr GETLN1
cpx #5
bcc :4615
cpx #6
bcs :4615
jsr rewriteSTRING
@print #str4615
ldx #5-1
]lp lda TEXTBUFFER,x
cmp MP$,x
bne :4615
dex
bpl ]lp
jmp :gagne
:4615 @print #str4615
@explode
@print #str4616
rts
@wait #400
@print #str4618_1
@wait #200
@print #str4618_2
@wait #200
@print #str4618_3
jmp :perdu
:4620 @print #str4620
rts
@ -1418,6 +1147,7 @@ MDP$ asc 'MANOIR'
:4710 lda SALLE
pha
jsr setHGR
@draw #54
pla
sta SALLE
@ -1425,6 +1155,7 @@ MDP$ asc 'MANOIR'
:4720 lda SALLE
pha
jsr setHGR
@draw #55
pla
sta SALLE
@ -1756,6 +1487,25 @@ initALL
ldx #$c
sta P,x
*--- Le mot de passe
]lp jsr RND
and #%0000_0111 ; 7
cmp #%0000_0101 ; 5
bcs ]lp
asl
tax
lda tblMP$,x
sta LINNUM
lda tblMP$+1,x
sta LINNUM+1
ldy #5-1
]lp lda (LINNUM),y
sta MP$,y
dey
bpl ]lp
*---
ldx #nbO ; reset object table
@ -1764,11 +1514,11 @@ initALL
dex
bpl ]lp
ldx #nbO*2 ; reset object table
]lp lda refO$,x
sta tblO$,x
dex
bpl ]lp
* ldx #nbO*2 ; reset object table
*]lp lda refO$,x
* sta tblO$,x
* dex
* bpl ]lp
rts
*-----------------------------------
@ -1792,9 +1542,6 @@ initALL
*-----------------------------------
:perdu @explode
@draw #3
@wait #400
jsr setTEXTFULL
@print #strPERDU
* @play #zikPERDU
@ -1815,8 +1562,6 @@ initALL
*-----------------------------------
:gagne
@draw #6
@wait #400
jsr setTEXTFULL
@print #strGAGNE
* @play #zikINTRODUCTION
@ -1979,8 +1724,10 @@ waitMS lda #0 ; skip if not zero
sty LINNUM
doW1 ldy LINNUM
doW2 lda #60 ; 1/100<30>me de seconde
jsr WAIT
doW2 ldal RDVBLBAR
bpl doW2
*doW3 ldal RDVBLBAR
* bmi doW3
dey
bne doW2
dex

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

View File

@ -1,6 +1,4 @@
RETOUR DU DR. GENIUS - A French Oric adventure...
E
E RETOUR DU DR. GENIUS - A French Oric adventure...
E
N
D
@ -55,7 +53,7 @@ S
O
O
Pren Tube
Tube Dans Glac
Rang Tube ; au lieu de TUBE DANS GLAC (qui ne fonctionnait pas)
E
E
N
@ -90,9 +88,8 @@ E
E
N
Corr Traj
Allu Ordi
password is Manoir'; write down password for way back
possible codes for the return password are ORIC1 ATMOS GENIE ECHEC ARGON
Allu Ordi password is "MANOIR"; write down password for way back
possible return passwords are ORIC1 ATMOS GENIE ECHEC ARGON
Etei Ordi
S
O
@ -108,7 +105,6 @@ D
S
O
O
O
S
E
N

View File

@ -3,11 +3,13 @@
400 0, 1, 2 - dŽfinit le cadre dessinŽ
401 pointeurs sur les 57 images du jeu
47A..47E password
480 P - les pointeurs 480.4FF est mis ˆ zŽro
491 ˆ 1 = aveugle
491 - ˆ 1 = aveugle
4A0 C - les conditions
4BF flag pour le temps, 0:off, 1:on
4BF - flag pour le temps, 0:off, 1:on
4C0 O - les objets
4F7..4F8 CH, unitŽs de force
4F9 S(1)
4FA SALLE

View File

@ -132,21 +132,25 @@ SALLE 2600 POKE #BFFF,N:RETURN
3000 BR=100:RETURN
I'm dead 3100 POP:WAIT 30:GOTO 18000
O+N,SA 3200 SA=PEEK(#BFFF):POKE #4C0+N,SA:RETURN
P+1 3500 IF PEEK(#BFFF)=11 THEN POKE #481,1
P+1 3502 IF PEEK(#BFFF)=19 THEN POKE #481,0
P+2 3504 IF PEEK(#BFFF)<>36 OR PEEK(#482)=1 THEN 3510
O+D, P+2 3506 IF PEEK(#4CD)=255 THEN WAIT 100:GOSUB 4010:POKE #482,1:GOTO 3510
3508 WAIT 100:GOTO 4020
O+4 3510 IF PEEK(#4C4)<>255 THEN 3516
C+8 3512 A=PEEK(#4A8)-1:POKE #4A8,A
C+8 3514 IF PEEK(#4A8)=0 THEN 4740
C+1 3516 IF PEEK(#4A1)=0 THEN 3534
C+1 3518 A=PEEK(#4A1)-1:POKE #4A1,A
3520 IF A>0 THEN 3534
O+3 3522 IF PEEK(#4C3)=255 THEN 4750
O+3 3524 IF PEEK(#4C3)<>51 THEN 4760
3526 A=PEEK(#BFFF):IF A=51 THEN 4750
O+4 3528 IF PEEK(#4C4)<>51 AND PEEK(#4D3)<>51 THEN 4780
3530 IF A=46 OR A=49 THEN 4770
P+$C, P+$10 3532 POKE #48C,0:GOSUB 4790:POKE #490,1:GOTO 3540
P+$E 3534 IF PEEK(#48E)=0 THEN 3537
@ -154,15 +158,18 @@ C+2 3535 A=PEEK(#4A2)-1:POKE #4A2,A:IF A>0 THEN 3540
P+$E 3536 POKE #48E,0
P+$C..$D 3537 IF DEEK(#48C)>0 THEN 3540
SALLE 3538 IF PEEK(#BFFF)=50 THEN 3540 ELSE 4800
P+$10 3540 IF PEEK(#490)=0 THEN 3544
C+5 3542 A=PEEK(#4A5)-1:POKE #4A5,A:IF A=1 THEN 4810
C+6 3544 IF PEEK(#4A6)=0 THEN 3548
C+6 3546 A=PEEK(#4A6)-1:POKE #4A6,A:IF A=0 THEN GOSUB 4830:POKE #488,0
P+8 3548 IF PEEK(#488)=1 THEN 3552
C+7 3550 A=PEEK(#4A7)-1:POKE #4A7,A:IF A=0 THEN GOSUB 4580:GOTO 18E3
C+4 3552 IF PEEK(#4A4)=0 THEN 3556
C+4 3554 A=PEEK(#4A4)-1:POKE #4A4,A:IF A=1 THEN 4840
3556 GOTO 530
4010 PRINT "Une boule d'acier tombee du plafond"
4011 PRINT "vient de s'ecraser sur votre casque.":RETURN
4020 PRINT "Une boule d'acier vient de tomber du"