srcclean and cleanup (nw)

This commit is contained in:
Vas Crabb 2020-06-21 14:59:50 +10:00
parent 8ef400ec67
commit 01661be41c
146 changed files with 1092 additions and 1092 deletions

View File

@ -35337,7 +35337,7 @@ license:CC0
</part>
</software>
<!-- red screen -->
<!-- red screen -->
<software name="rickdng2" supported="no">
<!-- SPS (CAPS) release 570 -->
<description>Rick Dangerous 2 (Euro)</description>
@ -35352,7 +35352,7 @@ license:CC0
</part>
</software>
<!-- red screen -->
<!-- red screen -->
<software name="rickdng2a" cloneof="rickdng2" supported="no">
<!-- SPS (CAPS) release 1877 -->
<description>Rick Dangerous 2 (Euro, Budget)</description>
@ -48343,7 +48343,7 @@ license:CC0
</dataarea>
</part>
</software>
<!-- Locks up at Xenon logo -->
<software name="xenon" supported="no">
<!-- SPS (CAPS) release 399 -->

View File

@ -37003,7 +37003,7 @@ license:CC0
<year>1984</year>
<publisher>Gessler Educational Software</publisher>
<info name="release" value="2020-05-26"/>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="143360">
<rom name="german word order (4am crack).dsk" size="143360" crc="acdab126" sha1="e2e9d4d71115899aa38c49292cd21c4c0f9dec6b"/>

View File

@ -7476,7 +7476,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="aaow">
<description>The Ancient Art of War</description>
<year>1984</year>

View File

@ -8963,7 +8963,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="amazon">
<description>Amazon - Guardians of Eden</description>
<year>1992</year>
@ -9703,7 +9703,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="crystalc">
<description>Crystal Caves (1.0a)</description>
<year>1991</year>
@ -10684,7 +10684,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="pharkas">
<description>Freddy Pharkas, Frontier Pharmacist</description>
<year>1993</year>
@ -11687,7 +11687,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="lemmings">
<!-- Dumped via Kryoflux -->
<description>Lemmings</description>
@ -12494,7 +12494,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="pquestvga">
<description>Police Quest in Pursuit of the Death Angel (VGA release)</description>
<year>1992</year>
@ -12800,7 +12800,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="samnmax">
<description>Sam &amp; Max Hit the Road</description>
<year>1993</year>
@ -12932,7 +12932,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="silverb2p">
<description>Silverball 2 Plus</description>
<year>1994</year>
@ -13358,7 +13358,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="trek25th">
<description>Star Trek - 25th Anniversary</description>
<year>1992</year>
@ -13620,7 +13620,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="syndicate">
<description>Syndicate</description>
<year>1993</year>

View File

@ -853,8 +853,8 @@ Info for original games comes from https://web.archive.org/web/20141023024713/mc
<part name="cass1" interface="mc1000_cass">
<!--
<dataarea name="cass" size="702764">
<rom name="aventura.wav" size="702764" crc="82a6263b" sha1="834d9511e22f5c34244923108366201e82b89179"/>
<dataarea name="cass" size="702764">
<rom name="aventura.wav" size="702764" crc="82a6263b" sha1="834d9511e22f5c34244923108366201e82b89179"/>
-->
<dataarea name="cass" size="168558">
<rom name="aventura.wav" size="168558" crc="208c0c8b" sha1="169010d35d4fa3a63cf00f5758717e57fd4754e2"/>
@ -910,8 +910,8 @@ Info for original games comes from https://web.archive.org/web/20141023024713/mc
<part name="cass1" interface="mc1000_cass">
<!--
<dataarea name="cass" size="176812">
<rom name="circulos.wav" size="176812" crc="402caaea" sha1="614201ff32f80c91bf433243bc046eee78e190bf"/>
<dataarea name="cass" size="176812">
<rom name="circulos.wav" size="176812" crc="402caaea" sha1="614201ff32f80c91bf433243bc046eee78e190bf"/>
-->
<dataarea name="cass" size="40350">
<rom name="circulos.wav" size="40350" crc="007a7c30" sha1="0002df62b1b37cd1c3d5b0db3a7a86f733604106"/>
@ -979,8 +979,8 @@ Info for original games comes from https://web.archive.org/web/20141023024713/mc
<part name="cass1" interface="mc1000_cass">
<!--
<dataarea name="cass" size="549964">
<rom name="explosao.wav" size="549964" crc="d231d3af" sha1="a3cce871efa9f8762257ac7ea47c71311f25920f"/>
<dataarea name="cass" size="549964">
<rom name="explosao.wav" size="549964" crc="d231d3af" sha1="a3cce871efa9f8762257ac7ea47c71311f25920f"/>
-->
<dataarea name="cass" size="130822">
<rom name="explosao.wav" size="130822" crc="0b46f290" sha1="821b95bd675097d5ffba1c4c97898d20c9d10bb3"/>

View File

@ -374,7 +374,7 @@ Info on N64 chip labels (from The Cart Scan Repository)
<description>AeroGauge (Europe)</description>
<year>1998</year>
<publisher>ASCII Entertainment</publisher>
<info name="serial" value=" NUS-NAGP-NOE, NUS-NAGP-UKV"/>
<info name="serial" value="NUS-NAGP-NOE, NUS-NAGP-UKV"/>
<part name="cart" interface="n64_cart">
<feature name="pcb" value="NUS-01A-02" />
<feature name="u1" value="U1 [NUS-NAGP-0]" />

View File

@ -6488,11 +6488,11 @@ license:CC0
<!--
ID-0228
Ghostlop (prototype) 1996 Data East Corp.
Ghostlop (location test) 2001 Data East Corp.
NEO-MVS PROGGSC / NEO-MVS CHA256
The location test version uses socketed EPROMs on the PROG board, flash chips on adapter boards for the C ROMs and EPROMs for M1 and S1 on the CHA.
The location test version uses socketed EPROMs on the PROG board, flash chips on adapter boards for the C ROMs and EPROMs for M1 and S1 on the CHA.
It has a piece of cardboard between the 2 boards to avoid shorts because the socketed flash adapter boards are a bit too high and could get shorted with traces on the PROG board.
-->

View File

@ -47339,14 +47339,14 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<feature name="pcb" value="KONAMI-VRC-2" />
<feature name="vrc2-pin3" value="PRG A1" />
<feature name="vrc2-pin4" value="PRG A0" />
<feature name="vrc2-pin21" value ="CHR A10" />
<feature name="vrc2-pin22" value ="CHR A16" />
<feature name="vrc2-pin23" value ="CHR A11" />
<feature name="vrc2-pin24" value ="CHR A13" />
<feature name="vrc2-pin25" value ="CHR A14" />
<feature name="vrc2-pin26" value ="CHR A12" />
<feature name="vrc2-pin27" value ="CHR A15" />
<feature name="vrc2-pin28" value ="NC" />
<feature name="vrc2-pin21" value="CHR A10" />
<feature name="vrc2-pin22" value="CHR A16" />
<feature name="vrc2-pin23" value="CHR A11" />
<feature name="vrc2-pin24" value="CHR A13" />
<feature name="vrc2-pin25" value="CHR A14" />
<feature name="vrc2-pin26" value="CHR A12" />
<feature name="vrc2-pin27" value="CHR A15" />
<feature name="vrc2-pin28" value="NC" />
<dataarea name="chr" size="131072">
<rom name="mad city (japan) (beta).chr" size="131072" crc="028dc0ef" sha1="1212b249bfc2c13e76a337d4ceedc5f78d1d5be6" offset="00000" status="baddump" />
</dataarea>
@ -50292,14 +50292,14 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<feature name="pcb" value="KONAMI-VRC-2" />
<feature name="vrc2-pin3" value="PRG A1" />
<feature name="vrc2-pin4" value="PRG A0" />
<feature name="vrc2-pin21" value ="CHR A10" />
<feature name="vrc2-pin22" value ="CHR A16" />
<feature name="vrc2-pin23" value ="CHR A11" />
<feature name="vrc2-pin24" value ="CHR A13" />
<feature name="vrc2-pin25" value ="CHR A14" />
<feature name="vrc2-pin26" value ="CHR A12" />
<feature name="vrc2-pin27" value ="CHR A15" />
<feature name="vrc2-pin28" value ="NC" />
<feature name="vrc2-pin21" value="CHR A10" />
<feature name="vrc2-pin22" value="CHR A16" />
<feature name="vrc2-pin23" value="CHR A11" />
<feature name="vrc2-pin24" value="CHR A13" />
<feature name="vrc2-pin25" value="CHR A14" />
<feature name="vrc2-pin26" value="CHR A12" />
<feature name="vrc2-pin27" value="CHR A15" />
<feature name="vrc2-pin28" value="NC" />
<dataarea name="chr" size="131072">
<rom name="twinbee 3 - poko poko dai maou (japan) (beta).chr" size="131072" crc="22a2268f" sha1="a930b56984f1bf8cc08050a52a8e2ed2484619cf" offset="00000" status="baddump" />
</dataarea>

View File

@ -11,7 +11,7 @@ NOTE: This list is here only to document available dumps and it's not hooked up
<description>Ballistic</description>
<year>2000</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="ballstic" sha1="92b386f176eecc7d3b1e13675ccaf0b60a543175" />
</diskarea>
@ -22,66 +22,66 @@ NOTE: This list is here only to document available dumps and it's not hooked up
<description>FreeFall 3050 A.D.</description>
<year>200?</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="freefall" sha1="56540609dcdf3d5234a1d045b28cba58ba6adae8" />
</diskarea>
</part>
</software>
<software name="is3">
<description>Iron Soldier 3</description>
<year>2001</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="is3" sha1="47dec1bbb819342cf8bc2fee98fc7b18d1302503" />
</diskarea>
</part>
</software>
<software name="merlinr">
<description>Merlin Racing</description>
<year>200?</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="merlinr" sha1="80116c3c9440492678f8f072c5fabd2cedb3034e" />
</diskarea>
</part>
</software>
<software name="spacinvx">
<description>Space Invaders XL</description>
<year>200?</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="spacinvx" sha1="76518e106ab04819f6b85cc3e1eea08968b7b249" />
</diskarea>
</part>
</software>
<software name="tempest3">
<description>Tempest 3000</description>
<year>200?</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="tempest3" sha1="48e44d3de2642bb7b4fc5a044caf4cb2e8ad5c25" />
</diskarea>
</part>
</software>
<software name="toshsamp">
<description>Toshiba Sampler (11-1-2000)</description>
<year>200?</year>
<publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom">
<part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom">
<disk name="toshsamp" sha1="e312c9cec7f11a4594c1a3340fbcc9f66a65e9b1" />
</diskarea>
</part>
</software>
</softwarelist>

View File

@ -1337,7 +1337,7 @@ license:CC0
<year>1996</year> <!-- 03/96 -->
<publisher>Silicon Graphics</publisher>
<part name="cdrom" interface="cdrom">
<feature name="part_number" value=" 812-0478-001"/>
<feature name="part_number" value="812-0478-001"/>
<!-- Origin: jrra.zone -->
<diskarea name="cdrom">
<disk name="iris_development_option_6_2" sha1="eabaa5238a3515f1c71d693efc2781b4d1675cf9" />
@ -2099,7 +2099,7 @@ license:CC0
<year>1993</year> <!-- 09/93 -->
<publisher>Silicon Graphics</publisher>
<part name="cdrom" interface="cdrom">
<feature name="part_number" value=" 812-0232-002"/>
<feature name="part_number" value="812-0232-002"/>
<!-- Origin: jrra.zone -->
<diskarea name="cdrom">
<disk name="indy_irix_5_1_1" sha1="e041bee239367f926ce0cef0d16830bdbe49ea01" />
@ -2231,7 +2231,7 @@ license:CC0
<publisher>Silicon Graphics</publisher>
<part name="cdrom1" interface="cdrom">
<feature name="part_number" value="812-0469-001"/>
<feature name="part_id" value="IRIX 6.2 part 1 of 2"/>
<feature name="part_id" value="IRIX 6.2 part 1 of 2"/>
<!-- Origin: private dump. Verified SHA1 against a Plextor dump without C2 errors -->
<diskarea name="cdrom">
<disk name="irix_6_2_part_1_of_2" sha1="714ad598cde6a48132005e4728e7e7d18fdbbb1b" />
@ -2246,7 +2246,7 @@ license:CC0
</diskarea>
</part>
</software>
<software name="irix_6_2_a" cloneof="irix_6_2">
<description>IRIX 6.2 with Indigo IMPACT 10000</description>
<year>1996</year>
@ -2325,7 +2325,7 @@ license:CC0
</part>
<part name="cdrom4" interface="cdrom">
<feature name="part_number" value="812-0747-001"/>
<feature name="part_id" value=" IRIX 6.5 Beta Applications"/>
<feature name="part_id" value="IRIX 6.5 Beta Applications"/>
<!-- Origin: jrra.zone -->
<diskarea name="cdrom">
<disk name="irix_6_5_beta_applications" sha1="6640a6b668de811d681bb8b17c16a44d67529c33" />
@ -2357,7 +2357,7 @@ license:CC0
</part>
<part name="cdrom8" interface="cdrom">
<feature name="part_number" value="812-0753-001"/>
<feature name="part_id" value=" IRIX 6.5 Beta O2 Demos"/>
<feature name="part_id" value="IRIX 6.5 Beta O2 Demos"/>
<!-- Origin: jrra.zone -->
<diskarea name="cdrom">
<disk name="irix_6_5_beta_o2_demos" sha1="c954caa735d92dcf4a6aba620c8d7ad44cf3b0bb" />
@ -3337,7 +3337,7 @@ license:CC0
</diskarea>
</part>
<part name="cdrom4" interface="cdrom">
<feature name="part_number" value="812-0877-022 "/>
<feature name="part_number" value="812-0877-022 "/>
<feature name="part_id" value="IRIX 6.5 Applications November 2003"/>
<!-- Origin: archive.org -->
<diskarea name="cdrom">

View File

