source: thomson/code/3rdparty/sources5-hmel/TO-SNAP/SNAP.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 100755
File size: 7.6 KB
Line 
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
82BASEF 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
119COMBK2 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
193COMBK1 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*=======================================
208FENRAM EQU *
209*---------------------------------------
210 LDX #$1800
211 LDY #$7800
212BCPIF1 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*=======================================
228BOOT 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
279PBBOOT LDB #$54 commut.bank
280 STB $6081 ram E7E5
281 STB >$E7E7 (compatibilité)
282
283 LDX #DEBBOO-$4000
284 LDY #$A000 flag pour redem.
285COPBOO LDA ,X+
286 STA ,Y+
287 CMPX #FINBOO-$4000
288 BNE COPBOO ->
289 JSR $A000
290
291 LDU #DEBUT
292 LBSR COMBK1 ->>>>>
293
294DEBBOO 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
305FINBOO EQU *
306
307 END
Note: See TracBrowser for help on using the repository browser.