wip headers

This commit is contained in:
scribam 2023-01-21 16:59:38 +01:00
parent f96ce85365
commit e3e2c3a0d2
69 changed files with 324 additions and 301 deletions

View File

@ -20,14 +20,13 @@
*/
#pragma once
#include "types.h"
#include <atomic>
#include <map>
#include <vector>
#include <future>
#include <string>
#include <memory>
#include <utility>
#include <map>
#include <mutex>
#include <utility>
#include <vector>
void loadGameSpecificSettings();
void SaveSettings();

View File

@ -27,7 +27,6 @@
#include "hw/gdrom/gdrom_if.h"
#include "cfg/option.h"
#include "serialize.h"
#include "hw/hwreg.h"
#include <algorithm>
#include <cmath>

View File

@ -1,218 +1,218 @@
/*
Copyright (c) 2004 Fabrice Bellard and QEMU contributors
This file is part of Flycast.
Flycast is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Flycast is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <climits>
#include <cinttypes>
#include "types.h"
#include "hw/sh4/sh4_sched.h"
typedef u8 uint8_t;
typedef u16 uint16_t;
typedef u64 uint64_t;
typedef uint64_t dma_addr_t;
typedef uint64_t hwaddr;
#ifdef _MSC_VER
#if defined(_WIN64)
typedef __int64 ssize_t;
#else
typedef long ssize_t;
#endif
#endif
#define ETH_ALEN 6
#define DMA_ADDR_FMT "%" PRIx64
struct MACAddr {
uint8_t a[6];
};
uint32_t net_crc32(const uint8_t *p, int len);
struct NetClientState {
int link_down;
};
typedef struct NICConf {
MACAddr macaddr;
} NICConf;
/** MemoryRegion:
*
* A struct representing a memory region.
*/
struct MemoryRegion {
uint32_t size;
};
#define glue(a, b) _glue(a, b)
#define _glue(a, b) a ## b
#if defined(HOST_WORDS_BIGENDIAN)
#define be_bswap(v, size) (v)
#define le_bswap(v, size) glue(bswap, size)(v)
#define be_bswaps(v, size)
#define le_bswaps(p, size) do { *p = glue(bswap, size)(*p); } while(0)
#else
#define le_bswap(v, size) (v)
#define be_bswap(v, size) glue(bswap, size)(v)
#define le_bswaps(v, size)
#define be_bswaps(p, size) do { *p = glue(bswap, size)(*p); } while(0)
#endif
#define CPU_CONVERT(endian, size, type)\
static inline type endian ## size ## _to_cpu(type v)\
{\
return glue(endian, _bswap)(v, size);\
}\
\
static inline type cpu_to_ ## endian ## size(type v)\
{\
return glue(endian, _bswap)(v, size);\
}\
\
static inline void endian ## size ## _to_cpus(type *p)\
{\
glue(endian, _bswaps)(p, size);\
}\
\
static inline void cpu_to_ ## endian ## size ## s(type *p)\
{\
glue(endian, _bswaps)(p, size);\
}
CPU_CONVERT(le, 16, uint16_t)
CPU_CONVERT(le, 32, uint32_t)
static inline int lduw_he_p(const void *ptr)
{
uint16_t r;
memcpy(&r, ptr, sizeof(r));
return r;
}
static inline void stl_he_p(void *ptr, uint32_t v)
{
memcpy(ptr, &v, sizeof(v));
}
static inline int lduw_le_p(const void *ptr)
{
return (uint16_t)le_bswap(lduw_he_p(ptr), 16);
}
static inline void stl_le_p(void *ptr, uint32_t v)
{
stl_he_p(ptr, le_bswap(v, 32));
}
/*
* PCI support
*/
static inline uint16_t pci_get_word(const uint8_t *config)
{
return lduw_le_p(config);
}
static inline void pci_set_long(uint8_t *config, uint32_t val)
{
stl_le_p(config, val);
}
typedef uint64_t pcibus_t;
#define PCI_DEVICE(d) ((PCIDevice *)(d))
#define RTL8139(d) ((RTL8139State *)(d));
typedef struct PCIIORegion {
pcibus_t addr; /* current PCI mapping address. -1 means not mapped */
#define PCI_BAR_UNMAPPED (~(pcibus_t)0)
pcibus_t size;
uint8_t type;
} PCIIORegion;
#define PCI_ROM_SLOT 6
#define PCI_NUM_REGIONS 7
struct PCIDevice {
/* PCI config space */
uint8_t *config;
/* Used to enable config checks on load. Note that writable bits are
* never checked even if set in cmask. */
uint8_t *cmask;
/* Used to implement R/W bytes */
uint8_t *wmask;
PCIIORegion io_regions[PCI_NUM_REGIONS];
};
void pci_set_irq(PCIDevice *pci_dev, int level);
void pci_register_bar(PCIDevice *pci_dev, int region_num, uint8_t type, MemoryRegion *memory);
void pci_dma_read(PCIDevice *dev, dma_addr_t addr, void *buf, dma_addr_t len);
void pci_dma_write(PCIDevice *dev, dma_addr_t addr, const void *buf, dma_addr_t len);
#define g_malloc malloc
#define g_free free
#define PCI_VENDOR_ID_REALTEK 0x10ec
#define PCI_DEVICE_ID_REALTEK_8139 0x8139
#define FMT_PCIBUS PRIx64
#define PCI_HEADER_TYPE 0x0e /* 8 bits */
#define PCI_HEADER_TYPE_BRIDGE 1
#define PCI_HEADER_TYPE_MULTI_FUNCTION 0x80
/*
* Base addresses specify locations in memory or I/O space.
* Decoded size can be determined by writing a value of
* 0xffffffff to the register, and reading it back. Only
* 1 bits are decoded.
*/
#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */
#define PCI_BASE_ADDRESS_SPACE_IO 0x01
#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00
#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */
#define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */
#define PCI_ROM_ADDRESS_ENABLE 0x01
#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */
#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */
#define PCI_ROM_ADDRESS1 0x38 /* Same as PCI_ROM_ADDRESS, but for htype 1 */
struct RTL8139State;
ssize_t qemu_send_packet(RTL8139State *s, const uint8_t *buf, int size);
void pci_rtl8139_realize(PCIDevice *dev);
uint64_t rtl8139_ioport_read(void *opaque, hwaddr addr, unsigned size);
void rtl8139_ioport_write(void *opaque, hwaddr addr, uint64_t val, unsigned size);
void rtl8139_reset(RTL8139State *s);
bool rtl8139_can_receive(RTL8139State *s);
ssize_t rtl8139_receive(RTL8139State *s, const uint8_t *buf, size_t size);
RTL8139State *rtl8139_init(NICConf *conf);
void rtl8139_destroy(RTL8139State *state);
void rtl8139_serialize(RTL8139State *state, Serializer& ser);
bool rtl8139_deserialize(RTL8139State *state, Deserializer& deser);
/*
Copyright (c) 2004 Fabrice Bellard and QEMU contributors
This file is part of Flycast.
Flycast is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Flycast is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include "types.h"
#include <climits>
#include <cinttypes>
typedef u8 uint8_t;
typedef u16 uint16_t;
typedef u64 uint64_t;
typedef uint64_t dma_addr_t;
typedef uint64_t hwaddr;
#ifdef _MSC_VER
#if defined(_WIN64)
typedef __int64 ssize_t;
#else
typedef long ssize_t;
#endif
#endif
#define ETH_ALEN 6
#define DMA_ADDR_FMT "%" PRIx64
struct MACAddr {
uint8_t a[6];
};
uint32_t net_crc32(const uint8_t *p, int len);
struct NetClientState {
int link_down;
};
typedef struct NICConf {
MACAddr macaddr;
} NICConf;
/** MemoryRegion:
*
* A struct representing a memory region.
*/
struct MemoryRegion {
uint32_t size;
};
#define glue(a, b) _glue(a, b)
#define _glue(a, b) a ## b
#if defined(HOST_WORDS_BIGENDIAN)
#define be_bswap(v, size) (v)
#define le_bswap(v, size) glue(bswap, size)(v)
#define be_bswaps(v, size)
#define le_bswaps(p, size) do { *p = glue(bswap, size)(*p); } while(0)
#else
#define le_bswap(v, size) (v)
#define be_bswap(v, size) glue(bswap, size)(v)
#define le_bswaps(v, size)
#define be_bswaps(p, size) do { *p = glue(bswap, size)(*p); } while(0)
#endif
#define CPU_CONVERT(endian, size, type)\
static inline type endian ## size ## _to_cpu(type v)\
{\
return glue(endian, _bswap)(v, size);\
}\
\
static inline type cpu_to_ ## endian ## size(type v)\
{\
return glue(endian, _bswap)(v, size);\
}\
\
static inline void endian ## size ## _to_cpus(type *p)\
{\
glue(endian, _bswaps)(p, size);\
}\
\
static inline void cpu_to_ ## endian ## size ## s(type *p)\
{\
glue(endian, _bswaps)(p, size);\
}
CPU_CONVERT(le, 16, uint16_t)
CPU_CONVERT(le, 32, uint32_t)
static inline int lduw_he_p(const void *ptr)
{
uint16_t r;
memcpy(&r, ptr, sizeof(r));
return r;
}
static inline void stl_he_p(void *ptr, uint32_t v)
{
memcpy(ptr, &v, sizeof(v));
}
static inline int lduw_le_p(const void *ptr)
{
return (uint16_t)le_bswap(lduw_he_p(ptr), 16);
}
static inline void stl_le_p(void *ptr, uint32_t v)
{
stl_he_p(ptr, le_bswap(v, 32));
}
/*
* PCI support
*/
static inline uint16_t pci_get_word(const uint8_t *config)
{
return lduw_le_p(config);
}
static inline void pci_set_long(uint8_t *config, uint32_t val)
{
stl_le_p(config, val);
}
typedef uint64_t pcibus_t;
#define PCI_DEVICE(d) ((PCIDevice *)(d))
#define RTL8139(d) ((RTL8139State *)(d));
typedef struct PCIIORegion {
pcibus_t addr; /* current PCI mapping address. -1 means not mapped */
#define PCI_BAR_UNMAPPED (~(pcibus_t)0)
pcibus_t size;
uint8_t type;
} PCIIORegion;
#define PCI_ROM_SLOT 6
#define PCI_NUM_REGIONS 7
struct PCIDevice {
/* PCI config space */
uint8_t *config;
/* Used to enable config checks on load. Note that writable bits are
* never checked even if set in cmask. */
uint8_t *cmask;
/* Used to implement R/W bytes */
uint8_t *wmask;
PCIIORegion io_regions[PCI_NUM_REGIONS];
};
void pci_set_irq(PCIDevice *pci_dev, int level);
void pci_register_bar(PCIDevice *pci_dev, int region_num, uint8_t type, MemoryRegion *memory);
void pci_dma_read(PCIDevice *dev, dma_addr_t addr, void *buf, dma_addr_t len);
void pci_dma_write(PCIDevice *dev, dma_addr_t addr, const void *buf, dma_addr_t len);
#define g_malloc malloc
#define g_free free
#define PCI_VENDOR_ID_REALTEK 0x10ec
#define PCI_DEVICE_ID_REALTEK_8139 0x8139
#define FMT_PCIBUS PRIx64
#define PCI_HEADER_TYPE 0x0e /* 8 bits */
#define PCI_HEADER_TYPE_BRIDGE 1
#define PCI_HEADER_TYPE_MULTI_FUNCTION 0x80
/*
* Base addresses specify locations in memory or I/O space.
* Decoded size can be determined by writing a value of
* 0xffffffff to the register, and reading it back. Only
* 1 bits are decoded.
*/
#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */
#define PCI_BASE_ADDRESS_SPACE_IO 0x01
#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00
#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */
#define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */
#define PCI_ROM_ADDRESS_ENABLE 0x01
#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */
#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */
#define PCI_ROM_ADDRESS1 0x38 /* Same as PCI_ROM_ADDRESS, but for htype 1 */
struct RTL8139State;
ssize_t qemu_send_packet(RTL8139State *s, const uint8_t *buf, int size);
void pci_rtl8139_realize(PCIDevice *dev);
uint64_t rtl8139_ioport_read(void *opaque, hwaddr addr, unsigned size);
void rtl8139_ioport_write(void *opaque, hwaddr addr, uint64_t val, unsigned size);
void rtl8139_reset(RTL8139State *s);
bool rtl8139_can_receive(RTL8139State *s);
ssize_t rtl8139_receive(RTL8139State *s, const uint8_t *buf, size_t size);
RTL8139State *rtl8139_init(NICConf *conf);
void rtl8139_destroy(RTL8139State *state);
void rtl8139_serialize(RTL8139State *state, Serializer& ser);
bool rtl8139_deserialize(RTL8139State *state, Deserializer& deser);

