mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
srcclean, remove a vestigial thing, and a little cleanup
This commit is contained in:
parent
b3bcdac164
commit
c25e62f25e
@ -16940,7 +16940,7 @@ license:CC0
|
||||
Apple SuperDrive (G7287), will not work due to
|
||||
incompatibilities created by the copy protection. -->
|
||||
<!--"Troll Sports Math" is a 1991 educational program developed by Millicent Sabater, Gregory Truex, Thomas Whiting, and Toby Shack, and distributed by Troll Associates. This version is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or an Apple //e or Apple ][+ with an Apple UniDisk 3.5-inch drive (A2M2053) and a Liron or other compatible drive controller card. Other 3.5-inch drives, such as the AppleDisk 3.5 (A2M0106) or Apple SuperDrive (G7287), will not work due to incompatibilities created by the copy protection.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296307">
|
||||
@ -16957,7 +16957,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"Where in Europe is Carmen Sandiego?" is a 1988 educational game developed by Ken Bull, Gene Portwood, Lauren Elliott, Leila Bronstein, Don Albrecht, Katherine Bird, Susan Meyers, and Louis Ewens, and distributed by Broderbund Software. This version is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296763">
|
||||
@ -16974,7 +16974,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"The Playroom" is a 1989 educational game developed by Leslie Grimm, Dennis Caswell, Lynn Kirkpatrick, D. Buttlaire, and D. Albrecht, and distributed by Broderbund Software. This is version 1.0. This version is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296725">
|
||||
@ -16991,7 +16991,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"SuperPrint!" is a 1987 graphics program developed by Joel Fried, Susan Swanson, Ken Grey, Lester Humphreys, Kim Looney, and David Shearer, and distributed by Pelican Software. This is version 1.4. This version is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296709">
|
||||
@ -17008,7 +17008,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"Rampage" is a 1988 action game ported to the Apple II by Ken Hurley, J. David Koch, Kelly Flock, Steve Imes, and Alex Edelstein, and distributed by Activision. This version is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1312568">
|
||||
@ -17201,7 +17201,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"Bank Street Writer Plus" is a 1989 productivity program developed by Gordon Riggs and distributed by Broderbund Software. This version is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296168">
|
||||
@ -17234,7 +17234,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or an Apple //e or 64K Apple ][+ and a compatible drive controller card. -->
|
||||
<!--"Grammar Gremlins" is a 1987 educational program developed by Santa Barbara Softworks and distributed by Davidson and Associates. This version is dated 05.01.87. It is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or an Apple //e or 64K Apple ][+ and a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296190">
|
||||
@ -17251,7 +17251,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"Beagle Write" is a 1989 productivity program developed by Kevin Harvey, Alex Perelberg, and Mark Munz, and distributed by Beagle Bros. This is version 3.2. It is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or a 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296189">
|
||||
@ -17268,7 +17268,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or an Apple //e or 64K Apple ][+ and a compatible drive controller card. -->
|
||||
<!--"Design Your Own Home: Interior Design" is a 1986 productivity program developed by Don Fudge and distributed by Abracadata. This is version 2. It is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or an Apple //e or 64K Apple ][+ and a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1328956">
|
||||
@ -17308,7 +17308,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, Apple //e or 64K Apple ][+ with a compatible drive controller card. -->
|
||||
<!--"Arithmetic Critters" is a 1986 educational program developed and distributed by MECC. This is version 1.0. It is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, Apple //e or 64K Apple ][+ with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1345310">
|
||||
@ -17325,7 +17325,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2P,A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, Apple //e or 64K Apple ][+ with a compatible drive controller card. -->
|
||||
<!--"Clock Works" is a 1986 educational program developed and distributed by MECC. This is version 1.0. It is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, Apple //e or 64K Apple ][+ with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1345302">
|
||||
@ -17342,7 +17342,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires an Apple IIgs, Apple //c+, or 128K Apple //e with a compatible drive controller card. -->
|
||||
<!--"Backyard Birds" is a 1989 educational program developed by Hassan Kaganda, John Persoon, Larry Phenow, Diane Portner, and James L. Thompson, and distributed by MECC. This is version 1.0. It is distributed on a single 3.5-inch (800K) disk. It requires an Apple IIgs, Apple //c+, or 128K Apple //e with a compatible drive controller card.-->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
<!-- Image updated December 14th, 2021 to fix incorrect header information -->
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1345386">
|
||||
@ -18389,7 +18389,7 @@ license:CC0
|
||||
<sharedfeat name="compatibility" value="A2E,A2EE,A2C,A2GS"/>
|
||||
<!-- It requires a Apple IIgs, //c+, 128K //e, or 128K enhanced Apple //e with a compatible drive controller card. -->
|
||||
<!--"Spell It Plus!" is a 1989 educational program developed by Faye Schwartz, Cathy Johnson, Kevin Burley, and Carol Carpenter, and distributed by Davidson and Associates. It requires a Apple IIgs, //c+, 128K //e, or 128K enhanced Apple //e with a compatible drive controller card.-->
|
||||
|
||||
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1296218">
|
||||
<rom name="spell it plus 800k.woz" size="1296218" crc="12943fe4" sha1="fc672aaaaacb195229719107eaaaf36b6feb127d" />
|
||||
|
@ -400,10 +400,10 @@ license:CC0
|
||||
</software>
|
||||
|
||||
<software name="alienodu" cloneof="alienody" supported="no">
|
||||
<!--
|
||||
L384 9614 05921024 B51103-30 M1S4
|
||||
IFPI6100
|
||||
-->
|
||||
<!--
|
||||
L384 9614 05921024 B51103-30 M1S4
|
||||
IFPI6100
|
||||
-->
|
||||
<description>Alien Odyssey (US)</description>
|
||||
<year>1995</year>
|
||||
<publisher>Philips / Argonaut Software LTD</publisher>
|
||||
@ -2155,11 +2155,11 @@ license:CC0
|
||||
</software>
|
||||
|
||||
<software name="ignition" supported="no">
|
||||
<!--
|
||||
FUTURE MEDIA / CA
|
||||
FM 16942 (CD-C95-1063-0/IN0002)
|
||||
IFPI 3V17
|
||||
-->
|
||||
<!--
|
||||
FUTURE MEDIA / CA
|
||||
FM 16942 (CD-C95-1063-0/IN0002)
|
||||
IFPI 3V17
|
||||
-->
|
||||
<description>Ignition (US)</description>
|
||||
<year>1997</year>
|
||||
<publisher>Interplay</publisher>
|
||||
|
@ -43610,7 +43610,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="avengere" cloneof="avenger">
|
||||
<description>Avenger (1986, Gremlin) (set 2, small case, Erbe Serie Leyenda)</description>
|
||||
<year>1988</year>
|
||||
@ -43620,7 +43620,7 @@ license:CC0
|
||||
<rom name="avenger - small case (erbe - serie leyenda).tzx" size="55271" crc="9dadcd5b" sha1="4ed632686667f63d626c85377f0a9c24b56d16df"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
</software>
|
||||
|
||||
<software name="avengerk" cloneof="avenger">
|
||||
<description>Avenger (1986, Gremlin) (set 3, Kixx)</description>
|
||||
@ -43660,7 +43660,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="avoira" cloneof="avoir">
|
||||
<description>Avoir (set 2)</description>
|
||||
<year>1985</year>
|
||||
@ -44452,28 +44452,28 @@ license:CC0
|
||||
<description>Backpackers Guide To The Universe</description>
|
||||
<year>1984</year>
|
||||
<publisher>Fantasy Software</publisher>
|
||||
<part name="cass1" interface="spectrum_cass">
|
||||
<part name="cass1" interface="spectrum_cass">
|
||||
<dataarea name="cass" size="49592">
|
||||
<rom name="backpackers guide to the universe.tzx" size="49592" crc="fa1fd170" sha1="2c6880c60d5ba204eed1efa28573513b90b4da9e"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="cass2" interface="spectrum_cass">
|
||||
<part name="cass2" interface="spectrum_cass">
|
||||
<dataarea name="cass" size="44009">
|
||||
<rom name="backpackers guide to the universe - the guide.tzx" size="44009" crc="d4513590" sha1="0ded85a356020d7692151c3b7d9ea0497c7ad1a9"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="backpackp" cloneof="backpack"> <!-- Manual copy protection -->
|
||||
<description>Backpackers Guide To The Universe (Paxman)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Paxman Promotions</publisher>
|
||||
<part name="cass1" interface="spectrum_cass">
|
||||
<part name="cass1" interface="spectrum_cass">
|
||||
<dataarea name="cass" size="49592">
|
||||
<rom name="backpackers guide to the universe (paxman).tzx" size="49592" crc="92c834bf" sha1="c5d734b21c12be041dce1fddae6471049ca82cb6"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="cass2" interface="spectrum_cass">
|
||||
<part name="cass2" interface="spectrum_cass">
|
||||
<dataarea name="cass" size="44009">
|
||||
<rom name="backpackers guide to the universe - the guide (paxman).tzx" size="44009" crc="be487e4d" sha1="11be613c4aae88695de10d4d52f8d914eeed7d52"/>
|
||||
</dataarea>
|
||||
@ -65253,7 +65253,7 @@ license:CC0
|
||||
</software>
|
||||
|
||||
<!-- not the same as the above game -->
|
||||
<software name="electnm">
|
||||
<software name="electnm">
|
||||
<description>Election (1984, Mastertronic)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Mastertronic</publisher>
|
||||
@ -92612,7 +92612,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="flunky">
|
||||
<description>Flunky</description>
|
||||
<year>1987</year>
|
||||
@ -92623,7 +92623,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="madflunk" cloneof="flunky"> <!-- box art was changed to 'Mad Flunky' game title was not updated -->
|
||||
<description>Mad Flunky (set 1, Alternative)</description>
|
||||
<year>1987</year>
|
||||
@ -92776,7 +92776,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!-- some versions had Mad Mix Game on the box -->
|
||||
<software name="madmixa" cloneof="madmix">
|
||||
<description>Mad Mix Game (set 1, Spanish, SLS 208)</description>
|
||||
@ -92810,8 +92810,8 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<software name="madnurse">
|
||||
<description>Mad Nurse</description>
|
||||
@ -92840,7 +92840,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="madcapa" cloneof="madcap">
|
||||
<description>Madcap Manor (set 2, bugfix)</description>
|
||||
<year>1985</year>
|
||||
@ -92856,7 +92856,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
<software name="madhatte">
|
||||
<description>Madhatter</description>
|
||||
@ -96060,7 +96060,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!-- not the same as the above game -->
|
||||
<software name="meteorhv">
|
||||
<description>Meteor (1983, Hofacker Verlag)</description>
|
||||
@ -97561,7 +97561,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
<!-- not the same game as above -->
|
||||
<software name="momega">
|
||||
@ -98180,7 +98180,7 @@ license:CC0
|
||||
<rom name="moons of tantalus - program.tzx" size="42408" crc="4c70fee5" sha1="ac02a7230b5a2ab0b5cbd663829c88c50e05017c"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
|
||||
|
||||
</software>
|
||||
|
||||
<software name="moonscap">
|
||||
@ -109597,7 +109597,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="prohibita" cloneof="prohibit">
|
||||
<description>Prohibition (set 2, Players)</description>
|
||||
<year>1987</year>
|
||||
@ -109608,7 +109608,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
<software name="projectf">
|
||||
<description>Project Future (Currys)</description>
|
||||
@ -109716,7 +109716,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="pjstlthb" cloneof="pjstlth">
|
||||
<description>Project Stealth Fighter (set 3, Kixx)</description>
|
||||
<year>19??</year>
|
||||
@ -109742,7 +109742,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
<software name="projecto">
|
||||
<description>Projector 1</description>
|
||||
@ -135814,7 +135814,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
<software name="tchncgld">
|
||||
<description>Treble Chance Gold</description>
|
||||
|
@ -68,8 +68,8 @@ void ec184x_isa8_cards(device_slot_interface &device)
|
||||
device.option_add("ec1840.0004", ISA8_LPT);
|
||||
device.option_add("ec1841.0002", ISA8_EC1841_0002); // CGA with downloadable font
|
||||
device.option_add("ec1841.0003", ISA8_EC1841_0003); // FDC + mouse port
|
||||
// device.option_add("ec1840.0004", ISA8_EC1840_0004); // BSC-like serial ports + parallel port
|
||||
// device.option_add("ec1841.0010", ISA8_EC1841_0010); // 8089-based HDC
|
||||
// device.option_add("ec1840.0004", ISA8_EC1840_0004); // BSC-like serial ports + parallel port
|
||||
// device.option_add("ec1841.0010", ISA8_EC1841_0010); // 8089-based HDC
|
||||
device.option_add("mda", ISA8_MDA);
|
||||
device.option_add("hdc", ISA8_HDC_EC1841);
|
||||
device.option_add("pccom", ISA8_COM);
|
||||
|
@ -65,8 +65,8 @@ void vme_cp31_card_device::cp31_mem(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
map(0x00000000, 0x001fffff).ram().share("dram"); // local bus DRAM, 4 MB
|
||||
// map(0x08010000, 0x08011fff).ram(); // unknown -- accessed by cp31dssp
|
||||
// map(0xfca03500, 0xfca0350f).unmaprw(); // ISCSI-1 board on VME bus
|
||||
// map(0x08010000, 0x08011fff).ram(); // unknown -- accessed by cp31dssp
|
||||
// map(0xfca03500, 0xfca0350f).unmaprw(); // ISCSI-1 board on VME bus
|
||||
map(0xff000000, 0xff03ffff).rom().region("user1", 0);
|
||||
map(0xff040000, 0xff07ffff).ram(); // onboard SRAM
|
||||
map(0xff800000, 0xff80001f).rw(m_mpcc, FUNC(mpcc68561_device::read), FUNC(mpcc68561_device::write));
|
||||
@ -74,8 +74,8 @@ void vme_cp31_card_device::cp31_mem(address_map &map)
|
||||
map(0xff800800, 0xff80080f).rw(m_bim, FUNC(bim68153_device::read), FUNC(bim68153_device::write)).umask32(0xff00ff00);
|
||||
map(0xff800a00, 0xff800a1f).rw(m_rtc, FUNC(rtc62421_device::read), FUNC(rtc62421_device::write));
|
||||
map(0xff800c00, 0xff800dff).rw(m_pit1, FUNC(pit68230_device::read), FUNC(pit68230_device::write));
|
||||
// map(0xff800400, 0xff800xxx) // TIC? -- shows up in cp31dssp log
|
||||
// map(0xff800e00, 0xff800xxx) // PIT3?
|
||||
// map(0xff800400, 0xff800xxx) // TIC? -- shows up in cp31dssp log
|
||||
// map(0xff800e00, 0xff800xxx) // PIT3?
|
||||
}
|
||||
|
||||
static DEVICE_INPUT_DEFAULTS_START( terminal )
|
||||
@ -180,7 +180,7 @@ void vme_cp31_card_device::device_add_mconfig(machine_config &config)
|
||||
m_pit1->pa_in_callback().set_ioport("SA1");
|
||||
m_pit1->pb_out_callback().set(*this, FUNC(vme_cp31_card_device::pit1_pb_w));
|
||||
m_pit1->pc_in_callback().set(*this, FUNC(vme_cp31_card_device::pit1_pc_r));
|
||||
// m_pit1->pc_out_callback().set(*this, FUNC(vme_cp31_card_device::pit1_pc_w));
|
||||
// m_pit1->pc_out_callback().set(*this, FUNC(vme_cp31_card_device::pit1_pc_w));
|
||||
m_pit1->timer_irq_callback().set(m_bim, FUNC(bim68153_device::int2_w));
|
||||
m_pit1->port_irq_callback().set(m_bim, FUNC(bim68153_device::int3_w));
|
||||
|
||||
|
@ -158,7 +158,7 @@ protected:
|
||||
/* Serial Port TX/RX Callbacks */
|
||||
devcb_write8 m_serial_tx_cb; //Call back function when sending data out of serial port
|
||||
devcb_read8 m_serial_rx_cb; //Call back function to retrieve data when receiving serial port data
|
||||
|
||||
|
||||
/* DS5002FP */
|
||||
struct {
|
||||
uint8_t previous_ta; /* Previous Timed Access value */
|
||||
@ -168,7 +168,7 @@ protected:
|
||||
uint8_t mcon; /* bootstrap loader MCON register */
|
||||
uint8_t rpctl; /* bootstrap loader RPCTL register */
|
||||
uint8_t crc; /* bootstrap loader CRC register */
|
||||
int32_t rnr_delay; /* delay before new random number available */
|
||||
int32_t rnr_delay; /* delay before new random number available */
|
||||
} m_ds5002fp;
|
||||
|
||||
// for the debugger
|
||||
|
@ -28,25 +28,25 @@
|
||||
|
||||
#include "softfloat3/source/include/softfloat.h"
|
||||
|
||||
#define LOG_BIU_CTRL (1U << 1)
|
||||
#define LOG_LOCK_CTRL (1U << 2)
|
||||
#define LOG_LOCK_CTRL_SAVE (1U << 3)
|
||||
#define LOG_CACHE_STATUS (1U << 4)
|
||||
#define LOG_RESTORE_LOCK_CTRL (1U << 5)
|
||||
#define LOG_SYSTEM_CTRL (1U << 6)
|
||||
#define LOG_SAME_PAGE_MASK (1U << 7)
|
||||
#define LOG_ADDR_RANGE (1U << 8)
|
||||
#define LOG_ADDR_MASK (1U << 9)
|
||||
#define LOG_WAIT_STATE (1U << 10)
|
||||
#define LOG_TIMER (1U << 11)
|
||||
#define LOG_TIMER_PRELOAD (1U << 12)
|
||||
#define LOG_BIU_CTRL (1U << 1)
|
||||
#define LOG_LOCK_CTRL (1U << 2)
|
||||
#define LOG_LOCK_CTRL_SAVE (1U << 3)
|
||||
#define LOG_CACHE_STATUS (1U << 4)
|
||||
#define LOG_RESTORE_LOCK_CTRL (1U << 5)
|
||||
#define LOG_SYSTEM_CTRL (1U << 6)
|
||||
#define LOG_SAME_PAGE_MASK (1U << 7)
|
||||
#define LOG_ADDR_RANGE (1U << 8)
|
||||
#define LOG_ADDR_MASK (1U << 9)
|
||||
#define LOG_WAIT_STATE (1U << 10)
|
||||
#define LOG_TIMER (1U << 11)
|
||||
#define LOG_TIMER_PRELOAD (1U << 12)
|
||||
#define LOG_UNMAPPED (1U << 13)
|
||||
#define LOG_ICACHE_LOCK (1U << 14)
|
||||
#define LOG_ICACHE_TAG (1U << 15)
|
||||
#define LOG_ICACHE_DATA (1U << 16)
|
||||
#define LOG_DCACHE_LOCK (1U << 17)
|
||||
#define LOG_DCACHE_TAG (1U << 18)
|
||||
#define LOG_DCACHE_DATA (1U << 19)
|
||||
#define LOG_ICACHE_LOCK (1U << 14)
|
||||
#define LOG_ICACHE_TAG (1U << 15)
|
||||
#define LOG_ICACHE_DATA (1U << 16)
|
||||
#define LOG_DCACHE_LOCK (1U << 17)
|
||||
#define LOG_DCACHE_TAG (1U << 18)
|
||||
#define LOG_DCACHE_DATA (1U << 19)
|
||||
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
@ -1,22 +1,22 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Michael Zapf
|
||||
/*
|
||||
Texas Instruments/Benchmarq BQ4847 Real-time clock
|
||||
Texas Instruments/Benchmarq BQ4847 Real-time clock
|
||||
|
||||
Although featuring a similar interface, this chip is sufficiently
|
||||
different from the BQ4842/BQ4852 that a separate implementation
|
||||
makes sense.
|
||||
Although featuring a similar interface, this chip is sufficiently
|
||||
different from the BQ4842/BQ4852 that a separate implementation
|
||||
makes sense.
|
||||
|
||||
This chip is functionally equivalent to the BQ4845; it does not support
|
||||
a backup battery. Most datasheets about the BQ4847 are incomplete and
|
||||
refer to the BQ4845.
|
||||
This chip is functionally equivalent to the BQ4845; it does not support
|
||||
a backup battery. Most datasheets about the BQ4847 are incomplete and
|
||||
refer to the BQ4845.
|
||||
|
||||
Supports 24h/12h and Daylight saving
|
||||
Supports leap years
|
||||
Supports 24h/12h and Daylight saving
|
||||
Supports leap years
|
||||
|
||||
No internal memory, only clock registers
|
||||
No internal memory, only clock registers
|
||||
|
||||
Michael Zapf, April 2020
|
||||
Michael Zapf, April 2020
|
||||
*/
|
||||
#include "emu.h"
|
||||
#include "bq4847.h"
|
||||
@ -153,11 +153,11 @@ bool bq4847_device::increment_bcd(uint8_t& bcdnumber, uint8_t limit, uint8_t min
|
||||
}
|
||||
|
||||
/*
|
||||
Update cycle, called every second
|
||||
The BQ RTCs use BCD representation
|
||||
Update cycle, called every second
|
||||
The BQ RTCs use BCD representation
|
||||
|
||||
TODO: We may not be able to use the parent class advance methods, since we
|
||||
have to work with BCD (even with invalid values). Check this.
|
||||
TODO: We may not be able to use the parent class advance methods, since we
|
||||
have to work with BCD (even with invalid values). Check this.
|
||||
*/
|
||||
TIMER_CALLBACK_MEMBER(bq4847_device::update_callback)
|
||||
{
|
||||
|
@ -2,11 +2,11 @@
|
||||
// copyright-holders:Sergey Svishchev
|
||||
/***************************************************************************
|
||||
|
||||
DEC DL11-type SLU (serial line unit).
|
||||
DEC DL11-type SLU (serial line unit).
|
||||
|
||||
Frame format is not software-configurable; hardcoded to 8N1 for now.
|
||||
Frame format is not software-configurable; hardcoded to 8N1 for now.
|
||||
|
||||
http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/hardware/micronotes/numerical/micronote33.txt
|
||||
http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/hardware/micronotes/numerical/micronote33.txt
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:Sergey Svishchev
|
||||
/***************************************************************************
|
||||
|
||||
DEC DL11-type SLU (serial line unit)
|
||||
DEC DL11-type SLU (serial line unit)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -82,8 +82,8 @@ private:
|
||||
devcb_write_line m_write_rxrdy;
|
||||
devcb_write_line m_write_txrdy;
|
||||
|
||||
line_state m_rxrdy;
|
||||
line_state m_txrdy;
|
||||
line_state m_rxrdy;
|
||||
line_state m_txrdy;
|
||||
|
||||
int m_rxc;
|
||||
int m_txc;
|
||||
|
@ -13,9 +13,9 @@
|
||||
#include "glukrs.h"
|
||||
|
||||
glukrs_device::glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, GLUKRS, tag, owner, clock),
|
||||
device_rtc_interface(mconfig, *this),
|
||||
m_nvram(*this, "nvram") {}
|
||||
: device_t(mconfig, GLUKRS, tag, owner, clock),
|
||||
device_rtc_interface(mconfig, *this),
|
||||
m_nvram(*this, "nvram") {}
|
||||
|
||||
void glukrs_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
|
@ -10,25 +10,25 @@
|
||||
#include "dirtc.h"
|
||||
|
||||
class glukrs_device : public device_t,
|
||||
public device_rtc_interface
|
||||
public device_rtc_interface
|
||||
{
|
||||
public:
|
||||
glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32'768);
|
||||
glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32'768);
|
||||
|
||||
u8 read(offs_t address);
|
||||
void write(offs_t address, u8 data);
|
||||
u8 read(offs_t address);
|
||||
void write(offs_t address, u8 data);
|
||||
|
||||
TIMER_CALLBACK_MEMBER(timer_callback);
|
||||
TIMER_CALLBACK_MEMBER(timer_callback);
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second) override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second) override;
|
||||
|
||||
private:
|
||||
u8 m_cmos[0x100];
|
||||
required_device<nvram_device> m_nvram;
|
||||
emu_timer *m_timer;
|
||||
u8 m_cmos[0x100];
|
||||
required_device<nvram_device> m_nvram;
|
||||
emu_timer *m_timer;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(GLUKRS, glukrs_device)
|
||||
|
@ -1,4 +1,4 @@
|
||||
// license:BSD-3-Clause
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders: Joakim Larsson Edstrom
|
||||
/***************************************************************************
|
||||
|
||||
|
@ -244,7 +244,7 @@ void spi_sdcard_device::do_command()
|
||||
}
|
||||
break;
|
||||
|
||||
case 8: // CMD8 - SEND_IF_COND (SD v2 only)
|
||||
case 8: // CMD8 - SEND_IF_COND (SD v2 only)
|
||||
m_data[0] = 0x01;
|
||||
m_data[1] = 0;
|
||||
m_data[2] = 0;
|
||||
@ -253,7 +253,7 @@ void spi_sdcard_device::do_command()
|
||||
send_data(5, SD_STATE_IDLE);
|
||||
break;
|
||||
|
||||
case 10: // CMD10 - SEND_CID
|
||||
case 10: // CMD10 - SEND_CID
|
||||
m_data[0] = 0x01; // initial R1 response
|
||||
m_data[1] = 0x00; // throwaway byte before data transfer
|
||||
m_data[2] = 0xfe; // data token
|
||||
|
@ -10,185 +10,185 @@
|
||||
#include "tsconfdma.h"
|
||||
|
||||
tsconfdma_device::tsconfdma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, TSCONF_DMA, tag, owner, clock),
|
||||
m_in_mreq_cb(*this),
|
||||
m_out_mreq_cb(*this),
|
||||
m_in_mspi_cb(*this),
|
||||
m_out_cram_cb(*this)
|
||||
: device_t(mconfig, TSCONF_DMA, tag, owner, clock),
|
||||
m_in_mreq_cb(*this),
|
||||
m_out_mreq_cb(*this),
|
||||
m_in_mspi_cb(*this),
|
||||
m_out_cram_cb(*this)
|
||||
{
|
||||
}
|
||||
|
||||
void tsconfdma_device::device_start()
|
||||
{
|
||||
m_in_mreq_cb.resolve_safe(0);
|
||||
m_out_mreq_cb.resolve_safe();
|
||||
m_in_mspi_cb.resolve_safe(0);
|
||||
m_out_cram_cb.resolve_safe();
|
||||
m_in_mreq_cb.resolve_safe(0);
|
||||
m_out_mreq_cb.resolve_safe();
|
||||
m_in_mspi_cb.resolve_safe(0);
|
||||
m_out_cram_cb.resolve_safe();
|
||||
|
||||
save_item(NAME(m_ready));
|
||||
save_item(NAME(m_address_s));
|
||||
save_item(NAME(m_address_d));
|
||||
save_item(NAME(m_block_len));
|
||||
save_item(NAME(m_block_num));
|
||||
save_item(NAME(m_align_s));
|
||||
save_item(NAME(m_align_d));
|
||||
save_item(NAME(m_align));
|
||||
save_item(NAME(m_ready));
|
||||
save_item(NAME(m_address_s));
|
||||
save_item(NAME(m_address_d));
|
||||
save_item(NAME(m_block_len));
|
||||
save_item(NAME(m_block_num));
|
||||
save_item(NAME(m_align_s));
|
||||
save_item(NAME(m_align_d));
|
||||
save_item(NAME(m_align));
|
||||
}
|
||||
|
||||
void tsconfdma_device::device_reset()
|
||||
{
|
||||
m_block_num = 0;
|
||||
m_ready = ASSERT_LINE;
|
||||
m_block_num = 0;
|
||||
m_ready = ASSERT_LINE;
|
||||
}
|
||||
|
||||
int tsconfdma_device::is_ready()
|
||||
{
|
||||
return m_ready;
|
||||
return m_ready;
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_saddr_l(u8 addr_l)
|
||||
{
|
||||
m_address_s = (m_address_s & 0xffffff00) | (addr_l & 0xfe);
|
||||
m_address_s = (m_address_s & 0xffffff00) | (addr_l & 0xfe);
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_saddr_h(u8 addr_h)
|
||||
{
|
||||
m_address_s = (m_address_s & 0xffffc0ff) | ((addr_h & 0x3f) << 8);
|
||||
m_address_s = (m_address_s & 0xffffc0ff) | ((addr_h & 0x3f) << 8);
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_saddr_x(u8 addr_x)
|
||||
{
|
||||
m_address_s = (m_address_s & 0x0003fff) | (addr_x << 14);
|
||||
m_address_s = (m_address_s & 0x0003fff) | (addr_x << 14);
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_daddr_l(u8 addr_l)
|
||||
{
|
||||
m_address_d = (m_address_d & 0xffffff00) | (addr_l & 0xfe);
|
||||
m_address_d = (m_address_d & 0xffffff00) | (addr_l & 0xfe);
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_daddr_h(u8 addr_h)
|
||||
{
|
||||
m_address_d = (m_address_d & 0xffffc0ff) | ((addr_h & 0x3f) << 8);
|
||||
m_address_d = (m_address_d & 0xffffc0ff) | ((addr_h & 0x3f) << 8);
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_daddr_x(u8 addr_x)
|
||||
{
|
||||
m_address_d = (m_address_d & 0x0003fff) | (addr_x << 14);
|
||||
m_address_d = (m_address_d & 0x0003fff) | (addr_x << 14);
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_block_len(u8 len)
|
||||
{
|
||||
// 1..256
|
||||
m_block_len = len;
|
||||
// 1..256
|
||||
m_block_len = len;
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_block_num_l(u8 num_l)
|
||||
{
|
||||
m_block_num = (m_block_num & 0xff00) | num_l;
|
||||
m_block_num = (m_block_num & 0xff00) | num_l;
|
||||
}
|
||||
|
||||
void tsconfdma_device::set_block_num_h(u8 num_h)
|
||||
{
|
||||
// 1..1025 * 2
|
||||
m_block_num = (m_block_num & 0x00ff) | ((num_h & 0x03) << 8);
|
||||
// 1..1025 * 2
|
||||
m_block_num = (m_block_num & 0x00ff) | ((num_h & 0x03) << 8);
|
||||
}
|
||||
|
||||
void tsconfdma_device::start_tx(u8 dev, bool s_align, bool d_align, bool align_opt)
|
||||
{
|
||||
m_ready = CLEAR_LINE;
|
||||
m_align = align_opt ? 512 : 256;
|
||||
m_ready = CLEAR_LINE;
|
||||
m_align = align_opt ? 512 : 256;
|
||||
|
||||
// TODO Transfers 2 byte/cycle at 7MHz
|
||||
switch (dev)
|
||||
{
|
||||
case 0b0001: // Mem -> Mem
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto s_addr = m_address_s;
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, m_in_mreq_cb(s_addr));
|
||||
s_addr += 2;
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_s = s_align ? (m_address_s + m_align) : s_addr;
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
// TODO Transfers 2 byte/cycle at 7MHz
|
||||
switch (dev)
|
||||
{
|
||||
case 0b0001: // Mem -> Mem
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto s_addr = m_address_s;
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, m_in_mreq_cb(s_addr));
|
||||
s_addr += 2;
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_s = s_align ? (m_address_s + m_align) : s_addr;
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0b0010: // SPI -> Mem
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, m_in_mspi_cb());
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
case 0b0010: // SPI -> Mem
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, m_in_mspi_cb());
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0b0100: // Fill
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
u16 data = m_in_mreq_cb(m_address_s);
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, data);
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
case 0b0100: // Fill
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
u16 data = m_in_mreq_cb(m_address_s);
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, data);
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0b1001: // Blt -> Mem
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto s_addr = m_address_s;
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
u16 d_val = m_in_mreq_cb(d_addr);
|
||||
if (d_val != 0)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, m_in_mreq_cb(s_addr));
|
||||
}
|
||||
s_addr += 2;
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_s = s_align ? (m_address_s + m_align) : s_addr;
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
case 0b1001: // Blt -> Mem
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto s_addr = m_address_s;
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
u16 d_val = m_in_mreq_cb(d_addr);
|
||||
if (d_val != 0)
|
||||
{
|
||||
m_out_mreq_cb(d_addr, m_in_mreq_cb(s_addr));
|
||||
}
|
||||
s_addr += 2;
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_s = s_align ? (m_address_s + m_align) : s_addr;
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0b1100: // RAM -> CRAM
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto s_addr = m_address_s;
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_cram_cb(d_addr, m_in_mreq_cb(s_addr));
|
||||
s_addr += 2;
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_s = s_align ? (m_address_s + m_align) : s_addr;
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
case 0b1100: // RAM -> CRAM
|
||||
for (u16 block = 0; block <= m_block_num; block++)
|
||||
{
|
||||
auto s_addr = m_address_s;
|
||||
auto d_addr = m_address_d;
|
||||
for (u16 len = 0; len <= m_block_len; len++)
|
||||
{
|
||||
m_out_cram_cb(d_addr, m_in_mreq_cb(s_addr));
|
||||
s_addr += 2;
|
||||
d_addr += 2;
|
||||
}
|
||||
m_address_s = s_align ? (m_address_s + m_align) : s_addr;
|
||||
m_address_d = d_align ? (m_address_d + m_align) : d_addr;
|
||||
}
|
||||
break;
|
||||
|
||||
//case 0b1101: // RAM -> SFILE
|
||||
// break;
|
||||
//case 0b1101: // RAM -> SFILE
|
||||
// break;
|
||||
|
||||
default:
|
||||
logerror("'tsdma': TX %02X: %06X (%02X:%04X) -> %06X\n", dev, m_address_s, m_block_len, m_block_num, m_address_d);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
logerror("'tsdma': TX %02X: %06X (%02X:%04X) -> %06X\n", dev, m_address_s, m_block_len, m_block_num, m_address_d);
|
||||
break;
|
||||
}
|
||||
|
||||
m_ready = ASSERT_LINE;
|
||||
m_ready = ASSERT_LINE;
|
||||
}
|
||||
|
||||
// device type definition
|
||||
|
@ -14,44 +14,44 @@
|
||||
class tsconfdma_device : public device_t
|
||||
{
|
||||
public:
|
||||
tsconfdma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
tsconfdma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
auto in_mreq_callback() { return m_in_mreq_cb.bind(); }
|
||||
auto out_mreq_callback() { return m_out_mreq_cb.bind(); }
|
||||
auto in_spireq_callback() { return m_in_mspi_cb.bind(); }
|
||||
auto out_cram_callback() { return m_out_cram_cb.bind(); }
|
||||
auto in_mreq_callback() { return m_in_mreq_cb.bind(); }
|
||||
auto out_mreq_callback() { return m_out_mreq_cb.bind(); }
|
||||
auto in_spireq_callback() { return m_in_mspi_cb.bind(); }
|
||||
auto out_cram_callback() { return m_out_cram_cb.bind(); }
|
||||
|
||||
int is_ready();
|
||||
int is_ready();
|
||||
|
||||
void set_saddr_l(uint8_t addr_l);
|
||||
void set_saddr_h(uint8_t addr_h);
|
||||
void set_saddr_x(uint8_t addr_x);
|
||||
void set_daddr_l(uint8_t addr_l);
|
||||
void set_daddr_h(uint8_t addr_h);
|
||||
void set_daddr_x(uint8_t addr_x);
|
||||
void set_block_len(uint8_t len);
|
||||
void set_block_num_l(uint8_t num_l);
|
||||
void set_block_num_h(uint8_t num_h);
|
||||
void start_tx(uint8_t dev, bool s_align, bool d_align, bool blitting_opt);
|
||||
void set_saddr_l(uint8_t addr_l);
|
||||
void set_saddr_h(uint8_t addr_h);
|
||||
void set_saddr_x(uint8_t addr_x);
|
||||
void set_daddr_l(uint8_t addr_l);
|
||||
void set_daddr_h(uint8_t addr_h);
|
||||
void set_daddr_x(uint8_t addr_x);
|
||||
void set_block_len(uint8_t len);
|
||||
void set_block_num_l(uint8_t num_l);
|
||||
void set_block_num_h(uint8_t num_h);
|
||||
void start_tx(uint8_t dev, bool s_align, bool d_align, bool blitting_opt);
|
||||
|
||||
private:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
devcb_read16 m_in_mreq_cb;
|
||||
devcb_write16 m_out_mreq_cb;
|
||||
devcb_read16 m_in_mspi_cb;
|
||||
devcb_write16 m_out_cram_cb;
|
||||
devcb_read16 m_in_mreq_cb;
|
||||
devcb_write16 m_out_mreq_cb;
|
||||
devcb_read16 m_in_mspi_cb;
|
||||
devcb_write16 m_out_cram_cb;
|
||||
|
||||
u8 m_ready;
|
||||
u8 m_ready;
|
||||
|
||||
offs_t m_address_s;
|
||||
offs_t m_address_d;
|
||||
u8 m_block_len;
|
||||
u16 m_block_num;
|
||||
bool m_align_s;
|
||||
bool m_align_d;
|
||||
u16 m_align;
|
||||
offs_t m_address_s;
|
||||
offs_t m_address_d;
|
||||
u8 m_block_len;
|
||||
u16 m_block_num;
|
||||
bool m_align_s;
|
||||
bool m_align_d;
|
||||
u16 m_align;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(TSCONF_DMA, tsconfdma_device)
|
||||
|
@ -14,9 +14,9 @@
|
||||
- Some minor other tweeks (no EGHOLD, slighly more capable DSP)
|
||||
|
||||
TODO:
|
||||
- Convert I/O registers to space addresses;
|
||||
- Convert I/O registers to space addresses;
|
||||
- Timebases are based on 44100KHz case?
|
||||
- Derive from SCSP device;
|
||||
- Derive from SCSP device;
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -128,20 +128,14 @@ void a2600_pop_state::memory_map(address_map &map) // 6507 has 13-bit address sp
|
||||
}
|
||||
|
||||
|
||||
void a2600_pop_state::banked_map(address_map &map)
|
||||
{
|
||||
map(0x00000, 0x02ffff).rom().region("maincpu", 0);
|
||||
}
|
||||
|
||||
|
||||
// read returns number of empty game rom slots
|
||||
uint8_t a2600_pop_state::rom_switch_r(offs_t offset)
|
||||
{
|
||||
return 5; // Max 47 games, 5 empty slots => 42 games
|
||||
return 5; // Max 47 games, 5 empty slots => 42 games
|
||||
}
|
||||
|
||||
|
||||
// Rom switch
|
||||
// Rom switch
|
||||
void a2600_pop_state::rom_switch_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
m_bank->set_entry(data & 0x7f);
|
||||
|
@ -4809,7 +4809,7 @@ void apple2gs_state::apple2gs(machine_config &config)
|
||||
applefdintf_device::add_35(config, m_floppy[2]);
|
||||
applefdintf_device::add_35(config, m_floppy[3]);
|
||||
|
||||
SOFTWARE_LIST(config, "flop_gs_clean").set_original("apple2gs_flop_clcracked"); // GS-specific cleanly cracked disks
|
||||
SOFTWARE_LIST(config, "flop_gs_clean").set_original("apple2gs_flop_clcracked"); // GS-specific cleanly cracked disks
|
||||
SOFTWARE_LIST(config, "flop_gs_orig").set_compatible("apple2gs_flop_orig"); // Original disks for GS
|
||||
SOFTWARE_LIST(config, "flop_gs_misc").set_compatible("apple2gs_flop_misc"); // Legacy software list pre-June 2021 and defaced cracks
|
||||
SOFTWARE_LIST(config, "flop_a2_clean").set_compatible("apple2_flop_clcracked"); // Apple II series cleanly cracked
|
||||
|
@ -1,4 +1,4 @@
|
||||
// license:BSD-3-Clause
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:
|
||||
/***************************************************************************
|
||||
|
||||
|
@ -171,7 +171,7 @@ void kcgd_state::kcgd_mem(address_map &map)
|
||||
// future
|
||||
static const z80_daisy_config daisy_chain[] =
|
||||
{
|
||||
// { "pic" },
|
||||
// { "pic" },
|
||||
{ "dl11kbd" },
|
||||
{ "dl11host" },
|
||||
{ nullptr }
|
||||
@ -215,8 +215,8 @@ void kcgd_state::machine_start()
|
||||
m_tmpclip = rectangle(0, KCGD_DISP_HORZ - 1, 0, KCGD_DISP_VERT - 1);
|
||||
m_tmpbmp.allocate(KCGD_DISP_HORZ, KCGD_DISP_VERT);
|
||||
// future
|
||||
// m_vsync_on_timer = timer_alloc(TIMER_ID_VSYNC);
|
||||
// m_vsync_on_timer->adjust(m_screen->time_until_pos(0, 0), 0, m_screen->frame_period());
|
||||
// m_vsync_on_timer = timer_alloc(TIMER_ID_VSYNC);
|
||||
// m_vsync_on_timer->adjust(m_screen->time_until_pos(0, 0), 0, m_screen->frame_period());
|
||||
m_500hz_timer = timer_alloc(TIMER_ID_500HZ);
|
||||
m_500hz_timer->adjust(attotime::from_hz(500), 0, attotime::from_hz(500));
|
||||
}
|
||||
@ -393,7 +393,7 @@ void kcgd_state::kcgd(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &kcgd_state::kcgd_mem);
|
||||
m_maincpu->set_initial_mode(0100000);
|
||||
// future
|
||||
// m_maincpu->set_daisy_config(daisy_chain);
|
||||
// m_maincpu->set_daisy_config(daisy_chain);
|
||||
|
||||
timer_device &scantimer(TIMER(config, "scantimer"));
|
||||
scantimer.configure_periodic(FUNC(kcgd_state::scanline_callback), attotime::from_hz(50 * 28 * 11));
|
||||
@ -417,9 +417,9 @@ void kcgd_state::kcgd(machine_config &config)
|
||||
m_dl11host->set_txvec(0364);
|
||||
m_dl11host->txd_wr_callback().set(m_rs232, FUNC(rs232_port_device::write_txd));
|
||||
// future
|
||||
// m_dl11host->rts_wr_callback().set(m_rs232, FUNC(rs232_port_device::write_rts));
|
||||
// m_dl11host->txrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11host->rxrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11host->rts_wr_callback().set(m_rs232, FUNC(rs232_port_device::write_rts));
|
||||
// m_dl11host->txrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11host->rxrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, "null_modem");
|
||||
m_rs232->rxd_handler().set(m_dl11host, FUNC(dl11_device::rx_w));
|
||||
@ -432,8 +432,8 @@ void kcgd_state::kcgd(machine_config &config)
|
||||
m_dl11kbd->set_txvec(064);
|
||||
m_dl11kbd->txd_wr_callback().set(m_ms7004, FUNC(ms7004_device::write_rxd));
|
||||
// future
|
||||
// m_dl11kbd->txrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11kbd->rxrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11kbd->txrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11kbd->rxrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
|
||||
MS7004(config, m_ms7004, 0);
|
||||
m_ms7004->tx_handler().set(m_dl11kbd, FUNC(dl11_device::rx_w));
|
||||
|
@ -22,70 +22,70 @@ Year Game PCB NOTES
|
||||
|
||||
-------------------------------------------------------------
|
||||
Note about 57.42 'FRAMERATE_922804' screen refresh
|
||||
frequency and protection checks.
|
||||
frequency and protection checks.
|
||||
|
||||
In thoop there's a timing loop at 0x49e-4ac. It's
|
||||
In thoop there's a timing loop at 0x49e-4ac. It's
|
||||
counting frames between interrupt-triggers.
|
||||
|
||||
0x49e writes the count to 0xffdb62.
|
||||
0x49e writes the count to 0xffdb62.
|
||||
|
||||
While fighting the second-stage boss, when the pink
|
||||
things fly out, 0x8970 is called. 0x8988 fetches
|
||||
from 0xffdb62. If the value is > 0xdd1 (via 0x898a)
|
||||
or < 0xdb1 (via 0x8992), then 0x89ac sets 0xffdc45
|
||||
to 5.
|
||||
things fly out, 0x8970 is called. 0x8988 fetches
|
||||
from 0xffdb62. If the value is > 0xdd1 (via 0x898a)
|
||||
or < 0xdb1 (via 0x8992), then 0x89ac sets 0xffdc45
|
||||
to 5.
|
||||
|
||||
At 60hz the value returned is 0xd29, which causes
|
||||
the fail condition to trigger. Values >=57.3 or
|
||||
<=57.7 give a result within the required range. The
|
||||
failure is not obvious at this point.
|
||||
At 60hz the value returned is 0xd29, which causes
|
||||
the fail condition to trigger. Values >=57.3 or
|
||||
<=57.7 give a result within the required range. The
|
||||
failure is not obvious at this point.
|
||||
|
||||
While fighting the third boss, 0xc2e8 is called.
|
||||
After passing checks to know exactly when to trigger
|
||||
(specifically, after the boss is defeated and the
|
||||
power-up animation is finishes), 0xc350 checks if
|
||||
While fighting the third boss, 0xc2e8 is called.
|
||||
After passing checks to know exactly when to trigger
|
||||
(specifically, after the boss is defeated and the
|
||||
power-up animation is finishes), 0xc350 checks if
|
||||
0xffdc45 is 5. If it is, then we reach 0xc368, which
|
||||
0xc368 sets 0xffe08e to 0x27. Again the failure is
|
||||
not obvious at this point.
|
||||
0xc368 sets 0xffe08e to 0x27. Again the failure is
|
||||
not obvious at this point.
|
||||
|
||||
0xffe08e is checked during player respawn after
|
||||
losing a life or continuing at 0x16d00, with an
|
||||
explicit compare against 0x27, if this condition is
|
||||
met, then the game will intentionally corrupt memory
|
||||
and crash.
|
||||
0xffe08e is checked during player respawn after
|
||||
losing a life or continuing at 0x16d00, with an
|
||||
explicit compare against 0x27, if this condition is
|
||||
met, then the game will intentionally corrupt memory
|
||||
and crash.
|
||||
|
||||
Many of these checks are done with obfuscated code
|
||||
to hide the target addresses eg.
|
||||
Many of these checks are done with obfuscated code
|
||||
to hide the target addresses eg.
|
||||
|
||||
writing 0x27 to 0xffe08e
|
||||
00C35C: lea $ffc92b.l, A4
|
||||
00C362: adda.l #$1763, A4
|
||||
00C368: move.b #$27, (A4)
|
||||
writing 0x27 to 0xffe08e
|
||||
00C35C: lea $ffc92b.l, A4
|
||||
00C362: adda.l #$1763, A4
|
||||
00C368: move.b #$27, (A4)
|
||||
|
||||
This makes it more difficult to find where the checks
|
||||
are being performed as an additional layer of
|
||||
security
|
||||
This makes it more difficult to find where the checks
|
||||
are being performed as an additional layer of
|
||||
security
|
||||
|
||||
Squash has a similar timing loop, but with the
|
||||
expected values adjusted due to the different 68000
|
||||
clock on the otherwise identical Squash PCB (10Mhz on
|
||||
Squash vs. 12Mhz on Thunder Hoop) In the case of
|
||||
Squash the most obvious sign of failure is bad
|
||||
'Insert Coin' sprites at the bottom of the screen
|
||||
after a continue.
|
||||
Squash has a similar timing loop, but with the
|
||||
expected values adjusted due to the different 68000
|
||||
clock on the otherwise identical Squash PCB (10Mhz on
|
||||
Squash vs. 12Mhz on Thunder Hoop) In the case of
|
||||
Squash the most obvious sign of failure is bad
|
||||
'Insert Coin' sprites at the bottom of the screen
|
||||
after a continue.
|
||||
|
||||
A refresh rate of 57.42, while not yet accurately
|
||||
measured, allows a video of thoop to stay in sync with
|
||||
MAME over a 10 minute period.
|
||||
A refresh rate of 57.42, while not yet accurately
|
||||
measured, allows a video of thoop to stay in sync with
|
||||
MAME over a 10 minute period.
|
||||
|
||||
No checks have been observed in Biomechanical Toy,
|
||||
the Maniac Square prototype, or the Last KM prototype.
|
||||
No checks have been observed in Biomechanical Toy,
|
||||
the Maniac Square prototype, or the Last KM prototype.
|
||||
|
||||
Big Karnak runs on a different board type and does fail
|
||||
if the CPU clock is set to 10Mhz rather than 12Mhz, it
|
||||
also has additional checks which may still fail and
|
||||
need more extensive research to determine exactly what
|
||||
is being timed.
|
||||
Big Karnak runs on a different board type and does fail
|
||||
if the CPU clock is set to 10Mhz rather than 12Mhz, it
|
||||
also has additional checks which may still fail and
|
||||
need more extensive research to determine exactly what
|
||||
is being timed.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -249,7 +249,7 @@ void igt_gameking_state::igt_gameking_map(address_map &map)
|
||||
map(0x2801001c, 0x2801001f).nopw();
|
||||
map(0x28010030, 0x28010033).r(FUNC(igt_gameking_state::uart_status_r)); // channel D
|
||||
map(0x28010034, 0x28010037).w(FUNC(igt_gameking_state::uart_w)); // channel D
|
||||
map(0x28020000, 0x280205ff).flags(i960_cpu_device::BURST).ram(); // CMOS?
|
||||
map(0x28020000, 0x280205ff).flags(i960_cpu_device::BURST).ram(); // CMOS?
|
||||
// map(0x28020000, 0x2802007f).r(FUNC(igt_gameking_state::igt_gk_28010008_r)).nopw();
|
||||
map(0x28030000, 0x28030003).portr("IN0");
|
||||
// map(0x28040000, 0x2804007f).rw("quart2", FUNC(sc28c94_device::read), FUNC(sc28c94_device::write)).umask32(0x00ff00ff);
|
||||
|
@ -5402,7 +5402,7 @@ ROM_START( adpoker )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************** BUENA SUERTE SETS ****************************************/
|
||||
|
||||
/*
|
||||
|
@ -261,7 +261,7 @@ ROM_END
|
||||
|
||||
/* Info about "Far West":
|
||||
The sound contains shooting samples and a small sample of the Rawhide main theme.
|
||||
Background layout (four shooting targets as food cans with led circles), see https://youtu.be/YVxThMwhvKQ
|
||||
Background layout (four shooting targets as food cans with led circles), see https://youtu.be/YVxThMwhvKQ
|
||||
|
||||
o o o o
|
||||
o o o o o o o o <- 16 LEDs
|
||||
|
@ -1746,7 +1746,7 @@ Desktop?
|
||||
void pc_state::ec1847(machine_config &config)
|
||||
{
|
||||
pccga(config);
|
||||
// subdevice<isa8_slot_device>("isa1")->set_default_option("hercules");
|
||||
// subdevice<isa8_slot_device>("isa1")->set_default_option("hercules");
|
||||
}
|
||||
|
||||
ROM_START( ec1847 )
|
||||
|
@ -345,8 +345,8 @@ void pdp11_state::pdp11(machine_config &config)
|
||||
m_dl11->set_txvec(064);
|
||||
m_dl11->txd_wr_callback().set(m_rs232, FUNC(rs232_port_device::write_txd));
|
||||
// future
|
||||
// m_dl11->txrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11->rxrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11->txrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
// m_dl11->rxrdy_wr_callback().set_inputline(m_maincpu, T11_IRQ0);
|
||||
|
||||
RS232_PORT(config, m_rs232, default_rs232_devices, "terminal");
|
||||
m_rs232->rxd_handler().set(m_dl11, FUNC(dl11_device::rx_w));
|
||||
|
@ -257,7 +257,7 @@ ROM_START( rfsantafeg )
|
||||
ROM_REGION(0x4000, "pics", 0)
|
||||
|
||||
/*
|
||||
PCB counters (contadores) R.F. 53430106
|
||||
PCB counters (contadores) R.F. 53430106
|
||||
-PIC18F2580
|
||||
-Xtal 12.00 MHz
|
||||
-SEEPROM 82C251
|
||||
|
@ -295,10 +295,10 @@ void shaolins_state::shaolins(machine_config &config)
|
||||
|
||||
/* video hardware */
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
// m_screen->set_refresh_hz(60);
|
||||
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
// m_screen->set_size(32*8, 32*8);
|
||||
// m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
|
||||
// m_screen->set_refresh_hz(60);
|
||||
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
// m_screen->set_size(32*8, 32*8);
|
||||
// m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
|
||||
// Pixel clock is / 3 the master clock (6'144'000)
|
||||
// Refresh rate is 60.606060 Hz, with 40 vblank lines
|
||||
m_screen->set_raw(MASTER_CLOCK / 3, 384, 0, 256, 264, 16, 240);
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Andrei I. Holub
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
TS-Configuration (ZX Evolution) machine driver.
|
||||
Implementation: Revision C / 5-bit VDAC
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
- Floppy (WDC1793) Beta-disk compatible interface, IDE (one channel, up to 2 devices on master/slave mode), SD(HC) card, RS232;
|
||||
- Sound: AY, Beeper, Covox (PWM);
|
||||
- Real-time clock.
|
||||
|
||||
|
||||
Features (TS-Configuration):
|
||||
- Resolutions: 360x288, 320x240, 320x200, 256x192
|
||||
- Hardware scrolled graphic planes
|
||||
@ -25,16 +25,16 @@
|
||||
- Programmable color RAM with RGB555 color space and 256 cells
|
||||
- Text mode with loadable font and hardware vertical scroll
|
||||
- Up to 256 graphic screens
|
||||
|
||||
|
||||
- Up to 85 sprites per line
|
||||
- Sprites sized from 8x8 to 64x64 pixels
|
||||
- Up to 3 sprite planes
|
||||
- Up to 2 tile planes with 8x8 pixels tiles
|
||||
- Up to 16 palettes for sprites per line
|
||||
- Up to 4 palettes for tiles per line for each tile plane
|
||||
|
||||
|
||||
- DRAM-to-Device, Device-to-DRAM and DRAM-to-DRAM DMA Controller
|
||||
|
||||
|
||||
Refs:
|
||||
ZxEvo: http://nedopc.com/zxevo/zxevo_eng.php
|
||||
Principal scheme (rev. C) :: http://nedopc.com/zxevo/zxevo_sch_revc.pdf
|
||||
@ -43,7 +43,7 @@
|
||||
https://github.com/tslabs/zx-evo/raw/master/pentevo/docs/TSconf/TSconf.xls
|
||||
FAQ-RUS: https://forum.tslabs.info/viewtopic.php?f=35&t=157
|
||||
ROM: https://github.com/tslabs/zx-evo/blob/master/pentevo/rom/bin/ts-bios.rom (validated on: 2021-12-14)
|
||||
|
||||
|
||||
HowTo:
|
||||
# Use ts-bios.rom above. You also need tr-dos roms which simpliest(?) to get from pentagon.
|
||||
# Create SD image "wc.img"
|
||||
@ -55,7 +55,7 @@
|
||||
# Change "Reset To: BD boot.$c"
|
||||
# Reset (F3)
|
||||
# Enable keyboard: MAME Setup (Tab) > Keyboard Mode > AT Keyboard: Enabled
|
||||
|
||||
|
||||
TODO:
|
||||
- Interrupts
|
||||
- Sprites
|
||||
@ -66,7 +66,7 @@
|
||||
- Ram cache
|
||||
- VDos
|
||||
- Many more...
|
||||
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
@ -145,8 +145,8 @@ void tsconf_state::tsconf_bank_w(offs_t offset, u8 data)
|
||||
static const gfx_layout spectrum_charlayout =
|
||||
{
|
||||
8, 8, /* 8 x 8 characters */
|
||||
96, /* 96 characters */
|
||||
1, /* 1 bits per pixel */
|
||||
96, /* 96 characters */
|
||||
1, /* 1 bits per pixel */
|
||||
{0}, /* no bitplanes */
|
||||
/* x offsets */
|
||||
{STEP8(0, 1)},
|
||||
@ -231,12 +231,12 @@ void tsconf_state::machine_reset()
|
||||
m_regs[FMAPS] &= 0xef; // xxx0xxxx
|
||||
m_regs[SYS_CONFIG] = 0x00;
|
||||
m_regs[MEM_CONFIG] = 0x04;
|
||||
m_regs[HS_INT] = 0x01; // 00000001
|
||||
m_regs[HS_INT] = 0x01; // 00000001
|
||||
m_regs[VS_INT_L] = 0x00; // 00000001
|
||||
m_regs[VS_INT_H] = 0x00; // 0000xxx0
|
||||
// FDDVirt = 0x00; // 0000xxx0
|
||||
// FDDVirt = 0x00; // 0000xxx0
|
||||
m_regs[INT_MASK] = 0x01; // xxxxx001
|
||||
// CacheConfig = 0x01; // xxxxx001
|
||||
// CacheConfig = 0x01; // xxxxx001
|
||||
|
||||
if (m_beta->started())
|
||||
m_beta->enable();
|
||||
@ -292,5 +292,5 @@ ROM_START(tsconf)
|
||||
ROM_LOAD("ts-bios.rom", 0x010000, 0x10000, CRC(b060b0d9) SHA1(820d3539de115141daff220a3cb733fc880d1bab))
|
||||
ROM_END
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||
COMP( 2011, tsconf, spec128, 0, tsconf, spec_plus, tsconf_state, empty_init, "NedoPC, TS-Labs", "ZX Evolution TS-Configuration", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_TIMING )
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||
COMP( 2011, tsconf, spec128, 0, tsconf, spec_plus, tsconf_state, empty_init, "NedoPC, TS-Labs", "ZX Evolution TS-Configuration", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_TIMING )
|
||||
|
@ -14,6 +14,7 @@ TODO:
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/generic/carts.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
@ -25,10 +26,15 @@ TODO:
|
||||
#include "machine/z80daisy.h"
|
||||
#include "machine/z80sio.h"
|
||||
#include "sound/spkrdev.h"
|
||||
|
||||
#include "softlist.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#include "z80clock.lh"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class z80clock_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -432,4 +438,6 @@ INPUT_PORTS_END
|
||||
ROM_START( z80clock )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
COMP(2020, z80clock, 0, 0, z80clock, z80clock, z80clock_state, empty_init, "Tom Storey", "Z80 based, triple time zone clock", MACHINE_SUPPORTS_SAVE)
|
||||
|
@ -128,7 +128,6 @@ protected:
|
||||
|
||||
private:
|
||||
void memory_map(address_map &map);
|
||||
void banked_map(address_map &map);
|
||||
|
||||
uint8_t rom_switch_r(offs_t offset);
|
||||
void rom_switch_w(offs_t offset, uint8_t data);
|
||||
|
@ -10,14 +10,18 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "spectrum.h"
|
||||
|
||||
#include "machine/beta.h"
|
||||
|
||||
#include "machine/glukrs.h"
|
||||
#include "machine/pckeybrd.h"
|
||||
#include "machine/spi_sdcard.h"
|
||||
#include "machine/tsconfdma.h"
|
||||
#include "spectrum.h"
|
||||
|
||||
#include "tilemap.h"
|
||||
|
||||
|
||||
class tsconf_state : public spectrum_128_state
|
||||
{
|
||||
public:
|
||||
|
@ -14,7 +14,8 @@ class gaelco_vram_encryption_device : public device_t
|
||||
public:
|
||||
// construction/destruction
|
||||
gaelco_vram_encryption_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
void set_params(uint8_t param1, uint16_t param2) { m_param1 = param1; m_param2 = param2; }
|
||||
|
||||
void set_params(uint8_t param1, uint16_t param2) { m_param1 = param1; m_param2 = param2; }
|
||||
|
||||
uint16_t gaelco_decrypt(cpu_device &cpu, int offset, int data);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user