Live data from Hacker News

Bare Metal Assembly Raspberry Pi Starfox Tribute

youtube.com

11–20 of 37 posts

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#12

Great 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-...

That depends on what you mean by "blob free"; this code doesn't use the GPU other than to setup the frame buffer. From then on it's software 3D.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#13

Great 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.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#15

Looks 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.

Hey, I'm part of the team who wrote this. What platform are you running on? and what errors are you getting?

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#16
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).

Nice work - love it (might play it at some point to see if I'm any good).

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#17
post #13

Great 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.

Like the good old Amiga days. :)

Place floppy on drive, press Ctrl+Amiga+Amiga and up you go.

Congratulations.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#18

This 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/

Yes, it looks like it - they would have completed the assignment last year.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#19

I'm impressed first year students can write such clean assembly. Also that they can write both driver code and a higher level rasterizer.

Why so? I was already looking at Assembly listing at the age of 12.

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

#20
post #10

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).

Not only Acorn/RISC OS, but all 8 and 16 bit home systems.

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?

Post reply on HN