Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,554,218
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-07-24 07:53 AM
Guest: Register | Login

Main - Posts by infidelity

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

infidelity
Posted on 10-24-12 12:11 PM, in Do you want to learn 6502 ASM? (Think again) Link | Quote | ID: 152743


Fuzz Ball
Level: 66

Posts: 283/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Excellent! Thats good that you understand JSR's. Its also good that you know how to write the proper address for the JSR. The very basic things people should learn, is loading and storing, compares, branches, jsr's and jmp's.

infidelity
Posted on 10-24-12 03:34 PM, in Do you want to learn 6502 ASM? (Think again) Link | Quote | ID: 152745


Fuzz Ball
Level: 66

Posts: 284/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Trying to remember off the top of my head with megaman4. The F8's are constantly stored there, so that nothing appears on the screen that isnt supposed to be there. There is very technical asm that goes on, that constantly updates that entire area.

infidelity
Posted on 10-24-12 05:22 PM, in Do you want to learn 6502 ASM? (Think again) Link | Quote | ID: 152747


Fuzz Ball
Level: 66

Posts: 285/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
I never messed with the weapon menu asm extensively, but i assume its an entire separate entity. If it wasnt, an you opened the menu, then megaman, the health bar, enemies/boss, would appear on the weapon menu.

infidelity
Posted on 11-03-12 10:39 PM, in Tetris Zero (Final Version) Released *UPDATED 4-17-13 To V2* (rev. 10 of 04-17-13 09:11 PM) Link | Quote | ID: 152794


Fuzz Ball
Level: 66

Posts: 286/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
UPDATE 4-17-13

It was brought to my attention, that my SRAM was all messed up within my game, when it was running off of a TKROM board, and within Nestopia. I have went back and fixed this issue.

I have removed the older version from Uploader.

Here is the newer version for TKROM boards & Nestopia.

Tetris Zero (MMC3_118_v2)
http://acmlm.kafuka.org/uploader/get.php?id=4409

For detailed info on what i did, ive included a .txt file within the .zip.

Original Release Announcement Below
Last year I released a little hack i performed on Tetris called, "Tetris Zero"

Last month, i received a message from a fan of my work, who wanted to see if i could revisit what i made, and try to improve on it, game play & graphics wise. But most importantly, the main reason was that he wanted this to work properly on an actual NES.

I remembered some of the thigns that i did, went back to my old notes, and since that time, my asm had gotten better, and certain things that i couldn't pull off then, i could pull off now.

So in case many of you had forgotten what i did, i will briefly re-explain, and then explain the newly enhanced version from my last version.

I wanted to bring a 2 player mode to the Nintendo version of Tetris. While i was working on it, I discovered a hidden 2 player mode using register $BE. But alot of functions were missing. The only function the was done by Nintendo, was the player 2 controller to control the 2nd players piece.

I had to write custom code, to allow a slew of things for player 2, and for certain things to coexist with player 1's asm. Specificly giving player 2 the ability to choose his/her own starting level/height, like i accomplished in my last version.


With this version, i went all out.

First the rom specs.

1. Converted the rom from MMC1 to MMC3's alternative 118 *needed because Tetris uses special mirroring that MMC3 doesnt have, but 118 does, and, i needed the extra PRG space to perform all of my custom asm*
2. Expanded PRG to have 2 additional PRG banks
3. Had to create a custom bankswap routine, since no bankswap was present in original rom *$10-$4000 & $4010-$7FFF originaly*

Now these are the new features that i have added to Tetris.

1. Enabled 2 player mode
2. Created custom controls for 2nd player on non & in-game screens
3. Created custom designs for A/B-Type 2 player mode
4. Created asm to allow 2nd player to have stats shown on in-game screen

The next feature, #5, i'm really proud of cause i've never done this before in a rom hack on my own, and it flipping works, emulation and on NES hardware!

5. Made it so players can save they're high scores using SRAM

