Jump to content
IGNORED

RAM Upgrade Applications


ClausB

Recommended Posts

Hello Claus,

a long time ago Larry White asked me about some hardware and programs you did (e.g. ACE 80 and other stuff). Since I could not answer his questions, I posted them in the Abbuc forum - alas, no-one else at Abbuc could answer them... But now you have posted right into this topic at Abbuc forum, so maybe you have the time now to answer Larry`s questions...

 

But, ahem, the answer is not nescessarily required at Abbuc forum, since Larry also reads atari-age forum you may send him a pm or answer his questions here... (hopefully you have read Larry`s questions at the Abbuc forum)... And err, yes, your german is very good !! I was quite surprised when I saw or better read you speak german...!!

 

greetings, Andreas Koch.

Link to comment
Share on other sites

Hi Claus.

 

I guess you know that ICD took your design, made it into a small production PCB, and added a few jumpers for 800XL/1200XL compatability and sold it for years as the RAMBO XL, right?

 

There are alot of programs included in (and/or written for) various releases of the SpartaDOS contruction set, and SpartaDOS toolkit that directly support the RAMBO XL, among other extended ram upgrades..

 

ICD abandoned the ATARI years ago, but Steve Carden currently maintains a development project called REAL.DOS which is an improved evolution of spartados, and has written alot of utilities and commands that make much better use of extended ram than the original "ramdisk handlers" did (eg, the ability to format in double density, maintain percomm tables, direct sector reads/writes, etc.) for all sorts of applications. He has source for all of both the old and new, and has been very involved in DOS level coding since the early 80s on the ATARI. He'd probably enjoy hearing from you.

 

http://www.tcpipexpress.com is his website. There is a current mailto: link on the main page.

 

 

The Rambo XL is a sweet upgrade, I further upgraded mine to 512K!

Link to comment
Share on other sites

Hello Claus,

a long time ago Larry White asked me about some hardware and programs you did (e.g. ACE 80 and other stuff). Since I could not answer his questions, I posted them in the Abbuc forum - alas, no-one else at Abbuc could answer them... But now you have posted right into this topic at Abbuc forum, so maybe you have the time now to answer Larry`s questions...

 

But, ahem, the answer is not nescessarily required at Abbuc forum, since Larry also reads atari-age forum you may send him a pm or answer his questions here... (hopefully you have read Larry`s questions at the Abbuc forum)... And err, yes, your german is very good !! I was quite surprised when I saw or better read you speak german...!!

 

greetings, Andreas Koch.

I did reply to the "ACE80-XL?" topic started by Larry (same Larry?) on this forum but nobody replied to that. To answer the question from 2004 on ABBUC, I will be happy to put ACE80 into the public domain. I had no idea until last week that anyone still cared about it! I'll have to set up the old 800 and build an SIO2PC cable to upload the code. I'll even send up the source. Give me a few months to get around to it though, I'm crazy busy.

Link to comment
Share on other sites

I found an old copy of my XE-compatible (16K bank) 256K upgrade document. If it's not already on-line somewhere, I can scan it and post it here. Would anyone care to see it?

 

Hell yeah.. Post away.. Its on-line in many places, but its been reformatted from text-file, to news-group posts, etc..

Im sure everybody would like to see a copy of the original document, if nothing else, for history's sake..

Link to comment
Share on other sites

Here it is. Boy that listing text is tiny. My eyes were better back then.

 

I guess I screwed up choosing 32K banks for the original article. I really wanted a one-chip circuit, having studied Steve Wozniak's minimalistic circuit design. I figured software could deal with it. The Axlon Ramdisk for the 800 had used 16K banks but with a different switching method, so I saw no reason for compatibility. But once the XE came out, using the same PIA bits, I bit the bullet and modified the design.

 

Is anyone still using the original 32K bank design?

post-18605-1205328485_thumb.jpg

post-18605-1205328517_thumb.jpg

post-18605-1205328543_thumb.jpg

post-18605-1205328560_thumb.jpg

post-18605-1205328575_thumb.jpg

post-18605-1205328593_thumb.jpg

  • Like 3
Link to comment
Share on other sites

