1
0
mirror of https://github.com/fadden/6502bench.git synced 2026-04-26 12:18:26 +00:00

Define interfaces for inline call handlers and BRK

Instead of providing no-op CheckJsr/CheckJsl, plugins now declare
which calls they support by defining interfaces on the plugin class.

I added a CheckBrk call for code like Apple /// SOS calls, which
use BRK as an OS call mechanism.  The formatting doesn't work quite
right yet because I've been treating BRK as a two-byte instruction.
Hardly anything else does, and I think it's time I stopped (but not
in this commit).

Note: THIS BREAKS ALL PLUGINS that use the inline JSR/JSL feature,
which is pretty much all of them.
This commit is contained in:
Andy McFadden
2019-08-02 16:06:27 -07:00
parent d41266442d
commit 0616e4e4a4
8 changed files with 126 additions and 33 deletions
+1 -5
View File
@@ -7,7 +7,7 @@ using System.Collections.Generic;
using PluginCommon;
namespace RuntimeData.Test2011 {
public class Test2011 : MarshalByRefObject, IPlugin {
public class Test2011 : MarshalByRefObject, IPlugin, IPlugin_InlineJsr {
private IApplication mAppRef;
private byte[] mFileData;
@@ -32,9 +32,5 @@ namespace RuntimeData.Test2011 {
DataSubType.None, null);
}
}
public void CheckJsl(int offset, out bool noContinue) {
noContinue = false;
}
}
}