VOGONS


Gotek like Optical Driver Emulator - Is it possible?

Topic actions

Reply 80 of 92, by SScorpio

User metadata
Rank Newbie
Rank
Newbie
Der Kuenringer wrote on 2020-12-14, 19:41:

I would certainly fancy a more self-contained version of this device.
Do you have any news about that DOS utility, so we can switch CD images from inside the host machine? Usage it in a retro gaming rig would be far more viable, if I didn't have to connect the IDE simulator to another computer.

You'd still need a way to switch images outside the command prompt. I guess you could have the ability to map multiple disks and then have a physical button on the front switch between them. The problem I see if will multi disk games and I believe the largest get up to seven disks.

Maybe using serial could be the same to interface from inside the host, though I believe some controllers cards has the serial ports on the PCB with a parallel and gameport as headers.

Reply 81 of 92, by Der Kuenringer

User metadata
Rank Newbie
Rank
Newbie

since christmas is nigh, how about adding bluetooth to the board, so we can connect to a host machine wirelessly? 🎁👀
the most convenient interface would be a smartphone app, just swiping through a simple list of files and switching when needed.

Reply 82 of 92, by electric_monk

User metadata
Rank Newbie
Rank
Newbie

The DOS utility isn't quite ready yet either, but I'm hoping all of it will come together soon for a new release with a bunch of new features.

Here's a silly little screenshot of it in an earlier incarnation I shared before, just testing the UI side:

Screen Shot 2020-09-03 at 11.18.57PM.png
Filename
Screen Shot 2020-09-03 at 11.18.57PM.png
File size
90.36 KiB
Views
395 views
File license
Public domain

It actually mostly works now, but since MSCDEX.EXE and its accompanying drivers don't have the facility to pass through SCSI commands directly, I had to use ASPI. This also turned out to be a pain - ATAPIMGR.SYS (from Panasonic) rejects vendor-specific SCSI commands. ASPI.SYS (Oak Technologies) seems to be fine, but it's still an irritation. In addition to this people might not want random extra drivers loaded (even though there's ways to load/unload them on demand), so I may also make a mode where it just pokes the IDE registers directly (which sadly obviously means it won't work for exotic IDE ports that actually need a driver).

I did consider making a TSR version to switch in-app from DOS but last time I made a TSR I was 15 and it was a project with my dad, and that also wouldn't work with 32-bit DOS extender-based games, I believe. I do intend to make a Windows version just because ASPI is already there, too.

