@database fmsx_history
@version $VER: history.guide 1.4 (12.5.97)

*****************************************************************

@node MAIN ""

		@{fg highlight}History@{fg text}

	@{fg shine}1.4: (12-05-97)@{fg text}

-	Multiple MSX fonts are now supported.
-	Updated the VDP command emulation from the newest UNIX sources.
	Among others, Treasure of Usas and Strategic Mars work now.
-	It was possible that the sound was activated while the emulation
	was paused. Corrected.
-	Added support for the Kanji ROM.
-	Rewrote the following VDP commands in assembly: LMMM, LMMC, LMMV,
	HMMM, HMMC, HMMV, PSET, and STOP. The new commands are much
	faster and clip correctly, which solves a lot of guru's.
-	Corrected a memory corrupting bug in the screen 6 refresh routine.
	This caused the flickering during the MSX2 boot sequence.
-	Fixed music mode. It now closes the screen as it is supposed to do.
-	Defaults for display modes are a bit more sensible now. Thanks to
	Mark Knibbs (markk@netcomuk.co.uk) for reporting this.
-	Added crude line interrupts for screen 5. Refinement and other
	screens will follow.
-	Added a window for setting pathes to external resources.
-	Fixed highspeed mode for OCS/ECS machines. There may be some trash
	left at the bottom of the screen but at least the entire screen
	is visible now. Reported by Mark Knibbs.
-	Odd frames are now also blanked when necessary in highspeed mode.
-	Preferences are now saved to ENV:, and can be loaded and saved
	at will.
-	Direct color loading is turned off when the MSX screen is not
	active. Again, thanks to Mark Knibbs.
-	Added an ARexx port.
-	Added support for playing SCC and PSG at the same time, through AHI.
-	Added support for SCC+.
-	Added support for disabled SCC channels. This solves the random
	beeps in Parodius.
-	Made the double buffer method user-selectable, to allow CyberGfx
	users to choose v36-style double buffering.
-	fMSX was taking too much time when the MSX window became inactive.
	This caused the Amiga to drop upstroke events of the left mouse
	button. Fixed.

	@{fg shine}1.3: (20-02-97)@{fg text}

-	fMSX can now create diskimages.
-	Changing diskimages on the fly was broken.
-	MSX2 sprites no longer have their colors drawn upside down. Firebird
	and Metal Gear 2 look much better now.
-	Screen 7 has sprites now. As with screen 5, only 16*16 sprites
	are supported. This will be improved.
-	Added support for tape. It's now possible to save your position in
	Metal Gear, Payload, and several others.
-	There is no more need to 'insert' disks manually.
-	Disks or diskimages can now be selected from a requester.
-	Removed quite a few bugs from the doublebuffering routines. The
	system won't hang anymore when changing screenmode.

	@{fg shine}1.2: (28-01-97)@{fg text}

-	Added support for screen 8.
-	Added screen anchoring.
-	Added support for 40-track disks.
-	Added support for disk images. These can be changed on the fly, a
	feature that is carried over to device-based disk emulation.

	@{fg shine}1.1: (12-01-97)@{fg text}

-	RAM is now swapped in during disk operations. This should lead to
	higher compatibility. Thanks to Sergi Martinez for reporting this.
-	C2P was slightly improved, causing faster screen updates in
	screens 5 and 6.
-	The MSX memory system was revised. This allows a 32K memory usage
	reduction when using cartridges.
-	SCC now also works with diskloaded games.
-	The ROM mapper was slightly improved. F1-Spirit works now.
-	A serious error in the ROM mapping caused the Konami 1 and ASCII 2
	megarom types to fail completely. After reparations were complete
	Andorogynous started working, as will no doubt many other games.
-	The memory mapper now always reacts to writes to ports 0xFC..0xFF.
	This should enhance compatibility.
-	All instructions that are emulated on 68060 have been replaced.
-	The GUI was rewritten to use a (simple) GUI layout engine.
-	A long-standing error in drive allocation was removed.
-	Access routines were added for all gadgets. This greatly simplified
	the internal structure of fMSX and the preferences system.
-	Added the ability to load a cartridge by dropping an icon on any
	of the windows.
-	Added a key for pausing the emulator and returning to the
	workbench.
-	Added the ability to start cartridges directly after selection.
-	The ability to run on the workbench was removed. It may reappear
	later.
