srcclean in preparation for branching release

This commit is contained in:
Vas Crabb 2021-01-24 13:33:07 +11:00
parent 051119c091
commit 78f6ff34a5
168 changed files with 925 additions and 924 deletions

View File

@ -13949,7 +13949,7 @@ has been replaced with an all-zero block. -->
<rom name="Where in America's Past is Carmen Sandiego [Broderbund] [1991] [3.5DD] [Disk 3 of 3] [Data Disk 2].img" size="737280" crc="122b40b0" sha1="7f5441ea4e350408a8fd2555b020e643392b511a"/> <rom name="Where in America's Past is Carmen Sandiego [Broderbund] [1991] [3.5DD] [Disk 3 of 3] [Data Disk 2].img" size="737280" crc="122b40b0" sha1="7f5441ea4e350408a8fd2555b020e643392b511a"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="wingfury"> <software name="wingfury">
<description>Wings of Fury</description> <description>Wings of Fury</description>

View File

@ -100,27 +100,27 @@ See the wswan software list for the full game list.
</software> </software>
<!-- <!--
<software name="battlespa" cloneof="battlesp"> <software name="battlespa" cloneof="battlesp">
<description>Battle Spirit - Digimon Frontier (Rev 0)</description> <description>Battle Spirit - Digimon Frontier (Rev 0)</description>
<year>2002</year> <year>2002</year>
<publisher>Bandai</publisher> <publisher>Bandai</publisher>
<info name="serial" value="SWJ-BANC31"/> <info name="serial" value="SWJ-BANC31"/>
<info name="release" value="20021207"/> <info name="release" value="20021207"/>
<info name="alt_title" value="バトルスピリット デジモンフロンティア"/> <info name="alt_title" value="バトルスピリット デジモンフロンティア"/>
<part name="cart" interface="wswan_cart"> <part name="cart" interface="wswan_cart">
<feature name="pcb" value="PTS-0133A" /> <feature name="pcb" value="PTS-0133A" />
<feature name="u1" value="BANDAI 2003" /> <feature name="u1" value="BANDAI 2003" />
<feature name="u2" value="GIZA" /> <feature name="u2" value="GIZA" />
<feature name="u3" value="ROM" /> <feature name="u3" value="ROM" />
<feature name="u4" value="HY62KT081ED70C SRAM" /> <feature name="u4" value="HY62KT081ED70C SRAM" />
<feature name="slot" value="ws_sram" /> <feature name="slot" value="ws_sram" />
<dataarea name="rom" size="4194304" width="16" endianness="little"> <dataarea name="rom" size="4194304" width="16" endianness="little">
<rom name="sd32m256s222d.u3" size="4194304" crc="a28d3dc5" sha1="" offset="000000" /> <rom name="sd32m256s222d.u3" size="4194304" crc="a28d3dc5" sha1="" offset="000000" />
</dataarea> </dataarea>
<dataarea name="sram" size="32768" width="16" endianness="little"> <dataarea name="sram" size="32768" width="16" endianness="little">
</dataarea> </dataarea>
</part> </part>
</software> </software>
--> -->
<software name="bluewing"> <software name="bluewing">
@ -327,27 +327,27 @@ See the wswan software list for the full game list.
</software> </software>
<!-- <!--
<software name="digimdp"> <software name="digimdp">
<description>Digital Monster - D-Project (Rev 2)</description> <description>Digital Monster - D-Project (Rev 2)</description>
<year>2002</year> <year>2002</year>
<publisher>Bandai</publisher> <publisher>Bandai</publisher>
<info name="serial" value="SWJ-BANC2E"/> <info name="serial" value="SWJ-BANC2E"/>
<info name="release" value="20020803"/> <info name="release" value="20020803"/>
<info name="alt_title" value="デジタルモンスター ディープロジェクト"/> <info name="alt_title" value="デジタルモンスター ディープロジェクト"/>
<part name="cart" interface="wswan_cart"> <part name="cart" interface="wswan_cart">
<feature name="pcb" value="PTS-0133A" /> <feature name="pcb" value="PTS-0133A" />
<feature name="u1" value="BANDAI 2003" /> <feature name="u1" value="BANDAI 2003" />
<feature name="u2" value="GIZA" /> <feature name="u2" value="GIZA" />
<feature name="u3" value="ROM" /> <feature name="u3" value="ROM" />
<feature name="u4" value="HY62KT081ED70C SRAM" /> <feature name="u4" value="HY62KT081ED70C SRAM" />
<feature name="slot" value="ws_sram" /> <feature name="slot" value="ws_sram" />
<dataarea name="rom" size="4194304" width="16" endianness="little"> <dataarea name="rom" size="4194304" width="16" endianness="little">
<rom name="sd32m256s217d.u3" size="4194304" crc="0e40829c" sha1="" offset="000000" /> <rom name="sd32m256s217d.u3" size="4194304" crc="0e40829c" sha1="" offset="000000" />
</dataarea> </dataarea>
<dataarea name="sram" size="32768" width="16" endianness="little"> <dataarea name="sram" size="32768" width="16" endianness="little">
</dataarea> </dataarea>
</part> </part>
</software> </software>
--> -->
<software name="digimdp"> <software name="digimdp">
@ -1484,27 +1484,27 @@ See the wswan software list for the full game list.
</software> </software>
<!-- <!--
<software name="onepbatla" cloneof="onepbatl"> <software name="onepbatla" cloneof="onepbatl">
<description>From TV Animation One Piece - Grand Battle Swan Colosseum Sample Edition</description> <description>From TV Animation One Piece - Grand Battle Swan Colosseum Sample Edition</description>
<year>2002</year> <year>2002</year>
<publisher>Bandai</publisher> <publisher>Bandai</publisher>
<info name="serial" value="SWC-BANC29"/> <info name="serial" value="SWC-BANC29"/>
<info name="release" value="20020712"/> <info name="release" value="20020712"/>
<info name="alt_title" value="フロムテレビアニメーション ワンピース グランドバトル スワンコロシアム"/> <info name="alt_title" value="フロムテレビアニメーション ワンピース グランドバトル スワンコロシアム"/>
<part name="cart" interface="wswan_cart"> <part name="cart" interface="wswan_cart">
<feature name="pcb" value="PTS-0133A" /> <feature name="pcb" value="PTS-0133A" />
<feature name="u1" value="BANDAI 2003" /> <feature name="u1" value="BANDAI 2003" />
<feature name="u2" value="GIZA" /> <feature name="u2" value="GIZA" />
<feature name="u3" value="ROM" /> <feature name="u3" value="ROM" />
<feature name="u4" value="BS62LV256TC SRAM" /> <feature name="u4" value="BS62LV256TC SRAM" />
<feature name="slot" value="ws_sram" /> <feature name="slot" value="ws_sram" />
<dataarea name="rom" size="8388608" width="16" endianness="little"> <dataarea name="rom" size="8388608" width="16" endianness="little">
<rom name="sd64m256s210d.u3" size="8388608" crc="23853305" sha1="" offset="000000" /> <rom name="sd64m256s210d.u3" size="8388608" crc="23853305" sha1="" offset="000000" />
</dataarea> </dataarea>
<dataarea name="sram" size="32768" width="16" endianness="little"> <dataarea name="sram" size="32768" width="16" endianness="little">
</dataarea> </dataarea>
</part> </part>
</software> </software>
--> -->
<software name="onepchop"> <software name="onepchop">
@ -1923,27 +1923,27 @@ See the wswan software list for the full game list.
</software> </software>
<!-- <!--
<software name="sdgundg2"> <software name="sdgundg2">
<description>SD Gundam G-Generation - Mono-Eye Gundams (Rev 2)</description> <description>SD Gundam G-Generation - Mono-Eye Gundams (Rev 2)</description>
<year>2002</year> <year>2002</year>
<publisher>Bandai</publisher> <publisher>Bandai</publisher>
<info name="serial" value="SWJ-BANC2F"/> <info name="serial" value="SWJ-BANC2F"/>
<info name="release" value="20020926"/> <info name="release" value="20020926"/>
<info name="alt_title" value="SDガンダム ジージェネレーション モノアイガンダムズ"/> <info name="alt_title" value="SDガンダム ジージェネレーション モノアイガンダムズ"/>
<part name="cart" interface="wswan_cart"> <part name="cart" interface="wswan_cart">
<feature name="pcb" value="PTS-0133A" /> <feature name="pcb" value="PTS-0133A" />
<feature name="u1" value="BANDAI 2003" /> <feature name="u1" value="BANDAI 2003" />
<feature name="u2" value="GIZA" /> <feature name="u2" value="GIZA" />
<feature name="u3" value="ROM" /> <feature name="u3" value="ROM" />
<feature name="u4" value="HY62KT081ED70C SRAM" /> <feature name="u4" value="HY62KT081ED70C SRAM" />
<feature name="slot" value="ws_sram" /> <feature name="slot" value="ws_sram" />
<dataarea name="rom" size="8388608" width="16" endianness="little"> <dataarea name="rom" size="8388608" width="16" endianness="little">
<rom name="sd64m256s226d.u3" size="8388608" crc="a3ecc9ac" sha1="" offset="000000" /> <rom name="sd64m256s226d.u3" size="8388608" crc="a3ecc9ac" sha1="" offset="000000" />
</dataarea> </dataarea>
<dataarea name="sram" size="32768" width="16" endianness="little"> <dataarea name="sram" size="32768" width="16" endianness="little">
</dataarea> </dataarea>
</part> </part>
</software> </software>
--> -->
<software name="sdgundg2"> <software name="sdgundg2">

View File

@ -742,23 +742,23 @@ The GIZA chip used on a lot of cartridges is a sram voltage switch.
<!-- <!--
<software name="digiadvc"> <software name="digiadvc">
<description>Digimon Adventure Campaign Limited Version</description> <description>Digimon Adventure Campaign Limited Version</description>
<year>2000</year> <year>2000</year>
<publisher>Bandai</publisher> <publisher>Bandai</publisher>
<info name="alt_title" value="デジモンアドベンチャー キャンペーン限定バージョン"/> <info name="alt_title" value="デジモンアドベンチャー キャンペーン限定バージョン"/>
<part name="cart" interface="wswan_cart"> <part name="cart" interface="wswan_cart">
<feature name="pcb" value="PTE-0022A" /> <feature name="pcb" value="PTE-0022A" />
<feature name="u1" value="BANDAI 2001" /> <feature name="u1" value="BANDAI 2001" />
<feature name="u2" value="GIZA" /> <feature name="u2" value="GIZA" />
<feature name="u3" value="ROM" /> <feature name="u3" value="ROM" />
<feature name="u4" value="BS62LV256TC SRAM" /> <feature name="u4" value="BS62LV256TC SRAM" />
<feature name="slot" value="ws_sram" /> <feature name="slot" value="ws_sram" />
<dataarea name="rom" size="2097152" width="16" endianness="little"> <dataarea name="rom" size="2097152" width="16" endianness="little">
<rom name="m5m29ft160avp.u3" size="2097152" crc="7e03e8da" sha1="" offset="000000" /> <rom name="m5m29ft160avp.u3" size="2097152" crc="7e03e8da" sha1="" offset="000000" />
</dataarea> </dataarea>
<dataarea name="sram" size="32768" width="16" endianness="little"> <dataarea name="sram" size="32768" width="16" endianness="little">
</dataarea> </dataarea>
</part> </part>
</software> </software>
--> -->

View File

