On Mon, 2025-05-12 at 02:03 +0200, Eric Auer via Freedos-devel wrote:
> 
> Hi!
> 
> > i posted the error and a screen shot of it in the kernel issues
> > thing
> > https://github.com/FDOS/kernel/issues/205
> 
> Let me type this screenshot message over and comment on it:
> 
> Immediately after loading the "Use!UMBs" Upper Memory Block Manager
> which "Works on any PC/XT/AT, either with or without Extended or
> Expanded Memory" (Marco van Zwetselaar, public domain 1991, v2.2)
> there is a message:
> 
> Invalid Opcode at 9063 E602 0046
> 15A3 C70D 6B06 3705 8B00
> FC46 463B 75F0 3B05 F27E
> dos mem corrupt, first_mcb=02b6
> prev  9fbf:0000 | 4d 08 00 40  46 00 00 00  53 43 00 00  00 00 00 00
> notMZ e600:0000 | 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
> 
> PANIC: MCB chain corrupted
> System halted
> 
> Some context from RBIL:
> 
> Format of DOS memory control block:
> Offset  Size    Description     (Table 01628)
>   00h    BYTE    block type: 5Ah if last block in chain, otherwise
> 4Dh
>   01h    WORD    PSP segment of owner or special flag value (see
> #01629)
>   03h    WORD    size of memory block in paragraphs
>   05h  3 BYTEs   unused by MS-DOS
> ...
>   08h  8 BYTEs   ASCII program name if PSP memory block or DR DOS
> UMB,
>                    else garbage
>                  null-terminated if less than 8 characters
> 
> Notes:  the next MCB is at segment (current + size + 1)
>          under DOS 3.1+, the first memory block is the DOS data
> segment,
>            containing installable drivers, buffers, etc.  Under DOS
> 4.0+ 
> it is
>            divided into subsegments, each with its own memory control
> block
>            (see #01633), the first of which is at offset 0000h.
>          for DOS 5+, blocks owned by DOS may have either "SC" or "SD"
> in 
> bytes
>            08h and 09h.  "SC" is system code or locked-out inter-UMB
> memory,
>            "SD" is system data, device drivers, etc.
> ...
> 
> (Table 01629)
> Values for special flag PSP segments:
>   0000h  free
> ...
>   0008h  belongs to DOS
> ...
> 
> Format of MS-DOS 5+ UMB control block:
> Offset  Size    Description     (Table 01630)
>   00h    BYTE    type: 5Ah if last block in chain, 4Dh otherwise
>   01h    WORD    first available paragraph in UMB if control block at
> start
>                    of UMB, 000Ah if control block at end of UMB
>   03h    WORD    length in paragraphs of following UMB or locked-out
> region
>   05h  3 BYTEs   unused
>   08h  8 BYTEs   block type name: "UMB" if start block, "SM" if end 
> block in UMB
> 
> So what do we see here? A non-last MCB starting at 9fbf:0 with
> special
> flag value 08 (belongs to DOS) and code "SC" which means "locked-out
> inter-UMB memory". Size is 4640 paragraphs and DOS expects the next
> block, which WOULD be the one of the first UMB area, at e600:0, but
> as you can see, there are only a bunch of 00 bytes here. This could
> mean that there is no writable memory at that place or that something
> else is using the memory, which had the effect of overwriting the MCB
> with 00 bytes. Maybe you have some controller buffer at the address?
> 
> What exactly is the hardware on which you are running this?
> 
Just a M218 
https://theretroweb.com/motherboards/s/pcchips-m218
> Do I understand you correctly that it worked with SvarDOS DR DOS
> kernel on the same hardware? Do you load the same drivers there?
yes correct
> If not, which drivers do you load in SvarDOS and which drivers
> do you load in FreeDOS? Does it help to load fewer drivers? :-)
same drivers
> 
> You could copy-paste the output of MEM /DEBUG or MEM /FULL for
> both FreeDOS and SvarDOS DR-DOS, so we can compare. Of course
> without loading that UMB thing in FreeDOS, as it would crash.
> 
ok! >:3 i will! 
fdos mem /debug
Conventional Memory Detail:

Segment       Total            Name          Type
-------  ----------------  ------------  -------------
  0000      1,024    (1K)                interrupt vector table
  0040        768    (1K)                BIOS data area
  0070      9,264    (9K)  IO            system data
                             NUL         system device driver
                             CON         system device driver
                             PRN         system device driver
                             AUX         system device driver
                             LPT1        system device driver
                             LPT2        system device driver
                             LPT3        system device driver
                             COM1        system device driver
                             COM2        system device driver
                             COM3        system device driver
                             COM4        system device driver
                             CLOCK$      system device driver
                             A: - F:     system device driver
  02b3     15,968   (16K)  DOS           system data
  02b5        192    (0K)    FILES       FILES=16 (3 in this block)
  02c2      6,320    (6K)    LTEMM       device driver
                               EMMXXXX0  installed DEVICE=LTEMM
  044e      1,648    (2K)    FDXMS286    device driver
                               XMSXXXX0  installed DEVICE=FDXMS286
  04b6      4,016    (4K)    NNANSI      device driver
                               CON       installed DEVICE=NNANSI
  05b2        480    (0K)    FILES       FILES=16 (8 in this block)
  05d1      1,152    (1K)    LASTDRV     LASTDRIVE=M
  061a      2,048    (2K)    STACKS      data area
  069a        112    (0K)  4DOS          data area
  06a2      3,984    (4K)  4DOS          program
  079c      1,024    (1K)  4DOS          environment
  07dd        448    (0K)                free
  07fa        912    (1K)  FDAPM         program
  0834        704    (1K)                free
  0861      4,144    (4K)  CLOCK         program
  0965      3,088    (3K)  CTMOUSE       program
  0a27      3,968    (4K)  EXP16         program
  0b20        768    (1K)  MEM           environment
  0b51     54,944   (54K)  MEM           program
  18bc    553,008  (540K)                free

Upper Memory is not accessible

Memory Type        Total       Used       Free
----------------  --------   --------   --------
Conventional          639K        44K       595K
Upper                   0K         0K         0K
Reserved              385K       385K         0K
Extended (XMS)     15,232K        64K    15,168K
----------------  --------   --------   --------
Total memory       16,256K       493K    15,763K

Total under 1 MB      639K        44K       595K

Total Expanded (EMS)                2,048K (2,097,152 bytes)
Free Expanded (EMS)                 1,776K (1,818,624 bytes)

Memory accessible using Int 15h         0K (      0 bytes)
Largest executable program size       594K (607,968 bytes)
FreeDOS is resident in the high memory area.


drdos mem /debug output
Conventional Memory Detail:

Segment       Total            Name          Type
-------  ----------------  ------------  -------------
  0000      1,024    (1K)                interrupt vector table
  0040        768    (1K)                BIOS data area
  0070      2,736    (3K)  IO            system data
                             CON         system device driver
                             AUX         system device driver
                             PRN         system device driver
                             CLOCK$      system device driver
                             A: - F:     system device driver
                             COM1        system device driver
                             LPT1        system device driver
                             LPT2        system device driver
                             LPT3        system device driver
                             COM2        system device driver
                             COM3        system device driver
                             COM4        system device driver
  011b     23,136   (23K)  DOS           system code
                             NUL         installed DEVICE=DOS
                             CON         installed DEVICE=DOS
                             XMSXXXX0    installed DEVICE=DOS
                             EMMXXXX0    installed DEVICE=DOS
  06c2         80    (0K)  4DOS          data area
  06c8      3,984    (4K)  4DOS          program
  07c2      1,024    (1K)  4DOS          environment
  0803        368    (0K)                free
  081b        912    (1K)  FDAPM         program
  0855        624    (1K)                free
  087d      4,144    (4K)  CLOCK         program
  0981      3,088    (3K)  CTMOUSE       program
  0a43        640    (1K)                free
  0a6c      3,968    (4K)  EXP16         program
  0b65        688    (1K)  MEM           environment
  0b91     54,944   (54K)  MEM           program
  18fc    551,984  (539K)                free

Upper Memory is not accessible

Memory Type        Total       Used       Free
----------------  --------   --------   --------
Conventional          639K        45K       594K
Upper                   0K         0K         0K
Reserved              385K       385K         0K
Extended (XMS)     15,232K        64K    15,168K
----------------  --------   --------   --------
Total memory       16,256K       494K    15,762K

Total under 1 MB      639K        45K       594K

Total Expanded (EMS)                2,048K (2,097,152 bytes)
Free Expanded (EMS)                 1,776K (1,818,624 bytes)

Memory accessible using Int 15h         0K (      0 bytes)
Largest executable program size       593K (606,944 bytes)
DR-DOS is resident in the high memory area.


> Does that UMB driver have command line options which you could
> use to exclude for example the (problematic?) area e600 to e7ff?
it should beable to but it is fine the e600 to e7ff is fine
> 
> Regards, Eric
> 
> PS: Somebody may want to add some of the above to that bug ticket.
> 
> 
> 
> 
> 
> _______________________________________________
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel

-- 
founder of yellow rose group 💛️


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to