Is anyone still using the original 32K bank design?
Nope, and outside of your texts I haven't even seen a mention of a 32K bank before so that aspect was dropped faster than a hot potato. Only 16k banks that I am aware of today.

 

I'm using a one meg Newell 800XL which is probably also loosely based on your design. I have spent some time looking for the original Byte article, of course to no avail, just to see what was said about ramdisks way back when.

 

Thanks so much for everything.

Link to comment
Share on other sites

Is anyone still using the original 32K bank design?
Nope, and outside of your texts I haven't even seen a mention of a 32K bank before so that aspect was dropped faster than a hot potato. Only 16k banks that I am aware of today.

 

I'm using a one meg Newell 800XL which is probably also loosely based on your design. I have spent some time looking for the original Byte article, of course to no avail, just to see what was said about ramdisks way back when.

 

Thanks so much for everything.

 

Heh. Actually the NEwell is NOT based on his design at all.. Newell was the "other" design.. If you run RD.COM in spartados, it will recognize his upgrade as a "256k RAMBO/XL" and a newell 256k upgraded machine as a "newell 256k upgraded XL". Your 1-meg machine is even further removed from the Bucholz upgrade in that it uses more advanced circuits to latch pia bits under specific circumstances and allow you to still have BASIC and SELF test. The popular "additions" to the Bucholz 256k upgrade that brought it to 512k and 1meg did not include those features. You could install them with a switch which would "give back" the approprate portb bits to regain BASIC and SELF-TEST, but if I recall, the NEWELL 1-meg (or at least the latest incarnation of it which is a pretty nice sized PCB that installs inside the machine) does this automatically by sensing the state at bootup (eg, basic enabled, or self-test initiated)..

 

 

The newell 256k doesnt use the same ICs as Claus's upgrade, niether does it use the same PortB bit-scheme for banking..In some ways, the newell design is actually "more compatable" with the 130xe. It was developed independantly from the Claus Bucholz upgrade (both the RAMBO XL and the WIZZTRONICS are essentially ripoffs of Claus's revised 16k banked 256k upgrade).. Newell used 16k banks from day 1. Since the mid 80s, there has essentially been two popular supported "standards" for memory upgraded XLs: The Newell type, and the ClausBucholz/RAMbo XL/Wizztronics type.

 

There were plenty of people using his 32k bank design initially.. However, once the 130xe was released and established a "standard" for extended ram banking (16k banks), everyone took Claus's advice and changed their upgrades to the "16k banked" version, which is the version of the upgrade doc that is seen nowadayze everywhere..

Edited by MEtalGuy66
Link to comment
Share on other sites

I have spent some time looking for the original Byte article, of course to no avail, just to see what was said about ramdisks way back when.

Here's the last section of the article - about the RAMdisk software.

 

Page 252 also has my favorite line: "If it doesn't fit over the circuit, carefully pound a dent out of the shielding with a hammer." I'm surprised they agreed to print that. I wonder how many would-be upgraders I scared off with that one!

post-18605-1205689352_thumb.jpg

post-18605-1205689374_thumb.jpg

Edited by ClausB
Link to comment
Share on other sites

The newell 256k doesnt use the same ICs as Claus's upgrade, niether does it use the same PortB bit-scheme for banking.

Is there a link to a Newell schematic? What is Newell's Port B bit scheme?

 

If I remember correctly, the newell is more compatable with the 130XE in that it does not use bit 5 as a bank-select bit.

Link to comment
Share on other sites

I have spent some time looking for the original Byte article, of course to no avail, just to see what was said about ramdisks way back when.

Here's the last section of the article - about the RAMdisk software.

 

Page 252 also has my favorite line: "If it doesn't fit over the circuit, carefully pound a dent out of the shielding with a hammer." I'm surprised they agreed to print that. I wonder how many would-be upgraders I scared off with that one!

 

I had my 256K upgrade done by someone in our local user group, and that's exactly what he did. I've got a shield with a dent in it to accomodate the memory upgrade. Of course, now there are other upgrades in there and the shield just stays off. :)

Link to comment
Share on other sites

