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.
Changes between release 0.4.1 and 0.4.2 include, among other things:
o) The NetWinder emulation mode now works well enough to let
NetBSD/netwinder run from a disk image.
(NetBSD/netwinder has to be installed manually, though, because
there is no installation ramdisk kernel. The GXemul documentation
has an example of how to install NetBSD/netwinder using an emulated
NetBSD/pmax machine.)
o) Algorithmics P5064 emulation works well enough to let NetBSD/algor
run from a disk image. (Similar to NetBSD/netwinder, it has to
be installed manually, using another emulated machine.)
o) PCI configuration register writes can now be handled, which allows
NetBSD/Malta (evbmips) 3.0.1 and NetBSD/cobalt 3.0.1 to run from
PCI IDE harddisk images. (Previously, only NetBSD 2.1 worked for
the Malta and Cobalt emulation modes.)
o) Some performance increases:
The virtual translation table update routine has been simplified
to work the same way for 32-bit and 64-bit emulation, and this
apparently results in a speedup for all 64-bit modes.
For 32-bit MIPS, some more instruction combinations have been added.
- Still more work on Direct3D.
- A lot of MSI bug fixes and improvements.
- More compatible memory management.
- Several fixes for Win64 support.
- Some performance improvements.
- Lots of bug fixes.
offending line started with ftp:// and was probably interpreted as a
dependency line by bmake. Now all MASTER_SITES are formatted like in
mk/fetch/sites.mk.
Changes between release 0.4.0.1 and 0.4.1 include, among other things:
o) Some bugs in the dynamic translation core have been fixed, making
all emulation modes (especially the MIPS mode) more stable.
o) In the refactoring effort between 0.4.0 and 0.4.0.1, single-stepping
(and instruction tracing) of 64-bit programs was accidentally broken.
Single-stepping in 64-bit mode could result in strange exceptions.
This has been fixed in 0.4.1.
o) MIPS emulation performance has been improved somewhat:
R3000: After removing some buggy code (hints for physical page
translations), it was possible to remove the workaround for R3000
caches which was needed in 0.4.0.1 to make Linux and Ultrix run.
This gives an overall speedup for R2000/R3000.
For non-R3000, there have been some speedups as well. After fixing
reference count bugs for 64-bit addressing in the dyntrans system,
workarounds/hacks in the tlbwr/tlbwi instructions and in the ASID
change helper function could be removed.
o) A new -s command line option is now available, for dumping
raw runtime data/statistics on every instruction to a file.
Currently, the following kinds of data can be dumped:
1. the program counter (virtual address)
2. the physical address representation of the program counter
3. the internal dyntrans instruction call pointer, useful when
developing/optimizing the emulator
This data can then be analyzed by external tools.
(There was a -s command line option in previous releases of
the emulator, but it did not work as intended, and was not
usable from dyntrans emulation modes.)
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
Changes (adapted from debian/changelog):
0.43.3
* fix compilation errors in xorg, and with versions of allegro which don't
define GFX_XWINDOWS_FULLSCREEN. Also this one works with gcc-4, no more
errors about movl.
* Apply patch from Antiriad which adds fix eight bootleg
* Basic dependencies support in the makefile, so that at least the
compilation doesn't stop with 2 pages of error messages just because
we forgot to install a lib (liballeg, sdl and allegro tested).
0.43.2
* Haze added diverboy, mugsmash, cross pang.
* I added Jumping pop, and Tetris 2+ (or fixed it since there was a
preliminary driver in raine since 0.28, but it was really the begining).
I also added the esd16 driver from mame, with multi champ, multi champ
deluxe, and head panic. All of these are using lots of colors !
* A few fixes for extreme video modes situations (linux console). WARNING:
if you want to play with the frame buffer in linux, use allegro 4.2.0,
frame buffer support has been broken for a very long time in
allegro-4.1.x.
* Also some fixes to really prevent raine from changing the current video
mode if the user forbids it or if the current video driver can't give
the list of supported video modes by the monitor (which is the case of
frame buffer driver for linux).
* Bezel fixes : when the video mode is not automatically changed, the bezel
now adapts to the current mode (instead of not displaying anything).
Also if you load a 2nd game which also uses a bezel, the 2nd bezel is now
correctly handled.
* The buffer for the history.dat is doubled (for dkong for example), I
should probably use a dynamic buffer for that... maybe later.
* Now raine supports multiple layouts / gfx layers, and is automatically
calling make_solid_mask for a region when a layout is defined for it.
gfx[n] always contains the nth layer in the layouts list, and gfx_solid[n]
is the result of the call of make_solid_mask on this region, and
max_sprites[n] contains the number of sprites for this area.
Also the driver's loading function is now called BEFORE the layouts are
applied, which allows to decrypt/convert the sprites and still use
automatically the layers. This should have been added a long time ago, it
became obvious just recently with all these drivers which needed manual
graphics decoding.
* raine does its own tests for svgalib in linux now. If it does not detect
vga.h at the standard places when compiling, then svgalib support is
disabled.
* Fixed the fg layer of the 2nd tc100scn not updated in thundfox (thundfox
seems to be the only game which uses a 2nd fg layer, so it escaped me !)
* while testing stuff with the eeproms, fixed pang3j which never worked (!),
and added service mode controls for the pirates driver.
* fine tune the music of the hammer in donkey kong so that the other sounds
can be heared while it's playing.
0.43.1
* Haze added these new games :
hyperpac driver : twinkle, Xess - The New Revolution (Semicom 3-in-1),
more more, final tetris.
cookbib driver : Cookie and Bibi, Hatch Catch, Choky Choky.
I fixed the dipswitches, and for final tetris the sound and the inputs.
0.43.0
* Added new games : Pang, Super Pang, Poker ladies, Block Block.
All of them playable with sound, adapted from mame.
* Added sound support to these games based on the nmk004 findings in mame:
macross, black heart, bio ship paladin, strahl, acrobat mission, mustang,
thunder dragon, and even hacha mecha fighter but this one is still totally
unplayable.
For mustang, I switched to mustang original set instead of the bootleg
version to avoid the infamous seibu sound system, so you'll have to update
your romsets.
Congratulations go to the mame team for that, everyone has been wondering
how this sound emulation worked for YEARS !
* Fixed the file size recorded in the wav files, when recording
raine_soud.wav, and the alignement byte which prevented the sound to play
in the microsoft media player ! The wav file format is probably one of the
stupidest file formats ever invented !
* add the ability to save screenshots in png (default now). You can set the
compression level by editing the configuration file. Also you can now use
a png file for the raine default background picture !
* Add a new command to save a "video", or more exactly a sequence of
screenshots (preferably in png), and at the same time a wav file. You will
still need something like mplayer to merge everything together.
See README.videos in the docs directory for the details.
* fixed sound not starting when loading a saved game before qsound has been
initalised in the capcom games (also fix a few stupid bank switches here
and there).
* When choosing the best video resolution if all the available resolutions
where too small, then you got a ridiculously small resolution. Now you get
the bigest one.
* Added artwork bezel support - see README.bezels in the docs directory.
* Fixed bad sound in bjtwin and sabotenb, now there are no cracks any more.
* Fix a very old bug where the default directories for screen_dir
(snapshots) and roms became "", translated to "/". I never noticed it
because I always use the same config...
* Fix a 1 pixel alignement issue for the text layer in do donpachi (I never
noticed it before because I usually don't have time to read the text in
dodonpachi ! I finally saw it because I recorded a video in dodonpachi!).
* For windows choose a windowed default video mode to avoid any problem with
weird setups which have vido sync problems. For the other OSes, choose a
default resolution based on the video modes really available, take the 1st
from 320x240.
* dx2 emudx file format : graphics for emudx are now stored in .dx2 files,
which should be available from rainemu.com. These files are smaller than
the original .dx files (and it's more convinient to work with these). The
emudx files can now be placed either in the main raine directory for
compatibility or in the emudx sub directory. .dx files are not supported
anymore for the graphics.
* Added hammer music to donkey kong... It's generated from a midi file, oh
well, if someone can do something better, let me know !
* Unix behaviour : a long time ago I accepted a patch to make raine to use a
personnal dir, and a system wide dir for its files in linux, but I never
took the time to test this since I have always used only 1 dir for raine.
Well, it didn't work, raine always used one of these 2 instead of trying
the personnal dir first and then the system wide directory. It's now fixed
for raine.dat, hiscore.dat, history.dat, the snapshots, the language
files, and the bezels.
0.42.5
* make raine gcc-4.0 compatible : still quite a few warnings in the end,
especially when compiling the 6502 emulator, but most of them are gone now,
and the build works.
0.42.4
* add progear (cps2)
* add pzloop2j (with speed hack)
* Fixed 1944.
0.42.3
* Fixed toki sound (ym3812)
* Improved priority bitmap emulation (faster and more precise) for cps2 and
the cave driver.
* Add rom region switches for mshh and mpangj (translated), and vhunt2r1
and vsav2 (only partially translated, but the service mode is translated
at least).
* Added a speed hack for mpangj
* Fix bad color palette for snapshots in the gui in 16bpp sometimes
0.42.2
* Handle priority bitmap for cps2 when needed, transparency effect in capcom
sports club attract mode is emulated.
* Fix annoying gui corrupted colors after loading some games.
* Added the cps2 games from mame with a non working parent
0.42.1
* Fixed REGION_EMPTY not supported anymore for games like arkanoid bootleg.
This bug was probably due to the new way of handling clones when loading
roms (added in 0.40.5) (helped from loading the rom).
* Save a little more memory for cps1 & cps2 (on scroll1).
* Try much harder to reset game hardware when a f3 game hangs after its
eeprom has been reseted. With this we should definetely get rid of the
"game xyz hangs when I launch it" messages in the forums.
* Fix levels order in dkong us (this should be the last time !).
* Add speed hacks for 19xx and dimahoo (not sure if it's usefull or not, but
now these games won't be limited by the cpu power...).
* Fix music speed for cps2 (it was slightly too slow, check sgemf when it
displays "no mercy"...).
* Fix a very old bug in the speed hack allocations for cps1 & cps2, it
showed only in an sgemf background during attract mode afaik.
* Try a new way of handling the priorities for cps2. This is not the mame
way. It's faster, but I am not sure it works everywhere, it's much better
than what we had in 0.42.0 anyway.
* Fixed compilation with allegro-4.0.x for fedora core (linux).
* Added new game : nostradamus, fully playable (it was to test the oddities
of the mcatadv driver...).
0.42.0
* Fixed the last sound issues in cps2 (in fact it was just the data bank of
the z80 which was not loaded correctly), and added a few cps2 games to
play with. Video priorities are still not emulated, but the result is
quite good actually !!!
* Improved the starscream patch for gigawing, and add all the real cps2
games from mame (no clones).
* Improve sprites decoding in cps1/cps2 to save memory. The memory saved is
quite impressive, but 19xx and dimahoo still require about 70 Mb (120 Mb
before !!!).
* Fix a possible buffer overflow in history.dat handling (there was one for
mvsc) and expand the history.dat buffer to 8kb.
0.41.4
* Fix air gallet special bg2 layer (8x8 layer displayed as 16x16).
* Fix layer alignement in air gallet
* cps2 becomes runnable now (no video priorities yet, and still some
sound synchronization issues on some games)
0.41.3
* Fix the stupid forgoten bug in the patch of starscream (byte inversion).
The fixes *LOTS* of problems especially with cps1 games.
0.41.2
* Fixed flames glowing in dkong (quick fix, using the allegro alpha blending
functions - can probably be improved).
* Fixed sprites not showing in late stages of mazinger
* Fixed sprites priorities in cave driver (in fact rewrote the whole
priority code for the cave driver, now using only the priority bitmap).
Now you can finally read the text in the end of dodonpachi and see
some new gfx effects in the intro of dfeveron, and feversos, and there
are probably some more changes...
* Fixed inputs not working for player 2 in guwange (quite a shame that this
one was never finden earlier !!!).
* Fixed a crash when launching "Bobble Bobble" (not Bubble Bobble).
* frogger samples updates :
- coin sample is now louder
- game over and all home sound now much better thanks to old original
files found by Mike.
- Added a new tune when you loose a life, from one of these old files.
0.41.1
* When loading dkongjp after dkong, the levels were still drawn for dkong.
It's fixed now.
* pacman and mspacman now have big flashing power pills ! :)
* pacman/mspacman : fruits on the bottom of screen match fruits in the
level!
* Applied patch from Ville Skytta to have language files in lower case
(after all only dos/windows is case insensitive, all the serious OS in the
world are case sensitive ! :))
* Fixed the colour of the gun in opwolf and zombie raid (and every game
actually using the gun) for color depths > 8 (bug related to changes for
the sdl video driver).
* Fixed sound card name (SDL <Not initialised yet> was displayed in the
sound driver selection dialog).
0.41.0
* Move the handling of dx samples to a new sound driver (dxsmp.c). It was
necessary to have a precision of 1 frame with buggy windows sound drivers
which must work with big sound buffers for the updates.
* Fixed a bug when loading dkong after mspacmab.
* Fixed the missing sprite of the purple frog in frogger
* the roars at when the game starts and when a level ends are now emulated
in dkong (2 roars instead of 3 because dx roars last longer !).
* dx samples status is now saved in savegames, and they stop when you reset
the game hardware.
* added donkey kong (us and japan versions), with dx samples and dx graphics.
* Fixed arpro search on games using a Z80 as cpu 0, and removed the
obligation to have -1,-1 in the z80 memory map for the searches to work
(-1,-1 serves nothing by itself, whereas 0,0xffff, DefBadReadByte is
always there).
* emudx samples now work in sdl, and I took back the musics from the dx
samples with volume adustements.
* Change the synchronisation method for the sdl sound driver. The new method
uses more efficiently the callback, better results in windows and shorter
and much easier code.
* Fixed a problem with cheats/hiscore on games using exactly 2 z80s frogger,
for example
* Prevent emudx to change resolution when it's not necessary (related to
color depth)
* Finally converted the dx characters in frogger to retrieve their originol
colours. Quite crazy !
* Add a "Pac-man/Pengo" driver name in the driver selection menu for the
game selection dialog (it allows to quickly spot the new pacman hacks).
* Took back the fix for the allegro gui bug where the menu is frozen if
raine is linked with allegro-4.0.x. But this time test allegro version we
were compiled with before applying the work around (usefull in debian
where they use allegro 4.0.x which is supposed to be stable).
This work around disables dialog solid movements (no blits).
* Frogger : fix layer alignement and replacement of layer tiles by big 32x32
sprites.
* Disable ansi sequences in windows (stupid windows still does not support
ansi sequences natively, what a shame !!!).
* Added emudx support for frogger (graphics and sound). Kept the ay8910 for
music.
* Added frogger, playable without sound (will try to add only emudx sound,
these filters used by frogger for sound look like a real mess !)
* Added sstriker, european translation of mahoudai (toaplan2)
* Fixed a few default intialisations the first time raine is launched,
especially for win32. Now :
- the displayed video mode is correct in windows (there was a bug with
the autodetect video driver...)
- switch to 16bpp by default for xwindows and windows.
- chooses allegmix sound driver by default in win32 (back to allegro)
- the list of displayed games is "available" by default.
- emudx init now always forces 16bpp (allegro was wrongly reporting 8bpp
as the depth of the bitmaps in the archive if the current video mode was
in 8bpp !)
- Games which now request 16bpp switch color depth to 16bpp if they are
currently in 32bpp (it's for emudx support which absolutely requires
16bpp and can't work in 32bpp).
* Added complete alpha blending support (mmx code based on an article found
on the web). For now it works only for 32x32 sprites but it can easily be
adapted to any size.
* Put back windows to allegmix sound driver, and put the linux sound driver
to its normal defaults as in 0.40.4. Windows sound drivers (at least those
from creative) do not respect specs, which makes sdl sound delay
corrections very hard. And on the other hand the allegro sound driver is
unreliable in linux. So this is the easiest solution.
* Bugs found : when raine is first installed in windows, it wrongly believes
it's using the accelerated driver when it uses the autodetect driver which
makes color depth changes impossible. I should really remove completely
this autodetect thing one day. The autodetect driver in sdl is a miracle,
and in allegro it's a nightmare !!! But this bug will probably stay where
it is for quite a while, I hate windows, and I don't want to spend time on
it.
* Added some preliminary alpha blending drawing functions for the ghosts in
pacman ! For now the alpha blending is locked at 50%, which makes the
ghosts a little dark... but at least it's fast !!!
0.40.5
* Added emudx support for pacman/puckman and mspacmab :-) !
* Fixed pacman savestates to save irq status (it allows to load a game
without having to wait for the machine to initialize).
* added yet another hack : Xen's revenge (very hard !)
Fixed pacman dsw, and improved the "2x speed cheat" from mame's idea
(using button 1 to enable it or not, after having enabled the cheat from
the dsw).
* Added new game hacks : mspacpls, mspac6m, pacman3d, and namcosil.
Also raine now uses clones of clones as it should always have (since it's
the main purpose of the DIR_INFO struct : allowing recursion !). It makes
the ROM_INFO structs even shorter now !
* Applied patches from Ville Skytta (optional svgalib build in linux + ansi
colors slightly different)
* Try to detect when stdout is redirected to a file and disable ansi colors
in this case (use isatty, but isatty does not seem to be available in
windows... what a surprise !)
* The clones do not repeat the regions of the parent anymore.
When a region is the same it is simply not listed, and raine checks the
parent automatically now. If you want the region to be empty, you have to
tell it explicitely by using REGION_EMPTY (see arkanoid.c for an example).
It makes shorter source code, and makes it easier to maintain too. It
fixes the bad snowbros clones in 0.40.5 by the way.
* Enough of fixes for raine-0.40.5
0.40.4
* Lots of games which are requiring 8bpp now automtically set the screen to
8bpp if it is in a different color depth when you load them.
* Buble Boble is now playable in any color depth.
* Running Pulirula and then loading rastan does not crash raine anymore.
Also this fix will probably improve the stability when loading a few games
which are using the tc100scn video chip.
* Running a toaplan2 game like dogyuun, and then a cave game like donpachi
works normally now.
* Fix ym3812 timer. Now demon's world, snow bros and quite a few others are
playable again... By the way snowbros now uses the new mame set.
* Upgrade Chuka Taisen to use the latest mame set (b44.12 was changed to
b44.12w, but I ignore the reason).
* fixed ballbros/twinhawk when raine was compiled in debug mode (there was a
++ in a print_debug, what a shame !!!)
* Fix tc0100scn emulation for "asuka & asuka", and opwolf.
* Fixed c-chip for opwolf (ingame and reset game).
* Fixed a few drivers with sound too loud in sdl (matmania, arkanoid...)
* Fixed noise channel not working for the ay8910 (in matmania for example).
* The SDL video is starting to work. No gui yet, but already hardware
accelerated overlays when supported.
* Raine now uses ANSI sequences to write text in color to the console.
It allows to get RAINE in the colors of the old dos version in any linux
or windows terminal !
* Fixed cpu capabilities detection, and add rdtsc detection.
* Forced sound buffer length to 2048 samples for sdl, since this is all
what quite a few soundblaster windows drivers can handle (a pity).
Anyway, it does not seem to create any bad delay, but it needs more
testing.
* Improved again sound synchronization for SDL (it's just more responsive,
which can be helpfull on slow systems which drop frames). There is still a
bug with some win2k versions though wich seem to require transfers of 4096
bytes in my_callback, which represents about 6 sound frams, and which
makes synchronization very hard. For now the only reliable solution with
this win2k problem is to use the allegro sound driver.
* Also improved sound emulation speed : the stream_update function in
streams.c does not seem to make the emulation more precise, but it
definetely makes it slower, so I just reverted to the old behaviour, it
does nothing anymore.
* Fixed controls in sf2ce clones (sf2m4, m5, m6, etc...).
* Improved sound synchronization, it now can jump or drop more than 1 frame,
and it can follow when one of the points is at the begin of the buffer while
the other is at the end. It fixes the sound in all taito f3 games.
0.40.3
* Unix version now uses its shared path (/usr/shar/games/raine) as the
default location to load the hiscore.dat and history.dat file.
* SDL sound support, bug fixes
- Still more work on Direct3D shaders.
- Now using the Gecko engine directly for MSHTML.
- Better support for apps switching to full screen mode.
- Support for multiple joysticks.
- Lots of bug fixes.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
Manually patch Makefile.in and configure to avoid dependency on autotools.
- Explicitly disable esd when not requested, it is found and used
with gnome enabled otherwise.
variables so that the default INSTALL/DEINSTALL scripts from the
pkginstall framework do the right thing. Where possible, move some
post-install directions for package setup into MESSAGE files so that
they may be re-inspected by querying the installed package using
"pkg_info -D ...".
- More work on Direct3D shaders.
- Major DirectDraw rewrite on top of Direct3D.
- Support for debug information in Dwarf format.
- Beginnings of an OleView Winelib application.
- Lots of bug fixes.