Re: Using C64 hardware without its CPU.

From: Mia Magnusson <mia_at_plea.se>
Date: Wed, 22 Jan 2020 12:34:47 +0100
Message-ID: <20200122123447.0000128f_at_plea.se>
Den Mon, 20 Jan 2020 15:12:29 -0600 (CST) skrev tokafondo
<tokafondo_at_gmail.com>:
> Hi all.
> 
> Do the C64 allows to control its hardware without using its own CPU,
> by pokeing to the appropiate addresses trough the expansion port?
> That's what the SuperCPU and Z80 cartridges did, didn't they?
> 
> Thanks all.

As already has been answered: yes.

The exception is the internal port in the 6510. So if you want to use
the Datasette or change memory configuration you have to run the 6510.

The only reason to want to change memory configuration is to be able to
write to all RAM. Unless you at least run the 6510 for a short while at
startup, at least the Kernal ROM is obviously mapped at $E000-$FFFF
(otherwise the C64 wouldn't be able to boot stand-alone) and I assume
that Basic and I/O are also mapped in. That collides with any wish to
use as much RAM for VIC-II as possible. Sure, you can easily set the
CIA VIC-II bank select outputs to a 16k bank which you can use freely,
but you can't use all RAM unless you let the 6510 configure the memory.

But, the above is true for setting the bus in the mode where external
peripherals can access internal C64 memory and I/O.

If you *ALSO* us the Max/UltiMAX mode by pulling _GAME_ low, the C64
only decodes a smaller amount of RAM at the start of memory (iirc 4k)
and the I/O. The rest is not decoded. (Can't remember what happens with
char rom for the VIC-II, perhaps that's not decoded either).

So you should be able to both use the "let external devices access the
bus" and the Max/UltiMAX mode at the same time and then the VIC-II can
access memory that resides in your expansion device.

-- 
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.
Received on 2020-05-30 00:23:26

Archive generated by hypermail 2.3.0.