Commit Graph

1621 Commits

Author SHA1 Message Date
Volker Ruppert
2018bf864b - save/restore parameter init rewritten using BXRS_* macros
- register parameters for the wx debugger only if present (fixes memory leak)
- removed useless static variable 'first_time'
2006-06-05 18:17:04 +00:00
Volker Ruppert
61448beaa2 - geometry autodetection for 'growing' mode hard disk images added
- documentation updates
2006-06-05 08:00:21 +00:00
Stanislav Shwartsman
1aaf19cd09 Support for partial read/write in APIC space 2006-06-05 05:39:21 +00:00
Volker Ruppert
6730922952 - geometry autodetection for 'concat' mode hard disk images added
- removed all references to the old 'split-hd' feature (now: 'concat' mode)
- updated documentation for 'concat' images
2006-06-04 21:49:17 +00:00
Stanislav Shwartsman
fee48d74e0 Avoid doing strdup for param name field - most of the strdups elliminated ! 2006-05-29 22:33:38 +00:00
Stanislav Shwartsman
bc3cbb49b6 Write Virtual timer save/restore using macroses 2006-05-28 20:24:51 +00:00
Stanislav Shwartsman
74308f7829 Add CMOS and DMA 2006-05-28 18:43:01 +00:00
Stanislav Shwartsman
bccab0ee1c Clean and simplify save-restore params registration for more devices 2006-05-28 18:14:05 +00:00
Stanislav Shwartsman
286b89d763 Several x86-64 MSRs were not-initilized !
Fixed small save-restore bug in dma.cc
First step to make save-restore code look better (only several files processed for example)
2006-05-28 17:07:57 +00:00
Stanislav Shwartsman
8b0df8e99b Merge SAVE_RESTORE branch to CVS 2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
7c1767d17a Partial sync with save-restore 2006-05-27 14:02:34 +00:00
Stanislav Shwartsman
8db5723921 Wow, I forgot to commit this change for NullTimer fixes ! 2006-05-18 19:57:11 +00:00
Volker Ruppert
817b85045e - fixed sharing of growing harddisk images between Windows and Linux caused by
different data alignment. Added a reserved 32-bit field and changed header
  version to 2.0. The hdimage code can still handle version 1.0 images.
2006-05-14 21:15:33 +00:00
Volker Ruppert
6a299e61a7 - get rid of the unused description field of shadow bool and data parameters
(new/modified constructor)
- new constructor for bx_list_c objects without title
- shadow parameter bitmasks fixed
- functions bx_sr_before_save_state() and bx_sr_after_restore_state() prepared
- ne2k.cc: reset behaviour fixes
- sb16: some variable types changed
2006-05-14 15:47:37 +00:00
Volker Ruppert
a419ec3423 - fixed busmouse usage (wrong parameter) 2006-05-07 09:34:51 +00:00
Stanislav Shwartsman
ae6c38b202 Style and TAB2SPACE changes 2006-05-06 15:19:57 +00:00
Volker Ruppert
9340f3b3f8 - partial sync with BRANCH_SAVE_RESTORE_3 (hardware save/restore not present yet)
* changed data format of text files for save/restore (looks like C/C++ structures,
    similar to the format used in old save/restore branches)
  * don't set the initial value of shadow bool parameters
  * don't set the initial value of bool parameters twice
  * cpu/init.cc: missing #undef added
  * ne2k.cc: variable tx_timer_active was never set to 1 (type now bx_bool)
  * floppy.cc: missing initialization of the 'eot' array in reset() added
  * pic.h: type of member 'byte_expected' changed to Bit8u
  * pit_wrap.h: unused members removed
2006-05-01 18:24:47 +00:00
Stanislav Shwartsman
f93ab35357 Flush TLB for all CPUs when memory mapping information changed by system (A20 change, PAM write or similar events) 2006-04-29 17:21:49 +00:00
Stanislav Shwartsman
003c2f59e6 Added missed CVS header to several files 2006-04-27 15:11:45 +00:00
Stanislav Shwartsman
252c669841 Remove unused members in vga and svga (Volker)
Change PANIC to ERROR in keyboard port 64 handler
2006-04-27 11:58:07 +00:00
Stanislav Shwartsman
891b556fca Remove duplicate line of code 2006-04-26 16:15:45 +00:00
Michael Brown
0944f2cd3e Update to cope with bochs API changes 2006-04-26 00:04:49 +00:00
Michael Brown
d6a0708209 Allow for opening of persistent tuntap devices, using a
"/dev/net/tun:tap0" syntax for ethdev.
2006-04-25 22:52:38 +00:00
Volker Ruppert
49a642ef39 - forward PIRQ register changes to the I/O APIC inputs 16...19 if present 2006-04-23 08:46:07 +00:00
Volker Ruppert
eb2104d0de - parameters for the wx debugger moved to a separate subtree to avoid conflicts
with the proposed save/restore feature
- fixed a warning in the cpu parameter handler for the wx debugger
2006-04-16 10:12:32 +00:00
Volker Ruppert
36498746c1 - some more work for the save/restore feature in the plugins and devices code
* register_state() will be called after init() and registers the device members
    required for save/restore
  * before_save_state() can do some work before the device state is saved by the
    siminterface
  * after_restore_state() can do some work after the device state has been
    restored (updating dependant stuff)
2006-04-15 17:03:59 +00:00
Stanislav Shwartsman
663eed8cd2 Extend debug message for not-supported APM command register 2006-04-10 19:43:47 +00:00
Stanislav Shwartsman
6aadcd5208 Started implemntation of APM control and status regs 2006-04-07 10:48:54 +00:00
Stanislav Shwartsman
7cc921d1df Prepare configure support for SSE4 implemntation (coming soon)
Rename _GAME configure macro to _GAMEPORT
2006-04-05 18:49:35 +00:00
Stanislav Shwartsman
c2455e7c1e Fixed warning 2006-04-05 17:23:51 +00:00
Stanislav Shwartsman
c7d142200f Implement SMRAM conrol register in i440fx chipset and all its functionality in memory class 2006-03-26 22:15:07 +00:00
Volker Ruppert
a63349eac5 - fixed cdrom capacity of ISO image files
- ATAPI cdrom read commands: starting block number needs to be checked
2006-03-26 00:38:58 +00:00
Stanislav Shwartsman
6ceac4c788 Fixed compilation error reported in #SF bug tracker 2006-03-25 18:04:15 +00:00
Volker Ruppert
26c67216ed - check TC on every DMA cycle (partial sector transfers now supported) 2006-03-25 12:14:13 +00:00
Volker Ruppert
4ca0b26b20 - fixed compile error on FreeBSD 2006-03-23 18:28:40 +00:00
Volker Ruppert
912b07fde8 - fixed a memory leak 2006-03-22 18:06:16 +00:00
Stanislav Shwartsman
e85a90a720 Remove cpu.h -> devices.cc dependancy, kill_bochs_request moved from CPU to bx_pc_system
Small Icache simplification and speedup
2006-03-14 18:11:22 +00:00
Volker Ruppert
2e144d5862 - changed some function argument and return types from char * to const char *
(grabbed from patch included in FC5 Bochs package for wxWidgets 2.6.x)
2006-03-13 18:55:53 +00:00
Stanislav Shwartsman
4c3f229ff1 This should fix problem with non-PCI ne2k device 2006-03-08 19:28:37 +00:00
Stanislav Shwartsman
77653bcf3d More indent and C++ style changes (explicitly write virtual before virtual desctructors).
The PCI read/write handlers written in new C++ - more flexible and easy-to-understand
2006-03-07 21:11:20 +00:00
Stanislav Shwartsman
242c2fa51c Style and indent changes 2006-03-07 18:16:41 +00:00
Volker Ruppert
c66191bd13 - prepared save/restore subtree to make the conversion of the cpu and keyboard
parameters of the wx debugger possible
- started rewrite of shadow parameters and converted keyboard parameter stuff
- test function print_tree() now shows raw byte strings correctly
- removed unnecessary spaces
2006-03-07 17:54:27 +00:00
Stanislav Shwartsman
da0b2ac377 Update dependencies for iodev and root project folders.
Fixed compilation errors for 386 case
Added file header for slowdown_timer.h
2006-03-06 22:32:03 +00:00
Stanislav Shwartsman
7b6c2587a9 Now devices could be compiled separatelly from CPU
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
c0aeb1b073 Substitute NULL to BX_CPU_C parameter instead of BX_CPU(0) for memory ops originated by devices 2006-03-06 19:23:13 +00:00
Volker Ruppert
e1b42d183a - sb16 options rewritten to a parameter tree
- sb16 parameters stored in the device class and runtime parameter handler added
- wx: ParamDialog can currently handle only dependency lists of bool parameters
  correctly (TODO: add support for numeric parameters)
2006-03-03 20:29:50 +00:00
Stanislav Shwartsman
b3420e7e56 Only indent and style changes 2006-03-03 20:15:07 +00:00
Stanislav Shwartsman
7ed117f0e0 Add 8-byte memory access support, all 8-byte memory accesses executed byte-byte before. 2006-03-03 12:55:37 +00:00
Volker Ruppert
dafe33fc84 - network options rewritten to a parameter tree
- disable usb options if not compiled with usb support
- usb and network dependency list created with menu->clone()
- load usb plugin only if at least one hub is present
- remaining options prepared for rewrite
- proposed parameter tree updated
2006-03-02 20:13:14 +00:00
Stanislav Shwartsman
5fad793989 move local apic handling to the access_linear function for the memory class.
speedup the whole simulation by 2% !
2006-03-01 22:32:24 +00:00
Volker Ruppert
154702eaca - serial, parallel and usb options rewritten to a parameter tree
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
2006-03-01 17:14:36 +00:00
Stanislav Shwartsman
dfeaf141f0 Register I/O APIC as memory handler, optimize memory handlers array 2006-02-27 19:04:01 +00:00
Volker Ruppert
15efba10dd - ata/atapi options rewritten to a parameter tree
- siminterface get_param_*() methods num support a base parameter like the generic
  get_param() method
- new parameter lists now also have a generated id
- test function print_tree() now handles enum parameters correctly
- proposed parameter tree updated
2006-02-26 19:11:20 +00:00
Volker Ruppert
6cd4ffff28 - floppy options rewritten to a parameter tree
- enum parameter type method set_by_name() fixed
2006-02-24 22:35:46 +00:00
Volker Ruppert
4ef1a50a35 - new method get_param_path() returns the full path of new-style parameters
- keyboard type option handling simplified
- wx: show the list title as the group box title of pcidev options
2006-02-24 12:05:24 +00:00
Stanislav Shwartsman
2755fb02dd Different was to implement bx_io_redirect_entry_t.
Should be fastr (elliminate redundant parse_entry calls) and more correct (aware of R/O fields)
2006-02-24 09:46:10 +00:00
Volker Ruppert
a4f412d3e8 - boot and loader options rewritten to a parameter tree
- wx: ParamDialog method EnableParam can now handle new-style parameters
- saving of pcidev options fixed
2006-02-23 22:48:57 +00:00
Volker Ruppert
c47508bdb1 - keyboard and mouse options rewritten to a parameter tree
- siminterface method ask_param() can now handle new-style parameters
- proposed parameter tree updated
2006-02-22 19:18:29 +00:00
Volker Ruppert
d4d4cbf6dd - display and interface options rewritten to a parameter tree
- new enum parameter method get_selected() returns a pointer to the selected string
- proposed parameter tree updated
2006-02-21 21:35:09 +00:00
Volker Ruppert
0d4e34d124 - fixed parameter list for function read_toc()
- minor cleanups
2006-02-20 21:58:05 +00:00
Volker Ruppert
d364481bed - pcidev options rewritten to a subtree of parameter "pci"
- save pcidev config line if enabled
- load pcidev plugin if requested
- pci parameter dependencies improved
- textconfig: show the title of a disabled submenu
2006-02-20 21:29:13 +00:00
Volker Ruppert
6311fface8 - pci options rewritten to a parameter tree
- proposed parameter tree updated
- pci presence flag stored in the memory code
2006-02-19 21:35:50 +00:00
Volker Ruppert
509900dff4 - clock and cmos options rewritten to a parameter tree
- clock/cmos menu added in textconfig and wx
- enum parameter type now supports new parameter handling
- long text format for numeric parameters added (useful when both textconfig and
  wx are present)
