VIC-20 emulator for the Commodore 64

Discuss anything related to the VIC
Post Reply
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

VIC-20 emulator for the Commodore 64

Post by Ghislain »

I made a D64 image of several BASIC-based VIC-20 games that will work on an emulator on a Commodore 64:

http://www.geocities.com/classicspiderman/vic20emu.zip

Also included on the D64 image is the emulator itself (which was published in Compute!'s Gazette). There was a bug with the joystick routine which I fixed by disassembling the code.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

I would like to know more about the emulator.
High Scores, Links, and Jeff's Basic Games page.
PaulQ
undead vic
Posts: 1967
Joined: Sun Jan 14, 2007 2:57 pm

Post by PaulQ »

Funny, I was just reading about that in one of my Compute Gazettes. I should do a scan of the article and put it on the Wiki.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

I uploaded the binary almost a year ago:

http://www.cbm.sfks.se/files/vic-emu.zip

At best, the one from the Gazette could be described as a VIC simulator. But it is cool that Ghislain fixed some bugs. 8)
Anders Carlsson

Image Image Image Image Image
User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

What does that even mean? Do I really have to run a 64 emu to find out or can someone explain? I really don't want to run a 64 emulator. :P

EDIT: Nevermind. I got over my laziness. I ran the program. Interesting, but I really expect some kind of 22 column simulation (or wide character set). It wouldn't have been so hard to do.
High Scores, Links, and Jeff's Basic Games page.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Yes, it would be hard to display 22+ columns on a C64. Exactly 20 is relatively easy, but VIC software would not look and run well. Even the only VIC-20 emulator on the Amiga didn't bother trying to display the wider characters as it would take too much CPU to generate the display.

As a side challenge, one could try to write Basic programs that will run on any C= computer without modification. By making some clever guesses about ROM contents, I believe one could even make a program full of conditional POKEs instead of many separate versions.

Actually, I saw a Basic listing in a 1986/87 issue of COMPUTE! It was some text/adventure game published for the IBM PC, Amiga, Apple II, C64 and Atari 8-bit. The original listing was the IBM PC one, with only a handful of lines required to be altered for all the other computers, except the Atari version which was completely different from the others, thus requiring a total rewrite despite being only a text game.
Anders Carlsson

Image Image Image Image Image
User avatar
Mike
Herr VC
Posts: 4838
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

carlsson wrote:By making some clever guesses about ROM contents, I believe one could even make a program full of conditional POKEs instead of many separate versions.
You could separate the hardware dependent parts of the program into subroutines. I would handle simple sound-effects this way. More difficult are user-defined characters, but still doable (the inverse character trick involves copying the right part of the character set, for example).

But preserving the screen layout remains painful enough. Unless you can break the lines at will, like in text adventures, you'll have lots of fun bridging between 22 wide chars on a 40 columns displays (with sprites in the side-border, perhaps), and displaying 40 chars on VIC's display (doable in hi-res).

It's just a Small Matter Of Programming.
Post Reply