2021-06-25 01:27:09 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" / >
< meta name = "generator" content = "HelpNDoc Personal Edition 7.3.0.348" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< link rel = "icon" href = "favicon.ico" / >
< title > What's New? 2.4.0 (changelog)< / title >
< meta name = "description" content = "" / >
< meta name = "keywords" content = "" >
<!-- Twitter Card data -->
< meta name = "twitter:card" content = "summary" >
< meta name = "twitter:title" content = "What's New? 2.4.0 (changelog)" >
< meta name = "twitter:description" content = "" >
<!-- Open Graph data -->
< meta property = "og:title" content = "What's New? 2.4.0 (changelog)" / >
< meta property = "og:type" content = "article" / >
< meta property = "og:description" content = "" / >
< meta property = "og:site_name" content = "FCEUX Help" / >
<!-- Bootstrap core CSS -->
< link href = "vendors/bootstrap-3.4.1/css/bootstrap.min.css" rel = "stylesheet" / >
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
< link href = "vendors/bootstrap-3.4.1/css/ie10-viewport-bug-workaround.css" rel = "stylesheet" / >
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- [if lt IE 9]>
< script src = "vendors/html5shiv-3.7.3/html5shiv.min.js" > < / script >
< script src = "vendors/respond-1.4.2/respond.min.js" > < / script >
<![endif]-->
<!-- JsTree styles -->
< link href = "vendors/jstree-3.3.10/themes/default/style.min.css" rel = "stylesheet" / >
<!-- Hnd styles -->
< link href = "css/layout.min.css" rel = "stylesheet" / >
< link href = "css/effects.min.css" rel = "stylesheet" / >
< link href = "css/theme-light-blue.min.css" rel = "stylesheet" / >
< link href = "css/print.min.css" rel = "stylesheet" media = "print" / >
< style type = "text/css" > nav { width : 250 px } @ media screen and ( min-width : 769px ) { body . md-nav-expanded div # main { margin-left : 250 px } body . md-nav-expanded header { padding-left : 264 px } } < / style >
<!-- Content style -->
< link href = "css/hnd.content.css" rel = "stylesheet" / >
< / head >
< body class = "md-nav-expanded" >
< div id = "skip-link" >
< a href = "#main-content" class = "element-invisible" > Skip to main content< / a >
< / div >
< header class = "headroom" >
< button class = "hnd-toggle btn btn-default" >
< span class = "sr-only" > Toggle navigation< / span >
< span class = "icon-bar" > < / span > < span class = "icon-bar" > < / span > < span class = "icon-bar" > < / span >
< / button >
< h1 > FCEUX Help< / h1 >
< / header >
< nav id = "panel-left" class = "md-nav-expanded" >
<!-- Nav tabs -->
< ul class = "tab-tabs nav nav-tabs" role = "tablist" >
< li id = "nav-close" >
< button class = "hnd-toggle btn btn-default" >
< span class = "glyphicon glyphicon-remove" aria-hidden = "true" > < / span >
< / button >
< / li >
< li role = "presentation" class = "tab active" >
< a href = "#contents" id = "tab-contents" aria-controls = "contents" role = "tab" data-toggle = "tab" >
< i class = "glyphicon glyphicon-list" > < / i >
Contents
< / a >
< / li >
< li role = "presentation" class = "tab" >
< a href = "#index" id = "tab-index" aria-controls = "index" role = "tab" data-toggle = "tab" >
< i class = "glyphicon glyphicon-asterisk" > < / i >
Index
< / a >
< / li >
< li role = "presentation" class = "tab" >
< a href = "#search" id = "tab-search" aria-controls = "search" role = "tab" data-toggle = "tab" >
< i class = "glyphicon glyphicon-search" > < / i >
Search
< / a >
< / li >
< / ul > <!-- /Nav tabs -->
<!-- Tab panes -->
< div class = "tab-content" >
< div role = "tabpanel" class = "tab-pane active" id = "contents" >
< div id = "toc" class = "tree-container unselectable"
data-url="_toc.json"
data-openlvl="1"
>
< / div >
< / div > <!-- /contents -->
< div role = "tabpanel" class = "tab-pane" id = "index" >
< div id = "keywords" class = "tree-container unselectable"
data-url="_keywords.json"
data-openlvl="1"
>
< / div >
< / div > <!-- /index -->
< div role = "tabpanel" class = "tab-pane" id = "search" >
< div class = "search-content" >
< div class = "search-input" >
< form id = "search-form" >
< div class = "form-group" >
< div class = "input-group" >
< input type = "text" class = "form-control" id = "input-search" name = "input-search" placeholder = "Search..." / >
< span class = "input-group-btn" >
< button class = "btn btn-default" type = "submit" >
< span class = "glyphicon glyphicon-search" aria-hidden = "true" > < / span >
< / button >
< / span >
< / div >
< / div >
< / form >
< / div > <!-- /search - input -->
< div class = "search-result" >
< div id = "search-info" > < / div >
< div class = "tree-container unselectable" id = "search-tree" > < / div >
< / div > <!-- /search - result -->
< / div > <!-- /search - content -->
< / div > <!-- /search -->
< / div > <!-- /Tab panes -->
< / nav >
< div id = "main" >
< article >
< div id = "topic-content" class = "container-fluid"
data-hnd-id="WhatsNew240"
data-hnd-context="86"
data-hnd-title="What's New? 2.4.0 (changelog)"
>
< div class = "navigation" >
< ol class = "breadcrumb" >
< li > < a href = "Intro.html" > Introduction< / a > < / li >
< / ol >
< div class = "nav-arrows" >
2021-10-21 00:19:39 +00:00
< div class = "btn-group btn-group" role = "group" > < a class = "btn btn-default" href = "Intro.html" title = "Introduction" role = "button" > < span class = "glyphicon glyphicon-menu-up" aria-hidden = "true" > < / span > < / a > < a class = "btn btn-default" href = "WhatsNew250.html" title = "What's New? 2.5.0 (changelog)" role = "button" > < span class = "glyphicon glyphicon-menu-left" aria-hidden = "true" > < / span > < / a > < a class = "btn btn-default" href = "WhatsNew230.html" title = "What's New? 2.3.0 (changelog)" role = "button" > < span class = "glyphicon glyphicon-menu-right" aria-hidden = "true" > < / span > < / a > < / div >
2021-06-25 01:27:09 +00:00
< / div >
< / div >
< a id = "main-content" > < / a >
< h2 > What's New? 2.4.0 (changelog)< / h2 >
< div class = "main-content" >
< p class = "rvps2" > < span class = "rvts22" > What's New? < / span > < span class = "rvts26" > 2.4.0< / span > < / p >
< p class = "rvps2" > < span class = "rvts6" > Released -- 24 June 2021< / span > < / p >
< p class = "rvps2" > < span class = "rvts6" > < br / > < / span > < / p >
< p class = "rvps2" > < span class = "rvts6" > < br / > < / span > < / p >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > The 2.4.0 release primarily focuses on improving stablity and capabilities of the Qt/SDL GUI port.< / span > < / p >
< p class = "rvps5" > < span class = "rvts32" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Build Improvements:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added Windows to supported operating systems.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Now buildable against both Qt5 and Qt6.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Unix OS build fixes.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL New Tools:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added a pattern table tile editor to the PPU viewer.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added a sprite table viewer window.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added an NES palette color editor tool. Can now edit palette RGB values in realtime.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Nametable Viewer:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added tile and attribute gridlines visibility feature.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Rearranged window layout.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Viewport now has zoom levels.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Viewport now has context menu functionality.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL PPU Viewer:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added tile gridlines visibility feature< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Improved active palette display.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added pattern table tile viewer context menu options.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added a click or hover focus policy option to select tile via mouse.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Movies:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added AVI and WAV recording capability.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Trace Logger:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Fixed buffer overrun issue.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Improved disk write performance.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Hex Editor:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Improved editor responsiveness.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added a font selection option for text customization.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added row / column coloring options.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL GUI Improvements and Bug Fixes:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added main menu hide feature.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Accelerators added to main menu.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Hot key interface re-worked to better integrate with main menu shortcuts.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added menu preset options for autofire pattern and fixed timing issues.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added an quick access link to fceux online documentation.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added a recent ROMs list to the main menu.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added TBL support to hex editor.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Bug fixes for using native OS QFileDialog option.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added RAM init menu options< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added Qt style plugin and stylesheet selection/load options to UI config window.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added feature that allows the binding of gamepad buttons to key sequences that can trigger GUI shortcuts.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added PPU overclocking feature to timing config window.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Video Improvements and Bug Fixes:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Added aspect ratio selection support.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added viewport cursor and draw input aids options.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added visible scanline entry fields to video config window.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Fixed crash issues when switching between OpenGL and SDL drivers.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Fixed New PPU selection via video config window.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Fixed image distortion issues when using various video scalers and clipping.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Screen shot function now captures raw window pixels to allow for higher resolution, aspect ratio and scaler effects to be seen in image.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Added NTSC/PAL/dendy auto detection at ROM load.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts31" > < br / > < / span > < / p >
< p class = "rvps5" > < span class = "rvts33" > Qt/SDL Stability Fixes:< / span > < / p >
2021-06-25 01:27:09 +00:00
< ul style = "text-indent: 0px; padding: 0; margin: 0 0 0 24px; list-style-position: outside; list-style-type: disc;" >
2022-02-04 01:16:06 +00:00
< li class = "rvps5" > < span class = "rvts31" > Fixed various segmentation faults< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Fixed various memory leaks caught by valgrind.< / span > < / li >
< li class = "rvps5" > < span class = "rvts31" > Cleaned up many compiler and cppcheck warnings.< / span > < / li >
2021-06-25 01:27:09 +00:00
< / ul >
2022-02-04 01:16:06 +00:00
< p class = "rvps5" > < span class = "rvts31" > < / span > < span class = "rvts6" > < / span > < / p >
2021-06-25 01:27:09 +00:00
< p class = "rvps4" style = "clear: both;" > < span class = "rvts18" > Created with the Personal Edition of HelpNDoc: < / span > < a class = "rvts19" href = "https://www.helpndoc.com/help-authoring-tool" > Full-featured multi-format Help generator< / a > < / p >
< / div >
< div id = "topic_footer" > < div id = "topic_footer_content" > 2020< / div > < / div >
< / div > <!-- /#topic - content -->
< / article >
< footer > < / footer >
< / div > <!-- /#main -->
< div class = "mask" data-toggle = "sm-nav-expanded" > < / div >
<!-- Modal -->
< div class = "modal fade" id = "hndModal" tabindex = "-1" role = "dialog" aria-labelledby = "hndModalLabel" >
< div class = "modal-dialog" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" > < span aria-hidden = "true" > × < / span > < / button >
< h4 class = "modal-title" id = "hndModalLabel" > < / h4 >
< / div >
< div class = "modal-body" >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-primary modal-btn-close" data-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
<!-- Splitter -->
< div id = "hnd-splitter" style = "left: 250px" > < / div >
<!-- Scripts -->
< script src = "vendors/jquery-3.5.1/jquery.min.js" > < / script >
< script src = "vendors/bootstrap-3.4.1/js/bootstrap.min.js" > < / script >
< script src = "vendors/bootstrap-3.4.1/js/ie10-viewport-bug-workaround.js" > < / script >
< script src = "vendors/markjs-8.11.1/jquery.mark.min.js" > < / script >
< script src = "vendors/uri-1.19.2/uri.min.js" > < / script >
< script src = "vendors/imageMapResizer-1.0.10/imageMapResizer.min.js" > < / script >
< script src = "vendors/headroom-0.11.0/headroom.min.js" > < / script >
< script src = "vendors/jstree-3.3.10/jstree.min.js" > < / script >
< script src = "vendors/interactjs-1.9.22/interact.min.js" > < / script >
<!-- HelpNDoc scripts -->
< script src = "js/polyfill.object.min.js" > < / script >
< script src = "_translations.js" > < / script >
< script src = "js/hndsd.min.js" > < / script >
< script src = "js/hndse.min.js" > < / script >
< script src = "js/app.min.js" > < / script >
<!-- Init script -->
< script >
$(function() {
// Create the app
var app = new Hnd.App();
// Update translations
hnd_ut(app);
// Instanciate imageMapResizer
imageMapResize();
// Custom JS
// Boot the app
app.Boot();
});
< / script >
< / body >
< / html >