Mercurial > hg > Members > kono > nitros9-code
annotate level1/modules/llcocosdc.asm @ 3130:e0614e08fa5e
l1 boot modules: Expand documentation and clean up code
Tidy up white-space and indentation.
Expand documentation to show C flag is important on return
from HWRead.
Expand documentation to show how/why/when filler is needed at
end of file.
Delete dead code in some places. No functional changes.
author | Neal Crook <foofoobedoo@gmail.com> |
---|---|
date | Sun, 04 Dec 2016 21:01:42 +0000 |
parents | 19b022ee24ba |
children |
rev | line source |
---|---|
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
1 ******************************************************************** |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
2 * llcocosdc - CoCo SDC Low-level driver |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
3 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
4 * $Id$ |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
5 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
6 * Edt/Rev YYYY/MM/DD Modified by |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
7 * Comment |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
8 * ------------------------------------------------------------------ |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
9 * 2013/05/?? Boisy G. Pitre |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
10 * Created. |
3017
545a59f51fee
Changed llcocosdc read and write routines to enter and leave command mode.
tlindner
parents:
2818
diff
changeset
|
11 * 2014/11/27 tim lindner |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
12 * Changed read and write routines to enter and leave command mode. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
13 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
14 * 2014/12/22 Darren Atkinson |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
15 * Total re-write. Provides MPI slot selection to permit co-existence |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
16 * with a real floppy controller. Sends command to controller during |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
17 * Init which locks out the floppy emulation capability. Adds GetStat |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
18 * functions for extended commands. Uses TFM to retrieve data blocks |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
19 * when a 6309 CPU is present. Supports the SS.DSize GetStat function |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
20 * to query controller for the disk size. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
21 * |
3036
42861a1dd59e
Low level driver update to CoCoSDC provided by Darren.
David Ladd <drencor-xeen@users.sf.net>
parents:
3032
diff
changeset
|
22 * 2015/01/08 Darren Atkinson |
42861a1dd59e
Low level driver update to CoCoSDC provided by Darren.
David Ladd <drencor-xeen@users.sf.net>
parents:
3032
diff
changeset
|
23 * Fixed bug in getSize which caused boot to fail when controller was |
42861a1dd59e
Low level driver update to CoCoSDC provided by Darren.
David Ladd <drencor-xeen@users.sf.net>
parents:
3032
diff
changeset
|
24 * installed in slot 2, 3 or 4 of a Multi-Pak Interface. |
42861a1dd59e
Low level driver update to CoCoSDC provided by Darren.
David Ladd <drencor-xeen@users.sf.net>
parents:
3032
diff
changeset
|
25 * |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
26 NAM llcocosdc |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
27 TTL CoCo SDC Low-level driver |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
28 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
29 USE defsfile |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
30 USE rbsuper.d |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
31 USE cocosdc.d |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
32 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
33 MPIREG equ $FF7F |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
34 |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
35 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
36 tylg SET Sbrtn+Objct |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
37 atrv SET ReEnt+rev |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
38 rev SET 0 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
39 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
40 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
41 MOD eom,name,tylg,atrv,start,0 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
42 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
43 * Low-level driver static memory area inside that of rbsuper |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
44 ORG V.LLMem |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
45 V.SDCMPI rmb 1 MPI slot containing CoCo SDC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
46 V.MaskIRQs rmb 1 contains $50 if IRQ/FIRQ should be masked |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
47 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
48 name FCS /llcocosdc/ |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
49 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
50 start lbra ll_init |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
51 bra ll_read |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
52 nop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
53 bra ll_write |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
54 nop |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
55 bra ll_getstat |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
56 nop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
57 bra ll_setstat |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
58 nop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
59 *** lbra ll_term *** |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
60 clrb |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
61 rts |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
62 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
63 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
64 *-------------------------------------------------------------------------- |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
65 * ll_getstat |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
66 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
67 * Entry: |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
68 * Y = address of path descriptor |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
69 * U = address of device memory area |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
70 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
71 * Exit: |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
72 * CC = carry set on error |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
73 * B = error code |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
74 * |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
75 ll_getstat ldx PD.RGS,y point X at stacked registers |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
76 lda R$B,x get function code |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
77 cmpa #SS.DSize |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
78 beq getSize branch if "get disk size" |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
79 tfr a,b |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
80 andb #$F0 keep hi nibble |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
81 cmpb #CMDEXD |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
82 beq exCmd branch if extended command with data |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
83 anda #$FF-4 make sure "TFM" bit is cleared |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
84 cmpb #CMDEX |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
85 beq exCmd branch if ext command without data |
3038 | 86 comb set carry |
87 ldb #E$UnkSvc return error | |
88 rts | |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
89 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
90 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
91 *-------------------------------------------------------------------------- |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
92 * ll_setstat |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
93 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
94 * Entry: |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
95 * Y = address of path descriptor |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
96 * U = address of device memory area |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
97 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
98 * Exit: |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
99 * CC = carry set on error |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
100 * B = error code |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
101 * |
3038 | 102 ll_setstat clrb no error |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
103 rts |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
104 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
105 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
106 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
107 * SS.DSize - Return size information about a device |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
108 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
109 * Exit: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
110 * Carry cleared for no error. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
111 * A = Sector Size (1=256, 2=512, 4=1024, 8=2048) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
112 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
113 * IF B = 0 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
114 * X = Number of Sectors (bits 31-16) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
115 * Y = Number of Sectors (Bits 15-0) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
116 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
117 * IF B != 0 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
118 * B = Number of Logical Sides |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
119 * X = Number of Logical Cylinders |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
120 * Y = Number of Logical Sectors/Track |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
121 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
122 getSize lda #CMDEX primary command code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
123 ora PD.DRV,y combine drive num with command |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
124 ldb #'Q "Query Size" sub-command |
3036
42861a1dd59e
Low level driver update to CoCoSDC provided by Darren.
David Ladd <drencor-xeen@users.sf.net>
parents:
3032
diff
changeset
|
125 leay ,u point Y at device mem |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
126 ldu #$FFFF I/O buffer = none |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
127 pshs x save frame ptr |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
128 bsr CommSDC send query to controller |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
129 puls x restore frame ptr |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
130 ldb #E$NotRdy error code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
131 bcs sizeRet return if error |
3050 | 132 ldd ,y bits 15-0 of size |
133 std R$Y,x return in Y | |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
134 clra bits 31-24 of size always zero |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
135 ldb -1,y bits 23-16 of size |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
136 std R$X,x return bits 31-16 in X |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
137 inca A = 1: 256 byte sectors |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
138 clrb B = 0: LBA device |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
139 std R$D,x return in D |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
140 sizeRet rts |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
141 |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
142 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
143 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
144 * SDC Extended Device Commands |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
145 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
146 * Entered with SDC command code in A. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
147 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
148 * Parameters are passed indirectly via the register frame: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
149 * X = address of 256 byte I/O buffer or $FFFF if none |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
150 * U.L = optional param byte 1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
151 * Y = optional param bytes 2 (hi) and 3 (low) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
152 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
153 * Response values are returned indirectly via the register frame: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
154 * A = controller status |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
155 * U.H = 0 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
156 * U.L = response byte 1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
157 * Y = response bytes 2 (hi) and 3 (low) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
158 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
159 exCmd pshs u,y,x preserve registers |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
160 leay ,u Y = device memory area |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
161 ldu R$X,x U = I/O buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
162 ldb R$U+1,x B = param byte 1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
163 ldx R$Y,x X = param bytes 2 and 3 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
164 bsr CommSDC do command protocol |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
165 puls x restore register frame pointer |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
166 stb R$A,x [A] = controller status |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
167 lda #0 will clear top half of U |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
168 ldb -1,y get response byte 1 (FF49) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
169 std R$U,x [U] = 1st response byte |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
170 ldd ,y get response bytes 2,3 (FF4A,B) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
171 std R$Y,x [Y] = 2nd and 3rd response bytes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
172 ldb #E$NotRdy error code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
173 bcs exOut skip next if error |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
174 clrb no error |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
175 exOut puls y,u,pc return |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
176 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
177 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
178 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
179 * ll_write |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
180 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
181 * Write one sector. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
182 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
183 * Entry: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
184 * Y = address of path descriptor |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
185 * U = address of device memory area |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
186 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
187 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
188 ll_write lda #CMDWRITE command code for Write |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
189 bsr sectorIO common sector I/O |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
190 bcc wrRet return if success |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
191 ldb #E$Write error code for write |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
192 wrRet rts |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
193 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
194 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
195 *-------------------------------------------------------------------------- |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
196 * ll_read |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
197 * |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
198 * Read one sector. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
199 * |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
200 * Entry: |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
201 * Y = address of path descriptor |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
202 * U = address of device memory area |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
203 * |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
204 ll_read lda #CMDREAD+4 command code for 6309 Read (TFM) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
205 fcb $11 next instr is "LDE" on 6309 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
206 lda #CMDREAD command code for 6809 Read |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
207 bsr sectorIO common sector I/O |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
208 bcc rdRet return if success |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
209 ldb #E$Read error code for read |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
210 rdRet rts |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
211 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
212 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
213 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
214 * Funnel code for sector read and write |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
215 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
216 * Entry: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
217 * A = read/write command code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
218 * Y = address of path descriptor |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
219 * U = address of device memory area |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
220 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
221 sectorIO ldb #1 highest drive number allowed |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
222 subb PD.DRV,y range check drive number |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
223 bcc drvOK branch if valid |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
224 ldb #E$Unit error code for bad drive number |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
225 puls x,pc pop top address then return |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
226 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
227 drvOK ora PD.DRV,y combine drive num with command |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
228 leay ,u point Y at device mem |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
229 ldb V.PhysSect,u B = hi byte of LSN |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
230 ldx V.PhysSect+1,u X = lo word of LSN |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
231 ldu V.CchPSpot,u U = buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
232 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
233 *** Fall Thru *** |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
234 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
235 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
236 * CommSDC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
237 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
238 * This is the core routine used for all |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
239 * transactions with the SDC controller. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
240 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
241 * Entry: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
242 * A = Command code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
243 * B = LSN hi byte / First parameter byte |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
244 * X = LSN lo word / 2nd and third param bytes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
245 * Y = Address of driver device memory area |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
246 * U = Address of I/O buffer ($FFFF = none) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
247 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
248 * Exit: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
249 * Carry set on error |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
250 * B = controller status code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
251 * Y = address of SDC Data Register A (FF4A) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
252 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
253 CommSDC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
254 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
255 * Save current MPI setting and activate the SDC slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
256 pshs cc preserve CC (interrupt masks) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
257 lsr ,s shift carry out of saved CC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
258 pshs a,b save cmd code, alloc byte for saving MPI |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
259 tfr cc,a get copy of current CC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
260 ora V.MaskIRQs,y set I and F masks if FDC present |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
261 tfr a,cc update I and F in CC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
262 lda MPIREG get current MPI slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
263 sta 1,s save on stack where B was pushed |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
264 anda #$30 mask out current SCS nibble |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
265 ora V.SDCMPI,y insert SCS nibble for SDC slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
266 ldy #DATREGA setup Y for hardware addressing |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
267 tsta was an SDC controller found? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
268 bmi sdcNone exit if no |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
269 sta MPIREG activate MPI slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
270 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
271 * Put controller in Command mode |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
272 lda #CMDMODE the magic number |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
273 sta -10,y send to control latch (FF40) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
274 puls a pull saved command code back into A |
2818
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
275 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
276 * Put input parameters into the registers. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
277 * It does no harm to put random data in the |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
278 * registers for commands which dont use them. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
279 stb -1,y high byte to param reg 1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
280 stx ,y low word to param regs 2 and 3 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
281 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
282 * Wait for Not Busy. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
283 lbsr waitForIt run polling loop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
284 bcs cmdExit exit if error or timed out |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
285 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
286 * Send command to controller |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
287 sta -2,y to command register (FF48) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
288 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
289 * Determine if a data block should be sent. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
290 * The code for any command which requires |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
291 * a data block will have bit 5 set. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
292 bita #$20 test the "send block" command bit |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
293 beq rxBlock branch if no block to send |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
294 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
295 * Wait for Ready to send |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
296 bsr waitForIt run polling loop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
297 bcs cmdExit exit if error or timed out |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
298 leax ,u move data address to X |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
299 IFGT Level-1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
300 bita #$40 extended command or sector write? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
301 lbne txCmd branch if extended command |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
302 ENDIF |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
303 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
304 * Send 256 bytes of data |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
305 ldd #32*256+8 32 chunks of 8 bytes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
306 txChunk ldu ,x send one chunk... |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
307 stu ,y |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
308 ldu 2,x |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
309 stu ,y |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
310 ldu 4,x |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
311 stu ,y |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
312 ldu 6,x |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
313 stu ,y |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
314 abx point X at next chunk |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
315 deca decrement chunk counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
316 bne txChunk loop until all 256 bytes sent |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
317 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
318 * Wait for command to complete |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
319 txCompl lda #5 timeout retries |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
320 txWait bsr waitForIt run polling loop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
321 bitb #BUSY test BUSY bit |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
322 beq cmdExit exit if completed |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
323 deca decrement retry counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
324 bne txWait repeat if until 0 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
325 coma set carry for timeout error |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
326 bra cmdExit exit |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
327 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
328 * Set error condition and exit when no SDC hardware found |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
329 sdcNone leas 1,s pop saved command code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
330 comb set carry |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
331 ldb #E$Unit error number for missing hardware |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
332 bra cmdExit exit |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
333 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
334 * For commands which return a 256 byte response block the |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
335 * controller will set the READY bit in the Status register |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
336 * when it has the data ready for transfer. For commands |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
337 * which do not return a response block the BUSY bit will |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
338 * be cleared to indicate that the command has completed. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
339 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
340 rxBlock bsr longWait run long status polling loop |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
341 bls cmdExit exit if error, time out or completed |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
342 leax 1,u test the provided buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
343 beq cmdExit exit if "no buffer" ($FFFF) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
344 bita #$04 test the "TFM" command bit |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
345 bne rx6309 branch if set |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
346 leax ,u move data address to X |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
347 IFGT Level-1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
348 bita #$40 extended command or sector read? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
349 bne rxCmd branch if extended command |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
350 ENDIF |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
351 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
352 * 6809 read transfer loop into current task space |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
353 ldd #32*256+8 32 chunks of 8 bytes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
354 rxChunk ldu ,y read one chunk... |
2818
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
355 stu ,x |
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
356 ldu ,y |
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
357 stu 2,x |
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
358 ldu ,y |
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
359 stu 4,x |
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
360 ldu ,y |
05426dd4e24e
ll_init now puts CoCo SDC in enhanced mode.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2817
diff
changeset
|
361 stu 6,x |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
362 abx update X for next chunk |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
363 deca decrement chunk counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
364 bne rxChunk loop until all 256 bytes transferred |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
365 bra cmdOK exit with SUCCESS |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
366 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
367 * 6309 read transfer using TFM into current task space |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
368 rx6309 fcb $10,$86,$01,$00 [ldw #256] block size = 256 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
369 orcc #$50 ensure interrupts are masked |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
370 leax 1,y point X at Data Register B (FF4B) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
371 fcb $11,$3B,$13 [tfm x,u+] read block |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
372 cmdOK clrb status code for SUCCESS, clear carry |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
373 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
374 * Exit |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
375 cmdExit puls a pull saved MPI settings |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
376 rol ,s rotate carry into saved CC on stack |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
377 clr -10,y end command mode |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
378 sta MPIREG restore saved MPI settings |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
379 puls cc,pc restore irq masks, update carry and return |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
380 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
381 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
382 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
383 * Wait for controller status to indicate either "Not Busy" or "Ready". |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
384 * Will time out if neither condition satisfied within a suitable period. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
385 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
386 * Exit: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
387 * CC.C set on error or time out. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
388 * CC.Z set on "Not Busy" status (if carry cleared). |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
389 * B = status |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
390 * A, Y and U are preserved. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
391 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
392 longWait bsr waitForIt enter here for doubled timeout |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
393 bcc waitRet return if cleared in 1st pass |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
394 waitForIt ldx #0 setup timeout counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
395 waitLp comb set carry for assumed FAIL |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
396 ldb -2,y read status |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
397 bmi waitRet return if FAILED |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
398 lsrb BUSY --> Carry |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
399 bcc waitDone branch if not busy |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
400 bitb #READY/2 test READY (shifted) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
401 bne waitRdy branch if ready for transfer |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
402 bsr waitRet consume some time |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
403 ldb #$81 status = timeout |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
404 leax ,-x decrement timeout counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
405 beq waitRet return if timed out |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
406 bra waitLp try again |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
407 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
408 waitDone clrb Not Busy: status = 0, set Z |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
409 waitRdy rolb On Ready: clear C and Z |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
410 waitRet rts return |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
411 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
412 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
413 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
414 * Transfers of command and response data require special handling |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
415 * in Level 2 due to separate address space for System/User tasks. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
416 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
417 IFGT Level-1 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
418 * Send command data from User task space |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
419 txCmd bsr tskPrep B = task#, push word counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
420 txWord os9 F$LDABX get byte from user space buffer |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
421 sta ,y send 1st half of word |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
422 leax 1,x increment buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
423 os9 F$LDABX get byte from user space buffer |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
424 sta 1,y send 2nd half of word |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
425 leax 1,x increment buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
426 dec ,s decrement word counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
427 bne txWord loop if more to send |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
428 leas 1,s pop word counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
429 lbra txCompl go wait for command completion |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
430 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
431 tskPrep ldu D.Proc get current process ptr |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
432 ldb P$Task,u get task # for current process |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
433 lda #128 number of words to transfer (256 bytes) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
434 ldu ,s+ half-pop return address into U |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
435 sta ,s leave word counter on the stack |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
436 tfr u,pc return |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
437 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
438 * Read response data into User task space |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
439 rxCmd bsr tskPrep B = task#, push word counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
440 rxWord lda ,y read 1st half of word |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
441 os9 F$STABX store in user space buffer |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
442 leax 1,x increment buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
443 lda 1,y read 2nd half of word |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
444 os9 F$STABX store in user space buffer |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
445 leax 1,x increment buffer address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
446 dec ,s decrement word counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
447 bne rxWord loop if more to read |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
448 leas 1,s pop word counter |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
449 bra cmdOK exit with SUCCESS |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
450 ENDIF |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
451 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
452 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
453 *-------------------------------------------------------------------------- |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
454 * ll_init |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
455 * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
456 * Entry: |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
457 * Y = address of device descriptor |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
458 * U = address of device memory area |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
459 * |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
460 * Exit: |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
461 * CC = carry set on error |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
462 * B = error code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
463 * |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
464 ll_init pshs cc save irq masks |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
465 orcc #$50 mask irqs |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
466 ldd #$8080 prepare "not found" values |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
467 pshs dp,b,a alloc variables on stack |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
468 ldx #CMDREG point X at FDC command reg |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
469 ldb MPIREG get current MPI slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
470 andb #$33 mask out the unused bits |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
471 stb 2,s save on stack (in DP position) |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
472 orb #$03 start SCS scan at slot 4 |
3017
545a59f51fee
Changed llcocosdc read and write routines to enter and leave command mode.
tlindner
parents:
2818
diff
changeset
|
473 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
474 chkSlot stb MPIREG activate slot being scanned |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
475 lda ,s have we already found CoCo SDC ? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
476 bpl chkFDC branch if yes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
477 lda #$64 test pattern |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
478 sta -6,x store at Flash Data Reg address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
479 lda -5,x get value from Flash Ctrl Reg |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
480 clr -6,x clear Flash Data Reg |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
481 eora -5,x get changed bits from Ctrl Reg |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
482 suba #$60 did expected bits change? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
483 bne chkFDC branch if not an SDC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
484 stb ,s record the SDC slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
485 bra nxtSlot go scan next slot |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
486 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
487 chkFDC lda 1,s have we already found an FDC ? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
488 bpl nxtSlot branch if yes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
489 bsr fdcTest test if FDC present |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
490 bne nxtSlot branch if not present |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
491 stb 1,s record the FDC slot |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
492 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
493 nxtSlot decb decrement SCS slot number |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
494 bitb #$08 have we scanned all slots? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
495 beq chkSlot loop if more to scan |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
496 lda ,s get slot with CoCo SDC |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
497 bmi saveSDC branch if none |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
498 cmpa 2,s same as original slot selection? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
499 bne saveSDC branch if no |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
500 eora #$01 change original slot to.. |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
501 sta 2,s ..be something else |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
502 eora #$01 back to the true SDC slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
503 saveSDC anda #$83 keep SDC slot number or "not found" |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
504 sta V.SDCMPI,u store SDC slot info in device mem |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
505 lda #$50 irq masks will be needed if FDC present |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
506 ldb 1,s was an FDC found? |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
507 bpl useSlot branch if yes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
508 clra irq masks not needed |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
509 ldb 2,s get original MPI slot selection |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
510 useSlot stb MPIREG activate default MPI slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
511 sta V.MaskIRQs,u store irq masks in device mem |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
512 lda $FF22 reset any latched CART interrupt |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
513 leas 3,s pop variables off the stack |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
514 puls cc restore saved irq masks |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
515 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
516 * Disable Floppy Emulation capability in SDC controller |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
517 lda #$C0 primary command code |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
518 ldb #'g secondary command to "Set Global Flags" |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
519 ldx #$FF80 mask/flag bytes |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
520 leay ,u point Y at static variables |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
521 ldu #$FFFF "no buffer" address |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
522 lbsr CommSDC send command to controller |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
523 clrb no error |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
524 rts return |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
525 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
526 * Test for presence of FDC in active slot |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
527 fdcTest lda #$D0 FORCE INTERRUPT command |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
528 sta ,x send to FDC command register |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
529 bsr fdcDelay wait awhile |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
530 lda ,x read FDC status |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
531 lda 3,x read FDC data register |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
532 coma invert all bits |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
533 sta 3,x put inverted data back |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
534 bsr fdcDelay wait awhile |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
535 suba 3,x test if read matches write |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
536 fdcDelay pshs y,x,d,cc push regs |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
537 mul delay cycles |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
538 puls cc,d,x,y,pc restore regs and return |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
539 |
3032
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
540 |
3afecdae6f53
Low level CoCo SDC driver updtate from Darren Atkinson
tlindner
parents:
3017
diff
changeset
|
541 *-------------------------------------------------------------------------- |
2817
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
542 |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
543 EMOD |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
544 eom EQU * |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
545 END |
5c6b71612ce4
Added low level CoCo SDC driver and made makefile changes for coco3 and coco3_6309 to build boot disks for this new driver.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff
changeset
|
546 |