News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - slidelljohn

Pages: 1 2 3 4 [5] 6 7 8 9 10 ... 15
81
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: October 05, 2019, 07:41:08 pm »
Wow John, a few years pass and you go from graphics hacking to making mod chips, as well as advancing SNES Emulation in general. Well done. :thumbsup:

Thanks for the complements! I don't really feel like I advanced any SNES Emulation
but I do want to try and contribute to the snes hacking community. I did something
with bsnes plus that you would probably like. I updated the tracer in bsnes plus
that removes all slowdowns while tracing code even while refreshing the vram viewer
but I still need to clean the code up before I release it but hopefully I can in 2020.
I updated my design for the super v-power mod chip but I don't have the time to make
it yet. The new design is going to look super clean and I'm also hoping to have this
ready in 2020. I see you have changed your name.

@Aaendi
No, you don't need to update emulators. The patch works fine for me. I checked
the time of when the ship crashes when letting the game play on its own and the
time of the crash was about 2:30:47. In Vitors sa-1 hack the crash is around
2:27:58 so its getting closer. When the stuff that I did with the decompressed
graphics is added it should lower the time by around a second but I still need
to finish the rest of the decompression before its ready. I'm going to need to
write a program to create the decompression patch and I'm hoping I'll have it
ready to test mid to end of November. Hopefully we can have the decompressed
graphics and both of our optimizations incorporated into the program by the end
of December. Do you know C++?


I still have a lot off things to do until I can get back to working on gradius
but I'm hoping I'll be able to start working on some more stuff by the end of
this month.

Here is a doc for all of the objects in each level.
http://www.mediafire.com/file/qmmevdj92hfsif7/gradius_3_level_data_for_objects.txt/file

The notes are incomplete and they need to be updated but the doc can still be
used if someone wanted to try to change some of the objects around in the levels
using a hex editor. Only the 1st and 2nd levels have notes but I'll have the doc
fully completed and upload to romhacking.net shortly after the new year. After I
finish the level docs I'll start working on a level editor for the levels.

October 08, 2019, 06:09:51 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I did another timing test on the most recent patch that Aaendi posted and the
timing is closer to sa-1 than I thought it was. What I did for the new test for
the timing was set a breakpoint on the 1st object data for the volcano level
which is $01:BE80. It will break on that data offset twice. Once at $80/F77C
and another time at $80/F886. After the break on $80/F886 turn the breakpoints
off and let the game play until the ship 1st crashes in the volcano level and
Aaendi's most recent patch it will crash at around 1:29.06. Vitor's sa-1 patch
crashes at around 1:28.91. That means in game play is now only about .15 seconds
behind vitor's sa-1 patch from the time the volcano stage starts to when the
ship 1st crashes. The original rom with no modifications the ship crashes at
around 1:43.91 and the decompression patch that I haven't posted yet (because
the patch has a lot of Konomi's graphics in the patch so I need to write a
program that creates the patch for everyone to test it) the ship crashes around
1:42.30. The decompression patch that I have does not have any of the fastrom
or assembly optimizations in it that the most recent patch has and the speed up
is not from not decompressing anything. The speed up is from how I change how and
when the game updates the graphics in vram. Gradius 3 is constantly updating the
graphics in vram even if the graphics doesn't need to be updated so that eats up a
lot of time. I removed all of those useless vram updates and now it only updates
vram when the graphics actually need to be updated.

I changed the timing test like this because when the game 1st loads it has to
decompress a lot of graphics before you even get to the title screen and that eats
up a lot of time so it was a little misleading for testing the timing difference
between vitor's sa-1 patch and the most recent patch that Aaendi posted. With my
decompression patch none of those graphics get decompressed so that part of the
game should be faster that vitor's sa-1 patch because it doesn't decompress
anything and the sa-1 patch still has to decompress the graphics.

I think after Aaendi and I merge the decompress graphics patch that I have with the
Aaendi's most recent additions to the fastrom patch we will have a patch that is
pretty much almost equal to the Vitor's sa-1 patch or slightly faster. I think
everyone should stop destroying sa-1 carts to remove slow down in gradius 3 and
wait for the merged patches to be completed. It will definitely be worth the wait.




