]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
pcem: fit bridgeboard glue into UAE builds
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Sun, 31 May 2026 02:58:12 +0000 (19:58 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Mon, 1 Jun 2026 20:39:25 +0000 (13:39 -0700)
The embedded PCem sources are compiled as part of UAE's bridgeboard
integration, not as a standalone PCem binary.

Keep the standalone dynarec entry points behind the non-UAE build
guard, leave the shared block-end flag visible to the interpreter
code, and provide default device configuration values used by the
bridgeboard devices.

pcem/386_dynarec.cpp
pcem/keyboard_at.h
pcem/pcemglue.h
x86.cpp

index 4fabbb26dbc88c35c4c148d1dbf87d598fcad796..f353810d25a2a47900eac9381ecaa22a711188c8 100644 (file)
@@ -10,7 +10,9 @@
 #include "x87.h"
 #include "mem.h"
 #include "codegen.h"
+#ifndef UAE
 #include "codegen_backend.h"
+#endif
 #include "cpu.h"
 #include "fdc.h"
 #include "nmi.h"
@@ -237,13 +239,13 @@ static void prefetch_flush()
 
 #include "386_ops.h"
 
+int cpu_end_block_after_ins = 0;
+
+#ifndef UAE
 
 #define CACHE_ON() (!(cr0 & (1 << 30)) && !(cpu_state.flags & T_FLAG))
 //#define CACHE_ON() 0
 
-int cpu_end_block_after_ins = 0;
-
-
 static inline void exec_interpreter(void)
 {
         cpu_block_end = 0;
@@ -660,3 +662,5 @@ void exec386_dynarec(int cycs)
                 cycles_main -= (cycles_start - cycles);
         }
 }
+
+#endif
index 4c49c9888bbdca3d8143bbe616770eb6a9f5e3fe..5dafaca9e140346da7136089f37e8d8c0b8a444e 100644 (file)
@@ -5,6 +5,5 @@ void keyboard_at_poll();
 void keyboard_at_set_mouse(void (*mouse_write)(uint8_t val, void *p), void *p);
 void keyboard_at_adddata_mouse(uint8_t val);
 
-extern uint8_t mouse_queue[16];
 extern int mouse_queue_start, mouse_queue_end;
 extern int mouse_scan;
index de674a5614419b377028f0b8dfe8806867bab250..a5d2b9abf2adbb4457dafed7a76062e25f5f5fc3 100644 (file)
@@ -10,8 +10,6 @@ uint32_t mem_read_romextl(uint32_t addr, void *priv);
 void pcem_linear_mark(int offset);
 
 extern int SOUNDBUFLEN;
-extern int32_t *x86_sndbuffer[2];
-extern bool x86_sndbuffer_filled[2];
 
 extern void *pcem_mapping_linear_priv;
 extern uae_u32 pcem_mapping_linear_offset;
diff --git a/x86.cpp b/x86.cpp
index 357d076064cc5f5769458b47f25b9799e612aafb..eca054b32e15e51e8aef9065b54f8e7138c9d679 100644 (file)
--- a/x86.cpp
+++ b/x86.cpp
@@ -3569,11 +3569,24 @@ int device_get_config_int(const char *s)
        if (!strcmp(s, "dithering")) {
                return 1;
        }
+       if (!strcmp(s, "dithersub")) {
+               return 1;
+       }
        if (!strcmp(s, "dacfilter")) {
                return 1;
        }
        if (!strcmp(s, "recompiler")) {
+#ifdef _WIN32
                return 1;
+#else
+               return 0;
+#endif
+       }
+       if (!strcmp(s, "sli") || !strcmp(s, "type")) {
+               return 0;
+       }
+       if (!strcmp(s, "framebuffer_memory") || !strcmp(s, "texture_memory")) {
+               return 2;
        }
        if (!strcmp(s, "memory")) {
                return pcem_getvramsize() >> 20;