VOGONS


Restrictions of 386(SX?) with 16MB RAM

Topic actions

Reply 20 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie

LFB is indeed active. Linear and page mode drivers are two different drivers. Furthermore, if you set the buffer start to 32 MB, the image on the monitor is expectedly corrupted. I don't have 1 MB memory modules, only 4 MB. Therefore, I can't use less than 16 MB of memory.

Reply 21 of 63, by weedeewee

User metadata
Rank l33t
Rank
l33t
Darmok wrote on 2025-12-25, 18:23:

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.

Cool, is that motherboard information available on TheRetroWeb ?

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 22 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie

I don't know the motherboard manufacturer. I have a manual for it, which lists it as model MA013.

Reply 24 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie

Sorry, I just now remembered that I set the LFB address to 34 MB. This is because the OTI-087 supports 2 MB of video memory. Therefore, the Windows driver has a strange limitation on the LFB address: it must start with an even megabyte number.

Reply 25 of 63, by Grzyb

User metadata
Rank l33t
Rank
l33t
maxtherabbit wrote on 2025-12-24, 23:27:

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

Mach64 - Re: VLB with 386DX-40 ?

Many late ISA cards are based on chips designed for various buses, so they of course do support LFB.
But software support for this use case seems rare, indeed.

Nie rzucim ziemi, skąd nasz root!

Reply 26 of 63, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I may misremember it, but I think that UniVBE can enable VBE and LFBs on ISA/VLB/PCI VGA cards.
Provided that they have 512 KB or more Video RAM.
For some reason, UniVBE is a bit discriminatory and refuses to support any 256 KB SVGAs,
despite them being able to do certain VBE modes with their own VBE utilities.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 27 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

On my 386sx with 16mb ram LFB can’t be enabled on a 5434 with UniVbE.

Would be interesting to see benches of ISA LFB on vs off. I normally hear that on ISA no real performance difference.

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 28 of 63, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Marco wrote on 2025-12-26, 15:08:

On my 386sx with 16mb ram LFB can’t be enabled on a 5434 with UniVbE.

Would be interesting to see benches of ISA LFB on vs off. I normally hear that on ISA no real performance difference.

1) Try to set a memory hole in BIOS.
2) Try it with 8 MB RAM.

Reply 29 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Will try. Bios hole can’t be selected in my bios. Therefor B)

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 30 of 63, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie

There were low power 386sx class CPUs that had a 25 bit address 386s and 386sl come to mind

The attachment IMG_8212.jpeg is no longer available
Last edited by rmay635703 on 2025-12-27, 17:55. Edited 1 time in total.

Reply 31 of 63, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie
Marco wrote on 2025-12-26, 15:08:

On my 386sx with 16mb ram LFB can’t be enabled on a 5434 with UniVbE.

Would be interesting to see benches of ISA LFB on vs off. I normally hear that on ISA no real performance difference.

It makes a big difference in Duke3D. Double FPS, where the CPU is not limited. Tested on a Chips 65545.

The application most likely needs to work with VESA drivers, or specically written for LFB, such as Win3.1 drivers.

Reply 32 of 63, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
rmay635703 wrote on 2025-12-27, 06:36:

There were low power 386sx class CPUs that had a 25 bit address 386s and 386sl come to mind

It was the embedded version 386EX. It has 26 bit address space for 64 MB RAM.

Reply 33 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie
MikeSG wrote on 2025-12-25, 15:14:

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.

Duke3D requires a 486 processor. It's very strange that you doubled your FPS in 320x200 and 256 colors using LFB. In this mode, the required video memory is 64 KB, exactly the size of one video buffer page. There should be no difference between linear and paged modes. In higher resolution modes, the ISA bus bandwidth begins to be insufficient. The theoretical ISA bus bandwidth at 8 MHz is 8,000,000 x 2/4 = 4,000,000 bytes per second. For a resolution of 640x480, 307,000 bytes per frame are required. The maximum theoretical FPS will be 13. For 320x200 mode, the maximum FPS is 62. Linear addressing avoids switching video buffer pages, which is a rather slow operation since it requires writing to ports. However, this is only effective when a significant amount of video memory is required, such as at high resolutions or with a large number of colors. In this case, VLB or PCI is still required.

