GithubHelp home page GithubHelp logo

devkitpro / libgba Goto Github PK

View Code? Open in Web Editor NEW
184.0 13.0 25.0 203 KB

C Library for Nintendo GBA

Home Page: http://devkitpro.org/viewforum.php?f=5

License: Other

Makefile 1.08% C 92.38% Assembly 6.54%

libgba's Issues

Registers not marked as volatile

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.

Sound channel 3 is referred to as Triangle channel, but it isn't

Triangle Channel Control Register

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.

Game Boy File System??

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?

WStrict-Prototypes compilation warnings

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.