A simple question about SNES Adapters

Discussion in 'Nintendo Game Development' started by kammedo, Aug 17, 2006.

  1. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    I opened up my old SNES adapter (the one wich let you play US games on EU SNES's with two slots) and found it using a PAL (TIBPAL16L8-25CN).
    For which purpose? Does somebody know?
    Also, can someone please confirm if the SNES ROM pin layout showed here

    http://patpend.net/technical/snes/sneskart.html

    is correct?

    Thanks!
    Kammedo
     
    Last edited: Aug 17, 2006
  2. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    16L8s are used for simple combinatorial logic. Generally, no logic is needed for an adapter, the PAL CIC lines can just pass to the SNES. If you say what pins are connected to the PAL's inputs and outputs, I can give you a rough idea what it does. SNES Kart is not complete or perfect but in this case, it will do.
     
  3. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    Thanks for the quick reply!

    It connects A0-A8 (In) A13-A15 (I/O), BA6 (In) and D4 (out).
    In fact the simple CIC lines are simply bypassed.

    This at least from the layout i got from the "Kart" site. Could you possibly get me a hint on where i could find correct and much more important complete information?

    Thanks again
    Kammedo
     
    Last edited: Aug 17, 2006
  4. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Which are to the cartridge and which are from the console? From what you said, this doesn't make any sense to me.

    It seems SNES kart is OK for the main connector, I don't know where to find the expansion (B bus?) pins though.

    GND 05 36 GND
    A11 06 37 A12
    A10 07 38 A13
    A9 08 39 A14
    A8 09 40 A15
    A7 10 41 A16
    A6 11 42 A17
    A5 12 43 A18
    A4 13 44 A19
    A3 14 45 A20
    A2 15 46 A21
    A1 16 47 A22
    A0 17 48 A23
    /IRQ 18 49 /ROMSEL
    D0 19 50 D4
    D1 20 51 D5
    D2 21 52 D6
    D3 22 53 D7
    /RD 23 54 /WR
    CIC#1 24 55 CIC#2
    CIC#7 25 56 CIC#6
    RESET 26 57 NC
    Vcc 27 58 Vcc
     
  5. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    Don't worry, don't need them at least for now..
    Anyway, it seems all the connections the PAL uses directly connect the ROM, with the gamepak, which means that the PAL just plugs on the connection lines of them, it doesn't interrupt them at all. I double checked the pinout and yes its right actually. Could it be the PAL is used for NTSC game pak detection?
     
  6. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    What do you mean it connects directly to the ROM? It must sit between ROM and console for it to do anything the input must be the console, output must be ROM. If it was wired to switch the console's address lines, it could be something for SRAM/ROM (which doesn't make sense for converter) but from the address lines you gave I don't think so, I really think it does nothing, just there to fool people. The D4 part doesn't make sense because 16L8 aren't registered.

    It definately can't detect anything like PAL/NTSC (hardware cant easily do that), it can only do very simple logic like O1 = (I1 and /I2) or I3.
     
    Last edited: Aug 18, 2006
  7. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    I mean the PAL doesn't actually "interrupt" the lines, but it just plugs on them.
    Also, I didnt actually mean PAL/NTSC detection but presence of the carts in the slots? If i remember it correctly, if it missed the SFC cart it would play the PAL one (if inserted).
    Do you happen to have information about the CIC check sequence?
     
    Last edited: Aug 19, 2006
  8. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    If the thing can switch to the PAL cart, then you have your answer. From your description it still doesn't make sense, to use a cart, you must assert /ROMSEL (CE) and address lines aren't a way to detect a cartridge.

    Nobody knows the CIC protocol yet, there has been a bit of effort lately to crack it though by manually reading out the ROM.
     
  9. d4s

    d4s Robust Member

    Joined:
    Jan 28, 2005
    Messages:
    287
    Likes Received:
    3
    simple: this pal is used to defeat 50/60Hz protections. (most of the time accompanied by a "this game is not designed for your snes/sfc"-screen)
    if this is an adapter that runs ntsc games on pal machines, it will listen to reads of register $213f, always write 0 to bit4 if this register is read and "overwrite" anything the ppu tries to put on the data bus for that bit.

    this register contains the ppu status/version flags and games usually check it to see if they are running in pal or ntsc mode.
    it needs all the adress lines to listen to the rom bus, but only has to write to one bit, thats why theres just one data line connected. if they would've been smart, they could have built this circuit with 7 adress lines instead of 12 by directly using the b-bus adress lines on the expansion pads of the cartridge connector.
    gah, whatever...
     
    Last edited: Aug 22, 2006
  10. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    Wow! ^^
    Now that's a good answer i would say! In fact, the fact that it outputted just one line and that on the data bus maked me think too that it possibly could verify and thus fake some register contents. But the 12 addres lines got me confused about which register it could actually read...anyway, thanks for having solved the mystery! ^^
     
  11. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    There's one problem though, 16L8 aren't registered (unless a FF is sythesized)
     
    Last edited: Aug 22, 2006
  12. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    But it has three-state outputs. Actually, d4s, there's NO /RD, /WR signal in input...which means the PAL would ALWAYS be active. Sounds somewhat unrealistic to me.
    But your idea of the use fits perfectly with the schema. Suggestions?
     
  13. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    16L8 do not have a high impedance state since they aren't registered! But it doesn't matter, d4s is right, I thought he meant it had to latch a write (I'm not thinking well this morning.)

    Since it's an arbitrary memory address R/W doesn't matter.

    This is the partial logic for the PAL:

    ' = complement

    '((A0)(A1)(A2)(A3)(A4)(A5)('A6)('A7)(A8))(ROM D4) = console D4

    (A9+ purged for brevity, I'm not sure where it really even is decoded)

    There *must* be an output to disable the internal flag or else there'd be a busconflict. There also should be a D4 input as well as output.
     
    Last edited: Aug 22, 2006
  14. smf

    smf mamedev

    Joined:
    Apr 14, 2005
    Messages:
    1,255
    Likes Received:
    88
    A bus conflict wouldn't necessarily be a bad thing, as long as you can either pull up or down the value you want to change.

    The c64 cheat cartridges worked by triggering a non maskable interrupt and swapping the cartridge into the memory map. All pretty standard stuff thats documented by commodore, but non maskable interrupts are edge triggered & it could also be triggered by one of the timers, so alot of games would get the timer to trigger one but then leave it triggered.

    Unless you could lower the line and raise it again you don't get a look in, it didn't take long before someone found a way of forcing the non maskable interrupt off, so it could be triggered again.

    http://www.e.kth.se/~e93_msi/c64/expert.html

    smf
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page