
                                 FUJIBOINK!

                             for Commodore Amiga

                     by MnemoTroN / Spreadpoint in 2024


This is an Amiga conversion of the 1986 Atari ST original by Michael Park /
Xanth Computers, which is based on his Atari 8-bit original, which is based
on the 1984 Amiga original Boing ball.

All graphics, color and shading data was converted from the Atari ST version.

I started this conversion back in 1991 or 1992 when I remembered the ST
version and thought it would be fun to have it on the Amiga. I put the ST
executable through ReSource, first converting the ST exe format with
relocatable info to an Amiga exe so ReSource was able to also load the reloc
info. I was able to extract the animation frames and logo image from the data
file and display it on the Amiga, but the coloring was off and the project
went into hiatus until 2023 when I got back into the Amiga a bit. I found the
original C source from the magazine disk on GitHub[1] plus a technical
article[2] the original author published back then in START magazine and with
that knowledge went to finally finish the project.

The animation data is pre-shifted for the Atari ST so that the processor
doesn't need to do it in real time, that's why the animation frames are
directly tied to the X position of the Fuji. Of course, there's only a 180
degree rotation rendered and the rainbow replaces the front color for the
other side.

I wanted to remove the pre-shifting to use the Blitter on the Amiga, but my
conversion script in Python for that was buggy, generating some graphical
glitches in the converted data that I couldn't fix, so I'm using the
original pre-shifted data, converted to Amiga bitplanes.

The animation only uses three of the four bitplanes, so that the checkerboard
background does not clash with the Fuji images.

At some time in the process I realized that the logo colors in the published
version in START magazine are slightly different from the previously released
version that made the rounds in the 80's and that I first disassembled. The
programmer probably polished it for the magazine. I decided to use the later
version because it looks better that way.

The Amiga code is quite basic, it creates the checkerboard, fades the logo in
and out and then animates the Fuji logo. Calculation of the Y position was
also taken from the ST source.

When you run the demo in NTSC it fills the screen vertically since only
200 lines are used. It also runs in 60 fps, making it a bit smoother than
in PAL.

For sound generation I first used a sample, but thought that it could be
better generated with AmigaKlang[3]. Virgill came to the rescue and provided
an instrument preset that closely resembles the original sound that was
generated by the YM2149F in the ST. Thanks for that!

For a slightly smaller executable, the animation data is pre-packed with
zx0[4] and the final program with cranker[5].

The source code of FujiBoink! for Amiga will be released on GitHub[6] later.

It's a tiny project, but it was over 30 years in the making. Enjoy!

For those interested, there is an interview with Michael Park on YouTube[10].

Tools
=====

- WinUAE
- Visual Studio Code
- Amiga Assembly extension for VS Code

Links
=====

[1] https://github.com/larsbrinkhoff/FujiBoink
[2] https://www.atarimagazines.com/startv1n2/Fujiboink.html
[3] https://www.pouet.net/prod.php?which=85351
[4] https://github.com/emmanuel-marty/salvador
[5] https://aminet.net/package/util/pack/cranker
[6] https://github.com/mnemo70
[7] https://www.winuae.net/
[8] https://code.visualstudio.com/
[9] https://marketplace.visualstudio.com/items?itemName=prb28.amiga-assembly
[10] https://www.youtube.com/watch?v=LhrRJMm35fg
