scene.org File Archive

File download

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

File size:
169 248 bytes (165.28K)
File date:
2024-01-03 14:15:17
Download count:
all-time: 3

Preview

  • amix_amiga_m68k-assembly_vc3-2023/ dir
  • amix_amiga_m68k-assembly_vc3-2023/dmnd.exe 140B
  • amix_amiga_m68k-assembly_vc3-2023/dmnd.exe_screenshot_with_source.png 165.02K
  • amix_amiga_m68k-assembly_vc3-2023/dmnd.s 552B
  • amix_amiga_m68k-assembly_vc3-2023/dmnd_verbose.s 1.46K
  • amix_amiga_m68k-assembly_vc3-2023/file_id.diz 1.91K

file_id.diz

<dmnd.exe | dmnd.s>

Author: <Amix / CTG>
Category: <Christmas Challenge>
System:   <Amiga>
Language: <Assembler, (CPU:68000; Rom:3.1; OS:1.3; chip:512KB; fast:0KB; slow:0KB>
Len source code: <# 557 bytes>
Len exe file:    <# 140 bytes>
Len code only:   <# 140 bytes>
Instructions:
<Precondition: installed winUAE or FSUAE with the following mandatory configuration:
CPU:68000; Rom:3.1; OS:1.3; chip:512KB; fast:0KB; slow:0KB; 
- configure a shared directory (or use for your OS a directory instead of a hard-file).
- first copy on your host system the files to your shared directory (e.g., your OS-dir or other shared dir)
- start your emulator with your OS
- change to the directory your copied the file and execute the binary by typing: dmnd.exe>
Description:
<First I started thinking to approximate the diamond by a math function (e.g., sine) but that was not a good one ;-) Then my idea - once again - was to find a nice encoding for the data. - I know I'm stubborn. So, the approach I thought would be practical was to find out what made up half the diamond shape.  Actually with only 2 values per line you can make it - since everything repeats just use the division rest (i.e., modulo) to keep it within the ranges of the first diamond - no matter how far you go. You scale horizontally and vertically as you want. - just change the loop-counters in the source code. So the core is to fetch every new line the next tuple of the two values which define the diamond. In the first line the positions (3,3); in the second line (2,4); third line (1,5); fourth line (0,6) - then back to the tip...>
Comments:
<It's a pity - this year again - I didn't find enough time to think a little deeper about my approach. BUT I am sure If I've had found enough time I wouldn't have found the optimal solution anyway ;-) I am just too stubborn to think out of the box. I will try to improve my way of thinking next year... best regards. AMX.>