Is there a link to a Newell schematic? What is Newell's Port B bit scheme?
Wes Newell's home page is here:

http://71.252.167.166:8080/

In the download section there is a zip of all his ram upgrades in tiff forms.

 

The banking bytes used are:

01,03,05,07,09,0B,0D,0F

21,23,25,27,29,2B,2D,2F

41,43,45,47,49,4B,4D,4F

61,63,65,67,69,6B,6D,6F

81,83,85,87,89,8B,8D,8F

A1,A3,A5,A7,A9,AB,AD,AF

C1,C3,C5,C7,C9,CB,CD,CF

E1,E3,E5,E7,E9,EB,ED,EF

 

I had to hunt that information down from this:

http://groups.google.com/group/comp.sys.at...1a396dde5b8f39e

 

Mine is set up with a switch for BASIC On or Off, but the self-test bit must be latched somehow in combination with bit 4 and thus works the self-test ROM just like it normally would - sort of.

01111111 = self test ROM 7F

01101111 = unique ramdisk bank 6F

11101111 = another unique ramdisk bank EF

 

MEtalGuy66,

Genuinely thanks for the history lesson, but what I really meant by my statement was that even Wes Newell owes Claus for the inspiration at the very least. You just can't keep a good idea like this to yourself no matter what shape it takes in the end.

 

Claus,

I was wondering, what assembler created that QmegXLd.src listing you posted? It is so much like Mac65 and yet there were no semi-colons in the comment lines...? Post edited Mac65 assembler listing? It wasn't by chance some obscure PC cross assembler? :lust:

 

I'll remove this of course if you object to it's being posted here. This is Mac65 form stripped of line numbers to be more compatible with other assemblers and converted from Atascii to ascii. Some of the labels were impossible to read correctly so there still might be a mistake or two in there - watch out. But if you will ENTER ,a this text after conversion to Atascii and then do ren100,10 and assemble it, you will match even the line numbers in the QmegXld.src JPEGs posted. I love it - thanks again Claus.

qmegxld.zip

Link to comment
Share on other sites

I was wondering, what assembler created that QmegXLd.src listing you posted?

I'll remove this of course if you object to it's being posted here.

 

Thanks for all the info.

 

IIRC, it was the good ol' Atari Assembler/Editor cart! Or maybe the one from OSS?

 

No objection at all. Thanks for posting it, as I didn't have it in PC form yet.

 

BTW, did anyone ever catch the format bug? If you read the listing, you see that the FORMAT call never initializes the variable SECLEN, which can cause problems sometimes. I think I put a fixed version on the BBSs back then, but so many copies had already gone out (like this one).

Edited by ClausB
Link to comment
Share on other sites

The self-test bit is available because you can't enable the extended RAM in $4000-$7FFF at the same time you enable self-test code in $5000-$57FF, right? You don't have to latch it, just gate self-test with Bit 4.

 

Bob

 

Is there a link to a Newell schematic? What is Newell's Port B bit scheme?
Wes Newell's home page is here:

http://71.252.167.166:8080/

In the download section there is a zip of all his ram upgrades in tiff forms.

 

The banking bytes used are:

01,03,05,07,09,0B,0D,0F

21,23,25,27,29,2B,2D,2F

41,43,45,47,49,4B,4D,4F

61,63,65,67,69,6B,6D,6F

81,83,85,87,89,8B,8D,8F

A1,A3,A5,A7,A9,AB,AD,AF

C1,C3,C5,C7,C9,CB,CD,CF

E1,E3,E5,E7,E9,EB,ED,EF

 

I had to hunt that information down from this:

http://groups.google.com/group/comp.sys.at...1a396dde5b8f39e

 

Mine is set up with a switch for BASIC On or Off, but the self-test bit must be latched somehow in combination with bit 4 and thus works the self-test ROM just like it normally would - sort of.

01111111 = self test ROM 7F

01101111 = unique ramdisk bank 6F

11101111 = another unique ramdisk bank EF

 

MEtalGuy66,

Genuinely thanks for the history lesson, but what I really meant by my statement was that even Wes Newell owes Claus for the inspiration at the very least. You just can't keep a good idea like this to yourself no matter what shape it takes in the end.

 

