11 March 2016 - Forum Rules
Started by Me_Dave, May 14, 2023, 11:37:12 PM
Quote from: FAST6191 on May 15, 2023, 12:58:19 AMGiven the ines header is a user created concept rather than anything baked into the ROM/hardware itself I am not surprised little notes it/respects it.Not sure how such things are done in those games, or generally. A casual scan on the nesdev wiki did not reveal much in the way of magic bits like some other systems have, nor anything in the seldom used Nintendo header, so whether you do some kind of cycle timing https://www.nesdev.org/wiki/Cycle_reference_chart or there is something more subtle during boot I don't know.I can see a path to something automated -- combine some mapper detection and subvert the first instructions to be a standalone program if necessary you insert into some free space.
Quote from: SMB2J-2Q on May 15, 2023, 12:56:29 AMI see your point.For example, the very first PAL releases of Super Mario Bros. released in 1987 were exactly the same as the standard NTSC releases and so, consequently, run slower with the PAL NES consoles. A true PAL version of the SMB cart was released in 1990, also with numerous bug fixes included, but not everything was 100 percent optimized (for example, the soundtrack sounded faster due to limitations associated with pitch adjustment/note durations in the conversion from NTSC to PAL).~Ben
Quote from: SMB2J-2Q on May 15, 2023, 01:29:53 AMHe should also refer to these links:https://www.nesdev.org/wiki/Detect_TV_systemhttps://retrocomputing.stackexchange.com/questions/20045/did-the-pal-version-of-super-mario-bros-on-the-nes-really-have-faster-music-an~Ben
Quote from: shanem on May 15, 2023, 03:46:10 AMSince PAL runs at 50FPS, you basically have to edit a bunch of timing (through code) and things like SFX data. There are no specific bits to magically convert a game from 60FPS to 50FPS on NES to make it a true, PAL-only title. Developers across regions just edited and recoded their proprietary ASM files for their specific region according to their hardware.Make sense?
Quote from: Bavi_H on May 15, 2023, 12:34:14 PMTerminology note: In this post I use the word "region" to indicate NTSC, PAL, or Dendy because that is what my emulators' menus call it, but it might be more accurate to call it something else like "TV system". Be aware that the different lockout chips the NES uses are a different "region" concept that don't directly correspond to NTSC/PAL/Dendy.Getting the emulator to run as a different regionSome emulators do not use the region flag in the NES file header to change the region at all. If that's the case, when you want to try another region you may have to add a filename tag or change the selected region in the menu, see below.Your emulator might ignore the region flag in the NES file header if it thinks it knows better. Because NES files often have incorrect headers, emulators often calculate a checksum of the NES file without the header, then refer to an internal list of checksums of common games to determine the correct header settings to use. In Mesen 0.9.9 you can see if this happened as follows: After you open a game, go to the Tools menu and choose the Log Window command. At the bottom of the Log Window look for the line "[DB] Database info will be used instead of file header."Filename tag: Some emulators will look for a (E) or (U) or (J) in the filename to indicate what region to use. If it sees (E) for Europe it will use PAL, if it sees (U) for USA or (J) for Japan it will use NTSC.Menu setting: Your emulator probably has a menu item to run the emulator as a specific region. You can change the setting and reset the game to see how the current game would run on another region. This would be like plugging a US cartridge into a European NES with its lockout chip disabled, for example.In FCEUX 2.6.4, go to the Config menu, Region submenu, then select NTSC, PAL, or Dendy.In Mesen 0.9.9, go to the Options menu, Region submenu, then select Auto, NTSC, PAL, or Dendy.When you change this setting, the emulator will probably switch the region immediately. Some modern games will detect what system is being used during start up and adjust itself, so after changing the region setting you might want to reset the game and see if it behaves differently.Developing a game for a different regionThe different region consoles have both a different CPU clock rate and a different video frame rate. In the NESdev Wiki page Cycle reference chart, look at the rows for "CPU clock speed" and "Frame rate (vertical scan rate)".On the NESdev Wiki page "Detect TV system", there's a section at the bottom called What to change that provides an overview of timing values a developer should consider adjusting for a different region. These various time-based values are based on either the CPU clock rate or on the video frame rate, such as:valuebased onmusic pitchesCPU clocksmusic note durations video framesobject velocitiesvideo frames (for example, velocity values in subpixels per frame)Adjusting these time-based values for a different region console usually involves compromises. For example, because of precision and rounding when doing conversions, the object velocities and accelerations will probably feel slightly different on NTSC and PAL versions of a game, no matter how much work the developer puts into converting them.
Page created in 0.234 seconds with 20 queries.