TriloTracker stand-alone replayer

Page 1/2
| 2

Par Huey

Prophet (2694)

Portrait de Huey

12-04-2015, 11:37

Decided to make a new thread for the stand-alone re-player for TriloTracker.

The latest version can be found here: https://github.com/cornelisser/TriloTracker-Re-player/releas...

As of today (12-04-2015) I have release version 0.3 of the re-player and compiler.
Please let me know in case of any issues or questions.

!login ou Inscrivez-vous pour poster

Par tonigalvez

Champion (311)

Portrait de tonigalvez

12-04-2015, 12:52

Thats wonderfull.

Par ARTRAG

Enlighted (6935)

Portrait de ARTRAG

12-04-2015, 13:26

Is the format for compiled songs the same of previous version?
I replaced the code in the uridium 2 wipe and I had distorted music.
I haven't had the time to investigate but I could also have some rom page problems unrelated to the replayer code

Par Huey

Prophet (2694)

Portrait de Huey

12-04-2015, 13:47

ARTRAG wrote:

Is the format for compiled songs the same of previous version?
I replaced the code in the uridium 2 wipe and I had distorted music.
I haven't had the time to investigate but I could also have some rom page problems unrelated to the replayer code

Music needs to be recompiled with the latest compiler. Some changes on the format were needed.

Par Manuel

Ascended (19466)

Portrait de Manuel

12-04-2015, 16:21

Too bad the compiler isn't in some portable source code format like C or simple C++ or so.

Par ARTRAG

Enlighted (6935)

Portrait de ARTRAG

12-04-2015, 22:00

I compiled the TMU files with the new compiler and anything is perfect again!
Thanks!
I have a feature request for the replayer: it could be very handy to support a memory paging system, e.g. a 8K mapper or a 16K mapper. Now easily the compiled songs become larger than 16K and allocating them in active RAM without paging can be almost impossible in projects of medium size.

I would use sjasm page management with :label to get the page number of a label and "code" operator to split data across different pages.
If you arrange data to have that a tracks are alway stored as a whole in a page, you could probably manage them by adding a table of pages with a byte per track.
I.e. after
; [ Song order pointer list ]
.restart:
dw .track_0,.track_1,.track_2,.track_3,.track_4,.track_5,.track_6,.track_7 ; Sequence step 0 /pattern 0
dw .track_8,.track_9,.track_10,.track_11,.track_12,.track_13,.track_14,.track_15 ; Sequence step 1 /pattern 1
[...]
dw 0x0000, .restart ; End of sequence delimiter + restart address.

you should have something like this:
; [ Song order page list ]
db :.track_0,:.track_1,:.track_2,.track_3,:.track_4,:.track_5,:.track_6,:.track_7 ; Sequence step 0 /pattern 0
db :.track_8,:.track_9,.track_10,:.track_11,:.track_12,:.track_13,:.track_14,:.track_15 ; Sequence step 1 /pattern 1
[...]

Note that in sjams you have also 24 bits words defined by dt
You could also do something like this:

; [ Song order page & address list ]
dt (:.track_0<<16) + .track_0,(:.track_1<<16) + .track_1,(:.track_2<<16) + .track_2 ecc.

Par ARTRAG

Enlighted (6935)

Portrait de ARTRAG

12-04-2015, 22:06

Another option could be to return from replay_play a special value meaning that the current song has ended.

In this way one could manually chop long musics in separate chunks that can singularly fit in the pages of the mapper.
The code in the ISR should wait for the end_song signal and swap page starting the new chunk.

A side effect is that all the instruments and waveforms would go duplicated in each page, as the chunks would be independent musics...

Par Huey

Prophet (2694)

Portrait de Huey

12-04-2015, 23:34

Game music probably will fit in 16kb boundaries.
But adding paging support is easy. The last option would be very easy implement using the trigger effect command. You could just set a trigger to load the next part (new song) when needed.

Par ARTRAG

Enlighted (6935)

Portrait de ARTRAG

13-04-2015, 19:16

Triggers are awesome! you can put them at any time in the track and can be used to sync visual effects with musics.
I will try to sync enemy waves with music, so to have a sort of crescendo each time a wave approaches

Par syn

Prophet (2123)

Portrait de syn

10-02-2017, 01:31

Hi I have been using Trilotracker FM a lot lately, so I was wondering if a replayer for the FM version will appear in the near future? Would be very nice to use TTFM in games and demos etc

Par Huey

Prophet (2694)

Portrait de Huey

10-02-2017, 09:19

Hi Syn,

I'm still working on finishing some of the features (voice editor and drum macro's) and some bug (thanks for reporting them Wink ). After that I will work on the FM replayer.

I'm also eager to use FM music to my projects. I'll post an update as soon as there is a beta testing version available.

Page 1/2
| 2