Re: PET memory maps

From: Marko Mäkelä (msmakela_at_cc.hut.fi)
Date: 2002-01-17 11:59:52

On Mon, 14 Jan 2002, Ethan Dicks wrote:

> I haven't, but now I will.  The problem comes in that the Infocom engine
> takes over the machine and roaches the zero page (in fact, everything below
> the start of BASIC).  Something called by $FFD2 is scribbling on a location
> that I have assigned and I don't know what it is.

Try setting a write watchpoint in VICE.  I had similar problems with the
CBM-II version of the cbmlink server, as my program wrote to a zero page
location that was used by the IEEE-488 routines.  As a result, some
commands, like -ds (query the disk drive status), didn't work at all.

BTW, I just released cbmlink 0.9.1 and c2n 1.0.2, as both source code and
as 32-bit Windows executables, which have been tested on versions 98 and
2000.  The next version will probably support 6551 based serial
connections on the CBM-II series and plus/4, and perhaps also on the
C64/C128 equipped with a cartridge.

> I have assigned a location that I shouldn't have.  Once I find that magic
> address, I can reassign the symbol and all should be well (presuming there
> are enough unused locations that I _can_ reassign it - the Zork Implementation
> Program - ZIP - is a zero-page pig).

Have you considered implementing your own "print to screen" routine?  If
you bypass the ROM routines, the same binary could run on all ROM
versions.  Of course, you'd need to detect the hardware, and you'd have to
swap the zero page to somewhere else while doing disk I/O.  That's what
some C64 games do.  At least Stunt Car Racer does that; you can disable
the KERNAL ROM during the game; it'll crash only when you try to load or
save game situations.

	Marko


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail 2.1.1.