| |||
Views: 88,314,337 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 03-28-24 10:09 PM |
|
Guest: Register | Login |
Main - Posts by Trax |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 692/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
My opinion on that matter is that the idea of dividing by zero makes the operation not a division anymore, so I would say the answer cannot possibly be infinity. If you divide by zero, you don't really divide. For example, you have, say, a pie in front of you. You have to divide by zero so you do... nothing. This way there is no answer because no operation was made... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 693/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Ha, that's funny you mention the thread and bumped it, because I actually have some time on hand to program and I did made some progress with the editor. The indoor levels are a pain because so many things are just different from normal scrolling ones. If things go smoothly, I may be able to get the second level hacked to the max soon, thus a new demo...
There's a thread for the editor Red Falcon on the forum too, so news about it will be posted there... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 694/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Okay, I got some time to work on Red Falcon again. Most of the data for indoor levels is now fully cracked, so it can be implemented to a usable state. I also found enemy cycles (the green punk guys), which will be edited in a separate section in the same window. A little screenshot:
Not everything works perfectly, but at least objects are displayed and enemy info seems correct as well. The little icon in the top-left corner is for rollers activation. Its location is not important, it just needs to be there to activate the rollers, and they go on on their own, with a predefined pattern. There are two types of rollers patterns, each one have a different object code (19 and 1A), but it seems the type used in Base I cannot be used in Base II and vice-versa. The enemy info labels (top-right) are not correct either, because they are still set for scrolling levels. This is an easy fix. The first row is for what I call section header. Four bytes that define things about the room. I don't know everything about them, only that the first byte is the number of cores to destroy to advance to next room. And by observation I know that the 4th byte is a kind of index for enemy cycles pointer, so normally, 0 for Base I and 1 for Base II. Logically, if you wanted to have another indoor level in a hack, you could possibly put 2 (and 3, so on...) in there, but you'd have to extend the table that refers to the pointer to the enemy cycles data, which will probably be possible within the editor eventually. Or simply set it to 0 or 1 and you'd have the same enemy cycles as Base I or Base II... The second row contain info for the currently selected enemy, just like other levels. In this order, you have X Position, Y Position, Enemy Type and Enemy Attributes. That last byte is different depending on the enemy type. Wall cannons have no attributes. Cores have 3: delay before deployment, plating and big core... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 695/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Ergo, calmos, it's just rambling on a theoretical problem...
When you divide by one, you take the entire pie with you, and you eat it... There is an operation... Dammit, RT-55J, we were comfortable and you throw vinegar in the pot again... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 696/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Okay, out of the blue, I wanted to check Startropics and try to find some data, but I can't hack anything. Any byte I modify causes the game to become unusable. There's no sound and I can't create nor load a saved game. Is it because there's a protection scheme in the ROM? Or is it just my emulator?
Any idea about that? |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 698/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Is it really necessary to show everything from the beginning when you create a video demo?
Why not just start the video when Mario enters the stage instead of going through the outside and castle? |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 699/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
More NES hacks.
Period. |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 700/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
So what's the point exactly? |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 701/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
I'm not sure when I'll get it out since my free time is quite limited again. The point I reached in coding let me edit and save the first level, but I didn't mind saving everything, because my goal up to that point was to release a one-level demo. So the data was simply saved over the rest, with no regard to what was replaced. But after I can do something neat and safe with indoor levels, most of the hard work will be done...
If anyone want an unofficial beta, I could send you a compiled copy of my editor as it is currently coded, but remember that you need Mac OS X (10.4 or later)... Vertical levels may need some tweakings, but they are basically like horizontal levels, only with screens stacked. So if we ignore little hard-coded details (which I didn't decode completely yet), any level should be made vertical or horizontal easily. But transforming an outdoor level to indoor (and vice-versa) may be a little more tricky, although not impossible either... Contra is a 128KB ROM that uses Mapper 1, i.e. MMC1. In that regard, there is, theoretically, a lot of potential with expansion, but adding banks to a ROM is something very tricky that needs a deep understading of bank switching and other details... If we put ROM expansion aside, the only potential is the unused space. Most of the time, Banks 0 and 7 are loaded during gameplay. Bank 0 has 0x295 bytes of unused space, and Bank 7 has 0x5EE. Bank 2, which contains Level Data and Enemy Data, has 0x2C4 bytes of unused space. Enemy cycles data for indoor levels are stored in Bank 0... By the way, wall cannons do have attributes. While disassembling Bank 0, I found that the last two bits of the attributes byte determine the cannon's rate of fire. The 4-byte table can be edited at will, so you can make the cannon shoot ultra-fast if you want... SMKDan, if you need anything about Contra, as I said many times, I'm ready to give any information needed. I try to insert as much comments as possible in my source code (although many would find there's not enough) as well as in disassemblies of the ROMs I work on. My coding is not always clean, but I can explain everything. Just ask... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 702/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
I put one in the bench vise a long time ago... Lots of fun...
I think it was Goonies 2... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 703/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
If you want to "unlock" things, it follows that you have to save somehow. While making a game savable is not impossible, it brings up other problems, like what memory spots you're going to use for new items and other variables. You need memory bytes that are sure to be never used, which means you need to know virtually all the memory usage of the game. Quite a job... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 704/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
MarioFan, being enthusiasm is a good thing, and your ideas are cool, but ASM is not a trivial thing...
And not everyone is as skilled as Dark Dhaiz... Let alone with Mario 3... What you're aiming for needs several things all at once... You need good knowledge of ASM... PLUS, very deep knowledge of the specific ROM... PLUS, deep knowledge of how the NES works... PLUS, some free time... PLUS, motivation... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 705/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
It's a pity to see such hardware sitting there, while nothing of it probably won't be used to its full potential anytime soon... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 706/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
We had our third day with temperatures around -28 outside, including one fairly windy day...
Everytime I have to step outside more than 5 minutes, I feel like my organism is not operating correctly... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 707/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
MarioFan0, you should learn ASM first, learn the Opcodes, what they do, how the hexadecimal values translate into the game actually working, then learn how the NES system works, like IO ports, sound channels, controller input, CPU memmory, PPU memory, table names, sprites, palettes. And of course, learn how mappers work. It is possible to make a game use another mapper for expansion purposes, but it's not trivial...
When you know all of this, you'll be able to see what is easy to implement and what is not. And why... If I was into Mario 3, I would probably try stuff, but I'm more interested into other games for now. It doesn't mean I won't ever disassemble the Mario 3 ROM. Imagine you could have all the data in existence about Mario 3, but you don't know how to interpret the contents? Can you read disassembled 6502 code? Can you make sense of it? Most people here learn by themselves, by reading docs and trial-and-error. If you have relevant questions about it, you can ask here, or visit IRC channels related to ROM Hacking... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 708/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Seems like Microsoft is getting better at imitating Mac OS X... As usual...
Oh, and transparency is supposed to be a revolution? |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 709/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
What is that app? A tabbed version of TextEdit? |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 711/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
The Laptop Gun from Perfect Dark... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 712/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
I've been thinking about programming something like a music editor for a while, but it's nothing more than a vague idea ligering in my mind for now. It would probably need almost as many routines as there are games, unless music code is similar betwen games, which I doubt...
Many games have music with big chunks of hard-coded peculiarities, which makes an universal editor even less imaginable. But still... |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 714/1145 EXP: 3028744 Next: 138370 Since: 07-06-07 From: Québec Last post: 3598 days Last view: 2850 days |
Okay, I'm currently working on some serious ASM hacking, and I need a few bytes to store extra variables. Are there any tricks to make sure a memory spot is never used? |
Main - Posts by Trax |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 139, rows: 171/171, time: 0.227 seconds. |