Beiträge von Auroros

geschrieben am 12.06.2011 22:13:57 in Allgemeine Hex- und ASM-Fragen
( Link )
Nach langer Zeit habe ich ma wieder eine Frage die nicht zu den guten alten anfänger themen gehört
Okay, also wie wir alle wissen gibt es den Ground Pound Boss
Code:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Ground Pound Koopa, by mikeyk
;;
;; Description: This guy runs at Mario waving his fists in the air. He can pound the
;; ground, stopping Mario is his tracks.
;;
;; Uses first extra bit: NO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MarioSprInteract = $01A7DC

TimeInState = $1540
SpriteState = $C2

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite initialization JSL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dcb "INIT"
PHY
JSR SubHorzPos
TYA
STA $157C,x
PLY
LDA #40
STA TimeInState,x
RTL


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite main JSL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dcb "MAIN"
PHB ; \
PHK ; | main sprite function, just calls local subroutine
PLB ; |
JSR START_SPRITE_CODE ; |
PLB ; |
RTL ; /


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Sprite data
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SpriteSpeed:
dcb $10,$14,$18,$1C,$20,$FF,$FF,$FF ;x speed - facing right
dcb $F0,$EC,$E8,$E4,$E0,$FF,$FF,$FF ;x speed - facing left
TimeToRun:
dcb $40,$3A,$34,$2E,$28,$FF,$FF,$FF
TimeToPound:
dcb $20,$20,$20,$20,$20,$FF,$FF,$FF
TimeToLock:
dcb $24,$24,$24,$24,$24,$FF,$FF,$FF
BounceSpeed:
dcb $E8,$18 ;x speed to give mario when he stomps the sprite

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

RETURN RTS

START_SPRITE_CODE JSR SUB_GFX ; draw sprite gfx
LDA $14C8,x ; \ if sprite status != 8...
CMP #$08 ; } ... not (killed with spin jump [4] or star[2])
BNE RETURN ; / ... return
LDA $9D ; \ if sprites locked...
BNE RETURN ; / ... return


ALIVE JSR SUB_OFF_SCREEN_SPR ; only process sprite while on screen

JSR CALC_FRAME

LDA SpriteState,x
BEQ STATE_RUN
JMP STATE_POUND ; in the pounding state

STATE_RUN LDA TimeInState,x
CMP #$01
BNE STILL_RUNNING
JMP TO_POUND ; time to convert to pounding koopa

STILL_RUNNING LDA $1588,x ; \ if sprite is not on ground...
AND #$04 ; } ...(4 = on ground) ...
BEQ IN_AIR ; / ...goto IN_AIR
LDA #$10 ; \ y speed = 10
STA $AA,x ; /
LDA SpriteState,x ; \ if hits on sprite == 0...
EOR #$01
BEQ NO_FAST_SPEED ; / ...goto DONT_ADJUST_SPEED
LDA $157C,x ; load, y = sprite direction, as index for speed
ASL
ASL
ASL
CLC
ADC $1528,x ; Speed depends on hit count
TAY
LDA SpriteSpeed,y ; \ load x speed from ROM...
NO_FAST_SPEED STA $B6,x ; / ...and store it
IN_AIR JSL $01802A ; update position based on speed values
FREEZE_SPR LDA $1588,x ; \ if sprite is touching the side of an object...
AND #$03 ; |
BEQ DONT_CHANGE_DIR ; |
LDA $157C,x ; |
EOR #$01 ; | ... change sprite direction
STA $157C,x ; /
DONT_CHANGE_DIR JSL $018032 ; interact with other sprites


LDA SpriteState,x ; Run interaction routine based on sprite
BNE Pounding
Running:
JSR RunningInteract
BRA DoneWithInteraction
Pounding:
JSR PoundingInteract
DoneWithInteraction:
RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

RunningInteract:
JSL MarioSprInteract ; check for mario/sprite contact
BCC Return1 ; (carry set = mario/sprite contact)
LDA $1490 ; \ if mario star timer > 0 ...
BNE HAS_STAR ; / ... goto HAS_STAR
LDA $154C,x ; \ if sprite invincibility timer > 0 ...
BNE Return1 ; / ... goto NO_CONTACT
LDA #$08 ; \ sprite invincibility timer = $08
STA $154C,x ; /
LDA $7D ; \ if mario's y speed < 10 ...
CMP #$10 ; } ... sprite will hurt mario
BMI SPRITE_WINS ; /

MARIO_WINS:
JSR SUB_STOMP_PTS ; give mario points
JSL $01AB99 ; display contact graphic

LDA $15 ; Save controller state
PHA
ORA #$C0 ; Set holding X/Y and A/B
STA $15
JSL $01AA33 ; set mario speed
PLA
STA $15

JSR SubHorzPos ; If there was contact,
LDY $157C,x
LDA BounceSpeed,y ; bounce away horizontally
STA $7B



INC $1528,x ; increment sprite hit counter
LDA $1528,x ; if sprite hit counter == 5
CMP #$05
BNE Return1
LDA #$02 ; Kill the sprite
STA $14C8,x
STZ $B6,x
LDA #$F0
STA $AA,x
RTS ; return

