VOGONS


First post, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member

I'm trying to figure out how to properly use shadow RAM in the BIOS of a 386.

I have an SMC EtherCard Elite network card and an ALWAYS IN-2000 SCSI card among others (such as an SB16, modem, etc). Both the SCSI card and the network card have toggle switches/jumpers respectively to set stuff like the IRQ, ROM address and base I/O address.

I've set both cards to use different resources but I still can't get Windows 3.11 to finish the installation. It always crashes in roughly the same place but with a slightly different error (around disk 7 when you install the printer and network). I believe it has to do with a resource sharing conflict however I can't figure out what the conflict actually is. My SCSI is on IRQ 14, the network is on 10 and the HEX addresses are both set differently. My working hypothesis is that I'm not correctly shadowing these addresses in my BIOS settings but I need to check myself first before I can verify this to be the case.

First, I read that SCSI cards don't like to be shadowed at all. Therefore I turned off shadowing on the range of HEX where I set the jumpers on the card to. However for the network card, I enabled shadowing for the base address and turned ROM address to OFF/SOFT. Problem is, when I open MSD, it shows areas of memory that are unavailable that should be available if I'm not shadowing them and my windows install still crashes.

If I use the card's jumpers to assign the base I/O or ROM address to a specific area of memory, MUST I shadow that same area in the BIOS? If I don't, will it cause an error? Is there another possibility that could be causing my install not to work?

I can add that earlier on, when I did get windows installed (probably because I skipped network installation), as soon as I tried to install it from within Windows I would get these general protection faults and I could not get an IP assigned to the card. The card could ping itself but not the router and the computer would lag every time DHCP failed to work. The SMC software that checks your settings for you failed to detect the card but the card itself would light up and blink the activity lights and the drivers installed correctly too. So I think it's detecting the card and all but won't work because of some resource conflict. There are only 3 jumper positions for base I/O and IRQ so I'm limited there and "SOFT" never works so I'm not sure what to do but I'm wondering if this BIOS shadowing is the issue. By default, the BIOS had certain areas of memory shadowed, most of which I turned off so for all I know I broke something else. I do have my video card shadowed though so that's not it. It's just the general I/O memory area I'm fighting to understand right now.

Any advice on this? Thank you.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer

Reply 1 of 5, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

The purpose of shadowing is to copy the hardware BIOS/Firmware to faster system RAM.

With some hardware this can make stuff work faster, but it also means that you can't use those ranges for UMBs.

If you really want to shadow those ranges, you may have to manually exclude them from being used by EMM386.

Does it work without shadowing enabled?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 2 of 5, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

I know the SMC card from back in the early 1990s.
The SMC card has RAM like the AHA-1542CF, for example.
It reads the config from NVRAM memory mapped I/O and sets up its BIOS RAM, similar to the latter AHA.
So you should *not* shadow the SMC Elite!
Older 1542's without BIOS RAM can be shadowed without problem.

Reply 3 of 5, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

Unless you have a ROM chip on your network card, you should not be turning on shadowing for it. If you do have a ROM chip on your network card, then you should turn on shadowing ONLY for the ROM range, not the RAM range. The RAM is needed for memory mapped I/O and if you tell the BIOS to shadow it, it will make a copy of it's contents at boot and then prevent changes. This will prevent the network drivers from communicating with the card.

Same deal with the SCSI controller, you should only shadow the ROM portion, not the RAM portion.

To start off with, you should try installing windows with NO ram shadowing enabled, then try bios and video rom ROM shadowing, then try shadowing other ROMs. If you still have issues with all rom shadowing disabled, then you don't have a problem with ROM shadowing, it is something else.

For a 386, feel free to give plenty of memory space to everything. You shouldn't be messing too much with UMBs on a 386, as EMM386 causes a fairly high performance hit on these slow CPUs.

Reply 4 of 5, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote:

With some hardware this can make stuff work faster, but it also means that you can't use those ranges for UMBs.

If you really want to shadow those ranges, you may have to manually exclude them from being used by EMM386.

...

There are some misunderstandings here. You cannot use those ranges anyway, it does not matter if shadowing is enabled or not. Shadow RAM uses the same memory addresses as the original ROM area that is shadowed. This is the essence of shadowing 😀 . So you should exclude those ranges from being used by EMM386 regardless they are used by RAM or ROM, shadowing is enabled or not. You should not change any memory range related settings in CONFIG.SYS just because of shadowing is enabled.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 5 of 5, by Gahhhrrrlic

User metadata
Rank Member
Rank
Member

Let me try with all shadowing disabled then and see what happens. If it still doesn't work then maybe my cards aren't set up properly. It's just odd that I had it all working before (except networking) but now I can't get past windows install. Will update after another attempt.

https://hubpages.com/technology/How-to-Maximi … -Retro-Computer