mirror of
https://github.com/akuker/RASCSI.git
synced 2024-11-25 20:33:35 +00:00
335 lines
14 KiB
Plaintext
335 lines
14 KiB
Plaintext
-------------------------------------------------- ----------------------------
|
||
|
||
SCSI Target Emulator RaSCSI (*^..^*)
|
||
for Raspberry Pi
|
||
|
||
Powered by XM6 TypeG Technology.
|
||
Copyright (C) 2016-2020 GIMONS
|
||
|
||
-------------------------------------------------- ----------------------------
|
||
□ What is RaSCSI
|
||
RaSCSI is a SCSI device (hard disk, MO, CD-ROM) that operates on the Raspberry Pi.
|
||
It is a virtual emulator. Use with SHARP X68000 that adopts SCSI
|
||
It was developed for that purpose. Raspberry Pi with RaSCSI installed on the X68000 SCSI
|
||
Simply connect it to the connector and it will be recognized as a physical SCSI device.
|
||
|
||
In addition to the X68000, it may be possible to use it with a retro PC such as FM TOWNS or PC 98 that adopted SCSI.
|
||
May. The author has confirmed that it works with FM TOWNS and PC9821Ce.
|
||
|
||
RaSCSI is a software that emulates SCSI devices plus Raspberry Pi
|
||
Refers to the general term for the mechanism that converts a GPIO connector into a SCSI connector.
|
||
|
||
□ Operating environment
|
||
(1) Raspberry Pi
|
||
Raspberry Pi Zero
|
||
Raspberry Pi Zero W
|
||
Raspberry Pi Zero WH
|
||
Raspberry Pi 2 Model B
|
||
Raspberry Pi 3 Model B (recommended)
|
||
Raspberry Pi 3 Model A+
|
||
Raspberry Pi 3 Model B+
|
||
Raspberry Pi 4 Model B
|
||
|
||
Performance may be a little unstable with Zero/Zero W/Zero WH.
|
||
|
||
3 Model A+/3 Model B+/4 Model B has high performance, but CPU clock is affected by heat.
|
||
It may fluctuate, so it will be necessary to take measures.
|
||
|
||
(2) OS
|
||
Developed and tested by RASPBIAN BUSTER.
|
||
RaSCSI uses GPIO to control SCSI signals, so latency is as low as possible.
|
||
Must be used in the state of. Therefore, it is recommended to use it in CUI mode.
|
||
To do.
|
||
|
||
□ Connection method with SCSI connector
|
||
Since the situation has become complicated, we provide information on the RaSCSI home page.
|
||
Please refer to the official website at the end of this document.
|
||
|
||
□ Handout
|
||
The executable file, the document, and the source code are stored in the distributed archive.
|
||
It is divided and included in the directory.
|
||
|
||
bin/ ・・・ Executable file
|
||
raspberrypi/ ・・・ RPI program
|
||
rascsi.tar.gz ・・・ The tar+gzip of the executable file.
|
||
|
||
x68k/ ・・・ Dedicated driver for X68000
|
||
RASDRIVER.XDF... A floppy image containing two drivers
|
||
RASDRIVER.HDS... A SCSI HD image containing two drivers
|
||
RASDRIVER.HDF... SASI HD image containing two drivers
|
||
|
||
doc/ ・・・Documents
|
||
rascsi.txt ・・・ This document
|
||
x68k.txt ・・・ Description of X68000 specific functions
|
||
converter.txt ・・・ Description of converter board
|
||
pinassign.png ・・・ Pin assignment diagram
|
||
target.png ・・・ Conversion board circuit pattern (target mode)
|
||
fullspec.png ・・・Conversion board circuit pattern (full spec)
|
||
|
||
src/ ・・・ Source code
|
||
raspberrypi/ ・・・ Set of program source for RPI
|
||
x68k/ ・・・ Set of programs for X68000
|
||
|
||
|
||
The program used in RPI is rascsi.tar.gz, so transfer it to RPI and decompress it.
|
||
Please. It is recommended to unzip on RPI to maintain permissions etc.
|
||
|
||
rascsi.tar.gz contains standard, fullspec, aibom and gamernium directories.
|
||
I am.
|
||
|
||
Executable file in the standard directory when using a direct connection cable or direct connection board
|
||
Please use.
|
||
|
||
Similarly, in the case of the conversion board described as the full spec version, in the fullspec directory
|
||
I will use one (I think that it works even if it is directly connected).
|
||
|
||
For the aibom and gamernium directories, use the conversion boards of "Aibomu version" and "GAMERnium version".
|
||
It is when using.
|
||
|
||
The driver for X68000 includes the following two in RASDRIVER.XDF or RASDRIVER.HDS
|
||
It is
|
||
RASDRV.SYS ・・・ Host drive driver
|
||
RASETHER.SYS ・・・ Ethernet driver
|
||
|
||
□ How to use RASCI main unit (rascsi)
|
||
|
||
When ID is specified
|
||
rascsi [-IDn FILE] ...
|
||
n:0 ~ 7
|
||
|
||
When specifying HD (compatible with HD specification of X68000 SASI machine)
|
||
rascsi [-HDn FILE] ...
|
||
n: 0 ~ 15
|
||
|
||
Since root authority is required, it is necessary to start with sudo etc.
|
||
If you add -h to the option, a simple HELP will be displayed
|
||
|
||
Usage: rascsi [-IDn FILE] ...
|
||
|
||
n is SCSI identification number(0-7).
|
||
FILE is disk image file.
|
||
|
||
Usage: rascsi [-HDn FILE] ...
|
||
|
||
n is X68000 SASI HD number(0-15).
|
||
FILE is disk image file.
|
||
|
||
Image type is detected based on file extension.
|
||
hdf: SASI HD image(XM6 SASI HD image)
|
||
hds: SCSI HD image(XM6 SCSI HD image)
|
||
hdn: SCSI HD image (NEC GENUINE)
|
||
hdi: SCSI HD image(Anex86 HD image)
|
||
nhd: SCSI HD image(T98Next HD image)
|
||
hda: SCSI HD image(APPLE GENUINE)
|
||
mos: SCSI MO image(XM6 SCSI MO image)
|
||
iso: SCSI CD image (ISO 9660 image)
|
||
|
||
In the argument, one SCSI (SASI) device can be specified by a pair of -IDn or -HDn and FILE.
|
||
-The number after the ID is the SCSI (SASI) ID. You can specify 0-7 as the ID, but usually the retro PC body
|
||
I think you are using ID7 etc. as the initiator. In that case, specify 0-6
|
||
It will be.
|
||
|
||
FILE is the file path of the virtual disk image. The image file name has an extension
|
||
Is required. The type of HD, MO, CD is determined by the extension.
|
||
|
||
Example) When you specify HDIMAGE0.HDS for SCSI ID0 and HDIMAGE1.HDS for ID1 and start up,
|
||
sudo rascsi -ID0 HDIMAGE0.HDS -ID1 HDIMAGE1.HDS
|
||
|
||
When you finish, press CTRL+C to stop.
|
||
If it is started in the background, is the kill command an INT signal to the relevant process?
|
||
It ends by sending a HUP signal.
|
||
|
||
After starting, rascsi opens a socket (6868 port) and receives external management commands.
|
||
It is ready to be attached. Therefore, rascsi has already started as another process.
|
||
If so, the boot will abort with an error message.
|
||
|
||
□ How to use the management tool (rasctl)
|
||
We provide a management tool called rasctl from version 1.10. This is the rascsi process
|
||
Disk is running in the background (waiting for connection on port 6868)
|
||
It is possible to issue operation commands. The command line is as follows.
|
||
|
||
rasctl -i ID [-u UNIT] [-c CMD] [-t TYPE] [-f FILE]
|
||
|
||
ID: SCSI ID (0 to 7)
|
||
UNIT: Unit number (0 or 1)
|
||
CMD: Operation command
|
||
attach: attach disk
|
||
detach: detach disk
|
||
insert: insert media (MO or CD only)
|
||
eject: Eject media (MO or CD only)
|
||
protect: Write protect the media (MO only)
|
||
TYPE: Disc type
|
||
hd: Hard disk (SASI/SCSI)
|
||
mo: MO (magneto-optical disk)
|
||
cd: CDROM (CDROM drive)
|
||
bridge: Bridge device
|
||
FILE: Path of disk image file
|
||
|
||
ID is required. UNIT defaults to 0 (default is 0 for SCSI).
|
||
CMD is interpreted as attach when omitted. TYPE is the extension of FILE when the command is attach
|
||
It will automatically judge from. FILE has a different extension if TYPE is explicitly specified.
|
||
does not matter. Basic interpretation of CMD and TYPE is case insensitive. Only the first letter
|
||
Judging.
|
||
|
||
Command example
|
||
rasctl -i 0 -f HDIMAGE0.HDS
|
||
|
||
Is 0, the SCSI ID is 0. CMD is attach by default and TYPE is determined from the extension HDS
|
||
Therefore, it is supposed to be hd and it is equivalent to the option specification when starting rascsi.
|
||
|
||
If only -l option is specified to check the current status, the device list is displayed.
|
||
Will be done. The command line is as follows.
|
||
|
||
rasctl -l
|
||
|
||
You do not need root privileges to start rasctl itself.
|
||
|
||
□ How to use Disk Dump Tool (rasdump)
|
||
Sample program for direct connection or direct connection board, or full-spec board.
|
||
|
||
As the name suggests, it dumps (optionally restores) the image of SCSI HDD or MO.
|
||
Specify your own ID as BID. If omitted, 7 is used.
|
||
|
||
rasdump -i ID [-b BID] -f FILE [-r]
|
||
ID: SCSI ID of the target device
|
||
BID: RaSCSI's own SCSI ID
|
||
FILE: dump file name
|
||
-r: Restore mode
|
||
|
||
Since it is a sample, only the minimum necessary processing is implemented, so do not modify it
|
||
Please use.
|
||
|
||
□ How to use SASI dedicated disk dump tool (sasidump)
|
||
A dump tool created for SASI based on rasdump.
|
||
Dump (optionally restore) the SASI HD image.
|
||
|
||
sasidump -i ID [-u UT] [-b BSIZE] -c COUNT -f FILE [-r]
|
||
ID: SASI ID of the target device
|
||
UT: UNIT ID of the target device
|
||
BSIZE: Block size (default 512)
|
||
COUNT: Number of blocks
|
||
FILE: dump file name
|
||
-r: Restore mode
|
||
|
||
□ When compiling the executable file from the source
|
||
Standard edition
|
||
make CONNECT_TYPE=STANDARD
|
||
|
||
Full spec version
|
||
make CONNECT_TYPE=FULLSPEC
|
||
|
||
Aibomu version
|
||
make CONNECT_TYPE=AIBOM
|
||
|
||
GAMERnium version
|
||
make CONNECT_TYPE=GAMERNIUM
|
||
|
||
□ Supported disk images
|
||
(1) SCSI hard disk
|
||
HDS file format (extension HDS/HDN/HDI/NHD/HDA)
|
||
The file size can be any size within the range of 10MB to 4095MB (in 512-byte units)
|
||
|
||
If the extension is "HDN", a genuine hard disk for NEC genuine 55 board (PC-9801-55)
|
||
Perform emulation. For information returned by INQUIRY and MODE SENSE size
|
||
There is a difference.
|
||
|
||
If the extension is "HDI" or "NHD", the PC98 emulator is Annex86 or T98Next.
|
||
It is intended to use a SCSI hard disk image. Some information as in HDN
|
||
Is converted for NEC.
|
||
|
||
If the extension is "HDA", APPLE genuine hard disk emulation is performed.
|
||
There is a difference in the information returned by INQUIRY and MODE SENSE.
|
||
|
||
(2) SASI hard disk
|
||
HDF file format (extension HDF)
|
||
File size is either 10441728 bytes, 20748288 bytes, or 41496576 bytes
|
||
We recommend 10MB drive, 20MB drive and 40MB drive respectively.
|
||
Any file size from 10M to 512M can be mounted in 256-byte units.
|
||
|
||
Images from version 1.46 to 22437888 bytes are for MZ-2500/MZ-2800 MZ-1F23
|
||
Recognized as a 20MB image (special image with a block size of 1024).
|
||
|
||
(3) SCSI magneto-optical (MO) disk
|
||
MOS file format (extension MOS)
|
||
File size is one of the following four types:
|
||
128MB type (127398912 bytes)
|
||
230MB type (228518400 bytes)
|
||
540MB type (533248000 bytes)
|
||
640MB type (635600896 bytes)
|
||
128MB, 230MB, 540MB is 512 bytes/sector and 640MB is 2048 bytes/sector.
|
||
|
||
(4) SCSI CD-ROM disk
|
||
ISO file format (extension ISO, ISO9660 solid image)
|
||
Record in a file containing only data and in RAW format in mode 1 (2048 bytes/sector)
|
||
Both files are supported.
|
||
|
||
□ Disk image creation
|
||
RaSCSI itself is a derivative of the XM6 TypeG, an X68000 emulator. Therefore the disc
|
||
It is assumed that the image is created from the "Tools" menu of XM6 TypeG.
|
||
Of course, you can also create an empty image file with dd etc. according to the specifications explained above.
|
||
Is possible.
|
||
|
||
Example) When creating a 100 MB HDS image (empty file)
|
||
|
||
dd if=/dev/zero of=HARDDISK.HDS bs=512 count=204800
|
||
|
||
□ Operation record
|
||
The author's development environment X68000 PRO (built-in SASI/genuine SCSI board), X68030 built-in SCSI,
|
||
We have confirmed the operation with the XVI Compact built-in SCSI. It also worked on Mach-2.
|
||
|
||
Since there were other operation reports on the first generation X68000, ACE, EXPERT, XVI, PRO2, SUPER, etc.,
|
||
The X68000 series should be fine.
|
||
|
||
For other retro PCs, FM TOWNS series, Apple Macintosh, MSX (using MEGA-SCSI)
|
||
There is an operation report in. There are many reports that the PC98 series worked, but
|
||
Some SCSI boards do not even work at all.
|
||
|
||
□ How to use
|
||
If you are using an X68000 emulator such as XM6, HDD that is built by the emulator
|
||
You can connect to the actual X68000 machine by transferring the image to the Raspberry Pi by FTP etc.
|
||
The reverse is also true, and the HDD image that stores the files that exist on the actual machine is FTPed to the PC, etc.
|
||
You can use it in the emulator by transferring with.
|
||
|
||
□ License
|
||
RaSCSI is software distributed as is "AS IS".
|
||
|
||
That is, we do not take any responsibility for any damages that the user receives. Soft again
|
||
We are not responsible for fixing any defects or defects in the software.
|
||
|
||
There is a risk that the Raspberry Pi and retro PC will break down by using RaSCSI.
|
||
Please challenge at your own risk.
|
||
|
||
As with XM6 TypeG, we are not allowed to distribute it on other than my HP due to the nature of experimental results disclosure.
|
||
|
||
As it inherits the license terms of XM6, introduction in magazines/books requires prior permission.
|
||
In the first place, I think only a limited number of people will respond to SCSI in 2019.
|
||
|
||
□About distribution of conversion boards
|
||
If you want to distribute the conversion board for a fee, it is not necessary to obtain permission from the author as long as you follow the conditions below.
|
||
There is none. It is important to provide enough information to the user who purchased the board.
|
||
Please understand.
|
||
|
||
1.Distribution price
|
||
Board production cost + parts cost + transportation cost + (general social convention) fee.
|
||
|
||
2. Schematic
|
||
Please provide the buyer with the schematic. Simultaneously with board distribution or separately from homepage
|
||
There are no restrictions on the means of downloading.
|
||
|
||
3. Operation verification
|
||
Operation verification of the X68000 actual machine environment is mandatory. If you can not get the real machine X68000
|
||
You may ask the user to cooperate with the verification. Operation verification is other than startup confirmation
|
||
Please write and load test. Verification results are published together with the environment in which they were used
|
||
please do it.
|
||
|
||
□ About conversion board (official version)
|
||
It has been distributed on BOOTH since March 2019 (it is irregular because the number is limited).
|
||
|
||
□ Public homepage
|
||
http://retropc.net/gimons/rascsi/
|
||
|
||
□ Contact information
|
||
twitter https://twitter.com/kugimoto0715
|
||
e-mail gimons.developer.works@gmail.com
|
||
|
||
[EOF] |