@ -5,7 +5,7 @@ local dat = {}
local env = {} local env = {}
local output local output
local curset local curset
local path = emu.subst_env(mame_manager.ui.options.entries.historypath:value():gsub("([^;]+)", "%1/hi2txt")) local path = emu.subst_env(mame_manager.ui.options.entries.historypath:value():gsub("([^;]+)", "%1/hi2txt"))
local htmlentites = { local htmlentites = {
["amp"] = "&", ["amp"] = "&",
["quot"] = utf8.char(34), ["quot"] = utf8.char(34),

View File

@ -7,7 +7,7 @@ local function init()
local filepath local filepath
local dbver local dbver
local fh local fh
for path in mame_manager.ui.options.entries.historypath:value():gmatch("([^;]+)") do for path in mame_manager.ui.options.entries.historypath:value():gmatch("([^;]+)") do
filepath = emu.subst_env(path) .. "/" .. file filepath = emu.subst_env(path) .. "/" .. file
fh = io.open(filepath, "r") fh = io.open(filepath, "r")
@ -29,7 +29,7 @@ local function init()
end end
stmt:finalize() stmt:finalize()
local stmt = db.prepare("SELECT version FROM version WHERE datfile = ?") local stmt = db.prepare("SELECT version FROM version WHERE datfile = ?")
db.check("reading history version") db.check("reading history version")
stmt:bind_values(file) stmt:bind_values(file)

View File

@ -23,7 +23,7 @@
// ======================> databoard_4106_device // ======================> databoard_4106_device
class databoard_4106_device : public device_t, class databoard_4106_device : public device_t,
public device_abcbus_card_interface public device_abcbus_card_interface
{ {
public: public:
// construction/destruction // construction/destruction

View File

@ -24,7 +24,7 @@
// ======================> databoard_4107_device // ======================> databoard_4107_device
class databoard_4107_device : public device_t, class databoard_4107_device : public device_t,
public device_abcbus_card_interface public device_abcbus_card_interface
{ {
public: public:
// construction/destruction // construction/destruction

View File

@ -23,7 +23,7 @@
// ======================> abc_databoard_4112_device // ======================> abc_databoard_4112_device
class abc_databoard_4112_device : public device_t, class abc_databoard_4112_device : public device_t,
public device_abcbus_card_interface public device_abcbus_card_interface
{ {
public: public:
// construction/destruction // construction/destruction

View File

@ -43,12 +43,12 @@ Notes:
- sector length error in read check after format (breakpoint @ 97ba) - sector length error in read check after format (breakpoint @ 97ba)
0C xx INITIALIZE DRIVE CHARACTERISTICS 0C xx INITIALIZE DRIVE CHARACTERISTICS
01 00 00 00 00 02 RECALIBRATE 01 00 00 00 00 02 RECALIBRATE
04 00 00 00 05 02 FORMAT UNIT 04 00 00 00 05 02 FORMAT UNIT
08 00 00 00 11 02 READ 08 00 00 00 11 02 READ
...transfer 8704 (17*512) bytes... ...transfer 8704 (17*512) bytes...
error error
*/ */

View File

@ -453,20 +453,20 @@ void ws_rom_eeprom_device::write_io(offs_t offset, u16 data, u16 mem_mask)
{ {
case 0x06 / 2: case 0x06 / 2:
/* EEPROM address lower bits port/EEPROM address and command port /* EEPROM address lower bits port/EEPROM address and command port
1KBit EEPROM: 1KBit EEPROM:
Bit 0-5 - EEPROM address bit 1-6 Bit 0-5 - EEPROM address bit 1-6
Bit 6-7 - Command Bit 6-7 - Command
00 - Extended command address bit 4-5: 00 - Extended command address bit 4-5:
00 - Write disable 00 - Write disable
01 - Write all 01 - Write all
10 - Erase all 10 - Erase all
11 - Write enable 11 - Write enable
01 - Write 01 - Write
10 - Read 10 - Read
11 - Erase 11 - Erase
16KBit EEPROM: 16KBit EEPROM:
Bit 0-7 - EEPROM address bit 1-8 Bit 0-7 - EEPROM address bit 1-8
*/ */
if (ACCESSING_BITS_0_7) if (ACCESSING_BITS_0_7)
{ {
switch (m_eeprom_mode) switch (m_eeprom_mode)
@ -489,23 +489,23 @@ void ws_rom_eeprom_device::write_io(offs_t offset, u16 data, u16 mem_mask)
} }
} }
/* EEPROM higher bits/command bits port /* EEPROM higher bits/command bits port
1KBit EEPROM: 1KBit EEPROM:
Bit 0 - Start Bit 0 - Start
Bit 1-7 - Unknown Bit 1-7 - Unknown
16KBit EEPROM: 16KBit EEPROM:
Bit 0-1 - EEPROM address bit 9-10 Bit 0-1 - EEPROM address bit 9-10
Bit 2-3 - Command Bit 2-3 - Command
00 - Extended command address bit 0-1: 00 - Extended command address bit 0-1:
00 - Write disable 00 - Write disable
01 - Write all 01 - Write all
10 - Erase all 10 - Erase all
11 - Write enable 11 - Write enable
01 - Write 01 - Write
10 - Read 10 - Read
11 - Erase 11 - Erase
Bit 4 - Start Bit 4 - Start
Bit 5-7 - Unknown Bit 5-7 - Unknown
*/ */
if (ACCESSING_BITS_8_15) if (ACCESSING_BITS_8_15)
{ {
switch (m_eeprom_mode) switch (m_eeprom_mode)
@ -539,14 +539,14 @@ void ws_rom_eeprom_device::write_io(offs_t offset, u16 data, u16 mem_mask)
case 0x08 / 2: case 0x08 / 2:
/* EEPROM command /* EEPROM command
Bit 0 - Read complete (read only) Bit 0 - Read complete (read only)
Bit 1 - Write complete (read only) Bit 1 - Write complete (read only)
Bit 2-3 - Unknown Bit 2-3 - Unknown
Bit 4 - Read Bit 4 - Read
Bit 5 - Write Bit 5 - Write
Bit 6 - Protect Bit 6 - Protect
Bit 7 - Initialize Bit 7 - Initialize
*/ */
if (ACCESSING_BITS_0_7) if (ACCESSING_BITS_0_7)
{ {
if (data & 0x80) // Initialize if (data & 0x80) // Initialize
@ -686,7 +686,7 @@ void ws_wwitch_device::write_ram(offs_t offset, u16 data, u16 mem_mask)
m_flash_mode = COMMAND_MODE; m_flash_mode = COMMAND_MODE;
} }
break; break;
case 0x80: // Erase (chip or block) case 0x80: // Erase (chip or block)
m_flash_command = data; m_flash_command = data;
break; break;
default: // Unknown command default: // Unknown command

View File

@ -49,7 +49,7 @@ TODO:
#include "logmacro.h" #include "logmacro.h"
#define PRINT_HAPYFSH2 (0) #define PRINT_HAPYFSH2 (0)
#define PRINT_CE_KERNEL (0) #define PRINT_CE_KERNEL (0)
/* prototypes of coprocessor functions */ /* prototypes of coprocessor functions */
void arm7_dt_r_callback(arm_state *arm, uint32_t insn, uint32_t *prn, uint32_t (*read32)(arm_state *arm, uint32_t addr)); void arm7_dt_r_callback(arm_state *arm, uint32_t insn, uint32_t *prn, uint32_t (*read32)(arm_state *arm, uint32_t addr));

View File

@ -3,7 +3,7 @@
/***************************************************************************** /*****************************************************************************
* *
* cecalls.hxx * cecalls.hxx
* *
* Addresses of certain Windows CE kernel calls, for use in debugging * Addresses of certain Windows CE kernel calls, for use in debugging
* the bring-up of ARM-based Windows CE systems, e.g. Jornada 7xx. * the bring-up of ARM-based Windows CE systems, e.g. Jornada 7xx.
* *

View File

@ -12,10 +12,10 @@
Todo! Todo!
- Double check cycle timing is 100%. - Double check cycle timing is 100%.
- Add penalties when BW, BP, SP, IX, IY etc are changed in the immediately - Add penalties when BW, BP, SP, IX, IY etc are changed in the immediately
preceding instruction. preceding instruction.
- wswan mjkiwame (at 0x40141) has rep in al,$b5 (f3 e4 b5). Should this - wswan mjkiwame (at 0x40141) has rep in al,$b5 (f3 e4 b5). Should this
repeat the in instruction or is this a bug made by the programmer? repeat the in instruction or is this a bug made by the programmer?
****************************************************************************/ ****************************************************************************/
@ -2382,7 +2382,7 @@ void v30mz_cpu_device::execute_run()
case 0x20: and_word(); store_ea_rm_word(m_dst); break; case 0x20: and_word(); store_ea_rm_word(m_dst); break;
case 0x28: sub_word(); store_ea_rm_word(m_dst); break; case 0x28: sub_word(); store_ea_rm_word(m_dst); break;
case 0x30: xor_word(); store_ea_rm_word(m_dst); break; case 0x30: xor_word(); store_ea_rm_word(m_dst); break;
case 0x38: sub_word(); break; // CMP case 0x38: sub_word(); break; // CMP
} }
break; break;

View File

@ -4,30 +4,30 @@
m950x0.cpp m950x0.cpp
STmicro M95010/20/40 SPI-bus EEPROM STmicro M95010/20/40 SPI-bus EEPROM
Common characteristics: Common characteristics:
- 16-byte page size - 16-byte page size
- Write protection selectable in quarter, half, or full sizes - Write protection selectable in quarter, half, or full sizes
Part variants with a -DF designation have additional support for an Part variants with a -DF designation have additional support for an
identification page, which is not currently emulated. identification page, which is not currently emulated.
Sizes: Sizes:
M95010 - 1kbit M95010 - 1kbit
M95020 - 2kbit M95020 - 2kbit
M95040 - 4kbit, slightly altered instructions for 9th address bit M95040 - 4kbit, slightly altered instructions for 9th address bit
Current issues: Current issues:
- Implementation currently operates in a parallel manner, rather than - Implementation currently operates in a parallel manner, rather than
serial. serial.
***************************************************************************/ ***************************************************************************/
#include "emu.h" #include "emu.h"
#include "m950x0.h" #include "m950x0.h"
#define VERBOSE (0) #define VERBOSE (0)
#include "logmacro.h" #include "logmacro.h"
DEFINE_DEVICE_TYPE(M95010, m95010_device, "m95010", "STmicro M95010 1kbit SPI EEPROM") DEFINE_DEVICE_TYPE(M95010, m95010_device, "m95010", "STmicro M95010 1kbit SPI EEPROM")

View File

@ -4,7 +4,7 @@
m950x0.h m950x0.h
STmicro M95010/20/40 SPI-bus EEPROM STmicro M95010/20/40 SPI-bus EEPROM
***************************************************************************/ ***************************************************************************/
@ -46,21 +46,21 @@ protected:
enum : uint8_t enum : uint8_t
{ {
INSN_WRSR0 = 0x01, INSN_WRSR0 = 0x01,
INSN_WRITE0 = 0x02, INSN_WRITE0 = 0x02,
INSN_READ0 = 0x03, INSN_READ0 = 0x03,
INSN_WRDI0 = 0x04, INSN_WRDI0 = 0x04,
INSN_RDSR0 = 0x05, INSN_RDSR0 = 0x05,
INSN_WREN0 = 0x06, INSN_WREN0 = 0x06,
INSN_WRSR1 = 0x09, INSN_WRSR1 = 0x09,
INSN_WRITE1 = 0x0a, INSN_WRITE1 = 0x0a,
INSN_READ1 = 0x0b, INSN_READ1 = 0x0b,
INSN_WRDI1 = 0x0c, INSN_WRDI1 = 0x0c,
INSN_RDSR1 = 0x0d, INSN_RDSR1 = 0x0d,
INSN_WREN1 = 0x0e, INSN_WREN1 = 0x0e,
STATUS_WEL_BIT = 1 STATUS_WEL_BIT = 1
}; };
const bool m_check_a8; const bool m_check_a8;
@ -94,4 +94,4 @@ DECLARE_DEVICE_TYPE(M95010, m95010_device)
DECLARE_DEVICE_TYPE(M95020, m95020_device) DECLARE_DEVICE_TYPE(M95020, m95020_device)
DECLARE_DEVICE_TYPE(M95040, m95040_device) DECLARE_DEVICE_TYPE(M95040, m95040_device)
#endif // MAME_MACHINE_M950X0_H #endif // MAME_MACHINE_M950X0_H

View File

@ -10,7 +10,7 @@
#include "sa1110.h" #include "sa1110.h"
#define LOG_UNKNOWN (1 << 1) #define LOG_UNKNOWN (1 << 1)
#define LOG_ICP (1 << 2) #define LOG_ICP (1 << 2)
#define LOG_UART3 (1 << 3) #define LOG_UART3 (1 << 3)
#define LOG_UART3_HF (1 << 4) #define LOG_UART3_HF (1 << 4)
#define LOG_MCP (1 << 5) #define LOG_MCP (1 << 5)
@ -18,16 +18,16 @@
#define LOG_OSTIMER (1 << 7) #define LOG_OSTIMER (1 << 7)
#define LOG_OSTIMER_HF (1 << 8) #define LOG_OSTIMER_HF (1 << 8)
#define LOG_RTC (1 << 9) #define LOG_RTC (1 << 9)
#define LOG_RTC_HF (1 << 10) #define LOG_RTC_HF (1 << 10)
#define LOG_POWER (1 << 11) #define LOG_POWER (1 << 11)
#define LOG_POWER_HF (1 << 12) #define LOG_POWER_HF (1 << 12)
#define LOG_RESET (1 << 13) #define LOG_RESET (1 << 13)
#define LOG_GPIO (1 << 14) #define LOG_GPIO (1 << 14)
#define LOG_GPIO_HF (1 << 15) #define LOG_GPIO_HF (1 << 15)
#define LOG_INTC (1 << 16) #define LOG_INTC (1 << 16)
#define LOG_PPC (1 << 17) #define LOG_PPC (1 << 17)
#define LOG_DMA (1 << 18) #define LOG_DMA (1 << 18)
#define LOG_UDC (1 << 19) #define LOG_UDC (1 << 19)
#define LOG_ALL (LOG_UNKNOWN | LOG_ICP | LOG_UART3 | LOG_MCP | LOG_OSTIMER | LOG_RTC | LOG_POWER | LOG_RESET | LOG_GPIO | LOG_INTC | LOG_PPC | LOG_DMA | LOG_UDC) #define LOG_ALL (LOG_UNKNOWN | LOG_ICP | LOG_UART3 | LOG_MCP | LOG_OSTIMER | LOG_RTC | LOG_POWER | LOG_RESET | LOG_GPIO | LOG_INTC | LOG_PPC | LOG_DMA | LOG_UDC)
#define VERBOSE (0) #define VERBOSE (0)
@ -297,7 +297,7 @@ void sa1110_periphs_device::icp_w(offs_t offset, uint32_t data, uint32_t mem_mas
//parity_t parity = PARITY_NONE; //parity_t parity = PARITY_NONE;
//if (BIT(data, 0)) //if (BIT(data, 0))
//{ //{
// parity = (BIT(data, 1) ? PARITY_EVEN : PARITY_ODD); // parity = (BIT(data, 1) ? PARITY_EVEN : PARITY_ODD);
//} //}
//set_data_frame(1, BIT(data, 3) ? 8 : 7, parity, stop_bits); //set_data_frame(1, BIT(data, 3) ? 8 : 7, parity, stop_bits);
@ -314,7 +314,7 @@ void sa1110_periphs_device::icp_w(offs_t offset, uint32_t data, uint32_t mem_mas
//const uint8_t old = m_uart_regs.utcr[1] & 0x0f; //const uint8_t old = m_uart_regs.utcr[1] & 0x0f;
COMBINE_DATA(&m_icp_regs.uart.utcr[1]); COMBINE_DATA(&m_icp_regs.uart.utcr[1]);
//if ((m_uart_regs.utcr[1] & 0x0f) != old) //if ((m_uart_regs.utcr[1] & 0x0f) != old)
// icp_uart_recalculate_divisor(); // icp_uart_recalculate_divisor();
break; break;
} }
case REG_UTCR2: case REG_UTCR2:
@ -324,7 +324,7 @@ void sa1110_periphs_device::icp_w(offs_t offset, uint32_t data, uint32_t mem_mas
//const uint8_t old = m_uart_regs.utcr[2] & 0xff; //const uint8_t old = m_uart_regs.utcr[2] & 0xff;
COMBINE_DATA(&m_icp_regs.uart.utcr[2]); COMBINE_DATA(&m_icp_regs.uart.utcr[2]);
//if ((m_uart_regs.utcr[2] & 0xff) != old) //if ((m_uart_regs.utcr[2] & 0xff) != old)
// icp_uart_recalculate_divisor(); // icp_uart_recalculate_divisor();
break; break;
} }
case REG_UTCR3: case REG_UTCR3:

View File

@ -156,26 +156,26 @@ protected:
// register offsets // register offsets
enum enum
{ {
UDC_BASE_ADDR = 0x80000000, UDC_BASE_ADDR = 0x80000000,
REG_UDCCR = (0x00000000 >> 2), REG_UDCCR = (0x00000000 >> 2),
REG_UDCAR = (0x00000004 >> 2), REG_UDCAR = (0x00000004 >> 2),
REG_UDCOMP = (0x00000008 >> 2), REG_UDCOMP = (0x00000008 >> 2),
REG_UDCIMP = (0x0000000c >> 2), REG_UDCIMP = (0x0000000c >> 2),
REG_UDCCS0 = (0x00000010 >> 2), REG_UDCCS0 = (0x00000010 >> 2),
REG_UDCCS1 = (0x00000014 >> 2), REG_UDCCS1 = (0x00000014 >> 2),
REG_UDCCS2 = (0x00000018 >> 2), REG_UDCCS2 = (0x00000018 >> 2),
REG_UDCD0 = (0x0000001c >> 2), REG_UDCD0 = (0x0000001c >> 2),
REG_UDCWC = (0x00000020 >> 2), REG_UDCWC = (0x00000020 >> 2),
REG_UDCDR = (0x00000028 >> 2), REG_UDCDR = (0x00000028 >> 2),
REG_UDCSR = (0x00000030 >> 2), REG_UDCSR = (0x00000030 >> 2),
ICP_BASE_ADDR = 0x80030000, ICP_BASE_ADDR = 0x80030000,
REG_UTCR4 = (0x00000010 >> 2), REG_UTCR4 = (0x00000010 >> 2),
REG_HSCR0 = (0x00000060 >> 2), REG_HSCR0 = (0x00000060 >> 2),
REG_HSCR1 = (0x00000064 >> 2), REG_HSCR1 = (0x00000064 >> 2),
REG_HSDR = (0x0000006c >> 2), REG_HSDR = (0x0000006c >> 2),
REG_HSSR0 = (0x00000074 >> 2), REG_HSSR0 = (0x00000074 >> 2),
REG_HSSR1 = (0x00000078 >> 2), REG_HSSR1 = (0x00000078 >> 2),
UART_BASE_ADDR = 0x80050000, UART_BASE_ADDR = 0x80050000,
REG_UTCR0 = (0x00000000 >> 2), REG_UTCR0 = (0x00000000 >> 2),
@ -247,73 +247,73 @@ protected:
REG_ICFP = (0x00000010 >> 2), REG_ICFP = (0x00000010 >> 2),
REG_ICPR = (0x00000020 >> 2), REG_ICPR = (0x00000020 >> 2),
PPC_BASE_ADDR = 0x90060000, PPC_BASE_ADDR = 0x90060000,
REG_PPDR = (0x00000000 >> 2), REG_PPDR = (0x00000000 >> 2),
REG_PPSR = (0x00000004 >> 2), REG_PPSR = (0x00000004 >> 2),
REG_PPAR = (0x00000008 >> 2), REG_PPAR = (0x00000008 >> 2),
REG_PSDR = (0x0000000c >> 2), REG_PSDR = (0x0000000c >> 2),
REG_PPFR = (0x00000010 >> 2), REG_PPFR = (0x00000010 >> 2),
DMA_BASE_ADDR = 0xb0000000, DMA_BASE_ADDR = 0xb0000000,
REG_DDAR = (0x00000000 >> 2), REG_DDAR = (0x00000000 >> 2),
REG_DSSR = (0x00000004 >> 2), REG_DSSR = (0x00000004 >> 2),
REG_DCSR = (0x00000008 >> 2), REG_DCSR = (0x00000008 >> 2),
REG_DSR = (0x0000000c >> 2), REG_DSR = (0x0000000c >> 2),
REG_DBSA = (0x00000010 >> 2), REG_DBSA = (0x00000010 >> 2),
REG_DBTA = (0x00000014 >> 2), REG_DBTA = (0x00000014 >> 2),
REG_DBSB = (0x00000018 >> 2), REG_DBSB = (0x00000018 >> 2),
REG_DBTB = (0x0000001c >> 2) REG_DBTB = (0x0000001c >> 2)
}; };
// register contents // register contents
enum : uint32_t enum : uint32_t
{ {
UDCCR_UDD_BIT = 0, UDCCR_UDD_BIT = 0,
UDCCR_UDA_BIT = 1, UDCCR_UDA_BIT = 1,
UDCCR_RESM_BIT = 2, UDCCR_RESM_BIT = 2,
UDCCR_EIM_BIT = 3, UDCCR_EIM_BIT = 3,
UDCCR_RIM_BIT = 4, UDCCR_RIM_BIT = 4,
UDCCR_TIM_BIT = 5, UDCCR_TIM_BIT = 5,
UDCCR_SUSM_BIT = 6, UDCCR_SUSM_BIT = 6,
UDCCR_WRITE_MASK = 0x7d, UDCCR_WRITE_MASK = 0x7d,
UDCAR_WRITE_MASK = 0x7f, UDCAR_WRITE_MASK = 0x7f,
UDCOMP_WRITE_MASK = 0xff, UDCOMP_WRITE_MASK = 0xff,
UDCIMP_WRITE_MASK = 0xff, UDCIMP_WRITE_MASK = 0xff,
UDCCS0_OPR_BIT = 0, UDCCS0_OPR_BIT = 0,
UDCCS0_IPR_BIT = 1, UDCCS0_IPR_BIT = 1,
UDCCS0_SST_BIT = 2, UDCCS0_SST_BIT = 2,
UDCCS0_FST_BIT = 3, UDCCS0_FST_BIT = 3,
UDCCS0_DE_BIT = 4, UDCCS0_DE_BIT = 4,
UDCCS0_SE_BIT = 5, UDCCS0_SE_BIT = 5,
UDCCS0_SO_BIT = 6, UDCCS0_SO_BIT = 6,
UDCCS0_SSE_BIT = 7, UDCCS0_SSE_BIT = 7,
UDCCS1_RFS_BIT = 0, UDCCS1_RFS_BIT = 0,
UDCCS1_RPC_BIT = 1, UDCCS1_RPC_BIT = 1,
UDCCS1_RPE_BIT = 2, UDCCS1_RPE_BIT = 2,
UDCCS1_SST_BIT = 3, UDCCS1_SST_BIT = 3,
UDCCS1_FST_BIT = 4, UDCCS1_FST_BIT = 4,
UDCCS1_RNE_BIT = 5, UDCCS1_RNE_BIT = 5,
UDCCS2_TFS_BIT = 0, UDCCS2_TFS_BIT = 0,
UDCCS2_TPC_BIT = 1, UDCCS2_TPC_BIT = 1,
UDCCS2_TPE_BIT = 2, UDCCS2_TPE_BIT = 2,
UDCCS2_TUR_BIT = 3, UDCCS2_TUR_BIT = 3,
UDCCS2_SST_BIT = 4, UDCCS2_SST_BIT = 4,
UDCCS2_FST_BIT = 5, UDCCS2_FST_BIT = 5,
UDCWC_WRITE_MASK = 0x0f, UDCWC_WRITE_MASK = 0x0f,
UDCSR_EIR_BIT = 0, UDCSR_EIR_BIT = 0,
UDCSR_RIR_BIT = 1, UDCSR_RIR_BIT = 1,
UDCSR_TIR_BIT = 2, UDCSR_TIR_BIT = 2,
UDCSR_SUSIR_BIT = 3, UDCSR_SUSIR_BIT = 3,
UDCSR_RESIR_BIT = 4, UDCSR_RESIR_BIT = 4,
UDCSR_RSTIR_BIT = 5, UDCSR_RSTIR_BIT = 5,
UART3_FIFO_PRE = 8, UART3_FIFO_PRE = 8,
UART3_FIFO_FRE = 9, UART3_FIFO_FRE = 9,
@ -326,8 +326,8 @@ protected:
UTCR3_TIE_BIT = 4, UTCR3_TIE_BIT = 4,
UTCR3_LBM_BIT = 5, UTCR3_LBM_BIT = 5,
UTCR4_HSE_BIT = 0, UTCR4_HSE_BIT = 0,
UTCR4_LPM_BIT = 1, UTCR4_LPM_BIT = 1,
UTSR0_TFS_BIT = 0, UTSR0_TFS_BIT = 0,
UTSR0_RFS_BIT = 1, UTSR0_RFS_BIT = 1,
@ -343,36 +343,36 @@ protected:
UTSR1_FRE_BIT = 4, UTSR1_FRE_BIT = 4,
UTSR1_ROR_BIT = 5, UTSR1_ROR_BIT = 5,
HSCR0_ITR_BIT = 0, HSCR0_ITR_BIT = 0,
HSCR0_LBM_BIT = 1, HSCR0_LBM_BIT = 1,
HSCR0_TUS_BIT = 2, HSCR0_TUS_BIT = 2,
HSCR0_TXE_BIT = 3, HSCR0_TXE_BIT = 3,
HSCR0_RXE_BIT = 4, HSCR0_RXE_BIT = 4,
HSCR0_RIE_BIT = 5, HSCR0_RIE_BIT = 5,
HSCR0_TIE_BIT = 6, HSCR0_TIE_BIT = 6,
HSCR0_AME_BIT = 7, HSCR0_AME_BIT = 7,
HSCR2_TXP_BIT = 18, HSCR2_TXP_BIT = 18,
HSCR2_RXP_BIT = 19, HSCR2_RXP_BIT = 19,
HSDR_EOF_BIT = 8, HSDR_EOF_BIT = 8,
HSDR_CRE_BIT = 9, HSDR_CRE_BIT = 9,
HSDR_ROR_BIT = 10, HSDR_ROR_BIT = 10,
HSSR0_EIF_BIT = 0, HSSR0_EIF_BIT = 0,
HSSR0_TUR_BIT = 1, HSSR0_TUR_BIT = 1,
HSSR0_RAB_BIT = 2, HSSR0_RAB_BIT = 2,
HSSR0_TFS_BIT = 3, HSSR0_TFS_BIT = 3,
HSSR0_RFS_BIT = 4, HSSR0_RFS_BIT = 4,
HSSR0_FRE_BIT = 5, HSSR0_FRE_BIT = 5,
HSSR1_RSY_BIT = 0, HSSR1_RSY_BIT = 0,
HSSR1_TBY_BIT = 1, HSSR1_TBY_BIT = 1,
HSSR1_RNE_BIT = 2, HSSR1_RNE_BIT = 2,
HSSR1_TNF_BIT = 3, HSSR1_TNF_BIT = 3,
HSSR1_EOF_BIT = 4, HSSR1_EOF_BIT = 4,
HSSR1_CRE_BIT = 5, HSSR1_CRE_BIT = 5,
HSSR1_ROR_BIT = 6, HSSR1_ROR_BIT = 6,
MCCR0_ASD_BIT = 0, MCCR0_ASD_BIT = 0,
MCCR0_ASD_MASK = 0x0000007f, MCCR0_ASD_MASK = 0x0000007f,
@ -443,25 +443,25 @@ protected:
RTSR_HZE_BIT = 3, RTSR_HZE_BIT = 3,
RTSR_HZE_MASK = (1 << RTSR_HZE_BIT), RTSR_HZE_MASK = (1 << RTSR_HZE_BIT),
DDAR_RW_BIT = 0, DDAR_RW_BIT = 0,
DDAR_E_BIT = 1, DDAR_E_BIT = 1,
DDAR_BS_BIT = 2, DDAR_BS_BIT = 2,
DDAR_DW_BIT = 3, DDAR_DW_BIT = 3,
DDAR_DA0_BIT = 4, DDAR_DA0_BIT = 4,
DDAR_DA0_MASK = 0x000000f0, DDAR_DA0_MASK = 0x000000f0,
DDAR_DA8_BIT = 8, DDAR_DA8_BIT = 8,
DDAR_DA8_MASK = 0xffffff00, DDAR_DA8_MASK = 0xffffff00,
DSR_RUN_BIT = 0, DSR_RUN_BIT = 0,
DSR_IE_BIT = 1, DSR_IE_BIT = 1,
DSR_ERROR_BIT = 2, DSR_ERROR_BIT = 2,
DSR_DONEA_BIT = 3, DSR_DONEA_BIT = 3,
DSR_STRTA_BIT = 4, DSR_STRTA_BIT = 4,
DSR_DONEB_BIT = 5, DSR_DONEB_BIT = 5,
DSR_STRTB_BIT = 6, DSR_STRTB_BIT = 6,
DSR_BIU_BIT = 7, DSR_BIU_BIT = 7,
DBT_MASK = 0x00001fff DBT_MASK = 0x00001fff
}; };
// interrupt bits // interrupt bits
@ -715,9 +715,9 @@ protected:
uint32_t dbt[2]; uint32_t dbt[2];
}; };
udc_regs m_udc_regs; udc_regs m_udc_regs;
uart_regs m_uart_regs; uart_regs m_uart_regs;
icp_regs m_icp_regs; icp_regs m_icp_regs;
mcp_regs m_mcp_regs; mcp_regs m_mcp_regs;
ssp_regs m_ssp_regs; ssp_regs m_ssp_regs;
ostimer_regs m_ostmr_regs; ostimer_regs m_ostmr_regs;
@ -726,9 +726,9 @@ protected:
uint32_t m_rcsr; uint32_t m_rcsr;
gpio_regs m_gpio_regs; gpio_regs m_gpio_regs;
intc_regs m_intc_regs; intc_regs m_intc_regs;
ppc_regs m_ppc_regs; ppc_regs m_ppc_regs;
dma_regs m_dma_regs[6]; dma_regs m_dma_regs[6];
uint8_t m_dma_active_mask; uint8_t m_dma_active_mask;
required_device<sa1110_cpu_device> m_maincpu; required_device<sa1110_cpu_device> m_maincpu;
required_device<input_merger_device> m_uart3_irqs; required_device<input_merger_device> m_uart3_irqs;

View File

@ -21,7 +21,7 @@
#define LOG_GPIO (1 << 10) #define LOG_GPIO (1 << 10)
#define LOG_INTC (1 << 11) #define LOG_INTC (1 << 11)
#define LOG_CARD (1 << 12) #define LOG_CARD (1 << 12)
#define LOG_AUDIO_DMA (1 << 13) #define LOG_AUDIO_DMA (1 << 13)
#define LOG_ALL (LOG_UNKNOWN | LOG_SBI | LOG_SK | LOG_USB | LOG_AUDIO | LOG_SSP | LOG_TRACK | LOG_MOUSE | LOG_GPIO | LOG_INTC | LOG_CARD) #define LOG_ALL (LOG_UNKNOWN | LOG_SBI | LOG_SK | LOG_USB | LOG_AUDIO | LOG_SSP | LOG_TRACK | LOG_MOUSE | LOG_GPIO | LOG_INTC | LOG_CARD)
#define VERBOSE (0) #define VERBOSE (0)

View File

@ -346,19 +346,19 @@ protected:
SASCR_RDD_BIT = 17, SASCR_RDD_BIT = 17,
SASCR_STO_BIT = 18, SASCR_STO_BIT = 18,
SASR_TNF_BIT = 0, SASR_TNF_BIT = 0,
SASR_RNE_BIT = 1, SASR_RNE_BIT = 1,
SASR_BSY_BIT = 2, SASR_BSY_BIT = 2,
SASR_TFS_BIT = 3, SASR_TFS_BIT = 3,
SASR_RFS_BIT = 4, SASR_RFS_BIT = 4,
SASR_TUR_BIT = 5, SASR_TUR_BIT = 5,
SASR_ROR_BIT = 6, SASR_ROR_BIT = 6,
SASR_TFL_BIT = 8, SASR_TFL_BIT = 8,
SASR_TFL_MASK = 0x00000f00, SASR_TFL_MASK = 0x00000f00,
SASR_RFL_BIT = 12, SASR_RFL_BIT = 12,
SASR_RFL_MASK = 0x0000f000, SASR_RFL_MASK = 0x0000f000,
SASR_SEND_BIT = 16, SASR_SEND_BIT = 16,
SASR_RECV_BIT = 17, SASR_RECV_BIT = 17,
SASR0_L3WD_BIT = 16, SASR0_L3WD_BIT = 16,
SASR0_L3RD_BIT = 17, SASR0_L3RD_BIT = 17,
@ -376,14 +376,14 @@ protected:
SADTCS_TDSTA_BIT = 4, SADTCS_TDSTA_BIT = 4,
SADTCS_TDBDB_BIT = 5, SADTCS_TDBDB_BIT = 5,
SADTCS_TDSTB_BIT = 6, SADTCS_TDSTB_BIT = 6,
SADTCS_TBIU_BIT = 7, SADTCS_TBIU_BIT = 7,
SADRCS_RDEN_BIT = 0, SADRCS_RDEN_BIT = 0,
SADRCS_RDBDA_BIT = 3, SADRCS_RDBDA_BIT = 3,
SADRCS_RDSTA_BIT = 4, SADRCS_RDSTA_BIT = 4,
SADRCS_RDBDB_BIT = 5, SADRCS_RDBDB_BIT = 5,
SADRCS_RDSTB_BIT = 6, SADRCS_RDSTB_BIT = 6,
SADRCS_RBIU_BIT = 7, SADRCS_RBIU_BIT = 7,
SAITR_TFS_BIT = 0, SAITR_TFS_BIT = 0,
SAITR_RFS_BIT = 1, SAITR_RFS_BIT = 1,
@ -480,56 +480,56 @@ protected:
// interrupt lines // interrupt lines
enum : uint32_t enum : uint32_t
{ {
INT_GPA0 = 0, INT_GPA0 = 0,
INT_GPA1 = 1, INT_GPA1 = 1,
INT_GPA2 = 2, INT_GPA2 = 2,
INT_GPA3 = 3, INT_GPA3 = 3,
INT_GPB0 = 4, INT_GPB0 = 4,
INT_GPB1 = 5, INT_GPB1 = 5,
INT_GPB2 = 6, INT_GPB2 = 6,
INT_GPB3 = 7, INT_GPB3 = 7,
INT_GPB4 = 8, INT_GPB4 = 8,
INT_GPB5 = 9, INT_GPB5 = 9,
INT_GPC0 = 10, INT_GPC0 = 10,
INT_GPC1 = 11, INT_GPC1 = 11,
INT_GPC2 = 12, INT_GPC2 = 12,
INT_GPC3 = 13, INT_GPC3 = 13,
INT_GPC4 = 14, INT_GPC4 = 14,
INT_GPC5 = 15, INT_GPC5 = 15,
INT_GPC6 = 16, INT_GPC6 = 16,
INT_GPC7 = 17, INT_GPC7 = 17,
INT_MSTX = 18, INT_MSTX = 18,
INT_MSRX = 19, INT_MSRX = 19,
INT_MSERR = 20, INT_MSERR = 20,
INT_TPTX = 21, INT_TPTX = 21,
INT_TPRX = 22, INT_TPRX = 22,
INT_TPERR = 23, INT_TPERR = 23,
INT_SSPTX = 24, INT_SSPTX = 24,
INT_SSPRX = 25, INT_SSPRX = 25,
INT_SSPROR = 26, INT_SSPROR = 26,
INT_AUDTXA = 32, INT_AUDTXA = 32,
INT_AUDRXA = 33, INT_AUDRXA = 33,
INT_AUDTXB = 34, INT_AUDTXB = 34,
INT_AUDRXB = 35, INT_AUDRXB = 35,
INT_AUDTFS = 36, INT_AUDTFS = 36,
INT_AUDRFS = 37, INT_AUDRFS = 37,
INT_AUDTUR = 38, INT_AUDTUR = 38,
INT_AUDROR = 39, INT_AUDROR = 39,
INT_AUDDTS = 40, INT_AUDDTS = 40,
INT_AUDRDD = 41, INT_AUDRDD = 41,
INT_AUDSTO = 42, INT_AUDSTO = 42,
INT_USBPWR = 43, INT_USBPWR = 43,
INT_USBHCIM = 44, INT_USBHCIM = 44,
INT_USBHCIBUF = 45, INT_USBHCIBUF = 45,
INT_USBHCIWAKE = 46, INT_USBHCIWAKE = 46,
INT_USBHCIMFC = 47, INT_USBHCIMFC = 47,
INT_USBRESUME = 48, INT_USBRESUME = 48,
INT_S0RDY = 49, INT_S0RDY = 49,
INT_S1RDY = 50, INT_S1RDY = 50,
INT_S0CD = 51, INT_S0CD = 51,
INT_S1CD = 52, INT_S1CD = 52,
INT_S0BVD = 53, INT_S0BVD = 53,
INT_S1BVD = 54 INT_S1BVD = 54
}; };
struct sbi_regs struct sbi_regs

View File

@ -160,7 +160,7 @@ u8 swim1_device::ism_read(offs_t offset)
return m_ism_mode; return m_ism_mode;
default: default:
// logerror("read %s\n", names[offset & 7]); // logerror("read %s\n", names[offset & 7]);
break; break;
} }
return 0xff; return 0xff;

View File

@ -231,7 +231,7 @@ void swim2_device::write(offs_t offset, u8 data)
if(fifo_push(M_CRC) && !m_error) if(fifo_push(M_CRC) && !m_error)
m_error |= 0x04; m_error |= 0x04;
break; break;
case 3: { // param case 3: { // param
static const char *const pname[4] = { static const char *const pname[4] = {
"late", "time0", "early", "time1" "late", "time0", "early", "time1"
@ -394,7 +394,7 @@ void swim2_device::sync()
cycles = 0; cycles = 0;
break; break;
} }
} }
if(m_tss_output & 0xc) { if(m_tss_output & 0xc) {
bool bit; bool bit;
@ -525,7 +525,7 @@ void swim2_device::sync()
} }
} }
} }
} }
} }
} }

