source: thomson/code/3rdparty/sources3-lambinet/SOURCER3.ASM@ ceffc47

main
Last change on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Add that collection of 3rdparty source I had lying on my disk for some time...

git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 11.6 KB
Line 
1****************************************
2* *
3* SOURCER pour CODEVIEW version 3.1 *
4* *
5* par Michel SAINT-BRIANT * 28/02/1992 *
6* *
7* (c) A.S.C.I. Copyright 1992 *
8* *
9****************************************
10
11* cette routine permet de recalculer les
12* adresses depuis des données mémorisées
13* sous CODEVIEW et sort le résultat dans
14* un fichier .ASM compacté directement
15* utilisable sous 'ASSEMBLER' de Micro-
16* soft(après avoir été retaillé si néces
17* saire car taille maxi=24 Ko )
18
19* on peut aller 10000 lignes de code
20* (nécessité d'une extension RAM 256Ko)
21* ou 4499 lignes sans extension.
22* (on peut compter 400 à 500 lignes par
23* Ko de code)
24
25* Les flags 1,2 et 3 permettent d'éviter
26* le traitement de la recherche d'adres-
27* ses décalées du type:
28* LDX #TABLE+2
29
30* Pas d'affolement si l'écran se remplit
31* de signes bizarres: il est utilisé
32* pour les lignes 3276 à 4875
33
34* les 4 derniers octets en bas à droite
35* de l'écran clignotent au rythme des
36* 'passes' de recherche et aident à pa-
37* tienter... (pour 10000 lignes + les
38* trois recherches décalées prévoir
39* plusieurs heures--> 400 millions
40* de combinaisons possibles à étudier!)
41
42BANK1 EQU 5 =BANK4 EN BASIC
43* LES BANKS 1 ET 2 ETANT OCCUPEES APRES
44* bank 4 utilisée pour le code initial
45
46 ORG $7000 a ne pas changer!
47
48 PSHS A,B,CC,DP,X,Y,U
49 LDX #1
50 STX PTRP
51 LDA #BANK1
52 STA $E7E5
53 LDX #$A000
54 LDU #1
55
56 LDX #CALCUL
57AFFIC1 LDB ,X+
58 BEQ ONYVA
59 JSR $E803
60 BRA AFFIC1
61
62
63ONYVA PSHS CC
64 ORCC #$50
65 LDD FINPTR initialisé par
66 STD COMPT le BASIC
67 TFR D,X
68 LEAX D,X
69 LEAX D,X
70 LEAX D,X
71 LEAX D,X
72 CMPX #24380
73 BLO PETIT
74 LDA #1
75 STA PARTIE
76 LEAX $1CAC,X
77PETIT STX FINTAB
78
79 LDB #$14
80 JSR $E803
81 LDA $E7C3
82 ORA #$01
83 STA $E7C3
84 LDA #$62
85 STA $E7E6
86 LDA #BANK1
87 STA $E7E5
88 LDX #$A000
89 LDY #0
90ADRESS LDA ,X
91 BPL CODEFF
92 LEAU 1,X
93 BSR CVINT
94 LDA 15,X
95 BPL CODE0F
96 LDA #$24 '$'
97 STA 15,X
98 LEAU 16,X
99 BSR CVINT
100 CLR ,Y+
101 BRA FINLEC
102CODE0F LDD #$000F
103 STA ,Y+
104 STD ,Y++
105 BRA FINLEC
106CODEFF LDD #$0000
107 STD ,Y++
108 STD ,Y++
109 DECA
110 STA ,Y+
111FINLEC LEAX 40,X
112 CMPX #$DFE8
113 BLO MBANK2
114 INC $E7E5
115 LDX #$A000
116MBANK2 DEC COMPT+1
117 BNE PART0
118 DEC COMPT
119 BMI CROISE
120PART0 TST PARTIE
121 BEQ PART2
122PART1 CMPY #24380
123 BLO ADRESS
124 DEC PARTIE
125 INC $E7E6
126 LDY #$7BE8
127 BRA ADRESS
128PART2 CMPY #$A000
129 BNE ADRESS
130 LDY #0
131 BRA ADRESS
132
133CVINT LDB #2
134BCVINT LDA ,U+
135 SUBA #$30
136 CMPA #$A
137 BLO CHIF1
138 SUBA #7
139CHIF1 ASLA
140 ASLA
141 ASLA
142 ASLA
143 STA ,Y
144 LDA ,U+
145 SUBA #$30
146 CMPA #$A
147 BLO CHIF2
148 SUBA #7
149CHIF2 ORA ,Y
150 STA ,Y+
151 DECB
152 BNE BCVINT
153 RTS
154
155CROISE LDD #$0362
156 STD $E7E5
157 LDX #$A000
158 LEAY $2000,X
159BOCROI LDU ,X
160 LDD ,Y
161 STU ,Y++
162 STD ,X++
163 CMPX #$C000
164 BNE BOCROI
165
166ANALYS LDX #0
167 STX $5F3C
168 STX $5F3E
169 LDX FINTAB
170ANA LEAX 3,X
171 STX FINTAC
172 LDY #0 TAB:XXXX,YYYY,ZZ
173ANAL0 LDX #$FFFE XXXX>ADR.GAUCHE
174 LDA 4,Y YYYY>ADR.CENTRE
175 BMI ANA2 ZZ>FLAG GAUC/CENT.
176ANA0 LDD ,Y 0 NON AFFECTE
177ANA1 LEAX 5,X 1 AFFECTE
178 CMPX #24383
179 BNE ANAC0
180 LDX #$7BEB
181ANAC0 CMPX FINTAC F NON AFFECTABLE
182 BHS ANA2
183 LDA 1,X
184 ANDA #$0F
185 BNE ANA1
186 CMPB ,X
187 BNE ANA1
188 LDA ,Y
189 CMPA -1,X
190 BNE ANA1
191 LDA 4,Y
192 ORA #$10
193 STA 4,Y
194 LDA 1,X
195 ORA #$01
196 STA 1,X
197 STY -1,X
198 BRA ANA1
199ANA2 COM $5F3C
200 LEAY 5,Y
201 CMPY #24380
202 BNE ANAK0
203 LDY #$7BE8
204ANAK0 CMPY FINTAB
205 BLO ANAL0
206
207 LDU #TEMPO
208 TST FLAG1
209 LBEQ ETIK
210 LDY #0
211ANAL1 LDX #$FFFE
212 LDA 4,Y
213 BMI ANA5
214ANA3 LDD ,Y
215 ADDD #1
216 STA ,U
217ANA4 LEAX 5,X
218 CMPX #24383
219 BNE ANAC1
220 LDX #$7BEB
221ANAC1 CMPX FINTAC
222 BHS ANA5
223 LDA 1,X
224 ANDA #$0F
225 BNE ANA4
226 CMPB ,X
227 BNE ANA4
228 LDA ,U
229 CMPA -1,X
230 BNE ANA4
231 LDA 4,Y
232 ORA #$10
233 STA 4,Y
234 LDA 1,X
235 ORA #$02
236 STA 1,X
237 STY -1,X
238 BRA ANA4
239ANA5 COM $5F3D
240 LEAY 5,Y
241 CMPY #24380
242 BNE ANAK1
243 LDY #$7BE8
244ANAK1 CMPY FINTAB
245 BLO ANAL1
246
247 TST FLAG1
248 LBEQ ETIK
249 LDY #0
250ANAL2 LDX #$FFFE
251 LDA 4,Y
252 BMI ANA8
253ANA6 LDD ,Y
254 ADDD #2
255 STA ,U
256ANA7 LEAX 5,X
257 CMPX #24383
258 BNE ANAC2
259 LDX #$7BEB
260ANAC2 CMPX FINTAC
261 BHS ANA8
262 LDA 1,X
263 ANDA #$0F
264 BNE ANA7
265 CMPB ,X
266 BNE ANA7
267 LDA ,U
268 CMPA -1,X
269 BNE ANA7
270 LDA 4,Y
271 ORA #$10
272 STA 4,Y
273 LDA 1,X
274 ORA #$03
275 STA 1,X
276 STY -1,X
277 BRA ANA7
278ANA8 COM $5F3E
279 LEAY 5,Y
280 CMPY #24380
281 BNE ANAK2
282 LDY #$7BE8
283ANAK2 CMPY FINTAB
284 BLO ANAL2
285
286 TST FLAG3
287 BEQ ETIK
288 LDY #0
289ANAL3 LDX #$FFFE
290 LDA 4,Y
291 BMI ANA11
292ANA9 LDD ,Y
293 ADDD #3
294 STA ,U
295ANA10 LEAX 5,X
296 CMPX #24383
297 BNE ANAC3
298 LDX #$7BEB
299ANAC3 CMPX FINTAC
300 BHS ANA11
301 LDA 1,X
302 ANDA #$0F
303 BNE ANA10
304 CMPB ,X
305 BNE ANA10
306 LDA ,U
307 CMPA -1,X
308 BNE ANA10
309 LDA 4,Y
310 ORA #$10
311 STA 4,Y
312 LDA 1,X
313 ORA #$04
314 STA 1,X
315 STY -1,X
316 BRA ANA10
317ANA11 COM $5F3F
318 LEAY 5,Y
319 CMPY #24380
320 BNE ANAK3
321 LDY #$7BE8
322ANAK3 CMPY FINTAB
323 BLO ANAL3
324
325ETIK LDX ETIQ0
326 LDB PAS
327 LDY #0
328AFF1 LDA 4,Y
329 ANDA #$F0
330 BLE AFF2
331 STX ,Y
332 ABX
333AFF2 LEAY 5,Y
334 CMPY #24380
335 BNE AFFC0
336 LDY #$7BE8
337AFFC0 CMPY FINTAB
338 BLO AFF1
339
340 CMPX #9999
341 LBHI TOOBIG
342
343 LDA #BANK1
344 STA BANK
345 LDY #0
346 LDX #$A000
347AFF3 LDA #3
348 STA $E7E5
349 LDA 4,Y
350 ANDA #$F0
351 BEQ AFF4
352 BMI AFF5
353 LDD ,Y
354 TFR X,U
355 BSR CVDEC
356 BRA AFF5
357AFF4 LDA BANK
358 STA $E7E5
359 LDD #$2020
360 STD ,X
361 STD 2,X
362 STA 4,X
363AFF5 LDA #3
364 STA $E7E5
365 LDA 4,Y
366 ANDA #$0F SI 0 OU F RIEN
367 BEQ AFF7
368 CMPA #$0F
369 BEQ AFF7
370 DECA
371 BEQ AFF6
372 ADDA #$30
373 PSHS A
374 LEAU 24,X
375 LDA BANK
376 STA $E7E5
377 LDA #$3D '='
378 STA ,U+
379 LDA #3
380 STA $E7E5
381 LDD [2,Y]
382 BSR CVDEC
383 LDA #$2B '+'
384 PULS B
385 STD ,U
386 BRA AFF7
387AFF6 LEAU 15,X
388 LDD [2,Y]
389 BSR CVDEC
390AFF7 LEAX 40,X
391 CMPX #$DFE8
392 BLO MBANK3
393 INC BANK
394 LDX #$A000
395MBANK3 LEAY 5,Y
396 CMPY #24380
397 BNE AFFK0
398 LDY #$7BE8
399AFFK0 CMPY FINTAB
400 LBLO AFF3
401 BRA SAVE
402
403
404CVDEC PSHS X
405 TFR D,X
406 LDA BANK
407 STA $E7E5
408 LDA ETIQ
409 STA ,U+
410 LDD #$3030
411CVD1 CMPX #1000
412 BLO CVD2
413 INCA
414 LEAX -1000,X
415 BRA CVD1
416CVD2 CMPX #100
417 BLO CVD3
418 INCB
419 LEAX -100,X
420 BRA CVD2
421CVD3 STD ,U++
422 LDD #$3030
423CVD4 CMPX #10
424 BLO CVD5
425 INCA
426 LEAX -10,X
427 BRA CVD4
428CVD5 LEAX D,X
429 STX ,U++
430 PULS X,PC
431
432SAVE LDX #SAUVE
433AFFIC2 LDB ,X+
434 BEQ SAV1
435 JSR $E803
436 BRA AFFIC2
437
438SAV1 CLR $E7E6
439 PULS CC
440 LDX #$8600
441 STX $6197
442 LDX #$8C00
443 STX $6199
444 LDX #$9400
445 LDY #5
446 LDD #$0402
447 JSR $EC0C
448 LDX #FILE
449 LDA ,X++
450 SUBA #$30
451 STA $6049
452 LDU #$624B
453 LDD #$2003
454 STD ,U++
455 LDA #$FF
456 STA ,U++
457 LDB #8
458COPS LDA ,X+
459 STA ,U+
460 DECB
461 BNE COPS
462 LDD #$4153 'AS'
463 STD ,U++
464 LDD #$4D09 'M'+8 octets
465COPC STA ,U+
466 LDA ,X+
467 DECB
468 BNE COPC
469 LDB #3 CODE DE OPEN
470 JSR $EC0C OUVERTURE
471
472 LDX #$A000
473 LDA #BANK1
474 STA $E7E5
475 LDY FINPTR
476 LEAY -1,Y
477
478LIGNE LDU 16,X
479 CMPU 26,X
480 BNE SAV2
481 LDU 18,X
482 CMPU 28,X
483 BNE SAV2
484 LDD #$2020
485 STD 23,X
486 STD 25,X
487 STD 27,X
488 STD 29,X
489SAV2 LEAU 40,X
490 LDD #$2029
491BCLFL DECB
492 LBEQ FINLIN
493 CMPA ,-U
494 BEQ BCLFL
495 TFR X,U
496 PSHS B
497 LDA ,X
498 CMPA #$2A '*'
499 BNE PASCOM
500BCLCOM LDA ,U+
501 LDB #4
502 JSR $EC0C
503 DEC ,S
504 BNE BCLCOM
505 LBRA FINLI0
506
507PASCOM LDA #$F7
508 PSHS A
509BOUETI LDB #4
510 LDA ,U+
511 CMPA #$20
512 BEQ FINETI
513 DEC ,S
514 JSR $EC0C
515 BRA BOUETI
516FINETI PULS A
517 LDB #4
518 JSR $EC0C
519
520MNEMO LDA ,S
521 CMPA #7
522 BLO FINLI0
523 LDA #$F7
524 PSHS A
525 LEAU 7,X
526BOUMNE LDB #4
527 LDA ,U+
528 CMPA #$20
529 BEQ FINMNE
530 DEC ,S
531 JSR $EC0C
532 BRA BOUMNE
533FINMNE PULS A
534 LDB #4
535 JSR $EC0C
536
537OPERA LDA ,S
538 CMPA #14
539 BLO FINLI0
540 SUBA #14
541 STA ,S
542 LEAU 14,X
543 LDA #$20
544BOUESP CMPA ,U
545 BNE BOUOPE
546 LEAU 1,U
547 DEC ,S
548 BRA BOUESP
549BOUOPE LDB #4
550 LDA ,U+
551 JSR $EC0C
552 DEC ,S
553 BNE BOUOPE
554
555FINLI0 PULS A
556
557FINLIN LDD #$0D04
558 JSR $EC0C
559 LEAX 40,X
560 CMPX #$DFE8
561 BLO MBANK4
562 LDX #$A000
563 INC $E7E5
564MBANK4 LEAY -1,Y
565 LBNE LIGNE
566 LDB #6
567 JSR $EC0C
568 BRA FIN
569
570TOOBIG LDX #TOMUCH
571AFFIC3 LDB ,X+
572 BEQ FIN
573 JSR $E803
574 BRA AFFIC3
575
576FIN PULS A,B,DP,CC,X,Y,U,PC
577
578COMPT FDB 0 compteur
579PARTIE FCB 0
580BANK FCB 0 SAUVEGARDE BANK
581PTRP FDB 0
582FINPTR FDB 0
583FINTAB FDB 0
584FINTAC FDB 0
585TEMPO FCB 0
586SAUVE FCB 12
587 FCC #SAUVEGARDE EN COURS...#
588 FCB 0
589CALCUL FCB 12,31,24,1
590 FCC #CALCULS EN COURS...#
591 FCB 0
592TOMUCH FCB 12
593 FCC #PARAMETRES INCORRECTS#
594 FCB 0
595FLAG1 FCB 0
596FLAG2 FCB 0
597FLAG3 FCB 0
598ETIQ FCC #B#
599PAS FCB 1
600ETIQ0 FDB 0
601FILE FCC #4:ESSAI #
602COMMEN FCC #ASourcer#
603
604
605 END
Note: See TracBrowser for help on using the repository browser.