Explanation - Tetris has a Top 3 scoring system for both A/B-Type screens, giving you a total of 6 individual high scores. I've completely rewritten the asm, so that the 2 player mode is taken into consideration, giving you 6 more high scores in the game. So that means, Tetris Zero has 12 individual names/scores! 3 scores for each mode (A-Type 1 player) (B-Type 1 player) (A-Type 2 player) (B-Type 2 player) And they all save, and all load back up properly! I performed power off on FCEUX, restarted, and the names/scores were there. I also performed this on an actual NES using a powerpak, and it saved/loaded everything!

6. Player 2 has the ability to write his/her name into the scoreboard
7. Added a new gameplay feature to the B-Type Mode

Explanation - In B-Type mode, in order to win, you have to clear 25 lines. I made it so now you have the ability to choose how many lines you wish to clear. You can choose from 01-80 lines to clear. I personaly love this idea, and i'm very proud of it. :-)

8. Player 2 now has the ability to obtain it's own game piece, no longer sharing/stealing from player 1
9. Player 2 now has a properly NEXT piece box, along with working select button to enable/disable display
10. Player 2 now has the ability to select an additional +10 levels from what he/she chooses from A/B-Type

Explanation - In Tetris, player 1 can hold the A button down when he/she has level 0-9 highlighted, and when he/she presses start with A held, you start +10 levels from what you selected. I made it so player 2 can do the same thing. However, this can only be done while player 2 holds down the B button. When player 1 presses start, player 2 needs to have the B button held down, in order for him/her to get to the +10 level. I was experiencing issues with FCEUX 2.1.2, with both A buttons held down by player 1 & 2, and when player 1 would try to press start, nothing would happen. I watched the hex viewer while holding/pushing, and it just wouldn't register, but it would register on an actual NES. So to be safe, i just made it so player 2 holds down the B button.

Now some screenshots



















And here is the .ips
REMOVED AS OF 4-17-13. OBTAIN LATEST IPS AT THE BEGINNING OF THIS THREAD

The .zip includes an .ips of Tetris Zero, and a .sav file for those who own a powerpak for the NES.

If you own one of those powerpaks, that allow you to play roms on an actual NES, you will need that .sav that i included. For those who run this rom on an emulator, on pc/wii/ps3/360/psp/ds, etc, you don't need it.

I hope all of you enjoy this, and like the new features that i have implemented into it! :-D

-infidelity

infidelity
Posted on 11-05-12 12:09 AM, in Tetris Zero (Final Version) Released *UPDATED 4-17-13 To V2* Link | Quote | ID: 152807


Fuzz Ball
Level: 66

Posts: 287/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Hahaha! Thank you RetroHelix! I loved the GB version as well, especially the music. Maybe i'll revisit the sound engine once i finish my work on Zelda. The first song in the GB version, i absolutly love!

infidelity
Posted on 11-09-12 02:40 AM, in Tetris Zero (Final Version) Released *UPDATED 4-17-13 To V2* Link | Quote | ID: 152816


Fuzz Ball
Level: 66

Posts: 288/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Thank You Superjustinbros. And Thank You Lunaria for relocating this thread! :-)

infidelity
Posted on 11-09-12 05:04 PM, in Tetris Zero - A 2 Player Rom Hack Of The Original Tetris (rev. 3 of 11-10-12 12:16 AM) Link | Quote | ID: 152819


Fuzz Ball
Level: 66

Posts: 289/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
OLD THREAD
DO NOT OBTAIN ANY FILES FROM THIS THREAD
PLEASE GO HERE FOR NEW THREAD

http://acmlm.kafuka.org/board/thread.php?id=7573

infidelity
Posted on 11-09-12 07:38 PM, in Questions Regarding Rom Hacking On The Super Nintendo Link | Quote | ID: 152820


Fuzz Ball
Level: 66

Posts: 290/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Are there any detailed documents on the snes, like the YOSHI doc for nes? After my Zelda hack, im moving onto SNES romhacking, and would like to get an idea on how the machine works. Are there mappers? How does the ppu/nametable work? How is RAM setup?Etc

infidelity
Posted on 11-09-12 09:48 PM, in Questions Regarding Rom Hacking On The Super Nintendo Link | Quote | ID: 152822


