{bp-19239} apps/NXDoom: Initial port of DOOM to NuttX#19286
Merged
Conversation
The existing first-order LCG (seed = 470001 * seed % 999563) has several quality problems: - Output range limited to [1, 999562] (~20 bits) instead of full 32-bit - Lower bits have very short periods (8-bit period = 1, 16-bit = 105) - Overall period only ~1M, far too short for many applications - Causes mbedtls_rsa_gen_key to loop forever when rand() consumption aligns with the cycle length (issue apache#16760) Replace the entire order-based LCG implementation (CONFIG_LIBC_RAND_ORDER 0-3) with Marsaglia's xorshift32: - Full 32-bit output range - Period 2^32 - 1 (~4.29 billion) - Fast: just three XOR/shift operations - No floating-point math needed - No CONFIG_LIBC_RAND_ORDER configuration required Remove the CONFIG_LIBC_RAND_ORDER Kconfig option and clean up all defconfig references (12 boards) and related comments. Signed-off-by: hanzhijian <hanzhijian@zepp.com>
Includes documentation about the current state of the DOOM port, where it came from, how to play and what the requirements are. Includes all of the warnings about experimental/unfinished features. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Includes a defconfig to play NXDoom on the simulator. Keyboard input is available through X11, as well as graphics rendering. The `/data` folder is used as the default home for game files. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Include docs about new NXDoom configurations for playing NXDoom. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
his is the twin PR of the source port: apache/nuttx-apps#3573
The nuttx-apps needs to be merged first.
It includes a configuration for playing NXDoom on the NuttX simulator with X11 graphics and keyboard input, as well as documentation about the configuration and NXDoom itself.
This is part of my GSoC proposal, last milestone of making some cool user demos: #18507.
Impact
RELEASE
Testing
CI