Commit graph

36 commits

Author SHA1 Message Date
Michel Heily f84e425d24 core: Make gpio optional
Former-commit-id: 2efe3a5486d76b2be0fc99abbe2e1ea14b21d180
Former-commit-id: b2ce408e12913a050354258b3e6f3c5e0714183d
2020-05-21 23:18:20 +03:00
Michel Heily 3839b8eb02 core: Finish up RTC!
Pokemon Emerald no longer has the "Battery ran dry" message, and RTC
functions work.


Former-commit-id: b05115af9797b9d754e20d98b1dbd5dac5389518
Former-commit-id: b10a70ec02d0b8775e1e39e9d64b41860d3b1274
2020-05-21 23:18:20 +03:00
Michel Heily 58c9d10360 debugger: Fix/Improve Continue command
Former-commit-id: 8f64618a51c1805ccf5db0da9a2d0a2335928588
Former-commit-id: 180721c6aa6b7fe32a3afb23c01c048bcd9aa878
2020-05-21 23:18:20 +03:00
Michel Heily a99a1499fd Add game specific overrides file (like vba-over.ini)
Former-commit-id: c5084bd191fcc91d9caa5f2c0f89a9803706d0b2
Former-commit-id: a80f747b6199679c74a25505a7893afe4b3b05e1
2020-05-21 23:18:20 +03:00
Michel Heily 8e1ba1117c core: More RTC work
Former-commit-id: be2955b08d65c547d206d637ae499dbad892a87a
Former-commit-id: 19f0e4e6f9c598c35fb8172d93a1519f921eb27f
2020-05-21 23:18:20 +03:00
Michel Heily 304ac31c02 core: Start working on RTC
Former-commit-id: cb23bbade323883509347fce26f78f2cf43d8788
Former-commit-id: d01bef5267429a7d76a50dbc7c185f0513af00ec
2020-05-21 23:18:20 +03:00
Michel Heily d2f4b55f21 core/gpu: Remove irrelevant comment
Former-commit-id: d1c8efd0aefe18dbb71dc8417e09d65019f3d3c2
Former-commit-id: a9b97120e5ae524d1b9fdc9c6296477ff014f938
2020-05-20 22:38:25 +03:00
Michel Heily 9607b16e4f core/gpu: Add a test for the gpu state machine.
This test also caught a bug where hblank flag from the last
vblank-hblank would linger on the next HDraw.


Former-commit-id: b8916badc4bd874d9493229299150f6b2f00f5ed
Former-commit-id: 8ada7ccf3e65e7272d9bb828101520f1589cb4c4
2020-05-20 22:35:53 +03:00
Michel Heily b60ad3114c core: Decouple SysBus from Gpu and re-implement Gpu::update
Former-commit-id: 6ca6989192f0925f4d2eb0e5029a2bcf66869ee9
Former-commit-id: 562d89f627a9e3a9153a7a0db6830fd9b5875967
2020-05-20 21:23:44 +03:00
Michel Heily 96b1e0d844 core/gpu: Remove panic when ObjMode is "Forbidden"
Former-commit-id: 90380761357fa7df0769cb487980a405ae2e8265
Former-commit-id: 1cddcb9030b03f3da35a98d56c7a21a6b8eb7530
2020-05-20 21:23:43 +03:00
Michel Heily 564f1dcb39 bugfix: Properly handle VCOUNT interrupt edge case for line 227.
fixes #97


Former-commit-id: 6e1cd347e82edfd6eca2b89e6e2a86e68e39d580
Former-commit-id: e9aeb8cc4dd503cfb3da4552e5618de5e982039b
2020-05-20 19:54:27 +03:00
Michel Heily 948bac03a2 Fix copy-paste bug from previous commit
Former-commit-id: 849acd1852bbe3126a6dde0f21c9754b364e24cb
Former-commit-id: 31e837d620cb0858aec4ddf3c133c254bbc1f1b7
2020-05-19 19:30:35 +03:00
Michel Heily 309ae2f795 core: Handle 8bit writes to video memory
fixes #96


Former-commit-id: efdb6c0af0ef6ee2a74042b8725306103703fcfe
Former-commit-id: 1f0e7f7135649ab13c4adcb72bc5e9b432a4905f
2020-05-18 21:11:49 +03:00
Michel Heily 63bf7d6dbb core: Remove unused strust
Former-commit-id: 5ac298c8f300062b91f3321d7b125b4c2132530a
Former-commit-id: 7d1cc81d56a9d8d8d04097c43e48f3fb6e6f8d86
2020-05-18 21:11:20 +03:00
Tibor Nagy db3be711ae core: Clamp BLDY to 0..16
As per the GBATEK docs. Fixes the fadeout animations in Ice Age.

Former-commit-id: 0bc54ab594ba19347a4b6d1b681ccf37da4d7910
Former-commit-id: 33b732e7f990c312bf92bcc21797df35b3d2ce56
2020-05-18 11:26:14 +03:00
Michel Heily 9bb39fe135 Fix gba-suite arm test #530
Fixes edge-case in STMDA with empty rlist


Former-commit-id: 5f43fa19e0faad7d27d022480d856ab0c52f1d56
Former-commit-id: 8e2392e1dd34fb161aa1b2c3445272f06f432316
2020-05-15 16:25:27 +03:00
Michel Heily 4e6735bb5c Fix gba-suite arm test #207
Arm Data-Processing instruction was not initializign
`self.bs_carry_out` before activating the barrel-shifter.

