I still have most of the old versions, if anyone wants them then email me.

(note : when I started B-em, I had only been coding in C for about 2 months.
 So therefore it took ages to get anything working. I didn't keep an accurate
 log before 24th July, I got the starting date from the source and made up the
 rest.)

16/10/99 - Started work on 6502 emulation
24/10/99 - Gave up for a while because it doesn't work
20/05/00 - Rewrote the 6502 emulation (it was very badly written anyway).
           Still doesn't work
22/07/00 - Added some mode 7 emulation. Now boots (but that's about it)
24/07/00 - Got the keyboard working. Discovered that most of BASIC didn't work
Version 0.0 finalised

26/07/00 - Added cursor and true mode 7 emulation (instead of assuming things)
27/07/00 - Added a bit of colour to mode 7 (not correct colours though - still
           many control characters missing)
05/08/00 - Fixed BRK emulation, so error messages now work. Discovered that
           BASIC doesn't really work because almost everything you type is
           treated as a Syntax error. Tested a couple of programs; the
           introduction to Cybertron works, but Arcadians and Magic Mushrooms
           crash. No loaded BASIC programs work though
06/08/00 - Corrected mode 7 colours. Teletext graphics added, though not
           correct yet. Tested more games - the instructions on Frenzy work.
           Added generic .inf loader
08/08/00 - Added mode 2 emulation
09/08/00 - Added modes 1+5
10/08/00 - Wrote primitive FS (by trapping the OS). Only loading and *RUNing
           work
20/08/00 - Added error messages to the FS, instead of dumping back to DOS
22/08/00 - First version of *CAT added. Relies on files.lst file
27/08/00 - Fixed bug in setczvn (still not perfect though). Loads more BASIC
           now works, but it broke Chuckie Egg :(
28/08/00 - Added cursor to Modes 1+5
29/08/00 - Fixed shift and control keys.
30/08/00 - Tweaked Mode 2 emulation. Frenzy & Jet-Pac almost work. Added GUI
03/09/00 - Fixed bug in *LOAD, *RUN etc. Killer Gorilla & Blagger run more
Version 0.1 finalised

06/09/00 - Increased VIA delay, HUGE speedup but VIA accuracy falls apart.
07/09/00 - Randomized User VIA Port B (&FE60) - Snapper starts now (still
           unplayable). Added snapshots
08/09/00 - Model A emulation added. 
09/09/00 - More accurate cycle count.
25/09/00 - Went back to fixed cycle count, as most programs run better with it.
01/10/00 - Started sound hardware emulation (no sound output though)
02/10/00 - Added command line options for model A/B emulation, sound log,
           fixed cycles, etc. Now save sound output to sound.pcm (very out of
           tune though)
04/10/00 - Changed 76489->samples algorithm, sounds slightly better.
           Hardwired joystick to no buttons pressed, Bumble Bee now works
05/10/00 - Added periodic noise to sound code.
08/10/00 - Added -fixed1 switch, 6502 goes bloody fast but VIAs slow down.
           Rewrote a lot of the System VIA code - must've fixed a timer bug,
           because the emulator is about 200% faster
10/10/00 - Logfiles now disassemble 6502 code. Added 1 bpp modes (0,3,4 & 6)
12/10/00 - Set System VIA initial latches to 0xffff on reset - loads more
           games run. Patched some weird OS System VIA routine in an attempt
           to get Magic Mushrooms to work.
13/10/00 - Rewrote most of 6502 ADC+SBC instructions. Most of BASIC now works (!)
           and the game compatibility has gone up loads
14/10/00 - Started work on 8271 FDC emulation. Can now boot up with Watford
           DFS (v1.10)
Version 0.2 finalised

15/10/00 - 8271 FDC emulation. Emulates :
                - a single, single sided, 80 track disc drive
                - a subset of the 8271 FDC commands
                - boots and works with Acorn & Watford DFSs
           Repton 3 now works, except for scrolling bugs
16/10/00 - Scrolling bug now fixed - now using System VIA hardware scrolling
           regs as well as CRTC ones. Added ANC instruction, Repton 2 now
           works. Removed bug that crashed the BBC every minute or so by
           removing the flashing colours. Added option to supply the DIP
           switches. Mode 0 now displays the whole width of the screen (if in
           640x400 or higher)
17/10/00 - Finally sorted out vsync interrupt, so more games (and flashing
           colours) now work. Added Xbeeb __CATALOG__ support for tape filing
           system
18/10/00 - Started 6850 ACIA emulation (although all my code spells it ACAI..)
19/10/00 - First attempt at sampled tape emulation. Doesn't work.
20/10/00 - Added support for double sided discs
21/10/00 - Scanline drawing added (-scanline) in an attempt to get Revs
           working (Revs still doesn't work, but Rocket Raid now looks better). 
22/10/00 - First attempt at sound output. Sounds horrible.
23/10/00 - Added seperated Teletext graphics.
27/10/00 - Inlined some more 6502 instructions in an attempt to increase the
           emulator's speed, since it didn't speed it up I suspect there's a
           VIA timer bug or two somewhere. Played about with the user VIA
           polling code, got Firetrack and Starquake to work.
28/10/00 - Started printer emulation. Forgot to make SBC BCD affect P, now
           fixed (Zalaga and Planetoids now work). Added SAX+ASR instructions
           for Zalaga.
30/10/00 - Fixed bugs in ADC+SBC BCD. Reptons 1+2 now play music. Added LAX,
           RLA, and all NOPs, Android Attack now works. Sound output improved.
31/10/00 - Worked on noise generator (a bit better). Added some more 6502
           instructions.
01/11/00 - RRA,DCP,SRE & SBX instructions implemented, ie instructions 0-&4F
           and &A0-&FF implemented. Still not added, ARR, SHA, SHX, SHY, SHS,
           some SAX, and HALT instructions.
02/11/00 - Did some more optimisations - converted most `static inline's to
           #defines - you can now compile bem.c with optimisation again. Added
           the rest of the undocumented instructions, all instructions
           emulated (hopefully...).
03/11/00 - More accurate cycle times. Added patch to get Frak! to work.
04/11/00 - Improved cycles times. Started Tube emulation again.
05/11/00 - Abandoned Tube emulation.
07/11/00 - Added a few instructions I missed out.
29/11/00 - Removed 6502 debugging info, significant speed increase.
30/11/00 - Optimised video routines, BBC now runs at almost 6mhz in mode 2 on
           a PII-350.
13/12/00 - Fixed a couple of 6502 bugs (nothing fixed though).
14/12/00 - Fixed BRK bug - error messages now work properly.
21/12/00 - Added frameskip, and cleaned up code a bit.
(Break due to C64 emulator development)
21/01/01 - Got a copy of the Advanced User Guide.
24/01/01 - Fixed a few VIA bugs, increased compatibility.
31/03/01 - Added UEF support, changed video modes. Improved setup program.
Version 0.3 finalised and released
10/04/01 - Removed the `clear screen' command, moved everything into seperate
           directories, improved UEF support a little, and added American BBC
           support.
Version 0.3a finalised and released
21/4/01  - Attempted to increase speed.
24/4/01  - Attempted to fix 6850 emulation - failed. I'm not giving up though.
05/5/01  - Added Richard Gellman's ACIA code - doesn't work.
06/5/01  - Gave up on tape emulation. I really can't see the point, as I was
           spending so long on a feature that no-one would use.
12/10/01 - Changed graphics library to Allegro, and ported over the SN76489
           emulation from YAAME. Sound is really good now, but the keyboard is
           broken.
14/10/01 - Keyboard now fixed by using older version of Allegro (someone
           changed the scancodes). I must update the keytable before release.
12/12/01 - Changed timing method, so the 6502 emulation executes a scanline,
           then updates everything. Used different method for colour selection
           (everything uses the mode 2 table), except modes 1+5 didn't like
           the change and broke.
13/12/01 - Attempted to fix broken modes, failed.
14/12/01 - Misc optimisations.
15/12/01 - Fixed the bug in modes 1 and 5 (a variable was signed instead of
           unsigned). Put a real font in mode 7.
16/12/01 - Fixed up mode 7 emulation (really good now). Fixed scanline
           emulation so the emulated CRTC generates 312 lines instead of 304.
           Went back to newer version of Allegro - must redo keytable.
17/12/01 - Redid keytable - working now. Fixed some misc bugs.
31/12/01 - Rewrote BCD maths. SBC now seems to work fine, but ADC is a bit
01/01/02   fucked. Whoever wrote the BCD maths routines in 64doc.txt got it
           completely wrong.
02/01/02 - Added simple GUI.
04/01/02 - Improvements to GUI. Monochrome mode added
12/01/02 - More improvements to GUI. Serial code completely removed. Did
           compatibility test.
Version 0.4 finalised and released.
14/01/02 - Found microphone and sampled disc drive.
15/01/02 - Disc drive noise added.
19/01/02 - Fixed a few bugs, Exile and Star Swarm work fine now. Re-added
           model A emulation. Invented .sn file format, wrote player, and
           added logging.
Version 0.4a finalised and released.
10/10/02 - Started new B-em with Elkulator 6502 core. Buggered keyboard.
19/10/02 - Fixed keyboard. Added user VIA. Added modes 2+5. Added 8271+TFS
           (broken though).
20/10/02 - Fixed TFS (bug in OSFILE replacement op) and 8271 (NMI handling).
           Added line-by-line semi-complete CRTC emulation (Firetrack works,
           but has a tendency to crash - as does everything actually). Uridium
           won't even start, 6502 bug it appears.
22/10/02 - Attempted Uridium again. 0.4a has the same bug, although my
           hacked-up unstable copy doesn't (but it's too unstable to be useful)
23/10/02 - VIA timers now should hold current values, Bumble Bee now works.
           Fixed BCD, Zalaga now works (but enemies move waaay too fast).
03/11/02 - Fixed VBL interrupt (now interrupts 1 time a frame instead of 8 :)
           Zalaga, Frak!, Arcadians, Planetoid, Rocket Raid etc now work fine.
           Discovered that DNFS sets PAGE to &1B00 instead of &1900, breaking
           Uridium, Planetoid and Rocket Raid.
           Added preliminary rupture (for Uridium - bugged).
           Screen is now centered.
04/11/02 - Started work on new sound engine. The BBC OS sound handling appears
           to be completely broken.
16/11/02 - Tracked OS sound handling down to broken V flag. Now working.
           Reverted back to old sound engine, the new one sounds even worse
           than Beebem.
17/11/02 - Re-added all the mode 7 control codes. Added modes 0,3 and 6.
19/11/02 - Started GUI
24/11/02 - More work on the GUI
03/12/02 - Fixed SBC V flag (again), Exile now works (except for the manual
           check). Added hack to get sound working again after samples. Fixed
           really stupid timing bug, Firetrack and some other stuff works
           again. More GUI work.
04/12/02 - Added sideways RAM. Oddly enough this fixes Exile.
05/12/02 - Fixed a load of illegal NOP instructions.
06/12/02 - Started joystick emulation. My joystick seems to need extra
           calibration though.
07/12/02 - Allegro doesn't want to calibrate so I'll leave it out. Hopefully
           other joysticks won't need calibration.
           Seemingly the NOP fixes fixed Firetrack - it now loads the correct
           level data.
18/12/02 - Snapshot support re-added. Unfortunately, due to internal changes
           most pre-0.5 snapshots won't work correctly.
19/12/02 - Config added. Added modes 0,1,3,4,6 and 8 to less accurate video
           engine.
20/12/02 - Fixed stupid bug with video initialisation. Fixed periodic sound
           frequency (I hope). Added support for second joystick (totally
           untested, I only have one).
Version 0.5 finalised and released
18/06/03 - Started new CPU core + VIAs. Boots and runs BASIC correctly.
19/06/03 - Re-added 8271 emulation and fixed some timer stuff.
           Attempted to fix irritating pauses in some games, tracked Crazee
           Rider's pauses down to sudden rush of OS calls for some reason.
20/06/03 - Fixed stupid NMI bug, Firetrack working again (totally glitchless
           this time!). Fixed timing, Revs is now perfect! Uridium doesn't
           work properly - splits are four lines apart on consecutive frames.
           I can't be arsed to fix it - two out of three isn't bad.
22/06/03 - Started new GUI
24/06/03 - Re-added sound support, but with new sound engine supporting sample
           playback.
25/06/03 - Attempted to add low pass filter to sound, but failed (I don't know
           how to emulate one).
15/07/03 - Added more opcodes for Repton 2 and Zalaga.
           Have decided to finally add support for a second disc drive. I will
           do this a bit later, the FDC code is the oldest remaining code in
           B-em (dating back from October 2000), and making it work with 0.5
           was scary enough.
16/07/03 - Added opcode for Exile. Added second disc drive support (most of the
           code was actually in place from years ago, I just had to finish it
           off). Added B+ support (partial at least - Dr Who doesn't work, and
           I can't see pictures in Time & Magik) and 1770 emulation.
           Implemented UEF support again (working properly this time!).
           Did more work on GUI.
           Fixed a silly VIA timer bug.
           Implemented joysticks again (working properly as well)
17/07/03 - Worked around a bug that corrupted some video pointers, occasionally
           corrupting the screen on BREAK (by moving it forward 4 megs).
           Fixed a bug with the paged ROMs loading backwards, which was
           confusing just about everyone. At least Dr. Who B+ and Bubble Bobble
           were affected.
           Added cursor in mode 7.
           Catered for Arcadian's bizarre behaviour when it kills you.
           Fixed flashing colours, therefore fixing Jetpac & Sabre Wulf colours.
18/07/03 - Changed sound init code, so that if the sound fails to initialise,
           it is disabled. At last I can have STSound running while debugging
           B-em :)
19/07/03 - Fixed VIA timer 2 bug, Castle Quest & Citadel work again.
           Slowed down ADC to 5 conversion/frame. This should still be enough
           to sample all four channels, and lessen the CPU load.
Version 0.6 finalised and released
26/01/04 - Fixed up B+ sideways RAM, thanks to Ken Lowe (I did this ages ago,
           but lost the source). Level 9 games now show pictures. Found out
           that the OS recognises a 96K B+.
           Added some undocumented sound behaviour - Crazee Rider music now
           perfect.
           1770 seeking/stepping speeded up a bit.
27/01/04 - Played with sound a bit.
28/01/04 - Added ADFS support.
Version 0.61 finalised and released
23/02/04 - Started Master 128 emulation. Currently hangs.
29/02/04 - Added CMOS RAM. Acorn's implementation of this is a bit odd, but
           it's easier than the Archie's I2C chip.
           Fixed bugs in TSB/TRB (hangover from Snem, where the implementation
           is taken from). MOS 3.20 now boots, but has the odd problem - like
           the inability to initialise the CRTC properly.
10/03/04 - Fixed Empire Strikes Back, thanks to Tom Seddon.
13/03/04 - Master CRTC problem turns out to be bad CMOS data.
14/03/04 - Implemented low pass filter
           Fixed bug with VIA interrupts, no more jumping rasters in some games
           Started to look at Uridium again. With non-interlace emulation,
           interrupts are stable, but raster split still scrolls.
15/03/04 - Implemented vertical adjust after rupture, Uridium working!
           Fixed read of FE46/FE47 - fixed sound in Pipeline, Road Runner,
           Chuckie Egg loader, etc.
           Implemented 1770 write. Write won't be available in 8271 because of
           the difficulty involved in modifying my ancient code.
           Fixed Skirmish.
           Slowed tape speed - takes longer, but much more reliable.
16/03/04 - Slowed tape speed more. I hate this tape stuff, I don't want to play
           anymore.
           Played with disc sound - more authentic now.
17/03/04 - Low pass filter added to config.
25/03/04 - Replaced SN logging with VGM - seems OK.
03/04/04 - Updated Ming/W - Master 128 mode now usable in Windows version.
04/04/04 - Fixed tape and joysticks in Master 128 mode.
           The GUI can now be exited by F11 and right mouse click.
Version 0.7 finalised and released
03/07/04 - High resolution video added.
           Slight hack in place to fix clipping of Uridium display.
           Fixed stupid bug in Master 128 memory mapping - graphics modes now
           work! (ANDY mapping was broken, which is where character definitions
           are stored).
           Masked off CRTC registers - Psycastria display now in right place.
04/07/04 - Sound volume now logarithmic.
           Improved sample playback - Speech! now always audible.
           Fixed bug with INF handling.
           Added 2xSaI mode.
           Fixed bug in user VIA - Snapper now right speed.
Version 0.71 finalised and released
06/07/04 - Now Windows port doesn't take 99% CPU time.
Version 0.71a finalised and released
27/07/04 - Added write commands to 8271 FDC.
           Some more improvements to Windows port.
Version 0.71b finalised and released
26/11/04 - Fixed Planetoids/Super Defender/etc
27/11/04 - 1770 FDC now recognises single sided discs and generates an error
           if an access is made to the other side - fixes single sided Level 9
           adventures in B+ mode.
28/11/04 - Properly fixed Planetoids/Super Defender/etc
           Slight hack in User VIA timer 2 to improve Volcano speed
29/11/04 - Fixed timer 2 overflow behaviour - Volcano now fine without hack.
           Attempted to improve timing overall.
30/11/04 - More timing improvements, Frogman now works. 8271 FDC had to be
           slowed down quite a bit though.
01/12/04 - Sorted issues with NMI and interrupts - FDC sped up again.
           Fixed User VIA reset state, Cute To Kill now works again.
02/12/04 - Faked lightpen updating, Pharoah's Curse now works.
           Fixed 8271 FDC NMIs
04/12/04 - Improvements to Tube emulation. Still broken though.
05/12/04 - Started ARM tube emulation. Speed is tragic. Hangs after startup
           message.
10/01/05 - Improvements to Tube emulation. ARM tube now boots (more or less),
           6502 and Z80 tubes still hang.
21/01/05 - Altered reset code, *FX200,3 then BREAK on B+ now works.
22/03/05 - Removed tube emulation for now.
04/06/05 - Added high pass filter, both filters together sounds very BBCish.
           Also added SID waveform - sounds quite nice on some games.
           Timing improved in Master 128 mode - Frogman works there as well now.
           Added savestates.
05/06/05 - Fixed some stupid bugs in ACIA emulation - tapes now load properly.
	   Added HQ-UEF support.
           Config file now human readable
01/07/05 - Altered video timing a bit, improved Planetoids and Road Runner.
02/07/05 - Improved sound a little.
Version 0.8 finalised and released
11/07/05 - Fixed write bug in 1770 emulation, *COMPACT now works, and other
           commands should be okay.
12/07/05 - Added bunch of command line options to Windows port, for frontends.
17/07/05 - Fixed write bug in 8271 emulation - fixes bug in The Hobbit. Fixed
           crash bug in Windows port when changing models.
19/07/05 - Command line parser now works with filenames with quotes in.
25/07/05 - Added formatting to both FDCs. Should work in both single and double
           density, though I was unable to find an ADFS formatter.
Version 0.81 finalised and released
02/08/05 - Switched ADC/SBC back to pre-0.8 - I don't even remember changing them!
03/08/05 - Added Read ID commands to 8271, for Superior Collection.
05/08/05 - Added back Tube support, for ARM only.
09/08/05 - Added menu option for Tube.
Version 0.82 finalised and released
25/10/05 - Fixed bug in ACIA emulation, Joust now loads loader.
06/11/05 - Started FDI support. Can read unprotected images + Mr. Ee!
07/11/05 - FDI now supports 80 track images. Fixed Level 9 protection, Elite,
           Revs, Exile (both 40 track and dual format)
08/11/05 - Blank tracks and sector not found error now supported - fixed a lot
           of Acornsoft titles. Also added CRC checking/errors.
           Some Acornsoft games don't work - some will try to execute a read
           command for 0 (?) sectors, others will read a lot of CRC-bad sectors
           and will then hang...
10/11/05 - Added FDI emulation to 1770 FDC - for Master and B+.
14/11/05 - Added Master Compact emulation
22/11/05 - Sector ID count uses all 8 bits on 8271 - Felix in the Factory now
           works.
08/12/05 - CPX # takes 2 cycles, not 3. Joust tape now works.
09/12/05 - TAY takes 2 cycles, not 0. Some Kevin Edwards protections now work.
12/12/05 - Fast tape loading now much faster.
           Fixed bug in video - should be a bit faster now.
           Tidied up source code.
           Brought ARM emulation in sync with Arculator - faster, less buggy.
14/12/05 - Downgraded to Allegro 4.0.3 - sound works in DOS again.
           Added disc drive noise to FDI.
Version 1.0 finalised and released
23/02/06 - Added some endian-neutral code from the Mac port.
           Now possible to emulate model B with 1770 FDC.
           Altered video timing - better split on Elite, Firetrack display now
           rock solid. Uridium one line off now though. Perfect emulation of
	   Elite will need a cycle based renderer rather than a line based, as
	   the mode switch takes something like 176 cycles.
28/02/06 - Added cursor to bitmap modes (about time!)
02/04/06 - Fixed cursor and mode 5.
03/04/06 - Improvements to mode 7.
           Optimisations to inner drawing loop.
04/04/06 - Now only blits active areas of screen.
01/05/06 - Added more commands to 1770 FDC - Watford DDFS now works.
