Quick warning: GAL ATF22v10 and TOP3000 programmer

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Quick warning: GAL ATF22v10 and TOP3000 programmer

      After debugging another project for a while I finally got it to work - by replacing the ATF22v10C with a Lattice 22v10B. Same programmer, same jed file, etc.

      The problem was that the ATF22v10 completely shut down, and produced logic levels at the output that had absolutely no relation to the inputs. I tracked it down to a high signal on pin 4. According to the data sheet this is a "power down" mode...
      I never configured this in WinCUPL, and the TopALL software has no separate "power down" mode device for the 22v10. I did notice that the JED file has 5856 fuses, while the view in TopAll has only 5828 fuses. So I assume some important information at the end of the JED file gets cut off.
      Unfortunately the developer for the TopALL software has fallen off the internet... Or is there a newer version than 8.37?
    • Interesting, thanks for the feedback.

      @Mitsurugi-w had issues using ATF22V10s in place of GAL22V10s on the S16B multi, but he's not using the TOP3000.

      My understanding is the programming algorithm is different between those two.
      And the TOP3000 only supports GAL22V10.

      P.S.: I think there's a V8.8 in existence
      Looking for:
      - faulty Space Harrier or Enduro Racer
      - Super Nintendo CPU (3 needed)
      - Sega trackball I/O board 837-8685 (will be reproduced and gerbers made freely available)



      "I'd 1cc games but I have a real life."
      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001
    • Yeah, the programming algorithm is different: bhabbott.net.nz/atfblast.html

      Mine definitely lists ATF22V10C and Lattice 22V10B separately, and outside the power down feature it works fine. It's a bit frustrating, because they seem to be the only "new from factory" source, and you would expect a feature like this to default to "off".

      I'm looking if I can cobble together an ATF blaster, but I'll have to find a computer that still has a parallel port, first. :)
    • Fluffy wrote:

      Mine definitely lists ATF22V10C and Lattice 22V10B separately
      The TOP3000 software does show few information regarding the selected chip including Vcc and programming algorithm. I bet it uses the same one with no distinction between Atmel and Lattice. I can check that when I'll be back home.
      Looking for:
      - faulty Space Harrier or Enduro Racer
      - Super Nintendo CPU (3 needed)
      - Sega trackball I/O board 837-8685 (will be reproduced and gerbers made freely available)



      "I'd 1cc games but I have a real life."
      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001
    • Fluffy wrote:

      My version says "P22v10" for the Lattice chip and "ATF22V10C" for the ATF chip. According to the description from the ATF blaster it shouldn't work at all without the different algorithm, and I get normal behaviour outside of pin 4.
      I see. Then they goofed up the ATF algorithm.
      Not surprising (already found a problem with 27C4002 burning and 74LS393 testing).
      Looking for:
      - faulty Space Harrier or Enduro Racer
      - Super Nintendo CPU (3 needed)
      - Sega trackball I/O board 837-8685 (will be reproduced and gerbers made freely available)



      "I'd 1cc games but I have a real life."
      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001
    • I think I found something interesting.

      The ATF22V10 supports 3 modes:
      - PAL Mode (5828 Fuses)
      - GAL Mode (5892 Fuses)
      - Power-down Mode (5893 Fuses)

      I have no problem generating jed files for each mode BUT no programmer I own handles the last fuse (5893).
      Since a fully erased chip contains only 1s, not being able to write that very last fuse implies it stays as a 1 hence Power-down Mode activated. I'm trying to find a way to write a 0 there.
      Looking for:
      - faulty Space Harrier or Enduro Racer
      - Super Nintendo CPU (3 needed)
      - Sega trackball I/O board 837-8685 (will be reproduced and gerbers made freely available)



      "I'd 1cc games but I have a real life."
      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001
    • My plan is to port the ATF blaster code to a teensy 2++ I had lying around...

      So far I've got the usb gubbins done so Windows recognises it and automatically installs WinUSB. That was pain, as the example code relied on some non-standard GCC extensions not supported in the latest AVR Studio. I've got a simple Win32 application talking to it.

      Next step is a simple test vector playback system to test usb communication and the circuit.

      After that I hope to extract the programming algorithm(s) from the ATFblaster code and convert it to run on the microcontroller. Wish me luck!

      By the way, the fuse bit was my reasoning as well. Though my thought is: ATF22v10 is advertised as a drop-in replacement for various GAL and PAL types, and as those will not contain data for the last fuse it should stay in "erased" (=1) state, which should default to "feature disabled".

      The only way to tell will be to dump a GAL programmed with my other programmer once I've got the circuit working...

      The post was edited 1 time, last by Fluffy ().

    • Fluffy wrote:

      By the way, the fuse bit was my reasoning as well. Though my thought is: ATF22v10 is advertised as a drop-in replacement for various GAL and PAL types, and as those will not contain data for the last fuse it should stay in "erased" (=1) state, which should default to "feature disabled".


      The only way to tell will be to dump a GAL programmed with my other programmer once I've got the circuit working...
      The jed files I've generated tell me otherwise: fuse 5893 = 1 means power down mode active (you can quickly try yourself, chip type p22v10 for PAL mode, g22v10 for GAL mode, g22V10cp for power down mode).

      That's probably where the problem comes from, stupid implementation in the chip and incomplete support by most programmers (even the Dataman 48 doesn't handle it properly...).
      Looking for:
      - faulty Space Harrier or Enduro Racer
      - Super Nintendo CPU (3 needed)
      - Sega trackball I/O board 837-8685 (will be reproduced and gerbers made freely available)



      "I'd 1cc games but I have a real life."
      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001
    • An other interesting finding: the jed files generated in PAL mode do seem to work well.

      [EDIT]
      Spoke too soon, no change... :(
      Looking for:
      - faulty Space Harrier or Enduro Racer
      - Super Nintendo CPU (3 needed)
      - Sega trackball I/O board 837-8685 (will be reproduced and gerbers made freely available)



      "I'd 1cc games but I have a real life."
      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001

      The post was edited 1 time, last by Apocalypse ().