Jump to content
IGNORED

Inside Joke?


ClausB

Recommended Posts

I have read in these forums about a battle between the Atari Home Computer folks and the Atari 5200 designers, that the 5200 should not be made expandable enough to threaten computer sales. Now I wonder whether the 5200 guys played this inside joke on the computer guys. Let me explain.

 

In this thread I have explained the Atari 800 RAM expansion scheme. One important signal was missing from all 3 RAM slots and from the OS ROM slot. That was address line A14. Without it, larger RAM expansions were more difficult.

 

Back when I was researching my 5200 article, I noticed that the expansion port had address line A14 but I could not figure out why. It played no part in decoding the page $E0-$E7 I/O expansion address space. And without other high-order address lines, A14 was useless.

 

Could it be that the 5200 designers had a spare pin on the expansion port and they put A14 on it just to slam the 800's designers? Like, "Yeah, maybe the 5200 isn't as expandable as the 800, but at least it has A14!" Maybe?

 

Maybe not, but it's the only explanation I can think of for having A14 there.

Link to comment
Share on other sites

An engineering joke that waits 30 years for the punchline? Make it good :)

 

*Blows brains out*

 

Better late than never. :)

 

If I could have a 5200 that could use and be an Atari computer, I would use it instead of my beige 800.

 

That is how cool I think that would be. :)

 

I like the beige typewriter 800, but I like the large black wedge even more. And the black wedge has a place to store a soda....

Link to comment
Share on other sites

In this thread I have explained the Atari 800 RAM expansion scheme. One important signal was missing from all 3 RAM slots and from the OS ROM slot. That was address line A14. Without it, larger RAM expansions were more difficult.

 

So why do you think they left A14 signal out of the 800s? Was this to maybe limit third party companies from making RAM expansions?

 

Allan

Link to comment
Share on other sites

So why do you think they left A14 signal out of the 800s? Was this to maybe limit third party companies from making RAM expansions?

They didn't need it for 8K, 16K , or even 32K boards. The select signals handled those boards fine. But if you try to make a 64K RAM board that covers the whole address range (like the XLs) then you miss A14 and A15. You can get A15 from the OS ROM slot, though, and could jumper it over to the RAM board. In fact, you can regenerate A14 using A15, S0, S1, S6, and S7 (all of which can be found either on the OS ROM slot or the 1st RAM slot) but it's inconvenient (and perhaps not obvious).

 

So maybe they just did not foresee the need for more than 48K RAM in the 800.

Link to comment
Share on other sites

So why do you think they left A14 signal out of the 800s? Was this to maybe limit third party companies from making RAM expansions?

They didn't need it for 8K, 16K , or even 32K boards. The select signals handled those boards fine. But if you try to make a 64K RAM board that covers the whole address range (like the XLs) then you miss A14 and A15. You can get A15 from the OS ROM slot, though, and could jumper it over to the RAM board. In fact, you can regenerate A14 using A15, S0, S1, S6, and S7 (all of which can be found either on the OS ROM slot or the 1st RAM slot) but it's inconvenient (and perhaps not obvious).

 

So maybe they just did not foresee the need for more than 48K RAM in the 800.

 

Just like Bill Gates didn't foresee a need for more than 640K.

Link to comment
Share on other sites

So why do you think they left A14 signal out of the 800s? Was this to maybe limit third party companies from making RAM expansions?

They didn't need it for 8K, 16K , or even 32K boards. The select signals handled those boards fine. But if you try to make a 64K RAM board that covers the whole address range (like the XLs) then you miss A14 and A15. You can get A15 from the OS ROM slot, though, and could jumper it over to the RAM board. In fact, you can regenerate A14 using A15, S0, S1, S6, and S7 (all of which can be found either on the OS ROM slot or the 1st RAM slot) but it's inconvenient (and perhaps not obvious).

 

So maybe they just did not foresee the need for more than 48K RAM in the 800.

 

Just like Bill Gates didn't foresee a need for more than 640K.

Just like how people didn't foresee my need for 8GB of RAM in my PC. Look who's playing Metro 2033 now, losers!

Link to comment
Share on other sites

So why do you think they left A14 signal out of the 800s? Was this to maybe limit third party companies from making RAM expansions?

They didn't need it for 8K, 16K , or even 32K boards. The select signals handled those boards fine. But if you try to make a 64K RAM board that covers the whole address range (like the XLs) then you miss A14 and A15. You can get A15 from the OS ROM slot, though, and could jumper it over to the RAM board. In fact, you can regenerate A14 using A15, S0, S1, S6, and S7 (all of which can be found either on the OS ROM slot or the 1st RAM slot) but it's inconvenient (and perhaps not obvious).

 

So maybe they just did not foresee the need for more than 48K RAM in the 800.

It wouldn't have mattered if Atari had gone with bank switching within the original memory map rather than remapping the system for the 1200XL.