SPRITE_WINS
LDA $1497 ; \ if mario is invincible...
ORA $187A ; } ... or mario on yoshi...
BNE Return1 ; / ... return
JSR SubHorzPos ; \ set new sprite direction
TYA ; }
STA $157C,x ; /
JSL $00F5B7 ; hurt mario
Return1:
RTS ; return

KILLED_X_SPEED dcb $F0,$10

HAS_STAR LDA #$02 ; \ sprite status = 2 (being killed by star)
STA $14C8,x ; /
LDA #$D0 ; \ set y speed
STA $AA,x ; /
JSR SubHorzPos ; get new sprite direction
LDA KILLED_X_SPEED,y ; \ set x speed based on sprite direction
STA $B6,x ; /
INC $18D2 ; increment number consecutive enemies killed
LDA $18D2 ; \
CMP #$08 ; | if consecutive enemies stomped >= 8, reset to 8
BCC NO_RESET2 ; |
LDA #$08 ; |
STA $18D2 ; /
NO_RESET2 JSL $02ACE5 ; give mario points
LDY $18D2 ; \
CPY #$08 ; | if consecutive enemies stomped < 8 ...
BCS NO_SOUND2 ; |
LDA STAR_SOUNDS,y ; | ... play sound effect
STA $1DF9 ; /
NO_SOUND2 RTS ; final return


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; points routine - unknown
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

STAR_SOUNDS dcb $00,$13,$14,$15,$16,$17,$18,$19

SUB_STOMP_PTS PHY ;
LDA $1697 ; \
CLC ; }
ADC $1626,x ; / some enemies give higher pts/1ups quicker??
INC $1697 ; increase consecutive enemies stomped
TAY ;
INY ;
CPY #$08 ; \ if consecutive enemies stomped >= 8 ...
BCS NO_SOUND ; / ... don't play sound
LDA STAR_SOUNDS,y ; \ play sound effect
STA $1DF9 ; /
NO_SOUND TYA ; \
CMP #$08 ; | if consecutive enemies stomped >= 8, reset to 8
BCC NO_RESET ; |
LDA #$08 ; /
NO_RESET JSL $02ACE5 ; give mario points
PLY ;
RTS ; return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Pounding interaction routine
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

PoundingInteract:
LDA $140D ; Save spin jump flag
PHA
LDA #$01 ; Set Spin jump flag
STA $140D

LDA $15 ; Save controller state
PHA
ORA #$C0 ; Set holding X/Y and A/B
STA $15

LDA $167A,x ; Save property byte
PHA
AND #$7F ; Use default interaction
STA $167A,x

LDA $1656,x
PHA
AND #$EF
STA $1656,x

JSL MarioSprInteract ; Interact with Mario

PLA
STA $1656,x
PLA ; Restore property byte
STA $167A,x
PLA ; Restore controller state
STA $15
PLA ; Restore spin jump flag
STA $140D
RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

TO_RUN STZ SpriteState,x
LDY $1528,x
LDA TimeToRun,Y
STA TimeInState,x

JSR SubHorzPos
TYA
STA $157C,x

JSR CALC_FRAME

LDA $151C,x
BEQ NO_ADJ2
LDA $E4,x
SEC
SBC #$F0
STA $E4,x
LDA $14E0,x
SBC #$FF
STA $14E0,x
NO_ADJ2

LDA #$AA ;change sprite size
STA $1662,x

JMP STILL_RUNNING

DONT_POUND LDA #10
STA TimeInState,x
JMP STILL_RUNNING

TO_POUND LDA $1588,x ; \ if sprite is not on ground...
AND #$04 ; } ...(4 = on ground) ...
BEQ DONT_POUND ; / ...goto IN_AIR

LDA #$01
STA SpriteState,x
LDY $1528,x
LDA TimeToPound,Y
STA TimeInState,x

JSR CALC_FRAME

LDA $157C,x
STA $151C,x
BEQ NO_ADJ
LDA $E4,x
CLC
ADC #$F0
STA $E4,x
LDA $14E0,x
ADC #$FF
STA $14E0,x
NO_ADJ
LDA #$94 ;change sprite size
STA $1662,x

LDY $1528,x
LDA TimeToLock,Y
STA $1887 ; /

LDA #$09 ; \ play sound effect
STA $1DFC ; /

LDA $77
AND #$04
BEQ STILL_POUNDING

LDY $1528,x
LDA TimeToLock,Y
STA $18BD

BRA STILL_POUNDING

STATE_POUND LDA TimeInState,x
CMP #$01
BNE STILL_POUNDING
JMP TO_RUN

STILL_POUNDING JMP STILL_RUNNING
RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CALC_FRAME INC $1570,x ; increment number of frames sprite has been on screen
LDA $1570,x ; \ calculate which frame to show:
LSR A ; |
LSR A ; |
LDY SpriteState,x ; | number of hits determines if smushed
BEQ NOT_HIT ; |
LDA #$02 ; | show smushed frame
BRA LABEL3 ; |
NOT_HIT AND #$01 ; | update every 16 cycles if normal
LABEL3 STA $1602,x ; / write frame to show
RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; graphics routine - specific to sprite
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;org $03964C

