VOGONS


Reply 20 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you very much, too! 😁
Personally, I prefer the method where DOS itself sees contingous memory (borrowed from the UMA).
It would allow for several interesting experiments with older software or with old compilers,
that otherwise would run out of memory a bit too soon.
In essence, the usual video framebuffers and Option ROMs do limit that what otherwise would be contingous memory.
Early PCs, like the once popular (-in Europe-) Siruis 1/Victor 9000, had got about 900kiB free to user applications because of this circumstance,
as its video sub system was differently designed. That's why I think CGA and Hercules (or Hercules InColor) are so fascinating, too.
They were *there* (in those days), but don't inherent the same limitations to the user as EGA/VGA do - at least in terms of the framebuffer area/size. 😀

"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 21 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hello everyone!

Do PCem/86Box now finally support 704K of working RAM ?

- I've found a document from 1985 that claims that 704KB were not unusual in an original IBM PC.

Quote: "THIS DRIVER HAS PRIMARY APPLICATION FOR AN IBM PC-1 WITH
THE ORIGINAL ROM BIOS CHIP. A COMMON CONFIGURATION FOR
THIS MACHINE INCLUDES THE ADDITION OF BOTH 256k AND
384k MEMORY EXPANSION BOARDS. THIS COMBINATION CAN
ALLOW UPTO 704k OF RAM TO BE PHISICALLY INSTALLED.

THE MEMORY MAP OF THE IBM PC SUPPORTS WORKING RAM THRU
640k. THE NEXT TWO 64k BLOCKS ARE RESERVED FOR DISPLAY
ADAPTOR MEMORY. UNLESS AN EXTENDED FUNCTION DISPLAY
ADAPTOR, SUCH AS IBM'S "EGA" IS INSTALLED, THE FIRST 64K
BLOCK OF THIS ADDRESS SPACE CAN BE USED AS WORKING RAM.

THE PC'S POWER ON SELF TEST (POST) WILL ONLY TEST AND
THE AMOUNT OF MEMORY INDICATED BY SYSTEM BOARD SWITCHES.
IN A PC-1, THESE SWITCHES CAN ONLY BE USED TO INDICATE
544k. IN NO MODEL WILL THE POST ALLOW THE INITIALIZATION
OF MEMORY GREATER THAN 640k. ADDITIONALLY, THE POST
MEMORY INITIALIZATION CODE IN A PC-1 IS SLOW!

THIS DRIVER PERMITS SETTING THE PC'S SYSTEM BOARD SWITCHES
TO INDICATE LESS THAT THE ACTUAL AMOUNT OF INSTALLED RAM.
A SWITCH SETTING OF 64k EFFECTS THE FASTEST POSSIBLE
COMPLETION OF THE POST."

Source: RAMSET. ASM ; RAMSET.ZIP archive.
Link: http://annex.retroarchive.org/cdrom/nightowl- … 011A/index.html

"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 22 of 32, by superfury

User metadata
Rank l33t++
Rank
l33t++

UniPCemu's Pentium i430fx configuration can now theoretically use the UMBs as RAM(configurable through the i430fx chipset registers), assuming the OS supports it(through a driver that enables the C000-FFFF blocks to be used as RAM).
But it does require a Pentium to POST at all. Although a plain XT BIOS with any CPU can actually be setup for said configuration. It should theoretically boot (although A20 will be enabled by default).

The x87 instruction set can only be emulated through 80286+ FPU exceptions, though.
And EMS on 80386+ using any memory manager.

