Sunday, December 4, 2016

End-of-the-Year Hiatus and 2016 Retrospective

The end of the year is approaching with big footsteps, and that means Ancient Wonderworld is going into its traditional end-of-the-year hiatus as I'm spending the month of December working on a new Doppelplusungut trash punk album in a remote studio far out in the middle of nowhere.

Looking back, I think it's been a good year for Ancient Wonderworld. Haven't posted as much as in the previous years, yet I believe the blog has benefitted from a stronger focus on the core topics: Chiptune, 8/16-bit demoscene (with a special love for sizecoding productions), and the history of creative computing.

At times I have contemplated stopping with this project altogether because it seems like a lot of work for a limited impact. But then I noticed that the blog now has an average 250-300 views per day, a nearly tenfold increase from last year. That's not just a decent number for a little niche blog that does barely any outside promotion. It also means that there are appearantly quite a few people out there who do care about Ancient Wonderworld. So thanks and cheers to all you readers out there, you're the number one reason that keeps me going!

On a personal level, it's been a good and productive year for me as well. Aside from improving and extending HoustonTracker 2, I spent a lot of time advancing my 1-bit driver coding skills. For the first half of the year, I mostly dabbled in digital mixing, developing a new "multi-core" technique which allows for reasonably accurate rendering of a sizeable number of volume levels on the ZX Spectrum beeper and other 1-bit devices.

Fluidcore, a 4-channel wavetable player for ZX Spectrum beeper

These experiments eventually cumulated in the zbmod engine, a 3-channel routine which can play back PCM samples of arbitrary length with a total of 21 volume levels, and qed68, which does the same with 4 channels/24 levels on the TI-92 Plus and compatible graphing calculators. In the process, I also disovered how to implement simple low- and hi-pass filters in 1-bit.

Later on, I turned my focus onto more traditional 1-bit techniques again, for a number of reasons. Digital 1-bit techniques are very powerful, but they consume a lot of RAM, and are extremely tedious to write. On top of that, they are surprisinly unflexible, since the technique ties up a several registers for jump calculation, and rules out the use of self-modifying code. All in all, it's a pretty lousy representation of the "digital minimalism" I'm striving for. So, back to the basics. One thing I did was to take Zilogat0r's classic Squeeker routine (which introspec kindly reverse-engineered earlier this year) and enhance it with drums and duty envelopes. The resulting Squeeker Plus engine is certainly my personal favourite from this year. I later mated the Squeeker technique with Shiru's Phaser method, creating the strikingly powerful, yet nearly unusable Phase Squeek engine.

I stuck with the Phaser technique for a while, gradually simplifying the algorithm in the process. This yielded some significant speed gains, which allowed me to implement several new tricks. These simplifications actually went so far that at one point, the phaser algorithm became interchangeable with the standard threshold technique (the one used in Tritone type engines). Somehow, this was quite a revelation to me! In my perception, 1-bit synthesis is now transitioning from mainly trying to emulate other synthesis types¹ (programmable sound chip synthesis, pulse code modulation) into becoming a type in its own right: Binary modulation synthesis, if you will.

As my engines were becoming pretty much impossible to support in the existing 1-bit trackers and XM converters, Shiru suggested the creation of a dedicated, customizable music markup language to facilitate music composition for these tools. I was more than happy to follow up on this, as it provided a nice opportunity to finally acquire some proper C++ coding skills. Dubbed MDAL (the Music Data Abstraction Language), the project has now progressed into a usable beta stage, although the standard is by no means finalized and there is a lot of work left to do. I'm intending to continue on this next year.

The most fun thing this year was probably the "discovery" of the fabled 5th sound channel on Gameboy. On April 1st, I posted this video on youtube:

Of course everybody thought it was fake. Until I posted the actual ROM. And the head scratching commenced... Sure, it's a trick, but a pretty convincing one. It's basically an application the good old "pulse interleaving" 1-bit method on the second pulse channel of the DMG. I intended this mainly as a friendly nudge to the Gameboy scene. The point is that in my opinion, the Gameboy music scene has been somewhat standing still in the last 10 years, resting on the success of LSDJ and Nanoloop. While these are without a doubt absolutely brilliant tools, they don't push the Gameboy to the limits by any means. I really want to see more experimentation with DMG sound in the future, however I don't want to do it myself, since I'm not an expert in Gameboy programming and I don't have the time to become one.

Last but not least, I also took some time to bring my decade-old web coding skills up to HTML5 standards, and tackle the long overdue rewrite of my website. While I think that CSS is as awful and frustrating to use as ever, I'm pretty proud of the new, minimalistic and responsive layout.

Coding certainly took precedence over writing music for me in 2016. As a consequence, I played only one show this year (to a wonderful audience at the Vintage Computing Festival Berlin). I did, however, hold several talks on 1-bit music and HoustonTracker 2, which is an activity I enjoy a lot and would like to continue in the future. So if you would invite me for a talk, presentation, or workshop, please get in touch, either by commenting below or dropping me a mail at utz at my home domain. Aside from the things mentioned, I also like to talk on the topic of early computer music history, if that's more your thing. Of course I'm still open for shows as well, and I hope to do more next year.

