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

Main - Posts by RetroRain

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 50

RetroRain
Posted on 05-31-10 08:16 PM, in First video clips of Maverick Revenge II Link | Quote | ID: 131597


Fuzz Ball
Level: 66

Posts: 509/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Oh, well they still look good. I'm looking forward to seeing more.

____________________
My YouTube Channel

RetroRain
Posted on 06-02-10 06:57 PM, in CHR-RAM Trouble Link | Quote | ID: 131626


Fuzz Ball
Level: 66

Posts: 510/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Surprisingly, after doing lots of searching, there aren't many documents that explain about dealing with CHR-RAM. I am hacking Megaman 4, but it doesn't have any VROM in it. All of the graphics are in PRG. So, I have no choice but to deal with CHR-RAM. The thing is, I'm always up for learning new things, and I don't like giving up on a problem.



I want to do my first CHR-RAM hack here. So, I'll do it with something simple, like rain. I want the rain to fall down. In other words, I want the tiles to shift downwards.

Now, I read that when dealing with CHR-RAM, you have to deal with VRAM, and you have to deal with $2006 and $2007. But that doesn't tell me much.

I made a small NES demo one time, and I used $2006 and $2007 to put graphics on the screen (Name Table). But, I don't know how to use those addresses to write to the PPU Table itself.

But what I can't get over is that there is not one single document on the net that goes into it. They cover CHR-ROM and VROM, but nothing on CHR-RAM.

So, how would I go about doing this?

Here is what I have done so far.

I set a breakpoint of $95, which is one of the frame counters in Megaman 4. It is the manual frame counter. I also found some free space. So, the code beneath the INC $95 I relocated it to the free space, I will insert my new code, and then I will RTS.

Now, what to put there.........

However, I am impressed that the CHR pages work just like a game that has VROM. I can switch 2K CHR pages just like that, by writing to $8000 and $8001. It works the same way.

But how the hell do I get those tiles to shift downward? I will probably have to "shift the bits" right, like using a LSR?

I want to know how to select the pattern table tiles $48, $49, $58, and $59 themselves.

I know that this piece of code right here:

LDA $20
STA $2006
LDA $00
STA $2006

This will set the scanline to the upper-left part of the Name Table, and then you can select a tile, such as $48, and write it to that location

LDA $48
STA $2007.

But I don't want to write to the Name Table. I want to write to the PPU itself.

Any help and advice would greatly be appreciated. I want to learn. Thanks.

____________________
My YouTube Channel

RetroRain
Posted on 06-03-10 06:55 PM, in CHR-RAM Trouble Link | Quote | ID: 131668


Fuzz Ball
Level: 66

Posts: 511/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
So, to point to tile $48, I have to set $2006 to that using:

LDA #$00
STA $2006
LDA #$48
STA $2006

But if it is then pointing to tile $48, then what does $2007 do when it comes to the PPU table?

____________________
My YouTube Channel

RetroRain
Posted on 06-03-10 07:19 PM, in CHR-RAM Trouble Link | Quote | ID: 131675


Fuzz Ball
Level: 66

Posts: 512/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Oh alright. Thank you for your help. I will give it a try later and let you know how it goes.

____________________
My YouTube Channel

RetroRain
Posted on 06-04-10 11:07 PM, in CHR-RAM Trouble Link | Quote | ID: 131728


Fuzz Ball
Level: 66

Posts: 513/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Okay. First problem. Despite the fact that I have turned the display off and then on again, I am still getting glitches. I even used this piece of code:

vwait:
LDA $2002
BPL vwait

As you can see in the image, I am using:

LDA #$16
STA $2001

to turn the display off, and then:

LDA #$1E
STA $2001

to turn it back on again.

I even used both the vwait code and the $2001 code. And this is the result I'm getting.



However, I have experimented with $2007, and I was able to mess with the PPU tiles I wanted to change.

But I'm confused about $2007. Does $2007 write a single pixel? Is that what it's supposed to do?

You mentioned that you have to write $2007 16 times to write a full time, but I'm a little confused about that because a single tile is 8x8 pixels, which means there are 64 pixels in a single tile. So why would it be 16, and not 64? (yes, I'm a little inexperienced when it comes to bit stuff, but I do understand how binary works).

By the way, never-obsolete, I checked out your web page. I am fascinated by that "Cat Killer" game you have on there. I remember playing Rodent's Revenge on my very first computer. I remember those hectic days of Windows 95 and that slow Pentium processor, but that little game was fun. I like the things I see on your site. Keep up the good work.

____________________
My YouTube Channel

