Michel Heily
eda3d3e3e7
feat(flash): Implement Flash save type
...
Pokemon games now boot and save.
Fixes #7
Former-commit-id: c60cda3352cc5117c88d4aec272c4e9d2662d21d
2020-01-26 02:18:27 +02:00
Michel Heily
23a6bf1637
feat(sram): Implement SRAM save type
...
Tested to work on Kirby.
Fixes #8
Former-commit-id: 90aa60b901a4ef790592c34c2350a7349939d612
2020-01-26 02:06:44 +02:00
Michel Heily
c20ac9cdf8
core: cartridge: Try to detect and print the backup type
...
In preparation for backup impl
Former-commit-id: 75efbbaea82ba30899787b46b8eaca834622493c
2020-01-17 16:11:43 +02:00
Michel Heily
4cb7abee52
cartridge: Refactor to deal with out of bounds read
...
Former-commit-id: ab0a4368f7e5120cf7059fb34687a5a9c1ea21cd
2020-01-17 01:39:25 +02:00
Michel Heily
8755013ec6
tests: Wrap gba-suite by jsmolka
...
Former-commit-id: 511f08470520c712b3b5a5bd9e33ac590939c315
2020-01-17 01:33:21 +02:00
Michel Heily
f4460b2740
feat/savestates: Implement save/load state API for GameBoyAdvance
...
Using serde & bincode encoding
Former-commit-id: f5e4c599497f6bdf3096fa99f8b2d6ce89278ef7
2020-01-16 20:18:32 +02:00
Michel Heily
71a4837d25
core: Reduce overhead in Bus interface
...
Former-commit-id: 1b3b00825d0b6aec0223445a1f00408397efca56
2020-01-11 16:12:05 +02:00
Michel Heily
b00fbfb38c
gpu: refactor: Big refactor preparations
...
1) Decouple SysBus from Gpu
2) Split Gpu rendering function into separate modules
3) Cleanup
Former-commit-id: 0435ad1c9c1de72ed50769fabfea7c5f33b670e0
2019-12-29 23:44:34 +02:00
Michel Heily
04d2edfc01
Refactor "backend" concept
...
See plat/sdl2
Former-commit-id: 5f7c9625467003d5b73307959095eb5365db523e
2019-12-20 15:11:26 +02:00
Michel Heily
326bb06e82
Move rom file loading logic to Cartridge
...
Former-commit-id: 29045310d380657819529333b5231a98be5fa8c1
2019-12-20 15:11:26 +02:00
Michel Heily
7cc1a50d12
Support zip files and add --no-framerate-limit
...
Former-commit-id: 62a7122fb0b3e832eeb3cbf347a0966e4cd32d50
2019-09-11 21:26:40 +03:00
Michel Heily
d86cc87c79
Add WAITCNT, and refactor cycle calculation
...
Former-commit-id: e1ee5c9ce1f1db549fddd80907467da51e63b676
2019-08-07 09:50:33 +03:00
Michel Heily
c7dd713605
The big ioregs refactoring.
...
This commit refactors the ioregs:
* Use bitfield crate to implement the GPU ioregs.
* IoRegs are stored in their own variables bindings (i.e, Gpu related ioregs are now fields of the Gpu struct)
- This optimize performance quiet alot from my testings - since every scanline was accessing deseralizing ioregs from sysbus. (Getting constant 59fps now)
* For now, comment out DMA model
Also, cleaned the code up to eliminate rustc warnings.
Former-commit-id: 9077695c446ebd1a71783acfdd9819245aa02d7a
2019-08-03 00:24:15 +03:00
Michel Heily
53115a9a58
Refactor core functionality into a separate module
...
Former-commit-id: 5d55b9eb0b63ed7c61465b4e814782165caa5002
2019-07-20 16:46:00 +03:00