Claus,

I was wondering, what assembler created that QmegXLd.src listing you posted? It is so much like Mac65 and yet there were no semi-colons in the comment lines...? Post edited Mac65 assembler listing? It wasn't by chance some obscure PC cross assembler? :lust:

 

I'll remove this of course if you object to it's being posted here. This is Mac65 form stripped of line numbers to be more compatible with other assemblers and converted from Atascii to ascii. Some of the labels were impossible to read correctly so there still might be a mistake or two in there - watch out. But if you will ENTER ,a this text after conversion to Atascii and then do ren100,10 and assemble it, you will match even the line numbers in the QmegXld.src JPEGs posted. I love it - thanks again Claus.

qmegxld.zip

Link to comment
Share on other sites

  • 3 weeks later...

Just came across an early draft of my BYTE article. It reads rougher than the printed copy - the editor did a fine job. One phrase we did not agree on: I insisted on keeping "...the Atari is unquestionably the finest machine in its class" but he could not allow it. His final edit was weak in that case, IMHO.

QMEG.txt

Link to comment
Share on other sites

  • 1 month later...

Dear Claus, thank you for your work on QuaterMeg mod!

 

I am relatively new to 8-bit Atari, having got my first computer, a 130 XE, in 2005.

 

Recently I found a 800 XL in thrift store for 5$, and once I brought it home and plugged it in, it didn't work well, going into memory test mode and detecting lots of red bars.

 

I snipped all 4164 chips, socketed ram pads and populated them with faster and newer 41256 chips, grounding the extra adress line. It worked and I was happy for a while, but it was bugging me that I have 256K of RAM, but can only use 64K. So I started looking for information and came across your QuaterMeg 16K instruction.

 

I snipped U27, socketed it's pad, built a tiny PCB with pins for socket, 3 ICs and a rat nest of wiring between them. I tested it with Ice-T terminal emulator that comes bundled with Ape for Windows trial. This program requires 128K minimum. It worked!

 

After this I looked around for a ram disk tester and found XRAM 0.21.0. This test finds 15 banks for the total of 240K RAM. I'm not sure if this is normal, or should it be 16 banks with 256K RAM, and I messed up something?

 

I tried to use XRAM on Atari800Win Plus, but the closest thing it has to your mod is using "Rambo XL", but in this emulator it's not 256K (8x41256) mod, it's 320K (8x4164 + 8x41256), so it doesn't help.

 

Can you please let me know if my implementation has bugs? Or 15 banks / 240K is a normal report?

 

Thank you very much in advance!

 

Adrian

 