HORIZ_DISP dcb $00,$00,$00,$00,$00,$10
dcb $00,$00,$00,$00,$10,$00
VERT_DISP dcb $F0,$00,$F0,$00,$00,$00
TILEMAP dcb $CC,$EC,$CE,$EE,$AC,$AE
PROPERTIES dcb $40,$00 ;xyppccct format

SUB_GFX JSR GET_DRAW_INFO ; after: Y = index to sprite tile map ($300)
; $00 = sprite x position relative to screen boarder
; $01 = sprite y position relative to screen boarder
LDA $1602,x ; \
ASL A ; | $03 = index to frame start (frame to show * 2 tile per frame)
STA $03 ; /
LDA $157C,x ; \ $02 = sprite direction
STA $02 ; /
PHX ; push sprite index

LDX #$01 ; loop counter = (number of tiles per frame) - 1
LOOP_START PHX ; push current tile number
TXA ; \ X = index to horizontal displacement
ORA $03 ; / get index of tile (index to first tile of frame + current tile number)
PHA ; push index of current tile
LDX $02 ; \ if facing right...
BNE FACING_LEFT ; |
CLC ; |
ADC #$06 ; / ...use row 2 of horizontal tile displacement table
FACING_LEFT TAX ; \
LDA $00 ; | tile x position = sprite x location ($00) + tile displacement
CLC ; |
ADC HORIZ_DISP,x ; |
STA $0300,y ; /
PLX ; \ pull, X = index to vertical displacement and tilemap
LDA $01 ; | tile y position = sprite y location ($01) + tile displacement
CLC ; |
ADC VERT_DISP,x ; |
STA $0301,y ; /

LDA TILEMAP,x ; \ store tile
STA $0302,y ; /


LDX $02 ; \
LDA PROPERTIES,x ; | get tile properties using sprite direction
LDX $15E9
ORA $15F6,x
ORA $64 ; | ?? what is in 64, level properties... disable layer priority??
STA $0303,y ; / store tile properties
TYA ; \ get index to sprite property map ($460)...
LSR A ; | ...we use the sprite OAM index...
LSR A ; | ...and divide by 4 because a 16x16 tile is 4 8x8 tiles
LDX $03 ; | if index of frame start is > 0A
CPX #$0A ; |
TAX ; |
LDA #$00 ; | ...show only an 8x8 tile
BCS SMALL_TILE ; |
LDA #$02 ; | else show a full 16 x 16 tile
SMALL_TILE STA $0460,x ; /
PLX ; \ pull, X = current tile of the frame we're drawing
INY ; | increase index to sprite tile map ($300)...
INY ; | ...we wrote 1 16x16 tile...
INY ; | ...sprite OAM is 8x8...
INY ; | ...so increment 4 times
DEX ; | go to next tile of frame and loop
BPL LOOP_START ; /

PLX ; pull, X = sprite index
LDY #$FF ; \ why FF? (460 &= 2) 8x8 tiles maintained
LDA #$01 ; | A = number of tiles drawn - 1
JSL $01B7B3 ; / don't draw if offscreen
RTS ; return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SubHorzPos:
LDY #$00
LDA $94
SEC
SBC $E4,x
STA $0F
LDA $95
SBC $14E0,x
BPL HorzIncY
INY
HorzIncY:
RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; graphics routine helper - shared
; sets off screen flags and sets index to OAM
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;org $03B75C

TABLE1 dcb $0C,$1C
TABLE2 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 TABLE1,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 TABLE2,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 ; /


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; off screen processing code - shared
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;org $03B83B

TABLE3 dcb $40,$B0
TABLE6 dcb $01,$FF
TABLE4 dcb $30,$C0,$A0,$80,$A0,$40,$60,$B0
TABLE5 dcb $01,$FF,$01,$FF,$01,$00,$01,$FF

SUB_OFF_SCREEN_MOLE LDA #$06 ; \ entry point of routine determines value of $03
BRA STORE_03 ; |
SUB_OFF_SCREEN_X1 LDA #$04 ; |
BRA STORE_03 ; |
SUB_OFF_SCREEN_X2 LDA #$02 ; |
STORE_03 STA $03 ; |
BRA START_SUB ; |
SUB_OFF_SCREEN_SPR STZ $03 ; /

