srcclean in preparation for release

This commit is contained in:
Vas Crabb 2021-06-27 13:34:50 +10:00
parent 322eb2a2b2
commit 4b075a2c6f
54 changed files with 498 additions and 498 deletions

View File

@ -42408,7 +42408,7 @@ license:CC0
</part>
</software>
<software name="advelec">
<software name="advelec">
<description>Advanced Electricity (cleanly cracked)</description>
<year>1984</year>
<publisher>Educational Materials and Equipment</publisher>
@ -42422,7 +42422,7 @@ license:CC0
</part>
</software>
<software name="compcirc">
<software name="compcirc">
<description>Complex Circuits (cleanly cracked)</description>
<year>1984</year>
<publisher>Educational Materials and Equipment</publisher>
@ -42436,13 +42436,13 @@ license:CC0
</part>
</software>
<software name="pforth30">
<software name="pforth30">
<description>PAI Forth (Version 3.0, 12-21-1985) (cleanly cracked)</description>
<year>1985</year>
<publisher>Prentice Associates Incorporated</publisher>
<info name="release" value="2021-06-10"/>
<!--"PAI Forth" is a 1985 development program. This is version 3.0. It is preserved here for the first time.-->
<!-- It is uncertain as of now whether this was used internally or released. More research is required. - FH -->
<!-- It is uncertain as of now whether this was used internally or released. More research is required. - FH -->
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="143360">
@ -42451,7 +42451,7 @@ license:CC0
</part>
</software>
<software name="rboots82">
<software name="rboots82">
<description>Rocky's Boots (Unknown 1982 version) (cleanly cracked)</description>
<year>1982</year>
<publisher>The Learning Company</publisher>
@ -42465,7 +42465,7 @@ license:CC0
</part>
</software>
<software name="prsnr110s">
<software name="prsnr110s">
<description>The Prisoner (Version 1.10) (SoftSmith) (cleanly cracked)</description>
<year>1980</year>
<publisher>SoftSmith</publisher>

View File

@ -176,19 +176,19 @@ is confirmed.
</software>
<!--
Load or type an Z80 assembler program as BASIC lines. Example:
10 ORG 4800H
20 LD HL,4400H
30 LD DE,4401H
40 LD BC,3FFH
50 LD (HL),42
60 LDIR
60 RET
70 END 4800H
Note there are two blanks after a line number. If you want to define a label,
use just one blank and write e.g. '40 LABEL: LD HL,1234H'.
Finally you can use NAME /OA to output to cassette,
/NS to not create the symbol table, /TM to assemble to memory.
Load or type an Z80 assembler program as BASIC lines. Example:
10 ORG 4800H
20 LD HL,4400H
30 LD DE,4401H
40 LD BC,3FFH
50 LD (HL),42
60 LDIR
60 RET
70 END 4800H
Note there are two blanks after a line number. If you want to define a label,
use just one blank and write e.g. '40 LABEL: LD HL,1234H'.
Finally you can use NAME /OA to output to cassette,
/NS to not create the symbol table, /TM to assemble to memory.
-->
<software name="colasm">
<description>Colour-Assembler</description>

View File

@ -15521,7 +15521,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="monkeyit" cloneof="monkeyk">
<description>The Secret of Monkey Island (Italy)</description>
<year>1991</year>

View File

@ -14,7 +14,7 @@ license:CC0
(* = dumped and boots in MAME
B = confirmed bad dump
V = validated with 2nd cartridge)
V = validated with 2nd cartridge)
The flash ROMs on these cartridges look to be deteriorating, each will likely need verifying against multiple cartridges to verify the integrity of
the data.
@ -45,7 +45,7 @@ license:CC0
* H6228 - Juice Box Music Video (Avril Lavine, The Calling, Clay Miken, Ruben Studdard)
* H6230A- Juice Box Music Video (Baha Men, Jump5, Jump5, Beu Sisters, ZOEgirl)
* H6232 - Juice Box Music Video (Zoegirl, Jump5, Jump5, Baha Men, Atomic Kitten)
H6233 - Kenny Chesney - 'Live Those Songs', 'No Shoes, No Shirt, No Problems', 'I Go Back' Sara Evans - 'Suds in the Bucket, Martina McBride - 'This One's For The Girls'
H6233 - Kenny Chesney - 'Live Those Songs', 'No Shoes, No Shirt, No Problems', 'I Go Back' Sara Evans - 'Suds in the Bucket, Martina McBride - 'This One's For The Girls'
H6234 - Juice Box Music Video (Ashlee Simpson, Ashlee Simpson) (same 2 Ashlee Simpson songs as H6226, but without other tracks)
H6248 - Codename: Kids Next Door - Episode #19
H6254 - Juice Box Music Video (Liz Flair, Stacie Orrico, Skye Sweetnam, Zoegirl) (full part # H6254-0971G1) (include 'the making of' for Skye Sweetnam Tangled Up in Me)
@ -64,7 +64,7 @@ license:CC0
- Brett Favre - The Field General
H269x - Courage - The Cowardly Dog Volume 1
- Dexter's Laboratory Episode 51
(many still missing from this list)
-->
@ -262,7 +262,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="sbcv1" supported="partial">
<description>Streetball Classics Volume 1 (H7416)</description>
<year>2004</year>
@ -273,13 +273,13 @@ license:CC0
<rom name="jb_streetball-classics-vol1_h7416_matrix11247_9875.smc" size="0x2100400" crc="ada20763" sha1="b973e18d390a7d1a530e3737562722f96163d593" />
</dataarea>
</part>
</software>
</software>
<!--
contains:
Test Drive
All I Wanted Was A Slushie
-->
-->
<software name="megasv1" supported="partial">
<description>Megas XLR Volume 1 (H2697)</description>
<year>2004</year>
@ -290,8 +290,8 @@ license:CC0
<rom name="jb_megas-xlr_vol1_h2697_matrix11247_9875.smc" size="0x2100400" crc="385b0402" sha1="fd761af3c8eaa522db0b4c224d37440d47c26c8a" />
</dataarea>
</part>
</software>
</software>
<!--
contains:
It Feels Like Magic
@ -352,5 +352,5 @@ license:CC0
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -19198,8 +19198,8 @@ but dumps still have to be confirmed.
<dataarea name="rom" width="16" endianness="big" size="1048576">
<rom name="mega turrican (may 18, 1993 prototype).bin" size="1048576" crc="3ba35acd" sha1="486fd963b1389806a565dab21c81c46c273c8e5f"/>
<!-- labels on 512K 27C040s:
<rom name="megaturrican odd" size="524288" crc="" sha1="" offset="0x000001" loadflag="load16_byte"/>
<rom name="megaturrican even" size="524288" crc="" sha1="" offset="0x000000" loadflag="load16_byte"/>
<rom name="megaturrican odd" size="524288" crc="" sha1="" offset="0x000001" loadflag="load16_byte"/>
<rom name="megaturrican even" size="524288" crc="" sha1="" offset="0x000000" loadflag="load16_byte"/>
-->
</dataarea>
</part>

View File

@ -1112,12 +1112,12 @@ Beyond that last category are the roms waiting to be classified.
<dataarea name="rom" size="3145728">
<rom name="earthbound (prototype 19950327).sfc" size="3145728" crc="d3fa35aa" sha1="0686c4d339657489890e43fd39797c893cb992e9" offset="0x000000" />
<!-- released as binary blob above, these are the eventual label/socket names
<rom name="earth bound 3-27-95 e.7 e 0.u1" size="524288" crc="" sha1="" offset="0x000000" />
<rom name="earth bound 3-27-95 e.7 e 1.u2" size="524288" crc="" sha1="" offset="0x080000" />
<rom name="earth bound 3-27-95 e.7 e 2.u3" size="524288" crc="" sha1="" offset="0x100000" />
<rom name="earth bound 3-27-95 e.7 e 3.u4" size="524288" crc="" sha1="" offset="0x180000" />
<rom name="earth bound 3-27-95 e.7 e 4.u5" size="524288" crc="" sha1="" offset="0x200000" />
<rom name="earth bound 3-27-95 e.7 e 5.u6" size="524288" crc="" sha1="" offset="0x280000" />
<rom name="earth bound 3-27-95 e.7 e 0.u1" size="524288" crc="" sha1="" offset="0x000000" />
<rom name="earth bound 3-27-95 e.7 e 1.u2" size="524288" crc="" sha1="" offset="0x080000" />
<rom name="earth bound 3-27-95 e.7 e 2.u3" size="524288" crc="" sha1="" offset="0x100000" />
<rom name="earth bound 3-27-95 e.7 e 3.u4" size="524288" crc="" sha1="" offset="0x180000" />
<rom name="earth bound 3-27-95 e.7 e 4.u5" size="524288" crc="" sha1="" offset="0x200000" />
<rom name="earth bound 3-27-95 e.7 e 5.u6" size="524288" crc="" sha1="" offset="0x280000" />
-->
</dataarea>
<dataarea name="nvram" size="65536">

View File

@ -38680,7 +38680,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="abusimbe_d" cloneof="abusimbe">
<description>Abu Simbel Profanation (small case, alt)</description>
<year>1985</year>
@ -104956,7 +104956,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="pacmaniaa" cloneof="pacmania">
<description>Pac-Mania (MCM)</description>
<year>1988</year>

View File

@ -177,7 +177,7 @@ license:CC0
<!-- this cartridge looked identical to the above, but contained a normal flash chip instead of an OTP device
the data structure is very different, and doesn't start with the FAT16 filesystem?
does the system BIOS detect different cartridge types and handle them in different ways? -->
does the system BIOS detect different cartridge types and handle them in different ways? -->
<software name="mmcluba" cloneof="mmclub" supported="no">
<description>Mickey Mouse Clubhouse (USA, flash chip)</description>
<year>2010</year>
@ -190,7 +190,7 @@ license:CC0
</part>
</software>
<software name="mickeychgr" cloneof="mmclub" supported="no">
<description>Micky Maus Wunderhaus (Germany)</description>

View File

@ -11,10 +11,10 @@
#include "emu.h"
#include "coco_max.h"
#define MOUSE_SENSITIVITY 75
#define COCOMAX_X_TAG "cocomax_x"
#define COCOMAX_Y_TAG "cocomax_y"
#define COCOMAX_BUTTONS "cocomax_buttons"
#define MOUSE_SENSITIVITY 75
#define COCOMAX_X_TAG "cocomax_x"
#define COCOMAX_Y_TAG "cocomax_y"
#define COCOMAX_BUTTONS "cocomax_buttons"
// #define VERBOSE (LOG_GENERAL )
#include "logmacro.h"
@ -106,10 +106,10 @@ ioport_constructor coco_pak_max_device::device_input_ports() const
void coco_pak_max_device::device_start()
{
// initial state
m_a2d_result = 0;
m_a2d_result = 0;
// save state
save_item(NAME(m_a2d_result));
save_item(NAME(m_a2d_result));
// install $ff90-$ff97 handler
install_read_handler(0xff90, 0xff97, read8sm_delegate(*this, FUNC(coco_pak_max_device::ff90_read)));
@ -123,7 +123,7 @@ void coco_pak_max_device::device_start()
void coco_pak_max_device::device_reset()
{
m_a2d_result = 0;
m_a2d_result = 0;
}

View File

@ -27,8 +27,8 @@
16 A3 33 GND
17 A5 34 GND
SEL is an input to the MC-10 that allows the cartridge to remove
the internal chips from the bus.
SEL is an input to the MC-10 that allows the cartridge to remove
the internal chips from the bus.
*********************************************************************/

View File

@ -6,34 +6,34 @@
Code for emulating Darren Atkinson's MCX-128 cartridge
Features:
128K of RAM expansion
16K of ROM expansion
Features:
128K of RAM expansion
16K of ROM expansion
New MC-10 memory map defined by this cartridge:
New MC-10 memory map defined by this cartridge:
0000 - 0003 6803 Ports
0004 - 0007 Expansion RAM
0008 - 000E 6803 Status / Control
000F Expansion RAM
0010 - 0013 6803 UART
0014 6803 RAM Control Reg
0015 - 001F Unused
0020 - 007F Expansion RAM
0080 - 00FF On-chip CPU RAM / Expansion RAM
0100 - 3FFF Expansion RAM
4000 - 5FFF Built-In RAM / Expansion RAM
6000 - BEFF Expansion RAM
BF00 RAM Bank Control Reg
BF01 ROM Map Control Reg
BF80 - BFFF Keyboard / VDG / Sound
C000 - DFFF EPROM or Expansion RAM
E000 - FFFF Built-in ROM, EPROM or Expansion RAM
0000 - 0003 6803 Ports
0004 - 0007 Expansion RAM
0008 - 000E 6803 Status / Control
000F Expansion RAM
0010 - 0013 6803 UART
0014 6803 RAM Control Reg
0015 - 001F Unused
0020 - 007F Expansion RAM
0080 - 00FF On-chip CPU RAM / Expansion RAM
0100 - 3FFF Expansion RAM
4000 - 5FFF Built-In RAM / Expansion RAM
6000 - BEFF Expansion RAM
BF00 RAM Bank Control Reg
BF01 ROM Map Control Reg
BF80 - BFFF Keyboard / VDG / Sound
C000 - DFFF EPROM or Expansion RAM
E000 - FFFF Built-in ROM, EPROM or Expansion RAM
Deficiency:
Deficiency:
* Writing to 6803 chip RAM at $80 to $ff should be mirrored
to external RAM.
* Writing to 6803 chip RAM at $80 to $ff should be mirrored
to external RAM.
***************************************************************************/
@ -130,100 +130,100 @@ mc10_pak_mcx128_device::mc10_pak_mcx128_device(const machine_config &mconfig, de
void mc10_pak_mcx128_device::view_map0(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).rom().region("eprom",0x0000).bankw("bank5");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).rom().region("eprom",0x0000).bankw("bank5");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
}
void mc10_pak_mcx128_device::view_map1(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).rom().region("eprom",0x2000).bankw("bank6");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).rom().region("eprom",0x2000).bankw("bank6");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
}
void mc10_pak_mcx128_device::view_map2(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).bankw("bank6");
map(0xff00, 0xffff).bankw("bank7");
// 0xe000, 0xffff: read internal ROM
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).bankw("bank6");
map(0xff00, 0xffff).bankw("bank7");
// 0xe000, 0xffff: read internal ROM
}
void mc10_pak_mcx128_device::view_map3(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).bankrw("bank5");
map(0xff00, 0xffff).bankrw("bank7");
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0x5fff).bankr("bank3").w(FUNC(mc10_pak_mcx128_device::write_ram_mirror));
map(0x6000, 0xbeff).bankrw("bank4");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).bankrw("bank5");
map(0xff00, 0xffff).bankrw("bank7");
}
void mc10_pak_mcx128_device::view_map4(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).rom().region("eprom",0x0000).bankw("bank5");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).rom().region("eprom",0x0000).bankw("bank5");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
}
void mc10_pak_mcx128_device::view_map5(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).rom().region("eprom",0x2000).bankw("bank6");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).rom().region("eprom",0x2000).bankw("bank6");
map(0xff00, 0xffff).rom().region("eprom",0x3f00).bankw("bank7");
}
void mc10_pak_mcx128_device::view_map6(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).bankw("bank6");
map(0xff00, 0xffff).bankw("bank7");
// 0xe000, 0xffff: read internal ROM
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xdfff).bankrw("bank5");
map(0xe000, 0xfeff).bankw("bank6");
map(0xff00, 0xffff).bankw("bank7");
// 0xe000, 0xffff: read internal ROM
}
void mc10_pak_mcx128_device::view_map7(address_map &map)
{
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).bankrw("bank5");
map(0xff00, 0xffff).bankrw("bank7");
map(0x0004, 0x0007).bankrw("bank0");
map(0x000f, 0x000f).bankrw("bank1");
map(0x0020, 0x3fff).bankrw("bank2");
map(0x4000, 0xbeff).bankrw("bank3");
map(0xbf00, 0xbf01).rw(FUNC(mc10_pak_mcx128_device::control_register_read), FUNC(mc10_pak_mcx128_device::control_register_write));
map(0xc000, 0xfeff).bankrw("bank5");
map(0xff00, 0xffff).bankrw("bank7");
}
//-------------------------------------------------
@ -267,7 +267,7 @@ void mc10_pak_mcx128_device::device_start()
m_bank[7]->configure_entry(0, &m_share[0x07f00]);
m_bank[7]->configure_entry(1, &m_share[0x07f00]);
owning_slot().memspace().install_view(0x0000, 0xffff, m_view);
owning_slot().memspace().install_view(0x0000, 0xffff, m_view);
m_view[0].install_device(0x0000, 0xffff, *this, &mc10_pak_mcx128_device::view_map0);
m_view[1].install_device(0x0000, 0xffff, *this, &mc10_pak_mcx128_device::view_map1);

