Allgemeine SMW Hacking Fragen

geschrieben am 20.08.2015 13:31:36
( Link )
Ich habe eine Frage zu einem Code.
Und zwar möchte ich den Powerup sprite von Ersanio/ICB benutzen. Aleerdings möchte ich, dass er das Powerup behält selbst wenn er getroffen wird.
Hier ist der Code (das ist das wichtige) ^^:
Code
LDA $19 ;\If Mario's powerup
CMP #$01 ;|is Big
BEQ GETPOWER ;|then continue
LDA #$00 ;|but if he gets hit or gets another powerup
STA $0DC6 ;/then reset the powerup RAM to Zero.
GETPOWER
JSR SPRITE_CODE_START
PLB
RTL

Was muss entfernt/geändert werden, damit ich das Powerup behalten kann? Kann sein, dass es dann irgendwelche Komplikationen gibt.
Danke im Voraus ^^
geschrieben am 20.08.2015 22:01:48
( Link )
Auch wenn mir der Sprite nichts sagt - die Zeile, neben der steht "reset the powerup RAM to zero" wird wahrscheinlich dafür verantwortlich sein. Und wenn die weg ist, dann ist die Häfte des Codes, den du gepostet hast, auch sinnlos - heißt im Klartext, entferne alle Zeilen außer den letzten drei, und probier mal, ob das geht.
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 24.08.2015 16:30:49
( Link )
Ich kann ja mal den kompletten Code posten, da man sowohl Sprite als auch Generator einfügen muss und sich das ja irgendwie beeinflusst (die readme sagt, dass alles vom Generator ausgeht und das deswegen da geändert werden muss). Hier ist der komplette Code für den Generator und den Sprite:
Generator:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;flutter/wall jump generator
;based on generator by ICB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Uses first extra bit: NO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

RAM_IsDucking = $73
RAM_OnYoshi = $187A

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite code JSL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dcb "INIT" ;generators don't have an init routine
dcb "MAIN"
PHB
PHK
PLB
LDA $19 ;\If Mario's powerup
CMP #$01 ;|is Big
BEQ GETPOWER ;|then continue
LDA #$00 ;|but if he gets hit or gets another powerup
STA $0DC6 ;/then reset the powerup RAM to Zero.
GETPOWER
JSR SPRITE_CODE_START
PLB
RTL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; main sprite code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Return_A RTS

SPRITE_CODE_START
LDA $19 ;only let generator process
CMP #$01 ;if big mario
BNE Return_A ;other end
LDA $0DC6
CMP #$03 ;if mode = 3, let mario wallkick
BEQ SET_WALL
CMP #$04 ;if mode = 4, let mario flutter
BEQ SET_FLUTTER
BNE Return_A ;otherwise return
LDA RAM_IsDucking ;if ducking
ORA RAM_OnYoshi ;or on yoshi
BNE Return_A ;end
SET_WALL
LDA $76
BEQ Right
BRA Left

Left LDA $77
AND #$03
BEQ Return6
LDA $15
AND #$80
BEQ Return6

LDA #$E0 ;Horizontal speed
STA $7B ;

LDA #$A7 ;
STA $7D ;Vertical Speed

LDA #$02 ;
STA $1DF9 ;"Click" Sound effect

STZ $76 ;Direction left

BRA Return6 ;Always Return

Right LDA $77
AND #$03
BEQ Return6
LDA $16
AND #$80
BEQ Return6
LDA #$20 ;Horizontal Speed
STA $7B ;
LDA #$A7 ;Vertical Speed
STA $7D ;
LDA #$02 ;
STA $1DF9 ;Click sound effect
LDA #$01 ;Direction Right
STA $76
BRA Return6

Return6 RTS ;return

Return_Again RTS

SET_FLUTTER
LDA $19 ;recheck
CMP #$01
BNE Return_Again
LDA $0DC6
CMP #$04 ;mode = 4
BNE Return_Again
LDA $77
AND #$04
BNE Reset ;won't work while swimming, on air, yoshi
LDA $75
BNE Reset
LDA $74
BNE Reset
LDA $187A
BNE Reset
LDA $140D ;spin jump flutter
BNE Check
LDA $0660
BEQ Check
LDA $1499
BNE Return

LDA $7D
CMP #$7F
BCC Rest
LDA $1470
BNE Carry
LDA $148F
BNE Carry
LDA $0660
CMP #$02
BCS Stand
LDA #$05
STA $13E0
INC $0660
BRA Return
Check
LDA $16 ;button to push
CMP #$80
BNE Return
STZ $140D
LDA #$BF
STA $7D
INC $0660
LDA #$01
STA $1DFA
BRA Return
Stand
LDA #$04
STA $13E0

DEC $0660

BRA Return
Reset
STZ $0660
BRA Return
Rest
LDA $0660
CMP #$15 ;To stop the advantage(or to increase rest time,) increase this hexidecimal number
BNE Rest1
STZ $0660
BRA Check
Rest1
INC $0660 ;continues rest time
BRA Return
Carry
LDA $0660 ;same as above
CMP #$02
BCS Run
LDA #$08
STA $13E0
INC $0660
BRA Return
Run
LDA #$07
STA $13E0
DEC $0660
BRA Return
Return RTS

Sprite:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Wall jump powerup, by Iceguy
;; Based on wall jump block by Ersanio
;;
;;
;; Description: This sprite, when collected by Mario, will make him turn big and give
;; him the ability to wall jump! If he gets hit, he loses the powerup. For the sprite
;; to work, place the generator at all secondary entrances.
;;
;; This sprite does not use the extra bit.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite init JSL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dcb "INIT"
RTL

dcb "MAIN"
PHB
PHK
PLB
JSR SPRITE_ROUTINE
PLB
RTL

SPRITE_ROUTINE LDA $14C8,x ; return if sprite status != 8
CMP #$08
BNE RETURNED
JSR SUB_GFX
LDA $9D ; return if sprites locked
BNE RETURNED
JSR SUB_OFF_SCREEN_X0 ; only process sprite while on screen

LDA $187A ;if on yoshi
BNE RETURNED ;end code
JSL $01A7DC ;mario/sprite contact..
BCC RETURNED
LDA #$04 ;play flower animation
STA $71
LDA #$30 ;cycle through palettes
STA $149B
LDA #$01 ;make mario big
STA $19
LDA #$0A ;play SFX
STA $1DF9
LDA #$03 ;set new mode
STA $0DC6
STZ $14C8,x ;and erase sprite
BRA Check_Whole ;then check main code
RETURNED RTS

;This part of the code is not executed by the sprite
;it is executed by the generator
;the code below will do nothing if you change it
;except for the graphics routine

Check_Whole STZ $7D
LDA $76
BEQ JumpRight
BRA JumpLeft

JumpLeft LDA $15 ;
AND #$80 ;If you dont press the jump button, return.
BEQ Return ;

LDA #$E0 ;Horizontal speed
STA $7B ;

LDA #$A7 ;
STA $7D ;Vertical Speed

LDA #$02 ;
STA $1DF9 ;"Click" Sound effect

STZ $76 ;Direction left

BRA Return ;Always Return

JumpRight
LDA $16
AND #$80 ;If you dont press the jump button, return.
BEQ Return
LDA #$20 ;Horizontal Speed
STA $7B ;
LDA #$A7 ;Vertical Speed
STA $7D ;
LDA #$02 ;
STA $1DF9 ;Click sound effect
LDA #$01 ;Direction Right
STA $76

Return RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; GRAPHICS ROUTINE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SUB_GFX JSR GET_DRAW_INFO ; after: Y = index to sprite OAM ($300)
; $00 = sprite x position relative to screen boarder
; $01 = sprite y position relative to screen boarder

LDA $157C,x ; $02 = sprite direction
STA $02

LDA $00 ; set x position of the tile
STA $0300,y

LDA $01 ; set y position of the tile
STA $0301,y

LDA #$C2 ; set tile number
STA $0302,y

LDA $15F6,x ; get sprite palette info
PHX
LDX $02 ; flip the tile if the sprite direction is 0
BNE NO_FLIP_1
ORA #$40
NO_FLIP_1 PLX
ORA $64 ; add in the priority bits from the level settings
STA $0303,y ; set properties

INY ; get the index to the next slot of the OAM
INY ; (this is needed if you wish to draw another tile)
INY
INY

LDY #$02 ; #$02 means the tiles are 16x16
LDA #$00 ; This means we drew one tile
JSL $01B7B3
RTS



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ROUTINES FROM THE LIBRARY ARE PASTED BELOW
; You should never have to modify this code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; GET_DRAW_INFO
; This is a helper for the graphics routine. It sets off screen flags, and sets up
; variables. It will return with the following:
;
; Y = index to sprite OAM ($300)
; $00 = sprite x position relative to screen boarder
; $01 = sprite y position relative to screen boarder
;
; It is adapted from the subroutine at $03B760
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SPR_T1 dcb $0C,$1C
SPR_T2 dcb $01,$02

GET_DRAW_INFO STZ $186C,x ; reset sprite offscreen flag, vertical
STZ $15A0,x ; reset sprite offscreen flag, horizontal
LDA $E4,x ; \
CMP $1A ; | set horizontal offscreen if necessary
LDA $14E0,x ; |
SBC $1B ; |
BEQ ON_SCREEN_X ; |
INC $15A0,x ; /

ON_SCREEN_X LDA $14E0,x ; \
XBA ; |
LDA $E4,x ; |
REP #$20 ; |
SEC ; |
SBC $1A ; | mark sprite invalid if far enough off screen
CLC ; |
ADC.W #$0040 ; |
CMP.W #$0180 ; |
SEP #$20 ; |
ROL A ; |
AND #$01 ; |
STA $15C4,x ; /
BNE INVALID ;

LDY #$00 ; \ set up loop:
LDA $1662,x ; |
AND #$20 ; | if not smushed (1662 & 0x20), go through loop twice
BEQ ON_SCREEN_LOOP ; | else, go through loop once
INY ; /
ON_SCREEN_LOOP LDA $D8,x ; \
CLC ; | set vertical offscreen if necessary
ADC SPR_T1,y ; |
PHP ; |
CMP $1C ; | (vert screen boundry)
ROL $00 ; |
PLP ; |
LDA $14D4,x ; |
ADC #$00 ; |
LSR $00 ; |
SBC $1D ; |
BEQ ON_SCREEN_Y ; |
LDA $186C,x ; | (vert offscreen)
ORA SPR_T2,y ; |
STA $186C,x ; |
ON_SCREEN_Y DEY ; |
BPL ON_SCREEN_LOOP ; /

LDY $15EA,x ; get offset to sprite OAM
LDA $E4,x ; \
SEC ; |
SBC $1A ; | $00 = sprite x position relative to screen boarder
STA $00 ; /
LDA $D8,x ; \
SEC ; |
SBC $1C ; | $01 = sprite y position relative to screen boarder
STA $01 ; /
RTS ; return

INVALID PLA ; \ return from *main gfx routine* subroutine...
PLA ; | ...(not just this subroutine)
RTS ; /


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SUB_OFF_SCREEN
; This subroutine deals with sprites that have moved off screen
; It is adapted from the subroutine at $01AC0D
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SPR_T12 dcb $40,$B0
SPR_T13 dcb $01,$FF
SPR_T14 dcb $30,$C0,$A0,$C0,$A0,$F0,$60,$90 ;bank 1 sizes
dcb $30,$C0,$A0,$80,$A0,$40,$60,$B0 ;bank 3 sizes
SPR_T15 dcb $01,$FF,$01,$FF,$01,$FF,$01,$FF ;bank 1 sizes
dcb $01,$FF,$01,$FF,$01,$00,$01,$FF ;bank 3 sizes

SUB_OFF_SCREEN_X1 LDA #$02 ; \ entry point of routine determines value of $03
BRA STORE_03 ; | (table entry to use on horizontal levels)
SUB_OFF_SCREEN_X2 LDA #$04 ; |
BRA STORE_03 ; |
SUB_OFF_SCREEN_X3 LDA #$06 ; |
BRA STORE_03 ; |
SUB_OFF_SCREEN_X4 LDA #$08 ; |
BRA STORE_03 ; |
SUB_OFF_SCREEN_X5 LDA #$0A ; |
BRA STORE_03 ; |
SUB_OFF_SCREEN_X6 LDA #$0C ; |
BRA STORE_03 ; |
SUB_OFF_SCREEN_X7 LDA #$0E ; |
STORE_03 STA $03 ; |
BRA START_SUB ; |
SUB_OFF_SCREEN_X0 STZ $03 ; /

START_SUB JSR SUB_IS_OFF_SCREEN ; \ if sprite is not off screen, return
BEQ RETURN_35 ; /
LDA $5B ; \ goto VERTICAL_LEVEL if vertical level
AND #$01 ; |
BNE VERTICAL_LEVEL ; /
LDA $D8,x ; \
CLC ; |
ADC #$50 ; | if the sprite has gone off the bottom of the level...
LDA $14D4,x ; | (if adding 0x50 to the sprite y position would make the high byte >= 2)
ADC #$00 ; |
CMP #$02 ; |
BPL ERASE_SPRITE ; / ...erase the sprite
LDA $167A,x ; \ if "process offscreen" flag is set, return
AND #$04 ; |
BNE RETURN_35 ; /
LDA $13 ;A:8A00 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdiZcHC:0756 VC:176 00 FL:205
AND #$01 ;A:8A01 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizcHC:0780 VC:176 00 FL:205
ORA $03 ;A:8A01 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizcHC:0796 VC:176 00 FL:205
STA $01 ;A:8A01 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizcHC:0820 VC:176 00 FL:205
TAY ;A:8A01 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizcHC:0844 VC:176 00 FL:205
LDA $1A ;A:8A01 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizcHC:0858 VC:176 00 FL:205
CLC ;A:8A00 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdiZcHC:0882 VC:176 00 FL:205
ADC SPR_T14,y ;A:8A00 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdiZcHC:0896 VC:176 00 FL:205
ROL $00 ;A:8AC0 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:eNvMXdizcHC:0928 VC:176 00 FL:205
CMP $E4,x ;A:8AC0 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:eNvMXdizCHC:0966 VC:176 00 FL:205
PHP ;A:8AC0 X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizCHC:0996 VC:176 00 FL:205
LDA $1B ;A:8AC0 X:0009 Y:0001 D:0000 DB:01 S:01F0 P:envMXdizCHC:1018 VC:176 00 FL:205
LSR $00 ;A:8A00 X:0009 Y:0001 D:0000 DB:01 S:01F0 P:envMXdiZCHC:1042 VC:176 00 FL:205
ADC SPR_T15,y ;A:8A00 X:0009 Y:0001 D:0000 DB:01 S:01F0 P:envMXdizcHC:1080 VC:176 00 FL:205
PLP ;A:8AFF X:0009 Y:0001 D:0000 DB:01 S:01F0 P:eNvMXdizcHC:1112 VC:176 00 FL:205
SBC $14E0,x ;A:8AFF X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizCHC:1140 VC:176 00 FL:205
STA $00 ;A:8AFF X:0009 Y:0001 D:0000 DB:01 S:01F1 P:eNvMXdizCHC:1172 VC:176 00 FL:205
LSR $01 ;A:8AFF X:0009 Y:0001 D:0000 DB:01 S:01F1 P:eNvMXdizCHC:1196 VC:176 00 FL:205
BCC SPR_L31 ;A:8AFF X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdiZCHC:1234 VC:176 00 FL:205
EOR #$80 ;A:8AFF X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdiZCHC:1250 VC:176 00 FL:205
STA $00 ;A:8A7F X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizCHC:1266 VC:176 00 FL:205
SPR_L31 LDA $00 ;A:8A7F X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizCHC:1290 VC:176 00 FL:205
BPL RETURN_35 ;A:8A7F X:0009 Y:0001 D:0000 DB:01 S:01F1 P:envMXdizCHC:1314 VC:176 00 FL:205
ERASE_SPRITE LDA $14C8,x ; \ if sprite status < 8, permanently erase sprite
CMP #$08 ; |
BCC KILL_SPRITE ; /
LDY $161A,x ;A:FF08 X:0007 Y:0001 D:0000 DB:01 S:01F3 P:envMXdiZCHC:1108 VC:059 00 FL:2878
CPY #$FF ;A:FF08 X:0007 Y:0000 D:0000 DB:01 S:01F3 P:envMXdiZCHC:1140 VC:059 00 FL:2878
BEQ KILL_SPRITE ;A:FF08 X:0007 Y:0000 D:0000 DB:01 S:01F3 P:envMXdizcHC:1156 VC:059 00 FL:2878
LDA #$00 ;A:FF08 X:0007 Y:0000 D:0000 DB:01 S:01F3 P:envMXdizcHC:1172 VC:059 00 FL:2878
STA $1938,y ;A:FF00 X:0007 Y:0000 D:0000 DB:01 S:01F3 P:envMXdiZcHC:1188 VC:059 00 FL:2878
KILL_SPRITE STZ $14C8,x ; erase sprite
RETURN_35 RTS ; return

