,---. .--. .--. ,---. ,---. ,-----. ______ /,--.| | | _/ / | \ / | .' .-, '. | _ `''. //_ || | (`' ) / | , \/ , | / ,-.| \ _ \ | _ | ) _ \ /_( )_|| |(_ ()_) _ _ | |\_ /| |; \ '_ / | :|( ''_' ) | /(_ o _)| | (_,_) __ ( ' ) | _( )_/ | || _`,/ \ _/ || . (_) `. | / /(_,_)||_ | |\ \ | | (_{;}_) | (_ o _) | |: ( '\_/ \ ;|(_ ._) ' / `-----' ||| | \ `' / (_,_) | (_,_) | | \ `"/ \ ) / | (_.\.' / `-------|||-'| | \ / | | | | '. \_/``".' | .' '-' `--' `'-' '--' '--' '-----' '-----'` 4K-MOD by Oxygene & Alcatraz A 4KiB 2 minutes Amiga MOD played on Atari Released at Silly Venture 2021 (party version) Code: Leonard / Oxygene Music: Virgill / Alcatraz AkLang Synth: Virgill / Alcatraz AkLang 68k output Dan / Lemon. Shrinkler packer Blueberry/Loonies This 4KiB demo runs on Atari STE or MegaSTE with at least 512KiB of RAM. This tiny 4KiB executable contains: - A fantastic 185KiB 2 minutes .MOD song - A software synth producing .MOD samples - A MOD music driver replayer - A PAULA Amiga sound chip emulator running at 25Khz - A stereo oscilloscope - 2 progress bars :) Technical details: ------------------ When you want to play an Amiga .MOD music on an Atari in a 4KiB demo, you're facing four problems: 1) The MOD file used here contains 173KiB of 8bits digitized sample sound. This demo is using AmigaKLang, a famous Amiga software synth written by Virgill/Alcatraz. Originally made for 64KiB demos (synth output code is C), Dan/Lemon. wrote an asm output so now all soft synth code size is reduced and also runs faster. This demo is producing 173KiB of 8bits samples at the beginning during progress bar. AmigaKLang: (https://www.pouet.net/prod.php?which=85351) 2) A MOD file is also made of a music score (notes & effects) and requires a complex music driver (ie Amiga protracker). Protracker replay code itself is 6KiB of unpacked code, and this demo music score is 12KiB. To bypass these limitations I used my own Amiga "Light Speed Player" technology. LSP was originally done for speed, for some Amiga "cycle optimized" demo effects. LSP is "kinda" Atari YM music format for the Amiga. The music driver is really tiny (less than 500 unpacked bytes) and the new "-micro" mode made the music score highly compressible. ( Light Speed Player music packed score is about 1KiB ) Light Speed Player: (https://github.com/arnaud-carre/LSPlayer) 3) LSP music driver directly outputs Amiga PAULA sound chip registers data. So you need a PAULA chip emulator, running on Atari STE to make everything run properly. The complete & accurate (perfect sample loop) PAULA emulator used in this demo is 440 packed bytes only! (basically a tiny version of my PAULA emulator released in "Amiga Demo 2" Atari demo in 2008) (https://www.pouet.net/prod.php?which=52336) 4) And last but not least, any 4KiB demo around the world wouldn't be possible without using packer. This intro is packed using amazing Shrinkler technology, written by Blueberry/Loonies. Shrinkler is the most suitable packer for 4KiB as arithmetic entropy coding allows really good packing ratio and keep decompressor code small. (depacker is 160 bytes only!) You can use this great Amiga packer on your fave platform now using STrinkler, my Atari port :) STrinkler: (https://github.com/arnaud-carre/STrinkler) Fun facts: - This txt readme you're reading is exactly the same size as this demo executable :) - This demo is kinda "bringing best Amiga tech to Atari" ( AmigaKLang, Light Speed Player, Shrinkler :) ) - This demo uses a new "-micro" mode of Light Speed Player (soon to be released) Follow me on twitter: @leonard_coder Enjoy! Leonard / Oxygene, Nov 2021