So David's program reconfigures the VIC-II memory map to a more convenient location, as well as adding ML routines for easier access? Hm, it sounds like the original mapping leaves a lot to be desired, and everyone grunting about all the POKE's required to program C64 video should rather be relieved Commodore didn't mass market the P500 instead.
David's routines help the BASIC programmer and seem like they do a good job of addressing the problem. I assume if the P500 was actually widely available that any commercial software would be written in machine language just like on the C64. I don't think it would have been a big deal. It seems strange today because we just know so little about the P500 and what it is really capable of. Commodore would also have finished the firmware and produced a programmer's guide that would have cleared up all the confusion.
By the way, I still wonder exactly which machines were displayed at the Hannover Fair Trade in April 1982. According to MicroComputer Printout, May 1982 they saw an Ultimax, a VIC-40, a Commodore 64 and a Commodore II. However another magazine The Torpet, May 1982 refers to the PET II and CBM II, and briefly mention the base model Commodore 64 which already was an established fact in North America, but appears to not have been the case in Europe. Even more confusing is that what MicroComputer called a VIC-40 appears to be what Torpet already at the same time said was a Commodore 64, and what MicroComputer called a Commodore 64 matches the PET II according to Torpet's review of the very same fair!
Yes, I think you have it right. My understanding is:
VIC-40 would be the C64
Commodore 64 and PET-II would have been the P500
Commodore II would be the CBM-II B-series
I know model names and specs changed almost weekly around then, and that there was a difference between what Commodore USA and Commodore Germany cooked up, but in this case at least two magazines reported from the same fair, but with different information?
Besides, is P128 simply an early synonym for P500 or is there some subtle difference between those names: P500, P128, C128-40, PET II?
It was all marketing. They are all the same machine. Commodore were working out how much ram to put in the machines and which models to release. I have no idea why they decided to name the machines differently for the US or European markets. They even had weird variations. If you look on my page I break down the machines by configuration, which means you only have 3 basic models:
BL - Monochrome, no monitor (B500)
BH - Monochrome with monitor (B700)
PL - Colour, no monitor (P500)
The "x00" models seem to be pre-production runs to work out manufacturing. Commodore planned models based on RAM capacity, so:
x05 = 64K
x10 = 128K
x15 = 192K
x20 = 256K
Then I suppose someone noticed there were two "500" models, so they changed the B500 to B600 (although no B600 models are known). So in Europe they went with "Commodore XXX" with XXX being just the number. In North America they decided to use the RAM capacity as the model number and use "CBM" rather than Commodore. Some marketing genius decided that wasn't complicated enough so he thought maybe adding "-40" or "-80" to the end to indicate the video size would help. So basically you mix up all these concepts and that explains why there are so many different models. Welcome to my world ;-)
Steve