PC8080 more or less ready for some meat on the bones now
This commit is contained in:
parent
87d01130bd
commit
55b99c8a08
7 changed files with 374 additions and 349 deletions
|
|
@ -60,6 +60,18 @@ CPUDef.opLXIB = function()
|
|||
this.nStepCycles -= 10;
|
||||
};
|
||||
|
||||
/**
|
||||
* opTBD()
|
||||
*
|
||||
* @this {CPUSim}
|
||||
*/
|
||||
CPUDef.opTBD = function()
|
||||
{
|
||||
this.setPC(this.getPC() - 1);
|
||||
this.printMessage("unimplemented opcode", true);
|
||||
this.stopCPU();
|
||||
};
|
||||
|
||||
/*
|
||||
* This 256-entry array of opcode functions is at the heart of the CPU engine: stepCPU(n).
|
||||
*
|
||||
|
|
@ -68,68 +80,68 @@ CPUDef.opLXIB = function()
|
|||
* money on array lookup.
|
||||
*/
|
||||
CPUDef.aOps = [
|
||||
/* 0x00-0x03 */ CPUDef.opNOP, CPUDef.opLXIB, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x04-0x07 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x08-0x0B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x0C-0x0F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x10-0x13 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x14-0x17 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x18-0x1B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x1C-0x1F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x20-0x23 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x24-0x27 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x28-0x2B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x2C-0x2F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x30-0x33 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x34-0x37 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x38-0x3B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x3C-0x3F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x40-0x43 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x44-0x47 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x48-0x4B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x4C-0x4F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x50-0x53 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x54-0x57 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x58-0x5B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x5C-0x5F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x60-0x63 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x64-0x67 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x68-0x6B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x6C-0x6F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x70-0x73 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x74-0x77 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x78-0x7B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x7C-0x7F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x80-0x83 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x84-0x87 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x88-0x8B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x8C-0x8F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x90-0x93 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x94-0x97 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x98-0x9B */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0x9C-0x9F */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xA0-0xA3 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xA4-0xA7 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xA8-0xAB */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xAC-0xAF */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xB0-0xB3 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xB4-0xB7 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xB8-0xBB */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xBC-0xBF */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xC0-0xC3 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xC4-0xC7 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xC8-0xCB */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xCC-0xCF */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xD0-0xD3 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xD4-0xD7 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xD8-0xDB */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xDC-0xDF */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xE0-0xE3 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xE4-0xE7 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xE8-0xEB */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xEC-0xEF */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xF0-0xF3 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xF4-0xF7 */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xF8-0xFB */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP,
|
||||
/* 0xFC-0xFF */ CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP, CPUDef.opNOP
|
||||
/* 0x00-0x03 */ CPUDef.opNOP, CPUDef.opLXIB, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x04-0x07 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x08-0x0B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x0C-0x0F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x10-0x13 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x14-0x17 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x18-0x1B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x1C-0x1F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x20-0x23 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x24-0x27 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x28-0x2B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x2C-0x2F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x30-0x33 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x34-0x37 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x38-0x3B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x3C-0x3F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x40-0x43 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x44-0x47 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x48-0x4B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x4C-0x4F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x50-0x53 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x54-0x57 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x58-0x5B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x5C-0x5F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x60-0x63 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x64-0x67 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x68-0x6B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x6C-0x6F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x70-0x73 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x74-0x77 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x78-0x7B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x7C-0x7F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x80-0x83 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x84-0x87 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x88-0x8B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x8C-0x8F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x90-0x93 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x94-0x97 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x98-0x9B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0x9C-0x9F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xA0-0xA3 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xA4-0xA7 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xA8-0xAB */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xAC-0xAF */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xB0-0xB3 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xB4-0xB7 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xB8-0xBB */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xBC-0xBF */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xC0-0xC3 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xC4-0xC7 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xC8-0xCB */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xCC-0xCF */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xD0-0xD3 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xD4-0xD7 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xD8-0xDB */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xDC-0xDF */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xE0-0xE3 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xE4-0xE7 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xE8-0xEB */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xEC-0xEF */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xF0-0xF3 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xF4-0xF7 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xF8-0xFB */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD,
|
||||
/* 0xFC-0xFF */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in a new issue