source: thomson/code/3rdparty/sources3-lambinet/Copiers/COPYCART.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: 1.9 KB
Line 
1*** COPYCART ***************************
2* *
3* LECTURE d'une cartouche de 4K à 64K *
4* *
5*** par Michel SAINT-BRIANT/ASCI (c) ***
6
7 ORG $8000
8
9* Sauvegarde des registres
10
11 PSHS U,X,Y,DP,A,B,CC
12
13* On sauvegarde la valeur de $E7C3 pour
14* restauration en fin de programme.
15
16 LDA $E7C3
17 PSHS A
18
19* On commute l'espace logique $0/$3FFF
20* sur la cartouche en mettant le bit 2
21* de $E7C3 à 0 (sinon à 1 ce sont les
22* 64 Ko de BASIC512+BASIC1.0+DOS icon.)
23
24 ANDA #$FB
25 STA $E7C3
26
27* Initialisation de la bank courante
28* en bank 3 (no BASIC donc valeur=4)
29
30 LDA #4
31 STA $E7E5
32
33* Copie de la première banque-cartouche
34* à lire en BANK 3 de $A000 à $DFFF
35
36 STA >0 la commutation des
37 * slots se fait en écri-
38 * vant à l'adresse dont
39 * le no est no du slot.
40
41 BSR COPIE
42
43* Copie de la 2è banque de la cartouche
44* si elle existe sinon la 1 est recopiée
45* à lire en BANK 4 de $A000 à $DFFF
46
47 STA >1
48 BSR COPIE
49
50* Copie de la 3è banque de la cartouche
51* si elle existe sinon la 1 est recopiée
52* à lire en BANK 5 de $A000 à $DFFF
53
54 STA >2
55 BSR COPIE
56
57* Copie de la 4è banque de la cartouche
58* si elle existe sinon la 1 est recopiée
59* à lire en BANK 6 de $A000 à $DFFF
60
61 STA >3
62 BSR COPIE
63
64* On restaure le registre $E7C3
65
66 PULS A
67 STA $E7C3
68
69* On se remet sur le slot 0 pour
70* 'retomber' en BASIC512 si c'esl le cas
71
72 STA >0
73
74* On restaure les registres et on sort.
75
76 PULS CC,B,A,DP,Y,X,U,PC
77
78**********************
79* copier les banques *
80**********************
81
82COPIE LDX #$0000
83 LDY #$A000
84COP LDU ,X++
85 STU ,Y++
86 CMPX #$4000
87 BLO COP
88 INC $E7E5 bank suivante
89 RTS
90
91 END
Note: See TracBrowser for help on using the repository browser.