Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
Acmlm's Board - I2 Archive - - Posts by HyperLamer |
User | Post | ||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3820/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Originally posted by Rockman Looks quite neat. Awesome. Looks like it came right out of Metroid. |
|||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3821/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
What especially helps is to know the game and moreso system. Even if you know (or can guess at) 65816, this probably doesn't mean a lot to you: LDA $0DBF BEQ x JSR $00F5B7 x: RTS However, if you know that in Super Mario World, $0DBF holds your coins and $00F5B7 is the subroutine for killing Mario, it's clear enough what this would do (kill you if you have any coins). Not that you'll find this code in the actual SMW ROM, but yeah. |
|||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3822/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Yes, TrackDes can't edit start points or AI courses, so you kinda have to stick to the original starting areas and either use similar course designs or live with not having working AI. Bouche, any plans to make a new version, or god forbid, the MKSC version you said you were working on? |
|||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3823/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Given that you were using FCEUXD, I assume you know ASM... if not, you're gonna need it. What you need to do is find the graphics-loading routine. Your best bet would be to look for a pointer to a set of graphics; chances are, these will be in a pointer table. Now as I recall the game already has a few different graphic sets to choose from, so to add more, you just need to add entries to the table. The problem, of course, is that you'll need to move the table to do so. If you can find free space in that bank, great. Otherwise you'll have to move the table to another bank, and in its place, put some code to jump into that bank and read it from there. Once you've done this, you should be able to specify higher tileset numbers in the level header. Of course you might find that the header only reserves enough bits for this to specify the original number of entries (eg: Super Mario World has 16 graphic sets, and only 4 bits for the graphic set number), which will require some working around. If it's just gonna be for your hack, you could always code the pointers right into the ASM (for level 1, use this, for level 2, use that, etc); otherwise there are various methods you might want to look at. Lunar Magic uses unused level objects; you might also look at rewriting the header format and maybe getting rid of some less useful fields or just adding a byte. | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3824/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Decimal 0DBF? It's hex, the $ indicates that. # marks a constant in 65816. (Eg: LDA $200 means get a value from address 0x200, LDA #$200 means set A to 0x200, and LDA #200 means set A to 200 (0xC8)). Other than that, that's pretty much the idea. | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3825/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Originally posted by Geiger I don't recall the specific code, but I know I had added a code to the cheat list (which contained 4 codes, including that one), and every time I tried to remove it, it would crash after I closed the dialog. I had to remove it in ZSnes instead. I do recall that I didn't give it a name, and I'm pretty sure it started with 00. (It was a PAR code, using Super Mario World.) Mathonnapkins: They do when they're using the 'cheat' feature to activate modified or unused features or manipulate memory for debugging purposes. Also, I think I managed to crash it once by putting in a negative range for the disassembly (or possibly memory dump). I'm not entirely sure I actually did that, since I closed the dialog before I could tell, but I think I accidentally entered an end address lower than the start address, and it crashed. I'll try it next time I use it. |
|||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3826/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
I think it's got a lot to do with their time management, actually. I could probably do something like that, judging by the screenshots, but I would never finish it. | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3827/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
I use/know a few different methods. Most of them are already mentioned here, but what the hell. Corruption: Usually using a program like Corruptster. Corrupt a section of the ROM (usually one bank for big ones, a few hundred bytes for smaller ones) and see what happens. If it's not what you want, restore it and try again. It's usually better to set all the bytes to a specific value rather than random, because it's reproducible and easier to notice. For example if you set everything to 0x20 and corrupt the graphics, it's obvious because everything turns into lines. If you use random data you just see garbage, and there's no telling why - maybe you corrupted the graphics, changed pointers, broke ASM etc. Mapping: Works best for small and/or commonly-hacked ROMs. Map out everything you do know (graphics, code, etc) and look at the rest. A debugger that can tell you what areas are executed can help with this. Looking for patterns: Just take a look at stuff in hex and see if it looks like level data. This works best with uncompressed tile maps; you can usually almost see the level itself in the hex. Similarly you might try searching for patterns you know are probably in it, such as strings of tile numbers or coordinates. Tip: They're often found at the beginning of a bank. Tracing: Look for references to the level data in RAM, known data in ROM (maybe you know where one level is, but need to find others and/or their pointers), or other level-related things, and trace through the code. If you can figure out how it tells where to get its data from, bam, you got it. Whether you figure out the format through more tracing or just trying stuff is up to you. |
|||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3828/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
You should do it without LM open. I'm not sure if it'd work with it open. | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3829/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
A bit of ASM I suppose. The question is, can you edit them, or are they just like modifications to the existing data? | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3830/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
You sure? If you change it to like 01 does at least one second skip really fast? I'll look at that next time I get some damn spare time... | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3831/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Maybe, maybe not, but it does anger the spam gods. Originally posted by Escherial Er, I'm pretty sure you will have to fix the stack if you're calling in 16-bit mode and returning in 8-bit. |
|||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3832/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Er, what I meant was does it just write new tile data, or does it modify the old data? If it's writing new stuff, it'd be easy to modify. | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3833/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
The big problem is that boost blocks don't work quite how you'd expect because of SMW's physics. If you shoot Mario sideways really fast, he doesn't fly off sideways, he plops fast. | |||||||||||||||||||||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3834/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||||||||||||||||||||
Which would also break layer 3 water and/or backgrounds. And no, SuperFX wouldn't magically fix that, but someone asked about it. It's not like a cartridge, you just have to tell the emulator "hey, I need a SuperFX here!" and it's there. (Be nice if I could figure out how to do something cool with it, since SMW doesn't seem to have any problems with it being there. ) | |||||||||||||||||||||
(restricted)
HyperLamer |
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3836/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours
|
Originally posted by Kyouji Craw There's a difference? I want an arcade with Nintendo games.
HyperLamer |
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3837/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours
|
Yeah, but with that you have to go back to the parent directory and right-click it. It'd be much nicer if you could just right-click in the file list itself. Plus I tend to just keep one DOS box open all the time. |
HyperLamer |
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3838/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours
|
Theoretically, you should be able to have more (like 2^32 times more ) with a 64-bit CPU, but I'm not sure if Windows supports it. A program using 4GB of RAM is a pretty crazy idea for now anyway. |
And Notepad can open large files, yes, but have you ever tried it? It takes forever and runs really slow.
HyperLamer |
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 3839/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours
|
Originally posted by Kitten Yiffer The problem is people that expect these kinds of setups to be secure. IE can still be exploited with all the most advanced and restrictive security options (and really, at that level it's not much use anyway). Programs love to slip it in when you're not looking despite how trustworthy they seem. And remember those worms a while back that kept shutting down the systems? They could get in just by pinging you; you didn't need to do anything except turn your computer on and connect to the Internet. There are always security holes like this, especially in Windows. |
Acmlm's Board - I2 Archive - - Posts by HyperLamer |