Skip to the content
PCBKitNew board
4 layers38 × 38 mmReSDMAC, the printed circuit board in 3D

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

3

README

README.md

ReSDMAC

CC BY-SA
4.0

GitHub Actions Workflow
Status GitHub Actions Workflow
Status GitHub Issues or Pull
Requests

GitHub
Release GitHub Downloads (all assets, all
releases)

join

ko-fi


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

ReSDMAC Rev1a
Front

ReSDMAC Rev1a Back

ReSDMAC Rev1a Plug

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.

Register access timing DMA cycle timing

Acknowledgements

Thank you to everyone who has helped with this project, especially:

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.

CC BY-SA
4.0

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
QtyValueFootprintReferences
120.01uFCapacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolderC12, C13, C14, C15, C16, C17, C18, C19, C21, C22, C23, C24
40.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC6, C7, C9, C10
41uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC4, C5, C8, C11
4SN74CBTD16210ReSDMAC:TSSOP-48_6.1x12.5mm_P0.5mm_padLength_1mmU3, U4, U5, U6
310uFCapacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC1, C2, C3
210kReSDMAC:RESCAF80P320X160X60-8NRN1, RN2
10.1uFCapacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolderC20
110M02SCU169C8GReSDMAC:BGA-169_11.0x11.0mm_Layout13x13_P0.8mm_Ball0.5mm_Pad0.35mm_NSMDU1
1Conn_02x05_Odd_EvenConnector_PinHeader_2.00mm:PinHeader_2x05_P2.00mm_Vertical_SMDJTAG1
1LM1117-3.3Package_TO_SOT_SMD:SOT-223U2
1PLCC_84_plugReSDMAC:PLCC-84_Plug_P1.27mm_mirroredU7
1Super_DMAC_socketReSDMAC:PLCC-84_TH_pin_holesU8
1TestPoint_SmallTestPoint:TestPoint_Pad_1.5x1.5mmTP1

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 mmAgnus, the printed circuit board in 3D

    Agnus

    jbilander/ReAgnus

    A drop-in replacement PCB for the Amiga Agnus chip

    38 parts97CC-BY-SA-4.0
  • 4 layers38 × 38 mmReBuster, the printed circuit board in 3D

    ReBuster

    jbilander/ReBuster

    A drop in replacement PCB for the Super Buster chip

    40 parts7CC-BY-SA-4.0
  • 2 layers33.7 × 97.8 mmHAN ESP TSS721, the printed circuit board in 3D

    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 mmESP8266-WebRadio, the printed circuit board in 3D

    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 mmDomesdayDuplicator, the printed circuit board in 3D

    DomesdayDuplicator

    Domesday86/DomesdayDuplicator

    High-speed LaserDisc RF sampler

    66 parts325GPL-3.0
  • 2 layers189.5 × 204.9 mmSmartSpin2k Panelized, the printed circuit board in 3D

    SmartSpin2k Panelized

    doudar/SmartSpin2k

    Transform your spin bike into a Smart Trainer!

    749 parts292GPL-2.0
  • 4 layers121.9 × 109.2 mmPlinkyblack hwmidi jacks, the printed circuit board in 3D

    Plinkyblack hwmidi jacks

    plinkysynth/plinky_public

    a public release of the plinky sw and hw

    300 parts227
  • 4 layers113.5 × 105.5 mmMultistepper, the printed circuit board in 3D

    Multistepper

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    243 parts208