diff --git a/bochs/README-wxWindows b/bochs/README-wxWindows index 6ae758333..b3db4a6c2 100644 --- a/bochs/README-wxWindows +++ b/bochs/README-wxWindows @@ -255,239 +255,3 @@ seems to be in ReadMailcap, src/unix/mimetypes.cpp in wxwindows sources src/unix/mimetype.cpp:2312 SOLUTION: compile with -pthread on every compile and link line. - - ---------------------------------------------------------------------------- -Here are some quick ASCII sketches of what different parts of the interface -look like. Nothing is implemented yet, and everything is open for debate. -Whoever writes the wxwindows code for any of these screens gets several -thousand votes. - - -Menus: -- Configuration - +----------------------+ - | New Configuration | - | Read Configuration | - | Save Configuration | - +----------------------+ - | Quit | - +----------------------+ -- Edit - +----------------------+ - | Disks... | - | Boot -----------> Floppy, Hard disk, or Cdrom - | VGA... | - | Memory... | - | Sound... | - | Networking... | - | Keyboard... | - | Other... | - +----------------------+ -- Simulate - +----------------------+ - | Start | - | Pause/Resume | - | Stop | - +----------------------+ - | Speed... | - +----------------------| -- Debug - +----------------------| - | Show CPU | - | Show Memory | - | ? what else ? | - +----------------------| -- Event Log - +----------------------+ - | View | - | Preferences... | - | By Device... | - +----------------------+ -- Help - +----------------------+ - | About Bochs... | - +----------------------+ - -What should show up on the control panel when it first comes up? -I think the standard thing should be to choose a configuration and -start simulating. - - -ChooseConfigScreen: -+--------------------------------------------------------+ -| | -| Choose a configuration for the Bochs simulator: | -| | -| +---+ | -| | O | DLX Linux Demo | -| | | | Boot 10MB Hard Disk | -| +---+ | -| | -| +---+ | -| | O | Redhat Linux Image | -| | | | Boot 10MB Hard Disk | -| +---+ | -| | -| +---+ | -| | O | FreeDOS | -| | | | Boot 40MB Hard Disk | -| +---+ | -| | -| | -| ?? Create new configuration | -| | -| | -| [ | -+--------------------------------------------------------+ - -ConfigDisksScreen: -+---------------------------------------------------------------+ -| | -| /----+ | -| |= =| A Drive +----+ | -| [ ] | __ | Raw Floppy Drive |Edit| | -| || || A: +----+ | -| ++--++ | -| | -| /----+ | -| |= =| B Drive +----+ | -| [ ] | __ | Floppy Disk Image |Edit| | -| || || C:\Bochs\Images\A.img +----+ | -| ++--++ | -| | -| +-----+ C Drive | -| |=====| Hard Disk Image +----+ | -| [BOOT] | o| C:\Bochs\Images\HD30meg.img |Edit| | -| +-----+ +----+ | -| | -| ___ | -| / \ D Drive +----+ | -| [ ] | O | ISO CD Image |Edit| | -| \___/ C:\Bochs\Images\BootCD.img +----+ | -| | -| | -+---------------------------------------------------------------+ - -EditFloppyScreen: (DONE) -+-----Configure Floppy Drive A----------------------------------+ -| | -| Bochs can use a real floppy drive as Disk A, or use an | -| image file. | -| | -| [X] Physical floppy drive A: | -| [ ] Physical floppy drive B: | -| [ ] Disk image file: [________________________] [Browse] | -| | -| What is the capacity of this disk? [1.44 MB] | -| | -| Hint: To create a disk image, choose the name and capacity | -| above, then click Ok. | -| | -| [ Help ] [ Cancel ] [ Ok ] | -+---------------------------------------------------------------+ - -EditHardDisk: -+-----Configure Hard Disk-------------------------------------------+ -| | -| Disk image: [______________________________] [Browse] | -| Geometry: cylinders [____] heads [____] sectors/track [____] | -| Size in Megabytes: _____ | -| | -| [ Help ] [ Cancel ] [ Ok ] | -+-------------------------------------------------------------------+ - -EditCdrom: -+-----Configure CDROM-----------------------------------------------+ -| | -| [ ] Use physical CD-ROM drive [_____________] | -| [ ] Use disk image [________________________] [Browse] | -| | -| [ Help ] [ Cancel ] [ Ok ] | -+-------------------------------------------------------------------+ - -ConfigVgaScreen: -FIXME - -ConfigMemoryScreen: -romimage: file=bios/BIOS-bochs-latest, address=0xf0000 -megs: 32 -vgaromimage: bios/VGABIOS-elpin-2.40 -FIXME - -ConfigSoundScreen: -sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000 -FIXME - -ConfigNetworkingScreen: -+---------------------------------------------------------------+ -| | -| Bochs can emulate an NE2000-compatible network card. Would | -| you like to enable it? | -| | -| Enable networking? [X] | -| | -| NE2000 I/O address: [ 0x280 ] | -| IRQ: [ 9 ] | -| MAC address: [ b0:c4:00:00:00:00 ] | -| Connection to the OS: [ Linux Packet Filter ] | -| Physical NIC to use: [ eth0 ] | -| NE2000 Debug messages: [ ] | -| | -+---------------------------------------------------------------+ - -ConfigKeyboardScreen: -keyboard_mapping: enabled=1, map=US,France,Germany,Spain -keyboard_type: xt,at,mf -keyboard_serial_delay: 250 - -FIXME - -ConfigOtherScreen: -FIXME - -ConfigSpeedScreen: -explain what the heck ips is -adjust ips with a slider? -FIXME - -EventLogPreferences: -FIXME -panic: action=ignore,report,fatal,ask -error: action=ignore,report,fatal,ask -info: action=ignore,report,fatal,ask -debug: action=ignore,report,fatal,ask - -EventLogPrefByDevice: -FIXME -keyboard panic=ask error=report info=report debug=ignore -vga panic=ask error=report info=report debug=ignore -network panic=ask error=report info=report debug=ignore -cpu panic=ask error=report info=report debug=ignore -sound panic=ask error=report info=report debug=ignore -etc. for about 20 devices. - -DebugShowCpuRegisters: -show standard cpu registers and state -values will update in real time -this is sort of the start of the debugger interface -when debugging, maybe highlight values that change between sim steps - -DebugShowMemory: -let use choose memory ranges to display -when debugging, maybe highlight values that change between sim steps - - - -LogMsgAskDialog: ---------------------------------------------------------- -Simulation Panic - -Context: Hard Drive -Message: could not open hard drive image file '30M.sample' - - [ ] Don't ask about future messages like this - -[Continue] [Die] [Dump Core] [Debugger] [Help] - -------------------------------------------------------------- diff --git a/bochs/gui/wxdialog.h b/bochs/gui/wxdialog.h index a2fe0ce40..bf873040b 100644 --- a/bochs/gui/wxdialog.h +++ b/bochs/gui/wxdialog.h @@ -1,5 +1,5 @@ //////////////////////////////////////////////////////////////////// -// $Id: wxdialog.h,v 1.10 2002-08-30 06:06:36 bdenney Exp $ +// $Id: wxdialog.h,v 1.11 2002-08-30 06:49:19 bdenney Exp $ //////////////////////////////////////////////////////////////////// // // wxWindows dialogs for Bochs @@ -314,3 +314,228 @@ public: DECLARE_EVENT_TABLE() }; +/************************************************************************** +Everything else in here is a comment! + + + + +//////////////////////////////////////////////////////////////////////////// +// proposed dialogs, not implemented +//////////////////////////////////////////////////////////////////////////// + +Here are some quick sketches of what different parts of the interface +could look like. None of these is implemented yet, and everything is +open for debate. Whoever writes the wxwindows code for any of these +screens gets several thousand votes! + + +//////////////////////////////////////////////////////////////////////////// +// ChooseConfigDialog +//////////////////////////////////////////////////////////////////////////// +The idea is that you could choose from a set of configurations +(individual bochsrc files, basically). When you first install +Bochs, it would just have DLX Linux Demo, and Create New. +As you create new configurations and save them, the list +could grow. ++--------------------------------------------------------+ +| | +| Choose a configuration for the Bochs simulator: | +| | +| +---+ | +| | O | DLX Linux Demo | +| | | | Boot 10MB Hard Disk | +| +---+ | +| | +| +---+ | +| | O | Redhat Linux Image | +| | | | Boot 10MB Hard Disk | +| +---+ | +| | +| +---+ | +| | O | FreeDOS | +| | | | Boot 40MB Hard Disk | +| +---+ | +| | +| ?? Create new configuration | +| | ++--------------------------------------------------------+ + + +//////////////////////////////////////////////////////////////////////////// +// ChooseBootDialog +//////////////////////////////////////////////////////////////////////////// + +This dialog basically lets you choose which disk you want to boot: floppy A, +disk c, or cdrom. The boot selection could be as simple as ++-------------------------------------------+ +| Choose boot drive | +| [ ] Floppy A | +| [X] Hard Disk C | +| [ ] CD-ROM | +| [ ] CD-ROM | +| [ Help ] [ Cancel ] [ Ok ] | ++-------------------------------------------+ +or fancier with icons for the device types, and Edit buttons that +let you go right to the configure screen for that disk drive. ++---------------------------------------------------------------+ +| | +| /----+ | +| |= =| A Drive +----+ | +| [ ] | __ | Raw Floppy Drive |Edit| | +| || || A: +----+ | +| ++--++ | +| | +| /----+ | +| |= =| B Drive +----+ | +| [ ] | __ | Floppy Disk Image |Edit| | +| || || C:\Bochs\Images\A.img +----+ | +| ++--++ | +| | +| +-----+ C Drive | +| |=====| Hard Disk Image +----+ | +| [BOOT] | o| C:\Bochs\Images\HD30meg.img |Edit| | +| +-----+ +----+ | +| | +| ___ | +| / \ D Drive +----+ | +| [ ] | O | ISO CD Image |Edit| | +| \___/ C:\Bochs\Images\BootCD.img +----+ | +| | +| [ Help ] [ Cancel ] [ Ok ] | ++---------------------------------------------------------------+ + +//////////////////////////////////////////////////////////////////////////// +// ConfigNetworkDialog +//////////////////////////////////////////////////////////////////////////// +Edit network settings ++---------------------------------------------------------------+ +| | +| Bochs can emulate an NE2000-compatible network card. Would | +| you like to enable it? | +| | +| Enable networking? [X] | +| | +| NE2000 I/O address: [ 0x280 ] | +| IRQ: [ 9 ] | +| MAC address: [ b0:c4:00:00:00:00 ] | +| Connection to the OS: [ Linux Packet Filter ] | +| Physical NIC to use: [ eth0 ] | +| NE2000 Debug messages: [ ] | +| | +| [ Help ] [ Cancel ] [ Ok ] | ++---------------------------------------------------------------+ + +//////////////////////////////////////////////////////////////////////////// +// ConfigMemoryDialog +//////////////////////////////////////////////////////////////////////////// + +This edits options related to RAM and ROM, similar to the text menu +1. Memory size in megabytes: 4 +2. Name of VGA BIOS image: +3. Name of ROM BIOS image: +4. ROM BIOS address: 0x00000 +5. Name of optional ROM image #1 : +6. optional ROM #1 address: 0x00000 +7. Name of optional ROM image #2 : +8. optional ROM #2 address: 0x00000 +9. Name of optional ROM image #3 : +10. optional ROM #3 address: 0x00000 +11. Name of optional ROM image #4 : +12. optional ROM #4 address: 0x00000 + +//////////////////////////////////////////////////////////////////////////// +// ConfigSoundDialog +//////////////////////////////////////////////////////////////////////////// + +This edits options related to sound blaster emulation, similar to the +text menu +1. SB16 is present: yes +2. Midi file: /dev/midi00 +3. Wave file: /dev/dsp +4. Log file: sb16.log +5. Midi mode: 1 +6. Wave mode: 1 +7. Log mode: 2 +8. DMA timer: 600000 + +//////////////////////////////////////////////////////////////////////////// +// ConfigKeyboardDialog +//////////////////////////////////////////////////////////////////////////// +keyboard related settings + +keyboard_mapping: enabled=1, map=US,France,Germany,Spain +keyboard_type: xt,at,mf +keyboard_serial_delay: 250 +paste delay + +more ambitious: create a button for each key on a standard keyboard, so that +you can view/edit/load/save key mappings, produce any combination of keys +(esp. ones that your OS or window manager won't allow) + +//////////////////////////////////////////////////////////////////////////// +// ConfigTimeDialog +//////////////////////////////////////////////////////////////////////////// + +choose IPS +select starting time for CMOS clock +turn on real time PIT or not + +//////////////////////////////////////////////////////////////////////////// +// OtherOptionsDialog +//////////////////////////////////////////////////////////////////////////// + +everything in the bochsrc that doesn't fit into some other category, +or that is used so rarely (e.g. floppy command delay) that it's not worth +laying out manually in a dialog box. This will probably be done in +sort of a grid with parameter name, and value(editable) in different columns + +//////////////////////////////////////////////////////////////////////////// +// LogOptionsDialog +//////////////////////////////////////////////////////////////////////////// +lets you choose which events you want to write to the log, which you +want to ignore, etc. You can do this at a high level, like + +Event type Action +panic ask +error report +info ignore +debug ignore + +Or when you want more control: + + panic error info debug + ----- ------ ----- ----- +keyboard ask report report report +vga ask report report report +network ask report report ignore +cpu ask report report ignore +sound ask report report ignore + +//////////////////////////////////////////////////////////////////////////// +// CpuRegistersDialog +//////////////////////////////////////////////////////////////////////////// + +this would display the current values of all CPU registers, possibly you can +enable different groups like debug, FPU, MMX registers. Certainly if you +interrupt the simulation, these would be updated. we could update periodically +during simulation if it was useful. If we get the debugger integrated with +wxwindows, you could single step and update the cpu registeres, with regs that +change marked in a different color. Modeless dialog. + +//////////////////////////////////////////////////////////////////////////// +// ViewMemoryDialog +//////////////////////////////////////////////////////////////////////////// + +shows portions of memory, in hex or hex+ASCII or disassembled. updates +whenever simulation stops (after single steps for example), or we could +update periodically. Modeless dialog, and there could be many +of them at once, showing different regions of memory. + +//////////////////////////////////////////////////////////////////////////// +// DebugControlDialog +//////////////////////////////////////////////////////////////////////////// +has buttons for most common debugger commands such as step, breakpoint, +display registers, or whatever. + +*****************************************************************/