Retrocomputing – C64 MMU (or something)

This is one of those articles that I’m writing spontaneously, so it may contain some major errors. If so, I’ll fix them later.

An article I happened across about the Memory Management Unit (MMU) on the PlayStation 2 console (PS2) [ link to said article]reminded me that the Commodore 64 (C64) had a really complex (but perhaps, not complicated, as it was the best that could be done at the time, and once you understood it, it seems rather elegant, and sensible for the time) memory situation, made worse (by current day standards), by the way in which it was implemented.

The 6510 had a build-in I/O port, which was mapped partly to the cassette interface (which was obsolete almost before it was made), and partly to some of the bank-switching hardware.

The rest was handled by the VIC-II, which saw  1/4 of the RAM (16K) space as the main CPU (the 6510A saw 64K, but…).

The thing is, the I/O chips and ROMs (KERNEL, BASIC, and Character Generator) were all accessible or ignorable depending on switches. For some applications I patched USR() to let me access the RAM “hidden under” the I/O and ROM spaces, otherwise there was no safe way to do it from BASIC.

To get at the RAM under KERNEL and BASIC, you had to disable interrupts… but you couldn’t disable the NMI, which could be triggered at any time by the RESTORE key, so, it was usually best to not mess with the under-KERNEL RAM space or to shadow at least that vector (interrupt handler).

Anyhow, that is just what I remember offhand… I remember I took years to learn it because I didn’t at that time have access to sufficient information, there was no Internet to speak of, although there was Q-Link, I couldn’t access that and even when I got a PC, well, the C64 was well dead by then — due to what I have now come to understand were a combination of business mistakes and patent trolling, leading us to The Empire which we have today, and its three faces (G-A-M-?)

The uptake in interest in emulation might be a sign that people actually would prefer a simple general purpose system to play with, because anything that you would invest time in with no hope at all of making money off of has to be a labor of love.

Although I owned a C64, I have to say that it has to be more complicated and limited than any platform I have come across since.

I suspect they are much worse offenders, but I am glad that I don’t have to even care anymore.

We have better tools, and the potential for more stable platforms, and there might be slightly lower costs in hardware development. Although it still might be very expensive if you want to bring a product to market, I think it is more feasible now to experiment with new products than it was back in the days when many companies went belly up suddenly.

More importantly, you could hone your skills fairly quickly now, although not necessarily by following a mainstream path, and to shift from hobby to professional might involve some detours, don’t you want to be the leader of your life, with everything that you need, as you strive for what you want?

They are lots of bad things… no magazines for the layman or intermediate and aspiring craftsman… but they are good things, blogs and such.

There could also be more mini-zines, I haven’t looked for them.

I will stop here for now.

 

Advertisements

4 thoughts on “Retrocomputing – C64 MMU (or something)

    1. Yeah, with the new kits … I hope more people get the opportunity to know what engineering is about at a young age… although there needs to be more focus on fostering educated human beings than on … other things which currently derail education.

  1. That kid was very intelligent and decent. His father sent him to Jordan to study Software Engineering. Upon his return, (thus says my tricky brother,) he died in a road crash, I can’t believe it.

  2. Edit: I mean why God would kill a good-natured kid? Just because his father failed to help my tricky brother find a job? I’m not suggesting my brother killed him. I just believe he told a lie to satisfy his inflated ego.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s