View File

@ -12,7 +12,7 @@
#include "hw/modem/modem.h"
#include "hw/naomi/naomi.h"
#include "hw/pvr/pvr_mem.h"
#include "hw/sh4/sh4_mem.h"
#include "hw/mem/_vmem.h"
#include "reios/reios.h"
#include "hw/bba/bba.h"
#include "cfg/option.h"

View File

@ -4,7 +4,6 @@
#include "hw/pvr/spg.h"
#include "oslib/audiostream.h"
#include "oslib/oslib.h"
#include "cfg/option.h"
#include "hw/aica/sgc_if.h"
#include <zlib.h>

View File

@ -6,7 +6,6 @@
#include "hw/sh4/sh4_mem.h"
#include "hw/sh4/sh4_sched.h"
#include "network/ggpo.h"
#include "input/gamepad_device.h"
enum MaplePattern
{

View File

@ -24,7 +24,6 @@
#include "hw/pvr/pvr_mem.h"
#include "hw/pvr/elan.h"
#include "rend/TexCache.h"
#include <array>
#include <unordered_map>
namespace memwatch

View File

@ -2,14 +2,13 @@
This file is a mix of my code, Zezu's, and duno wtf-else (most likely ElSemi's ?)
*/
#include "types.h"
#include "cfg/cfg.h"
#include "hw/holly/sb.h"
#include "hw/sh4/sh4_mem.h"
#include "hw/holly/holly_intc.h"
#include "hw/maple/maple_cfg.h"
#include "hw/sh4/sh4_sched.h"
#include "hw/sh4/modules/dmac.h"
#include "hw/aica/aica_if.h"
#include "hw/hwreg.h"
#include "naomi.h"
#include "naomi_cart.h"
@ -18,6 +17,8 @@
#include "serialize.h"
#include "network/output.h"
#include <algorithm>
//#define NAOMI_COMM
static NaomiM3Comm m3comm;

