Commit e2617c9b authored by Donald Haase's avatar Donald Haase
Browse files

Fast-forward to rofl0r's fork

https://github.com/rofl0r/hugo/commit/bf297bf1aad9a94f1c6d7ed2f1c935d0085b30be

I had made many of the same changes just to get it to compile after
all these years, so figured it would be best to peg it to be close
to an existing fork in case there's any collaborative opportunity.

This included readding various files I had lost in the intervening
20 years that weren't relevant to the DC version.
parent 91d27d99
Hu-Go! authors
==============
Hu-Go! is based on fpce, a pc engine emulator made by Bero.
Improvements done in Xpce, from Hmmx, were also integrated.
It contains code for unzipping by Gilles Vollant (unzip.[hc])
and relies on zlib (zlib team, zlib licencen, zlib.org), SDL (SDL team,
LGPL licence, libsdl.org), SDLnet (Sam Lantinga, Roy Wood and
Masahiro Minami, http://jcatki.no-ip.org/SDL_net/)
Work had then been resumed by Zeograd with the help (in no special order) of :
- David Shadoff (new kernel code, ideas, ...)
- Nyef (cd emulation, ...)
- Ixion (linux coding, sdl joypad, cd emulation, sound emulation, ...)
- Black- (gfx bug fixes, gp32 port, ...)
- Cleaner (freeBSD port fixes)
- Laurent Desnogues (cpu coding, ps2 port, ...)
- Erich Kitzmuller (sound improvement, dma bug fixes)
- Pit (gfx)
- David Michel (ideas, ...)
- Lester Barrow (linux coding, joypad support, ...)
- Mooz (ideas, ...)
- Bt Garner (ideas, ...)
- Littletux (mandrake packages, ...)
- Zoop & his gf (gfx bug fixes)
Tests by :
- Raph
- Fagemul
- NaMco
- Fixo
- sALTY
- Gato
- Nostromo
- Cissou
- Leeloo
- Sir Jaguar
I probably forgot some people, don't hesitate to contact me so that I can fix this.
Hu-Go! is licensed under the GNU GENERAL PUBLIC LICENSE Version 2 (see
LICENSE.gpl)
EXCEPTED
content of the file pcecd.c, which is licensed under the GPL compatible,
modified BSD license (see LICENSE.bsd-modified)
Changes from HU-GO! 2.11 to HU-GO! 2.12
Simplified license into GPL + mBSD (zlib licensed code is still there,
but it is not required to make it part of the whole license)
BUGZILLA 11: Now removes the temporary directory when quitting.
BUGZILLA 12: Quitting the main window also closes the game in progress
so that exiting is immediate.
BUGZILLA 15: Doesn't necessarily depends on SDL_net for compiling,
if not present, compiles with the usual manipulation.
BUGZILLA 17: Fixed mapping of split roms, which was breaking many games
or at least screwing graphics.
BUGZILLA 25: Readded screenshot support (in .ppm).
BUGZILLA 28: Added unzipping in memory, for cleaner, faster and more
robust handling of zipped roms.
Fixed compilation scripts to allow to compile without all the
documentation tools installed, also fixed debian packaging.
Cleaned sources a bit more.
Changes from HU-GO! 2.10 to HU-GO! 2.11
Rewrote manual into smaller manuals, in html and plain text.
Added zipped rom support for all platforms.
Added hardware video rendering.
Cleaned sources, again and again (thanks to splint) (compiles with gcc up to 3.3).
Added error message when trying to start a cd and the cd system rom
can't be found.
Added partial arcade card support (inner memory management rewritten).
Added readonly-ness of roms (was writeable until now).
Removed a bug in DraculaX which was crashing in the intro when not in -m1 mode
Added netplay support. The normal binary is a client, a server binary is also
provided.
Added nice graphical configuration of keyboard and joypads.
Added support of joypad via SDL under windows.
Rewrote graphical engine.
Added support for big endian cpu (Sparc, ...).
Switched to gtk 2 for graphical toolkit.
Added support for interacting with the core variable of the emulation from
external processes (can be used to change rom content on the fly e.g.).
Changed licence to be considered as free (GPL + mBSD + zlib).
Fixed a crash when starting any game in the windows port.
Added support for dumping audio and video. Some samples are available to
make an .avi/.mpg/.whatever from it under un*x.
Fixed some bugs in DMA handling (including one occuring at the end of the first
stage of gunhed).
Improved internal I/O handling (handle remanence of unaffected bit latches).
Began adding ogg support (untested).
Fixes sound frequency bug and added stop/start audio subsystem between the various
games to provide instantaneous effects of configuration changes.
Added better command line argument support.
Autodetection of US encoded roms.
Added signed format support for audio rendering.
Changes from HU-GO! 2.09 to HU-GO! 2.10
Arrival of a real GUI (using gtk) for both windows and linux ports
(which includes lot of easiness in changing configuration, ...)
Availability on binary forms for several platforms
FreeBSD port
Improved CD support at pce level
SDL joypad support (for linux only right now)
CD support reenabled for windows (was messed since 2.00 probably)
Rewritten fullscreen support, as well as x2, x3, x4 mode
in windowed mode.
Lots of bugs fixed in the graphical engine (gunhed works
after the first level for instance)
Improvement in the sound engine (for rendering noise
and drums and stereo mode)
Thanks to Ixion, Black-, Cleaner, Zoop and Valerie Tching
for their very active contribution
Changes from HU-GO! 2.00 to HU-GO! 2.09
Removed all Allegro references, switched to SDL ! which in itself
should improve pc compatibility especially in windows.
Improved synchronization (limitation to 60hz rather)
New sound engine (linked to the SDL switch)
Externalized bios (for legal issues)
Somes fixes, this and there
Russian version
Changes from HU-GO! 1.99 to HU-GO! 2.00
Restored the hard bios support feature
Improvement in the pad support and ability to remap button on pad or keyboard
(thanks to Lester)
Hacking of the file selector so that it works a bit under win
Eagle and Scanline mode enabled in linux version
Restored save/load feature as well as improvement in it
Auto fixing of damaged ISO headers
Slight improvement in the german translation
Changes from HU-GO! 1.29 to HU-GO! 1.99
NEW KERNEL !!!! (short to say but long to implement :)
Changes from HU-GO! 1.29 alpha to HU-GO! 1.29
Ability to dump images in order to gather them into a video file
Joypad support under linux thanks to Lester Barrows
Sources put in CVS form, I hope soon accessible trought public anonymous access
Restructured sources
Changes from HU-GO! 1.28 to HU-GO! 1.29 alpha
Begin of cd support under the win port
Corrected the bug in real CD emulation, no cds were playable at least since
the 1.28 version, certainly before
Preparation for the DreamCast port
Changes from HU-GO! 1.27 to HU-GO! 1.28
Improve of ISO support, especially concerning BRAM
Cheat engine have been improved anew, allowing full variable research with
ISO/CD
Changes from HU-GO! 1.26 to HU-GO! 1.27
Ability to use real cd tracks for faking .hcd tracks
Added relative research in the cheat engine
Corrected anew the bug in the ram editor, which was changing too many bits
Changes from HU-GO! 1.25 to HU-GO! 1.26
Changes only in sources, nothing new for gamers but nice stuff for porters
Changes from HU-GO! 1.24 to HU-GO! 1.25
Mp3 playing available under linux
Synchronisation (limit fps) should work under linux
Limitation of fps can be set in the INI file (upon request)
Better debugging info with the new version of the C compiler for pc engine
Changes from HU-GO! 1.23 to HU-GO! 1.24
Slightly improved ISO support
Added .BIN supporting in file selector
Added 'load rom' and 'credit' working in the gui
Slightly changes in the included cd system
Changes zip support for a very fast directory refreshing and no more
crashing (well, let's say infinitely less :)
Corrected the color bug in screenshots
Fixed some languages specific messages
Modified some internal interface functions
A bit cleaner sources
Changes from HU-GO! 1.22 to HU-GO! 1.23
One can now disable the zip scanning in the file selector (but you can
force refreshing of a directory with zip scanning with F2)
Synchronization of the subtitles with mp3 if asked
Added installation script (plus desinstall script generation) thanks to
Brieuc Jeunhomme
Changes from HU-GO! 1.21 to HU-GO! 1.22
Added subtitle feature
Speeded emulation a bit
Added repeated MP3 or not
No more glitches in saint dragon (recognized as splitted rom)
Cleaned some sprites and background stuff that were not initialized
Added scanline mode setting in INI file
Zip support have been re enabled in the file selector but still blocks
on some archives and had not been boosted as I wanted to ...
Added a Satb viewer (developper's feature)
Improved disassembler possibilities
Changes from HU-GO! 1.2 to HU-GO! 1.21
Eagle and scanline mode recentred (again ! I hope this is the last one !)
Added scanline mode screenshot feature
Added cd buffer to read data
Added cd (and mp3) sound in no bios mode
Improvements in developpers informations
Better installation under Linux
Code even mode modular, almost portable ^^
Changes from HU-GO! 1.11 to HU-GO! 1.2
ASPI driver!! All CDs works in windows as well as in dos mode. No need
to reboot to enjoy cd games.
Debugged HCD support that was broken for a few versions (it has became
case sensitive and some file were no more correctly recognized)
Cleaner sources and dos ones very easy to compile (if you have Djgpp, allegro
and seal)
Changes from HU-GO! 1.10 to HU-GO! 1.11
Way better Adpcm rendering (thanks to David Michel)
Debugged 800x600 mode in dos version
Added 2 automatic detected US roms (pac land & hero tonma)
Good beginning of modular and generic sources (which are available anew)
Lots of '1' in the version :)
Changes from HU-GO! 1.09 to HU-GO! 1.10
Debugged key modification in the .ini (due to a modification in allegro
that I hadn't see)
Slight modifications in iso support (Solid Force now run in Bios mode)
Some Hucards are now detected as split rom and runs well (well only 1 for now)
Changes from HU-GO! 1.08 to HU-GO! 1.09
Improvement of the gui, almost functionable
Added audio cd playing under Linux in bios mode
Correction of a problem in the initalisation of the backup RAM (could be the
one that caused some mem related error screens in CDs)
Corrected a bug in the ram editor function (a double word was edited
instead of a byte)
Corrected a very rare bug that could exit the emu with unknown roms
Changes from HU-GO! 1.07 to HU-GO! 1.08
Correction of Adpcm support (in fact, arrival of it in public releases,
the improvement of the algorithm can't be seen)
Added correct minimum bios support under Linux
Played a bit sound chip frequency, may sync better CD
Hucards can now access Adpcm resources
Changes from HU-GO! 1.06 to HU-GO! 1.07
Begin of Adpcm support (generaly voices in ISOs/CDs)
(Not yet mixed with PCM sound)
Some changes in ISO support (some games don't need .HCd anymore [solid force,
CD denjin] )
Slight improvement in .HCD (default ISO/MP3 path is the one of the .HCD)
Sound in Linux version
Internal changes in the interface to come
Changes from HU-GO! 1.05 to HU-GO! 1.06
'minimum bios' mode became 'no bios' mode (Theorical support of CD from
Game express)
ISO support slightly improved
Now using Allegro WIP 3.9.28 with all its enhancement (sound card, pads, ...)
although, I've not remade the joypad 'numerotation' yet...
Bug in horizontal centering in eagle mode removed
Bug in cdrom autodetection under DOS removed
Oh, by the way, just a little thing : Linux port :)
Changes from HU-GO! 1.04 to HU-GO! 1.05
Added a 'minimum Bios usage' mode for better ISO support
Added HCD in the file selector
Begin of GUI support for skin testing purposes
Better HCD automatic data filling thanks to MP3 length searching (if you got
all MP3 you got almost [99.9% precise] the same structure as a
reconstructed CD)
Added some HCD option (e.g. or patch to add some more games to
the compatiblity list)
Better sound with a true CD (better synchronisation, better sound length and
sound where absent before ...)
Added a default path for ISO and MP3 in HCD files
Some bugs fixed :
o In true CD launching
o Crashes when saving with Seal
o In ISO support
o In the debugger for instruction BBR
Added US encoding detection of cadash US
Changes from HU-GO! 1.03 to HU-GO! 1.04
One can now choose between 2 sound driver
Slighty improved ISO support
Changes from HU-GO! 1.02 to HU-GO! 1.03
Beginning of scanline mode (not in the gui)
Corrected some bugs with HCD support that made the machine crashing
Changes from HU-GO! 1.01 to HU-GO! 1.02
CD System Hu-card no more needed (and cdsystem_path variable neither
[was the topic of 90+% of pb with Hu-Go!] )
Beginning of HCD support (i.e. file allowing support of more than one code
track and .WAV/.MP3 emulation)
Fixed the bug that was preventing ISO/ISQ from being displaying when in
static_refresh mode in writeable directories where were recognized roms.
No more 'Hu-Go!.dat', all is in the EXE
Corrected a small bug that was displaying a saved game were loaded when not
Italian version added
Sound should not jiggle anymore when accessing CD
No more code size limit for ISQ
Changes from HU-GO! 1.00 to HU-GO! 1.01
Better ISO/CD support
Support ISQ (Hu-Go! specific compressed ISO files)
(only if code <280 Mb for now)
Support BIN (plain raw dump from CD, not only code track) it's only a nice
hack for now, I don't use CUE so it's limited to 1 code track <280 Mb for now.
ISQ and ISO can be chosen from the file selector
Saved game have slightly changed so that you could encounter some
rare problems with it
Can now choose which CD drive to use
Support US encoded roms (thank to David Michel)
More gamepads should be supported
Screen better centered
Improved debugger
Added a spanish documentation (already present in version 1.00 but not
precised since then)
Added a FAQ
Corrected a bug that could cause some segmentation fault with ISO files
Added a 800x600 screen mode for very very refractory screens
Changes from HU-GO! 0.98 beta to HU-GO! 1.00
Begin of true PC Engine CDs support
EXCELLENT sound with a new sound librairie which will also allow em to
emulate CD audio tracks with MP3 or WAV.
Better support of joypad in ISO files
Easier ISO launching, just like a ROM if you specify the path of your CD
system in the INI file
Auto execution of CD system cards ofter loading (no need to press start)
(if yours don't, tell me, I'll add it)
Fixed a little error in the debugger that was sometime preventing the displaying
Fixed another bug in BIOS read function
Log actions into Hu-Go!.log
Now dump sound in WAV RIFF format
Changes from HU-GO! 0.98 alpha to HU-GO! 0.98 beta
Better ISO support
ISO save state added
Zip support in file selector have been temporary disabled because of
bug and rewritting
Should no more create index file when in static_refresh mode
A little demo rom has been included (courtesy of Magic Team)
New EXE packer used for better compression
Others video mode available : 256*224 and 320*240 for normal modes
and 360*240 for extended modes
Correctly restore joy mapping after a pinball game
Fixed followop operation with BPL and BMI (developpement feature)
Added 2 functions : Go to cursor and Set bp at (developpement feature)
Changes from HU-GO! 0.97 to HU-GO! 0.98 alpha
Beginning of ISO support
Ascii work in .diz and doc by Cools
Plus improvements in english doc by Cools
Two new little transitions
Dev feature : Viewer of Zero Page
Polish translation by Dox and Faust
Improved german translation
Changes from HU-GO! 0.96 to HU-GO! 0.97
EAGLE integration!!! i.e. graphics enhanced! TRY IT! it really worth it!
Faster but maybe unstable (changed of compilator)
Quick move in the fileselector
New background for file selector courtesy of MrF (drawn by Ikenoya Takeshi)
Some bugs fixed
German translation by sALTY
Dutch translation by fixo
English doc slightly changed by BaconBoy 99
Better commented and cleaner sources
Changes from HU-GO! 0.95 to HU-GO! 0.96
BEWARE: the index type used in the fileselector changed, Hu-Go! will try
to autodetect the change and update the index, else refresh it with F1
Better zip support, bug which caused line command zip files not to work
was fixed and zip file integration in fileselector
Input support improved (joypads, etc...)
Fixed a bug which prevented roms with a '-' in to be loaded on the command line
As a test, logo from ]pit[
More recognized roms (525)
You can now step trought the rom in disassembly mode
One can put a breakpoint before the execution of the first op with -d1 command
line option
Began ISO/CD investigations
Slovenian translation by ]pit[
Portuguese translation by CodeMaster
Cleaner docs because my editor was handling tabulation of a weird maneer
Better commented sources
Changes from HU-GO! 0.94 to HU-GO! 0.95
Now a poll and a forum are available on the main webpage
Theoricaly run all games in 320*??? (before the screen were cut on both
sides [e.g. Military Madness, Panza Kick Boxing,...] )
Auto fire now implemented
A bit faster (I'm working on it...)
Support zipped roms (only on command line for now)
Fixed a stupid bug which caused bug when invoking Hu-Go! with a filename
containing no slash, and another which could prevent from changing rom
when playing.
One can now quit the emu from the file selector (with F12) or refresh the list
with F1.
When in disassembler mode, if can't go up one line w/o illegal instructs,
just go backward a byte
Now, the minimum machine is a pentium (Once more, I don't think I denigrate
a lot of people and we gain a bit a speed, if needed I could make a 486 version)
Better commented sources (It's an habit, now;)
Changes from HU-GO! 0.93 to HU-GO! 0.94
Big changes in the philosophy of Hu-Go!, now you will also find features for
PC Engine game creators. But don't worry, the main goal is still to
run most roms as well as I can ;)
So now, there's a disassembler and a RAM editor.
One can freeze a value in RAM
A new section 'Options' where you will find all available options.
Now, messages are available in English, French and Spanish...
Pictures has been placed in a single .DAT file
New option for faster (but a bit less acurate) drawing of sprites (exact_draw)
Better commented and better divided sources
Changes from HU-GO! 0.92 to HU-GO! 0.93
The fileselector display full name of the rom if recognized
Format of the INI file changed, plus more some options there
A new section 'Projects' where you can find what will soon change, or if
you're a developper, you will find interresting parts to tackle
Code source is better splitted for a better control of optimisation so...
Better sound quality on small machines
Changes from FPCE 0.91 to HU-GO! 0.92
The name (really ?)
SOUND (quite limited but will evolve, still need a good PC)
Can save sound on disk
Hu-Go! now has it own homepage on members.tripod.com/zeograd
(in english or french...)
Multiple players (with option -j ? where is the number of player you want
only up to 4 [can you really play at 5 on a single keyboard ?] )
INI file for new personal definition of keys
Smaller saves (have you ever seen so small SAV files ~50ko) and all
placed in a sub directory of the EXE ( 'SAV' )
3 more games playable (2 versions of Devil crush and Hisou...)
Some cool transition FX
Some keys changed (see the doc)
Shows the name of the ROM at the begining
Indicates the number of skipped frames
Number of average frames displayed at the end
Cleaner printings when cheating
Better commented sources
Only works on 486 and better (I don't think many people were using 386 and
we gain a bit of speed)
Again slightly faster (but nothing flagrant)
Changes from FPCE 0.9a to FPCE 0.91
16 March '99
Better integration under Win9X (Don't put savegames in current dir,
that is the desktop, and load intro piccy from his own dir,
futhermore, when in 60hz mode, give CPU time to others processes ...)
3 differents screen mode (first try 256*240 then 256*256 and 320*200)
Option on command line -v0 or -v1 or -v2 (or -v ?) to select
favorite screen mode (try -v1 if you got an 'flag' effect on screen)
Little delay added between two command keys (eg. inc/dec frame rate...)
to avoid multiple key pressed
Message displayed on the bottom left
Working synchronisation (In fact, limitation to 60 frame / sec.)
More roms recognized (519)
Cleaner code (I'm still waiting for help)
Slightly faster (almost imperceptible)
Hu-Go! installation instructions
================================
See INSTALL.gnu for the usual instructions once the development environment is set up.
Linux development environment
=============================
As it is a real OS, you probably don't need much to make it usable for building Hu-Go!
You need :
- gcc (2.95 seems to produce core dumps sometimes, gcc-3.0 and more recent doesn't)
- gnu make
- gtk development libraries (check packages for your distribution if needed) [optional but recommended]
- zlib development libraries (ditto) [optional but recommended]
Those were very common and you're extremely likely to already have them.
- sdl development library (check packages for you distribution or go to www.libsdl.org)
the usual './configure && make'
and then 'make install' as root should work flawlessly. Some warning may happen (10-20), you
can safety ignore them.
Linux -> Windows development environment
========================================
You need to install a cross compiler linux -> windows, mingw (debian users can install
it with apt)
You need to have all windows gtk needed libs (see the next section) and sdl development
libraries for windows. Copy the include and lib files in the include and lib directory
of mingw installation.
'gtk-config' in hugo sources is to be put on the bin subdir of the mingw installation
so that it behaves like the linux version.
Last thing, since you have to set a path and then call ./configure with argument to
force an host which isn't the one building the program, you can use the
'./cross-configure' script included in hugo sources. Then, simply use 'make'.
Alter paths in those two scripts to match your real directory structures. The changes,
if any, are really easy to spot.
Native Windows development environment
======================================
You need to grab the native mingw environment and msys (so you get a shell,
a compiler, make, ...) (see www.mingw.org, install mingw and then msys).
You need to grab the sdl development libraty for mingw on www.libsdl.org.
Install it in the mingw directory (so that SDL.h is in the include subdirectory
of the mingw main directory, etc ..)
Now, the most difficult part, the windows port of gtk. You can go there :
http://www.gimp.org/~tml/gimp/win32/downloads.html
There, grab :
- gtk+-dev
- libiconv-bin (you'll have to move the .dll in it into the lib subdir of mingw)
- atk-dev
- gettext-dev
- pango-dev
- glib-dev
Installation is easy, as you simply unzip them in the mingw main directory (you can
use enzip [http://www.cpam.freeserve.co.uk/] if you don't have an unarchiver).
You should then replace the gtk+-1.3-win32-production.pc installed by the one provided in
hugo sources (in the extra_dev subdirectory) (replacing the path if needed) (it adds
-mms-bitfield option needed for gtk to compile properly).
You should finally put the gtk-config script provided (in the extra_dev subdir)
into the bin directory (changing the path, as usual) so that you can call gtk
script in an homogeneous maneer.
If you can compile the usual hello world program (see http://gtk.org) with
gcc -o hello hello.c `gtk-config --cflags --libs`, then you're ready to compile
hugo with ./configure && make.
FreeBSD development environment
===============================
See the linux notes.
A few details : sdl config script is called slightly differently (sdl11-config).
You can simply make a link called sdl-config toward it. It should be the only
difference with the linux instructions.
Solaris development environment
===============================
I have only tested on Solaris 9 for Sparc so far.
I used the GNU tools, either for compiling (gcc), for handling makefiles
(gmake) and for generating configure scripts (autoconf/automake). The
generation of configure scripts is only relevant for people using the CVS
tarball, else it's already "compiled" and ready to execute.
Just like other OSes, you'll need SDL, zlib (already handy if my memory serves).
See the linux notes then.
Just a little note, I personnaly had to use the following line to launch
configure :
MAKE=gmake LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include/SDL ./configure
to accomodate the gnu make name under Solaris and the location of SDL libs.
bin_PROGRAMS = hugo
if NETPLAY
bin_PROGRAMS += hugod
hugod_SOURCES = hugod.c netplay.c
endif
hugo_SOURCES = pce.c hard_pce.c sprite.c h6280.c view_zp.c edit_ram.c debug.c format.c \
subs_eagle.c cd.c hcd.c lsmp3.c sound.c mix.c followop.c dis.c optable.c \
view_inf.c lang.c list_rom.c iniconfig.c trans_fx.c cheat.c gfx.c bp.c bios.c \
hugo.c pcecd.c utils.c
if SDL_LINUX
hugo_SOURCES += osd_linux_cd.c osd_linux_snd.c osd_keyboard.c osd_sdl_gfx.c osd_linux_sdl_machine.c
endif
if ZLIB
hugo_SOURCES += unzip.c miniunz.c
endif
if GTK
hugo_SOURCES += support.c interface.c callbacks.c gtk_main.c
hugo_LDADD = @GTK_LIBS@ @XLIBS@
if NETPLAY
hugod_SOURCES += support.c interface-server.c callbacks-server.c gtk_main-server.c
hugod_LDADD = @GTK_LIBS@
endif NETPLAY
endif GTK
if NETPLAY
hugo_SOURCES += netplay.c
endif
if SDL_MIXER_LINUX
hugo_SOURCES += osd_linux_sdl_music.c
endif
if ZE_HCD_OGG_SUPPORT
hugo_SOURCES += ogglength.c
endif
if ALLEGRO_LINUX
hugo_SOURCES += osd_linux_cd.c osd_linux_snd.c osd_keyboard.c osd_linux_allegro_gfx.c osd_linux_allegro_machine.c
endif
if SDL_WIN32
hugo_SOURCES += osd_win_cd.c osd_win_snd.c osd_keyboard.c osd_sdl_gfx.c osd_win_sdl_machine.c
endif
if ALLEGRO_WIN32
hugo_SOURCES += osd_win_cd.c osd_win_snd.c osd_keyboard.c osd_win_allegro_gfx.c osd_win_allegro_machine.c
endif
if ALLEGRO_DJGPP
hugo_SOURCES += osd_dos_cd.c osd_dos_snd.c osd_keyboard.c osd_dos_gfx.c osd_dos_machine.c
endif
if SDL_FREEBSD
hugo_SOURCES += osd_freebsd_cd.c osd_linux_snd.c osd_keyboard.c osd_sdl_gfx.c osd_linux_sdl_machine.c
endif
if SDL_SOLARIS
hugo_SOURCES += osd_solaris_cd.c osd_linux_snd.c osd_keyboard.c osd_sdl_gfx.c osd_unix_sdl_machine.c
endif
EXTRA_hugo_SOURCES = osd_dos_cd.c osd_dos_cd.h osd_dos_gfx.c osd_dos_gfx.h \
osd_dos_machine.c osd_dos_machine.h \
osd_linux_allegro_gfx.c osd_linux_allegro_gfx.h osd_linux_allegro_machine.c \
osd_linux_allegro_machine.h osd_linux_cd.c osd_linux_cd.h \
osd_linux_sdl_machine.c \
osd_linux_sdl_machine.h osd_linux_snd.c osd_linux_snd.h osd_win_allegro_gfx.c \
osd_win_allegro_gfx.h osd_win_allegro_machine.c osd_win_allegro_machine.h osd_win_cd.c \
osd_win_cd.h osd_keyboard.c osd_keyboard.h osd_sdl_gfx.c osd_sdl_gfx.h \
osd_win_sdl_machine.c osd_win_sdl_machine.h osd_win_snd.c osd_win_snd.h \
pce.h sys_cd.h sys_dep.h sys_gfx.h sys_inp.h sys_misc.h sys_snd.h cleantyp.h hard_pce.h \
cheat.h bios.h cd.h crc_ctl.h debug.h dis.h dis_cst.h dis_runtime.h edit_ram.h followop.h \
lang.h hcd.h h6280.h list_rom.h menu.h mix.h optable.h format.h view_zp.h globals.h \
defs.h interupt.h gui.h trans_fx.h sprite.h sound.h lsmp3.h libamp.h iso_ent.h bp.h \
view_inf.h iniconfig.h interf.h gfx.h shared_memory.h \
osd_freebsd_cd.c osd_freebsd_cd.h hugo.c hugo.h support.c support.h callbacks.c callbacks.h \
interface.c interface.h gtk_main.c gtk_main.h akrip32.h myaspi32.h manual.h manual_convert.pl \
ogglength.c ogglength.h osd_linux_sdl_music.c osd_linux_sdl_music.h \
unzip.c unzip.h miniunz.c miniunz.h pcecd.c utils.c utils.h pcecd.h osd_solaris_cd.h \
osd_unix_sdl_machine.h osd_unix_sdl_machine.c osd_solaris_cd.c hugod.c hugod.h \
netplay.c netplay.h interface-server.h interface-server.c callbacks-server.h \
callbacks-server.c gtk_main-server.h gtk_main-server.c
AM_CFLAGS = @GTK_CFLAGS@ @XINCS@ @CFLAGS@ -D@HUGO_TARGET_MACHINE@ @HUGO_TARGET_LIBRARY@
hugo_LDFLAGS = @HUGO_TARGET_LIBRARY_LD@
hugod_LDFLAGS = -lSDL_net
install-data-local:
@$(NORMAL_INSTALL)
if test -d $(srcdir)/pixmaps; then \
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/pixmaps; \
for pixmap in $(srcdir)/pixmaps/*; do \
if test -f $$pixmap; then \
$(INSTALL_DATA) $$pixmap $(DESTDIR)$(pkgdatadir)/pixmaps; \
fi \
done \
fi && \
if test -d $(srcdir)/doc; then \
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/doc; \
for doc in $(srcdir)/doc/*.{html,txt,css}; do \
if test -f $$doc; then \
$(INSTALL_DATA) $$doc $(DESTDIR)$(pkgdatadir)/doc; \
fi \
done \
fi
uninstall-local:
@$(NORMAL_UNINSTALL)
rm -rf $(DESTDIR)$(pkgdatadir)/{pixmaps,doc};
dist-hook: doc
if test -d pixmaps; then \
mkdir $(distdir)/pixmaps; \
for pixmap in pixmaps/*; do \
if test -f $$pixmap; then \
cp -p $$pixmap $(distdir)/pixmaps; \
fi \
done \
fi && \
if test -d extra_dev; then \
mkdir $(distdir)/extra_dev; \
for extra_dev in extra_dev/*; do \
if test -f $$extra_dev; then \
cp -p $$extra_dev $(distdir)/extra_dev; \
fi \
done \
fi
manual.h : doc/quickstart.txt manual_convert.pl
./manual_convert.pl > manual.h
gtk_main.o : gtk_main.c manual.h gtk_main.h
# Installation targets
WINE=wine
LYX=lyx
LATEX2HTML=latex2html
TIDY=tidy
UNIX2DOS=unix2dos
SED=sed
INNOSETUP_LOCATION=~/.wine/fake_windows/Program\ Files/Inno\ Setup\ 4/ISCC.exe
LATEX2HTML_FLAGS= -split 0 -local_icons -no_navigation -info 0
LYX_DOC=$(wildcard doc/*.lyx)
HTML_DOC=$(patsubst %.lyx,%.html,$(LYX_DOC))
TXT_DOC=$(patsubst %.lyx,%.txt,$(LYX_DOC))
EXTRA_DIST = setup.iss doc/hugo_manual.css doc/index.html doc/README.old.txt $(HTML_DOC) $(TXT_DOC) $(LYX_DOC)
.PHONY: doc html txt
Output/setup.exe: setup.iss hugo.exe hugod.exe doc
$(UNIX2DOS) $<
$(WINE) $(INNOSETUP_LOCATION) $<
doc: $(AVAILABLE_DOC_TARGETS)
if HAVE_TOOLS_FOR_HTML_DOC
html: $(HTML_DOC)
%.html: %.tex
test -d /tmp/latex2html.tmp || mkdir /tmp/latex2html.tmp
$(LATEX2HTML) $(LATEX2HTML_FLAGS) -dir /tmp/latex2html.tmp `test -f '$<' || echo '$(srcdir)/'`$<
test -d $(@D) || mkdir $(@D)
$(SED) s/$(patsubst %.tex,%.css,$(<F))/hugo_manual.css/ $(patsubst %.tex,%.html,/tmp/latex2html.tmp/$(<F)) > $@
-$(TIDY) -im $@
endif
if HAVE_TOOLS_FOR_TXT_DOC
txt: $(TXT_DOC)
%.txt: %.lyx
test -d $(@D) || mkdir $(@D)
LANG=C $(LYX) -e text `test -f '$<' || echo '$(srcdir)/'`$<
endif
%.tex: %.lyx
test -d $(@D) || mkdir $(@D)
$(LYX) -e latex `test -f '$<' || echo '$(srcdir)/'`$<
Simplified license into GPL+mBSD (zlib licensed code is still there,
but it is not required to make it part of the whole license)
BUGZILLA 11: Now removes the temporary directory when quitting.
BUGZILLA 12: Quitting the main window also closes the game in progress
so that exiting is immediate.
BUGZILLA 15: Doesn't necessarily depends on SDL_net for compiling,
if not present, compiles with the usual manipulation.
BUGZILLA 17: Fixed mapping of split roms, which was breaking many games
or at least screwing graphics.
BUGZILLA 25: Readded screenshot support (in .ppm).
BUGZILLA 28: Added unzipping in memory, for cleaner, faster and more
robust handling of zipped roms.
Fixed compilation scripts to allow to compile without all the
documentation tools installed, also fixed debian packaging.
Cleaned sources a bit more.
\ No newline at end of file
This diff is collapsed.
pour HI_COLOR_RENDER, changer olay_cmap
\ No newline at end of file
This diff is collapsed.
......@@ -11,6 +11,8 @@
#include "gtk_main.h"
#include "pce.h"
#include "iniconfig.h"
#include "hugo.h"
#include "utils.h"
static char tmp_buf[100];
......
#ifndef _DJGPP_INCLUDE_CD_H
#define _DJGPP_INCLUDE_CD_H
#define COOKED 0
#define RAW 1
#define MSF 0
#define REDBOOK 1
// variables are quite self explanatory
extern int cdda_first_drive;
extern int cdda_nb_of_drives;
extern int cdda_current_drive;
extern int cdda_current_track;
extern int cdda_playing;
extern int cdda_min_track;
extern int cdda_max_track;
extern int cdda_disk_length;
extern char global_error[80];
int cdda_init();
// initialize the cd rom driver
int cdda_play(int track);
// play an audio track
void cdda_stop();
// stop the current playing
void cdda_shutdown();
// for now, just stop the playing
void cdda_loop_check();
// seems to must be called each seconde if you want audio tracks to be
// played again when finished
void cdda_track_info(unsigned char *result, int track);
// return info on the given track, result is 7-bytes long
void cdda_read_sector(unsigned char* p,unsigned long nb_sect,
unsigned char mode_read, unsigned char mode_addr);
void cdda_cooked_prefech_read_sector_redbook(unsigned long nb_sect);
void cdda_cooked_prefech_read_sector_msf(unsigned long nb_sect);
void cdda_dos_cooked_read_sector_lba(unsigned char* p, unsigned long nb_sect);
int cdda_play_sectors(int begin_sect, int length);
//-- Fonctions de conversion -------------------------------------------------
unsigned Time2Frame(int min, int sec, int frame);
unsigned Time2HSG(int min, int sec, int frame);
unsigned Time2Redbook(int min, int sec, int frame);
void Frame2Time(unsigned frame,
int *Min,
int *Sec,
int *Fra);
void Redbook2Time(unsigned redbook,
int* Min,
int* Sec,
int* Fra);
void HSG2Time(unsigned hsg,
int *Min,
int *Sec,
int *Fra);
unsigned Redbook2HSG(unsigned redbook);
unsigned HSG2Redbook(unsigned HSG);
#endif
#ifndef _DJGPP_INCLUDE_CD_H
#define _DJGPP_INCLUDE_CD_H
#define COOKED 0
#define RAW 1
#define MSF 0
#define REDBOOK 1
// variables are quite self explanatory
extern int cdda_first_drive;
extern int cdda_nb_of_drives;
extern int cdda_current_drive;
extern int cdda_current_track;
extern int cdda_playing;
extern int cdda_min_track;
extern int cdda_max_track;
extern int cdda_disk_length;
extern char global_error[80];
int cdda_init();
// initialize the cd rom driver
int cdda_play(int track);
// play an audio track
void cdda_stop();
// stop the current playing
void cdda_shutdown();
// for now, just stop the playing
void cdda_loop_check();
// seems to must be called each seconde if you want audio tracks to be
// played again when finished
void cdda_track_info(unsigned char *result, int track);
// return info on the given track, result is 7-bytes long
void cdda_read_sector(unsigned char* p,unsigned long nb_sect,
unsigned char mode_read, unsigned char mode_addr);
void cdda_cooked_prefech_read_sector_redbook(unsigned long nb_sect);
void cdda_cooked_prefech_read_sector_msf(unsigned long nb_sect);
void cdda_dos_cooked_read_sector_lba(unsigned char* p, unsigned long nb_sect);
int cdda_play_sectors(int begin_sect, int length);
//-- Fonctions de conversion -------------------------------------------------
unsigned Time2Frame(int min, int sec, int frame);
unsigned Time2HSG(int min, int sec, int frame);
unsigned Time2Redbook(int min, int sec, int frame);
void Frame2Time(unsigned frame,
int *Min,
int *Sec,
int *Fra);
void Redbook2Time(unsigned redbook,
int* Min,
int* Sec,
int* Fra);
void HSG2Time(unsigned hsg,
int *Min,
int *Sec,
int *Fra);
unsigned Redbook2HSG(unsigned redbook);
unsigned HSG2Redbook(unsigned HSG);
#endif
......@@ -31,13 +31,13 @@ long file_size (char* file_name)
}
#endif
inline void fputw (UInt16 value, FILE* F)
static void fputw (UInt16 value, FILE* F)
{
fputc((int)(value & 0xFF), F);
fputc((int)(value >> 8), F);
}
inline UInt16 fgetw (FILE* F)
static UInt16 fgetw (FILE* F)
{
return (UInt16)(fgetc(F) + (fgetc(F) << 8));
}
......
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
# Copyright 1999, 2000 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Usage:
# compile PROGRAM [ARGS]...
# `-o FOO.o' is removed from the args passed to the actual compile.
# Usage statement added by Billy Biggs <vektor@dumbterm.net>.
if [ -z $1 ]; then
echo "Wrapper for compilers which do not understand '-c -o'."
echo "usage: compile PROGRAM [ARGS]..."
echo "'-o FOO.o' is removed from the args passed to the actual compile."
exit 1
fi
prog=$1
shift
ofile=
cfile=
args=
while test $# -gt 0; do
case "$1" in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we do something ugly here.
ofile=$2
shift
case "$ofile" in
*.o | *.obj)
;;
*)
args="$args -o $ofile"
ofile=
;;
esac
;;
*.c)
cfile=$1
args="$args $1"
;;
*)
args="$args $1"
;;
esac
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$prog" $args
fi
# Name of file we expect compiler to create.
cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir $lockdir > /dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir $lockdir; exit 1" 1 2 15
# Run the compile.
"$prog" $args
status=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
fi
rmdir $lockdir
exit $status
This diff is collapsed.
This diff is collapsed.
# Process this file with autoconf to produce a configure script.
AC_INIT(hugo, 2.12, zeograd@zeograd.com)
AM_INIT_AUTOMAKE(hugo, 2.12)
AC_CONFIG_SRCDIR([pce.c])
# AC_CONFIG_HEADER([config.h])
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_TARGET
# AC_ARG_PROGRAM
AM_MAINTAINER_MODE
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_CHECK_PROG([HAVE_LYX], [lyx], [found])
AC_CHECK_PROG([HAVE_LATEX2HTML], [latex2html], [found])
AC_CHECK_PROG([HAVE_SED], [sed], [found])
AC_CHECK_PROG([HAVE_TIDY], [tidy], [found])
if test -n "$HAVE_LYX"; then
AM_CONDITIONAL(HAVE_TOOLS_FOR_TXT_DOC,true)
AVAILABLE_DOC_TARGETS="txt"
echo "$as_me:$LINENO: TEXTUAL form of the documentation can be made" >&5
echo $ECHO_N "TEXTUAL form of the documentation can be made" >&6
else
AM_CONDITIONAL(HAVE_TOOLS_FOR_TXT_DOC,false)
echo "$as_me:$LINENO: TEXTUAL form of the documentation can NOT be made" >&5
echo $ECHO_N "TEXTUAL form of the documentation can NOT be made" >&6
fi
if test -n "$HAVE_LYX" -a -n "$HAVE_LATEX2HTML" -a -n "$HAVE_SED" -a -n "$HAVE_TIDY"; then
AM_CONDITIONAL(HAVE_TOOLS_FOR_HTML_DOC,true)
AVAILABLE_DOC_TARGETS="$AVAILABLE_DOC_TARGETS html"
else
AM_CONDITIONAL(HAVE_TOOLS_FOR_HTML_DOC,false)
fi
AC_SUBST(AVAILABLE_DOC_TARGETS)
# Checks for libraries.
AC_CHECK_LIB(SDL, main) #,,[AC_MSG_ERROR([need SDL. See #http://www.libsdl.org])])
AC_CHECK_LIB(SDL_net, main, [HAVE_LIBSDL_NET="yes" LIBS="-lSDL_net $LIBS" AC_DEFINE([HAVE_LIBSDL_NET],[1],[Define to 1 if you have the SDL_net library])], [HAVE_LIBSDL_NET="no"]) #,,[AC_MSG_ERROR([need SDL_net. See #http://www.libsdl.org])])
AC_CHECK_LIB(SDL_mixer,main) #,,[AC_MSG_ERROR([need SDL_mixer. See #http://www.libsdl.org])])
AC_CHECK_LIB(vorbis, main)
AC_CHECK_LIB(vorbisfile, main)
AC_CHECK_LIB(argp, argp_parse, [
AC_DEFINE([HAVE_ARGP], [1], [Define to 1 if you have the 'argp' library (-largp)])
LIBS="$LIBS -largp"
], [
AC_CHECK_LIB(c, argp_parse, [
AC_DEFINE([HAVE_ARGP], [1], [Define to 1 if you have the 'argp' support in the C library])
])
])
LIBZ_SUPPORT=no
AC_CHECK_LIB(z, main, [
LIBS="$LIBS -lz"
AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the 'z' library (-lz)])
LIBZ_SUPPORT=yes
])
if test "x$LIBZ_SUPPORT" = "xno" ; then
AC_CHECK_LIB(zdll, main, [
LIBS="$LIBS -lzdll"
AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the 'z' library (-lz)])
LIBZ_SUPPORT=yes
])
fi
AM_CONDITIONAL([ZLIB], [test x$LIBZ_SUPPORT = xyes])
# Checks for endianess
AC_C_BIGENDIAN
AM_PATH_SDL
GUI_SUPPORT=yes
echo "$as_me:$LINENO: checking whether gui was asked" >&5
echo $ECHO_N "checking whether gui was asked...$ECHO_C" >&6
AC_ARG_ENABLE(gui,
AC_HELP_STRING([--enable-gui], [enable GUI (default is yes)]),
[ if test "$enableval" = "no"; then GUI_SUPPORT="no"; fi])
if test "x$GUI_SUPPORT" = "xyes" ; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
AM_PATH_GTK_2_0(2.0.0, HAVE_GTK="yes", HAVE_GTK="no")
XLIBS=
XINCS=
if test "x$HAVE_GTK" = "xno" ; then
:
else
AC_DEFINE(GTK, 2, [defined if user have GTK2 installed])
AC_PATH_X
AC_CHECK_LIB(X11, XKeysymToString)
test "$x_includes" && XINCS="-I$x_includes"
test "$x_libraries" && XLIBS="-L$x_libraries"
fi
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
AM_CONDITIONAL([GTK], [test "x$HAVE_GTK" = "xyes"])
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_HEADER_TIME
# Checks for library functions.
AC_FUNC_ALLOCA
AC_PROG_GCC_TRADITIONAL
# AC_FUNC_MALLOC
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([atexit bzero dup2 gettimeofday memset mkdir select strchr strdup strrchr strstr])
# Check for size of types
AC_CHECK_SIZEOF([char], 1)
AC_CHECK_SIZEOF([short int], 2)
AC_CHECK_SIZEOF([int], 4)
AC_CHECK_SIZEOF([long int], 4)
# Check for netplay support request
echo "$as_me:$LINENO: checking whether netplay support was asked" >&5
echo $ECHO_N "checking whether netplay support was asked... $ECHO_C" >&6
if test "x$HAVE_LIBSDL_NET" = "xyes" ; then
NETPLAY=yes
AC_ARG_ENABLE(netplay,
AC_HELP_STRING([--enable-netplay], [enable netplay support (default is yes)]),
[ if test "$enableval" = "no"; then NETPLAY="no"; fi])
if test "$NETPLAY" = "yes" ; then
AC_DEFINE(ENABLE_NETPLAY, 1, [defined if user wants netplay support])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else # NETPLAY
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
else # HAVE_LIBSDL_NET
echo "$as_me:$LINENO: result: no (no SDL_net found)" >&5
echo "${ECHO_T}no (no SDL_net found)" >&6
fi
AM_CONDITIONAL([NETPLAY], [test x$NETPLAY = xyes])
# Check for kernel version request
echo "$as_me:$LINENO: checking which version of hugo kernel was asked" >&5
echo $ECHO_N "checking whether new kernel version was asked... $ECHO_C" >&6
NEW_KERNEL=yes
AC_ARG_ENABLE(new-kernel,
AC_HELP_STRING([--enable-new-kernel], [enable new kernel (default is yes)]),
[ if test "$enableval" = "no"; then NEW_KERNEL="no"; fi])
if test "$NEW_KERNEL" = "yes" ; then
AC_DEFINE(KERNEL_DS, 1, [defined if user wants new kernel])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for shared memory
echo "$as_me:$LINENO: checking shared memory openness" >&5
echo $ECHO_N "checking whether shared memory openness was asked... $ECHO_C" >&6
SHARED_MEMORY=no
AC_ARG_ENABLE(shared-memory,
AC_HELP_STRING([--enable-shared-memory], [enable shared memory openness (default is no)]),
[ if test "$enableval" = "yes"; then SHARED_MEMORY="yes"; fi])
if test "$SHARED_MEMORY" = "yes" ; then
AC_DEFINE(SHARED_MEMORY, 1, [defined if user wants open memory openness])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for new gfx engine
echo "$as_me:$LINENO: checking new gfx engine" >&5
echo $ECHO_N "checking whether new gfx engine was asked... $ECHO_C" >&6
NEW_GFX_ENGINE=yes
AC_ARG_ENABLE(new-gfx-engine,
AC_HELP_STRING([--enable-new-gfx-engine], [use new gfx engine to render graphics (default is yes)]),
[ if test "$enableval" = "no"; then NEW_GFX_ENGINE="no"; fi])
if test "$NEW_GFX_ENGINE" = "yes" ; then
AC_DEFINE(NEW_GFX_ENGINE, 1, [defined if user wants to use the new gfx engine])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for debug version
DEBUG_VERSION=no
echo "$as_me:$LINENO: checking for debug version" >&5
echo $ECHO_N "checking whether debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(final-release,
AC_HELP_STRING([--enable-final-release], [enable strict logging (default is yes)]),
[ if test "$enableval" = "no"; then DEBUG_VERSION="yes"; fi])
if test "$DEBUG_VERSION" = "no" ; then
AC_DEFINE(FINAL_RELEASE, 1, [defined if user wants a 'clean' binary ( = not for hugo developpers)])
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
else
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
fi
# Check for cd debugging
CD_DEBUG=no
echo "$as_me:$LINENO: checking for cd debug version" >&5
echo $ECHO_N "checking whether cd debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(cd-debug,
AC_HELP_STRING([--enable-cd-debug], [enable CD subsystem debugging (default is no)]),
[ if test "$enableval" = "yes"; then CD_DEBUG="yes"; fi])
if test "$CD_DEBUG" = "yes" ; then
AC_DEFINE(CD_DEBUG, 1, [for hugo developers working on the cd subsystem])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for sound debugging
SOUND_DEBUG=no
echo "$as_me:$LINENO: checking for sound debug version" >&5
echo $ECHO_N "checking whether sound debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(sound-debug,
AC_HELP_STRING([--enable-sound-debug], [enable sound routine debugging (default is no)]),
[ if test "$enableval" = "yes"; then SOUND_DEBUG="yes"; fi])
if test "$SOUND_DEBUG" = "yes" ; then
AC_DEFINE(SOUND_DEBUG, 1, [for hugo developers working on the cd subsystem])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for graphics debugging
GFX_DEBUG=no
echo "$as_me:$LINENO: checking for gfx debug version" >&5
echo $ECHO_N "checking whether gfx debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(gfx-debug,
AC_HELP_STRING([--enable-gfx-debug], [enable graphics routine debugging (default is no)]),
[ if test "$enableval" = "yes"; then GFX_DEBUG="yes"; fi])
if test "$GFX_DEBUG" = "yes" ; then
AC_DEFINE(GFX_DEBUG, 1, [for hugo developers working on the graphics subsystem])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for input debugging
INPUT_DEBUG=no
echo "$as_me:$LINENO: checking for input debug version" >&5
echo $ECHO_N "checking whether input debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(input-debug,
AC_HELP_STRING([--enable-input-debug], [enable input routine debugging (default is no)]),
[ if test "$enableval" = "yes"; then INPUT_DEBUG="yes"; fi])
if test "$INPUT_DEBUG" = "yes" ; then
AC_DEFINE(INPUT_DEBUG, 1, [for hugo developers working on the input subsystem])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for kernel debugging
KERNEL_DEBUG=no
echo "$as_me:$LINENO: checking for kernel debug version" >&5
echo $ECHO_N "checking whether kernel debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(kernel-debug,
AC_HELP_STRING([--enable-kernel-debug], [enable hu6280 kernel debugging (default is no)]),
[ if test "$enableval" = "yes"; then KERNEL_DEBUG="yes"; fi])
if test "$KERNEL_DEBUG" = "yes" ; then
AC_DEFINE(KERNEL_DEBUG, 1, [for hugo developers working on hu6280 emulation])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for netplay debugging
NETPLAY_DEBUG=no
echo "$as_me:$LINENO: checking for netplay debug version" >&5
echo $ECHO_N "checking whether netplay debug version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(netplay-debug,
AC_HELP_STRING([--enable-netplay-debug], [enable netplay debugging (default is no)]),
[ if test "$enableval" = "yes"; then NETPLAY_DEBUG="yes"; fi])
if test "$NETPLAY_DEBUG" = "yes" ; then
AC_DEFINE(NETPLAY_DEBUG, 1, [for hugo developers working on netplay emulation])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for bsd or gpl hardware cd support
BSD_CD_HARDWARE_SUPPORT=yes
echo "$as_me:$LINENO: checking for bsd pc engine cd version" >&5
echo $ECHO_N "checking whether bsd pc engine cd version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(bsd-pcecd,
AC_HELP_STRING([--enable-bsd-pcecd], [enable modified bsd version of pce hardware cd support (default is yes)]),
[ if test "$enableval" = "no"; then BSD_CD_HARDWARE_SUPPORT="no"; fi])
if test "$BSD_CD_HARDWARE_SUPPORT" = "yes" ; then
AC_DEFINE(BSD_CD_HARDWARE_SUPPORT, 1, [modified bsd pce cd hardware support (old one)])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check if user wants to build with sdl
USE_SDL=yes
echo "$as_me:$LINENO: checking for SDL library version" >&5
echo $ECHO_N "checking whether SDL library version was asked... $ECHO_C" >&6
AC_ARG_WITH(sdl,
AC_HELP_STRING([--with-sdl], [uses sdl as library for input/output (default is yes)]),
[ if test "$withval" = "no"; then USE_SDL="no"; fi])
if test "$USE_SDL" = "yes" ; then
AC_DEFINE(SDL, 1, [defined if user wants SDL as library])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Check for SDL_mixer
echo $ECHO_N "checking whether SDL_mixer library version was asked... $ECHO_C" >&6
USE_SDL_mixer=no
AC_ARG_WITH(sdl_mixer,
AC_HELP_STRING([--with-sdl-mixer], [uses sdl_mixer as library for audio input/output (default is no)]),
[ if test "$withval" = "yes"; then USE_SDL_mixer="yes"; fi])
if test "$USE_SDL_mixer" = "yes" ; then
if test "$USE_SDL" = "yes" ; then
AC_DEFINE(SDL_mixer, 1, [defined if user wants SDL_mixer as library])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no (needs SDL)" >&5
echo "${ECHO_T}no" >&6
fi
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
#Checking for ogg/vorbis support in .hcd
#echo "$as_me:$LINENO: checking whether ogg/vorbis support in .hcd was asked" >&5
echo $ECHO_N "checking whether ogg/vorbis support in .hcd was asked... $ECHO_C" >&6
OGG_SUPPORT=no
AC_ARG_WITH(ogg-support,
AC_HELP_STRING([--with-ogg-support], [enable ogg/vorbis support in hcd (default is no)]),
[ if test "$withval" = "yes"; then OGG_SUPPORT="yes"; fi])
if test "$OGG_SUPPORT" = "yes" ; then
if test "$USE_SDL_mixer" = "yes" ; then
AC_DEFINE(OGG_SUPPORT, 1, [defined if user wants ogg support in hcd])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
echo "$as_me:$LINENO: result: no (needs SDL_mixer)" >&5
echo "${ECHO_T}no" >&6
fi
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Mode for testing rom made to run with an offset of 0x68 for bank
TEST_RELOCATED_ROM=no
echo "$as_me:$LINENO: checking for test relocated rom version" >&5
echo $ECHO_N "checking whether test relocated rom version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(test-relocated-rom,
AC_HELP_STRING([--enable-test-relocated-rom], [prepares execution of patched rom for running in SCD ram (default is no)]),
[ if test "$enableval" = "yes"; then TEST_RELOCATED_ROM="yes"; fi])
if test "$TEST_RELOCATED_ROM" = "yes" ; then
AC_DEFINE(TEST_ROM_RELOCATED, 1, [defined if rom are expected to be patched to run from bank 0x68])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes. UNUSABLE FOR NORMAL GAMES." >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Inlined accessors ? they're slightly faster but doens't work for AC games
INLINED_ACCESSORS=no
echo "$as_me:$LINENO: checking for inlined accessors version" >&5
echo $ECHO_N "checking whether inlined accessors version was asked... $ECHO_C" >&6
AC_ARG_ENABLE(inlined-accessors,
AC_HELP_STRING([--enable-inlined-accessors], [uses inlined accessors for memory (faster but not AC games compatible) (default is no)]),
[ if test "$enableval" = "yes"; then INLINED_ACCESSORS="yes"; fi])
if test "$INLINED_ACCESSORS" = "yes" ; then
AC_DEFINE(INLINED_ACCESSORS, 1, [defined if inlined accessors should be used])
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes (AC games won't work properly)." >&6
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Selecting machine / lib specific files
if test x"$target_alias" = x"" ; then
echo "$as_me:$LINENO: no target explicitely given, guessing" >&5
echo $ECHO_N "no target explicitely given, guessing... $ECHO_C" >&6
target_alias=`uname -m`-`uname -s`
echo "$as_me:$LINENO: result: $target_alias" >&5
echo "${ECHO_T}$target_alias" >&6
fi
AM_CONDITIONAL(SDL_LINUX, false)
AM_CONDITIONAL(SDL_MIXER_LINUX, false)
AM_CONDITIONAL(ZE_HCD_OGG_SUPPORT, false)
AM_CONDITIONAL(SDL_NET_LINUX, false)
AM_CONDITIONAL(ALLEGRO_LINUX, false)
AM_CONDITIONAL(SDL_WIN32, false)
AM_CONDITIONAL(ALLEGRO_WIN32, false)
AM_CONDITIONAL(ALLEGRO_DJGPP, false)
AM_CONDITIONAL(SDL_FREEBSD, false)
AM_CONDITIONAL(SDL_SOLARIS, false)
case $target_alias in
i386-mingw32msvc)
echo "Microsoft Windows 32bits with mingw build enabled"
HUGO_TARGET_MACHINE="WIN32"
if test "$USE_SDL" = "yes"; then
CFLAGS="$CFLAGS `sdl-config --cflags`"
LIBS="$LIBS `sdl-config --libs` -lakrip32"
AM_CONDITIONAL(SDL_WIN32, true)
else
HUGO_TARGET_LIBRARY="-DALLEGRO `allegro-config --cflags`"
HUGO_TARGET_LIBRARY_LD="`allegro-config --libs`"
AM_CONDITIONAL(ALLEGRO_WIN32, true)
fi
;;
i386-djgpp)
echo "DJGPP build enabled"
HUGO_TARGET_MACHINE="DJGPP"
HUGO_TARGET_LIBRARY="-DALLEGRO"
HUGO_TARGET_LIBRARY_LD="-lalleg"
AM_CONDITIONAL(ALLEGRO_DJGPP, true)
;;
*-?inux*)
echo "Linux build enabled"
HUGO_TARGET_MACHINE="LINUX"
if test "$USE_SDL" = "yes"; then
CFLAGS="$CFLAGS `sdl-config --cflags`"
LIBS="$LIBS `sdl-config --libs`"
AM_CONDITIONAL(SDL_LINUX, true)
if test "$USE_SDL_mixer" = "yes"; then
LIBS="$LIBS -lSDL_mixer "
AM_CONDITIONAL(SDL_MIXER_LINUX, true)
fi
if test "$OGG_SUPPORT" = "yes"; then
LIBS="$LIBS -lvorbis -lvorbisfile"
AM_CONDITIONAL(ZE_HCD_OGG_SUPPORT, true) # ZE_: needs to be processed after SDL_MIXER_LINUX...
fi
else
HUGO_TARGET_LIBRARY="-DALLEGRO `allegro-config --cflags`"
HUGO_TARGET_LIBRARY_LD="`allegro-config --libs`"
AM_CONDITIONAL(ALLEGRO_LINUX, true)
fi
;;
i386-FreeBSD)
echo "FreeBSD build enabled"
HUGO_TARGET_MACHINE="FREEBSD"
CFLAGS="$CFLAGS `sdl-config --cflags`"
LIBS="$LIBS `sdl-config --libs`"
AM_CONDITIONAL(SDL_FREEBSD, true)
;;
sun4u-SunOS)
echo "Solaris build enabled"
HUGO_TARGET_MACHINE="SOLARIS"
CFLAGS="$CFLAGS `sdl-config --cflags`"
LIBS="$LIBS `sdl-config --libs`"
AM_CONDITIONAL(SDL_SOLARIS, true)
;;
*)
echo "No target specified, Please ask maintainer about target: $target_alias"
;;
esac
dnl Set PACKAGE_DATA_DIR in config.h.
if test "x${datadir}" = 'x${prefix}/share'; then
if test "x${prefix}" = "xNONE"; then
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR,"${ac_default_prefix}/share/hugo",[directory in which data are located])
else
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR,"${prefix}/share/hugo")
fi
else
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR,"${datadir}/hugo")
fi
AC_SUBST(HUGO_TARGET_MACHINE)
AC_SUBST(HUGO_TARGET_LIBRARY)
AC_SUBST(HUGO_TARGET_LIBRARY_LD)
AC_SUBST(XINCS)
AC_SUBST(XLIBS)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
This diff is collapsed.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 1st August 2004), see www.w3.org">
<title>Hu-Go! CD-rom manual</title>
<meta name="description" content="Hu-Go! CD-rom manual">
<meta name="keywords" content="cdrom">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
<meta name="Generator" content="LaTeX2HTML v2002-2-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="hugo_manual.css" type="text/css">
</head>
<body>
<h1 align="center">Hu-Go! CD-rom manual</h1>
<div class="author_info">
<p align="center"><strong>Zeograd
mail:zeograd@zeograd.com</strong></p>
</div><br>
<h2><a name="SECTION00010000000000000000" id=
"SECTION00010000000000000000">Contents</a></h2>
<!--Table of Contents-->
<ul class="TofC">
<li><a name="tex2html5" href=
"cdrom.html#SECTION00020000000000000000" id=
"tex2html5">Introduction</a></li>
<li><a name="tex2html6" href=
"cdrom.html#SECTION00030000000000000000" id="tex2html6">CD
drive configuration</a></li>
<li><a name="tex2html7" href=
"cdrom.html#SECTION00040000000000000000" id="tex2html7">CD
system rom configuration</a></li>
</ul><!--End of Table of Contents-->
<h1><a name="SECTION00020000000000000000" id=
"SECTION00020000000000000000">Introduction</a></h1>
<p>This document briefly describes how to play pc engine games on
cd with Hu-Go!. It is also useful for playing simple .iso files,
just skip to &laquo;CD system rom configuration&raquo;.</p>
<h1><a name="SECTION00030000000000000000" id=
"SECTION00030000000000000000">CD drive configuration</a></h1>
<p>Under Windows, CD-rom devices are automatically detected and
the first one is used. It normally corresponds to the lower
letter one. It can be changed but not easily.</p>
<p>Under Linux (as it is the only other platform supporting
reading from raw cds), you must set the device path with the
option called &laquo;CD path&raquo; if it's not
&laquo;/dev/cdrom&raquo;.</p>
<h1><a name="SECTION00040000000000000000" id=
"SECTION00040000000000000000">CD system rom
configuration</a></h1>
<p><a name="sec:CD-system-rom" id="sec:CD-system-rom"></a>When
playing cds or .iso files, Hu-Go! needs a cd system rom to
provide the cd bios functions. To have Hu-go! automatically start
it when loading a cd or .iso file, you must set the option
&laquo;CD system filename&raquo; in the options. It should point
to a rom which provides cd bios functions. Usually this rom is
called &laquo;syscard.pce&raquo;, &laquo;syscard3.pce&raquo;,
&laquo;syscard30.pce&raquo;,...</p>
<p>If you didn't set this option field, Hu-go! will try to find
such a rom on your system, looking for names
&laquo;syscard.pce&raquo;, &laquo;syscard3.pce&raquo;,
&laquo;syscard30.pce&raquo;, &laquo;cd-rom~1.pce&raquo; on the
following locations : current Hu-Go! binary location, parent of
Hu-Go! binary location, &laquo;c:\&raquo;,
&laquo;/usr/local/lib/hugo&raquo;,
&laquo;/usr/lib/hugo&raquo;.</p>
<p>When you try to load a cd and no rom could be found, an error
window will pop up.<br></p>
<hr>
<address>
Olivier Jolly 2005-03-13
</address>
</body>
</html>
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment