Commit Graph

1807 Commits

Author SHA1 Message Date
Christophe Bothamy
7cae4b94c4 - patch from Timo Weggen :
With this patch the INVLPG instruction doesn't invalidate the
  whole TLB, but only a single page table entry.
2002-08-06 09:01:47 +00:00
Volker Ruppert
0bcee8caf7 - POPFD implemented for vm86 (tested with MS-DOS 6.2 and EMM386) 2002-08-05 19:45:32 +00:00
Volker Ruppert
806e32e984 - initialize the shadow ram array with the value 0xff (used by rom images)
- initialization of read only registers not necessary when PCI is disabled
2002-08-05 17:43:25 +00:00
Volker Ruppert
09d99d1be9 - bx_dbg_main(): removed duplicate stuff already done by bx_init_hardware() 2002-08-05 16:35:08 +00:00
Christophe Bothamy
87bb0f37a4 - fixed problem with multiple drq atapi data transfers 2002-08-05 15:51:06 +00:00
Christophe Bothamy
6c62d72398 - added a check on odd byte count for atapi command
- fixed problem with multiple drq atapi data transfers
2002-08-05 15:47:40 +00:00
Volker Ruppert
c3cda0a919 - separation of floppy device type and media type started. This feature needs
more work in the floppy and bios code.
- floppy and cdrom entries in the runtime config menu can be disabled if the
  drive wasn't defined in bochsrc or start menu
- floppy variable "initial_status" and cdrom variable "inserted" renamed to
  "status"
- unused variable *ips in function build_runtime_options_prompt() disabled
2002-08-04 08:42:34 +00:00
Volker Ruppert
16dfd66163 - floppy read/write commands: return value of status register 1 is 0x85 when
the requested sector doesn't exist.
- BX_PANIC message for requested cylinder > tracks on media fixed
2002-08-03 06:58:56 +00:00
Volker Ruppert
efd02e9c19 - the new reset() function must be called by the debugger, too 2002-08-02 05:41:04 +00:00
Volker Ruppert
057f657339 - added example for 360k floppies 2002-08-02 05:40:08 +00:00
Bryce Denney
8bdb84f197 - symbol lookup for addresses after the last known symbol were printed
as no symbol.  Now they will be relative to the last symbol.
- when anything was looked up in a segment with a nonzero base address,
  it would print "non-zero base" and abort the lookup.  I disabled this
  behavior so that it would look up the symbol based on the EIP despite
  the base.  This change makes it possible to trace user processes, in
  which the base is 0xc0000000.
- symbol lookup also used to fail in 16-bit code.  Since the address
  translations rules for 16-bit code are simple enough, I just compute
  the 20-bit linear address and look up the symbol with it.  Now I
  can load a symbol table of the ROMBIOS and it works.
2002-08-01 21:10:55 +00:00
Volker Ruppert
cb567008bd - new function reset() for bx_devices added (currently for PCI and floppy only,
we have to add more devices)
- device reset function is called on startup and after pressing the reset
  button in the headerbar
2002-08-01 12:19:01 +00:00
Volker Ruppert
a6d07ad166 - added support for 360k floppy images
* new floppy type 360k can be used in .bochsrc and the config interface
  * media type and geometry can be set for the floppy type
  * BIOS changes to make 360k floppy drives work
  * bximage can create 360k images now
2002-08-01 07:37:56 +00:00
Christophe Bothamy
1f577b31fa - ouput unknown MSR regsiter number 2002-08-01 07:23:11 +00:00
Christophe Bothamy
987a30ca17 - This patch enables the guest to read to host time (linux only).
Port 0x8901 is used. Two time values can be set and
  read, along with the difference of the two.
  Please look in the patch file for instructions on usage.
2002-07-31 16:15:51 +00:00
Christophe Bothamy
edf44aceaa - This patch turns the eflags structure to a 32bits bitfield 2002-07-31 16:11:27 +00:00
Volker Ruppert
e3f378505d - the win32 version now uses the READ TOC function for files. This is a hack
and works okay with one rom track only. We still have to implement reading
  the real TOC on win32.
- in function GetCDCapacity(): type of variable 'buf[8]' must be 'unsigned char'
- in function capacity(): win32 version returned the number of bytes, but it
  should return the number of blocks (ASPI blocksize is 2352)
- description of the function capacity() fixed (it always returns blocks)
2002-07-31 05:21:46 +00:00
Volker Ruppert
2b2369a049 - panic at 'Read sub-channel with SubQ' replaced by a BX_ERROR. The harddisk
controller returns an error code until we are able to implement this feature.
- init_send_atapi_command(): don't panic if alloc_length is 0, use byte_count
  to set alloc_length instead
