Upgrade a VIC 20 to a C64, possible via expansion slot?

Modding and Technical Issues

Moderator: Moderators

16KVIC20
Vic 20 Nerd
Posts: 510
Joined: Tue Apr 06, 2010 5:02 am

Upgrade a VIC 20 to a C64, possible via expansion slot?

Post by 16KVIC20 »

This may be a really dumb question, but here goes.
Since the VIC and the C64 both have the same processor (although slightly different speeds IIRC?) is it possible to make a convertor pack in a cartridge that includes a SID Chip and all the other necessaries to turn a VIC into a C64, while it has the Cartridge in? Is it possible now with modern technology? Was it possible in the 80s? Is it never possible? Personally I am happy with VICs the way they are, but if such an upgrade were possible, they could have sold them for just a bit less than a C64 and made a killing. I wonder how many of the 2.5 million VICs sold were replaced by one of the 20million C64s made? Mine wasn't, we got a Spectrum +3 and then an Amiga.
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

The c64 isn't even using the same cpu. I think it's enhanced for using memory pages or something like that. But maybe if you put the entire c64 in a cart and then used the vic-20 as just a keyboard... :) But imagine the size of that cart. With 80's technology it would be just as big as the c64 motherboard.

I think it would be cool though to use the same principle to make an awesome vic-20-cartridge game, with it's own cpu, memory and everything. How about something like Doom on the vic-20?
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

How about "Emulate a C64 on a VIC 20, possible via expansion slot?" instead of "Upgrade a VIC 20 to a C64, possible via expansion slot?"
To me, that's a bit like gutting a vintage grand piano to embed a Casio electronic keyboard. :lol:
High Scores, Links, and Jeff's Basic Games page.
User avatar
Mike
Herr VC
Posts: 4831
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

Upgrade, Emulate, whatever.

As Boray wrote, the hardware of VIC-20 and C64 are sufficiently different, that an external expansion of any kind to emulate the C64 could at best reuse the keyboard of the VIC-20.

If you want to run programs written for a C64, on real hardware, use a C64; and if you want to run programs written for a VIC-20, use a VIC-20. There are a plenty of interesting programs and games available for the VIC, so why should one bend it into a shape it couldn't fit to anyway?
Boray wrote:I think it would be cool though to use the same principle to make an awesome vic-20-cartridge game, with it's own cpu, memory and everything.
I'd be lying, if I said that idea hadn't crossed my mind as well. But I suppose that must be the hell of a good program to justify such a elaborate external expansion. A chess program might also be a good candidate for this.

OTOH, it is interesting to see what the VIC chip is capable of when one removes some limitations on the main board, which had been built in just by accident. :mrgreen: :mrgreen: :mrgreen:
16KVIC20
Vic 20 Nerd
Posts: 510
Joined: Tue Apr 06, 2010 5:02 am

Post by 16KVIC20 »

Hey guys, I didn't mean anything bad to the VIC, I'm just curious what is feasibly possible. I thought both PCs used a 6502. I never owned a C64, so I'm not that clued up on them really. I know from my Spectrum ownership, that it is possible to have an audio card with an AY 8910 chip on it, which I can plug into a 48K spectrum, and run many 128K games and get the enhanced sound. The card is about the size of 2 credit cards, maybe less. I also wondered if it was possible to upgrade a 16K or 48K Spectrum to a 128K, evertybody said no, and then a chap from Poland turned up showing us all exactly how he had done just exactly that. I know that Spectrums are probably more similar than the VIC and the C64, but I wondered if there are enough similarities to pull it off.

For the record, I'm not actually even interested in the C64 myself, I just wondered if it was/is possible. It seems to me that Commodore wanted to keep any advantage of compatibility for their own gain, not for the consumer.
16KVIC20
Vic 20 Nerd
Posts: 510
Joined: Tue Apr 06, 2010 5:02 am

Post by 16KVIC20 »

