Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

28. March 2024, 10:11:33

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,653
  • Total Topics: 1,328
  • Online today: 80
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 91
Total: 92

91 Guests, 1 User
Rennert

Heute so gemacht

Started by oobdoo, 07. April 2015, 21:43:34

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oobdoo

SpriteEditor in Excel zusammen gefummelt.  ;D
Wenn ich Pen 0 und 1 in Mode 0 weglasse, dann spinnen auch die Farben nicht.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

TFM

In MODE 0 sind die Pixel ja annähernd doppelt so breit wie hoch. Wenn Du das in dem Exel Dingens einstellen kannst, dann sieht es da schon eher so aus wie später am CPC.

In obigem Beispiel verwendest Du nur vier Farben, das wäre MODE 1 dann besser. Naja, kommt drauf an was Du sonnst noch am Schirm haben willst.

Sie heißt der maskierte Bursche da oben überhaupt?
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

oobdoo

Das ist nur eine ganz vereinfachte Form eines Sprite-Editors. Hat sich mehr daraus entwickelt, weil ich der Pixelkodierung vom CPC auf den Grund gehen wollte.
Mode 1 bin ich gerade dabei zusätzlich einzubauen.

Der Bursche heißt im F64 Forum TheRealWanderer. Hatte sich so ergeben das ich sein Avatarbild für mein ersten Sprite genommen hatte.  :D

Sollte ich nochmal auf einen richtigen Editor Lust bekommen, dann würde ich den in VB.net schreiben. Und dazu mußte ich erstmal (wieder) verstehen wie die Pixel auf dem CPC funktionieren.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

Devilmarkus

#3
Der GateArray Renderer sieht in Java so aus bei mir:

    protected final void decodeFull(byte[] map, int offs, int mode, int b) {
        switch (mode) {
            case 0:
                map[offs] = map[offs + 1] = map[offs + 2] = map[offs + 3] =
                        (byte) (((b & 0x80) >> 7) | ((b & 0x08) >> 2) | ((b & 0x20) >> 3) | ((b & 0x02) << 2));
                map[offs + 4] = map[offs + 5] = map[offs + 6] = map[offs + 7] =
                        (byte) (((b & 0x40) >> 6) | ((b & 0x04) >> 1) | ((b & 0x10) >> 2) | ((b & 0x01) << 3));
                break;

            case 1:
                map[offs] = map[offs + 1] = (byte) (((b & 0x80) >> 7) | ((b & 0x08) >> 2));
                map[offs + 2] = map[offs + 3] = (byte) (((b & 0x40) >> 6) | ((b & 0x04) >> 1));
                map[offs + 4] = map[offs + 5] = (byte) (((b & 0x20) >> 5) | (b & 0x02));
                map[offs + 6] = map[offs + 7] = (byte) (((b & 0x10) >> 4) | ((b & 0x01) << 1));
                break;

            case 2:
                map[offs++] = (byte) ((b & 0x80) >> 7);
                map[offs++] = (byte) ((b & 0x40) >> 6);
                map[offs++] = (byte) ((b & 0x20) >> 5);
                map[offs++] = (byte) ((b & 0x10) >> 4);
                map[offs++] = (byte) ((b & 0x08) >> 3);
                map[offs++] = (byte) ((b & 0x04) >> 2);
                map[offs++] = (byte) ((b & 0x02) >> 1);
                map[offs] = (byte) (b & 0x01);
                break;

            case 3:
                map[offs] = map[offs + 1] = map[offs + 2] = map[offs + 3] = (byte) (((b & 0x80) >> 7) | ((b & 0x08) >> 2));
                map[offs + 4] = map[offs + 5] = map[offs + 6] = map[offs + 7] = (byte) (((b & 0x40) >> 6) | ((b & 0x04) >> 1));
                break;
        }
    }


Dabei wird ein BYTE (hier: int b) in ein 8 Pixel grosses Array (byte[] map) berechnet...
Vielleicht hilft es Dir ja...
https://cpcwiki.de
Dein Deutsches CPCWiki!

TFM

Ich mach meinen ganzen Kram alles auf'm CPC. Spart mir das "zwischen den Rechnern" austauschen.

Das gute an Programmen ist ja, dass man sie nur einmal machen muss... ;-)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

oobdoo

Quote from: TFM on 08. April 2015, 23:07:51
Ich mach meinen ganzen Kram alles auf'm CPC. Spart mir das "zwischen den Rechnern" austauschen.
Naja, bei Excel ist es auch nur ein Copy/Paste und die Daten sind im Assembler drin.

Mode 1 geht jetzt auch und gleich machen ich noch einen Zeichensatzeditor dazu.  :D
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

TFM

TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

oobdoo

So, hier mal die erste Version für alle die es Interessiert.
Aktuell bastel ich am Zeichensatzeditor rum. Da muß noch Drehen, Spiegeln und son Zeug rein.  :D
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

TFM

Werd ich mir abends dann gleich man angucken :-)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)