lsnes rr2-β23
[lsnes.git] / CHANGELOG
blobb23244698a92edee8041ab0dc59e18a978f439de
1 rr0-β0 [Tuesday September 13th 2011]
2 ====================================
3 * Initial version.
5 rr0-β1 [Tuesday September 13th 2011]
6 ====================================
7 * Fix all warnings -Wall spews
8 * Fix race condition bug that causes video corruption
10 rr0-β2 [Saturday September 17th 2011]
11 =====================================
12 * Faster movie loading and saving
13 * Major reorganization of command handling
14 * Allow dynamic loading of Lua functions
15 * Use render_text in render_object_text and not vice versa
16 * Migrate gui.* stuff to the new framework
17 * Migrate memory.*
18 * Migrate the rest of Lua functions to the new framework
19 * Add large-video option to force hires dumping
20 * Compact dummy lua code a bit
21 * Add on_snoop Lua callback
22 * Describe the new on_snoop callback
23 * Clean up some header files
24 * Make video dumping to go through generic A/V snooping interface
25 * Describe command changes from last commit
26 * screen::copy_from fix bug if vscale > 1 and originx > 0
27 * Allow adding borders to dumps even without lua
28 * Make git diff --check happy
29 * Add lua functions to manipulate emulator settings
30 * Factor stuff related to our_movie into separate file
31 * Refactor mainloop.cpp a lot
32 * Refactor .avi dumping
33 * Allow forcing maximum number of frames per segment
34 * More cleanups
35 * Settings: Use std::ostream& instead of window*
36 * More code cleanups
37 * Since window is singleton anyway, get rid of window* parameters
38 * Migrate settings.cpp to function_ptr_command
39 * More random cleanups
40 * Get rid of fieldsplitter
41 * Migrate the rest to function_ptr_command
42 * Make AVI dumper setting names more specific
43 * Move take-screenshot: mainloop.cpp -> framebuffer.cpp
44 * Allow variable arguments to command functions
45 * Fix crash on invalid Lua function arguments
46 * Create function pointer to lua function adapter and migrate what we can
47 * Pass tokensplitter& as argument to command handler
48 * Autofire support
50 rr0-β3 [Sunday September 18th 2011]
51 ===================================
52 * Make joysticks actually work
54 rr0-β4 [Sunday September 18th 2011]
55 ===================================
56 * Fix binding to multi-button keygroup
57 * Add some missing changelog entries.
58 * Implement save jukebox
60 rr0-β5 [Sunday September 18th 2011]
61 ===================================
62 * Try to fix nasty corner cases of failing loads
63 * Support specifying extra configuration files to run from commmand line
65 rr0-β6 [Sunday September 18th 2011]
66 ===================================
67 * Major source reorganization
68 * Backup savestates before overwriting
69 * Don't crash if initial savestate can't be loaded
71 rr0-β7 [Tuesday September 20th 2011]
72 ====================================
73 * Fix firmware lookup
74 * Fix author name parsing
75 * Fix rerecord counting
76 * Print messages to console if SDL is not initialized
77 * Add movieinfo program
78 * Load movie SRAM as movie SRAM, not save SRAM
80 rr0-β8 [Wednesday September 21st 2011]
81 ======================================
82 * Unattended dumping support
83 * Some documentation & makefile tweaks
84 * Various fixups from trying to compile this for win32
85 * Work even if sound can't be initialized
86 * Strip trailing CRs from commands
87 * Don't initialize coreversion and projectid in moviefile ctor
89 rr0-β9 [Thursday September 22nd 2011]
90 =====================================
91 * Small documentation tweaks
92 * Fix make clean
93 * Rewrite modifier matching algorithm
95 rr0-β10 [Friday September 23rd 2011]
96 ====================================
97 * Use dedicated callbacks for mouse/close, not commands
98 * Don't hit the watchdog during executing delayed reset
99 * Small documentation fixups regarding joysticks/gamepads
100 * Remove errant tab from joystick message
101 * Major documentation rewamp
103 rr0-β11 [Saturday September 24th 2011]
104 ======================================
105 * Make autofire pattern repeat in absolute time, not linear time
106 * Reinitialize controls after continuing from loadstate
107 * Create helper class for globals/module-locals used in global ctors
108 * Panic if Lua runs out of memory
109 * Add functions to read/write multibyte values from/to host memory
110 * Take interlace into account when determining framerate
112 rr0-β12 [Saturday September 24th 2011]
113 ======================================
114 * Major oops, forgot one source code file
115 * Keep track of RTC
117 rr0-β13 [Sunday September 25th 2011]
118 ====================================
119 * Document {start,save}time.{,sub}second
120 * Forgot to note savetime.* is only present in savestates
121 * Use ld --wrap to intercept time() by bsnes core
123 rr0-β14 [Saturday October 1st 2011]
124 ===================================
125 * Allow disabling time() interception
126 * Use SDLMain on Mac OS X
127 * Remove delayed reset support
128 * Function comment cleanups
129 * Remove some unused defines
130 * Switch internally to 16-bit graphics instead of 32-bit
131 * Implement gui.rectangle and gui.pixel
132 * Refactor gui.text, gui.rectangle and gui.pixel
133 * Refactor rectangle clipping calculation
134 * New gui primitive: crosshair
135 * Switch to CSCD implementation from JPC-RR streamtools
137 rr0-β15 [Wednesday October 5th 2011]
138 ====================================
139 * Fix interaction of * and + in commands
140 * Some manual fixups
141 * All supported platforms support gettimeofday and usleep
142 * Move joystick axis manipulation from SDL to keymapper code
143 * Changes to how read-only works
144 * Refactor current controls code from mainloop.cpp to controller.cpp
146 rr0-β16 [Monday October 10th 2011]
147 ==================================
148 * Fix scaling compensation in mouse clicking
149 * Fix drawing SDL area boundaries
150 * Add gui.screenshot Lua function.
151 * Fix CSCD output
153 rr0-β17 [Friday October 21st 2011]
154 ==================================
155 * JMD dumping support
156 * Allow unattended dumping to JMD
157 * Bump minimum bsnes version to v083.
158 * Switch back to 32-bit colors
159 * New Lua function gui.color
160 * Fix wrong offsets in SDL code
161 * Cursor should be white, not usually yellow
162 * Fix all sorts of color fsckups from 16bit to 32bit change
163 * Use C++11 isms new in G++ 4.6.
164 * Be ready if some clown decides to change core frequencies
165 * Change color notation to allow Lua scripts use full truecolor
168 rr0-β18 [Tuesday November 1st 2011]
169 ===================================
170 * Add new Lua function gui.line()
171 * Add Lua function gui.circle()
172 * Add errata entry about slow screen drawing
173 * Image data is 24-bit, not 15-bit
174 * New Lua function: gui.status()
175 * Change the RTC time format
176 * Reformat the flags display (adding new flags for hires and interlace)
177 * Add makefile option to override Lua package name.
178 * SDUMP support
179 * Split platform sound and graphics parts
180 * Add dummy enable-sound command to sound-dummy
181 * Add command to show plugins in use
182 * Rework how graphics/sound/joystick is built in makefile
183 * Portaudio support for sound
184 * Make sound manipulation commands platform-independent
185 * Portaudio: Mix channels if mono (don't just output left channel)
186 * Allow using different joystick driver with SDL
187 * Allow disabling Lua/SDL searching
188 * Make it possible to compile this thing for win32 with stock makefile
189 * Do color upconversion when copying lcscreen -> screen
190 * Oops, remove some mistakenly left in debug prints
191 * sdmp2sox: Add blend 512x224/240 and enlarge to 512x448/480 mode
192 * Refactor sdmp2sox a lot
193 * sdmp2sox: Fix 448/480 -> 448/480 output
194 * Oops, missed the fakeexpand case in last change. Fix that.
195 * Add joystick init/quit functions and split some SDL joystick funs
196 * Reorganize the source tree a bit
197 * Fix SDL key identify so it works with other joystick plugins
198 * Evdev joystick plugin
199 * Evdev: Add a feature to show joystick info
200 * Lua: Add memory.* functions for reading the VMA table
201 * Minor lua documentation fixups
202 * More small documentation fixups
203 * Reorganize the window code a bit
204 * Move mouse compensation code to generic window code
205 * Correct documentation of --rtc-subsecond
207 rr0-β19 [Saturday November 5th 2011]
208 ====================================
209 * Refactor message handling
210 * Oops, add missing files for EVDEV joystick plugin
211 * Backport some improvements to other stuff from Wxwidgets work
212 * Whitespace fixes
213 * Rework makefile
214 * Mention EVDEV for joystick plugin
215 * More backporting changes to core from wxwidgets work
216 * More backports of stuff from the wxwidgets branch
217 * Various improvements and cleanups to video dumping
218 * Make emulator finish pending saves if loading/quitting
219 * Port the generic control stuff from wxwidgets work
220 * Wxwidgets graphics plugin
221 * Remove debug print left there
223 rr0-β20 [Wednesday November 9th 2011]
224 =====================================
225 * Get rid of win32-crap.[ch]pp
226 * Move the wxwidgets stuff to one directory
227 * Move files around a lot
228 * Make find_glyph return a pointer to glyph data, not offset
229 * Get rid of need for host C++ compiler
230 * Bump bsnes core version to v084
231 * Concentrate inter-component communication to one place
232 * Fix zero luma corner case
233 * Fix crash on multiline aliases
234 * Make wxwidgets gui load and save various settings
236 rr0-β21 [Wednesday November 9th 2011]
237 =====================================
238 * Patch problems in libsnes
239 * SNES is little-endian, not big-endian!
240 * Fix memory corruption bug in lcscreen::load()
242 rr0-β22 [Saturday November 12th 2011]
243 =====================================
244 * Fix signedness mixup in loading rrdata
245 * Don't misdecode 1 byte repeat counts 0xFE and 0xFF
246 * Lua on_frame() callback
247 * save_core_state() is not supposed to call runtosave!
248 * Add Lua function movie.read_rtc()
249 * Fix wrong variable in commented out debug code in rrdata.cpp
250 * Add missing ignore for src/fonts/font.cpp
251 * Add patch to fix unserialization of 64-bit integers
252 * Control bsnes random seeding
253 * Add pause-on-movie-end
254 * Some core debugging features:
255 * Fix the version number in window title
257 rr0-β23 [Sunday November 20th 2011]
258 ===================================
259 * Fix mixup between macro and field
260 * search-memory update
261 * Direct framebuffer
262 * Try to use SDL_ANYFORMAT if possible
263 * sdmp2sox: Add offset by 2s and offset by 2s with 10 frames modes
264 * Some wxwidgets code cleanup
265 * Fix makefile
266 * Wxwidgets: Save jukebox on exit
267 * Load RTC correctly if loading savesate as a movie
268 * Fix crash upon enter/leave full console followed by repaint
270 rr0-β24 [Saturday November 26th 2011]
271 =====================================
272 * Wxwidgets: Allow application to bought to foreground on Mac OS X
273 * Wxwidgets: Allow compiling on Mac OS X
274 * Don't hash movies
275 * Be backwards compatible with old savestates
276 * Fix two bugs in new movie checking code
277 * Lua: Add table _SYSTEM
279 rr0-β25 [Saturday December 3rd 2011]
280 ====================================
281 * sdmp2sox: Write silence to sound track when using -l or -L
282 * sdmp2sox: Fix NTSC overscan handling
283 * sdmp2sox: Refactor a lot and add AR correction mode
284 * Oops, last version was missing some files
285 * Call lua_close()
286 * Fix zip_writer
288 rr0-β26 [Monday December 12th 2011]
289 ===================================
290 * Move ROM patcher to its own source code file
291 * Use bsnes core internal IPS and BPS patchers
292 * Allow direct loading of headered ROMs
293 * Fix IPS patching
295 rr0-β27 [Wednesday December 14th 2011]
296 ======================================
297 * Fix show-bindings to show the commands bound.
299 rr0 [Sunday December 18th 2011]
300 ===============================
301 * Make pause-on-end actually controllable
302 * Poll all events in poll_inputs_internal, not just the first in queue
303 * wxwidgets: Fix loading of ROMs
305 rr0-Δ1 [Friday January 6th 2012]
306 ================================
307 * Lua: Add gui.textH, gui.textV, gui.textHV
308 * Don't assume that rshift=16, gshift=8, bshift=0 in blending code
309 * Add documentation for gui.textH, gui.textV and gui.textHV
310 * Show distinction between readonly-in-movie and finished in status flags
311 * Fix whitespace errors
312 * Fix bug in skip to next poll function
313 * Fix controller logical numbers
315 rr0-Δ1ε1 [Friday January 6th 2012]
316 ==================================
317 * Oops, update manual
318 * Add BSNES patches for v085
320 rr1-β0 [Friday January 6th 2012]
321 ================================
322 * lsnes rr1-β0
324 rr1-β1 [Friday January 6th 2012]
325 ================================
326 * Remove dummy test SRAM
327 * Fix controller logical numbers
329 rr1-β2 [Tuesday January 10th 2012]
330 ==================================
331 * Fix lsnes-dumpavi
332 * Pack movie data in memory
334 rr1-β3 [Tuesday January 10th 2012]
335 ==================================
336 * Fix framecount/length given when loading movies
337 * Controller command memory leak fixes
338 * Don't leak palette if freeing screen object
340 rr1-β4 [Wednesday January 11th 2012]
341 ====================================
342 * Detect git revision and have version shown
343 * Reformat the version message a bit
344 * Wxwidgets: Allow controlling dumper start/stop from menu
346 rr1-β5 [Wednesday January 11th 2012]
347 ====================================
348 * Partially rewrite the manual
349 * Finish the manual modifications
350 * Lua: Support Lua 5.2.X too
352 rr1-β6 [Wednesday January 11th 2012]
353 ====================================
354 * Win32: Fix compile errors
356 rr1-β7 [Thursday January 12th 2012]
357 ==================================
358 * Refactor controller input code
359 * Don't fall off commandline processing routine
361 rr0-Δ1ε2 [Thursday January 12th 2012]
362 =====================================
363 * Support Lua 5.2
365 rr1-β8 [Friday January 13th 2012]
366 =================================
367 * Remove core/coroutine
368 * When showing input in readwrite mode, show last sent input
369 * Rewind movie to beginning function
370 * Fix frame number reported to Lua in repaint after load
371 * Fix desyncs with rewind movie to begnning function
372 * wxwidgets: Allow editing jukebox from the GUI
373 * wxwidgets: Save settings on exit, load settings on startup
374 * Support ${project} for filenames
375 * SDL: Fix command history
377 rr1-β9 [Saturday January 14th 2012]
378 ===================================
379 * SDL: Fix order-of-global-ctor bug
380 * Fix another order-of-global-ctor bug
382 rr1-β10 [Saturday January 14th 2012]
383 ====================================
384 * NULL some window pointers when quitting
385 * Wxwidgets: Fix thread memory managment
387 rr1-β11 [Sunday January 15th 2012]
388 ==================================
389 * Evdev: Don't call keygroup::set_position in invalid thread
390 * wxwidgets: Actually implement load state preserving input
392 rr1-β12 [Sunday January 15th 2012]
393 ==================================
394 * wxwidgets: GUI for memory search
395 * Add warning about calling synchronous queue in callback to UI
397 rr1-β13 [Wednesday January 18th 2012]
398 =====================================
399 * Remember last saved file when populating file to load
400 * Remember absolute path for last save
401 * Suppost boost threads for MT dumping
402 * Fix compiling on win32
403 * Lua: New function input.raw, which gives data for all buttons
404 * Lua: input.keyhook
405 * Make mouse be ordinary keys instead of being special
406 * SDL: Fix NUL codepoints in commands (fix weird cursor behaviour)
408 rr1-β14 [Thursday January 19th 2012]
409 ====================================
410 * Merge status panel and main window
411 * True movie slot support
412 * SDL: Fix compilation error
413 * Fix cross calls in dumper menu code
415 rr1-β15 [Friday January 20th 2012]
416 ==================================
417 * Cancel pending saves function
418 * Wxwidgets: Inline some menu handling
419 * Use RAII for modal pauses
420 * Some more modal pause RAII stuff
421 * Wxwidgets: Refactor dialog code
422 * Wxwidgets: Fix system -> reset
423 * Wxwidgets: Read the watch expressions in the right thread
425 rr1-β16 [Saturday January 21th 2012]
426 ====================================
427 * Wxwidgets: No, Lua code does not support reading script from .zip
428 * Wxwidgets: Increase number of autohold slots (in case more are needed)
429 * Don't append trailing '-' to prefix when saving movie.
430 * ROM/savestate handling fixes
432 rr1 [Saturday January 21th 2012]
433 ================================
434 * Document the memory watch expression syntax
436 rr1-Δ1 [Monday January 23rd 2012]
437 =================================
438 * Fix compression settings in lsnes-dumpavi
439 * Fix unattended dumping
440 * Raw dumping support
441 * Documentation for the raw dump mode
442 * Rewrite lsnes-dumpavi to use adv_dumper interface
443 * Let one control the method AVI dumper preturbs the sampling rate
445 rr1-Δ2 [Monday February 6th 2012]
446 =================================
447 * Wxwidgets: Pass correct mode when dumping
448 * Also set core ports when loading savestate
450 rr1-Δ2ε1 [Monday February 6th 2012]
451 ===================================
452 * Add header file in order to make it compile with bsnes v086
453 * Allow compiling against bsnes v086
455 rr1-Δ3 [Monday February 21st 2012]
456 ==================================
457 * Don't prompt before quitting
458 * Start unpaused and preserve pause/unpause over load-type ops
459 * Try to autodetect headered ROMs
460 * Add option to skip the ROM patching screen
461 * Fix SDL event polling
462 * Fix the speed throttle
463 * Wxwidgets: Reposition buttons a bit
464 * wxwidgets: Hotkey configuration
465 * Wxwidgets: Improve key selector by loading the existing key if available
467 rr1-Δ4 [Monday March 4th 2012]
468 ==============================
469 * Code cleanup
470 * Fix (i)strip_CR
471 * Fix generic_port_read()
472 * Introduce some string functions to refactor the rest of code with
473 * Get rid of setting::print_all()
474 * Use standard boolean parser for parsing booleans
475 * Remove SHA-256 indices
476 * Refactor some generic platform code
477 * Refactor settings commands
478 * Don't dump JMD at undefined compression level
479 * Remove unnecressary conversions in dumper control
480 * Refactor ROM option parsing
481 * Refactor some moviedata commands
482 * Refactor edit-author
483 * Refactor memory watch commands
484 * Fix a bug in extract_token()
485 * Refactor keymapper.cpp command parsing
486 * Refactor remaining tokensplitters
487 * Don't do anything undefined if Lua C function throws an exception
488 * Premultiplied_color default constructor (transparent color)
489 * Lua class system
490 * Lua Bitmap
491 * Oops, bsnes v085/v086 patchseries was incomplete, fix that
492 * Debug multithreading-related errors
494 rr1-Δ4ε1 [Monday March 4th 2012]
495 ================================
496 * Fix movie corruption in certain cases
498 rr1-Δ5 [Thursday March 8th 2012]
499 ================================
500 * Add new lua hooks
501 * Add emulator_ready() lua function
502 * Lua: utime(): Microsecond-resolution time
503 * Update manuals for changes
504 * Lua: Add on_idle() and on_timer()
505 * Don't call subframe poll on first poll (only if needed)
506 * Fix double-polling for real
507 * Lua: input.geta/input.seta
508 * Add documentation for added lua stuff
509 * Fix compilation
510 * Wxwidgets: Fix the "internal focus lost" problem
511 * Wxwidgets: Fix broken modifiers
512 * Shorten maxwait from 5s to 0.1s
513 * Lua: bit.extract
514 * Refactor render queue management
515 * Allow optional initial fill color for bitmaps
516 * Lock palettes to protect color array structure
517 * Special-case render object allocation
518 * Add patchseries for v087
519 * Lua: bit.value
520 * Lua: input.controllertype()
522 rr1-Δ5ε1 [Saturday March 10th 2012]
523 ===================================
524 * Movieinfo: Print port 2 type right
525 * Reread controls after loadstate
526 * Actually fix the "on_input() not called after loadstate" correctly
528 rr1-Δ5ε2 [Tuesday March 13th 2012]
529 ==================================
530 * Fix saving of movie data for port2
531 * Fix SRAM handling with Bsnes v087
533 rr1-Δ6 [Wednesday April 11th 2012]
534 ==================================
535 * Do some small fixups with dumpers
536 * Split AVI file structure related classes to dedicated file
537 * Refactor makefile
538 * More code file moving
539 * Switch to dedicated SHA-256 implementation
540 * Fix Win32 building
541 * Library loading support
542 * Refactor AVI dumping a lot (WIP)
543 * Add the needed support for internal buffering by audio codec
544 * Add missing LF in cscd.cpp
545 * Some dumping improvements
546 * AVI dumping fixups
547 * TSCC video codec
548 * Don't corrupt AVI if emulator is closed while dumping
549 * Make settings window scrollable so it doesn't grow excessively large
550 * Hicolor raw dumping
551 * Refactor codec zlib handling
552 * RAW dump over TCP/IP support
553 * Fix compilation (missing header)
554 * Some makefile fixes
555 * Fix dumper modes and remove some dead code
556 * Support hiding the status panel
557 * Turbo on hold/turbo toggle
558 * Way simpler turbo implementation
559 * Change targetfps to be percentage
560 * Speed and volume adjustment
561 * Command for changing volume
562 * Implement screen scaling
563 * Fix the "re-show too short" problem with status panel
564 * Allow drag'n'drop of file to ROM select dialog / rom patch dialog
565 * Configurable movie/ROM paths
566 * Lua: gui.rainbow
567 * Portaudio: Fix speaker popping
568 * Wxwidgets: Move some menu entries around
569 * Wxwidgets: UI speed adjustment
570 * Wxwidgets: More menu twiddling
571 * Some more twiddling with the menus
572 * Refactor TCP dumping
573 * Split cases for prefix and special for dumper targets
574 * Also support dumping JMD and SDMP over TCP/IP
575 * Win32 joystick support
576 * Wxwidgets: Make scaling factors be global variables
577 * Wxwidgets: New settings dialog: Axes and paths
578 * Wxwidgets: Some more menu shuffling
579 * Lua: gui.box
580 * Wxwidgets: Move screen scaling into main settings dialog
581 * Internally classify keys
582 * Rework jukebox
583 * Wxwidgets: Move settings to main configuration dialog
584 * Fix error with settings avi-tscc-keyint and avi-cscd-keyint
585 * Wxwidgets: Move the rest of config to main configuration dialog
586 * Set wxTR_HIDE_ROOT on hotkey tree
587 * Split keys in classes
588 * Refactor path handling
589 * Fix title and prompt in slot count changing
590 * Try to fix the "key does not change" problem with Win32
591 * Win32: Fix the hotkeys tree by adding wxTR_LINES_AT_ROOT
592 * Note WIN32MM joystick driver
593 * Wxwidgets: Configuration dialog: Disable buttons that make no sense
594 * Wxwidgets: Disable clear buttons on nonclearable settings
595 * Wxwidgets: New ROM select dialog
596 * Wxwidgets: Change name of SNES cartridge ROM
597 * Wxwidgets: Make DnD to SRAM filename boxes work properly
598 * Wxwidgets: New project options dialog
599 * Fix the project options dialog on Win32
600 * Wxwidgets: Fix ROM select dialog with wxwidgets 2.9
601 * Wxwidgets: Project options dialog improvements:
602 * Make settings dialog saner size if there are no joysticks
603 * Wxwidgets: Some more attempts at fixing settings dialog sizing
604 * Wxwidgets: Mention lack of joysticks in joystick config
605 * Wxwidgets: Finally fix the settings dialog size
606 * Wxwidgets: Fix key entry dialog key box sizing to behave
607 * Wxwidgets joystick support
609 rr1-Δ7 [Saturday April 21th 2012]
610 =================================
611 * Refactor joystick support
612 * Refactor joystick support more
613 * Evdev: Fix pressure-sensitive buttons not showing up
614 * Print joystick driver name for show-joysticks
615 * Evdev: Add BTN_TOOL_QUINTTAP
616 * Evdev: Move name tables to joystick.cpp
617 * Evdev: Remove some unused variables
618 * Wxwidgets: Don't print disabled axis as unknown type
619 * Make keymapper threadsafe
620 * Make command interface threadsafe too
621 * Make settings threadsafe
622 * Add option to open the config dialog without opening a ROM
623 * Wxwidgets: Fix compiling on Win32
624 * Wxwidgets: Kill internal hotkeys data before exiting the config dialog
625 * Wxwidgets: Add option to prompt for key in key select dialogs
626 * Wxwidgets: Fix the "key goes away underneath" crash.
627 * Add unistd.h to src/core/loadlib.cpp
628 * Wxwdigets: Fix mouse coordinates in presence of scaling
629 * AVI dumper: Always flush as much as possible, not just 1 frame
630 * AVI dumper: Add mode 4: Upcovert to next common rate using SRC
631 * New hotkeys config dialog
632 * Add manual changes for SRC
633 * Add start paused option
634 * Wxwidgets: Start paused applies even to new project
636 rr1-Δ7ε1 [Wednesday April 25th 2012]
637 ====================================
638 * AVI dumper: ZMBV support
639 * AVI ZMBV: Lots of refactoring
640 * AVI dumper: Performance counters
641 * lsnes-dumpavi: Change order of dumper startup and lua startup
642 * AVI dumper: Fix secondary audio in mode 4
643 * AVI dumper: Do high-quality audio resampling in dedicated thread
644 * AVI ZMBV: Pad the buffers instead of doing OOB access
646 rr1-Δ7ε2 [Monday May 7th 2012]
647 ==============================
648 * Extend zlibstream to support Z_SYNC_FLUSH and simplify zmbv code
649 * Fix reading analog values
651 rr1-Δ8 [Thursday May 10th 2012]
652 ===============================
653 * Reintroduce delay reset support
654 * Lua: memory.hash_region
656 rr1-Δ8ε1 [Wednesday May 16th 2012]
657 ==================================
658 * Revamp the build system
659 * Add autohold for 1 frame (framehold) commands
660 * Framehold: Fix a bug where loading savestate didn't reset the holds
661 * Framehold: Add corresponding hotkeys and fix spurious autohold signal
662 * More build system work
663 * Ranlib the built bsnes archive
664 * Build: Fix wrong polarity on BOOST mt postfix
665 * Small build instructions rewording
666 * Some rewording on options.build
667 * Add missing bsnes version define
668 * Apparently delayreset only compiles with bsnes v085.
669 * Support v086 and v087 (but without delayresets)
670 * SDL: Save settings on exit
671 * SDL: Add command to enter command line with specified text
672 * SDL: More advanced editing
674 rr1-Δ9 [Tuesday May 22nd 2012]
675 ==============================
676 * Try to fix the "arrow keys get lost" problem
677 * MSU-1 support
678 * Fix bug where mode change due to rewind is not shown
679 * Unsafe rewinding
680 * Fix lua_callback_do_unsafe_rewind in no-Lua case
681 * Fix directory transversal in handling rerecord counting
683 rr1-Δ10 [Thursday June 7th 2012]
684 ================================
685 * AVI dumper: Sound mode 5: Fixed high-quality 48kHz
686 * Lua: Reset Lua VM function
687 * wxWidgets: Run script -> Run batch file
688 * Expand memory addresses from 32 to 64 bits
689 * Support pure virtual mappings
690 * Export the iospace flag to Lua.
691 * Fix bug with loading memory watches under Win32
693 rr1-Δ10ε1 [Friday July 6th 2012]
694 ================================
695 * Mirror some internal BSNES structures into virtual memory space
696 * Add support of DnD movies/saves into the main window
697 * Fix the "click on panel locks up keyboard" for real
699 rr1-Δ11 [Sunday July 15th 2012]
700 ===============================
701 * Librarify screen rendering
702 * Split all references to bsnes core to dedicated file
703 * Merge the new framebuffer code
704 * Delete include/core/bsnes.hpp
705 * Obtain the maximum number of logical controllers from the core defs
706 * Get rid of porttype_t and devicetype_t
707 * Move controller types to bsnes core, get rid of *LOGICAL* constants
708 * Move prototypes for controller-specific functions from emucore.hpp
709 * Reload ROM image on the fly
710 * Move core-specific code to core bindings
711 * Allow binding methods in Lua classes
712 * Get rid of nall
713 * Move button symbols to core specific code
714 * Backport changes to generic stuff from gambatte core bindings work
715 * Fix compile errors for Win32
716 * More compile error fixing
717 * Remove some debug spam on startup
718 * Fix some display scaling related bugs
719 * Fix sorting of various comboboxes
720 * Update the manual (common for both versions)
721 * Remember invalid settings
722 * Fix mistake in settings dialog (not printing errors)
723 * [GB] Gambatte core support
724 * [GB] Fix ridiculous resolutions for special screens
725 * [GB] max, not min!
726 * [GB] Get gambatte version from the core itself
727 * [GB] Updated manual for gambatte version
728 * [GB] Fix savestate-related bugs
729 * [GB] Fix saving of channel 1 sweep unit
730 * [GB] Fix dumping (wrong framerate)
732 * lsnes rr1-Δ11ε1 [Wednesday July 18th 2012]
733 ====================================
734 * Fix bug in skip poll feature
736 rr1-Δ12 [Friday July 20th 2012]
737 ===============================
738 * Non-insane savestate anchoring
740 rr1-Δ13 [Thursday August 30th 2012]
741 ===================================
742 * Don't try to call methods from uninitialized pointers
743 * Memory search extensions
744 * Preserve the movie if loading state in readonly mode
745 * Add option to use the older read-only load behavior
746 * Fix timeline check in one special case
747 * Revamp ROM loading
748 * Update manual
749 * Fix various bugs introduced in ROM changes
750 * wxwidgets: New menu layout
751 * Don't throw exceptions from ROM loading out of main loop
752 * Standalone hotkey configuration dialog
753 * wxwidgets: Cleanup the shown bindings a bit
754 * wxwidgets: Clean up key configuration dialog
755 * wxwidgets: Use comboboxes instead of 3state checkboxes
756 * wxwidgets: Also unpause on ROM DnD
758 rr1-Δ13ε1 [Saturday September 1st 2012]
759 =======================================
760 * Video dumping: Add pipedec
761 * Fix uninitialized variables in bsnes core
762 * [GB] Fix a crash when loading a ROM
764 rr1-Δ14 [Sunday September 9th 2012]
765 ===================================
766 * Fold Gambatte code to mainline rr1 maintenance branch
767 * Say what file extension is expected from dump file
768 * Memory watch computation data typing
769 * Memory watch: lsnes internal mmio area
770 * New memory watch editor
771 * Allow adding addresses directly from memory search
772 * Wxwidgets: Split memory watches in panel
773 * Hexadecimal memory watch support
774 * Wxwidgets: Refactor memory search code
775 * Wxwidgets: Make status panel monospaced
776 * Wxwidgets: Memory search: Add an option to disable VMAs
777 * Make / in memory watches mean FP division.
778 * lsnes-dumpavi: Don't hold back on emulation speed
779 * Base subtitle support
780 * Wxwidgets: Basic subtitles editor
781 * Document subtitle-related stuff
782 * Subtitle management from Lua
783 * Allow dumping subtitles as .sub file
784 * Export the rerecord count via MMIO and Lua
785 * Fix rerecord count reporting when loading movies
786 * Don't trash movie data when loading in readonly mode
788 rr1-Δ14ε1 [Friday September 21st 2012]
789 ======================================
790 * Fix crashes when closing settings dialog on Mac OS X
791 * Fix build on Mac OS X
792 * Lua: loopwarapper
793 * Fix syntax bug in serialization.hpp
794 * Allow hiding the messages window
795 * Lua: input.joyset
796 * Allow inconsistent savestates
797 * lsnes-dumpavi: Allow setting settings
798 * Implement mode where emulator saves every frame
799 * Fix desync on loading savestate in readonly mode after movie
800 * Fix save dialogs not working right on Mac OS X.
801 * Fix insane status width on Win32
802 * Make autohold not hang the emulator for a long time
803 * Wxwidgets: Allow loading ROMs and movies from commandline
804 * Update manual
806 rr1-Δ15 [Wednesday September 26th 2012]
807 =======================================
808 * Be bit smarter with --load
809 * New audio API WIP
810 * Fix building after the commentary track thingy
811 * Some more build fixing for Win32
812 * Lua: input.joyget
813 * Also add support for Gambatte SVN 358
814 * Use builtin font for rendering status panel
815 * Fix the new status area code
816 * Add option to detach memory watch to its own window
817 * Recent ROMs / Movies menu
818 * Libao support
819 * Update manuals about libao
820 * Make lag counter useful in SNES games that autopoll
821 * Fix a syntax error in gambatte patche
822 * Fix missing wxT in recentmenu
823 * Fix gambatte core bindings
825 rr1-Δ15ε1 [Thursday September 27th 2012]
826 ========================================
827 * Wxwidgets: Don't resize in paint handler, it makes wxwidgets blow up
828 * If a ROM and movie are dropped at once, load both
829 * Gambatte: Don't save spurious movie SRAMs in movie files
830 * Make SGB ROMs actually usable
831 * Don't probe for existence for filename to in recent_files::add/get
832 * Only one commentary track editor at a time please
833 * Commentary editor: Allow reopening the editor after close
835 rr1-Δ15ε2 [Saturday September 29th 2012]
836 ========================================
837 * Lua: memory.readregion / memory.writeregion
838 * Lua: memory.map*
839 * Lua: memory.map_structure
840 * Fix bus_address for gambatte
841 * Fix features dependent on bsnes debugger
842 * Cleanup bsnes debugger logic
843 * Fix resets in presence of save every frame
845 rr1-Δ15ε3 [Saturday October 27th 2012]
846 ======================================
847 * Lua: input.lcid_to_pcid
848 * Fix off-by-one bug with slot hashes
849 * Fix crashes on certain memory watch expressions
850 * Lua: memory.read_expr
851 * Lua: Fix memory.read_expr on nil argument
852 * Fix the code to compile on G++ 4.7
853 * Change button_id to be a function pointer field, not a virtual method
854 * Refactor porttype_info into library/ (as port_type)
855 * Add bsnes patches to fix libsnes to compile on GCC 4.7
856 * Revert "Refactor porttype_info into library/ (as port_type)"
857 * Gambatte: Always use legacy lag counting
858 * Memory commands: Memory addresses are up to 16 hex digits, not up to 8
859 * Fix analog controllers
860 * Fix autohold menus
861 * Fix button symbols in input display
862 * Compensate for nuts bsnes superscope/justifier handling
863 * Lua: Fix bit.extract with booleans
865 rr2-β0 [Wednesday January 16th 2013]
866 ====================================
867 * Refactor bsnes core version handling
868 * Refactor SNES::system_*pu_frequency() calls to interface/bsnes.cpp
869 * Refactor dummy interfaces to interface/bsnes.cpp
870 * Refactor SRAM handling to interface/bsnes.cpp
871 * Split VMA handling
872 * Get rid of bsnes headers for memorymanip.cpp
873 * Move core save/load routines to bsnes.cpp
874 * Built-in ROM patcher
875 * Some build fixes for Mac OS X
876 * Fix compile error in src/video/sdmp.cpp
877 * Fix compile errors in src/platform/wxwidgets/romselect.cpp
878 * Refactor ROM slots handling
879 * Refactor internal interfaces to support arbitrary number of controllers
880 * MAX_ANALOG is no longer used, remove it
881 * Support systems with !=2 ports
882 * Fix segfault in controllerframe::deserialize
883 * Fix case where deserialize doesn't read whole last field
884 * Fix byte order of system field
885 * Actually fix system byte order for gambatte
886 * Change the pollcounter type to avoid errors on movie load
887 * Refactor movie class to library/
888 * Move globalwrap.hpp to library/
889 * Use globalwrap in controller-data.cpp
890 * globalwrap: Warn about recursive initialization
891 * Refactor command handling to library/
892 * Refactor settings to library/
893 * Plug memory leaks
894 * Don't leak command group internal management commands
895 * Move bridging between commands and settings to library/
896 * Move messagebuffer to library/
897 * Move emulator_status to library/
898 * Unify registration queue handling of commands and settings
899 * Refactor and extend library loading
900 * Fix some compile errors (throw specifiers)
901 * Add a missing header file and correct win32 build error
902 * Merge core controller setting code
903 * Remove optionality of Lua support
904 * Refactor Lua support
905 * Fix some really retarded code in library/movie
906 * Have cores generate controller index maps
907 * Some movie code cleaning up
908 * Avoid spurious polls arising from DRDY of nonexistent tuples
909 * Move reset handling to cores
910 * Have core-specific code build the legacy PCID maps
911 * Allow multiple types of controllers on one port
912 * Extern references in library/controller-data.hpp are no-no
913 * Don't poll for / write non-valid control indices
914 * Gambatte: Fold port0 and port1 together
915 * Split lua_render_context into library/
916 * Lua: Clean up callback code
917 * Refactor memory mappings & memory search to library/
918 * Split thread type defines to own header file
919 * Fix button symbols in input display
920 * Fix autohold menu
921 * Compensate for nuts bsnes superscope/justifier handling
922 * Clean up library includes
923 * Sort out the fucking messages mess
924 * Allow passing ROMs by filename instead by data
925 * SNES: New controller types gamepad16 and multitap16
926 * Fix some misc. compile errors in G++ 4.6
927 * Lua: memory.getregister for SNES
928 * SNES: Breakpoint support (still preliminary)
929 * SNES: Add trace logging and step hooks
930 * Refactor keyboard modifiers into library/
931 * Refactor keygroup into library/
932 * Remove obsolete SDL stuff
933 * Remove more old crapola
934 * Refactor keymapping to library/
935 * Refactor generic_port_* functions and get rid of button_symbols
936 * Also get rid of controller_names (using template magic)
937 * Data-driven controller buttons
938 * Use controller names instead of classes in autohold menu
939 * Remove obsolete unused functions
940 * Settings-based controllers
941 * Remove export for core_set_region, there's no such function anymore
942 * Move get_{audio,video}_rate() to rom type methods
943 * Make the SNES rate specials methods
944 * More making core functions into methods
945 * Use lambda functions in core bindings
946 * More refactoring core functions into methods
947 * Remove set_preload_settings(), do the things at ROM load if needed
948 * Remove do_basic_core_init (do equivalent tasks on demand)
949 * More making core functions into methods
950 * Yet more moving of core functions to methods
951 * Make set of port types for core a field
952 * Support multiple cores at once
953 * controller mapping: Remove dangerous order assumption
954 * Handle buttons when dynamically loading cores
955 * Fix warnings about variable scope
956 * Support autoloading stuff on startup
957 * Support per-core cover pages
958 * Do something sightly more interesting with covers
959 * Display internal ROM name in cover page
960 * Show region on cover page
961 * Cover page: Characters 9 and 10 are supposed to be invisible
962 * bsnes: system_name is unused, remove it
963 * Replace region with full system
964 * Handle conflicting sysregions
965 * Remove legacy lag counting
966 * Move emulation core bindings to their own directories
967 * Show all supported cores in about window
968 * Auto-generate port type code from defines
969 * More core defines auto-generation
970 * Allow null buttons in input maps
971 * Fix make clean if bsnes and/or gambatte is missing
972 * Fix compiling with gambatte and/or bsnes missing
973 * Add button type TYPE_NULL
974 * Change all systypes from map to set
975 * Refactor finding systype by extension/name
976 * Core conflict resolution
977 * Fix Win32 compile errors
979 rr2-β1 [Saturday January 19th 2013]
980 ===================================
981 * Cores: Blurb
982 * Update libgambatte to SVN 364
983 * Get rid of partial linking
984 * Load XML even without gamepack files
985 * Support screen rotation & flipping
986 * Fix bug when changing controller key to another subkey of the same key
988 rr1-Δ16 [Thursday January 24th 2013]
989 ====================================
990 * Stop on movie end: Stop at correct frame, not one frame too late
991 * Clean up library includes
992 * Backport library updates and sort out the fucking messages mess
993 * Portaudio: Re-enable blacklisting of default and sysdefault
994 * Fix crashes when closing lsnes with voice playback active
995 * Refactor voice import/export and support pregap, postgap and gain
996 * Support voice OggOpus import/export
997 * Hack to allow using 16-button controllers
998 * Remove nonexistent controllers from input display
999 * Don't use constructs not implemented in gcc 4.6
1000 * Wxwidgets: Allow setting voice/record volumes from the UI
1001 * Cores: Blurb
1002 * Update libgambatte to SVN 364
1003 * Load XML even without gamepack
1004 * Support screen rotation & flipping
1005 * Backport the new bit functions
1006 * Lua: Backport new Lua functions from master and add bit.rflagdecode
1007 * Real-time updates for voice streams in editor
1008 * Live subtitle editing
1009 * Actually honor music volume setting
1011 rr2-β2 [Thursday January 24th 2013]
1012 ===================================
1013 * Use system mutex/condition types instead of platform ones
1014 * Get rid of platform thread_id
1015 * Get rid of platform threads
1016 * joystick_plugin:: -> joystick_driver_
1017 * Joystick: use weak functions
1018 * Audio drivers: Use weak functions
1019 * graphics_plugin:: -> graphics_driver_
1020 * Graphics driver: Use weak functions
1021 * Windows apparently doesn't support weak functions
1022 * Lua: bit.test_any, bit.test_all
1023 * Lua: bit.popcount
1024 * Bit.{test_any,test_all,popcount}: Fix wrong datatype
1025 * Lua: bit.clshift / bit.crshift
1026 * Lua: bit.flagdecode
1027 * Emulate weak dummy driver in a way compatible with Win32
1028 * Lua: bit.rflagdecode
1029 * Split duplex support
1031 rr1-Δ16ε1 [Sunday February 3rd 2013]
1032 ====================================
1033 * Wxwidgets: Fix memory watch rendering
1034 * Allow setting stream gain
1035 * Wxwidgets: VU meters & volume adjustment window
1036 * Lua: Custom fonts support
1037 * Lua: Fix bug with methods and resetting Lua VM
1038 * Fix rerecord count when loading movies
1039 * Fix paths in bsnes patches
1040 * Change AVI default sound mode
1041 * Fix loading standard-mode movies
1043 rr1-Δ17 [Monday February 11th 2013]
1044 ===================================
1045 * Very basic movie editing support
1046 * Movie editor: Refactoring
1047 * Movie editor: Popup menu
1048 * Movie editor: Don't offer popup menu items that make no sense
1049 * Movie editor: Show button/axis names in popup menu
1050 * Movie editor: Don't offer out-of-movie edits in menu
1051 * Movie editor: Allow changing window size
1052 * Movie editor: Sanity-limit number of rows
1053 * Movie editor: Don't recount the entire movie when change is known
1054 * Movie editor: Insert frame after
1055 * Movie editor: Handle partially stored frames properly
1056 * Fix all sorts of wacky behavior with dummy audio callback
1057 * Show nominal and actual sample rates in VU window
1058 * Movie editor: Delete (sub)frame
1059 * Movie editor: Fix deleting the leading subframe
1060 * Movie editor: Locked scrolling mode
1061 * Movie editor: Reorganize the popup menu a bit
1062 * Movie editor: Show movie length
1063 * Win32: Use MoveFileEx to replace the target in one operation
1064 * Movie editor: Fix compilation on Win32
1065 * Wxwidgets: Repaint the status panel after RW/RO switch
1066 * Movie editor: Run to frame function
1067 * Movie editor: Append multiple frames at once
1068 * Movie editor: Truncate movie
1069 * Movie editor: Scroll to specified frame
1070 * Movie editor: Scrolling fixes
1071 * Movie editor: Handle scrolling when rewinding
1072 * Movie editor: Tweak colors
1073 * Movie editor: Scroll to current frame
1074 * Update manual
1075 * Movie editor: Allow toggling whole sequence of axis values at once
1076 * Movie editor: Show buttons even when released
1077 * Backport some bugfixes from compiler warning fixing
1078 * Fix compiling on Win32
1079 * Allow changing the Opus bitrate at runtime
1080 * Wxwidgets: Load filenames as ROMs and support --lua=<file>
1081 * Wxwidgets: Support -h and --help
1083 rr2-β3 [Monday February 11th 2013]
1084 ==================================
1085 * Lua: Render queues as objects
1086 * Render queue documentation
1087 * Support for hard resets and make some stuff movie settings
1088 * Dedicated sound devices dialog
1089 * Oops, missing file.
1090 * Oops, set the sound mode default to 2 not 3
1091 * Movie editor: Add space before axis fields
1092 * Movie editor: Properly space in presence of axis fields
1093 * Fix serializing multi-controller ports
1094 * Fix serializing multiple ports
1095 * Fix saving unconnected ports to movie
1096 * Wxwidgets: Don't save or load blank core preferences
1097 * Portaudio: Do split duplex with different I/O devices
1098 * Portaudio: Fix buggy full-duplex mode
1099 * Fix controls with gambatte core
1100 * Remove lsnesrc-related code (since what it was used for is long gone)
1101 * Clean up framerate handling
1102 * Clean up save slots handling
1103 * Fix some uninitialized variables caught by Valgrind
1104 * Cleanup many settings (all from core)
1105 * lsnes-dumpavi: --firmware-path
1106 * Fix breakage in last commit
1107 * {set,clear}-pause-on-end
1108 * Fix lots of -Wall compiler warnings
1110 rr1-Δ17ε1 [Monday March 4th 2013]
1111 =================================
1112 * Commentary: Max bitrate limiting
1113 * Unconditionally reload hostmemory on loadstate
1114 * Lua: Query bindings, manipulate aliases, create inverse bindings
1115 * Fix crash with bitmaps and resetting Lua VM
1116 * More paint / reset fixes
1117 * Voicesubs: Don't access uninitialized variables
1118 * gui.text: Don't corrupt memory on rendering off bottom
1119 * Fix writing of screenshot magic to be reliable
1120 * Lua: Some new and backported input functions
1121 * Lua: input.port_type: Be consistent on type of port 0
1122 * Movie editor: Fix the reset delay counters to be right way around
1123 * Lua: input.controller_info
1124 * Lua: Document input.controller_info
1125 * Lua: on_snoop2
1126 * Lua: on_button and input.veto_button
1128 rr2-β4 [Monday March 4th 2013]
1129 ==============================
1130 * Revert memory leak fix breaking input
1131 * Allow cores to create big-endian VMAs
1132 * Refactor Opus handing
1133 * Opus support: Repacketizer
1134 * Opus support: Ignore errors ctls
1135 * Better error handling in opus code
1136 * Opus support: Fix all sorts of mistakes
1137 * Make some things unsigned and fix on platforms where int is not 32 bits
1138 * Opus support: Support multistream
1139 * Fix memory search bug with host-endian VMAs
1140 * Restrict member picking to only .zip files
1141 * Fix reading of host-endian VMAs.
1142 * Some bizarre stuff...
1143 * Fix rlow and rhigh to be right way around
1144 * Fix movie editor in obscure case
1145 * Lua: Don't wedge VM if callback fails with exception
1146 * Refactor Oggopus support
1148 rr1-Δ17ε2 [Monday April 1st 2013]
1149 =================================
1150 * Fix saving PNG screenshots
1151 * Movie editor: Sweep axis
1152 * Load selected slot in ro/rw/preserve/movie mode
1153 * input.joyset: Preserve and invert user input
1154 * Allow immediate saving at point of save
1155 * Fix mouse movement
1156 * Wxwidgets: Filter filenames in load/save dialogs, autoappend extensions
1157 * data/verysmall.font is mising glyph 70 (F)
1158 * Lua: CUSTOMFONT: Allow painting with halo
1159 * Fix value search to work with byte types
1161 rr2-β5 [Monday April 1st 2013]
1162 ==============================
1163 * Reject Oggopus files that don't have complete pregap
1164 * Make opus_packet_tick_count a common function
1165 * Rewrite opus_packet_tick_count without lookup tables
1166 * Multistream and demuxing fixes
1167 * Workaround framebuffer bug if screen width >1024
1168 * Allow on_input to veto/force system controls (including reset line)
1169 * Refactoring: copy_from_utf8()
1170 * Use named field initializers in cores
1171 * Have dedicated window for autohold instead of menu
1172 * Support per-button autofire
1173 * Fix crashes trying to frameadvance or exit with no ROM loaded
1174 * Also use named initializers for null core
1175 * Wxwidgets: Autohold: Don't open with no controllers
1176 * Warn about nonexistent controller keys more aggressively
1177 * Movie editor: Fix mouse
1178 * TAS input plugin
1179 * Analog passthrough
1180 * Gambatte: Clean up unused stuff
1181 * Add tests for throttle axes and fix numerious mistakes
1182 * TAS input plugin: Tweak coordinate transforms and pad sizes
1183 * Movie editor: Mark the panel as wxWANTS_CHARS
1184 * TAS input plugin: Accept keyboard hotkeys
1185 * Fix analog input using mouse (got broken with analog passthrough)
1186 * Don't crash if somebody calls audioapi_get_voice with samples=NULL
1187 * Autohold/Autofire: Try fix the "ga" bug
1188 * Add missing $(CROSS_PREFIX) to pkg-config for libopus
1189 * Use std::u32string instead of std::vector<uint32_t> for UTF-32 strings
1190 * Movie editor: Use UTF-32 internally
1191 * Fix undefined return value from port unserialization
1192 * Move some info from status panel to statusbar
1193 * data/verysmall.font is mising glyph 70 (F)
1194 * Lua: CUSTOMFONT: Allow painting with halo
1196 rr1-Δ17ε3 [Wednesday April 17th 2013]
1197 =====================================
1198 * Fix status panel (and movie editor) flicker
1199 * Actually fix the statuspane/movie-editor flicker
1200 * Show effects of Lua in input display
1201 * Offer lsmv.backup as file filter too for load lsmv
1202 * Allow slowing down subframe advance (it used to always be very fast)
1203 * Display current save slot information
1204 * Add snes9x fonts
1205 * Fix hotkeys stopping working after X-ing settings dialog
1206 * Movie editor: Fix bug if extending finished movie
1207 * Cap current_frame_first_subframe to movie size when recounting movie
1208 * Movie editor: Interpret ctrl+click as right click
1210 rr2-β6 [Wednesday April 17th 2013]
1211 ==================================
1212 * Autofire: Fix false status indications
1213 * Fix subframe counter
1214 * Fix print() after Lua VM reset
1215 * New settings framework
1216 * Remove some unused leftover stuff
1217 * Fix race condition causing possible crash on startup
1218 * Fix compiling if uint64_t and size_t are not compatible
1219 * Lua: Don't crash if input.[gs]et{,a} is called outside on_input
1221 rr2-β7 [Wednesday April 17th 2013]
1222 ==================================
1223 * Fix crash on loading GB(c) ROMs.
1225 rr1-Δ17ε4 [Monday June 24th 2013]
1226 =================================
1227 * Lua: Fix drawing lines in some angles.
1228 * Fix compilation error if size_t != uint64_t.
1229 * Ogg: Properly initialize data_count on read ogg pages.
1230 * Memory search: Autoupdate memory search by default.
1231 * Memory search: Move buttons to context menu, add disqualify address.
1232 * Memory search: Use text panels instead of textbox.
1233 * Backport Mac OS X build fix.
1234 * OggOpus: Fix Vendor vs. ENCODER.
1235 * Lua: gui.delta_<class>_gap.
1236 * Fix RTC on loadstate in readonly mode.
1237 * Save/Restore host memory across unsafe rewinds.
1238 * gui.text: Fix clipping to left/top border.
1239 * Implicit creation of inverse binds for aliases.
1240 * Fix subtitle generation.
1242 rr2-β8 [Monday June 24th 2013]
1243 ==============================
1244 * Make save slot info work correctly with prefixes.
1245 * Cleanup port defintions.
1246 * Allow button display symbols to be Unicode characters.
1247 * Make all Lua memory functions optionally take VMA.
1248 * Lua: Allow creation of commands.
1249 * Commentary: Remove support for old Opus format.
1250 * Lua: Throw instead of raising error if VMA is invalid.
1251 * Fix statusbar breakage when not recording.
1252 * Projects support.
1253 * Lua: Don't crash if method execution throws.
1254 * Lua: memory2.
1255 * Fix bug causing ext0...ext3 to appear pressed on normal gamepad.
1256 * Mac OS X compile fix.
1257 * Fix desync on loading movie via project load.
1258 * Fix memory watch with project active.
1259 * Allow per-variable names for booleans.
1260 * Don't change settings in UI thread.
1261 * Change booleans without prompting.
1262 * Support enumerated settings.
1263 * Special dialogs for numeric and path settings.
1264 * Support loading libopus at runtime.
1265 * Lua: Report port internal names instead of hnames
1266 * Wxwidgets: Initialize panel renderer variables properly.
1267 * Handle project switch as loadstate.
1268 * Close ROM.
1269 * Fix compilation if wxstring is wide.
1270 * Bump max savestate slot count to 999,999,999.
1271 * wxwidgets: Don't print narrow characters into wide stream.
1272 * SNES: Layer hiding.
1273 * Simplify stuff with initializer lists.
1274 * Lua: Fix coroutines.
1275 * SNES: SMP disasm.
1276 * Fix subtitle generation.
1277 * Keep memory watches on project creation.
1278 * Macro support.
1280 rr1-Δ18 [Thursday July 25th 2013]
1281 =================================
1282 * Fix reading signed values via read-s*
1283 * Movie editor copy&paste
1284 * Fix reading system controls using input.get2.
1285 * (D)Bitmap decoding from PNG support.
1286 * Allow loading PNG/PAL/BITMAP from string.
1287 * Lua: Don't crash if some method throws.
1288 * Support Y-cabled gamepad16.
1289 * Lua: Allow shortening evaluate-lua to L.
1290 * Lua: Methods for handling movies as objects.
1292 rr2-β9 [Sunday August 4th 2013]
1293 ===============================
1294 * Fix reading byte-sized values via read-(s)byte
1295 * Allow specifiying ROM type in load dialog.
1296 * More cleanups using initializer lists.
1297 * Core actions.
1298 * Remove long-umaintained SNES-specific dump format.
1299 * SNES disassembler.
1300 * Refactor core interface stuff.
1301 * Refactor dispatching interface
1302 * Fix creating a new project after forcing core.
1303 * Mac OS X joystick support
1304 * memory.get_lag_flag/memory.set_lag_flag
1305 * Show error dialog on important errors.
1306 * Autobuild index triple and legacy-pcid maps.
1307 * Remove moviestate support.
1308 * New file dialogs code.
1309 * Binary movies support.
1310 * Clip analog macros correctly.
1311 * Refactor the settings dialog.
1312 * Remember gamepads across restarts.
1313 * Unlimited number of keys per inverse bind / controller key.
1314 * Savestate to rewind point conversion.
1315 * Split lua reference to its own manual.
1316 * Kill port type IDs.
1317 * Call do_sample from audioapi_submit_buffer.
1318 * Lua: gui.adjust_transparency.
1319 * Lua: loadfile/dofile: Support basenames.
1320 * Lua: gui.bitmap_load*: Support basenames.
1321 * Lua: Support packed Lua scripts.
1322 * Lua: @@LUA_SCRIPT_FILENAME@@
1323 * Lua: Function to resolve file w.r.t. basneame.
1325 rr1-Δ18ε1 [Friday October 4th 2013]
1326 ===================================
1327 * Add installer script
1328 * Backport support for SGB GB WRAM and HRAM.
1329 * Support BITMAP+PALETTE -> DBITMAP.
1330 * If loading movie/savestate without ROM, prompt one.
1331 * Fix movie initialization on ROM load.
1332 * Fix compilation if wxString is wchar_t based.
1333 * Save ROM name hints.
1334 * Use hints for default filename on ROM load.
1335 * runuifun: Call the function only once.
1336 * Fix NULL pointer dereference if gametype changes from NULL.
1337 * Lua: gui.arrow
1338 * Fix diagonal arrows.
1339 * Print() can print any type.
1340 * Extend userdata printing.
1341 * Fix wrong use of lua_error.
1342 * Lua: Tilemaps
1343 * Don't allow editing reset flags after reading.
1345 rr2-β10 [Friday October 4th 2013]
1346 =================================
1347 * Don't show joysticks tab if no joysticks.
1348 * Lua: callback.register/callback.unregister
1349 * Don't call action_state_updated() while emulator is strating up.
1350 * Decouple sets of functions from Lua states.
1351 * Properly handle zip_reader trying to open non-.zip.
1352 * Cleanup controller and keymapper stuff on exit.
1353 * SNES: Call callbacks in correct lua state.
1354 * Gambatte: First emit video then sound.
1355 * gui.kill_frame: Omit frame from video dump.
1356 * Lua: gui.bitmap_pget: Read pixels from bitmap.
1357 * Gambatte: DMG palette manipulation.
1358 * Gambatte: Allow native-rate sound output.
1359 * Lua: open_file.
1360 * Lua: Don't load binary chunks.
1361 * Don't offer horizontal scale factor as value of verical factor
1362 * Config dialog / advanced: Treat doubleclick as change click
1363 * Use tree control instead of pair of listboxes in hotkeys&controls
1364 * Settings dialog: Support right click context menu
1365 * Replace X/Y scale with one scale + optional AR correction
1366 * Some sort of fullscreen mode
1367 * Tweak the video options panel
1368 * Much more compact joystick dialog
1369 * Joystick dialog: Center one-digit numbers
1370 * Move E() from joystick code to general text panel code
1371 * Joystick dialog: Compactify
1372 * Portaudio: Heed defaults, don't use full-duplex mode
1373 * Fix parsing Oggopus files with tags spanning multiple pages
1374 * Remove leftover debug messages
1375 * lsnes-dumpavi: Support specifying dump length as overdump length
1376 * Make port_type::legal based on data instead of generated
1377 * Macros: Support ? modifier for macros (press at random)
1378 * Reserve 1 byte for each macro button instead of 2 bits
1379 * Be more careful when parsing macros
1380 * SNES: Support "compact form" where delay resets aren't supported
1381 * Lua: gui.synchronous_repaint()
1382 * Support "wrambank" register (read-only) for DMG/CGB
1383 * Make lua_obj_pin<T> copyable
1384 * Lua: Automatically pass Lua state to lua class ctors
1385 * Lua: Use full userdata to store class binds
1386 * Lua: lua_class<T>::bind_multi (initializer lists are useful)
1387 * Lua: Pass name of method to various lua class methods
1388 * Some libgambatte fixes
1389 * Simplify memory space read/write code
1390 * Clean up reading of values of various types
1391 * Simplify memory search by using templates
1392 * Support 24-bit memory watches / memory searching
1393 * Support float/double memory watch/search
1394 * Fix reading binary movies with unknown extensions
1395 * If movie is loaded without ROM, prompt for ROM
1396 * Fix slotinfo for binary save slots
1397 * Add some missing files
1398 * Fix memory search datatype names
1399 * Add state mapping for SGB Gameboy CPU
1400 * Support SGB GB HRAM too
1401 * Allow RAM initialization from movie file
1402 * Properly change core if ROM is loaded by request
1403 * Refactor image slots code
1404 * Refactor binary file saving/loading routines
1405 * Remove lanczos.cpp, Nothing needs it
1406 * Check JSON integer values before trying to parse
1407 * enumerate_directory: Don't list . and ..
1408 * Fix compiling if Boost threads are used
1409 * Mark some globals as const
1410 * Make some global variables fields
1411 * binary_input_stream: Handle nested extensions correctly
1412 * Share file image data among copied instances
1413 * Make symbolic constant ROM_SLOT_COUNT for ROM slot count
1414 * Save ROM hints
1415 * Use ROM hints for default request filename
1416 * Scatter-gather value read/write
1417 * Fix compilation with wchar_t based wxstring
1418 * Cut the ridiculous exception spam from file probing
1419 * Support Multi-ROM projects
1420 * Fix compilation with wchar_t-based wxString
1421 * ROM guessing
1422 * Hashing: Show total work size, and don't accidentally block the UI
1423 * Fix a bug where quitting emulator would only unpause it
1424 * Fix UI blocking on hash verification against movie
1425 * Fix Win32 (or GCC 4.8?) compilation
1426 * Hex editor
1427 * Memory search: Poke
1428 * Memory search: Select in hex editor
1429 * Hex editor: Add watch
1430 * Hex editor: Few fixed-point types
1431 * Hex editor: Q12.4
1432 * Memory search: Save, Load, Undo and Redo
1434 rr2-β11 [Sunday October 6th 2013]
1435 =================================
1436 * Movie editor: Add panel for inputting axis values
1437 * Fix uninitialzed variable
1438 * Fix graphics update hanging
1439 * TAS Input: Improve lightgun support
1440 * Multitrack support
1441 * TAS input: Don't bug out on loadstate
1442 * TAS Input: Compute buffer size for lightgun correctly
1443 * Change working directory
1445 rr1-Δ18ε2 [Monday October 14th 2013]
1446 ====================================
1447 * Fix crash if reloading ROM with non-default controllers in readwrite mode
1449 rr2-β12 [Monday October 14th 2013]
1450 ==================================
1451 * Fix compilation on Mac OS X
1452 * Lua: Also add scatter-gather to memory.* (not just memory2.*)
1453 * Fix crash if loading rom with non-default controllers active
1454 * Refactor rrdata handling
1455 * Merge branch 'rr1-maint
1456 * Use correct file for rerecord counting
1457 * Fix more bugs in rerecord counting
1458 * Fix bug that caused save slots always to be semi-text in projects
1459 * Speed up binary savestate saving
1461 rr2-β13 [Thursday November 28th 2013]
1462 =====================================
1463 * If libgcrypt is available but /dev/urandom is not, use libgcrypt for RNG* Allow setting AVI scale factors
1464 * JSON-based controller descriptions
1465 * Fix compile for Mac OS X
1466 * Optimize generic controllers using dynamically generated code
1467 * Make regex thread-safe
1468 * JSON: Reduce internal exception spam
1469 * Recent Lua scripts
1470 * Support latch notifications on SNES
1471 * Wxwidgets: Command line history
1472 * Oops, forgot to update patchseries for latch notification support
1473 * Add on_latch to Lua docs
1474 * Try to autodect I386/amd64
1475 * Save bitmaps as PNG
1476 * Lua: gui.bitmap_hash/gui.palete_hash
1477 * Lua: bsnes.dump_sprite: Allow overriding row stride
1478 * Fix recent movies menu
1479 * Fix output if core tries to output wider than buffer (currently 4096)
1480 * Win32 compile fixes
1481 * Don't crash if setting game name & authors outside project context
1482 * Support in-memory saves and use those for wxwidgets ROM loading
1483 * Fix in-memory slots
1484 * Improve randomness of get_random_hexstring (on I386)
1485 * Zip: Allow output to arbitrary ostream
1486 * HTTP request code
1487 * Support stream compression
1488 * File upload code
1489 * Add command-line file uploader
1490 * Upload UI
1491 * Movie downloading
1492 * Strip path when autofilling filename
1493 * httpauth: Use the no-protocol mode
1494 * Gambatte: Expose CPU registers
1495 * Fix compilation on Win32
1496 * BSNES: Compile with accuracy core
1497 * Fix WWW-Autheticate parsing
1498 * Rewrite parse_authenticate in saner way
1499 * Lua: Fix a typo in error message
1500 * Fix writing movie data
1501 * Nuke the helper executables on make clean
1502 * Print proper error message if Lua expression parse fails
1503 * Allow resizing messages window
1504 * Oops, remove some crap lines
1505 * Messages panel: copy to clipboard / save to file
1506 * Messages window: Scroll with wheel
1507 * Fold audio device controls to VU meter window
1508 * Unified support for breakpoints & cheats
1510 rr2-β14 [Tuesday December 31st 2013]
1511 ====================================
1512 * Fix printing of errors from some notifications
1513 * Don't require to specify bsnes version when building
1514 * Null core: Set the hidden flag
1515 * Attempt to save if emulator is crashing
1516 * Gameboy disasembler
1517 * Fix compile with Gambatte not supporting debug hooks
1518 * Gambatte: Do not lose colors when ROM is reloaded
1519 * Command to set current slot
1520 * Optional background sound autodisable
1521 * Gambatte: DC levels fixes
1522 * Don't crash if loaded dynamic library contains a new core
1523 * Fix compile for bsnes accuracy for real
1524 * Add bsnes alternate poll timings patch
1525 * Fix http_request::_progress
1526 * Make parse_value be able to parse 0x notation
1527 * Bitmap font to custom font conversion
1528 * Also catch terminate() for autosave
1529 * Initialize some vars in messages window
1530 * Release regexps before finally exiting
1531 * Lua: random.*
1532 * Lua: Zip create / enumerate
1533 * Lua: gui.screenshot_bitmap()
1534 * Clean up filesystem stuff
1535 * Move binarystream functions to dedicated namespace
1536 * Refactor library command functions to dedicated namespace
1537 * Refactor library keyboard to dedicated namespace
1538 * Refactor library dispatch stuff to dedicated namespace
1539 * Build: Fast global need-rebuild detection
1540 * Remove some crazy dependencies to keymapper
1541 * Extra framebuffer methods
1542 * Refactor library framebuffer to dedicated namespace
1543 * Further framebuffer refactoring (pixel formats)
1544 * Remove some dead files
1545 * Refactor custom_font into framebuffer namespace
1546 * Refactor library gamepad to dedicated namespace
1547 * Refactor library ogg functions to dedicated namespace
1548 * Refactor library zip functions to dedicated namespace
1549 * Refactor library serialization to dedicated namespace
1550 * loadlib refactoring, add program modules
1551 * Move opus_packet_tick_count() to main opus library code
1552 * Move routines from oggopus to opus namespace
1553 * keyboard-mapper: Get rid of command.hpp include
1554 * Get rid of DECLARE_LUACLASS
1555 * Throw internal error instead of crashing if trying to use nonexistent class
1556 * Refactor library Lua base to dedicated namespace
1557 * Refactor library settings to dedicated namespace
1558 * Refactor library png functions to dedicated namespace
1559 * Refactor library UTF8 to dedicated namespace
1560 * Clean up hexadecimal<->string conversion
1561 * File upload: Behave like cancel was clicked on window close
1562 * Fix compilation of make-ports helper
1563 * Refactor library fileimage to dedicated namespace
1564 * Refactor library filesystem code
1565 * SNES: PPU registers
1566 * Move library patch functions with file image functions
1567 * Get rid of utf8::to32i2() and extract_token()
1568 * Fix compile error on some systems
1569 * Fix another compile error (constant in Connect())
1570 * SNES: Make needed directories for build if missing
1571 * Clean up some hash and RNG code
1572 * Crash autosave: Don't try to save movies with NULL sysregion
1573 * Lua: Bitmap/renderq object methods
1574 * Framebuffer: Set unused color bits to 1 instead of 0
1575 * Fix a bug applying delta gaps on render queue
1576 * Lua: RENDERQUEUE:render: Render queue to DBITMAP
1577 * Allow color names as color specifications
1578 * Some refactoring of the named colors stuff (and a lot more colors)
1579 * Lua: HSL colors and color modifiers
1580 * JSON Pretty printing support and pretty-print joystick configuration
1581 * GB: Disassemble/Tracelog fixes for CB xx
1582 * Wxwidgets: Plugin manager
1583 * Lua: render_queue_function
1584 * Fix off-by-one in counting number of objects in render queue
1585 * Clean up error reporting on plugin load failure
1586 * Plugin manager: Mark plugins that failed to load
1587 * Plugin manager: Atomic overwrites, remove otherstate plugin on rename
1588 * Also load plugins from location relative to the executable
1589 * Fix compiling on Win32
1590 * Plugin blacklist/killlist (needed on some toys)
1592 rr1-Δ18ε3 [Sunday January 5th 2014]
1593 ===================================
1594 * Backport bsnes/gambatte patches and make emu at least run
1595 * Fix compiling gambatte binding with versions not supporting debug extensions
1596 * Handle frame spanning movie page boundary
1597 * Platform::wait(): Never wait on zero delay
1599 rr2-β15 [Sunday January 5th 2014]
1600 =================================
1601 * options.build: Default to g++, not g++-4.6 (too old)
1602 * Fix crash on canceling tracelog filename select
1603 * Fix framebuffer::font::get_metrics
1604 * Don't crash on certain invalid memory read/write commands
1605 * Oops, GB(C) bus was missing
1606 * Don't desync if loading a movie preserving input
1607 * Fix rerecord count to reset on new movie
1609 rr2-β16 [Friday February 14th 2014]
1610 ===================================
1611 * PNG screenshots are bugged again...
1612 * Fix typo in macosx platform makefile
1613 * More advanced memory watches
1614 * Fix core selection among multiple candidates for downloaded movies
1615 * Allow -mt prefix for host boost
1616 * Make frame count controller_frame_vector property
1617 * Clean up internal name used to designate a save slot
1618 * Move main movie compatiblity checking to controller_frame_vector
1619 * Optimize controller_frame_vector::compatible()
1620 * Fix lockup if exiting emulator with project active
1621 * Lua: gui.set_video_scale()
1622 * Slot branches
1623 * Allow loading empty font and editing font after loading
1624 * Lua interface to iconv(3), string.byteU and string.charU
1625 * Rename ERROR to FAILED in evaluation status
1626 * Lua: Byte order swapping
1627 * Lua: Scaling blits, color priority blits, Porter-Duff blits
1628 * Lua: Autogenerate sysrc.cpp from sysrc.lua
1629 * Lua: identify_class
1630 * Lua: Refactor lots of stuff
1631 * Lua: Refactor classes
1632 * Lua: Make static constructor methods for MMAP_STRUCT and ZIPWRITER
1633 * Lua: Cleanup hostmemory and use static method for TILEMAP ctor
1634 * Lua: Cleanup gui-rqueue.cpp
1635 * Lua: Table of classes
1636 * Lua: Refactor some documentation
1637 * Lua: Some fixes related to sysrc.lua
1638 * Lua: cleanup some more files
1639 * Lua: More conversion to lua::parameters
1640 * Lua: More refactoring
1641 * Lua: Multi-argument parsing and unify color parsing
1642 * Lua: Use multi-argument parsing in some more places
1643 * Lua: use multi-argument parsing for more files
1644 * Lua: Use multiarg in some more files
1645 * Lua: Use multiarg for rest of gui-* stuff
1646 * Lua: Multiarg refactoring for a few more files
1647 * Lua: Refactor the two remaining files to use multiarg
1648 * Lua: Convert some core-specific stuff and kill lua::fnptr
1649 * Lua: Make class methods take lua::parameters
1650 * PRNG: Don't try to access element -1 of array in some cases
1651 * Make reference to certain library conditional
1652 * Lua: Give the print method as pointer instead of assuming T::print
1653 * Lua: all_classes()
1654 * Lua: Support __pairs for classes
1655 * Lua: Convert some functions to static-only classes
1656 * Lua: Get rid of unneeded subclasses of lua::function
1657 * lua_func_callback isn't used anymore, remove it
1658 * Lua: bit.compose, bit.binary_{ld,st}_*, bit.quotent
1659 * Fix some exception specifier mismatches
1660 * Refactor some generic reading/writing routines out of moviefile.cpp
1661 * wxwidgets: Use text render panel in messages window
1662 * Make git diff --check happy
1663 * Gambatte: New patch: Optional crash on SIGILL, fix MBC3
1664 * Back movie data off movie file structure
1665 * Fix initram handling with rewind to start type actions
1666 * Upload: Don't send empty fields
1667 * Dynamically allocate moviefile, rrdata and movie structures
1668 * Support multi-branch movies
1669 * moviefile.cpp is friggin' large, split it up
1670 * Load some legacy memory watches
1671 * Cleanup lua code by introducing lua::functions
1672 * File upload: More usable game name selection
1673 * Don't crash if exiting with trace log active
1674 * Upload: Drop the system select, it isn't usable
1675 * Fix kill_hooks()
1676 * Gambatte: Some Trace/Disassemble fixes
1677 * Hex editor: Properly erase past-the-end chars for non-mod16 regions
1678 * Don't use framebuffer palettes
1679 * Lua: memory.hash_region(), memory.store(), memory.storecmp()
1680 * Lua docs: Replace "vma" by "memory area" or "marea"
1681 * Trace logger / disassembler GUI
1682 * Fix parsing of #nnnnnn color notation
1683 * Lua: Cleanup & fix memory hash / storecmp functions
1684 * Lua: memory2: More functions corresponding to memory.*
1686 rr2-β17 [Friday February 28th 2014]
1687 ===================================
1688 * Makefile: platclean: Only clean emulation files
1689 * Lua: COMPARE_OBJ: Check strided memory block for modifications
1690 * Some tweaks to Lua docs
1691 * Show dialog if loading ROM/movie from command line fails
1692 * Lua: Don't run Lua until the emulator has fully started up
1693 * Lua: Run startup scripts after amode has been initialized
1694 * wxwidgets: Allow entering fullscreen mode from commandline
1695 * bsnes: redump sprite/palette functions
1696 * Lua: Fix gui.repaint() when paused
1697 * Lua: Clean up region bounds computation
1698 * Some cleanup
1699 * Wxwidgets: --unpause to auto-unpause on start
1700 * Properly set Read-Only mode if rewinding
1701 * Memory search: Fix display of unsigned dword and signed qword
1702 * Tracelogger: Breakpoints
1703 * Pass dummy object parameter to do_unregister
1704 * Fix system plugins not getting loaded if user plugin enum failed
1705 * Move library recentfiles to its own namespace
1706 * Don't crash if recentfiles line fails to deserialize
1707 * Recentfiles object: named object
1708 * New projects menu
1709 * C interface
1710 * Fix exact core matching when loading projects
1712 rr2-β18 [Wednesday March 19th 2014]
1713 ===================================
1714 * bsnes core: Raise bus breaks against correct address
1715 * C interface: Fix lag counting without LSNES_CORE_CAP1_PFLAG
1716 * C interface: Check for value != 0, not for control != 0 for lag check
1717 * Fix core callbacks being undefined if loading ROM from cmdline
1718 * Fix compilation on Mac OS X
1719 * Fix mouse electronics test
1720 * Tweak new movie dialog layout a bit
1721 * Add JSON linter utility
1722 * Force some configuration windows to be larger
1723 * Correctly show axes as disabled even if offline
1724 * Don't double-close audio output
1725 * Fix deleting executing breakpoint
1726 * Lua: Get lag count function
1727 * Allow bsnes tracelogger to trace execution in controller registers
1728 * SNES: Fix disassembly of long offsets
1729 * Make setting/unsetting non-bus breaks much faster.
1730 * Optimize movie.find_frame()
1732 rr2-β19 [Monday March 31st 2014]
1733 ================================
1734 * Move one #ifdef BSNES_HAS_DEBUGGER to the proper place
1735 * Some missing string conversions and headers
1736 * Speed up font init
1737 * Fix some memory leak complaints from Valgrind
1738 * Free some more memory before quitting
1739 * Fix potential dtor ordering crash in file hasher
1740 * Fix another potential dtor order crash
1741 * Refactor workthread.hpp and threadtypes.hpp (renamed to threads.hpp)
1742 * Refactor streamcompress.hpp
1743 * Lock/Unlock multiple locks at once function / class
1744 * Gambatte: Mark system bus as I/O special
1745 * Initialize project active_branch/next_branch
1746 * Fix loading memory watches on project change
1747 * GB: Fix read/write of A, PC and CycleCounter when executing
1748 * GB: Fix tracelogger not to screw up breaks
1749 * Refactor triple buffering logic to its own file
1750 * Small tweak to previous (convert multiplication to bitshift)
1751 * Lua: string.regex
1752 * Lua: bit.multidiv
1753 * Tweak description of bit.multidiv
1754 * Lua: bit.test, bit.testn, string.hex, string.lpad, string.rpad
1755 * Make redraw_framebuffer call update_movie_state();
1756 * Only update emulator status from within update_movie_state()
1757 * Fix the 0 movie length bug
1758 * Don't crash if trying to load movie with unknown sysregion
1759 * Work around compiler warning on -2^63 written as constant
1760 * Make compiler more anal and fix what comes up
1761 * Lua: bit.mul32
1762 * Autosave settings immediately after closing settings
1763 * Add base support for Lua object overcommit
1764 * Use overcommit for palettes, bitmaps, dbitmaps and tilemaps
1765 * Error out creating too large bitmaps / tilemaps instead of corrupting memory
1766 * Fix compare objects
1767 * Fix printing of tilemaps and compare objects
1768 * Use overcommit in memory compares
1769 * SNES: Support VRAM, OAM, CGRAM and APURAM breakpoints
1770 * Refactor emulator status reporting (and fix the statusbar doesn't update bug)
1772 rr2-β20 [Monday April 1st 2014]
1773 ===============================
1774 * Fix typo in changelog
1775 * Fix bug in printing MSU-1 track playback messages
1776 * Add option to emulate fucked up GBC timings
1777 * Coalesce UI events.
1778 * Don't update statusbar fast outside paint event
1780 rr2-β21 [Sunday May 4th 2014]
1781 =============================
1782 * Delete the now-unused emulator_status stuff
1783 * Numeric range class, obsolete clip_range.
1784 * Lua: gui.solidrectangle
1785 * Lua: (D)BITMAP:draw_clip, (D)BITMAP:draw_outside, TILEMAP:draw_outside
1786 * c-interface: Add some translation templates
1787 * src/lua/gui-bitmap.cpp Initialize spal to avoid compiler warning
1788 * Don't use -Werror
1789 * Use open/read/write/close for binary saves instead of iostreams
1790 * Select slot hotkeys
1791 * Fix macros getting frame duplicated after loadstate
1792 * Advance macros after frame is complete, not before frame starts
1793 * SA1 tracing support + memorywatch/search SA1 IRAM
1794 * Recognize SA1IRAM for purposes of breakpoints
1795 * ZMBV full search mode
1796 * SNES: SA1 registers for memory.getregister/setregister
1797 * SNES: Pseudo-registers hcounter and vcounter
1798 * Memory search: Resolve memory area if possible
1799 * Merge multiple versions of get_read_address() into one
1800 * Lua: Deprecate global addresses
1801 * moviefile::get_movie_length: Use milliseconds, not nanoseconds
1802 * Use curl-config instead of -lcurl
1803 * Wipe all sorts of potentially sensitive stuff after use
1804 * Memory peek/poke: Accept and show relative addresses
1805 * Autodetect followed by undefined with multiple choices: Ask user
1806 * Lua: Fix some includes
1807 * Fix SA1 open bus
1808 * Trace logger (Window): Show start of frame
1809 * Trace logger: Allow deleting lines / clearing
1810 * Fix potential crash on exit
1811 * lsnes-dumpavi: Support downloading movies
1812 * Trace logger: Don't double free trace hooks
1813 * Support configurable URI shorthands
1814 * Movie editor: Draw clear / fix current column
1815 * Movie editor: Insert multiple lines at once
1816 * Fix loading states with movie-ahead without ROM
1817 * If loading ROM with multiple candidates, prompt before adding to recentrom
1818 * Tweak the RNG a bit
1819 * Some Win32 build fixes
1820 * TAS input keyboard support
1821 * Use urandom / rtlgenrandom
1823 rr2-β22 [Saturday January 24th 2015]
1824 ====================================
1825 * Lua: memory.getregisters()
1826 * Zeroize: Don't crash if size=0
1827 * Remove unused variable and some commented out debug code
1828 * movb -> lsnes_instance.mlogic
1829 * lsnes_memory -> lsnes_instance.memory
1830 * Don't extern lsnes_lua_state, it is only used in one file
1831 * lsnes_lua_state -> lsnes_instance.lua
1832 * lsnes_memorywatch -> lsnes_instance.mwatch
1833 * lsnes_vsetc -> lsnes_instance.setcache
1834 * Get rid of lsnes_vset[foo]
1835 * Instancefy inthread.cpp stuff
1836 * Instancefy subtitles.cpp stuff
1837 * Clean up some uses of lsnes_instance
1838 * Instancefy mbranch.cpp stuff
1839 * Kill unused generic_controller_name()
1840 * Instancefy multitrack.cpp stuff
1841 * Instancefy emustatus.cpp stuff
1842 * Split random number functions from misc.cpp to dedicated file
1843 * Move lsnes_kbd and lsnes_mapper to be instance vars
1844 * Command sets WIP
1845 * Simplify command::* memory management
1846 * Use recursive locks to deal with the locking mess in command::*
1847 * Delete some unused fields
1848 * Fix valgrind warnings in inthread.cpp
1849 * Inverse binding sets
1850 * EVDEV: Select on joysticks
1851 * Listener object is better than 3 lambdas + handle
1852 * Initialize fdset before polling on it
1853 * Setting sets
1854 * Kill command::set::get_commands()
1855 * Reduce dependicies between header files
1856 * keyboard.cpp: Get rid of register_queue
1857 * keyboard-mapper.cpp: Get rid of register_queue
1858 * Lua.cpp: Get rid of register-queue
1859 * settingvar.cpp: Get rid of register_queue
1860 * Lua.cpp: Don't call unregister callbacks if nothing get unreg'd
1861 * Kill off register-queue
1862 * Rename some classes
1863 * Move memorywatch stuff to dedicated namespace
1864 * Namespacify mathexpr
1865 * Move lua-framebuffer to lua namespace
1866 * lua.hpp: Forward-declare keyboard::key
1867 * controller_frame_vector: Use object instead of lambda for notify
1868 * Scope listener base classes inside respective master classes
1869 * Fix keyboard::keyboard::all_keys and all_modifiers
1870 * Toggle sound mute command/hotkey
1871 * Move directory stuff to dedicated namespace
1872 * Move rename_overwrite from zip:: to directory::
1873 * Change some terms in UI
1874 * Don't crash if trying to select key without keys (shouldn't happen)
1875 * Instancefy alias binds management
1876 * Instancefy next rrdata
1877 * Instancefy internal emulation thread execution queue
1878 * Instancefy cart mappings
1879 * Make main controllers state a instance variable
1880 * Introduce run_show_error() and use it to clean up some code
1881 * Instancefy project state
1882 * Don't crash on exit with voice track loaded
1883 * Get rid of most absolute refs to lsnes_instance in src/core
1884 * run in emu thread: Throw exceptions over thread switches
1885 * Gambatte: Fix bus write breaks
1886 * Gambatte: Fix execute breaks on bus and IOAMHRAM
1887 * Don't corrupt memory when trying to GC various items on exit
1888 * Make the emulator harder to imporperly quit
1889 * Fix all sort of Windows stupidities
1890 * Add some test commands
1891 * Refactor debugging into instance object
1892 * Faster arithmetic modulo 2^255-19 on 64-bit
1893 * Remove broken crap
1894 * Some optimizations & fixes
1895 * Some more optimization, some test code for this thing
1896 * Move some debug stuff to be in class scope
1897 * Instancefy framerate stuff
1898 * Instancefy framebuffer stuff
1899 * Make various instance stuff to take references to other instance objs
1900 * Do some more stuff missed in last commit
1901 * Factor queue stuff to its own file
1902 * Make instance vars to be pointers
1903 * Properly handle deletes if those behave oddly on some platform
1904 * Remove unused dump_region_map()
1905 * Rewrite basic video dumping framework
1906 * Instancefy button manager stuff
1907 * Make helper class for instance member allocation / deallocation
1908 * Combine some small headers together
1909 * Factor message stream stuff to its own files
1910 * Some #include cleanup
1911 * Move render_video_hud and killed_audio_length to master dumper class
1912 * Refactor video dump framedrop handling
1913 * Instancefy dispatch stuff
1914 * Move action_update to be via dispatch
1915 * Remove unused load_rom_from_commandline
1916 * More include cleanups
1917 * Instancefy base mmio stuff
1918 * Get rid of direct references to emulation thread in branchesmenu.cpp
1919 * Use variable obtained earlier for current branch
1920 * Cleanup direct emulation thread references in editor-authors.cpp
1921 * Get rid of direct references from dumpmenu.cpp to emulation thread
1922 * Remove direct emulation thread references from keyboard.cpp
1923 * Sweep instance variables upward in UI code
1924 * Fix repainting status panel
1925 * More sweeping instance variables up
1926 * Eliminate settings_tab::call_window_fit(), nothing uses it
1927 * Push instances up out from settings window code
1928 * Push instance vars out of keyboard/mouse driver code
1929 * Do not use CORE() multiple times in the same function, it is pointless
1930 * Use helper class to simplify per-instance external vars
1931 * Fix warnings from valgrind
1932 * Refactor slotcache to be instance variable
1933 * Make some values const, remove some unused stuff
1934 * Lua: Memory address object
1935 * Kill emulation_thread, nothing uses it
1936 * lua::state::reset(): Use get instead of get_soft
1937 * Instancefy lua core stuff
1938 * Don't crash if exiting on panic
1939 * When panicing, show last message (as it is presumably related)
1940 * read_lua_fragment: Don't duplicate the script infinite number of times
1941 * Actually don't start if sysrc.lua is bad
1942 * Remove Lua 5.1 support
1943 * Make some arrow magic constants in gui-arrow.cpp const
1944 * Make render queue scratch variables instance variables
1945 * Some non-instance variables cleanup
1946 * Cleanup unused boost includes
1947 * Instancefy audioapi core (but not driver) stuff
1948 * Make some static variables in audioapi functions fields of audioapi class
1949 * Instancefy currently loaded ROM
1950 * Privatefy loaded_rom rtype, region and orig_region
1951 * Refactor save jukebox handling into its own class
1952 * Make class for emulator run mode
1953 * Factor updating status to its own class
1954 * Cleanup some symbols
1955 * Fix updating statusbar on save slot change
1956 * Clean up window-fileupload.cpp
1957 * Clean up use of project->moviepath/otherpath
1958 * Clean up instance usage in editor-voicesub.cpp
1959 * Use UI_in_project_context() in branchesmenu.cpp
1960 * bsnes: Fix on_latch in alttimings mode
1961 * Fix build on GCC 4.9
1962 * Fix memory.writeregion
1963 * Fix compilation on Mac OS X
1964 * Fix loading lz images with 128 or more colors
1965 * Fix some accidentially mistyped variables in makefile
1966 * Lua: Initialize some variables in address.cpp to make GCC happy
1967 * Revert "Remove Lua 5.1 support"
1968 * 25519: Add valgrind test mode
1969 * Opus: Support some newly added stuff
1970 * Small whitespace cleanup
1971 * Commentary: Fix gain on oggopus export
1972 * Fix emulator going out of whack after project load
1973 * Add -pthread to flags
1974 * Don't overdraw in outside draw
1975 * Add few extra sound commands
1976 * Fix jukebox slot select
1977 * Remember sound device over sound restart
1978 * Remember sound devices
1979 * Oggopus: Complain about single-dpage streams with bad granulepos
1980 * Lua: memory.action_flags
1981 * Print messages about loaded libraries
1982 * Library: Don't fail link without library support
1983 * Wxwidgets: --library=<filename>
1984 * C interface: render_text (version bump to v2)
1985 * Music: Use all PSID LSIDs as implicit entrypoints (not just the first)
1986 * Refactor controller runtime code generation
1987 * Namespace library port-controller stuff
1988 * Refactor library GC to its own namespace
1989 * Refactor memory_region{,_direct} to be subclasses of memory_space
1990 * Make workthread a class in top namespace and move some stuff under it
1991 * Rename token_iterator_foreach to token_iterator::foreach
1992 * Split audioapi to core interface and driver interface parts
1993 * Fix crash if canceling load of other project
1994 * Allow memory watch to read registers
1995 * Show error dialog if project switch fails
1996 * Add missing file
1997 * gambatte fixes: Properly save MBC3 without RTC
1998 * Don't try to do controller runtime codegen on X32, it won't work
1999 * Memory watch fixes
2000 * Rudimentary library unloading support
2001 * Allow binding commands to class instance
2002 * Module unloading: Small cleanup
2003 * Module unloading: Small further cleanup
2004 * Reinitialize gamepads command and fix EVDEV going bonkers on gamepad suddenly disconnecting
2005 * Remove unused function
2006 * Show VMA relative hex address when dumping debug hook list
2007 * Tweak format of command help files and do some further command cleanup
2008 * Don't try to unregister killed debug CBs
2009 * bsnes: Add hcounter/vcounter registers
2010 * Tracelogger: Unregister the frame callback even on hard kill
2011 * Music playback: Guard against crazy pcmpos
2012 * Wxwidgets: Fix loading ROM from commandline
2013 * Fix most hotkeys to show up in configuration (were missing due to errant !)
2014 * Fix error message if trying to load ROM with project active
2015 * If project switch loads savestate, mark position at point of save
2016 * Squash some wrong-thread bugs
2017 * Memory editor: Squash another wrong-thread bug
2018 * Add the UI thread checking code
2019 * runuifun: Allow marking cb routine to run once at a time
2020 * wxwidgets: Add some missing conversions for string arguments
2021 * Oops from previous commit
2022 * Portaudio: Don't blacklist ALSA default/sysdefault for input
2023 * Redraw framebuffer when entering break pause
2024 * Fix some nondeterminism (probably wouldn't cause desyncs)
2025 * Lua: PALETTE:get()
2026 * Fix some valgrind warnings
2027 * Exit immediately on double fault
2028 * Update the default build options
2029 * Libao: Don't crash on quit
2030 * Remove some utilities that should not be there anymore
2031 * Use $DOT_EXECUTABLE_SUFFIX instead of hardcoding .exe
2032 * Fattest? Really?
2033 * Ignore some build helper programs, now that the .exe rule doesn't cover those
2034 * Don't use arbitrary garbage as amount of samples to squash
2035 * Show error from Lua if parsing Lua expression fails
2036 * Don't let one unload currently used core (crashes the emulator)
2037 * Lua 5.3 support
2038 * Cleanup Lua multiversion support
2039 * Add wide (64 bits) versions of bit functions if Lua 5.3 is used
2040 * Fix Win32 build
2041 * Fix compile error with Lua 5.1
2042 * Clean up all build helper programs on make clean
2043 * Add commands and Lua functions to manipulate running speed
2044 * Remove target for font.cpp.dep
2045 * Readd rule for font.cpp.dep in different way
2046 * Pluginmanager: Autocreate directory instead of crashing
2047 * Fix bad download crashing the emulator
2048 * bsnes: DMA tracing
2049 * bsnes: Support IRQ/NMI tracing
2051 rr2-β23 [Thursday May 28th 2015]
2052 ================================
2053 * Lua: Don't lua_error() out of context with pending dtors
2054 * Add $LSNES_NO_SOUND_IN to disable sound input
2055 * Makefile: Build cmdhelp before anything else
2056 * keymapper: Verify gamepad config write before committing
2057 * Remember volume settings across restarts
2058 * Remember video settings
2059 * Fix CUSTOMFONT text positioning
2060 * Only exit poll advance on poll to non-00 control
2061 * Show error instead silently failing tangent positive edge
2062 * Fix race condition in makefile
2063 * Fix scaling-related crashes
2064 * NULL video dumper
2065 * Fix some compilation errors on Mac OS X
2066 * Move all regex matching to library/string.cpp
2067 * Switch to std::regex by default
2068 * Movie editor: Don't lock up on trying to display error messages
2069 * Add a internal TODO list
2070 * Lua: add gui.get_runmode()
2071 * Movie editor: Fix unnamed branch to show properly in select branch
2072 * If initsram/initstate points to LSS file, pull the matching member
2073 * wxwidgets: Hide dumper called "NULL"
2074 * Force game panel to window size in fullscreen mode
2075 * Implicitly redirect cmdhelp includes to corresponding JSON files
2076 * Fix movie length being wrong for imported binary tracks
2077 * Lua: input.controller_info(): Don't crash with out-of-range port
2078 * Lua: movie.rom_loaded()
2079 * Lua: movie.get_rom_info()
2080 * Force a repaint when becoming fullscreen
2081 * wxwidgets: exit-fullscreen to forcibly exit fullscreen mode
2082 * Make gitlinks for bsnes and gambatte
2083 * Throw mic in to entropy pool
2084 * Fix hostendian memory watches
2085 * Fix race condition in do_mix_tsc()
2086 * Lua: Don't run class destructor if constructor failed
2087 * Fix typo in resolve_filename documentation
2088 * bit.(r)flagdecode: Fix unicode in on/off strings
2089 * Wxwidgets: Add keycode entries for å, ä and ö
2090 * Wxwidgets: Fix §
2091 * Wxwidgets: Fix some compile errors in editor-memorywatch.cpp
2092 * Wxwidgets: Fix some compile errors in window-fileupload.cpp
2093 * Lua: movie.get_game_info
2094 * Don't callback to Lua in inconsistent state when loading a new ROM
2095 * SNES: Functions for messing with clockrate (for debugging games)
2096 * Remove some unnecressary casts
2097 * Add back reload-rom and close-rom
2098 * Add load-rom command
2099 * Split overly large loaded_rom constructor
2100 * Fix speed going out of whack after doing unsafe rewind
2101 * Refactor loaded_rom to make public fields private
2102 * Move NULL core code to its own file
2103 * Internally refactor loaded ROM imageset out of loaded ROM code
2104 * Refer to loaded ROM imagesets as handles
2105 * A bit of code cleanup
2106 * Mark the core methods that should be idempotent as const
2107 * Refactor dynamic state to its own subobject
2108 * Refactor unsafe rewinding a bit now that state is its own subobject
2109 * Clean up dynamic state handling a bit
2110 * Circle coordinates can go negative and thus must be signed
2111 * Add dedicated method for resetting to poweron state
2112 * Add description of PALETTE:get()
2113 * Fix typo in Lua reference
2114 * Don't leak open file descriptors to loaded ROMs
2115 * Fix race between killing object and drawing object
2116 * Fix a compiler warning
2117 * Small rendering speedups
2118 * Actually kill objects using palette about to be GC'd
2119 * font rendering: Use ranges for bounding instead of buggy routine
2120 * Have only one main Lua function trampoline
2121 * Use master state for trampolines
2122 * Lua: Memory usage limit
2123 * Framework for memory usage tracking
2124 * Redo text rendering (adds halo support to gui.text())
2125 * Make git diff --check happier
2126 * Clean up system font drawing
2127 * Memory tracker: Add tracking of render objects
2128 * Rework how memory tracking works
2129 * Small whitespace cleanup