home *** CD-ROM | disk | FTP | other *** search
- ; Edit version 1.02
- ;**************************************************************************
- ;**************************************************************************
- ;*** ***
- ;*** Musical scale. ***
- ;*** ***
- ;**************************************************************************
- ;**************************************************************************
- ;
- ; File Name : SCALE.Z80
- ; Library Name : MUSICBOX.LBR
- ; Module Build File : MUSICBOX.ZEX
- ; Author : Edmund Cramp
- ; Creation Date : 28-Apr-1985
- ;
- ; Assembler Name : Z80ASM (SLR Systems)
- ; Linker Name : SLRNKP (SLR Systems)
- ;
- ; Ammendment Record
- ; *****************
- ; Name Date Details of Ammendment
- ; ---- ---- ---------------------
- ; Edmund Cramp 28-Sep-1985 Initial file creation
- ; Edmund Cramp 17-Apr-1987 Modified for ZAS/ZLINK
- ; Edmund Cramp 19-Mar-1988 Modified for SLR assmebler/linker.
- ;
- ; Module Function
- ; ***************
- ; This module generates a musical scale.
- ;
- ;**************************************************************************
-
- NAME SCALE
-
- ; ===============
- ; Global symbols.
- ; ===============
-
- ; n o n e
-
- ; ===================
- ; External Referances
- ; ===================
-
- ; n o n e
-
- ; ==============
- ; External Files
- ; ==============
-
- INCLUDE NOTES.LIB ; Note definitions.
- INCLUDE MACROS.LIB ; Macro library
-
- ; ============
- ; Local Macros
- ; ============
-
- ;+
- ; Usage: NOTE n,value
- ; Macro to generate 'n' bytes of "value" for use in creating musical notes.
- ;-
- NOTE MACRO N,P1
- REPT N ;; Repeat n DEFB statements...
- DEFB P1 ;; ...
- ENDM ;; ...
- ENDM
-
- ; =============
- ; Local Equates
- ; =============
-
- TEMPO EQU 80 ; Musical tempo (1-256)
-
- ;**************************************************************************
- ;*** ***
- ;**************************************************************************
-
- .XALL
- COMMON /AREA/
- DEFB TEMPO ; Tempo value.
- DEFW LTITLE ; Pointer to title string.
- DEFW SONG ; Pointer to start of song.
-
- DSEG
- LTITLE: STRING 'Three octave scale'
- ;
- SONG: NOTE 2,N$REST
- ;+
- ; Low octave
- ;-
- NOTE 1,N$LC
- NOTE 1,N$LCS
- NOTE 1,N$LD
- NOTE 1,N$LDS
- NOTE 1,N$LE
- NOTE 1,N$LF
- NOTE 1,N$LFS
- NOTE 1,N$LG
- NOTE 1,N$LGS
- NOTE 1,N$LA
- NOTE 1,N$LAS
- NOTE 1,N$LB
-
- NOTE 1,N$REST
- ;+
- ; Middle octave
- ;-
- NOTE 1,N$MC
- NOTE 1,N$MCS
- NOTE 1,N$MD
- NOTE 1,N$MDS
- NOTE 1,N$ME
- NOTE 1,N$MF
- NOTE 1,N$MFS
- NOTE 1,N$MG
- NOTE 1,N$MGS
- NOTE 1,N$MA
- NOTE 1,N$MAS
- NOTE 1,N$MB
-
- NOTE 1,N$REST
- ;+
- ; High octave
- ;-
- NOTE 1,N$HC
- NOTE 1,N$HCS
- NOTE 1,N$HD
- NOTE 1,N$HDS
- NOTE 1,N$HE
- NOTE 1,N$HF
- NOTE 1,N$HFS
- NOTE 1,N$HG
- NOTE 1,N$HGS
- NOTE 1,N$HA
- NOTE 1,N$HAS
- NOTE 1,N$HB
- NOTE 1,N$TC
-
- DEFB N$STOP
-
- END