• Why $0401, $0801, $1c01? Why not $0400, $0800, $1c00?

    From pzembrod@gmail.com@3:770/3 to All on Fri Feb 12 07:27:10 2021
    Hi all,

    I figure that someone here probably knows why CBM's basic RAM always started at $xx01 addresses, like $0801, $0401, $1001, $1c01 instead of $0800, $0400, $1000, $1c00?
    What is sitting in that one byte, or what role is it playing?
    I realize that I've always taken that for granted, but never asked myself why. Or I knew it at some point in the past and forgot.

    Cheers
    /Philip

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From andy carmony@3:770/3 to pzem...@gmail.com on Wed Feb 17 10:55:46 2021
    On Friday, February 12, 2021 at 10:27:12 AM UTC-5, pzem...@gmail.com wrote:
    Hi all,

    I figure that someone here probably knows why CBM's basic RAM always started at $xx01 addresses, like $0801, $0401, $1001, $1c01 instead of $0800, $0400, $1000, $1c00?
    What is sitting in that one byte, or what role is it playing?
    I realize that I've always taken that for granted, but never asked myself why. Or I knew it at some point in the past and forgot.

    Cheers
    /Philip
    Well, everything does start at those addresses. Screen memory starts at $0400. Basic starts at $0800. Technically when entering basic programs it starts putting code into $0801 on, $0800 contains a zero and is 'unused', but $0800 is still the start of
    basic.

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

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)