diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c77d78f..a7ec5eca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -158,8 +158,6 @@ endif() #-------------------------------------------------- set(REDREAM_SOURCES - src/bios/bios.c - src/bios/flash.c src/core/assert.c src/core/exception_handler.c src/core/filesystem.c @@ -174,29 +172,35 @@ set(REDREAM_SOURCES src/core/rb_tree.c src/core/sort.c src/core/string.c + src/guest/aica/aica.c + src/guest/arm7/arm7.c + src/guest/bios/bios.c + src/guest/bios/flash.c + src/guest/gdrom/cdi.c + src/guest/gdrom/disc.c + src/guest/gdrom/gdi.c + src/guest/gdrom/gdrom.c + src/guest/holly/holly.c + src/guest/maple/controller.c + src/guest/maple/maple.c + src/guest/maple/vmu.c + src/guest/pvr/pvr.c + src/guest/pvr/ta.c + src/guest/pvr/tr.c + src/guest/pvr/trace.c + src/guest/rom/boot.c + src/guest/rom/flash.c + src/guest/sh4/sh4.c + src/guest/sh4/sh4_ccn.c + src/guest/sh4/sh4_dbg.c + src/guest/sh4/sh4_dmac.c + src/guest/sh4/sh4_intc.c + src/guest/sh4/sh4_tmu.c + src/guest/debugger.c + src/guest/dreamcast.c + src/guest/memory.c + src/guest/scheduler.c src/host/keycode.c - src/hw/aica/aica.c - src/hw/arm7/arm7.c - src/hw/gdrom/cdi.c - src/hw/gdrom/disc.c - src/hw/gdrom/gdi.c - src/hw/gdrom/gdrom.c - src/hw/holly/holly.c - src/hw/maple/controller.c - src/hw/maple/maple.c - src/hw/maple/vmu.c - src/hw/pvr/pvr.c - src/hw/pvr/ta.c - src/hw/pvr/tr.c - src/hw/pvr/trace.c - src/hw/rom/boot.c - src/hw/rom/flash.c - src/hw/sh4/sh4.c - src/hw/sh4/sh4_ccn.c - src/hw/sh4/sh4_dbg.c - src/hw/sh4/sh4_dmac.c - src/hw/sh4/sh4_intc.c - src/hw/sh4/sh4_tmu.c src/jit/backend/interp/interp_backend.c src/jit/frontend/armv3/armv3_context.c src/jit/frontend/armv3/armv3_disasm.c @@ -221,11 +225,7 @@ set(REDREAM_SOURCES src/render/gl_backend.c src/render/imgui.cc src/render/microprofile.cc - src/debugger.c - src/dreamcast.c src/emulator.c - src/memory.c - src/scheduler.c src/tracer.c ) diff --git a/src/emulator.c b/src/emulator.c index f9de6e95..b48fe211 100644 --- a/src/emulator.c +++ b/src/emulator.c @@ -12,28 +12,28 @@ */ #include "emulator.h" -#include "bios/bios.h" #include "core/option.h" #include "core/profiler.h" #include "core/thread.h" #include "core/time.h" -#include "dreamcast.h" +#include "guest/aica/aica.h" +#include "guest/arm7/arm7.h" +#include "guest/bios/bios.h" +#include "guest/dreamcast.h" +#include "guest/gdrom/gdrom.h" +#include "guest/holly/holly.h" +#include "guest/maple/maple.h" +#include "guest/memory.h" +#include "guest/pvr/pvr.h" +#include "guest/pvr/ta.h" +#include "guest/pvr/tr.h" +#include "guest/pvr/trace.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" #include "host/host.h" -#include "hw/aica/aica.h" -#include "hw/arm7/arm7.h" -#include "hw/gdrom/gdrom.h" -#include "hw/holly/holly.h" -#include "hw/maple/maple.h" -#include "hw/pvr/pvr.h" -#include "hw/pvr/ta.h" -#include "hw/pvr/tr.h" -#include "hw/pvr/trace.h" -#include "hw/sh4/sh4.h" -#include "memory.h" #include "render/imgui.h" #include "render/microprofile.h" #include "render/render_backend.h" -#include "scheduler.h" DEFINE_AGGREGATE_COUNTER(frames); diff --git a/src/hw/aica/aica.c b/src/guest/aica/aica.c similarity index 99% rename from src/hw/aica/aica.c rename to src/guest/aica/aica.c index 4f76eabf..5ac75582 100644 --- a/src/hw/aica/aica.c +++ b/src/guest/aica/aica.c @@ -1,17 +1,17 @@ -#include "hw/aica/aica.h" +#include "guest/aica/aica.h" #include "core/filesystem.h" #include "core/log.h" #include "core/math.h" #include "core/option.h" #include "core/profiler.h" -#include "dreamcast.h" -#include "hw/aica/aica_types.h" -#include "hw/arm7/arm7.h" -#include "hw/holly/holly.h" -#include "hw/sh4/sh4.h" -#include "memory.h" +#include "guest/aica/aica_types.h" +#include "guest/arm7/arm7.h" +#include "guest/dreamcast.h" +#include "guest/holly/holly.h" +#include "guest/memory.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" #include "render/imgui.h" -#include "scheduler.h" DEFINE_AGGREGATE_COUNTER(aica_samples); diff --git a/src/hw/aica/aica.h b/src/guest/aica/aica.h similarity index 92% rename from src/hw/aica/aica.h rename to src/guest/aica/aica.h index 9f839b8b..8280ed61 100644 --- a/src/hw/aica/aica.h +++ b/src/guest/aica/aica.h @@ -1,7 +1,7 @@ #ifndef AICA_H #define AICA_H -#include "memory.h" +#include "guest/memory.h" struct aica; struct dreamcast; diff --git a/src/hw/aica/aica_types.h b/src/guest/aica/aica_types.h similarity index 100% rename from src/hw/aica/aica_types.h rename to src/guest/aica/aica_types.h diff --git a/src/hw/arm7/arm7.c b/src/guest/arm7/arm7.c similarity index 98% rename from src/hw/arm7/arm7.c rename to src/guest/arm7/arm7.c index a78cd14e..687663f0 100644 --- a/src/hw/arm7/arm7.c +++ b/src/guest/arm7/arm7.c @@ -1,14 +1,14 @@ -#include "hw/arm7/arm7.h" +#include "guest/arm7/arm7.h" #include "core/log.h" -#include "dreamcast.h" -#include "hw/aica/aica.h" +#include "guest/aica/aica.h" +#include "guest/dreamcast.h" +#include "guest/scheduler.h" #include "jit/frontend/armv3/armv3_context.h" #include "jit/frontend/armv3/armv3_fallback.h" #include "jit/frontend/armv3/armv3_frontend.h" #include "jit/frontend/armv3/armv3_guest.h" #include "jit/ir/ir.h" #include "jit/jit.h" -#include "scheduler.h" #if ARCH_X64 #include "jit/backend/x64/x64_backend.h" diff --git a/src/hw/arm7/arm7.h b/src/guest/arm7/arm7.h similarity index 94% rename from src/hw/arm7/arm7.h rename to src/guest/arm7/arm7.h index fb74aae9..ba5f183d 100644 --- a/src/hw/arm7/arm7.h +++ b/src/guest/arm7/arm7.h @@ -2,7 +2,7 @@ #define ARM7_H #include "core/profiler.h" -#include "memory.h" +#include "guest/memory.h" struct arm7; struct dreamcast; diff --git a/src/bios/bios.c b/src/guest/bios/bios.c similarity index 97% rename from src/bios/bios.c rename to src/guest/bios/bios.c index a553b893..ae078ea1 100644 --- a/src/bios/bios.c +++ b/src/guest/bios/bios.c @@ -1,11 +1,11 @@ #include -#include "bios/bios.h" -#include "bios/flash.h" +#include "guest/bios/bios.h" #include "core/math.h" #include "core/option.h" -#include "dreamcast.h" -#include "hw/aica/aica.h" -#include "hw/rom/flash.h" +#include "guest/aica/aica.h" +#include "guest/bios/flash.h" +#include "guest/dreamcast.h" +#include "guest/rom/flash.h" #include "render/imgui.h" DEFINE_OPTION_STRING(region, "america", "System region"); diff --git a/src/bios/bios.h b/src/guest/bios/bios.h similarity index 100% rename from src/bios/bios.h rename to src/guest/bios/bios.h diff --git a/src/bios/flash.c b/src/guest/bios/flash.c similarity index 99% rename from src/bios/flash.c rename to src/guest/bios/flash.c index 6a31fc59..4bd1ae47 100644 --- a/src/bios/flash.c +++ b/src/guest/bios/flash.c @@ -2,9 +2,9 @@ * high-level code for working with the system's flash memory */ -#include "bios/flash.h" +#include "guest/bios/flash.h" #include "core/math.h" -#include "hw/rom/flash.h" +#include "guest/rom/flash.h" #define FLASH_BLOCK_SIZE 0x40 diff --git a/src/bios/flash.h b/src/guest/bios/flash.h similarity index 91% rename from src/bios/flash.h rename to src/guest/bios/flash.h index a2370fd8..2b50a7c6 100644 --- a/src/bios/flash.h +++ b/src/guest/bios/flash.h @@ -1,7 +1,7 @@ #ifndef FLASH_H #define FLASH_H -#include "bios/flash_types.h" +#include "guest/bios/flash_types.h" struct flash; diff --git a/src/bios/flash_types.h b/src/guest/bios/flash_types.h similarity index 100% rename from src/bios/flash_types.h rename to src/guest/bios/flash_types.h diff --git a/src/debugger.c b/src/guest/debugger.c similarity index 98% rename from src/debugger.c rename to src/guest/debugger.c index 8d480838..d19f4374 100644 --- a/src/debugger.c +++ b/src/guest/debugger.c @@ -3,8 +3,8 @@ #include "gdb/gdb_server.h" #include "core/log.h" -#include "debugger.h" -#include "dreamcast.h" +#include "guest/debugger.h" +#include "guest/dreamcast.h" struct debugger { struct dreamcast *dc; diff --git a/src/debugger.h b/src/guest/debugger.h similarity index 100% rename from src/debugger.h rename to src/guest/debugger.h diff --git a/src/dreamcast.c b/src/guest/dreamcast.c similarity index 93% rename from src/dreamcast.c rename to src/guest/dreamcast.c index 79b280bc..7b301016 100644 --- a/src/dreamcast.c +++ b/src/guest/dreamcast.c @@ -1,20 +1,20 @@ -#include "dreamcast.h" -#include "bios/bios.h" +#include "guest/dreamcast.h" #include "core/option.h" #include "core/string.h" -#include "debugger.h" -#include "hw/aica/aica.h" -#include "hw/arm7/arm7.h" -#include "hw/gdrom/gdrom.h" -#include "hw/holly/holly.h" -#include "hw/maple/maple.h" -#include "hw/pvr/pvr.h" -#include "hw/pvr/ta.h" -#include "hw/rom/boot.h" -#include "hw/rom/flash.h" -#include "hw/sh4/sh4.h" -#include "memory.h" -#include "scheduler.h" +#include "guest/aica/aica.h" +#include "guest/arm7/arm7.h" +#include "guest/bios/bios.h" +#include "guest/debugger.h" +#include "guest/gdrom/gdrom.h" +#include "guest/holly/holly.h" +#include "guest/maple/maple.h" +#include "guest/memory.h" +#include "guest/pvr/pvr.h" +#include "guest/pvr/ta.h" +#include "guest/rom/boot.h" +#include "guest/rom/flash.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" void dc_poll_input(struct dreamcast *dc) { if (!dc->poll_input) { diff --git a/src/dreamcast.h b/src/guest/dreamcast.h similarity index 99% rename from src/dreamcast.h rename to src/guest/dreamcast.h index 5090152d..7440358b 100644 --- a/src/dreamcast.h +++ b/src/guest/dreamcast.h @@ -4,8 +4,8 @@ #include #include #include "core/list.h" +#include "guest/memory.h" #include "host/keycode.h" -#include "memory.h" struct aica; struct arm7; diff --git a/src/hw/gdrom/cdi.c b/src/guest/gdrom/cdi.c similarity index 99% rename from src/hw/gdrom/cdi.c rename to src/guest/gdrom/cdi.c index 7fb0f356..ddd7e43e 100644 --- a/src/hw/gdrom/cdi.c +++ b/src/guest/gdrom/cdi.c @@ -1,6 +1,6 @@ #include "core/assert.h" -#include "hw/gdrom/disc.h" -#include "hw/gdrom/gdrom_types.h" +#include "guest/gdrom/disc.h" +#include "guest/gdrom/gdrom_types.h" #define CDI_V2 0x80000004 #define CDI_V3 0x80000005 diff --git a/src/hw/gdrom/cdi.h b/src/guest/gdrom/cdi.h similarity index 100% rename from src/hw/gdrom/cdi.h rename to src/guest/gdrom/cdi.h diff --git a/src/hw/gdrom/disc.c b/src/guest/gdrom/disc.c similarity index 93% rename from src/hw/gdrom/disc.c rename to src/guest/gdrom/disc.c index f50a0664..64dec713 100644 --- a/src/hw/gdrom/disc.c +++ b/src/guest/gdrom/disc.c @@ -1,7 +1,7 @@ -#include "hw/gdrom/disc.h" +#include "guest/gdrom/disc.h" #include "core/string.h" -#include "hw/gdrom/cdi.h" -#include "hw/gdrom/gdi.h" +#include "guest/gdrom/cdi.h" +#include "guest/gdrom/gdi.h" struct track *disc_lookup_track(struct disc *disc, int fad) { int num_tracks = disc_get_num_tracks(disc); diff --git a/src/hw/gdrom/disc.h b/src/guest/gdrom/disc.h similarity index 97% rename from src/hw/gdrom/disc.h rename to src/guest/gdrom/disc.h index 74ac8705..dcbd6120 100644 --- a/src/hw/gdrom/disc.h +++ b/src/guest/gdrom/disc.h @@ -2,7 +2,7 @@ #define DISC_H #include "core/filesystem.h" -#include "hw/gdrom/gdrom_types.h" +#include "guest/gdrom/gdrom_types.h" #define DISC_MAX_SECTOR_SIZE 2352 #define DISC_MAX_SESSIONS 2 diff --git a/src/hw/gdrom/gdi.c b/src/guest/gdrom/gdi.c similarity index 98% rename from src/hw/gdrom/gdi.c rename to src/guest/gdrom/gdi.c index 46e4747c..22fa0c83 100644 --- a/src/hw/gdrom/gdi.c +++ b/src/guest/gdrom/gdi.c @@ -1,6 +1,6 @@ -#include "hw/gdrom/gdi.h" +#include "guest/gdrom/gdi.h" #include "core/assert.h" -#include "hw/gdrom/disc.h" +#include "guest/gdrom/disc.h" struct gdi { struct disc; diff --git a/src/hw/gdrom/gdi.h b/src/guest/gdrom/gdi.h similarity index 100% rename from src/hw/gdrom/gdi.h rename to src/guest/gdrom/gdi.h diff --git a/src/hw/gdrom/gdrom.c b/src/guest/gdrom/gdrom.c similarity index 99% rename from src/hw/gdrom/gdrom.c rename to src/guest/gdrom/gdrom.c index 3942d1bc..38282a02 100644 --- a/src/hw/gdrom/gdrom.c +++ b/src/guest/gdrom/gdrom.c @@ -1,10 +1,10 @@ -#include "hw/gdrom/gdrom.h" +#include "guest/gdrom/gdrom.h" #include "core/math.h" #include "core/string.h" -#include "dreamcast.h" -#include "hw/gdrom/gdrom_replies.inc" -#include "hw/gdrom/gdrom_types.h" -#include "hw/holly/holly.h" +#include "guest/dreamcast.h" +#include "guest/gdrom/gdrom_replies.inc" +#include "guest/gdrom/gdrom_types.h" +#include "guest/holly/holly.h" #if 0 #define LOG_GDROM LOG_INFO diff --git a/src/hw/gdrom/gdrom.h b/src/guest/gdrom/gdrom.h similarity index 94% rename from src/hw/gdrom/gdrom.h rename to src/guest/gdrom/gdrom.h index 21d615e1..0bd951dd 100644 --- a/src/hw/gdrom/gdrom.h +++ b/src/guest/gdrom/gdrom.h @@ -1,8 +1,8 @@ #ifndef GDROM_H #define GDROM_H -#include "hw/gdrom/disc.h" -#include "hw/gdrom/gdrom_types.h" +#include "guest/gdrom/disc.h" +#include "guest/gdrom/gdrom_types.h" struct dreamcast; struct gdrom; diff --git a/src/hw/gdrom/gdrom_replies.inc b/src/guest/gdrom/gdrom_replies.inc similarity index 100% rename from src/hw/gdrom/gdrom_replies.inc rename to src/guest/gdrom/gdrom_replies.inc diff --git a/src/hw/gdrom/gdrom_types.h b/src/guest/gdrom/gdrom_types.h similarity index 100% rename from src/hw/gdrom/gdrom_types.h rename to src/guest/gdrom/gdrom_types.h diff --git a/src/hw/holly/holly.c b/src/guest/holly/holly.c similarity index 98% rename from src/hw/holly/holly.c rename to src/guest/holly/holly.c index 59372ed1..8f7d5f47 100644 --- a/src/hw/holly/holly.c +++ b/src/guest/holly/holly.c @@ -1,10 +1,10 @@ -#include "hw/holly/holly.h" -#include "dreamcast.h" -#include "hw/gdrom/gdrom.h" -#include "hw/maple/maple.h" -#include "hw/sh4/sh4.h" +#include "guest/holly/holly.h" +#include "guest/dreamcast.h" +#include "guest/gdrom/gdrom.h" +#include "guest/maple/maple.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" #include "render/imgui.h" -#include "scheduler.h" struct reg_cb holly_cb[NUM_HOLLY_REGS]; @@ -363,7 +363,7 @@ struct holly *holly_create(struct dreamcast *dc) { #define HOLLY_REG(addr, name, default, type) \ hl->reg[name] = default; \ hl->name = (type *)&hl->reg[name]; -#include "hw/holly/holly_regs.inc" +#include "guest/holly/holly_regs.inc" #undef HOLLY_REG return hl; diff --git a/src/hw/holly/holly.h b/src/guest/holly/holly.h similarity index 85% rename from src/hw/holly/holly.h rename to src/guest/holly/holly.h index e6102c1c..dd30b160 100644 --- a/src/hw/holly/holly.h +++ b/src/guest/holly/holly.h @@ -1,9 +1,9 @@ #ifndef HOLLY_H #define HOLLY_H -#include "dreamcast.h" -#include "hw/holly/holly_types.h" -#include "memory.h" +#include "guest/dreamcast.h" +#include "guest/holly/holly_types.h" +#include "guest/memory.h" struct gdrom; struct maple; @@ -14,7 +14,7 @@ struct holly { uint32_t reg[NUM_HOLLY_REGS]; #define HOLLY_REG(offset, name, default, type) type *name; -#include "hw/holly/holly_regs.inc" +#include "guest/holly/holly_regs.inc" #undef HOLLY_REG /* debug */ diff --git a/src/hw/holly/holly_regs.inc b/src/guest/holly/holly_regs.inc similarity index 100% rename from src/hw/holly/holly_regs.inc rename to src/guest/holly/holly_regs.inc diff --git a/src/hw/holly/holly_types.h b/src/guest/holly/holly_types.h similarity index 99% rename from src/hw/holly/holly_types.h rename to src/guest/holly/holly_types.h index ece6eb92..cf8af5bf 100644 --- a/src/hw/holly/holly_types.h +++ b/src/guest/holly/holly_types.h @@ -6,7 +6,7 @@ /* registers */ enum { #define HOLLY_REG(addr, name, flags, default) name = (addr - 0x005f0000) >> 2, -#include "hw/holly/holly_regs.inc" +#include "guest/holly/holly_regs.inc" #undef HOLLY_REG NUM_HOLLY_REGS = 0x00008000 >> 2, }; diff --git a/src/hw/maple/controller.c b/src/guest/maple/controller.c similarity index 98% rename from src/hw/maple/controller.c rename to src/guest/maple/controller.c index befc098c..20cba658 100644 --- a/src/hw/maple/controller.c +++ b/src/guest/maple/controller.c @@ -1,7 +1,7 @@ #include "core/option.h" #include "core/string.h" -#include "dreamcast.h" -#include "hw/maple/maple.h" +#include "guest/dreamcast.h" +#include "guest/maple/maple.h" enum { CONT_C, diff --git a/src/hw/maple/maple.c b/src/guest/maple/maple.c similarity index 97% rename from src/hw/maple/maple.c rename to src/guest/maple/maple.c index 65ab4a00..5c69b55e 100644 --- a/src/hw/maple/maple.c +++ b/src/guest/maple/maple.c @@ -1,7 +1,7 @@ -#include "hw/maple/maple.h" -#include "dreamcast.h" -#include "hw/holly/holly.h" -#include "hw/sh4/sh4.h" +#include "guest/maple/maple.h" +#include "guest/dreamcast.h" +#include "guest/holly/holly.h" +#include "guest/sh4/sh4.h" struct maple { struct device; diff --git a/src/hw/maple/maple.h b/src/guest/maple/maple.h similarity index 95% rename from src/hw/maple/maple.h rename to src/guest/maple/maple.h index 4c064834..9cca6094 100644 --- a/src/hw/maple/maple.h +++ b/src/guest/maple/maple.h @@ -1,7 +1,7 @@ #ifndef MAPLE_H #define MAPLE_H -#include "hw/maple/maple_types.h" +#include "guest/maple/maple_types.h" struct dreamcast; struct maple; diff --git a/src/hw/maple/maple_types.h b/src/guest/maple/maple_types.h similarity index 100% rename from src/hw/maple/maple_types.h rename to src/guest/maple/maple_types.h diff --git a/src/hw/maple/vmu.c b/src/guest/maple/vmu.c similarity index 98% rename from src/hw/maple/vmu.c rename to src/guest/maple/vmu.c index 5fa492d0..e67e2f85 100644 --- a/src/hw/maple/vmu.c +++ b/src/guest/maple/vmu.c @@ -1,8 +1,8 @@ #include "core/assert.h" #include "core/filesystem.h" #include "core/string.h" -#include "hw/maple/maple.h" -#include "hw/maple/vmu_default.inc" +#include "guest/maple/maple.h" +#include "guest/maple/vmu_default.inc" #define VMU_BLOCK_SIZE 512 #define VMU_BLOCK_WORDS (512 >> 2) diff --git a/src/hw/maple/vmu_default.inc b/src/guest/maple/vmu_default.inc similarity index 100% rename from src/hw/maple/vmu_default.inc rename to src/guest/maple/vmu_default.inc diff --git a/src/memory.c b/src/guest/memory.c similarity index 99% rename from src/memory.c rename to src/guest/memory.c index ce94af37..cdef3196 100644 --- a/src/memory.c +++ b/src/guest/memory.c @@ -1,8 +1,8 @@ -#include "memory.h" +#include "guest/memory.h" #include "core/exception_handler.h" #include "core/math.h" #include "core/string.h" -#include "dreamcast.h" +#include "guest/dreamcast.h" /* * address maps diff --git a/src/memory.h b/src/guest/memory.h similarity index 100% rename from src/memory.h rename to src/guest/memory.h diff --git a/src/hw/pvr/pixel_convert.h b/src/guest/pvr/pixel_convert.h similarity index 100% rename from src/hw/pvr/pixel_convert.h rename to src/guest/pvr/pixel_convert.h diff --git a/src/hw/pvr/pvr.c b/src/guest/pvr/pvr.c similarity index 97% rename from src/hw/pvr/pvr.c rename to src/guest/pvr/pvr.c index 6c1c0aa1..351f5213 100644 --- a/src/hw/pvr/pvr.c +++ b/src/guest/pvr/pvr.c @@ -1,10 +1,10 @@ -#include "hw/pvr/pvr.h" +#include "guest/pvr/pvr.h" #include "core/time.h" -#include "dreamcast.h" -#include "hw/holly/holly.h" -#include "hw/pvr/ta.h" -#include "hw/sh4/sh4.h" -#include "scheduler.h" +#include "guest/dreamcast.h" +#include "guest/holly/holly.h" +#include "guest/pvr/ta.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" DEFINE_AGGREGATE_COUNTER(pvr_vblanks); DEFINE_AGGREGATE_COUNTER(pvr_vram_data); @@ -219,7 +219,7 @@ static int pvr_init(struct device *dev) { #define PVR_REG(offset, name, default, type) \ pvr->reg[name] = default; \ pvr->name = (type *)&pvr->reg[name]; -#include "hw/pvr/pvr_regs.inc" +#include "guest/pvr/pvr_regs.inc" #undef PVR_REG pvr->palette_ram = (uint8_t *)pvr->PALETTE_RAM000; diff --git a/src/hw/pvr/pvr.h b/src/guest/pvr/pvr.h similarity index 83% rename from src/hw/pvr/pvr.h rename to src/guest/pvr/pvr.h index 7e9da7cc..15452a21 100644 --- a/src/hw/pvr/pvr.h +++ b/src/guest/pvr/pvr.h @@ -2,9 +2,9 @@ #define PVR_H #include "core/profiler.h" -#include "dreamcast.h" -#include "hw/pvr/pvr_types.h" -#include "memory.h" +#include "guest/dreamcast.h" +#include "guest/memory.h" +#include "guest/pvr/pvr_types.h" struct dreamcast; struct holly; @@ -22,7 +22,7 @@ struct pvr { uint32_t current_line; #define PVR_REG(offset, name, default, type) type *name; -#include "hw/pvr/pvr_regs.inc" +#include "guest/pvr/pvr_regs.inc" #undef PVR_REG }; diff --git a/src/hw/pvr/pvr_regs.inc b/src/guest/pvr/pvr_regs.inc similarity index 100% rename from src/hw/pvr/pvr_regs.inc rename to src/guest/pvr/pvr_regs.inc diff --git a/src/hw/pvr/pvr_types.h b/src/guest/pvr/pvr_types.h similarity index 99% rename from src/hw/pvr/pvr_types.h rename to src/guest/pvr/pvr_types.h index 585684cc..1cd7a7eb 100644 --- a/src/hw/pvr/pvr_types.h +++ b/src/guest/pvr/pvr_types.h @@ -228,7 +228,7 @@ union ta_yuv_tex_cnt { enum { #define PVR_REG(addr, name, flags, default_value) \ name = (addr - 0x005f8000) >> 2, -#include "hw/pvr/pvr_regs.inc" +#include "guest/pvr/pvr_regs.inc" #undef PVR_REG PVR_NUM_REGS = 0x00002000 >> 2, }; diff --git a/src/hw/pvr/ta.c b/src/guest/pvr/ta.c similarity index 99% rename from src/hw/pvr/ta.c rename to src/guest/pvr/ta.c index 1ab035a8..d960392f 100644 --- a/src/hw/pvr/ta.c +++ b/src/guest/pvr/ta.c @@ -1,14 +1,14 @@ -#include "hw/pvr/ta.h" +#include "guest/pvr/ta.h" #include "core/exception_handler.h" #include "core/filesystem.h" #include "core/list.h" #include "core/string.h" -#include "hw/holly/holly.h" -#include "hw/pvr/pixel_convert.h" -#include "hw/pvr/pvr.h" -#include "hw/pvr/tr.h" -#include "hw/sh4/sh4.h" -#include "scheduler.h" +#include "guest/holly/holly.h" +#include "guest/pvr/pixel_convert.h" +#include "guest/pvr/pvr.h" +#include "guest/pvr/tr.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" DEFINE_AGGREGATE_COUNTER(ta_data); DEFINE_AGGREGATE_COUNTER(ta_renders); diff --git a/src/hw/pvr/ta.h b/src/guest/pvr/ta.h similarity index 98% rename from src/hw/pvr/ta.h rename to src/guest/pvr/ta.h index f29efb28..26fcd195 100644 --- a/src/hw/pvr/ta.h +++ b/src/guest/pvr/ta.h @@ -2,8 +2,8 @@ #define TA_H #include "core/profiler.h" -#include "hw/pvr/ta_types.h" -#include "memory.h" +#include "guest/memory.h" +#include "guest/pvr/ta_types.h" struct dreamcast; struct ta; diff --git a/src/hw/pvr/ta_types.h b/src/guest/pvr/ta_types.h similarity index 100% rename from src/hw/pvr/ta_types.h rename to src/guest/pvr/ta_types.h diff --git a/src/hw/pvr/tr.c b/src/guest/pvr/tr.c similarity index 99% rename from src/hw/pvr/tr.c rename to src/guest/pvr/tr.c index 4762c571..7ff4bf17 100644 --- a/src/hw/pvr/tr.c +++ b/src/guest/pvr/tr.c @@ -1,11 +1,11 @@ -#include "hw/pvr/tr.h" +#include "guest/pvr/tr.h" #include "core/assert.h" #include "core/core.h" #include "core/math.h" #include "core/profiler.h" #include "core/sort.h" -#include "hw/pvr/pixel_convert.h" -#include "hw/pvr/ta.h" +#include "guest/pvr/pixel_convert.h" +#include "guest/pvr/ta.h" struct tr { struct render_backend *r; diff --git a/src/hw/pvr/tr.h b/src/guest/pvr/tr.h similarity index 98% rename from src/hw/pvr/tr.h rename to src/guest/pvr/tr.h index dec79848..ee37b480 100644 --- a/src/hw/pvr/tr.h +++ b/src/guest/pvr/tr.h @@ -5,7 +5,7 @@ draw commands to be passed to the supplied render backend */ #include "core/rb_tree.h" -#include "hw/pvr/ta_types.h" +#include "guest/pvr/ta_types.h" #include "render/render_backend.h" struct tr; diff --git a/src/hw/pvr/trace.c b/src/guest/pvr/trace.c similarity index 99% rename from src/hw/pvr/trace.c rename to src/guest/pvr/trace.c index e1d2c175..620d641a 100644 --- a/src/hw/pvr/trace.c +++ b/src/guest/pvr/trace.c @@ -1,9 +1,9 @@ #include -#include "hw/pvr/trace.h" +#include "guest/pvr/trace.h" #include "core/assert.h" #include "core/filesystem.h" #include "core/math.h" -#include "hw/pvr/tr.h" +#include "guest/pvr/tr.h" void get_next_trace_filename(char *filename, size_t size) { const char *appdir = fs_appdir(); diff --git a/src/hw/pvr/trace.h b/src/guest/pvr/trace.h similarity index 98% rename from src/hw/pvr/trace.h rename to src/guest/pvr/trace.h index 0d5ca74f..322496ed 100644 --- a/src/hw/pvr/trace.h +++ b/src/guest/pvr/trace.h @@ -2,7 +2,7 @@ #define TRACE_H #include -#include "hw/pvr/ta_types.h" +#include "guest/pvr/ta_types.h" enum trace_cmd_type { TRACE_CMD_NONE, diff --git a/src/hw/rom/boot.c b/src/guest/rom/boot.c similarity index 95% rename from src/hw/rom/boot.c rename to src/guest/rom/boot.c index e57adcf4..973d056d 100644 --- a/src/hw/rom/boot.c +++ b/src/guest/rom/boot.c @@ -1,8 +1,8 @@ -#include "hw/rom/boot.h" +#include "guest/rom/boot.h" #include "core/filesystem.h" #include "core/md5.h" #include "core/option.h" -#include "dreamcast.h" +#include "guest/dreamcast.h" DEFINE_OPTION_STRING(bios, "dc_boot.bin", "Path to boot rom"); @@ -45,6 +45,7 @@ static int boot_load_rom(struct boot *boot) { FILE *fp = fopen(filename, "rb"); if (!fp) { + LOG_WARNING("failed to open %s", filename); return 0; } @@ -75,7 +76,6 @@ static int boot_init(struct device *dev) { struct boot *boot = (struct boot *)dev; if (!boot_load_rom(boot)) { - LOG_WARNING("failed to load boot rom"); return 0; } diff --git a/src/hw/rom/boot.h b/src/guest/rom/boot.h similarity index 87% rename from src/hw/rom/boot.h rename to src/guest/rom/boot.h index ed9d777f..8ac6c106 100644 --- a/src/hw/rom/boot.h +++ b/src/guest/rom/boot.h @@ -1,7 +1,7 @@ #ifndef BOOT_H #define BOOT_H -#include "memory.h" +#include "guest/memory.h" struct dreamcast; struct boot; diff --git a/src/hw/rom/flash.c b/src/guest/rom/flash.c similarity index 98% rename from src/hw/rom/flash.c rename to src/guest/rom/flash.c index 8f36367c..0b668e8d 100644 --- a/src/hw/rom/flash.c +++ b/src/guest/rom/flash.c @@ -1,8 +1,8 @@ #include -#include "hw/rom/flash.h" +#include "guest/rom/flash.h" #include "core/filesystem.h" #include "core/option.h" -#include "dreamcast.h" +#include "guest/dreamcast.h" #define FLASH_SIZE 0x00020000 #define FLASH_SECTOR_SIZE 0x4000 diff --git a/src/hw/rom/flash.h b/src/guest/rom/flash.h similarity index 93% rename from src/hw/rom/flash.h rename to src/guest/rom/flash.h index 6510d71c..725c4f2c 100644 --- a/src/hw/rom/flash.h +++ b/src/guest/rom/flash.h @@ -1,7 +1,7 @@ #ifndef FLASHROM_H #define FLASHROM_H -#include "memory.h" +#include "guest/memory.h" struct dreamcast; struct flash; diff --git a/src/scheduler.c b/src/guest/scheduler.c similarity index 98% rename from src/scheduler.c rename to src/guest/scheduler.c index c163d6d4..06ee2861 100644 --- a/src/scheduler.c +++ b/src/guest/scheduler.c @@ -1,9 +1,9 @@ #include -#include "scheduler.h" +#include "guest/scheduler.h" #include "core/assert.h" #include "core/core.h" #include "core/list.h" -#include "dreamcast.h" +#include "guest/dreamcast.h" #define MAX_TIMERS 128 diff --git a/src/scheduler.h b/src/guest/scheduler.h similarity index 100% rename from src/scheduler.h rename to src/guest/scheduler.h diff --git a/src/hw/sh4/sh4.c b/src/guest/sh4/sh4.c similarity index 97% rename from src/hw/sh4/sh4.c rename to src/guest/sh4/sh4.c index c83dafca..d3216eae 100644 --- a/src/hw/sh4/sh4.c +++ b/src/guest/sh4/sh4.c @@ -1,21 +1,21 @@ -#include "hw/sh4/sh4.h" +#include "guest/sh4/sh4.h" #include "core/math.h" #include "core/string.h" #include "core/time.h" -#include "dreamcast.h" -#include "hw/aica/aica.h" -#include "hw/holly/holly.h" -#include "hw/pvr/pvr.h" -#include "hw/pvr/ta.h" -#include "hw/rom/boot.h" -#include "hw/rom/flash.h" +#include "guest/aica/aica.h" +#include "guest/dreamcast.h" +#include "guest/holly/holly.h" +#include "guest/memory.h" +#include "guest/pvr/pvr.h" +#include "guest/pvr/ta.h" +#include "guest/rom/boot.h" +#include "guest/rom/flash.h" +#include "guest/scheduler.h" #include "jit/frontend/sh4/sh4_fallback.h" #include "jit/frontend/sh4/sh4_frontend.h" #include "jit/frontend/sh4/sh4_guest.h" #include "jit/jit.h" -#include "memory.h" #include "render/imgui.h" -#include "scheduler.h" #if ARCH_X64 #include "jit/backend/x64/x64_backend.h" @@ -195,7 +195,7 @@ void sh4_reset(struct sh4 *sh4, uint32_t pc) { #define SH4_REG(addr, name, default, type) \ sh4->reg[name] = default; \ sh4->name = (type *)&sh4->reg[name]; -#include "hw/sh4/sh4_regs.inc" +#include "guest/sh4/sh4_regs.inc" #undef SH4_REG /* reset interrupts */ diff --git a/src/hw/sh4/sh4.h b/src/guest/sh4/sh4.h similarity index 96% rename from src/hw/sh4/sh4.h rename to src/guest/sh4/sh4.h index e3345c8b..803897c2 100644 --- a/src/hw/sh4/sh4.h +++ b/src/guest/sh4/sh4.h @@ -2,11 +2,11 @@ #define SH4_H #include "core/profiler.h" -#include "dreamcast.h" -#include "hw/sh4/sh4_types.h" +#include "guest/dreamcast.h" +#include "guest/memory.h" +#include "guest/sh4/sh4_types.h" #include "jit/frontend/sh4/sh4_context.h" #include "jit/jit.h" -#include "memory.h" struct dreamcast; struct jit; @@ -42,7 +42,7 @@ struct sh4 { struct sh4_context ctx; uint32_t reg[NUM_SH4_REGS]; #define SH4_REG(addr, name, default, type) type *name; -#include "hw/sh4/sh4_regs.inc" +#include "guest/sh4/sh4_regs.inc" #undef SH4_REG /* jit */ diff --git a/src/hw/sh4/sh4_ccn.c b/src/guest/sh4/sh4_ccn.c similarity index 99% rename from src/hw/sh4/sh4_ccn.c rename to src/guest/sh4/sh4_ccn.c index 3587cd22..c6bf3252 100644 --- a/src/hw/sh4/sh4_ccn.c +++ b/src/guest/sh4/sh4_ccn.c @@ -1,4 +1,4 @@ -#include "hw/sh4/sh4.h" +#include "guest/sh4/sh4.h" #include "jit/jit.h" /* with OIX, bit 25, rather than bit 13, determines which 4kb bank to use */ diff --git a/src/hw/sh4/sh4_dbg.c b/src/guest/sh4/sh4_dbg.c similarity index 98% rename from src/hw/sh4/sh4_dbg.c rename to src/guest/sh4/sh4_dbg.c index e8115e0e..9f15cfe4 100644 --- a/src/hw/sh4/sh4_dbg.c +++ b/src/guest/sh4/sh4_dbg.c @@ -1,5 +1,5 @@ -#include "debugger.h" -#include "hw/sh4/sh4.h" +#include "guest/debugger.h" +#include "guest/sh4/sh4.h" #include "jit/frontend/sh4/sh4_disasm.h" #include "jit/frontend/sh4/sh4_fallback.h" diff --git a/src/hw/sh4/sh4_dmac.c b/src/guest/sh4/sh4_dmac.c similarity index 99% rename from src/hw/sh4/sh4_dmac.c rename to src/guest/sh4/sh4_dmac.c index 101de09d..9bbe7653 100644 --- a/src/hw/sh4/sh4_dmac.c +++ b/src/guest/sh4/sh4_dmac.c @@ -1,4 +1,4 @@ -#include "hw/sh4/sh4.h" +#include "guest/sh4/sh4.h" static void sh4_dmac_check(struct sh4 *sh4, int channel) { union chcr *chcr = NULL; diff --git a/src/hw/sh4/sh4_int.inc b/src/guest/sh4/sh4_int.inc similarity index 100% rename from src/hw/sh4/sh4_int.inc rename to src/guest/sh4/sh4_int.inc diff --git a/src/hw/sh4/sh4_intc.c b/src/guest/sh4/sh4_intc.c similarity index 98% rename from src/hw/sh4/sh4_intc.c rename to src/guest/sh4/sh4_intc.c index 6c29584a..6cfc26d8 100644 --- a/src/hw/sh4/sh4_intc.c +++ b/src/guest/sh4/sh4_intc.c @@ -1,4 +1,4 @@ -#include "hw/sh4/sh4.h" +#include "guest/sh4/sh4.h" struct sh4_interrupt_info { int intevt, default_priority, ipr, ipr_shift; @@ -7,7 +7,7 @@ struct sh4_interrupt_info { static struct sh4_interrupt_info sh4_interrupts[NUM_SH_INTERRUPTS] = { #define SH4_INT(name, intevt, pri, ipr, ipr_shift) \ {intevt, pri, ipr, ipr_shift}, -#include "hw/sh4/sh4_int.inc" +#include "guest/sh4/sh4_int.inc" #undef SH4_INT }; diff --git a/src/hw/sh4/sh4_regs.inc b/src/guest/sh4/sh4_regs.inc similarity index 100% rename from src/hw/sh4/sh4_regs.inc rename to src/guest/sh4/sh4_regs.inc diff --git a/src/hw/sh4/sh4_tmu.c b/src/guest/sh4/sh4_tmu.c similarity index 98% rename from src/hw/sh4/sh4_tmu.c rename to src/guest/sh4/sh4_tmu.c index 81294eba..c6d93786 100644 --- a/src/hw/sh4/sh4_tmu.c +++ b/src/guest/sh4/sh4_tmu.c @@ -1,5 +1,5 @@ -#include "hw/sh4/sh4.h" -#include "scheduler.h" +#include "guest/scheduler.h" +#include "guest/sh4/sh4.h" static const int64_t PERIPHERAL_CLOCK_FREQ = SH4_CLOCK_FREQ >> 2; static const int PERIPHERAL_SCALE[] = {2, 4, 6, 8, 10, 0, 0, 0}; diff --git a/src/hw/sh4/sh4_types.h b/src/guest/sh4/sh4_types.h similarity index 96% rename from src/hw/sh4/sh4_types.h rename to src/guest/sh4/sh4_types.h index a6f101cc..9812b05e 100644 --- a/src/hw/sh4/sh4_types.h +++ b/src/guest/sh4/sh4_types.h @@ -72,14 +72,14 @@ union dmaor { enum { #define SH4_REG(addr, name, default, type) name = SH4_REG_OFFSET(addr), -#include "hw/sh4/sh4_regs.inc" +#include "guest/sh4/sh4_regs.inc" #undef SH4_REG NUM_SH4_REGS = SH4_REG_OFFSET(0xffffffff) + 1 }; enum sh4_interrupt { #define SH4_INT(name, intevt, pri, ipr, ipr_shift) SH4_INT_##name, -#include "hw/sh4/sh4_int.inc" +#include "guest/sh4/sh4_int.inc" #undef SH4_INT NUM_SH_INTERRUPTS }; diff --git a/src/tracer.c b/src/tracer.c index b5c7e74b..a2b3fb0b 100644 --- a/src/tracer.c +++ b/src/tracer.c @@ -1,9 +1,9 @@ #include "tracer.h" #include "core/math.h" +#include "guest/pvr/ta.h" +#include "guest/pvr/tr.h" +#include "guest/pvr/trace.h" #include "host/host.h" -#include "hw/pvr/ta.h" -#include "hw/pvr/tr.h" -#include "hw/pvr/trace.h" #include "render/imgui.h" #define SCRUBBER_WINDOW_HEIGHT 20.0f diff --git a/test/test_sh4.c b/test/test_sh4.c index 43e31105..5e72708f 100644 --- a/test/test_sh4.c +++ b/test/test_sh4.c @@ -1,6 +1,6 @@ #include "core/math.h" -#include "dreamcast.h" -#include "hw/sh4/sh4.h" +#include "guest/dreamcast.h" +#include "guest/sh4/sh4.h" #include "retest.h" static const uint32_t UNINITIALIZED_REG = 0xbaadf00d; diff --git a/tools/retrace/depth.c b/tools/retrace/depth.c index 68c8ae9c..662993e6 100644 --- a/tools/retrace/depth.c +++ b/tools/retrace/depth.c @@ -2,8 +2,8 @@ #include #include "core/assert.h" #include "core/sort.h" -#include "hw/pvr/tr.h" -#include "hw/pvr/trace.h" +#include "guest/pvr/tr.h" +#include "guest/pvr/trace.h" struct depth_entry { /* vertex index */