OSDN Git Service
(root)
/
csp-qt
/
common_source_project-fm7.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[VM] Merge Upstream 2018-12-09.
[csp-qt/common_source_project-fm7.git]
/
source
/
src
/
vm
/
msx
/
msx.cpp
diff --git
a/source/src/vm/msx/msx.cpp
b/source/src/vm/msx/msx.cpp
index
6f3ae78
..
716da2f
100644
(file)
--- 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)
{
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)
{
}
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)
}
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();
emu->lock_vm();
drec->close_tape();
emu->unlock_vm();
-
//
drec->set_remote(false);
+
drec->set_remote(false);
}
bool VM::is_tape_inserted(int drv)
}
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)
{
void VM::push_play(int drv)
{
+ drec->set_remote(false);
drec->set_ff_rew(0);
drec->set_remote(true);
}
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)
{
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_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);
}
drec->set_ff_rew(-1);
drec->set_remote(true);
}