VOGONS


Reply 241 of 355, by SmooBandit

User metadata
Rank Newbie
Rank
Newbie
SpocksBeer wrote on 2021-10-13, 06:14:

Pretty sure it works well, but no CD audio support possible this way

Also, if running in DOS, you cannot switch images while in a game. That's the main reason I got the IDE Sim. That and the CD Audio.

Reply 242 of 355, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Speaking of interfaces, I like simple. But I do understand that one-button solution would not work well on a PC where there's so many different program with their own GUIs and possible even different graphics cards. So there needs to be some external interface on the device with its own display. And now we have to pick one that is not too small but also not too big and expensive. And some people will say "I have a smartphone, make an app over BT to control this thing" while others will call it heresy that one needs a modern phone paired with device emulating 30+ year old tech. In the end, both will be required to satisfy everyone, that itself raises costs, requires a proper selection of HW parts with enough pins, RAM, etc, and obviously that needs to be coded and tested.

Testing - many seem to think it can be solved in open source community, delegated to others so the coding team doesn't have to do it. Well, that's nice in theory or when you have a very formal set of testing procedures that everybody sticks to, including a proper bug tracker. But even then if something is broken it's often the coders job to try out different things, so in the end a lot of testing has to be done by them. Yet, since it is a team, everyone expects fast turnover and will complain of poor support if such bugs take days (or more, depending on free time) to resolve.

And every team can split apart, I mean look no further than X Window System display server managers, each trying to pull Linux in different direction and the result is we don't have a common framework, haven't for years now, and it doesn't look to improve in this decade. Or ever, actually. So there are both pros and cons to open/closed source as well as single person vs team. There's no rule for this to work or not, it might, but if it doesn't it can easily just stop and kill the whole project.

My point is, it takes more than just a few chips slapped on a PCB for such project to be successful. It often starts with just one person as hobby project, but equally it often ends as such because of all the issues I already mentioned and demand/pressure from interested parties. And, on somewhat personal note, some of these parties can be pretty toxic, not all but it can and does happen. That makes me really reluctant to make yet another device that could end up much more popular than expected - in case anybody wondered.

Reply 243 of 355, by SScorpio

User metadata
Rank Member
Rank
Member
janih wrote on 2021-10-13, 06:00:

I understand that it is not a hardware solution to this, but has anyone tried the SHSUCDHD for this problem? https://github.com/adoxa/shsucd/

"SHSUCDHD v3.01 Simulates a CD-ROM using an image file"

I wonder how well it works with older (386/486) machines.

My understanding is it works, but doesn't support audio tracks or many DRM solutions.

Reply 244 of 355, by hyoenmadan

User metadata
Rank Member
Rank
Member

Heh... After reading later thread updates, I'm seeing 2 common problems with this project.

* The most difficult part of it, the ATA bridge engine, is also the most unfunny (specially if your want at least UDMA66 speeds) and hidden on the whole thing. People will not say something like "Oh gosh, how clever this ATA engine was done, kudos and donations to the mind who created it", but they will plug it, if works "good, this ODE does as advertised, and check, is compatible with MDF's!!" and if doesn't "fuck this buggy expensive trash, doesn't work with my XXX board".

* There isn't a popular, but still powerful and cheap enough chip to target. The Lattice one who was posted before doesn't seem popular enough as Altera's or Xilinx'es, and not cheap enough to people. And after reading about the ESP32 one, I feel like doing UDMA with it, even 33, would be pushing it too far its latency limits. Also, lots of silicon on it will be there doing nothing, as we don't need for this its wireless capabilities or other things which it has built in.

