Configuring AMI 386dx bios for CD

Support and general discussion.
Post Reply
CaptainKoloth
Posts: 6
Joined: Fri 25 Oct, 2019 12:19 am

Configuring AMI 386dx bios for CD

Post by CaptainKoloth »

Hello everyone:

I grew up with a 386 PC which used to be my father's and which he handed off to me when he upgraded to his ultra-powerful, future-proof Gateway P5 100 with Windows 95 (!). Both of these are actually still working, but I fear their components are probably on their last legs so I've pulled all the data off their hard drives and imaged them into PCEm hard drive. This was a rather ridiculous process that involved my use of a Backpack parallel port hard drive (anyone remember those?) to get information off an ESDI HDD with a daughter board in the 386, then onto the Gateway to copy onto yet another hard drive, then burned to a disc, then imaged onto ANOTHER hard drive... but long story short, after several days of struggle, I managed to boot up my virtual 386, and it worked almost perfectly!

Let me just take a moment to step back and say how awesome this is. The computer I grew up on and is literally older than I am, that doesn't interface in any way with modern systems, is now preserved forever in a digital simulation of itself. It kind of reminds me of a certain aspect of Star Trek: Picard. This is really freaking cool. The preservation of all these files and programs has a surprisingly strong emotional impact for me. I want to give a special thanks to SarahWalker for creating a program that can do this so well.

With that said... there are of course a few minor configuration changes I'm having to make since the computer the HDD "thinks" it's on has different hardware. I'm using the AMI 386DX bios because it's almost the same as what I was originally running (which was I believe a version or so earlier than the emulated BIOS). Because I am a crazy person, I'm trying to make the startup process as identical to the real hardware as I can. There are two issues I'm having, one major, one minor.

