Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > SDI 2.0 Beta
2006-02-21 18:17
6R6

Registered: Feb 2002
Posts: 245
SDI 2.0 Beta

Hi.
A working preview here:
http://home.eunet.no/~ggallefo/sdi/

Report your bugs and thoughts here:

GRG
2006-03-08 13:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ever thought about a "light" version of SDI? :-)
2006-03-08 18:44
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Can't find any bugs Glenn :)
2006-03-08 20:37
Oswald

Registered: Apr 2002
Posts: 5094
rambones, some compliments would do imho :)

afaik SDI is one of the best editors around these days, sadly lazy ppl use goattracker.
2006-03-08 22:28
cadaver

Registered: Feb 2002
Posts: 1160
Quote: Ever thought about a "light" version of SDI? :-)


Just don't learn the features that are too much and there's your light version :)
2006-03-08 22:33
V-12

Registered: Nov 2003
Posts: 206
SDI is da best, indeed, Glenn, will be there stereo version somehwere in time ? :)
2006-03-08 23:12
6R6

Registered: Feb 2002
Posts: 245
Hehe, Thanks :) I have a early light version of sdi from 1994.. have a look :

http://home.eunet.no/~ggallefo/pix/oldgt.png

Btw, How do i display pics in my posts ?

Murdock: I dont have a double sid myself. But if I had one
I would do it just for the fun :)

2006-03-09 09:36
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Hehe, Thanks :) I have a early light version of sdi from 1994.. have a look :

http://home.eunet.no/~ggallefo/pix/oldgt.png

Btw, How do i display pics in my posts ?

Murdock: I dont have a double sid myself. But if I had one
I would do it just for the fun :)



Nice picture :-O
Sure, it is probably the best c64 tracker. (at the moment) :-)

At the moment i plan a GT1 (maybe a mix between GT1+2) port for c64...
let us see how far I come...

2006-03-09 09:37
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Hehe, Thanks :) I have a early light version of sdi from 1994.. have a look :

http://home.eunet.no/~ggallefo/pix/oldgt.png

Btw, How do i display pics in my posts ?

Murdock: I dont have a double sid myself. But if I had one
I would do it just for the fun :)



Nice picture :-O
Where can I dowload it?
Sure, it is probably the best c64 tracker. (at the moment) :-)

At the moment i plan a GT1 (maybe a mix between GT1+2) port for c64...
let us see how far I come...

2006-03-09 13:36
AMB

Registered: Nov 2005
Posts: 15
I have been testing SDI 2.0 beta for some time now...
Seems to be OK. Needs a packer and an old song importer/converter...

Take care Glenn!!!

2006-03-09 14:17
Hate Bush

Registered: Jul 2002
Posts: 465
Quote: rambones, some compliments would do imho :)

afaik SDI is one of the best editors around these days, sadly lazy ppl use goattracker.


Not again. Pretty please.
2006-03-09 14:51
Frantic

Registered: Mar 2003
Posts: 1648
@Nata: My intuition tells me that your conversion of GT is not going to be reality. No offence intended.. :)

Salute to those editors/players that DO take physical form and become reality. Like SDI! Horray! (But a packer is still missing, right?)

Will be interesting to have a look at the player code for SDI2.0 later on (that includes HCLs changes and optimizations) as I found the player code/concept/structure for SDI1.8 a bit weird, to be honest. Somehow I find it to be "advanced" through adding features in a cumulative way, rather than just doing the basic stuff (writing to sid) but allow for complexity through flexibility, so to speak. Just a thought. Still I'd like to say a big Horray for it! Certainly one of the best! (Or the best, perhaps, depending on your purposes).
2006-03-09 20:14
Laxity

Registered: Aug 2005
Posts: 459
Quote: @Nata: My intuition tells me that your conversion of GT is not going to be reality. No offence intended.. :)

Salute to those editors/players that DO take physical form and become reality. Like SDI! Horray! (But a packer is still missing, right?)

Will be interesting to have a look at the player code for SDI2.0 later on (that includes HCLs changes and optimizations) as I found the player code/concept/structure for SDI1.8 a bit weird, to be honest. Somehow I find it to be "advanced" through adding features in a cumulative way, rather than just doing the basic stuff (writing to sid) but allow for complexity through flexibility, so to speak. Just a thought. Still I'd like to say a big Horray for it! Certainly one of the best! (Or the best, perhaps, depending on your purposes).


Not sure I get your point there Frantic.. It's an intersting subject, could you please elaborate?
2006-03-09 20:29
Frantic

Registered: Mar 2003
Posts: 1648
@Laxity: Well, to put it somewhat short. What you basically want to do with a player is to be able to set all sid registers, once for each frame (in the standard case), in a quite free and flexible way. You do not necessarily need concepts such as "instruments" and "effects" applied above this. I would argue that they have an inherent "stiffness" (non flexibility). Of course you want _some_ way to organize the sid settings so it does not only become like an uninterpretable blur of data just fed right into the sid. That wouldn't be so nice to work with for musicians. BUT, that doesn't mean that "instruments" and "effects" is a necessary way to organize it. Or rather having a predefined set of parameters included in "instruments" and a predefined set of "effects", each with separate code in the player. For example a "vibrato routine" AND a "slide routine" and soon. (Not even necessarily for the sake of optimizing the player, unless we're talking about the absolutely most stripped down ones, like john player.) These concepts have tended to be taken for granted for a very long time in c64 players/editor, in my opinion. It need not be so.
2006-03-09 21:51
cadaver

Registered: Feb 2002
Posts: 1160
It sounds like you might want some kind of macro-based player. In effect, each channel would have the current note (just to make it somewhat sane), and a pointer to a macroprogram, which could in turn control all sid registers directly, or set pointers to wave-, pulse-, frequency- & filterprograms, delay for x frames, jump into another place in the macroprogram etc.

For maximum flexibility, the macroprograms would not necessarily need to be tied into the channel they're executing on all the time, though for most sane purposes you'd want them to be tied :)

An usual "instrument" would thus consist of a following macroprogram:
- Do hardrestart (whatever way you want it), delay
- Set ADSR
- Set wavepointer
- Set freq/arppointer
- Set pulsepointer (if needed)
- Set filterpointer (if needed)
- End

but no-one would dictate that you'd have to use the macros that way :) And for performance reasons, macros could be converted to machine code embedded in the music data to not require a kind of virtual machine.

Btw. you might also want to look at Stephen Judd's controversial C64 music editors (Blahtune/Tunesmith). Ninjatracker is also a sort of minimalized and simplified macro-based player, there the macro-, wave- and frequencyprogram are the same, and there are some quite heavy limitations.
2006-03-10 07:48
Frantic

Registered: Mar 2003
Posts: 1648
@cadaver: Yes, in fact, that is what I was talking about. Haven't checked Ninjatracker until now really, but I see now that you have some parts of this concept implemented in there, in the wavetable, yep. (Thumbs up for supplying the player source btw! Checking it out right now.)
2006-03-10 09:07
Laxity

Registered: Aug 2005
Posts: 459
Interesting for sure. I'm much for instruments setups, commands etc. as I find this easy to work with, but from a programmers standpoint this is not a very generic approach not beautiful approach.. It is however very functional. One problem would always be that you need to organize your data in some way. This will present some limitations. Most of the players I know of, are programmed in the Hubbard tradition, and are programmed around interpretation of music concepts. One being the concept of rigid instruments. If you have a violin instrument, that is pretty rigid, I'd say.. You can play it in many ways, but it'll always remain a violin.. The concept of the macro based player will make this violin dynamic.. You can in essence shoot holes in it to make it sound different, or transform the violin body to stone.. This is not part of the traditional concept of music, but interesting never the less. . Argh.. Have to stop.. My daughter (5 months) thinks this is boring.. :) .. Will be back.. Interesting discussion!
2006-03-10 09:11
Frantic

Registered: Mar 2003
Posts: 1648
Sorry if drifting away from the initial topic, but I guess we're in one sense still discussing the player structure of SDI. ;)

@cadaver: Hey, I really liked this particular piece of code:

lda vpulseaddtbl-1,y
adc vchnpulse,x
adc #$00 ; <- THIS ONE
sta vchnpulse,x

I'll rip that one. ;) Did you invent it or did someone else use it first?

@Laxity: Got a 11 month old daughter over here. I know it can be hard to combine, but don't give up! I won't. Only lamers do. ;)
2006-03-10 09:17
Laxity

Registered: Aug 2005
Posts: 459
@Fran: Well... I've tried it before.. I have a son, age 3 .. It almost feels like routine :)

Edit: Crap... Sorry for all the typos.. That's a consequence of having to hurry I guess... (YEEES.. I'm comming!)
2006-03-10 09:44
cadaver

Registered: Feb 2002
Posts: 1160
Quote: Sorry if drifting away from the initial topic, but I guess we're in one sense still discussing the player structure of SDI. ;)

@cadaver: Hey, I really liked this particular piece of code:

lda vpulseaddtbl-1,y
adc vchnpulse,x
adc #$00 ; <- THIS ONE
sta vchnpulse,x

I'll rip that one. ;) Did you invent it or did someone else use it first?

@Laxity: Got a 11 month old daughter over here. I know it can be hard to combine, but don't give up! I won't. Only lamers do. ;)


I have been inspired by players storing pulse in nybble-reversed format (for setup) but I think that addition code wasn't borrowed from anywhere, or if it was, it was rather from some texturemapping code on PC :) I guess most coders/musicians won't tolerate that 8-bit pulse modulation horror...
2006-03-10 09:57
j0x

Registered: Mar 2004
Posts: 215
Interesting discussion.

I'm a big fan of the "program-your-own-instrument" approach. I did this on a player I did last year: Every SID register (8 or 16 bit) ran a script that could do simple operations like storing, adding and jumping. These scripts were controlled by starting/stopping notes and by explicitly starting and stopping scripts. That was extremely flexible, and worked very well. The player was very short for its flexibility, but it did take a lot of rastertime (slightly more than JCH's last player (20G4?)), so now I'm doing something else: Allowing the musician to code his instruments in assembler. That gives you a lot of freedom in choosing SID register write order, etc. Obviously, this "meta-player" approach is not very suitable for the non-coding musicians (sorry!). OTOH, in all probability, I'll be the only one ever using it :)

I haven't looked at the SDI 2.0 player (is it available yet?), but I assume it's using the "Hubbard concept".

/j0x
2006-03-10 10:17
Frantic

Registered: Mar 2003
Posts: 1648
@j0x: The latter approach sounds quite cool, albeit a bit cumbersome too I guess. I thought about it too, but scrapped the idea. If I would do it, I would do it the way Cadaver also suggested here, by converting tables of data into to code. That would also get rid of the raster eating "virtual machine" as he called it.

@j0x: Yes, SDI is along the lines of the Hubbard tradition.
2006-03-10 11:00
Dane

Registered: May 2002
Posts: 423
You want a flexible editor and a streamlined finished product in terms of rastertime and/or memory usage. I can recommend assembler optimizing once you're done with the composing bit.
2006-03-10 12:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Hehe, Thanks :) I have a early light version of sdi from 1994.. have a look :

http://home.eunet.no/~ggallefo/pix/oldgt.png

Btw, How do i display pics in my posts ?

Murdock: I dont have a double sid myself. But if I had one
I would do it just for the fun :)



and where can I download it? :-O
2006-03-15 14:36
soci

Registered: Sep 2003
Posts: 480
Hi GRG!

