Beiträge von Ranko
lade den Hack auf einer Upload Seite wie megaupload, file-upload oder fileuploadx, als IPS Datei hoch.
wie erstellt man IPS Dateien? So:
http://smwhacking.de/forum/viewtopic.php?f=22&t=57
wie erstellt man IPS Dateien? So:
http://smwhacking.de/forum/viewtopic.php?f=22&t=57
HDMA Farbverläufe kann ich gut einfügen nur versteh ich das mit dem FG HDMA überhaupt nicht. Egal welchen Code ich eingebe, entweder error beim patchen oder das Level startet nicht.
also ich füge z.B. den Code genau so ein in Levelcode.asm:
damit es so aussieht:
hab ich was vergessen? kann mir das einer Step by Step erklären?
diesen Code hab ich auch mal zusätzlich vor den Code von oben eingefügt, klappt nicht....
also ich füge z.B. den Code genau so ein in Levelcode.asm:
Code anzeigen
level105:
REP #$20 ; 16 bit A LDA #$0000 ; $43X0 = 00 STA $4330 ; $43x1 = 00 LDA #LVL1BRIGHT ; get pointer to brightness table STA $4332 ; store it to low and high byte pointer PHK ; get bank PLY ; STY $4334 ; store to bank pointer byte SEP #$20 ; 8 bit A LDA #$08 ; Enable HDMA on channel 3 TSB $0D9F ; RTS ; return LVL1BRIGHT: db $0C,$0F db $0C,$0E db $0C,$0D db $0C,$0C db $0C,$0B db $0C,$0A db $0C,$09 db $0C,$08 db $0C,$07 db $0C,$06 db $0C,$05 db $0C,$04 db $0C,$03 db $0C,$02 db $0C,$01 db $0C,$00 db $00
REP #$20 ; 16 bit A LDA #$0000 ; $43X0 = 00 STA $4330 ; $43x1 = 00 LDA #LVL1BRIGHT ; get pointer to brightness table STA $4332 ; store it to low and high byte pointer PHK ; get bank PLY ; STY $4334 ; store to bank pointer byte SEP #$20 ; 8 bit A LDA #$08 ; Enable HDMA on channel 3 TSB $0D9F ; RTS ; return LVL1BRIGHT: db $0C,$0F db $0C,$0E db $0C,$0D db $0C,$0C db $0C,$0B db $0C,$0A db $0C,$09 db $0C,$08 db $0C,$07 db $0C,$06 db $0C,$05 db $0C,$04 db $0C,$03 db $0C,$02 db $0C,$01 db $0C,$00 db $00
damit es so aussieht:
dark anzeigen

hab ich was vergessen? kann mir das einer Step by Step erklären?
diesen Code hab ich auch mal zusätzlich vor den Code von oben eingefügt, klappt nicht....
Zitat von Wysey:
LDA #%01001111
TSB $40
LDA #$02
TSB $44
TSB $40
LDA #$02
TSB $44
Sonnenfinsternis ja klar! aber ich habs zu spät gescheckt, etwas weniger als ein Viertel war bedeckt als ich geguckt hab, das Wetter hat wenigstens mitgespielt!
wie was hä?
EDIT: und ich mein, früher kommt nicht der/die Lehrer/in und erklärt freudestrahlend: '' so Kinder! heute erkläre ich euch was ejakulieren bedeutet''
Zitat von DicloniusAnimeX:
...das ist doh eklig, genau wie Frauen, so.
wie was hä?
EDIT: und ich mein, früher kommt nicht der/die Lehrer/in und erklärt freudestrahlend: '' so Kinder! heute erkläre ich euch was ejakulieren bedeutet''
achso jetzt klappts mit diesem Code Danke!
so hab ma wieder ein Problem das hier ist, glaub ich, der wavy effect:
den hab ich richtig über ''Quote'' kopiert aber der lässt sich nich draufpatchen, dann erscheint eine Error Meldung.
ich vermute ich muss hier was vor den Code einfügen, aber was? Sorry für die dummen Fragen, aber wenn ich es einmal geschnallt hab frag ich nie mehr
so hab ma wieder ein Problem das hier ist, glaub ich, der wavy effect:
Code anzeigen
levelinit6:
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]
JMP level6 ; jump to remaining code
;;;;;;;;
level6:
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
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]
JMP level6 ; jump to remaining code
;;;;;;;;
level6:
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
den hab ich richtig über ''Quote'' kopiert aber der lässt sich nich draufpatchen, dann erscheint eine Error Meldung.
ich vermute ich muss hier was vor den Code einfügen, aber was? Sorry für die dummen Fragen, aber wenn ich es einmal geschnallt hab frag ich nie mehr
so hab einen Code den ich von smwc hab und der funktioniert:
Das sieht dann so aus:
Code
REP #$20 ; 16 bit A
LDA #$0000 ; $43X0 = 00
STA $4330 ; $43x1 = 00
LDA #LVL1BRIGHT ; get pointer to brightness table
STA $4332 ; store it to low and high byte pointer
PHK ; get bank
PLY ;
STY $4334 ; store to bank pointer byte
SEP #$20 ; 8 bit A
LDA #$08 ; Enable HDMA on channel 3
TSB $0D9F ;
RTS ; return
LVL1BRIGHT:
db $0C,$0F
db $0C,$0E
db $0C,$0D
db $0C,$0C
db $0C,$0B
db $0C,$0A
db $0C,$09
db $0C,$08
db $0C,$07
db $0C,$06
db $0C,$05
db $0C,$04
db $0C,$03
db $0C,$02
db $0C,$01
db $0C,$00
db $00
LDA #$0000 ; $43X0 = 00
STA $4330 ; $43x1 = 00
LDA #LVL1BRIGHT ; get pointer to brightness table
STA $4332 ; store it to low and high byte pointer
PHK ; get bank
PLY ;
STY $4334 ; store to bank pointer byte
SEP #$20 ; 8 bit A
LDA #$08 ; Enable HDMA on channel 3
TSB $0D9F ;
RTS ; return
LVL1BRIGHT:
db $0C,$0F
db $0C,$0E
db $0C,$0D
db $0C,$0C
db $0C,$0B
db $0C,$0A
db $0C,$09
db $0C,$08
db $0C,$07
db $0C,$06
db $0C,$05
db $0C,$04
db $0C,$03
db $0C,$02
db $0C,$01
db $0C,$00
db $00
Das sieht dann so aus:
Spoiler anzeigen

