Datadrainer wrote on 2022-01-28, 17:48:
So here is my though:
You can see it as a hybrid solution between a complete ODE and a VCD.
This is what was already proposed few pages ago 😀 by jbenam and 0x90 working on network redirector instead of hardware addon.
Datadrainer wrote on 2022-01-28, 17:48:
The ODE will ignore (return errors) most of the ATAPI commands except some needed for it to operate
If you already build hardware IDE disk emulator emulating ATAPI on top of it is a formality. The problem is not 'how to implement ATAPI', the problem is 'how to build cheap IDE emulator' where cheap is <$100. Main problem is standard ISA bus/IDE interface access times requiring either programable logic or very fast microcontroller and dedicating whole core to IO. At page 16 of this thread I erroneously assumed Tattiebogle Implemented IDE bus by bitbanging using carefully optimized assembly language routines, turns out electric_monk went the sane route and slapped FPGA on it, and so did sintech and retrotronics.org/home-page/netpi-ide/ guy.
I still believe its in the realms of possibility to bitbang IDE (~200ns) with something as cheap as ESP32 or especially RP2040 (Pi Pico).
This would give us, counting absolute rock bottom prices at quantity, BOM:
~$2 PCB
~$2 ESP32/RP2040
~$1 SN74LVC8T245
~$2.5 SN74LVC16T245
$0.2 microsd card slot
$0.2 IDE pin header 2x40 2.54mm
$0.06 3.5mm headphone jack
~$1.5 passives (multiply by whatever if you believe in audiophoolery)
$6 and no stock/$15 at Mouser PCM1794A
or
$2 for two 8bit DACs if we dont care about audio quality 😀
and
$1.5 dual opamp (multiply by whatever if you believe in audiophoolery)
or
$4 and no stock anywhere CS4344
or
$6 pcm5102
or
$1 ESS ES9023 (integrated opamp, available at mouser)
or
free Coaxial S/PDIF and I2S outputs
$10-20 manufacturing if DIY in small batches on a kitchen table, unless you expect people with EE education to work for below McDonalds wages
or
~$5-15 if jlcpcb. Thruhole hand assembly fees, extended parts fees, it all adds up. Soldering IDE header alone is ~$2, have to select from limited, often more expensive (for example ESP32 module 2x the cost, RP2040 out of stock, DAC $6 pcm5102 instead of $1 ES9023 etc) parts list.
$2-5 taxes/import duties (for the parts between china-assembler)
$10 shipping
all in all ~$50 is doable assuming firmware written for free by community.
Datadrainer wrote on 2022-01-28, 17:48:
When launched, the TSR will detect the ODE then when a program is launched it will scan the RAM to detect and hack ATAPI commands for controlling audio CD.
no need. Afaik CDROM in DOS is implemented using Network Redirector - MSCDEX pretends to DOS to be a network drive, and on top of it exposes some additional CD related functions on one of the interrupts.
http://www.math.uni-rostock.de/~nfa506/fakecddr.html
Datadrainer wrote on 2022-01-28, 17:48:
It will then send a command to the ODE to access a file:
ex: play track 1 will give search file /KEY/PLAY/GAME.EXE/TRACK1
pause will gives search for /KEY/PAUSE
this has also been covered, caching disk access might be a problem thus you would have to
/KEY/PLAY/TRACK1/somerandoms/selfincreme/ntingstring
/KEY/PAUSE/somerandoms/selfincreme/ntingstring
Datadrainer wrote on 2022-01-28, 17:48:
The KEY is just a name with forbidden characters to only allow request from the TSR.
whole point of forbidden characters in DOS names " * / : < > ? \ | is they will be filtered out
you dont need them when using /somerandoms/selfincreme/ntingstring as an access token
Datadrainer wrote on 2022-01-28, 17:48:
* A TSR must be loaded that will consume precious bytes of base memory
no problem since we in turn get rid of physical CDROM driver
Datadrainer wrote on 2022-01-28, 17:48:
* Two CD-ROM drives have to be configured, the ODE and the VCD meaning even more KB of memory.
I dont understand why
Datadrainer wrote on 2022-01-28, 17:48:
* An IDE port is used with no accessible storage on it
Again, if you already have hardware IDE emulator everything described above is redundant.