Commit graph

702 commits

Author SHA1 Message Date
Lokathor 5c5081ddc4
fix a critical typo 2022-01-10 15:40:11 -07:00
ShinySaana 456e4f4fc0
Include iwram section in linker script (#159) 2022-01-01 22:00:34 -07:00
Matt L 093146fd8a
Using asm and global_asm from core::arch module. (#157)
* Using asm and global_asm from core::arch module.

* Commenting out some broken code with higher registers.
2022-01-01 21:54:46 -07:00
ShinySaana 42e2836507
Use half-word write for WAITCNT access (#160)
Fixes Stub I/O warning in mGBA.
2022-01-01 12:40:21 -07:00
Lokathor 7471c0016d (cargo-release) version 0.5.2 2021-11-21 13:04:58 -07:00
Lokathor 28f81b51e4 JYN said this should work. 2021-11-21 13:04:45 -07:00
Lokathor 60ab38458c (cargo-release) version 0.5.1 2021-11-21 12:29:45 -07:00
Lokathor 81e557162c this should fix the docs.rs build issues. 2021-11-21 12:29:32 -07:00
Lokathor 37c4e82d71 (cargo-release) version 0.5.0 2021-11-11 20:22:32 -07:00
Lokathor b93589b8ac docs fix. 2021-11-11 20:07:22 -07:00
Lokathor 6c8213fed8
Update README.md 2021-07-09 10:27:02 -06:00
Lokathor 7df5f4737f
should work now (Nightly e4ca1662f 2021-05-22) (#149) 2021-05-23 19:07:26 -06:00
Alissa Rao 144dada16b
Added sound master control registers to mmio_addresses. (#144)
* Added sound master control registers to mmio_addresses.

* Merge FifioEnable into SoundStatus, reduce struct sizes.

* Rename SOUND_CHANNEL_CTL to something a bit simpler.
2021-05-23 16:41:11 -06:00
Hpmason ec0ca7d804
Add RNG (#142)
* Add random

* Add GBA random example

* switch macro_export to pub(crate)

* rename u32_to_u32 macro

* remove useless pub use

* Comment out extra u32 to u16 macro

* Comment random_color example

* formatting

* More commenting

* Add/fix some docs

* Fix some doc links

* Remove use of u64
- Halve bit widths where u64 was used

* Add Gen32::next_color()
2021-05-17 12:22:51 -06:00
Alissa Rao 2956493be9
Sets an initial WAITCNT in rsrt0.S (#147) 2021-05-17 12:00:05 -06:00
Alissa Rao 093edc703f
Bitfield fixes (#146)
* Fix incorrect bit for `chained_counting` field in TimerControl.

* Fixes incorrect bitfield manipulation math in mmio_types.
2021-05-17 11:50:42 -06:00
Lokathor 127f31ecf2 fix macros. 2021-05-01 19:45:55 -06:00
Lokathor 6a709689ed this is the commit that gave the ICE. 2021-05-01 18:38:52 -06:00
Lokathor 8f4847306d add rust toolchain file, Closes https://github.com/rust-console/gba/issues/139 2021-05-01 18:38:34 -06:00
Lokathor bff42750eb
Update README.md 2021-04-19 11:30:20 -06:00
Lokathor b071b8dbdf dumb. 2021-04-19 11:21:37 -06:00
Lokathor d0dc0306ee try just using cargo-publish on 0.4.0 2021-04-19 11:21:06 -06:00
Lokathor 8b1d2d2220 (cargo-release) start next development iteration 0.4.3-alpha.0 2021-04-19 11:20:10 -06:00
Lokathor 37e54e00e4 (cargo-release) version 0.4.2 2021-04-19 11:20:09 -06:00
Lokathor 43b231d5c9 (cargo-release) start next development iteration 0.4.2-alpha.0 2021-04-19 10:56:20 -06:00
Lokathor 27f95bb2a3 (cargo-release) version 0.4.1 2021-04-19 10:56:19 -06:00
Lokathor 9e8349c82e
palettes and oam (#137) 2021-04-16 15:01:38 -06:00
Lokathor d93facbaf4 fix wrapping math errors. Part of https://github.com/rust-console/gba/issues/129 2021-04-11 18:00:18 -06:00
Lokathor e595270bfe fix irq example, part of https://github.com/rust-console/gba/issues/129 2021-04-11 17:41:08 -06:00
Lokathor 0d21b4c899 add an example using the keypad. 2021-04-10 09:19:25 -06:00
Lokathor 6e6f4be709 fix color constructor, part of https://github.com/rust-console/gba/issues/129 2021-04-10 09:13:05 -06:00
Lokathor 12823a8b58 (cargo-release) start next development iteration 0.4.1-alpha.0 2021-04-09 00:13:58 -06:00
Lokathor d0d802d231 (cargo-release) version 0.4.0 2021-04-09 00:13:58 -06:00
Lokathor 703c837a21 Closes https://github.com/rust-console/gba/issues/86 2021-04-09 00:08:00 -06:00
Lokathor 9bca85264f Closes https://github.com/rust-console/gba/issues/70 2021-04-09 00:06:52 -06:00
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
Lokathor 8efef6ebc5
No more old book stuff (#123)
* stop with the book, we should focus on the crate.

* Update README.md

* Update README.md
2021-04-05 18:11:42 -06:00
Lokathor 99f80d2b9a update to release voladdress-0.4 2021-03-31 20:53:47 -06:00
Lokathor 3bcd64f28c
update to voladdress-0.4 (#120)
* update to voladdress-0.4 (via git)

* restore the imports rust-analyzer told me to break.
2021-03-31 20:22:42 -06:00
Lokathor 7b2a067aad
move to a tri-license (adds Zlib and MIT options) (#116) 2021-03-01 08:36:39 -07:00
Joshua Barretto c375b5ac7a
Added .iwram section (#118)
* Added .iwram section

* Use the same section for .data and .text_iwram
2021-02-28 12:09:49 -07:00
Alissa Rao 40ced658f3
Properly finish documentation for the save module. (#119) 2021-02-27 10:05:39 -07:00
Lokathor a1e1b4d320
prevent building the book
we might restore this later, but for now, no book.
2021-02-23 00:16:37 -07:00
Alissa Rao 79099d807b
Adds support for reading/writing to save media. (#109)
* Write some of the basic infrastructure for SRAM support.

* Implement battery-backed SRAM.

* Implement non-Atmel Flash chips.

* Implement support for Atmel Flash SRAM chips.

* Implement EEPROM support, various refactorings to SRAM system.

* Replace Save API with one based more cleanly on the flash chip API.

* Run rustfmt on new save media code.

* Improve test_savegame and fix remaining bugs caught by the changes.

* Proofreading on comments/documentation for save module.

* Fix addresses for read/verify routines in save::flash.

* Rebase save_api onto current master.
2021-02-22 23:19:37 -07: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
Neil P 5114f89448
Simplify build process (#106)
* Simplify build process

- Remove dependencies on DevkitPro
- Use linker similarly to min-gba
- Update cargo.toml so that dev builds will build
- Update cargo config so that std builds can run without the linker for
  testing purposes
- Update CI flow to remove xbuild dependency

* Add windows toolchain install

* Add windows section to toolchain install instructions
2021-02-20 11:49:40 -07:00
Neil P 263f7909de
Switch to Github Actions (#105)
- Remove travis ci config
- Add Github action for CI
2021-02-12 20:36:06 -07:00
Sp00ph 5a3bf4630d
Fix previous PR (#102)
* Add a `get_screen_block` function. This simplifies working with tiles as currently there is no easy way to manipulate single tiles using `SCREEN_BASE_BLOCKS`

* Fix import
2021-01-25 12:47:27 -07:00
Sp00ph 5ac6ebb1f7
Add a get_screen_block function. This simplifies working with tiles as currently there is no easy way to manipulate single tiles using SCREEN_BASE_BLOCKS (#101) 2021-01-25 11:54:33 -07:00