Giter VIP home page Giter VIP logo

resdmac's Introduction

ReSDMAC

build test
join

Dev Role Donate
Mike Taylor Verilog Code ko-fi
Jorgen Bilander PCB Design ko-fi

Status

🔴 This project is still a work in progress and the code and hardware design is likely to change. this is why there are no instructions on how to build or program the board yet.

Introduction

This project is an exercise in reverse engineering the Commodore SDMAC 390537 as found in the Amiga 3000

This project was started with nothing more that the descriptions of the SDMAC operations and from the Amiga 3000T Service manual, the WD33c93 Datasheets and some source code from the Amiga 3000 Linux scsi drivers.

Since then Partial schmatics surfaced with some pages missing. I've done my best to add the missing pages back and the can be found here SDMAC_Rev4.pdf

SDMAC Documentation

To collate togethe the technical details of the SDMAC a markdown document has been created and is linked here This will be updated with timing diagrams, state diagrams schmatic fragments as appropriate.

FIFO

The FIFO is implmented with an 8 x 32 bit long word buffer, each long word can be loaded one byte at a time, one word at a time (high or low) or all at once. This is controled by the Byte Pointer and the write strobe sub circuit in within the FIFO. Reading from the FIFO is asynchronous and the longword pointed to by the read (Next Out) pointer is always present on the output data bus of the FIFO.

CPU State Machine

TODO:

SCSI State Machine!

Details here

Resgisters

TODO:

Datapath

TODO:


BOM Rev. 1A

Reference Name/Value Package Notes
U1 10M04SCU169C8G BGA-169 11.0x11.0mm_Layout13x13 FPGA Intel MAX 10 10M04SCU169C8G
U2 LM1117-3.3 SOT-223 Low-Dropout Linear Regulator 3.3 Volt
U3-U6 SN74CBTD16210 TSSOP-48 6.1x12.5mm_P0.5mm 20-BIT FET Bus switch with level shifting, high-speed TTL-compatible. 74CBTD16210DGGR
U7 Winslow PLCC-84 Plug PLCC-84 Plug Optionally use a home made plug (stacked PCBs)
U8 PLCC-84_TH_pin_holes TH_plug_pins Pins to use with homemade plug, 1.27mm pitch Long Pin 1x40P or 1x50P Aliexpress Cut to length after soldering.
RN1 CAY16-103J4LF RES ARRAY 4 Resistors 10k Ω 1206 CAY16-103J4LF
RN2 CAY16-103J4LF RES ARRAY 4 Resistors 10k Ω 1206 --"--
C1-3 Capacitor 10uF 1206
C4,C5,C8,C11 Capacitor 1uF 0805
C6,C7,C9,C10 Capacitor 0.1uF = 100nF 0805
C12-C19 Capacitor 0.01uF = 10nF 0603
C20 Capacitor 0.1uF = 100nF 0603
C21-C24 Capacitor 0.01uF = 10nF 0603
JTAG SMT Pin Header Male SMT 2 x 5 Pin 2.0mm pitch

When ordering from JLCPCB select:

Specify Layer Sequence: Yes

L1(Top layer):    F_Cu.gbr
L2(Inner layer1): GND_Cu.gbr
L3(Inner layer2): VCC_Cu.gbr
L4(Bottom layer): B_Cu.gbr

Remove Order Number:

Specify a location

This will notify JLC where to put the order number, they will replace the "JLCJLCJLCJLC" silkscreen label.


Pre-Production Board REV 1A.

ReSDMAC Rev1a Front

ReSDMAC Rev1a Back

ReSDMAC Rev1a Plug

Please click here for the Interactive BOM.

Timing Diagrams.

Below are the VCD files output by the cocotb tests. these can be used to help verify the verilog code.

Register access timing DMA cycle timing

Acknowledgements

Thankyou to all the people who have helped with this project especially:

Honourable mentions

others that have helped out with words of encouragement and general support.


CC BY-SA 4.0

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CC BY-SA 4.0

resdmac's People

Contributors

mbtaylor1982 avatar jbilander avatar saft6luck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.