instead of enumerating the images dir for the dropdown where you select a file to create a CD-ROM image from, provide a list of all files in the root of the shared dir, typically /var/lib/piscsi/shared
this is preferable since 1) the images dir enumerating logic filters by valid image or archive file types, and 2) conceptually the files under images are typically not used directly on host machines, while the ones in the shared dir are meant to be transferred to a host machine
for users the workflow changes slightly: when uploading a file meant for an iso image, choose the shared dir instead of the images dir
Port the SCSI2Pi Host Services execute-operation and result-retrieval commands, including binary, JSON and text protobuf formats. Route commands through PiSCSI's command handler without socket transport or lock re-entry, and configure attached Host Services devices automatically.
Validate CDB formats and payloads, support transfers larger than the controller's default buffer, correct Mode Sense response lengths, and cover the new protocol with unit tests.
the SonarCube Cloud scan actions were using outdated and conflicting configurations, while omitting the Go codebase
now we also build all the binaries with the Makefile
two fixes: make sure the generated protobuf sources are available before proceeding with compilation, and track the actual build targets that get flagged in the configure summary
Restore the SCBR device as an X68000 Host Bridge, including the Human68k-compatible host file-system service and the bridge-specific SCSI message handlers. Back its Ethernet path with the TAP driver, derive a stable locally administered MAC address, preserve the driver minimum-frame/FCS expectations, and restrict received traffic to its own unicast frames and broadcasts.
Match the RASCTL/RASETHER/RASDRV bridge protocol that originated in the parent RaSCSI project: dispatch its non-standard message format on READ(10)/WRITE(10) (0x28/0x2a), with type, function, phase, and a three-byte byte count carried in the CDB. Advertise the legacy control channel required by RASCTL, translate its list and device-management commands to PiSCSI operations, and defer stop or system-shutdown requests until after the response is sent, while gating this insecure interface behind a new '-c disabled|media|full' runtime option. Preserve the type-1 Ethernet exchange used by RASETHER and the type-2, phased filesystem exchange used by RASDRV.
Register the device in the factory, protobuf API, controller transfer path, command-line tooling, device listings, and web UI. Share the explicit bridge and proxy-ARP topology workflow with DaynaPort so both adapters validate and use the same mode/interface pair.
Add build support for iconv where needed, extend unit coverage for device creation, RAS* protocol handling, CLI parsing, web attachment, and topology selection, and update the man pages and network-profile documentation for Host Bridge operation and its networking limits.
Move GPIO mappings into a single module and select a board profile at process startup instead of at compile time: Build every GPIO-facing utility for every supported profile. At the same time, we remove support for the historical AIBOM board type since it's the only one using positive logic, the other three variants share the same electrical behavior.
Run piscsi, scsimon, scsiloop, scsidump, or sasidump with -C=STANDARD, FULLSPEC, or GAMERNIUM. FULLSPEC remains the default. To select a profile for the systemd service, set PISCSI_CONNECTION_TYPE and restart the service.
when you do Attach/Insert on an empty slot, you now get a list of all available device types instead of list of all images; picking one of them either attaches the device immediately, or takes you to a submenu for making additional choices (network topology, image file)
introduce image file filtering per the device type that is being attached, including filtered lists also for inserting media into existing removable devices
add an option to attach a removable device without inserting media
rather than scrolling a long status strings horizontally back and forth, we now have:
- ID and type as frozen columns
- scroll from left to right then wrap to the beginning
- 3 frame pause before scrolling starts
- 2 frame pause before a fully scrolled string wraps
- print product names for all non-file device types
- special abbreviation of SAHD->SA (to disambiguate with SCHD)
Use the validated image sector size to derive SCSIHD_NEC's sector shift count, instead of the complete image size. This restores correct capacity and MODE SENSE geometry for PC-98 HDN images.
Restore the sasidump tool for dumping physical SASI hard disks to local file through piscsi GPIO. It has been slightly refactored to align with the current C++ coding standards.
Port the X68000 SASI probe handling and completion-message behavior from the older RaSCSI SASI implementation.
Borrow BlueSCSI v2-compatible Assign Disk Parameters (0xC2) handling: accept its six-byte CDB and consume the ten-byte parameter payload.
Introduce a SASI controller and SAHD disk implementation alongside the existing SCSI path. Select the appropriate controller when attaching a device, prevent SASI and SCSI devices from sharing a target ID, and implement SASI-specific selection, message, status, timing, and LUN handling.
Restore SAHD in the protocol and expose it consistently through the device factory, command-line client, configuration validation, web interface, drive profiles, and manual. Enforce the two-LUN limit for SASI targets wherever device definitions are created or parsed.
Bring back handling of the hdf image format and map it to the SAHD device type. The hdf file ending is the established one for SASI raw disk images used in the X68000 emulation community, however it is a raw data format without any special header.
Add focused C++ and Go coverage for SASI devices, controller selection, LUN validation, and web-facing behavior.
now users are expected to either install a binary deb package or use the build system directly when installing piscsi and the clients
create an INSTALL.md file with instructions how to use both the Makefile and Meson build systems
easyinstall.sh has been restructured to handle companion app installation solely, while the Netatalk installation script uses the Debian package instead of compiling from source
move the network configuration ASCII graphics over to the piscsi-network-profile script