-	Colors were not set in highspeed mode. This has been corrected.
-	An elaborate system for mapping MSX screenmodes to Amiga
	screenmodes was added. This allows far better configurability
	for people with VGA monitors.
-	The MSX version is now saved in the cartridge icon as well.
-	Loading 16K ROMs was broken. Fixed.
-	Something caused garbage to be visible on screens 5 and 6 after
	they were opened. Fixed.
-	Screens 5 and 6 refresh smarter and therefore faster now.
-	Screens 5 and 6 are initialized much quicker.
-	Colorchanges can now be applied to the screen as soon as they
	occur, which is necessary for certain graphical effects.
-	Added limited (no sprites) support for screen 7.

	@{fg shine}1.0: (14-07-96)@{fg text}

-	Screen redraw was completely rewritten as a separate task. This
	means redrawing is a lot more regular than it used to be.
-	Rewrote handling of VDP blanking. There was really no need to have
	separate routines for each screenmode.
-	Because many more video preferences are planned these have been
	given their own window. Some options from the old preferences window
	have been moved to this new window.
-	Added the ability to ignore the VDP blanking bit. This is necessary
	because blanking is handled globally, and some games only turn off
	the screen for certain scanlines.
-	Implemented alternate colors, colorblinking, 26.5 line mode, and
	running on the workbench for screen 0 (80).
-	Changed the way the second joystick is activated from Amiga-J to
	'(' on the numeric keypad.
-	Implemented music mode.
-	Removed a spurious memory allocation. Chip RAM usage dropped by 64Kb.
-	Implemented double buffering.
-	Added the option to hide the title bar of the MSX screen.
-	Removed a memory-corrupting bug from highspeed mode, courtesy of
	Børge Nøst.
-	Rewrote highspeed mode. It is far more OS-friendly now, but still
	as fast as it used to be. It should give no more trouble now.

	@{fg shine}0.8: (10-03-96)@{fg text}

-	Supports two joysticks.
-	Many Z80 commands were implemented. Arkanoid and Dambusters run
	fine now.
-	Interrupt Mode 2 was implemented.
-	Sergi Martinez pointed out a way to increase emulation speed by 30%.
-	Removed a couple of errors from the Z80 emulation.
-	Removed a memory corrupting bug from the SCC routines. SCC sounds
	cleaner now.
-	Made a fresh start with emulating screens 5 and 6. It's a bit slower
	now but a lot more stable. Speed will follow later.
-	Made some algorithmic changes to the way screen 2 is refreshed. It's
	much faster now, which means that Confused, Apeman, and others have
	become very playable.
-	Don't know what caused it, but after poking around an afternoon in
	the graphics emulation the 'corrupted graphics' bug that showed up
	in almost every Konami game is gone.
-	Two new megaROM mapper modes were added, and the others were revised.
-	Soundmode is saved in the cartridge icon.
-	No longer forgets the last part of the cartridge pathname when saving
	preferences.
-	Separated the history from the rest of the documentation.
-	Added an option to suppress the automatic saving of preferences, as
	well as a menu option to save those preferences by hand.
-	Changes in videomode are directly copied to the screen.
-	Added limited sprite support to screen 5.

	@{fg shine}0.7: (28-10-95)@{fg text}

-	The MSX will now recognize if the Amiga makes a change to a disk.
-	Found and corrected a memory-corrupting bug.
-	Resident programs will be flushed when Reset is pressed.
-	Z80 emulation completely changed. MegaROMs are much faster, the
	rest is a bit slower.
-	Memory mapper support added.
-	Limited support for the SCC sound system added.
-	Handling of cartridge filename is much better. It now appears in the
	requester and the path is remembered between sessions.
-	Removed several minor errors from the drive allocation code.
-	Improved support for screen 0 (faster, 80 columns).
-	Removed the check that cartridge files are really cartridges. This
	is the software equivalent of an SCC switch.
-	Rewrote critical memory management routines in assembly.
-	Implemented many VDP operations.
-	Partial support for screens 5 and 6 added.
-	Now compatible with the v36 OS.
-	Includes MSX2 ROMs.
-	Several new options: freeze screen while window is inactive, use
	MSX2 ROMs, use internal ROMs only.

	@{fg shine}0.6: (23-08-95)@{fg text}

-	Drive support added!
-	A two-line enhancement to the VRAM-write scheduler causes a great
	deal of speedup in some games, for instance Tank Battalion.
-	The user interface was enhanced and offers a lot more functionality
	now.
