Allgemeine SMW Hacking Fragen

geschrieben am 28.12.2012 19:05:17
( Link )
Zitat von MarioLuigiBro07:
Ich sollte wohl aufhören alle Hinweise zu ignorieren
Ähm, dumme Frage, aber wie kopiere ich die GFX in die andere?


2mal YY-CHR öffnen (Neue und Original GFX), dann die Grafiken markieren und mit Strg+C (Oder den Symbol dafür) kopieren und in der Original Datei mit Strg+V (Oder den Symbol dafür) einfügen.
geschrieben am 28.12.2012 20:40:44
( Link )
Zitat von Bladey:
Zitat von MarioLuigiBro07:
Ich sollte wohl aufhören alle Hinweise zu ignorieren
Ähm, dumme Frage, aber wie kopiere ich die GFX in die andere?


2mal YY-CHR öffnen (Neue und Original GFX), dann die Grafiken markieren und mit Strg+C (Oder den Symbol dafür) kopieren und in der Original Datei mit Strg+V (Oder den Symbol dafür) einfügen.

Danke hat geklappt.
geschrieben am 31.12.2012 21:33:27
( Link )
Eine Frage:

Wie füge ich den Patch "Extended OW Level Names" richtig ein ?

Gebt mir Schritt für Schritt Erklärung bitte

SMW Hacken? Was ist das?
geschrieben am 31.12.2012 21:57:07
( Link )
Zitat von EliteBellic:
Eine Frage:

Wie füge ich den Patch "Extended OW Level Names" richtig ein ?

Gebt mir Schritt für Schritt Erklärung bitte


1. Öffne die ASM Datei.

2. Scroll runter bis:
Code
NameData:
;Examples
;db "1234567890123456789"
;db "1234567890123456789"
;
;(note: be sure that every line has 19 characters, or you might get weird
; effects in this mode)
;db $38,$39,$3A,$3B,$3C," OF ",$32,$33,$34,$35,$36,$37,"ON "
;db "by Zeldara",$23,$22,$2B," "
;
;db "Generic level No. 2"
;db " "


3. Da drunter findest du eine Liste mit den Levelnummern. (So geschrieben: ;Level 001 db "This place is green" db "so where is Yoshi? ")

4. Innerhalb der "..." Gibts du den Levelnamen ein.

Wichtig: Du musst den ganzen Platz ausfüllen! Notfalls noch mit Leerzeichen.
z.B. : ;Level 002
db "Hier steht dein ..."
db "langer Levelname "

5. Freespace oben angeben und patchen.
geschrieben am 03.01.2013 14:02:14
( Link )
Kann es zu irgendwelchen Bugs oder Problemen kommen wenn man xkas und asar in einen Hack benutzt? Ich will nähmlich AddmusicK für die Musik und xkas zum patchen benutzten, jedoch ist AMK nur asar.
geschrieben am 03.01.2013 16:31:39
( Link )
nein denn xkas/asar fügen ja beide keinen eigenen code ein der zu konflickten führen könnte sie fügen ja nur die patches ein
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 05.01.2013 9:08:51
( Link )
Was relativ allgemeines.
Was machen PHB, PHK und PLB?
Gibt es eigentlich auch PLK? (ist mir noch nie aufgefallen)
geschrieben am 05.01.2013 11:47:36
( Link )
PHB und PHK pushen/pullen den Wert des Data Bank Registers vom Stack. Das Data Bank Register (DBR) wird immer dann gebraucht, wenn man mit 16-Bit-Adressierung aus ROM-Speicher liest: LDA $89AB würde aus der ROM-Adresse $0089AB laden, wenn das DBR $00 ist, und aus $1289AB, wenn es $12 ist.

PHK pusht das Program Bank Register, das ist die Bank, in der der Code gerade läuft. PLK kann es deswegen nicht geben, denn den Ort, an dem der Code läuft, kann man nicht manipulieren.

Besonders häufig wird die Kombination aus PHB, PHK und PLB in Sprites eingesetzt, wo man eigentlich immer am Anfang so etwas findet wie PHB : PHK : PLB : JSR SpriteCode : PLB : RTL. PHK : PLB überträgt den Wert des Program Bank Register in das Data Bank Register - heißt also, der Code soll die Daten (Tilemaps zum Beispiel) aus derselben Bank lesen, in der er gerade läuft. Die PHB und PLB ganz am Anfang und Ende diesen dazu, den ursprünglichen Wert des DBR beizubehalten und wiederherzustellen.

