HXC2001 SD Emulator: Write not working for Robotron A7100

HxC Floppy emulator support for all others computers...
Post Reply
apollo630
Posts: 6
Joined: Sun Oct 05, 2014 8:07 pm

HXC2001 SD Emulator: Write not working for Robotron A7100

Post by apollo630 »

Hi,

I recently bought a Rev. F SD FW Floppy Drive Emulator (http://lotharek.pl/product.php?pid=122)
from Lotharek for use in my Robotron A7100 from former GDR (http://en.wikipedia.org/wiki/VEB_Robotron).

The A7100 is using double sided, soft sectored double density floppies (either 5.25" or 3.5")
with 80 cylinders. The unformatted capacity is 1MB. Rotation speed is 300 RPM. Bitrate is 250 kBit/s.
It supports both FM and MFM encoding with many different sector/track combinations.
Default is interleave of 4.

The emulator has the latest Firmware 1.8.2.40 and is working well on my IBM PC (for both read and write).

When attaching the Emulator to my A7100 I can read floppy images without any trouble.
However writing or formatting does NOT work at all.

Here is what I tried in detail:

1. I formatted a real (3.5") disk on my A7100 (2 sides, 80 cylinders, 9x512 sectors per track, MFM)
and read it into my PC using the floppy disk dump feature: This image is
named "DD_2SIDED_80TR_9x512SECT.hfe" in the attached zip file.

2. I was able to read this image on my A7100 using the HXC2001 emulator without any trouble.

3. Then I tried reformat the image again on the A7100. I received a write error for the very first
track. After several unsuccessful attempts formating track 0 the format function stopped
leaving subsequent tracks on the image untouched. I also attached this image with unsuccesful
format of track 0 for comparison. It's named: "Track0_defective_DD_2SIDED_80TR_9x512SECT.hfe"

The data section for track 0 of the "defective" hfe file is showing some MFM-like data which
differs a bit from track 0 of the good DD_2SIDED_80TR_9x512SECT.hfe file, but I cannot figure
out on my own what the problem is.

Please help! I would really like to use this cool emulator as a huge 255 track floppy in my A7100.
I have also access to a logic analyzer and oscilloscope in case you want me to debug further.

Many Thanks in advance,
Jens
Attachments
A7100_hfe_images.zip
(64.47 KiB) Downloaded 457 times

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

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by Jeff »

Hi,

What is the old drive model and brand ? Have you tried to do a file/simple write ?

apollo630
Posts: 6
Joined: Sun Oct 05, 2014 8:07 pm

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by apollo630 »

Thanks for your reply!

Yes I've tried several writes to files within the filesystem as well and got write errors every time.
The physical disk drive I have attached to the A7100 was an external 3.5" DD Amiga disk drive (MITSUMI/Newtronics D357T2)

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

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by Jeff »

apollo630 wrote:Thanks for your reply!

Yes I've tried several writes to files within the filesystem as well and got write errors every time.
The physical disk drive I have attached to the A7100 was an external 3.5" DD Amiga disk drive (MITSUMI/Newtronics D357T2)
can you share an HFE with some single write attempt ?
which FDC is used into this machine?
Are you sure that the bitrate used is 250000kb/s ?

apollo630
Posts: 6
Joined: Sun Oct 05, 2014 8:07 pm

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by apollo630 »

Hi,

thanks again for your reply.

> can you share an HFE with some single write attempt ?
I created 3 images and tried to upload them but they are too big (zip file is 1.4 MB).
Is there another way I could provide you the zip file?


The 3 images again are DS-DD, 80 cylinders, 9x512 sectors.
The filesystem is an antique V7 Unix like one.

1. Starting_Point.hfe
Good image with 4 files (adb, as, cc, ld) on it.
This image can be read and mounted with HxC2001 and was created from a physical disk.

2. File_Create_OK.hfe
This image has been created from the same physical disk after one more file
called "hello" has been created. "hello" in a 17 Byte ASCII file with the
following contents:

"Hello World
:w




"

(I've been struggling with "ed" :-)

3. File_Create_Fail.hfe:
I made a copy of "Starting_Point.hfe" and called it "File_Create_Fail.hfe"
Then I mounted this image in the HxC2001 and tried to create "hello" textfile
with "ed" as before. I promptly received a write error during file creation
which destroyed the superblock so that I could not even re-mount the image again.
Also the HxC2001 Display was showing "WE" (which was not the case during my unsuccessful
formatting attemts before).


> which FDC is used into this machine?
It's not a single chip controller. The write data flow is as follows:

Z80 SIO -> 16 bit shift register -> write precompensation circuit -> write driver -> Floppy

In case you might need more details or have specific questions please let me know.
I also have some (very bad quality) schematic scans available.

> Are you sure that the bitrate used is 250000kb/s ?
Yes I am pretty sure. I took a snapshot of write data
during formatting with the logic analyzer which showed
the shortest distance between 2 neigboured pulses is 4000 ns.
The width of a single negative active write pulse is 420 ns.

Also during reading the disk with fdrawcommand the GUI reported 250 kbits/s.

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

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by Jeff »

apollo630 wrote: Is there another way I could provide you the zip file?[/b]
By email : https://hxc2001.com/contactus/
apollo630 wrote: > which FDC is used into this machine?
It's not a single chip controller. The write data flow is as follows:

Z80 SIO -> 16 bit shift register -> write precompensation circuit -> write driver -> Floppy
Ok so not a surprise if you got some issue here : your machine probably start to write at a different point with another sync word.
the hxc wait the sync for "0x44 0x89 0x55" at the pulses level to accept the incoming sector in MFM mode. What write your machine exactly when you do a simple write ?

apollo630
Posts: 6
Joined: Sun Oct 05, 2014 8:07 pm

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by apollo630 »

Hi Jeff,

I sent you the 3 images via email.

Unfortunately I did not find any information about which sync word(s) the A7100 is using.
The documentation just seems to *indicate* (no clear statement) that different sync
words might used depending on the sector size. So I will try to find out on the weekend
with the logic analyzer.

For better understanding I would like to ask 2 quick questions as well:

1. Did I understand you right that HXC is waiting for "0x44 0x89 0x55" as a sync word
in the MFM write data stream before it starts writing data to the appropriate sector field
onto the SD card? Or is it just writing all arriving write data to the card without any
kind of filtering?

2. Are the track data sections in the HFE file in still in MFM format or already decoded?
In case it's MFM, can you tell if the odd bits are clock and even bits are data, or vica verse?

Thanks much!
-- Jens

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

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by Jeff »

apollo630 wrote: 1. Did I understand you right that HXC is waiting for "0x44 0x89 0x55" as a sync word
in the MFM write data stream before it starts writing data to the appropriate sector field
onto the SD card? Or is it just writing all arriving write data to the card without any
kind of filtering?
The actual firmware filter the incoming data by checking the 0x44 0x89 0x55 sequence. If present, all the following sector data is pushed to the sdcard. Note : in normal sector write with a FDC, the sector header is not written, only Data mark + data sector + crc are changed. https://hxc2001.com/download/datasheet/ ... 77x-00.pdf (page 17 -> see the write gate signal)
apollo630 wrote: 2. Are the track data sections in the HFE file in still in MFM format or already decoded?
In case it's MFM, can you tell if the odd bits are clock and even bits are data, or vica verse?
This is the raw pusles informations : this may be MFM FM, GCR or anyhing else. About the clock : MFM clock is multiplexed with the data, so the odd/even setting is only possible with FM encoding.

apollo630
Posts: 6
Joined: Sun Oct 05, 2014 8:07 pm

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by apollo630 »

Hi Jeff,

Thanks for the link to the WD177x manual. I do now understand how
a sector should look like in MFM. I even found 3 subsequent zeros
during formatting a A 7100 floppy which smells like being a sync mark.

Can you tell in which bit order the Bytes are usually transmitted
from a regular FDC to the floppy? Is it Bit 7 first or Bit 0 first?

But there is one thing I am wondering about: I am able to read a
physical floppy formatted on the A7100 in my PC without any problems
using 'dd' or 'fdrawcommand' under Linux. Dosn't this mean the A7100 must
be using the default IBM PC 720KB double density sector and track format?

Maybe my HxC2001 settings are just wrong? In the beginning I was using
"IBM PC 720KB interface" mode for the A7100. For some reason I was
not getting an active /RDY signal even though /SEL (and /MTR) are both
low resulting in device not ready errors.

So I switched to "Generic Shugart" interface mode which generated /RDY low
and allowed to read an hfe image but without being able to write it.

Is the interface mode also affecting the way write data is being interpreted?
Would it be possible write will work flawlessly in case I would be able
to use IBM PC 720KB interface mode?

Thanks,
Jens

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

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by Jeff »

There is no point with the setting. This is a sync problem.
Question : At which point the device start to write a sector?

apollo630
Posts: 6
Joined: Sun Oct 05, 2014 8:07 pm

Re: HXC2001 SD Emulator: Write not working for Robotron A710

Post by apollo630 »

Hi Jeff,

I captured a 9x512 MFM format operation of the A7100 onto a real disk with the logic analyzer.
I triggered for /WGATE=0 and /INDEX=0. /WGATE is getting 0 zero first and some MFM data is present at /WRITE_DATA at this point already.

As soon as /INDEX is getting 0 too the real format operation seems to start:

1. It's starting with some non-sync bytes I did not analyze further.
2. After that there are at least 12 '00' Bytes (AAAA in MFM).
3. Next are 3 'A1' Sync Bytes (448944894489 in MFM)
4. Next comes the 'FE' ID field (5554 in MFM)
5. Then Track: '00' (AAAA in MFM)
6. Then Side: '00' (AAAA in MFM)
7. Then Sector: '01' (AAA9 in MFM)
8. Length: '02' (2AA4 in MFM)
9. CRC1: 'CA' (5244 in MFM)
10. CRC2: '6F' (9455 in MFM)
11. A couple of '4E' Bytes (9254 in MFM). I stopped hand-decoding after the 6th one, but I am sure there are 22 of them.

One thing I noticed though is that the pulse with of a negative active 'one' bit in the MFM stream is only 400ns wide for the A7100.
My PC was generating wider pulses of ~620ns. I was wondering if maybe the A7100 pulses are too narrow to be reliably sampled
by the HXC emulator?

Thanks,
Jens

Post Reply