Changeset 7258c6a in buchla-68k for ram/dopatch.c
- Timestamp:
- 07/09/2017 04:45:34 PM (7 years ago)
- Branches:
- master
- Children:
- 8618599
- Parents:
- 0292fbb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ram/dopatch.c
r0292fbb r7258c6a 31 31 #define ST_PCT 0x0002 /* break subaddress into port, chan, trig */ 32 32 33 extern char*S1IoRec, *S2IoRec, *M1IoRec, *M2IoRec;34 35 u nsigned short seqdupd; /* sequence display update flag */36 37 extern short bform; /* oscillator buffer format */38 extern short curinst; /* current instrument being edited */39 extern short curvce; /* current voice being edited */40 extern short timemlt; /* time multiplier */41 42 extern short expbit[]; /* FPU exponent bit table */43 extern short ins2grp[]; /* instrument to group assignments */44 extern short s_inst[]; /* instrument to voice assignments */45 extern short vce2grp[]; /* voice to group assignments */46 47 extern u nsigned short seqflag[16]; /* sequencer flags */48 extern u nsigned short seqline[16]; /* current sequencer line */49 extern u nsigned short sregval[16]; /* register values */50 extern u nsigned short trstate[16]; /* trigger states */33 extern int8_t *S1IoRec, *S2IoRec, *M1IoRec, *M2IoRec; 34 35 uint16_t seqdupd; /* sequence display update flag */ 36 37 extern int16_t bform; /* oscillator buffer format */ 38 extern int16_t curinst; /* current instrument being edited */ 39 extern int16_t curvce; /* current voice being edited */ 40 extern int16_t timemlt; /* time multiplier */ 41 42 extern int16_t expbit[]; /* FPU exponent bit table */ 43 extern int16_t ins2grp[]; /* instrument to group assignments */ 44 extern int16_t s_inst[]; /* instrument to voice assignments */ 45 extern int16_t vce2grp[]; /* voice to group assignments */ 46 47 extern uint16_t seqflag[16]; /* sequencer flags */ 48 extern uint16_t seqline[16]; /* current sequencer line */ 49 extern uint16_t sregval[16]; /* register values */ 50 extern uint16_t trstate[16]; /* trigger states */ 51 51 52 52 extern struct wordq ptefifo; /* trigger fifo */ … … 54 54 extern struct wstbl wslib[]; /* waveshape library */ 55 55 56 charledstat[24]; /* LED status */57 58 /* 59 60 */ 61 62 short frq2par[] = {1, 3, 5, 7}; /* Frq to par */63 64 short ind2par[] = {9, 11, 12, 13, 14, 15}; /* Ind to par */65 66 short cv2vce[] = {11, 10, 6, 8}; /* CV to voice */67 68 short lg2base[7] = { 0, 3, 7, 10, 14, 17, 21}; /* LED group bases */69 70 charvgtype[] = {56 int8_t ledstat[24]; /* LED status */ 57 58 /* 59 60 */ 61 62 int16_t frq2par[] = {1, 3, 5, 7}; /* Frq to par */ 63 64 int16_t ind2par[] = {9, 11, 12, 13, 14, 15}; /* Ind to par */ 65 66 int16_t cv2vce[] = {11, 10, 6, 8}; /* CV to voice */ 67 68 int16_t lg2base[7] = { 0, 3, 7, 10, 14, 17, 21}; /* LED group bases */ 69 70 int8_t vgtype[] = { 71 71 72 72 ST_NUL, /* PA_NULL */ … … 113 113 */ 114 114 115 void pdows( short slot, short voice, short wsn)115 void pdows(int16_t slot, int16_t voice, int16_t wsn) 116 116 { 117 u nsigned short *fpuws;117 uint16_t *fpuws; 118 118 119 119 if (slot) { /* waveshape slot B */ … … 158 158 */ 159 159 160 void pfpufn(u nsigned short voice, unsigned short par, unsigned short dat1, unsigned short dat2)160 void pfpufn(uint16_t voice, uint16_t par, uint16_t dat1, uint16_t dat2) 161 161 { 162 register u nsigned short *fpu;163 short delay;162 register uint16_t *fpu; 163 int16_t delay; 164 164 165 165 fpu = io_fpu + FPU_OFNC + (voice << 8) + (par << 4); … … 172 172 case PSA_MLT: /* multiplier */ 173 173 174 *(fpu + ( long)FPU_TSF1) = dat2;174 *(fpu + (int32_t)FPU_TSF1) = dat2; 175 175 break; 176 176 177 177 case PSA_TIM: /* time */ 178 178 179 *(fpu + ( long)FPU_TMNT) = (((long)dat2 & 0x0000FFF0L)180 * (( long)timemlt & 0x0000FFFFL)) >> 15;179 *(fpu + (int32_t)FPU_TMNT) = (((int32_t)dat2 & 0x0000FFF0L) 180 * ((int32_t)timemlt & 0x0000FFFFL)) >> 15; 181 181 182 182 ++delay; 183 183 184 *(fpu + ( long)FPU_TEXP) = expbit[dat2 & 0x000F];184 *(fpu + (int32_t)FPU_TEXP) = expbit[dat2 & 0x000F]; 185 185 186 186 break; … … 209 209 */ 210 210 211 void pdoctl( short voice, short osc, short dat1, short dat2)211 void pdoctl(int16_t voice, int16_t osc, int16_t dat1, int16_t dat2) 212 212 { 213 213 register struct instdef *ip; … … 230 230 void dopatch(struct patch *pp) 231 231 { 232 register u nsigned short suba, dat1, dat2;233 register short i, temp;234 register char*ser, *iorec;235 u nsigned short chan, oldsr, osc, port, spec, sat,trig, vgr, vgn, vgt;236 short baseled, curled, ledctl;232 register uint16_t suba, dat1, dat2; 233 register int16_t i, temp; 234 register int8_t *ser, *iorec; 235 uint16_t chan, oldsr, osc, port, spec, sat,trig, vgr, vgn, vgt; 236 int16_t baseled, curled, ledctl; 237 237 238 238 spec = PE_SPEC & pp->paspec; /* destination */
Note:
See TracChangeset
for help on using the changeset viewer.