Changeset 6099cac in buchla-68k
- Timestamp:
- 11/11/2017 08:56:04 PM (7 years ago)
- Branches:
- master
- Children:
- 494d8ff
- Parents:
- 432327d
- Location:
- ram
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
ram/dopatch.c
r432327d r6099cac 29 29 int16_t lg2base[7] = { 0, 3, 7, 10, 14, 17, 21}; /* LED group bases */ 30 30 31 int8_t vgtype[] = {31 uint8_t vgtype[] = { 32 32 33 33 ST_NUL, /* PA_NULL */ … … 76 76 if (slot) { /* waveshape slot B */ 77 77 78 vbufs[voice].idhwsb = wsn;78 vbufs[voice].idhwsb = (int8_t)wsn; 79 79 80 80 memcpyw(vbufs[voice].idhwvbf, &wslib[wsn], … … 85 85 memcpyw(fpuws, vbufs[voice].idhwvbf, NUMWPNT); 86 86 87 *(fpuws - 1) = vbufs[voice].idhwvbf[0];88 *(fpuws + NUMWPNT) = vbufs[voice].idhwvbf[NUMWPNT - 1];87 *(fpuws - 1) = (uint16_t)vbufs[voice].idhwvbf[0]; 88 *(fpuws + NUMWPNT) = (uint16_t)vbufs[voice].idhwvbf[NUMWPNT - 1]; 89 89 90 90 } else { /* waveshape slot A */ 91 91 92 vbufs[voice].idhwsa = wsn;92 vbufs[voice].idhwsa = (int8_t)wsn; 93 93 94 94 memcpyw(vbufs[voice].idhwvaf, &wslib[wsn], … … 99 99 memcpyw(fpuws, vbufs[curvce].idhwvaf, NUMWPNT); 100 100 101 *(fpuws - 1) = vbufs[voice].idhwvaf[0];102 *(fpuws + NUMWPNT) = vbufs[voice].idhwvaf[NUMWPNT - 1];101 *(fpuws - 1) = (uint16_t)vbufs[voice].idhwvaf[0]; 102 *(fpuws + NUMWPNT) = (uint16_t)vbufs[voice].idhwvaf[NUMWPNT - 1]; 103 103 104 104 } … … 111 111 */ 112 112 113 void pfpufn( uint16_t voice, uint16_t par, uint16_t dat1, uint16_t dat2)113 void pfpufn(int16_t voice, int16_t par, uint16_t dat1, uint16_t dat2) 114 114 { 115 115 volatile uint16_t *fpu; … … 125 125 case PSA_MLT: /* multiplier */ 126 126 127 *(fpu + (int32_t)FPU_TSF1) = dat2;127 *(fpu + FPU_TSF1) = dat2; 128 128 break; 129 129 130 130 case PSA_TIM: /* time */ 131 131 132 *(fpu + (int32_t)FPU_TMNT) = (((int32_t)dat2 & 0x0000FFF0L)133 * ( (int32_t)timemlt & 0x0000FFFFL)) >> 15;132 *(fpu + FPU_TMNT) = (uint16_t)(((uint32_t)(dat2 & 0xFFF0) 133 * (uint32_t)timemlt) >> 15); 134 134 135 135 ++delay; 136 136 137 *(fpu + (int32_t)FPU_TEXP) = expbit[dat2 & 0x000F];137 *(fpu + FPU_TEXP) = expbit[dat2 & 0x000F]; 138 138 139 139 break; … … 141 141 case PSA_VAL: /* value */ 142 142 143 sendval(voice, par, dat2);143 sendval(voice, par, (int16_t)dat2); 144 144 break; 145 145 … … 179 179 volatile uint8_t *ser; 180 180 int8_t *iorec; 181 uint16_t chan, oldsr, osc, port, spec, sat,trig, vgr, vgn, vgt; 181 uint16_t oldsr; 182 int16_t chan, osc, port, spec, sat, trig, vgr, vgn, vgt; 182 183 int16_t baseled, curled, ledctl; 183 184 … … 191 192 if (ST_VGT & sat) { /* vg, osc sub-address types */ 192 193 193 vgr = 0x00FF & (suba >> 8); /* voice / group */194 osc = 0x00FF & suba;/* oscillator */194 vgr = (int16_t)(0x00FF & (suba >> 8)); /* voice / group */ 195 osc = (int16_t)(0x00FF & suba); /* oscillator */ 195 196 196 197 if (vgr > 11) { /* sort out voices from groups */ … … 235 236 putwq(&ptefifo, suba); /* closure */ 236 237 237 seqdupd |= ( 1 << trig);238 seqdupd |= ((uint16_t)1 << trig); 238 239 break; 239 240 … … 259 260 case 0: /* transient */ 260 261 261 *ser = temp | 0x0082;/* on */262 *ser = ( temp & 0x00FD) | 0x0080; /* off */262 *ser = (uint8_t)(temp | 0x0082); /* on */ 263 *ser = (uint8_t)((temp & 0x00FD) | 0x0080); /* off */ 263 264 break; 264 265 265 266 case 1: /* off */ 266 267 267 *ser = ( temp & 0x00FD) | 0x0080; /* off */268 *ser = (uint8_t)((temp & 0x00FD) | 0x0080); /* off */ 268 269 break; 269 270 270 271 case 2: /* on */ 271 272 272 *ser = temp | 0x0082;/* on */273 *ser = (uint8_t)(temp | 0x0082); /* on */ 273 274 break; 274 275 } … … 290 291 291 292 ledstat[curled] = TRUE; 292 io_leds = curled;293 io_leds = (uint8_t)curled; 293 294 294 295 } else if (ledctl EQ 2) { /* off */ 295 296 296 297 ledstat[curled] = FALSE; 297 io_leds = curled | 0x0080;298 io_leds = (uint8_t)(curled | 0x0080); 298 299 299 300 } else if (ledctl EQ 3) { /* toggle */ … … 302 303 303 304 ledstat[curled] = FALSE; 304 io_leds = curled | 0x0080;305 io_leds = (uint8_t)(curled | 0x0080); 305 306 306 307 } else { /* off -> on */ 307 308 308 309 ledstat[curled] = TRUE; 309 io_leds = curled;310 io_leds = (uint8_t)curled; 310 311 } 311 312 } … … 317 318 318 319 seqline[suba] = dat1; 319 seqdupd |= ( 1 << suba);320 seqdupd |= ((uint16_t)1 << suba); 320 321 break; 321 322 … … 347 348 } 348 349 349 seqdupd |= ( 1 << suba);350 seqdupd |= ((uint16_t)1 << suba); 350 351 break; 351 352 352 353 case PA_TUNE: /* tuning table */ 353 354 354 gettun( dat1);355 gettun((int16_t)dat1); 355 356 break; 356 357 … … 358 359 359 360 sregval[suba] = dat1 ? sregval[dat2] : dat2; 360 seqdupd |= ( 1 << suba);361 seqdupd |= ((uint16_t)1 << suba); 361 362 break; 362 363 363 364 case PA_RADD: /* regsister add */ 364 365 365 temp = sregval[suba] + (dat1 ? sregval[dat2] : dat2);366 temp = (int16_t)(sregval[suba] + (dat1 ? sregval[dat2] : dat2)); 366 367 367 368 if (temp > 99) … … 370 371 temp = 0; 371 372 372 sregval[suba] = temp;373 seqdupd |= ( 1 << suba);373 sregval[suba] = (uint16_t)temp; 374 seqdupd |= ((uint16_t)1 << suba); 374 375 break; 375 376 … … 378 379 if (vgt) { /* group */ 379 380 380 ins2grp[vgn] = (ins2grp[vgn] & 0xFF00) |dat1;381 ins2grp[vgn] = (ins2grp[vgn] & (int16_t)0xFF00) | (int16_t)dat1; 381 382 setv2gi(vgn); 382 383 … … 384 385 385 386 if (curvce EQ vgn) 386 curinst = dat1;387 388 s_inst[vgn] = dat1;389 execins(vgn, dat1, 1);387 curinst = (int16_t)dat1; 388 389 s_inst[vgn] = (int16_t)dat1; 390 execins(vgn, (int16_t)dat1, 1); 390 391 } 391 392 … … 398 399 for (i = 0; i < 12; i++) 399 400 if (vce2grp[i] EQ (1 + vgn)) 400 pdoctl(i, osc, dat1,dat2);401 pdoctl(i, osc, (int16_t)dat1, (int16_t)dat2); 401 402 402 403 } else { /* voice */ 403 404 404 pdoctl(vgn, osc, dat1,dat2);405 pdoctl(vgn, osc, (int16_t)dat1, (int16_t)dat2); 405 406 } 406 407 … … 413 414 for (i = 0; i < 12; i++) 414 415 if (vce2grp[i] EQ (1 + vgn)) 415 pdows(0, i, dat1);416 pdows(0, i, (int16_t)dat1); 416 417 417 418 } else { /* voice */ 418 419 419 pdows(0, vgn, dat1);420 pdows(0, vgn, (int16_t)dat1); 420 421 } 421 422 … … 428 429 for (i = 0; i < 12; i++) 429 430 if (vce2grp[i] EQ (1 + vgn)) 430 pdows(1, i, dat1);431 pdows(1, i, (int16_t)dat1); 431 432 432 433 } else { /* voice */ 433 434 434 pdows(1, vgn, dat1);435 pdows(1, vgn, (int16_t)dat1); 435 436 } 436 437 … … 444 445 if (vce2grp[i] EQ (1 + vgn)) { 445 446 446 vbufs[i].idhcfg = dat1;447 vbufs[i].idhcfg = (int8_t)dat1; 447 448 dosync(i); 448 449 } 449 450 } else { 450 451 451 vbufs[vgn].idhcfg = dat1;452 vbufs[vgn].idhcfg = (int8_t)dat1; 452 453 dosync(vgn); 453 454 } -
ram/dopatch.x
r432327d r6099cac 22 22 extern int16_t lg2base[7]; 23 23 extern uint16_t seqdupd; 24 extern int8_t vgtype[];24 extern uint8_t vgtype[]; 25 25 26 26 /* … … 33 33 extern void pdoctl(int16_t voice, int16_t osc, int16_t dat1, int16_t dat2); 34 34 extern void pdows(int16_t slot, int16_t voice, int16_t wsn); 35 extern void pfpufn( uint16_t voice, uint16_t par, uint16_t dat1, uint16_t dat2);35 extern void pfpufn(int16_t voice, int16_t par, uint16_t dat1, uint16_t dat2); -
ram/im700.c
r432327d r6099cac 13 13 #include "ram.h" 14 14 15 int16_t admctl; /* assignment display submenu control variable */16 int16_t adnamsw; /* assignment display virtual typewriter flag */17 int16_t aflag; /* analog activity flag */18 int16_t aform; /* action buffer format */19 int16_t amplval; /* amplitude */20 int16_t ancmsw; /* analog variable r/p control source */21 int16_t angroup; /* analog variable group being shown */22 int16_t asgfks; /* first key selected */23 int16_t asghit; /* row hit / assignment in progress */24 int16_t asgmod; /* assignment number or table modified */25 int16_t asig; /* analog signal number */26 int16_t asmode; /* panel assignment mode */27 int16_t astat; /* analog signal status */28 int16_t auxctl; /* aux control flag */29 int16_t aval; /* analog signal value */30 int16_t bform; /* oscillator data buffer format */31 int16_t catin; /* catalog read in flag */32 int16_t cents; /* pitch to cents conversion buffer */33 int16_t chtime; /* horizontal cursor counter */34 int16_t chwait; /* horizontal cursor wait time */35 int16_t cflag; /* accidental flag */36 int16_t clkctl; /* clock control */37 int16_t clkrun; /* clock status */38 int16_t clksrc; /* clock source */39 int16_t cmfirst; /* first cursor motion switch */40 int16_t cmtype; /* cursor motion type */41 int16_t cnote; /* note value at cursor */42 int16_t ctrsw; /* scupd center update switch */43 int16_t curasg; /* current assignment table */44 int16_t curfunc; /* current function number */45 int16_t curgrp; /* current group */46 int16_t curinst; /* current instrument number */47 int16_t curmop; /* current MIDI output port */48 int16_t curpnt; /* current point number (absolute) */49 int16_t curpos; /* cursor pad position for current axis */50 int16_t cursbox; /* currently selected box */51 int16_t curscor; /* Current score number */52 int16_t cursect; /* current section */53 int16_t curslim; /* cursor type change point */54 int16_t curtun; /* current tuning table */55 int16_t curvce; /* current voice number */56 int16_t curwave; /* current waveshape library slot */57 int16_t curwdth; /* current waveshape cursor width */58 int16_t curwfnl; /* current waveshape final value */59 int16_t curwhrm; /* current waveshape harmonic number */60 int16_t curwhrv; /* current waveshape harmonic value */61 int16_t curwoff; /* current waveshape offset value */62 int16_t curwpnt; /* current waveshape point number */63 int16_t curwslt; /* current waveshape instrument slot */64 int16_t cvtime; /* vertical cursor counter */65 int16_t cvwait; /* veritcal cursor wait time */66 int16_t cxrate; /* cursor x rate */67 int16_t cxval; /* graphic cursor x value */68 int16_t cyrate; /* cursor y rate */69 int16_t cyval; /* graphic cursor y value */70 int16_t debugne; /* debug flag for note entry */71 int16_t defect; /* defect code */72 int16_t dferror; /* error code from BIOS or XBIOS */73 int16_t dfsides; /* number of sides */74 int16_t dftype; /* disk type code */75 int16_t dsp_ok; /* display update OK this cycle flag */76 int16_t dubsw; /* overdub / replace switch */77 int16_t ebflag; /* edit buffer data flag */78 int16_t editss; /* edit panel switch state */79 int16_t editsw; /* edit mode switch */80 int16_t endflg; /* !end flag */81 int16_t ext_cv1; /* CV-1 value */82 int16_t ext_cv2; /* CV-2 value */83 int16_t ext_cv3; /* CV-3 value */84 int16_t ext_cv4; /* CV-4 value */85 int16_t ext_mod; /* Aux Signal Mod value */86 int16_t gomode; /* go to mode */87 int16_t grptran; /* group translation value */88 int16_t gtmsel; /* group transpose/map select */89 int16_t hitbox; /* box we just hit */90 int16_t hitcx; /* x of cursor when we hit the box */91 int16_t hitcy; /* y of cursor when we hit the box */92 int16_t idcfsw; /* copy / fetch menu switch */93 int16_t idimsw; /* instrument display instrument menu switch */94 int16_t idintmp; /* temporary for instrument number */95 int16_t idnamsw; /* typewriter switch */96 int16_t idsrcsw; /* source menu switch */97 int16_t idtdat; /* current instrument vtyper data entry string */98 int16_t imflag; /* instrument modified flag */99 int16_t initcfg; /* initial configuration */100 int16_t insmode; /* score insert mode */101 int16_t ismode; /* instrument select mode */102 int16_t lampio; /* LCD timeout disable switch state at I/O time */103 int16_t lampsw; /* LCD timeout disable switch */104 int16_t lasgsw; /* assignments store switch */105 int16_t lastam; /* last assignment menu base */106 int16_t ldelsw; /* delete switch */107 int16_t lderrsw; /* error message displayed switch */108 int16_t ldidsiz; /* getcat() did showsiz() switch */109 int16_t ldkind; /* fetch file type */110 int16_t ldpass; /* librarian load state variable */111 int16_t ldrow; /* fetch select row */112 int16_t ldslot; /* fetch select slot */113 int16_t legato; /* execkey() "legato" mode switch */114 int16_t lksel; /* librarian key slot selector */115 int16_t lmwtype; /* librarian message window type */116 int16_t loadrow; /* librarian row selected for load letter */117 int16_t loadsw; /* panel "Load" mode state */118 int16_t lorchl; /* load hi (TRUE) / lo (FALSE) orchestra */119 int16_t lorchsw; /* hi orchestra (21 - 40) store switch */120 int16_t lorclsw; /* lo orchestra (01 - 20) store switch */121 int16_t lpatsw; /* patch table store switch */122 int16_t lrasw; /* append (TRUE) / replace (FALSE) score */123 int16_t lscrsw; /* score store switch */124 int16_t lselsw; /* fetch select switch */125 int16_t lseqsw; /* sequence table store switch */126 int16_t lstbgnc; /* last note begin entry table index */127 int16_t lstendc; /* last note end entry table index */128 int16_t lstflag; /* last note list end switch */129 int16_t lstrsw; /* store state switch */130 int16_t lstwoff; /* last waveshape offset value */131 int16_t lstwpnt; /* last waveshape point number */132 int16_t ltagged; /* load tag switch */133 int16_t ltunsw; /* tunings store switch */134 int16_t lwavsw; /* waveshapes store switch */135 int16_t mascntr; /* MIDI active sensing timeout counter */136 int16_t mdb1; /* current MIDI data byte 1 */137 int16_t mdb2; /* current MIDI data byte 2 */138 int16_t michan; /* current MIDI channel */139 int16_t midiclk; /* MIDI clock switch */140 int16_t midigo; /* MIDI run switch */141 int16_t mistat; /* current MIDI status */142 int16_t nchwait; /* next chwait value */143 int16_t ncvwait; /* next cvwait value */144 int16_t ndisp; /* current display number */145 int16_t newflag; /* new data entered while t_cur EQ t_ctr */146 int16_t nkdown; /* number of keys down */147 int16_t notenum; /* note number */148 int16_t noteop; /* pending note operation code */149 int16_t notepit; /* note pitch */150 int16_t notesel; /* note selection state */151 int16_t npts; /* number of points in function */152 int16_t nxtflag; /* next score flag */153 int16_t oldltag; /* previous load tag for tagslot */154 int16_t oldpk; /* previous pkctrl state */155 int16_t oldsl; /* previous sliders state */156 int16_t pchsw; /* punch-in enable switch */157 int16_t pecase; /* point edit case variable */158 int16_t pkctrl; /* local performance key state */159 int16_t pntsv; /* point selection state variable */160 int16_t prgchan; /* MIDI program change channel (port 1) */161 int16_t ps_dpth; /* phase shifter -- depth */162 int16_t ps_intn; /* phase shifter -- intensity */163 int16_t ps_rate; /* phase shifter -- rate */164 int16_t pulsclk; /* pulse clock state */165 int16_t recsw; /* record / play switch */166 int16_t runit; /* run switch for main scan loop */167 int16_t sbase; /* score VSDD RAM scroll offset */168 int16_t scmctl; /* score submenu control flag */169 int16_t scrlpot; /* scroll pot state */170 int16_t sd; /* score display direction */171 int16_t se; /* score execution direction */172 int16_t sdmcol; /* score menu - saved stccol */173 int16_t sdmctl; /* score menu - control variable */174 int16_t sdmrow; /* score menu - saved stcrow */175 int16_t secop; /* pending score section operation */176 int16_t secopok; /* section operation OK flag */177 int16_t sgcsw; /* graphic cursor display switch */178 int16_t sgoflag; /* section number relative column 0..3 */179 int16_t sharp; /* sharp flag */180 int16_t sliders; /* slider and switch state */181 int16_t soffset; /* score scroll offset */182 int16_t ss_ptsw; /* smooth scroll patch scroll switch */183 int16_t ss_sqsw; /* smooth scroll sequence scroll switch */184 int16_t stccol; /* score cursor col */185 int16_t stcrow; /* score cursor row */186 int16_t stepclk; /* note entry - step clock state */187 int16_t stepenb; /* note entry - step enable flag */188 int16_t stepint; /* note entry - note interval */189 int16_t stepwgt; /* note entry - note weight */190 int16_t subj; /* edited point number (relative) */191 int16_t submenu; /* submenu active switch */192 int16_t swctrl; /* scroll wheel 'srolling' flag */193 int16_t swdelta; /* scroll wheel change while touched */194 int16_t swdir; /* scroll wheel direction */195 int16_t swfiin; /* scroll wheel fifo input pointer */196 int16_t swflag; /* scroll wheel touched flag */197 int16_t swlast; /* scroll wheel last value */198 int16_t swstop; /* scroll wheel stop flag */199 int16_t swndx; /* scroll wheel look back index */200 int16_t tagslot; /* tagged load slot */201 int16_t tdnamsw; /* tuning editor displaying typewriter */202 int16_t temax; /* time upper limit */203 int16_t temin; /* time lower limit */204 int16_t testing; /* test level */205 int16_t tglclk; /* clock on/off toggle flag */206 int16_t tglpch; /* punch in/out toggle flag */207 int16_t thescore; /* score selected from sqscan */208 int16_t timemlt; /* time scaling */209 int16_t tkctrl; /* trackball active flag */210 int16_t tmpomlt; /* tempo multiplier */211 int16_t tmpoval; /* tempo value */212 int16_t trkball; /* trackball selected switch */213 int16_t ttcmdsv; /* tuning editor edit state variable */214 int16_t ttsel1; /* tuning editor key select variable 1 */215 int16_t ttsel2; /* tuning editor key select variable 2 */216 int16_t ttsel3; /* tuning editor key select variable 3 */217 int16_t tuneval; /* fine tuning */218 int16_t tunmod; /* tuning table modified */219 int16_t tunval; /* tuning editor increment / transpose value */220 int16_t txfiin; /* trackball x fifo input pointer */221 int16_t txflag; /* trackball x axis active flag */222 int16_t txlast; /* trackball x axis last value */223 int16_t txstop; /* trackball x axis filter counter */224 int16_t tyfiin; /* trackball y fifo input pointer */225 int16_t tyflag; /* trackball y axis active flag */226 int16_t tylast; /* trackball y axis last value */227 int16_t tystop; /* trackball y axis filter counter */228 int16_t velflag; /* velocity display flag */229 int16_t verbose; /* verbose output switch */230 int16_t vlbtype; /* type of message window display */231 int16_t vrbw08; /* score display video reset detail word */232 int16_t vrbw09; /* score display video reset detail word */233 int16_t vrbw10; /* score display video reset detail word */234 int16_t vrbw11; /* score display video reset detail word */235 int16_t vrbw12; /* score display video reset detail word */236 int16_t vrbw13; /* score display video reset detail word */237 int16_t vrbw14; /* score display video reset detail word */238 int16_t vrbw15; /* score display video reset detail word */239 int16_t vrcw; /* score display video reset control word */240 int16_t vtccol; /* virtual typewriter cursor column */241 int16_t vtcrow; /* virtual typewriter cursor row */242 int8_t vtdechr; /* virtual typewriter data entry character */243 int16_t vtdecol; /* virtual typewriter data entry column */244 int16_t vtpcol; /* virtual typewriter column */245 int16_t vtprow; /* virtual typewriter row */246 int16_t vtwcol; /* virtual typewriter window left column */247 int16_t vtwrow; /* virtual typewriter window top row */248 int16_t vtxval; /* virtual typewriter cursor x value */249 int16_t vtyval; /* virtual typewriter cursor y value */250 int16_t wcflag; /* ws/cf menu select flag (cf=0, ws=1) */251 int16_t wcmcol; /* ws/cf menu label column */252 int16_t wcmrow; /* ws/cf menu label row */253 int16_t wcpage; /* ws/cf menu page */254 int16_t wdupdfl; /* waveshape display needs updated flag */255 int16_t wmcsel; /* ws menu ws a/b select */256 int16_t wmctag; /* ws/cf display update flag */257 int16_t wplast; /* last point for interpolate operation */258 int16_t wpntsv; /* waveshape point selection state variable */259 int16_t wshmax; /* waveshape maximum value */260 int16_t wvlast; /* last value for interpolate operation */261 int16_t xkcount; /* cursor x key on count */262 int16_t xkstat; /* cursor x key status */263 int16_t xycntr; /* xy center for cursor pad */264 int16_t ykcount; /* cursor y key on count */265 int16_t ykstat; /* cursor y key status */266 267 int16_t anrs[8][16];/* analog variable resolution */268 int16_t grp2prt[12][2];/* group to port and channel table */269 int16_t sctctab[10][64];/* score background color table */270 int16_t sigtab[128][2];/* signals: [0] = value, [1] = switch */271 int16_t tunlib[NTUNS][128];/* tuning table library */272 int16_t varmode[8][16];/* analog variable record mode */273 int16_t wsnmod[12][2];/* waveshape number / data modified */15 int16_t admctl; /* assignment display submenu control variable */ 16 int16_t adnamsw; /* assignment display virtual typewriter flag */ 17 int16_t aflag; /* analog activity flag */ 18 int16_t aform; /* action buffer format */ 19 int16_t amplval; /* amplitude */ 20 int16_t ancmsw; /* analog variable r/p control source */ 21 int16_t angroup; /* analog variable group being shown */ 22 int16_t asgfks; /* first key selected */ 23 int16_t asghit; /* row hit / assignment in progress */ 24 int16_t asgmod; /* assignment number or table modified */ 25 int16_t asig; /* analog signal number */ 26 int16_t asmode; /* panel assignment mode */ 27 int16_t astat; /* analog signal status */ 28 int16_t auxctl; /* aux control flag */ 29 int16_t aval; /* analog signal value */ 30 int16_t bform; /* oscillator data buffer format */ 31 int16_t catin; /* catalog read in flag */ 32 int16_t cents; /* pitch to cents conversion buffer */ 33 int16_t chtime; /* horizontal cursor counter */ 34 int16_t chwait; /* horizontal cursor wait time */ 35 int16_t cflag; /* accidental flag */ 36 int16_t clkctl; /* clock control */ 37 int16_t clkrun; /* clock status */ 38 int16_t clksrc; /* clock source */ 39 int16_t cmfirst; /* first cursor motion switch */ 40 int16_t cmtype; /* cursor motion type */ 41 int16_t cnote; /* note value at cursor */ 42 int16_t ctrsw; /* scupd center update switch */ 43 int16_t curasg; /* current assignment table */ 44 int16_t curfunc; /* current function number */ 45 int16_t curgrp; /* current group */ 46 int16_t curinst; /* current instrument number */ 47 int16_t curmop; /* current MIDI output port */ 48 int16_t curpnt; /* current point number (absolute) */ 49 int16_t curpos; /* cursor pad position for current axis */ 50 int16_t cursbox; /* currently selected box */ 51 int16_t curscor; /* Current score number */ 52 int16_t cursect; /* current section */ 53 int16_t curslim; /* cursor type change point */ 54 int16_t curtun; /* current tuning table */ 55 int16_t curvce; /* current voice number */ 56 int16_t curwave; /* current waveshape library slot */ 57 int16_t curwdth; /* current waveshape cursor width */ 58 int16_t curwfnl; /* current waveshape final value */ 59 int16_t curwhrm; /* current waveshape harmonic number */ 60 int16_t curwhrv; /* current waveshape harmonic value */ 61 int16_t curwoff; /* current waveshape offset value */ 62 int16_t curwpnt; /* current waveshape point number */ 63 int16_t curwslt; /* current waveshape instrument slot */ 64 int16_t cvtime; /* vertical cursor counter */ 65 int16_t cvwait; /* veritcal cursor wait time */ 66 int16_t cxrate; /* cursor x rate */ 67 int16_t cxval; /* graphic cursor x value */ 68 int16_t cyrate; /* cursor y rate */ 69 int16_t cyval; /* graphic cursor y value */ 70 int16_t debugne; /* debug flag for note entry */ 71 int16_t defect; /* defect code */ 72 int16_t dferror; /* error code from BIOS or XBIOS */ 73 int16_t dfsides; /* number of sides */ 74 int16_t dftype; /* disk type code */ 75 int16_t dsp_ok; /* display update OK this cycle flag */ 76 int16_t dubsw; /* overdub / replace switch */ 77 int16_t ebflag; /* edit buffer data flag */ 78 int16_t editss; /* edit panel switch state */ 79 int16_t editsw; /* edit mode switch */ 80 int16_t endflg; /* !end flag */ 81 int16_t ext_cv1; /* CV-1 value */ 82 int16_t ext_cv2; /* CV-2 value */ 83 int16_t ext_cv3; /* CV-3 value */ 84 int16_t ext_cv4; /* CV-4 value */ 85 int16_t ext_mod; /* Aux Signal Mod value */ 86 int16_t gomode; /* go to mode */ 87 int16_t grptran; /* group translation value */ 88 int16_t gtmsel; /* group transpose/map select */ 89 int16_t hitbox; /* box we just hit */ 90 int16_t hitcx; /* x of cursor when we hit the box */ 91 int16_t hitcy; /* y of cursor when we hit the box */ 92 int16_t idcfsw; /* copy / fetch menu switch */ 93 int16_t idimsw; /* instrument display instrument menu switch */ 94 int16_t idintmp; /* temporary for instrument number */ 95 int16_t idnamsw; /* typewriter switch */ 96 int16_t idsrcsw; /* source menu switch */ 97 int16_t idtdat; /* current instrument vtyper data entry string */ 98 int16_t imflag; /* instrument modified flag */ 99 int16_t initcfg; /* initial configuration */ 100 int16_t insmode; /* score insert mode */ 101 int16_t ismode; /* instrument select mode */ 102 int16_t lampio; /* LCD timeout disable switch state at I/O time */ 103 int16_t lampsw; /* LCD timeout disable switch */ 104 int16_t lasgsw; /* assignments store switch */ 105 int16_t lastam; /* last assignment menu base */ 106 int16_t ldelsw; /* delete switch */ 107 int16_t lderrsw; /* error message displayed switch */ 108 int16_t ldidsiz; /* getcat() did showsiz() switch */ 109 int16_t ldkind; /* fetch file type */ 110 int16_t ldpass; /* librarian load state variable */ 111 int16_t ldrow; /* fetch select row */ 112 int16_t ldslot; /* fetch select slot */ 113 int16_t legato; /* execkey() "legato" mode switch */ 114 int16_t lksel; /* librarian key slot selector */ 115 int16_t lmwtype; /* librarian message window type */ 116 int16_t loadrow; /* librarian row selected for load letter */ 117 int16_t loadsw; /* panel "Load" mode state */ 118 int16_t lorchl; /* load hi (TRUE) / lo (FALSE) orchestra */ 119 int16_t lorchsw; /* hi orchestra (21 - 40) store switch */ 120 int16_t lorclsw; /* lo orchestra (01 - 20) store switch */ 121 int16_t lpatsw; /* patch table store switch */ 122 int16_t lrasw; /* append (TRUE) / replace (FALSE) score */ 123 int16_t lscrsw; /* score store switch */ 124 int16_t lselsw; /* fetch select switch */ 125 int16_t lseqsw; /* sequence table store switch */ 126 int16_t lstbgnc; /* last note begin entry table index */ 127 int16_t lstendc; /* last note end entry table index */ 128 int16_t lstflag; /* last note list end switch */ 129 int16_t lstrsw; /* store state switch */ 130 int16_t lstwoff; /* last waveshape offset value */ 131 int16_t lstwpnt; /* last waveshape point number */ 132 int16_t ltagged; /* load tag switch */ 133 int16_t ltunsw; /* tunings store switch */ 134 int16_t lwavsw; /* waveshapes store switch */ 135 int16_t mascntr; /* MIDI active sensing timeout counter */ 136 int16_t mdb1; /* current MIDI data byte 1 */ 137 int16_t mdb2; /* current MIDI data byte 2 */ 138 int16_t michan; /* current MIDI channel */ 139 int16_t midiclk; /* MIDI clock switch */ 140 int16_t midigo; /* MIDI run switch */ 141 int16_t mistat; /* current MIDI status */ 142 int16_t nchwait; /* next chwait value */ 143 int16_t ncvwait; /* next cvwait value */ 144 int16_t ndisp; /* current display number */ 145 int16_t newflag; /* new data entered while t_cur EQ t_ctr */ 146 int16_t nkdown; /* number of keys down */ 147 int16_t notenum; /* note number */ 148 int16_t noteop; /* pending note operation code */ 149 int16_t notepit; /* note pitch */ 150 int16_t notesel; /* note selection state */ 151 int16_t npts; /* number of points in function */ 152 int16_t nxtflag; /* next score flag */ 153 int16_t oldltag; /* previous load tag for tagslot */ 154 int16_t oldpk; /* previous pkctrl state */ 155 int16_t oldsl; /* previous sliders state */ 156 int16_t pchsw; /* punch-in enable switch */ 157 int16_t pecase; /* point edit case variable */ 158 int16_t pkctrl; /* local performance key state */ 159 int16_t pntsv; /* point selection state variable */ 160 int16_t prgchan; /* MIDI program change channel (port 1) */ 161 int16_t ps_dpth; /* phase shifter -- depth */ 162 int16_t ps_intn; /* phase shifter -- intensity */ 163 int16_t ps_rate; /* phase shifter -- rate */ 164 int16_t pulsclk; /* pulse clock state */ 165 int16_t recsw; /* record / play switch */ 166 int16_t runit; /* run switch for main scan loop */ 167 int16_t sbase; /* score VSDD RAM scroll offset */ 168 int16_t scmctl; /* score submenu control flag */ 169 int16_t scrlpot; /* scroll pot state */ 170 int16_t sd; /* score display direction */ 171 int16_t se; /* score execution direction */ 172 int16_t sdmcol; /* score menu - saved stccol */ 173 int16_t sdmctl; /* score menu - control variable */ 174 int16_t sdmrow; /* score menu - saved stcrow */ 175 int16_t secop; /* pending score section operation */ 176 int16_t secopok; /* section operation OK flag */ 177 int16_t sgcsw; /* graphic cursor display switch */ 178 int16_t sgoflag; /* section number relative column 0..3 */ 179 int16_t sharp; /* sharp flag */ 180 int16_t sliders; /* slider and switch state */ 181 int16_t soffset; /* score scroll offset */ 182 int16_t ss_ptsw; /* smooth scroll patch scroll switch */ 183 int16_t ss_sqsw; /* smooth scroll sequence scroll switch */ 184 int16_t stccol; /* score cursor col */ 185 int16_t stcrow; /* score cursor row */ 186 int16_t stepclk; /* note entry - step clock state */ 187 int16_t stepenb; /* note entry - step enable flag */ 188 int16_t stepint; /* note entry - note interval */ 189 int16_t stepwgt; /* note entry - note weight */ 190 int16_t subj; /* edited point number (relative) */ 191 int16_t submenu; /* submenu active switch */ 192 int16_t swctrl; /* scroll wheel 'srolling' flag */ 193 int16_t swdelta; /* scroll wheel change while touched */ 194 int16_t swdir; /* scroll wheel direction */ 195 int16_t swfiin; /* scroll wheel fifo input pointer */ 196 int16_t swflag; /* scroll wheel touched flag */ 197 int16_t swlast; /* scroll wheel last value */ 198 int16_t swstop; /* scroll wheel stop flag */ 199 int16_t swndx; /* scroll wheel look back index */ 200 int16_t tagslot; /* tagged load slot */ 201 int16_t tdnamsw; /* tuning editor displaying typewriter */ 202 int16_t temax; /* time upper limit */ 203 int16_t temin; /* time lower limit */ 204 int16_t testing; /* test level */ 205 int16_t tglclk; /* clock on/off toggle flag */ 206 int16_t tglpch; /* punch in/out toggle flag */ 207 int16_t thescore; /* score selected from sqscan */ 208 uint16_t timemlt; /* time scaling */ 209 int16_t tkctrl; /* trackball active flag */ 210 int16_t tmpomlt; /* tempo multiplier */ 211 int16_t tmpoval; /* tempo value */ 212 int16_t trkball; /* trackball selected switch */ 213 int16_t ttcmdsv; /* tuning editor edit state variable */ 214 int16_t ttsel1; /* tuning editor key select variable 1 */ 215 int16_t ttsel2; /* tuning editor key select variable 2 */ 216 int16_t ttsel3; /* tuning editor key select variable 3 */ 217 int16_t tuneval; /* fine tuning */ 218 int16_t tunmod; /* tuning table modified */ 219 int16_t tunval; /* tuning editor increment / transpose value */ 220 int16_t txfiin; /* trackball x fifo input pointer */ 221 int16_t txflag; /* trackball x axis active flag */ 222 int16_t txlast; /* trackball x axis last value */ 223 int16_t txstop; /* trackball x axis filter counter */ 224 int16_t tyfiin; /* trackball y fifo input pointer */ 225 int16_t tyflag; /* trackball y axis active flag */ 226 int16_t tylast; /* trackball y axis last value */ 227 int16_t tystop; /* trackball y axis filter counter */ 228 int16_t velflag; /* velocity display flag */ 229 int16_t verbose; /* verbose output switch */ 230 int16_t vlbtype; /* type of message window display */ 231 int16_t vrbw08; /* score display video reset detail word */ 232 int16_t vrbw09; /* score display video reset detail word */ 233 int16_t vrbw10; /* score display video reset detail word */ 234 int16_t vrbw11; /* score display video reset detail word */ 235 int16_t vrbw12; /* score display video reset detail word */ 236 int16_t vrbw13; /* score display video reset detail word */ 237 int16_t vrbw14; /* score display video reset detail word */ 238 int16_t vrbw15; /* score display video reset detail word */ 239 int16_t vrcw; /* score display video reset control word */ 240 int16_t vtccol; /* virtual typewriter cursor column */ 241 int16_t vtcrow; /* virtual typewriter cursor row */ 242 int8_t vtdechr; /* virtual typewriter data entry character */ 243 int16_t vtdecol; /* virtual typewriter data entry column */ 244 int16_t vtpcol; /* virtual typewriter column */ 245 int16_t vtprow; /* virtual typewriter row */ 246 int16_t vtwcol; /* virtual typewriter window left column */ 247 int16_t vtwrow; /* virtual typewriter window top row */ 248 int16_t vtxval; /* virtual typewriter cursor x value */ 249 int16_t vtyval; /* virtual typewriter cursor y value */ 250 int16_t wcflag; /* ws/cf menu select flag (cf=0, ws=1) */ 251 int16_t wcmcol; /* ws/cf menu label column */ 252 int16_t wcmrow; /* ws/cf menu label row */ 253 int16_t wcpage; /* ws/cf menu page */ 254 int16_t wdupdfl; /* waveshape display needs updated flag */ 255 int16_t wmcsel; /* ws menu ws a/b select */ 256 int16_t wmctag; /* ws/cf display update flag */ 257 int16_t wplast; /* last point for interpolate operation */ 258 int16_t wpntsv; /* waveshape point selection state variable */ 259 int16_t wshmax; /* waveshape maximum value */ 260 int16_t wvlast; /* last value for interpolate operation */ 261 int16_t xkcount; /* cursor x key on count */ 262 int16_t xkstat; /* cursor x key status */ 263 int16_t xycntr; /* xy center for cursor pad */ 264 int16_t ykcount; /* cursor y key on count */ 265 int16_t ykstat; /* cursor y key status */ 266 267 int16_t anrs[8][16]; /* analog variable resolution */ 268 int16_t grp2prt[12][2]; /* group to port and channel table */ 269 int16_t sctctab[10][64]; /* score background color table */ 270 int16_t sigtab[128][2]; /* signals: [0] = value, [1] = switch */ 271 int16_t tunlib[NTUNS][128]; /* tuning table library */ 272 int16_t varmode[8][16]; /* analog variable record mode */ 273 int16_t wsnmod[12][2]; /* waveshape number / data modified */ 274 274 275 275 struct EXFILE mphead; /* MIDAS-VII program header */ -
ram/im700.x
r432327d r6099cac 321 321 extern int16_t thcwval; 322 322 extern int16_t thescore; 323 extern int16_ttimemlt;323 extern uint16_t timemlt; 324 324 extern int16_t tkback; 325 325 extern int16_t tkctrl;
Note:
See TracChangeset
for help on using the changeset viewer.