All Projects → zeldin → Icegdrom

zeldin / Icegdrom

Licence: gpl-3.0
An FPGA based GDROM emulator for the Sega Dreamcast

Labels

Projects that are alternatives of or similar to Icegdrom

Xilinx Serial Miner
Bitcoin miner for Xilinx FPGAs
Stars: ✭ 83 (-19.42%)
Mutual labels:  verilog
Icestation 32
Compact FPGA game console
Stars: ✭ 93 (-9.71%)
Mutual labels:  verilog
Panologic G2
Pano Logic G2 Reverse Engineering Project
Stars: ✭ 99 (-3.88%)
Mutual labels:  verilog
Hoodlum
A nicer HDL.
Stars: ✭ 88 (-14.56%)
Mutual labels:  verilog
Fpga Cnn
FPGA implementation of Cellular Neural Network (CNN)
Stars: ✭ 91 (-11.65%)
Mutual labels:  verilog
Mips32 Cpu
奋战一学期,造台计算机(编译出的bit文件在release中,可以直接食用)
Stars: ✭ 94 (-8.74%)
Mutual labels:  verilog
Ponylink
A single-wire bi-directional chip-to-chip interface for FPGAs
Stars: ✭ 80 (-22.33%)
Mutual labels:  verilog
Svlint
SystemVerilog linter
Stars: ✭ 103 (+0%)
Mutual labels:  verilog
Cores Swervolf
FuseSoC-based SoC for SweRV EH1
Stars: ✭ 92 (-10.68%)
Mutual labels:  verilog
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+1211.65%)
Mutual labels:  verilog
Oldland Cpu
Oldland CPU - a 32-bit RISC FPGA CPU including RTL + tools
Stars: ✭ 90 (-12.62%)
Mutual labels:  verilog
Lpc sniffer tpm
A low pin count sniffer for ICEStick - targeting TPM chips
Stars: ✭ 91 (-11.65%)
Mutual labels:  verilog
Vgasim
A Video display simulator
Stars: ✭ 94 (-8.74%)
Mutual labels:  verilog
Wujian100 open
IC design and development should be faster,simpler and more reliable
Stars: ✭ 1,252 (+1115.53%)
Mutual labels:  verilog
Spatial Lang
Spatial: "Specify Parameterized Accelerators Through Inordinately Abstract Language"
Stars: ✭ 99 (-3.88%)
Mutual labels:  verilog
Vsdflow
VSDFLOW is an automated solution to programmers, hobbyists and small scale semiconductor technology entrepreneurs who can craft their ideas in RTL language, and convert the design to hardware using VSD (RTL-to-GDS) FLOW. VSDFLOW is completely build using OPHW tools, where the user gives input RTL in verilog. From here on the VSDFLOW takes control, RTL is synthesized (using Yosys). The synthesized netlist is given to PNR tool (Qflow) and finally Sign-off is done with STA tool (using Opentimer). The output of the flow is GDSII layout and performance & area metrics of your design. VSDFLOW also provide hooks at all stages for users working at different levels of design flow. It is tested for 30k instance count design like ARM Cortex-M0, and can be further tested for multi-million instance count using hierarchical or glue logic.
Stars: ✭ 82 (-20.39%)
Mutual labels:  verilog
Radioberry 2.x
Ham Radio hat for Raspberry PI
Stars: ✭ 92 (-10.68%)
Mutual labels:  verilog
Awesome Open Hardware Verification
A List of Free and Open Source Hardware Verification Tools and Frameworks
Stars: ✭ 103 (+0%)
Mutual labels:  verilog
Mriscv
A 32-bit Microcontroller featuring a RISC-V core
Stars: ✭ 101 (-1.94%)
Mutual labels:  verilog
Kamikaze
Light-weight RISC-V RV32IMC microcontroller core.
Stars: ✭ 94 (-8.74%)
Mutual labels:  verilog

iceGDROM

This is an implementation of IDE and the "Sega Packet Interface" as used by the Dreamcast GD-ROM drive, using an iCE40 FPGA.

In addition to the IDE interface itself, and the accompanying CD-DA interface, the FPGA bitstream implements an AVR-compatible CPU and an SD Card interface. Software running on the CPU responds to disc access commands from the Dreamcast by fetching data from disc images on an SD Card.

For more detailed information, please see the webpage.

This is free software (and hardware) licensed under the GNU General Public License version 3.

Hardware

The hardware is based on the Lattice iCE40-HX8K Breakout Board. In order to connect this board to the Dreamcast motherboard, a custom "riser board" with the appropriate connectors and some additional components is used. The design files for this can be found in the pcb/riser directory. The bill of materials can be found in the file pcb/riser/bom.txt. The pin headers with a J designation should be soldered to the Breakout Board (pins facing downwards).

The components CN4, R8, D1, and JP2 through JP4 are optional. They are a passthrough for a slave hard drive, and not used by the GD-ROM emulator.

For the hardware to be complete, the following additional things are needed:

  • A USB-mini cable to connect CN6 to the Breakout Board. This is how the Breakout Board is powered when not attached to a host computer.
  • An SD Card module, to connect to CN5.
  • Rubber feet or similar to support the weight of the board in the corners not resting on CN1.

Required tools

To build the FPGA bitstream, the following tools are needed:

  • Yosys 0.6
  • arachne-pnr
  • icestorm

To build the AVR software, the following tools are needed:

  • avr-gcc 5.3.0
  • avr-binutils 2.25.1

Building

Building is done by running GNU make. Running make at the top level will build everything, running it in a subdir will build that part. Note that building in fpga requires the avr stuff to be build first.

The file avr/source/config.h can be modified to adapt to the polarity of the CD signal on the chosen SD Card module, or to enable debug traces on the serial port of the FTDI chip.

In order to flash the FPGA bitstream to the breakout board, run make flash.

Making image files

Building the project will also create a host tool in tools/obj/makegdimg which can create image files from either .gdi files (for GD-ROM images) or from .nrg or .cdi files (for MIL-CD and audio CD images). The image files should be named DISC0000.GI0, DISC0001.GI0 etc on the SD Card. To switch between images, extract and reinsert the SD Card.

Acknowledgements

  • AVR softcore was developed by Ruslan Lepetenok
  • GD-ROM connector pinout was provided by OzOnE
  • SD Card and FAT code based on sdfatlib by Bill Greiman
  • DiscJuggler reader code based on CDIrip by DeXT/Lawrence Williams
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].