VERTICAL_LEVEL LDA $167A,x ; \ if "process offscreen" flag is set, return
AND #$04 ; |
BNE RETURN_35 ; /
LDA $13 ; \
LSR A ; |
BCS RETURN_35 ; /
LDA $E4,x ; \
CMP #$00 ; | if the sprite has gone off the side of the level...
LDA $14E0,x ; |
SBC #$00 ; |
CMP #$02 ; |
BCS ERASE_SPRITE ; / ...erase the sprite
LDA $13 ;A:0000 X:0009 Y:00E4 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:1218 VC:250 00 FL:5379
LSR A ;A:0016 X:0009 Y:00E4 D:0000 DB:01 S:01F3 P:envMXdizcHC:1242 VC:250 00 FL:5379
AND #$01 ;A:000B X:0009 Y:00E4 D:0000 DB:01 S:01F3 P:envMXdizcHC:1256 VC:250 00 FL:5379
STA $01 ;A:0001 X:0009 Y:00E4 D:0000 DB:01 S:01F3 P:envMXdizcHC:1272 VC:250 00 FL:5379
TAY ;A:0001 X:0009 Y:00E4 D:0000 DB:01 S:01F3 P:envMXdizcHC:1296 VC:250 00 FL:5379
LDA $1C ;A:001A X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:0052 VC:251 00 FL:5379
CLC ;A:00BD X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:0076 VC:251 00 FL:5379
ADC SPR_T12,y ;A:00BD X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:0090 VC:251 00 FL:5379
ROL $00 ;A:006D X:0009 Y:0001 D:0000 DB:01 S:01F3 P:enVMXdizCHC:0122 VC:251 00 FL:5379
CMP $D8,x ;A:006D X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNVMXdizcHC:0160 VC:251 00 FL:5379
PHP ;A:006D X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNVMXdizcHC:0190 VC:251 00 FL:5379
LDA.W $001D ;A:006D X:0009 Y:0001 D:0000 DB:01 S:01F2 P:eNVMXdizcHC:0212 VC:251 00 FL:5379
LSR $00 ;A:0000 X:0009 Y:0001 D:0000 DB:01 S:01F2 P:enVMXdiZcHC:0244 VC:251 00 FL:5379
ADC SPR_T13,y ;A:0000 X:0009 Y:0001 D:0000 DB:01 S:01F2 P:enVMXdizCHC:0282 VC:251 00 FL:5379
PLP ;A:0000 X:0009 Y:0001 D:0000 DB:01 S:01F2 P:envMXdiZCHC:0314 VC:251 00 FL:5379
SBC $14D4,x ;A:0000 X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNVMXdizcHC:0342 VC:251 00 FL:5379
STA $00 ;A:00FF X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:0374 VC:251 00 FL:5379
LDY $01 ;A:00FF X:0009 Y:0001 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:0398 VC:251 00 FL:5379
BEQ SPR_L38 ;A:00FF X:0009 Y:0001 D:0000 DB:01 S:01F3 P:envMXdizcHC:0422 VC:251 00 FL:5379
EOR #$80 ;A:00FF X:0009 Y:0001 D:0000 DB:01 S:01F3 P:envMXdizcHC:0438 VC:251 00 FL:5379
STA $00 ;A:007F X:0009 Y:0001 D:0000 DB:01 S:01F3 P:envMXdizcHC:0454 VC:251 00 FL:5379
SPR_L38 LDA $00 ;A:007F X:0009 Y:0001 D:0000 DB:01 S:01F3 P:envMXdizcHC:0478 VC:251 00 FL:5379
BPL RETURN_35 ;A:007F X:0009 Y:0001 D:0000 DB:01 S:01F3 P:envMXdizcHC:0502 VC:251 00 FL:5379
BMI ERASE_SPRITE ;A:8AFF X:0002 Y:0000 D:0000 DB:01 S:01F3 P:eNvMXdizcHC:0704 VC:184 00 FL:5490

SUB_IS_OFF_SCREEN LDA $15A0,x ; \ if sprite is on screen, accumulator = 0
ORA $186C,x ; |
RTS ; / return


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SUB_HORZ_POS
; This routine determines which side of the sprite Mario is on. It sets the Y register
; to the direction such that the sprite would face Mario
; It is ripped from $03B817
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
geschrieben am 03.11.2015 8:30:06
( Link )
Hey hey,

habe letztens in der Status Bar einige Sachen verschieben wollen. Dachte, ich könnte den Bonus Star Counter auch etwas verschieben, wo sich aber nur die größere Box im Status Bar Editor verschieben lies, also habe ich es letztendlich wieder an die original Position verschoben und seitdem zählt er die Punkte nicht mehr ab.

Habe das mal für die Verdeutlichung aufgenommen

Klick!
geschrieben am 03.11.2015 11:26:20
( Link )
Vielleicht wurde die Routine überschrieben? Guck mal, ob die drei Bytes ab $05CF1B "EA" sind. Ist aber auch nur 'ne Vermutung.

Der einfachste Weg ist wahrscheinlich, alles auf eine neue ROM zu übertragen und es dann besser zu machen. Welchen Status Bar Editor hast du eigentlich genommen? Ich würde Status Effect empfehlen.
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 03.11.2015 16:31:36
( Link )
Zitat von WYE:
Vielleicht wurde die Routine überschrieben? Guck mal, ob die drei Bytes ab $05CF1B "EA" sind. Ist aber auch nur 'ne Vermutung.

