VOGONS


Restrictions of 386(SX?) with 16MB RAM

Topic actions

First post, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Dear all,

When reading through various threads plus ow experience I ask myself: can 16mb es be contraproductive in certain cases?

Examples:
- possible ISA linear frame buffer would require mem hole at 15mb
- some graphic cards won’t work properly (e.g. Advantech PCA 6653)
- certain limitations with DMA transfers (quote: The reason for the most problems is that ISA DMA is limited to a memory area below 16 MB (same as memory mapped ISA devices). The 15-16 MB memory hole option in old BIOSses is related to this at Dos games and 16mb of ram)

Most things might especially be valid if your BIOS doesn’t support 15-16mb memory hole.

Again these are mainly statements I found which I couldn’t really test.

Do you know if points are true or could eve be extended?

Thanks and merry Christmas

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@63 | 16MB | CL-GD5434 | CT2830| SCC-1 | MT32 | WDC160GB/7200/8MB | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 1 of 21, by matze79

User metadata
Rank l33t
Rank
l33t

There some 386SX mainboards who can remap the memory you loose with the 15-16M isa hole as ems.
Why should Advantech not work ?

ISA DMA has a 16 MB physical address limit, so isn't it for all devices on any device with ISA Bus same ?

Reply 2 of 21, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Ah thanks. So for DMA it might become an issue with more than 16MB I understand.

Regarding advantech I found it here in the forum that it requires a mem hole 15-16. without it I experienced it won’t work in windows e.g but couldn’t test with mem hole.

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@63 | 16MB | CL-GD5434 | CT2830| SCC-1 | MT32 | WDC160GB/7200/8MB | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 3 of 21, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie

Do you really need 16MB?

Another issue on some motherboards at high frequencies, is that in order to set the lowest CAS options for the RAM you might be limited to 8-12MB, not 16MB. I had this issue on a 386DX though.

Reply 4 of 21, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Wow, and here I feel guilty for putting 8MB for my 386DX.. Back in the day my 386DX had 2MB that was upgraded later to 4MB.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 5 of 21, by Grzyb

User metadata
Rank l33t
Rank
l33t
Marco wrote on Yesterday, 13:03:

So for DMA it might become an issue with more than 16MB I understand.

Exactly.
When writing a driver for an ISA DMA device, it's important to allocate a buffer below the 16M limit.
See eg. - https://docs.kernel.org/core-api/dma-isa-lpc.html

Nie rzucim ziemi, skąd nasz root!

Reply 6 of 21, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Well, and I have 20 MB (out of 32) in my 386sx.
4 MB are allocated for EMS. Topcat chipset.

It even runs Windows 95B.
SB 16 ASP plays ADPCM compressed Windows sounds.
ET4000/W32 ISA allows full window moving.
1542B does busmaster SCSI transfers.
I yet need to find a good network card.

Yes, it is still a 386sx. Any tasks that require CPU power are terribly slow.

Reply 7 of 21, by weedeewee

User metadata
Rank l33t
Rank
l33t
Disruptor wrote on Yesterday, 15:18:
Well, and I have 20 MB (out of 32) in my 386sx. 4 MB are allocated for EMS. Topcat chipset. […]
Show full quote

Well, and I have 20 MB (out of 32) in my 386sx.
4 MB are allocated for EMS. Topcat chipset.

It even runs Windows 95B.
SB 16 ASP plays ADPCM compressed Windows sounds.
ET4000/W32 ISA allows full window moving.
1542B does busmaster SCSI transfers.
I yet need to find a good network card.

Yes, it is still a 386sx. Any tasks that require CPU power are terribly slow.

Sorry for going off on a tangent here. Do you have a photo of that ET4000/W32 ISA card ? Is it already listed on TRW ?
The only ISA w32 is see there doesn't have a bios listed. C/Would you supply it?

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 8 of 21, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Thanks to all.

I conclude no known issues, LFB still unclear but I learned that a SX can address more than 16mb.

Might be related to my scamp chipset that limits to 16mb. Anyway I will try now 8x4mb Simms since I learned not the SX limits to 16/mb.

Merry Christmas

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@63 | 16MB | CL-GD5434 | CT2830| SCC-1 | MT32 | WDC160GB/7200/8MB | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 9 of 21, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie
wbahnassi wrote on Yesterday, 14:41:

Wow, and here I feel guilty for putting 8MB for my 386DX.. Back in the day my 386DX had 2MB that was upgraded later to 4MB.

I'm pretty sure we upgraded our 386DX 40s to 8MB / 16MB back in the day when they were still in service. They usually came with 4MB initially. The 386DX 40 was a popular budget option that had an extended life in the 386 class. So it wasn't really improbable. It was nice to have the extra ram in Windows. We also had a 386SX at one point, but I can't remember how much that had. Probably 4MB.

