source: thomson/code/3rdparty/sources3-lambinet/FORMATPC.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: 4.3 KB
Line 
1*** exemple de dérivation d'un programme
2*** ressourcé avec CODEVIEW3
3
4*** FORMATAGE PHYSIQUE D'UNE DISQUETTE
5*** AU STANDARD PC (80 PISTES DE 2 FACES
6*** DE 9 SECTEURS DE 512 OCTETS
7
8*** MICHEL SAINT-BRIANT (ASCI 1992)
9
10* les BSR et LBSR ont été remplacés par
11* des JSR (absolu) et quelques modifica-
12* tions mineures ont été apportées.
13
14 ORG $8000
15
16 PSHS U,Y,X,DP,B,A,CC
17 JSR $E09D
18 CLR <$49
19 JSR $E0A7
20 JSR $E45A
21 LBCS P0060
22 JSR $E134
23 LBCS P0060
24 CLR <$4B piste 0
25 JSR $E521
26 LBCS P0060
27P0000 CLR <$49 face 0
28 BRA P0020
29P0010 LDA #$01 face 1
30 STA <$49
31P0020 JSR $E0A7
32 JSR $E45A
33 PSHS CC
34 ORCC #$50
35 LBSR P0080
36 LDA #$02
37 PSHS A
38P0030 LBSR P0140
39 LDX #$E7D0
40 JSR $E45A
41 LBSR P0200
42 BCC P0040
43 DEC ,S
44 BNE P0030
45 PULS A
46 PULS CC
47 COMA
48 BRA P0060
49P0040 PULS A
50 PULS CC
51 TST <$49
52 BEQ P0010
53 LDA <$4B est-ce la dernière
54 CMPA #$4F \piste?
55 BEQ P0050
56 BSR P0070
57 BRA P0000
58P0050 LDA #$50
59 STA <$4B
60P0060 JMP $E08A sortie du DOS
61P0070 INC <$4B piste=piste+1
62 JMP $E47A
63P0080 LDX #$60D3 on bufférise les
64 LDB #$09 9 secteurs en
65P0090 CLR B,X prenant un entre-
66 DECB lacement de 1 (pc)
67 BNE P0090
68 LEAX 9,X
69 PSHS X
70 LDX #$60D3
71 LDA #$01
72 LDB #$01
73P0100 STA ,X
74 LEAX B,X
75 INCA
76 CMPA #$09
77 BHI P0130
78P0110 CMPX ,S
79 BCS P0120
80 LEAX -9,X
81P0120 TST ,X
82 BEQ P0100
83 LEAX 1,X
84 BRA P0110
85P0130 LEAS 2,S
86 RTS
87P0140 LDX #$60D3
88 LDU <$4F
89P0150 LDB ,X+
90 BEQ P0160
91 LDA <$4B
92 STA ,U
93 LDA <$49
94 STA 1,U
95 STB 2,U
96 LDY #$0004
97 LDA #$02
98 STA 3,U
99 LDD #$B230
100 JSR $E364
101 STD ,U++
102 BRA P0150
103P0160 RTS
104P0170 LDB 1,X
105 BITB #$40
106 BEQ P0170
107P0180 LDB 3,X
108 LDB ,X
109 BPL P0180
110P0190 LDB ,X
111 BPL P0190
112 RTS
113P0200 LDA #$09 on formate piste
114 PSHS A
115 LDU <$4F
116 JSR $E341
117 BSR P0170
118 LDD #$4EFF
119 STD 3,X
120 LDB #$04
121 STB ,X
122 LDA #$1E
123P0210 LDB ,X
124 BPL P0210
125 LDB #$4E
126 STB 3,X
127 DECA
128 BNE P0210
129P0220 LDA #$0C
130P0230 LDB ,X
131 BPL P0230
132 CLR 3,X
133 DECA
134 BNE P0230
135P0240 LDB ,X
136 BPL P0240
137 LDD #$A10A
138 STD 3,X
139P0250 LDB ,X
140 BPL P0250
141 STA 3,X
142P0260 LDB ,X
143 BPL P0260
144 STA 3,X
145P0270 LDB ,X
146 BPL P0270
147 LDD #$FEFF
148 STD 3,X
149 LDA #$06
150P0280 LDB ,X
151 BPL P0280
152 LDB ,U+
153 STB 3,X
154 DECA
155 BNE P0280
156 LDA #$16
157P0290 LDB ,X
158 BPL P0290
159 LDB #$4E
160 STB 3,X
161 DECA
162 BNE P0290
163 LDA #$0C
164P0300 LDB ,X
165 BPL P0300
166 CLR 3,X
167 DECA
168 BNE P0300
169P0310 LDB ,X
170 BPL P0310
171 LDD #$A10A
172 STD 3,X
173P0320 LDB ,X
174 BPL P0320
175 STA 3,X
176P0330 LDB ,X
177 BPL P0330
178 STA 3,X
179P0340 LDB ,X
180 BPL P0340
181 LDD #$FBFF
182 STD 3,X
183 LDY #$0200 512 octets
184P0350 LDB ,X
185 BPL P0350
186 LDB #$F6 code $F6 pour
187 STB 3,X \remplissage
188 LEAY -1,Y
189 BNE P0350
190P0360 LDB ,X
191 BPL P0360
192 LDB #$2B $2BF6 est le chek-
193 STB 3,X \sum correspondant
194P0370 LDB ,X
195 BPL P0370
196 LDB #$F6
197 STB 3,X
198 LDA #$54
199P0380 LDB ,X
200 BPL P0380
201 LDB #$4E
202 STB 3,X
203 DECA
204 BNE P0380
205 DEC ,S
206 LBNE P0220
207P0390 LDA 1,X
208 BITA #$40
209 BNE P0410
210P0400 LDA ,X
211 BPL P0400
212 STB 3,X
213 BRA P0390
214P0410 PULS A
215 CLR ,X
216 RTS
217
218 END
Note: See TracBrowser for help on using the repository browser.