The 2022 Supercon Badge Is A Handheld Trip Through Computing History – Hackaday

Posted: October 13, 2022 at 1:27 pm

Over the last several years, theres been a trend towards designing ever more complex and powerful electronic event badges. Color displays, sensors, WiFi, USB, Bluetooth you name it, and theres probably a con badge out there that has packed it in. Even our own 2019 Supercon broke new ground with the inclusion of a Lattice LFE5U-45F FPGA running a RISC-V core. Admittedly, observing this unofficial arms race has been fascinating. But as we all know, a hacker isnt defined by the tools at their disposal, but rather the skill and imagination with which they wield them.

So this year, weve taken a slightly different approach. Rather than try and cram the badge with even more state of the art hardware than we did in 2019, weve decided to go back to the well. The 2022 Supercon badge is a lesson in what it means to truly control a piece of hardware, to know what each bit of memory is doing, and why. Make no mistake, its going to be a challenge. In fact, wed wager most of the people who get their hands on the badge come November 4th will have never worked on anything quite like it before. Folks are going to get pulled out of their comfort zones, but of course, thats the whole idea.

Those well versed in the history of desktop computing will likely find the front of this years Supercon badge strangely reminiscent. Festooned with buttons and LEDs, its designed to resemble the front panel of early microcomputers such as the Altair 8800 and the IMSAI 8080 made famous in War Games.

But the resemblance is more than just skin deep. The badge doesnt just look like the front panel of an early microprocessor, it actually is. Well, a simulated one, at least. While the PIC24FJ256GA704 on the back of the badge is technically running the show, the user interacts with a virtual 4-bit processor designed by the legendary Voja Antonic.

Programs can be entered into the computer, bit-by-bit, using the row of tactile buttons on the front of the badge. Each 12-bit sequence, made up of an opcode and one or two operands, gets deposited into the memory address indicated by the program counter LEDs. If you make a mistake (and you will), you can step back and forth through the program counter to review and correct the instructions given to the CPU.

To help you out, the 31 instructions accepted by the badges 4-bit CPU are listed on the backside of the board. In addition, once youve entered in the binary opcode, a LED will illuminate next to the appropriate mnemonic on the front of the badge. While the silkscreen notes cant compare to the exceptional documentation Voja has put together, at least youll always have a quick reference.

Programming is also made easier by the fact that all of the opcodes are between 4 and 8 bits in length. While a machine like the Altair may have required you to deposit as many as three binary sequences per instruction, the shorter opcodes mean theres always enough space left over to enter the required operands simultaneously.

True to the early computers that the badge is trying to emulate, theres not much in the way of onboard hardware. In isolation, all youve got for input are the physical buttons on the front of the badge, and output is limited to what you can show using the 816 LED array which provides a window into the CPUs memory. A close examination of the documentation does reveal theres a pseudorandom number generator you can poke around at, but dont expect any more luxuries than that.

But dont worry, we wouldnt leave you without some room to grow. As you might expect from a modern electronic event badge, theres a 4-pin Simple Add-On (SAO) header which lets you plug in various little gadgets and do-dads. The standard I2C data and clock signals have been replaced with simple UART in this case, but that shouldnt break compatibility with most add-ons which do little more than pull power from the port anyway.

Theres also a dedicated I/O connector in the form of a 12-pin standard pitch header along the top-right edge of the badge. This header shares the UART TX and RX pins with the SAO connector, but is capable of quite a bit more. For one thing, it serves as the badges In Circuit Serial Programmer (ICSP) interface should you want or need to reprogram it. But more interestingly, it offers four input and four output pins that can be accessed in your programs by reading and writing to the appropriate memory registers.

Badge hacking is a big part of the Supercon experience, and over the three day event, we hope to see all kinds of interesting software and hardware developed for this faux-retro computer. Given the relatively short amount of time youll have, teamwork is strongly encouraged dont be shy to ask other attendees what theyre working on to see if you can lend a hand.

Of course, collaborative development is a bit difficult if the only way to share your code is by scribbling out binary on pieces of paper. While youll have our eternal respect (and perhaps even earn a special award) if you manage to accomplish something substantial on your badge using nothing but the integrated peripherals, were not so evil that wed make you do it that way.

As such, the UART pins on the expansion port can be used to upload a program from the badge to your computer by way of a standard USB-to-serial adapter. With the adapter already connected, you simply need to put the badge into DIR (Direct) mode and press the SAVE button.

This will cause the badge to immediately start spitting out data, so you should already have your receiving side setup and ready to go before pressing the button. On a *nix machine that would look something like this:

If you press the LOAD button, the process works in reverse. A hex file sent from your computer will be loaded into the badges memory where it can be immediately executed. In this way, a program that was entered by hand into one badge can be quickly backed-up and distributed to others. It also means that if you formatted it appropriately, you could write the code on your computer and simply send it over to the badge for execution

Incidentally, while the badge can only have one program loaded at a time, up to 15 can be stored to the onboard flash. This is accomplished by first holding ALT and using the OPERAND Y buttons to cycle through the available storage slots, and then with ALT still held, pressing either SAVE or LOAD. With this technique you can keep your own personal programs safely stored away while you experiment with whatever hot new hex is making the rounds.

Now, the best way to get one is to buy yourself a ticket and come join us at Supercon. But if you just cant make it, we understand. Well be releasing the Gerbers, a full badge emulator, and the code for the PIC soon, so stay tuned.

Go here to see the original:

The 2022 Supercon Badge Is A Handheld Trip Through Computing History - Hackaday

Related Posts