Xpantastic! group photo

Yahoo Groups archive

Xpantastic!

Index last updated: 2026-04-28 23:44 UTC

Thread

Xpander sysex patch spec- the Xplorer version

Xpander sysex patch spec- the Xplorer version

2018-05-22 by cappy2112@...

I'm trying to understand the calculations that the single patch browser (included with Xplorer) ueses.

Looking at XpanderSysEx.h



// Single patch data sysex length is 399 bytes
// 6 bytes for sysex intro: F0 10 02....
static const int PRG_DUMP_DATA_FOLLOWS_INTRO_LENGTH = 6;
// 188 double bytes data for the values and 8 double bytes for the patch name
static const int PATCHNAME_LENGTH = 8;
static const int OBWORDS_DATA_LENGTH = 196 - PATCHNAME_LENGTH;
// 6 (intro) +196*2 (data+name) +1 (EOX) = 399


I understand that PRG_DUMP_DATA_FOLLOWS_INTRO_LENGTH is for the Sysex cmd overhead to request a single patch, however, I don't understand why he subtracts the patchname length from 196, when the patch name is part of each single patch.


196 & 2 + 8 = 399 bytes, which is correct


What am I missing?







Re: [xpantastic] Xpander sysex patch spec- the Xplorer version

2018-05-22 by Jacob Vosmaer

I think the comments explain it:

"188 double bytes data for the values and 8 double bytes for the patch name"

What is meant by "double bytes" is some form of encoding bytes (8-bit values) into sysex data, which is a string of 7-bit values. Often this means splitting a byte into a high nibble and a low nibble (4+4 bits) but I don't know if that's what the Xpander does.

Also see the second comment:

"6 (intro) +196*2 (data+name) +1 (EOX) = 399"

So 7 MIDI bytes of framing, leaving 399-7=392 sysex data "bytes" (7-bit values). Divide that by 2, and you get 196 proper bytes (8-bit values).



Show quoted textHide quoted text
2018-05-22 22:46 GMT+02:00 cappy2112@... [xpantastic] <xpantastic@yahoogroups.com>:

I'm trying to understand the calculations that the single patch browser (included with Xplorer) ueses.

Looking at XpanderSysEx.h



// Single patch data sysex length is 399 bytes
// 6 bytes for sysex intro: F0 10 02....
static const int PRG_DUMP_DATA_FOLLOWS_INTRO_LENGTH = 6;
// 188 double bytes data for the values and 8 double bytes for the patch name
static const int PATCHNAME_LENGTH = 8;
static const int OBWORDS_DATA_LENGTH = 196 - PATCHNAME_LENGTH;
// 6 (intro) +196*2 (data+name) +1 (EOX) = 399


I understand that PRG_DUMP_DATA_FOLLOWS_INTRO_LENGTH is for the Sysex cmd overhead to request a single patch, however, I don't understand why he subtracts the patchname length from 196, when the patch name is part of each single patch.


196 & 2 + 8 = 399 bytes, which is correct


What am I missing?








Re: [xpantastic] Xpander sysex patch spec- the Xplorer version

2018-05-22 by Tony Cappellini


>> 196 & 2 + 8 = 399 bytes, which is correct

I have to correct my own calculation, however it still doesn't add up from what i can see.
196 *2 = 392 bytes, including the patch name. Add the first 6 bytes for the sysex command, + 1 EOX, 399 bytes.

Show quoted textHide quoted text
On Tue, May 22, 2018 at 1:46 PM, cappy2112@... [xpantastic] <xpantastic@yahoogroups.com> wrote:

I';m trying to understand the calculations that the single patch browser (included with Xplorer) ueses.

Looking at XpanderSysEx.h



// Single patch data sysex length is 399 bytes
// 6 bytes for sysex intro: F0 10 02....
static const int PRG_DUMP_DATA_FOLLOWS_INTRO_LENGTH = 6;
// 188 double bytes data for the values and 8 double bytes for the patch name
static const int PATCHNAME_LENGTH = 8;
static const int OBWORDS_DATA_LENGTH = 196 - PATCHNAME_LENGTH;
// 6 (intro) +196*2 (data+name) +1 (EOX) = 399


I understand that PRG_DUMP_DATA_FOLLOWS_INTRO_LENGTH is for the Sysex cmd overhead to request a single patch, however, I don't understand why he subtracts the patchname length from 196, when the patch name is part of each single patch.


196 & 2 + 8 = 399 bytes, which is correct


What am I missing?








Re: [xpantastic] Xpander sysex patch spec- the Xplorer version

2018-05-24 by geebeex@...

Hi,

you should look at the XpanderSinglePatchViewer.cpp, it is self explanatory there.
you have OBWORDS_DATA_LENGTH of data to be "repacked" as double byte values, which is not required of course for the patch name (string) that comes afterward.

// for each double byte, repack the value, and set the Patch property accordingly
unsigned char* pByte= (unsigned char*)pPatch;
for (int i=0;i<OBWORDS_DATA_LENGTH;i++) {
// 8th bit of the 8 bits value is the first bit of the high byte
unsigned char cValue = ((shortArray[i] & 0x0100)>>1) | (shortArray[i] & 0x00ff);
*pByte=cValue;
pByte++;
}
...
// name is 2 bytes/char, high byte never used, thus wchar_t compatible
iReadBytes=0;
iReadBytes=fread(&pPatch->name,sizeof(wchar_t),PATCHNAME_LENGTH,pFile);
assert(iReadBytes==PATCHNAME_LENGTH);

Regards,

Xpander ROM disassembly

2018-06-12 by Tony Cappellini

Has anyone here attempted to disassemble the XPander or Matrix 12 ROMS?
If so, where is the dissembled source code at?

If not, what would you recommend using getting the ROM bin files that are separated
into even & odd addresses, into 1 contiguous file? I don't want to goof that up and make the job more difficult.


Thanks

Tony

Re: [xpantastic] Xpander ROM disassembly

2018-06-12 by deano

I've not done this for the Xpander, but I have for the Prophet VS. I combined the roms into one file using Python - relatively simple script to load a byte from each file and interleave them. I then used IDA Pro to turn into code (68k for the VS). It's quite an interesting task to do, though I didn't get around to fully decompiling/commenting.

The xpander should be interesting as it uses a 6809 chip (68b09) as used in Robotron. Should be relatively easy to understand the code, though it will be very verbose and reliant on the other chips around it (so have a schematic handy to figure out the memory map)

Good luck!
Show quoted textHide quoted text
On Tue, Jun 12, 2018 at 9:41 PM, Tony Cappellini cappy2112@... [xpantastic] <xpantastic@yahoogroups.com> wrote:

Has anyone here attempted to disassemble the XPander or Matrix 12 ROMS?
If so, where is the dissembled source code at?

If not, what would you recommend using getting the ROM bin files that are separated
into even & odd addresses, into 1 contiguous file? I don't want to goof that up and make the job more difficult.


Thanks

Tony


Re: [xpantastic] Xpander ROM disassembly

2018-06-12 by shalebridge@...

I had tried to do this to the VS but came up short... I've interleaved the ROMs and the single file works in a VS emulator, but I cant seem to figure out getting it into assembly in IDA. Any tips? You can email so we don't spam the Xpander thread. Thanks!

Re: Xpander ROM disassembly

2018-06-13 by mattvrazo@...

Hi Tony, if you're willing to share, I'm curious to know what your plans are for the code?

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-13 by Tony Cappellini

If I can get it disassembled- correctly I will. I don't have any serious plans other than looking through it to see what might jump out.

I don't know if I'll get around to adding any comments, since I've never done any real disassembly before.

Show quoted textHide quoted text
On Wed, Jun 13, 2018 at 1:45 PM mattvrazo@... [xpantastic] <xpantastic@yahoogroups.com> wrote:

Hi Tony, if you';re willing to share, I'm curious to know what your plans are for the code?

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-13 by Karl Schmeer

