Jump to content
IGNORED

64kb really?


Heaven/TQA

Recommended Posts

As a professional marketing manager in RL I know how creative we can be with the truth or facts… but honestly… how could Atari ever claim that the Atari 800xl/65xe have 64kb RAM? We accepted that for granted but is it true? Or do we have 62kb? Do we call the ANTIC/GTIA/POKEY/PIA etc D000-D7FF as RAM? Just because they can hold values even they can not be read or they are even multiple areas of same value?

 

C64 has true 64kb due (well minus $00/$01 maybe? ;-)) Or better the Lynx…

 

or where do the 64kb RAM claim comes from?

Link to comment
Share on other sites

Well, if you just look at what was "being sold" in terms of the hardware a consumer purchased and received, it did have 8X 4164 RAM chips that were 8Kb each, so the consumer did, literally, recieve 8X8= 64Kb. 

 

I mean, theoretically the customer could buy the system, remove the 64Kb RAM and use all of it in another system, or sell it, as 64 Kb of RAM... because that's exactly what it was. 

 

Not saying I don't get your point about what was "usable" or "available" as RAM.  It was a little deceiving for sure. But the buyer did literally get 64Kb of RAM.  Right? 

Link to comment
Share on other sites

I'm curious how the C64 does have 64K and the Atari 800XL/65XE does not?  Can someone explain?  IIRC, the C64 has more usable (BASIC) ram than the A8, but neither had a full 64K that was easily usable, and both have rom space that takes away from usable ram.  P.S. I have both systems, but have not used the C64 in many years.

Link to comment
Share on other sites

10 minutes ago, Larry said:

I'm curious how the C64 does have 64K and the Atari 800XL/65XE does not?  Can someone explain?

The 2kB from $d000-$D7FF are exclusively usable as I/O area and cannot be mapped to RAM.

ANTIC, GTIA, PIA are in this range.

 

BUT I am curious how the C64 manages to get away without an I/O area. ;)

Link to comment
Share on other sites

28 minutes ago, Larry said:

I'm curious how the C64 does have 64K and the Atari 800XL/65XE does not?  Can someone explain?  IIRC, the C64 has more usable (BASIC) ram than the A8, but neither had a full 64K that was easily usable, and both have rom space that takes away from usable ram.  P.S. I have both systems, but have not used the C64 in many years.

The Commodore 64, due to the fact it used the 6510, had very versatile memory management; with a number of differing memory maps available to the user depending on usage. For example, the entire memory map could be banked of all shadow ROM's making almost the full 64k available to the end user with the exception of some I/O (so to answer your question, some space had to be reserved for I/O to be banked back in when using this map) - Furthermore, the low level DOS was contained within the drive itself, so the kernel could be banked out completely. This is the memory map most developers used when programming in assembly as there was very little ROM overhead with calls made direct to metal.

 

It's the reason why the Commodore 64 is such a capable machine with 'only' 64k of memory. Looking at the programmers reference guide, it looks like there was about eight memory maps available.

Edited by Mazzspeed
Link to comment
Share on other sites

I saw this post and was curious about the C64 I/O as well.  It appears that on the C64 $D000-$DFFF are used by I/O.  However, the C64 uses a 6510 processor and it appears the 6510 had pins the C64 used for banking so it could use the RAM in that location. 

 

https://en.wikipedia.org/wiki/MOS_Technology_6510

 

 

Link to comment
Share on other sites

29 minutes ago, DjayBee said:

The 2kB from $d000-$D7FF are exclusively usable as I/O area and cannot be mapped to RAM.

ANTIC, GTIA, PIA are in this range.

 

BUT I am curious how the C64 manages to get away without an I/O area. ;)

 

C64 processor 6510 has dedicated I/O port visible under address $00 and $01, where you can turn on/off whole ROM and I/O.

 

https://sta.c64.org/cbm64mem.html

 

Address: $0001

Processor port. Bits:

    Bits #0-#2: Configuration for memory areas $A000-$BFFF, $D000-$DFFF and $E000-$FFFF. Values:

        %x00: RAM visible in all three areas.
        %x01: RAM visible at $A000-$BFFF and $E000-$FFFF.
        %x10: RAM visible at $A000-$BFFF; KERNAL ROM visible at $E000-$FFFF.
        %x11: BASIC ROM visible at $A000-$BFFF; KERNAL ROM visible at $E000-$FFFF.
        %0xx: Character ROM visible at $D000-$DFFF. (Except for the value %000, see above.)
        %1xx: I/O area visible at $D000-$DFFF. (Except for the value %100, see above.)

    Bit #3: Datasette output signal level.

    Bit #4: Datasette button status; 0 = One or more of PLAY, RECORD, F.FWD or REW pressed; 1 = No button is pressed.

    Bit #5: Datasette motor control; 0 = On; 1 = Off.

