Subversion Repositories svn.mios

Rev

Rev 141 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
111 tk 1
; $Id: setup_6581.asm 194 2008-03-09 14:57:36Z tk $
194 tk 2
    LIST R=DEC
111 tk 3
;
4
; Prepared Setup File for 6581 SID
5
;
6
 
7
    ;; here you can change the default device ID - if you are using
8
    ;; some cores as slave, set:
9
    ;;    o DEFAULT_DEVICE_ID 0x01  ; for the first slave
10
    ;;    o DEFAULT_DEVICE_ID 0x02  ; for the second slave
11
    ;;    o DEFAULT_DEVICE_ID 0x03  ; for the third slave
12
#define DEFAULT_DEVICE_ID 0x00
13
 
14
    ;; if this option is enabled (1), the DEFAULT_DEVICE_ID won't be used, but
15
    ;; it will be automatically derived from the MIOS Device ID instead
16
#define AUTO_DEVICE_ID  1
17
 
18
    ;; this MIDI channel will only be taken when:
19
    ;;    - you are using the MBSID standalone (neither as CS Master, nor as CS Slave)
20
    ;;    - the control surface is diabled and a BankStick is connected
21
    ;; in all other cases, the MIDI channel of the Master or Slave has to be selected
22
    ;; from the Control Surface
23
#define DEFAULT_MIDI_CHANNEL 1
24
 
25
    ;; select the BankStick type you are using here:
26
    ;;    0: "normal" 24LC256 EEPROM (32k), up to 8 EEPROMs can be connected for 8 banks
27
    ;;    1: 24LC512 EEPROM (64k), up to 4 EEPROMs can be connected for 8 banks
28
    ;;       (it is not possible to mix 32k with 64k EEPROMs, more than 4 64k devices not supported)
29
#define DEFAULT_BS_TYPE     0
30
 
31
    ;; select the filter type here:
32
    ;;    0: if a 6581 is controlled from the core
33
    ;;    1: if a 8580 is controlled from the core
34
    ;;    2: 6581 + freely definable scaling (define MIN and MAX value below)
35
    ;;    3: 8580 + freely definable scaling (define MIN and MAX value below)
36
#define DEFAULT_FILTER_TYPE 0
37
    ;; only relevant if DEFAULT_FILTER_TYPE is 2 or 3, values between 0 and 2047 are allowed
38
#define DEFAULT_FILTER_CALI_MIN 20
39
#define DEFAULT_FILTER_CALI_MAX 1000
40
 
41
    ;; set this if you want to switch between two different types and Min/Max values
42
#define DEFAULT_FILTER_TYPE_SWITCH 0
43
    ;; and define the used pin here (default: pin RC.3)
44
#define DEFAULT_FILTER_TYPE_SWITCH_TRIS TRISC
45
#define DEFAULT_FILTER_TYPE_SWITCH_PORT PORTC
46
#define DEFAULT_FILTER_TYPE_SWITCH_PIN  3
47
    ;; define the type (0-3) and the Min/Max values (for type 2/3) here:
48
#define DEFAULT_FILTER_TYPE2     1
49
#define DEFAULT_FILTER_CALI_MIN2 0
50
#define DEFAULT_FILTER_CALI_MAX2 2047
51
 
52
    ;; set this to '0' to disable the control surface - this is especially usefull for
53
    ;; people who want to program their own CS handler in order to free
54
    ;; some memory
55
    ;; It's also a good idea to disable the CS if the core is running as SID slave
56
    ;; (although this is no requirement!)
57
#define CS_ENABLED 1
58
 
59
    ;; if this option is set to "1", the CS will be enabled if the MIOS device ID is 0x00, and
60
    ;; it will be disabled if the MIOS device ID is != 0x00
61
    ;; in other words: the control surface will only be enabled for the master
62
    ;; note that this mechanism doesn't remove the CS code like CS_ENABLED == 0
63
#define AUTO_CS_ENABLED 1
64
 
65
    ;; number of visible menu items on LCD
66
    ;; use:  4 for 2x16 displays
67
    ;;       5 for 2x20 displays
68
    ;;      10 for 2x40 displays
69
#define CS_MENU_DISPLAYED_ITEMS 5
70
    ;; NOTE: if CS_MENU_DISPLAYED_ITEMS > 5, you have to adapt the DIN settings
71
    ;; in cs_menu_io_tables.inc
72
 
73
    ;; OLD_STYLE == 1: page scrolls with the cursor
74
    ;; OLD_STYLE == 0: page scrolls directly with the datawheel
75
#define CS_MENU_OLD_STYLE 0
76
 
77
    ;; Inc/Dec buttons or rotary encoder of data entry?
78
    ;; use:  0 if rotary encoder should be used 