What's interesting is that the Mosaic expansion board for the 400/800 had predated the 1200XL by over a year and had not only used bank switching, but used part of the address range that was totally unobtrusive to the original memory map. (ie used the 4k "hole" that was unused in the original map -3 banks of 16k for RAM, 2 of which double as cart address space, the 4k "hole", 10k addressed to the OS, and 2k dedicated to I/O)

 

That also meant that the Mosaic board used a full 64k -or more- (albeit only 50k flat addressed at any given time) vs the XL/XE map that was a maximum of 62k (130XS banking was also 62k at any given time switching 16k banks) with 2k wasted for the I/O space. But it's worse than that since you normally also have a chunk of RAM for the OS to load into. (though for games and applications that bypass the OS, you could have full use of 62k)

 

I think Chilly Willy explained that in the "What is the Atari 400?" thread.

 

 

It would have made sense for Atari to jump in with a standard for expansion compatible with the Mosaic board (which was getting software support well prior to the XL's release and offered a standard expansion scheme with no upper limit -banking in 4k chunks), but the disadvantages would have been added complexity in the memory mapper logic (bank switching rather than direct addressing) and there may have been legal issues over using Mosaic's scheme. (and Warner/Atari probably didn't want to pay licensing fees -though I can imagine a favorable deal could have been negotiated with Mosaic since Atari's compliance with Mosaic's scheme would have obvious advantages for Mosaic while a competing standard would have the opposite effect)

They probably would have avoided many (if not all) of the compatibility issues that the XL had and also could have retained the 4 controller ports. (iirc the XL mapping scheme used additional PIA I/O lines that were normally used for the controller ports -of course, dropping the ports was also a cost saving measure, but then they could at least route them to a cheap PCB edge connector expansion port -like the PBI- for addition of 2 more ports)

Link to comment
Share on other sites

What's interesting is that the Mosaic expansion board for the 400/800 had predated the 1200XL by over a year and had not only used bank switching, but used part of the address range that was totally unobtrusive to the original memory map. (ie used the 4k "hole" that was unused in the original map -3 banks of 16k for RAM, 2 of which double as cart address space, the 4k "hole", 10k addressed to the OS, and 2k dedicated to I/O)

 

That also meant that the Mosaic board used a full 64k -or more- (albeit only 50k flat addressed at any given time) vs the XL/XE map that was a maximum of 62k (130XS banking was also 62k at any given time switching 16k banks) with 2k wasted for the I/O space.

That 4K hole at $Cxxx was originally reserved for OS ROM expansion. Look at the OS board schematic and see that the motherboard data buffer is enabled in the wrong direction for RAM at those addresses. The fact that the OS board was removable meant Atari had intended to expand the OS ROM eventually. After all, Atari was all about ROM-based software, right?

 

So the XL's use of ROM there was correct. You could argue they put the wrong stuff in that extra ROM. I would rather have seen basic DOS routines in there so the RAM-based DOS would be smaller.

 

I would not call the 2K lost RAM "wasted". It's a small price to pay for the wonderfully rich register set that makes Ataris Ataris. And it includes four spare pages for I/O expansion, two of which were accessible from the 800's RAM slot 3 and one from the cart slots.

Link to comment
Share on other sites

  • 3 weeks later...

So the XL's use of ROM there was correct. You could argue they put the wrong stuff in that extra ROM. I would rather have seen basic DOS routines in there so the RAM-based DOS would be smaller.

Hmm, it was my impression that it was RAM that took the place of the entire address range in the XLs (save I/O), with the 400/800's OS ROM address range filled with RAM. (with the OS loading into RAM rather than running straight from ROM on the earlier models -or having a full 62 kB for low-level programs that bypassed the OS -except carts which needed at least 8k of that for ROM banks)

 

Besides, even if they HAD wanted to keep that for the OS (and kept the OS ROM flat mapped into memory), they could have taken the 130XE route for memory expansion and used banking within the normal (non ROM) 32k address range. (stay out of the 16k that doubles as cart ROM space -to allow that RAM to be used for carts, even better if a mode was supported that mapped the 16k normally overridden by carts to be bank switched in as well)

 

That would mean 48k RAM flat mapped at any given time (or 32k+cart ROM), plus the OS ROM and I/O and additional RAM paged into the 32k (non cart conflicting) range. That would also mean no RAM wasted by cart addressing or OS usage. (and a scheme that could be expanded with no hard upper limit -just as with the 130XE's scheme or Mosaic)

 

Hell, if they really wanted to make it flexible (and felt the cost was acceptable), they could have included all that AND offered a 62k (or 46k+cart) flat mapped RAM mode as well.

 

I would not call the 2K lost RAM "wasted". It's a small price to pay for the wonderfully rich register set that makes Ataris Ataris. And it includes four spare pages for I/O expansion, two of which were accessible from the 800's RAM slot 3 and one from the cart slots.

I wasn't saying having 2k for I/O was a bad thing, but that moving on to bank switching alone with the XLs could have avoided that 2k sacrifice altogether. (at the expense of somewhat less flat address memory)

 

Plus, didn't they end up using some of the PIA lines for the XE memory map. (part of the reason they dropped controller ports 3 and 4)

Edited by kool kitty89
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...