| src | Fix PLP and ROR/ROL | |
| LICENSE | Initial commit of base Varaboy code | |
| README.md | Initial commit of base Varaboy code | |
Nesnesa
Nesnesa will one day be a NES emulator written in uxntal for the Varvara system.
Special Thanks
- Devine Lu Linvega (and collaborators) for uxn and Varvara, the reason this exists at all
- Andrew Richards for uxn32, without which debugging this would have been a nightmare
Features
- Nothing, yet.
Controls
| Key | Function |
|---|---|
| Home | Start |
| Shift | Select |
| Ctrl | A |
| Alt | B |
| Arrows | Dpad |
| 0-9 | Set frame skip (default: 0) |
| Escape | Write SRAM to disk and quit |
Stability
Usage
This emulator requires a UXN emulator to run. The name of the NES ROM to run is provided on the command line, for example:
uxnemu nesnesa.rom mario.nes
Screenshots
Compatibility
Note that unless otherwise noted, only a few minutes of testing per game was performed.
| Game | Notes |
|---|---|
| Tetris | Untested |
How it works
Both the NES and Uxn use a 16bit address space (0000ドル-$ffff). The NES has several regions of mirrored RAM.
Nesnesa starts at the Uxn entry point (0100,ドル the same as the NES entry point), sets up some basic stuff, reads the NES header to load the appropriate mapper code, and then jumps to the main runtime code inside mirrored RAM. As long as we can fit all Uxn runtime code inside morroed RAM the NES code is able to access the rest of memory using native addresses, which I find super fun!
Note that this means we don't have access to the Uxn zero page, which contains the NES zero page.