Jeff-20 wrote:How about "Emulate a C64 on a VIC 20, possible via expansion slot?" instead of "Upgrade a VIC 20 to a C64, possible via expansion slot?"
To me, that's a bit like gutting a vintage grand piano to embed a Casio electronic keyboard. :lol:
BTW, did you know it is possible to emulate a VIC 20 on a ZX Spectrum?
User avatar
Mike
Herr VC
Posts: 4831
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

16KVIC20 wrote:I thought both PCs used a 6502.
See, that is something you could have known exactly before posting.

While the VIC-20 has a 6502 built-in, it is a 6510 in the C64. The 6510 features an additional 6-bit port, which - besides other things - controls the memory mapping, so the CPU cannot only access the 64K RAM, but also the ROM sections, and I/O ports in a banked approach. That functionality is not present on the VIC-20 main board.

Furthermore, no active device on the expansion port of the VIC-20 can "tap" into it. The 6502 is bus master on the expansion port, and any cartridge - regardless how complicated it is! - just appears to the 6502 as memory expansion or I/O ports, eventually capable of issuing interrupts.
BTW, did you know it is possible to emulate a VIC 20 on a ZX Spectrum?
Well, yes ... but to quote from http://simonowen.com/sam/vic20emu:
Simon Owen wrote:Running speed is around 1/7th that of the original machine, but also dependent on how much is being written to the display and the mix of addressing modes used. The animated images below show the running speed on a normal SAM (6MHz Z80B).

[...]

Display resizing is supported, but double-height characters have not yet been implemented. It's unlikely multi-colour mode will be implemented as it would require SAM's mode 4, slowing the display code down considerably.
... which I'd consider functional, yet incomplete - and surely not cycle-exact.

At least GridRunner runs on it. ;)
Last edited by Mike on Tue Aug 02, 2016 9:26 am, edited 1 time in total.
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

16KVIC20 wrote:Hey guys, I didn't mean anything bad to the VIC, I'm just curious what is feasibly possible.
No worries. I was just teasing you. :D
High Scores, Links, and Jeff's Basic Games page.
16KVIC20
Vic 20 Nerd
Posts: 510
Joined: Tue Apr 06, 2010 5:02 am

Post by 16KVIC20 »

Mike wrote:
16KVIC20 wrote:I thought both PCs used a 6502.
See, that is something you could have known exactly before posting.
I have read about it, and now you mention it I remember. I think what I read maybe over simplified the relationship between the 6502 and the 6510.
BTW, did you know it is possible to emulate a VIC 20 on a ZX Spectrum?
Well, yes ... but to quote from http://simonowen.com/sam/vic20emu:
Simon Owen wrote:Running speed is around 1/7th that of the original machine, but also dependent on how much is being written to the display and the mix of addressing modes used. The animated images below show the running speed on a normal SAM (6MHz Z80B).

[...]

Display resizing is supported, but double-height characters have not yet been implemented. It's unlikely multi-colour mode will be implemented as it would require SAM's mode 4, slowing the display code down considerably.
... which I'd consider functional, yet incomplete - and surely not cycle-exact.

At least GridRunner runs on it. ;)[/quote]

I'm just amazed it works at all on a 48K Spectrum,
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Boray wrote:But maybe if you put the entire c64 in a cart and then used the vic-20 as just a keyboard... :) But imagine the size of that cart. With 80's technology it would be just as big as the c64 motherboard.
This is true but with modern technologies we have a C64-DTV...

Imagine if you may use the Vic-20's expansion connectors for video/audio in (to the vic) and also a direct connection to the serial and tape port of the vic plus the keyboard then we have an C64 expansion cart for the Vic :wink:

This seems crazy but if we have these connections I think will be easy for hardware gurus here in denial to hack a bit the C64-DTV for this purpose...

but I guess this will remain a dream because there aren't these connections to the expansion port :(
Mega-Cart: the cartridge you plug in once and for all.
User avatar
Mike
Herr VC
Posts: 4831
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