I'm not much into composing music, but may I ask why SDI includes an NTSC sound table? It's more than a half note off on pal systems.

I've noticed this problem with DMC first, as a lot a years ago Perplex/Singular complained that there's something wrong. He composed on a synth and then had trouble with converting he's works to C64, as even shifting notes was not accurate enough.

Is there any possibility to include a selectable pal table? I can send you a corrected one for SDI.

I understand that simply removing the false ntsc table would ruin the unique SID sound ;)
2006-03-16 08:05
6R6

Registered: Feb 2002
Posts: 245
Soci: I was unaware of this, send me your paltable so i can check.

2006-03-16 08:30
Radiant

Registered: Sep 2004
Posts: 639
I tried the 2.0 beta 6 out, but had some problems getting the "synth" mode to work. There were no problems replaying tunes correctly, but I got no sound at all when editing.
2006-03-16 08:50
6R6

Registered: Feb 2002
Posts: 245
Quote: I tried the 2.0 beta 6 out, but had some problems getting the "synth" mode to work. There were no problems replaying tunes correctly, but I got no sound at all when editing.

You cannot use the synth in the sound editor,
place your cursor in the sequencer and press F4 to set synth mode (blue edit bar).

You have to enter the sound (00-1f) or arpeggio (40-6f)
you want to use in the sequencer.
Now you should get sound.

You can also enter a glide value (21-3f).
Now hold down shift and press a synth key.

GRG
2006-03-16 09:00
Radiant

Registered: Sep 2004
Posts: 639
I did all things mentioned, still no sound.
2006-03-16 09:07
6R6

Registered: Feb 2002
Posts: 245
Quote: I did all things mentioned, still no sound.

Weird, check if this is ok on your side:

1. You need instruments in memory.
2. Make sure the channel you are using is turned on.
3. You will not get a sound output while using channel 4.
4. You will not get a sound output while editing tracks.
5. And finally, Your cursor must be inside the note column.

And if you set the cursor jumper to 00 (with shift+a or cbm+a) the cursor wont move while you play around on the synth.

GRG
2006-03-16 20:32
Laxity

Registered: Aug 2005
Posts: 459
Quote: Hi GRG!

I'm not much into composing music, but may I ask why SDI includes an NTSC sound table? It's more than a half note off on pal systems.

I've noticed this problem with DMC first, as a lot a years ago Perplex/Singular complained that there's something wrong. He composed on a synth and then had trouble with converting he's works to C64, as even shifting notes was not accurate enough.

Is there any possibility to include a selectable pal table? I can send you a corrected one for SDI.

I understand that simply removing the false ntsc table would ruin the unique SID sound ;)


Maybe this is a silly question, but is it a fact that a SID chip in an NTSC 64 produces a different pitch then a PAL 64 with the same values stored in the SID frequency registers? The bible says nothing about this, as far as I can see. Actually there's only one table of music notes and their sid frequency values.
2006-03-16 22:16
Frantic

Registered: Mar 2003
Posts: 1648
Yep! Check this page for info on how to calculate the freq depending on clock frequency:

http://unusedino.de/ec64/technical/aay/c64/sidmth.htm

...and by the way, I have a faint memory of once noting that the freq-table in JCH wasn't "perfect" in the sense of directly corresponding to the formula above. I may be wrong though, because I never really checked it. Just a... uh.. idea or something... that someone might find relevant or interesting. (After all, a "perfect" table is based on Bach's way of tempering scales, which means it is only "perfect" on average. That is, equally wrong for all different keys. A perfect scale for a specific key is not exactly calculatable in terms of BASEFREQ*2^(NOTE/12), even though this is how synths work etc.. ...so perhaps JCH's table is manually tweaked to sound a little better in common keys, or something. ..but you know people know this already, I guess, so I should stop blabbering now. :)
2006-03-16 23:23
cadaver

Registered: Feb 2002
Posts: 1160
Why not tune other instruments to SID? :) Anyway never understood why it's a big deal, there's a lot of music that isn't tuned to A-440Hz anyway. Though I personally hope/believe GT has by now a mostly correct 440Hz table for PAL..

Btw. one shortcoming of 440Hz PAL table is that by the highest note (B-7) you run out of the SID freq.scale and that note is bound to be out of tune if it's just clamped to the maximum $ffff.
2006-03-17 12:15
Laxity

Registered: Aug 2005
Posts: 459
Doh!.. Ok.. Makes sence that the SID outputs differently but I was hoping that it didn't (they forgot to inform about this issue in the Programmer's Reference Guide, I guess).. It's a little annoying.

The JCH table seems to be exactly the same I've always used in my players. And the one I used, I ripped from Rob Hubbard.. And since Rob Hubbard is god, it MUST be correct :) (B-7 being the exception though!)

2006-03-17 12:57
Stryyker

Registered: Dec 2001
Posts: 468
Someone in the PRG or the normal manual they list the sound output depends on the CPU frequency.
2006-03-17 18:46
Laxity

Registered: Aug 2005
Posts: 459
Oh, well.. Must have missed it!.. Or mayby I read it 15 years ago, but forgot all about it in the mean time. :)
2006-05-19 02:38
6R6

Registered: Feb 2002
Posts: 245
SDI 2.beta 7 with players here:
http://home.eunet.no/~ggallefo/sdi/
http://home.eunet.no/~ggallefo/sdi/sdi2beta7.zip

Share your bugs here..

GRG :)
2006-05-25 22:17
Stainless Steel

Registered: Mar 2003
Posts: 966
I just want to mention this is a great editor and player that is definitely worth checking out.

Just listen to the awesome tunes included in the download done by GRG.

Massive respect to GRG & GT for making such a fine piece of software.

Thanks !

2006-12-28 21:30
Henne

Registered: Feb 2005
Posts: 26
Hi!

I totally agree with stainless steel.
But one feature is still missing: load/save support for MMC64.
That would be a very nice feature. Will you add this?

Henne
2006-12-28 21:37
cadaver

Registered: Feb 2002
Posts: 1160
In a way MMC64 is quite an unfortunate device for tool/utility authors, it leaves (l)users expecting each of them to write lowlevel filesystem support :)
2006-12-29 01:55
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
Quote: In a way MMC64 is quite an unfortunate device for tool/utility authors, it leaves (l)users expecting each of them to write lowlevel filesystem support :)

isn't there some kernel load/save bios thingy? i mean, seriosuly, unless you need irq loading (ala dreamload), what the fuck is the point of every fucking program having to support it? fuck that for a game of ponies.
2006-12-29 02:29
cadaver

Registered: Feb 2002
Posts: 1160
Yes, but it requires extra hardware (RR) for the extra memory, and some (l)users are not happy with that. There's also an alternate bios with no extra memory requirement, but AFAIK it has only ILOAD vector support so far (?)
2006-12-29 04:04
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
Quote: Yes, but it requires extra hardware (RR) for the extra memory, and some (l)users are not happy with that. There's also an alternate bios with no extra memory requirement, but AFAIK it has only ILOAD vector support so far (?)

yeah, well, if they're not happy, maybe they can get fucked :)

(disclaimer: maybe this is why no-one used the versions of tfx that i added stuff to :))
2007-01-04 22:34
Henne

Registered: Feb 2005
Posts: 26
Well, I can live without it, but MMC64 support would be nice. So we'll wait for a bios with load/save routines, I guess...
2007-01-07 19:04
Bamu®
Account closed

Registered: May 2005
Posts: 1332
For my taste SDI 2.0 is a bit too complex. I would be happy if I could try out one of the first SDI versions... :)))

http://home.eunet.no/~ggallefo/pix/oldgt.png

Maybe, the best solution would be an alternative mmc64 bios that is only for "musicans".
2007-01-08 08:39
Stainless Steel

Registered: Mar 2003
Posts: 966
Quoting nata
For my taste SDI 2.0 is a bit too complex.


Not really, its about as complex as any other music editor (i dare to say gt is no less complex)

Its just a matter of time you invest to get around its usage. I'd say 1-2 weeks, given you know the basics of composing on the c64.

2007-01-08 12:47
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Quoting nata
For my taste SDI 2.0 is a bit too complex.


Not really, its about as complex as any other music editor (i dare to say gt is no less complex)

Its just a matter of time you invest to get around its usage. I'd say 1-2 weeks, given you know the basics of composing on the c64.



You are right. GT2 & SDI has about the same complexity.
2007-02-08 14:02
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Well, I can live without it, but MMC64 support would be nice. So we'll wait for a bios with load/save routines, I guess...


Maybe some custom loader/saver included in SDI would help. As far I can remember SDI has enough free memory for such a feature.
2008-02-25 21:32
Henne

Registered: Feb 2005
Posts: 26
Hi!

I made a tune in SDI 2.0 beta 7 that plays correctly in the editor. But in the stand-alone player it plays the first few patterns (or sequences) correctly and then one voice doesn't jump to the next pattern in time. From there on this voice is delayed with regard to the other two voices.
I already spent several hours looking for some error in the tune. But I didn't find anything. In the editor it seems to be ok.

GRG, I can send the tune to you if you want to have a look.


Henne
2008-02-26 16:17
Stainless Steel

Registered: Mar 2003
Posts: 966
I've had a similar problem with one of my sdi tunes lately. The first pattern of channel 3 would play 1 pattern delayed. i couldn't figure out why. I copied the pattern date from the pattern i thought caused the delay into another pattern and exchanged them. It worked after that. Not sure if that helps you.

2008-02-29 21:03
6R6

Registered: Feb 2002
Posts: 245
@Henne and Stainless Steel:

I looked at this today. And it is a player bug.
Load the player source into bmtass and
find the ;--- SEQUENCER--- part of the player.
Scroll down till you find the line saying:
"beq dur_20"
Remove this line and it should be ok.
2008-02-29 22:53
Stainless Steel

Registered: Mar 2003
Posts: 966
Oh btw glenn, ive been having the odd situation that the dumped tune has large sections of $00 bytes in it.

I removed them manually in tass and the tune worked fine afterwards. i think i read something somewhere about that problem but i dont recall where or what it was ?

PS : i still use the old 1.8 editor sometimes and just append the z8,z9 and fs sections to the dumped source from 1.8 when compiling with the 2.07 player. dunno if that has anything to do with it.

2008-04-03 14:34
Stainless Steel

Registered: Mar 2003
Posts: 966
Feature request : copy / paste across all 3 channels.

2009-07-28 21:16
6R6

Registered: Feb 2002
Posts: 245
At LCP 2009 we tested a swedish C64 with the SDI editor.
It turns out that it doesnt work very well. It has to do with the keyboard layout.
Swedish C64 is not compatible with the editor ( all versions ).
2009-07-29 12:01
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: @Henne and Stainless Steel:

I looked at this today. And it is a player bug.
Load the player source into bmtass and
find the ;--- SEQUENCER--- part of the player.
Scroll down till you find the line saying:
"beq dur_20"
Remove this line and it should be ok.


Don't remove BEQ dur_20, it has a purpose of setting higher duration in the packed data than $20. Simply having twenty free "-- ---" lines between commands make this bug. I forgot 15 years ago to add duration $20 also for that command. If you follow positive numbers in the tracker, you won't have this bug. It will be fixed though. ;)
2009-07-29 12:03
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: At LCP 2009 we tested a swedish C64 with the SDI editor.
It turns out that it doesnt work very well. It has to do with the keyboard layout.
Swedish C64 is not compatible with the editor ( all versions ).