@ -645,7 +645,7 @@ license:CC0
</software>
<!--
<software name="ledstorm">
<software name="ledstorm">
-->
<!-- SPS (CAPS) release 3585 -->
<!--
@ -1012,7 +1012,7 @@ license:CC0
</software>
<!--
<software name="rockhams">
<software name="rockhams">
-->
<!-- SPS (CAPS) release 3607 -->
<!--
@ -1451,7 +1451,7 @@ license:CC0
</software>
<!--
<software name="tigeroad">
<software name="tigeroad">
-->
<!-- SPS (CAPS) release 3625 -->
<!--

View File

@ -315154,7 +315154,7 @@ license:CC0
</software>
<!-- Project 2612 VGM Archives located at http://project2612.org/list.php
Update May 2, 2020 - 5 new entries -->
Update May 2, 2020 - 5 new entries -->
<software name="joemont2_md">
<description>Joe Montana II - Sports Talk Football (GEN/MD)</description>

View File

@ -800,7 +800,7 @@ Most info on release dates and Jpn titles come from the following (wonderful) re
</part>
</software>
<!-- boot OK, sometimes a line of garbage appear on background during gameplay (happened after continue on stage 3, hard to repro?) -->
<!-- boot OK, sometimes a line of garbage appear on background during gameplay (happened after continue on stage 3, hard to repro?) -->
<!-- old note: has video glitches on first stage, Ajax title logo on background (cannot repro) -->
<software name="ajax" supported="partial">
<description>Ajax</description>
@ -22164,7 +22164,7 @@ sold through Takeru vending machines -->
</part>
</software>
<!-- boot OK -->
<!-- boot OK -->
<!-- some projectiles don't move (cannot repro) -->
<software name="actshoot">
<description>Active Shoot</description>

View File

@ -4440,4 +4440,4 @@ if (MACHINES["SWIM3"]~=null) then
MAME_DIR .. "src/devices/machine/swim3.cpp",
MAME_DIR .. "src/devices/machine/swim3.h",
}
end
end

View File

@ -6,8 +6,8 @@
Implementation of the Apple II IWM controller card
WANTED: there are no ROM dumps from this card in any form
(the IWM card, the UniDisk )
WANTED: there are no ROM dumps from this card in any form
(the IWM card, the UniDisk )
*********************************************************************/

View File

@ -595,7 +595,7 @@ uint8_t epson_lx810l_device::an3_r()
return res - 1; /* DIPSW2.4 */
}
uint8_t epson_lx810l_device::an4_r()
uint8_t epson_lx810l_device::an4_r()
{
return 0xff;
}

View File

@ -149,7 +149,7 @@ private:
// registers
u8 m_cache_controler;
u8 m_cache_pointer;
required_device<ram_device> m_cache_buffer;
required_device<ram_device> m_cache_buffer;
};

View File

@ -6,7 +6,7 @@
Code for emulating the Disto RAM cartridge
This cartridge came in several forms: 256K, 512K, 768K, and 1024K.
This cartridge came in several forms: 256K, 512K, 768K, and 1024K.
***************************************************************************/
@ -53,7 +53,7 @@ namespace
private:
required_device<ram_device> m_staticram;
int m_offset;
int m_offset;
};
};
@ -124,7 +124,7 @@ void coco_pak_ram_device::device_reset()
void coco_pak_ram_device::scs_write(offs_t offset, u8 data)
{
// int idata = data;
// int idata = data;
switch(offset)
{

View File

@ -791,7 +791,7 @@ void ecb_grip21_device::cxstb_w(uint8_t data)
void grip5_state::eprom_w(uint8_t data)
{
membank("eprom")->set_entry(BIT(data, 0));
membank("eprom")->set_entry(BIT(data, 0));
}
@ -801,7 +801,7 @@ void grip5_state::eprom_w(uint8_t data)
void grip5_state::dpage_w(uint8_t data)
{
m_dpage = BIT(data, 7);
m_dpage = BIT(data, 7);
}
*/

View File

@ -23,15 +23,15 @@ DEFINE_DEVICE_TYPE(GRID2101_HDD, grid2101_hdd_device, "grid2101_hdd", "GRID2101_
#include "logmacro.h"
#define GRID2102_FETCH32(Array, Offset) ((uint32_t)(\
(Array[Offset] << 0) |\
(Array[Offset + 1] << 8) |\
(Array[Offset + 2] << 16) |\
(Array[Offset + 3] << 24)\
(Array[Offset] << 0) |\
(Array[Offset + 1] << 8) |\
(Array[Offset + 2] << 16) |\
(Array[Offset + 3] << 24)\
))
#define GRID2102_FETCH16(Array, Offset) ((uint16_t)(\
(Array[Offset] << 0) |\
(Array[Offset + 1] << 8)\
(Array[Offset] << 0) |\
(Array[Offset + 1] << 8)\
))
#define GRID2101_HARDDISK_DEV_ADDR 4
@ -48,268 +48,268 @@ DEFINE_DEVICE_TYPE(GRID2101_HDD, grid2101_hdd_device, "grid2101_hdd", "GRID2101_
#define GRID210X_STATE_WRITING_DATA_WAIT 3
uint8_t grid2102_device::identify_response[56] = {0x00, 0x02, 0xf8, 0x01, 0xD0, 0x02, 0x01, 0x20, 0x01, 0x21, 0x01, 0x01, 0x00, 0x00,
0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46,
0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37,
0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00};
0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46,
0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37,
0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00};
uint8_t grid2101_floppy_device::identify_response[56] = {0x00, 0x02, 0xf8, 0x01, 0xD0, 0x02, 0x01, 0x20, 0x01, 0x21, 0x01, 0x01, 0x00, 0x00,
0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46,
0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37,
0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00};
0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46,
0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37,
0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00};
uint8_t grid2101_hdd_device::identify_response[56] = {
0x00, 0x02, 0xF8, 0x01, 0x8C, 0x51, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4D, 0x41,
0x4D, 0x45, 0x20, 0x48, 0x41, 0x52, 0x44, 0x44, 0x49, 0x53, 0x4B, 0x20, 0x44, 0x52, 0x49, 0x56,
0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x52, 0x49, 0x44, 0x32, 0x31, 0x30, 0x31, 0x00, 0x02,
0x11, 0x00, 0x33, 0x01, 0x00, 0x00, 0x04, 0x00
0x00, 0x02, 0xF8, 0x01, 0x8C, 0x51, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4D, 0x41,
0x4D, 0x45, 0x20, 0x48, 0x41, 0x52, 0x44, 0x44, 0x49, 0x53, 0x4B, 0x20, 0x44, 0x52, 0x49, 0x56,
0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x52, 0x49, 0x44, 0x32, 0x31, 0x30, 0x31, 0x00, 0x02,
0x11, 0x00, 0x33, 0x01, 0x00, 0x00, 0x04, 0x00
};
grid210x_device::grid210x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int bus_addr, uint8_t *identify_response, attotime read_delay)
: device_t(mconfig, type, tag, owner, clock),
device_ieee488_interface(mconfig, *this),
device_image_interface(mconfig, *this),
m_gpib_loop_state(GRID210X_GPIB_STATE_IDLE),
m_floppy_loop_state(GRID210X_STATE_IDLE),
listening(false),
talking(false),
serial_polling(false),
has_srq(false),
serial_poll_byte(0),
bus_addr(bus_addr),
identify_response_ptr(identify_response),
read_delay(read_delay)
device_image_interface(mconfig, *this),
m_gpib_loop_state(GRID210X_GPIB_STATE_IDLE),
m_floppy_loop_state(GRID210X_STATE_IDLE),
listening(false),
talking(false),
serial_polling(false),
has_srq(false),
serial_poll_byte(0),
bus_addr(bus_addr),
identify_response_ptr(identify_response),
read_delay(read_delay)
{
}
void grid210x_device::device_start() {
m_bus->ndac_w(this, 1);
m_bus->nrfd_w(this, 1);
m_delay_timer = timer_alloc(0);
m_bus->ndac_w(this, 1);
m_bus->nrfd_w(this, 1);
m_delay_timer = timer_alloc(0);
}
void grid210x_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) {
if (m_floppy_loop_state == GRID210X_STATE_READING_DATA) {
std::unique_ptr<uint8_t[]> data(new uint8_t[io_size]);
fseek(floppy_sector_number * 512, SEEK_SET);
fread(data.get(), io_size);
for (int i = 0; i < io_size; i++) {
m_output_data_buffer.push(data[i]);
}
serial_poll_byte = 0x0F;
has_srq = true;
m_bus->srq_w(this, 0);
m_floppy_loop_state = GRID210X_STATE_IDLE;
} else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA_WAIT) {
// send an srq as success flag
for (int i = 0; i < 7; i++) { // FIXME:
m_output_data_buffer.push(0);
}
serial_poll_byte = 0x0F;
has_srq = true;
m_bus->srq_w(this, 0);
m_floppy_loop_state = GRID210X_STATE_IDLE;
}
if (m_floppy_loop_state == GRID210X_STATE_READING_DATA) {
std::unique_ptr<uint8_t[]> data(new uint8_t[io_size]);
fseek(floppy_sector_number * 512, SEEK_SET);
fread(data.get(), io_size);
for (int i = 0; i < io_size; i++) {
m_output_data_buffer.push(data[i]);
}
serial_poll_byte = 0x0F;
has_srq = true;
m_bus->srq_w(this, 0);
m_floppy_loop_state = GRID210X_STATE_IDLE;
} else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA_WAIT) {
// send an srq as success flag
for (int i = 0; i < 7; i++) { // FIXME:
m_output_data_buffer.push(0);
}
serial_poll_byte = 0x0F;
has_srq = true;
m_bus->srq_w(this, 0);
m_floppy_loop_state = GRID210X_STATE_IDLE;
}
}
void grid210x_device::ieee488_eoi(int state) {
// logerror("grid210x_device eoi state set to %d\n", state);
// logerror("grid210x_device eoi state set to %d\n", state);
}
void grid210x_device::accept_transfer() {
if (m_floppy_loop_state == GRID210X_STATE_IDLE) {
if (m_data_buffer.size() >= 0xA) {
uint8_t command = m_data_buffer[0];
uint32_t sector_number = GRID2102_FETCH32(m_data_buffer, 3);
uint16_t data_size = GRID2102_FETCH16(m_data_buffer, 7);
LOG("grid210x_device command %u, data size %u, sector no %u\n", (unsigned)command, (unsigned)data_size, (unsigned)sector_number);
(void)(sector_number);
if (command == 0x1) { // ddGetStatus
for (int i = 0; i < 56 && i < data_size; i++) {
m_output_data_buffer.push(identify_response_ptr[i]);
}
} else if (command == 0x4) { // ddRead
floppy_sector_number = sector_number;
io_size = data_size;
m_floppy_loop_state = GRID210X_STATE_READING_DATA;
m_delay_timer->adjust(read_delay);
} else if (command == 0x5) {
floppy_sector_number = sector_number;
io_size = data_size;
m_floppy_loop_state = GRID210X_STATE_WRITING_DATA;
}
} // else something is wrong, ignore
} else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA) {
// write
if (floppy_sector_number != 0xFFFFFFFF) {
fseek(floppy_sector_number * 512, SEEK_SET);
fwrite(m_data_buffer.data(), m_data_buffer.size());
} else {
// TODO: set status
}
// logerror("grid210x_device write sector %d\n", floppy_sector_number);
// wait
m_floppy_loop_state = GRID210X_STATE_WRITING_DATA_WAIT;
m_delay_timer->adjust(read_delay);
}
if (m_floppy_loop_state == GRID210X_STATE_IDLE) {
if (m_data_buffer.size() >= 0xA) {
uint8_t command = m_data_buffer[0];
uint32_t sector_number = GRID2102_FETCH32(m_data_buffer, 3);
uint16_t data_size = GRID2102_FETCH16(m_data_buffer, 7);
LOG("grid210x_device command %u, data size %u, sector no %u\n", (unsigned)command, (unsigned)data_size, (unsigned)sector_number);
(void)(sector_number);
if (command == 0x1) { // ddGetStatus
for (int i = 0; i < 56 && i < data_size; i++) {
m_output_data_buffer.push(identify_response_ptr[i]);
}
} else if (command == 0x4) { // ddRead
floppy_sector_number = sector_number;
io_size = data_size;
m_floppy_loop_state = GRID210X_STATE_READING_DATA;
m_delay_timer->adjust(read_delay);
} else if (command == 0x5) {
floppy_sector_number = sector_number;
io_size = data_size;
m_floppy_loop_state = GRID210X_STATE_WRITING_DATA;
}
} // else something is wrong, ignore
} else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA) {
// write
if (floppy_sector_number != 0xFFFFFFFF) {
fseek(floppy_sector_number * 512, SEEK_SET);
fwrite(m_data_buffer.data(), m_data_buffer.size());
} else {
// TODO: set status
}
// logerror("grid210x_device write sector %d\n", floppy_sector_number);
// wait
m_floppy_loop_state = GRID210X_STATE_WRITING_DATA_WAIT;
m_delay_timer->adjust(read_delay);
}
}
void grid210x_device::ieee488_dav(int state) {
if(state == 0 && m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) {
// read data and wait for transfer end
int atn = m_bus->atn_r() ^ 1;
m_bus->nrfd_w(this, 0);
uint8_t data = m_bus->dio_r() ^ 0xFF;
int eoi = m_bus->eoi_r() ^ 1;
LOG_BYTES("grid210x_device byte recv %02x atn %d eoi %d\n", data, atn, eoi);
m_last_recv_byte = data;
m_last_recv_atn = atn;
m_last_recv_eoi = eoi;
m_bus->ndac_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_DAV_FALSE;
} else if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_DAV_FALSE) {
// restore initial state
// m_bus->ndac_w(this, 0);
m_bus->nrfd_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE;
update_ndac(m_bus->atn_r() ^ 1);
if(state == 0 && m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) {
// read data and wait for transfer end
int atn = m_bus->atn_r() ^ 1;
m_bus->nrfd_w(this, 0);
uint8_t data = m_bus->dio_r() ^ 0xFF;
int eoi = m_bus->eoi_r() ^ 1;
LOG_BYTES("grid210x_device byte recv %02x atn %d eoi %d\n", data, atn, eoi);
m_last_recv_byte = data;
m_last_recv_atn = atn;
m_last_recv_eoi = eoi;
m_bus->ndac_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_DAV_FALSE;
} else if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_DAV_FALSE) {
// restore initial state
// m_bus->ndac_w(this, 0);
m_bus->nrfd_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE;
update_ndac(m_bus->atn_r() ^ 1);
if (m_last_recv_atn) {
if ((m_last_recv_byte & 0xE0) == 0x20) {
if ((m_last_recv_byte & 0x1F) == bus_addr) {
// dev-id = 5
listening = true;
LOG("grid210x_device now listening\n");
} else if((m_last_recv_byte & 0x1F) == 0x1F) {
// reset listen
listening = false;
LOG("grid210x_device now not listening\n");
}
} else if ((m_last_recv_byte & 0xE0) == 0x40) {
if ((m_last_recv_byte & 0x1F) == bus_addr) {
// dev-id = 5
talking = true;
LOG("grid210x_device now talking\n");
} else {
// reset talk
talking = false;
LOG("grid210x_device now not talking\n");
}
} else if (m_last_recv_byte == 0x18) {
// serial poll enable
serial_polling = true;
} else if (m_last_recv_byte == 0x19) {
// serial poll disable
serial_polling = false;
}
} else if (listening) {
m_data_buffer.push_back(m_last_recv_byte);
if (m_last_recv_eoi) {
accept_transfer();
m_data_buffer.clear();
}
}
if (m_last_recv_atn) {
if ((m_last_recv_byte & 0xE0) == 0x20) {
if ((m_last_recv_byte & 0x1F) == bus_addr) {
// dev-id = 5
listening = true;
LOG("grid210x_device now listening\n");
} else if((m_last_recv_byte & 0x1F) == 0x1F) {
// reset listen
listening = false;
LOG("grid210x_device now not listening\n");
}
} else if ((m_last_recv_byte & 0xE0) == 0x40) {
if ((m_last_recv_byte & 0x1F) == bus_addr) {
// dev-id = 5
talking = true;
LOG("grid210x_device now talking\n");
} else {
// reset talk
talking = false;
LOG("grid210x_device now not talking\n");
}
} else if (m_last_recv_byte == 0x18) {
// serial poll enable
serial_polling = true;
} else if (m_last_recv_byte == 0x19) {
// serial poll disable
serial_polling = false;
}
} else if (listening) {
m_data_buffer.push_back(m_last_recv_byte);
if (m_last_recv_eoi) {
accept_transfer();
m_data_buffer.clear();
}
}
if (talking) {
if (serial_polling) {
bool had_srq = has_srq;
if (has_srq) {
has_srq = false;
m_bus->srq_w(this, 1);
}
m_byte_to_send = serial_poll_byte | (had_srq ? 0x40 : 0);
serial_poll_byte = 0;
m_send_eoi = 1;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
} else if (!m_output_data_buffer.empty()) {
m_byte_to_send = m_output_data_buffer.front();
m_output_data_buffer.pop();
m_send_eoi = m_output_data_buffer.empty() ? 1 : 0;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
}
}
}
if (talking) {
if (serial_polling) {
bool had_srq = has_srq;
if (has_srq) {
has_srq = false;
m_bus->srq_w(this, 1);
}
m_byte_to_send = serial_poll_byte | (had_srq ? 0x40 : 0);
serial_poll_byte = 0;
m_send_eoi = 1;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
} else if (!m_output_data_buffer.empty()) {
m_byte_to_send = m_output_data_buffer.front();
m_output_data_buffer.pop();
m_send_eoi = m_output_data_buffer.empty() ? 1 : 0;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
}
}
}
}
void grid210x_device::ieee488_nrfd(int state) {
if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_SEND_DATA_START) {
// set dio and assert dav
m_bus->host_dio_w(m_byte_to_send ^ 0xFF);
m_bus->eoi_w(this, m_send_eoi ^ 1);
m_bus->dav_w(this, 0);
m_bus->ndac_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_NDAC_FALSE;
LOG_BYTES("grid210x_device byte send %02x eoi %d\n", m_byte_to_send, m_send_eoi);
ieee488_ndac(m_bus->ndac_r());
}
// logerror("grid210x_device nrfd state set to %d\n", state);
if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_SEND_DATA_START) {
// set dio and assert dav
m_bus->host_dio_w(m_byte_to_send ^ 0xFF);
m_bus->eoi_w(this, m_send_eoi ^ 1);
m_bus->dav_w(this, 0);
m_bus->ndac_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_NDAC_FALSE;
LOG_BYTES("grid210x_device byte send %02x eoi %d\n", m_byte_to_send, m_send_eoi);
ieee488_ndac(m_bus->ndac_r());
}
// logerror("grid210x_device nrfd state set to %d\n", state);
}
void grid210x_device::ieee488_ndac(int state) {
if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_NDAC_FALSE) {
// restore initial state
// logerror("grid210x_device restore ndac nrfd dav eoi\n");
m_bus->nrfd_w(this, 1);
m_bus->dav_w(this, 1);
m_bus->eoi_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE;
if (serial_polling) {
talking = false;
}
update_ndac(m_bus->atn_r() ^ 1);
if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_NDAC_FALSE) {
// restore initial state
// logerror("grid210x_device restore ndac nrfd dav eoi\n");
m_bus->nrfd_w(this, 1);
m_bus->dav_w(this, 1);
m_bus->eoi_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE;
if (serial_polling) {
talking = false;
}
update_ndac(m_bus->atn_r() ^ 1);
if (!serial_polling && talking && !m_output_data_buffer.empty()) {
m_byte_to_send = m_output_data_buffer.front();
m_output_data_buffer.pop();
m_send_eoi = m_output_data_buffer.empty() ? 1 : 0;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
}
}
// logerror("grid210x_device ndac state set to %d\n", state);
if (!serial_polling && talking && !m_output_data_buffer.empty()) {
m_byte_to_send = m_output_data_buffer.front();
m_output_data_buffer.pop();
m_send_eoi = m_output_data_buffer.empty() ? 1 : 0;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
}
}
// logerror("grid210x_device ndac state set to %d\n", state);
}
void grid210x_device::ieee488_ifc(int state) {
// logerror("grid210x_device ifc state set to %d\n", state);
// logerror("grid210x_device ifc state set to %d\n", state);
}
void grid210x_device::ieee488_srq(int state) {
// logerror("grid210x_device srq state set to %d\n", state);
// logerror("grid210x_device srq state set to %d\n", state);
}
void grid210x_device::ieee488_atn(int state) {
// logerror("grid210x_device atn state set to %d\n", state);
update_ndac(state ^ 1);
// logerror("grid210x_device atn state set to %d\n", state);
update_ndac(state ^ 1);
}
void grid210x_device::update_ndac(int atn) {
if (m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) {
if (atn) {
// pull NDAC low
m_bus->ndac_w(this, 0);
} else {
// pull NDAC high if not listener and low if listener
m_bus->ndac_w(this, listening ? 0 : 1);
}
}
if (m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) {
if (atn) {
// pull NDAC low
m_bus->ndac_w(this, 0);
} else {
// pull NDAC high if not listener and low if listener
m_bus->ndac_w(this, listening ? 0 : 1);
}
}
}
void grid210x_device::ieee488_ren(int state) {
LOG("grid210x_device ren state set to %d\n", state);
LOG("grid210x_device ren state set to %d\n", state);
}
grid2101_hdd_device::grid2101_hdd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: grid210x_device(mconfig, GRID2101_HDD, tag, owner, clock, 4, identify_response, attotime::from_usec(150))
: grid210x_device(mconfig, GRID2101_HDD, tag, owner, clock, 4, identify_response, attotime::from_usec(150))
{
}
grid2101_floppy_device::grid2101_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : grid210x_device(mconfig, GRID2101_FLOPPY, tag, owner, clock, 5, identify_response)
{
}
grid2102_device::grid2102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : grid210x_device(mconfig, GRID2102, tag, owner, clock, 6, identify_response)
{
}

