VOGONS


Restrictions of 386(SX?) with 16MB RAM

Topic actions

Reply 40 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Will s3spdup also work on non s3 cards as the changes behind seem applicable to other cards as well?

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 41 of 63, by mkarcher

User metadata
Rank l33t
Rank
l33t
Marco wrote on 2025-12-27, 16:31:

Will s3spdup also work on non s3 cards as the changes behind seem applicable to other cards as well?

No, it will not. It is a specific feature of the supported S3 chips that the "LFB" can be mapped as banked memory at A000:0, circumenting the EGA/VGA logic.

if something like EMM386 is running, and you only target real mode applications, and you know how to interact with the memory manager to remap real-mode pages, you could use an LFB behind-the-scenes, and have the VESA banking routine change the page mapping for A000-AFFF instead. I don't know whether anyone created a TSR like that yet. It's basically the reverse idea of the "virtual linear frame buffer" provided by univbe / SDD, which uses memory management to fake an LFB.

Reply 42 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Oh ok sound interesting. Thanks.

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 43 of 63, by Jo22

User metadata
Rank l33t++
Rank
l33t++

vflat11.zip B 120749 991221 Virtual Flat frame buffer v1.1: LFB emulator

http://archives.oldskool.org/pub/simtelnet/ms … cs/00_index.txt

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

User metadata
Rank Newbie
Rank
Newbie

The LFB concept appeared starting with version VBE2.0. Are there any ISA video cards that natively support VBE2.0 in the BIOS? Furthermore, the game code must also support VBE2.0. Furthermore, VBE2.0 functions can only be used in protected mode. Real-mode games cannot call VBE2.0 functions, meaning they cannot take advantage of LFB, even at buffer address A000-Bfff. Furthermore, all VBE versions lack modes equivalent to VGA modes, so simply replacing the video buffer with a "VESA buffer" is not possible—the game code must know how to use it.

https://web.archive.org/web/20081211174813/ht … ot.nl/vbe20.txt

Reply 45 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Wonder what the virtual LFB driver might do. Will check tomorrow

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 46 of 63, by mkarcher

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

The LFB concept appeared starting with version VBE2.0. Are there any ISA video cards that natively support VBE2.0 in the BIOS? Furthermore, the game code must also support VBE2.0. Furthermore, VBE2.0 functions can only be used in protected mode. Real-mode games cannot call VBE2.0 functions, meaning they cannot take advantage of LFB, even at buffer address A000-Bfff. Furthermore, all VBE versions lack modes equivalent to VGA modes, so simply replacing the video buffer with a "VESA buffer" is not possible—the game code must know how to use it.

https://web.archive.org/web/20081211174813/ht … ot.nl/vbe20.txt

