• Please review our updated Terms and Rules here

Epson PF-10 floppy drive - 8 or 9 sectors per track?

alank2

Veteran Member
Joined
Aug 3, 2016
Messages
2,264
Location
USA
The documentation says 9, but the logical format only shows 128 byte sectors from 1-64, not 1-72. Did it have 9 sectors and the 9th was just not read/written from?

logical format 40 tracks, 1 side, 64 sectors, 128 bytes per sector (40*1*64*128 = 327680 bytes = 320K)

TF-20/TF-15 40 tracks, 2 sides, 16 sectors, 256 bytes per sector (40*2*16*256 = 327680 bytes = 320K)

PF-10 40 tracks, 2 sides, 8 sectors, 512 bytes per sector (40*2*8*512 = 327680 bytes = 320K) <--- what I think it should be
PF-10 40 tracks, 2 sides, 9 sectors, 512 bytes per sector (40*2*9*512 = 368640 bytes = 360K) <--- what the PF-10 manual says

The logical format is what the computer uses to talk to the drive with over the serial protocol...
 
Hi,

The PF-10, as do the QX-10 and TF-20, use 9 sectors per track. The 320 K is because the first four tracks are reserved for the QX-10 or TF-20 BIOS and the last track isn't used at all.

Greetings,

Fred Jan
 
Hi Fred Jan,

First, thanks for your website/information on the PX-8, it has been very useful.

I pulled this from the technical/user manuals:

TF20
80 tracks (40 tracks * 2 sides)
16 sectors per track
256 bytes per sector
(320K)

TF15
80 tracks (40 tracks * 2 sides)
16 sectors per track
256 bytes per sector
(320K)

PF10
80 tracks (40 tracks * 2 sides)
9 sectors per track
512 bytes per sector
(360K)

The logical disk format however for all 3 drives is identical:

40 tracks
64 sectors per track
128 bytes per sector
(320K)

They translated for the 2 sides and larger sector sizes by moving them into the sector number via translation. So for the logical format sectors 1-32 are likely side 0, and logical format sectors 33-64 are likely side 1. Logical sectors 1-2 are likely sector 1 on a TF15/TF20, but logical sectors 1-4 are likely sector 1 on a PF10.

The skipped tracks you mention are part of the logical format as well. Their exclusion is why CP/M sees the disks as 280K disks and not 320K disks (320K * 35 / 40 = 280K).

logical disk format
tracks 0-3 and 39 reserved
track 4 directory and file blocks
track 5-38 file blocks

I have a feeling that physical sector number 9 on both sides is not used on the PF10, there is no place it can map to in the smaller logical format.

When you prepare a disk for use with the TF20 (that boots from disk), do you have to format it and then copy it from another disk with the 4 tracks written with the OS the TF20 needs?
 
I have a feeling that physical sector number 9 on both sides is not used on the PF10, there is no place it can map to in the smaller logical format.
I always forget even CP/M disk formats are always more complex than I remember. I do know the PX-8/PX-4 can't see the difference between a booted TF-20 and a PF-10. So the PF-10 might use 512 byte sectors, it pretends to have 256 byte sectors (at EPSP-protocol level). I do have a PF-10, but it is broken, and no disks. So it is likely the 9th s

When you prepare a disk for use with the TF20 (that boots from disk), do you have to format it and then copy it from another disk with the 4 tracks written with the OS the TF20 needs?
Just recently I actually used the COPYDISK.COM utility to create a physical copy of a TF-20/PX-8 disk. COPYDISK can format and copy system and/or data tracks.
 
Another another question! In the page you have about Epson EPSP, it shows the ENQ procedure as an EOT, then P1/DID/SID/ENQ. Then it says P1, 00=SELECT and 80=POLLING. SUPPORT SELECT ONLY.

Oddly in the captures I've done between the PX-8 and PX8VFS, the PX-8 sends out: <EOT 0x04> <SEL 0x31> <DID 0x31> <SID 0x22> <ENQ 0x05>

Why does it use SEL 0x31 instead of SEL 0x00? Also, what was the 0x80 POLLING for?
 
Hi Alan,
Sorry I haven't replied to your email. Real Soon Now (tm), I promise!
First, I am 99% certain the pf10 actually has 9 sectors of 512 bytes and the last is simply not used. The on-board controller does the translation to 128 byte records/sectors for CP/M.
Second, the polling was apparently intended for some use that was never implemented. If you look through the full documents of the EPSP protocol it has a LOT of stuff that is irrelevant to the PX-8 and possibly to all the relatives. Apparently Epson had big plans that never happened.
Third, I think I have the answer somewhere about the SEL 0x31 but off the top of my head. I will try to have a look later tonight.
 
