HackerTrans
TopNewTrendsCommentsPastAskShowJobs

lance_ewing

no profile record

Submissions

JVIC: New web-based Commodore VIC 20 emulator

vic20.games
39 points·by lance_ewing·há 6 meses·39 comments

comments

lance_ewing
·há 6 meses·discuss
For a couple of reasons: The first is that there are already a couple of projects using FPGA to create a VIC chip replacement, e.g. Victor by Jon Brawn, and FATVIC by Thomas Lövskog. The main trigger to try a Pico 2 version was when I saw sodiumlightbaby's OCULA project for the Oric. The ULA in the Oric is the equivalent of the VIC chip in the VIC 20, i.e. the main custom chip. When it dawned on me that he was using the Pico 2 for the OCULA, I thought, "Hey! Why not try the same thing for the VIC chip?". So we've been collabing on it over the past 12 months. I think you're right though, that devices like the Victor that use FPGA will be able to get closer to 100% compatibility. The PIVIC will be an alternative that might not be 100% compatible but is very close and would suffice for most.

Yeah, the PIVIC is pin compatible, and the same size as the original chip, so no overhanging bits. The PCB is as big as the original VIC chip.
lance_ewing
·há 6 meses·discuss
My original VIC 20 machine that I had in the 80s still works as well, but a few things have been replaced along the way. I still have the same 24K expansion cart that my Dad built 40 years ago and it also still works.
lance_ewing
·há 6 meses·discuss
I'm also using the knowledge gained from reverse engineering the VIC chip to contribute to a soon to be released VIC chip replacement device called the PIVIC, powered internally by a Pico 2 chip.
lance_ewing
·há 6 meses·discuss
Yeah, it was very difficult, but a lot of fun. We used to book the school library's BBC Micro out after school and spend an hour or two each day trying to beat it. I still remember working out how to use the torches to guide the little men to walk into the room with the spider, and how to escape from the prison cell. - I'd love to try porting this game to the VIC 20 at some point. Same cpu, but the VIC's graphics are more limited. Still, with some of the tricks that people use in some of the games and demos for the VIC, maybe something similar could be achieved. Pitfall for the VIC 20 is really impressive, graphically, given its on the VIC 20:

https://vic20.games/#/pitfall
lance_ewing
·há 6 meses·discuss
JVIC (the libGDX version of JVIC) actually started out as mainly an Android project 10 years ago, but I didn't release it at that time. It was only a few months ago that I decided to add the html platform as a target, tidied it up in general, and thought it was time to release it. Given that this html version can be installed as an app on android phones, I'm not sure I need the android target anymore :D. It avoids the whole play store / app store process.
lance_ewing
·há 6 meses·discuss
Do you mean specifically the Frogger game? Or in general? - If you mean in general, it hopefully does sound very close to the original VIC 20. I actually reversed engineered the VIC chip schematic from photos of the silicon chip, so the sound emulation is based on what I worked out from the reversed engineered schematic. Some of my discussion on that is covered here:

https://sleepingelephant.com/ipw-web/bulletin/bb/viewtopic.p...
lance_ewing
·há 6 meses·discuss
I probably started the same way. I remember spending forever typing in BASIC games from magazines and books from the local library. They never worked straight off, so a bit of "debugging" was usually required, i.e. spot the typos.
lance_ewing
·há 6 meses·discuss
Maybe at 10 years old, I wasn't thinking much about working, but the VIC 20 started me on the programming path, with an IBM PC being our next home computer a few years later.
lance_ewing
·há 6 meses·discuss
Yeah, libGDX is my go to now for web-based emulators and interpreters. JVIC is the third one I've written now. The other two are JOric and AGILE:

https://oric.games/

https://agi.sierra.games/

They all use the GWT html target. I realise that there is now also a TeaVM target. I might try converting JVIC to use TeaVM at some point.
lance_ewing
·há 6 meses·discuss
Back in the 80s, I was lucky that my father was an electronics design engineer, so he built a 24K expansion cartridge for us. I agree that there were some great games for the unexpanded VIC 20 though, such as Rockman. I loved that game. So many levels for a small game.
lance_ewing
·há 6 meses·discuss
Yeah, that one is a great online emulator. I've played around a bit with that one. I have fond memories of the BBC Micro from my school days, especially the game Castle Quest.

How does it handle being run on a mobile phone? My main focus with JVIC was to try making it as easy as possible to use on mobile devices, although I'll admit that my testing has only been on Android so far. I haven't tried it on iOS yet.
lance_ewing
·há 6 meses·discuss
Exactly the same story with me. I got my VIC 20 when I was about 10, in the mid 80s, and that is how I learnt how to program and how I knew what I wanted to do as a career.
lance_ewing
·há 6 meses·discuss
In what way did it crash? What browser and device did you try running it on? - There might be an issue where its possible to start typing before the program load sequence has finished, e.g. where it has queued a "RUN" command for when the disk load has finished, but if you start typing before that, it might interfere with that RUN. I have an idea on how to fix that, if this is the issue. Just need to ignore key presses until all program load commands have been processed.
lance_ewing
·há 6 meses·discuss
The code and instructions on how to use it are here: https://github.com/lanceewing/jvic