Files
SFD800/README.md

188 lines
17 KiB
Markdown

# SFD800
**Website:** [engineers@work](https://eaw.app) | **Repository:** [git.eaw.app/eaw/SFD800](https://git.eaw.app/eaw/SFD800)
---
<div style="text-align: justify">
<br>
One of the most needed accessories for the Sharp MZ series is the venerable Floppy Disk Controller. These are in relative short supply as not many people used them, mainly due to cost, during the
Sharp MZ era.
<br><br>
Sharp released their own controllers often based around the MB8866 IC which needed a lot of support circuitry. A few 3rd parties developed their own and one design, by a company (no longer in existence)
called Kersten & Partners GmbH (K&P) developed a much simpler design but with no less functionality. This design used a newer Western Digital Floppy Disk Controller IC, the WD1773 which incorporated
a lot of the circuitry which Sharp, using the MB8866, had to place externally on the circuit board.
<br><br>
I came across their SFD-800 board when I purchased an MZ-80B which included an original card. I also had an MZ-800 and was able to swap the card between both machines without issue.
As my collection of Sharp MZ machines increased, I needed floppy disk controllers for all of the machines and as they are difficult to buy decided upon replication of the SFD-800 board.
<br><br>
This page outlines the replicated schematic, the GAL logic (WinCUPL), the PCB and build cost information.
</div>
## <font style="color: yellow;" size="6">Schematic</font>
The schematic originally comes from the [K&P SFD800 Manual](/Downloads/Manuals/KandP/sfd_mfd800.pdf) which took a bit of deciphering mainly due to the bad image scan. This schematic was then captured in KiCAD and is shown below.
![Schematic](../images/SFD800_Schematic.png)
## <font style="color: yellow;" size="6">GAL</font>
The original device used by K&P was a PAL, a one time programmable logic device with its protection fuse set. As the PAL is a simple device, 12 inputs, 8 outputs, it would be simple to deduce the logic by probing. Given the design is actually quite simple and as I had extensive experience of floppy disks
writing the RFS and TZFS monitors I decided to write the logic from scratch, based on what I knew.
I used WinCUPL to compile the code and tested the GAL on the original K&P SFD800 board for verification. The code is below and as can be seen it is just decoding addresses and creating select lines.
````shell
Name SFD800 ;
PartNo PAL12L6 ;
Date 20/05/2021 ;
Revision 01 ;
Designer Philip Smart ;
Company engineers@work ;
Assembly SFD800 ;
Location ;
Device g16v8a;
/* *************** INPUT PINS *********************/
PIN 1 = A0 ; /* Address bus A0 */
PIN 2 = A1 ; /* A1 */
PIN 3 = A2 ; /* A2 */
PIN 4 = A3 ; /* A3 */
PIN 6 = A4 ; /* A4 */
PIN 7 = A5 ; /* A5 */
PIN 8 = A6 ; /* A6 */
PIN 9 = A7 ; /* A7 */
PIN 19 = IORQn ; /* Z80 IORQ active low */
PIN 11 = WRn ; /* Z80 WR active low */
PIN 12 = RDn ; /* Z80 RD active low */
PIN 5 = RESET ; /* System Reset active high */
/* *************** OUTPUT PINS *********************/
PIN 13 = BUSn ; /* BUS direction, low = read into Z80, high = write to FD IC's */
PIN 18 = FDCn ; /* WD1773 Chip Select active low I/O - Address 0xD8 .. 0xDB */
PIN 14 = DRIVEn ; /* Disk Drive Select active low - Address 0xDC */
PIN 17 = DDENn ; /* Drive Density select active low - Address 0xDE */
PIN 15 = RESn ; /* Peripheral Reset active low */
PIN 16 = SIDEn ; /* Disk Head Select active low - Address 0xDD */
/* Decoder equations. */
FIELD ADDR = [A7..A0];
WD1773SEL = !IORQn & ADDR:[D8..DB];
SIDESEL = !IORQn & !WRn & ADDR:[DD..DD];
DRIVESEL = !IORQn & !WRn & ADDR:[DC..DC];
DDENSEL = !IORQn & !WRn & ADDR:[DE..DE];
BUSREAD = !IORQn & !RDn & ADDR:[D8..DE];
/* Assign output pins based on equations. */
BUSn = !BUSREAD;
RESn = !RESET;
FDCn = !WD1773SEL;
SIDEn = !SIDESEL;
DRIVEn = !DRIVESEL;
DDENn = !DDENSEL;
````
## <font style="color: yellow;" size="6">PCB</font>
The PCB differs from the original in that I used KiCAD rather than hand drawn images. The advantage to KiCAD is that it uses more modern routing techniques and copper fills.
![Schematic](../images/SFD800_PCB_top.png)
![Schematic](../images/SFD800_PCB_bottom.png)
![PCB Top Side](../images/SFD800_1.png)
![PCB Bottom Side](../images/SFD800_2.png)
## <font style="color: yellow;" size="6">Documentation</font>
[K&P SFD800 Manual](/Downloads/Manuals/KandP/sfd_mfd800.pdf)
The above link downloads the original K&P User Manual which is in German. The best way to translate is to use your smart phone, load the Google translate app, set to realtime camera translate and set the language as German->\<your language\>.
## <font style="color: yellow;" size="6">Price</font>
The table below outlines the cost to make a PCB. The pricing isn't quite so accurate as you often have to buy in multiples of 10/50/100 and amortize across the number of boards you make. Scroll right to see all the table detail.
<style type="text/css">
table.tableizer-table {
font-size: 12px;
border: 1px solid #CCC;
font-family: Arial, Helvetica, sans-serif;
}
.tableizer-table td {
padding: 4px;
margin: 3px;
border: 1px solid #CCC;
}
.tableizer-table th {
background-color: #104E8B;
color: #FFF;
font-weight: bold;
}
</style>
<table class="tableizer-table">
<thead><tr class="tableizer-firstrow"><th>Reference(s)</th><th>Value</th><th>Qty</th><th>Price ea</th><th>Price</th><th>VAT</th><th>Total</th><th>LibPart</th><th>Footprint</th><th>Datasheet</th><th>Source</th></tr></thead><tbody>
<tr><td>C1, C2, C3, C5, C6, C7, C8</td><td>100nF</td><td>7</td><td>£0.05</td><td>£0.32</td><td>£0.06</td><td>£0.38</td><td>Device:C_Small</td><td>Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm</td><td>~</td><td>https://uk.rs-online.com/web/p/mlccs-multilayer-ceramic-capacitors/1816538/</td></tr>
<tr><td>C4</td><td>4.7uF 50V</td><td>1</td><td>£0.06</td><td>£0.06</td><td>£0.01</td><td>£0.07</td><td>Device:CP_Small</td><td>Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm</td><td>~</td><td>https://uk.rs-online.com/web/p/aluminium-capacitors/1766355/</td></tr>
<tr><td>C9</td><td>15pF</td><td>1</td><td>£0.11</td><td>£0.11</td><td>£0.02</td><td>£0.13</td><td>Device:C_Small</td><td>Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm</td><td>~</td><td>https://uk.rs-online.com/web/p/mlccs-multilayer-ceramic-capacitors/1940566/?relevancy-data=7365617263685F636173636164655F6F726465723D31267365617263685F696E746572666163655F6E616D653D4931384E53656172636847656E65726963267365617263685F6C616E67756167655F757365643D656E267365617263685F6D617463685F6D6F64653D6D61746368616C6C7061727469616C267365617263685F7061747465726E5F6D6174636865643D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B24267365617263685F7061747465726E5F6F726465723D313333267365617263685F73745F6E6F726D616C697365643D59267365617263685F726573706F6E73655F616374696F6E3D267365617263685F747970653D4B4559574F52445F53494E474C455F414C5048415F4E554D45524943267365617263685F7370656C6C5F636F72726563745F6170706C6965643D59267365617263685F77696C645F63617264696E675F6D6F64653D4E4F4E45267365617263685F6B6579776F72643D4647323843304732413135304A4E543030267365617263685F6B6579776F72645F6170703D4647323843304732413135304A4E543030267365617263685F636F6E6669673D3026&searchHistory=%7B%22enabled%22%3Atrue%7D</td></tr>
<tr><td>C10</td><td>3.3nF</td><td>1</td><td>£0.11</td><td>£0.11</td><td>£0.02</td><td>£0.13</td><td>Device:C_Small</td><td>Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm</td><td>~</td><td>https://uk.rs-online.com/web/p/mlccs-multilayer-ceramic-capacitors/1940605/?relevancy-data=7365617263685F636173636164655F6F726465723D31267365617263685F696E746572666163655F6E616D653D4931384E53656172636847656E65726963267365617263685F6C616E67756167655F757365643D656E267365617263685F6D617463685F6D6F64653D6D61746368616C6C7061727469616C267365617263685F7061747465726E5F6D6174636865643D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B24267365617263685F7061747465726E5F6F726465723D313333267365617263685F73745F6E6F726D616C697365643D59267365617263685F726573706F6E73655F616374696F6E3D267365617263685F747970653D4B4559574F52445F53494E474C455F414C5048415F4E554D45524943267365617263685F7370656C6C5F636F72726563745F6170706C6965643D59267365617263685F77696C645F63617264696E675F6D6F64653D4E4F4E45267365617263685F6B6579776F72643D4647323858375232413333324B4E543030267365617263685F6B6579776F72645F6170703D4647323858375232413333324B4E543030267365617263685F636F6E6669673D3026&searchHistory=%7B%22enabled%22%3Atrue%7D</td></tr>
<tr><td>J1</td><td>MZ-800 Bus</td><td>1</td><td>£0.00</td><td>£0.00</td><td>&nbsp;</td><td>£0.00</td><td>SFD800:Ext_Bus_MZ800</td><td>Connector_PCBEdge:BUS_MZ800</td><td>https://en.wikipedia.org/wiki/Industry_Standard_Architecture</td><td>&nbsp;</td></tr>
<tr><td>J2</td><td>FDC-34</td><td>1</td><td>£6.13</td><td>£6.13</td><td>&nbsp;</td><td>£6.13</td><td>Connector_Generic:Conn_02x17_Odd_Even</td><td>Connector_IDC:IDC-Header_2x17_P2.54mm_Horizontal_Lock</td><td>~</td><td>https://uk.rs-online.com/web/p/idc-connectors/1625768/</td></tr>
<tr><td>R1, R2</td><td>560R</td><td>2</td><td>£0.02</td><td>£0.05</td><td>£0.01</td><td>£0.06</td><td>Device:R_Small</td><td>Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal</td><td>~</td><td>https://uk.rs-online.com/web/p/through-hole-fixed-resistors/7078209/</td></tr>
<tr><td>RN1</td><td>330R</td><td>1</td><td>£0.15</td><td>£0.15</td><td>£0.03</td><td>£0.17</td><td>Device:R_Network05</td><td>Resistor_THT:R_Array_SIP6</td><td>http://www.vishay.com/docs/31509/csc.pdf</td><td>https://uk.rs-online.com/web/p/resistor-networks-resistor-arrays/5223523/</td></tr>
<tr><td>U1</td><td>74LS06</td><td>1</td><td>£0.53</td><td>£0.53</td><td>&nbsp;</td><td>£0.53</td><td>74xx:74LS06</td><td>Package_DIP:DIP-14_W7.62mm</td><td>http://www.ti.com/lit/gpn/sn74LS06</td><td>https://www.ebay.co.uk/itm/164768071881</td></tr>
<tr><td>U2</td><td>74LS04</td><td>1</td><td>£0.60</td><td>£0.60</td><td>&nbsp;</td><td>£0.60</td><td>74xx:74LS04</td><td>Package_DIP:DIP-14_W7.62mm</td><td>http://www.ti.com/lit/gpn/sn74LS04</td><td>https://www.ebay.co.uk/itm/271156206149</td></tr>
<tr><td>U3</td><td>PAL12L6</td><td>1</td><td>£1.29</td><td>£1.29</td><td>&nbsp;</td><td>£1.29</td><td>SFD800:PAL12L6</td><td>Package_DIP:DIP-20_W7.62mm</td><td>&nbsp;</td><td>https://www.ebay.co.uk/itm/274791322822</td></tr>
<tr><td>U4</td><td>74LS14</td><td>1</td><td>£0.30</td><td>£0.30</td><td>&nbsp;</td><td>£0.30</td><td>74xx:74LS14</td><td>Package_DIP:DIP-14_W7.62mm</td><td>http://www.ti.com/lit/gpn/sn74LS14</td><td>https://www.ebay.co.uk/itm/310597511398</td></tr>
<tr><td>U5, U6</td><td>74LS74</td><td>2</td><td>£1.49</td><td>£2.98</td><td>&nbsp;</td><td>£2.98</td><td>74xx:74LS74</td><td>Package_DIP:DIP-14_W7.62mm</td><td>74xx/74hc_hct74.pdf</td><td>https://www.ebay.co.uk/itm/261370707740</td></tr>
<tr><td>U7, U8</td><td>74LS242</td><td>2</td><td>£0.60</td><td>£1.20</td><td>&nbsp;</td><td>£1.20</td><td>74xx:74LS242</td><td>Package_DIP:DIP-14_W7.62mm</td><td>http://www.ti.com/lit/gpn/sn74LS242</td><td>https://www.ebay.co.uk/itm/310597509060</td></tr>
<tr><td>U9</td><td>WD1773</td><td>1</td><td>£6.29</td><td>£6.29</td><td>&nbsp;</td><td>£6.29</td><td>MZ80-80CLR:WD1773</td><td>Package_DIP:DIP-28_W15.24mm</td><td>https://amaus.net/static/S100/western%20digital/datasheet/Western%20Digital%20FD1771%20Specification%20197710.pdf</td><td>https://www.ebay.co.uk/itm/273156696548</td></tr>
<tr><td>U10</td><td>74LS175</td><td>1</td><td>£0.88</td><td>£0.88</td><td>&nbsp;</td><td>£0.88</td><td>74xx:74LS175</td><td>Package_DIP:DIP-16_W7.62mm</td><td>http://www.ti.com/lit/gpn/sn74LS175</td><td>https://www.ebay.co.uk/itm/261370708352</td></tr>
<tr><td>U11</td><td>74LS145</td><td>1</td><td>£0.61</td><td>£0.61</td><td>&nbsp;</td><td>£0.61</td><td>74xx:74LS145</td><td>Package_DIP:DIP-16_W7.62mm</td><td>http://www.ti.com/lit/gpn/sn74LS145</td><td>https://www.ebay.co.uk/itm/233948995720</td></tr>
<tr><td>Y1</td><td>16MHz</td><td>1</td><td>£0.26</td><td>£0.26</td><td>£0.05</td><td>£0.31</td><td>Device:Crystal_Small</td><td>Crystal:Crystal_HC18-U_Horizontal</td><td>~</td><td>https://uk.rs-online.com/web/p/crystal-units/6720299/?relevancy-data=7365617263685F636173636164655F6F726465723D31267365617263685F696E746572666163655F6E616D653D4931384E53656172636847656E65726963267365617263685F6C616E67756167655F757365643D656E267365617263685F6D617463685F6D6F64653D6D61746368616C6C7061727469616C267365617263685F7061747465726E5F6D6174636865643D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B24267365617263685F7061747465726E5F6F726465723D313333267365617263685F73745F6E6F726D616C697365643D59267365617263685F726573706F6E73655F616374696F6E3D267365617263685F747970653D4B4559574F52445F53494E474C455F414C5048415F4E554D45524943267365617263685F7370656C6C5F636F72726563745F6170706C6965643D59267365617263685F77696C645F63617264696E675F6D6F64653D4E4F4E45267365617263685F6B6579776F72643D4855532D31362E3030302D31382D33302F35302F34303835267365617263685F6B6579776F72645F6170703D4855532D31362E3030302D31382D33302F35302F34303835267365617263685F636F6E6669673D3026&searchHistory=%7B%22enabled%22%3Atrue%7D</td></tr>
<tr><td>Socket 1</td><td>28 pin</td><td>1</td><td>£0.35</td><td>£0.35</td><td>£0.07</td><td>£0.42</td><td>28 Pin Socket</td><td>&nbsp;</td><td>&nbsp;</td><td>https://uk.rs-online.com/web/p/dil-sockets/6742454</td></tr>
<tr><td>Socket 2</td><td>20 pin</td><td>1</td><td>£0.24</td><td>£0.24</td><td>£0.05</td><td>£0.28</td><td>20 Pin Socket</td><td>&nbsp;</td><td>&nbsp;</td><td>https://uk.rs-online.com/web/p/dil-sockets/6742444</td></tr>
<tr><td>PCB</td><td>&nbsp;</td><td>1</td><td>£4.93</td><td>£4.93</td><td>&nbsp;</td><td>£4.93</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>Total</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>£27.68</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td></td></tr>
</tbody></table>
## <font style="color: yellow;" size="6">Files</font>
Please see [Gitea](https://git.eaw.app/eaw/SFD800) for all project files.
<!--## <font style="color: yellow;" size="6">For Sale</font><a href="https://www.tindie.com/stores/pdsmart/?ref=offsite_badges&utm_source=sellers_pdsmart&utm_medium=badges&utm_campaign=badge_small"><img src="https://d2ss6ovg47m0r5.cloudfront.net/badges/tindie-smalls.png" alt="I sell on Tindie" width="150" height="55"></a>
I've built over 20 of these cards to-date, 5 of which are in my own machines and all run reliably. I now require a further 2 cards so will order a batch
of 10 PCB's from the PCB fabricators (the cards are ordered in multiples of 5/10 and being outsize do not benefit from the prototype offers) and will offer any spare on Tindie, either fully assembled and tested or a kit of parts. Please see the link above which will list cards when available.
-->
--------------------------------------------------------------------------------------------------------
## <font style="color: yellow;" size="6">Credits</font>
<div style="text-align: justify">
The original design and board is copyright 1985 Kersten & Partners GmbH from Aachen, Germany, a company that has since ceased trading. Attempts were made to contact them at their last known address to seek permission for reproduction, but no response was received.<br><br>
The new board is electrically equivalent to the original, differing only in component placement (two ICs swapped), PCB layout and the use of a GAL16V8 in place of the original PAL12L6. The GAL logic equations were written from scratch based on knowledge of the WD1773 FDC interface.
</div>
--------------------------------------------------------------------------------------------------------
## <font style="color: yellow;" size="6">Licenses</font>
<div style="text-align: justify">
This design, hardware and software, is licensed under the GNU Public Licence v3.
</div>
--------------------------------------------------------------------------------------------------------
### <font style="color: yellow;" size="5">The Gnu Public License v3</font>
<div style="text-align: justify">
The source and binary files in this project marked as GPL v3 are free software: you can redistribute it and-or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
<br><br>
The source files are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
<br><br>
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
</div>