Explorar el Código

ZuluSCSI. Now with More Cowbell, and less drama

Alex Perez hace 3 años
padre
commit
4ba3fcc967
Se han modificado 10 ficheros con 47 adiciones y 46 borrados
  1. 2 2
      LICENSE
  2. 5 4
      Performance.md
  3. 17 17
      README.md
  4. 1 1
      greenpak/README.md
  5. 12 12
      platformio.ini
  6. 6 6
      src/build_bootloader.py
  7. 1 1
      test/README
  8. 1 1
      utils/convert_greenpak_hex.sh
  9. 1 1
      utils/run_gdb.sh
  10. 1 1
      utils/run_gdb_v1_1.sh

+ 2 - 2
LICENSE

@@ -1,9 +1,9 @@
 Software
 -----
 
-AzulSCSI - Copyright (c) 2022 Rabbit Hole Computing
+ZuluSCSI - Copyright (c) 2022 Rabbit Hole Computing
 
-AzulSCSI is based on both SCSI2SD V6 and BlueSCSI codebases,
+ZuluSCSI is based on both SCSI2SD V6 and BlueSCSI codebases,
 and licensed under the GPL version 3 or any later version.
 
 https://www.gnu.org/licenses/gpl-3.0.html

+ 5 - 4
Performance.md

@@ -1,14 +1,15 @@
 Performance
 -----------
-Performance characteristics of AzulSCSI differ depending on the hardware version. 
+Performance characteristics of ZuluSCSI differ depending on the hardware version. 
 
 Additionally, on older, slower computers, particularly 68000 Macs with 8-16MHz CPUs, performance will be gated by the speed of your CPU, and the local bus between the CPU and your SCSI controller.
 
 
-With AzulSCSI V1.1, and verbose log messages disabled (debug DIP switch OFF), expected SCSI performance is ~3.5 MB/s read and ~2 MB/s write.
+With ZuluSCSI V1.1, and verbose log messages disabled (debug DIP switch OFF), expected SCSI performance is ~3.5 MB/s read and ~2 MB/s write.
 
-With AzulSCSI V1.0, and verbose log messages disabled (debug DIP switch OFF), expected SCSI performance is 2.4 MB/s read and 2 MB/s write, assuming you're using a fast enough machine, 
-With AzulSCSI Mini (V1.0), and verbose log messages disabled (default, unless you enable it in azulscsi.ini), expected SCSI performance is 2.4 MB/s read and 2 MB/s write.
+With ZuluSCSI V1.0, and verbose log messages disabled (debug DIP switch OFF), expected SCSI performance is 2.4 MB/s read and 2 MB/s write, assuming you're using a fast enough machine, 
+With ZuluSCSI Mini (V1.0), and verbose log messages disabled (default, unless you enable it in zuluscsi.ini), 
+expected SCSI performance is 2.4 MB/s read and 2 MB/s write.
 
 Slow SD cards or a fragmented filesystem can slow down access.
 

+ 17 - 17
README.md

@@ -1,20 +1,20 @@
-AzulSCSI Firmware
+ZuluSCSI Firmware
 =================
 
 Hard Drive & ISO image files
 ---------------------