RetroRain
Posted on 06-05-10 12:10 AM, in First video clips of Maverick Revenge II (rev. 2 of 06-05-10 12:11 AM) Link | Quote | ID: 131738


Fuzz Ball
Level: 66

Posts: 514/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Want my advice? If you want to dig into ASM hacking, the best NES game to hack is Super Mario Bros. 3. For practice, of course. That is the first game I did my first ASM hack to. And I remember how proud I was back then. My first ASM hack is when you stepped on the P-Switch, you obtained the kuribo's shoe.

SMB3 has a lot of free space, and if you have to you can expand the ROM without there being major problems. There is a document of data/info that comes with SMB3 Workshop. The data/info is from DahrkDaiz.

But, if you actually want to go an even better route, use this document:

http://www.zophar.net/fileuploads/2/10702qqjmd/NESprgmn.txt

I programmed my first NES demo a long time ago using this. It is a really good document. Simple, easy to follow. All you need is an assembler, like NESASM. Just put your code in notepad, and compile. Trust me, if you put together a little demo like this, you will know more about the NES, hence, it will make ASM hacking seem a lot easier.

____________________
My YouTube Channel

RetroRain
Posted on 06-13-10 09:39 PM, in CHR-RAM Trouble Link | Quote | ID: 131981


Fuzz Ball
Level: 66

Posts: 515/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Posted by never-obsolete
What you want to do is find out how the game buffers its vram updates and write all your data to the buffer. Then let the game take care of writing to vram on the next vblank.
I took a break from this, because it was too difficult for me.

When you are writing a single tile, you say you have to write to $2007 16 times. But you are loading #$FF into the accumulator, and storing it to $2007 16 times right? I did that, and noticed it got the whole tile.

Now, when you say write to the VRAM buffer, am I going to the buffer itself, and simply jumping to some free space, putting all of my code there, and then returning?

Matrixz has most of MM4's data documented, and it has the addresses of the VRAM buffer stuff. But I have no clue which one I should be using. I'm assuming it could be $19 or $1A because the name of that section is Graphics updates.

Last question. Once I have a single tile written by $2007, do I have to use a LSR or ROR to make the tile shift downwards, to give the appearance that the rain is falling?

LDY #$10
Again:
LDA #$FF
STA $2007
DEY
BNE Again:

; Should the shifting code look like this?

; (Tile $48)
LDA #$04
STA $2006
LDA #$80
STA $2006
LSR ; Shift tile down one pixel

Matrixz' MM4 Data


Graphics updates

19 : VRAM Buffer - Write Flag (if != 0, then write VRAM Buffer to VRAM)

1A : VRAM Buffer - Write Flag (Vertical NameTable Updates) (if != 0, then write VRAM Buffer to VRAM, NameTable writes are done in Vertical direction. )

58-59 : Graphics being loaded - Dest. VRAM Address Pointer

9A : VRAM update suspend flag. Used to synchronize sprite DMA updates and VRAM updates.

780-7FE : VRAM Buffer.
(Used to write to Name Table VRAM, either when
screen is off or in NMI when screen is on.)
Format:
The buffer is divided in chunks of strings.
If the first byte in the chunk is $80 or more (usually $FF),
it means to stop reading chunks from the buffer.
Format of string chunk:
byte 0: PPU VRAM Address High (if >= $80, stop reading buffer)
byte 1: PPU VRAM Address Low
byte 2: Number of Letters/Bytes to write (minus 1; if
the value is 0, it means to write 1 tile, if value is 1,
it means to write 2 tiles, and so on..)
From byte 3 follows the variable-length string of bytes to write
in sequence, (length is the value of [Byte 2] + 1)
This is the end of the string chunk.
Format, explained by interpretion in C code style: {
unsigned char a, x, y;
unsigned char vram_hi, vram_lo;
x = 0;
loop:
a = *(0x780 + x);
if ((a & 0x80) == 0x80) { return (0); }
vram_hi = a;
a = *(0x781 + x);
vram_lo = a;
y = *(0x782 + x);
for ( ; y >= 0; y--) {
a = *(0x783 + x);
NES_PPU_VRAM[(vram_hi << 8) | vram_lo] = a;
x++;
}
x += 3;
goto loop;
}


____________________
My YouTube Channel

RetroRain
Posted on 06-14-10 10:48 PM, in CHR-RAM Trouble Link | Quote | ID: 132009


Fuzz Ball
Level: 66

Posts: 516/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
(Double post, but relevant)

Would my code look something like this?

; Code to copy and shift a single PPU tile.  In this case, PPU tile $48.


; Turn screen off
LDA $16
STA $2001