- fixed a BX_PANIC message in the io write handler for port 0x1f0
2002-07-30 09:54:26 +00:00
Christophe Bothamy
1956be72db - I forgot to initialize the new variable 2002-07-30 08:48:03 +00:00
Volker Ruppert
92f54faa01 - implementation of the function READ TOC for cdrom image files 2002-07-30 06:25:57 +00:00
Volker Ruppert
6ed15ec0ad - file locations updated for FHS 2002-07-29 17:36:50 +00:00
Volker Ruppert
f4fdaa7e54 - function read_toc() works with the requested start track 0xaa (lead out) too
- commented include statement removed
2002-07-29 16:42:01 +00:00
Bryce Denney
8039e37290 - add MSIE/win95 screen shot from Christophe 2002-07-29 13:28:56 +00:00
Christophe Bothamy
5e15db2dcd - added port 0x8900 to enable bochs programmatic shutdown 2002-07-29 12:44:47 +00:00
Christophe Bothamy
52007ee6c7 - This patch enables the guest to programmatically stop bochs 2002-07-29 12:42:28 +00:00
Christophe Bothamy
9ab70dd560 - conditionnaly include <sys/mount.h> if BX_HAVE_BLKGETSIZE is defined
- updated for latest cvs code
2002-07-29 10:00:10 +00:00
Christophe Bothamy
6b22b92881 - removed #include <sys/mount.h>. This should only be defined if BX_HAVE_BLKGETSIZE is defined (see patch.blkgetsize). 2002-07-29 09:52:03 +00:00
Volker Ruppert
6420f04fe4 - fixed a typo in the example for the option "romimage" 2002-07-28 17:04:29 +00:00
Volker Ruppert
4dbd597456 - panic at READ CD replaced by a BX_ERROR. The harddisk controller
returns an error code until we are able to implement this feature.
2002-07-27 18:42:31 +00:00
Volker Ruppert
68d3969bc4 - floppy read and write function do not set the 'seek end' bit in status
register 0
2002-07-26 16:39:18 +00:00
Bryce Denney
88ba447f06 - add new screenshot of Bochs running X applications through VNC 2002-07-25 15:34:01 +00:00
Bryce Denney
1403a59ec4 - apply patch from Zwane Mwaikambo <zwane@linuxpower.ca> posted to
mailing list.
2002-07-25 13:30:07 +00:00
Volker Ruppert
c9420428f1 - calculation of the screen size for some graphics modes fixed
- use the start address when calculating the byte offset for standard EGA/VGA
  modes
2002-07-24 19:36:39 +00:00
Christophe Bothamy
92839ea2d1 - added options to use up to 4 optional romimages 2002-07-24 17:52:34 +00:00
Christophe Bothamy
8fc5ffd373 - added patch to enable the use of up to 4 optional romimages 2002-07-24 17:51:09 +00:00
Volker Ruppert
e46d56fad1 - jump to POST entry point must be a far jump (MS-DOS and Win95 reboots now)
- keyboard init: read output buffer and enable keyboard before self test
2002-07-23 18:46:17 +00:00
Bryce Denney
eb0974f0ce - if misaligned or wrong size write, print the address and length! 2002-07-23 15:32:14 +00:00
Jeroen Janssen
42bb859bff fix 800x600 tile problem as pointed out by Peter Tattam 2002-07-21 14:50:11 +00:00
Bryce Denney
7dd83e2140 - removed my antisocial asserts from the apic code, and changed them to
BX_PANICs.
2002-07-21 13:56:49 +00:00
Volker Ruppert
e5f8fc20f5 - byte offset for modeX fixed (use value of CRT register 0x13) 2002-07-21 11:03:43 +00:00
Bryce Denney
eaf037e658 - add Swedish keymap from Magnus 'Moggen' Öberg 2002-07-21 04:03:41 +00:00
Bryce Denney
ae30f4121e - Bernd Korz reports that sys/mount.h doesn't exist on Beos, so I added
an ifndef __BEOS__ around it.  Is this mount.h actually necessary?
2002-07-21 02:55:04 +00:00
Volker Ruppert
88f0e1b73f - init(): initialize media type for all 4 drives
- init(): set the initial status to BX_EJECTED if evaluate_media() fails
- don't modify the DOR when a drive > 1 is selected
- floppy command 'get status' now recognizes the head field
- floppy command 'recalibrate': don't set cylinder to 0 before completion
- floppy command 'sense interupt status' does not clear status register 0
- floppy command 'configure': more detailed BX_DEBUG messages
- floppy command 'read ID' does not modify status register 0
- floppy read/write commands: set the error bit in status register 0 if media
  is not present
- better detection of not existing drives in some commands: check the media type
  of the selected drive instead of the drive select value
- behaviour of floppy commands 'recalibrate' and 'seek' changed:
  * drive is busy in the execution phase, but not the controller
  * replaced the panic by setting the error status if drive is not existing
- evaluate_media(): set the media type even if device/file is not present
2002-07-20 19:53:50 +00:00
Volker Ruppert
397043b5e9 - odd byte count error in init_send_atapi_command() fixed: a byte count of
0xffff must be decremeted to 0xfffe
- ATAPI command code added to odd byte count error message
2002-07-19 13:32:49 +00:00
Volker Ruppert
a51a7840e5 - floppy command 'read ID' now recognizes the head number bit
- always return the current head number in status register 0
2002-07-16 19:36:40 +00:00
Christophe Bothamy
bc6d07a2c9 - generated from configure.in r1.83 2002-07-16 12:10:05 +00:00
Christophe Bothamy
4cdb7bfda9 - added $Id cvs tag as AC_REVISION 2002-07-16 12:08:38 +00:00
Christophe Bothamy
11f74cb4ce - fixed "logprefix" output on non "gnu libc" systems 2002-07-16 12:04:46 +00:00
Volker Ruppert
e0b09bee95 - missing 'fclose(fd)' added in function parse_bochsrc() 2002-07-15 20:12:14 +00:00
Volker Ruppert
43f9f8287b - the skip flag (SK) in command 'read sector' is ignored now. The floppy
command codes 0x46 and 0xc6 are using the normal read function.
2002-07-15 20:11:33 +00:00