VOGONS


First post, by jedikwon

User metadata
Rank Newbie
Rank
Newbie

Hello. I have an IBM AT 5170 6MHz model with this unknown memory board.

I've been trying to find information about this board for a while but no luck. So I ended up testing all the possible combination of the 2 DIP switches you can see on the picture.

002.jpg
Filename
002.jpg
File size
935.97 KiB
Views
523 views
File license
CC-BY-4.0
003.jpg
Filename
003.jpg
File size
951.4 KiB
Views
523 views
File license
CC-BY-4.0

I am still working on it but found a combination witch gives me 1536 KB at the initial memory count.

In GSETUP, I set 512k for base memory and 1024k for expansion memory.

What I really want to do is to set 640k for base memory and 896k for expansion memory but initial memory count only detects 512k with an error, 080000 FFFE 201, when I set 640k base memory in gsetup.

So I have no choice but using 512k/1024k like below.

001.png
Filename
001.png
File size
1.19 MiB
Views
523 views
File license
CC-BY-4.0

In this status, I cannot run many games due to lack of conventional memory.

Is there anyway I can use that free XMS as conventional memory?

Reply 1 of 7, by vstrakh

User metadata
Rank Member
Rank
Member
jedikwon wrote on 2023-07-09, 06:39:

So I ended up testing all the possible combination of the 2 DIP switches you can see on the picture.

All 1024 combinations? 😀

Reply 2 of 7, by jedikwon

User metadata
Rank Newbie
Rank
Newbie
vstrakh wrote on 2023-07-09, 06:52:
jedikwon wrote on 2023-07-09, 06:39:

So I ended up testing all the possible combination of the 2 DIP switches you can see on the picture.

All 1024 combinations? 😀

Yep. I am making a spreadsheet and testing everything. 🤣

I am about half way done and it mostly gives me 512k only. But some combination gives me 1024k or 1536k. None of them backfills 640k memory though.

**** Just in case you want to see the spreadsheet....

https://docs.google.com/spreadsheets/d/1Aezcv … dit?usp=sharing

Reply 3 of 7, by weedeewee

User metadata
Rank l33t
Rank
l33t

maybe this thread can be of some help/insights
ISA XMS/EMS Memory Extension / Expansion cards: Now Running without Driver / Documentation :-)

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

User metadata
Rank l33t
Rank
l33t
jedikwon wrote on 2023-07-09, 06:39:

Is there anyway I can use that free XMS as conventional memory?

No, extended memory (the hardware term) is different from conventional memory on the hardware level. The key difference is that "conventional memory" has an address you can reach from real mode programs, whereas "extended memory" can only be addressed in protected mode. XMS is a software specification for managing allocations in extended memory and copy data between conventional memory and extended memory. As the memory managed by the XMS driver (HIMEM.SYS) is extended memory, it can not be used as conventional memory on a 286 system. The 386 processor introduced a "virtual 8086 mode" that is a sub-mode of protected mode and allows virtualization of real-mode applications including memory remapping. Tools like QEMM (and possibly EMM386) can backfill in software, but obviously not on a 5170.

Actually, there is a kind of gray area: The first 64K of extended memory can be accessed from real mode given certain limitations. This "hybrid" memory range is called the "high memory area" (HMA), and you are already using it, by moving parts of DOS there. So there is no way to use more XMS from real mode as you currently do.

You already used the correct technical term "backfill" for providing conventional memory using an extended memory board. This is an optional hardware feature on many extended memory boards, and if that board doesn't provide it (I expect you should have found a configuration by yet that would backfill if the board supports it at all), you are stuck with 512K conventional memory.

Reply 5 of 7, by jedikwon

User metadata
Rank Newbie
Rank
Newbie
weedeewee wrote on 2023-07-09, 07:40:

Thank you. I am going to try it. It seems very useful.

Reply 6 of 7, by jedikwon

User metadata
Rank Newbie
Rank
Newbie
mkarcher wrote on 2023-07-09, 07:53:
No, extended memory (the hardware term) is different from conventional memory on the hardware level. The key difference is that […]
Show full quote
jedikwon wrote on 2023-07-09, 06:39:

Is there anyway I can use that free XMS as conventional memory?

No, extended memory (the hardware term) is different from conventional memory on the hardware level. The key difference is that "conventional memory" has an address you can reach from real mode programs, whereas "extended memory" can only be addressed in protected mode. XMS is a software specification for managing allocations in extended memory and copy data between conventional memory and extended memory. As the memory managed by the XMS driver (HIMEM.SYS) is extended memory, it can not be used as conventional memory on a 286 system. The 386 processor introduced a "virtual 8086 mode" that is a sub-mode of protected mode and allows virtualization of real-mode applications including memory remapping. Tools like QEMM (and possibly EMM386) can backfill in software, but obviously not on a 5170.

Actually, there is a kind of gray area: The first 64K of extended memory can be accessed from real mode given certain limitations. This "hybrid" memory range is called the "high memory area" (HMA), and you are already using it, by moving parts of DOS there. So there is no way to use more XMS from real mode as you currently do.

You already used the correct technical term "backfill" for providing conventional memory using an extended memory board. This is an optional hardware feature on many extended memory boards, and if that board doesn't provide it (I expect you should have found a configuration by yet that would backfill if the board supports it at all), you are stuck with 512K conventional memory.

I see. Thank you for your explanation. So I guess I just need to continue testing the switches and hopefully I can find a right combination.

Reply 7 of 7, by mkarcher

User metadata
Rank l33t
Rank
l33t
jedikwon wrote on 2023-07-09, 06:39:

What I really want to do is to set 640k for base memory and 896k for expansion memory but initial memory count only detects 512k with an error, 080000 FFFE 201, when I set 640k base memory in gsetup.

That message is completely expected if you set 640K in gsetup and only 512K is available. This message tells you that the memory past 512K is not working. Don't expect the 5170 POST to auto-detect more conventional RAM than 512K when gsetup is configured to 512K. To find out whether the current switch configuration provides backfill, you either need to run a tool that checks the memory past 512K from DOS, or you need to have 640K in setup all the time and check whether the 201 error disappears.