chriz2600 / DreamcastHDMI

Dreamcast HDMI
MIT License
154 stars 21 forks source link

DreamcastHDMI / DCDigital

2021-02-20 Firmware v4.9 (Unified)

2021-01-08 Firmware v4.8 (Unified)

2020-09-14 Firmware v4.7 (Unified)

2020-08-27 Firmware v4.6 (Unified)

2020-05-17 Firmware v4.5 (Unified)

2020-02-28 Firmware v4.4 (Unified)

2019-11-17 Firmware v4.3 (Unified)

2019-09-27 Firmware v4.2 (Unified)

2019-09-20 Firmware v4.1 (Unified)

2019-08-25 Firmware v4.0 (Unified)

2019-08-09 Firmware v3.0.4 (Relaxed)

2019-07-31 Firmware v3.0.3 (Relaxed)

2019-06-16 Firmware v3.0.2 (Relaxed)

2019-04-20 Firmware v3.0.0 (Relaxed)

2019-04-20 Firmware v2.3.0 (Standard)

2019-02-06 Firmware v2.2.0

2019-02-01 Firmware v2.1.1

2019-01-22 Firmware v2.1.0

Update is highly recommended!

2019-01-08 Firmware v2.0.0

2018-12-18 Firmware v1.2.0

2018-11-11

2018-09-20

2018-09-03

2018-08-14

2018-08-05

Updated the old 2017 block diagram to reflect some of the changes introduced since then:

Block diagram 2018

2018-07-29

2018-07-17

Mainboard 1.2e Link

Finally finalized hardware 🎉 All interference issues are solved, we're now entering beta phase!

Rolling releases

The master branch will now contain the latest stable release. Development version moved to develop.

Firmware updates are easily downloaded and installed via WiFi ESP companion.

Currently the following features are planned:

2018-05-09

Mainboard 1.2d Link

Close to final FPGA mainboard by citrus3000psi.

Some features are currently unused (e.g. pads for maple bus integration).
They will allow some cool firmware extensions in the future (e.g. OSD)

Flat flex 1.2a

citrus3000psi designed a flat flex cable, which connects the Mainboard to the audio and video dacs.

Cylcone 10 LP (10CL025):

We switched to a bigger FPGA to support more video output modes, 10CL016 and EP4CE6 are also supported.

Output Resolution Notes 10CL025 10CL016 EP4CE6
VGA 640x480 Correct pixel/aspect ratio! :white_check_mark: :white_check_mark: :white_check_mark:
480p 720x480 Original output: usually only 640px of the available 720px are used.
Incorrect pixel/aspect ratio!
:white_check_mark: :white_check_mark: :white_check_mark:
960p 1280x960 x2 VGA :white_check_mark: :white_check_mark: :x:
1080p 1280x960 x2 VGA, framed in 1920x1080 :white_check_mark: :x: :x:
Other firmware features

2018-03-05

Restructured source code and updated pin assignments for citrus3000psi's DCHDMI board 1.1:

Moved older versions (without ADV7315 and/or ICS664-3) to v0.1

Restructured "firmware" site:

Details on the available versions can be found here.

2017-12-21

Added ESP-12 based firmware management tool, for upgrading firmware via WiFi.

2017-06-11

Many thanks to citrus3000psi for his work on a QSB (quick soldering board). Check out the thread on the shmups forum: DreamcastHDMI github by chriz2600

2017-05-29

New (auto)-build system using docker. Build system using docker

2017-04-23

Added schematics and some information on Cyclone IV + ADV7513 + ICS664-3 build: CycloneIV-ADV7513-ICS664

2017-04-18

A new version of the Cyclone IV + ADV7513 version is available here.

Features in this version:

Block diagram

Not in this version:


2017-03-27

Cheaper FPGA

Instead of a DE0 Nano SOC you can also use a Waveshare CoreEP4CE6 Development Board. You can get it for 20-25$ via Aliexpress. The project folder for this is FPGA-CycloneIV. Because the board does not expose any clock pins, you have to desolder the oscillator and attach the dreamcast clock directly to the board.

Oscillator

ADV7513

I also created a board for experimenting with the Analog Devices ADV7513 HDMI Transmitter which can be found here. The verilog code for this can be found here.

Direct HDMI output from FPGA

If you want to go the "cheap" DIY route, i've made a PCB for the LVDS2TMDS part.

Dreamcast video output

Some details about the Dreamcast scaling issue on modern HDTVs: Video details link

Roadmap
  1. Create cheaper solution based on simple FPGA development board.
  2. Use FPGA to enable 480p mode. Currently I have to plug in a VGA cable ;)
  3. ~~Design FPGA board with Cyclone IV FPGA and ADV7513 transmitter. I'm planning to include some RAM to be able to implement 480i as well as basic upscaling later. Edit: I don't need external RAM for line doubling.~~
  4. Design flat flex circuit to connect Dreamcast video DAC and audio DAC to FPGA board.
  5. Detailed HOWTOs.

Original documentation