Changes since 0.1.5:
Version 0.3.1
====--
Note: NetPlay is incomplete and replays are semi-broken in this release.
Trying to use NetPlay in this will get you nothing!
This version is experimental, and I am releasing it for Christmas so that I
can worry about more important, such as (eventually) finishing NetPlay.
Miscellaneous changes:
Input 'Start' and 'Select' buttons configuration reversed fix.
Increased chat message buffer size from 4 to 10 lines.
Build system & code changes:
Added CPU_TYPE and CPU_ARCH and improved some behavior.
Separated blitters into individual header files.
GUI changes:
Added numbers to the items in Video > Blitter menu.
Overhauled dithering functions.
Video output changes:
(Super) 2xSCL crash in high resolutions fix.
Added 32-bit support.
Added color indexing for all non-32-bit modes.
Made all blitters work in any supported color depth.
Renamed interpolated blitter to interpolated 2x.
Added interpolated 3x blitter.
Version 0.3.0
====--
This release is dedicated to those who fell in the 9/11 attacks.
Note: NetPlay is incomplete and replays are semi-broken in this release.
Trying to use NetPlay in this will get you nothing!
Mac OS X is officially supported by this release, in addition to Windows
9x/NT/Me/2k/XP, 32-bit DOS, Linux, FreeBSD, QNX, and BeOS.
Miscellaneous changes:
Infamous ROM load memory protection crash bug fix.
Overhauled CPU emulation core.
Added x86 assembly optimized CPU core components.
Fixed branch wrap detection bug.
Added CRC calculation for PRG ROM, CHR ROM, and ROM trainers.
Added support for CPU memory space patching (raw or Game Genie w/ GUI).
Added slow (half FPS) mode.
Corrected mirroring of uneven size ROMs.
Added save state support (may not work for all supported games).
Added automatic machine state saving accurate up to every frame.
Added support for replays (currently buggy).
Altered memory map for performance.
Added exit confirmation when ROM loaded.
Significant improvements to the timing system.
Configuration changes:
Added configurable save state and Save RAM (SRAM) output path.
Configuration file and log file are now stored with the executable.
Changed Win32 configuration file to 'fakenesw.cfg'
Fixed several input configuration bugs.
Build system & code changes:
Updated and added copyright messages.
USE_CONSOLE changed to ALLEGRO_USE_CONSOLE to solve compilation problems (Mac OS X).
Encapsulated datafile 'fakenes.dat' into build.
Replaced all references to `NULL' with `NIL' to avoid compiler conflicts.
Added object file suffixes to the build system (all platforms).
Changed binary installation location from '/usr/bin' to /'usr/local/bin' (POSIX)
Allegro compatibility fixes.
Cleaned-up, overhauled, and optimized most GUI-related code.
Added code to prevent registering conflicting digital directions in input.
Added ability to use `usleep' instead of `yield_timeslice' in speed throttling.
GUI changes:
Repaired all key mappings.
Various GUI dialog enhancements and fixes.
Added GUI patch manager with Game Genie support only.
Added platform-specific video driver selection menus.
Added multiple message system and input chat capabilities.
Added input configuration dialog.
Fixed various bugs related to repeated initialization of the GUI.
Added GUI messages (log file) viewer.
Added GUI toggle for the 'swap_channels' configuration file setting.
Added GUI audio mixing speed selection menu.
Added fast (passive) automatic blitter selection.
Fixed default palette not being selected at startup.
Improved operation of Video > Palette menu items.
Video output changes:
Added 15- and 16-bit color depth support.
Added 25% and 50% scanlines (currently very slow).
Added several new resolutions, including 512x480 (for windowed mode).
Added Super 2xSOE and Super 2xSCL anti-aliasing blitters.
Added simple interpolated blitter.
Fixed behavior of the 'last_blit_line' configuration file setting.
Added keys to adjust light (palette intensity) from inside the emulation.
PPU rendering changes:
Minor optimizations to background rendering.
Memory mapper support changes:
Cleaned up and extended IRQ interface.
Improved IRQ support in MMC3, MMC5, and Bandai mappers.
Fixed MMC5 IRQ generation (greatly improves many games).
Added MMC5 WRAM automatic size detection.
Minor corrections of MMC3 behavior when no CHR-ROM is present.
Audio rendering & output changes:
Changed default sampling rate to 96 kHz and buffer length to 6.
Version 0.2.0
====--
Miscellaneous changes:
Added fast zero-page memory access to CPU emulation.
Eliminated some obsolete return values in CPU emulation.
Changed the CPU execution dispatcher to be inline to the main execution loop.
Fixed a serious bug in address wrapping of ROMs that weren't an even power of 2.
Fixed a bug which caused executed-frames counter to only count unrendered frames.
Improved POSIX base support and the autoconf-based build system.
Implemented loading of ROMs from ZIP files, must be the first file.
Fixed a serious bug in video mode initialization.
Video output changes:
Added the ability to specify blit region, to hide vertical scrolling.
Added a toggle to the Options > Video menu in the GUI for 'force_window'.
Added 2xSCL blitter (similar to 2xSOE, only better and slower).
Improved the overall performance of basic blitting routines.
PPU rendering changes:
Moved checks for sprites/background enabled outside of drawing loops.
Altered cache-preloading in display rendering.
Memory mapper support changes:
Fixed a serious addressing bug in Bandai mapper.
Fixed a serious IRQ timing structure bug in Bandai mapper.
Added FFE F3 series (iNES mapper 8) support.
Added Konami VRC6 and VRC6V (iNES mappers 24 and 26) support.
Added preliminary MMC5 (iNES mapper 5) support.
Implemented partial ExSound support for both VRC6 and MMC5 mappers.
Audio rendering & output changes:
Fixed initialization accepting a null driver, causing the emulator to freeze.
Added random noise addition dithering for low quality output.
20040719
- (dtucker) OpenBSD CVS Sync
- henning@cvs.openbsd.org 2004/07/18 12:59:41
[client.c ntp.c ntpd.h ]
query interval scaling, episode II
1) base the interval calculation on the offset from the last reply, not
from the last peer update.
Allows us to send more queries again faster when the local clock
diverges too much
2) every time we form a peer update (for which we need 8 replies)
check wether we have a ready peer update for all peers that are
currently trusted, and if so, calculate the total offset and call
adjtime().
that means that adjtime is no longer called in fixed intervals
but whenever we have enough data to reliably calculate the local
clock offset.
In practice, that means we call adjtime() less often, but with
probably better data.
3) invalidate peer updates after beeing used. no point in re-using them
- this resulted in calling adjtime() multiple times with the same
offset, which doesn't make sense
tested by many
- henning@cvs.openbsd.org 2004/07/18 13:26:53
[client.c server.c ]
there are a few recvfrom(2) errors we do not want to panic on
The auto nice daemon activates itself in certain intervals and renices
jobs according to their priority and CPU usage. Jobs owned by root are
left alone. Jobs are never increased in their priority.
TODO: Create RCD script.
WARNING: I hate patch-xx overhead, for this reason I SED some files. And
there's one "ugly" patch to work with NetBSD. This must be also revised.
picture should have own settings for mode and period. ChBg have nice
configuration UI writen by using of GTK+1.2x libraries. Can handle
configuration files simply created by graphical setup or can by started by
using of commandline parameters. ChBg now can act as screensaver (use
-screesaver option) or can be used as xscreensaver hack (use option
-xscreensaver). ChBg can do slideshow of pictures in own toplevel window ,
or you can redirect it to foreign windown with known windowid. ChBg have very
good picture viewing facilities with thumbnail previews and slideshow option.
From thumbanil preview windows you can remove, rename, scale selected images
or change formats of selected images.
It runs with Gnome, KDE and Nautilus.
20040718
- (dtucker) [Makefile.in] Create privsep directory and warn if _ntp group/
user do not exist.
- (dtucker) [defines.h] Mac OS X needs IOV_MAX defined too. From kinetik at
orcon.net.nz
- (dtucker) [configure.ac] Die screaming if we can't find getaddrinfo.
- (dtucker) [defines.h] Use "#if defined(..) not "#if (..)".
20040717
- (dtucker) [configure.ac] Import --with-ssl-dir checks from OpenSSH
Portable, configure will now automatically find libcrypto in its default
location.
- (dtucker) [ntpd.conf] Make more like OpenBSD's, but select 3 servers from
pool.ntp.org by default rather than use the "servers" directive.
GNU JAF is a framework for declaring what beans operate on what MIME type data.
Content handler beans can be defined to handle particular MIME content. The JAF
unites internet standards for declaring content with JavaBeans?.
The JAF defines two mechanisms within the framework. The first, the file type
map, specifies the MIME content type for a given file. The default
implementation of this uses the UNIX mime.types format to map filename
extensions to MIME types. The second mechanism, the command map, specifies
the actions that can be applied to a given MIME content type. The default
implementation of this uses the standard mailcap format to map actions to
JavaBean? classes. These beans can then view, edit, print, or perform
whatever other action is required on the underlying resource.
OpenNTPd is a free implementation of the Network Time Protocol.
It provides the ability to sync the local clock to remote NTP servers and
can act as NTP server itself, redistributing the local clock.
OpenNTPd is primarily developed by Henning Brauer and Alexander Guy as part
of the OpenBSD Project. The portable version is made by Darren Tucker.
The software and is freely useable and re-useable by everyone under a BSD
license.