There would be better chips in the future, but the ATA engine factor weights too much. Doing a real and active ATA bridge is a thing you want to do ONCE in your life, and that's why everyone wants to have a winning target chip so you don't have to "port" it to other platform again (sometimes you can't and you have to do it from scratch again).

Reply 245 of 355, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

The ATA/ATAPI glue logic is difficult to get right, yes, especially for high-speed modes. But there're also more subtle issues that people who never tinkered with such things don't even consider.

First, the interface is 5V based, and all modern PLDs and FPGAs are 3V3. Not even 5V tolerant, and that would still be lacking, you need a proper 5V drive as well. This can be worked around with extra logic shifters but that takes tons of PCB space, more chips, more signals to route, so more I/O on the output logic is tied into it (thus more expensive logic needed). A proper ASIC does it all on-chip.

Second, these are fast changing signals on a 16-bit bus, unless you have a dedicated ASIC your outputs will drive too little or too much current when flipping state, sending horrible noise spikes down the line. And imagine the spike on the power rails when 16 bits with potential long cable and tons of parasitic capacitance suddenly change from zeros to ones, or the opposite. Way around it is adding terminating resistor packs but that again makes the PCB and assembly more complicated.

Third, sooner or later some bloody idiot will connect the cable the other way around (or pin-shift the connector on mobo end, tons of these, and ISA controllers, have just goldpins sticking out rather than proper IDE connectors) - unless you design your device to survive that something will end up smoking. Possibly on both ends of the cable. Guess who will be blamed for not idiot-proofing?

These interfaces are anything but easy, you can get away with some corner cutting if you accept less than 100% compatibility (perhaps way less), but a true one-size-fits-all device for PCs will take some skills, and a lot of testing. Or, in other words, you get what you pay for.

Reply 246 of 355, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

So it really should be built on it's own expansion board for idiot proofing purposes.. at least for use in an older system. On a newer system, you could just have a SATA device.

Yamaha YMF modified setupds and drivers
Yamaha XG resource repository - updated November 27, 2018
Yamaha YMF7x4 Guide
AW744L II - YMF744 - AOpen Cobra Sound Card - Install SB-Link Header

Reply 247 of 355, by hyoenmadan

User metadata
Rank Member
Rank
Member
cyclone3d wrote on 2021-10-13, 19:16:

So it really should be built on it's own expansion board for idiot proofing purposes.. at least for use in an older system. On a newer system, you could just have a SATA device.

I guess such thing has been already done. Is called AceLabs PC3000 (at least the original, is an FPGA implementing the ATA engine + all the extras on expansion board package). Wasn't cheap ofc... Actually, is still not cheap.
But who knows... Maybe if someone brave enough develop one of these, and sell them to the FOSS recovery market instead, as a hardware only alternative to the PC3000 to be coupled with already existent OSS tools (as ddrescue)... May he get enough money to develop a cut down version of the board as an ODE, a FOSS ATA/SATA bridge, an ATA UDMA disk emulator, or anything on the middle. The money and time to develop the ATA engine and all the needed glue electronics/logic would be paid by the recovery market guys, not us.

Reply 248 of 355, by rasz_pl

User metadata
Rank Oldbie
Rank
Oldbie
hyoenmadan wrote on 2021-10-13, 15:35:

* The most difficult part of it, the ATA bridge engine, is also the most unfunny (specially if your want at least UDMA66

PIO1 at most is enough for what people want here. You can do that purely in software with bitbanging.

hyoenmadan wrote on 2021-10-13, 15:35:

And after reading about the ESP32 one, I feel like doing UDMA with it, even 33, would be pushing it too far its latency limits.

~200ns means PIO2 would be pushing it too far. But that doesnt matter, PIO1 is already 40x CD speed.

hyoenmadan wrote on 2021-10-13, 15:35:

Also, lots of silicon on it will be there doing nothing, as we don't need for this its wireless capabilities or other things which it has built in.

Again doesnt matter when its $2 for bare chips and $5 for FCC certified modules and has everything needed onboard. sdcard interface, optional BT/wifi for phone interface, SPI/I2C for lcd, bunch of IO for ATA and buttons.

cyclone3d wrote on 2021-10-13, 19:16:

So it really should be built on it's own expansion board for idiot proofing purposes.. at least for use in an older system. On a newer system, you could just have a SATA device.

Sata? 😀 say hello to out of stock FPGAs with serdes meeting requirements

hyoenmadan wrote on 2021-10-13, 19:38:

I guess such thing has been already done. Is called AceLabs PC3000

wrong direction(controller/device), wrong purpose, wrong market segment (price)

Reply 249 of 355, by hyoenmadan

User metadata
Rank Member
Rank
Member
rasz_pl wrote on 2021-10-13, 20:02:

wrong direction(controller/device), wrong purpose, wrong market segment (price)

Hey, was just an example of an FPGA based ATA bridge in an "all-in-one" package, ready just to plug and go (hardware wise at least).

I still think would be a good way to fund the development of a true ATA bridge FPGA Opencore. Is clear the retro pc community has no interest... But maybe the data recovery community pockets would (specially compared to the prices of the aforementioned PC3000 and similar tools). If implemented as FOSS Opencore, would end being beneficial for any future projects who need an speedy ATA engine, like this one.

Reply 251 of 355, by SScorpio

User metadata
Rank Member
Rank
Member
rasz_pl wrote on 2021-10-13, 20:02:
PIO1 at most is enough for what people want here. You can do that purely in software with bitbanging. . . ~200ns means PIO2 woul […]
Show full quote

PIO1 at most is enough for what people want here. You can do that purely in software with bitbanging.
.
.
~200ns means PIO2 would be pushing it too far. But that doesnt matter, PIO1 is already 40x CD speed.
.
.
Again doesnt matter when its $2 for bare chips and $5 for FCC certified modules and has everything needed onboard. sdcard interface, optional BT/wifi for phone interface, SPI/I2C for lcd, bunch of IO for ATA and buttons.
.
.
wrong direction(controller/device), wrong purpose, wrong market segment (price)

Thanks for being another voice of reason in the thread. 2-4X should work for the really old retro PCs. Once you start getting into Win98, possible 95 it's possible to use software virtual CD-ROMs that support CD audio which you can't run under DOS.

I have to wonder if a simple board that has a 40pin connector for IDE, molex power connector, analog and digital internal audio headers, and 1/8 jack that ends up being a Pi hat or allow connecting to an ESP32 module would be enough? Both a Pi and ESP32 can run with 5V so the earlier comment about some chips being 3.3V nowadays goes away. It could even have headers to support a cheap small screen and buttons you attach to a 5 1/4 bay insert.

Reply 252 of 355, by Deksor

User metadata
Rank l33t
Rank
l33t
SScorpio wrote on 2021-10-13, 22:28:

Thanks for being another voice of reason in the thread. 2-4X should work for the really old retro PCs. Once you start getting into Win98, possible 95 it's possible to use software virtual CD-ROMs that support CD audio which you can't run under DOS.

I have to wonder if a simple board that has a 40pin connector for IDE, molex power connector, analog and digital internal audio headers, and 1/8 jack that ends up being a Pi hat or allow connecting to an ESP32 module would be enough? Both a Pi and ESP32 can run with 5V so the earlier comment about some chips being 3.3V nowadays goes away. It could even have headers to support a cheap small screen and buttons you attach to a 5 1/4 bay insert.

While I agree with this, daemon tools on windows 9x leave a lot to be desired. In theory, CD audio works with it ... but in reality it rarely works because for it to work well your sound card needs WDM drivers ... which aren't recommended for windows 9x. But in any case, daemon tools could be used to install the games (where you need most of the speed) and then use the optical emulator for the rest (because you don't need the CD-Rom drive to be quick when you're playing the game since most let you install most of their content to the HDD).

Trying to identify old hardware ? Visit Ultimate Retro - Project's thread The Ultimate Retro project - a stason.org/TH99 alternative

Reply 253 of 355, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
SScorpio wrote on 2021-10-13, 22:28:

Thanks for being another voice of reason in the thread. 2-4X should work for the really old retro PCs.

For you. It would work for you. Not all people with retro PCs. What is a "retro PC" anyway, I've just had a discussion on P4 mobo capacitors and these systems already had SATA on them. And while it migh even be 9 of out 10 people who think that it would be enough, that 1 other guy will make your life miserable if you do not cave in to his demands for UDMA33.
I'm not saying that just to disagree - the topic is "Is it possible", so I'm offering my thoughts on why it a) is possible while also b) nobody seems all that interested in doing it. Not "for the masses" anyway.

