Changeset 7258c6a in buchla-68k for ram/swinit.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/swinit.c
r0292fbb r7258c6a 22 22 #include "wsdsp.h" 23 23 24 extern short swctrl;25 extern short swdir;26 extern short swfiin;27 extern short swflag;28 29 extern short swfifo[NSWFIFO];24 extern int16_t swctrl; 25 extern int16_t swdir; 26 extern int16_t swfiin; 27 extern int16_t swflag; 28 29 extern int16_t swfifo[NSWFIFO]; 30 30 31 31 /* … … 41 41 42 42 void (*curmove)(void); /* cursor move function */ 43 short (*curtype)(void); /* cursor type function */43 int16_t (*curtype)(void); /* cursor type function */ 44 44 void (*cx_key)(void); /* x rate calculation */ 45 45 void (*cx_upd)(void); /* x update */ 46 46 void (*cy_key)(void); /* y rate calculation */ 47 47 void (*cy_upd)(void); /* y update */ 48 void (*d_key)( short k); /* in-field data key processor */48 void (*d_key)(int16_t k); /* in-field data key processor */ 49 49 void (*e_key)(void); /* E key processor */ 50 50 void (*m_key)(void); /* M key processor */ 51 void (*itxput)( short row, short col, char *txt, short tag);51 void (*itxput)(int16_t row, int16_t col, int8_t *txt, int16_t tag); 52 52 /* instrument menu text put function */ 53 short (*not_fld)(short k); /* not-in-field data key processor */54 void (*olddkey)( short k); /* saved d_key value */53 int16_t (*not_fld)(int16_t k); /* not-in-field data key processor */ 54 void (*olddkey)(int16_t k); /* saved d_key value */ 55 55 void (*oldekey)(void); /* saved e_key value */ 56 56 void (*oldmkey)(void); /* saved m_key value */ … … 62 62 void (*vt_cdn)(void); /* vtyper data cursor down function */ 63 63 void (*vt_cup)(void); /* vtyper data cursor up function */ 64 void (*vt_dsp)(u nsigned *obj, unsigned fg, unsigned bg, short row, short col, char*buf);64 void (*vt_dsp)(uint16_t *obj, uint16_t fg, uint16_t bg, int16_t row, int16_t col, int8_t *buf); 65 65 /* vtyper display function */ 66 66 void (*vt_stop)(void); /* vtyper exit function */ … … 69 69 void (*xy_up)(void); /* cursor - finger off (up) */ 70 70 71 short *cratex; /* cursor x rate table pointer */72 short *cratey; /* cursor x rate table pointer */73 74 short BotEdge; /* configuration box bottom edge */75 short LftEdge; /* configuration box left edge */76 short RgtEdge; /* configuration box right edge */77 short TopEdge; /* configuration box top edge */78 79 short BarBcur[14]; /* current bottom-zero bar values */80 short BarCcur[14]; /* current centered-zero bar values */81 short BGeq[14]; /* current EQ bar settings */82 short BGother[14]; /* current other pot bar settings */83 short BGprmtr[14]; /* current parameter pot bar settings */84 85 short articen[12]; /* voice articulation enable status */86 short grpdyn[12]; /* group dynamics table (0..9) */87 short grploc[12]; /* group location table (0..8) */88 short grpmode[12]; /* group mode - 0 = play, 1 = stdby, 2 = rec */89 short grpsel[12]; /* group select status for instrument selection */90 short grpstat[12]; /* group status - 0 = off, non-0 = on */91 short grptmap[12]; /* group map */92 short gtctab[12]; /* group to color table */93 short ins2grp[12]; /* instrument to group table (00..NINST-1) */94 short instmod[12]; /* intrument data modified */95 short key2grp[88]; /* port 1 key to group assignment table */96 short lastart[16]; /* last articulation values (by parameter) */97 short lastvce[12]; /* last voice assigned in each group */98 short lastvel[12]; /* last velocity sent to group */99 short ldmap[N_SCORES]; /* gather read map */100 short mctlnum[4]; /* MIDI controller number table (-1, 00..99) */101 short mpbend[48]; /* MIDI pitch bend data, by port and channel */102 short msmstv[3]; /* MIDI state machine state variables */103 short offsets[NUMWPCAL]; /* offsets for current waveshape */104 short oldtun[128]; /* previous tuning table for undo */105 short prstab[NTRIGS]; /* pressure */106 short s_inst[12]; /* instrument selections */107 short s_trns[12]; /* current transposition values */108 short swfifo[NSWFIFO]; /* scroll wheel fifo */109 short txfifo[NTKFIFO]; /* trackball X fifo */110 short tyfifo[NTKFIFO]; /* trackball Y fifo */111 short tuntab[128]; /* current tuning table */112 short vce2grp[12]; /* voice to group table (-1, 1..12)*/113 short vce2trg[12]; /* voice to trigger map (-1 EQ NULL) */114 short veltab[NTRIGS]; /* velocity */115 short vmtab[NUMHARM]; /* harmonics for current waveshape */116 short wsbuf[NUMWPCAL]; /* final values for current waveshape */117 118 /* 119 120 */ 121 122 char*lmln22; /* message window line 22 */123 char*lmln23; /* message window line 23 */124 char*lmln24; /* message window line 24 */125 char*vtdeptr; /* virtual typewriter data entry pointer */126 127 char*funcndx[256][2]; /* function header pointers */128 char*vlbptr[3]; /* variable label pointers */129 130 charbfs[128]; /* display generation buffer */131 charcaname[16]; /* current assignment table name */132 chardspbuf[65]; /* display generation buffer */133 charebuf[MAXEBUF+1]; /* edit data entry buffer */134 charerrbuf[65]; /* error message build area */135 charidbuf[65]; /* display format conversion work area */136 charkeystat[24]; /* front panel key status */137 charldcmnt[38]; /* comment field */138 charldfile[9]; /* file name field */139 charldmsg1[65]; /* messsage build area 1 */140 charldmsg2[65]; /* messsage build area 2 */141 charldmsg3[65]; /* messsage build area 3 */142 charloadedc[NLTYPES][37]; /* loaded file comments */143 charloadedf[NLTYPES][8]; /* loaded file names */144 charmasens[3]; /* MIDI port active sensing flags */145 charmctlval[NCTRLS]; /* MIDI controller values */146 charmdbyte[3]; /* MIDI data byte buffers */147 charmpsust[48]; /* MIDI sustain status, by port and channel */148 charmrstat[3]; /* MIDI running status */149 charscname[N_SCORES][16]; /* Score names */150 chartrgtab[NTRIGS]; /* trigger status */151 chartuncurn[33]; /* current tuning table name */152 chartunname[NTUNS][32]; /* tuning table names */153 154 /* 155 156 */ 157 158 long*pspool; /* Score storage pool pointer */159 160 longafi; /* analog processor FIFO value */161 longcurtime; /* current sqscan time */162 longctime; /* time at cursor */163 longdvwork; /* divide work area */164 longfrags; /* Score storage pool fragment count */165 longiotime; /* saved lcdtime value */166 longlcdontm; /* LCD backlight on time */167 longlcdtime; /* LCD backlight timer */168 longlcsum; /* library checksum */169 longndbytes; /* bytes needed for storage */170 longnoteoff; /* note off time */171 longnoteon; /* note on time */172 longnoteper; /* note period */173 longnoteval; /* note value */174 longnrest; /* number of rests */175 longschksum; /* Score checksum */176 longse1_cnt; /* Score - free list E_SIZE1 entry count */177 longse2_cnt; /* Score - free list E_SIZE2 entry count */178 longse3_cnt; /* Score - free list E_SIZE3 entry count */179 longsnbreq; /* Score - disk bytes required */180 longsnlreq; /* Score - score bytes required */181 longsntbreq; /* Score - total disk bytes required */182 longsntlreq; /* Score - total score bytes required */183 longspcount; /* Score - storage pool free entry count */184 longswcount; /* scroll wheel counter */185 longswrate; /* scroll wheel rate */186 longswtemp; /* scroll wheel work area */187 longt_bak; /* time at p_bak */188 longt_cbgn; /* time at p_cbgn */189 longt_cend; /* time at p_cend */190 longt_cur; /* time at p_cur */191 longt_ctr; /* time at p_ctr */192 longt_fwd; /* time at p_fwd */193 longt_ins; /* time at peg */194 longt_note; /* note duration between p_nbeg and p_nend */195 longt_sbgn; /* time at p_sbgn */196 longt_sec1; /* time at p_sec1 */197 longt_sec2; /* time at p_sec2 */198 longt_sect; /* section time */199 longt_send; /* time at p_send */200 longwshfac; /* waveshape scale factor */201 202 longhwave[NUMWPCAL]; /* harmonic waveshape generation buffer */203 longnlpersc[N_SCORES]; /* number of longs per score */204 longscsums[N_SCORES]; /* score checksums */205 longspool[MAX_SE]; /* Score storage pool */206 207 longvknm[NUMHARM][NUMWPCAL]; /* scaled harmonics for current ws */208 209 longswrmin = SWRMIN; /* scroll wheel rate threshold */71 int16_t *cratex; /* cursor x rate table pointer */ 72 int16_t *cratey; /* cursor x rate table pointer */ 73 74 int16_t BotEdge; /* configuration box bottom edge */ 75 int16_t LftEdge; /* configuration box left edge */ 76 int16_t RgtEdge; /* configuration box right edge */ 77 int16_t TopEdge; /* configuration box top edge */ 78 79 int16_t BarBcur[14]; /* current bottom-zero bar values */ 80 int16_t BarCcur[14]; /* current centered-zero bar values */ 81 int16_t BGeq[14]; /* current EQ bar settings */ 82 int16_t BGother[14]; /* current other pot bar settings */ 83 int16_t BGprmtr[14]; /* current parameter pot bar settings */ 84 85 int16_t articen[12]; /* voice articulation enable status */ 86 int16_t grpdyn[12]; /* group dynamics table (0..9) */ 87 int16_t grploc[12]; /* group location table (0..8) */ 88 int16_t grpmode[12]; /* group mode - 0 = play, 1 = stdby, 2 = rec */ 89 int16_t grpsel[12]; /* group select status for instrument selection */ 90 int16_t grpstat[12]; /* group status - 0 = off, non-0 = on */ 91 int16_t grptmap[12]; /* group map */ 92 int16_t gtctab[12]; /* group to color table */ 93 int16_t ins2grp[12]; /* instrument to group table (00..NINST-1) */ 94 int16_t instmod[12]; /* intrument data modified */ 95 int16_t key2grp[88]; /* port 1 key to group assignment table */ 96 int16_t lastart[16]; /* last articulation values (by parameter) */ 97 int16_t lastvce[12]; /* last voice assigned in each group */ 98 int16_t lastvel[12]; /* last velocity sent to group */ 99 int16_t ldmap[N_SCORES]; /* gather read map */ 100 int16_t mctlnum[4]; /* MIDI controller number table (-1, 00..99) */ 101 int16_t mpbend[48]; /* MIDI pitch bend data, by port and channel */ 102 int16_t msmstv[3]; /* MIDI state machine state variables */ 103 int16_t offsets[NUMWPCAL]; /* offsets for current waveshape */ 104 int16_t oldtun[128]; /* previous tuning table for undo */ 105 int16_t prstab[NTRIGS]; /* pressure */ 106 int16_t s_inst[12]; /* instrument selections */ 107 int16_t s_trns[12]; /* current transposition values */ 108 int16_t swfifo[NSWFIFO]; /* scroll wheel fifo */ 109 int16_t txfifo[NTKFIFO]; /* trackball X fifo */ 110 int16_t tyfifo[NTKFIFO]; /* trackball Y fifo */ 111 int16_t tuntab[128]; /* current tuning table */ 112 int16_t vce2grp[12]; /* voice to group table (-1, 1..12)*/ 113 int16_t vce2trg[12]; /* voice to trigger map (-1 EQ NULL) */ 114 int16_t veltab[NTRIGS]; /* velocity */ 115 int16_t vmtab[NUMHARM]; /* harmonics for current waveshape */ 116 int16_t wsbuf[NUMWPCAL]; /* final values for current waveshape */ 117 118 /* 119 120 */ 121 122 int8_t *lmln22; /* message window line 22 */ 123 int8_t *lmln23; /* message window line 23 */ 124 int8_t *lmln24; /* message window line 24 */ 125 int8_t *vtdeptr; /* virtual typewriter data entry pointer */ 126 127 int8_t *funcndx[256][2]; /* function header pointers */ 128 int8_t *vlbptr[3]; /* variable label pointers */ 129 130 int8_t bfs[128]; /* display generation buffer */ 131 int8_t caname[16]; /* current assignment table name */ 132 int8_t dspbuf[65]; /* display generation buffer */ 133 int8_t ebuf[MAXEBUF+1]; /* edit data entry buffer */ 134 int8_t errbuf[65]; /* error message build area */ 135 int8_t idbuf[65]; /* display format conversion work area */ 136 int8_t keystat[24]; /* front panel key status */ 137 int8_t ldcmnt[38]; /* comment field */ 138 int8_t ldfile[9]; /* file name field */ 139 int8_t ldmsg1[65]; /* messsage build area 1 */ 140 int8_t ldmsg2[65]; /* messsage build area 2 */ 141 int8_t ldmsg3[65]; /* messsage build area 3 */ 142 int8_t loadedc[NLTYPES][37]; /* loaded file comments */ 143 int8_t loadedf[NLTYPES][8]; /* loaded file names */ 144 int8_t masens[3]; /* MIDI port active sensing flags */ 145 int8_t mctlval[NCTRLS]; /* MIDI controller values */ 146 int8_t mdbyte[3]; /* MIDI data byte buffers */ 147 int8_t mpsust[48]; /* MIDI sustain status, by port and channel */ 148 int8_t mrstat[3]; /* MIDI running status */ 149 int8_t scname[N_SCORES][16]; /* Score names */ 150 int8_t trgtab[NTRIGS]; /* trigger status */ 151 int8_t tuncurn[33]; /* current tuning table name */ 152 int8_t tunname[NTUNS][32]; /* tuning table names */ 153 154 /* 155 156 */ 157 158 int32_t *pspool; /* Score storage pool pointer */ 159 160 int32_t afi; /* analog processor FIFO value */ 161 int32_t curtime; /* current sqscan time */ 162 int32_t ctime; /* time at cursor */ 163 int32_t dvwork; /* divide work area */ 164 int32_t frags; /* Score storage pool fragment count */ 165 int32_t iotime; /* saved lcdtime value */ 166 int32_t lcdontm; /* LCD backlight on time */ 167 int32_t lcdtime; /* LCD backlight timer */ 168 int32_t lcsum; /* library checksum */ 169 int32_t ndbytes; /* bytes needed for storage */ 170 int32_t noteoff; /* note off time */ 171 int32_t noteon; /* note on time */ 172 int32_t noteper; /* note period */ 173 int32_t noteval; /* note value */ 174 int32_t nrest; /* number of rests */ 175 int32_t schksum; /* Score checksum */ 176 int32_t se1_cnt; /* Score - free list E_SIZE1 entry count */ 177 int32_t se2_cnt; /* Score - free list E_SIZE2 entry count */ 178 int32_t se3_cnt; /* Score - free list E_SIZE3 entry count */ 179 int32_t snbreq; /* Score - disk bytes required */ 180 int32_t snlreq; /* Score - score bytes required */ 181 int32_t sntbreq; /* Score - total disk bytes required */ 182 int32_t sntlreq; /* Score - total score bytes required */ 183 int32_t spcount; /* Score - storage pool free entry count */ 184 int32_t swcount; /* scroll wheel counter */ 185 int32_t swrate; /* scroll wheel rate */ 186 int32_t swtemp; /* scroll wheel work area */ 187 int32_t t_bak; /* time at p_bak */ 188 int32_t t_cbgn; /* time at p_cbgn */ 189 int32_t t_cend; /* time at p_cend */ 190 int32_t t_cur; /* time at p_cur */ 191 int32_t t_ctr; /* time at p_ctr */ 192 int32_t t_fwd; /* time at p_fwd */ 193 int32_t t_ins; /* time at peg */ 194 int32_t t_note; /* note duration between p_nbeg and p_nend */ 195 int32_t t_sbgn; /* time at p_sbgn */ 196 int32_t t_sec1; /* time at p_sec1 */ 197 int32_t t_sec2; /* time at p_sec2 */ 198 int32_t t_sect; /* section time */ 199 int32_t t_send; /* time at p_send */ 200 int32_t wshfac; /* waveshape scale factor */ 201 202 int32_t hwave[NUMWPCAL]; /* harmonic waveshape generation buffer */ 203 int32_t nlpersc[N_SCORES]; /* number of longs per score */ 204 int32_t scsums[N_SCORES]; /* score checksums */ 205 int32_t spool[MAX_SE]; /* Score storage pool */ 206 207 int32_t vknm[NUMHARM][NUMWPCAL]; /* scaled harmonics for current ws */ 208 209 int32_t swrmin = SWRMIN; /* scroll wheel rate threshold */ 210 210 211 211 /*
Note:
See TracChangeset
for help on using the changeset viewer.