View File

@ -4,7 +4,7 @@
VTech Laser Lightpen Interface
Skeleton just to document the I/O ports used
Skeleton just to document the I/O ports used
***************************************************************************/

View File

@ -36,10 +36,10 @@ protected:
private:
required_device<rs232_port_device> m_rs232;
uint8_t receive_data_r();
void transmit_data_w(uint8_t data);
int m_rx;
};

View File

@ -99,7 +99,7 @@
MSB LSB Output conditions
-----------------------------------------
IF0 IF1 IF2 IFETCH, direct operands (except if FZ)
IF0 IF1 IF2 IFETCH, direct operands (except if FZ)
IB0 IB1 IB2 None (until transferred to IF)
ISF0 ISF1 ISF2 None
DF0 DF1 DF2 Indirect operand addressing, IOTs, etc.

View File

@ -363,9 +363,9 @@ void adsp21062_device::iop_w(offs_t offset, uint32_t data)
// DMA 7
case 0x1d:
{
{
m_core->dma[7].control = data;
if (data & 0x1)
if (data & 0x1)
{
sharc_iop_delayed_w(0x1d, data, 30);
}
@ -448,7 +448,7 @@ void adsp21062_device::external_dma_write(uint32_t address, uint64_t data)
All addresses in the 17-bit index registers are offset by 0x0002 0000, the
first internal RAM location, before they are used by the DMA controller.
*/
switch ((m_core->dma[6].control >> 6) & 0x3)
{
case 2: // 16/48 packing
@ -1063,7 +1063,7 @@ void adsp21062_device::execute_run()
dma_run_cycle(7);
}
dma_count--;
}
}
m_core->icount = 0;
debugger_instruction_hook(m_core->daddr);
@ -1072,7 +1072,7 @@ void adsp21062_device::execute_run()
{
check_interrupts();
m_core->idle = 0;
}
}
while (m_core->icount > 0 && !m_core->idle && !m_core->write_stalled)
{

View File

@ -115,7 +115,7 @@ void adsp21062_device::dma_run_cycle(int channel)
break;
}
case DMA_PMODE_16_32:
{
{
uint32_t data = ((dm_read32(src + 0) & 0xffff) << 16) | (dm_read32(src + 1) & 0xffff);
dm_write32(dst, data);
@ -125,7 +125,7 @@ void adsp21062_device::dma_run_cycle(int channel)
break;
}
case DMA_PMODE_8_48:
{
{
uint64_t data = ((uint64_t)(dm_read32(src + 0) & 0xff) << 0) |
((uint64_t)(dm_read32(src + 1) & 0xff) << 8) |
((uint64_t)(dm_read32(src + 2) & 0xff) << 16) |
@ -136,7 +136,7 @@ void adsp21062_device::dma_run_cycle(int channel)
pm_write48(dst, data);
src += src_modifier * 6;
dst += dst_modifier;
src_count -= 6;
src_count -= 6;
break;
}
default:
@ -287,7 +287,7 @@ void adsp21062_device::sharc_dma_exec(int channel)
{
uint32_t dma_chain_ptr = m_core->dma[channel].chain_ptr & 0x1ffff;
schedule_chained_dma_op(channel, dma_chain_ptr, tran);
schedule_chained_dma_op(channel, dma_chain_ptr, tran);
}
else
{
@ -316,7 +316,7 @@ void adsp21062_device::sharc_dma_exec(int channel)
pmode = DMA_PMODE_8_48;
}
schedule_dma_op(channel, src, dst, src_modifier, dst_modifier, src_count, dst_count, pmode);
schedule_dma_op(channel, src, dst, src_modifier, dst_modifier, src_count, dst_count, pmode);
}
}

View File

