
		VIC-20 Emulator 
		(Very brief Read.Me)

Why:	Because I didn't had a C64 but a VIC-20 before I bought
	an Amiga and to remember 'the good old days' I had to write 
	my own emulator. So here it is ......

HowToUse:

	This package contains two binairies:

	vic-00:	For the 68000 amigas
	vic-20: For the >=68020 amigas 

	Usage:

	vic-x0 [-k n] [-s n] [$xxxx file  ....]

	-k   n	number of Vertical Screen interrupts between
		the VIC-interrupts for the Keyboard.
		(default = 5 (10 per second. Real = 60 per second))
 
	-s   n	number of Vertical Screen interrupts between
		two screen-updates. 
		(default = 12 (4 per second))
 
	$xxxx	Start address where following file must be loaded.
		E.g. vic $8000 char.rom
		places the char.rom-file on address $8000 in the
		VIC-memory map.

		There are 2 special filenames:
		ramx:	add ram on the specified address. X stands
			for the size of the memory in Kbytes.
			E.G. vic $2000 ram8
			Add 8K ram to standard vic

		nopx:	Define from address to address + x * 1024
			no ram/rom/io. This can be used to overwrite
			default values which are defined in the
			vic-config file.
			E.G. vic $0400 nop3
			Removes 3K which is defined in the vic-config file.
	
	The default memory map of the vic can be defined on two ways:

	1) Vic-config: (When started from CLI)
		The 'vic-config' file contains the memory-map.
		Each line contains one address and a file.

		E.G.
		$8000	char.rom
		$c000	basic.rom
		$e000	kernal.rom

		$0400	ram3		(add 3K ram)
		$2000	ram8		(add 8K ram)

	2) vic.icon: (When started from WorkBench)
		The address and file are defined in the tooltypes

		E.G.

		$8000=char.rom
		$c000=basic.rom
		$e000=kernal.rom

		(See examples)
	
		It's also possible to define a project-icon to
		load other files into the memory. 

		The default-tool is vic-00 (or vic-20).

		ToolTypes should be defined as described above. 
		The ToolTypes mentioned in the project icons
		have a higher priority as the default ToolTypes.



	Loading of basic programs:

	Type LOAD when the emulator is started. 
	With the file-requester it's possible to choose
	the file which you want to load. 

	With SAVE "filename",8 it is possible to save 
	a program.

	(See for more information about how to load a program
	 the file Load)


Keys:	Because the key-matrix is implemented very straight
	forward not all keys have a logical place on the Amiga
	keyboard. The most important differences are shown below:

	VIC    |    Amiga		VIC     |   Amiga
	-------+---------		--------+--------
	F2     | SHIFT-F1		"       | @
	F4     | SHIFT-F2		+       | -
	F6     | SHIFT-F4		-       | =
	F8     | SHIFT-F5		=       | F10
	<-     | ` (~)			&       | ^
	'      | &			(       | *
	)      | (			HOME    | <- (BackSpace)
	@      | [			*       | ]
	:      | ;                      [       | :
	;      | '			]       | "
	STOP   | CTRL			C=      | ALT
	BACK-SP| DEL			CTRL	| TaB

	And of course you have to press SHIFT -> to move the
	cursor to the left and SHIFT V(arrow-down) to move the
	cursor upwards.

Speed:	On a 68000 system the next program takes 8.8 seconds

	10 FORI=1TO2000
	20 NEXTI

	Please send information about other systems!!!

Working Games:
	APE_ESCAPE	CAVE_IN			CHOPLIFTER.SYS_40961
	COSMIC-CRUNCHER	COSMIC-JAILBREAK	GOLD_FEVER
	MAZE		MENAGERIE		MOSQUITOS
	ORBIT		PACMAN.ATARI		PREDATOR
	QUAKERS		RAT_RACE		ROADRACE
	ROBOT_PANIC	SARGON_II		SATELLITE_PATROL
	SCORPION	SERPENTINE		TERRAGUARD
	TRASHMAN	VC-EXTRA (No Game)	VIDEOMANIA
	BUCK_ROGERS	DEFENDER		K-RAZY
	LODERUNNER	POLE_POSITION		ROBOTRON
	STAR_PATROL	UBOOT-COMMANDER		SUPER_AMOK

Not Working Games:
	ARACHNOID	(Only intro screen)
	CATCH_A_SNATCH
	CENTIPEDE
	CLOWNS		(Only intro-screen)
	ET
	FAST_EDDIE
	GORF		(Only First 2 levels are working. Timers not emulated)
	KONG
	MONEY_WARS	(Only Intro Screen. Keys are not recognized)
	STARPOST	(Joystick and Keyboard are not working??)
	TURMOIL		(Only first screen)
	WACKY_WAITERS_SYS48896	(Works sometimes)

Programs:
	Vic-programs can be found on:
	
	ftp.hrz.uni-kassel.de	(/pub/machines/vic-20)
	
	and

	nic.funet.fi		(/pub/cmb/vic  ??)

Todo:	Improve disk-support.
	Implement 'White Noise'.
	Implement NMI. (restore key)
	Improve interrupts.
	Emulate VIA's.
	Improve Key-mapping
	Make it faster. (or slower when it goes to fast)
	Improve docs.

	
Thanks:	Yacco de Leeuw 		who supplied the ROM-images
	Frank van Leeuwen	for giving hints for optimizing
				the 6502-code
	Roeland Kamps		for the video optimizing and the other
				optimizing tricks
	Andreas Heitmann	for transfering cartridges to files
	Paul Kolenbrander	and his A4000 who showed me the first
				8MHz VIC ;-).

Bug reports, remarks, improvements, $$ (not by E-mail) or 
comments (also positive):

	E-Mail etmpile@crosby.ericsson.se

	or
	
	Pieter van Leuven
	Kloosterstraat 130
	5688 HT  Oirschot
	Netherlands
