Sidekick/20

Modding and Technical Issues

Moderator: Moderators

Post Reply
doug_in_nc
Vic 20 Enthusiast
Posts: 160
Joined: Wed Feb 24, 2021 11:32 am
Location: NC, USA
Occupation: Engineer

Sidekick/20

Post by doug_in_nc »

Does anyone have any experience with the Sidekick/20 project? It’s a Raspberry pi connected to the VIC’s cartridge port that appears to use the VIC just as a keyboard and then emulates the VIC on the Pi, allowing HDMI video.

https://github.com/frntc/Sidekick64
Go to this link and then scroll down for the VIC 20 version.
User avatar
beamrider
Vic 20 Scientist
Posts: 1452
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Sidekick/20

Post by beamrider »

From reading the link, It seems that it's just emulating the Vic-I chip not the entire computer?

Other than that it looks similar to Kung-Fu flash that I have on the 64.

Seems pretty good though from first glance, wonder if anyone will be selling them...
User avatar
majikeyric
Vic 20 Afficionado
Posts: 351
Joined: Fri Oct 24, 2014 2:08 pm
Website: http://majikeyric.free.fr
Location: France

Re: Sidekick/20

Post by majikeyric »

I have all the parts here but didn't assemble them yet.

You can buy them here :
https://restore-store.de/suche?controll ... y=sidekick
Frenetic
Vic 20 Newbie
Posts: 4
Joined: Tue Mar 23, 2021 2:47 pm

Re: Sidekick/20

Post by Frenetic »

doug_in_nc wrote: Thu Jul 14, 2022 4:28 pm Does anyone have any experience with the Sidekick/20 project? It’s a Raspberry pi connected to the VIC’s cartridge port that appears to use the VIC just as a keyboard and then emulates the VIC on the Pi, allowing HDMI video.
I do have a little experience with it ;-)

The Sidekick20 doesn't degrade the VIC20 to a keyboard. If communicates on the bus as any other cartridge (just emulated in software) and basically does three things: it emulates cartridges and memory expansions, it has a rudimentary disk emulation, and optionally it can emulate a VIC in parallel to the real one (cycle accurate and in lockstep) and output via HDMI which also has Mike's VFLI extension supported. Everything is accessible from a menu, which automatically determines memory configurations for PRGs and cartridges if desired (here's a demo, mostly showing the VIC output: https://www.youtube.com/watch?v=NF0QikNZOrw)

In principle it is also possible to run the VIC20 without the real VIC, I just did not publish the schematics yet.
User avatar
beamrider
Vic 20 Scientist
Posts: 1452
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Sidekick/20

Post by beamrider »

It looks amazing - think I'll order one when the shop is open.

One question, is there any possibility to leverage the Wi-fi connectivity of the pi? One thing I've always wanted to do on the Vic is to be able to 'GET' data from the internet directly into expansion RAM without going via the slow user/serial/cassette ports. This would open up a world of possibilities for multi-player games etc.
Frenetic
Vic 20 Newbie
Posts: 4
Joined: Tue Mar 23, 2021 2:47 pm

Re: Sidekick/20

Post by Frenetic »

In principle, yes that's possible, but I have not implemented this myself.

emulaThor on forum64.de has added network functionality for the C64-version (https://www.forum64.de/index.php?thread ... a-release/), which could serve as a template. There's one thing in the VIC20 version though: the (optional) VIC-emulation is very timing critical as the emulation code is executed once for each clock cycle. Using peripherals on the Raspberry makes timings more difficult.
User avatar
beamrider
Vic 20 Scientist
Posts: 1452
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Sidekick/20

Post by beamrider »

Okay, that's interesting.

I don't think it wouldn't be a big issue to make HDMI/network support mutually exclusive.
User avatar
JonBrawn
Vic 20 Devotee
Posts: 225
Joined: Sat Sep 11, 2021 10:47 pm
Website: http://youtube.com/@vicenary
Location: Austin TX USA
Occupation: CPU design engineer

Re: Sidekick/20

Post by JonBrawn »

How on earth do you manage to snoop all of the VIC activity on the cartridge port - there aren't enough address pins and there are no block decodes for $9000 and $8000, which are kinda important!

I'm intrigued - how is it done?
Working on FPGA replacement for 6560/6561
https://youtube.com/@vicenary
Frenetic
Vic 20 Newbie
Posts: 4
Joined: Tue Mar 23, 2021 2:47 pm

Re: Sidekick/20

Post by Frenetic »

You're right! No magic involved, I need one more signal connected from the inside :-)

It's described here: https://github.com/frntc/Sidekick64#vic ... dmi-output

I also ran a VIC20 without the VIC itself, just with the emulation -- in this case I additionally need to feed in a clock signal (but this is not yet documented, but the code is there).
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Sidekick/20

Post by Mike »

JonBrawn wrote:[...] how is it done?
It could be done like I pointed out here in Denial some time ago:
Mike wrote:If you snoop more on what the 6502 produces as data traffic, you can surely improve on the model of the VIC-20 inside the FPGA, up to the point that the FPGA faithfully reproduces writes into the VIC registers: you'd need to emulate the instruction stream inside the FPGA to infer the missing address bits CA14 and CA15. Next you'd have to mirror the VIA chips, to account for any interrupts and I/O. People here are doing nice things by running VIC, CPU and VIAs in lock-step. :mrgreen:
(quoted from the thread "Capture 6560 Data From Cart Port")

However, as far as I am informed, Sidekick/20 actually uses one otherwise unused pin on the expansion cart connector to make CA15 available, which eases the task considerably.
Frenetic
Vic 20 Newbie
Posts: 4
Joined: Tue Mar 23, 2021 2:47 pm

Re: Sidekick/20

Post by Frenetic »

I was considering a similar approach for some C64 project. However, that's much more complicated (as you said) and somehow you end up running almost the entire machine in emulation ;-)
Post Reply