mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-13 17:48:10 +08:00
MCB dump routine: Show PSP segment and update code to support --boothax msdos if DOSBox-X DOS kernel is inactive
This commit is contained in:
@@ -41,23 +41,28 @@ uint16_t first_umb_size = 0x2000;
|
||||
|
||||
static uint16_t memAllocStrategy = 0x00;
|
||||
|
||||
static void DOS_Mem_MCBdump(void) {
|
||||
uint16_t mcb_segment=dos.firstMCB;
|
||||
void DOS_Mem_MCBdump(void) {
|
||||
uint16_t mcb_segment=dos_kernel_disabled ? guest_msdos_mcb_chain : dos.firstMCB;
|
||||
DOS_MCB mcb(mcb_segment);
|
||||
DOS_MCB mcb_next(0);
|
||||
Bitu counter=0;
|
||||
char name[10];
|
||||
char c;
|
||||
|
||||
if (mcb_segment == 0) return;
|
||||
|
||||
LOG_MSG("DOS MCB dump:\n");
|
||||
while ((c=(char)mcb.GetType()) != 'Z') {
|
||||
if (counter++ > 10000) break;
|
||||
if (c != 'M') break;
|
||||
|
||||
mcb.GetFileName(name);
|
||||
LOG_MSG(" Type=0x%02x(%c) Seg=0x%04x size=0x%04x name='%s'\n",
|
||||
LOG_MSG(" Type=0x%02x(%c) Seg=0x%04x size=0x%04x PSP=0x%04x name='%s'\n",
|
||||
mcb.GetType(),c,
|
||||
mcb_segment+1,mcb.GetSize(),name);
|
||||
mcb_segment+1,
|
||||
mcb.GetSize(),
|
||||
mcb.GetPSPSeg(),
|
||||
name);
|
||||
mcb_next.SetPt((uint16_t)(mcb_segment+mcb.GetSize()+1));
|
||||
mcb_segment+=mcb.GetSize()+1;
|
||||
mcb.SetPt(mcb_segment);
|
||||
@@ -65,8 +70,8 @@ static void DOS_Mem_MCBdump(void) {
|
||||
|
||||
mcb.GetFileName(name);
|
||||
c = (char)mcb.GetType(); if (c < 32) c = '.';
|
||||
LOG_MSG("FINAL: Type=0x%02x(%c) Seg=0x%04x size=0x%04x name='%s'\n",
|
||||
mcb.GetType(),c,mcb_segment+1,mcb.GetSize(),name);
|
||||
LOG_MSG("FINAL: Type=0x%02x(%c) Seg=0x%04x size=0x%04x PSP=0x%04x name='%s'\n",
|
||||
mcb.GetType(),c,mcb_segment+1,mcb.GetSize(),mcb.GetPSPSeg(),name);
|
||||
LOG_MSG("End dump\n");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user