Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
e04fab8004 | |||
06697f5d36 | |||
f1cb59c789 | |||
34fd828c38 | |||
f75f7eb618 |
11
.gitignore
vendored
11
.gitignore
vendored
|
@ -1,9 +1,6 @@
|
|||
.sconsign.dblite
|
||||
badnes
|
||||
*.o
|
||||
roms
|
||||
*.nes
|
||||
build
|
||||
LaiNES
|
||||
.vscode
|
||||
*.exe
|
||||
badnes
|
||||
badnes.exe
|
||||
roms
|
||||
*.nes
|
||||
|
|
58
README.md
58
README.md
|
@ -5,10 +5,10 @@
|
|||
| _ < / _` |/ _` | . ` | __| \___ \
|
||||
| |_) | (_| | (_| | |\ | |____ ____) |
|
||||
|____/ \__,_|\__,_|_| \_|______|_____/
|
||||
EMULATOR
|
||||
EMULATOR
|
||||
```
|
||||
|
||||
A nearly complete NES emulator in a single 700-line C++ source file, based on [LaiNES](https://github.com/AndreaOrru/LaiNES).
|
||||
A nearly complete NES emulator in a single 750-line C++ source file, based on [LaiNES](https://github.com/AndreaOrru/LaiNES).
|
||||
|
||||
```
|
||||
cloc main.cpp
|
||||
|
@ -26,27 +26,15 @@ C++ 1 6 60 757
|
|||
|
||||
## Features
|
||||
- Cycle accurate
|
||||
- Savestates (beta, expect bugs)
|
||||
- Extremely compact: only 700 lines in one source file with no dependencies
|
||||
|
||||
## Requirements
|
||||
- C++11
|
||||
- SDL2
|
||||
|
||||
## Building
|
||||
### *nix systems
|
||||
```sh
|
||||
git clone --recursive https://github.com/Ta180m/BadNES && cd BadNES
|
||||
g++ main.cpp -o badnes -std=c++11 -lSDL2main -lSDL2 -O3
|
||||
```
|
||||
|
||||
### Windows
|
||||
```sh
|
||||
git clone --recursive https://github.com/Ta180m/BadNES && cd BadNES
|
||||
g++ main.cpp -o badnes -std=c++11 -IC:\mingw\include\SDL2 -LC:\mingw\lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 -O3
|
||||
```
|
||||
- Savestates (Beta, expect bugs!)
|
||||
- Supports Mappers 0, 1, 2, 3, 4, and 7
|
||||
- Extremely minimal: only 750 lines in one source file with no dependencies
|
||||
|
||||
## Usage
|
||||
First, head over to the release tab and grab a release. Releases marked as `beta` may be unstable!
|
||||
|
||||
If a release doesn't work, you can also build it yourself, as described below.
|
||||
|
||||
### *nix systems
|
||||
```sh
|
||||
./badnes [path to ROM]
|
||||
|
@ -79,11 +67,28 @@ BadNES implements the most common mappers, which should be enough for a good per
|
|||
- UxROM (Mapper 002)
|
||||
- CNROM (Mapper 003)
|
||||
- MMC3, MMC6 / TxROM (Mapper 004)
|
||||
- AxROM (Mapper 007) (Not well supported, expect bugs!)
|
||||
- AxROM (Mapper 007) (Beta, expect bugs!)
|
||||
|
||||
You can check the compatibility for each ROM in the following list:
|
||||
http://tuxnes.sourceforge.net/nesmapper.txt
|
||||
|
||||
## Building
|
||||
### Requirements
|
||||
- C++11
|
||||
- SDL2
|
||||
|
||||
### *nix systems
|
||||
```sh
|
||||
git clone --recursive https://github.com/Ta180m/BadNES && cd BadNES
|
||||
g++ main.cpp -o badnes -std=c++11 -lSDL2main -lSDL2 -O3
|
||||
```
|
||||
|
||||
### Windows
|
||||
```sh
|
||||
git clone --recursive https://github.com/Ta180m/BadNES && cd BadNES
|
||||
g++ main.cpp -o badnes -std=c++11 -IC:\mingw\include\SDL2 -LC:\mingw\lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 -O3
|
||||
```
|
||||
|
||||
## FAQ
|
||||
### Why the name?
|
||||
http://www.usaco.org/index.php?page=viewproblem2&cpid=1041
|
||||
|
@ -92,13 +97,16 @@ http://www.usaco.org/index.php?page=viewproblem2&cpid=1041
|
|||
I really like LaiNES: it's very minimal and compact — but it has several dependencies, so I try to write the shortest NES emulator possible, in a single source file.
|
||||
|
||||
### There's no sound!
|
||||
I'm working on it right now.
|
||||
I'm working on it right now. You can also check out the `sound` branch, although it's still in a very early stage right now.
|
||||
|
||||
### What do you mean by "nearly complete"?
|
||||
I'll say it's complete once I finish implementing the APU.
|
||||
|
||||
### This game doesn't work!
|
||||
Check to make sure BadNES implements its mapper. Also, Mapper 7 is known to be especially buggy.
|
||||
Check to make sure BadNES implements its mapper.
|
||||
|
||||
### Mapper 7 / Savestates / etc. doesn't work!
|
||||
Those features are still in `beta` right now so expect bugs.
|
||||
|
||||
## Credits
|
||||
Special thanks to [Andrea Orru](https://github.com/AndreaOrru) for creating [LaiNES](https://github.com/AndreaOrru/LaiNES), the emulator that this project derives much of its code from.
|
||||
Special thanks to [Andrea Orru](https://github.com/AndreaOrru) for creating [LaiNES](https://github.com/AndreaOrru/LaiNES), the emulator that this project derives much of its code from.
|
||||
|
|
Loading…
Reference in a new issue