Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Would ROM Hacks Work On the Real Deal?
  
User name:
Password:
Reply:
 

UserPost
d4s
Posts: 243/325
Originally posted by KawaiiImoto-e
the biggest problem is just the clockspeed, be it on SNES or NES and the Cartridge sizes (NES <-> Famicom, US SNES <-> PAL & SFamicom)

For NES, there exist tutorials on the net to install a 50Hz / 60Hz switch.


i think you are talking about the lockout chip disable mod.
that one has nothing to do with video modes.

Originally posted by KawaiiImoto-e

the other problem is additional hardware in the carts themselves, Super Mario Bros. 3 uses a additional MMC chip, also do all games over 32KB. (On Game Boy also).

SNES also has various extra chips, the most famous being the SFX Chip in Star Fox and Yoshi's Island.


you'll have to find an appropriate donor cart if you want to build a cart yourself, thats right.
however, its not that hard to do super fx or dsp carts.
sdd1,sa1 and spc7110 carts are lots of work, and donor carts arent always readily available.
its not impossible, though.

KawaiiImoto-e
Posts: 877/1068
the biggest problem is just the clockspeed, be it on SNES or NES and the Cartridge sizes (NES <-> Famicom, US SNES <-> PAL & SFamicom)

For NES, there exist tutorials on the net to install a 50Hz / 60Hz switch.

the other problem is additional hardware in the carts themselves, Super Mario Bros. 3 uses a additional MMC chip, also do all games over 32KB. (On Game Boy also).

SNES also has various extra chips, the most famous being the SFX Chip in Star Fox and Yoshi's Island.
d4s
Posts: 242/325
Originally posted by HyperHacker
Hm, are the PPUs compatible? Could you rip one out of a PAL NES, put it in an NTSC one and have a 50hz NTSC system? If so it shouldn't be especially hard to put both in at once, with a switch on the power pins to select one; you wouldn't be able to switch in-game but it'd still be convenient.


you can exchange ppus, yes.
its even possible to exchange ppus with an arcade system, thus having a nes with true rgb output.(the french nes doesnt count)

its not possible to switch them via their power pins, no.
it could be possible to switch between 2 ppus by using their clock pins.
i havent tried that, though.
HyperLamer
Posts: 5385/8210
Hm, are the PPUs compatible? Could you rip one out of a PAL NES, put it in an NTSC one and have a 50hz NTSC system? If so it shouldn't be especially hard to put both in at once, with a switch on the power pins to select one; you wouldn't be able to switch in-game but it'd still be convenient.
d4s
Posts: 241/325
Originally posted by HyperHacker
I think SNES (or possibly NES) can easily be modded to have a 50/60hz switch..


the snes can easily be modified to output either 50 or 60hz, thats a know fact.
im talking about nes, though.
theres no way to get 50hz video output from a ntsc nes/fc or vice versa as they use different ppus.

nesclones-on-a-chip(newer ones) have a pin on the cpu that determines the video mode so they are actually pretty handy.
due to the chip being a gloptop, its usually hard to access the pin if the designers of the pcb didnt route it to a solder bridge or a jumper.

Originally posted by beneficii

How about an original homebrew game written for the old Nintendo (like my BKG graphics test) whose author went to painstaking lengths to do everything right? What's the chance of that working?


this has nothing to do with chance or luck.
no matter how hard you try, sometimes you just overlook something by accident.
all im saying is: you wont know until you test it.


[edit]
just tested out bmfs mario odyssey.
applying my fastrom patch before or after bmfs patch didnt help much.
the game usually crashes 3-4 seconds after entering a level.
it works a little bit better (longer) in pal mode (because pal 50hz has longer vblanks), but not very good either, maybe 6 or 7 seconds.
if you need advice on how to optimize your nmi handler, feel free to pm me.
however, i dont feel like wading through all the code without knowing whats yours and whats not, so youll have to tell me first where you made changes.
vram uploads are the crucial points here, of course.
HyperLamer
Posts: 5373/8210
If it's programmed right, it should.
beneficii
Posts: 234/567
Originally posted by HyperHacker
I think SNES (or possibly NES) can easily be modded to have a 50/60hz switch.

