- 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/msm.c
r0292fbb r7258c6a 20 20 #include "scfns.h" 21 21 22 extern short ancmsw; /* analog variable r/p control source */23 extern short angroup; /* analog variable group being displayed */24 extern short clkctl; /* clock control sources */25 extern short ctrsw; /* se_disp center update switch */26 extern short curasg; /* current assignment table */27 extern short curvce; /* current voice being edited */28 extern short dsp_ok; /* display update OK this cycle flag */29 extern short editsw; /* edit switch state */30 extern short mascntr; /* MIDI active sensing timeout counter */31 extern short mdb1; /* current MIDI data byte 1 */32 extern short mdb2; /* current MIDI data byte 2 */33 extern short michan; /* current MIDI channel */34 extern short midiclk; /* MIDI clock switch */35 extern short midigo; /* MIDI run switch */36 extern short mistat; /* current MIDI status */37 extern short ndisp; /* current display */38 extern short recsw; /* record/play switch */39 extern short prgchan; /* MIDI program change channel */40 41 /* 42 43 */ 44 45 extern charmasens[]; /* MIDI port active sensing flags */46 extern charmctlval[]; /* MIDI controller values */47 extern charmdbyte[]; /* MIDI data byte buffers */48 extern charmpsust[]; /* MIDI sustain status, by port and channel */49 extern charmrstat[]; /* MIDI running status */50 extern chartrgtab[]; /* trigger status */51 52 extern short grpmode[]; /* group mode table */53 extern short grpstat[]; /* group status table */54 extern short key2grp[]; /* key to group map */55 extern short vce2grp[]; /* voice to group map */56 extern short veltab[]; /* velocity */57 extern short mctlnum[]; /* MIDI controller number map */58 extern short mpbend[]; /* MIDI pitch bend data, by port and channel */59 extern short msmstv[]; /* MIDI state machine state variables */60 extern short prstab[]; /* pressure */61 extern short src2var[]; /* source to variable number map */62 extern short tuntab[]; /* current tuning table */63 extern short vce2trg[]; /* voice to trigger map (-1 EQ NULL) */64 65 extern short grp2prt[][2]; /* group to port/channel map */66 extern short varmode[][16]; /* analog variable record mode */22 extern int16_t ancmsw; /* analog variable r/p control source */ 23 extern int16_t angroup; /* analog variable group being displayed */ 24 extern int16_t clkctl; /* clock control sources */ 25 extern int16_t ctrsw; /* se_disp center update switch */ 26 extern int16_t curasg; /* current assignment table */ 27 extern int16_t curvce; /* current voice being edited */ 28 extern int16_t dsp_ok; /* display update OK this cycle flag */ 29 extern int16_t editsw; /* edit switch state */ 30 extern int16_t mascntr; /* MIDI active sensing timeout counter */ 31 extern int16_t mdb1; /* current MIDI data byte 1 */ 32 extern int16_t mdb2; /* current MIDI data byte 2 */ 33 extern int16_t michan; /* current MIDI channel */ 34 extern int16_t midiclk; /* MIDI clock switch */ 35 extern int16_t midigo; /* MIDI run switch */ 36 extern int16_t mistat; /* current MIDI status */ 37 extern int16_t ndisp; /* current display */ 38 extern int16_t recsw; /* record/play switch */ 39 extern int16_t prgchan; /* MIDI program change channel */ 40 41 /* 42 43 */ 44 45 extern int8_t masens[]; /* MIDI port active sensing flags */ 46 extern int8_t mctlval[]; /* MIDI controller values */ 47 extern int8_t mdbyte[]; /* MIDI data byte buffers */ 48 extern int8_t mpsust[]; /* MIDI sustain status, by port and channel */ 49 extern int8_t mrstat[]; /* MIDI running status */ 50 extern int8_t trgtab[]; /* trigger status */ 51 52 extern int16_t grpmode[]; /* group mode table */ 53 extern int16_t grpstat[]; /* group status table */ 54 extern int16_t key2grp[]; /* key to group map */ 55 extern int16_t vce2grp[]; /* voice to group map */ 56 extern int16_t veltab[]; /* velocity */ 57 extern int16_t mctlnum[]; /* MIDI controller number map */ 58 extern int16_t mpbend[]; /* MIDI pitch bend data, by port and channel */ 59 extern int16_t msmstv[]; /* MIDI state machine state variables */ 60 extern int16_t prstab[]; /* pressure */ 61 extern int16_t src2var[]; /* source to variable number map */ 62 extern int16_t tuntab[]; /* current tuning table */ 63 extern int16_t vce2trg[]; /* voice to trigger map (-1 EQ NULL) */ 64 65 extern int16_t grp2prt[][2]; /* group to port/channel map */ 66 extern int16_t varmode[][16]; /* analog variable record mode */ 67 67 68 68 extern struct gdsel *gdstbc[]; /* group status table - center slice */ … … 72 72 /* mpmap[] -- MIDI port to BIOS device table */ 73 73 74 short mpmap[3] = {MC1_DEV, MC2_DEV, CON_DEV};74 int16_t mpmap[3] = {MC1_DEV, MC2_DEV, CON_DEV}; 75 75 76 76 /* msmnext[] -- MIDI state machine -- channel message next state table */ 77 77 78 short msmnext[8] = {2, 2, 2, 2, 1, 1, 2, 0};78 int16_t msmnext[8] = {2, 2, 2, 2, 1, 1, 2, 0}; 79 79 80 80 /* msmcnxt[] -- MIDI state machine -- system message next state table */ 81 81 82 short msmcnxt[8] = {0, 0, 2, 1, 0, 0, 0, 0};82 int16_t msmcnxt[8] = {0, 0, 2, 1, 0, 0, 0, 0}; 83 83 84 84 /* ctl2src -- controller to source table */ 85 85 86 short ctl2src[] = {SM_VTMW, SM_LPBR, SM_CTL1, SM_PED1};86 int16_t ctl2src[] = {SM_VTMW, SM_LPBR, SM_CTL1, SM_PED1}; 87 87 88 88 /* … … 98 98 void msm(void) 99 99 { 100 register short miport;101 register short midiin;102 register short i;103 register short t1;104 register short t2;100 register int16_t miport; 101 register int16_t midiin; 102 register int16_t i; 103 register int16_t t1; 104 register int16_t t2; 105 105 register struct s_entry *ep; 106 short j, nvel;107 longwhere;106 int16_t j, nvel; 107 int32_t where; 108 108 109 109 for (miport = 0; miport < NMPORTS; miport++) { /* for each port ... */ … … 356 356 ep->e_type = EV_ANVL; 357 357 ep->e_data1 = 0x0050 | i; 358 ep->e_dn = (struct s_entry *)(( long)mdb1 << 16);358 ep->e_dn = (struct s_entry *)((int32_t)mdb1 << 16); 359 359 p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd; 360 360 ctrsw = TRUE; … … 805 805 ep->e_type = EV_ANVL; 806 806 ep->e_data1 = (src2var[i] << 4) | t1; 807 ep->e_dn = (struct s_entry *)(( long)t2 << 16);807 ep->e_dn = (struct s_entry *)((int32_t)t2 << 16); 808 808 p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd; 809 809 ctrsw = TRUE; … … 848 848 ep->e_type = EV_ANVL; 849 849 ep->e_data1 = i; 850 ep->e_dn = (struct s_entry *)(( long)t2 << 16);850 ep->e_dn = (struct s_entry *)((int32_t)t2 << 16); 851 851 p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd; 852 852 ctrsw = TRUE;
Note:
See TracChangeset
for help on using the changeset viewer.