View File

@ -51,7 +51,7 @@ private:
u16 m_fifo[2], m_sr; u16 m_fifo[2], m_sr;
u16 m_crc, m_mfm_sync_counter; u16 m_crc, m_mfm_sync_counter;
u32 m_half_cycles_before_change; u32 m_half_cycles_before_change;
u64 m_last_sync; u64 m_last_sync;
u64 m_flux_write_start; u64 m_flux_write_start;
std::array<u64, 32> m_flux_write; std::array<u64, 32> m_flux_write;
@ -61,7 +61,7 @@ private:
u64 time_to_cycles(const attotime &tm) const; u64 time_to_cycles(const attotime &tm) const;
attotime cycles_to_time(u64 cycles) const; attotime cycles_to_time(u64 cycles) const;
void fifo_clear(); void fifo_clear();
bool fifo_push(u16 data); bool fifo_push(u16 data);
u16 fifo_pop(); u16 fifo_pop();

View File

@ -2,21 +2,21 @@
// copyright-holders:Ryan Holtz // copyright-holders:Ryan Holtz
/*************************************************************************** /***************************************************************************
Philips UDA1344 Stereo Audio Codec skeleton Philips UDA1344 Stereo Audio Codec skeleton
****************************************************************************/ ****************************************************************************/
#include "emu.h" #include "emu.h"
#include "sound/uda1344.h" #include "sound/uda1344.h"
#define LOG_ADDR (1 << 1) #define LOG_ADDR (1 << 1)
#define LOG_STATUS_REG (1 << 2) #define LOG_STATUS_REG (1 << 2)
#define LOG_DATA_REG (1 << 3) #define LOG_DATA_REG (1 << 3)
#define LOG_INPUT (1 << 4) #define LOG_INPUT (1 << 4)
#define LOG_OVERRUNS (1 << 5) #define LOG_OVERRUNS (1 << 5)
#define LOG_ALL (LOG_ADDR | LOG_STATUS_REG | LOG_DATA_REG | LOG_INPUT | LOG_OVERRUNS) #define LOG_ALL (LOG_ADDR | LOG_STATUS_REG | LOG_DATA_REG | LOG_INPUT | LOG_OVERRUNS)
#define VERBOSE (0) #define VERBOSE (0)
#include "logmacro.h" #include "logmacro.h"

View File

@ -2,7 +2,7 @@
// copyright-holders:Ryan Holtz // copyright-holders:Ryan Holtz
/*************************************************************************** /***************************************************************************
Philips UDA1344 Stereo Audio Codec skeleton Philips UDA1344 Stereo Audio Codec skeleton
****************************************************************************/ ****************************************************************************/
@ -41,41 +41,41 @@ protected:
enum : uint8_t enum : uint8_t
{ {
CHIP_ADDR_MASK = 0xfc, CHIP_ADDR_MASK = 0xfc,
CHIP_ADDR = 0x14, CHIP_ADDR = 0x14,
REG_TYPE_MASK = 0xc0, REG_TYPE_MASK = 0xc0,
REG_TYPE_BIT = 6, REG_TYPE_BIT = 6,
VOLUME_REG = 0x00, VOLUME_REG = 0x00,
VOLUME_REG_MASK = 0x3f, VOLUME_REG_MASK = 0x3f,
EQUALIZER_REG = 0x01, EQUALIZER_REG = 0x01,
EQUALIZER_REG_MASK = 0x3f, EQUALIZER_REG_MASK = 0x3f,
EQUALIZER_BB_MASK = 0x3c, EQUALIZER_BB_MASK = 0x3c,
EQUALIZER_BB_BIT = 2, EQUALIZER_BB_BIT = 2,
EQUALIZER_TR_MASK = 0x03, EQUALIZER_TR_MASK = 0x03,
EQUALIZER_TR_BIT = 0, EQUALIZER_TR_BIT = 0,
FILTER_REG = 0x02, FILTER_REG = 0x02,
FILTER_REG_MASK = 0x1f, FILTER_REG_MASK = 0x1f,
FILTER_DE_MASK = 0x18, FILTER_DE_MASK = 0x18,
FILTER_DE_BIT = 3, FILTER_DE_BIT = 3,
FILTER_MT_BIT = 2, FILTER_MT_BIT = 2,
FILTER_MODE_MASK = 0x03, FILTER_MODE_MASK = 0x03,
FILTER_MODE_BIT = 0, FILTER_MODE_BIT = 0,
POWER_REG = 0x03, POWER_REG = 0x03,
POWER_REG_MASK = 0x03, POWER_REG_MASK = 0x03,
POWER_ADC_BIT = 1, POWER_ADC_BIT = 1,
POWER_DAC_BIT = 0, POWER_DAC_BIT = 0,
STATUS_REG_MASK = 0x3f, STATUS_REG_MASK = 0x3f,
STATUS_SC_MASK = 0x30, STATUS_SC_MASK = 0x30,
STATUS_SC_BIT = 4, STATUS_SC_BIT = 4,
STATUS_IF_MASK = 0x0e, STATUS_IF_MASK = 0x0e,
STATUS_IF_BIT = 1, STATUS_IF_BIT = 1,
STATUS_DC_BIT = 0 STATUS_DC_BIT = 0
}; };
sound_stream *m_stream; sound_stream *m_stream;

View File

@ -8,9 +8,9 @@
- Currently hard-coded for use with the Jornada 720 driver. - Currently hard-coded for use with the Jornada 720 driver.
- Register contents are correctly stored, logged and masked, but - Register contents are correctly stored, logged and masked, but
register handling is otherwise largely non-present. register handling is otherwise largely non-present.
- There is the potential for endian issues, and it will be - There is the potential for endian issues, and it will be
dealt with once the Jornada 720 driver makes heavier use of dealt with once the Jornada 720 driver makes heavier use of
BitBLT operations or other operations relevant to endianness. BitBLT operations or other operations relevant to endianness.
**********************************************************************/ **********************************************************************/
@ -31,7 +31,7 @@
#define LOG_LUT_WR (1 << 11) #define LOG_LUT_WR (1 << 11)
#define LOG_MPLUG_RD (1 << 12) #define LOG_MPLUG_RD (1 << 12)
#define LOG_MPLUG_WR (1 << 13) #define LOG_MPLUG_WR (1 << 13)
#define LOG_LCD_RD_HF (1 << 14) #define LOG_LCD_RD_HF (1 << 14)
#define LOG_ALL (LOG_MISC_RD | LOG_MISC_WR | LOG_LCD_RD | LOG_LCD_WR | LOG_CRT_RD | LOG_CRT_WR | LOG_BITBLT_RD | LOG_BITBLT_WR | LOG_BITBLT_OP | LOG_LUT_RD \ #define LOG_ALL (LOG_MISC_RD | LOG_MISC_WR | LOG_LCD_RD | LOG_LCD_WR | LOG_CRT_RD | LOG_CRT_WR | LOG_BITBLT_RD | LOG_BITBLT_WR | LOG_BITBLT_OP | LOG_LUT_RD \
| LOG_LUT_WR | LOG_MPLUG_RD | LOG_MPLUG_WR) | LOG_LUT_WR | LOG_MPLUG_RD | LOG_MPLUG_WR)

View File

@ -2845,7 +2845,7 @@ void floppy_image_format_t::build_mac_track_gcr(int track, int head, floppy_imag
30318342 / 429, 30318342 / 429,
30318342 / 472, 30318342 / 472,
30318342 / 525, 30318342 / 525,
30318342 / 590 30318342 / 590
}; };
static const std::array<uint8_t, 12> notag{}; static const std::array<uint8_t, 12> notag{};
@ -2960,10 +2960,10 @@ std::vector<std::vector<uint8_t>> floppy_image_format_t::extract_sectors_from_tr
if(hstate == 0xd5aa96) if(hstate == 0xd5aa96)
hpos.push_back(pos == nib.size() - 1 ? 0 : pos+1); hpos.push_back(pos == nib.size() - 1 ? 0 : pos+1);
} }
for(uint32_t pos : hpos) { for(uint32_t pos : hpos) {
uint8_t h[7]; uint8_t h[7];
for(auto &e : h) { for(auto &e : h) {
e = nib[pos]; e = nib[pos];
pos ++; pos ++;
@ -2975,7 +2975,7 @@ std::vector<std::vector<uint8_t>> floppy_image_format_t::extract_sectors_from_tr
uint8_t v3 = gcr6bw_tb[h[3]]; uint8_t v3 = gcr6bw_tb[h[3]];
uint8_t tr = gcr6bw_tb[h[0]] | (v2 & 1 ? 0x40 : 0x00); uint8_t tr = gcr6bw_tb[h[0]] | (v2 & 1 ? 0x40 : 0x00);
uint8_t se = gcr6bw_tb[h[1]]; uint8_t se = gcr6bw_tb[h[1]];
// uint8_t si = v2 & 0x20 ? 1 : 0; // uint8_t si = v2 & 0x20 ? 1 : 0;
// uint8_t ds = v3 & 0x20 ? 1 : 0; // uint8_t ds = v3 & 0x20 ? 1 : 0;
// uint8_t fmt = v3 & 0x1f; // uint8_t fmt = v3 & 0x1f;
uint8_t c1 = (tr^se^v2^v3) & 0x3f; uint8_t c1 = (tr^se^v2^v3) & 0x3f;

View File

@ -372,8 +372,8 @@ protected:
/*! @brief Test if a variant is present in the variant vector /*! @brief Test if a variant is present in the variant vector
@param variants the variant vector @param variants the variant vector
@param variant the variant to test @param variant the variant to test
@result true if variant is in variants @result true if variant is in variants
*/ */
static bool has_variant(const std::vector<uint32_t> &variants, uint32_t variant); static bool has_variant(const std::vector<uint32_t> &variants, uint32_t variant);

View File

@ -146,10 +146,10 @@ void cmi01a_device::sound_stream_update(sound_stream &stream, std::vector<read_s
{ {
const uint8_t sample8 = wave_ptr[addr++ & 0x3fff]; const uint8_t sample8 = wave_ptr[addr++ & 0x3fff];
s32 sample = (int32_t)(int8_t)(sample8 ^ 0x80) * m_env * m_vol_latch; s32 sample = (int32_t)(int8_t)(sample8 ^ 0x80) * m_env * m_vol_latch;
// if (m_channel == 5) printf("%08x:%02x:%02x:%02x", (uint32_t)sample, sample8, m_env, m_vol_latch); // if (m_channel == 5) printf("%08x:%02x:%02x:%02x", (uint32_t)sample, sample8, m_env, m_vol_latch);
buf.put_int(sampindex, (int16_t)(sample >> 8), 32768); buf.put_int(sampindex, (int16_t)(sample >> 8), 32768);
} }
// if (m_channel == 5) printf("\n"); // if (m_channel == 5) printf("\n");
m_segment_cnt = (m_segment_cnt & ~mask) | addr; m_segment_cnt = (m_segment_cnt & ~mask) | addr;
} }

View File

@ -263,7 +263,7 @@ u16 wswan_sound_device::port_r(offs_t offset, u16 mem_mask)
(m_audio4_noise ? 0x80 : 0x00) | (m_audio4_noise ? 0x80 : 0x00) |
(m_mono ? 0x0100 : 0x00) | (m_output_volume << 9) | (m_mono ? 0x0100 : 0x00) | (m_output_volume << 9) |
(m_external_stereo ? 0x0800 : 0x00) | (m_external_stereo ? 0x0800 : 0x00) |
(m_external_speaker ? 0x00 : 0x00); // TODO 0x80 is set when external speaker is connected (m_external_speaker ? 0x00 : 0x00); // TODO 0x80 is set when external speaker is connected
case 0x92 / 2: case 0x92 / 2:
return m_noise_shift; return m_noise_shift;
case 0x94 / 2: case 0x94 / 2:

View File

@ -35,9 +35,9 @@
TODO: TODO:
- sas/format/format in abcenix tries to access the SASI card using a memory location mapped for task 0, when the process is run as task 1 - sas/format/format in abcenix tries to access the SASI card using a memory location mapped for task 0, when the process is run as task 1
- MAC task/page/segment addressing failure? - MAC task/page/segment addressing failure?
- MAC page/segment RAM write strobe decoding failure? - MAC page/segment RAM write strobe decoding failure?
- CPU does not enter supervisor mode when needed? - CPU does not enter supervisor mode when needed?
[:mac] ':3f' (0009E) ff800:4f TASK 0 SEGMENT 15 PAGE 15 MEM 7f800-7ffff 1ff800 [:mac] ':3f' (0009E) ff800:4f TASK 0 SEGMENT 15 PAGE 15 MEM 7f800-7ffff 1ff800
[:mac] ':3f' (0009E) ff801:ff TASK 0 SEGMENT 15 PAGE 15 MEM 7f800-7ffff 1ff800 [:mac] ':3f' (0009E) ff801:ff TASK 0 SEGMENT 15 PAGE 15 MEM 7f800-7ffff 1ff800

View File

@ -218,7 +218,7 @@
The game card contains the program roms, sound rom and YMZ280B with a gal and optional RTC The game card contains the program roms, sound rom and YMZ280B with a gal and optional RTC
The GAL is only dumped for highroller, not sure if other boards have a different part. The GAL is only dumped for highroller, not sure if other boards have a different part.
Adder 4 video board adds an additional card with a MC68340PV25E (25.175Mhz) Adder 4 video board adds an additional card with a MC68340PV25E (25.175Mhz)
------------------------------- -------------------------------
@ -1834,10 +1834,10 @@ ROM_START( sc4hrolr ) // uses RTC on romcard
ROM_REGION( 0x100000, "ymz", 0 ) ROM_REGION( 0x100000, "ymz", 0 )
ROM_LOAD( "b3a_highroller.bin", 0x0000, 0x100000, CRC(38ce5435) SHA1(e159420e7929fa048f3b2393f761eeed2e1cf3b7) ) ROM_LOAD( "b3a_highroller.bin", 0x0000, 0x100000, CRC(38ce5435) SHA1(e159420e7929fa048f3b2393f761eeed2e1cf3b7) )
ROM_REGION( 0x100000, "gals", 0 ) ROM_REGION( 0x100000, "gals", 0 )
ROM_LOAD( "75585129.ic1.bin", 0x0000, 0x000117, CRC(2454bb33) SHA1(610cde14caef3f2d02f0076b924e015077c3832b) ) /* protected gal16v8 on romcard */ ROM_LOAD( "75585129.ic1.bin", 0x0000, 0x000117, CRC(2454bb33) SHA1(610cde14caef3f2d02f0076b924e015077c3832b) ) /* protected gal16v8 on romcard */
ROM_END ROM_END
ROM_START( ad4skill ) ROM_START( ad4skill )
ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASEFF ) ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASEFF )

View File

@ -274,11 +274,11 @@ void design6_state::design6(machine_config &config)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
CD4099(config, "outlatch0"); CD4099(config, "outlatch0");
// outlatch0.q_out_cb<0>() // enable coin return motor 1 // outlatch0.q_out_cb<0>() // enable coin return motor 1
// outlatch0.q_out_cb<1>() // enable coin return motor 2 // outlatch0.q_out_cb<1>() // enable coin return motor 2
// outlatch0.q_out_cb<2>() // enable coin return motor 3 // outlatch0.q_out_cb<2>() // enable coin return motor 3
// outlatch0.q_out_cb<3>() // master enable coin return motor? // outlatch0.q_out_cb<3>() // master enable coin return motor?
// outlatch0.q_out_cb<6>() // ? // outlatch0.q_out_cb<6>() // ?
cd4099_device &outlatch1(CD4099(config, "outlatch1")); cd4099_device &outlatch1(CD4099(config, "outlatch1"));
outlatch1.q_out_cb<5>().set("vfd", FUNC(roc10937_device::data)); outlatch1.q_out_cb<5>().set("vfd", FUNC(roc10937_device::data));

View File

@ -27,23 +27,23 @@
OUTPUT: OUTPUT:
all bits = Centronics data all bits = Centronics data
Colors (from COLORDEM.BAS) Colors (from COLORDEM.BAS)
0 = black 0 = black
1 = dark blue 1 = dark blue
2 = red 2 = red
3 = magenta 3 = magenta
4 = brown 4 = brown
5 = grey 5 = grey
6 = orange 6 = orange
7 = pink 7 = pink
8 = dark aqua 8 = dark aqua
9 = blue 9 = blue
A = grey 2 A = grey 2
B = light blue B = light blue
C = green C = green
D = aqua D = aqua
E = yellow E = yellow
F = white F = white
****************************************************************************/ ****************************************************************************/
@ -134,7 +134,7 @@ void dim68k_state::dim68k_palette(palette_device &palette)
palette.set_pen_color(12, rgb_t(0x19, 0xd7, 0x00)); /* Light Green */ palette.set_pen_color(12, rgb_t(0x19, 0xd7, 0x00)); /* Light Green */
palette.set_pen_color(13, rgb_t(0x58, 0xf4, 0xbf)); /* Aquamarine */ palette.set_pen_color(13, rgb_t(0x58, 0xf4, 0xbf)); /* Aquamarine */
palette.set_pen_color(14, rgb_t(0xbf, 0xe3, 0x08)); /* Yellow */ palette.set_pen_color(14, rgb_t(0xbf, 0xe3, 0x08)); /* Yellow */
palette.set_pen_color(15, rgb_t(0xff, 0xff, 0xff)); /* White */ palette.set_pen_color(15, rgb_t(0xff, 0xff, 0xff)); /* White */
}; };
u16 dim68k_state::dim68k_fdc_r() u16 dim68k_state::dim68k_fdc_r()

