Beiträge von Ranko

geschrieben am 26.06.2011 20:33:34 in Anime & Manga
( Link )
was ist so besonderes an dem Anime? Vieleicht gucke ich mir den auch an
geschrieben am 26.06.2011 21:45:45 in Monatlicher Levelwettbewerb: Juni 2011
( Link )
ich denke mal du hast dieses dino beach level genommen, würde vom thema her passen, Ich finde das level ganz nett
geschrieben am 26.06.2011 21:48:44 in Underway's alte Hacks [Sammelthread]
( Link )
also ich finde das auch genau richtig, ich finds gut wenns ein bisschen ''überladen'' ist
geschrieben am 27.06.2011 11:47:49 in Underway's alte Hacks [Sammelthread]
( Link )
Geil, das Level ist einfach grafisch geil. Wie hast du das mit dem Laub gemacht? Kannst du mir das vieleicht erklären?
geschrieben am 27.06.2011 15:23:05 in Allgemeine SMW Hacking Fragen
( Link )
Zitat von RPG Hacker:

STA $4340 -> STA $4360
STA $4342 -> STA $4362
STY $4344 -> STA $4364
LDA #$38 -> LDA #%01101000

mit dem Code scheint glaub ich was nicht zu stimmen, da er das Level mit dem HDMA Effekt freezt..
Ich habe darauf hin Channel 5 benutzt muss ich den code dann so umändern?
vorher:
LDA #$38 -> LDA #%01101000
nachher
LDA #$38 -> LDA #%00101000
wenn ja freezt dieser code auch das Level
geschrieben am 27.06.2011 15:49:34 in Allgemeine SMW Hacking Fragen
( Link )
So sieht der Code aus, wenn ich Channel 6 benutze
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;True levelinitASM Code lies ahead.
;If you are too lazy to search for a levelinit
;Use CTRL+F. The format is as following:
;levelinitx - levelinits 0-F
;levelinitxx - levelinits 10-FF
;levelinitxxx - levelinits 100-1FF
;Should be pretty obvious...
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