Der einfachste Weg ist wahrscheinlich, alles auf eine neue ROM zu übertragen und es dann besser zu machen. Welchen Status Bar Editor hast du eigentlich genommen? Ich würde Status Effect empfehlen.


Ich hatte den ganz alten SMW SB Editor noch im Ordner, den habe ich benutzt. Ich glaube, dass ich alles auf eine neue ROM übertrage. für einen cleanen, organisierten Start. Danke für das Programm übrigens, ist super!
geschrieben am 05.11.2015 18:56:55
( Link )
So peinlich, dass mir das gerade passiert ist...

Also, ich hab' den "Add Sprites Window" geöffnet und hab' dann irgendeine Taste gedrückt und nun sieht das ganze so aus.
Weiß jemand wie man das ganze wieder rückgängig machen kann, damit es so aussieht wie im "Add Objects Window"?

Hach, schön Back to the Roots im typischen Noobmodus
´s gibt badische und unsymbadische


Was?! Die Signaturlänge wurde auf 1024 Zeichen beschränkt? #notmysignaturelength
geschrieben am 05.11.2015 19:12:22
( Link )
Das wird der Zoom sein, der geht in neuen Versionen bis 800%. Strg+ bzw. Strg- oder Strg-Mausrad.

Und falls das keine Absicht war, kannst du auch das "Vertical Layout" wieder deaktivieren, und zwar mit dem, äh, "Vine-Button".
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.11.2015 19:16:09
( Link )
Ich hasse mich selbst so sehr...
Nichtsdestotrotz ist das ja echt ein klasse Feature! Danke für's erklären, WYE!
´s gibt badische und unsymbadische


Was?! Die Signaturlänge wurde auf 1024 Zeichen beschränkt? #notmysignaturelength
geschrieben am 05.11.2015 19:53:41
zuletzt bearbeitet von Wysey am 05.11.2015 23:38:58.
( Link )
Zitat von WYE:
Das wird der Zoom sein, der geht in neuen Versionen bis 800%. Strg+ bzw. Strg- oder Strg-Mausrad.

Und falls das keine Absicht war, kannst du auch das "Vertical Layout" wieder deaktivieren, und zwar mit dem, äh, "Vine-Button".


Vielleicht kommen in nächster Zeit noch mehr Fragen von uns beiden...
Ihr habt keine Ahnung was wir planen! *MUAHAHAHAHAHAHAHAHHAHAHAHAHAHHAHAHAHHAHAH*
>tfw you actually realize how much autistic shit you have posted on this website over the past few years
geschrieben am 05.11.2015 23:38:30
( Link )
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 06.11.2015 3:45:45
zuletzt bearbeitet von Wysey am 06.11.2015 11:30:52.
( Link )
So ich hab mal ne Frage: und zwar nutze ich immer noch das gute alte AddMusic v4.04.
Das kommt eigentlich auch gut klar mit all meinen Songs aus meinem Songarchiv (alles von 2010-2013) und natürlich bei denen die schon in der txt sind.
(wenn ich die .bat darüber laufen lasse sieht alles gut aus)

Bis ich mir gedacht habe: jetzt hol ich mir mal was neues von Smwc für mein neues Wolkenlevel. Gesagt getan http://www.smwcentral.net/?p=section&a=details&id=12607
Als ich aber dann das gute Stück in die bat gehauen habe, sagte die bat Datei: " Nö is nich Minjung heute nicht" (⌐■_■)

batch Dateien sind cool anzeigen


Also hab ich das auch bei anderen Songs die neu sind von Smwc versucht. Konsole sagt jedesmal das gleiche.
Kein Track braucht übrigens Samples, Patches oder sonst was.

Habe mal die Schreibform eines alten Tracks mit einem neuen verglichen und muss sagen: ich erkenne nur wenig Unterschied.

Neu anzeigen
Code
#amk 2

#spc
{
#title "hyper-realistic bloody tears"
#game "Castlevania II: Simon's Quest"
#comment "remixed by Lui37"
}

#samples
{
#default
}

#instruments
{
@10 $FF $E0 $B8 $08 $00 ;@30 snare
@8 $8E $AB $B8 $1E $00 ;@31 bass
@14 $FE $F1 $B8 $07 $00 ;@32 guitar
@4 $9E $D6 $B8 $03 $00 ;@33 sitar
@0 $FA $E0 $B8 $06 $00 ;@34 flute
@6 $FC $E0 $B8 $03 $00 ;@35 trumpet thing
@6 $F8 $E5 $B8 $03 $00 ;@36 violin
@0 $FC $E0 $B8 $06 $00 ;@37 flute faster attack
@4 $9E $D0 $B8 $03 $00 ;@38 sitar slower release
}

;===============================;
; Channel #0 ;
;===============================;

#0 w255

$EF $FE $24 $24
$F1 $05 $E0 $01

v220 o3
t34 q7Fy10 @21c16 t45 @21c16 t34 @12 q7B b32 b32 t45 e16 t34 < b16 t45 e16

(0)[t34 q7Fy10 @21c16 t45 q7Ay11 @22c16 t34 y9 @22c16 t45 q7Fy10 @21c16 t34 q7A @22c16 t45 q7F @21c16
t34 $F4 $03 q7B @29c16 $F4 $03 t45 q7A @22c16 t34 y11 @22c32 y9 @22c32 t45 q7Fy10 @21c16 t34 q7A @22c16 t45 q7F @21c16
t34 q7Fy10 @21c16 t45 q7Ay11 @22c16 t34 y9 @22c16 t45 q7Fy10 @21c16 t34 q7A @22c16 t45 q7F @21c16]
(1)[t34 $F4 $03 q7B @29c16 $F4 $03 t45 q7A @22c16 t34 y11 @22c32 y9 @22c32 t45 q7Fy10 @21c16 t34 q7A @22c16 t45 $F4 $03 q7B @29c16 $F4 $03]
(0)
(1)
(0)
(1)
(0)
(2)[t34 $F4 $03 q7C @29c16 $F4 $03 t45 q7A @22c16 t34 y11 @22c32 y9 @22c32 t45 q7Fy10 @21c16 t34 $F4 $03 q7B @29c32 q79 @29c32 t45 q7B @29c16 $F4 $03]

/

[[ (0)
(1)
(0)
(1)
(0)
(1)
(0)
(2) ]]3

;===============================;
; Channel #1 ;
;===============================;

#1 r8 @30 v220 y10 q79 @29c32 @29c32 @29c16 @29c16 @29c16 ;$F4 $03

@31 v220 y10 o1 q7E
(10)[b8 r16 b16 > f+16 < b32 r32
> a8 f+16 r16 e16 f+32 r32
e8 r16 f+16 e16 d32 r32
c+8 d16 r16 e16 f+32 r32]4

/

< b8 r16 b16 > f+16 < b32 r32
> a8 f+16 r16 e16 f+32 r32
< a8 r16 a16 > e16 < a32 r32
> a16 b16 e16 f+16 d16 e32 r32
< g8 r16 g16 > d16 < g32 r32
> g8 d16 r16 < b16 > d32 r32
e8 r16 f+16 e16 d32 r32
c+8 d16 r16 e16 f+32 r32
< b8 r16 b16 > f+16 < b32 r32
> a8 f+16 r16 e16 f+32 r32
< a8 r16 a16 > e16 < a32 r32
> a16 b16 e16 f+16 d16 e32 r32
< g8 r16 g16 > d16 < g32 r32
> g16 d16 < g16 > g16 < b16 > d32 r32
e8 r16 f+16 e16 d32 r32
c+8 f+16 r16 a+16 > c+32 r32