View File

@ -1,10 +1,11 @@
#pragma once
#include <algorithm>
#include <string>
#include "types.h"
#include "emulator.h"
#include <string>
#include <vector>
struct RomBootID
{
char boardName[16];

View File

@ -20,7 +20,6 @@
*/
#include "naomi_flashrom.h"
#include "hw/flashrom/flashrom.h"
#include "hw/holly/sb_mem.h"
#include "hw/maple/maple_devs.h"
#include "cfg/option.h"

View File

@ -30,6 +30,8 @@
#include "hw/sh4/sh4_mem.h"
#include "network/naomi_network.h"
#include "emulator.h"
#include "rend/gui.h"
#include <chrono>
#include <memory>

View File

@ -1,12 +1,12 @@
#include "Renderer_if.h"
#include "spg.h"
#include "hw/pvr/pvr_mem.h"
#include "rend/TexCache.h"
#include "rend/transform_matrix.h"
#include "cfg/option.h"
#include "emulator.h"
#include "serialize.h"
#include "hw/holly/holly_intc.h"
#include "hw/sh4/sh4_if.h"
#include "profiler/fc_profiler.h"
#include <mutex>

View File

@ -56,7 +56,6 @@
#include "hw/holly/holly_intc.h"
#include "hw/holly/sb.h"
#include "hw/pvr/Renderer_if.h"
#include "hw/sh4/sh4_sched.h"
#include "hw/sh4/sh4_mem.h"
#include "emulator.h"
#include "serialize.h"

View File

@ -3,13 +3,16 @@
#include "hw/holly/holly_intc.h"
#include "hw/holly/sb.h"
#include "hw/sh4/sh4_sched.h"
#include "input/gamepad_device.h"
#include "oslib/oslib.h"
#include "rend/TexCache.h"
#include "hw/maple/maple_if.h"
#include "serialize.h"
#include "network/ggpo.h"
#ifdef TEST_AUTOMATION
#include "input/gamepad_device.h"
#endif
//SPG emulation; Scanline/Raster beam registers & interrupts
static u32 clc_pvr_scanline;

View File

@ -3,6 +3,10 @@
#include "cfg/option.h"
#include "Renderer_if.h"
#include "serialize.h"
#include "stdclass.h"
#include <mutex>
#include <vector>
extern u32 fskip;
static int RenderCount;

View File

@ -3,9 +3,11 @@
#include "ta_structs.h"
#include "pvr_regs.h"
#include "helper_classes.h"
#include "stdclass.h"
#include "oslib/oslib.h"
#include <algorithm>
#include <vector>
class BaseTextureCacheData;
struct N2LightModel;

View File

@ -11,7 +11,7 @@
#include "cfg/option.h"
#include <algorithm>
#include <cmath>
#include <utility>
#define TACALL DYNACALL
#ifdef NDEBUG

View File

@ -7,10 +7,8 @@
#include "hw/sh4/sh4_mem.h"
#include "hw/sh4/modules/mmu.h"
#include "cfg/option.h"
#include <ctime>
#include <cfloat>
#include "blockmanager.h"
#include "ngen.h"

View File

@ -21,7 +21,6 @@
#include <cstdio>
#include <set>
#include <map>
#include <cmath>
#include "types.h"
#include "decoder.h"
#include "hw/sh4/modules/mmu.h"

View File

@ -10,7 +10,6 @@
#include "../sh4_interrupts.h"
#include "hw/sh4/sh4_mem.h"
#include "../sh4_sched.h"
#include "hw/holly/sb.h"
#include "../sh4_cache.h"
#include "debug/gdb_server.h"

View File

@ -10,9 +10,12 @@
#include "hw/sh4/sh4_core.h"
#include "hw/sh4/modules/ccn.h"
#include "hw/sh4/sh4_interrupts.h"
#include "hw/sh4/sh4_cache.h"
#include "debug/gdb_server.h"
#ifdef STRICT_MODE
#include "hw/sh4/sh4_cache.h"
#endif
#define iNimp cpu_iNimp
//Read Mem macros

View File

@ -1,4 +1,4 @@
#include "types.h"
#include "hw/hwreg.h"
#include "hw/sh4/sh4_mmr.h"
//Init term res

View File

@ -1,4 +1,5 @@
#include "mmu.h"
#include "hw/mem/_vmem.h"
#include "hw/sh4/sh4_if.h"
#include "hw/sh4/sh4_interrupts.h"
#include "hw/sh4/sh4_core.h"
@ -20,13 +21,8 @@ This is mostly hacked-on as the core was never meant to have mmu support
There are two modes, one with 'full' mmu emulation (for wince/bleem/wtfever)
and a fast-hack mode for 1mb sqremaps (for katana)
*/
#include "mmu.h"
#include "hw/sh4/sh4_if.h"
#include "ccn.h"
#include "hw/sh4/sh4_interrupts.h"
#include "hw/sh4/sh4_if.h"
#include "hw/sh4/sh4_mem.h"
#include "hw/mem/_vmem.h"
//#define TRACE_WINCE_SYSCALLS

View File

@ -1,7 +1,6 @@
#pragma once
#include "types.h"
#include "hw/sh4/sh4_mmr.h"
#include "hw/mem/_vmem.h"
#include "cfg/option.h"
#include "hw/sh4/dyna/ngen.h"

View File

@ -1,7 +1,7 @@
/*
The rtc isn't working on dreamcast I'm told
*/
#include "types.h"
#include "hw/hwreg.h"
#include "hw/sh4/sh4_mmr.h"
//Init term res

View File

@ -1,6 +1,6 @@
//ubc is disabled on dreamcast and can't be used ... but kos-debug uses it !...
#include "types.h"
#include "hw/hwreg.h"
#include "hw/sh4/sh4_mmr.h"
//Init term res

View File

@ -16,9 +16,9 @@
You should have received a copy of the GNU General Public License
along with reicast. If not, see <https://www.gnu.org/licenses/>.
*/
#ifdef TRACE_WINCE_SYSCALLS
#include "hw/sh4/sh4_sched.h"
#ifdef TRACE_WINCE_SYSCALLS
#define PUserKData 0x00005800
#define SYSHANDLE_OFFSET 0x004
#define SYS_HANDLE_BASE 64

View File

@ -18,6 +18,7 @@
*/
#pragma once
#include "types.h"
#include "cfg/option.h"
#include "gamepad_device.h"
#include "rend/gui.h"
#include <memory>

View File

@ -17,6 +17,7 @@
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include "mouse.h"
#include "cfg/option.h"
#include "rend/gui.h"
// Mouse buttons

View File

@ -4,16 +4,17 @@
#include "types.h"
#if defined(__unix__) || defined(__SWITCH__)
#include "hw/sh4/dyna/blockmanager.h"
#include "log/LogManager.h"
#include "emulator.h"
#include "rend/mainui.h"
#include "oslib/directory.h"
#include "oslib/oslib.h"
#include "stdclass.h"
#include <cstdarg>
#include <csignal>
#include <string>
#include <unistd.h>
#include <vector>
#if defined(__SWITCH__)
#include "nswitch.h"

View File

@ -10,6 +10,8 @@
#include <sys/time.h>
#if defined(__linux__) && !defined(__ANDROID__)
#include <sys/personality.h>
#endif
#if !defined(TARGET_BSD) && !defined(__ANDROID__) && defined(TARGET_VIDEOCORE)
#include <dlfcn.h>
#endif
#include <unistd.h>

View File

@ -20,6 +20,8 @@
#include "hw/naomi/naomi_cart.h"
#include "hw/naomi/naomi_flashrom.h"
#include "cfg/option.h"
#include "rend/gui.h"
#include <chrono>
#include <thread>

View File

@ -20,11 +20,13 @@
#include "types.h"
#include "net_platform.h"
#include "miniupnp.h"
#include "rend/gui.h"
#include "cfg/option.h"
#include "emulator.h"
#include <algorithm>
#include <atomic>
#include <future>
#include <vector>
class NaomiNetwork
{

View File

@ -1,5 +1,4 @@
#include "audiostream.h"
#include <memory>
struct SoundFrame { s16 l; s16 r; };

View File

@ -11,7 +11,6 @@ using namespace Xbyak::util;
#include "types.h"
#include "hw/sh4/sh4_opcode_list.h"
#include "hw/sh4/dyna/ngen.h"
#include "hw/sh4/modules/ccn.h"
#include "hw/sh4/modules/mmu.h"
#include "hw/sh4/sh4_interrupts.h"

View File

@ -7,7 +7,8 @@
*/
#include "descrambl.h"
#include <algorithm>
#include <utility>
#define MAXCHUNK (2048*1024)
@ -47,7 +48,7 @@ static void load_chunk(const u8* &src, u8 *ptr, u32 sz)
std::swap(idx[i], idx[x]);
/* Load resulting slice */
memcpy(ptr + 32 * idx[i], src, 32);
std::memcpy(ptr + 32 * idx[i], src, 32);
src += 32;
}
}
@ -70,5 +71,5 @@ void descrambl_buffer(const u8 *src, u8 *dst, u32 size)
/* Load final incomplete slice */
if (size)
memcpy(dst, src, size);
std::memcpy(dst, src, size);
}

