Merge branch 'master' of github.com:86Box/86Box into tc1995
This commit is contained in:
@@ -67,7 +67,7 @@ void codegen_init()
|
||||
#if _WIN64
|
||||
codeblock = VirtualAlloc(NULL, BLOCK_SIZE * sizeof(codeblock_t), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
||||
#elif defined(__unix__) || defined(__APPLE__)
|
||||
codeblock = mmap(NULL, BLOCK_SIZE * sizeof(codeblock_t), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, 0, 0);
|
||||
codeblock = mmap(NULL, BLOCK_SIZE * sizeof(codeblock_t), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
#else
|
||||
codeblock = malloc(BLOCK_SIZE * sizeof(codeblock_t));
|
||||
#endif
|
||||
|
@@ -39,9 +39,9 @@ void codegen_allocator_init()
|
||||
/* TODO: check deployment target: older Intel-based versions of macOS don't play
|
||||
nice with MAP_JIT. */
|
||||
#elif defined(__APPLE__) && defined(MAP_JIT)
|
||||
mem_block_alloc = mmap(0, MEM_BLOCK_NR * MEM_BLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE|MAP_JIT, 0, 0);
|
||||
mem_block_alloc = mmap(0, MEM_BLOCK_NR * MEM_BLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE|MAP_JIT, -1, 0);
|
||||
#else
|
||||
mem_block_alloc = mmap(0, MEM_BLOCK_NR * MEM_BLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE, 0, 0);
|
||||
mem_block_alloc = mmap(0, MEM_BLOCK_NR * MEM_BLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE, -1, 0);
|
||||
#endif
|
||||
|
||||
for (c = 0; c < MEM_BLOCK_NR; c++)
|
||||
|
@@ -10,7 +10,7 @@ extern uint8_t MIDI_evt_len[256];
|
||||
extern int midi_device_current;
|
||||
extern int midi_input_device_current;
|
||||
|
||||
extern void (*input_msg)(void *p, uint8_t *msg);
|
||||
extern void (*input_msg)(void *p, uint8_t *msg, uint32_t len);
|
||||
extern int (*input_sysex)(void *p, uint8_t *buf, uint32_t len, int abort);
|
||||
extern void *midi_in_p;
|
||||
|
||||
@@ -44,7 +44,7 @@ typedef struct midi_in_handler_t
|
||||
int cnt;
|
||||
uint32_t len;
|
||||
|
||||
void (*msg)(void *p, uint8_t *msg);
|
||||
void (*msg)(void *p, uint8_t *msg, uint32_t len);
|
||||
int (*sysex)(void *p, uint8_t *buffer, uint32_t len, int abort);
|
||||
struct midi_in_handler_t *p;
|
||||
struct midi_in_handler_t *prev, *next;
|
||||
@@ -73,9 +73,9 @@ extern void midi_raw_out_byte(uint8_t val);
|
||||
extern void midi_clear_buffer(void);
|
||||
extern void midi_poll();
|
||||
|
||||
extern void midi_in_handler(int set, void (*msg)(void *p, uint8_t *msg), int (*sysex)(void *p, uint8_t *buffer, uint32_t len, int abort), void *p);
|
||||
extern void midi_in_handler(int set, void (*msg)(void *p, uint8_t *msg, uint32_t len), int (*sysex)(void *p, uint8_t *buffer, uint32_t len, int abort), void *p);
|
||||
extern void midi_in_handlers_clear(void);
|
||||
extern void midi_in_msg(uint8_t *msg);
|
||||
extern void midi_in_msg(uint8_t *msg, uint32_t len);
|
||||
extern void midi_in_sysex(uint8_t *buffer, uint32_t len);
|
||||
|
||||
#if 0
|
||||
|
@@ -51,7 +51,7 @@ static const mo_type_t mo_types[KNOWN_MO_TYPES] = {
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char vendor[8];
|
||||
const char vendor[9];
|
||||
const char model[16];
|
||||
const char revision[5];
|
||||
int8_t supported_media[KNOWN_MO_TYPES];
|
||||
|
@@ -159,4 +159,4 @@ extern void mpu401_device_add(void);
|
||||
extern void mpu401_irq_attach(mpu_t *mpu, void (*ext_irq_update)(void *priv, int set), int (*ext_irq_pending)(void *priv), void *priv);
|
||||
|
||||
extern int MPU401_InputSysex(void *p, uint8_t *buffer, uint32_t len, int abort);
|
||||
extern void MPU401_InputMsg(void *p, uint8_t *msg);
|
||||
extern void MPU401_InputMsg(void *p, uint8_t *msg, uint32_t len);
|
||||
|
@@ -102,7 +102,7 @@ typedef struct sb_dsp_t
|
||||
} sb_dsp_t;
|
||||
|
||||
|
||||
void sb_dsp_input_msg(void *p, uint8_t *msg);
|
||||
void sb_dsp_input_msg(void *p, uint8_t *msg, uint32_t len);
|
||||
|
||||
int sb_dsp_input_sysex(void *p, uint8_t *buffer, uint32_t len, int abort);
|
||||
|
||||
|
@@ -396,7 +396,7 @@ midi_clear_buffer(void)
|
||||
|
||||
|
||||
void
|
||||
midi_in_handler(int set, void (*msg)(void *p, uint8_t *msg), int (*sysex)(void *p, uint8_t *buffer, uint32_t len, int abort), void *p)
|
||||
midi_in_handler(int set, void (*msg)(void *p, uint8_t *msg, uint32_t len), int (*sysex)(void *p, uint8_t *buffer, uint32_t len, int abort), void *p)
|
||||
{
|
||||
midi_in_handler_t *temp = NULL, *next;
|
||||
|
||||
@@ -479,7 +479,7 @@ midi_in_handlers_clear(void)
|
||||
|
||||
|
||||
void
|
||||
midi_in_msg(uint8_t *msg)
|
||||
midi_in_msg(uint8_t *msg, uint32_t len)
|
||||
{
|
||||
midi_in_handler_t *temp = mih_first;
|
||||
|
||||
@@ -488,7 +488,7 @@ midi_in_msg(uint8_t *msg)
|
||||
break;
|
||||
|
||||
if (temp->msg)
|
||||
temp->msg(temp->p, msg);
|
||||
temp->msg(temp->p, msg, len);
|
||||
|
||||
temp = temp->next;
|
||||
|
||||
|
@@ -145,10 +145,10 @@ rtmidi_get_dev_name(int num, char *s)
|
||||
void
|
||||
rtmidi_input_callback(double timeStamp, std::vector<unsigned char> *message, void *userData)
|
||||
{
|
||||
if (message->size() <= 3)
|
||||
midi_in_msg(message->data());
|
||||
if (message->front() == 0xF0)
|
||||
midi_in_sysex(message->data(), message->size());
|
||||
else
|
||||
midi_in_sysex(message->data(), message->size());
|
||||
midi_in_msg(message->data(), message->size());
|
||||
}
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ rtmidi_input_init(const device_t *info)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
midi_in_id = config_get_int((char*)SYSTEM_MIDI_NAME, (char*)"midi_input", 0);
|
||||
midi_in_id = config_get_int((char*)MIDI_INPUT_NAME, (char*)"midi_input", 0);
|
||||
|
||||
try {
|
||||
midiin->openPort(midi_in_id);
|
||||
@@ -183,7 +183,10 @@ rtmidi_input_init(const device_t *info)
|
||||
}
|
||||
}
|
||||
|
||||
midiin->setCallback(rtmidi_input_callback);
|
||||
midiin->setCallback(&rtmidi_input_callback);
|
||||
|
||||
// Don't ignore sysex, timing, or active sensing messages.
|
||||
midiin->ignoreTypes(false, false, false);
|
||||
|
||||
midi_in_init(dev, &midi_in);
|
||||
|
||||
|
@@ -1125,7 +1125,7 @@ static void gus_get_buffer(int32_t *buffer, int len, void *p)
|
||||
gus->pos = 0;
|
||||
}
|
||||
|
||||
static void gus_input_msg(void *p, uint8_t *msg)
|
||||
static void gus_input_msg(void *p, uint8_t *msg, uint32_t len)
|
||||
{
|
||||
gus_t *gus = (gus_t *)p;
|
||||
uint8_t i;
|
||||
@@ -1136,7 +1136,7 @@ static void gus_input_msg(void *p, uint8_t *msg)
|
||||
if (gus->uart_in) {
|
||||
gus->midi_status |= MIDI_INT_RECEIVE;
|
||||
|
||||
for (i=0;i<msg[3];i++) {
|
||||
for (i=0; i < len; i++) {
|
||||
gus->midi_queue[gus->midi_w++] = msg[i];
|
||||
gus->midi_w &= 63;
|
||||
}
|
||||
|
@@ -1422,12 +1422,12 @@ MPU401_InputSysex(void *p, uint8_t *buffer, uint32_t len, int abort)
|
||||
|
||||
/*Input handler for MIDI*/
|
||||
void
|
||||
MPU401_InputMsg(void *p, uint8_t *msg)
|
||||
MPU401_InputMsg(void *p, uint8_t *msg, uint32_t len)
|
||||
{
|
||||
mpu_t *mpu = (mpu_t *)p;
|
||||
int i, tick;
|
||||
static uint8_t old_msg = 0;
|
||||
uint8_t len = msg[3], key;
|
||||
uint8_t key;
|
||||
uint8_t recdata[2], recmsg[4];
|
||||
int send = 1, send_thru = 0;
|
||||
int retrigger_thru = 0, chan, chrefnum;
|
||||
|
@@ -1036,15 +1036,15 @@ sb_read(uint16_t a, void *priv)
|
||||
|
||||
|
||||
void
|
||||
sb_dsp_input_msg(void *p, uint8_t *msg)
|
||||
sb_dsp_input_msg(void *p, uint8_t *msg, uint32_t len)
|
||||
{
|
||||
sb_dsp_t *dsp = (sb_dsp_t *) p;
|
||||
uint8_t len = msg[3], i = 0;
|
||||
uint8_t i = 0;
|
||||
|
||||
sb_dsp_log("MIDI in sysex = %d, uart irq = %d, msg = %d\n", dsp->midi_in_sysex, dsp->uart_irq, msg[3]);
|
||||
sb_dsp_log("MIDI in sysex = %d, uart irq = %d, msg = %d\n", dsp->midi_in_sysex, dsp->uart_irq, len);
|
||||
|
||||
if (!dsp->uart_irq && !dsp->midi_in_poll && (dsp->mpu != NULL)) {
|
||||
MPU401_InputMsg(dsp->mpu, msg);
|
||||
MPU401_InputMsg(dsp->mpu, msg, len);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -374,9 +374,9 @@ void *
|
||||
plat_mmap(size_t size, uint8_t executable)
|
||||
{
|
||||
#if defined __APPLE__ && defined MAP_JIT
|
||||
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE | (executable ? MAP_JIT : 0), 0, 0);
|
||||
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE | (executable ? MAP_JIT : 0), -1, 0);
|
||||
#else
|
||||
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE, 0, 0);
|
||||
void *ret = mmap(0, size, PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0), MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
#endif
|
||||
return (ret < 0) ? NULL : ret;
|
||||
}
|
||||
|
@@ -47,7 +47,7 @@ BEGIN
|
||||
#endif
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Dimensionen spezifizieren...", IDM_VID_SPECIFY_DIM
|
||||
MENUITEM "Fenstergröße einstellen...", IDM_VID_SPECIFY_DIM
|
||||
MENUITEM "&4:3-Seitenverhältnis erzwingen", IDM_VID_FORCE43
|
||||
POPUP "&Fensterskalierungsfaktor"
|
||||
BEGIN
|
||||
@@ -104,7 +104,7 @@ BEGIN
|
||||
MENUITEM "&Einstellungen...", IDM_PREFERENCES
|
||||
MENUITEM "&Discord-Integration aktivieren", IDM_DISCORD
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Schallverstärkung...", IDM_SND_GAIN
|
||||
MENUITEM "&Klangverstärkung...", IDM_SND_GAIN
|
||||
#ifdef MTR_ENABLED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Tracing starten\tStrg+T", IDM_ACTION_BEGIN_TRACE
|
||||
@@ -270,7 +270,7 @@ END
|
||||
#define STR_SND_GAIN "Klangverstärkung"
|
||||
#define STR_NEW_FLOPPY "Neues Image"
|
||||
#define STR_CONFIG "Optionen"
|
||||
#define STR_SPECIFY_DIM "Abmessungen des Hauptfensters einstellen"
|
||||
#define STR_SPECIFY_DIM "Fenstergröße einstellen"
|
||||
|
||||
#define STR_OK "OK"
|
||||
#define STR_CANCEL "Abbrechen"
|
||||
@@ -288,13 +288,13 @@ END
|
||||
|
||||
#define STR_WIDTH "Breite:"
|
||||
#define STR_HEIGHT "Höhe:"
|
||||
#define STR_LOCK_TO_SIZE "Auf diese Größe festlegen"
|
||||
#define STR_LOCK_TO_SIZE "Feste Größe"
|
||||
|
||||
#define STR_MACHINE_TYPE "Maschinentyp:"
|
||||
#define STR_MACHINE_TYPE "Systemtyp:"
|
||||
#define STR_MACHINE "Maschine:"
|
||||
#define STR_CONFIGURE "Einstellen"
|
||||
#define STR_CPU_TYPE "CPU-Typ:"
|
||||
#define STR_SPEED "Takt:"
|
||||
#define STR_SPEED "Geschwindigkeit:"
|
||||
#define STR_FPU "FPU-Einheit:"
|
||||
#define STR_WAIT_STATES "Wartezustände:"
|
||||
#define STR_MB "MB"
|
||||
@@ -377,13 +377,13 @@ END
|
||||
#define STR_250 "ZIP 250"
|
||||
|
||||
#define STR_ISARTC "ISA-Echtzeituhr:"
|
||||
#define STR_ISAMEM "ISA-Speichererweiterung"
|
||||
#define STR_ISAMEM "ISA-Speichererweiterung:"
|
||||
#define STR_ISAMEM_1 "Steckkarte 1:"
|
||||
#define STR_ISAMEM_2 "Steckkarte 2:"
|
||||
#define STR_ISAMEM_3 "Steckkarte 3:"
|
||||
#define STR_ISAMEM_4 "Steckkarte 4:"
|
||||
#define STR_BUGGER "ISABugger-Gerät"
|
||||
#define STR_POSTCARD "POST-Code-Karte"
|
||||
#define STR_BUGGER "ISABugger-Gerät:"
|
||||
#define STR_POSTCARD "POST-Code-Karte:"
|
||||
|
||||
#define FONT_SIZE 9
|
||||
#define FONT_NAME "Segoe UI"
|
||||
@@ -412,13 +412,13 @@ BEGIN
|
||||
IDS_2060 "An"
|
||||
IDS_2061 "Aus"
|
||||
IDS_2062 "Alle Images (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Basissektorimages (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Oberflächenimages (*.86F)\0*.86F\0"
|
||||
IDS_2063 "Die Maschine ""%hs"" ist aufgrund von fehlenden ROMs im Verzeichnis roms/machines nicht verfügbar. Es wird auf eine verfügbare Maschine gewechselt."
|
||||
IDS_2063 "Das System ""%hs"" ist aufgrund von fehlenden ROMs im Verzeichnis roms/machines nicht verfügbar. Es wird auf ein verfügbares System gewechselt."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_2064 "Die Videokarte ""%hs"" ist aufgrund von fehlenden ROMs im Verzeichnis roms/video nicht verfügbar. Es wird auf eine verfügbare Videokarte gewechselt."
|
||||
IDS_2065 "Maschine"
|
||||
IDS_2065 "System"
|
||||
IDS_2066 "Anzeige"
|
||||
IDS_2067 "Eingabegeräte"
|
||||
IDS_2068 "Multimedia"
|
||||
@@ -469,7 +469,7 @@ BEGIN
|
||||
IDS_2109 "Alle Images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Fortgeschrittene Sektorimages (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basissektorimages (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Fluximages (*.FDI)\0*.FDI\0Oberflächenimages (*.86F;*.MFM)\0*.86F;*.MFM\0Alle Dateien (*.*)\0*.*\0"
|
||||
IDS_2110 "FreeType konnte nicht initialisiert werden"
|
||||
IDS_2111 "SDL konnte nicht initialisiert werden, die Datei SDL2.dll wird benötigt"
|
||||
IDS_2112 "Sind Sie sich sicher, dass Sie einen Hard-Reset für die emulierte Maschine durchführen wollen?"
|
||||
IDS_2112 "Sind Sie sich sicher, dass Sie einen Hard-Reset für das emulierte System durchführen wollen?"
|
||||
IDS_2113 "Sind Sie sich sicher, dass Sie 86Box beenden wollen?"
|
||||
IDS_2114 "Ghostscript konnte nicht initialisiert werden"
|
||||
IDS_2115 "MO %i (%ls): %ls"
|
||||
@@ -524,14 +524,14 @@ BEGIN
|
||||
IDS_2143 "OpenGL-Shader (*.GLSL)\0*.GLSL\0Alle Dateien (*.*)\0*.*\0"
|
||||
IDS_2144 "OpenGL-Optionen"
|
||||
IDS_2145 "Sie laden gerade eine nicht unterstützte Konfiguration"
|
||||
IDS_2146 "Das Filtern der CPU-Typen basierend auf der ausgewählten Maschine ist für diese Maschine deaktiviert.\n\nDies ermöglicht es, dass man eine sonst nicht mit der ausgewählten Maschine inkompatible CPU auswählen kann. Allerdings kann dies zu Inkompatiblilitäten mit dem BIOS der Maschine oder anderen Programmen kommen.\n\nDas Aktivieren dieser Einstellung wird nicht unterstützt und sämtliche Bugreports können als ""invalid"" geschlossen werden."
|
||||
IDS_2146 "Das Filtern der CPU-Typen basierend auf dem ausgewählten System ist für dieses System deaktiviert.\n\nDies ermöglicht es, dass man eine sonst nicht mit dem ausgewählten System inkompatible CPU auswählen kann. Allerdings kann dies zu Inkompatiblilitäten mit dem BIOS des Systems oder anderen Programmen kommen.\n\nDas Aktivieren dieser Einstellung wird nicht unterstützt und sämtliche Bugreports können als ""invalid"" geschlossen werden."
|
||||
IDS_2147 "Fortfahren"
|
||||
IDS_2148 "Kassette: %s"
|
||||
IDS_2149 "Kassettenimages (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Alle Dateien (*.*)\0*.*\0"
|
||||
IDS_2150 "Cartridge %i: %ls"
|
||||
IDS_2151 "Cartridgeimages (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Alle Dateien (*.*)\0*.*\0"
|
||||
IDS_2152 "Error initializing renderer"
|
||||
IDS_2153 "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer."
|
||||
IDS_2152 "Fehler bei der Rendererinitialisierung"
|
||||
IDS_2153 "Der OpenGL (3.0-Kern)-Renderer konnte nicht initialisiert werden. Bitte benutzen Sie einen anderen Renderer."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
@@ -532,8 +532,8 @@ BEGIN
|
||||
IDS_2149 "Magnókazetta-képek (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Minden fájl (*.*)\0*.*\0"
|
||||
IDS_2150 "ROM-kazetta %i: %ls"
|
||||
IDS_2151 "ROM-kazetta képek (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Minden fájl (*.*)\0*.*\0"
|
||||
IDS_2152 "Error initializing renderer"
|
||||
IDS_2153 "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer."
|
||||
IDS_2152 "Hiba történt a renderelő inicializálásakor"
|
||||
IDS_2153 "Az OpenGL (3.0 Core) megjelenítő-motort nem sikerült inicializálni. Kérem használjon másik renderelőt."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
@@ -481,8 +481,8 @@ BEGIN
|
||||
IDS_2121 "Хотите ли вы сохранить настройки?"
|
||||
IDS_2122 "Это приведет к холодной перезагрузке эмулируемой машины."
|
||||
IDS_2123 "Сохранить"
|
||||
IDS_2124 "О программе 86Box"
|
||||
IDS_2125 "86Box v" EMU_VERSION
|
||||
IDS_2124 "О 86Box"
|
||||
IDS_2125 "86Box v." EMU_VERSION
|
||||
|
||||
IDS_2126 "Эмулятор старых компьютеров\n\nАвторы: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nВыпускается под лицензией GNU General Public License версии 2 или более поздней. Дополнительную информацию см. в файле LICENSE."
|
||||
IDS_2127 "OK"
|
||||
|
Reference in New Issue
Block a user