Re: [cc65] Manic Miner game for C64 more or less done

From: Stefan Wessels <swessels1email.com>
Date: 2010-12-19 19:10:42
Hi,

>> 2. I don't use a .cfg file because I couldn't get the game working
>> when I put some segments into a 2nd portion of RAM.  This means my
>> sprites and custom characters get stamped down in memory that the
>> machine thinks is it's memory.  Don't know if there's a better way
>> (other than .cfg files).  Maybe someone can get the .cfg files to
>> work?
> 
> I guess so.  What do you mean by "get stamped down"?

I set the VIC to look at $8000 and I just moved data (stamp down) into the area between more or less $a000-$b780 without having that memory excluded from the available system memory. 

As I typed the line above, I realized I had changed where I put the data so I gave it another shot.  This time, I could get it to go because the whole game fits below $a000 and I wasn't trying to move DATA or RODATA into a second memory area.  All I had to put in the second segment (or 1st if you wish - called RAM and defined at $c000-$d000) is the stack.  Everything else fits in RAM2 from $080d to $a000.

>> 3.  The game doesn't run right on VICE.  

I just thought about it, and tested this hypotheses.  I use (CIA1.cra = (CIA1.cra & 0xc0) | 0x12;	CIA1.crb |= 0x60;) to set up timer a and b so I can get a fixed frame rate.  When I take this code out, it runs fine under Vice, just too fast.  With that code in, this code (CIA1.pra = 0;keys = 255 - CIA1.prb;) doesn't return 0, as I expect it to, and as Power64 does. Getting the cra/crb values was a crapshoot.  The issue may very well be there.

> 
>> 5.  The levels don't play exactly like they were in the original
>> because some need more sprites than I have available.
> 
> I guess you don't multiplex sprites!?

I don't.  Since sprites can move vertically across the whole screen, I suspected it might be harder than I imagine - a sprite can easily partially cross the raster line where I will need to flip.  I suspected I might not get the timing right if I wanted to stick to just C.  I also don't know what mechanisms there are to handle interrupts from C, but I haven't looked at all (and I don't even know if that's necessary - to be honest, the C64 is my beloved machine but I never did anything particularly advanced on it so I practically know nothing about doing this).

Thanks
Stefan

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sun Dec 19 19:10:52 2010

This archive was generated by hypermail 2.1.8 : 2010-12-19 19:10:55 CET