Commit Graph

228 Commits

Author SHA1 Message Date
Bryce Denney
dd0d8a8524 - use #if BX_WITH_MACOS around fd_write too. I meant to do this the
first time...
2001-09-26 17:35:51 +00:00
instinc
e09d429117 added the output of a little information string to help the user understand why it returned to the prompt. 2001-09-26 03:07:32 +00:00
instinc
677ece7d04 added 0x8AE0 to return to prompt debugger 2001-09-26 02:52:03 +00:00
Bryce Denney
1ef0b3c6ef - use #if BX_WITH_MACOS around the special fd_read and fd_write code, since
MacOS X behaves more like unix now.
2001-09-26 00:19:44 +00:00
Bryce Denney
39aa03d622 - must use #ifdef instead of #if 2001-09-24 12:09:45 +00:00
Bryce Denney
9454441958 - add --enable-slowdown option to configure, which turns on Greg's
slowdown timer device.
2001-09-24 05:23:55 +00:00
Bryce Denney
53d483864c - use #ifs instead of #ifdefs for slowdown timer code. The
usual autoconf/configure method is to use 0 vs 1, not defined vs
  undefined to turn things on.
2001-09-24 05:08:25 +00:00
Bryce Denney
140a7a23b8 - avoid using #define LOG_THIS...#undef LOG_THIS trick, and just
call panic directly.  This solves bug [ #464258 ] LOG_THIS redefined in
  keyboard.h
2001-09-24 04:59:35 +00:00
Bryce Denney
a4ca526eee - add preprocessor tricks that undefine the OUT symbol if it's already
been defined elsewhere.  This had to be done in the old pit as well,
  so it's not a new problem by any means.
2001-09-24 02:14:05 +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
6d129d771c - set a bit in the CMOS that says the processor has an FPU. This is
from patch [ #455006 ] Device byte is not initialized aptly.
  I can't give credit, because he or she did not leave a name.
2001-09-19 17:29:07 +00:00
Bryce Denney
3bba2f657f - apply patch from patches/patch.lba. This is taken from plex86 cvs
and modified for bochs.  Minimal testing so far...
2001-09-19 15:30:44 +00:00
Bryce Denney
690c4eee31 - clarify BX_INFO message 2001-09-19 15:10:38 +00:00
Bryce Denney
8c6446cf4c - only put 0xf into the 2nd hard disk field when the cdrom is not present.
This is a patch from Volker Ruppert <Volker.Ruppert@t-online.de>, who
  comments: "The fdisk command reports an unusable second harddisk if the cdrom
  is enabled. This patch helps, but I don't know if it is the right way."
2001-09-15 13:35:42 +00:00
Bryce Denney
1006cb2c6b - patch from Volker Ruppert <Volker.Ruppert@t-online.de>, who writes:
> I have inspected the header of output file and several sample MIDI files. I
  > have found two different bytes in the header. After I have changed this
  > bytes Winamp could play the output file, but it showed a track time of
  > 0:00. The Windows Media Player still doesn't like the file.
2001-09-15 13:33:16 +00:00
instinc
f89d1e6f01 added support for the debugger, it now returns to the debugger prompt 2001-09-15 00:12:40 +00:00
instinc
0a762c4023 final revision of the memory protection material 2001-09-14 22:38:06 +00:00
instinc
a10f33a8c7 Removed the structure from the class definition and used it directly in the object 2001-09-14 22:37:32 +00:00
instinc
c52ee908a8 Added range_test function, partly completed write_mem and read_mem 2001-09-14 16:21:02 +00:00
instinc
ccc7026539 Added a few more functions such as range_test 2001-09-14 16:20:30 +00:00
instinc
426982c0ec Added I/O Interface to the debugger 2001-09-14 15:01:29 +00:00
instinc
0496446814 I/O interface to the debugger functions
Allow the various debugging features to be controlled directly by the guest os
2001-09-14 14:29:21 +00:00
instinc
014fc2c10c header file for the iodebug interface 2001-09-14 14:28:23 +00:00
Bryce Denney
f04e6fe346 - apply VPATH patch from Edouard G. Parmelan, posted to list on September 1 2001-09-14 04:19:08 +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
Gregory Alexander
728252e212 Fixed a small problem in the latching code in the new pit.
Personal note: case...BREAK;

This makes OpenBSD and QNX a little happier.

Added debug messages.


 Modified Files:
 	bochs.h iodev/pit82c54.cc
2001-09-05 14:41:55 +00:00
Todd T.Fries
64ea80c050 more INFO->ERROR/DEBUG cleanups 2001-08-31 22:02:29 +00:00
Todd T.Fries
28885e4973 some INFO->DEBUG/ERROR cleanups 2001-08-31 16:06:32 +00:00
Bryce Denney
baeeb6d99c - give the "struct {} s" a type name 2001-08-30 02:04:42 +00:00
Bryce Denney
b966bf0bab - fix expression that required implicit bool->int which caused havoc on
vc++.  Now it says (boolean expression)?1:0 instead.
2001-08-30 02:02:10 +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
Gregory Alexander
0539a04e3b Fix a filehandle leak.
Modified Files:
 	floppy.cc
2001-08-23 13:02:50 +00:00
Gregory Alexander
a1556b2495 Oh, and this one too. 2001-08-22 02:03:04 +00:00
Gregory Alexander
3b6f192a30 Remove OpenBSD debug info. 2001-08-22 02:01:23 +00:00
Gregory Alexander
dc7fe22635 Almost working version of slowdown timer. 2001-08-22 01:21:30 +00:00
Bryce Denney
6334f837e2 - now BIOS messages have prefix "BIOS" instead of "UNMP" 2001-08-21 04:10:35 +00:00
Gregory Alexander
9aa7a88028 Lots of timer stuff.
Fixed a "feature" in pc_system.cc with setting timers to small values
that can cause bochs to hang.

Significantly improved the performance of the new PIT.
It's probably ready to become the default now.

Added a preliminary implementation of the slowdown timer
that Bryce and I had talked about.
2001-08-18 03:28:23 +00:00
Bryce Denney
595d6a0132 - now I know that 0xe7 is flush cache so I improved the comments somewhat
- if an unknown command comes along and triggers a BX_PANIC and they
  choose the continue, call command_aborted().
2001-08-15 20:54:36 +00:00
Bryce Denney
f0c45a6f0e - make it clear that it's only used for cdrom_amigaos.cc. 2001-08-15 20:32:16 +00:00
Bryce Denney
06a7658f88 - changed #ifdefs to #ifs. Even when the new PIT is unused, there will
still be a definition of BX_USE_NEW_PIT=0 in config.h.
2001-08-15 20:23:58 +00:00
Bryce Denney
aca0d3fae8 - apply BIOS patch from Barry Allard to check the boot signature
- fiddle with I/O handler for port 0x401 to allow BIOS to write a
  complete panic message
2001-08-15 04:56:00 +00:00
Bryce Denney
c2df8d4f7d - remove newlines from BX_PANIC and similar statements. it is implied. 2001-08-14 06:48:03 +00:00
Bryce Denney
eaf4a5f9b6 - remove the include of "type.h" that was added with Psyon's cdrom patch. 2001-08-14 05:01:49 +00:00
Bryce Denney
4f10d657ce - last function never returned a value 2001-08-14 04:56:11 +00:00
Bryce Denney
f229ae1afd - a right shift by 12 was accidently written as one greater than instead of two 2001-08-14 04:53:32 +00:00
Bryce Denney
b483593107 - add case for IDE command 0xe7 so that it doesn't panic when installing
win2000
2001-08-13 15:58:35 +00:00
Bryce Denney
1540695f17 - for big endian machines I reversed the bit fields in interrupt_reason.
This was pointed out by Nicholai Benalal.
2001-08-13 15:48:13 +00:00
Bryce Denney
6b6acdc376 - add scsi_commands.h for Amiga CDROM support, from Nicholai Benalal
<nicholai@chello.se>
2001-08-13 15:35:54 +00:00
Bryce Denney
aa671e6e51 - add CDROM support for Amiga, from Nicholai Benalal <nicholai@chello.se> 2001-08-13 15:33:59 +00:00
Todd T.Fries
53ae809632 cleanup debug stuff 2001-07-10 17:20:36 +00:00
Gregory Alexander
c9d18333c0 More preprocessor controls. 2001-07-05 23:55:22 +00:00
Gregory Alexander
6052b0054b Put the new PIT back in. The whole thing should be ifdef'd
out when not in use.
2001-07-02 01:21:59 +00:00
Gregory Alexander
fc0ee2dc3e Added compiler define to use the new PIT.
Also added a hack to keep the OpenBSD timer problem from filling the log.

The new PIT seems to work, but until some
enhancements are made to the way the timers
and devices.cc work, it'll be slower than
the old one.
2001-07-01 20:49:46 +00:00
Bryce Denney
3f8f6c9a0c - added new macros BX_INSTR_INP2 and BX_INSTR_OUTP2, which report the
values that are being written and read from I/O accesses.
2001-06-28 19:48:04 +00:00
Todd T.Fries
a54ef5ad9b add strerror to bpf open error 2001-06-28 14:00:37 +00:00
Bryce Denney
13ff8b1870 - use #undef to avoid name conflicts with OUT. OUT is the name of
part of a pit structure, but is also defined in the system headers
  on some systems.
2001-06-28 01:36:11 +00:00
Gregory Alexander
85b5157a7e Added significant improvements to the new pit. It's about ready for use.
The only big thing it's lacking right now is testing, which is a
little difficult to do, considering the new interface.  Oh, well.
2001-06-27 22:25:24 +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
instinc
6af3f5bd9f - Added irq IRR removal when specific EOI is received 2001-06-26 21:55:25 +00:00
Bryce Denney
c718b074db - Another patch from splite@purdue.edu.
The original code for determining the capacity of a disk only worked for
  ATAPI drives, leaving us poor SCSI users in the cold.  The code uses the
  standard Linux CD-ROM driver routines, so it should work on any supported
  drive.  It's basically just a copy of Keith Jones FreeBSD code.
2001-06-26 08:12:21 +00:00
Bryce Denney
ac6f23c3cf - apply ne2k patch from splite@purdue.edu to fix a few problems that
appeared in the guest OS.  Full description:
  > After much grovelling through the 8390 docs, I think this is the
  > correct answer to the odd-length packet problem I was having with
  > the ne2k driver under Linux.
  >
  > According to the datasheet, the 8390 always accesses its buffer
  > memory in word-size chunks if the WTS bit of the DCR is set.  So
  > it will always send a word to the host bus interface if WTS==1.
  > It's up to the host bus interface to deliver the the number of
  > requested bytes to the host.  So disallowing a byte read when the
  > WTS bit is set is wrong (IMO) as the bus interface may allow it,
  > as the NE2000 appears to.
  >
  > The patch to ne2k.h bumps the receive buffer memory size to 32K.
  > This fixes the "out-of-bounds chipmem read" errors I was getting.
  >
  > Can someone with an NE2K datasheet verify these changes?  They
  > jibe with the Linux ne.c driver, anyway.
2001-06-26 07:49:25 +00:00
Bryce Denney
75c87e2113 - apply patch from splite@purdue.edu that add an ethernet packet mover
for Linux!!!  I tested this using host OS kernel 2.2.14, and was able
  to use telnet, ftp, irc, lynx, etc.  Because it is a packet filter
  solution, you aren't able to talk to the host machine, only to other
  machines on the network.  The patch itself is in
  patches/patch.ethlinux-splite.
2001-06-26 07:46:42 +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
5de15c7352 - added little headers to the .h files 2001-06-25 14:02:29 +00:00
Bryce Denney
f6a09136e7 - add left backslash keycode, also suggested by Dieter Mittelmaier 2001-06-25 13:39:10 +00:00
Bryce Denney
547cb604b9 - exclude type.h for cygwin, though it is available in VC++. 2001-06-25 12:56:54 +00:00
Bryce Denney
9577b4277c - only define PACKED if it's not already defined, since in Cygwin it's
already defined.
2001-06-25 12:52:37 +00:00
Bryce Denney
fc63504252 - commit Psyon's CDROM patch that allows Win95/98/ME to read raw
CDs using ASPI interface.
2001-06-25 02:18:16 +00:00
Gregory Alexander
a2db8e751c Only respond to ARPs requesting the external IP address. 2001-06-24 00:48:38 +00:00
Gregory Alexander
d99cdfe521 Add patch to report receive status in all NE2K DMA writes
instead of always writing it to zero, which can't be right.
2001-06-24 00:47:17 +00:00
Bryce Denney
cbb040f68c - added BX_DEBUGs 2001-06-23 17:59:14 +00:00
Bryce Denney
6fcc0b3aa1 - bx_options.cdromd.inserted is now an enum, with values BX_INSERTED or
BX_EJECTED
- added a BX_DEBUG line or two
2001-06-23 15:28:49 +00:00
Bryce Denney
eb08d39347 - just removed one \n 2001-06-23 03:23:41 +00:00
Bryce Denney
6c439676f1 - removed pit82c54.o and pit_wrap.o from default makefile.in temporarily
because they do not compile on VC++.
2001-06-22 13:18:27 +00:00
Bryce Denney
b7cb1a5dde - applied patch from bochs@sigint.cs.purdue.edu. The comments are:
> The Linux 2.4.5 CD-ROM driver sends a READ_DISC_INFO command which caused
  > an "unrecognized ATAPI command" panic.  Looks like READ_DISC_INFO is only
  > recognized by CD-R and CD-RW drives, so I ignore it for now.  (I don't
  > know if ASC_INV_FIELD_IN_CMD_PACKET is the right code, but it shouldn't
  > matter to Linux anyway.)
2001-06-22 04:08:15 +00:00
Gregory Alexander
7f03177ed0 Started adding support for IP packets. 2001-06-21 23:12:47 +00:00
Bryce Denney
1bcdee2301 - add options to the string parameter class that allow it to deal with
raw hex bytes, for the MAC address.
2001-06-21 19:27:05 +00:00
Bryce Denney
8ca273ce73 - converted ne2k and sb16 to new style parameters and control panel,
except for MAC address of the ne2k, which is next.
2001-06-21 18:34:50 +00:00
Bryce Denney
a6d74fd4b0 - oops Odev should have been Opath 2001-06-21 15:06:14 +00:00
Bryce Denney
80a7541fed - used grep to search for more instances of new bx_options problems that
I have introduced, and fixed a lot.
2001-06-21 14:56:43 +00:00
Bryce Denney
e9d8fc0738 - fixed some bx_options name changes which were hiding inside
#ifdef LOWLEVEL_CDROM ... #endif
2001-06-21 14:40:01 +00:00
Gregory Alexander
2ee630f3fc Changed the format for eth_arpback to be more versatile for use with
UDP and TCP.
2001-06-21 01:45:17 +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
Gregory Alexander
ce339e0b78 Only respond to ARP packets. 2001-06-20 01:00:04 +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
Todd T.Fries
7f18b0c181 serial enable step 1 2001-06-19 17:52:46 +00:00
Bryce Denney
4df55e3713 - merge TX and RX log into a single ne2k.raw and ne2k.txt. 2001-06-19 16:57:55 +00:00
Bryce Denney
8a61ebd6c3 - now rxlog and rxlog_txt are actually opened 2001-06-19 16:39:18 +00:00
Bryce Denney
427506cb87 - oops, renamed charbuf to rxbuf 2001-06-19 16:36:09 +00:00
Bryce Denney
c552310880 - oops, class_ptr renamed to this 2001-06-19 16:34:09 +00:00
Bryce Denney
01d7de33ad - add logging code to eth_fbsd, similar to eth_null.cc 2001-06-19 16:09:13 +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
4be3406517 - turned printfs into BX_INFOs
- some line wraps, introduced between Calvin's disk and mine, removed
2001-06-18 21:14:00 +00:00
Bryce Denney
67970b2992 - Calvin Smith's cdrom patch (win32 specific) that allows Bochs to read
from a cdrom image file
2001-06-18 21:11:46 +00:00
Gregory Alexander
064f372576 Added a CRC at the end. Still doesn't work, but I
feel better about it in general.  Still need to work
on byte order issues in the CRC.
2001-06-18 13:13:52 +00:00
Gregory Alexander
e519ea4d44 Fixed compile problems in the CRC code, eth.cc, and eth_fbsd.cc.
(Some systems configure with eth_fbsd.cc but can't compile it.)
2001-06-17 23:08:27 +00:00
Gregory Alexander
7d9d0b6769 Added a packetmover that will eventually artificially respond to arps.
This can later be used as an example of how to artificially generate
packets to send to bochs.
2001-06-17 23:06:39 +00:00