@database fmsx_history @version $VER: history.guide 1.3 (20.2.97) ***************************************************************** @node MAIN "" @{fg highlight}History@{fg text} @{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 rge N - 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