mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
Merge tag 'mame0220' into mainline-master
MAME 0.220
This commit is contained in:
commit
c3da4c5b4b
12 changed files with 86 additions and 299 deletions
|
@ -4,8 +4,8 @@
|
||||||
-->
|
-->
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.mamedev.mame"
|
package="org.mamedev.mame"
|
||||||
android:versionCode="219"
|
android:versionCode="220"
|
||||||
android:versionName="0.219"
|
android:versionName="0.220"
|
||||||
android:installLocation="auto">
|
android:installLocation="auto">
|
||||||
|
|
||||||
<!-- OpenGL ES 2.0 -->
|
<!-- OpenGL ES 2.0 -->
|
||||||
|
|
|
@ -681,7 +681,7 @@ V.Smile Smartbook Smartidges (need a Smartbook touch tablet connected to a regul
|
||||||
|
|
||||||
<!-- No inputs -->
|
<!-- No inputs -->
|
||||||
<software name="redhoodf" cloneof="redhoodg" supported="no">
|
<software name="redhoodf" cloneof="redhoodg" supported="no">
|
||||||
<description>Les adventures du Petit Chaperon Rouge (France)</description>
|
<description>Les aventures du Petit Chaperon Rouge (France)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>VTech</publisher>
|
<publisher>VTech</publisher>
|
||||||
<info name="serial" value="80-092025(FR)" />
|
<info name="serial" value="80-092025(FR)" />
|
||||||
|
@ -2361,7 +2361,7 @@ V.Smile Smartbook Smartidges (need a Smartbook touch tablet connected to a regul
|
||||||
|
|
||||||
<!-- UNSP: illegal ALU optype 07 at 2a0001 -->
|
<!-- UNSP: illegal ALU optype 07 at 2a0001 -->
|
||||||
<software name="mickymagf" cloneof="mickymag" supported="no">
|
<software name="mickymagf" cloneof="mickymag" supported="no">
|
||||||
<description>Disney Mickey - Meickey à la Recherche De Pluto (France)</description>
|
<description>Disney Mickey - Mickey à la Recherche De Pluto (France)</description>
|
||||||
<year>2005</year>
|
<year>2005</year>
|
||||||
<publisher>VTech</publisher>
|
<publisher>VTech</publisher>
|
||||||
<info name="serial" value="80-092085(FR)" />
|
<info name="serial" value="80-092085(FR)" />
|
||||||
|
|
4
makefile
4
makefile
|
@ -1704,14 +1704,14 @@ endif
|
||||||
|
|
||||||
ifeq (posix,$(SHELLTYPE))
|
ifeq (posix,$(SHELLTYPE))
|
||||||
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
|
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
|
||||||
@echo '#define BARE_BUILD_VERSION "0.219"' > $@
|
@echo '#define BARE_BUILD_VERSION "0.220"' > $@
|
||||||
@echo 'extern const char bare_build_version[];' >> $@
|
@echo 'extern const char bare_build_version[];' >> $@
|
||||||
@echo 'extern const char build_version[];' >> $@
|
@echo 'extern const char build_version[];' >> $@
|
||||||
@echo 'const char bare_build_version[] = BARE_BUILD_VERSION;' >> $@
|
@echo 'const char bare_build_version[] = BARE_BUILD_VERSION;' >> $@
|
||||||
@echo 'const char build_version[] = BARE_BUILD_VERSION " ($(NEW_GIT_VERSION))";' >> $@
|
@echo 'const char build_version[] = BARE_BUILD_VERSION " ($(NEW_GIT_VERSION))";' >> $@
|
||||||
else
|
else
|
||||||
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
|
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
|
||||||
@echo #define BARE_BUILD_VERSION "0.219" > $@
|
@echo #define BARE_BUILD_VERSION "0.220" > $@
|
||||||
@echo extern const char bare_build_version[]; >> $@
|
@echo extern const char bare_build_version[]; >> $@
|
||||||
@echo extern const char build_version[]; >> $@
|
@echo extern const char build_version[]; >> $@
|
||||||
@echo const char bare_build_version[] = BARE_BUILD_VERSION; >> $@
|
@echo const char bare_build_version[] = BARE_BUILD_VERSION; >> $@
|
||||||
|
|
|
@ -739,15 +739,15 @@ void intelfsh_device::write_full(uint32_t address, uint32_t data)
|
||||||
logerror("Invalid flash mode byte %x\n", data & 0xff);
|
logerror("Invalid flash mode byte %x\n", data & 0xff);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_status = 0x80;
|
m_status = 0x80;
|
||||||
m_flash_mode = FM_READSTATUS;
|
m_flash_mode = FM_READSTATUS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x20: // block erase
|
case 0x20: // block erase
|
||||||
if (m_type == FLASH_SST_49LF020)
|
if (m_type == FLASH_SST_49LF020)
|
||||||
logerror("Unknown flash mode byte %x\n", data & 0xff);
|
logerror("Unknown flash mode byte %x\n", data & 0xff);
|
||||||
else
|
else
|
||||||
m_flash_mode = FM_CLEARPART1;
|
m_flash_mode = FM_CLEARPART1;
|
||||||
break;
|
break;
|
||||||
case 0x60: // set master lock
|
case 0x60: // set master lock
|
||||||
m_flash_mode = FM_SETMASTER;
|
m_flash_mode = FM_SETMASTER;
|
||||||
|
@ -923,7 +923,7 @@ void intelfsh_device::write_full(uint32_t address, uint32_t data)
|
||||||
memset(&m_data[0x3C000], 0xff, 0x04000);
|
memset(&m_data[0x3C000], 0xff, 0x04000);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
memset(&m_data[0], 0xff, m_size);
|
memset(&m_data[0], 0xff, m_size);
|
||||||
|
|
||||||
m_status = 1 << 3;
|
m_status = 1 << 3;
|
||||||
m_flash_mode = FM_ERASEAMD4;
|
m_flash_mode = FM_ERASEAMD4;
|
||||||
|
|
|
@ -10,12 +10,11 @@
|
||||||
#include "sunplus_gcm394.h"
|
#include "sunplus_gcm394.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define LOG_GCM394_SPI (1U << 5)
|
||||||
#define LOG_GCM394_SPI (1U << 4)
|
#define LOG_GCM394_IO (1U << 4)
|
||||||
#define LOG_GCM394_IO (1U << 3)
|
#define LOG_GCM394_SYSDMA (1U << 3)
|
||||||
#define LOG_GCM394_SYSDMA (1U << 2)
|
#define LOG_GCM394 (1U << 2)
|
||||||
#define LOG_GCM394 (1U << 1)
|
#define LOG_GCM394_UNMAPPED (1U << 1)
|
||||||
#define LOG_GCM394_UNMAPPED (1U << 0)
|
|
||||||
|
|
||||||
#define VERBOSE (LOG_GCM394 | LOG_GCM394_UNMAPPED | LOG_GCM394_SYSDMA)
|
#define VERBOSE (LOG_GCM394 | LOG_GCM394_UNMAPPED | LOG_GCM394_SYSDMA)
|
||||||
#include "logmacro.h"
|
#include "logmacro.h"
|
||||||
|
@ -124,7 +123,7 @@ READ16_MEMBER(sunplus_gcm394_base_device::system_dma_status_r)
|
||||||
// bit 0 = channel 0 ready
|
// bit 0 = channel 0 ready
|
||||||
// bit 1 = channel 1 ready
|
// bit 1 = channel 1 ready
|
||||||
|
|
||||||
return 0x00FF;
|
return 0x00ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunplus_gcm394_base_device::trigger_systemm_dma(address_space &space, int channel)
|
void sunplus_gcm394_base_device::trigger_systemm_dma(address_space &space, int channel)
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
// Samsung KS0164 wavetable chip
|
// Samsung KS0164 wavetable chip
|
||||||
|
|
||||||
#ifndef DEVICES_SOUND_KS0164_H
|
#ifndef MAME_SOUND_KS0164_H
|
||||||
#define DEVICES_SOUND_KS0164_H
|
#define MAME_SOUND_KS0164_H
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,9 @@
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "video/ppu2c0x_sh6578.h"
|
#include "video/ppu2c0x_sh6578.h"
|
||||||
|
|
||||||
#define LOG_PPU_EXTRA (1U << 0)
|
#define LOG_PPU_EXTRA (1U << 1)
|
||||||
|
|
||||||
//#define VERBOSE (LOG_PPU_EXTRA)
|
//#define VERBOSE (LOG_PPU_EXTRA)
|
||||||
#define VERBOSE (0)
|
|
||||||
|
|
||||||
#include "logmacro.h"
|
#include "logmacro.h"
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,8 @@
|
||||||
#include "machine/bankdev.h"
|
#include "machine/bankdev.h"
|
||||||
#include "machine/timer.h"
|
#include "machine/timer.h"
|
||||||
|
|
||||||
#define LOG_DMA (1U << 1)
|
#define LOG_DMA (1U << 2)
|
||||||
#define LOG_PPU (1U << 0)
|
#define LOG_PPU (1U << 1)
|
||||||
|
|
||||||
//#define VERBOSE (LOG_PPU)
|
//#define VERBOSE (LOG_PPU)
|
||||||
#define VERBOSE (0)
|
#define VERBOSE (0)
|
||||||
|
|
|
@ -1873,5 +1873,3 @@ void generalplus_gpspispi_game_state::init_spi()
|
||||||
|
|
||||||
|
|
||||||
CONS(200?, bkrankp, 0, 0, generalplus_gpspispi_bkrankp, gcm394, generalplus_gpspispi_bkrankp_game_state , init_spi, "Bandai", "Karaoke Ranking Party (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
CONS(200?, bkrankp, 0, 0, generalplus_gpspispi_bkrankp, gcm394, generalplus_gpspispi_bkrankp_game_state , init_spi, "Bandai", "Karaoke Ranking Party (Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -313,12 +313,12 @@ void xavix2_state::gpu1_trigger_w(u8 data)
|
||||||
|
|
||||||
void xavix2_state::gpu_update(u16 count, u16 adr)
|
void xavix2_state::gpu_update(u16 count, u16 adr)
|
||||||
{
|
{
|
||||||
int *list = new int[count];
|
std::unique_ptr<int []> list(new int[count]);
|
||||||
for(u32 i=0; i != count; i++) {
|
for(u32 i=0; i != count; i++) {
|
||||||
u64 command = m_maincpu->space(AS_PROGRAM).read_qword(adr + 8*i);
|
u64 command = m_maincpu->space(AS_PROGRAM).read_qword(adr + 8*i);
|
||||||
list[i] = (command & 0x1fe00000) | i;
|
list[i] = (command & 0x1fe00000) | i;
|
||||||
}
|
}
|
||||||
std::sort(list, list + count, std::greater<int>());
|
std::sort(list.get(), list.get() + count, std::greater<int>());
|
||||||
for(u32 i=0; i != count; i++) {
|
for(u32 i=0; i != count; i++) {
|
||||||
u64 command = m_maincpu->space(AS_PROGRAM).read_qword(adr + 8*(list[i] & 0xffff));
|
u64 command = m_maincpu->space(AS_PROGRAM).read_qword(adr + 8*(list[i] & 0xffff));
|
||||||
logerror("gpu %02d: %016x x=%03x y=%03x ?=%02x ?=%x s=%02x w=%02x h=%02x c=%04x %s\n",
|
logerror("gpu %02d: %016x x=%03x y=%03x ?=%02x ?=%x s=%02x w=%02x h=%02x c=%04x %s\n",
|
||||||
|
@ -370,7 +370,6 @@ void xavix2_state::gpu_update(u16 count, u16 adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete[] list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void xavix2_state::gpu_descsize_w(u16 data)
|
void xavix2_state::gpu_descsize_w(u16 data)
|
||||||
|
|
|
@ -315,17 +315,18 @@ public:
|
||||||
m_bank8000(*this, "bank8000"),
|
m_bank8000(*this, "bank8000"),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode"),
|
||||||
m_tileram(*this, "williams2_tile"),
|
m_tileram(*this, "williams2_tile"),
|
||||||
m_gain({0.8f, 0.73f, 0.81f}),
|
m_gain({ 0.8f, 0.73f, 0.81f }),
|
||||||
m_offset({-0.27f, 0.0f, -0.22f})
|
m_offset({ -0.27f, 0.0f, -0.22f })
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void williams2_base(machine_config &config);
|
void williams2_base(machine_config &config);
|
||||||
|
|
||||||
INPUT_CHANGED_MEMBER(rgb_gain)
|
INPUT_CHANGED_MEMBER(rgb_gain)
|
||||||
{
|
{
|
||||||
if (param < 3)
|
if (param < 3)
|
||||||
m_gain[param] = (float) newval / 100.0f;
|
m_gain[param] = float(newval) / 100.0f;
|
||||||
else
|
else
|
||||||
m_offset[param-3] = (float) newval / 100.0f - 1.0f;
|
m_offset[param - 3] = (float(newval) / 100.0f) - 1.0f;
|
||||||
rebuild_palette();
|
rebuild_palette();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -273,6 +273,7 @@ uint32_t blaster_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t williams2_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
uint32_t williams2_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
rgb_t pens[16];
|
rgb_t pens[16];
|
||||||
|
@ -304,6 +305,7 @@ uint32_t williams2_state::screen_update(screen_device &screen, bitmap_rgb32 &bit
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t mysticm_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
uint32_t mysticm_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
rgb_t pens[16];
|
rgb_t pens[16];
|
||||||
|
@ -337,6 +339,8 @@ uint32_t mysticm_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Williams palette I/O
|
* Williams palette I/O
|
||||||
|
@ -368,6 +372,7 @@ void williams_state::palette_init(palette_device &palette) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
rgb_t williams2_state::calc_col(uint16_t lo, uint16_t hi)
|
rgb_t williams2_state::calc_col(uint16_t lo, uint16_t hi)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -390,289 +395,69 @@ rgb_t williams2_state::calc_col(uint16_t lo, uint16_t hi)
|
||||||
|
|
||||||
static const float frgb[256] =
|
static const float frgb[256] =
|
||||||
{
|
{
|
||||||
0.001889f,
|
0.001889f, 0.002456f, 0.003196f, 0.004384f, 0.005272f, 0.007672f, 0.011345f, 0.017759f,
|
||||||
0.002456f,
|
0.018643f, 0.03103f, 0.051912f, 0.087251f, 0.1256f, 0.204967f, 0.331644f, 0.529628f,
|
||||||
0.003196f,
|
0.002524f, 0.003306f, 0.004371f, 0.006072f, 0.007386f, 0.010812f, 0.016096f, 0.02509f,
|
||||||
0.004384f,
|
0.02687f, 0.043747f, 0.070899f, 0.114042f, 0.159992f, 0.250108f, 0.391104f, 0.607433f,
|
||||||
0.005272f,
|
0.003522f, 0.004666f, 0.006254f, 0.008766f, 0.010795f, 0.015856f, 0.023585f, 0.036228f,
|
||||||
0.007672f,
|
0.039487f, 0.062206f, 0.096916f, 0.148811f, 0.20338f, 0.305447f, 0.462741f, 0.700199f,
|
||||||
0.011345f,
|
0.004941f, 0.006607f, 0.00895f, 0.012619f, 0.015683f, 0.022944f, 0.033832f, 0.050765f,
|
||||||
0.017759f,
|
0.056018f, 0.085033f, 0.127452f, 0.187886f, 0.25112f, 0.364998f, 0.53879f, 0.797876f,
|
||||||
0.018643f,
|
|
||||||
0.03103f,
|
0.006857f, 0.009233f, 0.012592f, 0.017771f, 0.022172f, 0.03212f, 0.046615f, 0.06811f,
|
||||||
0.051912f,
|
0.075696f, 0.110906f, 0.160678f, 0.229149f, 0.300735f, 0.42593f, 0.61584f, 0.896241f,
|
||||||
0.087251f,
|
0.010113f, 0.01368f, 0.018726f, 0.02625f, 0.032735f, 0.046462f, 0.065809f, 0.092996f,
|
||||||
0.1256f,
|
0.103803f, 0.146292f, 0.204648f, 0.282479f, 0.364084f, 0.502781f, 0.712244f, 1.018759f,
|
||||||
0.204967f,
|
0.015744f, 0.021251f, 0.028944f, 0.039945f, 0.049446f, 0.068127f, 0.093445f, 0.127285f,
|
||||||
0.331644f,
|
0.14231f, 0.193004f, 0.261153f, 0.349656f, 0.443068f, 0.597642f, 0.830444f, 1.168267f,
|
||||||
0.529628f,
|
0.024223f, 0.032378f, 0.043467f, 0.058612f, 0.071646f, 0.09563f, 0.127147f, 0.167588f,
|
||||||
0.002524f,
|
0.187237f, 0.246001f, 0.32398f, 0.423282f, 0.528958f, 0.699986f, 0.957283f, 1.328146f,
|
||||||
0.003306f,
|
|
||||||
0.004371f,
|
0.03429f, 0.045182f, 0.059626f, 0.078588f, 0.094882f, 0.123449f, 0.160233f, 0.206173f,
|
||||||
0.006072f,
|
0.230031f, 0.295596f, 0.382005f, 0.490617f, 0.607092f, 0.792615f, 1.071663f, 1.471949f,
|
||||||
0.007386f,
|
0.053106f, 0.068185f, 0.087712f, 0.112105f, 0.132967f, 0.167685f, 0.211656f, 0.265082f,
|
||||||
0.010812f,
|
0.295044f, 0.369837f, 0.467993f, 0.58972f, 0.721623f, 0.927771f, 1.23799f, 1.680648f,
|
||||||
0.016096f,
|
0.083576f, 0.103924f, 0.129726f, 0.160516f, 0.186838f, 0.228722f, 0.281144f, 0.343382f,
|
||||||
0.02509f,
|
0.381103f, 0.46708f, 0.5795f, 0.717377f, 0.86859f, 1.100548f, 1.449999f, 1.946101f,
|
||||||
0.02687f,
|
0.124032f, 0.149904f, 0.182177f, 0.219335f, 0.251408f, 0.300484f, 0.361692f, 0.433113f,
|
||||||
0.043747f,
|
0.479348f, 0.577076f, 0.704911f, 0.860274f, 1.032601f, 1.292736f, 1.685276f, 2.240223f,
|
||||||
0.070899f,
|
|
||||||
0.114042f,
|
0.175706f, 0.207011f, 0.245689f, 0.289706f, 0.327912f, 0.384501f, 0.455038f, 0.536297f,
|
||||||
0.159992f,
|
0.592068f, 0.702442f, 0.847309f, 1.021943f, 1.217772f, 1.509243f, 1.949852f, 2.570528f,
|
||||||
0.250108f,
|
0.24927f, 0.287025f, 0.333877f, 0.385984f, 0.431717f, 0.497443f, 0.579727f, 0.673464f,
|
||||||
0.391104f,
|
0.741572f, 0.868017f, 1.034559f, 1.234123f, 1.460333f, 1.79207f, 2.295118f, 3.001228f,
|
||||||
0.607433f,
|
0.357357f, 0.403448f, 0.460931f, 0.52375f, 0.579557f, 0.656404f, 0.754715f, 0.865436f,
|
||||||
0.003522f,
|
0.950203f, 1.097887f, 1.293872f, 1.527752f, 1.795589f, 2.182008f, 2.770169f, 3.593798f,
|
||||||
0.004666f,
|
0.494255f, 0.549094f, 0.61884f, 0.693823f, 0.760527f, 0.851544f, 0.968276f, 1.098965f,
|
||||||
0.006254f,
|
1.203912f, 1.377026f, 1.608183f, 1.882244f, 2.200036f, 2.652345f, 3.342626f, 4.215708f
|
||||||
0.008766f,
|
|
||||||
0.010795f,
|
|
||||||
0.015856f,
|
|
||||||
0.023585f,
|
|
||||||
0.036228f,
|
|
||||||
0.039487f,
|
|
||||||
0.062206f,
|
|
||||||
0.096916f,
|
|
||||||
0.148811f,
|
|
||||||
0.20338f,
|
|
||||||
0.305447f,
|
|
||||||
0.462741f,
|
|
||||||
0.700199f,
|
|
||||||
0.004941f,
|
|
||||||
0.006607f,
|
|
||||||
0.00895f,
|
|
||||||
0.012619f,
|
|
||||||
0.015683f,
|
|
||||||
0.022944f,
|
|
||||||
0.033832f,
|
|
||||||
0.050765f,
|
|
||||||
0.056018f,
|
|
||||||
0.085033f,
|
|
||||||
0.127452f,
|
|
||||||
0.187886f,
|
|
||||||
0.25112f,
|
|
||||||
0.364998f,
|
|
||||||
0.53879f,
|
|
||||||
0.797876f,
|
|
||||||
0.006857f,
|
|
||||||
0.009233f,
|
|
||||||
0.012592f,
|
|
||||||
0.017771f,
|
|
||||||
0.022172f,
|
|
||||||
0.03212f,
|
|
||||||
0.046615f,
|
|
||||||
0.06811f,
|
|
||||||
0.075696f,
|
|
||||||
0.110906f,
|
|
||||||
0.160678f,
|
|
||||||
0.229149f,
|
|
||||||
0.300735f,
|
|
||||||
0.42593f,
|
|
||||||
0.61584f,
|
|
||||||
0.896241f,
|
|
||||||
0.010113f,
|
|
||||||
0.01368f,
|
|
||||||
0.018726f,
|
|
||||||
0.02625f,
|
|
||||||
0.032735f,
|
|
||||||
0.046462f,
|
|
||||||
0.065809f,
|
|
||||||
0.092996f,
|
|
||||||
0.103803f,
|
|
||||||
0.146292f,
|
|
||||||
0.204648f,
|
|
||||||
0.282479f,
|
|
||||||
0.364084f,
|
|
||||||
0.502781f,
|
|
||||||
0.712244f,
|
|
||||||
1.018759f,
|
|
||||||
0.015744f,
|
|
||||||
0.021251f,
|
|
||||||
0.028944f,
|
|
||||||
0.039945f,
|
|
||||||
0.049446f,
|
|
||||||
0.068127f,
|
|
||||||
0.093445f,
|
|
||||||
0.127285f,
|
|
||||||
0.14231f,
|
|
||||||
0.193004f,
|
|
||||||
0.261153f,
|
|
||||||
0.349656f,
|
|
||||||
0.443068f,
|
|
||||||
0.597642f,
|
|
||||||
0.830444f,
|
|
||||||
1.168267f,
|
|
||||||
0.024223f,
|
|
||||||
0.032378f,
|
|
||||||
0.043467f,
|
|
||||||
0.058612f,
|
|
||||||
0.071646f,
|
|
||||||
0.09563f,
|
|
||||||
0.127147f,
|
|
||||||
0.167588f,
|
|
||||||
0.187237f,
|
|
||||||
0.246001f,
|
|
||||||
0.32398f,
|
|
||||||
0.423282f,
|
|
||||||
0.528958f,
|
|
||||||
0.699986f,
|
|
||||||
0.957283f,
|
|
||||||
1.328146f,
|
|
||||||
0.03429f,
|
|
||||||
0.045182f,
|
|
||||||
0.059626f,
|
|
||||||
0.078588f,
|
|
||||||
0.094882f,
|
|
||||||
0.123449f,
|
|
||||||
0.160233f,
|
|
||||||
0.206173f,
|
|
||||||
0.230031f,
|
|
||||||
0.295596f,
|
|
||||||
0.382005f,
|
|
||||||
0.490617f,
|
|
||||||
0.607092f,
|
|
||||||
0.792615f,
|
|
||||||
1.071663f,
|
|
||||||
1.471949f,
|
|
||||||
0.053106f,
|
|
||||||
0.068185f,
|
|
||||||
0.087712f,
|
|
||||||
0.112105f,
|
|
||||||
0.132967f,
|
|
||||||
0.167685f,
|
|
||||||
0.211656f,
|
|
||||||
0.265082f,
|
|
||||||
0.295044f,
|
|
||||||
0.369837f,
|
|
||||||
0.467993f,
|
|
||||||
0.58972f,
|
|
||||||
0.721623f,
|
|
||||||
0.927771f,
|
|
||||||
1.23799f,
|
|
||||||
1.680648f,
|
|
||||||
0.083576f,
|
|
||||||
0.103924f,
|
|
||||||
0.129726f,
|
|
||||||
0.160516f,
|
|
||||||
0.186838f,
|
|
||||||
0.228722f,
|
|
||||||
0.281144f,
|
|
||||||
0.343382f,
|
|
||||||
0.381103f,
|
|
||||||
0.46708f,
|
|
||||||
0.5795f,
|
|
||||||
0.717377f,
|
|
||||||
0.86859f,
|
|
||||||
1.100548f,
|
|
||||||
1.449999f,
|
|
||||||
1.946101f,
|
|
||||||
0.124032f,
|
|
||||||
0.149904f,
|
|
||||||
0.182177f,
|
|
||||||
0.219335f,
|
|
||||||
0.251408f,
|
|
||||||
0.300484f,
|
|
||||||
0.361692f,
|
|
||||||
0.433113f,
|
|
||||||
0.479348f,
|
|
||||||
0.577076f,
|
|
||||||
0.704911f,
|
|
||||||
0.860274f,
|
|
||||||
1.032601f,
|
|
||||||
1.292736f,
|
|
||||||
1.685276f,
|
|
||||||
2.240223f,
|
|
||||||
0.175706f,
|
|
||||||
0.207011f,
|
|
||||||
0.245689f,
|
|
||||||
0.289706f,
|
|
||||||
0.327912f,
|
|
||||||
0.384501f,
|
|
||||||
0.455038f,
|
|
||||||
0.536297f,
|
|
||||||
0.592068f,
|
|
||||||
0.702442f,
|
|
||||||
0.847309f,
|
|
||||||
1.021943f,
|
|
||||||
1.217772f,
|
|
||||||
1.509243f,
|
|
||||||
1.949852f,
|
|
||||||
2.570528f,
|
|
||||||
0.24927f,
|
|
||||||
0.287025f,
|
|
||||||
0.333877f,
|
|
||||||
0.385984f,
|
|
||||||
0.431717f,
|
|
||||||
0.497443f,
|
|
||||||
0.579727f,
|
|
||||||
0.673464f,
|
|
||||||
0.741572f,
|
|
||||||
0.868017f,
|
|
||||||
1.034559f,
|
|
||||||
1.234123f,
|
|
||||||
1.460333f,
|
|
||||||
1.79207f,
|
|
||||||
2.295118f,
|
|
||||||
3.001228f,
|
|
||||||
0.357357f,
|
|
||||||
0.403448f,
|
|
||||||
0.460931f,
|
|
||||||
0.52375f,
|
|
||||||
0.579557f,
|
|
||||||
0.656404f,
|
|
||||||
0.754715f,
|
|
||||||
0.865436f,
|
|
||||||
0.950203f,
|
|
||||||
1.097887f,
|
|
||||||
1.293872f,
|
|
||||||
1.527752f,
|
|
||||||
1.795589f,
|
|
||||||
2.182008f,
|
|
||||||
2.770169f,
|
|
||||||
3.593798f,
|
|
||||||
0.494255f,
|
|
||||||
0.549094f,
|
|
||||||
0.61884f,
|
|
||||||
0.693823f,
|
|
||||||
0.760527f,
|
|
||||||
0.851544f,
|
|
||||||
0.968276f,
|
|
||||||
1.098965f,
|
|
||||||
1.203912f,
|
|
||||||
1.377026f,
|
|
||||||
1.608183f,
|
|
||||||
1.882244f,
|
|
||||||
2.200036f,
|
|
||||||
2.652345f,
|
|
||||||
3.342626f,
|
|
||||||
4.215708f,
|
|
||||||
};
|
};
|
||||||
uint16_t i, ur, ug, ub;
|
|
||||||
float r, g, b;
|
|
||||||
|
|
||||||
/* update the palette entry */
|
// update the palette entry
|
||||||
|
|
||||||
i = (hi >> 4) & 15;
|
const uint16_t i = (hi >> 4) & 15;
|
||||||
ub = (hi >> 0) & 15;
|
const uint16_t ub = (hi >> 0) & 15;
|
||||||
ug = (lo >> 4) & 15;
|
const uint16_t ug = (lo >> 4) & 15;
|
||||||
ur = (lo >> 0) & 15;
|
const uint16_t ur = (lo >> 0) & 15;
|
||||||
|
|
||||||
// normalize
|
// normalize
|
||||||
r = frgb[i * 16 + ur] / 4.22f;
|
float r = frgb[i * 16 + ur] / 4.22f;
|
||||||
g = frgb[i * 16 + ug] / 4.22f;
|
float g = frgb[i * 16 + ug] / 4.22f;
|
||||||
b = frgb[i * 16 + ub] / 4.22f;
|
float b = frgb[i * 16 + ub] / 4.22f;
|
||||||
|
|
||||||
// cut off
|
// cut off
|
||||||
r = std::max(r + m_offset[0], 0.0f);
|
r = std::max(r + m_offset[0], 0.0f);
|
||||||
g = std::max(g + m_offset[1], 0.0f);
|
g = std::max(g + m_offset[1], 0.0f);
|
||||||
b = std::max(b + m_offset[2], 0.0f);
|
b = std::max(b + m_offset[2], 0.0f);
|
||||||
|
|
||||||
// drive
|
// drive
|
||||||
r = std::min(r * m_gain[0] / 0.25f, 1.0f);
|
r = std::min(r * m_gain[0] / 0.25f, 1.0f);
|
||||||
g = std::min(g * m_gain[1] / 0.25f, 1.0f);
|
g = std::min(g * m_gain[1] / 0.25f, 1.0f);
|
||||||
b = std::min(b * m_gain[2] / 0.25f, 1.0f);
|
b = std::min(b * m_gain[2] / 0.25f, 1.0f);
|
||||||
|
|
||||||
return rgb_t((int) (r * 255), (int) (g * 255), (int) (b * 255));
|
return rgb_t(int(r * 255), int(g * 255), int(b * 255));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void williams2_state::paletteram_w(offs_t offset, u8 data)
|
void williams2_state::paletteram_w(offs_t offset, u8 data)
|
||||||
{
|
{
|
||||||
uint16_t entry_lo, entry_hi;
|
uint16_t entry_lo, entry_hi;
|
||||||
|
@ -689,12 +474,14 @@ void williams2_state::paletteram_w(offs_t offset, u8 data)
|
||||||
m_palette->set_pen_color(offset / 2, calc_col(entry_lo, entry_hi));
|
m_palette->set_pen_color(offset / 2, calc_col(entry_lo, entry_hi));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void williams2_state::rebuild_palette()
|
void williams2_state::rebuild_palette()
|
||||||
{
|
{
|
||||||
for (offs_t i=0; i<2048; i++)
|
for (offs_t i=0; i<2048; i++)
|
||||||
paletteram_w(i, m_paletteram[i]);
|
paletteram_w(i, m_paletteram[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void williams2_state::fg_select_w(u8 data)
|
void williams2_state::fg_select_w(u8 data)
|
||||||
{
|
{
|
||||||
m_fg_color = data & 0x3f;
|
m_fg_color = data & 0x3f;
|
||||||
|
@ -716,12 +503,14 @@ u8 williams_state::video_counter_r()
|
||||||
return 0xfc;
|
return 0xfc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
u8 williams2_state::video_counter_r()
|
u8 williams2_state::video_counter_r()
|
||||||
{
|
{
|
||||||
return m_screen->vpos() & 0xff;
|
return m_screen->vpos() & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Tilemap handling
|
* Tilemap handling
|
||||||
|
@ -740,6 +529,7 @@ TILE_GET_INFO_MEMBER(williams2_state::get_tile_info)
|
||||||
tileinfo.set(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
|
tileinfo.set(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int mysticm_state::color_decode(uint8_t base_col, int sig_J1, int y)
|
int mysticm_state::color_decode(uint8_t base_col, int sig_J1, int y)
|
||||||
{
|
{
|
||||||
int v = y << 6;
|
int v = y << 6;
|
||||||
|
@ -775,6 +565,7 @@ int mysticm_state::color_decode(uint8_t base_col, int sig_J1, int y)
|
||||||
return (base_col & 0x3e) | color;
|
return (base_col & 0x3e) | color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TILE_GET_INFO_MEMBER(mysticm_state::get_tile_info)
|
TILE_GET_INFO_MEMBER(mysticm_state::get_tile_info)
|
||||||
{
|
{
|
||||||
int color = color_decode(m_bg_color, 0, (tile_index << 4) & 0xff);
|
int color = color_decode(m_bg_color, 0, (tile_index << 4) & 0xff);
|
||||||
|
|
Loading…
Reference in a new issue