[<< b8 r16 b16 > f+16 < b32 r32
a8 r16 a16 > e16 < a32 r32
g8 r16 g16 > d16 < g32 r32
> a8 f+16 r16 e16 f+32 r32]
< b8 r16 b16 > f+16 < b32 r32
a8 r16 a16 > e16 < a32 r32
g8 > r16 f+16 e16 d32 r32
c+8 d16 r16 e16 f+32 r32
*
< b8 r16 b16 > f+16 < b32 r32
a8 > e16 r16 e16 f+32 r32
e8 r16 f+16 e16 d32 r32
c+8 d16 r16 e16 f+32 r32

(10)4

;===============================;
; Channel #2 ;
;===============================;

#2 r4.

@32 v130 y9 o4
(40)[q7E b8 q78 b16 q7E b16 q78 b16 q7E b16
q7E a16 a16 q78 a16 q7E a16 q78 a16 q7E a16
q7E b8 q78 b16 q7E b16 q78 b16 q7E b16
q7E a+16 a+16 q78 a+16 q7E a+16 q78 a+16 q7E a+16]4

/

(41)[q7E b8 q78 b16 q7E b16 q78 b16 q7E b16
q7E b16 b16 q78 b16 q7E b16 q78 b16 q7E b16
q7E a8 q78 a16 q7E a16 q78 a16 q7E a16
q7E a16 a16 q78 a16 q7E a16 q78 a16 q7E a16
q7E b8 q78 b16 q7E b16 q78 b16 q7E b16
q7E b16 b16 q78 b16 q7E b16 q78 b16 q7E b16
q7E b8 q78 b16 q7E b16 q78 b16 q7E b16]
q7E a+16 a+16 q78 a+16 q7E a+16 q78 a+16 q7E a+16
(41)
q7E a+16 a+16 q78 a+16 > q7E c+16 q78 c+16 q7E c+16

< [q7E b8 q78 b16 q7E b16 q78 b16 q7E b16
q7E a16 a16 q78 a16 q7E a16 q78 a16 q7E a16]8

(40)4

;===============================;
; Channel #3 ;
;===============================;

#3 r4.

@32 v130 y10 o4
(30)[q7E f+8 q78 f+16 q7E f+16 q78 f+16 q7E f+16
q7E e16 e16 q78 e16 q7E e16 q78 e16 q7E e16
q7E g8 q78 g16 q7E g16 q78 g16 q7E g16
q7E f+16 f+16 q78 f+16 q7E f+16 q78 f+16 q7E f+16]4

/

(31)[q7E f+8 q78 f+16 q7E f+16 q78 f+16 q7E f+16
q7E f+16 f+16 q78 f+16 q7E f+16 q78 f+16 q7E f+16
q7E e8 q78 e16 q7E e16 q78 e16 q7E e16
q7E e16 e16 q78 e16 q7E e16 q78 e16 q7E e16
q7E g8 q78 g16 q7E g16 q78 g16 q7E g16
q7E g16 g16 q78 g16 q7E g16 q78 g16 q7E g16
q7E g8 q78 g16 q7E g16 q78 g16 q7E g16]
q7E f+16 f+16 q78 f+16 q7E f+16 q78 f+16 q7E f+16
(31)
q7E f+16 f+16 q78 f+16 q7E a+16 q78 a+16 q7E a+16

[q7E f+8 q78 f+16 q7E f+16 q78 f+16 q7E f+16
q7E e16 e16 q78 e16 q7E e16 q78 e16 q7E e16
q7E g8 q78 g16 q7E g16 q78 g16 q7E g16
q7E e16 e16 q78 e16 q7E e16 q78 e16 q7E e16]4

(30)4

;===============================;
; Channel #4 ;
;===============================;

#4 r4.

@32 v130 y11 o4
(20)[q7E d8 q78 d16 q7E d16 q78 d16 q7E d16
q7E c+16 c+16 q78 c+16 q7E c+16 q78 c+16 q7E c+16]8

/

@34 v145 y10 o4 $E5 $00 $14 $50
q7E c+16 e16 d4
q76 d8. q7E d16 c+16 < b16
> c+16 e16 q76 e16 q7E d8.
q76 d8. q7E d16 $F4 $01 c+32 d64 c+192 $F4 $01 ^192^192 < b16
@34 > c+16 e16 d4
q76 d8. < q7E b16 > c+16 d16
d8 q76 d16 q7E d8 q76 d16
< q7E b8 a+8 q76 a+8 $E5 $00 $00 $00


@35 v120 y10 o4
q7E c+16 e16 d4
q76 d8. q7E d16 c+16 < b16
> c+16 e16 q76 e16 q7E d8.
q76 d8. q7E d16 $F4 $01 c+32 d64 c+192 $F4 $01 ^192^192 < b16
@35 > c+16 e16 d4
q76 d8. < q7E b16 > c+16 d16
d8 q76 d16 q7E d8 q76 d16
< q7E b8 > e8 f+16 a+16

@38 v120 y9 q7B o4
[[r4 b8]]3
> [y10 q7A d8 c+8 < b16 a16]
r8. y9 q7B b8.
r8 b4
r8. b8.
*

@34 v150 y10 o4 q7F $E5 $00 $14 $50
[[r4 b8]]3
> q7C d8 c+8 < b16 a16
r8. q7F b8.
r8 b4
r8. b8.
> q7C d8 e8 c+16 d16 $E5 $00 $00 $00

@32 v130 y11
(20)4

r2.
r4.
r8. @37 v130 o4 q7E $DE $00 $12 $18 $EA $18 d+16 $DD $00 $06 f e16 d16

@38 v120 q7E o3 $DF
b4.
> c+4.
d4.
e4.


;===============================;
; Channel #5 ;
;===============================;

#5 r4.

(69)[r2.]4

@33 v120 y12 o4 q7C ;$DE $03 $0A $2C
(50)[$DC $48 $0A b16 f+16 > f+16 < f+16 > e16 < f+16
$DC $48 $08 > c+16 < f+16 > d16 < f+16 b16 f+16
$DC $48 $0A > c+16 < f+16 > d16 < f+16 > e16 < f+16
$DC $48 $0C a+16 f+16 > c+16 < f+16 b16 f+16]2

/

@34 v145 y10 o4 $DF $E5 $00 $14 $50
q7E e16 a16 f+4
q76 f+8. q7E f+16 e16 d16
e16 a16 q76 a16 q7E f+8.
q76 f+8. q7E f+16 $F4 $01 e32 f+64 e192 $F4 $01 ^192^192 d16
@34 e16 a16 f+4
q76 f+8. q7E d16 e16 f+16
g8 q76 g16 q7E a8 q76 a16
q7E f+8 g8 q76 g8 $E5 $00 $00 $00

@35 v120 y10 o4
q7E e16 a16 f+4
q76 f+8. q7E f+16 e16 d16
e16 a16 q76 a16 q7E f+8.
q76 f+8. q7E f+16 $F4 $01 e32 f+64 e192 $F4 $01 ^192^192 d16
@35 e16 a16 f+4
q76 f+8. q7E d16 e16 f+16
g8 q76 g16 q7E a8 q76 a16
q7E f+8 g8 a+16 > c+16

@36 v150 y10 o5 $DE $00 $11 $20 $EA $18 $E5 $00 $12 $30
(51)[c+8 r16 < b8.]3
(52)[> d8 c+8 < b16 a16
> c+16 < r16 b16 > b8.
c+16 < b16 > b4
c+16 < b16 r16 > b8.]
f+8 e8 d16 c+16
(51)3
(52)
> d8 e8 c+16 d16