Fuzz Ball
Level: 66

Posts: 291/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
I found an actual doc by YOSHI, but my phone bunches up all the text, so i gotta wait till i get wifi with my laptop. I just wish the griger snes debugger had a code data logger, which would show yellow,blue,green, within the hex viewer.

infidelity
Posted on 11-10-12 12:24 AM, in Questions Regarding Rom Hacking On The Super Nintendo (rev. 2 of 11-10-12 12:28 AM) Link | Quote | ID: 152825


Fuzz Ball
Level: 66

Posts: 292/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Thank you for the info justin3009!

I actually began looking at Megaman X, and figure out how to turn on all of his weapons, and sub tanks, without having to obtain them. I've read that 6502 still applies in some aspects to the snes. And from what i've seen when it deals with the opcodes, i got a pretty good head start in being able to accomplish some things with the snes, i just need to get an idea on where to start.

I'm hoping that i'll be able to figure things out like...

Is there a NameTable for the snes, how does it work? I know there are multiple backgrounds as well, do they all coexist in one NameTable?

Is there a PPU, and if so, how does it load sprite/bg tiles? Is it just like NES, where $0-$FFF is sprite or bg, and $1000-$1FFF is sprite or bg?

My main desire, if there was a code data logger, i know i've mentioned this already, but that is what has made me do so well in writing/understanding asm.

You say 7E0000 & 7FFFFF. Is there like a $0 to $7FFFFF?

I'm going to check out that doc by YOSHI, and see what i can figure out. :-)

This is the document by Yoshi that I found

http://patpend.net/technical/snes/snes.txt

infidelity
Posted on 11-10-12 06:57 AM, in Questions Regarding Rom Hacking On The Super Nintendo (rev. 2 of 11-10-12 06:59 AM) Link | Quote | ID: 152828


Fuzz Ball
Level: 66

Posts: 293/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Maybe i dont have the right boxes checked off in the debugger, for the code data logger to display highlighted values when viewing ROM in the hex viewer? When viewing RAM with Geigers emu, is 7E0000 the beginning of the snes memory?

infidelity
Posted on 11-11-12 08:21 PM, in Questions Regarding Rom Hacking On The Super Nintendo Link | Quote | ID: 152834


Fuzz Ball
Level: 66

Posts: 294/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Its annoying i cant do hex searches! Geigers allows copy/paste, but if i want to look for specific values or a string of data, theres no option to do that. So frustrating its not like FCEUX. I really like SS$NS, great debug emu! You can view all the vram.

infidelity
Posted on 11-12-12 09:03 PM, in Questions Regarding Rom Hacking On The Super Nintendo (rev. 4 of 11-12-12 09:06 PM) Link | Quote | ID: 152842


Fuzz Ball
Level: 66

Posts: 295/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
So is there a dedicated Hard Wired bank in SNES roms, or is that just specificly for NES?

This is not a thread to discuss how to hack Megaman X, but i'm using that rom as my personal introduction to working with SNES.

Anyways, i learned about LoROM & HiROM, how LoROM's individual banks are $8000 bytes each, and HiROM's individual banks are $10000 bytes each.

Megaman X uses LoROM.

Using Geigers as an example, i open the hex viewer and select ROM. It then starts at $808000, which i believe is Bank $80. When I scroll through the hex, it will go to 80FFFF then to 818000.

So for LoROM, each individual bank appears to have a dedicated $C000-$FFFF. So does that mean the Hard Wired bank from the NES days, no longer applied when the SNES came out?

And here's another confusing concept to me.

Do rom's have individual bankswap routines, or is there a dedicated method to jumping to different banks within the rom on SNES?

I ask because, when viewing Megaman X in Geigers hex viewer, it starts at 808000 and goes to BFFFFF. How come it doesn't show 008000-7FFFFF? Does the rom contain 008000-7FFFFF? *this is where i really wish CDL was a feature in Geiger's debug...*

Thank you justin3009 and MikeFuryXP for your input(s)

infidelity
Posted on 11-13-12 12:42 AM, in Questions Regarding Rom Hacking On The Super Nintendo Link | Quote | ID: 152844


