1 | TITLE TO-SNAP:
|
---|
2 | * ------------------------------
|
---|
3 | PAGE
|
---|
4 |
|
---|
5 | ****************************************
|
---|
6 | * *
|
---|
7 | * Capture d'écran sur TO *
|
---|
8 | * *
|
---|
9 | ****************************************
|
---|
10 | * *
|
---|
11 | * Sources: *
|
---|
12 | * *
|
---|
13 | * FEN-EQU.ASM Equates du fenêtrage *
|
---|
14 | * SNAP-EQ.ASM Equates *
|
---|
15 | * SNAP-CN.ASM Constantes *
|
---|
16 | * SNAP-X1.ASM Traitement *
|
---|
17 | * SNAP-MN.ASM Gestion menus *
|
---|
18 | * SNAP-SP.ASM Gestion S/P *
|
---|
19 | * SNAP-PR.ASM Programme principal *
|
---|
20 | * SNAP .ASM Structure *
|
---|
21 | * *
|
---|
22 | ****************************************
|
---|
23 | * *
|
---|
24 | * Exécutable destiné à être chargé en *
|
---|
25 | * aplication avec le module de *
|
---|
26 | * fenêtrage FEN.BIN *
|
---|
27 | * *
|
---|
28 | ****************************************
|
---|
29 | * *
|
---|
30 | * Carte mémoire: *
|
---|
31 | * *
|
---|
32 | ** Banks RAM cartouche *
|
---|
33 | * *
|
---|
34 | * No 1 : Soft, constantes et données *
|
---|
35 | * pseudo statique (motifs...) *
|
---|
36 | * No 2 : En $1800, S/P de fenêtrage *
|
---|
37 | * En $20, S/P de recopie des *
|
---|
38 | * S/P FEN vers $7800 *
|
---|
39 | * *
|
---|
40 | ** Banks données : *
|
---|
41 | * *
|
---|
42 | * bank 2 : Manoeuvre *
|
---|
43 | * bank 3 *
|
---|
44 | * .. 6 : Pile des fenêtres *
|
---|
45 | * bank 7 *
|
---|
46 | * ... : Photos courante (pellicule) *
|
---|
47 | * *
|
---|
48 | ** RAM "en ligne" *
|
---|
49 | * *
|
---|
50 | * $0000..$3FFF: Soft, constantes et *
|
---|
51 | * données pseudo stati- *
|
---|
52 | * ques (cartouche) *
|
---|
53 | * $6000..$62FF: RAM moniteur/extramon *
|
---|
54 | * $6300..$67FF: Pile (#1ko) *
|
---|
55 | * $6800..$6FFF: RAM soft (2ko) *
|
---|
56 | * $7000..$77FF: Zones DOS 5 dsk 2fic. *
|
---|
57 | * $7800..$9FFF: Copie active des S/P *
|
---|
58 | * de fenêtrage (10ko) *
|
---|
59 | * $A000..$DFFF: Manoeuvre *
|
---|
60 | * *
|
---|
61 | ****************************************
|
---|
62 | * *
|
---|
63 | * Production: *
|
---|
64 | * Sous TO-PROG: *
|
---|
65 | * *
|
---|
66 | * - Charger SNAP.BIN (base $0000) *
|
---|
67 | * - Charger FEN.BIN (base $5800) *
|
---|
68 | * - Créer TO-SNAP.CHG à partir de *
|
---|
69 | * $0000..$7FFF non image mémoire *
|
---|
70 | * - Activer ce fichier en applica- *
|
---|
71 | * tion grace à ACT-APPL.BAS *
|
---|
72 | * *
|
---|
73 | * Sous CR-APPLI: *
|
---|
74 | * *
|
---|
75 | * - Charger SNAP.BIN (base $0000) *
|
---|
76 | * - Charger FEN.BIN (base $5800) *
|
---|
77 | * - Créer TO-SNAP.CHG *
|
---|
78 | * *
|
---|
79 | ****************************************
|
---|
80 |
|
---|
81 |
|
---|
82 | BASEF EQU $7800 implant. soft
|
---|
83 | * fenêtrage !!!
|
---|
84 |
|
---|
85 | INCLUD FEN-EQU équates FEN
|
---|
86 |
|
---|
87 | INCLUD SNAP-EQ
|
---|
88 |
|
---|
89 | ****************************************
|
---|
90 |
|
---|
91 | SETDP $E7
|
---|
92 |
|
---|
93 | *
|
---|
94 | * En tête cartouche No 1
|
---|
95 | * enlever les commentaires pour TO-PROG
|
---|
96 | *---------------------------------------
|
---|
97 |
|
---|
98 | * ORG 0
|
---|
99 |
|
---|
100 | * FCC 'TO-SNAP'
|
---|
101 | * FCB 4,0
|
---|
102 | * FCB 0,0,0,0,0,0,0,0
|
---|
103 | * FCB 0,0,0,0,0,0,0,0
|
---|
104 | * FCB $7B soco
|
---|
105 | * FCB 0
|
---|
106 | * FDB L0022
|
---|
107 | * FDB L0022
|
---|
108 | *L0020 FDB $A55A
|
---|
109 |
|
---|
110 | ORG $22
|
---|
111 |
|
---|
112 | LBRA DEBUT ------>
|
---|
113 |
|
---|
114 |
|
---|
115 | * Séquence de commutation vers les S/P
|
---|
116 | * en cartouche no 2
|
---|
117 | *---------------------------------------
|
---|
118 |
|
---|
119 | COMBK2 INC >$E7E6
|
---|
120 | LEAU -$4000,U
|
---|
121 | JSR ,U
|
---|
122 | PSHS CC
|
---|
123 | DEC >$E7E6
|
---|
124 | PULS CC
|
---|
125 | RTS
|
---|
126 |
|
---|
127 | * Séquence de commutation vers les S/P
|
---|
128 | * en cartouche no 1
|
---|
129 | *---------------------------------------
|
---|
130 |
|
---|
131 | DEC >$E7E6
|
---|
132 | JSR ,U
|
---|
133 | PSHS CC
|
---|
134 | INC >$E7E6
|
---|
135 | PULS CC
|
---|
136 | RTS
|
---|
137 |
|
---|
138 | ****************************************
|
---|
139 |
|
---|
140 | INCLUD SNAP-CN
|
---|
141 |
|
---|
142 | INCLUD SNAP-MN
|
---|
143 |
|
---|
144 | INCLUD SNAP-X1
|
---|
145 |
|
---|
146 | INCLUD SNAP-SP
|
---|
147 |
|
---|
148 | ****************************************
|
---|
149 |
|
---|
150 | INCLUD SNAP-PR
|
---|
151 |
|
---|
152 | ****************************************
|
---|
153 |
|
---|
154 |
|
---|
155 | *
|
---|
156 | * En tête cartouche No 2
|
---|
157 | * enlever les commentaires pour TO-PROG
|
---|
158 | *---------------------------------------
|
---|
159 |
|
---|
160 | * ORG $4000
|
---|
161 | *
|
---|
162 | * FCC 'TO-SNAP'
|
---|
163 | * FCB 4,0
|
---|
164 | * FCB 0,0,0,0,0,0,0,0
|
---|
165 | * FCB 0,0,0,0,0,0,0,0
|
---|
166 | * FCB $7B soco
|
---|
167 | * FCB 0
|
---|
168 | * FDB L0022
|
---|
169 | * FDB L0022
|
---|
170 | *LL0020FDB $A55A
|
---|
171 |
|
---|
172 | ORG $4022
|
---|
173 |
|
---|
174 | LBRA DEBUT ------>
|
---|
175 |
|
---|
176 |
|
---|
177 | * Séquence de commutation vers les S/P
|
---|
178 | * en cartouche no 2
|
---|
179 | *---------------------------------------
|
---|
180 |
|
---|
181 | INC >$E7E6
|
---|
182 | LEAU -$4000,U
|
---|
183 | JSR ,U
|
---|
184 | PSHS CC
|
---|
185 | DEC >$E7E6
|
---|
186 | PULS CC
|
---|
187 | RTS
|
---|
188 |
|
---|
189 | * Séquence de commutation vers les S/P
|
---|
190 | * en cartouche no 1
|
---|
191 | *---------------------------------------
|
---|
192 |
|
---|
193 | COMBK1 DEC >$E7E6
|
---|
194 | JSR ,U
|
---|
195 | PSHS CC
|
---|
196 | INC >$E7E6
|
---|
197 | PULS CC
|
---|
198 | RTS
|
---|
199 |
|
---|
200 | * S/P de la cartouche no 2
|
---|
201 | *---------------------------------------
|
---|
202 |
|
---|
203 |
|
---|
204 | *=======================================
|
---|
205 | * Auto-copie $1800..$3FFF vers $7800
|
---|
206 | * (S/P fenêtrage)
|
---|
207 | *=======================================
|
---|
208 | FENRAM EQU *
|
---|
209 | *---------------------------------------
|
---|
210 | LDX #$1800
|
---|
211 | LDY #$7800
|
---|
212 | BCPIF1 LDD ,X++
|
---|
213 | STD ,Y++
|
---|
214 | CMPX #$4000
|
---|
215 | BNE BCPIF1 ->
|
---|
216 | RTS
|
---|
217 |
|
---|
218 |
|
---|
219 | *=======================================
|
---|
220 | * S/P appel du boot sur disquette ...
|
---|
221 | * en cas d'échec, la routine monit.
|
---|
222 | * fait un JMP [001E] ... c'est
|
---|
223 | * pourquoi, ce vecteur est utilisé
|
---|
224 | * pour brancher sur le traitement
|
---|
225 | * échec !!!
|
---|
226 | * Sortie: CY 1 si pb
|
---|
227 | *=======================================
|
---|
228 | BOOT EQU *
|
---|
229 | *---------------------------------------
|
---|
230 |
|
---|
231 | LDA >$E7E6 autorise écrit
|
---|
232 | ORA #$40 cartouche
|
---|
233 | STA >$E7E6
|
---|
234 | LDU #PBBOOT-$4000
|
---|
235 | STU >$001E
|
---|
236 | LDA >$E7E6 interdit écrit
|
---|
237 | ANDA #$BF
|
---|
238 | STA >$E7E6
|
---|
239 |
|
---|
240 | LDA #$01 init. ctrl dsk
|
---|
241 | STA DKOPC
|
---|
242 | JSR DKCO
|
---|
243 |
|
---|
244 | LDA #$20 posit piste 0
|
---|
245 | STA DKOPC
|
---|
246 | JSR DKCO
|
---|
247 |
|
---|
248 | LDA >$E7C3 moniteur bk 0
|
---|
249 | ANDA #$EF
|
---|
250 | STA >$E7C3
|
---|
251 |
|
---|
252 | LDS #$60CC
|
---|
253 |
|
---|
254 | * une séquence d'effacement appelée
|
---|
255 | * par le programme chargé réalise
|
---|
256 | * une initialisation d'un zone
|
---|
257 | * pointée par $601c à $601e... zone
|
---|
258 | * dans laquelle peut justement se
|
---|
259 | * trouver le programme (MGT !)
|
---|
260 | * les valeurs mises sont celles en
|
---|
261 | * vigueur hors extra mon !!!
|
---|
262 |
|
---|
263 | LDD #$F001
|
---|
264 | STD $601C
|
---|
265 | LDD #$F017
|
---|
266 | STD $601E
|
---|
267 |
|
---|
268 | LDU #ACTIT
|
---|
269 | LBSR COMBK1
|
---|
270 |
|
---|
271 | LDA #$FF présence disk
|
---|
272 | STA $6080
|
---|
273 | LDB #$44 commut.bank
|
---|
274 | STB $6081 ram pia
|
---|
275 | STB >$E7E7 (compatibilité)
|
---|
276 |
|
---|
277 | JMP $E007 ->
|
---|
278 |
|
---|
279 | PBBOOT LDB #$54 commut.bank
|
---|
280 | STB $6081 ram E7E5
|
---|
281 | STB >$E7E7 (compatibilité)
|
---|
282 |
|
---|
283 | LDX #DEBBOO-$4000
|
---|
284 | LDY #$A000 flag pour redem.
|
---|
285 | COPBOO LDA ,X+
|
---|
286 | STA ,Y+
|
---|
287 | CMPX #FINBOO-$4000
|
---|
288 | BNE COPBOO ->
|
---|
289 | JSR $A000
|
---|
290 |
|
---|
291 | LDU #DEBUT
|
---|
292 | LBSR COMBK1 ->>>>>
|
---|
293 |
|
---|
294 | DEBBOO DEC >$E7E6
|
---|
295 | LDA >$E7E6 autorise écrit
|
---|
296 | ORA #$40 cartouche
|
---|
297 | STA >$E7E6
|
---|
298 | LDA #$FF
|
---|
299 | STA FLGBOO
|
---|
300 | LDA >$E7E6 interdit écrit
|
---|
301 | ANDA #$BF
|
---|
302 | STA >$E7E6
|
---|
303 | INC >$E7E6
|
---|
304 | RTS
|
---|
305 | FINBOO EQU *
|
---|
306 |
|
---|
307 | END
|
---|