Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:software:paintbox [2021/01/07 10:10] – [Tabelle] volkerp | z9001:software:paintbox [2021/02/12 08:10] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 22: | Zeile 22: | ||
paintboxu.kcc ist quasi die originale Version am Stück, aber ohne Loader-Prozess. Laden, dann Abbruch mit Reset oder aber gleich mit CLOAD laden. Danach mit BOXNEW starten. Laden/ | paintboxu.kcc ist quasi die originale Version am Stück, aber ohne Loader-Prozess. Laden, dann Abbruch mit Reset oder aber gleich mit CLOAD laden. Danach mit BOXNEW starten. Laden/ | ||
- | paintbox.kcc ist meine gepatchte Version. Laden, Enter, fertig. Laden/ | + | paintbox.kcc ist meine **gepatchte Version**. Laden, Enter, fertig. |
+ | Es wurden die Kassettenfunktionen auf CALL5-Standard gepatcht. Damit ist das Laden/ | ||
+ | * einen Farb-Pinsel, | ||
+ | * einen Farb-Picker: | ||
===== Loader ===== | ===== Loader ===== | ||
Zeile 28: | Zeile 31: | ||
Die originale Version hat einen Loader-Screen (Bild o.l.) und lädt das eigentliche Zeichenprogramm nach. | Die originale Version hat einen Loader-Screen (Bild o.l.) und lädt das eigentliche Zeichenprogramm nach. | ||
- | Meine gepatchte Version wird am Stück geladen, im Loader-Screen ist Enter zu drücken. Außerdem wurden die Kassettenfunktionen auf CALL5-Standard gepatcht. Damit ist das Laden/ | + | Meine gepatchte Version wird am Stück geladen, im Loader-Screen ist Enter zu drücken. |
Zeile 35: | Zeile 38: | ||
Mit Paintbox ist das Zeichnen von 8 verschiedenen Bildern möglich. Nach erfolgreichem Einladen ist nun das Menü zu sehen. | Mit Paintbox ist das Zeichnen von 8 verschiedenen Bildern möglich. Nach erfolgreichem Einladen ist nun das Menü zu sehen. | ||
- | Mit den Tasten rauf, runter,STOP & ENTER wird der Menübalken bewegt und die gewünschte Routine aufgerufen. | + | Mit den Tasten rauf, runter, STOP & ENTER wird der Menübalken bewegt und die gewünschte Routine aufgerufen. |
Die gewünschte Bildnummer 1..8 ist danach zu tippen. | Die gewünschte Bildnummer 1..8 ist danach zu tippen. | ||
Zeile 100: | Zeile 103: | ||
| 1F | DEL | | del | | | 1F | DEL | | del | | ||
+ | |||
+ | ===== Bilder importieren ===== | ||
+ | |||
+ | Im JKCEMU kann man einfach einen Bildschirm als Speicherbereich abspeichern, | ||
+ | Es muss **Farbspeicher bis Ende Bildspeicher** gespeichert werden (FBWS+BWS): | ||
+ | |||
+ | * Bereich E800-EFBF | ||
+ | * Dateiname sinnvollerweise PICTUREx.COM, | ||
+ | * Anfangs-, End- und Startadresse können beliebig gefüllt sein, sinnvolle Werte wären E800, | ||
+ | |||
+ | Die Datei wird mit "load picture" | ||
+ | ausgegeben. Das Bild erhält die Nummer 8. | ||
+ | |||
+ | {{: | ||
===== Interna ===== | ===== Interna ===== | ||
Zeile 106: | Zeile 123: | ||
fcb name8 = bildnr 1..8 | fcb name8 = bildnr 1..8 | ||
- | compressed - Kennung in FCB 67h = " | + | compressed - Kennung in FCB 67h = " |
FCB 68h = " | FCB 68h = " | ||
- | | + | |
+ | EADR = 0FFFFh | ||
+ | SADR = decomp | ||
+ | | ||
Beim Speichern wird der Name PICTURE1.COM .. PICTURE8.COM je nach Bildnummer genommen. | Beim Speichern wird der Name PICTURE1.COM .. PICTURE8.COM je nach Bildnummer genommen. | ||
+ | Das komprimierte Bild wird nach 1000h geladen. Es endet mit einem 01-Byte. Nach dem Bild folgt die Decompress-Routine. Die Startadresse dieser Routine steht im FCB als SADR. | ||
einfache RLE-Compression | einfache RLE-Compression | ||
Zeile 116: | Zeile 137: | ||
Abgespeichert wird FBWS und BWS (E800-EFBF) ! | Abgespeichert wird FBWS und BWS (E800-EFBF) ! | ||
- | BASIC wird als " | + | < |
+ | ; | ||
+ | ; decompact-routine | ||
+ | ; | ||
+ | |||
+ | decomp0: | ||
+ | ld (210h), | ||
+ | ld hl, 0E800h | ||
+ | ld (212h), | ||
+ | | ||
+ | ld de, (212h) ; Ziel | ||
+ | decomp1: | ||
+ | cp 1 ; 1 - Ende | ||
+ | ret z | ||
+ | or a ; 0 - RLE | ||
+ | jr z, decomp3 | ||
+ | ld (de), a ; sonst Zeichen übernehmen | ||
+ | inc de | ||
+ | decomp2: | ||
+ | jr decomp1 | ||
+ | decomp3: | ||
+ | ld a, (hl) ; Zeichen | ||
+ | inc hl | ||
+ | ld b, (hl) ; anzahl | ||
+ | decomp4: | ||
+ | inc de | ||
+ | djnz decomp4 | ||
+ | jr decomp2 | ||
+ | </ | ||
+ | |||
+ | BASIC wird als " | ||