English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 11 March 2021, 00:24   #1
leonard
Registered User
leonard's Avatar
 
Join Date: Apr 2013
Location: paris
Posts: 99
A new really fast MOD replayer

Hi!

Another Amiga MOD replayer! Key feature of this one is .. speed Average speed per frame is 6 times faster than previous fastest amiga player. Hope you'll appreciate!

https://www.pouet.net/prod.php?which=88177
leonard is offline  
Old 11 March 2021, 00:28   #2
Antiriad_UK
OCS forever!

Antiriad_UK's Avatar
 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 386
Yay. Can’t wait to try out. Just commented on pouet - how does it work as replayer code looks nothing like replay code would love an insight.
Antiriad_UK is offline  
Old 11 March 2021, 00:30   #3
Jobbo
Registered User

Jobbo's Avatar
 
Join Date: Jun 2020
Location: Lexington, MA
Posts: 181
Sounds incredible!

Could you possibly write up some details on how players normally work and how you managed such an amazing improvement?

I would be fascinated to hear the details!

Thanks regardless! Awesome contribution!
Jobbo is offline  
Old 11 March 2021, 00:37   #4
Antiriad_UK
OCS forever!

Antiriad_UK's Avatar
 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 386
Quote:
Originally Posted by leonard View Post
Hi!

Another Amiga MOD replayer! Key feature of this one is .. speed Average speed per frame is 6 times faster than previous fastest amiga player. Hope you'll appreciate!

https://www.pouet.net/prod.php?which=88177
Btw. You should have skipped light speed and gone full spaceballs ludicrous speed

[ Show youtube player ]
Antiriad_UK is offline  
Old 11 March 2021, 00:47   #5
leonard
Registered User
leonard's Avatar
 
Join Date: Apr 2013
Location: paris
Posts: 99
basically all magic is in the converter and the new data format. The converter is really processing the music file (all mod fx are supported), and basically output a stream of direct amiga hardware register values. To keep the final data size reasonable I tested tons of various data encoding and I'm happy with the final result. LSP files are "almost" same size as original .mod file ( sometimes smaller, sometimes bigger, depends of the .mod)
The "insane" mode is a generated source code using a dedicated piece of code for every combine of hardware registers to set per frame. Obviously all combine won't fit, so only patterns used in the specific .mod are generated.
I wrote LSP when I was writing some Amiga world records and I was annoyed by the "peak" time of all other player. Like if you want to beat a sinus-dots demo, every cycle count
leonard is offline  
Old 11 March 2021, 00:54   #6
Jobbo
Registered User

Jobbo's Avatar
 
Join Date: Jun 2020
Location: Lexington, MA
Posts: 181
Thanks Leonard!

When can we see these record breaking effects? Revision???!!
Jobbo is offline  
Old 11 March 2021, 00:54   #7
lesta_smsc
Registered User

lesta_smsc's Avatar
 
Join Date: Feb 2012
Location: United Kingdom
Posts: 2,739
Already posted on another topic for the same player, but well done @leonard on this. I wonder how this will change things for the future of demo scene where every byte counts! I know there are some demo competitions for very small files on pouet so this could be a game changer - is there scope to use this on PC for say .xm type files?
lesta_smsc is offline  
Old 11 March 2021, 00:54   #8
Antiriad_UK
OCS forever!

Antiriad_UK's Avatar
 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 386
So sounds similar to the really old school spectrum 128 files where it’s a stream of output.

Current intro I’m working on is deep into note triggers and/or e8 triggeres. Can I message you about those?
Antiriad_UK is offline  
Old 11 March 2021, 04:59   #9
a/b
Registered User

 
Join Date: Jun 2016
Location: europe
Posts: 376


Took a quick look at the standard player. One question: are there any restrictions regarding the minimum sample size? It looks like you are using the same method to set the repeats as P61 in noshortsamples mode (postponed until the next frame, instead of after ~11 raster lines).
a/b is offline  
Old 11 March 2021, 09:11   #10
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,792
This is really cool, I'll be checking it out for sure!
Great stuff, the code seems easy to integrate as well
roondar is offline  
Old 11 March 2021, 09:42   #11
leonard
Registered User
leonard's Avatar
 
Join Date: Apr 2013
Location: paris
Posts: 99
Quote:
Originally Posted by Jobbo View Post
Thanks Leonard!

When can we see these record breaking effects? Revision???!!
That was the plan, but unfortunately my gfx artist was too busy and I didn't get any gfx in time for Revision That's why I release LSP as a standalone (LSP was sleeping on my disk for too long )

I still have some features I want to add for next version:

- ability to "sync" music with demo effects, without losing any cycle if you don't need to sync ( probably generating a table with frame number <-> mod position. Then it's up to the user to sync using the frame count number

- LSPConverter already "simulate" the complete mod and warn you if some samples are not played completely. Right now it's just a warn, but I can just strip the end of the sample ( I think no amiga tool is doing that right now )
leonard is offline  
Old 11 March 2021, 09:51   #12
ross
Defendit numerus

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 50
Posts: 3,244
Great stuff Leonard!

