69 Commits

Author SHA1 Message Date
Won Star
f38af30d6a Update GP32 port. It still doesn't work very well...
svn-id: r22584
2006-05-23 14:30:13 +00:00
Eugene Sandulenko
14ec3f45fa - Heavily modified patch #1214784: "Disable overlay scaling"
- Eriktorbjorn's patch from same tracker item for scaling sword1/2 cutscenes
  is applied as is. It lacks resolution switch on-the-fly.
- GUI widgets are repositioned on the fly and use most space, even aspect
  ratio corrected screen is used without scaling
- Heavy tesing is required, but works for me in all cases except for bug
  #1483272: "GUI: SCUMM pause dialog breaks upon scaler switch" which needs more
  work.
- I probavly broke some backend or two

svn-id: r22505
2006-05-17 23:52:45 +00:00
Max Horn
3623a94927 Added the new AbstractFilesystemNode::getCurrentDirectory() method. Also changed the semantics of the FilesystemNode constructors (see also the relevant doxygen comments for explanations). This also fixes bug #1485941.
svn-id: r22424
2006-05-12 21:41:54 +00:00
Max Horn
726c05be96 Make some tweaks to the GP32 and PSP FS code (trying to at least partially bring them up to speed with the FS code changes). Note: If those files were inside backends/fs/, they wouldn't be overlooked as easily when making FS changes...
svn-id: r22420
2006-05-12 21:01:50 +00:00
Max Horn
ae50315fa0 Added a default implementation of the OSystem CD API (which simply does nothing)
svn-id: r22370
2006-05-06 18:10:38 +00:00
Won Star
564727be2c Add used memory counter.
svn-id: r22061
2006-04-20 14:55:27 +00:00
Won Star
00a4ca0224 Fix compile
svn-id: r21666
2006-04-07 11:37:46 +00:00
Won Star
ab41c88902 Disable i/o cache which is incomplete and can cause serious problem with SMC.
Fix compile by overriding typenames.
Cleanup and fix ASM functions. Some of them didn't return properly to C code when called...
Cleanup Makefile again.

