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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1137
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
1 ********************************************************************
1177
b1a826c854f0 Updated
boisy
parents: 1137
diff changeset
2 * IDEDesc - IDE device descriptor
1137
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
3 *
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
4 * $Id$
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
5 *
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
6 * IDE Defined Offsets
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
7 *
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
8 * Ed. Comments Who YY/MM/DD
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
9 * ------------------------------------------------------------------
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
10
1177
b1a826c854f0 Updated
boisy
parents: 1137
diff changeset
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
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
27 * 1 Force CHS: 1 = Use CHS, 0 = Use LBA if drive supports it
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
28 * 0 Master/Slave: 0 = master, 1 = slave
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
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
d26a93134e57 Fixed some minor source problems
boisy
parents: 613
diff changeset
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
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
34 Master set %00000000
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
35 Slave set %00000001
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
36 ForceCHS set %00000010
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
37
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
38 DriveSel set Master
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
39
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
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
200548732ba1 Added building of /h1 (slave) descriptors
boisy
parents: 1117
diff changeset
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
80cff44f7e07 Updates by Rodney
boisy
parents: 1177
diff changeset
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
80cff44f7e07 Updates by Rodney
boisy
parents: 1177
diff changeset
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
80cff44f7e07 Updates by Rodney
boisy
parents: 1177
diff changeset
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
80cff44f7e07 Updates by Rodney
boisy
parents: 1177
diff changeset
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
80cff44f7e07 Updates by Rodney
boisy
parents: 1177
diff changeset
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