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
Uwe Seimet 0a5298b8ac
Feature extended server information (#169)
* PbDevice returns information on whether a device is removable

* Fixed log message

* Added additional status data (ejectable, protctable, removable)

* Assume ejectable == removable

* Removed obsolete fields

* Added locked/lockable to interface

* Code review

* Logging update

* The user should be allowed to also write protect hard disk drives

* Updated error handling

* Testing

* INSERT also has to search in the default file folder

* Added TODO

* Manpage update

* Message updates

* Moved some sanity checks to the server, so that they are run for any client

* Updated error handling

* Moved CR/LF handling to the client, the server should not format too much

* rascsi should not mention "rasctl" in its messages, there may be other clients

* Improved error messages

* Improved error handling by returning an error string

* Added TODO

* Moved check for duplicate ID to ProcessCmd()

* Removed debug output

* Moved include

* Removed obsolete includes, updated includes

* Reverted ready check

* Fixed error messages

* Added convenience method

* Simplified error handling

* Socket/error handling review

* "NO MEDIA" is added by the client, not by the server

* Added missing include

* Only check for duplicate ID when attaching a device

* Added type/string converters for PbDeviceType

* PbDevice indicates whether image files are supported

* Write-protecing a read-only devices is not treated as an error anymore

* Updated read-only check

* Made difference between read-only and protected more explicit

* Added comment

* Comment update

* Made hard disk drives write-protectable by the user

* Resolved https://github.com/akuker/RASCSI/issues/166

* Addressing compiler error - type needs to be initialized

Co-authored-by: akuker <akuker@gmail.com>
2021-08-08 10:08:58 -05:00
.github Create FUNDING.yml 2021-08-04 17:34:24 -05:00
doc Feature extended server information (#169) 2021-08-08 10:08:58 -05:00
docs Merge Hw 2p4 to develop (#109) 2021-06-08 19:06:29 -05:00
hw Merge Hw 2p4 to develop (#109) 2021-06-08 19:06:29 -05:00
src Feature extended server information (#169) 2021-08-08 10:08:58 -05:00
test/robot Create new test cases for checking that the user can specify the TCP Port number (#154) 2021-07-27 18:40:00 -05:00
_config.yml Set theme jekyll-theme-midnight 2020-07-04 20:39:04 -05:00
.gitignore Speed up web uploads and various fixes (#158) 2021-07-31 10:52:09 -05:00
easyinstall.sh Speed up web uploads and various fixes (#158) 2021-07-31 10:52:09 -05:00
LICENSE Create LICENSE 2020-07-05 23:02:40 -05:00
lido-driver.img improved HD creator with partioning and formatting Drive with HFS. (#51) 2020-11-07 18:10:09 -06:00
RASCSI_webpage_translated.pdf Merged in RASCSI version 1.47 and re-generated english PDF 2020-07-04 09:57:44 -05:00
README.md Update README.md 2021-01-24 21:45:53 -06:00

C/C++ CI Scrutinizer Code Quality Coverity Scan Build Status

What is RaSCSI?

RaSCSI 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 computers from the 1980's and 1990's.

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

How do I contribute?

RaSCSI is using the Gitflow Workflow. A quick overview:

  • The master 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 . (for the first release of the month). Hot fixes, if necessary, will be released as ... For example, the first release in January 2021 will be release "21.01". If a hot-fix is needed for this release, the first hotfix will be "21.01.1".

Typically, releases will only be planned every few months.

I sell on Tindie