START_SUB JSR SUB_IS_OFF_SCREEN ; \ if sprite is not off screen, return
BEQ RETURN_2 ; /
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_2 ; /
LDA $13 ; \
AND #$01 ; |
ORA $03 ; |
STA $01 ; |
TAY ; /
LDA $1A ;x boundry ;A:0101 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0256 VC:090 00 FL:16953
CLC ;A:0100 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdiZcHC:0280 VC:090 00 FL:16953
ADC TABLE4,y ;A:0100 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdiZcHC:0294 VC:090 00 FL:16953
ROL $00 ;A:01C0 X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizcHC:0326 VC:090 00 FL:16953
CMP $E4,x ;x pos ;A:01C0 X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizcHC:0364 VC:090 00 FL:16953
PHP ;A:01C0 X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizCHC:0394 VC:090 00 FL:16953
LDA $1B ;x boundry hi ;A:01C0 X:0006 Y:0001 D:0000 DB:03 S:01EC P:eNvMXdizCHC:0416 VC:090 00 FL:16953
LSR $00 ;A:0100 X:0006 Y:0001 D:0000 DB:03 S:01EC P:envMXdiZCHC:0440 VC:090 00 FL:16953
ADC TABLE5,y ;A:0100 X:0006 Y:0001 D:0000 DB:03 S:01EC P:envMXdizcHC:0478 VC:090 00 FL:16953
PLP ;A:01FF X:0006 Y:0001 D:0000 DB:03 S:01EC P:eNvMXdizcHC:0510 VC:090 00 FL:16953
SBC $14E0,x ;x pos high ;A:01FF X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizCHC:0538 VC:090 00 FL:16953
STA $00 ;A:01FE X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizCHC:0570 VC:090 00 FL:16953
LSR $01 ;A:01FE X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizCHC:0594 VC:090 00 FL:16953
BCC LABEL20 ;A:01FE X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdiZCHC:0632 VC:090 00 FL:16953
EOR #$80 ;A:01FE X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdiZCHC:0648 VC:090 00 FL:16953
STA $00 ;A:017E X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizCHC:0664 VC:090 00 FL:16953
LABEL20 LDA $00 ;A:017E X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizCHC:0688 VC:090 00 FL:16953
BPL RETURN_2 ;A:017E X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizCHC:0712 VC:090 00 FL:16953
ERASE_SPRITE LDA $14C8,x ; \ if sprite status < 8, permanently erase sprite
CMP #$08 ; |
BCC KILL_SPRITE ; /
LDY $161A,x ;A:FF08 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdiZCHC:0140 VC:071 00 FL:21152
CPY #$FF ;A:FF08 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizCHC:0172 VC:071 00 FL:21152
BEQ KILL_SPRITE ;A:FF08 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0188 VC:071 00 FL:21152
LDA #$00 ; \ mark sprite to come back A:FF08 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0204 VC:071 00 FL:21152
STA $1938,y ; / A:FF00 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdiZcHC:0220 VC:071 00 FL:21152
KILL_SPRITE STZ $14C8,x ; erase sprite
RETURN_2 RTS ; return

VERTICAL_LEVEL LDA $167A,x ; \ if "process offscreen" flag is set, return
AND #$04 ; |
BNE RETURN_2 ; /
LDA $13 ; \ only handle every other frame??
LSR A ; |
BCS RETURN_2 ; /
AND #$01 ;A:0227 X:0006 Y:00EC D:0000 DB:03 S:01ED P:envMXdizcHC:0228 VC:112 00 FL:1142
STA $01 ;A:0201 X:0006 Y:00EC D:0000 DB:03 S:01ED P:envMXdizcHC:0244 VC:112 00 FL:1142
TAY ;A:0201 X:0006 Y:00EC D:0000 DB:03 S:01ED P:envMXdizcHC:0268 VC:112 00 FL:1142
LDA $1C ;A:0201 X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0282 VC:112 00 FL:1142
CLC ;A:02BD X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizcHC:0306 VC:112 00 FL:1142
ADC TABLE3,y ;A:02BD X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizcHC:0320 VC:112 00 FL:1142
ROL $00 ;A:026D X:0006 Y:0001 D:0000 DB:03 S:01ED P:enVMXdizCHC:0352 VC:112 00 FL:1142
CMP $D8,x ;A:026D X:0006 Y:0001 D:0000 DB:03 S:01ED P:enVMXdizCHC:0390 VC:112 00 FL:1142
PHP ;A:026D X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNVMXdizcHC:0420 VC:112 00 FL:1142
LDA.W $001D ;A:026D X:0006 Y:0001 D:0000 DB:03 S:01EC P:eNVMXdizcHC:0442 VC:112 00 FL:1142
LSR $00 ;A:0200 X:0006 Y:0001 D:0000 DB:03 S:01EC P:enVMXdiZcHC:0474 VC:112 00 FL:1142
ADC TABLE6,y ;A:0200 X:0006 Y:0001 D:0000 DB:03 S:01EC P:enVMXdizCHC:0512 VC:112 00 FL:1142
PLP ;A:0200 X:0006 Y:0001 D:0000 DB:03 S:01EC P:envMXdiZCHC:0544 VC:112 00 FL:1142
SBC $14D4,x ;A:0200 X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNVMXdizcHC:0572 VC:112 00 FL:1142
STA $00 ;A:02FF X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizcHC:0604 VC:112 00 FL:1142
LDY $01 ;A:02FF X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizcHC:0628 VC:112 00 FL:1142
BEQ LABEL22 ;A:02FF X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0652 VC:112 00 FL:1142
EOR #$80 ;A:02FF X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0668 VC:112 00 FL:1142
STA $00 ;A:027F X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0684 VC:112 00 FL:1142
LABEL22 LDA $00 ;A:027F X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0708 VC:112 00 FL:1142
BPL RETURN_2 ;A:027F X:0006 Y:0001 D:0000 DB:03 S:01ED P:envMXdizcHC:0732 VC:112 00 FL:1142
BMI ERASE_SPRITE ;A:0280 X:0006 Y:0001 D:0000 DB:03 S:01ED P:eNvMXdizCHC:0170 VC:064 00 FL:1195

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



