- Timestamp:
- 08/07/2017 01:05:57 PM (7 years ago)
- Branches:
- master
- Children:
- 8325447
- Parents:
- 15854f1
- Location:
- ram
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
ram/execkey.s
r15854f1 r84c0125 38 38 | Register variables 39 39 | ------------------ 40 A_FP = A5 | LONG -- struct idfnhdr |40 A_FP = A5 | LONG -- struct idfnhdr * 41 41 A_FPU = A4 | LONG -- FPU base address 42 A_SMP = A3 | LONG -- struct sment |42 A_SMP = A3 | LONG -- struct sment * 43 43 44 44 R_FPMANT = D7 | WORD -- FPU time mantissa … … 50 50 | Local (stack) variables 51 51 | ----------------------- 52 PT = -4 | LONG -- instpnt |53 VEP = -8 | LONG -- struct valent |52 PT = -4 | LONG -- instpnt * 53 VEP = -8 | LONG -- struct valent * 54 54 OLDI = -10 | WORD -- old IPL (sr) 55 55 OCTYPE = -12 | WORD -- oscillator 1 mode / scratch … … 61 61 TFPVAL = -24 | WORD -- temporary FPU value 62 62 LTMP = -28 | LONG -- long temporary 63 IP = -32 | LONG -- struct instdef |63 IP = -32 | LONG -- struct instdef * 64 64 GROUP = -34 | WORD -- group number << 4 65 65 … … 200 200 move.l 4(A_SMP),4(A0) 201 201 202 | smp->prv = (struct sment |)vep;202 | smp->prv = (struct sment *)vep; 203 203 204 204 move.l VEP(A6),4(A_SMP) … … 460 460 .page 461 461 462 | ltmp = (ltmp |pt->ipvmlt) >> 15;462 | ltmp = (ltmp * pt->ipvmlt) >> 15; 463 463 464 464 F00L137: move.l PT(A6),A0 … … 794 794 move.l 4(A_SMP),4(A0) 795 795 796 | smp->prv = (struct sment |)vep;796 | smp->prv = (struct sment *)vep; 797 797 798 798 move.l VEP(A6),4(A_SMP) … … 1054 1054 .page 1055 1055 1056 | ltmp = (ltmp |pt->ipvmlt) >> 15;1056 | ltmp = (ltmp * pt->ipvmlt) >> 15; 1057 1057 1058 1058 F01L137: move.l PT(A6),A0 … … 1343 1343 move.l 4(A_SMP),4(A0) 1344 1344 1345 | smp->prv = (struct sment |)vep;1345 | smp->prv = (struct sment *)vep; 1346 1346 1347 1347 move.l VEP(A6),4(A_SMP) … … 1603 1603 .page 1604 1604 1605 | ltmp = (ltmp |pt->ipvmlt) >> 15;1605 | ltmp = (ltmp * pt->ipvmlt) >> 15; 1606 1606 1607 1607 F02L137: move.l PT(A6),A0 … … 1892 1892 move.l 4(A_SMP),4(A0) 1893 1893 1894 | smp->prv = (struct sment |)vep;1894 | smp->prv = (struct sment *)vep; 1895 1895 1896 1896 move.l VEP(A6),4(A_SMP) … … 2152 2152 .page 2153 2153 2154 | ltmp = (ltmp |pt->ipvmlt) >> 15;2154 | ltmp = (ltmp * pt->ipvmlt) >> 15; 2155 2155 2156 2156 F03L137: move.l PT(A6),A0 … … 2468 2468 move.l 4(A_SMP),4(A0) 2469 2469 2470 | smp->prv = (struct sment |)vep;2470 | smp->prv = (struct sment *)vep; 2471 2471 2472 2472 move.l VEP(A6),4(A_SMP) … … 2747 2747 .page 2748 2748 2749 | ltmp = (ltmp |pt->ipvmlt) >> 15;2749 | ltmp = (ltmp * pt->ipvmlt) >> 15; 2750 2750 2751 2751 F04L137: move.l PT(A6),A0 … … 3055 3055 move.l 4(A_SMP),4(A0) 3056 3056 3057 | smp->prv = (struct sment |)vep;3057 | smp->prv = (struct sment *)vep; 3058 3058 3059 3059 move.l VEP(A6),4(A_SMP) … … 3305 3305 .page 3306 3306 3307 | ltmp = (ltmp |pt->ipvmlt) >> 15;3307 | ltmp = (ltmp * pt->ipvmlt) >> 15; 3308 3308 3309 3309 F05L137: move.l PT(A6),A0 … … 3614 3614 move.l 4(A_SMP),4(A0) 3615 3615 3616 | smp->prv = (struct sment |)vep;3616 | smp->prv = (struct sment *)vep; 3617 3617 3618 3618 move.l VEP(A6),4(A_SMP) … … 3864 3864 .page 3865 3865 3866 | ltmp = (ltmp |pt->ipvmlt) >> 15;3866 | ltmp = (ltmp * pt->ipvmlt) >> 15; 3867 3867 3868 3868 F06L137: move.l PT(A6),A0 … … 4139 4139 move.l 4(A_SMP),4(A0) 4140 4140 4141 | smp->prv = (struct sment |)vep;4141 | smp->prv = (struct sment *)vep; 4142 4142 4143 4143 move.l VEP(A6),4(A_SMP) … … 4389 4389 .page 4390 4390 4391 | ltmp = (ltmp |pt->ipvmlt) >> 15;4391 | ltmp = (ltmp * pt->ipvmlt) >> 15; 4392 4392 4393 4393 F07L137: move.l PT(A6),A0 … … 4664 4664 move.l 4(A_SMP),4(A0) 4665 4665 4666 | smp->prv = (struct sment |)vep;4666 | smp->prv = (struct sment *)vep; 4667 4667 4668 4668 move.l VEP(A6),4(A_SMP) … … 4914 4914 .page 4915 4915 4916 | ltmp = (ltmp |pt->ipvmlt) >> 15;4916 | ltmp = (ltmp * pt->ipvmlt) >> 15; 4917 4917 4918 4918 F08L137: move.l PT(A6),A0 … … 5189 5189 move.l 4(A_SMP),4(A0) 5190 5190 5191 | smp->prv = (struct sment |)vep;5191 | smp->prv = (struct sment *)vep; 5192 5192 5193 5193 move.l VEP(A6),4(A_SMP) … … 5439 5439 .page 5440 5440 5441 | ltmp = (ltmp |pt->ipvmlt) >> 15;5441 | ltmp = (ltmp * pt->ipvmlt) >> 15; 5442 5442 5443 5443 F09L137: move.l PT(A6),A0 … … 5714 5714 move.l 4(A_SMP),4(A0) 5715 5715 5716 | smp->prv = (struct sment |)vep;5716 | smp->prv = (struct sment *)vep; 5717 5717 5718 5718 move.l VEP(A6),4(A_SMP) … … 5964 5964 .page 5965 5965 5966 | ltmp = (ltmp |pt->ipvmlt) >> 15;5966 | ltmp = (ltmp * pt->ipvmlt) >> 15; 5967 5967 5968 5968 F10L137: move.l PT(A6),A0 … … 6239 6239 move.l 4(A_SMP),4(A0) 6240 6240 6241 | smp->prv = (struct sment |)vep;6241 | smp->prv = (struct sment *)vep; 6242 6242 6243 6243 move.l VEP(A6),4(A_SMP) … … 6489 6489 .page 6490 6490 6491 | ltmp = (ltmp |pt->ipvmlt) >> 15;6491 | ltmp = (ltmp * pt->ipvmlt) >> 15; 6492 6492 6493 6493 F11L137: move.l PT(A6),A0 … … 6764 6764 move.l 4(A_SMP),4(A0) 6765 6765 6766 | smp->prv = (struct sment |)vep;6766 | smp->prv = (struct sment *)vep; 6767 6767 6768 6768 move.l VEP(A6),4(A_SMP) … … 7014 7014 .page 7015 7015 7016 | ltmp = (ltmp |pt->ipvmlt) >> 15;7016 | ltmp = (ltmp * pt->ipvmlt) >> 15; 7017 7017 7018 7018 F12L137: move.l PT(A6),A0 -
ram/sedisp.s
r15854f1 r84c0125 4 4 5 5 | se_disp(ep, sd, gdstb, cf) 6 | struct s_entry |ep;6 | struct s_entry *ep; 7 7 | short sd; 8 | struct gdsel |gdstb[];8 | struct gdsel *gdstb[]; 9 9 | short cf; 10 10 … … 111 111 | gdsel structure definitions 112 112 | --------------------------- 113 G_NEXT = 0 | long - 'next' field (struct gdsel |)113 G_NEXT = 0 | long - 'next' field (struct gdsel *) 114 114 G_NOTE = 4 | word - 'note' field (short) 115 115 G_CODE = 6 | word - 'code' field (short) … … 206 206 clr.b numstr+3 | terminate string 207 207 move.w d1,d0 | col = group 208 asl.w #2,d0 | ... |5208 asl.w #2,d0 | ... * 5 209 209 add.w d1,d0 | ... 210 210 add.w #6,d0 | ... + 6 … … 251 251 clr.w d2 | d2 = ep->group 252 252 move.b E_GROUP(a0),d2 | ... 253 lsl.w #2,d2 | ... |4253 lsl.w #2,d2 | ... * 4 254 254 movea.l P_SL(a6),a2 | a2 points at gdstb 255 255 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[ep->group] … … 304 304 clr.w d2 | get group in d2 305 305 move.b E_GROUP(a0),d2 | ... 306 lsl.w #2,d2 | ... |4306 lsl.w #2,d2 | ... * 4 307 307 move.l 0(a2,d2.W),d0 | check gdstb[ep->group] 308 308 beq dsexit … … 353 353 movea.l d0,a1 | a1 = gdsp 354 354 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 355 move.w #48,d2 | d2 = event PRIORITY |4355 move.w #48,d2 | d2 = event PRIORITY * 4 356 356 movea.l P_SL(a6),a2 | a2 points at gdstb 357 357 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 376 376 movea.l d0,a1 | a1 = gdsp 377 377 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 378 move.w #48,d2 | d2 = event PRIORITY |4378 move.w #48,d2 | d2 = event PRIORITY * 4 379 379 movea.l P_SL(a6),a2 | a2 points at gdstb 380 380 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 394 394 movea.l d0,a1 | a1 = gdsp 395 395 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 396 move.w #48,d2 | d2 = event PRIORITY |4396 move.w #48,d2 | d2 = event PRIORITY * 4 397 397 movea.l P_SL(a6),a2 | a2 points at gdstb 398 398 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 428 428 movea.l d0,a1 | a1 = gdsp 429 429 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 430 move.w #52,d2 | d2 = event PRIORITY |4430 move.w #52,d2 | d2 = event PRIORITY * 4 431 431 movea.l P_SL(a6),a2 | a2 points at gdstb 432 432 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 491 491 move.w d1,-(a7) | save group number on stack 492 492 add.w d0,d0 | calculate column 493 add.w d0,d1 | ... = 5 |group493 add.w d0,d1 | ... = 5 * group 494 494 addi.w #5,d1 | ... + 5 495 495 move.w #AT11,-(a7) | vputs(obj8, 3, col, numstr, atr11) … … 519 519 movea.l d0,a1 | a1 = gdsp 520 520 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 521 move.w #52,d2 | d2 = event PRIORITY |4521 move.w #52,d2 | d2 = event PRIORITY * 4 522 522 movea.l P_SL(a6),a2 | a2 points at gdstb 523 523 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 548 548 move.w d1,-(a7) | save group number 549 549 move.w (a7),d0 | col = group number 550 add.w d0,d0 | ... |5550 add.w d0,d0 | ... * 5 551 551 add.w d0,d0 | ... 552 552 move.w (a7)+,d2 | ... (d2 = group number) … … 583 583 movea.l d0,a1 | a1 = gdsp 584 584 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 585 move.w #52,d2 | d2 = event PRIORITY |4585 move.w #52,d2 | d2 = event PRIORITY * 4 586 586 movea.l P_SL(a6),a2 | a2 points at gdstb 587 587 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 612 612 move.w d1,-(a7) | save group number 613 613 move.w (a7),d0 | col = group number 614 add.w d0,d0 | ... |5614 add.w d0,d0 | ... * 5 615 615 add.w d0,d0 | ... 616 616 move.w (a7)+,d2 | ... (d2 = group number) … … 647 647 movea.l d0,a1 | a1 = gdsp 648 648 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 649 move.w #52,d2 | d2 = event PRIORITY |4649 move.w #52,d2 | d2 = event PRIORITY * 4 650 650 movea.l P_SL(a6),a2 | a2 points at gdstb 651 651 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 683 683 move.w d1,-(a7) | save variable number 684 684 move.w d1,d0 | calculate display offset 685 lsl.w #3,d0 | ... (var |9) + 6685 lsl.w #3,d0 | ... (var * 9) + 6 686 686 add.w d0,d1 | ... in d1 687 687 addq.w #6,d1 | ... … … 707 707 movea.l d0,a1 | a1 = gdsp 708 708 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 709 move.w #52,d2 | d2 = event PRIORITY |4709 move.w #52,d2 | d2 = event PRIORITY * 4 710 710 movea.l P_SL(a6),a2 | a2 points at gdstb 711 711 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 743 743 move.w d1,-(a7) | save variable number 744 744 move.w d1,d0 | calculate display offset 745 lsl.w #3,d0 | ... (var |9) + 8745 lsl.w #3,d0 | ... (var * 9) + 8 746 746 add.w d0,d1 | ... in d1 747 747 addi.w #8,d1 | ... … … 791 791 movea.l d0,a1 | a1 = gdsp 792 792 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 793 move.w #52,d2 | d2 = event PRIORITY |4793 move.w #52,d2 | d2 = event PRIORITY * 4 794 794 movea.l P_SL(a6),a2 | a2 points at gdstb 795 795 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 834 834 movea.l d0,a1 | a1 = gdsp 835 835 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 836 move.w #56,d2 | d2 = event PRIORITY |4836 move.w #56,d2 | d2 = event PRIORITY * 4 837 837 movea.l P_SL(a6),a2 | a2 points at gdstb 838 838 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 880 880 movea.l d0,a1 | a1 = gdsp 881 881 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 882 move.w #56,d2 | d2 = event PRIORITY |4882 move.w #56,d2 | d2 = event PRIORITY * 4 883 883 movea.l P_SL(a6),a2 | a2 points at gdstb 884 884 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 918 918 movea.l d0,a1 | a1 = gdsp 919 919 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 920 move.w #56,d2 | d2 = event PRIORITY |4920 move.w #56,d2 | d2 = event PRIORITY * 4 921 921 movea.l P_SL(a6),a2 | a2 points at gdstb 922 922 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 955 955 movea.l d0,a1 | a1 = gdsp 956 956 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 957 move.w #56,d2 | d2 = event PRIORITY |4957 move.w #56,d2 | d2 = event PRIORITY * 4 958 958 movea.l P_SL(a6),a2 | a2 points at gdstb 959 959 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 978 978 movea.l d0,a1 | a1 = gdsp 979 979 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 980 move.w #60,d2 | d2 = event PRIORITY |4980 move.w #60,d2 | d2 = event PRIORITY * 4 981 981 movea.l P_SL(a6),a2 | a2 points at gdstb 982 982 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 1008 1008 move.w d1,-(a7) | save group number 1009 1009 move.w (a7),d0 | col = group number 1010 add.w d0,d0 | ... |51010 add.w d0,d0 | ... * 5 1011 1011 add.w d0,d0 | ... 1012 1012 move.w (a7)+,d2 | ... (d2 = group number) … … 1050 1050 movea.l d0,a1 | a1 = gdsp 1051 1051 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 1052 move.w #60,d2 | d2 = event PRIORITY |41052 move.w #60,d2 | d2 = event PRIORITY * 4 1053 1053 movea.l P_SL(a6),a2 | a2 points at gdstb 1054 1054 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 1100 1100 movea.l d0,a1 | a1 = gdsp 1101 1101 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 1102 move.w #60,d2 | d2 = event PRIORITY |41102 move.w #60,d2 | d2 = event PRIORITY * 4 1103 1103 movea.l P_SL(a6),a2 | a2 points at gdstb 1104 1104 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] … … 1150 1150 movea.l d0,a1 | a1 = gdsp 1151 1151 move.l G_NEXT(a1),_gdfsep | gdfsep = gdsp->next 1152 move.w #60,d2 | d2 = event PRIORITY |41152 move.w #60,d2 | d2 = event PRIORITY * 4 1153 1153 movea.l P_SL(a6),a2 | a2 points at gdstb 1154 1154 move.l 0(a2,d2.W),G_NEXT(a1) | gdsp->next = gdstb[pri] -
ram/seexec.s
r15854f1 r84c0125 3 3 | Version 40 -- 1988-10-06 -- D.N. Lynx Crowe 4 4 5 | struct s_entry |5 | struct s_entry * 6 6 | se_exec(ep, sd) 7 | struct s_entry |ep;7 | struct s_entry *ep; 8 8 | short sd; 9 9 … … 143 143 nbegex: clr.w d1 | clear d1 144 144 move.b E_GROUP(a0),d1 | get group number 145 add.w d1,d1 | ... |2145 add.w d1,d1 | ... * 2 146 146 lea _grpstat,a1 | point at grpstat 147 147 tst.w 0(a1,d1.W) | see if group is enabled … … 181 181 nendex: clr.w d1 | clear d1 182 182 move.b E_GROUP(a0),d1 | get group number 183 add.w d1,d1 | ... |2183 add.w d1,d1 | ... * 2 184 184 lea _grpstat,a1 | point at grpstat 185 185 tst.w 0(a1,d1.W) | check group status … … 188 188 move.b E_NOTE(a0),d1 | d1 = note number nn (0..127) 189 189 move.w #LCL_PCH,d2 | put port and channel in d2 190 add.w d1,d2 | d2 = trg |2190 add.w d1,d2 | d2 = trg * 2 191 191 add.w d2,d2 | ... 192 192 lea _trgtab,a1 | set trigger table entry off -
ram/serintr.s
r15854f1 r84c0125 166 166 167 167 calldcd1: move.w d0,-(a7) | Call the footswitch processor 168 jsr (a2) | ... ( |footX)(status)168 jsr (a2) | ... (*footX)(status) 169 169 tst.w (a7)+ | ... 170 170 rts | Return to caller … … 524 524 | DCD interrupt processor vectors 525 525 | ------------------------------- 526 _foot1: .ds.l 1 | short ( |foot1)();527 _foot2: .ds.l 1 | short ( |foot2)();528 _pulse1: .ds.l 1 | short ( |pulse1)();529 _pulse2: .ds.l 1 | short ( |pulse2)();526 _foot1: .ds.l 1 | short (*foot1)(); 527 _foot2: .ds.l 1 | short (*foot2)(); 528 _pulse1: .ds.l 1 | short (*pulse1)(); 529 _pulse2: .ds.l 1 | short (*pulse2)(); 530 530 531 531 .end
Note:
See TracChangeset
for help on using the changeset viewer.