levelinit0:
RTS
levelinit1:
RTS
levelinit2:
RTS
levelinit3:
RTS
levelinit4:
RTS
levelinit5:
RTS
levelinit6:
RTS
levelinit7:
RTS
levelinit8:
RTS
levelinit9:
RTS
levelinitA:
RTS
levelinitB:
RTS
levelinitC:
RTS
levelinitD:
RTS
levelinitE:
RTS
levelinitF:
RTS
levelinit10:
RTS
levelinit11:
RTS
levelinit12:
RTS
levelinit13:
RTS
levelinit14:
RTS
levelinit15:
RTS
levelinit16:
RTS
levelinit17:
RTS
levelinit18:
RTS
levelinit19:
RTS
levelinit1A:
RTS
levelinit1B:
RTS
levelinit1C:
RTS
levelinit1D:
RTS
levelinit1E:
RTS
levelinit1F:
RTS
levelinit20:
RTS
levelinit21:
RTS
levelinit22:
RTS
levelinit23:
RTS
levelinit24:
RTS
levelinit25:
RTS
levelinit26:
RTS
levelinit27:
RTS
levelinit28:
RTS
levelinit29:
RTS
levelinit2A:
RTS
levelinit2B:
RTS
levelinit2C:
RTS
levelinit2D:
RTS
levelinit2E:
RTS
levelinit2F:
RTS
levelinit30:
RTS
levelinit31:
RTS
levelinit32:
RTS
levelinit33:
RTS
levelinit34:
RTS
levelinit35:
RTS
levelinit36:
RTS
levelinit37:
RTS
levelinit38:
RTS
levelinit39:
RTS
levelinit3A:
RTS
levelinit3B:
RTS
levelinit3C:
RTS
levelinit3D:
RTS
levelinit3E:
RTS
levelinit3F:
RTS
levelinit40:
RTS
levelinit41:
RTS
levelinit42:
RTS
levelinit43:
RTS
levelinit44:
RTS
levelinit45:
RTS
levelinit46:
RTS
levelinit47:
RTS
levelinit48:
RTS
levelinit49:
RTS
levelinit4A:
RTS
levelinit4B:
RTS
levelinit4C:
RTS
levelinit4D:
RTS
levelinit4E:
RTS
levelinit4F:
RTS
levelinit50:
RTS
levelinit51:
RTS
levelinit52:
RTS
levelinit53:
RTS
levelinit54:
RTS
levelinit55:
RTS
levelinit56:
RTS
levelinit57:
RTS
levelinit58:
RTS
levelinit59:
RTS
levelinit5A:
RTS
levelinit5B:
RTS
levelinit5C:
RTS
levelinit5D:
RTS
levelinit5E:
RTS
levelinit5F:
RTS
levelinit60:
RTS
levelinit61:
RTS
levelinit62:
RTS
levelinit63:
RTS
levelinit64:
RTS
levelinit65:
RTS
levelinit66:
RTS
levelinit67:
RTS
levelinit68:
RTS
levelinit69:
RTS
levelinit6A:
RTS
levelinit6B:
RTS
levelinit6C:
RTS
levelinit6D:
RTS
levelinit6E:
RTS
levelinit6F:
RTS
levelinit70:
RTS
levelinit71:
RTS
levelinit72:
RTS
levelinit73:
RTS
levelinit74:
RTS
levelinit75:
RTS
levelinit76:
RTS
levelinit77:
RTS
levelinit78:
RTS
levelinit79:
RTS
levelinit7A:
RTS
levelinit7B:
RTS
levelinit7C:
RTS
levelinit7D:
RTS
levelinit7E:
RTS
levelinit7F:
RTS
levelinit80:
RTS
levelinit81:
RTS
levelinit82:
RTS
levelinit83:
RTS
levelinit84:
RTS
levelinit85:
RTS
levelinit86:
RTS
levelinit87:
RTS
levelinit88:
RTS
levelinit89:
RTS
levelinit8A:
RTS
levelinit8B:
RTS
levelinit8C:
RTS
levelinit8D:
RTS
levelinit8E:
RTS
levelinit8F:
RTS
levelinit90:
RTS
levelinit91:
RTS
levelinit92:
RTS
levelinit93:
RTS
levelinit94:
RTS
levelinit95:
RTS
levelinit96:
RTS
levelinit97:
RTS
levelinit98:
RTS
levelinit99:
RTS
levelinit9A:
RTS
levelinit9B:
RTS
levelinit9C:
RTS
levelinit9D:
RTS
levelinit9E:
RTS
levelinit9F:
RTS
levelinitA0:
RTS
levelinitA1:
RTS
levelinitA2:
RTS
levelinitA3:
RTS
levelinitA4:
RTS
levelinitA5:
RTS
levelinitA6:
RTS
levelinitA7:
RTS
levelinitA8:
RTS
levelinitA9:
RTS
levelinitAA:
RTS
levelinitAB:
RTS
levelinitAC:
RTS
levelinitAD:
RTS
levelinitAE:
RTS
levelinitAF:
RTS
levelinitB0:
RTS
levelinitB1:
RTS
levelinitB2:
RTS
levelinitB3:
RTS
levelinitB4:
RTS
levelinitB5:
RTS
levelinitB6:
RTS
levelinitB7:
RTS
levelinitB8:
RTS
levelinitB9:
RTS
levelinitBA:
RTS
levelinitBB:
RTS
levelinitBC:
RTS
levelinitBD:
RTS
levelinitBE:
RTS
levelinitBF:
RTS
levelinitC0:
RTS
levelinitC1:
RTS
levelinitC2:
RTS
levelinitC3:
RTS
levelinitC4:
RTS
levelinitC5:
RTS
levelinitC6:
RTS
levelinitC7:
RTS
levelinitC8:
RTS
levelinitC9:
RTS
levelinitCA:
RTS
levelinitCB:
RTS
levelinitCC:
RTS
levelinitCD:
RTS
levelinitCE:
RTS
levelinitCF:
RTS
levelinitD0:
RTS
levelinitD1:
RTS
levelinitD2:
RTS
levelinitD3:
RTS
levelinitD4:
RTS
levelinitD5:
RTS
levelinitD6:
RTS
levelinitD7:
RTS
levelinitD8:
RTS
levelinitD9:
RTS
levelinitDA:
RTS
levelinitDB:
RTS
levelinitDC:
RTS
levelinitDD:
RTS
levelinitDE:
RTS
levelinitDF:
RTS
levelinitE0:
RTS
levelinitE1:
RTS
levelinitE2:
RTS
levelinitE3:
RTS
levelinitE4:
RTS
levelinitE5:
RTS
levelinitE6:
RTS
levelinitE7:
RTS
levelinitE8:
RTS
levelinitE9:
RTS
levelinitEA:
RTS
levelinitEB:
RTS
levelinitEC:
RTS
levelinitED:
RTS
levelinitEE:
RTS
levelinitEF:
RTS
levelinitF0:
RTS
levelinitF1:
RTS
levelinitF2:
RTS
levelinitF3:
RTS
levelinitF4:
RTS
levelinitF5:
RTS
levelinitF6:
RTS
levelinitF7:
RTS
levelinitF8:
RTS
levelinitF9:
RTS
levelinitFA:
RTS
levelinitFB:
RTS
levelinitFC:
RTS
levelinitFD:
RTS
levelinitFE:
RTS
levelinitFF:
RTS
levelinit100:
RTS
levelinit101:
RTS
levelinit102:
RTS
levelinit103:
RTS
levelinit104:
RTS
levelinit105:
RTS
levelinit106:
REP #$20
LDA #$3200
STA $4330
LDA #.RedColour
STA $4332
PHK
PLY
STY $4334
LDA #$3200
STA $4360
LDA #.GreenColour
STA $4362
PHK
PLY
STY $4364
LDA #$3200
STA $4350
LDA #.BlueColour
STA $4352
PHK
PLY
STY $4354
SEP #$20
LDA #%01101000
TSB $0D9F
RTS
.RedColour
db $07,$3B
db $07,$3C
db $07,$3D
db $07,$3E
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $60,$3F
db $00

