Share

openMSX

File Release Notes and Changelog

Release Name: 0.3.1

Notes:
Release notes for openMSX 0.3.1 (2003-05-18)
============================================

It's been a short time since 0.3.0, but we thought the following changes are
important enough to release now:
- Fixed compilation on GCC 3.3.
- Fixed SDLGL renderer on XFree86 4.3.

Regular development continued as well, so this release also contains
the following improvements:
- New feature: configurable file-extentions.
- Improved layout of help text (try "openmsx -h").
- Many improvements to the console, including:
  * Extended the console editing keys (left, right, del, bs, home, end etc).
  * Added key repeat.
  * Reset the scrollback when any key other than page up/down is used.
  * Added resizing and moving to the console.
  * SDL console characters are no longer blended (improved readability).
  * SDL backgroundimage can be scaled and can have any pixel format.
  * Fixed colour of font on GLConsole overlayed on Text1 mode.
- Emulation and event handling are now done in a single thread.
  The previous multi-threaded solution was not very portable among platforms
  or even different versions of the same platform.
  As a bonus, the single thread model is simpler and more efficient.
- Improved "make install".
- Cleanups of the directory structure.

Read the "ChangeLog" inside the archive for a detailed list of changes.
In "doc/openMSX-HOWTO.txt" you can find a lot of useful information on
openMSX, make sure you read this if you haven't used openMSX before.

Known issues / caveats:
- In its current alpha state, openMSX is usable for power users, but its
  interface is not very friendly to casual users yet.
- Emulation is not perfect yet. However, in the emulator comparison of
  msx.org, openMSX scored highest on accuracy of all emulators tested.
  See the bug tracker on sourceforge.net for known bugs.
- Until we reach version 1.0.0, file formats can change in an incompatible
  way without backwards compatiblity. Keep this in mind if you create
  machine descriptions, rom database entries etc.
- This openMSX release is only tested on Linux.
  Reikan maintains a Win32 port, which follows openMSX CVS closely, but is
  not the same. You can find it at http://www.ranpub.com/openMSX4Win32/
  Running on BSD, Mac OS X, BeOS etc (wherever SDL runs) should be possible,
  but will probably not work out-of-the-box. If you are compiling on such a
  platform, please share your experiences (see below for contact info),
  so we can make openMSX more portable.
- CPU and graphics performance varies a lot, depending on the openMSX
  settings and the MSX hardware and software you're emulating.
  Some things run fine on a 200MHz machine, others are slow on a 2GHz
  machine. Some performance tips:
  * Make sure there are no CPU consuming background processes running.
  * Generally, MSX1 emulation is fastest and turbo R emulation is slowest.
  * SDLGL renderer needs hardware acceleration to run at a decent speed.
    Disabling scanlines and blur (set to 0) helps on older graphics cards.
  * Use 16-bit colour mode instead of 32-bit (platform setting is used).
  * Use line accuracy (default) instead of pixel accuracy.
  * Turn on frame skip ("set frameskip auto").
  * Use low-res SDLLo renderer (75% less pixels to fill).

openMSX Home Page:
  http://openmsx.sourceforge.net/
Project page on SourceForge:
  http://sourceforge.net/projects/openmsx/
Contact options:
- Send a message to the openmsx-devel mailing list.
- Talk to us on #openmsx on irc.freenode.net.
- Use the "Support" tab on the project page.

Have fun with your emulated MSX!
                                        the openMSX developers

