- move all dialog box sketches from README-wxWindows into gui/wxdialog.h,
commented of course.
This commit is contained in:
parent
05daf0d6dc
commit
de5daefbb6
@ -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]
|
||||
|
||||
-------------------------------------------------------------
|
||||
|
@ -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.
|
||||
|
||||
*****************************************************************/
|
||||
|
Loading…
x
Reference in New Issue
Block a user