An overview of the different Commodore BASIC versions is
here in the C64 Wiki.
C64 Basic is based on
version 2.
The C64 Basic plus Kernal only uses the "legal" NMOS 6502 instruction set, without the decimal mode.
Also, it initializes that 6510 I\O port, uses it for the tape interface etc., but doesn't do any memory bank switching with that I\O port.
I got it running on a Rockwell 65C02 based SBC, and on a
TTL CPU.
It requires 1000 Bytes of 40*25 text screen memory starting at $0400, and sort of a 6526 at $DC00 for that 60Hz /IRQ and scanning the keyboard.
Note, that the Kernal also wants to write 1000 Bytes of 40*25 color RAM starting at $D800.
IIRC The 6526 at $DD00 only would be important if you want to have the BASIC random number generation working as intended,
and\or if you want to use RS232.
During the RESET initialisation sequence, the Kernal waits for the VIC-II raster line interrupt flag to determine if it's a PAL or a NTSC C64,
means without a VIC-II in the system just a few Bytes in the sequence need to be patched to prevent the initialisation from going
into an "endless loop"...
...and for correcting the constants for the $DC00 6526 /IRQ timer when running the system at a (slightly) different clock frequency like in the C64.
C64 memory map is described
here.
Nice ROM listings are
there.
Hope, this helps.