ArkosTracker MSX playroutine, SDCC as-z80 syntax

Pagina 1/4
| 2 | 3 | 4

Door yzi

Champion (441)

afbeelding van yzi

20-01-2013, 12:49

Here's my adaptation of the ArkosTracker playroutine to the as-z80 syntax, so you can use it in your SDCC cross-development projects. In addition to the syntax changes, there are some other minor changes like changing the player from
http://www.kameli.net/~marq/kode/ArkosTrackerPlayer_MSX.s
http://www.kameli.net/~marq/kode/ArkosTrackerPlayer_MSX.h

Maybe I should have made a proper release package with examples and everything, but I'll just make a forum post here, and see if anyone is interested, and if there are any questions.

Excerpt from the .h header file:

extern unsigned char *PLY_SongPtr;

extern void PLY_Init(void); 
extern void PLY_Play(void); 
extern void PLY_SendRegisters(void); // Two-phase player! first call PLY_Play() and then PLY_SendRegisters(). 
extern void PLY_Stop(void); 

How to use in your own programs
1. set PLY_SongPtr to point to your binary song data that you've exported form Arkos Tracker
2. call PLY_Init()
3. call PLY_Play() and PLY_SendRegisters() at 50Hz or 60Hz rate or something
4. call PLY_Stop() when you're done

Questions?

Aangemeld of registreer om reacties te plaatsen

Van yzi

Champion (441)

afbeelding van yzi

20-01-2013, 12:54

Doh. How do I edit a post. I meant to say, there are some other minor changes like changing the player to a two-phase system where you first call PLY_Play() and then you can do something with the register values, and output the PSG port settings later with PLY_SendRegisters().

By the way, also check out the MSXLib library that has lots of useful routines for SDCC development.
http://www.msx.org/forum/development/cross-development/msxli...

Van yzi

Champion (441)

afbeelding van yzi

20-01-2013, 13:59

The two-phase system also lets you balance sound output timing accuracy vs. precious vblank time usage, as you see fit. You can, for example, just output the port values to the PSG at the beginning of the vertical blank interrupt handler, then use the high-speed VDP access time window for fast VRAM upload, and start processing the next sound tick only after that. This way you waste as little of the vblank time as possible, while still getting a rock solid timing in your sound output. If your VRAM upload takes a reasonably constant time, you could also place the PSG port upload after that, without messing up the timing feel of the music. (Not all people are as sensitive to such timing jitter, but I personally don't like it, if the player's "ticks" aren't steady.)

Van yzi

Champion (441)

afbeelding van yzi

20-01-2013, 14:03

In other words, in step 3, you should really call PLY_SendRegisters() first, and then PLY_Play().

Van ericb59

Paladin (875)

afbeelding van ericb59

18-10-2018, 21:21

Hello,

I know ... THis thread is very old...
But I did not find anything newer ...

Is someone already tried this player ?
Or is there new one available

Van Wolverine_nl

Paragon (1046)

afbeelding van Wolverine_nl

19-10-2018, 09:10

Actually never heard of this player module?

Van reidrac

Expert (68)

afbeelding van reidrac

19-10-2018, 21:29

I'm using Arkos 2 for my MSX project (and I used it in a CPC game).

http://www.julien-nevo.com/arkostracker/

It is currently "alpha", but I think that's mostly the tracker; in my experience the player is ready to use.

Van keith56

Master (153)

afbeelding van keith56

20-10-2018, 07:58

Chibiakumas uses ArkosPlayer (V1) for music and sound on the MSX,ZX Spectrum, CPC and even Enterprise (Via AY emulation)
It's a great player/Tracker, and I'd highly recommend it!

I covered using Arkosplayer in my Multiplatform Z80 Assembly tutorials some time ago:
https://youtu.be/Wt3hhcdXY5c

Van MsxKun

Paladin (924)

afbeelding van MsxKun

20-10-2018, 11:38

ericb59 wrote:

Is someone already tried this player ?

Yes, I used it at the AAMSX Music Discs that collect tracks from Cultura Chip's music compos. They feature Vortex Tracker, Arkos Tracker and WYZ Tracker tracks usually. But I think all Arkos tracker files where for first version so I didn't try Arkos 2 yet.

So maybe it's time to test it Big smile Downloading linux version...

Van reidrac

Expert (68)

afbeelding van reidrac

20-10-2018, 12:02

Arkos 2 main feature (for me) is that the tracker is multi-platform and it supports Linux!

It is a great tracker (although keep in mind it is alpha and some bits in the UI are missing for now), and the player code is very readable and easy to modify if you need something specific.

Van MsxKun

Paladin (924)

afbeelding van MsxKun

20-10-2018, 13:00

reidrac wrote:

Arkos 2 main feature (for me) is that the tracker is multi-platform and it supports Linux!

It is a great tracker (although keep in mind it is alpha and some bits in the UI are missing for now), and the player code is very readable and easy to modify if you need something specific.

Yes, I got it cause it works on linux.
Specific.... well, it needs support for 6/9 channel tracks on MSX too Smile Dual PSG... SCC+PSG...

Pagina 1/4
| 2 | 3 | 4