VIC - total turn off ????

Started by MIRKOSOFT, January 18, 2011, 11:59 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

MIRKOSOFT

Hi!


I want to have so more free RAM in RAM 0 as is possible.
What I need not is VIC chip. So, I want totally turn of shadow registers, all affected addresses by VIC and turn off the screen.
Turn off screen is not problem.
But I don't know which addresses are affected and could to be free, also shadow registers turning off is for me not so sure...


Can anybody help me with the minimal code/call system routine to turn off all what is written above? Also, which addresses will be free, normally occupied by VIC?


Many many thanks.


Miro
MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

Hydrophilic

The VIC only uses $400~$7FF normally.  That's all you save.  Turn off KERNAL shadow registers is just

LDA #$FF
STA $D8

But it will get changed anytime BASIC issues a GRAPHIC command.  Also, unless you turn it off, the BASIC IRQ will steal cycles to update SPRITEs and the SID.  You can save CPU cycles buy disabling the BASIC IRQ.

LDA #$C0
STA $A04

To summarize, $d8 controls KERNAL updates to VIC and $A04 (bit 0) controls BASIC updates to VIC (and SID).
I'm kupo for kupo nuts!

MIRKOSOFT

OK, thanks.


I need not BASIC, sprites, I want to make my own IRQ... I need only SID - so here's Q:
This disabling has no effect if I create sound in assembler, yes?


Thank you.


Miro

MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

Hydrophilic

Correct.  The BASIC IRQ controls things like MOVSPR, SOUND, and PLAY.  If you turn it off, these commands will not work in BASIC, but you can use assembly to program VIC and SID like on the C64.  Have fun!
I'm kupo for kupo nuts!