Mercurial > hg > Members > kono > nitros9-code
comparison level1/modules/llcocosdc.asm @ 3036:42861a1dd59e
Low level driver update to CoCoSDC provided by Darren.
author | David Ladd <drencor-xeen@users.sf.net> |
---|---|
date | Fri, 09 Jan 2015 12:32:56 -0600 |
parents | 3afecdae6f53 |
children | c6eafb074443 |
comparison
equal
deleted
inserted
replaced
3035:1cef81d100ce | 3036:42861a1dd59e |
---|---|
17 * Init which locks out the floppy emulation capability. Adds GetStat | 17 * Init which locks out the floppy emulation capability. Adds GetStat |
18 * functions for extended commands. Uses TFM to retrieve data blocks | 18 * functions for extended commands. Uses TFM to retrieve data blocks |
19 * when a 6309 CPU is present. Supports the SS.DSize GetStat function | 19 * when a 6309 CPU is present. Supports the SS.DSize GetStat function |
20 * to query controller for the disk size. | 20 * to query controller for the disk size. |
21 * | 21 * |
22 | 22 * 2015/01/08 Darren Atkinson |
23 * Fixed bug in getSize which caused boot to fail when controller was | |
24 * installed in slot 2, 3 or 4 of a Multi-Pak Interface. | |
25 * | |
23 NAM llcocosdc | 26 NAM llcocosdc |
24 TTL CoCo SDC Low-level driver | 27 TTL CoCo SDC Low-level driver |
25 | 28 |
26 USE defsfile | 29 USE defsfile |
27 USE rbsuper.d | 30 USE rbsuper.d |
116 * Y = Number of Logical Sectors/Track | 119 * Y = Number of Logical Sectors/Track |
117 * | 120 * |
118 getSize lda #CMDEX primary command code | 121 getSize lda #CMDEX primary command code |
119 ora PD.DRV,y combine drive num with command | 122 ora PD.DRV,y combine drive num with command |
120 ldb #'Q "Query Size" sub-command | 123 ldb #'Q "Query Size" sub-command |
124 leay ,u point Y at device mem | |
121 ldu #$FFFF I/O buffer = none | 125 ldu #$FFFF I/O buffer = none |
122 pshs x save frame ptr | 126 pshs x save frame ptr |
123 bsr CommSDC send query to controller | 127 bsr CommSDC send query to controller |
124 puls x restore frame ptr | 128 puls x restore frame ptr |
125 ldb #E$NotRdy error code | 129 ldb #E$NotRdy error code |