leblanc@godzilla.ele.toronto.edu (Marcel LeBlanc) (02/05/88)
>> In article <3021@killer.UUCP>, elg@killer.UUCP (Eric Green) writes: >>> Ultimax mode... only 4K of RAM is accessible. Period. You can't read any other >>> RAM, and, what's even more mystifying, you can't WRITE any other RAM. Boggles >>> one's mind... "WHAT the HECK is THAT in there for?!". >> The Ultimax (aka Max Machine) was intended to be the cheapest CBM system, >> below or possibly replacing the VIC-20. It was primarily a game machine >> using the VIC-II chip, just like his brother the C64. He did not even have >> BASIC in ROM, although a BASIC cartridge was to be available. Well, in the >> US at least, Max died in infancy but not before leaving his mark on the C64, >> which was (ta-da) two machines in one, a Max and a C64. > >Another mind-boggling thing: The VIC-][ chip in the C64 can't see the regular >character-set ROM if the Ultimax mode is enabled. I guess the character set ... >to take advantage of Ultimax had better make sure that it only takes over >while BA and S02 are both high (i.e., when the VIC-][ chip isn't active). As >for why one would want Ultimax, figure out for yourself how you could get your >own custom Kernal into the machine without a ROM swap.... > There are actually a number of products that use the Ultimax configuration on the C-64. The Ultimax configuration allows hardware on the cartridge port to interrupt the C-64 via a simple NMI, regardless of the state of the register at byte $01. Since there is essentially nothing in the processor's address space above address $1000 (except for the $DD00 -$DFFF block), the contents of byte $01 do not affect what will appear in memory. In this configuration, ROM can be made to appear at addresses $E000-$FFFF, enabling the programmer to intercept all interrupts by suitably redirecting the CPU to addresses at $FFF8-FFFF. Another useful result of the empty address space in the Ultimax configuration is that RAM can be added to the C-64 without any extra address decoding. In the standard 'non-ultimax' configurations of the C-64, ROM can easily be added by suitably setting the /GAME and /EXROM lines of the cartridge port, then using the /LOROM and /HIROM lines as enable signals (I think this is what they are called!). However, these enable lines are only asserted during read operations. In the Ultimax configuration, the enable lines are asserted for both read and write operations. If anybody in net-land is interested in using Ultimax configuration without making their own hardware, they can use the Super Snapshot cartridge from LMS Technologies. In addition to allowing the programmer to switch back and forth between Ultimax and standard configurations, SS allows you to redirect any interrupts in the Ultimax configuration to your own routines in RAM. These technical details are not given in the manual, but if anybody wants more information please feel free to contact me through the NET. Marcel A. LeBlanc University of Toronto -- Toronto, Canada also: LMS Technologies Ltd, Fredericton, NB, Canada UUCP: ??? ARPA: leblanc%godzilla.ele.toronto.edu@relay.cs.net CSNET: leblanc@godzilla.ele.toronto.edu CDNNET: leblanc@godzilla.ele.toronto.cdn BITNET: leblanc@godzilla.ele.utoronto (may not work from all sites) -- Marcel A. LeBlanc University of Toronto -- Toronto, Canada also: LMS Technologies Ltd, Fredericton, NB, Canada