The major issue is I can't get it to recognize the CD-ROM. My autoexec.bat loads mscdex.exe and I believe the driver is loading properly, but it gives an error message that "interface board or CD-ROM drive is not ready". The original driver was "CD-ROM Device Driver 4.15" from Creative, 1993. I've tried several things based on what I read in other threads, especially moving the CD to other drives (right now it's E:; I also tried setting it as primary slave and secondary slave, but it was not recognized in any of those slots). There isn't anyplace in the BIOS to configure a CD-ROM. On the original machine the drive is actually connected through the Sound Blaster 16. Any ideas for what I can do here?

The minor issue: as per the above, originally I had a Backpack D drive connected through the parallel port. Since there's no longer a Backpack drive connected, it loads the driver on startup and then gives an error message that no Backpack is connected. This is a very minor issue since I just have the data that was on the Backpack configured as another HDD, and I can just take it out of autoexec.bat, but just in my quest to make it as close a simulation as possible... I don't suppose there's any way to trick it into thinking I have such a drive attached?

And one other minor little niggle, that might sound dumb and I assume I can't do much about... the HDD is too fast. On the real machine, the memory test on boot takes about 15 seconds. Here, the RAM check finished almost instantaneously. It's not a clock speed issue and not really knowing anything about what's going on under the hood but knowing just enough to be dangerous, I imagine that it's because all these emulated components are talking to each much faster than the real hardware does, but I would like find a way to slow down the memory check if such a thing is possible. Waiting for it on startup is, oddly, part of my nostalgia.

Here's my .cfg file if it helps:

gameblaster = 0
gus = 0
ssi2001 = 0
voodoo = 0
model = ami386dx
cpu_manufacturer = 2
cpu = 5
fpu = none
cpu_use_dynarec = 0
cpu_waitstates = 0
gfxcard = vga
video_speed = -1
sndcard = sb16
cpu_speed = 5
disc_a =
disc_b =
hdd_controller = ide
mem_size = 8192
cdrom_drive = 0
cdrom_channel = 3
cdrom_path =
zip_channel = -1
hdc_sectors = 63
hdc_heads = 16
hdc_cylinders = 511
hdc_fn = C:\Users\pcem\386 c.img
hdd_sectors = 63
hdd_heads = 16
hdd_cylinders = 511
hdd_fn = C:\Users\pcem\386 d.img
hde_sectors = 0
hde_heads = 0
hde_cylinders = 0
hde_fn =
hdf_sectors = 0
hdf_heads = 0
hdf_cylinders = 0
hdf_fn =
hdg_sectors = 0
hdg_heads = 0
hdg_cylinders = 0
hdg_fn =
hdh_sectors = 0
hdh_heads = 0
hdh_cylinders = 0
hdh_fn =
hdi_sectors = 0
hdi_heads = 0
hdi_cylinders = 0
hdi_fn =
drive_a_type = 7
drive_b_type = 2
bpb_disable = 0
cd_speed = 4
cd_model = pcemcd
joystick_type = 0
mouse_type = 0
enable_sync = 1
netcard =
lpt1_device = none
vid_resize = 0
video_fullscreen_scale = 0
video_fullscreen_first = 1

[Joysticks]
joystick_0_nr = 0
joystick_1_nr = 0

[SDL2]
screenshot_format = png
screenshot_flash = 1
custom_width = 640
custom_height = 480
fullscreen = 0
fullscreen_mode = 0
scale = 1
scale_mode = 1
vsync = 0
focus_dim = 0
alternative_update_lock = 0
render_driver = auto

[GL3]
input_scale = 1.000000
input_stretch = 0
shader_refresh_rate = 0.000000

[GL3 Shaders]
shaders = 0
SA1988
Posts: 274
Joined: Wed 30 Apr, 2014 9:38 am

Re: Configuring AMI 386dx bios for CD

Post by SA1988 »

I believe your driver is asking for a SCSI card in this case, especially that atapi wasn't a thing in 1993.
CaptainKoloth
Posts: 6
Joined: Fri 25 Oct, 2019 12:19 am

Re: Configuring AMI 386dx bios for CD

Post by CaptainKoloth »

So what can I do to fix? Is there another driver I should load?
SA1988
Posts: 274
Joined: Wed 30 Apr, 2014 9:38 am

Re: Configuring AMI 386dx bios for CD

Post by SA1988 »

Well, try generic atapi drivers post-1994.
CaptainKoloth
Posts: 6
Joined: Fri 25 Oct, 2019 12:19 am

Re: Configuring AMI 386dx bios for CD

Post by CaptainKoloth »

So, dumb question coming... how do I do that?
JosepMa
Posts: 202
Joined: Tue 20 Jun, 2017 6:25 pm

Re: Configuring AMI 386dx bios for CD

Post by JosepMa »

The Soundblaster CD connector is not emulated in PCEm (and as such there is no way to tell that the CD is connected to there).
So that's probably why you can't configure it like you had it back then.

You might need a different driver and connect it to primary slave. Not sure if adding a SCSI card in the configuration and trying to use the CD from there could work, but that would mean you would still need more drivers.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: Configuring AMI 386dx bios for CD

Post by ruben_balea »

SA1988 wrote: Mon 14 Sep, 2020 10:34 pm I believe your driver is asking for a SCSI card in this case, especially that atapi wasn't a thing in 1993.
There were sound cards with Mitsumi and/or Sony interfaces or IDE+Mitsumi+Sony or any other combination. Mitsumi used the same 40 pin cable as IDE but different pinout, very incompatible, likely to cause shortcircuits and burn something I think.
Each interface has propietary drivers for DOS or any other OS. Only IDE/ATAPI drivers are more or less generic and any should work, some use more RAM than others and so on but all should detect any IDE CD-ROM, or on physical machines any IDE optical drive, the ability to read DVDs is limited only by the OS.

OAKCDROM.SYS is available on almost any Windows boot floppy and works fine.

Mitsumi or Sony drivers won't work at all under PCem because the emulated drive will be IDE/ATAPI
Post Reply