Jump to content

SPlitting patches into 16 instead 64


dj3nk
 Share

Recommended Posts

sry, just didnt find it. dont think it s there. Dont I have to change some addresses or sth ?

Hi,

I'm very new to mios programming. I've build a MB64 with 16 pots and stuffed it with a 24lc512.

Now I want to change the size of one patch from 64 to 16, so I can save more than just 16 in the bankstick. Every pot 17-64 which is saved is wasted memory. With 16 pots I think I would have 128 bank. right ? a 24c256 saves 16 patches of a mb64. that are 1024 pots. So i can devide with my 16 pots and get 64. 2-times because its a 24c512.

I built my box with a 4620 already.

So how do I tell my box its a 24lc512 ??

How can I change the size of a bank ?

How much 16 pot banks can I store on the 4620? Is that bigger memory of the pic already implemented?

sry for the many questions but I wanna land on the moon as soon as possible ^^

thank you

MB64 is programmed in Assembler and you're asking in the C-Board :-\  The ASM-Programming or the MB64 Board would have been a better choice. There are some of us monitoring boards to get notified when new topics are posted, so you might consider this next time to get the right person at hand ;)

Anyway,

you should already have the sources for the MB64 application, so I'd say, open then up and search for bankstick. See what you can read out of it!

I have no clue of ASM, but I just opened up "cs_m_banc.inc".

so what did I find? A define #DEFAULT_PATCHMODE and #DEFAULT_BANKSTICK_CS.

...which leads me to a very simple thought: it's all already there and implemented!

Just open up "main.asm" and you'll see all the options!


; Number of connected pots
; Allowed values: 1-64
#define DEFAULT_NUMBER_POTS 64 ; number of connected pots
;
; Page handling: special option for MIDIboxes stuffed with 16 pots
; if enabled, 4 pages with 16 pot entries are available which can
; be switched with Meta event FF 05 xx
#define DEFAULT_ENABLE_PAGE_HANDLING 0
;
; A difficult decition: define here if you want to store many banks or many patches
; in the (optional) BankStick(s).
;    - Bank based  (PATCHMODE 0): 16 complete configurations are stored in each BankStick
;    - Patch based (PATCHMODE 1): 1 configuration bank and 128 patches are stored in each BankStick
#define DEFAULT_PATCHMODE 0
;
; Chip Select Number of BankStick which should be used:
;    -1: allows the MIDIbox to address up to 8 BankSticks (-> 64 Banks)
;    0: the MIDIbox addresses only the BankStick with CS=0 (-> 8 Banks)
;    ...
;    7: the MIDIbox addresses only the BankStick with CS=7 (-> 8 Banks)
;    all others: don't use any BankStick
;
; * -1 is the most prefered choice, also when only one BankStick is connected.
; * specify a CS number 0...7 when you are using different Applications
;  with your MIDIbox in order to assign a dedicated EEPROM to it.
; * specifiy any other number to disable BankStick support at all
#define DEFAULT_BANKSTICK_CS -1
;
; Channel which is used to send a program change event on bank changes
; and to listen for bank change requests
; Allowed values: 1-16
#define DEFAULT_BANK_PRG_CHNG_CHANNEL 16
;
; Channel which is used to send a program change event on patch changes
; and to listen for patch change requests
; Allowed values: 1-16
#define DEFAULT_PATCH_PRG_CHNG_CHANNEL 15

[/code]

so, you see, it's easy to take a look ;)

Cheers,

Michael

ahh , i searched everywhere but didnt find it. lol thx

sry 4 wrong board. havent seen it soon enough.

ADDED:

But I cant find any option the change the size of the pots from 64 down to 16. Just hjow many banksticks connected.

sry for that :/

Link to comment
Share on other sites

But I cant find any option the change the size of the pots from 64 down to 16.

???  =>

code=main.c

; Number of connected pots

; Allowed values: 1-64

#define DEFAULT_NUMBER_POTS 64 ; number of connected pots

