HDOS drivers for SymbiFace-II/X-MASS

Started by rpalmer, 14:22, 20 March 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Munchausen

@rpalmer if you didn't live so far away I'd send you my symbiface for testing!

Joseman

Late to the party...

Here are my photos, the results are negative...

I'm using the last hdos rom, tc-sf2.bas hangs after path:

This time is a 16GB fat32 partition made with ms-dos, first fdisk /mbr, to erase de mbr, next make 1 primary partition and format it.


rpalmer

Joseman,

I am in the process of correcting the ROMs, I have managed to get the driver to not timeout with the device not being ready (see attached). It was accomplished using the IDE recalibrate command to wake up the device and return the drive back to track 0.

rpalmer

rpalmer

People,

I have now managed to successfully get FAT32 to work with the test IDE file in WinAPE. I am more confident that it should now work with FAT16.

Attached are the ROMs for people to please test again. Hopefully, this time they should work more reliability.

The 'test-basic.zip' is the test file I worked with in winape.

rpalmer

dirtybb

#29
Hi, same result, but line doesn't loop for ever now, it ends at 16 times.
After it writes :
Items: 16
Space: 16K

I've check my XMASS, on root i've 4 directories and 14 files.


rpalmer

Dirtybb,

HDOS does not handle long filenames, so maybe that is why you see less items

rpalmer

rpalmer

I have been testing the write function of the drivers and find that when it writes my routines do not report any issues, yet when I read the sector back i get a timeout waiting for the device ready bit to be set.

I cant understand why this is so. Has anyone had the same issue within WinAPE accessing the symbiface functions?

Note: I can do successive reads with no issues.

The reason I ask of this is that for FAT16 testing i need a test IDE file formatted to FAT16 and intend to create a program to create just a thing. So without write capability I am stuck.

rpalmer

Singaja

I'm sorry if this question sounds stupid, but I'm not quite sure what is the difference in approach of Syx & Ast's DOSes they're making for X-mass vs this one.
Can someone explain how all of these relate to each other? Is the key difference about this being made for SF2 and the other two I mentioned for X-mass? But conceptually all are still an Amsdos compatible driver/DOS for FAT16 and/or FAT32?

rpalmer

Singaja,

HDOS has been developed so that other devices can be used without the need for the file O/S needing to know anything above the device itself. All the developer needs to do is create a driver.

This means HDOS can work both with or without AMSDOS meaning a default CPC464 can access a high capacity media without AMSDOS being present.
Also HDOS has supportability for more than just SF2/X-MASS. It was designed to support:

