home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1986 October / 64er_Magazin_86-10_1986_Markt__Technik_de_Side_B.d64 / vg-print.src (.txt) < prev   
Commodore BASIC  |  2022-10-26  |  3KB  |  89 lines

  1. 50 sys9*4096
  2. 100 ;
  3. 110 ;
  4. 120 ;
  5. 130 ;vizawrite grafikprint
  6. 140 ;    version 3.0
  7. 150 ;
  8. 160 ;(c) 1986 markt&technik
  9. 170 ;
  10. 180 ;     written by
  11. 190 ;     ralf lenz
  12. 200 ;   am landgraben 12
  13. 210 ;  4290 bocholt-barlo
  14. 220 ;
  15. 230 .opt oo
  16. 240 ;
  17. 250 *= $0365;startadresse des programms
  18. 260 ;
  19. 270 print  = $f1ca;ausgabe eines zeichens
  20. 280 graphcode = $a8;code fuer grafik
  21. 290 cr = $0d;carriage return 
  22. 300 ;
  23. 310 init       lda #<newout;outputvektor auf
  24. 320            sta $0326;eigene routine verstellen
  25. 330            lda #>newout
  26. 340            sta $0327
  27. 350            rts
  28. 360 ;
  29. 370 newout     pha;zu druckendes byte auf stapel
  30. 380            lda $9a;pruefen, ob ausgabe auf drucker
  31. 390            cmp #4
  32. 400            bne noprinter;ausgabe nicht auf drucker
  33. 410            pla;druckbyte zurueckholen
  34. 420            cmp #graphcode;pruefen, ob grafikzeile
  35. 430            bne nographik;normaler textausdruck
  36. 440            sty yzw;y-register zwischenspeichern
  37. 450            ldy #0
  38. 460            sty flag;flag fuer nibble
  39. 470 bin320     lda tabelle1,y;drucker auf 320 binaer-
  40. 480            jsr print;daten einstellen
  41. 490            iny
  42. 500            cpy #5
  43. 510            bne bin320
  44. 520            ldy yzw;y-register zurueckholen
  45. 530            lda #<graphout;outputvektor erneut
  46. 540            sta $0326;verstellen fuer ausgabe von
  47. 550            lda #>graphout;grafik
  48. 560            sta $0327;outputvektor erneut verstellen
  49. 570 exit       clc
  50. 580            rts
  51. 590 noprinter  pla;druckbyte zurueckholen
  52. 600 nographic  jmp print;normale output-routine
  53. 610 ;
  54. 620 graphout   cmp #graphcode;pruefen, ob zeilenende
  55. 630            bne g1
  56. 640            clc;ende der grafikzeile erreicht.
  57. 650            jmp init;output-vektor zurueckstellen
  58. 660 g1         cmp #63;pruefen, ob illegaler code (0-63)
  59. 670            bcc exit
  60. 680            and #%00001111;nur unteres nibble verwenden
  61. 690            pha; und auf stapel
  62. 700            lda flag;oberes oder unteres nibble
  63. 710            bne nibble2
  64. 720 ;
  65. 730 nibble1    inc flag;flag=1
  66. 740            pla;nibble zurueckholen
  67. 750            sta store;und zwischenspeichern
  68. 760            clc
  69. 770            rts
  70. 780 ;
  71. 790 nibble2    dec flag;flag=0
  72. 800            pla;nibble zurueckholen
  73. 810            asl;und um 4 bit nach links schieben
  74. 820            asl:asl:asl
  75. 830            ora store;verknuepfen mit unterem nibble
  76. 840            jsr print;und ausgeben
  77. 850            rts
  78. 860 ;
  79. 870 yzw        .byte 00;zwischenspeicher fuer y-register
  80. 880 tabelle1   .byte $1b;escape senden
  81. 881 .byte $2a;'*' fuer 8-nadel-bitmuster-modus
  82. 882 .byte $06;modus 0-6 anwaehlen,hier 6 voreingestellt
  83. 883 .byte $40,$01;320-punkte-dichte
  84. 890 store      .byte 00;speicher fuer grafikbyte
  85. 900 flag       .byte 00;flag fuer oberes/unteres nibble
  86. 910 ;
  87. 920 ;
  88. 930 ;
  89.