Current ARM7 is too much spaghetti for me to handle anymore, maybe time
for some refactoring.


Former-commit-id: b21fe75496ccd89611fc56f5f00e885532c5ff20
Former-commit-id: 5b11f640d306ebc2afb95d76a3dd3e1530a87c36
2020-05-15 16:25:27 +03:00
Tibor Nagy fe9feb3498 core: Handle lsr 32 correctly
Shifter tests from the mGBA test suite now pass with a 140/140 score.
Also fixes gba::tests::test_arm7tdmi_thumb_eggvance.

Former-commit-id: 4cd4faa3b33f04969b38480c5eed8bf352be025a
Former-commit-id: d1427d8c9b407be1505c0153cce1ecdadd646664
2020-05-15 16:25:27 +03:00
Tibor Nagy 90360fddd2 core: Fix ARM/Thumb test ROM paths
One step closer for having green Travis checkmarks

Former-commit-id: eac65389e20e5c76804f6c086cae7078c1b51b8c
Former-commit-id: c891c75058dd47f6d59c674f1aeb8fc57436cab0
2020-05-15 16:25:27 +03:00
Michel Heily be36345849 Add experimental RetroArch Core
Former-commit-id: 5d6bd10c6e9214f5980eddf86ed92d35c0e9ea93
Former-commit-id: 2ad4828ecbb3de7924f6103b106c7ec06c7822cc
2020-05-15 13:25:12 +03:00
Michel Heily b745e07fa3 Fix affine backgrounds
Writing to reference point BGnX and BGnY should update the internal PPU
registers also inside VBLANK period.

fixes #79


Former-commit-id: a5237319ccab1aab023bb05878c81a198310fb21
Former-commit-id: 0c9ce4476111eea46e7372b48af77c862c0d2f6a
2020-05-09 18:55:37 +03:00
Michel Heily 051d5e1235 Fix build error and warnings
Former-commit-id: 122b21bd486ca25681b4462a44edb18f778bf8d6
Former-commit-id: 3dc7ff4285e781654526f15e8f5ee3745e197b03
2020-05-01 18:35:16 +03:00
Michel Heily ef3f39defc Refactor rustboyadvance-core crate directory structure
Former-commit-id: 1aad71d283f7ec5a0f0328f9b683f51e459ae56f
Former-commit-id: 42bb30d300c17bace976d106f6da1aca8c0d7643
2020-05-01 18:13:11 +03:00
Michel Heily 3ac1d57e04 Warn if not using the real bios
Also run rustfmt


Former-commit-id: 1c46b90fc6099eed5124a3bd2712883fd0f6d1d2
Former-commit-id: 1236956de08a30e4dd76aa78619290b63b4df24a
2020-05-01 17:58:15 +03:00
Michel Heily 96f3858c96 Fix unused warnings when not compiled with elf_support
Former-commit-id: a6b38f3affdbfbb436b1ec0d3ec33406f71f9ba2
2020-04-30 09:12:45 +03:00
Michel Heily 08bda05d52 gpu: Fix blending problems for light/darken
This issue rised in Pokemon Emerald main menu, where all the menu items
are highlighted and not just the selected one.


Former-commit-id: 503652ad5d8fccb37603a1c5df670632e02b2f14
2020-04-30 08:41:57 +03:00
Michel Heily 2caf8c26ad debugger: Add some symbol support
Former-commit-id: 44010b1599c373f2141f918dccb53135752ac283
2020-04-29 23:54:10 +03:00
Michel Heily 31161eb5e5 Add elf loading support
Former-commit-id: 62edab8ec074c099a23fe9223b35d6043d42fbf6
2020-04-29 23:18:12 +03:00
Michel Heily 90032373a8 Wasm improvments
Former-commit-id: f51fc18327f6adb0011ff2aff2787d513fb6aa37
2020-04-15 15:50:56 +03:00
Michel Heily db04bdf341 Remove ctrlc dependency
Former-commit-id: b78552cbbdbdce140861406659678af2da4719b0
2020-04-13 22:18:56 +03:00
Michel Heily ac43292051 Add rustboyadvance-wasm
Former-commit-id: 04a1ad2f382055d46b943cb0e4e467d925d99298
2020-04-13 17:55:39 +03:00
sapir d0f6ad0112 Fix a few typos
Former-commit-id: f7bb3b0c639eff30f389a54a828de1246a27aaf0
2020-04-13 00:24:06 +03:00
sapir 0a226a4d7c Move profile definition to workspace root
Former-commit-id: 2ad50e35e9250c44ed538540d245ae23f0a7f2ff
2020-04-12 22:23:45 +03:00
sapir 458ecfeede Remove missing bench
Former-commit-id: 2c95d20e06d68174e23badb0a027d2ad82fed000
2020-04-12 22:23:45 +03:00
Michel Heily 810ff89ea7 FpsCounter: Use a const instead of generating a new time::Duration each tick
Former-commit-id: e0b6ec4bbc97119f6e82d1219d1406626b50e890
2020-04-11 16:29:56 +03:00
Michel Heily 884f39ca8f Refactor workspace structure
Former-commit-id: d6ab90563fa209b431661086f9ec2672bda02a96
2020-04-11 16:06:34 +03:00