Yes, that was my Swedish C-64, Glenn. Kernal-rom is swedish, so some keys are on the wrong positions. Well, it is swedish though, that says a little. It's not SDI's fault. :)
2009-07-30 09:56
booker

Registered: Jul 2003
Posts: 334
LOAD/SAVE of the instrument could be somehow a nice feature.
2009-07-30 10:09
Devia

Registered: Oct 2004
Posts: 401
as would a clear all, except instruments function.. aswell as a clear all function.
2009-07-30 17:33
Stainless Steel

Registered: Mar 2003
Posts: 966
I second the last two points. Though i've asked glen about the instrument saving feature some time back, he said it would be a major pain in the ass to implement.
2009-07-30 17:40
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Stainless: yes, because the various tables are shared by instruments. If you want to save instruments, you would need all those tables, pr instrument, means a lot more RAM use.
2009-07-30 20:02
booker

Registered: Jul 2003
Posts: 334
Quote: Stainless: yes, because the various tables are shared by instruments. If you want to save instruments, you would need all those tables, pr instrument, means a lot more RAM use.

I guess that's the idea behind saving the instrument - you save the definition and bytes from the tables it uses. This feature was working nicely in DMC v5. I'm not sure what preciselly is the problem about a lot of extra RAM?

I guess, if you load an instrument then editor can tell you whether it already has same bytes from wv,pu,flt tables and let you choose to use those instead of adding it again.
2009-07-30 20:11
Soren

Registered: Dec 2001
Posts: 547
Lazy poeople! The SID chip is VERY simple, it has very few registers to remember. Try to teach yourself to remember more or less how to do certain things. All it takes is some practise. To me it sounds a bit like some people need to be told how to wipe ass, EVERYTIME they've taken a dump, becasue they can't remember how to and have no manual for it :-) J/K ofcourse. And yes, it IS pain in the ass to code a "save single instrument" feature, unless you use some simple format where the same amount of bytes is used for each sound. :-)
Happy sound-programming people! :-)
2009-07-30 20:36
robozz

Registered: Oct 2003
Posts: 43
Quote: as would a clear all, except instruments function.. aswell as a clear all function.

You don't need a clear all function, just load
the "EMPTY MEMORY..." file!
(or make up your own if that one doesn't suit you)

to clear only track/sequence data from a monitor:

f 3000 ceff 00

f 3000 3002 a0 00 f8
f 3800 3802 a0 00 f8
f 4000 4002 a0 00 f8
f 4800 4802 a0 00 f8

f ee00 ee7f 00

it goes without saying that doing it this way is a little risky, type wrong and you could wipe other stuff... :)

PS. I agree with Jeff about the save instrument feature. It isn't really necessary, just save the whole tune instead, that way you save not one but ALL the instuments in one go!
2009-07-30 20:52
booker

Registered: Jul 2003
Posts: 334
Yeh, well. If saving the instrument is so much of a pain to do then better is to focus on fixing other stuff than adding a lousy feature :)

I still can't figure out why RETURN and SH+RETRUN do not work in subtunes (to put STOP / Jxxx) even though the subtunes were cleared. Bah. :)
2009-07-30 20:59
Stainless Steel

Registered: Mar 2003
Posts: 966
Jeff, no offence - but not everyone has been designing sid instruments for the past 20 years.

If it comes to you as easy as "wiping your ass" then that's fine and dandy for you.

For the rest of us mere mortals its not just a matter of memorizing some simple values.
Designing a good sid instrument takes a deeper insight into how to make a proper pulseprogram, how to cleverly arrange those "simple" waveforms etc.

I've been trying to wrap my head around the whole matter for the past 3 years, and I feel like I havent made any substantial progress.

Not to speak of understanding what i'm actually doing.

So much for the "easy-as-wiping-one's-ass" part. I wont rule out the posibility that i'm just too thick to understand it though.



2009-07-31 04:55
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
A good sound library, is part of any proper musicians arsenal.

For example, having 30 different basses, 50 snares etc.

Now Jeff will say, "Bah! preset lamer users!" - well, wrong.

Choosing the 'right' bass by loading it, and tweaking it later to fit completely, is ofcourse how it's done.

Also, a sound library, will enable more people to make music. Not all are sound creation wizards.

In 1986, Soundmonitor was a revolution to the demo scene, as a music editor, for 2 main reasons: 1) record with quantize, 2) save/load of single instruments.

Now Jeff will say: "Bah! all soundmonitor tunes use the same instruments!" - wrong! If you think this, you have to go listen 400 tunes again..


Well, I am able to make any sound i want, after many years of practise, and especially the last year, where i have used the editor every day, i learned a lot - so what do i care ?

Well, regardless that i can do what i want, i still think that building a sound library, is essential - so if we could get save/load of instruments, it will only be an improvement, and therefore we should do it..
2009-07-31 05:11
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
I forgot to mention Soundtracker, 1987, as an example too.
Yes, that ALL mods used the same samples in the first 2 years, can be seen as bad, BUT having the ST-01 to ST-07 disks, enabled a whole generation of mod trackers, to start their careers. Without swapping sample disks, only those few with a synth and a sampler could have made anything.
2009-07-31 05:32
Laxity

Registered: Aug 2005
Posts: 459
Different folks, different strokes..
2009-07-31 06:23
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
I have some old tunes that aren't released, from when i was learning to use SDI in 1998. Some of these tunes have sounds, that I could use in new tunes..

So i write them down on paper, and enter them into the new tune.. :)
2009-07-31 06:34
Linus

Registered: Jun 2004
Posts: 639
What grumpy old Jeff said.
2009-07-31 08:40
Stainless Steel

Registered: Mar 2003
Posts: 966
Ach Linus .. Doesnt GT support Instument Load/Saving btw ?
2009-07-31 09:22
Linus

Registered: Jun 2004
Posts: 639
It does, but I don't use it at all as I really can't see the point. I compare it with the process of mixing. You won't use a bassdrum that occupies the same freq range as the bass, no? It's all about making stuff fit and sit well in the 'mix' - that counts (to a certain degree) for sid music aswell.

Also, I can't see what's so hard about learning how pulse and filter stuff works. Use wikipedia and read it up. After that grab your favourite tracker's doc and see how to apply it to your table, et voila. I think it's solely an attitude problem :) Don't get me wrong, I am not throwing bricks at anybody, but saying it's rock science is just bullshit. The sid *is* simple compared to more sophisticated synths.
2009-07-31 09:30
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Yes yes.. but i think its completely stupid to enter the same 10 bytes a million times, to make the same drum or bass or whatever you want. its better, if you know what you need, that you can load it from a sound library.
2009-07-31 09:47
Linus

Registered: Jun 2004
Posts: 639
Ok, you don't seem to understand what I was trying to say. I am sorry. Anyway, different strokes and all ... :)
2009-07-31 10:06
6R6

Registered: Feb 2002
Posts: 245
Having Saving and Loading instruments in the next SDI version will not be a problem to program. If there's enough memory left we can implement it.

When writing a new song I prefer creating instruments from scratch. I feel that gives me better control on what I am working on. But I can understand the value of having a load/save instrument... so it's in the to do list.

Clearing memory can be done by loading the file named "Empty All".. that will also reset all music data to default settings. And turn all voices off for all subtunes.

2009-07-31 10:16
Conrad

Registered: Nov 2006
Posts: 849
Loading/saving instruments in my eyes are good for ones who are either just learning how to compose, or are too lazy to make their own ... harsh words I guess, but the truth hurts.

There is some limit though... for example, saving instruments that use 2/3 voices to make vocal/ring effects. Unless such editor is that intelligent to save instruments using multiple voices (which none of them don't so far) it would be difficult to keep a back-up of these for every song you compose.
2009-07-31 10:18
Stainless Steel

Registered: Mar 2003
Posts: 966
Quoting Linus
Don't get me wrong, I am not throwing bricks at anybody, but saying it's rock science is just bullshit. The sid *is* simple compared to more sophisticated synths
My friend, from your point of view that may hold true.
But then again, if it's no rocket science - why doesnt everybody's instruments sound as polished as yours or Jeff's f.ex. ?

Simply because it's more than just knowing how the pulse and filter works and what wave forms exist.
If you dont have a certain amount of experience on how to combine certain waveforms to make a
decent sounding instrument or how to make a good pulseprogram (and plenty of other things) it remains just theory.

Just as lots of people may be able to drive a car, that still doesnt make them a michael schumacher.

But as i mentioned before, i just may be too thick to understand it.
2009-07-31 10:56
booker

Registered: Jul 2003
Posts: 334
Stainless, I guess that's the way it always was with SID tunes - you need time and patience and experimentation with the way the editor works to get the sounds you want. Different editors got different ways of getting the things to be done, so... there's not much here to add - load you SDI up and do experiment! It's so fun! :)

For instance I have no idea how to make sounds that could be easily done in DMC (for instance the way PRI was creating pulses for his leads and arps) so it's a whole new area of fun for me to figure out how to do that in SDI.

Moreover, a lot of SID programming goes intuitivelly anyway...somehow :)
2009-07-31 11:14
Stainless Steel

Registered: Mar 2003
Posts: 966
Ofcourse it helps a lot if you know your editor by heart, i agree.
2009-07-31 11:31
Devia

Registered: Oct 2004
Posts: 401
..and on a slightly different note, I hacked up a Quick Reference Card for SDI 2.0

Mostly done for personal use, but maybe others will find it useful too. If printed on A5 and laminated, it makes up a nice little quick ref.

PM me if you want the editable MS Word edition.
2009-07-31 11:45
Stainless Steel

Registered: Mar 2003
Posts: 966
Verye nice work Ulf. It's much more accessible than the txt file.
2009-07-31 13:19
booker

Registered: Jul 2003
Posts: 334
Devia: Cool
2009-07-31 14:30
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: Stainless, I guess that's the way it always was with SID tunes - you need time and patience and experimentation with the way the editor works to get the sounds you want. Different editors got different ways of getting the things to be done, so... there's not much here to add - load you SDI up and do experiment! It's so fun! :)

For instance I have no idea how to make sounds that could be easily done in DMC (for instance the way PRI was creating pulses for his leads and arps) so it's a whole new area of fun for me to figure out how to do that in SDI.

Moreover, a lot of SID programming goes intuitivelly anyway...somehow :)


You make a longer pulse program:

01: 80 6A 01 42
02: A0 A6 28 43
...
...
...
...
............ 41

4x = jump to line

f.ex, you can go pulse 6-9 in speed 1
then 2-3 in speed 8
then back, hold, or stop

read the manual again marcin, and do some experiments
and remember, filter prg is same way.
2009-07-31 14:37
NecroPolo

Registered: Jun 2009
Posts: 231
Quote: ..and on a slightly different note, I hacked up a Quick Reference Card for SDI 2.0

Mostly done for personal use, but maybe others will find it useful too. If printed on A5 and laminated, it makes up a nice little quick ref.

PM me if you want the editable MS Word edition.


Really cool!

I wanted to fiddle with that spectacular-sounding stuff one day - this doc will make the workflow pretty smooth ;)

THANX!
2009-07-31 14:42
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
You learn by doing, remember that..
2009-07-31 14:52
NecroPolo

Registered: Jun 2009
Posts: 231
Quote: You learn by doing, remember that..

+1

My way of real education, for over 20 years :)
2009-07-31 15:29
booker

Registered: Jul 2003
Posts: 334
Quote: You make a longer pulse program:

01: 80 6A 01 42
02: A0 A6 28 43
...
...
...
...
............ 41

4x = jump to line

f.ex, you can go pulse 6-9 in speed 1
then 2-3 in speed 8
then back, hold, or stop

read the manual again marcin, and do some experiments
and remember, filter prg is same way.


Thanks Jan.

Yes this is quite what I thought has to be done.
Just had no time to play with it yet! :D

On the other hand I was wondering how much of a use would be to have a programmable table for flt's band/resonance ^^ Perchaps then, at the high speed, some nice FLT switching (probably not too much on 6581 as it tend to 'click' on band swithing) could produce good effects. Who knows :)
2009-07-31 16:51
Linus

Registered: Jun 2004
Posts: 639
I know =) It's essential to have imho =)
2009-07-31 18:45
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: Thanks Jan.

Yes this is quite what I thought has to be done.
Just had no time to play with it yet! :D

On the other hand I was wondering how much of a use would be to have a programmable table for flt's band/resonance ^^ Perchaps then, at the high speed, some nice FLT switching (probably not too much on 6581 as it tend to 'click' on band swithing) could produce good effects. Who knows :)


You can make 2 copies of an instrument, one has lowpass, other has hipass. Then you move filter to top, and make the values fit, then you switch instrument, voila, no click!
2009-07-31 23:02
Soren

Registered: Dec 2001
Posts: 547
on 6581, changing filtertypes does click. however, if you use combined filtertypes and only change one of them, you can avoid some of the clicking. As with anything else... experiment with it. ;-)
2009-08-01 01:44
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
In most tunes, you have to hear it 300 times before you notice the clicking.

It seems, Drax completely avoids it, by using simple or neutral filters. ?
2009-08-01 04:37
clonK
Account closed

Registered: Aug 2008
Posts: 65
Can you change the filter type of an instrument 'on-the-fly' in SDI? I guess you can't yet? Is this planned for the next SDI release?
I really don't wanna resort to using Goat tracker cos emulations are crap no matter what anyone sez.
2009-08-01 09:57
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
You can't change filtertype on a instrument, so use a copy with another filter.

But, you can change the type in the 4th voice:

SEQUENCER FX + NOTE COMBINATIONS for channel 4:
-----------------------------------------------
FX NOTE
-- --- Empty line
06 --- [01-1F] Set tempo to 06 and no transpose
04 C#0 [01-1F] [C-0 to A#7] Set tempo to 04 and transpose 1
-- D-0 Set transpose 2
41 --- [40-60] Look up tempo program 01
44 FLG [40-60] Look up tempo program 04 and transpose 0.
70 --- [70] Filter control back to main filter channel
71 --- [71-7F] Force filter output
21 --- [21-3F] Force filter program 01
63 --- [61-67] Forced filter band 03


So, if you use 21-3f in voice 4, you can set any filter prg anytime you want.
And with 61-67, any type you want, any time.
2009-08-01 10:07
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
you also need to read this part of the manual, that shows how to set what voices to filter, if you dont use filter programs on the instruments:

INITIAL VOLUME:
---------------
If you want to change the volume or make the volume fade in you
can access the INVOL menue from the sound editor by pressing Shift+I.



c1 c2 c3
00:14 00 ;volume for song 00, FS = 00
01:0F 00 ;volume for song 01, FS = 00
02:F4 00 ;volume for song 02, FS = 00

1st column (c1) displays song number.
2nd column (c2) displays volume for the song.
3rd column (c3) displays Filter channel and filter speed.

The high nibble of c2 is used to set fadein, valid numbers are 1-F where
1 is the fastest fadein (0 = no fadein ).
The low nibble of c2 is the starting volume of the song, valid numbers are
0-F (0 = no volume and F = max volume).
Using max volume together with a fadein value will not produce any fadein.
The fadein routine will always fadeup to max volume.
Default volume for all tunes when starting editor from scratch is is $0F.

Filter settings:
You do not need to type anything in column 3 to make use of filter in the sound editor.
The high nibble of c3 is used to force filter on a channel when a tune is played from the beginning.
To make use of this function you need a filter instrument in one of the other channels.

0 = Filter force off
8-F = Future expansion

Force a single channel:
1 = Force channel 1
2 = Force channel 2
4 = Force channel 3

Force multiple channels into filter:
3 = Force channel 1+2
5 = Force channel 1+3
6 = Force channel 2+3
7 = Force all channels 1+2+3

The low nibble of column 3 controls filter speed delay.
The default value here is 0, which is the fastest speed delay.
This value is printed to screen next to "filter" and it is used to delay the
filter speed inside filter program. Each song can have its own filter speed delay.
At the moment its not possible to change this value inside the tune.
That is something for future expansion.

Valid numbers: 0 to F, where 0 is default.


Press ClrHome to go to current song's volume number.
2009-08-01 21:11
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: You can't change filtertype on a instrument, so use a copy with another filter.

But, you can change the type in the 4th voice:

SEQUENCER FX + NOTE COMBINATIONS for channel 4:
-----------------------------------------------
FX NOTE
-- --- Empty line
06 --- [01-1F] Set tempo to 06 and no transpose
04 C#0 [01-1F] [C-0 to A#7] Set tempo to 04 and transpose 1
-- D-0 Set transpose 2
41 --- [40-60] Look up tempo program 01
44 FLG [40-60] Look up tempo program 04 and transpose 0.
70 --- [70] Filter control back to main filter channel
71 --- [71-7F] Force filter output
21 --- [21-3F] Force filter program 01
63 --- [61-67] Forced filter band 03


So, if you use 21-3f in voice 4, you can set any filter prg anytime you want.
And with 61-67, any type you want, any time.


Of course you can change filtertype. With the fourth channel. As Jan said, you can change filter prg there. An instrument in SDI is just a setup of programs, really. But there is a need of changing filtertype by frame. That is a must we've to implement in the next version. Bandpass between 10 and 30 doesn't make a huge click. But clicks can make some nice drums.
2009-08-01 22:29
clonK
Account closed

Registered: Aug 2008
Posts: 65
I tried changing the filter type with the fourth channel and couldn't get to work, but I've just worked out that you have to set filter to 00 on the instrument/s you want to alter with the fourth channel :)
Cheers
2009-08-01 23:01
Stainless Steel

Registered: Mar 2003
Posts: 966
huh ? actually you need to set filter and bandpass/resonance in the instrument setup to have the 4th channel effect that instrument.
2009-08-02 00:17
booker

Registered: Jul 2003
Posts: 334
Quote: huh ? actually you need to set filter and bandpass/resonance in the instrument setup to have the 4th channel effect that instrument.


Em, nope. You need FLT program set in instrument though. (perchaps this can be overwritten witch 2x command, haven't checked)

If you use 6x on 4ch channel then the FLT band set in instrument is ignored. Either if it's 00 or otherwise.

If you use 7x then for packed tune it's important to start with command 70 on 4ch channel otherwise it won't work (works in editor though)



@Geir, do you plan to controll resonance with SDI v3 on 4th channel?
2009-08-02 08:27
Stainless Steel

Registered: Mar 2003
Posts: 966
Well, activating just the filter for the instrument might suffice for 4th channel control, i just set both out of habbit.
2009-08-10 20:18
booker

Registered: Jul 2003
Posts: 334
Quoting Stainles Steel
Quoting Linus
Don't get me wrong, I am not throwing bricks at anybody, but saying it's rock science is just bullshit. The sid *is* simple compared to more sophisticated synths


My friend, from your point of view that may hold true.
But then again, if it's no rocket science - why doesnt everybody's instruments sound as polished as yours or Jeff's f.ex. ?

Painless, I'll tell you how Linus's and Jeff's instruments sound so polished - they're spending a hell knows what deal of time trying to beat the shit out of the SID.
That's the "why?".


BTW. SDI 2b7 bugreport: the WF repeat doesn't work at all. Ie. the example below doesn't play as should:

Quote:
WF REPEAT command (FA):
Must be used together with the jump command.
FA XX
XX = 01-7f

Tells the player to repeat
the following FF jump XX times.
When the last FF jump is executed
the player automatically jumps to the line
below the FF command.

Example:

00:FA 08 ;repeat 8 times
01:09 00
02:81 ce
03:41 a7
04:41 a5
05:41 a2
06:FF 01
07:21 00 ;ends here after the repeats.
08:FF 07

The FA command can be used together with all
the other waveform commands.


Regards
2009-08-11 12:52
GT
Account closed

Registered: Sep 2008
Posts: 308
The FA command should be put after 09 00 (the init waveform), then the FF command should be FF 02 in this example.

Regarding your RETURN / SHIFT+RETURN Loop function on subtunes, I don't know. Has always worked for me.
2009-08-11 14:28
Stainless Steel

Registered: Mar 2003
Posts: 966
Quoting Booker
Painless, I'll tell you how Linus's and Jeff's instruments sound so polished - they're spending a hell knows what deal of time trying to beat the shit out of the SID.
That's the "why?".
So basically what you're saying is, I'm not spending shit on working on my instruments? Hmm.
2009-08-11 16:28
booker

Registered: Jul 2003
Posts: 334
Quote: Quoting Booker
Painless, I'll tell you how Linus's and Jeff's instruments sound so polished - they're spending a hell knows what deal of time trying to beat the shit out of the SID.
That's the "why?".
So basically what you're saying is, I'm not spending shit on working on my instruments? Hmm.


Basically I'm saying, to get the sounds we all have to work on them. There's no other 'secret' ;-)

This wasn't a comment on your instruments/whatsoever :)
2009-08-12 06:53
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
I dont see what you a whining about Stainless.
Your sounds are quite in the better league.
2009-08-12 08:39
Stainless Steel

Registered: Mar 2003
Posts: 966
Though i dont totally agree, nevermind my ranting. It's probably just PMS.
2009-08-12 09:07
Jammer

Registered: Nov 2002
Posts: 1336
booker >> i wouldn't agree on the time put into instruments ;) i'd rather consider imagination and experience with sound clusters, modulation results and so on ;)
2009-08-12 09:59
booker

Registered: Jul 2003
Posts: 334
Quote: booker >> i wouldn't agree on the time put into instruments ;) i'd rather consider imagination and experience with sound clusters, modulation results and so on ;)

More or less this is what I ment. :)

You need time for all of this - what you fill there is everyone's story :)
2009-08-12 12:03
Laxity

Registered: Aug 2005
Posts: 459
Unfortunately instrument tweaking is SOO boring...
2009-08-12 12:06
booker

Registered: Jul 2003
Posts: 334
Laxity: you can always try to do something complettely new and diiferent! :))
2009-08-12 12:13
Jammer

Registered: Nov 2002
Posts: 1336
laxity: i don't agree. i always make instruments from scratch for every tune and it's satisfying ;)
2009-08-12 12:34
Linus

Registered: Jun 2004
Posts: 639
Instrument tweaking is something I enjoy very much, actually.
2009-08-12 12:50
chatGPZ

Registered: Dec 2001
Posts: 11386
tweaking the sounds is pretty much the *only* thing when it comes to tracker/sid etc =P i hate typing in notes :)
2009-08-12 12:58
booker

Registered: Jul 2003
Posts: 334
Groepaz: :-)
2009-08-12 13:15
chatGPZ

Registered: Dec 2001
Posts: 11386
i'm serious, thats pretty much the reason why i dont do more sid tunes :)
2009-08-12 13:57
booker