; Select PPU tile $48
LDA $04
STA $2006
LDA $80
STA $2006

; Write to $2007 sixteen times to copy all of tile $48
LDY $10
Read:
STA $2007
DEY
BNE Read

; Increase tile Y position and write pixels
LDY $0F
LDA $04
STA $2006
LDX $81
STX $2006
Write:
LDA $04
STA $2006
STX $2006
STA $2007
INX
DEY
BNE Write

; Restore scanlines
LDA $20
STA $2006
LDA $00
STA $2006

; Turn screen back on
LDA $1E
STA $2001

; Return from sub-routine
RTS


____________________
My YouTube Channel

RetroRain
Posted on 06-15-10 04:06 AM, in CHR-RAM Trouble Link | Quote | ID: 132015


Fuzz Ball
Level: 66

Posts: 517/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Yeah but is giving up, the answer? Because I've been seriously thinking about moving my project over to Multimedia Fusion 2, where I will not have anymore limitations, and I can do the things I really want to do. I can make my game the way I want it, without having to figure out how the original game works, and then struggle just to make it do the things I want.

But I don't like giving up, because I have done that a lot in the past, and it gets you no where. Just because I don't know how to do CHR-RAM swapping, doesn't mean I should just discard the ROM. I won't learn anything, and not knowing how to do something drives me nuts, when other more experienced hackers out there can do it no problem.

Do you know how to do CHR-RAM swapping? I know you converted MM4 over to CHR-ROM completely. How the heck did you do that?

Why should I struggle with ROM hacking when I can just move my game over to MMF2 and then freely do what I want without anymore limitations? Part of me wants people to be able to play the thing on the real NES, and its an actual Nintendo game, not some PC game. That is part of the reason, but is it worth the hassle?

____________________
My YouTube Channel

RetroRain
Posted on 06-20-10 09:10 AM, in The 3DS! (rev. 4 of 06-20-10 09:17 AM) Link | Quote | ID: 132199


Fuzz Ball
Level: 66

Posts: 518/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Posted by Dr. Hell
I can't believe that there aren't any threads about this yet. From what I have read, the 3D effect is amazing, though you have to be positioned in a "sweet spot" in order for it to work. The good news is that if you're sitting in a position where said sweet spot is impossible, there's a 3D slider which will allow you to shut it off.

