English fork of the Japanese RaSCSI project. RaSCSI allows a Raspberry Pi to function as emulated SCSI devices (hard disk, CD-ROM, and others) for vintage SCSI-based computers and devices.
Go to file
Klaus Kämpf b7f65d33e2
Honor sector size change via ModeSelect6 in scsicd (#1406)
* Make ModeSelect() non-const

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

* Implement ModeSelect for scsicd

and honor sector size setting.

DEC's VMS can't handle 2k sector sizes and uses ModeSelect6 to set the
sector size to 512 bytes.

Fixes #1397

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

* Test sector size setting via ModeSelect in SCSICD

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

* Re-calculate total blocks when sector size changes

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

* Reset CD data tracks after sector size change

The track calculation is based on sector size and must be reset after
change of sector size.

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

* resize cache after change of sector size

The disk cache is based on sector size and must be resized when the
sector size changes.

Disk::ResizeCache needs a `raw` parameter, make this value accessible
from the current cache.

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

* Make GetRawMode const

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>

---------

Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
2024-01-10 06:36:24 +09:00
.github Remove fullspec/standard sub-folder (#1324) 2023-11-14 15:51:36 +01:00
cpp Honor sector size change via ModeSelect6 in scsicd (#1406) 2024-01-10 06:36:24 +09:00
doc Revert "scsictl: Create files with binary/JSON or text format protobuf data (#1369)" 2023-11-27 09:11:43 +09:00
docker Merge pull request #1352 from benjamink/reset-venv-with-env-var 2023-11-17 05:53:20 -05:00
hw Moved hw directory to its own repository (#1011) 2022-12-01 19:20:52 -06:00
ide_setup Add initial IDE setup (#1326) 2023-11-14 15:13:45 +01:00
os_integration Move os_integration to root level (#1085) 2023-01-28 15:03:41 -08:00
python Control Board: Use Pillow 10 API for getting text size 2023-12-18 00:41:51 -08:00
.dockerignore Move os_integration to root level (#1085) 2023-01-28 15:03:41 -08:00
.gitignore Rebrand project to PiSCSI (#1016) 2022-12-05 09:58:23 -08:00
LICENSE Rebrand project to PiSCSI (#1016) 2022-12-05 09:58:23 -08:00
README.md Add web UI notification for under voltage/throttling events (#1203) 2023-08-31 23:23:12 -07:00
_config.yml Set theme jekyll-theme-midnight 2020-07-04 20:39:04 -05:00
easyinstall.sh Freeze Python requirements for the Control Board client 2023-12-16 01:32:32 -08:00

README.md

What is PiSCSI?

PiSCSI is a virtual SCSI device emulator that runs on a Raspberry Pi. It runs in userspace, and can emulate several SCSI devices at one time. There is a control interface to attach / detach drives during runtime, as well as insert and eject removable media. This project is aimed at users of vintage Macintosh and Atari computers and more (see compatibility list) from the 1980's and 1990's.

Please check out the full story with much more detail on the wiki!

How do I contribute?

PiSCSI is using the Gitflow Workflow. A quick overview:

  • The main branch should always reflect the contents of the last stable release
  • The develop branch should contain the latest tested & approved updates. Pull requests should be used to merge changes into develop.
  • The rest of the feature branches are for developing new features
  • A tag will be created for each "release". The releases will be named .. where the release number is incremented for each subsequent release tagged in the same calendar month. The first release of the month of January 2021 is called "21.01.01", the second one in the same month "21.01.02" and so on.

Typically, releases will only be planned every few months.

When you are ready to contribute code to PiSCSI, follow the GitHub Forking and Pull Request workflow to create your own fork where you can make changes, and then contribute it back to the project. Please remember to always make Pull Requests against the develop branch.

If you want to add a new translation, or improve upon an existing one, please follow the instructions in the Web Interface README. Once the translation is complete, please use the same workflow as above to contribute it to the project.

I sell on TindieSonarCloud

GitHub Sponsors

Thank you to all of the GitHub sponsors who support the development community!

Special thank you to the Gold level sponsors!

Special thank you to the Silver level sponsors!

Thank you to Lin van der Slikke for the red panda logo design!