Language…
4 users online: 15Tails,  BD_PhDX, Halzk, SuperMegaNick - Guests: 110 - Bots: 77
Users: 68,449 (2,269 active)
Latest user: Liamo82

SA-1 Pack - v1.40 released

Vitor, your patch is epic! from the screenshots, i can tell this will be useful.

*downloads*!
My Inspiring Quotes on Personal Growth and Change:

"Resolved financial/personal problems equal greater growth!"

"The only constant thing in life is change; nothing is set in stone. The old is replaced with the new. Forgive yourself for past mistakes. When many different problems in your life are resolved (personal, financial, etc.), newfound strength and confidence is gained in the process. Usually, failures, lack of assertiveness, disappointments, incompetence, low self-esteem and lack of self-respect, financial struggles, and setbacks can cause us to change and take action to solve any problem, leading to increased strength and confidence. This you learn from experience.

I have been experiencing this aforementioned newfound strength and confidence myself for the past FOUR to EIGHT years or so, getting stronger with each passing year, learning with each mistake I make and becoming more joyful in the process. Because of this newfound confidence I've acquired over the years, finding my passion is of utmost importance in 2022! You can develop this strength and confidence in yourself as well!"


To whoever's reading this, you are amazing and you are capable of doing equally amazing things. Gather confidence and be yourself! Say goodbye to the old you and welcome the new you! It wants to arise every moment, but you don't let it. Learn from your mistakes and never make that mistake again! Find your passion and live it!"

Finding my passion in life, but I may still be active on SMWCentral from time to time. Still enjoy playing many hacks, but I'm widening my perspective on life and opening myself to the new.
I checked the ZSNES source code; I can't even find where, if anywhere, SA1 timing is implemented. I think it does something weird; maybe it runs two SA1 opcodes for each opcode on the main CPU, or something like that.
Either way, I think per2exec overclocks everything including SA1; it's worth looking at.

Or tell people to use this dubious item. The only long-term solution to the ZSNES bugs is cutting ZSNES out of the picture entirely.
<blm> zsnes users are the flatearthers of emulation
VitorVilela, will you apply the SA-1 in the next version of Lunar Magic?
Originally posted by Roberto zampari
VitorVilela, will you apply the SA-1 in the next version of Lunar Magic?


I just came from FuSoYa's house and did that. LM 2.20 has been released.


Oh and, I'll start working on SA-1 Pack v1.10 once I comeback from hospital. This version will include Arujus's patch, the fixed LZ3 version, a few fixes related to ZSNES and also I will try expanding the maximium amount of sprites per level from 84 to 384 or ~554 sprites.
GitHub - Twitter - YouTube - SnesLab Discord
Originally posted by Vitor Vilela
Originally posted by Roberto zampari
VitorVilela, will you apply the SA-1 in the next version of Lunar Magic?


I just came from FuSoYa's house and did that. LM 2.20 has been released.


Oh and, I'll start working on SA-1 Pack v1.10 once I comeback from hospital. This version will include Arujus's patch, the fixed LZ3 version, a few fixes related to ZSNES and also I will try expanding the maximium amount of sprites per level from 84 to 384 or ~554 sprites.


What happened back at his house for you to go to the hospital?

Anyway, I just saw the LM update and I'm all hyped right now. The only thing that's left to do is to make BTSD compatible with SA-1. Or someone could make a GUI out of the Manual CB Inserter.
Nah, it was a joke with Roberto Zampari. I had to go oculist to do some exams on my eyes. It's all fine btw.

Also:
Quote
To who don't like manual block inserter, I have an temporally solution: https://dl.dropboxusercontent.com/u/16203903/A/btsdsa1.asm. Use BTSD on your SA-1 ROM, save and apply this patch with Asar. It will fix BTSD's code to work with SA-1. The only thing you will have to fix is the block's RAM/ROM addresses.

GitHub - Twitter - YouTube - SnesLab Discord
I'm working on playing through the entire original SMW with my patch applied and fixing any bugs I come across. Hopefully by the time I'm done the patch will be free of any significant bugs. Hopefully I'll be done by the time you are ready to add my patch to the SA-1 pack.

I've opted to try to make the no more sprite tile limits patch compatible with everything in the original SMW and then have it enabled all the time, so that the more sprites patch can work with everything from the original game.

