als binary wäre allerdings schon irgendwie toller =P
wir basteln uns ein crackintro ...
-
sauhund -
26. April 2009 um 17:28 -
Erledigt
Es gibt 180 Antworten in diesem Thema, welches 35.470 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Fein, ein Kollege hat mir den 7up Spriter link geschickt, sorry
Habe es mal mit ner zweiten Farbe kombiniert
Wenn ich mehr Zeit habe, dann bekommst Du deine BinCode
Alles anzeigen;// sprite1 .byte $55,$55,$54 .byte $42,$A8,$04 .byte $4A,$08,$04 .byte $4A,$0A,$A4 .byte $68,$42,$A4 .byte $68,$40,$04 .byte $68,$55,$54 .byte $68,$0A,$A4 .byte $68,$2A,$24 .byte $68,$28,$A4 .byte $60,$AA,$84 .byte $62,$AA,$04 .byte $6A,$55,$54 .byte $4A,$40,$00 .byte $4A,$40,$00 .byte $4A,$40,$00 .byte $4A,$40,$00 .byte $4A,$40,$00 .byte $48,$40,$00 .byte $68,$40,$00 .byte $55,$40,$00 .byte 0 ;// sprite2 .byte $55,$50,$00 .byte $40,$10,$00 .byte $40,$10,$00 .byte $43,$D0,$00 .byte $43,$10,$00 .byte $4F,$10,$00 .byte $4C,$10,$00 .byte $7F,$10,$00 .byte $7F,$10,$00 .byte $4F,$D0,$00 .byte $7F,$D0,$00 .byte $7F,$D0,$00 .byte $7F,$D0,$00 .byte $7F,$D5,$54 .byte $4F,$D0,$34 .byte $73,$13,$F4 .byte $43,$1C,$F4 .byte $43,$0F,$F4 .byte $4F,$FF,$34 .byte $40,$00,$04 .byte $55,$55,$54 .byte 0 ;// sprite3 .byte $05,$55,$40 .byte $14,$00,$50 .byte $50,$00,$14 .byte $40,$00,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $41,$55,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$04 .byte 0 ;// sprite4 .byte $55,$55,$40 .byte $40,$00,$50 .byte $40,$00,$14 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $55,$55,$54 .byte 0 ;// sprite5 .byte $55,$55,$40 .byte $40,$00,$50 .byte $40,$00,$14 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$14 .byte $40,$00,$50 .byte $55,$55,$40 .byte 0 ;// sprite6 .byte $55,$55,$54 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$15,$54 .byte $40,$00,$04 .byte $40,$00,$04 .byte $00,$00,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$15,$54 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $55,$50,$54 .byte 0 ;// sprite7 .byte $54,$15,$40 .byte $40,$00,$50 .byte $40,$00,$14 .byte $40,$00,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$04 .byte $40,$00,$54 .byte $40,$00,$04 .byte $40,$00,$04 .byte $41,$50,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $55,$55,$54 .byte 0 ;// sprite8 .byte $05,$55,$54 .byte $14,$00,$04 .byte $50,$00,$04 .byte $40,$00,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$15,$54 .byte $40,$00,$04 .byte $40,$00,$04 .byte $40,$00,$04 .byte $55,$50,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$10,$04 .byte $40,$00,$04 .byte $40,$00,$14 .byte $40,$00,$50 .byte $55,$55,$40 .byte 0 -
Habe gerade herausgefunden das man auch nen asm code erstellen kann
mom, ich poste malUnd noch mal ein großes SORRY, aber ich habe LInux und da ist das nicht so einfach mit dieser Software
-
-
- Offizieller Beitrag
Ich komme mir hier vor, wie bei "Matrix".
Bitte melde dich an, um diesen Anhang zu sehen.
Soll ich jetzt aus dem Zahlengewirr ein Bild im Kopf generieren?
Zeig doch bitte mal ein GIF o.ä. von den Sprites (und am Besten auch von Charset). Damit sich ein technisch nicht so versierter auch mal was vorstellen kann. 
-
Zum Lernen fände ich ja sogar eine Bitmap von dem Sprite wichtig,
(Von einem Buchstaben sollte reichen zum Verständnis)
sonst wird das vielen Mitlesern gar nix sagen,
da gebe ich Retrofan recht. -
@gh23
kann es sein, dass Du durcheinandergekommen bist bei der Farbwahl?
Vonwegen transparent und so?
Sieht arg seltsam aus.
Wie dem auch sei: wenn man schon in source code binary daten darstellt, bietet sich fuer sprites und chars (da noch mehr) direkt binary an:Code
Alles anzeigen;sprite $000 (000) .byte %01010101,%01010101,%01010100 .byte %01000010,%10101000,%00000100 .byte %01001010,%00001000,%00000100 .byte %01001010,%00001010,%10100100 .byte %01101000,%01000010,%10100100 .byte %01101000,%01000000,%00000100 .byte %01101000,%01010101,%01010100 .byte %01101000,%00001010,%10100100 .byte %01101000,%00101010,%00100100 .byte %01101000,%00101000,%10100100 .byte %01100000,%10101010,%10000100 .byte %01100010,%10101010,%00000100 .byte %01101010,%01010101,%01010100 .byte %01001010,%01000000,%00000000 .byte %01001010,%01000000,%00000000 .byte %01001010,%01000000,%00000000 .byte %01001010,%01000000,%00000000 .byte %01001010,%01000000,%00000000 .byte %01001000,%01000000,%00000000 .byte %01101000,%01000000,%00000000 .byte %01010101,%01000000,%00000000 .byte $00 ;sprite $001 (001) .byte %01010101,%01010000,%00000000 .byte %01000000,%00010000,%00000000 .byte %01000000,%00010000,%00000000 .byte %01000011,%11010000,%00000000 .byte %01000011,%00010000,%00000000 .byte %01001111,%00010000,%00000000 .byte %01001100,%00010000,%00000000 .byte %01111111,%00010000,%00000000 .byte %01111111,%00010000,%00000000 .byte %01001111,%11010000,%00000000 .byte %01111111,%11010000,%00000000 .byte %01111111,%11010000,%00000000 .byte %01111111,%11010000,%00000000 .byte %01111111,%11010101,%01010100 .byte %01001111,%11010000,%00110100 .byte %01110011,%00010011,%11110100 .byte %01000011,%00011100,%11110100 .byte %01000011,%00001111,%11110100 .byte %01001111,%11111111,%00110100 .byte %01000000,%00000000,%00000100 .byte %01010101,%01010101,%01010100 .byte $00 ;sprite $002 (002) .byte %00000101,%01010101,%01000000 .byte %00010100,%00000000,%01010000 .byte %01010000,%00000000,%00010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000001,%01010101,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00000100 .byte $00 ;sprite $003 (003) .byte %01010101,%01010101,%01000000 .byte %01000000,%00000000,%01010000 .byte %01000000,%00000000,%00010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01010101,%01010101,%01010100 .byte $00 ;sprite $004 (004) .byte %01010101,%01010101,%01000000 .byte %01000000,%00000000,%01010000 .byte %01000000,%00000000,%00010100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00010100 .byte %01000000,%00000000,%01010000 .byte %01010101,%01010101,%01000000 .byte $00 ;sprite $005 (005) .byte %01010101,%01010101,%01010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010101,%01010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %00000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010101,%01010100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01010101,%01010000,%01010100 .byte $00 ;sprite $006 (006) .byte %01010100,%00010101,%01000000 .byte %01000000,%00000000,%01010000 .byte %01000000,%00000000,%00010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%01010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000001,%01010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01010101,%01010101,%01010100 .byte $00 ;sprite $007 (007) .byte %00000101,%01010101,%01010100 .byte %00010100,%00000000,%00000100 .byte %01010000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010101,%01010100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01010101,%01010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00010000,%00000100 .byte %01000000,%00000000,%00000100 .byte %01000000,%00000000,%00010100 .byte %01000000,%00000000,%01010000 .byte %01010101,%01010101,%01000000 .byte $00Gruß,
enthusi -
Und ich dachte das richtet sich hier auch an Anfänger in ASM

