English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General > Coders. Releases

 
 
Thread Tools
Old 20 May 2022, 12:47   #1
pink^abyss
Registered User
 
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 408
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.
pink^abyss is offline  
Old 20 May 2022, 14:33   #2
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,474
Thanks for the release.

A couple of questions, maybe trivial, but I've never looked at the code of the previous versions.

Quote:
Originally Posted by pink^abyss View Post
The register dump takes 153.568 bytes.
Does this mean you use a technique similar to Leonard's LSP?

Quote:
Originally Posted by pink^abyss View Post
This already includes the mandatory 8 rasterlines DMA wait which are needed by PreTracker tunes that use certain features.
Does your code do something during these 8 lines or just wait? Because in case an IRQ would be sure a better solution

Cheers!
ross is offline  
Old 20 May 2022, 15:38   #3
pink^abyss
Registered User
 
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 408
Quote:
Originally Posted by ross View Post

Does this mean you use a technique similar to Leonard's LSP?

Does your code do something during these 8 lines or just wait? Because in case an IRQ would be sure a better solution

Cheers!
Thanks Ross

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.


pink^abyss is offline  
Old 20 May 2022, 20:10   #4
musashi5150
move.w #$4489,$dff07e
 
musashi5150's Avatar
 
Join Date: Sep 2005
Location: Norfolk, UK
Age: 42
Posts: 2,351
Great stuff pink - I enjoyed having a listen whilst drinking my coffee at work today
musashi5150 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
PreTracker 1.5 released pink^abyss News 29 18 January 2024 08:29
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

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 16:22.

Top

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