mirror of
https://github.com/whscullin/apple2js.git
synced 2024-01-12 14:14:38 +00:00
Clean up //e behaviors (#79)
This commit is contained in:
parent
37cd62dad6
commit
47fe12539f
@ -87,7 +87,6 @@ export class Apple2 implements Restorable<State>, DebuggerContainer {
|
|||||||
this.hgr = new HiresPage(1);
|
this.hgr = new HiresPage(1);
|
||||||
this.hgr2 = new HiresPage(2);
|
this.hgr2 = new HiresPage(2);
|
||||||
this.vm = new VideoModes(this.gr, this.hgr, this.gr2, this.hgr2, options.canvas, options.e);
|
this.vm = new VideoModes(this.gr, this.hgr, this.gr2, this.hgr2, options.canvas, options.e);
|
||||||
this.vm.enhanced(options.enhanced);
|
|
||||||
this.io = new Apple2IO(this.cpu, this.vm);
|
this.io = new Apple2IO(this.cpu, this.vm);
|
||||||
this.tick = options.tick;
|
this.tick = options.tick;
|
||||||
|
|
||||||
|
13
js/canvas.ts
13
js/canvas.ts
@ -22,7 +22,6 @@ import {
|
|||||||
pageNo
|
pageNo
|
||||||
} from './videomodes';
|
} from './videomodes';
|
||||||
|
|
||||||
let enhanced = false;
|
|
||||||
let textMode = true;
|
let textMode = true;
|
||||||
let mixedMode = false;
|
let mixedMode = false;
|
||||||
let hiresMode = false;
|
let hiresMode = false;
|
||||||
@ -272,9 +271,7 @@ export class LoresPage2D implements LoresPage {
|
|||||||
fore = inverse ? blackCol : whiteCol;
|
fore = inverse ? blackCol : whiteCol;
|
||||||
back = inverse ? whiteCol : blackCol;
|
back = inverse ? whiteCol : blackCol;
|
||||||
|
|
||||||
if (!enhanced) {
|
if (!altCharMode) {
|
||||||
val = (val >= 0x40 && val < 0x60) ? val - 0x40 : val;
|
|
||||||
} else if (!altCharMode) {
|
|
||||||
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,9 +295,7 @@ export class LoresPage2D implements LoresPage {
|
|||||||
fore = inverse ? blackCol : whiteCol;
|
fore = inverse ? blackCol : whiteCol;
|
||||||
back = inverse ? whiteCol : blackCol;
|
back = inverse ? whiteCol : blackCol;
|
||||||
|
|
||||||
if (!enhanced) {
|
if (!altCharMode) {
|
||||||
val = (val >= 0x40 && val < 0x60) ? val - 0x40 : val;
|
|
||||||
} else if (!altCharMode) {
|
|
||||||
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1030,10 +1025,6 @@ export class VideoModes2D implements VideoModes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enhanced(on: boolean) {
|
|
||||||
enhanced = on;
|
|
||||||
}
|
|
||||||
|
|
||||||
isText() {
|
isText() {
|
||||||
return textMode;
|
return textMode;
|
||||||
}
|
}
|
||||||
|
13
js/gl.ts
13
js/gl.ts
@ -25,7 +25,6 @@ import {
|
|||||||
pageNo
|
pageNo
|
||||||
} from './videomodes';
|
} from './videomodes';
|
||||||
|
|
||||||
let enhanced = false;
|
|
||||||
let textMode = true;
|
let textMode = true;
|
||||||
let mixedMode = false;
|
let mixedMode = false;
|
||||||
let hiresMode = false;
|
let hiresMode = false;
|
||||||
@ -196,9 +195,7 @@ export class LoresPageGL implements LoresPage {
|
|||||||
fore = inverse ? blackCol : whiteCol;
|
fore = inverse ? blackCol : whiteCol;
|
||||||
back = inverse ? whiteCol : blackCol;
|
back = inverse ? whiteCol : blackCol;
|
||||||
|
|
||||||
if (!enhanced) {
|
if (!altCharMode) {
|
||||||
val = (val >= 0x40 && val < 0x60) ? val - 0x40 : val;
|
|
||||||
} else if (!altCharMode) {
|
|
||||||
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,9 +219,7 @@ export class LoresPageGL implements LoresPage {
|
|||||||
fore = inverse ? blackCol : whiteCol;
|
fore = inverse ? blackCol : whiteCol;
|
||||||
back = inverse ? whiteCol : blackCol;
|
back = inverse ? whiteCol : blackCol;
|
||||||
|
|
||||||
if (!enhanced) {
|
if (!altCharMode) {
|
||||||
val = (val >= 0x40 && val < 0x60) ? val - 0x40 : val;
|
|
||||||
} else if (!altCharMode) {
|
|
||||||
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
val = (val >= 0x40 && val < 0x80) ? val - 0x40 : val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -772,10 +767,6 @@ export class VideoModesGL implements VideoModes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enhanced(on: boolean) {
|
|
||||||
enhanced = on;
|
|
||||||
}
|
|
||||||
|
|
||||||
isText() {
|
isText() {
|
||||||
return textMode;
|
return textMode;
|
||||||
}
|
}
|
||||||
|
14
js/mmu.ts
14
js/mmu.ts
@ -111,7 +111,7 @@ class AuxRom implements Memory {
|
|||||||
private readonly mmu: MMU,
|
private readonly mmu: MMU,
|
||||||
private readonly rom: ROM) { }
|
private readonly rom: ROM) { }
|
||||||
|
|
||||||
read(page: byte, off: byte) {
|
_access(page: byte, off: byte) {
|
||||||
if (page == 0xc3) {
|
if (page == 0xc3) {
|
||||||
this.mmu._setIntc8rom(true);
|
this.mmu._setIntc8rom(true);
|
||||||
this.mmu._updateBanks();
|
this.mmu._updateBanks();
|
||||||
@ -120,11 +120,15 @@ class AuxRom implements Memory {
|
|||||||
this.mmu._setIntc8rom(false);
|
this.mmu._setIntc8rom(false);
|
||||||
this.mmu._updateBanks();
|
this.mmu._updateBanks();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
read(page: byte, off: byte) {
|
||||||
|
this._access(page, off);
|
||||||
return this.rom.read(page, off);
|
return this.rom.read(page, off);
|
||||||
}
|
}
|
||||||
|
|
||||||
write(_page: byte, _off: byte, _val: byte) {
|
write(page: byte, off: byte, _val: byte) {
|
||||||
// It's ROM.
|
this._access(page, off);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -477,7 +481,9 @@ export default class MMU implements Memory, Restorable<MMUState> {
|
|||||||
|
|
||||||
case LOC.INTCXROMOFF:
|
case LOC.INTCXROMOFF:
|
||||||
this._intcxrom = false;
|
this._intcxrom = false;
|
||||||
this._intc8rom = false;
|
if (this._slot3rom) {
|
||||||
|
this._intc8rom = false;
|
||||||
|
}
|
||||||
this._debug('Int CX ROM Off');
|
this._debug('Int CX ROM Off');
|
||||||
break;
|
break;
|
||||||
case LOC.INTCXROMON:
|
case LOC.INTCXROMON:
|
||||||
|
@ -258,7 +258,6 @@ const rom = new Uint8Array([
|
|||||||
0x85,0x32,0x20,0x58,0xfc,0x60,0x80,0x00,
|
0x85,0x32,0x20,0x58,0xfc,0x60,0x80,0x00,
|
||||||
0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,
|
0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
|
||||||
0x4c,0x4a,0xca,0xa9,0x06,0xcd,0xb3,0xfb,
|
0x4c,0x4a,0xca,0xa9,0x06,0xcd,0xb3,0xfb,
|
||||||
0xf0,0x0c,0x20,0x78,0xcf,0xcd,0xb3,0xfb,
|
0xf0,0x0c,0x20,0x78,0xcf,0xcd,0xb3,0xfb,
|
||||||
0xf0,0x04,0x78,0x4c,0x13,0xc8,0xa9,0xc3,
|
0xf0,0x04,0x78,0x4c,0x13,0xc8,0xa9,0xc3,
|
||||||
@ -515,7 +514,6 @@ const rom = new Uint8Array([
|
|||||||
0x29,0x60,0x28,0x42,0x4c,0x7c,0x9b,0xe9,
|
0x29,0x60,0x28,0x42,0x4c,0x7c,0x9b,0xe9,
|
||||||
0xff,0x01,0x89,0xe0,0xec,0xcc,0xd2,0xd8,
|
0xff,0x01,0x89,0xe0,0xec,0xcc,0xd2,0xd8,
|
||||||
0xe9,0x23,0x22,0xe6,0x00,0x00,0x00,0x00,
|
0xe9,0x23,0x22,0xe6,0x00,0x00,0x00,0x00,
|
||||||
|
|
||||||
0x6f,0xd8,0x65,0xd7,0xf8,0xdc,0x94,0xd9,
|
0x6f,0xd8,0x65,0xd7,0xf8,0xdc,0x94,0xd9,
|
||||||
0xb1,0xdb,0x30,0xf3,0xd8,0xdf,0xe1,0xdb,
|
0xb1,0xdb,0x30,0xf3,0xd8,0xdf,0xe1,0xdb,
|
||||||
0x8f,0xf3,0x98,0xf3,0xe4,0xf1,0xdd,0xf1,
|
0x8f,0xf3,0x98,0xf3,0xe4,0xf1,0xdd,0xf1,
|
||||||
|
@ -67,38 +67,38 @@ const apple2e_charset = new Uint8Array([
|
|||||||
0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,0x00,
|
0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,0x00,
|
||||||
0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,
|
0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,
|
||||||
0x1c,0x22,0x10,0x08,0x08,0x00,0x08,0x00,
|
0x1c,0x22,0x10,0x08,0x08,0x00,0x08,0x00,
|
||||||
0xef,0xf7,0xc9,0x80,0xc0,0xc0,0x81,0xc9,
|
0x1c,0x22,0x2a,0x3a,0x1a,0x02,0x3c,0x00,
|
||||||
0xef,0xf7,0xc9,0xbe,0xde,0xde,0xb5,0xc9,
|
0x08,0x14,0x22,0x22,0x3e,0x22,0x22,0x00,
|
||||||
0xff,0xff,0xfd,0xf9,0xf1,0xe1,0xc9,0xbd,
|
0x1e,0x22,0x22,0x1e,0x22,0x22,0x1e,0x00,
|
||||||
0x80,0xdd,0xeb,0xf7,0xf7,0xeb,0xd5,0x80,
|
0x1c,0x22,0x02,0x02,0x02,0x22,0x1c,0x00,
|
||||||
0xff,0xbf,0xdf,0xee,0xf5,0xfb,0xfb,0xff,
|
0x1e,0x22,0x22,0x22,0x22,0x22,0x1e,0x00,
|
||||||
0x80,0xc0,0xa0,0x93,0x8a,0x84,0x84,0x80,
|
0x3e,0x02,0x02,0x1e,0x02,0x02,0x3e,0x00,
|
||||||
0x8f,0x9f,0x81,0xce,0x86,0xcf,0xc0,0xfd,
|
0x3e,0x02,0x02,0x1e,0x02,0x02,0x02,0x00,
|
||||||
0xff,0xe7,0xf8,0xff,0xf8,0xf3,0xf7,0x8f,
|
0x3c,0x02,0x02,0x02,0x32,0x22,0x3c,0x00,
|
||||||
0xf7,0xfb,0xfd,0x80,0xfd,0xfb,0xf7,0xff,
|
0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,
|
||||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,
|
0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
0xf7,0xf7,0xf7,0xf7,0xb6,0xd5,0xe3,0xf7,
|
0x20,0x20,0x20,0x20,0x20,0x22,0x1c,0x00,
|
||||||
0xf7,0xe3,0xd5,0xb6,0xf7,0xf7,0xf7,0xf7,
|
0x22,0x12,0x0a,0x06,0x0a,0x12,0x22,0x00,
|
||||||
0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
0x02,0x02,0x02,0x02,0x02,0x02,0x3e,0x00,
|
||||||
0xbf,0xbf,0xbf,0xbb,0xb9,0x80,0xf9,0xfb,
|
0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,0x00,
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
0x22,0x22,0x26,0x2a,0x32,0x22,0x22,0x00,
|
||||||
0xec,0xe7,0xe3,0x81,0xe3,0xe7,0xef,0x90,
|
0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
0x9b,0xf3,0xe3,0xc0,0xe3,0xf3,0xfb,0x84,
|
0x1e,0x22,0x22,0x1e,0x02,0x02,0x02,0x00,
|
||||||
0xbf,0xb7,0xf7,0x80,0xc1,0xe3,0xb7,0xbf,
|
0x1c,0x22,0x22,0x22,0x2a,0x12,0x2c,0x00,
|
||||||
0xbf,0xb7,0xe3,0xc1,0x80,0xf7,0xb7,0xbf,
|
0x1e,0x22,0x22,0x1e,0x0a,0x12,0x22,0x00,
|
||||||
0xff,0xff,0xff,0x80,0xff,0xff,0xff,0xff,
|
0x1c,0x22,0x02,0x1c,0x20,0x22,0x1c,0x00,
|
||||||
0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0x80,
|
0x3e,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
|
||||||
0xf7,0xef,0xdf,0x80,0xdf,0xef,0xf7,0xff,
|
0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
0xd5,0xaa,0xd5,0xaa,0xd5,0xaa,0xd5,0xaa,
|
0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00,
|
||||||
0xaa,0xd5,0xaa,0xd5,0xaa,0xd5,0xaa,0xd5,
|
0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,0x00,
|
||||||
0xff,0xc1,0xbe,0xfe,0xfe,0xfe,0x80,0xff,
|
0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00,
|
||||||
0xff,0xff,0xc0,0xbf,0xbf,0xbf,0x80,0xff,
|
0x22,0x22,0x14,0x08,0x08,0x08,0x08,0x00,
|
||||||
0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,
|
0x3e,0x20,0x10,0x08,0x04,0x02,0x3e,0x00,
|
||||||
0xf7,0xe3,0xc1,0x80,0xc1,0xe3,0xf7,0xff,
|
0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,0x00,
|
||||||
0x80,0xff,0xff,0xff,0xff,0xff,0xff,0x80,
|
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
|
||||||
0xeb,0xeb,0x88,0xff,0x88,0xeb,0xeb,0xff,
|
0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,0x00,
|
||||||
0x80,0xbf,0xbf,0xb3,0xb3,0xbf,0xbf,0x80,
|
0x00,0x00,0x08,0x14,0x22,0x00,0x00,0x00,
|
||||||
0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,
|
||||||
0x04,0x08,0x10,0x00,0x00,0x00,0x00,0x00,
|
0x04,0x08,0x10,0x00,0x00,0x00,0x00,0x00,
|
||||||
0x00,0x00,0x1c,0x20,0x3c,0x22,0x3c,0x00,
|
0x00,0x00,0x1c,0x20,0x3c,0x22,0x3c,0x00,
|
||||||
0x02,0x02,0x1e,0x22,0x22,0x22,0x1e,0x00,
|
0x02,0x02,0x1e,0x22,0x22,0x22,0x1e,0x00,
|
||||||
|
@ -57,7 +57,6 @@ export interface VideoModes extends Restorable<VideoModesState> {
|
|||||||
_80col(on: boolean): void
|
_80col(on: boolean): void
|
||||||
altchar(on: boolean): void
|
altchar(on: boolean): void
|
||||||
doubleHires(on: boolean): void
|
doubleHires(on: boolean): void
|
||||||
enhanced(on: boolean): void
|
|
||||||
hires(on: boolean): void
|
hires(on: boolean): void
|
||||||
mixed(on: boolean): void
|
mixed(on: boolean): void
|
||||||
text(on: boolean): void
|
text(on: boolean): void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user