View File

@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev
/***************************************************************************
DEC PC11 paper tape reader and punch controller (punch not implemented)
DEC PC11 paper tape reader and punch controller (punch not implemented)
***************************************************************************/

View File

@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev
/***************************************************************************
DEC PC11 paper tape reader and punch controller (punch not implemented)
DEC PC11 paper tape reader and punch controller (punch not implemented)
***************************************************************************/

View File

@ -54,7 +54,7 @@ private:
class qbus_device : public device_t,
public device_memory_interface,
public device_z80daisy_interface
public device_z80daisy_interface
{
public:
// construction/destruction

View File

@ -84,7 +84,7 @@
V2: D7 BDI ROM_latch (0=enable, 1=disble), D4 - FDC HLT, D3 - SIDE, D0-2 - floppy drive select (bitmask, active low).
V3-V4: D7 BDI ROM_latch (0=enable, 1=disble), D6 - FDC DDEN, D4 - SIDE, D3 - FDC HLT, D2 - FDC /MR (reset), D0-1 - floppy drive select (binary value).
CBI clones: D5 - printer port /STROBE
IO read port 0b1xxxx111 <- D7 - FDC INTRQ, D6 - FDC DRQ
IO read port 0b1xxxx111 <- D7 - FDC INTRQ, D6 - FDC DRQ
IO read/write ports 0b0YYxx111 - access FDC ports YY
So mostly the same as beta128, except for new BDI ROM_latch bit

View File

@ -11,7 +11,7 @@
is moved from 3cxx to 3dxx for example)
TODO:
original ROMs should have bits 0 and 7 swapped
original ROMs should have bits 0 and 7 swapped
there were many unofficial ROMs available for this, make them
available for use.

View File

@ -2,8 +2,8 @@
// copyright-holders:MetalliC
/**********************************************************************
Didaktik D40/D80 disk interface
(C) 1991 Didaktik Scalica
Didaktik D40/D80 disk interface
(C) 1991 Didaktik Scalica
**********************************************************************/

View File

