Skip to content

Commit 5cbcbea

Browse files
committed
Move LCD driver to 2nd CPU; add PSX pad input device
1 parent bf568e5 commit 5cbcbea

File tree

11 files changed

+620
-1094
lines changed

11 files changed

+620
-1094
lines changed

README.rst

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
ESP32-NESEMU, a Nintendo Entertainment System emulator for the ESP32
2+
====================================================================
3+
4+
This is a quick and dirty port of Nofrendo, a Nintendo Entertainment System emulator. It lacks sound, but can emulate a NES at close
5+
to full speed, albeit with some framedrop due to the way the display is driven.
6+
7+
Display
8+
-------
9+
10+
To display the NES output, please connect a 320x240 ili9341-based SPI display to the ESP32 in this way:
11+
===== =====
12+
Pin GPIO
13+
===== =====
14+
MISO 25
15+
MOSI 23
16+
CLK 19
17+
CS 22
18+
DC 21
19+
RST 18
20+
BCKL 5 (backlight enable)
21+
===== =====
22+
23+
24+
Also connect the power supply and ground. For now, the LCD is controlled using a SPI peripheral, fed using the 2nd CPU. This is less than ideal; feeding
25+
the SPI controller using DMA is better, but was left out due to this being a proof of concept.
26+
27+
28+
Controller
29+
----------
30+
31+
To control the NES, connect a Playstation 1 or 2 controller as such:
32+
===== =====
33+
Pin GPIO
34+
===== =====
35+
CLK 14
36+
DAT 27
37+
ATT 16
38+
CMD 2
39+
===== =====
40+
41+
Also connect the power and ground lines. Most PS1/PS2 controllers work fine from a 3.3V power supply, if a 5V one is unavailable.
42+
43+
ROM
44+
---
45+
This NES emulator does not come with a ROM. Please supply your own and flash to address 0x00100000. You can use the flashrom.sh script as a template for doing so.
46+
47+
Copyright
48+
---------
49+
50+
Code in this repository is Copyright (C) 2016 Espressif Systems, licensed under the Apache License 2.0 as described in the file LICENSE. Code in the
51+
components/nofrendo is Copyright (c) 1998-2000 Matthew Conte (matt@conte.com) and licensed under the GPLv2.
52+

components/driver/README.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
This is a hack to get the LCD driver, which is ripped from a fork of esp-idf, working under the current
3+
esp-idf. The contents of this directory are a mishmash of the current and the old driver and should not
4+
be used for anything. Espressif is not responsible if you use any of the code in this component!

0 commit comments

Comments
 (0)