top of page
  • Writer's picturerehsd

Accessing More RAM

Updated: Jun 23, 2023

I am researching how to add additional RAM to my 286 build. I started by thinking about a memory expansion card for my system.

That has started some great discussion in my the video's comments section. From this, I am learning that I have more to learn. 😁 I plan to use this post to capture my learnings as I go, related to expanding memory in my 286 system.

Tidbits of info....

  • Memory above 1 MB is considered extended memory.

  • DOS, running in real mode, cannot directly access memory above 1 MB.

  • The Extended Memory Specification (XMS) provides DOS a way to indirectly access memory above 1 MB.

  • The FreeDOS XMS driver appears to leverage BIOS INT15H.

  • INT15H would need to switch from real to protected mode, transfer memory, and then switch back. Real-mode interrupts are disabled while the transfer is occurring. The 286 has to shut down when switching back to real mode.

  • LOADALL could be leveraged. LOADALL - Wikipedia

  • I could modify the design of the memory card to support switching between different 64K segments of it, leveraging a register and some decide logic. The active segment would be accessed through a window under 1 MB, such as C0000:CFFFF. This would be similar to how I access my 2 MB of VRAM on my VGA card (where I use A0000:AFFFF). See VGA 640x480 ISA Card (

  • I could combine the 64K window approach from the previous bullet with INT15H to emulate XMS access without actually switching to protected mode.

Second Pass

After looking into I have put some thought into a paged setup, possibly inserting a 64KB window at C0000:CFFFF in my 1MB space. With this approach, I moved the decode logic into a PSoC (which are back in stock now...yay!).

More to come...

125 views0 comments

Recent Posts

See All


bottom of page