View File

@ -16,10 +16,10 @@
Special thanks to Grull Osgo for his exhaustive reverse engineering that allowed to recreate Special thanks to Grull Osgo for his exhaustive reverse engineering that allowed to recreate
the original default serial EEPROM contents for the english set, critical to get it working. the original default serial EEPROM contents for the english set, critical to get it working.
Special thanks to Rob Ragon for dump the spanish set, and all the tests on the real hardware. Special thanks to Rob Ragon for dump the spanish set, and all the tests on the real hardware.
------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------
Notes: Notes:
@ -601,7 +601,7 @@ possible hopper registers
D1DC ---- ---x (inv) D1DC ---- ---x (inv)
D1EA ---- ---x D1EA ---- ---x
D1EC ---- ---x D1EC ---- ---x
*/ */
@ -701,7 +701,7 @@ GFXDECODE_END
void fortecrd_state::machine_reset() void fortecrd_state::machine_reset()
{ {
// apparently there's a random fill in there (checked thru trojan) // apparently there's a random fill in there (checked thru trojan)
for (int i = 0; i < m_vram.bytes(); i++) for (int i = 0; i < m_vram.bytes(); i++)
m_vram[i] = machine().rand(); m_vram[i] = machine().rand();
} }
@ -753,7 +753,7 @@ void fortecrd_state::fortecrd(machine_config &config)
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); // 1.5 MHz, measured ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); // 1.5 MHz, measured
aysnd.port_a_write_callback().set(FUNC(fortecrd_state::ayporta_w)); aysnd.port_a_write_callback().set(FUNC(fortecrd_state::ayporta_w));
aysnd.port_b_write_callback().set(FUNC(fortecrd_state::ayportb_w)); aysnd.port_b_write_callback().set(FUNC(fortecrd_state::ayportb_w));
aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50);

View File

