Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ultimax & Memory Usage

110 views
Skip to first unread message

J. B. Wood

unread,
Oct 27, 2003, 7:22:00 AM10/27/03
to
Hello, fellow CBMers. The following question is for anyone with an
in-depth understanding of Commodore Ultimax (8k not 16k types) game carts
(Jupiter Lander, Clowns, Sea Wolf, etc). I have discovered that the code,
without modification, in these carts can be transferred to $E000-$FFFF in
a C-64 and run from RAM but only if the same code is also copied to
$2000-$3FFFF. It is the $2000-$3FFF requirement that is puzzling. Thanks
for your time and any comment. Sincerely,

John Wood (Code 5550) e-mail: wo...@itd.nrl.navy.mil
Naval Research Laboratory
4555 Overlook Avenue, SW
Washington, DC 20375-5337

hg

unread,
Oct 27, 2003, 8:36:40 AM10/27/03
to
"J. B. Wood" <wo...@itd.nrl.navy.mil> wrote in message
news:wood-27100...@jbw-mac.itd.nrl.navy.mil...

Sorry I can't resist. Was the philadephia experiment real? :-)


Andreas Boose

unread,
Oct 27, 2003, 1:38:46 PM10/27/03
to
On Mon, 27 Oct 2003 07:22:00 -0500, wo...@itd.nrl.navy.mil (J. B. Wood)
wrote:

>without modification, in these carts can be transferred to $E000-$FFFF in
>a C-64 and run from RAM but only if the same code is also copied to
>$2000-$3FFFF. It is the $2000-$3FFF requirement that is puzzling.

As the only RAM the CPU can access in Ultimax mode is $0000-$0fff,
usually the screen memory is located in this RAM area. But as the
VICII can only address 16KB at once, graphics data like sprites and
charset from the cart ROM also have to be loacted somewhere in the
range from $0000-$3fff (standard CBM charset is not available in
Ultimax mode).

Ultimax mode provides a trick for this, take a look at the ROMH
equation from:
http://www.funet.fi/pub/cbm/firmware/computers/c64/pla.txt

