<commit_before># GGVm Guide
### by <NAME> <<EMAIL>>

GGVm is a porting layer for NES homebrew games. It's similar to
an emulator, but a small amount of customization needs to be done
for most games. The goal is for it to be a convenient, free,
no-strings attached way for an NES homebrew developer to get
their game wrapped up and ready to publish on multiple platforms
without having to pay anybody or ask for permission.

GGVm supports a subset of the NES's full capabilities. This
subset was chosen to support the needs of most of today's
homebrew developers. This enabled us to complete the project
quickly enough to return to creating homebrew games. In
addition, this allowed us to take large shortcuts in how the
system is emulated, which enables games to run smoothly at 60
fps with little or no stuttering even on somewhat old Android
devices. Please read the feature list to get an idea of
what GGVm's capabilities are.

# Project Mission Statement

Please use this mission statement as a guide if you would like
to contribute to the project.

- Port - Provide as little of the NES hardware as possible for as
much performance on as many devices as possible, requiring some
work on the part of the developer.

- Package - Your game can be distributed as a Jar, a Jar+JRE, an
APK, or an IPA.

- Protect - You can obfuscate the iNES header, and remove your sound engine implementation from
your game ROM (your soundtrack will be played as ogg, mp3 or wav files)
Any casual hackers who successfully fill in your iNES header and run
your game in an emulator will have wasted their time: no sound. If<commit_msg>Updating README.md with an honest assesment of the best use of ggvm.<commit_after># GGVm Guide
### by <NAME> <<EMAIL>>

GGVm is a porting layer for NES homebrew games. It's similar to
an emulator, but a small amount of customization needs to be done
for most games. The goal is for it to be a convenient, free,
no-strings attached way for an NES homebrew developer to get
their game wrapped up and ready to publish on multiple platforms
without having to pay anybody or ask for permission.

GGVm supports a subset of the NES's full capabilities. This
enabled us to complete the project quickly enough to return
to creating homebrew games. In addition, this allowed us to
take large shortcuts in how the system is emulated, which
enables games to run smoothly at 60 fps with little or no
stuttering even on somewhat old Android devices. Please
read the feature list to get an idea of what GGVm's
capabilities are.

The largest sacrifice of building ggvm this way is probably
raster effects. Raster effects are technically possible with
shaders, but may take fiddling to get right. That said,
simple raster effects such as a black bar for hiding scroll
updates, or a static status bar are supported via special
registers.

Thus ggvm is best for simpler games that are based on NROM
or UnROM mappers which use very few raster effects and have
relatively simple needs for audio playback.

# Project Mission Statement

Please use this mission statement as a guide if you would like
to contribute to the project.

- Port - Provide as little of the NES hardware as possible for as
much performance on as many devices as possible, requiring some
work on the part of the developer.

- Package - Your game can be distributed as a Jar, a Jar+JRE, an
APK, or an IPA.

- Protect - You can obfuscate the iNES header, and remove your sound engine implementation from
your game ROM (your soundtrack will be played as ogg, mp3 or wav files)
Any casual hackers who successfully fill in your iNES header and run
your game in an emulator will have wasted their time: no sound. If
{'fraction_non_alphanumeric': 0.030195865070729053, 'fraction_numerical': 0.001632208922742111, 'mean_word_length': 4.208215297450425, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1284204', 'n_tokens_mistral': 965, 'n_tokens_neox': 929, 'n_words': 631}