Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| z1013:erweiterungen:vollgrafik [2012/11/10 08:57] – angelegt volkerp | z1013:erweiterungen:vollgrafik [2012/11/12 06:24] (aktuell) – [KRT-Grafik (Kleinstrechnertipps)] volkerp | ||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| ===== Spectrum-Grafik (practic) ===== | ===== Spectrum-Grafik (practic) ===== | ||
| - | In [[z1013: | + | In [[z1013: |
| + | |||
| + | Die Schaltung ist als separate Grafikkarte entworfen. Bis auf den Austausch einer Lötbrücke gegen einen Schalter sind auf der Grundplatine keine Eingriffe notwendig. Allerdings sind dafür auch 32 Schaltkreise notwendig! | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| ===== KRT-Grafik (Kleinstrechnertipps) ===== | ===== KRT-Grafik (Kleinstrechnertipps) ===== | ||
| Zeile 12: | Zeile 17: | ||
| Basis ist ein 8K-SRAM. | Basis ist ein 8K-SRAM. | ||
| - | |||
| - | In der Folge erscheinen 2 zusätzliche Beiträge im Funkamateur: | ||
| * Kleinstrechnertipps 11, S. 38-39 | * Kleinstrechnertipps 11, S. 38-39 | ||
| + | |||
| + | In der Folge erscheinen 2 zusätzliche Beiträge im Funkamateur, | ||
| + | |||
| * fa-91-7, S.384ff. A. KÖHLER: Punkt für Punkt - Vollgrafikroutinen für den Z1013 | * fa-91-7, S.384ff. A. KÖHLER: Punkt für Punkt - Vollgrafikroutinen für den Z1013 | ||
| * fa-92-8, S.561ff. V. Göritz: KC-BASIC+ mit Vollgrafik | * fa-92-8, S.561ff. V. Göritz: KC-BASIC+ mit Vollgrafik | ||
| + | **Clever gelöst**: Berechnen der Position im Bildspeicher, | ||
| + | |||
| + | <file z80> | ||
| + | ; | ||
| + | ; Punkt setzen | ||
| + | ; in: L = X (Zeile), H = Y (Spalte) | ||
| + | ; | ||
| + | |||
| + | ; Adr := 0EC00h + 20h * (Zeile DIV 8) + Spalte DIV 8 | ||
| + | ; Bit := 7-(Spalte MOD 8), Block := Zeile MOD 8 | ||
| + | ; Punkt (0,0) ist links oben | ||
| + | |||
| + | gpoint: | ||
| + | gpoint1: | ||
| + | and 7 ; Spalte MOD 8 | ||
| + | rlca | ||
| + | rlca | ||
| + | rlca ; * 8 f. Befehlsberechnung | ||
| + | ld b, a ; | ||
| + | gpoint2: | ||
| + | ; 0BEh RES 7, (HL) Bit löschen, | ||
| + | ; 0FEh SET 7, (HL) Bit setzen | ||
| + | ; SET b, | ||
| + | ; RES b, | ||
| + | sub b ; Bit einrechnen (7-Bit) | ||
| + | ld (gpoint4+1), | ||
| + | ; | ||
| + | srl h ; Spalte DIV 8 | ||
| + | srl h | ||
| + | srl h | ||
| + | ld c, h ; merken | ||
| + | ; | ||
| + | ld a, l ; Zeile | ||
| + | and 7 ; Block := Zeile MOD 8 | ||
| + | out (8), a | ||
| + | ; | ||
| + | srl l ; Zeile | ||
| + | srl l | ||
| + | srl l ; Zeile DIV 8 | ||
| + | ld b, l | ||
| + | inc b ; um 1 erhöhen, damit bei 0. Zeile keine 256 | ||
| + | ; Schleifendurchläufe | ||
| + | ld hl, 0EC00h-20h ; | ||
| + | ld de, 20h ; Länge Bildzeile | ||
| + | gpoint3: | ||
| + | djnz gpoint3 | ||
| + | add hl, bc ; B=0; C=Spalte DIV 8 | ||
| + | gpoint4: | ||
| + | ret | ||
| + | </ | ||
| ===== PZG/HRG von Tino Sander ===== | ===== PZG/HRG von Tino Sander ===== | ||