.GreenColour
db $07,$4E
db $07,$4F
db $07,$50
db $07,$51
db $07,$52
db $07,$53
db $07,$54
db $07,$55
db $07,$56
db $07,$57
db $07,$58
db $07,$59
db $07,$5A
db $07,$5B
db $60,$5C
db $00

.BlueColour
db $07,$86
db $07,$87
db $07,$88
db $07,$89
db $07,$8A
db $07,$8B
db $07,$8C
db $07,$8D
db $07,$8E
db $07,$8F
db $07,$90
db $07,$91
db $07,$92
db $07,$93
db $60,$94
db $00

levelinit107:

levelinit108:
REP #$20
LDA #$3200
STA $4330
LDA #.RedColour
STA $4332
PHK
PLY
STY $4334
LDA #$3200
STA $4360
LDA #.GreenColour
STA $4362
PHK
PLY
STY $4364
LDA #$3200
STA $4350
LDA #.BlueColour
STA $4352
PHK
PLY
STY $4354
SEP #$20
LDA #%01101000
TSB $0D9F
RTS
.RedColour
db $07,$3B
db $07,$3C
db $07,$3D
db $07,$3E
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $07,$3F
db $60,$3F
db $00

.GreenColour
db $07,$4E
db $07,$4F
db $07,$50
db $07,$51
db $07,$52
db $07,$53
db $07,$54
db $07,$55
db $07,$56
db $07,$57
db $07,$58
db $07,$59
db $07,$5A
db $07,$5B
db $60,$5C
db $00

