X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=source%2Fsrc%2Fvm%2Fmsx%2Fmsx.cpp;fp=source%2Fsrc%2Fvm%2Fmsx%2Fmsx.cpp;h=716da2fa9d867bd3ae2372b040bc6171de8d854c;hb=a3c2626fdfbf42177da06e66695636b84fc5cecf;hp=6f3ae786ff919d72becf867eb4cf6dd828bf840f;hpb=fdf840597f3ef88aeedbe2f960e31ff42810a599;p=csp-qt%2Fcommon_source_project-fm7.git diff --git a/source/src/vm/msx/msx.cpp b/source/src/vm/msx/msx.cpp index 6f3ae786f..716da2fa9 100644 --- a/source/src/vm/msx/msx.cpp +++ b/source/src/vm/msx/msx.cpp @@ -337,14 +337,22 @@ bool VM::is_cart_inserted(int drv) void VM::play_tape(int drv, const _TCHAR* file_path) { - drec->play_tape(file_path); -// drec->set_remote(true); + bool remote = drec->get_remote(); + + if(drec->play_tape(file_path) && remote) { + // if machine already sets remote on, start playing now + push_play(drv); + } } void VM::rec_tape(int drv, const _TCHAR* file_path) { - drec->rec_tape(file_path); -// drec->set_remote(true); + bool remote = drec->get_remote(); + + if(drec->rec_tape(file_path) && remote) { + // if machine already sets remote on, start recording now + push_play(drv); + } } void VM::close_tape(int drv) @@ -352,7 +360,7 @@ void VM::close_tape(int drv) emu->lock_vm(); drec->close_tape(); emu->unlock_vm(); -// drec->set_remote(false); + drec->set_remote(false); } bool VM::is_tape_inserted(int drv) @@ -382,6 +390,7 @@ const _TCHAR* VM::get_tape_message(int drv) void VM::push_play(int drv) { + drec->set_remote(false); drec->set_ff_rew(0); drec->set_remote(true); } @@ -393,12 +402,14 @@ void VM::push_stop(int drv) void VM::push_fast_forward(int drv) { + drec->set_remote(false); drec->set_ff_rew(1); drec->set_remote(true); } void VM::push_fast_rewind(int drv) { + drec->set_remote(false); drec->set_ff_rew(-1); drec->set_remote(true); }