SScorpio wrote on 2021-10-13, 22:28:

I have to wonder if a simple board that has a 40pin connector for IDE, molex power connector, analog and digital internal audio headers, and 1/8 jack that ends up being a Pi hat or allow connecting to an ESP32 module would be enough? Both a Pi and ESP32 can run with 5V so the earlier comment about some chips being 3.3V nowadays goes away. It could even have headers to support a cheap small screen and buttons you attach to a 5 1/4 bay insert.

Both RPi and ESP32 are 3V3 devices. But don't take my word for it, connect 5V to the I/O pins and watch the fireworks and magic smoke escape. I really wish it was as easy as slapping a dumb hat with few connectors on top of a Pi and calling it a day. I mean no offense but this is another one of those "Why don't we just emulate the laser head?" type of things.

Reply 255 of 355, by SScorpio

User metadata
Rank Member
Rank
Member
Deunan wrote on 2021-10-13, 23:08:

Both RPi and ESP32 are 3V3 devices. But don't take my word for it, connect 5V to the I/O pins and watch the fireworks and magic smoke escape. I really wish it was as easy as slapping a dumb hat with few connectors on top of a Pi and calling it a day. I mean no offense but this is another one of those "Why don't we just emulate the laser head?" type of things.

I have an ESP32 developer board that has both 3.3V and 5V inputs. No magic smoke has escaped using just 5V. I've also powered Pis without issue with 5V through the GPIO.

