Reading this page on Commodore 64 memory structure and usage I stumbled across a cell where the table claims that this memory is unused. What exactly does this entail?

Does this mean that if you wanted to put something in that address you can put whatever you want? Confused, and would appreciate all answers.



Back in the day, it meant that present versions of the Commodore BASIC and Kernel did not use those locations, but Commodore said nothing about whether future versions of the ROM might do so. Addresses 251-254, by contrast, were specifically marked as available for user programs and Commodore guaranteed that nothing in present nor future versions of the BASIC nor Kernel would do anything to conflict with such usage.

Of course, every version of the BASIC and Kernel ROMs that will ever be produced by Commodore, has been produced by now, and any locations which haven't been used by any versions released to date won't be used by any future versions, ever. Back in the day, however, programmers would have had no way of knowing that.

In official documentation, storage locations which aren't currently used, but which might be used in future, will often be marked "reserved". I don't remember whether Commodore documented the indicated addresses that way. Third-party documentation, especially written after the C64 was discontinued, will be more likely to regard unused locations as "unused" for the reasons indicated above.

  • It might be worth noting that today the word "reserved" is more commonly used for this purpose than "unused". +1
    – DrSheldon
    Oct 12 '18 at 21:32
  • 2
    @DrSheldon Not realy, as Reserved means that this location might be used at some future point and should not be used by application program. Ir one would replace unused by reserved, then there would be no usable memory within all of the 64 LiB :))
    – Raffzahn
    Oct 12 '18 at 22:10
  • 1
    Not that in the general case (apparently not here), unused could well mean there is no memory at all at this address.
    – tofro
    Oct 13 '18 at 8:51
  • 1
    -1 for shattering my illusions of getting an official BASIC 2.1 upgrade ROM :( (j/k)
    – pipe
    Oct 13 '18 at 10:33

I stumbled across a cell in the table that claims that the memory address is unused. What exactly does this entail?

Well, exactly as it's described, it's not used by any of the ROM routines.

Does this mean that if you wanted to put something in that address you can put whatever you want?

Exactly - it's one ZP address that can be used in yout programs without causing any conflict with KERNEL or BASIC ROM

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.