From 70cb78f20ba9aca286d8cf066ffef78453162abd Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Thu, 13 Aug 2020 21:38:18 -0300 Subject: [PATCH] Add ISABugger documentation and make a bunch of other small changes --- dev/builds.rst | 6 +-- hardware/ideterqua.rst | 2 +- hardware/images/isabugger.png | Bin 0 -> 7974 bytes hardware/isabugger.rst | 70 ++++++++++++++++++++++++++++++++++ hardware/machinespecific.rst | 4 +- index.rst | 3 +- settings/display.rst | 4 +- settings/floppycdrom.rst | 2 +- settings/machine.rst | 10 ++--- settings/peripherals.rst | 17 +++------ settings/sound.rst | 2 +- usage/statusbar.rst | 19 ++++++++- 12 files changed, 111 insertions(+), 28 deletions(-) create mode 100644 hardware/images/isabugger.png create mode 100644 hardware/isabugger.rst diff --git a/dev/builds.rst b/dev/builds.rst index cea38c5..15ca276 100644 --- a/dev/builds.rst +++ b/dev/builds.rst @@ -8,12 +8,12 @@ The `86Box Jenkins `_ provides all kinds of pre-release t Standard -------- -Standard builds (**86Box**) are compiled with default options. Release versions of 86Box are based on these. +Standard builds (**86Box**) are compiled with default options. Release versions of 86Box are based on standard builds. Debug ----- -Debug builds (**86Box-Debug**) are :ref:`standard builds ` compiled with debug symbols and no optimizations, to allow for debugging with ``gdb`` and other tools if you don't have a full 86Box development setup. These run slower than standard builds due to the removal of optimizations and addition of debugging features. +Debug builds (**86Box-Debug**) are :ref:`standard builds ` compiled with debug symbols and no optimizations, to allow for debugging with ``gdb`` and other tools if you don't have a full 86Box development setup. Debug builds run slower than standard builds due to the removal of optimizations and addition of debugging features. Development ----------- @@ -23,7 +23,7 @@ Development builds (**86Box-Dev**) are compiled with ``DEV_BUILD=y``, enabling a Optimized --------- -Optimized builds (**86Box-Optimized**) are :ref:`standard builds ` which have been optimized for use with a specific CPU family on the host machine. These provide slight performance improvements, especially on older or low-end hosts; however, the aggressive optimizations employed **may result in bugs** not present on standard builds. +Optimized builds (**86Box-Optimized**) are :ref:`standard builds ` which have been optimized for use with a specific CPU family on the host machine. Optimized builds provide slight performance improvements, especially on older or low-end hosts; however, the aggressive optimizations employed **may result in bugs** not present on standard builds. There are many different optimized binaries available for each build, with each one corresponding to a CPU family. The table below lists most CPUs currently supported by optimized builds, along with the respective binaries you should use with them, as well as their codenames (as shown on an identification tool such as `CPU-Z `_). diff --git a/hardware/ideterqua.rst b/hardware/ideterqua.rst index 5a80149..d0225b0 100644 --- a/hardware/ideterqua.rst +++ b/hardware/ideterqua.rst @@ -79,4 +79,4 @@ On kernels without ``libata`` (typically older than 2.6.19), add the following p * **Tertiary:** ``ide2=0x168,0x36e,10`` (assuming IRQ 10) * **Quaternary:** ``ide3=0x1e8,0x3ee,11`` (assuming IRQ 11) -.. note:: Some Linux distributions may automatically detect and enable both additional channels, however, that is very rarely the case. +.. note:: Some Linux distributions may automatically detect and enable both additional channels; however, that is very rarely the case. diff --git a/hardware/images/isabugger.png b/hardware/images/isabugger.png new file mode 100644 index 0000000000000000000000000000000000000000..c1588e2620fcd8ebb1fddb13cada0ac32aedc52c GIT binary patch literal 7974 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 literal 0 HcmV?d00001 diff --git a/hardware/isabugger.rst b/hardware/isabugger.rst new file mode 100644 index 0000000..80ddea2 --- /dev/null +++ b/hardware/isabugger.rst @@ -0,0 +1,70 @@ +ISABugger +========= + +The ISABugger card provides a debugging interface for software developers, consisting of two 8-bit hexadecimal displays and two banks of 8 LEDs, all controlled by the emulated machine. It can be enabled through the :ref:`Peripherals settings page `. + +These displays and LEDs are shown on the :ref:`status bar ` as described in the diagram below: + +.. image:: images/isabugger.png + :align: center + +Background +---------- + +From ``src/device/bugger.c``: + +.. code-block:: none + + Implementation of the ISA Bus (de)Bugger expansion card + sold as a DIY kit in the late 1980's in The Netherlands. + This card was a assemble-yourself 8bit ISA addon card for + PC and AT systems that had several tools to aid in low- + level debugging (mostly for faulty BIOSes, bootloaders + and system kernels...) + + The standard version had a total of 16 LEDs (8 RED, plus + 8 GREEN), two 7-segment displays and one 8-position DIP + switch block on board for use as debugging tools. + + The "Plus" version, added an extra 2 7-segment displays, + as well as a very simple RS-232 serial interface that + could be used as a mini-console terminal. + +Registers +--------- + +The ISABugger's control registers can be accessed through the following operations on I/O ports 7Ah and 7Bh: + +* **Writing:** write the register's index to port 7Ah, then write the value to port 7Bh. +* **Reading:** write the register's index to port 7Ah, then read the value from port 7Bh. +* **Index reading:** the last register index written to port 7Ah can be read back from the same port. The most significant bit is always set, as an indicator that the ISABugger is enabled. + +.. note:: The ISABugger I/O ports only support byte (inb/outb) operations. Word (inw/outw) and dword (inl/outl) operations will result in undefined behavior; so will selecting or attempting to read back an unknown register index, or performing an illegal operation such as reading from a write-only register. + +Register reference +^^^^^^^^^^^^^^^^^^ + +.. rubric:: Index 0x00 - Red LEDs (write-only) +.. rubric:: Index 0x01 - Green LEDs (write-only) + +Each LED bank shows a binary representation of the 8-bit value written to its register, from the most significant bit on the left to the least significant bit on the right. Setting a bit will light up its corresponding LED (displayed as **G** or **R**), and clearing a bit will dim its LED (displayed as **g** or **r**). + +.. rubric:: Index 0x02 - Right display (write-only) +.. rubric:: Index 0x04 - Left display (write-only) + +Each display shows a hexadecimal representation of the 8-bit value written to its register. + +.. rubric:: Index 0x20 - Serial port data (not implemented) (read/write) +.. rubric:: Index 0x40 - Serial port configuration (not implemented) (read/write) + +While the aforementioned real ISABugger card is equipped with an independent RS-232 serial interface, that feature is currently not implemented on 86Box in an user-facing manner. + +.. rubric:: Index 0x80 - Initialize (not implemented) (write-only) + +This register has no effect on 86Box, as the emulated ISABugger is always enabled and ready. + +.. rubric:: Index 0xFF - Reset (special) + +Writing register index 0xFF to port 7Ah will immediately reset all registers to their startup value, clearing all displays and LED banks. + +This is a special register which cannot be read or written; writing to port 7Bh immediately after a reset will result in the value being sent to the default register index of 0x00, which corresponds to the red LEDs. diff --git a/hardware/machinespecific.rst b/hardware/machinespecific.rst index aabee5d..be48fd6 100644 --- a/hardware/machinespecific.rst +++ b/hardware/machinespecific.rst @@ -10,7 +10,7 @@ This page contains important notes related to specific machine models emulated b .. rubric:: IBM AT -* The IBM Personal Computer Diagnostics disks will produce a *0152 ERROR - SYSTEM BOARD* code if :ref:`time synchronization ` is enabled, due to a lack of Y2K compliance. This code can be cleared by disabling time synchronization, then clearing the CMOS by deleting ``ibmat.nvr`` from the ``nvr`` directory. +* The IBM Personal Computer Diagnostics disks are not Y2K-compliant and will produce a *0152 ERROR - SYSTEM BOARD* code if :ref:`time synchronization ` is enabled. This code can be cleared by disabling time synchronization, then clearing the CMOS by deleting ``ibmat.nvr`` from the ``nvr`` directory. Socket 7 -------- @@ -62,7 +62,7 @@ Slot 2 * Hybrid motherboard supporting both Slot 1 and Slot 2 CPUs. * The maximum amount of RAM is limited to 2032 MB due to a BIOS bug with 2048 MB. * ACPI is disabled by default. It can be enabled through the *ACPI Aware O/S* option of the *Power Management Setup* menu on the BIOS setup. -* Once enabled, ACPI does not work correctly if a VIA Cyrix III CPU is selected. See :ref:`brokenacpi` for more information. +* Once enabled, ACPI :ref:`does not work correctly ` if a non-Intel CPU is selected. Socket 370 ---------- diff --git a/index.rst b/index.rst index aa9209a..874b235 100644 --- a/index.rst +++ b/index.rst @@ -40,7 +40,8 @@ to retro computing and, of course, 86Box. We look forward to hearing from you! hardware/machinespecific hardware/diskimages hardware/ideterqua - hardware/network + hardware/network + hardware/isabugger .. toctree:: :maxdepth: 1 diff --git a/settings/display.rst b/settings/display.rst index 9a00ba2..554c6b1 100644 --- a/settings/display.rst +++ b/settings/display.rst @@ -20,7 +20,7 @@ The *Configure* button provides the following settings: * **Voodoo type:** type of Voodoo card to emulate. * **Voodoo Graphics:** the original Voodoo model, with a single Texture Mapping Unit operating at 50 MHz. - * **Obsidian SB50 + Amethyst:** a variant of the Voodoo Graphics, equipped with a second Texture Mapping Unit like the Voodoo 2. + * **Obsidian SB50 + Amethyst:** a variant of the Voodoo Graphics, with two Texture Mapping Units operating at 50 MHz. * **Voodoo 2:** the second Voodoo model, with two Texture Mapping Units operating at 90 MHz, as well as SLI support. * **Framebuffer memory size** / **Texture memory size**: amount of video memory to give the Frame Buffer Interface and Texture Mapping Unit(s), respectively. @@ -30,4 +30,4 @@ The *Configure* button provides the following settings: * **SLI:** add a second Voodoo 2 card to the system, connected to the first one through Scan Line Interleave (SLI). * **Recompiler:** enable the Voodoo recompiler for faster emulation. -.. note:: The Voodoo recompiler requires a host CPU with SSE2 support. SSE2 is present in most CPUs made since 2005. +.. note:: The Voodoo recompiler requires a host CPU with SSE2 support. SSE2 is present in most CPUs released since 2005. diff --git a/settings/floppycdrom.rst b/settings/floppycdrom.rst index b3b30fc..f415c94 100644 --- a/settings/floppycdrom.rst +++ b/settings/floppycdrom.rst @@ -8,7 +8,7 @@ Floppy drives Up to four floppy disk drives can be attached to the emulated system, although not all BIOSes provide support for more than two drives. The following settings apply to the selected drive: -* **Type:** floppy drive to emulate. Some types have special properties and therefore should only be used if you know what you're doing: +* **Type:** floppy drive to emulate. Some types have special properties and therefore should only be used in very specific applications: * **5.25" 1.2M PS/2** and **3.5" 1.44M PS/2:** IBM PS/2 drives, which invert the polarity of the Density Select pin. * **5.25" 1.2M 300/360 RPM** and **3.5" 1.44M 300/360 RPM**: "3-mode" drives, which are capable of reading 360K 5.25" or PC-98 3.5" disks if the emulated machine's BIOS supports 3-mode operation. diff --git a/settings/machine.rst b/settings/machine.rst index 78ebae8..3779908 100644 --- a/settings/machine.rst +++ b/settings/machine.rst @@ -6,7 +6,7 @@ The *Machine* page contains settings related to the emulated machine as a whole, Machine type / Machine ---------------------- -Machine/motherboard to emulate. The *Machine type* box lists all available processor classes, while the *Machine* box lists all available machines of the selected processor class. +Machine/motherboard to emulate. The *Machine type* box lists all available machine classes, while the *Machine* box lists all available machines on the selected class. The *Configure* button opens a new window with settings specific to the machine's onboard devices, such as the amount of installed video memory for an onboard video chip. @@ -23,7 +23,7 @@ Math co-processor to emulate. This box will not be enabled if a processor with a Wait states ----------- -Number of memory wait states. This box is only enabled and relevant if a 286- or 386-class CPU is selected. +Number of memory wait states to use on a 286- or 386-class processor. This box will not be enabled if any other processor family is selected. Memory ------ @@ -38,8 +38,8 @@ Enable the dynamic recompiler, which provides faster but less accurate CPU emula Time synchronization -------------------- -Time synchronization automatically copies your host system's date and time settings over to the emulated machine's hardware real-time clock. Synchronization is performed every time the emulated machine's operating system reads the hardware clock to calibrate its own internal clock, which usually happens once on every boot. +Time synchronization automatically copies your host system's date and time settings over to the emulated machine's hardware real-time clock. Synchronization is performed every time the guest operating system reads the hardware clock to calibrate its own internal clock, which usually happens once on every boot. * **Disabled:** do not perform time synchronization. -* **Enabled (local time):** synchronize the time in your host system's configured timezone. Use this option when emulating an operating system which stores local time in the hardware clock, such as DOS or Windows. -* **Enabled (UTC):** synchronize the time in Coordinated Universal Time (UTC). Use this option when emulating an operating system which stores UTC time in the hardware clock, such as Linux. +* **Enabled (local time):** synchronize the time in your host system's configured timezone. Use this option when emulating an operating system which stores *local time* in the hardware clock, such as DOS or Windows. +* **Enabled (UTC):** synchronize the time in Coordinated Universal Time (UTC). Use this option when emulating an operating system which stores *UTC time* in the hardware clock, such as Linux. diff --git a/settings/peripherals.rst b/settings/peripherals.rst index 615caf4..9c8474b 100644 --- a/settings/peripherals.rst +++ b/settings/peripherals.rst @@ -24,7 +24,7 @@ FD Controller Floppy disk drive controller card to emulate. -Selecting a controller is not usually necessary. The DTK controllers are useful for adding high-density 1.44 MB floppy support to XT machines. +Selecting a controller is not usually necessary. The DTK controllers are useful for adding high-density 1.44M floppy support to XT machines. The BIOS option ROM address used by the selected controller can be configured through the *Settings* button. @@ -40,27 +40,22 @@ The IRQ used by each controller can be configured through its respective *Settin ISABugger --------- -Emulate an **ISABugger** debugging card. Documentation on the card's functionality can be found in the `header comment `_ of ``src/device/bugger.c`` in the 86Box source code. - -The following information is displayed on the status bar (from left to right) when the ISABugger is enabled: - -* Hexadecimal values corresponding to the left and right 7-segment displays, respectively. -* Green LED bank, from the most significant to the least significant bit: **G** if the LED is lit, **g** if it's not lit. -* Red LED bank, from the most significant to the least significant bit: **R** if the LED is lit, **r** if it's not lit. +Emulate an **ISABugger** debugging interface card, equipped with two hexadecimal displays and two LED banks, all controlled by the emulated machine. See :doc:`../hardware/isabugger` for documentation on the card's features. POST card --------- -Emulate a diagnostic POST card, which displays POST code values issued by the emulated machine's BIOS on the status bar. The leftmost hexadecimal value is the most recent POST code reported, while the rightmost value is the second most recent code, like on a real dual-display POST card. A value of ``--`` indicates that no POST code has been reported yet. +Emulate a diagnostic POST card, which displays POST code values issued by the emulated machine's BIOS on the status bar. See :ref:`Status bar: POST card ` for more information. The POST card will automatically use the correct diagnostic I/O port for the emulated machine: * Port 80h on the IBM AT, clones and the XT-based Xi 8088; * Port 84h on early Compaq machines; -* Port 0190h on IBM PS/1 and PS/2 machines not based on Micro Channel Architecture; +* Port 0190h on IBM PS/1 and PS/2 machines not based on the Micro Channel Architecture; * Port 0680h on Micro Channel Architecture machines. -.. note:: Some guest operating systems (such as Linux before kernel 3.0) rely heavily on the first DMA extra page register, which is shared with the POST card. If you notice the POST code display is flickering and the emulation speed has decreased drastically, try disabling the POST card. +.. note:: Some guest operating systems (such as Linux before kernel 3.0) rely heavily on a DMA register which shares port 80h with the POST card. If you notice the POST code display is flickering and the emulation speed has decreased drastically, try disabling the POST card. + ISA RTC ------- diff --git a/settings/sound.rst b/settings/sound.rst index aca92bf..f45916c 100644 --- a/settings/sound.rst +++ b/settings/sound.rst @@ -65,4 +65,4 @@ The type of UltraSound to emulate (Classic or MAX), I/O port and amount of onboa Use FLOAT32 sound ----------------- -Use the 32-bit floating point (instead of 16-bit integer) data type for audio output, which is less prone to clipping but may not work at all on some host systems. Try disabling this option if you're getting no audio output from 86Box whatsoever. +Use the 32-bit floating point (instead of 16-bit integer) data type for audio output, which is less prone to clipping but may not work at all on some host systems. Try disabling this if you're getting no audio output from 86Box at all. diff --git a/usage/statusbar.rst b/usage/statusbar.rst index 763810e..bead1e0 100644 --- a/usage/statusbar.rst +++ b/usage/statusbar.rst @@ -69,4 +69,21 @@ This icon will appear if :doc:`networking <../settings/network>` is enabled. No This icon is always present. Double-clicking it opens a sound gain control, which allows you to increase the loudness of all audio produced by the emulated machine's PC speaker, :doc:`sound cards <../settings/sound>` and other sound hardware. -.. note:: The gain control does not apply to MIDI music sent to a software synthesizer through the :ref:`System MIDI ` device, as these synthesizers are external to 86Box. \ No newline at end of file +.. note:: The gain control does not apply to MIDI music sent to a software synthesizer through the :ref:`System MIDI ` device, as these synthesizers are external to 86Box. + +Additional information area +--------------------------- + +When enabled, the :ref:`settings/peripherals:ISABugger` and :ref:`settings/peripherals:POST card` display additional information on the status bar, to the right of the icons described above. + +ISABugger +^^^^^^^^^ + +The ISABugger's hexadecimal displays and LED banks are displayed here. See :doc:`../hardware/isabugger` for more information. + +POST card +^^^^^^^^^ + +The leftmost hexadecimal value is the most recent POST code reported, while the rightmost value is the second most recent code, like on a real dual-display POST card. A value of ``--`` indicates that no POST code has been reported yet. + +.. note:: The additional information area can only be used by one peripheral at a time. If both are enabled simultaneously, the POST card takes over whenever a POST code is reported, and the ISABugger takes over whenever one of its registers is written to.