@ -75,7 +75,7 @@ const i960_disassembler::mnemonic_t i960_disassembler::mnem_reg[197] =
{ "notbit", 0x580, -3 }, { "and", 0x581, -3 }, { "andnot", 0x582, -3 }, { "setbit", 0x583, -3 }, // 58
{ "notand", 0x584, -3 }, { "xor", 0x586, -3 }, { "or", 0x587, -3 },
{ "nor", 0x588, -3 }, { "xnor", 0x589, -3 }, { "not", 0x58a, -2 }, { "ornot", 0x58b, -3 },
{ "clrbit", 0x58c, -3 }, { "notor", 0x58d, -3 }, { "nand", 0x58e, -3 }, { "alterbit", 0x58f, -3 },
{ "clrbit", 0x58c, -3 }, { "notor", 0x58d, -3 }, { "nand", 0x58e, -3 }, { "alterbit", 0x58f, -3 },
{ "addo", 0x590, -3 }, { "addi", 0x591, -3 }, { "subo", 0x592, -3 }, { "subi", 0x593, -3 }, // 59
{ "cmpob", 0x594, 2 }, { "cmpib", 0x595, 2 }, { "cmpos", 0x596, 2 }, { "cmpis", 0x597, 2 },
@ -133,7 +133,7 @@ const i960_disassembler::mnemonic_t i960_disassembler::mnem_reg[197] =
{ "cvtri", 0x6c0, -20 }, { "cvtril", 0x6c1, -20 }, { "cvtzri", 0x6c2, -20 }, { "cvtzril", 0x6c3, -20 }, // 6c
{ "movr", 0x6c9, -20 },
{ "movrl", 0x6d9, -20 }, // 6d
{ "movre", 0x6e1, -20 }, { "cpysre", 0x6e2, -30 }, { "cpyrsre", 0x6e3, -30 }, // 6e
@ -241,7 +241,7 @@ offs_t i960_disassembler::dis_decode_cobr(std::ostream &stream, u32 iCode, u32 i
switch(cnt)
{
case 1: // 1 operand (test*)
// For the test-if instructions, only the srcl field is used. Here, this field specifies a destination global or local register (ml is ignored).
// For the test-if instructions, only the srcl field is used. Here, this field specifies a destination global or local register (ml is ignored).
util::stream_format(stream, "%-8s%s", mnemonic[op].mnem, regnames[src1]);
break;
case 3: // 3 operands

View File

@ -11,8 +11,8 @@
Currently implementation is similar to single stepping
with single cycle
- Implement and acknowlodge remain registers;
- Improve delay slot display in debugger (highlight current instruction
doesn't work but instruction hook does);
- Improve delay slot display in debugger (highlight current instruction
doesn't work but instruction hook does);
***************************************************************************/
@ -265,7 +265,7 @@ void jaguar_cpu_device::check_irqs()
latch &= mask;
if (latch == 0)
return;
/* determine which interrupt */
for (int i = 0; i < 6; i++)
if (latch & (1 << i))
@ -371,7 +371,7 @@ void jaguar_cpu_device::device_start()
save_item(NAME(m_imask));
save_item(NAME(m_div_remainder));
save_item(NAME(m_div_offset));
save_item(NAME(m_io_end));
save_item(NAME(m_io_pc));
save_item(NAME(m_io_status));
@ -1292,10 +1292,10 @@ void jaguar_cpu_device::io_common_map(address_map &map)
map(0x00, 0x03).rw(FUNC(jaguar_cpu_device::flags_r), FUNC(jaguar_cpu_device::flags_w));
map(0x04, 0x07).w(FUNC(jaguar_cpu_device::matrix_control_w));
map(0x08, 0x0b).w(FUNC(jaguar_cpu_device::matrix_address_w));
// map(0x0c, 0x0f) endian
// map(0x0c, 0x0f) endian
map(0x10, 0x13).w(FUNC(jaguar_cpu_device::pc_w));
map(0x14, 0x17).rw(FUNC(jaguar_cpu_device::status_r), FUNC(jaguar_cpu_device::control_w));
// map(0x18, 0x1b) implementation specific
// map(0x18, 0x1b) implementation specific
map(0x1c, 0x1f).rw(FUNC(jaguar_cpu_device::div_remainder_r), FUNC(jaguar_cpu_device::div_control_w));
}
@ -1327,11 +1327,11 @@ void jaguar_cpu_device::flags_w(offs_t offset, u32 data, u32 mem_mask)
// clear imask only on bit 3 clear (1 has no effect)
if ((m_flags & 0x08) == 0)
m_imask = false;
// update int latch & mask
m_int_mask = (m_flags >> 4) & 0x1f;
m_int_latch &= ~((m_flags >> 9) & 0x1f);
// TODO: move to specific handler
if (m_isdsp)
{
@ -1370,11 +1370,11 @@ void jaguar_cpu_device::pc_w(offs_t offset, u32 data, u32 mem_mask)
/*
* Data Organization Register
* Note: The canonical way to set this up from 68k is $00070007,
* Note: The canonical way to set this up from 68k is $00070007,
* so that Power-On endianness doesn't matter. 1=Big Endian
* ---- -x-- Instruction endianness
* ---- --x- Pixel endianness (GPU only)
* ---- ---x I/O endianness
* ---- ---x I/O endianness
*/
// TODO: just log if anything farts for now, change to bit struct once we have something to test out
void jaguar_cpu_device::end_w(offs_t offset, u32 data, u32 mem_mask)
@ -1400,7 +1400,7 @@ void jaguardsp_cpu_device::dsp_end_w(offs_t offset, u32 data, u32 mem_mask)
* y ---- -xxx xx-- ---- interrupt latch (y is DSP specific) (r/o)
* - ---- ---- --0- ---- <unused>
* - ---- ---- ---x x--- single step regs
* - ---- ---- ---- -x-- GPUINT0 or DSPINT0
* - ---- ---- ---- -x-- GPUINT0 or DSPINT0
* - ---- ---- ---- --x- Host interrupt (w/o)
* - ---- ---- ---- ---x GPUGO or DSPGO flag
*
@ -1428,19 +1428,19 @@ void jaguar_cpu_device::control_w(offs_t offset, u32 data, u32 mem_mask)
bool new_go = BIT(m_io_status, 0);
if (new_go != m_go)
go_w(new_go);
if (BIT(m_io_status, 1))
m_cpu_interrupt(ASSERT_LINE);
// TODO: following does nothing if set by itself, or acts as a trap?
if (BIT(m_io_status, 2))
{
m_int_latch |= 1;
check_irqs();
}
// TODO: single step handling
m_bus_hog = BIT(m_io_status, 11);
// TODO: protect/protectse uses this, why?
if (m_bus_hog == true)

View File

@ -82,7 +82,7 @@ protected:
// device_state_interface overrides
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
// I/Os (common)
u32 flags_r();
void flags_w(offs_t offset, u32 data, u32 mem_mask = ~0);
@ -243,7 +243,7 @@ protected:
u32 m_io_status;
u32 m_io_mtxc;
u32 m_io_mtxa;
u32 m_pc;
u32 m_flags;
bool m_imask;
@ -256,7 +256,7 @@ protected:
bool m_bus_hog;
u32 m_div_remainder;
bool m_div_offset;
// GPU specific
u32 m_hidata;
static const op_func gpu_op_table[64];

View File

@ -43,7 +43,7 @@ void m6502_device::device_start()
}
void m6502_device::init()
{
{
space(AS_PROGRAM).cache(mintf->cprogram);
space(has_space(AS_OPCODES) ? AS_OPCODES : AS_PROGRAM).cache(mintf->csprogram);
if(space(AS_PROGRAM).addr_width() > 14)

View File

@ -6,16 +6,16 @@
AMD Am2901B / Am2901C
Four-Bit Bipolar Microprocessor Slice
To Do:
- Opcode hookup
- Verification
To Do:
- Opcode hookup
- Verification
***************************************************************************/
#include "emu.h"
#include "am2901b.h"
#define VERBOSE (1)
#define VERBOSE (1)
#include "logmacro.h"
/*****************************************************************************/
@ -225,4 +225,4 @@ void am2901b_device::disassemble()
snprintf(dasm_buf + buf_idx, ARRAY_LENGTH(dasm_buf) - 12, "%c,%c", s_r_table[m_i & 7], s_s_table[m_i & 7]);
LOG("%s: %s\n", machine().describe_context(), dasm_buf);
}
}

View File

@ -212,10 +212,10 @@ void sunplus_gcm394_base_device::trigger_systemm_dma(int channel)
// what is it waiting for when we need these? (needed on some service mode screens)
//if (mem.read_word(0x3f368) == 0x4840)
// mem.write_word(0x3f368, 0x4841); // cars 2 IRQ? wait hack
// mem.write_word(0x3f368, 0x4841); // cars 2 IRQ? wait hack
//if (mem.read_word(0x4d8d4) == 0x4840)
// mem.write_word(0x4d8d4, 0x4841); // golden tee IRQ? wait hack
// mem.write_word(0x4d8d4, 0x4841); // golden tee IRQ? wait hack
// clear params after operation

View File

@ -373,7 +373,7 @@ uint32_t gcm394_base_video_device::screen_update(screen_device &screen, bitmap_r
}
//const uint16_t bgcol = 0x7c1f; // magenta
// const uint16_t bgcol = 0x0000; // black
// const uint16_t bgcol = 0x0000; // black
bool highres;
if (m_707f & 0x0010)
{
@ -390,7 +390,7 @@ uint32_t gcm394_base_video_device::screen_update(screen_device &screen, bitmap_r
const uint32_t sprites_addr = (m_sprite_702d_gfxbase_msb << 16) | m_sprite_7022_gfxbase_lsb;
for (uint32_t scanline = (uint32_t)cliprect.min_y; scanline <= (uint32_t)cliprect.max_y; scanline++)
{
m_renderer->new_line(cliprect);
@ -1054,7 +1054,7 @@ void gcm394_base_video_device::palette_w(offs_t offset, uint16_t data)
{
offset |= (m_703a_palettebank & 0x000c) << 6;
m_paletteram[offset] = data;
// for debug
m_palette->set_pen_color(offset, rgb_t(
(((data >> 10) & 0x1f)<<3),

View File

@ -81,8 +81,8 @@ void i80130_device::io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
//-------------------------------------------------
//ROM_START( i80130 )
// ROM_REGION16_LE( 0x4000, "rom", 0 )
// ROM_LOAD( "80130", 0x0000, 0x4000, NO_DUMP )
// ROM_REGION16_LE( 0x4000, "rom", 0 )
// ROM_LOAD( "80130", 0x0000, 0x4000, NO_DUMP )
//ROM_END
@ -92,7 +92,7 @@ void i80130_device::io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
//const tiny_rom_entry *i80130_device::device_rom_region() const
//{
// return ROM_NAME( i80130 );
// return ROM_NAME( i80130 );
//}

View File

@ -367,7 +367,7 @@ void iwm_device::sync()
break;
}
m_rsh = (m_rsh << 1) | (m_rw_state == SR_WINDOW_EDGE_1 ? 1 : 0);
m_next_state_change = m_last_sync = endw;
m_next_state_change = m_last_sync = endw;
m_rw_state = SR_WINDOW_EDGE_0;
if(is_sync()) {
if(m_rsh >= 0x80) {

View File

@ -34,7 +34,7 @@
#define LOG_DEBUG (1U << 2)
//#define LOG_MASK (LOG_GENERAL | LOG_DEV_CALLS | LOG_DEBUG)
#define LOG_MASK (0)
#define LOG_MASK (0)
#define LOGDEVCALLS(...) LOGMASKED(LOG_DEV_CALLS, __VA_ARGS__)
#define LOGDEBUG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__)
@ -870,7 +870,7 @@ void netlist_mame_stream_output_device::process(netlist::netlist_time_ext tim, n
int pos = (tim - m_last_buffer_time) / m_sample_time;
//if (pos > m_bufsize)
// throw emu_fatalerror("sound %s: pos %d exceeded bufsize %d\n", name().c_str(), pos, m_bufsize);
// throw emu_fatalerror("sound %s: pos %d exceeded bufsize %d\n", name().c_str(), pos, m_bufsize);
while (m_buffer.size() < pos )
{
m_buffer.push_back(static_cast<stream_sample_t>(m_cur));
@ -1375,7 +1375,7 @@ void netlist_mame_sound_device::device_start()
void netlist_mame_sound_device::nl_register_devices(netlist::nlparse_t &parser) const
{
//parser.factory().add<nld_sound_out>("NETDEV_SOUND_OUT",
// netlist::factory::properties("+CHAN", PSOURCELOC()));
// netlist::factory::properties("+CHAN", PSOURCELOC()));
parser.factory().add<nld_sound_in>("NETDEV_SOUND_IN",
netlist::factory::properties("-", PSOURCELOC()));
}

View File

@ -3086,7 +3086,7 @@ void S3C24_CLASS_NAME::s3c24xx_nand_w(offs_t offset, uint32_t data, uint32_t mem
}
}
ATTR_UNUSED WRITE_LINE_MEMBER( S3C24_CLASS_NAME::s3c24xx_pin_frnb_w )
ATTR_UNUSED WRITE_LINE_MEMBER( S3C24_CLASS_NAME::s3c24xx_pin_frnb_w )
{
LOGMASKED(LOG_FLASH, "s3c24xx_pin_frnb_w (%d)\n", state);
#if defined(DEVICE_S3C2440)

View File

@ -32,7 +32,7 @@ TODO:
#define LOG_MMU (1 << 5)
#define LOG_IRQS (1 << 6)
#define LOG_UNKNOWN (1 << 7)
#define LOG_MORE_UART (1 << 8)
#define LOG_MORE_UART (1 << 8)
#define LOG_ALL (LOG_I2C | LOG_UART | LOG_TIMERS | LOG_DMA | LOG_MMU | LOG_IRQS | LOG_UNKNOWN)
#define VERBOSE (0)

View File

@ -27,7 +27,7 @@ DEFINE_DEVICE_TYPE(SPG28X_IO, spg28x_io_device, "spg28x_io", "SPG280-series Syst
#define LOG_EXT_MEM (1U << 27)
#define LOG_EXTINT (1U << 28)
#define LOG_SPI (1U << 29)
#define LOG_ADC (1U << 30)
#define LOG_ADC (1U << 30)
#define LOG_IO (LOG_IO_READS | LOG_IO_WRITES | LOG_IRQS | LOG_GPIO | LOG_UART | LOG_I2C | LOG_TIMERS | LOG_EXTINT | LOG_UNKNOWN_IO | LOG_SPI | LOG_ADC)
#define LOG_ALL (LOG_IO | LOG_VLINES | LOG_SEGMENT | LOG_WATCHDOG | LOG_FIQ | LOG_SIO | LOG_EXT_MEM | LOG_ADC)
@ -1655,7 +1655,7 @@ void spg2xx_io_device::check_irqs(const uint16_t changed)
if (changed & 0x0c00) // Timer A, Timer B IRQ
{
LOGMASKED(LOG_TIMERS, "%ssserting IRQ2 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00), changed);
if (m_timer_irq_cb)
m_timer_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00) ? ASSERT_LINE : CLEAR_LINE);
else
@ -1693,7 +1693,7 @@ void spg2xx_io_device::check_irqs(const uint16_t changed)
if (changed & 0x008b) // TMB1, TMB2, 4Hz, key change IRQ
{
LOGMASKED(LOG_IRQS, "%ssserting IRQ7 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b), changed);
if (m_ffreq_tmr2_irq_cb)
if (m_ffreq_tmr2_irq_cb)
m_ffreq_tmr2_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b) ? ASSERT_LINE : CLEAR_LINE);
else
logerror("spg2xx_io_device::check_irqs, attempted to use m_ffreq_tmr2_irq_cb without setting it\n");

View File

@ -104,7 +104,7 @@ uint32_t spg2xx_video_device::screen_update(screen_device &screen, bitmap_rgb32
const uint32_t page1_addr = 0x40 * m_video_regs[0x20];
const uint32_t page2_addr = 0x40 * m_video_regs[0x21];
const uint32_t sprite_addr = 0x40 * m_video_regs[0x22];
uint16_t *page1_scroll = m_video_regs + 0x10;
uint16_t *page2_scroll = m_video_regs + 0x16;
uint16_t *page1_regs = m_video_regs + 0x12;

View File

@ -60,7 +60,7 @@ void spg_renderer_device::device_reset()
m_video_regs_1e = 0x0000;
m_video_regs_2a = 0x0000;
m_video_regs_30 = 0x0000;
m_video_regs_3c = 0x0020;
@ -140,8 +140,8 @@ void spg_renderer_device::draw_tilestrip(bool read_from_csspace, uint32_t screen
{
m_linebuf[realdrawpos] = (mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 10) & 0x1f, (rgb >> 10) & 0x1f, blendlevel) << 10) |
(mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 5) & 0x1f, (rgb >> 5) & 0x1f, blendlevel) << 5) |
(mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 0) & 0x1f, (rgb >> 0) & 0x1f, blendlevel) << 0);
(mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 5) & 0x1f, (rgb >> 5) & 0x1f, blendlevel) << 5) |
(mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 0) & 0x1f, (rgb >> 0) & 0x1f, blendlevel) << 0);
}
else
{
@ -158,7 +158,7 @@ void spg_renderer_device::draw_linemap(bool has_extended_tilemaps, const rectang
if (has_extended_tilemaps)
{
uint32_t ctrl = tilemapregs[1];
if (0)
{
if (ctrl & 0x0010)
@ -350,7 +350,7 @@ void spg_renderer_device::update_vcmp_table()
{
m_ycmp_table[i] = currentline;
}
counter += current_inc_value;
while (counter >= (0x20<<4))
@ -417,7 +417,7 @@ void spg_renderer_device::draw_page(bool read_from_csspace, bool has_extended_ti
{
// used by senspeed
//if (m_video_regs_1e != 0x0000)
// popmessage("vertical compression mode with non-0 step amount %04x offset %04x step %04x\n", m_video_regs_1c, m_video_regs_1d, m_video_regs_1e);
// popmessage("vertical compression mode with non-0 step amount %04x offset %04x step %04x\n", m_video_regs_1c, m_video_regs_1d, m_video_regs_1e);
logical_scanline = m_ycmp_table[scanline];
if (logical_scanline == 0xffffffff)
@ -428,7 +428,7 @@ void spg_renderer_device::draw_page(bool read_from_csspace, bool has_extended_ti
uint32_t y_mask;
uint32_t screenwidth;
if (read_from_csspace && (attr & 0x8000)) // is this only available in high res mode, or always?
{
// just a guess based on this being set on the higher resolution tilemaps we've seen, could be 100% incorrect register
@ -617,7 +617,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
uint32_t screenwidth = 320;
// uint32_t screenheight = 240;
// uint32_t screenheight = 240;
uint32_t screenheight = 256;
uint32_t xmask = 0x1ff;
uint32_t ymask = 0x1ff;
@ -625,7 +625,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
if (highres)
{
screenwidth = 640;
// screenheight = 480;
// screenheight = 480;
screenheight = 512;
xmask = 0x3ff;
ymask = 0x3ff;
@ -637,7 +637,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
if (!(m_video_regs_42 & 0x0002))
{
x = ((screenwidth/2) + x) - tile_w / 2;
// y = ((screenheight/2) - y) - (tile_h / 2) + 8;
// y = ((screenheight/2) - y) - (tile_h / 2) + 8;
y = ((screenheight/2) - y) - (tile_h / 2);
}
@ -656,7 +656,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
uint8_t blendlevel = (m_video_regs_2a & 3) << 3;
uint32_t words_per_tile;
// good for gormiti, smartfp, wrlshunt, paccon, jak_totm, jak_s500, jak_gtg
if (has_extended_sprites && ((m_video_regs_42 & 0x0010) == 0x10))
{
@ -682,7 +682,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
bool flip_y = (attr & 0x0008);
// various games don't want the flip bits in the usual place, wrlshunt for example, there's probably a bit to control this
// and likewise these bits probably now have a different meaning, so this shouldn't be trusted
if (has_extended_sprites)
@ -693,9 +693,9 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
flip_y = 0;
}
}
uint32_t palette_offset = (attr & 0x0f00) >> 4;
if (has_extended_sprites)
{
// guess, tkmag220 / myac220 don't set this bit and expect all sprite palettes to be from the same bank as background palettes

View File

@ -78,9 +78,9 @@ protected:
inline void draw_tilestrip(bool read_from_csspace, uint32_t screenwidth, uint32_t drawwidthmask, spg_renderer_device::blend_enable_t blend, spg_renderer_device::flipx_t flip_x, const rectangle& cliprect, uint32_t tile_h, uint32_t tile_w, uint32_t tilegfxdata_addr, uint32_t tile, uint32_t tile_scanline, int drawx, bool flip_y, uint32_t palette_offset, const uint32_t nc_bpp, const uint32_t bits_per_row, const uint32_t words_per_tile, address_space& spc, uint16_t* paletteram, uint8_t blendlevel);
inline void draw_sprite(bool read_from_csspace, bool has_extended_sprites, bool alt_extrasprite_hack, uint32_t palbank, bool highres, const rectangle& cliprect, uint32_t scanline, int priority, uint32_t spritegfxdata_addr, uint32_t base_addr, address_space& spc, uint16_t* paletteram, uint16_t* spriteram);
inline void draw_linemap(bool has_extended_tilemaps, const rectangle& cliprect, uint32_t scanline, int priority, uint32_t tilegfxdata_addr, uint16_t* scrollregs, uint16_t* tilemapregs, address_space& spc, uint16_t* paletteram);
inline uint8_t mix_channel(uint8_t a, uint8_t b, uint8_t alpha);
uint8_t m_rgb5_to_rgb8[32];

View File

@ -33,15 +33,15 @@ DEFINE_DEVICE_TYPE(SUN4C_MMU, sun4c_mmu_device, "sun4c_mmu", "Sun 4c MMU")
#define LOG_TYPE1_TIMEOUT (1U << 12)
#define LOG_UNKNOWN_SPACE (1U << 13)
#define LOG_WRITE_PROTECT (1U << 14)
#define LOG_READ_PROTECT (1U << 15)
#define LOG_READ_PROTECT (1U << 15)
#define LOG_PARITY (1U << 16)
#define LOG_ALL_ASI (1U << 17) // WARNING: Heavy!
#define LOG_UNKNOWN_ASI (1U << 18)
#define LOG_SEGMENT_FLUSH (1U << 19)
#define LOG_PAGE_FLUSH (1U << 20)
#define LOG_CONTEXT_FLUSH (1U << 21)
#define LOG_CACHE_FILLS (1U << 22)
#define LOG_PAGE_ENTRIES (1U << 23)
#define LOG_UNKNOWN_ASI (1U << 18)
#define LOG_SEGMENT_FLUSH (1U << 19)
#define LOG_PAGE_FLUSH (1U << 20)
#define LOG_CONTEXT_FLUSH (1U << 21)
#define LOG_CACHE_FILLS (1U << 22)
#define LOG_PAGE_ENTRIES (1U << 23)
#if SUN4CMMU_LOG_MEM_ACCESSES
static FILE* s_mem_log = nullptr;

View File

@ -15,7 +15,7 @@
#include "machine/ram.h"
#include "machine/z80scc.h"
#define SUN4CMMU_LOG_MEM_ACCESSES (0)
#define SUN4CMMU_LOG_MEM_ACCESSES (0)
class sun4_mmu_base_device : public device_t, public sparc_mmu_interface
{

View File

@ -33,7 +33,7 @@ void swim1_device::device_reset()
m_param_idx = 0;
memset(m_param, 0, sizeof(m_param));
m_floppy = nullptr;
m_devsel_cb(0);
m_sel35_cb(true);
m_hdsel_cb(false);
@ -86,7 +86,7 @@ u8 swim1_device::read(offs_t offset)
u8 r = m_param[m_param_idx];
m_param_idx = (m_param_idx + 1) & 15;
return r;
}
}
case 0x4: case 0xc:
return m_phases;
case 0x5: case 0xd:
@ -122,7 +122,7 @@ void swim1_device::write(offs_t offset, u8 data)
m_param[m_param_idx] = data;
m_param_idx = (m_param_idx + 1) & 3;
break;
}
}
case 0x4: {
m_phases = data;
update_phases();

View File

@ -35,7 +35,7 @@ void swim2_device::device_reset()
m_param_idx = 0;
memset(m_param, 0, sizeof(m_param));
m_floppy = nullptr;
m_devsel_cb(0);
m_sel35_cb(true);
m_hdsel_cb(false);
@ -88,7 +88,7 @@ u8 swim2_device::read(offs_t offset)
u8 r = m_param[m_param_idx];
m_param_idx = (m_param_idx + 1) & 15;
return r;
}
}
case 0x4: case 0xc:
return m_phases;
case 0x5: case 0xd:
@ -124,7 +124,7 @@ void swim2_device::write(offs_t offset, u8 data)
m_param[m_param_idx] = data;
m_param_idx = (m_param_idx + 1) & 3;
break;
}
}
case 0x4: {
m_phases = data;
update_phases();

View File

@ -33,7 +33,7 @@ void swim3_device::device_reset()
m_param_idx = 0;
memset(m_param, 0, sizeof(m_param));
m_floppy = nullptr;
m_devsel_cb(0);
m_sel35_cb(true);
m_hdsel_cb(false);
@ -86,7 +86,7 @@ u8 swim3_device::read(offs_t offset)
u8 r = m_param[m_param_idx];
m_param_idx = (m_param_idx + 1) & 15;
return r;
}
}
case 0x4: case 0xc:
return m_phases;
case 0x5: case 0xd:
@ -122,7 +122,7 @@ void swim3_device::write(offs_t offset, u8 data)
m_param[m_param_idx] = data;
m_param_idx = (m_param_idx + 1) & 3;
break;
}
}
case 0x4: {
m_phases = data;
update_phases();

View File

@ -419,7 +419,7 @@ void c219_device::sound_stream_update(sound_stream &stream, stream_sample_t **in
if (ch_noise(v)) // noise
{
m_lfsr = (m_lfsr >> 1) ^ ((-(m_lfsr & 1)) & 0xfff6);
m_lfsr = (m_lfsr >> 1) ^ ((-(m_lfsr & 1)) & 0xfff6);
lastdt = s16(m_lfsr);
}
else

View File

@ -1,19 +1,19 @@
// license:BSD-3-Clause
// copyright-holders:Alex Marshall,nimitz,austere
/*
ICS2115 by Raiden II team (c) 2010
members: austere, nimitz, Alex Marshal
ICS2115 by Raiden II team (c) 2010
members: austere, nimitz, Alex Marshal
Original driver by O. Galibert, ElSemi
Original driver by O. Galibert, ElSemi
Use tab size = 4 for your viewing pleasure.
Use tab size = 4 for your viewing pleasure.
TODO:
- Implement Panning, Chip has support stereo
- Verify BYTE/ROMEN pin behaviors
- DRAM, DMA, MIDI interface is unimplemented
- Verify interrupt, envelope, timer period
- Verify unemulated registers
TODO:
- Implement Panning, Chip has support stereo
- Verify BYTE/ROMEN pin behaviors
- DRAM, DMA, MIDI interface is unimplemented
- Verify interrupt, envelope, timer period
- Verify unemulated registers
*/
#include "emu.h"

View File

@ -150,8 +150,8 @@ private:
bool m_irq_on;
/*
Unknown variable, seems to be effected by 0x12. Further investigation
Required.
Unknown variable, seems to be effected by 0x12. Further investigation
Required.
*/
u8 m_vmode;
};

View File

@ -65,21 +65,21 @@ static constexpr int CLOCKS_PER_SAMPLE = 64;
// device type definition
DEFINE_DEVICE_TYPE(K053260, k053260_device, "k053260", "K053260 KDSC")
;
;
// Pan multipliers. Set according to integer angles in degrees, amusingly.
// Exact precision hard to know, the floating point-ish output format makes
// comparisons iffy. So we used a 1.16 format.
const int k053260_device::pan_mul[8][2] = {
{ 0, 0 }, // No sound for pan 0
{ 65536, 0 }, // 0 degrees
{ 59870, 26656 }, // 24 degrees
{ 53684, 37950 }, // 35 degrees
{ 46341, 46341 }, // 45 degrees
{ 37950, 53684 }, // 55 degrees
{ 26656, 59870 }, // 66 degrees
{ 0, 65536 } // 90 degrees
{ 0, 0 }, // No sound for pan 0
{ 65536, 0 }, // 0 degrees
{ 59870, 26656 }, // 24 degrees
{ 53684, 37950 }, // 35 degrees
{ 46341, 46341 }, // 45 degrees
{ 37950, 53684 }, // 55 degrees
{ 26656, 59870 }, // 66 degrees
{ 0, 65536 } // 90 degrees
};

View File

@ -141,7 +141,7 @@ void debugger_console::execute_help_custom(int ref, const std::vector<std::strin
}
/*------------------------------------------------------------
execute_condump - execute the condump command
execute_condump - execute the condump command
------------------------------------------------------------*/
void debugger_console::execute_condump(int ref, const std::vector<std::string>& params)
@ -584,8 +584,8 @@ std::string debugger_console::cmderr_to_string(CMDERR error)
/*-------------------------------------------------
print_core - write preformatted text
to the debug console
print_core - write preformatted text
to the debug console
-------------------------------------------------*/
void debugger_console::print_core(const char *text)
@ -597,8 +597,8 @@ void debugger_console::print_core(const char *text)
}
/*-------------------------------------------------
print_core_wrap - write preformatted text
to the debug console, with wrapping
print_core_wrap - write preformatted text
to the debug console, with wrapping
-------------------------------------------------*/
void debugger_console::print_core_wrap(const char *text, int wrapcol)

View File

@ -318,8 +318,8 @@ text_buffer_lines text_buffer_get_lines(text_buffer* text)
}
/*---------------------------------------------------------------------
text_buffer_lines::text_buffer_line_iterator::operator*
Gets the line that the iterator currently points to.
text_buffer_lines::text_buffer_line_iterator::operator*
Gets the line that the iterator currently points to.
-----------------------------------------------------------------------*/
text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const
@ -331,7 +331,7 @@ text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const
next_lineptr = 0;
const char* nextline = &m_buffer.buffer[m_buffer.lineoffs[next_lineptr]];
/* -1 for the '\0' at the end of line */
ptrdiff_t difference = (nextline - line) - 1;
@ -343,8 +343,8 @@ text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const
}
/*---------------------------------------------------------------------
text_buffer_lines::text_buffer_line_iterator::operator++
Moves to the next line.
text_buffer_lines::text_buffer_line_iterator::operator++
Moves to the next line.
-----------------------------------------------------------------------*/
text_buffer_lines::text_buffer_line_iterator& text_buffer_lines::text_buffer_line_iterator::operator++()
@ -356,8 +356,8 @@ text_buffer_lines::text_buffer_line_iterator& text_buffer_lines::text_buffer_lin
}
/*------------------------------------------------------
text_buffer_lines::begin()
Returns an iterator that points to the first line.
text_buffer_lines::begin()
Returns an iterator that points to the first line.
--------------------------------------------------------*/
text_buffer_lines::iterator text_buffer_lines::begin() const
@ -366,8 +366,8 @@ text_buffer_lines::iterator text_buffer_lines::begin() const
}
/*-----------------------------------------------------------
text_buffer_lines::begin()
Returns an iterator that points just past the last line.
text_buffer_lines::begin()
Returns an iterator that points just past the last line.
-------------------------------------------------------------*/
text_buffer_lines::iterator text_buffer_lines::end() const

View File

@ -21,49 +21,49 @@ struct text_buffer;
struct text_buffer_line
{
const char *text;
size_t length;
const char *text;
size_t length;
};
/* helper class that makes it possible to iterate over the lines of a text_buffer */
class text_buffer_lines
{
private:
text_buffer& m_buffer;
text_buffer& m_buffer;
public:
text_buffer_lines(text_buffer& buffer) : m_buffer(buffer) { }
text_buffer_lines(text_buffer& buffer) : m_buffer(buffer) { }
class text_buffer_line_iterator
{
text_buffer& m_buffer;
s32 m_lineptr;
public:
text_buffer_line_iterator(text_buffer& buffer, s32 lineptr) :
m_buffer(buffer),
m_lineptr(lineptr)
{
}
class text_buffer_line_iterator
{
text_buffer& m_buffer;
s32 m_lineptr;
public:
text_buffer_line_iterator(text_buffer& buffer, s32 lineptr) :
m_buffer(buffer),
m_lineptr(lineptr)
{
}
/* technically this isn't a valid forward iterator, because
* operator * doesn't return a reference
*/
text_buffer_line operator *() const;
text_buffer_line_iterator& operator ++();
/* technically this isn't a valid forward iterator, because
* operator * doesn't return a reference
*/
text_buffer_line operator *() const;
text_buffer_line_iterator& operator ++();
bool operator != (const text_buffer_line_iterator& rhs)
{
return m_lineptr != rhs.m_lineptr;
}
/* according to C++ spec, only != is needed; == is present for completeness. */
bool operator == (const text_buffer_line_iterator& rhs) { return !(operator !=(rhs)); }
};
bool operator != (const text_buffer_line_iterator& rhs)
{
return m_lineptr != rhs.m_lineptr;
}
/* according to C++ spec, only != is needed; == is present for completeness. */
bool operator == (const text_buffer_line_iterator& rhs) { return !(operator !=(rhs)); }
};
typedef text_buffer_line_iterator iterator;
typedef text_buffer_line_iterator const iterator_const;
typedef text_buffer_line_iterator iterator;
typedef text_buffer_line_iterator const iterator_const;
iterator begin() const;
iterator end() const;
iterator begin() const;
iterator end() const;
};
/***************************************************************************

View File

@ -15,8 +15,8 @@ template<int AddrWidth, int DataWidth, int AddrShift, endianness_t Endian>
void device_rom_interface<AddrWidth, DataWidth, AddrShift, Endian>::override_address_width(u8 width)
{
// cach does not need level match, only specific does at this point
// if(emu::detail::handler_entry_dispatch_level(AddrWidth) != emu::detail::handler_entry_dispatch_level(width))
// emu_fatalerror("%s: Widths %d and %d are incompatible", device().tag(), width, AddrWidth);
// if(emu::detail::handler_entry_dispatch_level(AddrWidth) != emu::detail::handler_entry_dispatch_level(width))
// emu_fatalerror("%s: Widths %d and %d are incompatible", device().tag(), width, AddrWidth);
m_rom_config.m_addr_width = width;
}

View File

@ -1941,7 +1941,7 @@ private:
template<int Width, int AddrShift, endianness_t Endian>
typename emu::detail::handler_entry_size<Width>::uX
typename emu::detail::handler_entry_size<Width>::uX
emu::detail::memory_access_cache<Width, AddrShift, Endian>::
read_native(offs_t address, typename emu::detail::handler_entry_size<Width>::uX mask)
{

View File

@ -23,7 +23,7 @@ template<int Width, int AddrShift, endianness_t Endian> std::string handler_entr
}
template<int Width, int AddrShift, endianness_t Endian> void handler_entry_write_unmapped<Width, AddrShift, Endian>::write(offs_t offset, uX data, uX mem_mask)const
template<int Width, int AddrShift, endianness_t Endian> void handler_entry_write_unmapped<Width, AddrShift, Endian>::write(offs_t offset, uX data, uX mem_mask)const
{
if (inh::m_space->log_unmap() && !inh::m_space->m_manager.machine().side_effects_disabled())
inh::m_space->device().logerror(inh::m_space->is_octal()

View File

@ -3520,14 +3520,14 @@ void analog_field::frame_update(running_machine &machine)
// get the new raw analog value and its type
input_item_class itemclass;
s32 rawvalue = machine.input().seq_axis_value(m_field.seq(SEQ_TYPE_STANDARD), itemclass);
// use programmatically set value if avaiable
if (m_was_written)
{
m_was_written = false;
rawvalue = m_prog_analog_value;
}
// if we got an absolute input, it overrides everything else
if (itemclass == ITEM_CLASS_ABSOLUTE)
{

View File

@ -459,7 +459,7 @@ enum
// INPUT_STRING_8C_4C, // 0.500000
// INPUT_STRING_6C_3C, // 0.500000
INPUT_STRING_4C_2C, // 0.500000
INPUT_STRING_5C_2C, // 0.500000
INPUT_STRING_5C_2C, // 0.500000
INPUT_STRING_2C_1C, // 0.500000
// INPUT_STRING_9C_5C, // 0.555556
// INPUT_STRING_7C_4C, // 0.571429
@ -1266,10 +1266,10 @@ public:
void read(ioport_value &value);
float crosshair_read();
void frame_update(running_machine &machine);
// setters
void set_value(s32 value);
private:
// helpers
s32 apply_min_max(s32 value) const;

View File

@ -658,7 +658,7 @@ void natural_keyboard::build_codes(ioport_manager &manager)
}
newcode.field[fieldnum] = &field;
if (m_keycode_map.end() == found)
if (m_keycode_map.end() == found)
{
keycode_map_list map_list;
map_list.emplace_back(newcode);
@ -882,7 +882,7 @@ const natural_keyboard::keycode_map_entry *natural_keyboard::find_code(char32_t
keycode_map::const_iterator const found(m_keycode_map.find(ch));
if (m_keycode_map.end() == found) return nullptr;
for(const keycode_map_entry &entry : found->second)
{
{
if (entry.condition.eval())
return &entry;
}
@ -912,7 +912,7 @@ void natural_keyboard::dump(std::ostream &str) const
{
// identify the keys used
for (std::size_t field = 0; (entry.field.size() > field) && entry.field[field]; ++field)
util::stream_format(str, "%s'%s'", first ? "" : ", ", entry.field[field]->name());
util::stream_format(str, "%s'%s'", first ? "" : ", ", entry.field[field]->name());
// carriage return
str << '\n';

View File

@ -239,7 +239,7 @@ namespace
}
private:
std::array<std::pair<const char *, T>, SIZE> m_map;
std::array<std::pair<const char *, T>, SIZE> m_map;
};
};

View File

@ -508,7 +508,7 @@ bool imd_format::load(io_generic *io, uint32_t form_factor, floppy_image *image)
desc_pc_sector sects[256];
for(int i=0; i<m_sector_count.back(); i++) {
uint8_t stype = img[pos++];
uint8_t stype = img[pos++];
sects[i].track = m_tnum.back().size() ? m_tnum.back()[i] : m_track.back();
sects[i].head = m_hnum.back().size() ? m_hnum.back()[i] : m_head.back();
sects[i].sector = m_snum.back()[i];
@ -629,7 +629,7 @@ bool imd_format::save(io_generic* io, floppy_image* image)
mode = 1;
io_generic_write(io, &mode, pos++, 1);
io_generic_write(io, &sdata, pos, actual_size);
pos += actual_size;
pos += actual_size;
}
}
}

View File

@ -99,7 +99,7 @@
NET_CONNECT(name, B, cB) \
NET_CONNECT(name, C, cC) \
NET_CONNECT(name, D, cD)
#define TTL_74161(...) \
NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__)

View File

@ -157,7 +157,7 @@ namespace devices
if (doOUT)
//for (std::size_t i = 0; i < m_NO; ++i)
// m_Q[i].push((out >> i) & 1, tim[t[i]]);
// m_Q[i].push((out >> i) & 1, tim[t[i]]);
this->push(out, t);
else
{

View File

@ -13,8 +13,8 @@ NETLIST_START(perf)
ANALOG_INPUT(V5, 5)
CLOCK(CLK, 100) // clock for driving the 74393
CLOCK(CLK2, 3) // off-beat clock for master reset
CLOCK(CLK, 100) // clock for driving the 74393
CLOCK(CLK2, 3) // off-beat clock for master reset
TTL_74393_DIP(TESTCHIP)
NET_C(V5, CLK.VCC, CLK2.VCC, TESTCHIP.14)

View File

@ -2475,8 +2475,8 @@ namespace netlist
}
}
// -----------------------------------------------------------------------------
// inline implementations - cold
// -----------------------------------------------------------------------------

View File

@ -124,20 +124,20 @@ namespace factory {
{ }
template <std::size_t... Is>
dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args, std::index_sequence<Is...>)
{
return plib::make_unique<C>(pool, anetlist, name, std::forward<Args>(std::get<Is>(args))...);
}
template <std::size_t... Is>
dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args, std::index_sequence<Is...>)
{
return plib::make_unique<C>(pool, anetlist, name, std::forward<Args>(std::get<Is>(args))...);
}
dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args)
{
return make_device(pool, anetlist, name, args, std::index_sequence_for<Args...>{});
}
dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args)
{
return make_device(pool, anetlist, name, args, std::index_sequence_for<Args...>{});
}
dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist,

View File

@ -32,21 +32,21 @@ namespace netlist
/// The following code is an example on how to add the device to
/// the netlist factory.
///
/// const pstring pin(m_in);
/// pstring dname = pstring("OUT_") + pin;
/// const pstring pin(m_in);
/// pstring dname = pstring("OUT_") + pin;
///
/// const auto lambda = [this](auto &in, netlist::nl_fptype val)
/// {
/// this->cpu()->update_icount(in.exec().time());
/// this->m_delegate(val, this->cpu()->local_time());
/// this->cpu()->check_mame_abort_slice();
/// };
/// const auto lambda = [this](auto &in, netlist::nl_fptype val)
/// {
/// this->cpu()->update_icount(in.exec().time());
/// this->m_delegate(val, this->cpu()->local_time());
/// this->cpu()->check_mame_abort_slice();
/// };
///
/// using lb_t = decltype(lambda);
/// using cb_t = netlist::interface::NETLIB_NAME(analog_callback)<lb_t>;
/// using lb_t = decltype(lambda);
/// using cb_t = netlist::interface::NETLIB_NAME(analog_callback)<lb_t>;
///
/// parser.factory().add<cb_t, netlist::nl_fptype, lb_t>(dname,
/// netlist::factory::properties("-", PSOURCELOC()), 1e-6, std::forward<lb_t>(lambda));
/// parser.factory().add<cb_t, netlist::nl_fptype, lb_t>(dname,
/// netlist::factory::properties("-", PSOURCELOC()), 1e-6, std::forward<lb_t>(lambda));
///
template <typename FUNC>
@ -232,7 +232,7 @@ namespace netlist
object_array_t<param_fp_t, MAX_INPUT_CHANNELS> m_param_mults;
object_array_t<param_fp_t, MAX_INPUT_CHANNELS> m_param_offsets;
std::array<param_fp_t *, MAX_INPUT_CHANNELS> m_params;
std::array<T *, MAX_INPUT_CHANNELS> m_buffers;
std::array<T *, MAX_INPUT_CHANNELS> m_buffers;
};
} // namespace interface

View File

@ -189,7 +189,7 @@ namespace plib {
using base_allocator_typex = typename BASEARENA::template allocator_type<std::pair<void * const, info>>;
std::unordered_map<void *, info, std::hash<void *>, std::equal_to<void *>,
base_allocator_typex> m_info;
// std::unordered_map<void *, info> m_info;
// std::unordered_map<void *, info> m_info;
std::vector<block *, typename BASEARENA::template allocator_type<block *>> m_blocks;
};

View File

@ -117,7 +117,7 @@ namespace plib {
|| ci::os() == ci_os::EMSCRIPTEN)) ? 2 :
(ci::type() == ci_compiler::CLANG || ci::type() == ci_compiler::GCC) ? 1 :
(ci::type() == ci_compiler::MSC && ci::m64()) ? 3 :
0
0
};
};
@ -416,10 +416,10 @@ namespace plib {
/// plib::late_pmfp<plib::pmfp<void, pstring>> a(&nld_7493::printer);
/// // Store the a object somewhere
///
/// // After full construction ...
/// // After full construction ...
///
/// auto dele = a(this);
/// dele(pstring("Hello World!"));
/// auto dele = a(this);
/// dele(pstring("Hello World!"));
///
template<typename T>
class late_pmfp

View File

@ -89,7 +89,7 @@ namespace plib {
std::size_t capacity() const noexcept { return m_list.capacity() - 1; }
bool empty() const noexcept { return (m_end == &m_list[1]); }
template<bool KEEPSTAT, typename... Args>
template<bool KEEPSTAT, typename... Args>
void emplace(Args&&... args) noexcept
{
// Lock

View File

@ -148,7 +148,7 @@ namespace plib
using arch = std::integral_constant<ci_arch, ci_arch::ARM>;
#elif defined(__MIPSEL__) || defined(__mips_isa_rev) || defined(__mips64)
using arch = std::integral_constant<ci_arch, ci_arch::MIPS>;
#else
#else
using arch = std::integral_constant<ci_arch, ci_arch::UNKNOWN>;
#endif
#if defined(__MINGW32__)

View File

@ -40,7 +40,7 @@
class bu3905_device : public device_t
{
public: // construction/destruction
public: // construction/destruction
bu3905_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
void write(offs_t offset, u8 data);

View File

@ -50,7 +50,7 @@
// numeric instability. Also adjusts values of resistors associated with these
// oscillators to maintain their frequency and voltage levels.
#define CONVERGENCE_FRONTIERS 1
#define CONVERGENCE_FRONTIERS 1
static NETLIST_START(mc3340)
@ -61,7 +61,7 @@ static NETLIST_START(mc3340)
// control signal, with a maximum gain of about 12-13 dB (about a
// factor of 4 in voltage), and higher control voltages giving greater
// attenuation, which scales logarithmically.
// The netlist here is based on the circuit schematic given in
// Motorola's own data books, especially the most recent ones
// published in the 1990s (e.g. _Motorola Analog/Interface ICs Device
@ -286,7 +286,7 @@ static NETLIST_START(280zzzap_schematics)
// 280-ZZZAP schematic and the schematic for the earlier Laguna Racer
// board, but this is a non-standard value. The nearest standard value
// is 470 Kohm, and this may have been used in production. Need to
// check against actual PCBs.
// check against actual PCBs.
RES(R51, RES_K(480)) // 470 Kohm in later Laguna and Super Speed Race
RES(R46, RES_M(2)) // 2.2 Mohm in later Laguna and Super Speed Race
RES(R47, RES_M(1))
@ -840,13 +840,13 @@ NETLIST_START(280zzzap)
// All together, loosening both tolerances and reducing accuracy
// increases speed by ~10%, but it also causes audible "crackling".
// PARAM(Solver.RELTOL, 1e-2) // default 1e-3 (several % faster, but < quality)
// PARAM(Solver.VNTOL, 5e-3) // default 1e-7 (several % faster, but < quality)
// PARAM(Solver.ACCURACY, 1e-3) // default 1e-7 (few % faster)
// PARAM(Solver.RELTOL, 1e-2) // default 1e-3 (several % faster, but < quality)
// PARAM(Solver.VNTOL, 5e-3) // default 1e-7 (several % faster, but < quality)
// PARAM(Solver.ACCURACY, 1e-3) // default 1e-7 (few % faster)
// PARAM(Solver.DYNAMIC_TS, 1)
// PARAM(Solver.DYNAMIC_LTE, 1e-4) // default 1e-5
// PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-8) // default 1e-6
// PARAM(Solver.DYNAMIC_TS, 1)
// PARAM(Solver.DYNAMIC_LTE, 1e-4) // default 1e-5
// PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-8) // default 1e-6
ANALOG_INPUT(I_V12, 12)
ANALOG_INPUT(I_V5, 5)
@ -899,27 +899,27 @@ NETLIST_START(280zzzap)
// Power pins for logic inputs:
NET_C(I_V5.Q,
I_F4_2.VCC, I_F4_5.VCC, I_F4_7.VCC, I_F4_10.VCC,
I_F5_2.VCC, I_F5_5.VCC, I_F5_7.VCC, I_F5_10.VCC,
I_F5_12.VCC, I_F5_15.VCC)
I_F4_2.VCC, I_F4_5.VCC, I_F4_7.VCC, I_F4_10.VCC,
I_F5_2.VCC, I_F5_5.VCC, I_F5_7.VCC, I_F5_10.VCC,
I_F5_12.VCC, I_F5_15.VCC)
NET_C(GND,
I_F4_2.GND, I_F4_5.GND, I_F4_7.GND, I_F4_10.GND,
I_F5_2.GND, I_F5_5.GND, I_F5_7.GND, I_F5_10.GND,
I_F5_12.GND, I_F5_15.GND)
I_F4_2.GND, I_F4_5.GND, I_F4_7.GND, I_F4_10.GND,
I_F5_2.GND, I_F5_5.GND, I_F5_7.GND, I_F5_10.GND,
I_F5_12.GND, I_F5_15.GND)
// Power inputs for the LM3900 op-amps. These aren't shown on the
// schematics, but it looks like 5-volt power is needed to get proper
// results.
NET_C(I_V5.Q,
H4_1.VCC, H4_2.VCC, H4_3.VCC, H4_4.VCC,
H5_1.VCC, H5_2.VCC, H5_3.VCC, H5_4.VCC,
J3_1.VCC, J3_2.VCC, J3_3.VCC, J3_4.VCC,
J5_1.VCC, J5_2.VCC, J5_3.VCC)
H4_1.VCC, H4_2.VCC, H4_3.VCC, H4_4.VCC,
H5_1.VCC, H5_2.VCC, H5_3.VCC, H5_4.VCC,
J3_1.VCC, J3_2.VCC, J3_3.VCC, J3_4.VCC,
J5_1.VCC, J5_2.VCC, J5_3.VCC)
NET_C(GND,
H4_1.GND, H4_2.GND, H4_3.GND, H4_4.GND,
H5_1.GND, H5_2.GND, H5_3.GND, H5_4.GND,
J3_1.GND, J3_2.GND, J3_3.GND, J3_4.GND,
J5_1.GND, J5_2.GND, J5_3.GND)
H4_1.GND, H4_2.GND, H4_3.GND, H4_4.GND,
H5_1.GND, H5_2.GND, H5_3.GND, H5_4.GND,
J3_1.GND, J3_2.GND, J3_3.GND, J3_4.GND,
J5_1.GND, J5_2.GND, J5_3.GND)
// Power inputs for the CD4016 switches. Again, these aren't shown on
// the schematics, but 5-volt power must be used for the switches to

View File

@ -274,7 +274,7 @@ void redalert_state::ww3_audio(machine_config &config)
void redalert_state::panther_audio(machine_config &config)
{
SPEAKER(config, "mono").front_center();
redalert_audio_m37b(config);
m_audiocpu->set_addrmap(AS_PROGRAM, &redalert_state::panther_audio_map);
}

View File

@ -2299,7 +2299,7 @@ ROM_END
ROM_START( towerat2xx )
ROM_REGION16_LE( 0x20000, "bios", 0 )
ROM_SYSTEM_BIOS(0, "v2.02", "V2.02" ) // from a model 220
ROM_SYSTEM_BIOS(1, "v2.01", "V2.01" )
ROM_SYSTEM_BIOS(1, "v2.01", "V2.01" )
ROM_SYSTEM_BIOS(2, "v1.07", "V1.07" ) // seen on a model 240 "mega"
ROM_SYSTEM_BIOS(3, "v1.06", "V1.06" ) // from a model 220
ROM_SYSTEM_BIOS(4, "v1.05a", "V1.05a" )

View File

@ -3302,11 +3302,11 @@ ROM_START( donpachihk )
ROM_END
/*
When you press the 2p start button, it pauses the game (music still plays).
Pressing the 1p start button unpauses the game.
If you press both 1p start and 2p start at the same time, the game lets you play in slow motion (music still plays normally).
When you press the 2p start button, it pauses the game (music still plays).
Pressing the 1p start button unpauses the game.
If you press both 1p start and 2p start at the same time, the game lets you play in slow motion (music still plays normally).
This was on the label of the ROM chip:
This was on the label of the ROM chip:
*/
ROM_START( donpachijs )

View File

@ -63,11 +63,11 @@ TODO:
// TODO: NTSC system clock is 30.2098 MHz; additional 4.9152 MHz XTAL provided for UART
#define CLOCK_A 30_MHz_XTAL
#define LOG_DVC (1 << 1)
#define LOG_QUIZARD_READS (1 << 2)
#define LOG_QUIZARD_WRITES (1 << 3)
#define LOG_QUIZARD_OTHER (1 << 4)
#define LOG_UART (1 << 5)
#define LOG_DVC (1 << 1)
#define LOG_QUIZARD_READS (1 << 2)
#define LOG_QUIZARD_WRITES (1 << 3)
#define LOG_QUIZARD_OTHER (1 << 4)
#define LOG_UART (1 << 5)
#define VERBOSE (0)
#include "logmacro.h"

View File

@ -690,7 +690,7 @@ void armchamp2_state::armchmp2_map(address_map &map)
map(0x100000, 0x100001).portr("IN2").w(FUNC(armchamp2_state::scudhamm_oki_bank_w));
map(0x100004, 0x100005).portr("DSW"); // DSW
map(0x100008, 0x100009).portr("IN0").w(FUNC(armchamp2_state::output_w));
map(0x10000d, 0x10000d).rw("adc", FUNC(adc0804_device::read), FUNC(adc0804_device::write));
map(0x10000d, 0x10000d).rw("adc", FUNC(adc0804_device::read), FUNC(adc0804_device::write));
map(0x100010, 0x100011).rw(FUNC(armchamp2_state::motor_status_r), FUNC(armchamp2_state::motor_command_w));
// same hookup as acommand, most notably the "Arm Champs II" voice sample on title screen playbacks on oki1 mirror
map(0x100014, 0x100017).rw(m_oki1, FUNC(okim6295_device::read), FUNC(okim6295_device::write)).umask16(0x00ff);
@ -2108,7 +2108,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::scudhamm_scanline)
if(scanline == 240) // vblank-out irq
m_maincpu->set_input_line(4, HOLD_LINE);
if(scanline == 16) // clears a flag, sprite end DMA?
if(scanline == 16) // clears a flag, sprite end DMA?
m_maincpu->set_input_line(2, HOLD_LINE);
}
@ -2129,10 +2129,10 @@ void cischeat_state::scudhamm(machine_config &config)
m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
// measured values for Arm Champs II: VSync: 59.1784Hz, HSync: 15082.0 kHz
m_screen->set_raw(XTAL(12'000'000)/2,396,0,256,256,16,240);
// m_screen->set_refresh_hz(30); //TODO: wrong!
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */);
// m_screen->set_size(256, 256);
// m_screen->set_visarea(0, 256-1, 0 +16, 256-1 -16);
// m_screen->set_refresh_hz(30); //TODO: wrong!
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */);
// m_screen->set_size(256, 256);
// m_screen->set_visarea(0, 256-1, 0 +16, 256-1 -16);
m_screen->set_screen_update(FUNC(cischeat_state::screen_update_scudhamm));
m_screen->set_palette(m_palette);