!ROMH = (_HIRAM & A15 & !A14 & A13 & !_AEC &
R__W & !_EXROM & !_GAME
# A15 & A14 & A13 & !_AEC & _EXROM &
!_GAME
# _AEC & _EXROM & !_GAME & VA13 & VA12 );

This means in Ultimax mode ROMH is asserted at $e000-$ffff for the
CPU and at the locations $3000-$3fff, $7000-$7fff, $b000-$bfff and
$f000-$ffff for the VICII (CPU and VICII have a very different
mapping!).

This means you have to copy at least $f000-$ffff of the cart's ROM
to $3000-$3fff to make CPU and VICII happy.

MfG Andreas

Cameron Kaiser

unread,
Nov 4, 2003, 12:07:23 PM11/4/03
to
wo...@itd.nrl.navy.mil (J. B. Wood) writes:

>Hello, fellow CBMers. The following question is for anyone with an
>in-depth understanding of Commodore Ultimax (8k not 16k types) game carts
>(Jupiter Lander, Clowns, Sea Wolf, etc). I have discovered that the code,
>without modification, in these carts can be transferred to $E000-$FFFF in
>a C-64 and run from RAM but only if the same code is also copied to
>$2000-$3FFFF. It is the $2000-$3FFF requirement that is puzzling. Thanks
>for your time and any comment. Sincerely,

(responding to an old post)

Something like this has been documented already. At

http://www.rittwage.com/ultimax/

Peter notes that you have to copy the character data which usually resides
in $F000-$F1FF, down to $3000-$31FF. This seems to be a VIC-motivated
requirement, since the $2000-$3FFF would occupy the top 8K of the lowest
16K bank, just like $E000-$FFFF would occupy the top 8K of the highest, and
by default you're sitting in the lowest VIC bank on a 64 in its default
banking configuration.

Unfortunately, I don't think there's any way around this by fooling with
$DD00, since all of your writes to video space would have to now go to $C000
and up, not $0000 and up, to get properly seen. I'm not near my 128 to test
this at the moment, though, but simply copying the data is just simpler.

Obviously, in true Ultimax mode the VIC will see the character "ROM" in its
proper location from the cartridge ROM.

--
Cameron Kaiser * cka...@floodgap.com * posting with a Commodore 128
personal page: http://www.armory.com/%7Espectre/
** Computer Workshops: games, productivity software and more for C64/128! **
** http://www.armory.com/%7Espectre/cwi/ **

J. B. Wood

unread,
Nov 5, 2003, 7:18:15 AM11/5/03
to
In article <3fa7b127$0$21792$45be...@newscene.com>, Cameron Kaiser
<cka...@floodgap.com> wrote:

> wo...@itd.nrl.navy.mil (J. B. Wood) writes:
>
> >Hello, fellow CBMers. The following question is for anyone with an
> >in-depth understanding of Commodore Ultimax (8k not 16k types) game carts
> >(Jupiter Lander, Clowns, Sea Wolf, etc). I have discovered that the code,
> >without modification, in these carts can be transferred to $E000-$FFFF in
> >a C-64 and run from RAM but only if the same code is also copied to
> >$2000-$3FFFF. It is the $2000-$3FFF requirement that is puzzling. Thanks
> >for your time and any comment. Sincerely,
>
> (responding to an old post)
>
> Something like this has been documented already. At
>
> http://www.rittwage.com/ultimax/
>
> Peter notes that you have to copy the character data which usually resides
> in $F000-$F1FF, down to $3000-$31FF. This seems to be a VIC-motivated
> requirement, since the $2000-$3FFF would occupy the top 8K of the lowest
> 16K bank, just like $E000-$FFFF would occupy the top 8K of the highest, and
> by default you're sitting in the lowest VIC bank on a 64 in its default
> banking configuration.

Thanks for the info, Cameron. Shortly after my original post I went back
and checked both the C= Programmer's Reference Guide and Raeto West's
book. I began to suspect it had something to do with the character ROM
and the info you provided confirms this. Thanks again for looking into
it! Sincerely,

Leon Howell

unread,
Nov 6, 2003, 9:47:37 PM11/6/03
to
> Sorry I can't resist. Was the philadephia experiment real? :-)

Careful. I've heard it's illegal to discuss it on a navy base. We
don't want the sargeant looking over his shoulder and making him do
1000 push-ups while scrubbing the toilet with one hand and peeling
potatoes with the other.

But if it's not real, why can't he discuss it?

If it is real, why hasn't some nerd with more money than me set up a
bunch of coils in his garage and...

Leon Howell

unread,
Nov 6, 2003, 9:51:37 PM11/6/03
to
Cameron, as the Commodore history expert and genius programmer, can
you tell me if the C=1764 will work with the Ultimax? What about the
RamLink? If so, then no one can really call the 'Max a toy.

On the other hand, the C=16 still seems like a misteak.

Sam Gillett

unread,
Nov 7, 2003, 1:35:04 AM11/7/03
to

Leon Howell wrote ...

>> Sorry I can't resist. Was the philadephia experiment real? :-)

>If it is real, why hasn't some nerd with more money than me set up a
>bunch of coils in his garage and...

Bill Gates did... That's how Microsoft stays one step ahead of the feds most
of the time! ;-)

Best regards,

Sam Gillett aka Mars Probe @ Starship Intrepid 1-972-221-4088

Cameron Kaiser

unread,
Nov 7, 2003, 7:06:09 AM11/7/03
to
purita...@yahoo.com (Leon Howell) writes:

>Cameron, as the Commodore history expert and genius programmer, can
>you tell me if the C=1764 will work with the Ultimax? What about the
>RamLink? If so, then no one can really call the 'Max a toy.

As a amateur historian and programmer prone to rare fits of activity, one
big problem you would have with an REU and/or a RAMLink attached to a
Max Machine would be that there is no system software inside the unit
to drive them (after all, both Mini and MAX BASIC are cartridge based).

Furthermore, the expansion port is different. There is no -IO2 signal on the
Ultimax (which affects where the REU and/or the RAMLink will map), replaced
by a line to the SP pin on CIA "#1", there is no DMA signal on the Ultimax
(replaced by the CNT pin on CIA "#1"), and no NMI signal either.

I don't know enough about the RAMLink to say if these are surmountable
obstacles, but I strongly doubt the REU would function in this environment.
Sorry. :(

Peter Rittwage

unread,
Nov 9, 2003, 10:52:20 AM11/9/03
to
Hey thanks for reminding me of my own page! :)

I have another version of Wizard of Wor that Mayhem sent me to document on
there....

Peter

"Cameron Kaiser" <cka...@floodgap.com> wrote in message
news:3fa7b127$0$21792$45be...@newscene.com...

0 new messages