Conversation
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.
Motivation
Description
tiny16_apu_generate_samplesdirectly fromtiny16_audio_callbackinemulator/tiny16_core.c, removing the per-frame production path and thetiny16_emu_audio_produceusage.audio_ring,audio_read,audio_write) and helper functions fromemulator/tiny16_core.c/emulator/tiny16_core.h, simplifying runtime audio buffering.volatile int lockto theTiny16APUstructure invm/apu.hand implementapu_lock/apu_unlock(spinlock using GCC atomic intrinsics) invm/apu.c.tiny16_apu_mmio_write,tiny16_apu_mmio_read,tiny16_apu_samples_for_cycles, andtiny16_apu_generate_samplesnow acquire the lock while touching shared APU state.tiny16_apu_resetand adapt read paths to return values while holding/releasing the lock safely.Testing
Codex Task