

ReSDMAC
Verilog code to replace the Commodore SDMAC found in the A3000
- Size
- 38 × 38 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 36
- Nets
- 198
- Pads
- 612
- Tracks, vias
- 1,639, 171
- Pours
- 10
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 7 Jan 2021
- Updated
- 8 Sep 2026
Overview
ReSDMAC is an open-source printed circuit board by mbtaylor1982, from the mbtaylor1982/ReSDMAC repository on GitHub, published under the CC-BY-SA-4.0 licence. It is a 4-layer board of 38 × 38 mm with 36 parts on 198 nets, routed with 1,639 tracks and 171 vias.
It is built around the 10M02SCU169C8G, SN74CBTD16210DL and LM1117-3.3. Its parts include 24 capacitors and 8 ICs. It belongs with the retro computing and games and fPGA and programmable logic boards and the FPGA and CPLD boards of this library.
Main components
310M02SCU169C8G
BGA169MAX 10 FPGA, Single-Supply 3.3V, 130 IOs, 2K Logic Elements, 169-Pin UBGA, Commercial Temperature, Speed Grade 8, RoHSALTERAUncategorisedSN74CBTD16210DL
SSOP-48-300mil-40℃~+85℃ 4.5V~5.5V Single Supply SSOP-48-300mil Signal Switches, Multiplexers, Decoders ROHSTexas InstrumentsSignal Switches, Multiplexers, DecodersLM1117-3.3
SOT-2231 1.3V@(1000mA) 15V 1A 2mA 3.3V Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHShongjiachengUncategorised
README
README.mdReSDMAC
Introduction
ReSDMAC is an independent, open-source community project to develop an FPGA-based replacement for the SDMAC 390537 used in Commodore Amiga 3000 computers.
The project has been a community effort, with the PCB design by Jorgen Bilander and the Verilog implementation by Mike Taylor. The project began as an exercise in reverse engineering the behaviour and interfaces of the SDMAC so that ageing or failed devices in original hardware could be replaced with a modern implementation.
Development initially began using publicly available technical information describing SDMAC operation, including the Amiga 3000T Service Manual, the WD33C93 datasheets, and source code from the Amiga 3000 Linux SCSI drivers.
During the later development of ReSDMAC, additional historical technical material surfaced, including schematics believed to relate to the Rev 3(C) SDMAC and original finite-state-machine documentation. These materials have been useful as historical and technical references:
ReSDMAC is a new implementation written for this project. References to original hardware, part numbers, documentation and trademarks are made for identification, compatibility, historical and technical-reference purposes.
Independence and trademark notice
ReSDMAC is an independent community project. It is not affiliated with, endorsed by, sponsored by, authorised by, or licensed by Commodore International Corporation or by any other owner of the Commodore or Amiga trademarks.
Commodore, Amiga, Amiga 3000, SDMAC and any other third-party names, marks, product names or part numbers referenced by this project remain the property of their respective owners where applicable. Their use within this repository is solely to identify the original systems, components and interfaces with which ReSDMAC is intended to be compatible, and should not be interpreted as indicating any official association or endorsement.
No Commodore or Amiga branding is claimed as part of the ReSDMAC project.
Third-party and historical material
This repository contains, references, or links to technical information originating from third parties. Such material is included or referenced for historical, research, interoperability and technical-reference purposes.
Unless expressly stated otherwise, the ReSDMAC project does not claim ownership of third-party manuals, datasheets, schematics, trademarks, source code, documentation or other third-party material. The ReSDMAC licence described below applies only to original ReSDMAC material for which the project's contributors have the right to grant that licence.
The presence of third-party material in, or links from, this repository should therefore not be interpreted as placing that material under the ReSDMAC licence.
If you are a rights holder and believe that material in this repository has been included incorrectly, please open an issue or contact the repository maintainer so that its provenance and appropriate treatment can be reviewed.
SDMAC Documentation
To bring together the technical details learned during development of ReSDMAC, a project documentation page has been created and is available here.
Pre-Production Board REV 1A



Timing Diagrams
Below are VCD outputs from the cocotb tests. These have been used to help verify the behaviour and timing of the Verilog implementation.

