diff --git a/BizHawk.MultiClient/output/dll/libmeteor.dll b/BizHawk.MultiClient/output/dll/libmeteor.dll new file mode 100644 index 0000000000..54d5a771fe Binary files /dev/null and b/BizHawk.MultiClient/output/dll/libmeteor.dll differ diff --git a/libmeteor/Makefile b/libmeteor/Makefile new file mode 100644 index 0000000000..3d6a1c16c5 --- /dev/null +++ b/libmeteor/Makefile @@ -0,0 +1,109 @@ +# this was modified at one point so that it would compile in our bizhawk project, but isn't in +# use at the moment. tread carefully + +ifeq ($(platform),) +platform = unix +ifeq ($(shell uname -a),) + platform = win +else ifneq ($(findstring MINGW,$(shell uname -a)),) + platform = win +else ifneq ($(findstring Darwin,$(shell uname -a)),) + platform = osx +else ifneq ($(findstring win,$(shell uname -a)),) + platform = win +endif +endif + +ifeq ($(platform), unix) + TARGET := libmeteor.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined +else ifeq ($(platform), osx) + TARGET := libmeteor.dylib + fpic := -fPIC + SHARED := -dynamiclib +else + TARGET := libmeteor.dll + CXX = g++ +# SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T -Wl,--no-undefined + SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--no-undefined + CXXFLAGS += -DNO_MEMMEM +endif + +#CXXFLAGS += -Wall -pedantic -I. -I../ameteor/include -pipe -D__LIBRETRO__ -Wno-parentheses -fno-exceptions -fno-rtti +CXXFLAGS += -Wall -pedantic -I. -Iinclude -pipe -D__LIBRETRO__ -Wno-parentheses -fno-exceptions -fno-rtti + +ifeq ($(DEBUG), 1) + CFLAGS += -O0 -g + CXXFLAGS += -O0 -g +else + CFLAGS += -O3 + CXXFLAGS += -O3 +endif + +#SRCDIR := ../ameteor/source +SRCDIR := ./source + +SOURCES := \ + $(SRCDIR)/audio/dsound.cpp \ + $(SRCDIR)/audio/sound1.cpp \ + $(SRCDIR)/audio/sound2.cpp \ + $(SRCDIR)/audio/sound4.cpp \ + $(SRCDIR)/audio/speaker.cpp \ + $(SRCDIR)/disassembler/argimmediate.cpp \ + $(SRCDIR)/disassembler/argmulregisters.cpp \ + $(SRCDIR)/disassembler/argpsr.cpp \ + $(SRCDIR)/disassembler/argregister.cpp \ + $(SRCDIR)/disassembler/argrelative.cpp \ + $(SRCDIR)/disassembler/argshift.cpp \ + $(SRCDIR)/disassembler/arguimmediate.cpp \ + $(SRCDIR)/disassembler/arguments.cpp \ + $(SRCDIR)/disassembler/instruction.cpp \ + $(SRCDIR)/graphics/bglayer.cpp \ + $(SRCDIR)/graphics/object.cpp \ + $(SRCDIR)/graphics/objects.cpp \ + $(SRCDIR)/graphics/renderer.cpp \ + $(SRCDIR)/graphics/screen.cpp \ + $(SRCDIR)/ameteor.cpp \ + $(SRCDIR)/bios.cpp \ + $(SRCDIR)/clock.cpp \ + $(SRCDIR)/cpu.cpp \ + $(SRCDIR)/debug.cpp \ + $(SRCDIR)/dma.cpp \ + $(SRCDIR)/eeprom.cpp \ + $(SRCDIR)/flash.cpp \ + $(SRCDIR)/cartmem.cpp \ + $(SRCDIR)/interpreter.cpp \ + $(SRCDIR)/interpreter_arm.cpp \ + $(SRCDIR)/interpreter_thumb.cpp \ + $(SRCDIR)/io.cpp \ + $(SRCDIR)/keypad.cpp \ + $(SRCDIR)/lcd.cpp \ + $(SRCDIR)/memory.cpp \ + $(SRCDIR)/sound.cpp \ + $(SRCDIR)/sram.cpp \ + $(SRCDIR)/timer.cpp \ + cinterface.cpp +# video.cpp \ +# audio.cpp \ +# input.cpp \ +# libretro.cpp + +OBJ := $(SOURCES:.cpp=.o) + +all: $(TARGET) + +$(TARGET): $(OBJ) + @$(CXX) -o $@ $^ $(SHARED) $(LDFLAGS) $(LIBS) + @echo LD $(notdir $@) + +%.o: %.cpp + @$(CXX) -o $@ -c $< $(CXXFLAGS) $(fpic) + @echo CXX $(notdir $<) + +clean: + rm -f $(TARGET) + rm -f $(OBJ) + +.PHONY: clean + diff --git a/libmeteor/cinterface.cpp b/libmeteor/cinterface.cpp index aea61202ba..530f3352ae 100644 --- a/libmeteor/cinterface.cpp +++ b/libmeteor/cinterface.cpp @@ -16,7 +16,7 @@ void videocb(const uint16_t *frame) const uint16_t *src = frame; for (int i = 0; i < 240 * 160; i++, src++, dest++) { - uint16_t c = *frame; + uint16_t c = *src; uint16_t b = c >> 10 & 31; uint16_t g = c >> 5 & 31; uint16_t r = c & 31; diff --git a/libmeteor/libmeteor.sln b/libmeteor/libmeteor.sln new file mode 100644 index 0000000000..f9def63ac7 --- /dev/null +++ b/libmeteor/libmeteor.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmeteor", "libmeteor.vcxproj", "{EE01E7C1-6FC4-497F-82CC-C7C64E3BF9D1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE01E7C1-6FC4-497F-82CC-C7C64E3BF9D1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EE01E7C1-6FC4-497F-82CC-C7C64E3BF9D1}.Debug|Win32.Build.0 = Debug|Win32 + {EE01E7C1-6FC4-497F-82CC-C7C64E3BF9D1}.Release|Win32.ActiveCfg = Release|Win32 + {EE01E7C1-6FC4-497F-82CC-C7C64E3BF9D1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/libmeteor/libmeteor.vcxproj b/libmeteor/libmeteor.vcxproj new file mode 100644 index 0000000000..63084fdf02 --- /dev/null +++ b/libmeteor/libmeteor.vcxproj @@ -0,0 +1,165 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {EE01E7C1-6FC4-497F-82CC-C7C64E3BF9D1} + Win32Proj + libmeteor + + + + DynamicLibrary + true + Unicode + + + DynamicLibrary + false + true + Unicode + + + + + + + + + + + + + true + $(DXSDK_DIR)Include;$(IncludePath);include;include\ameteor + + + false + $(DXSDK_DIR)Include;$(IncludePath);include;include\ameteor + + + + + + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBMETEOR_EXPORTS;%(PreprocessorDefinitions);METDEBUG + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBMETEOR_EXPORTS;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libmeteor/libmeteor.vcxproj.filters b/libmeteor/libmeteor.vcxproj.filters new file mode 100644 index 0000000000..d7e6d24e13 --- /dev/null +++ b/libmeteor/libmeteor.vcxproj.filters @@ -0,0 +1,288 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {93df073d-6997-45f7-b85f-a285bca7b310} + + + {f134ab18-d00a-4652-ad25-5179aac22dbc} + + + {b152e4ad-8658-48a8-a214-3d9d1282fc70} + + + {63c54b4d-45ec-46f4-923e-38f486e19909} + + + {e3ba08fe-cf72-4aed-857c-697b3e437472} + + + {486541a1-445b-4012-8c31-218e65ea1e0b} + + + {66d5a4ba-681b-448c-8912-ecbb110d4896} + + + {a989399f-ba01-4804-ae68-ba5f363a2f9f} + + + {05542396-9b85-441b-beb8-8c49f126a881} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\audio + + + Source Files\audio + + + Source Files\audio + + + Source Files\audio + + + Source Files\audio + + + Source Files\graphics + + + Source Files\graphics + + + Source Files\graphics + + + Source Files\graphics + + + Source Files\graphics + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\disassembler + + + Source Files\cinterface + + + + + Header Files + + + Header Files\syg + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor\audio + + + Header Files\ameteor\audio + + + Header Files\ameteor\audio + + + Header Files\ameteor\audio + + + Header Files\ameteor\audio + + + Header Files\ameteor\graphics + + + Header Files\ameteor\graphics + + + Header Files\ameteor\graphics + + + Header Files\ameteor\graphics + + + Header Files\ameteor\graphics + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor\disassembler + + + Header Files\ameteor + + + Header Files\ameteor + + + Header Files\ameteor + + + \ No newline at end of file