View File

@ -50,7 +50,7 @@ public:
{ }
void cm1800(machine_config &config);
private:
void io_map(address_map &map);
void mem_map(address_map &map);

View File

@ -84,8 +84,8 @@ void consoemt_state::io_map(address_map &map)
map(0x220, 0x220).portr("NUMBUS-H");
map(0x230, 0x230).portr("NUMFAB-L");
map(0x240, 0x240).portr("NUMFAB-H");
// map(0x250, 0x250).r // read on int2
// map(0x260, 0x260).r // read on int1
// map(0x250, 0x250).r // read on int2
// map(0x260, 0x260).r // read on int1
map(0x280, 0x281).rw(m_lcdc, FUNC(hd44780_device::read), FUNC(hd44780_device::write));
}

View File

@ -8071,7 +8071,7 @@ ROM_START( sf2rk )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "w6.u222", 0x000000, 0x80000, CRC(49422b6f) SHA1(69fe9147c7ee3f6fa29077df16f4ef1224495be3) )
ROM_LOAD16_BYTE( "w5.u196", 0x000001, 0x80000, CRC(7e9c8c2f) SHA1(3d34a3920a771e1d62a41c104c8b16e3c6ac9405) )
/* The dark screen issue is present on the real pcb, although much less noticable than in mame.
The bootleggers have patched out the code which modifies the brightness/fade component of the palette word.
This is somewhat strange as unlike some bootlegs, this board DOES have the brightness circuitry (2x 7407's, 12x resistor dac) populated!

View File

@ -751,10 +751,10 @@ void dec8_state::csilver_mcu_to_main_w(uint8_t data)
{
if (~data & 0x10)
m_i8751_port0 = m_i8751_value >> 8;
if (~data & 0x20)
m_i8751_port1 = m_i8751_value & 0xff;
if (~data & 0x40)
{
m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8);
@ -763,7 +763,7 @@ void dec8_state::csilver_mcu_to_main_w(uint8_t data)
if (~data & 0x80)
m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1;
m_i8751_p2 = data;
}

View File

@ -35,13 +35,13 @@
#define LOG_FDC_CTRL (1 << 6)
#define LOG_FDC_PORT (1 << 7)
#define LOG_FDC_CMD (1 << 8)
#define LOG_FDC_MECH (1 << 9)
#define LOG_FDC_MECH (1 << 9)
#define LOG_OUTPUT_TIMING (1 << 10)
#define LOG_BRUSH_ADDR (1 << 11)
#define LOG_STORE_ADDR (1 << 12)
#define LOG_COMBINER (1 << 13)
#define LOG_SIZE_CARD (1 << 14)
#define LOG_FILTER_CARD (1 << 15)
#define LOG_STORE_ADDR (1 << 12)
#define LOG_COMBINER (1 << 13)
#define LOG_SIZE_CARD (1 << 14)
#define LOG_FILTER_CARD (1 << 15)
#define LOG_ALL (LOG_UNKNOWN | LOG_CSR | LOG_CTRLBUS | LOG_SYS_CTRL | LOG_FDC_CTRL | LOG_FDC_PORT | LOG_FDC_CMD | LOG_FDC_MECH | LOG_BRUSH_ADDR | \
LOG_STORE_ADDR | LOG_COMBINER | LOG_SIZE_CARD | LOG_FILTER_CARD)
@ -1276,55 +1276,55 @@ void dpb7000_state::cpu_ctrlbus_w(uint16_t data)
((data >> 8) & 0xf) == 6 ? "Initiate" : "Continue");
/*if (((data >> 8) & 0xf) == 6)
{
m_size_h = 0;
m_size_v = 0;
m_size_h = 0;
m_size_v = 0;
}
uint16_t disc_buffer_addr = 0;
uint16_t bx = m_bxlen_counter - m_bxlen;
uint16_t by = m_bylen_counter - m_bylen;
while (m_diskbuf_data_count > 0 && m_bylen_counter < 0x1000)
{
uint8_t hv = (m_size_h << 4) | m_size_v;
uint8_t hv_permuted = bitswap<8>(hv,4,6,0,2,5,7,1,3);
uint8_t hv = (m_size_h << 4) | m_size_v;
uint8_t hv_permuted = bitswap<8>(hv,4,6,0,2,5,7,1,3);
if (BIT(m_brush_addr_func, 7)) // Luma Enable
{
//printf("%02x ", m_diskbuf_ram[disc_buffer_addr]);
m_brushstore_lum[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr];
}
if (BIT(m_brush_addr_func, 7)) // Luma Enable
{
//printf("%02x ", m_diskbuf_ram[disc_buffer_addr]);
m_brushstore_lum[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr];
}
disc_buffer_addr++;
m_diskbuf_data_count--;
disc_buffer_addr++;
m_diskbuf_data_count--;
if (BIT(m_brush_addr_func, 8)) // Chroma Enable
{
m_brushstore_chr[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr];
}
if (BIT(m_brush_addr_func, 8)) // Chroma Enable
{
m_brushstore_chr[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr];
}
disc_buffer_addr++;
m_diskbuf_data_count--;
disc_buffer_addr++;
m_diskbuf_data_count--;
m_size_h++;
if (m_size_h == 16)
{
m_size_h = 0;
m_size_v++;
if (m_size_v == 16)
{
m_size_v = 0;
}
}
m_size_h++;
if (m_size_h == 16)
{
m_size_h = 0;
m_size_v++;
if (m_size_v == 16)
{
m_size_v = 0;
}
}
bx++;
m_bxlen_counter++;
if (m_bxlen_counter == 0x1000)
{
bx = 0;
by++;
m_bxlen_counter = m_bxlen;
m_bylen_counter++;
//printf("\n");
}
bx++;
m_bxlen_counter++;
if (m_bxlen_counter == 0x1000)
{
bx = 0;
by++;
m_bxlen_counter = m_bxlen;
m_bylen_counter++;
//printf("\n");
}
}*/
m_diskseq_complete_clk->adjust(attotime::from_msec(1));
break;
@ -1563,7 +1563,7 @@ void dpb7000_state::fdd_index_callback(floppy_image_device *floppy, int state)
bit_idx++;
//if ((bit_idx % 8) == 0)
//{
// printf("%02x ", (uint8_t)curr_window);
// printf("%02x ", (uint8_t)curr_window);
//}
if (!seen_pregap && curr_window == PREGAP_MARK)

