Commit graph

20 commits

Author SHA1 Message Date
Lokathor fd3a308e8a
remove proc macro usage and finish out the mmio (#125)
* .

* more updates, much more to do soon.

* hello world works again.

* fix key interrupts.

* remove the old book

* don't forget timers.

* we can just use search, duh.

* cleanup

* more bios

* finished most mmio, finished bios.

* dump some old macros that shouldn't have been pub to begin with.

* Update README.md

* for now, just make this a u16

* timers

* fix hello_world

* timer fix

* docs on timers

* block resetting work ram for now.

* put preserves_flags on bios calls as appropriate

* add a code page 437 tile sheet.

* docs.

* sound :( it's all bad but we'll fix it in 0.5

* move most backup files back into the lib.

* CI might work now?

* fix up non-serial examples.

* oops, gotta check out the repo.

* readme.
2021-04-08 23:57:30 -06:00
Alissa Rao 8bfa1a228a
Adds support for NO$GBA's debugging API. (#108)
* Implement a debugging interface that allows the use of debugging on multiple emulators.

* Implement NO$GBA debugging interface.

* Run rustfmt on new debug code.

* Fix the debug module not compiling on non-ARM systems.

* Don't error (and just silently truncate) on messages that are too long.
2021-02-22 23:19:14 -07:00
Alissa Rao 2aa59bb341
Implement a sync API for working with global mutable state. (#107)
* Add IntelliJ workspace files to the .gitignore.

* Add a simple make_example script for Linux.

* Create a `sync` module with many GBA-specific sync utilties.

* Fix overflow error in debug mode in the hello_world crate.

* Fixes to DMA.

* Code cleanup for the sync module.

* Run rustfmt on new sync code.

* Fix up some names and documentation in the sync module.

* Add a few changes suggested by thomcc for the locks.

* Added needed compiler fences to `InitOnce::try_get`.
* Change the error in `RawMutex::raw_unlock` to better reflect the cause.

* Add a proper issue link to the __sync_synchronize hack.

* Disable interrupts during `InitOnce::try_get`.

* Fix some bad wording in the comments for `InitOnce::try_get`

* Use the new target in `cfg` checks to see if we're on GBA.

* Change registers used for transfer_align4_arm for the different target.

* Cleanup on sync_api changes for the target change.
2021-02-21 16:57:26 -07:00
Lokathor 0f031e6435 bitmap video explanation 2019-02-14 21:18:21 -07:00
Lokathor 3b688b907c Get all the code lined up 2019-02-14 19:39:34 -07:00
Lokathor 273a8bd676 commit the changes 2019-02-14 19:16:09 -07:00
Lokathor c360c2dce4 example updates 2019-02-13 01:47:12 -07:00
Lokathor b67bdc80a1 io registers lesson, +cargo fmt with lin length down to 100 2019-02-11 21:59:17 -07:00
Lokathor 72bbe412b6 clearer module organization 2018-12-26 23:13:10 -07:00
Lokathor 6271614335 backgrounds and OAM start 2018-12-26 20:19:53 -07:00
Lokathor d6a6301815 CLOSE to another release 2018-12-25 23:19:16 -07:00
Lokathor d2260fc117 Move Mode3/4/5 into gba::video::bitmap 2018-12-25 14:44:05 -07:00
Lokathor 7ab96c35f2 light cycle is also 100% safe now 2018-12-23 15:10:14 -07:00
Lokathor 35ed03cb44 cleanup, hello world runs 100% safe now 2018-12-23 14:45:38 -07:00
Lokathor b927a348bd sensible goals 2018-12-22 00:26:52 -07:00
Lokathor 4586d2d95f module organization 2018-12-20 18:08:54 -07:00
Lokathor 58d739dd9e fixed point and stuff 2018-12-17 17:00:22 -07:00
Lokathor 779770a187 cleanup and cleanup designations 2018-12-16 20:55:53 -07:00
Lokathor 51d3915dea static asserts 2018-12-15 20:35:57 -07:00
Lokathor 00e14960c6 ch 00: rewrite done 2018-12-10 01:48:06 -07:00
Renamed from examples/hello2.rs (Browse further)