scene.org File Archive

File download

<root>­/­parties­/­2024­/­vccc24­/­christmas_challenge/losso_amiga_assembler_64b_vc3-2024.zip

File size:
20 419 bytes (19.94K)
File date:
2024-12-29 14:13:04
Download count:
all-time: 0

Preview

  • code.png 6.03K
  • file_id.diz 1.89K
  • geschenkalarm.adf 880.00K
  • geschenkalarm.asm 809B
  • geschenkalarm.exe 100B
  • screenshot-blink.gif 7.82K
  • screenshot.png 2.33K

file_id.diz

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, <string>, 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