Commit Graph

57 Commits

Author SHA1 Message Date
Bryce Denney
7fdc7303c2 - add "void reset(unsigned type)" method to every I/O device.
Some devices already had one.  Some I had to add an empty one.
  I did a little cleaning of init() methods to make them more uniform
  but generally I left them alone.
- I also put these exact diffs into a patch "patch.iodev-add-reset"
  in case I want to revert these changes for some reason, for example
  if they break an old patch.  It should be deleted after a while.
2002-08-27 19:54:46 +00:00
Volker Ruppert
9b6f0f6b3e - in function mouse_motion(): added parentheses to fix compilation problems
with MSVC (SF bug #575301)
- fixed a warning in function periodic(): type of variable 'count_before_paste'
  is now 'unsigned'
2002-06-30 18:08:02 +00:00
Bryce Denney
5744357ffe - I should not have used BX_CPU_THIS_PTR to address the kill_bochs_request
field in the cpu object; it should only be used within cpu methods.
  Instead, use BX_CPU(0)->kill_bochs_request.
2002-06-23 00:01:01 +00:00
Bryce Denney
30aaf4088e - commit patch.wxwindows.gz in the main branch. Now you can try out
the wxwindows interface by just "configure --with-wx; make"

  Modified Files:
    Makefile.in bochs.h config.h.in configure configure.in
    load32bitOShack.cc logio.cc main.cc cpu/cpu.cc cpu/cpu.h
    debug/dbg_main.cc gui/Makefile.in gui/control.cc gui/gui.cc
    gui/siminterface.cc gui/siminterface.h gui/x.cc iodev/cdrom.cc
    iodev/keyboard.cc memory/misc_mem.cc
  Added Files:
    README-wxWindows wxbochs.rc gui/wx.cc gui/wxmain.cc
    gui/wxmain.h gui/bitmaps/cdromd.xpm
    gui/bitmaps/configbutton.xpm gui/bitmaps/copy.xpm
    gui/bitmaps/floppya.xpm gui/bitmaps/floppyb.xpm
    gui/bitmaps/mouse.xpm gui/bitmaps/paste.xpm
    gui/bitmaps/power.xpm gui/bitmaps/reset.xpm
    gui/bitmaps/snapshot.xpm
  Removed Files:
    patches/patch.wxwindows.gz
2002-04-18 00:22:20 +00:00
instinc
86ed327ec9 added keyboard command 0xd2 as well as 0xdd and 0xdf 2002-04-11 00:28:55 +00:00
Bryce Denney
aff6e60d76 - I now believe that Dave's changes in 1.46 are correct and something in
the SMP interrupt handling is to blame.  So I'm putting the 1.46 changes
  back into the code.  Now keyboard.cc is exactly the same as revision 1.51
  again.  A copy of the changes is now in patches/patch.eks-port64 so that
  they can be easily examined by SMP debugging people.
2002-03-27 16:42:54 +00:00
Bryce Denney
ae64b4ccdc - revert changes from revision 1.46 of iodev/keyboard.cc which is causing SMP
boot of linux 2.2.17 to freeze forever.  I don't understand what's being
  done in this rev, so I'll ask Dave to check over it and see he can find
  anything suspicious.
2002-03-27 05:58:25 +00:00
Bryce Denney
b394a44157 - made keyboard_paste_delay a runtime configurable option
- clean up comments & debug msgs in paste code
2002-03-26 14:46:03 +00:00
Bryce Denney
d71c73ed88 - rename TIMER_DELTA to to BX_IODEV_HANDLER_PERIOD. Now that it's a global
define, I wanted it to be a little more descriptive.
2002-03-26 13:59:35 +00:00
Bryce Denney
34e02290eb - apply Christophe's patch.paste-for-dos. I will make minor tweaks as
separate revisions.
2002-03-26 13:51:48 +00:00
Bryce Denney
12a812296d - add comment about BYTES being freed when we're done with it. 2002-03-11 16:25:52 +00:00
Bryce Denney
8125bee908 - commit patch.paste 2002-03-11 15:04:58 +00:00
Volker Ruppert
6aafdccd5e - applied patch from Dave Poirier <eks@void-core.2y.net>
- call lower_irq() after reading port 0x60, not port 0x64
  - RETURN() macro removed
2002-02-23 09:32:49 +00:00
Bryce Denney
fa29b378b4 - commit patch from Dave Poirier to fix
Bug #490570: OUTB set and command 0xaa encountered
2002-02-21 20:26:48 +00:00
Volker Ruppert
ad072e2bc6 - implementation of the edge triggered IRQ mode
- new functions raise_irq() and lower_irq()
- all trigger_irq() / untrigger_irq() calls are replaced by the new functions
- REMARK: timer IRQ handling is not correct but it works
- TODO: IOAPIC IRQ handling needs to be changed
2002-01-29 17:20:12 +00:00
Volker Ruppert
4ed537308c - read access to the status registers clears the IRQs 2002-01-27 00:41:38 +00:00
Volker Ruppert
395ef2f5c7 - obsolete variable 'alt_pressed' removed 2002-01-08 19:00:06 +00:00
Christophe Bothamy
0f6a92235a - updated keyboard with mf1, mf2 and mf3 scancodes set handling
- Added scancode translation table and BX_KEY to scancode table
- completed BX_KEYS list
2001-12-22 00:00:33 +00:00
Volker Ruppert
384d4f1cce - added Windows(tm) keys to the German keymap 2001-12-19 19:15:12 +00:00
Christophe Bothamy
d7482737a9 . Added a keyboard_type option in the conf file
. Modified answer of keyboard controler to a keyboard-identify command
  depending on keyboard_type
. Added the keyboard_type option in bochsrc man page
2001-12-12 10:38:39 +00:00
Bryce Denney
dbf4e8d33e - do not panic on "OUTB set and command 0xaa encountered" 2001-12-08 14:02:57 +00:00
Volker Ruppert
aa297204b0 - setting led status works even if the keyboard is disabled 2001-12-05 20:36:03 +00:00
Volker Ruppert
2102016517 - MF-II identification and some missing keys added 2001-11-26 09:55:30 +00:00
Bryce Denney
ed45dddd21 - Volker Ruppert's fix to keyboard typematic rate 2001-11-14 01:28:53 +00:00
Bryce Denney
daf2a9fb55 - add RCS Id to header of every file. This makes it easier to know what's
going on when someone sends in a modified file.
2001-10-03 13:10:38 +00:00
Todd T.Fries
d5ecddc64c a few output cleanups
make windows not panic bochs when probing for ne2k, still doesn't work though
2001-10-02 18:38:03 +00:00
Gregory Alexander
3ace9e3288 Minor updates to the mouse code that may help with enable/disable problems.
Also fixed a warning in pc_system.h

 Modified Files:
 	main.cc pc_system.h iodev/keyboard.cc iodev/keyboard.h
2001-09-21 02:46:17 +00:00
Bryce Denney
55ed69273b - commit patch from David Haslam <dch@sirius.clara.co.uk>
posted to bochs-developers on Wed, 29 Aug 2001 00:08:45 +0100

  David Haslam wrote:
  > I have been looking at the keyboard problem with Minix, which for
  > those that haven't tried Minix results in every key press giving the
  > response: ^@
  >
  > I am aware of the comments in the changelog that suggest removing 2
  > keyboard ACKs in iodev/keyboard.cc, but this is a bit of a hack,
  > (which is presumably why it was never incorporated).
  >
  > The problem seems to be that the Minix keyboard driver doesn't obey
  > the rules, and Bochs doesn't model the 8042 accurately. When issuing
  > commands to set the LEDs, Minix polls the 8042 output data register
  > waiting for an ACK even though the OBF flag isn't set.
  >
  > Bochs returns zero under these circumstances, which seems to
  > trigger obscure behaviour that messes up the Minix internal
  > keyboard queue. I don't fully understand why Minix breaks, but I
  > think the fact that the ACK generates an interrupt, and Minix treats
  > it as a scan code also has something to do with it.
  >
  > In any case, I believe, the fix is for Bochs to return the output
  > buffer contents, regardless of whether the OBF flag (called outb in
  > Bochs) is set.
  >
  > I expect the real hardware allows the register to be read at anytime,
  > and with this fix we are modelling the behaviour of the hardware more
  > accurately.
  >
  > I have tested it with Minix 2.0.0. Also DOS 6.22 still works after this fix.
  > Does anyone think this will break anything else?
  >
  > This diff is against the latest CVS of iodev/keyboard.cc, version 1.29
  > The last part of the diff is a minor fix to an unrelated debug print.
2001-09-11 16:49:54 +00:00
Todd T.Fries
64ea80c050 more INFO->ERROR/DEBUG cleanups 2001-08-31 22:02:29 +00:00
Gregory Alexander
59d9dbdd98 Another mouse fix. This one changes the model a bit to
act more like a real system.  It has some problems, but
is MUCH better than it was.


 Modified Files:
 	keyboard.cc keyboard.h
2001-08-24 13:48:05 +00:00
Gregory Alexander
6641d17c56 Improve mouse performance/responsiveness.
Modified Files:
 	keyboard.cc slowdown_timer.cc
2001-08-23 13:04:14 +00:00
Todd T.Fries
4f1c151520 Move Init $ to ::init() 2001-06-27 20:27:49 +00:00
Todd T.Fries
f833500359 some reformat, various misc stuff with Init, introduce $ 2001-06-27 20:11:10 +00:00
Todd T.Fries
a06b031dcf setprefix -> put 2001-06-27 19:16:01 +00:00
Bryce Denney
06fb629d85 - backed out patch.kbd-dieter. The patch appears to work on all XFree86
X servers that I've seen, however on other X servers it makes all
  key mappings into absolute junk.  We need to continue to work on this
  patch to support all X servers and all key maps.
2001-06-25 22:57:27 +00:00
Bryce Denney
f6a09136e7 - add left backslash keycode, also suggested by Dieter Mittelmaier 2001-06-25 13:39:10 +00:00
Bryce Denney
ec0fbf18bc - convert nearly all bx_options to parameter form. All options that have
been converted into parameters temporarily have the letter "O" appended
  to their name.  I don't want to keep it this way, but it has helped
  in the conversion process because the compiler refuses to compile the
  old uses of the name.  Before I started using the "O" trick, there were
  many bugs like this:   if (bx_options.diskc.present) {...}
  This was legal with the new parameters, but it was testing whether the
  parameter structure had been created, instead of testing the value of
  the present parameter.  Renaming present to Opresent turns this into
  a compile error, which points out the incorrect use of the param.
- the "--disable-control-panel" no longer works, I'm afraid.  I can no
  longer support this and continue progress.
2001-06-20 14:01:39 +00:00
Todd T.Fries
12985edb26 setprefix now uses a variable length name as a string for an argument 2001-06-19 21:36:09 +00:00
Bryce Denney
c8b87d1f50 - fixed bug that caused mouse events to get through to bochs, even
when mouse was disabled.  It didn't warp the cursor so it was mostly
  just strange, not dangerous.
2001-06-19 04:42:35 +00:00
Bryce Denney
3532885cf2 - set the prefix and type in the constructor 2001-06-16 04:30:17 +00:00
Todd T.Fries
a01a26b399 remove \n 2001-06-13 17:01:36 +00:00
Todd T.Fries
61d13559e9 tweaks here and there, show ne2k mac, shorten BX_ messages by removing redundant strings, etc 2001-06-13 16:53:58 +00:00
Bryce Denney
31d8997bf8 - applied extended keyboard patch by Dave Poirier <eks@void-core.2y.net> 2001-05-31 14:27:37 +00:00
Todd T.Fries
2bbb1ef8eb strip '\n' from BX_{INFO,DEBUG,ERROR,PANIC}
don't need it, moved the output of it into the general io functions.
saves space, as well as removes the confusing output if a '\n' is left off
2001-05-30 18:56:02 +00:00
Todd T.Fries
e291dd17d4 demote BX_INFO to BX_ERROR 2001-05-25 22:17:51 +00:00
Todd T.Fries
9ebd237408 more output cleanup 2001-05-25 18:44:38 +00:00
Todd T.Fries
34a4fa7c67 demote INFO/PANIC to DEBUG to silence a number of w98 verbosity by default 2001-05-25 14:25:25 +00:00
Bryce Denney
af4ccaae3e - added I/O APIC and local APICs
- for more details, see BRANCH-smp-bochs
2001-05-23 07:48:11 +00:00
Todd T.Fries
bdb89cd364 merge in BRANCH-io-cleanup.
To see the commit logs for this use either cvsweb or
cvs update -r BRANCH-io-cleanup and then 'cvs log' the various files.

In general this provides a generic interface for logging.

logfunctions:: is a class that is inherited by some classes, and also
.   allocated as a standalone global called 'genlog'.  All logging uses
.   one of the ::info(), ::error(), ::ldebug(), ::panic() methods of this
.   class through 'BX_INFO(), BX_ERROR(), BX_DEBUG(), BX_PANIC()' macros
.   respectively.
.
.   An example usage:
.     BX_INFO(("Hello, World!\n"));

iofunctions:: is a class that is allocated once by default, and assigned
as the iofunction of each logfunctions instance.  It is this class that
maintains the file descriptor and other output related code, at this
point using vfprintf().  At some future point, someone may choose to
write a gui 'console' for bochs to which messages would be redirected
simply by assigning a different iofunction class to the various logfunctions
objects.

More cleanup is coming, but this works for now.  If you want to see alot
of debugging output, in main.cc, change onoff[LOGLEV_DEBUG]=0 to =1.

Comments, bugs, flames, to me: todd@fries.net
2001-05-15 14:49:57 +00:00
Todd T.Fries
9709e481da temp fix for panic that causes OpenBSD to not boot 2001-05-08 21:19:57 +00:00