Wenn ich schon eine Welt nach den Dingern Widme muss es auch verschiedene geben, also wären meine Fragen:
Was muss ich an dem Code verändern damit die mehr Hp hat?
Was muss ich verändern, damit einige von ihnen zwei Schläge hintereinander machen?
Was muss ich verändern, damit sie schneller laufen?
Und zu guter letzt warum brennt mein Pc?

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 19.06.2011 12:38:57 in YouTube Urheberrechtsverletzung --> Strafe zahlen?!
( Link )
Sowas hatte ich mal bei Battleforge XD
Mal ehrlich, der Typ wollte, das ich ihm meine Konto Daten rausrücke, wobei jeder weiß, das Admins sich alles ansehen können XD

Vielleicht habe ich die Nachricht noch XP muss mal gucken gehen... wäre zu geil XD

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 22.06.2011 19:22:26 in Multiplayer Spiele
( Link )
Also auf jeden Terraria (ich und Spiku suchen noch nach Spielern XP) und ansonsten in der Nähe mit jemanden mit einer PSP Monster hunter oder Lord of Arcana... aber für PC fällt mir spontan sonst nix ein...

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 27.06.2011 22:08:15 in Gute Bilder
( Link )
Ganz ehrlich, heutzutage gibt es kaum noch was schweres (an Bossen)
mal ehrlich, wer braucht bei z. B. Super Mario Galaxy mehr als 3 Versuche an einem Boss... Das ist wirklich lasch
Bis heute habe ich Probleme mit dem 3. Boss von Donkey Kong 64 O.o Bevor ich es geschafft hatte den zu besiegen, habe ich wirklich ein paar 1000 gebraucht XDD (Damals war ich acht...)
Was mir aber immer noch im Kopf rumschwebt ist der Weiße Fatalis XP One hit kills trotz (halbwegs) guter Rüstung :O Zudem ist diese Attacke auch schwer auszuweichen X_X
Auch was mir im Kopf geblieben ist, ist der Kingdom hearts 1 Sephiroth... Drei Schläge, auf dem Höchstlevel, wohl gemerkt, und man ist tot :O
Und dann natürlich noch dieses 50.000.000 HP Boss Dingsda in FInal fantasy 12
Und Siegfried von Lord of Arcana (einer seiner Treffer = ein DRITTEL eurer HP!)
OH und vorallem die Kingdom hearts birth by sleep geheim Bosse X____X (ein Treffer von denen = 99,9% eurer HP!)

Also 6 starke Bosse in 16 Jahren... ein bisschen wenig oder?

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 28.06.2011 22:03:50 in Gute Bilder
( Link )
@RPG Hacker:
In den letzten 8 Jahren (Ja ich hab nur die hälfte der gesamten Zeit gespielt bemerke aber den sinkenden Schwierigkeitsgrad trotzdem) habe ich gut 70 Spiele durchgespielt, und wirklich (im Schwierigkeitsgrad und Bossperspektivisch) positiv aufgefallen sind mir Metroid Prime 2 auf hard mode (... Alpha Blogg... ... Boost Wächter...), Monster hunter Freedom 2 und unite (der Rest der Serie soll schwerer sein) (...Fatalis... Akantor... Ukanlos...), Die Rare Games für N64 (Ausser Bad fur Day (ich hoffe ich schreibe das richtig...), das habe ich nicht gespielt), mit mindestens 70 Stunden Spielzeit und einigen verteufelt schweren Bossen, (...HAG 1... ...Mad Jack...) Kingdom hearts Birth by sleep auf Veteran mit Null Erfahrungspunkten (Später wird man da sogar von allem mit einem Schlag getötet... Ich habe es bei Kampfstufen-vier-Level (Kampfstufe heisst nicht Level sondern gibt die Schwierigkeit wieder) aufgegeben X_X) und noch ein paar die mir Spontan nicht einfallen...
Natürlich war ich nicht in der Lage ALLE Spiele zu spielen, aber die Spielzeit nimmt wirklich ab.
Wie gesagt, die Rare games haben mich jedes mal 70 Stunden sitzen lassen, nur um den letzten Boss zu besiegen... erst vor nem Jahr hab ich mir Banjo tooie geholt und das Spiel war nicht gerade ein Zuckerschlecken... Natürlich gibt es schwerere Sachen (Super Meat Boy, I wanna be the Guy), aber die bleiben mir im Kopf im gegensatz zum 12-Stunden Super Mario Galaxy (der Steingolem auf Risiko ist garnicht so schwer... einfach um ihn herum rennen, Bomb buh abwarten, laden, zielen, FEUER, und das oft genug halt. Mir hat die Rache der Dino-Pirahnas viel mehr Probleme gemacht... bei weitem.) wo man auch keine Freiheit hat wie in SM64, Nein die meisten Sterne kriegt man auch noch einfacher als die "sammle 8 rote Münzen" Aufgaben in SM64
Zudem sind mir Video Game Bosse wichtig :O Vor allem liebe ich die Zähen XP Nix geht über instant kill attacks und Fast unausweichliche Attacken
Und wenn sie overpowered sind alla Siegfried 3-Treffer-und-du-bist-tot freue ich mich am allermeisten XD (Keine Ironie, Kein Sarkasmus, das ist Ernst gemeint!)

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 30.06.2011 14:03:27 in Allgemeine Diskussionen
( Link )
Zitat von HoZweMu:

