HDMA Farbverlauf Tutorial

geschrieben am 30.10.2010 9:00:15
zuletzt bearbeitet von SuperNascher am 21.11.2010 11:12:35.
( Link )
Ja ich wollte mal gerne ein HDMA Tutorial machen,da es scheinbar hier fehlt.
Mit HDMA kann man Parallax-Scrolling oder Bunte Specialeffekte machen.


Was man braucht für die ASM ist Xkas und Ersanio's LevelASM + Init.Wenn man beides gedownloaded hat und extrahiert habt,öffnet ihr das levelcode.asm oder levelinitcode.asm mit dem Editor und sucht euer Level für den HDMA Effekt aus.Dann löscht ihr das RTS und fügt folgenen Text ein:

Code
REP #$20
LDA #$3200
STA $4330
LDA #.RedColour
STA $4332
PHK
PLY
STY $4334
LDA #$3200
STA $4340
LDA #.GreenColour
STA $4342
PHK
PLY
STY $4344
LDA #$3200
STA $4350
LDA #.BlueColour
STA $4352
PHK
PLY
STY $4354
SEP #$20
LDA #$38
TSB $0D9F
RTS




Danach fügt ihr euer Effekt-HDMA-Code ein,einige HDMA Farbeffekte findet ihr hier.
Dann macht gibt ihr im Editor ein:
Code
xkas.exe level.asm hack.smc




Dann speichert ihr die Datei mit den Namen patchen.bat (Wichtig ihr müsst das Dateiformat ihm Editor umstellen,sonst wird es noch als Text gespeichert!!!)
Ihr startet dann die Datei und ihr habt dann denn Farbverlauf,wenn ihr eure Rom dann im ZSNES startet.
[attachment="0"]hdmabeispiel.png[/attachment]

Hier ist das Videotutorial von DerKoopa:
geschrieben am 30.10.2010 11:04:48
( Link )
Zitat von SuperNascher:
[...]öffnet ihr das levelcode.asm[...]


Öffnet levelinitcode.asm ,nicht levelcode.asm

BTW. Ist das,das selbe?

Nicht Schlecht für dein erstes Tutorial (in diesem Forum ),aber die Neulinge werden es nur schwer verstehen...Vielleicht solltest du Screenshots machen,und die einfach Step-by-Step erklären...
´s gibt badische und unsymbadische


Was?! Die Signaturlänge wurde auf 1024 Zeichen beschränkt? #notmysignaturelength
geschrieben am 30.10.2010 12:17:25
( Link )
Kein schlechtes Tutorial. Solltest allerdings noch erwähnen, wo man die HDMA-Tables einfügen muss, nämlich unter dem RTS des jeweiligen Level-Codes.

Außerdem will ich noch andmerken, dass man mit HDMA auch sehr viel mehr als nur Farbeffekte machen kann. Zum Beispiel Parallax-Scrolling. Dafür musst der Basiscode dann aber auch wieder entsprechend verändert werden.

Zitat von SuperNascher:
Wichtig ist das ihr beim .Blue/Red/GreenColour die Namen ändern müsst,wenn ihr mehrere Levels mit HDMA benutzen wollt.
Wenn ihr .BlueColour schon verwendet habt,setzt einfach beim nächsten Code .Blue/Red/GreenColour123 hinzu.


Das stimmt nicht! Labels mit Punkten vorne dran (also z.B. .GreenColour) sind Sublabels und können beliebig oft verwendet werden. Xkas liest diese nämlich dann z.B. als "Level105_GreenColour" bzw. je nach Level, bei dem man die reinpackt, als "LevelXXX_GreenColour". Sublabels beziehen sich nämlich immer auf das Hauptlabel direkt darüber. Hauptlabel wäre in diesem Fall "LevelXXX:". Das heißt nur wen man statt Sublabels Hauptlabels verwenden würde (also z.B. "GreenColour:"), dann müsste man immer neue Namen verwenden.

Zitat von TheSuperDomy™:
Öffnet levelinitcode.asm ,nicht levelcode.asm


Man kann beides benutzen, aber einige HDMA-Effekte (z.B. Parallax-Scrolling) erfordern es tatsächlich, dass man sie in levelcode.asm packt. Für Farbverläufe ist levelinitcode.asm in der Tat ausreichend.

Zitat von TheSuperDomy™:
BTW. Ist das,das selbe?


Nein. levelinitcode.asm wird nur ein einziges mal zu Beginn des Levels aufgerufen, während levelcode.asm innerhalb des Levels jede Frame aufgerufen wird.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 30.10.2010 17:27:35
( Link )
Ok,danke für die Informationen RPG Hacker und TheSuperDomy™.
Ich habe einiges schon geändert und ich füge morgen dann Bilder hinzu und überarbeite es nochmal.
Ich wollte die Tage noch ein HTML Dokument machen.
geschrieben am 06.11.2010 21:04:09
( Link )
Ich erklär mal,wie das heute bei mir war:
1. Auf smwhacking.de gehen.
2. Nach nem HDMA Tutorial gucken.
3. Eins gefunden.
4. Durchgelesen & gedacht,ha,das ist ja leicht.
5. xkas und das levelasm teil gesaugt.
6. Sachen entpackt
7. Nur Bahnhof verstanden.

Was fürn Editor,wie benutze ich xkas überhaupt ? Da ist ne bat,die auf,was weiß ich geschrieben ist,ich weiß aber nicht,wie ich die auf meine rom anpasse und und und..könntest du das vielleicht Step by Step mit Screenshots machen ?;P Bitte?

Edit:
Ich hab diesen Thread im alten Forum gefunden :
http://smwhacking.foren-city.de/topic,5 ... orial.html

