From 19e1d89f008e33c87aa148d5dedc4335db76e5fb Mon Sep 17 00:00:00 2001 From: Tim Allen Date: Sat, 9 Apr 2016 13:40:12 +1000 Subject: [PATCH] Update to v098r01 release. byuu says: Changelog: - SFC: balanced profile removed - SFC: performance profile removed - SFC: code for handling non-threaded CPU, SMP, DSP, PPU removed - SFC: Coprocessor, Controller (and expansion port) shared Thread code merged to SFC::Cothread - Cothread here just means "Thread with CPU affinity" (couldn't think of a better name, sorry) - SFC: CPU now has vector coprocessors, peripherals; - this is the beginning of work to allow expansion port devices to be dynamically changed at run-time - ruby: all audio drivers default to 48000hz instead of 22050hz now if no frequency is assigned - note: the WASAPI driver can default to whatever the native frequency is; doesn't have to be 48000hz - tomoko: removed the ability to change the frequency from the UI (but it will display the frequency used) - tomoko: removed the timing settings panel - the goal is to work toward smooth video via adaptive sync - the model is broken by not being in control of the audio frequency anyway - it's further broken by PAL running at 50hz and WSC running at 75hz - it was always broken anyway by SNES interlace timing varying from progressive timing - higan: audio/ stub created (for now, it's just nall/dsp/ moved here and included as a header) - higan: video/ stub created - higan/GNUmakefile: now includes build rules for essential components (libco, emulator, audio, video) The audio changes are in preparation to merge wareya's awesome WASAPI work without the need for the nall/dsp resampler. --- higan/GNUmakefile | 8 +- higan/audio/audio.cpp | 5 + higan/audio/audio.hpp | 7 + {nall/dsp => higan/audio}/buffer.hpp | 0 {nall/dsp => higan/audio}/core.hpp | 0 .../dsp => higan/audio}/resample/average.hpp | 0 {nall/dsp => higan/audio}/resample/cosine.hpp | 0 {nall/dsp => higan/audio}/resample/cubic.hpp | 0 .../dsp => higan/audio}/resample/hermite.hpp | 0 .../dsp => higan/audio}/resample/lib/sinc.hpp | 0 {nall/dsp => higan/audio}/resample/linear.hpp | 0 .../dsp => higan/audio}/resample/nearest.hpp | 0 {nall/dsp => higan/audio}/resample/sinc.hpp | 0 {nall/dsp => higan/audio}/settings.hpp | 0 higan/emulator/GNUmakefile | 3 - higan/emulator/emulator.hpp | 13 +- higan/sfc/GNUmakefile | 31 +- higan/sfc/alt/cpu/cpu.cpp | 167 -- higan/sfc/alt/cpu/cpu.hpp | 152 -- higan/sfc/alt/cpu/dma.cpp | 200 --- higan/sfc/alt/cpu/memory.cpp | 44 - higan/sfc/alt/cpu/mmio.cpp | 307 ---- higan/sfc/alt/cpu/serialization.cpp | 82 - higan/sfc/alt/cpu/timing.cpp | 114 -- higan/sfc/alt/dsp/SPC_DSP.cpp | 1027 ----------- higan/sfc/alt/dsp/SPC_DSP.h | 307 ---- higan/sfc/alt/dsp/blargg_common.h | 186 -- higan/sfc/alt/dsp/blargg_config.h | 24 - higan/sfc/alt/dsp/blargg_endian.h | 185 -- higan/sfc/alt/dsp/blargg_source.h | 100 -- higan/sfc/alt/dsp/dsp.cpp | 71 - higan/sfc/alt/dsp/dsp.hpp | 31 - higan/sfc/alt/dsp/serialization.cpp | 27 - higan/sfc/alt/ppu-balanced/memory/memory.cpp | 153 -- higan/sfc/alt/ppu-balanced/memory/memory.hpp | 10 - higan/sfc/alt/ppu-balanced/mmio/mmio.cpp | 667 ------- higan/sfc/alt/ppu-balanced/mmio/mmio.hpp | 202 --- higan/sfc/alt/ppu-balanced/ppu.cpp | 427 ----- higan/sfc/alt/ppu-balanced/ppu.hpp | 78 - higan/sfc/alt/ppu-balanced/render/addsub.cpp | 21 - higan/sfc/alt/ppu-balanced/render/bg.cpp | 205 --- higan/sfc/alt/ppu-balanced/render/cache.cpp | 143 -- higan/sfc/alt/ppu-balanced/render/line.cpp | 107 -- higan/sfc/alt/ppu-balanced/render/mode7.cpp | 140 -- higan/sfc/alt/ppu-balanced/render/oam.cpp | 233 --- higan/sfc/alt/ppu-balanced/render/render.cpp | 125 -- higan/sfc/alt/ppu-balanced/render/render.hpp | 99 - higan/sfc/alt/ppu-balanced/render/windows.cpp | 66 - higan/sfc/alt/ppu-balanced/serialization.cpp | 203 --- .../ppu-performance/background/background.cpp | 180 -- .../ppu-performance/background/background.hpp | 68 - .../alt/ppu-performance/background/mode7.cpp | 102 -- higan/sfc/alt/ppu-performance/cache/cache.cpp | 119 -- higan/sfc/alt/ppu-performance/cache/cache.hpp | 16 - higan/sfc/alt/ppu-performance/mmio/mmio.cpp | 886 --------- higan/sfc/alt/ppu-performance/mmio/mmio.hpp | 95 - higan/sfc/alt/ppu-performance/ppu.cpp | 152 -- higan/sfc/alt/ppu-performance/ppu.hpp | 70 - .../sfc/alt/ppu-performance/screen/screen.cpp | 150 -- .../sfc/alt/ppu-performance/screen/screen.hpp | 45 - .../sfc/alt/ppu-performance/serialization.cpp | 245 --- .../sfc/alt/ppu-performance/sprite/sprite.cpp | 186 -- .../sfc/alt/ppu-performance/sprite/sprite.hpp | 73 - .../sfc/alt/ppu-performance/window/window.cpp | 94 - .../sfc/alt/ppu-performance/window/window.hpp | 35 - higan/sfc/alt/smp/algorithms.cpp | 122 -- higan/sfc/alt/smp/core.cpp | 104 -- higan/sfc/alt/smp/core/cc.sh | 1 - higan/sfc/alt/smp/core/generate.cpp | 154 -- higan/sfc/alt/smp/core/op_misc.b | 163 -- higan/sfc/alt/smp/core/op_misc.cpp | 346 ---- higan/sfc/alt/smp/core/op_mov.b | 217 --- higan/sfc/alt/smp/core/op_mov.cpp | 389 ---- higan/sfc/alt/smp/core/op_pc.b | 179 -- higan/sfc/alt/smp/core/op_pc.cpp | 603 ------- higan/sfc/alt/smp/core/op_read.b | 205 --- higan/sfc/alt/smp/core/op_read.cpp | 744 -------- higan/sfc/alt/smp/core/op_rmw.b | 74 - higan/sfc/alt/smp/core/op_rmw.cpp | 262 --- higan/sfc/alt/smp/core/opcycle_misc.cpp | 696 ------- higan/sfc/alt/smp/core/opcycle_mov.cpp | 806 --------- higan/sfc/alt/smp/core/opcycle_pc.cpp | 1347 -------------- higan/sfc/alt/smp/core/opcycle_read.cpp | 1599 ----------------- higan/sfc/alt/smp/core/opcycle_rmw.cpp | 550 ------ higan/sfc/alt/smp/disassembler.cpp | 305 ---- higan/sfc/alt/smp/memory.cpp | 130 -- higan/sfc/alt/smp/smp.cpp | 145 -- higan/sfc/alt/smp/smp.hpp | 118 -- higan/sfc/alt/smp/timing.cpp | 26 - higan/sfc/controller/controller.cpp | 13 - higan/sfc/controller/controller.hpp | 8 +- higan/sfc/coprocessor/armdsp/armdsp.cpp | 2 +- higan/sfc/coprocessor/armdsp/armdsp.hpp | 2 +- higan/sfc/coprocessor/coprocessor.hpp | 13 - higan/sfc/coprocessor/epsonrtc/epsonrtc.hpp | 2 +- higan/sfc/coprocessor/event/event.hpp | 2 +- .../sfc/coprocessor/hitachidsp/hitachidsp.hpp | 2 +- higan/sfc/coprocessor/icd2/icd2.hpp | 2 +- higan/sfc/coprocessor/msu1/msu1.hpp | 2 +- higan/sfc/coprocessor/necdsp/necdsp.hpp | 2 +- higan/sfc/coprocessor/sa1/sa1.hpp | 2 +- higan/sfc/coprocessor/sharprtc/sharprtc.hpp | 2 +- higan/sfc/coprocessor/spc7110/spc7110.hpp | 2 +- higan/sfc/coprocessor/superfx/superfx.hpp | 2 +- .../sfc/coprocessor/superfx/timing/timing.cpp | 2 +- higan/sfc/cpu/cpu.cpp | 34 +- higan/sfc/cpu/cpu.hpp | 5 +- higan/sfc/cpu/joypad.cpp | 2 +- higan/sfc/dsp/dsp.cpp | 6 +- higan/sfc/dsp/dsp.hpp | 2 - higan/sfc/expansion/21fx/21fx.cpp | 9 - higan/sfc/expansion/21fx/21fx.hpp | 3 +- higan/sfc/expansion/superdisc/superdisc.hpp | 2 +- higan/sfc/ppu/ppu.cpp | 6 +- higan/sfc/ppu/ppu.hpp | 2 - higan/sfc/profile-accuracy.hpp | 4 - higan/sfc/profile-balanced.hpp | 4 - higan/sfc/profile-performance.hpp | 8 - higan/sfc/sfc.hpp | 32 +- higan/sfc/smp/smp.cpp | 12 +- higan/sfc/smp/smp.hpp | 2 - higan/sfc/system/device.cpp | 4 + higan/sfc/system/serialization.cpp | 27 +- higan/sfc/system/system.cpp | 15 +- higan/target-loki/GNUmakefile | 3 - higan/target-tomoko/GNUmakefile | 3 - .../configuration/configuration.cpp | 7 - .../presentation/presentation.cpp | 2 +- higan/target-tomoko/program/program.cpp | 13 +- higan/target-tomoko/program/utility.cpp | 10 +- higan/target-tomoko/settings/audio.cpp | 22 +- higan/target-tomoko/settings/settings.cpp | 1 - higan/target-tomoko/settings/settings.hpp | 17 - higan/target-tomoko/settings/timing.cpp | 18 - higan/video/video.cpp | 5 + higan/video/video.hpp | 5 + nall/dsp.hpp | 10 - ruby/audio/alsa.cpp | 2 +- ruby/audio/ao.cpp | 2 +- ruby/audio/directsound.cpp | 2 +- ruby/audio/openal.cpp | 2 +- ruby/audio/oss.cpp | 22 +- ruby/audio/pulseaudio.cpp | 2 +- ruby/audio/pulseaudiosimple.cpp | 2 +- ruby/audio/wasapi.cpp | 2 +- ruby/audio/xaudio2.cpp | 2 +- 146 files changed, 151 insertions(+), 18013 deletions(-) create mode 100644 higan/audio/audio.cpp create mode 100644 higan/audio/audio.hpp rename {nall/dsp => higan/audio}/buffer.hpp (100%) rename {nall/dsp => higan/audio}/core.hpp (100%) rename {nall/dsp => higan/audio}/resample/average.hpp (100%) rename {nall/dsp => higan/audio}/resample/cosine.hpp (100%) rename {nall/dsp => higan/audio}/resample/cubic.hpp (100%) rename {nall/dsp => higan/audio}/resample/hermite.hpp (100%) rename {nall/dsp => higan/audio}/resample/lib/sinc.hpp (100%) rename {nall/dsp => higan/audio}/resample/linear.hpp (100%) rename {nall/dsp => higan/audio}/resample/nearest.hpp (100%) rename {nall/dsp => higan/audio}/resample/sinc.hpp (100%) rename {nall/dsp => higan/audio}/settings.hpp (100%) delete mode 100644 higan/emulator/GNUmakefile delete mode 100644 higan/sfc/alt/cpu/cpu.cpp delete mode 100644 higan/sfc/alt/cpu/cpu.hpp delete mode 100644 higan/sfc/alt/cpu/dma.cpp delete mode 100644 higan/sfc/alt/cpu/memory.cpp delete mode 100644 higan/sfc/alt/cpu/mmio.cpp delete mode 100644 higan/sfc/alt/cpu/serialization.cpp delete mode 100644 higan/sfc/alt/cpu/timing.cpp delete mode 100644 higan/sfc/alt/dsp/SPC_DSP.cpp delete mode 100644 higan/sfc/alt/dsp/SPC_DSP.h delete mode 100644 higan/sfc/alt/dsp/blargg_common.h delete mode 100644 higan/sfc/alt/dsp/blargg_config.h delete mode 100644 higan/sfc/alt/dsp/blargg_endian.h delete mode 100644 higan/sfc/alt/dsp/blargg_source.h delete mode 100644 higan/sfc/alt/dsp/dsp.cpp delete mode 100644 higan/sfc/alt/dsp/dsp.hpp delete mode 100644 higan/sfc/alt/dsp/serialization.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/memory/memory.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/memory/memory.hpp delete mode 100644 higan/sfc/alt/ppu-balanced/mmio/mmio.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/mmio/mmio.hpp delete mode 100644 higan/sfc/alt/ppu-balanced/ppu.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/ppu.hpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/addsub.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/bg.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/cache.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/line.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/mode7.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/oam.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/render.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/render.hpp delete mode 100644 higan/sfc/alt/ppu-balanced/render/windows.cpp delete mode 100644 higan/sfc/alt/ppu-balanced/serialization.cpp delete mode 100644 higan/sfc/alt/ppu-performance/background/background.cpp delete mode 100644 higan/sfc/alt/ppu-performance/background/background.hpp delete mode 100644 higan/sfc/alt/ppu-performance/background/mode7.cpp delete mode 100644 higan/sfc/alt/ppu-performance/cache/cache.cpp delete mode 100644 higan/sfc/alt/ppu-performance/cache/cache.hpp delete mode 100644 higan/sfc/alt/ppu-performance/mmio/mmio.cpp delete mode 100644 higan/sfc/alt/ppu-performance/mmio/mmio.hpp delete mode 100644 higan/sfc/alt/ppu-performance/ppu.cpp delete mode 100644 higan/sfc/alt/ppu-performance/ppu.hpp delete mode 100644 higan/sfc/alt/ppu-performance/screen/screen.cpp delete mode 100644 higan/sfc/alt/ppu-performance/screen/screen.hpp delete mode 100644 higan/sfc/alt/ppu-performance/serialization.cpp delete mode 100644 higan/sfc/alt/ppu-performance/sprite/sprite.cpp delete mode 100644 higan/sfc/alt/ppu-performance/sprite/sprite.hpp delete mode 100644 higan/sfc/alt/ppu-performance/window/window.cpp delete mode 100644 higan/sfc/alt/ppu-performance/window/window.hpp delete mode 100644 higan/sfc/alt/smp/algorithms.cpp delete mode 100644 higan/sfc/alt/smp/core.cpp delete mode 100644 higan/sfc/alt/smp/core/cc.sh delete mode 100644 higan/sfc/alt/smp/core/generate.cpp delete mode 100644 higan/sfc/alt/smp/core/op_misc.b delete mode 100644 higan/sfc/alt/smp/core/op_misc.cpp delete mode 100644 higan/sfc/alt/smp/core/op_mov.b delete mode 100644 higan/sfc/alt/smp/core/op_mov.cpp delete mode 100644 higan/sfc/alt/smp/core/op_pc.b delete mode 100644 higan/sfc/alt/smp/core/op_pc.cpp delete mode 100644 higan/sfc/alt/smp/core/op_read.b delete mode 100644 higan/sfc/alt/smp/core/op_read.cpp delete mode 100644 higan/sfc/alt/smp/core/op_rmw.b delete mode 100644 higan/sfc/alt/smp/core/op_rmw.cpp delete mode 100644 higan/sfc/alt/smp/core/opcycle_misc.cpp delete mode 100644 higan/sfc/alt/smp/core/opcycle_mov.cpp delete mode 100644 higan/sfc/alt/smp/core/opcycle_pc.cpp delete mode 100644 higan/sfc/alt/smp/core/opcycle_read.cpp delete mode 100644 higan/sfc/alt/smp/core/opcycle_rmw.cpp delete mode 100644 higan/sfc/alt/smp/disassembler.cpp delete mode 100644 higan/sfc/alt/smp/memory.cpp delete mode 100644 higan/sfc/alt/smp/smp.cpp delete mode 100644 higan/sfc/alt/smp/smp.hpp delete mode 100644 higan/sfc/alt/smp/timing.cpp delete mode 100644 higan/sfc/profile-accuracy.hpp delete mode 100644 higan/sfc/profile-balanced.hpp delete mode 100644 higan/sfc/profile-performance.hpp delete mode 100644 higan/target-tomoko/settings/timing.cpp create mode 100644 higan/video/video.cpp create mode 100644 higan/video/video.hpp delete mode 100644 nall/dsp.hpp diff --git a/higan/GNUmakefile b/higan/GNUmakefile index ab9565dc..020c149c 100644 --- a/higan/GNUmakefile +++ b/higan/GNUmakefile @@ -2,11 +2,10 @@ include ../nall/GNUmakefile target := tomoko # target := loki -profile := accuracy # console := true flags += -I. -I.. -O3 -objects := libco +objects := libco emulator audio video # profile-guided optimization mode # pgo := instrument @@ -54,6 +53,11 @@ compile = \ all: build; +obj/libco.o: ../libco/libco.c $(call rwildcard,../libco/) +obj/emulator.o: emulator/emulator.cpp $(call rwildcard,emulator/) +obj/audio.o: audio/audio.cpp $(call rwildcard,audio/) +obj/video.o: video/video.cpp $(call rwildcard,video/) + ui := target-$(target) include $(ui)/GNUmakefile diff --git a/higan/audio/audio.cpp b/higan/audio/audio.cpp new file mode 100644 index 00000000..d0c691fb --- /dev/null +++ b/higan/audio/audio.cpp @@ -0,0 +1,5 @@ +#include + +namespace { + +} diff --git a/higan/audio/audio.hpp b/higan/audio/audio.hpp new file mode 100644 index 00000000..bb73278b --- /dev/null +++ b/higan/audio/audio.hpp @@ -0,0 +1,7 @@ +#pragma once + +#include "core.hpp" + +namespace { + +} diff --git a/nall/dsp/buffer.hpp b/higan/audio/buffer.hpp similarity index 100% rename from nall/dsp/buffer.hpp rename to higan/audio/buffer.hpp diff --git a/nall/dsp/core.hpp b/higan/audio/core.hpp similarity index 100% rename from nall/dsp/core.hpp rename to higan/audio/core.hpp diff --git a/nall/dsp/resample/average.hpp b/higan/audio/resample/average.hpp similarity index 100% rename from nall/dsp/resample/average.hpp rename to higan/audio/resample/average.hpp diff --git a/nall/dsp/resample/cosine.hpp b/higan/audio/resample/cosine.hpp similarity index 100% rename from nall/dsp/resample/cosine.hpp rename to higan/audio/resample/cosine.hpp diff --git a/nall/dsp/resample/cubic.hpp b/higan/audio/resample/cubic.hpp similarity index 100% rename from nall/dsp/resample/cubic.hpp rename to higan/audio/resample/cubic.hpp diff --git a/nall/dsp/resample/hermite.hpp b/higan/audio/resample/hermite.hpp similarity index 100% rename from nall/dsp/resample/hermite.hpp rename to higan/audio/resample/hermite.hpp diff --git a/nall/dsp/resample/lib/sinc.hpp b/higan/audio/resample/lib/sinc.hpp similarity index 100% rename from nall/dsp/resample/lib/sinc.hpp rename to higan/audio/resample/lib/sinc.hpp diff --git a/nall/dsp/resample/linear.hpp b/higan/audio/resample/linear.hpp similarity index 100% rename from nall/dsp/resample/linear.hpp rename to higan/audio/resample/linear.hpp diff --git a/nall/dsp/resample/nearest.hpp b/higan/audio/resample/nearest.hpp similarity index 100% rename from nall/dsp/resample/nearest.hpp rename to higan/audio/resample/nearest.hpp diff --git a/nall/dsp/resample/sinc.hpp b/higan/audio/resample/sinc.hpp similarity index 100% rename from nall/dsp/resample/sinc.hpp rename to higan/audio/resample/sinc.hpp diff --git a/nall/dsp/settings.hpp b/higan/audio/settings.hpp similarity index 100% rename from nall/dsp/settings.hpp rename to higan/audio/settings.hpp diff --git a/higan/emulator/GNUmakefile b/higan/emulator/GNUmakefile deleted file mode 100644 index 8b8147bd..00000000 --- a/higan/emulator/GNUmakefile +++ /dev/null @@ -1,3 +0,0 @@ -objects += emulator - -obj/emulator.o: emulator/emulator.cpp $(call rwildcard,emulator/) diff --git a/higan/emulator/emulator.hpp b/higan/emulator/emulator.hpp index e17894b5..075468e6 100644 --- a/higan/emulator/emulator.hpp +++ b/higan/emulator/emulator.hpp @@ -1,23 +1,16 @@ #pragma once #include -#include using namespace nall; +#include