Jump to content

Photo

Burning EEPROM problems

eeprom custom cartridge

12 replies to this topic

#1 wallaby OFFLINE  

wallaby

    Chopper Commander

  • 100 posts

Posted Sat Mar 18, 2017 3:18 AM

Hey everyone.

 

I'm trying to make my own custom cartridge but I've run into some problems. Here are the steps I took:

 

1. Got a donor cartridge PCB (Skiing by Activision). This is a 2k game but the layout looked straight forward.

2. I got an Atmel 8-bit 5-volt 64k EEPROM.

3. I desoldered the skiing EPROM and soldered pin headers in instead. (since the Atmel EEPROM doesn't actually fit because it has more pins.)

4. I programmed the EEPROM with the Skiing ROM. I checked the data in Stella and on the programmer and the bytes match.

5. I placed wires from the headers on the cartridge to the EEPROM on a breadboard.

 

When I turn the Atari on, it usually makes random sounds and scrambled screens. It's almost like the Atari is getting random data every time it turns on. The sounds and screen data changes every time if anything is displayed at all.

 

Checking with a logic probe, it looks like everything is high. The address pins and the data pins all register as high.

 

I'm not sure what to do with the sGND and the A12 address bit. If I connect the sGND to the GND the Atari won't start. Do I just connect the A12 to the EEPROM's A12? Does the Atari use A12 or is it always on?

 

Outside of wiring it wrong, is there anything that stands out? When I programmed the EEPROM, I left the remaining ~62k empty (FF) assuming the Atari can't address it anyway.

 

Thanks!



#2 wallaby OFFLINE  

wallaby

    Chopper Commander

  • Topic Starter
  • 100 posts

Posted Sat Mar 18, 2017 3:31 AM

I read A12 is used for chip-enable. I just wired my chip-enable directly to ground. Does it get switched on and off continuously? I could put a not-gate on A12 and wire it to my CE line.



#3 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • 761 posts
  • Location:Orlando, FL US

Posted Sat Mar 18, 2017 9:13 AM

You need to map your ROM into the address space of $1000-$1fff. A0-A11 should be wired directly to the ROM's A0-A11. A12 should be wired to a not gate and then to /CE. The remaining address pins on the ROM should be tied to ground.

#4 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • 761 posts
  • Location:Orlando, FL US

Posted Sat Mar 18, 2017 9:37 AM

Also, since it's a 2k ROM you need to either program it twice to fill the ROM out to 4k or tie ROM A11 to ground so the first 2K is mirrored at $f800

#5 SoundGammon OFFLINE  

SoundGammon

    Stargunner

  • 1,377 posts

Posted Sat Mar 18, 2017 9:40 AM

Doesn't an EEPROM need a buffer chip to enable?  A 7404 or something like that?



#6 wallaby OFFLINE  

wallaby

    Chopper Commander

  • Topic Starter
  • 100 posts

Posted Sat Mar 18, 2017 4:24 PM

You need to map your ROM into the address space of $1000-$1fff. A0-A11 should be wired directly to the ROM's A0-A11. A12 should be wired to a not gate and then to /CE. The remaining address pins on the ROM should be tied to ground.

 

Ahhh. Is the address space set when I program it?

 

I'm using a hex inverter to invert the A12 line and pretty sure everything else is wired correctly.



#7 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • 761 posts
  • Location:Orlando, FL US

Posted Sat Mar 18, 2017 5:02 PM

Did you double up the 2k image to fill the first 4k or wire eeprom A11 to ground? As you described it in your first post it sounds like you have $1800-$1fff set to $ff.

The address map is determined by the hardware. What you do with address bus and chip enable is what decides what gets mapped where

#8 wallaby OFFLINE  

wallaby

    Chopper Commander

  • Topic Starter
  • 100 posts

Posted Sat Mar 18, 2017 7:20 PM

Did you double up the 2k image to fill the first 4k or wire eeprom A11 to ground? As you described it in your first post it sounds like you have $1800-$1fff set to $ff.

The address map is determined by the hardware. What you do with address bus and chip enable is what decides what gets mapped where

 

 

This is where I'm confused. The Skiing PCB has A9 and A11 connected to +5v. My Atari Defender PCB has A11 connected to +5v. But don't you need those address lines to access the full ROM?

 

If you only have 11 address bits that only allows 2,048 bytes (in the case of Defender).

 

And Skiing is even worse at 1,024. I'm misunderstanding something fundamental.

 

I have grounded A12 on the EEPROM. Is the address bus active low? I might be redirecting the address to $1000 but only have FF at that location.

 

When I programmed the ROM, I just programmed it from the start. Should I put the ROM at $1000 on the EEPROM?



#9 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • 761 posts
  • Location:Orlando, FL US

Posted Sat Mar 18, 2017 7:32 PM

Sounds like you may have an incorrect pinout. 2KB games should ignore A11 and 4KB games should use all 13 (A0-A12) address bits. A12 is used for CE so that leaves 12 bits for 4KB and 11 bits for 2KB games which is exactly what is required.

 

Here's what the eeprom memory map should look like for a 2KB game.

VCS	EEPROM
$0000	Not Enabled
$0fff	Not Enabled

$1000	$0000
$17ff	$07ff

$1800	$0000
$1fff	$07ff


#10 wallaby OFFLINE  

wallaby

    Chopper Commander

  • Topic Starter
  • 100 posts

Posted Sat Mar 18, 2017 11:31 PM

Ah yes. It was incorrect because there were some connections on the PCB. I had to make a jumper wire and a few changes.

 

About every 20 or 30 tries the game will show. But a strong breeze can disrupt it. I'm guessing this is because I made all the connections on a breadboard. Or would a capacitor between power and ground improve the stability?



#11 wallaby OFFLINE  

wallaby

    Chopper Commander

  • Topic Starter
  • 100 posts

Posted Tue Mar 21, 2017 4:13 AM

I think I sorted the stability problem. I had the GND connection from the cartridge connected to the GND on the EEPROM. Now the EEPROM GND isn't connected to anything but everything works?



#12 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • 761 posts
  • Location:Orlando, FL US

Posted Tue Mar 21, 2017 5:23 AM

The clock speed is relatively low. Long wires and breadboards shouldn't prevent it from being stable. It should work better with the grounds all connected, not worse.

 

One thing I can think of is that there is a loose connection somewhere and you moved other wires while removing the ground connection. It could be a bad solder joint, open hookup wire, loose socket in the PCB, etc. I'd wiggle each wire one at a time while it's running and see if wiggling a wire causes it to stop working. If it does then I'd carefully inspect all connections related to that wire.

 

Are you using solid core hookup wire? I've always used that for these type of experiments and it's always worked well. If you're using stranded wire it may not work as well.



#13 wallaby OFFLINE  

wallaby

    Chopper Commander

  • Topic Starter
  • 100 posts

Posted Wed Mar 22, 2017 5:37 PM

The clock speed is relatively low. Long wires and breadboards shouldn't prevent it from being stable. It should work better with the grounds all connected, not worse.

 

One thing I can think of is that there is a loose connection somewhere and you moved other wires while removing the ground connection. It could be a bad solder joint, open hookup wire, loose socket in the PCB, etc. I'd wiggle each wire one at a time while it's running and see if wiggling a wire causes it to stop working. If it does then I'd carefully inspect all connections related to that wire.

 

Are you using solid core hookup wire? I've always used that for these type of experiments and it's always worked well. If you're using stranded wire it may not work as well.

 

Yes, I was baffled. But it works rock solid with no ground connection on the EEPROM. As soon as I make that one connection, everything goes south.

 

I wiggled the wires and pulled them out. That's how I found the ground disconnection actually fixed it. Nothing else has any effect at all.

 

The wires are stranded though. I wonder if the problem stems from that. I'll recreate the interface with single core wires and see how it goes.

 

Thanks again!







Also tagged with one or more of these keywords: eeprom, custom cartridge

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users