Also, I'm thinking about moving the locations of some of the sprite tables. Currently, I've basically just remapped all sprite tables to IRAM, but some of the sprite tables are barely ever used so it might be wasteful to have them in IRAM. The tables take up roughly all of $3200 to $35FF, leaving only $3600 to $37FF free for use. I could leave some of the tables in BW-RAM, maybe 1/4 of them or something to free up $100 bytes of IRAM. I guess it comes down to how much we want to preserve IRAM for community use.
I tried remapping the sprite tables myself, and I just barely made them fit into my allotted space: all of the original area used for sprites (part of the direct page and part of $1400-$1FFF, the latter of which would now be BW-RAM in $7400-$7FFF), the unused area from $6110-$61FF, and $3500-$36FF. With the additional sprite tables used by Tessera (minus $7FAB1C; the older Sprite Tools use it, but Tessera doesn't), they just fit in, with not a single 22-byte block to spare. I'm still not entirely sure what the best way to do it is, though. I mostly went by priority, but they ended up being a bit jumbled.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Oh, I see. I guess I will not implement on SA-1 Pack right now, just when you fix all possible bugs and get all original sprites working.
GitHub - Twitter - YouTube - SnesLab Discord
Originally posted by imamelia
I tried remapping the sprite tables myself, and I just barely made them fit into my allotted space: all of the original area used for sprites (part of the direct page and part of $1400-$1FFF, the latter of which would now be BW-RAM in $7400-$7FFF), the unused area from $6110-$61FF, and $3500-$36FF. With the additional sprite tables used by Tessera (minus $7FAB1C; the older Sprite Tools use it, but Tessera doesn't), they just fit in, with not a single 22-byte block to spare. I'm still not entirely sure what the best way to do it is, though. I mostly went by priority, but they ended up being a bit jumbled.


I didn't think Tessera worked with SA-1. Are you in the process of adding SA-1 support and this is the space that it will use then?

So if Tessera is going to use 512 bytes of IRAM is that all for storing new sprite tables used by Tessera (that would be a lot of new sprite tables)? It would require even more space if the new tables were to be expanded to 22 bytes each. How many new tables does Tessera add how feasible would it be to expand them to 22 bytes each?
That was the space for if the tables were 22 bytes each already. And this would be for Tessera 2, not the existing one. It will almost certainly have SA-1 support whenever it comes out, but we're not sure whether or not it will support this extra sprite hack.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Ok, I've made a lot of updates, mainly bug fixes, to the maximum sprite increasing patch. The updated version is here: http://bin.smwcentral.net/u/23642/more_sprites.zip

I still wouldn't recommend using this in major projects until it is part of the SA-1 pack.

You can enable having more sprites on screen by setting the sprite header setting to 10. This patch also comes with an improved version of the no more sprite tile limits patch that gets applied automatically and should work with everything from the original game (this new version can actually probably replace the old version since it should be usable independently of the more sprites patch if you incsrc sprite_tables.asm). The nmstl is enabled all the time, regardless of sprite header setting, because not having it enabled can cause problems even when having extra sprites is disabled.

Unlike the previous version of this patch, some significant testing has gone into it this time. That's not to say it doesn't have any bugs now (it could probably use some testers other than myself), but it should be mostly bug-free.

I don't think it's compatible with any of the mode 7 koopa-kid bosses or Bowser (when sprite header setting is 10), but it should be compatible with the non mode 7 ones.

For the sprite table remapping I decided to leave enough tables in BW-RAM to fill up the space where the tables used to be, because otherwise it would be hard to for anyone else to make use of that space since using it would depend on this hack being applied. I chose the tables that had the fewest occurrences on all.log to leave in BW-RAM, the rest are in IRAM.
Man, This is Epic! I can't imagine how much time it took you to create this tool!
SA-1 Pack v1.10 Released!

Changes:
  • Added Arujus's Sprite Remap, allowing up to ~20 sprites to be processed on screen.
  • Modified most of sprite loading code, allowing up to 255 sprites per level.
  • Optimized SMW's circle routine, removing all slowdown on level clear and other screens.
  • No More Sprite Tile Limits patch is now integrated, due of a limitation on Arujus's patch.
  • Fixed a ZSNES freeze/crash when the SA-1 CPU calls SNES CPU (fixes all sprites which edits level tiles, like monty moles).
  • Fixed lot of grammar/spelling errors on read me, comments and documents.
  • Fixed lot of issues on I-RAM map.
  • Removed Lunar Fix since Lunar Magic 2.20 supports SA-1 Pack now.
  • Added changes.txt.


Note for SA-1 Pack v1.03 users: You must port your hack into a new ROM before using SA-1 Pack v1.10. Mosts resources which were compatible are now incompatible, so please checkout the SA-1 Pack thread and compatible patches for new ones.


Feel free to request ANY patch, sprite, block or tool to convert though.
GitHub - Twitter - YouTube - SnesLab Discord
This is epic news! Also, I would like to request the Layer 3 customiser patch to be integrated into SA-1 format. Also, the Sprite Status Bar and uberASM need fixing. They tend to crash the game.

Will you add this to the next version of Lunar Magic?
Well, with No Sprite Tile Limits integrated with SA-1, will be the Sprite memory options unneccesary?
By the way, did you remove the SA-1 compatible sprites, tools and patches, so that they can be made to work with SA-1 1.10?
Also: Fo no fade outs at the goal, go to x3135 and write 4C 91 B0 EA D0. This part works with SA-1. And then go to x3291 and type AD C6 73 F0 FA A5 13 29 03 4C 39 AF. You must type this exactly like how it's written, if you want this to work with SA-1.

Wow, this is absolutely amazing! Thanks Vitor!

I wonder if it would be at all helpful to add an extra table to the ROM/RAM map page specifying the locations of each remapped address. I know the remap varies depending on what size rom is used, but from what I can tell there are only two different cases (right?). This would probably streamline things for people trying to make new SA-1 sprites, blocks, etc. since they only have to look up one thing whenever they need to find an address.

I could try to make something like this if people are interested. My programming skills are very bad but this could be good practice.

Also, I have a question about Arujus's patch: Are the 20 sprite slots shared by normal and cluster sprites, or can we have 20 normal sprites and some N number of cluster sprite at the same time?

Originally posted by Rykon-V73
Also, the Sprite Status Bar and uberASM need fixing. They tend to crash the game.

^I second this request because I am a freeloader.
Originally posted by Roberto zampari

Well, with No Sprite Tile Limits integrated with SA-1, will be the Sprite memory options unneccesary?


Sprite memory options are mostly unnecessary at this point, however, since allowing extra sprite slots still currently does not work with certain things like some mode 7 bosses it still needs to be explicitly enabled by setting the sprite header setting to 10.

Originally posted by jesus
Also, I have a question about Arujus's patch: Are the 20 sprite slots shared by normal and cluster sprites, or can we have 20 normal sprites and some N number of cluster sprite at the same time?


Cluster sprites use different sprite slots than normal sprites. The number of cluster sprite slots has not been changed.
Originally posted by Rykon-V73
This is epic news! Also, I would like to request the Layer 3 customiser patch to be integrated into SA-1 format. Also, the Sprite Status Bar and uberASM need fixing. They tend to crash the game.


Sure, I will convert once I find some free time.

Originally posted by Roberto zampari
Will you add this to the next version of Lunar Magic?
Well, with No Sprite Tile Limits integrated with SA-1, will be the Sprite memory options unneccesary?


FuSoYa already said, he will only add compatibility with this patch on Lunar Magic, not the entire patch.
Lunar Magic 2.20 works fine with this version.
And also to apply it's pretty simple, just run asar, select sa1.asm as source and <your rom> as the ROM file and done. Then just open with LM and save your ROM.

Originally posted by Rykon-V73
By the way, did you remove the SA-1 compatible sprites, tools and patches, so that they can be made to work with SA-1 1.10?


Yeah.

-------------------------
SA-1 Pack v1.10 Compatible Romi's Sprite Tool Released!

It taken more time than I expected, but now it's ready to be used together with SA-1 Pack v1.10!

All sprites/generators/shooters are working, with exception of mushroom block and poison mushroom.

Grab it here.

-------------------------
SA-1 Convert: Sprites Edition v1.00 Released!

This tool automatically converts "normal" custom sprites into SA-1 compatible custom sprites!

It should support both xkas and TRASM sprites. Note that some sprites won't work, so if it don't work (e.g crash or don't work correctly in game) or the possible throw some critical error, please post here and I will convert them manually.

Grab it here.
GitHub - Twitter - YouTube - SnesLab Discord