I'm impressed first year students can write such clean assembly. Also that they can write both driver code and a higher level rasterizer.
Bare Metal Assembly Raspberry Pi Starfox Tribute
11–20 of 37 posts
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#12Great work, it's always nice to see more Asm projects! "Bare Metal" - does this mean the RPi can run blob-free? A possible improvement I suggest is to gfx_draw_line in gfx.s - using a fixed-point algorithm could be simpler and faster: http://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams-...
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#13Great work, it's always nice to see more Asm projects! "Bare Metal" - does this mean the RPi can run blob-free? A possible improvement I suggest is to gfx_draw_line in gfx.s - using a fixed-point algorithm could be simpler and faster: http://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams-...
Even though the game does not need an operating system, it still requires bootcode.bin and start.elf.
The fixed point version of Bresenham's algorithm looks really nice on x86, but it uses integer division, so implementing it on an ARMv6 (no div instruction) would be quite painful.
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#14https://github.com/ICTeam28/PiEmu
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.
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#15Looks like there's a tiny little emulator for this, too. https://github.com/ICTeam28/PiEmu 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.
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#16Nice work - love it (might play it at some point to see if I'm any good).
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#17Great work, it's always nice to see more Asm projects! "Bare Metal" - does this mean the RPi can run blob-free? A possible improvement I suggest is to gfx_draw_line in gfx.s - using a fixed-point algorithm could be simpler and faster: http://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams-...
Thanks for the feedback! Even though the game does not need an operating system, it still requires bootcode.bin and start.elf. The fixed point version of Bresenham's algorithm looks really nice on x86, but it uses integer division, so implementing it on an ARMv6 (no div instruction) would be quite painful.
Place floppy on drive, press Ctrl+Amiga+Amiga and up you go.
Congratulations.
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#18This is extremely impressive - well done all! 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). [0] https://github.com/xu-ji/assembly_chess/
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#19I'm impressed first year students can write such clean assembly. Also that they can write both driver code and a higher level rasterizer.
When I was 16, I enjoyed using higher level languages but the real fun was doing Assembly.
Kids these days real need to get some of this exploratory desire back.
Re: Bare Metal Assembly Raspberry Pi Starfox Tribute
#20A 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).
The main issue is of course portability, but I had lots of fun with Assembly during that timeframe.
Do you know how RISC OS fares in the Raspberry PI?