How The Commodore 64 Memory Map Worked [video]
youtube.com
youtube.com
10 for x = 53248 to 57343
20 poke x, peek (x)
30 next x
When I saw this code - it caused physical angst on my part, as it was obvious that this code did nothing. I knew nothing about memory mapped ROM/RAM banks at the time, but I quickly learned....I've never had as much fun programming as I did with that Commodore 64 and the Programmers reference manual (and all the Compute! secrets/tips books) - it was the youtube minecraft videos of our time.
(The C64 defaulted to a character set with only capital letters, to leave more space for graphical characters. There was a mixed-case set available, but no one ever used it except for word processing and text adventures.)
So, if you ask a chip to read a value, and it asserts 4-bit number on the 8-bit data bus, it would tend to be
1111xxxx
in binary, or 240+x.(Note: I don't know if it asserts 4 bits on the bus, and the bus pull-ups keep the upper 4 bits high, or if it's internal to the chip that the bits are naturally pulled up and it in fact asserts all 8 bits. Same net effect, modulo some sub-cycle rise/fall timing.)