@ -587,7 +587,7 @@
This is a Bulgarian Jolly Card pseudo-clone, with cyrillic charset. This is a Bulgarian Jolly Card pseudo-clone, with cyrillic charset.
ЗАБАВНИ КАРТИ means "Fun cards" / "Cards for fun". ЗАБАВНИ КАРТИ means "Fun cards" / "Cards for fun".
The game has encrypted GFX. Same style as blue TAB board. The game has encrypted GFX. Same style as blue TAB board.
This is a timed game. You coin for an amount of playing time. This is a timed game. You coin for an amount of playing time.
@ -618,51 +618,51 @@
You'll see the following counters and menu: You'll see the following counters and menu:
КАРЕ С ЖОКЕР 0 (five of a kind) КАРЕ С ЖОКЕР 0 (five of a kind)
КЕНТ ФЛЕШ РОЯЛ 0 (royal flush) КЕНТ ФЛЕШ РОЯЛ 0 (royal flush)
КЕНТ ФЛЕШ 0 (straight flush) КЕНТ ФЛЕШ 0 (straight flush)
КАРЕ 0 (poker) КАРЕ 0 (poker)
ФУЛ 0 (full house) ФУЛ 0 (full house)
ФЛЕШ 0 (flush) ФЛЕШ 0 (flush)
КЕНТА 0 (straight) КЕНТА 0 (straight)
ТРОЙКА 0 (three of a kind) ТРОЙКА 0 (three of a kind)
2 ДВОЙКИ 0 (two pairs) 2 ДВОЙКИ 0 (two pairs)
ГОЛЯМА ДВОЙКИ 0 (high pair) ГОЛЯМА ДВОЙКИ 0 (high pair)
ВРЕМЕ: Натиснете бутон Стоп3 ВРЕМЕ: Натиснете бутон Стоп3
TIME: Press the Stop3 button TIME: Press the Stop3 button
Изиграно време, мин. : 00 Изиграно време, мин. : 00
Played time, min. : 00 Played time, min. : 00
Платено време, мин. : 00 Платено време, мин. : 00
Paid time, min. : 00 Paid time, min. : 00
НАСТРОЙКА: Натиснете бутони Стоп2 и Стоп4 НАСТРОЙКА: Натиснете бутони Стоп2 и Стоп4
SETUP: Press the Stop2 and Stop4 buttons SETUP: Press the Stop2 and Stop4 buttons
Бутон Стоп1 -- Време за една игра, мин. (1-99, 5 by default) Бутон Стоп1 -- Време за една игра, мин. (1-99, 5 by default)
Stop1 Button -- Time for one game, min. (1-99, 5 by default) Stop1 Button -- Time for one game, min. (1-99, 5 by default)
Бутон Стоп2 -- Залог (1-99, 10 by default) Бутон Стоп2 -- Залог (1-99, 10 by default)
Stop2 button - Bet (1-99, 10 by default) Stop2 button - Bet (1-99, 10 by default)
Бутон Стоп3 -- Ниво на трудност (0-3, 2 by default) Бутон Стоп3 -- Ниво на трудност (0-3, 2 by default)
Stop3 button -- Level of difficulty (0-3, 2 by default) Stop3 button -- Level of difficulty (0-3, 2 by default)
ИЗХОД: Натиснете бутон Старт ИЗХОД: Натиснете бутон Старт
EXIT: Press the Start button EXIT: Press the Start button
НУЛИРАНЕ: Стоп1 нулира часовника НУЛИРАНЕ: Стоп1 нулира часовника
RESET: Stop1 resets the clock RESET: Stop1 resets the clock
ИЗЧИСТВАНЕ: Натиснете 2 с. бутон Изчистване ИЗЧИСТВАНЕ: Натиснете 2 с. бутон Изчистване
CLEAR: Press the Cancel button for 2 seconds CLEAR: Press the Cancel button for 2 seconds
ИЗХОД: Натиснете бутон Старт ИЗХОД: Натиснете бутон Старт
EXIT: Press the Start button EXIT: Press the Start button
--------------------------------------------------------------------- ---------------------------------------------------------------------
@ -1436,10 +1436,10 @@ static INPUT_PORTS_START( jolycdcy )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME(u8"Running / Credits (Навъртане)") // НАВЪРТАНЕ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME(u8"Running / Credits (Навъртане)") // НАВЪРТАНЕ
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME(u8"Stop 1 (Стоп 1)") // СТОП 1 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME(u8"Stop 1 (Стоп 1)") // СТОП 1
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME(u8"Cancel (Изчистване) / Autostop (Автостоп) / Take (Качване)") // ИЗЧИСТВАНЕ / АВТОСТОП / КАЧВАНЕ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME(u8"Cancel (Изчистване) / Autostop (Автостоп) / Take (Качване)") // ИЗЧИСТВАНЕ / АВТОСТОП / КАЧВАНЕ
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME(u8"Start (Старт) / Double (Дублиране)") // СТАРТ / ДУБЛИРАНЕ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME(u8"Start (Старт) / Double (Дублиране)") // СТАРТ / ДУБЛИРАНЕ
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME(u8"Stop 5 (Стоп 5) / Half Gamble (Половин Хазарт)") // СТОП 5 / ПОЛОВИН ХАЗАРТ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME(u8"Stop 5 (Стоп 5) / Half Gamble (Половин Хазарт)") // СТОП 5 / ПОЛОВИН ХАЗАРТ
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME(u8"Turnover (Оборот)") // ОБОРОТ (turnover) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME(u8"Turnover (Оборот)") // ОБОРОТ (turnover)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME(u8"Setup (Настройка)") // НАСТРОЙКА (setup) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME(u8"Setup (Настройка)") // НАСТРОЙКА (setup)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME(u8"Stop 4 (Стоп 4) / Big (Голяма)") // СТОП 4 / ГОЛЯМА PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME(u8"Stop 4 (Стоп 4) / Big (Голяма)") // СТОП 4 / ГОЛЯМА
PORT_START("IN1") PORT_START("IN1")
@ -1447,13 +1447,13 @@ static INPUT_PORTS_START( jolycdcy )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME(u8"Stop 3 (Стоп 3)") // СТОП 3 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME(u8"Stop 3 (Стоп 3)") // СТОП 3
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 1") PORT_CODE(KEYCODE_A) // present on the test mode, but erased PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 1") PORT_CODE(KEYCODE_A) // present on the test mode, but erased
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 2") PORT_CODE(KEYCODE_S) // normally coin2. present on the test mode, but erased. PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 2") PORT_CODE(KEYCODE_S) // normally coin2. present on the test mode, but erased.
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 3") PORT_CODE(KEYCODE_D) // normally keyout. present on the test mode as "K'bo?". PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 3") PORT_CODE(KEYCODE_D) // normally keyout. present on the test mode as "K'bo?".
PORT_START("IN2") PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 4") PORT_CODE(KEYCODE_F) // normally coin1. present on the test mode, but erased. PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test 4") PORT_CODE(KEYCODE_F) // normally coin1. present on the test mode, but erased.
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -1463,7 +1463,7 @@ static INPUT_PORTS_START( jolycdcy )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSW") PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") // only works with credits inserted PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") // only works with credits inserted
PORT_DIPSETTING( 0x01, "Normal Play" ) PORT_DIPSETTING( 0x01, "Normal Play" )
PORT_DIPSETTING( 0x00, "Test Mode" ) PORT_DIPSETTING( 0x00, "Test Mode" )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
@ -3083,12 +3083,12 @@ static INPUT_PORTS_START( clubcard )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper SW") PORT_CODE(KEYCODE_H) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper SW") PORT_CODE(KEYCODE_H)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin B") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin B")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
PORT_START("IN2") PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin A") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin A")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -3469,7 +3469,7 @@ void funworld_state::gratispk(machine_config &config)
void funworld_state::clubcard(machine_config &config) void funworld_state::clubcard(machine_config &config)
{ {
// fw1stpal(config); // 'alla Royal Card. Card deck wrong colors. // fw1stpal(config); // 'alla Royal Card. Card deck wrong colors.
fw2ndpal(config); // proper colors. fw2ndpal(config); // proper colors.
R65C02(config.replace(), m_maincpu, CPU_CLOCK); // 2 MHz. R65C02(config.replace(), m_maincpu, CPU_CLOCK); // 2 MHz.
@ -4654,7 +4654,7 @@ ROM_END
Bulgarian Jolly Card clone with cyrillic charset. Bulgarian Jolly Card clone with cyrillic charset.
ЗАБАВНИ КАРТИ means "Fun cards" / "Cards for fun". ЗАБАВНИ КАРТИ means "Fun cards" / "Cards for fun".
Encrypted GFX. Same style as blue TAB board. Encrypted GFX. Same style as blue TAB board.
This is a timed game. You coin for an amount of playing time. This is a timed game. You coin for an amount of playing time.

View File

@ -13203,7 +13203,7 @@ ROM_START( namenayo )
ROM_LOAD( "1.2d.2763", 0x0000, 0x2000, CRC(9830b4be) SHA1(541e59e892fbe46df24b68ab3cafea8a09f59f47) ) ROM_LOAD( "1.2d.2763", 0x0000, 0x2000, CRC(9830b4be) SHA1(541e59e892fbe46df24b68ab3cafea8a09f59f47) )
ROM_LOAD( "2.2f.2763", 0x2000, 0x2000, CRC(cfaeb2de) SHA1(76c0019bf7815b056332d634ee1daec2e29407df) ) ROM_LOAD( "2.2f.2763", 0x2000, 0x2000, CRC(cfaeb2de) SHA1(76c0019bf7815b056332d634ee1daec2e29407df) )
ROM_LOAD( "4.2j.2763", 0x6000, 0x1000, CRC(4c3e8d42) SHA1(da7a77744953fcc3c3f1c03e86f5c6e589ddd545) ) // Scene 6 ROM_LOAD( "4.2j.2763", 0x6000, 0x1000, CRC(4c3e8d42) SHA1(da7a77744953fcc3c3f1c03e86f5c6e589ddd545) ) // Scene 6
ROM_CONTINUE(0x5000,0x1000) // Scene 4,5 ROM_CONTINUE(0x5000,0x1000) // Scene 4,5
ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "s1.5c.2732", 0x0000, 0x1000, CRC(31d4ebc1) SHA1(2f217daecb46228002b3981892b9cfe9ded6908b) ) ROM_LOAD( "s1.5c.2732", 0x0000, 0x1000, CRC(31d4ebc1) SHA1(2f217daecb46228002b3981892b9cfe9ded6908b) )

View File

@ -20,7 +20,7 @@ TODO:
- several unknowns in the video emulation: - several unknowns in the video emulation:
- score layer is a simplification hack, it is unknown how it should really - score layer is a simplification hack, it is unknown how it should really
cope RMW-wise against main layer. It also has wrong colors (different color cope RMW-wise against main layer. It also has wrong colors (different color
base or overlay artwork, with extra bit output for taking priority?). base or overlay artwork, with extra bit output for taking priority?).
The score background color should change from white(or is it cyan?) to red The score background color should change from white(or is it cyan?) to red
after Extended Play, the score digits themselves should always be black; after Extended Play, the score digits themselves should always be black;
- According to flyers, screen sides should have a green background color, - According to flyers, screen sides should have a green background color,
@ -201,7 +201,7 @@ void getaway_state::io_w(offs_t offset, u8 data)
[0x07] [0x07]
???w wwww transfer width, in 8 pixel units ???w wwww transfer width, in 8 pixel units
Notice that 0xff is set on POST, either full clear or NOP Notice that 0xff is set on POST, either full clear or NOP
[0x08] [0x08]
hhhh hhhh transfer height, in scanline units hhhh hhhh transfer height, in scanline units

View File

@ -4,12 +4,12 @@
HP Jornada PDA skeleton driver HP Jornada PDA skeleton driver
To boot: To boot:
- Start MAME with the debugger enabled - Start MAME with the debugger enabled
- Use the following breakpoint command: bp 13E2C,R3==3 && R1==10 - Use the following breakpoint command: bp 13E2C,R3==3 && R1==10
- Close the debugger and allow the machine to run - Close the debugger and allow the machine to run
- When the breakpoint is hit, use the following command: R3=0 - When the breakpoint is hit, use the following command: R3=0
- Close the debugger, booting will proceed - Close the debugger, booting will proceed
***************************************************************************/ ***************************************************************************/
@ -59,8 +59,8 @@ public:
enum : uint8_t enum : uint8_t
{ {
MCU_TXDUMMY = 0x11, MCU_TXDUMMY = 0x11,
MCU_TXDUMMY2 = 0x88 MCU_TXDUMMY2 = 0x88
}; };

View File

@ -515,7 +515,7 @@ void jpmimpct_video_state::slides_video_w(offs_t offset, uint16_t data, uint16_t
/* /*
Some Input Switch numbers according to test modes Some Input Switch numbers according to test modes
DSW 0x01 = Switch 0 DSW 0x01 = Switch 0
DSW 0x02 = 1 DSW 0x02 = 1
DSW 0x04 = 1 DSW 0x04 = 1
@ -562,7 +562,7 @@ void jpmimpct_state::common_map(address_map& map)
map(0x00480032, 0x00480033).portr("COIN_SENSE"); map(0x00480032, 0x00480033).portr("COIN_SENSE");
map(0x00480034, 0x00480035).r(FUNC(jpmimpct_state::ump_r)); map(0x00480034, 0x00480035).r(FUNC(jpmimpct_state::ump_r));
map(0x00480060, 0x00480067).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff); map(0x00480060, 0x00480067).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff);
map(0x00480080, 0x00480081).w(FUNC(jpmimpct_state::upd7759_w)); map(0x00480080, 0x00480081).w(FUNC(jpmimpct_state::upd7759_w));
map(0x00480082, 0x00480083).w(FUNC(jpmimpct_state::volume_w)); map(0x00480082, 0x00480083).w(FUNC(jpmimpct_state::volume_w));
@ -606,7 +606,7 @@ void jpmimpct_state::impact_non_video_map(address_map &map)
common_map(map); common_map(map);
map(0x00480040, 0x00480041).r(FUNC(jpmimpct_state::optos_r)); map(0x00480040, 0x00480041).r(FUNC(jpmimpct_state::optos_r));
// are these genuine reads, or just code going wrong prior to them happening? // are these genuine reads, or just code going wrong prior to them happening?
map(0x00480086, 0x0048009f).r(FUNC(jpmimpct_state::prot_1_r)); map(0x00480086, 0x0048009f).r(FUNC(jpmimpct_state::prot_1_r));
map(0x004801dc, 0x004801dd).r(FUNC(jpmimpct_state::prot_1_r)); map(0x004801dc, 0x004801dd).r(FUNC(jpmimpct_state::prot_1_r));
@ -738,7 +738,7 @@ INPUT_PORTS_START( jpmimpct_inputs )
// others show error "5.5 MODE OF PLAY INVALID", or "91 00 Illegal Mode" // others show error "5.5 MODE OF PLAY INVALID", or "91 00 Illegal Mode"
// games that don't require keys either expect them not to be fitted // games that don't require keys either expect them not to be fitted
// or will simply ignore them // or will simply ignore them
PORT_START("J10_0") PORT_START("J10_0")
PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -746,7 +746,7 @@ INPUT_PORTS_START( jpmimpct_inputs )
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "8 GBP Cash" ) PORT_CONFSETTING( 0x0a, "8 GBP Cash" )
PORT_CONFSETTING( 0x09, "8 GBP Token" ) PORT_CONFSETTING( 0x09, "8 GBP Token" )
PORT_CONFSETTING( 0x08, "10 GBP Cash" ) PORT_CONFSETTING( 0x08, "10 GBP Cash" )
PORT_CONFSETTING( 0x07, "5 GBP" ) PORT_CONFSETTING( 0x07, "5 GBP" )
PORT_CONFSETTING( 0x06, "15 GBP" ) PORT_CONFSETTING( 0x06, "15 GBP" )
@ -921,8 +921,8 @@ INPUT_PORTS_START( jpmimpct_inputs )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x00, "PAYCOIN_LEVEL: 0x80 (100p cash full)") PORT_DIPNAME( 0x80, 0x00, "PAYCOIN_LEVEL: 0x80 (100p cash full)")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("TEST_DEMO") PORT_START("TEST_DEMO")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Test/Demo" ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Test/Demo" )

View File

@ -7,7 +7,7 @@
/* NOTE: /* NOTE:
some games are built on top of other games, and have leftover VFD messages in cases where the some games are built on top of other games, and have leftover VFD messages in cases where the
new machines lacked any VFD display new machines lacked any VFD display
in such cases the lamping will clearly be different, and some of the VFD messages in such cases the lamping will clearly be different, and some of the VFD messages
might be corrupt, where parts of them have been erased. might be corrupt, where parts of them have been erased.
@ -222,7 +222,7 @@ INPUT_PORTS_START( j6_stake_5_10_20_25_30 )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_stake_10 ) INPUT_PORTS_START( j6_stake_10 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x70, 0x60, "Stake Key" ) PORT_CONFNAME( 0x70, 0x60, "Stake Key" )
PORT_CONFSETTING( 0x00, "0x00" ) PORT_CONFSETTING( 0x00, "0x00" )
PORT_CONFSETTING( 0x10, "0x10" ) PORT_CONFSETTING( 0x10, "0x10" )
@ -248,7 +248,7 @@ INPUT_PORTS_START( j6_stake_25 )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_stake_5_10 ) INPUT_PORTS_START( j6_stake_5_10 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x70, 0x60, "Stake Key" ) PORT_CONFNAME( 0x70, 0x60, "Stake Key" )
PORT_CONFSETTING( 0x00, "0x00" ) PORT_CONFSETTING( 0x00, "0x00" )
PORT_CONFSETTING( 0x10, "0x10" ) PORT_CONFSETTING( 0x10, "0x10" )
@ -312,8 +312,8 @@ INPUT_PORTS_START( j6_stake_not_fitted )
PORT_CONFSETTING( 0x70, "0x70" ) PORT_CONFSETTING( 0x70, "0x70" )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_5 ) INPUT_PORTS_START( j6_jackpot_5 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x07, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x07, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -333,8 +333,8 @@ INPUT_PORTS_START( j6_jackpot_5 )
PORT_CONFSETTING( 0x00, "0x00" ) PORT_CONFSETTING( 0x00, "0x00" )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_15 ) INPUT_PORTS_START( j6_jackpot_15 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x06, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x06, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -354,8 +354,8 @@ INPUT_PORTS_START( j6_jackpot_15 )
PORT_CONFSETTING( 0x00, "0x00" ) PORT_CONFSETTING( 0x00, "0x00" )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_25 ) INPUT_PORTS_START( j6_jackpot_25 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x05, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x05, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -384,7 +384,7 @@ INPUT_PORTS_START( j6_jackpot_8t_10 )
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "0x0a" ) PORT_CONFSETTING( 0x0a, "0x0a" )
PORT_CONFSETTING( 0x09, "8 GBP Token" ) PORT_CONFSETTING( 0x09, "8 GBP Token" )
PORT_CONFSETTING( 0x08, "10 GBP Cash" ) PORT_CONFSETTING( 0x08, "10 GBP Cash" )
PORT_CONFSETTING( 0x07, "0x07" ) PORT_CONFSETTING( 0x07, "0x07" )
PORT_CONFSETTING( 0x06, "0x06" ) PORT_CONFSETTING( 0x06, "0x06" )
@ -418,7 +418,7 @@ INPUT_PORTS_START( j6_jackpot_5_15 )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_8_8t_10_15 ) INPUT_PORTS_START( j6_jackpot_8_8t_10_15 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -426,7 +426,7 @@ INPUT_PORTS_START( j6_jackpot_8_8t_10_15 )
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "8 GBP Cash" ) PORT_CONFSETTING( 0x0a, "8 GBP Cash" )
PORT_CONFSETTING( 0x09, "8 GBP Token" ) PORT_CONFSETTING( 0x09, "8 GBP Token" )
PORT_CONFSETTING( 0x08, "10 GBP Cash" ) PORT_CONFSETTING( 0x08, "10 GBP Cash" )
PORT_CONFSETTING( 0x07, "0x07" ) PORT_CONFSETTING( 0x07, "0x07" )
PORT_CONFSETTING( 0x06, "15 GBP" ) PORT_CONFSETTING( 0x06, "15 GBP" )
@ -439,7 +439,7 @@ INPUT_PORTS_START( j6_jackpot_8_8t_10_15 )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_8_8t ) INPUT_PORTS_START( j6_jackpot_8_8t )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x0a, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x0a, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -447,7 +447,7 @@ INPUT_PORTS_START( j6_jackpot_8_8t )
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "8 GBP Cash" ) PORT_CONFSETTING( 0x0a, "8 GBP Cash" )
PORT_CONFSETTING( 0x09, "8 GBP Token" ) PORT_CONFSETTING( 0x09, "8 GBP Token" )
PORT_CONFSETTING( 0x08, "0x08" ) PORT_CONFSETTING( 0x08, "0x08" )
PORT_CONFSETTING( 0x07, "0x07" ) PORT_CONFSETTING( 0x07, "0x07" )
PORT_CONFSETTING( 0x06, "0x06" ) PORT_CONFSETTING( 0x06, "0x06" )
@ -502,7 +502,7 @@ INPUT_PORTS_START( j6_jackpot_not_fitted )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_not_fitted_10 ) // where not fitted is valid (but then stake key has no effect) INPUT_PORTS_START( j6_jackpot_not_fitted_10 ) // where not fitted is valid (but then stake key has no effect)
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -510,7 +510,7 @@ INPUT_PORTS_START( j6_jackpot_not_fitted_10 ) // where not fitted is valid (but
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "0x0a" ) PORT_CONFSETTING( 0x0a, "0x0a" )
PORT_CONFSETTING( 0x09, "0x09" ) PORT_CONFSETTING( 0x09, "0x09" )
PORT_CONFSETTING( 0x08, "10 GBP Cash" ) PORT_CONFSETTING( 0x08, "10 GBP Cash" )
PORT_CONFSETTING( 0x07, "0x07" ) PORT_CONFSETTING( 0x07, "0x07" )
PORT_CONFSETTING( 0x06, "0x06" ) PORT_CONFSETTING( 0x06, "0x06" )
@ -523,7 +523,7 @@ INPUT_PORTS_START( j6_jackpot_not_fitted_10 ) // where not fitted is valid (but
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_8c ) INPUT_PORTS_START( j6_jackpot_8c )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x0a, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x0a, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -531,7 +531,7 @@ INPUT_PORTS_START( j6_jackpot_8c )
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "8 GBP Cash" ) PORT_CONFSETTING( 0x0a, "8 GBP Cash" )
PORT_CONFSETTING( 0x09, "0x09" ) PORT_CONFSETTING( 0x09, "0x09" )
PORT_CONFSETTING( 0x08, "0x08" ) PORT_CONFSETTING( 0x08, "0x08" )
PORT_CONFSETTING( 0x07, "0x07" ) PORT_CONFSETTING( 0x07, "0x07" )
PORT_CONFSETTING( 0x06, "0x06" ) PORT_CONFSETTING( 0x06, "0x06" )
@ -544,7 +544,7 @@ INPUT_PORTS_START( j6_jackpot_8c )
INPUT_PORTS_END INPUT_PORTS_END
INPUT_PORTS_START( j6_jackpot_10 ) INPUT_PORTS_START( j6_jackpot_10 )
PORT_MODIFY("J10_0") PORT_MODIFY("J10_0")
PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" ) PORT_CONFNAME( 0x0f, 0x08, "Jackpot / Prize Key" )
PORT_CONFSETTING( 0x0f, "Not Fitted" ) PORT_CONFSETTING( 0x0f, "Not Fitted" )
PORT_CONFSETTING( 0x0e, "0x0e" ) PORT_CONFSETTING( 0x0e, "0x0e" )
@ -552,7 +552,7 @@ INPUT_PORTS_START( j6_jackpot_10 )
PORT_CONFSETTING( 0x0c, "0x0c" ) PORT_CONFSETTING( 0x0c, "0x0c" )
PORT_CONFSETTING( 0x0b, "0x0b" ) PORT_CONFSETTING( 0x0b, "0x0b" )
PORT_CONFSETTING( 0x0a, "0x0a" ) PORT_CONFSETTING( 0x0a, "0x0a" )
PORT_CONFSETTING( 0x09, "0x09" ) PORT_CONFSETTING( 0x09, "0x09" )
PORT_CONFSETTING( 0x08, "10 GBP Cash" ) PORT_CONFSETTING( 0x08, "10 GBP Cash" )
PORT_CONFSETTING( 0x07, "0x07" ) PORT_CONFSETTING( 0x07, "0x07" )
PORT_CONFSETTING( 0x06, "0x06" ) PORT_CONFSETTING( 0x06, "0x06" )
@ -1012,7 +1012,7 @@ INPUT_PORTS_START( j6guab )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Knock Out") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Knock Out")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Strikes") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Strikes")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudges") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudges")
PORT_MODIFY("J9_0") PORT_MODIFY("J9_0")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect")
@ -1140,7 +1140,7 @@ INPUT_PORTS_START( j6impls )
PORT_MODIFY("J9_2") PORT_MODIFY("J9_2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW")
// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Cash / Token Sw") // PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Cash / Token Sw")
INPUT_PORTS_END INPUT_PORTS_END
@ -1613,14 +1613,14 @@ INPUT_PORTS_START( j6wildw )
PORT_INCLUDE( j6_stake_20 ) PORT_INCLUDE( j6_stake_20 )
PORT_MODIFY("J10_2") // other buttons uncertain, possibly a different pair of hi/lo? PORT_MODIFY("J10_2") // other buttons uncertain, possibly a different pair of hi/lo?
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lo") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lo")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 )
PORT_MODIFY("J9_0") PORT_MODIFY("J9_0")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2")
@ -2977,7 +2977,7 @@ INPUT_PORTS_START( j6luckla )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 )
PORT_MODIFY("J9_0") PORT_MODIFY("J9_0")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2")
@ -8793,7 +8793,7 @@ ROM_START( j6redarwj )
j6redarw_sound j6redarw_sound
ROM_END ROM_END
ROM_START( j6redarww ) ROM_START( j6redarww )
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF )
// invalid pairing? // invalid pairing?
ROM_LOAD( "redarrow.p1", 0x000000, 0x020000, CRC(e47fdd2c) SHA1(1cbce6e38cacad4c0ec617e38522ef81feaeb296) ) ROM_LOAD( "redarrow.p1", 0x000000, 0x020000, CRC(e47fdd2c) SHA1(1cbce6e38cacad4c0ec617e38522ef81feaeb296) )
@ -12079,7 +12079,7 @@ GAME( 199?, j6tutti, 0, impact_nonvideo, jpmimpct_non_video_input
// ************************************************************************************************************* // *************************************************************************************************************
// JPM + others games with 'Bacta 6 Standard Codes' for errors // JPM + others games with 'Bacta 6 Standard Codes' for errors
// these include some of the 'Classic' reissues // these include some of the 'Classic' reissues
// ************************************************************************************************************* // *************************************************************************************************************
GAME( 199?, j6acehi, 0, impact_nonvideo, j6acehi, jpmimpct_state, empty_init, ROT0, "Ace", "Aces High (Ace) (IMPACT)", GAME_FLAGS ) GAME( 199?, j6acehi, 0, impact_nonvideo, j6acehi, jpmimpct_state, empty_init, ROT0, "Ace", "Aces High (Ace) (IMPACT)", GAME_FLAGS )
@ -12093,7 +12093,7 @@ GAMEL( 199?, j6arcadee, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state
GAMEL( 199?, j6arcadeg, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 2, Protocol)", GAME_FLAGS, layout_j6arcadee ) GAMEL( 199?, j6arcadeg, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 2, Protocol)", GAME_FLAGS, layout_j6arcadee )
GAMEL( 199?, j6arcadeh, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 3, Protocol)", GAME_FLAGS, layout_j6arcadee ) GAMEL( 199?, j6arcadeh, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 3, Protocol)", GAME_FLAGS, layout_j6arcadee )
GAMEL( 199?, j6arcadei, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 4, Protocol)", GAME_FLAGS, layout_j6arcadee ) // gives error 71 00 even with datapak attached? GAMEL( 199?, j6arcadei, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 4, Protocol)", GAME_FLAGS, layout_j6arcadee ) // gives error 71 00 even with datapak attached?
GAMEL( 199?, j6arcadej, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 5, Protocol)", GAME_FLAGS, layout_j6arcadee ) GAMEL( 199?, j6arcadej, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 5, Protocol)", GAME_FLAGS, layout_j6arcadee )
GAMEL( 199?, j6arcadek, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 6, Protocol)", GAME_FLAGS, layout_j6arcadee ) GAMEL( 199?, j6arcadek, j6arcade, impact_nonvideo, j6arcade, jpmimpct_state, empty_init, ROT0, "JPM", "Arcadia (JPM) (IMPACT) (V10, set 6, Protocol)", GAME_FLAGS, layout_j6arcadee )
GAMEL( 199?, j6colcsh, 0, impact_nonvideo, j6colcsh, jpmimpct_state, empty_init, ROT0, "JPM", "Coliseum Cash (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6colcsh ) GAMEL( 199?, j6colcsh, 0, impact_nonvideo, j6colcsh, jpmimpct_state, empty_init, ROT0, "JPM", "Coliseum Cash (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6colcsh )
@ -12183,7 +12183,7 @@ GAMEL( 199?, j6casclal, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state
GAMEL( 199?, j6casclam, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 14)", GAME_FLAGS, layout_j6casclaf ) // ERROR 91 01 GAMEL( 199?, j6casclam, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 14)", GAME_FLAGS, layout_j6casclaf ) // ERROR 91 01
GAMEL( 199?, j6casclan, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 15)", GAME_FLAGS, layout_j6casclaf ) GAMEL( 199?, j6casclan, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 15)", GAME_FLAGS, layout_j6casclaf )
GAMEL( 199?, j6casclao, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 16)", GAME_FLAGS, layout_j6casclaf ) // ERROR 16 00 Note Acceptor Fault GAMEL( 199?, j6casclao, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 16)", GAME_FLAGS, layout_j6casclaf ) // ERROR 16 00 Note Acceptor Fault
GAMEL( 199?, j6casclap, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 17)", GAME_FLAGS, layout_j6casclaf ) // ERROR 16 00 GAMEL( 199?, j6casclap, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 17)", GAME_FLAGS, layout_j6casclaf ) // ERROR 16 00
GAMEL( 199?, j6casclaq, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 18)", GAME_FLAGS, layout_j6casclaf ) GAMEL( 199?, j6casclaq, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 18)", GAME_FLAGS, layout_j6casclaf )
GAMEL( 199?, j6casclar, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 19)", GAME_FLAGS, layout_j6casclaf ) // ERROR 91 01 GAMEL( 199?, j6casclar, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 19)", GAME_FLAGS, layout_j6casclaf ) // ERROR 91 01
GAMEL( 199?, j6casclas, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 20)", GAME_FLAGS, layout_j6casclaf ) GAMEL( 199?, j6casclas, j6cascla, impact_nonvideo, j6cascla, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Crazy Classic Club (JPM) (IMPACT) (set 20)", GAME_FLAGS, layout_j6casclaf )
@ -12481,7 +12481,7 @@ GAME( 199?, j6supbrkf, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state
GAME( 199?, j6supbrkg, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 8)", GAME_FLAGS ) GAME( 199?, j6supbrkg, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 8)", GAME_FLAGS )
GAME( 199?, j6supbrkh, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 9)", GAME_FLAGS ) GAME( 199?, j6supbrkh, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 9)", GAME_FLAGS )
GAME( 199?, j6supbrki, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 10)", GAME_FLAGS ) GAME( 199?, j6supbrki, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 10)", GAME_FLAGS )
GAME( 199?, j6supbrkj, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 11)", GAME_FLAGS ) // ERROR 71 00 GAME( 199?, j6supbrkj, j6supbrk, impact_nonvideo, j6supbrk, jpmimpct_state, empty_init, ROT0, "JPM", "Super Breakout (JPM) (IMPACT) (set 11)", GAME_FLAGS ) // ERROR 71 00
GAMEL( 199?, j6swpdrp, 0, impact_nonvideo, j6swpdrp, jpmimpct_state, empty_init, ROT0, "JPM", "Swop Till Ya Drop (JPM) (IMPACT)", GAME_FLAGS, layout_j6swpdrp ) GAMEL( 199?, j6swpdrp, 0, impact_nonvideo, j6swpdrp, jpmimpct_state, empty_init, ROT0, "JPM", "Swop Till Ya Drop (JPM) (IMPACT)", GAME_FLAGS, layout_j6swpdrp )

View File

@ -434,10 +434,10 @@ void jpmsys5_state::jpm_sys5_common_map(address_map &map)
map(0x046080, 0x046083).rw("acia6850_1", FUNC(acia6850_device::read), FUNC(acia6850_device::write)).umask16(0x00ff); map(0x046080, 0x046083).rw("acia6850_1", FUNC(acia6850_device::read), FUNC(acia6850_device::write)).umask16(0x00ff);
map(0x046084, 0x046085).r(FUNC(jpmsys5_state::unknown_port_r)); map(0x046084, 0x046085).r(FUNC(jpmsys5_state::unknown_port_r));
// map(0x04608c, 0x04608f).r(FUNC(jpmsys5_state::unk_r)); // map(0x04608c, 0x04608f).r(FUNC(jpmsys5_state::unk_r));
map(0x04608c, 0x04608f).rw("acia6850_2", FUNC(acia6850_device::read), FUNC(acia6850_device::write)).umask16(0x00ff); map(0x04608c, 0x04608f).rw("acia6850_2", FUNC(acia6850_device::read), FUNC(acia6850_device::write)).umask16(0x00ff);
map(0x0460c0, 0x0460c1).nopw(); map(0x0460c0, 0x0460c1).nopw();
map(0x048000, 0x048001).rw(FUNC(jpmsys5_state::unk_48000_r), FUNC(jpmsys5_state::unk_48000_w)); map(0x048000, 0x048001).rw(FUNC(jpmsys5_state::unk_48000_r), FUNC(jpmsys5_state::unk_48000_w));

View File

@ -1535,8 +1535,8 @@ static INPUT_PORTS_START( shogwarr )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
// dip defaults confirmed by manual ("Bolr (sic) face indicate standard setting") // dip defaults confirmed by manual ("Bolr (sic) face indicate standard setting")
// including Demo Sounds // including Demo Sounds
PORT_START("DSW1") /* from the MCU - 102e15.b <- 200059.b */ PORT_START("DSW1") /* from the MCU - 102e15.b <- 200059.b */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -1555,9 +1555,9 @@ static INPUT_PORTS_START( shogwarr )
PORT_DIPSETTING( 0x08, "7" ) PORT_DIPSETTING( 0x08, "7" )
PORT_DIPSETTING( 0x00, "8 Hard" ) PORT_DIPSETTING( 0x00, "8 Hard" )
PORT_DIPNAME( 0x40, 0x40, "Can Join During Game" ) PORT_DIPLOCATION("SW1:7") PORT_DIPNAME( 0x40, 0x40, "Can Join During Game" ) PORT_DIPLOCATION("SW1:7")
// 1p vs 2p is allowed only at title screen with a single credit by pressing 2p start. akin to an "event mode" // 1p vs 2p is allowed only at title screen with a single credit by pressing 2p start. akin to an "event mode"
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // "impossible", vs.play 1 credit, game over aftewards PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // "impossible", vs.play 1 credit, game over aftewards
// "normal mode" // "normal mode"
PORT_DIPSETTING( 0x40, DEF_STR( On ) ) // "possible", vs.play 2 credits, winner plays against CPU afterwards PORT_DIPSETTING( 0x40, DEF_STR( On ) ) // "possible", vs.play 2 credits, winner plays against CPU afterwards
PORT_DIPNAME( 0x80, 0x80, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") PORT_DIPNAME( 0x80, 0x80, "Continue Coin" ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) )

View File

@ -145,9 +145,9 @@ void kingpin_state::kingpin_io_map(address_map &map)
map(0x20, 0x21).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write)); map(0x20, 0x21).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
map(0x30, 0x30).w(FUNC(kingpin_state::output1_w)); map(0x30, 0x30).w(FUNC(kingpin_state::output1_w));
map(0x40, 0x40).w(FUNC(kingpin_state::output2_w)); map(0x40, 0x40).w(FUNC(kingpin_state::output2_w));
// map(0x50, 0x50) // map(0x50, 0x50)
map(0x60, 0x60).w(FUNC(kingpin_state::sound_nmi_w)); map(0x60, 0x60).w(FUNC(kingpin_state::sound_nmi_w));
// map(0x70, 0x70) // map(0x70, 0x70)
} }
void kingpin_state::kingpin_sound_map(address_map &map) void kingpin_state::kingpin_sound_map(address_map &map)

View File

