Merge branch 'master' into separate_softlist_image_load

This commit is contained in:
Nathan Woods 2016-07-31 15:20:49 -04:00
commit 024f698364
289 changed files with 1924 additions and 1619 deletions

View File

@ -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"

View File

@ -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;
}

View File

@ -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);
};

View File

@ -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);
}

View File

@ -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;
};

View File

@ -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;
}

View File

@ -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)

View File

@ -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)

View File

@ -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]);
}

View File

@ -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)
{

View File

@ -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)

View File

@ -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)

View File

@ -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;
}

View File

@ -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);

View File

@ -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:

View File

@ -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

View File

@ -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)

View File

@ -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(); }

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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();

View File

@ -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;

View File

@ -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;

View File

@ -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]

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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)

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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));
}

View File

@ -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;
}

View File

@ -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 )
{

View File

@ -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); \
}

View File

@ -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();
}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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)));
}
/******************************************

View File

@ -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);

View File

@ -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

View File

@ -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();

View File

@ -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();

View File

@ -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;

View File

@ -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;

View File

@ -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() );
}

View File

@ -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();

View File

@ -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

View File

@ -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); }

View File

@ -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];

View File

@ -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()

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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);

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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 */

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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)

View File

@ -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;
}

View File

@ -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));
}

View File

@ -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);
}
}
}

View File

@ -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];
}

View File

@ -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))
{

View File

@ -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);

View File

@ -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 );
}

View File

@ -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 )

View File

@ -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++)

View File

@ -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))];

View File

@ -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;

View File

@ -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;

View File

@ -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);
}

View File

@ -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];

View File

@ -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];

View File

@ -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));

View File

@ -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);
}

View File

@ -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)

View File

@ -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();

View File

@ -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; }

View File

@ -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;

View File

@ -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

View File

@ -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--)

View File

@ -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;

View File

@ -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;
}

View File

@ -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

View File

@ -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