| |||
Views: 89,618,644 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 09-27-24 06:55 PM |
|
Guest: Register | Login |
Main - Posts by frantik |
frantik |
| ||
Red Koopa Level: 28 Posts: 41/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
the problems stem from the fact 9107 is in the middle of an LDY command ($9106:AC 4E 07 LDY $074E) . The value you are changing causes it to pull a value from different parts of memory in the $07xx range. You need the number stored in the memory address to be between 0 and 3 for the main music types which are water, underground, overworld, and castle respectively. unfortunately it's not so easy to find areas in memory which will always be a certain value (excluding 0 which isn't too hard)
you're better off rewriting the whole line to something like LDY #$01 cause then you can just change the numeric value. This will cost you 3 game genie codes though try replacing AC 42 07 with A0 XX EA. (where XX is 00 thru 03) EZAPTP AAAPYP (or PAAPYP, ZAAPYP, LAAPYP) XTAOAO |
frantik |
| ||
Red Koopa Level: 28 Posts: 42/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
Posted by GameGenie81Posted by frantik Notice in the first two codes (the ones that work) the value being read is between 0 and 5 (specifically KAEPYO you see LDY $078C = #$00 and PTEPYP you see LDY $0761 = #$02 ) You need to load a value between 0 and 5 into Y for the song selection routine to work properly. The songs are 0= water, 1=overworld, 2= underground, 3=castle 4 = cloud level/starman, 5 = pipe intro |
frantik |
| ||
Red Koopa Level: 28 Posts: 43/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
ok sorry I got confused cause i didnt realize the game genie code was STAGEO so i didnt know it called for ED.. forget the whole NOP thing lol
I changed $c900 (0x4910 in the rom file) from 05 to ED and it worked just like the movie.... |
frantik |
| ||
Red Koopa Level: 28 Posts: 44/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
to rotate left just move all of the digits over to the left and move the left most digit into the right most digit's location
1101-1010-1101-0001-1001-0001 rotated left: 101-1010-1101-0001-1001-00011 with the dashes corrected: 1011-0101-1010-0011-0010-0011 converted to decimal: 11 5 10 3 2 3 A=0 P=2 Z=4 L=6 G=8 I=10 T=12 Y=14 E=1 O=3 X=5 U=7 K=9 S=11 V=13 N=15 S X I O P O |
frantik |
| ||
Red Koopa Level: 28 Posts: 45/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
change 0x379e to 00 and the clock will stop |
frantik |
| ||
Red Koopa Level: 28 Posts: 46/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
no problem
In SMB1 since it doesn't use a mapper you can always figure out the actual ROM file address from the memory address by simply subtracting $7FF0 from the memory address. ($7FF0 = $8000 of ROM memory - $10 byte header) |
frantik |
| ||
Red Koopa Level: 28 Posts: 47/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
making bowser look like anything is a pain in the ass in SMB, let alone make him look like a person... you only have 12 tiles arranged like so:
xxoo xxxx xxxx ooxx where x = a tile and o = a blank |
frantik |
| ||
Red Koopa Level: 28 Posts: 48/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
getting close to being done with Super Mario Unlimited
|
frantik |
| ||
Red Koopa Level: 28 Posts: 49/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
thanks |
frantik |
| ||
Red Koopa Level: 28 Posts: 50/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
you can probably find out what variable controls the character size by using the ram filter and/or cheat console of FCEUXDSP.. then it's pretty simple to backtrack to find the resizing code in the debugger |
frantik |
| ||
Red Koopa Level: 28 Posts: 51/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
If you're not planning on using the Castle looping effect in your hack, you can clear out quite a bit of space starting at $c06b ( 0x407b )
also the coin palette animation code is a good place to locate the tile animation code imo (it's around $89e1 ( 0x09f1 ) i'm not super familiair with MMC3 but it looks like at start up the only guarenteed bank which will be loaded is $A000 - $BFFF so perhaps the initialization code needs to go there? then once you set up the mapper you will know where the rest of the code can go |
frantik |
| ||
Red Koopa Level: 28 Posts: 52/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
ok well if you need it to be in the first bank you will probably have enough room in the coin animation code to do whatever you like.
here's some code disch gave me for getting the right frame number.. you can use it with a little modification for a lot of mappers.. it's some very efficient code to get frame # for animation. not even sure if you can use it but if so cool lol.. i've used it for two diff mapper implementations LDA $09 ; load frame counter -- it's automatically incremented each frame by the engine LSR A LSR A LSR A ; right shift 3 times (divide by 8 ) -- makes it so a new page is selected every 8 frames AND #$03 ; mask out low 2 bits (produces 0,1,2,3,0,1,2,3,0,1,2,3,... repeating pattern) |
frantik |
| ||
Red Koopa Level: 28 Posts: 53/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
you can't put the data right after the code because the program will go on to interpret the data as opcodes
also $0f is definitely used by the program.. i suspect all zero page addresses are used. you can check dopplegangers SMB memory map for free space. $09 is an internal counter which is automatically incremented so there's need to create a second counter this should give you the numbers you want, though it's longer than never-obsoletes ; $00 - temp math var LDA $09 ; load frame counter -- it's automatically incremented each frame by the engine LSR A LSR A LSR A ; right shift 3 times (divide by 8 ) -- makes it so a new page is selected every 8 frame AND #$03 ; mask out low 2 bits (produces 0,1,2,3,0,1,2,3,0,1,2,3,... repeating pattern) STA $00 ; store A into $00 for use with INC INC $00 ; 0,1,2,3 = 1,2,3,4 ASL $00 ; = 2,4,6,8 ASL $00 ; = 4,8,C,10 INC $00 ; = 5,9,D,11 LDA $00; ==== edit: or even a hybrid of the two should work LDA $09 ; load frame counter -- it's automatically incremented each frame by the engine LSR A LSR A LSR A ; right shift 3 times (divide by 8 ) -- makes it so a new page is selected every 8 frame AND #$03 ; mask out low 2 bits (produces 0,1,2,3,0,1,2,3,0,1,2,3,... repeating pattern) TAX LDA chrpages, X STA $8001 RTS ; replace with a jump or whatever you like to make the program not execute the data below chrpages: .db $09, $0D, $11, $15 |
frantik |
| ||
Red Koopa Level: 28 Posts: 54/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
w00t |
frantik |
| ||
Red Koopa Level: 28 Posts: 55/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
i'm pretty sure to get 8 frames you'd just need to change
AND #$03 ; mask out low 2 bits (produces 0,1,2,3,0,1,2,3,0,1,2,3,... repeating pattern) to AND #$07 For 16 you might not need to AND anything. i'm not 100% sure. also if you used the method with the array of data you will need to add the extra values in |
frantik |
| ||
Red Koopa Level: 28 Posts: 56/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
yeah but now the rest of your animations are way too fast :eek: |
frantik |
| ||
Red Koopa Level: 28 Posts: 57/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
i found this video on related.. millions of marios controlled with hand movements!
|
frantik |
| ||
Red Koopa Level: 28 Posts: 58/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
where's my balloons? |
frantik |
| ||
Red Koopa Level: 28 Posts: 59/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
SMU is coming along nicely.. here's some screen shots for those who haven't been following the progress. currently on track to have 48 unique levels using MMC1
|
frantik |
| ||
Red Koopa Level: 28 Posts: 60/139 EXP: 129021 Next: 2317 Since: 10-09-07 Last post: 4643 days Last view: 4637 days |
^ thanks actually i want it to be kind of ambiguous which game it's based on so thats a good compliment hehe
and this is the 2nd time i posted my screen shots right at the bottom of a page lol :owned: at least someone saw them this time hahahah |
Main - Posts by frantik |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 134, rows: 166/166, time: 4.906 seconds. |