Game is done!

This commit is contained in:
Antoine Vignau 2023-11-22 21:33:57 +01:00
parent 676623fb69
commit c230ccf303
6 changed files with 46 additions and 10076 deletions

View File

@ -1,2 +0,0 @@
lemanoir=Type(FF),AuxType(2000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
drgenius=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)

View File

@ -13,39 +13,27 @@
* SOFTSWITCHES AND FRIENDS
*-----------------------------------
WNDLFT = $20 ; left edge of text window
WNDWDTH = $21 ; width of text window
WNDTOP = $22 ; top of text window
WNDBTM = $23 ; bottom+1 of text window
CH = $24 ; cursor horizontal position
CV = $25 ; cursor vertical position
PROMPT = $33 ; prompt character
LINNUM = $50 ; result from GETADR
X0L = $e0 ; X-coord
X0H = $e1
Y0 = $e2 ; Y-coord
HPAG = $e6
maxY = 191 ; 0 to 191 = 192
chrRET = $0d
chrSPC = $20
chrRET2 = $8d
chrSPC2 = $a0
cursorCHAR = ">"
TEXTBUFFER = $200
PRODOS = $bf00
KBD = $c000
CLR80COL = $c000
SET80COL = $c001
CLR80VID = $c00c
SET80VID = $c00d
KBDSTROBE = $c010
VBL = $c019
MONOCOLOR = $c021
NEWVIDEO = $c029
VERTCNT = $c02e
SPKR = $c030
CYAREG = $C036
@ -57,9 +45,6 @@ TXTPAGE1 = $c054
TXTPAGE2 = $c055
LORES = $c056
HIRES = $c057
CLRAN = $c05d
SETAN3 = $c05e
CLRAN3 = $c05f
*--- The firmware routines
@ -114,9 +99,6 @@ SETKBD = $FE89
* CODE BASIC EN ASM :-)
*-----------------------------------
ldx #>PL
ldy #<PL
sec ; 1 MHz vaincra!
jsr IDROUTINE
bcs notiigs
@ -133,12 +115,7 @@ notiigs
REPLAY
jsr initALL
jsr HGR
* jsr setHGR
* jsr HOME
* lda #20
* jsr TABV
lda #20 ; et c'est fen<65>trŽ en plus !
sta WNDTOP
lda #24
@ -263,8 +240,6 @@ REPLAY
:500 lda #1
sta T
lda #0
* sta Y1
* sta Y2
sta N
jmp :1000
@ -1564,7 +1539,7 @@ str4585 asc 8D"D"A7"EAU QUI VOUS PERMET D"A7"ETEINDRE LE FEU"00
bmi :4600 ; t'as gagnŽ
:4595 jmp :4570 ; t'as perdu
str4590 asc 8D"NO DE CODE : "00
str4590 asc 8D"NO DE CODE? "00
*-----------------------------------
* 4600
@ -2221,13 +2196,54 @@ strREPLAY asc 8D"VOULEZ-VOUS REJOUER ? "00
:32000
@play #zikGAGNE
:32010
jsr setTEXTFULL
@print #strGAGNE
jmp :20050
* o
* O
* / \
*--- L'animation du nain qui rode
ldx #1
ldy #190
]lp lda #" "
sta $551,x
sta $5d1,x
sta $650,x
lda #"o"
sta $552,x
lda #"O"
sta $5d2,x
lda #"/"
sta $651,x
lda #"\"
sta $653,x
bit SPKR
tya
jsr WAIT
lda #"\"
sta $651,x
lda #"/"
sta $653,x
tya
jsr WAIT
bit SPKR
tya
clc
adc #2
tay
inx
cpx #30
bcc ]lp
jmp :20050
*--------

File diff suppressed because it is too large Load Diff

View File

