Commit graph

567 commits

Author SHA1 Message Date
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 6161892237 sdl2: Only import things under Windows in build.rs
To suppress unused import warnings under Linux.

Former-commit-id: 8730aa1d753861e5179f85ee9c95c66ad0dd62bd
Former-commit-id: 505dc43254fa109cd96feee8de5f6d8e2d30abf3
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
Tibor Nagy 7646c2d6de sdl2: Clear Sdl2Video canvas before drawing onto it
Resizing the window could leave artifacts from the previous frame on
the canvas that is not overwritten by the self.canvas.copy(...) call.


Former-commit-id: c5479c3e9346a25f2d5e7a7f7b8198a71d16e16a
Former-commit-id: a2cc07de426ed1eca5437e30f4a15278065d856c
2020-05-13 22:17:44 +03:00
Tibor Nagy b980c7aa7d sdl2: Add window icon
Former-commit-id: 920d73c22836099234db2c1fe096f2d4268174e0
Former-commit-id: e2d6902830e3887255e0d816c056f199f1dc453b
2020-05-13 22:17:44 +03:00
Tibor Nagy bdf99282da sdl2: Window needs to be redrawn when restoring it from the taskbar
Fixes regression introduced by d0c525d80c3a09680cb9dfa056030db3ac6b7ce3 [formerly fc575f9f12e3782aa08f13aebdadbac50e98b2c5] [formerly fe172bedc6bf70b1022f419986585981bc9f3642]


Former-commit-id: 0f4c3ef3c12f794429ca9f498ca7314835375cc4
Former-commit-id: 9a8e5eb676e3e307af8cd5982d4d50204418c34d
2020-05-13 22:17:44 +03:00
Michel Heily 13c3e74973 sdl2: Allow toggling frame limiter with right stick
Former-commit-id: 1207b84dbd6162986e5ce790e13e1e2c0b125ebf
Former-commit-id: c7fe6ef3e5ec66fc63e5193e294bfb9d7f469afe
2020-05-12 08:09:33 +03:00
Tibor Nagy 0ae9ef14c3 Fix busy waiting in wait_for_rom() by using a blocking event iterator
Also move the redraw code into a closure to be able to call it from
two places. By the result of this waiting for ROMs no longer consumes
100% of a CPU core.


Former-commit-id: bc86ade197221eb8d357af91a3b59f4eb165adc5
Former-commit-id: 521f361872964d77b88097d7baa6a4b6b713224e
2020-05-12 08:07:13 +03:00
Michel Heily 8879d40262 Fix SDL2 build in CI
The repository was not checked out with submodules


Former-commit-id: fe10ba720aa617cf44ae0769c0ced2997ee4289c
Former-commit-id: bb38b3870022d3cecfc9f1b8fe0512aba6dacc18
2020-05-12 07:51:20 +03:00
Michel Heily 10bed1087a Add analogue stick support for controllers in SDL2
Former-commit-id: b3ccff53ded59930a0fe997f1bbbf83fd5e356d8
Former-commit-id: c3c286d1fccf6d9fc5478cd9f6b13d6a7d670b4b
2020-05-11 20:26:26 +03:00
Tibor Nagy 59111ee062 Implement controller support for the SDL2 frontend
Former-commit-id: 60c49c399631cda7ff069e47718544ffdc93f9b8
Former-commit-id: abe52243473054ba8042a5874cefcdcfa504974a
2020-05-11 20:26:11 +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 84cb8c1808 Update gba-suite [still failing it]
Former-commit-id: db47195b32501bb946533d5f69d28d6ad591cd34
Former-commit-id: 0739eeaf35e993a931ea4d1155d48e85c3a23aa8
2020-05-09 18:55:24 +03:00
Tibor Nagy b2928de614 Use positional keyboard mapping instead of symbolic in the SDL2 frontend
Former-commit-id: 778b79f4afd5d290399e518f9b1a45470c5ad3a9
Former-commit-id: 58b2e0dd75acbe01fe0f4e73c0fa73af8caa88c2
2020-05-04 21:23:33 +03:00
Michel Heily 27a7cb14cf Prettify sdl2 main loop
Former-commit-id: dc925873f8a27bc8f50392659fad3cb07adde82e
Former-commit-id: 50ca19536687bd058c906168b28a86a95c6a42d5
2020-05-01 18:36:41 +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 a56f515563 sdl2 UI improvements, Auto download Normmatt BIOS
Former-commit-id: 9a8bb7f68ba7638e758b01cef17654b6057b1db3
Former-commit-id: 83dc923063d75a167662474446f9fa7eb0ee836b
2020-05-01 17:56:26 +03:00
Michel Heily 1cac88d73a Fix windows CI Build
Former-commit-id: 4c4dab316830ab044cd1dcbdedd55f4b6d460bdf
Former-commit-id: 7fcefc37e9236e908d1f34d62240a5c8464e7636
2020-04-30 20:48:11 +03:00
Michel Heily 7df9b8f795 Add caching for cargo files in CI
Former-commit-id: 04839f9f3f387c7d14391e0a8440eda42ed960e2
Former-commit-id: 56de0ffa4bbca27c3a125bcb78d0195c42068f7f
2020-04-30 20:39:06 +03:00
Michel Heily 519eba45fe Fix CI build and Linux build
Former-commit-id: 8d87f1d652def999b4a53d5cf8b9e4b02412a212
Former-commit-id: f2f31459a6b352f1e920715d555a745d80850e27
2020-04-30 20:34:40 +03:00
MishMish b905e5b791 Add build workflow for windows.
Also, add some badges :P