Also, if it was purely ASM hack count, well... any ROM you edit in Lunar Magic will have more ASM hacks than a lot of complete hacks of other games. It's not quantity, it's quality. You could have 5898345 changes to the original code but if your new code makes sure to do things right, it'll work fine on a real SNES. And even one ASM hack (or for that matter, buggy original code) can cause the game to crash on a real SNES (or even an emulator if they were more accurate and followed the restrictions) if done wrong.


How about an original homebrew game written for the old Nintendo (like my BKG graphics test) whose author went to painstaking lengths to do everything right? What's the chance of that working?
HyperLamer
Posts: 5366/8210
I think SNES (or possibly NES) can easily be modded to have a 50/60hz switch.

Also, if it was purely ASM hack count, well... any ROM you edit in Lunar Magic will have more ASM hacks than a lot of complete hacks of other games. It's not quantity, it's quality. You could have 5898345 changes to the original code but if your new code makes sure to do things right, it'll work fine on a real SNES. And even one ASM hack (or for that matter, buggy original code) can cause the game to crash on a real SNES (or even an emulator if they were more accurate and followed the restrictions) if done wrong.
d4s
Posts: 240/325
Originally posted by BMF54123
I have a Legend of the Blob Bros. 2 cartridge that works 100% properly on a real NES. However, that hack has only a few very small ASM modifications, as I was just learning it at the time.

SMO, on the other hand...bleh. I'd like to find out exactly what part of my code causes it to crash a real SNES (little help, d4s? blackhole?). I kinda doubt it's the palette-based ASM code, since I'm pretty sure I placed it outside the NMI routines. The HDMA code, on the other hand...that could very well be an issue. Being the SNES n00b that I am, I think I stuck that in NMI because its previous location was causing glitches whenever the game slowed down. Do some of Fu's hacks (animated tiles and whatnot) run during VBlank as well?


snes n00b?
i'd never call anybody who can drive the 65816 a snes noob
what you did was very cool, its not your fault its kinda hard to get stuff running on the snes.
i can do in-depth testing on your hack if you like.
this is what i remember from my short tests some months ago:

your hack crashes right away at the title screen.
after adding my fastrom patch, it passes the title screen and you can play fine until you collect a coin.

the most likely reason is that you exceed the available vblank time.
i dont know yet about the coin thingie.

fus hacks can run out of vblank time aswell but they dont do that per s
blackhole89
Posts: 764/971
@BMF, I'll have a look at it (Snes9x's source is freely available, so it shouldn't be too tough to recode it in order to make it follow the SNES hardware limitations strictly). Can't ensure you I actually find the issue though.

@DD, added in a missing period in your post. Also, there is no direct influence of the amount of ASM hacks on whether the hack runs on a real SNES... after all, an SNES game could be considered an ASM-hacked nothing ... but it still can do so indirectly if you, for instance, exceed the time given for the execution of screen-modifying code (i.e. Vblank).
DahrkDaiz
Posts: 693/885
The amount of ASM hacks has no bearing on whether a hack will work on the real hardware or not. SMB3DX ASM modifications far surpass Mario Adventure's ASM modifcations, yet, SMB3DX would work on the real thing and Mario Adventure would not. Mario Adventure breaks a few rules that a few emulators don't follow but SMB3DX follows all the rules.
BMF98567
Posts: 953/1261
I have a Legend of the Blob Bros. 2 cartridge that works 100% properly on a real NES. However, that hack has only a few very small ASM modifications, as I was just learning it at the time.

SMO, on the other hand...bleh. I'd like to find out exactly what part of my code causes it to crash a real SNES (little help, d4s? blackhole?). I kinda doubt it's the palette-based ASM code, since I'm pretty sure I placed it outside the NMI routines. The HDMA code, on the other hand...that could very well be an issue. Being the SNES n00b that I am, I think I stuck that in NMI because its previous location was causing glitches whenever the game slowed down. Do some of Fu's hacks (animated tiles and whatnot) run during VBlank as well?
Sukasa
Posts: 1067/1981
SMO was hardcoded timing-wise to the NTSC timings. That's why the PAL SNES won't work with it.
KawaiiImoto-e
Posts: 825/1068
Many Mario World Hacks work on a Real SNES.
Super Demo World TLC is limited cos of its size, Marios O. works on a NTSC SNES, crashes on the titlescreen on a PAL SNES. (According to BMF it worked on a NTSC SNES, according to me not on a PAL SNES).
redrum
Posts: 6/12
i heard about a few versions of my works converted into NES>GBA compilations...