.BlueColour
db $07,$86
db $07,$87
db $07,$88
db $07,$89
db $07,$8A
db $07,$8B
db $07,$8C
db $07,$8D
db $07,$8E
db $07,$8F
db $07,$90
db $07,$91
db $07,$92
db $07,$93
db $60,$94
db $00
levelinit109:
RTS
levelinit10A:
RTS
levelinit10B:
RTS
levelinit10C:
RTS
levelinit10D:
RTS
levelinit10E:
RTS
levelinit10F:
RTS
levelinit110:
RTS
levelinit111:
RTS
levelinit112:
RTS
levelinit113:
RTS
levelinit114:
RTS
levelinit115:
RTS
levelinit116:
RTS
levelinit117:
RTS
levelinit118:
RTS
levelinit119:
RTS
levelinit11A:
RTS
levelinit11B:
RTS
levelinit11C:
RTS
levelinit11D:
RTS
levelinit11E:
RTS
levelinit11F:
RTS
levelinit120:
RTS
levelinit121:
RTS
levelinit122:
RTS
levelinit123:
RTS
levelinit124:
RTS
levelinit125:
RTS
levelinit126:
RTS
levelinit127:
RTS
levelinit128:
RTS
levelinit129:
RTS
levelinit12A:
RTS
levelinit12B:
RTS
levelinit12C:
RTS
levelinit12D:
RTS
levelinit12E:
RTS
levelinit12F:
RTS
levelinit130:
RTS
levelinit131:
RTS
levelinit132:
RTS
levelinit133:
RTS
levelinit134:
RTS
levelinit135:
RTS
levelinit136:
RTS
levelinit137:
RTS
levelinit138:
RTS
levelinit139:
RTS
levelinit13A:
RTS
levelinit13B:
RTS
levelinit13C:
RTS
levelinit13D:
RTS
levelinit13E:
RTS
levelinit13F:
RTS
levelinit140:
RTS
levelinit141:
RTS
levelinit142:
RTS
levelinit143:
RTS
levelinit144:
RTS
levelinit145:
RTS
levelinit146:
RTS
levelinit147:
RTS
levelinit148:
RTS
levelinit149:
RTS
levelinit14A:
RTS
levelinit14B:
RTS
levelinit14C:
RTS
levelinit14D:
RTS
levelinit14E:
RTS
levelinit14F:
RTS
levelinit150:
RTS
levelinit151:
RTS
levelinit152:
RTS
levelinit153:
RTS
levelinit154:
RTS
levelinit155:
RTS
levelinit156:
RTS
levelinit157:
RTS
levelinit158:
RTS
levelinit159:
RTS
levelinit15A:
RTS
levelinit15B:
RTS
levelinit15C:
RTS
levelinit15D:
RTS
levelinit15E:
RTS
levelinit15F:
RTS
levelinit160:
RTS
levelinit161:
RTS
levelinit162:
RTS
levelinit163:
RTS
levelinit164:
RTS
levelinit165:
RTS
levelinit166:
RTS
levelinit167:
RTS
levelinit168:
RTS
levelinit169:
RTS
levelinit16A:
RTS
levelinit16B:
RTS
levelinit16C:
RTS
levelinit16D:
RTS
levelinit16E:
RTS
levelinit16F:
RTS
levelinit170:
RTS
levelinit171:
RTS
levelinit172:
RTS
levelinit173:
RTS
levelinit174:
RTS
levelinit175:
RTS
levelinit176:
RTS
levelinit177:
RTS
levelinit178:
RTS
levelinit179:
RTS
levelinit17A:
RTS
levelinit17B:
RTS
levelinit17C:
RTS
levelinit17D:
RTS
levelinit17E:
RTS
levelinit17F:
RTS
levelinit180:
RTS
levelinit181:
RTS
levelinit182:
RTS
levelinit183:
RTS
levelinit184:
RTS
levelinit185:
RTS
levelinit186:
RTS
levelinit187:
RTS
levelinit188:
RTS
levelinit189:
RTS
levelinit18A:
RTS
levelinit18B:
RTS
levelinit18C:
RTS
levelinit18D:
RTS
levelinit18E:
RTS
levelinit18F:
RTS
levelinit190:
RTS
levelinit191:
RTS
levelinit192:
RTS
levelinit193:
RTS
levelinit194:
RTS
levelinit195:
RTS
levelinit196:
RTS
levelinit197:
RTS
levelinit198:
RTS
levelinit199:
RTS
levelinit19A:
RTS
levelinit19B:
RTS
levelinit19C:
RTS
levelinit19D:
RTS
levelinit19E:
RTS
levelinit19F:
RTS
levelinit1A0:
RTS
levelinit1A1:
RTS
levelinit1A2:
RTS
levelinit1A3:
RTS
levelinit1A4:
RTS
levelinit1A5:
RTS
levelinit1A6:
RTS
levelinit1A7:
RTS
levelinit1A8:
RTS
levelinit1A9:
RTS
levelinit1AA:
RTS
levelinit1AB:
RTS
levelinit1AC:
RTS
levelinit1AD:
RTS
levelinit1AE:
RTS
levelinit1AF:
RTS
levelinit1B0:
RTS
levelinit1B1:
RTS
levelinit1B2:
RTS
levelinit1B3:
RTS
levelinit1B4:
RTS
levelinit1B5:
RTS
levelinit1B6:
RTS
levelinit1B7:
RTS
levelinit1B8:
RTS
levelinit1B9:
RTS
levelinit1BA:
RTS
levelinit1BB:
RTS
levelinit1BC:
RTS
levelinit1BD:
RTS
levelinit1BE:
RTS
levelinit1BF:
RTS
levelinit1C0:
RTS
levelinit1C1:
RTS
levelinit1C2:
RTS
levelinit1C3:
RTS
levelinit1C4:
RTS
levelinit1C5:
RTS
levelinit1C6:
RTS
levelinit1C7:
RTS
levelinit1C8:
RTS
levelinit1C9:
RTS
levelinit1CA:
RTS
levelinit1CB:
RTS
levelinit1CC:
RTS
levelinit1CD:
RTS
levelinit1CE:
RTS
levelinit1CF:
RTS
levelinit1D0:
RTS
levelinit1D1:
RTS
levelinit1D2:
RTS
levelinit1D3:
RTS
levelinit1D4:
RTS
levelinit1D5:
RTS
levelinit1D6:
RTS
levelinit1D7:
RTS
levelinit1D8:
RTS
levelinit1D9:
RTS
levelinit1DA:
RTS
levelinit1DB:
RTS
levelinit1DC:
RTS
levelinit1DD:
RTS
levelinit1DE:
RTS
levelinit1DF:
RTS
levelinit1E0:
RTS
levelinit1E1:
RTS
levelinit1E2:
RTS
levelinit1E3:
RTS
levelinit1E4:
RTS
levelinit1E5:
RTS
levelinit1E6:
RTS
levelinit1E7:
RTS
levelinit1E8:
RTS
levelinit1E9:
RTS
levelinit1EA:
RTS
levelinit1EB:
RTS
levelinit1EC:
RTS
levelinit1ED:
RTS
levelinit1EE:
RTS
levelinit1EF:
RTS
levelinit1F0:
RTS
levelinit1F1:
RTS
levelinit1F2:
RTS
levelinit1F3:
RTS
levelinit1F4:
RTS
levelinit1F5:
RTS
levelinit1F6:
RTS
levelinit1F7:
RTS
levelinit1F8:
RTS
levelinit1F9:
RTS
levelinit1FA:
RTS
levelinit1FB:
RTS
levelinit1FC:
RTS
levelinit1FD:
RTS
levelinit1FE:
RTS
levelinit1FF:
RTS

