devkitpro / libgba Goto Github PK
View Code? Open in Web Editor NEWC Library for Nintendo GBA
Home Page: http://devkitpro.org/viewforum.php?f=5
License: Other
C Library for Nintendo GBA
Home Page: http://devkitpro.org/viewforum.php?f=5
License: Other
Compiling with WStrict-Prototypes leads to all kinds of warnings due to parameterless function signatures/declarations in the include files not having "void" in the parameters.
This can be a problem because it prevents using WError with WStrict-Prototypes.
Line 298 in a7b03d6
Sound channel 3 is a programmable wave table, but is referred to in the header as a triangle channel.
Pinobatch says:
"It's because when I wrote the header that that header was based on, I had recent experience with the Nintendo Entertainment System and I started by using the wavetable channel to replicate the capability of the NES triangle channel until I realized that the GBA internal speaker's 800 Hz high pass characteristic wouldn't let the typical applications of the NES triangle wave through"
I don't know if this is being kept as a fun historical quirk, or if nobody's actually thought about it.
gba_video.h
#define REG_BG0HOFS *((u16 *)(REG_BASE + 0x10)) // BG 0 H Offset
#define REG_BG0VOFS *((u16 *)(REG_BASE + 0x12)) // BG 0 V Offset
#define REG_BG1HOFS *((u16 *)(REG_BASE + 0x14)) // BG 1 H Offset
#define REG_BG1VOFS *((u16 *)(REG_BASE + 0x16)) // BG 1 V Offset
#define REG_BG2HOFS *((u16 *)(REG_BASE + 0x18)) // BG 2 H Offset
#define REG_BG2VOFS *((u16 *)(REG_BASE + 0x1a)) // BG 2 V Offset
#define REG_BG3HOFS *((u16 *)(REG_BASE + 0x1c)) // BG 3 H Offset
#define REG_BG3VOFS *((u16 *)(REG_BASE + 0x1e)) // BG 3 V Offset
#define REG_BG2PA *((s16 *)(REG_BASE + 0x20))
#define REG_BG2PB *((s16 *)(REG_BASE + 0x22))
#define REG_BG2PC *((s16 *)(REG_BASE + 0x24))
#define REG_BG2PD *((s16 *)(REG_BASE + 0x26))
#define REG_BG2X *((s32 *)(REG_BASE + 0x28))
#define REG_BG2Y *((s32 *)(REG_BASE + 0x2c))
#define REG_BG3PA *((s16 *)(REG_BASE + 0x30))
#define REG_BG3PB *((s16 *)(REG_BASE + 0x32))
#define REG_BG3PC *((s16 *)(REG_BASE + 0x34))
#define REG_BG3PD *((s16 *)(REG_BASE + 0x36))
#define REG_BG3X *((s32 *)(REG_BASE + 0x38))
#define REG_BG3Y *((s32 *)(REG_BASE + 0x3c))
These registers should be volatile.
So one team put the tools need for this into gba-tools, but you didn't bother to add the libraries that makes the tool actually useful? You support other libraries/modules but you don't like gbfs?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.