home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
OBJTEST
/
TESTPLAN2.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
5KB
|
171 lines
; ********************************************
; * PIANOSCR.SRC - DISPLAY CONTROLLER
; ********************************************
;------------OBJECT REFERENCES
PIANOSCR EQU 9
;==========================================
; INTERNAL DATA MAINTAINED BY OBJECT:
;
PTR1 EQU $06 ;USED FOR ADDRESSING SCREEN
PTR2 EQU $08
PTR3 EQU $19
PTR4 EQU $1B
;
SCRNLO DFB $00
SCRNHI DFB $00
BYTESAVE DFB $00
CHANNEL DFB $00
NOTENUM DFB $00
COUNTER DFB $00
MARKER DFB $5D
;
;==========================================
; METHODS:
;
; 'I' = INITIALIZE (READ SCREEN TO GET DEFAULT VALUES)
; 'C' <BYTE> = SET CHANNEL FOR MARKER DISPLAY
; 'N' <BYTE> = SET NOTE NUMBER
; 'O' = NOTE ON
; 'F' = NOTE OFF
; 'Z' = REFRESH SCREEN (REMOVE ANY MARKERS)-USE AFTER TRANSPOSE
;
;==========================================
; ********************************************
; * MOCKBRD.SRC - MOCKINGBOARD INTERFACE
; ********************************************
;
;------------OBJECT REFERENCES
MOCKBRD EQU 10
;==========================================
; INTERNAL DATA MAINTAINED BY OBJECT:
;
MSLOT EQU $06 ;WILL POINT TO MKBD SLOT ($C400)
SLOTNUM DFB $04 ;DEFAULT TO SLOT 4
;
SPEAKER DFB $00 ;00=LEFT, 80=RIGHT
;
;==========================================
; METHODS:
;
; 'I' - INITIALIZE MOCKINGBOARD
; 'P' <REG> <DATA> - POKE REGISTER WITH DATA
; 'L' <SLOT#> - CHANGE SLOT OF MOCKINGBOARD
; 'S' <SPKR#> - CHANGE SPEAKER (0=LEFT,1=RIGHT)
;
;==========================================
; ********************************************
; * DRUMMACH.SRC - DRUM MACHINE OBJECT
; ********************************************
;
;------------OBJECT REFERENCES
DRUMMACH EQU 11
MOCKBRD EQU 10 ;<===MOCKINGBOARD
;
;==========================================
; INTERNAL DATA MAINTAINED BY OBJECT:
;
DRUM DFB $01 ; DRUM NUMBER
;
; INSTRUMENT DATA: NOISE PERIOD, COARSE TONE PERIOD
; 0=CYMBAL, 1=HIHAT, 2=SNARE, 3=TOMTOM, 4=BASSDRUM
;
NOISE DFB $01,$01,$04,$10,$1F
COARSE DFB $10,$02,$04,$02,$04
;
DRUMMAP DFB $FF,60,52,44,36
;
INITFLAG DFB 2 ;>0=INITIALIZE MKBD, WILL COUNT DOWN TO ZERO
;
INITMSG ASC 'I'
POKEMSG ASC 'P'
REGISTER DFB $00
DATA DFB $00
SPKRMSG DFB 'S'
SPEAKER DFB $00 ; 0=LEFT 1=RIGHT
;==========================================
; METHODS:
;
; D <DRUM #> = BANG DRUM (0-4)
; N <MIDI NOTE#> = BANG DRUM CORRESPONDING TO MIDI NOTE #
;
;==========================================
; ********************************************
; * MIDIFILT.SRC - MIDI FILTERING SYSTEM
; ********************************************
;
;------------DEPENDENT OBJECTS
MIDIFILT EQU 15 ;
PIANOSCR EQU 09 ;<===DISPLAY MANAGER FOR PIANO SCREEN
DRUMMACH EQU 11 ;<===MOCKINGBOARD DRUM MACHINE
INTRFACE EQU 16 ;<===MIDI INTERFACE CONTROLLER
;
;==========================================
; INTERNAL DATA MAINTAINED BY OBJECT:
;
INBYTE DFB $00 ;BYTE RECEIVED
PHASE DFB $91 ;PHASE FLAG
CURRSTS DFB $90 ;CURRENT STATUS BYTE
;
; PROGRAM CHANGE DATA STORED HERE (START ADRS+8)
;
PROG1 DFB $00,$00,$00,$00,$00,$00,$00,$00
DFB $00,$00,$00,$00,$00,$00,$00,$00
PROG2 DFB $00,$00,$00,$00,$00,$00,$00,$00
DFB $00,$00,$00,$00,$00,$00,$00,$00
VOLUME DFB $40,$40,$40,$40,$40,$40,$40,$40
DFB $40,$40,$40,$40,$40,$40,$40,$40
BRILL DFB $02,$02,$02,$02,$02,$02,$02,$02
DFB $02,$02,$02,$02,$02,$02,$02,$02
;
CHANNEL DFB $00 ;CURRENT CHANNEL
; ;CHANNEL ASSIGNMENT: 1=XMIT 2=DRUM 4=PIANOSCR 8=MKBD
CHNLASG DFB 5,5,5,5,5,5,5,5
DFB 5,6,6,6,6,6,6,6
;
MULTI DFB $01
REVERB DFB $03
EFFECT DFB $04
TRANSP DFB $00 ;TRANSPOSE INTERVAL
KARAOKE DFB $00 ;00=OFF 01=IGNORE NOTE-ON'S WITH VEL=$41
PIANO DFB $00 ; PIANO SCREEN ON /OFF
PEDALS DFB $00,$00,$00
LOCAL DFB $00
VOLFLAG DFB $00
;
LOOPCTR DFB $00
;
XMITMSG ASC 'X'
XMITLEN DFB $03
XMITSTS DFB $90
XMITNOTE DFB $00
XMITVEL DFB $00
;
CHNLMSG ASC 'C'
CHNLCHNL DFB $00
;
NOTEMSG ASC 'N'
NOTENOTE DFB $00
;
ONMSG ASC 'O'
OFFMSG ASC 'F'
;
REFRMSG ASC 'Z'
;
DRUMMSG ASC 'N'
DRUMNOTE DFB $00
;
;==========================================
; METHODS:
;
; 'T' <BYTE> = SET TRANSPOSE INTERVAL (SIGNED BINARY)
; 'K' <0-1> = KARAOKE MODE OFF/ON
; 'P' <0-1> = PIANO SCREEN OFF/ON
; 'C' <CHNL><NEW ASG> = CHANGE CHANNEL ASSIGNMENT
; 'X' <BYTES><$FF> = PROCESS A STREAM OF MIDI BYTES
;