mirror of
https://github.com/holub/mame
synced 2025-06-23 04:48:37 +03:00
Cleanups and version bump.
This commit is contained in:
parent
f6c832ea90
commit
aebc07a897
@ -665,7 +665,7 @@
|
||||
P |= F_T | F_B; \
|
||||
if( (cpustate->irq_state != CLEAR_LINE) && !(P & F_I) ) \
|
||||
{ \
|
||||
LOG(("M6502 '%s' RTI sets after_cli\n",cpustate->device->tag.cstr())); \
|
||||
LOG(("M6502 '%s' RTI sets after_cli\n",cpustate->device->tag.cstr())); \
|
||||
cpustate->after_cli = 1; \
|
||||
}
|
||||
|
||||
|
@ -1977,7 +1977,7 @@ static void cfunc_rsp_stv(void *param)
|
||||
|
||||
static int generate_swc2(rsp_state *rsp, drcuml_block *block, compiler_state *compiler, const opcode_desc *desc)
|
||||
{
|
||||
// int loopdest;
|
||||
// int loopdest;
|
||||
UINT32 op = desc->opptr.l[0];
|
||||
int dest = (op >> 16) & 0x1f;
|
||||
//int base = (op >> 21) & 0x1f;
|
||||
|
@ -827,11 +827,11 @@ static CPU_SET_INFO( unsp )
|
||||
unsp_set_irq_line(unsp, state - CPUINFO_INT_INPUT_STATE, (int)info->i);
|
||||
break;
|
||||
|
||||
case CPUINFO_INT_REGISTER + UNSP_SP: UNSP_REG(SP) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_SP: UNSP_REG(SP) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_R1: UNSP_REG(R1) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_R2: UNSP_REG(R2) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_R3: UNSP_REG(R3) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_R4: UNSP_REG(R4) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_R4: UNSP_REG(R4) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_BP: UNSP_REG(BP) = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_SR: UNSP_REG(SR) = info->i; break;
|
||||
case CPUINFO_INT_PC: /* Intentional fallthrough */
|
||||
@ -841,7 +841,7 @@ static CPU_SET_INFO( unsp )
|
||||
break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_IRQ: unsp->irq = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_FIQ: unsp->fiq = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_SB: unsp->sb = info->i; break;
|
||||
case CPUINFO_INT_REGISTER + UNSP_SB: unsp->sb = info->i; break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -854,7 +854,7 @@ CPU_GET_INFO( unsp )
|
||||
case CPUINFO_INT_CONTEXT_SIZE: info->i = sizeof(unsp_state); break;
|
||||
case CPUINFO_INT_INPUT_LINES: info->i = 0; break;
|
||||
case CPUINFO_INT_DEFAULT_IRQ_VECTOR: info->i = 0; break;
|
||||
case DEVINFO_INT_ENDIANNESS: info->i = ENDIANNESS_BIG; break;
|
||||
case DEVINFO_INT_ENDIANNESS: info->i = ENDIANNESS_BIG; break;
|
||||
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;
|
||||
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 1; break;
|
||||
case CPUINFO_INT_MIN_INSTRUCTION_BYTES: info->i = 2; break;
|
||||
@ -895,11 +895,11 @@ CPU_GET_INFO( unsp )
|
||||
case CPUINFO_PTR_INSTRUCTION_COUNTER: info->icount = &unsp->icount; break;
|
||||
|
||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "u'nSP"); break;
|
||||
case DEVINFO_STR_FAMILY: strcpy(info->s, "u'nSP"); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "u'nSP"); break;
|
||||
case DEVINFO_STR_FAMILY: strcpy(info->s, "u'nSP"); break;
|
||||
case DEVINFO_STR_VERSION: strcpy(info->s, "1.0"); break;
|
||||
case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
|
||||
case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
|
||||
case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
|
||||
|
||||
case CPUINFO_STR_FLAGS: strcpy(info->s, " "); break;
|
||||
|
||||
|
@ -1978,7 +1978,7 @@ int symtable_add(symbol_table *table, const char *name, const symbol_entry *entr
|
||||
int strindex;
|
||||
int all_digits, i;
|
||||
|
||||
// assert_always(entry->table == table, "Mismatched symbol tables");
|
||||
// assert_always(entry->table == table, "Mismatched symbol tables");
|
||||
|
||||
/* we cannot add numeric symbols */
|
||||
all_digits = TRUE;
|
||||
@ -1990,7 +1990,7 @@ int symtable_add(symbol_table *table, const char *name, const symbol_entry *entr
|
||||
break;
|
||||
}
|
||||
}
|
||||
// assert_always(!all_digits, "All-digit symbols are not allowed");
|
||||
// assert_always(!all_digits, "All-digit symbols are not allowed");
|
||||
|
||||
/* see if we already have an entry and just overwrite it if we do */
|
||||
oldentry = (symbol_entry *)symtable_find(table, name);
|
||||
|
@ -357,7 +357,7 @@ public:
|
||||
struct device_list
|
||||
{
|
||||
device_config * head; /* head of the list */
|
||||
tagmap_t<device_config *> map; /* map for fast lookups */
|
||||
tagmap_t<device_config *> map; /* map for fast lookups */
|
||||
};
|
||||
|
||||
|
||||
|
@ -168,7 +168,7 @@ private:
|
||||
#define pool_alloc(_pool, _type) (_pool).add_object(new(__FILE__, __LINE__) _type)
|
||||
#define pool_alloc_clear(_pool, _type) (_pool).add_object(new(__FILE__, __LINE__, zeromem) _type)
|
||||
#define pool_alloc_array(_pool, _type, _num) (_pool).add_array(new(__FILE__, __LINE__) _type[_num], (_num))
|
||||
#define pool_alloc_array_clear(_pool, _type, _num) (_pool).add_array(new(__FILE__, __LINE__, zeromem) _type[_num], (_num))
|
||||
#define pool_alloc_array_clear(_pool, _type, _num) (_pool).add_array(new(__FILE__, __LINE__, zeromem) _type[_num], (_num))
|
||||
#define pool_free(_pool, v) (_pool).remove(v)
|
||||
|
||||
// global allocation helpers
|
||||
|
@ -339,7 +339,7 @@ struct _memory_private
|
||||
|
||||
memory_block * memory_block_list; /* head of the list of memory blocks */
|
||||
|
||||
tagmap_t<bank_info *> bankmap; /* map for fast bank lookups */
|
||||
tagmap_t<bank_info *> bankmap; /* map for fast bank lookups */
|
||||
bank_info * banklist; /* data gathered for each bank */
|
||||
UINT8 banknext; /* next bank to allocate */
|
||||
|
||||
@ -1204,8 +1204,8 @@ void memory_set_bankptr(running_machine *machine, const char *tag, void *base)
|
||||
fatalerror("memory_set_bankptr called for unknown bank '%s'", tag);
|
||||
if (base == NULL)
|
||||
fatalerror("memory_set_bankptr called NULL base");
|
||||
// if (ALLOW_ONLY_AUTO_MALLOC_BANKS)
|
||||
// validate_auto_malloc_memory(base, bank->byteend - bank->bytestart + 1);
|
||||
// if (ALLOW_ONLY_AUTO_MALLOC_BANKS)
|
||||
// validate_auto_malloc_memory(base, bank->byteend - bank->bytestart + 1);
|
||||
|
||||
/* set the base */
|
||||
memdata->bank_ptr[bank->index] = (UINT8 *)base;
|
||||
|
@ -126,7 +126,7 @@ e0033 45 01 mov al,1
|
||||
e0035 49 d3 06 mov [6d3],al
|
||||
|
||||
0089 call 2a9d e0038 call e30a2
|
||||
2a9d ld hl,d0b3 e30a2 premov bw,[04a6] (1e -> bb)
|
||||
2a9d ld hl,d0b3 e30a2 premov bw,[04a6] (1e -> bb)
|
||||
2aa0 inc (hl) e30a5 inc b ptr[bw]
|
||||
2aa1 inc hl e30a8 inc bw
|
||||
2aa2 inc (hl) e30a9 inc b ptr[bw]
|
||||
@ -138,14 +138,14 @@ e0035 49 d3 06 mov [6d3],al
|
||||
0c52 or a,a e003e and al,al
|
||||
0c53 ret nz e0040 be e0083
|
||||
0c54 ld hl,d461 .
|
||||
0c57 ld a,(d476) e0042 mov aw,[4b9] (68 -> a1)
|
||||
0c57 ld a,(d476) e0042 mov aw,[4b9] (68 -> a1)
|
||||
0c5a or a e0045 and aw,aw
|
||||
0c5b jr nz,0c6d e0047 be e0083
|
||||
0c5d ld a,(hl) .
|
||||
0c5e or a e0049 and al,al
|
||||
0c5f jr nz,0c71 e004b be e0054
|
||||
0c61 inc hl e004d dec al
|
||||
0c62 inc (hl) e004f mov [4b9],aw (4c -> a3)
|
||||
0c62 inc (hl) e004f mov [4b9],aw (4c -> a3)
|
||||
0c63 ld a,(hl) .
|
||||
. e0052 br e0083
|
||||
. e0054 and ah,ah
|
||||
|
@ -535,7 +535,7 @@ static WRITE16_HANDLER( io_w )
|
||||
// This seems to only be written after each irq1 and irq2, irq ack?
|
||||
//logerror("irq wrote %04x\n", data);
|
||||
//else
|
||||
// LOG_UNKNOWN_WRITE
|
||||
// LOG_UNKNOWN_WRITE
|
||||
break;
|
||||
|
||||
case 0xd4/2:
|
||||
|
@ -171,7 +171,7 @@ static ADDRESS_MAP_START( begas_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1002, 0x1002) AM_READ(test_r)
|
||||
AM_RANGE(0x1003, 0x1003) AM_READ(test_r)
|
||||
AM_RANGE(0x1001, 0x1001) AM_WRITENOP //???
|
||||
// AM_RANGE(0x1003, 0x1003) AM_READ_PORT("IN0")
|
||||
// AM_RANGE(0x1003, 0x1003) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1003, 0x1003) AM_WRITE(rblaster_vram_bank_w) //might be 1001
|
||||
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
|
||||
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
|
||||
|
@ -154,16 +154,16 @@ Dumped by Grull Osgo
|
||||
|
||||
Location Device File ID Checksum
|
||||
----------------------------------------
|
||||
CPU 10A 27C128 a1.bin 9f26 [ CPU ROM ]
|
||||
CPU 10A 27C128 a1.bin 9f26 [ CPU ROM ]
|
||||
|
||||
CPU 6H 27C128 a2.bin 7ccc [ Character ]
|
||||
CPU 6K 27C128 a3.bin ba34 [ Character ]
|
||||
CPU 6H 27C128 a2.bin 7ccc [ Character ]
|
||||
CPU 6K 27C128 a3.bin ba34 [ Character ]
|
||||
|
||||
LDP O7 27c128 a4.bin 2120 [ LDP Ctrl ] (Add-On Board "7-50A" on O7-O9-010 IC Sockets)
|
||||
|
||||
|
||||
Notes: CPU - Main Board includes NTSC decoder, video Switch & Audio control.
|
||||
No Model or Serial number on PCB.
|
||||
Notes: CPU - Main Board includes NTSC decoder, video Switch & Audio control.
|
||||
No Model or Serial number on PCB.
|
||||
Uses a Pioneer LD-V2000 Laserdisc player.
|
||||
The laserdisc player is modified - has a custom communication & audio cable (10 Wires Flat Cable).
|
||||
|
||||
@ -191,18 +191,18 @@ Disk 1
|
||||
------
|
||||
Sticker:
|
||||
|
||||
09-251 A
|
||||
09-251 A
|
||||
|
||||
HORSE RACE I
|
||||
HORSE RACE I
|
||||
|
||||
QUARTER HORSE
|
||||
QUARTER HORSE
|
||||
|
||||
(C) 1981 DALE FRANK RODESCH
|
||||
SAN DIEGO, CA USA
|
||||
(C) 1981 DALE FRANK RODESCH
|
||||
SAN DIEGO, CA USA
|
||||
|
||||
Stamp on disk:
|
||||
|
||||
09-251A1-15
|
||||
09-251A1-15
|
||||
|
||||
|
||||
|
||||
@ -211,37 +211,37 @@ Disk 2
|
||||
Sticker:
|
||||
|
||||
|
||||
09251 1
|
||||
09251 1
|
||||
|
||||
QUARTER HORSE
|
||||
QUARTER HORSE
|
||||
|
||||
VIDEO DISK
|
||||
VIDEO DISK
|
||||
|
||||
(C) 1981 DALE FRANK RODESCH
|
||||
(C) 1981 DALE FRANK RODESCH
|
||||
|
||||
|
||||
Stamp on disk:
|
||||
|
||||
09-251A1-01
|
||||
09-251A1-01
|
||||
|
||||
09-251 A
|
||||
09-251 A
|
||||
|
||||
|
||||
Disk 1
|
||||
------
|
||||
Sticker:
|
||||
|
||||
09-251 A
|
||||
09-251 A
|
||||
|
||||
HORSE RACE I
|
||||
HORSE RACE I
|
||||
|
||||
QUARTER HORSE
|
||||
QUARTER HORSE
|
||||
|
||||
(C) 1981 DALE FRANK RODESCH
|
||||
(C) 1981 DALE FRANK RODESCH
|
||||
|
||||
Stamp on disk:
|
||||
|
||||
09-251A1-06
|
||||
09-251A1-06
|
||||
|
||||
|
||||
|
||||
@ -1061,7 +1061,7 @@ ROM_START( quarterhb )
|
||||
/* ??? colors */
|
||||
ROM_LOAD( "3a_50-1381_63s080n.bin",0x00, 0x20, CRC(451d0a72) SHA1(9ff6e2c5bd2b57bd607cb33e60e7ed25bea164b3) )
|
||||
/* memory map */
|
||||
// ROM_LOAD( "7h_7602.bin",0x20, 0x20, BAD_DUMP CRC(451d0a72) SHA1(9ff6e2c5bd2b57bd607cb33e60e7ed25bea164b3) )
|
||||
// ROM_LOAD( "7h_7602.bin",0x20, 0x20, BAD_DUMP CRC(451d0a72) SHA1(9ff6e2c5bd2b57bd607cb33e60e7ed25bea164b3) )
|
||||
ROM_LOAD( "7h_bprom.bin",0x20, 0x20, BAD_DUMP CRC(c9618de2) SHA1(d5636546dbc57e6aab01dab79b2ead1dfef8fa5c) ) //taken from the other set, might be bad
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
|
@ -168,15 +168,15 @@ static WRITE8_HANDLER( gunpey_blitter_w )
|
||||
|
||||
static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x00000, 0x0ffff) AM_RAM
|
||||
// AM_RANGE(0x50000, 0x500ff) AM_RAM
|
||||
// AM_RANGE(0x50100, 0x502ff) AM_NOP
|
||||
// AM_RANGE(0x50000, 0x500ff) AM_RAM
|
||||
// AM_RANGE(0x50100, 0x502ff) AM_NOP
|
||||
AM_RANGE(0x80000, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 16 )
|
||||
AM_RANGE(0x7f40, 0x7f45) AM_READ8(gunpey_inputs_r,0xffff)
|
||||
|
||||
// AM_RANGE(0x7f48, 0x7f48) AM_WRITE(output_w)
|
||||
// AM_RANGE(0x7f48, 0x7f48) AM_WRITE(output_w)
|
||||
AM_RANGE(0x7f80, 0x7f81) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0xffff)
|
||||
|
||||
AM_RANGE(0x7f88, 0x7f89) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
|
||||
|
@ -2361,5 +2361,5 @@ GAME( 1998, xrally, hng64, hng64, hng64, hng64_race, ROT0, "SNK", "Xtreme R
|
||||
GAME( 1998, bbust2, hng64, hng64, bbust2, hng64_shoot, ROT0, "SNK", "Beast Busters 2nd Nightmare", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 004 */
|
||||
GAME( 1998, sams64_2, hng64, hng64, hng64, ss64, ROT0, "SNK", "Samurai Shodown: Warrior's Rage / Samurai Spirits 2: Asura Zanmaden", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 005 */
|
||||
GAME( 1998, fatfurwa, hng64, hng64, hng64, fatfurwa, ROT0, "SNK", "Fatal Fury: Wild Ambition (rev.A)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 006 */
|
||||
GAME( 1999, buriki, hng64, hng64, hng64, fatfurwa, ROT0, "SNK", "Buriki One (rev.B)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 007 */
|
||||
GAME( 1999, buriki, hng64, hng64, hng64, fatfurwa, ROT0, "SNK", "Buriki One (rev.B)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 007 */
|
||||
|
||||
|
@ -287,7 +287,7 @@ static VIDEO_UPDATE( metalmx )
|
||||
/* TODO: TMS34020 should take care of this */
|
||||
metalmx_state *state = (metalmx_state *)screen->machine->driver_data;
|
||||
|
||||
// UINT32 *src_base = &gsp_vram[(vreg_base[0x40/4] & 0x40) ? 0x20000 : 0];
|
||||
// UINT32 *src_base = &gsp_vram[(vreg_base[0x40/4] & 0x40) ? 0x20000 : 0];
|
||||
UINT16 *src_base = state->gsp_vram;
|
||||
int y;
|
||||
|
||||
|
@ -86,9 +86,9 @@ static VIDEO_UPDATE(monzagp)
|
||||
for(y=0;y<256;y++)
|
||||
{
|
||||
for(x=0;x<256;x++)
|
||||
{
|
||||
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[bank&1],
|
||||
vram[y*screenw+x],
|
||||
{
|
||||
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[bank&1],
|
||||
vram[y*screenw+x],
|
||||
//(vram[y*screenw+x]&0x3f)+(bank>>1)*64,
|
||||
0,
|
||||
0, 0,
|
||||
@ -116,8 +116,8 @@ static WRITE8_HANDLER(port_w)
|
||||
//vram[coordy*screenw+coordx]=data;
|
||||
//if(output==0xfe)
|
||||
{
|
||||
// if(data>='A' && data <='Z')
|
||||
// printf("%.2x %.2x %c %c\n",coordy, offset,data, znaki[data-'A']);
|
||||
// if(data>='A' && data <='Z')
|
||||
// printf("%.2x %.2x %c %c\n",coordy, offset,data, znaki[data-'A']);
|
||||
//vram[coordy*screenw+coordx]=data;
|
||||
vram[(coordx*256+coordy)&0x7ff]=data;
|
||||
}
|
||||
@ -187,16 +187,16 @@ static WRITE8_HANDLER(port3_w)
|
||||
/*
|
||||
|
||||
|
||||
#define I8039_p0 0x100
|
||||
#define I8039_p1 0x101
|
||||
#define I8039_p2 0x102
|
||||
#define I8039_p4 0x104
|
||||
#define I8039_p5 0x105
|
||||
#define I8039_p6 0x106
|
||||
#define I8039_p7 0x107
|
||||
#define I8039_t0 0x110
|
||||
#define I8039_t1 0x111
|
||||
#define I8039_bus 0x120
|
||||
#define I8039_p0 0x100
|
||||
#define I8039_p1 0x101
|
||||
#define I8039_p2 0x102
|
||||
#define I8039_p4 0x104
|
||||
#define I8039_p5 0x105
|
||||
#define I8039_p6 0x106
|
||||
#define I8039_p7 0x107
|
||||
#define I8039_t0 0x110
|
||||
#define I8039_t1 0x111
|
||||
#define I8039_bus 0x120
|
||||
*/
|
||||
|
||||
static ADDRESS_MAP_START( monzagp_io, ADDRESS_SPACE_IO, 8 )
|
||||
@ -276,11 +276,11 @@ ROM_START( monzagp )
|
||||
ROM_LOAD( "8.1f", 0x1400, 0x0400, CRC(99ce2753) SHA1(f4540700ea909ba1be34ac2c33dafd8ec67a2bb7) )
|
||||
|
||||
ROM_REGION( 0x10000, "unk1", 0 )
|
||||
ROM_LOAD( "1.9c", 0x0000, 0x0400, CRC(005d5fed) SHA1(145a860751ef7d99129b7242aacac7a4e1e14a51) )
|
||||
ROM_LOAD( "2", 0x0400, 0x0400, NO_DUMP )
|
||||
ROM_LOAD( "3.12f", 0x0800, 0x0400, CRC(e5591074) SHA1(ac756ee605d932d7c1c3eddbe2b9c6f78dad6ce8) )
|
||||
ROM_LOAD( "4.10f", 0x0c00, 0x0400, CRC(a426a371) SHA1(d6023bebf6924d1820e631ee53896100e5b256a5) )
|
||||
ROM_LOAD( "5.9f", 0x1000, 0x0400, CRC(5abd1ef6) SHA1(1bc79225c1be2821930fdb8e821a70c7ac8683ab) )
|
||||
ROM_LOAD( "1.9c", 0x0000, 0x0400, CRC(005d5fed) SHA1(145a860751ef7d99129b7242aacac7a4e1e14a51) )
|
||||
ROM_LOAD( "2", 0x0400, 0x0400, NO_DUMP )
|
||||
ROM_LOAD( "3.12f", 0x0800, 0x0400, CRC(e5591074) SHA1(ac756ee605d932d7c1c3eddbe2b9c6f78dad6ce8) )
|
||||
ROM_LOAD( "4.10f", 0x0c00, 0x0400, CRC(a426a371) SHA1(d6023bebf6924d1820e631ee53896100e5b256a5) )
|
||||
ROM_LOAD( "5.9f", 0x1000, 0x0400, CRC(5abd1ef6) SHA1(1bc79225c1be2821930fdb8e821a70c7ac8683ab) )
|
||||
|
||||
ROM_REGION( 0x0700, "proms", 0 )
|
||||
ROM_LOAD( "63s140.1", 0x0000, 0x0100, CRC(5123c83e) SHA1(d8ff06af421d3dae65bc9b0a081ed56249ef61ab) )
|
||||
|
@ -38,7 +38,7 @@
|
||||
Multi Game 2 & III: 21 games included, hardware features MMC3 NES mapper and additional
|
||||
RAM used by Super Mario Bros 3.
|
||||
|
||||
Multi Game (Tung Sheng Electronics): 10 games included, selectable by dip switches.
|
||||
Multi Game (Tung Sheng Electronics): 10 games included, selectable by dip switches.
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -471,7 +471,7 @@ P1KEY11 29|30 P2KEY11
|
||||
KEY4 = 0x8000, // JAMMA P1 Up
|
||||
KEY5 = 0x4000, // JAMMA P1 Down
|
||||
KEY6 = 0x0010, // JAMMA P2 Left
|
||||
// KEY7
|
||||
// KEY7
|
||||
KEY8 = 0x1000, // JAMMA P1 Left
|
||||
KEY9 = 0x2000, // JAMMA P1 Right
|
||||
KEY10 = 0x0020, // JAMMA P2 Right
|
||||
@ -774,7 +774,7 @@ static INPUT_PORTS_START( mjgtaste )
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_MAHJONG_RON ) PORT_PLAYER(1)
|
||||
// PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_START1 ) /* start on panel, hacked in from the regular one to avoid duplicates in the UI */
|
||||
// PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_START1 ) /* start on panel, hacked in from the regular one to avoid duplicates in the UI */
|
||||
|
||||
PORT_START("JP4") /* jumper pads on the PCB */
|
||||
// PORT_DIPNAME( 0x03000000, 0x01000000, DEF_STR( Region ) )
|
||||
|
@ -6702,9 +6702,9 @@ static const gfx_layout superbar_layout =
|
||||
{ 0,1,2,3,4,5,6,7,
|
||||
64,65,66,67,68,69,70,71 },
|
||||
{ 0*8, 2*8, 16*8, 18*8,
|
||||
1*8, 3*8, 17*8, 19*8,
|
||||
1*8, 3*8, 17*8, 19*8,
|
||||
4*8, 6*8, 20*8, 22*8,
|
||||
5*8, 7*8, 21*8, 23*8 },
|
||||
5*8, 7*8, 21*8, 23*8 },
|
||||
16*16
|
||||
};
|
||||
|
||||
|
@ -859,40 +859,40 @@ ROM_START( sureshot )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
Etched in copper on back COPYRIGHT SMS 1983
|
||||
mfg corp
|
||||
S/N A-872 A-872 was etched
|
||||
MADE IN USA
|
||||
Etched in copper on back COPYRIGHT SMS 1983
|
||||
mfg corp
|
||||
S/N A-872 A-872 was etched
|
||||
MADE IN USA
|
||||
|
||||
Etched in copper on front REV 03
|
||||
Etched in copper on front REV 03
|
||||
|
||||
Silkscreened on top P/N 1001
|
||||
Silkscreened on top P/N 1001
|
||||
|
||||
|
||||
.16 2764 handwritten sticker U16
|
||||
.17 2764 handwritten sticker U17
|
||||
.18 2764 handwritten sticker U18
|
||||
.19 2764 handwritten sticker U19
|
||||
.26 2732 handwritten sticker #26
|
||||
.32 pal10l8 green dot sticker with 32 written on it
|
||||
.52 pal10l8 blue dot sticker with 52 written on it
|
||||
.58 pal10l8 3 blue dot stickers with 58 written on one
|
||||
.40 pal10l8 red dot sticker with 40 written on it
|
||||
.39 pal10l8 3 green dot stickers with 39 written on one
|
||||
.38 pal10l8 3 blue dot stickers with 38 written on one
|
||||
.80 pal10l8 2 blue dot stickers with 80 written on one
|
||||
.94 pal14h4 2 green dot stickers with 94 written on one - was getting different values for each read
|
||||
.109 pal14h4 2 brown dot stickers with 109 written on one
|
||||
.110 pal10l8 2 red dot stickers with 110 written on one
|
||||
.128 pal10h8 1 blue, 1 brown, and another blue dot sticker with 128 written on the first blue one
|
||||
.129 pal10h8 1 green and 1 red dot sticker
|
||||
.130 pal10h8 3 red dot stickers with 130 written on one
|
||||
.140 pal14h4 1 brown sticker with 140 written on it
|
||||
.141 pal14h4 1 brown sticker with 141 written on it
|
||||
.142 pal14h4 1 brown sticker with 142 written on it
|
||||
.143 pal14h4 1 brown sticker with 143 written on it
|
||||
.144 pal14h4 1 brown sticker with 144 written on it
|
||||
.145 pal14h4 1 brown sticker with 145 written on it
|
||||
.16 2764 handwritten sticker U16
|
||||
.17 2764 handwritten sticker U17
|
||||
.18 2764 handwritten sticker U18
|
||||
.19 2764 handwritten sticker U19
|
||||
.26 2732 handwritten sticker #26
|
||||
.32 pal10l8 green dot sticker with 32 written on it
|
||||
.52 pal10l8 blue dot sticker with 52 written on it
|
||||
.58 pal10l8 3 blue dot stickers with 58 written on one
|
||||
.40 pal10l8 red dot sticker with 40 written on it
|
||||
.39 pal10l8 3 green dot stickers with 39 written on one
|
||||
.38 pal10l8 3 blue dot stickers with 38 written on one
|
||||
.80 pal10l8 2 blue dot stickers with 80 written on one
|
||||
.94 pal14h4 2 green dot stickers with 94 written on one - was getting different values for each read
|
||||
.109 pal14h4 2 brown dot stickers with 109 written on one
|
||||
.110 pal10l8 2 red dot stickers with 110 written on one
|
||||
.128 pal10h8 1 blue, 1 brown, and another blue dot sticker with 128 written on the first blue one
|
||||
.129 pal10h8 1 green and 1 red dot sticker
|
||||
.130 pal10h8 3 red dot stickers with 130 written on one
|
||||
.140 pal14h4 1 brown sticker with 140 written on it
|
||||
.141 pal14h4 1 brown sticker with 141 written on it
|
||||
.142 pal14h4 1 brown sticker with 142 written on it
|
||||
.143 pal14h4 1 brown sticker with 143 written on it
|
||||
.144 pal14h4 1 brown sticker with 144 written on it
|
||||
.145 pal14h4 1 brown sticker with 145 written on it
|
||||
*/
|
||||
|
||||
ROM_START( secondch )
|
||||
|
@ -299,7 +299,7 @@ static ADDRESS_MAP_START( atamanot_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x08ff) AM_WRITE(ssingles_colorram_w)
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||
// AM_RANGE(0x6000, 0x60ff) AM_RAM //kanji tilemap?
|
||||
// AM_RANGE(0x6000, 0x60ff) AM_RAM //kanji tilemap?
|
||||
AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("question",0)
|
||||
AM_RANGE(0x8000, 0x9fff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc000) AM_READ( c000_r )
|
||||
@ -451,33 +451,33 @@ atamanot kanji gfx decoding:
|
||||
|
||||
static const gfx_layout layout_16x16 =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7,
|
||||
RGN_FRAC(1,4)+0, RGN_FRAC(1,4)+1, RGN_FRAC(1,4)+2, RGN_FRAC(1,4)+3, RGN_FRAC(1,4)+4, RGN_FRAC(1,4)+5, RGN_FRAC(1,4)+6, RGN_FRAC(1,4)+7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
RGN_FRAC(2,4)+0*8, RGN_FRAC(2,4)+1*8, RGN_FRAC(2,4)+2*8, RGN_FRAC(2,4)+3*8, RGN_FRAC(2,4)+4*8, RGN_FRAC(2,4)+5*8, RGN_FRAC(2,4)+6*8, RGN_FRAC(2,4)+7*8 },
|
||||
8*8
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7,
|
||||
RGN_FRAC(1,4)+0, RGN_FRAC(1,4)+1, RGN_FRAC(1,4)+2, RGN_FRAC(1,4)+3, RGN_FRAC(1,4)+4, RGN_FRAC(1,4)+5, RGN_FRAC(1,4)+6, RGN_FRAC(1,4)+7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
RGN_FRAC(2,4)+0*8, RGN_FRAC(2,4)+1*8, RGN_FRAC(2,4)+2*8, RGN_FRAC(2,4)+3*8, RGN_FRAC(2,4)+4*8, RGN_FRAC(2,4)+5*8, RGN_FRAC(2,4)+6*8, RGN_FRAC(2,4)+7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout layout_8x16 =
|
||||
{
|
||||
8,16,
|
||||
RGN_FRAC(1,2),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
RGN_FRAC(2,4)+0*8, RGN_FRAC(2,4)+1*8, RGN_FRAC(2,4)+2*8, RGN_FRAC(2,4)+3*8, RGN_FRAC(2,4)+4*8, RGN_FRAC(2,4)+5*8, RGN_FRAC(2,4)+6*8, RGN_FRAC(2,4)+7*8 },
|
||||
8*8
|
||||
8,16,
|
||||
RGN_FRAC(1,2),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
RGN_FRAC(2,4)+0*8, RGN_FRAC(2,4)+1*8, RGN_FRAC(2,4)+2*8, RGN_FRAC(2,4)+3*8, RGN_FRAC(2,4)+4*8, RGN_FRAC(2,4)+5*8, RGN_FRAC(2,4)+6*8, RGN_FRAC(2,4)+7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
GFXDECODE_ENTRY( "kanji", 0, layout_16x16, 0, 8 )
|
||||
GFXDECODE_ENTRY( "kanji_uc", 0, layout_8x16, 0, 8 )
|
||||
GFXDECODE_ENTRY( "kanji_lc", 0, layout_8x16, 0, 8 )
|
||||
GFXDECODE_ENTRY( "kanji", 0, layout_16x16, 0, 8 )
|
||||
GFXDECODE_ENTRY( "kanji_uc", 0, layout_8x16, 0, 8 )
|
||||
GFXDECODE_ENTRY( "kanji_lc", 0, layout_8x16, 0, 8 )
|
||||
|
||||
It looks "stolen" from an unknown Japanese computer?
|
||||
*/
|
||||
|
@ -699,7 +699,7 @@ static WRITE16_HANDLER( driveout_sound_command_w )
|
||||
|
||||
static WRITE16_HANDLER( cchip2_word_w )
|
||||
{
|
||||
taitof2_state *state = (taitof2_state *)space->machine->driver_data;
|
||||
taitof2_state *state = (taitof2_state *)space->machine->driver_data;
|
||||
|
||||
logerror("cchip2_w pc: %06x offset %04x: %02x\n", cpu_get_pc(space->cpu), offset, data);
|
||||
|
||||
@ -708,7 +708,7 @@ static WRITE16_HANDLER( cchip2_word_w )
|
||||
|
||||
static READ16_HANDLER( cchip2_word_r )
|
||||
{
|
||||
taitof2_state *state = (taitof2_state *)space->machine->driver_data;
|
||||
taitof2_state *state = (taitof2_state *)space->machine->driver_data;
|
||||
|
||||
/* C-Chip ID */
|
||||
if (offset == 0x401)
|
||||
|
@ -1447,7 +1447,7 @@ static READ16_HANDLER( taitoz_msb_sound_r )
|
||||
/**** sound pan control ****/
|
||||
static WRITE8_HANDLER( taitoz_pancontrol )
|
||||
{
|
||||
// taitoz_state *state = (taitoz_state *)space->machine->driver_data;
|
||||
// taitoz_state *state = (taitoz_state *)space->machine->driver_data;
|
||||
static const char *const fltname[] = { "2610.1.r", "2610.1.l", "2610.2.r", "2610.2.l" };
|
||||
|
||||
offset = offset & 3;
|
||||
|
@ -64,7 +64,7 @@ ROM_START( vega )
|
||||
ROM_LOAD( "rom7.bin", 0x0000, 0x0800, CRC(1de564cd) SHA1(7408cd29f1afc111aa695ecb00160d8f7fba7532) )
|
||||
ROM_LOAD( "rom8.bin", 0x0000, 0x0800, CRC(ccb8598c) SHA1(8c4a702f0653bb189db7d8ac4c2a06aacecc0de0) )
|
||||
ROM_LOAD( "rom9.bin", 0x0000, 0x0800, CRC(191c73cd) SHA1(17b1c3790f82b276e55d25ea8a38a3c9cf20bf12) )
|
||||
//ROM_LOAD( "rom10.bin", 0x0000, 0x1000, CRC(c7659222) SHA1(86df4f4afe5bfd0b67239353a344724405c32fed) ) // 1ST AND 2ND HALF IDENTICAL
|
||||
//ROM_LOAD( "rom10.bin", 0x0000, 0x1000, CRC(c7659222) SHA1(86df4f4afe5bfd0b67239353a344724405c32fed) ) // 1ST AND 2ND HALF IDENTICAL
|
||||
ROM_LOAD( "rom10a.bin", 0x0000, 0x1000, CRC(fca9a570) SHA1(598772db11b32518ed6bf5155a19f4f1761a4831) ) // if you convert the ascii dump there is different data in the 2nd half unlike the above dump (it also appears in the ascii dumps of 11/12 too tho)
|
||||
ROM_LOAD( "rom11.bin", 0x0000, 0x0800, CRC(d1896f77) SHA1(5b80bf7aa81508edfae4fa583b4b0077575a300c) )
|
||||
ROM_LOAD( "rom12.bin", 0x0000, 0x0800, CRC(f5f1df2f) SHA1(5851b468702e5e4f085b64afbe7d8b797bb109b5) )
|
||||
|
@ -8,7 +8,7 @@ typedef struct _asuka_state asuka_state;
|
||||
struct _asuka_state
|
||||
{
|
||||
/* memory pointers */
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
|
||||
/* video-related */
|
||||
UINT16 video_ctrl;
|
||||
|
@ -18,8 +18,8 @@ struct _gijoe_state
|
||||
int avac_vrc, sprite_colorbase;
|
||||
|
||||
/* misc */
|
||||
UINT16 cur_control2;
|
||||
emu_timer *dmadelay_timer;
|
||||
UINT16 cur_control2;
|
||||
emu_timer *dmadelay_timer;
|
||||
|
||||
/* devices */
|
||||
const device_config *maincpu;
|
||||
|
@ -8,7 +8,7 @@ typedef struct _rastan_state rastan_state;
|
||||
struct _rastan_state
|
||||
{
|
||||
/* memory pointers */
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
|
||||
/* video-related */
|
||||
UINT16 sprite_ctrl;
|
||||
|
@ -5,7 +5,7 @@ struct _taitob_state
|
||||
/* memory pointers */
|
||||
UINT16 * spriteram;
|
||||
UINT16 * pixelram;
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
|
||||
/* video-related */
|
||||
/* framebuffer is a raw bitmap, remapped as a last step */
|
||||
|
@ -27,7 +27,7 @@ struct _taitof2_state
|
||||
int sprite_type;
|
||||
|
||||
UINT16 spritebank[8];
|
||||
// UINT16 spritebank_eof[8];
|
||||
// UINT16 spritebank_eof[8];
|
||||
UINT16 spritebank_buffered[8];
|
||||
|
||||
INT32 sprites_disabled, sprites_active_area, sprites_master_scrollx, sprites_master_scrolly;
|
||||
|
@ -10,7 +10,7 @@ struct _volfied_state
|
||||
/* memory pointers */
|
||||
UINT16 * video_ram;
|
||||
UINT8 * cchip_ram;
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
// UINT16 * paletteram; // this currently uses generic palette handlers
|
||||
|
||||
/* video-related */
|
||||
UINT16 video_ctrl;
|
||||
|
@ -1763,6 +1763,6 @@ void cave_get_sprite_info( running_machine *machine )
|
||||
static STATE_POSTLOAD( cave_sprite_postload )
|
||||
{
|
||||
/* FIXME: this is probably not enough to restore sprites, but anyway saves do not
|
||||
currently work due to pending timers hence it is hard to test what is missing */
|
||||
currently work due to pending timers hence it is hard to test what is missing */
|
||||
cave_get_sprite_info(machine);
|
||||
}
|
||||
|
@ -2050,7 +2050,7 @@ void recoverPolygonBlock(running_machine* machine, const UINT16* packet, struct
|
||||
|
||||
// Debug - Colors polygons with certain flags bright blue! ajg
|
||||
//if (chunkOffset[2] & 0x00f0)
|
||||
// polys[*numPolys].debugColor = 0xff0000ff;
|
||||
// polys[*numPolys].debugColor = 0xff0000ff;
|
||||
|
||||
// Debug - ajg
|
||||
//printf("%d (%08x) : %04x %04x %04x ", k, address[k]*3*2, chunkOffset[0], chunkOffset[1], chunkOffset[2]);
|
||||
|
@ -370,7 +370,7 @@ VIDEO_UPDATE( taitoair )
|
||||
if (state->line_ram[0x3fff])
|
||||
{
|
||||
int adr = 0x3fff;
|
||||
// struct taitoair_poly q;
|
||||
// struct taitoair_poly q;
|
||||
|
||||
while (adr >= 0 && state->line_ram[adr] && state->line_ram[adr] != 0x4000)
|
||||
{
|
||||
|
@ -102,7 +102,7 @@ static void debugwin_show(int show)
|
||||
void (*f)(GtkWidget *widget) = show ? gtk_widget_show : gtk_widget_hide;
|
||||
if(dmain) {
|
||||
f(dmain->win);
|
||||
// dview_set_updatable(dmain->console_w, show);
|
||||
// dview_set_updatable(dmain->console_w, show);
|
||||
}
|
||||
for(p1 = memorywin_list; p1; p1 = p1->next)
|
||||
f(p1->win);
|
||||
@ -375,7 +375,7 @@ static void debugmain_init(running_machine *machine)
|
||||
|
||||
debug_view_begin_update(dmain->disasm);
|
||||
disasm_view_set_expression(dmain->disasm, "curpc");
|
||||
// debug_view_set_property_UINT32(dmain->disasm, DVP_DASM_TRACK_LIVE, 1);
|
||||
// debug_view_set_property_UINT32(dmain->disasm, DVP_DASM_TRACK_LIVE, 1);
|
||||
debug_view_end_update(dmain->disasm);
|
||||
|
||||
g_signal_connect(dmain->win, "destroy", G_CALLBACK(debugmain_destroy), dmain);
|
||||
@ -587,7 +587,7 @@ static void disasmwin_new(running_machine *machine)
|
||||
|
||||
debug_view_begin_update(dis->disasm);
|
||||
disasm_view_set_expression(dis->disasm, "curpc");
|
||||
// debug_view_set_property_UINT32(dis->disasm, DVP_DASM_TRACK_LIVE, 1);
|
||||
// debug_view_set_property_UINT32(dis->disasm, DVP_DASM_TRACK_LIVE, 1);
|
||||
debug_view_end_update(dis->disasm);
|
||||
|
||||
// populate the combobox
|
||||
@ -613,7 +613,7 @@ static void disasmwin_new(running_machine *machine)
|
||||
g_signal_connect(lookup_widget(dis->win, "enc_opcodes"), "activate", G_CALLBACK(disasmwin_enc_opcodes_activate), dis);
|
||||
g_signal_connect(lookup_widget(dis->win, "comments"), "activate", G_CALLBACK(disasmwin_comments_activate), dis);
|
||||
|
||||
// g_signal_connect(dis->edit_w, "activate", G_CALLBACK(disasmwin_process_string), dis);
|
||||
// g_signal_connect(dis->edit_w, "activate", G_CALLBACK(disasmwin_process_string), dis);
|
||||
g_signal_connect(dis->win, "destroy", G_CALLBACK(disasmwin_destroy), dis);
|
||||
gtk_widget_show_all(dis->win);
|
||||
}
|
||||
|
@ -124,12 +124,12 @@ struct _texture_info
|
||||
typedef struct _sdl_info sdl_info;
|
||||
struct _sdl_info
|
||||
{
|
||||
INT32 blittimer;
|
||||
INT32 blittimer;
|
||||
UINT32 extra_flags;
|
||||
|
||||
texture_info * texlist; // list of active textures
|
||||
INT32 texture_max_width; // texture maximum width
|
||||
INT32 texture_max_height; // texture maximum height
|
||||
INT32 texture_max_width; // texture maximum width
|
||||
INT32 texture_max_height; // texture maximum height
|
||||
|
||||
float last_hofs;
|
||||
float last_vofs;
|
||||
@ -189,78 +189,78 @@ static texture_info * texture_update(sdl_window_info *window, const render_primi
|
||||
static copy_info blit_info_default[] =
|
||||
{
|
||||
/* no rotation */
|
||||
ENTRY(ARGB32, ARGB8888, 4, 0, NULL),
|
||||
ENTRY_LR(ARGB32, RGB888, 4, 0, argb32_rgb32),
|
||||
ENTRY(ARGB32, ARGB8888, 4, 0, NULL),
|
||||
ENTRY_LR(ARGB32, RGB888, 4, 0, argb32_rgb32),
|
||||
/* Entry for primarily for directfb */
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 0, argb32_rgb32, SDL_BLENDMODE_ADD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 0, argb32_rgb32, SDL_BLENDMODE_MOD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 0, argb32_rgb32, SDL_BLENDMODE_NONE),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 0, argb32_rgb32, SDL_BLENDMODE_ADD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 0, argb32_rgb32, SDL_BLENDMODE_MOD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 0, argb32_rgb32, SDL_BLENDMODE_NONE),
|
||||
|
||||
ENTRY(RGB32, ARGB8888, 4, 0, rgb32_argb32),
|
||||
ENTRY(RGB32, RGB888, 4, 0, NULL),
|
||||
ENTRY(RGB32, ARGB8888, 4, 0, rgb32_argb32),
|
||||
ENTRY(RGB32, RGB888, 4, 0, NULL),
|
||||
|
||||
ENTRY(RGB32_PALETTED, ARGB8888, 4, 0, rgb32pal_argb32),
|
||||
ENTRY(RGB32_PALETTED, ARGB8888, 4, 0, rgb32pal_argb32),
|
||||
ENTRY(RGB32_PALETTED, RGB888, 4, 0, rgb32pal_argb32),
|
||||
|
||||
ENTRY(YUY16, UYVY, 2, 0, NULL /* yuv16_uyvy*/),
|
||||
ENTRY(YUY16, YUY2, 2, 0, yuv16_yuy2),
|
||||
ENTRY(YUY16, YVYU, 2, 0, yuv16_yvyu),
|
||||
ENTRY(YUY16, ARGB8888, 4, 0, yuv16_argb32),
|
||||
ENTRY(YUY16, RGB888, 4, 0, yuv16pal_argb32),
|
||||
ENTRY(YUY16, UYVY, 2, 0, NULL /* yuv16_uyvy*/),
|
||||
ENTRY(YUY16, YUY2, 2, 0, yuv16_yuy2),
|
||||
ENTRY(YUY16, YVYU, 2, 0, yuv16_yvyu),
|
||||
ENTRY(YUY16, ARGB8888, 4, 0, yuv16_argb32),
|
||||
ENTRY(YUY16, RGB888, 4, 0, yuv16pal_argb32),
|
||||
|
||||
ENTRY(YUY16_PALETTED, UYVY, 2, 0, yuv16pal_uyvy),
|
||||
ENTRY(YUY16_PALETTED, YUY2, 2, 0, yuv16pal_yuy2),
|
||||
ENTRY(YUY16_PALETTED, YVYU, 2, 0, yuv16pal_yvyu),
|
||||
ENTRY(YUY16_PALETTED, ARGB8888, 4, 0, yuv16pal_argb32),
|
||||
ENTRY(YUY16_PALETTED, RGB888, 4, 0, yuv16pal_argb32),
|
||||
ENTRY(YUY16_PALETTED, UYVY, 2, 0, yuv16pal_uyvy),
|
||||
ENTRY(YUY16_PALETTED, YUY2, 2, 0, yuv16pal_yuy2),
|
||||
ENTRY(YUY16_PALETTED, YVYU, 2, 0, yuv16pal_yvyu),
|
||||
ENTRY(YUY16_PALETTED, ARGB8888, 4, 0, yuv16pal_argb32),
|
||||
ENTRY(YUY16_PALETTED, RGB888, 4, 0, yuv16pal_argb32),
|
||||
|
||||
ENTRY(PALETTE16, ARGB8888, 4, 0, pal16_argb32),
|
||||
ENTRY(PALETTE16, RGB888, 4, 0, pal16_argb32),
|
||||
ENTRY(PALETTE16, ARGB8888, 4, 0, pal16_argb32),
|
||||
ENTRY(PALETTE16, RGB888, 4, 0, pal16_argb32),
|
||||
|
||||
ENTRY(RGB15, RGB555, 2, 0, NULL /* rgb15_argb1555 */),
|
||||
ENTRY(RGB15, ARGB1555, 2, 0, rgb15_argb1555),
|
||||
ENTRY(RGB15, ARGB8888, 4, 0, rgb15_argb32),
|
||||
ENTRY(RGB15, RGB888, 4, 0, rgb15_argb32),
|
||||
ENTRY(RGB15, RGB555, 2, 0, NULL /* rgb15_argb1555 */),
|
||||
ENTRY(RGB15, ARGB1555, 2, 0, rgb15_argb1555),
|
||||
ENTRY(RGB15, ARGB8888, 4, 0, rgb15_argb32),
|
||||
ENTRY(RGB15, RGB888, 4, 0, rgb15_argb32),
|
||||
|
||||
ENTRY(RGB15_PALETTED, ARGB8888, 4, 0, rgb15pal_argb32),
|
||||
ENTRY(RGB15_PALETTED, RGB888, 4, 0, rgb15pal_argb32),
|
||||
ENTRY(RGB15_PALETTED, ARGB8888, 4, 0, rgb15pal_argb32),
|
||||
ENTRY(RGB15_PALETTED, RGB888, 4, 0, rgb15pal_argb32),
|
||||
|
||||
ENTRY(PALETTE16A, ARGB8888, 4, 0, pal16a_argb32),
|
||||
ENTRY(PALETTE16A, RGB888, 4, 0, pal16a_rgb32),
|
||||
ENTRY(PALETTE16A, ARGB8888, 4, 0, pal16a_argb32),
|
||||
ENTRY(PALETTE16A, RGB888, 4, 0, pal16a_rgb32),
|
||||
|
||||
/* rotation */
|
||||
ENTRY(ARGB32, ARGB8888, 4, 1, rot_argb32_argb32),
|
||||
ENTRY_LR(ARGB32, RGB888, 4, 1, rot_argb32_rgb32),
|
||||
ENTRY(ARGB32, ARGB8888, 4, 1, rot_argb32_argb32),
|
||||
ENTRY_LR(ARGB32, RGB888, 4, 1, rot_argb32_rgb32),
|
||||
/* Entry for primarily for directfb */
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 1, rot_argb32_rgb32, SDL_BLENDMODE_ADD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 1, rot_argb32_rgb32, SDL_BLENDMODE_MOD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 1, rot_argb32_rgb32, SDL_BLENDMODE_NONE),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 1, rot_argb32_rgb32, SDL_BLENDMODE_ADD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 1, rot_argb32_rgb32, SDL_BLENDMODE_MOD),
|
||||
ENTRY_BM(ARGB32, RGB888, 4, 1, rot_argb32_rgb32, SDL_BLENDMODE_NONE),
|
||||
|
||||
ENTRY(RGB32, ARGB8888, 4, 1, rot_rgb32_argb32),
|
||||
ENTRY(RGB32, RGB888, 4, 1, rot_argb32_argb32),
|
||||
ENTRY(RGB32, ARGB8888, 4, 1, rot_rgb32_argb32),
|
||||
ENTRY(RGB32, RGB888, 4, 1, rot_argb32_argb32),
|
||||
|
||||
ENTRY(RGB32_PALETTED, ARGB8888, 4, 1, rot_rgb32pal_argb32),
|
||||
ENTRY(RGB32_PALETTED, ARGB8888, 4, 1, rot_rgb32pal_argb32),
|
||||
ENTRY(RGB32_PALETTED, RGB888, 4, 1, rot_rgb32pal_argb32),
|
||||
|
||||
ENTRY(YUY16, ARGB8888, 4, 1, rot_yuv16_argb32),
|
||||
ENTRY(YUY16, RGB888, 4, 1, rot_yuv16_argb32),
|
||||
ENTRY(YUY16, ARGB8888, 4, 1, rot_yuv16_argb32),
|
||||
ENTRY(YUY16, RGB888, 4, 1, rot_yuv16_argb32),
|
||||
|
||||
ENTRY(YUY16_PALETTED, ARGB8888, 4, 1, rot_yuv16pal_argb32),
|
||||
ENTRY(YUY16_PALETTED, RGB888, 4, 1, rot_yuv16pal_argb32),
|
||||
ENTRY(YUY16_PALETTED, ARGB8888, 4, 1, rot_yuv16pal_argb32),
|
||||
ENTRY(YUY16_PALETTED, RGB888, 4, 1, rot_yuv16pal_argb32),
|
||||
|
||||
ENTRY(PALETTE16, ARGB8888, 4, 1, rot_pal16_argb32),
|
||||
ENTRY(PALETTE16, RGB888, 4, 1, rot_pal16_argb32),
|
||||
ENTRY(PALETTE16, ARGB8888, 4, 1, rot_pal16_argb32),
|
||||
ENTRY(PALETTE16, RGB888, 4, 1, rot_pal16_argb32),
|
||||
|
||||
ENTRY(RGB15, RGB555, 2, 1, rot_rgb15_argb1555),
|
||||
ENTRY(RGB15, ARGB1555, 2, 1, rot_rgb15_argb1555),
|
||||
ENTRY(RGB15, ARGB8888, 4, 1, rot_rgb15_argb32),
|
||||
ENTRY(RGB15, RGB888, 4, 1, rot_rgb15_argb32),
|
||||
ENTRY(RGB15, RGB555, 2, 1, rot_rgb15_argb1555),
|
||||
ENTRY(RGB15, ARGB1555, 2, 1, rot_rgb15_argb1555),
|
||||
ENTRY(RGB15, ARGB8888, 4, 1, rot_rgb15_argb32),
|
||||
ENTRY(RGB15, RGB888, 4, 1, rot_rgb15_argb32),
|
||||
|
||||
ENTRY(RGB15_PALETTED, ARGB8888, 4, 1, rot_rgb15pal_argb32),
|
||||
ENTRY(RGB15_PALETTED, RGB888, 4, 1, rot_rgb15pal_argb32),
|
||||
ENTRY(RGB15_PALETTED, ARGB8888, 4, 1, rot_rgb15pal_argb32),
|
||||
ENTRY(RGB15_PALETTED, RGB888, 4, 1, rot_rgb15pal_argb32),
|
||||
|
||||
ENTRY(PALETTE16A, ARGB8888, 4, 1, rot_pal16a_argb32),
|
||||
ENTRY(PALETTE16A, RGB888, 4, 1, rot_pal16a_rgb32),
|
||||
ENTRY(PALETTE16A, ARGB8888, 4, 1, rot_pal16a_argb32),
|
||||
ENTRY(PALETTE16A, RGB888, 4, 1, rot_pal16a_rgb32),
|
||||
|
||||
{ -1 },
|
||||
};
|
||||
@ -268,18 +268,18 @@ static copy_info blit_info_default[] =
|
||||
static copy_info blit_info_16bpp[] =
|
||||
{
|
||||
/* no rotation */
|
||||
ENTRY(PALETTE16, RGB555, 2, 0, pal16_argb1555),
|
||||
ENTRY(PALETTE16, ARGB1555, 2, 0, pal16_argb1555),
|
||||
ENTRY(PALETTE16, RGB555, 2, 0, pal16_argb1555),
|
||||
ENTRY(PALETTE16, ARGB1555, 2, 0, pal16_argb1555),
|
||||
|
||||
ENTRY(RGB15_PALETTED, RGB555, 2, 0, rgb15pal_argb1555),
|
||||
ENTRY(RGB15_PALETTED, ARGB1555, 2, 0, rgb15pal_argb1555),
|
||||
ENTRY(RGB15_PALETTED, RGB555, 2, 0, rgb15pal_argb1555),
|
||||
ENTRY(RGB15_PALETTED, ARGB1555, 2, 0, rgb15pal_argb1555),
|
||||
|
||||
/* rotation */
|
||||
ENTRY(PALETTE16, RGB555, 2, 1, rot_pal16_argb1555),
|
||||
ENTRY(PALETTE16, ARGB1555, 2, 1, rot_pal16_argb1555),
|
||||
ENTRY(PALETTE16, RGB555, 2, 1, rot_pal16_argb1555),
|
||||
ENTRY(PALETTE16, ARGB1555, 2, 1, rot_pal16_argb1555),
|
||||
|
||||
ENTRY(RGB15_PALETTED, RGB555, 2, 1, rot_rgb15pal_argb1555),
|
||||
ENTRY(RGB15_PALETTED, ARGB1555, 2, 1, rot_rgb15pal_argb1555),
|
||||
ENTRY(RGB15_PALETTED, RGB555, 2, 1, rot_rgb15pal_argb1555),
|
||||
ENTRY(RGB15_PALETTED, ARGB1555, 2, 1, rot_rgb15pal_argb1555),
|
||||
|
||||
{ -1 },
|
||||
};
|
||||
@ -322,7 +322,7 @@ INLINE Uint32 map_blendmode(int blendmode)
|
||||
return SDL_BLENDMODE_ADD;
|
||||
default:
|
||||
mame_printf_warning("Unknown Blendmode %d", blendmode);
|
||||
}
|
||||
}
|
||||
return SDL_BLENDMODE_NONE;
|
||||
}
|
||||
|
||||
|
@ -205,7 +205,7 @@ struct _texture_info
|
||||
typedef struct _sdl_info sdl_info;
|
||||
struct _sdl_info
|
||||
{
|
||||
INT32 blittimer;
|
||||
INT32 blittimer;
|
||||
UINT32 extra_flags;
|
||||
|
||||
#if (SDL_VERSION_ATLEAST(1,3,0))
|
||||
@ -219,8 +219,8 @@ struct _sdl_info
|
||||
// 3D info (GL mode only)
|
||||
texture_info * texlist; // list of active textures
|
||||
int last_blendmode; // previous blendmode
|
||||
INT32 texture_max_width; // texture maximum width
|
||||
INT32 texture_max_height; // texture maximum height
|
||||
INT32 texture_max_width; // texture maximum width
|
||||
INT32 texture_max_height; // texture maximum height
|
||||
int texpoweroftwo; // must textures be power-of-2 sized?
|
||||
int usevbo; // runtime check if VBO is available
|
||||
int usepbo; // runtime check if PBO is available
|
||||
@ -248,8 +248,8 @@ struct _sdl_info
|
||||
float last_vofs;
|
||||
|
||||
// Static vars from draogl_window_dra
|
||||
INT32 surf_w;
|
||||
INT32 surf_h;
|
||||
INT32 surf_w;
|
||||
INT32 surf_h;
|
||||
GLfloat texVerticex[8];
|
||||
};
|
||||
|
||||
@ -307,7 +307,7 @@ INLINE void set_blendmode(sdl_info *sdl, int blendmode)
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sdl->last_blendmode = blendmode;
|
||||
}
|
||||
@ -455,8 +455,8 @@ static void loadgl_functions(void)
|
||||
int err_count = 0;
|
||||
|
||||
/* the following is tricky ... #func will be expanded to glBegin
|
||||
* while func will be expanded to disp_p->glBegin
|
||||
*/
|
||||
* while func will be expanded to disp_p->glBegin
|
||||
*/
|
||||
|
||||
#define OSD_GL(ret,func,params) \
|
||||
if (!( func = (ret (APIENTRY *)params) SDL_GL_GetProcAddress( #func ) )) \
|
||||
@ -484,9 +484,9 @@ static void load_gl_lib(void)
|
||||
if (!dll_loaded)
|
||||
{
|
||||
/*
|
||||
* directfb and and x11 use this env var
|
||||
* SDL_VIDEO_GL_DRIVER
|
||||
*/
|
||||
* directfb and and x11 use this env var
|
||||
* SDL_VIDEO_GL_DRIVER
|
||||
*/
|
||||
const char *stemp;
|
||||
|
||||
stemp = options_get_string(mame_options(), SDLOPTION_GL_LIB);
|
||||
@ -497,8 +497,8 @@ static void load_gl_lib(void)
|
||||
{
|
||||
fatalerror("Unable to load opengl library: %s\n", stemp ? stemp : "<default>");
|
||||
}
|
||||
mame_printf_verbose("Loaded opengl shared library: %s\n", stemp ? stemp : "<default>");
|
||||
/* FIXME: must be freed as well */
|
||||
mame_printf_verbose("Loaded opengl shared library: %s\n", stemp ? stemp : "<default>");
|
||||
/* FIXME: must be freed as well */
|
||||
gl_dispatch = (osd_gl_dispatch *) osd_malloc(sizeof(osd_gl_dispatch));
|
||||
dll_loaded=1;
|
||||
}
|
||||
@ -614,8 +614,8 @@ static int drawogl_window_create(sdl_window_info *window, int width, int height)
|
||||
sdl->texture_max_height = 64;
|
||||
|
||||
/* load any GL function addresses
|
||||
* this must be done here because we need a context
|
||||
*/
|
||||
* this must be done here because we need a context
|
||||
*/
|
||||
loadgl_functions();
|
||||
|
||||
extstr = (char *)glGetString(GL_EXTENSIONS);
|
||||
@ -1249,9 +1249,9 @@ static int drawogl_window_draw(sdl_window_info *window, UINT32 dc, int update)
|
||||
//
|
||||
// (0,0) (w,0)
|
||||
// |~~~~~~~~~|
|
||||
// | |
|
||||
// | |
|
||||
// | |
|
||||
// | |
|
||||
// | |
|
||||
// | |
|
||||
// |_________|
|
||||
// (0,h) (w,h)
|
||||
|
||||
@ -1312,9 +1312,9 @@ static int drawogl_window_draw(sdl_window_info *window, UINT32 dc, int update)
|
||||
switch (prim->type)
|
||||
{
|
||||
/**
|
||||
* Try to stay in one Begin/End block as long as possible,
|
||||
* since entering and leaving one is most expensive..
|
||||
*/
|
||||
* Try to stay in one Begin/End block as long as possible,
|
||||
* since entering and leaving one is most expensive..
|
||||
*/
|
||||
case RENDER_PRIMITIVE_LINE:
|
||||
#if !USE_WIN32_STYLE_LINES
|
||||
// check if it's really a point
|
||||
@ -1416,8 +1416,8 @@ static int drawogl_window_draw(sdl_window_info *window, UINT32 dc, int update)
|
||||
if (a > 1.0) a = 1.0;
|
||||
glColor4f(r, g, b, a);
|
||||
|
||||
// texture = texture_update(window, prim, 0);
|
||||
// if (texture) printf("line has texture!\n");
|
||||
// texture = texture_update(window, prim, 0);
|
||||
// if (texture) printf("line has texture!\n");
|
||||
|
||||
// if we have a texture to use for the vectors, use it here
|
||||
#if 0
|
||||
@ -2050,18 +2050,18 @@ static int texture_shader_create(sdl_window_info *window,
|
||||
}
|
||||
|
||||
/**
|
||||
* We experience some GLSL LUT calculation inaccuracy on some GL drivers.
|
||||
* while using the correct lut calculations.
|
||||
* This error is due to the color index value to GLSL/texture passing process:
|
||||
* mame:uint16_t -> OpenGL: GLfloat(alpha texture) -> GLSL:uint16_t (value regeneration)
|
||||
* The latter inaccurate uint16_t value regeneration is buggy on some drivers/cards,
|
||||
* therefor we always widen the lut size to pow2,
|
||||
* and shape it equaly into 2D space (max texture size restriction).
|
||||
* This is a practical GL driver workaround to minimize the chance for
|
||||
* floating point arithmetic errors in the GLSL engine.
|
||||
*
|
||||
* Shape the lut texture to achieve texture max size compliance and equal 2D partitioning
|
||||
*/
|
||||
* We experience some GLSL LUT calculation inaccuracy on some GL drivers.
|
||||
* while using the correct lut calculations.
|
||||
* This error is due to the color index value to GLSL/texture passing process:
|
||||
* mame:uint16_t -> OpenGL: GLfloat(alpha texture) -> GLSL:uint16_t (value regeneration)
|
||||
* The latter inaccurate uint16_t value regeneration is buggy on some drivers/cards,
|
||||
* therefor we always widen the lut size to pow2,
|
||||
* and shape it equaly into 2D space (max texture size restriction).
|
||||
* This is a practical GL driver workaround to minimize the chance for
|
||||
* floating point arithmetic errors in the GLSL engine.
|
||||
*
|
||||
* Shape the lut texture to achieve texture max size compliance and equal 2D partitioning
|
||||
*/
|
||||
lut_texture_width = sqrt((double)(texture->lut_table_width));
|
||||
lut_texture_width = get_valid_pow2_value (lut_texture_width, 1);
|
||||
|
||||
@ -2075,9 +2075,9 @@ static int texture_shader_create(sdl_window_info *window,
|
||||
texture->lut_table_width = lut_texture_width;
|
||||
|
||||
/**
|
||||
* always use pow2 for LUT, to minimize the chance for floating point arithmetic errors
|
||||
* (->buggy GLSL engine)
|
||||
*/
|
||||
* always use pow2 for LUT, to minimize the chance for floating point arithmetic errors
|
||||
* (->buggy GLSL engine)
|
||||
*/
|
||||
lut_table_height_pow2 = get_valid_pow2_value (texture->lut_table_height, 1 /* texture->texpow2 */);
|
||||
lut_table_width_pow2 = get_valid_pow2_value (texture->lut_table_width, 1 /* texture->texpow2 */);
|
||||
|
||||
|
@ -42,7 +42,7 @@ typedef struct _sdl_scale_mode sdl_scale_mode;
|
||||
typedef struct _sdl_info sdl_info;
|
||||
struct _sdl_info
|
||||
{
|
||||
INT32 blittimer;
|
||||
INT32 blittimer;
|
||||
UINT32 extra_flags;
|
||||
|
||||
#if (SDL_VERSION_ATLEAST(1,3,0))
|
||||
@ -54,7 +54,7 @@ struct _sdl_info
|
||||
#endif
|
||||
|
||||
// YUV overlay
|
||||
UINT32 *yuv_lookup;
|
||||
UINT32 *yuv_lookup;
|
||||
UINT16 *yuv_bitmap;
|
||||
|
||||
// if we leave scaling to SDL and the underlying driver, this
|
||||
@ -749,7 +749,7 @@ static int drawsdl_window_draw(sdl_window_info *window, UINT32 dc, int update)
|
||||
// do not crash if the window's smaller than the blit area
|
||||
if (blitheight > ch)
|
||||
{
|
||||
blitheight = ch;
|
||||
blitheight = ch;
|
||||
}
|
||||
else if (video_config.centerv)
|
||||
{
|
||||
@ -758,7 +758,7 @@ static int drawsdl_window_draw(sdl_window_info *window, UINT32 dc, int update)
|
||||
|
||||
if (blitwidth > cw)
|
||||
{
|
||||
blitwidth = cw;
|
||||
blitwidth = cw;
|
||||
}
|
||||
else if (video_config.centerh)
|
||||
{
|
||||
@ -969,7 +969,7 @@ static void yuv_lookup_set(sdl_info *sdl, unsigned int pen, unsigned char red,
|
||||
RGB2YUV(red,green,blue,y,u,v);
|
||||
|
||||
/* Storing this data in YUYV order simplifies using the data for
|
||||
YUY2, both with and without smoothing... */
|
||||
YUY2, both with and without smoothing... */
|
||||
sdl->yuv_lookup[pen]=(y<<Y1SHIFT)|(u<<USHIFT)|(y<<Y2SHIFT)|(v<<VSHIFT);
|
||||
}
|
||||
|
||||
|
@ -85,8 +85,8 @@ static GLhandleARB glsl_mamebm_programs [GLSL_SHADER_TYPE_NUMBER][GLSL_SHADER_FE
|
||||
*/
|
||||
static int glsl_mamebm_fsh2vsh[GLSL_SHADER_FEAT_MAX_NUMBER] =
|
||||
{
|
||||
0, // plain -> general
|
||||
0, // bilinear -> general
|
||||
0, // plain -> general
|
||||
0, // bilinear -> general
|
||||
1, // custom -> custom
|
||||
};
|
||||
|
||||
|
@ -15,15 +15,15 @@
|
||||
* Visit http://www.gnu.org/copyleft/gpl.html
|
||||
*
|
||||
* MAME license:
|
||||
* Visit http://mamedev.org for licensing and usage restrictions.
|
||||
* Visit http://mamedev.org for licensing and usage restrictions.
|
||||
*
|
||||
*
|
||||
* OpenGL GLSL ARB extentions:
|
||||
*
|
||||
* GL_ARB_shader_objects
|
||||
* GL_ARB_shading_language_100
|
||||
* GL_ARB_vertex_shader
|
||||
* GL_ARB_fragment_shader
|
||||
* GL_ARB_shader_objects
|
||||
* GL_ARB_shading_language_100
|
||||
* GL_ARB_vertex_shader
|
||||
* GL_ARB_fragment_shader
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -15,15 +15,15 @@
|
||||
* Visit http://www.gnu.org/copyleft/gpl.html
|
||||
*
|
||||
* MAME license:
|
||||
* Visit http://mamedev.org for licensing and usage restrictions.
|
||||
* Visit http://mamedev.org for licensing and usage restrictions.
|
||||
*
|
||||
*
|
||||
* OpenGL GLSL ARB extentions:
|
||||
*
|
||||
* GL_ARB_shader_objects
|
||||
* GL_ARB_shading_language_100
|
||||
* GL_ARB_vertex_shader
|
||||
* GL_ARB_fragment_shader
|
||||
* GL_ARB_shader_objects
|
||||
* GL_ARB_shading_language_100
|
||||
* GL_ARB_vertex_shader
|
||||
* GL_ARB_fragment_shader
|
||||
*
|
||||
*/
|
||||
|
||||
@ -110,7 +110,7 @@ int gl_round_to_pow2(int v);
|
||||
* @param obj_query Can be either GL_OBJECT_TYPE_ARB, GL_OBJECT_DELETE_STATUS_ARB, GL_OBJECT_COMPILE_STATUS_ARB,
|
||||
* GL_OBJECT_LINK_STATUS_ARB, GL_OBJECT_VALIDATE_STATUS_ARB
|
||||
* Should be used after the refering action, i.e. GL_OBJECT_DELETE_STATUS_ARB after a
|
||||
* glDeleteObjectARB call, etc.
|
||||
* glDeleteObjectARB call, etc.
|
||||
*/
|
||||
int gl_shader_check_error(GLhandleARB obj, GLenum obj_query, GLSLCheckMode m, const char *file, const int line);
|
||||
|
||||
|
@ -74,7 +74,7 @@ enum
|
||||
typedef struct _keyboard_state keyboard_state;
|
||||
struct _keyboard_state
|
||||
{
|
||||
INT32 state[0x3ff]; // must be INT32!
|
||||
INT32 state[0x3ff]; // must be INT32!
|
||||
INT8 oldkey[MAX_KEYS];
|
||||
INT8 currkey[MAX_KEYS];
|
||||
};
|
||||
@ -106,7 +106,7 @@ struct _device_info
|
||||
// device information
|
||||
device_info ** head;
|
||||
device_info * next;
|
||||
char * name;
|
||||
char * name;
|
||||
|
||||
// MAME information
|
||||
input_device * device;
|
||||
@ -132,7 +132,7 @@ static UINT8 input_paused;
|
||||
static sdl_window_info * focus_window = NULL;
|
||||
|
||||
// input buffer - only for SDLMAME_EVENTS_IN_WORKER_THREAD
|
||||
#define MAX_BUF_EVENTS (500) /* 100 not enough for SDL 1.3 */
|
||||
#define MAX_BUF_EVENTS (500) /* 100 not enough for SDL 1.3 */
|
||||
static SDL_Event event_buf[MAX_BUF_EVENTS];
|
||||
static int event_buf_count;
|
||||
|
||||
@ -201,10 +201,10 @@ typedef struct _kt_table kt_table;
|
||||
struct _kt_table {
|
||||
INT32 mame_key;
|
||||
INT32 sdl_key;
|
||||
//const char * vkey;
|
||||
//const char * ascii;
|
||||
const char * mame_key_name;
|
||||
char * ui_name;
|
||||
//const char * vkey;
|
||||
//const char * ascii;
|
||||
const char * mame_key_name;
|
||||
char * ui_name;
|
||||
};
|
||||
|
||||
#if (SDL_VERSION_ATLEAST(1,3,0))
|
||||
@ -226,18 +226,18 @@ struct _kt_table {
|
||||
|
||||
static kt_table sdl_key_trans_table[] =
|
||||
{
|
||||
// MAME key SDL key vkey ascii
|
||||
// MAME key SDL key vkey ascii
|
||||
KTT_ENTRY0( ESC, ESCAPE, 0x1b, 0x1b, "ESC" ),
|
||||
KTT_ENTRY1( 1, 1 ),
|
||||
KTT_ENTRY1( 2, 2 ),
|
||||
KTT_ENTRY1( 3, 3 ),
|
||||
KTT_ENTRY1( 4, 4 ),
|
||||
KTT_ENTRY1( 5, 5 ),
|
||||
KTT_ENTRY1( 6, 6 ),
|
||||
KTT_ENTRY1( 7, 7 ),
|
||||
KTT_ENTRY1( 8, 8 ),
|
||||
KTT_ENTRY1( 9, 9 ),
|
||||
KTT_ENTRY1( 0, 0 ),
|
||||
KTT_ENTRY1( 1, 1 ),
|
||||
KTT_ENTRY1( 2, 2 ),
|
||||
KTT_ENTRY1( 3, 3 ),
|
||||
KTT_ENTRY1( 4, 4 ),
|
||||
KTT_ENTRY1( 5, 5 ),
|
||||
KTT_ENTRY1( 6, 6 ),
|
||||
KTT_ENTRY1( 7, 7 ),
|
||||
KTT_ENTRY1( 8, 8 ),
|
||||
KTT_ENTRY1( 9, 9 ),
|
||||
KTT_ENTRY1( 0, 0 ),
|
||||
KTT_ENTRY0( MINUS, MINUS, 0xbd, '-', "MINUS" ),
|
||||
KTT_ENTRY0( EQUALS, EQUALS, 0xbb, '=', "EQUALS" ),
|
||||
KTT_ENTRY0( BACKSPACE, BACKSPACE, 0x08, 0x08, "BACKSPACE" ),
|
||||
@ -252,9 +252,9 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY1( I, I ),
|
||||
KTT_ENTRY1( O, O ),
|
||||
KTT_ENTRY1( P, P ),
|
||||
KTT_ENTRY0( OPENBRACE, LEFTBRACKET, 0xdb, '[', "OPENBRACE" ),
|
||||
KTT_ENTRY0( CLOSEBRACE,RIGHTBRACKET, 0xdd, ']', "CLOSEBRACE" ),
|
||||
KTT_ENTRY0( ENTER, RETURN, 0x0d, 0x0d, "RETURN" ),
|
||||
KTT_ENTRY0( OPENBRACE, LEFTBRACKET, 0xdb, '[', "OPENBRACE" ),
|
||||
KTT_ENTRY0( CLOSEBRACE,RIGHTBRACKET, 0xdd, ']', "CLOSEBRACE" ),
|
||||
KTT_ENTRY0( ENTER, RETURN, 0x0d, 0x0d, "RETURN" ),
|
||||
KTT_ENTRY2( LCONTROL, LCTRL ),
|
||||
KTT_ENTRY1( A, A ),
|
||||
KTT_ENTRY1( S, S ),
|
||||
@ -267,8 +267,8 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY1( L, L ),
|
||||
KTT_ENTRY0( COLON, SEMICOLON, 0xba, ';', "COLON" ),
|
||||
KTT_ENTRY0( QUOTE, APOSTROPHE, 0xde, '\'', "QUOTE" ),
|
||||
KTT_ENTRY2( LSHIFT, LSHIFT ),
|
||||
KTT_ENTRY0( BACKSLASH, BACKSLASH, 0xdc, '\\', "BACKSLASH" ),
|
||||
KTT_ENTRY2( LSHIFT, LSHIFT ),
|
||||
KTT_ENTRY0( BACKSLASH, BACKSLASH, 0xdc, '\\', "BACKSLASH" ),
|
||||
KTT_ENTRY1( Z, Z ),
|
||||
KTT_ENTRY1( X, X ),
|
||||
KTT_ENTRY1( C, C ),
|
||||
@ -276,26 +276,26 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY1( B, B ),
|
||||
KTT_ENTRY1( N, N ),
|
||||
KTT_ENTRY1( M, M ),
|
||||
KTT_ENTRY0( COMMA, COMMA, 0xbc, ',', "COMMA" ),
|
||||
KTT_ENTRY0( STOP, PERIOD, 0xbe, '.', "STOP" ),
|
||||
KTT_ENTRY0( SLASH, SLASH, 0xbf, '/', "SLASH" ),
|
||||
KTT_ENTRY2( RSHIFT, RSHIFT ),
|
||||
KTT_ENTRY0( ASTERISK, KP_MULTIPLY, '*', '*', "ASTERIX" ),
|
||||
KTT_ENTRY2( LALT, LALT ),
|
||||
KTT_ENTRY0( SPACE, SPACE, ' ', ' ', "SPACE" ),
|
||||
KTT_ENTRY2( CAPSLOCK, CAPSLOCK ),
|
||||
KTT_ENTRY2( F1, F1 ),
|
||||
KTT_ENTRY2( F2, F2 ),
|
||||
KTT_ENTRY2( F3, F3 ),
|
||||
KTT_ENTRY2( F4, F4 ),
|
||||
KTT_ENTRY2( F5, F5 ),
|
||||
KTT_ENTRY2( F6, F6 ),
|
||||
KTT_ENTRY2( F7, F7 ),
|
||||
KTT_ENTRY2( F8, F8 ),
|
||||
KTT_ENTRY2( F9, F9 ),
|
||||
KTT_ENTRY2( F10, F10 ),
|
||||
KTT_ENTRY2( NUMLOCK, NUMLOCKCLEAR ),
|
||||
KTT_ENTRY2( SCRLOCK, SCROLLLOCK ),
|
||||
KTT_ENTRY0( COMMA, COMMA, 0xbc, ',', "COMMA" ),
|
||||
KTT_ENTRY0( STOP, PERIOD, 0xbe, '.', "STOP" ),
|
||||
KTT_ENTRY0( SLASH, SLASH, 0xbf, '/', "SLASH" ),
|
||||
KTT_ENTRY2( RSHIFT, RSHIFT ),
|
||||
KTT_ENTRY0( ASTERISK, KP_MULTIPLY, '*', '*', "ASTERIX" ),
|
||||
KTT_ENTRY2( LALT, LALT ),
|
||||
KTT_ENTRY0( SPACE, SPACE, ' ', ' ', "SPACE" ),
|
||||
KTT_ENTRY2( CAPSLOCK, CAPSLOCK ),
|
||||
KTT_ENTRY2( F1, F1 ),
|
||||
KTT_ENTRY2( F2, F2 ),
|
||||
KTT_ENTRY2( F3, F3 ),
|
||||
KTT_ENTRY2( F4, F4 ),
|
||||
KTT_ENTRY2( F5, F5 ),
|
||||
KTT_ENTRY2( F6, F6 ),
|
||||
KTT_ENTRY2( F7, F7 ),
|
||||
KTT_ENTRY2( F8, F8 ),
|
||||
KTT_ENTRY2( F9, F9 ),
|
||||
KTT_ENTRY2( F10, F10 ),
|
||||
KTT_ENTRY2( NUMLOCK, NUMLOCKCLEAR ),
|
||||
KTT_ENTRY2( SCRLOCK, SCROLLLOCK ),
|
||||
KTT_ENTRY2( 7_PAD, KP_7 ),
|
||||
KTT_ENTRY2( 8_PAD, KP_8 ),
|
||||
KTT_ENTRY2( 9_PAD, KP_9 ),
|
||||
@ -303,35 +303,35 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY2( 4_PAD, KP_4 ),
|
||||
KTT_ENTRY2( 5_PAD, KP_5 ),
|
||||
KTT_ENTRY2( 6_PAD, KP_6 ),
|
||||
KTT_ENTRY2( PLUS_PAD, KP_PLUS ),
|
||||
KTT_ENTRY2( PLUS_PAD, KP_PLUS ),
|
||||
KTT_ENTRY2( 1_PAD, KP_1 ),
|
||||
KTT_ENTRY2( 2_PAD, KP_2 ),
|
||||
KTT_ENTRY2( 3_PAD, KP_3 ),
|
||||
KTT_ENTRY2( 0_PAD, KP_0 ),
|
||||
KTT_ENTRY2( DEL_PAD, KP_PERIOD ),
|
||||
KTT_ENTRY2( F11, F11 ),
|
||||
KTT_ENTRY2( F12, F12 ),
|
||||
KTT_ENTRY2( F13, F13 ),
|
||||
KTT_ENTRY2( F14, F14 ),
|
||||
KTT_ENTRY2( F15, F15 ),
|
||||
KTT_ENTRY2( DEL_PAD, KP_PERIOD ),
|
||||
KTT_ENTRY2( F11, F11 ),
|
||||
KTT_ENTRY2( F12, F12 ),
|
||||
KTT_ENTRY2( F13, F13 ),
|
||||
KTT_ENTRY2( F14, F14 ),
|
||||
KTT_ENTRY2( F15, F15 ),
|
||||
KTT_ENTRY2( ENTER_PAD, KP_ENTER ),
|
||||
KTT_ENTRY2( RCONTROL, RCTRL ),
|
||||
KTT_ENTRY2( RCONTROL, RCTRL ),
|
||||
KTT_ENTRY2( SLASH_PAD, KP_DIVIDE ),
|
||||
KTT_ENTRY2( PRTSCR, PRINTSCREEN ),
|
||||
KTT_ENTRY2( RALT, RALT ),
|
||||
KTT_ENTRY2( HOME, HOME ),
|
||||
KTT_ENTRY2( UP, UP ),
|
||||
KTT_ENTRY2( PGUP, PAGEUP ),
|
||||
KTT_ENTRY2( LEFT, LEFT ),
|
||||
KTT_ENTRY2( PRTSCR, PRINTSCREEN ),
|
||||
KTT_ENTRY2( RALT, RALT ),
|
||||
KTT_ENTRY2( HOME, HOME ),
|
||||
KTT_ENTRY2( UP, UP ),
|
||||
KTT_ENTRY2( PGUP, PAGEUP ),
|
||||
KTT_ENTRY2( LEFT, LEFT ),
|
||||
KTT_ENTRY2( RIGHT, RIGHT ),
|
||||
KTT_ENTRY2( END, END ),
|
||||
KTT_ENTRY2( DOWN, DOWN ),
|
||||
KTT_ENTRY2( PGDN, PAGEDOWN ),
|
||||
KTT_ENTRY2( INSERT, INSERT ),
|
||||
KTT_ENTRY2( END, END ),
|
||||
KTT_ENTRY2( DOWN, DOWN ),
|
||||
KTT_ENTRY2( PGDN, PAGEDOWN ),
|
||||
KTT_ENTRY2( INSERT, INSERT ),
|
||||
{ ITEM_ID_DEL, SDL_SCANCODE_DELETE, "ITEM_ID_DEL", (char *)"DELETE" },
|
||||
KTT_ENTRY2( LWIN, LGUI ),
|
||||
KTT_ENTRY2( RWIN, RGUI ),
|
||||
KTT_ENTRY2( MENU, MENU ),
|
||||
KTT_ENTRY2( LWIN, LGUI ),
|
||||
KTT_ENTRY2( RWIN, RGUI ),
|
||||
KTT_ENTRY2( MENU, MENU ),
|
||||
KTT_ENTRY0( TILDE, GRAVE, 0xc0, '`', "TILDE" ),
|
||||
KTT_ENTRY0( BACKSLASH2, NONUSBACKSLASH, 0xdc, '\\', "BACKSLASH2" ),
|
||||
{ -1 }
|
||||
@ -351,18 +351,18 @@ static kt_table sdl_key_trans_table[] =
|
||||
|
||||
static kt_table sdl_key_trans_table[] =
|
||||
{
|
||||
// MAME key SDL key vkey ascii
|
||||
// MAME key SDL key vkey ascii
|
||||
KTT_ENTRY0( ESC, ESCAPE, 0x1b, 0x1b, "ESC" ),
|
||||
KTT_ENTRY1( 1, 1 ),
|
||||
KTT_ENTRY1( 2, 2 ),
|
||||
KTT_ENTRY1( 3, 3 ),
|
||||
KTT_ENTRY1( 4, 4 ),
|
||||
KTT_ENTRY1( 5, 5 ),
|
||||
KTT_ENTRY1( 6, 6 ),
|
||||
KTT_ENTRY1( 7, 7 ),
|
||||
KTT_ENTRY1( 8, 8 ),
|
||||
KTT_ENTRY1( 9, 9 ),
|
||||
KTT_ENTRY1( 0, 0 ),
|
||||
KTT_ENTRY1( 1, 1 ),
|
||||
KTT_ENTRY1( 2, 2 ),
|
||||
KTT_ENTRY1( 3, 3 ),
|
||||
KTT_ENTRY1( 4, 4 ),
|
||||
KTT_ENTRY1( 5, 5 ),
|
||||
KTT_ENTRY1( 6, 6 ),
|
||||
KTT_ENTRY1( 7, 7 ),
|
||||
KTT_ENTRY1( 8, 8 ),
|
||||
KTT_ENTRY1( 9, 9 ),
|
||||
KTT_ENTRY1( 0, 0 ),
|
||||
KTT_ENTRY0( MINUS, MINUS, 0xbd, '-', "MINUS" ),
|
||||
KTT_ENTRY0( EQUALS, EQUALS, 0xbb, '=', "EQUALS" ),
|
||||
KTT_ENTRY0( BACKSPACE, BACKSPACE, 0x08, 0x08, "BACKSPACE" ),
|
||||
@ -377,9 +377,9 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY1( I, i ),
|
||||
KTT_ENTRY1( O, o ),
|
||||
KTT_ENTRY1( P, p ),
|
||||
KTT_ENTRY0( OPENBRACE, LEFTBRACKET, 0xdb, '[', "OPENBRACE" ),
|
||||
KTT_ENTRY0( CLOSEBRACE,RIGHTBRACKET, 0xdd, ']', "CLOSEBRACE" ),
|
||||
KTT_ENTRY0( ENTER, RETURN, 0x0d, 0x0d, "RETURN" ),
|
||||
KTT_ENTRY0( OPENBRACE, LEFTBRACKET, 0xdb, '[', "OPENBRACE" ),
|
||||
KTT_ENTRY0( CLOSEBRACE,RIGHTBRACKET, 0xdd, ']', "CLOSEBRACE" ),
|
||||
KTT_ENTRY0( ENTER, RETURN, 0x0d, 0x0d, "RETURN" ),
|
||||
KTT_ENTRY2( LCONTROL, LCTRL ),
|
||||
KTT_ENTRY1( A, a ),
|
||||
KTT_ENTRY1( S, s ),
|
||||
@ -392,8 +392,8 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY1( L, l ),
|
||||
KTT_ENTRY0( COLON, SEMICOLON, 0xba, ';', "COLON" ),
|
||||
KTT_ENTRY0( QUOTE, QUOTE, 0xde, '\'', "QUOTE" ),
|
||||
KTT_ENTRY2( LSHIFT, LSHIFT ),
|
||||
KTT_ENTRY0( BACKSLASH, BACKSLASH, 0xdc, '\\', "BACKSLASH" ),
|
||||
KTT_ENTRY2( LSHIFT, LSHIFT ),
|
||||
KTT_ENTRY0( BACKSLASH, BACKSLASH, 0xdc, '\\', "BACKSLASH" ),
|
||||
KTT_ENTRY1( Z, z ),
|
||||
KTT_ENTRY1( X, x ),
|
||||
KTT_ENTRY1( C, c ),
|
||||
@ -401,26 +401,26 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY1( B, b ),
|
||||
KTT_ENTRY1( N, n ),
|
||||
KTT_ENTRY1( M, m ),
|
||||
KTT_ENTRY0( COMMA, COMMA, 0xbc, ',', "COMMA" ),
|
||||
KTT_ENTRY0( STOP, PERIOD, 0xbe, '.', "STOP" ),
|
||||
KTT_ENTRY0( SLASH, SLASH, 0xbf, '/', "SLASH" ),
|
||||
KTT_ENTRY2( RSHIFT, RSHIFT ),
|
||||
KTT_ENTRY0( ASTERISK, KP_MULTIPLY, '*', '*', "ASTERIX" ),
|
||||
KTT_ENTRY2( LALT, LALT ),
|
||||
KTT_ENTRY0( SPACE, SPACE, ' ', ' ', "SPACE" ),
|
||||
KTT_ENTRY2( CAPSLOCK, CAPSLOCK ),
|
||||
KTT_ENTRY2( F1, F1 ),
|
||||
KTT_ENTRY2( F2, F2 ),
|
||||
KTT_ENTRY2( F3, F3 ),
|
||||
KTT_ENTRY2( F4, F4 ),
|
||||
KTT_ENTRY2( F5, F5 ),
|
||||
KTT_ENTRY2( F6, F6 ),
|
||||
KTT_ENTRY2( F7, F7 ),
|
||||
KTT_ENTRY2( F8, F8 ),
|
||||
KTT_ENTRY2( F9, F9 ),
|
||||
KTT_ENTRY2( F10, F10 ),
|
||||
KTT_ENTRY2( NUMLOCK, NUMLOCK ),
|
||||
KTT_ENTRY2( SCRLOCK, SCROLLOCK ),
|
||||
KTT_ENTRY0( COMMA, COMMA, 0xbc, ',', "COMMA" ),
|
||||
KTT_ENTRY0( STOP, PERIOD, 0xbe, '.', "STOP" ),
|
||||
KTT_ENTRY0( SLASH, SLASH, 0xbf, '/', "SLASH" ),
|
||||
KTT_ENTRY2( RSHIFT, RSHIFT ),
|
||||
KTT_ENTRY0( ASTERISK, KP_MULTIPLY, '*', '*', "ASTERIX" ),
|
||||
KTT_ENTRY2( LALT, LALT ),
|
||||
KTT_ENTRY0( SPACE, SPACE, ' ', ' ', "SPACE" ),
|
||||
KTT_ENTRY2( CAPSLOCK, CAPSLOCK ),
|
||||
KTT_ENTRY2( F1, F1 ),
|
||||
KTT_ENTRY2( F2, F2 ),
|
||||
KTT_ENTRY2( F3, F3 ),
|
||||
KTT_ENTRY2( F4, F4 ),
|
||||
KTT_ENTRY2( F5, F5 ),
|
||||
KTT_ENTRY2( F6, F6 ),
|
||||
KTT_ENTRY2( F7, F7 ),
|
||||
KTT_ENTRY2( F8, F8 ),
|
||||
KTT_ENTRY2( F9, F9 ),
|
||||
KTT_ENTRY2( F10, F10 ),
|
||||
KTT_ENTRY2( NUMLOCK, NUMLOCK ),
|
||||
KTT_ENTRY2( SCRLOCK, SCROLLOCK ),
|
||||
KTT_ENTRY2( 7_PAD, KP7 ),
|
||||
KTT_ENTRY2( 8_PAD, KP8 ),
|
||||
KTT_ENTRY2( 9_PAD, KP9 ),
|
||||
@ -428,35 +428,35 @@ static kt_table sdl_key_trans_table[] =
|
||||
KTT_ENTRY2( 4_PAD, KP4 ),
|
||||
KTT_ENTRY2( 5_PAD, KP5 ),
|
||||
KTT_ENTRY2( 6_PAD, KP6 ),
|
||||
KTT_ENTRY2( PLUS_PAD, KP_PLUS ),
|
||||
KTT_ENTRY2( PLUS_PAD, KP_PLUS ),
|
||||
KTT_ENTRY2( 1_PAD, KP1 ),
|
||||
KTT_ENTRY2( 2_PAD, KP2 ),
|
||||
KTT_ENTRY2( 3_PAD, KP3 ),
|
||||
KTT_ENTRY2( 0_PAD, KP0 ),
|
||||
KTT_ENTRY2( DEL_PAD, KP_PERIOD ),
|
||||
KTT_ENTRY2( F11, F11 ),
|
||||
KTT_ENTRY2( F12, F12 ),
|
||||
KTT_ENTRY2( F13, F13 ),
|
||||
KTT_ENTRY2( F14, F14 ),
|
||||
KTT_ENTRY2( F15, F15 ),
|
||||
KTT_ENTRY2( DEL_PAD, KP_PERIOD ),
|
||||
KTT_ENTRY2( F11, F11 ),
|
||||
KTT_ENTRY2( F12, F12 ),
|
||||
KTT_ENTRY2( F13, F13 ),
|
||||
KTT_ENTRY2( F14, F14 ),
|
||||
KTT_ENTRY2( F15, F15 ),
|
||||
KTT_ENTRY2( ENTER_PAD, KP_ENTER ),
|
||||
KTT_ENTRY2( RCONTROL, RCTRL ),
|
||||
KTT_ENTRY2( RCONTROL, RCTRL ),
|
||||
KTT_ENTRY2( SLASH_PAD, KP_DIVIDE ),
|
||||
KTT_ENTRY2( PRTSCR, PRINT ),
|
||||
KTT_ENTRY2( RALT, RALT ),
|
||||
KTT_ENTRY2( HOME, HOME ),
|
||||
KTT_ENTRY2( UP, UP ),
|
||||
KTT_ENTRY2( PGUP, PAGEUP ),
|
||||
KTT_ENTRY2( LEFT, LEFT ),
|
||||
KTT_ENTRY2( PRTSCR, PRINT ),
|
||||
KTT_ENTRY2( RALT, RALT ),
|
||||
KTT_ENTRY2( HOME, HOME ),
|
||||
KTT_ENTRY2( UP, UP ),
|
||||
KTT_ENTRY2( PGUP, PAGEUP ),
|
||||
KTT_ENTRY2( LEFT, LEFT ),
|
||||
KTT_ENTRY2( RIGHT, RIGHT ),
|
||||
KTT_ENTRY2( END, END ),
|
||||
KTT_ENTRY2( DOWN, DOWN ),
|
||||
KTT_ENTRY2( PGDN, PAGEDOWN ),
|
||||
KTT_ENTRY2( INSERT, INSERT ),
|
||||
KTT_ENTRY2( END, END ),
|
||||
KTT_ENTRY2( DOWN, DOWN ),
|
||||
KTT_ENTRY2( PGDN, PAGEDOWN ),
|
||||
KTT_ENTRY2( INSERT, INSERT ),
|
||||
{ ITEM_ID_DEL, SDLK_DELETE, "ITEM_ID_DEL", (char *)"DELETE" },
|
||||
KTT_ENTRY2( LWIN, LSUPER ),
|
||||
KTT_ENTRY2( RWIN, RSUPER ),
|
||||
KTT_ENTRY2( MENU, MENU ),
|
||||
KTT_ENTRY2( LWIN, LSUPER ),
|
||||
KTT_ENTRY2( RWIN, RSUPER ),
|
||||
KTT_ENTRY2( MENU, MENU ),
|
||||
KTT_ENTRY0( TILDE, BACKQUOTE, 0xc0, '`', "TILDE" ),
|
||||
KTT_ENTRY0( BACKSLASH2, HASH, 0xdc, '\\', "BACKSLASH2" ),
|
||||
{ -1 }
|
||||
@ -1612,9 +1612,9 @@ void osd_customize_input_type_list(input_type_desc *typelist)
|
||||
|
||||
// disable UI_SELECT when LALT is down, this stops selecting
|
||||
// things in the menu when toggling fullscreen with LALT+ENTER
|
||||
/* case IPT_UI_SELECT:
|
||||
input_seq_set_3(&typedesc->seq[SEQ_TYPE_STANDARD], KEYCODE_ENTER, SEQCODE_NOT, KEYCODE_LALT);
|
||||
break;*/
|
||||
/* case IPT_UI_SELECT:
|
||||
input_seq_set_3(&typedesc->seq[SEQ_TYPE_STANDARD], KEYCODE_ENTER, SEQCODE_NOT, KEYCODE_LALT);
|
||||
break;*/
|
||||
|
||||
// page down for fastforward (must be OSD_3 as per src/emu/ui.c)
|
||||
case IPT_UI_FAST_FORWARD:
|
||||
|
@ -13,8 +13,8 @@
|
||||
#if USE_OPENGL
|
||||
|
||||
/* equivalent to #include <GL/gl.h>
|
||||
* #include <GL/glext.h>
|
||||
*/
|
||||
* #include <GL/glext.h>
|
||||
*/
|
||||
#include <SDL/SDL_version.h>
|
||||
|
||||
#if (SDL_VERSION_ATLEAST(1,2,10))
|
||||
@ -25,9 +25,9 @@
|
||||
#include <SDL/SDL_opengl.h>
|
||||
#else
|
||||
/*
|
||||
* SDL 1.2.9 does not provide everything we need
|
||||
* We therefore distribute it ourselves
|
||||
*/
|
||||
* SDL 1.2.9 does not provide everything we need
|
||||
* We therefore distribute it ourselves
|
||||
*/
|
||||
#include "SDL1211_opengl.h"
|
||||
#endif
|
||||
#ifdef USE_DISPATCH_GL
|
||||
@ -50,8 +50,8 @@
|
||||
extern osd_gl_dispatch *gl_dispatch;
|
||||
|
||||
/*
|
||||
* Use gl_mangle to map function names
|
||||
*/
|
||||
* Use gl_mangle to map function names
|
||||
*/
|
||||
|
||||
#define MANGLE(x) gl_dispatch->gl ## x
|
||||
#include "osd_opengl.h"
|
||||
@ -64,12 +64,12 @@
|
||||
|
||||
#else /* MANGLE */
|
||||
/***************************************************************
|
||||
*
|
||||
* Used to redefine opengl functions
|
||||
*
|
||||
* Credits: taken from gl_mangle.h
|
||||
*
|
||||
***************************************************************/
|
||||
*
|
||||
* Used to redefine opengl functions
|
||||
*
|
||||
* Credits: taken from gl_mangle.h
|
||||
*
|
||||
***************************************************************/
|
||||
|
||||
#define glAccum MANGLE(Accum)
|
||||
#define glActiveStencilFaceEXT MANGLE(ActiveStencilFaceEXT)
|
||||
@ -1517,12 +1517,12 @@
|
||||
#endif /* MANGLE */
|
||||
#else /* GET_GLFUNC */
|
||||
/***************************************************************
|
||||
*
|
||||
* Used recursively for prototyping and function assignment
|
||||
*
|
||||
* Credits: taken from sdl_glfuncs.h
|
||||
*
|
||||
***************************************************************/
|
||||
*
|
||||
* Used recursively for prototyping and function assignment
|
||||
*
|
||||
* Credits: taken from sdl_glfuncs.h
|
||||
*
|
||||
***************************************************************/
|
||||
|
||||
OSD_GL_UNUSED(void,glAccum,(GLenum,GLfloat))
|
||||
OSD_GL_UNUSED(void,glAlphaFunc,(GLenum,GLclampf))
|
||||
|
@ -3,204 +3,204 @@
|
||||
|
||||
/* Notes
|
||||
|
||||
- Known bugs:
|
||||
- Known bugs:
|
||||
|
||||
* SDL1.3/X11: Some compound keys, e.g. "'" are not supported by SDL driver
|
||||
* SDL1.3: sdlvideofps does not take -numscreens>1 into account.
|
||||
* SDL1.3/WIN32: crashes with -rd d3d
|
||||
* SDL1.3/WIN32: resizing does not work
|
||||
* SDL1.3/X11: Some compound keys, e.g. "'" are not supported by SDL driver
|
||||
* SDL1.3: sdlvideofps does not take -numscreens>1 into account.
|
||||
* SDL1.3/WIN32: crashes with -rd d3d
|
||||
* SDL1.3/WIN32: resizing does not work
|
||||
|
||||
- fixed returning (w,h) = (0,0) in get_max_bounds
|
||||
- new video driver "sdl13" utilitizing SDL texture and line
|
||||
drawing support. Accelerated drivers like directfb now
|
||||
may attain opengl speed. DirectFB does with a radeon card.
|
||||
The driver determines which pixel formats perform best and
|
||||
converts textures to these pixel formats.
|
||||
Supported options:
|
||||
-waitvsync
|
||||
-filter
|
||||
-prescale
|
||||
Supported renderdrivers:
|
||||
X11: opengl, software, x11 (no artwork!)
|
||||
DirectFB: directfb, software, opengl (special setup, slow)
|
||||
Windows: software, gdi (no artwork)
|
||||
- SDL1.3: Clear bck when moving
|
||||
- SDL1.3: now compiles on win32
|
||||
- SDL1.3: Support screen refresh rates, provided the sdl video
|
||||
layer supports them (e.g. X11).
|
||||
- Use video_config.waitvsync (previously option was queried)
|
||||
- -video soft / -sm now supports -prescale
|
||||
- removed reqwidth, reqheight from sdl_monitor_info; not used anywhere
|
||||
- removed layerconfig from sdl_video_config; not used anywhere
|
||||
- fixed returning (w,h) = (0,0) in get_max_bounds
|
||||
- new video driver "sdl13" utilitizing SDL texture and line
|
||||
drawing support. Accelerated drivers like directfb now
|
||||
may attain opengl speed. DirectFB does with a radeon card.
|
||||
The driver determines which pixel formats perform best and
|
||||
converts textures to these pixel formats.
|
||||
Supported options:
|
||||
-waitvsync
|
||||
-filter
|
||||
-prescale
|
||||
Supported renderdrivers:
|
||||
X11: opengl, software, x11 (no artwork!)
|
||||
DirectFB: directfb, software, opengl (special setup, slow)
|
||||
Windows: software, gdi (no artwork)
|
||||
- SDL1.3: Clear bck when moving
|
||||
- SDL1.3: now compiles on win32
|
||||
- SDL1.3: Support screen refresh rates, provided the sdl video
|
||||
layer supports them (e.g. X11).
|
||||
- Use video_config.waitvsync (previously option was queried)
|
||||
- -video soft / -sm now supports -prescale
|
||||
- removed reqwidth, reqheight from sdl_monitor_info; not used anywhere
|
||||
- removed layerconfig from sdl_video_config; not used anywhere
|
||||
|
||||
- fixed yuv issues (firefox) / this was a bug I introduced
|
||||
- removed deprecat.h from output.c
|
||||
- Separated keyboard and mouse initialization into separate functions
|
||||
- added _FORTIFY_SOURCE to verbose compiler define output.
|
||||
- remove MAX_CPU from debugwin.c
|
||||
- fixed vsync handling in SDL1.3 in soft/opengl drivers
|
||||
- "waitvsync" also supported by "soft" driver in SDL1.3
|
||||
- multiple mice and keyboards supported in SDL1.3
|
||||
- support for DISTRO= make option
|
||||
- got rid of "-joymap" and "-joymap_file"
|
||||
- add -joy_idx[0-7] -keyb_idx[0-7] -mouse_idx[0-7] which
|
||||
specify, which device is allocated to to e.g. Mouse 1, Mouse 2, ...
|
||||
- moved define of THREAD_COOPERATIVE into sdl.mak and renamed to
|
||||
NO_THREAD_COOPERATIVE. Changed references to #ifndef
|
||||
- define NO_DEBUGGER in sdl.mak
|
||||
- Solaris now uses -DNO_AFFINITY_NP
|
||||
- added machine to window_info, removed deprecat.h from drawogl.c
|
||||
- fixed yuv issues (firefox) / this was a bug I introduced
|
||||
- removed deprecat.h from output.c
|
||||
- Separated keyboard and mouse initialization into separate functions
|
||||
- added _FORTIFY_SOURCE to verbose compiler define output.
|
||||
- remove MAX_CPU from debugwin.c
|
||||
- fixed vsync handling in SDL1.3 in soft/opengl drivers
|
||||
- "waitvsync" also supported by "soft" driver in SDL1.3
|
||||
- multiple mice and keyboards supported in SDL1.3
|
||||
- support for DISTRO= make option
|
||||
- got rid of "-joymap" and "-joymap_file"
|
||||
- add -joy_idx[0-7] -keyb_idx[0-7] -mouse_idx[0-7] which
|
||||
specify, which device is allocated to to e.g. Mouse 1, Mouse 2, ...
|
||||
- moved define of THREAD_COOPERATIVE into sdl.mak and renamed to
|
||||
NO_THREAD_COOPERATIVE. Changed references to #ifndef
|
||||
- define NO_DEBUGGER in sdl.mak
|
||||
- Solaris now uses -DNO_AFFINITY_NP
|
||||
- added machine to window_info, removed deprecat.h from drawogl.c
|
||||
|
||||
- For DEBUG=1 builds, disable input grapping while windowed
|
||||
- Fixed WIN32 compile
|
||||
Wrote setenv function since mingw does not provide one.
|
||||
Implemented osd_event_* as inline functions for win32 build.
|
||||
We should at some point merge sdlwork.c and winwork.c and push it
|
||||
to the core, letting sdlsync.c provide the necessary details.
|
||||
- Removed keybled.c and references
|
||||
- Added output.c and output.h. These will look for a fifo or file
|
||||
/tmp/sdlmame_out and write output notifiers to it.
|
||||
Added a sample client ledutil.sh to src/osd/sdl which turns
|
||||
leds on and off and provides a debug (log) facility.
|
||||
- removed os2work.c
|
||||
- For DEBUG=1 builds, disable input grapping while windowed
|
||||
- Fixed WIN32 compile
|
||||
Wrote setenv function since mingw does not provide one.
|
||||
Implemented osd_event_* as inline functions for win32 build.
|
||||
We should at some point merge sdlwork.c and winwork.c and push it
|
||||
to the core, letting sdlsync.c provide the necessary details.
|
||||
- Removed keybled.c and references
|
||||
- Added output.c and output.h. These will look for a fifo or file
|
||||
/tmp/sdlmame_out and write output notifiers to it.
|
||||
Added a sample client ledutil.sh to src/osd/sdl which turns
|
||||
leds on and off and provides a debug (log) facility.
|
||||
- removed os2work.c
|
||||
|
||||
- replaced window->render_lock with event window->rendered_event
|
||||
For multiple windows and "-mt", the old code would allow filling up
|
||||
the workqueue with 1000s of entries, since the lock would not block while
|
||||
another window is rendered. The osd_event establishes a barrier which
|
||||
is only freed if the last window blit operation has finished.
|
||||
- Set SDL_VIDEO_GL_DRIVER if -gl_lib is given. The SDL directfb driver is picky about
|
||||
this. Added reminder: FIXME: move lib loading code from drawogl.c here. This may be
|
||||
used to disable opengl if no library was loaded.
|
||||
- SDL1.3/video=opengl: Fixed windows not being updated after another window was resized
|
||||
- for -verbose, output some information about renderer (-video soft)
|
||||
- initialize mouse_enabled with option "-mouse". Affects both SDL1.2 and SDL1.3
|
||||
This will hide the mouse if you specify "-mouse".
|
||||
- SDL1.2: added blitmode "async" which sets SDL_ASYNCBLIT
|
||||
- SDL1.2: removed blitmodes "hwbest" and "hwblit"
|
||||
- added blitmode "hwbest" for antialiased and smoothed scaling now that the
|
||||
directfb driver supports it. This is also supported by the 1.3 opengl
|
||||
render backend
|
||||
- added sdlinput_release_keys to cope with lost keyboard events in SDL1.3
|
||||
- some identing in drawogl.c
|
||||
- rename SDL_* macros to SDLMAME_* (avoid name clashes)
|
||||
- got rid of VIDEO_SCALE_MODE constants. Scale modes are now handled in drawsdl.c.
|
||||
Starting mame with eg. -video soft -sm yuy2 on X11 no longer crashes.
|
||||
- some more changes to input.c to avoid resize loops (issue for directfb)
|
||||
- replaced window->render_lock with event window->rendered_event
|
||||
For multiple windows and "-mt", the old code would allow filling up
|
||||
the workqueue with 1000s of entries, since the lock would not block while
|
||||
another window is rendered. The osd_event establishes a barrier which
|
||||
is only freed if the last window blit operation has finished.
|
||||
- Set SDL_VIDEO_GL_DRIVER if -gl_lib is given. The SDL directfb driver is picky about
|
||||
this. Added reminder: FIXME: move lib loading code from drawogl.c here. This may be
|
||||
used to disable opengl if no library was loaded.
|
||||
- SDL1.3/video=opengl: Fixed windows not being updated after another window was resized
|
||||
- for -verbose, output some information about renderer (-video soft)
|
||||
- initialize mouse_enabled with option "-mouse". Affects both SDL1.2 and SDL1.3
|
||||
This will hide the mouse if you specify "-mouse".
|
||||
- SDL1.2: added blitmode "async" which sets SDL_ASYNCBLIT
|
||||
- SDL1.2: removed blitmodes "hwbest" and "hwblit"
|
||||
- added blitmode "hwbest" for antialiased and smoothed scaling now that the
|
||||
directfb driver supports it. This is also supported by the 1.3 opengl
|
||||
render backend
|
||||
- added sdlinput_release_keys to cope with lost keyboard events in SDL1.3
|
||||
- some identing in drawogl.c
|
||||
- rename SDL_* macros to SDLMAME_* (avoid name clashes)
|
||||
- got rid of VIDEO_SCALE_MODE constants. Scale modes are now handled in drawsdl.c.
|
||||
Starting mame with eg. -video soft -sm yuy2 on X11 no longer crashes.
|
||||
- some more changes to input.c to avoid resize loops (issue for directfb)
|
||||
|
||||
- working ui mouse inputs for SDL1.2 and SDL1.3 incl. yuv modes
|
||||
- added blitmode "hwblit" (SDL1.3) for rgb hardware scaling
|
||||
- rename "-yuvmode" option to "-scalemode"
|
||||
- rename yuv_mode and derivatives to scale_mode
|
||||
- moved extra_flags into sdl_info
|
||||
- moved callbacks indow sdl_window_info
|
||||
- made a number of flags (e.g. yuvmode) window relative
|
||||
- working ui mouse inputs for SDL1.2 and SDL1.3 incl. yuv modes
|
||||
- added blitmode "hwblit" (SDL1.3) for rgb hardware scaling
|
||||
- rename "-yuvmode" option to "-scalemode"
|
||||
- rename yuv_mode and derivatives to scale_mode
|
||||
- moved extra_flags into sdl_info
|
||||
- moved callbacks indow sdl_window_info
|
||||
- made a number of flags (e.g. yuvmode) window relative
|
||||
- changing of yuvmodes and opengl scale effects is working with SDL 1.3
|
||||
- improved fullscreen handling
|
||||
- removed HAS_WINDOW_MENU - this has no effect nowhere
|
||||
- removed underscores in header defines, e.g. __SDL_SYNC__ ==> __SDLSYNC__
|
||||
- added SDLMAME_HAS_DEBUGGER define
|
||||
- removed #if 0 inw window.c
|
||||
- added option "-audiodriver" to specify the SDL audio driver
|
||||
- added option "-videodriver" to specify the SDL video driver
|
||||
- added option "-renderdriver" to specify the SDL renderer driver
|
||||
- changed environment SDLMAME_GL_LIB into option -gl_lib
|
||||
- added some more SDL_ENV defines
|
||||
- move keymap reading into separate function
|
||||
- SDL_EnableUNICODE for all builds (not only MESS)
|
||||
- SDL1.3 : Mouse & text input for ui
|
||||
- improved fullscreen handling
|
||||
- removed HAS_WINDOW_MENU - this has no effect nowhere
|
||||
- removed underscores in header defines, e.g. __SDL_SYNC__ ==> __SDLSYNC__
|
||||
- added SDLMAME_HAS_DEBUGGER define
|
||||
- removed #if 0 inw window.c
|
||||
- added option "-audiodriver" to specify the SDL audio driver
|
||||
- added option "-videodriver" to specify the SDL video driver
|
||||
- added option "-renderdriver" to specify the SDL renderer driver
|
||||
- changed environment SDLMAME_GL_LIB into option -gl_lib
|
||||
- added some more SDL_ENV defines
|
||||
- move keymap reading into separate function
|
||||
- SDL_EnableUNICODE for all builds (not only MESS)
|
||||
- SDL1.3 : Mouse & text input for ui
|
||||
|
||||
- removed osd_event_wait_multiple from sdlsync.h
|
||||
- removed some includes not needed
|
||||
- reorganized texcopy/scale2x
|
||||
- removed effect.h
|
||||
- removed effect_func.h
|
||||
- indenting
|
||||
- put osd_copyfile, osd_stat into #ifdef MESS
|
||||
- added code which implements events without the need
|
||||
for pthreads. This is commented out, since
|
||||
owever, it horribly fails, if
|
||||
threads > num processors as is the case if you
|
||||
enable "-mt"
|
||||
- rename mame_bitmap to bitmap_t
|
||||
- introduced define OSDWORK_CALLBACK to prototype and
|
||||
define functions to be passed to sdlwork.c
|
||||
- removed osd_event_wait_multiple from sdlsync.h
|
||||
- removed some includes not needed
|
||||
- reorganized texcopy/scale2x
|
||||
- removed effect.h
|
||||
- removed effect_func.h
|
||||
- indenting
|
||||
- put osd_copyfile, osd_stat into #ifdef MESS
|
||||
- added code which implements events without the need
|
||||
for pthreads. This is commented out, since
|
||||
owever, it horribly fails, if
|
||||
threads > num processors as is the case if you
|
||||
enable "-mt"
|
||||
- rename mame_bitmap to bitmap_t
|
||||
- introduced define OSDWORK_CALLBACK to prototype and
|
||||
define functions to be passed to sdlwork.c
|
||||
|
||||
- fixes from judge for warnings / may reappear (glade)
|
||||
- more warnings fixed / may reappear (glade)
|
||||
- moved osdefs.h into sdlprefix.h
|
||||
- removed osdefs.h
|
||||
- finally removed sdlmisc.h
|
||||
- fixes from judge for warnings / may reappear (glade)
|
||||
- more warnings fixed / may reappear (glade)
|
||||
- moved osdefs.h into sdlprefix.h
|
||||
- removed osdefs.h
|
||||
- finally removed sdlmisc.h
|
||||
|
||||
- create drawogl.c and moved ogl relevant stuff there
|
||||
- draw.window_init() now called after window creation
|
||||
- removed window.opengl flag
|
||||
- added sdl_window_info as parameter to all functions in window.h
|
||||
- rename SDL_VERSIONNUM to SDL_VERSION_ATLEAST
|
||||
- removed all uclock stuff in sdlmisc.[ch]
|
||||
- minor cleanups
|
||||
- create drawogl.c and moved ogl relevant stuff there
|
||||
- draw.window_init() now called after window creation
|
||||
- removed window.opengl flag
|
||||
- added sdl_window_info as parameter to all functions in window.h
|
||||
- rename SDL_VERSIONNUM to SDL_VERSION_ATLEAST
|
||||
- removed all uclock stuff in sdlmisc.[ch]
|
||||
- minor cleanups
|
||||
|
||||
- fixed compile issues against SDL13
|
||||
- fixed input issues with SDL13
|
||||
- stricter checks for USE_OPENGL, e.g. for options
|
||||
- move sdlvideo_loadgl to window.c, rename it to sdlwindow_loadgl and make it static
|
||||
- moved yuv_blit.c into drawsdl.c
|
||||
- renamed compute_blit_surface_size to sdlwindow_blit_surface_size
|
||||
- renamed drawsdl_destroy_all_textures to drawogl_destroy_all_textures and
|
||||
moved it to _sdl_draw_callbacks
|
||||
- removed print_colums
|
||||
- rename misc.h to sdlmisc.h
|
||||
- moved some includes from .h to .c
|
||||
- rename led_init to sdlled_init for consistency
|
||||
- rename sdl_init_audio to sdlaudio_init for consistency
|
||||
- fixed some indentation issues
|
||||
- removed ticker.h & dirty.h
|
||||
- fixed compile issues against SDL13
|
||||
- fixed input issues with SDL13
|
||||
- stricter checks for USE_OPENGL, e.g. for options
|
||||
- move sdlvideo_loadgl to window.c, rename it to sdlwindow_loadgl and make it static
|
||||
- moved yuv_blit.c into drawsdl.c
|
||||
- renamed compute_blit_surface_size to sdlwindow_blit_surface_size
|
||||
- renamed drawsdl_destroy_all_textures to drawogl_destroy_all_textures and
|
||||
moved it to _sdl_draw_callbacks
|
||||
- removed print_colums
|
||||
- rename misc.h to sdlmisc.h
|
||||
- moved some includes from .h to .c
|
||||
- rename led_init to sdlled_init for consistency
|
||||
- rename sdl_init_audio to sdlaudio_init for consistency
|
||||
- fixed some indentation issues
|
||||
- removed ticker.h & dirty.h
|
||||
|
||||
- changed all [f]printf to mame_printf_verbose|error|warning
|
||||
- removed obsolete frameskipping code
|
||||
- removed obsolete throttle code
|
||||
- removed fastforward
|
||||
- removed framestorun
|
||||
- introduced SDLOPTION constants for a number of options
|
||||
- add more verbose info for YUV
|
||||
- changed all [f]printf to mame_printf_verbose|error|warning
|
||||
- removed obsolete frameskipping code
|
||||
- removed obsolete throttle code
|
||||
- removed fastforward
|
||||
- removed framestorun
|
||||
- introduced SDLOPTION constants for a number of options
|
||||
- add more verbose info for YUV
|
||||
|
||||
- removed dirty.h
|
||||
- removed ticker.h
|
||||
- removed dirty.h
|
||||
- removed ticker.h
|
||||
|
||||
- remove win_trying_to_quit
|
||||
- changed win_use_mouse to static use_mouse
|
||||
- removed win_key_trans_table
|
||||
- removed keyboard typematic definitions from input.h
|
||||
- made sdl_monitor_list static
|
||||
- removed hwstretch (sdl_video_config)
|
||||
- removed syncrefresh (sdl_video_config)
|
||||
- removed triplebuf (sdl_video_config)
|
||||
- removed sdl_has_menu
|
||||
- fixed memory_leak (window.c)
|
||||
- remove win_trying_to_quit
|
||||
- changed win_use_mouse to static use_mouse
|
||||
- removed win_key_trans_table
|
||||
- removed keyboard typematic definitions from input.h
|
||||
- made sdl_monitor_list static
|
||||
- removed hwstretch (sdl_video_config)
|
||||
- removed syncrefresh (sdl_video_config)
|
||||
- removed triplebuf (sdl_video_config)
|
||||
- removed sdl_has_menu
|
||||
- fixed memory_leak (window.c)
|
||||
|
||||
- moved prototypes from drawsdl.c to window.h
|
||||
- removed joystick calibration code
|
||||
- "#if 0" code which is unreachable
|
||||
- "#if 0" code which is never used
|
||||
- moved pick_best_mode to window.c
|
||||
- removed pause_brightness option
|
||||
- added more SDLOPTION_ defines
|
||||
- moved prototypes from drawsdl.c to window.h
|
||||
- removed joystick calibration code
|
||||
- "#if 0" code which is unreachable
|
||||
- "#if 0" code which is never used
|
||||
- moved pick_best_mode to window.c
|
||||
- removed pause_brightness option
|
||||
- added more SDLOPTION_ defines
|
||||
|
||||
- renamed void yuv_lookup_init to drawsdl_yuv_init (global namespace)
|
||||
- rmoved some obsolete code
|
||||
- add SDL1.3 compatibility
|
||||
- renamed void yuv_lookup_init to drawsdl_yuv_init (global namespace)
|
||||
- rmoved some obsolete code
|
||||
- add SDL1.3 compatibility
|
||||
|
||||
- fixed some compile issues
|
||||
- moved clear_surface into window thread
|
||||
- got SDL1.3 -mt working - still crashing on exit
|
||||
- fixed some compile issues
|
||||
- moved clear_surface into window thread
|
||||
- got SDL1.3 -mt working - still crashing on exit
|
||||
|
||||
- removed "digital" option
|
||||
- removed device selection options
|
||||
- added more SDLOPTION defines
|
||||
- removed "digital" option
|
||||
- removed device selection options
|
||||
- added more SDLOPTION defines
|
||||
*/
|
||||
|
||||
//============================================================
|
||||
// System dependent defines
|
||||
// System dependent defines
|
||||
//============================================================
|
||||
|
||||
// Process events in worker thread
|
||||
@ -224,13 +224,13 @@
|
||||
#endif
|
||||
|
||||
#if defined(NO_DEBUGGER)
|
||||
#define SDLMAME_HAS_DEBUGGER (0)
|
||||
#define SDLMAME_HAS_DEBUGGER (0)
|
||||
#else
|
||||
#define SDLMAME_HAS_DEBUGGER (1)
|
||||
#define SDLMAME_HAS_DEBUGGER (1)
|
||||
#endif
|
||||
|
||||
//============================================================
|
||||
// Defines
|
||||
// Defines
|
||||
//============================================================
|
||||
|
||||
#define SDLOPTION_INIPATH "inipath"
|
||||
@ -316,13 +316,13 @@
|
||||
|
||||
|
||||
//============================================================
|
||||
// sound.c
|
||||
// sound.c
|
||||
//============================================================
|
||||
|
||||
void sdlaudio_init(running_machine *machine);
|
||||
|
||||
//============================================================
|
||||
// sdlwork.c
|
||||
// sdlwork.c
|
||||
//============================================================
|
||||
|
||||
extern int sdl_num_processors;
|
||||
|
@ -1,6 +1,6 @@
|
||||
//============================================================
|
||||
//
|
||||
// osinline.h - GNU C inline functions
|
||||
// osinline.h - GNU C inline functions
|
||||
//
|
||||
//============================================================
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
//============================================================
|
||||
// INLINE FUNCTIONS
|
||||
// INLINE FUNCTIONS
|
||||
//============================================================
|
||||
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
|
@ -215,7 +215,7 @@ SDLMAIN =
|
||||
OSDCOREOBJS = \
|
||||
$(SDLOBJ)/strconv.o \
|
||||
$(SDLOBJ)/sdldir.o \
|
||||
$(SDLOBJ)/sdlfile.o \
|
||||
$(SDLOBJ)/sdlfile.o \
|
||||
$(SDLOBJ)/sdlos_$(TARGETOS).o \
|
||||
$(SDLOBJ)/sdlsync_$(SYNC_IMPLEMENTATION).o \
|
||||
$(SDLOBJ)/sdlwork.o
|
||||
|
@ -49,7 +49,7 @@ static UINT32 create_path_recursive(char *path);
|
||||
struct _osd_file
|
||||
{
|
||||
int handle;
|
||||
char filename[1];
|
||||
char filename[1];
|
||||
};
|
||||
|
||||
|
||||
@ -406,7 +406,7 @@ int osd_is_absolute_path(const char *path)
|
||||
/* not used anywhere */
|
||||
#if 0
|
||||
//============================================================
|
||||
// osd_mkdir
|
||||
// osd_mkdir
|
||||
//============================================================
|
||||
|
||||
file_error osd_mkdir(const char *dir)
|
||||
@ -424,7 +424,7 @@ file_error osd_mkdir(const char *dir)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// osd_rmdir
|
||||
// osd_rmdir
|
||||
//============================================================
|
||||
|
||||
static file_error osd_rmdir(const char *dir)
|
||||
@ -442,7 +442,7 @@ static file_error osd_rmdir(const char *dir)
|
||||
#ifdef MESS
|
||||
|
||||
//============================================================
|
||||
// osd_copyfile
|
||||
// osd_copyfile
|
||||
// FIXME: this will not work with blanks in filename ...
|
||||
//============================================================
|
||||
|
||||
|
@ -60,7 +60,7 @@ void MorphToPM()
|
||||
#endif
|
||||
|
||||
//============================================================
|
||||
// LOCAL VARIABLES
|
||||
// LOCAL VARIABLES
|
||||
//============================================================
|
||||
|
||||
#ifdef MESS
|
||||
@ -126,28 +126,28 @@ static const options_entry mame_sdl_options[] =
|
||||
{ SDLOPTION_GL_VBO, "1", OPTION_BOOLEAN, "enable OpenGL VBO, if available (default on)" },
|
||||
{ SDLOPTION_GL_PBO, "1", OPTION_BOOLEAN, "enable OpenGL PBO, if available (default on)" },
|
||||
{ SDLOPTION_GL_GLSL, "0", OPTION_BOOLEAN, "enable OpenGL GLSL, if available (default off)" },
|
||||
{ SDLOPTION_GLSL_FILTER, "1", 0, "enable OpenGL GLSL filtering instead of FF filtering 0-plain, 1-bilinear (default)" },
|
||||
{ SDLOPTION_SHADER_MAME("0"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 0" },
|
||||
{ SDLOPTION_SHADER_MAME("1"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 1" },
|
||||
{ SDLOPTION_SHADER_MAME("2"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 2" },
|
||||
{ SDLOPTION_SHADER_MAME("3"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 3" },
|
||||
{ SDLOPTION_SHADER_MAME("4"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 4" },
|
||||
{ SDLOPTION_SHADER_MAME("5"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 5" },
|
||||
{ SDLOPTION_SHADER_MAME("6"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 6" },
|
||||
{ SDLOPTION_SHADER_MAME("7"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 7" },
|
||||
{ SDLOPTION_SHADER_MAME("8"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 8" },
|
||||
{ SDLOPTION_SHADER_MAME("9"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 9" },
|
||||
{ SDLOPTION_SHADER_SCREEN("0"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 0" },
|
||||
{ SDLOPTION_SHADER_SCREEN("1"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 1" },
|
||||
{ SDLOPTION_SHADER_SCREEN("2"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 2" },
|
||||
{ SDLOPTION_SHADER_SCREEN("3"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 3" },
|
||||
{ SDLOPTION_SHADER_SCREEN("4"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 4" },
|
||||
{ SDLOPTION_SHADER_SCREEN("5"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 5" },
|
||||
{ SDLOPTION_SHADER_SCREEN("6"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 6" },
|
||||
{ SDLOPTION_SHADER_SCREEN("7"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 7" },
|
||||
{ SDLOPTION_SHADER_SCREEN("8"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 8" },
|
||||
{ SDLOPTION_SHADER_SCREEN("9"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 9" },
|
||||
{ SDLOPTION_GL_GLSL_VID_ATTR, "1", OPTION_BOOLEAN, "enable OpenGL GLSL handling of brightness and contrast. Better RGB game performance for free. (default)" },
|
||||
{ SDLOPTION_GLSL_FILTER, "1", 0, "enable OpenGL GLSL filtering instead of FF filtering 0-plain, 1-bilinear (default)" },
|
||||
{ SDLOPTION_SHADER_MAME("0"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 0" },
|
||||
{ SDLOPTION_SHADER_MAME("1"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 1" },
|
||||
{ SDLOPTION_SHADER_MAME("2"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 2" },
|
||||
{ SDLOPTION_SHADER_MAME("3"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 3" },
|
||||
{ SDLOPTION_SHADER_MAME("4"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 4" },
|
||||
{ SDLOPTION_SHADER_MAME("5"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 5" },
|
||||
{ SDLOPTION_SHADER_MAME("6"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 6" },
|
||||
{ SDLOPTION_SHADER_MAME("7"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 7" },
|
||||
{ SDLOPTION_SHADER_MAME("8"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 8" },
|
||||
{ SDLOPTION_SHADER_MAME("9"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader set mame bitmap 9" },
|
||||
{ SDLOPTION_SHADER_SCREEN("0"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 0" },
|
||||
{ SDLOPTION_SHADER_SCREEN("1"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 1" },
|
||||
{ SDLOPTION_SHADER_SCREEN("2"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 2" },
|
||||
{ SDLOPTION_SHADER_SCREEN("3"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 3" },
|
||||
{ SDLOPTION_SHADER_SCREEN("4"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 4" },
|
||||
{ SDLOPTION_SHADER_SCREEN("5"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 5" },
|
||||
{ SDLOPTION_SHADER_SCREEN("6"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 6" },
|
||||
{ SDLOPTION_SHADER_SCREEN("7"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 7" },
|
||||
{ SDLOPTION_SHADER_SCREEN("8"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 8" },
|
||||
{ SDLOPTION_SHADER_SCREEN("9"), SDLOPTVAL_NONE, 0, "custom OpenGL GLSL shader screen bitmap 9" },
|
||||
{ SDLOPTION_GL_GLSL_VID_ATTR, "1", OPTION_BOOLEAN, "enable OpenGL GLSL handling of brightness and contrast. Better RGB game performance for free. (default)" },
|
||||
#endif
|
||||
|
||||
// per-window options
|
||||
@ -241,7 +241,7 @@ static const options_entry mame_sdl_options[] =
|
||||
#endif
|
||||
{ SDLOPTION_AUDIODRIVER ";ad", SDLOPTVAL_AUTO, 0, "sdl audio driver to use ('alsa', 'arts', ... or 'auto' for SDL default" },
|
||||
#if USE_OPENGL
|
||||
{ SDLOPTION_GL_LIB, SDLOPTVAL_GLLIB, 0, "alternative libGL.so to use; 'auto' for system default" },
|
||||
{ SDLOPTION_GL_LIB, SDLOPTVAL_GLLIB, 0, "alternative libGL.so to use; 'auto' for system default" },
|
||||
#endif
|
||||
|
||||
// End of list
|
||||
@ -267,8 +267,8 @@ static int setenv(const char *name, const char *value, int overwrite)
|
||||
result = putenv(buf);
|
||||
|
||||
/* will be referenced by environment
|
||||
* Therefore it is not freed here
|
||||
*/
|
||||
* Therefore it is not freed here
|
||||
*/
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -276,7 +276,7 @@ static int setenv(const char *name, const char *value, int overwrite)
|
||||
#endif
|
||||
|
||||
//============================================================
|
||||
// main
|
||||
// main
|
||||
//============================================================
|
||||
|
||||
// we do some special sauce on Win32...
|
||||
@ -367,7 +367,7 @@ static void output_oslog(running_machine *machine, const char *buffer)
|
||||
|
||||
|
||||
//============================================================
|
||||
// osd_exit
|
||||
// osd_exit
|
||||
//============================================================
|
||||
|
||||
static void osd_exit(running_machine *machine)
|
||||
@ -378,7 +378,7 @@ static void osd_exit(running_machine *machine)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// defines_verbose
|
||||
// defines_verbose
|
||||
//============================================================
|
||||
|
||||
#define MAC_EXPAND_STR(_m) #_m
|
||||
@ -445,7 +445,7 @@ static void defines_verbose(void)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// osd_sdl_info
|
||||
// osd_sdl_info
|
||||
//============================================================
|
||||
|
||||
static void osd_sdl_info(void)
|
||||
@ -495,7 +495,7 @@ static void osd_sdl_info(void)
|
||||
|
||||
|
||||
//============================================================
|
||||
// osd_init
|
||||
// osd_init
|
||||
//============================================================
|
||||
|
||||
void osd_init(running_machine *machine)
|
||||
@ -528,8 +528,8 @@ void osd_init(running_machine *machine)
|
||||
}
|
||||
|
||||
/* Set the SDL environment variable for drivers wanting to load the
|
||||
* lib at startup.
|
||||
*/
|
||||
* lib at startup.
|
||||
*/
|
||||
/* FIXME: move lib loading code from drawogl.c here */
|
||||
|
||||
stemp = options_get_string(mame_options(), SDLOPTION_GL_LIB);
|
||||
|
@ -65,7 +65,7 @@ int osd_event_wait(osd_event *event, osd_ticks_t timeout);
|
||||
|
||||
Return value:
|
||||
|
||||
None
|
||||
None
|
||||
-----------------------------------------------------------------------------*/
|
||||
void osd_event_reset(osd_event *event);
|
||||
|
||||
@ -79,11 +79,11 @@ void osd_event_reset(osd_event *event);
|
||||
|
||||
Return value:
|
||||
|
||||
None
|
||||
None
|
||||
|
||||
Notes:
|
||||
Notes:
|
||||
|
||||
All threads waiting for the event will be signalled.
|
||||
All threads waiting for the event will be signalled.
|
||||
-----------------------------------------------------------------------------*/
|
||||
void osd_event_set(osd_event *event);
|
||||
|
||||
@ -152,7 +152,7 @@ int osd_thread_adjust_priority(osd_thread *thread, int adjust);
|
||||
thread - A pointer to a previously created thread
|
||||
or NULL for main thread
|
||||
mask - bitmask to which cpus to bind
|
||||
i.e. 0x01 1st cpu, 0x02, 2nd cpu, 0x04 3rd cpu
|
||||
i.e. 0x01 1st cpu, 0x02, 2nd cpu, 0x04 3rd cpu
|
||||
|
||||
Return value:
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <sys/time.h>
|
||||
|
||||
struct _osd_lock {
|
||||
volatile pthread_t holder;
|
||||
volatile pthread_t holder;
|
||||
INT32 count;
|
||||
#ifdef PTR64
|
||||
INT8 padding[52]; // Fill a 64-byte cache line
|
||||
@ -46,7 +46,7 @@ struct _osd_lock {
|
||||
|
||||
struct _osd_event {
|
||||
pthread_mutex_t mutex;
|
||||
pthread_cond_t cond;
|
||||
pthread_cond_t cond;
|
||||
volatile INT32 autoreset;
|
||||
volatile INT32 signalled;
|
||||
#ifdef PTR64
|
||||
@ -69,10 +69,10 @@ struct _osd_scalable_lock
|
||||
{
|
||||
struct
|
||||
{
|
||||
volatile INT32 haslock; // do we have the lock?
|
||||
INT32 filler[64/4-1]; // assumes a 64-byte cache line
|
||||
volatile INT32 haslock; // do we have the lock?
|
||||
INT32 filler[64/4-1]; // assumes a 64-byte cache line
|
||||
} slot[WORK_MAX_THREADS]; // one slot per thread
|
||||
volatile INT32 nextindex; // index of next slot to use
|
||||
volatile INT32 nextindex; // index of next slot to use
|
||||
};
|
||||
|
||||
|
||||
@ -265,9 +265,9 @@ void osd_lock_acquire(osd_lock *lock)
|
||||
#endif
|
||||
#if 0
|
||||
/* If you mean to use locks as a blocking mechanism for extended
|
||||
* periods of time, you should do something like this. However,
|
||||
* it kills the performance of gaelco3d.
|
||||
*/
|
||||
* periods of time, you should do something like this. However,
|
||||
* it kills the performance of gaelco3d.
|
||||
*/
|
||||
if (spin == 0)
|
||||
{
|
||||
struct timespec sleep = { 0, 100000 }, remaining;
|
||||
@ -319,7 +319,7 @@ void osd_lock_release(osd_lock *lock)
|
||||
}
|
||||
|
||||
// trying to release a lock you don't hold is bad!
|
||||
// assert(lock->holder == pthread_self());
|
||||
// assert(lock->holder == pthread_self());
|
||||
}
|
||||
|
||||
//============================================================
|
||||
|
@ -34,7 +34,7 @@
|
||||
#define pthread_self _gettid
|
||||
|
||||
struct _osd_lock {
|
||||
volatile pthread_t holder;
|
||||
volatile pthread_t holder;
|
||||
INT32 count;
|
||||
#ifdef PTR64
|
||||
INT8 padding[52]; // Fill a 64-byte cache line
|
||||
@ -62,10 +62,10 @@ struct _osd_scalable_lock
|
||||
{
|
||||
struct
|
||||
{
|
||||
volatile INT32 haslock; // do we have the lock?
|
||||
INT32 filler[64/4-1]; // assumes a 64-byte cache line
|
||||
volatile INT32 haslock; // do we have the lock?
|
||||
INT32 filler[64/4-1]; // assumes a 64-byte cache line
|
||||
} slot[WORK_MAX_THREADS]; // one slot per thread
|
||||
volatile INT32 nextindex; // index of next slot to use
|
||||
volatile INT32 nextindex; // index of next slot to use
|
||||
};
|
||||
|
||||
|
||||
@ -258,9 +258,9 @@ void osd_lock_acquire(osd_lock *lock)
|
||||
#endif
|
||||
#if 0
|
||||
/* If you mean to use locks as a blocking mechanism for extended
|
||||
* periods of time, you should do something like this. However,
|
||||
* it kills the performance of gaelco3d.
|
||||
*/
|
||||
* periods of time, you should do something like this. However,
|
||||
* it kills the performance of gaelco3d.
|
||||
*/
|
||||
if (spin == 0)
|
||||
{
|
||||
struct timespec sleep = { 0, 100000 }, remaining;
|
||||
@ -312,7 +312,7 @@ void osd_lock_release(osd_lock *lock)
|
||||
}
|
||||
|
||||
// trying to release a lock you don't hold is bad!
|
||||
// assert(lock->holder == pthread_self());
|
||||
// assert(lock->holder == pthread_self());
|
||||
}
|
||||
|
||||
//============================================================
|
||||
|
@ -36,8 +36,8 @@ struct _hidden_mutex_t {
|
||||
};
|
||||
|
||||
struct _osd_event {
|
||||
SDL_mutex * mutex;
|
||||
SDL_cond * cond;
|
||||
SDL_mutex * mutex;
|
||||
SDL_cond * cond;
|
||||
volatile INT32 autoreset;
|
||||
volatile INT32 signalled;
|
||||
};
|
||||
@ -54,7 +54,7 @@ struct _osd_thread {
|
||||
|
||||
struct _osd_scalable_lock
|
||||
{
|
||||
SDL_mutex * mutex;
|
||||
SDL_mutex * mutex;
|
||||
};
|
||||
|
||||
//============================================================
|
||||
|
@ -39,7 +39,7 @@ struct _hidden_mutex_t {
|
||||
|
||||
struct _osd_event {
|
||||
pthread_mutex_t mutex;
|
||||
pthread_cond_t cond;
|
||||
pthread_cond_t cond;
|
||||
volatile INT32 autoreset;
|
||||
volatile INT32 signalled;
|
||||
#ifdef PTR64
|
||||
@ -142,7 +142,7 @@ int osd_lock_try(osd_lock *lock)
|
||||
if (r==0)
|
||||
return 1;
|
||||
//if (r!=EBUSY)
|
||||
// mame_printf_error("Error on trylock: %d: %s\n", r, strerror(r));
|
||||
// mame_printf_error("Error on trylock: %d: %s\n", r, strerror(r));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -98,10 +98,10 @@ struct _osd_scalable_lock
|
||||
#if USE_SCALABLE_LOCKS
|
||||
struct
|
||||
{
|
||||
volatile INT32 haslock; // do we have the lock?
|
||||
volatile INT32 haslock; // do we have the lock?
|
||||
INT32 filler[64/4-1]; // assumes a 64-byte cache line
|
||||
} slot[WORK_MAX_THREADS]; // one slot per thread
|
||||
volatile INT32 nextindex; // index of next slot to use
|
||||
volatile INT32 nextindex; // index of next slot to use
|
||||
#else
|
||||
CRITICAL_SECTION section;
|
||||
#endif
|
||||
|
@ -114,7 +114,7 @@ struct _osd_work_item
|
||||
{
|
||||
osd_work_item * next; // pointer to next item
|
||||
osd_work_queue * queue; // pointer back to the owning queue
|
||||
osd_work_callback callback; // callback function
|
||||
osd_work_callback callback; // callback function
|
||||
void * param; // callback parameter
|
||||
void * result; // callback result
|
||||
osd_event * event; // event signalled when complete
|
||||
@ -586,7 +586,7 @@ static int effective_num_processors(void)
|
||||
|
||||
static UINT32 effective_cpu_mask(int index)
|
||||
{
|
||||
char *s;
|
||||
char *s;
|
||||
char buf[5];
|
||||
UINT32 mask = 0xFFFF;
|
||||
|
||||
|
@ -23,13 +23,13 @@
|
||||
#include "osdsdl.h"
|
||||
|
||||
//============================================================
|
||||
// DEBUGGING
|
||||
// DEBUGGING
|
||||
//============================================================
|
||||
|
||||
#define LOG_SOUND 0
|
||||
|
||||
//============================================================
|
||||
// PARAMETERS
|
||||
// PARAMETERS
|
||||
//============================================================
|
||||
|
||||
// number of samples per SDL callback
|
||||
@ -43,10 +43,10 @@ static int stream_loop = 0;
|
||||
#define MAX_AUDIO_LATENCY 10
|
||||
|
||||
//============================================================
|
||||
// LOCAL VARIABLES
|
||||
// LOCAL VARIABLES
|
||||
//============================================================
|
||||
|
||||
static int attenuation = 0;
|
||||
static int attenuation = 0;
|
||||
|
||||
static int initialized_audio = 0;
|
||||
static int buf_locked;
|
||||
@ -69,7 +69,7 @@ static FILE *sound_log;
|
||||
static int snd_enabled;
|
||||
|
||||
//============================================================
|
||||
// PROTOTYPES
|
||||
// PROTOTYPES
|
||||
//============================================================
|
||||
|
||||
static int sdl_init(running_machine *machine);
|
||||
@ -82,7 +82,7 @@ static void sdl_callback(void *userdata, Uint8 *stream, int len);
|
||||
|
||||
|
||||
//============================================================
|
||||
// osd_start_audio_stream
|
||||
// osd_start_audio_stream
|
||||
//============================================================
|
||||
void sdlaudio_init(running_machine *machine)
|
||||
{
|
||||
@ -106,7 +106,7 @@ void sdlaudio_init(running_machine *machine)
|
||||
|
||||
|
||||
//============================================================
|
||||
// osd_stop_audio_stream
|
||||
// osd_stop_audio_stream
|
||||
//============================================================
|
||||
|
||||
static void sdl_cleanup_audio(running_machine *machine)
|
||||
@ -131,7 +131,7 @@ static void sdl_cleanup_audio(running_machine *machine)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// lock_buffer
|
||||
// lock_buffer
|
||||
//============================================================
|
||||
static int lock_buffer(long offset, long size, void **buffer1, long *length1, void **buffer2, long *length2)
|
||||
{
|
||||
@ -183,7 +183,7 @@ static int lock_buffer(long offset, long size, void **buffer1, long *length1, vo
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// unlock_buffer
|
||||
// unlock_buffer
|
||||
//============================================================
|
||||
static void unlock_buffer(void)
|
||||
{
|
||||
@ -197,7 +197,7 @@ static void unlock_buffer(void)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// Apply attenuation
|
||||
// Apply attenuation
|
||||
//============================================================
|
||||
|
||||
static void att_memcpy(void *dest, INT16 *data, int bytes_to_copy)
|
||||
@ -213,7 +213,7 @@ static void att_memcpy(void *dest, INT16 *data, int bytes_to_copy)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// copy_sample_data
|
||||
// copy_sample_data
|
||||
//============================================================
|
||||
|
||||
static void copy_sample_data(INT16 *data, int bytes_to_copy)
|
||||
@ -261,7 +261,7 @@ static void copy_sample_data(INT16 *data, int bytes_to_copy)
|
||||
|
||||
|
||||
//============================================================
|
||||
// osd_update_audio_stream
|
||||
// osd_update_audio_stream
|
||||
//============================================================
|
||||
|
||||
void osd_update_audio_stream(running_machine *machine, INT16 *buffer, int samples_this_frame)
|
||||
@ -343,7 +343,7 @@ void osd_update_audio_stream(running_machine *machine, INT16 *buffer, int sample
|
||||
|
||||
|
||||
//============================================================
|
||||
// osd_set_mastervolume
|
||||
// osd_set_mastervolume
|
||||
//============================================================
|
||||
|
||||
void osd_set_mastervolume(int _attenuation)
|
||||
@ -358,7 +358,7 @@ void osd_set_mastervolume(int _attenuation)
|
||||
}
|
||||
|
||||
//============================================================
|
||||
// sdl_callback
|
||||
// sdl_callback
|
||||
//============================================================
|
||||
static void sdl_callback(void *userdata, Uint8 *stream, int len)
|
||||
{
|
||||
@ -420,13 +420,13 @@ static void sdl_callback(void *userdata, Uint8 *stream, int len)
|
||||
|
||||
|
||||
//============================================================
|
||||
// sdl_init
|
||||
// sdl_init
|
||||
//============================================================
|
||||
static int sdl_init(running_machine *machine)
|
||||
{
|
||||
int n_channels = 2;
|
||||
int audio_latency;
|
||||
SDL_AudioSpec aspec, obtained;
|
||||
SDL_AudioSpec aspec, obtained;
|
||||
char audio_driver[16] = "";
|
||||
|
||||
if (initialized_audio)
|
||||
@ -503,7 +503,7 @@ cant_start_audio:
|
||||
|
||||
|
||||
//============================================================
|
||||
// sdl_kill
|
||||
// sdl_kill
|
||||
//============================================================
|
||||
|
||||
static void sdl_kill(running_machine *machine)
|
||||
@ -519,7 +519,7 @@ static void sdl_kill(running_machine *machine)
|
||||
|
||||
|
||||
//============================================================
|
||||
// dsound_create_buffers
|
||||
// dsound_create_buffers
|
||||
//============================================================
|
||||
|
||||
static int sdl_create_buffers(void)
|
||||
@ -535,7 +535,7 @@ static int sdl_create_buffers(void)
|
||||
|
||||
|
||||
//============================================================
|
||||
// sdl_destroy_buffers
|
||||
// sdl_destroy_buffers
|
||||
//============================================================
|
||||
|
||||
static void sdl_destroy_buffers(void)
|
||||
|
@ -22,9 +22,9 @@
|
||||
|
||||
// Check whether SDL has compat interface
|
||||
#if defined(SDL_AllocSurface) || (!SDL_VERSION_ATLEAST(1,3,0))
|
||||
#define SDL_HAS_COMPAT 1
|
||||
#define SDL_HAS_COMPAT 1
|
||||
#else
|
||||
#define SDL_HAS_COMPAT 0
|
||||
#define SDL_HAS_COMPAT 0
|
||||
#endif
|
||||
|
||||
typedef struct _key_lookup_table key_lookup_table;
|
||||
|
@ -225,7 +225,7 @@ void sdlvideo_monitor_refresh(sdl_monitor_info *monitor)
|
||||
XineramaScreenInfo *xineinfo;
|
||||
int numscreens;
|
||||
|
||||
xineinfo = XineramaQueryScreens(info.info.x11.display, &numscreens);
|
||||
xineinfo = XineramaQueryScreens(info.info.x11.display, &numscreens);
|
||||
|
||||
monitor->center_width = xineinfo[0].width;
|
||||
monitor->center_height = xineinfo[0].height;
|
||||
@ -238,7 +238,7 @@ void sdlvideo_monitor_refresh(sdl_monitor_info *monitor)
|
||||
monitor->center_height = monitor->monitor_height;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
#endif // defined(SDLMAME_X11)
|
||||
{
|
||||
static int first_call=0;
|
||||
@ -279,7 +279,7 @@ void sdlvideo_monitor_refresh(sdl_monitor_info *monitor)
|
||||
monitor->center_height = ch;
|
||||
}
|
||||
}
|
||||
#elif defined(SDLMAME_OS2) // OS2 version
|
||||
#elif defined(SDLMAME_OS2) // OS2 version
|
||||
monitor->center_width = monitor->monitor_width = WinQuerySysValue( HWND_DESKTOP, SV_CXSCREEN );
|
||||
monitor->center_height = monitor->monitor_height = WinQuerySysValue( HWND_DESKTOP, SV_CYSCREEN );
|
||||
strcpy(monitor->monitor_device, "OS/2 display");
|
||||
@ -345,10 +345,10 @@ void osd_update(running_machine *machine, int skip_redraw)
|
||||
// if we're not skipping this redraw, update all windows
|
||||
if (!skip_redraw)
|
||||
{
|
||||
// profiler_mark(PROFILER_BLIT);
|
||||
// profiler_mark(PROFILER_BLIT);
|
||||
for (window = sdl_window_list; window != NULL; window = window->next)
|
||||
sdlwindow_video_window_update(machine, window);
|
||||
// profiler_mark(PROFILER_END);
|
||||
// profiler_mark(PROFILER_END);
|
||||
}
|
||||
|
||||
// poll the joystick values here
|
||||
@ -466,7 +466,7 @@ static void init_monitors(void)
|
||||
for (i = 0; i < SDL_GetNumVideoDisplays(); i++)
|
||||
{
|
||||
sdl_monitor_info *monitor;
|
||||
SDL_DisplayMode dmode;
|
||||
SDL_DisplayMode dmode;
|
||||
|
||||
// allocate a new monitor info
|
||||
monitor = global_alloc_clear(sdl_monitor_info);
|
||||
@ -672,13 +672,13 @@ static void extract_video_config(running_machine *machine)
|
||||
video_config.mode = VIDEO_MODE_OPENGL;
|
||||
else if (USE_OPENGL && (strcmp(stemp, SDLOPTVAL_OPENGL16) == 0))
|
||||
{
|
||||
video_config.mode = VIDEO_MODE_OPENGL;
|
||||
video_config.prefer16bpp_tex = 1;
|
||||
video_config.mode = VIDEO_MODE_OPENGL;
|
||||
video_config.prefer16bpp_tex = 1;
|
||||
}
|
||||
else if (SDL_VERSION_ATLEAST(1,3,0) && (strcmp(stemp, SDLOPTVAL_SDL13) == 0))
|
||||
{
|
||||
video_config.mode = VIDEO_MODE_SDL13;
|
||||
video_config.prefer16bpp_tex = 1;
|
||||
video_config.mode = VIDEO_MODE_SDL13;
|
||||
video_config.prefer16bpp_tex = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -94,10 +94,10 @@ struct _sdl_video_config
|
||||
int novideo; // don't draw, for pure CPU benchmarking
|
||||
|
||||
// global configuration
|
||||
int windowed; // start windowed?
|
||||
int windowed; // start windowed?
|
||||
int prescale; // prescale factor (not currently supported)
|
||||
int keepaspect; // keep aspect ratio?
|
||||
int numscreens; // number of screens
|
||||
int keepaspect; // keep aspect ratio?
|
||||
int numscreens; // number of screens
|
||||
int centerh;
|
||||
int centerv;
|
||||
|
||||
|
@ -44,16 +44,16 @@
|
||||
#define WINDOW_DECORATION_HEIGHT (48) // title bar + bottom drag region
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
//#define ASSERT_USE(x) do { printf("%x %x\n", (int) SDL_ThreadID(), x); assert_always(SDL_ThreadID() == x, "Wrong Thread"); } while (0)
|
||||
//#define ASSERT_USE(x) do { printf("%x %x\n", (int) SDL_ThreadID(), x); assert_always(SDL_ThreadID() == x, "Wrong Thread"); } while (0)
|
||||
#define ASSERT_USE(x) do { SDL_threadID _thid = SDL_ThreadID(); assert_always( _thid == x, "Wrong Thread"); } while (0)
|
||||
#else
|
||||
#define ASSERT_USE(x) do {} while (0)
|
||||
//#define ASSERT_USE(x) assert(SDL_ThreadID() == x)
|
||||
//#define ASSERT_USE(x) assert(SDL_ThreadID() == x)
|
||||
#endif
|
||||
|
||||
#define ASSERT_REDRAW_THREAD() ASSERT_USE(window_threadid)
|
||||
#define ASSERT_WINDOW_THREAD() ASSERT_USE(window_threadid)
|
||||
#define ASSERT_MAIN_THREAD() ASSERT_USE(main_threadid)
|
||||
#define ASSERT_REDRAW_THREAD() ASSERT_USE(window_threadid)
|
||||
#define ASSERT_WINDOW_THREAD() ASSERT_USE(window_threadid)
|
||||
#define ASSERT_MAIN_THREAD() ASSERT_USE(main_threadid)
|
||||
|
||||
#define OSDWORK_CALLBACK(name) void *name(void *param, ATTR_UNUSED int threadid)
|
||||
|
||||
@ -732,7 +732,7 @@ int sdlwindow_video_window_create(running_machine *machine, int index, sdl_monit
|
||||
window->windowed_width = config->width;
|
||||
window->windowed_height = config->height;
|
||||
}
|
||||
window->totalColors = config->totalColors;
|
||||
window->totalColors = config->totalColors;
|
||||
|
||||
// add us to the list
|
||||
*last_window_ptr = window;
|
||||
@ -940,10 +940,10 @@ static void pick_best_mode(sdl_window_info *window, int *fswidth, int *fsheight)
|
||||
|
||||
#if defined(SDLMAME_WIN32)
|
||||
/*
|
||||
* We need to do this here. If SDL_ListModes is
|
||||
* called in init_monitors, the call will crash
|
||||
* on win32
|
||||
*/
|
||||
* We need to do this here. If SDL_ListModes is
|
||||
* called in init_monitors, the call will crash
|
||||
* on win32
|
||||
*/
|
||||
modes = SDL_ListModes(NULL, SDL_FULLSCREEN | SDL_DOUBLEBUF);
|
||||
#else
|
||||
modes = window->monitor->modes;
|
||||
@ -1119,9 +1119,9 @@ static OSDWORK_CALLBACK( complete_create_wt )
|
||||
else
|
||||
{
|
||||
/* Create the window directly with the correct aspect
|
||||
instead of letting sdlwindow_blit_surface_size() resize it
|
||||
this stops the window from "flashing" from the wrong aspect
|
||||
size to the right one at startup. */
|
||||
instead of letting sdlwindow_blit_surface_size() resize it
|
||||
this stops the window from "flashing" from the wrong aspect
|
||||
size to the right one at startup. */
|
||||
tempwidth = (window->maxwidth != 0) ? window->maxwidth : 640;
|
||||
tempheight = (window->maxheight != 0) ? window->maxheight : 480;
|
||||
|
||||
@ -1190,8 +1190,8 @@ static void measure_fps(sdl_window_info *window, UINT32 dc, int update)
|
||||
|
||||
static OSDWORK_CALLBACK( draw_video_contents_wt )
|
||||
{
|
||||
UINT32 dc = 0;
|
||||
int update = 1;
|
||||
UINT32 dc = 0;
|
||||
int update = 1;
|
||||
worker_param *wp = (worker_param *) param;
|
||||
sdl_window_info *window = wp->window;
|
||||
|
||||
|
@ -10,4 +10,4 @@
|
||||
***************************************************************************/
|
||||
|
||||
extern const char build_version[];
|
||||
const char build_version[] = "0.136 ("__DATE__")";
|
||||
const char build_version[] = "0.136u1 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user