wenn ich jetzt Channel 0 verwende muss ich aus ''LDA #%01101000'' ''LDA #%00101001'' machen? Und wenn ich Channel1 verwende aus ''LDA #%01101000'' ''LDA #%00101010''? Ich hoffe ich hab das so richtig verstanden
geschrieben am 27.06.2011 16:45:15 in Allgemeine SMW Hacking Fragen
( Link )
Keiner der Channels funktioniert. Jedes mal freezt das Level mit dem HDMA Effekt. Dann muss der Code also umgebaut werden, wie muss der dann aussehen?
geschrieben am 27.06.2011 17:04:06 in Allgemeine SMW Hacking Fragen
( Link )
mit ''LDA #$68'' funktioniert es und der bug ist weg, ich danke dir RPG Hacker!

Ich habe jetzt allerdings noch einen kleinen mini bug, der jetzt nicht so schlimm ist, aber wenn man den verhindern kann sollte man es tun, falls möglich:

Level 105 = kein HDMA
Level 106 = HDMA
Level 107 = kein HDMA
Level 108 = HDMA
im Video switche ich von Level 105 zu 107 und dann sofort zurück, beim switchen habe ich auf einmal diesen HDMA Farbverlauf für eine Sekunde, kann ich das irgendwie weg machen?
geschrieben am 27.06.2011 18:42:40 in Allgemeine SMW Hacking Fragen
( Link )
Danke WYE! Dieser Code war zwar schwierig zum laufen zu kriegen(ich war zu blöd für Freespace), aber jetzt funktioniert er einwandfrei.

Ich glaub ich mach dazu ein Tutorial: ''HDMA bug fix Tutorial'' . Ich glaub das wäre ganz nützlich, was meint ihr?
E: Ich würde beschreiben wie man die ganzen HDMA bugs von oben beheben kann
geschrieben am 27.06.2011 18:59:10 in Allgemeine SMW Hacking Fragen
( Link )
"LDA.b #%01101000" funktioniert auch
geschrieben am 27.06.2011 19:53:06 in HDMA Bug fix Tutorial
( Link )
In diesem Tutorial erkläre ich euch wie man diverse HDMA Bugs beheben kann.


1:HDMA Bug beim Durchqueren des Ziels und bei der Benutzung des Keyholes vermeiden

Ich erkläre euch nun wie ihr diese HDMA bugs vermeiden könnt:
Durchqueren des Ziels anzeigen

Benutzung des Keyholes anzeigen
(die Message Box erstmal nicht beachten)
Zur Einleitung:
Zitat von WYE:
HDMA ist nicht direkt wie Layer 3. Es verschwindet, aber aus anderen Gründen. Was viele nicht wissen: Auch der Ausblend-Kreis am Ende des Levels, der Schlüsselloch-Effekt bei Secret Exits und der schwarze Hintergrund bei Message-Boxen sind HDMA. Es gibt acht verschiedene "Channel", die für HDMA-Effekte benutzt werden können, und wenn ein selbst eingefügter Farbverlaufseffekt denselben Channel benutzt wie einer der eben genannten Effekte, verschwindet der Farbverlauf. Es ist eben nur Platz für einen Effekt pro Channel.

Behebung:
Zitat von WYE:
Für das Problem mit dem Kreis- und dem Schlüsselloch-Effekt heißt die Lösung "andere Channels benutzen". Channels 3, 4 und 5 werden von SMW nicht benutzt und könen daher problemlos verwendet werden. Suche im HDMA-Code nach vierstelligen Adressen, die mit $43 beginnen - Zum Beispiel $4370. Die dritte Stelle - 7 - bedeutet, dass Channel 7 benutzt wird. Diese Zahl änderst du dann - zum Beispiel zu 5, so dass du dann $4350 hast. Es wird im HDMA-Code mehrere Zahlen geben, deren dritte Stelle gleich ist, die musst du dann alle zur selben Zahl ändern. Außerdem benutzen Farbverläufe meist mehr als einen Channel.


ABER: Sollte das nicht funktionieren, liegt's nicht daran, dass ein Channel zweimal benutzt wird, sondern daran, dass der SMW-Effekt alle anderen Channels ausschaltet.
Um die Bugs aus dem Video oben zu fixen müsst ihr einfach nur diesen Patch anwenden:
Code
    header : lorom

org $0092A2 : db $0C
org $0092EA : db $0C
org $00CB0C : db $0C
org $03C511 : db $0C
org $04DB99 : db $0C
org $05B296 : db $0C
org $0CAB98 : db $0C


2: HDMA Bug beim Aktivieren der Message Box vermeiden

