Skip to content

Add emulation of HCCS A3000 IDE podule #47

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rhalkyard
Copy link

I threw together an emulation of the HCCS A3000 IDE podule for some experiments I'm working on. If you'd like to add it to mainline Arculator, please feel free to.

On the IDE side, the emulation is complete enough that its IDEFS appears to work as it should. The original card also included a VIA, with the ROM paging outputs on Port A and a user port on Port B. I have not implemented this fully since I wasn't sure how to bring in the generic VIA emulation from podules/common/misc without messing up the include paths - instead I have just implemented some bare minimum Port A functionality to allow ROM paging to work.

The zipped ROM (imaged from my own card) is attached below.
hccs_a3k_ide.rom.zip

@sarah-walker-pcem
Copy link
Owner

I'm having difficulty getting this working. Using a pre-existing hard drive image gives an error on startup - "Directory not empty" on RISC OS 2 and "Filecore error" on RISC OS 3. HCCS's IDE Manager claims "No IDE devices found". Any suggestions?

@rhalkyard
Copy link
Author

Just stood up an emulated machine from scratch, and you're right, it doesn't quite work 'by default' - my apologies for not including more detailed instructions.

HCCS IDEFS does not handle a cleared CMOS very gracefully. Per the user guide you'll need to run:

*configure IDEFSDiscs 1
*configure IDEFSDisc 4
*configure IDEFSDelay 8
*configure IDEFSTimer 4
*configure IDEFSDircache 32 

to set it up for a baseline single-partition system.

Specifically, IDEFSDelay sets how long IDEFS will wait for a response when probing for a drive; a zero value here means that it will never check for a response at all and thus never 'see' any drives, giving the error message you described when opening IDE Manager.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants