Changes

Jump to: navigation, search

AYC

1,174 bytes added, 09:15, 11 May 2016
----
- Dual Module Player by Hermol
 
http://www.cpc-power.com/index.php?page=detail&num=5251
- TsP The Soundtrackker Player by TomEtJerry
http://www.cpc-power.com/index.php?page=detail&num=5075
== AYC file format ==
----
An AYC file is basically just a particular YM file that has been compressedusing a Lempel-Ziv like algorithm.<br />
There are two main sections inside an AYC file:<br />
* Header
* Data
 
=== Header ===
1. Two sizes defined in the AYC file format, #01 = 256 bytes, #04 = 1024 bytes<br />
2. Relative offsets, you must add n*3+4 to each value (where n is the register number), offset "#2E" for register 0 means that data starts at #2E + 0*3 + 4 = #32
 
=== Data ===
 
All registers data have the same format, which is a mix of Patterns and Flags.<br />
A Pattern can be of two types :
:* a Byte which can be directly send to the PSG
:* a Previously played Pattern identified by an offset and a length in the deflated buffer
Flags are included in the stream of Patterns to indicate the type of Pattern.
 
To be finished as soon as possible (Fkey)
 
=== Sample File ===
 
The marvelous "Jim power 2.ym" has been converted to the AYC format and the following is what we get for the header.<br />
Let's analyse this to understand how it works.
 
[[File:JimPower_AYC_2.jpg]]
 
===== Header =====
* Song length in VBL is : #1CE5 ( ~ 2 minutes 27 seconds)
* Register 0 buffer size is #100 bytes
* Register 0 Offset is calculated as follow : #002E + 4 + (3 x 0)= #0032
* Register 1 buffer syize is #100 bytes
* Register 1 Offset is calculated as follow : #03B2 + 4 + (3 x 1) = #03B9
* Register 2 buffer size is #100 bytes
* Register 2 Offset is calculated as follow : #04DA + 4 + (3 x 2)
* ...
== ToDo ==
289
edits