Kann dort aber nix lesen,außer "Achtung,das Tut ist von Iceman" usw. Liegt das daran das das gesperrt ist ? Aber dann müsst ich das doch noch lesen können ? *verwirrt sei*
geschrieben am 06.11.2010 22:12:18
( Link )
Wir haben ein Tutorial, wie man Xkas benutzt...
Außerdem hat er es doch perfekt erklärt? Einfach Levelinitasm öffnen, dein Level, was du ändern willst nehmen(Beispeil 105, dann bei Level105: darunter das RTS wegmachen), und beliebigen HDMA Code einfügen(zum Beispiel der obere Code), fertig

Falls du das Tutorial nicht findest, hier:http://smwhacking.de/forum/viewtopic.php?f=22&t=60
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 07.11.2010 14:31:36
( Link )
Oh,ich doof..:S Tut mir Leid..;D
geschrieben am 07.11.2010 18:17:17
( Link )
Zitat von DerKoppa:

7. Nur Bahnhof verstanden.


Ich habe es jetzt Aktualisiert damit man auch weiß,wie man Xkas startet.
geschrieben am 07.11.2010 20:23:37
( Link )
Sehr nett,auch wenn ich schon weiß wie.Danke.^^
geschrieben am 11.11.2010 21:43:03
( Link )
na toll jetzt ist meine ganze rom im a****
ich hab es so gemacht weiss nicht was los ist aber es blöd.....
so schlimm ist es auch nicht musste sowieso meinen hack neu starten
hast du skype oder so dann könnten wir vieleicht dort schauen was los ist währe gut

Random Musiktitel:Branchez - Shake
geschrieben am 11.11.2010 21:45:35
( Link )
lösch einfach alle Codes aus der Liste und patche die Datei noch Mal drauf. Schon ist die Rom wieder normal.
geschrieben am 12.11.2010 16:19:29
( Link )
hab ich schon versucht hatt aber nix gebracht
aber sowieso ich bin jetzt froh konnte mich nicht entscheiden ob ich ihn neu starte und jetzt ist es entschieden xD

Random Musiktitel:Branchez - Shake
geschrieben am 18.11.2010 19:54:21
( Link )
Okay,hab heute das erste Mal HDMA eingefügt,hat alles super geklappt,Danke für das Tut!^^
Kennt jemand noch ne Seite mit HDMA Codes,denn auf Kaiser-Deutschland sind ja nur 5..;P
geschrieben am 10.12.2010 17:09:04
( Link )
vieleicht binn ich ja strohdumm aber wo muss ich den code einfügen???
ich meine ganz genau wo nicht nur unter dem bla bla ich verstehe es nicht ganz ^^'

Random Musiktitel:Branchez - Shake
geschrieben am 10.12.2010 17:27:51
( Link )
Zitat von gurkeXtreme:
vieleicht binn ich ja strohdumm aber wo muss ich den code einfügen???
ich meine ganz genau wo nicht nur unter dem bla bla ich verstehe es nicht ganz ^^'

Schau dir mein Tutorial an:
KLICK
geschrieben am 11.12.2010 15:32:04
( Link )
Ich hab' ma' 'ne Frage. Ich hab hier nen Code von IceMan, und der macht meine Rom immer kaputt. Gibt es da irgendwelche unterschiede beim einfügen oder so? Hier der Code:

Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Brightness Gradient
;by Ice Man
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

lorom ;\ ROM is LoRom
header ;| and has a header
org $228000 ;/ Address to insert code

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;RATS Tag Macro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

macro RATS_start(id)
db "STAR"
dw RATS_Endcode-RATS_Startcode
dw RATS_Endcode-RATS_Startcode^#$FFFF
RATS_Startcode:
endmacro

macro RATS_end(id)
RATS_Endcode:
endmacro

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Channel Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

%RATS_start(0)
REP #$20 ;\ Set processor 16 bit
LDA #$0000 ;| $4350 = $2100
STA $4350 ;| $4351 = Mode 00
LDA #Gradient ;| Get gradient pointer
STA $4352 ;| low and high byte
PHK ;| Get bank
PLY ;|
STY $4354 ;| Store to address bank
SEP #$20 ;/ Set processor 8 bit

LDA #$20 ;\ Enable HDMA
TSB $0D9F ;| on channel 5
RTL ;/ Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Table Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Gradient:
db $08,$05
db $08,$06
db $08,$07
db $08,$08
db $08,$09
db $08,$0A
db $08,$0B
db $08,$0C
db $08,$0D
db $08,$0E
db $40,$0F
db $08,$0E
db $08,$0D
db $08,$0C
db $08,$0B
db $08,$0A
db $08,$09
db $08,$08
db $08,$07
db $08,$06
db $08,$05
db $00
%RATS_end(0)


Btw. Ich habe mir abgewöhnt immer auf die Entertaste zu kloppen, weil ich kein Bock mehr habe das ich desswegen verarscht werde
geschrieben am 13.12.2010 0:30:05
( Link )
Spontan: RTL -> RTS
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 13.12.2010 17:29:42
( Link )
Zitat von Shog:
Spontan: RTL -> RTS


Das bezweifle ich irgendwie. Aber irgendwie ist der Code trotzdem komisch. Dadrin gibt es überhaupt keine Hijacks, nur den Code, der bei $228000 eingefügt wird. Wie soll da denn was ausgeführt werden? Deshalb ist es auch kaum vorstellbar, dass der Patch die ROM zum Absturz bringt, außer vielleicht "$228000" ist kein Freespace und da kommt es zu Überschneidungen.

P.S.: Freut mich, dass du endlich mit diesen Absätzen aufgehört hast.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 14.12.2010 15:27:49
( Link )
Danke im Videotutorial wird alles sehr gut erklährt
es funktioniert jetzt alles

Random Musiktitel:Branchez - Shake