82
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: August 26, 2019, 12:52:40 pm »
Sorry I haven’t been around and I should have mentioned this sooner but I just bought a house this month and I’m probably not going to be online much for the next couple of months while I get everything situated with it. I do still plan on finishing gradius 3 but for now I just need time to get situated with the house that I just purchased.

My last patch wasn’t excepted because I think it was considered a cheat hack(which is understandable) and I made several mistakes when trying to upload it.

Vitor vilela didn’t know that I was working on gradius 3 and vitor has done some great things for the snes hacking community so he deserves all the credit that he got. It’s my fault that I didn’t finish my gradius sa-1 hack.

83
Well that explains it. Mediafire tricked me! :laugh:

I guess I should probably stop using Mediafire. Is Ze Bucket the recommended hosting site to use for my files? What free hosting
site do you all like to use for direct links?

I was able to use the scratch pad for submitting my patch and it worked. :woot!:
Scratch pad must have been what I used the last time. Thanks mz!


84
"That's because they're serving it like that only to you"

So everyone that clicks the link I posted in the error doesn't
go directly to the download screen I posted? That's odd. What
screen is showing when you all click that link?

Maybe I used the scratch pad last time. I'll try that. Thanks!


85
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: July 03, 2019, 12:17:19 pm »
I made it to work on a non modified gradius 3 but I think it should work on the
fastrom hack I made. I don't have a working SA-1 Optimization, vitor does. I don't
think the patch is compatible with vitor's SA-1 Optimization but my source is
included with the patch so anyone could very easily make it compatible with any
gradius 3 hack.

I'm trying to submit the level selection patch with a updated readme but I'm having
a little bit of trouble submitting it. Hopefully I can get it figured out soon.

Just now submitted the patch.

86
So if this screen is the 1st thing that shows up its not a direct link?



Can you post any working direct link so I can see how a direct link
is supposed to work? Is this something new? I used the same site for
uploading a doc a few months ago.

87
Not really sure why my url is not excepted when submitting a new patch.
In Additional Help File submissions it says "URLs to files must be a
direct link, meaning when that URL is entered into a browser, a download
should start."

My url entered into a browser starts a download but I get this error when
I try to submit my file:

1. URL 'http://download2269.mediafire.com/va8p8v3d8eag/k303kv192zm9i3d/start%2Bat%2Bany%2Blevel%2Bgradius%2B3%2Bv0.2.zip' is not valid! File URL's from domain 'mediafire.com' are not allowed because they are not direct links to the files which are required for automated processing. See the following url for our recommendations: http://www.romhacking.net/?&page=help&action=additionalhelp

I have used mediafire.com before to upload a doc but I'm not sure whats
going on with uploading this new patch. Can I no longer use mediafire.com,
is my link not a direct link, or am I doing something wrong?

88
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: July 02, 2019, 03:41:35 pm »
I usually use geigers debugger for when I want to trace code.
For graphics hacking I use vsnes to look at snes9x(geigers)
save states and for in game I use bsnes plus. You could pm me
too if you ever have any questions with snes hacking but it
is good to post in the forum just so other people can learn
as well.

The difficulties that I added I just did for fun and I haven't
decided yet if it is something that I want to keep. If I do
decide to keep the new difficulties I would definitely be open
to suggestions of what could be best for it. It doesn't have to be
"Elite, master, expert and pro". That was just the best option
that I could come up with at the time that I made the hack.
I'm not sure about how to set up unlocking the difficulties
but I was leaning towards having the extra 5 difficulties unlock
as you beat the current hardest level.

I do like hearing other peoples suggestions on stuff like this.
2 heads will always be better than 1 and 3 better than 2. ;D

89
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: July 02, 2019, 08:19:53 am »
Well I guess since you took the initiative to find the ram location I
can help you figure parodius out.

Not sure if you know how to run a trace or not with geigers snes debugger
but just check cpu under logging in the debug console and it will start
tracing the cpu asm code to a file where your rom is with .log extension.
When you check the cpu box you also have to ether hit run or click on the
emulators screen so the snes will play. Uncheck the cpu when you are ready
to stop tracing code.



This is the line of code that stores the value in ram at 7e:1fa8
$82/8281 99 A4 1F    STA $1FA4,y[$81:1FA8]

$81:1FA8 = $7e:1FA8 in snes lorom memory mapping


