On Mon, 2025-05-12 at 16:42 +0200, tom ehlert via Freedos-devel wrote: > Hallo Herr Eric Auer via Freedos-devel, > > am Montag, 12. Mai 2025 um 02:03 schrieben Sie: > > > > 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? > Nice analysis. on first glance: > > USE!UMB should have checked that this memory is indeed writable. > It seems it's not and that is just a stupid program bug. > > The cool thing is that source is provided, and some genius with too > much time > to spend caould fix this. > > > > > > What exactly is the hardware on which you are running this? > other then "genuine harris 286 @ 25MHz with 16 MB of ram and @ mb of > EMS", how would this help you? ok let me show the mobo https://theretroweb.com/motherboards/s/pcchips-m218 it is this board exactly with lo-tech ems board and it has 16 mb of XMS system ram
> > Tom > > > > _______________________________________________ > 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