Hach, ist das nicht toll, wenn man draußen gefühlte 40 Grad Hitze hat, und sich an einem Sportfest bei dem dominantesten Sportlehrer aller Zeiten zu Tode kämpfen darf?


Durchaus
Nur wir hatten Sportabzeichentag

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 30.06.2011 18:34:54 in Allgemeine Diskussionen
( Link )
Zitat von The_Dragon:
Zitat von HoZweMu:

Heilige Scheiße
Jetzt bin ich echt mal sprachlos und fühle mich wie der reinste Versager...


@The_Dragon Das denkst du XDDD er hat sein Abi und ich bin nicht mal fertig mit der 7. Klasse XDD und ich bin nur 1 Jahr Jünger XDD

@SpiKu: Du bist ein Gott O: jetzt weiß ich aber endlich warum du so gut mit Pcs und server umgehen kannst XP
Aber... Mit vierzehn abi, mit 10 erster Roboter... Das ist mehr Chuck Norris like :O

@ all:
Ich bin der Meinung wir sollten Spiku einen Extra-rang geben! O:

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 01.07.2011 14:12:32 in Gute Bilder
( Link )


Kennt ihr die Antwort?
ic kann die namen nicht ma ausprechen

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 05.07.2011 22:13:35 in Eliza, die Online-Psychologin
( Link )
ein kurzer Testlauf
Spoiler anzeigen
Eliza:>Hallo, ich bin Eliza. Erzähle mir von Deinem Problem...
Ich spile Lord of Arcana
Eliza:> Es ist besser, wenn wir nocheinmal von vorne anfangen.
Was ist dein Problem?
Ich spiele Lord of Arcana
Eliza:> Vielleicht solltest du dich entscheiden und zur
vorherigen Seite zurückkehren.
?? Bitte was?
Eliza:> Warum fragst du?
?
Eliza:> Du weichst aus.
nee du längst ab
Eliza:> Was ich denke oder tue steht nicht zur Diskussion.
Ach sicher?
Eliza:> Ich sehe, du bist ein schwieriger Fall.
ja du auch
Eliza:> Hast du ein Problem mit mir?
durchaus
Eliza:> Scherz beiseite, kommen wir zur Sache!
Wie gesagt ich spiele Lord of Arcana
Eliza:> Das werden wir sehen.
bitte was? ich hab doch gesagt ich spiele Lord of Arcana
Eliza:> Interessiert dich diese Frage wirklich?
JA
Eliza:> Was hattest du davor gesagt?
...
Eliza:> Das verstehe ich nicht.
..........
Eliza:> Bist du nun weiter gekommen?
Nein
Eliza:> Klar!
nein
Eliza:> Wenn du meinst?!
Ja ich meine
Eliza:> Meinst du wirklich?
ja
Eliza:> Ja.
Ja was?
Eliza:> Welche Antwort wäre dir am liebsten?
...
Eliza:> Wie fühlst du dich jetzt?
...
Eliza:> Du lenkst ab!
Das machst du
Eliza:> Lass uns über dich sprechen, nicht über mich.
ih glaube du musst zum psysologen
Eliza:> Du weichst aus! Es geht um dich und nicht um mich.
Ach sicher?
Eliza:> Das führt zu nichts.
Stell dir vor das hab ich nach dem ersten Satz bemerkt
Eliza:> Meinst du wirklich mich?
-_-
Eliza:> Mmh..
Du bist blöder als ein Stein
Eliza:> Verlasse bitte diese Seite!

XP

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 07.07.2011 14:19:37 in Der Thread für kleine aber feine Spielchen
( Link )
Das spiel war wirklich kurz... schade eigentlich
Alle Achievements habe ich auch schon... meinen Chara auch...
War an sich maximal ne Stunde und ich war durch
Ich hab nur den Tea Party Level Geskipt... kann mir jemand erklären wie ich den schaffe? <--- über PN natürlich

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 11.07.2011 1:43:23 in Gute Single Player Spiele?
( Link )
Okay, ich habe ein kleines Problem:
Ich habe kein Spiel mehr was noch Spaß macht oder ich schon 1000ende male durch habe -_-
Deswegen suche ich, wie der Titel sagt, Gute Spiele für einen Einzelspieler wie mich... es darf auch Multi sein, sollte es aber nicht da ich hier niemanden zum Mitspielen habe
Nun zum Spiel selber:
Ultra wäre es wenn es ein Spiel wie Lord of Arcana oder Monster hunter wäre (also Quests nach einander abschliessen, Rüstungen und Waffen fertigen, Riesen Monster (Bzw: Arcana Guardians ^^) bekämpfen und vor allem die Kämpfe Nett gestalten (Riesen Monster haben Spezial Fähigkeiten oder mega Finisher ^^ Gott ich hab wirklich VIEL zu viel Lord of Arcana gezockt... Hmm... Jetzt hab ich irgend wie Bock auf nen Agni etc.))
Was auch okay wäre, wäre Action und Beat them Ups, Aber auf keinen Fall Strategie spiele ... Ich hasse Strategie Spiele, und auch keinen rundenbarsierten RPGs, die sind auch nicht so mein Geschmack, sondern eher pure action in Echtzeit.
Und es sollte nicht für die PS3 oder Xbox Sein, der große Rest ist aber okay

