Jump to content

Project: little surface, maximum control... (updated 20 march 2007)


Ixox
 Share

Recommended Posts

Ok, i found out, that in your post was something missing:

CS_MENU_ButtonIncDec_End
	;; force a display update and exit
	bsf	CS_STAT, CS_STAT_DISPLAY_UPDATE_REQ

	return

this is needed by CS_MENU_ButtonDec1 and has to be added to the code....

Greets Chris

Link to comment
Share on other sites

No problem... but the control-surface needs some enhancements because in my version the encoders are splitted over the shift registers - this wont work so easy i found out... and also the pcb's need some documentation because bridges and so on are not documented... when i'm finished with this i'll do all this and put the pcb's in the wiki...

Chris

Link to comment
Share on other sites

Hi Talion,

That's great to see your beautifull work  ;D

I absolutely must find some time to finish mine...

You should have sent me an email to know what's missing..

But you found exacly what was missing.... congratulations.

Sorry for the problem and thank you to have posted the fix :

(For the record the missing line is "CS_MENU_ButtonIncDec_End" at the end of CS_MENU_ButtonInc function in cs_menu.inc.)

Ok, i found out, that in your post was something missing:

CS_MENU_ButtonIncDec_End
	;; force a display update and exit
	bsf	CS_STAT, CS_STAT_DISPLAY_UPDATE_REQ

	return

this is needed by CS_MENU_ButtonDec1 and has to be added to the code....

Greets Chris

Please post a picture of your finished box.

I'll do the same....  ;)

Xavier

Link to comment
Share on other sites

  • 5 months later...
  • 5 months later...
  • 3 months later...

Hi all,

I'm trying to build the mini-sid from this thread : http://www.midibox.org/forum/index.php/topic,7569.0.html but the code (in the thread) is based on the 1.7x B version of the sid not the 1.7x C ... so I get lots of "macro" errors (with IFSET missing etc etc).

Now I was wondering if there is a simple way to port that code easily 'cos to be honest ... I don't get it when it womes to ASM ...

Thanks for your help.

(By the way, if someone has already built it and has the source code ... I'll be very pleased).

PS : did I say that toomorrow is my birthday ? ;-)

Link to comment
Share on other sites

It took me 10 minutes to move your posting to a location where the interesting information doesn't get lost!

