From adca34aeb89c1124793af4eceea6a88b10d54c42 Mon Sep 17 00:00:00 2001 From: Glenn Anderson Date: Wed, 13 Apr 2022 16:47:48 -0700 Subject: [PATCH 1/2] Write speed tuning --- src/BlueSCSI.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BlueSCSI.cpp b/src/BlueSCSI.cpp index c2a201b..4ba143d 100644 --- a/src/BlueSCSI.cpp +++ b/src/BlueSCSI.cpp @@ -935,14 +935,16 @@ void readDataLoop(uint32_t blockSize, byte* dstptr) register gpio_reg_map *port_b = PBREG; register volatile uint32_t *port_a_idr = &(GPIOA->regs->IDR); REQ_ON(); - // Start of the do/while and WAIT are already aligned to 8 bytes. + // Fastest alignment obtained by trial and error. + // Wait loop is within an 8 byte prefetch buffer. + asm("nop"); do { WAIT_ACK_ACTIVE(); uint32_t ret = port_b->IDR; REQ_OFF(); *dstptr++ = ~(ret >> 8); // Move wait loop in to a single 8 byte prefetch buffer - asm("nop.w;nop"); + asm("nop;nop;nop"); WAIT_ACK_INACTIVE(); REQ_ON(); // Extra 1 cycle delay From 27c424d2f9fb856bb322b1d14542c1f4c948b4c6 Mon Sep 17 00:00:00 2001 From: Eric Helgeson Date: Sun, 17 Apr 2022 11:01:44 -0500 Subject: [PATCH 2/2] Update assembly.md --- docs/assembly.md | 65 ++---------------------------------------------- 1 file changed, 2 insertions(+), 63 deletions(-) diff --git a/docs/assembly.md b/docs/assembly.md index 5e60fd3..569f971 100644 --- a/docs/assembly.md +++ b/docs/assembly.md @@ -1,66 +1,5 @@ # Assembly -## Before you start +Instructions have moved to the wiki -Read through all instructions before starting. - -## Videos - -The community has created a few assembly videos: -* [Stephen Arsenault - BlueSCSI Kit Assembly](https://www.youtube.com/watch?v=G6lwCfLQwd8) 2:52 -* [Joe's Computer Museum - A New Challenger - BlueSCSI - #MARCHintosh Review](https://www.youtube.com/watch?v=d_8VVmvvlNI) 26:52 -* [Geeky Bit - Tutorial - BlueSCSI Assembly](https://www.youtube.com/watch?v=-nF9FYFgVHM) 20:35 - -## Building - -1. Solder on the surface mount SD Card holder. Use the [Drag Solder](https://youtu.be/Z_KL4fWOMug) technique. - - Once on, check continuity of all connections. Fixing this after the BluePill is on will be difficult. - - Ensure the SD card fits and you dont have too much solder on the sides or contacts -2. Solder the diodes to the **bottom** of the board. Be sure they are flush as possible to the bottom. -![Diode Orientation](images/diodes.png) -3. Solder the header pins on to the BluePill. Then BluePill pill to the BlueSCSI PCB. - - Correct orientation is having the USB connector of the BluePill should be over the SD Card holder. - - **NOTE**: Consider adding headers to the board if you would like to have the BluePill removable. -4. Solder on the resistor nets. Pin one is marked on the board and the resistors. - - 220 RNETS (`RN1` & `RN3`) are closest to the BluePill - - **NOTE** PIN one on each - they are opposite of eachtoher. See photo. - - 330 RNETS (`RN2` & `RN4`) are furthest from the BluePill - - **NOTE** PIN one on each - they are opposite of eachtoher. See photo. -![Orientation RNETs and BluePill](images/orientation.png) -5. Solder on the Termination Jumpers & place the jumpers on to enable Termiation -6. Solder the 50 Pin headers on. - 1. Note Pin 1 and Box header on the silk screen. -7. Optional - Solder on the berg connector. Only needed if your machine does not supply enough power via the SCSI bus. -8. Optional - Solder on the debug headers near the SD card. Only nessissarry if re-programming. - -### Fully Assembled -![Fully Assembled](images/assembled.png) - -### Version 1.0-b & 1.0-c BOM - -#### Mouser Cart - -https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=c5cc83feff - -#### Parts - -STM32F103C8T6 (U1) aka BluePill board. Beware of fake/scams. Look for reviews. Amazon, ebay, etc. - -* 2x 330 (RN2, RN4) Resistor nets https://www.mouser.com/ProductDetail/652-4610X-1LF-330 - -* 2x 220 (RN1, RN3) Resistor nets https://www.mouser.com/ProductDetail/652-4610X-1LF-220 - -* 2x Diodes https://www.mouser.com/ProductDetail/583-1N5818-T - -* SD Card Holder (J1) https://www.mouser.com/ProductDetail/538-104031-0811 - -* Headers https://www.mouser.com/ProductDetail/872-920-0011-01 - -* 50 PIN SCSI header https://www.mouser.com/ProductDetail/517-30350-6002/ - - May substitute with 2 rows of headers from above. - - **Note on Right angle connectors** - it appears Right angle headers are notched differently then the pin out. Be sure to note PIN 1/red stripe on the cable match up. - -### Optional - -Floppy/Berg Power header https://www.mouser.com/ProductDetail/571-1718254 - - Required if your machine does not supply power via TERM POWER. For example a Mac Plus or Mac with a Analog/PSU board that has not been recapped. +https://github.com/erichelgeson/BlueSCSI/wiki/Assembly