Mapper Decapping?

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

User avatar
qbradq
Posts: 952
Joined: Wed Oct 15, 2008 11:50 am

Post by qbradq »

Dr. Floppy wrote:
qbradq wrote:You're coding your game in a hex editor? Wow, that is hard-core :D
Thanx! Although I suspect it has more to do with me being a control freak than anything else...

On the plus side, I figure this is a good way to force myself to learn all this stuff (scrolling handlers, music engines, etc.) honestly. Once I've built an entire MMC5 game from the ground-up, I'll have more solid ground upon which to pursue the MMC7 Project.
Is that a joke?
Dr. Floppy
Posts: 47
Joined: Mon May 09, 2011 7:02 pm

Post by Dr. Floppy »

qbradq wrote:Is that a joke?
No. I really am a control freak, particularly when it comes to creative projects. I really want to code this stuff from scratch as much as possible, knowing that it'll be worth it in the long run because it'll help me better understand NES programming (especially as it pertains to MMC5).

And, someday, having banked credibility from this "Alpha" game, I hope to pursue the concept of creating a custom mapper called MMC7, which I believe would be the best showcase for my "Omega" game. (A real-time RPG with 4-screen mirroring, allowing for artifact-free diagonal scrolling and expanded sound channels.)

Both of these plans coincide well with their flagship games' respective mission statements; "Alpha" shall be a celebration of what was, whereas "Omega" will be a celebration of what could have been.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Most NES game programmers use an assembler, which gives just as much control as a hex editor but it's more maintainable.
Dr. Floppy
Posts: 47
Joined: Mon May 09, 2011 7:02 pm

Post by Dr. Floppy »

tepples wrote:Most NES game programmers use an assembler, which gives just as much control as a hex editor but it's more maintainable.
In that case, it might be advantageous to look into something along those lines. My only problem with hex editors is that there's no realistic way of adding comments to each section of code. I believe this is one of the major strengths of assemblers?
3gengames
Formerly 65024U
Posts: 2281
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames »

You programming in hex? How do you get anything done? You'll be 2 decades from now releasing any demo even.

Pick up an assembler, and try it. And even if you don't like it, don't go back. :wink:
Dr. Floppy
Posts: 47
Joined: Mon May 09, 2011 7:02 pm

Post by Dr. Floppy »

3gengames wrote:You programming in hex? How do you get anything done? You'll be 2 decades from now releasing any demo even.
How does anything get done? I figure out what needs to happen, diagram various ways of making it happen, revise the diagram until I've got a "best-fit" approach, translate it 6502 code, type it into the ROM, then try it out. If it works, yay! If it sucks, I open the Debug window and begin tracking down the problem. Eventually, bugs are found/fixed and the show goes on!

As for demos, I've already got a functional (if unrefined) title screen, and am currently working on the Transition Handler to progress to Level Zero. Level Zero is going to start out as a panoramic single screen, as I want to establish main character controls before I begin work on the scroll engine, maps, enemies, etc. When I feel that the controls are in decent shape, I'll consider releasing that as Demo1.
3gengames wrote:Pick up an assembler, and try it. And even if you don't like it, don't go back. :wink:
What are the major assemblers in circulation now, and of those, which do you personally recommend?
3gengames
Formerly 65024U
Posts: 2281
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames »

I use NESASM3. Everyone bags on it, but yet a lot of times I see people use ASM6. I tried to use ASM6, but to me, NESASM3 is much more flexible and less of a hassle to use. Asm6 is just difficult.


And then there's that CA65 one, not sure about that, but can't be that bad since more people use that I think.


And yeah, they's how you do it with an assembler, but you can do it 500x faster and even comment your code and rewrite it in a matter of minutes. Even back in the day nobody hand typed the code in I don't think. @_@
unregistered
Posts: 1193
Joined: Thu Apr 23, 2009 11:21 pm
Location: cypress, texas

Post by unregistered »

Dr. Floppy wrote:
3gengames wrote:Pick up an assembler, and try it. And even if you don't like it, don't go back. :wink:
What are the major assemblers in circulation now, and of those, which do you personally recommend?
I recommend asm6; it was recommended to me. :)
[url=http://nesdev.com/bbs/viewtopic.php?t=7451&postdays=0&postorder=asc&start=30]here...[/url] tokumaru wrote:Check this thread for some discussion about assemblers. It has a poll where people voted for their favorite assemblers.
User avatar
Memblers
Site Admin
Posts: 3901
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

After getting used to using macros, expressions, and relocatable addresses, I can't imagine using a hex editor to write anything of any size. Only time I did that was when I was ripping NSFs, writing a 16 byte program or something like that is actually easier in a hex editor IMHO. :P

Dr.Floppy, I made a cart a while back that does 4-screen nametables and has 4 channels of expansion sound (on NES, with no system mods needed). You interested? I have a bunch of the boards sitting around since I never built any to sell.
Dr. Floppy
Posts: 47
Joined: Mon May 09, 2011 7:02 pm

Post by Dr. Floppy »

Memblers wrote:Dr.Floppy, I made a cart a while back that does 4-screen nametables and has 4 channels of expansion sound (on NES, with no system mods needed). You interested? I have a bunch of the boards sitting around since I never built any to sell.
Very much so!!! :D

What do you want in exchange?
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Dr. Floppy wrote:I believe this is one of the major strengths of assemblers?
IMO, the most basic thing assemblers provide that I can't imagine living without is the possibility to name variables and addresses.

Consider the following scenario: You have a functional program with a subroutine you use a lot. Say you find a bug in a piece of code that comes before this subroutine, and to fix the bug you have to make the code 1 byte longer, meaning that the subroutine I mentioned before has to be pushed 1 byte forward. If you use this subroutine 20 times throughout your program, you'll have to remember and find them all to change the address that comes after the JSR instruction. Forget one and your program might crash.

The program with hex edited programs is that they are not maintainable at all. If you need to make any change, it's hell. You have to practically check and rewrite the whole program to make even the smallest change.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Dr. Floppy wrote:...with 4-screen mirroring, allowing for artifact-free diagonal scrolling...
Actually, there are a number of ways to achieve artifact-free 8-way scrolling without 4-screen mirroring, even without the aid of mappers. All you have to do is mask out the artifacts, either with timed code (vertical mirroring) or at the expense of a few sprites (horizontal mirroring).
Dr. Floppy
Posts: 47
Joined: Mon May 09, 2011 7:02 pm

Post by Dr. Floppy »

tokumaru wrote:
Dr. Floppy wrote:...with 4-screen mirroring, allowing for artifact-free diagonal scrolling...
Actually, there are a number of ways to achieve artifact-free 8-way scrolling without 4-screen mirroring, even without the aid of mappers. All you have to do is mask out the artifacts, either with timed code (vertical mirroring) or at the expense of a few sprites (horizontal mirroring).
True, true. I've also heard rumors that diagonal mirroring would allow for artifact-free eight-way scrolling (although definitive proof remains elusive).

Still, I can't be the only one who yearns for a day when we don't have to perform such logistical gymnastics / sprite trade-offs?
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Genesis does

Post by tepples »

Diagonal mirroring would have a tiny artifact in all four corners, which is still better than an artifact spanning an entire side.
Dr. Floppy wrote:Still, I can't be the only one who yearns for a day when we don't have to perform such logistical gymnastics / sprite trade-offs?
That day arrived in 1988 when the Mega Drive came out.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

I think you mean when the PC-Engine came out in 1987.
Post Reply