1
0
Fork 0
mirror of https://github.com/italicsjenga/gba.git synced 2025-02-23 23:07:49 +11:00
Commit graph

17 commits

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

* 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
Lokathor
3bcd64f28c
update to voladdress-0.4 ()
* update to voladdress-0.4 (via git)

* restore the imports rust-analyzer told me to break.
2021-03-31 20:22:42 -06:00
Alissa Rao
2aa59bb341
Implement a sync API for working with global mutable state. ()
* 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
Nicola Papale
1696c66b1b
Use RFC 2873 asm syntax ()
The new syntax is way safer and more ergonomic. In fact, it renders
obsolete some of the warnings in the docs related to the use of `asm!`.
2020-06-14 01:22:59 -06:00
Lokathor
ac031627c8 Update IME to be u16 sized, avoid newtype_enum
newtype_enum makes an enum, but an enum can be UB if it's no a valid bit pattern. We should avoid having registers mapped to enum types.
2019-02-14 22:11:23 -07:00
Ian Pickering
0d654032bb Add module for interrupt request (IRQ) handling 2019-02-13 17:08:57 -08:00
Ian Pickering
dc2127b2ce Fix incorrect opcode of VBlankIntrWait BIOS function
It should be `swi 0x05` instead of `swi 0x04`.
2019-02-13 17:06:18 -08:00
Lokathor
8ff32b0304 Update bios module to just build on x86
the actual functions are all unimplemented!() but oh well
2019-01-02 22:43:52 -07:00
Lokathor
4c7ec468d0 Modules and newtypes, joy! 2018-12-29 20:17:48 -07:00
Lokathor
6466a53475 Move to the phantom_fields! proc-macro 2018-12-29 00:06:08 -07:00
Lokathor
d6a6301815 CLOSE to another release 2018-12-25 23:19:16 -07:00
Lokathor
08ff34ae43 make the BIOS test safe 2018-12-25 14:46:08 -07:00
Lokathor
4d27005150 fixed point stuff 2018-12-18 02:05:59 -07:00
Lokathor
71a2de023f all sorts of new bios 2018-12-16 20:55:02 -07:00
Lokathor
5408a11f54 bit/byte mixup 2018-12-16 15:22:27 -07:00
Lokathor
74d50b9218 typos 2018-12-16 15:20:07 -07:00
Lokathor
09b936262f more BIOS 2018-12-16 15:17:30 -07:00