Code: [Select]
Disassembly:
$82/824F A9 07 00    LDA #$0007              //max difficulty
$82/8252 85 12       STA $12    [$00:0012]   //


Disassembly:
$82/8262 B5 24       LDA $24,x  [$00:9A60]   //
$82/8264 89 D0 01    BIT #$01D0              //
$82/8267 D0 0F       BNE $0F    [$8278]      //
$82/8269 89 20 C2    BIT #$C220              //
$82/826C F0 19       BEQ $19    [$8287]      //
$82/826E B9 A4 1F    LDA $1FA4,y[$81:B0D2]   //load
$82/8271 3A          DEC A                   //difficulty down
$82/8272 10 0D       BPL $0D    [$8281]      //
$82/8274 A5 10       LDA $10    [$00:0010]   //
$82/8276 80 09       BRA $09    [$8281]      //
$82/8278 B9 A4 1F    LDA $1FA4,y[$81:B0D2]   //load
$82/827B 1A          INC A                   //difficulty up
$82/827C C5 12       CMP $12    [$00:0012]   //
$82/827E D0 01       BNE $01    [$8281]      //
$82/8280 7B          TDC                     //
$82/8281 99 A4 1F    STA $1FA4,y[$81:B0D2]   //store
$82/8284 20 39 85    JSR $8539  [$80:8539]   //


If you want to learn how to find this stuff you can create a page
and I'm sure you would get help from me or some of the other members.
Its really not hard to learn and the more you do the better you get.

I assume you are saying the arcade system and not the arcade difficulty.
Correct me if I'm wrong with that assumption. But yea I hate that those
bullets are behind the boss. That's a good idea and I think it should be
possible.




90
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: July 02, 2019, 04:02:48 am »
Your welcome! 8)

Awesome! :thumbsup:

Not sure why changing easy to 0x08 is not working for you. I just double checked and it work the 1st time for me so the data is accurate. Maybe you changed the wrong byte or you never changed the difficulty to easy. The game does start on normal mode.

Unfortunately I don’t think a no flickering hack is possible. Now I do think it’s possible for less flickering. %25 of your sprites in gradius 3 are for backgrounds. Most of the stars in the background are sprites and that’s going to cause more chances to hit the sprites per line limit. On the plant level when fighting the boss the upper background tiles and the lower background tiles are all sprites and you can see those flashing a lot. I could probably make those stop flashing by doubling the vram and have those sprites on one of the background layers. I also found the algorithm that causes the flashing of sprites when the game is paused. The game rotates some of the last sprites in oam to the 1st sprites in oam and it might be possible to change that up a little bit. It’s going to be some time before I get to make any modifications for the flashing of sprites but I have definitely been looking at the causes. There are emulators that have mods for the sprite limit to help with flashing and the super nt also has that feature but both of those mods I don’t think can work on original hardware.

I may or may not look into the parodius. I never played it and I don’t really have any interest in it plus it’s been hard to work on my own projects lately. But who knows I might look into it one day. You could probably find that data yourself if you look at your ram while changing the difficulty settings. Somewhere in the ram a value is changing. That’s how I find stuff like that. After I find the ram address for the difficulty I just run a trace and find how that value gets there.

Your welcome! Sorry it took so long to get that doc for you. I should probably better organize the information I find on the games that I like to hack. And thanks for the credit! :)

91
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: June 29, 2019, 11:15:09 am »
@niuus
Did you get it to work yet?

@Zimgeif
Thanks! I found those difficulty settings data that I said I had.
http://www.mediafire.com/file/wv2votm41jgqo3i/Gradius_3_difficulty.txt/file

