Sunday, February 21, 2010

Update

So, it's been almost a month since I last posted. Due to incredible business (mainly from involvement in my high school's FIRST Robotics team) I haven't had any time to work on my microcontroller business (besides making some blinking lights. Pfft). On a lighter note, however, I resurrected an old 1K intro, which I plan to release when I go to Norway for The Gathering this year :) .

The progress has been VERY good. Originally, it had a softsynth (the first on Earth for a 1K), but it only played the same instrument (saw wave) at two octaves; a rather cheap trick to get multiple patches. So, I tried midi. About 100 bytes smaller and now 4 instruments (including a percussion track!), midi is DEFINITELY the way to go in 1K. I suppose if you had no visuals and just played a song you could get away with doing a pretty cool little synthesizer, but really - what good are 1K's with no animation :) ?

I've also been doing some hardcore pe file hacking. PE - Portable Executable - is the Windows .exe format. It's bloated, crappy, and can be described with many other colorful words...the worst part is, much of the data (30-40%!!!) is even skipped by the Windows loader, rendering it useless.

Useless? Or, is it?

Not really :) . Anyone who's done anything in Assembler should know that we can squeeze a few opcodes here and there throughout the header :) . By hacking like this with the help of a nice debugger (thanks, Mentor!), I'm now down to 269 bytes, which is fully XP/Vista compatible (haven't yet tested 7, but it's likely to work), and about 40% nop's. Doesn't seem too exciting (269 bytes is still pretty big it seems....guys have gotten a PE file into 97 bytes, but this relies on the fact that when it's loaded to memory all data after it for about 4 kilobytes are just zeros, which "replaces" data that SHOULD be in the PE file. Also, they clear a major chunk from the file [about 144 bytes], which doesn't work with Vista, so no go), but I have some really good ideas to fill it.

What's this for?

Juicer. A 1K-intro compressor for Windows. Decipher/YUP and I started the project over the summer and I got hung up doing this PE hacking...worked just fine on the retry, so I suppose it's back in business :) . It'll have to be halted to keep up with all the demo work we're doing for Breakpoint and TG in April, but I'd bet the guys developing Crinkler (and the secret Crinkler 1K ;) ) would appreciate some nice competition.

'Till next time.

0 comments:

Post a Comment