mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-11-22 14:33:51 +00:00
removed Javatari dependency on getOpcodeMetadata
This commit is contained in:
parent
0a32d26c77
commit
346332104e
@ -205,7 +205,7 @@ export abstract class Base6502Platform extends BaseFrameBasedPlatform {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getOpcodeMetadata(opcode, offset) {
|
getOpcodeMetadata(opcode, offset) {
|
||||||
return Javatari.getOpcodeMetadata(opcode, offset); // TODO
|
return getOpcodeMetadata_6502(opcode, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
getOriginPC() : number {
|
getOriginPC() : number {
|
||||||
@ -255,6 +255,28 @@ function cpuStateToLongString_6502(c) : string {
|
|||||||
+ " Y " + hex(c.Y) + " " + "SP " + hex(c.SP) + "\n";
|
+ " Y " + hex(c.Y) + " " + "SP " + hex(c.SP) + "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getOpcodeMetadata_6502(opcode, address) {
|
||||||
|
var cycletime = [
|
||||||
|
7, 6, 0, 8, 3, 3, 5, 5, 3, 2, 2, 2, 4, 4, 6, 6, 2, 5, 0, 8, 4, 4, 6, 6, 2, 4, 0, 7, 4, 4, 7, 7, 6, 6, 0, 8, 3, 3, 5, 5, 4, 2, 2, 2, 4, 4, 6, 6, 2, 5, 0, 8, 4, 4, 6, 6, 2, 4, 0, 7, 4, 4, 7, 7, 6, 6, 0, 8, 3, 3, 5, 5, 3, 2, 2, 2, 3, 4, 6, 6, 2, 5, 0, 8, 4, 4, 6, 6, 2, 4, 0, 7, 4, 4, 7, 7, 6, 6, 0, 8, 3, 3, 5, 5, 4, 2, 2, 2, 5, 4, 6, 6, 2, 5, 0, 8, 4, 4, 6, 6, 2, 4, 0, 7, 4, 4, 7, 7, 0, 6, 0, 6, 3, 3, 3, 3, 2, 0, 2, 0, 4, 4, 4, 4, 2, 6, 0, 0, 4, 4, 4, 4, 2, 5, 2, 0, 0, 5, 0, 0, 2, 6, 2, 6, 3, 3, 3, 3, 2, 2, 2, 0, 4, 4, 4, 4, 2, 5, 0, 5, 4, 4, 4, 4, 2, 4, 2, 0, 4, 4, 4, 4, 2, 6, 0, 8, 3, 3, 5, 5, 2, 2, 2, 2, 4, 4, 3, 6, 2, 5, 0, 8, 4, 4, 6, 6, 2, 4, 0, 7, 4, 4, 7, 7, 2, 6, 0, 8, 3, 3, 5, 5, 2, 2, 2, 0, 4, 4, 6, 6, 2, 5, 0, 8, 4, 4, 6, 6, 2, 4, 0, 7, 4, 4, 7, 7
|
||||||
|
];
|
||||||
|
var extracycles = [
|
||||||
|
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1
|
||||||
|
];
|
||||||
|
var insnlengths = [
|
||||||
|
1, 2, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 0, 3, 3, 3, 3, 3, 3, 2, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 0, 3, 3, 3, 3, 3, 1, 2, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 0, 3, 3, 3, 3, 3, 1, 2, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 0, 3, 3, 3, 3, 3, 0, 2, 0, 2, 2, 2, 2, 2, 1, 0, 1, 0, 3, 3, 3, 3, 2, 2, 0, 0, 2, 2, 2, 3, 1, 3, 1, 0, 0, 3, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 0, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 1, 0, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 0, 3, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 2, 1, 0, 3, 3, 3, 3, 2, 2, 0, 2, 2, 2, 2, 2, 1, 3, 0, 3, 3, 3, 3, 3
|
||||||
|
];
|
||||||
|
var validinsns = [
|
||||||
|
1, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 0, 0, 3, 3, 0, 2, 2, 0, 0, 0, 2, 2, 0, 1, 3, 0, 0, 0, 3, 3, 0, 3, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 0, 2, 2, 0, 1, 3, 0, 0, 0, 3, 3, 0, 1, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 0, 2, 2, 0, 1, 3, 0, 0, 0, 3, 3, 0, 1, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 0, 2, 2, 0, 1, 3, 0, 0, 0, 3, 3, 0, 0, 2, 0, 0, 2, 2, 2, 0, 1, 0, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 2, 2, 2, 0, 1, 3, 1, 0, 0, 3, 0, 0, 2, 2, 2, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 0, 2, 2, 0, 1, 3, 0, 0, 0, 3, 3, 0, 2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, 2, 2, 0, 0, 0, 2, 2, 0, 1, 3, 0, 0, 0, 3, 3, 0
|
||||||
|
];
|
||||||
|
// TODO: more intelligent maximum cycles
|
||||||
|
return {
|
||||||
|
opcode:opcode,
|
||||||
|
minCycles:cycletime[opcode],
|
||||||
|
maxCycles:cycletime[opcode] + extracycles[opcode],
|
||||||
|
insnlength:insnlengths[opcode]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
////// Z80
|
////// Z80
|
||||||
|
|
||||||
function cpuStateToLongString_Z80(c) {
|
function cpuStateToLongString_Z80(c) {
|
||||||
|
@ -999,7 +999,7 @@ var Apple2MAMEPlatform = function(mainElement) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getOpcodeMetadata = Javatari.getOpcodeMetadata;
|
this.getOpcodeMetadata = getOpcodeMetadata_6502;
|
||||||
this.getDefaultExtension = function() { return ".c"; };
|
this.getDefaultExtension = function() { return ".c"; };
|
||||||
|
|
||||||
this.getPresets = function() { return APPLE2_PRESETS; }
|
this.getPresets = function() { return APPLE2_PRESETS; }
|
||||||
|
@ -29,8 +29,6 @@ var NES_CONIO_PRESETS = [
|
|||||||
{id:'siegegame.c', name:'C: Siege Game'},
|
{id:'siegegame.c', name:'C: Siege Game'},
|
||||||
];
|
];
|
||||||
|
|
||||||
new jt.M6502(); // to get Javatari.getOpcodeMetadata
|
|
||||||
|
|
||||||
/// JSNES
|
/// JSNES
|
||||||
|
|
||||||
var JSNES_KEYCODE_MAP = makeKeycodeMap([
|
var JSNES_KEYCODE_MAP = makeKeycodeMap([
|
||||||
@ -114,7 +112,7 @@ var JSNESPlatform = function(mainElement) {
|
|||||||
nes.loadROM(romstr);
|
nes.loadROM(romstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getOpcodeMetadata = Javatari.getOpcodeMetadata;
|
this.getOpcodeMetadata = getOpcodeMetadata_6502;
|
||||||
this.getDefaultExtension = function() { return ".c"; };
|
this.getDefaultExtension = function() { return ".c"; };
|
||||||
|
|
||||||
this.reset = function() {
|
this.reset = function() {
|
||||||
@ -262,7 +260,7 @@ var NESMAMEPlatform = function(mainElement, lzgRom, romSize) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getOpcodeMetadata = Javatari.getOpcodeMetadata;
|
this.getOpcodeMetadata = getOpcodeMetadata_6502;
|
||||||
this.getToolForFilename = getToolForFilename_6502;
|
this.getToolForFilename = getToolForFilename_6502;
|
||||||
this.getDefaultExtension = function() { return ".c"; };
|
this.getDefaultExtension = function() { return ".c"; };
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user