This list is ordered chronologically, so if you want to see the newest changes,
you'll have to scroll alllllll the way down.


10-05-05: 1.0 (alpha)
Everything's new (started development on 23-01-05)

- CPU: complete 6502, with interrupts
- PPU: background tiles and sprites, colour emphasis, monochrome mode, correct
  sprite 0 timing, sprite limiting(overflow), cycle exact (in)acuraccy
- APU/sound: nothing
- mappers: iNES mappers 0, 1(MMC1), 2, 3, 4(MMC3), 7, 9(MMC2), 66, and 87
- graphics: GDI, very basic, no GUI
- input: 1 joypad, controllable with keyboard
- support for PAL/NTSC timing
- support for zipped ROMs
- auto 'fixes' known bad iNES ROM headers


01-06-05: 1.1 (alpha)
- source: much more compact binary.h, without speed decrease
- added DirectSound skeleton
- mappers: added emulation of MMC6, Color Dreams, Irem G-101, Taito TC0190/
  TC0350, iNES mappers 34, 40 (SMB2J hack), 71 (Camerica), 119 (Pin Bot), 185
- faster rendering: speed increase of about 50%, and over 100% when colour
  emphasis bits are used
- improved input: support for 2 controllers, some fixes (Paperboy works)
- support for battery backed SRAM


15-06-05: 1.2 (alpha)
Three hoorays for Trevor Belmont!

- mappers: added emulation of MMC5 (see above)
- source: added flexible changing of functionpointers, removing the need for
  huge constant mapper tables
- added DirectInput
- mappers: added emulation of MMC4, Sunsoft 4, and iNES mapper 13. improved
  MMC2 (bankswitch was too early, actually it only affected MMC4), MMC3 (better
  IRQ timing: some games don't have the screen shaking problem anymore), #11
  (support for Death Race), #185 (Banana looks a little bit better)
- improved IRQ handling (pend/acknowledge), Pin Bot looks fine now


14-08-05: 1.3 (alpha)
Before this mess diminishes its prior self, if it hasn't already done so, a new
version.

so, uh... a lot was changed:

Once upon a time there was a...
- PPU: fixed quite a large error where it (or I ;p) caused wrong pixels to be
  rendered when the PPU address was changed mid-scanline (fixes Rad Racer gfx)
- fixed a DirectInput crash when the window was inactive at startup
- PPU: it wasn't running the correct number of cycles each frame (caused rare
  crashes, though especially in PAL mode)
- palette: support for external palette files
- support for realtime IPS patching
- mappers: fixed Irem G-101 bankswitching (fixes Ai Sensei no Oshiete)
- APU: emulation of the frame sequencer, including frame IRQs (fixes Qix, Door
  Door, Shin 4 Nin Uchi Mahjong lockups)
- improved logging: verbosity is optional, exit on error isn't silent anymore,
  timestamp in welcome message, nomore infinite illegal opcode logging
- source: improved the makefile
- added an icon that looks like an ugly blocky blob to people unfamiliar with
  the NES, and Super Mario Bros in particular
- interrupts: removed B flag, support for multiple interrupts (this wasn't
  needed until frame IRQs), edge-triggered timing (fixes Spelunker, Lolo 2,
  Hanjuku Eiyuu lockups)