@ -815,7 +815,7 @@ void ksys573_state::gbbchmp_map(address_map& map)
bool ksys573_state::jvs_is_valid_packet() bool ksys573_state::jvs_is_valid_packet()
{ {
if (m_jvs_input_idx_w < 5) { if (m_jvs_input_idx_w < 5) {
// A valid packet will have at the very least // A valid packet will have at the very least
// - sync (0xe0) // - sync (0xe0)
// - node number (non-zero) // - node number (non-zero)
@ -823,35 +823,35 @@ bool ksys573_state::jvs_is_valid_packet()
// - at least 1 byte in the request message // - at least 1 byte in the request message
// - checksum // - checksum
return false; return false;
} }
if (m_jvs_input_buffer[0] != 0xe0 || m_jvs_input_buffer[1] == 0x00) { if (m_jvs_input_buffer[0] != 0xe0 || m_jvs_input_buffer[1] == 0x00) {
return false; return false;
} }
int command_size = m_jvs_input_buffer[2] + 3; int command_size = m_jvs_input_buffer[2] + 3;
if (m_jvs_input_idx_w < command_size) { if (m_jvs_input_idx_w < command_size) {
return false; return false;
} }
uint8_t checksum = 0; uint8_t checksum = 0;
for (int i = 1; i < command_size - 1; i++) { for (int i = 1; i < command_size - 1; i++) {
checksum += m_jvs_input_buffer[i]; checksum += m_jvs_input_buffer[i];
} }
return checksum == m_jvs_input_buffer[command_size - 1]; return checksum == m_jvs_input_buffer[command_size - 1];
} }
void ksys573_state::jvs_input_w(offs_t offset, uint16_t data, uint16_t mem_mask) void ksys573_state::jvs_input_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{ {
m_jvs_input_buffer[m_jvs_input_idx_w++] = data & 0xff; m_jvs_input_buffer[m_jvs_input_idx_w++] = data & 0xff;
m_jvs_input_buffer[m_jvs_input_idx_w++] = data >> 8; m_jvs_input_buffer[m_jvs_input_idx_w++] = data >> 8;
if (m_jvs_input_buffer[0] != 0xe0) { if (m_jvs_input_buffer[0] != 0xe0) {
m_jvs_input_idx_w = 0; m_jvs_input_idx_w = 0;
} }
if (jvs_is_valid_packet()) { if (jvs_is_valid_packet()) {
LOGJVS("jvs_input_w( %08x, %08x, %02x %02x )\n", offset, mem_mask, data & 0xff, data >> 8 ); LOGJVS("jvs_input_w( %08x, %08x, %02x %02x )\n", offset, mem_mask, data & 0xff, data >> 8 );
for (int i = 0; i < m_jvs_input_idx_w; i++) for (int i = 0; i < m_jvs_input_idx_w; i++)
LOGJVS("%02x ", m_jvs_input_buffer[i]); LOGJVS("%02x ", m_jvs_input_buffer[i]);
@ -864,15 +864,15 @@ void ksys573_state::jvs_input_w(offs_t offset, uint16_t data, uint16_t mem_mask)
m_jvs_input_idx_r = 0; m_jvs_input_idx_r = 0;
m_jvs_input_buffer[0] = 0; m_jvs_input_buffer[0] = 0;
} }
} }
uint16_t ksys573_state::jvs_input_r(offs_t offset, uint16_t mem_mask) uint16_t ksys573_state::jvs_input_r(offs_t offset, uint16_t mem_mask)
{ {
uint16_t data = m_jvs_input_buffer[m_jvs_input_idx_r++]; uint16_t data = m_jvs_input_buffer[m_jvs_input_idx_r++];
data |= m_jvs_input_buffer[m_jvs_input_idx_r++] << 8; data |= m_jvs_input_buffer[m_jvs_input_idx_r++] << 8;
return data; return data;
} }
uint16_t ksys573_state::port_in2_jvs_r(offs_t offset, uint16_t mem_mask) uint16_t ksys573_state::port_in2_jvs_r(offs_t offset, uint16_t mem_mask)
@ -882,21 +882,21 @@ uint16_t ksys573_state::port_in2_jvs_r(offs_t offset, uint16_t mem_mask)
return m_in2->read(); return m_in2->read();
} }
if (m_jvs_output_len_w <= 0) { if (m_jvs_output_len_w <= 0) {
return 0; return 0;
} }
uint16_t data = m_jvs_output_buffer[m_jvs_output_idx_w] | (m_jvs_output_buffer[m_jvs_output_idx_w+1] << 8); uint16_t data = m_jvs_output_buffer[m_jvs_output_idx_w] | (m_jvs_output_buffer[m_jvs_output_idx_w+1] << 8);
m_jvs_output_idx_w += 2; m_jvs_output_idx_w += 2;
if (m_jvs_output_idx_w >= m_jvs_output_len_w) { if (m_jvs_output_idx_w >= m_jvs_output_len_w) {
m_jvs_output_idx_w = 0; m_jvs_output_idx_w = 0;
m_jvs_output_len_w = 0; m_jvs_output_len_w = 0;
} }
LOGJVS("m_jvs_output_r %08x %08x | %02x %02x | %02x\n", offset, mem_mask, data & 0xff, data >> 8, m_jvs_output_idx_w); LOGJVS("m_jvs_output_r %08x %08x | %02x %02x | %02x\n", offset, mem_mask, data & 0xff, data >> 8, m_jvs_output_idx_w);
return data; return data;
} }
READ_LINE_MEMBER( ksys573_state::jvs_rx_r ) READ_LINE_MEMBER( ksys573_state::jvs_rx_r )

View File

@ -7,12 +7,12 @@
This only loads the basic stuff - there needs to be more done to make this run. This only loads the basic stuff - there needs to be more done to make this run.
There are 3 Mainboards, original M1 uses 2x TMP82C79P's, M1A and M1B use 1x TMP82C79P and 1x 80c51 microcontroller with a 12MHz crystal There are 3 Mainboards, original M1 uses 2x TMP82C79P's, M1A and M1B use 1x TMP82C79P and 1x 80c51 microcontroller with a 12MHz crystal
There are 3 sound options, There are 3 sound options,
1: AY3-8930 on the mainboard. 1: AY3-8930 on the mainboard.
2: "Digital Sound Board" sound ROM + NEC D7759 on the romcard. 2: "Digital Sound Board" sound ROM + NEC D7759 on the romcard.
3: "E.S.P. Board" sound ROMS + OKI M6376, + NEC C1892 3: "E.S.P. Board" sound ROMS + OKI M6376, + NEC C1892
** later ESP boards also have a sub-board marked "RAM Protection Board" ** later ESP boards also have a sub-board marked "RAM Protection Board"

View File

@ -6454,12 +6454,12 @@ void model3_state::init_srally2()
/* /*
void model3_state::init_srally2pa() void model3_state::init_srally2pa()
{ {
init_model3_20(); init_model3_20();
uint32_t *rom = (uint32_t*)memregion("user1")->base(); uint32_t *rom = (uint32_t*)memregion("user1")->base();
rom[(0x3ba44^4)/4] = 0x60000000; // Unemulated JTAG stuff, see srally2 rom[(0x3ba44^4)/4] = 0x60000000; // Unemulated JTAG stuff, see srally2
rom[(0x3ba48^4)/4] = 0x60000000; rom[(0x3ba48^4)/4] = 0x60000000;
rom[(0x3ba4c^4)/4] = 0x60000000; rom[(0x3ba4c^4)/4] = 0x60000000;
} }
*/ */
@ -6497,7 +6497,7 @@ void model3_state::init_swtrilgp()
rom[(0x886e0^4)/4] = 0x60000000; // Unemulated JTAG stuff, see srally2 rom[(0x886e0^4)/4] = 0x60000000; // Unemulated JTAG stuff, see srally2
rom[(0x886e4^4)/4] = 0x60000000; rom[(0x886e4^4)/4] = 0x60000000;
rom[(0x886e8^4)/4] = 0x60000000; rom[(0x886e8^4)/4] = 0x60000000;
rom[(0x0292c^4)/4] = 0x60000000; // skip force feedback setup rom[(0x0292c^4)/4] = 0x60000000; // skip force feedback setup
rom[(0x02998^4)/4] = 0x60000000; rom[(0x02998^4)/4] = 0x60000000;
} }

View File

@ -275,7 +275,7 @@ template <bool SCC> void rtpc_state::iocc_pio_map(address_map &map)
/* /*
FLOPPY_FORMATS_MEMBER(rtpc_state::floppy_formats) FLOPPY_FORMATS_MEMBER(rtpc_state::floppy_formats)
FLOPPY_PC_FORMAT FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END FLOPPY_FORMATS_END
*/ */

View File

@ -8,22 +8,22 @@
Hardware: Hardware:
- P8085AH - P8085AH
- SCN2674B with SCB2675T - SCN2674B with SCB2675T
- SCN2681 - SCN2681
- P8251A - P8251A
- 3x HM6264LP-12 (8k) - 3x HM6264LP-12 (8k)
- 3x HM6116LP-2 (2k) - 3x HM6116LP-2 (2k)
- XTAL: 3.6864 MHz, 10.0000 MHz, 21.7566 MHz, 35.8344 MHz - XTAL: 3.6864 MHz, 10.0000 MHz, 21.7566 MHz, 35.8344 MHz
TODO: TODO:
- Dump keyboard controller and emulate it (currently HLE'd) - Dump keyboard controller and emulate it (currently HLE'd)
- NVRAM / memory layout - NVRAM / memory layout
- Needs a hack to send out data on the RS232 port: - Needs a hack to send out data on the RS232 port:
Set $f7a3 = 0 after startup Set $f7a3 = 0 after startup
Notes: Notes:
- The hardware has some similarities to cit220.cpp - The hardware has some similarities to cit220.cpp
- Everything here is guessed (including the system name), no docs available - Everything here is guessed (including the system name), no docs available
***************************************************************************/ ***************************************************************************/
@ -257,12 +257,12 @@ void tabe22_state::tabe22(machine_config &config)
m_vram_bank->set_data_width(8); m_vram_bank->set_data_width(8);
m_vram_bank->set_stride(0x1000); m_vram_bank->set_stride(0x1000);
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER); SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_color(rgb_t::amber()); m_screen->set_color(rgb_t::amber());
m_screen->set_raw(21.7566_MHz_XTAL, 918, 0, 720, 395, 0, 378); // 80 column mode m_screen->set_raw(21.7566_MHz_XTAL, 918, 0, 720, 395, 0, 378); // 80 column mode
// m_screen->set_raw(35.8344_MHz_XTAL, 1494, 0, 1188, 395, 0, 378); // 132 column mode // m_screen->set_raw(35.8344_MHz_XTAL, 1494, 0, 1188, 395, 0, 378); // 132 column mode
m_screen->set_screen_update(m_avdc, FUNC(scn2674_device::screen_update)); m_screen->set_screen_update(m_avdc, FUNC(scn2674_device::screen_update));
PALETTE(config, m_palette, FUNC(tabe22_state::palette), 4); PALETTE(config, m_palette, FUNC(tabe22_state::palette), 4);

View File

@ -76,7 +76,7 @@ public:
void impact_nonvideo_altreels(machine_config &config); void impact_nonvideo_altreels(machine_config &config);
DECLARE_INPUT_CHANGED_MEMBER(coin_changed); DECLARE_INPUT_CHANGED_MEMBER(coin_changed);
template <unsigned N> DECLARE_READ_LINE_MEMBER( coinsense_r ) { return (m_coinstate >> N) & 1; } template <unsigned N> DECLARE_READ_LINE_MEMBER( coinsense_r ) { return (m_coinstate >> N) & 1; }
DECLARE_READ_LINE_MEMBER(hopper_b_0_r); DECLARE_READ_LINE_MEMBER(hopper_b_0_r);
DECLARE_READ_LINE_MEMBER(hopper_b_3_r); DECLARE_READ_LINE_MEMBER(hopper_b_3_r);

View File

@ -2843,7 +2843,7 @@
<element name="vfd0"> <element name="vfd0">
<!-- if these are really 14 segs, and the hookups are meant to be compaible with the 16segs then the MAME bit order is incorrect --> <!-- if these are really 14 segs, and the hookups are meant to be compaible with the 16segs then the MAME bit order is incorrect -->
<!--<led14segsc> <!--<led14segsc>
<color red="0.0" green="1.0" blue="1.0"/> <color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>--> </led14segsc>-->
<led16segsc> <led16segsc>
<color red="0.0" green="1.0" blue="1.0"/> <color red="0.0" green="1.0" blue="1.0"/>

View File

@ -3539,7 +3539,7 @@
<element name="vfd0"> <element name="vfd0">
<!-- if these are really 14 segs, and the hookups are meant to be compaible with the 16segs then the MAME bit order is incorrect --> <!-- if these are really 14 segs, and the hookups are meant to be compaible with the 16segs then the MAME bit order is incorrect -->
<!--<led14segsc> <!--<led14segsc>
<color red="0.0" green="1.0" blue="1.0"/> <color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>--> </led14segsc>-->
<led16segsc> <led16segsc>
<color red="0.0" green="1.0" blue="1.0"/> <color red="0.0" green="1.0" blue="1.0"/>

View File

@ -3522,7 +3522,7 @@
</element> </element>
<element name="lamp197" ref="lamp_197_1_border" state="0"> <element name="lamp197" ref="lamp_197_1_border" state="0">
<bounds x="5" y="32" width="48" height="27"/> <bounds x="5" y="32" width="48" height="27"/>
</element> </element>
<element name="lamp197" ref="lamp_197_1" state="0"> <element name="lamp197" ref="lamp_197_1" state="0">
<bounds x="7" y="34" width="44" height="23"/> <bounds x="7" y="34" width="44" height="23"/>
</element> </element>

View File

@ -5533,7 +5533,7 @@
</element> </element>
<element name="lamp197" ref="lamp_197_1_border" state="0"> <element name="lamp197" ref="lamp_197_1_border" state="0">
<bounds x="5" y="32" width="48" height="27"/> <bounds x="5" y="32" width="48" height="27"/>
</element> </element>
<element name="lamp197" ref="lamp_197_1" state="0"> <element name="lamp197" ref="lamp_197_1" state="0">
<bounds x="7" y="34" width="44" height="23"/> <bounds x="7" y="34" width="44" height="23"/>
</element> </element>

View File

@ -3522,7 +3522,7 @@
</element> </element>
<element name="lamp197" ref="lamp_197_1_border" state="0"> <element name="lamp197" ref="lamp_197_1_border" state="0">
<bounds x="5" y="32" width="48" height="27"/> <bounds x="5" y="32" width="48" height="27"/>
</element> </element>
<element name="lamp197" ref="lamp_197_1" state="0"> <element name="lamp197" ref="lamp_197_1" state="0">
<bounds x="7" y="34" width="44" height="23"/> <bounds x="7" y="34" width="44" height="23"/>
</element> </element>

View File

@ -37,27 +37,27 @@ license:CC0
<element name="vfd~i~" ref="vfd0"> <element name="vfd~i~" ref="vfd0">
<bounds x="~x~" y="200" width="9" height="17" /> <bounds x="~x~" y="200" width="9" height="17" />
</element> </element>
</repeat> </repeat>
<repeat count="6"> <repeat count="6">
<param name="x" start="10" increment="52" /> <param name="x" start="10" increment="52" />
<param name="i" start="1" increment="1" /> <param name="i" start="1" increment="1" />
<element name="reel~i~" ref="Steppers" state="0"> <element name="reel~i~" ref="Steppers" state="0">
<bounds x="~x~" y="300" width="50" height="50" /> <bounds x="~x~" y="300" width="50" height="50" />
</element> </element>
</repeat> </repeat>
<repeat count="16"> <repeat count="16">
<param name="y" start="0" increment="8" /> <param name="y" start="0" increment="8" />
<param name="j" start="0" increment="16" /> <param name="j" start="0" increment="16" />
<repeat count="16"> <repeat count="16">
<param name="x" start="0" increment="8" /> <param name="x" start="0" increment="8" />
<param name="i" start="~j~" increment="1" /> <param name="i" start="~j~" increment="1" />
<element name="lamp~i~" ref="matrixlamp" state="0"> <element name="lamp~i~" ref="matrixlamp" state="0">
<bounds x="~x~" y="~y~" width="7" height="7" /> <bounds x="~x~" y="~y~" width="7" height="7" />
</element> </element>
</repeat> </repeat>
</repeat> </repeat>
</view> </view>
<view name="VFD Display Output Only"> <view name="VFD Display Output Only">
<repeat count="16"> <repeat count="16">
<param name="x" start="10" increment="9" /> <param name="x" start="10" increment="9" />
@ -65,7 +65,7 @@ license:CC0
<element name="vfd~i~" ref="vfd0"> <element name="vfd~i~" ref="vfd0">
<bounds x="~x~" y="200" width="9" height="17" /> <bounds x="~x~" y="200" width="9" height="17" />
</element> </element>
</repeat> </repeat>
</view> </view>
</mamelayout> </mamelayout>

View File

@ -43,20 +43,20 @@ license:CC0
<element name="vfd~i~" ref="vfd0"> <element name="vfd~i~" ref="vfd0">
<bounds x="~x~" y="200" width="9" height="17" /> <bounds x="~x~" y="200" width="9" height="17" />
</element> </element>
</repeat> </repeat>
<repeat count="6"> <repeat count="6">
<param name="x" start="10" increment="52" /> <param name="x" start="10" increment="52" />
<param name="i" start="1" increment="1" /> <param name="i" start="1" increment="1" />
<element name="reel~i~" ref="Steppers" state="0"> <element name="reel~i~" ref="Steppers" state="0">
<bounds x="~x~" y="300" width="50" height="50" /> <bounds x="~x~" y="300" width="50" height="50" />
</element> </element>
</repeat> </repeat>
<repeat count="16"> <repeat count="16">
<param name="y" start="0" increment="8" /> <param name="y" start="0" increment="8" />
<param name="j" start="0" increment="16" /> <param name="j" start="0" increment="16" />
<repeat count="16"> <repeat count="16">
<param name="x" start="0" increment="8" /> <param name="x" start="0" increment="8" />
<param name="i" start="~j~" increment="1" /> <param name="i" start="~j~" increment="1" />
<element name="lamp~i~" ref="matrixlamp" state="0"> <element name="lamp~i~" ref="matrixlamp" state="0">
<bounds x="~x~" y="~y~" width="7" height="7" /> <bounds x="~x~" y="~y~" width="7" height="7" />
</element> </element>
@ -68,16 +68,16 @@ license:CC0
<element name="digit~i~" ref="digit"> <element name="digit~i~" ref="digit">
<bounds x="~x~" y="140" width="14" height="26" /> <bounds x="~x~" y="140" width="14" height="26" />
</element> </element>
</repeat> </repeat>
<repeat count="32"> <repeat count="32">
<param name="x" start="10" increment="8" /> <param name="x" start="10" increment="8" />
<param name="i" start="0" increment="1" /> <param name="i" start="0" increment="1" />
<element name="reellamp~i~" ref="matrixlamp"> <element name="reellamp~i~" ref="matrixlamp">
<bounds x="~x~" y="170" width="7" height="7" /> <bounds x="~x~" y="170" width="7" height="7" />
</element> </element>
</repeat> </repeat>
</view> </view>
<view name="VFD Display Output Only"> <view name="VFD Display Output Only">
<repeat count="16"> <repeat count="16">
<param name="x" start="10" increment="9" /> <param name="x" start="10" increment="9" />

View File

@ -27,20 +27,20 @@
|-------------------------------| |-------------------------------|
Notes: Notes:
DIP8 - 8-position DIP switch DIP8 - 8-position DIP switch
CN61 - BS8PSHF1AA 8 pin connector, connects to memory card harness CN61 - BS8PSHF1AA 8 pin connector, connects to memory card harness
CN62 - BS8PSHF1AA 8 pin connector CN62 - BS8PSHF1AA 8 pin connector
CN63 - 6P-SHVQ labeled "0", GE885-JB security dongle is connected here CN63 - 6P-SHVQ labeled "0", GE885-JB security dongle is connected here
CN64 - 6P-SHVQ labeled "1" CN64 - 6P-SHVQ labeled "1"
CN65 - B4PS-VH, 4 pin power connector CN65 - B4PS-VH, 4 pin power connector
CN67 - BS15PSHF1AA, 15-pin connector, unpopulated CN67 - BS15PSHF1AA, 15-pin connector, unpopulated
USB-A - USB-A connector USB-A - USB-A connector
USB-B - USB-B connector, connects to USB on System 573 motherboard USB-B - USB-B connector, connects to USB on System 573 motherboard
ADM485JR - Analog Devices ADM485 low power EIA RS-485 transceiver ADM485JR - Analog Devices ADM485 low power EIA RS-485 transceiver
TMPR3904AF - Toshiba TMPR3904AF RISC Microprocessor TMPR3904AF - Toshiba TMPR3904AF RISC Microprocessor
XCS05/10 - XILINX XCS10XL VQ100AKP9909 A2026631A XCS05/10 - XILINX XCS10XL VQ100AKP9909 A2026631A
DRAM4M - Silicon Magic 66 MHz C9742 SM81C256K16CJ-35, 256K x 16 EDO DRAM DRAM4M - Silicon Magic 66 MHz C9742 SM81C256K16CJ-35, 256K x 16 EDO DRAM
EP4M16 - ROM labeled "855-A01" EP4M16 - ROM labeled "855-A01"
*/ */
#include "emu.h" #include "emu.h"

View File