79
    ;;         (pins of encoder are defined in mios_tables.inc)
80
    ;;       1 if buttons should be used instead
81
#define CS_MENU_USE_INCDEC_BUTTONS 0
82
 
83
    ;; use:  0 if a non-detented encoder is used to select the menu items
84
    ;;       1 if a detented encoder is used to select the menu items
85
    ;; the CS_MENU_EncSpeedSet function in "cs_menu.inc" sets the speed
86
    ;; depending on this value
87
#define CS_MENU_USE_DETENTED_ENCODER 1
88
 
89
    ;; the speed value for the additional encoders (#2-#15) is defined here
90
    ;; Hint: for non-detented encoders try the following: in mios_tables.inc
91
    ;; set the type of all encoders to "MIOS_ENC_MODE_DETENTED2" in order to
92
    ;; reduce the resolution (e.g. 24 ticks per revolution for a ALPS STEC16B),
93
    ;; set the speed value to 3 --- result: so long as the encoder is moved
94
    ;; slow, the parameter can be changed very precisely. By moving the encoder
95
    ;; faster, it is possible to sweep over the whole value range with a single turn
96
    ;; ("Progressive Mode")
97
#define CS_MENU_ENC_SPEED_VALUE 3
98
 
99
    ;; set this define to 1 of the link to slave SIDs should be enabled by default
100
#define CS_MENU_DEFAULT_LINK 0
101
 
102
    ;; if 0: OSC button selects also combined modes (7 states, combined OSCs)
103
    ;; if 1: OSC button selects only one of three OSCs (faster handling)
104
#define CS_MENU_OSC_BUTTON_BEHAVIOUR 1
105
 
106
    ;; use PORTA and PORTE (J5 of the core module) as output
107
    ;; you can address these pins in cs_menu_io_tables.inc as "shift register" #0
108
#define ENABLE_J5 0
109
 
110
    ;; set this to '1' if the modulation matrix (8x7 LEDs) is connected to the DOUT chain
111
#define MOD_MATRIX_ENABLE   1
112
 
113
    ;; define the shift registers (note: HERE the shift register begin with 0: 1st SR is 0, 2nd is 1, 3rd is 2, ...)
114
#define MOD_MATRIX_ANODES   6   ; shift register with anodes (HERE: 7th shift register in the chain)
115
#define MOD_MATRIX_CATHODES 7   ; shift register with cathodes (HERE: 8th shift register in the chain)
116
 
117
; For MIDI activity monitor: define the DOUT pins for the Rx and Tx LED:
118
#define MIDI_RXTX_USE_J5       0    ; if 0: MIDI Rx/Tx LEDs are assigned to the DOUT chain, pin 0x00-0x7f
119
                    ; if 1: MIDI Rx/Tx LEDs are assigned to J5 DOUT, pin 0x00-0x07
120
                    ;       (in this case ENABLE_J5 has to be set to 1!)
121
 
122
#define DEFAULT_MIDI_MONITOR_ENABLED 1  ; if 1, the Tx/Rx LEDs are enabled
123
#define DEFAULT_MIDI_RX_LED 0x41    ; DOUT SR#9, pin D1
124
#define DEFAULT_MIDI_TX_LED 0x42    ; DOUT SR#9, pin D2
125
 
141 tk 126
    ;; define the AOUT interface which is used here:
127
    ;;   1: one MBHP_AOUT module
128
    ;;   2: up to 4 (chained) MBHP_AOUT_LC modules
129
    ;;   3: one MBHP_AOUT_NG module
130
    ;; all other values invalid!
131
#define AOUT_INTERFACE_TYPE 0
111 tk 132
 
141 tk 133
    ;; only relevant if one or more AOUT_LC modules are used:
134
    ;; define the resolution configuration here
135
    ;;   0: first channel 12bit, second channel 4bit
136
    ;;   1: first channel 8bit, second channel 8bit
137
    ;; all other values invalid!
138
#define AOUT_LC_RESOLUTION_OPTION_M1 0
139
#define AOUT_LC_RESOLUTION_OPTION_M2 0
140
#define AOUT_LC_RESOLUTION_OPTION_M3 0
141
#define AOUT_LC_RESOLUTION_OPTION_M4 0
142
 
111 tk 143
    ;; enable the 6th LFO waveform (analog inputs)
144
#define ENABLE_AIN_LFO_WAVEFORM 1
145
 
146
    ;; sets the default display mode for the LED matrix
147
    ;;    0: shows modulation assignments after power-on
148
    ;;    1: shows modulation meters after power-on
149
    ;; the mode can be toggled by pressing two mod target buttons at the same time (e.g. O1 and O2 Pitch)
150
#define DEFAULT_LEDMATRIX_MODE 0
151
 
152
#include "src/main.inc"