Jump to content
IGNORED

320k Parallel Port RAM Upgrade for 600XL & 800XL


Recommended Posts

As we know, the 600XL only ships with 16k of RAM.  Since I can't use it to play M.U.L.E. that renders the poor little 600XL rather worthless.  Since I like keeping my machines as close to stock as possible, and don't have the original cover for that parallel bus port in the back, I figured I'd fix the problem.  Last Tuesday I received the first prototype boards and have been working on this on-and-off since then.  Today, I got the first prototype working.  While there is some documentation available about the parallel bus, certain things aren't clear.

 

Some problems encountered:

 

1.  I had an inverter connected at the wrong place in the banking logic which resulted in a system crash.  

2.  There were some timing problems to resolve.  Since there is no "r/w late" signal I had to connect to Phi2 for the 2 chips that hold the banking settings.  (74LS74 & 47LS174)  These chips only change their setting when their clock signal goes from low to high.  So, to catch Phi2 when it drops phi2 needs inverted to use with these chips.

3.  The documentation I read says that EXTENB (on pin 38) is used to enable your external device.  However, what is not usually documented in the same place is that EXTENB is controlled by the Atari's MMU and does not go high when you want your device to watch a signal being sent to an I/O device such as PIA's PORTB on $D301.  So, connecting EXTENB to your decode logic results in your decode logic not enabling when $D301 is called...resulting in your banking logic being disabled when it is being called.  I spent quite a while figuring this out the hard way.  I also spent a while troubleshooting #2, above, while not realizing that my EXTENB was shutting down my logic.

 

So, the prototype board is looking pretty ugly with all the wires added and the inverter chip (74LS04) sitting on the extra board in the upper corner.  But, it served it's purpose.  I can play M.U.L.E. on the 600XL without any internal modifications...and have an extra 256k of extended memory as an added bonus.  I'll be ordering another batch of these final boards soon.  ?

 

 

Some pictures:

 

Prototype board installed in the 600XL.  It's pretty ugly with all the jumper wires soldered on, but it served it's purpose.  The next board will eliminate the little chip (an AND gate at U49 behind the light blue wire) in the top left section of the board as I am able to move that function to an 74LS138.  Yes, the soldering is pretty ugly but sound as this is an R&D board only.  Note there is a USB-C connector for external power and a jumper below it.  These are for the 800xl...which I tested this board in and it works there, too.  (My 800XL would like more memory, too.)  Since CPLD's are hard to come by, I have had to resort to using basic 74 logic chips.  The last I checked, there were Xilinx CPLD's available but they need level shifters as they are 3.3 vdc.  This results in a similar chip count anyhow so there isn't a great advantage to using Xilinx CPLD's.

 

installed_in_600xl_back.thumb.JPG.5bfddd0dabe19fbafca968043d9ad2a0.JPG

 

 

600XL from the top front.

 

installed_in_600xl_top.thumb.JPG.88fd379989d590f3d26e4e39e04b286d.JPG

 

 

Simple checker screen showing the 320k of RAM.

 

sim_checker_320k_screen.thumb.JPG.05d062a34f48ba35149df019514403de.JPG

 

    

SpartaDOS X is happy, too.

 

spartados_memory.thumb.JPG.eefd4cff442d8dafe9cd716e03d47aa9.JPG

 

This is a rendering of the final board I'll be ordering.  

 

802054381_FinalBoard.thumb.png.c9e3d4eccf58ab183f5cf98877632282.png

 

 

memory_banks.JPG

  • Like 12
Link to comment
Share on other sites

Hello Brian

 

Wouldn't it be much more fool-proof if you could eliminate the 600XL/800XL jumper?  Maybe by using something that switches automatically depending on whether a USB-power source is used or not?

 

Sincerely

 

Mathy

 

Link to comment
Share on other sites

7 minutes ago, Mathy said:

Hello Brian

 

Wouldn't it be much more fool-proof if you could eliminate the 600XL/800XL jumper?  Maybe by using something that switches automatically depending on whether a USB-power source is used or not?

 

Sincerely

 

Mathy

 

It could be done.  But it would raise the cost.  The jumper is the cheapest solution.  But I do concede that it would be nice to not have any jumper, switch, etc.  Do you have any ideas as to how to do this without a voltage drop?

 

 

Link to comment
Share on other sites

Nice!  You are in essence (functionally) recreating the Ram 320XL?

 

 

