From 81617cffde18c3fa4db3655e523e29a68f2827dd Mon Sep 17 00:00:00 2001 From: Tony Kuker Date: Sat, 4 Jul 2020 10:12:53 -0500 Subject: [PATCH] Converted documentation to english using Chrome's translate function. --- doc/converter_en.txt | 116 +++++++++++++++ doc/rascsi_en.txt | 335 +++++++++++++++++++++++++++++++++++++++++++ doc/x68k_en.txt | 114 +++++++++++++++ 3 files changed, 565 insertions(+) create mode 100644 doc/converter_en.txt create mode 100644 doc/rascsi_en.txt create mode 100644 doc/x68k_en.txt diff --git a/doc/converter_en.txt b/doc/converter_en.txt new file mode 100644 index 00000000..2b7a01cc --- /dev/null +++ b/doc/converter_en.txt @@ -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. + + ・Target.png + 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. + + ・Fullspec.png + 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. + CONNECT_DESC + + ・Select the signal control mode. + 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 + make + +[EOF] \ No newline at end of file diff --git a/doc/rascsi_en.txt b/doc/rascsi_en.txt new file mode 100644 index 00000000..fa9a49cf --- /dev/null +++ b/doc/rascsi_en.txt @@ -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) + 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] \ No newline at end of file diff --git a/doc/x68k_en.txt b/doc/x68k_en.txt new file mode 100644 index 00000000..d536fdef --- /dev/null +++ b/doc/x68k_en.txt @@ -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. + + ・Ethernet + 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. + + ex) + 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 "192.168.68.1", + The case where the X68000 side is set to "192.168.68.3" 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 + DEVICE = \NETWORK\RASETHER.SYS + + [Excerpt from AUTOEXEC.BAT] + SET SYSROOT=A:/NETWORK/ + SET temp=A:\ + SET tmp=A:\ + SET HOME=A:/NETWORK/ETC/ + SET HOST=X68000 + XIP.X + IFCONFIG.X lp0 up + IFCONFIG.X en0 192.168.68.3 netmask 255.255.255.0 up + INETDCONF.X +router 192.168.68.1 -rip + INETDCONF.X + + ・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 192.168.68.1/8 up + route add -net 192.168.68.0 netmask 255.255.255.0 dev ras0 + + By the above, communication between Raspberry Pi (192.168.68.1) and X68000 (192.168.68.3) + 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 + + DEVICE = \SYS\RASDRV.SYS + + 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 + + DEVICE = \SYS\RASDRV.SYS /home/pi + + 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. + +[EOF] \ No newline at end of file