-AzulSCSI uses the same type of (raw) hard drive image file as that of [BlueSCSI instructions](https://github.com/erichelgeson/BlueSCSI/wiki/Usage). 
+ZuluSCSI uses the same type of (raw) hard drive image file as that of [BlueSCSI instructions](https://github.com/erichelgeson/BlueSCSI/wiki/Usage). 
 
 Examples of valid filenames:
 * `HD5.hda` or `HD5.img`: hard drive with SCSI ID 5
 * `HD20_512.hda`: hard drive with SCSI ID 2, LUN 0, block size 512
 * `CD3.iso`: CD drive with SCSI ID 3
 
-In addition to the simplified filenames style above, the AzulSCSI firmware also looks for images using the BlueSCSI-style "HDxy_512.hda" filename formatting.
+In addition to the simplified filenames style above, the ZuluSCSI firmware also looks for images using the BlueSCSI-style "HDxy_512.hda" filename formatting.
 
 Log files and error indications
 -------------------------------
-Log messages are stored in `azullog.txt`, which is cleared on every boot.
+Log messages are stored in `Zululog.txt`, which is cleared on every boot.
 Normally only basic initialization information is stored, but switching the `DBG` DIP switch on will cause every SCSI command to be logged, once the board is power cycled.
 
 The indicator LED will normally report disk access.
@@ -25,18 +25,18 @@ It also reports following status conditions:
 - 5 fast blinks: SD card not detected
 - Continuous morse pattern: firmware crashed, morse code indicates crash location
 
-In crashes the firmware will also attempt to save information into `azulerr.txt`.
+In crashes the firmware will also attempt to save information into `Zuluerr.txt`.
 
 Configuration file
 ------------------
-Optional configuration can be stored in `azulscsi.ini`.
+Optional configuration can be stored in `Zuluscsi.ini`.
 If image file is found but configuration is missing, a default configuration is used.
 
-Example config file is available here: [azulscsi.ini](azulscsi.ini).
+Example config file is available here: [Zuluscsi.ini](Zuluscsi.ini).
 
 Performance
 -----------
-Performance information for the various AzulSCSI hardware models is [documented separately, here](Performance.md)
+Performance information for the various ZuluSCSI hardware models is [documented separately, here](Performance.md)
 
 Hotplugging
 -----------
@@ -49,11 +49,11 @@ Any IO requests issued when card is removed will be timeouted.
 Programming & bootloader
 ------------------------
 There is a bootloader that loads new firmware from SD card on boot.
-The firmware file must be e.g. `AzulSCSI.bin` or `AzulSCSIv1_0_2022-xxxxx.bin`.
+The firmware file must be e.g. `ZuluSCSI.bin` or `ZuluSCSIv1_0_2022-xxxxx.bin`.
 Firmware update takes about 1 second, during which the LED will flash rapidly.
 
 When successful, the bootloader removes the update file and continues to main firmware.
-On failure, `azulerr.txt` is written on the SD card.
+On failure, `Zuluerr.txt` is written on the SD card.
 
 Alternatively, the board can be programmed using USB connection in DFU mode by setting DIP switch 4.
 The necessary programmer utility for Windows can be downloaded from [GD32 website](http://www.gd32mcu.com/en/download?kw=dfu&lan=en). On Linux and MacOS, the standard 'dfu-util' can be used. It can be installed via your package manager under Linux. On MacOS, it is available through MacPorts and Brew as a package
@@ -62,24 +62,24 @@ DIP switches
 ------------
 The DIP switch settings are as follows:
 
-- DEBUG: Enable verbose debug log (saved to `azullog.txt`)
+- DEBUG: Enable verbose debug log (saved to `Zululog.txt`)
 - TERM: Enable SCSI termination
 - BOOT: Enable built-in USB bootloader, this DIP switch MUST remain off during normal operation.
 - SW1: Enables/disables Macintosh/Apple specific mode-pages and device strings, which eases disk initialization when performing fresh installs on legacy Macintosh computers.
 
 Project structure
 -----------------
-- **src/AzulSCSI.cpp**: Main portable SCSI implementation.
-- **src/AzulSCSI_disk.cpp**: Interface between SCSI2SD code and SD card reading.
-- **src/AzulSCSI_log.cpp**: Simple logging functionality, uses memory buffering.
-- **src/AzulSCSI_config.h**: Some compile-time options, usually no need to change.
-- **lib/AzulSCSI_platform_GD32F205**: Platform-specific code for GD32F205.
+- **src/ZuluSCSI.cpp**: Main portable SCSI implementation.
+- **src/ZuluSCSI_disk.cpp**: Interface between SCSI2SD code and SD card reading.
+- **src/ZuluSCSI_log.cpp**: Simple logging functionality, uses memory buffering.
+- **src/ZuluSCSI_config.h**: Some compile-time options, usually no need to change.
+- **lib/ZuluSCSI_platform_GD32F205**: Platform-specific code for GD32F205.
 - **lib/SCSI2SD**: SCSI2SD V6 code, used for SCSI command implementations.
 - **lib/minIni**: Ini config file access library
 - **lib/SdFat_NoArduino**: Modified version of [SdFat](https://github.com/greiman/SdFat) library for use without Arduino core.
 - **utils/run_gdb.sh**: Helper script for debugging with st-link adapter. Displays SWO log directly in console.
 
-To port the code to a new platform, see README in [lib/AzulSCSI_platform_template](lib/AzulSCSI_platform_template) folder.
+To port the code to a new platform, see README in [lib/ZuluSCSI_platform_template](lib/ZuluSCSI_platform_template) folder.
 
 Building
 --------

+ 1 - 1
greenpak/README.md

@@ -2,7 +2,7 @@ GreenPAK design files
 =====================
 
 This folder contains design files for `SLG46824` programmable logic device.
-It is optionally used on AzulSCSI V1.1 to speed up access to SCSI bus.
+It is optionally used on ZuluSCSI V1.1 to speed up access to SCSI bus.
 
 What this logic does is implement the `REQ` / `ACK` handshake in hardware.
 The CPU only has to write new data to the GPIO, and the external logic will toggle `REQ` signal quickly.

+ 12 - 12
platformio.ini

@@ -1,7 +1,7 @@
 ; PlatformIO Project Configuration File https://docs.platformio.org/page/projectconf.html
 
 [platformio]
-default_envs = AzulSCSIv1_0, AzulSCSIv1_1
+default_envs = ZuluSCSIv1_0, ZuluSCSIv1_1
 
 ; Example platform to serve as a base for porting efforts
 [env:template]
@@ -17,23 +17,23 @@ build_flags =
 lib_deps =
     SdFat=https://github.com/greiman/SdFat
     minIni
-    AzulSCSI_platform_template
+    ZuluSCSI_platform_template
     SCSI2SD
 
-; AzulSCSI V1.0 hardware platform with GD32F205 CPU.
-[env:AzulSCSIv1_0]
+; ZuluSCSI V1.0 hardware platform with GD32F205 CPU.
+[env:ZuluSCSIv1_0]
 platform = https://github.com/CommunityGD32Cores/platform-gd32.git
 board = genericGD32F205VC
 board_build.mcu = gd32f205vct6
 board_build.core = gd32
-board_build.ldscript = lib/AzulSCSI_platform_GD32F205/azulscsi_gd32f205.ld
-ldscript_bootloader = lib/AzulSCSI_platform_GD32F205/azulscsi_gd32f205_btldr.ld
+board_build.ldscript = lib/ZuluSCSI_platform_GD32F205/ZuluScsi_gd32f205.ld
+ldscript_bootloader = lib/ZuluSCSI_platform_GD32F205/ZuluScsi_gd32f205_btldr.ld
 framework = spl
 lib_compat_mode = off
 lib_deps =
     SdFat_NoArduino
     minIni
-    AzulSCSI_platform_GD32F205
+    ZuluSCSI_platform_GD32F205
     SCSI2SD
 upload_protocol = stlink
 platform_packages = 
@@ -46,11 +46,11 @@ build_flags =
      -DSPI_DRIVER_SELECT=3
      -DSD_CHIP_SELECT_MODE=2
      -DENABLE_DEDICATED_SPI=1
-     -DAZULSCSI_V1_0
+     -DZuluSCSI_V1_0
 
-; AzulSCSI V1.1 hardware platform, similar to V1.0 but with improved performance.
-[env:AzulSCSIv1_1]
-extends = env:AzulSCSIv1_0
+; ZuluSCSI V1.1 hardware platform, similar to V1.0 but with improved performance.
+[env:ZuluSCSIv1_1]
+extends = env:ZuluSCSIv1_0
 build_flags = 
      -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
      -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
@@ -58,4 +58,4 @@ build_flags =
      -DSD_CHIP_SELECT_MODE=2
      -DENABLE_DEDICATED_SPI=1
      -DHAS_SDIO_CLASS
-     -DAZULSCSI_V1_1
+     -DZuluSCSI_V1_1

+ 6 - 6
src/build_bootloader.py

@@ -1,25 +1,25 @@
 # Adds a platformio/Scons target to build the bootloader image.
-# It is basically a copy of the main firmware but using AzulSCSI_bootloader.cpp
+# It is basically a copy of the main firmware but using ZuluSCSI_bootloader.cpp
 # as the main() function.
 
 import os
 
 Import("env")
 
-# Build a version of AzulSCSI_main.cpp that calls bootloader instead
+# Build a version of ZuluSCSI_main.cpp that calls bootloader instead
 env2 = env.Clone()
-env2.Append(CPPFLAGS = "-DAZULSCSI_BOOTLOADER_MAIN")
+env2.Append(CPPFLAGS = "-DZULUSCSI_BOOTLOADER_MAIN")
 bootloader_main = env2.Object(
     os.path.join("$BUILD_DIR", "bootloader_main.o"),
-    ["AzulSCSI_main.cpp"]
+    ["ZuluSCSI_main.cpp"]
 )
 
-# Include all other dependencies except AzulSCSI_main.cpp
+# Include all other dependencies except ZuluSCSI_main.cpp
 dep_objs = []
 for nodelist in env["PIOBUILDFILES"]:
     for node in nodelist:
         filename = str(node.rfile())
-        if 'AzulSCSI_main.o' not in filename:
+        if 'ZuluSCSI_main.o' not in filename:
             dep_objs.append(node)
 # print("Bootloader dependencies: ", type(dep_objs), str([str(f.rfile()) for f in dep_objs]))
 

+ 1 - 1
test/README

@@ -1,5 +1,5 @@
 
-This directory is intended for AzulSCSI PlatformIO Unit Testing and project tests.
+This directory is intended for ZuluSCSI PlatformIO Unit Testing and project tests.
 
 Unit Testing is a software testing method by which individual units of
 source code, sets of one or more MCU program modules together with associated

+ 1 - 1
utils/convert_greenpak_hex.sh

@@ -4,7 +4,7 @@
 
 INFILE="greenpak/SCSI_Accelerator_SLG46824.hex"
 TMPFILE="/tmp/greenpak.bin"
-OUTFILE="lib/AzulSCSI_platform_GD32F205/greenpak_fw.h"
+OUTFILE="lib/ZuluSCSI_platform_GD32F205/greenpak_fw.h"
 
 objcopy --input-target=ihex --output-target=binary $INFILE $TMPFILE
 

+ 1 - 1
utils/run_gdb.sh

@@ -14,4 +14,4 @@ arm-none-eabi-gdb \
        -iex 'mon tpiu config internal swo.log uart false 38400000 2000000' \
        -iex 'shell bash -m -c "orbuculum -f swo.log &"' \
        -iex 'shell bash -m -c "orbcat -c 0,%c &"' \
-       .pio/build/AzulSCSIv1_0/firmware.elf
+       .pio/build/ZuluSCSIv1_0/firmware.elf

+ 1 - 1
utils/run_gdb_v1_1.sh

@@ -14,4 +14,4 @@ arm-none-eabi-gdb \
        -iex 'mon tpiu config internal swo.log uart false 38400000 2000000' \
        -iex 'shell bash -m -c "orbuculum -f swo.log &"' \
        -iex 'shell bash -m -c "orbcat -c 0,%c &"' \
-       .pio/build/AzulSCSIv1_1/firmware.elf
+       .pio/build/ZuluSCSIv1_1/firmware.elf