It is/was a nice upgrade.  What was missing was a pass-thru for the PBI.  But since your expansion stands vertical, a pass-thru would likely be difficult.  Any chance you would be willing to have it lay horizontal? 

 

Would it be of any value for you to have one of the Ram 320XL's to look at?  I had a couple of them, but sold them several years ago.  Likely someone could loan you one if you asked. 

Link to comment
Share on other sites

2 hours ago, Larry said:

Nice!  You are in essence (functionally) recreating the Ram 320XL?

 

 

It is/was a nice upgrade.  What was missing was a pass-thru for the PBI.  But since your expansion stands vertical, a pass-thru would likely be difficult.  Any chance you would be willing to have it lay horizontal? 

 

Would it be of any value for you to have one of the Ram 320XL's to look at?  I had a couple of them, but sold them several years ago.  Likely someone could loan you one if you asked. 

I thought about laying it horizontal.  The easiest way to lay it horizontal and add a pass-through would be to put an edge connector on both sides and add a short cable between the computer and the 320k RAM expansion...like the 1090 would use.  The board would be considerably larger and take up a lot more space on the desk.  Since I've already experimented with such a design, there aren't that many PBI devices around, and the space considerations I just mentioned, I went with a vertical design.  That being said, if a horizontal design is more desirable I will certainly look into it.  One challenge is to keep the board size under 100mm x 100mm so as to try and keep the board costs down.

 

I've seen the posts and pictures on the Ram 320XL.  It uses a CPLD and the CPLD code would have been most helpful but I didn't find it posted.  My board is functionally identical to the Ram 320XL as it uses the same bits to bank the RAM.  

 

I have been wondering if there is any "standard" to use bits 2, 3, 4, 5, 6 all as bank numbers.  If bit 4 were to be used for an address, with bank 0 being the base RAM, it would be possible to provide 64k + 512k extended RAM.  Is this how some upgrades provide 576k?  I suppose there could be compatibility problems with such a banking scheme, however.

  • Like 1
Link to comment
Share on other sites

2 hours ago, invisible kid said:

Great work! I would buy one as it is now, no modifications. Keep us updated!

Thanks! 

 

I don't know if the prototype would survive shipping with all those wires hanging all over the place.

 

It will take about 2 to 3 weeks until I have the boards in.  I didn't order quite yet as I want to order some other boards as well.

  • Like 1
Link to comment
Share on other sites

5 minutes ago, reifsnyderb said:

The board would be considerably larger and take up a lot more space on the desk

BITD I built a Centronics Printer/RS232 Interface that used the PBI, it was horizontal and was a real

