__ ,-\| `` _ __ __ ,' | _.[\ ././/-<' `-/| `p' \ ../''' \ ,''. ,-'\ __| ........................./ `.` . | \ \ ]. oY--\,' |...... | __-.. ,' ` \ 'pd \ `.d/\_ \ | || | '`:-]/ . | -]U|.P/ `\'\ '-.=--^..' || | oo:-- : `--\ b \ | _.. -.` ./\. || | _.-''__,.-' \ "- ,/].,-/\ ` b d || | ,' ,-'' .`+-. /'',_.. `...'I_ || | / /_ '.\ ' V. /8d8| `O./8'` || | ,' J` |. \_`=:: |88/ ` || \/,o'/' _ |./-. |'\'' o/_,.. || '/ "| `/ "''YY' ..\`P \._:d./,'' \ || |b' \ \. \\|'\ _._//\ ' | | .d888888888P .d88888P'Y88888b.`Y888888888b| | | | | .d888888888P'.d88888P' `Y88888b.`Y888888888b. | | . | | `Y888888888b.`Y88888b. .d88888P'.d888888888P' | | | | | `Y888888888b.`Y88888b.d88888P'.d888888888P| | | v | | `Y888888888b. 8888888 .d888888888P' | |__ | | |__ `Y88888b. b. Y88888P .d .d88888P' \_______/____|\_______/<_______/ 8b.88b.`Y8P'.d88.db 8888888b. .d8888888 888888888Y888888888 :::.. . `Y888888888888888P' . ..::::|||||$$$$$88888880000000000000 |::::.. . `Y88888888888P' . ..::::|||||$$$$$8888888000000000000000 |||::::.. . `Y8888888P' . ..::::|||||$$$$$888888800000000000000000 |||||::::.. . `Y888P' . ..::::|||||$$$$$88888880000000000000000000 . . . . `Y' . . . . :.:.:.:.: :.:.:.:.: .:.:.:.:. .:.:.:.:. ||||||||| A R R A K I S ||||||||| $$$$$$$$$ $$$$$$$$$ $$$$$$$$$ the second demo for the Apple iPod nano G1 $$$$$$$$$ 888888888 888888888 888888888 NOT presented at The Ultimate Meeting 2006 888888888 000000000 but a decade later at Nordlicht 2016 000000000 000000000 000000000 000000000 KeyJ .......................... code, graphics 000000000 000000000 Brack .................................. music 000000000 000000000 Gabi ..................... additional graphics 000000000 000000000 000000000 000000000 000000000 000000000 This demo was intended to be a quick follow-up 000000000 000000000 to "nano", the winner of the Evoke 2006 wild 000000000 000000000 demo compo. The music was done first and the 000000000 000000000 style and name of the track set the general 000000000 000000000 topic, though we tried to avoid any direct 000000000 000000000 Dune references, so no sandworms and Fremen. 000000000 000000000 Instead, the slow part of the music inspired 000000000 000000000 a story around rain in the desert. However, 000000000 000000000 there was no clear idea what should happen 000000000 000000000 during or after the rain, and after only a few 000000000 000000000 days of coding and designing, the project was 000000000 000000000 scrapped for the lack of ideas. 000000000 000000000 000000000 000000000 For a whole decade. Until 2016. 888000000 000000000 888880000 000000000 This is KeyJ's first visit to the Nordlicht $$$888800 000000000 demoparty, and its unique gravedigger compo $$$$$8888 000000000 is a perfect reason to revive the old code |||$$$$88 000000000 and fill the remaining 50% of the demo with ·:·||$$$$ 000000000 something that's at least loosely related to :·::·||$$ 000000000 the topic. Don't expect any coherence though :) · ·::·|| 000000000 .d8b.· ·::· 000000000 d88888b · ·: 000000000 8888888 · 000000000 .:::||||$$$$8888888000000008888888$$$$||||:.:. .d888 8P'Y8 888b. 000000000 .:::||||$$$$888888800000008888888$$$$||||:.:..d88888P' `Y88888b. KJ0000000 .:::||||$$$$888888800000008888888$$$$||||:.:.`Y88888b. .d88888P' TED000000 .:::||||$$$$8888888000000008888888$$$$||||:.:. `Y888 8b.d8 888P' 8888888 Y88888P `Y8P' REQUIREMENTS ' ------------ iPod version: - an iPod nano, of course. IT WON'T WORK ON OTHER MODELS (read below). - an iPodLinux installation on that very device - approx. 7 MB of free space on the ext2 partition PC/Linux version: - some modern GNU/Linux distribution - an x86 PC that was built in this millennium - SDL 1.2 (for Debian/Ubuntu: sudo apt install libsdl1.2debian:i386) - 32-bit libraries of libc, SDL and their dependencies need to be installed on 64-bit installations (the above line ought to install all of these) PC/Win32 version: - an x86 PC that was built in this millennium - some Windows flavour (only tested on Win 10 so far, but should work on anything from 2000 on) FAQ --- Q.: Does it work on the later nano models (September 2006 and beyond)? A.: Unfortunately, no. The new nano models are based on completely different hardware, and even worse, their firmware is encrypted and not easy to tinker with. Q.: Can I run it on my iPod/2G/2G/4G/photo/video/Archos/iRiver/Cowon? A.: As for the non-Apple devices, the answer is a clear 'no'. If you try to run it on an iPod other than the nano, it will probably crash; if you're lucky, you will at least hear the music :) Q.: Is the sourcecode available somewhere? A.: Indeed it is: > svn co https://svn.emphy.de/scene/trunk/arrakis/ The build system is based on Makefiles and assumes to run on a GNU/Linux machine. Compiling the assets (graphics and music) requires Python 2.x with the Python Imaging Library (PIL or Pillow) and ffmpeg (which means that Ubuntu 14.04 users need to change the Makefiles to use avconv instead; sorry). To compile it for the iPod, you also need to install two(!) packages with ARM/uClibc toolchains: > http://www.uclinux.org/pub/uClinux/arm-elf-tools/ arm-elf-tools-20030314.sh > http://www.uclinux.org/pub/uClinux/arm-elf-tools/gcc-3/ uclinux-tools-20040603/arm-uclinux-tools-base-gcc3.4.0-20040610.sh Why two toolchains? Well, the code needs at least GCC 3 to compile, but the GCC 3 toolchain is missing some important files and therefore fails to link anything. That's where the other (GCC 2.95 based) toolchain comes into play. I know, it's ugly as heck, but it works. Q.: Will you make a port for ? A.: Only if it's a very interesting device with similar hardware properties that I have physical access to. In other words: probably not. Then again, the sources are available, so go ahead and port it yourself! Q.: The screen in the Linux and Windows version is so huge and ugly! A.: Upon popular request, I added some lame 4x linear upscaling (with fancy scanlines :) to the PC-based versions. If you don't like that, start the executable with the parameter "-1". A 2x zoom mode is also available: use "-2". Q.: Where's the fullscreen mode in the PC versions? A.: You don't really want to zoom 176x132 pixels of (mostly) non-antialiased graphics to HD or 4K resolution, do you?! INSTALLATION INSTRUCTIONS ------------------------- Note: The following section is specific to the installation on a real device. Also, there's nothing unobvious in here. So, if you don't have a nano or are already familiar with iPodLinux, you can easily skip it. First, you need to install iPodLinux. Don't be afraid, it's next to impossible to "brick" an iPod, you can always return it to a usable state, only losing the data on it, which you should backup anyway. There are several good tutorials on how to install iPodLinux on a nano on the internet, so Google is (again) your friend. If you care, the one I used is: http://www.linux.com/article.pl?sid=06/03/29/1628212 Since the iPodLinux project is more or less dead now, it might be a little problematic to get the necessary files. My iPodLinux installation dates back to 2006, when everything was still fine, so YMMV. You might be able to get something useful from the old iPodLinux project's SourceForge page: http://ipodlinux.sourceforge.net/index.shtml When you're done setting up iPodLinux itself, unpack the demo's tarball somewhere into the ext2 partition of your iPod. I used /home/arrakis as the target directory, but any other will do, to. The tricky part is to start the thing. The last time I checked, Podzilla wasn't able to execute programs in the iPod's filesystem. My solution was to disable the Podzilla autostart altogether by editing /etc/rc and replacing the last line podzilla by /sbin/sash This will leave you with a shell after iPodLinux booted up. Unfortunately, the shell isn't very usable, as the only letters you will be able to input are m, w, f, n, l and r for the four buttons and the touch wheel. So I added a small script called /sbin/d that looks like this: #!/bin/sh cd /home/arrakis ./arrakis-ipod After bootup, you may now press the play button and the center button to start the demo. You probably won't succeed doing so, because the touch wheel is *very* sensitive and you usually end up having a bunch of l's and r's in your command line :) Careful typing with a fingernail should help. Or better yet, pushing the buttons with a pen tends to work quite reliably. FINAL WORDS ----------- This is the very last Kakiarts release, because the group is dead for, like, 7 years now, and we don't have any other unfinished prods left that could be resurrected and released. Did you know that the iPod nano is the second smallest device (I know of) that ever has been made a demo for? (Not counting self-soldered microcontroller stuff here.) Greets go out to 3LN, 5711, Alcatraz, Andromeda, Approximate, ASD, Bauknecht, CNCD, Cocoon, Conspiracy, Darklite, DSS, Ephidrena, Excess, Fairlight, Farbrausch, Fit & Bandwagon, Ghostown, Haujobb, Holon, Hooy-Program, Inque, Iris, Jumalauta, Kewlers, LNX, Loonies, Madwizards, Marshals, Mercury, MFX, Moods Plateau, Nature, Nuance, Outracks, Plastic, Portal Process, Rabenauge, Razor 1911, Rebels, Still, TBC, TEK, The Black Lotus, Titan, Traction, Traktor, TRSi and everyone else in the scene :) -- KeyJ/TRBL