Registered: Jul 2003
Posts: 334
Well, SDI V3 suppose to get MIDI support so perhaps you may get some use of you msx-keyboard.

Hopefully this will work with Vice too.
2009-08-12 14:06
Laxity

Registered: Aug 2005
Posts: 459
Quote: laxity: i don't agree. i always make instruments from scratch for every tune and it's satisfying ;)

I didn't say I don't make them from scratch every time.. I do, I just hate tweaking instruments :) ..
2009-08-12 14:20
Soren

Registered: Dec 2001
Posts: 547
Well, the SID is fairly simple... one doesn't need to spend hours and hours on typing the few values needed for an instrument. So I nearly always just do instruments from scratch, but in most cases I know atleast more or less what to write to get the sound I want.
2009-08-12 14:40
chatGPZ

Registered: Dec 2001
Posts: 11386
Quote:
Well, SDI V3 suppose to get MIDI support so perhaps you may get some use of you msx-keyboard.


then i only need a midi guitar... =P

2009-08-12 14:58
Soren

Registered: Dec 2001
Posts: 547
/me gives Groepas a MIDI Jew's Harp :-)
2009-08-12 16:52
booker

Registered: Jul 2003
Posts: 334
SDI features suggestions:

1. lo byte cutoff control on 4th channel (currently only hi byte)
2. resonance controll on 4th channel (currently only band controll)
3. multifilter (same as currently multipulse) for wavetable

thx ^^
2009-08-12 16:59
booker

Registered: Jul 2003
Posts: 334
Quote: Quote:
Well, SDI V3 suppose to get MIDI support so perhaps you may get some use of you msx-keyboard.


then i only need a midi guitar... =P



I think you would definitelly rock the house with a MIDI violin improvisations!
2009-08-12 19:13
Spinball

Registered: Sep 2002
Posts: 88
Quote: /me gives Groepas a MIDI Jew's Harp :-)

yeah, get this one:


or use your regular guitar with some guitar to midi software:
http://www.guitarmaster.co.uk/
2009-08-12 19:26
booker

Registered: Jul 2003
Posts: 334
Quoting booker

SDI features suggestions:

1. lo byte cutoff control on 4th channel (currently only hi byte)

Sorry, I messed up. It's about controling the high byte. ^^
2009-10-03 09:45
6R6

Registered: Feb 2002
Posts: 245
I havent tried this myself but i heard netdrive on windows
is working with sdi. So i updated the load menu to be able to select device number 6 and 7 instead of 16 and 17.
Try if it works. Beta 8 is on my homepage.
2009-10-03 14:21
6R6

Registered: Feb 2002
Posts: 245
Ok, just tried with a TFR rom. And it works, you can load and save files, create diretories and go up and down in directories. No problem reading the "^"(upp arrow) sign for the sdi files.

My setup:
WinXP with firewall off (netdrive didnt like the firewall)
netdrive -w (allows you to read and write from current dir)

C64 setup:
C64 with RR+RR-Net and TFR rom v0.8

2009-10-03 23:43
LOGAN
Account closed

Registered: Aug 2003
Posts:
I sorta like a new editor but to be totally honest, i suck at creating instruments... so when I open SDI and the stare at it.... and can't do much. Yeh I'm bad...
2009-10-04 00:20
booker

Registered: Jul 2003
Posts: 334
LOGAN, try demotunes :)
2009-10-04 00:52
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Logan: load example tunes, and see how the sounds are made. check everything.

and get the SID guide by Agemixer, it has all the waveforms in it and what they do.

Just "SID Guide" in the search box here on CSDB.

Want results ? work for it, else nothing will happen.
2009-10-04 01:10
PAL

Registered: Mar 2009
Posts: 292
I have during my years of computing tried to do a tune or two... but I too suck at these editors as I never see a logic in these even I knoe they are build upon logics dut with a base of knowhow that is hard to learn... for me future composer were the most logical one back in the days, but I could not even understand that...

PAL
2009-10-04 01:16
clonK
Account closed

Registered: Aug 2008
Posts: 65
I don't know whether this is interesting news to you or not GRG, but you can save and load directly to/from your SD card (as drive 9) in the 1541U with SDI2b7.
2009-10-04 09:59
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
It works normally on 1541u, as drive 8. It cant see that its a sd card, it thinks its a real 1541..
2009-10-04 11:01
6R6

Registered: Feb 2002
Posts: 245
@Clonk, Yes, Jan has told me about the 1541u. It sounds very nice ( i might order one). But I like very much the fact that you can save directly to your PC hard drive. :)
2009-10-04 16:31
booker

Registered: Jul 2003
Posts: 334
Guys, I don't think you can write to 1541u's 9th drive as it's only for loading .d64 images which will appear under drive 8.

However it doesn't seem to be impossible to modify 1541u firmware so it would become to behave kinda IDE64-ish, I guess.
2009-10-04 16:44
tlr

Registered: Sep 2003
Posts: 1790
Quote: Guys, I don't think you can write to 1541u's 9th drive as it's only for loading .d64 images which will appear under drive 8.

However it doesn't seem to be impossible to modify 1541u firmware so it would become to behave kinda IDE64-ish, I guess.


Drive 9 is mostly like an sd2iec drive, i.e you can load and save files directly to the filesystem on the sdcard IIRC.
2009-10-04 18:15
Devia

Registered: Oct 2004
Posts: 401
booker: you need to read the manual again, TLR is right ;-)
It works perfectly.. only weird thing is that you have to use the LOAD MENU to select the device you whish to SAVE to.. and when you save to the "IEC SDCard I/F" it appends a .prg extension which can result in filenames >16 chars - That's no problem for SDI though, it just looks weird in the SDI LOAD MENU when the last char is an asterisk. - gave me a scare the first time I saw it, thinking the file was not saved correctly ;-) .. but I guess it's a necessary "evil" and a simple solution to the problem btw... as long as you remember to correct the filename when SAVEing again ;-)

Once you have enabled the 1541U "IEC SDCard I/F" as device 9 you go to the LOAD MENU and press CTRL+9, then you're on the root of the SD card. If you i.e. want to navigate to your "SDI" directory, press SHIFT+SPACE and type /SDI + ENTER (or just $+ENTER if you want a dir of all files and directories). Then ENTER again to exit the DOS command prompt and press SPACE to reload dir.
To navigate up the directory tree, you cannot use /.. but you need to use CD:..

2009-10-04 22:45
Devia

Registered: Oct 2004
Posts: 401
I'm too lazy to read the entire thread right now, so please excuse my ignorance if this has already been touched..

In the filter and pulse programs, using the 8x-bf sweep mode/jump something is not working according to the docs.
If start byte is denoted "Col2" and sweep byte is "Col3", then it sweeps from value in Col2 to lo-nibble of Col3 (but only if hi-nibble of Col3 is higher than Col2) and then jumps and cuts to Col2 value of line X and continues.
If hi-nibble of Col3 is lower or equal to Col2, no sweep will occur and a jump and cut to Col2 value of line X will happen immediately.
It would appear the cx-ff mode/jump suffers equally weird behaviour, but I was too lazy to diagnose that one properly.

To my understanding these two sweep modes/jumps should behave like 0x-3f and 4x-7f with the only difference being that the sweep would go from start->hi-nibble->lo-nibble instead of the regular start->lo-nibble->hi-nibble. Is this the correct interpretation of the documentation?

oh yeah - Why can't I sweep to 0 values in the filter prg? It just wraps around? It works fine for pulse.
Is this the intended behaviour?

Thanks for the NetDrive fix, btw.. it makes it a bit easier to transfer a single tune.. no more sd-card-jockey vs. windows-buffers.


2009-10-08 21:21
Ultrasyd
Account closed

Registered: Oct 2009
Posts: 7
Hi guys,

It's nice to finally find a place where people talk about this wonderful tracker. I had hard time trying to convert my first C64 tracks to SID files with Turbo Assembler, but now it works. I've just got a problem in one particular song. In this song, I use a filter on the whole channel, with instruments having 80 as filter parameter. When playing the SID file after conversion, I've got a blank pattern instead of the part with filter effect. I used the same kind of thing in an other song and it was OK. Dunno what is the problem with this one. Is there a limitation with the rendition of filter effect on the whole channel in a SID file ? I use SidPLay 2 for replaying the SID files.
Thank you in advance for your answers.
Greetings to all the people who are still using this great machine.
2009-10-09 02:23
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
To filter a channel you must write 20 ON as command.
There is no filter prg 0, so at least you should write 81.

?
2009-10-09 06:24
Ultrasyd
Account closed

Registered: Oct 2009
Posts: 7
I will try with this, but I don't know if I expressed myself clearly enough. I used the trick where an instrument producing no sound but having the filter programm defined is created. It is placed as a note, and then some instruments having 80 for filter parameter follow, so that there is a continuous filter on the channel on all the instruments used.
Maybe I should place a link the the d64 file with the track:
http://ultrasyd.free.fr/Tracks/havskattd64.rar
The part councerned is the break with only bass + kick with filter on it, near the middle. It's perfect when played on the C64 in SDI, but not when converted to SID where this effect is ignored. I should have a look again the the 0/1 options in Turbo Assembler when compiling the file, maybe it's just something here ?
Here is a link to the SID file so that you can compare:
http://ultrasyd.free.fr/Tracks/havskatt_sid.rar
If you have time :)
2009-10-09 09:06
Devia

Registered: Oct 2004
Posts: 401
I dumped it and it works.. sort of..

I turned off chan 4 and set the tempo to 2 using the Tempo prg instead (SHIFT+T in the instr editor).
I changed WF entry 00 to FF00.
Then I dumped it, and assembled it with all options = 0 and only rem_ch4 and rem_trkl set to 1
This plays... but it doesn't sound like it sounds in the editor... so something is still wrong.
2009-10-09 09:55
Ultrasyd
Account closed

Registered: Oct 2009
Posts: 7
OK, I will try with this as soon as I have some time, and see how it sounds like. What matters is that I don't have anymore these blank patterns in the SID file :) Thank you.
2009-10-09 11:24
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
I got it working... will upload now
2009-10-09 11:33
Ultrasyd
Account closed

Registered: Oct 2009
Posts: 7
Cool, I found the error : there was a line pointing to an empty instrument. I used this empty instrument as a "note off" command :) Now it's OK. By the way, I will try to use Tempo programm instead of Ch. 4, like you did.
2009-10-09 11:44
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Working compiled version
http://www.sidwave.com/HAVSKATT64_WORKING.zip

Several things:

instrument 8, the filter init, was at wavetab 0 and ran into a 09 (oscillator reset).
I changed it to 01 00 ff 00
I cnahged the ADSR on 08 to 0002 to make sure the 'sound' goes active.

2nd, i swapped voice 2 and 3, because filter voice 3 has priority, and the problem was that filter control didnt go from instrument 4 in voice 3, to 8 in voice 2.
You had used a blank instrument (15) to cut that, but this is a dirty trick.

The correct is as i did in step 2C, you have to go there and see what i added. I add 20 OFF on voice 1+2, and 20 ON on voice 3.

Now when instrument 8 is used, it takes the filter control, and works ok.

Also i changed tempo program to 82, and muted voice 4.
2009-10-09 18:24
6R6

Registered: Feb 2002
Posts: 245
The problem most people run into is that certain instruments with vibrato, filter or pulse
sounds different in the editor compared to the tass player.

