Mercurial > hg > Members > kono > nitros9-code
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 |