- PPU: much more accurate rendering (and slower too, yay :( ). this fixes
  sprite overflow timing (but at the same time removing the optional unlimited
  sprites hack), timing of scrollcounter updates, and most importantly, the
  MMC3 scanline counter: nomore evil screenshaking problems
- PPU: returning open-bus values when reading an invalid location, or when the
  PPU is busy (Micro Machines needed this)
- PPU (again): shows correct background colour when rendering is disabled and
  the addressbus is in palette area (fixes Bee 52 and Micro Machines colour
  bars)
- fixed CPU<->PPU synchronisation (Battletoads, and its brother, don't crash
  anymore)
- mappers: fixed MMC5 splitscreen operation (hardly noticeable, but Uchuu
  Keibitai SDF looks better now), fixed MMC5 IRQs: ignore when PPU rendering is
  disabled (fixes Gun Sight)
- palette: more accurate and flexible NTSC-U/NTSC-J/PAL palette calculation
- CPU: source: switched from functions to switch/case, hoping for a speedup to
  compensate for the PPU overhaul, but hardly got any :/
- I misunderstood the 4-screen-VRAM flag in the iNES header (Gauntlet, Gauntlet
  2, and Rad Racer 2 work)
- PPU: sprite address changes during rendering (fixes Akira)
- added a lot more broken-iNES-header-fixes, based on CRC32 (actually, the
  GoodNES maintainer should be the one fixing that, it's ugly in an emulator)
- mappers: fixed MMC3 IRQs, again
- mappers: GNROM: allow IO at WRAM area (fixes Youkai Kurabu)
- mappers: added emulation of iNES mappers 93, 94, 97, and 232 (Camerica's
  Quattro games). improved #71 (Fire Hawk mirroring)
- APU: added DMC channel (without output), including IRQs (fixes Romancia,
  Guardian Legend, Silent Service, Castelian, Fire Hawk, etc.)
- mappers: MMC3 should also bankswitch after writing to $8000 (fixes crashing
  in TMNT3, Days of Thunder, Star Wars, Krusty's Fun House)
- PPU: fixed palette mirroring on 0, 4, 8, c (fixes Micro Machines, yeah this
  game needed many bugfixes, but it's working alright now)
- CPU: fixed AAX illegal opcode (nestest is happy)
- PPU: added behaviour that every odd frame is 1 cycle less
- mappers: moved Death Race to iNES mapper 144 (was 11). rewrote MMC1 and MMC3,
  to make adding MMC1/3-lookalikes easier, MMC3: added iNES mapper 118 (there,
  one lookalike already)
- mappers: separate source files instead of one huge file
- CPU: don't push data onto the stack with the reset interrupt
- mappers: forgot to check for MMC5 VROM page overflow (fixes Uchuu Keibitai
  SDF from crashing the emulator)
- updated zlib
- mappers: fixed MMC1, MMC5, and MMC6 WRAM handling (strangely, 3 unique bugs)
- mappers: added emulation of iNES mappers 42 (Mario Baby), 65 (Irem H-3001),
  70, 95, 152, 155, and MMC1 SOROM. improved #66 and #87 (forgot to synchronise
  the PPU)
- mappers: fixed MMC5 from saving garbage SRAM and/or old SRAM data
- source: added (more) flexible changing of functionpointers, again reducing
  code size... a little bit
- PPU: improved power-on operation (fixes Cobra Triangle, Ironsword)
- improved handling of external VRAM
- CPU: RAM is initialised with $ff (fixes Final Fantasy 1 and Minna no Taabou
  no Nakayoshi Daisakusen, but it also breaks some stuff, even though this has
  been confirmed to be accurate behaviour) (see source->cpu_memorymap.h)
- mappers: added iNES mapper 234 (Maxi-15). improved #32 (2 types: Major League
  uses different mirroring), #33 (added IRQ generation)
- auto detection of PAL mode and palettes with GoodNES filenames (eg. " (J)")
- mappers: corrected startup mirroring
- added a silly splash screen (ugh, main.c is really messy now, but I'll get to
  that later)
- source: added DirectDraw skeleton (um... no, not really, 'bone' would be a
  better description)
- kinda broke/downgraded screen drawing. as you can read above, it'll be
  changed to DirectDraw soon
- rewrote this document a bit (well duh, hap, isn't that obvious? I mean, even
  by writing this line, you're changing it)
- blah blah blah (I like parentheses)
- milk
- bread
- eggs
- cheese
... and they lived happily ever after.


18-11-05: 1.4 (alpha)
And now it sounds like a real NES too... kinda

- mappers: fixed bank overflow in mapper 234
- switched rendering to DirectDraw, with support for 16 or 32 bit pixels,
  optional clipping, optional vsync, window stretching
- PPU: odd frame cycle deduction only happens when rendering is enabled
- mappers: MMC3 and MMC6 now share the same IRQ handler, this fixed My Life My
  Love - Boku no Yume - Watashi no Negai
- improved the DirectSound module, to allow realtime buffer updating
- APU: added emulation of the square wave channels, triangle channel, noise
  channel, and output of the DMC... sound output isn't yet how I want it to be
  though
- mappers: added MMC5 sound: 2 square wave channels like in the NES APU, and a
  PCM channel
- PPU: fixed timing of status register clearing, and vblank NMI
- source: added a simple macro for memory allocation and cleaning
- mappers: added iNES mappers 89, 67, and 69 (Sunsoft 5/FME-7, including the
  AY-3-8910 soundchip that's used in Gimmick)
- APU: reading the status register doesn't clear the DMC IRQ
- PPU: support for vblank flag/NMI suppression
- PPU: removed warming-up behaviour where some register writes would be ignored
  (needs more testing)
- mappers source: better mirroring handling, more compact bankswitching macros,
  each group has their own struct instead of one big mapper struct, other
  miscellaneous cleanups
- mappers: added iNES mappers 47, 76, 77, 86, 180, 184, 257, 289, 301, 304,
  486, 700.. ok ok, I lied, they only go up to 255


27-11-05: 1.5 "on drugs"
The previous version was diseased with a few nasty bugs, so it went to the
hospital, and ended up on required drugs :(

- gfx: corrected a stupid typo that caused memory leaks on window movement
- timing: higher accuracy, normal thread priority, vsync only on foreground
- APU: fixed a bug that crept in after the previous IRQ fix
- added a basic GUI (open, close, exit, reset)
- messages are sent to the main window instead of a separate dos box
- mappers source: made some preparations for save state support
- mappers: improved mapper 185 (added bankswitching)
- source: moved optional configurables to a settings module
- Mr. Anderson....
- drugs (can't be disabled; Sega Li is a junkie, and it'll gradually get worse)


18-01-06: 1.6 "Maric"
It's a Monic... It's a Sario... It's Maric!

- drugs wore off, it was a joke anyway
- mappers: support for extended mapper information, thus removing CRC32 checks
  from the mapper source, where they don't belong. added correct support for
  Low G Man, and the European SMB+Tetris+World Cup cartridge
- mappers: added iNES mapper 78
- mappers: added some duplicates: 48=33, 100=4, 101=86, 140=66, 158=118,
  184=122
- mappers source: changed mirroring for mappers 70 and 152
- mappers: moved Namco 109 to MMC3, and added Namco 118 (mappers 88, 154)
- fixed detection of uneven prg/chr banks
- mappers: added support for Ai Senshi Nicol in mapper 42
- mappers: added FFE emulation (mappers 6, 8, 17)
- mappers: added Taito X types (mappers 80, 82, 207)
- mappers source: added a lot of shortcuts for commonly used functions
- mappers: added Konami VRC types (mappers 21, 22, 23, 24, 25, 26, 73, 75, 85),
  including emulation of the custom soundchip used in the Japanese version of
  Castlevania 3, Esper Dream 2, Mouryou Senki Madara, and the YM2413 clone used
  in Lagrange Point
- mappers: added iNES mapper 18 (Jaleco)
- mappers: fixed MMC3 IRQ edge timing, that caused screen shaking problems in
  Downtown Special - Kunio-kun no Jidaigeki Dayo Zenin Shuugou!
- fixed a very stupid boundary check bug in the CPU memorymap, causing bad
  sound in games using mappers 40 and 42 (<=0x4020 instead of <0x4020)
- mappers: added iNES mapper 50
- APU: fixed a bug in the frame sequencer reset timing, introduced in the
  previous version
- debug: tracelogging is cleaner to the eyes now
- CPU: fixed CLI->RTI behaviour (hmm, I thought I fixed that already in version
  1.3), this fixes Paris-Dakar Rally Special, and The Triathron (Engrish
  indeed)
- APU: fixed frame IRQ timing: it was off by only a fraction of a cycle! in
  turn, this fixed Mezase Pachi Pro - Pachio Kun
- CPU: fixed PAL reset timing (the European version of Pac-Man needed different
  timing)
- mappers: mapper 232 Aladdin games are a bit different than the standard type
- PPU: added behaviour where the sprite address specifies the location of
  sprites 0 and 1 during evaluation, fixing Tatakai no Banka
- mappers: fixed a small memory leak when closing a game in mapper 69
- PPU: rendering is a bit faster
- changing the open dialog filetype now correctly refreshes the file list
- input: completely rewrote the input module, adding support for multiple
  keyboards, joysticks, and mice, which can be remapped using simple rules,
  also added support for mouse cursor hiding. emulation specific input was
  moved to a separate cont.c module
- source: renamed standard typedefs, to prevent conflicts with the Windows API
- debug: added a simple profiler
- several small speedups
- the loaded game title is shown in the titlebar now
- gfx: added auto detection for using DDraw video/system memory, and made it
  optional
- settings: rewrote the settings module, it now saves the emulator's settings
  to a file, that can manually be edited
- sound: added an option to prevent the emulator from sleeping while waiting
  for the play cursor, and made the secondary buffer resizable
- added a new splash screen
- the currently loaded game is not closed anymore when an error occurs while
  loading a new game
- palette: emphasis colours are more accurate
- better detection on whether the window is in the foreground/background
- sound: less pops and clicks when starting the emulator, or when opening a new
  game (it was writing an unsigned zero, causing maximum volume)
- file: CRC32 calculation was very slow, not anymore
- file: paths can be changed in the settings file, it also doesn't
  automatically create many new folders on startup anymore, also added support
  for multiple filetypes in one zip file (eg. ROM, palette, IPS patch)
- tested all Asian and European games, and most Japanese games. excluding bad
  dumps or unsupported mappers/input devices, everything works ok. also added
  more bad header checks/fixes (GoodNES only)
- gfx: added true NTSC emulation by blargg, though it's not enabled in the
  default build... a fast CPU with support for SSE is needed for this, it looks
  very cool though!

22-01-06: 1.6.1 "Maric"
Some quickly needed bugfixes, though without drug abuse this time. (NTSC build
won't be updated, I'll merge them later)

- fixed Windows frame timing: every game was running at the wrong speed, and
  the sound pitch was off by a note or two :P .. this also fixed another bug,
  causing the sound pitch to wobble after about an hour of gameplay with NTSC
  games
- input is disabled on dialog activation (the same way as when the main window
  is in the background)
- input: support for 'Nothing' in a trigger rule
- I've decided that Sega Li isn't alpha anymore.. yeah wow, *clap clap crap*

23-01-06: 1.6.2 "Maric"
- forgot to uncomment settings warning logging


14-02-06: 1.7 "<3" <-- oh, that's a heart
- mappers: added mappers 72, 92
- mappers: added Namco 106, including sound (mappers 19, 210)
- mappers: added mapper 206; a duplicate of mapper 88 used by Karnov. also
  fixed possible bank overflow in mapper 88
- opened games were not closed properly. this was a big bug, hence an early
  release

16-02-06: 1.7.1 "<3"
I've decided to add a 3rd digit to version numbers for quick fixes after a
normal release.

- mappers: fixed MMC6 WRAM causing the emulator to crash sometimes


06-05-06: 1.8 "flushing"
HA! funny..

- fixed input sometimes being considered active when it actually wasn't, and
  vice versa
- mappers: added iNES mappers 41, 44, and 52
- CPU: fixed the reset interrupt vector being read from the wrong bank
  sometimes (nothing was affected until adding mapper 41)
- APU: added clock jitter behaviour
- input: fixed mouse cursor hiding/showing not working properly when pressing a
  mouse button
- CPU: more accurate startup timing, I hope (Chessmaster didn't work)
- mappers: added iNES mapper 228
- input: support for functions inside trigger rules; added turbo(speed,key) and
  toggle(key), I'll document them later
- input: standard menu functions with Left Alt or F10 are disabled if they're
  taken by any trigger rule
- APU: added support for 3 frame IRQs in a row, and fixed on-clock length
  counter updates (consequently, this fixed Vegas Dream (J) from locking up)
- PPU: fixed sprite overflow not working on the bottom scanline, oops
- PPU: fixed a small bug in sprite evaluation 'diagonal' reads
- fixed NTSC frame timing (er, I had the factors switched around)
- source: added several optional compile-time hacks, for testing (they're
  disabled of course)
- APU: added accurate PAL DMC timing


09-08-06: 1.9 "game on"
- mappers: fixed a small bug in the Namcot 106 IRQ system, I actually fixed
  that before, but managed to simultaneously break it
- fixed a bug when loading from a zip archive containing multiple files, it
  would sometimes pick the wrong one
- added support for external WAV samples for a few Japanese sports games by
  Jaleco containing an UPD7756C speech synthesizer or similar device, thanks to
  Pongbashi for recording the samples
- rewrote the controller system, making it possible to customise ports. added
  support for the Power Pad, Family Trainer, Four Score, and the standard
  Famicom joypad
- mappers: added a CNROM subtype for Family Trainer - Aerobics Studio, it uses
  a Bandai speech chip (again, supported with external samples)
- gfx: moved window border clipping to the settings file, instead of being
  hardcoded
- gfx: reintegrated blargg's NTSC library, only falling back to the simpler
  renderer when the RGB video signal is selected (though still using the
  library for palette calculation)
- gfx: added 'window zoom', 'correct aspect ratio', 'stretch to fit', and
  'video format' settings
- merged the palette module with the draw module, converting the old (1.3 I
  think) hardcoded stuff; decoder selection, RY/GY/BY angle customisation, etc.
  to blend in nicely with the NTSC library. auto palette detection on region,
  and brightness/gamma calculations on RGB palettes were removed
- settings: changed 1/0 to yes/no or on/off. settings source: support for
  floating point numbers
- fixed a conflict between sound and vsync timing causing sound crackling with
  monitor refresh rates very close to the NES refresh rate
- added the previously compile-time-only 50hz/60hz setting (it forces the NES
  to run at an exact refresh rate of 50 or 60hz, for PAL and NTSC respectively,
  to prevent tearing). emulation compatibility is not affected
- gfx: fixed on-screen messages not working prior to DirectDraw initialisation
- fixed a serious memory conflict during cartridge loading, where it could
  occasionally load the wrong file. strangely, this never happened on my PC
- added a thread/application priority setting
- gfx: improved vsync, it should be more accurate and less time consuming
- gfx: fixed a crash when changing Windows screen settings while having a game
  running in the emulator
- APU: fixed a small frame IRQ timing bug
- the Open dialog now remembers the previously opened game name
- unintialised SRAM is now saved as a 0 byte file when opening a game
- PPU: support for overscan (as on some tvs, or captured NES video data with a
  tv-in card). to enable it, supply the window border clipping settings with
  negative values, there's no speedloss if it's disabled
- input: fixed oversensitive joypad readings, giving occasional false positives
- added support for frameskipping
- gfx: cleaned up the splash screen picture, and converted it to a fake NES
  screen, so changing graphics settings now affects the splash screen as well
- gfx: added border colour selection
- CPU: fixed the HLT opcode, where it previously would just continue running
- gfx: readded the old splash screens: 'nothing' from 1.0-1.2, 'Red X' from
  1.3/1.4, and 'Smith' from 1.5
- fixed a small resource leak when closing threads
- sound: added buffer underrun detection
- input: removed support for functions within functions, to add room for future
  functions (combinations with '&' can be used for the same effect)
- input: added a sound(volume threshold%) function, that triggers if the sound
  volume of the currently selected capture device (eg. microphone) overflows
  the given threshold. for example, it's possible to make Mario jump if your
  girlfriend screams at you for spending too much time playing games
- controllers: added support for the Famicom microphone
- input: improved disabling standard menu functions if F10 and/or Alt are used,
  now only having effect if the device is in use, and not inside a combination
- controllers: added support for the Japanese 4 Players Adaptor
- rapid fire is now enabled by default on joypad buttons A/B by holding shift
  while pressing the button
- mappers: added Contra Function 16 (iNES: 15)
- input: update intervals are variable now, instead of being fixed at vblank,
  necessary for at least BMX Simulator
- mapper source: spreaded the mapper_simple.c contents over several groups, and
  cleaned it up a bit
- corrected PAL CPU speed, it was running about 1% too fast
- CPU: fixed IRQs possibly happening one cycle too late if an IRQ was triggered
  before with the interrupt flag enabled
- mappers: added Nintendo World Championships (iNES: 105)
- gfx: added support for full screen
- prevented the Windows screensaver from happening if the emulator is active
- PPU: fixed an NMI from being able to happen outside vblank in the first
  frame, this finally fixed Knight Rider
- mappers: fixed a small bug with the MMC1 when ignoring a 2nd fast write
- mappers: added a CNROM subtype that relies on bus conflicts, needed for
  Cybernoid - The Fighting Machine
- PPU: a few optimisations
- PPU: improved open bus sprite RAM reads
- mappers: fixed MMC5 EXRAM write timing
- mappers source: removed iNES mapper number dependency, now using internal
  mapper types instead, and added a few types that previously were within
  conflicting iNES numbers
- removed detection and header fixes based on CRC32 checks, and added a few
  checks for common header errors in turn, like garbage in unused header space
- added ROM properties selection to the Open dialog. before loading a game,
  you can now choose the mapper type, mirroring, and whether or not SRAM is
  enabled
- disabled SRAM saving after the CPU halted, that's likely to happen when
  picking the wrong mapper type for a game
- mappers: optimised and cleaned up the MMC3 IRQ handler a bit
- mappers: fixed a possible overflow happening when loading a game with 16KB
  PRG ROM on a different mapper type
- mappers: added support for the Rumblestation (iNES: 46), Tengen Rambo-1
  (iNES: 64), HES/Nina-003/Nina-006 (iNES: 79, 113)
- input: added Shift, Control, and Alt triggers (combination of left or right)
- input: added support for flags 'IsActive' and 'IsForeground' in trigger rules
- input: added support for emulator shortcuts (eg. Alt & Enter for full screen)
- disabled SRAM saving when the iNES battery flag is set, but the cartridge
  doesn't contain any WRAM
- added support for pausing the emulator
- improved the menu a bit
- mappers: added Wai Xing Zhan Shi (iNES: 242)
- added an iNES header editor
- GUI buttons and such look good on Windows XP now (I didn't notice earlier,
  because I normally don't have themes enabled)
- CPU: added support for overclocking/underclocking, useful to prevent (even
  though natural) slowdown in games. all other NES components keep running at
  their original speed, though this can still cause major problems if a game
  relies on accurate timing
- CPU: fixed cycles possibly overflowing if a sprite DMA transfer happened near
  the end of a frame
- gfx: similar messages are now updated, instead of being reposted
- controllers: added support for the Family Basic keyboard
- mappers: added support for Family Basic
- mappers: added support for cartridge switches, eg. the dipswitches on the
  Nintendo World Championships cartridge
- rewrote the documentation


02-12-06: 1.10 "niemand"
Don't you just hate it when you wait 4 months for an update on your favourite
Sega, I mean NES emulator, and all you get is a lousy small maintenance release?

- mappers: added the Bandai mapper, attracting/repelling DBZ lovers/haters,
  EEPROM emulation is yet to be implemented
- gfx: switched the default renderer from Composite to RGB
- CPU: fixed PLP resetting any pending IRQ
- updated blargg's nes_ntsc to 0.2.1b1
- APU: corrected PAL noise and frame sequencer timing
- mappers: MMC1: fixed SOROM SRAM saving, SUROM bankswitching, and added SXROM
- CPU: fixed BRK not being ignored if happening simultaneously with an NMI/IRQ,
  this stops Dragon Warrior 3 crashes for the 0 people that played it
- CPU: fixed PAL reset timing, again
- executable is now bundled with Matrixz's NeSnake 2 for the ignorant and/or
  lazy


22-06-07: 1.11 "meisei"
Most of these changes were applied from developing meisei, my MSX emulator
that's using the same shell components as Sega Li.

- CPU/PPU: small speedup from 32-bit struct alignment
- blargg's nes_ntsc updated to 0.2.2
- input: fixed !+toggle function combination
- input: added a doubleclick function, that acts as a single pulse, and made
  it a shortcut to switch to fullscreen/windowed mode
- directories are defaulted to . on the 1st run
- gfx: added "Stretch to Fit" and "Correct Aspect" to the GUI
- added an about window, and a help window that opens the documentation
- newly opened windows are now centered on their parent window when needed
- added Konami HyperShot controller emulation
- gfx: fixed screen not being properly refreshed sometimes when switching from
  fullscreen to windowed mode
- mappers: fixed crash when trying to change dipswitches without having loaded
  a game
- gfx: message font black outline looks somewhat better
- gfx: fixed bottom overscan part being drawn with a delay of 1 frame
- gfx: added video signal settings to the GUI
- gfx: added Direct3D renderer, including all features of the DirectDraw
  renderer
- gfx: added bilinear filtering (Direct3D only)
- mappers: fixed iNES mapper #87, it supports 32K PRG
- mappers: added support for Namcot 106 battery backed EXRAM
- added autodetection of MMC6 games by SRAM size, after initial setup
- gfx: fixed DirectDraw crash when trying to recreate itself if it got lost
  due to another application taking over
- gfx: added "Software Rendering" and "VSync" to the GUI
- several trivial changes (mainly renaming some unclear settings/GUI text)

29-07-07: 1.11.1
- sound: added pause sound, and added an option to disable sound
- mappers: rewrote Sunsoft 5 sound emulation
- various small changes
- gfx: fixed awful bug causing a crash with Direct3D if it failed to init

01-09-07: 1.11.2
- various small changes
- this seems to be new to some: This emulator is named Sega Li, not because
  it emulates a Sega console (in case you didn't know, it's a NES emulator).
  As written in the documentation, the name is from Nintendo's old warehouse
  owner, Mario Segali (or Mario Segale according to some sources), whom
  Nintendo named their famous mascot after. Of course, for added pun, his
  surname was chopped to put the emphasis on "Sega".
- gfx: added D3D mirror mode, with joypad left/right switched automatically
- gfx: fixed D3D vsync timing on dual core processors
- gfx: made DirectX 9 optional, so it won't refuse to run with older versions
  anymore (D3D9.DLL error), the current minimum requirement is DirectX 7

13-07-08: 1.11.3
The main reason for this minor release is because my homepage moved to a new
location.

- various small fixes (not just the remark above)

11-10-10: 1.11.4
I haven't worked on Sega Li since late 2008. It would be a shame letting
the progress after 1.11.3 fade away on my harddisk, so, after a mild peak
of interest in the good old NES due to a friend currently developing a NES
emulator for the MSX platform(!), I spent this weekend fixing things up.
I feel asleep!!

- mappers: MMC1 SOROM/SXROM is autodetected by SRAM size (same as with MMC6)
- UI: added dialog for setting directories
- CPU: fixed several undocumented opcodes (blargg testroms)
- CPU: improved simultaneous NMI+IRQ/BRK behaviour (blargg testroms)
- improved power-on/reset timing and initial state (blargg testroms)
- UI: remember full screen/window setting on exit
- PPU: fixed PPU read buffer ($2007) changing during rendering
- mappers: proper support for iNES mapper #185 (copy protected CNROM)
- CPU: added dummy reads quirk on (ZP),Y and ABS,X opcodes (blargg testroms)
- removed 'firmware' game NeSnake 2 from the release build, I'm pretty certain
  that, unlike with meisei, people and Googlebots downloading my emulator have
  a stash of NES romzies ready to be played. Lots of thanks to Matrixz for
  having allowed me to include his game with Sega Li!
- UI: imported many bugfixes from meisei (my MSX emulator sharing the same UI)
- fixed system pauses with D3D if the window was minimized but still active

09-01-11: 1.11.5
This is just a minor annoyance fix, the previous version whined about a
missing zlib dll and this one doesn't anymore. Don't bother posting about
it on your emulation news site. :P

