Jump to content
IGNORED

Atari 2600 8K Bankswitching Hardware (Asteroids?)


TVisitor

Recommended Posts

Hi all,

 

I'm reading up on bankswitching, and saw that Asteroids is an 8K bankswitched cart. I opened up and took a look inside mine (Yes, I know, blasphemy for cracking open a cart and runining the label).

 

However, I would think that I'd have to see some other glue logic inside to do the bank switch. However, there is only one prom inside - I don't know the model # offhand becuase there's a metal shroud over the top of it, soldered in (and I don't have my iron handy).

 

What's typically used inside carts to do bankswitching? I can't imagine it was custom hardware at that point in time, rather it would be off the shelf parts.

 

By the way - if the highest order line (A12, assuming you number from A0) is always the same state, why even bother to run it from the system to the cart? [Which, I could be wrong, and probably am.]

 

Thanks.

Link to comment
Share on other sites

What's typically used inside carts to do bankswitching?  I can't imagine it was custom hardware at that point in time, rather it would be off the shelf parts.

 

PROMs were expensive. Any cart for mass-production would use a custom-produced mask-ROM chip. If a company is having to get a custom mask-ROM chip anyway, adding a tiny bit of extra glue logic is no particular problem.

 

By the way - if the highest order line (A12, assuming you number from A0) is always the same state, why even bother to run it from the system to the cart?  [Which, I could be wrong, and probably am.]

969765[/snapback]

 

A12 is high when ROM is being accessed. It is low when the TIA, RIOT, or RAM are being accessed. During the latter times, it is imperative that the cartridge not disrupt the data bus.

Link to comment
Share on other sites

