home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
library
/
sound
/
midi
/
mbv.asm
< prev
next >
Wrap
Assembly Source File
|
1988-03-20
|
110KB
|
2,358 lines
TITLE Video, etc. Data for Modular Sequencer
NAME MBV
.SALL
;==============================================================
; MusicBox Modular Sequencer, Version 2
; Video screen data
;--------------------------------------------------------------
; author: John Dunn
; date: 03/07/86
; update: 03/20/88
;--------------------------------------------------------------
; COPYRIGHT (C) 1986 John Dunn, All Rights Reserved
; Entered into the Public Domain, March 20, 1988
;
; Use and copying of this software and preparation of derivative works
; based upon this software are permitted. Any distribution of this
; software or derivative works must comply with all applicable United
; States export control laws.
;
; This software is made available AS IS, and the author makes no warranty
; about the software, its performance, or its conformity to any specification.
;
; Any person obtaining a copy of this software is requested to send their
; name and address address to:
;
; John Dunn, Senior Research Fellow
; Time Arts Inc.
; 3436 Mendocino Ave.
; Santa Rosa, CA 95401
;
;==============================================================
include order.asm
;--------------------------------------------------------------
include equates.asm
;--------------------------------------------------------------
_TEXT SEGMENT
ASSUME DS:DGROUP, CS:_TEXT
include extrn.asm
extrn work:near
_TEXT ENDS
;--------------------------------------------------------------
_DATA SEGMENT
ASSUME DS:DGROUP, CS:_TEXT
;--------------------------------------------------------------
; video data for modules
; Data format:
; word0: number of lines in the module
; word1: absolute offset of source module on master screen
; word2,3,4: att/char of the 3 characters in the line
; word5,6,7: next line, etc
; entire list ends with -1
;
even
public _modtxt
_modtxt equ $
public $beta ; real time clock
$beta dw (?beta-$beta)/6, 0000
dw rde+004h,whi+0e1h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?beta equ $
public $secs ; real time clock
$secs dw (?secs-$secs)/6, 0000
dw yel+03ah,whi+092h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'0' ,yel+'0' ,yel+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+'m' ,blu+'0' ,blu+'0'
?secs equ $
public $lambda ; real time clock
$lambda dw (?lambda-$lambda)/6, 0000
dw rde+004h,whi+0e2h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?lambda equ $
public $mclk ; loop-driven clock
$mclk dw (?mclk-$mclk)/6, 0000
dw rde+004h,whi+0b3h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+'o' ,blu+'0' ,blu+'0'
?mclk equ $
public $mclock ; mesure clock
$mclock dw (?mclock-$mclock)/6, 0000
dw rde+004h,whi+0bah,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
?mclock equ $
public $muclk ; real time clock
$muclk dw (?muclk-$muclk)/6, 0000
dw rde+004h,whi+0e6h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
?muclk equ $
public $gamma ; real time clock
$gamma dw (?gamma-$gamma)/6, 0000
dw rde+004h,whi+0e7h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+'o' ,blu+'0' ,blu+'0'
?gamma equ $
public $clock ; note clock
$clock dw (?clock-$clock)/6, 0000
dw rde+004h,whi+00dh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+015h,blu+'0' ,blu+'1'
dw yel+00dh,blu+'0' ,blu+'3'
dw yel+'s' ,blu+'0' ,blu+'0'
dw yel+'o' ,blu+'0' ,blu+'0'
dw yel+'v' ,blu+'0' ,blu+'1'
?clock equ $
public $klock ; note clock
$klock dw (?klock-$klock)/6, 0000
dw rde+004h,whi+00eh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+015h,blu+'0' ,blu+'1'
dw yel+00dh,blu+'0' ,blu+'3'
dw yel+'s' ,blu+'0' ,blu+'0'
dw yel+'o' ,blu+'0' ,blu+'0'
dw yel+'v' ,blu+'0' ,blu+'1'
?klock equ $
public $alpha ; master control
$alpha dw (?alpha-$alpha)/6, 0000
dw rde+004h,whi+0e0h,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+0e8h,blu+'0' ,blu+'0'
dw yel+0eah,blu+'0' ,blu+'1'
dw yel+'|' ,blu+'0' ,blu+'4'
dw yel+00dh,blu+'0' ,blu+'3'
dw yel+004h,blu+'7' ,blu+'8'
dw yel+'?' ,blu+'0' ,blu+'0'
dw yel+'s' ,blu+'0' ,blu+'0'
dw yel+0edh,blu+'0' ,blu+'0'
dw yel+0feh,yel+'1' ,yel+'0'
?alpha equ $
public $wseq ; staged sequencer
$wseq dw (?wseq-$wseq)/6, 0000
dw yel+03ah,whi+'w' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0'
dw 0c30h ,blu+'0' ,blu+'0' ,yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0' ,yel+'3' ,blu+'0' ,blu+'0'
dw yel+'4' ,blu+'0' ,blu+'0' ,yel+'5' ,blu+'0' ,blu+'0'
dw yel+'6' ,blu+'0' ,blu+'0' ,yel+'7' ,blu+'0' ,blu+'0'
dw yel+'8' ,blu+'0' ,blu+'0' ,yel+'9' ,blu+'0' ,blu+'0'
dw yel+'A' ,blu+'0' ,blu+'0' ,yel+'B' ,blu+'0' ,blu+'0'
dw yel+'C' ,blu+'0' ,blu+'0' ,yel+'D' ,blu+'0' ,blu+'0'
dw yel+'E' ,blu+'0' ,blu+'0' ,yel+'F' ,blu+'0' ,blu+'0'
?wseq equ $
public $xseq ; staged sequencer
$xseq dw (?xseq-$xseq)/6, 0000
dw yel+03ah,whi+'x' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw 0c30h ,blu+'0' ,blu+'0' ,yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0' ,yel+'3' ,blu+'0' ,blu+'0'
dw yel+'4' ,blu+'0' ,blu+'0' ,yel+'5' ,blu+'0' ,blu+'0'
dw yel+'6' ,blu+'0' ,blu+'0' ,yel+'7' ,blu+'0' ,blu+'0'
?xseq equ $
public $yseq ; staged sequencer
$yseq dw (?yseq-$yseq)/6, 0000
dw yel+03ah,whi+'y' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw 0c30h ,blu+'0' ,blu+'0' ,yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0' ,yel+'3' ,blu+'0' ,blu+'0'
?yseq equ $
public $zseq ; staged sequencer
$zseq dw (?zseq-$zseq)/6, 0000
dw yel+03ah,whi+'z' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+040h,blu+'0' ,blu+'0'
dw 0c30h ,blu+'0' ,blu+'0' ,yel+'1' ,blu+'0' ,blu+'0'
?zseq equ $
public $useq ; switch seq
$useq dw (?useq-$useq)/6, 0000
dw yel+03ah,whi+'u' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
?useq equ $
public $vseq ; switch seq
$vseq dw (?vseq-$vseq)/6, 0000
dw yel+03ah,whi+'v' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?vseq equ $
public $euseq ; shift sequencer
$euseq dw (?euseq-$euseq)/6, 0000
dw mag+0f9h,whi+090h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+0eah,blu+'0' ,blu+'1'
dw yel+'+' ,blu+'0' ,blu+'0'
?euseq equ $
public $puseq ; address sequencer
$puseq dw (?puseq-$puseq)/6, 0000
dw yel+03ah,whi+'P' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+014h,blu+'0' ,blu+'0'
dw yel+0eah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+026h,blu+'F' ,blu+'F'
?puseq equ $
public $quseq ; address sequencer
$quseq dw (?quseq-$quseq)/6, 0000
dw yel+03ah,whi+'Q' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+014h,blu+'0' ,blu+'0'
dw yel+012h,blu+'0' ,blu+'0'
?quseq equ $
public $ruseq ; address sequencer
$ruseq dw (?ruseq-$ruseq)/6, 0000
dw yel+03ah,whi+'R' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+014h,blu+'0' ,blu+'0'
dw yel+012h,blu+'0' ,blu+'0'
?ruseq equ $
public $suseq ; address sequencer
$suseq dw (?suseq-$suseq)/6, 0000
dw yel+03ah,whi+'S' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+014h,blu+'0' ,blu+'0'
dw yel+012h,blu+'0' ,blu+'0'
?suseq equ $
public $tuseq ; address sequencer
$tuseq dw (?tuseq-$tuseq)/6, 0000
dw yel+03ah,whi+'T' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+014h,blu+'0' ,blu+'0'
dw yel+012h,blu+'0' ,blu+'0'
?tuseq equ $
public $pseq ; step sequencer
$pseq dw (?pseq-$pseq)/6, 0000
dw mag+0f9h,whi+'p' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+0eah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+026h,blu+'F' ,blu+'F'
?pseq equ $
public $qseq ; step sequencer
$qseq dw (?qseq-$qseq)/6, 0000
dw mag+0f9h,whi+'q' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+012h,blu+'0' ,blu+'0'
?qseq equ $
public $rseq ; step sequencer
$rseq dw (?rseq-$rseq)/6, 0000
dw mag+0f9h,whi+'r' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+012h,blu+'0' ,blu+'0'
?rseq equ $
public $sseq ; step sequencer
$sseq dw (?sseq-$sseq)/6, 0000
dw mag+0f9h,whi+'s' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+012h,blu+'0' ,blu+'0'
?sseq equ $
public $tseq ; step sequencer
$tseq dw (?tseq-$tseq)/6, 0000
dw mag+0f9h,whi+'t' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+040h,blu+'0' ,blu+'0' ,yel+012h,blu+'0' ,blu+'0'
?tseq equ $
public $domute ; master control
$domute dw (?domute-$domute)/6, 0000
dw yel+03ah,whi+0e8h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'0' ,blu+'0' ,blu+'0'
dw yel+'8' ,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?domute equ $
public $gatel ; show byte to leds 0-7
$gatel dw (?gatel-$gatel)/6, 0000
dw yel+03ah,whi+';' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw rde+004h,yel+02dh,yel+'0' ,rde+004h,yel+02dh,yel+'1'
dw rde+004h,yel+02dh,yel+'2' ,rde+004h,yel+02dh,yel+'3'
dw rde+004h,yel+02dh,yel+'4' ,rde+004h,yel+02dh,yel+'5'
dw rde+004h,yel+02dh,yel+'6' ,rde+004h,yel+02dh,yel+'7'
?gatel equ $
public $gout ; do byte to leds 0-7
$gout dw (?gout-$gout)/6, 0000
dw yel+03ah,whi+0feh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'0' ,blu+'0' ,blu+'0' ,yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0' ,yel+'3' ,blu+'0' ,blu+'0'
dw yel+'4' ,blu+'0' ,blu+'0' ,yel+'5' ,blu+'0' ,blu+'0'
dw yel+'6' ,blu+'0' ,blu+'0' ,yel+'7' ,blu+'0' ,blu+'0'
?gout equ $
public $iclock ; interference clock
$iclock dw (?iclock-$iclock)/6, 0000
dw rde+004h,whi+003h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+003h,blu+'0' ,blu+'0'
?iclock equ $
public $kclock ; interference clock
$kclock dw (?kclock-$kclock)/6, 0000
dw rde+004h,whi+09bh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
?kclock equ $
public $icount ; addresser/counter
$icount dw (?icount-$icount)/6, 0000
dw yel+03ah,whi+'I' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0' ,yel+0fbh,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
?icount equ $
public $ocount ; addresser/counter
$ocount dw (?ocount-$ocount)/6, 0000
dw yel+03ah,whi+'O' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0' ,yel+0fbh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?ocount equ $
public $jcount ; addresser/counter
$jcount dw (?jcount-$jcount)/6, 0000
dw yel+03ah,whi+'J' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0' ,yel+0fbh,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
?jcount equ $
public $kcount ; addresser/counter
$kcount dw (?kcount-$kcount)/6, 0000
dw yel+03ah,whi+'K' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0' ,yel+0fbh,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0' ,yel+023h,blu+'0' ,blu+'0'
?kcount equ $
public $lcount ; addresser/counter
$lcount dw (?lcount-$lcount)/6, 0000
dw yel+03ah,whi+'L' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0' ,yel+0fbh,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0' ,yel+019h,blu+'0' ,blu+'0'
?lcount equ $
public $mcount ; addresser/counter
$mcount dw (?mcount-$mcount)/6, 0000
dw yel+03ah,whi+'M' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0' ,yel+0fbh,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0' ,yel+019h,blu+'0' ,blu+'0'
?mcount equ $
public $ncount ; addresser/counter
$ncount dw (?ncount-$ncount)/6, 0000
dw yel+03ah,whi+'N' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+040h,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
?ncount equ $
public $randp ; raw random generator
$randp dw (?randp-$randp)/6, 0000
dw rde+004h,whi+0adh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
?randp equ $
public $nrand ; raw random generator
$nrand dw (?nrand-$nrand)/6, 0000
dw rde+004h,whi+0c1h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+'o' ,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
?nrand equ $
public $trand ; rand tone row 0-11
$trand dw (?trand-$trand)/6, 0000
dw yel+03ah,whi+0ech,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,blu+'0' ,blu+'0' ,yel+'!' ,blu+'0' ,blu+'0'
?trand equ $
public $rand ; random generator
$rand dw (?rand-$rand)/6, 0000
dw yel+03ah,whi+03fh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+015h,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?rand equ $
public $rrand ; raw random generator
$rrand dw (?rrand-$rrand)/6, 0000
dw yel+03ah,whi+0a8h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+015h,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0'
?rrand equ $
public $variz ; rand tone row 0-11
$variz dw (?variz-$variz)/6, 0000
dw yel+03ah,whi+'i' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0'
?variz equ $
public $variy ; rand tone row 0-11
$variy dw (?variy-$variy)/6, 0000
dw yel+03ah,whi+'j' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+09bh,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0'
?variy equ $
public $variv ; rand tone row 0-11
$variv dw (?variv-$variv)/6, 0000
dw yel+03ah,whi+'k' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?variv equ $
public $varix ; rand tone row 0-11
$varix dw (?varix-$varix)/6, 0000
dw yel+03ah,whi+'l' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?varix equ $
public $sandh ; saple and hold
$sandh dw (?sandh-$sandh)/6, 0000
dw yel+03ah,whi+015h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'=' ,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
?sandh equ $
public $andl ; and logic
$andl dw (?andl-$andl)/6, 0000
dw yel+03ah,whi+'&' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+'&' ,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0' ,yel+'x' ,blu+'0' ,blu+'0'
?andl equ $
public $orl ; or logic
$orl dw (?orl-$orl)/6, 0000
dw yel+03ah,whi+'|' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?orl equ $
public $notl ; not logic
$notl dw (?notl-$notl)/6, 0000
dw yel+03ah,whi+0edh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+0edh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?notl equ $
public $delay ; delay
$delay dw (?delay-$delay)/6, 0000
dw yel+03ah,whi+0D0h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+09bh,blu+'0' ,blu+'0' ,yel+'+' ,blu+'0' ,blu+'0'
?delay equ $
public $slope ; slope detector
$slope dw (?slope-$slope)/6, 0000
dw rde+004h,whi+05ch,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
?slope equ $
public $twopwr ; twopwr/offset
$twopwr dw (?twopwr-$twopwr)/6, 0000
dw yel+03ah,whi+05eh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+05eh,blu+'0' ,blu+'0'
?twopwr equ $
public $scale ; scale/offset
$scale dw (?scale-$scale)/6, 0000
dw yel+03ah,whi+025h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+025h,blu+'0' ,blu+'0' ,yel+02bh,blu+'0' ,blu+'0'
?scale equ $
public $sumit ; scaled sum of 4 inputs
$sumit dw (?sumit-$sumit)/6, 0000
dw yel+03ah,whi+0e4h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+025h,blu+'0' ,blu+'0' ,yel+02bh,blu+'0' ,blu+'0'
?sumit equ $
public $mixit ; scaled sum of 4 inputs
$mixit dw (?mixit-$mixit)/6, 0000
dw yel+03ah,whi+0eeh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+025h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+025h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+025h,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
?mixit equ $
public $limit ; limiter
$limit dw (?limit-$limit)/6, 0000
dw yel+03ah,whi+017h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0' ,yel+019h,blu+'0' ,blu+'0'
?limit equ $
public $apprx ; rand + scale + offsets
$apprx dw (?apprx-$apprx)/6, 0000
dw yel+03ah,whi+0F7h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0' ,yel+019h,blu+'0' ,blu+'0'
?apprx equ $
public $delta ; size of change
$delta dw (?delta-$delta)/6, 0000
dw yel+03ah,whi+07Fh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?delta equ $
public $cmak ; chord generator
$cmak dw (?cmak-$cmak)/6, 0000
dw yel+03ah,whi+013h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+0a2h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+01dh,blu+'0' ,blu+'0'
dw yel+09fh,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
?cmak equ $
public $cgen ; chord generator
$cgen dw (?cgen-$cgen)/6, 0000
dw yel+03ah,whi+'!' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
dw yel+0a2h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+01dh,blu+'0' ,blu+'0'
dw yel+09fh,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
?cgen equ $
public $cplay ; chord play
$cplay dw (?cplay-$cplay)/6, 0000
dw yel+03ah,whi+080h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+01dh,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?cplay equ $
public $cplai ; chord play
$cplai dw (?cplai-$cplai)/6, 0000
dw yel+03ah,whi+087h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+01dh,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?cplai equ $
public $cstor ; chord store
$cstor dw (?cstor-$cstor)/6, 0000
dw yel+03ah,whi+'@' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+0a2h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
?cstor equ $
public $sort ; sort
$sort dw (?sort-$sort)/6, 0000
dw yel+03ah,whi+01dh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
?sort equ $
public $bassd ; dithered bass
$bassd dw (?bassd-$bassd)/6, 0000
dw yel+03ah,whi+':' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'#' ,blu+'0' ,blu+'0'
dw yel+0f1h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'-' ,blu+'0' ,blu+'0'
?bassd equ $
public $deltat ; delta test
$deltat dw (?deltat-$deltat)/6, 0000
dw rde+004h,whi+0a6h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+07fh,blu+'0' ,blu+'0'
dw yel+093h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?deltat equ $
public $mul12 ; * 12
$mul12 dw (?mul12-$mul12)/6, 0000
dw yel+03ah,whi+0f8h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?mul12 equ $
public $div12 ; div 12
$div12 dw (?div12-$div12)/6, 0000
dw yel+03ah,whi+0f6h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?div12 equ $
public $mod12 ; mod 12
$mod12 dw (?mod12-$mod12)/6, 0000
dw yel+03ah,whi+0a2h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?mod12 equ $
public $fold ; fold octave
$fold dw (?fold-$fold)/6, 0000
dw yel+03ah,whi+0f4h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+093h,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?fold equ $
public $dither ; dither
$dither dw (?dither-$dither)/6, 0000
dw yel+03ah,whi+006h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?dither equ $
public $dithzr ; dithzr
$dithzr dw (?dithzr-$dithzr)/6, 0000
dw yel+03ah,whi+005h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?dithzr equ $
public $ddithr ; dither
$ddithr dw (?ddithr-$ddithr)/6, 0000
dw rde+004h,whi+004h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'=' ,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
?ddithr equ $
public $odds ; dither
$odds dw (?odds-$odds)/6, 0000
dw yel+03ah,whi+0ach,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
?odds equ $
public $oddz ; dither
$oddz dw (?oddz-$oddz)/6, 0000
dw yel+03ah,whi+084h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
?oddz equ $
public $ratio ; dither
$ratio dw (?ratio-$ratio)/6, 0000
dw yel+03ah,whi+08fh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
?ratio equ $
public $ratiz ; dither
$ratiz dw (?ratiz-$ratiz)/6, 0000
dw yel+03ah,whi+08eh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
?ratiz equ $
public $filter ; size of change
$filter dw (?filter-$filter)/6, 0000
dw yel+03ah,whi+09Fh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+09fh,blu+'0' ,blu+'0'
dw yel+02bh,blu+'0' ,blu+'0'
?filter equ $
public $fflop ; flip flop
$fflop dw (?fflop-$fflop)/6, 0000
dw rde+004h,whi+0e9h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+073h,blu+'0' ,blu+'0'
dw yel+072h,blu+'0' ,blu+'0'
?fflop equ $
public $union ; time union
$union dw (?union-$union)/6, 0000
dw rde+004h,whi+0efh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'t' ,blu+'0' ,blu+'0'
dw yel+'s' ,blu+'0' ,blu+'0'
?union equ $
public $passt ; pass thru
$passt dw (?passt-$passt)/6, 0000
dw yel+03ah,whi+0d6h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0abh,blu+'0' ,blu+'0'
dw yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0'
?passt equ $
public $passq ; pass thru
$passq dw (?passq-$passq)/6, 0000
dw yel+03ah,whi+0b7h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0abh,blu+'0' ,blu+'0'
dw yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?passq equ $
public $rangep ; bounds check
$rangep dw (?rangep-$rangep)/6, 0000
dw rde+004h,whi+0cah,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
dw yel+018h,blu+'0' ,blu+'0' ,yel+019h,blu+'0' ,blu+'0'
?rangep equ $
public $quant ; quantize
$quant dw (?quant-$quant)/6, 0000
dw yel+03ah,whi+0fch,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+0f6h,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+'e' ,blu+'0' ,blu+'0'
dw yel+'f' ,blu+'0' ,blu+'0'
dw yel+'g' ,blu+'0' ,blu+'0'
dw yel+'h' ,blu+'0' ,blu+'0'
?quant equ $
public $lastv ; last change
$lastv dw (?lastv-$lastv)/6, 0000
dw yel+03ah,whi+00ch,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+'e' ,blu+'0' ,blu+'0'
dw yel+'f' ,blu+'0' ,blu+'0'
dw yel+'g' ,blu+'0' ,blu+'0'
dw yel+'h' ,blu+'0' ,blu+'0'
?lastv equ $
public $xcall ; external call
$xcall dw (?xcall-$xcall)/6, 0000
dw yel+03ah,whi+08ah,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+08aH,blu+'0' ,blu+'0'
dw yel+'A' ,blu+'0' ,blu+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'B' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'C' ,blu+'0' ,blu+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+'D' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
?xcall equ $
public $rcall ; get registers
$rcall dw (?rcall-$rcall)/6, 0000
dw yel+03ah,whi+088h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'r' ,blu+'0' ,blu+'0'
?rcall equ $
public $tstmob ; test midi out buffer
$tstmob dw (?tstmob-$tstmob)/6, 0000
dw rde+004h,whi+0f9h,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
?tstmob equ $
public $xmidii ; get midi input
$xmidii dw (?xmidii-$xmidii)/6, 0000
dw yel+03ah,whi+01ah,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+0eah,blu+'0' ,blu+'0'
?xmidii equ $
public $mpuins ; mpu input status
$mpuins dw (?mpuins-$mpuins)/6, 0000
dw rde+004h,whi+0abh,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'3'
?mpuins equ $
public $xkbd ; get keyboard input
$xkbd dw (?xkbd-$xkbd)/6, 0000
dw yel+03ah,whi+0fbh,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0'
?xkbd equ $
public $poke ; byte write
$poke dw (?poke-$poke)/6, 0000
dw yel+03ah,whi+07bh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'$' ,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
?poke equ $
public $peek ; byte read
$peek dw (?peek-$peek)/6, 0000
dw yel+03ah,whi+07dh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'$' ,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
?peek equ $
public $outpb ; byte output
$outpb dw (?outpb-$outpb)/6, 0000
dw yel+03ah,whi+095h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'P' ,blu+'0' ,blu+'0'
dw yel+'p' ,blu+'0' ,blu+'0'
?outpb equ $
public $inptb ; byte input
$inptb dw (?inptb-$inptb)/6, 0000
dw yel+03ah,whi+08dh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'P' ,blu+'0' ,blu+'0'
dw yel+'p' ,blu+'0' ,blu+'0'
?inptb equ $
public $emeter ; indicator meter
$emeter dw (?emeter-$emeter)/6, 0000
dw yel+03ah,whi+096h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'l' ,blu+'0' ,blu+'0'
dw yel+'r' ,blu+'0' ,blu+'0'
dw yel+'*' ,blu+'0' ,blu+'0'
dw yel+0f9h,rde+'8' ,rde+'8'
dw yel+0f9h,yel+'7' ,yel+'7'
dw yel+0f9h,yel+'6' ,yel+'6'
dw yel+0f9h,yel+'5' ,yel+'5'
dw yel+0f9h,yel+'4' ,yel+'4'
dw yel+0f9h,yel+'3' ,yel+'3'
dw yel+0f9h,yel+'2' ,yel+'2'
dw yel+0f9h,yel+'1' ,yel+'1'
?emeter equ $
public $imeter ; indicator meter
$imeter dw (?imeter-$imeter)/6, 0000
dw yel+03ah,whi+097h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'l' ,blu+'0' ,blu+'0'
dw yel+'r' ,blu+'0' ,blu+'0'
dw yel+'%' ,blu+'0' ,blu+'0'
dw yel+0f9h,rde+'8' ,rde+'8'
dw yel+0f9h,yel+'7' ,yel+'7'
dw yel+0f9h,yel+'6' ,yel+'6'
dw yel+0f9h,yel+'5' ,yel+'5'
dw yel+0f9h,yel+'4' ,yel+'4'
dw yel+0f9h,yel+'3' ,yel+'3'
dw yel+0f9h,yel+'2' ,yel+'2'
dw yel+0f9h,yel+'1' ,yel+'1'
?imeter equ $
public $higher ; latch highest input
$higher dw (?higher-$higher)/6, 0000
dw yel+03ah,whi+01eh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?higher equ $
public $lower ; latch lowest input
$lower dw (?lower-$lower)/6, 0000
dw yel+03ah,whi+01fh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0fbh,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?lower equ $
public $maxf ; latch highest input
$maxf dw (?maxf-$maxf)/6, 0000
dw yel+03ah,whi+018h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?maxf equ $
public $minf ; latch lowest input
$minf dw (?minf-$minf)/6, 0000
dw yel+03ah,whi+019h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?minf equ $
public $rshift ; right shift
$rshift dw (?rshift-$rshift)/6, 0000
dw yel+03ah,whi+0AFh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+0AFh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?rshift equ $
public $lshift ; left shift
$lshift dw (?lshift-$lshift)/6, 0000
dw yel+03ah,whi+0AEh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+0AEh,blu+'0' ,blu+'0'
dw yel+'&' ,blu+'0' ,blu+'0'
?lshift equ $
public $times ; multiply & divide
$times dw (?times-$times)/6, 0000
dw yel+03ah,whi+'*' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'*' ,blu+'0' ,blu+'0'
dw yel+'*' ,blu+'0' ,blu+'0'
dw yel+0f6h,blu+'0' ,blu+'0'
?times equ $
public $stopo ; sync interface
$stopo dw (?stopo-$stopo)/6, 0000
dw rde+004h,whi+09dh,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'S' ,blu+'0' ,blu+'0'
dw yel+'G' ,blu+'0' ,blu+'0'
dw yel+'C' ,blu+'0' ,blu+'0'
dw yel+'R' ,blu+'0' ,blu+'0'
dw yel+'T' ,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
?stopo equ $
public $modulo ; divide
$modulo dw (?modulo-$modulo)/6, 0000
dw yel+03ah,whi+'/' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+'/' ,blu+'0' ,blu+'0'
?modulo equ $
public $plus ; add
$plus dw (?plus-$plus)/6, 0000
dw yel+03ah,whi+'+' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?plus equ $
public $plusm ; add, subtract
$plusm dw (?plusm-$plusm)/6, 0000
dw yel+03ah,whi+0f1h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'-' ,blu+'0' ,blu+'0'
?plusm equ $
public $plusn ; add, subtract
$plusn dw (?plusn-$plusn)/6, 0000
dw yel+03ah,whi+'-' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'-' ,blu+'0' ,blu+'0'
?plusn equ $
public $change ; true if change
$change dw (?change-$change)/6, 0000
dw rde+004h,whi+00bh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?change equ $
public $equal ; true if equal
$equal dw (?equal-$equal)/6, 0000
dw rde+004h,whi+03dh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?equal equ $
public $nequal ; true if nequal
$nequal dw (?nequal-$nequal)/6, 0000
dw rde+004h,whi+0A7h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+01ah,blu+'0' ,blu+'0' ,yel+01ah,blu+'0' ,blu+'0'
?nequal equ $
public $great ; true if greater
$great dw (?great-$great)/6, 0000
dw rde+004h,whi+03eh,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+061h,blu+'0' ,blu+'0' ,yel+062h,blu+'0' ,blu+'0'
?great equ $
public $lessp ; true if less
$lessp dw (?lessp-$lessp)/6, 0000
dw rde+004h,whi+03ch,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+061h,blu+'0' ,blu+'0' ,yel+062h,blu+'0' ,blu+'0'
?lessp equ $
public $bitsp ; true if mask bit nz
$bitsp dw (?bitsp-$bitsp)/6, 0000
dw rde+004h,whi+0c2h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+01dh,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?bitsp equ $
public $bitsq ; true if mask bit nz
$bitsq dw (?bitsq-$bitsq)/6, 0000
dw rde+004h,whi+0d1h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'&' ,blu+'0' ,blu+'0' ,yel+'&' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?bitsq equ $
public $maskl ; AND mask
$maskl dw (?maskl-$maskl)/6, 0000
dw yel+03ah,whi+0a9h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'&' ,blu+'0' ,blu+'0' ,yel+'&' ,blu+'0' ,blu+'0'
dw yel+0AEh,blu+'0' ,blu+'0'
?maskl equ $
public $maskr ; AND mask
$maskr dw (?maskr-$maskr)/6, 0000
dw yel+03ah,whi+0aah,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'&' ,blu+'0' ,blu+'0' ,yel+'&' ,blu+'0' ,blu+'0'
dw yel+0AFh,blu+'0' ,blu+'0'
?maskr equ $
public $mask ; AND mask
$mask dw (?mask-$mask)/6, 0000
dw yel+03ah,whi+091h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'&' ,blu+'0' ,blu+'0' ,yel+'&' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
?mask equ $
public $truep ; true if zero
$truep dw (?truep-$truep)/6, 0000
dw rde+004h,whi+022h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
?truep equ $
public $zerop ; true if zero
$zerop dw (?zerop-$zerop)/6, 0000
dw rde+004h,whi+007h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
?zerop equ $
public $minusp ; true if minus
$minusp dw (?minusp-$minusp)/6, 0000
dw rde+004h,whi+0a4h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
?minusp equ $
public $asciz ; asciz readout
$asciz dw (?asciz-$asciz)/6, 0000
dw yel+03ah,whi+086h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+' ' ,yel+' ' ,yel+' '
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+012h,blu+'0' ,blu+'0'
?asciz equ $
public $ascis ; ascis readout
$ascis dw (?ascis-$ascis)/6, 0000
dw yel+03ah,whi+083h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+' ' ,yel+' ' ,yel+' '
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+012h,blu+'0' ,blu+'0'
?ascis equ $
public $ascii ; ascii readout
$ascii dw (?ascii-$ascii)/6, 0000
dw yel+03ah,whi+0a0h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+' ' ,yel+' ' ,yel+' '
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?ascii equ $
public $decin ; deciaml readout
$decin dw (?decin-$decin)/6, 0000
dw yel+03ah,whi+001h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'0' ,yel+'0' ,yel+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?decin equ $
public $decim ; deciaml readout
$decim dw (?decim-$decim)/6, 0000
dw yel+03ah,whi+'.' ,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+'0' ,yel+'0' ,yel+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?decim equ $
public $noter ; deciaml readout
$noter dw (?noter-$noter)/6, 0000
dw yel+03ah,whi+0d5h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+'0' ,yel+'0' ,yel+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?noter equ $
public $negate ; negate
$negate dw (?negate-$negate)/6, 0000
dw yel+03ah,whi+0A5h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
?negate equ $
public $value ; numerical value
$value dw (?value-$value)/6, 0000
dw yel+03ah,whi+023h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0' ,yel+01ah,blu+'0' ,blu+'0'
?value equ $
public $pusha ; on/off pushbutton
$pusha dw (?pusha-$pusha)/6, 0000
dw rde+004h,whi+0e3h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+009h,mag+0b0h,mag+0b0h
?pusha equ $
public $pushb ; oneshot pushbutton
$pushb dw (?pushb-$pushb)/6, 0000
dw rde+004h,whi+009h,whi+'0' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0' ,yel+009h,mag+0b0h,mag+0b0h
?pushb equ $
public $pushc ; inc/dec pushbutton
$pushc dw (?pushc-$pushc)/6, 0000
dw yel+03ah,whi+012h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'#' ,mag+'0' ,mag+'0'
dw yel+009h,mag+01eh,mag+01fh
?pushc equ $
public $ltimer ; loop timer
$ltimer dw (?ltimer-$ltimer)/6, 0000
dw rde+004h,whi+0d9h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+'h' ,blu+'0' ,blu+'0'
?ltimer equ $
public $ctimer ; clock timer
$ctimer dw (?ctimer-$ctimer)/6, 0000
dw rde+004h,whi+0beh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+'h' ,blu+'0' ,blu+'0'
?ctimer equ $
public $atimer ; abs timer
$atimer dw (?atimer-$atimer)/6, 0000
dw rde+004h,whi+0bch,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+'h' ,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
?atimer equ $
public $stimer ; sec timer
$stimer dw (?stimer-$stimer)/6, 0000
dw rde+004h,whi+0bdh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+03dh,cyn+'0' ,cyn+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'d' ,blu+'0' ,blu+'0'
dw yel+'h' ,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
?stimer equ $
public $slew ; slew value over time
$slew dw (?slew-$slew )/6, 0000
dw yel+03ah,whi+0e5h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'r' ,blu+'0' ,blu+'0'
?slew equ $
public $xslew ; xslew value over time
$xslew dw (?xslew-$xslew )/6, 0000
dw yel+03ah,whi+0ebh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'a' ,blu+'0' ,blu+'0'
dw yel+'b' ,blu+'0' ,blu+'0'
dw yel+'t' ,blu+'0' ,blu+'0'
?xslew equ $
public $mapo ; midi control mapping
$mapo dw (?mapo-$mapo)/6, 0000
dw yel+03ah,whi+094h,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'V' ,mag+'0' ,mag+'0'
dw yel+'M' ,mag+'0' ,mag+'0'
dw yel+'A' ,mag+'0' ,mag+'0'
dw yel+'B' ,mag+'0' ,mag+'0'
dw yel+'C' ,mag+'0' ,mag+'0'
dw yel+'D' ,mag+'0' ,mag+'0'
dw yel+'1' ,mag+'0' ,mag+'0'
dw yel+'2' ,mag+'0' ,mag+'0'
?mapo equ $
public $mapp ; midi control mapping
$mapp dw (?mapp-$mapp)/6, 0000
dw yel+03ah,whi+081h,whi+'$'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'V' ,mag+'0' ,mag+'0'
dw yel+'M' ,mag+'0' ,mag+'0'
dw yel+'A' ,mag+'0' ,mag+'0'
dw yel+'B' ,mag+'0' ,mag+'0'
dw yel+'C' ,mag+'0' ,mag+'0'
dw yel+'D' ,mag+'0' ,mag+'0'
dw yel+'1' ,mag+'0' ,mag+'0'
dw yel+'2' ,mag+'0' ,mag+'0'
?mapp equ $
public $sxget ; midi sys excl get
$sxget dw (?sxget-$sxget)/6, 0000
dw yel+03ah,whi+010h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
?sxget equ $
public $sxput ; midi sys excl send
$sxput dw (?sxput-$sxput)/6, 0000
dw yel+03ah,whi+011h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,blu+'0' ,blu+'0'
dw yel+014h,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
?sxput equ $
public $addswa ; prog switch out
$addswa dw (?addswa-$addswa)/6, 0000
dw yel+03ah,whi+0f0h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+0f0h,blu+'0' ,blu+'0'
dw yel+'0' ,blu+'0' ,blu+'0'
dw yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0'
dw yel+'3' ,blu+'0' ,blu+'0'
dw yel+'4' ,blu+'0' ,blu+'0'
dw yel+'5' ,blu+'0' ,blu+'0'
dw yel+'6' ,blu+'0' ,blu+'0'
dw yel+'7' ,blu+'0' ,blu+'0'
?addswa equ $
public $psouta ; prog switch out
$psouta dw (?psouta-$psouta)/6, 0000
dw yel+03ah,whi+'a' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+0a9h,blu+'0' ,blu+'0'
?psouta equ $
public $psoutb ; prog switch out
$psoutb dw (?psoutb-$psoutb)/6, 0000
dw yel+03ah,whi+'b' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+0aah,blu+'0' ,blu+'0'
?psoutb equ $
public $psoutc ; prog switch out
$psoutc dw (?psoutc-$psoutc)/6, 0000
dw yel+03ah,whi+'c' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+0a9h,blu+'0' ,blu+'0'
?psoutc equ $
public $psoutd ; prog switch out
$psoutd dw (?psoutd-$psoutd)/6, 0000
dw yel+03ah,whi+'d' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+0aah,blu+'0' ,blu+'0'
?psoutd equ $
public $psoute ; prog switch out
$psoute dw (?psoute-$psoute)/6, 0000
dw yel+03ah,whi+'e' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+0a9h,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
?psoute equ $
public $psoutf ; prog switch out
$psoutf dw (?psoutf-$psoutf)/6, 0000
dw yel+03ah,whi+'f' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+'+' ,blu+'0' ,blu+'0'
dw yel+0a9h,blu+'0' ,blu+'0'
dw yel+0afh,blu+'0' ,blu+'0'
?psoutf equ $
public $pcouta ; prog control out
$pcouta dw (?pcouta-$pcouta)/6, 0000
dw mag+0f9h,whi+'A' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcouta equ $
public $pcoutb ; prog control out
$pcoutb dw (?pcoutb-$pcoutb)/6, 0000
dw mag+0f9h,whi+'B' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutb equ $
public $pcoutc ; prog control out
$pcoutc dw (?pcoutc-$pcoutc)/6, 0000
dw mag+0f9h,whi+'C' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutc equ $
public $pcoutd ; prog control out
$pcoutd dw (?pcoutd-$pcoutd)/6, 0000
dw mag+0f9h,whi+'D' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutd equ $
public $pcoute ; prog control out
$pcoute dw (?pcoute-$pcoute)/6, 0000
dw mag+0f9h,whi+'E' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoute equ $
public $pcoutf ; prog control out
$pcoutf dw (?pcoutf-$pcoutf)/6, 0000
dw mag+0f9h,whi+'F' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutf equ $
public $pcoutg ; prog control out
$pcoutg dw (?pcoutg-$pcoutg)/6, 0000
dw mag+0f9h,whi+'G' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutg equ $
public $pcouth ; prog control out
$pcouth dw (?pcouth-$pcouth)/6, 0000
dw mag+0f9h,whi+'H' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcouth equ $
public $pcoutx ; prog control out
$pcoutx dw (?pcoutx-$pcoutx)/6, 0000
dw mag+0f9h,whi+'X' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutx equ $
public $pcouty ; prog control out
$pcouty dw (?pcouty-$pcouty)/6, 0000
dw mag+0f9h,whi+'Y' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcouty equ $
public $pcoutz ; prog control out
$pcoutz dw (?pcoutz-$pcoutz)/6, 0000
dw mag+0f9h,whi+'Z' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
?pcoutz equ $
public $progo ; midi program change
$progo dw (?progo-$progo)/6, 0000
dw yel+03ah,whi+0eah,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'@' ,mag+'0' ,mag+'0'
dw yel+088h,mag+'0' ,mag+'0'
dw yel+'U' ,mag+'#' ,mag+'#'
dw yel+013h,mag+'#' ,mag+'#'
dw yel+'R' ,mag+'#' ,mag+'#'
dw yel+'S' ,mag+'#' ,mag+'#'
dw yel+'|' ,mag+'0' ,mag+'0'
dw yel+'X' ,mag+'0' ,mag+'0'
dw yel+'Y' ,mag+'0' ,mag+'0'
dw yel+'Z' ,mag+'0' ,mag+'0'
dw yel+'A' ,mag+'0' ,mag+'0'
dw yel+'B' ,mag+'0' ,mag+'0'
dw yel+'C' ,mag+'0' ,mag+'0'
dw yel+'D' ,mag+'0' ,mag+'0'
dw yel+'E' ,mag+'0' ,mag+'0'
dw yel+'e' ,mag+'0' ,mag+'0'
dw yel+'F' ,mag+'0' ,mag+'0'
dw yel+'f' ,mag+'0' ,mag+'0'
dw yel+'G' ,mag+'0' ,mag+'0'
dw yel+'g' ,mag+'0' ,mag+'0'
dw yel+'H' ,mag+'0' ,mag+'0'
dw yel+'h' ,mag+'0' ,mag+'0'
?progo equ $
public $noteo ; midi note output
$noteo dw (?noteo-$noteo)/6, 0000
dw rde+007h,whi+'1' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'c', blu+'0' ,blu+'0'
dw yel+0e8h,blu+'0' ,blu+'0'
dw yel+'&', blu+'F' ,blu+'F'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'v', blu+'0' ,blu+'0'
dw yel+'r', blu+'0' ,blu+'0'
dw yel+'A', blu+'0' ,blu+'0' ,yel+'a', blu+'0' ,blu+'0'
dw yel+'B', blu+'0' ,blu+'0' ,yel+'b', blu+'0' ,blu+'0'
dw yel+'C', blu+'0' ,blu+'0' ,yel+'c', blu+'0' ,blu+'0'
dw yel+'D', blu+'0' ,blu+'0' ,yel+'d', blu+'0' ,blu+'0'
?noteo equ $
public $noteo1 ; midi note output
$noteo1 dw (?noteo1-$noteo1)/6, 0000
dw rde+007h,whi+'2' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'c', blu+'0' ,blu+'0'
dw yel+0e8h,blu+'0' ,blu+'0'
dw yel+'&', blu+'F' ,blu+'F'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'v', blu+'0' ,blu+'0'
dw yel+'r', blu+'0' ,blu+'0'
dw yel+'A', blu+'0' ,blu+'0' ,yel+'a', blu+'0' ,blu+'0'
dw yel+'B', blu+'0' ,blu+'0' ,yel+'b', blu+'0' ,blu+'0'
dw yel+'C', blu+'0' ,blu+'0' ,yel+'c', blu+'0' ,blu+'0'
dw yel+'D', blu+'0' ,blu+'0' ,yel+'d', blu+'0' ,blu+'0'
?noteo1 equ $
public $noteo2 ; midi note output
$noteo2 dw (?noteo2-$noteo2)/6, 0000
dw rde+007h,whi+'3' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'c', blu+'0' ,blu+'0'
dw yel+0e8h,blu+'0' ,blu+'0'
dw yel+'&', blu+'F' ,blu+'F'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'v', blu+'0' ,blu+'0'
dw yel+'r', blu+'0' ,blu+'0'
dw yel+'A', blu+'0' ,blu+'0' ,yel+'a', blu+'0' ,blu+'0'
dw yel+'B', blu+'0' ,blu+'0' ,yel+'b', blu+'0' ,blu+'0'
dw yel+'C', blu+'0' ,blu+'0' ,yel+'c', blu+'0' ,blu+'0'
dw yel+'D', blu+'0' ,blu+'0' ,yel+'d', blu+'0' ,blu+'0'
?noteo2 equ $
public $noteo3 ; midi note output
$noteo3 dw (?noteo3-$noteo3)/6, 0000
dw rde+007h,whi+'4' ,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'c', blu+'0' ,blu+'0'
dw yel+0e8h,blu+'0' ,blu+'0'
dw yel+'&', blu+'F' ,blu+'F'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'t', blu+'0' ,blu+'0'
dw yel+'v', blu+'0' ,blu+'0'
dw yel+'r', blu+'0' ,blu+'0'
dw yel+'A', blu+'0' ,blu+'0' ,yel+'a', blu+'0' ,blu+'0'
dw yel+'B', blu+'0' ,blu+'0' ,yel+'b', blu+'0' ,blu+'0'
dw yel+'C', blu+'0' ,blu+'0' ,yel+'c', blu+'0' ,blu+'0'
dw yel+'D', blu+'0' ,blu+'0' ,yel+'d', blu+'0' ,blu+'0'
?noteo3 equ $
public $chano ; midi channel output
$chano dw (?chano-$chano)/6, 0000
dw rde+007h,whi+09ah,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'c', blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'1'
dw yel+09eh,blu+'0' ,blu+'0'
dw yel+'a', blu+'0' ,blu+'0'
dw yel+'b', blu+'8' ,blu+'0'
dw yel+'V', blu+'7' ,blu+'F'
dw yel+'M', blu+'0' ,blu+'0'
dw yel+'A', blu+'0' ,blu+'0'
dw yel+'B', blu+'0' ,blu+'0'
dw yel+'C', blu+'0' ,blu+'0'
dw yel+'D', blu+'0' ,blu+'0'
dw yel+'1', blu+'0' ,blu+'0'
dw yel+'2', blu+'0' ,blu+'0'
?chano equ $
public $chanl ; midi channel output
$chanl dw (?chanl-$chanl)/6, 0000
dw rde+007h,whi+099h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'c', blu+'0' ,blu+'0'
dw yel+0fbh,blu+'0' ,blu+'1'
dw yel+09eh,blu+'0' ,blu+'0'
dw yel+'a', blu+'0' ,blu+'0'
dw yel+'b', blu+'8' ,blu+'0'
dw yel+'V', blu+'7' ,blu+'F'
dw yel+'M', blu+'0' ,blu+'0'
dw yel+'A', blu+'0' ,blu+'0'
dw yel+'B', blu+'0' ,blu+'0'
dw yel+'C', blu+'0' ,blu+'0'
dw yel+'D', blu+'0' ,blu+'0'
dw yel+'1', blu+'0' ,blu+'0'
dw yel+'2', blu+'0' ,blu+'0'
?chanl equ $
public $sysxo ; midi sysex output
$sysxo dw (?sysxo-$sysxo)/6, 0000
dw yel+03ah,whi+014h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'1' ,blu+'0' ,blu+'0'
dw yel+'2' ,blu+'0' ,blu+'0'
dw yel+'3' ,blu+'0' ,blu+'0'
dw yel+'4' ,blu+'0' ,blu+'0'
dw yel+'5' ,blu+'0' ,blu+'0'
dw yel+'6' ,blu+'0' ,blu+'0'
dw yel+'7' ,blu+'0' ,blu+'0'
dw yel+'8' ,blu+'0' ,blu+'0'
?sysxo equ $
public $ctrlo ; midi ctrl output
$ctrlo dw (?ctrlo-$ctrlo)/6, 0000
dw yel+03ah,whi+098h,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+'#' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?ctrlo equ $
public $patcho ; midi program change
$patcho dw (?patcho-$patcho)/6, 0000
dw yel+03ah,whi+09eh,whi+'0'
dw yel+0f9h,gry+'0' ,gry+'0'
dw yel+01bh,cyn+'0' ,cyn+'0'
dw yel+'c' ,blu+'0' ,blu+'0'
dw yel+0aah,blu+'0' ,blu+'0'
dw yel+'!' ,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?patcho equ $
public $bopo ; pc timer note output
$bopo dw (?bopo-$bopo)/6, 0000
dw yel+':' ,whi+00fh,whi+'$' ,yel+0f9h,gry+'0' ,gry+'0'
dw yel+003h,blu+'0' ,blu+'0'
dw yel+01ah,blu+'0' ,blu+'0'
?bopo equ $
public ?modtxt
;--------------------------------------------------------------
; end of module text
dw -1
?modtxt equ $
;--------------------------------------------------------------
; this last+1 module text is a buffer used to move a copy
; of an existing module. It must be 25 lines to accommodate
; the maximum size module.
;
public $dummy ; 25 line dummy for module text buffer
$dummy dw (?dummy-$dummy)/6,8
dw 75 dup(?)
?dummy equ $
;--------------------------------------------------------------
; this last+2 is the menu text -- it only looks like a module
;
public $menu ; page #'s and menu
$menu dw (?menu-$menu)/6,0H
dw blu+010h,yel+020h,yel+'0'
dw blu+010h,yel+020h,yel+'1'
dw blu+010h,yel+020h,yel+'2'
dw blu+010h,yel+020h,yel+'3'
dw blu+010h,yel+020h,yel+034h
dw blu+010h,yel+020h,yel+035h
dw blu+010h,yel+020h,yel+036h
dw blu+010h,yel+020h,yel+037h
dw grn+'E',grn+'S',grn+'C' ; ESC
dw rde+'D',rde+'E',rde+'L' ; DEL
dw yel+'S',yel+'E',yel+'T' ; SET
dw cyn+'H',cyn+'L',cyn+'T' ; HLT
dw grn+'O',grn+'F',grn+'F' ; OFF
dw gry+'0',gry+'0',gry+'0' ; 000
dw gry+'0',gry+'0',gry+'0' ; 000
dw blu+'0',blu+'0',blu+'0' ; 000
dw blu+'0',blu+'0',blu+'0' ; 000
dw yel+'0',blu+':',yel+'1' ; 0:1
dw yel+'2',blu+':',yel+'3' ; 2:3
dw yel+'4',blu+':',yel+'5' ; 4:5
dw yel+'6',blu+':',yel+'7' ; 6:7
dw yel+'8',blu+':',yel+'9' ; 8:9
dw yel+'A',blu+':',yel+'B' ; A:B
dw yel+'C',blu+':',yel+'D' ; C:D
dw yel+'E',blu+':',yel+'F' ; E:F
?menu equ $
;--------------------------------------------------------------
; The following table includes an entery for each defined
; module. The format is:
; word0: module execution address
; word1: module text address
; word2: variables space (words) for each active module
; word3: address of variable list for module 0
; |
; word18: address of variable list for module 15
; -- set to -1 if it's a system module
; word19: bits set if a module has been deleted, used to reincarnate
; word20: execution address for magenta user input (optional)
;
even
public _modsrc
_modsrc equ $
public @dummy
@dummy equ $
@beta dw offset _text:_beta, offset dgroup:$beta
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@secs dw offset _text:_secs, offset dgroup:$secs
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@lambda dw offset _text:_lambda, offset dgroup:$lambda
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@muclk dw offset _text:_muclk, offset dgroup:$muclk
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@gamma dw offset _text:_gamma, offset dgroup:$gamma
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mclock dw offset _text:_mclock, offset dgroup:$mclock
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mclk dw offset _text:_mclk, offset dgroup:$mclk
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@clock dw offset _text:_clock, offset dgroup:$clock
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@klock dw offset _text:_klock, offset dgroup:$klock
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@alpha dw offset _text:_alpha, offset dgroup:$alpha
dw 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
@xkbd dw offset _text:_xkbd , offset dgroup:$xkbd
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
@tstmob dw offset _text:_tstmob, offset dgroup:$tstmob
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
@mpuins dw offset _text:_mpuins, offset dgroup:$mpuins
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
@xmidii dw offset _text:_xmidii, offset dgroup:$xmidii
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@domute dw offset _text:_domute, offset dgroup:$domute
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ltimer dw offset _text:_ltimer, offset dgroup:$ltimer
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ctimer dw offset _text:_ctimer, offset dgroup:$ctimer
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@atimer dw offset _text:_atimer, offset dgroup:$atimer
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@stimer dw offset _text:_stimer, offset dgroup:$stimer
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@wseq dw offset _text:_wseq, offset dgroup:$wseq
dw 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@xseq dw offset _text:_xseq, offset dgroup:$xseq
dw 09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@yseq dw offset _text:_yseq, offset dgroup:$yseq
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@zseq dw offset _text:_zseq, offset dgroup:$zseq
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@useq dw offset _text:_useq, offset dgroup:$useq
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@vseq dw offset _text:_vseq, offset dgroup:$vseq
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@euseq dw offset _text:_euseq, offset dgroup:$euseq
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:ueuseq
@puseq dw offset _text:_puseq, offset dgroup:$puseq
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@quseq dw offset _text:_quseq, offset dgroup:$quseq
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ruseq dw offset _text:_ruseq, offset dgroup:$ruseq
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@suseq dw offset _text:_suseq, offset dgroup:$suseq
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@tuseq dw offset _text:_tuseq, offset dgroup:$tuseq
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@pseq dw offset _text:_pseq, offset dgroup:$pseq
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upseq
@qseq dw offset _text:_qseq, offset dgroup:$qseq
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:uqseq
@rseq dw offset _text:_rseq, offset dgroup:$rseq
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:uqseq
@sseq dw offset _text:_sseq, offset dgroup:$sseq
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:uqseq
@tseq dw offset _text:_tseq, offset dgroup:$tseq
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:uqseq
@gatel dw offset _text:_gatel, offset dgroup:$gatel
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@gout dw offset _text:_gout, offset dgroup:$gout
dw 09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@iclock dw offset _text:_iclock, offset dgroup:$iclock
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@kclock dw offset _text:_kclock, offset dgroup:$kclock
dw 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ocount dw offset _text:_ocount, offset dgroup:$ocount
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@icount dw offset _text:_icount, offset dgroup:$icount
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@jcount dw offset _text:_jcount, offset dgroup:$jcount
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@kcount dw offset _text:_kcount, offset dgroup:$kcount
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@lcount dw offset _text:_lcount, offset dgroup:$lcount
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mcount dw offset _text:_mcount, offset dgroup:$mcount
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ncount dw offset _text:_ncount, offset dgroup:$ncount
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@variy dw offset _text:_variy, offset dgroup:$variy
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@variz dw offset _text:_variz, offset dgroup:$variz
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@variv dw offset _text:_variv, offset dgroup:$variv
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@varix dw offset _text:_varix, offset dgroup:$varix
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@trand dw offset _text:_trand, offset dgroup:$trand
dw 09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@nrand dw offset _text:_nrand, offset dgroup:$nrand
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@randp dw offset _text:_randp, offset dgroup:$randp
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@rrand dw offset _text:_rrand, offset dgroup:$rrand
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@twopwr dw offset _text:_twopwr, offset dgroup:$twopwr
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@rand dw offset _text:_rand, offset dgroup:$rand
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@andl dw offset _text:_andl, offset dgroup:$andl
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@orl dw offset _text:_orl, offset dgroup:$orl
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@notl dw offset _text:_notl, offset dgroup:$notl
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@delay dw offset _text:_delay, offset dgroup:$delay
dw 131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@slope dw offset _text:_slope, offset dgroup:$slope
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@sandh dw offset _text:_sandh, offset dgroup:$sandh
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@value dw offset _text:_value, offset dgroup:$value
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@scale dw offset _text:_scale, offset dgroup:$scale
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@sumit dw offset _text:_sumit, offset dgroup:$sumit
dw 07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mixit dw offset _text:_mixit, offset dgroup:$mixit
dw 07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@limit dw offset _text:_limit, offset dgroup:$limit
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@apprx dw offset _text:_apprx, offset dgroup:$apprx
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@delta dw offset _text:_delta, offset dgroup:$delta
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@cmak dw offset _text:_cmak, offset dgroup:$cmak
dw 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@cgen dw offset _text:_cgen, offset dgroup:$cgen
dw 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@cplay dw offset _text:_cplay, offset dgroup:$cplay
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@cplai dw offset _text:_cplai, offset dgroup:$cplai
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@cstor dw offset _text:_cstor, offset dgroup:$cstor
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@sort dw offset _text:_sort, offset dgroup:$sort
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@bassd dw offset _text:_bassd, offset dgroup:$bassd
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@deltat dw offset _text:_deltat, offset dgroup:$deltat
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mul12 dw offset _text:_mul12, offset dgroup:$mul12
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@div12 dw offset _text:_div12, offset dgroup:$div12
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mod12 dw offset _text:_mod12, offset dgroup:$mod12
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@fold dw offset _text:_fold, offset dgroup:$fold
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@dither dw offset _text:_dither, offset dgroup:$dither
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@dithzr dw offset _text:_dithzr, offset dgroup:$dithzr
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ddithr dw offset _text:_ddithr, offset dgroup:$ddithr
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@odds dw offset _text:_odds, offset dgroup:$odds
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@oddz dw offset _text:_oddz, offset dgroup:$oddz
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ratio dw offset _text:_ratio, offset dgroup:$ratio
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ratiz dw offset _text:_ratiz, offset dgroup:$ratiz
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@filter dw offset _text:_filter, offset dgroup:$filter
dw 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@fflop dw offset _text:_fflop, offset dgroup:$fflop
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@union dw offset _text:_union, offset dgroup:$union
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@rangep dw offset _text:_rangep, offset dgroup:$rangep
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@quant dw offset _text:_quant, offset dgroup:$quant
dw 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@lastv dw offset _text:_lastv, offset dgroup:$lastv
dw 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@xcall dw offset _text:_xcall, offset dgroup:$xcall
dw 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@rcall dw offset _text:_rcall, offset dgroup:$rcall
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@poke dw offset _text:_poke, offset dgroup:$poke
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@peek dw offset _text:_peek, offset dgroup:$peek
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@outpb dw offset _text:_outpb, offset dgroup:$outpb
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@inptb dw offset _text:_inptb, offset dgroup:$inptb
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@imeter dw offset _text:_imeter, offset dgroup:$imeter
dw 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@emeter dw offset _text:_emeter, offset dgroup:$emeter
dw 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@higher dw offset _text:_higher, offset dgroup:$higher
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@lower dw offset _text:_lower, offset dgroup:$lower
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@rshift dw offset _text:_rshift, offset dgroup:$rshift
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@lshift dw offset _text:_lshift, offset dgroup:$lshift
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@modulo dw offset _text:_modulo, offset dgroup:$modulo
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@times dw offset _text:_times, offset dgroup:$times
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@plus dw offset _text:_plus, offset dgroup:$plus
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@plusm dw offset _text:_plusm, offset dgroup:$plusm
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@plusn dw offset _text:_plusn, offset dgroup:$plusn
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@maxf dw offset _text:_maxf, offset dgroup:$maxf
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@minf dw offset _text:_minf, offset dgroup:$minf
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@passt dw offset _text:_passt, offset dgroup:$passt
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@passq dw offset _text:_passq, offset dgroup:$passq
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@equal dw offset _text:_equal, offset dgroup:$equal
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@nequal dw offset _text:_nequal, offset dgroup:$nequal
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@great dw offset _text:_great, offset dgroup:$great
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@lessp dw offset _text:_lessp, offset dgroup:$lessp
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@bitsp dw offset _text:_bitsp, offset dgroup:$bitsp
dw 02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@bitsq dw offset _text:_bitsq, offset dgroup:$bitsq
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@maskl dw offset _text:_maskl, offset dgroup:$maskl
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@maskr dw offset _text:_maskr, offset dgroup:$maskr
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@mask dw offset _text:_mask, offset dgroup:$mask
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@truep dw offset _text:_truep, offset dgroup:$truep
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@zerop dw offset _text:_zerop, offset dgroup:$zerop
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@minusp dw offset _text:_minusp, offset dgroup:$minusp
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@negate dw offset _text:_negate, offset dgroup:$negate
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@change dw offset _text:_change, offset dgroup:$change
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ascii dw offset _text:_ascii, offset dgroup:$ascii
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@asciz dw offset _text:_asciz, offset dgroup:$asciz
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ascis dw offset _text:_ascis, offset dgroup:$ascis
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@decin dw offset _text:_decin, offset dgroup:$decin
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@decim dw offset _text:_decim, offset dgroup:$decim
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@noter dw offset _text:_noter, offset dgroup:$noter
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@sxput dw offset _text:_sxput, offset dgroup:$sxput
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@sxget dw offset _text:_sxget, offset dgroup:$sxget
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@slew dw offset _text:_slew, offset dgroup:$slew
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@xslew dw offset _text:_xslew, offset dgroup:$xslew
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@stopo dw offset _text:_stopo, offset dgroup:$stopo
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
@mapo dw offset _text:_mapo, offset dgroup:$mapo
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
dw offset _text:umapo
@mapp dw offset _text:_mapp, offset dgroup:$mapp
dw 08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
dw offset _text:umapp
@noteo dw offset _text:_noteo, offset dgroup:$noteo
dw 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@noteo1 dw offset _text:_noteo1, offset dgroup:$noteo1
dw 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@noteo2 dw offset _text:_noteo2, offset dgroup:$noteo2
dw 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@noteo3 dw offset _text:_noteo3, offset dgroup:$noteo3
dw 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@chano dw offset _text:_chano, offset dgroup:$chano
dw 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@chanl dw offset _text:_chanl, offset dgroup:$chanl
dw 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@progo dw offset _text:_progo, offset dgroup:$progo
dw 52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:uprogo
@sysxo dw offset _text:_sysxo, offset dgroup:$sysxo
dw 09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ctrlo dw offset _text:_ctrlo, offset dgroup:$ctrlo
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@patcho dw offset _text:_patcho, offset dgroup:$patcho
dw 04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@bopo dw offset _text:_bopo, offset dgroup:$bopo
dw 03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0
@pusha dw offset _text:_pusha, offset dgroup:$pusha
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upusha
@pushb dw offset _text:_pushb, offset dgroup:$pushb
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upushb
@pushc dw offset _text:_pushc, offset dgroup:$pushc
dw 01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upushc
@addswa dw offset _text:_addswa, offset dgroup:$addswa
dw 09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@psouta dw offset _text:_psouta, offset dgroup:$psouta
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@psoutb dw offset _text:_psoutb, offset dgroup:$psoutb
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@psoutc dw offset _text:_psoutc, offset dgroup:$psoutc
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@psoutd dw offset _text:_psoutd, offset dgroup:$psoutd
dw 05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@psoute dw offset _text:_psoute, offset dgroup:$psoute
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@psoutf dw offset _text:_psoutf, offset dgroup:$psoutf
dw 06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@pcouta dw offset _text:_pcouta, offset dgroup:$pcouta
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutb dw offset _text:_pcoutb, offset dgroup:$pcoutb
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutc dw offset _text:_pcoutc, offset dgroup:$pcoutc
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutd dw offset _text:_pcoutd, offset dgroup:$pcoutd
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoute dw offset _text:_pcoute, offset dgroup:$pcoute
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutf dw offset _text:_pcoutf, offset dgroup:$pcoutf
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutg dw offset _text:_pcoutg, offset dgroup:$pcoutg
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcouth dw offset _text:_pcouth, offset dgroup:$pcouth
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutx dw offset _text:_pcoutx, offset dgroup:$pcoutx
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcouty dw offset _text:_pcouty, offset dgroup:$pcouty
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
@pcoutz dw offset _text:_pcoutz, offset dgroup:$pcoutz
dw 00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw offset _text:upcout
;--------------------------------------------------------------
; the following is a 256 word address table, one address,
; in order, for each character in the ibm-pc character set
; these addresses point to the MODSRC table, which includes
; an entery for each module, plus a dummy for all the unused
; characters. The purpose of this table is to allow identification
; of the module code and data, given only the module name character.
;
even
public _chrtbl
_chrtbl equ $
dw offset dgroup:@dummy, offset dgroup:@decin
dw offset dgroup:@dummy, offset dgroup:@iclock ; 00 - 03
dw offset dgroup:@ddithr, offset dgroup:@dithzr
dw offset dgroup:@dither, offset dgroup:@zerop ; 04 - 07
dw offset dgroup:@dummy, offset dgroup:@pushb
dw offset dgroup:@dummy, offset dgroup:@change ; 08 - 0B
dw offset dgroup:@lastv, offset dgroup:@clock
dw offset dgroup:@klock, offset dgroup:@bopo ; 0C - 0F
dw offset dgroup:@sxget, offset dgroup:@sxput
dw offset dgroup:@pushc, offset dgroup:@cmak ; 10 - 13
dw offset dgroup:@sysxo, offset dgroup:@sandh
dw offset dgroup:@dummy, offset dgroup:@limit ; 14 - 17
dw offset dgroup:@maxf, offset dgroup:@minf
dw offset dgroup:@xmidii, offset dgroup:@dummy ; 18 - 1B
dw offset dgroup:@dummy, offset dgroup:@sort
dw offset dgroup:@higher, offset dgroup:@lower ; 1C - 1F
dw offset dgroup:@dummy, offset dgroup:@cgen
dw offset dgroup:@truep, offset dgroup:@value ; 20 - 23
dw offset dgroup:@dummy, offset dgroup:@scale
dw offset dgroup:@andl, offset dgroup:@dummy ; 24 - 27
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@times, offset dgroup:@plus ; 28 - 2B
dw offset dgroup:@dummy, offset dgroup:@plusn
dw offset dgroup:@decim, offset dgroup:@modulo ; 2C - 2F
dw offset dgroup:@dummy, offset dgroup:@noteo
dw offset dgroup:@noteo1, offset dgroup:@noteo2 ; 30 - 33
dw offset dgroup:@noteo3, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@dummy ; 34 - 37
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@bassd, offset dgroup:@gatel ; 38 - 3B
dw offset dgroup:@lessp, offset dgroup:@equal
dw offset dgroup:@great, offset dgroup:@rand ; 3C - 3F
dw offset dgroup:@cstor, offset dgroup:@pcouta
dw offset dgroup:@pcoutb, offset dgroup:@pcoutc ; 40 - 43
dw offset dgroup:@pcoutd, offset dgroup:@pcoute
dw offset dgroup:@pcoutf, offset dgroup:@pcoutg ; 44 - 47
dw offset dgroup:@pcouth, offset dgroup:@icount
dw offset dgroup:@jcount, offset dgroup:@kcount ; 48 - 4B
dw offset dgroup:@lcount, offset dgroup:@mcount
dw offset dgroup:@ncount, offset dgroup:@ocount ; 4C - 4F
dw offset dgroup:@puseq, offset dgroup:@quseq
dw offset dgroup:@ruseq, offset dgroup:@suseq ; 50 - 53
dw offset dgroup:@tuseq, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@dummy ; 54 - 57
dw offset dgroup:@pcoutx, offset dgroup:@pcouty
dw offset dgroup:@pcoutz, offset dgroup:@dummy ; 58 - 5B
dw offset dgroup:@slope, offset dgroup:@dummy
dw offset dgroup:@twopwr, offset dgroup:@dummy ; 5C - 5F
dw offset dgroup:@dummy, offset dgroup:@psouta
dw offset dgroup:@psoutb, offset dgroup:@psoutc ; 60 - 63
dw offset dgroup:@psoutd, offset dgroup:@psoute
dw offset dgroup:@psoutf, offset dgroup:@dummy ; 64 - 67
dw offset dgroup:@dummy, offset dgroup:@variz
dw offset dgroup:@variy, offset dgroup:@variv ; 68 - 6B
dw offset dgroup:@varix, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@dummy ; 6C - 6F
dw offset dgroup:@pseq, offset dgroup:@qseq
dw offset dgroup:@rseq, offset dgroup:@sseq ; 70 - 73
dw offset dgroup:@tseq, offset dgroup:@useq
dw offset dgroup:@vseq, offset dgroup:@wseq ; 74 - 77
dw offset dgroup:@xseq, offset dgroup:@yseq
dw offset dgroup:@zseq, offset dgroup:@poke ; 78 - 7B
dw offset dgroup:@orl, offset dgroup:@peek
dw offset dgroup:@dummy, offset dgroup:@delta ; 7C - 7F
dw offset dgroup:@cplay, offset dgroup:@mapp
dw offset dgroup:@dummy, offset dgroup:@ascis ; 80 - 83
dw offset dgroup:@oddz, offset dgroup:@dummy
dw offset dgroup:@asciz, offset dgroup:@cplai ; 84 - 87
dw offset dgroup:@rcall, offset dgroup:@dummy
dw offset dgroup:@xcall, offset dgroup:@dummy ; 88 - 8B
dw offset dgroup:@dummy, offset dgroup:@inptb
dw offset dgroup:@ratiz, offset dgroup:@ratio ; 8C - 8F
dw offset dgroup:@euseq, offset dgroup:@mask
dw offset dgroup:@secs, offset dgroup:@dummy ; 90 - 93
dw offset dgroup:@mapo, offset dgroup:@outpb
dw offset dgroup:@emeter, offset dgroup:@imeter ; 94 - 97
dw offset dgroup:@ctrlo, offset dgroup:@chanl
dw offset dgroup:@chano, offset dgroup:@kclock ; 98 - 9B
dw offset dgroup:@dummy, offset dgroup:@stopo
dw offset dgroup:@patcho, offset dgroup:@filter ; 9C - 9F
dw offset dgroup:@ascii, offset dgroup:@dummy
dw offset dgroup:@mod12, offset dgroup:@dummy ; A0 - A3
dw offset dgroup:@minusp, offset dgroup:@negate
dw offset dgroup:@deltat, offset dgroup:@nequal ; A4 - A7
dw offset dgroup:@rrand, offset dgroup:@maskl
dw offset dgroup:@maskr, offset dgroup:@mpuins ; A8 - AB
dw offset dgroup:@odds, offset dgroup:@randp
dw offset dgroup:@lshift, offset dgroup:@rshift ; AC - AF
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@mclk ; B0 - B3
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@passq ; B4 - B7
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@mclock, offset dgroup:@dummy ; B8 - BB
dw offset dgroup:@atimer, offset dgroup:@stimer
dw offset dgroup:@ctimer, offset dgroup:@dummy ; BC - BF
dw offset dgroup:@dummy, offset dgroup:@nrand
dw offset dgroup:@bitsp, offset dgroup:@dummy ; C0 - C3
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@dummy ; C4 - C7
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@rangep, offset dgroup:@dummy ; C8 - CB
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@dummy ; CC - CF
dw offset dgroup:@delay, offset dgroup:@bitsq
dw offset dgroup:@dummy, offset dgroup:@dummy ; D0 - D3
dw offset dgroup:@dummy, offset dgroup:@noter
dw offset dgroup:@passt, offset dgroup:@dummy ; D4 - D7
dw offset dgroup:@dummy, offset dgroup:@ltimer
dw offset dgroup:@dummy, offset dgroup:@dummy ; D8 - DB
dw offset dgroup:@dummy, offset dgroup:@dummy
dw offset dgroup:@dummy, offset dgroup:@dummy ; DC - DF
dw offset dgroup:@alpha, offset dgroup:@beta
dw offset dgroup:@lambda, offset dgroup:@pusha ; E0 - E3
dw offset dgroup:@sumit, offset dgroup:@slew
dw offset dgroup:@muclk, offset dgroup:@gamma ; E4 - E7
dw offset dgroup:@domute, offset dgroup:@fflop
dw offset dgroup:@progo, offset dgroup:@xslew ; E8 - EB
dw offset dgroup:@trand, offset dgroup:@notl
dw offset dgroup:@mixit, offset dgroup:@union ; EC - EF
dw offset dgroup:@addswa, offset dgroup:@plusm
dw offset dgroup:@dummy, offset dgroup:@dummy ; F0 - F3
dw offset dgroup:@fold, offset dgroup:@dummy
dw offset dgroup:@div12, offset dgroup:@apprx ; F4 - F7
dw offset dgroup:@mul12, offset dgroup:@tstmob
dw offset dgroup:@dummy, offset dgroup:@xkbd ; F8 - FB
dw offset dgroup:@quant, offset dgroup:@dummy
dw offset dgroup:@gout, offset dgroup:@dummy ; FC - FF
;--------------------------------------------------------------
; Module Execution Table
; The following table has space for 1024 modules. As modules
; are made active, they are appended to the end of the table,
; and the address of WORK is appended to the end+1.
; Data format:
; word0: execution address of module
; word1: address of module's variables
; |
; wordn: execution address of last module in list
; wordn+1 address of last module's variables
; wordn+2 execution address of work
;
even
public _exetbl
_exetbl dw work,0
dw 2048 dup(?)
dw work
;--------------------------------------------------------------
; The following table is 256 words, the first=0, the 2nd =1, etc.
; Its purpos in life is to allow variables to be numeric constants.
; That is, variable pointers can point to the address of the number
; to be set to a number, rather than to a module output variable.
;
public @zero
@zero dw 000h,001h,002h,003h,004h,005h,006h,007h
dw 008h,009h,00ah,00bh,00ch,00dh,00eh,00fh
dw 010h,011h,012h,013h,014h,015h,016h,017h
dw 018h,019h,01ah,01bh,01ch,01dh,01eh,01fh
dw 020h,021h,022h,023h,024h,025h,026h,027h
dw 028h,029h,02ah,02bh,02ch,02dh,02eh,02fh
dw 030h,031h,032h,033h,034h,035h,036h,037h
dw 038h,039h,03ah,03bh,03ch,03dh,03eh,03fh
dw 040h,041h,042h,043h,044h,045h,046h,047h
dw 048h,049h,04ah,04bh,04ch,04dh,04eh,04fh
dw 050h,051h,052h,053h,054h,055h,056h,057h
dw 058h,059h,05ah,05bh,05ch,05dh,05eh,05fh
dw 060h,061h,062h,063h,064h,065h,066h,067h
dw 068h,069h,06ah,06bh,06ch,06dh,06eh,06fh
dw 070h,071h,072h,073h,074h,075h,076h,077h
dw 078h,079h,07ah,07bh,07ch,07dh,07eh,07fh
dw 080h,081h,082h,083h,084h,085h,086h,087h
dw 088h,089h,08ah,08bh,08ch,08dh,08eh,08fh
dw 090h,091h,092h,093h,094h,095h,096h,097h
dw 098h,099h,09ah,09bh,09ch,09dh,09eh,09fh
dw 0a0h,0a1h,0a2h,0a3h,0a4h,0a5h,0a6h,0a7h
dw 0a8h,0a9h,0aah,0abh,0ach,0adh,0aeh,0afh
dw 0b0h,0b1h,0b2h,0b3h,0b4h,0b5h,0b6h,0b7h
dw 0b8h,0b9h,0bah,0bbh,0bch,0bdh,0beh,0bfh
dw 0c0h,0c1h,0c2h,0c3h,0c4h,0c5h,0c6h,0c7h
dw 0c8h,0c9h,0cah,0cbh,0cch,0cdh,0ceh,0cfh
dw 0d0h,0d1h,0d2h,0d3h,0d4h,0d5h,0d6h,0d7h
dw 0d8h,0d9h,0dah,0dbh,0dch,0ddh,0deh,0dfh
dw 0e0h,0e1h,0e2h,0e3h,0e4h,0e5h,0e6h,0e7h
dw 0e8h,0e9h,0eah,0ebh,0ech,0edh,0eeh,0efh
dw 0f0h,0f1h,0f2h,0f3h,0f4h,0f5h,0f6h,0f7h
dw 0f8h,0f9h,0fah,0fbh,0fch,0fdh,0feh,0ffh
;--------------------------------------------------------------
; Module Variable Table
; The following table has space for approximately 512 modules.
; As modules are made active, they are appended to the end of the table.
; Data format:
; word0: modsrc addr
; word1: priority
; word2: vpage seg
; word3: vpage addr
; word4: output value
; word5: input #1 pointer (to other output values)
; word6: input #2 pointer
; word7: etc. - one entery for each input
;
even
public vartbl
vartbl db varsiz dup(0)
;--------------------------------------------------------------
; place to put screen 0 data
; must use debug for this, or compile with debug = false to ignore
; to do it, ren mb.exe to mb.foo, then debug mb.foo
; find the data area with: S0 C000 "screen"
; load in the screen: NMB.SCR then L(address)
; write out the file: RCX (give file bytes in original CX)
; NMB.FOO then W
; exit debug and rename MB.FOO to MB.EXE
;
public modscr
even
modscr db "screen"
dw 2048 dup(0103h)
;--------------------------------------------------------------
_DATA ENDS
END