I am thinking about a 256-color VESA 1.2 real-mode game that accesses non-LFB data at A000:0 and uses the VESA 1.2 banking functions to map different parts of the video memory to A000:0. This hypothetical game is not aware of linear framebuffers and VESA 2.0. if the game is running in VM86 mode under control of a memory manager like EMM386 or QEMM, a shim TSR use a VESA 2.0 BIOS to initialize an LFB mode instead, and then tell the memory manager to present a part of the LFB at A000:0. As long as the 256-color game only reads/writes memory, and does not do any Mode-X trickery (you typically don't do that in VESA modes), the VGA "graphics controller" is not required as middleman between that game and the video memory. So if

  • You work with real-mode software
  • The processor is in VM86 mode
  • You know how to change the VM86 mapping of the memory manager (I know how to do it for QEMM)
  • You have a card that supports VBE2.0
  • Your card is faster in the LFB (direct access to the video memory) than at A000:0 (access mediated through the graphics controller)

my idea might actually make sense. This is a lot of ifs, though. Instead of real-mode software with QEMM, the same idea could work with protected-mode software running under a DPMI host that supports user-controlled remapping of the first megabyte.

Reply 47 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie

As my teacher used to say: "It's not easy to understand, it's easy not to understand." So, I tried to understand your idea. If I got something wrong, please correct me.
So, let's say we have a real-mode game that uses VBE1.2. Upon startup, the game will check for VBE1.2 support in the BIOS by calling the appropriate function. If the video card supports VBE2.0, VBE1.2 compatibility mode will be enabled, and the game will be informed of VBE1.2 support. Furthermore, the game can request windows to be installed in video memory to access different parts of it if the required video buffer size is greater than 64 KB. Since VBE is simply a unified interface to the graphics controller hardware, VBE functions will be executed by manipulating the controller registers, including setting the address and size of the requested window. As I understand your idea, to avoid slow register handling, you propose writing a memory-resident utility that would do the following:

1. Intercept all VBE calls made by the game.
2. Notify the game of VBE1.2 support, but actually enable VBE2.0 mode and execute VBE calls, emulating VBE1.2 for the game, switching to protected mode if necessary.
3. Using the memory manager, emulate windowing functions in video memory using a virtual video buffer. Hypothetically, this would be faster than register manipulation.

Not a simple task. However, real LFB mode will still be more performant since it won't call windowing functions. Performance will also depend on the amount of video memory used and the bandwidth of the ISA bus. I tested real LFB in Win95 on a 386DX40 and an OTI-087 ISA at a resolution of 800x600x8bpp. I'd like to interpret the test results in favor of LFB, but I was forced to admit there was no difference with page mode.

I don't understand what you meant by direct access to video memory, bypassing the graphics controller. Looking at a typical video card ISA block diagram, the data bus is connected to the graphics controller, there are FIFO buffers, and then the data goes to the video memory controller within the graphics controller. What does direct access mean?

Reply 48 of 63, by mkarcher

User metadata
Rank l33t
Rank
l33t
Darmok wrote on 2025-12-28, 08:38:
As I understand your idea, to avoid slow register handling, you propose writing a memory-resident utility that would do the foll […]
Show full quote

As I understand your idea, to avoid slow register handling, you propose writing a memory-resident utility that would do the following:

1. Intercept all VBE calls made by the game.
2. Notify the game of VBE1.2 support, but actually enable VBE2.0 mode and execute VBE calls, emulating VBE1.2 for the game, switching to protected mode if necessary.
3. Using the memory manager, emulate windowing functions in video memory using a virtual video buffer. Hypothetically, this would be faster than register manipulation.

You are nearly there. But the point is not "to avoid slow register handling" during bank switching. Switching banks using the memory manager will actually be slower than just writing some values to I/O ports. Most (if not all) memory managers keep the mapping tables (the page tables) in a part of memory that is not visible in VM86 mode, so every page table manipulation has to be done from protected mode, which means every bank switch needs to transisition to protected mode. On the other hand, if the FAR CALL banking method is used (in contrast to calling INT 10, AX=4F05), this allows staying in VM86 all the time.

The point is a different one. Some VGA chips allow faster access to the video memory, if it is performed through the LFB address range than if it is performed through the VGA legacy range at A000:0. On these types of VGA cards, the increased memory performance might well make up for the extra overhead of remapping page tables in protected mode for bank switching. if your VGA card does not have consideratbly higher memory performance in the LFB compared to the legacy address range, the whole idea of my suggestion is pointless.

Darmok wrote on 2025-12-28, 08:38:

I don't understand what you meant by direct access to video memory, bypassing the graphics controller. Looking at a typical video card ISA block diagram, the data bus is connected to the graphics controller, there are FIFO buffers, and then the data goes to the video memory controller within the graphics controller. What does direct access mean?

OK, this explains why you suspected that I want to accelerate banking (which I do not). That point is indeed more difficult to understand. Yes, the ISA bus is connected to a FIFO buffer on any graphics cards that provides reasonable ISA performance (above 2MB/s). There was no FIFO on the original IBM VGA (and the speed was around 800K/s). The original VGA design is inherited from the EGA design, which is perfectly tailored towards an 8-bit bus, while having 32-bit memory on the card. Any 8-bit ISA access on the EGA will access a 32-bit word on the EGA card internally (unless some parts are masked due to configuration registers). What exactly happens with an 8-bit write depends on the configuration of the graphics controller. In the most simple case, the byte is just written to all 4 8-bit pieces of the 32-bit word that are currently configured as "writeable", but to get good performance in 16-color modes on an 8088 system, the graphics controller can do a lot of extra things, like rotating the 8-bit byte from the CPU before it is processed, forward that byte only to certain 8-bit pieces of the 32-bit word, while other 8-bit pieces get a constant 00 or FF, mix the "new content" generated this way with the contents of a 32-bit latch (aka 4 8-bit latches) using logical functions (OR, AND, XOR), and take certain bit positions unchanged from the latches before finally forwarding this data to the memory subsystem of the EGA card.

In the VGA 256-color mode, the graphics controller and memory subsystem are set up in a specific way that happens to make all that logic "invisible" to the normal application (the write bit mask is set to pick all bits from the newly written value, the mixing function is set to ignore latch contents and just use the ISA value, rotation is set to rotate by 0 bits, replacement of bytes by 00 or FF is disabled for all 8-bit pieces, and the 8-bit piece of the 32-bit word is selected from the low two address bits on the ISA bus), nevertheless, these features could technically all be enabled by VGA software (also they are all mostly pointless in 256-color mode except for very special edge cases). So as you see, there still is a quite complex write pipeline, that furthermore is meant to work with only 8 CPU bits at a time, so the card needs to behave as if all 16-bit writes are 2 successive 8-bit writes.

On the other hand, writes to the LFB region can go straigh from the ISA write buffer into the video memory (even merging 8-bit or 16-bit writes to 32-bit writes), bypassing the legacy logic that is not used by typical 256-color VESA applications. The huge performance gain of LFB use on some VGA chipsets thus is from skipping the processing pipeline in the graphics controller, not just from avoiding banking. There may be SVGA chips that can detect that the graphics controller is configured in a "pass-through" way and internally just bypass it, or there might be a control bit that allows bypassing the graphics controller even for accesses at A000-BFFF, which may be set by the VESA BIOS in high-resolution 256-color modes. On these types of cards, my idea would be pointless again. But as proven by S3SPDUP, certain S3 graphics chips are indeed considerably faster on LFB access than they are on accesses to the legacy range, and that's why remapping the "direct video memory access" over the "legacy VGA memory range" can yield a speed up on those chips. My idea was that instead of relying on the graphics chip to be able to present a "direct access to video memory" range at A000:0000 (which S3 chips can do, but it's specific to S3 chips), to use the memory manager to redirect A000:0000 to the fast LFB area that provides "direct access to video memory" (which should work with any graphics card). So this would be something like a "universal S3SPDUP", but obviously only useful if other cards behave like S3 cards in that their LFB is considerably faster than their VGA range in VESA modes. I don't know whether such cards exist at all.

