It is currently Tue Jun 19, 2018 10:56 pm

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  [ 230 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11, 12, 13 ... 16  Next
Author Message
 Post subject:
PostPosted: Tue May 15, 2012 1:11 am 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
kyuusaku wrote:
80sFREAK wrote:
EPIC :lol: try harder :lol: Picture, you posted above for FARID, is for you now :lol: One more try and i will tell you, how chinese mapper working.

:lol: Oh, please Mr. De Morgan, bestow your wisdom upon this thread :lol: I eagerly await your masterful unrelated design :lol: :lol: I'm preparing to marvel at your progress since this thread only 7 months ago :lol:

80sFREAK wrote:
No matter how, just works :lol:

:lol: :lol: :lol: :lol: :lol: Guilty! What a huge cost for UOROM mode, I know you can do it more efficiently ;) :lol: Since you've been holding back your implementation of the Chinese mapper so long it must be really brilliant, stop teasing already! :lol: What was I thinking using 2 full chips for a MMC3-only design?!?

PS: Man, I really wasted my time in this thread since many of my suggestions went on to receive concurrence from you days or months later :lol: Next time you should just post ahead of me so people get it right from the source :lol: I can't even articulate the service you're doing this thread, it's people like you make the internet great! I had to add this since sometimes praises from your parents just aren't enough :D

I suppose in your software for sophisticated CPLD design no button like "SOLVE IT FOR ME" and "MAKE ME FEEL GOOD" otherwise you could know, what binary tree is and why Rockman's placed exactly the way in the dump.

Sorry, it took some time, but it's just a hobby for me.

2 jpx72 noone going to kill each other, but someone might commit suicide and i don't take any responsibility for that.

2 FARID original mapper 6-in-1 using 3 registers cleared on power-up and binary tree, that's why Rockmans placed exactly the way. On the custom chip it could be more effective - halfs of '157 wasted. That's why i told "i wish '157 have no strobe, but consist of two halfs".

Since problem solved, i don't think i will be back on nesdev soon. Good luck with your CPLD's and emulators.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 15, 2012 4:12 am 
Offline
User avatar

Joined: Wed Apr 07, 2010 1:14 am
Posts: 484
Location: Iran
Oh my god this Chinese logic is HORRIBLE! :shock:

501X --> A14 A13 A12 ... A4 ... A1 A0
5010 --> 101000000010000
5011 --> 101000000010001
5012 --> 101000000010010


ROCMAN 5 --> 256 + 256 --> 01 / 00 / 00 --> XX00 XX01 / X000 XXXX / XX00 XXXX
ROCKMAN 1 --> 128 + 8 ----> 22 / 10 / 55 --> XX10 XX10 / X001 XXXX / XX01 XXXX
MENU -------> 128 + 128 --> 00 / 00 / 20 --> XX00 XX00 / X000 XXXX / XX10 XXXX
ROCKMAN 2 --> 256 + 8 ----> 21 / 20 / AA --> XX10 XX01 / X010 XXXX / XX10 XXXX
ROCKMAN 3 --> 256 + 128 --> 11 / 30 / 20 --> XX01 XX01 / X011 XXXX / XX10 XXXX
ROCKMAN 4 --> 512 + 8 ----> 20 / 40 / 55 --> XX10 XX00 / X100 XXXX / XX01 XXXX
ROCKMAN 6 --> 512 + 8 ----> 20 / 60 / AA --> XX10 XX00 / X110 XXXX / XX10 XXXX

I feel that I should go back to my own logic!


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 15, 2012 4:55 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20160
Location: NE Indiana, USA (NTSC)
Now you're realizing it. If you're building a board out of 7400 series parts and you don't need all the complexity of what's probably a more general Chinese multicart ASIC, you should do the simplest thing that could possibly work.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 15, 2012 12:12 pm 
Offline
User avatar

Joined: Wed Apr 07, 2010 1:14 am
Posts: 484
Location: Iran
What do you think :shock: :

Image


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 15, 2012 7:01 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1668
2 80sFREAK
Image

