home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / pdoseric.hdv / SOURCE / MACRO.ZRC.txt < prev    next >
Text File  |  2020-08-13  |  2KB  |  111 lines

  1. ;*** MACRO ENTRY ***
  2. ;
  3. ; BRUN PROGRAM FROM DISK
  4. ;
  5. MTOTAL   EQU 3
  6. BASL     EQU $28
  7. KSW      EQU $38
  8. OURCH    EQU $57B
  9. KBD      EQU $C000
  10. CXROMOFF EQU $C006
  11. CXROMON  EQU $C007
  12. KBDSTRB  EQU $C010
  13. ALTCHAR  EQU $C01E
  14. OPENAPL  EQU $C061
  15. INVERT   EQU $CEDD
  16. PICK     EQU $CF01
  17. ;
  18.          ORG $300
  19. ;SET UP NEW INPUT LINK
  20.          LDA #>NEWIN
  21.          STA KSW
  22.          LDA #<NEWIN
  23.          STA KSW+1
  24.          RTS
  25. ;THIS IS THE NEW INPUT ROUTINE
  26. NEWIN    BIT ALTCHAR
  27.          BPL NEWIN1
  28.          STA (BASL),Y
  29.          STA CXROMON
  30.          JSR INVERT
  31. NEWIN1   STX XSAVE
  32.          STY YSAVE
  33.          STA ASAVE
  34.          BIT MACROFLG
  35.          BMI GETMAC
  36. NEWIN2   BIT KBD
  37.          BPL NEWIN2
  38.          BIT ALTCHAR
  39.          BMI NEWIN3
  40.          STA (BASL),Y
  41. NEWIN3   LDA KBD
  42.          BIT KBDSTRB
  43.          BIT ALTCHAR
  44.          BPL NEWIN4
  45.          CMP #$9B
  46.          BEQ NEWIN2
  47.          CMP #$95
  48.          BNE CLRCURS
  49.          LDY OURCH
  50.          JSR PICK
  51.          ORA #$80
  52. CLRCURS  JSR INVERT
  53.          STA CXROMOFF
  54. NEWIN4   BIT OPENAPL
  55.          BPL EXIT
  56.          LDX #0
  57. ORIGSCAN CMP MACROKEY,X
  58.          BEQ FINDMAC
  59.          INX
  60.          CPX #MTOTAL
  61.          BNE ORIGSCAN
  62.          BEQ EXIT
  63. FINDMAC  LDA #$80
  64.          STA MACROFLG
  65.          STA CMDNUM
  66.          LDX #0
  67.          STX MACROPOS
  68.          LDY #0
  69. FINDMAC1 CPY CMDNUM
  70.          BEQ GETMAC
  71. SKIPMAC  LDX MACROPOS
  72.          LDA PHRASES,X
  73.          BEQ FINDMAC2
  74.          INC MACROPOS
  75.          BNE SKIPMAC
  76. FINDMAC2 INC MACROPOS
  77.          INY
  78.          BNE FINDMAC1
  79. GETMAC   LDX MACROPOS
  80.          LDA PHRASES,X
  81.          INC MACROPOS
  82.          CMP #0
  83.          BNE EXIT1
  84.          LDA #0
  85.          STA MACROFLG
  86.          BEQ NEWIN2
  87. EXIT1    PHA
  88.          LDA ASAVE
  89.          LDY YSAVE
  90.          STA (BASL),Y
  91.          PLA
  92. EXIT     LDX XSAVE
  93.          RTS
  94. ;
  95. ASAVE    DS  1
  96. XSAVE    DS  1
  97. YSAVE    DS  1
  98. CMDNUM   DS  1
  99. MACROFLG DFB 0
  100. MACROPOS DFB 0
  101. ;
  102. MACROKEY ASC "X"
  103.          ASC "x"
  104.          ASC "Z"
  105. PHRASES  ASC "S"
  106.          DFB 0
  107.          ASC "s"
  108.          DFB 0
  109.          DFB 93
  110.          DFB 0
  111.