Menu
====
  1. FunnyMu
  2. What is it?
  3. License
  4. Usage
  5. Keys
  6. Changelog
  7. Known bugs
  8. Contact
  9. Thanks to...




FunnyMu
=======
  Version:	0.49 (unofficial) for Windows

  Author:	Luca "MADrigal" Antignano	lucantignano@gmail.com

  Release date:	November 9th, 2009

  Based on:	FunnyMu 0.44 by Paul Hayter	cherryripe@bigfoot.com
		ColEm 1.0 by Marat Fayzullin	http://fms.komkon.org/
		MAME source code		http://www.mamedev.org/
		Simple DirectMedia Layer (SDL)	http://www.libsdl.org/

  Website:	http://www.madrigaldesign.it/creativemu/




What is it?
===========
FunnyMu is an emulator for VTech creatiVision, Dick Smith Wizzard, VTech
FunVision and Hanimex Rameses computers/game consoles, released in 1982 and
partecipating the "console war" against Atari 2600, Mattel Intellivision and
CBS Coleco Vision.

Hardware for all models:
  CPU: 		Rockwell 6502A 8-bit microprocessor at 2MHz
  Video CPU:	Texas Instruments TMS9928/9929 (PAL/NTSC versions)
  Colours:	15 + transparent
  Sprites:	up to 32 total; up to 4 simultaneously per row
  RAM:		16 KBytes (static) + 1 KByte (dynamic)
  Audio CPU:	Texas Instruments SN76489 (3 tonal + 1 noise channels)
  I/O device:	6821 PIA
  BIOS:		2KBytes ROM
  TV mode:	PAL (European, South African and Australian versions)
		NTSC (Japanese version)

Available additional hardware:
  cassette tape player/recorder for use with che BASIC language
  16 KBytes RAM expansion module
  I/O interface to connect floppy disk drive and Centronics printers
  additional rubberkey keyboard




License
=======
You are not allowed to sell or profit from Funnymu. This also applies to any
code derived from Funnymu.




Usage
=====
From a DOS Console Box type

  FunnyMu.exe [rom file] (CART.ROM is used in case rom file is not specified)

FunnyMu looks for configuration file "FunnyMu.ini" which contains settings
regarding paths where creatiVision/FunVision BIOSes, and game ROMs are stored.
These are usually:
BIOS/bios.rom	(Funvision/Rameses BIOS)
BIOS/bioscv.rom	(creatiVision/Wizzard hacked BIOS, showing creatiVision logo)
ROMS/*.bin	(store ROM files here with .bin extension)

FunnyMu both supports game ROMs and the BASIC program ROM. RESET button is
used to go into "game select" mode or to "stop" the execution of a BASIC
program.
When in "game select" mode, choose game mode by pressing either joystick
buttons, then start game by pressing any "a" to "z" key.

When emulating any BASIC ROM, press F5 to save current listing into plain text
file in the same folder as the emulator executable. A file is generated with
the name of "save001.txt", next is "save002.txt", etc.

You can load BASIC listings in plain text file format into the emulated ROM,
by pressing F7. File must be in the same folder as the emulator executable,
and name must be "load.txt".

Type

  FunnyMu.exe -help

to display useful usage informations




Emulation Keys
==============
  F3			RESET button (used to enter "game selection" mode)

  0 to 9		keyboard 0 to 9
  A to Z		keyboard A to Z
  return		RET'N
  space			SPACE
  <>.,'? etc...

  arrow keys		Player 1 - joystick
  left/right shift	Player 1 - fire button 1
  left/right ctrl	Player 1 - fire button 2

  home/end/del/pagedown	Player 2 - joystick
  insert		Player 2 - fire button 1
  pageup		Player 2 - fire button 2



Interface Keys
==============
  F5			Save BASIC listing to plain text file ("savexxx.txt")
  F7			Load BASIC listing from plain text file ("load.txt")
  F12			Save snapshot (.BMP format)
  ESC			Exit emulator




Changelog
=========
 0.49 unofficial
 * added fullscreen mode (select fullscreen/windowed option on funnymu.ini
   config file)
 * minor fixes here and there, and cleanings to source code

 0.48 unofficial
 * fixed bug in audio emulation, thanks to Paul Hayter's fix from the private
   unreleased FunnyMu 0.44
 * minor cleanings to source code

 0.47 unofficial
 * added cart loading routine to support 32 KBytes ROMs (new special format
   used on ROMs included in the creatiVision Multicart)
 * added option to save screenshots in BMP format (press F12)
 * fixed screen resolution to a true 256*192 pixels (removed black borders)
 * added option to load BASIC listings from plain text file, named "load.txt",
   into emulated BASIC program (press F7)
 * added option to save BASIC listings into plain text file from emulated
   BASIC program, named "savexxx.txt" (press F5) (Courtesy of Giovanni Ortu)

 0.46 unofficial
 * fixed problem with transparent colour in VDP palette. Tank Attack still
   has problems with it, but I suspect it's probably due to some problem in
   some other part of VDP emulation
 * fixed mathematics bug in 6502 emulation. Mouse Puzzle and Police Jump now
   work fine with correct "bonus score" counter

 0.45 unofficial
 * changed cart loading routine in order to have full compatibility with
   "creatiVision Basic 1982" (3*4=12 KBytes ROM)
 * changed cart loading routine in order to have full compatibility with
   "Werben ++++ Informieren" (8+2=10 KBytes ROM)
 * fixed bug in 10 KBytes cart loading routine

 0.44 unofficial
 * fixed cart loading routines in order to have full compatibility with 6, 10,
   12, 16 and 18 KBytes ROMs
 * changed most boot messages to match the new cart loading routines
 * fixed colours palette to match the (much more realistic) one in MAME
 * disabled debugger (F1 key no longer stops emulation)
 * changed keymapping to match MAME standard (F3=reset, ESC=exit, etc.)
 * added keymapping for right joystick
 * fixed error in keymapping of "-" key
 * added full colour icon
 * changed HELP option to match the new options and keymapping
 * now distributed with SDL 1.2.11, providing *great* sound playback!
 * added save/load settings to FunnyMu.ini config file (thanks to iAN_CooG)
 * BIOS file can be selected by editing the FunnyMu.ini file
 * cleaned up code a bit




Known bugs
==========
 * there's a problem with background colour setting. It should depend on
   VDP register 7, and it doesn't work properly. I fixed it partially, but
   Tank Attack isn't fixed yet
 * text is uncorrectly rendered (misplaced) in Air/Sea Battle and Police
   Jump - though the bugs don't affect playability
 * diagnostic programs (video and keyboard) don't load at all; need to
   investigate that
 * all bugs listed above were already present in the official versions of
   FunnyMu, or at least I discovered them while testing version 0.44. My "to
   do" list includes a full debugging of the TMS9928 emulation routines




Contact
=======
http://www.madrigaldesign.it/sim/          handhelds simulators (English)
http://www.madrigaldesign.it/sim_it/       handhelds simulators (Italian)
http://www.madrigaldesign.it/gwmania/      Game & Watch reviews and infos
http://www.madrigaldesign.it/creativemu/   creatiVision emulation central
http://rainemu.swishparty.co.uk/zzapraine/ Raine emulator magazine

my email address: lucantignano@gmail.com




Thanks to...
============
- Paul Hayter for providing the full source code of the great FunnyMu
- iAN_CooG for teaching me a little bit C programming
- Giovanni Ortu for unvaluable help and coding support!
