1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545
|
1: ;*=*=*
2: ; xtrs8/dct
3: ; LDOS driver for xtrs emulation of 8" floppy
4: ;
5: ; Copyright (c) 1998, Timothy Mann
6: ; $Id: xtrs8.z80,v 1.2 2008/06/26 04:39:56 mann Exp $
7: ;
8: ; This software may be copied, modified, and used for any
9: ; purpose without fee, provided that (1) the above copyright
10: ; notice is retained, and (2) modified versions are clearly
11: ; marked as having been modified, with the modifier's name and
12: ; the date included.
13: ;*=*=*
14:
15:
16: ; Number of floppy drives xtrs allows
17: 0008 ndrive equ 8
18:
19: ; ASCII chars
20: 000A LF equ 10
21: 000D CR equ 13
22: 0003 ETX equ 3
23:
24: ; Model 4 SVC numbers
25: 0064 @high equ 100
26: 000A @dsply equ 10
27: 0065 @flags equ 101
28: 000C @logot equ 12
29: 0052 @gtdcb equ 82
30: 0053 @gtmod equ 83
31: 0009 @keyin equ 9
32:
33: ; Model I/III hard addresses
34: 0125 m3flag$ equ 0125h ; 'I' in ROM on Model III
35: 447B @logot1 equ 447bh
36: 428A @logot3 equ 428ah
37: 4467 @dsply1 equ 4467h
38: 4467 @dsply3 equ 4467h
39: 4049 high$1 equ 4049h
40: 4411 high$3 equ 4411h
41: 4758 cflag$1 equ 4758h
42: 4758 cflag$3 equ 4758h
43: 0040 @keyin1 equ 0040h
44: 0040 @keyin3 equ 0040h
45: 441F osver$3 equ 441fh
46:
47: ; Very undocumented! ugh!
48: 4585 flop31 equ 4585h ;Model III LDOS 5.1.x floppy driver
49: 4583 flop33 equ 4583h ;Model III LDOS 5.3.x floppy driver
50:
51: ;*=*=*
52: ; Set origin to be safe on both LDOS 5 and 6
53: ;*=*=*
54: 6000 org 6000h
55:
56: ;*=*=*
57: ; Relocator for disk driver
58: ;*=*=*
59: 6000 ED533363 instal: ld (dct),de ;Save DCT address
60: 6004 3A0A00 ld a,(000ah) ;Determine TRS-80 model
61: 6007 FE40 cp 40h
62: 6009 C2F960 jp nz,lsdos6 ;Model 4 (or other LS-DOS, I hope)
63: 600C 3A2501 ld a,(m3flag$)
64: 600F FE49 cp 'I'
65: 6011 CA8660 jp z,model3 ;Go if Model III
66: ;*=*=*
67: ; LDOS 5 Model I - See LS-DOS 6 version for comments
68: ;*=*=*
69: 6014 3ECD ld a,0cdh ;Insert Model I @LOGOT
70: 6016 32E761 ld (logot),a
71: 6019 217B44 ld hl,@logot1
72: 601C 22E861 ld (logot+1),hl
73: 601F 214762 ld hl,hello_
74: 6022 CD6744 call @dsply1
75: 6025 3A5847 ld a,(cflag$1)
76: 6028 CB5F bit 3,a ;System request?
77: 602A CADC61 jp z,viaset
78: 602D ED5B3363 ld de,(dct)
79: 6031 7A ld a,d ;DRIVE= must be specified
80: 6032 B3 or e
81: 6033 CAD861 jp z,needdr
82: 6036 21F062 asku1: ld hl,unit_ ;Ask which unit number
83: 6039 CD6744 call @dsply1
84: 603C 213563 ld hl,unit
85: 603F 010001 ld bc,100h
86: 6042 CD4000 call @keyin1
87: 6045 DAE461 jp c,hitbrk
88: 6048 C2E461 jp nz,hitbrk
89: 604B 3A3563 ld a,(unit)
90: 604E FE30 cp '0'
91: 6050 38E4 jr c,asku1
92: 6052 FE38 cp '0'+ndrive
93: 6054 30E0 jr nc,asku1
94: 6056 114D64 ld de,modnam ;Module already loaded?
95: 6059 2A4940 ld hl,(high$1)
96: 605C CD1562 call xgtmod
97: 605F CA9761 jp z,setdct
98: 6062 113F64 ld de,fd1 ;Find fdubl driver
99: 6065 2A4940 ld hl,(high$1)
100: 6068 CD1562 call xgtmod
101: 606B C2D061 jp nz,needfd ;go if missing
102: 606E 225764 ld (flop),hl
103: 6071 2A4940 ld hl,(high$1)
104: 6074 223163 ld (newend),hl
105: 6077 112C00 ld de,length
106: 607A 97 sub a
107: 607B ED52 sbc hl,de
108: 607D 224940 ld (high$1),hl
109: 6080 CDEE61 call relo
110: 6083 C38961 jp move
111: ;*=*=*
112: ; LDOS 5 Model III
113: ;*=*=*
114: 6086 model3:
115: 6086 3ECD ld a,0cdh ;Insert Model III @LOGOT
116: 6088 32E761 ld (logot),a
117: 608B 218A42 ld hl,@logot3
118: 608E 22E861 ld (logot+1),hl
119: 6091 214762 ld hl,hello_
120: 6094 CD6744 call @dsply3
121: 6097 3A5847 ld a,(cflag$3)
122: 609A CB5F bit 3,a ;System request?
123: 609C CADC61 jp z,viaset
124: 609F ED5B3363 ld de,(dct)
125: 60A3 7A ld a,d ;DRIVE= must be specified
126: 60A4 B3 or e
127: 60A5 CAD861 jp z,needdr
128: 60A8 21F062 asku3: ld hl,unit_ ;Ask which unit number
129: 60AB CD6744 call @dsply3
130: 60AE 213563 ld hl,unit
131: 60B1 010001 ld bc,100h
132: 60B4 CD4000 call @keyin3
133: 60B7 DAE461 jp c,hitbrk
134: 60BA C2E461 jp nz,hitbrk
135: 60BD 3A3563 ld a,(unit)
136: 60C0 FE30 cp '0'
137: 60C2 38E4 jr c,asku3
138: 60C4 FE38 cp '0'+ndrive
139: 60C6 30E0 jr nc,asku3
140: 60C8 114D64 ld de,modnam ;Module already loaded?
141: 60CB 2A1144 ld hl,(high$3)
142: 60CE CD1562 call xgtmod
143: 60D1 CA9761 jp z,setdct
144: ;
145: ; Doesn't work on Model III:
146: ; ld de,fd3 ;Find floppy driver
147: ; ld hl,(high$3)
148: ; call xgtmod
149: ; jp nz,needfd ;go if missing
150: ;
151: ; Cheat instead:
152: 60D4 3A1F44 ld a,(osver$3)
153: 60D7 FE51 cp 51h
154: 60D9 218545 ld hl,flop31
155: 60DC 2803 jr z,gotit
156: 60DE 218345 ld hl,flop33
157: 60E1 gotit:
158: ;
159: 60E1 225764 ld (flop),hl
160: 60E4 2A1144 ld hl,(high$3)
161: 60E7 223163 ld (newend),hl
162: 60EA 112C00 ld de,length
163: 60ED 97 sub a
164: 60EE ED52 sbc hl,de
165: 60F0 221144 ld (high$3),hl
166: 60F3 CDEE61 call relo
167: 60F6 C38961 jp move
168:
169: ;*=*=*
170: ; LS-DOS 6
171: ;*=*=*
172: 60F9 214762 lsdos6: ld hl,hello_
173: 60FC 3E0A ld a,@dsply ;Display hello
174: 60FE EF rst 40
175: ;*=*=*
176: ; Check if entry from SYSTEM command.
177: ;*=*=*
178: 60FF 3E65 ld a,@flags ;Get flags pointer into IY
179: 6101 EF rst 40
180: 6102 FD7E02 ld a,(iy+'C'-'A') ;Get CFLAG$
181: 6105 CB5F bit 3,a ;System request?
182: 6107 CADC61 jp z,viaset
183: 610A ED5B3363 ld de,(dct)
184: 610E 7A ld a,d ;DRIVE= must be specified
185: 610F B3 or e
186: 6110 CAD861 jp z,needdr
187: ;*=*=*
188: ; Ask which unit number
189: ;*=*=*
190: 6113 21F062 asku4: ld hl,unit_ ;Ask which unit number
191: 6116 3E0A ld a,@dsply
192: 6118 EF rst 40
193: 6119 213563 ld hl,unit
194: 611C 010001 ld bc,100h
195: 611F 3E09 ld a,@keyin
196: 6121 EF rst 40
197: 6122 DAE461 jp c,hitbrk
198: 6125 C2E461 jp nz,hitbrk
199: 6128 3A3563 ld a,(unit)
200: 612B FE30 cp '0'
201: 612D 38E4 jr c,asku4
202: 612F FE38 cp '0'+ndrive
203: 6131 30E0 jr nc,asku4
204: ;*=*=*
205: ; Check if driver already loaded
206: ;*=*=*
207: 6133 114D64 ld de,modnam
208: 6136 3E53 ld a,@gtmod
209: 6138 EF rst 40
210: 6139 CA9761 jp z,setdct ;Already loaded, skip loading
211: ;*=*=*
212: ; Find system floppy driver
213: ;*=*=*
214: 613C 114464 ld de,fd4
215: 613F 3E53 ld a,@gtmod
216: 6141 EF rst 40
217: 6142 C2D461 jp nz,curdl ;Fatal error if not found
218: 6145 225764 ld (flop),hl
219: ;*=*=*
220: ; Obtain low memory driver pointer. Bizarre API here!
221: ;*=*=*
222: 6148 1E4B ld e,'K' ;Locate pointer to *KI DCB
223: 614A 1649 ld d,'I' ; via @GTDCB SVC
224: 614C 3E52 ld a,@gtdcb
225: 614E EF rst 40
226: 614F C2D461 jp nz,curdl ;No error unless KI clobbered!
227: 6152 2B dec hl ;Decrement to driver pointer
228: 6153 56 ld d,(hl) ;P/u hi-order of pointer,
229: 6154 2B dec hl ; decrement to and p/u
230: 6155 5E ld e,(hl) ; lo-order of pointer
231: ;*=*=*
232: ; Check if driver will fit into [(LCPTR), X'12FF']
233: ;*=*=*
234: 6156 E5 push hl ;Save address of pointer
235: 6157 212C00 ld hl,length ;New pointer will be
236: 615A 19 add hl,de ; pointer + LENGTH
237: 615B 54 ld d,h ;Save a copy in DE
238: 615C 5D ld e,l
239: 615D 010113 ld bc,1301h ;If > 1300H, driver won't fit
240: 6160 97 sub a ;Reset carry flag
241: 6161 ED42 sbc hl,bc
242: 6163 E1 pop hl ;Get back address of pointer
243: 6164 300A jr nc,usehi ;Go if driver won't fit
244: 6166 73 ld (hl),e ;Store new value of pointer
245: 6167 23 inc hl
246: 6168 72 ld (hl),d
247: 6169 1B dec de ;Last byte of driver goes here
248: 616A ED533163 ld (newend),de
249: 616E 1816 jr dorelo
250: ;*=*=*
251: ; Put in high memory instead.
252: ;*=*=*
253: 6170 210000 usehi: ld hl,0 ;Get current HIGH$
254: 6173 45 ld b,l
255: 6174 3E64 ld a,@high
256: 6176 EF rst 40
257: 6177 C2E061 jp nz,nomem
258: 617A 223163 ld (newend),hl ;Last byte of driver goes here
259: 617D 112C00 ld de,length
260: 6180 97 sub a ;Reset carry flag
261: 6181 ED52 sbc hl,de ;Compute new HIGH$
262: 6183 3E64 ld a,@high ;Set new HIGH$ into the system
263: 6185 EF rst 40
264: ;*=*=*
265: ; Relocate internal references in driver.
266: ; HL = address for last byte of driver.
267: ;*=*=*
268: 6186 CDEE61 dorelo: call relo
269: ;*=*=*
270: ; Move driver into low or high memory.
271: ;*=*=*
272: 6189 move:
273: 6189 ED5B3163 ld de,(newend) ;Destination address
274: 618D 217364 ld hl,dvrend ;Last byte of module
275: 6190 012C00 ld bc,length ;Length of filter
276: 6193 EDB8 lddr
277: 6195 EB ex de,hl
278: 6196 23 inc hl ;Bump to driver entry
279: ;*=*=*
280: ; Setup DCT
281: ;*=*=*
282: 6197 setdct:
283: 6197 FD2A3363 ld iy,(dct)
284: 619B FD7501 ld (iy+1),l ;Driver address
285: 619E FD7402 ld (iy+2),h
286: 61A1 FD360320 ld (iy+3),00100000b ;Flags: 8" floppy
287: 61A5 3A3563 ld a,(unit) ;Xlate unit number to select code
288: 61A8 E607 and 07h
289: 61AA 4F ld c,a
290: 61AB 0600 ld b,0
291: 61AD 213764 ld hl,utab
292: 61B0 09 add hl,bc
293: 61B1 7E ld a,(hl)
294: 61B2 F640 or 01000000b ;Flags: dden capable, select code
295: 61B4 FD7704 ld (iy+4),a
296: 61B7 FD360500 ld (iy+5),0 ;current cylinder number
297: 61BB FD36064C ld (iy+6),76 ;high cylinder number
298: 61BF FD36070F ld (iy+7),0fh ;init to sden head/sec/gran config
299: 61C3 FD360827 ld (iy+8),27h
300: 61C7 FD360926 ld (iy+9),38 ;Directory cylinder (guess)
301:
302: 61CB 210000 ld hl,0 ;Successful completion
303: 61CE 97 sub a
304: 61CF C9 ret
305: ;*=*=*
306: 61D0 211363 needfd: ld hl,needfd_
307: 61D3 DD defb 0ddh
308: 61D4 217B62 curdl: ld hl,curdl_ ;Other error
309: 61D7 DD defb 0ddh
310: 61D8 21D662 needdr: ld hl,needdr_
311: 61DB DD defb 0ddh
312: 61DC 21AC62 viaset: ld hl,viaset_
313: 61DF DD defb 0ddh
314: 61E0 218E62 nomem: ld hl,nomem_
315: 61E3 DD defb 0ddh
316: 61E4 210A63 hitbrk: ld hl,hitbrk_
317: 61E7 3E0C logot: ld a,@logot
318: 61E9 EF rst 40
319: 61EA 21FFFF ld hl,-1 ;Unuccessful completion
320: 61ED C9 ret
321:
322: ;*=*=*
323: ; Relocate internal references in driver.
324: ; HL = address for last byte of driver.
325: ;*=*=*
326: 61EE 2A3163 relo: ld hl,(newend)
327: 61F1 FD217464 ld iy,reltab ;Point to relocation tbl
328: 61F5 117364 ld de,dvrend
329: 61F8 97 sub a ;Clear carry flag
330: 61F9 ED52 sbc hl,de
331: 61FB 44 ld b,h ;Move to BC
332: 61FC 4D ld c,l
333: 61FD FD6E00 rloop: ld l,(iy) ;Get address to change
334: 6200 FD6601 ld h,(iy+1)
335: 6203 7C ld a,h
336: 6204 B5 or l
337: 6205 C8 ret z
338: 6206 5E ld e,(hl) ;P/U address
339: 6207 23 inc hl
340: 6208 56 ld d,(hl)
341: 6209 EB ex de,hl ;Offset it
342: 620A 09 add hl,bc
343: 620B EB ex de,hl
344: 620C 72 ld (hl),d ;And put back
345: 620D 2B dec hl
346: 620E 73 ld (hl),e
347: 620F FD23 inc iy
348: 6211 FD23 inc iy
349: 6213 18E8 jr rloop ;Loop till done
350:
351: ;*=*=*
352: ; Search for existing copy of driver.
353: ; Rough Model I/III emulation of Model 4 @GTMOD,
354: ; hardcoded with driver address.
355: ; Entry: HL = (HIGH$)
356: ; DE => module name, terminated with a character <= 0x1f
357: ; Exit Z: HL = driver address
358: ; NZ: driver not found
359: ;*=*=*
360: 6215 23 xgtmod: inc hl
361: 6216 7C ld a,h
362: 6217 B5 or l
363: 6218 2002 jr nz,xgtm1
364: 621A 3D dec a ;not found
365: 621B C9 ret
366: 621C 7E xgtm1: ld a,(hl)
367: 621D FE18 cp 18h ;unconditional jr?
368: 621F C0 ret nz ;not a module header
369: 6220 D5 push de ;save desired name ptr
370: 6221 E5 push hl ;save start address
371: 6222 23 inc hl ;skip jr
372: 6223 23 inc hl ;skip offset
373: 6224 23 inc hl ;skip start address
374: 6225 23 inc hl
375: 6226 46 ld b,(hl) ;get name length
376: 6227 23 inc hl
377: 6228 1A xgtm2: ld a,(de)
378: 6229 FE20 cp 20h
379: 622B 3810 jr c,nextmd ;desired name shorter - skip
380: 622D BE cp (hl)
381: 622E 200D jr nz,nextmd ;character different - skip
382: 6230 13 inc de
383: 6231 23 inc hl
384: 6232 10F4 djnz xgtm2
385: 6234 1A ld a,(de)
386: 6235 FE20 cp 20h
387: 6237 3004 jr nc,nextmd ;desired name longer - skip
388: 6239 E1 pop hl ;same - found
389: 623A D1 pop de
390: 623B 97 sub a
391: 623C C9 ret
392: 623D E1 nextmd: pop hl ;get back start of module
393: 623E 23 inc hl
394: 623F 23 inc hl
395: 6240 5E ld e,(hl) ;pointer to last byte
396: 6241 23 inc hl
397: 6242 56 ld d,(hl)
398: 6243 EB ex de,hl
399: 6244 D1 pop de
400: 6245 18CE jr xgtmod
401:
402: ;*=*=*
403: ; Messages and globals
404: ;*=*=*
405: 6247 58545253 hello_: defb 'XTRS8 - Emulated 8" floppy driver for xtrs - 4/9/98',CR
38202D20
456D756C
61746564
20382220
666C6F70
70792064
72697665
7220666F
72207874
7273202D
20342F39
2F39380D
406: 627B 4C532D44 curdl_: defb 'LS-DOS is curdled!',CR
4F532069
73206375
72646C65
64210D
407: 628E 48696768 nomem_: defb 'High memory is not available!',CR
206D656D
6F727920
6973206E
6F742061
7661696C
61626C65
210D
408: 62AC 4D757374 viaset_:defb 'Must install via SYSTEM (DRIVE=,DRIVER=)!',CR
20696E73
74616C6C
20766961
20535953
54454D20
28445249
56453D2C
44524956
45523D29
210D
409: 62D6 44524956 needdr_:defb 'DRIVE= must be specified!',CR
453D206D
75737420
62652073
70656369
66696564
210D
410: 62F0 456E7465 unit_: defb 'Enter unit number (4-7): ',ETX
7220756E
6974206E
756D6265
72202834
2D37293A
2003
411: 630A 41626F72 hitbrk_:defb 'Aborted!',CR
74656421
0D
412: 6313 46445542 needfd_:defb 'FDUBL must be loaded first!',CR
4C206D75
73742062
65206C6F
61646564
20666972
7374210D
413: 632F 0000 lcptr: defw 0
414: 6331 0000 newend: defw 0
415: 6333 0000 dct: defw 0
416: 6335 unit: defs 2
417: 6337 errbuf: defs 256
418: 6437 01020408 utab: defb 1,2,4,8,3,5,6,7
03050607
419: 643F 24464444 fd1: defb '$FDD',ETX
03
420: 6444 24464403 fd4: defb '$FD',ETX
421:
422: ;
423: ; Driver - just a tiny wrapper around LDOS dden floppy driver
424: ;
425:
426: 6448 180C entry: jr begin ;The driver starts with the
427: 644A 7364 defw dvrend ; DOS standard header
428: 644A rx00 equ $-2
429: 644C 05 defb modptr-modnam ;Length of name
430: 644D 78747273 modnam: defb 'xtrs8' ;Name for @GTMOD requests
38
431: 6452 0000 modptr: defw 0 ;These pointers are unused, but 1st byte MBZ
432: 6454 0000 defw 0
433:
434: 6456 CD0000 begin: call $-$ ;call the real driver
435: 6457 flop equ $-2
436: 6459 F5 push af
437: 645A FDCB036E bit 5,(iy+3) ;8" drive?
438: 645E 2812 jr z,done ;go if not
439: 6460 01491D ld bc,1d49h ;init for dden
440: 6463 FDCB0376 bit 6,(iy+3) ;dden?
441: 6467 2003 jr nz,ldden ;go if so
442: 6469 01270F ld bc,0f27h
443: 646C FD7007 ldden: ld (iy+7), b
444: 646F FD7108 ld (iy+8), c
445: 6472 F1 done: pop af
446: 6473 C9 ret
447:
448: 6473 dvrend equ $-1
449: 002C length equ $-entry
450: 6474 4A640000 reltab: defw rx00,0
451: 6000 end instal
Statistics:
76 symbols
886 bytes
Symbol Table:
@dsply = a entry 6448 ndrive = 8
@dsply1 =4467 errbuf 6337+ needdr 61d8
@dsply3 =4467 etx = 3 needdr_ 62d6
@flags = 65 fd1 643f needfd 61d0
@gtdcb = 52 fd4 6444 needfd_ 6313
@gtmod = 53 flop =6457 newend 6331
@high = 64 flop31 =4585 nextmd 623d
@keyin = 9 flop33 =4583 nomem 61e0
@keyin1 = 40 gotit 60e1 nomem_ 628e
@keyin3 = 40 hello_ 6247 osver3 =441f
@logot = c high1 =4049 relo 61ee
@logot1 =447b high3 =4411 reltab 6474
@logot3 =428a hitbrk 61e4 rloop 61fd
asku1 6036 hitbrk_ 630a rx00 =644a
asku3 60a8 instal 6000 setdct 6197
asku4 6113 lcptr 632f+ unit 6335
begin 6456 ldden 646c unit_ 62f0
cflag1 =4758 length = 2c usehi 6170
cflag3 =4758 lf = a+ utab 6437
cr = d logot 61e7 viaset 61dc
curdl 61d4 lsdos6 60f9 viaset_ 62ac
curdl_ 627b m3flag = 125 xgtm1 621c
dct 6333 model3 6086 xgtm2 6228
done 6472 modnam 644d xgtmod 6215
dorelo 6186 modptr 6452
dvrend =6473 move 6189
|