From 3e817adcb1ed178e617f1a60561ffce3bc01ab36 Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Tue, 3 Jan 2017 10:43:40 -0500 Subject: [PATCH] "use strict" for all; atarivec: include vector ROM in asm file --- index.html | 1 - javatari.js | 2 +- src/emu.js | 11 ++++++----- src/platform/apple2.js | 13 +++++++++---- src/platform/atarivec.js | 24 ++++++++++++++--------- src/platform/vcs.js | 7 +++++-- src/ui.js | 41 +++++++++++++++++++--------------------- src/worker/workermain.js | 10 ++++++---- 8 files changed, 61 insertions(+), 48 deletions(-) diff --git a/index.html b/index.html index d15854b9..9e4888dc 100644 --- a/index.html +++ b/index.html @@ -191,7 +191,6 @@ a.dropdown-toggle { - diff --git a/javatari.js b/javatari.js index b785efb3..531e9454 160000 --- a/javatari.js +++ b/javatari.js @@ -1 +1 @@ -Subproject commit b785efb3b9d653e7c1497301e093257206f25875 +Subproject commit 531e945457a1714c11b7cf71aafc4216d14992bb diff --git a/src/emu.js b/src/emu.js index 7fad53ee..7555b924 100644 --- a/src/emu.js +++ b/src/emu.js @@ -1,7 +1,8 @@ +"use strict"; // Emulator classes -RasterVideo = function(mainElement, width, height, options) { +var RasterVideo = function(mainElement, width, height, options) { var self = this; var canvas, ctx; var imageData, buf8, datau32; @@ -85,7 +86,7 @@ mainElement.appendChild(borderElement); */ } -VectorVideo = function(mainElement, width, height) { +var VectorVideo = function(mainElement, width, height) { var self = this; var canvas, ctx; var persistenceAlpha = 0.5; @@ -151,17 +152,17 @@ VectorVideo = function(mainElement, width, height) { } } -SampleAudio = function(clockfreq) { +var SampleAudio = function(clockfreq) { } -RAM = function(size) { +var RAM = function(size) { var memArray = new ArrayBuffer(size); this.mem = new Uint8Array(memArray); } // TODO -AnimationTimer = function(frequencyHz, callback) { +var AnimationTimer = function(frequencyHz, callback) { var intervalMsec = 1000.0 / frequencyHz; var curTime = 0; var running; diff --git a/src/platform/apple2.js b/src/platform/apple2.js index 29c575d8..aafc681c 100644 --- a/src/platform/apple2.js +++ b/src/platform/apple2.js @@ -1,14 +1,19 @@ +"use strict"; -var PRESETS = [ -] +var APPLE2_PRESETS = [ +]; -Apple2Platform = function(mainElement) { +var Apple2Platform = function(mainElement) { var self = this; var cpuFrequency = 1.023; var cpuCyclesPerLine = 65; var cpu, ram, rom, bus; var video, audio, timer; + this.getPresets = function() { + return APPLE2_PRESETS; + } + this.start = function() { cpu = new jt.M6502(); ram = new RAM(0xc000); @@ -185,7 +190,7 @@ Apple2Platform = function(mainElement) { } }; -APPLEIIGO_LZG = [ +var APPLEIIGO_LZG = [ 76,90,71,0,0,48,0,0,0,5,159,47,60,46,159,1,21,25,30,52,65,80,80,76,69,73,73,71,79,32,82,79, 77,49,46,48,0,52,31,52,31,52,31,52,31,52,31,52,31,52,31,52,31,52,28,52,6,32,0,224,25,30,67,52, 30,52,28,25,31,174,52,31,52,30,52,28,52,6,25,63,107,52,31,52,30,52,28,25,63,101,52,19,25,31,139,52, diff --git a/src/platform/atarivec.js b/src/platform/atarivec.js index 7729b366..595013ac 100644 --- a/src/platform/atarivec.js +++ b/src/platform/atarivec.js @@ -1,8 +1,9 @@ +"use strict"; -var PRESETS = [ +var ATARIVEC_PRESETS = [ ] -AtariVectorPlatform = function(mainElement) { +var AtariVectorPlatform = function(mainElement) { var self = this; var cpuFrequency = 1500000.0; var cpuCyclesPerNMI = 6000; @@ -13,11 +14,14 @@ AtariVectorPlatform = function(mainElement) { var switches = new RAM(16).mem; var nmicount = cpuCyclesPerNMI; + this.getPresets = function() { + return ATARIVEC_PRESETS; + } + this.start = function() { cpu = new jt.M6502(); cpuram = new RAM(0x400); dvgram = new RAM(0x2000); - vecrom = VECROM; //switches[5] = 0xff; //switches[7] = 0xff; // bus @@ -79,6 +83,7 @@ AtariVectorPlatform = function(mainElement) { //console.log(n, clock, nmicount); } cpu.clockPulse(); + //cpu.executeInstruction(); } }); video.setKeyboardEvents(function(key,flags) { @@ -107,10 +112,11 @@ AtariVectorPlatform = function(mainElement) { } this.loadROM = function(title, data) { - if(data.length != 0x1800) { - throw "ROM length must be == 0x1800"; + if(data.length != 0x2000) { + throw "ROM length must be == 0x2000"; } - rom = data; + rom = data.slice(0,0x1800); + vecrom = data.slice(0x1800,0x2000); this.reset(); } @@ -230,7 +236,7 @@ AtariVectorPlatform = function(mainElement) { } } -DVGStateMachine = function(bus, video) { +var DVGStateMachine = function(bus, video) { var self = this; var pc = 0; var x = 0; @@ -246,7 +252,7 @@ DVGStateMachine = function(bus, video) { } function decodeSigned(w, o2) { - s = w & (1<= 0) { errors.push({