81: Two small tweaks to crt0.s r=Lokathor a=ketsuban
* The use of r3 in the block which copies the .data section into IWRAM is unnecessary.
* The return label in the IRQ handler doesn't need to be global.
Co-authored-by: Thomas Winwood <twwinwood@gmail.com>
* The use of r3 in the block which copies the .data section into IWRAM is unnecessary.
* The return label in the IRQ handler doesn't need to be global.
74: Update IME to be `u16` sized, avoid newtype_enum r=Lokathor a=Lokathor
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.
Co-authored-by: Lokathor <zefria@gmail.com>
The hello_magic example does not depend on the gba crate, but the crt0
now assumes that the symbol for the interrupt handler which is defined
in it will be present, as interrupts ought to be handled in some
manner. If neither the symbol or the crate are added then the linker
will give an error, but if anything in the gba crate is used also then
the symbol will be brought in, so defining it manually also would
cause a duplicate definition error. In the future something like
cortex-m-rt's `exception!` macro could be used to better document how
to define this symbol (all their examples depend on at least one
symbol from their runtime library, so they don't have this problem).
* mGBA output wasn't resetting its length used
* admonish people to stay updated
* IWRAM fix
* version bump
* fix to work with latest nightly.
* don't know what this is or why we have it
* Delete the builtins module
The `__clzsi2` function is now part of the compiler-builtins crate, so it's part of all of Rust.
* ??
* mgba 0.7 came out!