PS: I decided to type up what I see on XRAM screen. Please notice how nothing is detected at $87 :(

 

	0 1 2 3 4 5 6 7 8 9 A B C D E F
$0x - - - - - - - - - - - - - - - -
$1x - - - - - - - - - - - - - - - -
$2x - - - - - - - - - - - - - - - -
$3x - - - - - - - - - - - - - - - -
$4x - - - - - - - - - - - - - - - -
$5x - - - - - - - - - - - - - - - -
$6x - - - - - - - - - - - - - - - -
$7x - - - - - - - - - - - - - - - -
$8x - - - @ - - - - - - - @ - - - @
$9x - - - - - - - - - - - - - - - -
$Ax - - - @ - - - @ - - - @ - - - @
$Bx - - - - - - - - - - - - - - - -
$Cx - - - @ - - - @ - - - @ - - - @
$Dx - - - - - - - - - - - - - - - -
$Ex - - - @ - - - @ - - - @ - - - @
$Fx - - - - - - - - - - - - - - - -

Edited by dhau
Link to comment
Share on other sites

Dear Claus, thank you for your work on QuaterMeg mod!

 

Can you please let me know if my implementation has bugs? Or 15 banks / 240K is a normal report?

 

PS: I decided to type up what I see on XRAM screen. Please notice how nothing is detected at $87 :(

 

	0 1 2 3 4 5 6 7 8 9 A B C D E F
$8x - - - @ - - - - - - - @ - - - @
$9x - - - - - - - - - - - - - - - -
$Ax - - - @ - - - @ - - - @ - - - @
$Bx - - - - - - - - - - - - - - - -
$Cx - - - @ - - - @ - - - @ - - - @
$Dx - - - - - - - - - - - - - - - -
$Ex - - - @ - - - @ - - - @ - - - @
$Fx - - - - - - - - - - - - - - - -

Thanks for your thanks, but I should thank you for building another QMeg XL. Good to know that it's still useful.

 

I think your upgrade is working fine. As you noted, it is not 64K+256K, rather it's 64K+192K. So, the first 4 banks ($83, $87, $8B, $8F) address the same physical RAM as the non-extended system RAM. And since the switched banks all appear in place of the 2nd 16K block of system RAM, the 2nd bank ($87) appears in place of itself. A test program would therefore detect no bank there. So, the first 4 banks should not be used as extended RAM since they are your system's normal 64K. One exception is that the 4th bank is the same as the RAM underneath the OS ROM, so if you don't use the RAM OS switch, you can use the 4th bank.

 

I hope that explanation is clear. In summary, the 12 banks at $Ax, $Cx, and $Ex are your 192K extended RAM, and the 4 banks at $Ex are equivalent to the 130XE extended RAM. Enjoy your reborn XL!

Edited by ClausB
Link to comment
Share on other sites

heres a question..

 

While messing with the 16meg upgrade for the MIO... It dawned on me that it would be really easy to do the same thing with a stock 130xe..

 

The 130XE uses 4 banks of 16k for its extended ram for a total of 64k..

 

The addition of one 8-bit register would give you the possibility of "switching" this 64k with 255 additional "chunks" of 64k.. (each of which would be accesed normally as 4 16k banks)..

This would give you a total of 1024 16k banks... or 16megabytes.

This wouldnt compromise 130xe compatability at all..

 

This could easily be done with a few standard TTL ICs (or a GAL) and the refresh could be accomplished the same way Bob Wolley did it in his 1meg SIMM upgrade (using CAS before RAS "auto" refresh).

 

The only question is what would be the best adress in memory to use for this register?

Link to comment
Share on other sites

Hello Ken

 

I'm using auto-refresh on my (64kB+) 1MB XEGS. On an XEGS it's not a problem, but auto-refresh seems to occupy the databus (or was it the addressbus) too long, which could lead to problems with PBI devices. Atleast that's what I've heard. Problem is, I don't know enough about this. One day, one of my XE(GS)s will have (64kB) + 16MB to. But I guess it'll be using SRAMS.

 

BTW I plan to use an address in the $D304-$D3FF range. If somebody made the mistake to access extended memory using not $D301 but something else in that range, you'll atleast end up in extended memory. And it's still compatible with anything that's written as it should be. Only with "special" software, you "see" that there is more then 1 or 2 MB.

 

If you want to keep separate ANTIC and CPU access, you have to use a "new" address (as in "not $D301") when you go over 1MB.

 

Greetings

 

Mathy

 

PS will it be able to swap 16kB as well as 64kB banks?

Link to comment
Share on other sites

Mathy.. It wil not change the way the 130xe extended ram works at all.. It will add another register that swaps the ENTIRE 64k extended ram space with 255 "alternate" 64k extended ram spaces.. And regardless of which of these is selected, the extended ram will still be accessed as 4 16k banks via PORTB..

 

The upgrade will not use ANY PIA PORTB bits at all.. The PIA will be left completely "stock"...

 

So yeah, you'd obviously want to put the register somewhere OTHER than in the $4000-$7FFF range..

 

What Im asking is what other considerations are there? I mean, The MIO uses the $D1xx range for it's operating variables & registers. So this is one area you'd want to avoid for the sake of PBI device compatability..

Link to comment
Share on other sites

  • 2 weeks later...
What Im asking is what other considerations are there? I mean, The MIO uses the $D1xx range for it's operating variables & registers. So this is one area you'd want to avoid for the sake of PBI device compatability..

Howbout page $D7? Neither the 800 nor the XL brought out the decode signals for pages $D1 and $D7, so any hardware that uses them must decode them itself. You said MIO uses $D1 and $D6. Is $D7 free?

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...