@ -260,6 +260,7 @@ _count_leading_zeros(uint32_t value)
} }
#endif #endif
/*------------------------------------------------- /*-------------------------------------------------
count_leading_ones - return the number of count_leading_ones - return the number of
leading one bits in a 32-bit value leading one bits in a 32-bit value

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_color0
/* /*
Hyllian Smart-Blur Shader Hyllian Smart-Blur Shader
Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -61,4 +61,4 @@ void main()
} }
gl_FragColor = vec4(E, 1.0); gl_FragColor = vec4(E, 1.0);
} }

View File

@ -6,7 +6,7 @@ $output v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_color0
/* /*
Hyllian Smart-Blur Shader Hyllian Smart-Blur Shader
Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy

View File

@ -163,7 +163,7 @@ void main()
// Of all the pixels that are mapped onto the texel we are // Of all the pixels that are mapped onto the texel we are
// currently rendering, which pixel are we currently rendering? // currently rendering, which pixel are we currently rendering?
vec2 ratio_scale = xy * u_tex_size0.xy - vec2_splat(0.5); vec2 ratio_scale = xy * u_tex_size0.xy - vec2_splat(0.5);
#ifdef OVERSAMPLE #ifdef OVERSAMPLE
float filter = fwidth(ratio_scale.y); float filter = fwidth(ratio_scale.y);
#endif #endif
@ -179,7 +179,7 @@ void main()
// Prevent division by zero. // Prevent division by zero.
coeffs = FIX(coeffs); coeffs = FIX(coeffs);
// Lanczos2 kernel. // Lanczos2 kernel.
coeffs = 2.0 * sin(coeffs) * sin(coeffs / 2.0) / (coeffs * coeffs); coeffs = 2.0 * sin(coeffs) * sin(coeffs / 2.0) / (coeffs * coeffs);
@ -193,7 +193,7 @@ void main()
TEX2D(xy)*coeffs.y + TEX2D(xy)*coeffs.y +
TEX2D(xy +vec2(v_one.x, 0.0))*coeffs.z + TEX2D(xy +vec2(v_one.x, 0.0))*coeffs.z +
TEX2D(xy + vec2(2.0 * v_one.x, 0.0))*coeffs.w , 0.0, 1.0); TEX2D(xy + vec2(2.0 * v_one.x, 0.0))*coeffs.w , 0.0, 1.0);
vec4 col2 = clamp(TEX2D(xy + vec2(-v_one.x, v_one.y))*coeffs.x + vec4 col2 = clamp(TEX2D(xy + vec2(-v_one.x, v_one.y))*coeffs.x +
TEX2D(xy + vec2(0.0, v_one.y))*coeffs.y + TEX2D(xy + vec2(0.0, v_one.y))*coeffs.y +
TEX2D(xy + v_one)*coeffs.z + TEX2D(xy + v_one)*coeffs.z +
@ -222,7 +222,7 @@ void main()
// halation and corners // halation and corners
vec3 blur = pow(texture2D(blur_texture,xy0).rgb, vec3_splat(CRTgamma.x)); vec3 blur = pow(texture2D(blur_texture,xy0).rgb, vec3_splat(CRTgamma.x));
mul_res = mix(mul_res, blur, halation.x) * vec3_splat(cval); mul_res = mix(mul_res, blur, halation.x) * vec3_splat(cval);
// Convert the image gamma for display on our output device. // Convert the image gamma for display on our output device.
mul_res = pow(mul_res, vec3_splat(1.0 / monitorgamma.x)); mul_res = pow(mul_res, vec3_splat(1.0 / monitorgamma.x));
@ -230,6 +230,6 @@ void main()
xy = v_texCoord.xy * u_quad_dims.xy / u_tex_size1.xy; xy = v_texCoord.xy * u_quad_dims.xy / u_tex_size1.xy;
vec3 mask = texture2D(mask_texture, xy).rgb; vec3 mask = texture2D(mask_texture, xy).rgb;
mask = mix(vec3_splat(1.0), mask, aperture_strength.x); mask = mix(vec3_splat(1.0), mask, aperture_strength.x);
gl_FragColor = vec4(mul_res*mask, col.a); gl_FragColor = vec4(mul_res*mask, col.a);
} }

View File

@ -158,7 +158,7 @@ void main()
// Of all the pixels that are mapped onto the texel we are // Of all the pixels that are mapped onto the texel we are
// currently rendering, which pixel are we currently rendering? // currently rendering, which pixel are we currently rendering?
vec2 ratio_scale = xy * u_tex_size0.xy - vec2_splat(0.5); vec2 ratio_scale = xy * u_tex_size0.xy - vec2_splat(0.5);
#ifdef OVERSAMPLE #ifdef OVERSAMPLE
float filter = fwidth(ratio_scale.y); float filter = fwidth(ratio_scale.y);
#endif #endif
@ -174,7 +174,7 @@ void main()
// Prevent division by zero. // Prevent division by zero.
coeffs = FIX(coeffs); coeffs = FIX(coeffs);
// Lanczos2 kernel. // Lanczos2 kernel.
coeffs = 2.0 * sin(coeffs) * sin(coeffs / 2.0) / (coeffs * coeffs); coeffs = 2.0 * sin(coeffs) * sin(coeffs / 2.0) / (coeffs * coeffs);
@ -188,7 +188,7 @@ void main()
TEX2D(xy)*coeffs.y + TEX2D(xy)*coeffs.y +
TEX2D(xy +vec2(v_one.x, 0.0))*coeffs.z + TEX2D(xy +vec2(v_one.x, 0.0))*coeffs.z +
TEX2D(xy + vec2(2.0 * v_one.x, 0.0))*coeffs.w , 0.0, 1.0); TEX2D(xy + vec2(2.0 * v_one.x, 0.0))*coeffs.w , 0.0, 1.0);
vec4 col2 = clamp(TEX2D(xy + vec2(-v_one.x, v_one.y))*coeffs.x + vec4 col2 = clamp(TEX2D(xy + vec2(-v_one.x, v_one.y))*coeffs.x +
TEX2D(xy + vec2(0.0, v_one.y))*coeffs.y + TEX2D(xy + vec2(0.0, v_one.y))*coeffs.y +
TEX2D(xy + v_one)*coeffs.z + TEX2D(xy + v_one)*coeffs.z +
@ -218,10 +218,10 @@ void main()
mul_res = pow(mul_res, vec3_splat(1.0 / monitorgamma.x)); mul_res = pow(mul_res, vec3_splat(1.0 / monitorgamma.x));
// Color the texel. // Color the texel.
xy = v_texCoord.xy * u_quad_dims.xy / u_tex_size1.xy; xy = v_texCoord.xy * u_quad_dims.xy / u_tex_size1.xy;
vec3 mask = texture2D(mask_texture, xy).rgb; vec3 mask = texture2D(mask_texture, xy).rgb;
mask = mix(vec3_splat(1.0), mask, aperture_strength.x); mask = mix(vec3_splat(1.0), mask, aperture_strength.x);
gl_FragColor = vec4(mul_res*mask, col.a); gl_FragColor = vec4(mul_res*mask, col.a);
} }

View File

@ -24,6 +24,6 @@ void main()
sum += TEX2D(v_texCoord + vec2(+4.0 * onex, 0.0)) * vec3_splat(v_coeffs.w); sum += TEX2D(v_texCoord + vec2(+4.0 * onex, 0.0)) * vec3_splat(v_coeffs.w);
float norm = 1.0 / (1.0 + 2.0*(v_coeffs.x+v_coeffs.y+v_coeffs.z+v_coeffs.w)); float norm = 1.0 / (1.0 + 2.0*(v_coeffs.x+v_coeffs.y+v_coeffs.z+v_coeffs.w));
gl_FragColor = vec4( pow(sum*vec3_splat(norm), vec3_splat(1.0/u_gamma.x)), 1.0 ); gl_FragColor = vec4( pow(sum*vec3_splat(norm), vec3_splat(1.0/u_gamma.x)), 1.0 );
} }

View File

@ -24,6 +24,6 @@ void main()
sum += TEX2D(v_texCoord + vec2(0.0, +4.0 * oney)) * vec3_splat(v_coeffs.w); sum += TEX2D(v_texCoord + vec2(0.0, +4.0 * oney)) * vec3_splat(v_coeffs.w);
float norm = 1.0 / (1.0 + 2.0*(v_coeffs.x+v_coeffs.y+v_coeffs.z+v_coeffs.w)); float norm = 1.0 / (1.0 + 2.0*(v_coeffs.x+v_coeffs.y+v_coeffs.z+v_coeffs.w));
gl_FragColor = vec4( pow(sum*vec3_splat(norm), vec3_splat(1.0/u_gamma.x)), 1.0 ); gl_FragColor = vec4( pow(sum*vec3_splat(norm), vec3_splat(1.0/u_gamma.x)), 1.0 );
} }

View File

@ -23,6 +23,6 @@ void main()
cphos *= vec3_splat( u_phosphor_amplitude.x * pow(t,-u_phosphor_power.x) ); cphos *= vec3_splat( u_phosphor_amplitude.x * pow(t,-u_phosphor_power.x) );
vec3 col = pow(cscrn + cphos, vec3_splat(1.0/u_gamma.x)); vec3 col = pow(cscrn + cphos, vec3_splat(1.0/u_gamma.x));
gl_FragColor = vec4(col, 1.0); gl_FragColor = vec4(col, 1.0);
} }

View File

@ -1,6 +1,6 @@
vec2 v_texCoord : TEXCOORD0 = vec2(0.0, 0.0); vec2 v_texCoord : TEXCOORD0 = vec2(0.0, 0.0);
vec3 v_stretch : TEXCOORD1 = vec3(0.0,0.0,0.0); vec3 v_stretch : TEXCOORD1 = vec3(0.0,0.0,0.0);
vec2 v_sinangle : TEXCOORD2 = vec2(0.0,0.0); vec2 v_sinangle : TEXCOORD2 = vec2(0.0,0.0);
vec2 v_cosangle : TEXCOORD3 = vec2(0.0,0.0); vec2 v_cosangle : TEXCOORD3 = vec2(0.0,0.0);
vec2 v_one : TEXCOORD4 = vec2(0.0,0.0); vec2 v_one : TEXCOORD4 = vec2(0.0,0.0);
vec4 v_coeffs : TEXCOORD5 = vec4(0.0,0.0,0.0,0.0); vec4 v_coeffs : TEXCOORD5 = vec4(0.0,0.0,0.0,0.0);

View File

@ -37,9 +37,9 @@ void main()
{ {
gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0));
v_texcoord0 = a_texcoord0; v_texcoord0 = a_texcoord0;
onex = vec2(1.0 / u_source_size.x, 0.0); onex = vec2(1.0 / u_source_size.x, 0.0);
oney = vec2(0.0, 1.0 / u_source_size.y); oney = vec2(0.0, 1.0 / u_source_size.y);
v_color0 = a_color0; v_color0 = a_color0;
} }

View File

@ -7,7 +7,7 @@ $input v_color0, texCoord, t1, t2, t3, t4, t5, t6, t7, t8
/* Copied from the Dosbox source code */ /* Copied from the Dosbox source code */
/* Copyright (C) 2002-2007 The DOSBox Team */ /* Copyright (C) 2002-2007 The DOSBox Team */
/* License: GNU-GPL */ /* License: GNU-GPL */
/* Adapted by guest(r) on 16.4.2007 */ /* Adapted by guest(r) on 16.4.2007 */
#include "common.sh" #include "common.sh"
@ -32,10 +32,10 @@ float GET_RESULT(float A, float B, float C, float D)
float r = 0.0; float r = 0.0;
if (A == C) x += 1.0; else if (B == C) y += 1.0; if (A == C) x += 1.0; else if (B == C) y += 1.0;
if (A == D) x += 1.0; else if (B == D) y += 1.0; if (A == D) x += 1.0; else if (B == D) y += 1.0;
if (x <= 1.0) r += 1.0; if (x <= 1.0) r += 1.0;
if (y <= 1.0) r -= 1.0; if (y <= 1.0) r -= 1.0;
return r; return r;
} }
void main() void main()
{ {
@ -43,7 +43,7 @@ void main()
// Reading the texels // Reading the texels
vec3 C0 = texture2D(decal, t1.xy).xyz; vec3 C0 = texture2D(decal, t1.xy).xyz;
vec3 C1 = texture2D(decal, t1.zw).xyz; vec3 C1 = texture2D(decal, t1.zw).xyz;
vec3 C2 = texture2D(decal, t2.xy).xyz; vec3 C2 = texture2D(decal, t2.xy).xyz;
vec3 D3 = texture2D(decal, t2.zw).xyz; vec3 D3 = texture2D(decal, t2.zw).xyz;
@ -62,7 +62,7 @@ void main()
vec3 p00,p10,p01,p11; vec3 p00,p10,p01,p11;
// reducing float3 to float // reducing float3 to float
float c0 = reduce(C0); float c1 = reduce(C1); float c0 = reduce(C0); float c1 = reduce(C1);
float c2 = reduce(C2); float c3 = reduce(C3); float c2 = reduce(C2); float c3 = reduce(C3);
float c4 = reduce(C4); float c5 = reduce(C5); float c4 = reduce(C4); float c5 = reduce(C5);
@ -76,7 +76,7 @@ void main()
/* Copied from the Dosbox source code */ /* Copied from the Dosbox source code */
/* Copyright (C) 2002-2007 The DOSBox Team */ /* Copyright (C) 2002-2007 The DOSBox Team */
/* License: GNU-GPL */ /* License: GNU-GPL */
/* Adapted by guest(r) on 16.4.2007 */ /* Adapted by guest(r) on 16.4.2007 */
if (c4 != c8) if (c4 != c8)
{ {
if (c7 == c5) if (c7 == c5)
@ -158,8 +158,8 @@ void main()
} }
} }
} }
p10 = (fp.x < 0.50) ? (fp.y < 0.50 ? p00 : p10) : (fp.y < 0.50 ? p01: p11); p10 = (fp.x < 0.50) ? (fp.y < 0.50 ? p00 : p10) : (fp.y < 0.50 ? p01: p11);
gl_FragColor = vec4(p10.rgb, 1.0); gl_FragColor = vec4(p10.rgb, 1.0);
} }

View File

@ -8,7 +8,7 @@ $output v_color0, texCoord, t1, t2, t3, t4, t5, t6, t7, t8
/* Copied from the Dosbox source code */ /* Copied from the Dosbox source code */
/* Copyright (C) 2002-2007 The DOSBox Team */ /* Copyright (C) 2002-2007 The DOSBox Team */
/* License: GNU-GPL */ /* License: GNU-GPL */
/* Adapted by guest(r) on 16.4.2007 */ /* Adapted by guest(r) on 16.4.2007 */
#include "common.sh" #include "common.sh"
@ -19,7 +19,7 @@ void main()
{ {
gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0));
v_color0 = a_color0; v_color0 = a_color0;
vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy;
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;

View File

@ -183,7 +183,7 @@ void main()
// corner distortion at least by the amount of the image distorition // corner distortion at least by the amount of the image distorition
float distortCornerAmount = max(u_distort_corner.x, u_distortion.x + u_cubic_distortion.x); float distortCornerAmount = max(u_distort_corner.x, u_distortion.x + u_cubic_distortion.x);
float roundCornerAmount = u_round_corner.x * 0.5; float roundCornerAmount = u_round_corner.x * 0.5;
float smoothBorderAmount = u_smooth_border.x * 0.5; float smoothBorderAmount = u_smooth_border.x * 0.5;
vec2 TexelDims = vec2(1.0 / u_target_dims.x, 1.0 / u_target_dims.y); vec2 TexelDims = vec2(1.0 / u_target_dims.x, 1.0 / u_target_dims.y);

View File

@ -52,7 +52,7 @@ void main()
vec4 PI = vec4(3.1415927, 3.1415927, 3.1415927, 3.1415927); vec4 PI = vec4(3.1415927, 3.1415927, 3.1415927, 3.1415927);
vec4 PI2 = vec4(6.2831854, 6.2831854, 6.2831854, 6.2831854); vec4 PI2 = vec4(6.2831854, 6.2831854, 6.2831854, 6.2831854);
vec4 Fc_y1 = (u_cc_value.xxxx - u_notch_width.xxxx * onehalf) * TimePerSample; vec4 Fc_y1 = (u_cc_value.xxxx - u_notch_width.xxxx * onehalf) * TimePerSample;
vec4 Fc_y2 = (u_cc_value.xxxx + u_notch_width.xxxx * onehalf) * TimePerSample; vec4 Fc_y2 = (u_cc_value.xxxx + u_notch_width.xxxx * onehalf) * TimePerSample;
vec4 Fc_y3 = u_y_freq_response.xxxx * TimePerSample; vec4 Fc_y3 = u_y_freq_response.xxxx * TimePerSample;
@ -69,7 +69,7 @@ void main()
vec4 Fc_y2_pi2 = Fc_y2 * PI2; vec4 Fc_y2_pi2 = Fc_y2 * PI2;
vec4 Fc_y3_pi2 = Fc_y3 * PI2; vec4 Fc_y3_pi2 = Fc_y3 * PI2;
vec4 PI2Length = PI2 / SampleCount; vec4 PI2Length = PI2 / SampleCount;
vec4 W = PI2 * u_cc_value.xxxx * u_scan_time.xxxx; vec4 W = PI2 * u_cc_value.xxxx * u_scan_time.xxxx;
vec4 WoPI = W / PI; vec4 WoPI = W / PI;
@ -120,7 +120,7 @@ void main()
IAccum = IAccum + C * cos(WT) * FilterI; IAccum = IAccum + C * cos(WT) * FilterI;
QAccum = QAccum + C * sin(WT) * FilterQ; QAccum = QAccum + C * sin(WT) * FilterQ;
} }
vec3 YIQ = vec3( vec3 YIQ = vec3(
(YAccum.r + YAccum.g + YAccum.b + YAccum.a), (YAccum.r + YAccum.g + YAccum.b + YAccum.a),
(IAccum.r + IAccum.g + IAccum.b + IAccum.a) * 2.0, (IAccum.r + IAccum.g + IAccum.b + IAccum.a) * 2.0,

View File

@ -58,7 +58,7 @@ void main()
const float PI = 3.1415927; const float PI = 3.1415927;
const float PI2 = 6.2831854; const float PI2 = 6.2831854;
float W = PI2 * u_cc_value.x * u_scan_time.x; float W = PI2 * u_cc_value.x * u_scan_time.x;
float WoPI = W / PI; float WoPI = W / PI;
@ -69,4 +69,4 @@ void main()
vec4 TW = T * W; vec4 TW = T * W;
gl_FragColor = Y + I * cos(TW) + Q * sin(TW); gl_FragColor = Y + I * cos(TW) + Q * sin(TW);
} }

View File

@ -57,7 +57,7 @@ void main()
mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9)); mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9));
vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8)); vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8));
vec2 index; vec2 index;
index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) + index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) +
dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + dot(pattern[1], vec3( 8.0, 0.0, 16.0)) +

View File

@ -57,7 +57,7 @@ void main()
mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9)); mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9));
vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8)); vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8));
vec2 index; vec2 index;
index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) + index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) +
dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + dot(pattern[1], vec3( 8.0, 0.0, 16.0)) +

View File

@ -57,7 +57,7 @@ void main()
mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9)); mat3 pattern = mat3(diff(w5, w1), diff(w5, w2), diff(w5, w3), diff(w5, w4), 0.0, diff(w5, w6), diff(w5, w7), diff(w5, w8), diff(w5, w9));
vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8)); vec4 cross = vec4(diff(w4, w2), diff(w2, w6), diff(w8, w4), diff(w6, w8));
vec2 index; vec2 index;
index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) + index.x = dot(pattern[0], vec3( 1.0, 2.0, 4.0)) +
dot(pattern[1], vec3( 8.0, 0.0, 16.0)) + dot(pattern[1], vec3( 8.0, 0.0, 16.0)) +

View File

@ -13,7 +13,7 @@ void main()
{ {
gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0));
v_color0 = a_color0; v_color0 = a_color0;
vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy;
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;

View File

@ -13,7 +13,7 @@ void main()
{ {
gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0));
v_color0 = a_color0; v_color0 = a_color0;
vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy;
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;

View File

@ -13,7 +13,7 @@ void main()
{ {
gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0));
v_color0 = a_color0; v_color0 = a_color0;
vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy; vec2 ps = vec2(1.0, 1.0) / u_tex_size0.xy;
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;

View File

@ -7,7 +7,7 @@ $input v_color0, v_texcoord0
Bob-and-ghost Deinterlacing Bob-and-ghost Deinterlacing
Author: hunterk Author: hunterk
License: Public domain License: Public domain
Note: This shader is designed to work with the typical interlaced output from an emulator, which displays both even and odd fields twice. Note: This shader is designed to work with the typical interlaced output from an emulator, which displays both even and odd fields twice.
As such, it is inappropriate for general video use unless the video has already been similarly woven beforehand. As such, it is inappropriate for general video use unless the video has already been similarly woven beforehand.
*/ */
@ -30,7 +30,7 @@ void main()
float y; float y;
// assume anything with a vertical resolution greater than 400 lines is interlaced // assume anything with a vertical resolution greater than 400 lines is interlaced
if (u_tex_size0.y > 400.0) if (u_tex_size0.y > 400.0)
{ {
y = u_tex_size0.y * v_texcoord0.y;// FIXME + IN.frame_count; y = u_tex_size0.y * v_texcoord0.y;// FIXME + IN.frame_count;
res = pow(vec4(texture2D(s0, v_texcoord0 + vec2(0.0, one_pixel.y))), exponent); res = pow(vec4(texture2D(s0, v_texcoord0 + vec2(0.0, one_pixel.y))), exponent);
@ -50,6 +50,6 @@ void main()
{ {
res = vec4(pow(texture2D(s0, v_texcoord0), exponent)); res = vec4(pow(texture2D(s0, v_texcoord0), exponent));
} }
gl_FragColor = vec4(pow((res + color) / 2.0, inv_exponent)); gl_FragColor = vec4(pow((res + color) / 2.0, inv_exponent));
} }

View File