@ -1,107 +0,0 @@
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
1 | 1 lemanoir.s 1 | Comment | 11 | | 0 | 00/8000 | *
2 | 1 lemanoir.s 2 | Comment | 11 | | 0 | 00/8000 | * Le manoir du Dr Genius
3 | 1 lemanoir.s 3 | Comment | 11 | | 0 | 00/8000 | *
4 | 1 lemanoir.s 4 | Comment | 11 | | 0 | 00/8000 | * (c) 1983, Loriciels (Oric)
5 | 1 lemanoir.s 5 | Comment | 11 | | 0 | 00/8000 | * (c) 2023, Brutal Deluxe Software (Apple II)
6 | 1 lemanoir.s 6 | Comment | 11 | | 0 | 00/8000 | *
7 | 1 lemanoir.s 7 | Empty | 11 | | 0 | 00/8000 |
8 | 1 lemanoir.s 8 | Directive | 11 | | 0 | 00/8000 | mx %11
9 | 1 lemanoir.s 9 | Directive | 11 | | 0 | 00/8000 | org $2000
10 | 1 lemanoir.s 10 | Directive | 11 | | 0 | 00/2000 | lst off
11 | 1 lemanoir.s 11 | Empty | 11 | | 0 | 00/2000 |
12 | 1 lemanoir.s 12 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
13 | 1 lemanoir.s 13 | Comment | 11 | | 0 | 00/2000 | * SOFTSWITCHES AND FRIENDS
14 | 1 lemanoir.s 14 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
15 | 1 lemanoir.s 15 | Empty | 11 | | 0 | 00/2000 |
16 | 1 lemanoir.s 16 | Equivalence | 11 | | 0 | 00/2000 | leJEU = $4000
17 | 1 lemanoir.s 17 | Empty | 11 | | 0 | 00/2000 |
18 | 1 lemanoir.s 18 | Equivalence | 11 | | 0 | 00/2000 | ptrPREFIX = $280
19 | 1 lemanoir.s 19 | Equivalence | 11 | | 0 | 00/2000 | proBUFFER = $b800
20 | 1 lemanoir.s 20 | Equivalence | 11 | | 0 | 00/2000 | PRODOS = $bf00
21 | 1 lemanoir.s 21 | Empty | 11 | | 0 | 00/2000 |
22 | 1 lemanoir.s 22 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
23 | 1 lemanoir.s 23 | Comment | 11 | | 0 | 00/2000 | * LOAD THE GAME
24 | 1 lemanoir.s 24 | Comment | 11 | | 0 | 00/2000 | *-----------------------------------
25 | 1 lemanoir.s 25 | Empty | 11 | | 0 | 00/2000 |
26 | 1 lemanoir.s 26 | Code | 11 | | 3 | 00/2000 : 20 00 BF | jsr {$bf00} ; get the prefix
27 | 1 lemanoir.s 27 | Data | 11 | | 1 | 00/2003 : C7 | dfb $c7
28 | 1 lemanoir.s 28 | Data | 11 | | 2 | 00/2004 : 56 20 | da proGETPFX
29 | 1 lemanoir.s 29 | Empty | 11 | | 0 | 00/2006 |
30 | 1 lemanoir.s 30 | Code | 11 | | 3 | 00/2006 : 20 00 BF | jsr {$bf00} ; set it
31 | 1 lemanoir.s 31 | Data | 11 | | 1 | 00/2009 : C6 | dfb $c6
32 | 1 lemanoir.s 32 | Data | 11 | | 2 | 00/200A : 56 20 | da proGETPFX
33 | 1 lemanoir.s 33 | Empty | 11 | | 0 | 00/200C |
34 | 1 lemanoir.s 34 | Code | 11 | | 3 | 00/200C : 20 00 BF | jsr {$bf00}
35 | 1 lemanoir.s 35 | Data | 11 | | 1 | 00/200F : C8 | dfb $c8
36 | 1 lemanoir.s 36 | Data | 11 | | 2 | 00/2010 : 59 20 | da proOPEN
37 | 1 lemanoir.s 37 | Code | 11 | | 2 | 00/2012 : B0 33 | bcs quitME
38 | 1 lemanoir.s 38 | Empty | 11 | | 0 | 00/2014 |
39 | 1 lemanoir.s 39 | Code | 11 | | 3 | 00/2014 : AD 5E 20 | lda proOPEN+5 ; zou, on prend l'ID
40 | 1 lemanoir.s 40 | Code | 11 | | 3 | 00/2017 : 8D 6A 20 | sta proGETEOF+1
41 | 1 lemanoir.s 41 | Code | 11 | | 3 | 00/201A : 8D 60 20 | sta proREAD+1
42 | 1 lemanoir.s 42 | Code | 11 | | 3 | 00/201D : 8D 68 20 | sta proCLOSE+1
43 | 1 lemanoir.s 43 | Empty | 11 | | 0 | 00/2020 |
44 | 1 lemanoir.s 44 | Code | 11 | | 3 | 00/2020 : 20 00 BF | jsr {$bf00} ; longueur du fichier
45 | 1 lemanoir.s 45 | Data | 11 | | 1 | 00/2023 : D1 | dfb $d1
46 | 1 lemanoir.s 46 | Data | 11 | | 2 | 00/2024 : 69 20 | da proGETEOF
47 | 1 lemanoir.s 47 | Code | 11 | | 2 | 00/2026 : B0 1F | bcs quitME
48 | 1 lemanoir.s 48 | Empty | 11 | | 0 | 00/2028 |
49 | 1 lemanoir.s 49 | Code | 11 | | 3 | 00/2028 : AD 6B 20 | lda proGETEOF+2
50 | 1 lemanoir.s 50 | Code | 11 | | 3 | 00/202B : 8D 63 20 | sta proREAD+4
51 | 1 lemanoir.s 51 | Code | 11 | | 3 | 00/202E : AD 6C 20 | lda proGETEOF+3
52 | 1 lemanoir.s 52 | Code | 11 | | 3 | 00/2031 : 8D 64 20 | sta proREAD+5
53 | 1 lemanoir.s 53 | Empty | 11 | | 0 | 00/2034 |
54 | 1 lemanoir.s 54 | Code | 11 | | 3 | 00/2034 : 20 00 BF | jsr {$bf00} ; lecture du fichier
55 | 1 lemanoir.s 55 | Data | 11 | | 1 | 00/2037 : CA | dfb $ca
56 | 1 lemanoir.s 56 | Data | 11 | | 2 | 00/2038 : 5F 20 | da proREAD
57 | 1 lemanoir.s 57 | Code | 11 | | 2 | 00/203A : B0 0B | bcs quitME
58 | 1 lemanoir.s 58 | Empty | 11 | | 0 | 00/203C |
59 | 1 lemanoir.s 59 | Code | 11 | | 3 | 00/203C : 20 00 BF | jsr {$bf00} ; fermeture du fichier
60 | 1 lemanoir.s 60 | Data | 11 | | 1 | 00/203F : CC | dfb $cc
61 | 1 lemanoir.s 61 | Data | 11 | | 2 | 00/2040 : 67 20 | da proCLOSE
62 | 1 lemanoir.s 62 | Code | 11 | | 2 | 00/2042 : B0 03 | bcs quitME
63 | 1 lemanoir.s 63 | Empty | 11 | | 0 | 00/2044 |
64 | 1 lemanoir.s 64 | Code | 11 | | 3 | 00/2044 : 4C 00 40 | jmp {$4000}
65 | 1 lemanoir.s 65 | Empty | 11 | | 0 | 00/2047 |
66 | 1 lemanoir.s 66 | Code | 11 | | 3 | 00/2047 : 20 00 BF | quitME jsr {$bf00} ; exit
67 | 1 lemanoir.s 67 | Data | 11 | | 1 | 00/204A : 65 | dfb $65
68 | 1 lemanoir.s 68 | Data | 11 | | 2 | 00/204B : 4F 20 | da proQUIT
69 | 1 lemanoir.s 69 | Code | 11 | | 2 | 00/204D : 00 BD | brk $bd ; on ne se refait pas ;-)
70 | 1 lemanoir.s 70 | Empty | 11 | | 0 | 00/204F |
71 | 1 lemanoir.s 71 | Comment | 11 | | 0 | 00/204F | *--- Data
72 | 1 lemanoir.s 72 | Empty | 11 | | 0 | 00/204F |
73 | 1 lemanoir.s 73 | Data | 11 | | 1 | 00/204F : 04 | proQUIT dfb $4
74 | 1 lemanoir.s 74 | Data | 11 | | 1 | 00/2050 : 00 | ds 1
75 | 1 lemanoir.s 75 | Data | 11 | | 2 | 00/2051 : 00 00 | ds 2
76 | 1 lemanoir.s 76 | Data | 11 | | 1 | 00/2053 : 00 | ds 1
77 | 1 lemanoir.s 77 | Data | 11 | | 2 | 00/2054 : 00 00 | ds 2
78 | 1 lemanoir.s 78 | Empty | 11 | | 0 | 00/2056 |
79 | 1 lemanoir.s 79 | Data | 11 | | 1 | 00/2056 : 01 | proGETPFX dfb $1
80 | 1 lemanoir.s 80 | Data | 11 | | 2 | 00/2057 : 80 02 | da {$280}
81 | 1 lemanoir.s 81 | Empty | 11 | | 0 | 00/2059 |
82 | 1 lemanoir.s 82 | Data | 11 | | 1 | 00/2059 : 03 | proOPEN dfb $3
83 | 1 lemanoir.s 83 | Data | 11 | | 2 | 00/205A : 6E 20 | da pLEJEU ; pathname (par dŽfaut, le moteur)
84 | 1 lemanoir.s 84 | Data | 11 | | 2 | 00/205C : 00 B8 | da {$b800} ; io_buffer
85 | 1 lemanoir.s 85 | Data | 11 | | 1 | 00/205E : 00 | ds 1 ; ref_num
86 | 1 lemanoir.s 86 | Empty | 11 | | 0 | 00/205F |
87 | 1 lemanoir.s 87 | Data | 11 | | 1 | 00/205F : 04 | proREAD dfb $4
88 | 1 lemanoir.s 88 | Data | 11 | | 1 | 00/2060 : 00 | ds 1 ; ref_num
89 | 1 lemanoir.s 89 | Data | 11 | | 2 | 00/2061 : 00 40 | da {$4000} ; data_buffer
90 | 1 lemanoir.s 90 | Data | 11 | | 2 | 00/2063 : 00 00 | ds 2 ; request_count
91 | 1 lemanoir.s 91 | Data | 11 | | 2 | 00/2065 : 00 00 | ds 2 ; transfer_count
92 | 1 lemanoir.s 92 | Empty | 11 | | 0 | 00/2067 |
93 | 1 lemanoir.s 93 | Data | 11 | | 1 | 00/2067 : 01 | proCLOSE dfb $1
94 | 1 lemanoir.s 94 | Data | 11 | | 1 | 00/2068 : 00 | ds 1 ; ref_num
95 | 1 lemanoir.s 95 | Empty | 11 | | 0 | 00/2069 |
96 | 1 lemanoir.s 96 | Data | 11 | | 1 | 00/2069 : 02 | proGETEOF dfb $2
97 | 1 lemanoir.s 97 | Data | 11 | | 1 | 00/206A : 00 | ds 1 ; ref_num
98 | 1 lemanoir.s 98 | Data | 11 | | 3 | 00/206B : 00 00 00 | ds 3 ; eof
99 | 1 lemanoir.s 99 | Empty | 11 | | 0 | 00/206E |
100 | 1 lemanoir.s 100 | Data | 11 | | 9 | 00/206E : 08 44 72 47 | pLEJEU str 'DrGenius'
| | | | | | 65 6E 69 75 |
| | | | | | 73 |
101 | 1 lemanoir.s 101 | Empty | 11 | | 0 | 00/2077 |
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------