@37 v130 y10 o5 $E5 $00 $00 $00 $DE $00 $12 $18 $EA $18
q7E f4 $DD $00 $0C f+ e32 d32 < b32 a32
> d16 e16 d16 < b16 > d16 e16
d4 $DD $18 $0C c+ $DD $00 $0C [f+32 a32]5
f32 a32 e32 d32
< b16 a16 f+16 a16 b16 > d16
< b16 a16 b16 > d+16 $DD $00 $06 f e16 d16
< b8 q76 b16 > q7E d+16 $DD $00 $06 f e16 d16
e16 $DD $00 $06 f+ a16 e16 $DD $00 $06 f+ a16 e16 d16
e4. $DD $00 $0C f+
$E8 $D8 $20 ^4.
^4. $DD $00 $48 e
^4. $DD $00 $48 v130 q7D b8 q76 b8 r8
> q7D c+8 q76 c+8 r8
q7D d8 q76 d16 q7E d+16 $DD $00 $06 f e16 d16
e16 $DD $00 $06 f+ a16 e16 $DD $00 $06 f+ a16 e16 d16

;===============================;
; Channel #6 (SFX) ;
;===============================;

#6 r4.

(69)8

/

@32 v130 y11 o4
(21)[q7E d8 q78 d16 q7E d16 q78 d16 q7E d16
q7E d16 d16 q78 d16 q7E d16 q78 d16 q7E d16
q7E c+8 q78 c+16 q7E c+16 q78 c+16 q7E c+16
q7E c+16 c+16 q78 c+16 q7E c+16 q78 c+16 q7E c+16
q7E d8 q78 d16 q7E d16 q78 d16 q7E d16
q7E d16 d16 q78 d16 q7E d16 q78 d16 q7E d16
q7E e8 q78 e16 q7E e16 q78 e16 q7E e16]
q7E c+16 c+16 q78 c+16 q7E c+16 q78 c+16 q7E c+16
(21)
q7E c+16 c+16 q78 c+16 q7E f+16 q78 f+16 q7E f+16

(20)8

(69)4

@32 v130 y11
(20)4

;===============================;
; Channel #7 (SFX) ;
;===============================;

#7 r4.

(69)8

/

@33 v120 y10 q7D o4
[r8. c+16 < b16 > c+16
d16 e16 f+4]2
r8. e16 d16 e16
f+16 g16 a16 b16 > c+16 d16
q7C g8. a8.
f+8 e8 d16 c+16
< b8.

@34 v150 y10 o4 $E5 $00 $14 $50
q7E c+16 < b16 > c+16
d16 e16 f+8 q76 f+8
r8. q7E c+16 < b16 > c+16
d16 e16 f+8 q76 f+8
r8. q7E e16 d16 e16
f+16 g16 a16 b16 > c+16 d16
g8 q76 g16 q7E a8 q76 a16
q7C f+8 e8 d16 c+16 $E5 $00 $00 $00

@38 v120 y11 q7B o5
[[r4 f+8]]3
r4.
r8. f+8.
r8 f+4
r8. f+8.
r4.

@33 q7C o4 y12
[$DC $48 $0A b16 f+16 > f+16 < f+16 > e16 < f+16
$DC $48 $08 > c+16 < f+16 > d16 < f+16 b16 f+16
$DC $48 $0A > c+16 < f+16 > d16 < f+16 > e16 < f+16
$DC $48 $0C a16 f+16 > c+16 < f+16 b16 f+16]2

(69)4

(50)2


Alt anzeigen
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Decisive Here We Go - ASMT 2009
;; by Kil
;; Insert size : 2811
;; N-SPC Patch : Required
;; Channels : All Used
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

#0 w240 t55
l16

#0 @1 q7f v215 y9 ;harmony1
#1 @1 q7f v215 y11 ;harmony2
#2 @14 q7f v254 y10 ;slap bass
#3 @6 q7f v254 y9 ;melody
#4 @23 q7f v244 y9 ;hi hat
#5 @24 q7f v253 y11 ;snare drum
#6 @6 q7f v190 y13 ;melody echo
#7 @21 q7f v240 y10
;bass drum

$EF $D2 $40 $40 ;reverb, channels D2 11100010
$F1 $03 $60 $00
$F2 $AC $16 $16

;$DE $25 $0E $48
;$EA $3C


#0
o5

r32r8 d4o4a+8^ferfg4r
/c4c4d4c+4
c4c4d8c+4^^32r32
c4c4d4d4
c4c4c4 >c4c4d4d4
c4c4c2
c4c4d4d4
c4c4c8^32r32e8e
c4c4d4d4
c4c4c2
d2c4^32r32c8^
>d2c2
d4f4ea+8^
a2g2
f2f2
c4^8r4^cd^32r32e^32r32
f8^rc8^rf8^rf8r8
d8f8dff+gag+gf+add+e
f8d8fg8a8arag8^^32r32
d8f8dff+gag+gf+acc+d
f8f8c ;


#1
o2


r32r8 >f4d8^c4^ /@1
a4a4a+4a+4
a4a4a+8a+4^^32r32
a4a4a+4b4
a4g+4g4a+4
a4a4a+4b4
a+4a+4a4a4
a4a4a+4b4
a4g+4g8^e^32r32>e8e
a+4a+4a4a4
a+4a+4a4^32r32a8^
g+4g+4g4g4
a+4a+4a4a4
g+4g+4g8a+8a>c8^
d2c+2
c4^r4^8ca+ag8
f2^4^r8^


@0 d8d8d8ffed+8r8d
d8d8e8ffrfd+8^^32r32
d8d8d8ffed+8fga
a+8a+8a+agf4^8^
r1r1;


#2
o3


r32r8 < /ff^32r^32dd^32r^32gg^32r^32cc^32r^32
ff^32r^32dd^32r^32g^32r32f+4^r
ff^32r32faa^32r32aa+a+^32r32a+bb^32r32b
aa^32r32ag+g+^32r32g+gg^32r32gf+f+^32r32f+
ff^32r32faa^32r32aa+a+^32r32a+bb^32r32b
>c8c32r32c32r32
aa^32r32ag+g+^32r32g+grf+rc>c^32r32c
>c8c32r32c32r32
o2a+8b8o3c8d8c8o2a8fg8^
g+8b8o3d8f8g8f8e8c8
o2a+8a8a+8o3d8f8e8c8o2a8
b8o3d8f8o2b8a+8o3d8ce^32r32e
f^32r32d+^32r32 dd^32r32dd>d^32r32c+^32r32 c4^8^r4cd^32r32e^32r32
ff^32r^32cc^32r^32ff^32r^32f8 @15>>f8 @14<
c8c+8d8 g8a+8ag8f^32r32>c^32r32c a+8a8a+8b8>c8c+8d8 g8a+8a8g8f8c8f4

r1r1;


#3

o5

r32r8 d4 $DE $29 $0E $40
$EA $3C
r1^1
a4f8^cdf^32r32f4d
c^32r32f^32r32f^32r32>c^32r32 a4f8^cdf^32r32f4d
c^32r32f^32r32a+agf4^8^r8
a4f8^cdf^32r32f4d
c^32r32f^32r32f^32r32>c^32r32
o4 $EB $01 $06 $01 g+32^^32^ $EB $00 $00 $00 g8> c^32^32^
c^32r32f^32r32a+agf4^8^r8
a8^f8^c8a8^f8g8^
g+^32c32f^32c32g+8^32r32g4^8^r8
a8^f8^c8a8^f8g8^
g+^32c32f^32c32>c2^8^r
a32gf32c8d8^f4^8^rd
>c^32d^32c^32d^32 f2^4r4


