I am aware this is indeed a corner case but it is indeed a case where VICE behaves wrong.
Replicating the issue:
1) Just make some code that let the machine run which you should break from:
a 1000 jmp 1000
2) Create a break point:
break 1000
3) Create a little script file
record "dothis"
m 1000 1100
stop
(Side note: It's still silly that the "stop" command ends un in the file, but that is not part of this report)
4) make the break use this script. It's tricky to get the command work with a command that has a string as an argument - string inside a string but this command should pull off that trick:
command 1 "pb \"dothis\" "
5) Start the program
g 1000
This will trigger the breakpoint and will also exeute the playback file, but there is no output.
6) Issue another command
d 1000 1010
Now the monitor will output first the result of my d command, and then the result of my pb command.
this one is really strange. have you done this with other commands in the script file, and do they work? totally makes no sense to me that the output of the script file command would come AFTER the extra command either. weird
Den tors 1 okt. 2020 kl 21:21 skrev gpz gpz@users.sourceforge.net:
I haven't tested alternatives, but following my own recipe above but doing
both an "m" and "d" command inside the playback file, they are both
buffered and only echoed when I issue a new command directly from the
monitor shell. (build 38359 on WIndows 10)
/Pontus
this should be fixed in trunk thanks to dqh fixing another issue :) please try again. (please open another ticket for the "stop" issue)
Yep, i've verified that the recent monitor changes fixes the playback behaviour described in this bug. Additionally, just now I've fixed the bug that caused 'stop' to be recorded in the playback file.
I believe this can be closed as fixed.
@dqh Just to keep things tidy, the stop in the recorded file has it's own issue which is still open even if it's fixed.
https://sourceforge.net/p/vice-emu/bugs/1077/