BeebEm Change History ===================== Version 4.14 (J.G.Harston, Steve Pick, Mike Wyatt) ------------ * IDE hard drive interface. - Limited IDE_Geometry command supported, allows 4 heads x 64 sectors (disks up to 512M), and 16 heads x 64 sectors (disks larger than 512M). - SCSI and IDE hard drives selectable/configurable. - Disk images referenced by DiscsPath setting. * Double-sided SSD disks supported (image file>&40000 bytes long). * Debugger updates, bug fixes and addition of "script" command. * XAudio2 sound support (thanks to "bredbored"). * Added a couple of TV resolutions to the DX video mode menu. * Fixed bug where disk drive sound sticks on. * Fixed keyboard issue for Dr Who game. Version 4.13 (Mike Wyatt) ------------ * Added indication of unplugged ROMs to the configuration editor in Master 128 mode. * Add a keyboard shortcut to exit (Alt+F4). * Added support for loading .img files from command line. * Fixed bug in 1770 controller emulation where second side of a single sided disk could be accessed. * Fixed some character mappings in text view mode. * Added -FullScreen command line option. * Added command line support for loading second disc image into drive 1. * Added option to maintain a 5:4 aspect ratio output in full-screen mode. * Made the BeebEm window resizeable. * Fixed an issue in the sound code that was causing garbled output. Version 4.12 (Mike Wyatt) ------------ * Added ROM configuration editor. * Updated sideways RAM support: - Changed SW RAM write enable menu to show slots containing RAM and disable the ROM slots. - RAM slots enabled now saved in preferences. - Added write through to the first RAM bank when writing to ROM address range (&8000-&BFFF). - Added SW RAM board emulation where the active RAM bank is selected by the User VIA port B output. * Added AtoD to saved state. Joystick should now work after restoring a state file. * Fixed joystick capture error when enabled for a second time. Version 4.11 (Rob O'Donnell, Rich Talbot-Watkins, Mike Wyatt) ------------ * Added AUN Econet support. * Added 'RAW comms' option for use with the serial port IP options. * Updated video emulation to remove screen stretching and fix cursor positioning. * Added some more shortcut keys, for use on laptops primarily: ALT 1 Quick save state ALT 2 Quick load state ALT 5 Capture screen to file ALT + Increase emulation speed ALT - Decrease emulation speed * Added support for the Master 128 numeric keypad. * Added option to enable/disable floppy drive controller. * Added option to enable/disable the real time clock Y2K 20 year adjustment. * Fixed bug in M128 BIT instruction (thanks to Michael Firth). Fixes some issues when using MOS3.5 (e.g. *CONFIGURE). * Fixed issue with file lengths in disc import option. Version 4.10 (Mike Wyatt) ------------ * Added screen capture options to the file menu. Resolution and file format can be selected. The BMP, JPEG, GIF and PNG file formats are supported. ALT+keypad 5 (with NumLock on) is a shortcut key for capturing the screen to file. * Added option to change the User Data folder location. * Added keyboard mapping to the saved emulator state. * Fixed issue with file offsets after break key press in 1770 controller. * Fixed issue with disc write protection when changing Beeb model. * Fixed sound muting while Window is being moved. * Changed source code licensing to the GNU General Public License. * Removed the Master 512 Co-Processor and TMS5220 Speech Generator emulation as the source code licensing for these features is not compatible with the GPL. These two features are still available in BeebEm version 4.03, which is on the BeebEm website. Version 4.02 (Mike Wyatt) ------------ * Added disc drive sound emulation. * Added write support for the Master real time clock. * Fixed teletext mode smoothing at startup in Vista. Version 4.01 (Steve Pick, Mike Wyatt) ------------ * Rewrote debugger command interpreter: - Supports command names longer than one character - Added command history (up/down arrows when command box focused) - Commands are now implemented using function pointers, should be more expandable. - More descriptive help - type 'help', 'help ' or 'help '. - Better label support - any word in command arguments preceded with a '.' is interpreted as a label and resolved before the args are passed to the command handler. * Fixed bug that prevented checkboxes enabled/disabled by command from actually taking effect. * Expanded debug memory map support: - Maps can now be stored for each ROM, just put a .map file with the same name as the ROM in the ROM's directory, for example BeebFile\BBC\os12.map corresponds to BeebFile\BBC\OS12.ROM, and address queries (via 'help ') will return info from the currently selected ROM's map. - Address info queries now understand shadow/private/sideways RAM in different machines. - Cleaned up MemoryMap.txt and moved it to BeebFile\BBC\OS12.map * Added 'state m' command to get state of memory (ACCCON and Shadow/Sideways RAM info) * Added routines for extracting header info from paged ROMs, and 'state r' command to dump this info in the debugger. * Break now shows previous Program Counter address as well as the current address. This is useful for finding where the source of a jump was. * A bit of a hack to allow debug window to go behind main window, but also come to foreground with main window. * Added option to enable DirectX smoothing when only in teletext mode. Version 4.0 (Mike Wyatt, Rob O'Donnell, Steve Pick) ----------- * Added clipboard functionality from the Mac port. Clipboard can be set as destination for printer output, copy and paste menu options for BASIC programs. * Added file import/export for DFS disc images loaded into BeebEm. The exported files use the standard archive format where .INF files store the file attributes. * Added support for disc, state and tape file specific preferences. When loading a file from the command line, running a disk image or loading a state file BeebEm will check for Preferences.cfg and Roms.cfg files in the same folder as the image file. This makes it easier to set up different preferences for different programs. * Added ALT-ENTER keypress to toggle fullscreen mode. * Creation of registry entries at installation: HKEY_LOCAL_MACHINE\SOFTWARE\BeebEm\InstallPath HKEY_LOCAL_MACHINE\SOFTWARE\BeebEm\Version * Reduced the tape control window size so it fits on a Netbook screen. * Added Rob's IP options for serial port emulation. Allows connection via TCP/IP to local or remote IP address. Incoming connections can be supported via utilities such as tcpser. * Debugger enhancements from Steve: - User-defined breakpoints and watches. - Break on BRK instruction. - Support for loading VICE format label files, as generated by LD65 - this lets you use text labels in place of addresses in all debugger commands. - Memory map file allows short descriptions for memory ranges. Debugger will use this to describe what location it's entered OS code at, or where the break landed. - Commands to toggle various UI checkboxes. - Command to echo a line of text to debugger output. - Debugger commands can now be loaded from a script file specified on the BeebEm command line (with -DebugScript). Simple comments are also supported. - Sanitized some code, added DisplayDebugInfoF(format, ...) to output formatted debugging info, sprintf() style. - Beautified the debugging UI a bit. Version 3.85 (Mike Wyatt) ------------ * Fixed disc formatting using the 8271 controller. * Video update / capture fix from Rich. * Reduced CPU load when execution is halted in the debugger. * Added three new debugger commands: "g" to goto an address "fr" to read a file into host RAM "fw" to write a file from host RAM Version 3.84 (Mike Wyatt) ------------ * Added menu option to display cursor line at bottom of screen. * Added \d option to -KbdCmd command line parameters * Made -KbdCmd processing more resilient Version 3.83 (Mike Wyatt) ------------ * Added -NoAutoBoot command line option. Version 3.82 (Rich Talbot-Watkins, Mike Wyatt) ------------ * Periodic noise emulation tweak from Rich. * Video emulation fixes from Rich. * AVI capture fix. When AVI is enabled the video frame rate is now fixed to match the capture rate. This should stop video and sound getting out of sync. * Changed CMOS default for print destination to the parallel port. Printer options should work correctly in Master mode now. * Added support for loading tape images from the command line. * Added -KbdCmd command line option to specify a key press sequence to run at start up (can be used to run a tape image). Version 3.81 (Mike Wyatt, Jon Welch) ------------ * Added -DisMenu command line option to disable the menus. * Fixed issue where sound output stops after about 10 mins. * Corrected the fix in v3.8 for sound artifacts. Sampled sound works correctly again. * Added periodic noise emulation tweak from Rich Talbot-Watkins. * Updated instructions for defining user keyboard mappings (thanks to Jonathan Bluestone). * Bug fix - Cursor position wrong when in column 1 in editing mode. Version 3.8 (Mike Wyatt, Jon Welch) ----------- * Enhanced user defined key mapping support. Shifted and unshifted key presses can now be defined separately so custom logical mappings can be defined. * Added load and save options for user defined key mappings. * Corrected emulation of PLY processor instruction. * Fixed bug in sound emulation that was causing sound artifacts. * Set root directory to $ for new ADFS images. * Fixed keyboard interrupt handling (can now enter name in Super Pool high score table). * Added some preference options to autosave CMOS and all of the prefs on exit. Also, by popular demand, added a prefs option to remember the last folder used for loading disc/tape/state files. * Fixed disc write protect menu update when ejecting a disc. * Increased default Econet flag fill timeout to 250000. Improves Econet comms a bit (still not 100% though). Version 3.7 (Jon Welch) ----------- * Added ARM Second Processor support. Version 3.6 (Mike Wyatt, Jon Welch) ----------- * Made BeebEm Vista compatible. * Added support for DirectX9 so image output looks good in Vista. * Moved all preferences from the Window registry to the Preferences.cfg file. CMOS settings also moved from cmos.ram to the prefs file. * Preferences such as Window position, FDC selection and CMOS settings are now only saved when "Save Preferences" is used. * Moved all "user" data such as disk images, tape images, state files, config files, etc. to the user's "My Documents\BeebEm" directory. BeebEm will copy a default set of data files to "My Documents\BeebEm" if the directory does not exist. Each user will have their own data files and preferences. * Added command line options to specify user data directory, preferences file and roms configuration file. This allows different BeebEm preferences and configurations to be set up and selected via the command line. Also allows BeebEm to be run from a USB drive without affecting the host PC (run via the BeebEmLocal.vbs script). * Added 'Protect on Load' to disc options menu to select default write protect state when a disc is loaded. * Added some more Window and full screen sizes. * Change to use Inno Setup for installation. Installer will move any user data files from "\Program File\BeebEm" to "My Documents\BeebEm". * Fixed keyboard handling bug with the shift key. * Fixed write protection toggling when using 1770 DFS emulation. * Fixed error handling for open file failure in 1770 DFS emulation. * Fixed write protection reporting in 8271 DFS emulation. * Fixed preference saving for sound on/off and AMX on/off. * Added preliminary 300 baud support for CSW, Swarm now loads * Added hard disc activity LED's * Added CSW support to Tape Control window * Added support for Level 3 Econet User Port RTC Module * Added support for mixed mode ADFS/NETFS format discs Version 3.5 (Mike Wyatt, Theo Lindebaum, Jon Welch) ----------- * Added text to speech support and screen reader compatible text view for use by visually impaired people. * Fixed support for MOS 3.50 in Master 128 mode. * Fixed a bunch of compiler warnings thrown up by VS2005. * Fixed some odd keyboard behaviour associated with AltGr key presses. * Fixed bug with speech output changing speed/pitch. * Fixed problem of saving to ADFS hard disc under 65C02 emulation. * Fixed user defined keyboard support so that shift key re-assignments work. * Added menu options to disable selected keys within BeebEm. Version 3.4 (Jon Welch) ----------- * Added preliminary support for loading CSW format tape images * Added emulation of Microvitec touch screen (can be used with software from Brilliant Computing) * Added user port breakout box * Added digital mousestick option * Fixed joystick emulation in Master 128 mode * Fixed problem of ESC key not always being detected * Fixed problem of accessing files when ADFS and DFS discs loaded side by side * Fixed a couple of tape related game loading problems * Fixed interrupt clearing issue in 8271 disk emulation (fixes save/restore state in Twin Kingdom Valley) * Minor VIA timing tweak to make Snapper work again Version 3.3 (Mike Wyatt) ----------- * Added menu options to enable/disable Teletext adapter and hard drive emulation. When enabled they cause corruption of Alien8 data. * Removed ADFS and ATS ROMs from Model-B configuration as they were causing a few problems. * Improved VIA and interrupt timing and fixed instruction cycle count for branches. The following programs now run: Nightshade (tape), Lancelot, The Empire Strikes Back, Dabs Fingerprint, Yie Ar Kung-Foo (tape) * Added "Eject Disc" options to the file menu. The name of the currently loaded image file is shown next to the menu option. * Added two new debugger commands: "c" to change memory contents "w" to write the debug output buffer to a file * Change sound volume to be exponential (suggested by Rich Talbot-Watkins). Seems to be a definite improvement on the linear scale. There is a menu option to switch between the two. Version 3.2 (Jon Welch) ----------- * Added support for Acorn Z80 Co-Processor * Added support for Master 512 Co-Processor * Added support for Acorn Teletext Adapter * Added some enhancements to the debugger from Thomas Horsten. Display of stack register and op codes for undocumented instructions. Version 3.11 (Mike Wyatt) ------------ * Fixed random crashes * Fixed display of LEDs Version 3.1 (Mike Wyatt, Rob O'Donnell, Jon Welch) ----------- * Added econet emulation. It works in Model B mode and Master 128 mode. The Acorn level 1 and 2 file server software runs and stations can read/write files to the server. Note that the default DFS ROM in Model B mode has been changed to the Acorn DNFS ROM. (Note also that TORCHNET works using the Torch Z80 Co-Processor) * Added some more command line options. The hardware model and tube support can be specified on the command line. See the notes in readme.txt. * Fixed default read value for IO pages FRED and JIM. Fixes graphics corruption in tape version of Alien 8. * Fixed bug in video emulation where it was attempting to display one too many lines causing visual artifacts (thanks to Phil Sainty for highlighting this one). * Added SCSI ADFS Hard Disc support * Added SASI Torch Z80 Hard Disc support * Removed IDE support as no longer needed * Added Acorn ADFS 1.3 ROM to Model B and B Plus modes so SCSI hard disks can be used. * Fixed problem with Alt key where certain keys get locked down * Fixed econet station allocation on PCs with multiple network interfaces/cards (thanks to Sam Skivington). * Added keyboard shortcuts for Quicksave (keypad /) & Quickload (keypad *). Quicksave now keeps the last 10 quicksave files so you can go back to an earlier state using the load state menu option. * Changed to ignore DirectX errors during screen update. Stops BeebEm reporting an error when switching between a full and non-full screen mode instances of BeebEm. DirectX appears to sort itself out after a second or two! * Fixed disk initialisation in the 1770 controller when creating a new disk image. * Fixed disk formatting with the 1770 controller. Version 3.0 (Mike Wyatt) ----------- * Improved VIA timing emulation and fixed some instruction cycle counts. Its still not perfect but its good enough to run various versions of the infamous "Kevin Edwards" protection code! The following tapes now load and run: Knight Lore, Alien 8, Daley Thompson Supertest, Strykers Run, Exile, Joust, Galaforce These are the only ones I've tried, others may work as well. * Fixed bug in horizontal displayed register emulation. Joust tape loading screen now appears centered correctly. * Fixed bug in virtical sync position register emulation. Stops DirectX errors occurring when running Micropower Roulette. * Fixed bug in virtical displayed/total register emulation for mode 7. Screen is now cleared below lines that are displayed. * Added AVI video capture to the file menu (now with resolution and frame skip options). * Changed command line parsing so it works when paths are enclosed in quotes and it now supports loading of UEF state files (thanks to Jasper for this one). Disk and state files can now be associated with BeebEm and run by double clicking on them. * Fixed bug in IDE hard disk file access that prevented BeebEm from running when logged in as an unprivileged user on Windows XP. * Fixed bug with window positioning when task bar is on left or top of screen. * Bumped version to 3.0 to keep in sync with the Mac version of BeebEm. Version 2.3 (Mike Wyatt, Greg Cook, Jon Welch) ----------- * Added "Motion Blur" option to view menu (suggested by Ian Bell). This all but stops the spaceship flicker in Elite. * More 1770 disc controller fixes from Greg. * Preliminary IDE hard disk support from Jon Welch. * Torch Z80 second processor emulation from Jon Welch (see README_Z80.TXT). Version 2.2 (Greg Cook & Mike Wyatt) ----------- * Fixed BeebEm hang when RS432 is enabled (Acorn Basic Editor works again). * Fixed LED positioning in modes other than 7. * Integrated Greg's 1770 disc controller fixes. * Fixed keyboard handling so Revs works correctly. Version 2.1 (Mike Wyatt) ----------- * Added a tape control window for moving the tape position. * Added support for saving files to UEF tape images. * Added support for more UEF tape chunk types. * Added menu option to mute sound chip so tape sound can be heard. * Added menu option to automatically unlock tape files. * Tape speed can now be changed without having to reload tape. * Added tape settings to the UEF state. * Added BeebEm speed shortcut keys, keypad +/- change speed. Version 2.0 (Mike Wyatt) ----------- * Added tube and 65C02 second processor emulation. It runs the Executive version of Elite quite nicely but you will need a reasonably fast PC. * Added Debugger (see Readme.txt for details). * Fixed more bugs in the video emulation (fixes Uridium, improves Level 9 graphical adventures in Master mode). * Fixed bugs in the joystick and AtoD emulation (SuperPool now works and it may fix problems with GamePads). * Tweaked sound tuning and noise generation. * Floppy controller selection is now saved for each Model B type. * Changed default DFS for B+ to the V2.26 Acorn 1770 DFS. * Rearranged menus a bit as options was getting too big. Version 1.6 (Ken Lowe & Mike Wyatt) ----------- * Added BBC Computech IntegraB Support: RTC Memory Private Memory 1K from &8000 to &83FF Private Memory 4K from &8000 to &8FFF Private Memory 8K from &9000 to &AFFF 20K Shadow RAM from &3000 to &7FFF * Added BBC Plus (128) Support 20K Shadow RAM from &3000 to &7FFF 12K Paged RAM (Level 9 graphical adventures work in IntegraB & B Plus modes) * Fixed various bugs in Via Timers (Volcano, Nutcraka, Pedro and Skirmish now work). * Fixed various bugs in UEF state store/restore, particularly for SW RAM usage and Master 128 mode (Elite & Exile save/restore now reliable). * Added disc settings to the UEF state. When a state is restored BeebEm will load the disc images that were loaded when the state was stored. * Fixed various bugs in the video emulation (fixes Psycastria and Level 9 graphical adventures, improves FireTrack). * Changed video emulation so that *TV255 does not move screen down (*TV254 does though). Some programs do a *TV255 and the bottom line of the screen is lost. * Fixed reload of drive 1 disc image after a File->Reset. * Fixed BeebDiscLoad environment variables in Model B modes. * Fixed ADFS boot (A+Break) in Master 128 mode. * Removed old BeebState stuff. * Removed 'Allow ROM Writes - All' option, it was not implemented. Version 1.5 (Mike Wyatt) ----------- * Updated the speed regulation code again (should fix hangs). * Added some more fixed speed settings (you can now play Elite at a decent speed!). * Put quick load and save back the right way! * Add a link to the README file to the help menu. * Changed keyboard maps to default and logical layouts. The default mapping is the same as the old mapping 1. Logical mapping maps symbol by symbol (for a UK PC keyboard at least) so you get what you press. * Added keyboard mapping options for A & S and function keys. * Changed ALT and F10 to normal keys so they no longer select the menu. F10 is mapped to f0. * Made more of the PC keys available for the user defined keyboard. * Added the File -> Run Disc menu option. * Added ability to pass name of disc image on command line to run it automatically. * Removed Use Host Clock option from sound menu - its not used. * Fixed Windows cursor when BeebEm starts up. * Add some sleeps to the serial comms threads so BeebEm is a bit easier on CPU usage. * Added some extra error checking for file handling. * Stopped BeebEm from creating the C:\crtc.log file (you can remove this file). * Tidied up the BeebEm installation directory. The source code is now kept in a zip file. * Moved all preference settings into the Windows registry. Version 1.4 (Richard Gellman) ***************************** Windows update only: * New teletext font * Teletext Aspect ratio and centering fixed. * Improved sound code timing * Sound "Part-Sample Compensation" * Screen displacement in Master 128 mode after CTRL-BREAK fixed * Shadow RAM/Other Master 128 mode memory problems fixed * Read Address and Force Interrupt commands added to 1770 FDC * Timing of disc access on 1770 FDC made more accurate * Option to create ADFS images with New Disc added * Cassette Relay Sound Effects fixed * Cassette Input Sound added * Keyboard and Disc LEDs added * Disc LEDs can be red or green * Fixed (I think) BufferInVideoRAM option * Implemented Teletext Half-Scan mode * Fixed HSync/VSync derived screen displacement * Added option to change Tape loading speed * Redid Serial Port code * Disc images now remain loaded between Model/FDC changes * Added plug-innable 1770 FDCs * Fixed Teletext "Hold Graphics" and Double Height bugs * More 6845 Registers implemented, including Cursor delay, and Sync delay * UEF State save/load implemented * Sound system tweeks implemented * Speed optimisations implemented * Non-Directsound code removed * BeebDiscLoad variable in Master 128 mode fixed * Window retains position between running * Re-worked HSync/VSync centering routine * Added option to use DirectSound primary buffer Version 1.35 (Richard Gellman) ------------------------------ Windows update only: * Fixed rom menu corruption during reset bug * Improved DirectSound code, makes sound smoother * Added hide menu option to allow the whole screen to be used for the BBC. * Added tape interface (and some code for the serial port) * Added preliminary tube support (not currently functional) * Added HSync and VSync handling to enable screen positioning * Added screen clear on Frame 0 to remove "redundant" screen data * Added the ability to display "Wide" screens (makes Boffin work correctly) * Corrected a 6502 Addressing mode bug (makes the sticky explosions in Elite go away) * Revised 6502 Instruction/IRQ/NMI timing * Corrected 6522 VIA Timer reload timing (makes Revs work correctly) * Corrected 6522 VIA Timer pre-reload action (makes Volcano work.. ish) * Corrected VSync timing.. removes flicker from Revs and some versions of Elite * Added writable option for ROMS in the roms.cfg file * Modified roms.cfg handling to save having to re-edit between releases * Minor Master 128 memory handling bug corrected * Added End Of Conversion to VIA emulation (allows the analogue port to generate interrupts) Version 1.32 (Richard Gellman) ------------------------------ Windows update only: * *All* undocumented 6502 codes implemented. * Almost full 1770 FDC Support (read/write track (format) and force interrupt still not supported yet) * ADFS Discs (Single or Double sided (auto detected)) now supported. * Fixed cursor positioning problem in Modes 3 and 6 * Fixed mode 7 7-bit control code handling * Fixed cmos.ram file open bug * Fixed sound menu corruption on model change/reset * Fixed rom menu * Added more flexible rom control via use of roms.cfg and optionally the supplied ROM Manager * Fixed that ini file bug... I put my settings into the registry now * Supplied all required DLLs and ROMs in with the download * Fixed the sideways RAM bug I accidentally put in the previous version Digital audio in Exile has returned! Version 1.3 (Richard Gellman) ----------------------------- Windows update only: * Added full cursor support to enable cursor on/off/blink and blink rates * Corrected mode 7 flashing text rate * Corrected minor fault in sound register write edge detect * Redesigned mode 7 font, looks ugly, pending further work (Original font found in mode7font.alt) * Added reset function to file menu. * Added Master 128 Support: 8K Filing system RAM from &C000 to &DFFF 4K Private RAM from &8000 to &8FFF 20K Shadow RAM from &3000 to &7FFF (still very slightly buggy, but usable) Added all documented 65C12 Opcodes extra to the 6502 Added _simple_ 1770 FDC - Read only at present Made some hardware re-arrange to alternate locations on a Master (The A to D convertor is accessed the same, but at a different location) * Implemented "available models" detection, only models that you have the roms for will be available, if neither available, the program exits. * Added BBC Model Type Menu to Options Menu Version 1.04 (Robert Schmidt) ------------ Windows update only: * Remember last used directories for disc images and emulator states. * Dialog for opening disc images has 3 new filters: - Automatic *.ssd/*.dsd detection - *.ssd only - *.dsd only * Support for higher DirectDraw resolutions, through new sub menu. (1280x1024 makes aliasing effects unnoticable, but requires a fast DirectDraw implementation.) * Added option to use 32-bit DirectDraw modes in full screen, as opposed to 8-bit. (In a window, DirectDraw uses the desktop color depth.) When combined with "Buffer in video RAM", the result is a *superior*, interpolated display! Scaling artifacts "disappear" at any resolution. * Made "Full Screen" a toggle, not a standalone mode/"window size". * Fixed a bug that didn't show speed/FPS in a windowed DirectDraw mode. Version 1.03 (Robert Schmidt) ------------ Windows update only: Monochrome monitor/B&W TV emulation Version 1.02 (Mike Wyatt) ------------ Added Robert's Freeze when Inactive option. Version 1.01 (Mike Wyatt) ------------ Fixes the problem with BeebEm hanging after about 35 minutes. Version 1.0 (Mike Wyatt) ----------- Switchable DirectDraw and DirectSound. Fixed Windows message boxes when using DirectDraw. Printer support. Improved ROM size checking. Improved speed regulation code. Version 0.9 (Mike Wyatt) ----------- Added AMX mouse support. Converted to use DirectX and added a full screen option. Fixed a few bugs (thanks to Piers Haken for pointing out a bug in the video code). Version 0.8 (Mike Wyatt & Laurie Whiffen) ----------- Added disc write and format capability. Changed disc load code to give a warning if disc image loaded looks like its been loaded using wrong type (single/doubled sided). MS Windows version only: Fixed so all key presses are released when windows looses focus. Rom slots can be individually changed between ROM and RAM using the menus. Added user definable keyboard mapping options. User preferences (including the keyboard mapping) can be saved in an INI file using a new menu option. Added menu options for write protection and creating new disc images. Version 0.71 (Mike Wyatt) ------------ Changed VIA timer latches initial value to 0xffff (Castle Quest now works). Fixed BCD addition and substraction and prevented mode 7 code from dividing by zero (Exile now works). Changed VIA code so the data direction registers can be read (Codename Droid now works). Fixed cursor colour in UNIX version. Added sideways RAM support (so Exile can be played full screen). Version 0.7 (Mike Wyatt) ----------- Added conditional compilation for all the Microsoft Windows code. Should only need to maintain one set of source files for both the X and MS Win versions. Changed sound code so it does not play a sound until both the high and low bytes of the frequency have been set (eliminates spurious high pitch beeps). Video module now generates a cursor. Implemented a load of undocumented 6502 instructions. Directed read and writes to the 16 bytes above each VIA back down to the VIAs (Castle Quest uses the higher addresses). Added the atodconv module to provide Analogue to Digital support. Added the beebstate module to provide Save and Restore of Beeb State files. These two new modules should compile under UNIX but there is currently no code in the X Windows version to use them. MS Windows version now provides: Load of menus to control everything Dynamic disc selection Beeb State save and restore Various Window sizes Real time and fixed frame rate modes Sound support Joystick support Mousestick support ROM write protection Multiple ROM initialisation Games keyboard mapping Pentium optimised version Version 0.6 ----------- A few fiddles with the config for linux - now compiles on 2.7.0 with the ELF-GCC release; but could cause probs for older releases. Stated adding sound card. Version 0.5 ----------- Improved timing - mode 7 bodged to exactly correct cycle count Interlace timing accounted for in modes 0-6. Interrupt latency added fixed window.cc (took out 'virtual' on most functions) - now OK in gcc 2.7.0 Changed default position of g++ includes to /usr/include/g++ ---------------------------------------------------------------------------- End