View File

@ -18,7 +18,6 @@
*/
#include "TexCache.h"
#include "CustomTexture.h"
#include "cfg/cfg.h"
#include "oslib/directory.h"
#include "cfg/option.h"
#include "oslib/oslib.h"

View File

@ -3,7 +3,6 @@
#include "deps/xbrz/xbrz.h"
#include "hw/pvr/pvr_mem.h"
#include "hw/mem/_vmem.h"
#include "hw/sh4/modules/mmu.h"
#include <algorithm>
#include <mutex>

View File

@ -7,7 +7,10 @@
#include <array>
#include <atomic>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
#include <utility>
extern const u8 *vq_codebook;
extern u32 palette_index;

View File

@ -19,10 +19,13 @@
#pragma once
#include "scraper.h"
#include "stdclass.h"
#include <unordered_map>
#include <memory>
#include <future>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
#include <vector>
struct GameMedia;

View File

@ -16,10 +16,13 @@
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include <map>
#include "scraper.h"
#include "json.hpp"
#include <map>
#include <string>
#include <vector>
using namespace nlohmann;
class TheGamesDb : public Scraper

View File

@ -17,13 +17,13 @@
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <string>
#include <memory>
#include <vector>
#include "types.h"
#include "json.hpp"
#include <string>
#include <vector>
using namespace nlohmann;
struct GameBoxart