@0 $DF o4f32ed+32d8f8g8a32r32g+32r32g32r32f+8cc+d
f8c8fg8a8>crc o4f^32c32d8f8g8a32r32a+32r32>c32r32d8 f8d8fg^32r32f4^8
r1r1;



#7
o3r32r8r1/[@21g+@21g+^32r4^^32]3@21g+r[@21g+r8]2[@21g+@21g+8@21g+r@21
g+8@21g+@21g+@21g+8@21g+r@21g+8@21g+@21g+@21g+8@21g+r@21g+8@21g+]2@21g+@21
g+8@21g+r@21g+8[@21g+]2@21g+8@21g+r@21g+r8[@21g+@21g+8@21g+r@21g+8@21
g+]3@21g+r[@21g+]2r4[@21g+@21g+8@21g+r@21g+8@21g+]3@21g+@21g+8
@21g+r@21g+r8@21g+8r8[@21g+]2r8@21g+8[r@21g+]2r8@21g+8r8[@21g+
]2r8@21g+8[r@21g+]2r8@21g+8r8[@21g+]2r8@21g+8[r@21g+]2r8
@21g+8r8[@21g+]2r8@21g+8r[@21g+]2r8^[@21g+@21g+8@21g+r@21g+8@21g+
]3@21g+@21g+8@21g+r4@21g+r2^8@21g+r4@21g+r8@21g+r@21g+8[@21g+]2@21g+8
@21g+r@21g+8@21g+@21g+8r8[@21g+]2r8@21g+8[r@21g+]2r8@21g+8r8[@21
g+]2r8@21g+r4^8^@21g+8r8[@21g+]2r8@21g+8[r@21g+]2r8@21g+8r8[@21
g+]2r8@21g+8r[@21g+]2r1r1;


#4
o4

r32r8r1/[r1]2<[@23f4@23f4@23f4@23f4@23f4@23f4@23f4@23f4]2[@23f4
@23f4]3@23f8^[@23f8]2@23f[@23f4@23f4]3@23f4@23f8[@23f]2[
@23fr32@23f32@23f8@23fr32@23f32@23f8@23fr32@23f32@23f8]2@23fr32@23f32@23f8
@23fr32@23f32[@23f32@23f]2[r32@23f32@23f8@23fr32@23f32@23f8@23fr32@23f32
@23f8@23f]2r32@23f32[@23f8@23f]2[@23f8@23f8@23f8@23f8@23f8@23f8@23
f8@23f8]2@23f8r1^2^4^8[@23fr32@23f32@23f8@23fr32@23f32@23f8@23fr32@23f32@23f8
]2[@23f@23fr]2[@23f32@23f]2[r32@23f32@23f8@23fr32@23f32@23f8
@23fr32@23f32@23f8@23f]2r32@23f32@23f8[@23f@23f]2r1r1;


#6

o5

r32r8 d4 $DE $29 $0E $40
$EA $3C
r32 r1^1
a4f8^cdf^32r32f4d
c^32r32f^32r32f^32r32>c^32r32 a4f8^cdf^32r32f4d
c^32r32f^32r32a+agf4^8^r8
a4f8^cdf^32r32f4d
c^32r32f^32r32f^32r32>c^32r32 o4 $EB $01 $06 $01 g+32^^32^ $EB $00 $00 $00 g8> c^32r32c
c^32r32f^32r32a+agf4^8^r8
a8^f8^c8a8^f8g8^
g+^32c32f^32c32g+8^32r32g4^8^r8
a8^f8^c8a8^f8g8^
g+^32c32f^32c32>c2^8^r
a32gf32c8d8^f4^8^rd
>c^32d^32c^32d^32 f2^4r8^^32


@7 $DF o4f32ed+32d8f8g8a32r32g+32r32g32r32f+8cc+d
f8c8fg8a8>crc o4f^32c32d8f8g8a32r32a+32r32>c32r32d8 f8d8fg^32r32f4^8 r1r1;



#5
o2


v1 a32 v250 gg r1 /v1g+4 v252
g+4r4g+4
r4g+4rg+r8g+rg+g+
r4g+r4^8^g+r4^8^
g+r4^8^g+r4^8^
g+r4^8^g+r4^8^
g+r4^8^g+rg+g+
r4g+r4^8^g+r4^8^
g+r4g+r8^g+rg+
r4g+r4^8^g+r4^8^
g+r4^8^g+rg+g+
r8g+8r8g+8r8g+r8^g+8
r8g+8r8g+8r8g+r8^g+32g+g+32
r8g+8r8g+8r8g+r8^g+8
r8g+8r8g+8r8g+r8g+8g+
r4g+r4^8^g+r4^8^
g+r4^8^g+rg+g+
r2^4g+g+g+r4^
g+r4^8^g+r4^
g+8r8g+8r8g+r8^g+8
r8g+8r8g+8rg+rg+g+rg+32g+g+32
r8g+8r8g+8r8g+r8^g+8
r8g+8r8g+8r8g+r8g+g+g+ r1r1
;


So die Frage ist jetzt ob mein AddMusic da an Altersschwäche versagt oder ob ich doch noch etwas Zusätzliches brauch. (sieht aber nicht so aus)

Außerdem wenn die etwas geändert hätten bei einem neueren AddMusic, wie z.B die Instrumente anders zu lesen, dann würden doch komplett alle älteren Tracks auf Smwc nicht mehr funktionieren. Oder? Irgednwie steht mir hier der Cheese bis zum Hals!

Kann mir irgendjemand helfen?
>tfw you actually realize how much autistic shit you have posted on this website over the past few years
geschrieben am 06.11.2015 9:53:11
( Link )
Ja, ich fürchte, das hat sich alles ein wenig geändert. Ich bin auch kein Musikexperte, aber hier ist das, was ich weiß.

Addmusic 4.04 ist so ziemlich überholt (und ich glaube, erst 4.05 sorgt überhaupt dafür, dass die Musik auf besseren Emulatoren nicht komplett in die Brüche geht). Mittlerweile ist AddmusicK der Standard, ein von Grund auf neu geschriebenes Tool. Keine Sorge, das ist ziemlich einfach zu benutzen (aber wenn damit irgendwelche Bugs auftreten, solltest du offenbar lieber diese Version nehmen).

Zitat von Wysey:
Habe mal die Schreibform eines alten Tracks mit einem neuen verglichen und muss sagen: ich erkenne nur wenig Unterschied.

Kleine, aber bedeutsame Unterschiede. Die ganzen Befehle, die mit # anfangen, und erst recht die geschweiften Klammern, sind für AddmusicK gedacht und für andere Programme völlig unverständlich. (Die gehen davon aus, dass nach einem #-Zeichen nur Angaben zur Channel-Nummer kommen - deswegen sagt das alte Addmusic auch "Invalid channel number".) Und das #amk in der ersten Zeile heißt, dass das Lied wirklich nur für AddmusicK ausgelegt ist - AddmusicK weigert sich sogar, Lieder einzufügen, bei denen das nicht am Anfang steht.

Zitat von Wysey:
Außerdem wenn die etwas geändert hätten bei einem neueren AddMusic, wie z.B die Instrumente anders zu lesen, dann würden doch komplett alle älteren Tracks auf Smwc nicht mehr funktionieren. Oder?)

Soweit ich weiß, wurden alle alten Lieder auf SMWC mit irgendeinem Skript automatisch auf die AddmusicK-Schreibweise upgedated. (Dabei wurden sogar die SPC-Dateien in der ZIP automatisch neu erstellt.) Soll heißen, ja, AddmusicK ist jetzt wirklich der Standard, denn die Lieder auf SMWC funktionieren nur noch damit.
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 06.11.2015 11:29:13
( Link )
Zitat von WYE:
Ja, ich fürchte, das hat sich alles ein wenig geändert. Ich bin auch kein Musikexperte, aber hier ist das, was ich weiß.

