Author Topic: SID tracker / player on CPC (non plus)  (Read 35853 times)

0 Members and 1 Guest are viewing this topic.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2278
  • Likes Given: 3478
Re: SID tracker / player on CPC (non plus)
« Reply #75 on: 15:07, 23 January 14 »
What BSC is saying is that it's not so simple as other players to use.

With normal AY players you call it once per frame, it takes x number of cycles to execute. You can then do other work during the frame. It drops in easily.

With this player, it needs work doing every line. You need to interleave your code within the limitations of this, in addition as BSC says, the player reserves some registers, so you also need to work within that constraint. It's much harder work.

It's not impossible, but it's much harder to use and probably just about ok for simple games. When I say simple, I mean a game where you can fit it into this constraint rather than a game involving simple mechanics.

In a demo you know exactly how long it takes, you can re-work your code to fit within these constraints so it's much easier.


So, having it on a static title screen: yes
Having it during loading: almost impossible.
having it during a game: Yes, but it would be really hard to work with it.
Using it in a demo: yes.

With a game you always hit problems with amount of ram, amount of cpu time and it's hard work to optimise, and that's when you choose the easy option of a normal AY player ;)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.760
  • Country: gb
    • redbox
  • Liked: 338
  • Likes Given: 269
Re: SID tracker / player on CPC (non plus)
« Reply #76 on: 15:35, 23 January 14 »
Nope.. See my other response.

Haha, okay.  It's your engine  ;)

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #77 on: 17:29, 23 January 14 »
So, having it on a static title screen: yes
Having it during loading: almost impossible.
having it during a game: Yes, but it would be really hard to work with it.
Using it in a demo: yes.


I second all of this. And I'd like to extend: During loading is not almost but completely impossible.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1983
  • Likes Given: 4650
Re: SID tracker / player on CPC (non plus)
« Reply #78 on: 19:13, 23 January 14 »
However.... there is a solution for all of this: Use TotO's CTC-AY, it can generate NMI's based on a timer. So let the CTC-AY generate an NMI every 72 ys. The NMI routine plays the SID emulation and then returns immediately. This also works in team with regular interrupts when done correctly.


There will be about 30% CPU time free.  ;)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #79 on: 22:10, 23 January 14 »
The third demo is incredibly rich in sound!
If the 3rd demo was done in the non-sid way, it would be interesting to see what the difference in ram consumption.


by the way.. I totally forgot to mention it: when you do that tune without a sid voice you end up with a plain AY tune.
I wonder why anyone interested in [new, sid, different, other] sounds on the cpc would want that ..


Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #80 on: 22:22, 23 January 14 »
However.... there is a solution for all of this: Use TotO's CTC-AY, it can generate NMI's based on a timer. So let the CTC-AY generate an NMI every 72 ys. The NMI routine plays the SID emulation and then returns immediately. This also works in team with regular interrupts when done correctly.

There will be about 30% CPU time free.  ;)


Yeah, maybe .. but - as I will patiently repeat again and again and again - this project is about a software based solution. If you needed additional hardware you'd exclude anyone without it. And I want it to run on a plain old CPC 6128. No Plus, no add-ons, no PC-based editor, no internet connection, no comprehensive online help with automatic updates and google+ interface... Seems hard to grasp, but it's the truth.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1983
  • Likes Given: 4650
Re: SID tracker / player on CPC (non plus)
« Reply #81 on: 22:25, 23 January 14 »
Haha! You got a WELL point there.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline gerald

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.510
  • Liked: 1054
  • Likes Given: 259
Re: SID tracker / player on CPC (non plus)
« Reply #82 on: 22:28, 23 January 14 »
However.... there is a solution for all of this: Use TotO's CTC-AY, it can generate NMI's based on a timer. So let the CTC-AY generate an NMI every 72 ys. The NMI routine plays the SID emulation and then returns immediately. This also works in team with regular interrupts when done correctly.
Not sure the Z80 can handle NMI every 72 yocto second 72*10^(-24)  :P

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1983
  • Likes Given: 4650