Quote:
Originally Posted by leonard View Post
- LSPConverter already "simulate" the complete mod and warn you if some samples are not played completely. Right now it's just a warn, but I can just strip the end of the sample ( I think no amiga tool is doing that right now )
Perhaps you can do the opposite as well ('enlarge' the sample) in the case indicated by a/b a couple of messages above.

ross is offline  
Old 11 March 2021, 09:56   #13
Samurai_Crow
Total Chaos forever!

Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 46
Posts: 1,654
@leonard
Would using the Copper as a feeder to the registers behind the visible portion of the display be a plausible upgrade path? It would allow the CPU portion of the player to mesh with the "copper node" sorting and interleaving so that multiple calls for when the tempo would have required multiple CIA interrupts to be replaced by a callback hook in the copper list generation. A fortunate side effect of counting timing by rows of rasters at 15KHz would work equally well on PAL and NTSC modes. Having to wrap around the vertical blank with copper activity would seem to be the only side effect, other than the music nodes being stored in Chip RAM.
Samurai_Crow is offline  
Old 11 March 2021, 11:03   #14
leonard
Registered User
leonard's Avatar
 
Join Date: Apr 2013
Location: paris
Posts: 99
Quote:
Originally Posted by ross View Post
Great stuff Leonard!


Perhaps you can do the opposite as well ('enlarge' the sample) in the case indicated by a/b a couple of messages above.

that's is definitively a good idea: doesn't slow down the replayer at all. I never found an audio issue with really short sample. Do you know any .mod file that have this "frame delay to set replen" issue I can test?
leonard is offline  
Old 11 March 2021, 11:16   #15
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 997
Quote:
Originally Posted by leonard View Post
- LSPConverter already "simulate" the complete mod and warn you if some samples are not played completely. Right now it's just a warn, but I can just strip the end of the sample ( I think no amiga tool is doing that right now )

That's really cool! If you do strip away the unused data, though, be sure to take care of PAL/NTSC base clock differences, and maybe leave a few bytes' headroom for the benefit of non-cycle-exact emulation?


I'd also like to say thank you for sharing the source of your tiny LZ4 depacker.
robinsonb5 is offline  
Old 11 March 2021, 11:37   #16
alexh
Thalion Webshrine
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 12,631
Very cool. I wonder... does it save anywhere near enough cycles to software mix two channels into one? Leaving 1 channel free for SFX?
alexh is offline  
Old 11 March 2021, 12:03   #17
chiark
Needs a life

chiark's Avatar
 
Join Date: Jan 2008
Location: England
Posts: 1,689
Brilliant, especially to keep size down too. Could this be the basis of a new format for Amiga audio...? (Realise it's basically a format that's setting hardware registers, but all the same it could be the right thing at the right time on that front too!)
chiark is offline  
Old 11 March 2021, 12:55   #18
ross
Defendit numerus

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 50
Posts: 3,244
Quote:
Originally Posted by leonard View Post
Do you know any .mod file that have this "frame delay to set replen" issue I can test?
Sorry no, right now no specific .mod comes to mind.
I can only assume that some peculiar 'chip' type modules are more likely to suffer from this.
ross is offline  
Old 11 March 2021, 13:53   #19
saimo
Registered User
saimo's Avatar
 
Join Date: Aug 2010
Location: Italy
Posts: 397
Congratulations and thanks!
saimo is offline  
Old 11 March 2021, 14:28   #20
pink^abyss
Registered User
 
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 271
Quote:
Originally Posted by leonard View Post
basically all magic is in the converter and the new data format. The converter is really processing the music file (all mod fx are supported), and basically output a stream of direct amiga hardware register values. To keep the final data size reasonable I tested tons of various data encoding and I'm happy with the final result. LSP files are "almost" same size as original .mod file ( sometimes smaller, sometimes bigger, depends of the .mod)
The "insane" mode is a generated source code using a dedicated piece of code for every combine of hardware registers to set per frame. Obviously all combine won't fit, so only patterns used in the specific .mod are generated.
I wrote LSP when I was writing some Amiga world records and I was annoyed by the "peak" time of all other player. Like if you want to beat a sinus-dots demo, every cycle count
Great execution Leonard! As always, you win over any amiga coder in optimization

Inspired by LFT from C64 I tried the same a year ago with my Pretracker replayer but my data exploded. A 3 minute song took around 50kb of replayer data when the original song only had 7kb of pattern data, so i scrapped it
pink^abyss 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
Replayer dissasembly request passing_by Coders. Asm / Hardware 6 18 December 2017 16:25
Digibooster 2 Replayer Routine Emufr3ak Coders. Asm / Hardware 2 13 June 2017 07:29
Replayer archive? absence Coders. General 4 17 March 2011 14:24
acurate protracker replayer! h0ffman Coders. General 1 12 December 2010 10:19
Best MOD replayer RickyD-II Coders. General 8 09 July 2007 03:04

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 03:40.


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