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') + }