Re: SID tracker / player on CPC (non plus)
« Reply #83 on: 23:58, 23 January 14 »
Well, it works for every 64, so why not for 72.  ;D
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #84 on: 15:12, 24 January 14 »
I'll upload the latest version of the tracker later today so anyone who's interested in combining AY with wave instruments can play around with it.
The editor is still very basic, so don't expect soundtrakker quality editing possibilities ;)


Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.289
  • Liked: 581
  • Likes Given: 60
Re: SID tracker / player on CPC (non plus)
« Reply #85 on: 16:09, 24 January 14 »
I need to give this a go at some point.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1983
  • Likes Given: 4650
Re: SID tracker / player on CPC (non plus)
« Reply #86 on: 19:00, 24 January 14 »
Great to see how this project evolves in big steps.  :)

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #87 on: 18:36, 25 January 14 »
Dear folks! Another preview (see attachment). This time a bit more of Final Fantasy containing different tracks using different instruments,
all AY voices and the wave engine modulating voice B (like the sid3 example).. PLUS: A working track (aka pattern) and sequence (aka songlist) editor!
very basic still, indeed, but I think you get the point, when you have a look at it. Try to re-arrange the song or create your own!
And if you do so I'd love to see more snapshots being uploaded here :D

The screen is now made up of 4 parts (switch using the tab key), instrument params (top left) with instrument tables below,
the sequences (top right) with track lists for the voices wave, AYa, AYb, AYc and finally the track editor (bottom left) where you
can enter notes (using the current instrument). Entering/displaying notes is quite different from how you might be used to it.
The length of a note is not anymore dependent on its position in the track but is now a parameter you have to enter (the 1st
hex-value after the note-octave pair). It's also kind of recorded when you enter notes, i.e. the duration of your key press is measured
and stored in the track (one of the many ideas I have is to have a quantizer function here). You can also edit the duration by pressing
enter on the duration column.

All of it is very fiddly, I know, but it's based on the concept that all music data is stored in a way that is optimized for the player,
and not necessarily for a human being. That's for speed's and thus audio quality sake. I have a couple of ideas as to how to remedy
this (like showing longer notes as bigger lines, i.e. the height of a note line is dependent on its duration) but I am really curious to
hear you ideas and suggestions (apart from add-on suggestions and other off-topic chit chat :-P).

Creating this track (apart from the instruments, which were already there) took my about 40 mins maybe.. The final editor will
be much more easy to use, so you get an idea :) 

Some hints concerning how to use it:
press space to play the song (except for when editing instrument tables), esc to stop
- instrument, pattern and octave control have been moved to the f-keys, so:
f1,f2,f3 toggle AYa, AYb and AYc
f4 and f7 decrement / increment the instrument #
f5 and f8 dec / inc the octave (the displayed number is off by one!)
f6 and f9 dec / inc the current track for editing

In the track editor, you can only move around using the cursor keys and press enter to
type a hex value representing the track #. $ff means loop (i.e. jump to the sequence start)
scrolling is not yet supported, so beware of the upper and lower row!

Please also have a look at the "manual" I posted with the first preview. Apart from the changes I just mentioned,
all the keys (should be.. fingers crossed) are still the same. 

Offline Devilmarkus

  • Vivid source of indefiniteness
  • 6128 Plus
  • ******
  • Posts: 4.035
  • Country: de
  • WebCPC / JavaCPC developer
    • index.php?action=treasury
    • CPC-Live website
  • Liked: 1016
  • Likes Given: 926
Re: SID tracker / player on CPC (non plus)
« Reply #88 on: 19:31, 25 January 14 »
Sounds very cool... Now who adds some drums? ;)

Keep on going with your project! Good work!
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Offline ralferoo

  • Supporter
  • 6128 Plus
  • *
  • Posts: 970
  • Country: gb
  • Liked: 583
  • Likes Given: 222
Re: SID tracker / player on CPC (non plus)
« Reply #89 on: 20:24, 25 January 14 »
Looks good. I'm confused though... compared to the previous version the shift-left/right for instrument select doesn't seem to work and I've not figured out how the sequences editor works and moving around in there seems to scroll the screen and cause everything to move out of position.

