Subversion Repositories svn.mios

Rev

Rev 52 | Blame | Compare with Previous | Last modification | View Log | RSS feed

; $Id: mios_tables.inc 53 2008-01-30 22:52:41Z tk $
;
; Configuration Tables for MIOS Applications
;
; ==========================================================================
;
;  Copyright 1998-2006 Thorsten Klose (tk@midibox.org)
;  Licensed for personal non-commercial use only.
;  All other rights reserved.
; 
; ==========================================================================

    ;; never change the origin or the order of entries!
    org 0x3080

;; --------------------------------------------------------------------------
;; The MIDI Trigger table maps incoming MIDI events to control elements
;; (pots/faders, encoders, buttons, LEDs, ...)
;; 
;; After the MIOS MIDI processor (MPROC) has received a complete event, it
;; searches in this table for a matching entry and calls USER_MPROC_NotifyFoundEvent
;; with the table index in WREG and the MIDI event in MIOS_PARAMETER[123]
;; 
;; Note also that the MIDI processor stops scanning the table after
;; the first MT_EOT entry
;; 
;; Note2: never change the origin (memory location) of this table!
;; 
;; Optionally this table can also be used to define events, which should be
;; transmitted (Example: see example_ain64_din128_dout128), so that incoming
;; and outgoing events are located at one place
;; 
;; The table *must* contain 256 entries. Unused entries should be filled with
;; MT_EOT.
;; --------------------------------------------------------------------------

    ;; MIDI Trigger entry structure
MT_ENTRY MACRO event_0, event_1
    dw  (event_1 << 8) | event_0
    ENDM

MT_EOT  MACRO
    dw  0xffff
    ENDM


MIOS_MPROC_EVENT_TABLE
    ;; entry 0x00-0x0f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0x10-0x1f  
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0x20-0x2f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    
    ;; entry 0x30-0x3f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    
    ;; entry 0x40-0x4f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    
    ;; entry 0x50-0x5f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
        
    ;; entry 0x60-0x6f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0x70-0x7f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0x80-0x8f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0x90-0x9f
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0xa0-0xaf
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0xb1-0xbf
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0xc0-0xcf
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0xd0-0xdf
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0xe0-0xef
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT

    ;; entry 0xf0-0xff
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT
    MT_EOT



; ==========================================================================

    org 0x3280      ; never change the origin!

;; --------------------------------------------------------------------------
;; In this table DIN pins have to be assigned to rotary encoders for the
;; MIOS_ENC driver 
;; 
;; up to 64 entries are provided
;; 
;; The table must be terminated with an ENC_EOT entry. Unused entries should
;; be filled with ENC_EOT
;; 
;; ENC_ENTRY provides following parameters
;;    o first parameter: number of shift register - 1, 2, 3, ... 16
;;    o second parameter: number of pin; since two pins are necessary
;;      for each encoder, an even number is expected: 0, 2, 4 or 6
;;    o the third parameter contains the encoder mode:
;;      either MIOS_ENC_MODE_NON_DETENTED
;;          or MIOS_ENC_MODE_DETENTED1
;;          or MIOS_ENC_MODE_DETENTED2
;;          or MIOS_ENC_MODE_DETENTED3
;;
;; Configuration Examples:
;;    ENC_ENTRY  1,  0,  MIOS_ENC_MODE_NON_DETENTED    ; non-detented encoder at pin 0 and 1 of SR 1
;;    ENC_ENTRY  1,  2,  MIOS_ENC_MODE_DETENTED        ; detented encoder at pin 2 and 3 of SR 1
;;    ENC_ENTRY  9,  6,  MIOS_ENC_MODE_NON_DETENTED    ; non-detented encoder at pin 6 and 7 of SR 9
;; --------------------------------------------------------------------------

    ;; encoder entry structure
ENC_ENTRY MACRO sr, din_0, mode
    dw  (mode << 8) | (din_0 + 8*(sr-1))
    ENDM    
ENC_EOT MACRO
    dw  0xffff
    ENDM

MIOS_ENC_PIN_TABLE
    ;; entry 0x00-0x0f
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT

    ;; entry 0x10-0x1f
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT

    ;; entry 0x20-0x2f
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT

    ;; entry 0x30-0x3f
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT
    ENC_EOT

    org 0x3300      ; never change the origin!

Generated by GNU enscript 1.6.4.