Demoing an 8088

The demoscene usually revolves around the Commodore 64, and when you compare the C64 hardware to other computers of a similar vintage, it’s easy to see why. There’s a complete three-voice synthesizer on a chip, the hardware allows for sprites, a ton of video pages, and there are an astounding sixteen colors, most of which look good. You’re not going to find many demos for the Apple II, because the graphics and sound are terrible. You’re also not going to find many demos for an original IBM PC from 1981, because for thirty years, the graphics and audio have been terrible.

8088 MPH by [Hornet], [CRTC], and [DESire], the winner of the recent 2015 Revision Demo compo just turned conventional wisdom on its head. It ran on a 4.77 MHz 8088 CPU – the same found in the original IBM PC. Graphics were provided via composite output by a particular IBM CGA card, and sound was a PC speaker beeper, beeping sixty times a second. Here’s a capture of the video.

Because of the extreme nature of this demo, it is unable to run on any emulator. While the initial development happened on modern machines with DOSbox, finishing the demo needed to happen on an IBM 5160, equivalent to the 5150, but much easier to find.

Despite the meager hardware and a CPU that reads a single byte in four cycles, effectively making this a 1.19 MHz CPU, the team produced all the usual demoscene visuals. There are moire patterns, bobbing text, rotated and scaled bitmaps, and an astonishing 1024-color mode that’s an amazing abuse of 80×25 text mode with NTSC colorburst turned on.

Below you can find a video of the demo, and another video of the audience reaction at the Revision compo.

Continue reading “Demoing an 8088″

Revive The Demoscene with a LayerOne Demoscene Board

Demos, the demoscene, and all the other offshoots of computer arts had their beginning as intros for cracked Apple II, Speccy, and Commodore 64 games. Give it a few years, and these simple splash screens would evolve into a technological audio-visual experience. This is the birth of the demoscene, where groups of programmers would compete to create the best demonstration of computer graphics and audio.

For one reason or another, this demoscene was mostly confined to Europe; even today, 30 years after the Commodore 64, the North American demoscene is just a fraction of the size of the European scene. A very cool guy named [Arko] would like to change that, and to that end he built the LayerOne Demoscene Board.

If there is a problem with the modern demo scene, it’s that the hardware that’s usually used – C64s, Ataris, Spectrums, and Amigas – are old, somewhat rare, and dying. There’s also the fact that artists have been working on these old machines for decades now, and every single ounce of processing power and software trickery has been squeezed out of these CPUs. [Arko]’s board is a ground-up redesign of what a board that plays demos should be. There’s only one chip on the board – a PIC24F with three graphics acceleration units, color lookup tables, and the ability to output 16-bit VGA video up to 640×480 with 8-bit audio.

The first official competition with the LayerOne Demoscene Board will be at the 2015 LayerOne conference in Monrovia, CA on May 23. There are a few categories, including 4k and 64k JavaScript, Raspberry Pi, the LayerOne board, and a ‘Wild’ category. If you want to take a processor out of a toaster and make a demo, this is the category you’ll be entering. Of course Hackaday will be there, and we’ll be recording all the demos.

Below are a few examples of what the LayerOne Demoscene board can do, and you can also see a talk [Arko] gave at the Hackaday 10th anniversary party here. You can buy the Layerone Demoscene Board on the Hackaday Store

Continue reading “Revive The Demoscene with a LayerOne Demoscene Board”

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.

Continue reading “Beams of Light: An Oscilloscope Demo”

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

Continue reading “(Better) Full Motion Video On The First PC”

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.

Continue reading “Dual displays on a Playstation 2″

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.

Continue reading “Put your dev board to work as a demoscene display”