> There is one BIOS call, INT 0x15, AH=0x87 which manages
> moving blocks of data to/from extended memory. DOS
> probes this functions by invoking it. It briefly
> enters protected mode to do the memory move.
>
> DOS 6.22 boots on my machine. What exactly are you
> doing/running on your end? Installing it, running
> something particular, etc?
>
> There is an #if 0 ... #endif bracketing in
> kernel/emulation/soft_int.c, for the INT_Ib()
> funciton. Change it to #if 1. That will hack
> the above call so it returns error. Let me
> know if that solves the problem. If it does,
> something needs fixing in the transition code.
I get a similar problem when trying to use the latest CVS version to
boot a DOS 7 floppy, which worked on earlier versions. The monitor
bails out with an error before it even says Starting Windows 95... (log
included). Changing the #if 0 to an #if 1 as you suggested fixes the
problem, and the disk now boots fine (log of this also included). The
disk has no config.sys or autoexec.bat files, so its not tripping over
HIMEM.SYS or EMM386.EXE or something like that. I did try it with
HIMEM.SYS and it just complains about not having control of the A20 line
and continues booting, no panics or anything. BTW, in case it matters
at all, I'm running linux 2.2.17, but I know DOS 7 worked on at least
linux 2.2.16 as well.
--Brad Martin
Processing command-line options
Opening VM (/dev/plex86)
Processing configuration script plex86.conf
Allocating 4MB of physical memory in VM
Mapping virtualized physical memory into monitor
Zeroing virtualized physical memory
bochs: ips = 1000000
unmapped_c::init: IGNORING unmapped ports
bochs: [cmos] Setting initial clock to: Sun Sep 10 15:46:48 2000
bochs: bx_options.floppy_command_delay = 500
vga construct static
bochs: font_width = 8
bochs: font_height = 16
bochs: default_depth = 24
bochs: waiting for MapNotify
bochs: MapNotify found.
bochs: vga: interval=200000
vga init called
bochs: TTY not used, serial port is not connected
ROM: loading image '../bios/BIOS-plex86-2000_0802a' @ 0xf0000 (65536 bytes)
ROM: loading image '../bios/VGABIOS-elpin-2.40' @ 0xc0000 (32768 bytes)
Setting prescan depth to 3
Initializing plugins
Running VM
bochs: timer0 period set to 18 hz
bochs: CMOS: write reg 14h: value = 05h
bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: vga: io write: 3da: ignoring: feature ctrl & vert sync
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write 3c0: address mode reg=16
bochs: vga: io write 3c0: address mode reg=17
bochs: vga: io write 3c0: address mode reg=18
bochs: vga: io write 3c0: address mode reg=19
bochs: vga: io write 3c0: address mode reg=20
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: *** io read 3c5 case 1: sequencer clocking mode
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
bochs: panic, POWER button turned off.
============ begin VGA text buffer dump ===============
VGA BIOS - Version 2.40
Copyright (C) 1990-2000 Elpin Systems, Inc.
All rights reserved.
Licensed for use with plex86, courtesy of MandrakeSoft.
For information on this or other VGA development products, contact
Elpin Systems at: (800) 723-9038 or www.elpin.com
Starting Windows 95...
Microsoft(R) Windows 95
(C)Copyright Microsoft Corp 1981-1996.
A:\>echo Hello, World!
Hello, World!
A:\>
============ end VGA text buffer dump ===============
[0x105000] = 0x0
Shutting down plugins
bochs: Note: X11: bx_gui_c::exit() not implemented yet.
Unmapping guest physical memory
Tearing down VM
Closing VM
Processing command-line options
Opening VM (/dev/plex86)
Processing configuration script plex86.conf
Allocating 4MB of physical memory in VM
Mapping virtualized physical memory into monitor
Zeroing virtualized physical memory
bochs: ips = 1000000
unmapped_c::init: IGNORING unmapped ports
bochs: [cmos] Setting initial clock to: Sun Sep 10 15:49:42 2000
bochs: bx_options.floppy_command_delay = 500
vga construct static
bochs: font_width = 8
bochs: font_height = 16
bochs: default_depth = 24
bochs: waiting for MapNotify
bochs: MapNotify found.
bochs: vga: interval=200000
vga init called
bochs: TTY not used, serial port is not connected
ROM: loading image '../bios/BIOS-plex86-2000_0802a' @ 0xf0000 (65536 bytes)
ROM: loading image '../bios/VGABIOS-elpin-2.40' @ 0xc0000 (32768 bytes)
Setting prescan depth to 3
Initializing plugins
Running VM
bochs: timer0 period set to 18 hz
bochs: CMOS: write reg 14h: value = 05h
bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: vga: io write: 3da: ignoring: feature ctrl & vert sync
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write 3c0: address mode reg=16
bochs: vga: io write 3c0: address mode reg=17
bochs: vga: io write 3c0: address mode reg=18
bochs: vga: io write 3c0: address mode reg=19
bochs: vga: io write 3c0: address mode reg=20
bochs: *** io read 3c5 case 1: sequencer clocking mode
bochs: vga: io write: 3cf: reg 05: value = 10h
bochs: *** io read 3c5 case 1: sequencer clocking mode
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
floppy io: cylinder request != current cylinder
Fatal monitor error caused Panic
Register dump:
CS:0020 SS:0028 DS:0096 ES:0018 FS:0008 GS:43ec
EAX:00000000 EBX:00001784 ECX:00000000 EDX:00000007
ESI:00000020 EDI:00000020 EBP:0000179e ESP:cf271784 EFLAGS:00000046
Stack dump:
Current instruction:
0020.00000866 A0D902 movb 02d9, %al
============ begin VGA text buffer dump ===============
VGA BIOS - Version 2.40
Copyright (C) 1990-2000 Elpin Systems, Inc.
All rights reserved.
Licensed for use with plex86, courtesy of MandrakeSoft.
For information on this or other VGA development products, contact
Elpin Systems at: (800) 723-9038 or www.elpin.com
============ end VGA text buffer dump ===============
[0x105000] = 0x0
Shutting down plugins
bochs: Note: X11: bx_gui_c::exit() not implemented yet.
Unmapping guest physical memory
Tearing down VM
Closing VM