Reply 34 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Indeed I remember that LFB increased slightly 320x200 fps during pcpbench on a pentium 100 using pci vga. For Isa and 386 I would also be surprised about a doubling.

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 35 of 63, by douglar

User metadata
Rank l33t
Rank
l33t
Darmok wrote on 2025-12-27, 12:32:

In higher resolution modes, the ISA bus bandwidth begins to be insufficient. The theoretical ISA bus bandwidth at 8 MHz is 8,000,000 x 2/4 = 4,000,000 bytes per second. For a resolution of 640x480, 307,000 bytes per frame are required. The maximum theoretical FPS will be 13. For 320x200 mode, the maximum FPS is 62. Linear addressing avoids switching video buffer pages, which is a rather slow operation since it requires writing to ports. However, this is only effective when a significant amount of video memory is required, such as at high resolutions or with a large number of colors. In this case, VLB or PCI is still required.

Your math looks good, but your max frame rate only holds true if you redraw every pixel every frame. Games from this era did some tricks to reduce the total number of pixels that had to be drawn for each frame. Nothing like mpeg, but things like the hud and borders were not redrawn every frame. Could linear addressing help the game identify unchanged pixels?

Reply 36 of 63, by Tiido

User metadata
Rank l33t
Rank
l33t

VESA modes work a bit different in the hardware itself, since VGA modes have a bunch of hardware in the way that go all the way back to EGA times while VESA modes are just framebuffer scanout without any bitplane logic and other EGA/VGA specific things in the way. This is where the increases in performance come from.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 37 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie
Tiido wrote on 2025-12-27, 13:50:

VESA modes work a bit different in the hardware itself, since VGA modes have a bunch of hardware in the way that go all the way back to EGA times while VESA modes are just framebuffer scanout without any bitplane logic and other EGA/VGA specific things in the way. This is where the increases in performance come from.

LFB isn't suitable for real-mode games because it requires 32-bit addressing. In the case of DOS, these are games with a DOS extender. In most cases, these are 3D shooters. To improve performance, the developers used planar modes to avoid the overhead of bit planes. Planar VGA modes are similar to planar VESA modes. There shouldn't be a significant difference in FPS. Perhaps VESA modes are better optimized in the game code.

Reply 38 of 63, by AlexZ

User metadata
Rank Oldbie
Rank
Oldbie

Workaround for 386dx40 is to oc the isa bus to 12Mhz, to get about 50% boost which is significant. It makes some games like Transport Tycoon playable, but not enough for Settlers 2.

Pentium III 900E,ECS P6BXT-A+,384MB,GeForce FX 5600, Voodoo 2,Yamaha SM718
Athlon 64 3400+,Gigabyte GA-K8NE,2GB,GeForce GTX 275,Audigy 2 ZS
Phenom II X4 955,Gigabyte GA-MA770-UD3,8GB,GeForce GTX 780
Vishera FX-8370,Asus 990FX,32GB,GeForce GTX 980 Ti

Reply 39 of 63, by mkarcher

User metadata
Rank l33t
Rank
l33t
Tiido wrote on 2025-12-27, 13:50:

VESA modes work a bit different in the hardware itself, since VGA modes have a bunch of hardware in the way that go all the way back to EGA times while VESA modes are just framebuffer scanout without any bitplane logic and other EGA/VGA specific things in the way. This is where the increases in performance come from.

And this is what s3spdup does: it places the VESA screen buffer at the standard addresss A000:0000, so while real mode VESA games still need to do bank switching, they get the "direct video memory access" bonus you would otherwise only get using the LFB.