[comp.sys.cbm] Running Pet/CBM Programs on a C64

jharper@nunki.unm.edu (JT) (08/13/90)

I'm totally confused now. I've been trying to get a program originally
written for a 16K or 32K Commodore Pet/CBM to run on a C64. The program
is written in Commodore BASIC and I've been able to successfully load
and list it on a C64. The only problem is that the program contains
some POKE's which locks up a C64. The POKE's are video and sound
routines. The video routines are supposed to display Commodore ASCII
characters on various places of the screen. How can I get this program
to work on a C64? I remember reading a way in a old issue of Compute!'s
Gazette of how to make a C64 think it was a Pet/CBM by entering a few
POKE's. Does anybody have these? I could change the memory addresses of
the video/sound POKE commands if I knew their equivalents on a C64 but I 
don't. I'd appreciate any information which could help me get this program
to work. Please respond via email if possible. Thanks in advance.

				-JT



--
 EMAIL: jharper@carina.unm.edu                
                          
                                "A stitch in time takes up space.."          
                                 The Doctor - "Delta and the Bannerman"   

jgreco@archimedes.math.uwm.edu (Joe Greco) (08/13/90)

In comp.sys.cbm article <1990Aug12.203324.13338@ariel.unm.edu>, jharper@nunki.unm.edu (JT) wrote:
:I'm totally confused now. I've been trying to get a program originally
:written for a 16K or 32K Commodore Pet/CBM to run on a C64. The program
:is written in Commodore BASIC and I've been able to successfully load
:and list it on a C64. The only problem is that the program contains
:some POKE's which locks up a C64. The POKE's are video and sound
:routines. The video routines are supposed to display Commodore ASCII
:characters on various places of the screen. How can I get this program
:to work on a C64? I remember reading a way in a old issue of Compute!'s
:Gazette of how to make a C64 think it was a Pet/CBM by entering a few
:POKE's. Does anybody have these? I could change the memory addresses of
:the video/sound POKE commands if I knew their equivalents on a C64 but I 
:don't. I'd appreciate any information which could help me get this program
:to work. Please respond via email if possible. Thanks in advance.

This is problematic; there is no universal quickfix.  Screen memory starts
at 32768 on a PET, and 1024 on a standard C64.  Video chip pokes will have
to be converted by hand.  Sound pokes are nearly impossible to duplicate due
to the radical difference in sound complexity.  You're better off recoding
these or removing them entirely.

By the way, you may need to POKE into color RAM as well in order to get
things to appear on the screen.  This is a problem with some Kernal
revisions.

:                                "A stitch in time takes up space.."          
:                                 The Doctor - "Delta and the Bannerman"   

Nice quote.  :-)

... Joe

-------------------------------------------------------------------------------
Joe Greco - University of Wisconsin, Milwaukee - Department of Mathematics
jgreco@archimedes.math.uwm.edu		USnail: Joe Greco
Voice: 414/321-6184				9905 W. Montana Ave.
Data:  414/321-9287 (Happy Hacker's BBS) 	West Allis, WI  53227-3329
#include <witty_and_humorous_saying.h>
Disclaimer: I don't speak for the Math Department, the University, or myself.

shad04@ccu.umanitoba.ca (Dan Fandrich) (08/18/90)

In article <1990Aug12.203324.13338@ariel.unm.edu> jharper@nunki.unm.edu (JT) writes:
>I'm totally confused now. I've been trying to get a program originally
>written for a 16K or 32K Commodore Pet/CBM to run on a C64. The program
>is written in Commodore BASIC and I've been able to successfully load
>and list it on a C64. The only problem is that the program contains
>some POKE's which locks up a C64. The POKE's are video and sound
>routines. The video routines are supposed to display Commodore ASCII
>characters on various places of the screen. How can I get this program
>to work on a C64?

The easiest way would be to run the Pet Emulator program which was available
from Commodore (I think) a few years back.  Not only did it change the video 
map so that video pokes would work, but it converted sound pokes as well.  Also
built in was a DOS wedge.  As I recall, even Space Invaders for the Pet worked,
with full sound.

>>> Dan
-- 
CDNnet:     shad04@ccu.umanitoba.ca
Compu$erve: 72365,306
FidoNet:    Dan Fandrich at 1:153/511.1

r1marg@VAX1.CC.UAKRON.EDU (Timothy Margush) (08/18/90)

There is a PET EMULATOR program that will allow many PET programs to run
on the C-64.  The emulator is loaded and run, thus installing itself in
memory.  From that point on, PET programs can be loaded and run normally.

I know that this fixes most of the video incompatibilities, but I believe
the sound stuff is still not correct.  It has been a long time since I have
done this.  The emulator is available on many of the early public domain
disks.

feinberg@acsu.buffalo.edu (john a feinberg) (08/19/90)

There was a Commodore-released PET emulator for the C64 that ran quite well.
And it *did* emulate the PET sounds.  It worked on just about everything I had
other than a machine-language version of 'centipede.'  And, of course, you
couldn't use it to plug in an 8008 disk drive unit  :)

John Feinberg
SUNY Buffalo