Reply 49 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie
mkarcher wrote on 2025-12-28, 11:06:

You are nearly there.

Thank you very much for the detailed explanation. Now I completely understand your idea.

Vidspeed v3.0 for my OTI-87 with 1 MB of memory shows the following video memory write speed: 6,730,000 bytes per second for all video modes except 1024x768x8bpp, for which the speed is 5,120,000 bytes per second. This is with ISA bus frequency of 40 MHz, which has a theoretical throughput of 7,000,000 bytes per second. LFB is not used, but the actual memory write speed is close to the theoretical ISA bus bandwidth limit. I doubt the speed in LBF mode could be higher.

Reply 50 of 63, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie
Darmok wrote on 2025-12-27, 12:32:
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.

The test was on a 386DX motherboard with a 486 DX4-100 CPU, 16.5MHz ISA bus.

In the Duke3D starting area -
Before VESA LFB (320x200) - approx 25FPS
After VESA LFB (320x200) - approx 50FPS
After VESA LFB (320x400) - approx 25FPS

At any resolution higher than 320x400, performance dropped like a stone similar to non-LFB mode.

A 386SX with a 486SXLC2 CPU can run Duke3D, although poorly, I'd be surprised if there wasn't a big gain specifically on the Chips 65545 at 320x200 - 320x400.

Last edited by MikeSG on 2025-12-28, 13:32. Edited 1 time in total.

Reply 51 of 63, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie
Darmok wrote on 2025-12-28, 12:28:
mkarcher wrote on 2025-12-28, 11:06:

You are nearly there.

Thank you very much for the detailed explanation. Now I completely understand your idea.

Vidspeed v3.0 for my OTI-87 with 1 MB of memory shows the following video memory write speed: 6,730,000 bytes per second for all video modes except 1024x768x8bpp, for which the speed is 5,120,000 bytes per second. This is with ISA bus frequency of 40 MHz, which has a theoretical throughput of 7,000,000 bytes per second. LFB is not used, but the actual memory write speed is close to the theoretical ISA bus bandwidth limit. I doubt the speed in LBF mode could be higher.

Test the vidspeed at 320x200x8bpp... LFB on/off.

Reply 52 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie
MikeSG wrote on 2025-12-28, 12:30:

Test the vidspeed at 320x200x8bpp... LFB on/off.

I can't do this. OTI-087 only supports VBE1.2. LFB is only supported by Windows drivers.

Sorry, I misspelled the ISA bus speed. I meant 14 MHz, of course.

Reply 53 of 63, by mkarcher

