-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commit b708974 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 15:03:15 2023 +0100 Update commit b2c311b Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 14:58:40 2023 +0100 Update commit 2b334fe Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 14:54:22 2023 +0100 Update commit c67807b Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 14:43:16 2023 +0100 Fix typo commit 917c80b Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 14:42:39 2023 +0100 Update README commit 6f6ec70 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 14:29:44 2023 +0100 Update README commit ff2522a Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 13:15:00 2023 +0100 Cleanup commit 567d708 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 13:09:01 2023 +0100 Remove Sleep() commit 756a522 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:58:58 2023 +0100 Remove easyinstall commit 7574f3e Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:54:09 2023 +0100 Re-add cpp.yml commit 6df7654 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:52:05 2023 +0100 Remove SCSIHD_NEC commit 6f708d2 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:31:17 2023 +0100 Remove SCBR commit 30bb555 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:16:14 2023 +0100 Update includes commit 18c84a7 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:10:59 2023 +0100 Update jobs commit 7d32815 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:03:10 2023 +0100 Remove non-C++ files commit f6208a5 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 12:00:47 2023 +0100 Remove workflow files commit bb3b373 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 11:58:27 2023 +0100 Add scsiexec commit d4ff468 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 11:43:13 2023 +0100 Update postinst and .gitignore commit 2069bb8 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 10:33:32 2023 +0000 Initial debian build process commit 3160fb6 Author: Uwe Seimet <Uwe.Seimet@seimet.de> Date: Fri Nov 24 09:19:57 2023 +0000 Add initial packaging
- Loading branch information
Showing
260 changed files
with
1,089 additions
and
33,667 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,39 @@ | ||
# 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](https://github.com/PiSCSI/piscsi/wiki/Compatibility)) from the 1980's and 1990's. | ||
|
||
Please check out the full story with much more detail on the [wiki](https://github.com/PiSCSI/piscsi/wiki)! | ||
|
||
# How do I contribute? | ||
PiSCSI is using the <a href="https://datasift.github.io/gitflow/IntroducingGitFlow.html">Gitflow Workflow</a>. 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 <year>.<month>.<release number> 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 <a href="https://docs.github.com/en/get-started/quickstart/contributing-to-projects">GitHub Forking and Pull Request workflow</a> 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 <a href="https://github.com/PiSCSI/piscsi/tree/master/python/web#localizing-the-web-interface">instructions in the Web Interface README</a>. Once the translation is complete, please use the same workflow as above to contribute it to the project. | ||
|
||
<a href="https://www.tindie.com/stores/landogriffin/?ref=offsite_badges&utm_source=sellers_akuker&utm_medium=badges&utm_campaign=badge_large"><img src="https://d2ss6ovg47m0r5.cloudfront.net/badges/tindie-larges.png" alt="I sell on Tindie" width="200" height="104"></a>[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-orange.svg)](https://sonarcloud.io/summary/new_code?id=akuker_PISCSI) | ||
|
||
# GitHub Sponsors | ||
Thank you to all of the GitHub sponsors who support the development community! | ||
|
||
Special thank you to the Gold level sponsors! | ||
- <a href="https://github.com/mikelord68">@mikelord68</a> | ||
- <a href="https://github.com/SamplerSpa-de">@samplerspa-de</a> | ||
|
||
Special thank you to the Silver level sponsors! | ||
- <a href="https://github.com/stinkerton18">@stinkerton18</a> | ||
- <a href="https://github.com/hsiboy">@hsiboy</a> | ||
- <a href="https://github.com/pendleton115">@pendleton115</a> | ||
- <a href="https://github.com/Teufelhunden-0311">@Teufelhunden-0311</a> | ||
- Private sponsor ;] | ||
|
||
Thank you to Lin van der Slikke for the red panda logo design! | ||
# What is SCSI2Pi? | ||
|
||
SCSI2Pi runs on a Raspberry Pi (most likely not on a Pi 5) and emulates various types of SCSI devices at one time. With SCSI2Pi you can also backup and restore SCSI hard drives. More tools are in the process of being added. | ||
SCSI2Pi is based on the <a href="https://github.com/PiSCSI/piscsi">PiSCSI project</a>, but aims at further improving the compatibility, code qualitiy and functionality. See below for details.<br /> | ||
SCSI2Pi was chosen as the name for this project because there are not that many choices anymore when looking for a name that contains both "SCSI" and "Pi" ;-). | ||
|
||
# Who am I? | ||
|
||
In the past I was the main C++ code contributor for PiSCSI. I re-engineered most of the legacy C++ code and updated it to make good use of C++-20, which is the most modern C++ standard you can use on the Pi. I also revised the SCSI emulation architecture. All in all this resulted in more modular code and drastically improved SonarQube code metrics. Besides adding a lot of <a href="https://www.piscsi.de/en/piscsi.html">new features</a> and improving the compatiblity with many platforms, I also fixed numerous bugs in the legacy PiSCSI codebase and added an extensive set of unit tests. Further I am the author of the <a href="https://www.piscsi.de">PiSCSI control app</a> for Android, which makes use of the remote interface I added to PiSCSI. | ||
|
||
# How is SCSI2Pi related to PiSCSI and the former RaSCSI? | ||
|
||
Over time, it turned out that the PiSCSI project tended to prefer old (and even new) non-working code to bug-fixed code in modern C++ In addition, features were promised but never delivered, as you can see in numerous tickets and the project's roadmap. There was also no interest in exploiting the initiator mode feature of the FULLSPEC board. This mode, together with new command line tools, offers solutions for use cases that have never been addressed before, neither with PiSCSI nor its predecessor RaSCSI. | ||
From my perspective this situation was not satisfying, and this is why I decided to set up SCSI2Pi as a new project that is compatible with the PiSCSI board. | ||
|
||
# SCSI2Pi goals | ||
|
||
The intention of SCSI2Pi is not to completely replace PiSCSI, where great work is still being done on the web interface and on supporting users in social media. | ||
The goal of SCSI2Pi is to improve the actual SCSI emulation and to address the remaining compatibility issues, mainly (but not only) with usually rather exotic platforms. | ||
SCSI2Pi focuses on vintage computers like Macs, Ataris, Amigas, workstations and on samplers. There is no support for the X68000, because in PiSCSI this code has always been in a bad shape, nobody has been willing to test it, and it might not even be working. Most of the other features of PiSCSI are supported - many of these I implemented anyway ;-). And there are more new features to come. Besides bug fixes in the SCSI code there will be new tools that make use of the FULLSPEC board's initiator mode.<br /> | ||
These are the features where SCSI2Pi is definitely not an alternative to PiSCSI: | ||
|
||
- Everything related to X68000 support. | ||
- SASI drive support. This is currently also not supported by PiSCSI, but re-adding it <a href="https://github.com/PiSCSI/piscsi/issues/809">has a high priority</a>. | ||
- NEC hard drive support. | ||
- Everything on the <a href="https://github.com/PiSCSI/piscsi/issues/809">PiSCSI roadmap</a>. | ||
|
||
# How to switch between PiSCSI and SCSI2Pi | ||
|
||
As already mentioned, SCSI2Pi is not meant to completely replace PiSCSI. Instead, I intend to provide standard Debian packages with binaries that replace the PiSCSI binaries. Just by installing such a package your PiSCSI installation will use a more modern and better maintained SCSI emulation codebase. If need should be, you can switch back any time by just running PiSCSI's easysetup script. SCSI2Pi does not modify anything except binaries and manpages, which can easily be reverted.<br /> | ||
Of course, in case you have to switch back to PiSCSI I would appreciate your feedback on any issues caused by SCSI2Pi. Just create a GitHub ticket with details on what was working with PiSCSI but not with SCSI2Pi. But please not: The SCSI2Pi project only accepts tickets that target SCSI2Pi, but none related to PiSCSI, e.g. the web interface or the installation images.<br /> | ||
Even though I cannot give any guarantees I will try to stay compatible with PiSCSI on the one hand while on the other hand offering new features with SCSI2Pi. The same applies to the PiSCSI control app, which might be renamed: I will try to keep it compatible also with PiSCSI. Currently I do not see an issue with that. | ||
|
||
Being compatible and not a full replacement also means being compatible with most of the documentation on the <a href="https://github.com/PiSCSI/piscsi/wiki">PiSCSI Wiki</a>. More information specific to SCSI2Pi is available on the <a href="https://www.scsi2pi.net">SCSI2Pi website.</a> | ||
|
||
# Contributing to SCSI2Pi | ||
|
||
Contributions are welcome, of course. Please see the <a href="https://github.com/PiSCSI/piscsi/wiki">PiSCSI Wiki</a> for general information on how to contribute. If you are interested in the Pi and/or SCSI, in modern C++ and platform-independent programming, you are very welcome as a developer or a code reviewer.<br /> | ||
Did I just say "platform independent programming", even though SCSI2Pi is about a Pi? Yes, I did, because I have ensured that the PiSCSI code also compiles and partially runs on regular Linux PCs, on BSD and even on macos. This is important for developers and for testing, because the faster your development machine, the better. I am using Eclipse CDT on a Linux PC as my primary development platform, by the way. |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.