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
Daniel Markstedt 15febd1ee6
Disk image profile management using a sidecar config file (#242)
* Handle a case where reserved ids on the Web UI side are not actually reserved on the backend side

* Better error handling when no device is found in list_devices

* Better warning message

* Tag message as error

* Fix device_info

* Get reserved ids from the server instead of storing a client side state, which caused front and backend to get out of sync in certain cases.

* Initial implementation of sidecar configuration reading and writing

* Use bytes for drive image creation internally

* Add named drive section

* Move header to base.html

* Create the disk profile list page

* Make lists of HDDs, CDRs, and Removable drives

* Implement disk image + sidecar creation

* Implement CD-ROM device sidecar creation method

* Add more device configurations

* Add disclaimer

* Hide URL if none is provided

* Make the web ui use the new protobuf parameter maps

* Make daynaport attaching UI more flexible

* Use the protobuf interface to create image files

* Use new create image method for the sidecar flow as well

* Move file deletion logic to protobuf commands; Refactor saving/loading config files

* Update disk image creation

* Fix error

* Disk images the script makes are in Mac format

* Add blurb about the risks with using Lido driver (issue#40) to the easyinstall script, while pushing less for using that feature.

* Make shutdown and reboot async operations

* More informative footer contents

* Wordsmith the Mac drive options

* Link to relevant section in the wiki

* Added GET_IMAGE_FILES

* Added default folder to GET_IMAGE_FILES

* Renaming

* Updated setting image folder

* Lists available net interfaces as a drop down when attaching daynaport

* Macs should use the hds image file ending

* Fixed default image folder handling

* Refer to device properties, instead of sidecars

* Added NETWORK_INTERFACES_INFO

* Filter "lo"

* Use PF_INET in favor of PF_INET6

* Added network interfaces to server info

* Drive property file ending defined in one place; Add handling of common urllib and file system exceptions.

* Use protobuf interface to get network interface info

* Use protobuf interface for list_files

* Repeated field cleanup

* Renaming

* Added DEVICE_TYPES_INFO

* Comment update

* Added -y option to rasctl

* Add the remaining recommended drive profiles provided by rpajarola

* Fix typos

* Add warnings to CD-ROM descriptions

* Add more recommended Sun drives

* Add capacity to name

* Move footer into base.html

* Handle removable drive insertion in the attach method (easy to do with protobuf)

* Limit which arguments to pass to an image injection command

* Cleanup

* Sort image and config files alphabetically

* Make compatible with updated protobuf interface

* Sort drives alphabetically by name

* Decriptive text for CD-ROM section

* Better description

* Hyperlink to disks page instead of button

Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
2021-09-19 14:29:01 -07:00
.github Create FUNDING.yml 2021-08-04 17:34:24 -05:00
doc protobuf interface cleanup (#244) 2021-09-19 14:27:47 -07: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 Disk image profile management using a sidecar config file (#242) 2021-09-19 14:29:01 -07: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 Move to protobuf for the webapp, major overhaul to easyinstall.sh, code comment translations (#229) 2021-09-14 21:51:12 -05:00
easyinstall.sh Disk image profile management using a sidecar config file (#242) 2021-09-19 14:29:01 -07: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 Configurable block size, controller/device cleanup, dispatchers per device, bridge setup (#203) 2021-09-14 20:23:04 -05: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 and Atari 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