Changeset 6099cac in buchla-68k for ram


Ignore:
Timestamp:
11/11/2017 08:56:04 PM (6 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
494d8ff
Parents:
432327d
Message:

Fixed dopatch.c.

Location:
ram
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • ram/dopatch.c

    r432327d r6099cac  
    2929int16_t lg2base[7] = { 0, 3, 7, 10, 14, 17, 21};        /* LED group bases */
    3030
    31 int8_t  vgtype[] = {
     31uint8_t vgtype[] = {
    3232
    3333        ST_NUL,         /* PA_NULL */
     
    7676        if (slot) {             /* waveshape slot B */
    7777
    78                 vbufs[voice].idhwsb = wsn;
     78                vbufs[voice].idhwsb = (int8_t)wsn;
    7979
    8080                memcpyw(vbufs[voice].idhwvbf, &wslib[wsn],
     
    8585                memcpyw(fpuws, vbufs[voice].idhwvbf, NUMWPNT);
    8686
    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];
    8989
    9090        } else {                /* waveshape slot A */
    9191
    92                 vbufs[voice].idhwsa = wsn;
     92                vbufs[voice].idhwsa = (int8_t)wsn;
    9393
    9494                memcpyw(vbufs[voice].idhwvaf, &wslib[wsn],
     
    9999                memcpyw(fpuws, vbufs[curvce].idhwvaf, NUMWPNT);
    100100
    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];
    103103
    104104        }
     
    111111*/
    112112
    113 void pfpufn(uint16_t voice, uint16_t par, uint16_t dat1, uint16_t dat2)
     113void pfpufn(int16_t voice, int16_t par, uint16_t dat1, uint16_t dat2)
    114114{
    115115        volatile uint16_t *fpu;
     
    125125        case PSA_MLT:           /* multiplier */
    126126
    127                 *(fpu + (int32_t)FPU_TSF1) = dat2;
     127                *(fpu + FPU_TSF1) = dat2;
    128128                break;
    129129
    130130        case PSA_TIM:           /* time */
    131131
    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);
    134134
    135135                ++delay;
    136136
    137                 *(fpu + (int32_t)FPU_TEXP) = expbit[dat2 & 0x000F];
     137                *(fpu + FPU_TEXP) = expbit[dat2 & 0x000F];
    138138
    139139                break;
     
    141141        case PSA_VAL:           /* value */
    142142
    143                 sendval(voice, par, dat2);
     143                sendval(voice, par, (int16_t)dat2);
    144144                break;
    145145
     
    179179        volatile uint8_t *ser;
    180180        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;
    182183        int16_t baseled, curled, ledctl;
    183184
     
    191192        if (ST_VGT & sat) {             /* vg, osc sub-address types */
    192193
    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 */
    195196
    196197                if (vgr > 11) {         /* sort out voices from groups */
     
    235236                        putwq(&ptefifo, suba);          /* closure */
    236237
    237                 seqdupd |= (1 << trig);
     238                seqdupd |= ((uint16_t)1 << trig);
    238239                break;
    239240
     
    259260                case 0:                         /* transient */
    260261
    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 */
    263264                        break;
    264265
    265266                case 1:                         /* off */
    266267
    267                         *ser = (temp & 0x00FD) | 0x0080;        /* off */
     268                        *ser = (uint8_t)((temp & 0x00FD) | 0x0080);     /* off */
    268269                        break;
    269270
    270271                case 2:                         /* on */
    271272
    272                         *ser = temp | 0x0082;                   /* on */
     273                        *ser = (uint8_t)(temp | 0x0082);                /* on */
    273274                        break;
    274275                }
     
    290291
    291292                                ledstat[curled] = TRUE;
    292                                 io_leds = curled;
     293                                io_leds = (uint8_t)curled;
    293294
    294295                        } else if (ledctl EQ 2) {               /* off */
    295296
    296297                                ledstat[curled] = FALSE;
    297                                 io_leds = curled | 0x0080;
     298                                io_leds = (uint8_t)(curled | 0x0080);
    298299
    299300                        } else if (ledctl EQ 3) {               /* toggle */
     
    302303
    303304                                        ledstat[curled] = FALSE;
    304                                         io_leds = curled | 0x0080;
     305                                        io_leds = (uint8_t)(curled | 0x0080);
    305306
    306307                                } else {                        /* off -> on */
    307308
    308309                                        ledstat[curled] = TRUE;
    309                                         io_leds = curled;
     310                                        io_leds = (uint8_t)curled;
    310311                                }
    311312                        }
     
    317318
    318319                seqline[suba] = dat1;
    319                 seqdupd |= (1 << suba);
     320                seqdupd |= ((uint16_t)1 << suba);
    320321                break;
    321322
     
    347348                }
    348349
    349                 seqdupd |= (1 << suba);
     350                seqdupd |= ((uint16_t)1 << suba);
    350351                break;
    351352
    352353        case PA_TUNE:           /* tuning table */
    353354
    354                 gettun(dat1);
     355                gettun((int16_t)dat1);
    355356                break;
    356357
     
    358359
    359360                sregval[suba] = dat1 ? sregval[dat2] : dat2;
    360                 seqdupd |= (1 << suba);
     361                seqdupd |= ((uint16_t)1 << suba);
    361362                break;
    362363
    363364        case PA_RADD:           /* regsister add */
    364365
    365                 temp = sregval[suba] + (dat1 ? sregval[dat2] : dat2);
     366                temp = (int16_t)(sregval[suba] + (dat1 ? sregval[dat2] : dat2));
    366367
    367368                if (temp > 99)
     
    370371                        temp = 0;
    371372
    372                 sregval[suba] = temp;
    373                 seqdupd |= (1 << suba);
     373                sregval[suba] = (uint16_t)temp;
     374                seqdupd |= ((uint16_t)1 << suba);
    374375                break;
    375376
     
    378379                if (vgt) {      /* group */
    379380
    380                         ins2grp[vgn] = (ins2grp[vgn] & 0xFF00) | dat1;
     381                        ins2grp[vgn] = (ins2grp[vgn] & (int16_t)0xFF00) | (int16_t)dat1;
    381382                        setv2gi(vgn);
    382383
     
    384385
    385386                        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);
    390391                }
    391392
     
    398399                        for (i = 0; i < 12; i++)
    399400                                if (vce2grp[i] EQ (1 + vgn))
    400                                         pdoctl(i, osc, dat1, dat2);
     401                                        pdoctl(i, osc, (int16_t)dat1, (int16_t)dat2);
    401402
    402403                } else {                /* voice */
    403404
    404                         pdoctl(vgn, osc, dat1, dat2);
     405                        pdoctl(vgn, osc, (int16_t)dat1, (int16_t)dat2);
    405406                }
    406407
     
    413414                        for (i = 0; i < 12; i++)
    414415                                if (vce2grp[i] EQ (1 + vgn))
    415                                         pdows(0, i, dat1);
     416                                        pdows(0, i, (int16_t)dat1);
    416417
    417418                } else {                /* voice */
    418419
    419                         pdows(0, vgn, dat1);
     420                        pdows(0, vgn, (int16_t)dat1);
    420421                }
    421422
     
    428429                        for (i = 0; i < 12; i++)
    429430                                if (vce2grp[i] EQ (1 + vgn))
    430                                         pdows(1, i, dat1);
     431                                        pdows(1, i, (int16_t)dat1);
    431432
    432433                } else {                /* voice */
    433434
    434                         pdows(1, vgn, dat1);
     435                        pdows(1, vgn, (int16_t)dat1);
    435436                }
    436437
     
    444445                                if (vce2grp[i] EQ (1 + vgn)) {
    445446
    446                                         vbufs[i].idhcfg = dat1;
     447                                        vbufs[i].idhcfg = (int8_t)dat1;
    447448                                        dosync(i);
    448449                                }
    449450                } else {
    450451
    451                         vbufs[vgn].idhcfg = dat1;
     452                        vbufs[vgn].idhcfg = (int8_t)dat1;
    452453                        dosync(vgn);
    453454                }
  • ram/dopatch.x

    r432327d r6099cac  
    2222extern  int16_t         lg2base[7];
    2323extern  uint16_t        seqdupd;
    24 extern  int8_t          vgtype[];
     24extern  uint8_t         vgtype[];
    2525
    2626/*
     
    3333extern  void            pdoctl(int16_t voice, int16_t osc, int16_t dat1, int16_t dat2);
    3434extern  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);
     35extern  void            pfpufn(int16_t voice, int16_t par, uint16_t dat1, uint16_t dat2);
  • ram/im700.c

    r432327d r6099cac  
    1313#include "ram.h"
    1414
    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 */
     15int16_t         admctl;                 /* assignment display submenu control variable */
     16int16_t         adnamsw;                /* assignment display virtual typewriter flag */
     17int16_t         aflag;                  /* analog activity flag */
     18int16_t         aform;                  /* action buffer format */
     19int16_t         amplval;                /* amplitude */
     20int16_t         ancmsw;                 /* analog variable r/p control source */
     21int16_t         angroup;                /* analog variable group being shown */
     22int16_t         asgfks;                 /* first key selected */
     23int16_t         asghit;                 /* row hit / assignment in progress */
     24int16_t         asgmod;                 /* assignment number or table modified */
     25int16_t         asig;                   /* analog signal number */
     26int16_t         asmode;                 /* panel assignment mode */
     27int16_t         astat;                  /* analog signal status */
     28int16_t         auxctl;                 /* aux control flag */
     29int16_t         aval;                   /* analog signal value */
     30int16_t         bform;                  /* oscillator data buffer format */
     31int16_t         catin;                  /* catalog read in flag */
     32int16_t         cents;                  /* pitch to cents conversion buffer */
     33int16_t         chtime;                 /* horizontal cursor counter */
     34int16_t         chwait;                 /* horizontal cursor wait time */
     35int16_t         cflag;                  /* accidental flag */
     36int16_t         clkctl;                 /* clock control */
     37int16_t         clkrun;                 /* clock status */
     38int16_t         clksrc;                 /* clock source */
     39int16_t         cmfirst;                /* first cursor motion switch */
     40int16_t         cmtype;                 /* cursor motion type */
     41int16_t         cnote;                  /* note value at cursor */
     42int16_t         ctrsw;                  /* scupd center update switch */
     43int16_t         curasg;                 /* current assignment table */
     44int16_t         curfunc;                /* current function number */
     45int16_t         curgrp;                 /* current group */
     46int16_t         curinst;                /* current instrument number */
     47int16_t         curmop;                 /* current MIDI output port */
     48int16_t         curpnt;                 /* current point number (absolute) */
     49int16_t         curpos;                 /* cursor pad position for current axis */
     50int16_t         cursbox;                /* currently selected box */
     51int16_t         curscor;                /* Current score number */
     52int16_t         cursect;                /* current section */
     53int16_t         curslim;                /* cursor type change point */
     54int16_t         curtun;                 /* current tuning table */
     55int16_t         curvce;                 /* current voice number */
     56int16_t         curwave;                /* current waveshape library slot */
     57int16_t         curwdth;                /* current waveshape cursor width */
     58int16_t         curwfnl;                /* current waveshape final value */
     59int16_t         curwhrm;                /* current waveshape harmonic number */
     60int16_t         curwhrv;                /* current waveshape harmonic value */
     61int16_t         curwoff;                /* current waveshape offset value */
     62int16_t         curwpnt;                /* current waveshape point number */
     63int16_t         curwslt;                /* current waveshape instrument slot */
     64int16_t         cvtime;                 /* vertical cursor counter */
     65int16_t         cvwait;                 /* veritcal cursor wait time */
     66int16_t         cxrate;                 /* cursor x rate */
     67int16_t         cxval;                  /* graphic cursor x value */
     68int16_t         cyrate;                 /* cursor y rate */
     69int16_t         cyval;                  /* graphic cursor y value */
     70int16_t         debugne;                /* debug flag for note entry */
     71int16_t         defect;                 /* defect code */
     72int16_t         dferror;                /* error code from BIOS or XBIOS */
     73int16_t         dfsides;                /* number of sides */
     74int16_t         dftype;                 /* disk type code */
     75int16_t         dsp_ok;                 /* display update OK this cycle flag */
     76int16_t         dubsw;                  /* overdub / replace switch */
     77int16_t         ebflag;                 /* edit buffer data flag */
     78int16_t         editss;                 /* edit panel switch state */
     79int16_t         editsw;                 /* edit mode switch */
     80int16_t         endflg;                 /* !end flag */
     81int16_t         ext_cv1;                /* CV-1 value */
     82int16_t         ext_cv2;                /* CV-2 value */
     83int16_t         ext_cv3;                /* CV-3 value */
     84int16_t         ext_cv4;                /* CV-4 value */
     85int16_t         ext_mod;                /* Aux Signal Mod value */
     86int16_t         gomode;                 /* go to mode */
     87int16_t         grptran;                /* group translation value */
     88int16_t         gtmsel;                 /* group transpose/map select */
     89int16_t         hitbox;                 /* box we just hit */
     90int16_t         hitcx;                  /* x of cursor when we hit the box */
     91int16_t         hitcy;                  /* y of cursor when we hit the box */
     92int16_t         idcfsw;                 /* copy / fetch menu switch */
     93int16_t         idimsw;                 /* instrument display instrument menu switch */
     94int16_t         idintmp;                /* temporary for instrument number */
     95int16_t         idnamsw;                /* typewriter switch */
     96int16_t         idsrcsw;                /* source menu switch */
     97int16_t         idtdat;                 /* current instrument vtyper data entry string */
     98int16_t         imflag;                 /* instrument modified flag */
     99int16_t         initcfg;                /* initial configuration */
     100int16_t         insmode;                /* score insert mode */
     101int16_t         ismode;                 /* instrument select mode */
     102int16_t         lampio;                 /* LCD timeout disable switch state at I/O time */
     103int16_t         lampsw;                 /* LCD timeout disable switch */
     104int16_t         lasgsw;                 /* assignments store switch */
     105int16_t         lastam;                 /* last assignment menu base */
     106int16_t         ldelsw;                 /* delete switch */
     107int16_t         lderrsw;                /* error message displayed switch */
     108int16_t         ldidsiz;                /* getcat() did showsiz() switch */
     109int16_t         ldkind;                 /* fetch file type */
     110int16_t         ldpass;                 /* librarian load state variable */
     111int16_t         ldrow;                  /* fetch select row */
     112int16_t         ldslot;                 /* fetch select slot */
     113int16_t         legato;                 /* execkey() "legato" mode switch */
     114int16_t         lksel;                  /* librarian key slot selector */
     115int16_t         lmwtype;                /* librarian message window type */
     116int16_t         loadrow;                /* librarian row selected for load letter */
     117int16_t         loadsw;                 /* panel "Load" mode state */
     118int16_t         lorchl;                 /* load hi (TRUE) / lo (FALSE) orchestra */
     119int16_t         lorchsw;                /* hi orchestra (21 - 40) store switch */
     120int16_t         lorclsw;                /* lo orchestra (01 - 20) store switch */
     121int16_t         lpatsw;                 /* patch table store switch */
     122int16_t         lrasw;                  /* append (TRUE) / replace (FALSE) score */
     123int16_t         lscrsw;                 /* score store switch */
     124int16_t         lselsw;                 /* fetch select switch */
     125int16_t         lseqsw;                 /* sequence table store switch */
     126int16_t         lstbgnc;                /* last note begin entry table index */
     127int16_t         lstendc;                /* last note end entry table index */
     128int16_t         lstflag;                /* last note list end switch */
     129int16_t         lstrsw;                 /* store state switch */
     130int16_t         lstwoff;                /* last waveshape offset value */
     131int16_t         lstwpnt;                /* last waveshape point number */
     132int16_t         ltagged;                /* load tag switch */
     133int16_t         ltunsw;                 /* tunings store switch */
     134int16_t         lwavsw;                 /* waveshapes store switch */
     135int16_t         mascntr;                /* MIDI active sensing timeout counter */
     136int16_t         mdb1;                   /* current MIDI data byte 1 */
     137int16_t         mdb2;                   /* current MIDI data byte 2 */
     138int16_t         michan;                 /* current MIDI channel */
     139int16_t         midiclk;                /* MIDI clock switch */
     140int16_t         midigo;                 /* MIDI run switch */
     141int16_t         mistat;                 /* current MIDI status */
     142int16_t         nchwait;                /* next chwait value */
     143int16_t         ncvwait;                /* next cvwait value */
     144int16_t         ndisp;                  /* current display number */
     145int16_t         newflag;                /* new data entered while t_cur EQ t_ctr */
     146int16_t         nkdown;                 /* number of keys down */
     147int16_t         notenum;                /* note number */
     148int16_t         noteop;                 /* pending note operation code */
     149int16_t         notepit;                /* note pitch */
     150int16_t         notesel;                /* note selection state */
     151int16_t         npts;                   /* number of points in function */
     152int16_t         nxtflag;                /* next score flag */
     153int16_t         oldltag;                /* previous load tag for tagslot */
     154int16_t         oldpk;                  /* previous pkctrl state */
     155int16_t         oldsl;                  /* previous sliders state */
     156int16_t         pchsw;                  /* punch-in enable switch */
     157int16_t         pecase;                 /* point edit case variable */
     158int16_t         pkctrl;                 /* local performance key state */
     159int16_t         pntsv;                  /* point selection state variable */
     160int16_t         prgchan;                /* MIDI program change channel  (port 1) */
     161int16_t         ps_dpth;                /* phase shifter -- depth */
     162int16_t         ps_intn;                /* phase shifter -- intensity */
     163int16_t         ps_rate;                /* phase shifter -- rate */
     164int16_t         pulsclk;                /* pulse clock state */
     165int16_t         recsw;                  /* record / play switch */
     166int16_t         runit;                  /* run switch for main scan loop */
     167int16_t         sbase;                  /* score VSDD RAM scroll offset */
     168int16_t         scmctl;                 /* score submenu control flag */
     169int16_t         scrlpot;                /* scroll pot state */
     170int16_t         sd;                     /* score display direction */
     171int16_t         se;                     /* score execution direction */
     172int16_t         sdmcol;                 /* score menu - saved stccol */
     173int16_t         sdmctl;                 /* score menu - control variable */
     174int16_t         sdmrow;                 /* score menu - saved stcrow */
     175int16_t         secop;                  /* pending score section operation */
     176int16_t         secopok;                /* section operation OK flag */
     177int16_t         sgcsw;                  /* graphic cursor display switch */
     178int16_t         sgoflag;                /* section number relative column 0..3 */
     179int16_t         sharp;                  /* sharp flag */
     180int16_t         sliders;                /* slider and switch state */
     181int16_t         soffset;                /* score scroll offset */
     182int16_t         ss_ptsw;                /* smooth scroll patch scroll switch */
     183int16_t         ss_sqsw;                /* smooth scroll sequence scroll switch */
     184int16_t         stccol;                 /* score cursor col */
     185int16_t         stcrow;                 /* score cursor row */
     186int16_t         stepclk;                /* note entry - step clock state */
     187int16_t         stepenb;                /* note entry - step enable flag */
     188int16_t         stepint;                /* note entry - note interval */
     189int16_t         stepwgt;                /* note entry - note weight */
     190int16_t         subj;                   /* edited point number (relative) */
     191int16_t         submenu;                /* submenu active switch */
     192int16_t         swctrl;                 /* scroll wheel 'srolling' flag */
     193int16_t         swdelta;                /* scroll wheel change while touched */
     194int16_t         swdir;                  /* scroll wheel direction */
     195int16_t         swfiin;                 /* scroll wheel fifo input pointer */
     196int16_t         swflag;                 /* scroll wheel touched flag */
     197int16_t         swlast;                 /* scroll wheel last value */
     198int16_t         swstop;                 /* scroll wheel stop flag */
     199int16_t         swndx;                  /* scroll wheel look back index */
     200int16_t         tagslot;                /* tagged load slot */
     201int16_t         tdnamsw;                /* tuning editor displaying typewriter */
     202int16_t         temax;                  /* time upper limit */
     203int16_t         temin;                  /* time lower limit */
     204int16_t         testing;                /* test level */
     205int16_t         tglclk;                 /* clock on/off toggle flag */
     206int16_t         tglpch;                 /* punch in/out toggle flag */
     207int16_t         thescore;               /* score selected from sqscan */
     208uint16_t        timemlt;                /* time scaling */
     209int16_t         tkctrl;                 /* trackball active flag */
     210int16_t         tmpomlt;                /* tempo multiplier */
     211int16_t         tmpoval;                /* tempo value */
     212int16_t         trkball;                /* trackball selected switch */
     213int16_t         ttcmdsv;                /* tuning editor edit state variable */
     214int16_t         ttsel1;                 /* tuning editor key select variable 1 */
     215int16_t         ttsel2;                 /* tuning editor key select variable 2 */
     216int16_t         ttsel3;                 /* tuning editor key select variable 3 */
     217int16_t         tuneval;                /* fine tuning */
     218int16_t         tunmod;                 /* tuning table modified */
     219int16_t         tunval;                 /* tuning editor increment / transpose  value */
     220int16_t         txfiin;                 /* trackball x fifo input pointer */
     221int16_t         txflag;                 /* trackball x axis active flag */
     222int16_t         txlast;                 /* trackball x axis last value */
     223int16_t         txstop;                 /* trackball x axis filter counter */
     224int16_t         tyfiin;                 /* trackball y fifo input pointer */
     225int16_t         tyflag;                 /* trackball y axis active flag */
     226int16_t         tylast;                 /* trackball y axis last value */
     227int16_t         tystop;                 /* trackball y axis filter counter */
     228int16_t         velflag;                /* velocity display flag */
     229int16_t         verbose;                /* verbose output switch */
     230int16_t         vlbtype;                /* type of message window display */
     231int16_t         vrbw08;                 /* score display video reset detail word */
     232int16_t         vrbw09;                 /* score display video reset detail word */
     233int16_t         vrbw10;                 /* score display video reset detail word */
     234int16_t         vrbw11;                 /* score display video reset detail word */
     235int16_t         vrbw12;                 /* score display video reset detail word */
     236int16_t         vrbw13;                 /* score display video reset detail word */
     237int16_t         vrbw14;                 /* score display video reset detail word */
     238int16_t         vrbw15;                 /* score display video reset detail word */
     239int16_t         vrcw;                   /* score display video reset control word */
     240int16_t         vtccol;                 /* virtual typewriter cursor column */
     241int16_t         vtcrow;                 /* virtual typewriter cursor row */
     242int8_t          vtdechr;                /* virtual typewriter data entry character */
     243int16_t         vtdecol;                /* virtual typewriter data entry column */
     244int16_t         vtpcol;                 /* virtual typewriter column */
     245int16_t         vtprow;                 /* virtual typewriter row */
     246int16_t         vtwcol;                 /* virtual typewriter window left column */
     247int16_t         vtwrow;                 /* virtual typewriter window top row */
     248int16_t         vtxval;                 /* virtual typewriter cursor x value */
     249int16_t         vtyval;                 /* virtual typewriter cursor y value */
     250int16_t         wcflag;                 /* ws/cf menu select flag (cf=0, ws=1) */
     251int16_t         wcmcol;                 /* ws/cf menu label column */
     252int16_t         wcmrow;                 /* ws/cf menu label row */
     253int16_t         wcpage;                 /* ws/cf menu page */
     254int16_t         wdupdfl;                /* waveshape display needs updated flag */
     255int16_t         wmcsel;                 /* ws menu ws a/b select */
     256int16_t         wmctag;                 /* ws/cf display update flag */
     257int16_t         wplast;                 /* last point for interpolate operation */
     258int16_t         wpntsv;                 /* waveshape point selection state variable */
     259int16_t         wshmax;                 /* waveshape maximum value */
     260int16_t         wvlast;                 /* last value for interpolate operation */
     261int16_t         xkcount;                /* cursor x key on count */
     262int16_t         xkstat;                 /* cursor x key status */
     263int16_t         xycntr;                 /* xy center for cursor pad */
     264int16_t         ykcount;                /* cursor y key on count */
     265int16_t         ykstat;                 /* cursor y key status */
     266
     267int16_t         anrs[8][16];            /* analog variable resolution */
     268int16_t         grp2prt[12][2];         /* group to port and channel table */
     269int16_t         sctctab[10][64];        /* score background color table */
     270int16_t         sigtab[128][2];         /* signals:  [0] = value, [1] = switch */
     271int16_t         tunlib[NTUNS][128];     /* tuning table library */
     272int16_t         varmode[8][16];         /* analog variable record mode */
     273int16_t         wsnmod[12][2];          /* waveshape number / data modified */
    274274
    275275struct  EXFILE  mphead;         /* MIDAS-VII program header */
  • ram/im700.x

    r432327d r6099cac  
    321321extern  int16_t         thcwval;
    322322extern  int16_t         thescore;
    323 extern  int16_t         timemlt;
     323extern  uint16_t        timemlt;
    324324extern  int16_t         tkback;
    325325extern  int16_t         tkctrl;
Note: See TracChangeset for help on using the changeset viewer.