From 701d4146b6b15906c41a76d82e37b48bc16aab2c Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Wed, 4 Feb 2009 04:34:31 +0000 Subject: [PATCH] cleanup testsuite a bit and add simple test of wii RTC (it's off about 8yrs 4 days) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2103 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/TestSuite/ARAM/ARAM.vcproj | 21 --- Source/TestSuite/AX/AX.vcproj | 21 --- Source/TestSuite/GX/GX.vcproj | 21 --- Source/TestSuite/PAD/PAD.vcproj | 21 --- Source/TestSuite/RTC/RTC.vcproj | 21 --- .../TestSuite/RTC/source/dolphintest_rtc.cpp | 2 +- Source/TestSuite/SI/SI.vcproj | 21 --- Source/TestSuite/TestSuite.sln | 4 + Source/TestSuite/WPAD/WPAD.vcproj | 23 +-- Source/TestSuite/WRTC/Makefile | 135 ++++++++++++++++++ Source/TestSuite/WRTC/WRTC.vcproj | 63 ++++++++ .../WRTC/source/dolphintest_wrtc.cpp | 72 ++++++++++ 12 files changed, 276 insertions(+), 149 deletions(-) create mode 100644 Source/TestSuite/WRTC/Makefile create mode 100644 Source/TestSuite/WRTC/WRTC.vcproj create mode 100644 Source/TestSuite/WRTC/source/dolphintest_wrtc.cpp diff --git a/Source/TestSuite/ARAM/ARAM.vcproj b/Source/TestSuite/ARAM/ARAM.vcproj index 5f52d00cb5..39cc48d578 100644 --- a/Source/TestSuite/ARAM/ARAM.vcproj +++ b/Source/TestSuite/ARAM/ARAM.vcproj @@ -16,27 +16,6 @@ - - - - - - - - - - - - - - - - - - - - - devkitPPC") +endif + +include $(DEVKITPPC)/wii_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# INCLUDES is a list of directories containing extra header files +#--------------------------------------------------------------------------------- +TARGET := $(notdir $(CURDIR)) +BUILD := build +SOURCES := source +DATA := data +INCLUDES := + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- + +CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) +CXXFLAGS = $(CFLAGS) + +LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lwiiuse -lbte -logc -lm + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) + export LD := $(CC) +else + export LD := $(CXX) +endif + +export OFILES := $(addsuffix .o,$(BINFILES)) \ + $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ + $(sFILES:.s=.o) $(SFILES:.S=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) \ + -I$(LIBOGC_INC) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ + -L$(LIBOGC_LIB) + +export OUTPUT := $(CURDIR)/$(TARGET) +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol + +#--------------------------------------------------------------------------------- +run: + wiiload $(TARGET).dol + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).dol: $(OUTPUT).elf +$(OUTPUT).elf: $(OFILES) + +#--------------------------------------------------------------------------------- +# This rule links in binary data with the .jpg extension +#--------------------------------------------------------------------------------- +%.jpg.o : %.jpg +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + $(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- diff --git a/Source/TestSuite/WRTC/WRTC.vcproj b/Source/TestSuite/WRTC/WRTC.vcproj new file mode 100644 index 0000000000..81554d35de --- /dev/null +++ b/Source/TestSuite/WRTC/WRTC.vcproj @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/TestSuite/WRTC/source/dolphintest_wrtc.cpp b/Source/TestSuite/WRTC/source/dolphintest_wrtc.cpp new file mode 100644 index 0000000000..f96e08369e --- /dev/null +++ b/Source/TestSuite/WRTC/source/dolphintest_wrtc.cpp @@ -0,0 +1,72 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +static void *xfb = NULL; + +u32 first_frame = 1; +GXRModeObj *rmode; + +void Initialise(); + + +int main() +{ + Initialise(); + + time_t wii_time; + wii_time = time(NULL); + + srand(wii_time); + + while(1) + { + wii_time = time(NULL); + std::cout<<"\x1b[10;0HWii RTC time is"<fbWidth,rmode->xfbHeight,rmode->fbWidth*VI_DISPLAY_PIX_SZ); + + // Set up the video registers with the chosen mode + VIDEO_Configure(rmode); + + // Tell the video hardware where our display memory is + VIDEO_SetNextFramebuffer(xfb); + + // Make the display visible + VIDEO_SetBlack(FALSE); + + // Flush the video register changes to the hardware + VIDEO_Flush(); + + // Wait for Video setup to complete + VIDEO_WaitVSync(); + if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync(); +}