@snesfanboi
No it does not include anything but the level selection. The next optimization patch
that I will have ready is going to be awhile longer before its ready. I have a lot of
new optimizations to do to add to the optimizations that have already been created. I
think with these new optimizations the game will run faster than the current sa-1 that
vitor created. The assembly looks like it was ether written to cause a lot of slowdowns
(which is the most likely thing) or the programmers were not that smart (I don't think
that's why the game slows down so much).

Here is another example of how the assembly throughout the rom was programmed that could
cause slowdown.

This asm is traced from gameplay when a enemy is killed.
Code: [Select]
$02/8502 F0 01       BEQ $01    [$8505]      A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIZCHC:1072 VC:017 00 FL:454
$02/8505 74 02       STZ $02,x  [$00:0902]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIZCHC:1094 VC:017 00 FL:454
$02/8507 B5 14       LDA $14,x  [$00:0914]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIZCHC:1132 VC:017 00 FL:454
$02/8509 30 06       BMI $06    [$8511]      A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIZCHC:1170 VC:017 00 FL:454
$02/850B A6 FC       LDX $FC    [$00:00FC]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIZCHC:1186 VC:017 00 FL:454
$02/850D 5C B4 8D 00 JMP $008DB4[$00:8DB4]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1218 VC:017 00 FL:454
$00/8DB4 74 04       STZ $04,x  [$00:0904]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1250 VC:017 00 FL:454
$00/8DB6 74 08       STZ $08,x  [$00:0908]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1288 VC:017 00 FL:454
$00/8DB8 74 0A       STZ $0A,x  [$00:090A]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1326 VC:017 00 FL:454
$00/8DBA 74 0C       STZ $0C,x  [$00:090C]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1364 VC:017 00 FL:454
$00/8DBC 74 0E       STZ $0E,x  [$00:090E]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0034 VC:018 00 FL:454
$00/8DBE 74 00       STZ $00,x  [$00:0900]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0072 VC:018 00 FL:454
$00/8DC0 74 02       STZ $02,x  [$00:0902]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0110 VC:018 00 FL:454
$00/8DC2 74 14       STZ $14,x  [$00:0914]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0148 VC:018 00 FL:454
$00/8DC4 74 06       STZ $06,x  [$00:0906]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0186 VC:018 00 FL:454
$00/8DC6 74 10       STZ $10,x  [$00:0910]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0224 VC:018 00 FL:454
$00/8DC8 74 12       STZ $12,x  [$00:0912]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0262 VC:018 00 FL:454
$00/8DCA 74 16       STZ $16,x  [$00:0916]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0300 VC:018 00 FL:454
$00/8DCC 74 18       STZ $18,x  [$00:0918]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0338 VC:018 00 FL:454
$00/8DCE 74 1A       STZ $1A,x  [$00:091A]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0376 VC:018 00 FL:454
$00/8DD0 74 1C       STZ $1C,x  [$00:091C]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0414 VC:018 00 FL:454
$00/8DD2 74 1E       STZ $1E,x  [$00:091E]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0452 VC:018 00 FL:454
$00/8DD4 74 20       STZ $20,x  [$00:0920]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0490 VC:018 00 FL:454
$00/8DD6 74 22       STZ $22,x  [$00:0922]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0528 VC:018 00 FL:454
$00/8DD8 74 24       STZ $24,x  [$00:0924]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0566 VC:018 00 FL:454
$00/8DDA 74 26       STZ $26,x  [$00:0926]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0604 VC:018 00 FL:454
$00/8DDC 74 28       STZ $28,x  [$00:0928]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0642 VC:018 00 FL:454
$00/8DDE 74 2A       STZ $2A,x  [$00:092A]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0680 VC:018 00 FL:454
$00/8DE0 74 2C       STZ $2C,x  [$00:092C]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0718 VC:018 00 FL:454
$00/8DE2 74 2E       STZ $2E,x  [$00:092E]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0756 VC:018 00 FL:454
$00/8DE4 74 30       STZ $30,x  [$00:0930]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0794 VC:018 00 FL:454
$00/8DE6 74 32       STZ $32,x  [$00:0932]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0832 VC:018 00 FL:454
$00/8DE8 74 34       STZ $34,x  [$00:0934]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0870 VC:018 00 FL:454
$00/8DEA 74 36       STZ $36,x  [$00:0936]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0908 VC:018 00 FL:454
$00/8DEC 74 38       STZ $38,x  [$00:0938]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0946 VC:018 00 FL:454
$00/8DEE 74 3A       STZ $3A,x  [$00:093A]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:0984 VC:018 00 FL:454
$00/8DF0 74 3C       STZ $3C,x  [$00:093C]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1022 VC:018 00 FL:454
$00/8DF2 74 3E       STZ $3E,x  [$00:093E]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1060 VC:018 00 FL:454
$00/8DF4 6B          RTL                     A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE3 P:envmxdIzCHC:1098 VC:018 00 FL:454

$00/F425 B5 2E       LDA $2E,x  [$00:092E]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE6 P:envmxdIzCHC:1142 VC:018 00 FL:453
$00/F427 89 00 04    BIT #$0400              A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE6 P:envmxdIZCHC:1180 VC:018 00 FL:453
$00/F42A F0 06       BEQ $06    [$F432]      A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE6 P:envmxdIZCHC:1204 VC:018 00 FL:453
$00/F432 89 02 00    BIT #$0002              A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE6 P:envmxdIZCHC:1226 VC:018 00 FL:453
$00/F435 D0 18       BNE $18    [$F44F]      A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE6 P:envmxdIZCHC:1250 VC:018 00 FL:453
$00/F437 B4 0A       LDY $0A,x  [$00:090A]   A:0000 X:0900 Y:DD2A D:0000 DB:01 S:1DE6 P:envmxdIZCHC:1266 VC:018 00 FL:453
$00/F439 C0 C0 FF    CPY #$FFC0              A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZCHC:1304 VC:018 00 FL:453
$00/F43C 30 05       BMI $05    [$F443]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIzcHC:1328 VC:018 00 FL:453
$00/F43E C0 40 01    CPY #$0140              A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIzcHC:1344 VC:018 00 FL:453
$00/F441 30 0C       BMI $0C    [$F44F]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:eNvmxdIzcHC:0000 VC:019 00 FL:453
$00/F44F B5 2E       LDA $2E,x  [$00:092E]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:eNvmxdIzcHC:0022 VC:019 00 FL:453
$00/F451 89 08 00    BIT #$0008              A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0060 VC:019 00 FL:453
$00/F454 D0 57       BNE $57    [$F4AD]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0084 VC:019 00 FL:453
$00/F456 AD B4 12    LDA $12B4  [$01:12B4]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0100 VC:019 00 FL:453
$00/F459 0D B8 12    ORA $12B8  [$01:12B8]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0140 VC:019 00 FL:453
$00/F45C F0 07       BEQ $07    [$F465]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0180 VC:019 00 FL:453
$00/F465 B5 0E       LDA $0E,x  [$00:090E]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0202 VC:019 00 FL:453
$00/F467 C5 D8       CMP $D8    [$00:00D8]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0240 VC:019 00 FL:453
$00/F469 10 04       BPL $04    [$F46F]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:eNvmxdIzcHC:0272 VC:019 00 FL:453
$00/F46B C5 D6       CMP $D6    [$00:00D6]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:eNvmxdIzcHC:0288 VC:019 00 FL:453
$00/F46D 10 3E       BPL $3E    [$F4AD]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:eNvmxdIzcHC:0320 VC:019 00 FL:453
$00/F46F B5 14       LDA $14,x  [$00:0914]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:eNvmxdIzcHC:0336 VC:019 00 FL:453
$00/F471 89 FF 7F    BIT #$7FFF              A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0374 VC:019 00 FL:453
$00/F474 F0 33       BEQ $33    [$F4A9]      A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0398 VC:019 00 FL:453
$00/F4A9 22 B4 8D 00 JSL $008DB4[$00:8DB4]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE6 P:envmxdIZcHC:0420 VC:019 00 FL:453

$00/8DB4 74 04       STZ $04,x  [$00:0904]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0476 VC:019 00 FL:454
$00/8DB6 74 08       STZ $08,x  [$00:0908]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0514 VC:019 00 FL:454
$00/8DB8 74 0A       STZ $0A,x  [$00:090A]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0552 VC:019 00 FL:454
$00/8DBA 74 0C       STZ $0C,x  [$00:090C]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0590 VC:019 00 FL:454
$00/8DBC 74 0E       STZ $0E,x  [$00:090E]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0628 VC:019 00 FL:454
$00/8DBE 74 00       STZ $00,x  [$00:0900]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0666 VC:019 00 FL:454
$00/8DC0 74 02       STZ $02,x  [$00:0902]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0704 VC:019 00 FL:454
$00/8DC2 74 14       STZ $14,x  [$00:0914]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0742 VC:019 00 FL:454
$00/8DC4 74 06       STZ $06,x  [$00:0906]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0780 VC:019 00 FL:454
$00/8DC6 74 10       STZ $10,x  [$00:0910]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0818 VC:019 00 FL:454
$00/8DC8 74 12       STZ $12,x  [$00:0912]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0856 VC:019 00 FL:454
$00/8DCA 74 16       STZ $16,x  [$00:0916]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0894 VC:019 00 FL:454
$00/8DCC 74 18       STZ $18,x  [$00:0918]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0932 VC:019 00 FL:454
$00/8DCE 74 1A       STZ $1A,x  [$00:091A]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0970 VC:019 00 FL:454
$00/8DD0 74 1C       STZ $1C,x  [$00:091C]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1008 VC:019 00 FL:454
$00/8DD2 74 1E       STZ $1E,x  [$00:091E]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1046 VC:019 00 FL:454
$00/8DD4 74 20       STZ $20,x  [$00:0920]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1084 VC:019 00 FL:454
$00/8DD6 74 22       STZ $22,x  [$00:0922]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1122 VC:019 00 FL:454
$00/8DD8 74 24       STZ $24,x  [$00:0924]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1160 VC:019 00 FL:454
$00/8DDA 74 26       STZ $26,x  [$00:0926]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1198 VC:019 00 FL:454
$00/8DDC 74 28       STZ $28,x  [$00:0928]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1236 VC:019 00 FL:454
$00/8DDE 74 2A       STZ $2A,x  [$00:092A]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1274 VC:019 00 FL:454
$00/8DE0 74 2C       STZ $2C,x  [$00:092C]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1312 VC:019 00 FL:454
$00/8DE2 74 2E       STZ $2E,x  [$00:092E]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:1350 VC:019 00 FL:454
$00/8DE4 74 30       STZ $30,x  [$00:0930]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0020 VC:020 00 FL:454
$00/8DE6 74 32       STZ $32,x  [$00:0932]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0058 VC:020 00 FL:454
$00/8DE8 74 34       STZ $34,x  [$00:0934]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0096 VC:020 00 FL:454
$00/8DEA 74 36       STZ $36,x  [$00:0936]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0134 VC:020 00 FL:454
$00/8DEC 74 38       STZ $38,x  [$00:0938]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0172 VC:020 00 FL:454
$00/8DEE 74 3A       STZ $3A,x  [$00:093A]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0210 VC:020 00 FL:454
$00/8DF0 74 3C       STZ $3C,x  [$00:093C]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0248 VC:020 00 FL:454
$00/8DF2 74 3E       STZ $3E,x  [$00:093E]   A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0286 VC:020 00 FL:454
$00/8DF4 6B          RTL                     A:0000 X:0900 Y:0000 D:0000 DB:01 S:1DE3 P:envmxdIZcHC:0324 VC:020 00 FL:454

Does anyone see whats wrong with this asm? I found 4 different occasions that
this happens and there could be more. This also happens with each of your bullets
when they disappear.

The game also uses MVN's to clear large sections of ram when it could be using dma.
It going to be very interesting to see how the next optimization patch compares to
the sa-1 hack in slowdowns.

I haven't been able to do as much as I would like on my projects lately and the gradius 3
decompression is taking more time than expected to complete so its going to be a little
while longer before the decompression is complete. I do have 7f:0000-7f:f800 of ram
completely free from compression. That ram was used for compressed gfx and compressed bg
data. That ram is no longer used in the game and is completey free to use for other things.
The next ram to free up from compression is 7e:a000-7e:bfff and 7e:e000-7e:ffff. When that
compression is removed that ram will be completely free. After that I will move the ram
data at 7f:f800-7f:ffff to 7e:3000-7e:37ff so all of ram bank $7F will be completely
unused in the entire rom. This decompression hack could be used in vitors sa-1 hack
to decrease ram size needed by half but I'm not really sure if that is something that he
would add to it but he is more than welcome to add this decompression hack to it if he
would like to. It could also possibly add a slight speedup in some locations in the sa-1
hack. The decompression hack does increase rom size but I don't really think that should be
a issue.

Some of the ram that the decompression hack is freeing up I'm going to use to remove some
slowdowns in this function $80/829E 22 8E 87 80 JSL $80878E[$80:878E] and this function
$80/82A2 22 F1 8E 80 JSL $808EF1[$80:8EF1]. Those are the 2 most used functions that cause
most of the slowdowns during gameplay so the ram trick should add a nice speedup when those
2 functions are used.

92
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: June 24, 2019, 03:58:51 pm »
Here is the patched rom hashes.


CRC32 looks the same as your patched one. When you are holding
the start + B + A buttons what are the 2 bytes in ram at 7e0020
and 7e0021?

93
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: June 24, 2019, 06:16:18 am »
Only thing that I can think of for why it isn't working for
you is you might not be patching it correctly. I checked everything
including the link that I posted and it works every time for me.

Here are a few images that might help. I'm using geiger's snes debugger.


At the ram address 7e0020 you see 00 00. Those 2 bytes are the controller 1
inputs. 00 00 means nothing is pressed. At the ram address 7e0086 you see 00.
That is going to be the current level that you start at.




In this image I have just pressed and started holding start + A + B. If you
look at the ram address 7e0020 you will see 80 90. Those 2 bytes means I'm
holding only start + A + B buttons. If you look at 7e0086 it is still 00.




Now we are at the weapon select screen. 7e0020 is still being held (80 90)
and now 7e0086 has changed to 01. 01 = level 2 which is the bubble level.
If 7e0086 was still 00 it would load level 1. When you get to this screen
that is when its safe to let go of the buttons.




If you don't see this highlighted hex in your rom then you definitely did
not patch it correctly. If you do see that hex in your rom then you may
not be holding the correct buttons.

Is anyone else having issues getting this patch to work?










94
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: June 20, 2019, 05:55:55 pm »
When you start a new game try holding start + B + A and when the weapon select screen shows up you can release the buttons and it should start you on level 2 after selecting your weapons. Start + B activates the new asm for the stage select but you still need to hold the other buttons as well to choose the level. If you only hold start + B it will load the new asm but since no other buttons are pressed and held it will load level 1. No new screens pop up to choose a level. Holding the correct button combinations is what chooses the level. Hope that gets it working for you. Let me know how that works.

95
It looks like you are placing the enemy but you are not placing the enemies vram. The object data for the levels are all next to each other like a array of objects. Map out the object data array for that level, find which object is the penguin vram and then place your new objects(penguin vram, penguin enemy) in the location that you want and it should work. I forgot how the levels set the starting vram for each level but it might also be in the object data array.

Your imgur image will show in the forum if you use a direct link.

96
You're welcome! ;)

97
I'll have some time to look at it later tonight. I did look into the
gamer setting and if you nop this code ($00/C23C A2 00       LDX #$00)
out you will be able to select gamer mode without requiring to activate it.
Or at least the gamer setting shows in the options. I'm not sure if it
plays in gamer mode but seems like it should.

Just found the T data in thanks.
Code: [Select]
0xF9 = 11111001
0x21 = 00100001
0x21 = 00100001
0x21 = 00100001
0x21 = 00100001

See the T and the left side of the H? 0's are blank and 1's make the pixels.

98
I could take a look at it when I get some free time. Can you post the save states for both of them?

99
Personal Projects / Re: slidelljohn (a.k.a.[J]) snes projects page
« on: June 12, 2019, 11:58:17 pm »
With all of this stuff that I'm working on for gradius 3 I needed a easy way
to start at any level so I made a small hack that lets you start at any level.
This patch also includes text files for the changes that I made to create the hack.
http://www.mediafire.com/file/8u90hm9ay5fakxq/Start_at_any_level_gradius_3_snes.zip/file

I would like to upload this new patch to romhacking.net. Can anyone test it
to make sure that it is working without any bugs? If anyone can confirm that
it works without any bugs I'll upload it.

I'm making good progress for the decompression hack for gradius 3 but its
taking longer than expected because I have been documenting all of gradius 3's
level data as I have been inserting the decompressed graphics. I have most of
the data documented to create new levels. I have all of the data documented for
all objects placed in the levels. Its very easy to add or remove objects in all
levels. After I finish the decompression hack I will start building a gradius 3
hacking tool that includes a level editor. Hopefully soon I'll at least have a
level and object viewer working.

100
Just use empty space for now. Look at the 2nd to last image I posted and it
shows where I put the new compressed data for testing. I put it at $0E:FC00
just before the pointers. If everything works correctly now then I'll do a
little bit of cleaning up the code and the toolbar. After I do that then
I'll do the palettes.

Pages: 1 2 3 4 [5] 6 7 8 9 10 ... 15