Since I don't have an IDE adapter, I'm testing the FUZIX driver with WinAPE. It fails during the IDENTIFY phase of disk initialization, which suggests that it at least recognizes the interface is present but fails to get a response from the disk. I'm not sure if the implementation in WinAPE is detailed enough. The driver is the same for all machines running FUZIX, with only the access ports to the interface being different, so I assume it's correctly written. I've also tried ACE-DL, but it doesn't even recognize the interface is connected, so I assume its implementation is even less complete. Does anyone know of an emulator that fully implements the IDE interface?
The Init-Implementation in WinApe is not complete. There's a status bit missing in emulation when it tries to recognize an IDE drive. Don't know the IDE command anymore but it doesn't work.
must be 0x80 or 0x40 in the status bit ??
#define ATA_SR_BSY 0x80 // Busy
#define ATA_SR_DRDY 0x40 // Drive ready
#define ATA_SR_DF 0x20 // Drive write fault
#define ATA_SR_DSC 0x10 // Drive seek complete
#define ATA_SR_DRQ 0x08 // Data request ready
#define ATA_SR_CORR 0x04 // Corrected data
#define ATA_SR_IDX 0x02 // Index
#define ATA_SR_ERR 0x01 // Error
...or the #define ATA_CMD_IDENTIFY 0xEC itself??
...long time ago
Just ignore it or jump over it. The rest is working well.
Thank you, that confirms what I suspected.
Getting offtopic here:
The M4 and USIfAC II / ULIfAC sold by far the biggest number on units. Further more the SF3 is going to emulate the M4 SD card.
Therefore I think the biggest number of users is interested in support of M4 and USIfAC II / ULIfAC.
In my opinion IDE is kind of outdated in CPC world, but that's just my personal opinion.
Back to topic...
Quote from: GUNHED on 13:14, 17 October 24Getting offtopic here:
The M4 and USIfAC II / ULIfAC sold by far the biggest number on units. Further more the SF3 is going to emulate the M4 SD card.
Therefore I think the biggest number of users is interested in support of M4 and USIfAC II / ULIfAC.
In my opinion IDE is kind of outdated in CPC world, but that's just my personal opinion.
Back to topic...
Good point, and in fact, I have both devices and intend to work on them. The main reason for starting with the IDE interface is because I assumed it was fully implemented in WinAPE (which turned out not to be the case), and it's convenient to have an emulator to work with. Additionally, there's already a generic driver in FUZIX, so I only need to change the I/O port addresses and write functions to read and write a sector. I've moved on to Albireo because I have one, and there's a functional driver in FUZIX for the CH376 chip that requires the same kind of work I mentioned for the IDE, and accessing the CH376 ports is straightforward, unlike with the USIFAC, which has a PIC in between (although I haven't thought much about what that implies in the end). As for the M4, that's a whole different story. Having to map the ROM to communicate with the device means the code has to be placed in a specific memory area, and you have to be careful about blocking interrupts when necessary to avoid context switching with the ROM mapped in and there's nothing similar supported in FUZIX that could be leveraged for this.
Well, what I do know for sure: WinApe supports the SF2 IDE part only as much as it is needed for SymbOS. When I tried so work with some features they are just not there.
Checking code on real hardware more often save sometimes quite some time. :)
Quote from: GUNHED on 22:21, 17 October 24WinApe supports the SF2 IDE part only as much as it is needed for SymbOS.
And probably for UniDos and much more. Anyway it supports all you need to run an IDE device in a great way :)
The reason for the SymbOS support back in 2006 was simple: It was the only existing IDE / FAT 16 and 32 implementation at all on the CPC since 2015 or so. Richard was just supporting existing software, as it could be well tested.
Quote from: Prodatron on 22:43, 17 October 24Quote from: GUNHED on 22:21, 17 October 24WinApe supports the SF2 IDE part only as much as it is needed for SymbOS.
And probably for UniDos and much more. Anyway it supports all you need to run an IDE device in a great way :)
The reason for the SymbOS support back in 2006 was simple: It was the only existing IDE / FAT 16 and 32 implementation at all on the CPC since 2015 or so. Richard was just supporting existing software, as it could be well tested.
Exactly. And an emulator should support hardware, not software.