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.
VIC-20 emulator for the Commodore 64
VIC-20 emulator for the Commodore 64
"A slave is one who waits for someone to come and free him." -- Ezra Pound
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.
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.
Anders Carlsson
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.
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.
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.
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.
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
- Mike
- Herr VC
- Posts: 4838
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
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).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.
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.