View File

@ -480,7 +480,7 @@ void fp6000_state::fp6000(machine_config &config)
PALETTE(config, m_palette).set_entries(16);
GFXDECODE(config, m_gfxdecode, m_palette, gfx);
GFXDECODE(config, m_gfxdecode, m_palette, gfx);
// audio hardware
SPEAKER(config, "mono").front_center();

View File

@ -1126,7 +1126,7 @@ IRQ_CALLBACK_MEMBER(galaxian_state::froggermc_audiocpu_irq_ack)
*
*************************************/
uint8_t galaxian_state::frogf_ppi8255_r(offs_t offset)
uint8_t galaxian_state::frogf_ppi8255_r(offs_t offset)
{
/* the decoding here is very simplistic, and you can address both simultaneously */
uint8_t result = 0xff;

View File

@ -58,7 +58,7 @@ Biblical
NOTE: Series 8 through 14 are "T3" sets as noted by the first 2 bytes of the questions ROMs.
The question ROMs are 27256 (twice the size of previous question ROMs) and contain 3
times the number of questions. ROM labels are yellow.
Series 8: (256K) Series 9: (256K) Series 10: (256K)
---------------- ---------------- -----------------
@ -88,13 +88,13 @@ NOTE: Series 15 and later are "T4" sets as noted by the first 2 bytes of the que
pink.
Series 15: (256K) Series 16: (256K) Series 17: (256K)
Series 15: (256K) Series 16: (256K) Series 17: (256K)
----------------- ----------------- -----------------
Entertainment 2 Late TV Shows Night Time TV
The Seventies The Eighties New Eighties
Facts 2 People and Places History and Geography
New Science 3 Potluck New Potpourri
N F L Football N B A Basketball N H L Hockey
N F L Football N B A Basketball N H L Hockey
or alt: Adult Sex 6 or alt: Adult Sex 7 or alt: Adult Sex 8

View File

@ -62,8 +62,8 @@
the High School Musical part has its own test mode which tests a different part of the ROM, use the same code but after selecting the game from menu
--- the individual CS spaces could (and probably should?) be done with a bunch of extra memory spaces rather than the cs0_r / cs0_w etc. but that would mean yet
another trip through the memory system for almost everything and at ~100Mhz that is slow.
--- the individual CS spaces could (and probably should?) be done with a bunch of extra memory spaces rather than the cs0_r / cs0_w etc. but that would mean yet
another trip through the memory system for almost everything and at ~100Mhz that is slow.
*/

View File

@ -2,18 +2,18 @@
// copyright-holders:David Haywood
/*
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
----
----
GPL16250 Mobigo support
the original Mobigo is ROM+RAM config
the Mobigo 2 is NAND+RAM config
cartridges are compatible
GPL16250 Mobigo support
the original Mobigo is ROM+RAM config
the Mobigo 2 is NAND+RAM config
cartridges are compatible
*/
#include "emu.h"

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/*
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
----
----
GPL16250 games using NAND + RAM configuration
GPL16250 games using NAND + RAM configuration
*/
/*

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/*
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
----
----
GPL16250 games using ROM (no extra RAM) configuration
GPL16250 games using ROM (no extra RAM) configuration
*/
#include "emu.h"
@ -329,7 +329,7 @@ static INPUT_PORTS_START( tkmag220 )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("IN2")
PORT_DIPNAME( 0x0001, 0x0001, "IN2" ) // set 0x0001 and 0x0002 on to get a test mode (some of the ROM banks fail their test, but dumps were repeatable, should be verified on another unit)
PORT_DIPNAME( 0x0001, 0x0001, "IN2" ) // set 0x0001 and 0x0002 on to get a test mode (some of the ROM banks fail their test, but dumps were repeatable, should be verified on another unit)
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
@ -403,8 +403,8 @@ ROM_END
ROM_START( myac220 )
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 )
ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "myarcadegogamerportable.bin", 0x0000000, 0x8000000, BAD_DUMP CRC(c929a2fa) SHA1(e99007ccc45a268267b4ea0efaf22e3117f5a6bd) ) // again several sections seemed to be erased, was repaired with data from tkmag220, likely good but should be verified
ROM_END

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/*
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
----
----
GPL16250 games using ROM + RAM configuration
GPL16250 games using ROM + RAM configuration
*/
#include "emu.h"
@ -324,7 +324,7 @@ void paccon_game_state::machine_reset()
{
jak_s500_game_state::machine_reset();
m_maincpu->space(AS_PROGRAM).install_read_handler(0x6593, 0x6593, read16smo_delegate(*this, FUNC(paccon_game_state::paccon_speedup_hack_r)));
// install_speedup_hack(0x6593, 0x30033);
// install_speedup_hack(0x6593, 0x30033);
}
void jak_pf_game_state::machine_reset()

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
/*
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die
----
----
GPL16250 games using SPI Flash + RAM configuration
GPL16250 games using SPI Flash + RAM configuration
*/
#include "emu.h"

