Commit Graph

1326 Commits

Author SHA1 Message Date
Volker Ruppert
a2327441ca - endianness fixed 2006-06-16 08:56:13 +00:00
Volker Ruppert
075ee17ac9 - geometry autodetection for 'sparse' mode hard disk images added
- store size of virtual disk in sparse header to simplify geometry detection/check
- enabling geometry autodetection causes a panic if not supported by image
2006-06-16 07:29:33 +00:00
Volker Ruppert
02fbf84630 - geometry autodetection for 'vmware3' mode hard disk images added
- simplified geometry detection code
- unsupported ATAPI commands now cause a BX_DEBUG message and no addtional
  error code info (avoid flooding log file)
2006-06-15 09:44:37 +00:00
Stanislav Shwartsman
9269288319 Fix SR macros mis-use. Need to add assertion into bxlist_c and check that it has no 2 params with same name inside ! 2006-06-14 16:44:33 +00:00
Volker Ruppert
f2f80f7542 - geometry autodetection for 'undoable' and 'volatile' mode hard disk images added
- a bunch of image size handling changes
  * 'hd_size' contains the size of the virtual hard disk (for geometry check/detection)
  * passing the size calculated from the geometry not needed in some cases
- indent mode changes
2006-06-08 20:32:00 +00:00
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