Upgrade a VIC 20 to a C64, possible via expansion slot?
Moderator: Moderators
Upgrade a VIC 20 to a C64, possible via expansion slot?
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.
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.
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?
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.)
- Mike
- Herr VC
- Posts: 4831
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
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?
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.
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?
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.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.
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.
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.
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.
BTW, did you know it is possible to emulate a VIC 20 on a ZX Spectrum?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.
- Mike
- Herr VC
- Posts: 4831
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
See, that is something you could have known exactly before posting.16KVIC20 wrote:I thought both PCs used a 6502.
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.
Well, yes ... but to quote from http://simonowen.com/sam/vic20emu:BTW, did you know it is possible to emulate a VIC 20 on a ZX Spectrum?
... which I'd consider functional, yet incomplete - and surely not cycle-exact.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.
At least GridRunner runs on it.
Last edited by Mike on Tue Aug 02, 2016 9:26 am, edited 1 time in total.
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.Mike wrote:See, that is something you could have known exactly before posting.16KVIC20 wrote:I thought both PCs used a 6502.
Well, yes ... but to quote from http://simonowen.com/sam/vic20emu:BTW, did you know it is possible to emulate a VIC 20 on a ZX Spectrum?
... which I'd consider functional, yet incomplete - and surely not cycle-exact.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.
At least GridRunner runs on it. [/quote]
I'm just amazed it works at all on a 48K Spectrum,
This is true but with modern technologies we have a C64-DTV...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.
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
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.
- Mike
- Herr VC
- Posts: 4831
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Guys, this thread is just a case of wishful thinking!
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.
Or a Chameleon, for that matter.nbla000 wrote:This is true but with modern technologies we have a C64-DTV...
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).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
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.
Re: Upgrade a VIC 20 to a C64, possible via expansion slot?
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.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?
FCUG celebrating 30 years,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
Re: Upgrade a VIC 20 to a C64, possible via expansion slot?
RobertBe wrote: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.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?
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?
- Mike
- Herr VC
- Posts: 4831
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
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.16KVIC20 wrote:Was there anything the other way round?
Here's a nice webpage about the Mimic Spartan: http://www.applefritter.com/node/229, to quote from there:
So, very much the same situation as above."The Spartan was an Apple II clone with a difference -- the difference being that it didn't come with a keyboard."