pain due to limited desk space, if I could have made it vertical I certainly would have. ( didn't really think about it at the time :) )

Link to comment
Share on other sites

Hello Brian

 

14 hours ago, reifsnyderb said:

It could be done.  But it would raise the cost.  The jumper is the cheapest solution.  But I do concede that it would be nice to not have any jumper, switch, etc.  Do you have any ideas as to how to do this without a voltage drop?

 

IIRC Bob Woolley ( @bob1200xl ) used a DS1210 in one of his designes he published in Atari Classics Magazine.  No sure about the number though.

 

Sincerely

 

Mathy

 

Link to comment
Share on other sites

Hello Brian

 

2 hours ago, reifsnyderb said:

I thought about laying it horizontal.  The easiest way to lay it horizontal and add a pass-through would be to put an edge connector on both sides and add a short cable between the computer and the 320k RAM expansion...like the 1090 would use.  The board would be considerably larger and take up a lot more space on the desk.  Since I've already experimented with such a design, there aren't that many PBI devices around, and the space considerations I just mentioned, I went with a vertical design.  That being said, if a horizontal design is more desirable I will certainly look into it.  One challenge is to keep the board size under 100mm x 100mm so as to try and keep the board costs down.

 

Just an idea: Keep the expansion vertical but add a socket on the circuit side.  A flat cable would plug into this socket.  On the other end of the flat cable, you could have either a 50 pin edge connector into which a small PCB is plugged that (the PCB that is) acts as a gender changer or it would plug into a socket on a second (small, but bigger than the gender changer PCB) PCB that would serve as a 50 pin edge connector.

 

Sincerely

 

Mathy

 

Edit: Had a look at the photos above: The extra socket should be on the component side.

 

Edited by Mathy
Link to comment
Share on other sites

1 hour ago, Mathy said:

Hello Brian

 

 

Just an idea: Keep the expansion vertical but add a socket on the circuit side.  A flat cable would plug into this socket.  On the other end of the flat cable, you could have either a 50 pin edge connector into which a small PCB is plugged that (the PCB that is) acts as a gender changer or it would plug into a socket on a second (small, but bigger than the gender changer PCB) PCB that would serve as a 50 pin edge connector.

 

Sincerely

 

Mathy

 

Edit: Had a look at the photos above: The extra socket should be on the component side.

 

Sounds like there would be a lot of complexity in the cabling.  How about I make a version of this that plugs into a 1090 board then other boards could be developed for the 1090 so as to use that for those that would like to do so?

Link to comment
Share on other sites

Hello Brian

 

4 minutes ago, reifsnyderb said:

Sounds like there would be a lot of complexity in the cabling.

 

Why?  Just crimp two sockets (or one socket and one edge connector) onto a piece of 50 wire ribbon cable.

 

4 minutes ago, reifsnyderb said:

How about I make a version of this that plugs into a 1090 board then other boards could be developed for the 1090 so as to use that for those that would like to do so?

 

Not everybody who wants an external memory expansion also wants (or is willing and/or able) to pay for a 1090.

 

Sincerely

 

Mathy

 

Link to comment
Share on other sites

8 hours ago, TGB1718 said:

BITD I built a Centronics Printer/RS232 Interface that used the PBI, it was horizontal and was a real

pain due to limited desk space, if I could have made it vertical I certainly would have. ( didn't really think about it at the time :) )

A Centronics Printer/RS232 Interface would be a good card for a 1090.

  • Like 1
Link to comment
Share on other sites

6 hours ago, Mathy said:

Hello Brian

 

 

IIRC Bob Woolley ( @bob1200xl ) used a DS1210 in one of his designes he published in Atari Classics Magazine.  No sure about the number though.

 

Sincerely

 

Mathy

 

That chip might work.  The price is awful, though, at over $14.00.  I'll stick with the jumper.

  • Like 1
Link to comment
Share on other sites

12 hours ago, Larry said:

It is/was a nice upgrade.  What was missing was a pass-thru for the PBI.  But since your expansion stands vertical, a pass-thru would likely be difficult.  Any chance you would be willing to have it lay horizontal? 

What about just extending the PCB to add a male header in parallel between the edge connector and the memory upgrade circuit, it would have the same pinout as the PBI but would need a standard 2 x 25 female IDC socket connector instead of the edge connector for the cable. A header with eject levers like the one below, while more expensive, would make disconnecting a PBI device cable easier.

 

755081013_headerwithejectlevers.thumb.jpg.9ecdc14eda6ce2a19a18bd60d6e8dbbc.jpg

 

https://www.digikey.com/en/products/detail/amphenol-cs-fci/53611-S50-6LF/4243314

 

 

PS: Found a similar header at much lower cost:

https://www.digikey.com/en/products/detail/adam-tech/MHR-50-VUAL/9832797

Edited by BillC
Link to comment
Share on other sites

6 hours ago, BillC said:

What about just extending the PCB to add a male header in parallel between the edge connector and the memory upgrade circuit, it would have the same pinout as the PBI but would need a standard 2 x 25 female IDC socket connector instead of the edge connector for the cable. A header with eject levers like the one below, while more expensive, would make disconnecting a PBI device cable easier.

 

755081013_headerwithejectlevers.thumb.jpg.9ecdc14eda6ce2a19a18bd60d6e8dbbc.jpg

 

https://www.digikey.com/en/products/detail/amphenol-cs-fci/53611-S50-6LF/4243314

 

 

PS: Found a similar header at much lower cost:

https://www.digikey.com/en/products/detail/adam-tech/MHR-50-VUAL/9832797

This is an interesting possibility.  However, adding any pass-throughs will add about an inch to the height of the module.  I am not sure how much use such a pass-through would get overall.

Link to comment
Share on other sites

Before I order boards, I designed a modified version for the 1090 XL Expansion System and will add that as I have a repro board assembled and ready to connect.  Larger memory modules are possible in the 1090, however, the banking is through $D1FE...and address that as far as I know nothing uses.  If $D1FE banking is used, up to 4MB could be addressed.

 

1259469514_1066M320kMemoryModuleFor1090XL.thumb.JPG.8f151836f365b294e713c42f43b4e264.JPG

  • Like 3
Link to comment
Share on other sites

10 hours ago, reifsnyderb said:

A Centronics Printer/RS232 Interface would be a good card for a 1090.

 

Here's a link to what I made :)

Appreciate it could be done a lot easier these days, but I used what was available back then.

  • Thanks 1
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...