ok hab ich gemacht, aber immer noch error Meldung, ist aber nicht die selbe Meldung. wenn ich teste, wirkt der Wavy effect nur auf den BG und nicht den FG, wie mache ich das er auf beides wirkt?
Edit: error Meldung glaub ich ist nicht schlimm, da steht nur das ich irgendwas schon einmal definiert hab
Edit: error Meldung glaub ich ist nicht schlimm, da steht nur das ich irgendwas schon einmal definiert hab
hmm? was für Labels?
sind das die Labels? das hab ich weggemacht (errormeldung ist nicht mehr da, und im Level ist der wavy effect auch nicht mehr vorhanden):
sind das die Labels? das hab ich weggemacht (errormeldung ist nicht mehr da, und im Level ist der wavy effect auch nicht mehr vorhanden):
Code
levelinit6:
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
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
Code
level6:
REP #$20 ; 16 bit A
LDX #$0E ; update scroll values
REP #$20 ; 16 bit A
LDX #$0E ; update scroll values
so hab die Zeilen gelöscht und es kommt schon wieder ein neuer Error:
error: Levelcode.asm: line 541: label [LVL6_HDMA2] not found [ADC LVL6_HDMA2,x)
error: Levelinitcode.asm: line 562: label (LVL6_HDMA4] not found [LDA LVL6_HDMA4
hab diese Zeilen auch gelöscht dann ging das patchen aber im Level ist wieder kein Effekt.
kannst du mir vielleicht den Code so schreiben das er direkt funktioniert ohne das ich irgendwelche Zeilen löschen muss, bitte? Das wäre echt nett
error: Levelcode.asm: line 541: label [LVL6_HDMA2] not found [ADC LVL6_HDMA2,x)
error: Levelinitcode.asm: line 562: label (LVL6_HDMA4] not found [LDA LVL6_HDMA4
hab diese Zeilen auch gelöscht dann ging das patchen aber im Level ist wieder kein Effekt.
kannst du mir vielleicht den Code so schreiben das er direkt funktioniert ohne das ich irgendwelche Zeilen löschen muss, bitte? Das wäre echt nett
@ smbfreak: wenn du Lunar magic 1.7 oder höher hast ist dieses Tutorial perfekt:
http://smwhacking.de/forum/viewtopic.php?f=22&t=223
http://smwhacking.de/forum/viewtopic.php?f=22&t=223
Zitat von Skorme:
Bekomm ich jetzt nen Keks?
Habe es gesagt xD
Bekomm ich jetzt nen Keks?
Habe es gesagt xD
hahahaha na gut von mir aus hier mit Liebe gebacken:
Spoiler anzeigen

also les dir diesen Thread durch:
http://smwhacking.de/forum/viewtopic.php?f=20&t=218
und hier das Tutorial, wenn du gut englisch kannst eig kein Problem:
http://www.smwcentral.net/?p=viewthread&t=40877
das ist der neue weg selber Music zu machen den alten würde ich noch nicht empfehlen.
wenn du hier zu Fragen hast, dann frag RPG Hacker, ich meine der kann es am besten erklären
Tipp: vermeide zukünftig Doppelposts(war bestimmt nur ein versehen)
http://smwhacking.de/forum/viewtopic.php?f=20&t=218
und hier das Tutorial, wenn du gut englisch kannst eig kein Problem:
http://www.smwcentral.net/?p=viewthread&t=40877
das ist der neue weg selber Music zu machen den alten würde ich noch nicht empfehlen.
wenn du hier zu Fragen hast, dann frag RPG Hacker, ich meine der kann es am besten erklären
Tipp: vermeide zukünftig Doppelposts(war bestimmt nur ein versehen)