@ -5,7 +5,7 @@ $input v_color0, v_texcoord0, v_texcoord1
/* /*
Hyllian's Deposterize Shader - Pass0 Hyllian's Deposterize Shader - Pass0
Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com
*/ */

View File

@ -5,7 +5,7 @@ $input v_color0, v_texcoord0, v_texcoord1
/* /*
Hyllian's Deposterize Shader - Pass1 Hyllian's Deposterize Shader - Pass1
Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com
*/ */

View File

@ -6,7 +6,7 @@ $output v_texcoord0, v_texcoord1, v_color0
/* /*
Hyllian's Deposterize Shader - Pass0 vertex shader Hyllian's Deposterize Shader - Pass0 vertex shader
Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com
*/ */
@ -22,7 +22,7 @@ void main()
vec2 ps = vec2(1.0 / u_tex_size0.xy); vec2 ps = vec2(1.0 / u_tex_size0.xy);
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;
// This line fixes a bug in ATI cards. // This line fixes a bug in ATI cards.
v_texcoord0 = a_texcoord0 + vec2(0.0000001, 0.0000001); v_texcoord0 = a_texcoord0 + vec2(0.0000001, 0.0000001);
v_texcoord1 = v_texcoord0.xxxy + vec4(-dx, 0, dx, 0); // D E F v_texcoord1 = v_texcoord0.xxxy + vec4(-dx, 0, dx, 0); // D E F

View File

@ -6,7 +6,7 @@ $output v_texcoord0, v_texcoord1, v_color0
/* /*
Hyllian's Deposterize Shader - Pass1 vertex shader Hyllian's Deposterize Shader - Pass1 vertex shader
Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com Copyright (C) 2011/2016 Hyllian/Jararaca - sergiogdb@gmail.com
*/ */
@ -22,7 +22,7 @@ void main()
vec2 ps = vec2(1.0 / u_tex_size0.xy); vec2 ps = vec2(1.0 / u_tex_size0.xy);
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;
// This line fixes a bug in ATI cards. // This line fixes a bug in ATI cards.
v_texcoord0 = a_texcoord0 + vec2(0.0000001, 0.0000001); v_texcoord0 = a_texcoord0 + vec2(0.0000001, 0.0000001);
v_texcoord1 = v_texcoord0.xyyy + vec4(0, -dy, 0, dy); // D E F v_texcoord1 = v_texcoord0.xyyy + vec4(0, -dy, 0, dy); // D E F

View File

@ -22,7 +22,7 @@ SAMPLER2D(s_tex, 0);
void main() void main()
{ {
vec4 sum = vec4(0.0, 0.0, 0.0, 0.0); vec4 sum = vec4(0.0, 0.0, 0.0, 0.0);
vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy; vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy;
sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133; sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133;

View File

@ -22,7 +22,7 @@ SAMPLER2D(s_tex, 0);
void main() void main()
{ {
vec4 sum = vec4(0.0, 0.0, 0.0, 0.0); vec4 sum = vec4(0.0, 0.0, 0.0, 0.0);
vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy; vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy;
sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133; sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133;

View File

@ -22,7 +22,7 @@ SAMPLER2D(s_tex, 0);
void main() void main()
{ {
vec4 sum = vec4(0.0, 0.0, 0.0, 0.0); vec4 sum = vec4(0.0, 0.0, 0.0, 0.0);
vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy; vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy;
sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133; sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133;

View File

@ -22,7 +22,7 @@ SAMPLER2D(s_tex, 0);
void main() void main()
{ {
vec4 sum = vec4(0.0, 0.0, 0.0, 0.0); vec4 sum = vec4(0.0, 0.0, 0.0, 0.0);
vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy; vec2 blur = (u_radius.xx * u_dimension.xy) / u_tex_size0.xy;
sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133; sum += texture2D(s_tex, v_texcoord0 - vec2(12.0, 12.0) * blur) * 0.001133;

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_color0
/* /*
Hyllian's dilation-horizontal-fast Shader Hyllian's dilation-horizontal-fast Shader
Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -43,4 +43,4 @@ void main()
vec3 res = max(E, max(F, D)); vec3 res = max(E, max(F, D));
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -6,7 +6,7 @@ $output v_texcoord0, v_texcoord1, v_color0
/* /*
Hyllian's dilation-horizontal-fast Shader Hyllian's dilation-horizontal-fast Shader
Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -41,9 +41,9 @@ void main()
vec2 ps = 1.0 / u_tex_size0.xy; vec2 ps = 1.0 / u_tex_size0.xy;
float dx = ps.x; float dx = ps.x;
float dy = ps.y; float dy = ps.y;
// B // B
// D E F // D E F
// H // H
v_texcoord1 = vec4(1.0 / u_tex_size0.xy, 0.0, 0.0); // F H v_texcoord1 = vec4(1.0 / u_tex_size0.xy, 0.0, 0.0); // F H

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_color0
/* /*
Hyllian's xBR-lv1-noblend Shader Hyllian's xBR-lv1-noblend Shader
Copyright (C) 2011-2014 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2014 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -129,4 +129,4 @@ void main()
// final sum and weight normalization // final sum and weight normalization
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_texcoord4, v_texcoo
/* /*
Hyllian's xBR-lv2-3d Shader Hyllian's xBR-lv2-3d Shader
Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -176,7 +176,7 @@ void main()
vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25); vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25);
// These inequations define the line below which interpolation occurs. // These inequations define the line below which interpolation occurs.
vec4 fx = (Ao*fp.y+Bo*fp.x); vec4 fx = (Ao*fp.y+Bo*fp.x);
vec4 fx_left = (Ax*fp.y+Bx*fp.x); vec4 fx_left = (Ax*fp.y+Bx*fp.x);
vec4 fx_up = (Ay*fp.y+By*fp.x); vec4 fx_up = (Ay*fp.y+By*fp.x);
@ -231,13 +231,13 @@ void main()
vec3 res1 = E.xyz; vec3 res1 = E.xyz;
res1 = mix(res1, mix(H.xyz, F.xyz, px.x), maximos.x); res1 = mix(res1, mix(H.xyz, F.xyz, px.x), maximos.x);
res1 = mix(res1, mix(B.xyz, D.xyz, px.z), maximos.z); res1 = mix(res1, mix(B.xyz, D.xyz, px.z), maximos.z);
vec3 res2 = E.xyz; vec3 res2 = E.xyz;
res2 = mix(res2, mix(F.xyz, B.xyz, px.y), maximos.y); res2 = mix(res2, mix(F.xyz, B.xyz, px.y), maximos.y);
res2 = mix(res2, mix(D.xyz, H.xyz, px.w), maximos.w); res2 = mix(res2, mix(D.xyz, H.xyz, px.w), maximos.w);
vec3 E_mix = (c_df(E.xyz, res2) >= c_df(E.xyz, res1)) ? vec3(1.0, 1.0, 1.0) : vec3(0.0, 0.0, 0.0); vec3 E_mix = (c_df(E.xyz, res2) >= c_df(E.xyz, res1)) ? vec3(1.0, 1.0, 1.0) : vec3(0.0, 0.0, 0.0);
vec3 res = mix(res1, res2, E_mix); vec3 res = mix(res1, res2, E_mix);
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_color0
/* /*
Hyllian's xBR-lv2-lq Shader Hyllian's xBR-lv2-lq Shader
Copyright (C) 2011/2015 Hyllian/Jararaca - sergiogdb@gmail.com Copyright (C) 2011/2015 Hyllian/Jararaca - sergiogdb@gmail.com
Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
@ -121,7 +121,7 @@ void main()
vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25); vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25);
// These inequations define the line below which interpolation occurs. // These inequations define the line below which interpolation occurs.
vec4 fx = (Ao*fp.y+Bo*fp.x); vec4 fx = (Ao*fp.y+Bo*fp.x);
vec4 fx_left = (Ax*fp.y+Bx*fp.x); vec4 fx_left = (Ax*fp.y+Bx*fp.x);
vec4 fx_up = (Ay*fp.y+By*fp.x); vec4 fx_up = (Ay*fp.y+By*fp.x);
@ -166,13 +166,13 @@ void main()
vec3 res1 = E.xyz; vec3 res1 = E.xyz;
res1 = mix(res1, mix(H.xyz, F.xyz, px.x), maximos.x); res1 = mix(res1, mix(H.xyz, F.xyz, px.x), maximos.x);
res1 = mix(res1, mix(B.xyz, D.xyz, px.z), maximos.z); res1 = mix(res1, mix(B.xyz, D.xyz, px.z), maximos.z);
vec3 res2 = E.xyz; vec3 res2 = E.xyz;
res2 = mix(res2, mix(F.xyz, B.xyz, px.y), maximos.y); res2 = mix(res2, mix(F.xyz, B.xyz, px.y), maximos.y);
res2 = mix(res2, mix(D.xyz, H.xyz, px.w), maximos.w); res2 = mix(res2, mix(D.xyz, H.xyz, px.w), maximos.w);
vec3 E_mix = (c_df(E.xyz, res2) >= c_df(E.xyz, res1)) ? vec3(1.0, 1.0, 1.0) : vec3(0.0, 0.0, 0.0); vec3 E_mix = (c_df(E.xyz, res2) >= c_df(E.xyz, res1)) ? vec3(1.0, 1.0, 1.0) : vec3(0.0, 0.0, 0.0);
vec3 res = mix(res1, res2, E_mix); vec3 res = mix(res1, res2, E_mix);
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_texcoord4, v_texcoo
/* /*
Hyllian's xBR-lv2-noblend Shader Hyllian's xBR-lv2-noblend Shader
Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -148,7 +148,7 @@ void main()
#endif #endif
interp_restriction_lv1 = clamp(interp_restriction_lv1, 0.0, 1.0); interp_restriction_lv1 = clamp(interp_restriction_lv1, 0.0, 1.0);
vec4 interp_restriction_lv2_left = vec4(notEqual(e,g)) * vec4(notEqual(d,g)); vec4 interp_restriction_lv2_left = vec4(notEqual(e,g)) * vec4(notEqual(d,g));
vec4 interp_restriction_lv2_up = vec4(notEqual(e,c)) * vec4(notEqual(b,c)); vec4 interp_restriction_lv2_up = vec4(notEqual(e,c)) * vec4(notEqual(b,c));
@ -174,4 +174,4 @@ void main()
vec3 res = mix(res1, res2, res_mix); vec3 res = mix(res1, res2, res_mix);
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_texcoord4, v_texcoo
/* /*
Hyllian's xBR-lv2 Shader Hyllian's xBR-lv2 Shader
Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -136,10 +136,10 @@ void main()
vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25); vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25);
// These inequations define the line below which interpolation occurs. // These inequations define the line below which interpolation occurs.
vec4 fx = (Ao*fp.y+Bo*fp.x); vec4 fx = (Ao*fp.y+Bo*fp.x);
vec4 fx_left = (Ax*fp.y+Bx*fp.x); vec4 fx_left = (Ax*fp.y+Bx*fp.x);
vec4 fx_up = (Ay*fp.y+By*fp.x); vec4 fx_up = (Ay*fp.y+By*fp.x);
vec4 interp_restriction_lv0 = vec4(notEqual(e,f)) * vec4(notEqual(e,h)); vec4 interp_restriction_lv0 = vec4(notEqual(e,f)) * vec4(notEqual(e,h));
vec4 interp_restriction_lv1 = interp_restriction_lv0; vec4 interp_restriction_lv1 = interp_restriction_lv0;
@ -191,7 +191,7 @@ void main()
vec3 res1 = E.xyz; vec3 res1 = E.xyz;
res1 = mix(res1, mix(H.xyz, F.xyz, px.x), maximos.x); res1 = mix(res1, mix(H.xyz, F.xyz, px.x), maximos.x);
res1 = mix(res1, mix(B.xyz, D.xyz, px.z), maximos.z); res1 = mix(res1, mix(B.xyz, D.xyz, px.z), maximos.z);
vec3 res2 = E.xyz; vec3 res2 = E.xyz;
res2 = mix(res2, mix(F.xyz, B.xyz, px.y), maximos.y); res2 = mix(res2, mix(F.xyz, B.xyz, px.y), maximos.y);
res2 = mix(res2, mix(D.xyz, H.xyz, px.w), maximos.w); res2 = mix(res2, mix(D.xyz, H.xyz, px.w), maximos.w);
@ -200,4 +200,4 @@ void main()
vec3 res = mix(res1, res2, E_mix); vec3 res = mix(res1, res2, E_mix);
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_texcoord4, v_texcoo
/* /*
Hyllian's xBR-lv3-noblend - Shader Hyllian's xBR-lv3-noblend - Shader
Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -175,7 +175,7 @@ void main()
#endif #endif
interp_restriction_lv1 = clamp(interp_restriction_lv1, 0.0, 1.0); interp_restriction_lv1 = clamp(interp_restriction_lv1, 0.0, 1.0);
vec4 interp_restriction_lv2_left = vec4(notEqual(e,g)) * vec4(notEqual(d,g)); vec4 interp_restriction_lv2_left = vec4(notEqual(e,g)) * vec4(notEqual(d,g));
vec4 interp_restriction_lv2_up = vec4(notEqual(e,c)) * vec4(notEqual(b,c)); vec4 interp_restriction_lv2_up = vec4(notEqual(e,c)) * vec4(notEqual(b,c));
vec4 interp_restriction_lv3_left = eq2(g,g0) * vec4(notEqual(d0,g0)); vec4 interp_restriction_lv3_left = eq2(g,g0) * vec4(notEqual(d0,g0));
@ -186,11 +186,11 @@ void main()
vec4 one = vec4(1.0, 1.0, 1.0, 1.0); vec4 one = vec4(1.0, 1.0, 1.0, 1.0);
vec4 zero = vec4(0.0, 0.0, 0.0, 0.0); vec4 zero = vec4(0.0, 0.0, 0.0, 0.0);
vec4 edri = vec4(lessThanEqual(wd1,wd2)) * interp_restriction_lv1; vec4 edri = vec4(lessThanEqual(wd1,wd2)) * interp_restriction_lv1;
vec4 edr = vec4(lessThan(wd1,wd2)) * interp_restriction_lv1 * ((1.0 - edri.yzwx) + (1.0 - edri.wxyz)); vec4 edr = vec4(lessThan(wd1,wd2)) * interp_restriction_lv1 * ((1.0 - edri.yzwx) + (1.0 - edri.wxyz));
edr = clamp(edr, 0.0, 1.0); edr = clamp(edr, 0.0, 1.0);
vec4 hcDiff = df(h,c); vec4 hcDiff = df(h,c);
vec4 fgDiff = df(f,g); vec4 fgDiff = df(f,g);
vec4 edr_left = vec4(lessThanEqual(XBR_LV2_COEFFICIENT.xxxx * fgDiff, hcDiff)) * interp_restriction_lv2_left * edr * (1.0 - edri.yzwx) * eq(e,c); vec4 edr_left = vec4(lessThanEqual(XBR_LV2_COEFFICIENT.xxxx * fgDiff, hcDiff)) * interp_restriction_lv2_left * edr * (1.0 - edri.yzwx) * eq(e,c);
@ -210,4 +210,4 @@ void main()
vec3 res = mix(res1, res2, (df12.y >= df12.x) ? one.xyz : zero.xyz); vec3 res = mix(res1, res2, (df12.y >= df12.x) ? one.xyz : zero.xyz);
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_texcoord4, v_texcoo
/* /*
Hyllian's xBR-lv3 Shader Hyllian's xBR-lv3 Shader
Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -154,7 +154,7 @@ void main()
vec4 Cw = vec4( 5.0, -1.0, -3.0, 3.0 ); vec4 Cw = vec4( 5.0, -1.0, -3.0, 3.0 );
// These inequations define the line below which interpolation occurs. // These inequations define the line below which interpolation occurs.
vec4 fx = (Ao * fp.y + Bo * fp.x); vec4 fx = (Ao * fp.y + Bo * fp.x);
vec4 fx_left = (Ax * fp.y + Bx * fp.x); vec4 fx_left = (Ax * fp.y + Bx * fp.x);
vec4 fx_up = (Ay * fp.y + By * fp.x); vec4 fx_up = (Ay * fp.y + By * fp.x);
vec4 fx3_left= (Az * fp.y + Bz * fp.x); vec4 fx3_left= (Az * fp.y + Bz * fp.x);
@ -189,7 +189,7 @@ void main()
vec4 edr = vec4(lessThan(weighted_distance(e, c, g, i, h5, f4, h, f), weighted_distance( h, d, i5, f, i4, b, e, i))) * interp_restriction_lv1; vec4 edr = vec4(lessThan(weighted_distance(e, c, g, i, h5, f4, h, f), weighted_distance( h, d, i5, f, i4, b, e, i))) * interp_restriction_lv1;
vec4 edr_left = vec4(lessThanEqual(XBR_LV2_COEFFICIENT.xxxx * df(f,g), df(h,c))) * interp_restriction_lv2_left; vec4 edr_left = vec4(lessThanEqual(XBR_LV2_COEFFICIENT.xxxx * df(f,g), df(h,c))) * interp_restriction_lv2_left;
vec4 edr_up = vec4(greaterThanEqual(df(f,g), XBR_LV2_COEFFICIENT.xxxx * df(h,c))) * interp_restriction_lv2_up; vec4 edr_up = vec4(greaterThanEqual(df(f,g), XBR_LV2_COEFFICIENT.xxxx * df(h,c))) * interp_restriction_lv2_up;
vec4 edr3_left = interp_restriction_lv3_left; vec4 edr3_left = interp_restriction_lv3_left;
vec4 edr3_up = interp_restriction_lv3_up; vec4 edr3_up = interp_restriction_lv3_up;
@ -232,4 +232,4 @@ void main()
vec3 res = mix(res1, res2, E_mix); vec3 res = mix(res1, res2, E_mix);
gl_FragColor = vec4(res, 1.0); gl_FragColor = vec4(res, 1.0);
} }

View File

@ -5,7 +5,7 @@ $input v_texcoord0, v_color0
/* /*
Hyllian's jinc windowed-jinc 2-lobe sharper with anti-ringing Shader Hyllian's jinc windowed-jinc 2-lobe sharper with anti-ringing Shader
Copyright (C) 2011-2014 Hyllian/Jararaca - sergiogdb@gmail.com Copyright (C) 2011-2014 Hyllian/Jararaca - sergiogdb@gmail.com
*/ */
@ -22,10 +22,10 @@ SAMPLER2D(s_p, 0);
This is an approximation of Jinc(x)*Jinc(x*r1/r2) for x < 2.5, This is an approximation of Jinc(x)*Jinc(x*r1/r2) for x < 2.5,
where r1 and r2 are the first two zeros of jinc function. where r1 and r2 are the first two zeros of jinc function.
For a jinc 2-lobe best approximation, use A=0.5 and B=0.825. For a jinc 2-lobe best approximation, use A=0.5 and B=0.825.
*/ */
// A=0.5, B=0.825 is the best jinc approximation for x<2.5. if B=1.0, it's a lanczos filter. // A=0.5, B=0.825 is the best jinc approximation for x<2.5. if B=1.0, it's a lanczos filter.
// Increase A to get more blur. Decrease it to get a sharper picture. // Increase A to get more blur. Decrease it to get a sharper picture.
// B = 0.825 to get rid of dithering. Increase B to get a fine sharpness, though dithering returns. // B = 0.825 to get rid of dithering. Increase B to get a fine sharpness, though dithering returns.
#define halfpi 1.5707963267948966192313216916398 #define halfpi 1.5707963267948966192313216916398
@ -131,4 +131,4 @@ void main()
// final sum and weight normalization // final sum and weight normalization
gl_FragColor = vec4(color, 1); gl_FragColor = vec4(color, 1);
} }

View File

@ -4,9 +4,9 @@ $input v_texcoord0, v_color0
// copyright-holders:Hyllian // copyright-holders:Hyllian
/* /*
******* Super XBR 3D Shader - pass0 ******* ******* Super XBR 3D Shader - pass0 *******
Copyright (c) 2016 Hyllian - sergiogdb@gmail.com Copyright (c) 2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -224,4 +224,4 @@ void main()
color = block_3d ? color : E.xyz; color = block_3d ? color : E.xyz;
gl_FragColor = vec4(color, 1.0); gl_FragColor = vec4(color, 1.0);
} }

View File

@ -4,9 +4,9 @@ $input v_texcoord0, v_color0
// copyright-holders:Hyllian // copyright-holders:Hyllian
/* /*
******* Super XBR 3D Shader - pass0 ******* ******* Super XBR 3D Shader - pass0 *******
Copyright (c) 2016 Hyllian - sergiogdb@gmail.com Copyright (c) 2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -208,4 +208,4 @@ void main()
color = block_3d ? color : A; color = block_3d ? color : A;
gl_FragColor = vec4(color, 1.0); gl_FragColor = vec4(color, 1.0);
} }

View File

@ -4,9 +4,9 @@ $input v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3, v_texcoord4, v_color0
// copyright-holders:Hyllian // copyright-holders:Hyllian
/* /*
******* Super XBR 3D Shader - pass2 ******* ******* Super XBR 3D Shader - pass2 *******
Copyright (c) 2016 Hyllian - sergiogdb@gmail.com Copyright (c) 2016 Hyllian - sergiogdb@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
@ -210,4 +210,4 @@ void main()
color = block_3d ? color : A.xyz; color = block_3d ? color : A.xyz;
gl_FragColor = vec4(color, 1.0); gl_FragColor = vec4(color, 1.0);
} }

Some files were not shown because too many files have changed in this diff Show More