View File

@ -29,24 +29,24 @@
- MK5089N - DTMF generator
- ...
high-resolution motherboard photo (enough to read chip numbers): http://deltacxx.insomnia247.nl/gridcompass/motherboard.jpg
high-resolution motherboard photo (enough to read chip numbers): http://deltacxx.insomnia247.nl/gridcompass/motherboard.jpg
differences between models:
- Compass 110x do not have GRiDROM slots.
- Compass II (112x, 113x) have 4 of them.
- Compass II 113x have 512x256 screen size
- Compass 11x9 have 512K ram
- Compass II have DMA addresses different from Compass 110x
differences between models:
- Compass 110x do not have GRiDROM slots.
- Compass II (112x, 113x) have 4 of them.
- Compass II 113x have 512x256 screen size
- Compass 11x9 have 512K ram
- Compass II have DMA addresses different from Compass 110x
to do:
- keyboard: decode and add the rest of keycodes
keycode table can be found here on page A-2:
http://deltacxx.insomnia247.nl/gridcompass/large_files/Yahoo%20group%20backup/RuGRiD-Laptop/files/6_GRiD-OS-Programming/3_GRiD-OS-Reference.pdf
keycode table can be found here on page A-2:
http://deltacxx.insomnia247.nl/gridcompass/large_files/Yahoo%20group%20backup/RuGRiD-Laptop/files/6_GRiD-OS-Programming/3_GRiD-OS-Reference.pdf
- EAROM, RTC
- serial port (incomplete), modem (incl. DTMF generator)
- proper custom DMA logic timing
- implement units other than 1101
- proper custom DMA logic timing
- implement units other than 1101
missing dumps:
@ -56,9 +56,9 @@
- external floppy and hard disk (2101, 2102)
to boot CCOS 3.0.1:
- convert GRIDOS.IMD to IMG format
- convert GRIDOS.IMD to IMG format
- create zero-filled 384K bubble memory image and attach it as -memcard
- attach floppy with `-ieee_grid grid2102 -flop GRIDOS.IMG`
- attach floppy with `-ieee_grid grid2102 -flop GRIDOS.IMG`
- use grid1101 with 'ccos' ROM
***************************************************************************/

