Enterprise 64 / 128 supported

HxC Floppy emulator support for all others computers...
Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Enterprise 64 / 128 supported

Post by Jeff »

Zozosoft wrote:
Jeff wrote: I am actually working on a new write support. So the thing is in the pipe ;)
Hi Jeff!
I see in other topics talking about new beta firmware. Can you also send to me?
Sure!

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Tested the new fw, and working very well!
All formater programs tested and working.

And a surprise: reformat with different sector numbers are also working! For example format 720K disk to 800K, works as the real disks!

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Enterprise 64 / 128 supported

Post by Jeff »

Zozosoft wrote:Tested the new fw, and working very well!
All formater programs tested and working.

And a surprise: reformat with different sector numbers are also working! For example format 720K disk to 800K, works as the real disks!
This is exactly why all the write support subsystem was completly rethinked/redesigned and redeveloped : Offer a true format support ! All the bits send by the host system are written to the virtual track!

No need anymore to "know" by advance the disk geometry, just format the image and you got a perfectly compatible disk geometry (right number of sectors, right gap setting, right interleave & skew and so on).

This change a lot of things ! :D

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

First communication :D
DSC_3744.jpg
DSC_3744.jpg (245.06 KiB) Viewed 9871 times
It is not too easy, because the track 255 can't accessed by EXDOS ROM routines (value 255 internaly used for mark "track position invalid, needed to be re set at the next access"). Then needed own WD177x routines.
But now track 255 accessed :D

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Enterprise 64 / 128 supported

Post by Jeff »

Nice !
So now the Enterprise have access to some Gigabytes through this interface ! ;)

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

First target is a file selection software.

If I understood right the documentations, this is the task:
-enter direct access mode
-detect FAT32 partition
-list directory
-after file selected then search HXCSDFE.CFG
-write file FAT32 entry to the CFG file at 0x0200 or 0x240
-exit from direct access mode
All it is right?

Question about the partition: how the HxC find the partition on the SDCARD? Always use Partition Entry #1? Or scan all entrys? (Extended partition can be used?)
Both FAT32 (0x0B) and FAT32X (0x0C) types can be used?
The FAT32 partition only can be used with 4K clusters (8 sectors), or other values can be used?

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Enterprise 64 / 128 supported

Post by Jeff »

Zozosoft wrote:First target is a file selection software.

If I understood right the documentations, this is the task:
-enter direct access mode
-detect FAT32 partition
-list directory
-after file selected then search HXCSDFE.CFG
-write file FAT32 entry to the CFG file at 0x0200 or 0x240
-exit from direct access mode
All it is right?
yes.
Zozosoft wrote:Question about the partition: how the HxC find the partition on the SDCARD? Always use Partition Entry #1? Or scan all entrys? (Extended partition can be used?)
Only the first partition. Be careful : Some sdcard doesn't have any MBR/partition table. the first sector may be the partition boot sector.
Zozosoft wrote: The FAT32 partition only can be used with 4K clusters (8 sectors), or other values can be used?

Any cluster size are possible.

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Root directory listed :-)
DSC_3816.jpg
DSC_3816.jpg (122.55 KiB) Viewed 9855 times

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Jeff wrote: Only the first partition.
The HxC can work with multiple partitions on the card? First is a FAT32 for the HxC, another partitions for the host computer hard disk mode.

If this is can be working then very easy to do the Enterprise HDD mode: just replace the Drive Identify, LBA Read/Write routines in my existing IDE controller program :-)

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Enterprise 64 / 128 supported

Post by Jeff »

Zozosoft wrote:
Jeff wrote: Only the first partition.
The HxC can work with multiple partitions on the card? First is a FAT32 for the HxC, another partitions for the host computer hard disk mode.

If this is can be working then very easy to do the Enterprise HDD mode: just replace the Drive Identify, LBA Read/Write routines in my existing IDE controller program :-)
Yes : the Emulator use the first partition. others one can be used as you want !

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Jeff wrote: Yes : the Emulator use the first partition. others one can be used as you want !
Great!

Some perfomance question:
At the direct access, when a virtual track generated, which GAP, interleave, etc setting used? The sector 0 always at the start of the track?
After the control sector written how many time until started the virtual track?
The virtual track size depend on the LBA Number of the sectors? For example 1 sector size selected, then a very short track only with sector 0 and 1?
The LBA Number of sectors can by any from 1 to 255?

The dilemma: using small LBA blocks, needed more control sector write, which is slowing down the transfer speed.
Using bigger blocks then less control sector write, but need more wait (for one virtual rotation) if the sector 1 missed after the sector 0 write.

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Enterprise 64 / 128 supported

Post by Jeff »

Zozosoft wrote: After the control sector written how many time until started the virtual track?
The time to read the sector from the sdcard and mfm encode it. 10ms ?
Zozosoft wrote: The virtual track size depend on the LBA Number of the sectors? For example 1 sector size selected, then a very short track only with sector 0 and 1?
Yes
Zozosoft wrote: The LBA Number of sectors can by any from 1 to 255?
i think that i have limited this to 64.
Zozosoft wrote: The dilemma: using small LBA blocks, needed more control sector write, which is slowing down the transfer speed.
Using bigger blocks then less control sector write, but need more wait (for one virtual rotation) if the sector 1 missed after the sector 0 write.
exactly ! anyway you should be able to read all sectors : gap3 lenght are bigger in this mode than in a normal mode.

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Thanks!

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Coming soon :D
HXCpreview2.png
HXCpreview2.png (7.18 KiB) Viewed 9827 times

Zozosoft
Posts: 34
Joined: Thu Apr 04, 2013 11:45 am
Contact:

Re: Enterprise 64 / 128 supported

Post by Zozosoft »

Now first beta version looks working, but I have more questions further developing:

Is exist a actual version of the CFG file specifications? The available about 3 years old then probably outdated :oops:
For example the firmware v1.8.2.24 added the index mode.
And "New Pin02/Pin34 Custom settings.", these are also stored in the CFG file?

At the Direct Access mode no values specified for these items:
unsigned char write_locked; // Write to the SD Card locked.
unsigned char keys_status; // Push buttons states.
unsigned char SD_WP; // SD Card write protect state
unsigned char SD_CD; // SD Card detect state
Which values used?

How can change displayed drive (A: or B: ) on the LCD? Only with onboard menu of the HxC? Or this setting also stored in the CFG?
Anyway I think will be a good idea add AUTO mode for this setting, when the HxC switch to the last accessed drive.

Is any way to ask SDCard size? If currently no, then possible in future firmware? For example add to the status sector variables.

About the Pin02/Pin34 settings, which Disk Change methods can be emulated?
It is possible emulate the old Sony method where the Disk Change signal reseted by Pin01?

Finally one new function proposal:
Save the last used directory to the CFG file, for example at 0x0280/0x02C0 similar as the selected images.

Post Reply