Qbasicnews.com

Full Version: Bochs help... Nathan?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I must run a Windows 1 legacy app in a W2000 machine, so I'm trying Bochs.
I suppose I need to have DOS, Windows 1, and the app installed in a HD image file. How can I make that image? Do i need to have Bochs running to build the image Bochs needs to run Big Grin?
Bochs takes three kinds of images:

1.- Hard Disk Drive image, created by one of the proggies included with the distro.

2.- Floppy Disk Drive image, the good ol' IMG files will do, those compatible with RAWRITE2 and the like. I use WinImage to create/convert mines.

3.- CDROM ISO images. I use WinISO to make them.

Putting files into Bochs means copying them to the emulated hard disk drive. That's a problem 'cause I don't know of an application which allows you to move files from your hard disk to the HDD image, so what I've done is:

1.- Created an HDD
2.- Installed MSDOS on it using 3 IMG files (disk images). There is a button on the Bochs IDE that lets you swap diskettes.
3.- Got a CDROM driver from the internet (there are many) and configured it (y'know, the DEVICE=CDROM.SYS... etc and loading MSCDEX blah blah).
4.- Use WinISO to put everything you want to install in an ISO file and load it up in the emulator.

For example, I put all the apps, games, and Windows versions I wanted to try in the CDROM et voie la. You go to the emu, change to D:, run SETUP Smile

This is my bochs configuration file, if it helps:

Code:
# CONFIG_INTERFACE

config_interface: textconfig

# DISPLAY_LIBRARY
display_library: win32

# ROMIMAGE:
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000

# MEGS
megs: 32

# OPTROMIMAGE[1-4]:
#optromimage1: file=optionalrom.bin, address=0xd0000
#optromimage2: file=optionalrom.bin, address=0xd1000
#optromimage3: file=optionalrom.bin, address=0xd2000
#optromimage4: file=optionalrom.bin, address=0xd3000

# VGAROMIMAGE
vgaromimage: $BXSHARE/VGABIOS-elpin-2.40

# FLOPPYA:  (I've this one as a default)
floppya: 1_44=i:/oldies/a.img, status=inserted

# FLOPPYB:  (Mapped to the actual disk drive A: in my PC)
floppyb: 1_44=a:, status=inserted

# ATA0, ATA1, ATA2, ATA3
# ATA controller for hard disks and cdroms
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9

# ATA[0-3]-MASTER, ATA[0-3]-SLAVE
#
# This is my HDD/CDROM set up, like in a normal PC with two HDDs and 1 CDROM drive:
#
ata0-master: type=disk, path="i:\oldies\c.img", mode=growing, cylinders=4161, heads=16, spt=63
ata0-slave: type=cdrom, path="i:\oldies\d.iso", status=inserted
ata1-master: type=disk, path="i:\oldies\ddrive.img", mode=growing, cylinders=4063, heads=16, spt=63

# BOOT: From the hard disk. Change to boot: floppy to load from floppy (1st time, for ex.)
boot: disk

# IPS:
# Emulated Instructions Per Second.  
# ________________________________________________________________
# 650Mhz Athlon K-7 with Linux 2.4.4/egcs-2.91.66 2 to 2.5 Mips
# 400Mhz Pentium II with Linux 2.0.36/egcs-1.0.3  1 to 1.8 Mips
# 166Mhz 64bit Sparc with Solaris 2.x             approx 0.75 Mips
# 200Mhz Pentium with Linux 2.x                   approx 0.5 Mips
#
# I have a fast PC, this can be handled: 7 Mips
ips: 7000000

# CLOCK:
# This defines the parameters of the clock inside Bochs:
clock: sync=none, time0=local


# FLOPPY_BOOTSIG_CHECK: disabled=[0|1]
floppy_bootsig_check: disabled=0

# LOG:
log: bochsout.txt

# LOGPREFIX:
#logprefix: %t%e%d

# LOG CONTROLS
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
#pass: action=fatal

# DEBUGGER_LOG:
debugger_log: -

# COM1:
#com1: enabled=1, dev=/dev/ttyp9


# PARPORT1:
parport1: enabled=1, file="parport.out"

# SB16:
sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000

# VGA_UPDATE_INTERVAL:
# around 30 Hz here, no need for more.
vga_update_interval: 30000

# using for Winstone '98 tests
#vga_update_interval:  100000

# KEYBOARD_SERIAL_DELAY:
keyboard_serial_delay: 250

# KEYBOARD_PASTE_DELAY:
keyboard_paste_delay: 100000

# FLOPPY_COMMAND_DELAY:
floppy_command_delay: 500

# MOUSE:
mouse: enabled=1

# private_colormap: Request that the GUI create and use it's own
private_colormap: enabled=0

# fullscreen: ONLY IMPLEMENTED ON AMIGA
#fullscreen: enabled=0
#screenmode: name="sample"

# ne2k: NE2000 compatible ethernet adapter
# ne2k: ioaddr=0x240, irq=9, mac=fe:fd:00:00:00:01, ethmod=fbsd, ethdev=en0 #macosx
# ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
# ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
# ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
# ne2k: ioaddr=0x240, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
# ne2k: ioaddr=0x240, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=tun0, script=./tunconfig
# ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=

# KEYBOARD_MAPPING:
keyboard_mapping: enabled=0, map=

# KEYBOARD_TYPE:
#keyboard_type: mf

# USER_SHORTCUT:
#user_shortcut: keys=ctrlaltdel

#=======================================================================
# other stuff
#=======================================================================
#magic_break: enabled=1
#cmosimage: cmos.img
#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log
#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img
#i440fxsupport: enabled=1
usb1: enabled=1, ioaddr=0xFF80, irq=10
#text_snapshot_check: enable
Thanks!
I'll process all that info on monday at the job.