• Please review our updated Terms and Rules here

We need something better than cards for retro PC HD Drive Replacement

What really makes me laugh is when people worry about the performance of, say, SD->IDE adapters when the host computer is an XT-IDE.
I did once try to run Windows XP off of a CF card and it did not go well. It was usable, but lost out to a basic spinning disk and I am not sure why. I think its something about the way XP accesses the disk rather than an IO problem.
 
Well except CDs wear out. But yes, having a single SD card hold large numbers of CD ISOs actually sounds cool. Either way its neat.
You will be dead before your commercial CDs "wear out." CD-Rs are a different animal, but even those can last a long time. I have CD-Rs from 1998 that still read fine.
 
Well except CDs wear out. But yes, having a single SD card hold large numbers of CD ISOs actually sounds cool. Either way its neat.

That already exists.

 
That already exists.

Booting an ISO from a USB drive is not the same thing as emulating a CD-ROM drive...
 
Granted cdr's stop working but burning all your cds to isos then copying to and SD card seems like alot of work. Id rather burn another cdr its easier. And thats what I do.
 
I'm in early phases of a hobby project, one direction is storage emulator, either from SD card or via Ethernet. The other is a DVI-equipped 8 bit VGA. The hardware I use for workload can probably handle both just fine, but for the sake of easiness of card design I think about tackling them iteratively.

Idea is to have image files (with appropriate metadata) on SD or on a network server that can be presented as real FDD or HDD to retro system, with selection menu in option ROM, and with ability to swap FDD disk images on the fly via a keypress.

For me SD is not that interesting but the MCU board I'm using has one. What I usually do is download image files from winworld or archive.org, extract them via modern tools on modern PC, that's serving them over HTTP, so I can download them on Pentium. If I need them on my XT, I'll kermit them over via serial from Pentium. It's a bit more involved than moving CFs around but it doesn't require shutting down DOS computers.

But sometimes it's difficult to perform official installation of a program if the installer is really fixed on floppy usage, such as checking whether all files are in root of 'current' drive and having unique FILE_ID.DIZ per disk and failing if they don't have correct content. On the other hand, in emulators you can just put a bunch of images in, and then keypress to advance to 'next floppy'. I would try to bring that easy workflow to real hardware.
 
I think in the back of my mind I was hoping a device like the ZuluIDE would do a better job convincing the system the ISOs its presenting are "genuine". I still have a few games you easily can't load off of ISO images or burned CDs. Lookin at you, Lands of Lore III...
 
That already exists.


That doesn't help if your target system has no USB or lacks the ability to boot from USB.
 
Zalman used to make external 2.5" HD cases that could mount images on them and present it as a CD-ROM drive over USB.
 
The point of this thing appears to be for emulating an IDE CD-ROM drive, not a disk drive?
True.
After talking with the developer about HD support, it sounds like it is on the table but no ETA.
For now it can emulate Read-Only CD/DVD of arbitrary size, Read/Write ATAPI removable volumes of arbitrary size or IE ZIP size. So it can be of use now. Storing many image files on a SD card is a really nice feature of the Zulu and Blue projects. I have no doubt they will get there in the end though.
 
Sort of on topic. Is there a program you can use on systems with ide auto detect thst will display the detected ide hdd parameters ? So you can use them on systems with manual input?
To some extent, lots of tools like MSD will do that, but I presume that they'd show the translated geometry if the BIOS is performing translation.

I've used ATADEMO.EXE from this site (not sure if this is the exact page I got it from) to look at physical geometry before, e.g. running under qemu, running atademo p0 for primary device 0:

Code:
ATADEMO -- ATA Demo Program -- Version 12A2 -- using ATADRVR Version 17A.
The I/O buffer is 221184 bytes or 432 sectors of 512 bytes each.

Defaulting to legacy mode - primary channel.

Setting up ATA/ATAPI driver ...
   Using Primary I/O base addresses 01F0H:03F6H.
   ... done.

INTerrupt mode will use IRQ 14 (INT 76H) in not shared mode.
Use the INT command to enable interrupt mode.
Use the DMA ON command to enable DMA commands.

Now in POLL mode with DMA OFF.

! Command timer configuration failed !

Found 2 devices on this ATA interface:
   Device 0 type is ATA.
   Device 1 type is unknown type.

Start a Soft Reset ...
   ... soft reset done, driver error code = 0.
? DEV 0, LBA28, POLL, 512, TAG Off, PIO WORD, DMA Off, enter command ?
? Cmd ?

Output of the id command:

Code:
ATADEMO -- ATA Demo Program -- Version 12A2 -- using ATADRVR Version 17A.
! ID word 22 is obsolete, retired or reserved --
!    it should be 0000H, however it contains 0004H !
! ID word 50 contains the value 0000H
!    when AND'ed with C000H this value is 0000H,
!    this value should be 4000H !
! ID word 52 is obsolete, retired or reserved --
!    it should be 0000H, however it contains 0200H !
! ID word 69 is obsolete, retired or reserved --
!    it should be 0000H, however it contains 4000H !
! ID word 119 contains the value 0000H
!    when AND'ed with C000H this value is 0000H,
!    this value should be 4000H !
! ID word 120 contains the value 0000H
!    when AND'ed with C000H this value is 0000H,
!    this value should be 4000H !
! ID word 93 bits 2-1 are invalid !
ID has set device 0 CHSIncr to
   chs_incr=1 num_cyl=8322 num_head=16 num_sect=63.
ID has set device 0 LBAIncr to
   lba_incr=1 num_lba=8388576.
ID has set device 0 BLOCKSIZE to 512.
I/O buffer holds 432 blocks (sectors) at this block size.
? DEV 0, LBA28, POLL, 512, TAG Off, PIO WORD, DMA Off, enter command ?
? Cmd ?

Note the num_cyl, etc. toward the bottom.

This is asking the drive for the data directly, just like the BIOS would. I guess if the drive is big enough, you need to know what translation the BIOS is using in addition to the above information.

So maybe a combination of the above two programs is useful.

I started writing a program that would show the geometry reported via various BIOS calls I found in Ralf Brown's Interrupt List - so assuming the BIOS support is there, you can see physical and translated geometry - but I never finished it and forgot about it until now :LOL:
 
If you re-read your post, you also mentioned "or lacks the ability to boot from USB.", this is what I was referring to.

If it lacks a USB port, add one.
Explain how Plop or Ventoy will allow me to play Full Throttle on my 486. Booting from USB is not a replacement for a CD-ROM drive.
 
Or ZuluIDE, which is what we were discussing before the suggestion that Ventoy is somehow equivalent :rolleyes:
 
Back
Top