User metadata
Rank l33t
Rank
l33t
Darmok wrote on 2025-12-28, 12:28:
mkarcher wrote on 2025-12-28, 11:06:

You are nearly there.

Thank you very much for the detailed explanation. Now I completely understand your idea.

Vidspeed v3.0 for my OTI-87 with 1 MB of memory shows the following video memory write speed: 6,730,000 bytes per second for all video modes except 1024x768x8bpp, for which the speed is 5,120,000 bytes per second. This is with ISA bus frequency of 40 MHz, which has a theoretical throughput of 7,000,000 bytes per second.

Wow, that's a really impressing throughput, which also means your chipset performs well. Actually, getting 6.7MB/s at 14MHz ISA (I saw your later correction) sounds unrealistic, because typically around 10% of the ISA bandwidth is blocked by ISA referesh cycles, so anything above 6.5MB/s looks like a miracle at 14MHz. I suppose by 14MHz you actually mean 14.318MHz, and in this case, 6.7MB/s is more realistic. Nevertheless, are you sure the ISA bus is not running at FSB/5 = 8MHz. 6.7MB/s is a typical performance value for well performing graphics cards and mainboard chipsets at 8MHz. Even at 8MHz ISA, the primary bottleneck at 6.7MB/s is most likely the ISA interface, and not the graphics controller.

So clearly, you will not gain any noticable advantage by using a different way to access video memory. At 1024x768x8bpp, you are hitting the bandwidth limit of the video RAM: The RAM is so busy providing data for screen refresh that it is unable to to take data from the CPU at more than 5.1MB/s. You should be able to observe that the performance in that mode depends on the screen refresh rate.

Reply 54 of 63, by mkarcher

User metadata
Rank l33t
Rank
l33t
MikeSG wrote on 2025-12-28, 12:29:

The test was on a 386DX with a DX4-100 CPU, 16.5MHz ISA bus.

I have some difficulties to parse this statement. I don't know about any clock-tripled processor with the 386DX socket. Did you mean to type 486DX? if you actually mean a clock-tripled processor, like an successor of the TI486SXL2, would you mind pointing out which processor you mean? Running ISA at 33/2 with a clock tripled processor that operates at 33*3 = (around) 100 makes perfect sense again.