Aren't you having fun anymore? You mustn't leave us hanging! :(

FARID wrote:
What do you think :shock:

I think you're missing the binary tree but probably only 80sFREAK can say with certainty here. Also the register decoder is broken--you must consider /ROMSEL and Phi2 too; each register's CLK must rise on the falling edge of Phi2. The decoder is probably better implemented with a '138, at least that's what my CPLD software solved for me. (I desperately hope this is correct, otherwise my shame will obligate me to harakiri.)


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 15, 2012 10:37 pm 
Offline
User avatar

Joined: Wed Apr 07, 2010 1:14 am
Posts: 484
Location: Iran
Quote:
The decoder is probably better implemented with a '138


What do you think about 238? Its output goes high so it is good for CLK of 161.

Quote:
you must consider /ROMSEL and Phi2 too


Quote:
M2 : Also called PHI2 in official docs. This is the CPU clock output. When this signal is high, this means the PRG bus address and data lines are in a stable state and can be latched by external hardware. On reads, the data must be stable until this signal goes low.

PRG /CE : Also called /ROMSEL in official docs, to not confuse with PRG /CE output of mappers. This pin outputs the logical NAND of M2 and PRG A15. It is low when the CPU reads or writes to $8000-$FFFF and when the address is stable, allowing to enable ROM chips directly. Advanced mappers use more logic between this pin and the actual PRG /CE (to avoid bus conflicts, for example). Using this signal is the only way to determine the state of A15, so it's needed for any mappers doing any address decoding.


So at STA 501X I have :
/ROMSEL --> High
PHI2 --> High
A15 --> Low

Right?


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 16, 2012 12:44 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1668
FARID wrote:
What do you think about 238? Its output goes high so it is good for CLK of 161.

'138 / active-low works better; an active-high decoder will clock the register right at the start of Phi2, possibly violating setup times of a (very) slow register, so technically the correct time is at the end of the cycle. The Phi2 signal is meant to be decoded and used as a latch enable (either simple transparent latch or master latch in a D flip-flop)

Quote:
So at STA 501X I have :
/ROMSEL --> High
PHI2 --> High
A15 --> Low

Right?

Right. But remember there is no A15 on the connector, so A15 must be derived from /ROMSEL.

You're decoding too much of the address, it won't be necessary for working operation. If the games don't access $6000-7FFF you can reduce the address further even.

5010 -> 5000 -> 0101xxxxxxxxxx00
5011 -> 5001 -> 0101xxxxxxxxxx01
5012 -> 5002 -> 0101xxxxxxxxxx10

/ROMSEL = 1
A14 = 1
A13 = 0
A12 = 1
Phi2 = 1 (most important in terms of timing so must be a strobe)
R//W = 0

select bits: A1, A0


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 16, 2012 1:59 pm 
Offline
User avatar

Joined: Wed Apr 07, 2010 1:14 am
Posts: 484
Location: Iran
Quote:
You're decoding too much of the address, it won't be necessary for working operation


I want to remake this shitty mapper exactly. As you can see in this picture it checks A4 too :

Image

Here is my new design :
Image


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 16, 2012 3:32 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2825
FARID wrote:
Quote:
You're decoding too much of the address, it won't be necessary for working operation


I want to remake this shitty mapper exactly. As you can see in this picture it checks A4 too


That's the spirit! Seriously though I would like to see it cloned exactly in 74 series chips.

Or in 74 series chips like Kyuusaku was saying where you have a UOROM mode.


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 16, 2012 6:14 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1668
As I said:
  • don't use a '238! The active-low '138 is correct.

      (You almost never see active-high in physical implementations so if you see a situation where you think it's needed you should think twice before proceeding. The reason behind this is that A-L is more efficient logically, GND is always available before the positive power rail so POR circuits require A-L, and that NMOS transistors work better than PMOS so they're able to drive their load stronger -> faster fall times and better fanout*)
  • use Phi2 to STROBE the decoder, not as a select input!

      The way you have it will cause logic hazards because inputs don't all arrive at the same time and of course asynchronous logic doesn't have uniform propagation, so each output will take time to settle to its correct state. This settling time more or less means glitchy outputs which will affect edge-critical things like flip-flops. If you do it the correct way with strobe, the address bits will have settled BEFORE the Phi2 phase instead of during the Phi2 phase so once strobe is asserted there will be a glitch-free output.


*totally offtopic but seems true to me: active-low is like little-endian, it's the logical way to do things given nature, but there are always people who find it inconvenient or unappealing aesthetically


---

I've talked way too much in this thread, it's probably time for me to leave it heh


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 31, 2012 1:01 pm 
Offline
User avatar

Joined: Mon Mar 30, 2009 4:40 pm
Posts: 306
So has this thing been figured out yet? I'd absolutly love to make one for my collection as there is no way in hell I'm paying the prices megaman 1 to 6 command these days. I nice homemade cart with all of them in a custom box would be lovely to play and have on my shelf :)