@ -461,7 +461,7 @@ void nand_device::command_w(uint8_t data)
}
break;
//case 0x11:
// break;
// break;
case 0x60: // Block Erase (1st cycle)
m_mode = SM_M_ERASE;
m_page_addr = 0;
@ -493,13 +493,13 @@ void nand_device::command_w(uint8_t data)
m_mode = SM_M_READSTATUS;
break;
//case 0x71:
// break;
// break;
case 0x90: // Read ID
m_mode = SM_M_READID;
m_addr_load_ptr = 0;
break;
//case 0x91:
// break;
// break;
case 0x30: // Read (2nd cycle)
if (m_col_address_cycles == 1)
{

View File

@ -325,7 +325,7 @@ legacy_poly_manager_owner::~legacy_poly_manager_owner()
}
/*-------------------------------------------------
allocate_array - allocate an array of pointers
allocate_array - allocate an array of pointers
-------------------------------------------------*/
template<typename T>

View File

@ -61,12 +61,12 @@ struct legacy_poly_manager;
class legacy_poly_manager_owner
{
public:
legacy_poly_manager_owner();
~legacy_poly_manager_owner();
legacy_poly_manager_owner();
~legacy_poly_manager_owner();
operator legacy_poly_manager *() { return m_poly; }
operator legacy_poly_manager *() { return m_poly; }
legacy_poly_manager *m_poly;
legacy_poly_manager *m_poly;
};

View File

@ -3129,7 +3129,7 @@ int32_t voodoo_device::register_w(voodoo_device *vd, offs_t offset, uint32_t dat
attoseconds_t refresh = vd->m_screen->frame_period().attoseconds();
attoseconds_t stdperiod, medperiod, vgaperiod;
attoseconds_t stddiff, meddiff, vgadiff;
rectangle visarea;
rectangle visarea;
if (vd->vd_type == TYPE_VOODOO_2)
{

View File

@ -347,7 +347,7 @@ filesystem_t::dir_t fs_prodos::impl::root_dir::dir_get(uint64_t key)
fs_prodos::impl::dir::dir(impl &fs, const u8 *entry, u16 base_block, u16 key, root_dir *parent_dir) : root_dir(fs, base_block), m_parent_dir(parent_dir), m_key(key)
{
memcpy(m_entry, entry, 39);
(void)m_key;
(void)m_key;
(void)m_parent_dir;
}

View File

@ -189,7 +189,7 @@ std::vector<u8> fs_vtech::impl::file::read_all()
u8 track = m_entry[0xa];
u8 sector = m_entry[0xb];
int len = ((r16l(m_entry + 0xe) - r16l(m_entry + 0xc)) & 0xffff) + 1;
std::vector<u8> data(len, 0);
int pos = 0;
while(pos < len) {
@ -219,7 +219,7 @@ fs_vtech::impl::file_t fs_vtech::impl::root_dir::file_create(const fs_meta_data
if(type != 'T' && type != 'B') {
std::string fname = info.get_string(fs_meta_name::name, "");
fname.resize(8, ' ');
bdir.w8 (off+0x0, info.get_flag(fs_meta_name::basic, true) ? 'T' : 'B');
bdir.w8 (off+0x1, ':');
bdir.wstr(off+0x2, fname);

View File

@ -29,11 +29,11 @@ private:
uint32_t index_bytes = 0, index_cells = 0;
uint32_t datasize_cells = 0, gapsize_cells = 0;
uint32_t block_count = 0, weak_bits = 0;
uint32_t data_size_bits = 0;
bool info_set = false;
const uint8_t *data = nullptr;
uint32_t data_size = 0;
};
@ -46,25 +46,25 @@ private:
uint32_t min_cylinder = 0, max_cylinder = 0, min_head = 0, max_head = 0;
uint32_t credit_day = 0, credit_time = 0;
uint32_t platform[4] = {}, extra[5] = {};
uint32_t crc32r(const uint8_t *data, uint32_t size);
bool parse_info(const uint8_t *info);
bool parse_imge(const uint8_t *imge);
bool parse_data(const uint8_t *data, uint32_t &pos, uint32_t max_extra_size);
bool scan_one_tag(std::vector<uint8_t> &data, uint32_t &pos, uint8_t *&tag, uint32_t &tsize);
bool scan_all_tags(std::vector<uint8_t> &data);
static uint32_t r32(const uint8_t *p);
static uint32_t rb(const uint8_t *&p, int count);
track_info *get_index(uint32_t idx);
void track_write_raw(std::vector<uint32_t>::iterator &tpos, const uint8_t *data, uint32_t cells, bool &context);
void track_write_mfm(std::vector<uint32_t>::iterator &tpos, const uint8_t *data, uint32_t start_offset, uint32_t patlen, uint32_t cells, bool &context);
void track_write_weak(std::vector<uint32_t>::iterator &tpos, uint32_t cells);
bool generate_block_data(const uint8_t *data, const uint8_t *dlimit, std::vector<uint32_t>::iterator tpos, std::vector<uint32_t>::iterator tlimit, bool &context);
bool gap_description_to_reserved_size(const uint8_t *&data, const uint8_t *dlimit, uint32_t &res_size);
bool generate_gap_from_description(const uint8_t *&data, const uint8_t *dlimit, std::vector<uint32_t>::iterator tpos, uint32_t size, bool pre, bool &context);
bool generate_block_gap_0(uint32_t gap_cells, uint8_t pattern, uint32_t &spos, uint32_t ipos, std::vector<uint32_t>::iterator &tpos, bool &context);
@ -72,18 +72,18 @@ private:
bool generate_block_gap_2(uint32_t gap_cells, uint32_t &spos, uint32_t ipos, const uint8_t *data, const uint8_t *dlimit, std::vector<uint32_t>::iterator &tpos, bool &context);
bool generate_block_gap_3(uint32_t gap_cells, uint32_t &spos, uint32_t ipos, const uint8_t *data, const uint8_t *dlimit, std::vector<uint32_t>::iterator &tpos, bool &context);
bool generate_block_gap(uint32_t gap_type, uint32_t gap_cells, uint8_t pattern, uint32_t &spos, uint32_t ipos, const uint8_t *data, const uint8_t *dlimit, std::vector<uint32_t>::iterator tpos, bool &context);
bool generate_block(track_info *t, uint32_t idx, uint32_t ipos, std::vector<uint32_t> &track, uint32_t &pos, uint32_t &dpos, uint32_t &gpos, uint32_t &spos, bool &context);
uint32_t block_compute_real_size(track_info *t);
void timing_set(std::vector<uint32_t> &track, uint32_t start, uint32_t end, uint32_t time);
bool generate_timings(track_info *t, std::vector<uint32_t> &track, const std::vector<uint32_t> &data_pos, const std::vector<uint32_t> &gap_pos);
void rotate(std::vector<uint32_t> &track, uint32_t offset, uint32_t size);
void mark_track_splice(std::vector<uint32_t> &track, uint32_t offset, uint32_t size);
bool generate_track(track_info *t, floppy_image *image);
bool generate_tracks(floppy_image *image);
bool parse(std::vector<uint8_t> &data, floppy_image *image);
};
};

View File

@ -130,10 +130,10 @@ std::vector<uint8_t> vtech_common_format::flux_to_image(floppy_image *image)
switch(mode) {
case 0: // idle
if(buf == 0x80808000fee718c3)
mode = 1;
mode = 1;
count = 0;
break;
case 1: // sector header
if(count == 24) {
uint8_t trk = buf >> 16;
@ -148,23 +148,23 @@ std::vector<uint8_t> vtech_common_format::flux_to_image(floppy_image *image)
mode = 2;
}
break;
case 2: // look for sector data
if(buf == 0x80808000fee718c3)
mode = 1;
mode = 1;
else if(buf == 0x80808000c318e7fe)
mode = 3;
count = 0;
break;
case 3: // sector data
if(count <= 128*8 && !(count & 7)) {
uint8_t byte = buf;
checksum += byte;
*dest++ = byte;
} else if(count == 128*8+16) {
// uint16_t disk_checksum = buf;
// printf("sector checksum %04x %04x\n", checksum, disk_checksum);
// uint16_t disk_checksum = buf;
// printf("sector checksum %04x %04x\n", checksum, disk_checksum);
mode = 0;
}
break;
@ -280,10 +280,10 @@ bool vtech_dsk_format::load(io_generic *io, uint32_t form_factor, const std::vec
switch(mode) {
case 0: // idle
if(buf == 0x80808000fee718c3)
mode = 1;
mode = 1;
count = 0;
break;
case 1: // sector header
if(count == 3) {
uint8_t trk = buf >> 16;
@ -298,15 +298,15 @@ bool vtech_dsk_format::load(io_generic *io, uint32_t form_factor, const std::vec
mode = 2;
}
break;
case 2: // look for sector data
if(buf == 0x80808000fee718c3)
mode = 1;
mode = 1;
else if(buf == 0x80808000c318e7fe)
mode = 3;
count = 0;
break;
case 3: // sector data
if(count <= 128) {
uint8_t byte = buf;

View File

@ -4,14 +4,14 @@
Super A'Can sound driver
Currently has a number of unknown registers and functionality.
Currently has a number of unknown registers and functionality.
****************************************************************************/
#include "emu.h"
#include "acan.h"
#define VERBOSE (1)
#define VERBOSE (1)
#include "logmacro.h"
// device type definition

View File

@ -2,62 +2,62 @@
// copyright-holders:R. Belmont, tim lindner
/***************************************************************************
drivers/enmirage.c
drivers/enmirage.c
Ensoniq Mirage Sampler
Preliminary driver by R. Belmont
Fleshed out by tim lindner
Ensoniq Mirage Sampler
Preliminary driver by R. Belmont
Fleshed out by tim lindner
Models:
DSK-8: Pratt-Reed keyboard (early 1984)
DSK-8: Fatar keyboard (late 1984)
DMS-8: Rack mount (1985)
DSK-1: Unweighted keyboard, stereo output (1986)
Models:
DSK-8: Pratt-Reed keyboard (early 1984)
DSK-8: Fatar keyboard (late 1984)
DMS-8: Rack mount (1985)
DSK-1: Unweighted keyboard, stereo output (1986)
M6809 Map for Mirage:
0000-7fff: 32k window on 128k of sample RAM
8000-bfff: main RAM
c000-dfff: optional expansion RAM
e100-e101: 6850 UART (for MIDI)
e200-e2ff: 6522 VIA
e400-e407: write to both filters
e408-e40f: filter cut-off frequency
e410-e417: filter resonance
e418-e41f: DAC pre-set
e800-e803: WD1770 FDC
ec00-ecef: ES5503 "DOC" sound chip
f000-ffff: boot ROM
M6809 Map for Mirage:
0000-7fff: 32k window on 128k of sample RAM
8000-bfff: main RAM
c000-dfff: optional expansion RAM
e100-e101: 6850 UART (for MIDI)
e200-e2ff: 6522 VIA
e400-e407: write to both filters
e408-e40f: filter cut-off frequency
e410-e417: filter resonance
e418-e41f: DAC pre-set
e800-e803: WD1770 FDC
ec00-ecef: ES5503 "DOC" sound chip
f000-ffff: boot ROM
M6809 Interrupts:
NMI: IRQ from WD1772
IRQ: wired-ORed: DRQ from WD1772, IRQ from ES5503, IRQ from VIA6522, IRQ from cartridge
FIRQ: IRQ from 6850 UART
M6809 Interrupts:
NMI: IRQ from WD1772
IRQ: wired-ORed: DRQ from WD1772, IRQ from ES5503, IRQ from VIA6522, IRQ from cartridge
FIRQ: IRQ from 6850 UART
LED / switch matrix:
LED / switch matrix:
A B C D E F G DP
ROW 0: LOAD UPPER LOAD LOWER SAMPLE UPPER PLAY SEQ LOAD SEQ SAVE SEQ REC SEQ SAMPLE LOWER
ROW 1: 3 6 9 5 8 0 2 Enter
ROW 2: 1 4 7 up arrow PARAM dn arrow VALUE CANCEL
L. AN: SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG DP (decimal point)
R. AN: SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG DP
A B C D E F G DP
ROW 0: LOAD UPPER LOAD LOWER SAMPLE UPPER PLAY SEQ LOAD SEQ SAVE SEQ REC SEQ SAMPLE LOWER
ROW 1: 3 6 9 5 8 0 2 Enter
ROW 2: 1 4 7 up arrow PARAM dn arrow VALUE CANCEL
L. AN: SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG DP (decimal point)
R. AN: SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG DP
Column number in VIA port A bits 0-2 is converted to discrete lines by a 74LS145.
Port A bit 3 is right anode, bit 4 is left anode
ROW 0 is read on VIA port A bit 5, ROW 1 in port A bit 6, and ROW 2 in port A bit 7.
Column number in VIA port A bits 0-2 is converted to discrete lines by a 74LS145.
Port A bit 3 is right anode, bit 4 is left anode
ROW 0 is read on VIA port A bit 5, ROW 1 in port A bit 6, and ROW 2 in port A bit 7.
Keyboard models talk to the R6500/11 through the VIA shifter: CA2 is handshake, CB1 is shift clock,
CB2 is shift data.
This is unconnected on the rackmount version.
Keyboard models talk to the R6500/11 through the VIA shifter: CA2 is handshake, CB1 is shift clock,
CB2 is shift data.
This is unconnected on the rackmount version.
Unimplemented:
* Four Pole Low-Pass Voltage Controlled Filter section
* External sync signal
* Foot pedal
* ADC feedback
* Piano keyboard controller
* Expansion connector
* Stereo output
Unimplemented:
* Four Pole Low-Pass Voltage Controlled Filter section
* External sync signal
* Foot pedal
* ADC feedback
* Piano keyboard controller
* Expansion connector
* Stereo output
***************************************************************************/
@ -79,15 +79,15 @@
#include "enmirage.lh"
#define LOG_ADC_READ (1U << 1)
#define LOG_FILTER_WRITE (1U << 2)
#define LOG_ADC_READ (1U << 1)
#define LOG_FILTER_WRITE (1U << 2)
#define VERBOSE (0)
//#define VERBOSE (LOG_ADC_READ)
//#define VERBOSE (LOG_ADC_READ|LOG_FILTER_WRITE)
#include "logmacro.h"
#define LOGADCREAD(...) LOGMASKED(LOG_ADC_READ, __VA_ARGS__)
#define LOGADCREAD(...) LOGMASKED(LOG_ADC_READ, __VA_ARGS__)
#define LOGFILTERWRITE(...) LOGMASKED(LOG_FILTER_WRITE, __VA_ARGS__)
#define PITCH_TAG "pitch"
@ -175,7 +175,7 @@ uint8_t enmirage_state::mirage_adc_read()
switch(m_mux_value & 0x03)
{
case 0:
// value = m_cassette->input(); /* compressed and mixed input: audio in and ES 5503 (TODO) */
// value = m_cassette->input(); /* compressed and mixed input: audio in and ES 5503 (TODO) */
value = m_wave[m_wave_index]; /* fake data to get past filter calibration (remove when filter implemented) */
LOGADCREAD("%s, 5503 sample: channel: compressed input, data: $%02x\n", machine().describe_context(), value);
if(++m_wave_index == 34) m_wave_index = 0;
@ -241,7 +241,7 @@ void enmirage_state::coefficients_w(offs_t offset, uint8_t data)
}
// port A:
// bits 5/6/7 keypad rows 0/1/2 return
// bits 5/6/7 keypad rows 0/1/2 return
INPUT_CHANGED_MEMBER(enmirage_state::input_changed)
{
update_keypad_matrix();
@ -259,8 +259,8 @@ void enmirage_state::update_keypad_matrix()
}
// port B:
// bit 6: IN disk load
// bit 5: IN Q Chip sync
// bit 6: IN disk load
// bit 5: IN Q Chip sync
uint8_t enmirage_state::mirage_via_read_portb()
{
@ -280,10 +280,10 @@ uint8_t enmirage_state::mirage_via_read_portb()
// port A: front panel
// bits 0/1/2: dual purpose (0 to 7 lines, though a 74LS145 decoder):
// keyboard matrix column select
// 7 segment display driver
// bits 3/4 = right and left 7 segment display enable
// bits 5/6/7 = Keyboard matrix row sense from 0 to 2
// keyboard matrix column select
// 7 segment display driver
// bits 3/4 = right and left 7 segment display enable
// bits 5/6/7 = Keyboard matrix row sense from 0 to 2
void enmirage_state::mirage_via_write_porta(uint8_t data)
{
u8 segdata = data & 7;
@ -298,12 +298,12 @@ void enmirage_state::mirage_via_write_porta(uint8_t data)
}
// port B:
// bit 7: OUT UART clock
// bit 4: OUT disk select, motor on, and 6500/11 reset
// bit 3: OUT sample/play
// bit 2: OUT mic line/in
// bit 1: OUT upper/lower bank (64k halves)
// bit 0: OUT bank 0/bank 1 (32k quarters)
// bit 7: OUT UART clock
// bit 4: OUT disk select, motor on, and 6500/11 reset
// bit 3: OUT sample/play
// bit 2: OUT mic line/in
// bit 1: OUT upper/lower bank (64k halves)
// bit 0: OUT bank 0/bank 1 (32k quarters)
void enmirage_state::mirage_via_write_portb(uint8_t data)
{
@ -386,32 +386,32 @@ void enmirage_state::mirage(machine_config &config)
static INPUT_PORTS_START(mirage)
PORT_START("pb5") /* KEY ROW 0 */
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Load Upper") PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Load Lower") PORT_CODE(KEYCODE_B) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Sample Upper") PORT_CODE(KEYCODE_C) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Play Sequence") PORT_CODE(KEYCODE_D) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Load Sequence") PORT_CODE(KEYCODE_E) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Save Sequence") PORT_CODE(KEYCODE_F) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Record Sequence") PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Sample Lower") PORT_CODE(KEYCODE_H) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Load Upper") PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Load Lower") PORT_CODE(KEYCODE_B) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Sample Upper") PORT_CODE(KEYCODE_C) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Play Sequence") PORT_CODE(KEYCODE_D) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Load Sequence") PORT_CODE(KEYCODE_E) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Save Sequence") PORT_CODE(KEYCODE_F) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Record Sequence") PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Sample Lower") PORT_CODE(KEYCODE_H) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_START("pb6") /* KEY ROW 1 */
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0/Prog") PORT_CODE(KEYCODE_0) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0/Prog") PORT_CODE(KEYCODE_0) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_START("pb7") /* KEY ROW 2 */
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("On/Up") PORT_CODE(KEYCODE_UP) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Param") PORT_CODE(KEYCODE_I) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Off/Down") PORT_CODE(KEYCODE_DOWN) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Value") PORT_CODE(KEYCODE_J) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cancel") PORT_CODE(KEYCODE_K) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("On/Up") PORT_CODE(KEYCODE_UP) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Param") PORT_CODE(KEYCODE_I) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Off/Down") PORT_CODE(KEYCODE_DOWN) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Value") PORT_CODE(KEYCODE_J) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cancel") PORT_CODE(KEYCODE_K) PORT_CHANGED_MEMBER(DEVICE_SELF, enmirage_state, input_changed, 0)
PORT_START(PITCH_TAG)
PORT_BIT(0xff, 0x7f, IPT_PADDLE) PORT_NAME("Pitch Wheel") PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_MINMAX(0x00,0xff) PORT_CODE_INC(KEYCODE_4_PAD) PORT_CODE_DEC(KEYCODE_1_PAD) PORT_PLAYER(1)