Anyway, thanks again for reading, and see you all back in 2017!

¹ With the exception of Pulse Frequency Modulation, which has been a 1-bit exclusive right from the start.

Tuesday, November 29, 2016

[album] Third Laser by little-scale

Thrash44 Records has put out an album with previously unreleased Nanoloop 2.2 material from Australia's chip master little-scale. Float through space on those trademark lush pads being pitched against hypnotic, pulsating beats. This might just be my favourite little-scale release to date.

Monday, November 28, 2016

[album] OBOLE II by CYMBA

The folks from Cymba have been working really hard to create their own unique flavour of chipmusic that doesn't sound anything like chipmusic at all. Dark, evil, slightly acidic techno running off 4 Gameboy Advance. OBOLE II is one 12-inch vinyl that shouldn't be missing in your collection, if you ask me.

[demo] Electric Night by Dune and SMFX

Here's the winner of this year's Atari Falcon demo compo at Silly Venture. It could have benefitted from a more tight pacing in my opinion, but otherwise it's undoubtedly a top notch Falcon prod with great style. I especially dig the underwater scene.


[demo] Abeyance by Satori

Zden's latest audiovisual glitch assault in 256 bytes. Appearantly it ran at Compusphere, but wasn't ranked due to lack of competitors.


Saturday, November 26, 2016

AWW Link List Restored

Finally got around to restoring the "Ancient Wonderworld Recommends" link list (in the lower left sidebar), which was destroyed by an update of the Blogger software a couple of months ago.

I've mostly kept the list as it was for now, just removed a couple of dead links and added a select few new sites instead, like the wiki, and the Pterodactyl Squad netlabel, which should have been on the list right from the start. I've also removed the World of Spectrum forums, because with the way the new management is treating some users there, I can no longer unreservedly recommend the site.

Anyway, what I wanted to say is this: I'm aware the current list is a mess, and a rather arbitray one on top of that. My plan is to split it up into different categories eventually (chiptune archives, forums, people, netlabels, blogs, etc) and, most importantly, to add more items. So, if you have any suggestions, feel free post them in the comments! Proposals should generally be 8/16-bit coding/chiptune/demoscene/computer history/lo-fi related, of course.

Thursday, November 24, 2016

[album] NMLSTYL by Animal Style

Animal Style has released a new, blasting chip prog album. Features hard-rocking guitars, sweet Gameboy melodies, and excellent drumming from Rob Martino.

Tuesday, November 22, 2016

4mat on Chipmod History

Chiptune pioneer 4mat put up a great talk about the early days of Amiga chip mod tracking, with a focus on the techniques that came to define this format. A highly recommended watch.

Friday, November 18, 2016

0day Exploit Using NSF Files

You thought .nsf files are just harmless NES music files and nothing bad could ever come from them? Well, think again. Security researcher Chris Evans has just revealed a zeroday exploit on Linux involving the use of specially crafted .nsfs.

The actual vulnerability is found in an old version of gstreamer which is still widely being used. What's happening is that the internal emulator that is used to execute the 6502 code contained in the .nsf doesn't verify the ROM size, which, in conjunction with the use of bankswitching, can lead to the emulator breaking out of its virtual memory and start writing to the heap.

Meanwhile, Battleofthebits user b00daw has found that the problematic gstreamer code is currently used by the Jabber/XMPP client Gajim, which means the vulnerability can possibly be exploited on non-Linux systems as well.

Long story short, if you still have gstreamer plugins from the 0.10 release running somewhere, you might want to run an update.

Thursday, November 17, 2016

[demo] VCS Demos from Silly Venture

So last weekend the mightiest of all Atari demoparties took place once again in Gdańsk, Poland. And y'all probably know what that means: Lot's of fresh Atari demos!

Well, when it comes to Atari machines, the 2600 (aka VCS) holds a special place in my heart. It's not just about those growly, detuned TIA sounds. The really fascinating thing about the 2600 is that allows programmers access to the hardware in a much more direct way than almost any other platform out there. Which, in conjunction with the otherwise extremely limited specs, often leads to very unique stylistic choices, such as incorporating very blocky, rough graphics with very intricate colour schemes.

Ok, enough blabla, let's look at the VCS demos from Silly Venture 2k16.

Mr. Caterpillar and the Tale of the Turquoise Twisters by Genesis Project

Shadow and Mermaid - when these two get together, the result is rarely ever disappointing. So here's their latest prod: Simple, but awwww... so cute! Look at that little caterpillar! And hey, it all fits into an 8k ROM. 3rd place in the VCS compo.


rotor by Flush

A bit rough around the edges, but hey: That music sounds pretty damn good for VCS - great to see TIAtracker being put to good use. Also, props for releasing the source. 2nd place in the compo.


Chiphead by altair

Ziphead on Atari VCS? U kiddin me mate? That's one impressive feat. It could have benefitted from some more horses, though ;) Anyway, well deserved first place in the compo.