Vic-20 emulation on Amiga

You need an actual VIC.

Moderator: Moderators

Post Reply
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Vic-20 emulation on Amiga

Post by Boray »

Vic20 emulation on Amiga

The only choice seems to be the emulator vic-emu: ftp://de.aminet.net/pub/aminet/misc/emu/vicV0.65.lha

It's far from perfect, and has many bugs. This post is about how to work around them and get an almost acceptable vic emulator.

I am running it on a 40Mhz 68040 (Blizzard1240).

First, the settings. I set both KEY and SCREEN to 0 in the info file. If running from shell, the equivavent is:

vic-20 -k 0 -s 0

For some games, for example Omega Race, this is enough. Smooth and nice emulation. But for most other games and for basic, the emulation is running way too fast. Because of this, I made a little program slowing down the processor: http://user.tninet.se/~hlw771b/amiga/slowdown.lha

With a setting of 5000 (and type A) in my "slow down" program, most basic and many games runs smoothly.

The default screen mode is a bad one. I use MCP to promote the screen into a DblNTSC lores noflicker. That makes the aspect ratio more vic-like.

That was about the settings, now about loading programs into vic-emu.

When you use the LOAD command in the vic emu, a file requester pops up on the Workbench to selet file. BUT, you can't load a file from a root directory. If you for example try to load RAM:program.prg, then you will get a verify error. So you must have the vic program in a sub directory. For example RAM:files/program.prg ....That works. Directly after loading, press Return one extra time, or the keys will be locked in some bug mode. Also, sometimes when going to the vic screen, you need to press SHIFT to get out of some shift-lock mode. In other words, LOAD (Select file) (OK READY) Press Return RUN

It seems like it always loads into the basic memory (just ,8) and never into the program's original position (,8,1) even if you specify ,8,1 (That's quite disturbing). So, to do that, you need to do the following...

When loading plugin games, you must start from shell, and do like this:

CD Work:Emulation/vic/ vic-20 -k 0 -s 0 $9ffe "Omega Race.prg"

(Mounts the file "Omega Race.prg" at adress $9ffe.) The normal address would be $a000, but (unlike Vice) vic-emu doesn't recognize the CBM file format when doing this, so you have to load it into pos $9ffe to get rid of the two first bytes of the file. AND the file MUST be located in the same directory as the emulator, or it will hang.

Well, that's all I can think of... Good luck!

/Anders
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

I wonder if older versions of VICE (or MESS, which includes a far better VIC-20 emulation than VIC-EMU does) was available for the Amiga. MESS surely should be available, but I'm afraid my 1200/030 is too weak to run it even at a low frame rate.
Anders Carlsson

Image Image Image Image Image
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

Where could I find MESS then?

/Anders
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

How to play my game "Tribbles" on vic-emu
http://home.worldonline.se/boray/datorm ... bbles.html



vic-20 -k 0 -s 0 $2000 ram8

POKE43,0:POKE44,20
LOAD
(select "trill.gfx")
(when loaded, press return)

POKE7168,0:POKE43,1:POKE44,28:NEW
LOAD
(select "tribbles part 2")
(when loaded press return)

RUN

And... If you have a fast amiga (68030
or better), then start my SlowDown program.

/Anders
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

I found MESS here, but there only seems to be a PowerPC Amiga version:
http://www.mess.org/

/Anders
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

Now I have put together a vic-emu-toolkit and uploaded it to Aminet:
ftp://de.aminet.net/pub/aminet/misc/emu ... -tools.lha


Includes:

* A document of how to use vic-emulator V0.65
(misc/emu/vicV0.65.lha) while avoiding all the bugs.

* SlowDown - A program slowing down your computer.
(vic-emu is running way too fast on today's amigas.)
With this program you can fine tune how fast you
want vic-emu (or your amiga) to run.

* PRGinfo - A program showing information about any
CBM 8 bit file. It shows the address space the file
uses in memory and also takes an educated guess of
what the file is. (Vic20 8K plugin at block 5, C64
program, program for unexpanded Vic20 etc... It also
suggests how to load the file on vic-emu and on a
real vic or C64/128. (Examples below).

* vicstart - A script to easily start vic-emu with
cartridge files.

* MakeLoCase - Program to renames files to only lo case letters.

* MakeUCase - Program to rename files to only upper case
letters and removes the .prg extension if any.


Anders Persson
http://listen.to/boray

--------------------------------------------

Three output examples from PRGinfo:

---

CBM PRG File Info V1.0 - By Anders Persson 2004 (listen.to/boray)

File: PROGRAMMER'S AID-SYS28681.PRG

Address: 28672 to 32768 = 4096 bytes
Hex: $7000 to $8000

My guess:
Vic20 4K plugin for block 3.

LOAD "PROGRAMMER'S AID-SYS28681.PRG",8,1
SYS 28681

Vic-Emu command line $-load address: $6FFE

Vic-Emu before LOAD:
POKE 43, 0 :POKE 44, 112

---

CBM PRG File Info V1.0 - By Anders Persson 2004 (listen.to/boray)

File: BOSS CHESS 1.1.PRG

Address: 4609 to 16384 = 11775 bytes
Hex: $1201 to $4000

My guess:
Program you can start with RUN on Vic20 with 8K expansion.

LOAD "BOSS CHESS 1.1.PRG",8
RUN

---

CBM PRG File Info V1.0 - By Anders Persson 2004 (listen.to/boray)

File: MMCOMPUTERBRAINS

Address: 49152 to 51737 = 2585 bytes
Hex: $C000 to $CA19

My guess:
Machine language or data for Commodore 64/128

LOAD "MMCOMPUTERBRAINS",8,1
SYS 49152 (maybe)

---------------------------------------
Post Reply