home *** CD-ROM | disk | FTP | other *** search
/ ABBUC Magazin 43B / ABBUC_Magazin_43_199x_ABBUC_Side_B.atr / lcd600.src < prev    next >
Text File  |  2023-02-26  |  3KB  |  174 lines

  1. ********************************
  2. *HAENDLER FUER ARGS LCD-DISPLAY*
  3. *  Soft- u. Hardware by RoBue  *
  4. *        14.12.1993            *
  5. ********************************
  6.  
  7.  
  8. *Funktionen: Ausgabe
  9. *            Loeschen (125)
  10. *            Scrollen bei Ausgabe
  11. *            GET-Routine vom K:-Handler
  12. *HANDLERNAME : "A:"
  13.  
  14.  
  15.     ORG $0600
  16.  
  17. PACTL    EQU 54546
  18. PORTA    EQU 54544 
  19. PBCTL    EQU 54547
  20. PORTB    EQU 54545
  21. PHENTV    EQU $E486
  22. TIMER    EQU $14
  23.  
  24. DLEFT    EQU 24
  25. DRIGHT    EQU 28
  26. CLEFT    EQU 16
  27. CRIGHT    EQU 20
  28. FUNCTION    EQU 56
  29. DON    EQU 15
  30. DCLEAR    EQU 1
  31. CMOVE    EQU 7
  32. CSTOP    EQU 6
  33. CHOME    EQU 2
  34.  
  35. START    PLA          BASIC
  36. *
  37.     LDX #'A        A:-HANDLER
  38.     LDA #TABELLE:H    EINTAGEN
  39.     LDY #TABELLE:L
  40.          SEC
  41.          JSR PHENTV
  42.          BCC START1
  43.          RTS        KEIN EINTRAG
  44. *
  45. START1   LDA #48        PIA UND
  46.          STA PACTL    DISPLAY
  47.          STA PBCTL    INITIALI-
  48.          LDA #255        SIEREN
  49.          STA PORTA
  50.          STA PORTB
  51.          LDA #52
  52.          STA PACTL
  53.          STA PBCTL
  54.          LDA #FUNCTION    8BIT
  55.          JSR BEFEHL
  56.          LDA #DON        LCD AN
  57.          JSR BEFEHL
  58.          LDA #DCLEAR    LCD LOESCHEN
  59.          JSR BEFEHL
  60. EXIT    RTS
  61.  
  62. TABELLE    DFW OPEN-1     Handlertabelle
  63.     DFW CLOSE-1
  64.     DFW GET-1
  65.     DFW PUT-1
  66.     DFW EXIT-1
  67.     DFW EXIT-1
  68.     JMP EXIT
  69.          DFB 0
  70.  
  71. OPEN     LDA #DON
  72.          JSR BEFEHL
  73.          LDA #DCLEAR
  74.          JSR BEFEHL
  75.          LDA #0
  76.          STA CURSPOS
  77.     STA LINE        
  78.          LDY #1
  79.     RTS
  80.  
  81. CLOSE    LDY #1    
  82.     RTS
  83.  
  84. GET    JSR $F2FD    
  85.          CPY #1
  86.          BNE GETEND
  87.     STA GETWERT
  88.     JSR PUT
  89.     LDA GETWERT
  90. GETEND    RTS             
  91. GETWERT    DFB 0
  92.  
  93. PUT    TAX
  94. PUT0    CPX #125        CLEAR?
  95.          BNE PUT1
  96. PUT00    LDA #1
  97.          JSR BEFEHL
  98.          LDA #0
  99.          STA CURSPOS
  100.     STA LINE
  101.          LDY #1
  102.          RTS
  103. PUT1     CPX #155        EOL?
  104.          BNE PUT2
  105.     LDA #CHOME
  106.          JSR BEFEHL
  107.          LDY #0
  108.          STY CURSPOS
  109.     STY LINE
  110.          INY
  111.          RTS
  112. PUT2     JSR SCROLL    AUSGABE
  113.          TXA
  114.          JSR ZEICHEN
  115.          INC CURSPOS
  116.          LDY #1
  117.          RTS
  118.  
  119. CURSPOS    DFB 0
  120. LINE    DFB 0
  121.  
  122. *    SCROLL-ROUTINE FUER DISPLAY
  123. *    ab Position 12 wandert Display
  124. *        ab Position 36 steht es wieder
  125. *    beim Ruecksprung in Zeile 1
  126. *    wird Display geloescht
  127. SCROLL    LDY CURSPOS
  128.     CPY #40
  129.     BNE SCR2
  130.     LDA LINE
  131.     BNE PUT00         
  132.     INC LINE
  133. SCR    LDA #25
  134.     STA CURSPOS
  135. SCR1    DEC CURSPOS
  136.     BEQ SCREND
  137.     LDA #DRIGHT
  138.     JSR BEFEHL
  139.     JMP SCR1                  
  140. SCR2    CPY #36
  141.     BPL SCREND
  142. SCR3    CPY #12
  143.     BMI SCREND
  144.     LDA #DLEFT
  145.     JSR BEFEHL
  146. SCREND    RTS
  147.  
  148.  
  149. *    PROGRAMMIEREN DES DISPLAYS
  150. *    Wert steht im Akku
  151. BEFEHL   STA PORTB  
  152.          LDA #4
  153. BEFEHL1  STA PORTA
  154.          LDA #0
  155.          STA PORTA
  156.          LDY TIMER
  157.          INY
  158.          INY
  159. WAIT     CPY TIMER
  160.          BNE WAIT
  161.          RTS         
  162.  
  163. *    AUSGABE EINES ZEICHENS
  164. *    AUF DAS DISPLAY
  165. *    Wert steht im Akku
  166. ZEICHEN  STA PORTB 
  167.          LDA #5
  168.          STA PORTA
  169.          NOP
  170.          LDA #0
  171.          STA PORTA
  172.          NOP
  173.          NOP
  174.          RTS¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