MikeSG wrote on 2025-12-28, 12:29:
In the Duke3D starting area - Before VESA LFB (320x200) - approx 25FPS After VESA LFB (320x200) - approx 50FPS After VESA LFB (3 […]
Show full quote

In the Duke3D starting area -
Before VESA LFB (320x200) - approx 25FPS
After VESA LFB (320x200) - approx 50FPS
After VESA LFB (320x400) - approx 25FPS

So this means the performance doubled by using LFB. Do you know whether the "Before VESA LFB" mode is plain mode 13h, or whether it is Mode-X type adressing, which makes the card unable to efficiently process 16-bit ISA cycles? Some games of that era use Mode X for 320x200, because it allows page flipping, while the default 256-color mode does not. Possibly, the doubling of performance you are seeing is due to the shift from Mode-X video memory access to linear video memory access in the VESA mode, and actually not related to the LFB.

Reply 55 of 63, by Darmok

User metadata
Rank Newbie
Rank
Newbie

My 386DX40 is slightly overclocked to 42 MHz. The ISA bus frequency divider is 1/3, so the bus frequency is exactly 14 MHz. Indeed, if you increase the refresh rate to 70 Hz, the memory speed will drop slightly in 1024x768 mode.
To achieve this write speed, I had to tweak a couple of registers in the chipset and video card.

6,730,000 bytes per second = 6.42 MB/s

Last edited by Darmok on 2025-12-28, 14:05. Edited 1 time in total.

Reply 56 of 63, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2025-12-28, 13:13:
I have some difficulties to parse this statement. I don't know about any clock-tripled processor with the 386DX socket. Did you […]
Show full quote
MikeSG wrote on 2025-12-28, 12:29:

The test was on a 386DX with a DX4-100 CPU, 16.5MHz ISA bus.

I have some difficulties to parse this statement. I don't know about any clock-tripled processor with the 386DX socket. Did you mean to type 486DX? if you actually mean a clock-tripled processor, like an successor of the TI486SXL2, would you mind pointing out which processor you mean? Running ISA at 33/2 with a clock tripled processor that operates at 33*3 = (around) 100 makes perfect sense again.

MikeSG wrote on 2025-12-28, 12:29:
In the Duke3D starting area - Before VESA LFB (320x200) - approx 25FPS After VESA LFB (320x200) - approx 50FPS After VESA LFB (3 […]
Show full quote

In the Duke3D starting area -
Before VESA LFB (320x200) - approx 25FPS
After VESA LFB (320x200) - approx 50FPS
After VESA LFB (320x400) - approx 25FPS

So this means the performance doubled by using LFB. Do you know whether the "Before VESA LFB" mode is plain mode 13h, or whether it is Mode-X type adressing, which makes the card unable to efficiently process 16-bit ISA cycles? Some games of that era use Mode X for 320x200, because it allows page flipping, while the default 256-color mode does not. Possibly, the doubling of performance you are seeing is due to the shift from Mode-X video memory access to linear video memory access in the VESA mode, and actually not related to the LFB.

Clock tripled 486 CPU sorry. Intel 486 DX4-100 ODPR in a dedicated socket.

Don't know what the default mode for Duke3D is... The VESA drivers specifically mention LFB and Duke specifically supports VESA... Can't say if anything else is being turned on. Chips also has a Windows 3.1 LFB driver but I don't have that installed to test right now.

Reply 57 of 63, by Jo22

User metadata
Rank l33t++
Rank
l33t++
MikeSG wrote on 2025-12-28, 13:40:
mkarcher wrote on 2025-12-28, 13:13:
I have some difficulties to parse this statement. I don't know about any clock-tripled processor with the 386DX socket. Did you […]
Show full quote
MikeSG wrote on 2025-12-28, 12:29:

The test was on a 386DX with a DX4-100 CPU, 16.5MHz ISA bus.

I have some difficulties to parse this statement. I don't know about any clock-tripled processor with the 386DX socket. Did you mean to type 486DX? if you actually mean a clock-tripled processor, like an successor of the TI486SXL2, would you mind pointing out which processor you mean? Running ISA at 33/2 with a clock tripled processor that operates at 33*3 = (around) 100 makes perfect sense again.

MikeSG wrote on 2025-12-28, 12:29:
In the Duke3D starting area - Before VESA LFB (320x200) - approx 25FPS After VESA LFB (320x200) - approx 50FPS After VESA LFB (3 […]
Show full quote

In the Duke3D starting area -
Before VESA LFB (320x200) - approx 25FPS
After VESA LFB (320x200) - approx 50FPS
After VESA LFB (320x400) - approx 25FPS

So this means the performance doubled by using LFB. Do you know whether the "Before VESA LFB" mode is plain mode 13h, or whether it is Mode-X type adressing, which makes the card unable to efficiently process 16-bit ISA cycles? Some games of that era use Mode X for 320x200, because it allows page flipping, while the default 256-color mode does not. Possibly, the doubling of performance you are seeing is due to the shift from Mode-X video memory access to linear video memory access in the VESA mode, and actually not related to the LFB.

Clock tripled 486 CPU sorry. Intel 486 DX4-100 ODPR in a dedicated socket.

Don't know what the default mode for Duke3D is... The VESA drivers specifically mention LFB and Duke specifically supports VESA... Can't say if anything else is being turned on. Chips also has a Windows 3.1 LFB driver but I don't have that installed to test right now.

There's a Youtube video I'v seen by coincidence that covers both VBE/LFB and Duke Nukem 3D..

https://www.youtube.com/watch?v=Kkok544z61E&t=652s

"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 58 of 63, by Marco

User metadata
Rank Oldbie
Rank
Oldbie

Thanks. I will test it by myself. As stated before I am afraid the difference only will be visible in quite high performing systems. I eg experienced that speed increase back in the days on my p100 with s968.

Anyway tests done on system 1:

PCPBench Vgamode vs Vesa320: same results
Duke3D vgamode vs Vesa320: 12 vs 13-14 smallest window. Could be measurement error range

Notes: LFB was turned on via ON LFB option in SDD. All worked allthough having 16mb installed. Maybe that was a mistake.

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

User metadata
Rank Oldbie
Rank
Oldbie
Marco wrote on 2025-12-28, 19:37:

All worked allthough having 16mb installed. Maybe that was a mistake.

Please test with 8 or 12 MB of RAM.
Note: A 386sx just needs pairs of RAM. If you have 4 banks for 8 modules, try first 2 banks with 1 MB modules and 3rd bank with 4 MB modules. If you have 2 banks for 4 modules, try 4 MB modules in 1st bank and leave 2nd bank blank (or try whether 1 MB modules are recognized for 10 MB).
Thanks in advance.