Jump to content

floorboard floored me


Ian_Hurlock
 Share

Recommended Posts

???  Hi Tk

Just built that flooboard thing for Mackwreck.

Only thing is that it does'nt go !!  he he he

As you know I check things and I have checked this.

Upshot is that I get nil per led segment. I guess I should see something on the leds when I power up.

I have not tried to send any midi with it yet, did'nt see the point.

Did anyone build this thing b4.........?

Wondered if there might be a code prob or something.

BTW  can the 877 be used  ?

TIA  Ian

Link to comment
Share on other sites

Things are getting real bad when you post replies to your own posts.

The other day I had an argument with myself and lost  :o :o :o

Oh how delightful the leds are when it boots up  ::)

Those stinky segments were CC not CA. Slid the new ones in and it works a treat. ;)

Now gotta work out how to change the source code ......eek :P ???

Ian

Link to comment
Share on other sites

Hi Ian,

the source code mod is easier than resoldering all the parts (ok: for myself ;-))

In irq.inc, you have to exchange the LED routines:

;; ==========================================================================
;;  LED subroutines for timer handler
;; ==========================================================================

LED_Set0
        movlw   0x01                    ; Digit 0 on, Digit 1 off, Digit 2 off
        xorlw   0x07
        movwf   PORTC
        movf    LED_DIGIT0, W
        goto    LED_SetDigit

LED_Set1
        movlw   0x02                    ; Digit 0 off, Digit 1 on, Digit 2 off
        xorlw   0x07
        movwf   PORTC
        movf    LED_DIGIT1, W
        goto    LED_SetDigit

LED_Set2
        movlw   0x04                    ; Digit 0 off, Digit 1 off, Digit 2 on
        xorlw   0x07
        movwf   PORTC
        movf    LED_DIGIT2, W
;       goto    LED_SetDigit

LED_SetDigit
        ;; First: Check Flash Flag
        IFCLR   LED_FLASH_FLAG, 0, goto LED_SetDigitCont

        ; change char to "led off", depending on counter
        IFSET   LED_FLASH_CTR, 5, movlw 0x10

LED_SetDigitCont
        call    LED_GetCode
        movwf   LED_TMP

        ;; scrambling:
        ;; LED a: PORTA[0]
        ;; LED b: PORTA[1]
        ;; LED c: PORTA[2]
        ;; LED d: PORTA[3]
        ;; LED e: PORTA[5]
        ;; LED f: PORTE[0]
        ;; LED g: PORTE[1]
        ;; LED dot: PORTE[2]

        andlw   0x0f                    ; PORTA[3..0]
        IFSET   LED_TMP, 4, iorlw 0x20  ; PORTA[5]
        xorlw   0x2f
        movwf   PORTA

        swapf   LED_TMP, F
        rrf     LED_TMP, W
        andlw   0x07
        xorlw   0x07
        movwf   PORTE                   ; PORTE[2..0]

        return

I just have exchanged the polarity with the xorlw instructions

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