summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/315-5838_317-0229_comp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/315-5838_317-0229_comp.c')
-rw-r--r--src/mame/machine/315-5838_317-0229_comp.c54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/mame/machine/315-5838_317-0229_comp.c b/src/mame/machine/315-5838_317-0229_comp.c
index c35666a7e33..ca3731e9828 100644
--- a/src/mame/machine/315-5838_317-0229_comp.c
+++ b/src/mame/machine/315-5838_317-0229_comp.c
@@ -1,33 +1,33 @@
/* Sega Compression (and possibly encryption) device
- 315-5838 - Decathlete (ST-V)
- 317-0229 - Dead or Alive (Model 2A)
+ 315-5838 - Decathlete (ST-V)
+ 317-0229 - Dead or Alive (Model 2A)
- Package Type: TQFP100
+ Package Type: TQFP100
- This appears to be a dual channel compression chip, used in 1996, predating the 5881.
- Decathlete uses it to compress ALL the game graphics, Dead or Alive uses it for a
- dumb security check, decompressing a single string.
+ This appears to be a dual channel compression chip, used in 1996, predating the 5881.
+ Decathlete uses it to compress ALL the game graphics, Dead or Alive uses it for a
+ dumb security check, decompressing a single string.
- Each channel appears to be connected to a different set of ROMs, however there is
- defintiely only a single 315-5838 chip. (could the different channels actually just
- be mirror addresses, with part of the address determining the ROMs to use?)
+ Each channel appears to be connected to a different set of ROMs, however there is
+ defintiely only a single 315-5838 chip. (could the different channels actually just
+ be mirror addresses, with part of the address determining the ROMs to use?)
- Dead of Alive only uses a single channel, and has the source data in RAM, not ROM.
- This is similar to how some 5881 games were set up, with the ST-V versions decrypting
- data directly from ROM and the Model 2 ones using a RAM source buffer.
+ Dead of Alive only uses a single channel, and has the source data in RAM, not ROM.
+ This is similar to how some 5881 games were set up, with the ST-V versions decrypting
+ data directly from ROM and the Model 2 ones using a RAM source buffer.
- Looking at the values read I don't think there is any address based encryption, for
- example many blocks where you'd expect a zero fill start with repeating patterns
- of 8f708f70 (different lengths) channel would appear to relate to compressed 0x00 data
+ Looking at the values read I don't think there is any address based encryption, for
+ example many blocks where you'd expect a zero fill start with repeating patterns
+ of 8f708f70 (different lengths) channel would appear to relate to compressed 0x00 data
- read addr 0071253c, blah_r 8f708f70 - read count count 00000004
- read addr 00712540, blah_r 8f708f70 - read count count 00000008
- read addr 00712544, blah_r 8f708f70 - read count count 0000000c
- read addr 00712548, blah_r 8f708f70 - read count count 00000010
- read addr 0071254c, blah_r 8f708f70 - read count count 00000014
- read addr 00712550, blah_r 8f708f70 - read count count 00000018
- read addr 00712554, blah_r 8f708f70 - read count count 0000001c
+ read addr 0071253c, blah_r 8f708f70 - read count count 00000004
+ read addr 00712540, blah_r 8f708f70 - read count count 00000008
+ read addr 00712544, blah_r 8f708f70 - read count count 0000000c
+ read addr 00712548, blah_r 8f708f70 - read count count 00000010
+ read addr 0071254c, blah_r 8f708f70 - read count count 00000014
+ read addr 00712550, blah_r 8f708f70 - read count count 00000018
+ read addr 00712554, blah_r 8f708f70 - read count count 0000001c
*/
@@ -95,8 +95,8 @@ READ32_MEMBER(sega_315_5838_comp_device::decathlt_prot2_r)
UINT32 sega_315_5838_comp_device::genericdecathlt_prot_r(UINT32 mem_mask, int channel)
{
-// UINT32 *fake0 = (UINT32*)memregion( ":fake0" )->base();
-// UINT32 retvalue = 0xffff;
+// UINT32 *fake0 = (UINT32*)memregion( ":fake0" )->base();
+// UINT32 retvalue = 0xffff;
switch (m_channel[channel].m_srcoffset)
{
@@ -177,7 +177,7 @@ UINT32 sega_315_5838_comp_device::genericdecathlt_prot_r(UINT32 mem_mask, int ch
void sega_315_5838_comp_device::set_prot_addr(UINT32 data, UINT32 mem_mask, int channel)
{
-// printf("set_prot_addr\n");
+// printf("set_prot_addr\n");
COMBINE_DATA(&m_channel[channel].m_srcoffset);
//if (m_decathlt_part==0) logerror("%d, last read count was %06x\n",channel, m_channel[channel].m_decathlt_lastcount*4);
@@ -361,6 +361,6 @@ void sega_315_5838_comp_device::install_doa_protection()
cpu->space(AS_PROGRAM).install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(sega_315_5838_comp_device::doa_prot_r), this), write32_delegate(FUNC(sega_315_5838_comp_device::doa_prot_w), this));
cpu->space(AS_PROGRAM).install_write_handler(0x01d87ff0, 0x01d87ff3, write32_delegate(FUNC(sega_315_5838_comp_device::decathlt_prot1_srcaddr_w), this)); // set compressed data source address (always set 0, data is in RAM)
cpu->space(AS_PROGRAM).install_write_handler(0x01d87ff4, 0x01d87ff7, write32_delegate(FUNC(sega_315_5838_comp_device::decathlt_prot1_w_doa), this)); // upload tab
-// cpu->space(AS_PROGRAM).install_read_handler(0x01d87ff8, 0x01d87ffb, read32_delegate(FUNC(sega_315_5838_comp_device::decathlt_prot1_r), this)); // read decompressed data
+// cpu->space(AS_PROGRAM).install_read_handler(0x01d87ff8, 0x01d87ffb, read32_delegate(FUNC(sega_315_5838_comp_device::decathlt_prot1_r), this)); // read decompressed data
-} \ No newline at end of file
+}