Nun erkläre ich euch wie ihr diesen Bug fixen könnt:
Aktivieren der Message Box anzeigen
(Ich weiß ich benutze RPG Hackers VWF Patch aber die original Message boxen weisen den selben bug auf)

Falls ihr RPG Hackers VWF-Patch nicht benutzt, müsste ihr einfach Diesen Patch(Free Space nicht vergessen!)von Kaijyuu anwenden.

Falls ihr aber RPG Hackers VWF-Patch verwendet müsst ihr folgendes tun:

RPG-Hackers Patch benutzt Channel 4 also kann er im HDMA Code nicht benutzt werden. Channel 6 kann man in SMW problemlos nutzen. Ihr müsst im HDMA Code:
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

folgendes ändern:
STA $4340 -> STA $4360
STA $4342 -> STA $4362
STY $4344 -> STY $4364

LDA #$38 -> LDA.b #%01101000 oder LDA #$38 -> LDA #$68

3: HDMA Bug beim Switchen zwischen 2 Leveln verhindern

Nun erkläre ich euch wie ihr diesen Bug verhindert:
In ein anderes Level switchen anzeigen

Ihr müsst einfach diesen Patch anwenden (unbedingt auf Freespace achten!):
Code
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Code v3.5
;originally made by BMF.
;Bug fixes and new features added
;Now works with bsnes and snes9x, too!
;by Ice Man
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;JSL to Main Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

lorom ;\ ROM is Lorom
header ;| and has a header.
org $0081AA ;| Hack NMI routine and
JSL CodeStart ;| jump to our code.
NOP #4 ;/ 4 time NOP (No Operation)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Main Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


org $00FFFF ;| CHANGE THIS TO SOME FREE SPACE!!!!
reset bytes


!CodeSize = CodeEnd-CodeStart ;\
RATS: ;| Write RATS tag to
db "STAR" ;| prevent other programs
dw !CodeSize-$01 ;| from overwriting this
dw !CodeSize-$01^$FFFF ;/ code!

CodeStart:
LDA $0100 ;\ Execute HDMA on
BEQ Start ;/ Nintendo Presents logo

CMP #$05
BEQ Start
CMP #$06
BEQ Start



CMP #$0E ;\ Execute HDMA on
BEQ Start ;/ the overworld
CMP #$0F ;\ Execute HDMA on
BEQ Start ;/ the overworld (fading)
CMP #$10 ;\ Don't execute HDMA
BEQ EndHDMA ;/ on black screens
CMP #$11 ;\ Don't execute HDMA
BEQ EndHDMA ;/ on black screens
CMP #$14 ;\ Execute HDMA in
BEQ Start ;/ the levels
CMP #$17 ;\ Don't execute HDMA
BCS EndHDMA ; | if game mode over 16
RTL ;/ Return

Start:
LDA $7FFF00,x ;\ Load Main HDMA table
BNE Execute ;/ If it isn't equal, execute.

Loop:
TXA ;\ Transfer X to Accumulator
CLC ;| Clear Carry Flag
ADC #$08 ;| and add 08 (for channels).
CMP #$40 ;| If channel is higher then 40,
BCS Return ;| then return and transfer
TAX ;| Accumulator back to X.
BRA Start ;/ Go back to the beginning.

Execute:
ORA $0D9F ;\ Enable HDMA channels
STA $0D9F ;| to actually execute the code.
TXA ;| Transfer X to Accumulator
ASL A ;| Multiply by 2
TAY ;| then transfer Accumulator to Y.
LDA $7FFF01,x ;| Enable DMA Transfer
STA $4300,y ;| at $4300.
LDA $7FFF02,x ;| Set B-Address
STA $4301,y ;| at $4301.
REP #$20 ;| Set processor to 16 Bit
LDA $7FFF03,x ;| Set A-Address (low byte)
STA $4302,y ;| at $4302.
SEP #$20 ;| Set processor to 8 Bit
LDA $7FFF05,x ;| Set A-Address bank
STA $4304,y ;| at $4304.
BRA Loop ;/ Loop the code.

Return:
RTL ;| Return

EndHDMA:
STZ $0D9F ;\ Disable HDMA transfer
LDA #$80 ;| Restore part of the
STA $2100 ;| NMI code because we
STZ $420C ;| JSLed to it
RTL ;/ and return.
CodeEnd:

print bytes


Dieses Tutorial wird evtl noch ergänzt falls es noch mehr Bugs gibt

Das ist mein erstes Tutorial. Ich hoffe ich habe es einigermassen verständlich erklärt. Für Verbesserungsvorschläge bin ich immer offen
geschrieben am 27.06.2011 22:28:59 in HDMA Bug fix Tutorial
( Link )
Das patchst du ganz normal mit xkas. Also in eine Textdatei kopieren dann als .asm speichern und drauf patchen
geschrieben am 28.06.2011 12:33:35 in Allgemeine SMW Hacking Fragen
( Link )
1: Ich habe ein kleines Problem mit dem Wavy HDMA Effekt.
Das ist der Original Code:
Code


