A 6502 SBC in a Gowin GW1NR-9 FPGA on a Sipeed Tang Nano 9k.
Ported ricktw project 6502_HDMI to a Tang Nano 9k
Further description of the original project over here using sources from display_controller and vt52
Features
- HDMI Video Output 640x480
- VT52 Terminal 80x25
- MS BASIC
- PS/2 Keyboard
- RAM 4K
A green blinking cursor will apear.
Cold[C] or warm [W] start ?
Answer by a 'c' keypress
MEMORY SIZE?
Answer by typing 4095
TERMINAL WIDTH?
Answer by typing 80
System shall response with BASIC xy and OK promt
- S1 push button Reset
Prototype circuit with Keyboard can be powered by Tang USB-C connector from PC or a Power Supply Adapter.
Source code can be synthesized, fitted and programmed with GOWIN IDE Windows or Linux.
see pin configuration in .cst configuration file
- PS/2 keyboard has to be connected to 3.3V tolerant FPGA via level shifter to avoid damage of inputs ! Use e.g. 2 pcs SN74LVC1G17DBVR 5V to 3V3 level shifter. My Keyboard has internal pull-up resistors to 5V for Clock and Data Signals so didn't needed external ones.
- Tang Nano 5V output connected to Keyboard supply. Tang 3V3 output to level shifter supply.
PS2 pin | Tang Nano pin | FPGA pin | PS2 Function |
---|---|---|---|
1 | J6 10 | 77 | DATA |
2 | n.c. | - | n.c. |
3 | J6 23 | - | GND |
4 | J6 18 | - | +5V |
5 | J6 11 | 76 | CLK |
6 | n.c. | - | n.c |
Sipeed Tang Nano 9k
PS/2 Keyboard
PS/2 Socket Adapter Module
2 pcs SN74LVC1G17DBVR level shifter
Prototype Board