diff --git a/embed.html b/embed.html
index 987ad55f..b4a5e59a 100644
--- a/embed.html
+++ b/embed.html
@@ -55,9 +55,6 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
-
-
-
diff --git a/index.html b/index.html
index 0aef0e63..b4e56612 100644
--- a/index.html
+++ b/index.html
@@ -550,8 +550,6 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
-
-
diff --git a/src/ide/embedui.ts b/src/ide/embedui.ts
index 895cc73c..e3e739da 100644
--- a/src/ide/embedui.ts
+++ b/src/ide/embedui.ts
@@ -1,6 +1,4 @@
-window['Javatari'].AUTO_START = false;
-
import { lzgmini } from "../common/util";
import { PLATFORMS } from "../common/emu";
import { Platform } from "../common/baseplatform";
diff --git a/src/ide/ui.ts b/src/ide/ui.ts
index 51fd7255..38c42f40 100644
--- a/src/ide/ui.ts
+++ b/src/ide/ui.ts
@@ -24,9 +24,6 @@ declare var Tour, GIF;
declare var ga;
declare var $ : JQueryStatic; // use browser jquery
-// make sure VCS doesn't start
-if (window['Javatari']) window['Javatari'].AUTO_START = false;
-
// query string
interface UIQueryString {
diff --git a/src/platform/vcs.ts b/src/platform/vcs.ts
index 3a164258..058062ab 100644
--- a/src/platform/vcs.ts
+++ b/src/platform/vcs.ts
@@ -2,7 +2,7 @@
import { Platform, BasePlatform, cpuStateToLongString_6502, dumpStackToString, DisasmLine, CpuState } from "../common/baseplatform";
import { PLATFORMS, dumpRAM, EmuHalt } from "../common/emu";
-import { hex, lpad, tobin } from "../common/util";
+import { hex, loadScript, lpad, tobin } from "../common/util";
import { CodeAnalyzer_vcs } from "../common/analysis";
import { disassemble6502 } from "../common/cpu/disasm6502";
import { ProbeRecorder } from "../common/recorder";
@@ -57,12 +57,6 @@ const VCS_PRESETS = [
// {id:'bb/rblast106.bas', name:'Road Blasters (batariBASIC)'},
];
-Javatari.AUTO_START = false;
-Javatari.SHOW_ERRORS = false;
-Javatari.CARTRIDGE_CHANGE_DISABLED = true;
-Javatari.DEBUG_SCANLINE_OVERFLOW = false; // TODO: make a switch
-Javatari.AUDIO_BUFFER_SIZE = 256;
-
class VCSPlatform extends BasePlatform {
lastBreakState; // last breakpoint state
@@ -74,8 +68,16 @@ class VCSPlatform extends BasePlatform {
getPresets() { return VCS_PRESETS; }
- start() {
+ async start() {
var self : VCSPlatform = this;
+ // load Javatari and configure settings
+ await loadScript("javatari.js/release/javatari/javatari.js");
+ Javatari.AUTO_START = false;
+ Javatari.SHOW_ERRORS = false;
+ Javatari.CARTRIDGE_CHANGE_DISABLED = true;
+ Javatari.DEBUG_SCANLINE_OVERFLOW = false; // TODO: integrate into probe API
+ Javatari.AUDIO_BUFFER_SIZE = 256;
+ // show console div and start
$("#javatari-div").show();
Javatari.start();
var console = Javatari.room.console;
diff --git a/test/web/testembed.js b/test/web/testembed.js
index 39242d1a..a5f27169 100644
--- a/test/web/testembed.js
+++ b/test/web/testembed.js
@@ -4,9 +4,10 @@
//var IDEURL = 'https://8bitworkshop.com/dev/';
var IDEURL = 'http://localhost:8000/';
var QS = '?embed=1&platform=c64&file0_name=test.dasm&file0_data=%0A%20%20%20%20%20 processor 6502%0A%20%20%20%20%20 org %24803%0AFoo%3A%20 lda %231%0A%20%20%20%20%20 rts';
-var EMBEDURL = 'http://localhost:8000/embed.html?p=c64&r=TFpHAAAAagAAAGPy6Sf6AQECBQYAgAmAJYDDws04MI4W0CCj%2FSBQ%2FSAV%2FSBb%2F1jqBgl4oACMINC5W4DwCRhpwJkpBMjQ8q0R0DD7rRLQzRLQ8PtKShhlA40g0AUNEOsFI8YDTDmASEVMTE9gV09STERhAA%3D%3D';
+var EMBEDURL_C64 = 'http://localhost:8000/embed.html?p=c64&r=TFpHAAAAagAAAGPy6Sf6AQECBQYAgAmAJYDDws04MI4W0CCj%2FSBQ%2FSAV%2FSBb%2F1jqBgl4oACMINC5W4DwCRhpwJkpBMjQ8q0R0DD7rRLQzRLQ8PtKShhlA40g0AUNEOsFI8YDTDmASEVMTE9gV09STERhAA%3D%3D';
+var EMBEDURL_VCS = 'http://localhost:8000/embed.html?p=vcs&r=TFpHAAAQAAAAAznPvjFnAQsSExSFAoQGOOkPsPxJBwoUAZUQlSBgABQeFByxiDGGhRuxiqqxkDGOhQKFHIYGsZKFBwQA6hQHiBIMHBIFGrGEqoixhJUAxIPQu2AA%2F9jY2NzY1NSsFAGopEhGAM%2FubGwcPHx1vbW%2B9n58PGb%2F%2F9tJfhQBPACGhIaEiISIKCQUI%2Fr4%2Bvz%2B%2FP5IRhMsxtbmJig4SFhoWEg4KIiOFATo5OjkEh7lFB4UGxQD%2FxQLEh%2BGFB8UGgkgCB8OIggPDgcOJAhCCQMU4Q8OJhMMKAgsCD8O%2Fw8ACAAPFDbwDyQIJgj4DywSChwNAA4TTiwI%2BA7gDRIYNhN0%2Fg8mCP8SBjYN4A0mCOANEwYJFDsJ%2FxQ7%2FwkASEhQUFB4fPz0f3REZgD2FAKqrg4eFAISA%2BwyfK1WoF%2FYGBgSDgbWFALKyMYORHREfnw8ODAQEAgABAQIAAAeHiw6OERCMEREMjAODtTw%2Fhrz8%2FP04gwMKPP09PR42KIAiqjKmkjQ%2B6kBhQqpAIWEqfOFhakOhQKFAErQ%2BakqhQKNlgLmgKWAqWSFxBShHoXQEx64EwbFqZaF0RMuuaWAKX%2BFxhShHwlgqVWF0qkChboTTBhpEIXHE48gEy%2FTEw%2B7qQqFyBRh1KkDhbygAKIAIHn2oAGiCBTBhQKgAqIQIGb2oAOiGBTCBKIgFMGpEIW2pcQTIQDwpcWiARTBhQKFKoUrpZWFg6IAhgSGBYYm6IYlrYQC0PuFAqkAhQGp5RIDq6C0IIDwwADQA0w%2B9hKGgIWBEoSLjBMDjRMkHKWBhQamtrWGhY61h4WPtYyFgqWMhRuljYUGEoaeE14SGzeFAqWCEqmAhYKFERMLEh0%2BpYKFIaa2tYiFkLWJhZG1ioWStYuFkxIGPxIC6xIcQxIHyI2Fg4oYaQiFthIIORIKN0wi9RTBG4UchQ2FDoUPEiY0AoUBqSASIzQSBQpMXfS5xACVjLnQACn%2BGGkYlYWpAJWNEwaFganXOOWBlYap8ekAlYe5uACouTb0E0qIuTr0EwuJuT4Th4q5QhNHixLekhQfFB8UHxQfFB8UHxQfFB8UHxQfFB8UHxQfFB8UHxQfFB8UHxQDRvQUIg%3D%3D';
-exports['test embed iframe'] = function(browser) {
+exports['test embed IDE in iframe'] = function(browser) {
browser.url(IDEURL + QS)
.waitForElementNotPresent('#step-0')
@@ -28,6 +29,17 @@ exports['test embed iframe'] = function(browser) {
.waitForElementVisible('.emuvideo')
.waitForElementVisible('.hilite-span')
+ browser.url(IDEURL + "?embed=1&platform=vcs")
+ .waitForElementNotVisible('#compile_spinner', time=10000)
+ .waitForElementNotVisible('#error_alert')
+ .waitForElementVisible('#javatari-div')
+
+ browser.url(IDEURL + "?embed=1&platform=nes")
+ .waitForElementNotVisible('#compile_spinner', time=10000)
+ .waitForElementNotVisible('#error_alert')
+ .waitForElementVisible('#emuscreen')
+ .waitForElementVisible('.emuvideo')
+
browser.url(IDEURL + "?embed=1")
.waitForElementVisible('.bootbox-alert')
@@ -40,9 +52,12 @@ exports['test embed iframe'] = function(browser) {
*/
}
-exports['test embed.html'] = function(browser) {
+exports['test standalone player'] = function(browser) {
- browser.url(EMBEDURL)
+ browser.url(EMBEDURL_C64)
.waitForElementVisible('.emuvideo')
+ browser.url(EMBEDURL_VCS)
+ .waitForElementVisible('#javatari-div')
+
}