* Add audio2tape and tape2wav utilities to convert between audio
and tape formats
* Remove use of mmap()
* Beta BASIC support for listbasic
* Win32 fixes
* Man page fixes
* New features:
* Add +D disk interface support
* New floppy disk controller emulation for +D and Beta disk
interface emulation
* Add Pentagon 512 and Pentagon 1024 emulation
* Add Hi-Fi beeper for improved reproduction of multi-channel beeper
tunes (e.g. Fairlight 2, Wham - the Music Box)
* Add support for saving tape images without using tape traps
* Add support for loading from WAV tape images
* Add support for saving CSW tape images and TZX direct recording
blocks
* Allow distinction between "soft" resets (activating the reset line
on the Z80) and "hard" resets (pulling the power)
* New ALSA sound driver
* AmigaOS support
* MorphOS support
* Emulation core improvements
* Machine specific improvements
* Various other minor bugfixes
* Add support for loading from WAV files
* Add support for CSW tape files
* Tweak timings for TC2048 and TC2068
* Add support for the +D in z80 and szx snapshots
* Add Pentagon 512/1024 support
* Allow Amiga version to decompress files with xfdmaster.library
* Allow MorphOS version to use xfdmaster.library
* Various other bugfixes
0.8.7:
GBA: DMA registers were being saved as 32-bit arrays instead of 16-bit arrays in save states, potentially causing memory
corruption, and broken save states on big endian platforms. Fixed.
NES: Removed the AltiVec resampling code, as it causes problems on the PS3, and possibly other PPC chips, and I don't have
a PowerPC machine to test it on. The NES sound filtering code will be rewritten in 0.9.0, anyway.
GBA: Fixed a startup crashing bug on big-endian platforms.
Changed instances of fprintf() in mempatcher.cpp to trio_fprintf() to work around major issues with pre-C99 standard C libraries.
GBA: The Load() function was returning a largeish integer, instead of 1, after successfully loading a ROM image. Fixed.
0.8.6:
PCE: Removed a statement, that was used for debugging, that broke PC Engine multiplayer support in 0.8.5. (I'm not sure
how it got there in the first place...).
variable so that at least the compat* NetBSD packages will honor it.
This allows the compat40 packages to find their distfiles, located under
LOCAL_PORTS/20071230.
patch-ac was wrong since __NetBSD_Version should have been
__NetBSD_Version__. Also the NetBSD compat getdirentries() returned struct
dirent12s having 32 bit ino_t and not the included struct dirent having 64
bit ino_t.
The changes between release 0.4.6 and 0.4.6.1 are mostly focused on documentation
updates, to reflect new releases of guest operating systems:
* OpenBSD 4.2 has been released. OpenBSD/landisk 4.2 works in GXemul.
* NetBSD 4.0 has been released. The installation instructions in GXemul's
documentation have been updated to reflect this.
o In most cases this simply means that NetBSD 4.0 should work,
in addition to NetBSD 3.1.
Some specifics worth mentioning are:
o For NetBSD/pmax, the change from 3.1 to 4.0 means that X Windows is now
working again out-of-the-box. (Simply run startx as root to start X.)
o For NetBSD/arc, the supported version has jumped from 1.6.2 to 4.0.
o NetBSD/landisk has been released, and works in GXemul.
o NetBSD/prep is unfortunately still at NetBSD 2.1.
o In some emulation modes, such as evbmips, hpcmips, and perhaps some more,
NetBSD 4.0 uses the clock in a way which is not yet implemented in the
emulator. (NetBSD 4.0 works, but NetBSD 3.1 worked better.)
o (I have not tried some of the "heavier" emulation setups, such as
NetBSD/sgimips.)
+ More than 25% emulation speedup vs Bochs 2.3.5 release!
+ Up to 40% speedup vs Bochs 2.3.5 release with trace cache optimization!
- Lots of bugfixes in CPU emulation
- Bochs benchmarking support
- Added emulation of Intel SSE4.2 instruction set
and others, please review the CHANGES file.
and netbsd32_compat40 packages. The compat40 packages are currently
built by comparing the 4.0 release against the 20071230 version of
HEAD.
Commit approved by <agc>.
Emulate the speaker port's refresh clock bit. This is supposed
to toggle between 0 and 1<<4 every 15 microseconds. XXX: We use
gettimeofday() in the real machine instead of a monotonic clock
in the virtual machine, and we are a bit sloppy about the 15
microseconds. This should be good enough for crude loops that
measure approximate delays by counting how often this line toggles.
Bump PKGREVISION to 1
0.8.5:
Fixed a crashing bug when loading an uncompressed file and using the automatic IPS-patching feature when mmap() is available.
PCE, PC-FX: All SCSI CDROM commands are now logged in the debugger's log viewer(when logging is enabled, of course).
Added group support to the debugger's log viewer.
PC-FX: Renamed the type of BIOS ROM font calls in the debugger's log viewer from "BIOS" to "ROMFONT".
PC-FX: BIOS filesystem syscall(for backup memory access) calls are now logged in the debugger's log viewer.
PC-FX: Added internal backup memory and external backup memory address spaces to the debugger's memory editor.
PC-FX: In the 263-line mode, line 262 is now reported as being during blanking time(as on a real PC-FX). Fixes the annoying transparency layer
flickering and other weird graphical glitches in Der Langrisser FX.
Added setting "filesys.disablesavegz", to disable gzip compression when saving save states and backup memory.
(In the case of backup memory, disabling gzip compression isn't supported for GB yet)
0.8.4:
PC-FX: Some RAINBOW registers weren't being reset on emulated system reset. Fixed.
PC-FX: Added dummy support for the external bus reset register.
PC-FX: Altered the way garbage data is handled by RAINBOW to fix a graphics bug in the Tengai Makyu options screen.
PC-FX: Reworked a large part of the KING SCSI emulation code, and parts of the CDROM device emulation code. Previously non-working-at-all games
"Battle Heat" and "Tengai Makyu" work now.
The non-anime game mode in "Tyoushin Heiki Zeroigar" works now. "Der Langrisser FX" no longer locks up if you skip the intro movie.
"Yuna FX" no longer locks up in one of the intro movies.
These changes will cause some save state incompatibilities with previous versions of Mednafen.
(Some of the SCSI changes also affect the PCE CDROM emulation, which may also result in save-state incompatibility issues, particularly if
the save state occurred during a CDROM data transfer operation.)
PC-FX: Added setting "pcfx.cdspeed". If you want to change this, read the documentation first!
Cleaned up the video deinitialization code slightly, and fixed a few bugs in the OpenGL deinitialization code.
PC-FX: Reads from the dummy KING register 0x07 will now return 0xFF, per the devkit docs.
PC-FX: Reads from KING register 0x0B will now return the "DMA end" bit in D0 set correctly(at least, according to the developer docs).
Fixed a compilation error after running configure with --disable-nes.
PC-FX: Reads from I/O port 0xFC0 will *now* return the current timer counter value. The switch statement mask value was wrong...
Removed the warning in the documentation about error correction of raw data track rips, as Mednafen will now perform simple correction
using the EDC and L-EC data(since 0.8.4-rc3). This could conceivably cause problems with naive hacks/translations/patches that neglect to update
the EDC and L-EC data, so it can be disabled by setting the setting "cdrom.lec_eval" to 0.
L-EC correction is based off code from dvdisaster(http://dvdisaster.net/).
PCE, PC-FX: Removed some debug printf()'s that were left in 0.8.4-rc3 by mistake.
0.8.4-rc3:
PCE: Added preliminary(it works, but the code needs to be cleaned) ADPCM support for HES rips.
PCE: Interrupts will be enabled with a CLI after a HES' init routine is called, to fix rips that neglect to do it themselves.
PCE: Added support for HES rips that try to write data where it really shouldn't be written(some CD-ROM game rips do this), though a warning
will be printed the first time this occurs after loading.
PCE: Added sanity checks to the HES loader to prevent crashes if invalid data is present.
PCE: Reads from the I/O port will now return D7 as clear when emulating a PCE CD game.
PCE: ADPCM RAM is now reset(to 0) on emulated PCE reset.
PCE: Sprites trying to pull tile data from $8000-FFFF of VRAM will now be invisible(probably not correct, but trying to emulate indeterminate
effects is too difficult :b). Fixes a minor sprite garbage issue in Camp California.
PCE, PC-FX: Fixed VRAM DMA source/dest increment/decrement bits(the source and dest were flipped). Fixes a problem with Fushigi no Yume no Alice.
Moved some code in the source root directory to appropriate subdirectories.
Added setting <system>.debugger.disfontsize, valid settings being "xsmall", "small"(default), "medium", and "large", to control the font
size used to draw the disassembly text. Note that there may be overlap with other parts of the debugger at font sizes larger than the default.
Refactored a few address space and register group debugger support functions out of individual system code.
Fixed various low-impact memory leaks.
The version of Mednafen last run is now stored in the configuration file as a comment(this will be necessary for changes in 0.8.5 or later
that will involve proper escaping/unescaping and quoting of strings, to prevent problems with extra whitespace added by manually editing
the configuration file).
Fixed state rewinding on big-endian machines, and removed some unnecessary operations from the state rewinding code path.
Mednafen will now refuse to try to load ROM images larger than 64MiB, as a sanity check.
mmap() and madvise() will now be used to load ROM images, assuming they're available(UN*X only, generally).
Errors during automatic IPS patching are now fatal.
Sped up loading gzip'ed ROM images.
Removed a global variable from the NES emulation code that had invaded state.cpp. Though, this makes the error message when trying to use
save states with authentic Game Genie emulation very unhelpful...
GBA: Added support for loading a real GBA BIOS ROM image, using the setting "gba.bios".
GBA: Added the ability to specify the backup memory type for games by creating a file with the same name as the ROM image,
with the extension replaced with "type", in the "sav" directory under the Mednafen base directory.
Example: SexyPlumbers.gba -> SexyPlumbers.type
One or more of the following strings(on separate lines) may appear in the file:
sram
flash
eeprom
sensor
Additionally, the flash size can be specified by specifying the size(real size, or divided by 1024) after the type, like "flash 128" or
"flash 131072".
PCE: Improved noise LFSR and volume emulation, thanks to cgfm2 for the detailed information.
0.8.4-rc2:
Added meaningful descriptions to the command.* settings.
PC-FX: Added an experimental feature to use mmap() to create a virtual 32-bit address space to speed up V810 instruction reads.
Enable by setting "pcfx.use_mmap" to 1. Of course, it won't work on 32-bit CPUs! Please read the documentation, there are caveats!
PC-FX: Removed some redundant logic in the KING BG 8x1 drawing functions.
PC-FX: FX VCE and VDC port access are now emulated as 16-bit, as in the real PC-FX, instead of 8-bit.
PC-FX: Altered the debugger's memory peek and disassembly functions to not read the emulated memory map in the 0x80000000-0xEFFFFFFF region.
(Reading those addresses can cause side effects, and this is a temporary workaround)
PC-FX: Changed the V810 memory read handlers to read RAM faster than BIOS ROM. This will probably increase host CPU usage while in the BIOS
loading screen, but decrease it in the actual game.
PC-FX: Altered the V810 opcode fetch logic to do 16-bit reads instead of 32-bit, fixing potential crash issues
when Mednafen is run on CPUs that don't support unaligned memory accesses.
PC-FX: Factored-out a few address masks in the memory read and write handlers.
PC-FX: Replaced most of the V810 signed-variable bit-size converting code that uses conditional branches to code that uses 2 shifts,
taking advantage of modern 2's-complement CPU's arithmetic right-shift capabilities. It reduces generated machine code size slightly,
and should provide a slight speed boost as well.
PC-FX: Optimized V810 address mode decoding by removing an unnecessary conditional jump.
Added an important warning to the documentation regarding Mednafen's ripped CD image support:
Mednafen does *not* correct bit errors in the user data of "raw" data track rips. It is strongly recommended to use
"cooked" data track rips(2048 bytes/sector for mode 1, not counting any subchannel data) with Mednafen.
PC-FX: Improved exception handling, and added untested emulation of the TRAP instruction.
Debugger: Rewrote the memory load and dump functions to be faster, and also to fix a bug in the load function that would
trash memory if the user tried to load more data than the specified file contained.
Debugger: Using the Goto function will no longer cause memory edit mode to be exited.
Debugger: Fixed a bug that occurred when entering a prompt(goto, change charset, etc.) while in editing mode, that caused
keyboard focus to be misdirected.
SexyAL: The ALSA driver will try to set smaller period sizes when lower playback rates are used.
GBA: Changed the heuristics used to detect SRAM/Flash usage, though they're still not perfect...if a game tries to use flash
memory improperly, it could be detected as using SRAM instead, or silently corrupt parts of flash memory...
GB: Fixed sound register initialization on reset, fixes missing sound in A Boy and His Blob
GB: Slightly increased the contrast of GBC colors.
GB: Reworked blitting of mono GB colors for future features.
GB: Removed a redeclaration of a variable in the same scope in a function in gfx.cpp.
Debugger: Fixed PCE VRAM breakpoints to work with block memory transfer instructions.
Debugger: Fixed parsing of single-address breakpoints after range breakpoints.
Mednafen will now print out SDL version information when it starts.
(The Win32 build will now be distributed with SDL 1.2.12)
Debugger: Fixed -/+ opacity adjustment to not be done when entering text(such as in a dialog).
Debugger: Fixed null termination of the ASCII string buffer displayed in the memory watch section.
PCE, PC-FX: Fixed the frequency of the highest-frequency noise generation register setting, hopefully!
PCE, PC-FX: Changed the LFSR to 16-bit, and to use a maximized tap configuration, to make the noise sound a bit closer to a real
PC Engine's(at least, in my opinion! It still sounds slightly more bassy than a real PC Engine, but that might be due to filters
on the PC Engine's sound output...).
Non-power-of-2-sized-textures will not be used when a pixel shader is selected and enabled, to prevent a severe graphical corruption
regression introduced in 0.8.3-beta. I'm not sure if it's a problem with Mednafen's pixel shaders or the graphics card...
SMS: Fixed soft reset.
SexyAL: Removed smallc.c, and modified the OSS driver to use snprintf() instead of the single function smallc.c provided.
SexyAL: "sexyal.h" is now included before all other header files.
SexyAL: Revamped parts of the ALSA driver to fix reported lockup issues under certain conditions.
0.8.4-rc1:
Added preliminary support for inputting text directly into the selected address space in the debugger's memory editor.
Moved the temporal video blurring code in mednafen.cpp to vblur.cpp
Added settings "filesys.snap_samedir", "filesys.sav_samedir", "filesys.state_samedir", and "filesys.movie_samedir", default 0, that when
set to 1, will read/write the respective files from/to the same directory the game was loaded from. If you want
to use these, PLEASE read the documentation first, there are caveats!
PCE CD, PC-FX: Added support for MS WAV file offsets and lengths in TOC files.
PCE CD, PC-FX: Fixed a bug that caused CD-DA playback to be off by one sector(the first sector specified was being skipped).
Began work to allow settings to be temporarily overridden during netplay and movie playback.
PCE, PC-FX: Added settings "pce.disable_softreset" and "pcfx.disable_softreset", default 0, which when set to 1 will disable
simultaneous pressing of RUN and SEL. The current implementation kind of abuses the driver-side code that disallows opposing diagonal buttons
being pressed at the same time, so if we ever change that (undocumented) feature to go with the last-pressed direction rather than
clearing both, the description of these settings in the documentation will need to be updated.
PCE CD, PC-FX: Read operations and CD-DA playback will now be stopped when the RST signal is asserted(fixes soft reset issues on PCE CD
games).
0.8.3-beta:
Fixed an OpenGL function typedef in drivers/opengl.h.
PC-FX: Writes and reads to the KING and FXVCE chips "mapped" in parts of 0xA0000000 through 0xBFFFFFFF will now go through the respective
data port write handlers, instead of directly to KRAM or palette RAM.
If non-power-of-2-sized OpenGL textures are not available, and bilinear interpolation or a pixel shader is enabled, and the emulated
system resolution changes(such as on the PCE), two lines of black pixels will be written to the texture buffer to prevent the display
of multi-colored garbage at borders, though the right+bottom borders will still be slightly darker than they should be...
PC-FX: Added support for VDC data port writes via writes to 0xB4000000-0xB7FFFFFF and 0xB8000000-0xBBFFFFFF in the V810's
memory map. Fixes major graphical problems in "Super Power League FX".
Updated the srwcompressor description in mednafen.cfg.
PC-FX: KING BG1-3 scroll registers are now emulated as 10-bit instead of 11-bit(BG0's are still 11-bit), and BG1-3 virtual
screen size is now limited to 512x512(BG0 is still 1024x1024), per the official developer documents.
Non-power-of-2-sized OpenGL textures will now be used if the "GL_ARB_texture_non_power_of_two" extension is detected.
Fixed a bug that sometimes would cause black screens when using the "sdl"(non-default) video driver(SDL surface per-pixel alpha blending
was enabled when it shouldn't have been).
PCE: Fixed a line clearing bug when BG is disabled that was causing some minor graphical garbage on some games that
use multiple horizontal resolutions per frame.
Changed some nonsensical #ifdef statements that were intended to always evaluate as false with "#if 0".
Renamed SYSTEM_CLOCK to System_Clock in scsicd.cpp to work around a potential macro conflict on OSX.
PC-FX: Added partial support for NEC's "scan" SCSI command, used in the BIOS' CD-DA player screen.
PC-FX, PCE CD: Revamped parts of the subchannel emulation code. The PC-FX BIOS CD player screen's time display works now. Also, an important
note regarding cdrdao "TOC" files and "RW_RAW" subchannel data was added to the documentation.
PC-FX: Fixed a bug in the KING BG0 scrolling+rotation code for 16-color and 4-color backgrounds with BATs that was causing graphical
corruption in the PC-FX BIOS CD player screen.
Fixed a compilation error when --disable-debugger was passed to the configure script.
0.8.2-beta:
Added blargg's experimental blz compressor, for use with state rewinding(change the setting "srwcompressor" to use it).
(This was added a while back, after 0.8.1, but I forgot to document it)
SMS,GG: Added missing default key configurations.
PC-FX: Added untested emulation of scaling+rotation in 4-color KING BG mode.
PC-FX: Added emulation of scaling+rotation in 16-color KING BG mode. Fixes a problem with the background in the last stage of Zenki.
PCE: Added VRAM size constants to the beginning of vdc.cpp, and modified the code to use them, to allow a certain crazy person to compile
a custom version of Mednafen which emulates extra VDC VRAM.
PCE: Removed 0xEB as SBC immediate in the disassembler(it was left over from the 6502 disassembler).
Changed setting type of setting "vdriver" to a string, with possible values "opengl" and "sdl"(and "0" and "1" for backwards compatibility,
of course).
PCE: Set the default char set in the debugger's memory viewer to shift_jis.
PCE: Fixed a missing #include <iconv.h> in debug.cpp.
2007-6-17:
PC-FX: Improved VCE<->VDC<->KING scanline timing to fix a lockup issue in Anime Freak Vol 4(polling the FX VCE raster counter register
vs VDC VBlank IRQs). Unforunately, this change has caused some 1-line graphical glitches in games that do "raster effects". This
may be solved once/if V810 emulation has accurate cycle counts, which would require emulating instruction cache and prefetch logic. -_-;
Fixed branch traces display in the debugger, it was broken to only display half of them twice sometime since 0.8.1.
PC-FX: Optimized RAINBOW JPEG-like decoding by using a static implementation of bit fetching functions(instead of a class).
PC-FX: Added untested emulation of the CAXI V810 instruction.
PC-FX: The RAINBOW transfer block count register is now emulated as being 5-bits instead of 16-bits, fixes screen issues(blue blue!)
after defeating the snake monster in Zenki.
PC-FX: If a KING BG is set to BAT+CG mode, but is missing a BAT fetch microprogram, it will now be drawn in CG mode(previously, the BAT
data was simply being forced to 0, which was wrong). It's confirmed on a real system. Fixes missing graphics in "Tonari Princess no Rolfee".
PC-FX: Fixed transparency testing with 16M color KING backgrounds(only 1 Y component of every 2 pixels was being checked, now
both are checked).
PC-FX: Implemented back cellophane support. Fixes fadeouts in "Lunatic Dawn", fadeins in "Team Innocent", and screen darkening issues
during dialogue in "Last Imperial Prince"(and also exposes a bug that LIP probably has on a real system too, wherein CCR isn't reset
to black after the dialogue is over, leaving the upper and lower parts of the screen outside the play area slightly dark greenish).
The hindmost color when mixing the layers is now set to palette entry #0, except when all layers are disabled(set to black),
or front cellophane(set to black) or back cellophane(set to value in CCR) is enabled.
PC-FX: Added emulation of the expansion backup RAM. While not particularly necessary since Mednafen already emulated backup memory
separately for each game, it does give a few extra save slots to some games(such as Miraculum ^_^).
Added opacity control(-/+) to the debugger.
Added an always-on zero page view to the CPU debugger for NES and PC Engine.
Reduced the size of the game thread event queue to a somewhat saner size, and added extra buffering so that its mutex is only locked for
a minimal amount of time to eliminate the chances of deadlock with this mutex.
GBA: Fixed a bug that caused only half of the legacy wave sound channel's sample data to be saved.
GB: Updated to Gb_Snd_Emu 0.1.5, fixes hanging note problems on some games, and cleaned up the sound save state code.
2007-5-30:
Added preliminary Sega Master System and Game Gear emulation based off of SMS Plus.
Factored the remaining state rewinding code out of the individual systems' code.
Fixed a minor visual bug when using state rewinding(also with save states, but it's not really visible) with the NTSC blitter.
Simplified how state rewind requests are passed to the emulation code, and fixed a small bug when using state rewinding with
frame advance(now, a rewind will only occur if the state rewind button is held down while the frame advance button is pushed).
Changed a local variable name in selblur.cpp to fix compilation on OS/X(and maybe PPC in general?), thanks to Matt Beaumont
for pointing out the conflict with a definition in altivec.h.
PCE: Fixed cycle counts for BRA and BSR(they were 1 too high).
PC-FX: Reads from I/O port 0xFC0 now return the current timer counter value.
Parameters to MDFNI_Emulate() and the internal system Emulate() functions are now passed through a structure, to allow
for easier future expansion.
PCE, PC-FX: Fixed audio track reading from physical CDs on big-endian platforms.
NES: Fixed a bug that caused an emulator crash if Game Genie-style cheats were enabled at the same time as authentic Game Genie
emulation was enabled.
Added setting "srwframes", which controls the number of save states to keep when state rewinding is enabled.
Debugger: Fixed a bug that caused a crash if a PC breakpoint was triggered while the debugger screen was disabled.
Added an experimental logging feature to the debugger, currently only used by the PC-FX emulation code, to log CD-ROM read commands
and calls to the PC-FX BIOS' glyph bitmap address function, both of which should be quite helpful in translation work...
PCE, PC-FX: Moved the mouse sensitivity adjustments to the driver side to fix mouse emulation with network play and movies
when using non-default pce.mouse_sensitivity/pcfx.mouse_sensitivity settings.
Added a few more entries to the in-emulator help screen.
PC-FX: Increased the keyport latch delay, and added emulation of the PC-FX mouse.
PC-FX: The keyport data ready flag is now reset only on low reads from the keyport data registers.
PCE: Fixed disassembly of the BSR instruction.
NGP: Fixed Z80 emulation cycle counts(they were far too low), and fixed emulation of the EI delay.
GB: Reworked various things, including Z80 interrupt and HALT emulation. GameBoy emulation will be a bit more CPU intensive now,
and save states from older versions won't work with this version(sorry!). These changes could easily break some games, but...at least
"A Boy and His Blob" works now!
GBA: Changed the file type detection code to reduce the chance of false positives.
PCE: Files with the extension "sgx" will now be treated as raw SuperGrafx ROM image files(AKA SuperGrafx emulation will be enabled).
NES: Refactored the file type detection code, so that emulation data structures and memory won't be initialized unless it's
a recognized file type.
NES: NSF(but not NSFE) game/album name, artist, and copyright strings are now trimmed of leading and trailing whitespace.
Added MDFN_trim(), MDFN_rtrim(), and MDFN_ltrim() functions.
WonderSwan: Fixed a buffer overflow bug in the sprite drawing code.
GBA: Flash and SRAM save games are now stored gzip-compressed.
PCE: Fixed raw bytes display of relative branch instructions in the disassembler.
PC-FX: Added CD-ROM data tracks to the memory debugger/viewer, read-only, however.
The selected character set in the memory debugger/viewer will now be saved for that emulated system when exiting.
Fixed text search in the memory debugger/viewer(iconv() was being called before the variables passed to it were initialized, oopsie).
Simplified the scrolling code in the memory debugger/viewer, the line containing the cursor will now always be centered vertically
on the screen.
PCE: Fixed an ambiguous if() statement in huc.cpp in the BRAM emulation code.
GB: Fixed a semi-ambiguous boolean math statement in the cpu emulation code.
Fixed an ambiguous else statement in the throttling code in drivers/main.cpp
NGP: Neo Geo Pocket emulation code is now compiled with -fno-strict-aliasing to work around issues in the TLCS-900h code.
GBA: Removed unused ELF code.
Fixed some implicit conversions of const char * to char *. (stupid putenv() prototype grumble mumble)
<stdlib.h> is now included in "mednafen.h", added notes to README about system header files automatically included,
and removed inclusions of such header files in source code files that include mednafen.h(most do, and should). This change
was brought about by gcc 4.3...it may not be the best way in regards to compile-performance wise, but it is more convenient
and safer than #include'ing the system headers manually(and forgetting to >_>).
Modified instances of "Makefile.am" to stop including the top directory in the include search path, and removed the symlink of
config.h to include/config.h, and fixed the references to "config.h" in intl/Makefile.in.
PCE: Made hes.cpp use MDFN_de32lsb() and MDFN_de16lsb() from endian.cpp.
PCE: Changed some instances of free() to MDFN_free().
GBA: Un-inlined the CPUWriteMemory() function.
GBA: Rewrote parts of the save-game(flash, eeprom, sram) code to make more sense! EEPROM data is now stored with a file extension "eep".
because those NetBSD releases didn't yet support amd64.
Before this change, pkgsrc would still try to install these packages
on amd64 if you manually entered the package directory and ran "make
install" because amd64 supports netbsd-i386 emulation.
PKGNAMEs. The packages in suse91_* and suse91_32_* didn't do that.
One effect of this was that the pbulk framework didn't record the
packages from both directories. It only took the first one, which
happened to be the suse91_32_* (which aren't available for i386). The
others were disarded, so effectively all Linux binary packages were
skipped.
PKGNAMEs. The packages in suse100_* and suse100_32_* didn't do that.
One effect of this was that the pbulk framework didn't record the
packages from both directories. It only took the first one, which
happened to be the suse100_32_* (which aren't available for i386). The
others were disarded, so effectively all Linux binary packages were
skipped.
Ok'ed by jlam.
patch-ar was sourced from http://www.freebsd.org/cgi/cvsweb.cgi/ports/palm/pose/files/patch-SrcShared-EmPalmStructs.h
Changes to patch-ap were determined by getting gcc 3.4 and gcc 4.1.2 to
fight until the bug was forced to reveal itself!
Don't need to bump the revision. Either it built under gcc 3 and worked, or
didn't build at all under gcc 4.
Addresses PR pkg/37188.
XXX this package needs a major cleanup, but since it doesn't work on
modern versions of NetBSD and is for a severely outdated version of
vmware workstation, I'm not going to worry about it too much
09/09/2007 *** v2.9 ***
Updated ROM names for R-Type (Japan prototype) to match MAME v0.112
Updates after MAME v0.118:
- Removed some old fixes for rtypejp (no longer required).
- Added rtypeus and rtypejp fixes for JunoFirst, M72 and RAGE.
- Now incorporates MAME ROM renames for salamand and altbeas4.
See fredette's annoucement for details:
http://mail-index.netbsd.org/port-sparc/2007/09/07/0000.html
>> The new version of tme, 0.6, fixes many bugs in the Sun 3 emulation,
>> and can also emulate a SPARCstation 2. NetBSD 3.x seems to run pretty
>> well on the different emulations.
"immediate" versus "lazy" evaluation of the value. Just explicitly
define a variable (COMPAT_PKG) that holds the value that's needed in
each of the compat* packages, and use it within Makefile.common.
This was an attempt to solve PR pkg/36863, but it doesn't look like
pkglint or lintpkgsrc understand this more straightforward variable
construction either.
* Changes in VICE 1.22
======================
** C128 changes
---------------
- Added 2 MHz mode support (experimental).
- The cursor keys are mapped differently in C64-mode now.
- Fixed C64-mode autostart support.
** VIC20 changes
----------------
- Improved the sound emulation where the 'volume change click' is
concerned, and normalized the audio output level.
** VIC-II
---------
- The VIC-II border mode can be selected now (normal, full, debug).
- Some sprite fixes needed for Krestage 3 demo.
** Drive changes
----------------
- Improved drive LED emulation.
** Unix changes
---------------
- Fixed the "black screen" bug caused by some X11 library security
update.
- Fixed the usb support for bsd based platforms.
- Changed the preferred libdir and docdir for netbsd and freebsd.
- Xaw/XRandR fullscreen mode is supposed to work.
** C1541 changes
----------------
- Fixed some unlynx bugs.
- Better heuristics for making windows managed.
- Automatic detection of timezone parameters.
- Improvements to the builtin WordPad.
- Better signatures support in crypt32.
- Still more gdiplus functions.
- Lots of bug fixes.
may be defined after the inclusion of compat_netbsd/Makefile.common in
a package Makefile. This should fix the problem (reported in private
by Juan Romero Pardines) where the "-extras" packages did not have a
version number in PKGNAME.
This release fixes a few bugs that slipped through when releasing 0.71.
Here a list of the changes:
* Fixed unitialized variable in joystick. (Fixes crashes on Vista and Mac OS X)
* Some bugfixes and speedups to the 64 bit recompiling core.
* Fixed sign flag on soundblaster dma transfers (Space Quest 6 intro)
* Fixed a bug in keyboard layout processing code and fixed certain layouts.
* Fixed Dreamweb.
* Improved speed unlocking when running cycles=max.
* Fixed a crash related to the tab completion in the shell.
* Improved aspect correction code. Should now be like how a real monitor handles it.
* Fixed a bug in the xms status report code. (Blake Stone 1.0 shareware)
* Added a lot more keyboard layouts.
* Fixed crash related to changing the scaler before a screen was created.
* Hopefully fixed compilation on *bsd.
* Enabled auto cpu core selection for recompiling core as well.
* Made the used joystick selectable when 4axis is specified.
* Added some hints for inexperienced DOS users to the shell.
containing the paths to font directories for font packages installed
through pkgsrc. This allows Linux packages that use fontconfig to
locate fonts to actually find them when X11_TYPE != "native".
This should fix PR pkg/35160 and PR pkg/35505.
Bump the PKGREVISION.
of an emulated operating system. Instead of proliferating things like
SUSE_VERSION_REQD, NETBSD_VERSION_REQD, SOLARIS_VERSION_REQD, etc., a
package can say:
EMUL_REQD= suse>=9.1 netbsd>=2.0 solaris>=10
all in one, succinct line.
a separate emulator-opsys.mk file.
The emulator-opsys.mk file defines EMUL_DISTRO and the various *EMUL*DIR*
variables, as well as any opsys-specific variables.
Include this file within compat_netbsd/Makefile.common so that the
*EXEC_FMT variables (defined by the compat*/emulator.mk files) are
defined. This fixes the build of compat* packages.
XXX emulator-opsys.mk will go away in the near future as we do more
XXX appropriate information hiding.
pkgsrc/emulator/compat* and pkgsrc/emulator/netbsd32_compat* packages
to provide the necessary shared libraries to run dynamically linked
NetBSD binaries from the days of yore.
* Add some additional compat* packages for completeness:
compat15, compat20, compat30
* Modify the compat* packages so that "compatNM" only provides files
that aren't in "NetBSD-N.(M+1)". For example, compat12 only provides
files that don't exist in NetBSD-1.3.x, compat13 only provides files
that don't exist in NetBSD-1.4.x, etc.
As a result, if you are running NetBSD-3.0/alpha and want to run a
1.3 dynamically linked binary, there is an automatic dependency
chain that causes the following packages to be installed:
compat13, compat14, compat15, compat16, compat20
There are some deviations from this dependency chain on platforms
that have changed executable formats, e.g. i386, m68, sparc, etc.
However, in general pkgsrc will require that you have the necessary
COMPAT_* options in your kernel to match the installed compat*
packages. This restriction is an artificial one imposed by pkgsrc,
but allows for a single set of distfiles to be used on all versions
of NetBSD.
* Provide compat* package support for every supported architecture
of NetBSD. Verily, it is now possible to run 1.2 binaries on
NetBSD-1.5.3/pc532 by installing the compat12 package from pkgsrc.
Rejoice, one and all!
* The netbsd32_compat* packages mirror the corresponding compat*
packages for use by sparc64 and x86_64 to allow running 32-bit
binaries with COMPAT_NETBSD32 kernel support. The "extras" packages
supply the additional shared libraries from the corresponding release
of NetBSD so that the set of files in /emul/netbsd32 will be complete.
* pkgsrc/emulators/compat_netbsd contains infrastructure files shared
by all of the compat* packages.
- Direct3D support on top of WGL instead of GLX for better portability.
- Many DirectSound fixes.
- Still more gdiplus functions.
- Many crypt32 improvements.
- Lots of bug fixes.
A bugfix release this time, but we couldn't resist adding a few new
exciting features:
* Added a new recompiling cpu core which is easier to port!
* Added a x86_64 and a mipsel_32 recompiling core.
* Fixed hangups on certain platforms after long gameplay of several games.
* Fixed several joystick bugs.
* Improved cdrom support. (fixes for audio, iso and detection.)
* Improved SVGA and VESA. (detection and display)
* Fixed a few textmodes and improved ansi emulation a bit.
* Fixed pcspeaker and certain types of soundeffects.
* Added undocumented mousebackdoor.
* Made mount and imgmount a bit easier to use. (ioctl by default, support
for ~ and ~username, auto size guessing for images)
* Fix a few compilation problems on various hosts and a general code
cleanup.
* Several small fixes that improve compatibility.
- Support for activation contexts and side-by-side assemblies.
- Many more gdiplus functions.
- More messaging support in crypt32.dll.
- Many HTTP protocol handling fixes.
- Lots of bug fixes.
- Uses DatLib v2.21.
- Empty attributes are now ignored (e.g. sha1="")
- Removed cloneof, romof and sampleof fixes from datutil -i
- DatUtil -i, -I and -p now default the output format to CMPro
(in addition to -g, -G and -r which already behave like that)
- Added support for the isbios="yes" of MAME v0.117u2 onwards.
- Empty attributes are now ignored (e.g. sha1="")
- Removed cloneof, romof and sampleof fixes from datutil -i
- DatUtil -i, -I and -p now default the output format to CMPro
(in addition to -g, -G and -r which already behave like that)
- Added support for the isbios="yes" of MAME v0.117u2 onwards.
creating the /emul/linux symlink on a system where /emul doesn't exist.
Problem noted by <wiz> in private email.
Bump the PKGREVISIONs of suse100_base and suse91_base (and also the
corresponding suse32 packages by implication).
_LINUX_MODULES was an old, internal name I used in my development of
the emulator framework that I had renamed to _EMUL_MODULES everywhere,
or so I had thought.
This should fix the problem where the dependencies on suse_* weren't
being converted into dependencies on suse32_* on x86_64 platforms when
building a "linux-i386" package.
current working directory. This should fix problems installing the
suse*_base and suse*_vmware packages as a privileged user.
When this package is installed as a privileged user, the +ROOT_ACTIONS
script is executed from ${WRKDIR}/.pkginstall before the package
metadata directory exists.
binary-only packages that require binary "emulation" on the native
operating system. Please see pkgsrc/mk/emulator/README for more
details.
* Teach the plist framework to automatically use any existing
PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition.
* Convert all of the binary-only packages in pkgsrc to use the
emulator framework. Most of them have been tested to install and
deinstall correctly. This involves the following cleanup actions:
* Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM}
more consistently.
* Simplify packages by using default INSTALL and DEINSTALL scripts
instead of custom INSTALL/DEINSTALL code.
* Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc.
Packages only need to state exactly which emulations they support,
and the framework handles any i386-on-x86_64 or sparc-on-sparc64
uses.
* Remove "USE_NATIVE_LINUX" from pkgsrc. The framework will
automatically detect when the package is installing on Linux.
Specific changes to packages include:
* Bump the PKGREVISIONs for all of the suse100* and suse91* packages
due to changes in the +INSTALL/+DEINSTALL scripts used in all
of the packages.
* Remove pkgsrc/emulators/suse_linux, which is unused by any
packages.
* cad/lc -- remove custom code to create the distinfo file for
all supported platforms; just use "emul-fetch" and "emul-distinfo"
instead.
* lang/Cg-compiler -- install the shared libraries under ${EMULDIR}
instead of ${PREFIX}/lib so that compiled programs will find
the shared libraries.
* mail/thunderbird-bin-nightly -- update to latest binary
distributions for supported platforms.
* multimedia/ns-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
* security/uvscan -- set LD_LIBRARY_PATH explicitly so that
it's not necessary to install library symlinks into
${EMULDIR}/usr/local/lib.
* www/firefox-bin-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
* new style of artifacting
* corrected PMG in bizarre ANTIC/GTIA modes
* added 128 KB SpartaDOS X cartridge type
* added support for QVGA landscape smartphones, added the virtual keyboard
* new command-line option "-win32keys" for keyboard layouts different from US
* MS-Win: run the emulator in a window ("-windowed" on the command line)
* middle button support for ST and Amiga mice in X11 and MS-Win targets
- A number of gdiplus functions.
- More complete pdh.dll implementation.
- Support for MSI remote calls.
- Messaging support in crypt32.dll.
- Lots of bug fixes.
The changes between release 0.4.5.1 and 0.4.6 include, among other things:
o) NetBSD/pmppc can now run in the emulator (with root-on-nfs), on
an emulated Artesyn PM/PPC board.
o) An instruction combination has been implemented for the idle loop
used by NetBSD/arm (cats, netwinder, and iq80321). In plain English,
this means that if the guest OS inside the emulator is not using
any CPU, the emulator should not use much CPU on the host either.
o) Some minor SuperH emulation speed improvements.
o) General code cleanup: Non-working (skeleton) emulation modes have
been removed, to make it easier to maintain the source code in
the long run, and many unused/legacy constructs have been removed.
- Many MSHTML improvements.
- Several improvements to the sound support.
- A number of Winsock fixes.
- Several new supported constructs in the IDL compiler.
- Many Direct3D threading fixes.
- Lots of bug fixes.
0.9 (2007-06-04)
- add support for CMPro XML header skip detectors
- fix handling of zero byte ROMs
- dumpgame: brief option: no ROM/disk info
- mkmamedb: add support for reading Romcenter dat files
- mkmamedb: warn about multiple games with same name
- mkmamedb: create CMPro dat files
- mkmamedb: create mame db or CMPro dat file from zip archives
- ckmame: add option to keep files present in old ROM database
patch to let this build on systems without POSIX AIO.
version 0.9.0:
- Support for relative paths in backing files for disk images
- Async file I/O API
- New qcow2 disk image format
- Support of multiple VM snapshots
- Linux: specific host CDROM and floppy support
- SMM support
- Moved PCI init, MP table init and ACPI table init to Bochs BIOS
- Support for MIPS32 Release 2 instruction set (Thiemo Seufer)
- MIPS Malta system emulation (Aurelien Jarno, Stefan Weil)
- Darwin userspace emulation (Pierre d'Herbemont)
- m68k user support (Paul Brook)
- several x86 and x86_64 emulation fixes
- Mouse relative offset VNC extension (Anthony Liguori)
- PXE boot support (Anthony Liguori)
- '-daemonize' option (Anthony Liguori)
Mednafen is a portable, utilizing OpenGL and SDL, argument
(command-line)-driven multi-system emulator with many advanced
features. The Atari Lynx, GameBoy (Color), GameBoy Advance, NES,
PC Engine (TurboGrafx 16), SuperGrafx, Neo Geo Pocket (Color),
PC-FX, and WonderSwan (Color) are emulated. Mednafen has the
ability to remap hotkey functions and virtual system inputs to a
keyboard, a joystick, or both simultaneously. Save states are
supported, as is real-time game rewinding. Screen snapshots may be
taken at the press of a button, and are saved in the popular PNG
file format.
Due to the threaded model of emulation used in Mednafen, and
limitations of SDL, a joystick is preferred over a keyboard to play
games, as the joystick will have slightly less latency, although
the latency differences may not be perceptible to most people.
on irc.
This version includes video recording, more realistic PSG and SCC
sound, significant optimizations, easier to use game trainers, as well
as a lot of other improvements and bugfixes.
- MSI automation with JScript/VBScript support.
- Various MSHTML improvements.
- The usual assortment of Direct3D fixes.
- Support for a few more exe protection schemes.
- Lots of bug fixes.
* Fix IN timings and floating bus behaviour: fixes Sidewize.
* Fix widget UI pokefinder and keyboard help picture
* Fix crash if fullscreen mode attempted a resolution higher than
the native graphics mode could handle.
* Ensure ABS, MIN and PATH_MAX are available where needed.
* Distribute autoload snapshots.
* Remove flicker when playing back RZX files with embedded
snapshots.
* Remove warnings when building from CVS.
* Avoid crash when reading an invalid TZX file (thanks, crabfists).
* Export the TZX Generalized Data Block functions when building a
Win32 DLL.
* Distribute the hacking/ directory.
* Remove warning when building from CVS.
The changes between release 0.4.5 and 0.4.5.1 include, among other things:
o) OpenBSD/landisk has now had its first release (4.1, 2007-05-01).
Landisk emulation is now stable enough to allow OpenBSD/landisk
to be installed onto a disk image, and run from it.
o) Finally found and fixed an old bug in the address to symbol name
lookup mechanism, which caused some symbols to be missed. Debug
output with -t or -i should now show all symbols.
- Midi support in the CoreAudio driver.
- Mixer support in the Alsa driver.
- A lot of MSI fixes.
- Implementation for most D3DRM functions.
- The usual assortment of Direct3D fixes.
- Lots of bug fixes.
by dsl@, with diagnostic by veego@. compat32.mk overwrites some vars
required to make suse work, but it wasn't overwritting those vars
for the fetch target.
I didn't see that error because I had the distfiles on my DISTDIR.
Support is added via the options framework, to use 32-bit packages
must be used "PKG_OPTIONS.suse=compat32", otherwise it will use
the 64-bit packages by default.
Known packages working are opera (does not require any change in Makefile)
and rar-bin.
Tested by some, closes PR pkg/35477 by Michai Chelaru (which provided
a patch more or less than this one).
* Changes in VICE 1.21
======================
** General
----------
- Added sound recording support.
- Added aiff, iff, mp3 and wav sound dump drivers.
** C128 changes
---------------
- Added digimax support.
- Fixed some minor VDC graphics bugs.
** C64 changes
--------------
- Added MMC64 support.
- Added digimax support.
- Added Action Replay III support.
- Improved compatibility of TFE emulation.
** PET changes
--------------
- Added SID cartridge support.
- Extended the PET REU emulation to include 512/1024/2048KB.
** PLUS4 changes
----------------
- Added SID cartridge support.
- Fixed some minor TED graphics bug.
** VIC20 changes
----------------
- Added SID cartridge support.
** Drive changes
----------------
- Added support for Dolphin DOS 2 & 3 and Professional DOS 1571.
The GUI is partially missing, command line switches have to be used.
** Unix changes
---------------
- New Hungarian translations.
- Fixed some bug in the XAW file selector.
- New fullscreen mode based on XRandR - although restriced to XVideo
HW scaling. See also BUGS.
- Raster synchronization based on openGL extension
`GLX_SGI_video_sync'. See openGL-sync.txt for details.
- Fixed colormap handling on certain Gnome systems (sporadic black
menus, e.g. reported by some FC users).
- ffmpeg support should work again.
** MS-Windows changes
---------------------
- Added Hungarian translations.
- Added giflib/libungif dll support.
** OS/2 changes
---------------
- Fixed a video resource bug that prevented VICE from running.
** Mac OSX X11 changes
----------------------
- Added Gtk+ Port
- Introduced single "smart" Application Bundle VICE.app
- Added command line launcher for Terminal.app and xterm
- Added build scripts for all external libraries and universal builds
of VICE
** AmigaOS changes
------------------
- Fixed some UI dialog bugs.
- Added Hungarian translations.
- Added more (previously missing) UI elements.
- Added native MorphOS icons.
- Fixed for native AmigaOS4 compile.
- Added VBCC build scripts.
- New experimental ppc-warpos port.
- New experimental ppc-powerup port.
** BeOS changes
---------------
- Fixed to also run on ZETA.
- New ppc-beos port.
- Added (previously missing) UI elements.
** Miscellaneous changes
------------------------
- Fixed the setting of illegal filenames.
o) Initial support for "disk overlays" has been implemented. This
enables e.g. simple roll-back of emulated disk contents to a
previous state.
o) Dyntrans bug fixes; code translations on physical addresses that
were offset a multiple of 128 MB from each other could either
cause weird bugs, or translation leaks (leading to unnecessary
dyntrans cache overflows).
o) Some cleanup: The GDB debugging stub support, some dummy machine
modes (TS7200, Walnut, PB1000, and Meshcube), and some dummy or
experimental CPUs (RCA180x and Transputer) have been removed, to
make the emulator slightly more maintainable.
- Broken aRts sound driver now removed for good.
- Many fixes to the Quartz DLL sound support.
- File I/O performance improvements.
- The usual assortment of Direct3D fixes.
- Lots of bug fixes.
* New features:
* Loader improvements: automatically run at full speed while
a loader is in progress and automatically start/stop the tape
when the start/end of a loader is detected.
* RZX 'rollback' support.
* DivIDE support.
* Interface I and microdrive emulation.
* TS2068 support.
* Kempston mouse emulation.
* TZX generalized data block (0x19) support.
* Much improved widget UI, including allowing selection of
filenames.
* Allow SDL full screen mode to be used.
* Add the ability to save 'movies' as collections of screenshots.
* Widget pokefinder.
* Add a simple code profiler.
* New libao sound driver.
* New CoreAudio sound driver.
* New PALTV 1-3x and TV3x graphics scalers.
* Emulation core improvements:
* Improved screen rendering code (now character accurate rather
than line accurate).
* Corrections to write ordering and contention for EX (SP),HL,
EX (SP),IX and EX (SP),IY.
* Corrections to contention for OTIR and OTDR.
* IR contention.
* Flag bits 3 and 5 are copied on all BIT instructions.
* Improved ULA emulation with respect to interrupt length.
* Fix timings of shifted no operation opcodes.
* An interrupt in IM 0 takes 13 tstates to acknowledge, not 12.
* Improved speed control code.
* Support for RZX rollback, including having snapshots and
multiple input recording blocks in input recording files.
* Improved IDE emulation.
* Support for microdrive images.
* TZX Generalized Data Block support.
* Support for Z80Em and CSW tape files.
* Support for the TS2068.
* Support for connected joystick information in snapshots.
* Add interrupt length to timing information.
* Routines to add and remove a block from a tape image.
* Minor feature enhancements.
* Minor bugfixes.
- Support for Xcursor.
- A range of fixes for various installers.
- New builtin xcopy tool.
- The usual assortment of Direct3D fixes.
- Lots of bug fixes.
- Improve register handling and support with XMS.
- Fix some issues with deleting open files.(windows only issue)
- Add dummpy LPT1 class. (windows only issue)
- Improve some of the internal dos commands. (choice, copy and shift)
- Improve ROM area. (for games that use it for random numbers or
overwrite it as some sort of detection thing)
- Improve compatibility of dynamic core by making it handle certain
pagefaults earlier.
- Move internal dos tables around so we have more umb memory.
- Add some dos tables.
- Dynamic core supports io exceptions.
- Move some interrupt handlers to XT Bios locations.
- Add a dynamic fpu on x86.
- Improve fpu on non-x86.
- Trapflag gets strickt priority over hardware IRQs.
- Trapflag support for the dynamic core.
- Add dummy TRx handling.
- Fix a few rarely used character functions.
- Improve auto cycle guessing code.
- Improve and extend the joystick support.
- Add autofire support.
- Improve the mapper so you can map keys to the joystick and vice versa.
- A few game specific video card fixes.
- Fix some 64 bit cpu bugs.
- Add support for certain cdrom detection schemes.
- Improve HSG/Red Book support.
- Improve MSCDEX.
- Improve dynamic core support under intel macs.
- Add basic support for clipper programs.
- Add support for different keyboard layouts.
- Add auto core guessing.
- Fix a few flags bugs.
- Fix a few small cpu bugs.
- Improve soundblaster detection rate by various programs.
- Improve EMS emulation. (allow mapping of non standard regions)
- Improve keyboard input codes on various OS-es.
- Fix problems with filenames having stackdata in them.
- Changed a few basic operations in DOSBox so they take emulated time.
- Improve dos ioctl functions.
- Improve DOS functions when dealing with virtual drive.
- Improve FAT drives.
- Better handling of volume-labels in file functions.
- Image disk cycling capability. (prompt)
- Try to reduce the impact of using an analog joystick.
- Several measures to avoid code invalidation on certain types
of self modification in the dynamic core.
- Add dynamic core memory function inlining.
- A few small mouse improvements. (some games are using things they
shouldn't)
- Add nullmodem emulation.(h-a-l-9000)
- Some small cga and hercules fixes.
- Add more scalers (hq2x/hq3x/sai). (Kronuz)
- Change configuration file loading support. It now supports
multiple configuration files.
- Make dynamic core capable of running some win32s programs.
- Fix and add some rare soundblaster modes. (Srecko)
- Better soundblaster mixer controls. (Srecko)
- Make soundblaster installation under windows much easier.
- Add device control channel handling.
- GEMMIS support (ems under windows).
- Support more colours in win 3. (vasyl)
- Don't show unmounted drives in windows filemanager.
- Fix some bugs in the int13 handler.
- Simulate some side-effects of bios interrupt handlers on flags.
- Add IPX functions needed by netbios.
- Make ports take emulated time.
- Tabcompletion is now aware of the CD command.
- Add suppport for the dac pel mask.
- Fixes to hercules emulation, better detection and bank switching.
- Fixes to tandy emulation, 640x200x16 mode and different sizes bank.
- EGA/VGA memory changes detection for faster rendering.
- Gus 16 bit fixes.
- Many timer improvements.
- Some pcjr fixes.
- Some booter fixes.
- Many small fixes.
----------
- Rejoice for finally having 224 lines and them being shown properly in all
cases.
- IRQ and timing fixes (fixes Chrono Trigger issues, Super Mario World, and
others).
- Fixed bug with certain commandline parameters permanently overwriting
config file settings.
- Fixed bug with loading new ZMVs of a different version.
- Loading ZMV with ROM mismatch prints a message.
- Movie menu now has tabs and only shows proper options when available.
- Slight improvement to the Custom Res functionality.
- Keep4_3Ratio option now only shows when necessary.
- PNG files now use extended height in extended height mode.
- Pausing, rewinding, and fast fowarding are disabled during movie dumping.
- You can now force a movie dump length shorter or longer than the actual ZMV
length.
- Fixed Bilinear Filtering on startup.
- More...
o) SuperH (SH4) emulation is now somewhat more stable.
x) GXemul 0.4.4: A NetBSD/dreamcast Live CD works.
x) GXemul 0.4.4.1: A Linux/dreamcast Live CD also works.
o) PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
run from a disk image. (Installing actually worked before, but the
NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
not implemented correctly.)
o) The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
it is at least better than before (when the timer wasn't really
running at any specific speed at all).
PPF (PlayStation Patch File) is a tool dedicated to all PlayStation
coders and developers out there who are creating PAL/NTSC patches,
trainer options and even cracks for your favourite console system.
With the files in the PPF package you are in the position to make
patchfiles similar to IPS on SuperNES.
This package contains a tool to create PPF patches.
PPF (PlayStation Patch File) is a tool dedicated to all PlayStation
coders and developers out there who are creating PAL/NTSC patches,
trainer options and even cracks for your favourite console system.
With the files in the PPF package you are in the position to make
patchfiles similar to IPS on SuperNES.
- Many Direct3D fixes and performance improvements.
- More comctl32 tests and some bug fixes.
- Compatibility improvements in cmd.exe.
- Still more fixes to builtin OLE.
- Support for process control on Solaris.
- Lots of bug fixes.
(see his ILVSUN3 page http://www.ilvsun3.com/ for more details),
and some others are from skrll and me.
patch-ab: (from skrll)
fix an invalid pointer cast for -fstrict-aliasing
patch-a[cijklmn]: PR pkg/34113 (by me)
- specify -fno-strict-aliasing in Makefiles (for workaround)
- add several casts to appease -Wpointer-sign
- remove a static decl from a global function
- add a cast and remove unused variable
patch-ap: (from Arthur, tweaked by me)
disable "cannot generate keysym" warnings on tmesh startup
patch-aq: PR pkg/33969 (from Arthur)
TME sun3 emulator incorrectly emulates cmp2 and chk2 M68K instructions
patch-ar: PR pkg/34538 (from Arthur)
TME sun3 emulator incorrectly calculates EA with immediate mode
instructions with PC indirect 16-bit displacement addressing
patch-aw: PR pkg/35010 (from Arthur)
sun3 emulator asserts when using stdin/stdout for emulated serial console
patch-ax: PR pkg/35009 (from Arthur)
TME sun3 emulator asserts when running two emulators with ethernet
patch-az: PR pkg/35305 (from Arthur, with some minor tweaks by me)
TME sun3 emulator incorrectly emulates ethernet obie & i825x6 hardware
patch-ba: PR pkg/35309 (from Arthur)
TME sun3 emulator, running without a window manager,
overwrites tmesh prompt
patch-bb: PR pkg/34690 (from Arthur, modified by me)
TME sun3 emulator incorrectly performs: movel sp,-(sp)
(also modify m68k-insns-auto.sh to mark cas instructions CANFAULT)
patch-bc: PR pkg/34571 (from Arthur, modified by me)
TME sun3 emulator doesn't consider floating point infinities to be equal
patch-bd: (by me)
- avoid invalid 32 bit shifts in fb-xlat-auto.sh,
which may cause broken screen fonts when tme is compiled with gcc4
patch-be: (by me)
fix decoding cas instructions
Makefile: (by me)
- add some CONFIGURE_ARGS to avoid invalid shifts more than
(or equal to) variable sizes, which could be problematic on gcc4
- bump PKGREVISION
texi2dvi and texi2html exist, so that configure believes that
the documentation is wanted. Afterwards just patch the Makefile
to not really use those as intended according.
- Many Direct3D fixes and performance improvements.
- Several new features in the builtin cmd.exe.
- Improvements to HTML help support.
- Lots of bug fixes.
01/01/2007 *** v2.31 ***
- Uses DatLib v2.20.
- Added 'prune' option (-p) for removing roms, disk and/or samples
- Added 'incorporate' option (-I) to assist in combining datafiles
17/10/2006 *** v2.30 ***
- Uses DatLib v2.18.
- More intelligent DTD creation when saving in ListXML format
- Added support for game/display (MAME v0.107)
- Added support for game/input/control (MAME v0.107)
- Added support for emulator/build (MAME+MESS v0.101u4 upwards)
- Added support for driver/savestate (MAME v0.101u1 upwards)
- Note: The above changes affect the tab delimited format!
- Added 'delimited.sql' as an example of loading dats into MySQL
16/07/2006 *** v2.29 ***
- Uses DatLib v2.17.
- Fixed bug that caused the DatUtil -g and -r options to crash
11/07/2006 *** v2.28 ***
- Uses DatLib v2.16.
- Fixed bug that messed up internal indices (affected crc matching)
- More intelligent directory scanner (regarding samples and CHDs)
- Removed 64MB file limit from directory scanner (reads 1MB blocks)
01/01/2007 *** v2.20 ***
- Added 'prune' feature for removing roms, disk and/or samples
- Added 'incorporate' feature to assist in combining datafiles
30/12/2006 *** v2.19 ***
- Internal change that only affects MAMEDiff (see note below)
- Improved -dX modes (understands merging despite differing names)
17/10/2006 *** v2.18 ***
- More intelligent DTD creation when saving in ListXML format
- Added support for game/display (MAME v0.107)
- Added support for game/input/control (MAME v0.107)
- Added support for emulator/build (MAME+MESS v0.101u4 upwards)
- Added support for driver/savestate (MAME v0.101u1 upwards)
- Note: The above changes affect the tab delimited format!
16/07/2006 *** v2.17 ***
- Fixed bug that caused the DatUtil -g and -r options to crash
11/07/2006 *** v2.16 ***
- Fixed bug that messed up internal indices (affected crc matching)
- More intelligent directory scanner (regarding samples and CHDs)
- Removed 64MB file limit from directory scanner (reads 1MB blocks)
Or1ksim is a generic OpenRISC 1000 architecture simulator capable of
emulating OpenRISC based computer systems. Or1ksim provides several
unique features:
* Free, open source code
* High level, fast, architecture simulation that allows early code
analysis and system performance evaluation
* All major models of OpenCores peripheral and system controller
cores supported
* Easy addition of new peripheral models
* Remote debugging through a network socket with the GNU Debugger (GDB)
* Support for different environments (memory configurations and
sizes, OR1K processor model, configuration of peripheral
devices)
Changes between release 0.4.3 and 0.4.4 include, among other things:
o) The interrupt subsystem has been redesigned. This means two things:
x) Internal code cleanup, which makes the whole emulator more
maintainable. Instead of using magically encoded integers
for interrupts, strings are now used. These strings are in
the form of "paths", so that devices and busses can more
easily be connected to other busses, devices, or CPUs.
x) Some machine types which happened to work in release 0.4.3,
but were not listed in the documentation as working, may
have stopped working now. As always, the documentation should
indicate the combinations of machine modes and guest OSes that
are supposed to work.
o) SuperH (SH4) emulation is now somewhat more stable, enough to let a
NetBSD/dreamcast Live CD be usable.
o) PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
run from a disk image. (Installing actually worked before, but the
NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
not implemented correctly.)
o) The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
it is at least better than before (when the timer wasn't really
running at any specific speed at all).
- Many Direct3D fixes and performance improvements.
- Several new comctl32 test cases.
- IDL compiler improvements.
- More OLE32 marshalling fixes.
- Lots of bug fixes.
* Changes in VICE 1.20
======================
** General
----------
- New GP2X port.
- New AmigaOS3, AmigaOS4, MorphOS and AROS (x86/ppc) ports.
- Mac OSX X11 port is included in the main distribution now.
- Fixed some unusual CPU opcodes.
** C64 changes
--------------
- Fixed some longstanding RMW to IO area VIC-II DMA timing bug.
- Added Mikro Assembler, Dela EP7x8, Dela EP256 and Rex EP256
cart support.
- Fixed the KCS cart emulation.
- Added swiftlink and turbo232 support.
- Added +256k memory expansion support.
- Added I/O source read collision detection support, making
simultanious use of multiple expansions possible, like on
the real machine.
- Fixed the RR-net address decoding and REU compatibility.
- Fixed a problem with traps using the SX Kernal ROM.
- Some IDE64 ultimax bug has been fixed.
** PET changes
--------------
- Added 128kb REU memory expansion support.
** PLUS4 changes
----------------
- Added 256k csory memory expansion support.
- Added 256k, 1024k and 4096k hannes memory expansion support.
** Unix changes
---------------
- Gnome1 is no longer supported.
- Gnome2 is now supported - everthing except the Image preview with
CBM font should work.
- Gnome 2 port supports dimmable drive LED now.
- Added experimental ParSID support.
- Added support for minix3.
- Fixed some compile problems with the ffmpeg library.
** MS-Windows changes
---------------------
- Added experimental ParSID support.
** MS-DOS changes
-----------------
- Added experimental ParSID support.
** Mac OSX X11 changes
----------------------
- Added support for Intel build.
- Added USB joystick support.
** Miscellaneous changes
------------------------
- Added support for more 3rd party basic extenders to petcat.
- Added a c64/c128 cartridge conversion program (cartconv).
- Added binary distribution (package) creation functionality.
- Fixed a bug in the trap emulation with caused programs probing
devices on the IEC bus to fail.
- Lots of small fixes to the monitor.
- Many improvements to Direct3D shaders and state management.
- Support for inter-process memory allocations.
- OLE32 marshalling fixes.
- Lots of bug fixes.
Included are three new patches to make it compile with gcc4, to
fix a bug in an emulated instruction and to increase the memory
size of the emulated system.
2006-10-27 Hartmut Brandt <harti@freebsd.org>
* version 2.10i
* Remove rl debugging prints
* Fix a problem with IE in the TM CSR (submitted by Mike Haertel)
* get rid of float_t - all *_t identifiers are reserved by posix!
2002-09-03 Hartmut Brandt <brandt@fokus.gmd.de>
* rename libdir to libpath
* libdir is now a colon separated path of directories that
defaults to :/etc:${datadir}/p11
* implement an accessp() predicate to apply access(2) in a list
of directories
* further tweaks to the rpm spec file
2002-09-02 Hartmut Brandt <brandt@fokus.gmd.de>
* p11.spec, p11.sh and some tweaks to build rpms.
2002-08-14 Hartmut Brandt <brandt@fokus.gmd.de>
* main.c: implement daemonizing by specifying the -d option.
* spot a gcc-3.1 error: Use of global registers generates bad
code on the i386 for the MTPI instruction.
Use --disable-regs for these platforms.
2002-03-07 Hartmut Brandt <brandt@fokus.gmd.de>
* float.h (FrExp): the result of this macro should be signed, so
make the exponent signed before subtracting the offset.
Spotted by: Frank Wortner
* proc.h: include <time.h> to get localtime declaration. Spotted by:
imil@home.imil.net.
* README: Add MacOS-X 10.1. Reported by: Christian Groessler.
2001-06-19 Hartmut Brandt <brandt@fokus.gmd.de>
* float.h (GetMant): Replace a u_quad_t by u_xquad_t.
* README: Add Slackware 7.1
Reformat paragraph.
- More work on the new Direct3D state management.
- Debugger support for Mac OS.
- Many OLE fixes and improvements.
- Audio input support on Mac OS.
- Lots of bug fixes.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
- OpenGL in child windows should work again.
- Better mouse support in games.
- Beginnings of new state management in Direct3D.
- Improved audio and font support on Mac OS.
- Lots of bug fixes.
or USE_X11BASE set, but don't include mk/x11.buildlink3.mk directly or
via buildlink3.mks
- introduce BUILDLINK_PREFIX.libXpm as alias for BUILDLINK_PREFIX.xpm
in the !modular case
- fix some cases where the check for libX11 couldn't work at all by using
C++ for compilation without including the proper headers
Verified using a full X11_TYPE=xorg bulk build without additional
breakage. Discussed with salo@, wiz@ and send to packages@ for feedback.
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
Changes in 2.3 (August 27, 2006):
Brief summary :
- limited save/restore support added (config + log options, hardware state)
- configuration parameter handling rewritten to a parameter tree
- lots of cpu and internal debugger fixes
- hard disk geometry autodetection now supported by most of the image types
- hard disk emulation now supports ATA-3 (multiple sector transfers)
- VBE memory size increased to 8MB and several VGA/VBE fixes
- updated LGPL'd VGABIOS to version 0.6a
Detailed change log :
- CPU and internal debugger fixes
- Fixed bug in FSTENV instruction (Stanislav Shwartsman)
- Recognize #XF exception (19) when SSE is enabled
- Fixed bug in PSRAW/PSRAD MMX and SSE instructions
- Save and restore RIP/RSP only for FAULT-type exceptions, not for traps
- Correctly decode, disassemble and execute multi-byte NOP '0F F1' opcode
- Raise A20 line after system reset (Stanislav Shwartsman)
- Implemented SMI and NMI delivery (APIC) and handling in CPU (Stanislav)
- Experimental implementation of System Management Mode (Stanislav)
- Added emulation of SSE4 instructions (Stanislav Shwarstman)
- Save and restore FPU opcode, FIP and FDP in FXSAVE/FRSTOR instructions
- Fixed bug in MOVD_EdVd opcode (always generated #UD exception)
- Fixed critical issue, Bochs was not supporting > 16 bit LDT.LIMIT values
- Many fixes in Bochs debugger and disassembler
- CPU x86-64 fixes
- Fixed SYSRET instruction implementation
- Fixed bug in CALL/JMP far through 64-bit callgate in x86-64 mode
- Correctly decode, disassemble and execute 'XCHG R8, rAX' instruction
- Correctly decode and execute 'BSWAP R8-R15' instructions
- Fixed ENTER and LEAVE instructions in x86-64 mode (Stanislav)
- Fixed CR4 exception condition (No Name)
- Fixed x86 debugger to support x86-64 mode (Stanislav)
- APIC and SMP
- Support for Dual Core and Intel(R) HyperThreading Technology. Now you
could choose amount of cores per processor and amount of HT threads per
core from .bochsrc for SMP simulation (Stanislav Shwartsman)
- Allow to control SMP quantum value through .bochsrc CPU
option parameter. Previous Bochs versions used hardcoded quantum=5
value.
- Fixed interrupt priority bug in service_local_apic()
- Fixed again reading of APIC IRR/ISR/TMR registers. Finally it becomes
fully correct :-)
- Configure and compile
- Moved configure time --enable-reset-on-triple-fault option to runtime,
the 'cpu' option in .bochsrc is extended and the old configure option
is deprecated (Stanislav Shwartsman)
- Removed --enable-pni configure option, to compile with PNI use
--enable-sse=3 instead (Stanislav Shwartsman)
- enable SEP (SYSENTER/SYSEXIT) support by default for Penitum II+
processor emulation (i.e. if cpu-level >= 6 and MMX is enabled)
- general
- Limited save/restore support added. The state of CPU, memory and all
devices can be saved now (state of harddisk images not handled yet).
- Fixed several memory leaks
- configuration interface
- Configuration parameter handling rewritten to a parameter tree. This is
required for dynamic menus/dialogs, user-defined options and save/restore.
- Support for user-defined bochsrc options added
- help support at the parameter prompt in textconfig added
- I/O devices (Volker)
- Floppy
- partial sector transfers fixed
- Hard drive / cdrom
- several fixes to the IDE register behaviour (e.g. in case of a channel
with only one drive connected)
- fixed data alignment of 'growing' hard drive images (sharing images
between Windows and Linux now possible)
- disk geometry autodetection now supported by most of the image types
(unsupported: external, dll and compressed modes)
- multi sector read/write commands implemented
- hard disk now reporting ATA-3 supported
- ATAPI 'inquiry' now returns a unique device name
- Keyboard
- reset sent to keyboard has no effect on the 8042 (scancode translation)
- PCI
- forward PIRQ register changes to the I/O APIC (if present)
- attempt to fix and update the emulation part of 'pcidev' (untested)
- VGA
- VBE memory size increased to 8MB and several VBE fixes
- VGA memory read access fixed (bit plane access and read mode)
- VGA memory is now a part of the common video memory
- System BIOS (Volker)
- enable interrupts before executing INT 19h
- fixed ATA device detection in case of one drive only connected to controller
- improved INT 15h function AX=E820h
- real mode PCI BIOS now returns IRQ routing information (function 0Eh)
- keyboard LED flags handling fixed and improved
- fixed handling of extended keys in INT 09h
- Updated LGPL'd VGABIOS to version 0.6a
- SF patches applied
[1340111] fixes and updates to usb support by Ben Lunt
[1539420] minor addition to pci_usb code by Ben Lunt
[1455958] call/jmp through call gate in 64-bit mode
[1433107] PATCH: fix compile with wxwindows 2.6 (unicode / utf8) by jwrdegoede
[1386671] Combined dual core and hyper-threading patch
- these S.F. bugs were closed
[833927] TTD: System Error TNT.40025: Unexpected processor exception
[789230] Sending code that shows lock up when setting idt
[909670] Problems with Symantec Ghost
[1540241] include missing in osdep.cc
[1539373] Incorrect disasm for "mov moffset,bla" in 64bit
[1538419] incorrect disassembly of [rip+disp] with rex.b
[1535432] shift+cursor key maps to a digit
[1504891] Knoopix 5.0.1 error
[1424355] bochs-2.2.6 ata failure in windoze 98se
[1533979] wrong disassembly of IN instruction
[620059] paste won't stop
[1164904] status bar doesn't show num/caps/scroll lock status
[1061720] ATA Support level for HD
[1522196] Broken CHANGES link in main page
[1438415] crash if screen scrolled downwards
[778441] Shouldn't interrupts be enable after BIOS?
[1514949] I got a problem with the 8253 timer
[1513544] disasm of 0xec (in AL,DX) returns ilen of 2 instead of 1
[1508947] APIC interrupt priority checking and interrupt delivery
[766286] Debugger halts after any GPF exception
[639143] va_list is not a pointer on linuxppc
[1501815] debugger examines memory over page-boundary wrong
[1503978] movsb/w/d doesn't work when direction is stored
[1499405] WinPCap has changed URL hosting
[1498519] APIC IRR bits not set while interrupts disabled
[1498193] Bochs segfaults on LTR instruction
[787140] Guest2HostTLB optimization bug
[1492070] instrument stop
[1487772] No SEP on P4
[1488335] Growing hard disk images severe interoperability errors!
[1076312] Shadow RAM and TLB
[1282249] The real i440FX chipset Award bios hangs
[1479763] mistake "mov ax,[es:di]" for "mov ax,[ds:di]"
[1453575] Misconfigured floppy DMA transfers do not terminate.
[1460068] Incorrect handling for the Options Menu Item
[910203] bochs-2.1.1 wx.lo failed
[1438654] PANIC when trying to run install-amd64-minimal-2005.0.iso
[1458320] compile hdimage.h fails
[1455880] bochs-2.2.6,2: make error on FreeBSD
[696890] Network wouldn't run under W2k hosting MSDOS
[673391] SMP timer problems
[1291059] wxWindows GUI on non-windows/configure issue
[1356450] bochs 2.2.1 errors-omittions
[1178017] Win98 guest cannot receive network packets from host
[1076315] a20_mask after restarting
[1436323] real hw does not panic when bad Ib in CMPSS_VssWssIb
[1435269] cdrom_amigaos is not compilable
[1433314] disasm issues
[1170614] relative jumps/calls wrong in debugger
[758121] user might get confused when interrupt handler invoked
[1170622] You cannot toggle OFF "show" flags
[1406387] JMP instruction should display absolute address
[1428813] PANIC: ROM address space out of range
[1426288] DR-DOSs EMM386 problem
[1412036] Bochs cannot recognize PCI NIC correctly
[435115] dbg: modebp broken and no docs
[1419366] disasm cs:eip does not work anymore
[1419393] SSE's #XF exception -> "exception(19): bad vector"
[1419429] disassembly of "260f6f00" show DS: instead of ES: prefix
[1417583] Interrupt behaviour changed from 2.2.1 to 2.2.5
[1418281] 'push' (6A) incorrectly disassembled
[1417791] FLDENV generating exception when real hw does not.
[1264583] OS/2 1.1 doesn't run
-------------------------------------------------------------------------
Changes in 2.2.6 (January 29, 2006):
- First major SMP release !
- several APIC and I/O APIC fixes make SMP Bochs booting Windows NT4.0
or Knoppix 4.0.2 without noapic kernel option in SMP configuration.
- critical APIC timer bug fixed
- obsolete SMP BIOS images removed (MP tables created dynamicaly)
- determine number of processors in SMP configuration through .bochsrc
new .bochsrc option 'CPU' allows to choose number of processors to emulate
- new configure option --enable-smp to configure Bochs for SMP support,
the old --enable-processors=N option is deprecated
- CPU and internal debugger fixes
- enabled #PCE bit in CR4 register, previosly setting of this bit
generated #GP(0) fault
- enabled LAHF/SAHF instructions in x86-64 mode
- fixed bug in PMULUDQ SSE2 instruction
- fixes in Bochs debugger
- Configure and compile
- enable VME (virtual 8086 mode extensions) by default if cpu-level >= 5
- enable Bochs disassembler by default for all configurations
- win32 installer script improvements
- ips parameter moved to new 'CPU' option
- show IPS value in status bar if BX_SHOW_IPS is enabled
- Other
- several fixes in the hard drive, keyboard, timer, usb and vga code
- new user button shortcut "bksl" (backslash)
- updated Bochs instrumentation examples
- user and development documentation improved
-------------------------------------------------------------------------
Changes in 2.2.5 (December 30, 2005):
Brief summary :
- added virtual 8086 mode extensions (VME) implementation
- several fixes/improvements in x86-64 emulation, debugger and disassembler
- new serial mode 'socket' connects a network socket
- IDE busmaster DMA feature for harddisks and cdroms completed and enabled
- many improvements in Bochs emulated I/O devices (e.g. floppy, cdrom)
- Updated LGPL'd VGABIOS to version 0.5d
Detailed change log :
- CPU
- fixed XMM registers restore in FXRSTOR instruction (Andrej Palkovsky)
- print registers dump to the log if tripple fault occured
- fixed PANIC in LTR instruction (Stanislav)
- added virtual 8086 mode extensions (VME) implementation, to enable
configure with --enable-vme (Stanislav)
- flush caches and TLBs when executing WBINVD and INVD instructions
- do not modify segment limit and AR bytes when modifying segment
register in real mode (support for unreal mode)
- fixed init/reset values for LDTR and TR registers
- reimplemented hardware task switching mechanism (Stanislav)
- generate #GP(0) when fetching instruction cross segment boundary
- CPU (x86-64) (Stanislav Shwartsman)
- implemented call_far/ret_far/jmp_far instructions in long mode
- fixed IRET operation in long mode
- fixed bug prevented setting of NXE/FFXSR bits in MSR.EFER register
- implemented RDTSCP instruction
- do not check CS.limit when prefetching instructions in long mode
- fixed masked write instructions (MASKMOVQ/MASKMOVDQU) in long mode
- fetchdecode fixes for x86-64
- APIC
- Fixed bug in changing local APIC id (Stanislav)
- Fixed reading of IRR/ISR/TMR registers (patch by wmrieker)
- Implemented spurious interrupt register (Stanislav, patch by wmrieker)
- Fixed interrupt delivery bug (anonymous #SF patch)
- Correctly implemented ESR APIC register (Stanislav)
- Bochs debugger
- Fixed bug in bochs debugger caused breakpoints doesn't fire sometimes
(Alexander Krisak)
- watchpoints in device memory fixed (Nickolai Zeldovich)
- new debug interface to access Bochs CPU general purpose registers
with support for x86-64
- Disassembler (Stanislav Shwartsman)
- Fixed disassembly for FCOMI/FUCOMI instructions
- Full x86-64 support in disassembler. The disassembler module extended
to support x86-64 extensions. Still limited by Bochs debugger which
is not supporting x86-64 at all ;(
- I/O devices (Volker)
- general
- memory management prepared for large BIOS images (up to 512k)
- slowdown timer sleep rate fixed (now using 1 msec on all platforms)
- some device specific parameter handlers moved into the device code
- serial
- new serial mode 'socket' connects a network socket (#SF patch by Andrew Backer)
- hard drive / cdrom
- assign a unique serial number to each drive (fixes harddrive detection
problems with Linux kernels 2.6.x: "ignoring undecoded slave")
- geometry autodetection for 'flat' hard disk images added. Works with
images created with bximage (heads = 16, sectors per track = 63)
- ATAPI command 'read cd' implemented, some other commands improved
- cdrom read block function now tries up to 3 times before giving up
- emulation of raw cdrom reads added, some other lowlevel cdrom fixes
- IDE busmaster DMA feature for harddisks and cdroms completed and enabled
- disk image size limit changed from 32 to 127 GB
- split ATA/ATAPI emulation code and image handling code
- floppy
- fixes for OS/2 (patch by Robin Kay)
- disk change line behaviour fixed (initial patch by Ben Lunt)
- end-of-track (EOT) condition handling implemented
- more accurate timing for read/write data and format track commands using
a motor speed of 300 RPM
- timing of recalibrate and seek commands now depends on the step rate,
date rate and the steps to do
- floppy controller type changed to 82077AA
- cmos
- RTC 12-hour and binary mode implemented
- number of CMOS registers changed from 64 to 128
- bochsrc option 'cmosimage' improved
- save cmos image on exit if enabled
- speaker
- simple speaker support for OS X added (patch by brianonn@telus.net)
- pci
- BeOS boot failure fix in the PCI IDE code
- don't register i/o and memory regions during PCI probe
- vga
- memory allocation for vga extensions fixed
- usb
- some bugfixes by Ben Lunt (mouse and keypad are usable now)
- networking modules
- VDE networking module now enabled on Linux
- display libraries
- general
- new syntax for the userbutton shortcut string and more keys supported
- win32
- fixed keycode generation for right alt/ctrl/shift keys
- runtime dialog is now a property sheet
- x11
- simple dialog boxes for the "ask" and "user shortcut" feature implemented
- Slovenian keymap added (contributed by Mitja Ursic)
- configuration interface
- ask dialog is now enabled by default for win32, wx and x display libraries
- bochsrc option floppy_command_delay is obsolete now (floppy timing now based
on hardware specs)
- floppy image size detection now available in the whole config interface
- some device specific parameter handlers moved into the device code
- calculate BIOS ROM start address from image if not specified
- System BIOS (Volker)
- PCI i/o and memory base address initialization added
- several keyboard interrupt handler fixes (e.g. patch by japheth)
- several floppy fixes (e.g. OS/2 works with patch by Robin Kay)
- some more APM functions added
- Updated LGPL'd VGABIOS to version 0.5d
- generate SMP specific tables dynamicly by the Bochs memory init code
- SF patches applied
[1389776] Disk sizes over 64 Gbytes by Andrzej Zaborowski
[1359162] disasm support for x86-64 by Stanislav Shwartsman
[857235] task priority and other APIC bugs, etc by wmrieker
[1359011] build breaks for 386 + debugger + disasm by shirokuma
[1352761] Infinite loop when trying to debug a triple exception
[1311170] small APIC bug fix (interrupt sent to the wrong CPU)
[1309763] Watchpoints don't work in device memory by Nickolai Zeldovich
[1294930] change line status on floppy by Ben Lunt
[1282033] SSE FXRESTORE not working correctly by Ondrej Palkovsky
[816979] wget generalizations by Lyndon Nerenberg
[1214886] No more pageWriteStamp / unified icache by H. Johansson
[1107945] com->socket redirection support by Andrew Backer
- these S.F. bugs were closed
[669180] win95 install : unknown SET FEATURES subcommand 0x03
[1346692] bochs 2.2.1 VGA BIOS error
[1354963] floppy in KolibriOS
[1378204] error: bochs-2.2.1, --enable-sb16, --disable-gameport
[1368412] VDE problems in BOCHS
[533446] CPU and APIC devices appear twice
[1000796] bximage fails to create image of specified size
[1170793] Quarterdeck QEMM doesn't work
[923704] Multiple opcode prefixes don't reflect Trap 13
[1166392] DocBook/documentation issues
[1368239] broken grater than 4GB size of sparse type hd image
[1365830] i386 compile breaks on paging
[427550] Incomplete IRETD implementation
[1215081] MSVC workspace STILL not fixed
[736279] Jump to Task
[1356488] FD change fail & occur error
[957615] [CPU ] prefetch: RIP > CS.limit
[1353866] not booting linux-2.6.14
[1351667] load32bitOSImage does not work with --enable-x86-debugger
[1217476] Incorrect (?) handling of segment registers in real mode
[1184711] OS2 DOS crash [2.2.pre2]
[624330] support for disks > 32GiB
[1348368] bochs 2.2.1 bximage error
[1342081] Configuration Menu option failed
[1138616] OS/2 Warp 4 hangs when booting
[1049840] mouse and video conflict
[1164570] Unable to perform Fedora Core 4 test 1 installation
[1183201] Windows 2000 (MSDN build 2150?) does not completely install
[1194284] Can't boot from CD-ROM (Windows NT)
[962969] Windows NT crashes while trying to intall them.
[1054594] WinXP install halts (redo)
[1153107] Windows XP fails with BSOD on 'vga'
[938518] Win XP installation fails
[645420] getHostMemAddr vetoed direct read
[1179985] MS XENIX: >>PANIC<< VGABIOS panic at vgabios.c, line 0
[1329600] WBINVD and INVD should flush caches and TLB
[638924] eliminate BX_USE_CONFIG_INTERFACE
[1048711] Funny behaviour with CTRL
[1288450] keyboard BIOS error
[1310706] Keyboard - about key SHIFT
[1295981] Ubuntu 5.04 Live-CD won't boot in Bochs
[879047] APIC timer behavior different before reset and after
[1188506] I still can't install the german Windows XP!
[1301847] Windows XP dosn't boot - FXRSTOR problem ?
[661259] does not boot QNX under WinX
[924412] Keyboard lock states all whacked
[681127] MIPSpro compiler (IRIX) is allergic to ^M
[1285923] BIOS keyboard handler
[516639] ATA controller revisited...
[657918] does not boot BeOS under WinX
[649245] BeOS CD locks halfway on boot
[1094385] Attachment for bug 1090339 (beos failure)
[1183196] BeOS 4.5 developer CD does not install
[1090339] BeOS fails to boot
[639484] panics when int 13 is called
[711701] divide by zero
[704295] ATAPI/BIOS call missing
[682856] hard drive problems
[627691] Cursor keys problem
[588011] keyboard not working
[542260] os/2 warp crashes with floppy handling
[1273878] SB16 doesn't work in pure DOS
[542254] OS/2 FDC driver dies
[1099610] Windows 98 SE Does not install
[875479] cr3 problem on task switch
[731423] NE2000 causing PANIC on Win2K detection
[1156155] bochs fails to boot plan9 iso
[1251979] --enable-cpu-level=3 should assume --without-fpu
[1257538] Interupt 15h 83h - set wait event interval
[658396] Panic for DR DOS emm386
[679339] /? doesn't divulge Bochs command-line syntax
[1167016] call/jump/return_protected doesn't support x86-64
[1252432] Mac OS X compile bug
[881442] Bochs 2.1 PANIC when loading DOS Turbo Pascal protected mode
[1249324] Boch2.2.1 Buffer Overfollow in void bx_local_apic_c::init ()
[1197144] 'make install' has dependency on wget
[1079595] LTR:386TSS: loading tr.limit < 103
[1244070] Compilation Error in gui/rfb.cc
[761707] CPU error when trying to start Privateer
[517281] Crash running Privateer in DOS...
to handle this, but it is good (and simple!) enough for now. It'd be
improved by moving some more files around and trying to make it more
consistent with "regular" installs.
The problem is that the build results are completely different under OS X
than those produced in other systems.
Not bumping PKGREVISION because this was unbuildable before.
Changes between release 0.4.2 and 0.4.3 include, among other things:
o) SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast
GENERIC_MD (ramdisk) kernel reach userland.
o) There is now a simple framework for letting emulated clocks, as seen
by guest operating systems, run at the same speed as the host clock.
So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta
(evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes
use the new clock/timer framework.
o) Some changes to the way expressions are evaluated in the built-in
debugger, and some changes in command behaviour:
x) Expressions (including assignments) can now be arbitrarily
complex, using parentheses, and the following operators:
+ - * / % (modulo) ^ (xor) & (and) | (or)
x) Some internal emulator variables can now be read/written using
normal expressions. Examples of commands that did not work
earlier, but should work now:
print verbose
r5 = sp - arch_pagesize * 4
machine[0].statistics_enabled = 1
x) To force a name to be interpreted as a setting/register name,
a hash sign (#) is now used instead of the percentage sign (%).
(In the new expression evaluator, % means arithmetic modulo.)
x) The 'focus' command now also selects a cpu, in addition to
selecting machine and emul.
x) The 'reg' command only prints registers for one cpu now, not
all cpus in the currently focused machine.
o) The wdc (standard IDE controller) had a bug which prevented disk
images larger than 2 GB to work correctly. This has been fixed.
o) For MIPS emulation, some combinations of emulated processor + guest
operating system should now work better when idling (i.e. the host
should not run at 100% CPU):
x) For MIPS32/MIPS64 and RM5200, the 'wait' instruction should
now work more or less as expected.
x) For VR41xx (e.g. MobilePro) emulation, the standby instruction
should work like the 'wait' instruction.
x) For R3000 emulation, where there is no hardware wait instruction,
I've implemented "instruction combination" hacks for both
NetBSD/pmax and Debian/pmax, so that their cpu idle loops are
detected and treated almost as a wait instruction.
o) MIPS 64-bit address translation (X=1) was not fully working before;
TLB exception handling for xkseg and larger-than-2GB-userland should
now actually work. (Thanks to Juli Mallett and Carl van Schaik for
noticing these problems.)
o) The mouse cursor update routines in DECstation (LK201) emulation
previously used the fact that guest OSes set the _hardware_
cursor position. In order to support X Windows when emulating
modern versions of NetBSD/pmax, which don't set the hardware
position anymore, a workaround has been implemented which only
sends relative coordinates to the guest OS. This has two drawbacks:
1. Ultrix emulation with dual- and tripple-head emulation will
most likely feel very strange. It will still work, though.
2. Cursor movement feels "accelerated", because the emulator
sends unaccelerated movements to the guest OS, which then
accelerates them. This can however be compensated to some
degree by running 'xset m 1 0' in the guest OS.
Having weird accelerated mouse movement is better than having no
mouse support at all, so this change was necessary.
- Support for multiple monitors using Xinerama.
- Various MSI fixes and improvements.
- A ton of memory leaks fixed.
- Many common controls fixes.
- Lots of bug fixes.
- Massive update of printf formats for Win64 compatibility.
- Dynamic drive support on MacOSX.
- Still more MSI fixes and improvements.
- Lots of bug fixes.
Changes 0.9.22:
- The usual assortment of MSI improvements.
- Several bug fixes to the various common controls.
- Pixel shaders enabled by default in D3D.
- Various improvements to the build process.
- Many translation updates.
- Lots of bug fixes.
Changes 0.9.20:
- XEmbed system tray support.
- Many improvements to NTLM support.
- Many messages made localizable instead of hardcoded to English.
- Improved support for various OpenGL platforms.
- More improvements to the IDL compiler.
- Lots of bug fixes.
KEnigma is a replica of the German enigma code machine used in WW2 written in
ruby/kde. This is an exact copy of the real machine (You could encode a
message on a real enigma and decode it using this.)
1. Using ${LIBOSSAUDIO} instead of assuming -lossaudio
2. Disabling sound entirely if ${OSS_TYPE} == none
This should fix the build for every platform but NetBSD (tested on Solaris),
and no change for NetBSD builds.
that /emul == /usr/pkg/emul. On DragonFly and FreeBSD, it is called
/compat and that broke the shared library check. Bump revisions of
suse100_base and suse91_base.
READ_TRACKINFO, sufficient to get a NetBSD/cats kernel mount a
cd-rom image. I still get ""cd_setblksize: trying to change bsize,
but no blk_desc" but it seems to be a benign warning.
Pkgrevision bumped to 1.
found on cats and netwinder. This gets a NetBSD/cats -current
install kernel booting again after the move to timecounters. Before
this change, the emulated kernel would loop during the tlp0
attachment, inside delay().
Note, I'm guessing that a free-running timer should not generate
an interrupt on wrap (I don't have the hardware documentation).
Patch sent upstream.
- Better Spectrum 512 support (60Hz support, improved I/O memory waitstates).
- STE right border opening support (used in Obsession, Pacemaker).
- Blitter Smudge mode support (used in Pacemaker demo).
- Wheel-mouse simulates cursor up and down.
- Work-around to FDC handling, --slow-fdc option is not anymore needed.
- Bugfix to MFP, sound works now in more YMRockerz releases.
- Bugfix to GEMDOS path handling (Hatari SIGSEGV).
- Bugfix to emulated memory initialization (4MB was cleared earlier, now
exactly the amount set up for Hatari. Saves memory on embedded systems
if less than 4MB is specified.)
- Re-written command-line option handling.
- (Again) lots of code const/static, type usage and indentation cleanup.
- Preliminary support for TOS 3.0x and 030 TT software that runs in ST
resolutions and doesn't need PMMU.
- Native GUI for Mac OSX.
- ACSI emulation fixes to get HD formatting to work with AHDI 5. HD emulation
now works quite fine with AHDI 5 (but other HD drivers are currently not
supported).
- Joystick shortcut changed to toggle cursor emulation between ports 0 and 1.
- Keys for all Hatari shortcuts can now be configured from hatari.cfg.
- Added command line option for setting ST keyboard mapping.
- Joystick command line option requires now parameter for a port for which
the joystick cursor emu is enabled.
- Fixed relative mouse event handling in zoomed low-rez.
- Hatari shows now more of the bottom borden (screen size is now 384x276
instead of 384x267).
- Fixed sync delay timings - sound should now be better (e.g. on Mac OS X).
- ACPI support
- PC VGA BIOS fixes
- switch to OpenBios for SPARC targets (Blue Swirl)
- VNC server fixes
- MIPS FPU support (Marius Groeger)
- Solaris/SPARC host support (Ben Taylor)
- PPC breakpoints and single stepping (Jason Wessel)
- USB updates (Paul Brook)
- UDP/TCP/telnet character devices (Jason Wessel)
- Windows sparse file support (Frediano Ziglio)
- RTL8139 NIC TCP segmentation offloading (Igor Kovalenko)
- PCNET NIC support (Antony T Curtis)
- Support for variable frequency host CPUs
- Workaround for win32 SMP hosts
- Support for AMD Flash memories (Jocelyn Mayer)
- Audio capture to WAV files support (malc)
pkgsrc changes:
On systems with gcc4, force to use pkgsrc gcc34 to make it build
on NetBSD >=4.0.