possible to convert TLSROM to TLROM?

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
coinheaven
Posts: 280
Joined: Sat Sep 17, 2005 12:26 pm

possible to convert TLSROM to TLROM?

Post by coinheaven »

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!
3gengames
Formerly 65024U
Posts: 2284
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

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.
coinheaven
Posts: 280
Joined: Sat Sep 17, 2005 12:26 pm

Post by coinheaven »

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
User avatar
infiniteneslives
Posts: 2104
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Post by infiniteneslives »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

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.
coinheaven
Posts: 280
Joined: Sat Sep 17, 2005 12:26 pm

Post by coinheaven »

thanks for the help, ill give this a try!
User avatar
Dwedit
Posts: 4924
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

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.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

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.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

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.
User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re:

Post by FARID »

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?
Attachments
TLSROM.PNG
TLROM.PNG
User avatar
HVC-Man
Posts: 46
Joined: Wed Nov 25, 2015 7:54 pm

Re: possible to convert TLSROM to TLROM?

Post by HVC-Man »

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:

Image
Image
Image
User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: possible to convert TLSROM to TLROM?

Post by FARID »

@ 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/MMC3
http://wiki.nesdev.com/w/index.php/INES_Mapper_118

Does this work?

*************************************

Running TLSROM game on TLROM PCB :

replace :

Code: Select all

STA $8001
with :

Code: Select all

STA $8001
ROL A
ROL A
STA $A000
ROR A
ROR A
*************************************

Running TLROM game on TLSROM PCB :

repace :

Code: Select all

STA $A000
with :

Code: Select all

STA $A000
ROR A
ROR A
STA $8001
ROL A
ROL A
*************************************

Or there is something more than that?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: possible to convert TLSROM to TLROM?

Post by lidnariq »

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.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: possible to convert TLSROM to TLROM?

Post by tepples »

Where "fun" means single screen, diagonal, and L-shaped. (Players of Lumines will understand why.)
Post Reply