20 May 2022, 12:47 | #1 |
Registered User
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 410
|
Plastic Dove (using improved PreTracker Replayer)
https://www.pouet.net/prod.php?which=91551
(6860 bytes PreTracker replayer, Pretracker Synth + Song). This release features the new optimized 'Pretracker 1.6' replayer to allow easier use in intros (less rastertime, smaller replayer). The PreTracker synth precalcs all samples on startup. For actual replaying packed register dumps are used which get decompressed at runtime. The iterative PreTracker packer tries to find a balance between song size, decompression performance and final size when compressed with Shrinkler. Longer songs pack better and data size doesn't grow linearly with playtime. The PreTracker song 'Plastic Dove' from Abyss' 'Coda' intro is used as example (Duration 1 minute, 35 seconds): The register dump takes 153.568 bytes. The packed data takes 12.802 bytes. No additional memory is needed to uncompress the data on the fly. (Better pack ratios are possible but they cause larger files when finally compressed by Shrinkler). The replayer takes around 10 rasterlines on A500 and needs no interrupts. This already includes the mandatory 8 rasterlines DMA wait which are needed by PreTracker tunes that use certain features. In this intro a slightly smaller but slower version is used (this gains another 1000 bytes in the final size). Last edited by pink^abyss; 20 May 2022 at 12:53. |
20 May 2022, 14:33 | #2 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,522
|
Thanks for the release.
A couple of questions, maybe trivial, but I've never looked at the code of the previous versions. Does this mean you use a technique similar to Leonard's LSP? Quote:
Cheers! |
|
20 May 2022, 15:38 | #3 | |
Registered User
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 410
|
Quote:
Yes, it is similar. Both replayers use register dumps. Leonards is highly optimized for speed and sample driven Protracker modules. For non chipmusic modules his approach is nearly perfect. For example if you convert "Rink-A-Dink.mod" the size with LSP is 23kb, but for "zapped-out.mod" (a chiptune) you get 48kb (tho 48kb is still fine of course ). Also a song that plays twice as long needs twice as much data because LSP does no compression beyond a single frame of data and the following same data. The new PreTracker replayer uses a dictionary based compressor. That is necessary because PreTracker usually writes data with much less entropy to the registers then a Protracker module. That is because it can modulate the loop settings and has a custom ADSR and a seperate instrument pattern. Using a bit packing approach like LSP easily produces 70kb or even larger files. Also PreTracker almost always needs the 2x4 rasterline waits to do its DMA stuff. In this two seperate waits 2 Paula channels are depacked. The replayer is certainly not perfect but i think 10 rasterlines peak is useable for most situations, and I don't like to handle interrupts if not really necessary. Of course, technically Leonards player is much more advanced. I'm not sure if the LSP timing charts also account for the interrupt handling, but his speed is unbeatable. |
|
20 May 2022, 20:10 | #4 |
move.w #$4489,$dff07e
Join Date: Sep 2005
Location: Norfolk, UK
Age: 43
Posts: 2,351
|
Great stuff pink - I enjoyed having a listen whilst drinking my coffee at work today
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
PreTracker 1.5 released | pink^abyss | News | 30 | 09 July 2024 16:45 |
Pretracker routine in Blitz? | Amiga1992 | Coders. Blitz Basic | 10 | 26 April 2022 19:58 |
Preamp II / Nectarine a Pretracker Musicdisk | virgill | Amiga scene | 6 | 17 March 2022 14:46 |
Cheesy listening - pretracker Musicdisk for OCS Amigas | virgill | Amiga scene | 9 | 20 February 2022 18:36 |
Plastic on Plastic = damaged stuff! How to fix? | ElectroBlaster | support.Hardware | 3 | 08 October 2021 00:21 |
|
|