Assembly And Other Low-Level Stuff


plfx

Still Fresh
Joined
Oct 4, 2010
Messages
26
Suppose I wanted to write a pure assembly program. Does anyone know the particulars of how to, say, access the GPU? The joystick? Audio? I don't know the particulars of ARM architecture.

Are the GPU and such memory-mapped? Anyone know the addresses of the crucial devices?

If they aren't memory-mapped, does someone care to say a few words on how the ARM gets at them?
 
It's all mostly the same as doing it in C, you'll just spend much more time debugging it. Yes most hardware is memory mapped, but it's not in your address space by default, so you'll have to do some system calls. 3D hardware is accessible directly when mapped, but nobody used it this way AFAIK (OpenGL ES is the normal way, you can also call it from asm).

In general you don't really want to code everything in asm (unless it's some demo/proof of concept/whatever), in which case I would still suggest prototyping everything in C before writing asm.
 
Is there a datasheet somewhere that has the addresses and system calls? Even the Pollux datasheet doesn't seem to tell anything about its internals.
 
The register manual is right here on this forum:
http://www.gp32x.de/board/index.php?/topic/52886-some-technical-questions-about-the-wiz-ive-got-my-console-today-d/page__view__findpost__p__837609

The syscalls are standard Linux stuff, you'll be most interested in open and mmap.
For some sample code see libcastor:
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,19,13
 
Last edited by a moderator:
Excellent. This is exactly what I needed. Thanks.
 
Back
Top