View File

@ -51,17 +51,17 @@ void gs6502_state::gs6502(machine_config &config)
/* basic machine hardware */
M6502(config, m_maincpu, XTAL(1'843'200));
m_maincpu->set_addrmap(AS_PROGRAM, &gs6502_state::gs6502_mem);
// Configure UART (via m_acia)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
// should this be reverse polarity?
m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts));
m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts));
clock_device &acia_clock(CLOCK(config, "acia_clock", 1'843'200));
acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc));
acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
// Configure a "default terminal" to connect to the 6850, so we have a console
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));

View File

@ -51,17 +51,17 @@ void gs6809_state::gs6809(machine_config &config)
/* basic machine hardware */
MC6809(config, m_maincpu, XTAL(7'372'800));
m_maincpu->set_addrmap(AS_PROGRAM, &gs6809_state::gs6809_mem);
// Configure UART (via m_acia)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
// should this be reverse polarity?
m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts));
m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts));
clock_device &acia_clock(CLOCK(config, "acia_clock", 7'372'800/4)); // E Clock from M6809
acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc));
acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
// Configure a "default terminal" to connect to the 6850, so we have a console
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));

View File

@ -3,7 +3,7 @@
// http://searle.x10host.com/cpm/index.html
// Written by Frank Palazzolo - frank@avoidspikes.com
// This driver uses a compact flash card as a hard disk device.
// This driver uses a compact flash card as a hard disk device.
// To create a virtual disk file, use the following (for a 128MB card):
// chdman createhd -s 134217728 -o filename.chd
// (or use -s 67108864 for 64MB card)
@ -56,7 +56,7 @@ protected:
void gscpm_state::gscpm_mem(address_map &map)
{
//map(0x0000, 0x3fff).rom("maincpu"); // This is ROM after reset, and RAM is switched in when CP/M is booted
// (will install handlers dynamically)
// (will install handlers dynamically)
map(0x4000, 0xffff).ram();
}
@ -166,13 +166,13 @@ void gscpm_state::gscpm(machine_config &config)
m_sio->out_txdb_callback().set("rs232", FUNC(rs232_port_device::write_txd));
m_sio->out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts));
m_sio->out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0); // Connect interrupt pin to our Z80 INT line
clock_device &sio_clock(CLOCK(config, "sio_clock", 7'372'800));
sio_clock.signal_handler().set("sio", FUNC(z80sio_device::txca_w));
sio_clock.signal_handler().append("sio", FUNC(z80sio_device::rxca_w));
sio_clock.signal_handler().append("sio", FUNC(z80sio_device::txcb_w));
sio_clock.signal_handler().append("sio", FUNC(z80sio_device::rxcb_w));
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set("sio", FUNC(z80sio_device::rxb_w));
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); // must be below the DEVICE_INPUT_DEFAULTS_START block

View File

@ -20,7 +20,7 @@ class gsz80_state : public driver_device
public:
gsz80_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu") // Tag name for Z80 is "maincpu"
, m_maincpu(*this, "maincpu") // Tag name for Z80 is "maincpu"
, m_acia(*this, "acia") // Tag name for UART is "acia"
{ }
@ -64,23 +64,23 @@ DEVICE_INPUT_DEFAULTS_END
void gsz80_state::gsz80(machine_config &config)
{
/* basic machine hardware */
// Configure member Z80 (via m_maincpu)
Z80(config, m_maincpu, XTAL(7'372'800));
m_maincpu->set_addrmap(AS_PROGRAM, &gsz80_state::gsz80_mem);
m_maincpu->set_addrmap(AS_IO, &gsz80_state::gsz80_io);
// Configure UART (via m_acia)
ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
m_acia->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
m_acia->irq_handler().set_inputline("maincpu", INPUT_LINE_IRQ0); // Connect interrupt pin to our Z80 INT line
// Create a clock device to connect to the transmit and receive clock on the 6850
clock_device &acia_clock(CLOCK(config, "acia_clock", 7'372'800));
acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc));
acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
// Configure a "default terminal" to connect to the 6850, so we have a console
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));

View File

@ -599,8 +599,8 @@ void gticlub_state::gn680_memmap(address_map &map)
map(0x000000, 0x01ffff).rom();
map(0x200000, 0x203fff).ram();
map(0x300000, 0x300001).w(FUNC(gticlub_state::gn680_sysctrl_w));
// map(0x310000, 0x311fff).nopw(); //056230 regs?
// map(0x312000, 0x313fff).nopw(); //056230 ram?
// map(0x310000, 0x311fff).nopw(); //056230 regs?
// map(0x312000, 0x313fff).nopw(); //056230 ram?
}
/*****************************************************************************/

View File

@ -232,7 +232,7 @@ void homelab3_state::homelab3_mem(address_map &map)
map(0x4000, 0xcfff).ram();
map(0xe800, 0xefff).r(FUNC(homelab3_state::exxx_r));
map(0xf800, 0xffff).lr8(NAME([this] (offs_t offset) { if(m_ramhere) return m_ram[offset]; else return m_vram[offset]; }))
.lw8(NAME([this] (offs_t offset, u8 data) { if(m_ramhere) m_ram[offset]=data; else m_vram[offset]=data; }));
.lw8(NAME([this] (offs_t offset, u8 data) { if(m_ramhere) m_ram[offset]=data; else m_vram[offset]=data; }));
}
void homelab3_state::homelab3_io(address_map &map)

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