Common searches

DOSBox-X branch

Topic actions

Reply 1860 of 1866, by pantercat

User metadata
Rank Newbie

Hi, still having same SM bug with 0.82.23 🙁 at least on my system: Debian x64 and dosbox-x compiled with ./build-debug

sm segment:offset af -> byte becomes 00
sm segment:offset bf -> byte becomes BF (OK)
sm segment:offset cf -> byte becomes 00
sm segment:offset df -> byte becomes 00
sm segment:offset ef -> byte becomes EF (OK)
sm segment:offset ff -> byte becomes FF (OK)

Same behaviour with "sm segment offset" syntax.

If you need more details or something you can ask, or if I can do something for fixing it.


Reply 1861 of 1866, by hail-to-the-ryzen

User metadata
Rank Member

It may not be reproducible, but where a large time delay occurs at startup (such as loading cd audio), then sometimes movement of the parent window before the shell loads will lead to a sudden exit.

Reply 1862 of 1866, by pantercat

User metadata
Rank Newbie

Well, I've manage to locate where the problem is.

For anyone interested the following patch will let you write bytes AC, AF, CF and DF in memory.

--- debug.cpp.ORIG	2019-12-01 01:27:21.000000000 +0100
+++ debug.cpp 2019-12-04 13:19:02.243257342 +0100
@@ -1330,10 +1330,6 @@
else if (strncmp(hex, "FS", 2) == 0) { hex += 2; regval = SegValue(fs); }
else if (strncmp(hex, "GS", 2) == 0) { hex += 2; regval = SegValue(gs); }
else if (strncmp(hex, "SS", 2) == 0) { hex += 2; regval = SegValue(ss); }
- else if (strncmp(hex, "AC", 2) == 0) { hex += 2; regval = GETFLAG(AC); }
- else if (strncmp(hex, "AF", 2) == 0) { hex += 2; regval = GETFLAG(AF); }
- else if (strncmp(hex, "CF", 2) == 0) { hex += 2; regval = GETFLAG(CF); }
- else if (strncmp(hex, "DF", 2) == 0) { hex += 2; regval = GETFLAG(DF); }
else if (strncmp(hex, "ID", 2) == 0) { hex += 2; regval = GETFLAG(ID); }
else if (strncmp(hex, "IF", 2) == 0) { hex += 2; regval = GETFLAG(IF); }
else if (strncmp(hex, "NT", 2) == 0) { hex += 2; regval = GETFLAG(NT); }

When I type "SM some:addr XX" I want to write opcode XX in memory, not 0 or 1 based on some flag value for XX=AC, AF, CF or DF.

Patch tested with last dosbox-x release: 0.82.24

Happy debugging 😀

Reply 1863 of 1866, by ripsaw8080

User metadata
Rank DOSBox Author
DOSBox Author

I believe the register/flag name parsing was originally intended to be for SR only, not for SM.

Does it work to write register values into memory (e.g. SM 0000:0200 AX)? If so, it may have been intended as a feature, but the collision between flag names and hex values could have been overlooked.

Reply 1865 of 1866, by TheGreatCodeholio

User metadata
Rank Oldbie

Found a bug in INT 10h AX=101Ah that was fixed for a game.

The function in DOSBox behind it reads the Attribute Controller in a way that leaves the screen blank.

You'd never notice in DOSBox SVN because SVN does not correctly emulate the display blanking caused by attribute controller programming (bit 5).

Prior to the change the function INT10_GetDACPage() was exactly the same in DOSBox-X as it was for DOSBox SVN.


DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1866 of 1866, by Bruninho

User metadata
Rank Oldbie

I actually saw some of the issues on the projects github page, and one of them was a problem to run Photoshop on Win 3.x. Well, I have the same issue. It works for me with DosBox and cputype pentium_slow, but only after 2 or 3 attempts to run the software. Meanwhile, in DosPad, a port of dosbox for iOS, I can’t make it work. Since dospad is a very old port, is full of errors. But at least it runs my games and win 3.x.

I believe the issue (not only for dospad, but also for any version of dosbox including yours) is related to the cpu type.

While on vmware fusion, I can run the software well.

Edit: for what it is worth, I was attempting to run versions 3.0.4 and 3.0.5. All give me the same problem with win32s (even though I had it installed).

I was bfcastello, now I am Bruninho! =]
"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.