the romdump i received didnt turn out very stable, but from what i hear it works with the hardware
beneficii
Posts: 226/567
I'm curious, then. Would my homebrew ROM work on the real deal?

http://nesdev.parodius.com/bkg.zip

Does anybody have a way of testing it? In every emulator, btw, I've tested it out on it works.

DahrkDaiz's SMB3DX works on LoopyNES, Nintendulator (which is supposed to be the most accurate), etc.

The ASM hack I posted for the starting spaces in SMB3 (and which will be implemented in my editor) I think takes place when the screen is off, so it probably would work on the real deal.

d4s,

I know Memblers. I remember we worked on the NESDEVPROJECT together about a year and a half ago before FrenziedPanda's lack of capable leadership crashed it. Perhaps I can ask him about testing it.

From your story, it seems like you're capable of testing out NES roms. Might you test out my bkg? It requires no mapper and it works on every emulator.
Dwedit
Posts: 66/92
The translation of "100 World Story" fails on the newer more accurate emulators. At one of the screens at the main menu, the game is guaranteed to crash. In fact, during the intro animation at one point, the translator puts 9 sprites on the screen next to each other.
d4s
Posts: 239/325
romhacks that include assembler modifications but were not tested on a snes are very likely to fail on the real thing, especially if the programmer isnt aware of the emulators limitations.
crucial points are, as mentioned above, vram access timing and spc700<->65816 synchronisation.

however, there are very few people(maybe 2 to 4) around here that can actually code the spc (write a music player or anything like that), so the latter one isnt too important here.

sram mapping is another minor issue that ive seen faulty implemented.

cant tell you much about nes, but i made a final fantasy 3 cart with neills english patch once and it worked like a charm on my nes.
to be honest, i dont like nes very much, though.


to actually run a hacked rom on either a snes or nes, you'd have to either use a backup unit/flashcart (not available for nes yet. memblers will have his nes flashcart for sale around juli, though.) or build a cart yourself.
you can find instructions for that on my page: http://snesdev.romhack.de
blackhole89
Posts: 762/971
SMO ran on both Snes9x and ZSNES, I believe... although I didn't test the latter much

What I know for certain is that ZSNES is being semi-strict about VRAM upload outside Vblank. Every writes that occur outside it happen to write a set byte instead of the one actually to be written to it. That makes my SMW RPG code fail on ZSNES
beneficii
Posts: 226/567
Originally posted by blackhole89
Well, theoretically, they all should. A problem is though that most emulators out there don't have the limitations a real console has (e.g. SNES9x and writing to VRAM during vertical blank only), and the ROM hackers don't even notice it unless they come to try it out on "the real thing". A good example for this is BMF's latest SMO demo, which caused an ... erm ... "vertical blank overrun", i.e. screen-modifying things not getting done before the end of VBlank, through a way too long NMI (non maskable interrupt) routine (which, I believe, was caused by his palette-based ASM hack launcher).


Right. You only have a certain amount of time before the NMI ends and you will want to have RTI'd by then. I personally wish emulators would at least give you the choice of being very strict. (From what I understand, LoopyNES is the strictest NES emulator, while others like NESticle aren't very strict at all.) Then again, they wouldn't be able to catch everything. Perhaps I can try DahrkDaiz's latest SMB3 hack in some different emulators? I'm unable to test it out on the real deal.

Which emulators did BMF's latest SMO (what is that?) demo run and were there any on which it didn't?
This is a long thread. Click here to view it.
Acmlm's Board - I2 Archive - Rom Hacking - Would ROM Hacks Work On the Real Deal?


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.003 seconds.