Skip to content

Repository files navigation

xSysInfo

XSysInfo

xSysInfo is a comprehensive system information utility designed for AmigaOS. It provides detailed insights into your Amiga system's hardware and software configuration, along with benchmarking capabilities.

Note: This program does not contain any code from the original AmigaOS SysInfo tool.

Features

  • Detailed Hardware Information: Get in-depth reports on your CPU, memory, drives (including SCSI), expansion boards, and cache.
  • Clock and Battery Memory: View the hardware clock date/time, updated once per second on the Clock page, plus available NV-RAM settings. Dates use YYYY-MM-DD and times use the 24-hour format.
  • Software Environment Overview: View details about your AmigaOS software setup.
  • Benchmarking: Includes Dhrystone benchmarks to assess your system's performance.
  • Graphical User Interface (GUI): User-friendly interface for easy navigation and information display.
  • Printing Support: Print out system reports for documentation or sharing (For now, the output is saved to a file in RAM:)
  • Localization: Supports multiple languages for its interface.

Building xSysInfo

To build xSysInfo, you will need a GCC cross-compiler for m68k-amigaos (e.g., m68k-amigaos-gcc). The build process also requires make, curl, md5sum, lha, Python 3, patch, and vasmm68k_mot (VASM) to handle external dependencies and assemble the PCI database.

  1. Clone the repository:

    git clone https://github.com/reinauer/xsysinfo.git
    cd xsysinfo
    git submodule update --init --recursive
  2. Build the project: The Makefile will automatically handle fetching and building necessary third-party libraries (flexcat and identify).

    make
  3. Create an Amiga Disk File (ADF): You can create a bootable .adf image containing xSysInfo and its necessary libraries using xdftool.

    make disk

    This will generate xsysinfo-<version>.adf in the project root.

Running xSysInfo

The primary way to run xSysInfo on a real Amiga is via a GOTEK drive using the generated xsysinfo-<version>.adf disk image.

You can also run the ADF on an Amiga emulator (like WinUAE or FS-UAE).

Start xSysInfo from its Workbench icon or run it from the Shell on a real Amiga or emulator. With no command-line options, it opens the graphical interface.

Command-line options

Use xSysInfo [options]. Options are case-insensitive keywords, entered without a leading dash.

Option Description
BRIEF Run benchmarks and write a compact summary to Shell output.
FULL Run CPU, memory, and drive benchmarks and write the complete text report to Shell output.
WHICH Write a column-aligned system report compatible with the WhichAmiga 1.3.3 text format to Shell output.
DARK Use the dark blue palette in the graphical interface. The default is the gray palette.
DEBUG Enable diagnostic output. Debugging is off by default.
SCSI Check the A3000 WD SCSI controller at startup. Disabled by default; see below before enabling it.

BRIEF, FULL, and WHICH run without opening the graphical interface. If more than one report mode is supplied, FULL takes precedence over WHICH, which takes precedence over BRIEF. DEBUG can be combined with any mode; DARK affects only the graphical interface.

For example, open the interface in dark mode or save a full report to RAM:

xSysInfo DARK
xSysInfo FULL >RAM:xSysInfo.txt
xSysInfo SCSI
xSysInfo SCSI FULL >RAM:xSysInfo-scsi.txt

Example output from xSysInfo WHICH:

xSysInfo WHICH system report

Graphical interface

The System Software tile opens on an overview of the OS, physical ROM, active ROM, Workbench, SetPatch, and graphics system. Its cycle button opens the library, device, resource, and MMU lists. Total Chip and Fast RAM are shown in the hardware overview.

On an A3000, the optional SCSI Shell option or Workbench ToolType runs a WD33C93 check once at startup. It resets the controller, identifies WD33C93/A/B-compatible chips, reads microcode where supported, and measures the input clock. Stop all disk activity before launching with SCSI enabled. Normal Shell and Workbench launches leave the check disabled. When enabled, it has no confirmation prompt. AmigaOS 2.0 or later is required for its timer.

The bootable floppy image enables it with xSysInfo SCSI in its Startup-Sequence. The check runs before xSysInfo enumerates drives; machines without a supported controller are silently skipped. The Workbench icon keeps (SCSI) disabled.

The check skips busy controllers, incomplete transfers, and configurations whose reset settings cannot be recovered. Results appear on CHIPSET, in PRINT, and in FULL reports. Mode, timeout, and sync settings are snapshots taken before the check; sync describes the last selected target. Older chips without readable microcode show N/A. Clock measurement can also be unavailable on emulators. On supported hardware, a skipped or incomplete check produces a warning and Shell return code 5. If controller restoration fails, xSysInfo displays an error and exits with code 20 without enumerating drives, running further benchmarks or writing a report. Reboot before accessing disks in that case.

On the Boards page, the cycle button switches between NAMES, DEC, and HEX. DEC and HEX show numeric product and manufacturer IDs and serial numbers; hexadecimal values use the Amiga-style $ prefix. PCI boards continue to show their device class in the serial column. The selected mode is remembered until xSysInfo exits.

Dark mode, enabled with xSysInfo DARK:

xSysInfo in dark mode

Workbench icon ToolTypes

These settings are read from the program's icon when xSysInfo starts from Workbench. Edit the icon's ToolTypes, with one entry per line. The supplied icon contains DISPLAY=auto, plus disabled examples (DISPLAY=window), (DISPLAY=screen), (DARK), (DEBUG), and (SCSI).

ToolType Description
DISPLAY=auto Default. Open a window if the detected Workbench screen is wider than 640 pixels or taller than 512 pixels; otherwise use a separate PAL or NTSC screen.
DISPLAY=window Open a window on the Workbench screen.
DISPLAY=screen Open a separate PAL or NTSC screen.
DARK Use the dark blue palette. Omit this entry to use the default gray palette.
DEBUG Enable diagnostic output. Omit this entry to leave debugging off.
SCSI Run the optional WD SCSI controller check at startup, as described above. Disabled by default.

Keep exactly one DISPLAY entry enabled to select the display mode; put parentheses around the other choices. Remove the parentheses from (DARK), (DEBUG), or (SCSI) to enable an option, and restore them to disable it.

XSysInfo in windowed mode

Dependencies

xSysInfo uses the following third-party projects and data:

  • FlexCat: Builds the localization catalogs from the source submodule.
  • Identify: Identifies hardware and software. Developer headers come from the source submodule; the runtime library comes from IdentifyUsr.lha.
  • PCI IDs: Supplies the PCI identification data through identify's nested submodule. The disk's pci.db is built locally with the empty-vendor pruning patch. The full database is available separately in IdentifyPci.lha.
  • openpci68k.lha: Supplies openpci.library for PCI device access.
  • MMULib.lha: Supplies mmu.library and the 68020/68030/68040/68060 support libraries included on the disk image.
  • MuManual.lha: Supplies MMU developer headers and function descriptions used to generate compiler bindings.
  • TinySetPatch: Built from the source submodule for CPU support and system initialization when booting the disk image.
  • fd2pragma: Generates compiler bindings from library function descriptions and C prototypes. Must be preinstalled and available on PATH; the build does not install it.

The build downloads and caches the .lha archives in downloads/. It also downloads fd2pragma.types to ~/.fd2pragma.types when that file is missing.

Contributing

xSysInfo is licensed under the BSD 2-Clause License. Contributions are welcome! Fork the repository, make your changes, and submit a pull request.

About

Extended System Information Utility for Classic Amiga Systems

Resources

Stars

126 stars

Watchers

13 watching

Forks

Releases

Packages

Contributors

Languages