Another another question! In the page you have about Epson EPSP, it shows the ENQ procedure as an EOT, then P1/DID/SID/ENQ. Then it says P1, 00=SELECT and 80=POLLING. SUPPORT SELECT ONLY.

Oddly in the captures I've done between the PX-8 and PX8VFS, the PX-8 sends out: <EOT 0x04> <SEL 0x31> <DID 0x31> <SID 0x22> <ENQ 0x05>

Why does it use SEL 0x31 instead of SEL 0x00? Also, what was the 0x80 POLLING for?

The documents imply SEL is 0x00 or 0x01, but I found they were actually ASCII "0" or ASCII "1". I believe the "reply" is a "1" and that is what you are seeing.
 
Thanks for the help! I've got it working pretty well now. Found a bug in my checksum that only showed its ugly head when the checksum was 0, but I got that fixed now. I've got it reading at a whopping speed of 1.72 K/s.

Discovered that COPYDISK will only copy from the low drive to the high drive oddly. You can do a copy from D to E and it will do the fast drive copy (drive unit does it, no data transferred to the PX-8, super fast), but if you try to do the E to D copy, it reverse the slow mode. This is odd considering that the command includes a drive to copy that could be specified as 2 and not 1. Apparently it can fast copy 1->2, but not 2->1. Is there copydisk documentation anywhere?
 
Hi Fred Jan,

Another question - I noticed in the protocol page you have:

https://fjkraan.home.xs4all.nl/comp/hx20/epsp.html

That there are commands for a display or monitor. Did the HX-20/PX-8/PX-4 have a monitor that could be connected to the high speed serial in place of the internal LCD ???

The HX-20 supports an external display out of the box. Somewhere I have some info describing a box for the PX8, but I assume it requires an user-BIOS extension to work.

At one time I had a third party adapter for the HX-20, it contained a 6801 system and a 6845. It displayed 40 x 24 on a TV-like monitor. Very useful as long as it worked.

Greetings,

Fred Jan

Edit: found a PX-8 display adapter review: http://electrickery.xs4all.nl/comp/px8/doc/ud80_ec198603.pdf
 
Last edited:
I won a TF20 on eBay today that I hope will work when it arrives.

Is the hx20boot.zip, the boot disk I will need for the tf20 to startup and work with the PX-8?
 
alank2,

I've still got my TF-20, although it's no longer communicating with the HX. Last time I tried it, it was making the correct noises as it booted, so maybe the TF unit was OK then. Now?

I've still got the original floppy boot disk, and also the copies I've used. I can use 22DISK to read the disk, and can make versions if required. I've also still got the manual for the unit. One day, I hope to get it all working again. My HX is still working as well, just about.

Maybe the .zip file contains an image of the disk, as the most important things are the system tracks rather than the files on the disk.

I extracted the system files to actual files from the disk using the sector read functions, and tried to make sense of the disassembly. The BDOS is fairly standard, the BIOS is rather weird and somewhat skeletal compared to a normal BIOS. I also made a disassembly of the 'tfdos' terminal program that runs on the TF, some of it makes sense to me, other bits much less so. Still a work in progress, even after so many years.

I might have had a copy of a boot disk for the TF to work with a PX8, but I 'filed' it somewhere safe and I'm not sure where right now!

Geoff
 
It sounds like you've done a lot of work on it Geoff! I was a bit worried that the one I ordered may not have had the optional HX support board, but thankfully on the back it says something about HX so I think it will have that.

I dug out my breadboard with my atmega microcontroller TF15/20 emulation project and got it working with the PX-8 again. I am hoping that studying the TF-20's communication will let me do a better job with my emulation project.
 
The TF-20 from eBay works! It loaded its OS from the disk I wrote and I can access it from the PX-8. It needs a lot of cleanup and the left drive's eject mechanism is gummy, but so far so good.
 
I took it apart and lubricated the eject mechanism. I put one spring on upside down and that drive stopped working until I realized it, but flipping the spring to its correct orientation fixed the issue. It is all put back together now and working great. It is definitely the clickiest drive I've ever encountered.
 
Does anyone know if someone ever adapted CP/M to run on a TF-20? It has everything necessary to be a full CP/M computer on its own. Z80, 64K RAM, two floppies, two serial ports.
 
Back
Top