![]() |
![]() |
![]() |
| Format name
: The player 5.0A Created by : Jarno Paananen (Guru/Sahara Surfers) (1993) Sources : * Own converted MODs with the packer (sent by Gryzor !) Note: Arg !, such a note packing method !. Pfff ... it took me almost 10 hours to write (and debug) a depacker !. God, how can he use such a mess ?!?. Anyway, I'm not sure if it's the best crunching rate yet, but it certainly is good :). Somehow, I guess he did better with the P60A and P61A ... I'll tell you when I begin them :). I know, however, that it's possible to do yet a bit better ! (I did :)
The following is repeated NOS times
with 6 bytes description for one sample
Note: if the sample size is > $FF00 (this case is impossible under ptk !), you have to NOT this sample size and you'll get the number of sample you have to repeat (the datas are the same). The first possible value is 00 !
Note Packing :
* case 1 : (flag bit set to 0)
* case 2 : (flag bit set to 1)
Note : 'value' is signed. if 'value' is < 80h, then follow 'value' empty rows. if 'value' is > 7Fh, then the current note is repeated 100h-'value' times * case 3 : (flag bit set to 1)
Note: Yop, that's the main packing goody ... . Well, if the first byte is $80, the second is the number of lines we'll have to repeat, and the last two bytes (a word in this case) is the number of bytes to go back to reach the starting point where to read our lines. Err, substract the number of bytes to the current file pointer position (meaning after having read these 4 bytes) !. IMPORTANT!: while repeating notes, if you encounter the case 2 (empty rows or one line repeated), IT COUNTS ONLY FOR ONE LINE, whatever the number of empty/repeat row you'll have to do !!!. so much easier ... grrr For all those cases: relative note number: (Protracker)
become : (P50A)
Information: When you encounter the effect command D or B (pattern break/jump), the track data ends, as stated upward. What's important, is that ALL the other tracks of THIS pattern have the same number of row as the one which ends with the break/jump. As an exemple, if track 0 has a pattern break at line 2, the 3 other tracks have ONLY 3 rows ! Follow Sample datas
Note: As described in the sample headers, all the samples are not always saved !. Refer up there to get the point :) Note: If the samples are delta, use the following formula :
|
Click "back" to go back :)