View File

@ -22,6 +22,7 @@
#include "hw/pvr/pvr_mem.h"
#include "rend/gui.h"
#include "rend/tileclip.h"
#include "rend/sorter.h"
const D3D11_INPUT_ELEMENT_DESC MainLayout[]
{

View File

@ -25,7 +25,6 @@
#include "dx11_quad.h"
#include "dx11_texture.h"
#include "dx11_shaders.h"
#include "rend/sorter.h"
#include "dx11_renderstate.h"
#include "dx11_naomi2.h"
#ifndef LIBRETRO

View File

@ -22,10 +22,8 @@
#include "../dx11context.h"
#include "../dx11_renderer.h"
#include "rend/transform_matrix.h"
#include "../dx11_quad.h"
#include "../dx11_texture.h"
#include "dx11_oitshaders.h"
#include "rend/sorter.h"
#include "../dx11_renderstate.h"
#include "dx11_oitbuffers.h"
#include "dx11_oitshaders.h"

View File

@ -17,6 +17,7 @@
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include "gl4naomi2.h"
#include "rend/gl4/gl4.h"
extern const char *N2VertexShader;
extern const char *N2ColorShader;

View File

@ -18,7 +18,6 @@
*/
#pragma once
#include "gl4.h"
#include "rend/gles/naomi2.h"
class N2Vertex4Source : public OpenGl4Source
{

View File

@ -18,9 +18,9 @@
*/
#include "gl4.h"
#include "rend/gles/glcache.h"
#include "rend/gles/naomi2.h"
#include "rend/tileclip.h"
#include "rend/osd.h"
#include "gl4naomi2.h"
static gl4PipelineShader* CurrentShader;
extern u32 gcflip;

View File

@ -23,6 +23,7 @@
#include "glsl.h"
#include "gl4naomi2.h"
#include "rend/gles/postprocess.h"
#include "rend/gles/naomi2.h"
//Fragment and vertex shaders code

View File

@ -1,6 +1,5 @@
#include "glcache.h"
#include "gles.h"
#include "rend/sorter.h"
#include "rend/tileclip.h"
#include "rend/osd.h"
#include "naomi2.h"

View File

@ -3,8 +3,7 @@
#include "hw/pvr/pvr_mem.h"
#include "rend/TexCache.h"
#include <cstdio>
#include <cstdlib>
#include <memory>
GlTextureCache TexCache;
@ -314,7 +313,7 @@ static void readAsyncPixelBuffer(u32 addr)
{
if (gl.rtt.directXfer)
// Can be read directly into vram
memcpy(dst, ptr, gl.rtt.width * gl.rtt.height * 2);
std::memcpy(dst, ptr, gl.rtt.width * gl.rtt.height * 2);
else
WriteTextureToVRam(gl.rtt.width, gl.rtt.height, ptr, dst, gl.rtt.fb_w_ctrl, gl.rtt.linestride);
}

View File

@ -17,9 +17,9 @@
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include <array>
#include "postprocess.h"
#include "cfg/option.h"
#include <array>
PostProcessor postProcessor;

View File

@ -16,8 +16,6 @@
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include <mutex>
#include "gui.h"
#include "osd.h"
#include "cfg/cfg.h"
@ -32,7 +30,6 @@
#include "input/gamepad_device.h"
#include "input/mouse.h"
#include "gui_util.h"
#include "gui_android.h"
#include "game_scanner.h"
#include "version.h"
#include "oslib/oslib.h"
@ -51,6 +48,12 @@
#include "sdl/sdl.h"
#endif
#ifdef __ANDROID__
#include "gui_android.h"
#endif
#include <mutex>
static bool game_started;
int insetLeft, insetRight, insetTop, insetBottom;
@ -432,6 +435,7 @@ void gui_set_insets(int left, int right, int top, int bottom)
#if 0
#include "oslib/timeseries.h"
#include <vector>
TimeSeries renderTimes;
TimeSeries vblankTimes;

View File

@ -18,7 +18,8 @@
*/
#pragma once
#include "types.h"
#include "cfg/option.h"
#include <string>
void gui_init();
void gui_initFonts();

View File

@ -18,14 +18,17 @@
*/
#pragma once
#include <string>
#include "types.h"
#include "cfg/option.h"
#include "imgui/imgui.h"
#include "imgui/imgui_internal.h"
#include "gui.h"
#include "emulator.h"
#include "stdclass.h"
#include <algorithm>
#include <chrono>
#include <future>
#include <string>
typedef bool (*StringCallback)(bool cancelled, std::string selection);

View File

@ -16,8 +16,7 @@
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include <chrono>
#include <thread>
#include "mainui.h"
#include "hw/pvr/Renderer_if.h"
#include "gui.h"
@ -27,7 +26,9 @@
#include "emulator.h"
#include "imgui_driver.h"
#include "profiler/fc_profiler.h"
#include <chrono>
#include <thread>
static bool mainui_enabled;
u32 MainFrameCount;

View File

@ -20,6 +20,7 @@
#include "input/gamepad_device.h"
#include "TexCache.h"
#include "hw/maple/maple_devs.h"
#include "stdclass.h"
#ifdef LIBRETRO
#include "vmu_xhair.h"
#endif

View File

@ -15,7 +15,6 @@
along with reicast. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include "types.h"
#include "hw/pvr/ta_ctx.h"
// Use the first vertex as provoking vertex for flat-shaded triangles

View File

@ -20,6 +20,7 @@
*/
#include "drawer.h"
#include "hw/pvr/pvr_mem.h"
#include "rend/sorter.h"
TileClipping BaseDrawer::SetTileClip(u32 val, vk::Rect2D& clipRect)
{

View File

@ -19,7 +19,6 @@
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include "rend/sorter.h"
#include "rend/tileclip.h"
#include "rend/transform_matrix.h"
#include "vulkan.h"

View File

@ -20,6 +20,7 @@
*/
#include "oit_drawer.h"
#include "hw/pvr/pvr_mem.h"
#include "rend/sorter.h"
#include <algorithm>

View File

@ -19,7 +19,6 @@
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include "rend/sorter.h"
#include "rend/transform_matrix.h"
#include "../vulkan.h"
#include "../buffer.h"

View File

@ -21,7 +21,6 @@
#include "pipeline.h"
#include "hw/pvr/Renderer_if.h"
#include "rend/osd.h"
#include "quad.h"
void PipelineManager::CreateModVolPipeline(ModVolMode mode, int cullMode, bool naomi2)
{

View File

@ -19,7 +19,6 @@
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
*/
#include "texture.h"
#include "utils.h"
#include <algorithm>
#include <memory>

View File

@ -22,13 +22,13 @@
#include "vulkan_context.h"
#include "buffer.h"
#include "rend/TexCache.h"
#include "hw/pvr/Renderer_if.h"
#include <algorithm>
#include <memory>
#include <map>
#include <memory>
#include <string>
#include <unordered_set>
#include <utility>
#include <vector>
void setImageLayout(vk::CommandBuffer const& commandBuffer, vk::Image image, vk::Format format, u32 mipmapLevels, vk::ImageLayout oldImageLayout, vk::ImageLayout newImageLayout);

View File

@ -21,7 +21,6 @@
#include "vulkan.h"
#include "vulkan_renderer.h"
#include "drawer.h"
#include "shaders.h"
class VulkanRenderer final : public BaseVulkanRenderer
{

View File

@ -22,9 +22,10 @@
#include "commandpool.h"
#include "pipeline.h"
#include "rend/osd.h"
#include "overlay.h"
#include "rend/transform_matrix.h"
#ifndef LIBRETRO
#ifdef LIBRETRO
#include "overlay.h"
#else
#include "rend/gui.h"
#endif

View File

@ -3,9 +3,11 @@
#include "types.h"
#include "cfg/cfg.h"
#include "sdl/sdl.h"
#ifdef WIN32
#include <SDL_syswm.h>
#endif
#include <SDL_video.h>
#ifdef USE_VULKAN
#if defined(__APPLE__) && defined(USE_VULKAN)
#include <SDL_vulkan.h>
#endif
#endif

View File

@ -16,7 +16,6 @@
#include "hw/sh4/sh4_mmr.h"
#include "hw/sh4/modules/mmu.h"
#include "reios/gdrom_hle.h"
#include "hw/sh4/dyna/blockmanager.h"
#include "hw/naomi/naomi.h"
#include "hw/naomi/naomi_cart.h"
#include "hw/sh4/sh4_cache.h"
@ -24,6 +23,9 @@
#include "hw/bba/bba.h"
#include "cfg/option.h"
#include <array>
#include <vector>
//./core/hw/arm7/arm_mem.cpp
extern bool aica_interr;
extern u32 aica_reg_L;