Live data from Hacker News

Bare Metal Assembly Raspberry Pi Starfox Tribute

youtube.com

21–30 of 37 posts

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#21

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.

Hello,

I have added a more informative README and fixed a couple of issues that prevented the game from running. In case you need any more help, could we move this discussion to GitHub issues?

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#22

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?

Hey, congrats on this project.

Mainly I was waiting to reboot into Linux to try to build this.

You may want to add some instructions for building the game/emulator.

For the emulator, I'd never used cmake before (sort of) so I didn't know to run cmake .

Then the error about SDL (needed libsdl-dev package or similar)

For the game, I'm currently downloading a Linaro ARM toolchain on a slow connection but I don't anticipate any further issues.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#23
post #21

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.

Hello, I have added a more informative README and fixed a couple of issues that prevented the game from running. In case you need any more help, could we move this discussion to GitHub issues?

Just replied to someone else before you posted this. Thanks!

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#24

Earlier quoted context omitted.

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

Hey, congrats on this project. Mainly I was waiting to reboot into Linux to try to build this. You may want to add some instructions for building the game/emulator. For the emulator, I'd never used cmake before (sort of) so I didn't know to run cmake . Then the error about SDL (needed libsdl-dev package or similar) For the game, I'm currently downloading a Linaro ARM toolchain on a slow connection but I don't anticip…

Thanks! It currently only works on Linux, so depending on your distro, you need to install the SDL package. If you're using Debian or Ubuntu (or derivatives), it will be sufficient to install the libsdl-dev and cmake packages using apt-get. Then create a build directory and use CMake to generate makefiles then build the emulator with make.

To set up the build environment, follow these instructions:

   cd /dir/to/PiEmu/
   mkdir build
   cd build
   cmake ..
   make
These instructions are also on the README.md for PiEmu in-case anyone else is wondering how to get it building.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#25
post #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.

Indeed, a lot of demosceners are in this age range too, and look what they can do...

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#26
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.

That reminds me of good old days of 6502 assembly and implementing bitshift based multiplication and division yourself.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#27
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.

In other words, this is comparable to booting a PC with a BIOS, and then the rest of the code that runs is yours. That's still pretty awesome.

Consider participating in the demoscene, this is the sort of skills that would be great for that.

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#28

Earlier quoted context omitted.

Hey, congrats on this project. Mainly I was waiting to reboot into Linux to try to build this. You may want to add some instructions for building the game/emulator. For the emulator, I'd never used cmake before (sort of) so I didn't know to run cmake . Then the error about SDL (needed libsdl-dev package or similar) For the game, I'm currently downloading a Linaro ARM toolchain on a slow connection but I don't anticip…

Thanks! It currently only works on Linux, so depending on your distro, you need to install the SDL package. If you're using Debian or Ubuntu (or derivatives), it will be sufficient to install the libsdl-dev and cmake packages using apt-get. Then create a build directory and use CMake to generate makefiles then build the emulator with make. To set up the build environment, follow these instructions: cd /dir/to/PiEmu/…

To add to this, the latest "official" Raspberry Pi toolchain is at https://github.com/raspberrypi/tools. You probably want the one without hf in the name.

serialvelocity - am I correct in assuming you're building for softfp?

Re: Bare Metal Assembly Raspberry Pi Starfox Tribute

#29

Earlier quoted context omitted.

Hey, congrats on this project. Mainly I was waiting to reboot into Linux to try to build this. You may want to add some instructions for building the game/emulator. For the emulator, I'd never used cmake before (sort of) so I didn't know to run cmake . Then the error about SDL (needed libsdl-dev package or similar) For the game, I'm currently downloading a Linaro ARM toolchain on a slow connection but I don't anticip…

Thanks! It currently only works on Linux, so depending on your distro, you need to install the SDL package. If you're using Debian or Ubuntu (or derivatives), it will be sufficient to install the libsdl-dev and cmake packages using apt-get. Then create a build directory and use CMake to generate makefiles then build the emulator with make. To set up the build environment, follow these instructions: cd /dir/to/PiEmu/…

I sit corrected. I'm currently having lots of trouble building the game because my cross compiler doesn't match the name of yours in the makefiles.

> make[2]: arm-linux-gnueabi-as: Command not found

Post reply on HN