The sounds it's making are good though but I don't really have any idea what's going on! :)

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #90 on: 21:25, 25 January 14 »
Looks good. I'm confused though... compared to the previous version the shift-left/right for instrument select doesn't seem to work and I've not figured out how the sequences editor works and moving around in there seems to scroll the screen and cause everything to move out of position.

The sounds it's making are good though but I don't really have any idea what's going on! :)


Sorry, I forgot to mention the re-mapped keys and the ones for the sequence editor.
I have just updated my latest post.

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #91 on: 13:08, 03 February 14 »
everybody seems to be composing away ..

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 16.252
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3587
  • Likes Given: 6493
Re: SID tracker / player on CPC (non plus)
« Reply #92 on: 13:17, 03 February 14 »
Wow, that sounds great, noise notwithstanding!

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #93 on: 23:12, 05 February 14 »
Wow, that sounds great, noise notwithstanding!


The noise is gone in the current version.. BUT: 24 downloads and only 1 comment? no opinions? no suggestions?
Feels like I should conclude that no one is really interested in the tool :(

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1983
  • Likes Given: 4650
Re: SID tracker / player on CPC (non plus)
« Reply #94 on: 00:08, 06 February 14 »
Oh there is interest. But if you bash at people who gave comments, then they will get silent. An honestly you're pretty resilient to good advice.  ;)  No bad intention, but you did ask, so I answered you.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #95 on: 00:14, 06 February 14 »
Oh there is interest. But if you bash at people who gave comments, then they will get silent. An honestly you're pretty resilient to good advice.  ;)  No bad intention, but you did ask, so I answered you.  :)


But you gave a meta-answer. And I have yet to see good advice from you - at least concerning this project. I am resilient (very much indeed), yes, sometimes,
but I don't think that my resilience in this thread has done any harm to the project..

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1983
  • Likes Given: 4650
Re: SID tracker / player on CPC (non plus)
« Reply #96 on: 00:16, 06 February 14 »
Good so. Because it's a good project!  :)


Ok... whenever you feel like doing that... would be great to add some shortcut / key description in the program... Now I shut up, the stage is yours.  :-X
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.289
  • Liked: 581
  • Likes Given: 60
Re: SID tracker / player on CPC (non plus)
« Reply #97 on: 00:42, 06 February 14 »

The noise is gone in the current version.. BUT: 24 downloads and only 1 comment? no opinions? no suggestions?
Feels like I should conclude that no one is really interested in the tool :(

How do I open the sna file?

Also - I am very interested in this. A while ago I was asking questions in a thread about the possibility of creating a music game in the style of Space Channel 5/ Rhythm Tengoku. This would be good for it.




Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #98 on: 01:01, 06 February 14 »
How do I open the sna file?

Also - I am very interested in this. A while ago I was asking questions in a thread about the possibility of creating a music game in the style of Space Channel 5/ Rhythm Tengoku. This would be good for it.

The sna (snapshot) file should work with most emulators. Typing run + enter after loading should give you the tracker.

Hey Baby! Listen to my Face! :D 


I don't know.. Even though there's not much animation in Rythm Tengoku I think that would be kind of hard to do. The player needs a lot of CPU time and you had to interweave
all your game logic,
display routines, keyboard and joystick scanning with that. Not really impossible, but it would require you to think and code quite differently from what you might be used to.
I must admit though, that I have not yet really tried anything like that - even demo effects. And on top of that, I am not an expert in game creation.


Are you planning to write such a game?

Offline BSC

  • CPC6128
  • ****
  • Posts: 280
  • Country: de
  • CPC 464 aspirant
    • my (Android) mobile game
  • Liked: 384
  • Likes Given: 316
Re: SID tracker / player on CPC (non plus)
« Reply #99 on: 01:04, 06 February 14 »
Ok... whenever you feel like doing that... would be great to add some shortcut / key description in the program... Now I shut up, the stage is yours.  :-X


It's a safe bet that some kind of help (screen) will be there one day.