The reason is normally that these points to programs that doesnt exist.
They are ususually 00 (zeroes), and in most cases wont affect the editor player.
When you dump a song, all data lines with 00 are deleted, The dumper does this by starting at the end of each program table, searching for the first line that is not completely filled with zeros, everything from this point and up to the beginning of the table will then be dumped.
And this will for instance suddenly make a vibrato program that was pointing to a lines of zeros,
point right into a filter program where alot of adding and subtraction is going on.
And thats the case with Ultrasyd's song here:

@Ultrasyd: (edit: nice song btw, and i see you figured it out already..)
You instrument setup starts with sound #00 and ends with #10 as last sound,
but inside the sequencer you are using instrument #15 which is a instrument
with only zeroes. Its mostly this instrument that is causing chaos.
Again this has to do with how the dumper works (see above). It will remove all unused
instruments, so only instruments #00 to #10 will be dumped.


I looked at your instruments and found the following flaws:
##
01 - instrument points to vibrato number 88
02 - instrument use pulse 88 - but no pulse waveform ?
09 - instrument points to vibrato number 88
15 - instrument is filled with zeros

If you dont use the 4th channel for anything special. Then turn it off. ( CBM+4 )
You only use it for tempo 2 so use 82 00 in the tempo program instead.

After fixing this i dumped the tune, and imported it into the "s.sdi207-n" player.
I only turned on ( 0 ) the following effects:
* rem_1wf
* rem_f20
The rest of the effects was put to ignore ( 1 ).
And the tune played as it should. :)

The way you use 80 on filter prg is correct.

SEQUENCE #7F:
Only use this sequence number when you have run out of sequences.
Because of no memory left the data area for this sequence number is also being used to store special sequence copy commands. (I think it was cbm+x shift+x) (fixed for next version)

2009-10-09 19:25
Ultrasyd
Account closed

Registered: Oct 2009
Posts: 7
Wow, so great, thank you very much for your answers. I still have a lot of things to learn with all thoses numbers everywhere, but you explained very clearly some important things here. I will be carefull with the next song ;)
2009-10-10 00:47
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
And put 70 into the first 3 sequences on first note, so when your tune restarts, that no notes are hanging.
2009-10-11 09:27
Ultrasyd
Account closed

Registered: Oct 2009
Posts: 7
OK, it's done. Now I've got a working SID file :)
2009-10-12 11:57
GT
Account closed

Registered: Sep 2008
Posts: 308
Keep on sharing your thoughts. I saw a message here earlier by Devia, but it seems to be deleted. It was regarding the Pulse and Filter sweep programs. Anyone struggling with these programs, please let me know in this forum.
2009-10-20 09:34
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
I have imported my dumped sdi-file to the "s.sdi207-n" player.
But it plays the music much slower that it does in the tracker. And I must set "ignore seq command 20" to "0" for the musicplayer not to hang.

Any tips how i can make the player play the music in the same tempo as in the tracker?
2009-10-20 12:14
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
in SDI, go to the tempo table, and hit return on the line with the correct tempo, then save and dump it again.

f.ex 83 00 ;hit return on this line (speed 3)
2009-10-20 13:12
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
Thanx Jan, now it is playing the right tempo, but a irritating "pling" is hearing when i listen to the tune in the player. (just the early patterns, it disapears a bit into the song)
That "pling" did not hear when i played the tune in the tracker.
Any idea what this can be?
2009-10-20 19:57
Stainless Steel

Registered: Mar 2003
Posts: 966
Sounds like some pulseprogram got messed up after being dumped. Check your pulse and other programs, make sure they loop to valid locations.
2009-10-21 06:47
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Tonhoved: generally, you should set the on/off flags in the asm file like this:

0/1 - 4th voice on/off
0
0
0
0
0
0
last 2 settings = 1

Then it shall work.
When all is turned on, it works :D
2009-10-21 08:29
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
Thanx Stainless and Jan!
2009-10-21 10:57
Devia

Registered: Oct 2004
Posts: 401
Quoting Geir
Keep on sharing your thoughts. I saw a message here earlier by Devia, but it seems to be deleted. It was regarding the Pulse and Filter sweep programs. Anyone struggling with these programs, please let me know in this forum.

It's not deleted, it's post #136
2009-10-21 18:25
GT
Account closed

Registered: Sep 2008
Posts: 308
The docs for Pulse and Filter programs is not correctly written, I'm sorry.

Column 2 (the sweep range, nybbles) decides the direction, the highest nybble determines this. For instance 1f= up, f1= down.

Column 4, the jump works like this:
00-3f = Init value(column1), Sweep twice, 00=end
40-7f = ignore init(column1), Sweep twice, 40=end
80-bf = Init value(column1), sweep once, 80=end
c0-ff = ignore init(column1), sweep once, c0=end

This is the same for both filter and pulse programs.

Yes Devia, the filter is made to turn over 0 with purpose, example Ace2 bass filter. It starts with cutoff 30 and subtracts beyond 0 for that effect.

Anyway, the new 11-bit routine is totally controlled by range to turn or stop at 0, or when reaching the upper value.

Good luck. :)
2009-10-21 19:40
Devia

Registered: Oct 2004
Posts: 401
Quoting Geir
Doc's for Pulse and Filter programs is not correctly written I'm sorry.

Column 2 (the sweep range, nybbles) decides the direction, the highest nybble determines this. For instance 1f= up, f1= down.

Column 4, the jump works like this:
00-3f = Init value(column1), Sweep twice, 00=end
40-7f = ignore init(column1), Sweep twice, 40=end
80-bf = Init value(column1), sweep once, 80=end
c0-ff = ignore init(column1), sweep once, c0=end

Ok, so it IS sweep once to lo-nibble. So you could say that for sweep-once jumpmodes, the hi nibble should always be 0 for sweep up and F for sweep down and that the low nibble is the value sweeped up og down to. And that you can't sweep up from e.g. 8 to 7 or down from 7 to 8 as the program doesn't allow wrapping on min/max.

Regarding the 0 and F for hi nibble, am I missing out on some feature you can expose by using other values here? (in sweep once modes).

Quoting Geir
This is the same for both filter and pulse programs.

Well, yes with the exception of the Init value has the hi/lo nibbles swapped (pulse LO/HI, filter HI/LO).

Quoting Geir
Yes Devia, the filter is made to turn over 0 with purpose, example Ace2 bass filter. It starts with cutoff 30 and subtracts beyond 0 for that effect.

Another exception ;-) - but then how do you sweep to 0 and hold?

doing:
01:30 11 01 82
02:0E 11 01 83
03:0D 11 01 84
04:0C 11 01 85
05:0B 11 01 86
06:0A 11 01 87
07:09 11 01 88
08:08 11 01 89
09:07 11 01 8A
0A:06 11 01 8B
0B:05 11 01 8C
0C:04 11 01 8D
0D:03 11 01 8E
0E:02 11 01 8F
0F:01 11 01 90
10:00 00 00 00

-seems rather tedious!? is there another smarter way of doing the same thing?

Quoting Geir
Anyway, the new 11-bit routine is totally controlled by range to turn or stop at 0, or when reaching the upper value.

Yeah well, I don't see it running on MY c64, now do I?! :-P
2009-10-22 06:30
GT
Account closed

Registered: Sep 2008
Posts: 308
I'll write some examples.

First, everybody knows the Pulse init value consist of SID register $D402 and $D403, Low/High Pulse, put together in a single byte.

The filter init is the $D416, cutoff, not a Low/High value.

Here's a pulse lead example, using one single sweep with direction, plus a second row with infinite loop:
01:01 19 a8 c2 init 01, range 1->9, add, one-sweep goto 2
02:00 97 0d 42

Here's a filter program, ending with 0 cutoff:
01:50 51 0d 82 this line will jump to row 02 setting init
02:00 00 00 80 inits cutoff with 00, ends filter PRG.
2009-11-11 20:57
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
What kind of adjustment needs to be changed in the sdiplayer in the Turboassembler, when the appriego dont sounds like it did in the sdi-tracker?
The appriego sounds kind of faulse when listening to the assembled tune
2009-11-12 00:17
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: What kind of adjustment needs to be changed in the sdiplayer in the Turboassembler, when the appriego dont sounds like it did in the sdi-tracker?
The appriego sounds kind of faulse when listening to the assembled tune


There's nothing to correct in turboassembler. You'll have to check your datas for the arpeggios and sequence commands $4x-$5x, to see if everything points correctly, and not to zeroed lines. Especially check arpeggios Y- pointer and instrument setting.
2009-11-12 11:08
booker

Registered: Jul 2003
Posts: 334
Quoting Jan Harries
When all is turned on, it works :D

And also eats up rastertime when not needed.

Basically, the only setting that can f0k up anything in 2b7 asm packer is disabling the glide (2x) command.

So all flags can be set to 0, besides that one.
2009-11-12 12:44
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: Quoting Jan Harries
When all is turned on, it works :D

And also eats up rastertime when not needed.

Basically, the only setting that can f0k up anything in 2b7 asm packer is disabling the glide (2x) command.

So all flags can be set to 0, besides that one.


Command "$20" = Enable/disable Filter.
According to GRG, the source is not 100% when trying to auto-remove its code. Leave it enabled. It shouldn't take much space, nor rastertime. It will be fixed.
A crucial mistake I see, is when someone uses 4th channel in the editor. When I say using, I mean leaving it enabled (ON); don't disable the 4th Channel code in the source. The source data can't decide if you ment using it or not. When enabled it will always work, but you can save rastertime and memory by disabling it. Quite some cycles in fact. Make your decision before you dump.
2009-11-12 13:04
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
I will check the appregio again. thanx
2009-11-12 13:16
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: I will check the appregio again. thanx


Just a tip on arpeggio values:
You can also use values $70-$7F to subtract from main note. $74 being an octave down (-$0C).
2009-11-12 21:37
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
The rasterbars at the top of sdi suddenly got on the middle of the screen (little below middle) and they a thicker.
What button did i press wrong?
2009-11-13 06:33
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
you enabled multispeed, cbm+? - press it 8-9-10 times to get back to 1 speed.
2009-11-13 10:53
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
Thanx Jan, that fixed it.
2009-12-01 22:59
robozz

Registered: Oct 2003
Posts: 43
Finally, a bug in sdi... :)

I haven't checked the recently released 2.b8 yet,
but there was no mention of any bugfixes, so here goes:

the last 16 arpeggios (60-6f in the editor)
sound different compared to the first 32 because
the delay counter "arpde,x" is subtracted with #$40,
and with the last 16 arps the "arpnum2,x" is => than
#$40 which it shouldn't be for all the arps to initialize
the same way.

an easy way to fix it is to move the "sta arpde,x" line up like so:

bn27 lda #0
sta vibdec,x
sta arpde,x ;...to here
lda arpnum2,x
sta arpnum,x
bmi tie_note
sta arpde,x ;from here...

Actually, I discovered this not by ear but while looking
at the player code for a completely different reason,
namely to see if there was a simple way to add hard note
arpeggios.

at the same time, I found that the turbo assembler
supplied with the player freezes up when there's any
type of error in the source code (label names missing
and so on) why is that?
2009-12-02 02:33
GT
Account closed

Registered: Sep 2008
Posts: 308
Quoting robozz
Finally, a bug in sdi... :)

I haven't checked the recently released 2.b8 yet,
but there was no mention of any bugfixes, so here goes:

the last 16 arpeggios (60-6f in the editor)
sound different compared to the first 32 because
the delay counter "arpde,x" is subtracted with #$40,
and with the last 16 arps the "arpnum2,x" is => than
#$40 which it shouldn't be for all the arps to initialize
the same way.

