mirror of
https://github.com/LIV2/lide.device.git
synced 2025-12-06 00:32:45 +00:00
Fixup channel detection some more...
This commit is contained in:
parent
58d8e9a524
commit
f23a5fc4d3
1
ata.h
1
ata.h
@ -29,6 +29,7 @@
|
|||||||
#define ata_reg_devHead 0xC00
|
#define ata_reg_devHead 0xC00
|
||||||
#define ata_reg_status 0xE00
|
#define ata_reg_status 0xE00
|
||||||
#define ata_reg_command 0xE00
|
#define ata_reg_command 0xE00
|
||||||
|
#define ata_reg_altStatus 0x1C00
|
||||||
|
|
||||||
#define drv_sel_secondary (1<<4)
|
#define drv_sel_secondary (1<<4)
|
||||||
|
|
||||||
|
|||||||
6
driver.c
6
driver.c
@ -244,7 +244,11 @@ struct Library __attribute__((used, saveds)) * init_device(struct ExecBase *SysB
|
|||||||
UBYTE channels = 2;
|
UBYTE channels = 2;
|
||||||
|
|
||||||
UBYTE *status = cd->cd_BoardAddr + CHANNEL_0 + ata_reg_status;
|
UBYTE *status = cd->cd_BoardAddr + CHANNEL_0 + ata_reg_status;
|
||||||
UBYTE *alt_status = cd->cd_BoardAddr + CHANNEL_1; // Alt status register
|
UBYTE *alt_status = cd->cd_BoardAddr + CHANNEL_0 + ata_reg_altStatus;
|
||||||
|
|
||||||
|
UBYTE *drvsel = cd->cd_BoardAddr + CHANNEL_0 + ata_reg_devHead;
|
||||||
|
|
||||||
|
*drvsel = 0xE0;
|
||||||
|
|
||||||
// On the AT-Bus 2008 (Clone) the ROM is selected on the lower byte when IDE_CS1 is asserted
|
// On the AT-Bus 2008 (Clone) the ROM is selected on the lower byte when IDE_CS1 is asserted
|
||||||
// Not a problem in single channel mode - the drive registers there only use the upper byte
|
// Not a problem in single channel mode - the drive registers there only use the upper byte
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user