[
By the way - if the highest order line (A12, assuming you number from A0) is always the same state, why even bother to run it from the system to the cart?  [Which, I could be wrong, and probably am.]

969765[/snapback]

 

A12 is high when ROM is being accessed. It is low when the TIA, RIOT, or RAM are being accessed. During the latter times, it is imperative that the cartridge not disrupt the data bus.

969771[/snapback]

 

So is A12 a "chip select" rather than an actual address line, then? Or is that a dumb question I should be looking up somewhere else?

Link to comment
Share on other sites

  • 11 months later...
However, I would think that I'd have to see some other glue logic inside to do the bank switch. However, there is only one prom inside

 

Hi

 

I'm doing a little research about bankswitching methods...Last night I opened an Asteroids cartridge too, and I only found a ROM chip inside...on the other hand, I have plans on opening a Popeye in order to research E0 bankswitching method...

 

I had some problems trying to open that Popeye cart. I think I'll have to apply some more brute force, but the cartridge will look a little damaged...Once I open that cart...am I going to find something like the Asteroids cart? I mean, only the ROM? No othe logic chips? What's inside that Popeye cart?

 

Regards

Edited by lbaeza
Link to comment
Share on other sites

However, I would think that I'd have to see some other glue logic inside to do the bank switch. However, there is only one prom inside

 

Hi

 

I'm doing a little research about bankswitching methods...Last night I opened an Asteroids cartridge too, and I only found a ROM chip inside...on the other hand, I have plans on opening a Popeye in order to research E0 bankswitching method...

 

I had some problems trying to open that Popeye cart. I think I'll have to apply some more brute force, but the cartridge will look a little damaged...Once I open that cart...am I going to find something like the Asteroids cart? I mean, only the ROM? No othe logic chips? What's inside that Popeye cart?

 

Regards

 

You won't find what you are looking for, only a single mask ROM, with the bankswitch logic inside of it.

Link to comment
Share on other sites

E0 bankswitch have been covered in details. Here's a link to detailed info on E0 bankswitch and how to build one: http://www94.pair.com/jsoper/2600_pb_bs.html

 

As for F8 bankswitch like later version of Asteroid, you need 13 input NAND gate, a D gate flip flop chip like 7474 and one hex inverter. One of the inverter connects from Atari's A12 line to EPROM's /CE input. 2 more inverter for A1 and A2 line. The inverted A1 and A2 line plus uninverted A3 to A11 goes to inputs of the NAND gate. Since NAND has 13 input, tie 2 input together with invereted A1 line. Do not connect A0 to the NAND gate.

 

The outout of NAND gate has a cap (0.001uF) to ground and goes to another inverter before reaching the clock input of the flipflop. A0 line goes to D input of the flipflop. The Q output of the flipflop goes to A12 of the EPROM.

 

Or just get the F8 bankswitch chip from Atariage store and skip on wiring up 3 chips.

Link to comment
Share on other sites

E0 bankswitch have been covered in details. Here's a link to detailed info on E0 bankswitch and how to build one: http://www94.pair.com/jsoper/2600_pb_bs.html

Of course the problem is that both variations each use one TTL chip that is esentially obsolete, it just happens to be a different one each time. My plan is to use a 74170 and a GAL.

Link to comment
Share on other sites

Of course the problem is that both variations each use one TTL chip that is esentially obsolete, it just happens to be a different one each time.

Obsolete? It's still over-the-counter in Silicon Valley :P

 

Actually, I'm slowly learning PIC programming right now and I'm thinking I did things the hard way all these years. Digikey has a nice $50 Microchip starter kit if anyone else wants to take the plunge

Link to comment
Share on other sites

Of course the problem is that both variations each use one TTL chip that is esentially obsolete, it just happens to be a different one each time.

Obsolete? It's still over-the-counter in Silicon Valley :P

 

Actually, I'm slowly learning PIC programming right now and I'm thinking I did things the hard way all these years. Digikey has a nice $50 Microchip starter kit if anyone else wants to take the plunge

I don't think a PIC alone is fast enough to permit bankswitching. To compare, a member here tried to use a 70 Mhz ARM CPU alone and even that wasn't fast enough. However, a PIC used in conjunction with a PLD could do some amazing things.

 

Oh, and you all keep saying 74256, but the design calls for a 74265...

Link to comment
Share on other sites

Yeah I thought about making one myself but I can't find 74256 anywhere on eBay. If I can find a datasheet on this I could see if a similiar substitute can be made.

 

The 74HC760 is available in Digi-Key and seems like it should work. Alternatively, it should be possible to program an Atmel ATF750 for Parker Brothers bankswitching and plop that into a standard AA cart.

Link to comment
Share on other sites

I'm getting confused guys, did you mean 74265? My circuit (halfway stolen from Kevin Horton) didn't use a 74256.

 

I was just going by that guys post, I dind't even look at the circuit. :lol:

 

Those are available in the valley, right here...

 

http://www.jdr.com/interact/item.asp?itemno=74265

Link to comment
Share on other sites

Bah I got 256 and 265 mixed up... too many '256 eprom crossed my wires.

 

it is 74265, the six before the five.

 

Also JDR have 74170 (16 bit dual port RAM) (look for part #74LS170) and the CMOS 4068 (quad AND/NAND gate with complimentary output)

 

JDR has a $50 minimum order or $10 handling surcharge so watch that quanity!!

Edited by Uzumaki
Link to comment
Share on other sites

JDR has a $50 minimum order or $10 handling surcharge so watch that quanity!!

 

I used to just walk in and buy my stuff there. :P

 

I wouldn't go through the hassle of doing this with logic chips these days, as supercat said, there are PLD's that can handle this these days. ;)

Link to comment
Share on other sites

Hi all,

 

I'm reading up on bankswitching, and saw that Asteroids is an 8K bankswitched cart. I opened up and took a look inside mine (Yes, I know, blasphemy for cracking open a cart and runining the label).

 

However, I would think that I'd have to see some other glue logic inside to do the bank switch. However, there is only one prom inside - I don't know the model # offhand becuase there's a metal shroud over the top of it, soldered in (and I don't have my iron handy).

 

What's typically used inside carts to do bankswitching? I can't imagine it was custom hardware at that point in time, rather it would be off the shelf parts.

 

By the way - if the highest order line (A12, assuming you number from A0) is always the same state, why even bother to run it from the system to the cart? [Which, I could be wrong, and probably am.]

 

Thanks.

Asteroids is really a 8k cart? Had no idea. I always thought the early games were 2k and 4k. Thought 8k games didn't come until 1982.

Link to comment
Share on other sites

I don't think a PIC alone is fast enough to permit bankswitching. To compare, a member here tried to use a 70 Mhz ARM CPU alone and even that wasn't fast enough. However, a PIC used in conjunction with a PLD could do some amazing things.

I can almost say for sure that a 60MHz 32bit ARM7 running ARM code, not thumb, hand assembled, is not fast enough to directly replace a ROM or RAM. I had put together a 70MHz version for Batari to have a go at it, I heard he is an ARM wizard. Unfortunately I found a bug in the board design and havent gotten around to making a new one. Sorry for that.

 

He is definitely correct when he says a PLD, an MCU, and some SRAM makes amazing things happen. I am using a PLD to share 128K of SRAM between an ARM7 and the VCS. There are so many new things possible that I feel overwhelmed many times trying to make some of them happen.

 

Vern

Edited by Delicon
Link to comment
Share on other sites

He is definitely correct when he says a PLD, an MCU, and some SRAM makes amazing things happen.

 

Even a PLD and RAM can make amazing things happen. Normally on the 6502 a computed jump (assuming an index takes a minimum of twelve cycles

   lda jtable_lo,xsta
  jptr
  jmp (jptr)

but with 4A50, it's possible to do it in four.

nop $7F00,x

On a straight bitmapped display, plotting a pixel whose coordinates are given in X,Y would usually take at least 21 cycles, even assuming a very nice memory mapping:

  lda column_h,x
 sta ptr+1
 lda bitmask,x
 ora (ptr),y
 sta (ptr),y

Using 4A50, a pixel-plot takes twelve cycles:

  lda $7F00,x
 ora $1E00,y
 sta $1E00,y

 

Those speedups are obtained without needing a second micro. While adding a second micro would allow for even more cool stuff, even just having a CPLD is still pretty darned amazing.

Link to comment
Share on other sites

I can almost say for sure that a 60MHz 32bit ARM7 running ARM code, not thumb, hand assembled, is not fast enough to directly replace a ROM or RAM.

I actually lied here. It is fast enough to do a direct 2K or 4K emulation. But there is not enough time to manipulate the address (bankswitching) or the data (GameShark). Given the cost of parts, it makes no sense to do simple 2K and 4K ROM emulation in an MCU. The MCU requires supporting hardware, a reset circuits, voltage regulators, clock circuit, and lots of extra passive components. Its hard to justify all that when all it takes is a ROM chip to do the same thing.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...