View File

@ -874,7 +874,7 @@ void gticlub_state::gticlub(machine_config &config)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(1024, 1024);
screen.set_visarea(40, 511+40, 28, 383+28); // needs CRTC emulation
screen.set_visarea(40, 511+40, 28, 383+28); // needs CRTC emulation
screen.set_screen_update(FUNC(gticlub_state::screen_update_gticlub));
PALETTE(config, m_palette).set_entries(65536);

View File

@ -567,14 +567,14 @@ void hornet_state::sysreg_w(offs_t offset, uint8_t data)
case 4: // System Register 1
{
/*
0x80 = SNDRES (sound reset)
0x40 = COMRES (COM reset)
0x20 = COINRQ2 (EEPROM SCL?)
0x10 = COINRQ1 (EEPROM data)
0x08 = ADCS (ADC CS)
0x04 = ADCONV (ADC CONV)
0x02 = ADDI (ADC DI)
0x01 = ADDSCLK (ADC SCLK)
0x80 = SNDRES (sound reset)
0x40 = COMRES (COM reset)
0x20 = COINRQ2 (EEPROM SCL?)
0x10 = COINRQ1 (EEPROM data)
0x08 = ADCS (ADC CS)
0x04 = ADCONV (ADC CONV)
0x02 = ADDI (ADC DI)
0x01 = ADDSCLK (ADC SCLK)
*/
m_adc12138->cs_w((data >> 3) & 0x1);
m_adc12138->conv_w((data >> 2) & 0x1);

View File

@ -179,16 +179,16 @@ void inufuku_state::palettereg_w(offs_t offset, u16 data)
m_bg_palettebank = (data & 0xf000) >> 12;
m_bg_tilemap->mark_all_dirty();
/*
if (data & ~0xf000)
logerror("%s: palettereg_w %02X: %04x\n", machine().describe_context(), offset << 1, data);
if (data & ~0xf000)
logerror("%s: palettereg_w %02X: %04x\n", machine().describe_context(), offset << 1, data);
*/
break;
case 0x03:
m_tx_palettebank = (data & 0xf000) >> 12;
m_tx_tilemap->mark_all_dirty();
/*
if (data & ~0xf000)
logerror("%s: palettereg_w %02X: %04x\n", machine().describe_context(), offset << 1, data);
if (data & ~0xf000)
logerror("%s: palettereg_w %02X: %04x\n", machine().describe_context(), offset << 1, data);
*/
break;
default:
@ -209,8 +209,8 @@ void inufuku_state::scrollreg_w(offs_t offset, u16 data)
case 0x04:
m_bg_raster = BIT(~data, 9);
/*
if (data & ~0x0200)
logerror("%s: palettereg_w %02X: %04x\n", machine().describe_context(), offset << 1, data);
if (data & ~0x0200)
logerror("%s: palettereg_w %02X: %04x\n", machine().describe_context(), offset << 1, data);
*/
break;
default:

View File

@ -222,8 +222,8 @@ uint8_t mc10_state::mc6847_videoram_r(offs_t offset)
if (offset == ~0) return 0xff;
uint8_t result = m_ram->read(offset);
m_mc6847->inv_w(BIT(result, 6));
m_mc6847->as_w(BIT(result, 7));
m_mc6847->inv_w(BIT(result, 6));
m_mc6847->as_w(BIT(result, 7));
return result;
}