Auch wichtig sind viele Gute Boss Kämpfe... Ohne die kann ich kein Spiel spielen, wirklich nicht!

Soll ich eventuell noch eine Liste Mit Spielen Erstellen die hier bei mir rumliegen?
Ich hoffe das ihr mir helfen könnt
Mir ist Todlangweilig :I

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 11.07.2011 15:15:03 in Gute Single Player Spiele?
( Link )
Jaaaa...
Zu schade, dass Ich erst 13 bin und meine Eltern eine Sehr niedrige meinung von dem Spiel haben... sonst noch irgendwelche Vorschläge?

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 11.07.2011 15:47:52 in Gute Single Player Spiele?
( Link )
Haha Sehr witzig -_-
Das Spiel kann man hier nur Illegal bekommen, dementsprechend ist das ja wohl überhaupt nix für mich...

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 11.07.2011 23:10:36 in Gute Single Player Spiele?
( Link )
Von No more heroes habe ich gehört XP Das soll wirklich geil sein aber meine Eltern werde ich wohl kaum überzeugen können, das ist das Problem (Sie verbieten mir sogar Star wars Battlefront 1 zu spielen :I Kein Blut aber ab 16... Und da NMH wohl blutiger ist als Lord of Arcana und ab 16 kann ich das vergessen)

Von dem Phoenix Wright habe ich noch nie gehört... Kann ich ja auch mal ausprobieren Danke dafür

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 11.07.2011 23:35:00 in Gute Single Player Spiele?
( Link )
Autsch...
Fange gerade an zu spielen und HELL es ist wirklich nur lesen, fragen beantworten... Ich will ja nicht unhöflich erscheinen aber... ich hatte irgendwie Action erwartet... Sorry aber... Na ich kann nicht ein solches Spiel spielen... Sorry... Hm... Kein Wunder das es Flüssig läuft... übrigens hatte ich doch angedeutet
Zitat von Ich:

eher pure action in Echtzeit.