Top
 Profile  
 
PostPosted: Mon Nov 26, 2012 3:59 am 
Offline
User avatar

Joined: Wed Apr 07, 2010 1:14 am
Posts: 484
Location: Iran
Sorry it took so long, I was busy with some other fun stuff, anyway a promise is a promise, here is the Rockman 6 in 1 cartridge. Many thanks to l_oliveira, kyuusaku, 80sFREAK, tepples and others who helped me in NESDEV IRC Channel, this wouldn't possible without their help and their invaluable information.

Chips :
27C322 --> PRG
27C040 --> CHR
6264 --> SRAM
5202 --> MMC3
174 --> Latch
4053 --> Switch

Registers :
$6800 [XXXC PLMH]
H --> D0 --> P20
M --> D1 --> P19
L --> D2 --> P18 + C18
P --> D3 --> PRG [0:256 1:512]
C --> D4 --> CHR [0:ROM 1:RAM]

All games must be Mapper 4/MMC3 [D7--- ---D0] :
Rockman 5 --> 256 + 256 --> PRG + CHR --> XXX0 0000 --> 0000 0000 --> 00
Rockman 3 --> 256 + 256 --> PRG + CHR --> XXX0 0100 --> 0000 0100 --> 04
Rockman 1 --> 256 + 8 ----> PRG + SRAM -> XXX1 0010 --> 0001 0010 --> 12
Rockman 2 --> 256 + 8 ----> PRG + SRAM -> XXX1 0110 --> 0001 0110 --> 16
Rockman 4 --> 512 + 8 ----> PRG + SRAM -> XXX1 1X01 --> 0001 1001 --> 19
Rockman 6 --> 512 + 8 ----> PRG + SRAM -> XXX1 1X11 --> 0001 1111 --> 1F

Schematic :
Image

Tested on breadboard works perfect. Here is a video to watch :
Image

All of the chips can fit inside of a regular Famicom Cartridge :
Image

Download Menu Patch :
Image

PCB :
On Progress


Attachments:
Menu.zip [42.59 KiB]
Downloaded 59 times


Last edited by FARID on Tue Jan 13, 2015 11:45 am, edited 6 times in total.
Top
 Profile  
 
PostPosted: Mon Nov 26, 2012 7:07 am 
Offline
User avatar

Joined: Wed Jul 13, 2011 6:51 am
Posts: 395
Location: Brasilia, Brazil
Farid, MAN you ROCK ! (pun is intended, too) :lol:


Top
 Profile  
 
PostPosted: Mon Nov 26, 2012 8:55 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10513
Location: Rio de Janeiro - Brazil
FARID wrote:
Image

Seems simple enough. I'll probably make one today. :roll:


Top
 Profile  
 
PostPosted: Mon Nov 26, 2012 10:08 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 2082
Location: WhereverIparkIt, USA
Nice work FARID! Nice to see it up and running. By the way you always have the best pictures to share of your projects ;)

_________________
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 230 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11, 12, 13 ... 16  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot] and 3 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