svn-id: r21663
2006-04-07 10:38:06 +00:00
Eugene Sandulenko
8fa9bd6728 Removed extra exclamation marks in warning() calls as well.
svn-id: r21608
2006-04-04 22:21:10 +00:00
Max Horn
e9bc5ba280 Backends now are also responsile for deiniting properly. In particular, moved the call to quit() from scummvm_main to the various backend main routines (porters may want to replace it by something different)
svn-id: r21559
2006-04-02 14:31:23 +00:00
Max Horn
9217472f0e With this change, backends are now responsible for instantiating their OSystem class before calling scummvm_main (Note: PalmOS and Symbian are not yet converted, and won't work currently)
svn-id: r21557
2006-04-02 14:16:31 +00:00
Max Horn
587431f8e8 Fully and officially renamed our main function to scummvm_main, thus making
various backend specific hacks unnecessary. As a consequence, it is now the
responsibility of the backend to define main. Hence I adapted the SDL backend
accordingly.

svn-id: r21542
2006-04-02 00:08:22 +00:00
Won Star
d0c73b346e Cleanup Makefile.
svn-id: r21410
2006-03-23 03:08:05 +00:00
Won Star
85661bca03 Update port.
* NO SOUND support.
* New asm functions.
* Prepare for MP3 / OGG

svn-id: r21409
2006-03-23 03:02:04 +00:00
Won Star
1b459ee959 Whew. It seems that I made a mistake last time. :(
Fix sound timer frequency for the GP32 port.

svn-id: r20668
2006-02-13 13:46:38 +00:00
Won Star
aaa11f6efb CC := arm-elf-gcc
CXX		:= arm-elf-g++
LD		:= arm-elf-g++
AS		:= arm-elf-as
AR      := arm-elf-ar cru
RANLIB  := arm-elf-ranlib
RM      := rm -f
MKDIR   := mkdir -p
ECHO    := echo -n
CAT     := cat
RM      := rm -f
# recursive version of RM
RM_REC  := $(RM) -r
ZIP     := zip -q
CP      := cp
OBJCOPY	:= arm-elf-objcopy
FXETOOL	:= b2fxec


#######################################################################
# Default compilation parameters. Normally don't edit these           #
#######################################################################

CXXFLAGS:= -g -O
DEFINES :=
LDFLAGS :=
INCLUDES:= -I. -Icommon
LIBS	:=
OBJS	:=

# Turn on useful warnings
CXXFLAGS+= -Wall -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion
CXXFLAGS+= -Wshadow -Wuninitialized -Wimplicit -Wundef
CXXFLAGS+= -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder
CXXFLAGS+= -Wwrite-strings -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor

# GPSDK (SDK, Includes and Startup Files) base dir
GPSDK			=	/usr/compat/gp32/share/sdk

# Outputs
EXEEXT			=	.elf
MAPFILE			=	scummvm.map
BIN			=	scummvm.gxb
FXE			=	scummvm.fxe

# Stripped Build? (Smaller ELF, Minimal debug symbol information).
# You MUST comment this out with a # if you wish to debug your code.
# STRIP_DEBUG		=	-Wl,--strip-debug

# Plugins hack
srcdir			=	./

# GP32 Direct Execute Tool (i.e. pclink -e on Windows, gplink run on Linux)
EXECUTE_TOOL	=	pclink -e
#
#	       		-ffast-math \
#	       		-fshort-double \
#
#
#

				#-Wno-multichar \
				# Remove the below from the above flags for Debug.
CFLAGS		=	-marm -march=armv4t -mtune=arm920 -mapcs \
	       		-finline-functions \
	       		-fshort-enums \
	       		-mstructure-size-boundary=32 \
	       		-mno-thumb-interwork \
				-I$(GPSDK)/include \
				-g \
	       		-O2 \
	       		-fomit-frame-pointer

CPPFLAGS	=	$(CFLAGS)

DEFINES 	= 	-D__GP32__
DEFINES		+=	-DNONSTANDARD_PORT

# Support Vorbis Tremor Patches.
#DEFINES	+=	-DVORBIS_TREMOR

# Support LIBMAD Patches.
#DEFINES	+=	-DGP32_MADMP3

# Support for 8:3 save files names (The GP32 uses FAT12/16 (no vFAT) for the file system).
DEFINES		+=	-DSHORT_SAVENAMES

# Support for the unsigned sound mixer.
DEFINES		+=	-DOUTPUT_UNSIGNED_AUDIO

# Support for the GP32 (fmOPL derived) MIDI engine.
#	-	NOT fully implemented yet.
DEFINES		+=	-DUSE_GP32_FMOPL

LDSPECS		=	-specs=gp32_gpsdk.specs

LDFLAGS 	= 	$(STRIP_DEBUG) \
				-Wl,-Map,$(MAPFILE) \
				$(LDSPECS) -Wl,--no-warn-mismatch

LIBS		+=	-L$(GPSDK)/lib \
				-lgpmem -lgpos -lgpstdio -lgpstdlib -lgpsound -lgpgraphic -lgpfont \
				-lm -lc -lgcc

INCLUDES	+=	-Ibackends/gp32 -Iengines -I$(GPSDK)/include

MODULES		+=	backends/gp32

#GP32 Debug - Remove from Release builds
#	This builds in the GP32 GDB USB Stub. Don't use it unless you know what your doing.
#	You also need to remove ANY optemisation from the compiler flags.
#DEFINES	+=	-DGP32_GDB
#OBJS	+=	backends/gp32/debug-gdbstub-usb.o

# Standard librarys and optimization modules
OBJS	+=	backends/gp32/startup.o \
			backends/gp32/memcpy.o \
			backends/gp32/gp_asmlib.o \
			backends/gp32/gp_clipped.o \
			backends/gp32/fontdata.o

# Custom GP32 std library
OBJS	+=	backends/gp32/gp32std.o \
			backends/gp32/gp32std_grap.o \
			backends/gp32/gp32std_input.o \
			backends/gp32/gp32std_sound.o \
			#backends/gp32/dmaaudio_asm.o \
			#backends/gp32/dmaaudio.o \

#Main ScummVM for the GP32 Backend
OBJS	+= 	backends/gp32/gp32_main.o \
			backends/gp32/gp32_launcher.o \
			backends/gp32/gp32_osys.o \
			backends/gp32/gp-fs.o

#install: all
					#$(EXECUTE_TOOL) $(BIN)

$(FXE): $(BIN)
					$(FXETOOL) -f -a "The ScummVM Team" -t "ScummVM for the GP32" $< $@
#					$(FXETOOL) -f -a "The ScummVM Team" -t "ScummVM for the GP32" -b scummvm.bmp $< $@

$(BIN): scummvm$(EXEEXT)
					$(OBJCOPY) -O binary $< $@

#######################################################################
# Compile options - you can modify these to tweak ScummVM compilation #
#######################################################################

# Uncomment this to activate the MAD lib for compressed sound files
# DEFINES += -DUSE_MAD
# LIBS    += -lmad

# Uncomment this to activate the Ogg Vorbis lib for compressed sound files
# You MUST use Tremor for Ogg Vorbis support on the GP32 port.
# DEFINES += -DUSE_VORBIS
# LIBS    += -lvorbisfile -lvorbis

# Uncomment this to activate the ALSA lib for midi
# DEFINES += -DUSE_ALSA
# LIBS    += -lasound

# Uncomment this to cause warnings to be treated as errors
# CXXFLAGS+= -Werror

# Uncomment this to use GCC 3.x specific dependency tracking (recommended)
HAVE_GCC3 = 1

#######################################################################
# Control which modules are built - uncomment any to disable module   #
#######################################################################

DISABLE_SCALERS = 1
DISABLE_HQ_SCALERS = 1

#DISABLE_SCUMM = 1
#DISABLE_SCUMM_7_8 = 1
DISABLE_HE = 1
DISABLE_SIMON = 1
DISABLE_SKY = 1
DISABLE_QUEEN = 1


# The engines below are not supported on the GP32 port so there is
# no point compiling support into the binary.
DISABLE_SWORD1 = 1
DISABLE_SWORD2 = 1

# In-development engines below.
# Disable for ALL release builds.
DISABLE_SAGA = 1
DISABLE_KYRA = 1
DISABLE_GOB = 1

#######################################################################
# Misc stuff - you should normally never have to edit this            #
#######################################################################

EXECUTABLE := scummvm$(EXEEXT)

include Makefile.common

dist:
	$(RM) $(ZIPFILE)
	$(ZIP) $(ZIPFILE) $(DISTFILES)

install: $(FXE)
		$(EXECUTE_TOOL) $(BIN)	

svn-id: r20664
2006-02-13 05:38:47 +00:00
Max Horn
cbb2ca005c Change CVS keywords to SVN keywords
svn-id: r20535
2006-02-11 12:47:47 +00:00
Eugene Sandulenko
ea42bad781 Update copyright notice
svn-id: r20088
2006-01-18 17:39:49 +00:00
Won Star
1ab01a6fb7 Oops
svn-id: r19930
2006-01-06 13:13:58 +00:00
Won Star
8b4627d247 * Accurate / fast gamma correction using LUT
* Enable changing FM quality and sample rate
* Saves launcher setting to SMC
* Etc.

svn-id: r19929
2006-01-06 12:48:48 +00:00
Won Star
17319d77cf More key mappings. Now we can play monkey2 :)
svn-id: r19803
2005-12-18 06:08:54 +00:00
Eugene Sandulenko
910a3ee48c Proper code formatting
svn-id: r19801
2005-12-17 07:33:45 +00:00
Won Star
a36c5781c1 Some tweaks on the GP32 sound code.
svn-id: r19800
2005-12-17 06:12:28 +00:00
Won Star
3878231019 Fixed possible OOB access.
svn-id: r19760
2005-12-08 12:39:54 +00:00
Won Star
858cfbdd07 Remove obsolete files.
svn-id: r19742
2005-12-04 16:05:28 +00:00
Lars Persson
fd0ad7beae FSF adress updates
svn-id: r19741
2005-12-04 08:49:08 +00:00
Eugene Sandulenko
edfae828f6 Patch #1341626: "New GP32 port"
svn-id: r19710
2005-11-27 02:35:57 +00:00
Eugene Sandulenko
b36677af71 Update FSF address. Eek. Actually that took place on May 1, 2005
svn-id: r19142
2005-10-18 01:30:26 +00:00
Jonathan Gray
603a5e4d6f Don't explicity check for tremor and vorbis everywhere and
require both USE_TREMOR and USE_VORBIS to be defined when
using tremor.

svn-id: r18642
2005-08-10 12:42:56 +00:00
Eugene Sandulenko
6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Max Horn
8b1d7b9166 When including files from common/, explicitly use the common/ prefix
svn-id: r18444
2005-06-24 15:23:51 +00:00
Jonathan Gray
24c92d0091 Remove usage of vsprintf in favour of vsnprintf and make
more use of STRINGBUFLEN.  Some ports may need a new stub for
this, discussed with Chrilith.

svn-id: r17463
2005-04-09 01:52:44 +00:00
Eugene Sandulenko
7bb53f3bf1 Patch #1013937 "OSystem layer with bigger resolution". Now you will always
get at least 640x400 window. And finally we have means of implementing
nice looking GUI.

Also updated all backends. If your backend has ability to run with 640x400 or
640x480 resolution then read patch tracker item to find out details. Other
port maintainers shouldn't worry, as this patch doesn't affect them, they
still get their 320x200.

svn-id: r17055
2005-03-09 23:07:32 +00:00
Eugene Sandulenko
b72df416a6 WIP of GP32 port. Now it is more correct port and compiles with current
CVS. Though it has some issues unresolved, one of them is that it crashes
right after splash screen without showing anything. Work in progress :)