we're talking of the mb64, right?

where the hell are you looking?  ;D

regards,

Michael

(good you moved it, btw ;) )

Link to comment
Share on other sites

I dont have problem to get my box working. i think i havent explained it good enough. :D

A midibox64 has 64 pots. One bankstick can save 16 times that 64 pots.

My midibox has got 16 pots. But I can only save 16 banks. It doesn't make a change, which number of pots I am writing there. The number of configs stay 16. And thats wasted space. I should have 64 configs with 16 pots each. But i just have 16x16. It seems the software doesnt automaticaly divide the space by the number of used pots.

after that i want to build an encoder into the box to quickly change between the patches.

Just to be sure ..... one patch is one visible set of pots on my box, right ? bank is all my patches?

Link to comment
Share on other sites

So what happens if you set the DEFAULT_PATCHMODE to 1 ?

; A difficult decition: define here if you want to store many banks or many patches

; in the (optional) BankStick(s).

;    - Bank based  (PATCHMODE 0): 16 complete configurations are stored in each BankStick

;    - Patch based (PATCHMODE 1): 1 configuration bank and 128 patches are stored in each BankStick

#define DEFAULT_PATCHMODE 0

Link to comment
Share on other sites

d*mn english double word meaning ^^

128 patches means every pot has one unique cc. 128 patches with the same ccs but another values. i need 64 "complete configurations".

one set of 16 pots for one synth, the 2nd for another .....

sry, my fault, I dont need the patchmode

Link to comment
Share on other sites

i should search "patchmode" i think.

add: oh lots of files. hmm have to look :/

;; --------------------------------------------------------------------------

;;  Menu Init routine is called when menu page should be initialized

;; --------------------------------------------------------------------------

CS_M_BANK_Init

#if DEFAULT_PATCHMODE == 0

#if DEFAULT_BANKSTICK_CS >= 0 && DEFAULT_BANKSTICK_CS <= 7

;; 16 banks maximum

movlw 16-1

#else

;; 128 banks maximum

movlw 128-1

#endif

#else

#if DEFAULT_BANKSTICK_CS >= 0 && DEFAULT_BANKSTICK_CS <= 7

;; 1 bank maximum

movlw 1-1

#else

;; 8 banks maximum

movlw 8-1

#endif

#endif

movwf CS_MENU_PARAMETER_MAX_L

clrf CS_MENU_PARAMETER_MAX_H

that in cs_m_bank.inc, i think i must change there to 64. gonna search other files and post it

Link to comment
Share on other sites

doesnt work whatever I do :(

add: I think I have to change some addresses. in a subroutin whats writes or reads on the bankstick I can see a addressvalue which gets multiplied by 0x40 (=dec. 64). This has something to do with the beginnings of the banks. But I think theres a lot more to change but I cant find it all :( Just getting black bars when I try to access my 16+ banks.

Link to comment
Share on other sites

so it looks like you now have three options:

- learn how to program ASM and spend countless hours and weeks on adapting the sources for your needs

- adapt your needs to the available options

- or spend 2 more Euros in an additional bankstick

I don't think anyone might do the job for you, 'cause it's not really worth the efford ;)

Good luck!

Michael

Link to comment
Share on other sites

I dont want someone to do it for me. I just want to get the infos I need to do it on my own. That means if someone knows how this routine works and where it is located he could tell me pls. I want to learn ASM but its not just changing one address like I needed to get my one lined display working. And in ASM everythings looks nearly the same or doesnt make any sence to me cause I dont know the other routines which get called all the time, yet : / But I want to understand it.

I think its definately not worth the efford (for me). With the standard config I would need EIGHT banksticks to get  the number of configurations I want to save. ONE 24lc512 would spent that space already. And I think lots of other people would be happy to use their complete space of the 24lc512. I read lots of people are already using it.

I hope if nobody knows, TK knows and has the time to tell me :/

thx

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...