Geschenkalarm Author: Losso / AttentionWhore Category: Christmas Challenge System: Amiga Language: Assembler Len source code: 809 Len exe file: 100 Len code only: 64 Instructions: Run the executable or boot from the ADF disk image. Exits cleanly on click. Description: "Geschenkalarm" means "Presents alert", which I thought fitting for this year's theme and using the Amiga's alert functionality. I'll post a little write-up on my website. When you're reading this, it should already be published [1]. Short summary for the impatient: * Prepares a structure to be passed to intuition.library's DisplayAlert [2] call * One substring per character * DisplayAlert substring format: x.w, y.b, , 0.b, 1.b (or 0.b=end) * The present box bow is static, i.e. 86.w, 14.b, '\O/' * Draws "-" and "!" lines simultaneously, with x/y swapped for "!" * Relies on known register contents applicable to all Kickstart versions * Relies on the BCPL global vector [3] to get intuition.library * Found a DisplayAlert documentation bug: height is in fact a longword, not a word :) * Extra space for the alert buffer is reserved via the executable file's hunk header File contents: Amiga executable header: 0000 03f3 0000 0000 0000 0001 0000 0000 0000 0000 0000 1500 0000 03e9 0000 0010 Code: 41fa 02ea 7416 7216 7cdc 7e2d 48a0 c100 d528 0004 7e21 c342 dc7c 0de6 6402 7e2b 4484 6de8 5041 4a06 66e0 d43c 0048 6cd6 2c6a 0170 5d48 4eee ffa6 0056 0e5c 4f2f End hunk: 0000 03f2 Cheers, and thanks to Logiker for yet another fun event! -- Losso [1] https://heckmeck.de/demoscene/geschenkalarm/ [2] http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node020B.html [3] https://megaburken.net/~patrik/BCPL/ramlib.doc.txt