Changes

AYC

2,383 bytes added, 09:15, 11 May 2016
Generic Standard file in CPC music. Really is a de-compressed and re-compressed [[YM]] file.
The "plain" YM format can not be played on CPC, because it uses LHA packing which is not unpackable in realtime. You need the AYC toolkit or YMcruncher to convert them to AYC, then you should be able to play them with various tools.
'''== AYC players (inside CPC system)'''==
----
- AYCplayer by OVL (MadRam & Beb = Overlanders) [Thanks to F-Key to preserve it]
----
- 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
'''== YM to AYC utils'''==
----
- CPC amsdos --> YM2AY (Kit ayc) by MadRam
== AYC file format ==----An AYC file is basically just a particular YM file that has been compressed using a Lempel-Ziv like algorithm.<br />There are two main sections inside an AYC file:<br />* Header* Data === Header === The header contains info about the tune duration, the registers data offset in the file and the buffers sizes for decompression.{| class="wikitable"|-! Offset !! Size !! Description|-| #00 || 2 || Song duration (number of vertical refresh period)|-| #02 || 1 || Buffer size<sup>1</sup> for register 0|-| #03 || 2 || Crunched data offset<sup>2</sup> in the file for register 0|-| ...|-| 3*n + #02 || 1 || Buffer size<sup>1</sup> for register n|-| 3*n + #03 || 2 || Crunched data offset<sup>2</sup> in the file for register n|-| ...|-| #29 || 1 || Buffer size<sup>1</sup> for register 13|-| #2A || 2 || Crunched data offset<sup>2</sup> in the file for register 13|-| #2C || 6 || RESERVED (defaulted to #FFFFFFFFFFFF)|} 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 bufferFlags 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'''==
----
- There is only one PC command line util YMTOOL [ST-Sound
289
edits