I agree. I always restricted my selection of notes more than you do, so it hasn't hit me as hard.carlsson wrote:1. Tweakable note table, preferrably saved with song data. I'm sure you have produced the best sounding table for C major, but sometimes if you compose in a different key, things can sound a bit off. I've been struggling with finding the best frequencies for VIC-20 music since 1996, and it can be a pain sometimes to find the best combination of key and frequencies.
Sounds interresting, noted!carlsson wrote: 2. Duplicate effect byte. To make an effect like arpeggio or portamento last through the note, the effect has to be added to each row of the note (++). If there is a key to copy the current effect byte into a buffer, and for every time you press SHIFT SPACE to get a ++ row, the effect byte will be added, it'd be a nice improvement IMHO. Press the same key to detoggle this feature.
I deliberately skipped this to keep the clutter down, but it could be useful in some cases.carlsson wrote:3. Transpose pattern in pattern list? Not only copy-paste-transpose, but maybe it would be useful to reuse the same pattern in different keys.
Could be... do you have an example of this?carlsson wrote:I found that portamento + tie note yields a bit funny results in some cases, like the ending note is way higher than expected.
Really cool!carlsson wrote:Enough complaining, this is what I've worked on. It is a 3/4 cover of one of ABBA's hit songs, packed with arpeggios, some vibratos and glides.
http://www.cbm.sfks.se/files/MONEYMON.VT
I see what you mean about the frequency table. What I did was choose a key that worked best, and used that. If you want to tweak the table, I suggest you do that post-optimization in an assembler. I have it in the TODO list to make this table editable, but it's not the highest priority.
I am glad you managed to run the song compiler, it more or less requires a Unix environment (cat/sed/perl). I put a lot of effort into it! Try '-v' for verbose info about what it does.carlsson wrote:Then I tried to execute vtcomp under MinGW. I have all the required tools, and I managed to compile it, but it didn't execute well. It works in Linux though. This tool outputs an assembly listing, which I merged with the simple raster timing routines Marko wrote many years ago. Finally, I had to Pucrunch it to fit in unexpanded VIC-20. (don't clear screen)
The link is not working.carlsson wrote:http://www.cbm.sfks.se/files/money.prg (PAL version)
I'm not sure how to do a NTSC version. Victracker has an option for a such play speed, and I can change the timing parameters for NTSC speed, but I don't know which to fiddle with.
However if you just run: "vtcomp -v moneymon.vt moneymon.asm" it will produce both an assembly source file + the source and assembled version of a runner that handles running the song on a vic20, including the interrupt. Currently it runs in the native raster speed to emulate what would happen if run in a demo. It breaks if the song is too long in memory as it always tries to be compatible with an unexpanded vic.
It could easily be modified to run the originally intended speed. I should add a switch for that.
Anyway the interrupt routine for the editor is in "musiced/playersupport.asm" and the timer values are in "include/vic20.i"
Note: I saw that you use quite a few patterns, the maximum is $7f. Just so you know.