Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
Elusive Groove   [2020]

Elusive Groove Released by :
Artline Designs [web]

Release Date :
31 January 2020

Type :
C64 Music

AKA :
Flex' hands on !Cube

User rating:**********  9.5/10 (22 votes)   See votestatistics

Credits :
Code .... Scorpion of Artline Designs, Origo Dreamline
Music .... Flex of Artline Designs
Graphics .... Flex of Artline Designs


SIDs used in this release :
Elusive Groove(/MUSICIANS/H/Hannula_Antti/Elusive_Groove.sid)

Download :

Look for downloads on external sites:
 Pokefinder.org


User Comment
Submitted by Saphir on 20 December 2020
Everything less than a 10 would be unfair ;)
User Comment
Submitted by Scorpion on 21 March 2020
Stinsen, I think I already briefly commented this for "Cakewalk".

Since I have been asked about this already a few times, I think it is better to try and describe here how it works (it is not really too complicated, although has several bits and pieces required to make the whole things jive).

First of all, the visualiser works live and supports 1x and 2x tunes. Currently it works with GoatTracker, as well as CheeseCutter and DMC(v4). In principle, it should work with pretty much any player.

The only pre-processing required is a bit of code that goes through the player code and 'hooks' (i.e. instead of STA $d4xx, STA $d4xx,x or STA $d4xx,y, a JSR to specified memory address is performed) the commands writing to the SID registers, so basically it should work with any player. Some player-specific settings are needed (mainly start and end address of the music player code location), as well as information on whether the tune is a 1x or 2x tune, but once those have been set in the source code (as simple configuration "flags"), the process is automatic and is performed upon the start of the program (meaning no offline processing is required).

What each "hook" does is simply as follows
- the given value is written to memory instead of the SID chip
- also a "boolean" true is written to the memory for the SID register in question (this is needed because not all SID registers are written each time the player is called, and therefore one needs to keep proper bookkeeping of actual SID register writes in addition to the
- returns back to the music player.

Now, since the SID registers are not written by the music player, one can define when to actually play the music. In case of this visualiser, what I do is that upon start (after the hooks are setup) I start reading the SID writes and immediately draw the visualiser based on those values (see the note stuff below) to the right edge of the screen, which then is scrolled to the left.

The actual music is played from memory properly delayed so that the visualiser data that has scrolled to the middle of the screen is the exact time where the music plays. At this point, I also clear the "boolean" values in the memory for each SID register that was written to, so that the next time we visit the same memory addresses, the "boolean" information is correct.

The visualiser data is just multicolor character GFX (3 differnent charset each 6*40 = 240 chars on top of each other) that is created on the fly. The "highlights" in the middle of the screen showing the current notes played are done with sprites. The height of each "highlight" depends on SID voice gate changes as well as whether the note frequeqncy has changed or not. And when a highlight has the largest value (i.e. the highlight "bar" is the largest", it starts to go smaller each frame or so until it reaches the minimum value (same height as the note visualiser gfx), until gate is switched on or the note frequency changes.

The notes are "matched" from the actual SID voice frequency values with a simple search algorithm.

The indices to memory addresses where the SID data (and the "booleans") are written are increased every time the music player is called. These (or in actuality it is a single variable) indices are a single byte variables, resulting in a ring buffer (as the index values go from $00 to $FF and then back to $00).

For an 1x tune, this means up to 5.12 seconds worth of music (or, more specifically, list of whether to write and if so, which values to be written to the SID) is stored at any given time, whereas for an 2x tune it is up to 2.56 seconds. The speed of the visualiser GFX scroll is selected so that the time it takes to scroll the visualiser data from the right edge to the middle of the screen is a bit less than 2.56 seconds, which makes it work for both 1x and 2x tunes. However, this "limitation" is just a practical one, I could make it longer (at the expense of memory consumption, of course), but there was no need for that for this visualiser.

I hope this clarifies the principle to anyone interested.
User Comment
Submitted by Stinsen on 21 March 2020
Really lovely conversion, interesting to hear as a SID! <3

@Scorpion: I'm really impressed by the visualizer. Is there any pre-processing involved or all live? If possible a technical write-up would be much appreciated. :)
User Comment
Submitted by Steel on 14 March 2020
pure love FLEX
User Comment
Submitted by Yogibear on 7 February 2020
Very enjoyable!
User Comment
Submitted by Hawk on 6 February 2020
Yeah thats a really fucking cool convertion.... maybe someond should start a Atari STe maxYMiser conversion combo?? There a much more nice maxYMiser tracks in youtube.....

I am really pissed off that i dont can compose.....
User Comment
Submitted by Slator on 2 February 2020
love the original song, thanks for the c64 version of it, soo nice
User Comment
Submitted by SMC on 2 February 2020
Very well done! Love the sounds!
User Comment
Submitted by ChristopherJam on 1 February 2020
Hot damn this is good.
User Comment
Submitted by uctumi on 1 February 2020
Great track! Demoscene feeling all along! And great visuals!
User Comment
Submitted by Carrion on 1 February 2020
Oh wow! This is really fantastic one!
User Comment
Submitted by TheRyk on 1 February 2020
YEAH
User Comment
Submitted by Dymo on 31 January 2020
Nice moving melody... cheers! :)
User Comment
Submitted by Richard on 31 January 2020
Nice music, I like it :)
User Comment
Submitted by Jammer on 31 January 2020
Excellent! <3
User Comment
Submitted by chatGPZ on 31 January 2020
Damn fine sound. great!
User Comment
Submitted by hedning on 31 January 2020
YEAH! wife is not home, so I can pump it!

User Comment
Submitted by Joe on 31 January 2020
Nice! I like the visuals also.
User Comment
Submitted by Mibri on 31 January 2020
Really nice cover! In your style it sounds a lot like the tune you did for Triad's Neon demo!
User Comment
Submitted by Compyx on 31 January 2020
Groovy!
Search CSDb
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (20)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
Forum
· Discuss this release
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.087 sec.