Beiträge von Bladey

geschrieben am 26.07.2013 19:20:42 in Du suchst Custom Sprites/Blocks/Music oder Graphics? Hier!
( Link )
Hey Leute. Ist schon etwas länger her..

Ich habe vieles an ASM verlernt und kann mir daher nicht selbst helfen (was ich vorher auch nur selten konnte).
Brauche/Suche einen Block der zerstört wird, wenn er mit der Bob-Omb Explosion in Kontakt kommt. Sowas gibt es bestimmt schon, aber ich komme mit den Filterkram auf SMWC irgendwie nicht sehr weit.

Danke schonmal.
geschrieben am 26.07.2013 20:11:39 in Du suchst Custom Sprites/Blocks/Music oder Graphics? Hier!
( Link )
Okay bei den Patchen hab ich nicht nachgesehen.. Danke WYE!
geschrieben am 27.04.2014 10:42:08 in Du suchst Custom Sprites/Blocks/Music oder Graphics? Hier!
( Link )
Hallo!

Ich melde mich auch nochmal seit langem.. und zwar suche ich diese Blöcke, mit denen man Unterwasser Strömungen verursacht. Also: Mario schwimmt rein und wird entweder nach oben, unten, links oder rechts gedrückt. Die wirds zu 100% auf SMWC geben, war aber zu blöd die übers Filtern zu finden ._.
geschrieben am 27.04.2014 12:15:38 in Allgemeine Hex- und ASM-Fragen
( Link )
Hallo zusammen.

Ich habe HDMA Effects 1.0 von Ice Man benutzt, um einen Scrolling Effekt einzufügen. Aber komischerweise funktioniert dieser Effekt nur, wenn ich ihn mit level_code.asm (uberASM) einfüge und nicht mit level_init_code.asm und dadurch hab ich ganz kurz, wenn ich den besagten Raum betrete, keinen HDMA Effekt und das geht mir ziemlich auf die Nerven. x-x

Ich bin mir zu 100% sicher, dass ich auch Scrolling Effekte schon in früheren Projekten mit level_init_code.asm eingefügt habe und keine Probleme damit hatte.

Hier mal der HDMA Code als Patch:

Code
;@xkas
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Horizontal Waves
;by KilloZapit, modified by Ice Man
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

lorom ;\ ROM is LoRom
header ;| and has a header
org $158000 ;/ 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 #$0D02 ;| $4330 = $210D
STA $4330 ;| $4331 = Mode 02
LDA #$9E00 ;|
STA $4332 ;| Destination: $7F9E00
LDY #$7F ;| (low and high byte)
STY $4334 ;|
LDA #$0F02 ;| $4340 = $210F
STA $4340 ;| $4341 = Mode 02
LDA #$9E00 ;|
STA $4342 ;| Destination: $7F9E00
LDY #$7F ;| (low and high byte)
STY $4344 ;|
SEP #$20 ;/ Set processor 8 bit

LDA #$18 ;\ Enable HDMA
TSB $0D9F ;/ on channel 3,4

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

LDX #$00 ;\ Init of
LDY #$00 ;/ X and Y

SEP #$20 ;\ Set processor 8 bit
LDA $13 ;| Set speed of waves
LSR A ;| Adding more LSR A
LSR A ;| will make it slower
STA $00 ;/ Store in scratch RAM

PHB ;\ Push data bank
PHK ;| Push program bank
PLB ;/ Pull data bank

Wave_Loop:
LDA #$06 ;\ Set scanline height
STA $7F9E00,x ;| for each wave
TYA ;| Transfer Y to A
ADC $00 ;| Add in scratch RAM
AND #$0F ;| and transfer #$0F bytes
PHY ;| Push Y
TAY ;/ Transfer A to Y

LDA.w Wave_Table,y ;\ Load in wave values
LSR A ;| half of waves only
CLC ;| Clear carry flag
ADC $1462 ;| Apply to layer 1
STA $7F9E01,x ;| X position low byte
LDA $1463 ;| And add nothing to
ADC #$00 ;| layer 1 X position
STA $7F9E02,x ;/ high byte

LDA.w Wave_Table,y ;\ Load in wave values
CLC ;| Clear carry flag
ADC $1466 ;| Apply to layer 2
STA $7F9E03,x ;| X position low byte
LDA $1467 ;| And add nothing to
ADC #$00 ;| layer 2 X position
STA $7F9E04,x ;/ high byte

PLY ;\ Pull Y
CPY #$25 ;| Compare with #$25 scanlines
BPL End_Wave ;| If bigger, end HDMA
INX ;| Increase X
INX ;| Increase X
INX ;| Increase X
INY ;| Increase Y
BRA Wave_Loop ;/ Do the loop

End_Wave:
PLB ;\ Pull data bank
LDA #$00 ;| End HMDA by writing
STA $7F9E05,x ;| #$00 here
RTL ;/ Return

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

Wave_Table:
db $00
db $01
db $02
db $03
db $04
db $05
db $06
db $07
db $07
db $06
db $05
db $04
db $03
db $02
db $01
db $00
%RATS_end(0)


Laut Readme muss ich einfach nur bei levelasm JSL $158008 RTS schreiben. (Natürlich untereinander)

Edit:
Hier mal 2 Screenshots um zu sehen was ich meine.. Das der Background so umspringt sieht einfach schlimm aus

Spoiler anzeigen
geschrieben am 27.04.2014 13:07:01 in Allgemeine Hex- und ASM-Fragen
( Link )
Nein funktioniert noch immer nicht.. :/