Hack The Hackaday Demoscene From Your Own Home

We are just two weeks away from the Hackaday | Belgrade conference, and tickets have completely sold out. That means you can’t get your hands on one of these sweet hardware badges, but you can still take home some prizes for pulling off a gnarly hack with the badge firmware.

What we’re talking about is the Hackaday Belgrade Badge Demoscene – which includes a surrogate presenter program for anyone who wants to send in their own code for the device. You have two weeks to work on and submit your code — and we’ve made it really easy for anyone who has a working knowledge of C.

The day of the conference we will download all entries, and have a surrogate at the conference load it onto their badge and present it on your behalf. There is a separate pool of prizes for online entries, so hackers not at the con will win. And of course we’ll be celebrating the awesome demos with some posts on the front page.

No Hardware Needed

Badge emulator scrolling the word "Hackaday"
Badge emulator scrolling the word “Hackaday”

Hack in C for Abstracted Bliss or Be Hardcore:

You can use the emulator shown here to write your code for this badge. It comes with a set of basic functions that abstracts away the low-level hardware functions, and launches a demo window on your computer to test out your code. Check out this barebones C framework to get started.

For those that want more control, we have published the official assembly code that the badges will ship with (including a user manual). We’ll be squashing bugs right up to the day of the con). You can alter and compile this code yourself, or just start from scratch using the design spec if you prefer to travel the hardcore bit-monkey path.

Either way, you have an 8×16 display and 4 buttons to work with. Exercise your creativity and amaze us by doing a lot on a rather modest canvas. That’s what demoscene is all about.

How to Enter

Entry is easy, just start a project on Hackaday.io and submit it to the Belgrade Badge Demoscene contest using the “Submit Project To…” menu on your project page. You need to upload .C and .H files, or a precompiled .HEX to the file hosting part of your project page by Saturday, April 9th.

That’s the extent of the requirements. But it would be super fun if you recorded the software emulator playing your demo for all to see. The easiest way to do this is to record a video of your computer screen using your smartphone. Good luck to all!

21 thoughts on “Hack The Hackaday Demoscene From Your Own Home

  1. How much memory does the badge have? The emulator doesn’t seem to check for that… Also, is there any way to get a random number on it without it repeating every time? Is there some kind of list of available functions? And are we allowed to enter several times, or just once?

    Oh, and the only entry so far doesn’t seem to be related to the contest at all.

    PS: “Record your screen using your smartphone”. Seriously? Just use some kind of screen recorder. SimpleScreenRecorder works pretty well.

    1. Hi Kamnxt,

      You have a lot of good questions and I don’t have specific answers for you. The badge uses the PIC18F25K50 which has 2k of RAM. It looks like we’ll be using a bootloader that leaves about 24k of flash left over for your program. I’m not sure how to make the emulator check on this. Any suggestions?

      You may enter more than once, sounds good to me!

      PS- yeah, I figured people that know how to record their desktop will just do that.

      1. Perhaps add a size checking utility that compiles it and checks the size of the binary could work? That would probably lead to people optimizing to use all the memory, which could cause a bit of a problem if the bootloader gets a couple of bytes larger.

        The people who’ll try to squeeze out every single byte will probably write their own bootloaders though, so I’m not sure if that really is a problem…

        1. It would be awesome if people push this so far that it becomes an issue.

          I have been working with the prototype badge to set all this up. The production badge has a different pinout. Once I have updated and test (I don’t have a new badge on hand so there’s the rub) I will make that repo known.

          It is an MPLABX project, which is a free IDE for PIC. So anyone wishing to push the boundaries should be able to use that to precompile their demos and check that against size and memory.

          Also, that single entry was just Ivan testing to make sure the contest page was working before making it public. It’ll be removed soon.

  2. It would be nice if there was an option to just get the badges. It’s a challenge for me to travel, across the Atlantic is out of the question. They always look so cool and seem to be fun to play with.

  3. I’ve opened two pull requests for the emulator. One adds a EMULATOR #define (so you can have testing code that only runs in the emulator) and one adds support for rotating the emulator screen (so you can have a landscape mode).

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.