Other improvements over the DS/DSi line are Gamecube (maybe even better) quality graphics, along with an analog "slider" (It's a disk that you slide around instead of a joystick). There's a digital movie download service in the works. Also it boasts the ability to take 3D photographs.

Some of the games that were on the e3 floor to demonstrate are, but are not limited to:
Kid Icarus: Uprising
Ocarina of Time 3D
Mario Kart 3D
Star Fox 64 3D
Animal Crossing
Tom Clancy's Splinter Cell: Chaos Theory
Nintendogs +Cats
Riiiiiidge Raaaaacer
Metal Gear Solid: Snake Eater 3D

Also, this is really rough, and probably nowhere near as awesome as how the 3DS looks, but I took a screen from Kid Icarus: Uprising and turned it into one of those "cross eye" 3D images, in order to get a taste of what's to come. (It is totally easier to look at if you open it in a new window or tab.)



See trailers and a full list of the demo games here: http://e3.nintendo.com/

You forgot to mention this:

http://ds.ign.com/articles/109/1098405p1.html

Which is what I found the most interesting about the 3DS.

And not only that, they aren't just tech demos, they are actually going to be made and released, and they may not be just ports.

http://www.1up.com/do/newsStory?cId=3180000

____________________
My YouTube Channel

RetroRain
Posted on 08-31-10 01:15 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 135125


Fuzz Ball
Level: 66

Posts: 519/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Posted by Mineyl


Nothing terribly special. Just me screwing around with the original Legend of Zelda.

At least it's not Mario or Megaman, right? xD
I love it. I don't know how to explain it, but everytime I see Zelda 1 with it's original graphics, whether the levels are new or old, I feel the nostalgia, and it feels great.

____________________
My YouTube Channel

RetroRain
Posted on 08-31-10 07:34 PM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 135153


Fuzz Ball
Level: 66

Posts: 520/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Nintendo needs to seriously follow Capcom's lead, and make an all-new 8-bit Zelda game like the original.

____________________
My YouTube Channel

RetroRain
Posted on 08-31-10 07:44 PM, in Megaman 2 Master Edition (New MM2 Hack by Huff) Link | Quote | ID: 135154


Fuzz Ball
Level: 66

Posts: 521/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Posted by Nikolaj
Some screenshots would be appreciated...
I was wondering when someone was going to say that. I'm surprised it took 6 replies.

____________________
My YouTube Channel

RetroRain
Posted on 09-07-10 12:21 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 135342


Fuzz Ball
Level: 66

Posts: 522/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Oh Mineyl, I noticed that there are a lot of editors for Zelda 1. Which one did you use for editing the dungeons?

____________________
My YouTube Channel

RetroRain
Posted on 09-07-10 03:37 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 135348


Fuzz Ball
Level: 66

Posts: 523/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Ah thanks. By the way I favorited your Zelda 1 video because I love the nostalgia. I don't really ROM hack anymore, but if I come up with some good ideas, you never know I might put together a good dungeon.

____________________
My YouTube Channel

RetroRain
Posted on 09-22-10 07:17 AM, in Bookmark Option (rev. 2 of 09-22-10 07:19 AM) Link | Quote | ID: 135983


Fuzz Ball
Level: 66

Posts: 524/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Have you ever read a really good post on a forum, and it was so good that you wanted to bookmark it? Sure, you can go into your web browser, and add the page to your "Favorites", or "Bookmark" the page, but all this does is bookmark the whole web page. I go to other forums as well, and these forums happen be more busy than this board (no offense to this board). Sometimes I think to myself, "It would be nice if you could bookmark this post", and that would be a very good idea in my opinion. Because, sure you could search for a post, but if there are thousands and thousands of posts, it would be a headache.

But I'm surprised a feature like this hasn't been implemented in most boards yet. You should have the ability to bookmark a member's post. Right next to where it says "Edit, Quote, Reply, Delete", there should be a "Bookmark" option, and once that is done, you can go into your control panel, go under the "Bookmark Section", and see all the posts you bookmarked. And then it would take you to that specific post, rather than the whole topic it was posted in. Because obviously if there are 20-50 pages in a thread, do you really want to go looking through all of them to find that post you liked?

And recently on one of the forums I go to, I saw a very good post, but the pages to the thread mount up very quickly, and soon you have a hard time looking for it. And let's just say that you remember how good the post was, but you don't particularly remember the username of the person that posted it. Perhaps it is some weird name. If you had bookmarked the post, then it would be no problem. And bookmarking pages/favorites isn't very reliable anyway. If your computer breaks down or becomes fried, as long as the bookmarks are on your account, you can login from any computer, and they will still be there.

A Bookmark option would be excellent. And you can add/delete them as you see fit. And in order to conserve board space, if you need to put a limit, put a limit. Make it so you can have up to 100 favorite posts. It's probably not going to be very often that you have a favorite post anyway. Just something to consider if this board ever did pick up in activity.

____________________
My YouTube Channel

RetroRain
Posted on 01-22-11 04:59 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 139258


Fuzz Ball
Level: 66

Posts: 525/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Cool. You working on a new hack?

____________________
My YouTube Channel

RetroRain
Posted on 01-23-11 07:25 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 139279


Fuzz Ball
Level: 66

Posts: 526/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
Posted by Ice Penguin
Posted by RetroRain
Cool. You working on a new hack?


Yeah. I played the original Zelda II recently and got an idea for a hack.
Sweet. I look forward to seeing more.

____________________
My YouTube Channel

RetroRain
Posted on 01-23-11 04:31 PM, in What games are you playing right now? Link | Quote | ID: 139284


Fuzz Ball
Level: 66

Posts: 527/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
I'm currently having so much fun with Final Fantasy VII. There is always so much to do, so many side quests, materia to get, battles to fight to gain limit breaks, the Fort Condor battles (which are very fun but too easy, they should actually be a game on its own), Chocobo Raising, Gold Saucer Battle Square, I'm having a lot of fun with this game. It's been years since I did a full playthrough of the game.

____________________
My YouTube Channel

RetroRain
Posted on 01-30-11 05:01 PM, in The Legend of Zelda: Leaf of Inertia (rev. 2 of 01-30-11 05:03 PM) Link | Quote | ID: 139402


Fuzz Ball
Level: 66

Posts: 528/994
EXP: 2436726
Next: 25125

Since: 09-30-07

Last post: 1927 days
Last view: 950 days
I'm not really diggin the jump ability being taken out. It's actually putting me off to the hack. The level 1 dungeon is where it originally is, but I can't even jump onto the first step. I'm assuming I will be able to jump if I level up or find some jump spell?

By the way, is this the same "Link's Nightmare" hack you posted a picture of in the other thread?

____________________
My YouTube Channel
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 50


Main - Posts by RetroRain

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

Page rendered in 0.235 seconds. (330KB of memory used)
MySQL - queries: 133, rows: 165/165, time: 0.226 seconds.