home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / assembler-kurs / listings2 / listing6c2.s < prev    next >
Text File  |  1977-12-31  |  16KB  |  781 lines

  1.  
  2. ; Listing6c2.s    GEBEN MEHRERE ZEILEN AM BILDSCHIRM AUS!!!
  3. ;        - mit einem leicht modifizierbaren Binärfont!!!
  4.  
  5.     SECTION    CIPundCOP,CODE
  6.  
  7. Anfang:
  8.     move.l    4.w,a6        ; Execbase in a6
  9.     jsr    -$78(a6)    ; Disable - stoppt das Multitasking
  10.     lea    GfxName(PC),a1    ; Adresse des Namen der zu öffnenden Lib in a1
  11.     jsr    -$198(a6)    ; OpenLibrary
  12.     move.l    d0,GfxBase    ; speichere diese Adresse in GfxBase
  13.     move.l    d0,a6
  14.     move.l    $26(a6),OldCop    ; hier speichern wir die Adresse der Copperlist
  15.                 ; des Betriebssystemes
  16.  
  17. ;    POINTEN AUF UNSERE BITPLANES
  18.  
  19.     MOVE.L    #BITPLANE,d0    ; in d0 kommt die Adresse unseres Bitplane
  20.     LEA    BPLPOINTERS,A1    ; in a1 kommt die Adresse der Bitplane-
  21.                 ; Pointer der Copperlist
  22.     move.w    d0,6(a1)    ; kopiert das niederwertige Word der Plane-
  23.                 ; Adresse ins richtige Word der Copperlist
  24.     swap    d0        ; vertauscht die 2 Word in d0 (1234 > 3412)
  25.  
  26.     move.w    d0,2(a1)    ; kopiert das hochwertige Word der Adresse des 
  27.                 ; Plane in das richtige Word in der Copperlist
  28.  
  29.     move.l    #COPPERLIST,$dff080    ; COP1LC - "Zeiger" auf unsere COP
  30.     move.w    d0,$dff088        ; COPJMP1 - Starten unsere COP
  31.     move.w    #0,$dff1fc        ; FMODE - Deaktiviert das AGA
  32.     move.w    #$c00,$dff106        ; BPLCON3 - Deaktiviert das AGA
  33.  
  34.     bsr.w    print        ; Bringt die Zeile auf den Bildschirm
  35.  
  36. mouse:
  37.     btst    #6,$bfe001    ; linke Maustaste gedrückt?
  38.     bne.s    mouse        ; wenn nicht, zurück zu mouse:
  39.  
  40.     move.l    OldCop(PC),$dff080    ; COP1LC - "Zeiger" auf die Orginal-COP
  41.     move.w    d0,$dff088        ; COPJMP1 - und starten sie
  42.  
  43.     move.l    4.w,a6
  44.     jsr    -$7e(a6)    ; Enable - stellt Multitasking wieder her
  45.     move.l    GfxBase(PC),a1    ; Basis der Library, die es zu schließen gilt
  46.                 ; (Libraries werden geöffnet UND geschlossen!)
  47.     jsr    -$19e(a6)    ; Closelibrary - schließt die Graphics lib
  48.     rts
  49.  
  50. ; DATEN
  51.  
  52. GfxName:
  53.     dc.b    "graphics.library",0,0
  54.  
  55. GfxBase:        ; Hier hinein kommt die Basisadresse der graphics.lib,
  56.     dc.l    0    ; ab hier werden die Offsets gemacht
  57.  
  58. OldCop:         ; Hier hinein kommt die Adresse der Orginal-Copperlist des
  59.     dc.l    0    ; Betriebssystemes
  60.  
  61. ;    Routine, die 8x8 Pixel große Buchstaben druckt
  62.  
  63.  
  64. PRINT:
  65.     LEA    TEXT(PC),A0    ; Adresse des zu schreibenden Textes in a0
  66.     LEA    BITPLANE,A3    ; Adresse des Ziel-Bitplanes in a3
  67.     MOVEQ    #25-1,D3    ; ANZAHL DER ZEILEN, DIE ZU DRUCKEN SIND -> 25
  68. PRINTZEILE:
  69.     MOVEQ    #40-1,D0    ; ANZAHL DER SPALTEN EINER ZEILE: 40 (also die
  70.                 ; Anzahl der Buchstaben, die in einer Zeile
  71.                 ; Platz haben).
  72. PRINTCHAR2:
  73.     MOVEQ    #0,D2        ; Löscht D2
  74.     MOVE.B    (A0)+,D2    ; Nächster Charakter in d2
  75.     SUB.B    #$20,D2        ; ZÄHLE 32 VOM ASCII-WERT DES BUCHSTABEN WEG,
  76.                 ; SOMIT VERWANDELN WIR Z.B. DAS LEERZEICHEN
  77.                 ; (Das $20 entspricht), IN $00, DAS
  78.                 ; MALZEICHEN ($21) IN $01...
  79.     MULU.W    #8,D2        ; MULTIPLIZIERE DIE ERHALTENE ZAHL MIT 8,
  80.                 ; da die Charakter ja 8 Pixel hoch sind
  81.     MOVE.L    D2,A2
  82.     ADD.L    #FONT,A2    ; FINDE DEN GEWÜNSCHTEN BUCHSTEBEN IM FONT
  83.  
  84.                 ; DRUCKE DEN BUCHSTABEN ZEILE FÜR ZEILE
  85.     MOVE.B    (A2)+,(A3)    ; Drucke Zeile 1 des Buchstaben
  86.     MOVE.B    (A2)+,40(A3)    ; Drucke Zeile 2  "    "
  87.     MOVE.B    (A2)+,40*2(A3)    ; Drucke Zeile 3  "    "
  88.     MOVE.B    (A2)+,40*3(A3)    ; Drucke Zeile 4  "    "
  89.     MOVE.B    (A2)+,40*4(A3)    ; Drucke Zeile 5  "    "
  90.     MOVE.B    (A2)+,40*5(A3)    ; Drucke Zeile 6  "    "
  91.     MOVE.B    (A2)+,40*6(A3)    ; Drucke Zeile 7  "    "
  92.     MOVE.B    (A2)+,40*7(A3)    ; Drucke Zeile 8  "    "
  93.  
  94.     ADDQ.w    #1,A3        ; A3+1, wir gehen um 8 Bit weiter (zum
  95.                 ; nächsten Buchstaben
  96.  
  97.     DBRA    D0,PRINTCHAR2    ; DRUCKEN D0 (40) ZEICHEN PRO ZEILE
  98.  
  99.     ADD.W    #40*7,A3    ; "Return", neue Zeile
  100.  
  101.     DBRA    D3,PRINTZEILE    ; Wir drucken D3 Zeilen
  102.     RTS
  103.  
  104. ;            VORHANDENE CHARAKTER IM FONT:
  105. ;
  106. ;     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ
  107. ;
  108. ;        NICHT IM FONT ENTHALTENE CHARS, NICHT VERWENDEN:
  109. ;
  110. ;            [\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  111. ;
  112. ;
  113. ; Bemerkung: Das Symbol "@" druckt ein lachendes Gesicht aus... wieso nicht?
  114.  
  115.  
  116. TEXT:
  117.              ;            1111111111222222222233333333334
  118.              ;   1234567890123456789012345678901234567890
  119.     dc.b    '   ERSTE ZEILE                          ' ; 1
  120.     dc.b    '                ZWEITE ZEILE            ' ; 2
  121.     dc.b    '     /\  /                              ' ; 3
  122.     dc.b    '    /  \/                               ' ; 4
  123.     dc.b    '                                        ' ; 5
  124.     dc.b    '        SECHSTE ZEILE                   ' ; 6
  125.     dc.b    '                                        ' ; 7
  126.     dc.b    '                                        ' ; 8
  127.     dc.b    'FABIO CIUCCI COMMUNICATION INTERNATIONAL' ; 9
  128.     dc.b    '                                        ' ; 10
  129.     dc.b    '   1234567890 !@#$%^&*()_+|\=-[]{}      ' ; 11
  130.     dc.b    '                                        ' ; 12
  131.     dc.b    '     EIN BISSCHEN DANTE IN ORGINAL      ' ; 15
  132.     dc.b    '             GEFAELLIG?                 ' ; 25
  133.     dc.b    '                                        ' ; 16
  134.     dc.b    '  NEL MEZZO DEL CAMMIN DI NOSTRA VITA   ' ; 17
  135.     dc.b    '                                        ' ; 18
  136.     dc.b    '    MI RITROVAI PER UNA SELVA OSCURA    ' ; 19
  137.     dc.b    '                                        ' ; 20
  138.     dc.b    '    CHE LA DIRITTA VIA ERA SMARRITA     ' ; 21
  139.     dc.b    '                                        ' ; 22
  140.     dc.b    '  AHI QUANTO A DIR QUAL ERA...          ' ; 23
  141.     dc.b    '                                        ' ; 24
  142.     dc.b    '   @ @ @ NUR GROSSBUCHSTABEN @ @ @      ' ; 25
  143.     dc.b    '                                        ' ; 26
  144.     dc.b    '                                        ' ; 27
  145.  
  146.     EVEN
  147.  
  148.  
  149.     SECTION GRAPHIC,DATA_C
  150.  
  151. COPPERLIST:
  152.     dc.w    $120,$0000,$122,$0000,$124,$0000,$126,$0000,$128,$0000 ; SPRITE
  153.     dc.w    $12a,$0000,$12c,$0000,$12e,$0000,$130,$0000,$132,$0000
  154.     dc.w    $134,$0000,$136,$0000,$138,$0000,$13a,$0000,$13c,$0000
  155.     dc.w    $13e,$0000
  156.  
  157.     dc.w    $8E,$2c81    ; DiwStrt
  158.     dc.w    $90,$2cc1    ; DiwStop
  159.     dc.w    $92,$0038    ; DdfStart
  160.     dc.w    $94,$00d0    ; DdfStop
  161.     dc.w    $102,0        ; BplCon1
  162.     dc.w    $104,0        ; BplCon2
  163.     dc.w    $108,0        ; Bpl1Mod
  164.     dc.w    $10a,0        ; Bpl2Mod
  165.             ; 5432109876543210
  166.     dc.w    $100,%0001001000000000  ; 1 Bitplane LOWRES 320x256
  167.  
  168. BPLPOINTERS:
  169.     dc.w $e0,$0000,$e2,$0000    ;erstes Bitplane
  170.  
  171.     dc.w    $0180,$000    ; color0 - HINTERGRUND
  172.     dc.w    $0182,$19a    ; color1 - SCHRIFTEN
  173.  
  174.  
  175.     dc.w    $FFFF,$FFFE    ; Ende der Copperlist
  176.  
  177. ;    Der FONT, Charakter 8x8
  178.  
  179. ;    Charakter:  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ
  180. ;    ACHTUNG! Es gibt nicht: [\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  181.  
  182.  
  183. FONT:
  184. ; ' '
  185.     dc.b    %00000000
  186.     dc.b    %00000000
  187.     dc.b    %00000000
  188.     dc.b    %00000000
  189.     dc.b    %00000000
  190.     dc.b    %00000000
  191.     dc.b    %00000000
  192.     dc.b    %00000000
  193. ; '!'
  194.     dc.b    %00011000
  195.     dc.b    %00011000
  196.     dc.b    %00011000
  197.     dc.b    %00011000
  198.     dc.b    %00011000
  199.     dc.b    %00000000
  200.     dc.b    %00011000
  201.     dc.b    %00000000
  202. ; '"'
  203.     dc.b    %00011011
  204.     dc.b    %00011011
  205.     dc.b    %00011011
  206.     dc.b    %00000000
  207.     dc.b    %00000000
  208.     dc.b    %00000000
  209.     dc.b    %00000000
  210.     dc.b    %00000000
  211. ; '#'
  212.     dc.b    %00010100
  213.     dc.b    %00010100
  214.     dc.b    %00010100
  215.     dc.b    %01111111
  216.     dc.b    %00010100
  217.     dc.b    %00010100
  218.     dc.b    %00010100
  219.     dc.b    %00000000
  220. ; '$'
  221.     dc.b    %00001000
  222.     dc.b    %00011110
  223.     dc.b    %00100000
  224.     dc.b    %00011100
  225.     dc.b    %00000010
  226.     dc.b    %00111100
  227.     dc.b    %00001000
  228.     dc.b    %00000000
  229. ; '%'
  230.     dc.b    %00000001
  231.     dc.b    %00110011
  232.     dc.b    %00110110
  233.     dc.b    %00001100
  234.     dc.b    %00011000
  235.     dc.b    %00110110
  236.     dc.b    %01100110
  237.     dc.b    %00000000
  238. ; '&'
  239.     dc.b    %00011000
  240.     dc.b    %00100100
  241.     dc.b    %00011000
  242.     dc.b    %00011001
  243.     dc.b    %00100110
  244.     dc.b    %00111110
  245.     dc.b    %00011001
  246.     dc.b    %00000000
  247. ; "'"
  248.     dc.b    %00001100
  249.     dc.b    %00001100
  250.     dc.b    %00001100
  251.     dc.b    %00000000
  252.     dc.b    %00000000
  253.     dc.b    %00000000
  254.     dc.b    %00000000
  255.     dc.b    %00000000
  256. ; "("
  257.     dc.b    %00001100
  258.     dc.b    %00011000
  259.     dc.b    %00110000
  260.     dc.b    %00110000
  261.     dc.b    %00110000
  262.     dc.b    %00011000
  263.     dc.b    %00001100
  264.     dc.b    %00000000
  265. ; ")"
  266.     dc.b    %00110000
  267.     dc.b    %00011000
  268.     dc.b    %00001100
  269.     dc.b    %00001100
  270.     dc.b    %00001100
  271.     dc.b    %00011000
  272.     dc.b    %00110000
  273.     dc.b    %00000000
  274. ; "*"
  275.     dc.b    %01100011
  276.     dc.b    %00110110
  277.     dc.b    %00011100
  278.     dc.b    %01111111
  279.     dc.b    %00011100
  280.     dc.b    %00110110
  281.     dc.b    %01100011
  282.     dc.b    %00000000
  283. ; '+'
  284.     dc.b    %00000000
  285.     dc.b    %00011000
  286.     dc.b    %00011000
  287.     dc.b    %01111110
  288.     dc.b    %00011000
  289.     dc.b    %00011000
  290.     dc.b    %00000000
  291.     dc.b    %00000000
  292. ; ","
  293.     dc.b    %00000000
  294.     dc.b    %00000000
  295.     dc.b    %00000000
  296.     dc.b    %00000000
  297.     dc.b    %00011000
  298.     dc.b    %00011000
  299.     dc.b    %00110000
  300.     dc.b    %00000000
  301. ; "-"
  302.     dc.b    %00000000
  303.     dc.b    %00000000
  304.     dc.b    %00000000
  305.     dc.b    %01111110
  306.     dc.b    %00000000
  307.     dc.b    %00000000
  308.     dc.b    %00000000
  309.     dc.b    %00000000
  310. ; "."
  311.     dc.b    %00000000
  312.     dc.b    %00000000
  313.     dc.b    %00000000
  314.     dc.b    %00000000
  315.     dc.b    %00000000
  316.     dc.b    %00011000
  317.     dc.b    %00011000
  318.     dc.b    %00000000
  319. ; "/"
  320.     dc.b    %00000001
  321.     dc.b    %00000011
  322.     dc.b    %00000110
  323.     dc.b    %00001100
  324.     dc.b    %00011000
  325.     dc.b    %00110000
  326.     dc.b    %01100000
  327.     dc.b    %00000000
  328. ; '0'
  329.     dc.b    %01111111
  330.     dc.b    %01100011
  331.     dc.b    %01100011
  332.     dc.b    %00000000
  333.     dc.b    %01100011
  334.     dc.b    %01100011
  335.     dc.b    %01111111
  336.     dc.b    %00000000
  337. ; '1'
  338.     dc.b    %00000011
  339.     dc.b    %00000011
  340.     dc.b    %00000011
  341.     dc.b    %00000000
  342.     dc.b    %00000011
  343.     dc.b    %00000011
  344.     dc.b    %00000011
  345.     dc.b    %00000000
  346. ; '2'
  347.     dc.b    %01111111
  348.     dc.b    %00000000
  349.     dc.b    %00000011
  350.     dc.b    %01111111
  351.     dc.b    %01100000
  352.     dc.b    %01100000
  353.     dc.b    %01111111
  354.     dc.b    %00000000
  355. ; '3'
  356.     dc.b    %01111111
  357.     dc.b    %00000000
  358.     dc.b    %00000011
  359.     dc.b    %00011111
  360.     dc.b    %00000011
  361.     dc.b    %00000011
  362.     dc.b    %01111111
  363.     dc.b    %00000000
  364. ; '4'
  365.     dc.b    %01100011
  366.     dc.b    %01100011
  367.     dc.b    %01100000
  368.     dc.b    %01111111
  369.     dc.b    %00000011
  370.     dc.b    %00000011
  371.     dc.b    %00000011
  372.     dc.b    %00000000
  373. ; '5'
  374.     dc.b    %01111111
  375.     dc.b    %00000000
  376.     dc.b    %01100000
  377.     dc.b    %01111111
  378.     dc.b    %00000011
  379.     dc.b    %00000011
  380.     dc.b    %01111111
  381.     dc.b    %00000000
  382. ; '6'
  383.     dc.b    %01111111
  384.     dc.b    %00000000
  385.     dc.b    %01100000
  386.     dc.b    %01111111
  387.     dc.b    %01100011
  388.     dc.b    %01100011
  389.     dc.b    %01111111
  390.     dc.b    %00000000
  391. ; '7'
  392.     dc.b    %01111111
  393.     dc.b    %00000000
  394.     dc.b    %00000011
  395.     dc.b    %00000011
  396.     dc.b    %00000011
  397.     dc.b    %00000011
  398.     dc.b    %00000011
  399.     dc.b    %00000000
  400. ; '8'
  401.     dc.b    %01111111
  402.     dc.b    %00000011
  403.     dc.b    %01100011
  404.     dc.b    %01111111
  405.     dc.b    %01100011
  406.     dc.b    %01100011
  407.     dc.b    %01111111
  408.     dc.b    %00000000
  409. ; '9'
  410.     dc.b    %01111111
  411.     dc.b    %00000011
  412.     dc.b    %01100011
  413.     dc.b    %01111111
  414.     dc.b    %00000011
  415.     dc.b    %00000011
  416.     dc.b    %01111111
  417.     dc.b    %00000000
  418. ; ':'
  419.     dc.b    %00000000
  420.     dc.b    %00001100
  421.     dc.b    %00001100
  422.     dc.b    %00000000
  423.     dc.b    %00000000
  424.     dc.b    %00001100
  425.     dc.b    %00001100
  426.     dc.b    %00000000
  427. ; ';'
  428.     dc.b    %00000000
  429.     dc.b    %00001100
  430.     dc.b    %00001100
  431.     dc.b    %00000000
  432.     dc.b    %00001100
  433.     dc.b    %00001100
  434.     dc.b    %00011000
  435.     dc.b    %00000000
  436. ; "<"
  437.     dc.b    %00000110
  438.     dc.b    %00001100
  439.     dc.b    %00011000
  440.     dc.b    %00110000
  441.     dc.b    %00011000
  442.     dc.b    %00001100
  443.     dc.b    %00000110
  444.     dc.b    %00000000
  445. ; "="
  446.     dc.b    %00000000
  447.     dc.b    %00000000
  448.     dc.b    %01111110
  449.     dc.b    %00000000
  450.     dc.b    %01111110
  451.     dc.b    %00000000
  452.     dc.b    %00000000
  453.     dc.b    %00000000
  454. ; ">"
  455.     dc.b    %00011000
  456.     dc.b    %00001100
  457.     dc.b    %00000110
  458.     dc.b    %00000011
  459.     dc.b    %00000110
  460.     dc.b    %00001100
  461.     dc.b    %00110000
  462.     dc.b    %00000000
  463. ; '?'
  464.     dc.b    %01111111
  465.     dc.b    %00000000
  466.     dc.b    %00000011
  467.     dc.b    %00001111
  468.     dc.b    %00001100
  469.     dc.b    %00000000
  470.     dc.b    %00001100
  471.     dc.b    %00000000
  472. ; "@"
  473.     dc.b    %00000000    ; :-)
  474.     dc.b    %11100111
  475.     dc.b    %11100111
  476.     dc.b    %00000000
  477.     dc.b    %00010000
  478.     dc.b    %00011000
  479.     dc.b    %10000001
  480.     dc.b    %01111110
  481. ; "A"
  482.     dc.b    %01111111
  483.     dc.b    %00000011
  484.     dc.b    %01100011
  485.     dc.b    %01111111
  486.     dc.b    %01100011
  487.     dc.b    %01100011
  488.     dc.b    %01100011
  489.     dc.b    %00000000
  490. ; "B"
  491.     dc.b    %01111110
  492.     dc.b    %00000011
  493.     dc.b    %01100011
  494.     dc.b    %01111110
  495.     dc.b    %01100011
  496.     dc.b    %01100011
  497.     dc.b    %01111110
  498.     dc.b    %00000000
  499. ; 'C'
  500.     dc.b    %01111111
  501.     dc.b    %00000000
  502.     dc.b    %01100000
  503.     dc.b    %01100000
  504.     dc.b    %01100000
  505.     dc.b    %01100000
  506.     dc.b    %01111111
  507.     dc.b    %00000000
  508. ; 'D'
  509.     dc.b    %01111110
  510.     dc.b    %00000011
  511.     dc.b    %01100011
  512.     dc.b    %01100011
  513.     dc.b    %01100011
  514.     dc.b    %01100011
  515.     dc.b    %01111110
  516.     dc.b    %00000000
  517. ; 'E'
  518.     dc.b    %01111111
  519.     dc.b    %00000000
  520.     dc.b    %01100000
  521.     dc.b    %01111100
  522.     dc.b    %01100000
  523.     dc.b    %01100000
  524.     dc.b    %01111111
  525.     dc.b    %00000000
  526. ; 'F'
  527.     dc.b    %01111111
  528.     dc.b    %00000000
  529.     dc.b    %01100000
  530.     dc.b    %01111100
  531.     dc.b    %01100000
  532.     dc.b    %01100000
  533.     dc.b    %01100000
  534.     dc.b    %00000000
  535. ; 'G'
  536.     dc.b    %01111111
  537.     dc.b    %00000000
  538.     dc.b    %01100000
  539.     dc.b    %01100111
  540.     dc.b    %01100011
  541.     dc.b    %01100011
  542.     dc.b    %01111111
  543.     dc.b    %00000000
  544. ; 'H'
  545.     dc.b    %01100011
  546.     dc.b    %01100011
  547.     dc.b    %01100011
  548.     dc.b    %01101111
  549.     dc.b    %01100011
  550.     dc.b    %01100011
  551.     dc.b    %01100011
  552.     dc.b    %00000000
  553. ; 'I'
  554.     dc.b    %00111111
  555.     dc.b    %00000000
  556.     dc.b    %00001100
  557.     dc.b    %00001100
  558.     dc.b    %00001100
  559.     dc.b    %00001100
  560.     dc.b    %00111111
  561.     dc.b    %00000000
  562. ; 'J'
  563.     dc.b    %00000011
  564.     dc.b    %00000011
  565.     dc.b    %00000011
  566.     dc.b    %00000011
  567.     dc.b    %01100011
  568.     dc.b    %01100000
  569.     dc.b    %01111111
  570.     dc.b    %00000000
  571. ; 'K'
  572.     dc.b    %01100011
  573.     dc.b    %01100110
  574.     dc.b    %00001100
  575.     dc.b    %01111000
  576.     dc.b    %01101100
  577.     dc.b    %01100110
  578.     dc.b    %01100011
  579.     dc.b    %00000000
  580. ; 'L'
  581.     dc.b    %01100000
  582.     dc.b    %01100000
  583.     dc.b    %01100000
  584.     dc.b    %01100000
  585.     dc.b    %01100000
  586.     dc.b    %00000000
  587.     dc.b    %01111111
  588.     dc.b    %00000000
  589. ; 'M'
  590.     dc.b    %01100011
  591.     dc.b    %01110111
  592.     dc.b    %01101011
  593.     dc.b    %01100011
  594.     dc.b    %01100011
  595.     dc.b    %01100011
  596.     dc.b    %01100011
  597.     dc.b    %00000000
  598. ; 'N'
  599.     dc.b    %01111111
  600.     dc.b    %00000011
  601.     dc.b    %01100011
  602.     dc.b    %01100011
  603.     dc.b    %01100011
  604.     dc.b    %01100011
  605.     dc.b    %01100011
  606.     dc.b    %00000000
  607. ; 'O'
  608.     dc.b    %01111111
  609.     dc.b    %00000011
  610.     dc.b    %01100011
  611.     dc.b    %01100011
  612.     dc.b    %01100011
  613.     dc.b    %01100011
  614.     dc.b    %01111111
  615.     dc.b    %00000000
  616. ; 'P'
  617.     dc.b    %01111111
  618.     dc.b    %00000011
  619.     dc.b    %01100011
  620.     dc.b    %01111111
  621.     dc.b    %01100000
  622.     dc.b    %01100000
  623.     dc.b    %01100000
  624.     dc.b    %00000000
  625. ; 'Q'
  626.     dc.b    %01111111
  627.     dc.b    %00000011
  628.     dc.b    %01100011
  629.     dc.b    %01100011
  630.     dc.b    %01100011
  631.     dc.b    %01100111
  632.     dc.b    %01111111
  633.     dc.b    %00000000
  634. ; 'R'
  635.     dc.b    %01111111
  636.     dc.b    %00000011
  637.     dc.b    %01100011
  638.     dc.b    %01111100
  639.     dc.b    %01100011
  640.     dc.b    %01100011
  641.     dc.b    %01100011
  642.     dc.b    %00000000
  643. ; 'S'
  644.     dc.b    %01111111
  645.     dc.b    %00000000
  646.     dc.b    %01100000
  647.     dc.b    %01111111
  648.     dc.b    %00000011
  649.     dc.b    %00000011
  650.     dc.b    %01111111
  651.     dc.b    %00000000
  652. ; 'T'
  653.     dc.b    %01111111
  654.     dc.b    %00000000
  655.     dc.b    %00000011
  656.     dc.b    %00000011
  657.     dc.b    %00000011
  658.     dc.b    %00000011
  659.     dc.b    %00000011
  660.     dc.b    %00000000
  661. ; 'U'
  662.     dc.b    %01100011
  663.     dc.b    %01100011
  664.     dc.b    %01100011
  665.     dc.b    %01100011
  666.     dc.b    %01100011
  667.     dc.b    %00000011
  668.     dc.b    %01111111
  669.     dc.b    %00000000
  670. ; 'V'
  671.     dc.b    %01100011
  672.     dc.b    %01100011
  673.     dc.b    %01100011
  674.     dc.b    %01100011
  675.     dc.b    %01100011
  676.     dc.b    %00110110
  677.     dc.b    %00011100
  678.     dc.b    %00000000
  679. ; 'W'
  680.     dc.b    %01100011
  681.     dc.b    %01100011
  682.     dc.b    %01100011
  683.     dc.b    %01100011
  684.     dc.b    %01101011
  685.     dc.b    %01110111
  686.     dc.b    %01100011
  687.     dc.b    %00000000
  688. ; 'X'
  689.     dc.b    %01100011
  690.     dc.b    %01100011
  691.     dc.b    %00110110
  692.     dc.b    %00001000
  693.     dc.b    %00110110
  694.     dc.b    %01100011
  695.     dc.b    %01100011
  696.     dc.b    %00000000
  697. ; 'Y'
  698.     dc.b    %01100011
  699.     dc.b    %01100011
  700.     dc.b    %00000011
  701.     dc.b    %01111111
  702.     dc.b    %00000011
  703.     dc.b    %00000011
  704.     dc.b    %01111111
  705.     dc.b    %00000000
  706. ; 'Z'
  707.     dc.b    %01111111
  708.     dc.b    %00000000
  709.     dc.b    %00000110
  710.     dc.b    %00001100
  711.     dc.b    %00011000
  712.     dc.b    %00110000
  713.     dc.b    %01111111
  714.     dc.b    %00000000
  715. ;
  716. ; Es fehlen die Kleinbuchstaben... Wenn ihr die Geduld aufweist, dann macht
  717. ; nur! Oder ihr macht eine Zeichnung, die sich beim zusammenstellen ergibt...
  718. ;
  719.  
  720.  
  721.     SECTION MEIPLANE,BSS_C    ; Die SECTION BSS können nur aus NULLEN
  722.                 ; bestehen!!! Man verwendet das DS.B um zu
  723.                 ; definieren, wieviele Nullen die Section
  724.                 ; enthalten soll
  725.  
  726. BITPLANE:
  727.     ds.b    40*256    ; ein Bitplane LowRes 320x256
  728.  
  729.     end
  730.  
  731.  
  732. Dieses  Listing  ist  identisch  mit dem in Listing6c.s, aber der Font ist
  733. "handgemacht". Anstatt ihn ins Listing zu laden liegt er  hier  direkt  in
  734. Form von dc.b vor (binär).
  735.  
  736.  
  737.         ;12345678
  738. ; "A"
  739.     dc.b    %01111111    ;1
  740.     dc.b    %00000011    ;2
  741.     dc.b    %01100011    ;3
  742.     dc.b    %01111111    ;4
  743.     dc.b    %01100011    ;5
  744.     dc.b    %01100011    ;6
  745.     dc.b    %01100011    ;7
  746.     dc.b    %00000000    ;8
  747.  
  748. Das  z.B.  ist  das  "A".  Achtung,  verwendet im zu druckenden Text keine
  749. Kleinbuchstaben, weil es sie im Font nicht gibt. Derjenige, der  den  Font
  750. gezeichnet  hat,  hat  wohl  nach  dem großen "Z" den Geist aufgegeben! In
  751. Wahrheit fehlten auch viele Symbole wie "*;<>=", ich habe sie  dazugemalt.
  752. Nun  ist  vielleicht  auch  der Aufbau eines Font etwas klarer! Ihr werdet
  753. auch ahnen, daß ein 16x16 Font ungefähr genau so aussehen wird:
  754.  
  755.  
  756.         ;1234567890123456
  757. ; "A"
  758.     dc.w    %0000111111111100    ;1
  759.     dc.w    %0011111111111111    ;2
  760.     dc.w    %0011110000001111    ;3
  761.     dc.w    %0011110000001111    ;4
  762.     dc.w    %0011110000001111    ;5
  763.     dc.w    %0011110000001111    ;6
  764.     dc.w    %0011111111111111    ;7
  765.     dc.w    %0011111111111111    ;8
  766.     dc.w    %0011110000001111    ;9
  767.     dc.w    %0011110000001111    ;10
  768.     dc.w    %0011110000001111    ;11
  769.     dc.w    %0011110000001111    ;12
  770.     dc.w    %0011110000001111    ;13
  771.     dc.w    %0011110000001111    ;14
  772.     dc.w    %0000000000000000    ;15
  773.     dc.w    %0000000000000000    ;16
  774.  
  775. Aber es zahlt sich aus, ihn zu zeichnen und dann in RAW zu konvertieren!
  776.  
  777. In diesem Listing empfehle ich euch, den  Font  zu  verändern,  indem  ihr
  778. Bildchen und  komische  Zeichen  hinzufügt.  Ihr  könntet  euch  einen
  779. persönlichen Font zulegen!
  780.  
  781.