It took me 10 seconds to convert the macros (converter works only under Linux/MacOS, the result sometimes requires manual editing - therefore it isn't public...)


CS_MENU_BUTTON_Row_Inc
        ;; do nothing if button has been depressed
        btfsc   MIOS_PARAMETER2, 0
        return


        movlw   0x06
        cpfsgt  CS_MENU_SELECTED_ROW, ACCESS
        goto CS_MENU_BUTTON_Row_Inc_DoIt
        clrf CS_MENU_SELECTED_ROW
        goto CS_MENU_BUTTON_Row_ChangeMenu
CS_MENU_BUTTON_Row_Inc_DoIt
        incf    CS_MENU_SELECTED_ROW, F
        goto CS_MENU_BUTTON_Row_ChangeMenu

CS_MENU_BUTTON_Row_Dec
        ;; do nothing if button has been depressed
        btfsc   MIOS_PARAMETER2, 0
        return


        movlw   0x01
        cpfslt  CS_MENU_SELECTED_ROW, ACCESS
        goto CS_MENU_BUTTON_Row_Dec_DoIt
        movlw   0x07
        movwf   CS_MENU_SELECTED_ROW
        goto CS_MENU_BUTTON_Row_ChangeMenu

CS_MENU_BUTTON_Row_Dec_DoIt     
        decf    CS_MENU_SELECTED_ROW, F
        goto CS_MENU_BUTTON_Row_ChangeMenu

CS_MENU_BUTTON_Row_ChangeMenu
        ;; update TMP6 for easy menu switching
        movf    CS_MENU_SELECTED_ROW, W
        call    MIOS_HLP_GetBitORMask
        movwf   TMP6

        ;; menu display
        movlw   0x00            ; cursor pos
        movwf   MIOS_PARAMETER1
        movlw   0x00            ; page offset
        movwf   MIOS_PARAMETER2
        movlw   CS_MENU_FIL     ; menu structure
        btfsc   TMP6, 0
        movlw CS_MENU_OSC
        btfsc   TMP6, 1
        movlw CS_MENU_OSC
        btfsc   TMP6, 2
        movlw CS_MENU_OSC
        btfsc   TMP6, 3
        movlw CS_MENU_ENV
        btfsc   TMP6, 4
        movlw CS_MENU_ENV
        btfsc   TMP6, 5
        movlw CS_MENU_FIL
        btfsc   TMP6, 6
        movlw CS_MENU_LFO
        GOTO_IFSET TMP6, 7, ACCESS, CS_MENU_BUTTON_DisplayUpdateReq
        goto    CS_MENU_BUTTON_Hlp_MenuChangeOk


CS_MENU_BUTTON_MatrixRow_Inc
        ;; do nothing if button has been depressed
        btfsc   MIOS_PARAMETER2, 0
        return
        ;; just show menu if not already on the LCD
        movlw   CS_MENU_MOD
        cpfseq  CS_MENU, ACCESS
        rgoto CS_MENU_BUTTON_Hlp_MenuChangeOk
        movlw   0x00            ; cursor pos
        movwf   MIOS_PARAMETER1
        movlw   0x00            ; page offset
        movwf   MIOS_PARAMETER2
        movlw   CS_MENU_MOD     ; menu structure
        goto    CS_MENU_ButtonInc


CS_MENU_BUTTON_MatrixRow_Dec
        ;; do nothing if button has been depressed
        btfsc   MIOS_PARAMETER2, 0
        return
        ;; just show menu if not already on the LCD
        movlw   CS_MENU_MOD
        cpfseq  CS_MENU, ACCESS
        rgoto CS_MENU_BUTTON_Hlp_MenuChangeOk
        movlw   0x00            ; cursor pos
        movwf   MIOS_PARAMETER1
        movlw   0x00            ; page offset
        movwf   MIOS_PARAMETER2
        movlw   CS_MENU_MOD     ; menu structure
        goto    CS_MENU_ButtonDec
        ;; ------------------------------------------------------------------

CS_MENU_BUTTON_General1
        btfsc   MIOS_PARAMETER2, 0
        return
        BRA_IFSET TMP6, 0, ACCESS, CS_MENU_BUTTON_Osc_Sel
;;      IFSET   TMP6, 1, rgoto
;;      IFSET   TMP6, 2, rgoto
        BRA_IFSET TMP6, 3, ACCESS, CS_MENU_BUTTON_Env_Sel
;;      IFSET   TMP6, 4, rgoto
        BRA_IFSET TMP6, 5, ACCESS, CS_MENU_BUTTON_Fil_Sel
        BRA_IFSET TMP6, 6, ACCESS, CS_MENU_BUTTON_LFO_Sel
;;      IFSET   TMP6, 7, rgoto
        return

CS_MENU_BUTTON_General2
        btfsc   MIOS_PARAMETER2, 0
        return
        BRA_IFSET TMP6, 0, ACCESS, CS_MENU_BUTTON_Osc_Wav
;;      IFSET   TMP6, 1, rgoto
;;      IFSET   TMP6, 2, rgoto
        BRA_IFSET TMP6, 3, ACCESS, CS_MENU_BUTTON_Env_Curve
;;      IFSET   TMP6, 4, rgoto
        BRA_IFSET TMP6, 5, ACCESS, CS_MENU_BUTTON_Fil_Mod
        BRA_IFSET TMP6, 6, ACCESS, CS_MENU_BUTTON_LFO_Wav
;;      IFSET   TMP6, 7, rgoto
        return

CS_MENU_BUTTON_General3
        btfsc   MIOS_PARAMETER2, 0
        return
        BRA_IFSET TMP6, 0, ACCESS, CS_MENU_BUTTON_Osc_RS
;;      IFSET   TMP6, 1, rgoto
;;      IFSET   TMP6, 2, rgoto
;;      IFSET   TMP6, 3, rgoto
;;      IFSET   TMP6, 4, rgoto
;;      IFSET   TMP6, 5, rgoto
;;      IFSET   TMP6, 6, rgoto
;;      IFSET   TMP6, 7, rgoto
        return

[/code]

Best Regards, Thorsten.

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...