View File

@ -3,7 +3,7 @@
/*******************************************************************************
Skeleton driver for Merit Scorpion darts machines.
The same PCB is used also on other Merit darts machines, like Regent Darts.
The same PCB is used also on other Merit darts machines, like Regent Darts.
Hardware overview:
Main CPU: Dallas DS80C3202-UM or compatible (80C31 on older models)

View File

@ -174,7 +174,7 @@ void mermaid_state::mermaid_map(address_map &map)
map(0xe800, 0xe807).w("latch2", FUNC(ls259_device::write_d0));
map(0xf000, 0xf000).portr("P2");
map(0xf800, 0xf800).r(FUNC(mermaid_state::mermaid_collision_r));
// map(0xf802, 0xf802).nopw(); // ???
// map(0xf802, 0xf802).nopw(); // ???
map(0xf806, 0xf806).w(FUNC(mermaid_state::mermaid_ay8910_write_port_w));
map(0xf807, 0xf807).w(FUNC(mermaid_state::mermaid_ay8910_control_port_w));
}

View File

@ -876,7 +876,7 @@ static INPUT_PORTS_START( pangdsw )
// the settings are shown if entering test mode. The game always respects the dip setting, changing the values in test mode has no effect
// it appears the bootleggers didn't care to add dips for flipscreen, free play and extend values (or at least they haven't been found yet)
PORT_START("DSW1")
PORT_START("DSW1")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:6,7,8")
PORT_DIPSETTING( 0x07, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) )

View File

@ -378,7 +378,7 @@ uint32_t nwktr_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
int board = m_exrgb ? 1 : 0;
m_voodoo[board]->voodoo_update(bitmap, cliprect);
m_k001604[0]->draw_front_layer(screen, bitmap, cliprect); // K001604 on slave board doesn't seem to output anything. Bug or intended?
m_k001604[0]->draw_front_layer(screen, bitmap, cliprect); // K001604 on slave board doesn't seem to output anything. Bug or intended?
return 0;
}
@ -407,7 +407,7 @@ uint8_t nwktr_state::sysreg_r(offs_t offset)
case 4:
r = m_dsw->read();
break;
default:
default:
break;
}
@ -439,11 +439,11 @@ void nwktr_state::sysreg_w(offs_t offset, uint8_t data)
case 7:
/*
0x80 = EXRES1
0x40 = EXRES0
0x20 = EXID1
0x10 = EXID0
0x01 = EXRGB
0x80 = EXRES1
0x40 = EXRES0
0x20 = EXID1
0x10 = EXID0
0x01 = EXRGB
*/
if (data & 0x80) // CG Board 1 IRQ Ack
m_maincpu->set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
@ -455,7 +455,7 @@ void nwktr_state::sysreg_w(offs_t offset, uint8_t data)
// Racing Jam sets CG board ID to 2 when writing to the tilemap chip.
// This could mean broadcast to both CG boards?
m_exrgb = data & 0x1; // Select which CG Board outputs signal
m_exrgb = data & 0x1; // Select which CG Board outputs signal
m_cg_view.select(m_konppc->get_cgboard_id() ? 1 : 0);
break;

View File

