scene.org File Archive

File download

<root>­/­parties­/­2023­/­vccc23­/­christmas-diamonds/atsampson_amiga_assembler_vc3-2023.zip

File size:
933 255 bytes (911.38K)
File date:
2024-01-03 14:15:17
Download count:
all-time: 3

Preview

  • crystal.adf 880.00K
  • crystal.bin 196B
  • file_id.diz 1.57K
  • realmachine.jpg 938.15K
  • result.png 3.78K
  • source.png 23.44K
  • source.txt 2.74K

file_id.diz

The Amiga Bootblock Crystal

Author:   atsampson
Category: Christmas Challenge
System:   Commodore Amiga
Language: Assembler
Len source code: 2804
Len exe file:    208
Len code only:   196
Instructions:
  crystal.adf is an Amiga disk image that will boot into the program.
  Start the FS-UAE emulator in its default PAL Amiga 500 configuration
  with the disk image:
    fs-uae crystal.adf
  Or do the same with MAME:
    mame a500 -flop1 crystal.adf
Description:
  The program is written as a disk bootblock, with no dependencies on the
  operating system. It relies on being loaded into chip RAM, though;
  on an Amiga with non-chip RAM it won't work with Kickstart 2+. I've tested
  it successfully on a 2.5MB A500 with 1.3, and a 2MB A500+ with 2.04.

  The 68000 code generates a single-bitplane image of three stars and a
  program for the Amiga's "copper" graphics coprocessor, then starts the
  copper and enters an infinite loop. The copper does most of the work: it
  sets up a custom graphics mode and palette, then displays the stars
  twice for each line using a pair of playfields, with different
  horizontal offsets and colours.

  The program was cross-assembled using asmotor and the disk image built
  with xdftool. MAME's unidasm was useful for optimising instruction
  encodings.
Comments:
  I was surprised that nobody did an Amiga version last year. I liked the
  idea of doing this with copperlists - you could add some subtle animation
  with a few more bytes. I suspect that using a single bitplane for the whole
  image and drawing it with the CPU would be smaller overall, though...