;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ; 1st October 2003 ; Checkpoint: "4STER" ; ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ; a 4K-intro for: ATARI 1040ST, 1MB, 8MHz Motorola 68000 ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ; YOU MAY SPREAD/DISTRIBUTE THIS ARCHIVE/PROGRAMS AS LONG AS YOU KEEP THE ; ARCHIVE AS IT CAN BE FOUND AT http://checkpoint.atari.org ; YOU ARE ESPECIALLY ASKED --NOT-- TO REMOVE ANY FILES. ; THANK YOU! ; ; **-- DISCLAIMER -----------** ; NO WARRANTIES FOR ANYTHING. ; DON'T BOTHER. ; **-------- DISCLAIMER --** ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ORG $00001000 OUTPUT '1000.PRG' OPT D- ; now let's cut the crap... and re-enter. ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ; 1st October 2003 ; Checkpoint: "4STER" ; ;------------------------------------------------------------------------------ ; a 4K-intro for: ATARI 1040ST, 1MB, 8MHz Motorola 68000 ;------------------------------------------------------------------------------ ; ; ...files... ; party\4ster__p.prg ... compo-party-version ; 4ster.prg ... release version ; 4ster_co.prg ... release version with Cache-Off (if present) ; 4ster.txt ... some information ;------------------------------------------------------------------------------ ; ; This 4K-tro took part in the 4K-competition at ; "Error In Line 2003" - party. ; 1st place. ; But not released. ; Until now. ; ; ; It may run fine on Atari Falcon, I just wasted even more bytes by setting ; up a timer running at ~50Hz - just to make sure that the music will sound ; ok on any screen-frequency. ; The "timing" (is there any?) might differ if you run it on a machine with ; cache & a processor unlike the 68000, 8Mhz. ; ; If you have problems on your machine (F030/TT?/CT?) try "4ster_co.prg", ; where the cache is being turned off. "4ster_co.prg" also runs on a non-cache ; machine. (we use some very little smc-stuff..) ; ; You have to start it in a ST-compatible mode (lo/mid) anyway. ; And... it doesn't work in monochrome mode. ; ;------------------------------------------------------------------------------ ; ; CREDITS ; ~~~~~~~ ; ; Coding: Defjam ; Music: 505 ... his very first tune he "tracked" in DC.B style :) ; Music-Player: Defjam ; Graphics: mOdmate ... the 64x64 girl-picture in the polar-coord-dister ; comes from the "Undercover Magazine" issue 12 ; loader-picture - what a 16 colors masterpiece! ; (converted to 64x64x8bpp luminance by Defjam) ; ; Atari ... the 8x8 systemfont ; ; ; Packer: Packice by Axe/Superior THANK YOU! ; ; Packed using the cross-platform version of Packice made ; by Lars Brinkhoff / No Crew ( http://www.nocrew.org ) ; using NEW_ALGORITHM - which packs some bytes better than the ; "standard" Packice packer. THANK YOU! ; ; The unpacker has been size-shortened/stripped by Defjam. ; ; ; Additional "THANK YOU"'s for suggestions/influence: ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; MR-NI!/Tos-Crew - for the sqrt routine, I got from you years ago. ; sorry.. but ARJ didn't make it to be the packer used here. ; ;) ; ; amycoders - for the inspiration how to generate a sin-table in a few bytes ; ; Mr.Fourier(rip) ...without him - dct? jpg? mpg? mp3? ; perlin-noise? fft? ; ; The Independent JPEG Group for the work in signal transformation & ; quantization/compression ; ; INT-E - although your suggestions for storing the Huffman-tree instead the ; Huffman-codes isn't implemented in this version.. ; maybe the next time.... or better: arithmetic encoding? We'll see. ; ; ; Markus Fritze & Soeren Hellwig - for TurboAss & Bugaboo. ; The best assembler & debugger on Earth!! ; (http://www.markus-fritze.de) ; ; ; ; EXCUSES & POSING ; ~~~~~~~~~~~~~~~~ ; ; This 4k-tro has been done mainly for size-aspects, the effects run ; awfully slow. I hope you like it a bit anyway. ; The program could have been done even shorter ... and slower. ; ; The 4k-tro consist of: ; - loading screen ; - motion-blur like text-displayer (also used for "transitions") ; - bump-mapper ; - huge offset tunnel ; - fieldlines ; - face-distorter ; - z-rot-zoomer (very ugly) ; - YM2149 Music! ; ; The polar-coordinates (r,alpha) are shared by the tunnel,fldlines,face-dister. ; An iterative delta-algorithm is used to generate the arcsin. ; ; ; Some technical notes coming up.. ; ; Music ; ~~~~~ ; ; Music-Player: 272 bytes ; Music-Data: 396 bytes ; ---------- 668 bytes for the music in total. ; ; The music-data isn't too much optimized, some bytes could have been squeezed ; by interleaving some bytes and/or re-arranging the data-structure. ; Anyway, it's my first really used music-player - and a lot of "THANK YOU!" ; have to go to 505 for making that cool music in TurboAssembler. ; ; ; Graphic-compression ; ~~~~~~~~~~~~~~~~~~~ ; ; In the party-version, the girl-picture is 50x50, 3bit - plain stored, ; no additional compression scheme applied. ; ; Now.. after some months of research, the picture is 64x64, 8bit. ; How is it done? ; ; Well - Discrete Cosine Transformation. ; It's just the same technique JPEG uses. ; ; The 64x64x8 picture is DCT-encoded using a constant quantization, because ; storing an dequantization-table would take additional space. ; The quantization factor is 48 - and the produced output is by all means far ; better than an equally sized jpg-file. ; More notes; DC - 6bit stored, AC - 5bit stored & RLE+Huffman encoded ; ; Size aspects: ; RLE+Huffman-decoder+inverse DCT code: 284 bytes. ; (40 bytes more and the inverse DCT would run ~15 seconds faster) ; ; DCT components (after RLE+Huffman encoding): 662 bytes. ; ; That makes 946 bytes in total for the 64x64 picture. ; A compression-ratio of ~4.33 ; ; The shortest (and ugliest) effect is the Z-Rot-Zoomer.. ; ~130 bytes now. (without "stone-like" texture generator.) ; ; ; ; ; ; Ok.. I'm tired now and this text is yet bigger than the .prg ; ; ; ; ohh... GREETINGS! ; ~~~~~~~~~~ ; DHS! Escape! tSCc! Sector One! Dune! Tos-Crew! ; Reservoir Gods! (esp. Damo - thanks for the mail & keep on going strong!) ; MJJ-Prod! (esp. C-Rem & Gloky !) ; FUN! / Lineout! (esp. Havoc & Earx) ; Cream! (esp. Ultra - although he's too lazy... ;( ; Evolution! Paranoia! Foundation Two! St Knights! ; Equinox!, Oxygene!, Mystic-Bytes! No Crew! Holocaust! ; TEX, The Replicants, TCB, ULM, Synergy ... and all the other rotten dead ones. ; ; Special individuals-greets: ; ; ST Survivor! Moondog! R.Karsmakers! ; The STEEM (steem.atari.org) authors, Anthony & Russel Hayward! ; ; ; ; Some non-Atari people - ; Doomsday, TBL (the loading bar is inspired from Stash/Jizz ... :) ; Industry, Byterapers, Reflex, Smash-Designs, Haujobb, Oxyron ; ; ; ; ; ;------------------------------------------------------------------------------ ;does that really interest you? ;music consumed while finishing: various psids,mods,sndhs/yms, ;various stuff from mp3.de,candyman & the other Olaf's alter-ego,access_denied, ;chris huelsbeck,vnv nation,welle-erdball,various gabber/hardcore,beethoven, ;vivaldi:"the four seasons", atari-ACE-softsynth tracks,kb,haujobb,rozalla, ;and other noise-sources... that were the one i remember of. ;films interrupting coding: David Lynch, Oliver Lammert, Madeleine Dewald, ; Daniel Graebner, Tom Schreiber, Francois Ozon, Michael Moore ... ; ... and some others. ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ; Feedback is essential: ; http://checkpoint.atari.org ; defjam_cp@gmx.net ; Auf Wiedersehen. ;------------------------------------------------------------------------------- ; (w)`1999-2001,2002,2003 defjam'cpt ;------------------------------------------------------------------------------- DC.L $4AFC4E71 END