Bluetooth is an interesting idea, I could possibly get a Bluetooth stack working via a USB Bluetooth dongle 😉 I played around with adding support for an ethernet dongle in the past just for a laugh (you'd be able to upload/download ISOs as well as switch them remotely), but that was still limited by the fact you needed the ethernet cable flopping around.

Reply 83 of 92, by t9999clint

User metadata
Rank Member
Rank
Member

For the PS1, GC and Dreamcast ODEs they just have a physical button that you press to swap to the next disk. It's suggest doing that and also put on a header that will let you plug in your case's reset switch or something.
Bluetooth would be pretty cool though. And several esp32 modules now have Bluetooth/WiFi built in already.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: K.O.R. Soundfont Project V.5.0
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 84 of 92, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
electric_monk wrote on 2020-12-15, 02:08:

It actually mostly works now, but since MSCDEX.EXE and its accompanying drivers don't have the facility to pass through SCSI commands directly

MSCDEX command 12 (ioctl output) function 4 is "write device control string"; might be worth checking if any of the atapi device drivers implement it in any way besides just returning an error?

Reply 85 of 92, by Cuvtixo

User metadata
Rank Newbie
Rank
Newbie

Sorry guys, I don't get this at all. In what situations would one want to emulate an optical disc instead of copying the data out on a normal virtual disk, as in virtual hard drive. Certainly there are consoles designed around use of optical discs, and maybe there are dos games with copy protection built into the disc. But it's hard to imagine having the ability to decode most protection without being able to put into another format. Basically what possible advantage would a Gotek CD bring? I get that there might be a convenience of the ability to play files directly in .iso or .cue format, but conversion shouldn't be a big deal. IDK maybe they can make a custom "700MB floppy" for Gotek, wouldn't that work? Aren't the vast majority of games that use CDs for anything besides installation Windows games? I think someone mentioned earlier, the way some CDs were made bootable was to include a bootable floppy image, -basically its easier for DOS to recognize bootable floppies.
I remember starting to use linux around 1999. For a while there were no bootable linux CDs, one had to boot from a floppy, then copy all the files off the CD onto the hard drive, then make the drive installation bootable and put the CDs on a shelf. Or else use about a dozen 3.5 floppies. I used 5.25 floppies through college, so I understand a bit how all of those worked. That seemed like a lot of work when I had no earlier experience with unix and had barely learned a handful of commands. I think it was Debian 2.0 was the first bootable linux CD, I picked up a copy at a Geek Pride festival. Unfortunately my wife had demanded we get a 68k Mac, so I had to wait a while longer for my own linux box. But the Mac had a SCSI 2X CD, which was surprisingly useful because it sped up to double speed right away, while all the 4X IDE drives took a while to speed up, slowing boot times on PCs. I'm explaining all this to show, I've been using CDs from the beginning , I learned DOS and Windows 3.11 back in the day, and I still have no idea why anyone would want a hardware device dedicated to emulating optical discs. If I wanted to play with old Mac emulators, I'd just make sure I had enough hard drive space and emulate from within. I can only see limited use for Windows machines, again it is better to emulate from within, and really there's no significant advantage over getting a physical CD drive. It's of no use for 8-bit machines like the Apple II or Commodore. What makes a dedicated CD emulator a "holy grail"? It would also be preferable to get data straight from a network, even an emulated network! Am I right about it being useful for copyright protected games? Otherwise I have to assume a lot of people here don't understand how information is recorded read on various formats, and they assume there's something magical and special about optical disks, when there really isn't.

Reply 86 of 92, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
Cuvtixo wrote on 2021-01-02, 04:53:

Otherwise I have to assume a lot of people here don't understand how information is recorded read on various formats, and they assume there's something magical and special about optical disks, when there really isn't.

Name one software drive emulator that works reliably for cd audio, no matter what operating system or audio hardware is being used.

Reply 87 of 92, by Cuvtixo

User metadata
Rank Newbie
Rank
Newbie
electric_monk wrote on 2019-10-16, 04:44:
Jo22 wrote:

but no *.NRG is slightly lame, though.

I mean, I'm open to suggestions 😉 I haven't heard of that format before though. It doesn't look very well documented (at least, based on the weirdly technical Wikipedia article about it).

Really? you haven't heard of that format? I'm fairly certain it's proprietary. Can you tell me what exactly what the goal here would be, like for what use-cases. I don't mean to put you on the spot or interrogate you or anything, but I really don't understand the purpose. If someone wants to make a library of CD-Rom games, why not just put the files in folders? Name the folders after the titles? Why keep them in a .iso or any other optical disc format?

BTW the application Isobuster does DAO, TAO, ISO, BIN, IMG, CCD, CIF, FCD, NRG, GCD, P01, 2D, CUE, CDI, CD, GI, PXI, MDS, MDF, VC4, 000, B5T, B5I, B6T, B6I, DMG, HFV, DC42, IBP, IBQ, IBDAT, IBADR, NCD, FLP, E01, Ex01, S01, RMG, VMDK, UDF, DD, VHD, VHDX, VDI, WBFS, XISO, XBX, ST, GDI, DCM, VMU, DDF, GME, MCD, MCI, MCR, MEM, PS, PSM, SAVERAM, SRM, VCD, VGS, VM1, VMP, APA, DAT, PS2, VM2, VMC, RAW, DSK, IMAGE, IMA -you could be very busy

Reply 88 of 92, by Cuvtixo

User metadata
Rank Newbie
Rank
Newbie
jmarsh wrote on 2021-01-02, 05:28:
Cuvtixo wrote on 2021-01-02, 04:53:

Otherwise I have to assume a lot of people here don't understand how information is recorded read on various formats, and they assume there's something magical and special about optical disks, when there really isn't.

Name one software drive emulator that works reliably for cd audio, no matter what operating system or audio hardware is being used.

Part of my point, actually. Encode CD Audio into MP3, or else use a physical optical disc player. Don't try to keep a file in the format of an audio CD.

Reply 89 of 92, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

And how exactly is that going to work on a machine running DOS, for example?
It seems like you're assuming this ODE is going to be used on modern machines, when this thread is mostly focused on retro machines. The very first post raises the point that both physical media and drives are rapidly becoming extinct hence the need for a replacement.

Reply 90 of 92, by t9999clint

User metadata
Rank Member
Rank
Member

There already exists a few options for software ODE for DOS, but none support audio.
I have a bunch of DOS games that use the audio output of the CD-ROM drive and I hate having to burn discs and swap them out all the time.
A physical ODE with audio support would be worth alot to me.

For a modern system, just use Dosbox and Ogg files.
But we're going with real hardware here, which require hardware solutions

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: K.O.R. Soundfont Project V.5.0
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 91 of 92, by mothergoose729

User metadata
Rank Oldbie
Rank
Oldbie
Cuvtixo wrote on 2021-01-02, 04:53:

Sorry guys, I don't get this at all. In what situations would one want to emulate an optical disc instead of copying the data out on a normal virtual disk, as in virtual hard drive. Certainly there are consoles designed around use of optical discs, and maybe there are dos games with copy protection built into the disc. But it's hard to imagine having the ability to decode most protection without being able to put into another format. Basically what possible advantage would a Gotek CD bring? I get that there might be a convenience of the ability to play files directly in .iso or .cue format, but conversion shouldn't be a big deal. IDK maybe they can make a custom "700MB floppy" for Gotek, wouldn't that work? Aren't the vast majority of games that use CDs for anything besides installation Windows games? I think someone mentioned earlier, the way some CDs were made bootable was to include a bootable floppy image, -basically its easier for DOS to recognize bootable floppies.
I remember starting to use linux around 1999. For a while there were no bootable linux CDs, one had to boot from a floppy, then copy all the files off the CD onto the hard drive, then make the drive installation bootable and put the CDs on a shelf. Or else use about a dozen 3.5 floppies. I used 5.25 floppies through college, so I understand a bit how all of those worked. That seemed like a lot of work when I had no earlier experience with unix and had barely learned a handful of commands. I think it was Debian 2.0 was the first bootable linux CD, I picked up a copy at a Geek Pride festival. Unfortunately my wife had demanded we get a 68k Mac, so I had to wait a while longer for my own linux box. But the Mac had a SCSI 2X CD, which was surprisingly useful because it sped up to double speed right away, while all the 4X IDE drives took a while to speed up, slowing boot times on PCs. I'm explaining all this to show, I've been using CDs from the beginning , I learned DOS and Windows 3.11 back in the day, and I still have no idea why anyone would want a hardware device dedicated to emulating optical discs. If I wanted to play with old Mac emulators, I'd just make sure I had enough hard drive space and emulate from within. I can only see limited use for Windows machines, again it is better to emulate from within, and really there's no significant advantage over getting a physical CD drive. It's of no use for 8-bit machines like the Apple II or Commodore. What makes a dedicated CD emulator a "holy grail"? It would also be preferable to get data straight from a network, even an emulated network! Am I right about it being useful for copyright protected games? Otherwise I have to assume a lot of people here don't understand how information is recorded read on various formats, and they assume there's something magical and special about optical disks, when there really isn't.

You can't get audio streaming to work on virtual CD ROM solutions. Hence the need for a hardware solution.

Even if software solutions could be made to support the feature, and in DOS and win9x none the less, even then a 386 can't reasonably be expected to emulate a CD ROM in software.

Reply 92 of 92, by Hojo82

User metadata
Rank Newbie
Rank
Newbie
electric_monk wrote on 2020-12-13, 23:21:

I was working on adding some support for CrystalFontz USB LCD screens (with buttons) so it could have an out-the-box GUI for people who want that, but it's been on the back burner a little since I'm working on other compatibility features just now (like increasing compatibility with some older 386s and adding support for UHD floppies like ZIP disks, which is something that's useful to some people). The main thing that makes it a bit of a pain is that they use a FTDI USB to serial chip, instead of a chip that implements the official USB serial adapter protocol, so I need to write a driver for that.

I didn't see anyone ask this yet, but have you considered open sourcing the firmware? As a fellow computer geek and software developer, I tend to enjoy goofing around with things and submitting pull requests to fix bugs or add features. Is this something you might entertain? I get it if you don't; I'm just thinking that there are probably a number of people here who'd be so inclined.

I guess I'm asking because I'm looking at making a couple of older systems, one of which would hugely benefit from this emulator as dealing with optical drives and their discs is becoming increasingly fraught. But it would be amazing to use one of those USB LCD screens with the buttons cause it would make navigating a library of images on an SD card an absolute breeze.

Anyway, thanks for all your work!