<commit_before># Game Boy Emulator
A Game Boy emulator written in C++14 for learning purposes. It doesn't do anything interesting yet.

## Dependencies
-   SFML2

## Usage example
A makefile is present in the repository, to build go to the project's root directory using the terminal and type the following command:
```
$ mkdir build && cd build && cmake .. && make && cd ..
```

To run the program, type the name of the executable followed by the rom's location:
```
$ ./build/gameboy-emulator roms/tetris.gb
```

## TODO
-   [x] Port to SFML
-   [ ] MBC1
-   [ ] Test Blargh's tests
-   [x] Tetris Title Screen

## Known bugs
-   It doesn't work


## References & Game Boy documentation
-   [DuoDreamer's GameBoy Memory map](http://gameboy.mongenel.com/dmg/asmmemmap.html)
-   [RealBoy in-depth blog](https://realboyemulator.wordpress.com/)
-   [Pan Docs GameBoy Documentation](http://bgb.bircd.org/pandocs.htm)
-   [Pastraiser's GameBoy CPU instruction table](http://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html)
-   [Codeslinger's GameBoy emulation guide](http://www.codeslinger.co.uk/pages/projects/gameboy.html)
-   [Game Boy Boot ROM Disassembly](https://gist.github.com/drhelius/6063288)<commit_msg>New TODO items and new README<commit_after># KGB emulator
_Karll's Game Boy_ is a Game Boy emulator written in C++14 for learning emulation and modern C++. It doesn't do anything interesting yet.

## Dependencies
-   SFML2

## Usage example
A makefile is present in the repository, to build go to the project's root directory using the terminal and type the following command:
```
$ mkdir build && cd build && cmake .. && make && cd ..
```

To run the program, type the name of the executable followed by the rom's location:
```
$ ./build/gameboy-emulator roms/tetris.gb
```

## TODO
-   [x] Port to SFML
-   [x] Tetris Title Screen
-   [ ] Input
-   [ ] MBC1
-   [ ] Play Tetris
-   [ ] Pass Blargh's tests
-   [ ] Pass Opus5
-   [ ] Sound
-   [ ] Play Metroid II

## Known bugs
-   It doesn't work

## References & Game Boy documentation
-   [DuoDreamer's GameBoy Memory map](http://gameboy.mongenel.com/dmg/asmmemmap.html)
-   [RealBoy in-depth blog](https://realboyemulator.wordpress.com/)
-   [Pan Docs GameBoy Documentation](http://bgb.bircd.org/pandocs.htm)
-   [Pastraiser's GameBoy CPU instruction table](http://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html)
-   [Codeslinger's GameBoy emulation guide](http://www.codeslinger.co.uk/pages/projects/gameboy.html)
-   [Game Boy Boot ROM Disassembly](https://gist.github.com/drhelius/6063288)
{'fraction_non_alphanumeric': 0.12777561355668096, 'fraction_numerical': 0.008959875340864823, 'mean_word_length': 3.7032967032967035, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6358029', 'n_tokens_mistral': 914, 'n_tokens_neox': 836, 'n_words': 255}