REP #$20 ; 16 bit A
LDA #$0F42 ; one reg write twice, indirect
STA $4340 ; $210F - layer 2 horizontal scroll register
LDA #$B600 ; low and high bytes of source address
STA $4342 ;
SEP #$20 ; 8 bit A
LDA #$7F ; set bank
STA $4344 ;
STA $4347 ; set indirect bank too
LDA #$10 ; enable channel 4
TSB $0D9F ;


LDA #$00 ; setup indirect addressing
STA $00 ; target address: $7FB600
LDA #$B6
STA $01
LDA #$7F
STA $02

LDX #$09 ; loop 10 (decimal) times

LVL6_LOOP6:

LDY #$17 ; loop 24 (decimal) times
LVL6_LOOP7:
LDA LVL6_HDMA4,y;
STA [$00],y ; upload table to RAM
DEY
BPL LVL6_LOOP7

REP #$20 ; 16 bit A
LDA $00 ; load low/high byte of target address
CLC
ADC #$0018 ; add 18
STA $00 ; store back
SEP #$20 ; 8 bit A

DEX
BPL LVL6_LOOP6 ; loop again if needed

LDA #$00 ; add in terminator byte
STA [$00]
RTS

Code
Code

REP #$20 ; 16 bit A

LDX #$0E ; update scroll values
LVL6_LOOP8:
LDA $1E ; layer 2 x
CLC
ADC LVL6_HDMA2,x; add in offset
STA $7FB710,x ; store to HDMA table
DEX
DEX
BPL LVL6_LOOP8 ; loop 8 times

SEP #$20 ; 8 bit A

LDX #$15 ; reset these scanline counts
LDA #$04
LVL6_8:
STA $7FB600,x
DEX
DEX
DEX
BPL LVL6_8

STZ $00 ; set this scratch to 00

LDA $14 ; frame counter
LSR ; /2
AND #$03 ; mod 4
CLC
ADC $20 ; add in layer 2 y
LVL6_7:
CMP #$04 ; check if below 4
BCC LVL6_6 ; continue if so
SBC #$04 ; subtract 4 until it is
INC $00 ; increment scratch
BRA LVL6_7 ; loop
LVL6_6:
SEC ;
SBC #$04 ; flip
EOR #$FF
INC A
STA $01 ; store to scratch for later

LDA $14 ; frame counter
LSR ; /8
LSR
LSR
CLC
ADC $00 ; add in additional from layer 2's y
AND #$07 ; mod 8
STA $00 ; store to scratch
ASL ; x3
CLC
ADC $00
TAX ; stick in x
LDA $01 ; get scanline count
STA $7FB600,x ; set scanline count
STX $4342 ; set table offset

RTS


LVL6_HDMA2: ; holds how much to offset layer 2's horizontal scrolling by. 2 byte width
db $00,$00,$FF,$FF,$FE,$FF,$FF,$FF,$00,$00,$01,$00,$02,$00,$01,$00


LVL6_HDMA4: ; holds initial HDMA settings for layer 2
db $04,$10,$B7 ; first byte = scanline count, second byte = low byte of address, third = high byte
db $04,$12,$B7
db $04,$14,$B7
db $04,$16,$B7
db $04,$18,$B7
db $04,$1A,$B7
db $04,$1C,$B7
db $04,$1E,$B7

So ich habe diesen Code nun abgeändert damit er mit dem VWF-Patch von RPG Hacker kompatibel ist:
Code
REP #$20	; 16 bit A
LDA #$0F42 ; one reg write twice, indirect
STA $4360 ; $210F - layer 2 horizontal scroll register
LDA #$B600 ; low and high bytes of source address
STA $4362 ;
SEP #$20 ; 8 bit A
LDA #$7F ; set bank
STA $4364 ;
STA $4367 ; set indirect bank too
LDA.b #%01101000 ; enable channel 4
TSB $0D9F ;


LDA #$00 ; setup indirect addressing
STA $00 ; target address: $7FB600
LDA #$B6
STA $01
LDA #$7F
STA $02

LDX #$09 ; loop 10 (decimal) times

LVL6_LOOP6:

LDY #$17 ; loop 24 (decimal) times
LVL6_LOOP7:
LDA LVL6_HDMA4,y;
STA [$00],y ; upload table to RAM
DEY
BPL LVL6_LOOP7

REP #$20 ; 16 bit A
LDA $00 ; load low/high byte of target address
CLC
ADC #$0018 ; add 18
STA $00 ; store back
SEP #$20 ; 8 bit A

DEX
BPL LVL6_LOOP6 ; loop again if needed

LDA #$00 ; add in terminator byte
STA [$00]
RTS

Levelcode asm habe ich nicht geändert.

