Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:software:paintbox [2020/12/14 12:35] – [Tabelle] volkerp | z9001:software:paintbox [2021/02/12 08:10] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
die tollen Grafiken für [[z9001: | die tollen Grafiken für [[z9001: | ||
- | ====== Loader ====== | + | | Dateiname | PAINTBOX.COM | |
+ | | Laden in | OS | | ||
+ | | Programmstandort | 4000h-5FFFh | | ||
+ | | | 206h-21Dh Arbeitszellen | | ||
+ | | | 2000h-3FFFh, | ||
+ | | OS-Kommandos | BOXNEW, BOX, TEST | | ||
+ | |||
+ | ===== Download | ||
+ | |||
+ | * {{ : | ||
+ | |||
+ | PAINTBOX_COM.TAP ist das Original. Es kann im Emulator nur per Audio/ | ||
+ | |||
+ | 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. | ||
+ | Es wurden die Kassettenfunktionen auf CALL5-Standard gepatcht. Damit ist das Laden/ | ||
+ | * einen Farb-Pinsel, | ||
+ | * einen Farb-Picker: | ||
+ | |||
+ | ===== Loader | ||
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 | + | Meine gepatchte Version |
- | ====== Bedienung | + | ===== Bedienung ===== |
- | Mit Paintbox ist das Zeichnen von 8 verschiedenen Bildern möglich. Nach erfolgreichem Einladen ist nun das Menue 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 in der Routine 'PAINT PICTURE' | Die in der Routine 'PAINT PICTURE' | ||
Zeile 48: | Zeile 70: | ||
Tasten: | Tasten: | ||
- | ^ Hexadezimal | + | ^ Hexadezimal |
- | | 01 | + | | 01 |
- | | 02 | CL LN | CONTR-B | + | | 02 | CL LN | CONTR-B |
- | | 03 | STOP | CONTR-C | + | | 03 | STOP | CONTR-C |
- | | 04 | + | | 04 |
- | | 05 | + | | 05 |
- | | 06 | + | | 06 |
- | | 07 | + | | 07 |
- | | 08 | cu left | CONTR-H | + | | 08 | cu left | CONTR-H |
- | | 09 | cu right | CONTR-I | + | | 09 | cu right | CONTR-I |
- | | 0A | cu down | CONTR-J | + | | 0A | cu down | CONTR-J |
- | | 0B | cu up | CONTR-K | + | | 0B | cu up | CONTR-K |
- | | 0C | + | | 0C |
- | | 0D | ENTER | CONTR-M | + | | 0D | ENTER | CONTR-M |
- | | 0E | + | | 0E |
- | | 0F | + | | 0F |
- | | 10 | + | | 10 |
- | | 11 | + | | 11 |
- | | 12 | + | | 12 |
- | | 13 | PAUSE | CONTR-S | + | | 13 | PAUSE | CONTR-S |
- | | 14 | COLOR | CONTR-T | + | | 14 | COLOR | CONTR-T |
- | | 15 | COLOR+SHIFT | + | | 15 | COLOR+SHIFT |
- | | 16 | + | | 16 |
- | | 17 | + | | 17 |
- | | 18 | tab right | CONTR-X | + | | 18 | tab right | CONTR-X |
- | | 19 | tab left | CONTR-Y | + | | 19 | tab left | CONTR-Y |
- | | 1A | INS | CONTR-Z | + | | 1A | INS | CONTR-Z |
- | | 1B | ESC | | ' | + | | 1B | ESC | | ' |
- | | 1C | LIST | + | | 1C | LIST |
- | | 1D | RUN | | Wechsel zum Menü | + | | 1D | RUN | | Wechsel zum Menü | |
- | | 1E | CONT | + | | 1E | CONT |
- | | 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 | ||
Bilddatei (COM): | Bilddatei (COM): | ||
fcb name8 = bildnr 1..8 | fcb name8 = bildnr 1..8 | ||
- | compressed - Kennung in FCB 67h = " | + | compressed - Kennung in FCB 67h = " |
- | | + | FCB 68h = " |
+ | | ||
+ | EADR = 0FFFFh | ||
+ | SADR = decomp | ||
+ | |||
+ | 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 94: | Zeile 136: | ||
00 char anzahl | 00 char anzahl | ||
Abgespeichert wird FBWS und BWS (E800-EFBF) ! | Abgespeichert wird FBWS und BWS (E800-EFBF) ! | ||
+ | |||
+ | < | ||
+ | ; | ||
+ | ; 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 " | ||
+ | |||