added z80.retryInterrupts to support astrocade IRQ retry mode

This commit is contained in:
Steven Hugg 2019-06-11 22:29:34 -04:00
parent a7b97ce4e1
commit 96131f6cd0
4 changed files with 9 additions and 9 deletions

View File

@ -156,7 +156,7 @@ TODO:
- switching platform of a repo?
- make sure to flatten subdirs
- astrocade
- EI should trigger interrupt if pending? (see stash, might need z80 option)
- what if update earlier part of screen with different palette? it'd be nice to have instant updates when debugging tho...
- ctrl+alt+l on ubuntu locks screen
WEB WORKER FORMAT

File diff suppressed because one or more lines are too long

View File

@ -381,7 +381,7 @@ const _BallyAstrocadePlatform = function(mainElement, arcade) {
}
// interrupt
if (sl == inlin && (inmod & 0x8)) {
// TODO: interrupt mode bit 0x4
cpu.retryInterrupts = !(inmod & 0x4);
cpu.requestInterrupt(infbk);
}
// refresh this line in frame buffer?

View File

@ -41,12 +41,12 @@ var SG1000_KEYCODE_MAP = makeKeycodeMap([
[Keys.B, 0, 0x20],
[Keys.P2_UP, 0, 0x40],
[Keys.A, 0, 0x80],
[Keys.P2_RIGHT, 1, 0x1],
[Keys.B, 1, 0x2],
[Keys.P2_LEFT, 1, 0x4],
[Keys.P2_DOWN, 1, 0x8],
[Keys.START, 1, 0x10],
[Keys.P2_DOWN, 0, 0x80],
[Keys.P2_LEFT, 1, 0x1],
[Keys.P2_RIGHT, 1, 0x2],
[Keys.P2_A, 1, 0x4],
[Keys.P2_B, 1, 0x8],
[Keys.VK_BACK_SLASH, 1, 0x10], // reset
]);
class SG1000Platform extends BasicZ80ScanlinePlatform implements Platform {