anyone know if it possible to convert a TLSROM to TLROM? The TLSROM is found in Play Action Football:
http://bootgod.dyndns.org:7777/profile.php?id=49
i know it is possible to convert a TKROM to TKSROM, so thought this could be done. thanks!
What's the difference?
Apparent mirroring for some reason....I dunno. Of course it's possible some way, and possibly easy since it's just the mirroring, but I am not sure about it.
TLROM is one of the most common boards there are, why would you want to go through the trouble of modifying a TLSROM?
Anyway, I'm fairly sure it's possible. You'd just have to reroute a couple of traces (plus the ones you have to rewire because of the FlashROM/EPROM you're gonna use, which don't have the same pinout as Nintendo's ROMs). Just connect CHR A17 from the MMC3 to the CHR chip and the mirroring control (which is apparently unused) to CIRAM A10.
tokumaru wrote:
TLROM is one of the most common boards there are, why would you want to go through the trouble of modifying a TLSROM?
Anyway, I'm fairly sure it's possible. You'd just have to reroute a couple of traces (plus the ones you have to rewire because of the FlashROM/EPROM you're gonna use, which don't have the same pinout as Nintendo's ROMs). Just connect CHR A17 from the MMC3 to the CHR chip and the mirroring control (which is apparently unused) to CIRAM A10.
i have an excess of them and want to use them as TLROM's. just didn't want them to go to waste
Like tokumaru said it should be possible. Double check but the only thing that would really keep it from working is if you cart/NES edge connectiong that you needed and happened to be missing on the TLSROM that you actually need.
That's really the only possible deal breaker. Everything beyond that is just connections you'll either have to make or break. I'm working on drawing up the circuits for most common boards right now for another project and have plans to submit them to bootgod when I'm done to share with all.
You just need to reverse engineer the circuit. The best way I've found is to start at the NES connector edge and follow everypath the trace takes. It's probably easier to make a table of chip pin numbers vice actually drawing all the runs on a single paper.
After you do that for one board you can do the same for the other but just make note of any differences. If you're doing it already I recommend removing the rom chips atleast to make sure you find all forks in the circuit path, but it's not necessary if you're careful about it.
Then just make the necessary changes if needed. You could of course just try it first. Just directly swap roms between games or put your own rom in there with the necessary pin changes. It may very well just work.
If the difference is mirroring it should be an easy fix because they use the same mapper that's controlling the mirroring. I don't have a TLSROM on hand otherwise I'd look into it more closely for ya.
For those of you not familiar with TLSROM:
The CHR bankswitching logic of the MMC3 is still functional when PPU addresses outside of the $0000-$1FFF range (the pattern tables) are accessed. This means that the MMC3 can't tell the difference between pattern table accesses and name table accesses, so it will still control the CHR address lines according to the CHR banks that are switched even when name tables are accessed.
The TLSROM takes advantage of this behavior to allow better mirroring control than the MMC3 ordinarily offers. Instead of connecting the highest CHR address line to the CHR chip, this line is routed to the NES, where it will select which name table it should read from. The actual mirroring line that comes out of the MMC3 isn't used at all.
So, if the first pattern table ($0000-$0FFF) is divided into 4 1KB chunks, so will the name tables ($2000-$2FFF), because the MMC3 can't tell the difference. Conveniently enough, name tables (plus their respective attribute tables) are 1KB large, so by using the highest CHR bit of each of the 4 CHR chunks you can select which of the 2 name tables will be used for each of the 4 name table slots. This allows you to arrange the 2 existing name tables any way you want. you can have vertical mirroring, horizontal mirroring, single screen mirroring and even diagonal mirroring.
The disadvantage is that since you lose one address line, the largest CHR chip you can use is 128KB instead of the usual 256KB. Actually, you can still use all 256KB, but the half of the chip the tiles come from will be "tied" to the name table they're used in, which is not convenient at all in most cases.
As you can see, the difference between TLSROM and TLROM is very small. Like I said before, you just have to connect the CHR A17 to the CHR chip and cut the current connection, and also connect the unused mirroring pin to where CHR A17 was previously connected. After that, the usual modifications apply.
thanks for the help, ill give this a try!
If you're not trying to modify the board, you need to modify the game to pick banks differently, otherwise it will just use single-screen mirroring when you burn it on to the cartridge.
I think it's easier to modify the board than hack the games... but yeah, hacking them is an option. Games that divide $0000-$0FFF in 2KB chunks (as opposed to 1KB chunks) might never work properly through hacking though, since some mirroring configurations are impossible in that mode.
tokumaru wrote:
Actually, you can still use all 256KB, but the half of the chip the tiles come from will be "tied" to the name table they're used in, which is not convenient at all in most cases.
The wiki suggests that if you're doing single-screen mirroring, you can in theory reserve half the tiles for your playfield and the other half for your status bar, menu, cut scenes, etc. Then put your playfield tiles on nametable 0 and everything else on nametable 1. Sprites can go on either as space is available. But I doubt that the TLSROM board itself supports a 256 KiB CHR ROM.
In non-swapped CHR bank mode ($0000-$0FFF in 2 KiB chunks), single-screen mirroring and horizontal mirroring (vertical arrangement) are possible, just not vertical mirroring (horizontal arrangement) or L-shaped or diagonal mirroring.
tokumaru wrote:
For those of you not familiar with TLSROM:
As you can see, the difference between TLSROM and TLROM is very small. Like I said before, you just have to connect the CHR A17 to the CHR chip and cut the current connection, and also connect the unused mirroring pin to where CHR A17 was previously connected. After that, the usual modifications apply.
So is this correct?
Here...
TLSROM (mapper 118) -> TLROM (mapper 4):
Bend up MMC3 pin 12 (A17)
Bend up CHR pin 30 (A17)
Solder CHR pin 30 to MMC3 pin 12 (A17)
Solder NES pin 22 or FC pin 18 or MMC3 pad 12 (CIRAM A10) to MMC3 pin 10 (CIRAM A10)
Pics:
@ HVC-Man
Thank you
Now how about patching the game itself and converting its mapper?
I mean how to convert mapper 118 to 4 and vice versa?
considering nesdev wiki info :
http://wiki.nesdev.com/w/index.php/MMC3http://wiki.nesdev.com/w/index.php/INES_Mapper_118Does this work?
*************************************
Running TLSROM game on TLROM PCB :
replace :
Code:
STA $8001
with :
Code:
STA $8001
ROL A
ROL A
STA $A000
ROR A
ROR A
*************************************
Running TLROM game on TLSROM PCB :
repace :
Code:
STA $A000
with :
Code:
STA $A000
ROR A
ROR A
STA $8001
ROL A
ROL A
*************************************
Or there is something more than that?
You absolutely cannot run a TLSROM game on TLROM: TLSROM allows for "fun" mirroring layouts, whereas TLROM only allows for H and V layouts/mirroring.
Converting TLROM to run on TLSROM is possible, but it will be difficult to keep the game from stepping on the replacement mirroring configuration you set when it changes CHR banks.
Where "fun" means single screen, diagonal, and L-shaped. (Players of Lumines will understand why.)
lidnariq wrote:
You absolutely cannot run a TLSROM game on TLROM
I have seen mapper 118 game alongside with some other mapper 4 games inside of multicartridge :
Like this one :
http://cah4e3.shedevr.org.ru/cartsbase/JY-005.jpgTurtles Fighters --> Mapper 4
Tiny Toon II --> Mapper 4
Goal II --> Mapper 118
Chip & Dale II --> Mapper 1
So they converted other games to mapper 118?
*********************
Also in this page :
http://wiki.nesdev.com/w/index.php/INES_Mapper_118Under $8001
for mirroring there is only one bit (M) but the Mirroring configuration counts up to 5!
How it is possible?
Maybe the mirroring is controlled with 7th and 6th and 5th bits?
*********************
Also according to iNES Mappers by Mapper Number v0.6.1 by Disch
The register for mirroring in 118 is the 7th bit of $8000, while in the nesdev wiki it is $8001, so the wiki correct and Disch is wrong?
Given that JY-005 is undumped, per Санчез's
status summary, I don't think there's any reason to assume that the hardware inside is strictly TLROM or TLSROM, or even MMC3-shaped, as opposed to something else altogether.
In mapper 118 (TxSROM), the game uses the CHR banks themselves to control mirroring. This means that:
• If the game wrote to $8000 with the $80s bit clear, then:
•• Possible layouts are either 1-screen or horizontal mirroring / vertical layout (because CHR bank $0000-$07FF is the same to the MMC3 as the nametables from $2000-$27FF)
• If the game wrote to $8000 with the $80s bit set, then
•• All layouts are possible, by writing some number to the four CHR banks in R2-R5. But you still have to keep the game from stepping on your now CHR-and-NT banking registers.
FARID wrote:
I have seen mapper 118 game alongside with some other mapper 4 games inside of multicartridge :
You don't understand what is going on. You really should read what nametable mirroring is.
http://wiki.nesdev.com/w/index.php/MirroringThe only difference between Mapper 4 and 118 is the nametable mirroring. That has to do with how the 2KB SRAM inside the FC/NES is arranged with graphics data. The MMC3 is normally not capable of single screen mirroring. The TLSROM / TKSROM board gets around that by hardwiring single screen mirroring mode, as in the MMC3 has no control over that. The MMC3 normally offers software-controlled horizontal and vertical mirroring.
This is easy to adjust in a pirate mapper, all that's needed is expanding upon the original MMC3 by adding that software control for single screen mirroring or the plain H/V mirroring.
In software, it's like opening a can of worms. Nametable mirroring is a HUGE part of how a game appears on the TV screen, namely ones that scroll or have things like sections of the screen devoted to health bars and the like. You can't easily make a H/V mirroring game work in single screen mirroring mode or vice versa. It's just not possible without a massive hacking effort. Just hack the board and call it a day.
HVC-Man wrote:
The TLSROM / TKSROM board gets around that by hardwiring single screen mirroring mode, as in the MMC3 has no control over that.
Er. Are you thinking of mapper 206 = Namco 108?
I know of
precisely one game that uses hardwired single screen mirroring, and its mapper is not MMC3-shaped.
Allow me to re-phrase.
http://wiki.nesdev.com/w/index.php/INES_Mapper_118" The CHR A17 line connects directly to CIRAM A10 line instead of MMC3's CIRAM A10 output, to compensate for the MMC3's lack of single-screen mirroring."
That sounds to me like the MMC3 doesn't have control over the mirroring. Sorry if my use of the word "hardwired" was confusing. I didn't realize it meant tying to 5v or gnd.