It is currently Sat Aug 24, 2019 4:04 am

All times are UTC - 7 hours



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.



Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Thu Apr 21, 2016 9:41 am 
Offline

Joined: Fri Jul 04, 2014 2:34 pm
Posts: 343
Just stumbled across this nice game, however, it uses a mapper that is somewhat similar to MMC3 but then again it isn't, depending if the O mode bit is set.

Is there a way to make this game onto a cart? If so, any help appreciated.


Top
 Profile  
 
PostPosted: Thu Apr 21, 2016 10:14 am 
Offline

Joined: Mon Jan 23, 2012 11:27 pm
Posts: 168
I think you're going to need a mapper 115 board or a rom hack. Should be pretty easy to adapt the rom to standard mmc3 but it won't work as is due to the chr differences and the 16K prg paging if that's used.


Top
 Profile  
 
PostPosted: Thu Apr 21, 2016 10:24 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8537
Location: Seattle
So, looking at the hardware description on the wiki, you should be able to start with an MMC3 board and add:

* One half of a 74'139 converting the MMC3's PRG RAM +CE (or /WE, or something) into /WR6000 and /WR6001
- I'm assuming that the game writes to the MMC3 PRG RAM protection register at $A001 first. Otherwise you'll need another IC (such as a 74'20) to decode the correct memory region.

* Two latches for the two registers. It could be one half of a 74'74 for latching 6001Q0; the other half of the 74'74 would latch 6000Q7, and another 4-bit latch latches 6000Q0 through 6000Q3.
- 6001Q0 has to go to CHR ROM A18, which is why you can't just use a ROM hack.

* A 74'157153 to select either MMC3 PRG ROM A14...A17 or 6000Q0...Q3 to be routed to actual PRG ROM A14...A17

* The other half of the 74'139 to convert 6000Q7 and CPU A14 into the S signal on the 74'157153


Last edited by lidnariq on Thu Apr 21, 2016 11:27 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Thu Apr 21, 2016 10:51 am 
Offline

Joined: Fri Jul 04, 2014 2:34 pm
Posts: 343
I'm afraid I have no clue where to start other than getting a MMC3 donor board. I have everything but a 74'153 but I can get one easily.

If someone could be so kind and put that into a schematic, that'd be great.


Top
 Profile  
 
PostPosted: Thu Apr 21, 2016 12:00 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8537
Location: Seattle
(n.b. braino, I meant the 74'157 in the previous post, not the 74'153)

Well, here's a somewhat anonymized schematic. The omissions are deliberate, because I can't test this, and I want to make sure that anyone attempting to implement it can figure out things as simple as "how to wire a latch" or "what to do with unused inputs" without being spoon-fed.


Attachments:
mmc3-to-m115-maybe.png
mmc3-to-m115-maybe.png [ 2.51 KiB | Viewed 2628 times ]
Top
 Profile  
 
PostPosted: Thu Apr 21, 2016 12:47 pm 
Offline

Joined: Fri Jul 04, 2014 2:34 pm
Posts: 343
Thanks alot.
While I do want to learn more about logic ICs and how they work I don't know where to start. I don't want to be spoon-fed in any way. Again thank you!


Top
 Profile  
 
PostPosted: Wed May 11, 2016 9:24 am 
Offline

Joined: Fri Jul 04, 2014 2:34 pm
Posts: 343
Okay, so I tried soldering this thing together on a TSROM board but it doesn't boot.

Code:
                74'139

               .--\/--.
     RAM /CE --|01  16|-- +5V
      PRG A0 --|02  15|-- GND
    RAM /CE2 --|03  14|-- PRG A14
          NC --|04  13|-- '174 Pin 15
          NC --|05  12|-- NC
  '174 Pin 9 --|06  11|-- NC
   '74 Pin 3 --|07  10|-- '157 Pin 1
         GND --|08  09|-- NC
               `------'


                74'74

               .--\/--.
         +5V --|01  14|-- +5V
      PRG D0 --|02  13|-- +5V
  '139 Pin 7 --|03  12|-- +5V
         GND --|04  11|-- +5V
     CHR A18 --|05  10|-- +5V
          NC --|06  09|-- NC
         GND --|07  08|-- NC
               `------'            


                74'174

               .--\/--.
         +5V --|01  16|-- +5V
  '157 Pin 2 --|02  15|-- '139 Pin 13
      PRG D0 --|03  14|-- PRG D7
      PRG D1 --|04  13|-- NC
  '157 Pin 5 --|05  12|-- NC
      PRG D2 --|06  11|-- PRG D3
 '157 Pin 11 --|07  10|-- '157 Pin 14
         GND --|08  09|-- '139 Pin 6
               `------'   


                74'157

               .--\/--.
 '139 Pin 10 --|01  16|-- +5V
  '174 Pin 2 --|02  15|-- GND
 PRG A14 Out --|03  14|-- '174 Pin 10
 PRG A14 ROM --|04  13|-- PRG A17 Out
  '174 Pin 5 --|05  12|-- PRG A17 ROM
 PRG A15 Out --|06  11|-- '174 Pin 7
 PRG A15 ROM --|07  10|-- PRG A16 Out
         GND --|08  09|-- PRG A16 ROM
               `------'


This is what I have and how I connected it.

PRG A14 was taken from MMC3 Pin 20.

PRG A14 Out was taken from hole PRG A14.
PRG A15 Out was taken from hole PRG A15.
PRG A16 Out was taken from hole PRG A16.
PRG A17 Out was taken from hole PRG A17.

PRG A14 ROM was taken from 27c040 pin A14.
PRG A15 ROM was taken from 27c040 pin A15.
PRG A16 ROM was taken from 27c040 pin A16.
PRG A17 ROM was taken from 27c040 pin A17.

Can I leave A18 PRG unconnected? Since 27c040 have it. Or connect it to PRG A18 to MMC3?


Top
 Profile  
 
PostPosted: Wed May 11, 2016 11:22 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8537
Location: Seattle
Well, the first problem is that I failed to verify that the game writes to the MMC3 PRG RAM protection register first. It doesn't.

So you'll need to add a 74'20 / '21 / '138 or something to decode that memory region :/ ( AND4/NAND4(A13,A14,M2,/ROMSEL)

Ice Man wrote:
74'139
Even though I screwed up the above, it's possible you got pins 1 and 3 backwards. One of the MMC3 outputs is supposed to be a positive enable, the other a negative enable, and only one permutation would work.

In any case, you may as well redo it with the AND4/NAND4 output, CPUA0, and R/W.

Quote:
Can I leave A18 PRG unconnected? Since 27c040 have it. Or connect it to PRG A18 to MMC3?
You should tie it to something, inputs shouldn't be left floating.

If you've doubled up the game's original 256 KiB to fill the 512 KiB ROM, it shouldn't matter what you tie it to, just that it not be floating when the CPU's trying to get data out of the ROM.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group