-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 2.2.0 #102
Merged
Version 2.2.0 #102
Conversation
This file contains 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
After a lot of work and investigation I have kind of understand why the project did not display properly on the rpi with the SDL KMD/DRM backend. for more info see: libsdl-org/SDL#5273
* Arrange the mod code in main * rename file
# Conflicts: # gb/Cargo.toml # gb/src/main.rs
Read from the joypad is way better now with the gpio pins
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.12.0 to 1.16.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](tokio-rs/tokio@tokio-1.12.0...tokio-1.16.1) --- updated-dependencies: - dependency-name: tokio dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.6. - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](rust-lang/regex@1.5.4...1.5.6) --- updated-dependencies: - dependency-name: regex dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) from 0.8.5 to 0.8.8. - [Release notes](https://github.com/crossbeam-rs/crossbeam/releases) - [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md) - [Commits](crossbeam-rs/crossbeam@crossbeam-utils-0.8.5...crossbeam-utils-0.8.8) --- updated-dependencies: - dependency-name: crossbeam-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
Bump tokio from 1.12.0 to 1.16.1
Bump regex from 1.5.4 to 1.5.6
…0.8.8 Bump crossbeam-utils from 0.8.5 to 0.8.8
Delete the old Cargo.toml in gb folder
the interrupt priority was wrong and was the opposite priority
no need for a for, just checking once for all the interrupt in the unhalt section
used a pointer to an stack alllocated struct for the sdl audio user data, the memory got currupted and the program would freeze on exit (x86) or crash randomaly (arm) now using heap allocated memory using box
Improve the oam search by a lot and the pixel fetching by a bit
This improves ppu peroformance by about 10%
Fix audio mem error bug used a pointer to an stack alllocated struct for the sdl audio user data, the memory got currupted and the program would freeze on exit (x86) or crash randomaly (arm) now using heap allocated memory with `std::box`
This boosts the performance a bit
Optimize the further more gameboy performance to run on weaker hardware
mbc1 - casting to u16 when the program length in mbc1 carts can be greater than u16. read or write to the ram when there is not ram read or writes are ignored Add support for ignoring and not crashing gb_ppu - when calculating the next ppu state change did not count the vblank state when the counter get greater than 114 m_cycles. Now Im using modolu of 114 on the cycles to handle this sprite_fetcher - a bug where the flipx calculation was off by the amount of pixels needs to skip causing panic. It seems to be unecessary so I reomved it.
Fixed 2 bugs: sdl_pull_audio_device - aside from naming, fixed a bug where memseting outside of bounds cause heap corruption fixed_size_queue - aside from naming, fixed a bug where index and index_mut caused accessing memory outside of bounds. Funny thing is that when allocating with vec![] and with with_capacity, the corruption did not happen, my guess is that since vec![] macro simply allocates a bigger buffer and the out of bounds writes did not corrupt anything.
Fix/window crashes Bug fixes including mem corrupt and panics
* Allow the PPU to be m_cycle accurate by cycling the mmu each time an operation on the mmu is executed. * Add the initial delay in the PPU background fifo that resets it after 6 t_cycles at the beginning of each scanline. * Add a delay in the PPU state changing mechanism. the state should change at the m_cycle the new state begins and not the m_cycle the old state ends.
* Add some of the PPU acceptane tests to the integration tests to be run each time. The tests I added are: - intr_2_0_timing - intr_2_mode0_timing - intr_2_mode3_timing - intr_2_oam_ok_timing The tests can be found here - https://github.com/Gekkio/mooneye-test-suite
* Add the new mooneye tests * Add the Nitty gritty gameboy timing and the mgba gbdoc to the resources in the README
Improve the PPU accuracy
* sdl feature will enable sdl2 linking (on by defualt) * apu feature enable the apu. Exsists cause right now on the rpi zero2 i dont want apu (too slow). * Add SIGINT signal handler to exit without sdl Also arrange main a bit
* DMA - Fix a GPU memory leak, add memory barriers and shutdown gracefully * SPI - Add option to start on slow clock and then move to fast clock and add memory barriers * ili9341 - Add slow initialization and shutdown gracefully
Tweaks to use the rpi zero2 instead of the rpi4 to run magenboy that turns out to be a lot of fixes to the original impl
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.
No description provided.