Der wavy Effekt ist nun mit dem Patch kompatible, aber der wavy Effekt hat sich jetzt nun in ein Flimmer Effekt verwandelt (das gefällt mir eig. wegen Wüste). Aber wenn ich nun das Level spiele und der Bildschirm scrollt sieht der HDMA effekt so komisch aus:

habe ich im Code vieleicht was falsch geändert?
2: Wie muss ich den Code umschreiben, damit der wavy Effekt sich auch auf den FG auswirkt und mit ^1: kompatible ist?
geschrieben am 28.06.2011 23:10:05 in Monatlicher Levelwettbewerb: Juni 2011
( Link )
Sauber ich bin Zweiter!

Herzlichen Glückwunsch LPErr0r!

Nur ein paar Sachen verstehe ich nicht ganz.
Zitat von Ricicir:
Design - 3/5 Punkte Ein ziemlich gutes Leveldesign und die Secrets wurden gut versteckt.ABER man kann fest stecken, indem man bei den Super Koopas auf die SK drauf springt und somit in die Wand springt. Dort kommt man nicht mehr raus.

Die Stelle kann man aber nur erreichen, wenn man sich anstrengt oder? Aber dafür Punkte abziehen...
Zitat von Ricicir:
Schwierigkeit - 3/5 Punkte Es war ziemlich schwer.Die Volcano Loti und Pitchin' Chucks waren ziemlich nervig.Ohne Rewinds haette ich es nicht geschafft.

xD zu schwer? ich dachte es wär zu leicht^^ , kannst du mir beschreiben was da so schwer war?^^
Zitat von Ricicir:
Spasfaktor - 2/5 Punkte Nein, weil es ziemlich lange war, ausserdem war ich froh, als ich das schwere Level hinter mir hatte.

hmm? Das Level war doch relativ kurz.

Zitat von TheSuperDomy:
Grafiken: (3/5) Solide Wahl, was die Grafiken angeht. Die Paletten sind nicht gerade die besten, und am Ende gibt's (beim Secret Exit) einen HDMA Bug, wenn ich die Text Messeage öffne, deshalb zwei Punkte weniger.

Ah leider war ich mit dem HDMA bug fixen zu spät. Sonst hätte ichs noch behoben
geschrieben am 29.06.2011 12:49:43 in Monatlicher Levelwettbewerb: Juni 2011
( Link )
Hätte vieleicht jemand Lust die Hacks zu lpen? Ich würde gerne meinen Hack lpet sehen . Ich würde sogar auch versuchen die Hacks Lpen, aber keine Ahnung ob ich darin gut wäre, ich habs ja noch nie gemacht. Vieleicht probier ich das mal. Aber falls ichs machen sollte, dann aber nur die Hälfte. Ich würde dann LPErr0rs Hack und urtegurkes Hack spielen.
geschrieben am 29.06.2011 12:56:12 in Allgemeine Technikfragen
( Link )
Ich habe mal wieder ein Problem und zwar: Immer wenn ich mein PC starte will CHKDSK Partition D auf Konsistenz prüfen. Das geht mir derbe auf den Sack, da nie Fehler gefunden werden, aber der es trotzdem bei jedem PC Start macht. Ausserdem ist mein PC noch langsamer als sonst in letzter Zeit und die Festplatte spinnt manchmal rum und macht Zehn mal oder so hinter einander ein Neustart geräusch, ich kann dann in Windows nichts mehr machen, noch nichtmal die Maus bewegen. Hilfts Windows neu zu installieren oder ist meine Festplatte im Arsch?

Ich habe Win XP prof
geschrieben am 29.06.2011 12:58:38 in Monatlicher Levelwettbewerb: Juni 2011
( Link )
@LPErr0r: man kann ja dein Level da raus kopieren und in einen seperaten Hack packen. Dann bekommt man nur das eigentliche Level zu sehen. Würde ich sogar für dich machen
geschrieben am 29.06.2011 13:03:43 in Allgemeine Technikfragen
( Link )
Mit welchen Betriebssytem greifst du auf die Platte zu? Bei Windows Vista oder 7, muss man da nicht irgendwie ''als Administrator'' ausführen? Ansonsten würde ich versuchen mit soner Linux CD auf die Platte zuzugreifen.
geschrieben am 29.06.2011 13:22:44 in Allgemeine Technikfragen
( Link )
Ich nehme mal an das du beide Festplatten an einem Kabel angeschlossen hast. Hast du auch dann die Jumper richtig eingesteckt? Das sind so kleine Stifte die man irgendwo einstecken muss (da ist ne extra Abbildung auf der Festplatte) damit der Computer das als Master oder Slave erkennt. Ich hoffe ich hab da jetzt nicht was verwechselt
geschrieben am 29.06.2011 13:35:05 in Allgemeine Technikfragen
( Link )
Wie hast du den die Festplatte an deinen PC angeschlossen?