Lumiel Iggy Koopa
Posts : 1519
| Tema: Direcciones RAM y ROM para sprites. Mar Oct 02, 2012 11:33 am | |
| Esta es una recopilación de direccones RAM y ROM que tengo por ahí. Si me falta alguna díganme y la pongo. - Código:
-
;====================================================; ; Variables ; ;====================================================; EXTRA_BITS,x = $7FAB10 ;12 bytes bit 2 indicates the first extra bit is set bit 3 indicates it's a custom sprite NEW_CODE_FLAG = $7FAB1C ;01 byte flag indicating whether the sprite being process uses custom code EXTRA_PROP_1,x = $7FAB28 ;12 bytes extra property byte 1 from .cfg file EXTRA_PROP_2,x = $7FAB34 ;12 bytes extra property byte 2 from .cfg file NEW_SPRITE_NUM,x = $7FAB9E ;12 bytes custom sprite number
; $01801A = The subroutine that updates a sprite's Y position without gravity. (JSL) ; $018022 = The subroutine that updates a sprite's X position without gravity. (JSL) ; $01802A = Subroutine that updates a sprite's position, with gravity (JSL) ; $018032 = Sprite/Sprite interaction (JSL, also remember to set something before call) ; $01803B = Sprite/Mario interaction (JSL, also remember to set something before call)
; $1E01 = scratch ram ; $9E,x = sprite number ; $AA,x = Sprite horizontal speed ; $B6,x = Sprite vertical speed ; $C2,x = sprite state ; $1504,x = MISC ; $1510,x = MISC ; $151C,x = MISC (No usar con Reznor) ; $1528,x = MISC ; $1540,x = MISC (Disminuye cada frame) ; $154C,x = MISC (Tiempo para desactiver el contacto con mario)(Disminuye cada frame) ; $1558,x = MISC (Tiempo que tarda en undirse en la lava)(Disminuye cada frame) ; $1564,x = MISC (Tempo para desactivar contacto con otros sprites)(Disminuye cada frame) ; $1FE2,x = MISC (Tiempo para desactivar contacto con la capa)(Disminuye cada frame) ; $1570,x = MISC ; $1594,x = MISC ; $15AC,x = MISC (Disminuye cada frame) ; $1602,x = MISC ; $160E,x = MISC ; $163E,x = MISC (Disminuye cada frame) ; $D8,x = Y position Low Byte ; $E4,x = X position Low Byte ; $14C8,x = Sprite status table ; $14D4,x = Sprite y position High Byte ; $14E0,x = Sprite x position High Byte ; $14EC,x = Accumulating fraction bits for fixed point sprite Y speed. ; $14F8,x = Accumulating fraction bits for fixed point sprite X speed. ; $157C,x = Dirección del sprite ; $1588,x = Estatus de bloqueo del sprite (Bits: ???xUDLR) ; $15A0,x = Flag que dice si el sprite está fuera de pantalla (horizontalmente) ; $186C,x = Flag que dice si el sprite está fuera de pantalla (verticalmente) ; $161A,x = Sprite index to level table (see $7E:1938). #$00 means it should be reloaded. Set to #$FF to prevent from reloading it once it goes offscreen. ; $164A,x = "sprite is in water" flag. Además les recomiendo probar el [Tienes que estar registrado y conectado para ver este vínculo] aunque luego se cae. Comandos básicos del AlcaRobot para buscar direcciones: Findram *x* Sirve para encontrar alguna dirección RAM relacionada con x. Findrom *x* Sirve para encontrar alguna dirección ROM relacionada con x.
Última edición por Dark Lich el Vie Oct 05, 2012 5:29 pm, editado 1 vez (Razón : Arreglado el :exito:) |
|
Maxodex Dino Rhino
Posts : 847
| Tema: Re: Direcciones RAM y ROM para sprites. Mar Oct 02, 2012 6:18 pm | |
| [Tienes que estar registrado y conectado para ver este vínculo]Lista de comandos para AlcaRobot. |
|
anonimzwx Baby Red Yoshi
Posts : 1296
| Tema: Re: Direcciones RAM y ROM para sprites. Vie Oct 05, 2012 5:07 pm | |
| |
|
anonimzwx Baby Red Yoshi
Posts : 1296
| Tema: Re: Direcciones RAM y ROM para sprites. Lun Oct 08, 2012 7:49 pm | |
| 94 = low byte de mario en X 95 = high byte de mario en X 96 = low byte de mario en Y 97 = high byte de mario en Y 01A7DC = rutina que checkea el contacto con mario (JSL) 00F5B7 = rutina que daña a mario (JSL) high byte = posicion de la screen del nivel (las screen que se ven en lunar magic cuando apretas el boton ). low byte = posicion dentro de la screen descrita anteriormente. |
|
anonimzwx Baby Red Yoshi
Posts : 1296
| Tema: Re: Direcciones RAM y ROM para sprites. Mar Oct 09, 2012 5:34 pm | |
| direcciones para la velocidad del scroll de layer 1 y 2
$7E:1446 2 bytes Sprites Layer 1 X speed used in the scrolling codes. #$0001-#$7FFF = move left; #$8000-#$FFFF = move right. #$0000 means there is no movement. Effectively, it's the X speed to give the player when he's touching the side of a screen, during a level which does not have regular Layer 1 scrolling. Values are different depending on the type of (auto-)scroll. This value divided by #$10/#16 is stored into $7E:007B.
$7E:1448 2 bytes Sprites Layer 1 Y speed used in the scrolling codes. #$0001-#$7FFF = move upwards; #$8000-#$FFFF = move downwards. #$0000 means there is no movement.
$7E:144A 2 bytes Sprites Layer 2 X speed used in the scrolling codes. #$0001-#$7FFF = move left; #$8000-#$FFFF = move right. #$0000 means there is no movement.
$7E:144C 2 bytes Sprites Layer 2 Y speed used in the scrolling codes, particularly in the Layer 2 scroll command (sprite EA). #$0001-#$7FFF = move upwards; #$8000-#$FFFF = move downwards. #$0000 means there is no movement.
determinar sobre que tipo de superficie esta el sprite.
$7E:15B8 12 bytes Sprites Determines what kind of slope a sprite is on. Possible values: #$FC = very steep slope left. #$FD = steep slope left. #$FE = normal slope left. #$FF = gradual slope left. #$00 = flat ground (or in the air). #$01 = gradual slope right. #$02 = normal slope right. #$03 = steep slope right. #$04 = very steep slope right.
generar numeros randoms
$7E:148B 2 bytes Misc. Used by random number generation subroutine to determine the next output. Do not use these if you want a random number. Use $7E:148D instead.
saber que tile map toco con mi sprite (no como actua)
$7E:185F 1 byte Sprites This is the low byte of the Map16 tile (actual tile number, not "acts like" setting) that a sprite is touching vertically.
This is set after $01:9138, the subroutine that allows the sprite to interact with objects, is called. (This includes $01:802A, the routine that updates sprite position with gravity, which calls $01:9138.)
$7E:1860 1 byte Sprites This is the low byte of the Map16 tile (actual tile number, not "acts like" setting) that a sprite is touching horizontally.
This is set after $01:9138, the subroutine that allows the sprite to interact with objects, is called. (This includes $01:802A, the routine that updates sprite position with gravity, which calls $01:9138.) |
|
Contenido patrocinado
| Tema: Re: Direcciones RAM y ROM para sprites. | |
| |
|