English Amiga Board


Go Back   English Amiga Board > Support > support.Other

 
 
Thread Tools
Old 22 September 2010, 18:27   #1
h0ffman
Registered User
 
Join Date: Aug 2008
Location: Salisbury
Posts: 744
ProTracker Module Compression

Hi Guys

Sorry if this is in the wrong place. I'm looking to put together an old school A500 music disk. Track loaded using only 512k.

My question is whats the best way to compress a protracker module under these restrictions?

I know there was a lossy sample compression routine used on the Suburban Base music disks, but not really interested in loosing quality.

I was thinking of writting a little routine which would change the samples so the first byte is like a key frame and then its only the differences between each byte. Chuck that through Imploder and see what happends?

Any thoughts?

Cheers
h0ffman is offline  
Old 22 September 2010, 18:38   #2
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
If they have to be compressed while playing, The Player and maybe Noisepacker are two options. If they only have to fit on the disk, crunch them with anything you like. Others can give you tips on those 'make executable music' programs, and you can crunch them with Powerpacker or something and just run them as commands. (A bit trickier if OS is not on.)

Crunching notedata as per above gives a healthy gain, but if the songs have a lot of sampledata, you can try misc. things, like the deltaconversion you mentioned. Anything that will gain more than a few percent is likely to take a long time decrunching on the 68000. I'm sure you would get much smaller modules by forcing the musicians to optimize the samples by hand with the usual methods.

You could always go with multiple disks... ?

Last edited by Photon; 22 September 2010 at 18:48.
Photon is offline  
Old 22 September 2010, 19:07   #3
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
I would go with The Player 6.1. Its converter tool can do delta conversion on the samples as you mentioned, and it removes redundant space in the pattern data to reduce file size as well.

For additional file compression you could try CrunchMania, which is probably the best file compressor for the classic Amigas. It can do in-place decompression, the decompressor is small in size and the M68K source code is available as well.

Photon, being the the mild mannered, modest and humble person he is, forgot to mention he has recently optimized the P61 replayer as well. P61 has been the de facto standard way of replaying PT modules on the Amiga for many years, and with his updates to it I honestly don't see any reason for using any of the alternatives.
Leffmann is offline  
Old 22 September 2010, 19:20   #4
pmc
gone
 
pmc's Avatar
 
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
I agree with Leffmann - after Photon's updates The Player is the one to use for module compression / playback really.

Personally I prefer using ProRunner2.0 as my module player but that's just a personal preference - although it can compress (and play back compressed) ProTracker modules it's not as good at compressing them as The Player is.

As regards then also compressing the data on disk I'd personally go with StoneCracker for the crunch / decrunch.

I'm sure you don't need any help with the routines h0ffman but if you like you're more than welcome to have my trackloader code - it has the ultra quick StoneCracker decrunch code already integrated.
pmc is offline  
Old 22 September 2010, 19:35   #5
ant512
Registered User
 
Join Date: Dec 2002
Location: California
Posts: 964
I used to use CrunchMania. I had an executable that would run in the background and transparently decrunch any CrunchMania data files that were accessed without any user or programmer effort. I wonder what that was called?

EDIT: rtdd - RunTime Data Decruncher.

Last edited by ant512; 22 September 2010 at 19:41.
ant512 is offline  
Old 23 September 2010, 12:26   #6
h0ffman
Registered User
 
Join Date: Aug 2008
Location: Salisbury
Posts: 744
Cheers for the tips guys, looks like The Player 6.1 is the way forward, managed to get my largest module for this music disk down to 465k playable size.

Although that leaves me with about 45k to get the loader and menu in!! JEEEZZ this is gonna be a squeeze!

@PMC - Any help on this would be greatly appreciated mate, I haven't done any 68000 for over 15 years!! and to be fair, when I did cracking I used to nick other peoples loaders.

So guys, what do you reckon I can squeeze in 45k?
h0ffman is offline  
Old 23 September 2010, 13:04   #7
pmc
gone
 
pmc's Avatar
 
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
Quote:
Originally Posted by h0ffman
@PMC - Any help on this would be greatly appreciated mate, I haven't done any 68000 for over 15 years!! and to be fair, when I did cracking I used to nick other peoples loaders.

So guys, what do you reckon I can squeeze in 45k?
My trackloader along with decrunch routine is 766 bytes - that small enough for you...?

Although to get it down that small I had a fair bit of help from StingRay and others to be fair.

So, that still leaves you over 44Kb for your music selector.

A nice elegant selector should be do-able in that space I would've thought...
pmc is offline  
Old 23 September 2010, 14:33   #8
StingRay
move.l #$c0ff33,throat
 
StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
Quote:
Originally Posted by h0ffman View Post
So guys, what do you reckon I can squeeze in 45k?
Not that much since a standard 40*256 5 bitplane screen would need 51200 bytes already. However, what about loading the samples for that very large module on the fly? That's what I would do at least.
StingRay is offline  
Old 24 September 2010, 03:51   #9
sun68
Banned
 
Join Date: Dec 2008
Location: Germany
Posts: 68
All most Module-Packer running How? -->

Protracker - Module - Example - Assembling:

THE HEAD

NAME "My Lame Module" -> TYPE : CHAR : BYTE
TRACKS "12" -> TYPE : CHAR : BYTE
PATTERNS "40" -> TYPE : CHAR : BYTE
SAMPLE NR "31" -> TYPE : CHAR : BYTE
etc.

THE SAMPLES

1 - 31 in RAW

-> converted THE HEAD BYTES to BITS
-> 8 BITS = 1 BYTES
-> its Smale its Fast
______________

Shorter Head, but not Samples are packed.
sun68 is offline  
Old 24 September 2010, 12:43   #10
h0ffman
Registered User
 
Join Date: Aug 2008
Location: Salisbury
Posts: 744
Managed to do a bit more optimisation in protracker on the samples. The file size as P61 is now 394,214 bytes, now leaving 130,074 bytes (or there abouts!)
h0ffman is offline  
Old 24 September 2010, 19:29   #11
Asle
Registered User
 
Join Date: May 2006
Location: Paris/France
Age: 52
Posts: 526
[rant almost off topic]
Please don't use The Player as it destroys the protracker header.
If size matters more than speed, you can always remember that His Master Noise contained more than 100 protracker (~13 Mb) on two disks, and there was _no_ The Player at that time.
[/rant]
Now, flame me while I go hiding

Sylvain
Asle is offline  
Old 24 September 2010, 19:36   #12
StingRay
move.l #$c0ff33,throat
 
StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
Quote:
Originally Posted by Asle View Post
Please don't use The Player as it destroys the protracker header.
What does that matter in a music disk? If you want the original modules you can always ask the musician anyway.

Quote:
Originally Posted by Asle View Post
If size matters more than speed, you can always remember that His Master Noise contained more than 100 protracker (~13 Mb) on two disks, and there was _no_ The Player at that time.
Not Protracker but Noisetracker songs. And Mahoney & Kaktus actually coded their own tracker/play routine for it so it doesn't differ much from any other custom player such as P61.
StingRay is offline  
Old 24 September 2010, 19:57   #13
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
The reason they could fit so much music into HMN was because all songs used a common set of samples.
Leffmann is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
How can translate David Whittaker module to protracker Thyphoon request.Modules 35 30 January 2021 10:55
Best Compression Methods For... Lonewolf10 Coders. General 16 16 June 2013 17:31
Compression Suggestions h0ffman Coders. General 2 31 December 2010 12:19
Data compression History DH Nostalgia & memories 21 23 October 2008 13:18

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 17:18.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09622 seconds with 13 queries