Hackaday 10th Anniversary: Demoscenes and Blink(1)

There were two LA hackerspaces represented at our 10th anniversary party, and members from both of them were able to give a talk on the projects coming out of their labs. [Arko] from null space labs showed up with a few of his creations including CUBEX, his high altitude balloon payload and a demoscene board he’s been working on. [Tod] from Crashspace showed up with the rest of the Crash crew and helped out with the morning build-offs and labs.

A Demoscene Board

Demoscenes, for one reason or another, aren’t extremely popular in the US. In Europe, you can find teams working on programatically generated music videos year-round, coded for Commodore 64s, Amigas, even stranger computers, and x86 assembly. There’s an art to the whole thing, but for those of us on this side of the pond, there aren’t many venues to demonstrate impeccable graphics programming skill.

[Arko] wants to change this. He’s designed a demoscene board around a PIC micro with hardware graphics acceleration, USB OTG, VGA out at 640×480, and an audio out port. It’s meant to be a platform to create demos on, and already [Arko] has ported the famous Craft demo from [lft] to his platform. Edit: the Craft demo was playing on the older ATmega88 version of the board. The PIC board is a little more capable.

Being that there are so few Demo parties in the US, only building a board to play demos would be just a bit shortsighted. [Arko]‘s main reason for giving this talk was to tell everyone about the LayerOne Demoparty next year just a few miles from the Hackaday Hackaspace. It coincides with the LayerOne conference, and the board itself will soon be available for sale in the Hackaday store.

Blink(1) and How To Kickstarter

When it comes to electronics and tech Kickstarters, Blink(1) defines what it means to have a minimum viable product. It’s a USB plug, a small microcontroller, and an RGB LED. That’s it. [Tod] wanted to take this simple project and learn how to turn it into a product. [Tod] emphasised the ‘learn’ part of his plan; the alternate title for this talk was, “How to Fail Multiple Times and Still Ship 20,000 Units.”

The Blink(1) started as a standard My First Arduino Sketch, blinking three LEDs, quickly moving over to a USB LED device. This rather large USB dongle sat there for a few years until he decided to turn this into a product. It turned out building a product is a lot more involved than building a kit, with considerations to the enclosure, the packaging, and the inevitable CNC mold fails. Assembly – and the success of his first Kickstarter – was also an issue. [Tod]‘s friends ended up assembling most of the kits.

Despite these problems, [Tod] was still able to ship a few thousand units and is now working on another production run with SeeedStudio. It’s a remarkable story, with the Blink(1) used by Google, Disney, Microsoft, Facebook, and a whole bunch of other huge companies. The Blink(1) is also in the mainline Linux kernel, something you can’t say about a lot of Kickstarters out there.

Beams of Light: An Oscilloscope Demo

beamsoflight

The demoscene is alive and well, with new demos coming out on a multitude of platforms, including oscilloscopes. Beams of Light is a new demo released at @party in Boston by [TRSi]. Beams isn’t the usual .EXE file format for PC based demos. It’s distributed as a 4 channel wave file. The rear left and right channels are stereo audio. The front channels, however, are vector video to be displayed on an oscilloscope in XY mode.

Beams of Light isn’t the first demo to use an oscilloscope. Youscope and Oscillofun preceded it. Still, you can see [TRSi] pushed the envelope a bit with his creation. He used Processing and Audacity to create the vector video, and his own line tracing algorithm to reduce flyback lines.

[TRSi] included an updated copy of a python based oscilloscope emulator so you can play the demo even if you don’t have the necessary hardware. We wanted to run this the right way, so we powered up our trusty Tektronix 465 and hooked it up to a 1/8″ stereo plug.

Sure enough, the demo played, and it was glorious. We did see a few more retrace lines than the video shows. This could be due to our scope having a higher bandwidth than the 10MHz scope used in the YouTube video. XY demos are one of those rare cases where an analog scope works much better than a low-cost digital scope. Trying the demo on our Rigol ds1052e didn’t yield very good results to say the least. Sometimes good old phosphor just beats an analog to digital converter.

[Read more...]

(Better) Full Motion Video On The First PC

Ladies

Ten years ago, [Trixter] created 8088 Corruption, a demo for the original PC, the IBM 5150, that displayed full motion video using a CGA card and a SoundBlaster. It was hailed as a marvel of the demoscene at the time, garnered tons of hits when it was eventually uploaded to Google Video, and was even picked up by the nascent Hackaday.Now, ten years later, and seven years after [Trixter] said full motion video using the graphics mode of a CGA adapter was impossible, he’s improved on his earlier work. Now, it’s possible to display video at 640×200 resolution at 30 frames per second on a 30-year-old computer.

