https://github.com/kautenja/nes-go
A GoLang NES emulator with HTML front-end.
https://github.com/kautenja/nes-go
Last synced: 6 months ago
JSON representation
A GoLang NES emulator with HTML front-end.
- Host: GitHub
- URL: https://github.com/kautenja/nes-go
- Owner: Kautenja
- Created: 2021-08-25T17:30:43.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-26T02:25:15.000Z (about 4 years ago)
- Last Synced: 2025-02-14T10:18:37.419Z (8 months ago)
- Language: C++
- Homepage:
- Size: 3.76 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
This repository implements an NES emulator in GoLang. The front-end is provided
through a web interface using WebSockets to communicate with the GoLang
back-end. The emulator itself is written in C++ and integrated with GoLang
using `cgo` to load the shared object library.## Usage
### Compilation
To compile the C++ shared object library:
```shell
make compileC
```To compile the Go emulation micro-service:
```shell
make compileGo
```To compile the C++ shared object library and Go micro-service in cascade:
```shell
make compile
```### Execution
To start the Go emulation server (on port `9090`):
```shell
make run
```To run the HTTP page server (on port `9000`):
```shell
make serve
```## Controls
| Keyboard Key | NES Joypad |
|:-------------|:--------------|
| W | Up |
| A | Left |
| S | Down |
| D | Right |
| O | A |
| P | B |
| Enter | Start |
| Space | Select |