Guys, this thread is just a case of wishful thinking!
nbla000 wrote:This is true but with modern technologies we have a C64-DTV...
Or a Chameleon, for that matter.
Imagine if you may use the Vic-20's expansion connectors for video/audio in (to the vic) and also a direct connection to the serial and tape port of the vic plus the keyboard then we have an C64 expansion cart for the Vic :wink:
There is no connection for video in; audio in (Pin Y) does not work on earlier board revisions (and is low-pass filtered on the CR revision).

The address bus (CA0 to CA13) is uni-directional only - output -, it is the 6502 which is bus master, an external expansion *is* *not* *allowed* to put signals on it. The data bus (CD0 to CD7) is bi-directional, but governed by the 6502 - the CPU decides (with VR/W and CR/W) whether these pins are input or output.

/BLK1, /BLK2, /BLK3, /BLK5, /RAM1, /RAM2, /RAM3, /I/O2, and /I/O3 are select signals, also output and low active, i.e. they are driven to 0-level, when the 6502 accesses certain address ranges. This way, memory and I/O extensions are realised. Again, an external expansion is not supposed to put signals on these pins by itself.

S02 (Pin V) contains the processor clock, and is useful for synchronising purposes. /IRQ, /NMI, and /RESET can issue interrupts and resets from the cartridge hardware.

That's it. No way to "take over" the VIC-20 from outside.

Effectively, the cartridge would be required to contain the entire C64 hardware by itself. One could envision a program which runs on the VIC-20 and creates a mirror copy of the VIA registers accessing the keyboard into one of the I/O areas of the cartridge.

While this might work for the keyboard, the serial port, tape port, user port, and joystick connectors would need to be replicated on the cartridge as well as necessarily audio and video out. I.e. except the keyboard and power supply, nothing of the VIC-20 hardware could serve a useful purpose for this feat. End of story.
User avatar
RobertBe
Vic 20 Elite
Posts: 2311
Joined: Sat Jul 14, 2007 2:48 pm

Re: Upgrade a VIC 20 to a C64, possible via expansion slot?

Post by RobertBe »

16KVIC20 wrote:...is it possible to make a convertor pack in a cartridge that includes a SID Chip and all the other necessaries to turn a VIC into a C64, while it has the Cartridge in? Is it possible now with modern technology? Was it possible in the 80s? Is it never possible?
As an aside, there was Mimic Systems Spartan Apple II+ add-on which connected to a C64 and let you run Apple software. It was much bigger than a cartridge. :)

FCUG celebrating 30 years,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
16KVIC20
Vic 20 Nerd
Posts: 510
Joined: Tue Apr 06, 2010 5:02 am

Re: Upgrade a VIC 20 to a C64, possible via expansion slot?

Post by 16KVIC20 »

RobertBe wrote:
16KVIC20 wrote:...is it possible to make a convertor pack in a cartridge that includes a SID Chip and all the other necessaries to turn a VIC into a C64, while it has the Cartridge in? Is it possible now with modern technology? Was it possible in the 80s? Is it never possible?
As an aside, there was Mimic Systems Spartan Apple II+ add-on which connected to a C64 and let you run Apple software. It was much bigger than a cartridge. :)

FCUG celebrating 30 years,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug

Was there anything the other way round? Mind you, if you had an apple II, why would you want a C64? ;)
User avatar
Mike
Herr VC
Posts: 4831
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

16KVIC20 wrote:Was there anything the other way round?
Most probably not. The Apple II used standard chips, which could be bought everywhere, while the 6510, the VIC-II, the SID, and the two CIAs were custom chips built by Commodore's subsidiary, MOS Technologies. This prevented other companies to easily build clones.

Here's a nice webpage about the Mimic Spartan: http://www.applefritter.com/node/229, to quote from there:
"The Spartan was an Apple II clone with a difference -- the difference being that it didn't come with a keyboard."
So, very much the same situation as above. :lol:
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Mike wrote:Guys, this thread is just a case of wishful thinking!
nbla000 wrote:This is true but with modern technologies we have a C64-DTV...
Or a Chameleon, for that matter.
Yes I know :(

btw thanks for your Chameleon info.
Mega-Cart: the cartridge you plug in once and for all.
Post Reply