home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / utils / asmutl / musicbox.lbr / SCALE.ZZ0 / SCALE.Z80
Encoding:
Text File  |  1988-04-02  |  2.9 KB  |  142 lines

  1. ; Edit version 1.02
  2. ;**************************************************************************
  3. ;**************************************************************************
  4. ;***                                    ***
  5. ;***    Musical scale.                            ***
  6. ;***                                    ***
  7. ;**************************************************************************
  8. ;**************************************************************************
  9. ;
  10. ; File Name        : SCALE.Z80
  11. ; Library Name        : MUSICBOX.LBR
  12. ; Module Build File    : MUSICBOX.ZEX
  13. ; Author        : Edmund Cramp
  14. ; Creation Date        : 28-Apr-1985
  15. ;
  16. ; Assembler Name    : Z80ASM (SLR Systems)
  17. ; Linker Name        : SLRNKP (SLR Systems)
  18. ;
  19. ; Ammendment Record
  20. ; *****************
  21. ; Name        Date        Details of Ammendment
  22. ; ----        ----        ---------------------
  23. ; Edmund Cramp    28-Sep-1985    Initial file creation
  24. ; Edmund Cramp    17-Apr-1987    Modified for ZAS/ZLINK
  25. ; Edmund Cramp    19-Mar-1988    Modified for SLR assmebler/linker.
  26. ; Module Function
  27. ; ***************
  28. ;    This module generates a musical scale.
  29. ;
  30. ;**************************************************************************
  31.  
  32.         NAME    SCALE
  33.  
  34. ;        ===============
  35. ;        Global symbols.
  36. ;        ===============
  37.  
  38. ;        n o n e
  39.  
  40. ;        ===================
  41. ;        External Referances
  42. ;        ===================
  43.  
  44. ;        n o n e
  45.  
  46. ;        ==============
  47. ;        External Files
  48. ;        ==============
  49.  
  50.         INCLUDE    NOTES.LIB    ; Note definitions.
  51.         INCLUDE    MACROS.LIB    ; Macro library
  52.  
  53. ;        ============
  54. ;        Local Macros
  55. ;        ============
  56.  
  57. ;+
  58. ; Usage:    NOTE    n,value
  59. ; Macro to generate 'n' bytes of "value" for use in creating musical notes.
  60. ;-
  61. NOTE        MACRO    N,P1
  62.         REPT    N        ;; Repeat n DEFB statements...
  63.         DEFB    P1        ;; ...
  64.         ENDM            ;; ...
  65.         ENDM
  66.  
  67. ;        =============
  68. ;        Local Equates
  69. ;        =============
  70.  
  71. TEMPO        EQU    80        ; Musical tempo (1-256)
  72.  
  73. ;**************************************************************************
  74. ;***                                    ***
  75. ;**************************************************************************
  76.  
  77.         .XALL
  78.         COMMON /AREA/
  79.         DEFB    TEMPO        ; Tempo value.
  80.         DEFW    LTITLE        ; Pointer to title string.
  81.         DEFW    SONG        ; Pointer to start of song.
  82.  
  83.         DSEG
  84. LTITLE:        STRING    'Three octave scale'
  85.         ; 
  86. SONG:        NOTE    2,N$REST
  87.         ;+
  88.         ;    Low octave
  89.         ;-
  90.         NOTE    1,N$LC
  91.         NOTE    1,N$LCS
  92.         NOTE    1,N$LD
  93.         NOTE    1,N$LDS
  94.         NOTE    1,N$LE
  95.         NOTE    1,N$LF
  96.         NOTE    1,N$LFS
  97.         NOTE    1,N$LG
  98.         NOTE    1,N$LGS
  99.         NOTE    1,N$LA
  100.         NOTE    1,N$LAS
  101.         NOTE    1,N$LB
  102.  
  103.         NOTE    1,N$REST
  104.         ;+
  105.         ; Middle octave
  106.         ;-
  107.         NOTE    1,N$MC
  108.         NOTE    1,N$MCS
  109.         NOTE    1,N$MD
  110.         NOTE    1,N$MDS
  111.         NOTE    1,N$ME
  112.         NOTE    1,N$MF
  113.         NOTE    1,N$MFS
  114.         NOTE    1,N$MG
  115.         NOTE    1,N$MGS
  116.         NOTE    1,N$MA
  117.         NOTE    1,N$MAS
  118.         NOTE    1,N$MB
  119.  
  120.         NOTE    1,N$REST
  121.         ;+
  122.         ; High octave
  123.         ;-
  124.         NOTE    1,N$HC
  125.         NOTE    1,N$HCS
  126.         NOTE    1,N$HD
  127.         NOTE    1,N$HDS
  128.         NOTE    1,N$HE
  129.         NOTE    1,N$HF
  130.         NOTE    1,N$HFS
  131.         NOTE    1,N$HG
  132.         NOTE    1,N$HGS
  133.         NOTE    1,N$HA
  134.         NOTE    1,N$HAS
  135.         NOTE    1,N$HB
  136.         NOTE    1,N$TC
  137.  
  138.         DEFB    N$STOP
  139.  
  140.         END
  141.