(Die gehen davon aus, dass nach einem #-Zeichen nur Angaben zur Channel-Nummer kommen - deswegen sagt das alte Addmusic auch "Invalid channel number".) Und das #amk in der ersten Zeile heißt, dass das Lied wirklich nur für AddmusicK ausgelegt ist - AddmusicK weigert sich sogar, Lieder einzufügen, bei denen das nicht am Anfang steht.


Ist das nicht ein bischen retarded? Ich meine der Programmierer hätte doch einfach nur die Regeln vom alten Addmusic übernehmen können so wie die anderen files geschrieben sind unabhängik davon wie das Programm anders arbeitet. Wege gibt es immer.... das zeugt nur von Faulheit.


Zitat
Soweit ich weiß, wurden alle alten Lieder auf SMWC mit irgendeinem Skript automatisch auf die AddmusicK-Schreibweise upgedated. (Dabei wurden sogar die SPC-Dateien in der ZIP automatisch neu erstellt.) Soll heißen, ja, AddmusicK ist jetzt wirklich der Standard, denn die Lieder auf SMWC funktionieren nur noch damit.


Super das heißt meine ganzen Ordner mit allen files sind nutzlos und das sind ne Menge files (Wenn nicht 1/4 aller alten smwc music). Also kann ich wieder von vorne beginnen alles nach Kategorien zu ordnen yay... Abgesehen davon, gibt es nicht irgendwo wenigstens nen Link wo man alles auf einmal downloaden kann? (Songfiles)


Gibt es eigentlich noch irgendetwas zu beachten beim umsiedeln meiner alten Rom auf ein neues Addmusic?
Btw danke für die schnelle Antwort wie immer bist du super Wye
>tfw you actually realize how much autistic shit you have posted on this website over the past few years
geschrieben am 06.11.2015 14:10:14
( Link )
Normalerweise kann man ja bei alten Ports doch ein #amm bzw #am405 oder so anhängen, welches AddMusicK dann liest bzw erkennt, dass das ein alter Port ist.

Wenn es mich nicht irrt.

SMW Hacken? Was ist das?
geschrieben am 06.11.2015 21:24:02
( Link )
Zitat von EliteBellic:
Normalerweise kann man ja bei alten Ports doch ein #amm bzw #am405 oder so anhängen, welches AddMusicK dann liest bzw erkennt, dass das ein alter Port ist.

Wenn es mich nicht irrt.


Hmmmm hoffentlich geht das so einfach wie du es beschreibst

Edit: Hat super geklapt! Danke dir.
>tfw you actually realize how much autistic shit you have posted on this website over the past few years
geschrieben am 24.11.2015 19:33:52
( Link )
Code
;@xkas
;To be patched with xkas or asar.

header
lorom
ORG $0C8200 ;<-- Change this to some freespace.

;this is RATS tag, if you don't know what this is, don't touch it!!!
db "STAR"
dw RATS_End-RATS_Start-$01
dw RATS_End-RATS_Start-$01^$FFFF

RATS_Start:

print "For the INIT code, JSL to $",pc
.InitCode: ;\ This section is to be used in the INIT code of levelASM
REP #$20 ; |
LDA #$0F42 ; | Use indeirect and mode 2 on register 210F
STA $4330 ; | 4330 = Mode, 4331 = Register
LDA #ParallaxTable_190510761 ; | Address of HDMA table, get high and low byte
STA $4332 ; | 4332 = Low-Byte of table, 4333 = High-Byte of table
SEP #$20 ; |
LDA.b #ParallaxTable_190510761>>16 ; | Address of HDMA table, get bank byte
STA $4334 ; | 4334 = Bank-Byte of table
LDA #$7F ; | Address of indirect table in RAM bank byte
STA $4337 ; | 4334 = Bank-Byte of indirect table
LDA #$08 ; |
TSB $0D9F ; | Enable HDMA channel 3
RTL ;/ Return

;The Table takes up 6 bytes of the free RAM
;It ranges from $7F9E00 - $7F9E05 (both addresses included)

print "For the MAIN code, JSL to $",pc
.MainCode: ;\ This section is to be used in the MAIN code of levelASM
REP #$20 ;/ 16 bit action starts here. (To load the x position of the BG)

LDA $1E ;\ Load BG x Position
LSR #2 ; | Multiplied by 0,25
STA $7F9E00 ;/ Store to FreeRAM for indirect HDMA
LDA $1E ;\ Load BG x Position
LSR #3 ; | Multiplied by 0,125
STA $7F9E02 ;/ Store to FreeRAM for indirect HDMA
LDA $1E ;\ Load BG x Position
LSR #1 ; | Multiplied by 0,5
STA $7F9E04 ;/ Store to FreeRAM for indirect HDMA
LDA $1E ;\ Load BG x Position
STA $7F9E06 ;/ Store to FreeRAM for indirect HDMA
SEP #$20 ; Back to 8bit
RTL ; Return

ParallaxTable_190510761: ;\
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E02 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E00 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $01 : dw $9E04 ; |
db $00 ;/


RATS_End:


Folgendes: Ich habe mit Effect Tool meinen ersten HDMA (Parallax Scrolling) Effekt zusammengebastelt und mir die .ASM Datei ausspucken lassen. Ich habe wie gewollt auch ganz brav einen benutzbaren Freespace Code rausgenommen und in die .ASM Datei durch die alte ersetzt. Nun, immer wenn ich dann mit LevelASM die Datei patche, bekomme ich einen Blackscreen. Das Nintendo Logo blinkt auf und ab dort habe ich nur noch einen schwarzen Screen und die Titlse Screen Musik. Habe ich etwas im Code übersehen?
geschrieben am 24.11.2015 21:22:20
( Link )
Zitat
ORG $0C8200 ;<-- Change this to some freespace.

Sicher, dass das Free Space ist? Und auch im SNES-Format? In Bank 0C sind offenbar irgendwelche GFX-Daten.

Welches LevelASM benutzt du eigentlich? Dein Code da sieht nicht so aus, als würde er von alleine irgendwas machen.
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 24.11.2015 21:40:03
( Link )
Zitat von WYE:
Zitat
ORG $0C8200 ;<-- Change this to some freespace.

Sicher, dass das Free Space ist? Und auch im SNES-Format? In Bank 0C sind offenbar irgendwelche GFX-Daten.

Welches LevelASM benutzt du eigentlich? Dein Code da sieht nicht so aus, als würde er von alleine irgendwas machen.


Hi. Das ist ein generierter Code von Effect Tool. Hatte die falsche Freespace Nummer raus genommen. Das Spiel friert zwar nicht mehr ein aber der Effekt wird nicht wirklich gepatched/angezeigt.
geschrieben am 25.11.2015 11:25:04
( Link )
Jep - der Patch fügt den Code nur in die ROM ein, ums Ausführen musst du dich mit dieser Variante selber kümmern. Beim Patchen müsstest du so was angezeigt bekommen wie:

Zitat
For the INIT code, JSL to $xxxxxx
For the MAIN code, JSL to $yyyyyy

Daher musst du noch in LevelASM im Init bzw. Main deines Levels ein JSL $xxxxxx zw. JSL $yyyyyy einfgen. (Wobei die Buchstaben natürlich für die Adresse stehen.)

Oder du fügst den Code einfach direkt in LevelASM ein.
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!)