Changeset 4f508e6 in buchla-68k for ram/execkey.s


Ignore:
Timestamp:
07/01/2017 02:34:46 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
08e1da1
Parents:
f40a309
Message:

Converted assembly language files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ram/execkey.s

    rf40a309 r4f508e6  
    1 * ------------------------------------------------------------------------------
    2 * execkey.s -- execute key -- FPU function start subroutine
    3 * Version 15 -- 1988-08-29 -- D.N. Lynx Crowe
    4 * Hand optimized version of execkey() and fnstart() from C compiler output
    5 * ------------------------------------------------------------------------------
     1| ------------------------------------------------------------------------------
     2| execkey.s -- execute key -- FPU function start subroutine
     3| Version 15 -- 1988-08-29 -- D.N. Lynx Crowe
     4| Hand optimized version of execkey() and fnstart() from C compiler output
     5| ------------------------------------------------------------------------------
    66                .text
    7 *
    8 LOC_EOR         .equ    0
    9 LOC_SUB         .equ    1
    10 *
     7
     8LOC_EOR         =       0
     9LOC_SUB         =       1
     10
    1111                .xdef   _execkey
    12 *
     12
    1313                .xref   _xgetran
    14 *
     14
    1515                .xref   _rsntab
    1616                .xref   _expbit
     
    2626                .xref   _veltab
    2727                .xref   _vpsms
    28 *
    29                 .page
    30 *
    31 * Offsets for execkey() parameters
    32 * --------------------------------
    33 TRG             .equ    8               * WORD -- trigger
    34 PCH             .equ    10              * WORD -- pitch
    35 VCE             .equ    12              * WORD -- voice  (0..11)
    36 TAG             .equ    14              * WORD -- I_TM_... inversion tag
    37 *
    38 * Register variables
    39 * ------------------
    40 A_FP            .equ    A5              * LONG -- struct idfnhdr *
    41 A_FPU           .equ    A4              * LONG -- FPU base address
    42 A_SMP           .equ    A3              * LONG -- struct sment *
    43 *
    44 R_FPMANT        .equ    D7              * WORD -- FPU time mantissa
    45 R_FPEXP         .equ    D6              * WORD -- FPU time exponent
    46 R_FPCTL         .equ    D5              * WORD -- FPU control word
    47 R_I             .equ    D4              * WORD -- loop index
    48 R_FPVAL         .equ    D3              * WORD -- FPU value
    49 *
    50 * Local (stack) variables
    51 * -----------------------
    52 PT              .equ    -4              * LONG -- instpnt *
    53 VEP             .equ    -8              * LONG -- struct valent *
    54 OLDI            .equ    -10             * WORD -- old IPL  (sr)
    55 OCTYPE          .equ    -12             * WORD -- oscillator 1 mode / scratch
    56 VP              .equ    -14             * WORD -- voice # + function # index
    57 SRCNUM          .equ    -16             * WORD -- general source #
    58 SRCVAL          .equ    -18             * WORD -- general source value
    59 TSRCVAL         .equ    -20             * WORD -- temporary general source value
    60 MLTVAL          .equ    -22             * WORD -- general source multiplier
    61 TFPVAL          .equ    -24             * WORD -- temporary FPU value
    62 LTMP            .equ    -28             * LONG -- long temporary
    63 IP              .equ    -32             * LONG -- struct instdef *
    64 GROUP           .equ    -34             * WORD -- group number << 4
    65 *
    66 * Symbolic constants
    67 * ------------------
    68 LASTLOCL        .equ    GROUP           * last local on the stack
    69 *
    70 FPU_DI          .equ    $2200           * sr value for disabling FPU interrupts
    71 PITCHMAX        .equ    21920           * maximum pitch value
    72 VALMAX          .equ    $00007D00       * maximum FPU value
    73 VALMIN          .equ    $FFFF8300       * minimum FPU value
    74 VBLEN           .equ    3938            * length of a voice buffer
    75 LSPCH           .equ    2               * left shift for pitch sources
    76 *
    77                 .page
    78 *
    79 * execkey(trg, pch, vce)
    80 * short trg, pch, vce;
    81 * {
    82 *
     28
     29                .page
     30
     31| Offsets for execkey() parameters
     32| --------------------------------
     33TRG             =       8               | WORD -- trigger
     34PCH             =       10              | WORD -- pitch
     35VCE             =       12              | WORD -- voice  (0..11)
     36TAG             =       14              | WORD -- I_TM_... inversion tag
     37
     38| Register variables
     39| ------------------
     40A_FP            =       A5              | LONG -- struct idfnhdr |
     41A_FPU           =       A4              | LONG -- FPU base address
     42A_SMP           =       A3              | LONG -- struct sment |
     43
     44R_FPMANT        =       D7              | WORD -- FPU time mantissa
     45R_FPEXP         =       D6              | WORD -- FPU time exponent
     46R_FPCTL         =       D5              | WORD -- FPU control word
     47R_I             =       D4              | WORD -- loop index
     48R_FPVAL         =       D3              | WORD -- FPU value
     49
     50| Local (stack) variables
     51| -----------------------
     52PT              =       -4              | LONG -- instpnt |
     53VEP             =       -8              | LONG -- struct valent |
     54OLDI            =       -10             | WORD -- old IPL  (sr)
     55OCTYPE          =       -12             | WORD -- oscillator 1 mode / scratch
     56VP              =       -14             | WORD -- voice # + function # index
     57SRCNUM          =       -16             | WORD -- general source #
     58SRCVAL          =       -18             | WORD -- general source value
     59TSRCVAL         =       -20             | WORD -- temporary general source value
     60MLTVAL          =       -22             | WORD -- general source multiplier
     61TFPVAL          =       -24             | WORD -- temporary FPU value
     62LTMP            =       -28             | LONG -- long temporary
     63IP              =       -32             | LONG -- struct instdef |
     64GROUP           =       -34             | WORD -- group number << 4
     65
     66| Symbolic constants
     67| ------------------
     68LASTLOCL        =       GROUP           | last local on the stack
     69
     70FPU_DI          =       0x2200          | sr value for disabling FPU interrupts
     71PITCHMAX        =       21920           | maximum pitch value
     72VALMAX          =       0x00007D00      | maximum FPU value
     73VALMIN          =       0xFFFF8300      | minimum FPU value
     74VBLEN           =       3938            | length of a voice buffer
     75LSPCH           =       2               | left shift for pitch sources
     76
     77                .page
     78
     79| execkey(trg, pch, vce)
     80| short trg, pch, vce;
     81| {
     82
    8383_execkey:       link    A6,#LASTLOCL
    8484                movem.l D2-R_FPMANT/A_SMP-A_FP,-(sp)
    85 *
    86 *       ip = &vbufs[vce];
    87 *
     85
     86|       ip = &vbufs[vce];
     87
    8888                move.w  VCE(A6),D0
    8989                asl.w   #2,D0
    9090                lea     vbtab,A0
    9191                move.l  0(A0,D0.W),IP(A6)
    92 *
    93 *       vce2trg[vce] = trg;
    94 *
     92
     93|       vce2trg[vce] = trg;
     94
    9595                lsr.w   #1,D0
    9696                lea     _vce2trg,A0
    9797                move.w  TRG(A6),0(A0,D0.W)
    98 *
    99 *       group = (vce2grp[vce] - 1) << 4;
    100 *
     98
     99|       group = (vce2grp[vce] - 1) << 4;
     100
    101101                move.w  VCE(A6),A0
    102102                add.l   A0,A0
     
    107107                asl.w   #4,D0
    108108                move.w  D0,GROUP(A6)
    109 *
    110                 .page
    111 * ------------------------------------------------------------------------------
    112 * Start function 0 -- Frq 1
    113 * ------------------------------------------------------------------------------
    114 *
    115 *    if (ip->idhfnc[0].idftmd & I_TM_KEY) {
    116 *
     109
     110                .page
     111| ------------------------------------------------------------------------------
     112| Start function 0 -- Frq 1
     113| ------------------------------------------------------------------------------
     114
     115|    if (ip->idhfnc[0].idftmd & I_TM_KEY) {
     116
    117117                move.l  IP(A6),A0
    118118                move.b  93(A0),D0
     
    121121                btst    #0,D0
    122122                bne     FN00A
    123 *
     123
    124124                jmp     FN01
    125 *
    126 *       vp = (vce << 4) + 1;
    127 *
     125
     126|       vp = (vce << 4) + 1;
     127
    128128FN00A:          move    VCE(A6),D0
    129129                asl     #4,D0
    130130                add.w   #1,D0
    131131                move    D0,VP(A6)
    132 *
    133 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    134 *
     132
     133|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     134
    135135                asl     #5,D0
    136136                ext.l   D0
    137137                move.l  D0,A_FPU
    138                 add.l   #_io_fpu+$4000,A_FPU
    139 *
    140 *       fp = &ip->idhfnc[0];
    141 *
     138                add.l   #_io_fpu+0x4000,A_FPU
     139
     140|       fp = &ip->idhfnc[0];
     141
    142142                move.l  IP(A6),A_FP
    143143                add.l   #86,A_FP
    144 *
    145 *       pt = &ip->idhpnt[fp->idfpt1];
    146 *
     144
     145|       pt = &ip->idhpnt[fp->idfpt1];
     146
    147147                clr.l   D0
    148148                move.b  6(A_FP),D0
     
    154154                add.l   #242,D0
    155155                move.l  D0,PT(A6)
    156 *
    157                 .page
    158 *
    159 *       srcnum = group | fp->idfsrc;
    160 *
     156
     157                .page
     158
     159|       srcnum = group | fp->idfsrc;
     160
    161161                move.w  GROUP(A6),D0
    162162                ext.l   D0
     
    165165                or      D1,D0
    166166                move    D0,SRCNUM(A6)
    167 *
    168 *       vep = &valents[srcnum];
    169 *
     167
     168|       vep = &valents[srcnum];
     169
    170170                add.l   D0,D0
    171171                move.l  D0,D1
     
    174174                add.l   #_valents,D0
    175175                move.l  D0,VEP(A6)
    176 *
    177 *       smp = vpsms[vp];
    178 *
     176
     177|       smp = vpsms[vp];
     178
    179179                move    VP(A6),A0
    180180                add.l   A0,A0
     
    182182                add.l   #_vpsms,A0
    183183                move.l  (A0),A_SMP
    184 *
    185 *       if (srcnum NE smp->sm) {
    186 *
     184
     185|       if (srcnum NE smp->sm) {
     186
    187187                clr     D0
    188188                move    10(A_SMP),D0
    189189                cmp     SRCNUM(A6),D0
    190190                beq     F00L113
    191 *
    192 *               (smp->prv)->nxt = smp->nxt;
    193 *
     191
     192|               (smp->prv)->nxt = smp->nxt;
     193
    194194                move.l  4(A_SMP),A0
    195195                move.l  (A_SMP),(A0)
    196 *
    197 *               (smp->nxt)->prv = smp->prv;
    198 *
     196
     197|               (smp->nxt)->prv = smp->prv;
     198
    199199                move.l  (A_SMP),A0
    200200                move.l  4(A_SMP),4(A0)
    201 *
    202 *               smp->prv = (struct sment *)vep;
    203 *
     201
     202|               smp->prv = (struct sment |)vep;
     203
    204204                move.l  VEP(A6),4(A_SMP)
    205 *
    206 *               smp->nxt = vep->nxt;
    207 *
     205
     206|               smp->nxt = vep->nxt;
     207
    208208                move.l  VEP(A6),A0
    209209                move.l  (A0),(A_SMP)
    210 *
    211 *               (vep->nxt)->prv = smp;
    212 *
     210
     211|               (vep->nxt)->prv = smp;
     212
    213213                move.l  VEP(A6),A0
    214214                move.l  (A0),A0
    215215                move.l  A_SMP,4(A0)
    216 *
    217 *               vep->nxt = smp;
    218 *
     216
     217|               vep->nxt = smp;
     218
    219219                move.l  VEP(A6),A0
    220220                move.l  A_SMP,(A0)
    221 *
    222 *               smp->sm = srcnum;
    223 *
     221
     222|               smp->sm = srcnum;
     223
    224224                move    SRCNUM(A6),10(A_SMP)
    225 *
    226 *       }
    227 *
    228 *       mltval = fp->idfmlt;
    229 *
     225
     226|       }
     227
     228|       mltval = fp->idfmlt;
     229
    230230F00L113:        move    2(A_FP),MLTVAL(A6)
    231 *
    232                 .page
    233 *
    234 *       switch (fp->idfsrc) {
    235 *
     231
     232                .page
     233
     234|       switch (fp->idfsrc) {
     235
    236236                move.b  4(A_FP),D0
    237237                ext.w   d0
    238238                cmp     #10,D0
    239239                bhi     F00L122
    240 *
     240
    241241                asl     #2,D0
    242242                lea     F00L123,A0
    243243                movea.l 0(A0,D0.W),A0
    244244                jmp     (A0)
    245 *
    246 *       case SM_NONE:
    247 *               mltval = 0;
    248 *
     245
     246|       case SM_NONE:
     247|               mltval = 0;
     248
    249249F00L116:        clr     MLTVAL(A6)
    250 *
    251 *               tsrcval = 0;
    252 *
     250
     251|               tsrcval = 0;
     252
    253253                clr     TSRCVAL(A6)
    254 *
    255 *               break;
    256 *
     254
     255|               break;
     256
    257257                bra     F00L114
    258 *
    259 *       case SM_RAND:
    260 *               tsrcval = xgetran(mltval);
    261 *
     258
     259|       case SM_RAND:
     260|               tsrcval = xgetran(mltval);
     261
    262262F00L117:        move    MLTVAL(A6),(sp)
    263263                jsr     _xgetran
    264264                move    D0,TSRCVAL(A6)
    265 *
    266 *               break;
    267 *
     265
     266|               break;
     267
    268268                bra     F00L114
    269 *
    270 *       case SM_PTCH:
    271 *               tsrcval = pch;
    272 *
     269
     270|       case SM_PTCH:
     271|               tsrcval = pch;
     272
    273273F00L118:        move    PCH(A6),TSRCVAL(A6)
    274 *
    275 *               break;
    276 *
     274
     275|               break;
     276
    277277                bra     F00L114
    278 *
    279                 .page
    280 *
    281 *       case SM_FREQ:
    282 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    283 *
     278
     279                .page
     280
     281|       case SM_FREQ:
     282|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     283
    284284F00L119:        move.w  PCH(A6),D0
    285285                asr.w   #7,D0
    286                 and.w   #$00FF,D0
     286                and.w   #0x00FF,D0
    287287                move.w  D0,A0
    288288                add.l   A0,A0
    289289                add.l   #_ptoftab,A0
    290290                move.w  (A0),TSRCVAL(A6)
    291 *
    292 *               break;
    293 *
     291
     292|               break;
     293
    294294                bra     F00L114
    295 *
    296 *       case SM_KVEL:
    297 *               tsrcval = veltab[trg];
    298 *
     295
     296|       case SM_KVEL:
     297|               tsrcval = veltab[trg];
     298
    299299F00L120:        move.w  TRG(A6),A0
    300300                add.l   A0,A0
    301301                add.l   #_veltab,A0
    302302                move.w  (A0),TSRCVAL(A6)
    303 *
    304 *               break;
    305 *
     303
     304|               break;
     305
    306306                bra     F00L114
    307 *
    308 *       case SM_KPRS:
    309 *               tsrcval = prstab[trg];
    310 *
     307
     308|       case SM_KPRS:
     309|               tsrcval = prstab[trg];
     310
    311311F00L121:        move.w  TRG(A6),A0
    312312                add.l   A0,A0
    313313                add.l   #_prstab,A0
    314314                move.w  (A0),TSRCVAL(A6)
    315 *
    316 *               break;
    317 *
     315
     316|               break;
     317
    318318                bra     F00L114
    319 *
    320 *       default:
    321 *               tsrcval = vep->val;
    322 *
     319
     320|       default:
     321|               tsrcval = vep->val;
     322
    323323F00L122:        move.l  VEP(A6),A0
    324324                move.w  8(A0),TSRCVAL(A6)
    325 *
    326 *       }
    327 *
    328                 .page
    329 *
    330 *               srcval = addpch(tsrcval, 0);
    331 *
     325
     326|       }
     327
     328                .page
     329
     330|               srcval = addpch(tsrcval, 0);
     331
    332332F00L114:        move.w  TSRCVAL(A6),D0
    333333                ext.l   D0
    334334                asr.l   #5,D0
    335 *               sub.l   #500,D0
     335|               sub.l   #500,D0
    336336                asl.l   #LSPCH,D0
    337337                cmp.l   #PITCHMAX,D0
    338338                ble     F00L129A
    339 *
     339
    340340                move.l  #PITCHMAX,D0
    341 *
     341
    342342F00L129A:       move    D0,SRCVAL(A6)
    343 *
    344                 .page
    345 *
    346 *       if (pt->ipvsrc) {
    347 *
     343
     344                .page
     345
     346|       if (pt->ipvsrc) {
     347
    348348F00L124:        move.l  PT(A6),A0
    349349                tst.b   6(A0)
    350350                beq     F00L136
    351 *
    352 *               switch (pt->ipvsrc) {
    353 *
     351
     352|               switch (pt->ipvsrc) {
     353
    354354                move.l  PT(A6),A0
    355355                move.b  6(A0),D0
     
    358358                cmp     #9,D0
    359359                bhi     F00L144
    360 *
     360
    361361                asl     #2,D0
    362362                lea     F00L145,A0
    363363                move.l  0(A0,D0.W),A0
    364364                jmp     (A0)
    365 *
    366 *               case SM_RAND:
    367 *                       ltmp = xgetran(pt_>ipvmlt);
    368 *
     365
     366|               case SM_RAND:
     367|                       ltmp = xgetran(pt_>ipvmlt);
     368
    369369F00L139:        move.l  PT(A6),A0
    370370                move    4(A0),(sp)
     
    372372                ext.l   D0
    373373                move.l  D0,LTMP(A6)
    374 *
    375 *                       break;
    376 *
     374
     375|                       break;
     376
    377377                bra     F00L137
    378 *
    379 *               case SM_PTCH:
    380 *                       ltmp = pch;
    381 *
     378
     379|               case SM_PTCH:
     380|                       ltmp = pch;
     381
    382382F00L140:        move    PCH(A6),A0
    383383                move.l  A0,LTMP(A6)
    384 *
    385 *                       break;
    386 *
     384
     385|                       break;
     386
    387387                bra     F00L137
    388 *
    389                 .page
    390 *
    391 *               case SM_FREQ:
    392 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    393 *
     388
     389                .page
     390
     391|               case SM_FREQ:
     392|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     393
    394394F00L141:        move    PCH(A6),D0
    395395                asr     #7,D0
     
    401401                ext.l   D0
    402402                move.l  D0,LTMP(A6)
    403 *
    404 *                       break;
    405 *
     403
     404|                       break;
     405
    406406                bra     F00L137
    407 *
    408 *               case SM_KVEL:
    409 *                       ltmp = veltab[trg];
    410 *
     407
     408|               case SM_KVEL:
     409|                       ltmp = veltab[trg];
     410
    411411F00L142:        move    TRG(A6),A0
    412412                add.l   A0,A0
     
    415415                ext.l   D0
    416416                move.l  D0,LTMP(A6)
    417 *
    418 *                       break;
    419 *
     417
     418|                       break;
     419
    420420                bra     F00L137
    421 *
    422                 .page
    423 *
    424 *               case SM_KPRS:
    425 *                       ltmp = prstab[trg];
    426 *
     421
     422                .page
     423
     424|               case SM_KPRS:
     425|                       ltmp = prstab[trg];
     426
    427427F00L143:        move    TRG(A6),A0
    428428                add.l   A0,A0
     
    431431                ext.l   D0
    432432                move.l  D0,LTMP(A6)
    433 *
    434 *                       break;
    435 *
     433
     434|                       break;
     435
    436436                bra     F00L137
    437 *
    438                 .page
    439 *
    440 *               default:
    441 *                       ltmp = valents[group | pt->ipvsrc].val;
    442 *
     437
     438                .page
     439
     440|               default:
     441|                       ltmp = valents[group | pt->ipvsrc].val;
     442
    443443F00L144:        move.l  PT(A6),A0
    444444                clr.l   D0
     
    454454                move    8(A0,A1.l),D0
    455455                move.l  D0,LTMP(A6)
    456 *
    457 *               }
    458 *
    459 *
    460                 .page
    461 *
    462 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    463 *
     456
     457|               }
     458
     459
     460                .page
     461
     462|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     463
    464464F00L137:        move.l  PT(A6),A0
    465465                move.w  4(A0),D0
     
    469469                asr.l   D1,D0
    470470                move.l  D0,LTMP(A6)
    471 *
    472 *               ltmp += (long)pt->ipval;
    473 *
     471
     472|               ltmp += (long)pt->ipval;
     473
    474474                move.l  PT(A6),A0
    475475                move    2(A0),D0
    476476                ext.l   D0
    477477                add.l   D0,LTMP(A6)
    478 *
    479 *               if (ltmp GT (long)VALMAX)
    480 *                       ltmp = (long)VALMAX;
    481 *
     478
     479|               if (ltmp GT (long)VALMAX)
     480|                       ltmp = (long)VALMAX;
     481
    482482                cmp.l   #VALMAX,LTMP(A6)
    483483                ble     F00L146
    484 *
     484
    485485                move.l  #VALMAX,LTMP(A6)
    486486                bra     F00L147
    487 *
    488 *               else if (ltmp LT (long)VALMIN)
    489 *                       ltmp = (long)VALMIN;
    490 *
     487
     488|               else if (ltmp LT (long)VALMIN)
     489|                       ltmp = (long)VALMIN;
     490
    491491F00L146:        cmp.l   #VALMIN,LTMP(A6)
    492492                bge     F00L147
    493 *
     493
    494494                move.l  #VALMIN,LTMP(A6)
    495 *
    496 *               tfpval = (short)ltmp;
    497 *
     495
     496|               tfpval = (short)ltmp;
     497
    498498F00L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    499499                bra     F00L149
    500 *
    501 *       } else {
    502 *
    503 *               tfpval = pt->ipval;
    504 *
     500
     501|       } else {
     502
     503|               tfpval = pt->ipval;
     504
    505505F00L136:        move.l  PT(A6),A0
    506506                move    2(A0),TFPVAL(A6)
    507 *
    508 *       }
    509 *
    510                 .page
    511 *
    512 *       fpmant = (((long)pt->iptim & 0x0000FFF0L)
    513 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    514 *
     507
     508|       }
     509
     510                .page
     511
     512|       fpmant = (((long)pt->iptim & 0x0000FFF0L)
     513|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     514
    515515F00L149:        move.l  PT(A6),A0
    516516                move.w  (A0),D0
    517517                move.w  D0,D2
    518                 andi.w  #$FFF0,D0
     518                andi.w  #0xFFF0,D0
    519519                move.w  _timemlt,D1
    520520                muls    D1,D0
     
    522522                asr.l   D1,D0
    523523                move    D0,R_FPMANT
    524 *
    525 *       fpexp = expbit[pt->iptim & 0x000F];
    526 *
    527                 and     #$000F,D2
     524
     525|       fpexp = expbit[pt->iptim & 0x000F];
     526
     527                and     #0x000F,D2
    528528                move    D2,A0
    529529                add.l   A0,A0
    530530                add.l   #_expbit,A0
    531531                move    (A0),R_FPEXP
    532 *
    533                 .page
    534 *
    535 *               octype = ip->idhos1c & OC_MOD;
    536 *
     532
     533                .page
     534
     535|               octype = ip->idhos1c & OC_MOD;
     536
    537537F00L152:        move.l  IP(A6),A0
    538538                move.b  74(A0),D0
    539539                and     #3,D0
    540 *
    541 *               if ((octype EQ OC_FRQ) OR (octype EQ OC_PCH))
    542 *
     540
     541|               if ((octype EQ OC_FRQ) OR (octype EQ OC_PCH))
     542
    543543                cmp     #2,D0
    544544                beq     F00L1001
    545 *
     545
    546546                cmp     #3,D0
    547547                bne     F00L153
    548 *
    549 *                       fp->idfpch = ip->idhos1v;
    550 *
     548
     549|                       fp->idfpch = ip->idhos1v;
     550
    551551F00L1001:       move.l  IP(A6),A0
    552552                move    78(A0),(A_FP)
    553553                bra     F00L154
    554 *
    555 *               else
    556 *                       fp->idfpch = pch + ip->idhos1v;
    557 *
     554
     555|               else
     556|                       fp->idfpch = pch + ip->idhos1v;
     557
    558558F00L153:        move.w  PCH(A6),D0
    559559                ext.l   D0
     
    561561                ext.l   D1
    562562                add.l   d1,d0
    563 *
    564 *               if (fp->idfpch > PITCHMAX)
    565 *                       fp->idfpch = PITCHMAX;
    566 *
     563
     564|               if (fp->idfpch > PITCHMAX)
     565|                       fp->idfpch = PITCHMAX;
     566
    567567                cmp.l   #PITCHMAX,d0
    568568                ble     F00153A
    569 *
     569
    570570                move.l  #PITCHMAX,d0
    571 *
     571
    572572F00153A:        move.w  d0,(A_FP)
    573 *
    574 *               fpval = addpch(tfpval, fp->idfpch);
    575 *
     573
     574|               fpval = addpch(tfpval, fp->idfpch);
     575
    576576F00L154:        move.w  TFPVAL(A6),D1
    577577                ext.l   D1
     
    584584                cmp.l   #PITCHMAX,D0
    585585                ble     F00L154A
    586 *
     586
    587587                move.l  #PITCHMAX,D0
    588 *
     588
    589589F00L154A:       move    D0,R_FPVAL
    590 *
    591                 .page
    592 *
     590
     591                .page
     592
    593593                move.b  5(A_FP),D0
    594594                ext.w   D0
    595595                sub.w   #1,D0
    596596                movea.l PT(A6),A0
    597 *
    598 *       oldi = setipl(FPU_DI);
    599 *
     597
     598|       oldi = setipl(FPU_DI);
     599
    600600                move    sr,OLDI(A6)
    601601                move    #FPU_DI,sr
    602 *
     602
    603603F00L168:        clr.b   10(A0)
    604604                add.l   #12,A0
    605605                dbra    D0,F00L168
    606 *
    607                 .page
    608 *
    609 *       fp->idftmd ^= I_NVBITS;
    610 *
     606
     607                .page
     608
     609|       fp->idftmd ^= I_NVBITS;
     610
    611611F00L165:        eor.b   #24,7(A_FP)
    612 *
    613 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    614 *
     612
     613|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     614
    615615                move.b  7(A_FP),R_FPCTL
    616616                and     #28,R_FPCTL
    617617                or      #3,R_FPCTL
    618 *
    619 *       fp->idfcpt = fp->idfpt1;
    620 *
     618
     619|       fp->idfcpt = fp->idfpt1;
     620
    621621                move.b  6(A_FP),8(A_FP)
    622 *
    623 *       fp->idftmd |= I_ACTIVE;
    624 *
     622
     623|       fp->idftmd |= I_ACTIVE;
     624
    625625                or.b    #2,7(A_FP)
    626 *
    627 *       fp->idftrf = trg;
    628 *
     626
     627|       fp->idftrf = trg;
     628
    629629                move    TRG(A6),10(A_FP)
    630 *
    631 *       *(fpu + (long)FPU_TCV1) = srcval;
    632 *
    633                 move    SRCVAL(A6),$8(A_FPU)
    634 *
    635 *       ++octype;
    636 *
     630
     631|       |(fpu + (long)FPU_TCV1) = srcval;
     632
     633                move    SRCVAL(A6),0x8(A_FPU)
     634
     635|       ++octype;
     636
    637637                add     #1,OCTYPE(A6)
    638 *
    639 *       *(fpu + (long)FPU_TSF1) = mltval;
    640 *
    641                 move    MLTVAL(A6),$A(A_FPU)
    642 *
    643 *       ++octype;
    644 *
     638
     639|       |(fpu + (long)FPU_TSF1) = mltval;
     640
     641                move    MLTVAL(A6),0xA(A_FPU)
     642
     643|       ++octype;
     644
    645645                add     #1,OCTYPE(A6)
    646 *
    647 *       *(fpu + (long)FPU_TMNT) = fpmant;
    648 *
    649                 move    R_FPMANT,$14(A_FPU)
    650 *
    651 *       ++octype;
    652 *
     646
     647|       |(fpu + (long)FPU_TMNT) = fpmant;
     648
     649                move    R_FPMANT,0x14(A_FPU)
     650
     651|       ++octype;
     652
    653653                add     #1,OCTYPE(A6)
    654 *
    655 *       *(fpu + (long)FPU_TEXP) = fpexp;
    656 *
    657                 move    R_FPEXP,$16(A_FPU)
    658 *
    659 *       ++octype;
    660 *
     654
     655|       |(fpu + (long)FPU_TEXP) = fpexp;
     656
     657                move    R_FPEXP,0x16(A_FPU)
     658
     659|       ++octype;
     660
    661661                add     #1,OCTYPE(A6)
    662 *
    663                 .page
    664 *
    665 *       if (fp->idftmd & I_VNSUBN)
    666 *
     662
     663                .page
     664
     665|       if (fp->idftmd & I_VNSUBN)
     666
    667667                btst    #3,7(A_FP)
    668668                beq     F00L169
    669 *
    670 *               *(fpu + (long)FPU_TNV1) = fpval;
    671 *
    672                 move    R_FPVAL,$1C(A_FPU)
     669
     670|               |(fpu + (long)FPU_TNV1) = fpval;
     671
     672                move    R_FPVAL,0x1C(A_FPU)
    673673                bra     F00L170
    674 *
    675 *       else
    676 *               *(fpu + (long)FPU_TNV0) = fpval;
    677 *
     674
     675|       else
     676|               |(fpu + (long)FPU_TNV0) = fpval;
     677
    678678F00L169:        move    R_FPVAL,2(A_FPU)
    679 *
    680 *       ++octype;
    681 *
     679
     680|       ++octype;
     681
    682682F00L170:        add     #1,OCTYPE(A6)
    683 *
    684 *       *(fpu + (long)FPU_TCTL) = fpctl;
    685 *
     683
     684|       |(fpu + (long)FPU_TCTL) = fpctl;
     685
    686686                move    R_FPCTL,(A_FPU)
    687 *
    688 *       setipl(oldi);
    689 *
     687
     688|       setipl(oldi);
     689
    690690                move    OLDI(A6),sr
    691 *    }
    692 *
    693                 .page
    694 * ------------------------------------------------------------------------------
    695 * Start function 1 -- Frq 2
    696 * ------------------------------------------------------------------------------
    697 *    if (legato) {
    698 *
    699 *       legato = 0;
    700 *       return;
    701 *    }
     691|    }
     692
     693                .page
     694| ------------------------------------------------------------------------------
     695| Start function 1 -- Frq 2
     696| ------------------------------------------------------------------------------
     697|    if (legato) {
     698
     699|       legato = 0;
     700|       return;
     701|    }
    702702FN01:           tst.w   _legato
    703703                beq     FN01AA
    704 *
     704
    705705                clr.w   _legato
    706706                bra     FNEXIT
    707 *
    708 *    if (ip->idhfnc[1].idftmd & I_TM_KEY) {
    709 *
     707
     708|    if (ip->idhfnc[1].idftmd & I_TM_KEY) {
     709
    710710FN01AA:         move.l  IP(A6),A0
    711711                move.b  105(A0),D0
     
    714714                btst    #0,D0
    715715                bne     FN01A
    716 *
     716
    717717                jmp     FN02
    718 *
    719 *       vp = (vce << 4) + 3;
    720 *
     718
     719|       vp = (vce << 4) + 3;
     720
    721721FN01A:          move    VCE(A6),D0
    722722                asl     #4,D0
    723723                add.w   #3,D0
    724724                move    D0,VP(A6)
    725 *
    726 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    727 *
     725
     726|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     727
    728728                asl     #5,D0
    729729                ext.l   D0
    730730                move.l  D0,A_FPU
    731                 add.l   #_io_fpu+$4000,A_FPU
    732 *
    733 *       fp = &ip->idhfnc[1];
    734 *
     731                add.l   #_io_fpu+0x4000,A_FPU
     732
     733|       fp = &ip->idhfnc[1];
     734
    735735                move.l  #12,A_FP
    736736                add.l   IP(A6),A_FP
    737737                add.l   #86,A_FP
    738 *
    739 *       pt = &ip->idhpnt[fp->idfpt1];
    740 *
     738
     739|       pt = &ip->idhpnt[fp->idfpt1];
     740
    741741                clr.l   D0
    742742                move.b  6(A_FP),D0
     
    748748                add.l   #242,D0
    749749                move.l  D0,PT(A6)
    750 *
    751                 .page
    752 *
    753 *       srcnum = group | fp->idfsrc;
    754 *
     750
     751                .page
     752
     753|       srcnum = group | fp->idfsrc;
     754
    755755                move.w  GROUP(A6),D0
    756756                ext.l   D0
     
    759759                or      D1,D0
    760760                move    D0,SRCNUM(A6)
    761 *
    762 *       vep = &valents[srcnum];
    763 *
     761
     762|       vep = &valents[srcnum];
     763
    764764                add.l   D0,D0
    765765                move.l  D0,D1
     
    768768                add.l   #_valents,D0
    769769                move.l  D0,VEP(A6)
    770 *
    771 *       smp = vpsms[vp];
    772 *
     770
     771|       smp = vpsms[vp];
     772
    773773                move    VP(A6),A0
    774774                add.l   A0,A0
     
    776776                add.l   #_vpsms,A0
    777777                move.l  (A0),A_SMP
    778 *
    779 *       if (srcnum NE smp->sm) {
    780 *
     778
     779|       if (srcnum NE smp->sm) {
     780
    781781                clr     D0
    782782                move    10(A_SMP),D0
    783783                cmp     SRCNUM(A6),D0
    784784                beq     F01L113
    785 *
    786 *               (smp->prv)->nxt = smp->nxt;
    787 *
     785
     786|               (smp->prv)->nxt = smp->nxt;
     787
    788788                move.l  4(A_SMP),A0
    789789                move.l  (A_SMP),(A0)
    790 *
    791 *               (smp->nxt)->prv = smp->prv;
    792 *
     790
     791|               (smp->nxt)->prv = smp->prv;
     792
    793793                move.l  (A_SMP),A0
    794794                move.l  4(A_SMP),4(A0)
    795 *
    796 *               smp->prv = (struct sment *)vep;
    797 *
     795
     796|               smp->prv = (struct sment |)vep;
     797
    798798                move.l  VEP(A6),4(A_SMP)
    799 *
    800 *               smp->nxt = vep->nxt;
    801 *
     799
     800|               smp->nxt = vep->nxt;
     801
    802802                move.l  VEP(A6),A0
    803803                move.l  (A0),(A_SMP)
    804 *
    805 *               (vep->nxt)->prv = smp;
    806 *
     804
     805|               (vep->nxt)->prv = smp;
     806
    807807                move.l  VEP(A6),A0
    808808                move.l  (A0),A0
    809809                move.l  A_SMP,4(A0)
    810 *
    811 *               vep->nxt = smp;
    812 *
     810
     811|               vep->nxt = smp;
     812
    813813                move.l  VEP(A6),A0
    814814                move.l  A_SMP,(A0)
    815 *
    816 *               smp->sm = srcnum;
    817 *
     815
     816|               smp->sm = srcnum;
     817
    818818                move    SRCNUM(A6),10(A_SMP)
    819 *
    820 *       }
    821 *
    822 *       mltval = fp->idfmlt;
    823 *
     819
     820|       }
     821
     822|       mltval = fp->idfmlt;
     823
    824824F01L113:        move    2(A_FP),MLTVAL(A6)
    825 *
    826                 .page
    827 *
    828 *       switch (fp->idfsrc) {
    829 *
     825
     826                .page
     827
     828|       switch (fp->idfsrc) {
     829
    830830                move.b  4(A_FP),D0
    831831                ext.w   d0
    832832                cmp     #10,D0
    833833                bhi     F01L122
    834 *
     834
    835835                asl     #2,D0
    836836                lea     F01L123,A0
    837837                movea.l 0(A0,D0.W),A0
    838838                jmp     (A0)
    839 *
    840 *       case SM_NONE:
    841 *               mltval = 0;
    842 *
     839
     840|       case SM_NONE:
     841|               mltval = 0;
     842
    843843F01L116:        clr     MLTVAL(A6)
    844 *
    845 *               tsrcval = 0;
    846 *
     844
     845|               tsrcval = 0;
     846
    847847                clr     TSRCVAL(A6)
    848 *
    849 *               break;
    850 *
     848
     849|               break;
     850
    851851                bra     F01L114
    852 *
    853 *       case SM_RAND:
    854 *               tsrcval = xgetran(mltval);
    855 *
     852
     853|       case SM_RAND:
     854|               tsrcval = xgetran(mltval);
     855
    856856F01L117:        move    MLTVAL(A6),(sp)
    857857                jsr     _xgetran
    858858                move    D0,TSRCVAL(A6)
    859 *
    860 *               break;
    861 *
     859
     860|               break;
     861
    862862                bra     F01L114
    863 *
    864 *       case SM_PTCH:
    865 *               tsrcval = pch;
    866 *
     863
     864|       case SM_PTCH:
     865|               tsrcval = pch;
     866
    867867F01L118:        move    PCH(A6),TSRCVAL(A6)
    868 *
    869 *               break;
    870 *
     868
     869|               break;
     870
    871871                bra     F01L114
    872 *
    873                 .page
    874 *
    875 *       case SM_FREQ:
    876 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    877 *
     872
     873                .page
     874
     875|       case SM_FREQ:
     876|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     877
    878878F01L119:        move    PCH(A6),D0
    879879                asr     #7,D0
     
    883883                add.l   #_ptoftab,A0
    884884                move    (A0),TSRCVAL(A6)
    885 *
    886 *               break;
    887 *
     885
     886|               break;
     887
    888888                bra     F01L114
    889 *
    890 *       case SM_KVEL:
    891 *               tsrcval = veltab[trg];
    892 *
     889
     890|       case SM_KVEL:
     891|               tsrcval = veltab[trg];
     892
    893893F01L120:        move    TRG(A6),A0
    894894                add.l   A0,A0
    895895                add.l   #_veltab,A0
    896896                move    (A0),TSRCVAL(A6)
    897 *
    898 *               break;
    899 *
     897
     898|               break;
     899
    900900                bra     F01L114
    901 *
    902 *       case SM_KPRS:
    903 *               tsrcval = prstab[trg];
    904 *
     901
     902|       case SM_KPRS:
     903|               tsrcval = prstab[trg];
     904
    905905F01L121:        move    TRG(A6),A0
    906906                add.l   A0,A0
    907907                add.l   #_prstab,A0
    908908                move    (A0),TSRCVAL(A6)
    909 *
    910 *               break;
    911 *
     909
     910|               break;
     911
    912912                bra     F01L114
    913 *
    914 *       default:
    915 *               tsrcval = vep->val;
    916 *
     913
     914|       default:
     915|               tsrcval = vep->val;
     916
    917917F01L122:        move.l  VEP(A6),A0
    918918                move    8(A0),TSRCVAL(A6)
    919 *
    920 *       }
    921 *
    922                 .page
    923 *
    924 *               srcval = addpch(tsrcval, 0);
    925 *
     919
     920|       }
     921
     922                .page
     923
     924|               srcval = addpch(tsrcval, 0);
     925
    926926F01L114:        move.w  TSRCVAL(A6),D0
    927927                ext.l   D0
    928928                asr.l   #5,D0
    929 *               sub.l   #500,D0
     929|               sub.l   #500,D0
    930930                asl.l   #LSPCH,D0
    931931                cmp.l   #PITCHMAX,D0
    932932                ble     F01L129A
    933 *
     933
    934934                move.l  #PITCHMAX,D0
    935 *
     935
    936936F01L129A:       move    D0,SRCVAL(A6)
    937 *
    938                 .page
    939 *
    940 *       if (pt->ipvsrc) {
    941 *
     937
     938                .page
     939
     940|       if (pt->ipvsrc) {
     941
    942942F01L124:        move.l  PT(A6),A0
    943943                tst.b   6(A0)
    944944                beq     F01L136
    945 *
    946 *               switch (pt->ipvsrc) {
    947 *
     945
     946|               switch (pt->ipvsrc) {
     947
    948948                move.l  PT(A6),A0
    949949                move.b  6(A0),D0
     
    952952                cmp     #9,D0
    953953                bhi     F01L144
    954 *
     954
    955955                asl     #2,D0
    956956                lea     F01L145,A0
    957957                move.l  0(A0,D0.W),A0
    958958                jmp     (A0)
    959 *
    960 *               case SM_RAND:
    961 *                       ltmp = xgetran(pt_>ipvmlt);
    962 *
     959
     960|               case SM_RAND:
     961|                       ltmp = xgetran(pt_>ipvmlt);
     962
    963963F01L139:        move.l  PT(A6),A0
    964964                move    4(A0),(sp)
     
    966966                ext.l   D0
    967967                move.l  D0,LTMP(A6)
    968 *
    969 *                       break;
    970 *
     968
     969|                       break;
     970
    971971                bra     F01L137
    972 *
    973 *               case SM_PTCH:
    974 *                       ltmp = pch;
    975 *
     972
     973|               case SM_PTCH:
     974|                       ltmp = pch;
     975
    976976F01L140:        move    PCH(A6),A0
    977977                move.l  A0,LTMP(A6)
    978 *
    979 *                       break;
    980 *
     978
     979|                       break;
     980
    981981                bra     F01L137
    982 *
    983                 .page
    984 *
    985 *               case SM_FREQ:
    986 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    987 *
     982
     983                .page
     984
     985|               case SM_FREQ:
     986|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     987
    988988F01L141:        move    PCH(A6),D0
    989989                asr     #7,D0
     
    995995                ext.l   D0
    996996                move.l  D0,LTMP(A6)
    997 *
    998 *                       break;
    999 *
     997
     998|                       break;
     999
    10001000                bra     F01L137
    1001 *
    1002 *               case SM_KVEL:
    1003 *                       ltmp = veltab[trg];
    1004 *
     1001
     1002|               case SM_KVEL:
     1003|                       ltmp = veltab[trg];
     1004
    10051005F01L142:        move    TRG(A6),A0
    10061006                add.l   A0,A0
     
    10091009                ext.l   D0
    10101010                move.l  D0,LTMP(A6)
    1011 *
    1012 *                       break;
    1013 *
     1011
     1012|                       break;
     1013
    10141014                bra     F01L137
    1015 *
    1016                 .page
    1017 *
    1018 *               case SM_KPRS:
    1019 *                       ltmp = prstab[trg];
    1020 *
     1015
     1016                .page
     1017
     1018|               case SM_KPRS:
     1019|                       ltmp = prstab[trg];
     1020
    10211021F01L143:        move    TRG(A6),A0
    10221022                add.l   A0,A0
     
    10251025                ext.l   D0
    10261026                move.l  D0,LTMP(A6)
    1027 *
    1028 *                       break;
    1029 *
     1027
     1028|                       break;
     1029
    10301030                bra     F01L137
    1031 *
    1032                 .page
    1033 *
    1034 *               default:
    1035 *                       ltmp = valents[group | pt->ipvsrc].val;
    1036 *
     1031
     1032                .page
     1033
     1034|               default:
     1035|                       ltmp = valents[group | pt->ipvsrc].val;
     1036
    10371037F01L144:        move.l  PT(A6),A0
    10381038                clr.l   D0
     
    10481048                move    8(A0,A1.l),D0
    10491049                move.l  D0,LTMP(A6)
    1050 *
    1051 *               }
    1052 *
    1053 *
    1054                 .page
    1055 *
    1056 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    1057 *
     1050
     1051|               }
     1052
     1053
     1054                .page
     1055
     1056|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     1057
    10581058F01L137:        move.l  PT(A6),A0
    10591059                move.w  4(A0),D0
     
    10631063                asr.l   D1,D0
    10641064                move.l  D0,LTMP(A6)
    1065 *
    1066 *               ltmp += (long)pt->ipval;
    1067 *
     1065
     1066|               ltmp += (long)pt->ipval;
     1067
    10681068                move.l  PT(A6),A0
    10691069                move    2(A0),D0
    10701070                ext.l   D0
    10711071                add.l   D0,LTMP(A6)
    1072 *
    1073 *               if (ltmp GT (long)VALMAX)
    1074 *                       ltmp = (long)VALMAX;
    1075 *
     1072
     1073|               if (ltmp GT (long)VALMAX)
     1074|                       ltmp = (long)VALMAX;
     1075
    10761076                cmp.l   #VALMAX,LTMP(A6)
    10771077                ble     F01L146
    1078 *
     1078
    10791079                move.l  #VALMAX,LTMP(A6)
    10801080                bra     F01L147
    1081 *
    1082 *               else if (ltmp LT (long)VALMIN)
    1083 *                       ltmp = (long)VALMIN;
    1084 *
     1081
     1082|               else if (ltmp LT (long)VALMIN)
     1083|                       ltmp = (long)VALMIN;
     1084
    10851085F01L146:        cmp.l   #VALMIN,LTMP(A6)
    10861086                bge     F01L147
    1087 *
     1087
    10881088                move.l  #VALMIN,LTMP(A6)
    1089 *
    1090 *               tfpval = (short)ltmp;
    1091 *
     1089
     1090|               tfpval = (short)ltmp;
     1091
    10921092F01L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    10931093                bra     F01L149
    1094 *
    1095 *       } else {
    1096 *
    1097 *               tfpval = pt->ipval;
    1098 *
     1094
     1095|       } else {
     1096
     1097|               tfpval = pt->ipval;
     1098
    10991099F01L136:        move.l  PT(A6),A0
    11001100                move    2(A0),TFPVAL(A6)
    1101 *
    1102 *       }
    1103 *
    1104                 .page
    1105 *
    1106 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    1107 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    1108 *
     1101
     1102|       }
     1103
     1104                .page
     1105
     1106|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     1107|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     1108
    11091109F01L149:        move.l  PT(A6),A0
    11101110                move.w  (A0),D0
    11111111                move.w  D0,D2
    1112                 andi.w  #$FFF0,D0
     1112                andi.w  #0xFFF0,D0
    11131113                move.w  _timemlt,D1
    11141114                muls    D1,D0
     
    11161116                asr.l   D1,D0
    11171117                move    D0,R_FPMANT
    1118 *
    1119 *       fpexp = expbit[pt->iptim & 0x000F];
    1120 *
    1121                 and     #$000F,D2
     1118
     1119|       fpexp = expbit[pt->iptim & 0x000F];
     1120
     1121                and     #0x000F,D2
    11221122                move    D2,A0
    11231123                add.l   A0,A0
    11241124                add.l   #_expbit,A0
    11251125                move    (A0),R_FPEXP
    1126 *
    1127                 .page
    1128 *
    1129 *               fp->idfpch = ip->idhos2v;
    1130 *
     1126
     1127                .page
     1128
     1129|               fp->idfpch = ip->idhos2v;
     1130
    11311131F01L155:        move.l  IP(A6),A0
    11321132                move.w  80(A0),(A_FP)
    1133 *
    1134 *               fpval = addpch(tfpval, fp_>idfpch);
    1135 *
     1133
     1134|               fpval = addpch(tfpval, fp_>idfpch);
     1135
    11361136                move.w  TFPVAL(A6),D1
    11371137                ext.l   D1
     
    11441144                cmp.l   #PITCHMAX,D0
    11451145                ble     F01L155A
    1146 *
     1146
    11471147                move.l  #PITCHMAX,D0
    1148 *
     1148
    11491149F01L155A:       move    D0,R_FPVAL
    1150 *
    1151                 .page
    1152 *
     1150
     1151                .page
     1152
    11531153                move.b  5(A_FP),D0
    11541154                ext.w   D0
    11551155                sub.w   #1,D0
    11561156                movea.l PT(A6),A0
    1157 *
    1158 *       oldi = setipl(FPU_DI);
    1159 *
     1157
     1158|       oldi = setipl(FPU_DI);
     1159
    11601160                move    sr,OLDI(A6)
    11611161                move    #FPU_DI,sr
    1162 *
     1162
    11631163F01L168:        clr.b   10(A0)
    11641164                add.l   #12,a0
    11651165                dbra    D0,F01L168
    1166 *
    1167                 .page
    1168 *
    1169 *       fp->idftmd ^= I_NVBITS;
    1170 *
     1166
     1167                .page
     1168
     1169|       fp->idftmd ^= I_NVBITS;
     1170
    11711171F01L165:        eor.b   #24,7(A_FP)
    1172 *
    1173 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    1174 *
     1172
     1173|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     1174
    11751175                move.b  7(A_FP),R_FPCTL
    11761176                and     #28,R_FPCTL
    11771177                or      #3,R_FPCTL
    1178 *
    1179 *       fp->idfcpt = fp->idfpt1;
    1180 *
     1178
     1179|       fp->idfcpt = fp->idfpt1;
     1180
    11811181                move.b  6(A_FP),8(A_FP)
    1182 *
    1183 *       fp->idftmd |= I_ACTIVE;
    1184 *
     1182
     1183|       fp->idftmd |= I_ACTIVE;
     1184
    11851185                or.b    #2,7(A_FP)
    1186 *
    1187 *       fp->idftrf = trg;
    1188 *
     1186
     1187|       fp->idftrf = trg;
     1188
    11891189                move    TRG(A6),10(A_FP)
    1190 *
    1191 *       *(fpu + (long)FPU_TCV1) = srcval;
    1192 *
    1193                 move    SRCVAL(A6),$8(A_FPU)
    1194 *
    1195 *       ++octype;
    1196 *
     1190
     1191|       |(fpu + (long)FPU_TCV1) = srcval;
     1192
     1193                move    SRCVAL(A6),0x8(A_FPU)
     1194
     1195|       ++octype;
     1196
    11971197                add     #1,OCTYPE(A6)
    1198 *
    1199 *       *(fpu + (long)FPU_TSF1) = mltval;
    1200 *
    1201                 move    MLTVAL(A6),$A(A_FPU)
    1202 *
    1203 *       ++octype;
    1204 *
     1198
     1199|       |(fpu + (long)FPU_TSF1) = mltval;
     1200
     1201                move    MLTVAL(A6),0xA(A_FPU)
     1202
     1203|       ++octype;
     1204
    12051205                add     #1,OCTYPE(A6)
    1206 *
    1207 *       *(fpu + (long)FPU_TMNT) = fpmant;
    1208 *
    1209                 move    R_FPMANT,$14(A_FPU)
    1210 *
    1211 *       ++octype;
    1212 *
     1206
     1207|       |(fpu + (long)FPU_TMNT) = fpmant;
     1208
     1209                move    R_FPMANT,0x14(A_FPU)
     1210
     1211|       ++octype;
     1212
    12131213                add     #1,OCTYPE(A6)
    1214 *
    1215 *       *(fpu + (long)FPU_TEXP) = fpexp;
    1216 *
    1217                 move    R_FPEXP,$16(A_FPU)
    1218 *
    1219 *       ++octype;
    1220 *
     1214
     1215|       |(fpu + (long)FPU_TEXP) = fpexp;
     1216
     1217                move    R_FPEXP,0x16(A_FPU)
     1218
     1219|       ++octype;
     1220
    12211221                add     #1,OCTYPE(A6)
    1222 *
    1223                 .page
    1224 *
    1225 *       if (fp->idftmd & I_VNSUBN)
    1226 *
     1222
     1223                .page
     1224
     1225|       if (fp->idftmd & I_VNSUBN)
     1226
    12271227                btst    #3,7(A_FP)
    12281228                beq     F01L169
    1229 *
    1230 *               *(fpu + (long)FPU_TNV1) = fpval;
    1231 *
    1232                 move    R_FPVAL,$1C(A_FPU)
     1229
     1230|               |(fpu + (long)FPU_TNV1) = fpval;
     1231
     1232                move    R_FPVAL,0x1C(A_FPU)
    12331233                bra     F01L170
    1234 *
    1235 *       else
    1236 *               *(fpu + (long)FPU_TNV0) = fpval;
    1237 *
     1234
     1235|       else
     1236|               |(fpu + (long)FPU_TNV0) = fpval;
     1237
    12381238F01L169:        move    R_FPVAL,2(A_FPU)
    1239 *
    1240 *       ++octype;
    1241 *
     1239
     1240|       ++octype;
     1241
    12421242F01L170:        add     #1,OCTYPE(A6)
    1243 *
    1244 *       *(fpu + (long)FPU_TCTL) = fpctl;
    1245 *
     1243
     1244|       |(fpu + (long)FPU_TCTL) = fpctl;
     1245
    12461246                move    R_FPCTL,(A_FPU)
    1247 *
    1248 *       setipl(oldi);
    1249 *
     1247
     1248|       setipl(oldi);
     1249
    12501250                move    OLDI(A6),sr
    1251 *
    1252                 .page
    1253 * ------------------------------------------------------------------------------
    1254 * Start function 2 -- Frq 3
    1255 * ------------------------------------------------------------------------------
    1256 *
    1257 *    if (ip->idhfnc[2].idftmd & I_TM_KEY) {
    1258 *
     1251
     1252                .page
     1253| ------------------------------------------------------------------------------
     1254| Start function 2 -- Frq 3
     1255| ------------------------------------------------------------------------------
     1256
     1257|    if (ip->idhfnc[2].idftmd & I_TM_KEY) {
     1258
    12591259FN02:           move.l  IP(A6),A0
    12601260                move.b  117(A0),D0
     
    12631263                btst    #0,D0
    12641264                bne     FN02A
    1265 *
     1265
    12661266                jmp     FN03
    1267 *
    1268 *       vp = (vce << 4) + 5;
    1269 *
     1267
     1268|       vp = (vce << 4) + 5;
     1269
    12701270FN02A:          move    VCE(A6),D0
    12711271                asl     #4,D0
    12721272                add.w   #5,D0
    12731273                move    D0,VP(A6)
    1274 *
    1275 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    1276 *
     1274
     1275|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     1276
    12771277                asl     #5,D0
    12781278                ext.l   D0
    12791279                move.l  D0,A_FPU
    1280                 add.l   #_io_fpu+$4000,A_FPU
    1281 *
    1282 *       fp = &ip->idhfnc[2];
    1283 *
     1280                add.l   #_io_fpu+0x4000,A_FPU
     1281
     1282|       fp = &ip->idhfnc[2];
     1283
    12841284                move.l  #24,A_FP
    12851285                add.l   IP(A6),A_FP
    12861286                add.l   #86,A_FP
    1287 *
    1288 *       pt = &ip->idhpnt[fp->idfpt1];
    1289 *
     1287
     1288|       pt = &ip->idhpnt[fp->idfpt1];
     1289
    12901290                clr.l   D0
    12911291                move.b  6(A_FP),D0
     
    12971297                add.l   #242,D0
    12981298                move.l  D0,PT(A6)
    1299 *
    1300                 .page
    1301 *
    1302 *       srcnum = group | fp->idfsrc;
    1303 *
     1299
     1300                .page
     1301
     1302|       srcnum = group | fp->idfsrc;
     1303
    13041304                move.w  GROUP(A6),D0
    13051305                ext.l   D0
     
    13081308                or      D1,D0
    13091309                move    D0,SRCNUM(A6)
    1310 *
    1311 *       vep = &valents[srcnum];
    1312 *
     1310
     1311|       vep = &valents[srcnum];
     1312
    13131313                add.l   D0,D0
    13141314                move.l  D0,D1
     
    13171317                add.l   #_valents,D0
    13181318                move.l  D0,VEP(A6)
    1319 *
    1320 *       smp = vpsms[vp];
    1321 *
     1319
     1320|       smp = vpsms[vp];
     1321
    13221322                move    VP(A6),A0
    13231323                add.l   A0,A0
     
    13251325                add.l   #_vpsms,A0
    13261326                move.l  (A0),A_SMP
    1327 *
    1328 *       if (srcnum NE smp->sm) {
    1329 *
     1327
     1328|       if (srcnum NE smp->sm) {
     1329
    13301330                clr     D0
    13311331                move    10(A_SMP),D0
    13321332                cmp     SRCNUM(A6),D0
    13331333                beq     F02L113
    1334 *
    1335 *               (smp->prv)->nxt = smp->nxt;
    1336 *
     1334
     1335|               (smp->prv)->nxt = smp->nxt;
     1336
    13371337                move.l  4(A_SMP),A0
    13381338                move.l  (A_SMP),(A0)
    1339 *
    1340 *               (smp->nxt)->prv = smp->prv;
    1341 *
     1339
     1340|               (smp->nxt)->prv = smp->prv;
     1341
    13421342                move.l  (A_SMP),A0
    13431343                move.l  4(A_SMP),4(A0)
    1344 *
    1345 *               smp->prv = (struct sment *)vep;
    1346 *
     1344
     1345|               smp->prv = (struct sment |)vep;
     1346
    13471347                move.l  VEP(A6),4(A_SMP)
    1348 *
    1349 *               smp->nxt = vep->nxt;
    1350 *
     1348
     1349|               smp->nxt = vep->nxt;
     1350
    13511351                move.l  VEP(A6),A0
    13521352                move.l  (A0),(A_SMP)
    1353 *
    1354 *               (vep->nxt)->prv = smp;
    1355 *
     1353
     1354|               (vep->nxt)->prv = smp;
     1355
    13561356                move.l  VEP(A6),A0
    13571357                move.l  (A0),A0
    13581358                move.l  A_SMP,4(A0)
    1359 *
    1360 *               vep->nxt = smp;
    1361 *
     1359
     1360|               vep->nxt = smp;
     1361
    13621362                move.l  VEP(A6),A0
    13631363                move.l  A_SMP,(A0)
    1364 *
    1365 *               smp->sm = srcnum;
    1366 *
     1364
     1365|               smp->sm = srcnum;
     1366
    13671367                move    SRCNUM(A6),10(A_SMP)
    1368 *
    1369 *       }
    1370 *
    1371 *       mltval = fp->idfmlt;
    1372 *
     1368
     1369|       }
     1370
     1371|       mltval = fp->idfmlt;
     1372
    13731373F02L113:        move    2(A_FP),MLTVAL(A6)
    1374 *
    1375                 .page
    1376 *
    1377 *       switch (fp->idfsrc) {
    1378 *
     1374
     1375                .page
     1376
     1377|       switch (fp->idfsrc) {
     1378
    13791379                move.b  4(A_FP),D0
    13801380                ext.w   d0
    13811381                cmp     #10,D0
    13821382                bhi     F02L122
    1383 *
     1383
    13841384                asl     #2,D0
    13851385                lea     F02L123,A0
    13861386                movea.l 0(A0,D0.W),A0
    13871387                jmp     (A0)
    1388 *
    1389 *       case SM_NONE:
    1390 *               mltval = 0;
    1391 *
     1388
     1389|       case SM_NONE:
     1390|               mltval = 0;
     1391
    13921392F02L116:        clr     MLTVAL(A6)
    1393 *
    1394 *               tsrcval = 0;
    1395 *
     1393
     1394|               tsrcval = 0;
     1395
    13961396                clr     TSRCVAL(A6)
    1397 *
    1398 *               break;
    1399 *
     1397
     1398|               break;
     1399
    14001400                bra     F02L114
    1401 *
    1402 *       case SM_RAND:
    1403 *               tsrcval = xgetran(mltval);
    1404 *
     1401
     1402|       case SM_RAND:
     1403|               tsrcval = xgetran(mltval);
     1404
    14051405F02L117:        move    MLTVAL(A6),(sp)
    14061406                jsr     _xgetran
    14071407                move    D0,TSRCVAL(A6)
    1408 *
    1409 *               break;
    1410 *
     1408
     1409|               break;
     1410
    14111411                bra     F02L114
    1412 *
    1413 *       case SM_PTCH:
    1414 *               tsrcval = pch;
    1415 *
     1412
     1413|       case SM_PTCH:
     1414|               tsrcval = pch;
     1415
    14161416F02L118:        move    PCH(A6),TSRCVAL(A6)
    1417 *
    1418 *               break;
    1419 *
     1417
     1418|               break;
     1419
    14201420                bra     F02L114
    1421 *
    1422                 .page
    1423 *
    1424 *       case SM_FREQ:
    1425 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    1426 *
     1421
     1422                .page
     1423
     1424|       case SM_FREQ:
     1425|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     1426
    14271427F02L119:        move    PCH(A6),D0
    14281428                asr     #7,D0
     
    14321432                add.l   #_ptoftab,A0
    14331433                move    (A0),TSRCVAL(A6)
    1434 *
    1435 *               break;
    1436 *
     1434
     1435|               break;
     1436
    14371437                bra     F02L114
    1438 *
    1439 *       case SM_KVEL:
    1440 *               tsrcval = veltab[trg];
    1441 *
     1438
     1439|       case SM_KVEL:
     1440|               tsrcval = veltab[trg];
     1441
    14421442F02L120:        move    TRG(A6),A0
    14431443                add.l   A0,A0
    14441444                add.l   #_veltab,A0
    14451445                move    (A0),TSRCVAL(A6)
    1446 *
    1447 *               break;
    1448 *
     1446
     1447|               break;
     1448
    14491449                bra     F02L114
    1450 *
    1451 *       case SM_KPRS:
    1452 *               tsrcval = prstab[trg];
    1453 *
     1450
     1451|       case SM_KPRS:
     1452|               tsrcval = prstab[trg];
     1453
    14541454F02L121:        move    TRG(A6),A0
    14551455                add.l   A0,A0
    14561456                add.l   #_prstab,A0
    14571457                move    (A0),TSRCVAL(A6)
    1458 *
    1459 *               break;
    1460 *
     1458
     1459|               break;
     1460
    14611461                bra     F02L114
    1462 *
    1463 *       default:
    1464 *               tsrcval = vep->val;
    1465 *
     1462
     1463|       default:
     1464|               tsrcval = vep->val;
     1465
    14661466F02L122:        move.l  VEP(A6),A0
    14671467                move    8(A0),TSRCVAL(A6)
    1468 *
    1469 *       }
    1470 *
    1471                 .page
    1472 *
    1473 *               srcval = addpch(tsrcval, 0);
    1474 *
     1468
     1469|       }
     1470
     1471                .page
     1472
     1473|               srcval = addpch(tsrcval, 0);
     1474
    14751475F02L114:        move.w  TSRCVAL(A6),D0
    14761476                ext.l   D0
    14771477                asr.l   #5,D0
    1478 *               sub.l   #500,D0
     1478|               sub.l   #500,D0
    14791479                asl.l   #LSPCH,D0
    14801480                cmp.l   #PITCHMAX,D0
    14811481                ble     F02L129A
    1482 *
     1482
    14831483                move.l  #PITCHMAX,D0
    1484 *
     1484
    14851485F02L129A:       move    D0,SRCVAL(A6)
    1486 *
    1487                 .page
    1488 *
    1489 *       if (pt->ipvsrc) {
    1490 *
     1486
     1487                .page
     1488
     1489|       if (pt->ipvsrc) {
     1490
    14911491F02L124:        move.l  PT(A6),A0
    14921492                tst.b   6(A0)
    14931493                beq     F02L136
    1494 *
    1495 *               switch (pt->ipvsrc) {
    1496 *
     1494
     1495|               switch (pt->ipvsrc) {
     1496
    14971497                move.l  PT(A6),A0
    14981498                move.b  6(A0),D0
     
    15011501                cmp     #9,D0
    15021502                bhi     F02L144
    1503 *
     1503
    15041504                asl     #2,D0
    15051505                lea     F02L145,A0
    15061506                move.l  0(A0,D0.W),A0
    15071507                jmp     (A0)
    1508 *
    1509 *               case SM_RAND:
    1510 *                       ltmp = xgetran(pt_>ipvmlt);
    1511 *
     1508
     1509|               case SM_RAND:
     1510|                       ltmp = xgetran(pt_>ipvmlt);
     1511
    15121512F02L139:        move.l  PT(A6),A0
    15131513                move    4(A0),(sp)
     
    15151515                ext.l   D0
    15161516                move.l  D0,LTMP(A6)
    1517 *
    1518 *                       break;
    1519 *
     1517
     1518|                       break;
     1519
    15201520                bra     F02L137
    1521 *
    1522 *               case SM_PTCH:
    1523 *                       ltmp = pch;
    1524 *
     1521
     1522|               case SM_PTCH:
     1523|                       ltmp = pch;
     1524
    15251525F02L140:        move    PCH(A6),A0
    15261526                move.l  A0,LTMP(A6)
    1527 *
    1528 *                       break;
    1529 *
     1527
     1528|                       break;
     1529
    15301530                bra     F02L137
    1531 *
    1532                 .page
    1533 *
    1534 *               case SM_FREQ:
    1535 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    1536 *
     1531
     1532                .page
     1533
     1534|               case SM_FREQ:
     1535|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     1536
    15371537F02L141:        move    PCH(A6),D0
    15381538                asr     #7,D0
     
    15441544                ext.l   D0
    15451545                move.l  D0,LTMP(A6)
    1546 *
    1547 *                       break;
    1548 *
     1546
     1547|                       break;
     1548
    15491549                bra     F02L137
    1550 *
    1551 *               case SM_KVEL:
    1552 *                       ltmp = veltab[trg];
    1553 *
     1550
     1551|               case SM_KVEL:
     1552|                       ltmp = veltab[trg];
     1553
    15541554F02L142:        move    TRG(A6),A0
    15551555                add.l   A0,A0
     
    15581558                ext.l   D0
    15591559                move.l  D0,LTMP(A6)
    1560 *
    1561 *                       break;
    1562 *
     1560
     1561|                       break;
     1562
    15631563                bra     F02L137
    1564 *
    1565                 .page
    1566 *
    1567 *               case SM_KPRS:
    1568 *                       ltmp = prstab[trg];
    1569 *
     1564
     1565                .page
     1566
     1567|               case SM_KPRS:
     1568|                       ltmp = prstab[trg];
     1569
    15701570F02L143:        move    TRG(A6),A0
    15711571                add.l   A0,A0
     
    15741574                ext.l   D0
    15751575                move.l  D0,LTMP(A6)
    1576 *
    1577 *                       break;
    1578 *
     1576
     1577|                       break;
     1578
    15791579                bra     F02L137
    1580 *
    1581                 .page
    1582 *
    1583 *               default:
    1584 *                       ltmp = valents[group | pt->ipvsrc].val;
    1585 *
     1580
     1581                .page
     1582
     1583|               default:
     1584|                       ltmp = valents[group | pt->ipvsrc].val;
     1585
    15861586F02L144:        move.l  PT(A6),A0
    15871587                clr.l   D0
     
    15971597                move    8(A0,A1.l),D0
    15981598                move.l  D0,LTMP(A6)
    1599 *
    1600 *               }
    1601 *
    1602 *
    1603                 .page
    1604 *
    1605 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    1606 *
     1599
     1600|               }
     1601
     1602
     1603                .page
     1604
     1605|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     1606
    16071607F02L137:        move.l  PT(A6),A0
    16081608                move.w  4(A0),D0
     
    16121612                asr.l   D1,D0
    16131613                move.l  D0,LTMP(A6)
    1614 *
    1615 *               ltmp += (long)pt->ipval;
    1616 *
     1614
     1615|               ltmp += (long)pt->ipval;
     1616
    16171617                move.l  PT(A6),A0
    16181618                move    2(A0),D0
    16191619                ext.l   D0
    16201620                add.l   D0,LTMP(A6)
    1621 *
    1622 *               if (ltmp GT (long)VALMAX)
    1623 *                       ltmp = (long)VALMAX;
    1624 *
     1621
     1622|               if (ltmp GT (long)VALMAX)
     1623|                       ltmp = (long)VALMAX;
     1624
    16251625                cmp.l   #VALMAX,LTMP(A6)
    16261626                ble     F02L146
    1627 *
     1627
    16281628                move.l  #VALMAX,LTMP(A6)
    16291629                bra     F02L147
    1630 *
    1631 *               else if (ltmp LT (long)VALMIN)
    1632 *                       ltmp = (long)VALMIN;
    1633 *
     1630
     1631|               else if (ltmp LT (long)VALMIN)
     1632|                       ltmp = (long)VALMIN;
     1633
    16341634F02L146:        cmp.l   #VALMIN,LTMP(A6)
    16351635                bge     F02L147
    1636 *
     1636
    16371637                move.l  #VALMIN,LTMP(A6)
    1638 *
    1639 *               tfpval = (short)ltmp;
    1640 *
     1638
     1639|               tfpval = (short)ltmp;
     1640
    16411641F02L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    16421642                bra     F02L149
    1643 *
    1644 *       } else {
    1645 *
    1646 *               tfpval = pt->ipval;
    1647 *
     1643
     1644|       } else {
     1645
     1646|               tfpval = pt->ipval;
     1647
    16481648F02L136:        move.l  PT(A6),A0
    16491649                move    2(A0),TFPVAL(A6)
    1650 *
    1651 *       }
    1652 *
    1653                 .page
    1654 *
    1655 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    1656 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    1657 *
     1650
     1651|       }
     1652
     1653                .page
     1654
     1655|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     1656|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     1657
    16581658F02L149:        move.l  PT(A6),A0
    16591659                move.w  (A0),D0
    16601660                move.w  D0,D2
    1661                 andi.w  #$FFF0,D0
     1661                andi.w  #0xFFF0,D0
    16621662                move.w  _timemlt,D1
    16631663                muls    D1,D0
     
    16651665                asr.l   D1,D0
    16661666                move    D0,R_FPMANT
    1667 *
    1668 *       fpexp = expbit[pt->iptim & 0x000F];
    1669 *
    1670                 and     #$000F,D2
     1667
     1668|       fpexp = expbit[pt->iptim & 0x000F];
     1669
     1670                and     #0x000F,D2
    16711671                move    D2,A0
    16721672                add.l   A0,A0
    16731673                add.l   #_expbit,A0
    16741674                move    (A0),R_FPEXP
    1675 *
    1676                 .page
    1677 *
    1678 *               fp->idfpch = ip->idhos3v;
    1679 *
     1675
     1676                .page
     1677
     1678|               fp->idfpch = ip->idhos3v;
     1679
    16801680F02L156:        move.l  IP(A6),A0
    16811681                move.w  82(A0),(A_FP)
    1682 *
    1683 *               fpval = addpch(tfpval, fp->idfpch);
    1684 *
     1682
     1683|               fpval = addpch(tfpval, fp->idfpch);
     1684
    16851685                move.w  TFPVAL(A6),D1
    16861686                ext.l   D1
     
    16931693                cmp.l   #PITCHMAX,D0
    16941694                ble     F02L156A
    1695 *
     1695
    16961696                move.l  #PITCHMAX,D0
    1697 *
     1697
    16981698F02L156A:       move    D0,R_FPVAL
    1699 *
    1700                 .page
    1701 *
     1699
     1700                .page
     1701
    17021702                move.b  5(A_FP),D0
    17031703                ext.w   D0
    17041704                sub.w   #1,D0
    17051705                movea.l PT(A6),A0
    1706 *
    1707 *       oldi = setipl(FPU_DI);
    1708 *
     1706
     1707|       oldi = setipl(FPU_DI);
     1708
    17091709                move    sr,OLDI(A6)
    17101710                move    #FPU_DI,sr
    1711 *
     1711
    17121712F02L168:        clr.b   10(A0)
    17131713                add.l   #12,a0
    17141714                dbra    D0,F02L168
    1715 *
    1716                 .page
    1717 *
    1718 *       fp->idftmd ^= I_NVBITS;
    1719 *
     1715
     1716                .page
     1717
     1718|       fp->idftmd ^= I_NVBITS;
     1719
    17201720F02L165:        eor.b   #24,7(A_FP)
    1721 *
    1722 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    1723 *
     1721
     1722|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     1723
    17241724                move.b  7(A_FP),R_FPCTL
    17251725                and     #28,R_FPCTL
    17261726                or      #3,R_FPCTL
    1727 *
    1728 *       fp->idfcpt = fp->idfpt1;
    1729 *
     1727
     1728|       fp->idfcpt = fp->idfpt1;
     1729
    17301730                move.b  6(A_FP),8(A_FP)
    1731 *
    1732 *       fp->idftmd |= I_ACTIVE;
    1733 *
     1731
     1732|       fp->idftmd |= I_ACTIVE;
     1733
    17341734                or.b    #2,7(A_FP)
    1735 *
    1736 *       fp->idftrf = trg;
    1737 *
     1735
     1736|       fp->idftrf = trg;
     1737
    17381738                move    TRG(A6),10(A_FP)
    1739 *
    1740 *       *(fpu + (long)FPU_TCV1) = srcval;
    1741 *
    1742                 move    SRCVAL(A6),$8(A_FPU)
    1743 *
    1744 *       ++octype;
    1745 *
     1739
     1740|       |(fpu + (long)FPU_TCV1) = srcval;
     1741
     1742                move    SRCVAL(A6),0x8(A_FPU)
     1743
     1744|       ++octype;
     1745
    17461746                add     #1,OCTYPE(A6)
    1747 *
    1748 *       *(fpu + (long)FPU_TSF1) = mltval;
    1749 *
    1750                 move    MLTVAL(A6),$A(A_FPU)
    1751 *
    1752 *       ++octype;
    1753 *
     1747
     1748|       |(fpu + (long)FPU_TSF1) = mltval;
     1749
     1750                move    MLTVAL(A6),0xA(A_FPU)
     1751
     1752|       ++octype;
     1753
    17541754                add     #1,OCTYPE(A6)
    1755 *
    1756 *       *(fpu + (long)FPU_TMNT) = fpmant;
    1757 *
    1758                 move    R_FPMANT,$14(A_FPU)
    1759 *
    1760 *       ++octype;
    1761 *
     1755
     1756|       |(fpu + (long)FPU_TMNT) = fpmant;
     1757
     1758                move    R_FPMANT,0x14(A_FPU)
     1759
     1760|       ++octype;
     1761
    17621762                add     #1,OCTYPE(A6)
    1763 *
    1764 *       *(fpu + (long)FPU_TEXP) = fpexp;
    1765 *
    1766                 move    R_FPEXP,$16(A_FPU)
    1767 *
    1768 *       ++octype;
    1769 *
     1763
     1764|       |(fpu + (long)FPU_TEXP) = fpexp;
     1765
     1766                move    R_FPEXP,0x16(A_FPU)
     1767
     1768|       ++octype;
     1769
    17701770                add     #1,OCTYPE(A6)
    1771 *
    1772                 .page
    1773 *
    1774 *       if (fp->idftmd & I_VNSUBN)
    1775 *
     1771
     1772                .page
     1773
     1774|       if (fp->idftmd & I_VNSUBN)
     1775
    17761776                btst    #3,7(A_FP)
    17771777                beq     F02L169
    1778 *
    1779 *               *(fpu + (long)FPU_TNV1) = fpval;
    1780 *
    1781                 move    R_FPVAL,$1C(A_FPU)
     1778
     1779|               |(fpu + (long)FPU_TNV1) = fpval;
     1780
     1781                move    R_FPVAL,0x1C(A_FPU)
    17821782                bra     F02L170
    1783 *
    1784 *       else
    1785 *               *(fpu + (long)FPU_TNV0) = fpval;
    1786 *
     1783
     1784|       else
     1785|               |(fpu + (long)FPU_TNV0) = fpval;
     1786
    17871787F02L169:        move    R_FPVAL,2(A_FPU)
    1788 *
    1789 *       ++octype;
    1790 *
     1788
     1789|       ++octype;
     1790
    17911791F02L170:        add     #1,OCTYPE(A6)
    1792 *
    1793 *       *(fpu + (long)FPU_TCTL) = fpctl;
    1794 *
     1792
     1793|       |(fpu + (long)FPU_TCTL) = fpctl;
     1794
    17951795                move    R_FPCTL,(A_FPU)
    1796 *
    1797 *       setipl(oldi);
    1798 *
     1796
     1797|       setipl(oldi);
     1798
    17991799                move    OLDI(A6),sr
    1800 *
    1801                 .page
    1802 * ------------------------------------------------------------------------------
    1803 * Start function 3 -- Frq 4
    1804 * ------------------------------------------------------------------------------
    1805 *
    1806 *    if (ip->idhfnc[3].idftmd & I_TM_KEY) {
    1807 *
     1800
     1801                .page
     1802| ------------------------------------------------------------------------------
     1803| Start function 3 -- Frq 4
     1804| ------------------------------------------------------------------------------
     1805
     1806|    if (ip->idhfnc[3].idftmd & I_TM_KEY) {
     1807
    18081808FN03:           move.l  IP(A6),A0
    18091809                move.b  129(A0),D0
     
    18121812                btst    #0,D0
    18131813                bne     FN03A
    1814 *
     1814
    18151815                jmp     FN04
    1816 *
    1817 *       vp = (vce << 4) + 7;
    1818 *
     1816
     1817|       vp = (vce << 4) + 7;
     1818
    18191819FN03A:          move    VCE(A6),D0
    18201820                asl     #4,D0
    18211821                add.w   #7,D0
    18221822                move    D0,VP(A6)
    1823 *
    1824 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    1825 *
     1823
     1824|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     1825
    18261826                asl     #5,D0
    18271827                ext.l   D0
    18281828                move.l  D0,A_FPU
    1829                 add.l   #_io_fpu+$4000,A_FPU
    1830 *
    1831 *       fp = &ip->idhfnc[3];
    1832 *
     1829                add.l   #_io_fpu+0x4000,A_FPU
     1830
     1831|       fp = &ip->idhfnc[3];
     1832
    18331833                move.l  #36,A_FP
    18341834                add.l   IP(A6),A_FP
    18351835                add.l   #86,A_FP
    1836 *
    1837 *       pt = &ip->idhpnt[fp->idfpt1];
    1838 *
     1836
     1837|       pt = &ip->idhpnt[fp->idfpt1];
     1838
    18391839                clr.l   D0
    18401840                move.b  6(A_FP),D0
     
    18461846                add.l   #242,D0
    18471847                move.l  D0,PT(A6)
    1848 *
    1849                 .page
    1850 *
    1851 *       srcnum = group | fp->idfsrc;
    1852 *
     1848
     1849                .page
     1850
     1851|       srcnum = group | fp->idfsrc;
     1852
    18531853                move.w  GROUP(A6),D0
    18541854                ext.l   D0
     
    18571857                or      D1,D0
    18581858                move    D0,SRCNUM(A6)
    1859 *
    1860 *       vep = &valents[srcnum];
    1861 *
     1859
     1860|       vep = &valents[srcnum];
     1861
    18621862                add.l   D0,D0
    18631863                move.l  D0,D1
     
    18661866                add.l   #_valents,D0
    18671867                move.l  D0,VEP(A6)
    1868 *
    1869 *       smp = vpsms[vp];
    1870 *
     1868
     1869|       smp = vpsms[vp];
     1870
    18711871                move    VP(A6),A0
    18721872                add.l   A0,A0
     
    18741874                add.l   #_vpsms,A0
    18751875                move.l  (A0),A_SMP
    1876 *
    1877 *       if (srcnum NE smp->sm) {
    1878 *
     1876
     1877|       if (srcnum NE smp->sm) {
     1878
    18791879                clr     D0
    18801880                move    10(A_SMP),D0
    18811881                cmp     SRCNUM(A6),D0
    18821882                beq     F03L113
    1883 *
    1884 *               (smp->prv)->nxt = smp->nxt;
    1885 *
     1883
     1884|               (smp->prv)->nxt = smp->nxt;
     1885
    18861886                move.l  4(A_SMP),A0
    18871887                move.l  (A_SMP),(A0)
    1888 *
    1889 *               (smp->nxt)->prv = smp->prv;
    1890 *
     1888
     1889|               (smp->nxt)->prv = smp->prv;
     1890
    18911891                move.l  (A_SMP),A0
    18921892                move.l  4(A_SMP),4(A0)
    1893 *
    1894 *               smp->prv = (struct sment *)vep;
    1895 *
     1893
     1894|               smp->prv = (struct sment |)vep;
     1895
    18961896                move.l  VEP(A6),4(A_SMP)
    1897 *
    1898 *               smp->nxt = vep->nxt;
    1899 *
     1897
     1898|               smp->nxt = vep->nxt;
     1899
    19001900                move.l  VEP(A6),A0
    19011901                move.l  (A0),(A_SMP)
    1902 *
    1903 *               (vep->nxt)->prv = smp;
    1904 *
     1902
     1903|               (vep->nxt)->prv = smp;
     1904
    19051905                move.l  VEP(A6),A0
    19061906                move.l  (A0),A0
    19071907                move.l  A_SMP,4(A0)
    1908 *
    1909 *               vep->nxt = smp;
    1910 *
     1908
     1909|               vep->nxt = smp;
     1910
    19111911                move.l  VEP(A6),A0
    19121912                move.l  A_SMP,(A0)
    1913 *
    1914 *               smp->sm = srcnum;
    1915 *
     1913
     1914|               smp->sm = srcnum;
     1915
    19161916                move    SRCNUM(A6),10(A_SMP)
    1917 *
    1918 *       }
    1919 *
    1920 *       mltval = fp->idfmlt;
    1921 *
     1917
     1918|       }
     1919
     1920|       mltval = fp->idfmlt;
     1921
    19221922F03L113:        move    2(A_FP),MLTVAL(A6)
    1923 *
    1924                 .page
    1925 *
    1926 *       switch (fp->idfsrc) {
    1927 *
     1923
     1924                .page
     1925
     1926|       switch (fp->idfsrc) {
     1927
    19281928                move.b  4(A_FP),D0
    19291929                ext.w   d0
    19301930                cmp     #10,D0
    19311931                bhi     F03L122
    1932 *
     1932
    19331933                asl     #2,D0
    19341934                lea     F03L123,A0
    19351935                movea.l 0(A0,D0.W),A0
    19361936                jmp     (A0)
    1937 *
    1938 *       case SM_NONE:
    1939 *               mltval = 0;
    1940 *
     1937
     1938|       case SM_NONE:
     1939|               mltval = 0;
     1940
    19411941F03L116:        clr     MLTVAL(A6)
    1942 *
    1943 *               tsrcval = 0;
    1944 *
     1942
     1943|               tsrcval = 0;
     1944
    19451945                clr     TSRCVAL(A6)
    1946 *
    1947 *               break;
    1948 *
     1946
     1947|               break;
     1948
    19491949                bra     F03L114
    1950 *
    1951 *       case SM_RAND:
    1952 *               tsrcval = xgetran(mltval);
    1953 *
     1950
     1951|       case SM_RAND:
     1952|               tsrcval = xgetran(mltval);
     1953
    19541954F03L117:        move    MLTVAL(A6),(sp)
    19551955                jsr     _xgetran
    19561956                move    D0,TSRCVAL(A6)
    1957 *
    1958 *               break;
    1959 *
     1957
     1958|               break;
     1959
    19601960                bra     F03L114
    1961 *
    1962 *       case SM_PTCH:
    1963 *               tsrcval = pch;
    1964 *
     1961
     1962|       case SM_PTCH:
     1963|               tsrcval = pch;
     1964
    19651965F03L118:        move    PCH(A6),TSRCVAL(A6)
    1966 *
    1967 *               break;
    1968 *
     1966
     1967|               break;
     1968
    19691969                bra     F03L114
    1970 *
    1971                 .page
    1972 *
    1973 *       case SM_FREQ:
    1974 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    1975 *
     1970
     1971                .page
     1972
     1973|       case SM_FREQ:
     1974|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     1975
    19761976F03L119:        move    PCH(A6),D0
    19771977                asr     #7,D0
     
    19811981                add.l   #_ptoftab,A0
    19821982                move    (A0),TSRCVAL(A6)
    1983 *
    1984 *               break;
    1985 *
     1983
     1984|               break;
     1985
    19861986                bra     F03L114
    1987 *
    1988 *       case SM_KVEL:
    1989 *               tsrcval = veltab[trg];
    1990 *
     1987
     1988|       case SM_KVEL:
     1989|               tsrcval = veltab[trg];
     1990
    19911991F03L120:        move    TRG(A6),A0
    19921992                add.l   A0,A0
    19931993                add.l   #_veltab,A0
    19941994                move    (A0),TSRCVAL(A6)
    1995 *
    1996 *               break;
    1997 *
     1995
     1996|               break;
     1997
    19981998                bra     F03L114
    1999 *
    2000 *       case SM_KPRS:
    2001 *               tsrcval = prstab[trg];
    2002 *
     1999
     2000|       case SM_KPRS:
     2001|               tsrcval = prstab[trg];
     2002
    20032003F03L121:        move    TRG(A6),A0
    20042004                add.l   A0,A0
    20052005                add.l   #_prstab,A0
    20062006                move    (A0),TSRCVAL(A6)
    2007 *
    2008 *               break;
    2009 *
     2007
     2008|               break;
     2009
    20102010                bra     F03L114
    2011 *
    2012 *       default:
    2013 *               tsrcval = vep->val;
    2014 *
     2011
     2012|       default:
     2013|               tsrcval = vep->val;
     2014
    20152015F03L122:        move.l  VEP(A6),A0
    20162016                move    8(A0),TSRCVAL(A6)
    2017 *
    2018 *       }
    2019 *
    2020                 .page
    2021 *
    2022 *               srcval = addpch(tsrcval, 0);
    2023 *
     2017
     2018|       }
     2019
     2020                .page
     2021
     2022|               srcval = addpch(tsrcval, 0);
     2023
    20242024F03L114:        move.w  TSRCVAL(A6),D0
    20252025                ext.l   D0
    20262026                asr.l   #5,D0
    2027 *               sub.l   #500,D0
     2027|               sub.l   #500,D0
    20282028                asl.l   #LSPCH,D0
    20292029                cmp.l   #PITCHMAX,D0
    20302030                ble     F03L129A
    2031 *
     2031
    20322032                move.l  #PITCHMAX,D0
    20332033
    20342034F03L129A:       move    D0,SRCVAL(A6)
    2035 *
    2036                 .page
    2037 *
    2038 *       if (pt->ipvsrc) {
    2039 *
     2035
     2036                .page
     2037
     2038|       if (pt->ipvsrc) {
     2039
    20402040F03L124:        move.l  PT(A6),A0
    20412041                tst.b   6(A0)
    20422042                beq     F03L136
    2043 *
    2044 *               switch (pt->ipvsrc) {
    2045 *
     2043
     2044|               switch (pt->ipvsrc) {
     2045
    20462046                move.l  PT(A6),A0
    20472047                move.b  6(A0),D0
     
    20502050                cmp     #9,D0
    20512051                bhi     F03L144
    2052 *
     2052
    20532053                asl     #2,D0
    20542054                lea     F03L145,A0
    20552055                move.l  0(A0,D0.W),A0
    20562056                jmp     (A0)
    2057 *
    2058 *               case SM_RAND:
    2059 *                       ltmp = xgetran(pt_>ipvmlt);
    2060 *
     2057
     2058|               case SM_RAND:
     2059|                       ltmp = xgetran(pt_>ipvmlt);
     2060
    20612061F03L139:        move.l  PT(A6),A0
    20622062                move    4(A0),(sp)
     
    20642064                ext.l   D0
    20652065                move.l  D0,LTMP(A6)
    2066 *
    2067 *                       break;
    2068 *
     2066
     2067|                       break;
     2068
    20692069                bra     F03L137
    2070 *
    2071 *               case SM_PTCH:
    2072 *                       ltmp = pch;
    2073 *
     2070
     2071|               case SM_PTCH:
     2072|                       ltmp = pch;
     2073
    20742074F03L140:        move    PCH(A6),A0
    20752075                move.l  A0,LTMP(A6)
    2076 *
    2077 *                       break;
    2078 *
     2076
     2077|                       break;
     2078
    20792079                bra     F03L137
    2080 *
    2081                 .page
    2082 *
    2083 *               case SM_FREQ:
    2084 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    2085 *
     2080
     2081                .page
     2082
     2083|               case SM_FREQ:
     2084|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     2085
    20862086F03L141:        move    PCH(A6),D0
    20872087                asr     #7,D0
     
    20932093                ext.l   D0
    20942094                move.l  D0,LTMP(A6)
    2095 *
    2096 *                       break;
    2097 *
     2095
     2096|                       break;
     2097
    20982098                bra     F03L137
    2099 *
    2100 *               case SM_KVEL:
    2101 *                       ltmp = veltab[trg];
    2102 *
     2099
     2100|               case SM_KVEL:
     2101|                       ltmp = veltab[trg];
     2102
    21032103F03L142:        move    TRG(A6),A0
    21042104                add.l   A0,A0
     
    21072107                ext.l   D0
    21082108                move.l  D0,LTMP(A6)
    2109 *
    2110 *                       break;
    2111 *
     2109
     2110|                       break;
     2111
    21122112                bra     F03L137
    2113 *
    2114                 .page
    2115 *
    2116 *               case SM_KPRS:
    2117 *                       ltmp = prstab[trg];
    2118 *
     2113
     2114                .page
     2115
     2116|               case SM_KPRS:
     2117|                       ltmp = prstab[trg];
     2118
    21192119F03L143:        move    TRG(A6),A0
    21202120                add.l   A0,A0
     
    21232123                ext.l   D0
    21242124                move.l  D0,LTMP(A6)
    2125 *
    2126 *                       break;
    2127 *
     2125
     2126|                       break;
     2127
    21282128                bra     F03L137
    2129 *
    2130                 .page
    2131 *
    2132 *               default:
    2133 *                       ltmp = valents[group | pt->ipvsrc].val;
    2134 *
     2129
     2130                .page
     2131
     2132|               default:
     2133|                       ltmp = valents[group | pt->ipvsrc].val;
     2134
    21352135F03L144:        move.l  PT(A6),A0
    21362136                clr.l   D0
     
    21462146                move    8(A0,A1.l),D0
    21472147                move.l  D0,LTMP(A6)
    2148 *
    2149 *               }
    2150 *
    2151 *
    2152                 .page
    2153 *
    2154 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    2155 *
     2148
     2149|               }
     2150
     2151
     2152                .page
     2153
     2154|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     2155
    21562156F03L137:        move.l  PT(A6),A0
    21572157                move.w  4(A0),D0
     
    21612161                asr.l   D1,D0
    21622162                move.l  D0,LTMP(A6)
    2163 *
    2164 *               ltmp += (long)pt->ipval;
    2165 *
     2163
     2164|               ltmp += (long)pt->ipval;
     2165
    21662166                move.l  PT(A6),A0
    21672167                move    2(A0),D0
    21682168                ext.l   D0
    21692169                add.l   D0,LTMP(A6)
    2170 *
    2171 *               if (ltmp GT (long)VALMAX)
    2172 *                       ltmp = (long)VALMAX;
    2173 *
     2170
     2171|               if (ltmp GT (long)VALMAX)
     2172|                       ltmp = (long)VALMAX;
     2173
    21742174                cmp.l   #VALMAX,LTMP(A6)
    21752175                ble     F03L146
    2176 *
     2176
    21772177                move.l  #VALMAX,LTMP(A6)
    21782178                bra     F03L147
    2179 *
    2180 *               else if (ltmp LT (long)VALMIN)
    2181 *                       ltmp = (long)VALMIN;
    2182 *
     2179
     2180|               else if (ltmp LT (long)VALMIN)
     2181|                       ltmp = (long)VALMIN;
     2182
    21832183F03L146:        cmp.l   #VALMIN,LTMP(A6)
    21842184                bge     F03L147
    2185 *
     2185
    21862186                move.l  #VALMIN,LTMP(A6)
    2187 *
    2188 *               tfpval = (short)ltmp;
    2189 *
     2187
     2188|               tfpval = (short)ltmp;
     2189
    21902190F03L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    21912191                bra     F03L149
    2192 *
    2193 *       } else {
    2194 *
    2195 *               tfpval = pt->ipval;
    2196 *
     2192
     2193|       } else {
     2194
     2195|               tfpval = pt->ipval;
     2196
    21972197F03L136:        move.l  PT(A6),A0
    21982198                move    2(A0),TFPVAL(A6)
    2199 *
    2200 *       }
    2201 *
    2202                 .page
    2203 *
    2204 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    2205 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    2206 *
     2199
     2200|       }
     2201
     2202                .page
     2203
     2204|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     2205|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     2206
    22072207F03L149:        move.l  PT(A6),A0
    22082208                move.w  (A0),D0
    22092209                move.w  D0,D2
    2210                 andi.w  #$FFF0,D0
     2210                andi.w  #0xFFF0,D0
    22112211                move.w  _timemlt,D1
    22122212                muls    D1,D0
     
    22142214                asr.l   D1,D0
    22152215                move    D0,R_FPMANT
    2216 *
    2217 *       fpexp = expbit[pt->iptim & 0x000F];
    2218 *
    2219                 and     #$000F,D2
     2216
     2217|       fpexp = expbit[pt->iptim & 0x000F];
     2218
     2219                and     #0x000F,D2
    22202220                move    D2,A0
    22212221                add.l   A0,A0
    22222222                add.l   #_expbit,A0
    22232223                move    (A0),R_FPEXP
    2224 *
    2225                 .page
    2226 *
    2227 *               fp->idfpch = ip->idhos4v;
    2228 *
     2224
     2225                .page
     2226
     2227|               fp->idfpch = ip->idhos4v;
     2228
    22292229F03L157:        move.l  IP(A6),A0
    22302230                move.w  84(A0),(A_FP)
    2231 *
    2232 *               fpval = addpch(tfpval, fp->idfpch);
    2233 *
     2231
     2232|               fpval = addpch(tfpval, fp->idfpch);
     2233
    22342234                move.w  TFPVAL(A6),D1
    22352235                ext.l   D1
     
    22422242                cmp.l   #PITCHMAX,D0
    22432243                ble     F03L157A
    2244 *
     2244
    22452245                move.l  #PITCHMAX,D0
    2246 *
     2246
    22472247F03L157A:       move    D0,R_FPVAL
    2248 *
    2249                 .page
    2250 *
     2248
     2249                .page
     2250
    22512251                move.b  5(A_FP),D0
    22522252                ext.w   D0
    22532253                sub.w   #1,D0
    22542254                movea.l PT(A6),A0
    2255 *
    2256 *       oldi = setipl(FPU_DI);
    2257 *
     2255
     2256|       oldi = setipl(FPU_DI);
     2257
    22582258                move    sr,OLDI(A6)
    22592259                move    #FPU_DI,sr
    2260 *
     2260
    22612261F03L168:        clr.b   10(A0)
    22622262                add.l   #12,a0
    22632263                dbra    D0,F03L168
    2264 *
    2265                 .page
    2266 *
    2267 *       fp->idftmd ^= I_NVBITS;
    2268 *
     2264
     2265                .page
     2266
     2267|       fp->idftmd ^= I_NVBITS;
     2268
    22692269F03L165:        eor.b   #24,7(A_FP)
    2270 *
    2271 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    2272 *
     2270
     2271|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     2272
    22732273                move.b  7(A_FP),R_FPCTL
    22742274                and     #28,R_FPCTL
    22752275                or      #3,R_FPCTL
    2276 *
    2277 *       fp->idfcpt = fp->idfpt1;
    2278 *
     2276
     2277|       fp->idfcpt = fp->idfpt1;
     2278
    22792279                move.b  6(A_FP),8(A_FP)
    2280 *
    2281 *       fp->idftmd |= I_ACTIVE;
    2282 *
     2280
     2281|       fp->idftmd |= I_ACTIVE;
     2282
    22832283                or.b    #2,7(A_FP)
    2284 *
    2285 *       fp->idftrf = trg;
    2286 *
     2284
     2285|       fp->idftrf = trg;
     2286
    22872287                move    TRG(A6),10(A_FP)
    2288 *
    2289 *       *(fpu + (long)FPU_TCV1) = srcval;
    2290 *
    2291                 move    SRCVAL(A6),$8(A_FPU)
    2292 *
    2293 *       ++octype;
    2294 *
     2288
     2289|       |(fpu + (long)FPU_TCV1) = srcval;
     2290
     2291                move    SRCVAL(A6),0x8(A_FPU)
     2292
     2293|       ++octype;
     2294
    22952295                add     #1,OCTYPE(A6)
    2296 *
    2297 *       *(fpu + (long)FPU_TSF1) = mltval;
    2298 *
    2299                 move    MLTVAL(A6),$A(A_FPU)
    2300 *
    2301 *       ++octype;
    2302 *
     2296
     2297|       |(fpu + (long)FPU_TSF1) = mltval;
     2298
     2299                move    MLTVAL(A6),0xA(A_FPU)
     2300
     2301|       ++octype;
     2302
    23032303                add     #1,OCTYPE(A6)
    2304 *
    2305 *       *(fpu + (long)FPU_TMNT) = fpmant;
    2306 *
    2307                 move    R_FPMANT,$14(A_FPU)
    2308 *
    2309 *       ++octype;
    2310 *
     2304
     2305|       |(fpu + (long)FPU_TMNT) = fpmant;
     2306
     2307                move    R_FPMANT,0x14(A_FPU)
     2308
     2309|       ++octype;
     2310
    23112311                add     #1,OCTYPE(A6)
    2312 *
    2313 *       *(fpu + (long)FPU_TEXP) = fpexp;
    2314 *
    2315                 move    R_FPEXP,$16(A_FPU)
    2316 *
    2317 *       ++octype;
    2318 *
     2312
     2313|       |(fpu + (long)FPU_TEXP) = fpexp;
     2314
     2315                move    R_FPEXP,0x16(A_FPU)
     2316
     2317|       ++octype;
     2318
    23192319                add     #1,OCTYPE(A6)
    2320 *
    2321                 .page
    2322 *
    2323 *       if (fp->idftmd & I_VNSUBN)
    2324 *
     2320
     2321                .page
     2322
     2323|       if (fp->idftmd & I_VNSUBN)
     2324
    23252325                btst    #3,7(A_FP)
    23262326                beq     F03L169
    2327 *
    2328 *               *(fpu + (long)FPU_TNV1) = fpval;
    2329 *
    2330                 move    R_FPVAL,$1C(A_FPU)
     2327
     2328|               |(fpu + (long)FPU_TNV1) = fpval;
     2329
     2330                move    R_FPVAL,0x1C(A_FPU)
    23312331                bra     F03L170
    2332 *
    2333 *       else
    2334 *               *(fpu + (long)FPU_TNV0) = fpval;
    2335 *
     2332
     2333|       else
     2334|               |(fpu + (long)FPU_TNV0) = fpval;
     2335
    23362336F03L169:        move    R_FPVAL,2(A_FPU)
    2337 *
    2338 *       ++octype;
    2339 *
     2337
     2338|       ++octype;
     2339
    23402340F03L170:        add     #1,OCTYPE(A6)
    2341 *
    2342 *       *(fpu + (long)FPU_TCTL) = fpctl;
    2343 *
     2341
     2342|       |(fpu + (long)FPU_TCTL) = fpctl;
     2343
    23442344                move    R_FPCTL,(A_FPU)
    2345 *
    2346 *       setipl(oldi);
    2347 *
     2345
     2346|       setipl(oldi);
     2347
    23482348                move    OLDI(A6),sr
    2349 *
    2350                 .page
    2351 * ------------------------------------------------------------------------------
    2352 * Start function 4 -- Filtr
    2353 * ------------------------------------------------------------------------------
    2354 *
    2355 *    if (ip->idhfnc[4].idftmd & I_TM_KEY) {
    2356 *
     2349
     2350                .page
     2351| ------------------------------------------------------------------------------
     2352| Start function 4 -- Filtr
     2353| ------------------------------------------------------------------------------
     2354
     2355|    if (ip->idhfnc[4].idftmd & I_TM_KEY) {
     2356
    23572357FN04:           move.l  IP(A6),A0
    23582358                move.b  141(A0),D0
     
    23612361                btst    #0,D0
    23622362                bne     FN04A
    2363 *
     2363
    23642364                jmp     FN05
    2365 *
    2366 *       vp = (vce << 4) + 10;
    2367 *
     2365
     2366|       vp = (vce << 4) + 10;
     2367
    23682368FN04A:          move    VCE(A6),D0
    23692369                asl     #4,D0
    23702370                add.w   #10,D0
    23712371                move    D0,VP(A6)
    2372 *
    2373 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    2374 *
     2372
     2373|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     2374
    23752375                asl     #5,D0
    23762376                ext.l   D0
    23772377                move.l  D0,A_FPU
    2378                 add.l   #_io_fpu+$4000,A_FPU
    2379 *
    2380 *       fp = &ip->idhfnc[4];
    2381 *
     2378                add.l   #_io_fpu+0x4000,A_FPU
     2379
     2380|       fp = &ip->idhfnc[4];
     2381
    23822382                move.l  #48,A_FP
    23832383                add.l   IP(A6),A_FP
    23842384                add.l   #86,A_FP
    2385 *
    2386                 .page
    2387 *
    2388 *       Added code:
    2389 *
    2390 *               output resonance via table lookup with FPU interrupts off
    2391 *
     2385
     2386                .page
     2387
     2388|       Added code:
     2389
     2390|               output resonance via table lookup with FPU interrupts off
     2391
    23922392                lea     _rsntab,A0
    23932393                clr.w   D0
     
    24012401                ext.l   D0
    24022402                move.l  D0,A0
    2403                 add.l   #_io_fpu+$4000,A0
     2403                add.l   #_io_fpu+0x4000,A0
    24042404                move.w  sr,OLDI(A6)
    24052405                move.w  #FPU_DI,sr
    24062406                move.w  d1,2(A0)
    24072407                add.w   #1,OCTYPE(A6)
    2408                 move.w  d1,$1C(A0)
     2408                move.w  d1,0x1C(A0)
    24092409                add.w   #1,OCTYPE(A6)
    2410                 move.w  #$0015,(A0)
     2410                move.w  #0x0015,(A0)
    24112411                move.w  OLDI(A6),sr
    2412 *
    2413 *       pt = &ip->idhpnt[fp->idfpt1];
    2414 *
     2412
     2413|       pt = &ip->idhpnt[fp->idfpt1];
     2414
    24152415                clr.l   D0
    24162416                move.b  6(A_FP),D0
     
    24222422                add.l   #242,D0
    24232423                move.l  D0,PT(A6)
    2424 *
    2425                 .page
    2426 *
    2427 *       srcnum = group | fp->idfsrc;
    2428 *
     2424
     2425                .page
     2426
     2427|       srcnum = group | fp->idfsrc;
     2428
    24292429                move.w  GROUP(A6),D0
    24302430                ext.l   D0
     
    24332433                or      D1,D0
    24342434                move    D0,SRCNUM(A6)
    2435 *
    2436 *       vep = &valents[srcnum];
    2437 *
     2435
     2436|       vep = &valents[srcnum];
     2437
    24382438                add.l   D0,D0
    24392439                move.l  D0,D1
     
    24422442                add.l   #_valents,D0
    24432443                move.l  D0,VEP(A6)
    2444 *
    2445 *       smp = vpsms[vp];
    2446 *
     2444
     2445|       smp = vpsms[vp];
     2446
    24472447                move    VP(A6),A0
    24482448                add.l   A0,A0
     
    24502450                add.l   #_vpsms,A0
    24512451                move.l  (A0),A_SMP
    2452 *
    2453 *       if (srcnum NE smp->sm) {
    2454 *
     2452
     2453|       if (srcnum NE smp->sm) {
     2454
    24552455                clr     D0
    24562456                move    10(A_SMP),D0
    24572457                cmp     SRCNUM(A6),D0
    24582458                beq     F04L113
    2459 *
    2460 *               (smp->prv)->nxt = smp->nxt;
    2461 *
     2459
     2460|               (smp->prv)->nxt = smp->nxt;
     2461
    24622462                move.l  4(A_SMP),A0
    24632463                move.l  (A_SMP),(A0)
    2464 *
    2465 *               (smp->nxt)->prv = smp->prv;
    2466 *
     2464
     2465|               (smp->nxt)->prv = smp->prv;
     2466
    24672467                move.l  (A_SMP),A0
    24682468                move.l  4(A_SMP),4(A0)
    2469 *
    2470 *               smp->prv = (struct sment *)vep;
    2471 *
     2469
     2470|               smp->prv = (struct sment |)vep;
     2471
    24722472                move.l  VEP(A6),4(A_SMP)
    2473 *
    2474 *               smp->nxt = vep->nxt;
    2475 *
     2473
     2474|               smp->nxt = vep->nxt;
     2475
    24762476                move.l  VEP(A6),A0
    24772477                move.l  (A0),(A_SMP)
    2478 *
    2479 *               (vep->nxt)->prv = smp;
    2480 *
     2478
     2479|               (vep->nxt)->prv = smp;
     2480
    24812481                move.l  VEP(A6),A0
    24822482                move.l  (A0),A0
    24832483                move.l  A_SMP,4(A0)
    2484 *
    2485 *               vep->nxt = smp;
    2486 *
     2484
     2485|               vep->nxt = smp;
     2486
    24872487                move.l  VEP(A6),A0
    24882488                move.l  A_SMP,(A0)
    2489 *
    2490 *               smp->sm = srcnum;
    2491 *
     2489
     2490|               smp->sm = srcnum;
     2491
    24922492                move    SRCNUM(A6),10(A_SMP)
    2493 *
    2494 *       }
    2495 *
    2496 *       mltval = fp->idfmlt;
    2497 *
     2493
     2494|       }
     2495
     2496|       mltval = fp->idfmlt;
     2497
    24982498F04L113:        move    2(A_FP),MLTVAL(A6)
    2499 *
    2500                 .page
    2501 *
    2502 *       switch (fp->idfsrc) {
    2503 *
     2499
     2500                .page
     2501
     2502|       switch (fp->idfsrc) {
     2503
    25042504                move.b  4(A_FP),D0
    25052505                ext.w   d0
    25062506                cmp     #10,D0
    25072507                bhi     F04L122
    2508 *
     2508
    25092509                asl     #2,D0
    25102510                lea     F04L123,A0
    25112511                movea.l 0(A0,D0.W),A0
    25122512                jmp     (A0)
    2513 *
    2514 *       case SM_NONE:
    2515 *               mltval = 0;
    2516 *
     2513
     2514|       case SM_NONE:
     2515|               mltval = 0;
     2516
    25172517F04L116:        clr     MLTVAL(A6)
    2518 *
    2519 *               tsrcval = 0;
    2520 *
     2518
     2519|               tsrcval = 0;
     2520
    25212521                clr     TSRCVAL(A6)
    2522 *
    2523 *               break;
    2524 *
     2522
     2523|               break;
     2524
    25252525                bra     F04L114
    2526 *
    2527 *       case SM_RAND:
    2528 *               tsrcval = xgetran(mltval);
    2529 *
     2526
     2527|       case SM_RAND:
     2528|               tsrcval = xgetran(mltval);
     2529
    25302530F04L117:        move    MLTVAL(A6),(sp)
    25312531                jsr     _xgetran
    25322532                move    D0,TSRCVAL(A6)
    2533 *
    2534 *               break;
    2535 *
     2533
     2534|               break;
     2535
    25362536                bra     F04L114
    2537 *
    2538 *       case SM_PTCH:
    2539 *               tsrcval = pch;
    2540 *
     2537
     2538|       case SM_PTCH:
     2539|               tsrcval = pch;
     2540
    25412541F04L118:        move    PCH(A6),TSRCVAL(A6)
    2542 *
    2543 *               break;
    2544 *
     2542
     2543|               break;
     2544
    25452545                bra     F04L114
    2546 *
    2547                 .page
    2548 *
    2549 *       case SM_FREQ:
    2550 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    2551 *
     2546
     2547                .page
     2548
     2549|       case SM_FREQ:
     2550|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     2551
    25522552F04L119:        move    PCH(A6),D0
    25532553                asr     #7,D0
     
    25572557                add.l   #_ptoftab,A0
    25582558                move    (A0),TSRCVAL(A6)
    2559 *
    2560 *               break;
    2561 *
     2559
     2560|               break;
     2561
    25622562                bra     F04L114
    2563 *
    2564 *       case SM_KVEL:
    2565 *               tsrcval = veltab[trg];
    2566 *
     2563
     2564|       case SM_KVEL:
     2565|               tsrcval = veltab[trg];
     2566
    25672567F04L120:        move    TRG(A6),A0
    25682568                add.l   A0,A0
    25692569                add.l   #_veltab,A0
    25702570                move    (A0),TSRCVAL(A6)
    2571 *
    2572 *               break;
    2573 *
     2571
     2572|               break;
     2573
    25742574                bra     F04L114
    2575 *
    2576 *       case SM_KPRS:
    2577 *               tsrcval = prstab[trg];
    2578 *
     2575
     2576|       case SM_KPRS:
     2577|               tsrcval = prstab[trg];
     2578
    25792579F04L121:        move    TRG(A6),A0
    25802580                add.l   A0,A0
    25812581                add.l   #_prstab,A0
    25822582                move    (A0),TSRCVAL(A6)
    2583 *
    2584 *               break;
    2585 *
     2583
     2584|               break;
     2585
    25862586                bra     F04L114
    2587 *
    2588 *       default:
    2589 *               tsrcval = vep->val;
    2590 *
     2587
     2588|       default:
     2589|               tsrcval = vep->val;
     2590
    25912591F04L122:        move.l  VEP(A6),A0
    25922592                move    8(A0),TSRCVAL(A6)
    2593 *
    2594 *       }
    2595 *
    2596                 .page
    2597 *
    2598 *               ltmp = ((long)tsrcval >> 1) + ((long)tsrcval >> 2);
    2599 *
     2593
     2594|       }
     2595
     2596                .page
     2597
     2598|               ltmp = ((long)tsrcval >> 1) + ((long)tsrcval >> 2);
     2599
    26002600F04L114:        move    TSRCVAL(A6),D0
    26012601                ext.l   D0
     
    26062606                add.l   D1,D0
    26072607                move.l  D0,LTMP(A6)
    2608 *
    2609 *               if (ltmp GT (long)VALMAX)
    2610 *                       ltmp = (long)VALMAX;
    2611 *
     2608
     2609|               if (ltmp GT (long)VALMAX)
     2610|                       ltmp = (long)VALMAX;
     2611
    26122612                cmp.l   #VALMAX,LTMP(A6)
    26132613                ble     F04L131
    2614 *
     2614
    26152615                move.l  #VALMAX,LTMP(A6)
    26162616                bra     F04L132
    2617 *
    2618 *               else if (ltmp LT (long)VALMIN)
    2619 *                       ltmp = (long)VALMIN;
    2620 *
     2617
     2618|               else if (ltmp LT (long)VALMIN)
     2619|                       ltmp = (long)VALMIN;
     2620
    26212621F04L131:        cmp.l   #VALMIN,LTMP(A6)
    26222622                bge     F04L132
    2623 *
     2623
    26242624                move.l  #VALMIN,LTMP(A6)
    2625 *
    2626 *               srcval = (short)ltmp;
    2627 *
     2625
     2626|               srcval = (short)ltmp;
     2627
    26282628F04L132:        move.l  LTMP(A6),D0
    26292629                move    D0,SRCVAL(A6)
    2630 *
    2631                 .page
    2632 *
    2633 *       if (pt->ipvsrc) {
    2634 *
     2630
     2631                .page
     2632
     2633|       if (pt->ipvsrc) {
     2634
    26352635F04L124:        move.l  PT(A6),A0
    26362636                tst.b   6(A0)
    26372637                beq     F04L136
    2638 *
    2639 *               switch (pt->ipvsrc) {
    2640 *
     2638
     2639|               switch (pt->ipvsrc) {
     2640
    26412641                move.l  PT(A6),A0
    26422642                move.b  6(A0),D0
     
    26452645                cmp     #9,D0
    26462646                bhi     F04L144
    2647 *
     2647
    26482648                asl     #2,D0
    26492649                lea     F04L145,A0
    26502650                move.l  0(A0,D0.W),A0
    26512651                jmp     (A0)
    2652 *
    2653 *               case SM_RAND:
    2654 *                       ltmp = xgetran(pt_>ipvmlt);
    2655 *
     2652
     2653|               case SM_RAND:
     2654|                       ltmp = xgetran(pt_>ipvmlt);
     2655
    26562656F04L139:        move.l  PT(A6),A0
    26572657                move    4(A0),(sp)
     
    26592659                ext.l   D0
    26602660                move.l  D0,LTMP(A6)
    2661 *
    2662 *                       break;
    2663 *
     2661
     2662|                       break;
     2663
    26642664                bra     F04L137
    2665 *
    2666 *               case SM_PTCH:
    2667 *                       ltmp = pch;
    2668 *
     2665
     2666|               case SM_PTCH:
     2667|                       ltmp = pch;
     2668
    26692669F04L140:        move    PCH(A6),A0
    26702670                move.l  A0,LTMP(A6)
    2671 *
    2672 *                       break;
    2673 *
     2671
     2672|                       break;
     2673
    26742674                bra     F04L137
    2675 *
    2676                 .page
    2677 *
    2678 *               case SM_FREQ:
    2679 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    2680 *
     2675
     2676                .page
     2677
     2678|               case SM_FREQ:
     2679|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     2680
    26812681F04L141:        move    PCH(A6),D0
    26822682                asr     #7,D0
     
    26882688                ext.l   D0
    26892689                move.l  D0,LTMP(A6)
    2690 *
    2691 *                       break;
    2692 *
     2690
     2691|                       break;
     2692
    26932693                bra     F04L137
    2694 *
    2695 *               case SM_KVEL:
    2696 *                       ltmp = veltab[trg];
    2697 *
     2694
     2695|               case SM_KVEL:
     2696|                       ltmp = veltab[trg];
     2697
    26982698F04L142:        move    TRG(A6),A0
    26992699                add.l   A0,A0
     
    27022702                ext.l   D0
    27032703                move.l  D0,LTMP(A6)
    2704 *
    2705 *                       break;
    2706 *
     2704
     2705|                       break;
     2706
    27072707                bra     F04L137
    2708 *
    2709                 .page
    2710 *
    2711 *               case SM_KPRS:
    2712 *                       ltmp = prstab[trg];
    2713 *
     2708
     2709                .page
     2710
     2711|               case SM_KPRS:
     2712|                       ltmp = prstab[trg];
     2713
    27142714F04L143:        move    TRG(A6),A0
    27152715                add.l   A0,A0
     
    27182718                ext.l   D0
    27192719                move.l  D0,LTMP(A6)
    2720 *
    2721 *                       break;
    2722 *
     2720
     2721|                       break;
     2722
    27232723                bra     F04L137
    2724 *
    2725                 .page
    2726 *
    2727 *               default:
    2728 *                       ltmp = valents[group | pt->ipvsrc].val;
    2729 *
     2724
     2725                .page
     2726
     2727|               default:
     2728|                       ltmp = valents[group | pt->ipvsrc].val;
     2729
    27302730F04L144:        move.l  PT(A6),A0
    27312731                clr.l   D0
     
    27412741                move    8(A0,A1.l),D0
    27422742                move.l  D0,LTMP(A6)
    2743 *
    2744 *               }
    2745 *
    2746 *
    2747                 .page
    2748 *
    2749 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    2750 *
     2743
     2744|               }
     2745
     2746
     2747                .page
     2748
     2749|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     2750
    27512751F04L137:        move.l  PT(A6),A0
    27522752                move.w  4(A0),D0
     
    27562756                asr.l   D1,D0
    27572757                move.l  D0,LTMP(A6)
    2758 *
    2759 *               ltmp += (long)pt->ipval;
    2760 *
     2758
     2759|               ltmp += (long)pt->ipval;
     2760
    27612761                move.l  PT(A6),A0
    27622762                move    2(A0),D0
    27632763                ext.l   D0
    27642764                add.l   D0,LTMP(A6)
    2765 *
    2766 *               if (ltmp GT (long)VALMAX)
    2767 *                       ltmp = (long)VALMAX;
    2768 *
     2765
     2766|               if (ltmp GT (long)VALMAX)
     2767|                       ltmp = (long)VALMAX;
     2768
    27692769                cmp.l   #VALMAX,LTMP(A6)
    27702770                ble     F04L146
    2771 *
     2771
    27722772                move.l  #VALMAX,LTMP(A6)
    27732773                bra     F04L147
    2774 *
    2775 *               else if (ltmp LT (long)VALMIN)
    2776 *                       ltmp = (long)VALMIN;
    2777 *
     2774
     2775|               else if (ltmp LT (long)VALMIN)
     2776|                       ltmp = (long)VALMIN;
     2777
    27782778F04L146:        cmp.l   #VALMIN,LTMP(A6)
    27792779                bge     F04L147
    2780 *
     2780
    27812781                move.l  #VALMIN,LTMP(A6)
    2782 *
    2783 *               tfpval = (short)ltmp;
    2784 *
     2782
     2783|               tfpval = (short)ltmp;
     2784
    27852785F04L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    27862786                bra     F04L149
    2787 *
    2788 *       } else {
    2789 *
    2790 *               tfpval = pt->ipval;
    2791 *
     2787
     2788|       } else {
     2789
     2790|               tfpval = pt->ipval;
     2791
    27922792F04L136:        move.l  PT(A6),A0
    27932793                move    2(A0),TFPVAL(A6)
    2794 *
    2795 *       }
    2796 *
    2797                 .page
    2798 *
    2799 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    2800 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    2801 *
     2794
     2795|       }
     2796
     2797                .page
     2798
     2799|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     2800|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     2801
    28022802F04L149:        move.l  PT(A6),A0
    28032803                move.w  (A0),D0
    28042804                move.w  D0,D2
    2805                 andi.w  #$FFF0,D0
     2805                andi.w  #0xFFF0,D0
    28062806                move.w  _timemlt,D1
    28072807                muls    D1,D0
     
    28092809                asr.l   D1,D0
    28102810                move    D0,R_FPMANT
    2811 *
    2812 *       fpexp = expbit[pt->iptim & 0x000F];
    2813 *
    2814                 and     #$000F,D2
     2811
     2812|       fpexp = expbit[pt->iptim & 0x000F];
     2813
     2814                and     #0x000F,D2
    28152815                move    D2,A0
    28162816                add.l   A0,A0
    28172817                add.l   #_expbit,A0
    28182818                move    (A0),R_FPEXP
    2819 *
    2820                 .page
    2821 *
    2822 *               fp->idfpch = pch;
    2823 *
     2819
     2820                .page
     2821
     2822|               fp->idfpch = pch;
     2823
    28242824F04L158:        move    PCH(A6),(A_FP)
    2825 *
    2826 *               ltmp = ((long)tfpval >> 1) + ((longtfpval >>2)
    2827 *                       + (long)fp->idfpch;
    2828 *
     2825
     2826|               ltmp = ((long)tfpval >> 1) + ((longtfpval >>2)
     2827|                       + (long)fp->idfpch;
     2828
    28292829                move    TFPVAL(A6),D0
    28302830                ext.l   D0
     
    28382838                add.l   D1,D0
    28392839                move.l  D0,LTMP(A6)
    2840 *
    2841 *               if (ltmp GT (long)VALMAX)
    2842 *                       ltmp = (long)VALMAX;
    2843 *
     2840
     2841|               if (ltmp GT (long)VALMAX)
     2842|                       ltmp = (long)VALMAX;
     2843
    28442844                cmp.l   #VALMAX,LTMP(A6)
    28452845                ble     F04L159
    2846 *
     2846
    28472847                move.l  #VALMAX,LTMP(A6)
    28482848                bra     F04L160
    2849 *
    2850 *               else if (ltmp LT (long)VALMIN)
    2851 *                       ltmp = (long)VALMIN;
    2852 *
     2849
     2850|               else if (ltmp LT (long)VALMIN)
     2851|                       ltmp = (long)VALMIN;
     2852
    28532853F04L159:        cmp.l   #VALMIN,LTMP(A6)
    28542854                bge     F04L160
    2855 *
     2855
    28562856                move.l  #VALMIN,LTMP(A6)
    2857 *
    2858 *               fpval = (short)ltmp;
    2859 *
     2857
     2858|               fpval = (short)ltmp;
     2859
    28602860F04L160:        move.l  LTMP(A6),D0
    28612861                move    D0,R_FPVAL
    2862 *
    2863                 .page
    2864 *
     2862
     2863                .page
     2864
    28652865                move.b  5(A_FP),D0
    28662866                ext.w   D0
    28672867                sub.w   #1,D0
    28682868                movea.l PT(A6),A0
    2869 *
    2870 *       oldi = setipl(FPU_DI);
    2871 *
     2869
     2870|       oldi = setipl(FPU_DI);
     2871
    28722872                move    sr,OLDI(A6)
    28732873                move    #FPU_DI,sr
    2874 *
     2874
    28752875F04L168:        clr.b   10(A0)
    28762876                add.l   #12,a0
    28772877                dbra    D0,F04L168
    2878 *
    2879                 .page
    2880 *
    2881 *       fp->idftmd ^= I_NVBITS;
    2882 *
     2878
     2879                .page
     2880
     2881|       fp->idftmd ^= I_NVBITS;
     2882
    28832883F04L165:        eor.b   #24,7(A_FP)
    2884 *
    2885 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    2886 *
     2884
     2885|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     2886
    28872887                move.b  7(A_FP),R_FPCTL
    28882888                and     #28,R_FPCTL
    28892889                or      #3,R_FPCTL
    2890 *
    2891 *       fp->idfcpt = fp->idfpt1;
    2892 *
     2890
     2891|       fp->idfcpt = fp->idfpt1;
     2892
    28932893                move.b  6(A_FP),8(A_FP)
    2894 *
    2895 *       fp->idftmd |= I_ACTIVE;
    2896 *
     2894
     2895|       fp->idftmd |= I_ACTIVE;
     2896
    28972897                or.b    #2,7(A_FP)
    2898 *
    2899 *       fp->idftrf = trg;
    2900 *
     2898
     2899|       fp->idftrf = trg;
     2900
    29012901                move    TRG(A6),10(A_FP)
    2902 *
    2903 *       *(fpu + (long)FPU_TCV1) = srcval;
    2904 *
    2905                 move    SRCVAL(A6),$8(A_FPU)
    2906 *
    2907 *       ++octype;
    2908 *
     2902
     2903|       |(fpu + (long)FPU_TCV1) = srcval;
     2904
     2905                move    SRCVAL(A6),0x8(A_FPU)
     2906
     2907|       ++octype;
     2908
    29092909                add     #1,OCTYPE(A6)
    2910 *
    2911 *       *(fpu + (long)FPU_TSF1) = mltval;
    2912 *
    2913                 move    MLTVAL(A6),$A(A_FPU)
    2914 *
    2915 *       ++octype;
    2916 *
     2910
     2911|       |(fpu + (long)FPU_TSF1) = mltval;
     2912
     2913                move    MLTVAL(A6),0xA(A_FPU)
     2914
     2915|       ++octype;
     2916
    29172917                add     #1,OCTYPE(A6)
    2918 *
    2919 *       *(fpu + (long)FPU_TMNT) = fpmant;
    2920 *
    2921                 move    R_FPMANT,$14(A_FPU)
    2922 *
    2923 *       ++octype;
    2924 *
     2918
     2919|       |(fpu + (long)FPU_TMNT) = fpmant;
     2920
     2921                move    R_FPMANT,0x14(A_FPU)
     2922
     2923|       ++octype;
     2924
    29252925                add     #1,OCTYPE(A6)
    2926 *
    2927 *       *(fpu + (long)FPU_TEXP) = fpexp;
    2928 *
    2929                 move    R_FPEXP,$16(A_FPU)
    2930 *
    2931 *       ++octype;
    2932 *
     2926
     2927|       |(fpu + (long)FPU_TEXP) = fpexp;
     2928
     2929                move    R_FPEXP,0x16(A_FPU)
     2930
     2931|       ++octype;
     2932
    29332933                add     #1,OCTYPE(A6)
    2934 *
    2935                 .page
    2936 *
    2937 *       if (fp->idftmd & I_VNSUBN)
    2938 *
     2934
     2935                .page
     2936
     2937|       if (fp->idftmd & I_VNSUBN)
     2938
    29392939                btst    #3,7(A_FP)
    29402940                beq     F04L169
    2941 *
    2942 *               *(fpu + (long)FPU_TNV1) = fpval;
    2943 *
    2944                 move    R_FPVAL,$1C(A_FPU)
     2941
     2942|               |(fpu + (long)FPU_TNV1) = fpval;
     2943
     2944                move    R_FPVAL,0x1C(A_FPU)
    29452945                bra     F04L170
    2946 *
    2947 *       else
    2948 *               *(fpu + (long)FPU_TNV0) = fpval;
    2949 *
     2946
     2947|       else
     2948|               |(fpu + (long)FPU_TNV0) = fpval;
     2949
    29502950F04L169:        move    R_FPVAL,2(A_FPU)
    2951 *
    2952 *       ++octype;
    2953 *
     2951
     2952|       ++octype;
     2953
    29542954F04L170:        add     #1,OCTYPE(A6)
    2955 *
    2956 *       *(fpu + (long)FPU_TCTL) = fpctl;
    2957 *
     2955
     2956|       |(fpu + (long)FPU_TCTL) = fpctl;
     2957
    29582958                move    R_FPCTL,(A_FPU)
    2959 *
    2960 *       setipl(oldi);
    2961 *
     2959
     2960|       setipl(oldi);
     2961
    29622962                move    OLDI(A6),sr
    2963 *
    2964                 .page
    2965 * ------------------------------------------------------------------------------
    2966 * Start function 5 -- Loctn
    2967 * ------------------------------------------------------------------------------
    2968 *
    2969 *    if (ip->idhfnc[5].idftmd & I_TM_KEY) {
    2970 *
     2963
     2964                .page
     2965| ------------------------------------------------------------------------------
     2966| Start function 5 -- Loctn
     2967| ------------------------------------------------------------------------------
     2968
     2969|    if (ip->idhfnc[5].idftmd & I_TM_KEY) {
     2970
    29712971FN05:           move.l  IP(A6),A0
    29722972                move.b  153(A0),D0
     
    29752975                btst    #0,D0
    29762976                bne     FN05A
    2977 *
     2977
    29782978                jmp     FN06
    2979 *
    2980 *       vp = (vce << 4) + 4;
    2981 *
     2979
     2980|       vp = (vce << 4) + 4;
     2981
    29822982FN05A:          move    VCE(A6),D0
    29832983                asl     #4,D0
    29842984                add.w   #4,D0
    29852985                move    D0,VP(A6)
    2986 *
    2987 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    2988 *
     2986
     2987|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     2988
    29892989                asl     #5,D0
    29902990                ext.l   D0
    29912991                move.l  D0,A_FPU
    2992                 add.l   #_io_fpu+$4000,A_FPU
    2993 *
    2994 *       fp = &ip->idhfnc[5];
    2995 *
     2992                add.l   #_io_fpu+0x4000,A_FPU
     2993
     2994|       fp = &ip->idhfnc[5];
     2995
    29962996                move.l  #60,A_FP
    29972997                add.l   IP(A6),A_FP
    29982998                add.l   #86,A_FP
    2999 *
    3000 *       pt = &ip->idhpnt[fp->idfpt1];
    3001 *
     2999
     3000|       pt = &ip->idhpnt[fp->idfpt1];
     3001
    30023002                clr.l   D0
    30033003                move.b  6(A_FP),D0
     
    30093009                add.l   #242,D0
    30103010                move.l  D0,PT(A6)
    3011 *
    3012                 .page
    3013 *
    3014 *       srcnum = group | fp->idfsrc;
    3015 *
     3011
     3012                .page
     3013
     3014|       srcnum = group | fp->idfsrc;
     3015
    30163016                move.w  GROUP(A6),D0
    30173017                ext.l   D0
     
    30203020                or      D1,D0
    30213021                move    D0,SRCNUM(A6)
    3022 *
    3023 *       vep = &valents[srcnum];
    3024 *
     3022
     3023|       vep = &valents[srcnum];
     3024
    30253025                add.l   D0,D0
    30263026                move.l  D0,D1
     
    30293029                add.l   #_valents,D0
    30303030                move.l  D0,VEP(A6)
    3031 *
    3032 *       smp = vpsms[vp];
    3033 *
     3031
     3032|       smp = vpsms[vp];
     3033
    30343034                move    VP(A6),A0
    30353035                add.l   A0,A0
     
    30373037                add.l   #_vpsms,A0
    30383038                move.l  (A0),A_SMP
    3039 *
    3040 *       if (srcnum NE smp->sm) {
    3041 *
     3039
     3040|       if (srcnum NE smp->sm) {
     3041
    30423042                clr     D0
    30433043                move    10(A_SMP),D0
    30443044                cmp     SRCNUM(A6),D0
    30453045                beq     F05L113
    3046 *
    3047 *               (smp->prv)->nxt = smp->nxt;
    3048 *
     3046
     3047|               (smp->prv)->nxt = smp->nxt;
     3048
    30493049                move.l  4(A_SMP),A0
    30503050                move.l  (A_SMP),(A0)
    3051 *
    3052 *               (smp->nxt)->prv = smp->prv;
    3053 *
     3051
     3052|               (smp->nxt)->prv = smp->prv;
     3053
    30543054                move.l  (A_SMP),A0
    30553055                move.l  4(A_SMP),4(A0)
    3056 *
    3057 *               smp->prv = (struct sment *)vep;
    3058 *
     3056
     3057|               smp->prv = (struct sment |)vep;
     3058
    30593059                move.l  VEP(A6),4(A_SMP)
    3060 *
    3061 *               smp->nxt = vep->nxt;
    3062 *
     3060
     3061|               smp->nxt = vep->nxt;
     3062
    30633063                move.l  VEP(A6),A0
    30643064                move.l  (A0),(A_SMP)
    3065 *
    3066 *               (vep->nxt)->prv = smp;
    3067 *
     3065
     3066|               (vep->nxt)->prv = smp;
     3067
    30683068                move.l  VEP(A6),A0
    30693069                move.l  (A0),A0
    30703070                move.l  A_SMP,4(A0)
    3071 *
    3072 *               vep->nxt = smp;
    3073 *
     3071
     3072|               vep->nxt = smp;
     3073
    30743074                move.l  VEP(A6),A0
    30753075                move.l  A_SMP,(A0)
    3076 *
    3077 *               smp->sm = srcnum;
    3078 *
     3076
     3077|               smp->sm = srcnum;
     3078
    30793079                move    SRCNUM(A6),10(A_SMP)
    3080 *
    3081 *       }
    3082 *
    3083 *       mltval = fp->idfmlt;
    3084 *
     3080
     3081|       }
     3082
     3083|       mltval = fp->idfmlt;
     3084
    30853085F05L113:        move    2(A_FP),MLTVAL(A6)
    3086 *
    3087                 .page
    3088 *
    3089 *       switch (fp->idfsrc) {
    3090 *
     3086
     3087                .page
     3088
     3089|       switch (fp->idfsrc) {
     3090
    30913091                move.b  4(A_FP),D0
    30923092                ext.w   d0
    30933093                cmp     #10,D0
    30943094                bhi     F05L122
    3095 *
     3095
    30963096                asl     #2,D0
    30973097                lea     F05L123,A0
    30983098                movea.l 0(A0,D0.W),A0
    30993099                jmp     (A0)
    3100 *
    3101 *       case SM_NONE:
    3102 *               mltval = 0;
    3103 *
     3100
     3101|       case SM_NONE:
     3102|               mltval = 0;
     3103
    31043104F05L116:        clr     MLTVAL(A6)
    3105 *
    3106 *               tsrcval = 0;
    3107 *
     3105
     3106|               tsrcval = 0;
     3107
    31083108                clr     TSRCVAL(A6)
    3109 *
    3110 *               break;
    3111 *
     3109
     3110|               break;
     3111
    31123112                bra     F05L114
    3113 *
    3114 *       case SM_RAND:
    3115 *               tsrcval = xgetran(mltval);
    3116 *
     3113
     3114|       case SM_RAND:
     3115|               tsrcval = xgetran(mltval);
     3116
    31173117F05L117:        move    MLTVAL(A6),(sp)
    31183118                jsr     _xgetran
    31193119                move    D0,TSRCVAL(A6)
    3120 *
    3121 *               break;
    3122 *
     3120
     3121|               break;
     3122
    31233123                bra     F05L114
    3124 *
    3125 *       case SM_PTCH:
    3126 *               tsrcval = pch;
    3127 *
     3124
     3125|       case SM_PTCH:
     3126|               tsrcval = pch;
     3127
    31283128F05L118:        move    PCH(A6),TSRCVAL(A6)
    3129 *
    3130 *               break;
    3131 *
     3129
     3130|               break;
     3131
    31323132                bra     F05L114
    3133 *
    3134                 .page
    3135 *
    3136 *       case SM_FREQ:
    3137 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    3138 *
     3133
     3134                .page
     3135
     3136|       case SM_FREQ:
     3137|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     3138
    31393139F05L119:        move    PCH(A6),D0
    31403140                asr     #7,D0
     
    31443144                add.l   #_ptoftab,A0
    31453145                move    (A0),TSRCVAL(A6)
    3146 *
    3147 *               break;
    3148 *
     3146
     3147|               break;
     3148
    31493149                bra     F05L114
    3150 *
    3151 *       case SM_KVEL:
    3152 *               tsrcval = veltab[trg];
    3153 *
     3150
     3151|       case SM_KVEL:
     3152|               tsrcval = veltab[trg];
     3153
    31543154F05L120:        move    TRG(A6),A0
    31553155                add.l   A0,A0
    31563156                add.l   #_veltab,A0
    31573157                move    (A0),TSRCVAL(A6)
    3158 *
    3159 *               break;
    3160 *
     3158
     3159|               break;
     3160
    31613161                bra     F05L114
    3162 *
    3163 *       case SM_KPRS:
    3164 *               tsrcval = prstab[trg];
    3165 *
     3162
     3163|       case SM_KPRS:
     3164|               tsrcval = prstab[trg];
     3165
    31663166F05L121:        move    TRG(A6),A0
    31673167                add.l   A0,A0
    31683168                add.l   #_prstab,A0
    31693169                move    (A0),TSRCVAL(A6)
    3170 *
    3171 *               break;
    3172 *
     3170
     3171|               break;
     3172
    31733173                bra     F05L114
    3174 *
    3175 *       default:
    3176 *               tsrcval = vep->val;
    3177 *
     3174
     3175|       default:
     3176|               tsrcval = vep->val;
     3177
    31783178F05L122:        move.l  VEP(A6),A0
    31793179                move    8(A0),TSRCVAL(A6)
    3180 *
    3181 *       }
    3182 *
    3183                 .page
    3184 *
    3185 *               srcval = tsrcval;
    3186 *
     3180
     3181|       }
     3182
     3183                .page
     3184
     3185|               srcval = tsrcval;
     3186
    31873187F05L114:        move    TSRCVAL(A6),SRCVAL(A6)
    3188 *
    3189                 .page
    3190 *
    3191 *       if (pt->ipvsrc) {
    3192 *
     3188
     3189                .page
     3190
     3191|       if (pt->ipvsrc) {
     3192
    31933193F05L124:        move.l  PT(A6),A0
    31943194                tst.b   6(A0)
    31953195                beq     F05L136
    3196 *
    3197 *               switch (pt->ipvsrc) {
    3198 *
     3196
     3197|               switch (pt->ipvsrc) {
     3198
    31993199                move.l  PT(A6),A0
    32003200                move.b  6(A0),D0
     
    32033203                cmp     #9,D0
    32043204                bhi     F05L144
    3205 *
     3205
    32063206                asl     #2,D0
    32073207                lea     F05L145,A0
    32083208                move.l  0(A0,D0.W),A0
    32093209                jmp     (A0)
    3210 *
    3211 *               case SM_RAND:
    3212 *                       ltmp = xgetran(pt_>ipvmlt);
    3213 *
     3210
     3211|               case SM_RAND:
     3212|                       ltmp = xgetran(pt_>ipvmlt);
     3213
    32143214F05L139:        move.l  PT(A6),A0
    32153215                move    4(A0),(sp)
     
    32173217                ext.l   D0
    32183218                move.l  D0,LTMP(A6)
    3219 *
    3220 *                       break;
    3221 *
     3219
     3220|                       break;
     3221
    32223222                bra     F05L137
    3223 *
    3224 *               case SM_PTCH:
    3225 *                       ltmp = pch;
    3226 *
     3223
     3224|               case SM_PTCH:
     3225|                       ltmp = pch;
     3226
    32273227F05L140:        move    PCH(A6),A0
    32283228                move.l  A0,LTMP(A6)
    3229 *
    3230 *                       break;
    3231 *
     3229
     3230|                       break;
     3231
    32323232                bra     F05L137
    3233 *
    3234                 .page
    3235 *
    3236 *               case SM_FREQ:
    3237 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    3238 *
     3233
     3234                .page
     3235
     3236|               case SM_FREQ:
     3237|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     3238
    32393239F05L141:        move    PCH(A6),D0
    32403240                asr     #7,D0
     
    32463246                ext.l   D0
    32473247                move.l  D0,LTMP(A6)
    3248 *
    3249 *                       break;
    3250 *
     3248
     3249|                       break;
     3250
    32513251                bra     F05L137
    3252 *
    3253 *               case SM_KVEL:
    3254 *                       ltmp = veltab[trg];
    3255 *
     3252
     3253|               case SM_KVEL:
     3254|                       ltmp = veltab[trg];
     3255
    32563256F05L142:        move    TRG(A6),A0
    32573257                add.l   A0,A0
     
    32603260                ext.l   D0
    32613261                move.l  D0,LTMP(A6)
    3262 *
    3263 *                       break;
    3264 *
     3262
     3263|                       break;
     3264
    32653265                bra     F05L137
    3266 *
    3267                 .page
    3268 *
    3269 *               case SM_KPRS:
    3270 *                       ltmp = prstab[trg];
    3271 *
     3266
     3267                .page
     3268
     3269|               case SM_KPRS:
     3270|                       ltmp = prstab[trg];
     3271
    32723272F05L143:        move    TRG(A6),A0
    32733273                add.l   A0,A0
     
    32763276                ext.l   D0
    32773277                move.l  D0,LTMP(A6)
    3278 *
    3279 *                       break;
    3280 *
     3278
     3279|                       break;
     3280
    32813281                bra     F05L137
    3282 *
    3283                 .page
    3284 *
    3285 *               default:
    3286 *                       ltmp = valents[group | pt->ipvsrc].val;
    3287 *
     3282
     3283                .page
     3284
     3285|               default:
     3286|                       ltmp = valents[group | pt->ipvsrc].val;
     3287
    32883288F05L144:        move.l  PT(A6),A0
    32893289                clr.l   D0
     
    32993299                move    8(A0,A1.l),D0
    33003300                move.l  D0,LTMP(A6)
    3301 *
    3302 *               }
    3303 *
    3304 *
    3305                 .page
    3306 *
    3307 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    3308 *
     3301
     3302|               }
     3303
     3304
     3305                .page
     3306
     3307|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     3308
    33093309F05L137:        move.l  PT(A6),A0
    33103310                move.w  4(A0),D0
     
    33143314                asr.l   D1,D0
    33153315                move.l  D0,LTMP(A6)
    3316 *
    3317 *               ltmp += (long)pt->ipval;
    3318 *
     3316
     3317|               ltmp += (long)pt->ipval;
     3318
    33193319                move.l  PT(A6),A0
    33203320                move    2(A0),D0
    33213321                ext.l   D0
    33223322                add.l   D0,LTMP(A6)
    3323 *
    3324 *               if (ltmp GT (long)VALMAX)
    3325 *                       ltmp = (long)VALMAX;
    3326 *
     3323
     3324|               if (ltmp GT (long)VALMAX)
     3325|                       ltmp = (long)VALMAX;
     3326
    33273327                cmp.l   #VALMAX,LTMP(A6)
    33283328                ble     F05L146
    3329 *
     3329
    33303330                move.l  #VALMAX,LTMP(A6)
    33313331                bra     F05L147
    3332 *
    3333 *               else if (ltmp LT (long)VALMIN)
    3334 *                       ltmp = (long)VALMIN;
    3335 *
     3332
     3333|               else if (ltmp LT (long)VALMIN)
     3334|                       ltmp = (long)VALMIN;
     3335
    33363336F05L146:        cmp.l   #VALMIN,LTMP(A6)
    33373337                bge     F05L147
    3338 *
     3338
    33393339                move.l  #VALMIN,LTMP(A6)
    3340 *
    3341 *               tfpval = (short)ltmp;
    3342 *
     3340
     3341|               tfpval = (short)ltmp;
     3342
    33433343F05L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    33443344                bra     F05L149
    3345 *
    3346 *       } else {
    3347 *
    3348 *               tfpval = pt->ipval;
    3349 *
     3345
     3346|       } else {
     3347
     3348|               tfpval = pt->ipval;
     3349
    33503350F05L136:        move.l  PT(A6),A0
    33513351                move    2(A0),TFPVAL(A6)
    3352 *
    3353 *       }
    3354 *
    3355                 .page
    3356 *
    3357 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    3358 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    3359 *
     3352
     3353|       }
     3354
     3355                .page
     3356
     3357|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     3358|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     3359
    33603360F05L149:        move.l  PT(A6),A0
    33613361                move.w  (A0),D0
    33623362                move.w  D0,D2
    3363                 andi.w  #$FFF0,D0
     3363                andi.w  #0xFFF0,D0
    33643364                move.w  _timemlt,D1
    33653365                muls    D1,D0
     
    33673367                asr.l   D1,D0
    33683368                move    D0,R_FPMANT
    3369 *
    3370 *       fpexp = expbit[pt->iptim & 0x000F];
    3371 *
    3372                 and     #$000F,D2
     3369
     3370|       fpexp = expbit[pt->iptim & 0x000F];
     3371
     3372                and     #0x000F,D2
    33733373                move    D2,A0
    33743374                add.l   A0,A0
    33753375                add.l   #_expbit,A0
    33763376                move    (A0),R_FPEXP
    3377 *
    3378                 .page
    3379 *
    3380 *               fp->idfpch = pch;
    3381 *
     3377
     3378                .page
     3379
     3380|               fp->idfpch = pch;
     3381
    33823382F05L163:        move    PCH(A6),(A_FP)
    3383 *
    3384 *               if (tfpval > VALMAX)
    3385 *                       tfpval = VALMAX;
    3386 *               else if (tfpval < 0)
    3387 *                       tfpval = 0;
    3388 *
     3383
     3384|               if (tfpval > VALMAX)
     3385|                       tfpval = VALMAX;
     3386|               else if (tfpval < 0)
     3387|                       tfpval = 0;
     3388
    33893389                move.w  TFPVAL(A6),D0
    3390                 cmp.w   #$7D00,D0
     3390                cmp.w   #0x7D00,D0
    33913391                ble     F05L163B
    3392 *
    3393                 move.w  #$7D00,D0
     3392
     3393                move.w  #0x7D00,D0
    33943394                bra     F05L163A
    3395                
     3395
    33963396F05L163B:       tst.w   D0
    33973397                bpl     F05L163A
    3398 *
     3398
    33993399                clr.w   D0
    3400 *
    3401 *#if    LOC_EOR
    3402 *               fpval = (tfpval << 1) ^ 0x8000;
    3403 *#endif
    3404 *
     3400
     3401|#if    LOC_EOR
     3402|               fpval = (tfpval << 1) ^ 0x8000;
     3403|#endif
     3404
    34053405                .ifne   LOC_EOR
    34063406F05L163A:       add.w   D0,D0
    3407                 eor.w   #$8000,D0
     3407                eor.w   #0x8000,D0
    34083408                .endc
    3409 *
    3410 *#if    LOC_SUB
    3411 *               fpval = ((tfpval >> 5) - 500) << 6;
    3412 *#endif
    3413 *
     3409
     3410|#if    LOC_SUB
     3411|               fpval = ((tfpval >> 5) - 500) << 6;
     3412|#endif
     3413
    34143414                .ifne   LOC_SUB
    34153415F05L163A:       asr.w   #5,D0
     
    34173417                asl.w   #6,D0
    34183418                .endc
    3419 *
     3419
    34203420                move.w  D0,R_FPVAL
    3421 *
    3422                 .page
    3423 *
     3421
     3422                .page
     3423
    34243424                move.b  5(A_FP),D0
    34253425                ext.w   D0
    34263426                sub.w   #1,D0
    34273427                movea.l PT(A6),A0
    3428 *
    3429 *       oldi = setipl(FPU_DI);
    3430 *
     3428
     3429|       oldi = setipl(FPU_DI);
     3430
    34313431                move    sr,OLDI(A6)
    34323432                move    #FPU_DI,sr
    3433 *
     3433
    34343434F05L168:        clr.b   10(A0)
    34353435                add.l   #12,a0
    34363436                dbra    D0,F05L168
    3437 *
    3438                 .page
    3439 *
    3440 *       fp->idftmd ^= I_NVBITS;
    3441 *
     3437
     3438                .page
     3439
     3440|       fp->idftmd ^= I_NVBITS;
     3441
    34423442F05L165:        eor.b   #24,7(A_FP)
    3443 *
    3444 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    3445 *
     3443
     3444|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     3445
    34463446                move.b  7(A_FP),R_FPCTL
    34473447                and     #28,R_FPCTL
    34483448                or      #3,R_FPCTL
    3449 *
    3450 *       fp->idfcpt = fp->idfpt1;
    3451 *
     3449
     3450|       fp->idfcpt = fp->idfpt1;
     3451
    34523452                move.b  6(A_FP),8(A_FP)
    3453 *
    3454 *       fp->idftmd |= I_ACTIVE;
    3455 *
     3453
     3454|       fp->idftmd |= I_ACTIVE;
     3455
    34563456                or.b    #2,7(A_FP)
    3457 *
    3458 *       fp->idftrf = trg;
    3459 *
     3457
     3458|       fp->idftrf = trg;
     3459
    34603460                move    TRG(A6),10(A_FP)
    3461 *
    3462 *       *(fpu + (long)FPU_TCV1) = srcval;
    3463 *
    3464                 move    SRCVAL(A6),$8(A_FPU)
    3465 *
    3466 *       ++octype;
    3467 *
     3461
     3462|       |(fpu + (long)FPU_TCV1) = srcval;
     3463
     3464                move    SRCVAL(A6),0x8(A_FPU)
     3465
     3466|       ++octype;
     3467
    34683468                add     #1,OCTYPE(A6)
    3469 *
    3470 *       *(fpu + (long)FPU_TSF1) = mltval;
    3471 *
    3472                 move    MLTVAL(A6),$A(A_FPU)
    3473 *
    3474 *       ++octype;
    3475 *
     3469
     3470|       |(fpu + (long)FPU_TSF1) = mltval;
     3471
     3472                move    MLTVAL(A6),0xA(A_FPU)
     3473
     3474|       ++octype;
     3475
    34763476                add     #1,OCTYPE(A6)
    3477 *
    3478 *       *(fpu + (long)FPU_TMNT) = fpmant;
    3479 *
    3480                 move    R_FPMANT,$14(A_FPU)
    3481 *
    3482 *       ++octype;
    3483 *
     3477
     3478|       |(fpu + (long)FPU_TMNT) = fpmant;
     3479
     3480                move    R_FPMANT,0x14(A_FPU)
     3481
     3482|       ++octype;
     3483
    34843484                add     #1,OCTYPE(A6)
    3485 *
    3486 *       *(fpu + (long)FPU_TEXP) = fpexp;
    3487 *
    3488                 move    R_FPEXP,$16(A_FPU)
    3489 *
    3490 *       ++octype;
    3491 *
     3485
     3486|       |(fpu + (long)FPU_TEXP) = fpexp;
     3487
     3488                move    R_FPEXP,0x16(A_FPU)
     3489
     3490|       ++octype;
     3491
    34923492                add     #1,OCTYPE(A6)
    3493 *
    3494                 .page
    3495 *
    3496 *       if (fp->idftmd & I_VNSUBN)
    3497 *
     3493
     3494                .page
     3495
     3496|       if (fp->idftmd & I_VNSUBN)
     3497
    34983498                btst    #3,7(A_FP)
    34993499                beq     F05L169
    3500 *
    3501 *               *(fpu + (long)FPU_TNV1) = fpval;
    3502 *
    3503                 move    R_FPVAL,$1C(A_FPU)
     3500
     3501|               |(fpu + (long)FPU_TNV1) = fpval;
     3502
     3503                move    R_FPVAL,0x1C(A_FPU)
    35043504                bra     F05L170
    3505 *
    3506 *       else
    3507 *               *(fpu + (long)FPU_TNV0) = fpval;
    3508 *
     3505
     3506|       else
     3507|               |(fpu + (long)FPU_TNV0) = fpval;
     3508
    35093509F05L169:        move    R_FPVAL,2(A_FPU)
    3510 *
    3511 *       ++octype;
    3512 *
     3510
     3511|       ++octype;
     3512
    35133513F05L170:        add     #1,OCTYPE(A6)
    3514 *
    3515 *       *(fpu + (long)FPU_TCTL) = fpctl;
    3516 *
     3514
     3515|       |(fpu + (long)FPU_TCTL) = fpctl;
     3516
    35173517                move    R_FPCTL,(A_FPU)
    3518 *
    3519 *       setipl(oldi);
    3520 *
     3518
     3519|       setipl(oldi);
     3520
    35213521                move    OLDI(A6),sr
    3522 *
    3523                 .page
    3524 * ------------------------------------------------------------------------------
    3525 * Start function 6 -- Ind 1
    3526 * ------------------------------------------------------------------------------
    3527 *
    3528 *    if (ip->idhfnc[2].idftmd & I_TM_KEY) {
    3529 *
     3522
     3523                .page
     3524| ------------------------------------------------------------------------------
     3525| Start function 6 -- Ind 1
     3526| ------------------------------------------------------------------------------
     3527
     3528|    if (ip->idhfnc[2].idftmd & I_TM_KEY) {
     3529
    35303530FN06:           move.l  IP(A6),A0
    35313531                move.b  165(A0),D0
     
    35343534                btst    #0,D0
    35353535                bne     FN06A
    3536 *
     3536
    35373537                jmp     FN07
    3538 *
    3539 *       vp = (vce << 4) + 9;
    3540 *
     3538
     3539|       vp = (vce << 4) + 9;
     3540
    35413541FN06A:          move    VCE(A6),D0
    35423542                asl     #4,D0
    35433543                add.w   #9,D0
    35443544                move    D0,VP(A6)
    3545 *
    3546 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    3547 *
     3545
     3546|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     3547
    35483548                asl     #5,D0
    35493549                ext.l   D0
    35503550                move.l  D0,A_FPU
    3551                 add.l   #_io_fpu+$4000,A_FPU
    3552 *
    3553 *       fp = &ip->idhfnc[6];
    3554 *
     3551                add.l   #_io_fpu+0x4000,A_FPU
     3552
     3553|       fp = &ip->idhfnc[6];
     3554
    35553555                move.l  #72,A_FP
    35563556                add.l   IP(A6),A_FP
    35573557                add.l   #86,A_FP
    3558 *
    3559 *       pt = &ip->idhpnt[fp->idfpt1];
    3560 *
     3558
     3559|       pt = &ip->idhpnt[fp->idfpt1];
     3560
    35613561                clr.l   D0
    35623562                move.b  6(A_FP),D0
     
    35683568                add.l   #242,D0
    35693569                move.l  D0,PT(A6)
    3570 *
    3571                 .page
    3572 *
    3573 *       srcnum = group | fp->idfsrc;
    3574 *
     3570
     3571                .page
     3572
     3573|       srcnum = group | fp->idfsrc;
     3574
    35753575                move.w  GROUP(A6),D0
    35763576                ext.l   D0
     
    35793579                or      D1,D0
    35803580                move    D0,SRCNUM(A6)
    3581 *
    3582 *       vep = &valents[srcnum];
    3583 *
     3581
     3582|       vep = &valents[srcnum];
     3583
    35843584                add.l   D0,D0
    35853585                move.l  D0,D1
     
    35883588                add.l   #_valents,D0
    35893589                move.l  D0,VEP(A6)
    3590 *
    3591 *       smp = vpsms[vp];
    3592 *
     3590
     3591|       smp = vpsms[vp];
     3592
    35933593                move    VP(A6),A0
    35943594                add.l   A0,A0
     
    35963596                add.l   #_vpsms,A0
    35973597                move.l  (A0),A_SMP
    3598 *
    3599 *       if (srcnum NE smp->sm) {
    3600 *
     3598
     3599|       if (srcnum NE smp->sm) {
     3600
    36013601                clr     D0
    36023602                move    10(A_SMP),D0
    36033603                cmp     SRCNUM(A6),D0
    36043604                beq     F06L113
    3605 *
    3606 *               (smp->prv)->nxt = smp->nxt;
    3607 *
     3605
     3606|               (smp->prv)->nxt = smp->nxt;
     3607
    36083608                move.l  4(A_SMP),A0
    36093609                move.l  (A_SMP),(A0)
    3610 *
    3611 *               (smp->nxt)->prv = smp->prv;
    3612 *
     3610
     3611|               (smp->nxt)->prv = smp->prv;
     3612
    36133613                move.l  (A_SMP),A0
    36143614                move.l  4(A_SMP),4(A0)
    3615 *
    3616 *               smp->prv = (struct sment *)vep;
    3617 *
     3615
     3616|               smp->prv = (struct sment |)vep;
     3617
    36183618                move.l  VEP(A6),4(A_SMP)
    3619 *
    3620 *               smp->nxt = vep->nxt;
    3621 *
     3619
     3620|               smp->nxt = vep->nxt;
     3621
    36223622                move.l  VEP(A6),A0
    36233623                move.l  (A0),(A_SMP)
    3624 *
    3625 *               (vep->nxt)->prv = smp;
    3626 *
     3624
     3625|               (vep->nxt)->prv = smp;
     3626
    36273627                move.l  VEP(A6),A0
    36283628                move.l  (A0),A0
    36293629                move.l  A_SMP,4(A0)
    3630 *
    3631 *               vep->nxt = smp;
    3632 *
     3630
     3631|               vep->nxt = smp;
     3632
    36333633                move.l  VEP(A6),A0
    36343634                move.l  A_SMP,(A0)
    3635 *
    3636 *               smp->sm = srcnum;
    3637 *
     3635
     3636|               smp->sm = srcnum;
     3637
    36383638                move    SRCNUM(A6),10(A_SMP)
    3639 *
    3640 *       }
    3641 *
    3642 *       mltval = fp->idfmlt;
    3643 *
     3639
     3640|       }
     3641
     3642|       mltval = fp->idfmlt;
     3643
    36443644F06L113:        move    2(A_FP),MLTVAL(A6)
    3645 *
    3646                 .page
    3647 *
    3648 *       switch (fp->idfsrc) {
    3649 *
     3645
     3646                .page
     3647
     3648|       switch (fp->idfsrc) {
     3649
    36503650                move.b  4(A_FP),D0
    36513651                ext.w   d0
    36523652                cmp     #10,D0
    36533653                bhi     F06L122
    3654 *
     3654
    36553655                asl     #2,D0
    36563656                lea     F06L123,A0
    36573657                movea.l 0(A0,D0.W),A0
    36583658                jmp     (A0)
    3659 *
    3660 *       case SM_NONE:
    3661 *               mltval = 0;
    3662 *
     3659
     3660|       case SM_NONE:
     3661|               mltval = 0;
     3662
    36633663F06L116:        clr     MLTVAL(A6)
    3664 *
    3665 *               tsrcval = 0;
    3666 *
     3664
     3665|               tsrcval = 0;
     3666
    36673667                clr     TSRCVAL(A6)
    3668 *
    3669 *               break;
    3670 *
     3668
     3669|               break;
     3670
    36713671                bra     F06L114
    3672 *
    3673 *       case SM_RAND:
    3674 *               tsrcval = xgetran(mltval);
    3675 *
     3672
     3673|       case SM_RAND:
     3674|               tsrcval = xgetran(mltval);
     3675
    36763676F06L117:        move    MLTVAL(A6),(sp)
    36773677                jsr     _xgetran
    36783678                move    D0,TSRCVAL(A6)
    3679 *
    3680 *               break;
    3681 *
     3679
     3680|               break;
     3681
    36823682                bra     F06L114
    3683 *
    3684 *       case SM_PTCH:
    3685 *               tsrcval = pch;
    3686 *
     3683
     3684|       case SM_PTCH:
     3685|               tsrcval = pch;
     3686
    36873687F06L118:        move    PCH(A6),TSRCVAL(A6)
    3688 *
    3689 *               break;
    3690 *
     3688
     3689|               break;
     3690
    36913691                bra     F06L114
    3692 *
    3693                 .page
    3694 *
    3695 *       case SM_FREQ:
    3696 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    3697 *
     3692
     3693                .page
     3694
     3695|       case SM_FREQ:
     3696|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     3697
    36983698F06L119:        move    PCH(A6),D0
    36993699                asr     #7,D0
     
    37033703                add.l   #_ptoftab,A0
    37043704                move    (A0),TSRCVAL(A6)
    3705 *
    3706 *               break;
    3707 *
     3705
     3706|               break;
     3707
    37083708                bra     F06L114
    3709 *
    3710 *       case SM_KVEL:
    3711 *               tsrcval = veltab[trg];
    3712 *
     3709
     3710|       case SM_KVEL:
     3711|               tsrcval = veltab[trg];
     3712
    37133713F06L120:        move    TRG(A6),A0
    37143714                add.l   A0,A0
    37153715                add.l   #_veltab,A0
    37163716                move    (A0),TSRCVAL(A6)
    3717 *
    3718 *               break;
    3719 *
     3717
     3718|               break;
     3719
    37203720                bra     F06L114
    3721 *
    3722 *       case SM_KPRS:
    3723 *               tsrcval = prstab[trg];
    3724 *
     3721
     3722|       case SM_KPRS:
     3723|               tsrcval = prstab[trg];
     3724
    37253725F06L121:        move    TRG(A6),A0
    37263726                add.l   A0,A0
    37273727                add.l   #_prstab,A0
    37283728                move    (A0),TSRCVAL(A6)
    3729 *
    3730 *               break;
    3731 *
     3729
     3730|               break;
     3731
    37323732                bra     F06L114
    3733 *
    3734 *       default:
    3735 *               tsrcval = vep->val;
    3736 *
     3733
     3734|       default:
     3735|               tsrcval = vep->val;
     3736
    37373737F06L122:        move.l  VEP(A6),A0
    37383738                move    8(A0),TSRCVAL(A6)
    3739 *
    3740 *       }
    3741 *
    3742                 .page
    3743 *
    3744 *               srcval = tsrcval;
    3745 *
     3739
     3740|       }
     3741
     3742                .page
     3743
     3744|               srcval = tsrcval;
     3745
    37463746F06L114:        move    TSRCVAL(A6),SRCVAL(A6)
    3747 *
    3748                 .page
    3749 *
    3750 *       if (pt->ipvsrc) {
    3751 *
     3747
     3748                .page
     3749
     3750|       if (pt->ipvsrc) {
     3751
    37523752F06L124:        move.l  PT(A6),A0
    37533753                tst.b   6(A0)
    37543754                beq     F06L136
    3755 *
    3756 *               switch (pt->ipvsrc) {
    3757 *
     3755
     3756|               switch (pt->ipvsrc) {
     3757
    37583758                move.l  PT(A6),A0
    37593759                move.b  6(A0),D0
     
    37623762                cmp     #9,D0
    37633763                bhi     F06L144
    3764 *
     3764
    37653765                asl     #2,D0
    37663766                lea     F06L145,A0
    37673767                move.l  0(A0,D0.W),A0
    37683768                jmp     (A0)
    3769 *
    3770 *               case SM_RAND:
    3771 *                       ltmp = xgetran(pt_>ipvmlt);
    3772 *
     3769
     3770|               case SM_RAND:
     3771|                       ltmp = xgetran(pt_>ipvmlt);
     3772
    37733773F06L139:        move.l  PT(A6),A0
    37743774                move    4(A0),(sp)
     
    37763776                ext.l   D0
    37773777                move.l  D0,LTMP(A6)
    3778 *
    3779 *                       break;
    3780 *
     3778
     3779|                       break;
     3780
    37813781                bra     F06L137
    3782 *
    3783 *               case SM_PTCH:
    3784 *                       ltmp = pch;
    3785 *
     3782
     3783|               case SM_PTCH:
     3784|                       ltmp = pch;
     3785
    37863786F06L140:        move    PCH(A6),A0
    37873787                move.l  A0,LTMP(A6)
    3788 *
    3789 *                       break;
    3790 *
     3788
     3789|                       break;
     3790
    37913791                bra     F06L137
    3792 *
    3793                 .page
    3794 *
    3795 *               case SM_FREQ:
    3796 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    3797 *
     3792
     3793                .page
     3794
     3795|               case SM_FREQ:
     3796|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     3797
    37983798F06L141:        move    PCH(A6),D0
    37993799                asr     #7,D0
     
    38053805                ext.l   D0
    38063806                move.l  D0,LTMP(A6)
    3807 *
    3808 *                       break;
    3809 *
     3807
     3808|                       break;
     3809
    38103810                bra     F06L137
    3811 *
    3812 *               case SM_KVEL:
    3813 *                       ltmp = veltab[trg];
    3814 *
     3811
     3812|               case SM_KVEL:
     3813|                       ltmp = veltab[trg];
     3814
    38153815F06L142:        move    TRG(A6),A0
    38163816                add.l   A0,A0
     
    38193819                ext.l   D0
    38203820                move.l  D0,LTMP(A6)
    3821 *
    3822 *                       break;
    3823 *
     3821
     3822|                       break;
     3823
    38243824                bra     F06L137
    3825 *
    3826                 .page
    3827 *
    3828 *               case SM_KPRS:
    3829 *                       ltmp = prstab[trg];
    3830 *
     3825
     3826                .page
     3827
     3828|               case SM_KPRS:
     3829|                       ltmp = prstab[trg];
     3830
    38313831F06L143:        move    TRG(A6),A0
    38323832                add.l   A0,A0
     
    38353835                ext.l   D0
    38363836                move.l  D0,LTMP(A6)
    3837 *
    3838 *                       break;
    3839 *
     3837
     3838|                       break;
     3839
    38403840                bra     F06L137
    3841 *
    3842                 .page
    3843 *
    3844 *               default:
    3845 *                       ltmp = valents[group | pt->ipvsrc].val;
    3846 *
     3841
     3842                .page
     3843
     3844|               default:
     3845|                       ltmp = valents[group | pt->ipvsrc].val;
     3846
    38473847F06L144:        move.l  PT(A6),A0
    38483848                clr.l   D0
     
    38583858                move    8(A0,A1.l),D0
    38593859                move.l  D0,LTMP(A6)
    3860 *
    3861 *               }
    3862 *
    3863 *
    3864                 .page
    3865 *
    3866 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    3867 *
     3860
     3861|               }
     3862
     3863
     3864                .page
     3865
     3866|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     3867
    38683868F06L137:        move.l  PT(A6),A0
    38693869                move.w  4(A0),D0
     
    38733873                asr.l   D1,D0
    38743874                move.l  D0,LTMP(A6)
    3875 *
    3876 *               ltmp += (long)pt->ipval;
    3877 *
     3875
     3876|               ltmp += (long)pt->ipval;
     3877
    38783878                move.l  PT(A6),A0
    38793879                move    2(A0),D0
    38803880                ext.l   D0
    38813881                add.l   D0,LTMP(A6)
    3882 *
    3883 *               if (ltmp GT (long)VALMAX)
    3884 *                       ltmp = (long)VALMAX;
    3885 *
     3882
     3883|               if (ltmp GT (long)VALMAX)
     3884|                       ltmp = (long)VALMAX;
     3885
    38863886                cmp.l   #VALMAX,LTMP(A6)
    38873887                ble     F06L146
    3888 *
     3888
    38893889                move.l  #VALMAX,LTMP(A6)
    38903890                bra     F06L147
    3891 *
    3892 *               else if (ltmp LT (long)VALMIN)
    3893 *                       ltmp = (long)VALMIN;
    3894 *
     3891
     3892|               else if (ltmp LT (long)VALMIN)
     3893|                       ltmp = (long)VALMIN;
     3894
    38953895F06L146:        cmp.l   #VALMIN,LTMP(A6)
    38963896                bge     F06L147
    3897 *
     3897
    38983898                move.l  #VALMIN,LTMP(A6)
    3899 *
    3900 *               tfpval = (short)ltmp;
    3901 *
     3899
     3900|               tfpval = (short)ltmp;
     3901
    39023902F06L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    39033903                bra     F06L149
    3904 *
    3905 *       } else {
    3906 *
    3907 *               tfpval = pt->ipval;
    3908 *
     3904
     3905|       } else {
     3906
     3907|               tfpval = pt->ipval;
     3908
    39093909F06L136:        move.l  PT(A6),A0
    39103910                move    2(A0),TFPVAL(A6)
    3911 *
    3912 *       }
    3913 *
    3914                 .page
    3915 *
    3916 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    3917 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    3918 *
     3911
     3912|       }
     3913
     3914                .page
     3915
     3916|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     3917|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     3918
    39193919F06L149:        move.l  PT(A6),A0
    39203920                move.w  (A0),D0
    39213921                move.w  D0,D2
    3922                 andi.w  #$FFF0,D0
     3922                andi.w  #0xFFF0,D0
    39233923                move.w  _timemlt,D1
    39243924                muls    D1,D0
     
    39263926                asr.l   D1,D0
    39273927                move    D0,R_FPMANT
    3928 *
    3929 *       fpexp = expbit[pt->iptim & 0x000F];
    3930 *
    3931                 and     #$000F,D2
     3928
     3929|       fpexp = expbit[pt->iptim & 0x000F];
     3930
     3931                and     #0x000F,D2
    39323932                move    D2,A0
    39333933                add.l   A0,A0
    39343934                add.l   #_expbit,A0
    39353935                move    (A0),R_FPEXP
    3936 *
    3937                 .page
    3938 *
    3939 *               fp->idfpch = pch;
    3940 *
     3936
     3937                .page
     3938
     3939|               fp->idfpch = pch;
     3940
    39413941F06L163:        move    PCH(A6),(A_FP)
    3942 *
    3943 *               fpval = tfpval;
    3944 *
     3942
     3943|               fpval = tfpval;
     3944
    39453945                move    TFPVAL(A6),R_FPVAL
    3946 *
    3947                 .page
    3948 *
     3946
     3947                .page
     3948
    39493949                move.b  5(A_FP),D0
    39503950                ext.w   D0
    39513951                sub.w   #1,D0
    39523952                movea.l PT(A6),A0
    3953 *
    3954 *       oldi = setipl(FPU_DI);
    3955 *
     3953
     3954|       oldi = setipl(FPU_DI);
     3955
    39563956                move    sr,OLDI(A6)
    39573957                move    #FPU_DI,sr
    3958 *
     3958
    39593959F06L168:        clr.b   10(A0)
    39603960                add.l   #12,a0
    39613961                dbra    D0,F06L168
    3962 *
    3963                 .page
    3964 *
    3965 *       fp->idftmd ^= I_NVBITS;
    3966 *
     3962
     3963                .page
     3964
     3965|       fp->idftmd ^= I_NVBITS;
     3966
    39673967F06L165:        eor.b   #24,7(A_FP)
    3968 *
    3969 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    3970 *
     3968
     3969|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     3970
    39713971                move.b  7(A_FP),R_FPCTL
    39723972                and     #28,R_FPCTL
    39733973                or      #3,R_FPCTL
    3974 *
    3975 *       fp->idfcpt = fp->idfpt1;
    3976 *
     3974
     3975|       fp->idfcpt = fp->idfpt1;
     3976
    39773977                move.b  6(A_FP),8(A_FP)
    3978 *
    3979 *       fp->idftmd |= I_ACTIVE;
    3980 *
     3978
     3979|       fp->idftmd |= I_ACTIVE;
     3980
    39813981                or.b    #2,7(A_FP)
    3982 *
    3983 *       fp->idftrf = trg;
    3984 *
     3982
     3983|       fp->idftrf = trg;
     3984
    39853985                move    TRG(A6),10(A_FP)
    3986 *
    3987 *       *(fpu + (long)FPU_TCV1) = srcval;
    3988 *
    3989                 move    SRCVAL(A6),$8(A_FPU)
    3990 *
    3991 *       ++octype;
    3992 *
     3986
     3987|       |(fpu + (long)FPU_TCV1) = srcval;
     3988
     3989                move    SRCVAL(A6),0x8(A_FPU)
     3990
     3991|       ++octype;
     3992
    39933993                add     #1,OCTYPE(A6)
    3994 *
    3995 *       *(fpu + (long)FPU_TSF1) = mltval;
    3996 *
    3997                 move    MLTVAL(A6),$A(A_FPU)
    3998 *
    3999 *       ++octype;
    4000 *
     3994
     3995|       |(fpu + (long)FPU_TSF1) = mltval;
     3996
     3997                move    MLTVAL(A6),0xA(A_FPU)
     3998
     3999|       ++octype;
     4000
    40014001                add     #1,OCTYPE(A6)
    4002 *
    4003 *       *(fpu + (long)FPU_TMNT) = fpmant;
    4004 *
    4005                 move    R_FPMANT,$14(A_FPU)
    4006 *
    4007 *       ++octype;
    4008 *
     4002
     4003|       |(fpu + (long)FPU_TMNT) = fpmant;
     4004
     4005                move    R_FPMANT,0x14(A_FPU)
     4006
     4007|       ++octype;
     4008
    40094009                add     #1,OCTYPE(A6)
    4010 *
    4011 *       *(fpu + (long)FPU_TEXP) = fpexp;
    4012 *
    4013                 move    R_FPEXP,$16(A_FPU)
    4014 *
    4015 *       ++octype;
    4016 *
     4010
     4011|       |(fpu + (long)FPU_TEXP) = fpexp;
     4012
     4013                move    R_FPEXP,0x16(A_FPU)
     4014
     4015|       ++octype;
     4016
    40174017                add     #1,OCTYPE(A6)
    4018 *
    4019                 .page
    4020 *
    4021 *       if (fp->idftmd & I_VNSUBN)
    4022 *
     4018
     4019                .page
     4020
     4021|       if (fp->idftmd & I_VNSUBN)
     4022
    40234023                btst    #3,7(A_FP)
    40244024                beq     F06L169
    4025 *
    4026 *               *(fpu + (long)FPU_TNV1) = fpval;
    4027 *
    4028                 move    R_FPVAL,$1C(A_FPU)
     4025
     4026|               |(fpu + (long)FPU_TNV1) = fpval;
     4027
     4028                move    R_FPVAL,0x1C(A_FPU)
    40294029                bra     F06L170
    4030 *
    4031 *       else
    4032 *               *(fpu + (long)FPU_TNV0) = fpval;
    4033 *
     4030
     4031|       else
     4032|               |(fpu + (long)FPU_TNV0) = fpval;
     4033
    40344034F06L169:        move    R_FPVAL,2(A_FPU)
    4035 *
    4036 *       ++octype;
    4037 *
     4035
     4036|       ++octype;
     4037
    40384038F06L170:        add     #1,OCTYPE(A6)
    4039 *
    4040 *       *(fpu + (long)FPU_TCTL) = fpctl;
    4041 *
     4039
     4040|       |(fpu + (long)FPU_TCTL) = fpctl;
     4041
    40424042                move    R_FPCTL,(A_FPU)
    4043 *
    4044 *       setipl(oldi);
    4045 *
     4043
     4044|       setipl(oldi);
     4045
    40464046                move    OLDI(A6),sr
    4047 *
    4048                 .page
    4049 * ------------------------------------------------------------------------------
    4050 * Start function 7 -- Ind 2
    4051 * ------------------------------------------------------------------------------
    4052 *
    4053 *    if (ip->idhfnc[7].idftmd & I_TM_KEY) {
    4054 *
     4047
     4048                .page
     4049| ------------------------------------------------------------------------------
     4050| Start function 7 -- Ind 2
     4051| ------------------------------------------------------------------------------
     4052
     4053|    if (ip->idhfnc[7].idftmd & I_TM_KEY) {
     4054
    40554055FN07:           move.l  IP(A6),A0
    40564056                move.b  177(A0),D0
     
    40594059                btst    #0,D0
    40604060                bne     FN07A
    4061 *
     4061
    40624062                jmp     FN08
    4063 *
    4064 *       vp = (vce << 4) + 11;
    4065 *
     4063
     4064|       vp = (vce << 4) + 11;
     4065
    40664066FN07A:          move    VCE(A6),D0
    40674067                asl     #4,D0
    40684068                add.w   #11,D0
    40694069                move    D0,VP(A6)
    4070 *
    4071 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    4072 *
     4070
     4071|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     4072
    40734073                asl     #5,D0
    40744074                ext.l   D0
    40754075                move.l  D0,A_FPU
    4076                 add.l   #_io_fpu+$4000,A_FPU
    4077 *
    4078 *       fp = &ip->idhfnc[7];
    4079 *
     4076                add.l   #_io_fpu+0x4000,A_FPU
     4077
     4078|       fp = &ip->idhfnc[7];
     4079
    40804080                move.l  #84,A_FP
    40814081                add.l   IP(A6),A_FP
    40824082                add.l   #86,A_FP
    4083 *
    4084 *       pt = &ip->idhpnt[fp->idfpt1];
    4085 *
     4083
     4084|       pt = &ip->idhpnt[fp->idfpt1];
     4085
    40864086                clr.l   D0
    40874087                move.b  6(A_FP),D0
     
    40934093                add.l   #242,D0
    40944094                move.l  D0,PT(A6)
    4095 *
    4096                 .page
    4097 *
    4098 *       srcnum = group | fp->idfsrc;
    4099 *
     4095
     4096                .page
     4097
     4098|       srcnum = group | fp->idfsrc;
     4099
    41004100                move.w  GROUP(A6),D0
    41014101                ext.l   D0
     
    41044104                or      D1,D0
    41054105                move    D0,SRCNUM(A6)
    4106 *
    4107 *       vep = &valents[srcnum];
    4108 *
     4106
     4107|       vep = &valents[srcnum];
     4108
    41094109                add.l   D0,D0
    41104110                move.l  D0,D1
     
    41134113                add.l   #_valents,D0
    41144114                move.l  D0,VEP(A6)
    4115 *
    4116 *       smp = vpsms[vp];
    4117 *
     4115
     4116|       smp = vpsms[vp];
     4117
    41184118                move    VP(A6),A0
    41194119                add.l   A0,A0
     
    41214121                add.l   #_vpsms,A0
    41224122                move.l  (A0),A_SMP
    4123 *
    4124 *       if (srcnum NE smp->sm) {
    4125 *
     4123
     4124|       if (srcnum NE smp->sm) {
     4125
    41264126                clr     D0
    41274127                move    10(A_SMP),D0
    41284128                cmp     SRCNUM(A6),D0
    41294129                beq     F07L113
    4130 *
    4131 *               (smp->prv)->nxt = smp->nxt;
    4132 *
     4130
     4131|               (smp->prv)->nxt = smp->nxt;
     4132
    41334133                move.l  4(A_SMP),A0
    41344134                move.l  (A_SMP),(A0)
    4135 *
    4136 *               (smp->nxt)->prv = smp->prv;
    4137 *
     4135
     4136|               (smp->nxt)->prv = smp->prv;
     4137
    41384138                move.l  (A_SMP),A0
    41394139                move.l  4(A_SMP),4(A0)
    4140 *
    4141 *               smp->prv = (struct sment *)vep;
    4142 *
     4140
     4141|               smp->prv = (struct sment |)vep;
     4142
    41434143                move.l  VEP(A6),4(A_SMP)
    4144 *
    4145 *               smp->nxt = vep->nxt;
    4146 *
     4144
     4145|               smp->nxt = vep->nxt;
     4146
    41474147                move.l  VEP(A6),A0
    41484148                move.l  (A0),(A_SMP)
    4149 *
    4150 *               (vep->nxt)->prv = smp;
    4151 *
     4149
     4150|               (vep->nxt)->prv = smp;
     4151
    41524152                move.l  VEP(A6),A0
    41534153                move.l  (A0),A0
    41544154                move.l  A_SMP,4(A0)
    4155 *
    4156 *               vep->nxt = smp;
    4157 *
     4155
     4156|               vep->nxt = smp;
     4157
    41584158                move.l  VEP(A6),A0
    41594159                move.l  A_SMP,(A0)
    4160 *
    4161 *               smp->sm = srcnum;
    4162 *
     4160
     4161|               smp->sm = srcnum;
     4162
    41634163                move    SRCNUM(A6),10(A_SMP)
    4164 *
    4165 *       }
    4166 *
    4167 *       mltval = fp->idfmlt;
    4168 *
     4164
     4165|       }
     4166
     4167|       mltval = fp->idfmlt;
     4168
    41694169F07L113:        move    2(A_FP),MLTVAL(A6)
    4170 *
    4171                 .page
    4172 *
    4173 *       switch (fp->idfsrc) {
    4174 *
     4170
     4171                .page
     4172
     4173|       switch (fp->idfsrc) {
     4174
    41754175                move.b  4(A_FP),D0
    41764176                ext.w   d0
    41774177                cmp     #10,D0
    41784178                bhi     F07L122
    4179 *
     4179
    41804180                asl     #2,D0
    41814181                lea     F07L123,A0
    41824182                movea.l 0(A0,D0.W),A0
    41834183                jmp     (A0)
    4184 *
    4185 *       case SM_NONE:
    4186 *               mltval = 0;
    4187 *
     4184
     4185|       case SM_NONE:
     4186|               mltval = 0;
     4187
    41884188F07L116:        clr     MLTVAL(A6)
    4189 *
    4190 *               tsrcval = 0;
    4191 *
     4189
     4190|               tsrcval = 0;
     4191
    41924192                clr     TSRCVAL(A6)
    4193 *
    4194 *               break;
    4195 *
     4193
     4194|               break;
     4195
    41964196                bra     F07L114
    4197 *
    4198 *       case SM_RAND:
    4199 *               tsrcval = xgetran(mltval);
    4200 *
     4197
     4198|       case SM_RAND:
     4199|               tsrcval = xgetran(mltval);
     4200
    42014201F07L117:        move    MLTVAL(A6),(sp)
    42024202                jsr     _xgetran
    42034203                move    D0,TSRCVAL(A6)
    4204 *
    4205 *               break;
    4206 *
     4204
     4205|               break;
     4206
    42074207                bra     F07L114
    4208 *
    4209 *       case SM_PTCH:
    4210 *               tsrcval = pch;
    4211 *
     4208
     4209|       case SM_PTCH:
     4210|               tsrcval = pch;
     4211
    42124212F07L118:        move    PCH(A6),TSRCVAL(A6)
    4213 *
    4214 *               break;
    4215 *
     4213
     4214|               break;
     4215
    42164216                bra     F07L114
    4217 *
    4218                 .page
    4219 *
    4220 *       case SM_FREQ:
    4221 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    4222 *
     4217
     4218                .page
     4219
     4220|       case SM_FREQ:
     4221|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     4222
    42234223F07L119:        move    PCH(A6),D0
    42244224                asr     #7,D0
     
    42284228                add.l   #_ptoftab,A0
    42294229                move    (A0),TSRCVAL(A6)
    4230 *
    4231 *               break;
    4232 *
     4230
     4231|               break;
     4232
    42334233                bra     F07L114
    4234 *
    4235 *       case SM_KVEL:
    4236 *               tsrcval = veltab[trg];
    4237 *
     4234
     4235|       case SM_KVEL:
     4236|               tsrcval = veltab[trg];
     4237
    42384238F07L120:        move    TRG(A6),A0
    42394239                add.l   A0,A0
    42404240                add.l   #_veltab,A0
    42414241                move    (A0),TSRCVAL(A6)
    4242 *
    4243 *               break;
    4244 *
     4242
     4243|               break;
     4244
    42454245                bra     F07L114
    4246 *
    4247 *       case SM_KPRS:
    4248 *               tsrcval = prstab[trg];
    4249 *
     4246
     4247|       case SM_KPRS:
     4248|               tsrcval = prstab[trg];
     4249
    42504250F07L121:        move    TRG(A6),A0
    42514251                add.l   A0,A0
    42524252                add.l   #_prstab,A0
    42534253                move    (A0),TSRCVAL(A6)
    4254 *
    4255 *               break;
    4256 *
     4254
     4255|               break;
     4256
    42574257                bra     F07L114
    4258 *
    4259 *       default:
    4260 *               tsrcval = vep->val;
    4261 *
     4258
     4259|       default:
     4260|               tsrcval = vep->val;
     4261
    42624262F07L122:        move.l  VEP(A6),A0
    42634263                move    8(A0),TSRCVAL(A6)
    4264 *
    4265 *       }
    4266 *
    4267                 .page
    4268 *
    4269 *               srcval = tsrcval;
    4270 *
     4264
     4265|       }
     4266
     4267                .page
     4268
     4269|               srcval = tsrcval;
     4270
    42714271F07L114:        move    TSRCVAL(A6),SRCVAL(A6)
    4272 *
    4273                 .page
    4274 *
    4275 *       if (pt->ipvsrc) {
    4276 *
     4272
     4273                .page
     4274
     4275|       if (pt->ipvsrc) {
     4276
    42774277F07L124:        move.l  PT(A6),A0
    42784278                tst.b   6(A0)
    42794279                beq     F07L136
    4280 *
    4281 *               switch (pt->ipvsrc) {
    4282 *
     4280
     4281|               switch (pt->ipvsrc) {
     4282
    42834283                move.l  PT(A6),A0
    42844284                move.b  6(A0),D0
     
    42874287                cmp     #9,D0
    42884288                bhi     F07L144
    4289 *
     4289
    42904290                asl     #2,D0
    42914291                lea     F07L145,A0
    42924292                move.l  0(A0,D0.W),A0
    42934293                jmp     (A0)
    4294 *
    4295 *               case SM_RAND:
    4296 *                       ltmp = xgetran(pt_>ipvmlt);
    4297 *
     4294
     4295|               case SM_RAND:
     4296|                       ltmp = xgetran(pt_>ipvmlt);
     4297
    42984298F07L139:        move.l  PT(A6),A0
    42994299                move    4(A0),(sp)
     
    43014301                ext.l   D0
    43024302                move.l  D0,LTMP(A6)
    4303 *
    4304 *                       break;
    4305 *
     4303
     4304|                       break;
     4305
    43064306                bra     F07L137
    4307 *
    4308 *               case SM_PTCH:
    4309 *                       ltmp = pch;
    4310 *
     4307
     4308|               case SM_PTCH:
     4309|                       ltmp = pch;
     4310
    43114311F07L140:        move    PCH(A6),A0
    43124312                move.l  A0,LTMP(A6)
    4313 *
    4314 *                       break;
    4315 *
     4313
     4314|                       break;
     4315
    43164316                bra     F07L137
    4317 *
    4318                 .page
    4319 *
    4320 *               case SM_FREQ:
    4321 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    4322 *
     4317
     4318                .page
     4319
     4320|               case SM_FREQ:
     4321|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     4322
    43234323F07L141:        move    PCH(A6),D0
    43244324                asr     #7,D0
     
    43304330                ext.l   D0
    43314331                move.l  D0,LTMP(A6)
    4332 *
    4333 *                       break;
    4334 *
     4332
     4333|                       break;
     4334
    43354335                bra     F07L137
    4336 *
    4337 *               case SM_KVEL:
    4338 *                       ltmp = veltab[trg];
    4339 *
     4336
     4337|               case SM_KVEL:
     4338|                       ltmp = veltab[trg];
     4339
    43404340F07L142:        move    TRG(A6),A0
    43414341                add.l   A0,A0
     
    43444344                ext.l   D0
    43454345                move.l  D0,LTMP(A6)
    4346 *
    4347 *                       break;
    4348 *
     4346
     4347|                       break;
     4348
    43494349                bra     F07L137
    4350 *
    4351                 .page
    4352 *
    4353 *               case SM_KPRS:
    4354 *                       ltmp = prstab[trg];
    4355 *
     4350
     4351                .page
     4352
     4353|               case SM_KPRS:
     4354|                       ltmp = prstab[trg];
     4355
    43564356F07L143:        move    TRG(A6),A0
    43574357                add.l   A0,A0
     
    43604360                ext.l   D0
    43614361                move.l  D0,LTMP(A6)
    4362 *
    4363 *                       break;
    4364 *
     4362
     4363|                       break;
     4364
    43654365                bra     F07L137
    4366 *
    4367                 .page
    4368 *
    4369 *               default:
    4370 *                       ltmp = valents[group | pt->ipvsrc].val;
    4371 *
     4366
     4367                .page
     4368
     4369|               default:
     4370|                       ltmp = valents[group | pt->ipvsrc].val;
     4371
    43724372F07L144:        move.l  PT(A6),A0
    43734373                clr.l   D0
     
    43834383                move    8(A0,A1.l),D0
    43844384                move.l  D0,LTMP(A6)
    4385 *
    4386 *               }
    4387 *
    4388 *
    4389                 .page
    4390 *
    4391 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    4392 *
     4385
     4386|               }
     4387
     4388
     4389                .page
     4390
     4391|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     4392
    43934393F07L137:        move.l  PT(A6),A0
    43944394                move.w  4(A0),D0
     
    43984398                asr.l   D1,D0
    43994399                move.l  D0,LTMP(A6)
    4400 *
    4401 *               ltmp += (long)pt->ipval;
    4402 *
     4400
     4401|               ltmp += (long)pt->ipval;
     4402
    44034403                move.l  PT(A6),A0
    44044404                move    2(A0),D0
    44054405                ext.l   D0
    44064406                add.l   D0,LTMP(A6)
    4407 *
    4408 *               if (ltmp GT (long)VALMAX)
    4409 *                       ltmp = (long)VALMAX;
    4410 *
     4407
     4408|               if (ltmp GT (long)VALMAX)
     4409|                       ltmp = (long)VALMAX;
     4410
    44114411                cmp.l   #VALMAX,LTMP(A6)
    44124412                ble     F07L146
    4413 *
     4413
    44144414                move.l  #VALMAX,LTMP(A6)
    44154415                bra     F07L147
    4416 *
    4417 *               else if (ltmp LT (long)VALMIN)
    4418 *                       ltmp = (long)VALMIN;
    4419 *
     4416
     4417|               else if (ltmp LT (long)VALMIN)
     4418|                       ltmp = (long)VALMIN;
     4419
    44204420F07L146:        cmp.l   #VALMIN,LTMP(A6)
    44214421                bge     F07L147
    4422 *
     4422
    44234423                move.l  #VALMIN,LTMP(A6)
    4424 *
    4425 *               tfpval = (short)ltmp;
    4426 *
     4424
     4425|               tfpval = (short)ltmp;
     4426
    44274427F07L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    44284428                bra     F07L149
    4429 *
    4430 *       } else {
    4431 *
    4432 *               tfpval = pt->ipval;
    4433 *
     4429
     4430|       } else {
     4431
     4432|               tfpval = pt->ipval;
     4433
    44344434F07L136:        move.l  PT(A6),A0
    44354435                move    2(A0),TFPVAL(A6)
    4436 *
    4437 *       }
    4438 *
    4439                 .page
    4440 *
    4441 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    4442 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    4443 *
     4436
     4437|       }
     4438
     4439                .page
     4440
     4441|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     4442|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     4443
    44444444F07L149:        move.l  PT(A6),A0
    44454445                move.w  (A0),D0
    44464446                move.w  D0,D2
    4447                 andi.w  #$FFF0,D0
     4447                andi.w  #0xFFF0,D0
    44484448                move.w  _timemlt,D1
    44494449                muls    D1,D0
     
    44514451                asr.l   D1,D0
    44524452                move    D0,R_FPMANT
    4453 *
    4454 *       fpexp = expbit[pt->iptim & 0x000F];
    4455 *
    4456                 and     #$000F,D2
     4453
     4454|       fpexp = expbit[pt->iptim & 0x000F];
     4455
     4456                and     #0x000F,D2
    44574457                move    D2,A0
    44584458                add.l   A0,A0
    44594459                add.l   #_expbit,A0
    44604460                move    (A0),R_FPEXP
    4461 *
    4462                 .page
    4463 *
    4464 *               fp->idfpch = pch;
    4465 *
     4461
     4462                .page
     4463
     4464|               fp->idfpch = pch;
     4465
    44664466F07L163:        move    PCH(A6),(A_FP)
    4467 *
    4468 *               fpval = tfpval;
    4469 *
     4467
     4468|               fpval = tfpval;
     4469
    44704470                move    TFPVAL(A6),R_FPVAL
    4471 *
    4472                 .page
    4473 *
     4471
     4472                .page
     4473
    44744474                move.b  5(A_FP),D0
    44754475                ext.w   D0
    44764476                sub.w   #1,D0
    44774477                movea.l PT(A6),A0
    4478 *
    4479 *       oldi = setipl(FPU_DI);
    4480 *
     4478
     4479|       oldi = setipl(FPU_DI);
     4480
    44814481                move    sr,OLDI(A6)
    44824482                move    #FPU_DI,sr
    4483 *
     4483
    44844484F07L168:        clr.b   10(A0)
    44854485                add.l   #12,a0
    44864486                dbra    D0,F07L168
    4487 *
    4488                 .page
    4489 *
    4490 *       fp->idftmd ^= I_NVBITS;
    4491 *
     4487
     4488                .page
     4489
     4490|       fp->idftmd ^= I_NVBITS;
     4491
    44924492F07L165:        eor.b   #24,7(A_FP)
    4493 *
    4494 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    4495 *
     4493
     4494|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     4495
    44964496                move.b  7(A_FP),R_FPCTL
    44974497                and     #28,R_FPCTL
    44984498                or      #3,R_FPCTL
    4499 *
    4500 *       fp->idfcpt = fp->idfpt1;
    4501 *
     4499
     4500|       fp->idfcpt = fp->idfpt1;
     4501
    45024502                move.b  6(A_FP),8(A_FP)
    4503 *
    4504 *       fp->idftmd |= I_ACTIVE;
    4505 *
     4503
     4504|       fp->idftmd |= I_ACTIVE;
     4505
    45064506                or.b    #2,7(A_FP)
    4507 *
    4508 *       fp->idftrf = trg;
    4509 *
     4507
     4508|       fp->idftrf = trg;
     4509
    45104510                move    TRG(A6),10(A_FP)
    4511 *
    4512 *       *(fpu + (long)FPU_TCV1) = srcval;
    4513 *
    4514                 move    SRCVAL(A6),$8(A_FPU)
    4515 *
    4516 *       ++octype;
    4517 *
     4511
     4512|       |(fpu + (long)FPU_TCV1) = srcval;
     4513
     4514                move    SRCVAL(A6),0x8(A_FPU)
     4515
     4516|       ++octype;
     4517
    45184518                add     #1,OCTYPE(A6)
    4519 *
    4520 *       *(fpu + (long)FPU_TSF1) = mltval;
    4521 *
    4522                 move    MLTVAL(A6),$A(A_FPU)
    4523 *
    4524 *       ++octype;
    4525 *
     4519
     4520|       |(fpu + (long)FPU_TSF1) = mltval;
     4521
     4522                move    MLTVAL(A6),0xA(A_FPU)
     4523
     4524|       ++octype;
     4525
    45264526                add     #1,OCTYPE(A6)
    4527 *
    4528 *       *(fpu + (long)FPU_TMNT) = fpmant;
    4529 *
    4530                 move    R_FPMANT,$14(A_FPU)
    4531 *
    4532 *       ++octype;
    4533 *
     4527
     4528|       |(fpu + (long)FPU_TMNT) = fpmant;
     4529
     4530                move    R_FPMANT,0x14(A_FPU)
     4531
     4532|       ++octype;
     4533
    45344534                add     #1,OCTYPE(A6)
    4535 *
    4536 *       *(fpu + (long)FPU_TEXP) = fpexp;
    4537 *
    4538                 move    R_FPEXP,$16(A_FPU)
    4539 *
    4540 *       ++octype;
    4541 *
     4535
     4536|       |(fpu + (long)FPU_TEXP) = fpexp;
     4537
     4538                move    R_FPEXP,0x16(A_FPU)
     4539
     4540|       ++octype;
     4541
    45424542                add     #1,OCTYPE(A6)
    4543 *
    4544                 .page
    4545 *
    4546 *       if (fp->idftmd & I_VNSUBN)
    4547 *
     4543
     4544                .page
     4545
     4546|       if (fp->idftmd & I_VNSUBN)
     4547
    45484548                btst    #3,7(A_FP)
    45494549                beq     F07L169
    4550 *
    4551 *               *(fpu + (long)FPU_TNV1) = fpval;
    4552 *
    4553                 move    R_FPVAL,$1C(A_FPU)
     4550
     4551|               |(fpu + (long)FPU_TNV1) = fpval;
     4552
     4553                move    R_FPVAL,0x1C(A_FPU)
    45544554                bra     F07L170
    4555 *
    4556 *       else
    4557 *               *(fpu + (long)FPU_TNV0) = fpval;
    4558 *
     4555
     4556|       else
     4557|               |(fpu + (long)FPU_TNV0) = fpval;
     4558
    45594559F07L169:        move    R_FPVAL,2(A_FPU)
    4560 *
    4561 *       ++octype;
    4562 *
     4560
     4561|       ++octype;
     4562
    45634563F07L170:        add     #1,OCTYPE(A6)
    4564 *
    4565 *       *(fpu + (long)FPU_TCTL) = fpctl;
    4566 *
     4564
     4565|       |(fpu + (long)FPU_TCTL) = fpctl;
     4566
    45674567                move    R_FPCTL,(A_FPU)
    4568 *
    4569 *       setipl(oldi);
    4570 *
     4568
     4569|       setipl(oldi);
     4570
    45714571                move    OLDI(A6),sr
    4572 *
    4573                 .page
    4574 * ------------------------------------------------------------------------------
    4575 * Start function 8 -- Ind 3
    4576 * ------------------------------------------------------------------------------
    4577 *
    4578 *    if (ip->idhfnc[8].idftmd & I_TM_KEY) {
    4579 *
     4572
     4573                .page
     4574| ------------------------------------------------------------------------------
     4575| Start function 8 -- Ind 3
     4576| ------------------------------------------------------------------------------
     4577
     4578|    if (ip->idhfnc[8].idftmd & I_TM_KEY) {
     4579
    45804580FN08:           move.l  IP(A6),A0
    45814581                move.b  189(A0),D0
     
    45844584                btst    #0,D0
    45854585                bne     FN08A
    4586 *
     4586
    45874587                jmp     FN09
    4588 *
    4589 *       vp = (vce << 4) + 12;
    4590 *
     4588
     4589|       vp = (vce << 4) + 12;
     4590
    45914591FN08A:          move    VCE(A6),D0
    45924592                asl     #4,D0
    45934593                add.w   #12,D0
    45944594                move    D0,VP(A6)
    4595 *
    4596 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    4597 *
     4595
     4596|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     4597
    45984598                asl     #5,D0
    45994599                ext.l   D0
    46004600                move.l  D0,A_FPU
    4601                 add.l   #_io_fpu+$4000,A_FPU
    4602 *
    4603 *       fp = &ip->idhfnc[8];
    4604 *
     4601                add.l   #_io_fpu+0x4000,A_FPU
     4602
     4603|       fp = &ip->idhfnc[8];
     4604
    46054605                move.l  #96,A_FP
    46064606                add.l   IP(A6),A_FP
    46074607                add.l   #86,A_FP
    4608 *
    4609 *       pt = &ip->idhpnt[fp->idfpt1];
    4610 *
     4608
     4609|       pt = &ip->idhpnt[fp->idfpt1];
     4610
    46114611                clr.l   D0
    46124612                move.b  6(A_FP),D0
     
    46184618                add.l   #242,D0
    46194619                move.l  D0,PT(A6)
    4620 *
    4621                 .page
    4622 *
    4623 *       srcnum = group | fp->idfsrc;
    4624 *
     4620
     4621                .page
     4622
     4623|       srcnum = group | fp->idfsrc;
     4624
    46254625                move.w  GROUP(A6),D0
    46264626                ext.l   D0
     
    46294629                or      D1,D0
    46304630                move    D0,SRCNUM(A6)
    4631 *
    4632 *       vep = &valents[srcnum];
    4633 *
     4631
     4632|       vep = &valents[srcnum];
     4633
    46344634                add.l   D0,D0
    46354635                move.l  D0,D1
     
    46384638                add.l   #_valents,D0
    46394639                move.l  D0,VEP(A6)
    4640 *
    4641 *       smp = vpsms[vp];
    4642 *
     4640
     4641|       smp = vpsms[vp];
     4642
    46434643                move    VP(A6),A0
    46444644                add.l   A0,A0
     
    46464646                add.l   #_vpsms,A0
    46474647                move.l  (A0),A_SMP
    4648 *
    4649 *       if (srcnum NE smp->sm) {
    4650 *
     4648
     4649|       if (srcnum NE smp->sm) {
     4650
    46514651                clr     D0
    46524652                move    10(A_SMP),D0
    46534653                cmp     SRCNUM(A6),D0
    46544654                beq     F08L113
    4655 *
    4656 *               (smp->prv)->nxt = smp->nxt;
    4657 *
     4655
     4656|               (smp->prv)->nxt = smp->nxt;
     4657
    46584658                move.l  4(A_SMP),A0
    46594659                move.l  (A_SMP),(A0)
    4660 *
    4661 *               (smp->nxt)->prv = smp->prv;
    4662 *
     4660
     4661|               (smp->nxt)->prv = smp->prv;
     4662
    46634663                move.l  (A_SMP),A0
    46644664                move.l  4(A_SMP),4(A0)
    4665 *
    4666 *               smp->prv = (struct sment *)vep;
    4667 *
     4665
     4666|               smp->prv = (struct sment |)vep;
     4667
    46684668                move.l  VEP(A6),4(A_SMP)
    4669 *
    4670 *               smp->nxt = vep->nxt;
    4671 *
     4669
     4670|               smp->nxt = vep->nxt;
     4671
    46724672                move.l  VEP(A6),A0
    46734673                move.l  (A0),(A_SMP)
    4674 *
    4675 *               (vep->nxt)->prv = smp;
    4676 *
     4674
     4675|               (vep->nxt)->prv = smp;
     4676
    46774677                move.l  VEP(A6),A0
    46784678                move.l  (A0),A0
    46794679                move.l  A_SMP,4(A0)
    4680 *
    4681 *               vep->nxt = smp;
    4682 *
     4680
     4681|               vep->nxt = smp;
     4682
    46834683                move.l  VEP(A6),A0
    46844684                move.l  A_SMP,(A0)
    4685 *
    4686 *               smp->sm = srcnum;
    4687 *
     4685
     4686|               smp->sm = srcnum;
     4687
    46884688                move    SRCNUM(A6),10(A_SMP)
    4689 *
    4690 *       }
    4691 *
    4692 *       mltval = fp->idfmlt;
    4693 *
     4689
     4690|       }
     4691
     4692|       mltval = fp->idfmlt;
     4693
    46944694F08L113:        move    2(A_FP),MLTVAL(A6)
    4695 *
    4696                 .page
    4697 *
    4698 *       switch (fp->idfsrc) {
    4699 *
     4695
     4696                .page
     4697
     4698|       switch (fp->idfsrc) {
     4699
    47004700                move.b  4(A_FP),D0
    47014701                ext.w   d0
    47024702                cmp     #10,D0
    47034703                bhi     F08L122
    4704 *
     4704
    47054705                asl     #2,D0
    47064706                lea     F08L123,A0
    47074707                movea.l 0(A0,D0.W),A0
    47084708                jmp     (A0)
    4709 *
    4710 *       case SM_NONE:
    4711 *               mltval = 0;
    4712 *
     4709
     4710|       case SM_NONE:
     4711|               mltval = 0;
     4712
    47134713F08L116:        clr     MLTVAL(A6)
    4714 *
    4715 *               tsrcval = 0;
    4716 *
     4714
     4715|               tsrcval = 0;
     4716
    47174717                clr     TSRCVAL(A6)
    4718 *
    4719 *               break;
    4720 *
     4718
     4719|               break;
     4720
    47214721                bra     F08L114
    4722 *
    4723 *       case SM_RAND:
    4724 *               tsrcval = xgetran(mltval);
    4725 *
     4722
     4723|       case SM_RAND:
     4724|               tsrcval = xgetran(mltval);
     4725
    47264726F08L117:        move    MLTVAL(A6),(sp)
    47274727                jsr     _xgetran
    47284728                move    D0,TSRCVAL(A6)
    4729 *
    4730 *               break;
    4731 *
     4729
     4730|               break;
     4731
    47324732                bra     F08L114
    4733 *
    4734 *       case SM_PTCH:
    4735 *               tsrcval = pch;
    4736 *
     4733
     4734|       case SM_PTCH:
     4735|               tsrcval = pch;
     4736
    47374737F08L118:        move    PCH(A6),TSRCVAL(A6)
    4738 *
    4739 *               break;
    4740 *
     4738
     4739|               break;
     4740
    47414741                bra     F08L114
    4742 *
    4743                 .page
    4744 *
    4745 *       case SM_FREQ:
    4746 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    4747 *
     4742
     4743                .page
     4744
     4745|       case SM_FREQ:
     4746|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     4747
    47484748F08L119:        move    PCH(A6),D0
    47494749                asr     #7,D0
     
    47534753                add.l   #_ptoftab,A0
    47544754                move    (A0),TSRCVAL(A6)
    4755 *
    4756 *               break;
    4757 *
     4755
     4756|               break;
     4757
    47584758                bra     F08L114
    4759 *
    4760 *       case SM_KVEL:
    4761 *               tsrcval = veltab[trg];
    4762 *
     4759
     4760|       case SM_KVEL:
     4761|               tsrcval = veltab[trg];
     4762
    47634763F08L120:        move    TRG(A6),A0
    47644764                add.l   A0,A0
    47654765                add.l   #_veltab,A0
    47664766                move    (A0),TSRCVAL(A6)
    4767 *
    4768 *               break;
    4769 *
     4767
     4768|               break;
     4769
    47704770                bra     F08L114
    4771 *
    4772 *       case SM_KPRS:
    4773 *               tsrcval = prstab[trg];
    4774 *
     4771
     4772|       case SM_KPRS:
     4773|               tsrcval = prstab[trg];
     4774
    47754775F08L121:        move    TRG(A6),A0
    47764776                add.l   A0,A0
    47774777                add.l   #_prstab,A0
    47784778                move    (A0),TSRCVAL(A6)
    4779 *
    4780 *               break;
    4781 *
     4779
     4780|               break;
     4781
    47824782                bra     F08L114
    4783 *
    4784 *       default:
    4785 *               tsrcval = vep->val;
    4786 *
     4783
     4784|       default:
     4785|               tsrcval = vep->val;
     4786
    47874787F08L122:        move.l  VEP(A6),A0
    47884788                move    8(A0),TSRCVAL(A6)
    4789 *
    4790 *       }
    4791 *
    4792                 .page
    4793 *
    4794 *               srcval = tsrcval;
    4795 *
     4789
     4790|       }
     4791
     4792                .page
     4793
     4794|               srcval = tsrcval;
     4795
    47964796F08L114:        move    TSRCVAL(A6),SRCVAL(A6)
    4797 *
    4798                 .page
    4799 *
    4800 *       if (pt->ipvsrc) {
    4801 *
     4797
     4798                .page
     4799
     4800|       if (pt->ipvsrc) {
     4801
    48024802F08L124:        move.l  PT(A6),A0
    48034803                tst.b   6(A0)
    48044804                beq     F08L136
    4805 *
    4806 *               switch (pt->ipvsrc) {
    4807 *
     4805
     4806|               switch (pt->ipvsrc) {
     4807
    48084808                move.l  PT(A6),A0
    48094809                move.b  6(A0),D0
     
    48124812                cmp     #9,D0
    48134813                bhi     F08L144
    4814 *
     4814
    48154815                asl     #2,D0
    48164816                lea     F08L145,A0
    48174817                move.l  0(A0,D0.W),A0
    48184818                jmp     (A0)
    4819 *
    4820 *               case SM_RAND:
    4821 *                       ltmp = xgetran(pt_>ipvmlt);
    4822 *
     4819
     4820|               case SM_RAND:
     4821|                       ltmp = xgetran(pt_>ipvmlt);
     4822
    48234823F08L139:        move.l  PT(A6),A0
    48244824                move    4(A0),(sp)
     
    48264826                ext.l   D0
    48274827                move.l  D0,LTMP(A6)
    4828 *
    4829 *                       break;
    4830 *
     4828
     4829|                       break;
     4830
    48314831                bra     F08L137
    4832 *
    4833 *               case SM_PTCH:
    4834 *                       ltmp = pch;
    4835 *
     4832
     4833|               case SM_PTCH:
     4834|                       ltmp = pch;
     4835
    48364836F08L140:        move    PCH(A6),A0
    48374837                move.l  A0,LTMP(A6)
    4838 *
    4839 *                       break;
    4840 *
     4838
     4839|                       break;
     4840
    48414841                bra     F08L137
    4842 *
    4843                 .page
    4844 *
    4845 *               case SM_FREQ:
    4846 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    4847 *
     4842
     4843                .page
     4844
     4845|               case SM_FREQ:
     4846|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     4847
    48484848F08L141:        move    PCH(A6),D0
    48494849                asr     #7,D0
     
    48554855                ext.l   D0
    48564856                move.l  D0,LTMP(A6)
    4857 *
    4858 *                       break;
    4859 *
     4857
     4858|                       break;
     4859
    48604860                bra     F08L137
    4861 *
    4862 *               case SM_KVEL:
    4863 *                       ltmp = veltab[trg];
    4864 *
     4861
     4862|               case SM_KVEL:
     4863|                       ltmp = veltab[trg];
     4864
    48654865F08L142:        move    TRG(A6),A0
    48664866                add.l   A0,A0
     
    48694869                ext.l   D0
    48704870                move.l  D0,LTMP(A6)
    4871 *
    4872 *                       break;
    4873 *
     4871
     4872|                       break;
     4873
    48744874                bra     F08L137
    4875 *
    4876                 .page
    4877 *
    4878 *               case SM_KPRS:
    4879 *                       ltmp = prstab[trg];
    4880 *
     4875
     4876                .page
     4877
     4878|               case SM_KPRS:
     4879|                       ltmp = prstab[trg];
     4880
    48814881F08L143:        move    TRG(A6),A0
    48824882                add.l   A0,A0
     
    48854885                ext.l   D0
    48864886                move.l  D0,LTMP(A6)
    4887 *
    4888 *                       break;
    4889 *
     4887
     4888|                       break;
     4889
    48904890                bra     F08L137
    4891 *
    4892                 .page
    4893 *
    4894 *               default:
    4895 *                       ltmp = valents[group | pt->ipvsrc].val;
    4896 *
     4891
     4892                .page
     4893
     4894|               default:
     4895|                       ltmp = valents[group | pt->ipvsrc].val;
     4896
    48974897F08L144:        move.l  PT(A6),A0
    48984898                clr.l   D0
     
    49084908                move    8(A0,A1.l),D0
    49094909                move.l  D0,LTMP(A6)
    4910 *
    4911 *               }
    4912 *
    4913 *
    4914                 .page
    4915 *
    4916 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    4917 *
     4910
     4911|               }
     4912
     4913
     4914                .page
     4915
     4916|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     4917
    49184918F08L137:        move.l  PT(A6),A0
    49194919                move.w  4(A0),D0
     
    49234923                asr.l   D1,D0
    49244924                move.l  D0,LTMP(A6)
    4925 *
    4926 *               ltmp += (long)pt->ipval;
    4927 *
     4925
     4926|               ltmp += (long)pt->ipval;
     4927
    49284928                move.l  PT(A6),A0
    49294929                move    2(A0),D0
    49304930                ext.l   D0
    49314931                add.l   D0,LTMP(A6)
    4932 *
    4933 *               if (ltmp GT (long)VALMAX)
    4934 *                       ltmp = (long)VALMAX;
    4935 *
     4932
     4933|               if (ltmp GT (long)VALMAX)
     4934|                       ltmp = (long)VALMAX;
     4935
    49364936                cmp.l   #VALMAX,LTMP(A6)
    49374937                ble     F08L146
    4938 *
     4938
    49394939                move.l  #VALMAX,LTMP(A6)
    49404940                bra     F08L147
    4941 *
    4942 *               else if (ltmp LT (long)VALMIN)
    4943 *                       ltmp = (long)VALMIN;
    4944 *
     4941
     4942|               else if (ltmp LT (long)VALMIN)
     4943|                       ltmp = (long)VALMIN;
     4944
    49454945F08L146:        cmp.l   #VALMIN,LTMP(A6)
    49464946                bge     F08L147
    4947 *
     4947
    49484948                move.l  #VALMIN,LTMP(A6)
    4949 *
    4950 *               tfpval = (short)ltmp;
    4951 *
     4949
     4950|               tfpval = (short)ltmp;
     4951
    49524952F08L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    49534953                bra     F08L149
    4954 *
    4955 *       } else {
    4956 *
    4957 *               tfpval = pt->ipval;
    4958 *
     4954
     4955|       } else {
     4956
     4957|               tfpval = pt->ipval;
     4958
    49594959F08L136:        move.l  PT(A6),A0
    49604960                move    2(A0),TFPVAL(A6)
    4961 *
    4962 *       }
    4963 *
    4964                 .page
    4965 *
    4966 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    4967 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    4968 *
     4961
     4962|       }
     4963
     4964                .page
     4965
     4966|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     4967|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     4968
    49694969F08L149:        move.l  PT(A6),A0
    49704970                move.w  (A0),D0
    49714971                move.w  D0,D2
    4972                 andi.w  #$FFF0,D0
     4972                andi.w  #0xFFF0,D0
    49734973                move.w  _timemlt,D1
    49744974                muls    D1,D0
     
    49764976                asr.l   D1,D0
    49774977                move    D0,R_FPMANT
    4978 *
    4979 *       fpexp = expbit[pt->iptim & 0x000F];
    4980 *
    4981                 and     #$000F,D2
     4978
     4979|       fpexp = expbit[pt->iptim & 0x000F];
     4980
     4981                and     #0x000F,D2
    49824982                move    D2,A0
    49834983                add.l   A0,A0
    49844984                add.l   #_expbit,A0
    49854985                move    (A0),R_FPEXP
    4986 *
    4987                 .page
    4988 *
    4989 *               fp->idfpch = pch;
    4990 *
     4986
     4987                .page
     4988
     4989|               fp->idfpch = pch;
     4990
    49914991F08L163:        move    PCH(A6),(A_FP)
    4992 *
    4993 *               fpval = tfpval;
    4994 *
     4992
     4993|               fpval = tfpval;
     4994
    49954995                move    TFPVAL(A6),R_FPVAL
    4996 *
    4997                 .page
    4998 *
     4996
     4997                .page
     4998
    49994999                move.b  5(A_FP),D0
    50005000                ext.w   D0
    50015001                sub.w   #1,D0
    50025002                movea.l PT(A6),A0
    5003 *
    5004 *       oldi = setipl(FPU_DI);
    5005 *
     5003
     5004|       oldi = setipl(FPU_DI);
     5005
    50065006                move    sr,OLDI(A6)
    50075007                move    #FPU_DI,sr
    5008 *
     5008
    50095009F08L168:        clr.b   10(A0)
    50105010                add.l   #12,a0
    50115011                dbra    D0,F08L168
    5012 *
    5013                 .page
    5014 *
    5015 *       fp->idftmd ^= I_NVBITS;
    5016 *
     5012
     5013                .page
     5014
     5015|       fp->idftmd ^= I_NVBITS;
     5016
    50175017F08L165:        eor.b   #24,7(A_FP)
    5018 *
    5019 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    5020 *
     5018
     5019|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     5020
    50215021                move.b  7(A_FP),R_FPCTL
    50225022                and     #28,R_FPCTL
    50235023                or      #3,R_FPCTL
    5024 *
    5025 *       fp->idfcpt = fp->idfpt1;
    5026 *
     5024
     5025|       fp->idfcpt = fp->idfpt1;
     5026
    50275027                move.b  6(A_FP),8(A_FP)
    5028 *
    5029 *       fp->idftmd |= I_ACTIVE;
    5030 *
     5028
     5029|       fp->idftmd |= I_ACTIVE;
     5030
    50315031                or.b    #2,7(A_FP)
    5032 *
    5033 *       fp->idftrf = trg;
    5034 *
     5032
     5033|       fp->idftrf = trg;
     5034
    50355035                move    TRG(A6),10(A_FP)
    5036 *
    5037 *       *(fpu + (long)FPU_TCV1) = srcval;
    5038 *
    5039                 move    SRCVAL(A6),$8(A_FPU)
    5040 *
    5041 *       ++octype;
    5042 *
     5036
     5037|       |(fpu + (long)FPU_TCV1) = srcval;
     5038
     5039                move    SRCVAL(A6),0x8(A_FPU)
     5040
     5041|       ++octype;
     5042
    50435043                add     #1,OCTYPE(A6)
    5044 *
    5045 *       *(fpu + (long)FPU_TSF1) = mltval;
    5046 *
    5047                 move    MLTVAL(A6),$A(A_FPU)
    5048 *
    5049 *       ++octype;
    5050 *
     5044
     5045|       |(fpu + (long)FPU_TSF1) = mltval;
     5046
     5047                move    MLTVAL(A6),0xA(A_FPU)
     5048
     5049|       ++octype;
     5050
    50515051                add     #1,OCTYPE(A6)
    5052 *
    5053 *       *(fpu + (long)FPU_TMNT) = fpmant;
    5054 *
    5055                 move    R_FPMANT,$14(A_FPU)
    5056 *
    5057 *       ++octype;
    5058 *
     5052
     5053|       |(fpu + (long)FPU_TMNT) = fpmant;
     5054
     5055                move    R_FPMANT,0x14(A_FPU)
     5056
     5057|       ++octype;
     5058
    50595059                add     #1,OCTYPE(A6)
    5060 *
    5061 *       *(fpu + (long)FPU_TEXP) = fpexp;
    5062 *
    5063                 move    R_FPEXP,$16(A_FPU)
    5064 *
    5065 *       ++octype;
    5066 *
     5060
     5061|       |(fpu + (long)FPU_TEXP) = fpexp;
     5062
     5063                move    R_FPEXP,0x16(A_FPU)
     5064
     5065|       ++octype;
     5066
    50675067                add     #1,OCTYPE(A6)
    5068 *
    5069                 .page
    5070 *
    5071 *       if (fp->idftmd & I_VNSUBN)
    5072 *
     5068
     5069                .page
     5070
     5071|       if (fp->idftmd & I_VNSUBN)
     5072
    50735073                btst    #3,7(A_FP)
    50745074                beq     F08L169
    5075 *
    5076 *               *(fpu + (long)FPU_TNV1) = fpval;
    5077 *
    5078                 move    R_FPVAL,$1C(A_FPU)
     5075
     5076|               |(fpu + (long)FPU_TNV1) = fpval;
     5077
     5078                move    R_FPVAL,0x1C(A_FPU)
    50795079                bra     F08L170
    5080 *
    5081 *       else
    5082 *               *(fpu + (long)FPU_TNV0) = fpval;
    5083 *
     5080
     5081|       else
     5082|               |(fpu + (long)FPU_TNV0) = fpval;
     5083
    50845084F08L169:        move    R_FPVAL,2(A_FPU)
    5085 *
    5086 *       ++octype;
    5087 *
     5085
     5086|       ++octype;
     5087
    50885088F08L170:        add     #1,OCTYPE(A6)
    5089 *
    5090 *       *(fpu + (long)FPU_TCTL) = fpctl;
    5091 *
     5089
     5090|       |(fpu + (long)FPU_TCTL) = fpctl;
     5091
    50925092                move    R_FPCTL,(A_FPU)
    5093 *
    5094 *       setipl(oldi);
    5095 *
     5093
     5094|       setipl(oldi);
     5095
    50965096                move    OLDI(A6),sr
    5097 *
    5098                 .page
    5099 * ------------------------------------------------------------------------------
    5100 * Start function 9 -- Ind 4
    5101 * ------------------------------------------------------------------------------
    5102 *
    5103 *    if (ip->idhfnc[9].idftmd & I_TM_KEY) {
    5104 *
     5097
     5098                .page
     5099| ------------------------------------------------------------------------------
     5100| Start function 9 -- Ind 4
     5101| ------------------------------------------------------------------------------
     5102
     5103|    if (ip->idhfnc[9].idftmd & I_TM_KEY) {
     5104
    51055105FN09:           move.l  IP(A6),A0
    51065106                move.b  201(A0),D0
     
    51095109                btst    #0,D0
    51105110                bne     FN09A
    5111 *
     5111
    51125112                jmp     FN10
    5113 *
    5114 *       vp = (vce << 4) + 13;
    5115 *
     5113
     5114|       vp = (vce << 4) + 13;
     5115
    51165116FN09A:          move    VCE(A6),D0
    51175117                asl     #4,D0
    51185118                add.w   #13,D0
    51195119                move    D0,VP(A6)
    5120 *
    5121 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    5122 *
     5120
     5121|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     5122
    51235123                asl     #5,D0
    51245124                ext.l   D0
    51255125                move.l  D0,A_FPU
    5126                 add.l   #_io_fpu+$4000,A_FPU
    5127 *
    5128 *       fp = &ip->idhfnc[9];
    5129 *
     5126                add.l   #_io_fpu+0x4000,A_FPU
     5127
     5128|       fp = &ip->idhfnc[9];
     5129
    51305130                move.l  #108,A_FP
    51315131                add.l   IP(A6),A_FP
    51325132                add.l   #86,A_FP
    5133 *
    5134 *       pt = &ip->idhpnt[fp->idfpt1];
    5135 *
     5133
     5134|       pt = &ip->idhpnt[fp->idfpt1];
     5135
    51365136                clr.l   D0
    51375137                move.b  6(A_FP),D0
     
    51435143                add.l   #242,D0
    51445144                move.l  D0,PT(A6)
    5145 *
    5146                 .page
    5147 *
    5148 *       srcnum = group | fp->idfsrc;
    5149 *
     5145
     5146                .page
     5147
     5148|       srcnum = group | fp->idfsrc;
     5149
    51505150                move.w  GROUP(A6),D0
    51515151                ext.l   D0
     
    51545154                or      D1,D0
    51555155                move    D0,SRCNUM(A6)
    5156 *
    5157 *       vep = &valents[srcnum];
    5158 *
     5156
     5157|       vep = &valents[srcnum];
     5158
    51595159                add.l   D0,D0
    51605160                move.l  D0,D1
     
    51635163                add.l   #_valents,D0
    51645164                move.l  D0,VEP(A6)
    5165 *
    5166 *       smp = vpsms[vp];
    5167 *
     5165
     5166|       smp = vpsms[vp];
     5167
    51685168                move    VP(A6),A0
    51695169                add.l   A0,A0
     
    51715171                add.l   #_vpsms,A0
    51725172                move.l  (A0),A_SMP
    5173 *
    5174 *       if (srcnum NE smp->sm) {
    5175 *
     5173
     5174|       if (srcnum NE smp->sm) {
     5175
    51765176                clr     D0
    51775177                move    10(A_SMP),D0
    51785178                cmp     SRCNUM(A6),D0
    51795179                beq     F09L113
    5180 *
    5181 *               (smp->prv)->nxt = smp->nxt;
    5182 *
     5180
     5181|               (smp->prv)->nxt = smp->nxt;
     5182
    51835183                move.l  4(A_SMP),A0
    51845184                move.l  (A_SMP),(A0)
    5185 *
    5186 *               (smp->nxt)->prv = smp->prv;
    5187 *
     5185
     5186|               (smp->nxt)->prv = smp->prv;
     5187
    51885188                move.l  (A_SMP),A0
    51895189                move.l  4(A_SMP),4(A0)
    5190 *
    5191 *               smp->prv = (struct sment *)vep;
    5192 *
     5190
     5191|               smp->prv = (struct sment |)vep;
     5192
    51935193                move.l  VEP(A6),4(A_SMP)
    5194 *
    5195 *               smp->nxt = vep->nxt;
    5196 *
     5194
     5195|               smp->nxt = vep->nxt;
     5196
    51975197                move.l  VEP(A6),A0
    51985198                move.l  (A0),(A_SMP)
    5199 *
    5200 *               (vep->nxt)->prv = smp;
    5201 *
     5199
     5200|               (vep->nxt)->prv = smp;
     5201
    52025202                move.l  VEP(A6),A0
    52035203                move.l  (A0),A0
    52045204                move.l  A_SMP,4(A0)
    5205 *
    5206 *               vep->nxt = smp;
    5207 *
     5205
     5206|               vep->nxt = smp;
     5207
    52085208                move.l  VEP(A6),A0
    52095209                move.l  A_SMP,(A0)
    5210 *
    5211 *               smp->sm = srcnum;
    5212 *
     5210
     5211|               smp->sm = srcnum;
     5212
    52135213                move    SRCNUM(A6),10(A_SMP)
    5214 *
    5215 *       }
    5216 *
    5217 *       mltval = fp->idfmlt;
    5218 *
     5214
     5215|       }
     5216
     5217|       mltval = fp->idfmlt;
     5218
    52195219F09L113:        move    2(A_FP),MLTVAL(A6)
    5220 *
    5221                 .page
    5222 *
    5223 *       switch (fp->idfsrc) {
    5224 *
     5220
     5221                .page
     5222
     5223|       switch (fp->idfsrc) {
     5224
    52255225                move.b  4(A_FP),D0
    52265226                ext.w   d0
    52275227                cmp     #10,D0
    52285228                bhi     F09L122
    5229 *
     5229
    52305230                asl     #2,D0
    52315231                lea     F09L123,A0
    52325232                movea.l 0(A0,D0.W),A0
    52335233                jmp     (A0)
    5234 *
    5235 *       case SM_NONE:
    5236 *               mltval = 0;
    5237 *
     5234
     5235|       case SM_NONE:
     5236|               mltval = 0;
     5237
    52385238F09L116:        clr     MLTVAL(A6)
    5239 *
    5240 *               tsrcval = 0;
    5241 *
     5239
     5240|               tsrcval = 0;
     5241
    52425242                clr     TSRCVAL(A6)
    5243 *
    5244 *               break;
    5245 *
     5243
     5244|               break;
     5245
    52465246                bra     F09L114
    5247 *
    5248 *       case SM_RAND:
    5249 *               tsrcval = xgetran(mltval);
    5250 *
     5247
     5248|       case SM_RAND:
     5249|               tsrcval = xgetran(mltval);
     5250
    52515251F09L117:        move    MLTVAL(A6),(sp)
    52525252                jsr     _xgetran
    52535253                move    D0,TSRCVAL(A6)
    5254 *
    5255 *               break;
    5256 *
     5254
     5255|               break;
     5256
    52575257                bra     F09L114
    5258 *
    5259 *       case SM_PTCH:
    5260 *               tsrcval = pch;
    5261 *
     5258
     5259|       case SM_PTCH:
     5260|               tsrcval = pch;
     5261
    52625262F09L118:        move    PCH(A6),TSRCVAL(A6)
    5263 *
    5264 *               break;
    5265 *
     5263
     5264|               break;
     5265
    52665266                bra     F09L114
    5267 *
    5268                 .page
    5269 *
    5270 *       case SM_FREQ:
    5271 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    5272 *
     5267
     5268                .page
     5269
     5270|       case SM_FREQ:
     5271|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     5272
    52735273F09L119:        move    PCH(A6),D0
    52745274                asr     #7,D0
     
    52785278                add.l   #_ptoftab,A0
    52795279                move    (A0),TSRCVAL(A6)
    5280 *
    5281 *               break;
    5282 *
     5280
     5281|               break;
     5282
    52835283                bra     F09L114
    5284 *
    5285 *       case SM_KVEL:
    5286 *               tsrcval = veltab[trg];
    5287 *
     5284
     5285|       case SM_KVEL:
     5286|               tsrcval = veltab[trg];
     5287
    52885288F09L120:        move    TRG(A6),A0
    52895289                add.l   A0,A0
    52905290                add.l   #_veltab,A0
    52915291                move    (A0),TSRCVAL(A6)
    5292 *
    5293 *               break;
    5294 *
     5292
     5293|               break;
     5294
    52955295                bra     F09L114
    5296 *
    5297 *       case SM_KPRS:
    5298 *               tsrcval = prstab[trg];
    5299 *
     5296
     5297|       case SM_KPRS:
     5298|               tsrcval = prstab[trg];
     5299
    53005300F09L121:        move    TRG(A6),A0
    53015301                add.l   A0,A0
    53025302                add.l   #_prstab,A0
    53035303                move    (A0),TSRCVAL(A6)
    5304 *
    5305 *               break;
    5306 *
     5304
     5305|               break;
     5306
    53075307                bra     F09L114
    5308 *
    5309 *       default:
    5310 *               tsrcval = vep->val;
    5311 *
     5308
     5309|       default:
     5310|               tsrcval = vep->val;
     5311
    53125312F09L122:        move.l  VEP(A6),A0
    53135313                move    8(A0),TSRCVAL(A6)
    5314 *
    5315 *       }
    5316 *
    5317                 .page
    5318 *
    5319 *               srcval = tsrcval;
    5320 *
     5314
     5315|       }
     5316
     5317                .page
     5318
     5319|               srcval = tsrcval;
     5320
    53215321F09L114:        move    TSRCVAL(A6),SRCVAL(A6)
    5322 *
    5323                 .page
    5324 *
    5325 *       if (pt->ipvsrc) {
    5326 *
     5322
     5323                .page
     5324
     5325|       if (pt->ipvsrc) {
     5326
    53275327F09L124:        move.l  PT(A6),A0
    53285328                tst.b   6(A0)
    53295329                beq     F09L136
    5330 *
    5331 *               switch (pt->ipvsrc) {
    5332 *
     5330
     5331|               switch (pt->ipvsrc) {
     5332
    53335333                move.l  PT(A6),A0
    53345334                move.b  6(A0),D0
     
    53375337                cmp     #9,D0
    53385338                bhi     F09L144
    5339 *
     5339
    53405340                asl     #2,D0
    53415341                lea     F09L145,A0
    53425342                move.l  0(A0,D0.W),A0
    53435343                jmp     (A0)
    5344 *
    5345 *               case SM_RAND:
    5346 *                       ltmp = xgetran(pt_>ipvmlt);
    5347 *
     5344
     5345|               case SM_RAND:
     5346|                       ltmp = xgetran(pt_>ipvmlt);
     5347
    53485348F09L139:        move.l  PT(A6),A0
    53495349                move    4(A0),(sp)
     
    53515351                ext.l   D0
    53525352                move.l  D0,LTMP(A6)
    5353 *
    5354 *                       break;
    5355 *
     5353
     5354|                       break;
     5355
    53565356                bra     F09L137
    5357 *
    5358 *               case SM_PTCH:
    5359 *                       ltmp = pch;
    5360 *
     5357
     5358|               case SM_PTCH:
     5359|                       ltmp = pch;
     5360
    53615361F09L140:        move    PCH(A6),A0
    53625362                move.l  A0,LTMP(A6)
    5363 *
    5364 *                       break;
    5365 *
     5363
     5364|                       break;
     5365
    53665366                bra     F09L137
    5367 *
    5368                 .page
    5369 *
    5370 *               case SM_FREQ:
    5371 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    5372 *
     5367
     5368                .page
     5369
     5370|               case SM_FREQ:
     5371|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     5372
    53735373F09L141:        move    PCH(A6),D0
    53745374                asr     #7,D0
     
    53805380                ext.l   D0
    53815381                move.l  D0,LTMP(A6)
    5382 *
    5383 *                       break;
    5384 *
     5382
     5383|                       break;
     5384
    53855385                bra     F09L137
    5386 *
    5387 *               case SM_KVEL:
    5388 *                       ltmp = veltab[trg];
    5389 *
     5386
     5387|               case SM_KVEL:
     5388|                       ltmp = veltab[trg];
     5389
    53905390F09L142:        move    TRG(A6),A0
    53915391                add.l   A0,A0
     
    53945394                ext.l   D0
    53955395                move.l  D0,LTMP(A6)
    5396 *
    5397 *                       break;
    5398 *
     5396
     5397|                       break;
     5398
    53995399                bra     F09L137
    5400 *
    5401                 .page
    5402 *
    5403 *               case SM_KPRS:
    5404 *                       ltmp = prstab[trg];
    5405 *
     5400
     5401                .page
     5402
     5403|               case SM_KPRS:
     5404|                       ltmp = prstab[trg];
     5405
    54065406F09L143:        move    TRG(A6),A0
    54075407                add.l   A0,A0
     
    54105410                ext.l   D0
    54115411                move.l  D0,LTMP(A6)
    5412 *
    5413 *                       break;
    5414 *
     5412
     5413|                       break;
     5414
    54155415                bra     F09L137
    5416 *
    5417                 .page
    5418 *
    5419 *               default:
    5420 *                       ltmp = valents[group | pt->ipvsrc].val;
    5421 *
     5416
     5417                .page
     5418
     5419|               default:
     5420|                       ltmp = valents[group | pt->ipvsrc].val;
     5421
    54225422F09L144:        move.l  PT(A6),A0
    54235423                clr.l   D0
     
    54335433                move    8(A0,A1.l),D0
    54345434                move.l  D0,LTMP(A6)
    5435 *
    5436 *               }
    5437 *
    5438 *
    5439                 .page
    5440 *
    5441 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    5442 *
     5435
     5436|               }
     5437
     5438
     5439                .page
     5440
     5441|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     5442
    54435443F09L137:        move.l  PT(A6),A0
    54445444                move.w  4(A0),D0
     
    54485448                asr.l   D1,D0
    54495449                move.l  D0,LTMP(A6)
    5450 *
    5451 *               ltmp += (long)pt->ipval;
    5452 *
     5450
     5451|               ltmp += (long)pt->ipval;
     5452
    54535453                move.l  PT(A6),A0
    54545454                move    2(A0),D0
    54555455                ext.l   D0
    54565456                add.l   D0,LTMP(A6)
    5457 *
    5458 *               if (ltmp GT (long)VALMAX)
    5459 *                       ltmp = (long)VALMAX;
    5460 *
     5457
     5458|               if (ltmp GT (long)VALMAX)
     5459|                       ltmp = (long)VALMAX;
     5460
    54615461                cmp.l   #VALMAX,LTMP(A6)
    54625462                ble     F09L146
    5463 *
     5463
    54645464                move.l  #VALMAX,LTMP(A6)
    54655465                bra     F09L147
    5466 *
    5467 *               else if (ltmp LT (long)VALMIN)
    5468 *                       ltmp = (long)VALMIN;
    5469 *
     5466
     5467|               else if (ltmp LT (long)VALMIN)
     5468|                       ltmp = (long)VALMIN;
     5469
    54705470F09L146:        cmp.l   #VALMIN,LTMP(A6)
    54715471                bge     F09L147
    5472 *
     5472
    54735473                move.l  #VALMIN,LTMP(A6)
    5474 *
    5475 *               tfpval = (short)ltmp;
    5476 *
     5474
     5475|               tfpval = (short)ltmp;
     5476
    54775477F09L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    54785478                bra     F09L149
    5479 *
    5480 *       } else {
    5481 *
    5482 *               tfpval = pt->ipval;
    5483 *
     5479
     5480|       } else {
     5481
     5482|               tfpval = pt->ipval;
     5483
    54845484F09L136:        move.l  PT(A6),A0
    54855485                move    2(A0),TFPVAL(A6)
    5486 *
    5487 *       }
    5488 *
    5489                 .page
    5490 *
    5491 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    5492 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    5493 *
     5486
     5487|       }
     5488
     5489                .page
     5490
     5491|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     5492|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     5493
    54945494F09L149:        move.l  PT(A6),A0
    54955495                move.w  (A0),D0
    54965496                move.w  D0,D2
    5497                 andi.w  #$FFF0,D0
     5497                andi.w  #0xFFF0,D0
    54985498                move.w  _timemlt,D1
    54995499                muls    D1,D0
     
    55015501                asr.l   D1,D0
    55025502                move    D0,R_FPMANT
    5503 *
    5504 *       fpexp = expbit[pt->iptim & 0x000F];
    5505 *
    5506                 and     #$000F,D2
     5503
     5504|       fpexp = expbit[pt->iptim & 0x000F];
     5505
     5506                and     #0x000F,D2
    55075507                move    D2,A0
    55085508                add.l   A0,A0
    55095509                add.l   #_expbit,A0
    55105510                move    (A0),R_FPEXP
    5511 *
    5512                 .page
    5513 *
    5514 *               fp->idfpch = pch;
    5515 *
     5511
     5512                .page
     5513
     5514|               fp->idfpch = pch;
     5515
    55165516F09L163:        move    PCH(A6),(A_FP)
    5517 *
    5518 *               fpval = tfpval;
    5519 *
     5517
     5518|               fpval = tfpval;
     5519
    55205520                move    TFPVAL(A6),R_FPVAL
    5521 *
    5522                 .page
    5523 *
     5521
     5522                .page
     5523
    55245524                move.b  5(A_FP),D0
    55255525                ext.w   D0
    55265526                sub.w   #1,D0
    55275527                movea.l PT(A6),A0
    5528 *
    5529 *       oldi = setipl(FPU_DI);
    5530 *
     5528
     5529|       oldi = setipl(FPU_DI);
     5530
    55315531                move    sr,OLDI(A6)
    55325532                move    #FPU_DI,sr
    5533 *
     5533
    55345534F09L168:        clr.b   10(A0)
    55355535                add.l   #12,a0
    55365536                dbra    D0,F09L168
    5537 *
    5538                 .page
    5539 *
    5540 *       fp->idftmd ^= I_NVBITS;
    5541 *
     5537
     5538                .page
     5539
     5540|       fp->idftmd ^= I_NVBITS;
     5541
    55425542F09L165:        eor.b   #24,7(A_FP)
    5543 *
    5544 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    5545 *
     5543
     5544|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     5545
    55465546                move.b  7(A_FP),R_FPCTL
    55475547                and     #28,R_FPCTL
    55485548                or      #3,R_FPCTL
    5549 *
    5550 *       fp->idfcpt = fp->idfpt1;
    5551 *
     5549
     5550|       fp->idfcpt = fp->idfpt1;
     5551
    55525552                move.b  6(A_FP),8(A_FP)
    5553 *
    5554 *       fp->idftmd |= I_ACTIVE;
    5555 *
     5553
     5554|       fp->idftmd |= I_ACTIVE;
     5555
    55565556                or.b    #2,7(A_FP)
    5557 *
    5558 *       fp->idftrf = trg;
    5559 *
     5557
     5558|       fp->idftrf = trg;
     5559
    55605560                move    TRG(A6),10(A_FP)
    5561 *
    5562 *       *(fpu + (long)FPU_TCV1) = srcval;
    5563 *
    5564                 move    SRCVAL(A6),$8(A_FPU)
    5565 *
    5566 *       ++octype;
    5567 *
     5561
     5562|       |(fpu + (long)FPU_TCV1) = srcval;
     5563
     5564                move    SRCVAL(A6),0x8(A_FPU)
     5565
     5566|       ++octype;
     5567
    55685568                add     #1,OCTYPE(A6)
    5569 *
    5570 *       *(fpu + (long)FPU_TSF1) = mltval;
    5571 *
    5572                 move    MLTVAL(A6),$A(A_FPU)
    5573 *
    5574 *       ++octype;
    5575 *
     5569
     5570|       |(fpu + (long)FPU_TSF1) = mltval;
     5571
     5572                move    MLTVAL(A6),0xA(A_FPU)
     5573
     5574|       ++octype;
     5575
    55765576                add     #1,OCTYPE(A6)
    5577 *
    5578 *       *(fpu + (long)FPU_TMNT) = fpmant;
    5579 *
    5580                 move    R_FPMANT,$14(A_FPU)
    5581 *
    5582 *       ++octype;
    5583 *
     5577
     5578|       |(fpu + (long)FPU_TMNT) = fpmant;
     5579
     5580                move    R_FPMANT,0x14(A_FPU)
     5581
     5582|       ++octype;
     5583
    55845584                add     #1,OCTYPE(A6)
    5585 *
    5586 *       *(fpu + (long)FPU_TEXP) = fpexp;
    5587 *
    5588                 move    R_FPEXP,$16(A_FPU)
    5589 *
    5590 *       ++octype;
    5591 *
     5585
     5586|       |(fpu + (long)FPU_TEXP) = fpexp;
     5587
     5588                move    R_FPEXP,0x16(A_FPU)
     5589
     5590|       ++octype;
     5591
    55925592                add     #1,OCTYPE(A6)
    5593 *
    5594                 .page
    5595 *
    5596 *       if (fp->idftmd & I_VNSUBN)
    5597 *
     5593
     5594                .page
     5595
     5596|       if (fp->idftmd & I_VNSUBN)
     5597
    55985598                btst    #3,7(A_FP)
    55995599                beq     F09L169
    5600 *
    5601 *               *(fpu + (long)FPU_TNV1) = fpval;
    5602 *
    5603                 move    R_FPVAL,$1C(A_FPU)
     5600
     5601|               |(fpu + (long)FPU_TNV1) = fpval;
     5602
     5603                move    R_FPVAL,0x1C(A_FPU)
    56045604                bra     F09L170
    5605 *
    5606 *       else
    5607 *               *(fpu + (long)FPU_TNV0) = fpval;
    5608 *
     5605
     5606|       else
     5607|               |(fpu + (long)FPU_TNV0) = fpval;
     5608
    56095609F09L169:        move    R_FPVAL,2(A_FPU)
    5610 *
    5611 *       ++octype;
    5612 *
     5610
     5611|       ++octype;
     5612
    56135613F09L170:        add     #1,OCTYPE(A6)
    5614 *
    5615 *       *(fpu + (long)FPU_TCTL) = fpctl;
    5616 *
     5614
     5615|       |(fpu + (long)FPU_TCTL) = fpctl;
     5616
    56175617                move    R_FPCTL,(A_FPU)
    5618 *
    5619 *       setipl(oldi);
    5620 *
     5618
     5619|       setipl(oldi);
     5620
    56215621                move    OLDI(A6),sr
    5622 *
    5623                 .page
    5624 * ------------------------------------------------------------------------------
    5625 * Start function 10 -- Ind 5
    5626 * ------------------------------------------------------------------------------
    5627 *
    5628 *    if (ip->idhfnc[10].idftmd & I_TM_KEY) {
    5629 *
     5622
     5623                .page
     5624| ------------------------------------------------------------------------------
     5625| Start function 10 -- Ind 5
     5626| ------------------------------------------------------------------------------
     5627
     5628|    if (ip->idhfnc[10].idftmd & I_TM_KEY) {
     5629
    56305630FN10:           move.l  IP(A6),A0
    56315631                move.b  213(A0),D0
     
    56345634                btst    #0,D0
    56355635                bne     FN10A
    5636 *
     5636
    56375637                jmp     FN11
    5638 *
    5639 *       vp = (vce << 4) + 14;
    5640 *
     5638
     5639|       vp = (vce << 4) + 14;
     5640
    56415641FN10A:          move    VCE(A6),D0
    56425642                asl     #4,D0
    56435643                add.w   #14,D0
    56445644                move    D0,VP(A6)
    5645 *
    5646 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    5647 *
     5645
     5646|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     5647
    56485648                asl     #5,D0
    56495649                ext.l   D0
    56505650                move.l  D0,A_FPU
    5651                 add.l   #_io_fpu+$4000,A_FPU
    5652 *
    5653 *       fp = &ip->idhfnc[10];
    5654 *
     5651                add.l   #_io_fpu+0x4000,A_FPU
     5652
     5653|       fp = &ip->idhfnc[10];
     5654
    56555655                move.l  #120,A_FP
    56565656                add.l   IP(A6),A_FP
    56575657                add.l   #86,A_FP
    5658 *
    5659 *       pt = &ip->idhpnt[fp->idfpt1];
    5660 *
     5658
     5659|       pt = &ip->idhpnt[fp->idfpt1];
     5660
    56615661                clr.l   D0
    56625662                move.b  6(A_FP),D0
     
    56685668                add.l   #242,D0
    56695669                move.l  D0,PT(A6)
    5670 *
    5671                 .page
    5672 *
    5673 *       srcnum = group | fp->idfsrc;
    5674 *
     5670
     5671                .page
     5672
     5673|       srcnum = group | fp->idfsrc;
     5674
    56755675                move.w  GROUP(A6),D0
    56765676                ext.l   D0
     
    56795679                or      D1,D0
    56805680                move    D0,SRCNUM(A6)
    5681 *
    5682 *       vep = &valents[srcnum];
    5683 *
     5681
     5682|       vep = &valents[srcnum];
     5683
    56845684                add.l   D0,D0
    56855685                move.l  D0,D1
     
    56885688                add.l   #_valents,D0
    56895689                move.l  D0,VEP(A6)
    5690 *
    5691 *       smp = vpsms[vp];
    5692 *
     5690
     5691|       smp = vpsms[vp];
     5692
    56935693                move    VP(A6),A0
    56945694                add.l   A0,A0
     
    56965696                add.l   #_vpsms,A0
    56975697                move.l  (A0),A_SMP
    5698 *
    5699 *       if (srcnum NE smp->sm) {
    5700 *
     5698
     5699|       if (srcnum NE smp->sm) {
     5700
    57015701                clr     D0
    57025702                move    10(A_SMP),D0
    57035703                cmp     SRCNUM(A6),D0
    57045704                beq     F10L113
    5705 *
    5706 *               (smp->prv)->nxt = smp->nxt;
    5707 *
     5705
     5706|               (smp->prv)->nxt = smp->nxt;
     5707
    57085708                move.l  4(A_SMP),A0
    57095709                move.l  (A_SMP),(A0)
    5710 *
    5711 *               (smp->nxt)->prv = smp->prv;
    5712 *
     5710
     5711|               (smp->nxt)->prv = smp->prv;
     5712
    57135713                move.l  (A_SMP),A0
    57145714                move.l  4(A_SMP),4(A0)
    5715 *
    5716 *               smp->prv = (struct sment *)vep;
    5717 *
     5715
     5716|               smp->prv = (struct sment |)vep;
     5717
    57185718                move.l  VEP(A6),4(A_SMP)
    5719 *
    5720 *               smp->nxt = vep->nxt;
    5721 *
     5719
     5720|               smp->nxt = vep->nxt;
     5721
    57225722                move.l  VEP(A6),A0
    57235723                move.l  (A0),(A_SMP)
    5724 *
    5725 *               (vep->nxt)->prv = smp;
    5726 *
     5724
     5725|               (vep->nxt)->prv = smp;
     5726
    57275727                move.l  VEP(A6),A0
    57285728                move.l  (A0),A0
    57295729                move.l  A_SMP,4(A0)
    5730 *
    5731 *               vep->nxt = smp;
    5732 *
     5730
     5731|               vep->nxt = smp;
     5732
    57335733                move.l  VEP(A6),A0
    57345734                move.l  A_SMP,(A0)
    5735 *
    5736 *               smp->sm = srcnum;
    5737 *
     5735
     5736|               smp->sm = srcnum;
     5737
    57385738                move    SRCNUM(A6),10(A_SMP)
    5739 *
    5740 *       }
    5741 *
    5742 *       mltval = fp->idfmlt;
    5743 *
     5739
     5740|       }
     5741
     5742|       mltval = fp->idfmlt;
     5743
    57445744F10L113:        move    2(A_FP),MLTVAL(A6)
    5745 *
    5746                 .page
    5747 *
    5748 *       switch (fp->idfsrc) {
    5749 *
     5745
     5746                .page
     5747
     5748|       switch (fp->idfsrc) {
     5749
    57505750                move.b  4(A_FP),D0
    57515751                ext.w   d0
    57525752                cmp     #10,D0
    57535753                bhi     F10L122
    5754 *
     5754
    57555755                asl     #2,D0
    57565756                lea     F10L123,A0
    57575757                movea.l 0(A0,D0.W),A0
    57585758                jmp     (A0)
    5759 *
    5760 *       case SM_NONE:
    5761 *               mltval = 0;
    5762 *
     5759
     5760|       case SM_NONE:
     5761|               mltval = 0;
     5762
    57635763F10L116:        clr     MLTVAL(A6)
    5764 *
    5765 *               tsrcval = 0;
    5766 *
     5764
     5765|               tsrcval = 0;
     5766
    57675767                clr     TSRCVAL(A6)
    5768 *
    5769 *               break;
    5770 *
     5768
     5769|               break;
     5770
    57715771                bra     F10L114
    5772 *
    5773 *       case SM_RAND:
    5774 *               tsrcval = xgetran(mltval);
    5775 *
     5772
     5773|       case SM_RAND:
     5774|               tsrcval = xgetran(mltval);
     5775
    57765776F10L117:        move    MLTVAL(A6),(sp)
    57775777                jsr     _xgetran
    57785778                move    D0,TSRCVAL(A6)
    5779 *
    5780 *               break;
    5781 *
     5779
     5780|               break;
     5781
    57825782                bra     F10L114
    5783 *
    5784 *       case SM_PTCH:
    5785 *               tsrcval = pch;
    5786 *
     5783
     5784|       case SM_PTCH:
     5785|               tsrcval = pch;
     5786
    57875787F10L118:        move    PCH(A6),TSRCVAL(A6)
    5788 *
    5789 *               break;
    5790 *
     5788
     5789|               break;
     5790
    57915791                bra     F10L114
    5792 *
    5793                 .page
    5794 *
    5795 *       case SM_FREQ:
    5796 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    5797 *
     5792
     5793                .page
     5794
     5795|       case SM_FREQ:
     5796|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     5797
    57985798F10L119:        move    PCH(A6),D0
    57995799                asr     #7,D0
     
    58035803                add.l   #_ptoftab,A0
    58045804                move    (A0),TSRCVAL(A6)
    5805 *
    5806 *               break;
    5807 *
     5805
     5806|               break;
     5807
    58085808                bra     F10L114
    5809 *
    5810 *       case SM_KVEL:
    5811 *               tsrcval = veltab[trg];
    5812 *
     5809
     5810|       case SM_KVEL:
     5811|               tsrcval = veltab[trg];
     5812
    58135813F10L120:        move    TRG(A6),A0
    58145814                add.l   A0,A0
    58155815                add.l   #_veltab,A0
    58165816                move    (A0),TSRCVAL(A6)
    5817 *
    5818 *               break;
    5819 *
     5817
     5818|               break;
     5819
    58205820                bra     F10L114
    5821 *
    5822 *       case SM_KPRS:
    5823 *               tsrcval = prstab[trg];
    5824 *
     5821
     5822|       case SM_KPRS:
     5823|               tsrcval = prstab[trg];
     5824
    58255825F10L121:        move    TRG(A6),A0
    58265826                add.l   A0,A0
    58275827                add.l   #_prstab,A0
    58285828                move    (A0),TSRCVAL(A6)
    5829 *
    5830 *               break;
    5831 *
     5829
     5830|               break;
     5831
    58325832                bra     F10L114
    5833 *
    5834 *       default:
    5835 *               tsrcval = vep->val;
    5836 *
     5833
     5834|       default:
     5835|               tsrcval = vep->val;
     5836
    58375837F10L122:        move.l  VEP(A6),A0
    58385838                move    8(A0),TSRCVAL(A6)
    5839 *
    5840 *       }
    5841 *
    5842                 .page
    5843 *
    5844 *               srcval = tsrcval;
    5845 *
     5839
     5840|       }
     5841
     5842                .page
     5843
     5844|               srcval = tsrcval;
     5845
    58465846F10L114:        move    TSRCVAL(A6),SRCVAL(A6)
    5847 *
    5848                 .page
    5849 *
    5850 *       if (pt->ipvsrc) {
    5851 *
     5847
     5848                .page
     5849
     5850|       if (pt->ipvsrc) {
     5851
    58525852F10L124:        move.l  PT(A6),A0
    58535853                tst.b   6(A0)
    58545854                beq     F10L136
    5855 *
    5856 *               switch (pt->ipvsrc) {
    5857 *
     5855
     5856|               switch (pt->ipvsrc) {
     5857
    58585858                move.l  PT(A6),A0
    58595859                move.b  6(A0),D0
     
    58625862                cmp     #9,D0
    58635863                bhi     F10L144
    5864 *
     5864
    58655865                asl     #2,D0
    58665866                lea     F10L145,A0
    58675867                move.l  0(A0,D0.W),A0
    58685868                jmp     (A0)
    5869 *
    5870 *               case SM_RAND:
    5871 *                       ltmp = xgetran(pt_>ipvmlt);
    5872 *
     5869
     5870|               case SM_RAND:
     5871|                       ltmp = xgetran(pt_>ipvmlt);
     5872
    58735873F10L139:        move.l  PT(A6),A0
    58745874                move    4(A0),(sp)
     
    58765876                ext.l   D0
    58775877                move.l  D0,LTMP(A6)
    5878 *
    5879 *                       break;
    5880 *
     5878
     5879|                       break;
     5880
    58815881                bra     F10L137
    5882 *
    5883 *               case SM_PTCH:
    5884 *                       ltmp = pch;
    5885 *
     5882
     5883|               case SM_PTCH:
     5884|                       ltmp = pch;
     5885
    58865886F10L140:        move    PCH(A6),A0
    58875887                move.l  A0,LTMP(A6)
    5888 *
    5889 *                       break;
    5890 *
     5888
     5889|                       break;
     5890
    58915891                bra     F10L137
    5892 *
    5893                 .page
    5894 *
    5895 *               case SM_FREQ:
    5896 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    5897 *
     5892
     5893                .page
     5894
     5895|               case SM_FREQ:
     5896|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     5897
    58985898F10L141:        move    PCH(A6),D0
    58995899                asr     #7,D0
     
    59055905                ext.l   D0
    59065906                move.l  D0,LTMP(A6)
    5907 *
    5908 *                       break;
    5909 *
     5907
     5908|                       break;
     5909
    59105910                bra     F10L137
    5911 *
    5912 *               case SM_KVEL:
    5913 *                       ltmp = veltab[trg];
    5914 *
     5911
     5912|               case SM_KVEL:
     5913|                       ltmp = veltab[trg];
     5914
    59155915F10L142:        move    TRG(A6),A0
    59165916                add.l   A0,A0
     
    59195919                ext.l   D0
    59205920                move.l  D0,LTMP(A6)
    5921 *
    5922 *                       break;
    5923 *
     5921
     5922|                       break;
     5923
    59245924                bra     F10L137
    5925 *
    5926                 .page
    5927 *
    5928 *               case SM_KPRS:
    5929 *                       ltmp = prstab[trg];
    5930 *
     5925
     5926                .page
     5927
     5928|               case SM_KPRS:
     5929|                       ltmp = prstab[trg];
     5930
    59315931F10L143:        move    TRG(A6),A0
    59325932                add.l   A0,A0
     
    59355935                ext.l   D0
    59365936                move.l  D0,LTMP(A6)
    5937 *
    5938 *                       break;
    5939 *
     5937
     5938|                       break;
     5939
    59405940                bra     F10L137
    5941 *
    5942                 .page
    5943 *
    5944 *               default:
    5945 *                       ltmp = valents[group | pt->ipvsrc].val;
    5946 *
     5941
     5942                .page
     5943
     5944|               default:
     5945|                       ltmp = valents[group | pt->ipvsrc].val;
     5946
    59475947F10L144:        move.l  PT(A6),A0
    59485948                clr.l   D0
     
    59585958                move    8(A0,A1.l),D0
    59595959                move.l  D0,LTMP(A6)
    5960 *
    5961 *               }
    5962 *
    5963 *
    5964                 .page
    5965 *
    5966 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    5967 *
     5960
     5961|               }
     5962
     5963
     5964                .page
     5965
     5966|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     5967
    59685968F10L137:        move.l  PT(A6),A0
    59695969                move.w  4(A0),D0
     
    59735973                asr.l   D1,D0
    59745974                move.l  D0,LTMP(A6)
    5975 *
    5976 *               ltmp += (long)pt->ipval;
    5977 *
     5975
     5976|               ltmp += (long)pt->ipval;
     5977
    59785978                move.l  PT(A6),A0
    59795979                move    2(A0),D0
    59805980                ext.l   D0
    59815981                add.l   D0,LTMP(A6)
    5982 *
    5983 *               if (ltmp GT (long)VALMAX)
    5984 *                       ltmp = (long)VALMAX;
    5985 *
     5982
     5983|               if (ltmp GT (long)VALMAX)
     5984|                       ltmp = (long)VALMAX;
     5985
    59865986                cmp.l   #VALMAX,LTMP(A6)
    59875987                ble     F10L146
    5988 *
     5988
    59895989                move.l  #VALMAX,LTMP(A6)
    59905990                bra     F10L147
    5991 *
    5992 *               else if (ltmp LT (long)VALMIN)
    5993 *                       ltmp = (long)VALMIN;
    5994 *
     5991
     5992|               else if (ltmp LT (long)VALMIN)
     5993|                       ltmp = (long)VALMIN;
     5994
    59955995F10L146:        cmp.l   #VALMIN,LTMP(A6)
    59965996                bge     F10L147
    5997 *
     5997
    59985998                move.l  #VALMIN,LTMP(A6)
    5999 *
    6000 *               tfpval = (short)ltmp;
    6001 *
     5999
     6000|               tfpval = (short)ltmp;
     6001
    60026002F10L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    60036003                bra     F10L149
    6004 *
    6005 *       } else {
    6006 *
    6007 *               tfpval = pt->ipval;
    6008 *
     6004
     6005|       } else {
     6006
     6007|               tfpval = pt->ipval;
     6008
    60096009F10L136:        move.l  PT(A6),A0
    60106010                move    2(A0),TFPVAL(A6)
    6011 *
    6012 *       }
    6013 *
    6014                 .page
    6015 *
    6016 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    6017 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    6018 *
     6011
     6012|       }
     6013
     6014                .page
     6015
     6016|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     6017|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     6018
    60196019F10L149:        move.l  PT(A6),A0
    60206020                move.w  (A0),D0
    60216021                move.w  D0,D2
    6022                 andi.w  #$FFF0,D0
     6022                andi.w  #0xFFF0,D0
    60236023                move.w  _timemlt,D1
    60246024                muls    D1,D0
     
    60266026                asr.l   D1,D0
    60276027                move    D0,R_FPMANT
    6028 *
    6029 *       fpexp = expbit[pt->iptim & 0x000F];
    6030 *
    6031                 and     #$000F,D2
     6028
     6029|       fpexp = expbit[pt->iptim & 0x000F];
     6030
     6031                and     #0x000F,D2
    60326032                move    D2,A0
    60336033                add.l   A0,A0
    60346034                add.l   #_expbit,A0
    60356035                move    (A0),R_FPEXP
    6036 *
    6037                 .page
    6038 *
    6039 *               fp->idfpch = pch;
    6040 *
     6036
     6037                .page
     6038
     6039|               fp->idfpch = pch;
     6040
    60416041F10L163:        move    PCH(A6),(A_FP)
    6042 *
    6043 *               fpval = tfpval;
    6044 *
     6042
     6043|               fpval = tfpval;
     6044
    60456045                move    TFPVAL(A6),R_FPVAL
    6046 *
    6047                 .page
    6048 *
     6046
     6047                .page
     6048
    60496049                move.b  5(A_FP),D0
    60506050                ext.w   D0
    60516051                sub.w   #1,D0
    60526052                movea.l PT(A6),A0
    6053 *
    6054 *       oldi = setipl(FPU_DI);
    6055 *
     6053
     6054|       oldi = setipl(FPU_DI);
     6055
    60566056                move    sr,OLDI(A6)
    60576057                move    #FPU_DI,sr
    6058 *
     6058
    60596059F10L168:        clr.b   10(A0)
    60606060                add.l   #12,a0
    60616061                dbra    D0,F10L168
    6062 *
    6063                 .page
    6064 *
    6065 *       fp->idftmd ^= I_NVBITS;
    6066 *
     6062
     6063                .page
     6064
     6065|       fp->idftmd ^= I_NVBITS;
     6066
    60676067F10L165:        eor.b   #24,7(A_FP)
    6068 *
    6069 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    6070 *
     6068
     6069|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     6070
    60716071                move.b  7(A_FP),R_FPCTL
    60726072                and     #28,R_FPCTL
    60736073                or      #3,R_FPCTL
    6074 *
    6075 *       fp->idfcpt = fp->idfpt1;
    6076 *
     6074
     6075|       fp->idfcpt = fp->idfpt1;
     6076
    60776077                move.b  6(A_FP),8(A_FP)
    6078 *
    6079 *       fp->idftmd |= I_ACTIVE;
    6080 *
     6078
     6079|       fp->idftmd |= I_ACTIVE;
     6080
    60816081                or.b    #2,7(A_FP)
    6082 *
    6083 *       fp->idftrf = trg;
    6084 *
     6082
     6083|       fp->idftrf = trg;
     6084
    60856085                move    TRG(A6),10(A_FP)
    6086 *
    6087 *       *(fpu + (long)FPU_TCV1) = srcval;
    6088 *
    6089                 move    SRCVAL(A6),$8(A_FPU)
    6090 *
    6091 *       ++octype;
    6092 *
     6086
     6087|       |(fpu + (long)FPU_TCV1) = srcval;
     6088
     6089                move    SRCVAL(A6),0x8(A_FPU)
     6090
     6091|       ++octype;
     6092
    60936093                add     #1,OCTYPE(A6)
    6094 *
    6095 *       *(fpu + (long)FPU_TSF1) = mltval;
    6096 *
    6097                 move    MLTVAL(A6),$A(A_FPU)
    6098 *
    6099 *       ++octype;
    6100 *
     6094
     6095|       |(fpu + (long)FPU_TSF1) = mltval;
     6096
     6097                move    MLTVAL(A6),0xA(A_FPU)
     6098
     6099|       ++octype;
     6100
    61016101                add     #1,OCTYPE(A6)
    6102 *
    6103 *       *(fpu + (long)FPU_TMNT) = fpmant;
    6104 *
    6105                 move    R_FPMANT,$14(A_FPU)
    6106 *
    6107 *       ++octype;
    6108 *
     6102
     6103|       |(fpu + (long)FPU_TMNT) = fpmant;
     6104
     6105                move    R_FPMANT,0x14(A_FPU)
     6106
     6107|       ++octype;
     6108
    61096109                add     #1,OCTYPE(A6)
    6110 *
    6111 *       *(fpu + (long)FPU_TEXP) = fpexp;
    6112 *
    6113                 move    R_FPEXP,$16(A_FPU)
    6114 *
    6115 *       ++octype;
    6116 *
     6110
     6111|       |(fpu + (long)FPU_TEXP) = fpexp;
     6112
     6113                move    R_FPEXP,0x16(A_FPU)
     6114
     6115|       ++octype;
     6116
    61176117                add     #1,OCTYPE(A6)
    6118 *
    6119                 .page
    6120 *
    6121 *       if (fp->idftmd & I_VNSUBN)
    6122 *
     6118
     6119                .page
     6120
     6121|       if (fp->idftmd & I_VNSUBN)
     6122
    61236123                btst    #3,7(A_FP)
    61246124                beq     F10L169
    6125 *
    6126 *               *(fpu + (long)FPU_TNV1) = fpval;
    6127 *
    6128                 move    R_FPVAL,$1C(A_FPU)
     6125
     6126|               |(fpu + (long)FPU_TNV1) = fpval;
     6127
     6128                move    R_FPVAL,0x1C(A_FPU)
    61296129                bra     F10L170
    6130 *
    6131 *       else
    6132 *               *(fpu + (long)FPU_TNV0) = fpval;
    6133 *
     6130
     6131|       else
     6132|               |(fpu + (long)FPU_TNV0) = fpval;
     6133
    61346134F10L169:        move    R_FPVAL,2(A_FPU)
    6135 *
    6136 *       ++octype;
    6137 *
     6135
     6136|       ++octype;
     6137
    61386138F10L170:        add     #1,OCTYPE(A6)
    6139 *
    6140 *       *(fpu + (long)FPU_TCTL) = fpctl;
    6141 *
     6139
     6140|       |(fpu + (long)FPU_TCTL) = fpctl;
     6141
    61426142                move    R_FPCTL,(A_FPU)
    6143 *
    6144 *       setipl(oldi);
    6145 *
     6143
     6144|       setipl(oldi);
     6145
    61466146                move    OLDI(A6),sr
    6147 *
    6148                 .page
    6149 * ------------------------------------------------------------------------------
    6150 * Start function 11 -- Ind 6
    6151 * ------------------------------------------------------------------------------
    6152 *
    6153 *    if (ip->idhfnc[11].idftmd & I_TM_KEY) {
    6154 *
     6147
     6148                .page
     6149| ------------------------------------------------------------------------------
     6150| Start function 11 -- Ind 6
     6151| ------------------------------------------------------------------------------
     6152
     6153|    if (ip->idhfnc[11].idftmd & I_TM_KEY) {
     6154
    61556155FN11:           move.l  IP(A6),A0
    61566156                move.b  225(A0),D0
     
    61596159                btst    #0,D0
    61606160                bne     FN11A
    6161 *
     6161
    61626162                jmp     FN12
    6163 *
    6164 *       vp = (vce << 4) + 15;
    6165 *
     6163
     6164|       vp = (vce << 4) + 15;
     6165
    61666166FN11A:          move    VCE(A6),D0
    61676167                asl     #4,D0
    61686168                add.w   #15,D0
    61696169                move    D0,VP(A6)
    6170 *
    6171 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    6172 *
     6170
     6171|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     6172
    61736173                asl     #5,D0
    61746174                ext.l   D0
    61756175                move.l  D0,A_FPU
    6176                 add.l   #_io_fpu+$4000,A_FPU
    6177 *
    6178 *       fp = &ip->idhfnc[11];
    6179 *
     6176                add.l   #_io_fpu+0x4000,A_FPU
     6177
     6178|       fp = &ip->idhfnc[11];
     6179
    61806180                move.l  #132,A_FP
    61816181                add.l   IP(A6),A_FP
    61826182                add.l   #86,A_FP
    6183 *
    6184 *       pt = &ip->idhpnt[fp->idfpt1];
    6185 *
     6183
     6184|       pt = &ip->idhpnt[fp->idfpt1];
     6185
    61866186                clr.l   D0
    61876187                move.b  6(A_FP),D0
     
    61936193                add.l   #242,D0
    61946194                move.l  D0,PT(A6)
    6195 *
    6196                 .page
    6197 *
    6198 *       srcnum = group | fp->idfsrc;
    6199 *
     6195
     6196                .page
     6197
     6198|       srcnum = group | fp->idfsrc;
     6199
    62006200                move.w  GROUP(A6),D0
    62016201                ext.l   D0
     
    62046204                or      D1,D0
    62056205                move    D0,SRCNUM(A6)
    6206 *
    6207 *       vep = &valents[srcnum];
    6208 *
     6206
     6207|       vep = &valents[srcnum];
     6208
    62096209                add.l   D0,D0
    62106210                move.l  D0,D1
     
    62136213                add.l   #_valents,D0
    62146214                move.l  D0,VEP(A6)
    6215 *
    6216 *       smp = vpsms[vp];
    6217 *
     6215
     6216|       smp = vpsms[vp];
     6217
    62186218                move    VP(A6),A0
    62196219                add.l   A0,A0
     
    62216221                add.l   #_vpsms,A0
    62226222                move.l  (A0),A_SMP
    6223 *
    6224 *       if (srcnum NE smp->sm) {
    6225 *
     6223
     6224|       if (srcnum NE smp->sm) {
     6225
    62266226                clr     D0
    62276227                move    10(A_SMP),D0
    62286228                cmp     SRCNUM(A6),D0
    62296229                beq     F11L113
    6230 *
    6231 *               (smp->prv)->nxt = smp->nxt;
    6232 *
     6230
     6231|               (smp->prv)->nxt = smp->nxt;
     6232
    62336233                move.l  4(A_SMP),A0
    62346234                move.l  (A_SMP),(A0)
    6235 *
    6236 *               (smp->nxt)->prv = smp->prv;
    6237 *
     6235
     6236|               (smp->nxt)->prv = smp->prv;
     6237
    62386238                move.l  (A_SMP),A0
    62396239                move.l  4(A_SMP),4(A0)
    6240 *
    6241 *               smp->prv = (struct sment *)vep;
    6242 *
     6240
     6241|               smp->prv = (struct sment |)vep;
     6242
    62436243                move.l  VEP(A6),4(A_SMP)
    6244 *
    6245 *               smp->nxt = vep->nxt;
    6246 *
     6244
     6245|               smp->nxt = vep->nxt;
     6246
    62476247                move.l  VEP(A6),A0
    62486248                move.l  (A0),(A_SMP)
    6249 *
    6250 *               (vep->nxt)->prv = smp;
    6251 *
     6249
     6250|               (vep->nxt)->prv = smp;
     6251
    62526252                move.l  VEP(A6),A0
    62536253                move.l  (A0),A0
    62546254                move.l  A_SMP,4(A0)
    6255 *
    6256 *               vep->nxt = smp;
    6257 *
     6255
     6256|               vep->nxt = smp;
     6257
    62586258                move.l  VEP(A6),A0
    62596259                move.l  A_SMP,(A0)
    6260 *
    6261 *               smp->sm = srcnum;
    6262 *
     6260
     6261|               smp->sm = srcnum;
     6262
    62636263                move    SRCNUM(A6),10(A_SMP)
    6264 *
    6265 *       }
    6266 *
    6267 *       mltval = fp->idfmlt;
    6268 *
     6264
     6265|       }
     6266
     6267|       mltval = fp->idfmlt;
     6268
    62696269F11L113:        move    2(A_FP),MLTVAL(A6)
    6270 *
    6271                 .page
    6272 *
    6273 *       switch (fp->idfsrc) {
    6274 *
     6270
     6271                .page
     6272
     6273|       switch (fp->idfsrc) {
     6274
    62756275                move.b  4(A_FP),D0
    62766276                ext.w   d0
    62776277                cmp     #10,D0
    62786278                bhi     F11L122
    6279 *
     6279
    62806280                asl     #2,D0
    62816281                lea     F11L123,A0
    62826282                movea.l 0(A0,D0.W),A0
    62836283                jmp     (A0)
    6284 *
    6285 *       case SM_NONE:
    6286 *               mltval = 0;
    6287 *
     6284
     6285|       case SM_NONE:
     6286|               mltval = 0;
     6287
    62886288F11L116:        clr     MLTVAL(A6)
    6289 *
    6290 *               tsrcval = 0;
    6291 *
     6289
     6290|               tsrcval = 0;
     6291
    62926292                clr     TSRCVAL(A6)
    6293 *
    6294 *               break;
    6295 *
     6293
     6294|               break;
     6295
    62966296                bra     F11L114
    6297 *
    6298 *       case SM_RAND:
    6299 *               tsrcval = xgetran(mltval);
    6300 *
     6297
     6298|       case SM_RAND:
     6299|               tsrcval = xgetran(mltval);
     6300
    63016301F11L117:        move    MLTVAL(A6),(sp)
    63026302                jsr     _xgetran
    63036303                move    D0,TSRCVAL(A6)
    6304 *
    6305 *               break;
    6306 *
     6304
     6305|               break;
     6306
    63076307                bra     F11L114
    6308 *
    6309 *       case SM_PTCH:
    6310 *               tsrcval = pch;
    6311 *
     6308
     6309|       case SM_PTCH:
     6310|               tsrcval = pch;
     6311
    63126312F11L118:        move    PCH(A6),TSRCVAL(A6)
    6313 *
    6314 *               break;
    6315 *
     6313
     6314|               break;
     6315
    63166316                bra     F11L114
    6317 *
    6318                 .page
    6319 *
    6320 *       case SM_FREQ:
    6321 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    6322 *
     6317
     6318                .page
     6319
     6320|       case SM_FREQ:
     6321|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     6322
    63236323F11L119:        move    PCH(A6),D0
    63246324                asr     #7,D0
     
    63286328                add.l   #_ptoftab,A0
    63296329                move    (A0),TSRCVAL(A6)
    6330 *
    6331 *               break;
    6332 *
     6330
     6331|               break;
     6332
    63336333                bra     F11L114
    6334 *
    6335 *       case SM_KVEL:
    6336 *               tsrcval = veltab[trg];
    6337 *
     6334
     6335|       case SM_KVEL:
     6336|               tsrcval = veltab[trg];
     6337
    63386338F11L120:        move    TRG(A6),A0
    63396339                add.l   A0,A0
    63406340                add.l   #_veltab,A0
    63416341                move    (A0),TSRCVAL(A6)
    6342 *
    6343 *               break;
    6344 *
     6342
     6343|               break;
     6344
    63456345                bra     F11L114
    6346 *
    6347 *       case SM_KPRS:
    6348 *               tsrcval = prstab[trg];
    6349 *
     6346
     6347|       case SM_KPRS:
     6348|               tsrcval = prstab[trg];
     6349
    63506350F11L121:        move    TRG(A6),A0
    63516351                add.l   A0,A0
    63526352                add.l   #_prstab,A0
    63536353                move    (A0),TSRCVAL(A6)
    6354 *
    6355 *               break;
    6356 *
     6354
     6355|               break;
     6356
    63576357                bra     F11L114
    6358 *
    6359 *       default:
    6360 *               tsrcval = vep->val;
    6361 *
     6358
     6359|       default:
     6360|               tsrcval = vep->val;
     6361
    63626362F11L122:        move.l  VEP(A6),A0
    63636363                move    8(A0),TSRCVAL(A6)
    6364 *
    6365 *       }
    6366 *
    6367                 .page
    6368 *
    6369 *               srcval = tsrcval;
    6370 *
     6364
     6365|       }
     6366
     6367                .page
     6368
     6369|               srcval = tsrcval;
     6370
    63716371F11L114:        move    TSRCVAL(A6),SRCVAL(A6)
    6372 *
    6373                 .page
    6374 *
    6375 *       if (pt->ipvsrc) {
    6376 *
     6372
     6373                .page
     6374
     6375|       if (pt->ipvsrc) {
     6376
    63776377F11L124:        move.l  PT(A6),A0
    63786378                tst.b   6(A0)
    63796379                beq     F11L136
    6380 *
    6381 *               switch (pt->ipvsrc) {
    6382 *
     6380
     6381|               switch (pt->ipvsrc) {
     6382
    63836383                move.l  PT(A6),A0
    63846384                move.b  6(A0),D0
     
    63876387                cmp     #9,D0
    63886388                bhi     F11L144
    6389 *
     6389
    63906390                asl     #2,D0
    63916391                lea     F11L145,A0
    63926392                move.l  0(A0,D0.W),A0
    63936393                jmp     (A0)
    6394 *
    6395 *               case SM_RAND:
    6396 *                       ltmp = xgetran(pt_>ipvmlt);
    6397 *
     6394
     6395|               case SM_RAND:
     6396|                       ltmp = xgetran(pt_>ipvmlt);
     6397
    63986398F11L139:        move.l  PT(A6),A0
    63996399                move    4(A0),(sp)
     
    64016401                ext.l   D0
    64026402                move.l  D0,LTMP(A6)
    6403 *
    6404 *                       break;
    6405 *
     6403
     6404|                       break;
     6405
    64066406                bra     F11L137
    6407 *
    6408 *               case SM_PTCH:
    6409 *                       ltmp = pch;
    6410 *
     6407
     6408|               case SM_PTCH:
     6409|                       ltmp = pch;
     6410
    64116411F11L140:        move    PCH(A6),A0
    64126412                move.l  A0,LTMP(A6)
    6413 *
    6414 *                       break;
    6415 *
     6413
     6414|                       break;
     6415
    64166416                bra     F11L137
    6417 *
    6418                 .page
    6419 *
    6420 *               case SM_FREQ:
    6421 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    6422 *
     6417
     6418                .page
     6419
     6420|               case SM_FREQ:
     6421|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     6422
    64236423F11L141:        move    PCH(A6),D0
    64246424                asr     #7,D0
     
    64306430                ext.l   D0
    64316431                move.l  D0,LTMP(A6)
    6432 *
    6433 *                       break;
    6434 *
     6432
     6433|                       break;
     6434
    64356435                bra     F11L137
    6436 *
    6437 *               case SM_KVEL:
    6438 *                       ltmp = veltab[trg];
    6439 *
     6436
     6437|               case SM_KVEL:
     6438|                       ltmp = veltab[trg];
     6439
    64406440F11L142:        move    TRG(A6),A0
    64416441                add.l   A0,A0
     
    64446444                ext.l   D0
    64456445                move.l  D0,LTMP(A6)
    6446 *
    6447 *                       break;
    6448 *
     6446
     6447|                       break;
     6448
    64496449                bra     F11L137
    6450 *
    6451                 .page
    6452 *
    6453 *               case SM_KPRS:
    6454 *                       ltmp = prstab[trg];
    6455 *
     6450
     6451                .page
     6452
     6453|               case SM_KPRS:
     6454|                       ltmp = prstab[trg];
     6455
    64566456F11L143:        move    TRG(A6),A0
    64576457                add.l   A0,A0
     
    64606460                ext.l   D0
    64616461                move.l  D0,LTMP(A6)
    6462 *
    6463 *                       break;
    6464 *
     6462
     6463|                       break;
     6464
    64656465                bra     F11L137
    6466 *
    6467                 .page
    6468 *
    6469 *               default:
    6470 *                       ltmp = valents[group | pt->ipvsrc].val;
    6471 *
     6466
     6467                .page
     6468
     6469|               default:
     6470|                       ltmp = valents[group | pt->ipvsrc].val;
     6471
    64726472F11L144:        move.l  PT(A6),A0
    64736473                clr.l   D0
     
    64836483                move    8(A0,A1.l),D0
    64846484                move.l  D0,LTMP(A6)
    6485 *
    6486 *               }
    6487 *
    6488 *
    6489                 .page
    6490 *
    6491 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    6492 *
     6485
     6486|               }
     6487
     6488
     6489                .page
     6490
     6491|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     6492
    64936493F11L137:        move.l  PT(A6),A0
    64946494                move.w  4(A0),D0
     
    64986498                asr.l   D1,D0
    64996499                move.l  D0,LTMP(A6)
    6500 *
    6501 *               ltmp += (long)pt->ipval;
    6502 *
     6500
     6501|               ltmp += (long)pt->ipval;
     6502
    65036503                move.l  PT(A6),A0
    65046504                move    2(A0),D0
    65056505                ext.l   D0
    65066506                add.l   D0,LTMP(A6)
    6507 *
    6508 *               if (ltmp GT (long)VALMAX)
    6509 *                       ltmp = (long)VALMAX;
    6510 *
     6507
     6508|               if (ltmp GT (long)VALMAX)
     6509|                       ltmp = (long)VALMAX;
     6510
    65116511                cmp.l   #VALMAX,LTMP(A6)
    65126512                ble     F11L146
    6513 *
     6513
    65146514                move.l  #VALMAX,LTMP(A6)
    65156515                bra     F11L147
    6516 *
    6517 *               else if (ltmp LT (long)VALMIN)
    6518 *                       ltmp = (long)VALMIN;
    6519 *
     6516
     6517|               else if (ltmp LT (long)VALMIN)
     6518|                       ltmp = (long)VALMIN;
     6519
    65206520F11L146:        cmp.l   #VALMIN,LTMP(A6)
    65216521                bge     F11L147
    6522 *
     6522
    65236523                move.l  #VALMIN,LTMP(A6)
    6524 *
    6525 *               tfpval = (short)ltmp;
    6526 *
     6524
     6525|               tfpval = (short)ltmp;
     6526
    65276527F11L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    65286528                bra     F11L149
    6529 *
    6530 *       } else {
    6531 *
    6532 *               tfpval = pt->ipval;
    6533 *
     6529
     6530|       } else {
     6531
     6532|               tfpval = pt->ipval;
     6533
    65346534F11L136:        move.l  PT(A6),A0
    65356535                move    2(A0),TFPVAL(A6)
    6536 *
    6537 *       }
    6538 *
    6539                 .page
    6540 *
    6541 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    6542 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    6543 *
     6536
     6537|       }
     6538
     6539                .page
     6540
     6541|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     6542|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     6543
    65446544F11L149:        move.l  PT(A6),A0
    65456545                move.w  (A0),D0
    65466546                move.w  D0,D2
    6547                 andi.w  #$FFF0,D0
     6547                andi.w  #0xFFF0,D0
    65486548                move.w  _timemlt,D1
    65496549                muls    D1,D0
     
    65516551                asr.l   D1,D0
    65526552                move    D0,R_FPMANT
    6553 *
    6554 *       fpexp = expbit[pt->iptim & 0x000F];
    6555 *
    6556                 and     #$000F,D2
     6553
     6554|       fpexp = expbit[pt->iptim & 0x000F];
     6555
     6556                and     #0x000F,D2
    65576557                move    D2,A0
    65586558                add.l   A0,A0
    65596559                add.l   #_expbit,A0
    65606560                move    (A0),R_FPEXP
    6561 *
    6562                 .page
    6563 *
    6564 *               fp->idfpch = pch;
    6565 *
     6561
     6562                .page
     6563
     6564|               fp->idfpch = pch;
     6565
    65666566F11L163:        move    PCH(A6),(A_FP)
    6567 *
    6568 *               fpval = tfpval;
    6569 *
     6567
     6568|               fpval = tfpval;
     6569
    65706570                move    TFPVAL(A6),R_FPVAL
    6571 *
    6572                 .page
    6573 *
     6571
     6572                .page
     6573
    65746574                move.b  5(A_FP),D0
    65756575                ext.w   D0
    65766576                sub.w   #1,D0
    65776577                movea.l PT(A6),A0
    6578 *
    6579 *       oldi = setipl(FPU_DI);
    6580 *
     6578
     6579|       oldi = setipl(FPU_DI);
     6580
    65816581                move    sr,OLDI(A6)
    65826582                move    #FPU_DI,sr
    6583 *
     6583
    65846584F11L168:        clr.b   10(A0)
    65856585                add.l   #12,a0
    65866586                dbra    D0,F11L168
    6587 *
    6588                 .page
    6589 *
    6590 *       fp->idftmd ^= I_NVBITS;
    6591 *
     6587
     6588                .page
     6589
     6590|       fp->idftmd ^= I_NVBITS;
     6591
    65926592F11L165:        eor.b   #24,7(A_FP)
    6593 *
    6594 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    6595 *
     6593
     6594|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     6595
    65966596                move.b  7(A_FP),R_FPCTL
    65976597                and     #28,R_FPCTL
    65986598                or      #3,R_FPCTL
    6599 *
    6600 *       fp->idfcpt = fp->idfpt1;
    6601 *
     6599
     6600|       fp->idfcpt = fp->idfpt1;
     6601
    66026602                move.b  6(A_FP),8(A_FP)
    6603 *
    6604 *       fp->idftmd |= I_ACTIVE;
    6605 *
     6603
     6604|       fp->idftmd |= I_ACTIVE;
     6605
    66066606                or.b    #2,7(A_FP)
    6607 *
    6608 *       fp->idftrf = trg;
    6609 *
     6607
     6608|       fp->idftrf = trg;
     6609
    66106610                move    TRG(A6),10(A_FP)
    6611 *
    6612 *       *(fpu + (long)FPU_TCV1) = srcval;
    6613 *
    6614                 move    SRCVAL(A6),$8(A_FPU)
    6615 *
    6616 *       ++octype;
    6617 *
     6611
     6612|       |(fpu + (long)FPU_TCV1) = srcval;
     6613
     6614                move    SRCVAL(A6),0x8(A_FPU)
     6615
     6616|       ++octype;
     6617
    66186618                add     #1,OCTYPE(A6)
    6619 *
    6620 *       *(fpu + (long)FPU_TSF1) = mltval;
    6621 *
    6622                 move    MLTVAL(A6),$A(A_FPU)
    6623 *
    6624 *       ++octype;
    6625 *
     6619
     6620|       |(fpu + (long)FPU_TSF1) = mltval;
     6621
     6622                move    MLTVAL(A6),0xA(A_FPU)
     6623
     6624|       ++octype;
     6625
    66266626                add     #1,OCTYPE(A6)
    6627 *
    6628 *       *(fpu + (long)FPU_TMNT) = fpmant;
    6629 *
    6630                 move    R_FPMANT,$14(A_FPU)
    6631 *
    6632 *       ++octype;
    6633 *
     6627
     6628|       |(fpu + (long)FPU_TMNT) = fpmant;
     6629
     6630                move    R_FPMANT,0x14(A_FPU)
     6631
     6632|       ++octype;
     6633
    66346634                add     #1,OCTYPE(A6)
    6635 *
    6636 *       *(fpu + (long)FPU_TEXP) = fpexp;
    6637 *
    6638                 move    R_FPEXP,$16(A_FPU)
    6639 *
    6640 *       ++octype;
    6641 *
     6635
     6636|       |(fpu + (long)FPU_TEXP) = fpexp;
     6637
     6638                move    R_FPEXP,0x16(A_FPU)
     6639
     6640|       ++octype;
     6641
    66426642                add     #1,OCTYPE(A6)
    6643 *
    6644                 .page
    6645 *
    6646 *       if (fp->idftmd & I_VNSUBN)
    6647 *
     6643
     6644                .page
     6645
     6646|       if (fp->idftmd & I_VNSUBN)
     6647
    66486648                btst    #3,7(A_FP)
    66496649                beq     F11L169
    6650 *
    6651 *               *(fpu + (long)FPU_TNV1) = fpval;
    6652 *
    6653                 move    R_FPVAL,$1C(A_FPU)
     6650
     6651|               |(fpu + (long)FPU_TNV1) = fpval;
     6652
     6653                move    R_FPVAL,0x1C(A_FPU)
    66546654                bra     F11L170
    6655 *
    6656 *       else
    6657 *               *(fpu + (long)FPU_TNV0) = fpval;
    6658 *
     6655
     6656|       else
     6657|               |(fpu + (long)FPU_TNV0) = fpval;
     6658
    66596659F11L169:        move    R_FPVAL,2(A_FPU)
    6660 *
    6661 *       ++octype;
    6662 *
     6660
     6661|       ++octype;
     6662
    66636663F11L170:        add     #1,OCTYPE(A6)
    6664 *
    6665 *       *(fpu + (long)FPU_TCTL) = fpctl;
    6666 *
     6664
     6665|       |(fpu + (long)FPU_TCTL) = fpctl;
     6666
    66676667                move    R_FPCTL,(A_FPU)
    6668 *
    6669 *       setipl(oldi);
    6670 *
     6668
     6669|       setipl(oldi);
     6670
    66716671                move    OLDI(A6),sr
    6672 *
    6673                 .page
    6674 * ------------------------------------------------------------------------------
    6675 * Start function 12 -- Level
    6676 * ------------------------------------------------------------------------------
    6677 *
    6678 *    if (ip->idhfnc[12].idftmd & I_TM_KEY) {
    6679 *
     6672
     6673                .page
     6674| ------------------------------------------------------------------------------
     6675| Start function 12 -- Level
     6676| ------------------------------------------------------------------------------
     6677
     6678|    if (ip->idhfnc[12].idftmd & I_TM_KEY) {
     6679
    66806680FN12:           move.l  IP(A6),A0
    66816681                move.b  237(A0),D0
     
    66846684                btst    #0,D0
    66856685                bne     FN12A
    6686 *
     6686
    66876687                jmp     FNEXIT
    6688 *
    6689 *       vp = (vce << 4) + 2;
    6690 *
     6688
     6689|       vp = (vce << 4) + 2;
     6690
    66916691FN12A:          move    VCE(A6),D0
    66926692                asl     #4,D0
    66936693                add.w   #2,D0
    66946694                move    D0,VP(A6)
    6695 *
    6696 *       fpu = io_fpu + FPU_OFNC + (vp << 4);
    6697 *
     6695
     6696|       fpu = io_fpu + FPU_OFNC + (vp << 4);
     6697
    66986698                asl     #5,D0
    66996699                ext.l   D0
    67006700                move.l  D0,A_FPU
    6701                 add.l   #_io_fpu+$4000,A_FPU
    6702 *
    6703 *       fp = &ip->idhfnc[12];
    6704 *
     6701                add.l   #_io_fpu+0x4000,A_FPU
     6702
     6703|       fp = &ip->idhfnc[12];
     6704
    67056705                move.l  #144,A_FP
    67066706                add.l   IP(A6),A_FP
    67076707                add.l   #86,A_FP
    6708 *
    6709 *       pt = &ip->idhpnt[fp->idfpt1];
    6710 *
     6708
     6709|       pt = &ip->idhpnt[fp->idfpt1];
     6710
    67116711                clr.l   D0
    67126712                move.b  6(A_FP),D0
     
    67186718                add.l   #242,D0
    67196719                move.l  D0,PT(A6)
    6720 *
    6721                 .page
    6722 *
    6723 *       srcnum = group | fp->idfsrc;
    6724 *
     6720
     6721                .page
     6722
     6723|       srcnum = group | fp->idfsrc;
     6724
    67256725                move.w  GROUP(A6),D0
    67266726                ext.l   D0
     
    67296729                or      D1,D0
    67306730                move    D0,SRCNUM(A6)
    6731 *
    6732 *       vep = &valents[srcnum];
    6733 *
     6731
     6732|       vep = &valents[srcnum];
     6733
    67346734                add.l   D0,D0
    67356735                move.l  D0,D1
     
    67386738                add.l   #_valents,D0
    67396739                move.l  D0,VEP(A6)
    6740 *
    6741 *       smp = vpsms[vp];
    6742 *
     6740
     6741|       smp = vpsms[vp];
     6742
    67436743                move    VP(A6),A0
    67446744                add.l   A0,A0
     
    67466746                add.l   #_vpsms,A0
    67476747                move.l  (A0),A_SMP
    6748 *
    6749 *       if (srcnum NE smp->sm) {
    6750 *
     6748
     6749|       if (srcnum NE smp->sm) {
     6750
    67516751                clr     D0
    67526752                move    10(A_SMP),D0
    67536753                cmp     SRCNUM(A6),D0
    67546754                beq     F12L113
    6755 *
    6756 *               (smp->prv)->nxt = smp->nxt;
    6757 *
     6755
     6756|               (smp->prv)->nxt = smp->nxt;
     6757
    67586758                move.l  4(A_SMP),A0
    67596759                move.l  (A_SMP),(A0)
    6760 *
    6761 *               (smp->nxt)->prv = smp->prv;
    6762 *
     6760
     6761|               (smp->nxt)->prv = smp->prv;
     6762
    67636763                move.l  (A_SMP),A0
    67646764                move.l  4(A_SMP),4(A0)
    6765 *
    6766 *               smp->prv = (struct sment *)vep;
    6767 *
     6765
     6766|               smp->prv = (struct sment |)vep;
     6767
    67686768                move.l  VEP(A6),4(A_SMP)
    6769 *
    6770 *               smp->nxt = vep->nxt;
    6771 *
     6769
     6770|               smp->nxt = vep->nxt;
     6771
    67726772                move.l  VEP(A6),A0
    67736773                move.l  (A0),(A_SMP)
    6774 *
    6775 *               (vep->nxt)->prv = smp;
    6776 *
     6774
     6775|               (vep->nxt)->prv = smp;
     6776
    67776777                move.l  VEP(A6),A0
    67786778                move.l  (A0),A0
    67796779                move.l  A_SMP,4(A0)
    6780 *
    6781 *               vep->nxt = smp;
    6782 *
     6780
     6781|               vep->nxt = smp;
     6782
    67836783                move.l  VEP(A6),A0
    67846784                move.l  A_SMP,(A0)
    6785 *
    6786 *               smp->sm = srcnum;
    6787 *
     6785
     6786|               smp->sm = srcnum;
     6787
    67886788                move    SRCNUM(A6),10(A_SMP)
    6789 *
    6790 *       }
    6791 *
    6792 *       mltval = fp->idfmlt;
    6793 *
     6789
     6790|       }
     6791
     6792|       mltval = fp->idfmlt;
     6793
    67946794F12L113:        move    2(A_FP),MLTVAL(A6)
    6795 *
    6796                 .page
    6797 *
    6798 *       switch (fp->idfsrc) {
    6799 *
     6795
     6796                .page
     6797
     6798|       switch (fp->idfsrc) {
     6799
    68006800                move.b  4(A_FP),D0
    68016801                ext.w   d0
    68026802                cmp     #10,D0
    68036803                bhi     F12L122
    6804 *
     6804
    68056805                asl     #2,D0
    68066806                lea     F12L123,A0
    68076807                movea.l 0(A0,D0.W),A0
    68086808                jmp     (A0)
    6809 *
    6810 *       case SM_NONE:
    6811 *               mltval = 0;
    6812 *
     6809
     6810|       case SM_NONE:
     6811|               mltval = 0;
     6812
    68136813F12L116:        clr     MLTVAL(A6)
    6814 *
    6815 *               tsrcval = 0;
    6816 *
     6814
     6815|               tsrcval = 0;
     6816
    68176817                clr     TSRCVAL(A6)
    6818 *
    6819 *               break;
    6820 *
     6818
     6819|               break;
     6820
    68216821                bra     F12L114
    6822 *
    6823 *       case SM_RAND:
    6824 *               tsrcval = xgetran(mltval);
    6825 *
     6822
     6823|       case SM_RAND:
     6824|               tsrcval = xgetran(mltval);
     6825
    68266826F12L117:        move    MLTVAL(A6),(sp)
    68276827                jsr     _xgetran
    68286828                move    D0,TSRCVAL(A6)
    6829 *
    6830 *               break;
    6831 *
     6829
     6830|               break;
     6831
    68326832                bra     F12L114
    6833 *
    6834 *       case SM_PTCH:
    6835 *               tsrcval = pch;
    6836 *
     6833
     6834|       case SM_PTCH:
     6835|               tsrcval = pch;
     6836
    68376837F12L118:        move    PCH(A6),TSRCVAL(A6)
    6838 *
    6839 *               break;
    6840 *
     6838
     6839|               break;
     6840
    68416841                bra     F12L114
    6842 *
    6843                 .page
    6844 *
    6845 *       case SM_FREQ:
    6846 *               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
    6847 *
     6842
     6843                .page
     6844
     6845|       case SM_FREQ:
     6846|               tsrcval = ptoftab[(pch >> 7) & 0x00FF];
     6847
    68486848F12L119:        move    PCH(A6),D0
    68496849                asr     #7,D0
     
    68536853                add.l   #_ptoftab,A0
    68546854                move    (A0),TSRCVAL(A6)
    6855 *
    6856 *               break;
    6857 *
     6855
     6856|               break;
     6857
    68586858                bra     F12L114
    6859 *
    6860 *       case SM_KVEL:
    6861 *               tsrcval = veltab[trg];
    6862 *
     6859
     6860|       case SM_KVEL:
     6861|               tsrcval = veltab[trg];
     6862
    68636863F12L120:        move    TRG(A6),A0
    68646864                add.l   A0,A0
    68656865                add.l   #_veltab,A0
    68666866                move    (A0),TSRCVAL(A6)
    6867 *
    6868 *               break;
    6869 *
     6867
     6868|               break;
     6869
    68706870                bra     F12L114
    6871 *
    6872 *       case SM_KPRS:
    6873 *               tsrcval = prstab[trg];
    6874 *
     6871
     6872|       case SM_KPRS:
     6873|               tsrcval = prstab[trg];
     6874
    68756875F12L121:        move    TRG(A6),A0
    68766876                add.l   A0,A0
    68776877                add.l   #_prstab,A0
    68786878                move    (A0),TSRCVAL(A6)
    6879 *
    6880 *               break;
    6881 *
     6879
     6880|               break;
     6881
    68826882                bra     F12L114
    6883 *
    6884 *       default:
    6885 *               tsrcval = vep->val;
    6886 *
     6883
     6884|       default:
     6885|               tsrcval = vep->val;
     6886
    68876887F12L122:        move.l  VEP(A6),A0
    68886888                move    8(A0),TSRCVAL(A6)
    6889 *
    6890 *       }
    6891 *
    6892                 .page
    6893 *
    6894 *               srcval = tsrcval;
    6895 *
     6889
     6890|       }
     6891
     6892                .page
     6893
     6894|               srcval = tsrcval;
     6895
    68966896F12L114:        move    TSRCVAL(A6),SRCVAL(A6)
    6897 *
    6898                 .page
    6899 *
    6900 *       if (pt->ipvsrc) {
    6901 *
     6897
     6898                .page
     6899
     6900|       if (pt->ipvsrc) {
     6901
    69026902F12L124:        move.l  PT(A6),A0
    69036903                tst.b   6(A0)
    69046904                beq     F12L136
    6905 *
    6906 *               switch (pt->ipvsrc) {
    6907 *
     6905
     6906|               switch (pt->ipvsrc) {
     6907
    69086908                move.l  PT(A6),A0
    69096909                move.b  6(A0),D0
     
    69126912                cmp     #9,D0
    69136913                bhi     F12L144
    6914 *
     6914
    69156915                asl     #2,D0
    69166916                lea     F12L145,A0
    69176917                move.l  0(A0,D0.W),A0
    69186918                jmp     (A0)
    6919 *
    6920 *               case SM_RAND:
    6921 *                       ltmp = xgetran(pt_>ipvmlt);
    6922 *
     6919
     6920|               case SM_RAND:
     6921|                       ltmp = xgetran(pt_>ipvmlt);
     6922
    69236923F12L139:        move.l  PT(A6),A0
    69246924                move    4(A0),(sp)
     
    69266926                ext.l   D0
    69276927                move.l  D0,LTMP(A6)
    6928 *
    6929 *                       break;
    6930 *
     6928
     6929|                       break;
     6930
    69316931                bra     F12L137
    6932 *
    6933 *               case SM_PTCH:
    6934 *                       ltmp = pch;
    6935 *
     6932
     6933|               case SM_PTCH:
     6934|                       ltmp = pch;
     6935
    69366936F12L140:        move    PCH(A6),A0
    69376937                move.l  A0,LTMP(A6)
    6938 *
    6939 *                       break;
    6940 *
     6938
     6939|                       break;
     6940
    69416941                bra     F12L137
    6942 *
    6943                 .page
    6944 *
    6945 *               case SM_FREQ:
    6946 *                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
    6947 *
     6942
     6943                .page
     6944
     6945|               case SM_FREQ:
     6946|                       ltmp = ptoftab[(pch >> 7) & 0x00FF];
     6947
    69486948F12L141:        move    PCH(A6),D0
    69496949                asr     #7,D0
     
    69556955                ext.l   D0
    69566956                move.l  D0,LTMP(A6)
    6957 *
    6958 *                       break;
    6959 *
     6957
     6958|                       break;
     6959
    69606960                bra     F12L137
    6961 *
    6962 *               case SM_KVEL:
    6963 *                       ltmp = veltab[trg];
    6964 *
     6961
     6962|               case SM_KVEL:
     6963|                       ltmp = veltab[trg];
     6964
    69656965F12L142:        move    TRG(A6),A0
    69666966                add.l   A0,A0
     
    69696969                ext.l   D0
    69706970                move.l  D0,LTMP(A6)
    6971 *
    6972 *                       break;
    6973 *
     6971
     6972|                       break;
     6973
    69746974                bra     F12L137
    6975 *
    6976                 .page
    6977 *
    6978 *               case SM_KPRS:
    6979 *                       ltmp = prstab[trg];
    6980 *
     6975
     6976                .page
     6977
     6978|               case SM_KPRS:
     6979|                       ltmp = prstab[trg];
     6980
    69816981F12L143:        move    TRG(A6),A0
    69826982                add.l   A0,A0
     
    69856985                ext.l   D0
    69866986                move.l  D0,LTMP(A6)
    6987 *
    6988 *                       break;
    6989 *
     6987
     6988|                       break;
     6989
    69906990                bra     F12L137
    6991 *
    6992                 .page
    6993 *
    6994 *               default:
    6995 *                       ltmp = valents[group | pt->ipvsrc].val;
    6996 *
     6991
     6992                .page
     6993
     6994|               default:
     6995|                       ltmp = valents[group | pt->ipvsrc].val;
     6996
    69976997F12L144:        move.l  PT(A6),A0
    69986998                clr.l   D0
     
    70087008                move    8(A0,A1.l),D0
    70097009                move.l  D0,LTMP(A6)
    7010 *
    7011 *               }
    7012 *
    7013 *
    7014                 .page
    7015 *
    7016 *               ltmp = (ltmp * pt->ipvmlt) >> 15;
    7017 *
     7010
     7011|               }
     7012
     7013
     7014                .page
     7015
     7016|               ltmp = (ltmp | pt->ipvmlt) >> 15;
     7017
    70187018F12L137:        move.l  PT(A6),A0
    70197019                move.w  4(A0),D0
     
    70237023                asr.l   D1,D0
    70247024                move.l  D0,LTMP(A6)
    7025 *
    7026 *               ltmp += (long)pt->ipval;
    7027 *
     7025
     7026|               ltmp += (long)pt->ipval;
     7027
    70287028                move.l  PT(A6),A0
    70297029                move    2(A0),D0
    70307030                ext.l   D0
    70317031                add.l   D0,LTMP(A6)
    7032 *
    7033 *               if (ltmp GT (long)VALMAX)
    7034 *                       ltmp = (long)VALMAX;
    7035 *
     7032
     7033|               if (ltmp GT (long)VALMAX)
     7034|                       ltmp = (long)VALMAX;
     7035
    70367036                cmp.l   #VALMAX,LTMP(A6)
    70377037                ble     F12L146
    7038 *
     7038
    70397039                move.l  #VALMAX,LTMP(A6)
    70407040                bra     F12L147
    7041 *
    7042 *               else if (ltmp LT (long)VALMIN)
    7043 *                       ltmp = (long)VALMIN;
    7044 *
     7041
     7042|               else if (ltmp LT (long)VALMIN)
     7043|                       ltmp = (long)VALMIN;
     7044
    70457045F12L146:        cmp.l   #VALMIN,LTMP(A6)
    70467046                bge     F12L147
    7047 *
     7047
    70487048                move.l  #VALMIN,LTMP(A6)
    7049 *
    7050 *               tfpval = (short)ltmp;
    7051 *
     7049
     7050|               tfpval = (short)ltmp;
     7051
    70527052F12L147:        move.w  LTMP+2(A6),TFPVAL(A6)
    70537053                bra     F12L149
    7054 *
    7055 *       } else {
    7056 *
    7057 *               tfpval = pt->ipval;
    7058 *
     7054
     7055|       } else {
     7056
     7057|               tfpval = pt->ipval;
     7058
    70597059F12L136:        move.l  PT(A6),A0
    70607060                move    2(A0),TFPVAL(A6)
    7061 *
    7062 *       }
    7063 *
    7064                 .page
    7065 *
    7066 *       fpmant = (((long)pt->iptom & 0x0000FFF0L)
    7067 *               * ((long)timemlt & 0x0000FFFFL)) >> 15;
    7068 *
     7061
     7062|       }
     7063
     7064                .page
     7065
     7066|       fpmant = (((long)pt->iptom & 0x0000FFF0L)
     7067|               | ((long)timemlt & 0x0000FFFFL)) >> 15;
     7068
    70697069F12L149:        move.l  PT(A6),A0
    70707070                move.w  (A0),D0
    70717071                move.w  D0,D2
    7072                 andi.w  #$FFF0,D0
     7072                andi.w  #0xFFF0,D0
    70737073                move.w  _timemlt,D1
    70747074                muls    D1,D0
     
    70767076                asr.l   D1,D0
    70777077                move    D0,R_FPMANT
    7078 *
    7079 *       fpexp = expbit[pt->iptim & 0x000F];
    7080 *
    7081                 and     #$000F,D2
     7078
     7079|       fpexp = expbit[pt->iptim & 0x000F];
     7080
     7081                and     #0x000F,D2
    70827082                move    D2,A0
    70837083                add.l   A0,A0
    70847084                add.l   #_expbit,A0
    70857085                move    (A0),R_FPEXP
    7086 *
    7087                 .page
    7088 *
    7089 *               fp->idfpch = pch;
    7090 *
     7086
     7087                .page
     7088
     7089|               fp->idfpch = pch;
     7090
    70917091F12L162:        move    PCH(A6),(A_FP)
    7092 *
    7093 *               fpval = ((tfpval >> 5) - 500) << 6;
    7094 *
     7092
     7093|               fpval = ((tfpval >> 5) - 500) << 6;
     7094
    70957095                move    TFPVAL(A6),R_FPVAL
    70967096                asr     #5,R_FPVAL
    70977097                add     #-500,R_FPVAL
    70987098                asl     #6,R_FPVAL
    7099 *
    7100                 .page
    7101 *
     7099
     7100                .page
     7101
    71027102                move.b  5(A_FP),D0
    71037103                ext.w   D0
    71047104                sub.w   #1,D0
    71057105                movea.l PT(A6),A0
    7106 *
    7107 *       oldi = setipl(FPU_DI);
    7108 *
     7106
     7107|       oldi = setipl(FPU_DI);
     7108
    71097109                move    sr,OLDI(A6)
    71107110                move    #FPU_DI,sr
    7111 *
     7111
    71127112F12L168:        clr.b   10(A0)
    71137113                add.l   #12,a0
    71147114                dbra    D0,F12L168
    7115 *
    7116                 .page
    7117 *
    7118 *       fp->idftmd ^= I_NVBITS;
    7119 *
     7115
     7116                .page
     7117
     7118|       fp->idftmd ^= I_NVBITS;
     7119
    71207120F12L165:        eor.b   #24,7(A_FP)
    7121 *
    7122 *       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
    7123 *
     7121
     7122|       fpctl = (fp->idftmd & (I_NRATIO | I_NVBITS)) | 0x0003;
     7123
    71247124                move.b  7(A_FP),R_FPCTL
    71257125                and     #28,R_FPCTL
    71267126                or      #3,R_FPCTL
    7127 *
    7128 *       fp->idfcpt = fp->idfpt1;
    7129 *
     7127
     7128|       fp->idfcpt = fp->idfpt1;
     7129
    71307130                move.b  6(A_FP),8(A_FP)
    7131 *
    7132 *       fp->idftmd |= I_ACTIVE;
    7133 *
     7131
     7132|       fp->idftmd |= I_ACTIVE;
     7133
    71347134                or.b    #2,7(A_FP)
    7135 *
    7136 *       fp->idftrf = trg;
    7137 *
     7135
     7136|       fp->idftrf = trg;
     7137
    71387138                move    TRG(A6),10(A_FP)
    7139 *
    7140 *       *(fpu + (long)FPU_TCV1) = srcval;
    7141 *
    7142                 move    SRCVAL(A6),$8(A_FPU)
    7143 *
    7144 *       ++octype;
    7145 *
     7139
     7140|       |(fpu + (long)FPU_TCV1) = srcval;
     7141
     7142                move    SRCVAL(A6),0x8(A_FPU)
     7143
     7144|       ++octype;
     7145
    71467146                add     #1,OCTYPE(A6)
    7147 *
    7148 *       *(fpu + (long)FPU_TSF1) = mltval;
    7149 *
    7150                 move    MLTVAL(A6),$A(A_FPU)
    7151 *
    7152 *       ++octype;
    7153 *
     7147
     7148|       |(fpu + (long)FPU_TSF1) = mltval;
     7149
     7150                move    MLTVAL(A6),0xA(A_FPU)
     7151
     7152|       ++octype;
     7153
    71547154                add     #1,OCTYPE(A6)
    7155 *
    7156 *       *(fpu + (long)FPU_TMNT) = fpmant;
    7157 *
    7158                 move    R_FPMANT,$14(A_FPU)
    7159 *
    7160 *       ++octype;
    7161 *
     7155
     7156|       |(fpu + (long)FPU_TMNT) = fpmant;
     7157
     7158                move    R_FPMANT,0x14(A_FPU)
     7159
     7160|       ++octype;
     7161
    71627162                add     #1,OCTYPE(A6)
    7163 *
    7164 *       *(fpu + (long)FPU_TEXP) = fpexp;
    7165 *
    7166                 move    R_FPEXP,$16(A_FPU)
    7167 *
    7168 *       ++octype;
    7169 *
     7163
     7164|       |(fpu + (long)FPU_TEXP) = fpexp;
     7165
     7166                move    R_FPEXP,0x16(A_FPU)
     7167
     7168|       ++octype;
     7169
    71707170                add     #1,OCTYPE(A6)
    7171 *
    7172                 .page
    7173 *
    7174 *       if (fp->idftmd & I_VNSUBN)
    7175 *
     7171
     7172                .page
     7173
     7174|       if (fp->idftmd & I_VNSUBN)
     7175
    71767176                btst    #3,7(A_FP)
    71777177                beq     F12L169
    7178 *
    7179 *               *(fpu + (long)FPU_TNV1) = fpval;
    7180 *
    7181                 move    R_FPVAL,$1C(A_FPU)
     7178
     7179|               |(fpu + (long)FPU_TNV1) = fpval;
     7180
     7181                move    R_FPVAL,0x1C(A_FPU)
    71827182                bra     F12L170
    7183 *
    7184 *       else
    7185 *               *(fpu + (long)FPU_TNV0) = fpval;
    7186 *
     7183
     7184|       else
     7185|               |(fpu + (long)FPU_TNV0) = fpval;
     7186
    71877187F12L169:        move    R_FPVAL,2(A_FPU)
    7188 *
    7189 *       ++octype;
    7190 *
     7188
     7189|       ++octype;
     7190
    71917191F12L170:        add     #1,OCTYPE(A6)
    7192 *
    7193 *       *(fpu + (long)FPU_TCTL) = fpctl;
    7194 *
     7192
     7193|       |(fpu + (long)FPU_TCTL) = fpctl;
     7194
    71957195                move    R_FPCTL,(A_FPU)
    7196 *
    7197 *       setipl(oldi);
    7198 *
     7196
     7197|       setipl(oldi);
     7198
    71997199                move    OLDI(A6),sr
    7200 *
    7201 *    }
    7202 *
    7203                 .page
    7204 *
     7200
     7201|    }
     7202
     7203                .page
     7204
    72057205FNEXIT:         tst.l   (sp)+
    72067206                movem.l (sp)+,R_FPVAL-R_FPMANT/A_SMP-A_FP
    72077207                unlk    A6
    72087208                rts
    7209 *
    7210 * }
    7211 *
    7212                 .page
    7213 *
     7209
     7210| }
     7211
     7212                .page
     7213
    72147214                .data
    7215 *
    7216 * Jump tables for switch statements
    7217 * ---------------------------------
    7218 *
     7215
     7216| Jump tables for switch statements
     7217| ---------------------------------
     7218
    72197219F00L123:        .dc.l   F00L116
    72207220                .dc.l   F00L117
     
    72287228                .dc.l   F00L122
    72297229                .dc.l   F00L119
    7230 *
     7230
    72317231F00L145:        .dc.l   F00L139
    72327232                .dc.l   F00L144
     
    72397239                .dc.l   F00L144
    72407240                .dc.l   F00L141
    7241 *
     7241
    72427242F01L123:        .dc.l   F01L116
    72437243                .dc.l   F01L117
     
    72517251                .dc.l   F01L122
    72527252                .dc.l   F01L119
    7253 *
     7253
    72547254F01L145:        .dc.l   F01L139
    72557255                .dc.l   F01L144
     
    72627262                .dc.l   F01L144
    72637263                .dc.l   F01L141
    7264 *
     7264
    72657265F02L123:        .dc.l   F02L116
    72667266                .dc.l   F02L117
     
    72747274                .dc.l   F02L122
    72757275                .dc.l   F02L119
    7276 *
     7276
    72777277F02L145:        .dc.l   F02L139
    72787278                .dc.l   F02L144
     
    72857285                .dc.l   F02L144
    72867286                .dc.l   F02L141
    7287 *
     7287
    72887288F03L123:        .dc.l   F03L116
    72897289                .dc.l   F03L117
     
    72977297                .dc.l   F03L122
    72987298                .dc.l   F03L119
    7299 *
     7299
    73007300F03L145:        .dc.l   F03L139
    73017301                .dc.l   F03L144
     
    73087308                .dc.l   F03L144
    73097309                .dc.l   F03L141
    7310 *
     7310
    73117311F04L123:        .dc.l   F04L116
    73127312                .dc.l   F04L117
     
    73207320                .dc.l   F04L122
    73217321                .dc.l   F04L119
    7322 *
     7322
    73237323F04L145:        .dc.l   F04L139
    73247324                .dc.l   F04L144
     
    73317331                .dc.l   F04L144
    73327332                .dc.l   F04L141
    7333 *
     7333
    73347334F05L123:        .dc.l   F05L116
    73357335                .dc.l   F05L117
     
    73437343                .dc.l   F05L122
    73447344                .dc.l   F05L119
    7345 *
     7345
    73467346F05L145:        .dc.l   F05L139
    73477347                .dc.l   F05L144
     
    73547354                .dc.l   F05L144
    73557355                .dc.l   F05L141
    7356 *
     7356
    73577357F06L123:        .dc.l   F06L116
    73587358                .dc.l   F06L117
     
    73667366                .dc.l   F06L122
    73677367                .dc.l   F06L119
    7368 *
     7368
    73697369F06L145:        .dc.l   F06L139
    73707370                .dc.l   F06L144
     
    73777377                .dc.l   F06L144
    73787378                .dc.l   F06L141
    7379 *
     7379
    73807380F07L123:        .dc.l   F07L116
    73817381                .dc.l   F07L117
     
    73897389                .dc.l   F07L122
    73907390                .dc.l   F07L119
    7391 *
     7391
    73927392F07L145:        .dc.l   F07L139
    73937393                .dc.l   F07L144
     
    74007400                .dc.l   F07L144
    74017401                .dc.l   F07L141
    7402 *
     7402
    74037403F08L123:        .dc.l   F08L116
    74047404                .dc.l   F08L117
     
    74127412                .dc.l   F08L122
    74137413                .dc.l   F08L119
    7414 *
     7414
    74157415F08L145:        .dc.l   F08L139
    74167416                .dc.l   F08L144
     
    74237423                .dc.l   F08L144
    74247424                .dc.l   F08L141
    7425 *
     7425
    74267426F09L123:        .dc.l   F09L116
    74277427                .dc.l   F09L117
     
    74357435                .dc.l   F09L122
    74367436                .dc.l   F09L119
    7437 *
     7437
    74387438F09L145:        .dc.l   F09L139
    74397439                .dc.l   F09L144
     
    74467446                .dc.l   F09L144
    74477447                .dc.l   F09L141
    7448 *
     7448
    74497449F10L123:        .dc.l   F10L116
    74507450                .dc.l   F10L117
     
    74587458                .dc.l   F10L122
    74597459                .dc.l   F10L119
    7460 *
     7460
    74617461F10L145:        .dc.l   F10L139
    74627462                .dc.l   F10L144
     
    74697469                .dc.l   F10L144
    74707470                .dc.l   F10L141
    7471 *
     7471
    74727472F11L123:        .dc.l   F11L116
    74737473                .dc.l   F11L117
     
    74817481                .dc.l   F11L122
    74827482                .dc.l   F11L119
    7483 *
     7483
    74847484F11L145:        .dc.l   F11L139
    74857485                .dc.l   F11L144
     
    74927492                .dc.l   F11L144
    74937493                .dc.l   F11L141
    7494 *
     7494
    74957495F12L123:        .dc.l   F12L116
    74967496                .dc.l   F12L117
     
    75047504                .dc.l   F12L122
    75057505                .dc.l   F12L119
    7506 *
     7506
    75077507F12L145:        .dc.l   F12L139
    75087508                .dc.l   F12L144
     
    75157515                .dc.l   F12L144
    75167516                .dc.l   F12L141
    7517 *
    7518 * vbtab -- vbuf pointer table -- indexed by voice number
    7519 * -----    ---------------------------------------------
     7517
     7518| vbtab -- vbuf pointer table -- indexed by voice number
     7519| -----    ---------------------------------------------
    75207520vbtab:          .dc.l   _vbufs
    75217521                .dc.l   _vbufs+VBLEN
     
    75307530                .dc.l   _vbufs+(10*VBLEN)
    75317531                .dc.l   _vbufs+(11*VBLEN)
    7532 *
     7532
    75337533                .end
Note: See TracChangeset for help on using the changeset viewer.