Re: Hardware emulation of 6509 using 6502?

From: Mia Magnusson <>
Date: Mon, 23 Jul 2018 22:53:49 +0200
Message-ID: <>
Den Fri, 20 Jul 2018 13:36:50 -0500 skrev Jim Brain <>:
> On 7/20/2018 12:53 PM, smf wrote:
> > On 20/07/2018 18:47, Jim Brain wrote:
> >> It might be trivial, but I need to understand it better.  Can you 
> >> provide more specifics?:
> >>
> >>  * 00:8000-00:???? should actually access 15:????-15:????
> >>  * Anything else needing mapped?
> >
> > CIA's, so you can get sound & joysticks.

Since the keyboard has another mapping than a PET, and since the B uses
triports and a CIA while the PET uses two PIO's and one VIA, and since
the monitors uses different frequencies, I see little reason to make the
I/O visible to any non-aware software.

However the bank registers at $0/$1 might cause trouble since a PET
uses those addresses for other purposes. IIRC they are the basic USR
vector (at least they are on the VIC 20), so you might get away with
having the registers there for most of the time.

I realize that my attempt at feature creeping is getting a bit out of
hand, as it would also ideally remap the $0/$1 registers to another
more "safe" location. Somewhere in the PET I/O area that's unlikely to
get written to.

In my idea of how this would be used, Kernal from a PET would be
patched so the access to I/O would be transfered to the B Kernal (or in
some cases maybe will run it's own code but in the small free ram in
bank 15), while basic and most user programs won't need any patches to

The compatibility will be on par with the PET emulator that exists for
C64. I'm not sure how compatible that is though. The difference is that
on a B it will of course be compatible to the PET 8000 series while on
a P it will be comaptible to the PET 2000/3000/4000 series (just like
the PET emulator for C64, as they all are 40 column machines). Well,
maybe Steve or someone else can make config values for the 6845 to use
40 columns even on a B if emulation of the 2000/3000/4000 series is

I'm not sure if my idea is any good, but if it won't add any noticeable
cost to the final product it might aswell be added. I'm not sure who
might be prepared to patch a PET kernal for this though.

> I was basically asking for someone to fill in the specifics.  If you
> can do so, I would appreciate it.

I can't guarantee what's correct by using anything else than the
schematics as I don't have a real life CBM-II myself.

But, with a P which has memory in bank 0 you can tell VIC to use $8000
as the text screen anyway, so in a P that function won't be necessary. 

In a B machine the ram is at bank 1, 2 and in some machines also bank 3
and 4, so you'd rather move 01:8000-01:87FF to 15:????-15:????.

(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.
Received on 2018-07-23 23:02:31

Archive generated by hypermail 2.2.0.