source: thomson/code/3rdparty/sources2-hcl/HCL Megademo/LOADER.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: 5.1 KB
Line 
1FONTE EQU $A000
2TEXTE EQU $A5D0
3ECRAN EQU $5E00
4DIR EQU $D5
5Z EQU $40
6DEBDEM EQU $630C
7FINDEM EQU $6370
8SHELL EQU $637D
9
10 ORG $D690
11 FCB $B8,$B0,$A8,$A0
12 FCB $98,$90,$88,$80
13 ORG DIR*256+Z
14 FDB $100,$0201,TEXTE,0,0,0,0
15 ORG $A328
16
17G ORCC #80
18 LDA $E7C3
19 ORA #1
20 STA $E7C3
21 LDD #0
22 STD $E7DC
23 LDX #ECRAN
24 LDU #$D550
25 PULU D
26 STD ,X++
27 CMPX #$5F40
28 BNE *-7
29 DEC $E7C3
30 LDA #40
31 LDB ,U+
32 STB ,-X
33 DECA
34 BNE *-3
35 CMPU #$D698
36 BNE *-13
37 LDD #$C0C0
38 STD ,--X
39 CMPX #$4000
40 BNE *-5
41 INC $E7C3
42 LDX #COLORS
43 LDA #255
44 JSR $EC00
45 LDB #DIR
46 TFR B,DP
47 LDY <Z+4
48
49SYNCRO LDA $E7E7
50 BPL *-3
51 LDA $E7E7
52 BMI *-3
53
54 LDB <Z+3
55 BEQ *+6
56 DEC <Z+3
57 BRA FINJOY+2
58 LDA #4
59 STA <Z+3
60 LDB <Z
61 LDA $E7CC
62 BITA #4
63 BNE EST
64 DECB
65 BMI FINJOY+2
66 BRA FINJOY
67EST BITA #8
68 BNE FINJOY+2
69 INCB
70 CMPB #8
71 BEQ FINJOY+2
72FINJOY STB <Z
73
74 LDA $E7CD
75 BITA #64
76 LBEQ SORTIE
77
78 LDB <Z
79BOUCLE STB <Z+1
80 BEQ FINSCR
81 JSR SCROLL
82 LDB <Z+1
83 DECB
84 BRA BOUCLE
85
86FINSCR JSR $E806
87 CMPB #87
88 BNE PAWARP
89 LDA #$25
90 STA PAWARP+2
91PAWARP CMPB #$90
92 BRA SYNCRO
93 SUBB #$90
94 LDU #COLORS+2
95 LDB B,U
96 LDA #$63
97 STD FINDEM
98 JMP SORTIE
99
100SCROLL LDX #ECRAN+20
101 LDU #DIR*256+Z+6
102 LDA #8
103 ASL ,U+
104 ROL 19,X
105 ROL 18,X
106 ROL 17,X
107 ROL 16,X
108 ROL 15,X
109 ROL 14,X
110 ROL 13,X
111 ROL 12,X
112 ROL 11,X
113 ROL 10,X
114 ROL 9,X
115 ROL 8,X
116 ROL 7,X
117 ROL 6,X
118 ROL 5,X
119 ROL 4,X
120 ROL 3,X
121 ROL 2,X
122 ROL 1,X
123 ROL ,X
124 ROL -1,X
125 ROL -2,X
126 ROL -3,X
127 ROL -4,X
128 ROL -5,X
129 ROL -6,X
130 ROL -7,X
131 ROL -8,X
132 ROL -9,X
133 ROL -10,X
134 ROL -11,X
135 ROL -12,X
136 ROL -13,X
137 ROL -14,X
138 ROL -15,X
139 ROL -16,X
140 ROL -17,X
141 ROL -18,X
142 ROL -19,X
143 ROL -20,X
144 LEAX 40,X
145 DECA
146 BNE SCROLL+8
147 DEC <Z+2
148 BEQ *+3
149 RTS
150 LDB ,Y+
151 BNE *+8
152 LDY #TEXTE
153 LDB #2
154 ANDB #254
155 LSRB
156 LDA #8
157 STA <Z+2
158 MUL
159 LDU #FONTE-8
160 LEAU D,U
161 PULU D,X
162 STD <Z+6
163 STX <Z+8
164 PULU D,X
165 STD <Z+10
166 STX <Z+12
167 RTS
168
169SORTIE STY <Z+4
170 LDX #ECRAN
171 LDU #$D550
172 LDD ,X++
173 STD ,U++
174 CMPX #$5F40
175 BNE *-7
176 LDU FINDEM
177 JMP SHELL
178
179ERROR LDA $E7C3
180 ORA #1
181 STA $E7C3
182 LDD #0
183 STD $E7DC
184 LDX #COLORS+32
185 LDU #PHRASE+25
186 LDB <$4E
187 LSRB
188 LSRB
189 LSRB
190 LSRB
191 LDA B,X
192 LDB <$4E
193 ANDB #15
194 LDB B,X
195 STD ,U++
196 LDB <$48
197 LDA B,X
198 LDB <$49
199 LDB B,X
200 STD ,U++
201 LDB <$4B
202 LSRB
203 LSRB
204 LSRB
205 LSRB
206 LDA B,X
207 LDB <$4B
208 ANDB #15
209 LDB B,X
210 STD ,U++
211 LDB <$4C
212 LSRB
213 LSRB
214 LSRB
215 LSRB
216 LDA B,X
217 LDB <$4C
218 ANDB #15
219 LDB B,X
220 STD ,U
221
222 LDX #$4078
223 LDY #PHRASE
224 LDB ,Y+
225 JSR PRINT
226 CMPX #$40A0
227 BNE *-8
228 LDX #$41B8
229 LDB ,Y+
230 JSR PRINT
231 CMPX #$41E0
232 BNE *-8
233
234 DEC $E7C3
235 LDX #$4140
236 LDU #$D698
237 LDA #40
238 LDB ,-U
239 STB -320,X
240 STB ,X+
241 DECA
242 BNE *-7
243 CMPU #$D690
244 BNE *-17
245 LDD #$C0C0
246 STD ,X++
247 CMPX #$5F40
248 BNE *-5
249 LDX #COLORS
250 LDA #255
251 JSR $EC00
252 TST $E7C8
253 BEQ *-3
254 JMP G
255PRINT LDA #8
256 SUBB #32
257 MUL
258 LDU #FONTE
259 LEAU D,U
260 PULU D
261 STA -120,X
262 STB -80,X
263 PULU D
264 STA -40,X
265 STB ,X+
266 PULU D
267 STA 39,X
268 STB 79,X
269 PULU D
270 STA 119,X
271 STB 159,X
272 RTS
273
274COLORS FDB 0,$0C12,$181E,$4C52,$585E
275 FDB $646A,4080,4095
276 FDB $EE,$CE,$AE,$8E
277 FDB $6E,$4E,$2E,$0E
278 FCC /0123456789ABCDEF/
279PHRASE FCC / Erreur disque/
280 FCC /tte #00000000 /
281 FCC / Appuyez sur/
282 FCC / une touche /
283
284 END
Note: See TracBrowser for help on using the repository browser.