Ohne diese Befehle kann es passieren, dass man aus der falschen Stelle liest. Wenn man zum Beispiel in Bank $23 LDA Tilemap,x schreibt und sich Tilemap an der Stelle $CDEF befindet, aber das Data Bank Register $00 ist, liest der Code LDA Tilemap,x nicht aus $23CDEF, sondern aus $00CDEF, und das will man meistens nicht.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)
geschrieben am 05.01.2013 12:14:53
( Link )
Zitat von WYE:
PHK pusht das Program Bank Register, das ist die Bank, in der der Code gerade läuft. PLK kann es deswegen nicht geben, denn den Ort, an dem der Code läuft, kann man nicht manipulieren.


Doch, im Prinzip schon. JMP, JSR, JML und JSL tun ja genau das. Nur wäre es eben unsinnig, in eine andere Bank zu springen, ohne eine Adresse in der Bank anzugeben. Das ist ungefähr so, als würde ich sagen "Gib diese Kiste mal in Berlin ab", ohne zu sagen, wo genau in Berlin du sie abgeben solltest.
-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 05.01.2013 12:22:39
( Link )
Na ja, okay, da habe ich mich missverständlich ausgedrückt. Ich meinte, man kann nicht per PLK oder sonst wie die Bank verändern und dann erwarten, dass der Code an derselben Adresse, nur in einer anderen Bank, weiterläuft. An die Sprungbefehle hab ich auch gedacht.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)
geschrieben am 05.01.2013 20:44:38
( Link )
Danke euch beiden
geschrieben am 07.01.2013 18:20:28
( Link )
Frage:
Warum funktioniert dieser Block nicht? Er soll dafür sorgen, dass ein Buzzy Beetle (Sprite Nr.11) als einziger passieren darf.
Er prallt aber einfach ab.. Hier mal der Code:

Code
;Make it act like tile 130

!Sprite = $11 ; To let pass


db $42
JMP n : JMP n : JMP n
JMP y : JMP y : JMP n : JMP n
JMP n : JMP n : JMP n

y:
LDA $9E,x ;\
CMP #!Sprite ; | Add more of these if you want more sprites to be able to pass
BEQ Pass ;/
n:
RTL


Pass:
LDY #$00 ;act like tile 130
LDA #$25
STA $1693
RTL
geschrieben am 07.01.2013 18:22:57
( Link )
Probiere mal den umgekehrten Fall: nicht "durchlässig, wenn Buzzy Beetle", sondern "fest, wenn nicht Buzzy Beetle". Dann natürlich auch daran denken, die "Acts like".Einstellung auf 25 zu setzen.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)
geschrieben am 07.01.2013 18:29:45
( Link )
Klappt.
geschrieben am 14.01.2013 12:35:52
( Link )
Wie füge ich diesen HDMA ein (der ist übrigens von SMWC)?
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)

Den kann man ja nicht per UberASM einfügen.
geschrieben am 14.01.2013 13:57:59
( Link )
Steht im Readme.

Code
Now to insert it to the actual level:
1. Pick your level you want the effect to be used, e.g. level105
2. In levelinit.asm or levelmain.asm serch for level105
3. You'll most likely see a basic test code, replace that with a RTS, if
there's not one yet.
4. Now get your offset you inserted your HDMA effect to, e.g. $228000
5. Add $08 bytes (caused by the RATS tag) and it will become $228008
6. In the level105 field add this "JSL $228008" without the ""
7. Insert level.asm and the HDMA file you picked via Xkas.


Edit: $228000 steht für Freespace, kannst die Adresse beliebig ändern. Wenn du noch andere HDMA Effekte aus seinem Pack wählst, dann musst du denen immer verschiede Adressen geben.
geschrieben am 17.01.2013 19:23:36
( Link )
Welche Palette(n) benutzen die Chucks ?

SMW Hacken? Was ist das?
geschrieben am 17.01.2013 19:43:39
( Link )
Die grüne Sprite-Palette.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)
geschrieben am 20.01.2013 21:51:40
( Link )
Ich hätte mal eine Frage zum Thema Porten von Custom Music. ^^
In der Instrumentenliste sind ja z.B. "Bass Drum" "Snare" und "High Hat" als verschiedene Instrumente gelistet, wie kann ich die, wenn möglich, in einen einzigen Channel unterbringen?
geschrieben am 20.01.2013 22:17:35
( Link )
Man kann innerhalb eines Channels ganz einfach das Instrument wechseln.

Code
@1c4 @2c4


Nur wenn du die INstrumente zur selben Zeit spielen willst, müssen mehrere Channel sein.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)