an easy way to fix it is to move the "sta arpde,x" line up like so:

bn27 lda #0
sta vibdec,x
sta arpde,x ;...to here
lda arpnum2,x
sta arpnum,x
bmi tie_note
sta arpde,x ;from here...

Actually, I discovered this not by ear but while looking
at the player code for a completely different reason,
namely to see if there was a simple way to add hard note
arpeggios.

at the same time, I found that the turbo assembler
supplied with the player freezes up when there's any
type of error in the source code (label names missing
and so on) why is that?


Please don't change the code, it works. Too complicated to explain the whole arpeggio routine code here. By the way, the command is $c0-$df in the sequencer code, + AND #$3f will give you $00-$2f. Right?
You don't need to know this, but the editor viewer just shows this command with a AND #$7f. Hence the $40-$6f.

You have to include a song data to the player. Then you will be able to assemble.

Hope this answers your questions. ;-)
2009-12-02 14:31
robozz

Registered: Oct 2003
Posts: 43
Quoting GT

Please don't change the code, it works.


Well, if it doesn't work then I will change it, and it doesn't work :)

Quote:
By the way, the command is $c0-$df in the sequencer code, + AND #$3f will give you $00-$2f. Right?


Nope, it's $c0-ef (48 arpeggios) and its muliplied by 2 afterwards, so for arpeggios e0-ef the value exceeds #$40

Quote:
You have to include a song data to the player. Then you will be able to assemble.


Ah I see, so it's kind of a dumbed down version of turbo assembler then? :)

Adding hard note arpeggios seems to be easier than I thought it would be, I got it working, but have to test it a bit more...
2009-12-02 23:14
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
please define hard note arpeggio

what exactly are you trying to do that you cannot ?

i dont believe the player has a bug, i never heard that my arps are wrong, if placed at end.

?
2009-12-03 13:32
robozz

Registered: Oct 2003
Posts: 43
I don't blame you for not hearing it, I would've never noticed it myself if it wasn't for the fact that I ran into it looking at the player code.

to hear the bug in the editor:

* create one arpeggio in range 40-5f (this example: 5f)
and another one in range 60-6f (this example: 60)

arpeggio table data:

00: 00 00 00
01: 8c 00 00

1f: 00 00 40
20: 00 00 40

* make an instrument:

00: 91 00
01: ff 00

these exact values must not be used but you better use adsr values with low attack and high decay and hard restart set to 2x to better hear it:

08 attack/decay
59 susta/release
20 gate timeout

then just alternate arpeggios 5f and 60 in the editor
to hear that they don't sound the same.

and if you still don't hear it, set tempo to 02
and use this sequence

5f A-4
-- ---
-- A-4
-- ---
-- A-4
-- ---
-- A-4
-- ---
60 A-4
-- ---
-- A-4
-- ---
-- A-4
-- ---
-- A-4
-- ---
2009-12-03 14:06
robozz

Registered: Oct 2003
Posts: 43
Quoting Jan Harries
please define hard note arpeggio


take a look at this waveform prg line:

00: 91 c5

currently, the c5 byte (the note values) is unused when using arpeggio
instruments, so I thought why not add hard note arpeggios, just like for normal instruments.

this way you can play a stuck (hard) arpeggio with different (soft) normal notes, it's more useful than a broomstick!

waveform table:

00: 09 00
01: 21 00
02: 21 00
03: 91 c5
04: 91 c5
05: ff 01

editor:

40 A-3 ;note A-3 + hard arpeggio (c5 = base note A-5)
-- ---
-- E-3 ;note E-3 + hard arpeggio (c5 = base note A-5)
2009-12-03 15:04
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
So, this bug only affects hard note arps ? (i never use such)

You have to code the arp properly, like:

00: 00 05 40 ;5 = jump there

05: 03 00 00
06: 87 00 00
(result = 0,3,7)


try this and say if sound is still different..
2009-12-03 15:18
robozz

Registered: Oct 2003
Posts: 43
Please read my post(s) again, you seem to confuse the arpeggio bug with the hard note arpeggio thing...

you can't use hard note arpeggios because it's not in the editor (yet)

your arpeggio example doesn't make any sense either, do you even know how that table works??
2009-12-03 17:58
GT
Account closed

Registered: Sep 2008
Posts: 308
Doesn't seem I've bothered much about this small difference in the init. I discovered that the first initial arpeggio note only gets one frame before moving on. Even if you use delay. And the $60-$6f arpeggio programs will get two frame before moving on. I will fix it so you'll get proper delay from the very first note when using delays aswell.

This ain't a big thing at all robozz, but I like to see some tunes from you. And tell me when you use more than 32 different arpeggio programs.

Can't see any faults in Jan's example, but he misunderstood your explanation.

About the seventh bit in waveforms to enable the arpeggio, I've got other plans, like a add/sum arpeggio values. Currently I'm using the method as it is for different effects, though.

I will never code a arpeggiator program, as this can be done editing a sequence. Hard/soft/semi-hard notes, you decide. Use continous pulse or filter programs.

Greets to robozz for discovering this minor "bug".
2009-12-03 19:44
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: Please read my post(s) again, you seem to confuse the arpeggio bug with the hard note arpeggio thing...

you can't use hard note arpeggios because it's not in the editor (yet)

your arpeggio example doesn't make any sense either, do you even know how that table works??


it works this way:

transpose, jump, speed/instrument

so

01: 00 05 40, will use base note, jump to 5 for next note, and use speed 2 on sound 0

my previous exampe is 100% correct.

the reason i use jump, is because then i can hide the arp data way further down, and keep 40-50+ for commands.

if you make:

01: 00 00 40
02: 03 00 00
03: 87 00 00

then you have commands 40, and maybe start the next from 44 ?

i prefer 40,41,42,43,44,45,46....


2009-12-03 22:39
robozz

Registered: Oct 2003
Posts: 43
Quoting Jan Harries

my previous exampe is 100% correct.

No it isn't!

"yes it is!"
"no it isn't!"
"yes it is!"
...ding! (sorry, couldn't help myself... :)

Quote:

00: 00 05 40 ;5 = jump there

05: 03 00 00
06: 87 00 00
(result = 0,3,7)

the arpeggio sequence is not 0,3,7 it is 3,7
the second column is not a jump, it is a pointer!

what's all this about hiding the arp data?

GT:
I'm pretty sure I never used more than 32 arpeggios, so in a way this bug isn't really that much of a problem, but it's still a bug(!)

the 7th bit in waveforms? I was talking about the 7th bit in notevalues, or did you mix them up?

Quote:
I've got other plans, like a add/sum arpeggio values.

please explain this

and also, what is the difference between an arpeggiator program and the arpeggio table in SDI?
2009-12-04 00:05
GT
Account closed

Registered: Sep 2008
Posts: 308
http://en.wikipedia.org/wiki/Arpeggiator
http://en.wikipedia.org/wiki/Arpeggio

Sorry for this cheap answer, but I'm busy with other things at the moment.
2009-12-04 02:53
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: Quoting Jan Harries

my previous exampe is 100% correct.

No it isn't!

"yes it is!"
"no it isn't!"
"yes it is!"
...ding! (sorry, couldn't help myself... :)

Quote:

00: 00 05 40 ;5 = jump there

05: 03 00 00
06: 87 00 00
(result = 0,3,7)

the arpeggio sequence is not 0,3,7 it is 3,7
the second column is not a jump, it is a pointer!

what's all this about hiding the arp data?

GT:
I'm pretty sure I never used more than 32 arpeggios, so in a way this bug isn't really that much of a problem, but it's still a bug(!)

the 7th bit in waveforms? I was talking about the 7th bit in notevalues, or did you mix them up?

Quote:
I've got other plans, like a add/sum arpeggio values.

please explain this

and also, what is the difference between an arpeggiator program and the arpeggio table in SDI?


ding ding!

;D

the 2nd byte is jump. basta. read the manual. works that way.

try it if you dont believe me.

yes, the first byte:

01 : 00 05 40 <---- the 00 is part of the arp
if you play a C here, the arp will play: C+whatever notes are in the arp data.

if it was 03 in the first byte, then when you enter a C, it will become a D# (+3) from base note.


you can do:

00 : 00 00 40
01 : 03 00 00
02 : 87 00 00

a 0-3-7 arp on instrument 40, sure you can do that.
but then your next one is at 44.

so thats why its smart to use the jump byte, because then you can arrange them as 40,41,42,43,44,45,46,47...and also
you can use the same arp data, from different start points.

Like:

00: 00 05 40
01: 00 05 80
02: 00 05 53
..
..
05: 03 00 00 >the rest of the chord
06: 07 00 00
07: 13 00 00
08: 9c 00 00


see ?
use same chord data, but use different sounds and speed on it. in this case: 40,41,42.

thats why jump is smart, and you should use it.
or you can end some arps, with jumping to:

9c 00 00

so all those chords have this note included.
it saves space, and space is precious. just try to make 7 pieces of 5 finger chords, and you will discover space problems in the table.


ding ding!
round over!

:D
2009-12-04 11:40
robozz

Registered: Oct 2003
Posts: 43
Quote:
yes, the first byte:

01 : 00 05 40 <---- the 00 is part of the arp

It is not part of the arp, believe me.

study this table, three arpeggios all using instrument 00

00: 0c 00 40	;arp 40, speed "2", starting at pos 00 (c,7,3,0)
01: 07 01 80	;arp 41, speed "3", starting at pos 01 (7,3,0)
02: 03 02 c0	;arp 42, speed "4", starting at pos 02 (3,0)
03: 80 00 00

change the 00 byte in the first line to 03, and play arp 40
and listen!
according to you it would play a c,0 arp but as you can hear for
yourself, the "c" is not included in the arp!

PS. the "ding!" was actually a Monty Python reference, it
seemed like we were having an argument... :)
2009-12-04 11:53
Stainless Steel

Registered: Mar 2003
Posts: 966
Hmm, just out of curiosity i tried the following :

00:00 05 41


05:87 00 00

Which, if i understand Jan corretctly, should result in a 2 note arpeggio. But it doesn't. It just loops on 05, no arpeggio.

Am i missing something here?

Edit :

The jump function is a nice thing though. And i've been using it since day one.

I never actually thought of making an arpeggio program without it. But to my knowledge you must include all apreggiated notes in the program you jump to, since the note in the "first" program line where your jump command is wont be played.

Correct me if i'm wrong.
2009-12-04 12:43
robozz

Registered: Oct 2003
Posts: 43
Sigh...
hi and welcome to the "arpeggio for dummies" thread everyone... ;-)
(hang on, that just gave me an idea for a song title!)
2009-12-04 12:54
Stainless Steel

Registered: Mar 2003
Posts: 966
"dummies"? Hm.

I havent had any trouble making the arpeggios sound like i want them to so far.

What i would like though, is if it was possible to put arpeggio programs on seperate "pages".
If you have like a shitload of different arpeggio programs it gets kind of messy having them all underneath eachother.
Even with a "jumptable".
2009-12-04 13:01
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: Hmm, just out of curiosity i tried the following :

00:00 05 41


05:87 00 00

Which, if i understand Jan corretctly, should result in a 2 note arpeggio. But it doesn't. It just loops on 05, no arpeggio.

Am i missing something here?

Edit :

The jump function is a nice thing though. And i've been using it since day one.

