News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_ajcasado

IDE interface emulation

Started by ajcasado, 19:02, 16 October 24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ajcasado

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?
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

HAL6128

#1
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.

ajcasado

Thank you, that confirms what I suspected.
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

GUNHED

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...
http://futureos.de --> Get the revolutionary FutureOS (Update: 2024.10.27)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

ajcasado

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.
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

GUNHED

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.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2024.10.27)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Prodatron

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.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

GUNHED

Quote from: Prodatron on 22:43, 17 October 24
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.
Exactly. And an emulator should support hardware, not software.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2024.10.27)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Powered by SMFPacks Menu Editor Mod