[Trixter]‘s earlier work used the text mode of the CGA adapter, only because the 40×25 character, 16 color mode was the only graphics mode that could be entirely updated every single frame. It’s still one of the high points of the PC demoscene, but from the original video, it’s easy to see the limitations.

A while back, [Trixter] said displaying video using his computer’s graphics mode was impossible. He’s had years to think about this statement, and eventually realized he was wrong. Like the developers of modern video codecs, [Trixter] realized you don’t need to change every pixel for every frame: you only need to change the pixels that are different from frame to frame. Obvious, if you think about it, and all [Trixter] needed to do was encode the video in a format that would only change dissimilar pixels from frame to frame, and manage the disk and memory bandwidth.

After reencoding the 10-year-old demo for graphics mode, [Trixter] turned toward his most ambitious demo to date: playing the ‘Bad Apple’ animation on an 8088. As you can see in the video below, it was a complete success.

[Read more...]

Dual displays on a Playstation 2

scope

At the Revision 2013 demoparty held last weekend, visitors and guests wanting to check out the latest advances in programming old video game consoles got a real treat. [Abyss] took a Playstation 2, connected the composite video out port to a TV and an oscilloscope, and created the first dual display PS2.

From the official video of the demo, the two video signals are generated from a single video out on the PS2. Generating the composite video out is understandably fairly easy, but the second display – an oscilloscope – is driven during the Vblank period in the composite signal. There’s no audio trickery here; video signals are used for video, and audio signals are used for audio.

[Abyss] took first place in the wild demo competition at Revision 2013. Understandably, too, because this is one of the best demos we’ve ever seen. You can check out the official video from [Abyss] after the break, and the wild competition video after the break.

[Read more...]

Put your dev board to work as a demoscene display

If you’re looking for a way to push your comfort zone with that slick new microcontroller you’ve been working with we think [Morgan Gangwere] has the answer. He took his chipKit development board and used it as a demoscene platform.

Demoscene refers to audio and visual demos written to squeeze as much entertainment out of a given platform as possible. We’ve seen demos for a lot of different platforms; for instance, here’s a Propeller chip demo. But this use of the onboard OLED screen brings a smile to our faces. With well under 100 lines of code [Morgan] implemented several different video effects (the music heard in the clip after the break is not being produced by the board). There is a star field which serves as the background. Over the top of it a scrolling message is displayed following a sine wave shape. The speed at which it scrolls is set by the trimpot, which you can see adjusted about 50 seconds into the clip.

[Read more...]

Universal Commodore 64 cartridge speeds up demo production

As a life long lover of his venerable Commodore 64, [Frank] was looking for a way to speed up the development time when writing C64 demos. His solution is a universal C64 cartridge that will connect to a PC over a USB port.

The board is powered by a CLPD and a microcontroller loaded with code from [Frank]‘s previous C64 USB controller adapter. A 16 Mbit flash chip is able to store 31 classic games like Pitfall, Dig Dug, and Lode Runner.

On his Google+ announcement, [Frank] says this is a very early prototype. He plans on reducing the board size to fit inside a standard C64 cartridge, and the firmware for the micro and CLPD aren’t finished yet. That being said, [Frank] does have a board that does what he wants it to do: extremely rapid C64 development.

Check out [Frank]‘s demo after the break of him compiling and re-uploading a simple demo to his cherished computer in just a few seconds. That’s a lot faster than it would take with a 1541 Ultimate or other SD card reader.

[Read more...]

Behind the scenes of a 1K graphics demo

Programmer/designer [Steven Wittens] has posted a fantastic write-up on the black art of producing compact demo code, dissecting his own entry in the 1K JavaScript Demo Contest. The goal is to produce the best JavaScript demo that can be expressed in 1024 characters or less and works reliably across all standards-compliant web browsers.

[Wittens] details several techniques for creating a lot of visual flash in very few bytes, including the use of procedural graphics rather than fixed datasets, exploiting prime numbers to avoid obvious repetitions in movement, and strategically fudging formulas to save space while adding visual interest. These methods are just as applicable to other memory-constrained situations, not just JavaScript — some of the contest entries bear a resemblance to the compact microcontroller demos we’ve previously showcased, except running in your browser window.

The contest runs through September 10th, allowing ample time to come up with something even more clever. Whether he wins or not, we think [Steven] deserves special merit on account of having one of the most stylish blogs in recent memory!

Follow

Get every new post delivered to your Inbox.

Join 96,688 other followers