pouët.net

World Record by Noice [web]

Name: World Record/Noice
Release Date: 2006-07-31
Code: Andreas Gustafsson aka. Shadow/Noice
Original picture: NobbyNobody (www.biro-art.com)

Running the demo:
To run it you will need a TI-83 with ION shell installed
(and nothing else, since it uses almost the entire memory!)
I've also included a TI-83+ version, but it is untested.
Note that the demo will not work under VTI, the
IRQ-grayscale routines are not compatible with the emulator.

Release info:
This is (atleast to my knowledge) the largest scrolling
grayscale picture ever on the TI-83 (hence the "World Record" name).
It is 96x1229 pixels, more than 18 screens high.
The reason I did this is because back when I started with computers 
and the demoscene on the C-64, breaking records was the thing
to do if you wanted to be a cool coder, most rastersplits, most
sprites onscreen etc. However I was not good enough of a coder back
then (too young I guess), but now I finally have my chance to
break a world record by choosing an obscure enough platform! 
Ofcourse this record is pretty easily beaten by just picking a
picture that compresses better, but let's forget that...

Technical info:
I got inspired to doing this after seeing the C64 demo called
160x4754 which features the same Heaven-to-hell image scrolling
(with continuous loading from disc).
I thought it would be pretty easy to do something similar on the TI-83. 
Since the picture would not fit into memory unpacked, I would 
have to come up with some kind of realtime unpacking.
I converted the pic to grayscale and got to work. It turned out to
be a bit harder than I thought, and I had to really fight (and cheat!)
to get everything (grayscale routine, two framebuffers, unpacking routine
and packed data) to fit into memory, but in the end it worked out.
The picture is stored in interlaced format (to get grayscale on the 
TI-83 you have to have two  mages that you quickly switch between)
packed with my own little RLE variant, optimized for just this picture.
For every line that scrolls up the "streaming" unpacker decrunches one
line of 12 bytes for each sub-picture.

Additional thanks:
Joe Wingbermuehle for Ion 1.6
DP Kingma for gpp11

Contact info:
http://sdw.webhop.net
andreas.gustafsson@gmail.com