Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 20

Thread: Floppy disk drive emulator for Sol-20

  1. #1

    Default Floppy disk drive emulator for Sol-20

    Does anyone make a floppy disk drive emulator for the Sol-20 computer? I've been looking for actual floppy disk drive and controller card for a while, but have yet to see these for sale anywhere, except for the Helios drive which in most cases is very expensive and have a finicky reputation.

  2. #2

    Default

    The North Star double density controller and a couple of 5.25" drives was a very popular addition to the Sol-20. Far more so than the Helios. You can use a couple of 5.25" full height drives or a couple of 48 tpi half-height drives.

    Mike

  3. #3

    Default

    Mike, Ok. Sounds good. Where can I get the 5.25" drives and controller card?

    -Gil

  4. #4

    Default

    The double density card comes up from time to time on ebay, like this one in the completed listings:

    https://www.ebay.com/itm/S-100-North...p2047675.l2557

    It is a matter of waiting and watching to get one, unless one is for sale by a forum member.

    For my SOL-20 I use this card along with two new old stock IBM drives, and Mike's VSG.

    I got my disk drives from ebay.

    I wrote an article about the drives and putting them in a box with a power supply, which also powers the VSG, but it comes powered by a battery too. Mike supplies the VSG assembled & tested too, which is helpful to eliminate variables with the initial setup.

    Also with the Northstar card it pays to clean up the IC sockets & pins to make sure it is reliable. One day one of my Northstar cards just stopped because one of the socket claws was damaged and had a poor connection to an IC's pin. I test the socket claw tensions with a single pin from a defunct IC soldered to a wire handle, to make sure they are good, sometimes they were damaged by rough insertion of an IC, especially the TI type of socket.

    http://worldphaco.com/uploads/EXTERNAL_DUAL_5.pdf

    (PS: when you string the two(or more) drives together on the same ribbon cable, don't forget to take the terminator resistor out of the first one/s in the chain).
    Last edited by Hugo Holden; August 12th, 2020 at 05:14 PM.

  5. #5

    Default

    I’m working on a solid state replacement for early disk drives. This will be a very low-level floppy drive emulation that simply records the flux transition pulses on the write data line during writes and then plays them back on the read data line the rest of the time. The unit needs to know nothing more than the rotation rate of the drive and the number of hard sectors (if any) to replace most any 8”, 5.25”, or 3.5” floppy drive.

    Mike

  6. #6
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,229

    Default

    Quote Originally Posted by deramp5113 View Post
    Im working on a solid state replacement for early disk drives. This will be a very low-level floppy drive emulation that simply records the flux transition pulses on the write data line during writes and then plays them back on the read data line the rest of the time. The unit needs to know nothing more than the rotation rate of the drive and the number of hard sectors (if any) to replace most any 8, 5.25, or 3.5 floppy drive.
    I've been wondering about the possibilities for this myself, although it's a significantly more involved project than I've pulled off up to this point. The germ I've been pondering is if this could be done with the same "Blue Pill" hardware as the Greaseweazle; just load a track's worth of flux data at a time into the Blue Pill's meager RAM over USB and swap it out when the disk steps.

    (Using a controller with more RAM than the Blue Pill would make it easier, probably.)
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

  7. #7

    Default

    With many of the early controllers (e.g., hard sector controllers), you have no way to stall the controller or host software without making assumptions about how the controller works and/or how the host software uses the controller. To make a drive replacement that is truly universal, and therefore independent of controller and/or host software specifics, disk data has to be immediately available as fast as it is in a real drive. Essentially, this means the entire disk needs to be in RAM.

    Mike

  8. #8
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,229

    Default

    Quote Originally Posted by deramp5113 View Post
    With many of the early controllers (e.g., hard sector controllers), you have no way to stall the controller or host software without making assumptions about how the controller works and/or how the host software uses the controller. To make a drive replacement that is truly universal, and therefore independent of controller and/or host software specifics, disk data has to be immediately available as fast as it is in a real drive. Essentially, this means the entire disk needs to be in RAM.
    I was thinking specifically of a device that could work in the Northstar 10 sector Double Density controller, and the rough line of thinking was along the lines of:

    1: My memory isn't certain on this so I should probably look up a datasheet, but my vague recollection is that old floppy drives like the SA400 usually had track-to-track stepping times in the 30ms-ish ballpark? (Just looked up the datasheet, it says 40ms plus a 10ms settling time.)

    2: The quoted minimum latency for "full speed" USB is 1ms. If I assume that I need to transfer 10Kb of data for a track full of data the raw time necessary for that at 12mb/s is around... 7ms?

    Maybe the actual time to play with is less than the 50ms the SA400 manual implies, but... there is still about a 4x gap between the minimum USB latency + theoretical data transfer time? Obviously all bets are off if there's a USB hub in the way that makes the transfer time less predictable, but in theory at least that's what made me think it might be doable?

    Also, and I don't know if this saves it even more, at 300 RPM there's 200ms between full rotations. Does the Northstar controller want to see an "Index" pulse after stepping before continuing to read or write? If it does that gives you a full 1/5th of a second to shuffle buffers.

    Obviously this wouldn't work in the case of something like an Apple II drive, where the index pulse means nothing and you can do half-steps while reading and writing to do crazy stuff like spiral tracks...
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

  9. #9

    Default

    Recording flux transitions (just like a real disk drive) takes about 25Kb/track for a 300rpm drive. No attempt is made to decode the data. Otherwise, you'd have to make assumptions about how the controller encoded the data, bit order, etc.

    Floppy drives with a 3ms step rate were available as early as the days of the North Star DD controller, so 3ms needs to be the design target. Adding heat settle time of 15ms after a step, by which time you should be spitting out the correct data, is a reasonable design target. No other read delays can be assumed.

    Most hard sector controllers have a sector register that is incremented by the hard sector pulses and is sync'd by the index pulse. Sync is not lost due to a stepping operation. Data would need to be retrieved starting at the next expected sector and then wrap back around.

    The kicker in all of this is writes. With a USB stick or SD card, the application has to tolerate random latency periods of 200ms by spec, easily over 500ms in reality. If a read is needed at one of these times, you're stuck. Even with a background thread doing writes, the high-priority read would still have to wait on the hardware to finish its write operation and the read has then failed.

    After trying all sorts of things, the only answer I can find than makes no assumptions about controller operation or host software is to keep the disk image in RAM (or other zero-latency storage). A non-real time transfer from RAM to SD card or USB stick can take place whenever a new disk file is selected to "insert" into the drive, the power-off button is pressed, etc.

    Mike

  10. #10

    Default

    Quote Originally Posted by deramp5113 View Post
    I’m working on a solid state replacement for early disk drives. This will be a very low-level floppy drive emulation that simply records the flux transition pulses on the write data line during writes and then plays them back on the read data line the rest of the time. The unit needs to know nothing more than the rotation rate of the drive and the number of hard sectors (if any) to replace most any 8”, 5.25”, or 3.5” floppy drive.

    Mike
    Will it support Micropolis/VG systems? If so that would be amazing! What's the plan, would it be a S-100 card with an SD card slot onboard? Or would it be an external device that interfaces to your existing FD controller? Would it have the ability to read disk images?

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •