Converted documentation to english using Chrome's translate function.

This commit is contained in:
Tony Kuker 2020-07-04 10:12:53 -05:00
parent 00186fd77e
commit 81617cffde
3 changed files with 565 additions and 0 deletions

doc/converter_en.txt Normal file
View File

@ -0,0 +1,116 @@
-------------------------------------------------- ----------------------------
SCSI Target Emulator RaSCSI for Raspberry Pi
Powered by XM6 TypeG Technology.
Copyright (C) 2016-2020 GIMONS
-------------------------------------------------- ----------------------------
□ Necessity of conversion board
SCSI divides 5V at 220Ω and 330Ω at TTL level (in the case of passive terminator)
As a result, the state where a voltage of less than 3 V is applied to each signal line becomes a steady state (signal-wise negate)
It has become.
Initiator side or target side tries to assert signal (=0V)
Then, a total current of 5000÷220×2=45mA flows from both terminators.
If you look at the data sheet of MB89352 which is the SCSI controller of X68000,
The current is Iol48mA).
The RPI GPIO cannot absorb such a large sink current. Electrically secure connection
To do this, it is necessary to make a conversion board with a general-purpose logic IC. General logic
It is an open collector such as 74LS06 or 07 that can withstand a sink current of 48 mA with IC.
Use the high power type.
The author does basic SCSI direction control with 74HC541×3,74HC126×1,74HC04×1
I tried to build a circuit to drive the bus using 74LS07 × 3 and it works without problems
I confirmed that.
If you use 74LS641-1 which is a derivative of 74LS641, you can configure the circuit simply.
Would be Unlike normal products, the sink current is compatible with 48 mA, so it is necessary to use 74LS07
there is no. But availability is not so good.
□ Circuit board of conversion board
The circuit design is put in the same folder.
Conversion board circuit diagram for using SCSI target mode. It is a basic function
If you want to emulate HDD or MO, you can make something equivalent to this circuit diagram.
Would be It also uses the fewest GPIO pins.
If you do not change the pin assignment, it will be included in the standard directory of RaSCSI
It is possible to use the binary.
It is a conversion board circuit diagram that can use SCSI target mode and initiator mode.
All 74LS641-1 direction control is performed from RaSCSI, so use 3 extra GPIO pins
I will do it.
Customize pin assignments to PIN_TAD, PIN_IND, PIN_DTD respectively
Now you need to set 6,7,8 and compile. Pin assigned
See Customization.
□ How to get existing ones
Recently, you have created a conversion board for RaSCSI mainly through the Twitter area.
There are people who are. Introducing here
Is omitted. The timing is undecided, but we plan to distribute the official version for a fee.
□ Customize pin assignment
The signal control logic and pin assignment of GPIO are defined in gpiobus.h.
As a customization example, the following two conversion board definition examples are prepared in gpiobus.h.
Compiled binaries are also included in the distribution.
・Aibomu version
・GAMERnium version
□ How to customize
-This is a message when starting up RaSCSI.
・Select the signal control mode.
0: SCSI logical specification
Conversion board using 74LS641-1 etc. directly connected or published on HP
Arthurt: 0V
Negative: Open collector output (disconnect from bus)
1: Negative logic specification (when using the conversion board for negative logic -> SCSI logic)
There are no conversion boards with this specification at this time
Arthurt: 0V -> (CONVERT) -> 0V
Negative: 3.3V -> (CONVERT) -> Open collector output
2: Positive logic specification (when using the conversion board for positive logic -> SCSI logic)
RaSCSI Adapter Rev.C @132sync etc.
Arthurt: 3.3V -> (CONVERT) -> 0V
Negative: 0V -> (CONVERT) -> Open collector output
・Control signal pin assignment
PIN_ACT: The pin number of the signal that indicates the status that the SCSI command is being processed.
PIN_ENB: Pin number of the signal that indicates the valid signal from start to finish.
PIN_TAD: Pin number of the signal that indicates the input/output direction of the target signal (BSY,IO,CD,MSG,REG).
PIN_IND: Pin number of the signal indicating the input/output direction of the initiator signal (SEL, ATN, RST, ACK).
PIN_DTD: Pin number of the signal that indicates the input/output direction of the data signal (DT0...DT7,DP).
・Control signal output logic
0V:FALSE Specify with 3.3V:TRUE.
ACT_ON: PIN_ACT signal logic.
ENB_ON: Logic of PIN_ENB signal.
TAD_IN:PIN_TAD This is the logic in the input direction.
IND_IN:PIN_ENB Logic in the input direction.
DTD_IN:PIN_ENB Logic in the input direction.
・ SCSI signal pin assignment
PIN_DT0 to PIN_SEL: Each is the pin number of the SCSI signal.
□ How to compile
・Executable files (rascsi, rasctl)
Fix gpiobus.h
make clean

doc/rascsi_en.txt Normal file
View File

@ -0,0 +1,335 @@
-------------------------------------------------- ----------------------------
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)
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,
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
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
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
Full spec version
Aibomu version
GAMERnium version
□ 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
□ Contact information

doc/x68k_en.txt Normal file
View File

@ -0,0 +1,114 @@
-------------------------------------------------- ----------------------------
SCSI Target Emulator RaSCSII (*^..^*)
for Raspberry Pi
Powered by XM6 TypeG Technology.
Copyright (C) 2016-2020 GIMONS
-------------------------------------------------- ----------------------------
□ Regarding the functions unique to the X68000
RaSCSI is equipped with a virtual SCSI device called a bridge device,
You can bridge the host Raspberry Pi. With this bridge device
The following functions are provided by using the dedicated driver for X68000.
It provides the same Ethernet function as Neptune-X. SCSI-connected Ethernet
RaSCSI behaves like a BOX. Relay packets to the Raspberry Pi TAP device
It is realized by doing. Similar to Ether+.
・Host file system
The emulator of X68000 provides a standard function equivalent to Windrv.
Mount the file system on the Raspberry Pi as a remote drive
I can.
□ How to activate the Bridge Device
If you set the keyword "BRIDGE" as the file name when RaSCSI starts up, it will be assigned to that ID.
Generate a Buzzilli device for it.
sudo rascsi -ID0 HDIMAGE0.HDS -ID6 BRIDGE
□ Dedicated driver
Two drivers are included in RASDRIVER.XDF or RASDRIVER.HDS included in the distribution
I am. It is better to mount RASDRIVER.HDS with RaSCSI and copy it appropriately to transfer to the actual device
It will be easy.
□ Ethernet connection
Ethernet driver (RASETHER.SYS) works with bridge device to connect to Ethernet
You can send and receive packets.
Below, the IP address of the virtual adapter (TAP) of Raspberry Pi is "",
The case where the X68000 side is set to "" will be explained.
-X68000 settings
RASETHER.SYS is made by modifying the driver for Neptune-X.
Exactly the same. In order to connect the X68000 to the internet, it is necessary to set other environment settings.
I will. Please check the setting method by yourself.
Below is an excerpt of CONFIG.SYS and AUTOEXEC.BAT that are actually used.
[Excerpt from CONFIG.SYS]
PROCESS = 3 10 10
[Excerpt from AUTOEXEC.BAT]
SET temp=A:\
SET tmp=A:\
IFCONFIG.X en0 netmask up
INETDCONF.X +router -rip
・Raspberry Pi settings
I am using a TAP device, so please enable TAP. perhaps
If you're using Jessie these days, it should work from the beginning. The confirmation method is /dev/net/tun
If the file exists, it can be determined that it is valid.
The method of creating a virtual adapter is as follows.
[Set from /etc/rc.local etc.]
ip tuntap add ras0 mode tap user root
ip link set ras0 up
ifconfig ras0 inet up
route add -net netmask dev ras0
By the above, communication between Raspberry Pi ( and X68000 (
It will be possible.
When connecting to the Internet etc., bridge and routing on the Raspberry Pi side
Settings are required. Please set according to your environment. Wifi
In this case, there seem to be various problems in constructing a bridge.
NAT configuration is also recommended. The author uses it in rc.local with the following settings.
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
□ Host file system cooperation
It provides the same functions as Windrv and WindrvXM that are often used in the X68000 emulator.
Raspberri Pi files if you include a dedicated device driver called RASDRV.SYS
It means that the system can be seen and operated as a drive on the X68000 side.
Registering a device driver is easy.
For example
In this case, mount the root directory of Raspberry Pi by default.
The drive mounted when the device driver is started is displayed.
If you want to mount other than root, please specify the directory. /home/pi etc.
To mount
Specify. If you specify multiple directories, they will be mounted as separate drives.
It is possible.
If you are using SUSIE, please install RASDRV.SYS before SUSIE. When incorporated later
There are reports that it can not be recognized correctly.