Hi Tony,I have written tons of assembly code for a Motorolla 68HC11 which has a similar instruction set. I would be willing to help with this project any way I can.I would love to "enhance" the original code to allow some midi cc of parameters like filter, envelope times etc.. As well as allow midi volume control (cc #7).BTW  there are two sets of firmware for the Xpander / M12. One set of for the system CPU and one set for the voice boards.  I imagine you are talking about the code for the system cpu ?
Best Regards 
Karl 

    On Wednesday, June 13, 2018 3:48 PM, "Tony Cappellini cappy2112@... [xpantastic]" <xpantastic@yahoogroups.com> wrote:
 

     If I can get it disassembled- correctly I will. I don't have any serious plans other than looking through it to see what might jump out.
I don't know if I'll get around to adding any comments, since I've never done any real disassembly before.

On Wed, Jun 13, 2018 at 1:45 PM mattvrazo@... [xpantastic] <xpantastic@yahoogroups.com> wrote:

     Hi Tony, if you're willing to share, I'm curious to know what your plans are for the code?

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by PeWe

Hi Karl !

A bit O.T. but ...

Assigning MIDI CCs to Xpander-parameters like VCF cutoff and MIDI volume works on my Xpander uising the MIDI Controls page.

The limitation are the modulation busses,- pedals #1 & #2 and levers #1 & #2,- which isn\ufffdt enough, especially vs. the count of modulation destinations in the mod-matrix.
So, when there were a chance maxing out modulation busses in the sense of mod-sources, that would be most excellent.

There\ufffds a bug in Multipatch-Mode when changing multi-patches via MIDI PrgCh. while MIDI CC#07 is assigned to "pedal #2" as a source and a value is being received.
The volume drops to zero then and it needs another MIDI CC#07=127 command to get some noise back from the synth.

I\ufffdm pretty sure it\ufffds a bug because "lever #2 and "pedal #2" are "universal" (global) controllers while lever and pedal #1 work individual for each voice.
So, in Multipatch Mode, MIDI CC#07 should be the master volume controller which should work when sending a program change and volume offset command,- but it doesn\ufffdt because there\ufffds no guarantee, the volume command arrives after the program change in exact sequential order when being transmitted from p.ex. a MIDI processor/matrix switcher or masterkeyboard.
A sequencer might handle that different compared to the devices mentioned above though.

In addition to the "master volume" functionality in "Multipatch-Mode", individual / relative volume control (not overriding MIDI CC#07 value !) for each voice should work using MIDI CC#11 together w/ MIDI CC#07 and w/o dropping overall volume to zero.
But even when we can get rid of the bug mentioned above, in Multipatch-Mode using MIDI CC#07 and MIDI CC#11 simultaneously eats up both pedals as modulation sources and makes it impossible using MIDI CC#04 for filter cutoff, may it be per voice or global,- WHEN the mod wheel is in use for vibrato p.ex..

So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
I dunno if that\ufffds doable via software at all, but it would be great if it were.

Anyway,- now some private stuff and because it\ufffds the occasion to send some lines ...

I received and still do receive all your emails, but when I reply, ALL the emails I send to shire03@... come back to me as a mailer demon after exactly 4 (FOUR !!!) days.
I regret and have no idea what causes that behaviour, but we should try to find another way for private communication I think.
Maybe PMs @ Keybd Corner ... (???) ... what do you think ?
Please reply to my private email addy 1st.
When you agree, you might post something over there,- I\ufffdll recognize and will jump in via PM.
Let me know please.

thx for reading

:-)

PeWe
\ufffd

Am 14.06.2018 um 00:02 schrieb Karl Schmeer shire03@... [xpantastic]:
Show quoted textHide quoted text
\ufffd

I would love to "enhance" the original code to allow some midi cc of parameters like filter, envelope times etc.. As well as allow midi volume control (cc #7).
Best Regards


Karl




Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by Tony Cappellini

FYI- thanks everyone for replying.

I think some of you may have gotten the wrong idea about my post.
I’m not planning on adding any features, nor extensively document the hopefully-forthcoming disassembly.
I don’t think I have the experience that deserves. My intent was simply to see how’ve the cassette dump works, just for my own education.

I am mor than happy to share what I find (if anything), as well as the disassembly (which will be very ra and crude), and of course talk all of this over on the list.

Regarding adding features- there’s is very littke code space left, I’m not sure how much could be added, even if we had documented sources.


I am off for vacation for 2 weeks, so no work on this will take place until closer to the end of the month.
Until then- keep on patching!

Show quoted textHide quoted text
On Wed, Jun 13, 2018 at 1:45 PM mattvrazo@... [xpantastic] <xpantastic@yahoogroups.com> wrote:

Hi Tony, if you're willing to share, I'm curious to know what your plans are for the code?

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by Karl Schmeer

PeWe Wrote:
>>"So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
 >> I dunno if that´s doable via software at all, but it would be great if it were."
Hi PeWe,This is what I am talking about.   Permanently assigning some parameters to midi CC's  like many current synths are capable of doing. Yes it would take a considerable amount of understanding of the firmware, but it should be possible if enough room could be found in the ROMS. If not just have to use the slower sysex method.Another possibility:I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment. Using this technique it may be possible to allow more room for added features. But I have not fully investigated this yet.
Sent you a PM
Best Karl
 

    On Wednesday, June 13, 2018 10:12 PM, "PeWe ha-pewe@... [xpantastic]" <xpantastic@yahoogroups.com> wrote:
 

      Hi Karl !
 
 A bit O.T. but ...
 
 Assigning MIDI CCs to Xpander-parameters like VCF cutoff and MIDI volume works on my Xpander uising the MIDI Controls page.
 
 The limitation are the modulation busses,- pedals #1 & #2 and levers #1 & #2,- which isn´t enough, especially vs. the count of modulation destinations in the mod-matrix.
 So, when there were a chance maxing out modulation busses in the sense of mod-sources, that would be most excellent.
 
 There´s a bug in Multipatch-Mode when changing multi-patches via MIDI PrgCh. while MIDI CC#07 is assigned to "pedal #2" as a source and a value is being received.
 The volume drops to zero then and it needs another MIDI CC#07=127 command to get some noise back from the synth.
 
 I´m pretty sure it´s a bug because "lever #2 and "pedal #2" are "universal" (global) controllers while lever and pedal #1 work individual for each voice.
 So, in Multipatch Mode, MIDI CC#07 should be the master volume controller which should work when sending a program change and volume offset command,- but it doesn´t because there´s no guarantee, the volume command arrives after the program change in exact sequential order when being transmitted from p.ex. a MIDI processor/matrix switcher or masterkeyboard.
 A sequencer might handle that different compared to the devices mentioned above though.
 
 In addition to the "master volume" functionality in "Multipatch-Mode", individual / relative volume control (not overriding MIDI CC#07 value !) for each voice should work using MIDI CC#11 together w/ MIDI CC#07 and w/o dropping overall volume to zero.
 But even when we can get rid of the bug mentioned above, in Multipatch-Mode using MIDI CC#07 and MIDI CC#11 simultaneously eats up both pedals as modulation sources and makes it impossible using MIDI CC#04 for filter cutoff, may it be per voice or global,- WHEN the mod wheel is in use for vibrato p.ex..
 
 So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
 I dunno if that´s doable via software at all, but it would be great if it were.
 
 Anyway,- now some private stuff and because it´s the occasion to send some lines ...
 
 I received and still do receive all your emails, but when I reply, ALL the emails I send to shire03@... come back to me as a mailer demon after exactly 4 (FOUR !!!) days.
 I regret and have no idea what causes that behaviour, but we should try to find another way for private communication I think.
 Maybe PMs @ Keybd Corner ... (???) ... what do you think ?
 Please reply to my private email addy 1st.
 When you agree, you might post something over there,- I´ll recognize and will jump in via PM.
 Let me know please.
 
 thx for reading
 
 :-)
 
 PeWe
  
 
 Am 14.06.2018 um 00:02 schrieb Karl Schmeer shire03@... [xpantastic]:
  
    
 I would love to "enhance" the original code to allow some midi cc of parameters like filter, envelope times etc.. As well as allow midi volume control (cc #7). Best Regards  
 
  Karl

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by Tony Cappellini

Karl,

>>I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment.
there are 4 8K ROMS, and 3 8K RAMS on the processor board, two ROMS and two RAMS on the voice board.

The 6809 only has a 64K address space. 56K of address space is already used on the processor board.
Unless you put in a whole new circuit board to do bank switching (and rewrite the FW to go with it), you won't be able to use larger EEPROMS.

Show quoted textHide quoted text
On Thu, Jun 14, 2018 at 9:03 AM, Karl Schmeer shire03@... [xpantastic] <xpantastic@yahoogroups.com> wrote:


PeWe Wrote:

>>"So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
>> I dunno if that´s doable via software at all, but it would be great if it were."

Hi PeWe,
This is what I am talking about. Permanently assigning some parameters to midi CC's like many current synths are capable of doing. Yes it would take
a considerable amount of understanding of the firmware, but it should be possible if enough room could be found in the ROMS. If not just have to use the slower
sysex method.
Another possibility:
I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment. Using this technique it may be possible to allow more room
for added features. But I have not fully investigated this yet.

Sent you a PM

Best Karl



On Wednesday, June 13, 2018 10:12 PM, "PeWe ha-pewe@... [xpantastic]" <xpantastic@yahoogroups.com> wrote:


Hi Karl !

A bit O.T. but ...

Assigning MIDI CCs to Xpander-parameters like VCF cutoff and MIDI volume works on my Xpander uising the MIDI Controls page.

The limitation are the modulation busses,- pedals #1 & #2 and levers #1 & #2,- which isn´t enough, especially vs. the count of modulation destinations in the mod-matrix.
So, when there were a chance maxing out modulation busses in the sense of mod-sources, that would be most excellent.

There´s a bug in Multipatch-Mode when changing multi-patches via MIDI PrgCh. while MIDI CC#07 is assigned to "pedal #2" as a source and a value is being received.
The volume drops to zero then and it needs another MIDI CC#07=127 command to get some noise back from the synth.

I´m pretty sure it´s a bug because "lever #2 and "pedal #2" are "universal" (global) controllers while lever and pedal #1 work individual for each voice.
So, in Multipatch Mode, MIDI CC#07 should be the master volume controller which should work when sending a program change and volume offset command,- but it doesn´t because there´s no guarantee, the volume command arrives after the program change in exact sequential order when being transmitted from p.ex. a MIDI processor/matrix switcher or masterkeyboard.
A sequencer might handle that different compared to the devices mentioned above though.

In addition to the "master volume" functionality in "Multipatch-Mode", individual / relative volume control (not overriding MIDI CC#07 value !) for each voice should work using MIDI CC#11 together w/ MIDI CC#07 and w/o dropping overall volume to zero.
But even when we can get rid of the bug mentioned above, in Multipatch-Mode using MIDI CC#07 and MIDI CC#11 simultaneously eats up both pedals as modulation sources and makes it impossible using MIDI CC#04 for filter cutoff, may it be per voice or global,- WHEN the mod wheel is in use for vibrato p.ex..

So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
I dunno if that´s doable via software at all, but it would be great if it were.

Anyway,- now some private stuff and because it´s the occasion to send some lines ...

I received and still do receive all your emails, but when I reply, ALL the emails I send to shire03@... come back to me as a mailer demon after exactly 4 (FOUR !!!) days.
I regret and have no idea what causes that behaviour, but we should try to find another way for private communication I think.
Maybe PMs @ Keybd Corner ... (???) ... what do you think ?
Please reply to my private email addy 1st.
When you agree, you might post something over there,- I´ll recognize and will jump in via PM.
Let me know please.

thx for reading

:-)

PeWe


Am 14.06.2018 um 00:02 schrieb Karl Schmeer shire03@... [xpantastic]:

I would love to "enhance" the original code to allow some midi cc of parameters like filter, envelope times etc.. As well as allow midi volume control (cc #7).
Best Regards


Karl







Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by Karl Schmeer

On Thursday, June 14, 2018 11:14 AM, "Tony Cappellini cappy2112@gmail.com [xpantastic]" <xpantastic@yahoogroups.com> wrote:
 

     >Karl,
>>>>I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment.>there are 4 8K ROMS, and 3 8K RAMS on the processor board, two ROMS and two RAMS on the voice board.
>The 6809 only has a 64K address space. 56K of address space is already used on the processor board.>Unless you put in a whole new circuit board to do bank switching (and rewrite the FW to go with it), you won't be able to use larger EEPROMS.


That's too bad. Like I said I had not fully investigated it.

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by deano

Exactly. Of course, if people are happy for board mods, there's a chunk of address space which is just being mirrored for the dealing with output (ie, the last 4k iirc which actually just has something like 12 output addresses). But to get into there, you'll need to add some wires and some logic gates -- far beyond a simple hack.

The best chance to add in new behaviour is if the code in the ROMs isn';t particularly optimized for space. It's a long shot though. You might be able to claw back a few bytes here and there, but then you have the challenge of making a big enough hole to then do something worthwhile without breaking the existing code. It could be an interesting project for someone to look into this, and the sheer challenge of understanding code from the disassembly is kinda fun.

//deano
Show quoted textHide quoted text
On Thu, Jun 14, 2018 at 5:14 PM, Tony Cappellini cappy2112@gmail.com [xpantastic] <xpantastic@yahoogroups.com> wrote:

Karl,

>>I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment.
there are 4 8K ROMS, and 3 8K RAMS on the processor board, two ROMS and two RAMS on the voice board.

The 6809 only has a 64K address space. 56K of address space is already used on the processor board.
Unless you put in a whole new circuit board to do bank switching (and rewrite the FW to go with it), you won't be able to use larger EEPROMS.


On Thu, Jun 14, 2018 at 9:03 AM, Karl Schmeer shire03@...t [xpantastic] <xpantastic@yahoogroups.com> wrote:


PeWe Wrote:

>>;"So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
>> I dunno if that´s doable via software at all, but it would be great if it were."

Hi PeWe,
This is what I am talking about. Permanently assigning some parameters to midi CC's like many current synths are capable of doing. Yes it would take
a considerable amount of understanding of the firmware, but it should be possible if enough room could be found in the ROMS. If not just have to use the slower
sysex method.
Another possibility:
I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment. Using this technique it may be possible to allow more room
for added features. But I have not fully investigated this yet.

Sent you a PM

Best Karl



On Wednesday, June 13, 2018 10:12 PM, "PeWe ha-pewe@... [xpantastic]" <xpantastic@yahoogroups.com> wrote:


Hi Karl !

A bit O.T. but ...

Assigning MIDI CCs to Xpander-parameters like VCF cutoff and MIDI volume works on my Xpander uising the MIDI Controls page.

The limitation are the modulation busses,- pedals #1 & #2 and levers #1 & #2,- which isn´t enough, especially vs. the count of modulation destinations in the mod-matrix.
So, when there were a chance maxing out modulation busses in the sense of mod-sources, that would be most excellent.

There´s a bug in Multipatch-Mode when changing multi-patches via MIDI PrgCh. while MIDI CC#07 is assigned to "pedal #2" as a source and a value is being received.
The volume drops to zero then and it needs another MIDI CC#07=127 command to get some noise back from the synth.

I´m pretty sure it´s a bug because "lever #2 and "pedal #2" are "universal" (global) controllers while lever and pedal #1 work individual for each voice.
So, in Multipatch Mode, MIDI CC#07 should be the master volume controller which should work when sending a program change and volume offset command,- but it doesn´t because there´s no guarantee, the volume command arrives after the program change in exact sequential order when being transmitted from p.ex. a MIDI processor/matrix switcher or masterkeyboard.
A sequencer might handle that different compared to the devices mentioned above though.

In addition to the "master volume" functionality in "Multipatch-Mode", individual / relative volume control (not overriding MIDI CC#07 value !) for each voice should work using MIDI CC#11 together w/ MIDI CC#07 and w/o dropping overall volume to zero.
But even when we can get rid of the bug mentioned above, in Multipatch-Mode using MIDI CC#07 and MIDI CC#11 simultaneously eats up both pedals as modulation sources and makes it impossible using MIDI CC#04 for filter cutoff, may it be per voice or global,- WHEN the mod wheel is in use for vibrato p.ex..

So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
I dunno if that´s doable via software at all, but it would be great if it were.

Anyway,- now some private stuff and because it´s the occasion to send some lines ...

I received and still do receive all your emails, but when I reply, ALL the emails I send to shire03@sbcglobal.net come back to me as a mailer demon after exactly 4 (FOUR !!!) days.
I regret and have no idea what causes that behaviour, but we should try to find another way for private communication I think.
Maybe PMs @ Keybd Corner ... (???) ... what do you think ?
Please reply to my private email addy 1st.
When you agree, you might post something over there,- I´ll recognize and will jump in via PM.
Let me know please.

thx for reading

:-)

PeWe


Am 14.06.2018 um 00:02 schrieb Karl Schmeer shire03@... [xpantastic]:

I would love to "enhance" the original code to allow some midi cc of parameters like filter, envelope times etc.. As well as allow midi volume control (cc #7).
Best Regards


Karl








Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-14 by min struct

Hello,
Would this work bring any chance to be able to replace the 6809 CPU with an upgraded reference ?
What would happen if the CPU frequency would be 4 times the original one ? Would it be possible to speed up the software envelopes ? or some software modulation sources ?
Or would it be a mess for the other controls ?
(Prophet600 Z80's Teensy upgrade by Gligli in mind)
thanks
Show quoted textHide quoted text
2018-06-14 18:14 GMT+02:00 Tony Cappellini cappy2112@... [xpantastic] <xpantastic@yahoogroups.com>:

Karl,

>>I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment.
there are 4 8K ROMS, and 3 8K RAMS on the processor board, two ROMS and two RAMS on the voice board.

The 6809 only has a 64K address space. 56K of address space is already used on the processor board.
Unless you put in a whole new circuit board to do bank switching (and rewrite the FW to go with it), you won't be able to use larger EEPROMS.


On Thu, Jun 14, 2018 at 9:03 AM, Karl Schmeer shire03@... [xpantastic] <xpantastic@yahoogroups.com> wrote:


PeWe Wrote:

>>"So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
>> I dunno if that´s doable via software at all, but it would be great if it were."

Hi PeWe,
This is what I am talking about. Permanently assigning some parameters to midi CC's like many current synths are capable of doing. Yes it would take
a considerable amount of understanding of the firmware, but it should be possible if enough room could be found in the ROMS. If not just have to use the slower
sysex method.
Another possibility:
I have seen guys use larger EEPROMs to condense the size of memory in some HP test equipment. Using this technique it may be possible to allow more room
for added features. But I have not fully investigated this yet.

Sent you a PM

Best Karl



On Wednesday, June 13, 2018 10:12 PM, "PeWe ha-pewe@... [xpantastic]" <xpantastic@yahoogroups.com> wrote:


Hi Karl !

A bit O.T. but ...

Assigning MIDI CCs to Xpander-parameters like VCF cutoff and MIDI volume works on my Xpander uising the MIDI Controls page.

The limitation are the modulation busses,- pedals #1 & #2 and levers #1 & #2,- which isn´t enough, especially vs. the count of modulation destinations in the mod-matrix.
So, when there were a chance maxing out modulation busses in the sense of mod-sources, that would be most excellent.

There´s a bug in Multipatch-Mode when changing multi-patches via MIDI PrgCh. while MIDI CC#07 is assigned to "pedal #2" as a source and a value is being received.
The volume drops to zero then and it needs another MIDI CC#07=127 command to get some noise back from the synth.

I´m pretty sure it´s a bug because "lever #2 and "pedal #2" are "universal" (global) controllers while lever and pedal #1 work individual for each voice.
So, in Multipatch Mode, MIDI CC#07 should be the master volume controller which should work when sending a program change and volume offset command,- but it doesn´t because there´s no guarantee, the volume command arrives after the program change in exact sequential order when being transmitted from p.ex. a MIDI processor/matrix switcher or masterkeyboard.
A sequencer might handle that different compared to the devices mentioned above though.

In addition to the "master volume" functionality in "Multipatch-Mode", individual / relative volume control (not overriding MIDI CC#07 value !) for each voice should work using MIDI CC#11 together w/ MIDI CC#07 and w/o dropping overall volume to zero.
But even when we can get rid of the bug mentioned above, in Multipatch-Mode using MIDI CC#07 and MIDI CC#11 simultaneously eats up both pedals as modulation sources and makes it impossible using MIDI CC#04 for filter cutoff, may it be per voice or global,- WHEN the mod wheel is in use for vibrato p.ex..

So, the Xpander/ Matrix-12 needs more modulation busses/channels on the modulation-input side.
I dunno if that´s doable via software at all, but it would be great if it were.

Anyway,- now some private stuff and because it´s the occasion to send some lines ...

I received and still do receive all your emails, but when I reply, ALL the emails I send to shire03@... come back to me as a mailer demon after exactly 4 (FOUR !!!) days.
I regret and have no idea what causes that behaviour, but we should try to find another way for private communication I think.
Maybe PMs @ Keybd Corner ... (???) ... what do you think ?
Please reply to my private email addy 1st.
When you agree, you might post something over there,- I´ll recognize and will jump in via PM.
Let me know please.

thx for reading

:-)

PeWe


Am 14.06.2018 um 00:02 schrieb Karl Schmeer shire03@... [xpantastic]:

I would love to "enhance" the original code to allow some midi cc of parameters like filter, envelope times etc.. As well as allow midi volume control (cc #7).
Best Regards


Karl








Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-15 by PeWe

>>>

Am 15.06.2018 um 00:20 schrieb min struct min.struct@... [xpantastic]:
Show quoted textHide quoted text
\ufffd
Hello,
Would this work bring any chance to be able to replace the 6809 CPU with an upgraded reference ?
What would happen if the CPU frequency would be 4 times the original one ?

When speeding up CPU frequency by the facor of 4,- in a synthwhere lots of modulators are realized in software, almost everything speeds up in relation,- LFO rate p.ex. and even the actually slowest possible rate.
Same w/ ENV segment times (Delay, A, D & R), Ramp times, Portamento times and so on.
No sound formerly being programmed and stored into memory would sound the same like it does today.

I know well because they got that issue w/ the "Musitronics" SpeedKit for the D50/550 w/ the target making the synth tighter when playing chords.
They got it, but after they had speed up the processor by a factor of 4\ufffd (there\ufffds a daughterboard which fit\ufffds the original socket, which also offers 3 more memory banks and a 2nd/separate battery in addition as also they replaced the original quartz making the clock more accurate) they had to slow down those rates mentioned above to make the synth sounding the same as it did w/ the original processor, quartz and firmware.

Would it be possible to speed up the software envelopes ? or some software modulation sources ?

In case of the ENVs, you want to make \ufffdem snappier, not faster ... that\ufffds the Attack/Decay times and probably also slope ...
For LFOs, you might want \ufffdem to go faster (audio rate), but want \ufffdem as slow as tthey originally go,- or slower in addition.
Same for Ramps.
And those things are all realized in software in Xpander/ M12


Or would it be a mess for the other controls ?

not urgently when done right.

:-)

P.

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-15 by PeWe

>>>

Am 14.06.2018 um 18:03 schrieb Karl Schmeer shire03@... [xpantastic]:
Show quoted textHide quoted text
\ufffd

Sent you a PM

Best Karl

I got it,- thx !

I doubt there\ufffds a "o"\ufffd / "0" problem when using your original email or when replying on your mails, just because replying means clicking the button [reply].

You announced providing a gmail-addy in that 2017 email ... but it never happened.
Anyway,- I\ufffdll reply on your email now and hope it works again.

When you won\ufffdt receive it within 4 days, we have the same issue than before.

:-)

PeWe



Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-15 by Tony Cappellini

Hitachi makes a pin and instruction compatible CPU (6309), I don’t know if they make the B variant though.

This CPU can run up to 4 MHZ, where’s the 6809 maxes out at 1.89 or so.
There are additional registers an instructions in the 6309 when running in enhanced mode, that offer additional features, notably performance enhancements.

However the ROMS would need to be rewritten to take advantage of the new speed, and it is highly likely a lot of peripheral hardware
Would be affected. With the higher performance, it may be possible to add new features in the same 64K addressing space, because of the extra instructions and registers. It would be a monumental effort though, and a lot of time.

No silver bullet there.


Show quoted textHide quoted text
On Thu, Jun 14, 2018 at 5:20 PM PeWe ha-pewe@... [xpantastic] <xpantastic@yahoogroups.com> wrote:

>>>

Am 15.06.2018 um 00:20 schrieb min struct min.struct@... [xpantastic]:
Hello,
Would this work bring any chance to be able to replace the 6809 CPU with an upgraded reference ?
What would happen if the CPU frequency would be 4 times the original one ?

When speeding up CPU frequency by the facor of 4,- in a synthwhere lots of modulators are realized in software, almost everything speeds up in relation,- LFO rate p.ex. and even the actually slowest possible rate.
Same w/ ENV segment times (Delay, A, D & R), Ramp times, Portamento times and so on.
No sound formerly being programmed and stored into memory would sound the same like it does today.

I know well because they got that issue w/ the "Musitronics" SpeedKit for the D50/550 w/ the target making the synth tighter when playing chords.
They got it, but after they had speed up the processor by a factor of 4 (there´s a daughterboard which fit´s the original socket, which also offers 3 more memory banks and a 2nd/separate battery in addition as also they replaced the original quartz making the clock more accurate) they had to slow down those rates mentioned above to make the synth sounding the same as it did w/ the original processor, quartz and firmware.



Would it be possible to speed up the software envelopes ? or some software modulation sources ?

In case of the ENVs, you want to make ´em snappier, not faster ... that´s the Attack/Decay times and probably also slope ...
For LFOs, you might want ´em to go faster (audio rate), but want ´em as slow as tthey originally go,- or slower in addition.
Same for Ramps.
And those things are all realized in software in Xpander/ M12




Or would it be a mess for the other controls ?

not urgently when done right.

:-)

P.

Re: [xpantastic] Re: Xpander ROM disassembly

2018-06-17 by geebeex@...


Hi,
FYI, 6 years ago a guy called Christophe Janot posted some messages in the Xpantastic forum about this.
I did had some exchanges with him outside Xpantastic. He was building a kind of clone of Matrix 12 with extra functionalities.
Here is what he said at the time about the CPU (translated):

"Otherwise, from what I understood from the architecture, the two CPUs operate completely asynchronously and can therefore work at different frequencies. It is also quite possible to boost the CPU of the analog card up to 3.5Mhz (instead of 2Mhz) by replacing it with a 63C09P. I use this CPU on my main board (but 2Mhz). Now, there is a timer on the analog board, and I wondered if it was not used to clock the generation of different modulations. If this were the case, it would be necessary to modify the firmware to program it differently. I also wondered if the main DAC would be able to support the additional data rate caused by the increase in CPU frequency."

He was prototyping his clone on a xmos/xcore evaluation card, and wanted to put everything open source à la Mutable Instruments.

I did get no news from him on the internet since this time.
The last status I had at the time (sept. 2012) is that he was able to boot the native rom images and load the presets.
I have no news since.

Regards,



Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.