Reply 10 of 21, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

How many ISA VGA really did anything useful with a LFB? Seems like few to none

Reply 11 of 21, by megatron-uk

User metadata
Rank l33t
Rank
l33t
Marco wrote on Yesterday, 22:50:
Thanks to all. […]
Show full quote

Thanks to all.

I conclude no known issues, LFB still unclear but I learned that a SX can address more than 16mb.

Might be related to my scamp chipset that limits to 16mb. Anyway I will try now 8x4mb Simms since I learned not the SX limits to 16/mb.

Merry Christmas

The 386SX has a 24bit address bus, it cannot address more than 16mb of ram. It is simply impossible.

You can use something like an EMS card to add further memory beyond that 16MB, but it won't be part of the address space since it is accessed through the EMS page frame. Think of it as an entirely separate pool of memory that only applications written to use EMS can use.

Some motherboard chipsets can enable this (just as they did on certain 286 models), but it still doesn't get around the 24bit address bus limitation.

I'm not sure that there is any real use for *more* than 16mb on a 386sx. Anything that wants that sort of ram is going to be better served by a DX or 486. Remember that the SX was the low cost consumer focussed version for people who didn't necessarily need the memory space or performance of the DX.

My collection database and technical wiki:
https://www.target-earth.net

Reply 12 of 21, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for confirming my understanding. No SX above 16mb since limited by 16bit addressing

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@63 | 16MB | CL-GD5434 | CT2830| SCC-1 | MT32 | WDC160GB/7200/8MB | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 13 of 21, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Marco wrote on Today, 00:26:

Thanks for confirming my understanding. No SX above 16mb since limited by 16bit addressing

Wrong. It has a 24 bit address bus.
2^24 Bytes = 16 MBytes

Anything above has to be provided as EMS by chipset - and you need driver support.

Reply 14 of 21, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Ah yes. Thanks again for the clarification. Regards.

1) VLSI SCAMP 311 | 386SX25@TI486SXLC2-50@63 | 16MB | CL-GD5434 | CT2830| SCC-1 | MT32 | WDC160GB/7200/8MB | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I

Reply 15 of 21, by Darmok

User metadata
Rank Newbie
Rank
Newbie

I have an OTI-087 ISA video card. Windows drivers for this card support both paged and linear video buffer modes. It's installed in a 386DX40 with 32 MB of memory and a 14 MHz ISA bus frequency. The linear mode driver allows you to manually specify the megabyte number where the video buffer will be located. I set the buffer address to 33 megabytes. Linear mode works, but I didn't notice any difference in graphics performance in Windows; the difference is within the measurement error. I believe that LFB for the ISA bus is useless; any gain from simplified addressing is offset by the slow bus.

Reply 16 of 21, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie

The Vesa drivers for the Chips 65545 ISA card contains an LFB mode, which uses the 15-16MB memory hole.

Duke3D is twice as fast at 320x200, and enables 320x400 for double the resolution at the same frame rate as 320x200 used to operate. Highly recommend. I tested this on a 386DX but a 16 bit bus is a 16 bit bus.

Reply 17 of 21, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Darmok wrote on Today, 11:05:

I have an OTI-087 ISA video card. Windows drivers for this card support both paged and linear video buffer modes. It's installed in a 386DX40 with 32 MB of memory and a 14 MHz ISA bus frequency. The linear mode driver allows you to manually specify the megabyte number where the video buffer will be located. I set the buffer address to 33 megabytes. Linear mode works, but I didn't notice any difference in graphics performance in Windows; the difference is within the measurement error. I believe that LFB for the ISA bus is useless; any gain from simplified addressing is offset by the slow bus.

That is weird. How can you set the LFB to 33 MB on an ISA bus?
How should that work? ISA with its 24 address lines just can allocate up to 16 MB.
Please define a memory hole of 1 MB in your BIOS and retry with buffer address at 15 MBytes.

Reply 18 of 21, by Darmok

User metadata
Rank Newbie
Rank
Newbie

[/quote]
How can you set the LFB to 33 MB on an ISA bus?
[/quote]

The motherboard is based on the opti495slc chipset. This chipset supports 64 MB of memory. The BIOS sets the actual memory size to 32 MB. Accessing addresses above 32 MB triggers data transfers with devices on the ISA bus. Since the addressable size of the ISA bus is 16 MB, it appears twice in addresses above 32 MB. The megabyte immediately after the thirty-second megabyte contains 384 KB of ROM and the video page buffer. The next megabyte is free. Megabytes start counting from 0, so I set the LFB to start at 33 megabytes. The BIOS doesn't have an option to specify a memory hole at address 15 MB.

Reply 19 of 21, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

I've doubts whether your LFB is really active.
Perhaps you can try it with only 8 MB of RAM installed.