Great work, it's always nice to see more Asm projects!<p>"Bare Metal" - does this mean the RPi can run blob-free?<p>A possible improvement I suggest is to gfx_draw_line in gfx.s - using a fixed-point algorithm could be simpler and faster: <a href="http://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams-algorithm/" rel="nofollow">http://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams-...</a>
This is extremely impressive - well done all!<p>There is a bare metal chess game [0] for the Pi that was presumably another teams entry for the same assignment (they are both from Imperial).<p>[0] <a href="https://github.com/xu-ji/assembly_chess/" rel="nofollow">https://github.com/xu-ji/assembly_chess/</a>
Wow that brings back memories of building games on a TRS-80 Model I in z80 assembly!<p>Good show, I've often felt low level was a dying art, perhaps I'm wrong and stuff like this will push people to learn what a register is and what "flags" are.. :-)
Very impressive. How things have changed - we did nothing quite so fun and practical in first year computing at Imperial back in 1995!
Plus, now I feel old :)
A welcome return to the Acorn/RISC OS days where "100% ARM assembler" was a back-of-the-box boast for many games and applications (Sibelius).
Oh wow. This is awesome.<p>And here I am sitting here, with little x86 asm and z80 asm knowledge, reversing windows binaries and messing with Pokémon arbitrary code execution exploits. (optimizing my payloads for the 8F/"ws m" exploit is fun though!)<p>Been meaning to learn ARM asm for some time, but haven't got around to it.
Looks like there's a tiny little emulator for this, too.<p><a href="https://github.com/ICTeam28/PiEmu" rel="nofollow">https://github.com/ICTeam28/PiEmu</a><p>I've got as far as installing the SDL headers (you're looking for SDL.h from SDL 1.2) and running cmake . but not much further.
I have to say, this assignment in general has been my favourite part of first year (my group extended our assembler to look enough like GNU as that we could assemble the output of GCC, so we could compile CSUD).<p>Nice work - love it (might play it at some point to see if I'm any good).
Looking at this project, I feel very very very dumb. I've been using computers for 2 decades and programming for 1 and I can't even imagine doing something like this!