Default: $37, %00110111.

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

It's because the 6502 processor has a limited 64K window of what it can access,  so everything needs to compete for that space--  the ROMs, the RAM, the I/O ports, hardware registers, any extended RAM.

 

So that means that all 64K RAM rarely accessible at once,  but it's there

Link to comment
Share on other sites

5 hours ago, Heaven/TQA said:

As a professional marketing manager in RL I know how creative we can be with the truth or facts… but honestly… how could Atari ever claim that the Atari 800xl/65xe have 64kb RAM?

 

It's probably safe to say that it's more a 64K machine than the Amstrad CPC472 was a 72K machine :-D

 

(For anyone wondering, the CPC472 was a 64K machine with 8K of completely non-functional RAM installed.  This was done to get around import duties in Spain levied on machines with 64K of RAM.)

  • Like 4
  • Thanks 1
  • Haha 4
Link to comment
Share on other sites

6 hours ago, Heaven/TQA said:

or where do the 64kb RAM claim comes from?

It comes from the fact that the Atari actually has 64KB RAM, but 2 KB of RAM are obscured and can be accessed by modifying the MMU (MapRAM)

PORTB = 0x11xxx0 allows access to RAM under I/O

 

https://xxl.atari.pl/mapram/

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

On the other hand, there were 48K expansions for the 400 that in fact had 64K worth of chips but were marketed as being 48K (unsure if any were from Atari though)

 

C64 can in fact access the RAM at locations 0 and 1 - it's used as flags in some games as part of the copy protection.

Could be wrong here but how it works - any write will be mirrored to RAM.  To read it back, you need to get VIC to use z-page for an object (character, sprite, bitmap, whatever)

Then you use another sprite, preferably a single pixel then move it so that you're causing collisions with any set bits.

Over the course of multiple frames you can then read back the contents of those locations (in theory you could probably do it in a few scanlines by using multiple sprites/collisions)

 

Atari's 62K RAM - yeah we got gypped there allright.  It might have made sense to be able to remap it to where the Self-Test ROM goes.  At that point, PORTB was only partly used but I guess we might consider 1200XL that used some of those bits for the LEDs.

Supposedly some >128K expansions will in fact map the RAM under OS to the $4000-$7FFF area with some bit combinations but programatically you'd not really rely on that for something intended for widespread use.

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Heaven/TQA said:

As a professional marketing manager in RL I know how creative we can be with the truth or facts… but honestly… how could Atari ever claim that the Atari 800xl/65xe have 64kb RAM? We accepted that for granted but is it true? Or do we have 62kb? Do we call the ANTIC/GTIA/POKEY/PIA etc D000-D7FF as RAM? Just because they can hold values even they can not be read or they are even multiple areas of same value?

 

C64 has true 64kb due (well minus $00/$01 maybe? ;-)) Or better the Lynx…

 

or where do the 64kb RAM claim comes from?

 

They did not say do the math!

But nevertheless there are several RAM chips in these computers and together they have 64KB RAM.

 

 

Link to comment
Share on other sites

10 hours ago, Heaven/TQA said:

As a professional marketing manager in RL I know how creative we can be with the truth or facts… but honestly… how could Atari ever claim that the Atari 800xl/65xe have 64kb RAM? 

Have a look at Amstrad CPC 472. Then look for information, how the additional 8KB (in comparison to 464) was added. You may be very surprised ;-)

Link to comment
Share on other sites

The question about 64K is a hoax. 

There never has been a "64K aera" . It was an "8-bit" aera. 

Funny, as the C64 community somehow was claiming that 64K thingy.

 

And, what to say ? 

The "limited 62K" in the 8-bit Atari allows some 3D action as in "Final Assault" ... 

Link to comment
Share on other sites

2 hours ago, TGB1718 said:

It's like hard drive manufacturers who forever still use 1000 Bytes as a Kilo-Byte where as it should be 1024 Bytes as we all know.

So we get 24 MB less per GB

This!!!  Still irritated that they changed the proper term to Kibibytes... I maintain the scum who did this should be slain.  It also does not help that there are operating systems that confuse that matter even further.  And now we're all supposed to also shorten them to KiB?

  • Like 3
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...