Mailing List Archive

[memdisk] collision between memdisk and emm386 (FreeDOS)
Hi

I'm using memdisk as part of CD Shell' isolinux. I've created custom floppy
disk image 8440kB size. I've put FreeDOS kernel and bootsector into the
floppy. Boot process goes fine with this command:

isolinux /boot/memdisk initrd=/ximg/fdos.img c=60 h=8 s=36 floppy

The problems begin when I try to run FreeDOS memory manager emm386 from the
floppy image.

my config.sys:

...
1?DEVICE=HIMEM.EXE /VERBOSE
1?DEVICE=EMM386.EXE X=C000-C800 NOEMS /VERBOSE
...

System hangs (freezes) just after emm386 is loaded, leaving all information
about memory (UMB etc.). There is no any error, everything looks like it
loaded OK, but it isn't. I've tried a lot of command line options for
emm386, but no effect.

The strange think is that when I did the same with 2880kB floppy image the
problem completely disappeared! - In that case the only one suspect for me
is MEMDISK, I think it has something with memory (difference between images
size) - but I don't have any idea how memdisk allocates memory and why there
is a collision between emm386 and memdisk??

Any ideas?

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: [memdisk] collision between memdisk and emm386 (FreeDOS) [ In reply to ]
m4mach wrote:
> Hi
>
> I'm using memdisk as part of CD Shell' isolinux. I've created custom floppy
> disk image 8440kB size. I've put FreeDOS kernel and bootsector into the
> floppy. Boot process goes fine with this command:
>
> isolinux /boot/memdisk initrd=/ximg/fdos.img c=60 h=8 s=36 floppy
>
> The problems begin when I try to run FreeDOS memory manager emm386 from the
> floppy image.
>
> my config.sys:
>
> ...
> 1?DEVICE=HIMEM.EXE /VERBOSE
> 1?DEVICE=EMM386.EXE X=C000-C800 NOEMS /VERBOSE
> ...
>
> System hangs (freezes) just after emm386 is loaded, leaving all information
> about memory (UMB etc.). There is no any error, everything looks like it
> loaded OK, but it isn't. I've tried a lot of command line options for
> emm386, but no effect.
>
> The strange think is that when I did the same with 2880kB floppy image the
> problem completely disappeared! - In that case the only one suspect for me
> is MEMDISK, I think it has something with memory (difference between images
> size) - but I don't have any idea how memdisk allocates memory and why there
> is a collision between emm386 and memdisk??
>

EMM386 switches the CPU to V86 mode, so for MEMDISK to work under
EMM386, the memory manager needs to properly emulate INT 15h, AH=87h.
If this isn't done right, MEMDISK will hang.

It's odd, though, that it depends on the size of the disk. That seems
to imply that HIMEM doesn't properly obey the INT 15h memory maps
published by MEMDISK. I think this needs to be discussed with the
FreeDOS people; they probably can also help debug HIMEM/EMM386 in this
context.

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.