svn-id: r17054
2005-03-09 22:21:57 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
f09293b22c Clean up OSystem::Event
svn-id: r15990
2004-12-05 17:42:20 +00:00
Max Horn
ce8c99bf62 Rename remaining OSystem methods to match our coding guidelines
svn-id: r15332
2004-09-28 20:19:37 +00:00
Max Horn
4bd05071e5 Got rid of OSystem::move_screen
svn-id: r14882
2004-09-04 01:31:04 +00:00
Max Horn
88fdb5a627 Removed default value for keycolor in the OSystem implementations
svn-id: r13796
2004-05-06 09:20:21 +00:00
Eugene Sandulenko
b7e62e4b61 Extend setMouseCursor with additional keycolor parameter. Lets saga use 255
as white color. Made this function more safe by copying cursor data to
newly created buffer.

svn-id: r13777
2004-05-05 02:32:46 +00:00
Max Horn
14378cb56e Renamed more OSystem methods
svn-id: r13410
2004-03-28 16:30:50 +00:00
Max Horn
e8f7214acb Renamed OSystem::set_timer() to setTimerCallback(); more OSystem Doxygen changes
svn-id: r13289
2004-03-15 01:18:47 +00:00
Max Horn
e46ba2f29f Added OSystem::getDefaultGraphicsMode(); renamed OSystem::get_height() and get_width() to getHeight and getWidth(); augmented some doxygen comments in common/system.h
svn-id: r13284
2004-03-15 00:45:45 +00:00
Max Horn
c6752cccf5 renamed more OSystem methods to follow our naming scheme; renamed NewGuiColor to OverlayColor; fixed some calls to error() in the SDL backend
svn-id: r13087
2004-02-28 12:58:13 +00:00
Max Horn
d158280425 the OSystem changes we discussed on the ML (note: renaming of the existing OSystem API is not yet finished); porters will have to fix their ports to get them to compile again
svn-id: r13036
2004-02-24 22:39:42 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Jonathan Gray
8ce682d330 spelling fixes
svn-id: r11181
2003-11-07 02:51:08 +00:00
Max Horn
74b496a062 added PROP_GET_GFX_MODE; removed PROP_SHOW_DEFAULT_CURSOR
svn-id: r11132
2003-11-04 20:46:20 +00:00
Max Horn
0e645f88ae renamed namespace ScummVM to Common
svn-id: r10544
2003-10-02 17:43:02 +00:00
Max Horn
49d2a22b42 OSystem changes: removed create_thread() method (not needed anymore; 'pure' threads aren't very portable anyway, better we only use timers); introduced OSystem::TimerProc type
svn-id: r10430
2003-09-27 16:54:11 +00:00