VOGONS


First post, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

ripsaw8080 and I were having a discussion about another issue and he mentioned that in DOSBox 0.74, the base amount of free RAM in the Tandy machine type (conventional memory - the amount used by the video buffer) was 608KB. In DOSBox SVN, the base amount of RAM is 624KB. This change fixed several games and reflects the default base RAM available in a 640KB Tandy 1000. Unfortunately, one game it breaks is Might and Magic III with its Tandy graphics mode. MM3 refuses to work on a real Tandy with the Tandy graphics mode selected and 640KB of base memory. Increasing the RAM in the real Tandy to 768KB allows the game to work. The extra RAM is used solely for video and there will be 640KB base memory available. Apparently MM3 requires the base memory to be a multiple of 32KB. As the color is the same with the EGA mode, which has no such difficulties, this is more of a note for any future compatibility issues.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 2 of 7, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie

While another title that specifically lists a 768K requirement is Dynamix' 16-color version of Willy Beamish, far more games require a system to have the the 128K video memory expansion simply given the lack of conventional memory available otherwise.

Reply 3 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I mentioned M&M3 because its issue is different than the MCB issue that affects Railroad Tycoon on the Tandy machine type, and so far I have found no other game in the same situation. For example, MicroProse's Lightspeed and Hyperspeed worked on the Tandy machine type with 608K available in 0.74, and are now crashing in SVN with 624K available, but they work with 624K available if MCBs are coalesced. Although the 624K available provides more conventional memory, it requires that programs be mindful of the fact that not all of the video memory area is "reserved".

Because LOADFIX allocations can't create the same effect, I made a small program to reduce the BIOS and DOS available memory by 16K for those games that worked in 0.74 with 608K available but are not working with 624K available in SVN. It may also help M&M3 on real Tandy systems with only 640K installed.

Attachments

  • Filename
    minus16k.zip
    File size
    145 Bytes
    Downloads
    72 downloads
    File license
    Fair use/fair dealing exception

Reply 4 of 7, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

This program did not help me, I think the game complained about having too little DOS memory, but the error message was too quick to read before I got booted back to a DOS prompt. I think it did not help that I was running MS-DOS 6.22, which consumes 60KB of conventional memory without anything else loaded. The program left me with 548KB, which I would think is not enough to run MM3.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 5 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Oh well, real Tandy systems would have been a bonus, but of course the program was designed for DOSBox. M&M3 does not appear to be conflicting with the graphics memory area, so reserving that memory doesn't really target its issue. In conflicts with the graphics memory, DOSBox will typically hang in an endless loop when the MCB chain is destroyed, requiring external termination, so that specific problem can be easily recognized.

Reply 6 of 7, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I have come to the conclusion that DOSBox's memory management with the Tandy machine type is superior to any real Tandy 1000 with Tandy video. DOSBox SVN provides an impressive 616KB to the Tandy machine type and 632KB to the other machine types (with the exception of the pcjr). With mouse driver and CD-ROM support, can DOSBox really take up only 18KB of conventional memory? I believe that DOSBox is using the High Memory Area for its extra 64KB to load much of its DOS kernel, drivers and command line interpreter.

That puts it better than real hardware. No Tandy 1000 with Tandy video, not even ones with a 286, could support HMA. These systems only have 8-bit slots and thus have no place to access the A20 line. None can be upgraded beyond 640KB or 736KB, and the last 128KB of the latter is used strictly for video. So a memory upgrade to add an HMA area would require a great deal of modding.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 7 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

DOSBox does not enable the HMA by default, only software like HIMEM.SYS or the like will do that. DOSBox has RAM in the C800-CFFF segment range (occupied by HD controller BIOS and others on real systems) that is used as the "DOS private area" for tables and other data, leaving more conventional memory available. Because the memory is writable, misbehaving software can wipe out the data there and cause issues, e.g. Colony Wars 2492.