summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/btime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/btime.cpp')
-rw-r--r--src/mame/machine/btime.cpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/src/mame/machine/btime.cpp b/src/mame/machine/btime.cpp
deleted file mode 100644
index 7eaffda5e26..00000000000
--- a/src/mame/machine/btime.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Zsolt Vasvari, Couriersud
-#include "emu.h"
-#include "includes/btime.h"
-
-
-#define BASE 0xb000
-
-READ8_MEMBER(btime_state::mmonkey_protection_r)
-{
- uint8_t *RAM = memregion("maincpu")->base();
- int ret = 0;
-
- if (offset == 0x0000)
- ret = m_protection_status;
- else if (offset == 0x0e00)
- ret = m_protection_ret;
- else if (offset >= 0x0d00 && offset <= 0x0d02)
- ret = RAM[BASE + offset]; /* addition result */
- else
- logerror("Unknown protection read. PC=%04X Offset=%04X\n", m_maincpu->pc(), offset);
-
- return ret;
-}
-
-WRITE8_MEMBER(btime_state::mmonkey_protection_w)
-{
- uint8_t *RAM = memregion("maincpu")->base();
-
- if (offset == 0)
- {
- /* protection trigger */
- if (data == 0)
- {
- int i, s1, s2, r;
-
- switch (m_protection_command)
- {
- case 0: /* score addition */
-
- s1 = (1 * (RAM[BASE + 0x0d00] & 0x0f)) + (10 * (RAM[BASE + 0x0d00] >> 4)) +
- (100 * (RAM[BASE + 0x0d01] & 0x0f)) + (1000 * (RAM[BASE + 0x0d01] >> 4)) +
- (10000 * (RAM[BASE + 0x0d02] & 0x0f)) + (100000 * (RAM[BASE + 0x0d02] >> 4));
-
- s2 = (1 * (RAM[BASE + 0x0d03] & 0x0f)) + (10 * (RAM[BASE + 0x0d03] >> 4)) +
- (100 * (RAM[BASE + 0x0d04] & 0x0f)) + (1000 * (RAM[BASE + 0x0d04] >> 4)) +
- (10000 * (RAM[BASE + 0x0d05] & 0x0f)) + (100000 * (RAM[BASE + 0x0d05] >> 4));
-
- r = s1 + s2;
-
- RAM[BASE + 0x0d00] = (r % 10); r /= 10;
- RAM[BASE + 0x0d00] |= ((r % 10) << 4); r /= 10;
- RAM[BASE + 0x0d01] = (r % 10); r /= 10;
- RAM[BASE + 0x0d01] |= ((r % 10) << 4); r /= 10;
- RAM[BASE + 0x0d02] = (r % 10); r /= 10;
- RAM[BASE + 0x0d02] |= ((r % 10) << 4);
-
- break;
-
- case 1: /* decryption */
-
- /* Compute return value by searching the decryption table. */
- /* During the search the status should be 2, but we're done */
- /* instanteniously in emulation time */
- for (i = 0; i < 0x100; i++)
- {
- if (RAM[BASE + 0x0f00 + i] == m_protection_value)
- {
- m_protection_ret = i;
- break;
- }
- }
- break;
-
- default:
- logerror("Unemulated protection command=%02X. PC=%04X\n", m_protection_command, m_maincpu->pc());
- break;
- }
-
- m_protection_status = 0;
- }
- }
- else if (offset == 0x0c00)
- m_protection_command = data;
- else if (offset == 0x0e00)
- m_protection_value = data;
- else if (offset >= 0x0f00)
- RAM[BASE + offset] = data; /* decrypt table */
- else if (offset >= 0x0d00 && offset <= 0x0d05)
- RAM[BASE + offset] = data; /* source table */
- else
- logerror("Unknown protection write=%02X. PC=%04X Offset=%04X\n", data, m_maincpu->pc(), offset);
-}