summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2015-07-15 04:02:44 +0200
committer angelosa <salese_corp_ltd@email.it>2015-07-15 04:02:44 +0200
commitdbbd9a85e97ed055da047b39dc8f96c5280da68b (patch)
treea594a7c2e7bcca69eb79a4dc4d0d3e8d7a5e839c
parent6a6ca341b785d3b3bf9d046e8ba696da870f043c (diff)
Temp debug for whp
-rw-r--r--src/emu/machine/segacdblock.c27
-rw-r--r--src/emu/machine/smpc.c3
2 files changed, 22 insertions, 8 deletions
diff --git a/src/emu/machine/segacdblock.c b/src/emu/machine/segacdblock.c
index 744c934bb98..a7ecd59e6bd 100644
--- a/src/emu/machine/segacdblock.c
+++ b/src/emu/machine/segacdblock.c
@@ -35,6 +35,7 @@
*/
#define DUMP_DIR_ENTRIES 0
+#define TRY_SINGLE_STEP 0
#include "emu.h"
#include "machine/segacdblock.h"
@@ -196,7 +197,7 @@ READ32_MEMBER(segacdblock_device::datatrns32_r)
else // sectors are done, kill 'em all if we can
{
m_TransferActive = false;
- cd_standard_return(false);
+ //cd_standard_return(false);
if (DeleteSectorMode == true)
{
INT32 i;
@@ -204,7 +205,11 @@ READ32_MEMBER(segacdblock_device::datatrns32_r)
//CDROM_LOG(("Killing sectors in done\n"))
// deallocate the blocks
+ #if TRY_SINGLE_STEP
+ i = xfersectpos+xfersect;
+ #else
for (i = xfersectpos; i < xfersectpos+xfersectnum; i++)
+ #endif
{
cd_free_block(transpart->blocks[i]);
transpart->blocks[i] = (blockT *)NULL;
@@ -348,7 +353,7 @@ void segacdblock_device::SH1CommandExecute()
case 0x51: cd_cmd_get_sector_number(m_cr[2] >> 8); break;
case 0x52: cd_cmd_calculate_actual_size(); break;
case 0x53: cd_cmd_get_actual_size(); break;
-
+ //case 0x54: Falcom Classics 2
case 0x60: cd_cmd_set_sector_length(m_cr[0] & 0xff, m_cr[1] >> 8); break;
case 0x61: cd_cmd_get_sector(false); break;
case 0x62: cd_cmd_delete_sector(); break;
@@ -709,6 +714,9 @@ void segacdblock_device::cd_cmd_init(UINT8 init_flags)
if(init_flags & 1)
set_flag(ESEL|EHST|ECPY|EFLS|SCDQ);
+ if(init_flags & 0x10)
+ debugger_break(machine());
+
set_flag(CMOK);
}
@@ -742,8 +750,11 @@ void segacdblock_device::cd_cmd_end_transfer()
DeleteSectorMode = false;
// deallocate the blocks
- //i = xfersectpos+xfersectnum;
+ #if TRY_SINGLE_STEP
+ i = xfersectpos+xfersect;
+ #else
for (i = xfersectpos; i < xfersectpos+xfersectnum; i++)
+ #endif
{
cd_free_block(transpart->blocks[i]);
transpart->blocks[i] = (blockT *)NULL;
@@ -789,30 +800,30 @@ void segacdblock_device::cd_cmd_play_disc()
{
UINT8 play_mode = m_cr[2] >> 8;
if(play_mode)
- return; // @todo intentional for debugging
+ debugger_break(machine());
UINT32 start_pos = ((m_cr[0] & 0xff) << 16) | (m_cr[1] & 0xffff);
UINT32 end_pos = ((m_cr[2] & 0xff) << 16) | (m_cr[3] & 0xffff);
if(start_pos & 0x800000)
{
if(start_pos == 0xffffff)
- return; // @todo intentional for debugging
+ debugger_break(machine());
m_FAD = start_pos & 0xfffff;
m_CurrentTrack = cdrom_get_track(cdrom, m_FAD-150);
}
else
- return; // @todo intentional for debugging
+ debugger_break(machine());
if(end_pos & 0x800000)
{
if(end_pos == 0xffffff)
- return; // @todo intentional for debugging
+ debugger_break(machine());
m_FADEnd = end_pos & 0xfffff;
}
else
- return; // @todo intentional for debugging
+ debugger_break(machine());
m_cd_state = CD_STAT_PLAY;
m_cd_timer->reset();
diff --git a/src/emu/machine/smpc.c b/src/emu/machine/smpc.c
index c2dfe39c743..b72a5887502 100644
--- a/src/emu/machine/smpc.c
+++ b/src/emu/machine/smpc.c
@@ -938,6 +938,9 @@ UINT8 saturn_state::smpc_th_control_mode(UINT8 pad_n)
break;
}
+ if(machine().input().code_pressed(KEYCODE_Z))
+ return machine().rand();
+
return res;
}