home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / KAYPRO / KAYDIAG.LBR / CPMMAC.MQC / CPMMAC.MAC
Text File  |  2000-06-30  |  5KB  |  190 lines

  1. ;;*******************************************************************
  2. ;;*******************************************************************
  3. ;;** MACRO LIBRARY FOR THE KAYPRO II     11/23/83                  **
  4. ;;** WRITTEN BY LARRY KRAEMER       LAST UPDATE 11/24/83           **
  5. ;;*******************************************************************
  6. ;;*******************************************************************
  7. ;;** THE FOLLOWING MACRO'S ARE IN THIS LIBRARY:                    **
  8. ;;**   1. VERSN                                                    **
  9. ;;**   2. MOVE                                                     **
  10. ;;**   3. SCREEN                                                   **
  11. ;;**   4. DELAY                                                    **
  12. ;;**   5. AON                                                      **
  13. ;;**   6. AOFF                                                     **
  14. ;;**   7. BON                                                      **
  15. ;;**   8. BOFF                                                     **
  16. ;;**   9. PRINT                                                    **
  17. ;;**  10. INPUT                                                    **
  18. ;;**  11. FILL                                                     **
  19. ;;**  12. SAVREG                                                   **
  20. ;;**  13. RESREG                                                   **
  21. ;;**                                                               **
  22. ;;**                                                               **
  23. ;;**                                                               **
  24. ;;**                                                               **
  25. ;;**                                                               **
  26. ;;**                                                               **
  27. ;;**                                                               **
  28. ;;**                                                               **
  29. ;;**                                                               **
  30. ;;**                                                               **
  31. ;;**                                                               **
  32. ;;**                                                               **
  33. ;
  34. ;
  35. EOF    EQU    1AH            ;END OF FILE
  36. ESC    EQU    1BH            ;ESCAPE
  37. CR    EQU    13            ;CARRIAGE RETURN
  38. LF    EQU    10            ;LINE FEED
  39. TAB    EQU    9            ;TAB = CONTROL I
  40. SPACE    EQU    20H            ;SPACE
  41. PERIOD    EQU    46            ;DECIMAL POINT
  42. COMMA    EQU    44            ;COMMA
  43. SYSPORT    EQU    01CH            ;SYSTEM BIT PORT
  44. BDOS    EQU    5            ;BDOS
  45. VIDEO    EQU    3000H
  46. ;
  47. ;
  48. ;
  49. ;;        MACROS FOLLOW
  50. ;;
  51. VERSN    MACRO    NUM
  52. ;;11/23/83
  53. ;;USAGE: NUM MUST BE ENCLOSED IN QUOTES  VERSN 'XX.XX'
  54.     LOCAL    AROUND
  55.     JP    AROUND
  56.     DEFM    "VER ",NUM
  57.     DEFM    " WRITTEN BY LARRY KRAEMER "
  58.     DEFM    "S-001"
  59. AROUND:
  60.     ENDM
  61. ;
  62. MOVE    MACRO    X,Y,Z
  63. ;;11/23/83
  64. ;;USAGE: X,Y,Z MUST BE A HEX NUMBER  (ADDRESS)
  65. ;;       THIS IS AN INCREMENTING MOVE IN ASCENDING ORDER
  66.     LD    HL,X
  67.     LD    DE,Y
  68.     LD    BC,Z
  69.     LDIR
  70.     ENDM
  71. ;
  72. SCREEN    MACRO    Z
  73. ;;11/23/83
  74. ;;USAGE: Z IS CHAR TO SEND TO VIDEO TERMINAL
  75. ;;       THIS ROUTINE MUST BE LOCATED ABOVE 4000H TO WORK
  76.     IN    A,(SYSPORT)
  77.     SET    7,A
  78.     SET    6,A
  79.     RES    0,A
  80.     RES    1,A
  81.     OUT    (SYSPORT),A
  82.     LD    HL,VIDEO
  83.     LD    DE,VIDEO+1
  84.     LD    BC,3*1024
  85.     LD    (HL),Z
  86.     LDIR
  87.     ENDM
  88. ;
  89. DELAY    MACRO    X,Y
  90. ;;11/24/83
  91. ;;USAGE: X IS THE OUTSIDE LOOP -- BC REG PAIR
  92. ;;       Y IS THE INSIDE LOOP  -- HL REG PAIR
  93. LOCAL    DELAY0,DELAY1
  94.     LD    BC,X
  95. DELAY0:    LD    HL,Y
  96. DELAY1:    DEC    HL
  97.     LD    A,H
  98.     OR    L
  99.     JP    NZ,DELAY1
  100.     DEC    BC
  101.     LD    A,B
  102.     OR    C
  103.     JP    NZ,DELAY0
  104.     ENDM
  105. ;
  106. AON    MACRO
  107. ;;11/24/83
  108. ;;USAGE: THIS WILL TURN ON DRIVE A LED
  109.     IN    A,(SYSPORT)
  110.     SET    0,A
  111.     OUT    (SYSPORT),A
  112.     ENDM
  113. ;
  114. AOFF    MACRO
  115. ;;11/24/83
  116. ;;USAGE: THIS WILL TURN OFF DRIVE A LED
  117.     IN    A,(SYSPORT)
  118.     RES    0,A
  119.     OUT    (SYSPORT),A
  120.     ENDM
  121. ;
  122. BON    MACRO
  123. ;;11/24/83
  124. ;;USAGE: THIS WILL TURN ON DRIVE B LED
  125.     IN    A,(SYSPORT)
  126.     SET    1,A
  127.     OUT    (SYSPORT),A
  128.     ENDM
  129. ;
  130. BOFF    MACRO
  131. ;;11/24/83
  132. ;;USAGE: THIS WILL TURN OFF DRIVE B LED
  133.     IN    A,(SYSPORT)
  134.     RES    1,A
  135.     OUT    (SYSPORT),A
  136.     ENDM
  137. ;
  138. PRINT    MACRO    X
  139. ;;11/24/83
  140. ;;USAGE: THIS WILL PRINT A MESSAGE TO THE MONITOR.  TO USE
  141. ;;       THE MACRO POINT TO THE MESSAGE AND TERMINATE IT WITH
  142. ;;       A '$' WHICH WILL STOP THE MACRO.
  143.     LD    C,9
  144.     LD    DE,X
  145.     CALL    BDOS
  146.     ENDM
  147. ;
  148. INPUT    MACRO
  149. ;;11/24/83
  150. ;;USAGE: THIS WILL GET A CHARACTER FROM THE CONSOLE (UP CASE)
  151. ;;USAGE: (SINGLE CHARACTER ONLY) IT WILL WAIT FOR THAT CHAR.
  152.     LD    C,1
  153.     CALL    BDOS
  154.     RES    5,A
  155.     ENDM
  156. ;
  157. FILL    MACRO    X,Y,Z
  158. ;;11/26/83
  159. ;;USAGE: THIS WILL FILL MEMORY FROM -X- THRU NUMBER OF BYTES -Y-
  160. ;;USAGE: WITH CHARACTER -Z-
  161.     LD    HL,X
  162.     LD    DE,X+1
  163.     LD    BC,Y
  164.     LD    (HL),Z
  165.     LDIR
  166.     ENDM
  167. ;
  168. SAVREG    MACRO
  169. ;;11/26/83
  170. ;;USAGE: SAVE ALL REGISTERS BY PUSHING ON STACK
  171.     PUSH    AF
  172.     PUSH    BC
  173.     PUSH    DE
  174.     PUSH    HL
  175.     PUSH    IX
  176.     PUSH    IY
  177.     ENDM
  178. ;
  179. RESREG    MACRO
  180. ;;11/26/83
  181. ;;USAGE: RESTORE ALL REGISTERS BY POPPING FROM STACK
  182.     POP    IY
  183.     POP    IX
  184.     POP    HL
  185.     POP    DE
  186.     POP    BC
  187.     POP    AF
  188.     ENDM
  189. ;
  190.