a. CPC-IDE8255 (standard IDE via 8255 PPI chip, my own design although Yarek's may work).
b. RAM disc (512K/2Mb/4Mb or any other RAM based version - driver dependent)
c. Floppy (AMSDOS is needed for this, since the low-level routines are in AMSDOS itself)
d. Compact Flash
e. SymbiFace-II
g. X-MASS
h. SD (similar to that seen on spectrum, see drivers source).
i. Albireo SD (future).

I would also point out the I understand that Syx/Ast DOSes are hardwired for the device and that they do not seem to work via standard OS calls (i could be wrong).

rpalmer

Munchausen


rpalmer

munchausen, nothing its free now as I have been posting the ROMs here

Audronic

@rpalmer


Will i be able to Format the DOM Under HDOS and then take the DOM from an X-Mass and connect it to a PC and be able to load it with files.
and then reconnect it to the CPC and use it without any errors under HDOS  ??


Thanks     Ray

Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

rpalmer

Audronic,

I had to remove the FAT initialization part of HDOS to create more room for FAT16/32 routines. The initialization can still happen, but there is no FAT compatibility.

The drivers ROM once fully tested for READ and WRITE (without issues) can be used via an external program to initialize the X-MASS/SF2 media (note: People do not FORMAT an IDE device, you only initialize it by writing a Partition/file system structure).

If people do wish to FORMAT an IDE device they must have vendor knowledge of the structure of the media, this why people don't FORMAT as they do not have this vendor knowledge.

rpalmer

PS. I now live in Perth (work moved me there 9 months ago) for those who would like to know we i live now. Previously it was in Melbourne.

Audronic

Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

rpalmer

People,

Good news about the HDOS drviers for SymbiFace-II (may X-MASS too).

I can now read and write to individual sectors. This means people can use the 'sf2de.bas' program to initialize the media in a manual sense or modify the program to do all of the work.

My next stage would be do just that to create/initialize media according to desired parameters.

Attached is the drivers rom and source for SF-II interface drviers

rpalmer

Audronic

#40
@rpalmer


I have just tried the roms in a 6128 withe X-mem and X-mass , Placed the roms in 09 and 10.
HDOS-20160402.ROM    in rom slot 09
HDOS-DR-20160409.ROM in rom slot 10
I am unable to Init the hard drive (128 Meg Dom).
The 6128 and the DOM Works with BDos

Am i missing something ?

Thanks
Ray (Williamstown Victoria)
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

rpalmer

Audronic,

What actually happened?

I have removed FAT initialisation from HDOS to make room for additional FAT16 support (yet to be checked at the moment).

rpalmer

Audronic

@rpalmer


Basically it just crashed, changed screen mode, garbage on screen ??


I will reinstall the Roms and try to get some photos.


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Audronic

Quote from: Audronic on 06:52, 09 April 16
@rpalmer


Basically it just crashed, changed screen mode, garbage on screen ??


I will reinstall the Roms and try to get some photos.


Ray


It just crashes , sometimes just hangs, other times changes screen mode.
Do i have the roms in the correct slots ??


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

rpalmer

I have HDOS in ROM 5 and driver in 6.

I have found the source as seen on the wiki forum does not properly conform to the ATA specification.
See Page 260 for Host PIO Data In or Page 264 for Host PIO Data out. It states BSY=0 AND DRQ = 1 before data transfer while the source only looked at BSY = 0 for 'Ready'. My code initially had included DRQ checks which hung in WinAPE, but removal seemed to fix the issue.

As mentioned before without actual hardware it is slow to get the software to work.

rpalmer

arnoldemu

Quote from: rpalmer on 07:30, 09 April 16
As mentioned before without actual hardware it is slow to get the software to work.
I don't think any emulator currently emulates the ATA spec exactly. So always work with real hardware where possible and the emulators can be fixed :)

I have started on an IDE test, but it has been put on hold while I fix CRTC emulation.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TotO

Exactly. The main problem for SyX with ACMEDOS was to write it without the real hardware.
All think working fine under WinAPE, but always failled when I have tried to test it from my side.
(so, I have sent a board to him that took 4 months to reach his home... And seriously start to work)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

HAL6128

Yes. I also agree. I finalized a Routine which initialized a IDE in Winape but doesn't work ob real Hardware. The  last Winape version has enhanced IDE/ATA compability, but still not fully and for the CPC not necessary.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

TFM

Quote from: HAL 6128 on 16:24, 09 April 16
Yes. I also agree. I finalized a Routine which initialized a IDE in Winape but doesn't work ob real Hardware. The  last Winape version has enhanced IDE/ATA compability, but still not fully and for the CPC not necessary.


Ja, programmier mal lieber mit Originalhardware, am Emu werden einige Bit nach wie vor nicht emuliert, also kann man da schnell in Probleme laufen.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

rpalmer

With the differences in the emulation to the hardware, i will continue with WinAPE, however I have been assisted by audronic and it seems X-MASS does not play ball either.

I think I will need to develop one version for emulation of SF-II and one for the real hardware. The real hardware version is possibly simpler to code as the routine I used to issue IDE command is simple enough to change to follow the standard.

Attach are the current drivers and updated status error code to further identify which wait routine timed out.

The routine in question is "SF2_SendCommand" which i feel can be understood by most to correlate it the the standard.

rpalmer

Powered by SMFPacks Menu Editor Mod