Fuzz Ball
Level: 66

Posts: 296/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Great example, i understood that perfectly! Thats so awesome there is a dedicated sub routine & jmp for bankswapping! So is 808000 really bank 0? Cause when you boot Megaman X, the SEtInterupt (78) starts, and the text says $00/8000?

infidelity
Posted on 11-13-12 03:33 PM, in Questions Regarding Rom Hacking On The Super Nintendo (rev. 2 of 11-13-12 03:38 PM) Link | Quote | ID: 152848


Fuzz Ball
Level: 66

Posts: 297/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Already found a spot within bank 0 for me to do some custom asm. Im seeing how i can manipulate the pixelation of each bg layer or all bg layers, its awesome! I think its $2106. I cant wait to try to attempt to zoom in/out and rotate the bg layer!

infidelity
Posted on 11-13-12 11:02 PM, in Questions Regarding Rom Hacking On The Super Nintendo Link | Quote | ID: 152850


Fuzz Ball
Level: 66

Posts: 298/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Im still workin on tryin to get some kind of bg to rotate or inc/dec in size. Then id like to find the individual xy registers for all 4 bg layers. Do all snes roms use compression for gfx? Some games you never see all tiles with yy-chr or tlp.

infidelity
Posted on 11-14-12 06:03 PM, in Questions Regarding Rom Hacking On The Super Nintendo Link | Quote | ID: 152855


Fuzz Ball
Level: 66

Posts: 299/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Im familiar with TM. I used it when Megaman 9 came out on the Wii, and people learned how to rip the gfx from it using a specific codec within TM. So am i correct in assuming this is the same thing for SNES, to properly rip/paste based on the codec?

infidelity
Posted on 11-16-12 09:30 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 152867


Fuzz Ball
Level: 66

Posts: 300/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Been a long time since i've given an update on this, i apologize for such a long delay.

I have finished constructing the Light World. Right now im in the process of checking each individual screen id to make sure there are no crashes.

There have been a few, and i believe it is primarily due to specific tiles not being present for specific enemies, and it will cause the rom to go in what i believe is a constant loop, or sometimes just crashing all together.

At this time i have made it so each screen id works when you walk onto it.

I now have the grueling task of setting up massive tables to determine when to switch out certain CHR for certain areas Link visits. Creating the table is a cinch, no worries on that, it's just the thought process will begin on where to initiate those CHR changes. I was smart in designing the layout of the outworld, and wrote markers on each screen id, that reminds me which value to insert to show the proper CHR.

I will also need to create another vast table to determine which of the swapped CHR tiles are solid/non solid.

AND, i've noticed something that may be an issue. I have been using non solid color tiles, to construct vast amounts of solid grass or solid plush throughout the entire world, and i'm seeing enemies forming in those areas that are supposed to be solid, and they get stuck and spazzing out. I have 4 slots left in the solid area for tiles, where i can place 4 color tiles, and then redo those specific areas, but i hope it's not a pain in the ass to redo.

I promise to continue to update at a better pace, and at some point i will release a demo for people to tinker around with. :-)

-infidelity

infidelity
Posted on 11-20-12 02:28 AM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 152880


Fuzz Ball
Level: 66

Posts: 301/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
Thank you for those kind words, optomon! As for "Infedit" that was created for me by snarfblam. I completely rewrote how Zelda constructs it screens, and by doing that, i made all current level design editors for my copy of Zelda, useless.

infidelity
Posted on 11-20-12 12:11 PM, in Zelda - The Legend of Link (v3-12-20) Released Link | Quote | ID: 152882


Fuzz Ball
Level: 66

Posts: 302/968
EXP: 2370135
Next: 91716

Since: 05-24-07

Last post: 969 days
Last view: 825 days
So ive managed to pull off having all of the light world's screen id's, (00-FF aka 256 individual screens) to look at a vast table to decide what chr bank to load for the proper gfx to display.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49


Main - Posts by infidelity

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 5.427 seconds. (338KB of memory used)
MySQL - queries: 130, rows: 162/162, time: 5.412 seconds.