Former-commit-id: 697095b9f1d5055205f4a4c5e1c880c4c6581faa
Former-commit-id: 6a32c4caea7e7460058ecf46ac12ddedba70b1ff
2020-04-30 20:10:53 +03:00
Michel Heily fc988ba5b5 Add SDL2 binaries and use them when building locally
Former-commit-id: f51fad54302b9a0af416cfccdb318fede4384b6a
Former-commit-id: e8362f4552c6eab911751b7900bca0910eff1dd4
2020-04-30 19:52:34 +03:00
Michel Heily 88dcb83d77 Fix links in web demo
Former-commit-id: ec561f34367eb9eaec9e00805513ff60c200c64b
2020-04-30 18:52:08 +03:00
Michel Heily 64245211d8 Migrate to peaceiris/actions-gh-pages
Former-commit-id: 2dd84ee6791659fe0320cd3f49335dc71ae5ad57
2020-04-30 18:40:47 +03:00
Michel Heily f7719d4183 Add favicon to wasm app
Former-commit-id: 54c3133e61b3c9edbe9e5ffb878ba232734f8326
2020-04-30 09:59:13 +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 ecd916cae3 Run cargo-update
Former-commit-id: 83a3b34a70a7c17955c771d2ac7a83580b583571
2020-04-30 08:41:46 +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 d8d9fc0651 Fix crash with JNI bindings during audio buffer overrun
Former-commit-id: 0bb39e057c5aa81c5f491314125a8853b1f65ab0
2020-04-19 22:24:23 +03:00
Michel Heily 90032373a8 Wasm improvments
Former-commit-id: f51fc18327f6adb0011ff2aff2787d513fb6aa37
2020-04-15 15:50:56 +03:00
Michel Heily 0d8a5467e0 Fix deploy.yml
Former-commit-id: e51b52c427481dcc670cc68e25759103c2ae3455
2020-04-13 23:49:15 +03:00
Michel Heily 5dde0f0924 Add github deploy workflow
Former-commit-id: a3245f3f6ec28b577c1ad727e20e706575f8b7a9
2020-04-13 23:39:41 +03:00
Michel Heily 15a1947167 Run cargo-update
Former-commit-id: a97b84a65c9302acd2ab8bfe47576005f7986163
2020-04-13 22:18:57 +03:00
Michel Heily 20a675dbb0 web: Add logo image
Former-commit-id: b7c5404a7e0b8db8c652b1b2f4bbaf12287860af
2020-04-13 22:18:57 +03:00
Michel Heily db04bdf341 Remove ctrlc dependency
Former-commit-id: b78552cbbdbdce140861406659678af2da4719b0
2020-04-13 22:18:56 +03:00
MishMish ab37609fcb Update README.md
Add a link to the GitHub pages demo

Former-commit-id: 4e04aca3d7cba050735cf40b8123aede9d7b8ee4
2020-04-13 19:48:59 +03:00
Michel Heily ac43292051 Add rustboyadvance-wasm
Former-commit-id: 04a1ad2f382055d46b943cb0e4e467d925d99298
2020-04-13 17:55:39 +03:00
Michel Heily 1e9cf89cb1 Add simple fps benchmark
Former-commit-id: d4bb368fa0b5ab98819aa509f799e96a4da58308
2020-04-13 00:34:50 +03:00
sapir 519f4d6bb4 Ignore .logs dir
Former-commit-id: f14aa0e73fff5864a68e0f2c706f8fad03b19889
2020-04-13 00:24:06 +03:00