home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1994 March / 64er_Magazin_94-03_1994_Markt__Technik_de_Side_A.d64 / assembler-bib. < prev    next >
Text File  |  2022-10-26  |  3KB  |  98 lines

  1. ;==============================
  2. ;=                            =
  3. ;=zeichensatz initialisieren  =
  4. ;=und setzen (w) by pit       =
  5. ;=                            =
  6. ;==============================
  7.  
  8. :zsin   lda #$1c   ;$1c steht fuer adresse $3800
  9.         sta $d018  ;und in $d018 schreiben. anhand
  10.                    ;dieser adresse, "weiss" der
  11.                    ;vic, wo er den Charset suchen
  12.                    ;muss
  13.         lda #$0f   ;farbwerte fuer farbe zwei und
  14.         sta $d022  ;drei in die beiden entsprech-
  15.         lda #$0c   ;enden vic-register schreiben
  16.         sta $d023  ;farbe 3 muss im Farb-ram
  17.                    ;gesetzt werden
  18.         lda #$18   ;multicolor einschalten
  19.         sta $d016  ;
  20.         rts        ;und zurueck
  21.  
  22.  
  23. ;==============================
  24. ;=                            =
  25. ;=zeichensatz wieder          =
  26. ;=zuruecksetzen (w) by pit    =
  27. ;=                            =
  28. ;==============================
  29.  
  30. :reset  lda #$c8   ;multicolor-register auf
  31.         sta $d016  ;normalwert zurueckstellen
  32.         lda #$15   ;normalen zeichensatz
  33.         sta $d018  ;wieder einschalten
  34.         jsr $e544  ;bildschirm komplett
  35.                    ;loeschen
  36.         rts        ;zurueck
  37.  
  38.  
  39. ;==============================
  40. ;=                            =
  41. ;=integer-zahl ausgeben       =
  42. ;=(w) by pit                  =
  43. ;=                            =
  44. ;==============================
  45.  
  46. :inte  lda #$00   ;zahl wird
  47.        sta $d6    ;an ausgege-
  48.        lda #$00   ;ben an cursor
  49.        sta $d3    ;position
  50.  
  51.        ldx #$00   ;lb
  52.        lda #$00   ;hb
  53.        jsr $bdcd
  54.        rts
  55.  
  56.  
  57. ;==============================
  58. ;=                            =
  59. ;=einfache textausgabe        =
  60. ;=(w) by pit                  =
  61. ;=                            =
  62. ;==============================
  63.  
  64. :txto  ldx #$00     ;
  65. :txo2  lda $0000,x  ;textadresse (dass kann
  66.                     ;zum beispiel auch ein
  67.                     ;label sein und
  68.        jsr $ffd2    ;text per betriebssystem
  69.                     ;ausgeben
  70.        inx          ;zaehler erhoehen
  71.        cpx #$00     ;wenn anzahl der bytes 
  72.                     ;erreicht
  73.        bne txo2     ;
  74.        rts          ;geht es wieder zurueck
  75.  
  76.  
  77. ;==============================
  78. ;=                            =
  79. ;=stringausgabe (am ende muss =
  80. ;=ein nullbyte stehen (w) pit =
  81. ;=                            =
  82. ;==============================
  83.  
  84. :stri  lda #$00   ;cursor setzen
  85.        sta $d6    ;(die betriebssystem-
  86.        lda #$00   ;routine braucht in
  87.        sta $d3    ;diesem fall nicht 
  88.                   ;aufgerufen zu werden
  89.  
  90.        lda #$00   ;lb
  91.        ldy #$00   ;hb
  92.        jsr $ab1e  ;$ muss $00-byte am ende haben
  93.        rts
  94.  
  95.  
  96.  
  97.  
  98.