2018-09-28 17:05:11 +00:00
|
|
|
|
// Copyright 2018 faddenSoft. All Rights Reserved.
|
|
|
|
|
// See the LICENSE.txt file for distribution terms (Apache 2.0).
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
using PluginCommon;
|
|
|
|
|
|
|
|
|
|
namespace RuntimeData.Test2011 {
|
2019-08-02 23:06:27 +00:00
|
|
|
|
public class Test2011 : MarshalByRefObject, IPlugin, IPlugin_InlineJsr {
|
2018-09-28 17:05:11 +00:00
|
|
|
|
private IApplication mAppRef;
|
|
|
|
|
private byte[] mFileData;
|
|
|
|
|
|
|
|
|
|
public string Identifier {
|
|
|
|
|
get {
|
|
|
|
|
return "Test 2011-hinting";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-14 01:19:28 +00:00
|
|
|
|
public void Prepare(IApplication appRef, byte[] fileData, AddressTranslate addrTrans) {
|
2018-09-28 17:05:11 +00:00
|
|
|
|
mAppRef = appRef;
|
|
|
|
|
mFileData = fileData;
|
|
|
|
|
|
|
|
|
|
mAppRef.DebugLog("Test2011(id=" + AppDomain.CurrentDomain.Id + "): prepare()");
|
|
|
|
|
}
|
|
|
|
|
|
2019-12-01 01:52:33 +00:00
|
|
|
|
public void Unprepare() {
|
|
|
|
|
mAppRef = null;
|
|
|
|
|
mFileData = null;
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 20:15:25 +00:00
|
|
|
|
public void CheckJsr(int offset, int operand, out bool noContinue) {
|
|
|
|
|
int ADDR = 0x2456;
|
|
|
|
|
|
2018-09-28 17:05:11 +00:00
|
|
|
|
noContinue = false;
|
2019-10-17 20:15:25 +00:00
|
|
|
|
if (offset + 7 < mFileData.Length && operand == ADDR) {
|
2018-09-28 17:05:11 +00:00
|
|
|
|
mAppRef.SetInlineDataFormat(offset + 3, 4, DataType.NumericLE,
|
|
|
|
|
DataSubType.None, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|