-
Hm, ich versuche es dann mal in einem netteren post
War etwas wortkarg gebe ich zu.
Ich weiss nicht genau was sauhund hier wollte - also auf welcher Ebene.
Persönlich unterscheide ich zwischen reinem Assembler und c64 coden.
Assembler ist LDA, STA blabla
C64 sobald Adressen mit $dxxx vorkommen
Für diesen Cracktro-Kurs ist es sicher sinnvoll von Ersterem ne Ahnung zu haben,
aber das sollte Sauhund selbst abstecken wenn er Code kommentiert dann.Zu den Sprite-Daten:
Ein Sprite hat 24x21 Pixel.
Ein C64-Byte besteht aus 8 bit.
1 Bit hat 0 oder 1
also die Zahl #0 in Binärschreibweise %00000000
# kennzeichnet Dezimalzahlen, also im bekannten 10er System 0-9
$ steht bei Hex-Zahlen. 0-f; $09=Bitte melde dich an, um diesen Link zu sehen.; $0f=Bitte melde dich an, um diesen Link zu sehen.; $10=Bitte melde dich an, um diesen Link zu sehen. usw.
% für binarzahlen
Bitte melde dich an, um diesen Link zu sehen.=$ff=%11111111Bei C64 Sprites sind 3 aufeinander FOLGENDE Bytes eine SpriteZeile
3 * Byte = 3 * 8 bits = 24 Bits = 24 Pixel (Hires)
Daher schrieb gh23
.byte $00,$00,$00
.byte $00,$00,$00also immer 3 bytes nebeneinander.
Was ich gepostet habe war das gleiche in binärzahlen. Da sieht man die Pixel direkt
(zumindest bei Hires Sprites, denn nur da ist ein bit=1 pixel).byte %01010101,%01010101,%01010100
In Hires ist das also:
_X_X_X_X_X_X_X_X_X_X_X__ ;X = pixelDamit kann aber einen Punkt nur setzen oder eben nicht setzen.
MC = MultiColor Sprites haben aber ja 4 Farben.
Um 4 Farben darstellen zu können braucht man 2 bits
2^2 = 4.
Der C64 nimmt einfach 2 aufeinander folgende Pixel dazu
Dabei heisst die Folge:
00 = transparent = Hintergrund (z.B. $d021, oder ein Char oder Bitmap)
01 = die Farbe die bei $d025 steht ;gilt für alle Sprites
10 = die Farbe die bei $d026 steht ;gilt für alle Sprites
11 = individuelle Farbe pro Sprite bei $d027-$d02f (für 8 Sprites)Daher hat MC nur die halbe Auflösung horizontal, weil man ja 2 pixel verbraucht für EINE Farbinformation.
In MC bedeutet .byte %01010101,%01010101,%01010100 also
11 Pixel in Farbe $d025 und 1 Pixel Transparent:
.byte %|01|01|01|01|,%|01|01|01|01|,%|01|01|01|00|Sieht wild aus, kann man aber mit etwas Übung halbwegs lesen.
Eine Zeile braucht also 3 Byte.
21 Zeilen (= 1 Sprite) sind also 3x21=63 Byte.
Da das aber hässlich ist, sind die Spriteoffsets immer glatt bei Bitte melde dich an, um diesen Link zu sehen.=$40 (schöne Runde Zahl).
Also 1 byte nutzlos. Daher immer nach jedem Sprite das einzelne .byte $00 als Füllbyte.
(wer extrem Platzsparsam sein will, kann statt 00 einen Wert nehmen mit dem der Packer hinterher gut zurechtkommt - das hängt von den Bytes davor und danach ab)Was welche Sprite-Adresse bedeutet (also $d025, etc) steht überall (fast

Zumindest mal im C64-Handbuch
So, Gruss nochma,
enthusi -
Ich finde eigentlich auch den Bitte melde dich an, um diesen Link zu sehen. recht hilfreich aufgrund der Darstellung als Bitmatrix. Das Beispiel ist zwar in BASIC, am Prinzip des Sprite-Aufbaus ändert das aber nichts.
-
- Offizieller Beitrag
Grundsätzlich weiß ich ja grob, wie ein Sprite aufgebaut ist aber ich würde die von diesem Projekt gerne mal sehen. Daher wäre ein Screenshot aus dem Grafikprogramm recht hilfreich. Das gleiche gilt für den Zeichensatz.
-
Gute Idee, sowohl von der Sprite-Generierung als auch vom Charset-Editor ein paar Screenshots zu machen,
wäre wirklich hilfreich und mit wenig Aufwand verbunden.
-
Zitat
Grundsätzlich weiß ich ja grob, wie ein Sprite aufgebaut ist aber ich würde die von diesem Projekt gerne mal sehen. Daher wäre ein Screenshot aus dem Grafikprogramm recht hilfreich. Das gleiche gilt für den Zeichensatz.
ich werde als erstes (nacher irgendwann) ein paar klitzekleine beispielprogramme posten die den charset anzeigen, die musik abspielen, die sprites anzeigen und auch das koala bild.

und das posten irgendwelcher zahlenkolonnen hier halte ich davon ab für herzlich sinnfrei =P
-
(...) ich würde die von diesem Projekt gerne mal sehen. Daher wäre ein Screenshot aus dem Grafikprogramm recht hilfreich. Das gleiche gilt für den Zeichensatz.
hier schon mal der zeichensatz mit ein paar verbesserungvorschlägen: a ist zu breit. g und s fallen irgendwie aus der rolle. i und t scheinen etwas zu schmal zu sein. -
Hallo Leute!
Wenn Ihr schon meinen Font zerpflückt, dann hätte ich da auch ne Frage?Und zwar wie sieht es denn mit dem Copyright für das Bild von den Flanders aus ?
Und Ja, der Font war so gewollt, da es sich ja um ein Grusel (Horror) Game handelt
Macht nur, denn ich habe nur eine Anregung dazu gegeben.
Edit: Ach so, wegen der spartanischen Spritegeschichten, da konnte ich in der Firma leider nicht mehr machen (30min MIttagspause)
-
Zitat
Und zwar wie sieht es denn mit dem Copyright für das Bild von den Flanders aus ?
genauso wie bei dem copyright von dem spiel das am ende hinter das intro gelinkt wird =P -
Danke du Fiese Fritte, jetzt weiß ich genau so viel wie vorher
-
Warum? Er hat doch recht. Für Nat Flanders und das Game verstosst ihr gegen Rechte Dritter.
-
... und bei beidem wird es niemanden jucken, genau

-
- Offizieller Beitrag
Was ist schon ein Crackintro ohne einen schönen Copyright-Verstoß?

-