Skip to content

andkorzh/PPU-LITE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The cheapest, clock-accurate FPGA replacement for PPU, created using reverse engineering. I decided to develop a cheaper FPGA-based alternative to the RGB-PPU, as the original design called for a 4-layer PCB, which is quite expensive even from China.
Therefore, I exclusively used a double-sided PCB. Also, board size was an initial concern, so to avoid reinventing the wheel, I used the NESRGB size, which, thanks to adapters, can be installed in any original console. The FPGA was the cheapest and oldest Cyclone I EP1C3T100C8N in a 100-pin package. Similar to the NESRGB, a discrete R2R-based DAC with resistor arrays, 6-bit plus one-bit emphasis per channel, was used instead of the ADV7125. All these measures are intended to significantly reduce the final cost and simplify the availability of certain components in these challenging times.
Taking all of the above into account, a project was prepared in Quartus and successfully tested. It would have been possible to implement it on Lattice, thus eliminating the need for configuration flash memory, as it's integrated into the chips in Lattice FPGAs, but I'm not particularly keen on learning a new ecosystem. The prototype contains three built-in palettes that can be switched via jumpers on the board. This project can implement up to four palettes without increasing the number of currently used FPGA pins.

IMG_4894

Contains 4 palettes:

0 - jumper open, 1 - jumper closed

J4 J3

00 - NES CLASSIC

01 - SONY CXA

10 - SMOOTH

11 - NATURAL NESTOPIA YUV

resources used by the FPGA CYCLONE I

compreport

Video on YouTube: https://www.youtube.com/watch?v=B2EgrhUERuM

Attention! The board only has a JTAG configuration interface. Please upload only the jic file. If you try to upload the pof file, you will receive an error.

Added project to Lattice Diamond 3.5 and Gerber PCB files for Lattice.

IMG_4940

Contains 8 palettes:

0 - jumper open, 1 - jumper closed

J5 J4 J3

000 - NES CLASSIC

001 - CDIRECT

010 - NATURAL NESTOPIA YUV

011 - PC 10

100 - PVM STYLE

101 - WaveBeam

110 - SONY CXA

111 - SMOOTH

resources used by the FPGA LATTICE LCMXO2-1200HCTQFP100

latt_res

About

The cheapest, clock-accurate FPGA replacement for PPU, created using reverse engineering.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages