557 Commits

Author SHA1 Message Date
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
Jeroen Janssen
42bb859bff fix 800x600 tile problem as pointed out by Peter Tattam 2002-07-21 14:50:11 +00:00
Volker Ruppert
e5f8fc20f5 - byte offset for modeX fixed (use value of CRT register 0x13) 2002-07-21 11:03:43 +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
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
Christophe Bothamy
43f7efce45 - 32bits access flag for atapi devices (word 48 of identify packet device)
- fixed io_len check on port != 0x1f0 : must be 1 byte
2002-07-11 07:44:32 +00:00
Volker Ruppert
6aa5eed1ec - panic at MODE SENSE (curr) replaced by a BX_ERROR. The harddisk controller
returns an error code until we are able to implement this features.
2002-07-07 18:51:49 +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
Volker Ruppert
afca461cf3 - reading port 0x01f0 with drq==0 causes a BX_ERROR, not a BX_PANIC. The return
value after the error is set to 0. This fixes the problem with the netbsd 1.5
  rescue disk (SF bug #419415)
2002-06-29 08:54:11 +00:00
Christophe Bothamy
17fe31ad4d - reverted to before patch.blkdevsize inclusion, because compilation fails on WIN32.
It will be included back when we know which platforms handle the GETBLKSIZE ioctl right
2002-06-28 21:34:30 +00:00
Christophe Bothamy
fcc5bd67cb - added patch for block device size detection from Ph. Marek
- included it in the main branch as it is only active with block devices
2002-06-26 16:45:27 +00:00
Volker Ruppert
76a5271232 - in function floppy_command(): added parentheses at the head number check
(fixes SF bug #572177)
2002-06-23 18:04:07 +00:00
Volker Ruppert
109007dd82 - in function init(): declaration of variables i and j moved to the start of
the function (fixes SF bug #572177)
2002-06-23 18:03:37 +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
Volker Ruppert
c7c9cc2430 - DMA register and unregister functions for DMA channels added and macros for
DMA functions defined. Most of the changes are based on the "bochs sync"
   version of plex86. Here is the list of changes:

  * register/unregister functions for DMA channels added. The DMA controller
    can use the DMA read/write handlers of registered devices directly.
  * "hardwired" code in dma.cc removed
  * all DMA related code in devices.cc and iodev.h removed
  * DMA related code in pc_system.* removed except HRQ handling
  * macros for DMA functions defined in bochs.h
  * floppy and SB16 code modified to use the changes described above
2002-06-16 15:02:28 +00:00
Volker Ruppert
e2772fa94b - destructor restores original terminal settings only when serial port is enabled 2002-06-04 21:35:08 +00:00
Volker Ruppert
058fceb3be - keyboard and mouse definitions removed (still present in keyboard.h) 2002-06-02 11:53:49 +00:00
Volker Ruppert
43daf31782 - initialize DMA controller before floppy and SB16 2002-06-02 11:53:19 +00:00
Volker Ruppert
5a9dcef1e4 - include statement <linux/fs.h> seems to be unnecessary, cdrom support should
compile now on mips and m68k (untested)
- added cdrom support on GNU (untested)
- fixed a warning
2002-05-31 09:56:58 +00:00
Volker Ruppert
52bf2216ca - enable serial port for GNU and GNU/Linux
- use the same port name as in the configuration for BX_INFO ("com1")
2002-05-31 06:54:34 +00:00
Volker Ruppert
1bd3646867 - implementation of the PCI device register mechanism
The new function register_pci_handlers() is similar to the register functions
  for i/o addresses. A PCI device can register the read/write handlers for it's
  private PCI configuration space. The i/o mapped registers of the host bridge
  control the access to the configuration registers of each PCI device. You can
  select the bus, device, function and register address with the confAddr
  register. The confData register is a window to the configuration space of the
  selected device.
- reset sets the values of the i/o mapped registers to 0
- changed some BX_INFO messages to BX_DEBUG
2002-05-30 07:33:48 +00:00
Volker Ruppert
6e4e751bfb - fixed the function argument of insert_cdrom() for Amiga OS and MacOSX
(added function argument "char *dev", but the cdrom change support for
  these platforms is still to do)
2002-05-28 15:39:05 +00:00
Gregory Alexander
b30fdb2487 Fix problem with PIT when the machine is being really slow.
This means that the REALTIME_PIT now only works on machines
that are capable of sustaining 150000 IPS, in aggregate.  This
seems a reasonable requirement, as even my 200Mhz PPC with 16MB
of memory can sustain that.

This is now probably ready for primetime, so I need to get it
added to the configure options.
2002-05-21 15:07:45 +00:00
Gregory Alexander
e92fb8deff Updated realtime PIT code.
This seems to work, but I don't think it works on slow machines (like mine.)

At least, I'm getting fails with the dlxlinux image, but they're pretty
sporadic.  This code shouldn't cause any fails.
2002-05-20 21:53:26 +00:00
Volker Ruppert
61bd767b8c - access to unsupported extra page register issues a debug message, not an error
- read access to unsupported or not readable registers issues an error message,
  not a panic
2002-05-11 13:42:52 +00:00
Volker Ruppert
74faab3bff - ConfAddr register is readable (32 bit)
- header type register is readonly
- debug message fixed
2002-05-10 10:56:04 +00:00
Christophe Bothamy
b84c82e80c - changed the floppy_bootsig_check syntax to be more logical. the syntax is now :
floppy_bootsig_check: disabled=[0|1]. It is not disabled by default.
  Sorry for any inconvenience it could cause
- changed the default (if cmos reg is 0) behavior for the floppy boot signature
  check, so the new bios is compatible with older bochs binaries (useful if we
  want to use the new bios when we release 1.4.1) :
  1 : disabled
  0 : enabled
- added info at launch time about the boot device and the floppy boot signature
  check
- added a "LBA capable" flag in the ata controller
2002-05-04 16:00:40 +00:00
Christophe Bothamy
117b099b54 - fix to have Bochs not panic when Win95 tries to detect devices 2002-05-03 13:52:53 +00:00
Christophe Bothamy
a2fc610355 - included "patch.harddrv-sco-osr5" from Carl Sopchak 2002-05-03 08:17:18 +00:00
Christophe Bothamy
980364868d - added a script directive in ne2k options of .bochsrc
- added the script directive management for ne2k options
- added the execution of the script (if defined and not 'none') after init of the tun device
2002-05-02 07:54:22 +00:00
Christophe Bothamy
f331d20e55 - fixed compile problem
- fixed opened netdevice name (/dev/net/tun...)
- fixed test on iface name (tun instead of tap)
- cosmetic changes
- added example in .bochsrc
Much of these fixes have been contributed by Frederic Bothamy
2002-04-30 13:33:30 +00:00
Jeroen Janssen
42e40dd38a - applying hw scroll/multibuffering VBE patch (this func requires latest vgabios to work, but old bioses should still work due to backwards compatible interface) 2002-04-29 13:06:06 +00:00
Christophe Bothamy
719a6919fe - i forgot to keep the 0xfff0 port management for older bioses. fixed 2002-04-24 11:52:13 +00:00
Christophe Bothamy
2f37ec16ea - added a DEBUG port for rombios (0x0403) and vgabios (0x0503)
- added a INFO port for rombios (0x0402). Kept the legacy INFO port at 0xfff0 for now
2002-04-24 07:39:47 +00:00
Christophe Bothamy
cd50268e2f - added a floppy_bootsig_check option to .bochsrc that will be used to enable/disable the 0xaa55 signature check ONLY for floppy-boot
- stored the boot signature check flag in cmos reg 0x38
- the rombios that is able to handle that flag will be uploaded later
2002-04-23 07:44:34 +00:00
instinc
9520492a7c fixed the comment associated with the master IMR initialization 2002-04-20 16:21:51 +00:00
instinc
976ea3f67f as per the 82c59a datasheet from intel, the irq mask is now cleared on initialization 2002-04-20 16:19:42 +00:00
Volker Ruppert
462871fd3a - Improvements for dimension_update() in text mode and text_update()
- The emulated vga card issues a dimension_update() using the real
    screen dimensions and the real font height.

  - The gui selects a font with the requested height or it recalculates
    the screen height if the font height is not available.

  - The text_update() function uses a new variable 'ncols' instead of the
    fixed value of 80 for the number of text columns.

  I have tested the changes with X11/Linux, SDL, wxGTK and win32. The changes
  in the other guis are not tested yet.
2002-04-20 07:19:35 +00:00
Bryce Denney
6cc9369426 - netbsd patch for raw cdrom, from Christian <bloodjerk@gmx.net> 2002-04-18 18:17:45 +00:00
Bryce Denney
4a35f70850 - add tuntap interface 2002-04-18 00:59:58 +00:00
Bryce Denney
2f69a74616 - commit TUN/TAP patch, though I can't really test it. I can verify that if
you don't have if_tun.h the configure script does not enable TUN/TAP.
2002-04-18 00:59:20 +00:00
Bryce Denney
2bac9a8f0e - remove dependency on /usr/include/math.h which is platform dependent.
This keeps sneaking back in somehow.
2002-04-18 00:46:38 +00:00
Bryce Denney
d85b0c113f - apply Peter Tattam's patch to fix a DMA bug. 2002-04-18 00:37:09 +00:00
Bryce Denney
91cc6590b2 - apply Peter Tattam's patch that makes win32 pad packets up to 60 bytes 2002-04-18 00:33:58 +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
Volker Ruppert
ebe5f626f4 - CRTC write: only the changes of the start address, the cursor position or
cursor size issue a screen update request
- reading an invalid CRTC register returns 0 / writing is ignored
- bit 7 of CRTC address register is always 0
- debug messages for CRTC registers updated / panics removed
- use the number of visible columns in text mode when calculating the screen
  width and the cursor position
2002-04-14 08:57:24 +00:00
instinc
a6320ce597 Implemented register 3F3, see comments 2002-04-11 02:21:59 +00:00
instinc
24ac18f04d temporary drive_select handling for >1 panics 2002-04-11 01:07:34 +00:00