Acknowledgements
Thank you to everyone who has helped with this project, especially:
- Andy aka trixster1979 for the long-term loan of a REV 4 SDMAC and dedicated testing on the AA3000+.
- Chris Hooper aka CDH for providing various adaptor PCBs and breakout boards, and for writing the SDMAC test program.
- Jorgen Bilander for adapting the ReAgnus design to suit the SDMAC, and for creating the ReSDMAC-devboard.
- Matt Harlum Liv2 for reviewing my code and my interpretation of the FSM schematics.
- Matthias Heinrichs for providing the original state-machine documentation.
- Stefan Reinauer for his excellent work showcasing ReSDMAC at Amiwest 2024.
- Stefan Skotte aka Screemo for the long-term loan of a REV 2 SDMAC.
- Stephen Leary AKA Terriblefire for publishing the Verilog code for his projects and inspiring me to learn Verilog and take on this project back in 2021.
Honourable mentions
Others who have helped with words of encouragement and general support:
Licence
Except for third-party material identified or referenced above, original ReSDMAC material made available by the project's contributors under this repository's current licensing terms is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
Important: this licence grant does not apply to third-party trademarks, manuals, datasheets, schematics, documentation, source code or other material for which the ReSDMAC contributors do not own or control the relevant rights. Any such material remains subject to its own applicable rights and licensing terms.
Parts
36| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 0.01uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C12, C13, C14, C15, C16, C17, C18, C19, C21, C22, C23, C24 |
| 4 | 0.1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C6, C7, C9, C10 |
| 4 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolder | C4, C5, C8, C11 |
| 4 | SN74CBTD16210 | ReSDMAC:TSSOP-48_6.1x12.5mm_P0.5mm_padLength_1mm | U3, U4, U5, U6 |
| 3 | 10uF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C1, C2, C3 |
| 2 | 10k | ReSDMAC:RESCAF80P320X160X60-8N | RN1, RN2 |
| 1 | 0.1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C20 |
| 1 | 10M02SCU169C8G | ReSDMAC:BGA-169_11.0x11.0mm_Layout13x13_P0.8mm_Ball0.5mm_Pad0.35mm_NSMD | U1 |
| 1 | Conn_02x05_Odd_Even | Connector_PinHeader_2.00mm:PinHeader_2x05_P2.00mm_Vertical_SMD | JTAG1 |
| 1 | LM1117-3.3 | Package_TO_SOT_SMD:SOT-223 | U2 |
| 1 | PLCC_84_plug | ReSDMAC:PLCC-84_Plug_P1.27mm_mirrored | U7 |
| 1 | Super_DMAC_socket | ReSDMAC:PLCC-84_TH_pin_holes | U8 |
| 1 | TestPoint_Small | TestPoint:TestPoint_Pad_1.5x1.5mm | TP1 |
Questions
How big is the ReSDMAC PCB?
It measures 38 × 38 mm and has 4 copper layers, 1.6 mm thick.
What parts does the ReSDMAC use?
36 parts, built around the 10M02SCU169C8G, SN74CBTD16210DL and LM1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the ReSDMAC KiCad files?
From the mbtaylor1982/ReSDMAC repository on GitHub, at the commit this page was made from: the board is KiCad/ReSDMAC.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the ReSDMAC design in my own project?
Its repository publishes it under the CC-BY-SA-4.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 4 layers38 × 38 mm

- 4 layers38 × 38 mm

- 2 layers33.7 × 97.8 mm

HAN ESP TSS721
UtilitechAS/amsreader-firmware
ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported
29 parts470 - 2 layers52.5 × 36.6 mm

ESP8266-WebRadio
karawin/Ka-Radio
A wifi webradio with only low cost boards ESP8266 and VS1053 by Jp Cocatrix
52 parts453 - 2 layers95.2 × 57.2 mm

- 2 layers189.5 × 204.9 mm

SmartSpin2k Panelized
doudar/SmartSpin2k
Transform your spin bike into a Smart Trainer!
749 parts292GPL-2.0 - 4 layers121.9 × 109.2 mm

Plinkyblack hwmidi jacks
plinkysynth/plinky_public
a public release of the plinky sw and hw
300 parts227 - 4 layers113.5 × 105.5 mm

Multistepper
eddyem/stm32samples
Code samples and ready projects based on bare-metal STM32
243 parts208
