svein83 / HippoPlayer

HippoPlayer - a module player for the classic Amiga

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HippoPlayer

This repository contains the source code for HippoPlayer, a module player for the classic Amigas with OS 1.3 or higher. Binary distribution is available here: http://aminet.net/mus/play/hippoplayer.lha

Tools used in development:

  • Amiga 1200 with kickstart 3.0, Amiga 500 with kickstart 1.3
  • ASM-One v1.28
  • fimp file compressor, available here: http://aminet.net/util/pack/imploder-4.0.lzh
  • Gadget's Editor by Stefano Crimì (included without permission)

Files and directories

  • puu016.s: The main very small source file
  • keyfile0.s: Keyfile generator
  • playergroup0.s: HippoPlayer.group data generator, this file includes the compressed binaries for replay routines
  • regtext.s: Possibly important file related to calculating checksums, see notes below
  • kpl14.s: Protracker replay routine source
  • kpl: Protracker replay routine binary
  • gadgets: Gadget's Editor files for the user interface
  • pl: Replay routines for different module types and compressed binaries for each
  • scopes: External scopes and related stuff
  • Include: Some needed include files.
  • gfx: The hippo logo

Build instructions

The standard include files will be searched from include: directory, these are not included. Some custom includes and some others are included.

Tested to compile with ASM-One v1.28 and ASM-Pro v1.17. Compile the file puu016.s to get the main binary. It should start if you have reqtools.library available.

To build the player group file, read the playergroup0.s and assemble, it will create a binary bundle out of the files in the pl-dir.

To build the Protracker replay routine, assemble the file kpl14.s and write out the binary to kpl.

To build individual replay routines, assemble one in the pl-directory, write out the binary and compress it with fimp, then re-create the group file.

Notes

There is a checksum macro check in the main source file which is called at certain points. This checks if the application strings have been altered, making the app exit if the check fails. There is a CRC checksum check in the file Hippo_PS3M.s which does the same as the simpler check mentioned above. It will jump into a busy loop and display colors on screen if the check fails.

About

HippoPlayer - a module player for the classic Amiga

License:MIT License


Languages

Language:Assembly 100.0%