Auch No more heroes sieht eig. wirklich gut aus aber... HELL es ist ab 16 (bzw. 18) und heisst so schnell kann ich das nicht spielen
Kennt jemand eig. Devil may cry? soll auch gut sein... wollte mal wissen wie gut ^^
Zudem soll es auch action lastig sein und den besten Kampfstil ever (was ich gesehen habe war auch bisher kurz ^^*Gegner Umhau, auf dem Rücken des Gegners Springen und mit ihm auf dem Boden Sliden, sich drehen und umher Schiessen* YEAH HA) haben

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 21.07.2011 13:29:33 in Gute Single Player Spiele?
( Link )
Also, erstmal: ab morgen bin ich für 3 wochen oder so weg
Dann habe ich mal aus interesse ein Fire emblem angefangen (in der Hoffnung das es ein action spiel wäre -_-') und ja... also:
Fire emblem werde ich auch noch spielen in den nächsten wochen ^^ unglaublich aber wahr: Diese Art von Strategie mag ich XD es ist nicht so langweilig, die kämpfe sehen durch die criticals (Angriffe die 3 mal so viel schaden machen aber selten sind) so geil aus (siehe Warrior Criticals XDDD) und ist auch nicht so fordernd da man nicht alles selber produzieren muss

Guild wars kann ich auch mal ausprobieren... obwohl ich keine hohe Meinung von MMORPGs habe...

ich habe jetzt auch noch KH RE: Coded und nach den Ferien kann ich eventuell devil may cry spielen

dementsprechend kann der thread geschlossen werden

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 14.04.2012 17:15:29 in Vorstellungs-/Verlassens-/Rückkehr-Thread
( Link )
So... tut mir leid, dass ich nicht online war die ganze Zeit
Ich habe leider nichts zu meiner Verteidigung zu sagen, ich hatte... so gesehen keine Lust aufs hacken...
Aber... ich bin zurück, und meine Fragen werde ich jetzt im fortgeschrittenen Bereich stellen
Ich habe Ersanios (oder so) Assembler Tutorial durchgenommen, und es gibt halt mehr als genug Sachen, die nicht laufen, obwohl ich es komplett und lückenlos verstanden habe.
Ideen habe ich auch schon damit gesammelt, Meinen Hack werde ich resetten müssen (hatte vergessen wo meine SMWU Rom war, als ich aufgeräumt hatte. Ich habe sie ausversehen mitgelöscht mit den anderen 40GB, und... nun, die Backups waren im Selben Ordner X_X), Aber ich werde ihn nun mit ASM Feinheiten füllen Wenn ich es hinkriege, werde ich viel mehr Rätsel einbauen können Zwar wird auch ein großer Teil meines Hacks auch noch darauf aufbauen, dass man Mario Pixel genau lenken kann, aber es wird allgemein weniger sein.
Zudem habe ich mir überlegt, auf jedenfall einen reinen Line-Guided level pro Welt reinzuhauen. (Ricicir und, Eventuell, auch Ranko erinnern sich noch an Donut Plains 5 und 6.)
Und Ich glaube, ich werde auch den Anfängern gut helfen können...
Aber als erstes werde ich meine Fragen in den anderen Threads äussern.

Also, Ich bin wieder zurück, es tut gut, wieder zurück zu sein, und ich werde wieder hacken.
PS:
Willkommen im Forum, goldenroy und Kevin

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 14.04.2012 17:46:56 in Allgemeine Hex- und ASM-Fragen
( Link )
So... ich habe mich mit ASM auseinander gesetzt...
Und miserabel versagt ^^
So, ich brauche jetzt mal für 3 Codes hilfe:
Nummer 1: Ein Block, der Mario groß macht und das für 15 Münzen.
Problem: Die Münzen werden nicht abgezogen, Generell funktioniert es nur wenn Mario neben dem Block steht, egal, was ich mache.
Code:
Code
db $42

JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall




MarioAbove:
LDA $0DBF ;Marios Münzen
CMP #$0F ;werden Verglichen mit 15
BCS Label1 ; Wenn 15 oder mehr, branch
RTL ; Weniger, zurück zum Spiel

Label1:
LDA #$01 ;Lädt eine Eins
STA $19 ;Macht mario groß
LDA $0DBF ;Lädt Marios Münzen Zähler
SEC ;Set Carry Flag
SBC #$0F ;Sutrahiert 15
STA $0DBF ;Zurück in den Münzen Zähler
RTL ;Ende des Codes

MarioBelow:
MarioSide:
SpriteH:
SpriteV:
MarioCape:
MarioFireBall:
RTL


Block Nummer 2: Ein Block, der Mario zu Feuer Mario macht, wenn er 80 Bonus Sterne hat, und diese dann abzieht
Problem: So ziemlich das selbe, wie beim ersten Block.
Code:
Code
db $42

JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall

MarioBelow:
LDA $0F48 ;Lädt Marios Star Counter
CMP #$50 ;vergleicht ihn mit 80
BCS Label2 ;Gleich oder größer = branch
RTL ;Andernfalls, ende


Label2:
LDA #$03 ;Lädt eine 3
STA $19 ;Macht Mario zu Feuer Mario
LDA $0F48 ;Lädt marios Starcounter
SEC ;Set Carry Flag
SBC #$50 ;redzuziert ihn um 80
STA $0F48 ;Plaziert ihn dahin, wo er hinsoll
RTL ;Ende des Codes

MarioAbove:
MarioSide:
SpriteV:
SpriteH:
MarioCape:
MarioFireBall:
RTL


Block Nummer 3: Ein Block, der Mario zu Cape Mario macht, wenn er nach links schaut, und ihm ansonsten nur eine Münze gibt
Problem: Selbes wie oben, nur dass ich möchte, dass der Block danach zu einem brauen benutzt Block wird.
Code:
Code
db $42

JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall

MarioBelow:
LDA $76 ;Lädt die Richtung, in die Mario guckt
CMP #$00 ;Vergleicht sie mit 00 (00 = Links)
BEQ Label1 ;Wenn es 00 ist, branch
INC $0DBF ;andernfalls: Gebe Mario eine Münze
RTL ;Ende des Codes

Label1:
LDA #$02 ;Lädt 2
STA $19 ;Plaziert sie in Marios Status
RTL ;Code Ende

MarioAbove:
MarioSide:
SpriteV:
SpriteH:
MarioCape:
MarioFireBall:
RTL

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 14.04.2012 18:32:31 in Allgemeine Hex- und ASM-Fragen
( Link )
Zitat von WYE:

Auroros: Sieht eigentlich alles richtig aus. Kannst du dein Problem noch mal genauer beschreiben?


Nun, Mario muss nur den Block von der Seite Berühren, damit der Effekt des Blockes aktiviert wird.
Und beim ersten werden Marios Münzen nicht abgezogen.
Ich will aber, dass sie z.B. Turnblöcke mit Items Funktionieren. (Letztendlich muss ich diese Blöcke entweder verstecken (Wie der Block, der, wenn man nach Links guckt, einem eine Feder gibt)
Die Shop Blocks halt auch in etwa so, nur, dass sie keine "braunen" Blöcke werden.

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM
geschrieben am 15.04.2012 21:32:17 in Vorstellungs-/Verlassens-/Rückkehr-Thread
( Link )
Ich werde Skorme, ich werde...
Aber zu erst muss ich verstehen, warum meine Blöcke nicht funktionieren O.o
Vielleicht sollte ich das alles mal auf Windows ausprobieren... Ich meine, WYE meinte schon, dass der Code eigentlich richtig aussieht. :/
Vielleicht Kompalibitätsprobleme von Mac und Parallels? Ich meine, Spritetool Funkt auch nicht auf Mac, egal wie ich es drehe und wende... Letztendlich sind das ja unoffizielle Programme. Zudem funktioniert Age of Empires 1 auch nicht... oder nicht richtig... die Maus ist unsichtbar XD
Aber wie gesagt, diesmal gibt es kein Versagen, keine Ausreden...
Diesmal wird es ein SMWU geben

The Lord of Monster Hunter, Auroros.


Projekt: SMWU
Status: Durchführung
News:
12.4.14: Was für ein Timing... zu Spikus Geburtstag komm ich zurück ^^ Und nebenbei beherrsche ich jetzt auch noch Ein wenig ASM