1 | TITLE TO-PHOTO:S/P
|
---|
2 | * ---------------------------------
|
---|
3 | PAGE
|
---|
4 |
|
---|
5 | ****************************************
|
---|
6 | * *
|
---|
7 | * S/P *
|
---|
8 | * *
|
---|
9 | ****************************************
|
---|
10 |
|
---|
11 |
|
---|
12 | *=======================================
|
---|
13 | * S/P prise en compte d'une adresse
|
---|
14 | * de déroutement
|
---|
15 | *=======================================
|
---|
16 | FIXIT EQU *
|
---|
17 | *---------------------------------------
|
---|
18 | LDB #255
|
---|
19 | LDX #BUF
|
---|
20 | JSR FENLCZ
|
---|
21 | BCS FIXIT0 ->
|
---|
22 | RTS
|
---|
23 |
|
---|
24 | FIXIT0 LDD #$0000
|
---|
25 | LDY #$FFFF
|
---|
26 | JSR HEXBIN
|
---|
27 | TFR D,U
|
---|
28 |
|
---|
29 | CLR $E7E4
|
---|
30 | LDA $E7E6 autorise écritur
|
---|
31 | ORA #$40 cartouche
|
---|
32 | STA $E7E6
|
---|
33 |
|
---|
34 | STU ADRIT
|
---|
35 |
|
---|
36 | LDA $E7E6 interdit écritur
|
---|
37 | ANDA #$BF cartouche
|
---|
38 | STA $E7E6
|
---|
39 | RTS
|
---|
40 |
|
---|
41 |
|
---|
42 | *=======================================
|
---|
43 | * S/P activation dela tache sous
|
---|
44 | * déroutement
|
---|
45 | *=======================================
|
---|
46 |
|
---|
47 | ACTIT EQU *
|
---|
48 | *---------------------------------------
|
---|
49 | ORCC #$50
|
---|
50 |
|
---|
51 | CLR $E7E4
|
---|
52 | LDA $E7E6 autorise écritur
|
---|
53 | ORA #$40 cartouche
|
---|
54 | STA $E7E6
|
---|
55 |
|
---|
56 | ANDA #$3F
|
---|
57 | STA BKSNAP
|
---|
58 | STA BKDSNA
|
---|
59 |
|
---|
60 | LDD ADRIT défaut pour
|
---|
61 | STD ADITFQ dérout. buffer
|
---|
62 |
|
---|
63 | LDX #VECTMM
|
---|
64 | LDA #5
|
---|
65 | LSLA
|
---|
66 | LDD A,X
|
---|
67 | STD VFDER
|
---|
68 |
|
---|
69 | LDA TYPDER
|
---|
70 | BEQ ACTIT0 FIRQ ->
|
---|
71 | CMPA #1
|
---|
72 | BEQ ACTIT0 RESETP ->
|
---|
73 | CMPA #14
|
---|
74 | BEQ ACTIT0 BUFCLV ->
|
---|
75 | CMPA #2
|
---|
76 | BNE ACTIT1 ->
|
---|
77 | * LDX TIMEMM
|
---|
78 | LDX #KBIN
|
---|
79 | STX VFDER
|
---|
80 | BRA ACTIT0 ->
|
---|
81 |
|
---|
82 | ACTIT1 LDX #VECTMM
|
---|
83 | LDA TYPDER
|
---|
84 | SUBA #3
|
---|
85 | LSLA
|
---|
86 | LDD A,X
|
---|
87 | STD VFDER
|
---|
88 |
|
---|
89 | ACTIT0 LDA $E7E6 interdit écritur
|
---|
90 | ANDA #$BF cartouche
|
---|
91 | STA $E7E6
|
---|
92 |
|
---|
93 | LDA TYPDER
|
---|
94 | CMPA #2
|
---|
95 | BGE BACITX ->
|
---|
96 |
|
---|
97 | * FIRQ et RESETP !!!
|
---|
98 |
|
---|
99 | LDX #ITSNAP
|
---|
100 | LDY ADRIT
|
---|
101 | BACIT0 LDA ,X+
|
---|
102 | STA ,Y+
|
---|
103 | CMPX #FINIT
|
---|
104 | BNE BACIT0 ->
|
---|
105 |
|
---|
106 | LDA $E7C3
|
---|
107 | EORA #1
|
---|
108 | STA $E7C3
|
---|
109 |
|
---|
110 | LDX #ITSNAP
|
---|
111 | LDY ADRIT
|
---|
112 | CACIT0 LDA ,X+
|
---|
113 | STA ,Y+
|
---|
114 | CMPX #FINIT
|
---|
115 | BNE CACIT0 ->
|
---|
116 |
|
---|
117 | LDD ADRIT
|
---|
118 | TST TYPDER
|
---|
119 | BEQ BACITG ->
|
---|
120 | STD RESETP+1
|
---|
121 | LDA #$7E JMP
|
---|
122 | STA RESETP
|
---|
123 | LBRA BACITF ->
|
---|
124 | BACITG STD >FIRQPT
|
---|
125 | LBRA BACITY ->
|
---|
126 |
|
---|
127 | * timer + vecteurs + buffer clav !!!
|
---|
128 |
|
---|
129 | BACITX LDX #DRSNAP
|
---|
130 | LDY ADRIT
|
---|
131 | BACIT1 LDA ,X+
|
---|
132 | STA ,Y+
|
---|
133 | CMPX #FINDER
|
---|
134 | BNE BACIT1 ->
|
---|
135 |
|
---|
136 | LDA $E7C3
|
---|
137 | EORA #1
|
---|
138 | STA $E7C3
|
---|
139 |
|
---|
140 | LDX #DRSNAP
|
---|
141 | LDY ADRIT
|
---|
142 | CACIT1 LDA ,X+
|
---|
143 | STA ,Y+
|
---|
144 | CMPX #FINDER
|
---|
145 | BNE CACIT1 ->
|
---|
146 |
|
---|
147 | LDU ADRIT
|
---|
148 | LDA TYPDER
|
---|
149 | CMPA #14
|
---|
150 | BEQ BACIT3 ->
|
---|
151 | SUBA #3
|
---|
152 | BMI BACIT2 ->
|
---|
153 | LSLA vecteurs
|
---|
154 | LDX #$6000
|
---|
155 | STU A,X
|
---|
156 | BRA BACITY ->
|
---|
157 | BACIT2 STU TIMEPT timer
|
---|
158 | LDA STATUS
|
---|
159 | ORA #$20
|
---|
160 | STA STATUS
|
---|
161 | BRA BACITY ->
|
---|
162 | BACIT3 LDD #$600A buffer clav.
|
---|
163 | STD BUFCLV
|
---|
164 | CLR REACLV
|
---|
165 | CLR WRICLV
|
---|
166 |
|
---|
167 | LDX #DRBUF
|
---|
168 | LDY #$5F8E
|
---|
169 | BACIT4 LDA ,X+
|
---|
170 | STA ,Y+
|
---|
171 | CMPX #FDRBUF
|
---|
172 | BNE BACIT4 ->
|
---|
173 |
|
---|
174 | LDA $E7C3
|
---|
175 | EORA #1
|
---|
176 | STA $E7C3
|
---|
177 |
|
---|
178 | LDX #DRBUF
|
---|
179 | LDY #$5F8E
|
---|
180 | BACIT5 LDA ,X+
|
---|
181 | STA ,Y+
|
---|
182 | CMPX #FDRBUF
|
---|
183 | BNE BACIT5 ->
|
---|
184 |
|
---|
185 | * programmation PIA système pour
|
---|
186 | * détection à partir prise crayon
|
---|
187 | * (hors RESETP !)
|
---|
188 |
|
---|
189 | BACITY LDA >$E7CB RAZ IT
|
---|
190 | ORA #$40
|
---|
191 | STA >$E7CB
|
---|
192 | LDA <$E7C9
|
---|
193 | LDA >$E7CB 6821 pour \/
|
---|
194 | ANDA #$FC par prise crayon
|
---|
195 | TST TYPDER
|
---|
196 | BNE BACIT9 ->
|
---|
197 | ORA #$01 (IT sur \/ CB1)
|
---|
198 | BACIT9 STA >$E7CB
|
---|
199 |
|
---|
200 | BACITF ANDCC #$AF
|
---|
201 | RTS
|
---|
202 |
|
---|
203 |
|
---|
204 | *=======================================
|
---|
205 | * S/P tache a implanter pour acquisition
|
---|
206 | * sous FIRQ et RESETP
|
---|
207 | *=======================================
|
---|
208 |
|
---|
209 | ITSNAP EQU *
|
---|
210 | *---------------------------------------
|
---|
211 | LDA #0 posit bank TO-SNAP
|
---|
212 | BKSNAP EQU *-1
|
---|
213 | STA >$E7E6
|
---|
214 | JMP XSNAP activation ->
|
---|
215 | FINIT EQU *
|
---|
216 |
|
---|
217 |
|
---|
218 | *=======================================
|
---|
219 | * S/P tache a implanter pour acquisition
|
---|
220 | * sous déroutement système
|
---|
221 | *=======================================
|
---|
222 |
|
---|
223 | DRSNAP EQU *
|
---|
224 | *---------------------------------------
|
---|
225 | TST >$E7CB
|
---|
226 | BPL FDER ->
|
---|
227 | LDA #0 posit bank TO-SNAP
|
---|
228 | BKDSNA EQU *-1
|
---|
229 | STA >$E7E6
|
---|
230 | JMP XSNAP activation ->
|
---|
231 | FDER JMP $FFFF
|
---|
232 | VFDER EQU *-2
|
---|
233 | FINDER EQU *
|
---|
234 |
|
---|
235 |
|
---|
236 | *=======================================
|
---|
237 | * S/P tache a implanter pour acquisition
|
---|
238 | * sous déroutement buffer clavier
|
---|
239 | * (l'entrée de $5F dans le buffer
|
---|
240 | * clavier dérouté sur l'indirection
|
---|
241 | * GETCH génère une adresse $5F8E
|
---|
242 | * à la place de l'adresse défaut
|
---|
243 | * $FF8E...
|
---|
244 | * A l'appel de GETCH suivant, ceci
|
---|
245 | * va générer un appel vers l'implant
|
---|
246 | * DRBUF qui va armer un déroutement
|
---|
247 | * de GETCH traditionnel ...
|
---|
248 | * NB: $5F = code de _ au clavier
|
---|
249 | * (obligatoire avant toute autre
|
---|
250 | * saisie, :
|
---|
251 | * NB: L'implant est donc obligatoir.
|
---|
252 | * ement en $5F8E !!!
|
---|
253 | * et sur les deux pages
|
---|
254 | *=======================================
|
---|
255 |
|
---|
256 | DRBUF EQU * (en $5F8E !!!)
|
---|
257 | *---------------------------------------
|
---|
258 | PSHS A,CC
|
---|
259 | ORCC #$50
|
---|
260 | LDD #$0000 déroute GETC
|
---|
261 | ADITFQ EQU *-2
|
---|
262 | STD $600A
|
---|
263 |
|
---|
264 | LDB #$82 buffer clav std
|
---|
265 | STB BUFCLV+1
|
---|
266 |
|
---|
267 | CLRB
|
---|
268 | CLR [BUFCLV]
|
---|
269 | CLR REACLV
|
---|
270 | CLR WRICLV
|
---|
271 |
|
---|
272 | ANDCC #$AF
|
---|
273 | PULS A,CC,PC ->>
|
---|
274 | FDRBUF EQU *
|
---|
275 |
|
---|
276 |
|
---|
277 | *=======================================
|
---|
278 | * S/P lecture des applications disponib.
|
---|
279 | *=======================================
|
---|
280 |
|
---|
281 | LECAPL EQU *
|
---|
282 | *---------------------------------------
|
---|
283 |
|
---|
284 | * Pas d'appli. par défaut
|
---|
285 |
|
---|
286 | LDX #APLTAB
|
---|
287 | LDA #6
|
---|
288 | LDB #$FF
|
---|
289 | BRAZAP STB ,X
|
---|
290 | LEAX 33,X
|
---|
291 | DECA
|
---|
292 | BNE BRAZAP ->
|
---|
293 |
|
---|
294 | * Chargement en RAM du programme de
|
---|
295 | * lecture des appli. disponibles
|
---|
296 |
|
---|
297 | LDA BKMANO
|
---|
298 | STA BANKC
|
---|
299 | LDX #DEBLEC
|
---|
300 | LDY #$A000
|
---|
301 | BECRPG LDA ,X+
|
---|
302 | STA ,Y+
|
---|
303 | CMPX #FINLEC
|
---|
304 | BNE BECRPG ->
|
---|
305 |
|
---|
306 | * Lecture des appli. disponibles
|
---|
307 |
|
---|
308 | JSR $A000
|
---|
309 |
|
---|
310 | RTS ->>
|
---|
311 |
|
---|
312 |
|
---|
313 | *=======================================
|
---|
314 | * S/P lecture des appli disp
|
---|
315 | * (à charger en RAM hors cartouche!)
|
---|
316 | *=======================================
|
---|
317 | DEBLEC EQU *
|
---|
318 | LEAS -1,S
|
---|
319 | MEME6 SET 0 memo $E7E6
|
---|
320 | *---------------------------------------
|
---|
321 | CLR $E7E4
|
---|
322 | LDA $E7E6
|
---|
323 | STA MEME6,S
|
---|
324 | CLR $E7E6 cartouche=ROM
|
---|
325 |
|
---|
326 | * voir slot 1 (cartouche externe)
|
---|
327 |
|
---|
328 | LDB $E7C3
|
---|
329 | ANDB #$FB
|
---|
330 | STB $E7C3
|
---|
331 | LDU #APLTAB+1
|
---|
332 | LDY #0
|
---|
333 | LBSR VERSOC
|
---|
334 | BCS SUIAP0 pas cartouche ->
|
---|
335 | LDA #$30
|
---|
336 | STA ,-U
|
---|
337 |
|
---|
338 | * voir slot 0 bank 0 (basic 512)
|
---|
339 |
|
---|
340 | SUIAP0 LDB $E7C3
|
---|
341 | ORB #4
|
---|
342 | STB $E7C3
|
---|
343 | STA $0000
|
---|
344 | LDU #APLTAB+33+1
|
---|
345 | LDY #0
|
---|
346 | LBSR VERSOC
|
---|
347 | BCS SUIAP1 pas basic ! ->
|
---|
348 | LDA #$00
|
---|
349 | STA ,-U
|
---|
350 |
|
---|
351 | * voir slot 0 bank 2 (basic 1)
|
---|
352 |
|
---|
353 | SUIAP1 STA $0002
|
---|
354 | LDU #APLTAB+33*2+1
|
---|
355 | LDY #0
|
---|
356 | LBSR VERSOC
|
---|
357 | BCS SUIAP2 pas basic ! ->
|
---|
358 | LDA #$02
|
---|
359 | STA ,-U
|
---|
360 |
|
---|
361 | * voir slot 0 bank 3 (fichiers...)
|
---|
362 |
|
---|
363 | SUIAP2 STA $0003
|
---|
364 | LDU #APLTAB+33*3+1
|
---|
365 | LDY #0
|
---|
366 | LBSR VERSOC
|
---|
367 | BCS SUIAP3 pas fichiers! ->
|
---|
368 | LDA #$03
|
---|
369 | STA ,-U
|
---|
370 |
|
---|
371 | * Rechercher 'Réglages et préférences'
|
---|
372 | * petits pb de visu et pas utile !
|
---|
373 |
|
---|
374 | BRA SUIAP4 ->
|
---|
375 | SUIAP3 LDU #APLTAB+33*4+1
|
---|
376 | LDY #$2000
|
---|
377 | BRREG LDD ,Y
|
---|
378 | CMPD #$2052
|
---|
379 | BNE SRREG ->
|
---|
380 | LDD 2,Y
|
---|
381 | CMPD #$8567
|
---|
382 | BNE SRREG ->
|
---|
383 | LBSR VERSOC
|
---|
384 | BCS SRREG ->
|
---|
385 | LDA #$03
|
---|
386 | STA ,-U
|
---|
387 | BRA SUIAP4 ->
|
---|
388 | SRREG LEAY 1,Y
|
---|
389 | CMPY #$4000
|
---|
390 | BNE BRREG ->
|
---|
391 |
|
---|
392 | * Rechercher 'Appel de programmes'
|
---|
393 |
|
---|
394 | SUIAP4 LDU #APLTAB+33*4+1
|
---|
395 | LDY #$2000
|
---|
396 | BRPGM LDD ,Y
|
---|
397 | CMPD #$2041
|
---|
398 | BNE SRPGM ->
|
---|
399 | LDD 2,Y
|
---|
400 | CMPD #$7070
|
---|
401 | BNE SRPGM ->
|
---|
402 | LBSR VERSOC
|
---|
403 | BCS SRPGM ->
|
---|
404 | LDA #$03
|
---|
405 | STA ,-U
|
---|
406 | BRA SUIAP5 ->
|
---|
407 | SRPGM LEAY 1,Y
|
---|
408 | CMPY #$4000
|
---|
409 | BNE BRPGM ->
|
---|
410 |
|
---|
411 | * revenir sur RAM/cartouche
|
---|
412 |
|
---|
413 | SUIAP5 LDA MEME6,S
|
---|
414 | STA $E7E6
|
---|
415 | LEAS 1,S
|
---|
416 | RTS
|
---|
417 |
|
---|
418 |
|
---|
419 | *=======================================
|
---|
420 | * S/P vérification de la présence d'une
|
---|
421 | * application
|
---|
422 | * Entrée: Y @ ROM candidate
|
---|
423 | * U @ rangement
|
---|
424 | * Sortie CY 0 si ok
|
---|
425 | *=======================================
|
---|
426 | VERSOC PSHS D,X,Y,U
|
---|
427 | *---------------------------------------
|
---|
428 | LDA #26 lecture mnémo
|
---|
429 | LDX #$55
|
---|
430 | BVSO0 LDB ,Y+
|
---|
431 | STB ,U+
|
---|
432 | ABX
|
---|
433 | CMPB #$04
|
---|
434 | BNE SVSO00 ->
|
---|
435 | CLR -1,U
|
---|
436 | SVSO00 CMPB #$85
|
---|
437 | BNE SVSO01 ->
|
---|
438 | LDB #$65 minuscules codée
|
---|
439 | STB -1,U
|
---|
440 | SVSO01 DECA
|
---|
441 | BNE BVSO0 ->
|
---|
442 |
|
---|
443 | TFR X,D verif soco
|
---|
444 | ANDB #$DF erreur soc appel
|
---|
445 | PSHS B pgm
|
---|
446 | LDB ,Y+
|
---|
447 | STB ,U+
|
---|
448 | ANDB #$DF
|
---|
449 | CMPB ,S+
|
---|
450 | BNE SVSO0 pas cartouche ->
|
---|
451 | LDA #5
|
---|
452 | BVSO1 LDB ,Y+
|
---|
453 | STB ,U+
|
---|
454 | DECA
|
---|
455 | BNE BVSO1 ->
|
---|
456 | ANDCC #$FE
|
---|
457 | PULS D,X,Y,U,PC
|
---|
458 | SVSO0 ORCC #1
|
---|
459 | PULS D,X,Y,U,PC
|
---|
460 | FINLEC EQU *
|
---|
461 |
|
---|
462 |
|
---|
463 | *=======================================
|
---|
464 | * S/P fenetre de lancement applic.
|
---|
465 | *=======================================
|
---|
466 | RZECRN FCB $1B,$69,$1B,$44,$1B,$56
|
---|
467 | FCB $1B,$66,FF,0
|
---|
468 | MENLAN EQU *
|
---|
469 | *---------------------------------------
|
---|
470 |
|
---|
471 | LDX #FENLAN
|
---|
472 | LDD 3,X
|
---|
473 | JSR POPUP
|
---|
474 | JSR FENOUV
|
---|
475 |
|
---|
476 | * Visu des appli. disponibles
|
---|
477 |
|
---|
478 | LDY #APLTAB
|
---|
479 | LDB #$90
|
---|
480 | BVIAP JSR FENCH
|
---|
481 | TST ,Y
|
---|
482 | BMI APINT ->
|
---|
483 | LEAX 1,Y
|
---|
484 | JSR FENEDI
|
---|
485 | BRA SUIAP ->
|
---|
486 | APINT LDA #INTERD
|
---|
487 | STA VAL,X
|
---|
488 | SUIAP LEAY 33,Y
|
---|
489 | INCB
|
---|
490 | CMPB #$95
|
---|
491 | BNE BVIAP ->
|
---|
492 |
|
---|
493 |
|
---|
494 | * Adresse implantation SNAP
|
---|
495 | LDB #255
|
---|
496 | JSR FENCH
|
---|
497 |
|
---|
498 | * calcul @ pgm
|
---|
499 | LDD ADRIT
|
---|
500 |
|
---|
501 | LDX #BUF
|
---|
502 | JSR BINHX2
|
---|
503 | CLR 4,X
|
---|
504 | JSR FENEDI
|
---|
505 |
|
---|
506 | * visu déroutement courant
|
---|
507 | EXEA00 LDB #$53
|
---|
508 | JSR FENCH
|
---|
509 | LDX #TABDER
|
---|
510 | LDA #19
|
---|
511 | LDB TYPDER
|
---|
512 | MUL
|
---|
513 | LEAX D,X
|
---|
514 | JSR FENEDI
|
---|
515 |
|
---|
516 | * calcul lg pgm
|
---|
517 | LDB #254
|
---|
518 | JSR FENCH
|
---|
519 | LDA TYPDER
|
---|
520 | CMPA #1
|
---|
521 | BGT VISDER ->
|
---|
522 | LDD #FINIT
|
---|
523 | SUBD #ITSNAP
|
---|
524 | BRA VISADD ->
|
---|
525 | VISDER LDD #FINDER
|
---|
526 | SUBD #DRSNAP
|
---|
527 | VISADD LDX #BUF
|
---|
528 | LDY #2
|
---|
529 | JSR BINDCD
|
---|
530 | JSR FENEDI
|
---|
531 |
|
---|
532 | EXECA0 JSR FENACT
|
---|
533 |
|
---|
534 | EXECA1 JSR FEN
|
---|
535 | TSTB
|
---|
536 | BEQ EXECA1 ->
|
---|
537 | CMPB #FF RAZ
|
---|
538 | LBEQ XARET ->
|
---|
539 | CMPB #$53 'S'
|
---|
540 | LBEQ MODSNA ->
|
---|
541 | CMPB #$95 F6
|
---|
542 | LBEQ XBOOT ->
|
---|
543 | CMPB #$90 <F1
|
---|
544 | BLT EXECA1 ->
|
---|
545 | CMPB #$94 >F5
|
---|
546 | BGT EXECA1 ->
|
---|
547 |
|
---|
548 | *** Lancement soft
|
---|
549 | PSHS B
|
---|
550 | CLR RUNFLG auto ou non
|
---|
551 | LDB #$01
|
---|
552 | JSR FENCH
|
---|
553 | LDA VAL,X
|
---|
554 | CMPA #OFF
|
---|
555 | BEQ XLANC1 ->
|
---|
556 | COM RUNFLG
|
---|
557 | XLANC1 LDB ,S
|
---|
558 | SUBB #$90
|
---|
559 | LDA #33
|
---|
560 | MUL
|
---|
561 | LDX #APLTAB
|
---|
562 | LEAX D,X
|
---|
563 | LDA ,X
|
---|
564 | LBMI EXECA1 ->
|
---|
565 | LDU 31,X @ dem. froid
|
---|
566 | PSHS A,U
|
---|
567 | JSR FIXIT
|
---|
568 | JSR FENFIN
|
---|
569 |
|
---|
570 | LDA #$FF
|
---|
571 | LDX #TMEMO
|
---|
572 | JSR SETP
|
---|
573 |
|
---|
574 | LDA $E7C3 sinon, noir de
|
---|
575 | ANDA #$FE applications
|
---|
576 | STA $E7C3 = 256 !!!
|
---|
577 | CLR $5F40
|
---|
578 |
|
---|
579 | CLR $E7E4
|
---|
580 | LDA $E7E6 autorise écritur
|
---|
581 | ORA #$40 cartouche
|
---|
582 | STA $E7E6
|
---|
583 | * CLR TFMEMO
|
---|
584 | LDA $E7E6 interdit écritur
|
---|
585 | ANDA #$BF cartouche
|
---|
586 | STA $E7E6
|
---|
587 |
|
---|
588 | JSR RSTECR
|
---|
589 |
|
---|
590 | JSR ACTIT
|
---|
591 |
|
---|
592 | LDB 3,S
|
---|
593 | CMPB #$91
|
---|
594 | BEQ GORAM0 ->
|
---|
595 | CMPB #$93
|
---|
596 | BGE GORAM0 ->
|
---|
597 | LDA #$44 commut.bank
|
---|
598 | STA $6081 ram pia
|
---|
599 | STA $E7E7 (compatibilité)
|
---|
600 |
|
---|
601 | CMPB #$90
|
---|
602 | BEQ GORAM0 ->
|
---|
603 | * basic 1
|
---|
604 | LDA #$01 init. ctrl dsk
|
---|
605 | STA DKOPC
|
---|
606 | JSR DKCO
|
---|
607 |
|
---|
608 | LDA #$20 posit piste 0
|
---|
609 | STA DKOPC
|
---|
610 | JSR DKCO
|
---|
611 |
|
---|
612 | * une séquence d'effacement appelée
|
---|
613 | * par le programme chargé réalise
|
---|
614 | * une initialisation d'un zone
|
---|
615 | * pointée par $601c à $601e... zone
|
---|
616 | * dans laquelle peut justement se
|
---|
617 | * trouver le programme (MGT !)
|
---|
618 | * les valeurs mises sont celles en
|
---|
619 | * vigueur hors extra mon !!!
|
---|
620 |
|
---|
621 | LDD #$F001
|
---|
622 | STD $601C
|
---|
623 | LDD #$F017
|
---|
624 | STD $601E
|
---|
625 |
|
---|
626 | GORAM0 LDA #$FF présence disk
|
---|
627 | STA $6080
|
---|
628 | LDA >$E7C3 moniteur bk 0
|
---|
629 | ANDA #$EF
|
---|
630 | STA >$E7C3
|
---|
631 | PULS A,U
|
---|
632 | LDS #$60CC
|
---|
633 | LDB #$60
|
---|
634 | TFR B,DP
|
---|
635 |
|
---|
636 | JSR COMS
|
---|
637 |
|
---|
638 | *** Boot disquette
|
---|
639 | XBOOT JSR FENCH
|
---|
640 | JSR FENIVD
|
---|
641 | JSR FIXIT
|
---|
642 | JSR FENFIN
|
---|
643 |
|
---|
644 | LDA #$FF
|
---|
645 | LDX #TMEMO
|
---|
646 | JSR SETP
|
---|
647 |
|
---|
648 | CLR $E7E4
|
---|
649 | LDA $E7E6 autorise écritur
|
---|
650 | ORA #$40 cartouche
|
---|
651 | STA $E7E6
|
---|
652 | * CLR TFMEMO
|
---|
653 | LDA $E7E6 interdit écritur
|
---|
654 | ANDA #$BF cartouche
|
---|
655 | STA $E7E6
|
---|
656 |
|
---|
657 | JSR RSTECR
|
---|
658 |
|
---|
659 | LDU #BOOT
|
---|
660 | JSR COMBK2
|
---|
661 |
|
---|
662 | *** modification du déroutement
|
---|
663 | MODSNA JSR FENDES
|
---|
664 | LDB TYPDER
|
---|
665 | INCB
|
---|
666 | CMPB #15
|
---|
667 | BLT ECRDER ->
|
---|
668 | CLRB
|
---|
669 |
|
---|
670 | ECRDER CLR $E7E4
|
---|
671 | LDA $E7E6 autorise écritur
|
---|
672 | ORA #$40 cartouche
|
---|
673 | STA $E7E6
|
---|
674 | STB TYPDER
|
---|
675 | LDA $E7E6 interdit écritur
|
---|
676 | ANDA #$BF cartouche
|
---|
677 | STA $E7E6
|
---|
678 |
|
---|
679 | LBRA EXEA00 ->
|
---|
680 |
|
---|
681 | * Fin menu lancement
|
---|
682 | *---------------------------------------
|
---|
683 |
|
---|
684 | XARET JSR FIXIT
|
---|
685 | CLRB
|
---|
686 | JSR FENFER car photo peut
|
---|
687 | JSR FENACT
|
---|
688 | RTS
|
---|
689 |
|
---|
690 |
|
---|
691 | *=======================================
|
---|
692 | * S/P restore attributs écran
|
---|
693 | *=======================================
|
---|
694 | RSTECR LDB #$1B
|
---|
695 | JSR PUTC
|
---|
696 | LDB #$69
|
---|
697 | JSR PUTC
|
---|
698 | LDB #$1B
|
---|
699 | JSR PUTC
|
---|
700 | LDB #$44 bleu
|
---|
701 | JSR PUTC
|
---|
702 | LDB #$1B
|
---|
703 | JSR PUTC
|
---|
704 | LDB #$56 sur cyan
|
---|
705 | JSR PUTC
|
---|
706 | LDB #$1B
|
---|
707 | JSR PUTC
|
---|
708 | LDB #$66 tour cyan
|
---|
709 | JSR PUTC
|
---|
710 | LDB #FF
|
---|
711 | JSR PUTC
|
---|
712 | RTS
|
---|
713 |
|
---|
714 |
|
---|
715 | *=======================================
|
---|
716 | * S/P destruction logique d'une photo
|
---|
717 | *
|
---|
718 | * Entrée: A num photo
|
---|
719 | *=======================================
|
---|
720 | DELPHO PSHS A,X
|
---|
721 | *---------------------------------------
|
---|
722 | LDX #TABPHO
|
---|
723 | CLR A,X
|
---|
724 | PULS A,X,PC ->>
|
---|
725 |
|
---|
726 |
|
---|
727 | *=======================================
|
---|
728 | * S/P test de localisation de la souris
|
---|
729 | * dans un carreau
|
---|
730 | * Entrée: XH rangée début ]
|
---|
731 | * XL colonne début du carreau
|
---|
732 | * YH hauteur ]
|
---|
733 | * YL largeur ]
|
---|
734 | * Sortie: CY 1 souris dans le carreau
|
---|
735 | * 0 ... en dehors
|
---|
736 | *=======================================
|
---|
737 |
|
---|
738 | SOUROK PSHS D,X,Y,U
|
---|
739 | LEAS -5,S
|
---|
740 | HORDOT SET 0
|
---|
741 | VERDOT SET 2
|
---|
742 | MULTH SET 4
|
---|
743 | PA SET 5
|
---|
744 | PB SET 6
|
---|
745 | PXH SET 7
|
---|
746 | PXL SET 8
|
---|
747 | PYH SET 9
|
---|
748 | PYL SET 10
|
---|
749 | *---------------------------------------
|
---|
750 |
|
---|
751 | LDB #8 coef de * horiz
|
---|
752 | LDA SCRMOD
|
---|
753 | CMPA #$40
|
---|
754 | BNE RGMU ->
|
---|
755 | LDB #4 bit map 16
|
---|
756 | RGMU STB MULTH,S
|
---|
757 |
|
---|
758 | LDA #8
|
---|
759 | LDB PXH,S
|
---|
760 | MUL
|
---|
761 | STD HORDOT,S
|
---|
762 | CMPD REGY
|
---|
763 | BGT SELDN hors haut ->
|
---|
764 | LDA MULTH,S
|
---|
765 | LDB PXL,S
|
---|
766 | MUL
|
---|
767 | STD VERDOT,S
|
---|
768 | CMPD REGX
|
---|
769 | BGT SELDN hors gauche ->
|
---|
770 | LDA #8
|
---|
771 | LDB PYH,S
|
---|
772 | MUL
|
---|
773 | ADDD HORDOT,S
|
---|
774 | CMPD REGY
|
---|
775 | BLE SELDN hors bas ->
|
---|
776 | LDA MULTH,S
|
---|
777 | LDB PYL,S
|
---|
778 | MUL
|
---|
779 | ADDD VERDOT,S
|
---|
780 | CMPD REGX
|
---|
781 | BLE SELDN hors droit ->
|
---|
782 | ORCC #$01 dedans
|
---|
783 | BRA SELDF ->
|
---|
784 | SELDN ANDCC #$FE hors
|
---|
785 |
|
---|
786 | SELDF LEAS 5,S
|
---|
787 | PULS D,X,Y,U,PC
|
---|