kyuusaku wrote:English is my first language and yes I thought he was
being a dick. The OP starts with a somewhat arrogant tone (probably I'm the only one to see because I posted diagrams, including a 257 one, in the thread referenced), then I was replied to with ellipsis, bolded keywords and datasheet parameters. This is an aggressive, argumentative writing style that asserts fact/superiority. Whatever, it's not a big deal, just off-putting for me, someone initially trying to help, not defend my posts.
......Did you piss off because I bolded "/RD" and "/ROMSEL"?? Datasheet parameters is a "agressive argument"?? So If I make a question with no idea at all of what I'm asking, I'm a annoying noob... if I know what I'm talking about because I have some experience, I'm arrogant... I thought this forum could be used to ask technical questions, not to argue about nosenses...
kyuusaku wrote:
To put it simply magno, it appears you have /RD and /ROMSEL confused. This is common and persists because of siudym's pinouts. (It looks like he fixed the cartridge pinout but I guess the mask ROM reflects the old one). You may have better results if you exchange them.
Maybe you're right... I thought that:
* /ROMSEL is the signal asserted on the shaded adresses:
http://magno.romhackhispano.org/SNES_Memory_Map.jpg
* /RD is the signal asserted when the CPU is on a read cycle: to fetch an opcode or data from ROM, reading from WRAM, reading from SRAM or reading from the registers (altough I'm not sure about the latter)
kyuusaku wrote:
Yes, /RD is negligible here, but it's because (/OE || /CE) to valid data is generally <50ns (+ the time to decode /RD from R//W and E or whatever assuming unmodified CPU) and long before the /CE-reliant row/column decoders have finished.
Maybe I'm wrong again, but I thought MaskROM's /OE and MaskROM's /CE are not the same:
*
/CE (or /CS) enables the chip, so it "begins" looking for the data and it takes to get it 120 ns (or the time access).
*
/OE releases the tri-state on the output pins for the data to be present 120ns after /CS is asserted.
kyuusaku wrote:
-whether /ROMSEL is predecoded before the address latch (unlikely but it would probably save 20ns)
It's not a crazy idea... /ROMSEL could be decoded using A23-A15 (assuming that signal is asserted on the shaded addresses I showed above), so it could be decoded using A23-A16 in the first phase (before the bank latch) and later enabled with A15...
kyuusaku wrote:
-whether the later mask ROMs are really 120ns since there is probably 40ns of decoding delay between /ROMSEL and the MAD-1 (I personally haven't seen a Nintendo mask ROM with a clear speed grade but I can take magno's word for it to refute the <120ns proposition)
I did a test with an oscilloscope and my FPGA board: I made a program that generates addresses (A20 to A6, the other MaskROM's address pins grounded) every 15 seconds with an "ADDRESS ASSERTED" line used as /CS; /OE was grounded.
When I got data on the output bus 107ns after asserting /CS, I was absolutely sure that MaskROM was not -100ns... maybe -110ns? maybe -120ns? Not sure, but developer's manual is pretty clear about that: ROM's at least 120ns.
kyuusaku wrote:
-whether data really is latched 140ns from the address being valid/end of the clock phase; we're assuming (1 / (21477272.727 / 6)) / 2 or an access time of 139.683ns for "FastROM". Well, IIRC Nintendo recommends 200ns for "SlowROM" whose reciprocal clock would be 2.5 MHz, obviously not suitable for 2.68 MHz operation without even taking address decoding into consideration. There must be a wait state or something else to the access times.
I didn't understand
