# fpnes **Repository Path**: uyami/fpnes ## Basic Information - **Project Name**: fpnes - **Description**: 开源的fpga,简单实现的NES(声音未实现). - **Primary Language**: Verilog - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2023-04-28 - **Last Updated**: 2024-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FPGA实现的NES 未实现APU c6502.v 已能运行 ppu3.v 已能运行 ppu.v 旧代码,不能运行 ppu2.v 旧代码,不能运行 ### 现在设计有以下缺点 ppu3.v OAM的实现全使用寄存器.fpga的优化会优化掉一些东西.使sprite显示异常 应该使用SRAM来处理OAM.并且使用的FPGA资源更少 需要修正时序问题 c6502.v 未实现APU,已实现OAM DMA. 使用各类状态机实现. 还可优化 ### 以下是iverilog仿真代码 运行命令 iverilog nes_test.v c6502.v ppu3.v &&vvp -M./M -mlcd_show a.out ./M/a.exe (注:其中a.exe是LCD显示程序) nes_test.v 测试代码 c6502.v 6502cpu实现.包括dma ppu3.v ppu的实现 mario.hex rom代码 mario_tst.hex 用来调试cpu指令的数据 ppu_mario.hex 用来调试ppu ### 以下是一些代码思路 c6502_com_logic.v 组合逻辑实现(未实现) c6502d.v,c6502dd.v 一些其他6502的实现思想(未实现) ### 现在能运行设备 使用 Tang Primer (EG4S20BG256) 项目地址 /anlogic/2.LCD/ (lcd是使用的是开源例程) lut:5874 (29.97%) reg:3276 (16.71%) le :6862 (52.26%) (注:使用其他FPGA可能占用资源更少)