@ -235,10 +235,10 @@ uint8_t portfolio_state::irq_status_r()
{
uint8_t data = m_ip;
/*
The BIOS interrupt 11h (Equipment list) reports that the second floppy drive (B:) is
installed if the 3rd bit is set (which is also the external interrupt line).
It is not clear if the ~NMD1 line is OR or XORed or muxed with the interrupt line,
but this way seems to work.
The BIOS interrupt 11h (Equipment list) reports that the second floppy drive (B:) is
installed if the 3rd bit is set (which is also the external interrupt line).
It is not clear if the ~NMD1 line is OR or XORed or muxed with the interrupt line,
but this way seems to work.
*/
data |= !m_exp->nmd1_r() << 3;
@ -383,10 +383,10 @@ uint8_t portfolio_state::battery_r()
uint8_t data = 0;
/*
Partially stores what has been written into this port.
Used by interrupt 61h service 24h (Get ROM/CCM state).
Setting bit 1 here causes the BIOS to permanently wedge the external ROM
select on, so mask it out as a workaround.
Partially stores what has been written into this port.
Used by interrupt 61h service 24h (Get ROM/CCM state).
Setting bit 1 here causes the BIOS to permanently wedge the external ROM
select on, so mask it out as a workaround.
*/
data |= (m_rom_b & 0b101);

View File

@ -340,7 +340,7 @@ uint8_t schick_state::schick_prot_0a_r(offs_t offset)
uint8_t schick_state::schick_prot_76_r(offs_t offset)
{
// if you get the ? blocks together on round 6?
// will give game over if wrong
// will give game over if wrong
// FCCD: DB 26 in a,($76)
// FCCF: CB 57 bit 2,a
@ -406,8 +406,8 @@ void schick_state::schick_map(address_map &map)
map(0x9080, 0x90bf).portr("IN1");
map(0x90c0, 0x90ff).portr("IN0");
// map(0xa000, 0xbfff).rom(); // maybe ROM?
map(0xa808, 0xa808).r(FUNC(schick_state::schick_prot_a808_r));
// map(0xa000, 0xbfff).rom(); // maybe ROM?
map(0xa808, 0xa808).r(FUNC(schick_state::schick_prot_a808_r));
map(0xe000, 0xffff).rom(); // ROM
}

View File

@ -2,42 +2,42 @@
// copyright-holders:David Haywood
/*
Alien Storm 'System 18' bootlegs
Alien Storm 'System 18' bootlegs
these have extensively reworked 68000 code to handle the modified hardware
these have extensively reworked 68000 code to handle the modified hardware
Noteworthy features
- no VDP
(so no backgrounds in gallary stages, some enemies removed from first stage)
- completely reworked background 'tilemaps'
(regular page registers not used, instead there's a new 'row list' defining page and scroll per row)
- less capable sound system
(only hooked up for astormb2 set, astormbl set is using original sound, which might not be correct)
Noteworthy features
- no VDP
(so no backgrounds in gallary stages, some enemies removed from first stage)
- completely reworked background 'tilemaps'
(regular page registers not used, instead there's a new 'row list' defining page and scroll per row)
- less capable sound system
(only hooked up for astormb2 set, astormbl set is using original sound, which might not be correct)
Issues
- title screen vanishes as soon as it appears (it's in the wrong half of 'tilemap' pages?)
does this happen on hardware? swapping them causes issues ingame instead, currently a kludge is used to only swap one layer
Issues
- title screen vanishes as soon as it appears (it's in the wrong half of 'tilemap' pages?)
does this happen on hardware? swapping them causes issues ingame instead, currently a kludge is used to only swap one layer
- some stuck parts in the gallery stages
again, does this happen on hardware? fixed with same kludge as above?
- some stuck parts in the gallery stages
again, does this happen on hardware? fixed with same kludge as above?
- there are 'bad' pixels near the shadows on some player sprites, but these differences in the GFX ROMs have been found on
more than 1 PCB, does the bootleg hardware need them for some purpose?
- there are 'bad' pixels near the shadows on some player sprites, but these differences in the GFX ROMs have been found on
more than 1 PCB, does the bootleg hardware need them for some purpose?
- the 'Action' 'Destroy' and 'Run' screens don't display properly in attract, this also seems to be related to how
the bootleg is remapping the tilemap pages and needs checking against the bootleg hardware.
- the 'Action' 'Destroy' and 'Run' screens don't display properly in attract, this also seems to be related to how
the bootleg is remapping the tilemap pages and needs checking against the bootleg hardware.
- "Press Start" doesn't flash after inserting a credit, nor does the number of credits display
again this should be verified against the bootleg hardware
- "Press Start" doesn't flash after inserting a credit, nor does the number of credits display
again this should be verified against the bootleg hardware
Currently the modified background tilemaps are not handled with the tilemap system, as some of the changes make them much more
difficult to fit into the tilemap system. This might be reconsidered later.
Currently the modified background tilemaps are not handled with the tilemap system, as some of the changes make them much more
difficult to fit into the tilemap system. This might be reconsidered later.
TODO:
TODO:
tidy up + optimized video code, decide if using tilemaps is cleaner or not
verify glitches etc. against bootleg hardware
convert system18 / bootleg OKI sound system to devices to share with other drivers
tidy up + optimized video code, decide if using tilemaps is cleaner or not
verify glitches etc. against bootleg hardware
convert system18 / bootleg OKI sound system to devices to share with other drivers
*/
@ -62,7 +62,7 @@ namespace {
class segas18_astormbl_state : public sega_16bit_common_base
{
protected:
segas18_astormbl_state(const machine_config &mconfig, device_type type, const char *tag)
segas18_astormbl_state(const machine_config &mconfig, device_type type, const char *tag)
: sega_16bit_common_base(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_screen(*this, "screen")
@ -107,7 +107,7 @@ private:
class segas18_astormbl_s18snd_state : public segas18_astormbl_state
{
public:
segas18_astormbl_s18snd_state(const machine_config &mconfig, device_type type, const char *tag)
segas18_astormbl_s18snd_state(const machine_config &mconfig, device_type type, const char *tag)
: segas18_astormbl_state(mconfig, type, tag)
, m_soundcpu(*this, "soundcpu")
, m_soundbank(*this, "soundbank")
@ -136,7 +136,7 @@ private:
class segas18_astormbl_bootsnd_state : public segas18_astormbl_state
{
public:
segas18_astormbl_bootsnd_state(const machine_config &mconfig, device_type type, const char *tag)
segas18_astormbl_bootsnd_state(const machine_config &mconfig, device_type type, const char *tag)
: segas18_astormbl_state(mconfig, type, tag)
, m_soundcpu(*this, "soundcpu")
, m_soundlatch(*this, "soundlatch")

View File

@ -12143,7 +12143,7 @@ u16 downtown_state::downtown_protection_r(offs_t offset)
static const u8 word[] = "WALTZ0";
if (offset >= 0x100/2 && offset <= 0x10a/2)
return word[offset - 0x100/2];
// definitely wants to read-back hi-score table from 0x110-0x15f
break;
}

View File

@ -745,7 +745,7 @@ CONS( 2005, jak_care, 0, 0, jakks_gkr_cb, jak_care, jakks_gkr_st
// release version of X-Men is not dumped yet
CONS( 2005, jak_xmenp, 0, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "X-Men - Mutant Reign (JAKKS Pacific TV Game, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
// Dreamworks Movie Night was never manufactured
// Dreamworks Movie Night was never manufactured
CONS( 2006, jak_dwmn, 0, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Dreamworks Movie Night (JAKKS Pacific TV Game, Oct 18 2006, prototype)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
CONS( 2006, jak_dwmno,jak_dwmn, 0, jakks_gkr_2m_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Amaze Entertainment", "Dreamworks Movie Night (JAKKS Pacific TV Game, Apr 24 2006, test program)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )

View File

@ -213,7 +213,7 @@ Notes:
0x7004: 0x4003d554()
0x7005: 0x4003d168()
0x8000: ? Used by vibration (force feedback?) on pwrshovl
0x9100: ? Dendego3 speedometer and brake meter. io_shared[0x1c3c] = speed, io_shared[0x1c3e] = brake
0x9100: ? Dendego3 speedometer and brake meter. io_shared[0x1c3c] = speed, io_shared[0x1c3e] = brake
0xa000: ? Used by vibration (force feedback?) on pwrshovl
0xf000: 0x4002f328() TLCS_Init
0xf010: 0x4002f074() Enables TLCS watchdog timer
@ -1989,7 +1989,7 @@ void taitotz_state::ppc_common_w(offs_t offset, uint64_t data, uint64_t mem_mask
/*
if (m_io_share_ram[0xfff] == 0x1010)
{
printf("PPC -> TLCS cmd 1010: %04X %04X %04X %04X\n", m_io_share_ram[0x1a02/2], m_io_share_ram[0x1a04/2], m_io_share_ram[0x1a06/2], m_io_share_ram[0x1a08/2]);
printf("PPC -> TLCS cmd 1010: %04X %04X %04X %04X\n", m_io_share_ram[0x1a02/2], m_io_share_ram[0x1a04/2], m_io_share_ram[0x1a06/2], m_io_share_ram[0x1a08/2]);
}
*/

View File

@ -4,9 +4,9 @@
Yamaha PSR-60/PSR-70 PortaSound keyboards
Preliminary driver by R. Belmont, major thanks to reverse-engineering work by JKN0
Note: PSR-50 is likely the same hardware.
Note: PSR-50 is likely the same hardware.
Special thanks to
Special thanks to
Documentation: https://github.com/JKN0/PSR70-reverse
More documentation: https://retroandreverse.blogspot.com/2021/01/reversing-psr-70-hardware.html
@ -14,9 +14,9 @@
https://retroandreverse.blogspot.com/2021/01/digging-into-ymopq.html
Service manuals: https://elektrotanya.com/yamaha_psr-60.pdf/download.html
https://elektrotanya.com/yamaha_psr-70_sm.pdf/download.html
https://elektrotanya.com/yamaha_psr-70_sm.pdf/download.html
Thanks to Lord Nightmare for help with the BBD filter chain
Thanks to Lord Nightmare for help with the BBD filter chain
CPU: Z80 @ 6 MHz
Sound: YM3533 "OPQ" FM @ 3.58 MHz + YM2154 "RYP" sample playback chip for drums
@ -284,8 +284,8 @@ void psr60_state::drvif_w(offs_t offset, u8 data)
for (int bit = 0; bit < 4; bit++)
m_drvif_out[m_drvif_select][bit] = BIT(data, 3 - bit);
}
// else
// printf("DRVIF: %02X = %02X\n", offset, data);
// else
// printf("DRVIF: %02X = %02X\n", offset, data);
}
INPUT_CHANGED_MEMBER(psr60_state::drvif_changed)
@ -677,11 +677,11 @@ void psr60_state::psr_common(machine_config &config)
YM3533(config, m_ym3533, 3.579545_MHz_XTAL);
m_ym3533->irq_handler().set(FUNC(psr60_state::ym_irq_w));
m_ym3533->add_route(0, m_lmixer, 0.16); // channel 1 = ORC
m_ym3533->add_route(0, m_lmixer, 0.16); // channel 1 = ORC
m_ym3533->add_route(0, m_rmixer, 0.16);
m_ym3533->add_route(1, m_lmixer, 0.22); // channel 2 = SABC
m_ym3533->add_route(1, m_lmixer, 0.22); // channel 2 = SABC
m_ym3533->add_route(1, m_rmixer, 0.22);
m_ym3533->add_route(1, m_ic204a, 1.0); // routed to BBD via filters
m_ym3533->add_route(1, m_ic204a, 1.0); // routed to BBD via filters
YM2154(config, m_ryp4, 2250000);
m_ryp4->irq_handler().set(FUNC(psr60_state::ryp4_irq_w));

View File

@ -812,7 +812,7 @@ void jetwave_state::jetwave(machine_config &config)
// video hardware
m_screen->set_size(1024, 1024);
m_screen->set_visarea(40, 511 + 40, 27, 383 + 27); // needs CRTC emulation
m_screen->set_visarea(40, 511 + 40, 27, 383 + 27); // needs CRTC emulation
m_screen->set_screen_update(FUNC(jetwave_state::screen_update));
K001604(config, m_k001604, 0);

View File

@ -963,10 +963,10 @@ license:CC0
<element ref="keyfill"><bounds x="564" y="494" width="2395" height="524" /></element>
<!-- key layout:
wwwww bbbbbb wwwwwww bbbbbbbb wwwwwwww wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww
wwwww bbbbbb wwwwwww bbbbbbbb wwwwwwww wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww
45 44 53 44 45 45 44 44 44 44 44 45
0->45 48->92 95->148 151->195 198->243 243->288 291->335 338->382 385->429 432->476 479->523 526->571
0->79 82->161 164->243 246->325 328->407 410->489 492->571
0->45 48->92 95->148 151->195 198->243 243->288 291->335 338->382 385->429 432->476 479->523 526->571
0->79 82->161 164->243 246->325 328->407 410->489 492->571
-->
<!-- octave 0 -->

View File

@ -881,10 +881,10 @@ license:CC0
<element ref="keyfill"><bounds x="564" y="494" width="2969" height="524" /></element>
<!-- key layout:
wwwww bbbbbb wwwwwww bbbbbbbb wwwwwwww wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww
wwwww bbbbbb wwwwwww bbbbbbbb wwwwwwww wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww bbbbbbbb wwwwwwww
45 44 53 44 45 45 44 44 44 44 44 45
0->45 48->92 95->148 151->195 198->243 243->288 291->335 338->382 385->429 432->476 479->523 526->571
0->79 82->161 164->243 246->325 328->407 410->489 492->571
0->45 48->92 95->148 151->195 198->243 243->288 291->335 338->382 385->429 432->476 479->523 526->571
0->79 82->161 164->243 246->325 328->407 410->489 492->571
-->
<!-- split leds -->

View File

@ -135,11 +135,11 @@ uint32_t konami_gn676_lan_device::lanc2_r(offs_t offset, uint32_t mem_mask)
}
}
else if (offset == 1)
{
r |= 0x00005555; // set all other machines as disconnected
{
r |= 0x00005555; // set all other machines as disconnected
}
else if (offset == 3)
{
{
r |= 0xffffffff;
}
else if (offset == 4)

View File

@ -5,7 +5,7 @@
#include "machine/segashiobd.h"
/*
837-14438 SH I/O BD
837-14438 SH I/O BD
|-------------------------------------------------------------------------------------|
| CN3 CN6 CN2 CN1 CN11 |
@ -31,38 +31,38 @@
| CN4 CN7 CN8 |
|-------------------------------------------------------------------------------------|
IC1 - Hitachi/Renesas SH4 SoC
IC2 - Xilinx Spartan XC2S50 PQ208AMS0341 FPGA
IC3 - Xilinx 17S50APC Spartan-II Family OTP Configuration PROM, stamped 6372A
IC4,5 - Toshiba TC59S6432CFT-10 512K x4 banks x32bit SDRAM
IC6 - Macronix MX29LV160ATTC-90 16Mbit Flash ROM
IC7 - ST M68AF127BL55MC6 1Mbit (128K x8) SRAM
IC8 - 42-pin DIP socket, unpopulated
IC9 - NS USBN9604-28M USB Node Controller
OSC1 - 33.3333 MHz
OSC2 - 32.0000 MHz
OCS3 - 24.0000 MHz
SW1,2 - pushbuttons
DIPSW1 - 4x DIP switch
LED1-5 - LEDs
LED6,7 - 7seg LEDs
BT1 - Panasonic CR2032 battery
IC1 - Hitachi/Renesas SH4 SoC
IC2 - Xilinx Spartan XC2S50 PQ208AMS0341 FPGA
IC3 - Xilinx 17S50APC Spartan-II Family OTP Configuration PROM, stamped 6372A
IC4,5 - Toshiba TC59S6432CFT-10 512K x4 banks x32bit SDRAM
IC6 - Macronix MX29LV160ATTC-90 16Mbit Flash ROM
IC7 - ST M68AF127BL55MC6 1Mbit (128K x8) SRAM
IC8 - 42-pin DIP socket, unpopulated
IC9 - NS USBN9604-28M USB Node Controller
OSC1 - 33.3333 MHz
OSC2 - 32.0000 MHz
OCS3 - 24.0000 MHz
SW1,2 - pushbuttons
DIPSW1 - 4x DIP switch
LED1-5 - LEDs
LED6,7 - 7seg LEDs
BT1 - Panasonic CR2032 battery
CN1 - 8 pin JST VH series connector
1 12V
2 5V
3 5V
4 3.3V
5 3.3V
6 gnd
7 gnd
8 gnd
CN2 - 4 pin JST VH series connector
1 12V
2 12V
3 gnd
4 gnd
CN1 - 8 pin JST VH series connector
1 12V
2 5V
3 5V
4 3.3V
5 3.3V
6 gnd
7 gnd
8 gnd
CN2 - 4 pin JST VH series connector
1 12V
2 12V
3 gnd
4 gnd
*/
DEFINE_DEVICE_TYPE(SEGA837_14438, sega_837_14438_device, "sega837_14438", "Sega 837-14438 SH I/O BD")

View File

@ -16,11 +16,11 @@
Character RAM:
* Foreground tiles 2x or 4x 1Mbit SRAM in a 16-bit bus.
- GTI Club: 37C 34C 32C 29C filled
- NWK-TR: 34A 31A filled, no empty solder pads
- NWK-TR: 34A 31A filled, no empty solder pads
* Background tiles 2x or 4x 1Mbit SRAM in a 16-bit bus.
- GTI Club: 37A 34A filled, 32A 29A empty
- NWK-TR: 34C 31C 28C 25C empty
- NWK-TR: 34C 31C 28C 25C empty
Tile RAM:
* 3x 256Kbit SRAMs in a 24-bit bus
* Each tile entry is 24 bits, 32768 total
@ -31,7 +31,7 @@
Background and foreground layer with ROZ capabilities
Both tilemaps are 128x128 tiles, with ability to use smaller sub-tilemaps
Foreground seems to use 8x8 tiles only, background can select 8x8 or 16x16 tiles
Foreground seems to use 8x8 tiles only, background can select 8x8 or 16x16 tiles
Registers:
@ -45,11 +45,11 @@
0c ???????????????? ----------------
---------------- ????????????????
20 sxxxxxxxxxxxxxxx ---------------- Background X start (13.3 fixed point)
---------------- sxxxxxxxxxxxxxxx Background Y start (13.3 fixed point)
---------------- sxxxxxxxxxxxxxxx Background Y start (13.3 fixed point)
24 sxxxxxxxxxxxxxxx ---------------- Background ROZ XX (5.11 fixed point)
---------------- sxxxxxxxxxxxxxxx Background ROZ YX (5.11 fixed point)
---------------- sxxxxxxxxxxxxxxx Background ROZ YX (5.11 fixed point)
28 sxxxxxxxxxxxxxxx ---------------- Background ROZ YY (5.11 fixed point)
---------------- sxxxxxxxxxxxxxxx Background ROZ XY (5.11 fixed point)
---------------- sxxxxxxxxxxxxxxx Background ROZ XY (5.11 fixed point)
2c ???????????????? ----------------
---------------- ????????????????
40 xxxxxxxxxxxxxxxx ----------------
@ -65,35 +65,35 @@
60 x--------------- ---------------- FG tilemap enable?
-x-------------- ---------------- BG tilemap enable?
-------x-------- ---------------- Select FG/BG tiles for character RAM read/write access
-------0-------- ---------------- FG character RAM
-------1-------- ---------------- BG character RAM
---------x------ ---------------- BG tile size
---------0------ ---------------- 16x16
---------1------ ---------------- 8x8
---------------- --------------xx Character bank for FG tiles
---------------- ------xx-------- Character bank for BG tiles
------------xx-- ---------------- Tilemap layout (both bits either set or unset)
------------00-- ---------------- "landscape", 256 tiles wide
------------11-- ---------------- "portrait", 128 tiles wide
6c -x-------------- ---------------- Swap FG/BG tilemap location in portrait mode? (used by Solar Assault) Might also swap left/right in landscape mode but nothing uses this.
-0-------------- ---------------- FG Tilemap at 0x0000, BG at 0x4000
-1-------------- ---------------- FG Tilemap at 0x4000, BG at 0x0000
--------x------- ---------------- ?
---------xx----- ---------------- FG sub tilemap width?
------------x--- ---------------- ?
-------------xx- ---------------- FG sub tilemap height?
---------------- ----x----------- Enable BG sub tilemap?
---------------- -----xx--------- BG sub tilemap width?
---------------- -----00--------- 128 tiles
---------------- -----10--------- 64 tiles
---------------- -----11--------- 32 tiles
---------------- --------x------- ?
---------------- ---------xx----- BG sub tilemap height?
---------------- ---------00----- 128 tiles
---------------- ---------10----- 64 tiles
---------------- ---------11----- 32 tiles
---------------- ------------x--- ?
---------------- -------------xx- BG sub tilemap X (in units of 32 tiles)
-------0-------- ---------------- FG character RAM
-------1-------- ---------------- BG character RAM
---------x------ ---------------- BG tile size
---------0------ ---------------- 16x16
---------1------ ---------------- 8x8
---------------- --------------xx Character bank for FG tiles
---------------- ------xx-------- Character bank for BG tiles
------------xx-- ---------------- Tilemap layout (both bits either set or unset)
------------00-- ---------------- "landscape", 256 tiles wide
------------11-- ---------------- "portrait", 128 tiles wide
6c -x-------------- ---------------- Swap FG/BG tilemap location in portrait mode? (used by Solar Assault) Might also swap left/right in landscape mode but nothing uses this.
-0-------------- ---------------- FG Tilemap at 0x0000, BG at 0x4000
-1-------------- ---------------- FG Tilemap at 0x4000, BG at 0x0000
--------x------- ---------------- ?
---------xx----- ---------------- FG sub tilemap width?
------------x--- ---------------- ?
-------------xx- ---------------- FG sub tilemap height?
---------------- ----x----------- Enable BG sub tilemap?
---------------- -----xx--------- BG sub tilemap width?
---------------- -----00--------- 128 tiles
---------------- -----10--------- 64 tiles
---------------- -----11--------- 32 tiles
---------------- --------x------- ?
---------------- ---------xx----- BG sub tilemap height?
---------------- ---------00----- 128 tiles
---------------- ---------10----- 64 tiles
---------------- ---------11----- 32 tiles
---------------- ------------x--- ?
---------------- -------------xx- BG sub tilemap X (in units of 32 tiles)
Tilemap layout:
@ -111,7 +111,7 @@
"portrait" mode:
0 128
0 128
0x0000 +----------------+
| |
| |
@ -129,23 +129,23 @@
+----------------+
Tilemap sub-split:
Tilemap can be split in X and Y direction into 32/64/128 x 32/64/128 sub-tilemaps
Sub-tilemap selection works in units of 32 tiles
Tilemap can be split in X and Y direction into 32/64/128 x 32/64/128 sub-tilemaps
Sub-tilemap selection works in units of 32 tiles
0 32 64 96 128
+-----+-----+-----+-----+
| | | | |
0 32 64 96 128
+-----+-----+-----+-----+
| | | | |
| 0,0 | 1,0 | 2,0 | 3,0 |
32 +-----+-----+-----+-----+
| | | | |
| | | | |
| 0,1 | 1,1 | 2,1 | 3,1 |
64 +-----+-----+-----+-----+
| | | | |
| 0,2 | 1,2 | 2,2 | 3,2 |
96 +-----+-----+-----+-----+
| | | | |
| 0,3 | 1,3 | 2,3 | 3,3 |
128 +-----+-----+-----+-----+
| | | | |
| 0,2 | 1,2 | 2,2 | 3,2 |
96 +-----+-----+-----+-----+
| | | | |
| 0,3 | 1,3 | 2,3 | 3,3 |
128 +-----+-----+-----+-----+
@ -194,9 +194,9 @@ void k001604_device::device_start()
16*128
};
m_fg_char_ram = make_unique_clear<uint8_t[]>(0x80000); // 4x 128Kx8
m_bg_char_ram = make_unique_clear<uint8_t[]>(0x80000); // 4x 128Kx8
m_tile_ram = make_unique_clear<uint32_t[]>(0x8000); // 32K x 24 bits
m_fg_char_ram = make_unique_clear<uint8_t[]>(0x80000); // 4x 128Kx8
m_bg_char_ram = make_unique_clear<uint8_t[]>(0x80000); // 4x 128Kx8
m_tile_ram = make_unique_clear<uint32_t[]>(0x8000); // 32K x 24 bits
m_reg = make_unique_clear<uint32_t[]>(0x400 / 4);
/* create tilemaps */
@ -242,9 +242,9 @@ TILE_GET_INFO_MEMBER(k001604_device::tile_info_fg)
uint32_t tilebase = (m_reg[0x18] & 0x40000) ? ((m_reg[0x1b] & 0x40000000) ? 0x4000 : 0x0000) : 0x0000;
uint32_t x = tile_index & 0x7f;
uint32_t y = tile_index / 128;
uint32_t tilemap_pitch = (m_reg[0x18] & 0x40000) ? 128 : 256;
uint32_t tilemap_pitch = (m_reg[0x18] & 0x40000) ? 128 : 256;
uint32_t val = m_tile_ram[(y * tilemap_pitch) + x + tilebase];
int color = (val >> 17) & 0x1f;
int color = (val >> 17) & 0x1f;
int tile = val & 0x1fff;
int flags = 0;
@ -277,7 +277,7 @@ TILE_GET_INFO_MEMBER(k001604_device::tile_info_bg8)
}
TILE_GET_INFO_MEMBER(k001604_device::tile_info_bg16)
{
{
uint32_t tilebase = (m_reg[0x18] & 0x40000) ? ((m_reg[0x1b] & 0x40000000) ? 0x0000 : 0x4000) : 0x0000;
uint32_t x = tile_index & 0x7f;
uint32_t y = tile_index / 128;
@ -301,7 +301,7 @@ TILE_GET_INFO_MEMBER(k001604_device::tile_info_bg16)
void k001604_device::draw_tilemap(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, bool front, tilemap_t* tilemap)
{
const rectangle& visarea = screen.visible_area();
static const int SUBTILEMAP_DIMENSION[4] = { 128, 128, 64, 32 }; // entry 1 seems unused
static const int SUBTILEMAP_DIMENSION[4] = { 128, 128, 64, 32 }; // entry 1 seems unused
int32_t startx, starty, incxx, incyx, incxy, incyy;
@ -321,7 +321,7 @@ void k001604_device::draw_tilemap(screen_device &screen, bitmap_rgb32 &bitmap, c
incxx = (int32_t)((int16_t)(m_reg[0x09])) << 5;
incyx = (int32_t)((int16_t)(m_reg[0x09] >> 16)) << 5;
incxy = (int32_t)((int16_t)(m_reg[0x0a])) << 5;
incyy = (int32_t)((int16_t)(m_reg[0x0a] >> 16)) << 5;
incyy = (int32_t)((int16_t)(m_reg[0x0a] >> 16)) << 5;
}
bitmap_ind16& pixmap = tilemap->pixmap();
@ -362,7 +362,7 @@ void k001604_device::draw_tilemap(screen_device &screen, bitmap_rgb32 &bitmap, c
}
// draw the tilemap
//
//
// loop over rows
while (sy <= ey)
{
@ -463,9 +463,9 @@ void k001604_device::tile_w(offs_t offset, uint32_t data, uint32_t mem_mask)
// portrait
uint32_t fg_tilebase = (m_reg[0x1b] & 0x40000000) ? 0x4000 : 0x0000;
uint32_t bg_tilebase = (m_reg[0x1b] & 0x40000000) ? 0x0000 : 0x4000;
if (offset >= fg_tilebase && offset < fg_tilebase + 0x4000)
{
{
m_fg_tilemap->mark_tile_dirty(offset - fg_tilebase);
}
if (offset >= bg_tilebase && offset < bg_tilebase + 0x4000)
@ -500,7 +500,7 @@ void k001604_device::char_w(offs_t offset, uint32_t data, uint32_t mem_mask)
int chip;
uint32_t addr;
bool bg = (m_reg[0x60 / 4] & 0x1000000) ? true : false;
bool bg = (m_reg[0x60 / 4] & 0x1000000) ? true : false;
// select individual RAM chip to access
if (bg)

View File

@ -29,7 +29,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
private:
// internal state
// internal state
tilemap_t* m_fg_tilemap;
tilemap_t* m_bg_tilemap8;
tilemap_t* m_bg_tilemap16;

View File

@ -15,7 +15,7 @@ Konami 037122
---------------- ----------xxxxxx Green
Tilemap can be rotated, zoomed, similar to K053936 "simple mode"
Tilemap can be configured either as 256x64 tiles (2048x512 pixels) or 128x128 tiles (1024x1024 pixels), Each tile is 8bpp 8x8.
Tilemap can be configured either as 256x64 tiles (2048x512 pixels) or 128x128 tiles (1024x1024 pixels), Each tile is 8bpp 8x8.
Tile format (4 byte (1x32bit word) per each tile)
Bits Description
@ -45,19 +45,19 @@ Konami 037122
20 sxxxxxxxxxxxxxxx ---------------- X counter starting value (12.4 fixed point)
---------------- sxxxxxxxxxxxxxxx Y counter starting value (12.4 fixed point)
24 sxxxxxxxxxxxxxxx ---------------- amount to add to the X counter after each line (4.12 fixed point)
---------------- sxxxxxxxxxxxxxxx amount to add to the Y counter after each line (4.12 fixed point)
---------------- sxxxxxxxxxxxxxxx amount to add to the Y counter after each line (4.12 fixed point)
28 sxxxxxxxxxxxxxxx ---------------- amount to add to the X counter after each horizontal pixel (4.12 fixed point)
---------------- sxxxxxxxxxxxxxxx amount to add to the Y counter after each horizontal pixel (4.12 fixed point)
---------------- sxxxxxxxxxxxxxxx amount to add to the Y counter after each horizontal pixel (4.12 fixed point)
30 ---------------x ---------------- Tilemap size
---------------0 ---------------- 128x128
---------------1 ---------------- 256x64
---------------0 ---------------- 128x128
---------------1 ---------------- 256x64
---------------- -------------xxx Character RAM bank
34 ---------------- -------------x-- CLUT location
---------------- -------------0-- CLUT at 0x00000-0x08000
---------------- -------------1-- CLUT at 0x18000-0x20000
---------------x ---------------- Tilemap Y origin
---------------0 ---------------- Origin at tilemap center
---------------1 ---------------- Origin at 0
34 ---------------- -------------x-- CLUT location
---------------- -------------0-- CLUT at 0x00000-0x08000
---------------- -------------1-- CLUT at 0x18000-0x20000
---------------x ---------------- Tilemap Y origin
---------------0 ---------------- Origin at tilemap center
---------------1 ---------------- Origin at 0
Other bits/registers unknown, some registers are used
@ -173,7 +173,7 @@ void k037122_device::tile_draw( screen_device &screen, bitmap_rgb32 &bitmap, con
int16_t incxx = m_reg[0xa] >> 16;
int16_t incxy = m_reg[0xa] & 0xffff;
int16_t incyx = m_reg[0x9] >> 16;
int16_t incyy = m_reg[0x9] & 0xffff;
int16_t incyy = m_reg[0x9] & 0xffff;
if (m_reg[0xc] & 0x10000)
{

View File

@ -37,7 +37,7 @@ private:
tilemap_t* m_tilemap_256;
uint32_t m_palette_base;
uint32_t m_tilemap_base;
uint32_t m_tilemap_base;
std::unique_ptr<uint32_t[]> m_tile_ram;
std::unique_ptr<uint32_t[]> m_char_ram;

View File

@ -242,7 +242,7 @@ uint32_t mermaid_state::screen_update_mermaid(screen_device &screen, bitmap_ind1
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
draw_sprites(bitmap, cliprect);
draw_sprites(bitmap, cliprect);
}
else if (m_bg_mask)
{

View File

@ -32,7 +32,7 @@ static void display_usage()
}
static void display_formats()
{
{
int sk = 0;
for(const auto &e : formats.floppy_format_info_by_key) {
int sz = e.first.size();
@ -80,7 +80,7 @@ static void display_formats()
fprintf(stderr, " %-*s - %s\n",
sk,
f2->m_name,
f2->m_description);
f2->m_description);
}
}
}
@ -111,7 +111,7 @@ static int identify(int argc, char *argv[])
if(len > sz)
sz = len;
}
for(int i=2; i<argc; i++) {
image_handler ih;
ih.set_on_disk_path(argv[i]);
@ -124,7 +124,7 @@ static int identify(int argc, char *argv[])
if(len > sz2)
sz2 = len;
}
bool first = true;
for(const auto &e : scores) {
printf("%-*s %c %3d - %-*s %s\n", sz, first ? argv[i] : "", first ? ':' : ' ', e.first, sz2, e.second->m_format->name(), e.second->m_format->description());
@ -151,7 +151,7 @@ static const floppy_format_info *find_floppy_source_format(const char *name, ima
if(len > sz)
sz = len;
}
for(const auto &e : scores)
printf(" %3d - %-*s %s\n", e.first, sz, e.second->m_format->name(), e.second->m_format->description());
return nullptr;
@ -179,7 +179,7 @@ static int flopconvert(int argc, char *argv[])
image_handler ih;
ih.set_on_disk_path(argv[4]);
const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
if(!source_format)
return 1;
@ -317,7 +317,7 @@ static int generic_dir(image_handler &ih)
std::unordered_map<fs_meta_name, size_t> nmap;
for(size_t i = 0; i != names.size(); i++)
nmap[names[i]] = i;
auto root = fs->root();
std::vector<std::vector<std::string>> entries;
@ -356,7 +356,7 @@ static int flopdir(int argc, char *argv[])
image_handler ih;
ih.set_on_disk_path(argv[4]);
const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
if(!source_format)
return 1;
@ -480,7 +480,7 @@ static int flopread(int argc, char *argv[])
image_handler ih;
ih.set_on_disk_path(argv[4]);
const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
if(!source_format)
return 1;
@ -601,7 +601,7 @@ static int flopwrite(int argc, char *argv[])
image_handler ih;
ih.set_on_disk_path(argv[4]);
const floppy_format_info *source_format = find_floppy_source_format(argv[2], ih);
if(!source_format)
return 1;
@ -626,7 +626,7 @@ static int flopwrite(int argc, char *argv[])
fprintf(stderr, "Error: Parsing as filesystem '%s' failed\n", fs->m_manager->name());
return 1;
}
int err = generic_write(ih, argv[5], argv[6]);
if(err)
return err;
@ -634,7 +634,7 @@ static int flopwrite(int argc, char *argv[])
ih.fs_to_floppy();
if(ih.floppy_save(source_format))
return 1;
return 0;
}

View File

@ -125,7 +125,7 @@ namespace {
m_format->m_floppy_raw = true;
m_format->m_floppy_create.emplace_back(std::make_unique<floppy_create_info>(name, key, description));
}
};
};
}
void formats_table::init()
@ -268,7 +268,7 @@ void image_handler::fsave(std::string path, const std::vector<u8> &data)
void image_handler::fsave_rsrc(std::string path, const std::vector<u8> &data)
{
u8 head[0x2a];
filesystem_t::w32b(head+0x00, 0x00051607); // Magic
filesystem_t::w32b(head+0x04, 0x00020000); // Version
filesystem_t::fill(head+0x08, 0, 16); // Filler
@ -377,7 +377,7 @@ void image_handler::floppy_create(const floppy_create_info *format, fs_meta_data
source_format->load(iog, floppy_image::FF_UNKNOWN, variants, &m_floppy_image);
delete source_format;
delete iog;
} else
fs_unformatted::format(format->m_key, &m_floppy_image);
}

View File

@ -33,7 +33,7 @@ struct floppy_format_info {
struct floppy_create_info {
const filesystem_manager_t *m_manager;
floppy_format_type m_type;
u32 m_image_size;
u32 m_key;