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