Mercurial > hg > Members > kono > nitros9-code
annotate 3rdparty/drivers/ide/idedesc.asm @ 3226:9749d0dfc4a2
Changed a puls PC to rts to save cycles
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Sat, 20 Jan 2018 19:32:22 -0600 |
parents | a7c66ffbec7c |
children |
rev | line source |
---|---|
1137 | 1 ******************************************************************** |
1177 | 2 * IDEDesc - IDE device descriptor |
1137 | 3 * |
4 * $Id$ | |
5 * | |
6 * IDE Defined Offsets | |
7 * | |
8 * Ed. Comments Who YY/MM/DD | |
9 * ------------------------------------------------------------------ | |
10 | |
1177 | 11 nam IDEDesc |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
12 ttl IDE device descriptor |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
13 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
14 * IT.STP (offset $14) |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
15 * Bit Meaning |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
16 * --- --------------------------------------------------------------- |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
17 * |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
18 * IT.TYP (offset $15) |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
19 * Bit Meaning |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
20 * --- --------------------------------------------------------------- |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
21 * 7 Hard Disk: 1 = hard disk, 0 = floppy disk |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
22 * 6 Fudge LSN0: 0 = OS-9 disk, 1 = non-OS-9 disk |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
23 * |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
24 * IT.DNS (offset $16) |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
25 * Bit Meaning |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
26 * --- --------------------------------------------------------------- |
1137 | 27 * 1 Force CHS: 1 = Use CHS, 0 = Use LBA if drive supports it |
28 * 0 Master/Slave: 0 = master, 1 = slave | |
29 * | |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
30 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
31 * Interface Address |
1117 | 32 ADDR set $FF50 |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
33 |
1137 | 34 Master set %00000000 |
35 Slave set %00000001 | |
36 ForceCHS set %00000010 | |
37 | |
38 DriveSel set Master | |
39 | |
40 | |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
41 * Driver specific fields |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
42 ITDRV set $00 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
43 ITSTP set $00 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
44 ITTYP set $80 |
1137 | 45 ITDNS set ITDRV |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
46 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
47 ITSOFS1 set $00 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
48 ITSOFS2 set $00 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
49 ITSOFS3 set $00 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
50 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
51 * Default Geometry |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
52 Sides set $20 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
53 Cyls set $100 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
54 SectTrk set $0020 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
55 SectTrk0 set $0020 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
56 Interlv set $01 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
57 SASiz set $08 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
58 |
1625 | 59 IFP1 |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
60 use defsfile |
1625 | 61 ENDC |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
62 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
63 tylg set Devic+Objct |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
64 atrv set ReEnt+rev |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
65 rev set $0 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
66 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
67 mod eom,name,tylg,atrv,mgrnam,drvnam |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
68 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
69 fcb $FF mode byte |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
70 fcb HW.Page extended controller address |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
71 fdb ADDR physical controller address |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
72 fcb initsize-*-1 initilization table size |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
73 fcb DT.RBF device type:0=scf,1=rbf,2=pipe,3=scf |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
74 fcb ITDRV drive number |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
75 fcb ITSTP step rate |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
76 fcb ITTYP drive device type |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
77 fcb ITDNS media density |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
78 fdb Cyls number of cylinders (tracks) |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
79 fcb Sides number of sides |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
80 fcb $01 verify disk writes:0=on |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
81 fdb SectTrk # of sectors per track |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
82 fdb SectTrk0 # of sectors per track (track 0) |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
83 fcb Interlv sector interleave factor |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
84 fcb SASiz minimum size of sector allocation |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
85 initsize equ * |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
86 *IDE Driver specific additions to the device descriptor go here |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
87 * NOTE: These do NOT get copied into the path descriptor; they |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
88 * cannot due to the fact that there is simply NO ROOM in |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
89 * the path descriptor to do so. The driver must access |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
90 * these values directly from the descriptor. |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
91 fcb 0,0,0,0,0,0,0,0,0 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
92 |
1625 | 93 IFEQ DD-true |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
94 name fcs /DD/ |
1625 | 95 ELSE |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
96 name fcc /H/ |
2915
a7c66ffbec7c
Demystify string character calculation involving DNum or ITDRV
Tormod Volden <debian.tormod@gmail.com>
parents:
1625
diff
changeset
|
97 fcb '0+ITDRV+$80 |
1625 | 98 ENDC |
613
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
99 mgrnam fcs /RBF/ |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
100 drvnam fcs /CCIDE/ |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
101 |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
102 emod |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
103 eom equ * |
16dc49e3a104
SuperIDE driver/descriptors added, removed dd_ide.asm and h0_ide.asm in favor of one file: idedesc.asm
boisy
parents:
diff
changeset
|
104 end |