And you're right that you'll never please everyone with a product, but I've had real CD-ROMs that don't work on UDMA33 ports. Be upfront about what you are supporting and any limitations. If someone wants something outside that but it doesn't make sense for you, well they'll have to look elsewhere.

Reply 257 of 355, by hyoenmadan

User metadata
Rank Member
Rank
Member
SpocksBeer wrote on 2021-10-13, 22:14:

*No UDMA . As like someone here said before, you can do already PIO1/2 (supposedly "enough" for people here) bit-banging in software already with a powerful enough micro. No need on an FPGA core for that.
*Only host mode. An ODE needs target mode, and a bridge (if you want to use it in combination with any other existing development) needs both.

No one has managed to made any of these... Not in an opensource way... So I guess it needs more incentives or funding to get them done.

SpocksBeer wrote on 2021-10-14, 00:10:

Meanwhile, in Soviet Russia...

Someone had posted that earlier, but he doesn't show what he is exactly doing there. He would be happily using an Altera DE10 development board (very common (and even subsidized) to college students) to emulate the drive, which would be meaningless for the "price" requirements posted here.
Until he doesn't show what he is really doing there, and how he is doing it... It is just vapor.

Reply 258 of 355, by SScorpio

User metadata
Rank Member
Rank
Member
hyoenmadan wrote on 2021-10-14, 00:52:

Someone had posted that earlier, but he doesn't show what he is exactly doing there. He would be happily using an Altera DE10 development board (very common (and even subsidized) to college students) to emulate the drive, which would be meaningless for the "price" requirements posted here.
Until he doesn't show what he is really doing there, and how he is doing it... It is just vapor.

Translating the YouTube comments one mentions that the board is an alpha so it's still under development. It also mentions he's $5,000 ion on the alpha. Though no idea what he has on it.

These a MFM drive emulator/dumper that's $175. If be very surprised the ata/atapi2sd would end up being cheaper.

Reply 259 of 355, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
SScorpio wrote on 2021-10-13, 23:58:

I have an ESP32 developer board that has both 3.3V and 5V inputs. No magic smoke has escaped using just 5V. I've also powered Pis without issue with 5V through the GPIO.

I think you are confusing powering something with 5V vs having 5V I/O. Not the same thing. Also any ESP32 dev board you might have that accepts 5V inputs, you either got extremly lucky so far or you have a couple of level shifters on it to create 5V tolerant inputs. I've already explained how this is suboptimal and will make the device bigger and more expensive.

SScorpio wrote on 2021-10-13, 23:58:

Be upfront about what you are supporting and any limitations. If someone wants something outside that but it doesn't make sense for you, well they'll have to look elsewhere.

This approach only works for really small production runs for niche products. A PC ODE will get popular and everybody who fancies a "retro" PC will want one. And eventually, when some don't get what they want as cheap as they want, things turn ugly fast - and not everyone wants or can deal with it. Lets just say I have some experience in these matters.

Also, AFAIK the ESP32 is sort of virtual machine, that is the user code is running under RTOS kernel layer that has priority, so interrupt latency sucks. It might be so bad that even reliable PIO 0 is not possible. RPi is even worse when it comes to real-time events. This is why a device like this wants a bare metal HW or better yet a nice fat layer of configurable logic at the interface end. Somebody mentioned STM series, the 5V Cortex-M0 is too limited in memory and processing speed to be a good candidate for such project - and you need a lot more SW processing to make up for that missing logic.

What would be perfect is a chip that, like modern FPGAs, can have it's I/O banks work at different voltages. And at least some would have to be true 5V I/O, that's where the problem lies. The rest would then be configured for 3V3 and could easily talk to modern MCUs, memory cards, or other stuff that you'd put in there to make it work. There are even (kinda pricey though) FPGAs with built-in ARM cores, so pretty much all you need is slap an SD card socket on it - but still no 5V...

Have you people heard of USB-GDROM? The way this was made is an STM plus a dedicated ATA/ATAPI chip, this solves a lot of problems I mentioned, but requires particular chips that are not manufactured anymore and the source is old computer parts. So it will run dry sooner rather then later and still can't be cheap. Plus these ASICs are notorious for lacking any documentation so even if you get something, a lot of reverse engineering is required anyway.