Changes: $Id: ChangeLog,v 1.813 2003/05/18 17:18:12 mthuurne Exp $ 2003-05-18 Maarten ter Huurne <maarten@treewalker.org> * Released openmsx-0.3.1. 2003-05-18 Herman Oudejans <hn.oudejans@quicknet.nl> * Converted a lot of spaces into tabs. * Changed int into bool for zoomSurface(). * Fixed indentation in zoomSurface(). 2003-05-18 Maarten ter Huurne <maarten@treewalker.org> * Removed "ConsoleSource" directory and moved its code elsewhere: - actual console code moved to new directory "console" - command code moved to existing directory "events" - circular buffer code moved to directory "src" * Moved input devices code to new directory "input". Maybe more can be moved there in the future. * Changed "cpudebug" command into "cputrace" setting. Also fixed the duplicate "cpudebug" command on a turbo R (dual CPU). Note: this setting exists only if "cpu" dir is built in debug mode. 2003-05-17 Maarten ter Huurne <maarten@treewalker.org> * Removed EmuTime parameter from Command::execute. Since most commands do not interact with the emulated machine, they do not need EmuTime. * Removed EmuTime parameter from EventListener. The only reason this was needed before, was to execute commands. * Removed code that is no longer needed in the single thread model. * Fixed event handling during pause. 2003-05-17 Herman Oudejans <hn.oudejans@quicknet.nl> * Implemented configurable file-extentions. * Lined the help-text up, properly. * Renamed lines/rows/columns/width/height -> rows/columns * Fixed a uncaught exception when the SDLConsole is resized and the backgroundfile can't be loaded. * Fixed -h when the specified machine can't be loaded. * Console now resets the scrollback when any key other than page up/down is used. * Fixed the blinking cursor in the SDLConsole. * Fixed Ctrl-A/E when numlock is active * Fixed a few small bugs in the CommandLineParser. 2003-05-17 Reikan <openMSX4Win32@ranpub.com> * Changed to single thread model. Now fixed SDLGL renderer fault on XFree86-4.3.0. 2003-05-11 Maarten ter Huurne <maarten@treewalker.org> * Fixed colour of font on GLConsole overlayed on Text1 mode. 2003-05-11 Herman Oudejans <hn.oudejans@quicknet.nl> * Fixed segfault in the SDL background scaling when using 8bpp. tested and working in 15,16 and 24 bpp. in 8 bpp it doesn't give a segfault, but since the whole display isn't working, I can't see if the scaling really works. * SDL backgroundimage can now have any pixelformat. * SDL Console characters are no longer blended. 2003-05-10 Herman Oudejans <hn.oudejans@quicknet.nl> * Fixed wrong initial default size of the console. * Fixed range of the consolecolumns-setting 2003-05-10 Wouter Vermaelen <wouter.vermaelen@pi.be> * Replaced old YM2413 code by new one. Volume still needs some tuning: - relative volume between music and drum channels - relative volume between YM2413 and other sound chips 2003-05-09 Herman Oudejans <hn.oudejans@quicknet.nl> * Added resizing and moving to the console. * Extended the console editing keys. * Added keyrepeat to the console. * Added setValueInt() and setRange() to Integersetting. * Added SDL background scaling. 2003-05-08 Maarten ter Huurne <maarten@treewalker.org> * Another GCC 3.3-pre fix: passing signed byte references as unsigned byte references. Typecasting to "(byte &)" instead of "(byte)" works on both GCC 3.2 and GCC 3.3-pre. 2003-05-07 Wouter Vermaelen <wouter.vermaelen@pi.be> * a few fixes in new YM2413 code. Still not made default because drums in illusion city are screwed 2003-05-06 Maarten ter Huurne <maarten@treewalker.org> * Compiled with GCC 3.3-pre: - Fixed missing "#include <cassert>" directives. - Fixed some warnings, suppressed others. 2003-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be> * release openmsx-0.3.0 * added "mbstereo" extension 2003-05-04 Maarten ter Huurne <maarten@treewalker.org> * Swapped the threads: event handling now occurs in the main thread, emulation occurs in a worker thread. Inspired by Reikan's UOW32 patch. This removes a lot of differences between the Linux and Win32 ports. Also, renderer switching and runtime full screen toggle should work on Win32 now. * Bug fixes on thread swap: - Fixed compile error on GCC 2.95. - Workaround for incompatibility of SDL_PushEvent. - Print exceptions thrown in emulation thread. * Minor bug fix on video init attempts in RendererFactories. * Merged Reikan's configure.ac improvements. * Fixed magnified sprites in sprite mode 2. Glitches in Eindeloos are gone. * Fixed bug: display was disabled after switching renderers during overscan (for example Unknown Reality title screen). * Fixed bug: possible writes outside screen buffer on overscan. Crashed Ark-a-Noah on SDLHi. 2003-05-03 Wouter Vermaelen <wouter.vermaelen@pi.be> * Trojka starts playing ADPCM samples without initializing the sample volume. The sample volume after a reset was set to minimum, changed it to maximum. 2003-05-03 Maarten ter Huurne <maarten@treewalker.org> * Removed EmuTime parameters from Settings methods. * Centralized GL header check in new GLUtil.hh file. In the future, GLUtil.hh will contain GL utility classes/functions. * Replaced "renderer" command by a "renderer" setting. This also makes sure the user cannot switch to a non-existant renderer. * Moved "Rom.(hh|cc)" and "SRAM.(hh|cc)" from "src" to "src/memory". * Removed obsolete "cfg" directory; configurations are in "share" now. 2003-05-02 David Heremans <david.heremans@gnu-linux.net> * Added the Contrib/cbios directory to 'make install' * Have make install create some nice softlinks * Added md5sum files 2003-04-30 Maarten ter Huurne <maarten@treewalker.org> * Introduced Blender class and use it from Character/BitmapConverter. * Implemented narrow SCREEN6 sprite pixels in SDLGL. * Implemented blended SCREEN6 sprite pixels in SDLLo. * Refactored ROM related classes to get device ID from hardwareconfig.xml into RomInfo. In the process all mapper type code has been centralized in RomInfo. All of this just to get "slot 3.3: Firmware" in the slotmap ;) 2003-04-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fix tabcompletion for absolute paths 2003-04-28 David Heremans <david.heremans@gnu-linux.net> * Fixed make install to /opt/openMSX and create extra link for binary in /usr/local/bin * added (no)debug to main makefile 2003-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented more complete filename completion as described in feature request 713442 2003-04-27 Maarten ter Huurne <maarten@treewalker.org> * Added a console background to SDLGL when no image is used. * Minor cleanups to console classes. * Take horizontal adjust into account for calculating HR and horizontal retrace interrupt timing. Fixes some of the glitches in No Waste, but not all. * Fixed text colour in Text1 mode in SDLGL: reverted a misguided optimisation. (in GL, full intensity of int is 0x7FFFFFFF, not 0xFF) * Updated C-BIOS to version 0.16. 2003-04-25 David Heremans <david.heremans@gnu-linux.net> * Allowed JoyNet to accept a new connection if previous connection is closed. 2003-04-25 Maarten ter Huurne <maarten@treewalker.org> * Fixed sprite colours in Graphic5 (SCREEN6). The turbo R boot logo looks OK now. However, narrow sprite pixels do not yet work in SDLGL. * Implemented horizontal scroll high and multi page in SDLGL. This implementation is based on Wouter's horizontal scroll patch. * Implemented horizontal scroll high and multi page in SDLHi/Lo. Note that some horizontal scroll features are still missing: * Multi page scrolling in combination with deinterlace. * Scrolling in character modes. However, the current state should be enough to run most games and demos. 2003-04-24 Wouter Vermaelen <wouter.vermaelen@pi.be> * if an extension exists both in user as in system directory, prefer the one in user directory 2003-04-23 Maarten ter Huurne <maarten@treewalker.org> * Added update calls for horizontal scroll settings. 2003-04-22 Maarten ter Huurne <maarten@treewalker.org> * Partial horizontal scroll implementation: scroll low and border mask. Scroll high and multi page to be done. Space Manbow works fine in MSX2+ mode now. 2003-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be> * Improved DACSound quality: - improved quality at the expense of an (extra) delay - samples in Swiss Demo sound acceptable now - modplayer sounds better but still not very good * Updated FMPAC: - ROM is not visible while SRAM is active 2003-04-19 Wouter Vermaelen <wouter.vermaelen@pi.be> * Added alternative YM2413 core (implemented by Jarek Burczynski): - still needs some work before it can replace old core - volume needs some tuning - performance optimizations (silent channels) - bug fixes(?) - if you want to try it copy YM2413.cc.new and YM2413.hh.new over YM2413.cc and YM2413.hh and recompile 2003-04-18 David Heremans <david.heremans@gnu-linux.net> * Fixed a bug in JoyNet, but need a program with a good asyncron protocol to test it 2003-04-17 Maarten ter Huurne <maarten@treewalker.org> * Separated drawSprites from drawDisplay in subclasses of PixelRenderer. 2003-04-16 Maarten ter Huurne <maarten@treewalker.org> * Moved display coordinate calculation from subclasses to PixelRenderer. 2003-04-15 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reworked SCC - Manuel Pazos's SCC detection routine works correctly now - Optimized for common case. You mostly write to SCC and hardly ever read from it 2003-04-12 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reworked consoles: - splitted console in "core console" and "console renderer", the main advantage is that command history is preserved while switching renderers 2003-04-12 Maarten ter Huurne <maarten@treewalker.org> * Created util.hh: currently only contains fillBool, which used to be duplicated in SDLRenderer and SDLGLRenderer. * Removed system.h: this file has probably been obsolete for some time, but managed to escape everyone's attention. * Changed SDLGLRenderer to use SpriteConverter. 2003-04-10 Maarten ter Huurne <maarten@treewalker.org> * Moved the VDP and rendering code into new "video" directory. Thanks to Manuel for suggesting how to solve symbol dependencies. But I still don't like recursive Make... 2003-04-09 Maarten ter Huurne <maarten@treewalker.org> * Merged SDLLoRenderer and SDLHiRenderer into SDLRenderer. Template expansion replaces duplicated code. From a user perspective, "SDLLo" and "SDLHi" still exist. 2003-04-06 Manuel Bilderbeek <manuel@msxnet.org> * Clean up in RomInfo stuff for empty ROMs. Note that I'm now assuming that an empty ROM is always an empty SCC. Is this a valid assumption? The problem is that `forced' ROM types (as with an empty SCC) are not put in the ROMInfo. So I can't check if it is really an SCC... 2003-04-05 Wouter Vermaelen <wouter.vermaelen@pi.be> * Added Korean80-in-1 mapper type * Added Korean90-in-1 mapper type * Added Korean126-in-1 mapper type * Implemented "keyjoystick", joystick emulation via keyboard: - use like this "plug joyporta keyjoystick" - joystick direction is mapped on cursors button-A space button-B left alt - TODO mapping should become configurable - TODO you should be able to configure more than one keyjoystick * Implemented V9958 CMD bit: I don't know any program that actually uses this, so it is not yet tested 2003-04-04 David Heremans <david.heremans@gnu-linux.net> * Getting everything in /opt/openmsx installed, no links yet 2003-04-04 Maarten ter Huurne <maarten@treewalker.org> * Introduced SpriteConverter, a utility class for the Renderers to use, similar to BitmapConverter and CharacterConverter. * Changed SDLHiRenderer to use SpriteConverter. * Removed PixelRenderer's protected fields from SDLGL and SDLHi. 2003-04-03 Maarten ter Huurne <maarten@treewalker.org> * Fixed remaining reads of uninitialised VDP fields. 2003-04-02 David Heremans <david.heremans@gnu-linux.net> * First cleanups to prepare for a 'make install' 2003-04-02 Maarten ter Huurne <maarten@treewalker.org> * Minor cleanups in SpriteChecker. 2003-03-31 Maarten ter Huurne <maarten@treewalker.org> * Turned DisplayMode into a class (makes code easier to read). * SpriteChecker no longer checks sprites in text mode. * Various minor cleanups along the way. 2003-03-31 Wouter Vermaelen <wouter.vermaelen@pi.be> * Don't abort (only warn) when there occurs an error during processing of autocommands * Converted "frontswitch" command into a setting 2003-03-30 Maarten ter Huurne <maarten@treewalker.org> * Removed fullScreen parameter from Renderer constructors. * Made Renderer constructors private, only available to their respective factories. * VDP subsystem reset methods are no longer called by their constructor, instead they are called explicitly by the VDP. * Removed EmuTime parameter from VDP subsystem constructors. * Rearranged VDP constructor to remove overlap with reset method. * Fixed uses of display mode which could not yet handle the YJK bits. * Fixed a tricky bug that could occur if rendering was performed in the middle of a series of updates that all occur at the same EmuTime. 2003-03-29 Manuel Bilderbeek <manuel@msxnet.org> * Moved other configs from src/cfg to share/machines * Added some more extensions * Changed settings.xml to use cbios-msx2 and added skins/ prefix to ConsoleFont.png * Updated the HOWTO. I wish the make install was finished, so that I can cut 10% of the HOWTO... (it's getting complicated to explain...) 2003-03-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed crashes on missing arguments (e.g. "openmsx -ext") * Added extra FDC names: National --> MB8877A Panasonic --> TC8566AF Philips --> WD2793 The old names are deprecated, as soon as the machine configuartions are changed to use the new names, the old names will be removed. * Fixed crash on missing console font 2003-03-28 Manuel Bilderbeek <manuel@msxnet.org> * More refactoring of Rom objects to add RomInfo: - all Rom objects now have a RomInfo object - get information that was in the romdb from that object - slotmap uses this and prints real Rom info, when available; later, the GUI should be able to use this too, in some way - note that all MSXRom constructors changed :-) - note that it's my first big change, please fix things that could be a lot better and tell me about it :-) Maarten, Wouter and Joost: thanks for your help! * Added loads of machine configs (thanks Atarulum): - when we decide what to do with the patches for the FDC, I'll add the others 2003-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed RomPanasonic SRAM * Optimized VDPCmdEngine for common case: no command in progress 2003-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed VDP Command Engine bug: - on every sync() the engine processed at least one 'pixel', when you poll the VDP very fast (R800) the time between two syncs is less than one pixel. This screws up the bookkeeping. - Fixes MSXView startup problem, Relax demo, ... 2003-03-24 Wouter Vermaelen <wouter.vermaelen@pi.be> * Another directory structure change: moved machines/ -> share/machines/ extensions/ -> share/extensions/ etc/romdb.xml -> share/romdb.xml settings.xml -> share/settings.xml * Create share directory, moved a lot of files around 2003-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reimplemented Panasonic memory system: - in TurboR rom/ram are tightly connected (dram mode, ...) Memorymapper, RomMapper, BiosRom are now implemented as special as special devices - TurboR hardwareconfig.xml updated - MSXView almost works now, without "set cmdtiming broken" openmsx wait for a never ending VDP command. Still investigating... 2003-03-22 Manuel Bilderbeek <manuel@msxnet.org> * Refactored ROM mappertype retrieval/ROM Info (WIP, to enable readout of ROM info in the console.) 2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented timeout for reading mouse: - this fixes the '"plug joyporta mouse" in settings.xml' bug - current timeout is 1/100s, I've no idea of the timeout value of a real MSX mouse 2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * Various minor optimizations / cleanups, mostly better cache for unmapped memory regions 2003-03-16 Manuel Bilderbeek <manuel@msxnet.org> * When a ROM is found in the romdb, the info about the ROM is now printed. Later, this info could be stored somewhere, so that the GUI can use it to show a ROM title, e.g. 2003-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be> * Added HALNOTE mapper type: - Doesn't work yet! Only 'normal' rom switching is emulated. The program also writes to pages 0 en 3 and it selects rom pages > 0x80, I've no idea what this should do. * Fixed format command, apparently I broke it several months ago. 2003-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "vramdump" console command, only available when compiled with DEBUG 2003-03-10 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reworked MSXRom: - made a (small) subclass for every mapper type: * Moved MSXRom MSXRam related files to a new directory "memory" * Fixed rom-cartridge SRAM saving, path was wrong: - it is now ~/.openMSX/persistent/roms/<romname>/<sramname> 2003-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "Harry Fox" mapper type * Fixed ASCII8 mapper type: Annimal Land works now 2003-03-03 Maarten ter Huurne <maarten@treewalker.org> * Fixed bug in PixelRenderer: finishFrame was called every frame, even with frame skip active. This also fixes the special effects in GL with frame skip active. 2003-03-02 Maarten ter Huurne <maarten@treewalker.org> * Introduced RendererFactory. This should help in making the renderer selection a setting. It will also make it possible to query which renderers are available. 2003-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be> * Converted "frameskip" console command into a setting * Implemented BooleanSetting as a specialization of EnumSetting<bool> * Fixed path resolution bug: all files were also searched for relative to the current directory 2003-03-01 Maarten ter Huurne <maarten@treewalker.org> * Updated C-BIOS to version 0.15. 2003-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be> * Converted "throttle" console command into a setting * Converted "pause" console command into a setting * Converted "mute" console command into a setting * Converted "console" console command into a setting 2003-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be> * Converted "speed" console command into a setting 2003-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented free slot selection: - this is only a temporary solution, it will very likely change in the next release - when you specify -1 for the primary slot, the cartridge will be inserted in a free external slot. Very usefull to write generic extensions. * romdb.xml is now searched in /opt/openMSX/etc/romdb.xml or in ~/.openMSX/etc/romdb.xml * removed -fmpac and -musmod command line options, they are replaced by extensions 2003-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be> * extension directory now has the same structure as the machines directory: - for example the scc extension lives in ~/.openMSX/extensions/scc/hardwareconfig.xml * Implemented Jon's SCC amplitude measurements 2003-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented command line extensions: - you can load configuration files located in ~/.openMSX/extensions/ /opt/openMSX/extensions/ with the "-ext" command line option - example: ./openmsx SDNATCH1.DSK -ext scc+ * Removed -msx1 -msx2 -msx2+ -turbor command line options * SRAM of rom cartridges is saved in ~/.openMSX/persistent/roms/<rom-name>/ 2003-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "console_font" setting: - change the console font at run-time * Fixed SCC+ 2003-02-19 Maarten ter Huurne <maarten@treewalker.org> * Implemented "toggle" command, which toggles any BooleanSetting. * Replaced "fullscreen" command by "toggle fullscreen". * Support key binding of command including parameters. 2003-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reworked File / FileContext classes: - separated "searchpath-resolution" from file opening * Implemented "console_background" setting: - change the console background at run-time 2003-02-16 Maarten ter Huurne <maarten@treewalker.org> * Fixed a bug in the VDP, where display-on was reported before the sync with VDP subsystems was completed. Can cause the command engine to run too slow, among other things. 2003-02-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * First step to persistent state directories: - persistent state files are saved in ~/.openMSX/persistent/<machine>/<username>/ - <machine> is the name of the directory where we found the hardware description. Maybe we should get this from inside the config file? - it's not yet possible to specify <username>, so for now it's always "untitled<n>" * Default machine can be specified in settings.xml: - see example settings.xml, this will load ~/.openMSX/machine/nms8250/hardwareconfig.xml * Added "-machine" command line option 2003-02-13 Maarten ter Huurne <maarten@treewalker.org> * Made "full screen" into a setting. The "fullscreen" command still works, but will disappear in the future. 2003-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be> * Uninline cpu rdmem and wrmem slowpaths: this actually increased performance a little * RTC uses generic SRAM class for persistent data: - SRAM is now the _only_ class in the whole tree that writes files - parameters "filename, load, save" changed to "sramname, loadsram, savesram". This means all configuartion files must be updated. * Implemented SCC+ subtypes: "Snatcher" "SD-Snatcher" "mirrored" "expanded" 2003-02-08 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed MSX-AUDIO mapper: - it has 4 pages of 32kB instead of only 2 - it has 4kB RAM - is mirrored at 0x8000-0xffff * Fixed Y8950 interrupt masks 2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented Panasonic MSX-Audio mapper type (untested) 2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be> * Compiled with some extra warnings enabled and fixed the resulting warnings * Renamed MSXRomDevice to Rom (it isn't a device anymore) * Default values for settings.xml: - all sections in settings.xml now have default values if they are left out the config file - don't abort when settings.xml is not found - but I really advise _against_ using these features 2003-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "user directories" (see settings.xml) * Fixed "specify other config file" bug * Relative-from-config was broken, fixed it 2003-01-30 David Heremans <david.heremans@gnu-linux.net> * altered a code comment and added some extra config examples 2003-01-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented home-directory-substitution for local files: When a filename starts with "~", this character is replaced by the content of the environment variable HOME. I'm not sure this will work for non-UNIX OS'es. * Implemented system-directories: - The files romdb.xml, msxconfig.xml and settings.xml are searched in the "system directories". For the moment these are (in this order) ~/.openMSX/ ~/openMSX/ /usr/local/etc/openMSX/ /etc/openMSX/ But we need to discuss about this list. Note that "." is not in the list. 2003-01-27 David Heremans <david.heremans@gnu-linux.net> * Increased usefulness of error message in DeviceFactory 2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Automatically load "settings.xml" on startup: - you can specify an alternative file with the "-setting" command line option - For the moment "settings.xml" must be in the current directory * Moved hard-coded HotKey bindings to settings.xml 2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed Z80/R800 switching again * Removed "sync_interval" parameter from RealTime 2003-01-26 Maarten ter Huurne <maarten@treewalker.org> * Relaxed over-zealous assert in PixelRenderer by one tick. 2003-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed TurboR assertion: targetTime wasn't set properly when switching CPU (Z80 <-> R800) * Added dummy MSX-Midi: Illusion city works now! 2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reworked MSX-MUSIC / FM-PAC: removed enable/disable logic from MSX-MUSIC 2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be> * Renamed "TurboR" FDC type to "Panasonic" * Fixed "cpudebug" command (I broke it yesterday) * Fixed MSXMatsushita: this caused FS-4700 build-in word processor hang * Removed ROM files from CVS 2003-01-21 Wouter Vermaelen <wouter.vermaelen@pi.be> * Allow muliple commands with the same name: - for example both Z80 and R800 could have a "cpudebug" command at the same time (not implemeted yet) 2003-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be> * Removed SearchPath stuff * Relative paths in config files are now relative to the location of the config file: - this together with the change above probably means you have to rewrite some/all of your config files * Moved some #include's from .hh to .cc 2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented 8-bit unsigned 16-bit signed DAC * Implemented MSX-AUDIO 13-bit DAC: untested because TurboR (needed for modplayer) is broken for the moment 2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed MSXF4Device: FS-A1FX (re)boots correctly now 2003-01-15 Wouter Vermaelen <wouter.vermaelen@pi.be> * Removed possibility to use other than XML config files 2003-01-14 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed Kanji12 * Removed some unused classes from config directory 2003-01-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented Kanji 12x12: - not tested, I don't have correct ROM * Implemented front switch: - use console command "frontswitch [on/off]" - not tested yet, will do it tomorrow 2003-01-12 Wouter Vermaelen <wouter.vermaelen@pi.be> * Added powerOff() method to MSXDevice * Removed getCurrentTime() calls from destructors 2003-01-11 Wouter Vermaelen <wouter.vermaelen@pi.be> * removed MSXCPU::getTargetTime() method * added EmuTime argument to the execute() method of a Command: this removes some of the calls to MSXCPU::getCurrentTime() * An empty SCC cartridge no longer needs "/dev/zero" as filename, just don't specify a filename: this also works in OSes that don't support /dev/zero * Removed "readromfile" parameter from SCCPlusCart: if you don't want to read a rom just don't specify one * Better(?) rom placement heuristics: fixes zanac 2003-01-09 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed CPU on big endian machines * TurboR PCM update: - It now works in Seed of Dragon, although the frequency seems wrong. The game also hangs when you start to play. 2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed CPU HALT instruction * Semi-fixed CPU/Scheduler interaction: - seems to work, but I still need to take a very close look at the code 2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be> * Large CPU rewrite: - we never perform IO at a timestamp greater or equal than the earliest sync point - 1% - 2% slowdown compared to previous implementation - ZEXALL tests still pass - still need to verify if the timimng of the instructions is still correct 2003-01-05 Maarten ter Huurne <maarten@treewalker.org> * Fixed mode number for Text 2 in VDP::updateColourBase. * Recalculate pattern and colour base when switching modes. 2003-01-04 Maarten ter Huurne <maarten@treewalker.org> * Implemented colour and pattern index mask calculation. * Fixed remaining Doxygen warnings. 2003-01-03 Maarten ter Huurne <maarten@treewalker.org> * Fixed Doxygen warnings. * Fixed I/O port handling of Matsushita switched device, which I forgot in yesterday's changes. 2003-01-02 Maarten ter Huurne <maarten@treewalker.org> * Moved I/O port registration out of VDP and into DeviceFactory. Eventually, all I/O port registration should move to the machine description file. * Moved I/O port registration of all other I/O devices out of the device and into DeviceFactory (or FDCFactory in one case). 2003-01-01 Maarten ter Huurne <maarten@treewalker.org> * Workaround to prevent out-of-order I/O with the VDP. * Added asserts to VDP code to check timing constraints. * Fix for sprites in planar modes. * Fixed behaviour of port #99, #9A and #9B interference. * Colour and pattern base mask calculation are now done in a single method each. 2002-12-30 Joost Yervante Damad <joost@lumatec.be> * updated AUTHORS 2002-12-30 Maarten ter Huurne <maarten@treewalker.org> * Let VDPVRAM::Window notify its observer of base/index changes and windows that become disabled. 2002-12-30 Wouter Vermaelen <wouter.vermaelen@pi.be> * Autodetect BASIC ROM cartridges: code mostly taken from windows port * Don't abort when "romdb.xml" is missing, just print a warning. * Added a lot of const qualifiers * Implemented TurboR PCM device: - only playing (no recording) - sound quality is really bad (like all our DACSound based devices) 2002-12-29 Maarten ter Huurne <maarten@treewalker.org> * The VDPVRAM::VRAMObserver interface is put to use for the first time, by SpriteChecker. Cleans up the VDP subsystem synchronisation code. 2002-12-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * Released 0.2.1 * Better rom placement heuristics: should solve bug 658430 point 3 (rom files without "AB" header) * Allow filenames that contain a ',' on the commandline * Support roms that don't like to be mirrored: - solves bug 658430 point 1 (BASIC prog at 0x8000) - can't be autodetected (yet?), you must specify romtype as "PAGE[...]" (examples "PAGE2", "PAGE01", "PAGE12", ...) - romdb.xml should be updated for these 'problem' roms 2002-12-28 Maarten ter Huurne <maarten@treewalker.org> * Cleaned up sprite checker synchronisation. 2002-12-27 Maarten ter Huurne <maarten@treewalker.org> * Created VDPSettings class, moved cmdTiming there. * Moved limitSprites from config to VDPSettings. 2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be> * Support for second MSX-AUDIO: - add this to the AUDIO section in the config <parameter name="number">2</parameter> - alex' modplayer doesn't work yet :-( 2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be> * Tabcompletion for setting values: example: set accuracy p<tab> * Implemented "cmdtiming" setting: Switch between real or instantaneous VDP command timing. Should only be used for debugging purposes. * Implemented YJK/YAE (screen11/12) rendering 2002-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be> * Updated RealTime class: - this should improve the cases where emulation is too slow, but openMSX doesn't claim 100% CPU time * SDLLoRenderer inherits from PixelRenderer iso Renderer - SDLLoRenderer now also has "accuracy" setting 2002-12-18 Wouter Vermaelen <wouter.vermaelen@pi.be> * Made some IDE stuff configurable: - master/slave device - HD image - HD size is not yet configurable - see someconfig.xml for format of new config 2002-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented MSX Bunsetsu Henkan / Jisyo: - I don't have much info on this device, but at least BUNSDUMP.BAS gives the correct result 2002-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed assertion in VDP when computer was reset while in PAL mode 2002-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented MSXDeviceSwitch: - IO-ports 0x41-0x4F are (possibly) shared between several devices - IO-port 0x40 selects the active device * Converted MSXS1985 to a MSXSwitchedDevice * Converted MSXFS4500SRAM to a MSXSwitchedDevice: - renamed to MSXMatsushita - implemented PUT KANJI function (IO-ports 0x43-0x44) 2002-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented correct mirroring for National based FDC's 2002-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented mmap() in File classes: - map a file direclty into the process memory range, the OS can perform some optimizations this way: - only read data when actually used - faster swapping - ... - I'm not sure non-UNIX OSes (windows) have a similar function, if not there is a fallback implemented in FileBase (we also need this fallback for FTP, HTTP, ... files) * Simplified/updated MSXRomDevice: - simpler interface: you no longer need to inherit from MSXRomDevice - use mmap() to read files * Implemented FS4500SRAM (suggestions for a better name are welcome): put this in your config file: <device id="FS4500 SRAM"> <type>FS4500SRAM</type> <parameter name="loadsram">true</parameter> <parameter name="savesram">true</parameter> <parameter name="sramname">FS4500.SRAM</parameter> </device> 2002-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be> * added SRAM class: This is just a small helper class that offers loading and saving of a byte-array. For the moment only MSXRom and MSXFmPac use it. 2002-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be> * added CRC16 routine, can be used by FDC / FDCBackends * fixed TC8566AF: completely forgot to send step/side/motor commands to the DiskDrive 2002-11-30 David Heremans <david.heremans@gnu-linux.net> * Still working towards raw track read 2002-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be> * fixed auto frameskip: probably still needs some finetuning 2002-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed FDC bug (DriveMultiplexer) 2002-11-27 David Heremans <david.heremans@gnu-linux.net> * Working towards raw track read 2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be> * FDC rewrite, introduced DiskDrive and DriveMultiplexer classes: - this is a relatively large rewrite, so I may have broken something. I wanted to commit rather soon, so I only tested the Philips FDC. - WD2793 Type I commands are now executed the same as in the flowcharts of the technical datasheet (verify step not yet). 2002-11-18 David Heremans <david.heremans@gnu-linux.net> * a small WD2793 update: quick implementation of multi sector read not tested and DSK backend needs to be changed for correct behaviour! 2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be> * Mapped TurboR keys to left and right windows key: I haven't checked this, so possible I swapped left and right 2002-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be> * a few WD2793 updates (David please review): MicrosolFDC partly works now: in BASIC the commands files load save work, but starting a game from disk doesn't work. * converted "deinterlace" from a command to a setting: - you should now use "set deinterlace [on|off]" instead of just "deinterlace [on|off]" * converted "accuracy" from a command to a setting: - you should now use "set accuracy [line|pixel|screen]" instead of just "accuracy [line|pixel|screen]" 2002-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * renamed BrazilFDC to MicorsolFDC: doesn't work yet, I'm investigating... * cleanups, small fixes in WD2793 2002-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented 'PUT KANJI acceleration' of S1985: This fixes the font printing problem of the FS-4600F internal software. AFAIK the FS-4600F now works completely (or at least as good as NMS8250). You need to add this to the FS-4600F config file: <device id="S1985"> <type>S1985</type> <device> 2002-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be> * National mapper type fixes: - FS-4600F internal software seems to work, but I'm not certain the 1st and 2nd menu option work as they should. Can someone verify this? * Fixed National FDC 2002-11-11 David Heremans <david.heremans@gnu-linux.net> * completed timing in WD for writeTrack command: Timing still needs some fine tunning, but not much * implemented writetrackdata in DSK backend: Formatting with _format in BASIC seems to work Need to compare with some real disks just to be sure. 2002-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be> * fixed PhilipsFDC: IDEFDISK doesn't coredump anymore * use old style file functions: should work with both old and new gcc 2002-11-08 Maarten ter Huurne <mth@stack.nl> * Improved scanline emulation: the dark line is now an interpolation of the visible lines above and below. * Added horizontal blur: emulates the fact that MSX monitors and TVs are not as sharp as typical PC monitors. Many game graphics are drawn with this blurring in mind and look poor on a sharp display. Note: scanlines and blur are implemented only in the GL renderer. 2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be> * added VDP reset() methods (not finished) 2002-11-03 Maarten ter Huurne <mth@stack.nl> * Initial version of generic settings is working now. Currently there is only 1 setting: scanline alpha. 2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be> * minor cleanups * fixed a few uninitialized variables: - discoverd with valgrind - some were harmless, fixed anyway to keep valgrind quiet 2002-11-02 David Heremans <david.heremans@gnu-linux.net> * Added two calls to the FDC backend: These should later be used to enable the writeTrack command 2002-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be> * Basic TC8566AF disk controller support (TurboR): - Based on code from NLMSX written by Frits Hilderink - TurboR boots now! It still has a lot of missing features though. 2002-11-01 Maarten ter Huurne <mth@stack.nl> * Scanline emulation in SDLGLRenderer. Very rudimentary in this stage, but it works. 2002-10-31 Maarten ter Huurne <mth@stack.nl> * Changed SDLGLRenderer to make it a subclass of PixelRenderer. * Minor cleanups in SDLHiRenderer. 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be> * rewrite of FDC infrastructure: - the existing diskroms are too different to handle them all in one class -> made FDCFactory that instantiates the right object - Implemented support for: - Philips based diskroms: were already supported - Brazil based diskroms (needs better name?): IO-based were already supported, but I never tested them I also didn't test the new implementation - National based diskroms (needs better name?): also untested The three diskroms above are all build around the WD2793 (or compatible) controller. - Configuration format changed slightly, see msxconfigFDC.xml for details 2002-10-29 Maarten ter Huurne <mth@stack.nl> * Minor cleanups in PixelRenderer and SDLHiRenderer. 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented mapper type "NATIONAL": completely untested, will have to wait till this weekend 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be> * Replaced all file reading related classes with a new class structure. This structure: - has a simpler and more robust interface - is easier to port(?) a large part of the WIN32 patch deals with file reading stuff - has real filetype separation: rom, disk, tape, config files have their own searchpaths 2002-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "CartridgeSlotManager" 2002-10-25 David Heremans <david.heremans@gnu-linux.net> * "frameskip auto" completed 2002-10-24 Wouter Vermaelen <wouter.vermaelen@pi.be> * Cartridges are only inserted after configuration is parsed, this allows in the future to have configurable cartridge slots * Added PANASONIC mapper type (for example used in Turbo-R for MSX-VIEW ROM). Untested!! 2002-10-23 Maarten ter Huurne <mth@stack.nl> * Fixed bug in sprite drawing of SDLLo. * Fixed bug in initialisation of horizontal adjust. * PixelRenderer now offers left border calculation to its subclasses. * Bug fixes and cleanups in coordinate calculation of SDLHiRenderer::drawDisplay; SCREEN0 no longer fails the asserts. * Cleanups in SDLHiRenderer::drawSprites. Should be applied to other Renderers as well. 2002-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be> * Rewrite of "CommandLineParser": - CLI options and CLI file types must be registered now, this allows to move the implementation of, for example the "-fmpac" option, to the MSXFmPac class where it belongs. - This should keep the CLI more up to date with code changes and make it easier to support new CLI options / file types. 2002-10-21 David Heremans <david.heremans@gnu-linux.net> * "frameskip auto" implementation started 2002-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be> * Replaced "Simple64Kb" device with "RAM" device. This device also supports random sizes, so it is possible to make 8Kb machines. 2002-10-20 Maarten ter Huurne <mth@stack.nl> * Moved subdivision of area-to-be-rendered from SDLHiRenderer to PixelRenderer. Also changed subdivision approach: before, displayPhase would draw display area and the borders; while the new drawDisplay only draws the display area and all the border colour drawing is done by drawBorder. 2002-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented frameskip command: TODO "frameskip auto", skip frames depending on CPU speed 2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Some IDE fixes: Harddisk works now! Following is still hardcoded: master: harddisk, size 1GB filename "hd.dsk" slave : not connected I'll change this in the next couple of days 2002-10-16 Joost Yervante Damad <joost@lumatec.be> * removed compile-time disables for now 2002-10-13 Maarten ter Huurne <mth@stack.nl> * Moved absolute X coordinate to screen X coordinate translation from PixelRenderer to SDLHiRenderer. 2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented Sunrise IDE interface: only interface, no IDE devices yet * Implemented very simple IDE harddisk: IDE-BIOS detects the disk IDE Master:LBA,Mode 4:OPEN MSX HARD DISK IDE Slave :not detected. but the disk can't be used. Probably because the HD isn't partioned yet. 2002-10-12 Maarten ter Huurne <mth@stack.nl> * Split off some functionality from SDLHiRenderer into new PixelRenderer. PixelRenderer will contain the common code of the pixel-based renderers (SDLHi, SDLLo, SDLGL). 2002-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed sound on high endian machines (untested) 2002-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be> * Horizontal adjust is only updated the next scanline: fixes some glitches in the "threedee rules" part of "relax" 2002-10-05 Maarten ter Huurne <mth@stack.nl> Last minute Bussum fixes: * Temporarily reverted name table base fix. This fix needs modifications in the renderers as well and I don't have time right now to find out exactly where. * Rewrote PhaseHandlers to specify rectangles in VDP absolute coordinates and using exclusive limits. Fixes crashes on MSX1 and excessive draws, maybe more. Unknown Reality shows only minor glitches, so we can demo with pride! 2002-10-03 Maarten ter Huurne <mth@stack.nl> * Fixed bug in VDP: name table base was not adjusted for planar modes. This caused wrong rendering in SCREEN7/8. * Disabled "inside window" check for now. Parts of the code are not ready yet to use the VRAM windows properly. 2002-10-02 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.13. 2002-09-30 Maarten ter Huurne <mth@stack.nl> * The Great VRAM Rewrite, part 4: Introduction of VRAMObserver interface. Not used yet. * Minor VRAM cleanups. 2002-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * Read/Write memory cache for SCC+ * Unified Xanadu and Royal Blood mapper types 2002-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be> * SCC+ didn't work at all, fixed it. Fixes Snatcher and SDSnatcher. * Fixed RoyalBlood mapper type (not sure about Xanadu) * Fixed Majutsushi, bad sound quality (DAC) though * Implemented CrossBlaim mapper type (untested) 2002-09-28 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.12. * I forgot that the cbios.xml used TMS99x8A. With a V9938, C-BIOS can run many MSX2 ROMs as well. I created two separate config files: cbios-msx1.xml and cbios-msx2.xml. 2002-09-25 Wouter Vermaelen <wouter.vermaelen@pi.be> * GLFont uses 16x16 character texture instead of 256x1 2002-09-22 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.11. Boukichi sure understands "release early; release often". :) 2002-09-20 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.10. 2002-09-17 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.08. 2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be> * Added "deinterlace" command: switch at-run-time between stable and unstable interlace only SDLHiRenderer and SDLGLRenderer 2002-09-08 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.07. 2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be> * Enabled pixel accurate rendering in SDLHiRenderer: - for some reason the NOTONLYSNESCANDOTHIS part in Unknown Reality is not extremely slow (it is when using SDLGLRenderer) - remember you have to manually enable pixel accurate rendering with the command "accuracy pixel" * Enabled pixel accurate rendering in SDLLoRenderer 2002-09-08 Joost Yervante Damad <joost@lumatec.be> * mv configure.in -> configure.ac [autotools recommendation] * configure exits on failure to find SDL_image library 2002-09-07 Wouter Vermaelen <wouter.vermaelen@pi.be> * Correct blending in all non-paletted modes, no blending in paletted modes * Implemented "accuracy" command. This allows to switch at-run-time between pixel/line/screen accuracte rendering. For the moment no screen accurate rendering and only for SDLGLRenderer. 2002-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be> * Dont't stop when sound device couldn't be opened, just continue without sound. 2002-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be> * Added some Turbo-R specific devices: - MSXTurboRPauze: without this BIOS gets stuck in pauze loop - MSXS1990 (minimal): Needed to switch between Z80 / R800 - MSXF4Device (needs a better name): to distinguish between cold/warm boot and Z80/R800 boot-pass - MSXTurboRLeds Turbo-R doesn't boot yet :-( 2002-09-01 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.06. 2002-08-31 Maarten ter Huurne <mth@stack.nl> * The Great VRAM Rewrite, part 3: SpriteChecker does all of its VRAM reading through VDPVRAM::Window. Only CPU does non-windowed reads anymore. All planar remapping occurs outside of VDPVRAM. 2002-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be> * Move common code from SDLConsole and GLConsole to a new parent class * Added R800: there is nothing implemented to switch from Z80 to R800, so for the moment R800 is not yet usable 2002-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be> * SDLGLRenderer: small cleanups when interlaced, display odd fields half a line lower 2002-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * FDC supports 2 drives 2002-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented pixel-accurate rendering in SDLGLRenderer: - scope part in Unknown Reality is correct now! - some parts are _very_ slow now, implementation can still be optimized a lot and speed should also improve when VDPVRAM is finished. * Implemented "vdpregs" command to help vdp debugging 2002-08-26 Maarten ter Huurne <mth@stack.nl> * Updated C-BIOS to version 0.05. 2002-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented partial character rendering for SDLGLRenderer: - fixes top border while vertical scrolling in Space Manbow - fixes Psycho World * Implemented vertical scrolling in TextMode1 in SDLGLRenderer 2002-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be> * Use SDL_image to load images (.png .bmp .jpg ...) * Implemented GLConsole for SDLGLRenderer - old console didn't always work for SDLGLRenderer - a lot faster - per pixel alpha blending: ConsoleBackground and ConsoleFont can be true RGBA images (current pictures are .bmp, they don't have an alpha channel) 2002-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented R-Type mapper * Fixed vertical scrolling in text modes (except TextMode1 in SDLGLRenderer) 2002-08-21 Maarten ter Huurne <mth@stack.nl> * Added C-BIOS 0.04 to Contrib directory. * Added config XML for using C-BIOS to src/cfg. 2002-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be> * VDP code: - trivial fixes / cleanups - low resolution (SDLLo) rendering improvements try SCREEN 0 WIDTH 80 only 24bpp modes yet * Z80 fix: IFF2 should be reset while acknowledging an IRQ this fixes music in "Break-In" 2002-08-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * major cleanups, minor tweaks / fixes 2002-08-16 Maarten ter Huurne <mth@stack.nl> * Fixed wrong use of sizeof(array): it returns #bytes, not #elements. Caused a segfault on Sparc. 2002-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be> * Fixed SD-Snatcher loading bug: - disk has a non-standard bootsector (sectors per track and number of sides) is wrong. Updated heuristics to detect 9 sectors per track and 2 sides in case disk image has 80*2*9 sectors. How does the BDOS read this disk? Perhaps it uses the media descriptor? 2002-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be> * Split MSXMotherBoard in: - MSXCPUInterface: handles communication between a MSXDevice and CPU - registration of IO- and memory-space - slotselection mechanism - MSXMotherboard: keeps a list of all MSXDevices 2002-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be> * more Z80 cleanups * commands can now also be bound to key releases (was only keypresses) example: unbind F9 bind F9 "throttle off" bind f9,up "throttle on" this disables throttling while you hold F9 2002-08-10 Wouter Vermaelen <wouter.vermaelen@pi.be> * Z80 fixes: V_FLAG was wrong with SUB/SBC/CP instructions * Z80 fixes: XF and YF flags where wrong with BIT n,r instruction * major Z80 cleanup: - greatly reduced code duplication in CPUCore.n2 2002-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be> * More robust Thread class * cleanups, especially in JoyNet * fix bug [592594] MSXFDC doesn't work with single sided disks 2002-08-08 Wouter Vermaelen <wouter.vermaelen@pi.be> * Z80 cleanups / fixes: especially fixes for the 2 undocumented flags (bit 3 and bit 5) * New config file format for inserted disks / tapes * Applied Manuel's patch [592591]: romdb.xml is searched with FileOpener 2002-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be> * Full support for .XSA disk images 2002-08-05 Wouter Vermaelen <wouter.vermaelen@pi.be> * Enabled SDLConsole in SDLGL renderer: current code is only a temporary solution for the following reasons: - use of SDL_OPENGLBLIT is heavily discouraged, see http://www.libsdl.org/pipermail/sdl/2001-November/039852.html - transparancy doesn't work in 16-bit video modes (an SDL limitation) in the future we should make a native GLConsole 2002-08-04 Wouter Vermaelen <wouter.vermaelen@pi.be> * Allow multiple "md5" tags per "rom" tag * Low level tape support (experimental) 2002-08-03 Wouter Vermaelen <wouter.vermaelen@pi.be> * wrote doc/commands.txt * cleanups, small fixes in RomTypes and MSXRom * added some entries in romdb.xml 2002-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be> * EmuTime cleanups: introduced EmuDuration class - the subtraction of 2 EmuTimes results in an EmuDuration, this used to result in another EmuTime - an EmuDuration can be added to / subtracted from an EmuTime, this results in another EmuTime * DACSound: - totally discarded old implementation - new implementation is extremely simple, relatively slow, has poor sound quality, but is bug free 2002-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be> * Made "check-db": a primitive tool to compare a romtype database against the build-in rom autodetection algorithm * When console is up, keypresses are blocked for MSX-Keyboard: this implementation should work in all cases (hopefully) 2002-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be> * cleanups * Support for "ROM database" 2002-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be> * Experimental support for .xsa disk images * Removed "automappertype" parameter, you can still explicitly specify autodetection by setting "mappertype" to "auto" * Added MD5 class: will be used for mappertype detection of difficult ROMs 2002-07-24 Maarten ter Huurne <mth@stack.nl> * Added debug option NOTIME_EXECUTION, to make VDP command execute in zero EmuTime. Useful for tracking "no/partial images" bugs. 2002-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be> * MSXDiskRomPatch supports 2 drives again 2002-07-22 Maarten ter Huurne <mth@stack.nl> * The Great VRAM Rewrite, part 2: SpriteChecker does most of its VRAM reading through VDPVRAM::Window. Updated doc/vram-addressing.txt with details of sprite indexing. Proper support for planar modes is still missing. 2002-07-21 Maarten ter Huurne <mth@stack.nl> * The Great VRAM Rewrite, part 1: Renderers do all their VRAM reading through VDPVRAM::Window now. See doc/vram-addressing.txt for background info. 2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "bind" and "unbind" command 2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be> * Moved event related files to new directory * Added Keys class: translates keyCodes to keyNames and vice versa 2002-07-09 David Heremans <david.heremans@gnu-linux.net> * Improved portbased interface to MSXFDC 2002-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be> * Enabled console in SDLLoRenderer 2002-07-07 Wouter Vermaelen <wouter.vermaelen@pi.be> * Reenabled SDLLoRenderer: - just a copy-paste from SDLHi and adjusted a few routines - console is disabled in SDLLo - not very well tested yet 2002-07-07 David Heremans <david.heremans@gnu-linux.net> * Added portbased interface to MSXFDC for Brazilian MSX's 2002-07-06 Wouter Vermaelen <wouter.vermaelen@pi.be> * Moved cassette related code to its own directory * Cleanups 2002-06-30 David Heremans <david.heremans@gnu-linux.net> * Added index mark to the FDC status register (not tested yet!) 2002-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be> * Initial version of DiskImageManager (WIP): - insert disk from commandline doesn't work yet - MSXFDC compiles, but not yet tested - MSXDiskROMPatch only supports 1 drive - FDC_DSK backend only supports double sided disks * Insert disk from command line works again: - just a hack, we need a better configuration format for this * MSXFDC still seems to work: - config file changed slightly, see msxconfigFDC.xml - David please check my modifications, especially the error handling code 2002-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be> * MSXRom fix: map 32kb ROMs in the right place 2002-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be> * Small Mixer fix, cleanups 2002-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be> * Enabled console background * Console font and background filename are read from config file 2002-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be> * Moved thread related code to its own subdirectory * Added unregisterHotKey() and unregisterHotKeyCommand() methods * Enabled "renderer" command 2002-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be> * Console commands and HotKeys are now executed by the main thread: - this removes some (potential) races, so some bugs like "This crashed once, but I can't reproduce it" might be gone. - this is a rather fundamental change, it might still contain some glitches. * Removed all registerAsync__() methods: they aren't used anymore and they shouldn't be in the future * Introduced condition variables (thread locking): used in Scheduler to implement pause * Added unregisterEventListener() method 2002-06-18 David Heremans <david.heremans@gnu-linux.net> * Basic timing for all FDC Type I commands 2002-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be> * Tab-completion now works for zero-length tokens 2002-06-16 Wouter Vermaelen <wouter.vermaelen@pi.be> * Use exceptions for command error reporting 2002-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be> * Simplified MSXRomPatchInterface 2002-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be> * Scheduler fixes * Removed MSX16KB device: MSXGameCartridge can do everything what MSX16KB could * Renamed: MSXRom -> MSXRomDevice MSXGameCartridge -> MSXRom * Moved common code to MSXRomDevice * "filesize 0" no longer means autodetection, instead use "filesize auto" (or just don't mention filesize) 2002-06-12 Wouter Vermaelen <wouter.vermaelen@pi.be> * ConsoleCommand parser now understands quoted tokens or tokens with escaped characters. Examples: diska a\ space.dsk diska "a space.dsk" diska a\"quote.dsk It should now be possible to enter any string as a command token. 2002-06-11 David Heremans <david.heremans@gnu-linux.net> * basic FDC fully working: Fixed minor bug (all my tested disks work now) Implemented small speed up 2002-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be> * Commands can now be unregistered again * cleanups 2002-06-10 David Heremans <david.heremans@gnu-linux.net> * basic FDC implemenation partialy working: DSK backend working All Type I functions working Type II partial (readSector OK, writeSector doesn't check for write protected images yet) No Type III commands yet 2002-06-06 David Heremans <david.heremans@gnu-linux.net> * First step towards an FDC implemenation: Basic structure is provided MSXFDC as good as finalized. 2002-06-05 Joost Yervante Damad <andete@worldcity.nl> * preliminary auto* libpng support [David is learning auto* woowoo!] 2002-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be> * Implemented "speed" command, try "help speed" in console 2002-06-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * MSXGameCartridge cleanup 2002-05-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed PAINTER.ROM: mappertype autodetection doesn't work, start with ./openmsx roms/PAINTER.ROM,64kb * Fixed MSXSCCPlusCart: delete SCC in destructor ignore reads/writes outside address space 2002-05-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * writing the same value twice to an (output) connector doesn't change the status of that connector, so don't call the write method of that connector twice (Joystick, PrinterPort, Y8950Keyboard) 2002-05-23 Bas Wijnen <b.wijnen@student.rug.nl> * Mutexes added around PRT_* macros 2002-05-22 Maarten ter Huurne <mth@stack.nl> * SDLGLRenderer uses block textures in Text1 (SCREEN0.40). * SDLGLRenderer uses block textures in Graphics2 (SCREEN2). * Rendering sprites in SDLGLRenderer is a lot faster now, because textures aren't immediately destroyed after drawing. 2002-05-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * small sprite rendering optimizations 2002-05-18 Bas Wijnen <b.wijnen@student.rug.nl> * Added files for Xlib renderer. Mostly unimplemented. 2002-05-15 Maarten ter Huurne <mth@stack.nl> * SDLGLRenderer uses textures. 2002-05-15 Bas Wijnen <b.wijnen@student.rug.nl> * g++-3.0 fixes 2002-05-15 David Heremans <david.heremans@gnu-linux.net> * JoyNet cable using TCP/IP implemented 2002-05-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * converted some ints to unsingned ints 2002-05-13 Joost Yervante Damad <andete@worldcity.nl> * fixed some files mising in the Makefile.am 2002-05-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made "diska" and "diskb" commands 2002-05-09 Joost Yervante Damad <andete@worldcity.nl> * File, HttpFile, LocalFile [work in progress] 2002-05-08 Bas Wijnen <b.wijnen@student.rug.nl> * fixed console-key-pass-bug and some minor things 2002-05-06 David Heremans <david.heremans@gnu-linux.net> * Skeleton files for JoyNet configuration 2002-05-05 Bas Wijnen <b.wijnen@student.rug.nl> * Game Master 2 is working with SRAM and guessing. 2002-05-03 Bas Wijnen <b.wijnen@student.rug.nl> * Created src/FileType.hh for g++-3.0 and some g++-3.0 fixes 2002-05-02 Maarten ter Huurne <mth@stack.nl> * Calculate pixel precision coordinates. They are approximately right, but not exactly right yet. 2002-05-02 Joost Yervante Damad <andete@worldcity.nl> * File, HttpFile, LocalFile [work in progress] 2002-05-01 David Heremans <david.heremans@gnu-linux.net> * Skeleton files for JoyNet device 2002-04-30 Joost Yervante Damad <andete@worldcity.nl> * s/-fhuge-objects//g * verious g++-3.0 fixes 2002-04-29 Maarten ter Huurne <mth@stack.nl> * SDLGLRenderer is working again. * SDLGLRenderer now uses CharacterConverter and BitmapConverter. * Removed double buffering from SDLHiRenderer. It didn't work and without double buffering more optimisations are possible. * Renderers use screen position instead of EmuTime for internal update targets. It was like this before the VDPVRAM introduction and with the cleaned up implementation it is possible again. It also fixes a bug where too many lines were scanline converted. This caused no glitches, but it did waste CPU cycles. * Also made SpriteChecker use screen position rather than EmuTime. 2002-04-29 Joost Yervante Damad <andete@worldcity.nl> * small cleanup FilePath [sorry guys!] * more proper cleanup 2002-04-28 Maarten ter Huurne <mth@stack.nl> * Some VDP cleanups. 2002-04-28 Joost Yervante Damad <andete@worldcity.nl> * FilePath stuff for future FileManager 2002-04-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Tab-completion updates 2002-04-28 Maarten ter Huurne <mth@stack.nl> * Removed re-entering of SpriteChecker::sync and Renderer::sync. Display enable/disable changes now go through VDPVRAM. Various other cleanups. Most sprite glitches are fixed now. 2002-04-28 Bas Wijnen <b.wijnen@student.rug.nl> * Added includes, std:: prefixes and unsigned char casts to allow compile with g++-3 2002-04-27 Maarten ter Huurne <mth@stack.nl> * Display mode changes now go through VDPVRAM. It also performs planar reorder on single-byte reads and writes. 2002-04-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * VDP Text2 dirty colour table check 2002-04-24 Maarten ter Huurne <mth@stack.nl> * Fixed a bug in SpriteChecker and also simplified it. 2002-04-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * more accurate VDP command timing: 2002-04-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Enabled VDP command timing: recalculated table, no difference 50/60Hz anymore 2002-04-23 Maarten ter Huurne <mth@stack.nl> * Re-enabled SDLGLRenderer. 2002-04-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * tuned relative volume Y8950-ADPCM / -FM (thanks Manuel) 2002-04-18 Maarten ter Huurne <mth@stack.nl> * Separated sprite checking into a separate class. Works, but with glitches. 2002-04-17 Joost Yervante Damad <andete@worldcity.nl> * added tools/ dir and bin2c tool * added --disable-SCC * added --disable-FMPAC * added --disable-MSXMUSIC * more "--disable-XXX"'s to come ;-) 2002-04-16 Maarten ter Huurne <mth@stack.nl> * More VDPVRAM and related cleanups. 2002-04-15 David Heremans <david.heremans@gnu-linux.net> * Enhancements to the developpers FAQ 2002-04-15 Joost Yervante Damad <andete@worldcity.nl> * extended commandline parser to support keyinserter 2002-04-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Extended KeyEventInserter so it can be used in Tilburg * Fixed YM2413 drums: playing the same drum twice now works 2002-04-13 Maarten ter Huurne <mth@stack.nl> * VDPVRAM and related cleanups. 2002-04-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * DACSound cleanup (still has the same(?) bug) * EventDistributor simplification: use Scheduler for synchronous event delivery thanks Maarten for the idea * Made Scheduler thread safe * #include cleanups * Y8950 generates an IRQ on end-of-sample _in_EmuTime_ (was realtime) * Implemented Y8950 keyboard connector: just the connector, no keyboard yet * More accurate ADPCM readback (thanks Maarten) 2002-04-11 David Heremans <david.heremans@gnu-linux.net> * Royal blood works, use type ASCII8SRAM2! Xanadu resets to Basic, Hydlide2 hangs. 2002-04-11 Maarten ter Huurne <mth@stack.nl> * Introduced "renderer" command to print current renderer and switch to another one. However, switching from SDLHi to SDLGL hangs SDL. Well, at least the renderer destructors are finally implemented. 2002-04-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Finally (?) fixed Y8950 samples: "Arranger 4" sounds ok now * Implemented ADPCM readback (untested) 2002-04-11 David Heremans <david.heremans@gnu-linux.net> * Royal blood works, use type ASCII8SRAM2! Xanadu resets to Basic, Hydlide2 hangs. 2002-04-11 David Heremans <david.heremans@gnu-linux.net> * Added (not tested) support for ASCII8SRAM type to MSXGameCartridge. 2002-04-08 David Heremans <david.heremans@gnu-linux.net> * Added support for Hydlide2 type to MSXGameCartridge. * Added generic support for SRAM to MSXGameCartridge. * Enhanced CommandLineParser to support SRAM filenames for games. 2002-04-08 Maarten ter Huurne <mth@stack.nl> * Took character scanline conversion out of SDLHiRenderer as well, its new home is a class called CharacterConverter. 2002-04-07 Maarten ter Huurne <mth@stack.nl> * Took bitmap scanline conversion out of SDLHiRenderer and put it in a separate class called BitmapConverter. It is necessary to reduce the size of SDLHiRenderer, because its source had become too large to manage (over 1250 lines). 2002-04-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * small update to doc/developersFAQ.txt 2002-04-05 Joost Yervante Damad <andete@worldcity.nl> * added --enable-interlacing ./configure argument see also ./configure --help and src/config.h.in after rerunning ./autogen.sh 2002-04-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Console cleanup * Console is no longer a singleton, instead there is now a singleton ConsoleManager. All Consoles must register with the ConsoleManager. * Made InteractiveConsole subclass of Console: SDLConsole inherit from InteractiveConsole a logging-only console inherits from Console * Bumped version number * ConsoleFont.bmp can now be in any configured directory 2002-04-04 David Heremans <david.heremans@gnu-linux.net> * Added more debug info to MSXGameCartrdige. * Fixed an error in SCCplus cartridge * Addapted SCCplus cartridge to use FileOpener 2002-04-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Moved ADPCM part of Y8950 to its own file * Fixed ADPCM bug: addresses where a factor 8 too low, only first sample was played correctly * Made console command "fullscreen", PrtScrn is bound to this command * Console command "mute" takes on/off parameter * Console command "pause" takes on/off parameter * Made console command "console", F10 is bound to this command 2002-04-01 Joost Yervante Damad <andete@worldcity.nl> * FileManager sync [WIP] * a first proposal for a FileManager API, I'll implement it soon if noone objects [or at least something like this!] 2002-03-31 Maarten ter Huurne <mth@stack.nl> * Cleaned up VRAM implementation a little. Still plenty of work to be done. 2002-03-30 Maarten ter Huurne <mth@stack.nl> * Added new VDPVRAM class, which manages VRAM. It is far from finished, but even in the current state it should be no less accurate than what we had before. 2002-03-30 Joost Yervante Damad <andete@worldcity.nl> * made CommandlineParser xml entity safe 2002-03-28 David Heremans <david.heremans@gnu-linux.net> * Added MC6850 and sampleram to '-musmod' CLI option. * Added article written for the Dutch MSX-infoblad. The png's are ment to be printed and where not scaled for webpurposes. 2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Added dummy MC6850 (ACIA used in MSX Music Module for MIDI): "FAC demo 3" now detects MSX Music Module 2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * amount of sample-ram is now configurable 2002-03-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * implemented Y8950 timers * implemented "throttle" command 2002-03-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed crash when a specified file did not exists: for some reason C++ doesn't throw exception beyond the constructor, even explicitly (re)throwing an exception in the constructor doesn't work 2002-03-25 Joost Yervante Damad <andete@worldcity.nl> * made VPATH compiles work, fixes 'make distcheck' also * bumped version no 2002-03-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * implemented RYTHM sounds for Y8950 (MSX-AUDIO): untested! * reworked IRQ handling: CPU keeps IRQStatus (was CPUInterface) this way CPU can react directly on unannounced IRQs (eg: Y8950 end-of-sample IRQ) 2002-03-24 David Heremans <david.heremans@gnu-linux.net> * Added more helptext to the CommandlineParser. * Made the 64 kB roms Manuel send me working. * Enhanced the autodection of MSXGameCartrdige. 2002-03-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Y8950 and YM2413 cleanups 2002-03-24 Joost Yervante Damad <andete@worldcity.nl> * fixed configure.in * continuation of <filepath> 2002-03-23 Joost Yervante Damad <andete@worldcity.nl> * more CustomConfig framework * started on FilePath CustomConfig * this is WIP, and is not finished yet! 2002-03-21 David Heremans <david.heremans@gnu-linux.net> * Again a (total) rewrite of CommandlineParser. A simpler and cleaner design then the previous one, and easy to extend for other CLI-options. 2002-03-20 Joost Yervante Damad <andete@worldcity.nl> * XML::Escape support added to libxmlx * usage is explained in the header * if you make xml that is feeded into libxmlx, you need to escape it first, to allow entity escaping for &, <, >, ... * cleaned up libxmlx dir, libxmlx is now dual licensed GPL and LGPL 2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * updated config files 2002-03-19 Joost Yervante Damad <andete@worldcity.nl> * started on CustomConfig * added src/config/ dir, moved initial files 2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * various Y8950 improvements, not sure adpcm part is completely fixed * fixed getName() for Schedulable (eg VDP) * fixed virtual inheritance constructor invocations 2002-03-18 Joost Yervante Damad <andete@worldcity.nl> * small fix in src/Makefile.am, I hope this solves David's compilation problems 2002-03-17 Maarten ter Huurne <mth@stack.nl> * Fixed graphical glitch when switching between PAL and NTSC timing. * Minor clean-ups in SDLGLRenderer. 2002-03-16 Maarten ter Huurne <mth@stack.nl> * Implemented blanking in SDLGLRenderer. * Implemented side borders in SDLGLRenderer. * Implemented sprites in SDLGLRenderer. * Only compile SDLGLRenderer if OpenGL was detected. 2002-03-15 Maarten ter Huurne <mth@stack.nl> * Improved line rounding in renderer sync. * Fixed side border widths in text mode. 2002-03-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed SCC distortion (was unsigned->signed conversion bug) * [Experimental] First order high-pass IIR filtering in Mixer * Tab completion of filenames for "disk" and "tape" command 2002-03-14 Maarten ter Huurne <mth@stack.nl> * Fixed ASCII16K MegaROM mapper. Eggerland 2 works now, but is still autodetected incorrectly. 2002-03-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed tab completion bug * Fixed printed CPU T-States (only printed value was wrong) * Fixed crash when RTC.SAVE or FMPAC.PAC where missing 2002-03-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * convert CassettePort to Connector-Pluggable structure * MSXSimple: - converted from MSXIODevice to PrinterPortDevice - renamed to PrinterPortSimple * MSXPrinterLogger: - converted from MSXIODevice to PrinterPortDevice - renamed to PrinterPortLogger 2002-03-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made Connector-Pluggable aware of EmuTime * convert PrinterPort to Connector-Pluggable structure 2002-03-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Console cleanup * Added console prompt * Tab completion for help command * Fixed uninitialized variable (enabledSCC) in MSXGameCartridge * made MSXConfig::getParameterAsXXX() methods throw execptions again 2002-03-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Split Console in Console and CommandController: commands can now execute without a Console * Implemented help command * Re-implemented tab-completion: - completion till longest common match - if there is only one match left a ' ' is added - option for context sensitive completion (not yet tested) * Implemented tab completion for (un)plug command: name of connector and pluggable gets completed 2002-03-07 Maarten ter Huurne <mth@stack.nl> * Fixed Generic16K MegaROM mapper. DOS2 works now. 2002-03-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Added plug-connector infrastructure: - only very basic support yet - changed joystick stuff to use this 2002-03-07 David Heremans <david.heremans@gnu-linux.net> * New internal structure of CommandlineParser is working This will make it possible to have extra parameters for cartridges,disks, or in a more global context. * Small fix to MSXGameCartridge 2002-03-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * split console commands in tokens 2002-03-05 Joost Yervante Damad <andete@worldcity.nl> * simplified auto* support for openGL see src/config.h after running autogen.sh to see which vars to use. For now it searches for <gl.h> or <GL/gl.h> and for -lGL This should allow easy conditional compile of SDLGLRenderer. 2002-03-04 Maarten ter Huurne <mth@stack.nl> * Added SDLGLRenderer (work in progress). * Added nms8250.xml to distributed files. * Fixed compile warnings in VDPCmdEngine. 2002-03-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * SCC cleanups and tiny tweaks 2002-03-04 Joost Yervante Damad <andete@worldcity.nl> * added auto* support for openGL 2002-03-03 Maarten ter Huurne <mth@stack.nl> * Made sure unused bits in GRB palette value are zero. 2002-03-02 Maarten ter Huurne <mth@stack.nl> * Implemented fixed palette for sprites in Graphic 7 mode. 2002-03-01 Joost Yervante Damad <andete@worldcity.nl> * cleanup & documentation for libxmlx * tightened interface in xmlx.hh * tiny configure.in fixes * bumped version number 2002-02-28 Maarten ter Huurne <mth@stack.nl> * Fixed enlarged sprites. (David, you can fly your heli now! ;) 2002-02-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * moved sound related files to new directory "sound" * fixed MSX-MUSIC in CTNG products: a real MSX-MUSIC is enabled on power-on 2002-02-27 Joost Yervante Damad <andete@worldcity.nl> * doxygen cleanups * updated homepage 2002-02-27 Maarten ter Huurne <mth@stack.nl> * Fixed even/odd page flipping, it was overzealous. 2002-02-27 Joost Yervante Damad <andete@worldcity.nl> * simplified auto* setup for crosscompiling * added atoll.c code for platforms that don't support that function * crosscompiling now works, xmlxdump.exe works, openmsx.exe doesn't work yet * for instructions, see README.WIN32 * fixed faulty CHECK_FUNC in configure.in * atoll.c is now only used when needed 2002-02-25 Maarten ter Huurne <mth@stack.nl> * Implemented even/odd and interlace display. 2002-02-24 Maarten ter Huurne <mth@stack.nl> * Fixed port C read bug in PPI. Now keyboard works in SBB promo and CAPS is off at boot time. * Implemented VDP name table masking (R#2) in bitmap modes. The 12 scrolls part of the Source of Power works now. * Implemented blinking in Text2 display mode. * Disabled SDLLoRenderer for now; it is not actively maintained. 2002-02-23 Maarten ter Huurne <mth@stack.nl> * Fixed Graphic7 border colour. 2002-02-22 Maarten ter Huurne <mth@stack.nl> * Implemented VDP overscan. Can use some more cleanup, but it works. 2002-02-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * PrinterPortDevice now receives EmuTime: this is necessary for devices like Simple 2002-02-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * moved CPU related files to subdirectory 2002-02-18 David Heremans <david.heremans@gnu-linux.net> * added simple and a printerlogger. Two devices that are connect to the printerport on a real MSX. The first is a DAC to play samples, the other logs all the data that a printer would normally print. 2002-02-17 Joost Yervante Damad <j.damad@qahwah.net> * added atoll support for platforms that don't have that function [code taken from newlib, a libc for embedded systems] 2002-02-16 Maarten ter Huurne <mth@stack.nl> * Moved "display or border" calculation from renderer to VDP. This is a preparation for overscan and for accurate VRAM timing. 2002-02-15 David Heremans <david.heremans@gnu-linux.net> * Nicer mappertypes for the MSXGameCartridge: As requested by Maarten you can now specify easier to remember names (like ASCII8, SCC,KONAMI4,...) for the different mapper types instead of the numbers. 2002-02-15 Maarten ter Huurne <mth@stack.nl> * Added "palette" console command. 2002-02-15 David Heremans <david.heremans@gnu-linux.net> * Nicer mappertypes for the MSXGameCartridge: As requested by Maarten you can now specify easier to remember names (like ASCII8, SCC,KONAMI4,...) for the different mapper types instead of the numbers. 2002-02-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * CPU speedup: CPU doesn't check the IRQ line after each instruction anymore, only directly after synchronization points. This also means that all irq.set() instruction must also set a synchronization point. TODO: check this for VDP, Y8950 and document this * VDP bug fix: writes to register > 46 (non existing registers) overwrite other variables 2002-02-13 David Heremans <david.heremans@gnu-linux.net> * MSX MUSIC/MSX AUDIO Stereo now possible: The xml has an extra parameter allowing the Y8950 and YM2413 to be activated in mono, left or right channel mode 2002-02-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed FM-modulation error in both Y8950 as YM2413 2002-02-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed some bugs in Y8950: it is usable now, both OPL part as ADPCM part but there are a few bugs left (YM2413 has the same problems) relative volume of opl vs adpcm might need some tuning 2002-02-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Made "cpudebug" command: must be enabled in CPU.hh (#define CPU_DEBUG) * Y8950 (AUDIO) updates * Implemented auto commands: automatic joystick/mouse insertion is now possible 2002-02-10 Maarten ter Huurne <mth@stack.nl> * Moved SDL dependent code out of VDP: - Renderer instantiation happens in PlatformFactory (new class) - full screen toggle was moved to Renderer (not its final location) 2002-02-08 Maarten ter Huurne <mth@stack.nl> * Fixed secondary slot select bug for real now. The cause was uninitialised variables, the previous "fix" turned out to be no more than a workaround. 2002-02-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Large Console cleanup: convert code to C++ split code in SDL dependent and SDL independent part moved all console code to directory ConsoleSource * Support for 9 joysticks * Stricter syntax checking for joyport command 2002-02-07 Maarten ter Huurne <mth@stack.nl> * Fixed ASCII 16K (type 5) mapper. Re-engineered Zanac-Ex ROM works now. * Made MSXMotherBoard console command inner classes private. 2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * More cleanups in ConsoleSource: made SDLFont class, replaces DT_drawtext 2002-02-06 Maarten ter Huurne <mth@stack.nl> * A few small fixes in joystick implementation. It works now. Thanks Wouter! 2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Console cleanups * ConsoleCommand inner classes for Scheduler, MSXMotherBoard * Implemented "disk" command (similar as "tape" command): works only for drive a: 720kb disks * Implemented "joyport" command: joyport[a|b] [unplug|mouse|joystick[1|2]] * First cleanup in ConsoleSource: use hash_map in CON_consolecommand instead of self-made linked list 2002-02-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Implemented "reset" console command. 2002-02-05 Maarten ter Huurne <mth@stack.nl> * Added MSXMotherBoard::IRQHelper class. * Removed IRQ helper functionality from MSXDevice. 2002-02-04 Maarten ter Huurne <mth@stack.nl> * Took advantage of new raiseIRQ/lowerIRQ semantics in VDP. 2002-02-04 Maarten ter Huurne <mth@stack.nl> * Fixed bug where devices in non-expanded slots would only be visible when subslot 0 was selected. * Implemented "slotselect" console command. 2002-02-03 Maarten ter Huurne <mth@stack.nl> * Implemented "slotmap" console command. * Console::printOnConsole now accepts multi-line texts. * Fixed buffer overrun in CON_Out. * Renamed DummyDevice's device name to "empty", which makes more sense to the user (who sees it in the slotmap). 2002-02-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Removed class LoadFile: it was only used by MSXRom and it was only usefull for that class (two classes merged now) 2002-02-02 Maarten ter Huurne <mth@stack.nl> * Implemented memory overlay behaviour in SCC page (0x3F). 2002-01-30 David Heremans <david.heremans@gnu-linux.net> * MSXTapePatch uses console: Now possible to change or eject tapes using the console 2002-01-29 David Heremans <david.heremans@gnu-linux.net> * Console enhancements: -calls CommandHelp when tabcomplition has already found a complete command * DiskPatch can now reports problems with disks during initialization: This should help Maarten if he has a 'black screen' :-) 2002-01-28 Joost Yervante Damad <j.damad@qahwah.net> * made libxmlx an 'utility' library, this implies that openmsx links this statically, which makes for easier debugging, no more 'wrapper script' for now 2002-01-27 Joost Yervante Damad <j.damad@qahwah.net> * Made SDL console autotools enabled 2002-01-26 David Heremans <david.heremans@gnu-linux.net> * Console now usable: - registered as ansynchron event listener - Scheduler has now two commands registered 2002-01-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed double delivery of syncronous events 2002-01-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Exception cleanups * Y8950 adpcm support (untested) 2002-01-24 Joost Yervante Damad <j.damad@qahwah.net> * added support for streamstring xml config per request of David 2002-01-24 David Heremans <david.heremans@gnu-linux.net> * Altered SDL_Console: - C++-ed the code and files - dumped unwanted function - now registers objects from type ConsoleInterface to use for callback instead of C-function pointers * Scheduler has now one (1) registered command with console: - press tab for autocomplete :-) * Added cartridge to help debug ARC protection cartridge * DummyDevice warns about unregistered I/O port calls 2002-01-22 David Heremans <david.heremans@gnu-linux.net> * Added an SDL_console: Not usefull for the moment but you can toggle it with F10 No commands possible and double key registration but the effect is "cool" :-) 2002-01-20 David Heremans <david.heremans@gnu-linux.net> * Added DSKFMT-implementationr:. Formating of a 360kB dsk file doens't work. A 720kB dsk file can be formated single or double sided. * Autofill of empty,newly generated .dskfiles: No auto formating however, maybe later. 2002-01-19 Joost Yervante Damad <j.damad@qahwah.net> * openmsx now uses new config code * features: - supports multiple config files - it's possible to create alternative config backends - no more libxml++ *yipee* - uses libxmlx, right now still linked dynamically, this means that ./openmsx is actually a libtool provided script, soo for debugging use .libs/openmsx and alter the LD_LIBRARY_PATH environment variable if needed - support for save not yet added, but it will be easy * xmlconfig raises exception on duplicate "id" 2002-01-12 Maarten ter Huurne <mth@stack.nl> * Compile fix for Thread class: explicitly convert between Runnable pointer and void pointer. 2002-01-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made a Thread class, interface is SDL independent, implemenation uses SDL * made a Mutex class, analog as Thread * sync MSX-MUSIC and MSX-AUDIO on register write * made all sound related classes (except Mixer) SDL independent 2002-01-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Implemented RTC load/save on power on/off (this is not the same as saveState) * Implemented FMPAC-SRAM load/save on power on/off 2002-01-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * MSXMemoryMapper <-> MSXMapperIO cleanup (thanks Maarten) 2002-01-10 David Heremans <david.heremans@gnu-linux.net> * Added FileOpener. This implements the needed routines to support "rompaths". It also provides easy to use functions to open files in the other devices. 2002-01-09 Maarten ter Huurne <mth@stack.nl> * VR resets one line before start of display. Fixes Almost Real Copper Bars part. 2002-01-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Prepared CPU and Z80 class for inclusion of R800: - moved as much code as possible from Z80 to CPU - separated timimg dependent code from the rest of the code - ugly "#inlude-hack" to avoid the overhead of virtual functions 2002-01-09 Maarten ter Huurne <mth@stack.nl> * Fixed MSXMemoryMapper so that it can handle over 64K of memory. 2002-01-08 Maarten ter Huurne <mth@stack.nl> * Red and green were swapped in Graphic7 rendering. * Apply planar reorder also on CPU reading VRAM and sprite checking. Fixes Hydefos intro, all Graphic6/7 rendering should be OK now. 2002-01-08 Maarten ter Huurne <mth@stack.nl> * Preliminary Graphic6/7 rendering. Works somewhat, but not in all cases. * Fixed transparency bug; Psycho World sky is blue again. 2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * DiskRomPatch cleanup: I wanted to fix the PHYDIO routine, but it was already correct (the result in the B register). Maybe it is now more obviously correct? 2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80: fixed HALT instruction (rounding error) * more #include cleanups * getCPURegs() interface cleanup 2002-01-06 Maarten ter Huurne <mth@stack.nl> * Implemented rendered line caching in bitmap modes (SDLHi). * Fixed GETDPB in MSXDiskRomPatch: uses static table based on passed media descriptor instead using values from boot sector. 2002-01-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80: reverted buggy optimization, fixes undeadline, track&field, flickering in space manbow 2002-01-06 Joost Yervante Damad <j.damad@qahwah.net> * small fixes * XMLConfig skeleton + some code 2002-01-06 Maarten ter Huurne <mth@stack.nl> * Text mode extra-wide border now drawn at once (SDLHi). 2002-01-05 Maarten ter Huurne <mth@stack.nl> * Implemented CC and IC bits of sprite mode 2. Now OR-ed sprite patterns are rendered as they should. 2002-01-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * #include cleanup * Changed PSG mute routine: PSG-samples in "time curb" now work! 2002-01-05 Joost Yervante Damad <j.damad@qahwah.net> * small libxmlx improvements - should handle comments and pcdata correctly - started modifications of msxconfig code, first in a seperate temporarely program cfgtest, to avoid hindering the other coders 2002-01-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Changed interaction Mixer-SoundDevice: Mixer now calls the updateBuffer() method of each SoundDevice, even if device is muted (device can update internal counter). If the device was muted is must return a null-pointer. 2002-01-03 Maarten ter Huurne <mth@stack.nl> * SDLHiRenderer needs to sync on VRAM updates after all. This solves the disappearing boss blocks of Knightmare stage 1. * The VDP (sprite checking) needs to sync on VRAM updates as well. Hopefully this will solve the Knightmare stage 2 boss problem. 2002-01-03 Joost Yervante Damad <j.damad@qahwah.net> * libxmlx sync 2002-01-03 David Heremans <david.heremans@gnu-linux.net> * Improved tape support, tested with Time_Curb.cas file 2002-01-03 Maarten ter Huurne <mth@stack.nl> * Changed pause implementation in Scheduler to make it thread safe. * Fixed PAL timing in SDLHiRenderer. 2002-01-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * RealTime syncronizer improvements 2002-01-02 David Heremans <david.heremans@gnu-linux.net> * Added tape support, not yet tested * Restored old filesize behaviour in gamecartridge 2002-01-02 Maarten ter Huurne <mth@stack.nl> * Improved VDP accuracy. Space Manbow still flashes, but less than before. 2001-12-31 Maarten ter Huurne <mth@stack.nl> * SDLHiRenderer uses double buffering. * Prepared SDLHiRenderer for RealTime sync, but if I enable it the emulated MSX slows down (even though host CPU load remains low). * Added FDC values as patches to nms8250.xml, fixes disk ROM hang. 2001-12-31 Joost Yervante Damad <j.damad@qahwah.net> * lots of small C++ standard compliancy fixes * Z80Core.hh -> Z80Core.nn * more disk support, still partially works only * disk support now works completely, but not yet for all programs [starquake, on mania036.dsk works completely] * fixes for slotselection [thanks Maarten] 2001-12-31 Maarten ter Huurne <mth@stack.nl> * Render accuracy is now one line instead of one frame. * Implemented line interrupt (horizontal scanning interrupt). Timing is still a bit off though. * Implemented horizontal display adjust (vertical not yet). * Implemented HR/VR status bits. * Prepared for caching of rendered lines in bitmap modes. * Command engine cleanups. 2001-12-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80: correct inter-instruction timing for DDCB and FDCB instrcutions, 2001-12-30 Joost Yervante Damad <j.damad@qahwah.net> * more disk support, it already works a little bit, but the slot switching still needs to be added 2001-12-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Memory reads/writes can now be cached (if possible) measured 10% - 20% performance gain not completely finished, especially documentation 2001-12-29 Joost Yervante Damad <j.damad@qahwah.net> * synced in libxmlx skeleton [W.I.P.!] * header file include cleanup, this should avoid alot of useless recompilation 2001-12-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Scheduler now uses a heap instead of sorted set * SyncPoints can now be removed * SyncPoints take an optional userData parameter, this parameter is later passed to executeUntilEmuTime() method * MSXDevice does not inherit from Schedulable anymore, devices that still need to be Schedulable must inherit itself from Schedulable (eg VDP) 2001-12-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added getCPURegs() and setCPURegs() methods in class CPU 2001-12-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * small optimization in Scheduler: no overhead when unpaused 2001-12-25 Joost Yervante Damad <j.damad@qahwah.net> * added --enable-profile and --enable-release to ./configure * added "debug" and "nodebug" targets to Makefile in src dir [toggle] usage: "make debug" turns on debug for this and next makes "make nodebug" turns it of again 2001-12-24 Maarten ter Huurne <mth@stack.nl> * Added "unsigned" to uint64 definition in Scheduler. Before, Scheduler::INFINITY was -1. * Implemented PAL at 50Hz and NTSC at 60Hz. * Restructured VDP timing routines. 2001-12-24 Maarten ter Huurne <mth@stack.nl> * Added render routine for Graphic4 mode. * Added support for 212 lines display. * Added partial sprite mode 2 implementation. 2001-12-24 Maarten ter Huurne <mth@stack.nl> * Added render routine for Graphic5 mode. * Added support for transparency control (R#8 bit 5). 2001-12-24 Maarten ter Huurne <mth@stack.nl> * Finished integration of command engine. It runs, but without render routines for the bitmap modes, it is not possible to visually check the results. 2001-12-23 Maarten ter Huurne <mth@stack.nl> * Fixed a design flaw in the Renderer interface. The update methods were called *after* the changed VDP state became effective. That way, delayed rendering operations cannot be completed because the old VDP state is no longer available. In the new interface, update methods are called *before* the new state becomes effective. So the old values can be retrieved from the VDP, while the new values are passed as parameters of the update method. 2001-12-22 Maarten ter Huurne <mth@stack.nl> * Fixed dirty check bugs. The "inside name/colour/pattern table" checks were wrong: too much was considered inside, therefore too many characters were considered dirty. Also the attempt to make Text2 use the same dirty checking code as the MSX1 display modes failed, instead I wrote different dirty checkers for different display modes. This was bound to happen in the future anyway, because bitmap modes will require different dirty checks than pattern modes. 2001-12-22 Maarten ter Huurne <mth@stack.nl> * Added VDP Command Engine 1.0 from Alex Wulms. Adapted the code to C++ and to openMSX conventions. Only functional change is SCREEN7/8 pixel lookups (two defines). The command engine compiles and links, but cannot run yet. 2001-12-21 Maarten ter Huurne <mth@stack.nl> * Implemented Text2 display mode (SCREEN0.80). * Prepared for blinking (not finished yet). 2001-12-21 Maarten ter Huurne <mth@stack.nl> * Applied gamma correction to V9938/58 palette. My guess is that the gamma of MSX and PC monitors is slightly different; the palette precalc now compensates for that. 2001-12-21 Maarten ter Huurne <mth@stack.nl> * Implemented palette feature of V9938/58. Can be seen by running Nemesis 3 using NMS8250 config. 2001-12-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed uninitialized variable in RP5C01: this caused a delay of several seconds at start-up 2001-12-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added MSX-AUDIO: no ADPCM yet, not optimized * LoadFile and MSXGameCartridge cleanup 2001-12-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Removed more indirections from YM2413 2001-12-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed CassettePort: exceptions don't work if you compile with -fno-rtti, removed it 2001-12-18 David Heremans <david.heremans@gnu-linux.net> * MapperType guesser can be turned on/off * MapperType now configurable in MSXGameCartrdige. * Integrated MSXKonamiSynthesizer into MSXGameCartrdige. 2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * sound on/off (F11) and pause (PAUSE) now work together * fixed "pure virtual function called" error 2001-12-16 David Heremans <david.heremans@gnu-linux.net> * Extende LoadFile to autodetermine file-size. * Renamed MSXMegaRom to MSXGameCartrdige. * MSXGameCartridge can now handle smaller game roms (<= 64kB) 2001-12-15 David Heremans <david.heremans@gnu-linux.net> * Added volume to the SCC. * Used F11 as HotKey to sound on/off: 2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Fixed DACSound, KeyClick now works 2001-12-11 Maarten ter Huurne <mth@stack.nl> * Optimised MSX-MUSIC mixing. * Removed indirection on ch array ("Channel *" -> "Channel). 2001-12-12 David Heremans <david.heremans@gnu-linux.net> * Added the SCC+ cartridge 2001-12-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Cleanup MSXMusic / MSXFmPac: "CALL FMPAC" now works! 2001-12-11 Maarten ter Huurne <mth@stack.nl> * Compacted the SCC mixing and muting code. * Added offset to lookups in SCC::getFreqVol. * SCC::ch_enable is not masked upon write. * Added "currentChipMode = chip" to SCC::setChipMode. * Changed size of waveform array to 32 (was 64). 2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Implemented Z80 inter-instruction-timing (DD CB instructions not correct yet) 2001-12-11 David Heremans * uploaded SCC soundchip: This chip can emulate the SCC hardware in the 3 know modes - Real SCC - SCC+ cartridge in SCC compatible mode - SCC+ cartridge in SCC+ mode * Changed MegaRom: Megarom of type 2 know use the SCC soundchip. 2001-12-10 Maarten ter Huurne <mth@stack.nl> * Implemented indirect register write for V9938/58. * V9938/58 can now have 16K, 64K or 128K of VRAM. * Upgraded CPU interface to read/write more than 16K of VRAM. * Changed video mode naming scheme to match V9938 data book. 2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Cleanups in MSXMemoryMapper, requires config file change * More config file changes: PSG -> volume parameter MUSIC -> volume parameter PPI -> volume parameter -> key_ghosting parameter Mixer -> frequency parameter -> samples parameter * RealTime cleanups: - MSXRealTime renamed to RealTime - RealTime is no longer a MSXDevice - moved parameters to config file 2001-12-09 Maarten ter Huurne <mth@stack.nl> * Faked enough V9938 features to make nms8250.xml boot. 2001-12-09 Maarten ter Huurne <mth@stack.nl> * Fixed compilation with Z80DEBUG enabled. * Fixed single-width pixels in SCREEN0 in SDLHiRenderer. * Re-enabled resetting of dirty flags at end-of-frame. This was probably disabled during debugging and accidentally commited to CVS. 2001-12-09 Maarten ter Huurne <mth@stack.nl> * Introduced VDP class, which will replace MSXTMS9928a. 2001-12-09 Joost Yervante Damad <j.damad@qahwah.net> * Rom Patching Code skeleton * MSXDiskRomPatch skeleton 2001-12-09 Maarten ter Huurne <mth@stack.nl> * Fixed uninitialised struct field in SDLLoRenderer. * SDLHiRenderer renders doubled pixels now. 2001-12-09 Maarten ter Huurne <mth@stack.nl> * Introduced SDLHiRenderer. Opens 640x480 screen, although it still renders low-res. * Changed configuration: - new category: "renderer" type selects renderer: "SDLLo" or "SDLHi" - "fullscreen" moved to "renderer" and renamed "full_screen" plus it's an actual boolean now - new parameter: "limit_sprites" in "msx1vdp" * Setting "limit_sprites" to false actually works now. 2001-12-08 Maarten ter Huurne <mth@stack.nl> * Improved Doxygen comments in MSXTMS9928a and Renderer. * Small optimisations in sprite rendering. * Renamed XPal to Pal: it hasn't been X for quite some time. * Introduced sprite buffering: VDP stores sprite info for one frame, so Renderer can retrieve it on demand. This removes the need for the Renderer to call checkSprites, making the VDP behaviour completely independant of the Renderer used. 2001-12-08 Joost Yervante Damad <j.damad@qahwah.net> * Loadfile now handles patching of files 2001-12-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added several missing reset() calls 2001-12-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * MSXPPI is no longer a singleton 2001-12-06 Maarten ter Huurne <mth@stack.nl> * Small initialisation fix in MSXTMS9928a. Thanks to Wouter for spotting the problem. 2001-12-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * removed init() method from MSXDevice: initialization should be done in the constructor * all MSXDevice constructors (former init() methods) now take an EmuTime parameter 2001-12-05 Joost Yervante Damad <j.damad@qahwah.net> * MSXRom continued [reworked, no longer inherited from MSXDevice] 2001-12-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Made MSXIODevice and MSXMemDevice both subclasses of MSXDevice: these 2 classes take functionality away from MSXDevice and put it in more specialized classes. They also offer things like automatic slot-registration (and in the future automatic IO-registration) * removed start() and stop() methods from MSXDevice * reset() method in MSXDevice now takes an EmuTime argument 2001-12-04 Joost Yervante Damad <j.damad@qahwah.net> * added MSXRom subclass and LoadFile mixin, as first step towards ROM patching support 2001-12-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * correct use of register 0x7ff6 for MSX-MUSIC * MSXMotherBoard is no longer a MSXDevice 2001-12-03 Joost Yervante Damad <j.damad@qahwah.net> * fixed Config *getConfigById(const std::string &type) * started on disk support "level 2" [not in CVS yet] 2001-12-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Made a new EmuTime class (for details search mailarchives for "[RFC] new EmuTiem class"). This gave a large performance gain, more than I had hoped for. * SoundDevices now unregister themself before destruction 2001-12-02 Maarten ter Huurne <mth@stack.nl> * Integrated name/pattern/colour table base addresses and mask into a single mask. This is probably how the hardware does it. * Fixed dirty checks. King's Valley 2 is now actually fixed, blanking just happened to make the problem go away without fixing the bug causing it. * Moved to "pull" model for VDP - Renderer communication: VDP sends update signals when parts of its state change, Renderer can get current state from VDP at all times. 2001-12-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed pause: - <F12> now works when paused - after pause emulation isn't too fast * correct inline in Z80 * MSXMegaRom cleanup, minor speedup 2001-12-01 Maarten ter Huurne <mth@stack.nl> * Fixed compile error in CassettePlayer.cc: PRT_ERROR contains exit(), which needs <stdlib.h>. 2001-12-01 Maarten ter Huurne <mth@stack.nl> * Fixed bug which caused Z80 to fail when methods were not inlined. Problem was that ld_xix_byte() and ld_xiy_byte() called Z80_WRMEM with two parameters, each of which read an opcode, an operation which increases the program counter. This is wrong because the evaluation order of parameters is not guaranteed. 2001-12-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added FM-PAC * MSXMotherBoard is now also a CPUInterface, this eliminates one indirection in readMem()-like methods but these get called a few 100 000 times a second. I measured 10%-20% performance gain 2001-11-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made a helper function registerSlots() * made a helper function loadFile() note: config file format changed! 2001-11-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Added a CassettePlayer (no record function yet) A CassettePlayer must be plugged into the CassettePort and you must insert a tape (= .wav file) into the CassettePlayer Currently you can't do either of these operations. 2001-11-27 Maarten ter Huurne <mth@stack.nl> * Added updateBlanking to Renderer interface. Fixes redraw problem in King's Valley 2. * Various cleanups in MSXTMS9928a and SDLLoRenderer. 2001-11-26 Maarten ter Huurne <mth@stack.nl> * Introduced SpriteInfo in MSXTMS9928a, this is a prelude to sprite info buffering (separating calculation time from rendering time). * Introduced VdpVersion enum in MSXTMS9928a. 2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Small CassettePort update, implemented very primitive filter 2001-11-25 Maarten ter Huurne <mth@stack.nl> * Sprites are now rendered in the screen buffer rather than in the display cache (which replaced "canvas"). As a result, sprite drawing code became simpler and the display cache needs less updates. 2001-11-25 Maarten ter Huurne <mth@stack.nl> * Render on demand: New Renderer can render as many lines as requested. Many lines at once has lower overhead, but if necessary it can still render one line at a time. This code can be converted to pixel-precision rendering that has decent performance. * All change tracking (dirty flags etc) is moved to Renderer. * Interface between VDP and Renderer is much cleaner now. (no more public fields) * Got rid of "tms" struct. 2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added basic support for CassettePort - CassettePort has no filters yet - no output (record) yet - !! no CassttePlayer (must be plugged in a CassettePort) !! 2001-11-18 Maarten ter Huurne <mth@stack.nl> * The drawing area (now called "canvas") is now an off-screen SDL surface instead of a pixel array. SDL calls are for blitting and drawing empty lines (top and bottom border). * Cleanup of change tracking in VDP. * Cleanup of Renderer access to VDP state: public fields replaced by inline methods. * Cleanup of VDP fields: slowly getting rid of "tms" struct. 2001-11-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * updated KeyEventInserter, it works now but it is not yet useable, needs to read text from config file or something 2001-11-17 Maarten ter Huurne <mth@stack.nl> * MSXTMS9928a and SDLLoRenderer respect SIZEOF_BOOL now. * Introduced Renderer: pure abstract superclass to all renderers. * Changed SDLLoRenderer into a template class. All supported colour depths are compiled in. A factory method selects a suitable colour depth automatically. 2001-11-17 Joost Yervante Damad <j.damad@qahwah.net> * added sizeof(bool) autoconf macro * rearranged configure.in to avoid problems with simple checks being confused by the extra CXXFLAGS and libs 2001-11-17 Maarten ter Huurne <mth@stack.nl> * SDLRenderer is now SDLLoRenderer (low-res: 320x240) and was given its own files. Also removed MESS history comments from MSXTMS9928a. 2001-11-16 Maarten ter Huurne <mth@stack.nl> * Split off SDLRenderer from MSXTMS9928a. This makes it easier to support different renderers (320x240, 640x480, 8/16/32bpp). In the near future SDLRenderer will get its own file. 2001-11-16 Maarten ter Huurne <mth@stack.nl> * Disabled 512K mapper in cfg/someconfig.xml because it conflicted with the MegaROM. 2001-11-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * cleanup EventDistributor/HotKey 2001-11-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80: interrupt state is only checked right after a sync point halt now "burns" CPU cycles --> large CPU speedup 2001-11-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * an MSXDevice is now associated with an MSXConfig object as soon as it is instantiated. Before this change it was possible that a MSXDevice (mostly singletons) was used before it could access its parameters. * AY8910: fixed uninitialized variables 2001-11-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed HotKey: method find() returns a normal iterator, not an iterator that goes over elements that match the search criteria 2001-11-13 David Heremans * openMSX now stops when using the WM close button: * Correct close behaviour: Set a sync point so that if the CPU is scheduled until infinite we still can stop openMSX. Wouter will look into the HotKey event distribution, it is temporarly fixed using if comands. 2001-11-09 David Heremans * quickly add a fullscreen flag in the TMS code: extra parameter in config.xml file use PrintScreen key to togle * openMSX now stops when pressing F12: however make sure that openMSx is full screen when you press F12 2001-11-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * reworked CPU related classes: much simpler structure more optimizations possible in the future * Z80: correct wait-state handling 2001-11-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80: undocumented instructions like "res 4,(ix+5),b" implemented * Z80: correct(?) timing for undocumented instructions 2001-11-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80 cleanup/fixes: fixed DAA instruction, bug in Penguin Adventure should be fixed now correct 'undocumented-flag-handling' for most instruction 2001-10-31 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed bug in Z80, some instruction had a negative T-State count!! Road Fighter works again 2001-10-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added MSX-MUSIC, code largly taken from Mitsutaka Okazaki http://www.angel.ne.jp/~okazaki/ym2413/ no "suspend" function yet 2001-10-29 Joost Yervante Damad <j.damad@qahwah.net> * finished migration of CVS and mailinglists to sf.net * thank you sourceforge team!! * http://openmsx.sf.net 2001-10-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixes, improvements to DACSound (untested) * updated KeyClick, the "click too short" problem should be solved now KeyClick now uses a DACSound object to play sound, playing samples on KeyClick should also be possible now (untested) * pause sound while pause emulation * SoundDevices default now to muted after creation, fixes a race in Mixer::registerSound() 2001-10-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * SoundDevices can now mute themselves, mixer doesn't ask for soundbuffer of muted devices * added KeyClick support, PPI had to be made time aware for this doesn't work very well yet because a typical key-click-spike takes about 34us which is shorter than the duration of 1 sample 2001-10-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * make DACSound compile again (doesn't work yet) * add HotKey service * openMSX can be paused (pause key), added to demonstrate the use of HotKey. Problems with current pause implementation: - sound must also be paused - realtime keeps running, so after unpausing openMSX tries to catch up and runs too fast for a while * MSXKanji now supports both class 1 as class 2 Kanji * Added MSXPrinterPort and DummyPrinterPortDevice (= no device connected) 2001-10-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Changed Mixer and SoundDevice interface (David's request). Now each SoundDevice must do its own buffer-managment, this gives more flexibility to devices like DAC's 2001-10-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * small performance improvement in MSXZ80 2001-10-21 Joost Yervante Damad <j.damad@qahwah.net> * added some basic conversions to MSXConfig##Device let me know when more are needed * updated msxconfig.dtd to reflect soon te be added non-device configuration entries * added support for non-device configuration entries this is not thoroughly tested, but should work 2001-10-19 Joost Yervante Damad <j.damad@qahwah.net> * started TODO file to collect ideas/things todo 2001-10-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * documented SoundDevice interface on David's request * RP5C01 can now optionally sync with host-clock, but this limitates some functionality 2001-10-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * implemented test register in RP5C01, corrected 12/24 hour mode, month-wrap-bug fixed * RP5C01 is now emutime synced instead of realtime 2001-10-17 Joost Yervante Damad <j.damad@qahwah.net> * added src/cfg dir for storing config file templates * started in KeyEventInserter 2001-10-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made improvements to MSXRealtime * small fixes to MemoryMapper, E6Timer * improvements to RP5C01 (RTC) 2001-10-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed bug in Keyboard (uninitialized variable) and made minor performance improvement in keyGhosting * add 1 extra waitState after each instruction * Corrected MSXRealTime, speed is now correct. Deviation was caused by accumulation of rounding errors. 2001-10-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Scheduler can now schedule "Schedulable" objects instead of only MSXDevices, this is necessary for sub-device scheduling (e.g. counters in I8254 2001-10-15 Marcel Harkema <marcel@qahwah.net> * * Set the MAINTAINERCLEANFILES variable in Makefile.am files (for make maintainer-clean) * * EventDistributor.hh should include <map> and not <multimap.h> (which is an internal header file) * * Add {XML,SDL}_CFLAGS, {XML,SDL}_LIBS, etc. to CXXFLAGS and LIBS in configure.in (and remove openmsx_LDADD line from src/Makefile.am) * Include <cassert>, <cstdio>, etc. instead of <assert.h>, <stdio.h>, .. [I might have missed some... please check your code] * [patch applied by joost] 2001-10-14 Joost Yervante Damad <j.damad@qahwah.net> * Made EmuTime printable [read streamable] for David 2001-10-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Simplified MSXRealTime implementation 2001-10-11 David Heremans <david.heremans@gnu-linux.net> * MSXTMS9928a and MSXRealTime updates 2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * update parts of audio-buffer when registers have changed * fixed tone generation in AY8910 (overflow in calculation) 2001-10-09 Joost Yervante Damad <j.damad@qahwah.net> * removed all automake/autoconf utility files, use autogen.sh to install them locally 2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added a real time synchronizer (MSXRealTime) * fixed keyGhosting bugs in Keyboard 2001-10-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * renamed Inputs --> Keyboard * forgot to initialize keyboard matrix * moved method keyGhosting() from MSXPPI to Keyboard --> method is now only called when * keymatrix has changed and * keymatrix is read * extended Mixer to support (pseudo)stereo 2001-10-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Made a very simple mixer, made AY8910 register itself as sound generator. 2001-10-03 Joost Yervante Damad <j.damad@qahwah.net> * updated automake utility files 2001-10-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * "static const int -> enum" cleanup * Reworked EventDistributor, it is now possible to deliver events synchronously and asynchronously. This makes the EventDistributor more complex, but it eliminates locking problems in synchronous ( = almost all) client code. 2001-10-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made Philips mapper-IO behaviour * read mapper behaviour from config file, this needed some restructuring in MapperIO and related classes * Fixed TurboR ST mapperIO 2001-10-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80 converted to a C++ class, still needs cleanups * IRQ handling cleanup 2001-09-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * second part of Z80 cleanup 2001-09-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * #define -> static const int cleanup * first part of Z80 cleanup 2001-09-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * reimplemented Scheduler, total new algorithm * made some changes to cpu-device's these need some cleanup, especially the c/c++ mix (Z80) 2001-09-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * added locking to class EventDistributor (maybe std::multimap is thread-safe and no locking is necessary) * added locking to class Mouse, there was a small race that could cause some mouse-movement-glitches 2001-09-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * implemented Real Time Clock device * implemented joystick support. Cannot be used yet since there is no mechanism to plug a Joystick in a joystickPort yet (dynamically nor statically) * implemented mouse support. Cannot be used yet, same reason as above 2001-09-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made sperate thread for event handler other classes can ask EventDistributor to receive specific events * adapted Inputs for new event model * respond to SDL_QUIT event 2001-09-23 Joost Yervante Damad <j.damad@qahwah.net> * various small fixes * started working on making the code work with gcc-3.0 * added autogen.sh: use to regenerate build files * added m4/ dir for own autoconf m4 macros * added fstream_templ.m4, since in gcc-3.0 ifstream is templatized on type, and .read() returns char, not unsigned char, soo this needs ifstream<byte> in openmsx, but in gcc-2.95 ifstream is not a template. * added -fno-rtti to compile-flags since we don't use runtime type inspection anyway, and it increases binary size see also: http://gcc.gnu.org/ml/gcc-help/2000-03/msg00064.html 2001-09-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * cleanups in most devices * small bug fixes in some devices * Implemented memory mapper all mappers share one MapperIO device reading from mapper ports can be customized 2001-09-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * Z80/R800 separation cleaned up: only the class MSXCPU knows there are 2 CPU's, all other devices should talk to MSXCPU instead of MSXZ80 or MSXR800 (nor ask MSXMotherBoard which CPU to talk to) Removed some code marked as "ugly hack" * added support for Kanji ROM * cleanups in MSXRom16KB 2001-09-19 Joost Yervante Damad <j.damad@qahwah.net> * various small fixes around the code * the 16k rom still needs a C++ makeover 2001-09-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * implemented kana/code led * implemented joystick-ports. This is only the port, not the devices that can be plugged into the port (joystick, mouse, ...) * interupt handling was seriously broken (CPU jumped to 0x38 at every di->ei transition even when there was no device that had raised an IRQ) Fixed now (I think). Also moved interrupt related methods from class Scheduler to class MSXMotherBoard. 2001-09-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * implemented sound generation for PSG (code taken from xmame-0.37b) mixer is not finished, so you won't hear anything yet 2001-09-16 Joost Yervante Damad <j.damad@qahwah.net> * added endian-ness check to configure.in * removed -DLDB_FIRST, and made it dependant on configure result * added sizeof long autoconf check, to make Z80.cc also work correctly on 64 bit and 128 bit cpu's [untested] 2001-09-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * started implemention of MSXPSG (no sound generation yet) 2001-09-15 Joost Yervante Damad <j.damad@qahwah.net> * reworked msxconfig.cc by using the xmlhelper * xmlhelper is a simplified xml interface 2001-09-13 Joost Yervante Damad <j.damad@qahwah.net> * added xmlhelper class, which I will start using to make xmlconfig code cleaner * made msxconfig more standards-compliant 2001-09-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * removed double initialization * CPU is no longer a special case with initialization * fixed various bugs * made Inputs independent from MSXPPI * implemented CAPS LED + support for all other LEDs 2001-09-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * print more usefull debug messages * use DummyDevice instead of the general MSXDevice for all the emptyDevice's * registering SP must be done by Scheduler, not Motherboard 2001-09-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * some fixes (yesterday discussed with Davy) 2001-09-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * fixed a few classes to make them compile again * made some minor addition to emutime 2001-09-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * print debug information only if compiled for debugging 2001-09-05 David Heremans <david.heremans@gnu-linux.net> * sync : PPI, Z80, ... * Z80 should be completely correct now * started integrating SDL keys * VDP integration Sean's code started * subslot selecting and mainslot selecting imped * MSXMotherboard slotlayout filled with dummy empty devices to avoid 0-pointers 2001-09-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * In class Scheduler, use "set" instead of "list" or "sortedlist" * Split MSXPPI in a MSX depended part and a reuseable 8255 part 2001-08-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * made a more complete PPI implementation * made new device: E6Timer (TurboR) 2001-08-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * removed linkedlist.hh and use stl list instead * made template SortedList and use it in Scheduler this compiles, but does not link yet 2001-08-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * updated class Emutime * make use of emutime 2001-08-23 Joost Yervante Damad <j.damad@qahwah.net> * msxconfig: added <desc> and <rem> * msxconfig.hh: externalized nested classes * msxconfig: started saveFile support 2001-08-10 David Heremans <david.heremans@gnu-linux.net> * sync : PPI, Z80, ... 2001-08-09 Joost Yervante Damad <j.damad@qahwah.net> * reworked msxconfig code, now more C++ * added support for multiple slotted's 2001-07-07 Joost Yervante Damad <j.damad@qahwah.net> * added class property to <parameter> tag in msxconfig * also slightly reworked that code * bumbed version to 0.1.1 * added SDL auto* support 2001-07-06 Joost Yervante Damad <j.damad@qahwah.net> * merge David's code in CVS this includes: PPI, Z80, RomDevice, Motherboard, ... 2001-06-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * more updates tex docu file 2001-06-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * more updates tex docu file 2001-06-23 Joost Yervante Damad <j.damad@qahwah.net> * finished readonly MSXConfig interface 2001-06-22 Joost Yervante Damad <j.damad@qahwah.net> * added MSXException exception base class. * created MSXConfig exceptions * started using them. * make distcheck now works * openmsx.tex is part of the dist 2001-06-21 Joost Yervante Damad <j.damad@qahwah.net> * made MSXConfig code -> this code needs serious cleaning later ! :) 2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * updated tex docu file 2001-06-20 Joost Yervante Damad <j.damad@qahwah.net> * initial MSXConfig interface/singleton skeleton * first touch with libxml++ * links smoothly now with libxml++ and libxml * !!warning!! needs libxml++ version 0.13 (debian ships with 0.10) * see also http://lusis.org/~ari/xml++/ 2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be> * created tex docu file 2001-06-19 Joost Yervante Damad <j.damad@qahwah.net> * added autoconf support for libxml * added some $Id magic tags 2001-06-18 Joost Yervante Damad <j.damad@qahwah.net> * Emutime tweaks as per Wouter and David 2001-06-16 Joost Yervante Damad <j.damad@qahwah.net> * added autoconf support for libxml++ * various small tweaks 2001-05-06 Joost Yervante Damad <j.damad@qahwah.net> * made a nice and clean CVS/automake/autoconf/libtool * restructured source * versioned files 2001-05-04 David Heremans <david.heremans@gnu-linux.net> * openmsx: initial version.