Edit: Perhaps UMBPCI will work on the i430fx chipset UniPCemu implements. Although it still won't be able to use the A0000-BFFFF(video adapter) memory area due to it being mapped to be used for SMRAM. Although if it in't locked in the BIOS(it isn't used by the i430fx BIOS I tested it with), you might enable access to said RAM block at the cost of losing access to VRAM(and vice versa, with the exception of code fetches) by toggling it's enable bit.
UniPCemu at least, when the SMRAM window is enabled, will always decode to SMRAM for code fetches and (when enabled) data reads/writes. Disabling the data SMRAM access will cause data fetches to access PCI space instead, addressing the video adapter, if it's mapped there.
So it's theoretically possible to map both VRAM and code/data in that space on the i430fx, assuming the driver that handles it supports said functionality.
With all those enabled, including only the video(32K) ROM and BIOS ROM, for a total of 64K+32K=96K UMA ROM space, it should be able to support up to 640K base and 288K UMA space. If leaving the SMRAM disabled, that's still 160K UMA, so 760K of RAM to play with(928K for including SMRAM).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 23 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you very much, I really appreciate it! 😀

The reason why I ask is mainly because of curiosity.
I'd like to test random applications if they are XT compatible in theory.

"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 24 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Especially V20/V30 support would be interesting, because this chips had unique features not found in later x86 processor.

NEC V20 8088 Replacement Processor


What would you pay to upgrade your PC in speed. $400,$500, or even $600? I can
now offer you the NEC V20 8088 chip, complete and ready for installation for a
price well below that. This chip's features include:

(1) Minimum Instruction Time of 250ns
(2) Maximum Addressable Memory - 1 Mb
(3) Abundant Memory Addressing Modes
(4) FULLY IBM 8088 COMPATIBLE (5 MHZ)
(5) 14 x 16 bit register set
(6) 101 Instructions
(7) Instruction set is a superset of the 8086/8088 instruction set
(8) Bit,Byte,Word, and Block operations
(9) Bit field operation instructions
(10) Packed BCD (Binary Coded Decimal) operation instructions
(11) Multiplication/Division instructions execute at 6-8 milliseconds
(12) High speed block transfer instructions (1 Mbytes/sec)
(13) High speed calculation of effective addresses (2 clock cycles/any mode)
(14) Maskable and Non-Maskable Interrupt inputs
(15) IEEE-796 bus compatible interface
(16) FULL 8080 emulation
(17) CMOS technology (saves power consumption)
(18) Standby function


The NEC V20 is a CMOS 16-bit microprocessor with internal 16-bit architecture
and an 8-bit external data bus. The instruction set is a superset of the 8086 /
8088;however, mnemonics and execution times are different. The V20 additionally
has a powerful instruction set including bit processing, packed BCD operations
and high-speed multiplication/division operations. The V20 can also emulate an
8080 and comes with a standby mode that significantly reduces power consumption
and will greatly improve the life of your PC.

Source: V20OFFER.TXT (attached)

"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 25 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Quick update.

I've found a site with an interesting description of the 640k "barrier". 😀
https://www.filfre.net/2017/04/the-640-k-barrier/

"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 26 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Quick update. Found a cool video entitled "How to get more than 640K RAM in a PC or XT".

https://www.youtube.com/watch?v=bdRXqfhpV1Q

Have fun watching! 😃

"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 32, by Battler

User metadata
Rank Member
Rank
Member
Jo22 wrote:

Do PCem/86Box now finally support 704K of working RAM ?

86Box should be able to do that if you use one of the emulated memory expansion cards and configure its size and starting address correctly.

Reply 28 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Battler wrote on 2021-09-21, 09:40:
Jo22 wrote:

Do PCem/86Box now finally support 704K of working RAM ?

86Box should be able to do that if you use one of the emulated memory expansion cards and configure its size and starting address correctly.

Thank you very much! 😄

"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 29 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Quick update. About two years ago, an interesting YT video was published.

Breaking the DOS 640k barrier on 8086 and 80286 systems
https://www.youtube.com/watch?v=Xcc_D7q9bQs

It explaines quite reasonable why it makes sense to go beyond 640KB.

"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 30 of 32, by GloriousCow

User metadata
Rank Member
Rank
Member

MartyPC + GLaBIOS

The attachment 736k.png is no longer available

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 31 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Kudos! Thank you very much! ^^

"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 32 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Quick update. Just noticed that PCem v17 supports 704 KB of RAM for the [8088] Generic XT Clone setting.
While it's not the whole 736 KB that's technically possible under CGA, I think that's fair. 704 KB is neatly aligned to x86 segment borders.

Anyway, just wanted to let you know.
Also thanks to the author for still having included this feature in this final release of old PCem.

I know, making "such a fuss" about those 64 KB of additional memory may seem funny at first glance,
but an XT has no HMA (also ~64KB) like an AT has. So being able to outsource parts of DOS into HMA isn't a choice.

That's why this little extra memory is nice to have.
It allows users to run bigger programs normally, even with a more recent and larger DOS.

"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//