Menu

#545 When loading a program with interrupt 21.4B01 the MCB name is not set

0.74
open
nobody
None
1
2021-01-28
2021-01-27
No

This is using Debian's "DOSBox version 0.74-3". The test files can be found in https://ulukai.org/ecm/test/20210127.zip or can be built from https://hg.ulukai.org/ecm/ldebug and https://hg.ulukai.org/ecm/dpmitest

When this debugger is used to load an executable, which it does using interrupt 21h service 4B01h, then the MCB name ends up being wrong. Enter the following from the directory containing the attached files:

dosbox
keyb gr
mount C: .
C:
ldebugx.com lddebugx.com
dm

Expected: Two memory blocks (environment and process) belonging to "LDEBUGX", two belonging to "LDDEBUGX".

Actual result: Four memory blocks belonging to "LDEBUGX".

Similar test with another executable, after switching to drive C: enter:

ldebugx.com dpmimini.com
dm

Expected: Two blocks belonging to "LDEBUGX" and two belonging to "DPMIMINI".

Actual result: Two blocks belong to a name made up of garbage characters. Screenshot of garbage MCB owner name

1 Attachments

Discussion

  • E. C. Masloch

    E. C. Masloch - 2021-01-27

    Apologies, I accidentally put a symlink into the archive instead of the dpmimini.com executable. Fixed in this attachment.

     
  • Qbix

    Qbix - 2021-01-28

    This appears to work correctly in the current code.
    Will check it under linux as well.

     

    Last edit: Qbix 2021-01-28

Log in to post a comment.

MongoDB Logo MongoDB