From bb1b182016110cf940993e2dcf2d53062f461071 Mon Sep 17 00:00:00 2001 From: "K.Ohta" Date: Wed, 24 Jun 2020 18:39:32 +0900 Subject: [PATCH] [VM][FMTOWNS][DMAC] . --- source/src/vm/fmtowns/towns_cdrom.cpp | 4 +++- source/src/vm/fmtowns/towns_cdrom.h | 4 ++-- source/src/vm/fmtowns/towns_dmac.cpp | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/source/src/vm/fmtowns/towns_cdrom.cpp b/source/src/vm/fmtowns/towns_cdrom.cpp index 3b583a4fa..00a9a47ac 100644 --- a/source/src/vm/fmtowns/towns_cdrom.cpp +++ b/source/src/vm/fmtowns/towns_cdrom.cpp @@ -441,6 +441,7 @@ void TOWNS_CDROM::initialize() event_cdda_delay_play = -1; event_delay_interrupt = -1; event_drq = -1; + event_next_sector = -1; event_seek_completed = -1; event_seek = -1; @@ -596,7 +597,7 @@ void TOWNS_CDROM::write_signal(int id, uint32_t data, uint32_t mask) clear_event(event_next_sector); clear_event(event_seek_completed); status_read_done(req_status); - out_debug_log(_T("EOT(SIGNAL/DMA")); + out_debug_log(_T("EOT(SIGNAL/DMA)")); } else { out_debug_log(_T("NEXT(SIGNAL/DMA)")); } @@ -3068,6 +3069,7 @@ bool TOWNS_CDROM::process_state(FILEIO* state_fio, bool loading) state_fio->StateValue(stat_track); state_fio->StateValue(media_changed); state_fio->StateValue(next_status_byte); + // SCSI_CDROM uint32_t offset = 0; state_fio->StateValue(read_sectors); diff --git a/source/src/vm/fmtowns/towns_cdrom.h b/source/src/vm/fmtowns/towns_cdrom.h index 18984fd3e..c2593e58b 100644 --- a/source/src/vm/fmtowns/towns_cdrom.h +++ b/source/src/vm/fmtowns/towns_cdrom.h @@ -194,7 +194,7 @@ protected: _TCHAR track_data_path[100][_MAX_PATH]; _TCHAR img_file_path_bak[_MAX_PATH]; bool with_filename[100]; - + uint32_t cdda_start_frame; uint32_t cdda_end_frame; uint32_t cdda_playing_frame; @@ -231,7 +231,7 @@ protected: int event_cdda_delay_stop; int event_delay_interrupt; int event_delay_ready; - + int cdda_sample_l; int cdda_sample_r; diff --git a/source/src/vm/fmtowns/towns_dmac.cpp b/source/src/vm/fmtowns/towns_dmac.cpp index 34ed6bf9c..ebf18aea7 100644 --- a/source/src/vm/fmtowns/towns_dmac.cpp +++ b/source/src/vm/fmtowns/towns_dmac.cpp @@ -131,7 +131,9 @@ void TOWNS_DMAC::write_io8(uint32_t addr, uint32_t data) dma[selch].bcreg++; bcreg_set[selch] = false; } - } + } + bcreg_set[selch] = false; + creg_set[selch] = false; #endif #if 0 if((data & 0x02) == 0) { -- 2.11.0