- move all dialog box sketches from README-wxWindows into gui/wxdialog.h,

commented of course.
This commit is contained in:
Bryce Denney 2002-08-30 06:49:19 +00:00
parent 05daf0d6dc
commit de5daefbb6
2 changed files with 226 additions and 237 deletions

View File

@ -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]
-------------------------------------------------------------

View File

@ -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.
*****************************************************************/