-	The Z80 emulation is smaller and faster than before.
-	Preferences are now automatically saved when quitting fMSX.
-	No longer hangs when the right mousebutton is pressed in highspeed
	mode.
-	MSX2 ROMs didn't work in v0.5. Fixed.
-	Fixed a bug in the MSX2 palette code.
-	Highspeed mode is automatically turned off if the fMSX screen is
	deactivated. This means that it should no longer hang if for some
	reason a window on another screen becomes activated.
-	Added requesters for most errors and warnings.
-	Removed the ability to use two cartridges at once. This will return
	in a future version.

	@{fg shine}0.5: (17-07-95)@{fg text}

-	There was a bug in 0.4 that caused the emulation to run a lot
	slower than necessary.
-	A simple change to the bankswitching code caused some speedup,
	especially notable when starting with MSX2 ROMs.
-	If one of the libraries could not be opened the general shut-down
	routines would still call functions from that library.
-	No longer hangs when it cannot allocate sound channels.
-	Rewrote some of the documentation.
-	Added high-speed video refresh mode for screens 1 and 2.
-	Rewrote the PSG emulation. As a consequence, the Dunkshot music
	no longer suffers from random beeps.
-	Added noise to the PSG emulation.
-	Sound output is a lot softer now, which allows for far better white
	noise emulation.
-	The joystick now supports two firebuttons.

	@{fg shine}0.4: (02-04-95)@{fg text}

-	Joined the ROMs together to one file.
-	The ROMs are now internal, but external ROMs are still possible.
-	It no longer closes and reopens the screen if the new screen has
	the same size and depth as the old one.
-	The GUI has been made font sensitive.
-	Started work on the hardware hitting screen drivers.
-	Changed DoOut, DoIn, and VDPOut to conform to fMSX UNIX 0.7.
-	Added VDP operations directly from fMSX UNIX 0.7.
-	Will load MSX2 ROMs if available. MSX2 BASIC runs, but starting
	takes a long time.
-	Screen 6 implemented (crudely).
-	Fixed the problem with the joystick mechanism. Protector and
	Volguard work fine now.

	@{fg shine}0.3: (08-03-95)@{fg text}

-	Some important routines were recoded in assembler, giving a nice
	speed increase.
-	Turned off the low-pass filter for more authentic sound.
-	Transparent sprites are made invisible.
-	Task priority is lowered to -1.
-	Uses a greater volume range (0-63 instead of 0-60).
-	Keyboard handling is a bit smoother on slow machines.
-	Keyboard mapping has changed.
-	Removed the bug that caused the humming sound in Eggerland Mystery,
	Dunkshot, and other Hall Laboratories games.
-	Rewrote the video drivers for greater speed.
-	Sprites are now clipped against the top border.
-	Interrupts are limited to at most 50 per second.

	@{fg shine}0.2: (20-02-95)@{fg text}

-	Now supports loading two cartridges (for use with the Gamemaster).
-	A GUI was added. It's topaz-8 sensitive for now.
-	The help key is no longer used to quit the emulation, so insert
	works now.
-	The interrupt mechanism was somewhat enhanced.
-	It is now possible to set the number of interrupts per screenredraw.
-	Added the ability to set the number of instructions per interrupt.
-	Added joystick support for one joystick with one button.
-	Refresh cycle and interrupt period are read from the cartridge icon.
-	Added a 'save configuration' option.
-	The emulator now detects if no sound channels could be allocated
	and runs without sound if so.

	@{fg shine}0.1: (13-02-95)@{fg text}

-	Screens 0..2 should work with ECS and graphics cards now.
-	Sprites are clipped horizontally.
-	Sprites support shift-left bit.
-	Screens are no longer specified as being PAL.
-	Screen 3 works fine now.
-	Sprites no longer flicker.
-	Sound is much better now, though some bugs remain (specifically:
	no noise generation, and no effects on channels 1 and 2).
-	Vertical sprite position was off by 1 pixel.
-	Removed a glaring bug that prevented 32K cartridges from loading.
	Software compatibility jumped to 85%.
-	Added the ability to load a cartridge when starting from the
	workbench.
-	Video emulation now respects the Disable Screen bit.
-	Sometimes sprite number 0 wasn't displayed.
-	Enlarged sprites were broken.

	@{fg shine}0.0: (09-02-95)@{fg text}

-	First release. This is only for internal review, but people who
	really wanted it could get it as well.
@endnode

