Dosbox-staging: [Azrael Tears] not enough "real mode" memory?

Created on 25 Aug 2020  路  6Comments  路  Source: dosbox-staging/dosbox-staging

During the launch process of that game there's a "system check" to ensure you have CD in tray, VESA and enough memory. Game is configured with 16MB of _extended_ memory (memsize = 16). Same behaviour with 32 or even 64MB. Game looks happy with that however it complains about the "_real mode_" memory (_conventional_ I suppose) to be quite low. I can hit a key and game will launch no problem yet I wonder why such message.

Hereafter a capture (in french) of what's going on. Basically game expects 520KB or more of such _real mode_ memory but found only 303KB:

Azrael's Tear : v1.0
(c) 1993-1996 Intelligent Games Limited.
Conception originale Copyright (c)1993 Ken Haywood.  Tous droits reserves.

Debut de la validation du systeme.....

Souris :  Gestionnaire localise                      -OK-
VESA:     Gestionnaire localise                      -OK-
CD:       Lecteur de CD valide.                      -OK-
Ressources : Impossible de localiser le ressources   -ERREUR-
D:\french\

Memoire etendue: 100KB
[snip]
Memoire etendue: 15356KB

Mode reel: 303KB.

Memoire : AVERTISSEMENT - La memoire disponible est faible.
          Azrael's Tear est concu pour fonctionner avec au moins
          3 000 Ko de memoire etendue/paginee, et and 520 Ko de
          memoire en mode reel. Avec moins de memoire, une erreur systeme
          peut intervenir, et le jeu peut etre interrompu.

Note: I'm relying on DOS/32A for that game. Also I've tried with various LOADFIX values without any success (eg. loadfix -128).
Note2: might be related to #255.

Question: is there a specific command or trick to get rid of the above message? I'm a bit surprised to see such low amount of _conventional_ memory being detected.

Thanks!

question

All 6 comments

I don't see any of those messages; maybe I'm launching it differently?

Local settings:

[cpu]
core=dynamic
cycles = 120000

Launch batch file:

@echo off
imgmount d cd\azreal.cue -t iso
cd azrael
r.exe
mount -u d

I've also replaced DOS/4GW with DOS/32A inside the main executable:

file r.exe: MS-DOS executable, LE executable for MS-DOS, DOS/32A DOS extender (embedded)`

Should have shared my .conf earlier... apologize for that ;-( I do rely on another executable to run the game. In fact it's via a batch which in turns run TM.EXE (as per the manual). I do confirm that both this .EXE as well as the R.EXE have been replaced with DOS/32A. I'll try with R.EXE.

[dosbox]
machine = svga_s3
memsize = 32

[cpu]
cycles = 110000

[sblaster]
sbtype  = none
oplmode = none

[gus]
gus      = true
ultradir = u:\ultrasnd

[joystick]
joysticktype  = none

[autoexec]
imgmount d /home/pi/RetroPie/roms/pc/isos/azrael/azraelt.iso -t iso
mount c /home/pi/RetroPie/roms/pc/games
mount u /home/pi/RetroPie/roms/pc/utils
C:
CD AZRAEL
CALL AZRAEL.BAT
EXIT

Maybe tm.exe is test (memory?), and r.exe is run?

Even so, that doesn't explain why the test executable seems to get an incorrect memory count.

Maybe it has some bugs? I wonder what it does on real hardware with similar amounts of free memory?

Maybe tm.exe is test (memory?), and r.exe is run?

=> sounds about right ;-) I've always used azrael.bat but game runs no problem with r.exe indeed (without those checks).

Even so, that doesn't explain why the test executable seems to get an incorrect memory count.

=> correct. That potential issue above reminded of a similar issue with UAKM (#255). Could be related to PI platforms only? If Azrael's Tears launcher is doing the math properly then 303KB of available conventional looks pretty to me. Off top of my head DOSbox should manage automatically that memory (please keep me honest) hence such memory-related issues looks weird - so that ticket :-)

Would you like me to close that one off and continue under #255? Or just to close it off?

Here's what I get when running on the Pi3 and x86-64; I wonder if your French version has functional differences versus the English version (despite them both reporting 1.0)?

2020-08-26_09-23

I did try with the English version of the game, reinstalling everything and it went ok. Then I got my hands on another french version (with different sha1) and gave it a try. No more issue. I eventually start over again with my first french version and... it worked.

TL;DR: if you patch tm.exe with DOS/32A then the error will show up. This extender is likely confusing the executable. If you patch only r.exe everything will work just fine, no more error, in french and with DOS/32A enabled.

I've updated the wiki to reflect this finding. Apologize for the time waste (again) and for your helpful comments and assistance.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dreamer picture dreamer  路  3Comments

dreamer picture dreamer  路  5Comments

dreamer picture dreamer  路  5Comments

LowLevelMahn picture LowLevelMahn  路  6Comments

bryc picture bryc  路  5Comments