Banner
Views: 827,362,997
Time:
19 users online: adostalik, cleversoncprado, Cr4zy, Doug Walker, EvanEMV, Fermín Acosta Jr., JamesD28, Jolpengammler,  Maxodex, nathandandy, Nowieso, Ren, SF - The Dark Warrior, Sixcorby, Slash Chen, Sping bot, Swaguy14256, TheMorganah, ToxicRave - Guests: 59 - Bots: 90 Users: 44,255 (2,537 active)
Latest: Ren
Tip: If it's possible to carry a tileset-specific sprite (such as a Buzzy Beetle or Bob-omb) through a pipe, make sure it has the correct graphics and sprite palette on the other side!Not logged in.
SA-1 Conversion: Sprite Glitches [SOLVED]
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - SA-1 Conversion: Sprite Glitches [SOLVED]
Pages: « 1 »

I'm trying to convert these sprite for SA-1 using the SA-1 converter, but all I get is this error message:



How can I fix this? I got this problem with other sprites as well and it only seems to be one to two addresses that cannot be remapped.


EDIT: Okay I think I got it by changing the 2 to an 8 in the address. But now the sprite seems to glitch the behavious of other sprites in the level and has no graphics. Video

Here is the link to the converted sprite. I should also note, that I'm using Giepy as my sprite tool of choice.


PM | Steam | YouTube | Google+| Twitch

That's weird how SA1converter thought a constant value is a RAM value. Either way, that's not a RAM address and shouldn't be converted to $883D. In fact, that's actually the properties and tile number. It's weird but that's what the graphics routine is: In order to boost the graphics routine, imamelia chose to use the stack to place the OAM tiles and also pushed the absolute position of the individual tiles to the regular stack (it's about speed: Stack opcodes take three cycles at minimum but absolute indexed five and stack relative is with four cycles still is faster than absolute indexed).
This is what breaks the sprite in the end because the address's high byte is set to the original which IIRC mirrors I-RAM on SA-1's side. A possible solution:
Code
SUBGFX:		LDA $15C4,x
		BNE .RETURN
		LDA #$03	; This is the OAM mirror's high byte
		XBA
		LDA $0D
		ASL A
		ASL A
		ORA #$03
		ADC $15EA,x


Code
SUBGFX:		LDA $15C4,x
		BNE .RETURN
		LDA #$63	; Now it's corrected for SA-1
		XBA
		LDA $0D
		ASL A
		ASL A
		ORA #$03
		ADC $15EA,x

But don't count on me since it's untested. It surely is RAM address which you have to manually convert, though.

You should also consider to change !GetSin and !GetCos to $07F7DB. +$800000 addresses on SA-1 mean differently on the SNES since banks +$80 is a mirror of banks +$00 on the SNES but on SA-1 that's where you find the rest of the ROM which is presumably the reason why the graphics don't appear.

--------------------
Okay, my layout looks ugly.

Indeed, that seems fix it. Thanks!


PM | Steam | YouTube | Google+| Twitch

Pages: « 1 »
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - SA-1 Conversion: Sprite Glitches [SOLVED]

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 16

Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy