hmm, i just did a try making a gba program using the freepascal arm port, but it seems that direct memory access is not implemented. I have no idea how to write such a thing. e.g assign the address $4000000 to the var (pointer) REG_DISPCNT. Maybe i can use assembly for setting that value, but i feel like cheating that way....