I never actually thought of making an arpeggio program without it. But to my knowledge you must include all apreggiated notes in the program you jump to, since the note in the "first" program line where your jump command is wont be played.

Correct me if i'm wrong.


Aye! sorry!!!!!

I just tested it..

The transpose byte on a line with jump, is not included.
You're right!

2009-12-04 17:01
GT
Account closed

Registered: Sep 2008
Posts: 308
This thread being 3 years old now, and I haven't seen any new innovative ideas other than those I've allready figured out myself.

It is time to close this thread.
2009-12-04 17:08
Soren

Registered: Dec 2001
Posts: 547
Geir: Lazy complaining people should code their own tools ;-D
Everyone seem to have different taste in what a music editor should feature, anyways.
2009-12-04 17:12
GT
Account closed

Registered: Sep 2008
Posts: 308
It is just that, the ideas I get can allready be done in a way or another. Without coding anything new.
2009-12-04 17:25
GT
Account closed

Registered: Sep 2008
Posts: 308
I have an idea for the guys: code your own Casio-rhythm player with features like Techno patterns, Drum'n'Bass, Tango, Bossa Nova... Whatever... And lets see what creativity comes out of that. A new FC generation? ;-)
2009-12-04 18:18
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
GT, i like SDI, and you should have all credit for making it.
If there should be a bug, then the bug is very small, and dont get you in a bad light.
SDI is a great work!
2009-12-04 21:41
Stainless Steel

Registered: Mar 2003
Posts: 966
Quoting GT
I have an idea for the guys: code your own Casio-rhythm player with features like Techno patterns, Drum'n'Bass, Tango, Bossa Nova... Whatever... And lets see what creativity comes out of that. A new FC generation? ;-)
Who's being oversensitive now ? :-D
2009-12-05 00:00
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: Quoting GT
I have an idea for the guys: code your own Casio-rhythm player with features like Techno patterns, Drum'n'Bass, Tango, Bossa Nova... Whatever... And lets see what creativity comes out of that. A new FC generation? ;-)
Who's being oversensitive now ? :-D


Hehe Stain.. There was actually a smiley behind it.
There's many bugs in SDI we know of. And I admire people like robozz who took time to study the code. Respect.
But having arpeggio to handle gate-triggered notes, is in my opinion no point. As this can be achived by:
1) editing gate-on/off in the wavetable
2) editing the pattern yourself in a sequence
Cheers.
2009-12-05 00:31
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Well yes, the purpose of the thread is complete.

If anyone need help to use SDI, they better read the manuals first and do the examples in there, and experiment for some time, before come asking to get all the answers.

You cant get good at using a prog if you dont even try.

I offered to Fredrik to help him learn it, but he just pounds on and hasnt asked me anything. Respect!
2009-12-05 01:28
Stainless Steel

Registered: Mar 2003
Posts: 966
I actually enjoy talking about the editor and passing whatever i know about it on to anyone who is brave enough to give it a shot. I might even pick up a trick or two myself.

I know how hard it was for me. And if it wasnt for all the helpful and surprisingly patient people (cheers glenn,geir,linus etc) , who knows if i'd be making SID music today.

So in that regard, i think it's ok to have threads like these every once in a while.
2009-12-05 11:43
robozz

Registered: Oct 2003
Posts: 43
Quote: Hehe Stain.. There was actually a smiley behind it.
There's many bugs in SDI we know of. And I admire people like robozz who took time to study the code. Respect.
But having arpeggio to handle gate-triggered notes, is in my opinion no point. As this can be achived by:
1) editing gate-on/off in the wavetable
2) editing the pattern yourself in a sequence
Cheers.


You are talking about gate notes, right? That wasn't at all what I was suggesting! in case you missed it, you can (re)read post #174

And I'm still interested to hear what the "add/sum arpeggio values"
you mentionen in post #177 is all about, it was never explained.
Thanks!
2009-12-05 13:30
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: You are talking about gate notes, right? That wasn't at all what I was suggesting! in case you missed it, you can (re)read post #174

And I'm still interested to hear what the "add/sum arpeggio values"
you mentionen in post #177 is all about, it was never explained.
Thanks!


I really don't get what you really want Frobozz. Please explain what you cannot do. Send me some example tune. I read your post, and it makes no sense to me, sorry.

There's so many new features and improvements that I won't explain them here. I'm not sure if it's gonna be public either, but for selected people.
2009-12-05 18:26
robozz

Registered: Oct 2003
Posts: 43
Quote: I really don't get what you really want Frobozz. Please explain what you cannot do. Send me some example tune. I read your post, and it makes no sense to me, sorry.

There's so many new features and improvements that I won't explain them here. I'm not sure if it's gonna be public either, but for selected people.


Since I've now got it working and it's such a simple thing, I may just aswell post it here:

start the editor, enter a monitor, and punch in the following:

$f1d1: jmp $ee80

f f1d4 f1e1 ea (fill up with NOP's)

$ee80:	sta $0720 (* see comment below)
	bpl $ee90
	bcs $ee90

	ldy $fa72,x
	lda $e400,y
	sta $fa7c,x

$ee90:	ldy $fa6f,x
	lda $e100,y
	bmi $ee9e
	lda $0720 (*)
	jmp $f1e7
$ee9e:	clc
	adc $0720 (*)
	jmp $f1eb

*as I can't tell what memory the editor uses, I used the screen as temp storage. ($fe works in the player, but not in the editor)

play an arpeggio, using values between 80-df in notevalue, just like for normal "hard notes"

in the waveform table:

00: 91c5 <- hard note arpeggio! range 80-df
01: ff 00

compare with:

00: 9100 <- normal arpeggio, all values 00-7f have no effect on the arpeggio
01: ff 00

A practical example is the following:

waveform table:

00:21 00
01:21 00
02:91 c5
03:91 c5
04:ff 00

sequencer:

40 A-4 ;arpeggio and note A-4
-- ---
-- C-4 ;the very SAME arpeggio, but now with note C-4!

this instrument is now mixing a hard arpeggio with soft notes.
before, the arpeggio would ofcourse follow the notes in the sequencer. (just replace the two "c5" bytes with "00" and listen)
2009-12-05 18:37
GT
Account closed

Registered: Sep 2008
Posts: 308
"hard notes", "hard arpeggio". What are you talking about. Fixed notes? And what do you mean by $fe don't work? Have you really read the manual or not? Is this a joke ?
2009-12-05 19:44
robozz

Registered: Oct 2003
Posts: 43
Yes, hard notes=fixed notes! Who wrote the manual to SDI anyway???

A quote from the manual:

"80-DE Hard notes, overrides note+track transpose."

Have I read the manual? Are you kidding me???

for this patch I needed a temporary storage. In the PLAYER zero page location $fe is availible at this point, in the EDITOR it is not.

the arpeggio code (in the EDITOR) starts at $f1b2
at $f1ce the arpeggio data is being read

I jump to the patch after this read (jmp $ee80) where I
check if the waveform prg note table is negative.
If it is then I add this to the arp data (result:HARD note arpeggio)
If it is not, then as normal, the data is added to the NOTE (result: SOFT note arpeggio)
2009-12-05 20:26
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: Yes, hard notes=fixed notes! Who wrote the manual to SDI anyway???

A quote from the manual:

"80-DE Hard notes, overrides note+track transpose."

Have I read the manual? Are you kidding me???

for this patch I needed a temporary storage. In the PLAYER zero page location $fe is availible at this point, in the EDITOR it is not.

the arpeggio code (in the EDITOR) starts at $f1b2
at $f1ce the arpeggio data is being read

I jump to the patch after this read (jmp $ee80) where I
check if the waveform prg note table is negative.
If it is then I add this to the arp data (result:HARD note arpeggio)
If it is not, then as normal, the data is added to the NOTE (result: SOFT note arpeggio)


Glenn wrote the manual. Haven't heard of hard notes as this is the term for "Hard restart" in my mind. Fixed notes is the correct word in my opinion. I just asked if you had read the manual or not, you haven't mentioned.

This is the way to do it:

00:21 00
01:21 00
02:11 c5
03:11 c9 (whatever you want)
04:21 00
05:21 00
06:11 cc
07:11 c5
08:FF 00

Now the arpeggio is fixed. Showing you a a-5 major.
Play around in the sequence. No need to use the arpeggio program for this. For a minor or whatever, create another instrument.

The player in the editor and in the compiler ain't the same. Because of the editor design.

00 a-4 playing a-4 with a-5 major fixed
-- ---
-- c-4 playing c-4 with a-5 major fixed
-- ---

Pretty ugly sound by the way. Actually a little Daglish'ish. :-)
2009-12-05 20:56
robozz

Registered: Oct 2003
Posts: 43
Quote: Glenn wrote the manual. Haven't heard of hard notes as this is the term for "Hard restart" in my mind. Fixed notes is the correct word in my opinion. I just asked if you had read the manual or not, you haven't mentioned.

This is the way to do it:

00:21 00
01:21 00
02:11 c5
03:11 c9 (whatever you want)
04:21 00
05:21 00
06:11 cc
07:11 c5
08:FF 00

Now the arpeggio is fixed. Showing you a a-5 major.
Play around in the sequence. No need to use the arpeggio program for this. For a minor or whatever, create another instrument.

The player in the editor and in the compiler ain't the same. Because of the editor design.

00 a-4 playing a-4 with a-5 major fixed
-- ---
-- c-4 playing c-4 with a-5 major fixed
-- ---

Pretty ugly sound by the way. Actually a little Daglish'ish. :-)


I knew it... it was a mixing up of "hard restart" and "hard notes" :)

Well, I must admit that I had not thought of doing it that way (in the waveform table) but come on, it isn't really flexible is it? You have to change notes and note values everytime you want to make adjustments, and it's going to take up so much more space...

But the real reason, is the obvious: that byte is unused when using arpeggio waveforms, so why not use it for something!

heh.. about the "sound" it's only purpose was to demonstrate the technique... :)
2009-12-05 21:09
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: I knew it... it was a mixing up of "hard restart" and "hard notes" :)

Well, I must admit that I had not thought of doing it that way (in the waveform table) but come on, it isn't really flexible is it? You have to change notes and note values everytime you want to make adjustments, and it's going to take up so much more space...

But the real reason, is the obvious: that byte is unused when using arpeggio waveforms, so why not use it for something!

heh.. about the "sound" it's only purpose was to demonstrate the technique... :)


Hehe. You would even have to change the $C5's in your example to make adjustment to the chords. Wouldn't you ?
Sorry, that "technique" ain't a technique. I use it allready, but in a better sounding way. Thanks for your input though. Now, where is your tunes? I can't find any history on you. Are you a musician? Or just a coder?

That byte however is gonna be used for something clever.
2009-12-06 01:17
Stone

Registered: Oct 2006
Posts: 172
Quoting GT
Or just a coder?

That's right Geir, kick him where it hurts!
2009-12-06 03:41
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
If you ever have any problems, then use Commodore Music Maker (TM)
2009-12-20 18:20
Fredrik
Account closed

Registered: Apr 2009
Posts: 204
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
DJ Gruby/TRiAD
Chesser/Blazon
Fred/Channel 4
REBEL 1/HF
Mr. Sex/Byterapers
Youth
Bieno/Commodore Plus
Guests online: 67
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 X-Mas Demo 2024  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Logo Graphicians
1 t0m3000  (10)
2 Sander  (9.8)
3 Mermaid  (9.5)
4 Facet  (9.4)
5 Shine  (9.4)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.468 sec.