comparison 3rdparty/drivers/ide/ccide.asm @ 1117:d26a93134e57

Fixed some minor source problems
author boisy
date Sat, 12 Apr 2003 14:39:43 +0000
parents 16dc49e3a104
children 64a0273a846a
comparison
equal deleted inserted replaced
1116:e6f589e98421 1117:d26a93134e57
1 ********************************************************************
2 * CCIDE - IDE device driver for CoCo
3 *
4 * $Id$
5 *
6 * DO NOT FORGET TO SET H6309 FLAG IN DEFSFILE APPROPRIATELY FOR 6809 VS.
7 * 6309 CODE WHEN ASSEMBLING!!
8 *
9 * Driver originally from Jim Hathaway, originally 8-bit only
10 * Converted to 16 bit by Alan DeKok
11 * Disassembled (OK, so I didn't have the source version at first!)
12 * by Eddie Kuns, ATA specs followed carefully and sector buffering
13 * on writes handled more carefully
14 * This driver uses 16-bit transfers *only*
15 * Check with Glenside - can we switch to 16 bit only, so there is less to
16 * maintain? With the cacheing stuff, the speed is fairly decent, although
17 * some 6309 optimizations are still possible (cache copies, drive table
18 * copies, hardware divide for CHS translation, etc.)
19 *
1 * NOTE: Currently, will return RAW error #'s from drive (see ATA bit flags 20 * NOTE: Currently, will return RAW error #'s from drive (see ATA bit flags
2 * in error register). After driver finalized, switch back to OS9 error 21 * in error register). After driver finalized, switch back to OS9 error
3 * codes. 22 * codes.
4 * NOTE 2: drvrbusy checks are done even before hardware access, because 23 * NOTE 2: drvrbusy checks are done even before hardware access, because
5 * some variables are shared in the driver memory, and if a 2nd request 24 * some variables are shared in the driver memory, and if a 2nd request
61 * reused for more drive table entries as well. With current system RAM 80 * reused for more drive table entries as well. With current system RAM
62 * requirements in driver, this would allow 5 device table entries without 81 * requirements in driver, this would allow 5 device table entries without
63 * taking any more system RAM then it is already. These can be shared in 82 * taking any more system RAM then it is already. These can be shared in
64 * whatever combination you need for your (up to) 2 physical drives. 83 * whatever combination you need for your (up to) 2 physical drives.
65 * ALSO, RBF CALLS THE INIT ROUTINE ONLY ONCE PER _DRIVER_, NOT DRIVE! 84 * ALSO, RBF CALLS THE INIT ROUTINE ONLY ONCE PER _DRIVER_, NOT DRIVE!
66 ********************************************************************
67 * DO NOT FORGET TO SET H6309 FLAG IN DEFSFILE APPROPRIATELY FOR 6809 VS.
68 * 6309 CODE WHEN ASSEMBLING!!
69 * CCIDE - IDE device driver for CoCo
70 *
71 * $Id$
72 *
73 * Driver originally from Jim Hathaway, originally 8-bit only
74 * Converted to 16 bit by Alan DeKok
75 * Disassembled (OK, so I didn't have the source version at first!)
76 * by Eddie Kuns, ATA specs followed carefully and sector buffering
77 * on writes handled more carefully
78 * This driver uses 16-bit transfers *only*
79 * Check with Glenside - can we switch to 16 bit only, so there is less to
80 * maintain? With the cacheing stuff, the speed is fairly decent, although
81 * some 6309 optomizations are still possible (cache copies, drive table
82 * copies, hardware divide for CHS translation, etc.)
83 * 85 *
84 * Ed. Comments Who YY/MM/DD 86 * Ed. Comments Who YY/MM/DD
85 * ------------------------------------------------------------------ 87 * ------------------------------------------------------------------
86 * 5 Source as distributed by Glenside 99/05/02 88 * 5 Source as distributed by Glenside 99/05/02
87 * Added comments from 8 bit driver BGP 99/05/07 89 * Added comments from 8 bit driver BGP 99/05/07
88 * 6 Driver now gets address from descriptor, made BGP 99/05/10 90 * 6 Driver now gets address from descriptor, made BGP 99/05/10
89 * minor optimizations, added symbols 91 * minor optimizations, added symbols
90 * 7 Change to use real 16 bits LCB 99/09/06 92 * 7 Change to use real 16 bits LCB 99/09/06
91 * partitions (both LBA & CHS) to 99/10/31 93 * partitions (both LBA & CHS) to 99/10/31
92 * better error reporting 94 * better error reporting
93 * slightly optomized read 95 * slightly optimized read
94 * Half sector & LSN0 caches for current drive 96 * Half sector & LSN0 caches for current drive
95 * Auto-sense/run LBA & CHS modes 97 * Auto-sense/run LBA & CHS modes
96 * Full CHS calculations (up to 4096 cylinders) 98 * Full CHS calculations (up to 4096 cylinders)
97 * for ATA-1 old drive compatibility 99 * for ATA-1 old drive compatibility
98 * 8 Attempted to add support for removable media LCB 00/05/27 100 * 8 Attempted to add support for removable media LCB 00/05/27