- wx: handling of list flag USE_BOX_TITLE fixed
- textconfig: optional memory features moved to submenus
- siminterface generates a unique id for new parameters (used for wx dependencies)
- proposed parameter tree updated
- floppy options init code cleanup (still using old-style parameters)
2006-02-19 15:43:03 +00:00
Volker Ruppert
2a6261fba7 - cpu options rewritten to a parameter tree
- boolean parameter type now supports new parameter handling
- new parameter object constructors now supports label initialization
- bx_list_c constructor now supports title initialization
- textconfig: initial support for new parameter handling
- wx: missing CPU config dialog added
- wx: ParamDialog now handles disabled parameters correctly
- removed unnecessary spaces from function calls
2006-02-18 16:53:18 +00:00
Volker Ruppert
409e18127b - DSP DMA timer and count now using more accurate values for 16-bit mode
- wave buffer size increased
- log messages improved
2006-02-09 21:59:42 +00:00
Volker Ruppert
e69a129d01 - fixed IDE register behaviour in case of a channel with one drive connected
* ports for error register, sector count and sector number are shared between
    both drives
  * status register always returns the values of the selected drive (0x00 if
    not present
  * set correct signature for both drives in case of reset
2006-02-06 21:27:34 +00:00
Volker Ruppert
f2de4e5d70 - some fixes in the (currently disabled) sndPlaySound feature (TODO: wave output
device / method should be controlled by sb16 parameter "wave=")
2006-02-05 17:13:54 +00:00
Volker Ruppert
a9a64fe3fc - implemented readable packet log file support similar to other networking modules
(disabled by default)
2006-02-02 18:49:30 +00:00
Stanislav Shwartsman
6ca296de8b Move --enable-reset-on-triple-fault option to runtime CPU::reste_on_triple-fault option in .bocshrc
Cleanup and optimize parser for debugger
2006-02-01 18:12:08 +00:00
Volker Ruppert
28e36a2671 - the CR start bit has no meaning in the PCI version
- set CR TXP bit during transmit operation
- improved various debug and error messages
2006-01-28 20:18:18 +00:00
Volker Ruppert
1e0467c8ff - Cirrus SVGA detection fixed on OS/2 guest (from SF patch #1400358) 2006-01-28 10:28:25 +00:00
Volker Ruppert
621a212e5a - gcc 4.0 warning fixed 2006-01-28 08:52:16 +00:00
Stanislav Shwartsman
2c8f6f7720 Merged patch: determine number of processors to emulate through .bochsrc 2006-01-18 18:35:38 +00:00
Volker Ruppert
3e9ed43413 - code cleanup in the devices code 2006-01-17 20:16:59 +00:00
Stanislav Shwartsman
504081f282 dos2unix, add licence header 2006-01-15 19:34:03 +00:00
Volker Ruppert
373ed723ee - any command sent to the keyboard enables the keyboard clock 2006-01-14 12:34:14 +00:00
Volker Ruppert
e939a43b3d - invalid read/write operations now cause an error instead of a panic
- byte reads from port registers now supported
- report USB revision 1.0
2006-01-11 21:39:34 +00:00
Stanislav Shwartsman
5899932f0c Merge APIC patch to the CVS.
- Fix lowest priority interrupt delivery from I/O APIC
 - XAPIC support
 - Implemented APIC bus functionality
 - cleanup APIC code
2006-01-10 06:13:26 +00:00
Volker Ruppert
e662318422 - fixed timer IRQ handler with a callback function for the OUT pin (OUT pin of
the first timer is connected to IRQ line 0)
- code cleanup (indent mode, bool types, reset function, unused stuff)
2006-01-08 20:39:08 +00:00
Volker Ruppert
76ce7f2b22 - MSVC warnings fixed 2006-01-08 15:23:25 +00:00
Volker Ruppert
a7df662814 - only a change of the INTIN level should be handled by the I/O APIC
- removed I/O APIC IRQ0 hack from the PIC code
2006-01-08 12:01:25 +00:00
Volker Ruppert
ae96159f62 - fixed timer frequency reporting of the old PIT
- small cleanups (removed unused stuff, BX_DEBUG message for control register)
2006-01-08 09:45:11 +00:00
Volker Ruppert
886522349d - spurious interrupt detection added 2006-01-07 18:02:16 +00:00
Volker Ruppert
b9e46e8cf4 - don't panic at unknown commands (aborting the command is okay here) 2006-01-07 12:52:05 +00:00
Volker Ruppert
3d7ddc90a5 - fixed possible division by zero error if the line offset value is 0
- VGA enable register implemented (enabled by default)
2006-01-07 12:10:59 +00:00
Volker Ruppert
682fd2ffdb - fixed PIC IRQ signal handling 2006-01-05 21:57:58 +00:00
Volker Ruppert
54b9499e58 - ELCR setup was sent to wrong PIC 2006-01-02 22:26:27 +00:00
Volker Ruppert
97e1f39d8f - I/O APIC signal handling rewritten ("backported" from qemu)
- don't flood the logfile if APIC EOI has no effect
- fixed a warning in the APIC code
- TODO: fix IRQ 0 handling, implement ExtINT
2006-01-01 11:33:06 +00:00
Volker Ruppert
ff7f41541f - first attempt to fix the I/O APIC code
* IRQ 0, 2 and 13 are usually not connected to the I/O APIC INTIN pins
  * if the IRQ line is set to inactive, clear IRR bit (same as PIC, but that
    needs to be checked)
  * added symbols for I/O APIC input types according to the specs
  * TODO: PIC INTR is connected to INTIN0, edge/level handling in I/O APIC and
    APIC code, ...
2005-12-31 14:46:21 +00:00
Volker Ruppert
00eabeb2de - seek function added in lowlevel cdrom code (reads a block at specified address) 2005-12-27 13:21:25 +00:00
Stanislav Shwartsman
9e4a3675d3 Cleanup APIC code
Fixed APIC timer problem (too many registered timers) reported by Brendan
2005-12-26 19:42:09 +00:00
Volker Ruppert
682895ca77 - fixed error handling for the read ID command (bad drive, media not present)
- the seek command is always executed (doesn't set the EC bit)
2005-12-25 12:03:14 +00:00
Volker Ruppert
7f714b568a - read support for 8029 ID and config registers added 2005-12-24 22:35:04 +00:00
Volker Ruppert
520da21dcf - fixed device type checks (must be compared with FDRIVE_NONE now)
- fixed motor off condition for recalibrate and seek
2005-12-23 12:21:09 +00:00
Stanislav Shwartsman
90059c8faa Non-functional changes, little bit optimize ioapic code 2005-12-13 20:27:23 +00:00
Volker Ruppert
83a799bca8 - don't include the device headers in networking/sound lowlevel code, virtual
and slowdown timers, hdimage and vmware3 code
- updated makefile dependencies
2005-12-10 18:37:35 +00:00
Volker Ruppert
751c0f8ea5 - splitted ATA/ATAPI emulation and image handling code. Now it is possible to use
the hdimage.* stuff with other mass storage interfaces (e.g. SCSI, USB)
2005-12-10 15:02:26 +00:00
Volker Ruppert
ef51fd3595 - if cmos image is enabled, save it on exit 2005-12-04 17:43:09 +00:00
Volker Ruppert
b59b3aed31 - fixed floppy media type check
- fixed result values after trying to access a not existing sector
2005-12-03 18:22:18 +00:00
Volker Ruppert
531c75c002 - keyboard/mouse runtime parameter handlers moved into the device code
- minor code cleanups
2005-12-02 17:27:19 +00:00
Volker Ruppert
f92a666e70 - minor USB updates from Ben Lunt 2005-11-30 18:34:59 +00:00
Volker Ruppert
c227c822b8 - USB runtime parameter handling prepared in the device code 2005-11-29 20:46:17 +00:00
Volker Ruppert
e753570e1f - enable VDE networking module on Linux (same conditions as ethertap)
- eth_vde.cc compilation fix and TUN/TAP hack removed
- mentioned VDE and added example in documentation
2005-11-29 19:28:43 +00:00
Volker Ruppert
fd687a06c2 - fixed sparse type hd image larger than 4GB compiled with MSVC 2005-11-29 18:03:39 +00:00
Stanislav Shwartsman
ff015089b1 Fix get_EIP references in iodebug 2005-11-29 17:38:57 +00:00
Volker Ruppert
cef74b528a - moved runtime handler for 'vga_update_interval' into the device (TODO: this could
be done with some parameters, e.g. mouse, keyboard, usb)
2005-11-27 17:49:59 +00:00
Volker Ruppert
e51c248aaa - fixed size of debug message for the result of a floppy command 2005-11-25 22:29:20 +00:00
Volker Ruppert
31c23fc102 - floppy media type check added (prevents inserting of invalid media in drive,
e.g. 1.2MB 5.25" media in 1.44MB 3.5" drive)
2005-11-22 18:34:51 +00:00
Volker Ruppert
cbf474f7d3 - disk change line behaviour fixed (set at media removal and hardware reset,
cleared at the first step pulse)
2005-11-20 14:15:28 +00:00
Volker Ruppert
8fd02e184b - floppy controller type changed to 82077AA and added a few commands to make
Linux detect it correctly. This changes has no effect on r/w operations.
- data rate select register partially implemented
- register reset fixes and additions
2005-11-16 21:21:35 +00:00
Volker Ruppert
fa996ca9de - don't register i/o and memory address ranges during PCI probe
- PCI devices now report real base address changes only
- writes to the high word of i/o base addresses now permitted (for PCI probe)
2005-11-15 17:19:28 +00:00
Stanislav Shwartsman
5cf5aaef42 Fix compilation warnings 2005-11-14 19:03:12 +00:00
Volker Ruppert
e0f02463f9 - the step delay for the recalibrate and seek commands is now calculated from the
number of steps to do, the step rate time and the date rate
- the option floppy_command_delay is obsolete now, since all floppy delays are
  based on the hardware specs. The usage of this option caused a warning now.
2005-11-12 10:38:51 +00:00
Volker Ruppert
3e00c16800 - define IOCTL_DISK_GET_LENGTH_INFO only if necessary
- fixed UPC flag in ATAPI command 'read subchannel'
- ATAPI command 'read subchannel' now returns "ISRC not recorded"
2005-11-11 22:52:57 +00:00
Volker Ruppert
902b8ec684 - better floppy write timing implementation (TC pulse is only available in DMA
r/w functions and must be stored in a variable)
2005-11-10 18:56:45 +00:00
Volker Ruppert
23776bab81 - more accurate timimg for floppy commands 'write normal data' and 'read ID' based
on a motor speed of 300 RPM
2005-11-09 19:13:32 +00:00
Volker Ruppert
611acd047c - some more usb fixes by Ben Lunt
- small hack for debug messages from the start added (disabled by default)
2005-11-08 18:49:45 +00:00
Volker Ruppert
9934d3b46b - prepared USB flash stick implementation (patch by Ben Lunt - not yet complete) 2005-11-07 19:06:05 +00:00
Volker Ruppert
3c4b32f9a4 - splitted image headers from hard drive header (TODO: split emulation and image
code for non-IDE interfaces)
- fixed bximage error messages
2005-11-06 11:07:01 +00:00
Volker Ruppert
9e57072f28 - ATAPI command "read subchannel format 2" now returns "UPC not recorded"
- changed bool types to bx_bool, false and true to 0 and 1
- some indent mode fixes
2005-11-06 08:21:38 +00:00
Volker Ruppert
82d009c632 - some more usb fixes by Ben Lunt
- missing interrupt on resume added
2005-11-05 12:57:18 +00:00
Volker Ruppert
355e656dd5 - ATAPI command 'read cd': Packet-DMA and raw read support added 2005-11-04 19:03:46 +00:00
Volker Ruppert
5109a7e679 - fixed toc size returned by IOCTL_CDROM_READ_TOC_EX using the size field of toc data
- prepared read_block() function for block size 2352
- report block number at cdrom read block panic
2005-11-02 20:26:24 +00:00
Volker Ruppert
fbd3bc709c - missing closing bracket added 2005-11-02 16:44:00 +00:00
Volker Ruppert
107d68f385 - fixed capacity function on Windows XP using IOCTL_DISK_GET_LENGTH_INFO 2005-11-01 21:43:47 +00:00
Volker Ruppert
6d1e5d6d05 - SET FEATURES subcommands now returning success
- read raw toc for image files and platforms other than Windows XP implemented (ported from qemu)
- several cdrom capacity fixes / report capacity only on Bochs init and cdrom change
- flag 'using_file' must be set to 0 for WIN32 ASPI or direct access
- multisession format handling removed from harddrv.cc (now handled in cdrom code)
- ATAPI error messages improved
- prepared ATAPI buffer for block size 2352
2005-11-01 19:10:24 +00:00
Volker Ruppert
5addd3c8c6 - reply with NACK (resend) to unknown/unsupported keyboard mouse commands
- unnecessary return statements removed
- some messages changed
2005-10-31 15:32:18 +00:00
Volker Ruppert
71185561ad - IDE busmaster DMA for cdroms fixed and enabled
- more accurate DMA timing depending on the transfer size
2005-10-30 19:18:59 +00:00
Volker Ruppert
13bfb46cdc - IDE busmaster DMA for cdroms (packet DMA) prepared, but not enabled yet 2005-10-30 14:14:03 +00:00
Volker Ruppert
afd665f369 - some more usb fixes by Ben Lunt 2005-10-30 10:02:51 +00:00
Volker Ruppert
04d33f73fe - PCI IDE busmaster DMA feature fixed and enabled (Win98 guest can use it without
errors, WinXP guest cannot enable it yet)
2005-10-29 12:35:01 +00:00
Volker Ruppert
0784eac61c - some fixes to usb support from SF patch #1340111 by Ben Lunt 2005-10-29 09:12:39 +00:00
Volker Ruppert
d7807a9841 - allocate vbe memory dynamicly (saves memory if extension Bochs VBE is not selected) 2005-10-27 17:53:41 +00:00
Volker Ruppert
2bbf61deed - read_block() now tries 3 times before giving up
- read_block() now returns a bx_bool value and panic moved to hard drive code
- insert_cdrom() now uses read_block() to test the media presence
- small code cleanups
2005-10-27 17:01:11 +00:00
Volker Ruppert
87e7dd3434 - don't allocate video memory if already done (this was wasting memory)
- don't init / reset Cirrus extension if disabled
- store last active BPP value independent from selected vga extension (fixes possible
  panic when switching from a Cirrus 640x480 mode to standard VGA)
2005-10-27 09:32:02 +00:00
Volker Ruppert
906062fb01 - load pcivga plugin only if assigned to a pci slot and Bochs VBE is selected 2005-10-27 08:20:16 +00:00
Volker Ruppert
7b8ed58815 - end-of-track (EOT) condition implemented
- set valid EOT value in BIOS floppy read/write functions
- added hack to make older Bochs BIOS version work with EOT feature
2005-10-27 07:38:20 +00:00
Stanislav Shwartsman
34ec2c532a Change BX_INFO to BX_DEBUG, it floods the log with a lots of messages 2005-10-23 20:42:20 +00:00
Volker Ruppert
d964eb58ad - the Bochs BIOS and the LGPL'd VGABIOS never cause a panic at line number 0 2005-10-23 13:23:49 +00:00
Volker Ruppert
ca3ccdc096 - fixed typos in manpages, user documentation and others
- clock sync setting "both" was missing in the docs
2005-10-23 07:17:01 +00:00
Volker Ruppert
36187fe1ba - fixed the slowdown timer sleep rate on platforms that don't support the usleep()
function. Now using the value 1 msec on all platforms.
- slowdown timer doesn't need the reset() function (it's not hardware)
2005-10-22 17:31:02 +00:00
Volker Ruppert
0a57b7360c - the polling initiated interrupt occurs 250 usec after leaving reset state
- the main status register returns 0 when in reset state
- improved a panic message
2005-10-09 17:58:37 +00:00
Volker Ruppert
6a290014f6 - ATAPI command 'read cd' partially implemented
- cdrom name returned by ATAPI command 'inquiry' changed
- some more indent mode fixes
2005-10-02 15:44:10 +00:00
Volker Ruppert
0cacb9af0c - deprecated option 'newharddrivesupport' removed from hard drive code
- sense code ASC_ILLEGAL_OPCODE added for unimplemented/unknown ATAPI commands
- some panics changed to errors
- unsupported bits message in drive and head register changed to BX_DEBUG
- improved info about not existing drive
- indent mode fixed in ATAPI packet command section
2005-10-02 10:16:54 +00:00
Volker Ruppert
9b264e8830 - don't report read/write accesses to the PCI host controller with wrong io_len
(guest PCI probe can flood the logfile)
- fixed indent mode in some functions
2005-10-01 17:40:07 +00:00
Volker Ruppert
9e0089fb9e - floppy commands 0x04 and 0x4A do not reset the disk change line (SF patch
#1294930 by Ben Lunt)
- disk change line can be active only when the motor is on
2005-09-28 17:36:01 +00:00
Volker Ruppert
a434503a02 - PCI command register behaviour fixes in some devices 2005-09-23 19:31:12 +00:00
Volker Ruppert
ae3621fb5f - removed temporary PCI base address initialization in the reset() functions
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
2005-09-22 21:12:26 +00:00
Volker Ruppert
edd430d573 - base address area set to read-only (TODO: implement framebuffer base at 0x10)
- unnecessary io_len check removed
2005-09-18 13:02:56 +00:00
Volker Ruppert
9bc26a67d5 - PCI IDE: base address area must be read-only except BM-DMA base
- PCI devices: debug messages fixed
2005-09-18 09:01:05 +00:00
Volker Ruppert
0706c5bcfb - renamed cmos image parameter to 'rtc_init'
- bochsrc sample: example for serial mode 'socket' added
2005-09-18 07:16:28 +00:00
Volker Ruppert
fb44fe9ed1 - removed disabled code for obsolete split-HD support
- missing return value added
- fixed indent mode in modified section
- fixed some typos
2005-09-14 19:52:41 +00:00
Volker Ruppert
6d56565092 - ignore the clock line until after the BAT completion code has been sent
- input port now reports 'keyboard not inhibited'
- output port now reports IRQ1/IRQ12 levels (PS/2 mode)
2005-09-13 19:35:01 +00:00
Volker Ruppert
c58b8b54c3 - binary RTC mode implemented
- cmos image options renamed
- new cmos option controls the usage of the RTC values from image
- report time0 in use after handling the cmos image stuff
- MSVC warning fixed
2005-09-11 20:03:56 +00:00
Volker Ruppert
d0c6b75a70 - number of CMOS registers now set to the fixed value of 128
- new functions bcd_to_bin() and bin_to_bcd() to simplify data conversion
- Bochs CMOS map completed
2005-09-11 08:46:09 +00:00
Volker Ruppert
e450b1af53 - removed obsolete configure option --enable-time0. The 'clock' runtime option
is already doing the same.
- DCC oscillator disable support added
- fixed indent mode in modified sections
2005-09-10 16:40:59 +00:00
Volker Ruppert
fd427df0d7 - RTC 12-hour mode implemented
- unsupported shutdown status values no longer cause a panic
- definition of BX_NUM_CMOS_REGS moved from config.h to cmos.h (TODO: get rid
  of this and implement 128 registers)
- indent mode fixed in modified section
2005-09-10 13:22:51 +00:00
Volker Ruppert
feb7f84dd3 - the BM-DMA interrupt flag must be set when the ide controller generates an interrupt
- BM-DMA base address set to 0xc000 at reset (shoud be done by the PCI BIOS)
- BM-DMA status register write messages changed to BX_DEBUG
- fixed an MSVC warning in the harddrive code
2005-09-05 18:32:23 +00:00
Volker Ruppert
5f9d527dc0 - more accurate timing for formatting using a motor speed of 300 RPM
- indent mode fixed in modified section
2005-09-03 17:20:18 +00:00
Volker Ruppert
b88facfb66 - more accurate timing for reading data using a motor speed of 300 RPM. This is
important at boot time if the user wants to control the boot process.
  TODO:
  * implement timing for write and format commands
  * more accurate timing for seek, recalibrate and maybe others
  * raw floppy access slows down the emulation, use separate threads (???)
- irq line goes low with when reading the first result byte
- the drive status bits are only modified after reading the first result byte
- handling of floppy command 'sense interrupt status' simplified
- improved debug messages for i/o port reads and writes
2005-08-31 19:48:03 +00:00
Volker Ruppert
246d89d6a3 - SB16: in 16-bit mode the 8-bit DMA channel is used if 16-bit DMA is disabled
- SB16: improved some messages and changed some loglevels
- SB16 documentation updates
2005-08-27 08:17:13 +00:00
Volker Ruppert
86c3c68dc4 - fixes for OS/2 in the floppy and rombios code (patch from Robin Kay)
* support for XDF images added
  * floppy controller should hang if media not present
  * rombios has to reset the floppy controller after read/write failure
2005-08-24 20:45:57 +00:00
Volker Ruppert
fec5b4e135 - added new function set_signature() for several ATA/ATAPI commands
- ATA command 0x90 (execute drive diagnostics) now supports cdrom (Plan 9 boots now)
- indent mode in modified sections fixed
2005-08-21 17:40:45 +00:00
Volker Ruppert
ea18b29e12 - geometry autodetection for 'flat' hard disk images added. It works with all
images created with bximage (heads = 16, sectors per track = 63)
- size check for 'flat' hard disk images added. The image size is now compared
  with the size calculated from the geometry.
2005-08-06 18:29:36 +00:00
Volker Ruppert
4f0892a8d4 - assign a unique serial number to each drive (fixes detection problems with
Linux kernels 2.6.x: "ignoring undecoded slave")
2005-08-05 18:35:00 +00:00
Stanislav Shwartsman
7f0fc6df78 Change BX_ERROR message to BX_DEBUG (flooding log file and slows down simulation) 2005-08-03 20:59:35 +00:00
Volker Ruppert
2b52b52145 - detection of wget (or equivalent commands) added (based on SF patch #816979)
- fixed compilation with plugins or an alternative gui enabled on win32 (Cygwin,
  MinGW/MSYS) after adding serial mode 'socket'
2005-07-30 15:04:26 +00:00
Volker Ruppert
c755483e23 - added simple speaker support for OS X using the default system beep
(patch by brianonn@telus.net)
2005-07-27 19:17:29 +00:00
Volker Ruppert
5ec69e8eec - some fixes for OS X Tiger (10.4.1) by brianonn@telus.net 2005-07-24 07:25:02 +00:00
Volker Ruppert
89c2554b7c - missing include for FreeBSD and others added
- set member sin_len of struct sockaddr_in if present
2005-07-11 16:24:47 +00:00
Volker Ruppert
bff2c04c5b - com->socket redirection support added (initial SF patch #1107945 by Andrew Backer) 2005-07-10 16:51:09 +00:00
Volker Ruppert
d4871e66a9 - fixes for Solaris 2.9 (tested with the compile farm)
* .conf.sparc fixed / cleaned up / new features added
  * flag _XOPEN_SOURCE is already defined
  * define BX_HAVE_NET_IF_H when <net/if.h> exists
2005-07-03 09:57:41 +00:00
Volker Ruppert
8380541a8f - replacing uint* types by Bit*u types since they are identical (BeOS code untouched) 2005-06-26 10:54:49 +00:00
Volker Ruppert
048467681c - fixes for compiling on MorphOS (configure script, cdrom, sdl) 2005-06-23 18:40:35 +00:00
Volker Ruppert
60c7be796c - added prefix "ataX-Y:" to messages in some more harddisk commands
- added missing break statement after command_aborted() call
- fixed indent mode in the modified sections
2005-06-19 07:22:20 +00:00
Volker Ruppert
e23d77f103 - changes in some hard drive commands:
* added prefix "ataX-Y:" to panic mesages (X=channel, Y=drive)
  * added command_aborted() call after the panic
  * fixed indent mode in the modified section
2005-06-18 15:00:11 +00:00
Volker Ruppert
f67552df29 - TFTP write support implemented (doesn't overwrite files)
- missing DHCP symbol added
2005-06-12 08:59:32 +00:00
Volker Ruppert
96767b28b6 - C++ strings seem to make trouble on some platforms. Now using standard C strings
- prepared TFTP write support
2005-06-08 21:11:54 +00:00
Volker Ruppert
69fe0b00d4 - some more warnings in MSVC fixed 2005-06-07 19:26:21 +00:00
Stanislav Shwartsman
b5514f42de Merged patch for "compilation outside source directory"
Added missed copyrights for APIC.CC
2005-06-07 05:54:57 +00:00
Volker Ruppert
5e75dc3a10 - some more warnings in MSVC fixed 2005-06-06 20:14:50 +00:00
Volker Ruppert
b6fc5768fa - fixed compilation with x86_64 and gcc4 (SF patch #1211525 by scop) 2005-06-05 07:24:43 +00:00
Volker Ruppert
e98c100f74 - a bunch of warnings in MSVC fixed
- name of source file in wxworkspace.zip fixed
2005-06-04 17:44:59 +00:00
Volker Ruppert
2ea23a5f6e - access to data register fixed (initial patch by Gregory Trubetskoy)
- removed unnecessary io_len checks
2005-06-04 07:58:02 +00:00
Volker Ruppert
8bd2d27e29 - update irq level after IMR write
- attempt to set IMR bit 7 no longer causes a panic
- fixed multicast/broadcast packet detection
- small code cleanup
2005-05-26 09:24:28 +00:00
Volker Ruppert
e5fb8cd8ba - reject TFTP read requests until the current session has been completed
- silently ignore error packets
- changed symbol name to TFTP_BUFFER_SIZE
2005-05-21 19:33:25 +00:00
Volker Ruppert
c2e53c2d95 - fixed tuntap incompatibility with Linux kernels 2.6.x (SF patch #1203305)
- improved debug message for the received packet
2005-05-21 07:38:29 +00:00
Volker Ruppert
837a46eddc - applied SF patch #1200515 by easeway <easeway@163.com>
* simple read-only TFTP server implemented
  * don't discard IPv4 packets larger than the length stored in header
- TFTP server uses ethdev value for the root directory
- removed trailing newlines in messages
2005-05-13 18:10:58 +00:00
Volker Ruppert
4a7d435ba7 - now using GetDiskFreeSpaceEx() and valid arguments to determine the media size
- report the cdrom capacity in megabytes instead of bytes
- don't flood the logfile with error messages when the guest OS checks the cdrom
  unit periodicly for media presence
2005-05-04 18:19:49 +00:00
Volker Ruppert
7b5d0b53ed - fixed horizontal pel panning handling in text mode 2005-04-30 21:22:26 +00:00
Stanislav Shwartsman
19750b0324 Fixed highest_priority_int calculation function
Fixed I/O APIC ID for 8CPU configuration to match BIOS tables
Remove I/O APIC initialization when INIT IPI received
2005-04-27 18:09:27 +00:00
Volker Ruppert
4c6478d6dd - use the 6th byte of the guest mac address if the source and destination address
of the received packet are identical
2005-04-24 11:06:49 +00:00
Volker Ruppert
eaf492de82 - destination write mask handling fixed in 24 bpp modes 2005-04-21 18:31:58 +00:00
Volker Ruppert
34653048ef - optimizations in function redraw_area()
- if a screen update is needed after i/o writes, now redraw_area() is called instead
  of duplicating the code
2005-04-15 17:33:54 +00:00
Volker Ruppert
53a99cc3b2 - hack added to make the hardware cursor visible on indexed displays (e.g. win32
display library in 8 bpp mode). FIXME: find nearest match in DAC table
- optimizations in function redraw_area()
- removed unnecessary code in colorexpand functions
2005-04-14 18:59:46 +00:00
Volker Ruppert
301b491a3f - fixes for colorexpand with destination write mask values > 0 2005-04-13 20:38:09 +00:00
Volker Ruppert
6ce17bbc2e - cpu-to-video transparent colorexpand function renamed and implementation completed
- some other code cleanups
2005-04-13 18:39:26 +00:00
Volker Ruppert
7e6ea7c1ee - fixes for patterncopy with destination write mask values > 0
- some comments updated
2005-04-12 21:26:55 +00:00
Stanislav Shwartsman
8191e3f577 Rolled back mistakely committed I/O APIC experiment 2005-04-11 16:51:09 +00:00
Stanislav Shwartsman
1755589376 Separate pageWriteStamp from ICACHE. The pageWriteStamp has totally independant structure and could be used in future with icache structure. Also it could be significantly speeded up using BX_SMF analog constructions. 2005-04-10 19:42:48 +00:00
Volker Ruppert
90e9e78450 - more accurate implementation of the bitblt destination write mask
- extended bitblt flag DWORDGRANULARITY now supported
- bitblt messages changed to BX_DEBUG
- report write mask in bitblt message
2005-04-10 17:17:19 +00:00
Volker Ruppert
12bb6400f3 - cpu-to-video bitblt code rewritten and dword alignment fixed
- memory mask for the 2 MB ISA version fixed
- bltwidth is unmodified now (width corrected in bitblt functions if necessary)
2005-04-09 11:57:23 +00:00
Volker Ruppert
0074e82a82 - extra page registers implemented (these registers have no effect on DMA operations)
- port 0x80 belongs to the DMA page register set
2005-04-06 21:09:25 +00:00
Volker Ruppert
db46b687d8 - controller disable feature added
- code cleanup (removed unused stuff and unnecessary statements etc.)
2005-04-05 17:57:32 +00:00
Volker Ruppert
a5fb44c340 - changed data type of bulkIOHostAddr to Bit8u* (fixed compilation on 64 bit hosts) 2005-04-02 11:30:08 +00:00
Stanislav Shwartsman
b2148cdf07 Fixed swapped memset params 2005-04-01 09:24:15 +00:00
Volker Ruppert
b084267f75 - fixed pattern pitch for 24 bpp video-to-video patterncopy 2005-03-30 19:47:28 +00:00
Volker Ruppert
e1aee85d19 - fixed src start address for video-to-video patterncopy 2005-03-29 19:42:02 +00:00
Volker Ruppert
35ee22210d - fixed redrawing after backwards bitblt operations
- print mode switch information only when there's really a change
2005-03-27 09:46:31 +00:00
Volker Ruppert
bf1f4816a6 - store the text snapshot at the base address of the text_snapshot array again.
The old code could fail when an OS scroll with start address changes (DLX Linux)
- handle the graphics controller shift register value 3 the same way as 2. We need
  a test case for this setting.
2005-03-27 08:02:54 +00:00
Volker Ruppert
90cae090c2 - missing initialization of the BM-DMA base address added 2005-03-24 19:19:19 +00:00
Volker Ruppert
447a88986a - print the type of Cirrus card active after init
- read/write access to unknown CRTC, sequencer or GFX controller registers now
  causes a BX_DEBUG message
- replaced not portable variable 'unsigned long' by portable ones
2005-03-22 22:20:26 +00:00
Stanislav Shwartsman
f77ddd9701 Remove cpu_onlline_map varaible, it wasn't initialized properly and might cause APIC problems 2005-03-19 18:43:00 +00:00
Volker Ruppert
6144d8118a - text mode update code no longer depends on the memory mapping (fixes SF bug
#1159639)
- size of text snapshot space increased to 128 kByte (for all memory mappings)
- immediately return after the panic when the number of text lines is too large
  to avoid segfault
2005-03-18 14:52:29 +00:00
Stanislav Shwartsman
e6e9dd3825 Extend Bochs instrumentation
Compatability fixes
2005-03-17 20:50:57 +00:00
Volker Ruppert
bb1eb205a8 - fixed keyboard command "get scancode set" (SF patch #1159626) 2005-03-14 20:43:45 +00:00
Volker Ruppert
3c475e831f - prepared non-DMA mode implementation
- improved lseek() panic message and immediatly return if lseek() fails
2005-03-11 21:12:54 +00:00
Volker Ruppert
0b1497d13e - fixed broken screen updating in VBE mode (SF patch #1153511)
- fixed 8-bit DAC support in the VBE update code
- simplified redraw code in vbe_write()
2005-02-28 21:23:34 +00:00
Volker Ruppert
7576000637 - fixed extended memory size in kByte reported by the BIOS. If there are more
than 64 MB memory installed, the reported XMS size must be 63 MB (OS/2 Warp 3
  is expecting this)
2005-02-16 17:53:40 +00:00
Volker Ruppert
279aa9f8d9 - ignore mouse command 0xbb used by OS/2 Warp 3
- removed unnecessary newlines from messages
2005-02-16 16:37:45 +00:00
Volker Ruppert
2b196e5c61 - removed useless VLB-IDE support (ISA and PCI IDE are working okay)
- removed dangerous options from the harddrive code
2005-02-15 20:48:14 +00:00
Volker Ruppert
16f6ce5e97 - missing return value added 2005-02-12 08:59:47 +00:00
Volker Ruppert
5b57471245 - vga extension check added. Unsupported extension names now cause a panic
- vga extension option in bochsrc sample added
2005-02-10 09:48:12 +00:00
Volker Ruppert
5e420c7172 - vga extension option now controls the presence of the Cirrus extension
- Cirrus and VBE support are no longer mutually exclusive
2005-02-09 22:01:19 +00:00
Volker Ruppert
3cee8f0ef5 - more accurate speaker output using a separate thread. This is necessary since
Beep() does not return before the speaker is turned off.
2005-02-09 18:25:57 +00:00
Volker Ruppert
a57464cb54 - Busmaster DMA fuction implemented, but disabled for now. BM-DMA works in Linux,
but failes in Win98 with this code, so I decided to disable it.
- BM-DMA register read messages changed to BX_DEBUG
2005-02-08 18:32:27 +00:00
Volker Ruppert
2137cef71f - behaviour of the busmaster dma registers fixed and info messages improved
(BM-DMA feature still not implemented)
2005-02-06 13:05:20 +00:00
Volker Ruppert
23c628e1a7 - ASP/CSP registers and read/write functions added (reads/writes to these
registers have no effect on the emulation)
- undocumented DSP command 0xF9 added using the return values from qemu's sb16
  emulation (Win98 cannot use the SB16 without this)
- version identifier in mixer register 0x82 added
2005-02-04 19:50:50 +00:00
Volker Ruppert
3f33b88941 - applied SF patch #1095472 by Ben Lunt (Reading from a CDRW fixed)
- fixed boot sequence reporting in logfile
2005-02-03 21:01:01 +00:00
Volker Ruppert
a16fbc293a - vga extension option partially implemented (Bochs VBE interface and PCI VGA
dummy interface are now disabled if the extension isn't set to "vbe"
- writing charmap data in graphics mode now supported (SF patch #1059199)
- fixed set_ask_format() for the mouse type option
2005-02-01 19:16:39 +00:00
Volker Ruppert
7a35a36390 - pc speaker output for win32 added 2005-01-29 12:08:31 +00:00
Volker Ruppert
6753ccb272 - fixed write mode 4 + 5 (based on a patch for qemu by Magnus Damm)
- fixed size of MMIO region at 0xB8000
- don't report writes to unused control/mmio registers
2005-01-27 18:11:43 +00:00
Volker Ruppert
8d2d2bd83b - redirect mouse data to USB only when an USB mouse is connected
- connect USB mouse only when the mouse type is set to 'usb'
2005-01-21 16:07:38 +00:00
Stanislav Shwartsman
acd1d8f14f Merged patch
[1104695] msvc6 compatibility update (Royce Mitchell III)
2005-01-19 18:21:40 +00:00
Volker Ruppert
83fba2248e - raw floppy access on Linux fixed: use defaults if FDGETPRM fails (USB drives
appear as SCSI devices)
2005-01-16 15:58:40 +00:00
Volker Ruppert
2c001794a2 - USB keypad now supported (patch from Ben Lunt)
- USB port config option now handled in the pciusb code (the devices "mouse" and
  "keypad" are currently supported)
2005-01-14 18:28:47 +00:00
Volker Ruppert
c956b5bfea - debug output cleanup (SF patch #1092058 by Ben Lunt) 2005-01-02 10:42:15 +00:00
Volker Ruppert
dced2eeaf5 - fixed Solaris 9 ne2k probe (SF patch #1093796 by Nigel Horne)
- fixed indent mode in function write_cr()
- removed unused logging stuff in function write_cr()
2005-01-01 09:31:38 +00:00
Volker Ruppert
2ef111524a - USB keypad support prepared 2004-12-31 16:40:36 +00:00
Volker Ruppert
aa5fa1daf3 - prepared usb port configuration parameter and removed usb irq parameter
(assigned by BIOS)
- fixed some issues in bx_write_configuration()
- fixed bug in ne2k/pnic option parser (failed when disabling disabled device)
2004-12-30 14:50:37 +00:00
Volker Ruppert
dc70d6a47b - drawing of hardware cursor fixed on 15 bpp host displays
- fixed some warnings
2004-12-29 10:43:34 +00:00
Volker Ruppert
e5c667a4a5 - fixed mouse pointer movement by using delayed one if no move is present
- fixed USB port numbers according to the specs
2004-12-26 09:28:35 +00:00
Volker Ruppert
3b30e554ad - missing initialisation of variable 'cur_command' added
- updated year in copyright
2004-12-25 09:29:31 +00:00
Volker Ruppert
3ee4cd39b4 - applied new pciusb patch by Ben Lunt that makes the USB mouse work on Linux 2004-12-24 21:38:01 +00:00
Volker Ruppert
5c2ccc7d90 - applied new pciusb patch by Ben Lunt
* re-insert usb mouse works now (Win98/Win98SE)
  * Win98 shutdown problem fixed
  * Linux HCRESET problem (device connection still fails)
  * USB keypad code added (not enabled yet)
2004-12-19 09:59:40 +00:00
Volker Ruppert
17b29a0b30 - applied a set of patches from SF patch #1083218 by Ben Lunt with some changes
- mouse type constants changed to enum values and related changes in config.cc
2004-12-16 19:05:01 +00:00
Volker Ruppert
d5684940a1 - renamed parameters that control the sb16 and ne2k presence to "enabled"
- ne2k and sb16 config lines now support the parameter "enabled=0|1"
- config parser code for ne2k and pnic now working the same way
- ne2k enable option now present in config menu / dialog
2004-12-14 19:27:42 +00:00
Volker Ruppert
02ae558db8 - removed old unused code designed for a save/restore feature
- fixed pcidev targets in iodev/Makefile.in
- updated all Makefile dependencies using a default setup (.conf.linux).
  TODO: dependencies should be generated at compile time since they depend on
  the config settings
2004-12-13 19:10:38 +00:00
Volker Ruppert
78218d8b1b - implementation of bus mouse and usb mouse started - NOT YET COMPLETE !
(SF patch #1082584 by Ben Lunt)
2004-12-11 08:35:33 +00:00
Volker Ruppert
5ed6a80f69 - mouse type definitions moved to siminterface.h and BX_* prefix added
- mouse type 'ps2' is now the default again
2004-12-09 18:47:36 +00:00
Volker Ruppert
faafc6a93a - mouse type 'none' added (no mouse connected)
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
  still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:06:35 +00:00
Volker Ruppert
1d5eb60ec8 - fixed 'imps2' mouse emulation - wheel data is okay now
- wheel mouse support for the 'x' display library added
2004-12-06 21:12:11 +00:00
Volker Ruppert
202734a5a3 - first attempt to implement a wheel mouse (PS/2 or serial) based on patch
#1079240 by Ben Lunt. There are still some problems:
  - PS/2 mouse is always present (some code to emulate a disconnected mouse needed)
  - PS/2 wheel mouse doesn't work properly
  - serial wheel mouse detected as a standard mouse and doesn't work at all
2004-12-05 20:23:39 +00:00
Volker Ruppert
301ffc2a7f - standard 2-button serial mouse implemented (with mouse option 'type=serial'
and one com port needs setting 'mode=mouse')
2004-12-02 21:34:26 +00:00
Volker Ruppert
6cc4cd8c4b - mouse type option prepared (TODO: device code for wheel and serial mouse) 2004-11-30 21:03:16 +00:00
Volker Ruppert
c3333d10cd - detect sequence for entering wheel mouse mode (not implemented yet)
- commented info/debug messages removed
- indent mode cleanup
2004-11-27 14:38:13 +00:00
Volker Ruppert
24cb20a563 - serial mouse support prepared (TODO: redirect mouse data to serial port) 2004-11-27 10:09:41 +00:00
Stanislav Shwartsman
02fc33a86b Fix CS.base register after #RESET
update changes
2004-11-16 19:19:13 +00:00
Volker Ruppert
975cd53fa5 - vbe update code now uses the new graphics API
- old update code removed from display libraries sdl, wx and x
- wx.cc: fixed a warning
2004-11-06 17:03:44 +00:00
Stanislav Shwartsman
1a6656ce91 Fixed compilation warnings (g++, -Wall)
Improve speed and precision of FPATAN FPU instruction
2004-11-04 22:41:24 +00:00
Volker Ruppert
b47448c6e5 - assign guest IP address if the valid address is requested
- host IP address added in DHCP reply
- memcpy for default IP adresses fixed
- default lease time increased to 8 hours
2004-10-24 12:49:04 +00:00
Volker Ruppert
75dc3bfdc6 - some compilation errors and warnings fixed 2004-10-19 17:24:59 +00:00
Stanislav Shwartsman
75e0c5b421 Little speed optimizations in cpu_loop function
change apic classes to more c++ friendly
2004-10-16 19:34:17 +00:00
Volker Ruppert
06b249ebc6 - boot sequence support added in the config interface and the hard drive init
code. Up to 3 boot drives are supported now. TODO: new boot dialog for wx.
- config.cc: missing ask formats for enum parameters added
- wxdialog.cc: tab window now uses the label instead of the ask format if defined
2004-10-16 15:44:00 +00:00
Volker Ruppert
c7f205a6e9 - udp packet checksum generation fixed 2004-10-13 19:42:25 +00:00
Volker Ruppert
31e4cb1fee - dependencies between NE2k and PCI Pseudo-NIC removed from the config interface
- menu and option names for the network configuration fixed
- NIC init code passes script name to ethernet module init code
- VDE module added to the list of ethernet modules
- constant BX_PACKET_BUFSIZE moved to eth.h
2004-10-07 17:38:03 +00:00
Volker Ruppert
f93b04df0b - the PCI Pseudo-NIC is now independent from the NE2000 NIC stuff. New symbol
BX_NETWORKING controls the presence of the lowlevel networking stuff.
- eth.cc: unused stuff removed
2004-10-03 20:06:12 +00:00
Stanislav Shwartsman
5139af0fd1 Fixed compilation error 2004-10-03 19:30:36 +00:00
Volker Ruppert
36bac333c0 - DHCP extcode BOOTPOPT_REQUESTED_IP_ADDRESS now supported 2004-10-01 17:14:46 +00:00
Volker Ruppert
60305ec9fb - packet send / receive log messages changed to BX_DEBUG
- unused symbols *_VIRTUAL_HW_ADDR removed
- indent mode in function tun_alloc() fixed
2004-09-26 15:38:24 +00:00
Volker Ruppert
b5e4d0666b - temporary pci irq initialisation removed from pci devices (now done in the
PCI BIOS)
2004-09-25 22:15:02 +00:00
Volker Ruppert
c36d0c38e7 - fixed crash after debugger command 'show "call"' (mingw doesn't like %ll and
%*s in one statement)
- defined platform dependant symbol FMT_TICK for cpu ticks output to logfile and
  debugger console
- fixed indent mode in function bx_dbg_symbolic_output()
2004-09-19 18:38:09 +00:00
Stanislav Shwartsman
2d44108b13 dos2unix 2004-09-18 14:16:59 +00:00
Volker Ruppert
8d72800b09 - don't modify the destination MAC address if it's the broadcast address (tap and tuntap)
- definition of the broadcast MAC address moved to eth.h
- removed eth_tap.cc description from eth_tuntap.cc
- disabled eth_tap.cc packet logging
2004-09-18 12:35:13 +00:00
Volker Ruppert
c3cdd7ef21 - applied some changes from patch #966105 (bugfixes, message type changes)
- report irq line change similar to other pci devices
2004-09-16 18:34:10 +00:00
Stanislav Shwartsman
bbd55fe16f Merge and commit patch.apic-zwane from CVS patches directory.
the patch release notes by Zwane:

o Define symbols for constants like
o APIC arbitration
o Processor priority
o Various interrupt delivery fixes
o Focus processor checking
o ExtINT delivery

I need to release this now so that i don't fall too far behind CVS, when
it was part of the bochs-smp patch it could boot 2.4.18 4way. Apologies
for the whitespace changes.


Also remove patch.apic-ppr-zwane patch because it already included in
patch.apic-zwane.

I hope it will help to boot x86-64 or cmp systems required missed APIC
features !
2004-09-15 21:48:57 +00:00
Volker Ruppert
ff1c5578a5 - pci irq routing: unregister the old IRQ before registering the new one
- lower the IRQ line before unregistering it
2004-09-12 18:04:18 +00:00
Volker Ruppert
1663f995e0 - support for GNU/kFreeBSD and GNU/kNetBSD added in lowlevel iodev code (cdrom,
ne2k, sb16, etc.) (SF patch #1021758 from Robert Millan)
2004-09-11 15:39:53 +00:00
Volker Ruppert
f1816bb226 - DHCP extcode BOOTPOPT_IP_ADDRESS_LEASE_TIME now supported
- DHCP reply parameter BOOTPOPT_ROUTER_OPTION implemented
- vnet host name for DHCP added
- more accurate send / receive timing
- improved error messages
- vnet description in bochsrc sample added (SF patch #888426)
2004-09-11 11:26:41 +00:00
Volker Ruppert
11c81a46eb - temporary PCI IRQ initialisation fixed (should be done by the PCI BIOS) 2004-09-10 11:54:46 +00:00
Volker Ruppert
00bf370db2 - some compilation fixes for the raw serial support 2004-09-05 21:09:46 +00:00
Volker Ruppert
9956e47f3e - modified the bios / vgabios panic handling. BX_PANIC messages sent by the bios
now appear correctly as the Bochs panic message. Now we can get rid of messages
  with the line number in the source file.
- updated / fixed description in biosdev.cc
2004-09-05 17:57:22 +00:00
Volker Ruppert
8d585dc813 - removed lowlevel includes from iodev.h and device headers to reduce dependencies
- fixed some warnings
2004-09-05 10:30:19 +00:00
Volker Ruppert
14d5b69d96 - win32dialog: set / restore cdrom path only if changed in the dialog
- insert cdrom now loads the media before trying to read a sector (Win NT/2k/XP)
2004-08-30 10:47:09 +00:00
Volker Ruppert
a75d9f173d - mem_write: missing return statement added
- small fixes in bitblt functions (colorinvert, patterncopy)
2004-08-28 15:31:33 +00:00
Volker Ruppert
12be3b4805 - receive timer added to simulate a delay between send and receive packets
- CVS ID line added
2004-08-27 08:23:50 +00:00
Volker Ruppert
986f879a85 - transparent colorexpand support improved (colorinvert, patterncopy)
- old-style update code no longer necessary
2004-08-26 16:20:50 +00:00
Volker Ruppert
9a3a22b1ae - CDROM_MODE_SENSE now returns the medium type if a medium is present (patch from Ben Lunt) 2004-08-24 15:15:19 +00:00
Volker Ruppert
03b9d07d52 - unused vga function dump_status() rewritten for the use with the debugger ("info vga") 2004-08-24 10:15:56 +00:00
Volker Ruppert
09043def10 - fixed possible segfault if the LFB is accessed and VBE is disabled
- if USB is disabled in bochsrc the old VBE interface can be enabled, too
2004-08-23 18:47:25 +00:00
Volker Ruppert
8f15a12248 - extended read TOC support for WinXP (SF patch #961665 from Ben Lunt)
- return multisession info for image files on win32 (copied from harddrv.cc)
2004-08-23 09:39:45 +00:00
Volker Ruppert
2d695b4d74 - variable bUseASPI must be a member of the cdrom object
- report WNASPI32.DLL version (some versions are not working properly)
- new variable isWindowsXP added (for future enhancements)
- PVR address in TOC for image files fixed (SF patch #977900 from Ben Lunt)
- converted tabs to spaces in modified sections
2004-08-22 16:23:35 +00:00
Volker Ruppert
5090dd444f - added stub for command 0xaf (get controller version) (patch from Ben Lunt) 2004-08-21 08:15:42 +00:00
Volker Ruppert
99a42a8dbc - applied SF patch #838601: support for > 2 GB disk size with MSVC++
- support for non-standard disk sizes 1.68 MB and 1.72 MB in bximage
- large disk support also works now if compiled in msys/mingw
2004-08-19 19:42:22 +00:00
Volker Ruppert
f06b1bf577 - extended bitblt mode solidfill implemented
- svga_patterncopy() fixed
- svga_pitch change fixed
- forward write to MMIO address 0x13 to graphics controller register 0x2b
2004-08-16 15:23:19 +00:00
Volker Ruppert
45ccb97021 - CL-GD 54xx SVGA emulation added (SF patch #869822 from m_suzu_abc@yahoo.co.jp)
- changes to the original svga_cirrus patch:
  * PCI memory/mmio PnP support, some emulation and compile fixes
  * ported write mode 4 + 5 and some bufixes from cirrus vga in qemu
  * new graphics API, hardware cursor support, configure option added (Robin Kay)
  * partial support for transparent bitblt and bitblt write mask
2004-08-16 08:07:23 +00:00
Volker Ruppert
1b9de4c7f2 - undocumented feature 'read all mask bits' added
- master/slave handling in read/write handlers simplified
2004-08-11 11:48:55 +00:00
Volker Ruppert
f6f6568adf - configure / compile fixes for Solaris SunPro (patch from Robin Kay) 2004-08-11 11:09:01 +00:00
Volker Ruppert
d06c80cee3 - changed all iodev config macros to BX_SUPPORT_xxx
- removed incorrect SDL/ prefix from include paths (patch from Robin KAY)
2004-08-06 15:49:55 +00:00
Volker Ruppert
f1a0f56d55 - support for serial port modes added. The mode defines what to do with the
data written to the port and where to get the data read from it. Available
  modes are 'null' (no input/output), 'file' (output to a file specified as
  the 'dev' parameter), 'term' (serial terminal) and 'raw' (use the real serial
  port - under construction for win32).
- descriptions for serial and parallel options in bochsrc sample updated
2004-07-28 19:36:42 +00:00
Volker Ruppert
1c3d8436c6 - compilation fixes for ne2k with pci disabled (patch from suzu) 2004-07-26 16:04:31 +00:00
Volker Ruppert
89f4d0b7d0 - 16-bit read access now enabled for the attribute controller
- vbe: setup of vga compatible registers modified: 2 CRTC registers removed (now
  done in LGPL'd VGABIOS) and 2 sequencer controller registers added
- obsolete comments removed
2004-07-24 18:12:00 +00:00
Volker Ruppert
6784f00723 - VBE 4 bpp support added, VBE mode 0x0102 works much better now in WHATVGA 2004-07-21 20:39:54 +00:00
Volker Ruppert
f24f8a4c77 - VGA memory now registered using DEV_register_memory_handlers (static VGA
memory handling in memory.cc removed)
- CRTC write protection implemented
- 16-bit read access to some VGA registers added
- memory handler code now conciders the status of the A20 line
2004-07-18 19:40:51 +00:00
Volker Ruppert
1ae1930be2 - replaced old style i/o and irq register mechanism by the new one for pci devices 2004-07-13 17:45:34 +00:00
Volker Ruppert
295dd25e10 - pci core: write access to base address registers disabled 2004-07-12 18:16:16 +00:00
Volker Ruppert
a17fb79623 - removed old style i/o and irq register mechanism
- i/o access mask fixed
2004-07-12 17:34:28 +00:00
Volker Ruppert
c9a113d623 - new functions for pci base address handling for memory and i/o space 2004-07-11 20:38:48 +00:00
Volker Ruppert
f5225d7592 - check pci slot configuration at first reset() call 2004-07-09 16:25:42 +00:00
Volker Ruppert
4623108de3 - level sensitive irq mode implemented (update IRR after EOI) 2004-07-08 18:45:03 +00:00
Volker Ruppert
242b9a2c3a - level sensitive irq mode prepared
- pci reset mechanism implemented
- obsolete ResetSignal stuff removed
- ioapic: irq handling functions renamed to raise_irq/lower_irq
- pic: fixed two warnings
2004-07-06 19:59:10 +00:00
Volker Ruppert
0a5606bc84 - pci irq sharing with irq routing registers implemented (untested: two pci
devices with irq required)
2004-07-05 18:42:48 +00:00
Volker Ruppert
c6834907ad - pci irq routing fixed and initialization added (BUG: ne2k-pci only works with
irq 11 in Win95)
- bios: irq routing table fixed and updated for 5 slots
- ne2k: unnecessary reset call in init() removed
- usb: don't execute reset if disabled
2004-07-04 17:10:05 +00:00
Volker Ruppert
7e2af124bd - load ne2k plugin after pci plugins
- pci2isa is now a core plugin (if enabled)
- fixed double reset calls of optional device plugins (bx_reset_plugins() is
  already doing it)
2004-07-03 08:20:19 +00:00
Volker Ruppert
8edad22893 - pci irq routing implemented (used by ne2k-pci)
- ne2k: fixed word writes to page 0 reg 0x0f
2004-07-01 22:18:20 +00:00
Volker Ruppert
ae180cc46a - pci slot register mechanism added
* up to 5 slots can be specified with the 'i440fxsupport' config option
  * the pci slot number are hardwired to pci device numbers
  * the 'devfunc' value is returned the calling device (useful for multi-function
    devices)
  * the core of the i440FX chipset is hardwired to pci device 1 + 2; usb is still
    optional and appears at device 1, function 2
- ne2k: enable pci features if connected to a pci slot
- ne2k: asic data port supports 32-bit access if ne2k-pci is active
- pci2isa: improved error messages for ELCR1 and ELCR2
2004-06-29 19:24:34 +00:00
Volker Ruppert
2b16344b70 - NE2000 PCI support added (device appears as a RealTec 8029)
* PCI initialization and configuration space handling added
  * ASIC data port now supports 32-bit r/w if PCI is present
  * PCI device will be enabled if the requested base address is >= 0x1000
- ne2k: 8390 command register is now present on all pages
- ne2k: some panics changed to errors, debug messages improved
- PCI host bridge is now a core plugin (if enabled) and initialized earlier
2004-06-27 18:23:00 +00:00
Volker Ruppert
24d1d540df - adding stanard IDE i/o ports in PCI configuration space not necessary
- behaviour of some PCI configuration registers fixed
2004-06-22 19:34:55 +00:00
Stanislav Shwartsman
a8353dd450 Fixed typo 2004-06-21 19:36:04 +00:00
Christophe Bothamy
28f70482f0 - fix for crash when PCINic is compiled in but no ne2k line present in conf file.
Thanks to Ari Entlich
2004-06-21 10:52:50 +00:00
Christophe Bothamy
ba13a484b5 - replace ResetCpu and ResetSystem by Reset(BX_RESET_SOFTWARE) and Reset(BX_RESET_HARDWARE) 2004-06-21 10:39:24 +00:00
Stanislav Shwartsman
a7cad86666 clean code 2004-06-19 19:16:02 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Volker Ruppert
c8a57ae33c - pci_ide: fixed pointer to device object if SMF = 1
- pcivga: fixed memory access flag in PCI command register
2004-06-09 22:05:28 +00:00
Volker Ruppert
bf243f892a - added PCI IDE controller (dummy device - busmaster feature not present yet) 2004-06-09 20:55:58 +00:00
Volker Ruppert
36d7f60c21 - VBE LFB memory now registered using DEV_register_memory_handlers (static LFB
memory handling in memory.cc removed)
- type of memory handlers changed to bx_bool
- misc_mem.cc: fixed a warning
2004-06-06 17:01:19 +00:00
Volker Ruppert
9d01ce4bfc - raw floppy access now supported in Win 9x (patch from Ben Lunt) 2004-05-31 14:47:12 +00:00
Stanislav Shwartsman
835bb8936a Fixed bug
[ 962919 ] Mac: iodev/cdrom.cc disordered
2004-05-30 19:20:53 +00:00
Volker Ruppert
a2d6bfc786 - raw serial receive support for win32 added. It is disabled for now because it
doesn't work properly (lost data at 300 baud).
2004-05-13 16:23:15 +00:00
Volker Ruppert
7cd2f11e79 - VBE 8 bit DAC support added 2004-05-04 20:41:53 +00:00
Christophe Bothamy
381d2ce460 - apply [ 903465 ] SEGV in iodev/ne2k.cc line 1211 on Alpha architecture by Christian Lestrade 2004-05-01 14:05:07 +00:00
Volker Ruppert
02f326264e - charmap address for block numbers > 0 fixed
- some BX_INFO and BX_DEBUG messages changed
2004-04-25 07:16:09 +00:00
Volker Ruppert
ac6bed9a17 - vga code prepared for the split screen feature in text mode
- display library sdl: text mode split screen implemented
2004-04-09 15:04:54 +00:00
Christophe Bothamy
f9b37fac62 - implement cpu reset on write to bit0 of port 0x92 2004-04-08 21:23:41 +00:00
Christophe Bothamy
ed87e6aed1 - call bx_pc_system.ResetCpus on system reset (command 0xfe)
- implement reset through bx_pc_system.ResetCpus on write output port bit0
2004-04-08 21:21:22 +00:00
Volker Ruppert
e14918637a - serial_raw: return value of get_modem_status() changed
- serial_raw: data type of the receive function is now 'int' again (negative
  return values will be serial events)
2004-03-28 12:41:12 +00:00
Michael Brown
134c10635f Up to API version 1.1. IRQ support added. 2004-03-26 03:22:46 +00:00
Michael Brown
a31026261b Correct PCI class to "Network Controller" 2004-03-24 18:16:27 +00:00
Volker Ruppert
47a9c75235 - some data types changed 2004-03-20 12:42:13 +00:00
Volker Ruppert
33cb0be81f - log prefix for serial_raw fixed
- clear modem lines and break condition in constructor
- clear comm error and close event object after sending data
- ready_receive() now depends on the number of received bytes (receiver thread
  not present yet)
2004-03-17 17:08:57 +00:00
Volker Ruppert
8a9b4a1429 - cleaned up rx_timer() (raw serial support doesn't need the select function 2004-03-13 17:17:16 +00:00
Volker Ruppert
222cf871fd - serial_raw for win32: transmit data implemented 2004-03-12 14:33:22 +00:00
Volker Ruppert
87853190b5 - bit number of the loopback switch fixed 2004-03-09 22:17:33 +00:00
Volker Ruppert
677574bfa8 - break signal handling in loopback mode added
- change the raw serial settings when entering or leaving loopback mode
- write handler: new bit values now stored in local variables
- serial_raw: fixed a warning
2004-03-09 21:58:37 +00:00
Volker Ruppert
2243d9a612 - serial_raw: new methods set_modem_control(), get_modem_status() and setup_port()
- serial_raw for win32: set/clear break, set modem control and get modem status implemented
2004-03-08 21:51:19 +00:00
Volker Ruppert
5c9c57a60a - don't enable vbe if already active
- value of flag vbe_get_capabilities fixed
2004-03-02 16:29:27 +00:00
Volker Ruppert
7fc70c8327 - fixed compile error in serial destructor 2004-02-28 22:06:36 +00:00
Volker Ruppert
8ba9c91d55 - prepared raw serial support for win32 (DCB settings)
- serial_raw: new method set_break()
- delete raw serials object in destructor
2004-02-28 21:28:28 +00:00
Volker Ruppert
9c9aebcf3d - serial port code now compiles on Linux with USE_RAW_SERIAL = 1
- LCR write code rewritten
- only call set_baudrate() when DLAB has changed to 0
2004-02-28 13:10:57 +00:00
Volker Ruppert
7f9edd09c8 - convert the display library option string (options separated with commas) to an
array of strings in vga init
- added sdl specific option "fullscreen" (startup in fullscreen mode)
2004-02-24 19:21:48 +00:00
Volker Ruppert
d5f337e1ef - prepared implementation of display library specific options
- fixed bug #890734 (commas in strings enclosed with double quotes)
2004-02-22 18:51:38 +00:00
Volker Ruppert
d748f22ed0 - new gui function get_capabilities() returns the maximum values for xres, yres
and bpp (done for the x display library)
- new switch VBE_DISPI_GETCAPS. The xres, yres and bpp registers return the gui
  capabilities if enabled.
- VBE_DISPI_ID3 defined
2004-02-22 13:03:02 +00:00
Daniel Gimpelevich
905af2fee2 Fixed softfloat compilation error. 2004-02-18 20:10:19 +00:00
Daniel Gimpelevich
c870561fd5 Fixed xlC compilation error. 2004-02-18 18:54:21 +00:00
Volker Ruppert
b04a62bfda - fixed libtool compile warnings 2004-02-18 18:24:18 +00:00
Volker Ruppert
5d2376d93d - 3rd mouse button now supported by the win32 display library 2004-02-15 00:03:16 +00:00
Daniel Gimpelevich
69a6ede259 Fixed Mac conflict with softfloat. 2004-02-14 06:33:29 +00:00
Christophe Bothamy
713db869f6 - implement atapi command 'CD-ROM capabilities & mech. status default values'
it helps during OS/2 install from cdrom.
2004-02-13 00:42:31 +00:00
Daniel Gimpelevich
292c271034 PNIC now works with plugins 2004-02-10 23:47:31 +00:00
Daniel Gimpelevich
5366cc369e Added Brian Huffman's Sound for OSX code with a couple of tweaks. 2004-02-09 22:23:53 +00:00
Volker Ruppert
e7b558894c - harddisk/cdrom i/o light implemented. The light is turned off 0.5 seconds after
the last read/write operation.
2004-02-09 18:59:50 +00:00
Volker Ruppert
d78f3da836 - win32 statusbar now shows active items with light green background
- harddisk/cdrom status light feature prepared
2004-02-08 18:38:26 +00:00
Volker Ruppert
107c109d04 - win32 statusbar now shows all inactive items grayed
- update floppy items in statusbar on status change only
- initialize statusbar and set all items inactive before the simulation starts
2004-02-08 10:25:50 +00:00
Volker Ruppert
f5c165e32a - statusbar items for floppy and keyboard added (win32 gui only). TODO: implement
statusbar in other display libraries and add items for harddisk/cdrom and network.
2004-02-07 14:34:35 +00:00
Daniel Gimpelevich
126971af49 Made to compile on MacOS9 2004-02-06 22:28:00 +00:00
Volker Ruppert
e379a9c2cc - speaker stub added (fixes possible segfault if the speaker plugin is not present)
- fixed some warnings
2004-02-02 21:47:26 +00:00
Christophe Bothamy
d6fb513243 - changed "console" to "speaker". Speaker can be compiled as plugin.
speaker calls corresponding beeper methods in gui.
2004-02-01 23:42:04 +00:00
Michael Brown
b29e94b334 Fixed segfault on attempt to build with PNIC support. 2004-01-29 17:33:45 +00:00
Volker Ruppert
ac28f72551 - multiple parallel port support added (2 ports are available now)
- parport irq is now only registered in irq mode
- bx_reset_options() updated for multiple parallel and serial ports
2004-01-27 21:38:51 +00:00
Christophe Bothamy
df2030c60b - completely desactivate code for compressed hd for now.
this fixes bug #883239
2004-01-26 00:55:23 +00:00
Volker Ruppert
b2b9d5bd53 - com port number added to all debug/info/error/panic messages 2004-01-25 13:01:29 +00:00
Volker Ruppert
897695270b - notify the display library if the bpp value changes (switching from VBE to VGA mode) 2004-01-24 20:50:45 +00:00
Christophe Bothamy
d62e9c7a4c - fix out of bound index on COW_images array, as suggested by Sharvil Nanavati 2004-01-19 23:25:47 +00:00
Christophe Bothamy
2117cdae7d - apply patches from Ben Lunt :
* do not panic when "calibrate drive" is issued to non disk
  * warn that "set tranfert mode" command not supported
2004-01-19 21:48:07 +00:00
Volker Ruppert
c1808b14f4 - allow 16 bit writes to page 0 (patch from Kenneth Stailey) 2004-01-19 17:53:53 +00:00
Christophe Bothamy
3436662995 - fix for vmware3 cow disk on big-endian platforms 2004-01-18 16:39:02 +00:00
Volker Ruppert
264029fdee - raw serial support prepared for 4 ports
- fixes for compiling on win32
- unnecessary includes removed
- description updated
- converted tabs to spaces
2004-01-18 11:58:07 +00:00
Daniel Gimpelevich
f11fdab54b Added preliminary hack to use TUN mode instead of TAP.
Still doesn't work, though.
2004-01-18 06:15:38 +00:00
Volker Ruppert
92c0f1e300 - fixes to make serial_raw stuff compile (still a dummy) 2004-01-18 01:30:14 +00:00
Volker Ruppert
24bee7ee43 - multiple serial port support completed (4 port are available now)
- rx_fifo_enq() call fixed
- unnecessary BX_INFO removed
2004-01-18 00:18:44 +00:00
Volker Ruppert
8b640bface - serial read/write and timer handlers prepared for 4 ports
- new function triggeredTimerID() returns the active ID in timer handler
2004-01-17 15:51:09 +00:00
Daniel Gimpelevich
63e4f9d270 Now allows compiling tuntap on MacOSX.
Couldn't configure the interface to work, though.
2004-01-17 11:47:12 +00:00
Daniel Gimpelevich
d0dae6dae1 Applied Russ Cox's tuntap patch and updated docs. 2004-01-17 02:13:37 +00:00
Volker Ruppert
3b17e2daa0 - the console beep currently works on Linux only and cannot be a plugin yet
- Bochs license and RCS ID added
2004-01-16 18:18:38 +00:00
Daniel Gimpelevich
6708807b38 Applied SF patch #694889. 2004-01-16 16:30:46 +00:00
Daniel Gimpelevich
9915fca4e9 Applied SF patch #874816. 2004-01-16 15:53:44 +00:00
Daniel Gimpelevich
b84ad185f5 Updated to 2003-11-27. 2004-01-16 15:15:49 +00:00
Daniel Gimpelevich
873651063e Added support for Virtual Distributed Ethernet. 2004-01-16 14:44:38 +00:00
Daniel Gimpelevich
96142f8465 Fixed DLL-related crash. 2004-01-15 18:00:36 +00:00
Daniel Gimpelevich
6c26e6a65f Introduced Frank Cornelis's PCIDEV patch. 2004-01-15 02:08:37 +00:00
Michael Brown
299947f64f Added the PCI Pseudo-NIC (pnic). Mainly useful for running Etherboot
inside Bochs.
2004-01-13 19:21:21 +00:00
Volker Ruppert
2127a3925b - re-implemented old VBE interface for backward compatibility (USB must be disabled) 2003-12-31 10:33:27 +00:00
Christophe Bothamy
37d62ebd90 - add temporary hack for compiling with visual c++ 2003-12-29 21:48:56 +00:00
Volker Ruppert
154d9c3bea - divider chain reset implemented (fixes bug #865354) 2003-12-27 13:43:41 +00:00
Volker Ruppert
fc1abe8423 - gameport support is now disabled by default. It can be enabled with --enable-sb16=...
or the new option --enable-gameport.
- reading gameport with joystick not present now causes a BX_DEBUG message
2003-12-26 14:15:43 +00:00
Volker Ruppert
6ba47a1d7a - gameport support is now disabled by default. It can be enabled with --enable-sb16=...
or the new option --enable-gameport.
- reading gameport with joystick not present now causes a BX_DEBUG message
2003-12-26 13:53:40 +00:00
Volker Ruppert
e8fcb2dd36 - unlike the OPL2, the OPL3 does not set bit 1 and 2 in the status register
- the OPL3 mode can only be enabled with command 05h sent to the second OPL chip
2003-12-26 10:06:57 +00:00
Volker Ruppert
b7767cc6ee - DCR loopback bit fixed: bit 3 clear means loopback mode, so subtracting 8 was
wrong. Now the bits are working right, but loopback is still not present.
- loopback should be active if DCR is in loopback mode and TCR loop mode is > 0
- reading the FIFO is only valid in loopback mode (causes a BX_ERROR for now)
2003-12-25 16:58:17 +00:00
Volker Ruppert
815a083f86 - special rule for the gameport plugin on win32 added 2003-12-21 22:36:37 +00:00
Volker Ruppert
f0b06b6da8 - real gameport access implemented for the win32 platform 2003-12-21 17:24:45 +00:00
Volker Ruppert
e7879f6c73 - mixer register behaviour fixes (old registers are bitmapped to the ones)
- mixer reset sets default values
- mixer log messages fixed and improved
2003-12-20 17:04:08 +00:00
Volker Ruppert
f731c1774c - DEV_set_media_status() not necessary in gui floppy handlers when using the
win32 floppy dialog
- report geometry with BX_INFO after inserting new floppy media
2003-12-18 20:04:49 +00:00
Volker Ruppert
0569c80236 - initialize structure 'stat_buf' if using raw device access on win32 (grabbed
from bug report #857235)
2003-12-10 22:14:01 +00:00
Daniel Gimpelevich
854f360f9f Partially applied patches 856506 and 856510. 2003-12-08 23:49:48 +00:00
Daniel Gimpelevich
878134572a Applied patch to remove 0xfff0 legacy port. 2003-12-08 19:36:23 +00:00
Volker Ruppert
a0b896dc22 - determine media geometry on Linux and win32 host 2003-12-07 15:59:32 +00:00
Volker Ruppert
6113bf4d89 - evaluate_media(): code for character or block devices simplified (TODO: determine
media size)
2003-12-06 13:59:30 +00:00
Volker Ruppert
df8604baee - applied patch #850236: fixed direct device access to DVD's on win32 2003-11-30 20:54:42 +00:00
Daniel Gimpelevich
fff74a6f83 Fixed incompatibility with gcc3.3, I think. 2003-11-28 15:07:29 +00:00
Christophe Bothamy
0d281a9cca - initialize ata controller state even if master/slave device is not
present. This would prevent the simulation from running on windows
  if no slave device was present on the ata0 interface.
2003-11-25 23:00:06 +00:00
Volker Ruppert
335507ac38 - evaluate_media(): floppy type handling for images rewritten. The function now
fails if the image size is too large for the selected type.
- evaluate_media(): enclose path names in single quotes in BX_INFOs
2003-11-23 21:54:59 +00:00
Volker Ruppert
e827d430f2 - don't try to insert the floppy media if the path name is "none"
- evaluate_media(): new variable 'raw_floppy' indicates raw floppy access on win32
- evaluate_media(): try to read the first sector determine the presence of the
  floppy media (raw access on win32)
2003-11-22 18:22:45 +00:00
Volker Ruppert
c1989c68da - removed unused stuff 2003-11-16 08:21:10 +00:00
Volker Ruppert
5cd8ea6be1 - split the fprintf() call in the writelog() function. This is a workaround for
a bug in cygwin and mingw/msys (loglevel was always 0)
- DSP test register implemented
2003-11-15 14:56:30 +00:00
Volker Ruppert
31fcbd1bad - DSP command 0xE0 returns bitwise NOT of data byte
- SB16 returns DSP version 4.05 (4.11 is SB16 SCSI-2)
2003-11-14 19:00:32 +00:00
Volker Ruppert
7e19d19b54 - don't panic at controller command 0xa0 (keyboard BIOS name) 2003-11-11 18:18:36 +00:00
Volker Ruppert
6866ca21d6 - serial FIFO support (UART type 16550A) implemented 2003-11-09 00:14:43 +00:00
Christophe Bothamy
740d0806f5 - fix bug that corrupts disk data when using a redolog. 2003-11-07 22:59:05 +00:00
Volker Ruppert
c99cd71125 - don't print the VBE disable info if the status is unchanged 2003-11-06 18:48:01 +00:00
Volker Ruppert
597c2834ca - CRTC initialisation fixed (bug found with valgrind) 2003-11-02 16:34:10 +00:00
Volker Ruppert
6c398a7170 - the CRT controller works the same way in color and monochrome emulation modes
- use the same text mode update code for color and monochrome modes (vga mode 0x07
  now works with the Elpin BIOS)
2003-11-01 10:28:40 +00:00
Volker Ruppert
2ef7ec8973 - new function raise_interrupt() manages the serial interrupt reasons
- the line status register only causes an interrupt if an error occurs
- missing initial baurate value added (using 115200)
- baudrate divisor value checks fixed
2003-10-31 17:23:56 +00:00
Volker Ruppert
5616d81a67 - removed unnecessary comments 2003-10-31 15:49:29 +00:00
Volker Ruppert
2fc0b134ed - interrupt and i/o port initialization moved into the initialization loop
- new function lower_interrupt() lowers the irq line if no interrupts are pending
- IER write code: missing conditions for lower_interrupt() added
- symbol BX_SERIAL_CONFDEV removed (now using BX_N_SERIAL_PORTS)
2003-10-29 21:00:04 +00:00
Volker Ruppert
5540cd5664 - printer sends ACK after init
- irq number added to BX_INFO in init()
2003-10-29 17:29:26 +00:00
Christophe Bothamy
39db299002 - remove references to zlib compressed disk images.
Gzipped disk images are too slow to be useful anyway.
  Proper read/write compressed disk image support
  will be implemented after 2.1
2003-10-29 01:13:16 +00:00
Volker Ruppert
fbba69380b - MCR bit 3 (OUT2) controls the serial interrupt generation, but has no effect
on the IIR (only depends on the IER).
- IER write code rewritten. The "THR empty" interrupt will be generated immediately
  after enabling this interrupt reason.
2003-10-28 18:40:00 +00:00
Volker Ruppert
f46ff184f6 - applied patch #724466 (libtool needs --mode=compile and --mode=link to work
without warnings)
2003-10-26 10:00:20 +00:00
Daniel Gimpelevich
5586f6054b *** empty log message *** 2003-10-24 11:16:25 +00:00
Volker Ruppert
33847825a2 - TTY_HACK feature removed. It no longer compiles and it has been replaced by
the SERIAL_ENABLE feature.
- rx_timer value for data sizes other than 8 fixed
- initial comment updated
2003-10-12 10:51:58 +00:00
Daniel Gimpelevich
c249cc8709 Update to coincide with Volker's adjustment to VGA-BIOS upstream. 2003-10-05 23:15:45 +00:00
Daniel Gimpelevich
abc180a397 fix oversight and prepare for change in vgabios 2003-10-04 15:58:21 +00:00
Daniel Gimpelevich
d0c10dd46b *** empty log message *** 2003-10-02 11:33:42 +00:00
Christophe Bothamy
e856e9c46e - fix utc time for bsd, that also works for linux.
Patch by Daniel Gimpelevich
2003-10-02 07:38:00 +00:00
Bryce Denney
fdeff47720 - add typecast to Bit64s to get around VC++ fatal error 2003-10-01 02:06:14 +00:00
Christophe Bothamy
27b8d78e2d - add parameter to set the redolog name for 'volatile' and 'undoable' disks 2003-09-22 23:32:24 +00:00
Christophe Bothamy
95b002087f - remove unwanted if (...) added in rev1.109 2003-09-17 12:19:34 +00:00
Christophe Bothamy
92f4a281b0 - fix compile problem when configured with --disable-cdrom (patch by Jamie Baxter) 2003-09-17 12:02:54 +00:00
Volker Ruppert
d04a74c7a2 - more accurate emulation of the serial transmit registers (THR/TSR)
- tx_timer value for data sizes other than 8 fixed
- MCR bit 3 (OUT2) controls the serial interrupt generation
2003-09-14 20:16:25 +00:00
Christophe Bothamy
5f8213251c - implement option to set clock from utc time, on supported platforms 2003-09-05 23:17:51 +00:00
Christophe Bothamy
a6f0158745 - add possibility to have both sync method active at the same time 2003-08-26 20:24:36 +00:00
Volker Ruppert
ca60988fd9 - wx: NetConfigDialog replaced by a new version using ParamDialog
- parameter for the ethernet module must be of type bx_param_enum_c, since we
  have a list of valid modules
2003-08-25 16:46:18 +00:00
Christophe Bothamy
6c66a9a9a9 - write cmd 0x70 (seek) should not set drq. (fix by Mathis) 2003-08-24 22:44:44 +00:00
Volker Ruppert
4e10730479 - missing return value added in function start_cdrom() 2003-08-21 18:27:01 +00:00
Jeroen Janssen
5a023a8ad5 applied slowdown timer crosscompile fix 2003-08-20 06:26:27 +00:00
Christophe Bothamy
832ef1209f - apply .bochsrc, cdrom, serial and ethernet patches for NetBSD
(patches by fredb, uebayasi and david laight)
2003-08-19 00:37:03 +00:00
Christophe Bothamy
e555765d75 - add a "clock: sync=[none|slowdown|realtime], time0=[timeValue|local|utc]"
- pit: and time0: options are still supported but deprecated
- warn when parsing deprecated directives
- fix wrong number of ata_device_translation_names
- still to do:
  - setting time0 to utc is not yet supported
  - the man page, user guide and .bochsrc still need to be updated
    with the new options
2003-08-19 00:10:39 +00:00
Stanislav Shwartsman
60ca3ac674 ;; is not so necessary ;) 2003-08-15 13:18:53 +00:00
Alexander Krisak
396d948d1b Applied Andrew's Zabolotny patch which gives posibility for program to popup debugger by writing 'D' character to 0x8900 port 2003-08-10 17:19:49 +00:00
Alexander Krisak
d03e9381a0 Fixed broken build, reported by Jeroen Janssen 2003-08-05 09:19:36 +00:00
Alexander Krisak
45df735c30 Apply Vitaly's Vorobyov debugger patch 2003-08-04 16:03:09 +00:00
Stanislav Shwartsman
2c3753e6c2 dos2unix fix 2003-08-04 13:27:39 +00:00
Stanislav Shwartsman
4ba856a52b Committed syntax error fixes from Vitaly Vorobyov.
Syntax error fixes:
  [x] fixed error with array bounds in virt_timer.cc
  [x] fixed error with returning value from void functions
  [x] fixed const class member initialization (according C++ standard)
  [x] for-loop local variable declaration moved out of loop
      (for VC 6.0 compliance)

Removed already committed patch from Dirk Thierbach
Replaced the patch from Vitaly Vorobyov by set of splitted patches.
Now any of his patches could be committed separatelly from others !
2003-08-03 17:04:02 +00:00
Christophe Bothamy
974d3538a1 - change disk image mode name "growable" to the more accurate "growing" 2003-08-01 01:20:00 +00:00
Volker Ruppert
df2d388fa4 - io_len mask fixed and unnecessary io_len checks removed from the remaining
devices except pciusb
2003-07-31 19:51:42 +00:00
Volker Ruppert
37f3ea02b0 - new accesss mask must be checked in the i/o read/write register function.
This is necessary for devices with different i/o port masks.
- BX_MAX_IO_DEVICES increased to 30
- io_len mask fixed and unnecessary io_len checks removed in
  * biosdev.cc
  * cmos.cc
  * dma.cc
2003-07-31 15:29:34 +00:00
Volker Ruppert
bcdcf42bdd - io_len mask in i/o register functions implemented (1 = 8bit, 2 = 16bit, 4 = 32bit).
Unallowed cases are now handled in devices.cc and cause a BX_ERROR.
- io_len mask fixed and unnecessary io_len checks removed in
  * devices.cc
  * extfpuirq.cc
  * gameport.cc
  * ne2k.cc
  * pit.cc
  * pit_wrap.cc (i/o register function calls replaced by DEV_* macro calls)
- TODO: implement this in all other devices
2003-07-31 12:04:48 +00:00
Volker Ruppert
c496962184 - the NE2000 driver for MS-DOS writes a 16 bit value to page 0 reg 5. Now the
low-byte is written to this register and the high-byte is ignored.
2003-07-30 10:45:13 +00:00
Volker Ruppert
6723fc80a5 - the shutdown port now works if the debugger is enabled, too 2003-07-29 18:17:33 +00:00
Volker Ruppert
99a7d850b3 - byte writes to the first register of an ATA channel are ignored now (BX_PANIC
replaced by BX_ERROR)
2003-07-29 16:08:54 +00:00
Volker Ruppert
451ab1a4e1 - read/write access to the ports 0x03f6 and 0x03f7 no longer causes a panic
if all ATA channels are disabled (fixes SF bug #741433)
2003-07-28 18:52:14 +00:00
Volker Ruppert
4a4e90d96e - missing #if BX_SUPPORT_VBE added in i/o write handler 2003-07-27 17:50:43 +00:00
Volker Ruppert
1155b63564 - undocumented feature (???): blinking feature exists in graphics modes, too.
The colors 0..7 appear in high intensity and the colors 8..15 blink using
  low / high intensity. Blinking is not present in Bochs yet. For now, the 3rd
  bit of the attribute will be inverted.
- attribute controller mode control register: only a change of the internal
  palette size bit should force a redraw
- skip screen update if video is disabled
2003-07-19 21:44:37 +00:00
Volker Ruppert
687b8281cc - these attribute controller registers now force a redraw: mode control, color
plane enable and color select
- a screen update is necessary after updating the charmap
- lots of missing parentheses added (found after disabling VGA_TRACE_FEATURE)
- BX_DEBUG and BX_INFO messages improved
2003-07-18 18:31:50 +00:00
Volker Ruppert
592d7a7207 - a palette entry change must force a redraw in VBE mode, too
- update function: the 'for' loop now initializes and increments the variables
  xti and yti
- VBE: banked writes are now ignored in LFB mode, LFB writes are ignored in
  banked mode (based on SF patch #742782)
2003-07-17 07:55:56 +00:00
Volker Ruppert
a016eff261 - VBE LFB flag added
- VBE set bank now ignored in LFB mode
2003-07-16 17:56:25 +00:00
Volker Ruppert
4e63eca16c - vbe_mem_write(): offset calculation fixed
- calculation of the VBE virtual height for >8bpp fixed
- visible screen size must be recalculated after changing the virtual width
- modify standard VGA register when enabling a VBE mode (some test applications
  expect this behaviour)
- BX_INFO messages in the VBE code fixed
2003-07-15 13:05:20 +00:00
Volker Ruppert
7bf059fcea - function put_scancode() removed. It is no longer necessary, since all display
libraries are now using DEV_kbd_gen_scancode() to send key events to the
  emulated keyboard.
- argument name of DEV_kbd_gen_scancode() renamed to 'key'
2003-07-13 19:51:21 +00:00
Volker Ruppert
e073214525 - new function getBXKeyName() returns the name of a BX_KEY symbol
(used by BX_DEBUG message in the keyboard code)
- despription of keymap.cc updated
2003-07-12 08:17:10 +00:00
Volker Ruppert
5c11b64bdf - support for 15 bpp modes added in the vga code and the sdl display library
- sdl: in function graphics_tile_update() vga_bpp handled in a case structure
2003-07-09 20:15:38 +00:00
Volker Ruppert
125e3479e6 - fixes for cross-compilation (building win32 binary on linux)
* configure.in: readline check is only necessary if the debugger is enabled
    (patch from Jeroen Janssen)
  * iodev/Makefile.in: dependencies updated after adding gameport device
2003-07-05 05:31:40 +00:00
Volker Ruppert
cc4708c348 - a dimension update after enabling a VBE mode is only necessary for modes >4bpp
- don't clear the VBE memory if the new flag VBE_DISPI_NOCLEARMEM is set
- vbe_bpp_multiplier for the 4bpp mode set to 1 (usually unused, but this value is save)
2003-07-01 16:07:59 +00:00
Volker Ruppert
3845a23b55 - support for 16, 24 and 32 bit VBE modes implemented in the vga code and the
X11 display library (vga changes based on a patch from Chistopher Nelson)
- VBE_DISPI_ID2 0xB0C2 defined
2003-06-30 18:53:12 +00:00
Volker Ruppert
dd63cc8ebc - removed obsolete comment 2003-06-29 17:24:52 +00:00
Volker Ruppert
359dce2185 - implementation of the standard PC gameport for the Linux platform
- removed gameport stubs from the SB16 code
- TODO: bochsrc option for the joystick device, implement joystick access for
  other platforms
2003-06-21 12:55:19 +00:00
Volker Ruppert
52aaefacf5 - device plugin name fixed 2003-06-21 09:52:32 +00:00
Volker Ruppert
816cbee29b - BX_PANIC and BX_ERROR message improved 2003-06-20 16:28:00 +00:00
Volker Ruppert
906b7f8d1c - update(): skip screen update if the vertical retrace is in progress
(using 72 Hz vertical frequency). The vertial retrace phase is often used for
  vga register or memory manipulations to reduce screen flickering.
- update(): check variable vga_mem_updated before everything else
2003-06-10 16:26:19 +00:00
Christophe Bothamy
f7bf4817dd - fix compile problem with gcc 2003-06-10 15:54:52 +00:00
Volker Ruppert
e75e7a929d - graphics update code rewritten based on patch.vga-mode2-speed-dohzono
(without localized variables)
- start address support for CGA modes added
- start address support for mode 13h completed
- clearing the text snapshot is not necessary after a start address change
  (set needs_update to 1 in graphics mode only)
2003-06-08 16:45:24 +00:00
Volker Ruppert
f56a46f7e4 - fixed a warning 2003-06-08 09:56:19 +00:00
Volker Ruppert
a4135fbee8 - a bunch of warnings fixed 2003-06-08 08:21:12 +00:00
Volker Ruppert
d1652093ac - applied some parts of the patch from Andrew Zabolotny <zap@cobra.ru>
* changed all %ll format descriptions to FMT_LL macro so that
    Microsoft Visual C works correctly (it uses %I64)
  * missing type conversions added
  * cdrom.cc: variable types for win32 fixed
  * removed some unused variables in eth_win32.cc and harddrv.cc
  * added missing includes in make_cmos_image.c and niclist.c
2003-06-07 19:16:55 +00:00
Volker Ruppert
c1f882b0ff - BX_DEBUG messages in functions gen_scancode() and kbd_enQ() improved 2003-06-07 18:41:07 +00:00
Volker Ruppert
4d25b39655 - changes for better MSVC support based on patch #735990
* support for different resource compilers added (rc / windres)
  * bochs must be linked with advapi.lib for registry access
  * optimization flag changed to /Ox
  * symbols BX_HAVE_MKSTEMP, BX_HAVE_SYS_MMAN_H and HAVE_ETHERTAP must be set to 0
  * BX_HAVE_REALTIME_USEC definition fixed for MSVC
  * vmware3.h: definition of COW_Header fixed for MSVC
2003-06-06 19:57:25 +00:00
Volker Ruppert
d1e2ddae5d - maximum resolution without VBE changed to 800x600
- maximum number of text lines changed to 100 (CGA "graphics" mode 160x100)
- size of text snapshot buffer changed to 32k (size of MDA/CGA text memory)
- removed obsolete macro CGA_TEXT_ADDR()
2003-06-05 18:18:14 +00:00
Volker Ruppert
579a2e6a42 - keyboard reset (0xff) resets the keyboard and 'enable keyboard' (0xf4 )does not 2003-06-02 20:36:30 +00:00
Volker Ruppert
20eff580b6 - link options for gui dll plugins fixed
- vmware3.cc: adding missing symbol BX_PLUGGABLE makes bx_harddrv.dll work again
2003-05-25 08:14:04 +00:00
Volker Ruppert
fb5d0a939d - hardware reset must be called after initializing everything else (bug found
with valgrind)
2003-05-24 10:50:19 +00:00
Gregory Alexander
a510ce56ee Add configurable option to never completely fill the buffer rings.
It's not clear what the correct behavior is in that case, (we
clearly don't currently handle it correctly) so
simply avoiding it is the easiest thing to do.  As such, this
option is ON by default.
2003-05-20 15:01:34 +00:00
Stanislav Shwartsman
928e20bd49 Changed some BX_INFO messages to BX_DEBUG 2003-05-15 18:32:27 +00:00
Volker Ruppert
3a788ddcf4 - char width switch feature (8 / 9 pixels) prepared for all display libraries
and implemented in SDL
  * sequencer controller register 0x01 bit 0 controls the width of the characters.
    This value is used to calculate the screen width.
  * attribute controller register 0x10 bit 2 controls the appearance of graphics
    characters (ASCII 0xC0 - 0cDF). A change of this value forces a charmap update
    to rebuild the font bitmaps.
  * the SDL display library uses the new feature described above
  * the other display libraries recalculate the screen width, since they are using
    a fixed font width of 8 for now.
- VGA: attribute controller register 0x10 bit 2 (enable_line_graphics) does not
  switch the palatte in CGA mode
2003-05-11 15:07:54 +00:00
Volker Ruppert
46d5548439 - modify the horizontal pel panning value of the tm_info structure if a char
width of 9 is enabled. For now, a panning value of 8 must be decremented.
2003-05-10 12:00:58 +00:00
Volker Ruppert
36959329c5 - more accurate emulation of the horizontal and vertical retrace
ATTENTION: the Elpin VGA BIOS uses a delay of 280 vertical retraces after
  displaying the copyright text
- changes to the horizontal or vertical pel panning registers force a redraw of
  the screen
- screen update problems in text mode fixed
- sort order of the CRT register write cases changed
2003-05-09 15:32:28 +00:00
Volker Ruppert
5ab9786871 - function text_update() prepared for new features. New structure
'bx_vga_tminfo_t' replaces variable 'cursor_state'.
2003-05-07 19:15:47 +00:00
Stanislav Shwartsman
8fa3111f3c *** empty log message *** 2003-05-07 07:39:20 +00:00
Christophe Bothamy
f5976555e5 - fix compilation problems under cygwin reported by Stanislav in the ml 2003-05-06 20:30:21 +00:00
Volker Ruppert
b6c957a3b2 - behaviour of CRTC reg 0x18 (line compare) fixed
- fixed calculation of the byte offset for standard VGA modes if line compare
  is active
- force a resize of the screen after a change of the display mode (text/graphics)
- mem_write(): skip the rotation of the cpu byte if 'data_rotate' is 0
2003-05-06 17:10:13 +00:00
Christophe Bothamy
f43d2fe3e9 - backport of the BRANCH_HARDDISK_MODES to the main branch.
You can now choose for each disk on the ata interfaces the
  disk mode, between :
    - flat : one file flat layout
    - concat : multiple files layout
    - external : developer's specific, through a C++ class
    - dll : developer's specific, through a DLL
    - sparse : stackable, commitable, rollbackable
    - vmware3 : vmware3 disk support
    - undoable : flat file with commitable redolog
    - growable : growing file
    - volatile : flat file with volatile redolog
    - z-undoable : gziped flat file with commitable redolog
    - z-volatile : gziped flat file with volatile redolog
  A new "bxcommit" utility can merge commitable redologs to
  flat images.
2003-05-03 16:37:18 +00:00
Volker Ruppert
b937905a97 - dotclock/2 switch implemented - stored in new variable 'x_dotclockdiv2'.
If set, the screen size will be horizontally doubled in CGA and standard
  VGA modes.
- doublescan feature for CGA mode 320x200x4 added
- removed trailing spaces in VBE update code
2003-05-03 16:09:39 +00:00