mirror of
https://github.com/holub/mame
synced 2025-06-29 23:48:56 +03:00
Merge branch 'master' into separate_softlist_image_load
This commit is contained in:
commit
024f698364
@ -928,7 +928,7 @@ msgstr ""
|
||||
|
||||
#: src/frontend/mame/ui/miscmenu.cpp:780
|
||||
msgid "This machine has no bios."
|
||||
msgstr ""
|
||||
msgstr "Esta máquina no tiene BIOS"
|
||||
|
||||
#: src/frontend/mame/ui/miscmenu.cpp:794
|
||||
msgid "Save machine configuration"
|
||||
@ -1459,11 +1459,11 @@ msgstr "Confirmar salida de máquina"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:28
|
||||
msgid "Skip information screen at startup"
|
||||
msgstr ""
|
||||
msgstr "Evitar la pantalla de información al inicio"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:29
|
||||
msgid "Force 4:3 aspect for snapshot display"
|
||||
msgstr ""
|
||||
msgstr "Forzar aspecto 4:3 al capturar la pantalla"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:30
|
||||
msgid "Use image as background"
|
||||
@ -1479,47 +1479,47 @@ msgstr "Saltar el menú de selección de software"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:33
|
||||
msgid "Info auto audit"
|
||||
msgstr ""
|
||||
msgstr "Información de la auditoría automática"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:34
|
||||
msgid "Hide romless machine from available list"
|
||||
msgstr ""
|
||||
msgstr "Ocultar las máquinas sin ROMs de la lista"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:38
|
||||
msgid "Advanced Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones avanzadas"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:39
|
||||
msgid "Performance Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones de rendimiento"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:40
|
||||
msgid "Auto frame skip"
|
||||
msgstr ""
|
||||
msgstr "Salto de frames automático"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:41
|
||||
msgid "Frame skip"
|
||||
msgstr ""
|
||||
msgstr "Salto de frame"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:42
|
||||
msgid "Throttle"
|
||||
msgstr ""
|
||||
msgstr "Acelerar"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:43
|
||||
msgid "Sleep"
|
||||
msgstr ""
|
||||
msgstr "Suspender"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:44
|
||||
msgid "Speed"
|
||||
msgstr ""
|
||||
msgstr "Velocidad"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:45
|
||||
msgid "Refresh speed"
|
||||
msgstr ""
|
||||
msgstr "Velocidad de refresco"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:47
|
||||
msgid "Rotation Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones de rotación"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:48 src/frontend/mame/ui/videoopt.cpp:204
|
||||
msgid "Rotate"
|
||||
@ -1527,67 +1527,67 @@ msgstr "Girar"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:49
|
||||
msgid "Rotate right"
|
||||
msgstr ""
|
||||
msgstr "Rotar a la derecha"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:50
|
||||
msgid "Rotate left"
|
||||
msgstr ""
|
||||
msgstr "Rotar a la izquierda"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:51
|
||||
msgid "Auto rotate right"
|
||||
msgstr ""
|
||||
msgstr "Rotar automáticamente a la derecha"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:52
|
||||
msgid "Auto rotate left"
|
||||
msgstr ""
|
||||
msgstr "Rotar automáticamente a la izquierda"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:53
|
||||
msgid "Flip X"
|
||||
msgstr ""
|
||||
msgstr "Voltear horizontalmente"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:54
|
||||
msgid "Flip Y"
|
||||
msgstr ""
|
||||
msgstr "Voltear verticalmente"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:56
|
||||
msgid "Artwork Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones de arte"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:57
|
||||
msgid "Artwork Crop"
|
||||
msgstr ""
|
||||
msgstr "Recortes del arte"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:58
|
||||
msgid "Use Backdrops"
|
||||
msgstr ""
|
||||
msgstr "Utilizar fondos"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:59
|
||||
msgid "Use Overlays"
|
||||
msgstr ""
|
||||
msgstr "Utilizar sobreimpresiones"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:60
|
||||
msgid "Use Bezels"
|
||||
msgstr ""
|
||||
msgstr "Utilizar marcos"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:61
|
||||
msgid "Use Control Panels"
|
||||
msgstr ""
|
||||
msgstr "Utilizar paneles de control"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:62
|
||||
msgid "Use Marquees"
|
||||
msgstr ""
|
||||
msgstr "Utilizar marquesinas"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:64
|
||||
msgid "State/Playback Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones de estado/reproducción"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:65
|
||||
msgid "Automatic save/restore"
|
||||
msgstr ""
|
||||
msgstr "Guardado/recuperación automático/a"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:66
|
||||
msgid "Bilinear snapshot"
|
||||
msgstr ""
|
||||
msgstr "Captura bilineal"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:67
|
||||
msgid "Burn-in"
|
||||
@ -1595,31 +1595,31 @@ msgstr ""
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:69
|
||||
msgid "Input Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones de entrada"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:70
|
||||
msgid "Coin lockout"
|
||||
msgstr ""
|
||||
msgstr "Bloqueo de monedas"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:71
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
msgstr "Ratón"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:72
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
msgstr "Joystick"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:73
|
||||
msgid "Lightgun"
|
||||
msgstr ""
|
||||
msgstr "Pistola de luz"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:74
|
||||
msgid "Multi-keyboard"
|
||||
msgstr ""
|
||||
msgstr "Multi-teclado"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:75
|
||||
msgid "Multi-mouse"
|
||||
msgstr ""
|
||||
msgstr "Multi-ratón"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:76
|
||||
msgid "Steadykey"
|
||||
@ -1627,31 +1627,31 @@ msgstr ""
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:77
|
||||
msgid "UI active"
|
||||
msgstr ""
|
||||
msgstr "Interfaz de usuario activa"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:78
|
||||
msgid "Offscreen reload"
|
||||
msgstr ""
|
||||
msgstr "Recarga no visible"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:79
|
||||
msgid "Joystick deadzone"
|
||||
msgstr ""
|
||||
msgstr "Zona muerta de los Joysticks"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:80
|
||||
msgid "Joystick saturation"
|
||||
msgstr ""
|
||||
msgstr "Saturación de los Joysticks"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:81
|
||||
msgid "Natural keyboard"
|
||||
msgstr ""
|
||||
msgstr "Teclado natural"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:82
|
||||
msgid "Simultaneous contradictory"
|
||||
msgstr ""
|
||||
msgstr "Entradas contradictorias simultáneas"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:83
|
||||
msgid "Coin impulse"
|
||||
msgstr ""
|
||||
msgstr "Impulso de monedas"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:87
|
||||
msgid "Device Mapping"
|
||||
@ -1695,7 +1695,7 @@ msgstr "Modo de vídeo"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:101
|
||||
msgid "Number Of Screens"
|
||||
msgstr ""
|
||||
msgstr "Número de pantallas"
|
||||
|
||||
#: src/frontend/mame/ui/submenu.cpp:103
|
||||
msgid "Triple Buffering"
|
||||
@ -2243,7 +2243,7 @@ msgstr "Fondos"
|
||||
|
||||
#: src/frontend/mame/ui/videoopt.cpp:212
|
||||
msgid "Overlays"
|
||||
msgstr "Superposiciones"
|
||||
msgstr "Sobreimpresiones"
|
||||
|
||||
#: src/frontend/mame/ui/videoopt.cpp:216
|
||||
msgid "Bezels"
|
||||
|
@ -378,7 +378,7 @@ bool a78_cart_slot_device::call_load()
|
||||
char head[128];
|
||||
fread(head, 128);
|
||||
|
||||
if (verify_header((char *)head) == IMAGE_VERIFY_FAIL)
|
||||
if (!verify_header((char *)head))
|
||||
return IMAGE_INIT_FAIL;
|
||||
|
||||
len = (head[49] << 24) | (head[50] << 16) | (head[51] << 8) | head[52];
|
||||
@ -499,18 +499,18 @@ void a78_cart_slot_device::call_unload()
|
||||
has an admissible header
|
||||
-------------------------------------------------*/
|
||||
|
||||
int a78_cart_slot_device::verify_header(char *header)
|
||||
bool a78_cart_slot_device::verify_header(char *header)
|
||||
{
|
||||
const char *magic = "ATARI7800";
|
||||
|
||||
if (strncmp(magic, header + 1, 9))
|
||||
{
|
||||
logerror("Not a valid A7800 image\n");
|
||||
return IMAGE_VERIFY_FAIL;
|
||||
return false;
|
||||
}
|
||||
|
||||
logerror("returning ID_OK\n");
|
||||
return IMAGE_VERIFY_PASS;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -128,7 +128,7 @@ private:
|
||||
device_a78_cart_interface* m_cart;
|
||||
int m_type;
|
||||
|
||||
int verify_header(char *header);
|
||||
bool verify_header(char *header);
|
||||
int validate_header(int head, bool log);
|
||||
void internal_header_logging(UINT8 *header, UINT32 len);
|
||||
};
|
||||
|
@ -45,15 +45,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "hle.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// CONSTANTS / MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define APRICOT_KEY(_key, _index) \
|
||||
PORT_BIT(1 << _key, IP_ACTIVE_HIGH, IPT_KEYBOARD) \
|
||||
PORT_CHANGED_MEMBER(DEVICE_SELF, apricot_keyboard_hle_device, key_callback, (void *) _index)
|
||||
#include "machine/keyboard.ipp"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -68,110 +60,128 @@ const device_type APRICOT_KEYBOARD_HLE = &device_creator<apricot_keyboard_hle_de
|
||||
//-------------------------------------------------
|
||||
|
||||
static INPUT_PORTS_START( keyboard )
|
||||
PORT_START("keyboard_0")
|
||||
PORT_BIT(1 << 0, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
APRICOT_KEY( 1, nullptr) PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7)) PORT_NAME("Help")
|
||||
APRICOT_KEY( 2, nullptr) PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_NAME("Undo")
|
||||
APRICOT_KEY( 3, nullptr) PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) PORT_NAME("Repeat")
|
||||
APRICOT_KEY( 4, nullptr) PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10)) PORT_NAME("Calc")
|
||||
APRICOT_KEY( 5, nullptr) PORT_CODE(KEYCODE_PRTSCR) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR)) PORT_NAME("Print")
|
||||
APRICOT_KEY( 6, nullptr) PORT_CODE(KEYCODE_CANCEL) PORT_CHAR(UCHAR_MAMEKEY(CANCEL)) PORT_NAME("Intr")
|
||||
APRICOT_KEY( 7, nullptr) PORT_CODE(KEYCODE_F11) PORT_CHAR(UCHAR_MAMEKEY(F11)) PORT_NAME("Menu")
|
||||
APRICOT_KEY( 8, nullptr) PORT_CODE(KEYCODE_F12) PORT_CHAR(UCHAR_MAMEKEY(F12)) PORT_NAME("Finish")
|
||||
APRICOT_KEY( 9, nullptr) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_NAME("Function 1")
|
||||
APRICOT_KEY(10, nullptr) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_NAME("Function 2")
|
||||
APRICOT_KEY(11, nullptr) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_NAME("Function 3")
|
||||
APRICOT_KEY(12, nullptr) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_NAME("Function 4")
|
||||
APRICOT_KEY(13, nullptr) PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_NAME("Function 5")
|
||||
APRICOT_KEY(14, nullptr) PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_NAME("Function 6")
|
||||
APRICOT_KEY(15, nullptr) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('^')
|
||||
APRICOT_KEY(16, nullptr) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
APRICOT_KEY(17, nullptr) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
|
||||
APRICOT_KEY(18, nullptr) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
|
||||
APRICOT_KEY(19, nullptr) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR(0xa3) // pound
|
||||
APRICOT_KEY(20, nullptr) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
|
||||
APRICOT_KEY(21, nullptr) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('$')
|
||||
APRICOT_KEY(22, nullptr) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
|
||||
APRICOT_KEY(23, nullptr) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
|
||||
APRICOT_KEY(24, nullptr) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
|
||||
APRICOT_KEY(25, nullptr) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
|
||||
APRICOT_KEY(26, nullptr) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_')
|
||||
APRICOT_KEY(27, nullptr) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')
|
||||
APRICOT_KEY(28, nullptr) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(9)
|
||||
PORT_BIT(1 << 29, IP_ACTIVE_HIGH, IPT_UNUSED) // actually a dedicated % key
|
||||
APRICOT_KEY(30, nullptr) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK))
|
||||
APRICOT_KEY(31, nullptr) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD))
|
||||
PORT_START("row_0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7)) PORT_NAME("Help")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_NAME("Undo")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) PORT_NAME("Repeat")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10)) PORT_NAME("Calc")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_PRTSCR) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR)) PORT_NAME("Print")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_CANCEL) PORT_CHAR(UCHAR_MAMEKEY(CANCEL)) PORT_NAME("Intr")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F11) PORT_CHAR(UCHAR_MAMEKEY(F11)) PORT_NAME("Menu")
|
||||
|
||||
PORT_START("keyboard_1")
|
||||
APRICOT_KEY( 0, 1) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD))
|
||||
APRICOT_KEY( 1, 1) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD))
|
||||
APRICOT_KEY( 2, 1) PORT_CODE(KEYCODE_TAB) PORT_CHAR(9)
|
||||
APRICOT_KEY( 3, 1) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
APRICOT_KEY( 4, 1) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
APRICOT_KEY( 5, 1) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
|
||||
APRICOT_KEY( 6, 1) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
|
||||
APRICOT_KEY( 7, 1) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
|
||||
APRICOT_KEY( 8, 1) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
APRICOT_KEY( 9, 1) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
|
||||
APRICOT_KEY(10, 1) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
APRICOT_KEY(11, 1) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
APRICOT_KEY(12, 1) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
APRICOT_KEY(13, 1) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')
|
||||
APRICOT_KEY(14, 1) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
|
||||
APRICOT_KEY(15, 1) PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME))
|
||||
APRICOT_KEY(16, 1) PORT_CODE(KEYCODE_END) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_NAME("Clear")
|
||||
APRICOT_KEY(17, 1) PORT_CODE(KEYCODE_7_PAD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD))
|
||||
APRICOT_KEY(18, 1) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD))
|
||||
APRICOT_KEY(19, 1) PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD))
|
||||
APRICOT_KEY(20, 1) PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
|
||||
APRICOT_KEY(21, 1) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
APRICOT_KEY(22, 1) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||
APRICOT_KEY(23, 1) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||
APRICOT_KEY(24, 1) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||
APRICOT_KEY(25, 1) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
APRICOT_KEY(26, 1) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
APRICOT_KEY(27, 1) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
APRICOT_KEY(28, 1) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
APRICOT_KEY(29, 1) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
APRICOT_KEY(30, 1) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
|
||||
APRICOT_KEY(31, 1) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"')
|
||||
PORT_START("row_1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F12) PORT_CHAR(UCHAR_MAMEKEY(F12)) PORT_NAME("Finish")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_NAME("Function 1")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_NAME("Function 2")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_NAME("Function 3")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_NAME("Function 4")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_NAME("Function 5")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_NAME("Function 6")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('^')
|
||||
|
||||
PORT_START("keyboard_2")
|
||||
APRICOT_KEY( 0, 2) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
|
||||
APRICOT_KEY( 1, 2) PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
|
||||
APRICOT_KEY( 2, 2) PORT_CODE(KEYCODE_DEL) PORT_CHAR(UCHAR_MAMEKEY(DEL))
|
||||
APRICOT_KEY( 3, 2) PORT_CODE(KEYCODE_4_PAD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD))
|
||||
APRICOT_KEY( 4, 2) PORT_CODE(KEYCODE_5_PAD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD))
|
||||
APRICOT_KEY( 5, 2) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD))
|
||||
APRICOT_KEY( 6, 2) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
APRICOT_KEY( 7, 2) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
APRICOT_KEY( 8, 2) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||
APRICOT_KEY( 9, 2) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
|
||||
APRICOT_KEY(10, 2) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||
APRICOT_KEY(11, 2) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||
APRICOT_KEY(12, 2) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
APRICOT_KEY(13, 2) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
APRICOT_KEY(14, 2) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
APRICOT_KEY(15, 2) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
APRICOT_KEY(16, 2) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
APRICOT_KEY(17, 2) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
APRICOT_KEY(18, 2) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
APRICOT_KEY(19, 2) PORT_CODE(KEYCODE_SCRLOCK) PORT_CHAR(UCHAR_MAMEKEY(SCRLOCK))
|
||||
APRICOT_KEY(20, 2) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
|
||||
APRICOT_KEY(21, 2) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
|
||||
APRICOT_KEY(22, 2) PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD))
|
||||
APRICOT_KEY(23, 2) PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
|
||||
APRICOT_KEY(24, 2) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
|
||||
APRICOT_KEY(25, 2) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
APRICOT_KEY(26, 2) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(PAUSE)) PORT_NAME("Stop")
|
||||
APRICOT_KEY(27, 2) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||
APRICOT_KEY(28, 2) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||
APRICOT_KEY(29, 2) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
APRICOT_KEY(30, 2) PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
|
||||
APRICOT_KEY(31, 2) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD))
|
||||
PORT_START("row_2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR(0xa3) // pound
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('$')
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
|
||||
|
||||
PORT_START("keyboard_3")
|
||||
APRICOT_KEY( 0, 3) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
|
||||
PORT_START("row_3")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_')
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) // actually a dedicated % key
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK))
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD))
|
||||
|
||||
PORT_START("row_4")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD))
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD))
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_TAB) PORT_CHAR(9)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
|
||||
|
||||
PORT_START("row_5")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME))
|
||||
|
||||
PORT_START("row_6")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_CHAR(UCHAR_MAMEKEY(END)) PORT_NAME("Clear")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7_PAD) PORT_CHAR(UCHAR_MAMEKEY(7_PAD))
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD))
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD))
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||
|
||||
PORT_START("row_7")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"')
|
||||
|
||||
PORT_START("row_8")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL) PORT_CHAR(UCHAR_MAMEKEY(DEL))
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_4_PAD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD))
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_5_PAD) PORT_CHAR(UCHAR_MAMEKEY(5_PAD))
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD))
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
|
||||
|
||||
PORT_START("row_9")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
|
||||
|
||||
PORT_START("row_a")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SCRLOCK) PORT_CHAR(UCHAR_MAMEKEY(SCRLOCK))
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD))
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
|
||||
|
||||
PORT_START("row_b")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(PAUSE)) PORT_NAME("Stop")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD))
|
||||
|
||||
PORT_START("row_c")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
|
||||
INPUT_PORTS_END
|
||||
|
||||
ioport_constructor apricot_keyboard_hle_device::device_input_ports() const
|
||||
@ -191,10 +201,8 @@ ioport_constructor apricot_keyboard_hle_device::device_input_ports() const
|
||||
apricot_keyboard_hle_device::apricot_keyboard_hle_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, APRICOT_KEYBOARD_HLE, "Apricot Keyboard (HLE)", tag, owner, clock, "apricotkb_hle", __FILE__),
|
||||
device_apricot_keyboard_interface(mconfig, *this),
|
||||
device_serial_interface(mconfig, *this),
|
||||
m_rxd(1),
|
||||
m_data_in(0),
|
||||
m_data_out(0)
|
||||
device_buffered_serial_interface(mconfig, *this),
|
||||
device_matrix_keyboard_interface(mconfig, *this, "row_0", "row_1", "row_2", "row_3", "row_4", "row_5", "row_6", "row_7", "row_8", "row_9", "row_a", "row_b", "row_c")
|
||||
{
|
||||
}
|
||||
|
||||
@ -204,6 +212,7 @@ apricot_keyboard_hle_device::apricot_keyboard_hle_device(const machine_config &m
|
||||
|
||||
void apricot_keyboard_hle_device::device_start()
|
||||
{
|
||||
device_buffered_serial_interface::register_save_state(machine().save(), this);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -212,21 +221,17 @@ void apricot_keyboard_hle_device::device_start()
|
||||
|
||||
void apricot_keyboard_hle_device::device_reset()
|
||||
{
|
||||
clear_fifo();
|
||||
|
||||
receive_register_reset();
|
||||
transmit_register_reset();
|
||||
|
||||
set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1);
|
||||
set_rcv_rate(7800);
|
||||
set_tra_rate(7800);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_timer - device-specific timer
|
||||
//-------------------------------------------------
|
||||
|
||||
void apricot_keyboard_hle_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||
{
|
||||
device_serial_interface::device_timer(timer, id, param, ptr);
|
||||
reset_key_state();
|
||||
start_processing(attotime::from_hz(7800));
|
||||
}
|
||||
|
||||
void apricot_keyboard_hle_device::tra_callback()
|
||||
@ -236,49 +241,54 @@ void apricot_keyboard_hle_device::tra_callback()
|
||||
|
||||
void apricot_keyboard_hle_device::tra_complete()
|
||||
{
|
||||
if (m_data_out != 0)
|
||||
{
|
||||
transmit_register_setup(m_data_out);
|
||||
m_data_out = 0;
|
||||
}
|
||||
device_buffered_serial_interface::tra_complete();
|
||||
}
|
||||
|
||||
void apricot_keyboard_hle_device::rcv_callback()
|
||||
void apricot_keyboard_hle_device::received_byte(UINT8 byte)
|
||||
{
|
||||
receive_register_update_bit(m_rxd);
|
||||
logerror("received command: %02x\n", byte);
|
||||
}
|
||||
|
||||
void apricot_keyboard_hle_device::rcv_complete()
|
||||
{
|
||||
receive_register_extract();
|
||||
m_data_in = get_received_char();
|
||||
//-------------------------------------------------
|
||||
// key_make - handle a key being pressed
|
||||
//-------------------------------------------------
|
||||
|
||||
// reset command? send keyboard ready (likely needs a delay, just disable for now)
|
||||
// if (m_data_in == 0xe8)
|
||||
// transmit_register_setup(0xfb);
|
||||
void apricot_keyboard_hle_device::key_make(UINT8 row, UINT8 column)
|
||||
{
|
||||
// send the make code
|
||||
transmit_byte((row << 3) | column);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// key_break - handle a key being released
|
||||
//-------------------------------------------------
|
||||
|
||||
void apricot_keyboard_hle_device::key_break(UINT8 row, UINT8 column)
|
||||
{
|
||||
// send the break code
|
||||
transmit_byte(0x80 | (row << 3) | column);
|
||||
}
|
||||
|
||||
void apricot_keyboard_hle_device::out_w(int state)
|
||||
{
|
||||
m_rxd = state;
|
||||
device_serial_interface::rx_w(m_rxd);
|
||||
device_buffered_serial_interface::rx_w(state);
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER( apricot_keyboard_hle_device::key_callback )
|
||||
//-------------------------------------------------
|
||||
// transmit_byte - send a byte or queue it
|
||||
//-------------------------------------------------
|
||||
|
||||
void apricot_keyboard_hle_device::transmit_byte(UINT8 byte)
|
||||
{
|
||||
UINT32 oldvalue = oldval * field.mask(), newvalue = newval * field.mask();
|
||||
UINT32 delta = oldvalue ^ newvalue;
|
||||
|
||||
for (int i = 0; i < 32; i++)
|
||||
{
|
||||
if (delta & (1 << i))
|
||||
{
|
||||
UINT8 down = (newvalue & (1 << i)) ? 0x00 : 0x80;
|
||||
UINT8 scancode = (FPTR) param * 32 + i;
|
||||
scancode |= down;
|
||||
transmit_register_setup(scancode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
device_buffered_serial_interface::transmit_byte(byte);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_timer - device-specific timer
|
||||
//-------------------------------------------------
|
||||
|
||||
void apricot_keyboard_hle_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||
{
|
||||
device_matrix_keyboard_interface::device_timer(timer, id, param, ptr);
|
||||
device_buffered_serial_interface::device_timer(timer, id, param, ptr);
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "keyboard.h"
|
||||
#include "machine/keyboard.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -21,14 +22,15 @@
|
||||
|
||||
// ======================> apricot_keyboard_hle_device
|
||||
|
||||
class apricot_keyboard_hle_device : public device_t, public device_apricot_keyboard_interface, public device_serial_interface
|
||||
class apricot_keyboard_hle_device : public device_t,
|
||||
public device_apricot_keyboard_interface,
|
||||
public device_buffered_serial_interface<8>,
|
||||
protected device_matrix_keyboard_interface<13>
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
apricot_keyboard_hle_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(key_callback);
|
||||
|
||||
// from host
|
||||
virtual void out_w(int state) override;
|
||||
|
||||
@ -38,19 +40,19 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_serial_interface overrides
|
||||
// device_buffered_serial_interface overrides
|
||||
virtual void tra_callback() override;
|
||||
virtual void tra_complete() override;
|
||||
virtual void rcv_callback() override;
|
||||
virtual void rcv_complete() override;
|
||||
virtual void received_byte(UINT8 byte) override;
|
||||
|
||||
// device_matrix_keyboard_interface overrides
|
||||
virtual void key_make(UINT8 row, UINT8 column) override;
|
||||
virtual void key_break(UINT8 row, UINT8 column) override;
|
||||
void transmit_byte(UINT8 byte);
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
private:
|
||||
int m_rxd;
|
||||
|
||||
UINT8 m_data_in;
|
||||
UINT8 m_data_out;
|
||||
};
|
||||
|
||||
|
||||
|
@ -337,7 +337,7 @@ bool cococart_slot_device::call_load()
|
||||
}
|
||||
while(read_length < 0x8000)
|
||||
{
|
||||
offs_t len = MIN(read_length, 0x8000 - read_length);
|
||||
offs_t len = std::min(read_length, 0x8000 - read_length);
|
||||
memcpy(m_cart->get_cart_base() + read_length, m_cart->get_cart_base(), len);
|
||||
read_length += len;
|
||||
}
|
||||
|
@ -154,10 +154,10 @@ void iq151_minigraf_device::plotter_update(UINT8 control)
|
||||
m_pen = BIT(control, 7);
|
||||
|
||||
// clamp within range
|
||||
m_posx = MAX(m_posx, 0);
|
||||
m_posx = MIN(m_posx, PAPER_MAX_X);
|
||||
m_posy = MAX(m_posy, 0);
|
||||
m_posy = MIN(m_posy, PAPER_MAX_Y);
|
||||
m_posx = std::max<INT16>(m_posx, 0);
|
||||
m_posx = std::min<INT16>(m_posx, PAPER_MAX_X);
|
||||
m_posy = std::max<INT16>(m_posy, 0);
|
||||
m_posy = std::min<INT16>(m_posy, PAPER_MAX_Y);
|
||||
|
||||
// if pen is down draws a point
|
||||
if (m_pen)
|
||||
|
@ -156,10 +156,10 @@ void iq151_ms151a_device::plotter_update(UINT8 offset, UINT8 data)
|
||||
}
|
||||
|
||||
// clamp within range
|
||||
m_posx = MAX(m_posx, 0);
|
||||
m_posx = MIN(m_posx, PAPER_MAX_X);
|
||||
m_posy = MAX(m_posy, 0);
|
||||
m_posy = MIN(m_posy, PAPER_MAX_Y);
|
||||
m_posx = std::max(m_posx, 0);
|
||||
m_posx = std::min(m_posx, PAPER_MAX_X);
|
||||
m_posy = std::max(m_posy, 0);
|
||||
m_posy = std::min(m_posy, PAPER_MAX_Y);
|
||||
|
||||
// if pen is down draws a point
|
||||
if (m_pen)
|
||||
|
@ -349,7 +349,7 @@ void isa8_cga_device::device_start()
|
||||
set_isa_device();
|
||||
m_vram.resize(m_vram_size);
|
||||
m_isa->install_device(0x3d0, 0x3df, read8_delegate( FUNC(isa8_cga_device::io_read), this ), write8_delegate( FUNC(isa8_cga_device::io_write), this ) );
|
||||
m_isa->install_bank(0xb8000, 0xb8000 + MIN(0x8000,m_vram_size) - 1, "bank_cga", &m_vram[0]);
|
||||
m_isa->install_bank(0xb8000, 0xb8000 + (std::min<size_t>)(0x8000, m_vram_size) - 1, "bank_cga", &m_vram[0]);
|
||||
if(m_vram_size == 0x4000)
|
||||
m_isa->install_bank(0xbc000, 0xbffff, "bank_cga", &m_vram[0]);
|
||||
|
||||
@ -1821,7 +1821,7 @@ WRITE8_MEMBER( isa8_ec1841_0002_device::io_write )
|
||||
read8_delegate( FUNC(isa8_ec1841_0002_device::char_ram_read), this),
|
||||
write8_delegate(FUNC(isa8_ec1841_0002_device::char_ram_write), this) );
|
||||
} else {
|
||||
m_isa->install_bank(0xb8000, 0xb8000 + MIN(0x8000,m_vram_size) - 1, "bank_cga", &m_vram[0]);
|
||||
m_isa->install_bank(0xb8000, 0xb8000 + (std::min<size_t>)(0x8000, m_vram_size) - 1, "bank_cga", &m_vram[0]);
|
||||
if(m_vram_size == 0x4000)
|
||||
m_isa->install_bank(0xbc000, 0xbffff, "bank_cga", &m_vram[0]);
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ void mpc105_device::update_memory()
|
||||
| (((m_bank_registers[(bank / 4) + 6] >> (bank % 4) * 8)) & 0x03) << 28
|
||||
| 0x000FFFFF;
|
||||
|
||||
end = MIN(end, begin + machine().device<ram_device>(RAM_TAG)->size() - 1);
|
||||
end = std::min(end, begin + machine().device<ram_device>(RAM_TAG)->size() - 1);
|
||||
|
||||
if ((begin + 0x100000) <= end)
|
||||
{
|
||||
|
@ -208,18 +208,18 @@ WRITE32_MEMBER( pci_bus_device::write )
|
||||
READ64_MEMBER(pci_bus_device::read_64be)
|
||||
{
|
||||
UINT64 result = 0;
|
||||
mem_mask = FLIPENDIAN_INT64(mem_mask);
|
||||
mem_mask = flipendian_int64(mem_mask);
|
||||
if (ACCESSING_BITS_0_31)
|
||||
result |= (UINT64)read(space, offset * 2 + 0, mem_mask >> 0) << 0;
|
||||
if (ACCESSING_BITS_32_63)
|
||||
result |= (UINT64)read(space, offset * 2 + 1, mem_mask >> 32) << 32;
|
||||
return FLIPENDIAN_INT64(result);
|
||||
return flipendian_int64(result);
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(pci_bus_device::write_64be)
|
||||
{
|
||||
data = FLIPENDIAN_INT64(data);
|
||||
mem_mask = FLIPENDIAN_INT64(mem_mask);
|
||||
data = flipendian_int64(data);
|
||||
mem_mask = flipendian_int64(mem_mask);
|
||||
if (ACCESSING_BITS_0_31)
|
||||
write(space, offset * 2 + 0, data >> 0, mem_mask >> 0);
|
||||
if (ACCESSING_BITS_32_63)
|
||||
|
@ -81,7 +81,7 @@ void msx_cart_nomapper::initialize_cartridge()
|
||||
break;
|
||||
}
|
||||
|
||||
m_end_address = MIN(m_start_address + size, 0x10000);
|
||||
m_end_address = std::min<UINT32>(m_start_address + size, 0x10000);
|
||||
}
|
||||
|
||||
READ8_MEMBER(msx_cart_nomapper::read_cart)
|
||||
|
@ -260,7 +260,7 @@ int msx_slot_cartridge_device::get_cart_type(UINT8 *rom, UINT32 length)
|
||||
}
|
||||
}
|
||||
|
||||
if (MAX (kon4, kon5) > MAX (asc8, asc16) )
|
||||
if (std::max(kon4, kon5) > std::max(asc8, asc16))
|
||||
{
|
||||
return (kon5 > kon4) ? KONAMI_SCC : KONAMI;
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ const rom_entry *nes_disksys_device::device_rom_region() const
|
||||
}
|
||||
|
||||
|
||||
void nes_disksys_device::load_proc(device_image_interface &image)
|
||||
void nes_disksys_device::load_proc(device_image_interface &image, bool is_created)
|
||||
{
|
||||
nes_disksys_device *disk_sys = static_cast<nes_disksys_device *>(image.device().owner());
|
||||
disk_sys->load_disk(image);
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
|
||||
virtual void pcb_reset() override;
|
||||
|
||||
static void load_proc(device_image_interface &image);
|
||||
static void load_proc(device_image_interface &image, bool is_created);
|
||||
static void unload_proc(device_image_interface &image);
|
||||
|
||||
private:
|
||||
|
@ -22,8 +22,8 @@
|
||||
static UINT32 ni_htonl(UINT32 x) { return x; }
|
||||
static UINT32 ni_ntohl(UINT32 x) { return x; }
|
||||
#else
|
||||
static UINT32 ni_htonl(UINT32 x) { return FLIPENDIAN_INT32(x); }
|
||||
static UINT32 ni_ntohl(UINT32 x) { return FLIPENDIAN_INT32(x); }
|
||||
static UINT32 ni_htonl(UINT32 x) { return flipendian_int32(x); }
|
||||
static UINT32 ni_ntohl(UINT32 x) { return flipendian_int32(x); }
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -213,15 +213,15 @@ static const char *sega8_get_slot(int type)
|
||||
call load
|
||||
-------------------------------------------------*/
|
||||
|
||||
int sega8_cart_slot_device::verify_cart( UINT8 *magic, int size )
|
||||
bool sega8_cart_slot_device::verify_cart( UINT8 *magic, int size )
|
||||
{
|
||||
int retval = IMAGE_VERIFY_FAIL;
|
||||
int retval = false;
|
||||
|
||||
// Verify the file is a valid image - check $7ff0 for "TMR SEGA"
|
||||
if (size >= 0x8000)
|
||||
{
|
||||
if (!strncmp((char*)&magic[0x7ff0], "TMR SEGA", 8))
|
||||
retval = IMAGE_VERIFY_PASS;
|
||||
retval = true;
|
||||
}
|
||||
|
||||
return retval;
|
||||
@ -368,7 +368,7 @@ bool sega8_cart_slot_device::call_load()
|
||||
memcpy(ROM, get_software_region("rom"), get_software_region_length("rom"));
|
||||
|
||||
/* check the image */
|
||||
if (verify_cart(ROM, len) == IMAGE_VERIFY_FAIL)
|
||||
if (!verify_cart(ROM, len))
|
||||
logerror("Warning loading image: verify_cart failed\n");
|
||||
|
||||
if (software_entry() != nullptr)
|
||||
|
@ -117,7 +117,7 @@ public:
|
||||
|
||||
void setup_ram();
|
||||
void internal_header_logging(UINT8 *ROM, UINT32 len, UINT32 nvram_len);
|
||||
int verify_cart(UINT8 *magic, int size);
|
||||
bool verify_cart(UINT8 *magic, int size);
|
||||
void set_lphaser_xoffset(UINT8 *rom, int size);
|
||||
|
||||
void save_ram() { if (m_cart && m_cart->get_ram_size()) m_cart->save_ram(); }
|
||||
|
@ -157,8 +157,8 @@ int sms_light_phaser_device::bright_aim_area( emu_timer *timer, int lgun_x, int
|
||||
double dx_radius;
|
||||
bool new_check_point = false;
|
||||
|
||||
aim_area.min_y = MAX(lgun_y - LGUN_RADIUS, visarea.min_y);
|
||||
aim_area.max_y = MIN(lgun_y + LGUN_RADIUS, visarea.max_y);
|
||||
aim_area.min_y = std::max(lgun_y - LGUN_RADIUS, visarea.min_y);
|
||||
aim_area.max_y = std::min(lgun_y + LGUN_RADIUS, visarea.max_y);
|
||||
|
||||
while (!new_check_point)
|
||||
{
|
||||
@ -187,8 +187,8 @@ int sms_light_phaser_device::bright_aim_area( emu_timer *timer, int lgun_x, int
|
||||
dx_radius = ceil((float) sqrt((float) (r_x_r - (dy * dy))));
|
||||
}
|
||||
|
||||
aim_area.min_x = MAX(lgun_x - dx_radius, visarea.min_x);
|
||||
aim_area.max_x = MIN(lgun_x + dx_radius, visarea.max_x);
|
||||
aim_area.min_x = std::max(INT32(lgun_x - dx_radius), visarea.min_x);
|
||||
aim_area.max_x = std::min(INT32(lgun_x + dx_radius), visarea.max_x);
|
||||
|
||||
while (!new_check_point)
|
||||
{
|
||||
|
@ -129,9 +129,9 @@ UINT8 sns_rom21_srtc_device::srtc_weekday( UINT32 year, UINT32 month, UINT32 day
|
||||
UINT32 y = 1900, m = 1; // Epoch is 1900-01-01
|
||||
UINT32 sum = 0; // Number of days passed since epoch
|
||||
|
||||
year = MAX(1900, year);
|
||||
month = MAX(1, MIN(12, month));
|
||||
day = MAX(1, MIN(31, day));
|
||||
year = std::max(1900U, year);
|
||||
month = std::max(1U, std::min(12U, month));
|
||||
day = std::max(1U, std::min(31U, day));
|
||||
|
||||
while (y < year)
|
||||
{
|
||||
|
@ -231,7 +231,7 @@ bool ti_pio_attached_device::call_load()
|
||||
ti_rs232_pio_device* card = static_cast<ti_rs232_pio_device*>(owner());
|
||||
|
||||
// tell whether the image is readable
|
||||
card->m_pio_readable = !has_been_created();
|
||||
card->m_pio_readable = true;
|
||||
// tell whether the image is writable
|
||||
card->m_pio_writable = !is_readonly();
|
||||
|
||||
|
@ -194,7 +194,7 @@ static const char *regnames[0x40] =
|
||||
CPU_DISASSEMBLE(arc)
|
||||
{
|
||||
UINT32 op = oprom[0] | (oprom[1] << 8) | (oprom[2] << 16) | (oprom[3] << 24);
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
|
||||
output = buffer;
|
||||
|
||||
|
@ -81,7 +81,7 @@ CPU_DISASSEMBLE( cquestsnd )
|
||||
" ",
|
||||
};
|
||||
|
||||
UINT64 inst = BIG_ENDIANIZE_INT64(*(UINT64 *)oprom);
|
||||
UINT64 inst = big_endianize_int64(*(UINT64 *)oprom);
|
||||
UINT32 inslow = inst & 0xffffffff;
|
||||
UINT32 inshig = inst >> 32;
|
||||
|
||||
@ -185,7 +185,7 @@ CPU_DISASSEMBLE( cquestrot )
|
||||
"??? "
|
||||
};
|
||||
|
||||
UINT64 inst = BIG_ENDIANIZE_INT64(*(UINT64 *)oprom);
|
||||
UINT64 inst = big_endianize_int64(*(UINT64 *)oprom);
|
||||
UINT32 inslow = inst & 0xffffffff;
|
||||
UINT32 inshig = inst >> 32;
|
||||
|
||||
@ -271,7 +271,7 @@ CPU_DISASSEMBLE( cquestlin )
|
||||
"BRES ",
|
||||
};
|
||||
|
||||
UINT64 inst = BIG_ENDIANIZE_INT64(*(UINT64 *)oprom);
|
||||
UINT64 inst = big_endianize_int64(*(UINT64 *)oprom);
|
||||
UINT32 inslow = inst & 0xffffffff;
|
||||
UINT32 inshig = inst >> 32;
|
||||
|
||||
|
@ -1082,13 +1082,13 @@ int drcbe_c::execute(code_handle &entry)
|
||||
|
||||
case MAKE_OPCODE_SHORT(OP_BSWAP, 4, 0): // BSWAP dst,src
|
||||
temp32 = PARAM1;
|
||||
PARAM0 = FLIPENDIAN_INT32(temp32);
|
||||
PARAM0 = flipendian_int32(temp32);
|
||||
break;
|
||||
|
||||
case MAKE_OPCODE_SHORT(OP_BSWAP, 4, 1):
|
||||
temp32 = PARAM1;
|
||||
flags = FLAGS32_NZ(temp32);
|
||||
PARAM0 = FLIPENDIAN_INT32(temp32);
|
||||
PARAM0 = flipendian_int32(temp32);
|
||||
break;
|
||||
|
||||
case MAKE_OPCODE_SHORT(OP_SHL, 4, 0): // SHL dst,src,count[,f]
|
||||
@ -1701,13 +1701,13 @@ int drcbe_c::execute(code_handle &entry)
|
||||
|
||||
case MAKE_OPCODE_SHORT(OP_BSWAP, 8, 0): // DBSWAP dst,src
|
||||
temp64 = DPARAM1;
|
||||
DPARAM0 = FLIPENDIAN_INT64(temp64);
|
||||
DPARAM0 = flipendian_int64(temp64);
|
||||
break;
|
||||
|
||||
case MAKE_OPCODE_SHORT(OP_BSWAP, 8, 1):
|
||||
temp64 = DPARAM1;
|
||||
flags = FLAGS64_NZ(temp64);
|
||||
DPARAM0 = FLIPENDIAN_INT64(temp64);
|
||||
DPARAM0 = flipendian_int64(temp64);
|
||||
break;
|
||||
|
||||
case MAKE_OPCODE_SHORT(OP_SHL, 8, 0): // DSHL dst,src,count[,f]
|
||||
|
@ -90,8 +90,8 @@ const opcode_desc *drc_frontend::describe_code(offs_t startpc)
|
||||
pcstackptr++;
|
||||
|
||||
// loop while we still have a stack
|
||||
offs_t minpc = startpc - MIN(m_window_start, startpc);
|
||||
offs_t maxpc = startpc + MIN(m_window_end, 0xffffffff - startpc);
|
||||
offs_t minpc = startpc - std::min(m_window_start, startpc);
|
||||
offs_t maxpc = startpc + std::min(m_window_end, 0xffffffff - startpc);
|
||||
while (pcstackptr != &pcstack[0])
|
||||
{
|
||||
// if we've already hit this PC, just mark it a branch target and continue
|
||||
|
@ -2008,7 +2008,7 @@ void hyperstone_device::hyperstone_movd(struct hyperstone_device::regs_decode *d
|
||||
SET_DREG(SREG);
|
||||
SET_DREGF(SREGF);
|
||||
|
||||
tmp = CONCAT_64(SREG, SREGF);
|
||||
tmp = concat_64(SREG, SREGF);
|
||||
SET_Z( tmp == 0 ? 1 : 0 );
|
||||
SET_N( SIGN_BIT(SREG) );
|
||||
|
||||
@ -2032,7 +2032,7 @@ void hyperstone_device::hyperstone_divu(struct hyperstone_device::regs_decode *d
|
||||
{
|
||||
UINT64 dividend;
|
||||
|
||||
dividend = CONCAT_64(DREG, DREGF);
|
||||
dividend = concat_64(DREG, DREGF);
|
||||
|
||||
if( SREG == 0 )
|
||||
{
|
||||
@ -2081,7 +2081,7 @@ void hyperstone_device::hyperstone_divs(struct hyperstone_device::regs_decode *d
|
||||
{
|
||||
INT64 dividend;
|
||||
|
||||
dividend = (INT64) CONCAT_64(DREG, DREGF);
|
||||
dividend = (INT64) concat_64(DREG, DREGF);
|
||||
|
||||
if( SREG == 0 || (DREG & 0x80000000) )
|
||||
{
|
||||
@ -2750,7 +2750,7 @@ void hyperstone_device::hyperstone_shrdi(struct hyperstone_device::regs_decode *
|
||||
high_order = DREG;
|
||||
low_order = DREGF;
|
||||
|
||||
val = CONCAT_64(high_order, low_order);
|
||||
val = concat_64(high_order, low_order);
|
||||
|
||||
if( N_VALUE )
|
||||
SET_C((val >> (N_VALUE - 1)) & 1);
|
||||
@ -2759,8 +2759,8 @@ void hyperstone_device::hyperstone_shrdi(struct hyperstone_device::regs_decode *
|
||||
|
||||
val >>= N_VALUE;
|
||||
|
||||
high_order = EXTRACT_64HI(val);
|
||||
low_order = EXTRACT_64LO(val);
|
||||
high_order = extract_64hi(val);
|
||||
low_order = extract_64lo(val);
|
||||
|
||||
SET_DREG(high_order);
|
||||
SET_DREGF(low_order);
|
||||
@ -2786,7 +2786,7 @@ void hyperstone_device::hyperstone_shrd(struct hyperstone_device::regs_decode *d
|
||||
high_order = DREG;
|
||||
low_order = DREGF;
|
||||
|
||||
val = CONCAT_64(high_order, low_order);
|
||||
val = concat_64(high_order, low_order);
|
||||
|
||||
if( n )
|
||||
SET_C((val >> (n - 1)) & 1);
|
||||
@ -2795,8 +2795,8 @@ void hyperstone_device::hyperstone_shrd(struct hyperstone_device::regs_decode *d
|
||||
|
||||
val >>= n;
|
||||
|
||||
high_order = EXTRACT_64HI(val);
|
||||
low_order = EXTRACT_64LO(val);
|
||||
high_order = extract_64hi(val);
|
||||
low_order = extract_64lo(val);
|
||||
|
||||
SET_DREG(high_order);
|
||||
SET_DREGF(low_order);
|
||||
@ -2839,7 +2839,7 @@ void hyperstone_device::hyperstone_sardi(struct hyperstone_device::regs_decode *
|
||||
high_order = DREG;
|
||||
low_order = DREGF;
|
||||
|
||||
val = CONCAT_64(high_order, low_order);
|
||||
val = concat_64(high_order, low_order);
|
||||
|
||||
if( N_VALUE )
|
||||
SET_C((val >> (N_VALUE - 1)) & 1);
|
||||
@ -2888,7 +2888,7 @@ void hyperstone_device::hyperstone_sard(struct hyperstone_device::regs_decode *d
|
||||
high_order = DREG;
|
||||
low_order = DREGF;
|
||||
|
||||
val = CONCAT_64(high_order, low_order);
|
||||
val = concat_64(high_order, low_order);
|
||||
|
||||
if( n )
|
||||
SET_C((val >> (n - 1)) & 1);
|
||||
@ -2960,7 +2960,7 @@ void hyperstone_device::hyperstone_shldi(struct hyperstone_device::regs_decode *
|
||||
high_order = DREG;
|
||||
low_order = DREGF;
|
||||
|
||||
val = CONCAT_64(high_order, low_order);
|
||||
val = concat_64(high_order, low_order);
|
||||
SET_C( (N_VALUE)?(((val<<(N_VALUE-1))&U64(0x8000000000000000))?1:0):0);
|
||||
mask = ((((UINT64)1) << (32 - N_VALUE)) - 1) ^ 0xffffffff;
|
||||
tmp = high_order << N_VALUE;
|
||||
@ -2973,8 +2973,8 @@ void hyperstone_device::hyperstone_shldi(struct hyperstone_device::regs_decode *
|
||||
|
||||
val <<= N_VALUE;
|
||||
|
||||
high_order = EXTRACT_64HI(val);
|
||||
low_order = EXTRACT_64LO(val);
|
||||
high_order = extract_64hi(val);
|
||||
low_order = extract_64lo(val);
|
||||
|
||||
SET_DREG(high_order);
|
||||
SET_DREGF(low_order);
|
||||
@ -3004,7 +3004,7 @@ void hyperstone_device::hyperstone_shld(struct hyperstone_device::regs_decode *d
|
||||
|
||||
mask = ((((UINT64)1) << (32 - n)) - 1) ^ 0xffffffff;
|
||||
|
||||
val = CONCAT_64(high_order, low_order);
|
||||
val = concat_64(high_order, low_order);
|
||||
SET_C( (n)?(((val<<(n-1))&U64(0x8000000000000000))?1:0):0);
|
||||
tmp = high_order << n;
|
||||
|
||||
@ -3016,8 +3016,8 @@ void hyperstone_device::hyperstone_shld(struct hyperstone_device::regs_decode *d
|
||||
|
||||
val <<= n;
|
||||
|
||||
high_order = EXTRACT_64HI(val);
|
||||
low_order = EXTRACT_64LO(val);
|
||||
high_order = extract_64hi(val);
|
||||
low_order = extract_64lo(val);
|
||||
|
||||
SET_DREG(high_order);
|
||||
SET_DREGF(low_order);
|
||||
@ -4270,7 +4270,7 @@ void hyperstone_device::hyperstone_extend(struct hyperstone_device::regs_decode
|
||||
{
|
||||
INT64 result;
|
||||
|
||||
result = (INT64)CONCAT_64(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald));
|
||||
result = (INT64)concat_64(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald));
|
||||
|
||||
vals = result >> 32;
|
||||
vald = result & 0xffffffff;
|
||||
@ -4294,7 +4294,7 @@ void hyperstone_device::hyperstone_extend(struct hyperstone_device::regs_decode
|
||||
{
|
||||
INT64 result;
|
||||
|
||||
result = (INT64)CONCAT_64(GET_G_REG(14), GET_G_REG(15)) - (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald));
|
||||
result = (INT64)concat_64(GET_G_REG(14), GET_G_REG(15)) - (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald));
|
||||
|
||||
vals = result >> 32;
|
||||
vald = result & 0xffffffff;
|
||||
@ -4318,7 +4318,7 @@ void hyperstone_device::hyperstone_extend(struct hyperstone_device::regs_decode
|
||||
{
|
||||
INT64 result;
|
||||
|
||||
result = (INT64)CONCAT_64(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)((vald & 0xffff0000) >> 16) * (INT64)(INT32)((vals & 0xffff0000) >> 16)) + ((INT64)(INT32)(vald & 0xffff) * (INT64)(INT32)(vals & 0xffff));
|
||||
result = (INT64)concat_64(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)((vald & 0xffff0000) >> 16) * (INT64)(INT32)((vals & 0xffff0000) >> 16)) + ((INT64)(INT32)(vald & 0xffff) * (INT64)(INT32)(vals & 0xffff));
|
||||
|
||||
vals = result >> 32;
|
||||
vald = result & 0xffffffff;
|
||||
|
@ -45,7 +45,7 @@ CPU_DISASSEMBLE( esrip )
|
||||
};
|
||||
#endif
|
||||
|
||||
UINT64 inst = BIG_ENDIANIZE_INT64(*(UINT64 *)oprom);
|
||||
UINT64 inst = big_endianize_int64(*(UINT64 *)oprom);
|
||||
|
||||
UINT32 inst_hi = inst >> 32;
|
||||
UINT32 inst_lo = inst & 0xffffffff;
|
||||
|
@ -779,6 +779,6 @@ static unsigned dasm_mb86233(char *buffer, UINT32 opcode )
|
||||
CPU_DISASSEMBLE( mb86233 )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = LITTLE_ENDIANIZE_INT32(op);
|
||||
op = little_endianize_int32(op);
|
||||
return dasm_mb86233(buffer, op);
|
||||
}
|
||||
|
@ -833,7 +833,7 @@ static unsigned dasm_mb86235(char *buffer, UINT32 pc, UINT64 opcode)
|
||||
CPU_DISASSEMBLE( mb86235 )
|
||||
{
|
||||
UINT64 op = *(UINT64*)oprom;
|
||||
op = LITTLE_ENDIANIZE_INT64(op);
|
||||
op = little_endianize_int64(op);
|
||||
|
||||
return dasm_mb86235(buffer, pc, op);
|
||||
}
|
||||
|
@ -968,9 +968,9 @@ offs_t mips3_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *op
|
||||
extern unsigned dasmmips3(char *, unsigned, UINT32);
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
if (m_bigendian)
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
else
|
||||
op = LITTLE_ENDIANIZE_INT32(op);
|
||||
op = little_endianize_int32(op);
|
||||
return dasmmips3(buffer, pc, op);
|
||||
}
|
||||
|
||||
|
@ -539,7 +539,7 @@ unsigned dasmmips3(char *buffer, unsigned pc, UINT32 op)
|
||||
CPU_DISASSEMBLE( mips3be )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
return dasmmips3(buffer, pc, op);
|
||||
}
|
||||
|
||||
@ -547,6 +547,6 @@ CPU_DISASSEMBLE( mips3be )
|
||||
CPU_DISASSEMBLE( mips3le )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = LITTLE_ENDIANIZE_INT32(op);
|
||||
op = little_endianize_int32(op);
|
||||
return dasmmips3(buffer, pc, op);
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ static unsigned dasmr3k(char *buffer, unsigned pc, UINT32 op)
|
||||
CPU_DISASSEMBLE( r3000be )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
return dasmr3k(buffer, pc, op);
|
||||
}
|
||||
|
||||
@ -389,6 +389,6 @@ CPU_DISASSEMBLE( r3000be )
|
||||
CPU_DISASSEMBLE( r3000le )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = LITTLE_ENDIANIZE_INT32(op);
|
||||
op = little_endianize_int32(op);
|
||||
return dasmr3k(buffer, pc, op);
|
||||
}
|
||||
|
@ -1172,6 +1172,6 @@ offs_t ppc_dasm_one(char *buffer, UINT32 pc, UINT32 op)
|
||||
CPU_DISASSEMBLE( powerpc )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
return ppc_dasm_one(buffer, pc, op);
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ inline void ppc_device::set_timebase(UINT64 newtb)
|
||||
inline UINT32 ppc_device::get_decrementer()
|
||||
{
|
||||
INT64 cycles_until_zero = m_dec_zero_cycles - total_cycles();
|
||||
cycles_until_zero = MAX(cycles_until_zero, 0);
|
||||
cycles_until_zero = std::max<INT64>(cycles_until_zero, 0);
|
||||
|
||||
if (!m_tb_divisor)
|
||||
{
|
||||
@ -1235,7 +1235,7 @@ offs_t ppc_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *opro
|
||||
{
|
||||
extern offs_t ppc_dasm_one(char *buffer, UINT32 pc, UINT32 op);
|
||||
UINT32 op = *(UINT32 *)oprom;
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
return ppc_dasm_one(buffer, pc, op);
|
||||
}
|
||||
|
||||
|
@ -1173,16 +1173,16 @@ void psxcpu_device::multiplier_update()
|
||||
case MULTIPLIER_OPERATION_MULT:
|
||||
{
|
||||
INT64 result = mul_32x32( (INT32)m_multiplier_operand1, (INT32)m_multiplier_operand2 );
|
||||
m_lo = EXTRACT_64LO( result );
|
||||
m_hi = EXTRACT_64HI( result );
|
||||
m_lo = extract_64lo( result );
|
||||
m_hi = extract_64hi( result );
|
||||
}
|
||||
break;
|
||||
|
||||
case MULTIPLIER_OPERATION_MULTU:
|
||||
{
|
||||
UINT64 result = mulu_32x32( m_multiplier_operand1, m_multiplier_operand2 );
|
||||
m_lo = EXTRACT_64LO( result );
|
||||
m_hi = EXTRACT_64HI( result );
|
||||
m_lo = extract_64lo( result );
|
||||
m_hi = extract_64hi( result );
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -615,7 +615,7 @@ void rsp_device::execute_run()
|
||||
|
||||
if( m_sr & ( RSP_STATUS_HALT | RSP_STATUS_BROKE ) )
|
||||
{
|
||||
m_rsp_state->icount = MIN(m_rsp_state->icount, 0);
|
||||
m_rsp_state->icount = std::min(m_rsp_state->icount, 0);
|
||||
}
|
||||
|
||||
while (m_rsp_state->icount > 0)
|
||||
@ -651,7 +651,7 @@ void rsp_device::execute_run()
|
||||
case 0x0d: /* BREAK */
|
||||
{
|
||||
m_sp_set_status_func(0, 0x3, 0xffffffff);
|
||||
m_rsp_state->icount = MIN(m_rsp_state->icount, 1);
|
||||
m_rsp_state->icount = std::min(m_rsp_state->icount, 1);
|
||||
break;
|
||||
}
|
||||
case 0x20: /* ADD */ if (RDREG) RDVAL = (INT32)(RSVAL + RTVAL); break;
|
||||
@ -783,7 +783,7 @@ void rsp_device::execute_run()
|
||||
|
||||
if( m_sr & ( RSP_STATUS_HALT | RSP_STATUS_BROKE ) )
|
||||
{
|
||||
m_rsp_state->icount = MIN(m_rsp_state->icount, 0);
|
||||
m_rsp_state->icount = std::min(m_rsp_state->icount, 0);
|
||||
}
|
||||
/*m_cop2->dump(op);
|
||||
if (((op >> 26) & 0x3f) == 0x3a)
|
||||
|
@ -359,6 +359,6 @@ offs_t rsp_dasm_one(char *buffer, offs_t pc, UINT32 op)
|
||||
CPU_DISASSEMBLE( rsp )
|
||||
{
|
||||
UINT32 op = *(UINT32 *)opram;
|
||||
op = BIG_ENDIANIZE_INT32(op);
|
||||
op = big_endianize_int32(op);
|
||||
return rsp_dasm_one(buffer, pc, op);
|
||||
}
|
||||
|
@ -273,7 +273,7 @@ void rsp_device::execute_run_drc()
|
||||
{
|
||||
if( m_sr & ( RSP_STATUS_HALT | RSP_STATUS_BROKE ) )
|
||||
{
|
||||
m_rsp_state->icount = MIN(m_rsp_state->icount, 0);
|
||||
m_rsp_state->icount = std::min(m_rsp_state->icount, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -451,8 +451,8 @@ void scudsp_cpu_device::scudsp_operation(UINT32 opcode)
|
||||
SET_V(((m_pl.si) ^ (m_acl.si)) & ((m_pl.si) ^ (i3)) & 0x80000000);
|
||||
break;
|
||||
case 0x6: /* AD2 */
|
||||
i1 = CONCAT_64((INT32)m_ph.si,m_pl.si);
|
||||
i2 = CONCAT_64((INT32)m_ach.si,m_acl.si);
|
||||
i1 = concat_64((INT32)m_ph.si,m_pl.si);
|
||||
i2 = concat_64((INT32)m_ach.si,m_acl.si);
|
||||
m_alu = i1 + i2;
|
||||
SET_Z((m_alu & S64(0xffffffffffff)) == 0);
|
||||
SET_S((m_alu & S64(0x800000000000)) > 0);
|
||||
|
@ -295,7 +295,7 @@ void adsp21062_device::compute_dec(int rn, int rx)
|
||||
/* Rn = MIN(Rx, Ry) */
|
||||
void adsp21062_device::compute_min(int rn, int rx, int ry)
|
||||
{
|
||||
UINT32 r = MIN((INT32)REG(rx), (INT32)REG(ry));
|
||||
UINT32 r = std::min((INT32)REG(rx), (INT32)REG(ry));
|
||||
|
||||
CLEAR_ALU_FLAGS();
|
||||
SET_FLAG_AN(r);
|
||||
@ -309,7 +309,7 @@ void adsp21062_device::compute_min(int rn, int rx, int ry)
|
||||
/* Rn = MAX(Rx, Ry) */
|
||||
void adsp21062_device::compute_max(int rn, int rx, int ry)
|
||||
{
|
||||
UINT32 r = MAX((INT32)REG(rx), (INT32)REG(ry));
|
||||
UINT32 r = std::max((INT32)REG(rx), (INT32)REG(ry));
|
||||
|
||||
CLEAR_ALU_FLAGS();
|
||||
SET_FLAG_AN(r);
|
||||
@ -699,7 +699,7 @@ void adsp21062_device::compute_fmax(int rn, int rx, int ry)
|
||||
{
|
||||
SHARC_REG r_alu;
|
||||
|
||||
r_alu.f = MAX(FREG(rx), FREG(ry));
|
||||
r_alu.f = std::max(FREG(rx), FREG(ry));
|
||||
|
||||
CLEAR_ALU_FLAGS();
|
||||
m_core->astat |= (r_alu.f < 0.0f) ? AN : 0;
|
||||
@ -720,7 +720,7 @@ void adsp21062_device::compute_fmin(int rn, int rx, int ry)
|
||||
{
|
||||
SHARC_REG r_alu;
|
||||
|
||||
r_alu.f = MIN(FREG(rx), FREG(ry));
|
||||
r_alu.f = std::min(FREG(rx), FREG(ry));
|
||||
|
||||
CLEAR_ALU_FLAGS();
|
||||
m_core->astat |= (r_alu.f < 0.0f) ? AN : 0;
|
||||
@ -1309,7 +1309,7 @@ void adsp21062_device::compute_fmul_fmax(int fm, int fxm, int fym, int fa, int f
|
||||
SHARC_REG r_mul, r_alu;
|
||||
r_mul.f = FREG(fxm) * FREG(fym);
|
||||
|
||||
r_alu.f = MAX(FREG(fxa), FREG(fya));
|
||||
r_alu.f = std::max(FREG(fxa), FREG(fya));
|
||||
|
||||
CLEAR_MULTIPLIER_FLAGS();
|
||||
SET_FLAG_MN(r_mul.r);
|
||||
@ -1339,7 +1339,7 @@ void adsp21062_device::compute_fmul_fmin(int fm, int fxm, int fym, int fa, int f
|
||||
SHARC_REG r_mul, r_alu;
|
||||
r_mul.f = FREG(fxm) * FREG(fym);
|
||||
|
||||
r_alu.f = MIN(FREG(fxa), FREG(fya));
|
||||
r_alu.f = std::min(FREG(fxa), FREG(fya));
|
||||
|
||||
CLEAR_MULTIPLIER_FLAGS();
|
||||
SET_FLAG_MN(r_mul.r);
|
||||
|
@ -550,7 +550,7 @@ UINT32 mb86901_device::disasm_max_opcode_bytes() const
|
||||
offs_t mb86901_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
|
||||
{
|
||||
UINT32 op = *reinterpret_cast<const UINT32 *>(oprom);
|
||||
return m_dasm.dasm(buffer, pc, BIG_ENDIANIZE_INT32(op));
|
||||
return m_dasm.dasm(buffer, pc, big_endianize_int32(op));
|
||||
}
|
||||
|
||||
|
||||
|
@ -533,7 +533,7 @@ void superfx_device::superfx_add_clocks_internal(UINT32 clocks)
|
||||
{
|
||||
if(m_romcl)
|
||||
{
|
||||
m_romcl -= MIN(clocks, m_romcl);
|
||||
m_romcl -= std::min(clocks, m_romcl);
|
||||
if(m_romcl == 0)
|
||||
{
|
||||
m_sfr &= ~SUPERFX_SFR_R;
|
||||
@ -543,7 +543,7 @@ void superfx_device::superfx_add_clocks_internal(UINT32 clocks)
|
||||
|
||||
if(m_ramcl)
|
||||
{
|
||||
m_ramcl -= MIN(clocks, m_ramcl);
|
||||
m_ramcl -= std::min(clocks, m_ramcl);
|
||||
if(m_ramcl == 0)
|
||||
{
|
||||
superfx_bus_write(0x700000 + (m_rambr << 16) + m_ramar, m_ramdr);
|
||||
@ -765,7 +765,7 @@ void superfx_device::execute_run()
|
||||
if(!(m_sfr & SUPERFX_SFR_G))
|
||||
{
|
||||
superfx_add_clocks_internal(6);
|
||||
m_icount = MIN(m_icount, 0);
|
||||
m_icount = std::min(m_icount, 0);
|
||||
}
|
||||
|
||||
while (m_icount > 0 && (m_sfr & SUPERFX_SFR_G))
|
||||
@ -773,7 +773,7 @@ void superfx_device::execute_run()
|
||||
if(!(m_sfr & SUPERFX_SFR_G))
|
||||
{
|
||||
superfx_add_clocks_internal(6);
|
||||
m_icount = MIN(m_icount, 0);
|
||||
m_icount = std::min(m_icount, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -750,7 +750,7 @@ void tmp95c061_device::tlcs900_check_irqs()
|
||||
}
|
||||
|
||||
/* Check highest allowed priority irq */
|
||||
for ( i = MAX( 1, ( ( m_sr.b.h & 0x70 ) >> 4 ) ); i < 7; i++ )
|
||||
for ( i = std::max( 1, ( ( m_sr.b.h & 0x70 ) >> 4 ) ); i < 7; i++ )
|
||||
{
|
||||
if ( irq_vectors[i] >= 0 )
|
||||
{
|
||||
@ -1704,7 +1704,7 @@ void tmp95c063_device::tlcs900_check_irqs()
|
||||
}
|
||||
|
||||
/* Check highest allowed priority irq */
|
||||
for ( i = MAX( 1, ( ( m_sr.b.h & 0x70 ) >> 4 ) ); i < 7; i++ )
|
||||
for ( i = std::max( 1, ( ( m_sr.b.h & 0x70 ) >> 4 ) ); i < 7; i++ )
|
||||
{
|
||||
if ( irq_vectors[i] >= 0 )
|
||||
{
|
||||
|
@ -522,7 +522,7 @@ void tms340x0_device::dint(UINT16 op)
|
||||
INT64 quotient = dividend / *rs; \
|
||||
INT32 remainder = dividend % *rs; \
|
||||
UINT32 signbits = (INT32)quotient >> 31; \
|
||||
if (EXTRACT_64HI(quotient) != signbits) \
|
||||
if (extract_64hi(quotient) != signbits) \
|
||||
{ \
|
||||
SET_V_LOG(1); \
|
||||
} \
|
||||
@ -569,7 +569,7 @@ void tms340x0_device::divs_b(UINT16 op) { DIVS(B); }
|
||||
UINT64 dividend = ((UINT64)*rd1 << 32) | (UINT32)*rd2; \
|
||||
UINT64 quotient = dividend / (UINT32)*rs; \
|
||||
UINT32 remainder = dividend % (UINT32)*rs; \
|
||||
if (EXTRACT_64HI(quotient) != 0) \
|
||||
if (extract_64hi(quotient) != 0) \
|
||||
{ \
|
||||
SET_V_LOG(1); \
|
||||
} \
|
||||
@ -736,8 +736,8 @@ void tms340x0_device::modu_b(UINT16 op) { MODU(B); }
|
||||
SET_Z_LOG(product == 0); \
|
||||
SET_N_BIT(product >> 32, 31); \
|
||||
\
|
||||
*rd1 = EXTRACT_64HI(product); \
|
||||
R##REG(DSTREG(op)|1) = EXTRACT_64LO(product); \
|
||||
*rd1 = extract_64hi(product); \
|
||||
R##REG(DSTREG(op)|1) = extract_64lo(product); \
|
||||
\
|
||||
COUNT_CYCLES(20); \
|
||||
}
|
||||
@ -755,8 +755,8 @@ void tms340x0_device::mpys_b(UINT16 op) { MPYS(B); }
|
||||
product = mulu_32x32(m1, *rd1); \
|
||||
SET_Z_LOG(product == 0); \
|
||||
\
|
||||
*rd1 = EXTRACT_64HI(product); \
|
||||
R##REG(DSTREG(op)|1) = EXTRACT_64LO(product); \
|
||||
*rd1 = extract_64hi(product); \
|
||||
R##REG(DSTREG(op)|1) = extract_64lo(product); \
|
||||
\
|
||||
COUNT_CYCLES(21); \
|
||||
}
|
||||
|
@ -849,7 +849,7 @@ TIMER_CALLBACK_MEMBER( tms340x0_device::scanline_callback )
|
||||
vtotal = SMART_IOREG(VTOTAL);
|
||||
if (!master)
|
||||
{
|
||||
vtotal = MIN(m_screen->height() - 1, vtotal);
|
||||
vtotal = std::min(m_screen->height() - 1, vtotal);
|
||||
vcount = m_screen->vpos();
|
||||
}
|
||||
|
||||
|
@ -661,9 +661,9 @@ void uml::instruction::simplify()
|
||||
if (m_param[1].is_immediate())
|
||||
{
|
||||
if (m_size == 4)
|
||||
convert_to_mov_immediate(FLIPENDIAN_INT32(m_param[1].immediate()));
|
||||
convert_to_mov_immediate(flipendian_int32(m_param[1].immediate()));
|
||||
else if (m_size == 8)
|
||||
convert_to_mov_immediate(FLIPENDIAN_INT64(m_param[1].immediate()));
|
||||
convert_to_mov_immediate(flipendian_int64(m_param[1].immediate()));
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -797,7 +797,7 @@ void unsp_device::execute_run()
|
||||
}
|
||||
|
||||
m_icount -= 5;
|
||||
m_icount = MAX(m_icount, 0);
|
||||
m_icount = std::max(m_icount, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -61,8 +61,8 @@ CPU_DISASSEMBLE( unsp )
|
||||
{
|
||||
UINT16 op = *(UINT16 *)oprom;
|
||||
UINT16 imm16 = *(UINT16 *)(oprom + 2);
|
||||
op = BIG_ENDIANIZE_INT16(op);
|
||||
imm16 = BIG_ENDIANIZE_INT16(imm16);
|
||||
op = big_endianize_int16(op);
|
||||
imm16 = big_endianize_int16(imm16);
|
||||
|
||||
output = buffer;
|
||||
|
||||
|
@ -5597,8 +5597,8 @@ void z8002_device::ZB1_dddd_0000()
|
||||
void z8002_device::ZB1_dddd_0111()
|
||||
{
|
||||
GET_DST(OP0,NIB2);
|
||||
RQ(dst) = CONCAT_64((RQ(dst) & S32) ?
|
||||
0xfffffffful : 0, EXTRACT_64LO(RQ(dst)));
|
||||
RQ(dst) = concat_64((RQ(dst) & S32) ?
|
||||
0xfffffffful : 0, extract_64lo(RQ(dst)));
|
||||
}
|
||||
|
||||
/******************************************
|
||||
|
@ -73,10 +73,10 @@ void cassette_image_device::device_config_complete()
|
||||
bool cassette_image_device::is_motor_on()
|
||||
{
|
||||
if ((m_state & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED)
|
||||
return FALSE;
|
||||
return false;
|
||||
if ((m_state & CASSETTE_MASK_MOTOR) != CASSETTE_MOTOR_ENABLED)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -157,8 +157,8 @@ void cassette_image_device::output(double value)
|
||||
{
|
||||
update();
|
||||
|
||||
value = MIN(value, 1.0);
|
||||
value = MAX(value, -1.0);
|
||||
value = std::min(value, 1.0);
|
||||
value = std::max(value, -1.0);
|
||||
|
||||
m_value = (INT32) (value * 0x7FFFFFFF);
|
||||
}
|
||||
@ -252,10 +252,15 @@ void cassette_image_device::device_start()
|
||||
|
||||
bool cassette_image_device::call_create(int format_type, util::option_resolution *format_options)
|
||||
{
|
||||
return call_load();
|
||||
return internal_load(true);
|
||||
}
|
||||
|
||||
bool cassette_image_device::call_load()
|
||||
{
|
||||
return internal_load(false);
|
||||
}
|
||||
|
||||
bool cassette_image_device::internal_load(bool is_create)
|
||||
{
|
||||
casserr_t err;
|
||||
int cassette_flags;
|
||||
@ -264,7 +269,7 @@ bool cassette_image_device::call_load()
|
||||
device_image_interface *image = nullptr;
|
||||
interface(image);
|
||||
|
||||
if ((has_been_created()) || (length() == 0))
|
||||
if (is_create || (length() == 0))
|
||||
{
|
||||
/* creating an image */
|
||||
err = cassette_create((void *)image, &image_ioprocs, &wavfile_format, m_create_opts, CASSETTE_FLAG_READWRITE|CASSETTE_FLAG_SAVEONEXIT, &m_cassette);
|
||||
|
@ -95,6 +95,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete() override;
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
cassette_image *m_cassette;
|
||||
cassette_state m_state;
|
||||
@ -109,6 +110,8 @@ private:
|
||||
const struct CassetteOptions *m_create_opts;
|
||||
cassette_state m_default_state;
|
||||
const char * m_interface;
|
||||
|
||||
bool internal_load(bool is_create);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -61,7 +61,7 @@ void cdrom_image_device::device_config_complete()
|
||||
{
|
||||
m_extension_list = "chd,cue,toc,nrg,gdi,iso,cdr";
|
||||
|
||||
m_formatlist.push_back(std::make_unique<image_device_format>("chdcd", "CD-ROM drive", m_extension_list, cd_option_spec));
|
||||
add_format("chdcd", "CD-ROM drive", m_extension_list, cd_option_spec);
|
||||
|
||||
// set brief and instance name
|
||||
update_names();
|
||||
|
@ -56,7 +56,7 @@ diablo_image_device::~diablo_image_device()
|
||||
|
||||
void diablo_image_device::device_config_complete()
|
||||
{
|
||||
m_formatlist.push_back(std::make_unique<image_device_format>("chd", "CHD Hard drive", "chd,dsk", dsk_option_spec));
|
||||
add_format("chd", "CHD Hard drive", "chd,dsk", dsk_option_spec);
|
||||
|
||||
// set brief and instance name
|
||||
update_names();
|
||||
|
@ -375,7 +375,7 @@ void legacy_floppy_image_device::floppy_drive_write_sector_data(int side, int in
|
||||
}
|
||||
}
|
||||
|
||||
void legacy_floppy_image_device::floppy_install_load_proc(void (*proc)(device_image_interface &image))
|
||||
void legacy_floppy_image_device::floppy_install_load_proc(void (*proc)(device_image_interface &image, bool is_created))
|
||||
{
|
||||
m_load_proc = proc;
|
||||
}
|
||||
@ -417,7 +417,7 @@ void legacy_floppy_image_device::floppy_drive_set_controller(device_t *controlle
|
||||
m_controller = controller;
|
||||
}
|
||||
|
||||
int legacy_floppy_image_device::internal_floppy_device_load(int create_format, util::option_resolution *create_args)
|
||||
int legacy_floppy_image_device::internal_floppy_device_load(bool is_create, int create_format, util::option_resolution *create_args)
|
||||
{
|
||||
floperr_t err;
|
||||
const struct FloppyFormat *floppy_options;
|
||||
@ -428,7 +428,7 @@ int legacy_floppy_image_device::internal_floppy_device_load(int create_format, u
|
||||
interface(image); /* figure out the floppy options */
|
||||
floppy_options = m_config->formats;
|
||||
|
||||
if (has_been_created())
|
||||
if (is_create)
|
||||
{
|
||||
/* creating an image */
|
||||
assert(create_format >= 0);
|
||||
@ -452,6 +452,10 @@ int legacy_floppy_image_device::internal_floppy_device_load(int create_format, u
|
||||
/* disk changed */
|
||||
m_dskchg = CLEAR_LINE;
|
||||
|
||||
// If we have one of our hacky load procs, call it
|
||||
if (m_load_proc)
|
||||
m_load_proc(*this, is_create);
|
||||
|
||||
return IMAGE_INIT_PASS;
|
||||
|
||||
error:
|
||||
@ -821,7 +825,7 @@ void legacy_floppy_image_device::device_config_complete()
|
||||
// only add if creatable
|
||||
if (floppy_options[i].param_guidelines) {
|
||||
// allocate a new format and append it to the list
|
||||
m_formatlist.push_back(std::make_unique<image_device_format>(floppy_options[i].name, floppy_options[i].description, floppy_options[i].extensions, floppy_options[i].param_guidelines));
|
||||
add_format(floppy_options[i].name, floppy_options[i].description, floppy_options[i].extensions, floppy_options[i].param_guidelines);
|
||||
}
|
||||
image_specify_extension( m_extension_list, 256, floppy_options[i].extensions );
|
||||
}
|
||||
@ -832,17 +836,12 @@ void legacy_floppy_image_device::device_config_complete()
|
||||
|
||||
bool legacy_floppy_image_device::call_create(int format_type, util::option_resolution *format_options)
|
||||
{
|
||||
return internal_floppy_device_load(format_type, format_options);
|
||||
return internal_floppy_device_load(true, format_type, format_options);
|
||||
}
|
||||
|
||||
bool legacy_floppy_image_device::call_load()
|
||||
{
|
||||
int retVal = internal_floppy_device_load(-1, nullptr);
|
||||
if (retVal==IMAGE_INIT_PASS) {
|
||||
/* if we have one of our hacky unload procs, call it */
|
||||
if (m_load_proc)
|
||||
m_load_proc(*this);
|
||||
}
|
||||
int retVal = internal_floppy_device_load(false, -1, nullptr);
|
||||
|
||||
/* push disk halfway into drive */
|
||||
m_wpt = CLEAR_LINE;
|
||||
|
@ -127,7 +127,7 @@ public:
|
||||
void floppy_drive_format_sector(int side, int sector_index,int c,int h, int r, int n, int filler);
|
||||
void floppy_drive_read_sector_data(int side, int index1, void *ptr, int length);
|
||||
void floppy_drive_write_sector_data(int side, int index1, const void *ptr,int length, int ddam);
|
||||
void floppy_install_load_proc(void (*proc)(device_image_interface &image));
|
||||
void floppy_install_load_proc(void (*proc)(device_image_interface &image, bool is_created));
|
||||
void floppy_install_unload_proc(void (*proc)(device_image_interface &image));
|
||||
void floppy_drive_set_index_pulse_callback(void (*callback)(device_t *controller,device_t *image, int state));
|
||||
int floppy_drive_get_current_track();
|
||||
@ -162,7 +162,7 @@ private:
|
||||
TIMER_CALLBACK_MEMBER(floppy_drive_index_callback);
|
||||
void floppy_drive_init();
|
||||
void floppy_drive_index_func();
|
||||
int internal_floppy_device_load(int create_format, util::option_resolution *create_args);
|
||||
int internal_floppy_device_load(bool is_create, int create_format, util::option_resolution *create_args);
|
||||
TIMER_CALLBACK_MEMBER( set_wpt );
|
||||
|
||||
protected:
|
||||
@ -215,7 +215,7 @@ protected:
|
||||
|
||||
floppy_image_legacy *m_floppy;
|
||||
int m_track;
|
||||
void (*m_load_proc)(device_image_interface &image);
|
||||
void (*m_load_proc)(device_image_interface &image, bool is_created);
|
||||
void (*m_unload_proc)(device_image_interface &image);
|
||||
int m_floppy_drive_type;
|
||||
|
||||
|
@ -242,7 +242,7 @@ void floppy_image_device::set_formats(const floppy_format_type *formats)
|
||||
else
|
||||
fif_list->append(fif);
|
||||
|
||||
m_formatlist.push_back(std::make_unique<image_device_format>(fif->name(), fif->description(), fif->extensions(), ""));
|
||||
add_format(fif->name(), fif->description(), fif->extensions(), "");
|
||||
|
||||
image_specify_extension( extension_list, 256, fif->extensions() );
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ harddisk_image_device::~harddisk_image_device()
|
||||
|
||||
void harddisk_image_device::device_config_complete()
|
||||
{
|
||||
m_formatlist.push_back(std::make_unique<image_device_format>("chd", "CHD Hard drive", "chd,hd", hd_option_spec));
|
||||
add_format("chd", "CHD Hard drive", "chd,hd", hd_option_spec);
|
||||
|
||||
// set brief and instance name
|
||||
update_names();
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
virtual bool must_be_loaded() const override { return 0; }
|
||||
virtual bool is_reset_on_load() const override { return 0; }
|
||||
virtual const char *file_extensions() const override { return "mid"; }
|
||||
virtual bool core_opens_image_file() const override { return FALSE; }
|
||||
virtual bool core_opens_image_file() const override { return false; }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
|
@ -45,7 +45,7 @@ public:
|
||||
virtual bool must_be_loaded() const override { return 0; }
|
||||
virtual bool is_reset_on_load() const override { return 0; }
|
||||
virtual const char *file_extensions() const override { return "mid"; }
|
||||
virtual bool core_opens_image_file() const override { return FALSE; }
|
||||
virtual bool core_opens_image_file() const override { return false; }
|
||||
|
||||
virtual void tx(UINT8 state) { rx_w(state); }
|
||||
|
||||
|
@ -526,7 +526,7 @@ READ32_MEMBER (gt64xxx_device::cpu_if_r)
|
||||
break;
|
||||
}
|
||||
|
||||
if (m_be) result = FLIPENDIAN_INT32(result);
|
||||
if (m_be) result = flipendian_int32(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -534,8 +534,8 @@ READ32_MEMBER (gt64xxx_device::cpu_if_r)
|
||||
WRITE32_MEMBER(gt64xxx_device::cpu_if_w)
|
||||
{
|
||||
if (m_be) {
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
mem_mask = FLIPENDIAN_INT32(mem_mask);
|
||||
data = flipendian_int32(data);
|
||||
mem_mask = flipendian_int32(mem_mask);
|
||||
}
|
||||
|
||||
UINT32 oldata = m_reg[offset];
|
||||
|
@ -1678,13 +1678,11 @@ void hp_taco_device::start_cmd_exec(UINT16 new_cmd_reg)
|
||||
}
|
||||
}
|
||||
|
||||
bool hp_taco_device::call_load()
|
||||
bool hp_taco_device::internal_load(bool is_create)
|
||||
{
|
||||
LOG(("call_load %d\n" , has_been_created()));
|
||||
|
||||
device_reset();
|
||||
|
||||
if (has_been_created()) {
|
||||
if (is_create) {
|
||||
clear_tape();
|
||||
save_tape();
|
||||
} else if (!load_tape()) {
|
||||
@ -1699,10 +1697,16 @@ bool hp_taco_device::call_load()
|
||||
return IMAGE_INIT_PASS;
|
||||
}
|
||||
|
||||
bool hp_taco_device::call_load()
|
||||
{
|
||||
LOG(("call_load\n"));
|
||||
return internal_load(false);
|
||||
}
|
||||
|
||||
bool hp_taco_device::call_create(int format_type, util::option_resolution *format_options)
|
||||
{
|
||||
LOG(("call_create %d\n" , has_been_created()));
|
||||
return call_load();
|
||||
LOG(("call_create\n"));
|
||||
return internal_load(true);
|
||||
}
|
||||
|
||||
void hp_taco_device::call_unload()
|
||||
|
@ -182,6 +182,7 @@ private:
|
||||
void set_data_timeout(bool long_timeout);
|
||||
void cmd_fsm(void);
|
||||
void start_cmd_exec(UINT16 new_cmd_reg);
|
||||
bool internal_load(bool is_create);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -5,6 +5,11 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
// Work around for MSVC warning that identifies some of these as unused
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning ( disable : 4505 )
|
||||
#endif
|
||||
|
||||
#include "keyboard.h"
|
||||
|
||||
#include <numeric>
|
||||
|
@ -162,7 +162,7 @@ UINT32 laserdisc_device::screen_update(screen_device &screen, bitmap_rgb32 &bitm
|
||||
rectangle clip(m_overclip);
|
||||
clip.min_y = cliprect.min_y * overbitmap.height() / bitmap.height();
|
||||
if (cliprect.min_y == screen.visible_area().min_y)
|
||||
clip.min_y = MIN(clip.min_y, m_overclip.min_y);
|
||||
clip.min_y = std::min(clip.min_y, m_overclip.min_y);
|
||||
clip.max_y = (cliprect.max_y + 1) * overbitmap.height() / bitmap.height() - 1;
|
||||
|
||||
// call the update callback
|
||||
@ -700,8 +700,8 @@ INT32 laserdisc_device::generic_update(const vbi_metadata &vbi, int fieldnum, co
|
||||
if (delta < 0)
|
||||
delta--;
|
||||
advanceby = delta;
|
||||
advanceby = MIN(advanceby, GENERIC_SEARCH_SPEED);
|
||||
advanceby = MAX(advanceby, -GENERIC_SEARCH_SPEED);
|
||||
advanceby = std::min(advanceby, GENERIC_SEARCH_SPEED);
|
||||
advanceby = std::max(advanceby, -GENERIC_SEARCH_SPEED);
|
||||
}
|
||||
}
|
||||
|
||||
@ -780,7 +780,7 @@ void laserdisc_device::init_disc()
|
||||
if (err != CHDERR_NONE || m_vbidata.size() != totalhunks * VBI_PACKED_BYTES)
|
||||
throw emu_fatalerror("Precomputed VBI metadata missing or incorrect size");
|
||||
}
|
||||
m_maxtrack = MAX(m_maxtrack, VIRTUAL_LEAD_IN_TRACKS + VIRTUAL_LEAD_OUT_TRACKS + m_chdtracks);
|
||||
m_maxtrack = std::max(m_maxtrack, VIRTUAL_LEAD_IN_TRACKS + VIRTUAL_LEAD_OUT_TRACKS + m_chdtracks);
|
||||
}
|
||||
|
||||
|
||||
@ -987,8 +987,8 @@ void laserdisc_device::read_track_data()
|
||||
{
|
||||
// compute the chdhunk number we are going to read
|
||||
INT32 chdtrack = m_curtrack - 1 - VIRTUAL_LEAD_IN_TRACKS;
|
||||
chdtrack = MAX(chdtrack, 0);
|
||||
chdtrack = MIN(chdtrack, m_chdtracks - 1);
|
||||
chdtrack = (std::max<INT32>)(chdtrack, 0);
|
||||
chdtrack = (std::min<UINT32>)(chdtrack, m_chdtracks - 1);
|
||||
UINT32 readhunk = chdtrack * 2 + m_fieldnum;
|
||||
|
||||
// cheat and look up the metadata we are about to retrieve
|
||||
@ -1118,8 +1118,8 @@ void laserdisc_device::process_track_data()
|
||||
if (m_avhuff_config.audio[chnum] == &m_audiobuffer[chnum][0])
|
||||
{
|
||||
// move data to the end
|
||||
int samplesleft = m_audiobufsize - m_audiobufin;
|
||||
samplesleft = MIN(samplesleft, m_audiocursamples);
|
||||
UINT32 samplesleft = m_audiobufsize - m_audiobufin;
|
||||
samplesleft = std::min(samplesleft, m_audiocursamples);
|
||||
memmove(&m_audiobuffer[chnum][m_audiobufin], &m_audiobuffer[chnum][0], samplesleft * 2);
|
||||
|
||||
// shift data at the beginning
|
||||
|
@ -278,7 +278,7 @@ private:
|
||||
void init_disc();
|
||||
void init_video();
|
||||
void init_audio();
|
||||
void add_and_clamp_track(INT32 delta) { m_curtrack += delta; m_curtrack = MAX(m_curtrack, 1); m_curtrack = MIN(m_curtrack, m_maxtrack - 1); }
|
||||
void add_and_clamp_track(INT32 delta) { m_curtrack += delta; m_curtrack = std::max(m_curtrack, 1); m_curtrack = std::min(m_curtrack, INT32(m_maxtrack) - 1); }
|
||||
void fillbitmap_yuy16(bitmap_yuy16 &bitmap, UINT8 yval, UINT8 cr, UINT8 cb);
|
||||
void update_slider_pos();
|
||||
void vblank_state_changed(screen_device &screen, bool vblank_state);
|
||||
|
@ -212,18 +212,18 @@ WRITE32_MEMBER( pci_bus_legacy_device::write )
|
||||
READ64_MEMBER(pci_bus_legacy_device::read_64be)
|
||||
{
|
||||
UINT64 result = 0;
|
||||
mem_mask = FLIPENDIAN_INT64(mem_mask);
|
||||
mem_mask = flipendian_int64(mem_mask);
|
||||
if (ACCESSING_BITS_0_31)
|
||||
result |= (UINT64)read(space, offset * 2 + 0, mem_mask >> 0) << 0;
|
||||
if (ACCESSING_BITS_32_63)
|
||||
result |= (UINT64)read(space, offset * 2 + 1, mem_mask >> 32) << 32;
|
||||
return FLIPENDIAN_INT64(result);
|
||||
return flipendian_int64(result);
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(pci_bus_legacy_device::write_64be)
|
||||
{
|
||||
data = FLIPENDIAN_INT64(data);
|
||||
mem_mask = FLIPENDIAN_INT64(mem_mask);
|
||||
data = flipendian_int64(data);
|
||||
mem_mask = flipendian_int64(mem_mask);
|
||||
if (ACCESSING_BITS_0_31)
|
||||
write(space, offset * 2 + 0, data >> 0, mem_mask >> 0);
|
||||
if (ACCESSING_BITS_32_63)
|
||||
|
@ -307,7 +307,7 @@ TIMER_CALLBACK_MEMBER( mc68681_device::duart_timer_callback )
|
||||
update_interrupts();
|
||||
}
|
||||
|
||||
int count = MAX(CTR.w.l, 1);
|
||||
int count = std::max(CTR.w.l, UINT16(1));
|
||||
duart68681_start_ct(count);
|
||||
}
|
||||
else
|
||||
@ -400,7 +400,7 @@ READ8_MEMBER( mc68681_device::read )
|
||||
half_period = 0;
|
||||
}
|
||||
|
||||
int count = MAX(CTR.w.l, 1);
|
||||
int count = std::max(CTR.w.l, UINT16(1));
|
||||
duart68681_start_ct(count);
|
||||
break;
|
||||
}
|
||||
@ -449,7 +449,7 @@ WRITE8_MEMBER( mc68681_device::write )
|
||||
if (data & 0x40)
|
||||
{
|
||||
// Entering timer mode
|
||||
UINT16 count = MAX(CTR.w.l, 1);
|
||||
UINT16 count = std::max(CTR.w.l, UINT16(1));
|
||||
half_period = 0;
|
||||
|
||||
duart68681_start_ct(count);
|
||||
|
@ -94,7 +94,7 @@ void strataflash_device::nvram_read(emu_file &file)
|
||||
for (i = 0; i < FEEPROM_SIZE; i += 2)
|
||||
{
|
||||
UINT16 *ptr = (UINT16 *) (&m_flashmemory[i]);
|
||||
*ptr = LITTLE_ENDIANIZE_INT16(*ptr);
|
||||
*ptr = little_endianize_int16(*ptr);
|
||||
}
|
||||
|
||||
// protection registers
|
||||
@ -103,7 +103,7 @@ void strataflash_device::nvram_read(emu_file &file)
|
||||
for (i = 0; i < PROT_REGS_SIZE; i += 2)
|
||||
{
|
||||
UINT16 *ptr = (UINT16 *) (&m_prot_regs[i]);
|
||||
*ptr = LITTLE_ENDIANIZE_INT16(*ptr);
|
||||
*ptr = little_endianize_int16(*ptr);
|
||||
}
|
||||
|
||||
// block lock flags
|
||||
@ -142,28 +142,28 @@ void strataflash_device::nvram_write(emu_file &file)
|
||||
for (i = 0; i < FEEPROM_SIZE; i += 2)
|
||||
{
|
||||
UINT16 *ptr = (UINT16 *) (&m_flashmemory[i]);
|
||||
*ptr = LITTLE_ENDIANIZE_INT16(*ptr);
|
||||
*ptr = little_endianize_int16(*ptr);
|
||||
}
|
||||
if (file->write(m_flashmemory, FEEPROM_SIZE) != FEEPROM_SIZE)
|
||||
return 1;
|
||||
for (i = 0; i < FEEPROM_SIZE; i += 2)
|
||||
{
|
||||
UINT16 *ptr = (UINT16 *) (&m_flashmemory[i]);
|
||||
*ptr = LITTLE_ENDIANIZE_INT16(*ptr);
|
||||
*ptr = little_endianize_int16(*ptr);
|
||||
}
|
||||
|
||||
// protection registers
|
||||
for (i = 0; i < PROT_REGS_SIZE; i += 2)
|
||||
{
|
||||
UINT16 *ptr = (UINT16 *) (&m_prot_regs[i]);
|
||||
*ptr = LITTLE_ENDIANIZE_INT16(*ptr);
|
||||
*ptr = little_endianize_int16(*ptr);
|
||||
}
|
||||
if (file->write(m_prot_regs, PROT_REGS_SIZE) != PROT_REGS_SIZE)
|
||||
return 1;
|
||||
for (i = 0; i < PROT_REGS_SIZE; i += 2)
|
||||
{
|
||||
UINT16 *ptr = (UINT16 *) (&m_prot_regs[i]);
|
||||
*ptr = LITTLE_ENDIANIZE_INT16(*ptr);
|
||||
*ptr = little_endianize_int16(*ptr);
|
||||
}
|
||||
|
||||
// block lock flags
|
||||
|
@ -123,8 +123,8 @@ void astrocade_device::sound_stream_update(sound_stream &stream, stream_sample_t
|
||||
|
||||
/* compute the number of cycles until the next master oscillator reset */
|
||||
/* or until the next noise boundary */
|
||||
samples_this_time = MIN(samples, 256 - master_count);
|
||||
samples_this_time = MIN(samples_this_time, 64 - noise_clock);
|
||||
samples_this_time = std::min(samples, 256 - master_count);
|
||||
samples_this_time = std::min(samples_this_time, 64 - noise_clock);
|
||||
samples -= samples_this_time;
|
||||
|
||||
/* sum the output of the tone generators */
|
||||
|
@ -189,8 +189,8 @@ void cdda_device::get_audio_data(stream_sample_t *bufL, stream_sample_t *bufR, U
|
||||
for (i = 0; i < samples; i++)
|
||||
{
|
||||
/* CD-DA data on the disc is big-endian */
|
||||
*bufL++ = (INT16) BIG_ENDIANIZE_INT16( audio_cache[ m_audio_bptr ] ); m_audio_bptr++;
|
||||
*bufR++ = (INT16) BIG_ENDIANIZE_INT16( audio_cache[ m_audio_bptr ] ); m_audio_bptr++;
|
||||
*bufL++ = (INT16) big_endianize_int16( audio_cache[ m_audio_bptr ] ); m_audio_bptr++;
|
||||
*bufR++ = (INT16) big_endianize_int16( audio_cache[ m_audio_bptr ] ); m_audio_bptr++;
|
||||
}
|
||||
|
||||
samples_wanted -= samples;
|
||||
|
@ -1187,14 +1187,14 @@ DISCRETE_STEP( dst_rcintegrate)
|
||||
else
|
||||
iQc = EM_IC(u - vE);
|
||||
|
||||
m_vCE = MIN(vP - 0.1, vP - RG * iQc);
|
||||
m_vCE = std::min(vP - 0.1, vP - RG * iQc);
|
||||
|
||||
/* Avoid oscillations
|
||||
* The method tends to largely overshoot - no wonder without
|
||||
* iterative solution approximation
|
||||
*/
|
||||
|
||||
m_vCE = MAX(m_vCE, 0.1 );
|
||||
m_vCE = std::max(m_vCE, 0.1 );
|
||||
m_vCE = 0.1 * m_vCE + 0.9 * (vP - vE - iQ * DST_RCINTEGRATE__R3);
|
||||
|
||||
switch (m_type)
|
||||
@ -1206,7 +1206,7 @@ DISCRETE_STEP( dst_rcintegrate)
|
||||
set_output(0, vE);
|
||||
break;
|
||||
case DISC_RC_INTEGRATE_TYPE3:
|
||||
set_output(0, MAX(0, vP - iQ * DST_RCINTEGRATE__R3));
|
||||
set_output(0, std::max(0.0, vP - iQ * DST_RCINTEGRATE__R3));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1579,13 +1579,13 @@ DISCRETE_STEP(dss_inverter_osc)
|
||||
vG2 = this->tf(vG3);
|
||||
break;
|
||||
case IS_TYPE4:
|
||||
vI = MIN(I_ENABLE(), vI + 0.7);
|
||||
vI = std::min(I_ENABLE(), vI + 0.7);
|
||||
vG1 = 0;
|
||||
vG3 = this->tf(vI);
|
||||
vG2 = this->tf(vG3);
|
||||
break;
|
||||
case IS_TYPE5:
|
||||
vI = MAX(I_ENABLE(), vI - 0.7);
|
||||
vI = std::max(I_ENABLE(), vI - 0.7);
|
||||
vG1 = 0;
|
||||
vG3 = this->tf(vI);
|
||||
vG2 = this->tf(vG3);
|
||||
|
@ -235,7 +235,7 @@ void *discrete_task::task_callback(void *param, int threadid)
|
||||
|
||||
bool discrete_task::process(void)
|
||||
{
|
||||
int samples = MIN(m_samples, MAX_SAMPLES_PER_TASK_SLICE);
|
||||
int samples = std::min(int(m_samples), MAX_SAMPLES_PER_TASK_SLICE);
|
||||
|
||||
/* check dependencies */
|
||||
for_each(input_buffer *, sn, &source_list)
|
||||
|
@ -429,7 +429,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
osd_printf_warning("Unexpected size offset %u (%s)\n", offset, file.filename());
|
||||
return false;
|
||||
}
|
||||
filesize = LITTLE_ENDIANIZE_INT32(filesize);
|
||||
filesize = little_endianize_int32(filesize);
|
||||
|
||||
// read the RIFF file type and make sure it's a WAVE file
|
||||
char buf[32];
|
||||
@ -451,7 +451,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
{
|
||||
offset += file.read(buf, 4);
|
||||
offset += file.read(&length, 4);
|
||||
length = LITTLE_ENDIANIZE_INT32(length);
|
||||
length = little_endianize_int32(length);
|
||||
if (memcmp(&buf[0], "fmt ", 4) == 0)
|
||||
break;
|
||||
|
||||
@ -468,7 +468,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
// read the format -- make sure it is PCM
|
||||
UINT16 temp16;
|
||||
offset += file.read(&temp16, 2);
|
||||
temp16 = LITTLE_ENDIANIZE_INT16(temp16);
|
||||
temp16 = little_endianize_int16(temp16);
|
||||
if (temp16 != 1)
|
||||
{
|
||||
osd_printf_warning("unsupported format %u - only PCM is supported (%s)\n", temp16, file.filename());
|
||||
@ -477,7 +477,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
|
||||
// number of channels -- only mono is supported
|
||||
offset += file.read(&temp16, 2);
|
||||
temp16 = LITTLE_ENDIANIZE_INT16(temp16);
|
||||
temp16 = little_endianize_int16(temp16);
|
||||
if (temp16 != 1)
|
||||
{
|
||||
osd_printf_warning("unsupported number of channels %u - only mono is supported (%s)\n", temp16, file.filename());
|
||||
@ -487,7 +487,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
// sample rate
|
||||
UINT32 rate;
|
||||
offset += file.read(&rate, 4);
|
||||
rate = LITTLE_ENDIANIZE_INT32(rate);
|
||||
rate = little_endianize_int32(rate);
|
||||
|
||||
// bytes/second and block alignment are ignored
|
||||
offset += file.read(buf, 6);
|
||||
@ -495,7 +495,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
// bits/sample
|
||||
UINT16 bits;
|
||||
offset += file.read(&bits, 2);
|
||||
bits = LITTLE_ENDIANIZE_INT16(bits);
|
||||
bits = little_endianize_int16(bits);
|
||||
if (bits != 8 && bits != 16)
|
||||
{
|
||||
osd_printf_warning("unsupported bits/sample %u - only 8 and 16 are supported (%s)\n", bits, file.filename());
|
||||
@ -511,7 +511,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
{
|
||||
offset += file.read(buf, 4);
|
||||
offset += file.read(&length, 4);
|
||||
length = LITTLE_ENDIANIZE_INT32(length);
|
||||
length = little_endianize_int32(length);
|
||||
if (memcmp(&buf[0], "data", 4) == 0)
|
||||
break;
|
||||
|
||||
@ -555,7 +555,7 @@ bool samples_device::read_wav_sample(emu_file &file, sample_t &sample)
|
||||
// swap high/low on big-endian systems
|
||||
if (ENDIANNESS_NATIVE != ENDIANNESS_LITTLE)
|
||||
for (UINT32 sindex = 0; sindex < length / 2; sindex++)
|
||||
sample.data[sindex] = LITTLE_ENDIANIZE_INT16(sample.data[sindex]);
|
||||
sample.data[sindex] = little_endianize_int16(sample.data[sindex]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -1372,6 +1372,6 @@ osd_printf_debug("%s: REQUEST\n", timer.machine().time().as_string(3));
|
||||
}
|
||||
|
||||
// plus 1/2
|
||||
clocks_until_request = MAX(clocks_until_request, (1 << P_CLOCK_BIT) / 2);
|
||||
clocks_until_request = std::max(clocks_until_request, UINT32(1 << P_CLOCK_BIT) / 2);
|
||||
timer.adjust(attotime::from_ticks(clocks_until_request, m_master_clock_freq));
|
||||
}
|
||||
|
@ -1138,7 +1138,7 @@ void sega315_5124_device::draw_sprites_mode4( int *line_buffer, int *priority_se
|
||||
else
|
||||
{
|
||||
sprite_col_occurred = true;
|
||||
sprite_col_x = MIN(sprite_col_x, pixel_plot_x);
|
||||
sprite_col_x = std::min(sprite_col_x, pixel_plot_x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1218,7 +1218,7 @@ void sega315_5124_device::draw_sprites_tms9918_mode( int *line_buffer, int line
|
||||
else
|
||||
{
|
||||
sprite_col_occurred = true;
|
||||
sprite_col_x = MIN(sprite_col_x, pixel_plot_x);
|
||||
sprite_col_x = std::min(sprite_col_x, pixel_plot_x);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ public:
|
||||
{
|
||||
assert(m_spriteram != nullptr);
|
||||
if (m_spriteram != nullptr)
|
||||
memcpy(&m_buffered[0], m_spriteram + srcoffset, MIN(srclength, m_spriteram.bytes() / sizeof(_Type) - srcoffset) * sizeof(_Type));
|
||||
memcpy(&m_buffered[0], m_spriteram + srcoffset, (std::min<size_t>)(srclength, m_spriteram.bytes() / sizeof(_Type) - srcoffset) * sizeof(_Type));
|
||||
return &m_buffered[0];
|
||||
}
|
||||
|
||||
|
@ -658,7 +658,7 @@ void gb_lcd_device::update_scanline()
|
||||
|
||||
if (cycles_to_go < 160)
|
||||
{
|
||||
m_end_x = MIN(160 - cycles_to_go, 160);
|
||||
m_end_x = std::min(int(160 - cycles_to_go), 160);
|
||||
/* Draw empty pixels when the background is disabled */
|
||||
if (!(LCDCONT & 0x01))
|
||||
{
|
||||
@ -1000,7 +1000,7 @@ void sgb_lcd_device::update_scanline()
|
||||
}
|
||||
if (cycles_to_go < 160)
|
||||
{
|
||||
m_end_x = MIN(160 - cycles_to_go,160);
|
||||
m_end_x = std::min(int(160 - cycles_to_go),160);
|
||||
|
||||
/* if background or screen disabled clear line */
|
||||
if (!(LCDCONT & 0x01))
|
||||
@ -1142,7 +1142,7 @@ void cgb_lcd_device::update_sprites()
|
||||
data = *((UINT16 *) &m_vram[((oam[3] & 0x8)<<10) + (oam[2] & tilemask) * 16 + (line - oam[0]) * 2]);
|
||||
}
|
||||
|
||||
data = LITTLE_ENDIANIZE_INT16(data);
|
||||
data = little_endianize_int16(data);
|
||||
|
||||
switch (oam[3] & 0xA0)
|
||||
{
|
||||
@ -1267,7 +1267,7 @@ void cgb_lcd_device::update_scanline()
|
||||
|
||||
if (cycles_to_go < 160)
|
||||
{
|
||||
m_end_x = MIN(160 - cycles_to_go, 160);
|
||||
m_end_x = std::min(int(160 - cycles_to_go), 160);
|
||||
/* Draw empty line when the background is disabled */
|
||||
if (!(LCDCONT & 0x01))
|
||||
{
|
||||
|
@ -812,7 +812,7 @@ void hd63484_device::draw_line(INT16 sx, INT16 sy, INT16 ex, INT16 ey)
|
||||
|
||||
void hd63484_device::draw_ellipse(INT16 cx, INT16 cy, double dx, double dy, double s_angol, double e_angol, bool c)
|
||||
{
|
||||
double inc = 1.0 / (MAX(dx, dy) * 100);
|
||||
double inc = 1.0 / (std::max(dx, dy) * 100);
|
||||
for (double angol = s_angol; fabs(angol - e_angol) >= inc*2; angol += inc * (c ? -1 : +1))
|
||||
{
|
||||
if (angol > DEGREE_TO_RADIAN(360)) angol -= DEGREE_TO_RADIAN(360);
|
||||
|
@ -155,7 +155,7 @@ READ16_MEMBER( huc6202_device::time_until_next_event )
|
||||
UINT16 next_event_clocks_0 = m_time_til_next_event_0_cb( 0, 0xffff );
|
||||
UINT16 next_event_clocks_1 = m_time_til_next_event_1_cb( 0, 0xffff );
|
||||
|
||||
return MIN( next_event_clocks_0, next_event_clocks_1 );
|
||||
return std::min( next_event_clocks_0, next_event_clocks_1 );
|
||||
}
|
||||
|
||||
|
||||
|
@ -393,7 +393,7 @@ inline void huc6270_device::next_horz_state()
|
||||
|
||||
case HUC6270_HSW:
|
||||
m_horz_state = HUC6270_HDS;
|
||||
m_horz_to_go = MAX( ( ( m_hsr >> 8 ) & 0x7F ), 2 ) + 1;
|
||||
m_horz_to_go = std::max( ( ( m_hsr >> 8 ) & 0x7F ), 2 ) + 1;
|
||||
|
||||
/* If section has ended, advance to next vertical state */
|
||||
while ( m_vert_to_go == 0 )
|
||||
|
@ -743,8 +743,8 @@ void mc6847_base_device::record_body_scanline(UINT16 physical_scanline, UINT16 s
|
||||
|
||||
void mc6847_base_device::record_partial_body_scanline(UINT16 physical_scanline, UINT16 scanline, INT32 start_clock, INT32 end_clock)
|
||||
{
|
||||
INT32 start_pos = MAX(scanline_position_from_clock(start_clock), 0);
|
||||
INT32 end_pos = MIN(scanline_position_from_clock(end_clock), 42);
|
||||
INT32 start_pos = std::max(scanline_position_from_clock(start_clock), 0);
|
||||
INT32 end_pos = std::min(scanline_position_from_clock(end_clock), 42);
|
||||
|
||||
if (start_pos < end_pos)
|
||||
record_body_scanline(physical_scanline, scanline, start_pos, end_pos);
|
||||
@ -834,7 +834,7 @@ UINT32 mc6847_base_device::screen_update(screen_device &screen, bitmap_rgb32 &bi
|
||||
}
|
||||
}
|
||||
|
||||
for (y = MAX(0, min_y - base_y); y < MIN(192, max_y - base_y); y++)
|
||||
for (y = std::max(0, min_y - base_y); y < std::min(192, max_y - base_y); y++)
|
||||
{
|
||||
/* left border */
|
||||
for (x = min_x; x < base_x; x++)
|
||||
|
@ -366,7 +366,7 @@ void vga_device::vga_vh_text(bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
back_col = (attr & 0x70) >> 4;
|
||||
back_col |= (vga.attribute.data[0x10]&8) ? 0 : ((attr & 0x80) >> 4);
|
||||
|
||||
for (h = MAX(-line, 0); (h < height) && (line+h < MIN(TEXT_LINES, bitmap.height())); h++)
|
||||
for (h = std::max(-line, 0); (h < height) && (line+h < std::min(TEXT_LINES, bitmap.height())); h++)
|
||||
{
|
||||
bitmapline = &bitmap.pix32(line+h);
|
||||
bits = vga.memory[font_base+(h>>(vga.crtc.scan_doubling))];
|
||||
|
@ -224,7 +224,7 @@ private:
|
||||
// internal array types
|
||||
typedef poly_array<polygon_info, _MaxPolys> polygon_array;
|
||||
typedef poly_array<_ObjectData, _MaxPolys + 1> objectdata_array;
|
||||
typedef poly_array<work_unit, MIN(_MaxPolys * UNITS_PER_POLY, 65535)> unit_array;
|
||||
typedef poly_array<work_unit, std::min(_MaxPolys * UNITS_PER_POLY, 65535)> unit_array;
|
||||
|
||||
// round in a cross-platform consistent manner
|
||||
inline INT32 round_coordinate(_BaseType value)
|
||||
@ -525,8 +525,8 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_tile(
|
||||
// clip coordinates
|
||||
INT32 v1yclip = v1y;
|
||||
INT32 v2yclip = v2y + ((m_flags & POLYFLAG_INCLUDE_BOTTOM_EDGE) ? 1 : 0);
|
||||
v1yclip = MAX(v1yclip, cliprect.min_y);
|
||||
v2yclip = MIN(v2yclip, cliprect.max_y + 1);
|
||||
v1yclip = std::max(v1yclip, cliprect.min_y);
|
||||
v2yclip = std::min(v2yclip, cliprect.max_y + 1);
|
||||
if (v2yclip - v1yclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -592,7 +592,7 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_tile(
|
||||
|
||||
// fill in the work unit basics
|
||||
unit.polygon = &polygon;
|
||||
unit.count_next = MIN(v2yclip - curscan, scaninc);
|
||||
unit.count_next = std::min(v2yclip - curscan, scaninc);
|
||||
unit.scanline = curscan;
|
||||
unit.previtem = m_unit_bucket[bucketnum];
|
||||
m_unit_bucket[bucketnum] = unit_index;
|
||||
@ -670,8 +670,8 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_trian
|
||||
// clip coordinates
|
||||
INT32 v1yclip = v1y;
|
||||
INT32 v3yclip = v3y + ((m_flags & POLYFLAG_INCLUDE_BOTTOM_EDGE) ? 1 : 0);
|
||||
v1yclip = MAX(v1yclip, cliprect.min_y);
|
||||
v3yclip = MIN(v3yclip, cliprect.max_y + 1);
|
||||
v1yclip = std::max(v1yclip, cliprect.min_y);
|
||||
v3yclip = std::min(v3yclip, cliprect.max_y + 1);
|
||||
if (v3yclip - v1yclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -750,7 +750,7 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_trian
|
||||
|
||||
// fill in the work unit basics
|
||||
unit.polygon = &polygon;
|
||||
unit.count_next = MIN(v3yclip - curscan, scaninc);
|
||||
unit.count_next = std::min(v3yclip - curscan, scaninc);
|
||||
unit.scanline = curscan;
|
||||
unit.previtem = m_unit_bucket[bucketnum];
|
||||
m_unit_bucket[bucketnum] = unit_index;
|
||||
@ -860,8 +860,8 @@ template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
|
||||
UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_triangle_custom(const rectangle &cliprect, render_delegate callback, int startscanline, int numscanlines, const extent_t *extents)
|
||||
{
|
||||
// clip coordinates
|
||||
INT32 v1yclip = MAX(startscanline, cliprect.min_y);
|
||||
INT32 v3yclip = MIN(startscanline + numscanlines, cliprect.max_y + 1);
|
||||
INT32 v1yclip = std::max(startscanline, cliprect.min_y);
|
||||
INT32 v3yclip = std::min(startscanline + numscanlines, cliprect.max_y + 1);
|
||||
if (v3yclip - v1yclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -883,7 +883,7 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_trian
|
||||
|
||||
// fill in the work unit basics
|
||||
unit.polygon = &polygon;
|
||||
unit.count_next = MIN(v3yclip - curscan, scaninc);
|
||||
unit.count_next = std::min(v3yclip - curscan, scaninc);
|
||||
unit.scanline = curscan;
|
||||
unit.previtem = m_unit_bucket[bucketnum];
|
||||
m_unit_bucket[bucketnum] = unit_index;
|
||||
@ -968,8 +968,8 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_polyg
|
||||
// clip coordinates
|
||||
INT32 minyclip = miny;
|
||||
INT32 maxyclip = maxy + ((m_flags & POLYFLAG_INCLUDE_BOTTOM_EDGE) ? 1 : 0);
|
||||
minyclip = MAX(minyclip, cliprect.min_y);
|
||||
maxyclip = MIN(maxyclip, cliprect.max_y + 1);
|
||||
minyclip = std::max(minyclip, cliprect.min_y);
|
||||
maxyclip = std::min(maxyclip, cliprect.max_y + 1);
|
||||
if (maxyclip - minyclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -1058,7 +1058,7 @@ UINT32 poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::render_polyg
|
||||
|
||||
// fill in the work unit basics
|
||||
unit.polygon = &polygon;
|
||||
unit.count_next = MIN(maxyclip - curscan, scaninc);
|
||||
unit.count_next = std::min(maxyclip - curscan, scaninc);
|
||||
unit.scanline = curscan;
|
||||
unit.previtem = m_unit_bucket[bucketnum];
|
||||
m_unit_bucket[bucketnum] = unit_index;
|
||||
|
@ -320,7 +320,7 @@ legacy_poly_manager *poly_alloc(running_machine &machine, int max_polys, size_t
|
||||
|
||||
/* allocate polygons */
|
||||
poly->polygon_size = sizeof(polygon_info);
|
||||
poly->polygon_count = MAX(max_polys, 1);
|
||||
poly->polygon_count = std::max(max_polys, 1);
|
||||
poly->polygon_next = 0;
|
||||
poly->polygon = (polygon_info **)allocate_array(machine, &poly->polygon_size, poly->polygon_count);
|
||||
|
||||
@ -332,7 +332,7 @@ legacy_poly_manager *poly_alloc(running_machine &machine, int max_polys, size_t
|
||||
|
||||
/* allocate triangle work units */
|
||||
poly->unit_size = (flags & POLYFLAG_ALLOW_QUADS) ? sizeof(quad_work_unit) : sizeof(tri_work_unit);
|
||||
poly->unit_count = MIN(poly->polygon_count * UNITS_PER_POLY, 65535);
|
||||
poly->unit_count = std::min(poly->polygon_count * UNITS_PER_POLY, 65535U);
|
||||
poly->unit_next = 0;
|
||||
poly->unit = (work_unit **)allocate_array(machine, &poly->unit_size, poly->unit_count);
|
||||
|
||||
@ -501,8 +501,8 @@ UINT32 poly_render_triangle(legacy_poly_manager *poly, void *dest, const rectang
|
||||
/* clip coordinates */
|
||||
v1yclip = v1y;
|
||||
v3yclip = v3y + ((poly->flags & POLYFLAG_INCLUDE_BOTTOM_EDGE) ? 1 : 0);
|
||||
v1yclip = MAX(v1yclip, cliprect.min_y);
|
||||
v3yclip = MIN(v3yclip, cliprect.max_y + 1);
|
||||
v1yclip = std::max(v1yclip, cliprect.min_y);
|
||||
v3yclip = std::min(v3yclip, cliprect.max_y + 1);
|
||||
if (v3yclip - v1yclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -540,7 +540,7 @@ UINT32 poly_render_triangle(legacy_poly_manager *poly, void *dest, const rectang
|
||||
|
||||
/* fill in the work unit basics */
|
||||
unit->shared.polygon = polygon;
|
||||
unit->shared.count_next = MIN(v3yclip - curscan, scaninc);
|
||||
unit->shared.count_next = std::min(v3yclip - curscan, scaninc);
|
||||
unit->shared.scanline = curscan;
|
||||
unit->shared.previtem = poly->unit_bucket[bucketnum];
|
||||
poly->unit_bucket[bucketnum] = unit_index;
|
||||
@ -671,8 +671,8 @@ UINT32 poly_render_triangle_custom(legacy_poly_manager *poly, void *dest, const
|
||||
UINT32 startunit;
|
||||
|
||||
/* clip coordinates */
|
||||
v1yclip = MAX(startscanline, cliprect.min_y);
|
||||
v3yclip = MIN(startscanline + numscanlines, cliprect.max_y + 1);
|
||||
v1yclip = std::max(startscanline, cliprect.min_y);
|
||||
v3yclip = std::min(startscanline + numscanlines, cliprect.max_y + 1);
|
||||
if (v3yclip - v1yclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -701,7 +701,7 @@ UINT32 poly_render_triangle_custom(legacy_poly_manager *poly, void *dest, const
|
||||
|
||||
/* fill in the work unit basics */
|
||||
unit->shared.polygon = polygon;
|
||||
unit->shared.count_next = MIN(v3yclip - curscan, scaninc);
|
||||
unit->shared.count_next = std::min(v3yclip - curscan, scaninc);
|
||||
unit->shared.scanline = curscan;
|
||||
unit->shared.previtem = poly->unit_bucket[bucketnum];
|
||||
poly->unit_bucket[bucketnum] = unit_index;
|
||||
@ -801,8 +801,8 @@ UINT32 poly_render_quad(legacy_poly_manager *poly, void *dest, const rectangle &
|
||||
/* clip coordinates */
|
||||
minyclip = miny;
|
||||
maxyclip = maxy + ((poly->flags & POLYFLAG_INCLUDE_BOTTOM_EDGE) ? 1 : 0);
|
||||
minyclip = MAX(minyclip, cliprect.min_y);
|
||||
maxyclip = MIN(maxyclip, cliprect.max_y + 1);
|
||||
minyclip = std::max(minyclip, cliprect.min_y);
|
||||
maxyclip = std::min(maxyclip, cliprect.max_y + 1);
|
||||
if (maxyclip - minyclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -892,7 +892,7 @@ UINT32 poly_render_quad(legacy_poly_manager *poly, void *dest, const rectangle &
|
||||
|
||||
/* fill in the work unit basics */
|
||||
unit->shared.polygon = polygon;
|
||||
unit->shared.count_next = MIN(maxyclip - curscan, scaninc);
|
||||
unit->shared.count_next = std::min(maxyclip - curscan, scaninc);
|
||||
unit->shared.scanline = curscan;
|
||||
unit->shared.previtem = poly->unit_bucket[bucketnum];
|
||||
poly->unit_bucket[bucketnum] = unit_index;
|
||||
@ -985,7 +985,7 @@ UINT32 poly_render_quad_fan(legacy_poly_manager *poly, void *dest, const rectang
|
||||
|
||||
/* iterate over vertices */
|
||||
for (vertnum = 2; vertnum < numverts; vertnum += 2)
|
||||
pixels += poly_render_quad(poly, dest, cliprect, callback, paramcount, &v[0], &v[vertnum - 1], &v[vertnum], &v[MIN(vertnum + 1, numverts - 1)]);
|
||||
pixels += poly_render_quad(poly, dest, cliprect, callback, paramcount, &v[0], &v[vertnum - 1], &v[vertnum], &v[std::min(vertnum + 1, numverts - 1)]);
|
||||
return pixels;
|
||||
}
|
||||
|
||||
@ -1033,8 +1033,8 @@ UINT32 poly_render_polygon(legacy_poly_manager *poly, void *dest, const rectangl
|
||||
/* clip coordinates */
|
||||
minyclip = miny;
|
||||
maxyclip = maxy + ((poly->flags & POLYFLAG_INCLUDE_BOTTOM_EDGE) ? 1 : 0);
|
||||
minyclip = MAX(minyclip, cliprect.min_y);
|
||||
maxyclip = MIN(maxyclip, cliprect.max_y + 1);
|
||||
minyclip = std::max(minyclip, cliprect.min_y);
|
||||
maxyclip = std::min(maxyclip, cliprect.max_y + 1);
|
||||
if (maxyclip - minyclip <= 0)
|
||||
return 0;
|
||||
|
||||
@ -1124,7 +1124,7 @@ UINT32 poly_render_polygon(legacy_poly_manager *poly, void *dest, const rectangl
|
||||
|
||||
/* fill in the work unit basics */
|
||||
unit->shared.polygon = polygon;
|
||||
unit->shared.count_next = MIN(maxyclip - curscan, scaninc);
|
||||
unit->shared.count_next = std::min(maxyclip - curscan, scaninc);
|
||||
unit->shared.scanline = curscan;
|
||||
unit->shared.previtem = poly->unit_bucket[bucketnum];
|
||||
poly->unit_bucket[bucketnum] = unit_index;
|
||||
|
@ -140,8 +140,8 @@ public:
|
||||
// if the cliprect exceeds our current bitmap dimensions, expand
|
||||
if (cliprect.right() >= m_bitmap.width() || cliprect.bottom() >= m_bitmap.height())
|
||||
{
|
||||
int new_width = MAX(cliprect.right() + 1, m_bitmap.width());
|
||||
int new_height = MAX(cliprect.bottom() + 1, m_bitmap.height());
|
||||
int new_width = std::max(cliprect.right() + 1, m_bitmap.width());
|
||||
int new_height = std::max(cliprect.bottom() + 1, m_bitmap.height());
|
||||
m_bitmap.resize(new_width, new_height, BITMAP_SLOP, BITMAP_SLOP);
|
||||
m_dirty.resize(new_width, new_height);
|
||||
}
|
||||
|
@ -1732,8 +1732,8 @@ void saturn_state::stv_vdp1_draw_normal_sprite(const rectangle &cliprect, int sp
|
||||
xsize -= (cliprect.min_x - x);
|
||||
x = cliprect.min_x;
|
||||
}
|
||||
maxdrawypos = MIN(y+ysize-1,cliprect.max_y);
|
||||
maxdrawxpos = MIN(x+xsize-1,cliprect.max_x);
|
||||
maxdrawypos = std::min(y+ysize-1,cliprect.max_y);
|
||||
maxdrawxpos = std::min(x+xsize-1,cliprect.max_x);
|
||||
for (drawypos = y; drawypos <= maxdrawypos; drawypos++ )
|
||||
{
|
||||
//destline = m_vdp1.framebuffer_draw_lines[drawypos];
|
||||
|
@ -104,10 +104,10 @@ void vector_device::add_point(int x, int y, rgb_t color, int intensity)
|
||||
{
|
||||
point *newpoint;
|
||||
|
||||
intensity = MAX(0, MIN(255, intensity));
|
||||
intensity = std::max(0, std::min(255, intensity));
|
||||
|
||||
m_min_intensity = intensity > 0 ? MIN(m_min_intensity, intensity) : m_min_intensity;
|
||||
m_max_intensity = intensity > 0 ? MAX(m_max_intensity, intensity) : m_max_intensity;
|
||||
m_min_intensity = intensity > 0 ? std::min(m_min_intensity, intensity) : m_min_intensity;
|
||||
m_max_intensity = intensity > 0 ? std::max(m_max_intensity, intensity) : m_max_intensity;
|
||||
|
||||
if (vector_options::s_flicker && (intensity > 0))
|
||||
{
|
||||
@ -115,7 +115,7 @@ void vector_device::add_point(int x, int y, rgb_t color, int intensity)
|
||||
|
||||
intensity -= (int)(intensity * random * vector_options::s_flicker);
|
||||
|
||||
intensity = MAX(0, MIN(255, intensity));
|
||||
intensity = std::max(0, std::min(255, intensity));
|
||||
}
|
||||
|
||||
newpoint = &m_vector_list[m_vector_index];
|
||||
|
@ -2549,8 +2549,8 @@ INT32 voodoo_device::register_w(voodoo_device *vd, offs_t offset, UINT32 data)
|
||||
visarea.set(hbp, hbp + hvis - 1, vbp, vbp + vvis - 1);
|
||||
|
||||
/* keep within bounds */
|
||||
visarea.max_x = MIN(visarea.max_x, htotal - 1);
|
||||
visarea.max_y = MIN(visarea.max_y, vtotal - 1);
|
||||
visarea.max_x = std::min(visarea.max_x, htotal - 1);
|
||||
visarea.max_y = std::min(visarea.max_y, vtotal - 1);
|
||||
|
||||
/* compute the new period for standard res, medium res, and VGA res */
|
||||
stdperiod = HZ_TO_ATTOSECONDS(15750) * vtotal;
|
||||
@ -2889,8 +2889,8 @@ INT32 voodoo_device::lfb_direct_w(voodoo_device *vd, offs_t offset, UINT32 data,
|
||||
/* byte swizzling */
|
||||
if (LFBMODE_BYTE_SWIZZLE_WRITES(vd->reg[lfbMode].u))
|
||||
{
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
mem_mask = FLIPENDIAN_INT32(mem_mask);
|
||||
data = flipendian_int32(data);
|
||||
mem_mask = flipendian_int32(mem_mask);
|
||||
}
|
||||
|
||||
/* word swapping */
|
||||
@ -2935,8 +2935,8 @@ INT32 voodoo_device::lfb_w(voodoo_device* vd, offs_t offset, UINT32 data, UINT32
|
||||
/* byte swizzling */
|
||||
if (LFBMODE_BYTE_SWIZZLE_WRITES(vd->reg[lfbMode].u))
|
||||
{
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
mem_mask = FLIPENDIAN_INT32(mem_mask);
|
||||
data = flipendian_int32(data);
|
||||
mem_mask = flipendian_int32(mem_mask);
|
||||
}
|
||||
|
||||
/* word swapping */
|
||||
@ -3377,7 +3377,7 @@ INT32 voodoo_device::texture_w(voodoo_device *vd, offs_t offset, UINT32 data)
|
||||
|
||||
/* swizzle the data */
|
||||
if (TEXLOD_TDATA_SWIZZLE(t->reg[tLOD].u))
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
data = flipendian_int32(data);
|
||||
if (TEXLOD_TDATA_SWAP(t->reg[tLOD].u))
|
||||
data = (data >> 16) | (data << 16);
|
||||
|
||||
@ -3635,7 +3635,7 @@ WRITE32_MEMBER( voodoo_device::voodoo_w )
|
||||
{
|
||||
/* check for byte swizzling (bit 18) */
|
||||
if (offset & 0x40000/4)
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
data = flipendian_int32(data);
|
||||
cmdfifo_w(this, &fbi.cmdfifo[0], offset & 0xffff, data);
|
||||
g_profiler.stop();
|
||||
return;
|
||||
@ -3657,7 +3657,7 @@ WRITE32_MEMBER( voodoo_device::voodoo_w )
|
||||
|
||||
/* if not, we might be byte swizzled (bit 20) */
|
||||
else if (offset & 0x100000/4)
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
data = flipendian_int32(data);
|
||||
}
|
||||
|
||||
/* check the access behavior; note that the table works even if the */
|
||||
@ -4037,7 +4037,7 @@ static UINT32 lfb_r(voodoo_device *vd, offs_t offset, bool lfb_3d)
|
||||
|
||||
/* byte swizzling */
|
||||
if (LFBMODE_BYTE_SWIZZLE_READS(vd->reg[lfbMode].u))
|
||||
data = FLIPENDIAN_INT32(data);
|
||||
data = flipendian_int32(data);
|
||||
|
||||
if (LOG_LFB) vd->device->logerror("VOODOO.%d.LFB:read (%d,%d) = %08X\n", vd->index, x, y, data);
|
||||
return data;
|
||||
@ -5180,7 +5180,7 @@ INT32 voodoo_device::fastfill(voodoo_device *vd)
|
||||
for (y = sy; y < ey; y += ARRAY_LENGTH(extents))
|
||||
{
|
||||
poly_extra_data *extra = (poly_extra_data *)poly_get_extra_data(vd->poly);
|
||||
int count = MIN(ey - y, ARRAY_LENGTH(extents));
|
||||
int count = std::min(ey - y, int(ARRAY_LENGTH(extents)));
|
||||
|
||||
extra->device= vd;
|
||||
memcpy(extra->dither, dithermatrix, sizeof(extra->dither));
|
||||
|
@ -1311,8 +1311,8 @@ void zeus2_renderer::zeus2_draw_quad(const UINT32 *databuffer, UINT32 texdata, i
|
||||
|
||||
clipvert[i].p[0] *= 65536.0f * 16.0f;
|
||||
|
||||
maxx = MAX(maxx, clipvert[i].x);
|
||||
maxy = MAX(maxy, clipvert[i].y);
|
||||
maxx = std::max(maxx, clipvert[i].x);
|
||||
maxy = std::max(maxy, clipvert[i].y);
|
||||
if (logextra & logit)
|
||||
m_state->logerror("\t\t\tTranslated=(%f,%f)\n", (double)clipvert[i].x, (double)clipvert[i].y);
|
||||
}
|
||||
|
@ -332,7 +332,7 @@ CMDERR debugger_console::execute_command(const char *command, bool echo)
|
||||
printf(">%s\n", command);
|
||||
|
||||
/* parse and execute */
|
||||
result = internal_parse_command(command, TRUE);
|
||||
result = internal_parse_command(command, true);
|
||||
|
||||
/* display errors */
|
||||
if (result != CMDERR_NONE)
|
||||
|
@ -67,7 +67,7 @@ debug_view_memory_source::debug_view_memory_source(const char *name, memory_regi
|
||||
m_length(region.bytes()),
|
||||
m_offsetxor(ENDIAN_VALUE_NE_NNE(region.endianness(), 0, region.bytewidth() - 1)),
|
||||
m_endianness(region.endianness()),
|
||||
m_prefsize(MIN(region.bytewidth(), 8))
|
||||
m_prefsize(std::min<UINT8>(region.bytewidth(), 8))
|
||||
{
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ debug_view_memory_source::debug_view_memory_source(const char *name, void *base,
|
||||
m_length(element_size * num_elements),
|
||||
m_offsetxor(0),
|
||||
m_endianness(ENDIANNESS_NATIVE),
|
||||
m_prefsize(MIN(element_size, 8))
|
||||
m_prefsize(std::min(element_size, 8))
|
||||
{
|
||||
}
|
||||
|
||||
@ -556,7 +556,7 @@ void debug_view_memory::recompute()
|
||||
m_bytes_per_chunk *= 2;
|
||||
m_chunks_per_row /= 2;
|
||||
}
|
||||
m_chunks_per_row = MAX(1, m_chunks_per_row);
|
||||
m_chunks_per_row = std::max(1U, m_chunks_per_row);
|
||||
}
|
||||
|
||||
// recompute the byte offset based on the most recent expression result
|
||||
@ -612,8 +612,8 @@ bool debug_view_memory::needs_recompute()
|
||||
{
|
||||
recompute = true;
|
||||
m_topleft.y = (m_expression.value() - m_byte_offset) / m_bytes_per_row;
|
||||
m_topleft.y = MAX(m_topleft.y, 0);
|
||||
m_topleft.y = MIN(m_topleft.y, m_total.y - 1);
|
||||
m_topleft.y = std::max(m_topleft.y, 0);
|
||||
m_topleft.y = std::min(m_topleft.y, m_total.y - 1);
|
||||
|
||||
const debug_view_memory_source &source = downcast<const debug_view_memory_source &>(*m_source);
|
||||
offs_t resultbyte;
|
||||
@ -720,8 +720,8 @@ void debug_view_memory::set_cursor_pos(cursor_pos pos)
|
||||
}
|
||||
|
||||
// clamp to the window bounds
|
||||
m_cursor.x = MIN(m_cursor.x, m_total.x);
|
||||
m_cursor.y = MIN(m_cursor.y, m_total.y);
|
||||
m_cursor.x = std::min(m_cursor.x, m_total.x);
|
||||
m_cursor.y = std::min(m_cursor.y, m_total.y);
|
||||
|
||||
// scroll if out of range
|
||||
adjust_visible_x_for_cursor();
|
||||
|
@ -296,7 +296,7 @@ private:
|
||||
// setters
|
||||
parse_token &set_offset(int offset) { m_offset = offset; return *this; }
|
||||
parse_token &set_offset(const parse_token &src) { m_offset = src.m_offset; return *this; }
|
||||
parse_token &set_offset(const parse_token &src1, const parse_token &src2) { m_offset = MIN(src1.m_offset, src2.m_offset); return *this; }
|
||||
parse_token &set_offset(const parse_token &src1, const parse_token &src2) { m_offset = std::min(src1.m_offset, src2.m_offset); return *this; }
|
||||
parse_token &configure_number(UINT64 value) { m_type = NUMBER; m_value = value; return *this; }
|
||||
parse_token &configure_string(const char *string) { m_type = STRING; m_string = string; return *this; }
|
||||
parse_token &configure_memory(UINT32 address, parse_token &memoryat) { m_type = MEMORY; m_value = address; m_flags = memoryat.m_flags; m_string = memoryat.m_string; return *this; }
|
||||
|
@ -228,6 +228,27 @@ const image_device_format *device_image_interface::device_get_named_creatable_fo
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// add_format
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_image_interface::add_format(std::unique_ptr<image_device_format> &&format)
|
||||
{
|
||||
m_formatlist.push_back(std::move(format));
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// add_format
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_image_interface::add_format(std::string &&name, std::string &&description, std::string &&extensions, std::string &&optspec)
|
||||
{
|
||||
auto format = std::make_unique<image_device_format>(std::move(name), std::move(description), std::move(extensions), std::move(optspec));
|
||||
add_format(std::move(format));
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
ERROR HANDLING
|
||||
****************************************************************************/
|
||||
@ -946,7 +967,7 @@ bool device_image_interface::load_internal(const std::string &path, bool is_crea
|
||||
m_create_args = create_args;
|
||||
|
||||
if (m_init_phase==false) {
|
||||
m_err = (image_error_t)finish_load();
|
||||
m_err = (finish_load()==IMAGE_INIT_PASS) ? IMAGE_ERROR_SUCCESS : IMAGE_ERROR_INTERNAL;
|
||||
if (m_err)
|
||||
goto done;
|
||||
}
|
||||
@ -1109,10 +1130,10 @@ bool device_image_interface::finish_load()
|
||||
{
|
||||
image_checkhash();
|
||||
|
||||
if (has_been_created())
|
||||
if (m_created)
|
||||
{
|
||||
err = call_create(m_create_format, m_create_args);
|
||||
if (err)
|
||||
if (err == IMAGE_INIT_FAIL)
|
||||
{
|
||||
if (!m_err)
|
||||
m_err = IMAGE_ERROR_UNSPECIFIED;
|
||||
@ -1122,7 +1143,7 @@ bool device_image_interface::finish_load()
|
||||
{
|
||||
// using device load
|
||||
err = call_load();
|
||||
if (err)
|
||||
if (err == IMAGE_INIT_FAIL)
|
||||
{
|
||||
if (!m_err)
|
||||
m_err = IMAGE_ERROR_UNSPECIFIED;
|
||||
|
@ -101,7 +101,7 @@ class software_part;
|
||||
class software_info;
|
||||
|
||||
// device image interface function types
|
||||
typedef delegate<int (device_image_interface &)> device_image_load_delegate;
|
||||
typedef delegate<bool (device_image_interface &)> device_image_load_delegate;
|
||||
typedef delegate<void (device_image_interface &)> device_image_func_delegate;
|
||||
// legacy
|
||||
typedef void (*device_image_partialhash_func)(util::hash_collection &, const unsigned char *, unsigned long, const char *);
|
||||
@ -110,15 +110,13 @@ typedef void (*device_image_partialhash_func)(util::hash_collection &, const uns
|
||||
// MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define IMAGE_INIT_PASS FALSE
|
||||
#define IMAGE_INIT_FAIL TRUE
|
||||
#define IMAGE_VERIFY_PASS FALSE
|
||||
#define IMAGE_VERIFY_FAIL TRUE
|
||||
#define IMAGE_INIT_PASS false
|
||||
#define IMAGE_INIT_FAIL true
|
||||
|
||||
#define DEVICE_IMAGE_LOAD_MEMBER_NAME(_name) device_image_load_##_name
|
||||
#define DEVICE_IMAGE_LOAD_NAME(_class,_name) _class::DEVICE_IMAGE_LOAD_MEMBER_NAME(_name)
|
||||
#define DECLARE_DEVICE_IMAGE_LOAD_MEMBER(_name) int DEVICE_IMAGE_LOAD_MEMBER_NAME(_name)(device_image_interface &image)
|
||||
#define DEVICE_IMAGE_LOAD_MEMBER(_class,_name) int DEVICE_IMAGE_LOAD_NAME(_class,_name)(device_image_interface &image)
|
||||
#define DECLARE_DEVICE_IMAGE_LOAD_MEMBER(_name) bool DEVICE_IMAGE_LOAD_MEMBER_NAME(_name)(device_image_interface &image)
|
||||
#define DEVICE_IMAGE_LOAD_MEMBER(_class,_name) bool DEVICE_IMAGE_LOAD_NAME(_class,_name)(device_image_interface &image)
|
||||
#define DEVICE_IMAGE_LOAD_DELEGATE(_class,_name) device_image_load_delegate(&DEVICE_IMAGE_LOAD_NAME(_class,_name),#_class "::device_image_load_" #_name, downcast<_class *>(device->owner()))
|
||||
|
||||
#define DEVICE_IMAGE_UNLOAD_MEMBER_NAME(_name) device_image_unload_##_name
|
||||
@ -149,12 +147,12 @@ public:
|
||||
|
||||
virtual void device_compute_hash(util::hash_collection &hashes, const void *data, size_t length, const char *types) const;
|
||||
|
||||
virtual bool call_load() { return FALSE; }
|
||||
virtual bool call_create(int format_type, util::option_resolution *format_options) { return FALSE; }
|
||||
virtual bool call_load() { return IMAGE_INIT_PASS; }
|
||||
virtual bool call_create(int format_type, util::option_resolution *format_options) { return IMAGE_INIT_PASS; }
|
||||
virtual void call_unload() { }
|
||||
virtual std::string call_display() { return std::string(); }
|
||||
virtual device_image_partialhash_func get_partial_hash() const { return nullptr; }
|
||||
virtual bool core_opens_image_file() const { return TRUE; }
|
||||
virtual bool core_opens_image_file() const { return true; }
|
||||
virtual iodevice_t image_type() const = 0;
|
||||
virtual bool is_readable() const = 0;
|
||||
virtual bool is_writeable() const = 0;
|
||||
@ -182,7 +180,6 @@ public:
|
||||
util::core_file &image_core_file() const { return *m_file; }
|
||||
UINT64 length() { check_for_file(); return m_file->size(); }
|
||||
bool is_readonly() const { return m_readonly; }
|
||||
bool has_been_created() const { return m_created; }
|
||||
void make_readonly() { m_readonly = true; }
|
||||
UINT32 fread(void *buffer, UINT32 length) { check_for_file(); return m_file->read(buffer, length); }
|
||||
UINT32 fread(optional_shared_ptr<UINT8> &ptr, UINT32 length) { ptr.allocate(length); return fread(ptr.target(), length); }
|
||||
@ -195,7 +192,7 @@ public:
|
||||
int image_feof() { check_for_file(); return m_file->eof(); }
|
||||
void *ptr() {check_for_file(); return const_cast<void *>(m_file->buffer()); }
|
||||
// configuration access
|
||||
void set_init_phase() { m_init_phase = TRUE; }
|
||||
void set_init_phase() { m_init_phase = true; }
|
||||
|
||||
const char* longname() const { return m_longname.c_str(); }
|
||||
const char* manufacturer() const { return m_manufacturer.c_str(); }
|
||||
@ -279,6 +276,9 @@ protected:
|
||||
bool load_software_part(const char *path, const software_part *&swpart);
|
||||
std::string software_get_default_slot(const char *default_card_slot) const;
|
||||
|
||||
void add_format(std::unique_ptr<image_device_format> &&format);
|
||||
void add_format(std::string &&name, std::string &&description, std::string &&extensions, std::string &&optspec);
|
||||
|
||||
// derived class overrides
|
||||
|
||||
// configuration
|
||||
@ -326,9 +326,6 @@ protected:
|
||||
std::string m_brief_instance_name;
|
||||
std::string m_instance_name;
|
||||
|
||||
// creation info
|
||||
formatlist_type m_formatlist;
|
||||
|
||||
// in the case of arcade cabinet with fixed carts inserted,
|
||||
// we want to disable command line cart loading...
|
||||
bool m_user_loadable;
|
||||
@ -338,6 +335,9 @@ protected:
|
||||
private:
|
||||
static image_error_t image_error_from_file_error(osd_file::error filerr);
|
||||
bool schedule_postload_hard_reset_if_needed();
|
||||
|
||||
// creation info
|
||||
formatlist_type m_formatlist;
|
||||
};
|
||||
|
||||
// iterator
|
||||
|
@ -365,7 +365,7 @@ void driver_enumerator::find_approximate_matches(const char *string, int count,
|
||||
// pick the best match between driver name and description
|
||||
int curpenalty = penalty_compare(string, s_drivers_sorted[index]->description);
|
||||
int tmp = penalty_compare(string, s_drivers_sorted[index]->name);
|
||||
curpenalty = MIN(curpenalty, tmp);
|
||||
curpenalty = std::min(curpenalty, tmp);
|
||||
|
||||
// insert into the sorted table of matches
|
||||
for (int matchnum = count - 1; matchnum >= 0; matchnum--)
|
||||
|
@ -159,7 +159,7 @@ UINT32 palette_device::transpen_mask(gfx_element &gfx, int color, int transcolor
|
||||
assert(gfx.depth() <= 32);
|
||||
|
||||
// either gfx->color_depth entries or as many as we can get up until the end
|
||||
int count = MIN(gfx.depth(), m_indirect_pens.size() - entry);
|
||||
int count = std::min(size_t(gfx.depth()), m_indirect_pens.size() - entry);
|
||||
|
||||
// set a bit anywhere the transcolor matches
|
||||
UINT32 mask = 0;
|
||||
|
@ -718,7 +718,7 @@ bool input_seq::is_valid() const
|
||||
// non-switch items can't have a NOT
|
||||
input_item_class itemclass = code.item_class();
|
||||
if (itemclass != ITEM_CLASS_SWITCH && lastcode == not_code)
|
||||
return FALSE;
|
||||
return false;
|
||||
|
||||
// absolute/relative items must all be the same class
|
||||
if ((lastclass == ITEM_CLASS_ABSOLUTE && itemclass != ITEM_CLASS_ABSOLUTE) ||
|
||||
@ -863,7 +863,7 @@ input_item_id input_device::add_item(const char *name, input_item_id itemid, ite
|
||||
}
|
||||
|
||||
// assign the new slot and update the maximum
|
||||
m_maxitem = MAX(m_maxitem, itemid);
|
||||
m_maxitem = std::max(m_maxitem, itemid);
|
||||
return itemid;
|
||||
}
|
||||
|
||||
@ -986,7 +986,7 @@ input_device *input_class::add_device(int devindex, const char *name, void *inte
|
||||
m_device[devindex] = std::make_unique<input_device>(*this, devindex, name, internal);
|
||||
|
||||
// update the maximum index found
|
||||
m_maxindex = MAX(m_maxindex, devindex);
|
||||
m_maxindex = std::max(m_maxindex, devindex);
|
||||
|
||||
osd_printf_verbose("Input: Adding %s #%d: %s\n", (*devclass_string_table)[m_devclass], devindex, name);
|
||||
return m_device[devindex].get();
|
||||
@ -2363,8 +2363,8 @@ INT32 input_device_absolute_item::read_as_absolute(input_item_modifier modifier)
|
||||
|
||||
// positive/negative: scale to full axis
|
||||
if (modifier == ITEM_MODIFIER_POS)
|
||||
result = MAX(result, 0) * 2 + INPUT_ABSOLUTE_MIN;
|
||||
result = std::max(result, 0) * 2 + INPUT_ABSOLUTE_MIN;
|
||||
if (modifier == ITEM_MODIFIER_NEG)
|
||||
result = MAX(-result, 0) * 2 + INPUT_ABSOLUTE_MIN;
|
||||
result = std::max(-result, 0) * 2 + INPUT_ABSOLUTE_MIN;
|
||||
return result;
|
||||
}
|
||||
|
@ -2148,7 +2148,7 @@ ioport_field_live::ioport_field_live(ioport_field &field, analog_field *analog)
|
||||
unicode_char ch = field.keyboard_code(which);
|
||||
if (ch == 0)
|
||||
break;
|
||||
name.append(string_format("%-*s ", MAX(SPACE_COUNT - 1, 0), field.manager().natkeyboard().key_name(ch)));
|
||||
name.append(string_format("%-*s ", std::max(SPACE_COUNT - 1, 0), field.manager().natkeyboard().key_name(ch)));
|
||||
}
|
||||
|
||||
// trim extra spaces
|
||||
@ -3302,11 +3302,11 @@ _Type ioport_manager::playback_read(_Type &result)
|
||||
|
||||
// return the appropriate value
|
||||
else if (sizeof(result) == 8)
|
||||
result = LITTLE_ENDIANIZE_INT64(result);
|
||||
result = little_endianize_int64(result);
|
||||
else if (sizeof(result) == 4)
|
||||
result = LITTLE_ENDIANIZE_INT32(result);
|
||||
result = little_endianize_int32(result);
|
||||
else if (sizeof(result) == 2)
|
||||
result = LITTLE_ENDIANIZE_INT16(result);
|
||||
result = little_endianize_int16(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -4330,7 +4330,7 @@ void analog_field::frame_update(running_machine &machine)
|
||||
rawvalue = apply_scale(rawvalue - INPUT_ABSOLUTE_MIN, m_positionalscale) * INPUT_RELATIVE_PER_PIXEL + m_minimum;
|
||||
|
||||
// clamp the high value so it does not roll over
|
||||
rawvalue = MIN(rawvalue, m_maximum);
|
||||
rawvalue = std::min(rawvalue, m_maximum);
|
||||
m_accum = apply_inverse_sensitivity(rawvalue);
|
||||
}
|
||||
else
|
||||
|
@ -496,7 +496,7 @@ std::string running_machine::get_statename(const char *option) const
|
||||
int end;
|
||||
|
||||
if ((end1 != -1) && (end2 != -1))
|
||||
end = MIN(end1, end2);
|
||||
end = std::min(end1, end2);
|
||||
else if (end1 != -1)
|
||||
end = end1;
|
||||
else if (end2 != -1)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user