1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-11-28 23:49:20 +00:00

intro tour: dynamic import of .js file; renamed 6809.js to .ts

This commit is contained in:
Steven Hugg 2021-08-05 21:19:43 -05:00
parent 6f6b617723
commit f5ba481c1d
6 changed files with 17 additions and 16 deletions

View File

@ -373,7 +373,7 @@ body {
<script src="codemirror/addon/selection/active-line.js"></script> <script src="codemirror/addon/selection/active-line.js"></script>
<link rel="stylesheet" href="codemirror/addon/dialog/dialog.css"> <link rel="stylesheet" href="codemirror/addon/dialog/dialog.css">
<script src="javatari.js/release/javatari/javatari.js"></script> <script src="javatari.js/release/javatari/javatari.js"></script>
<script src="src/common/cpu/6809.js"></script>
<!-- UI-only stuff --> <!-- UI-only stuff -->
<link rel="stylesheet" href="lib/bootstrap-tourist.css"> <link rel="stylesheet" href="lib/bootstrap-tourist.css">
<script src="lib/bootstrap-tourist.js"></script> <script src="lib/bootstrap-tourist.js"></script>

View File

@ -530,6 +530,7 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<script src="bootstrap/js/bootstrap.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script>
<script src="bootstrap/js/bootbox.all.min.js"></script> <script src="bootstrap/js/bootbox.all.min.js"></script>
<link rel="stylesheet" href="lib/bootstrap-tourist.css">
<script src="src/codemirror/codemirror.js"></script> <script src="src/codemirror/codemirror.js"></script>
<script src="codemirror/mode/clike/clike.js"></script> <script src="codemirror/mode/clike/clike.js"></script>
@ -553,17 +554,15 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
<script src="codemirror/addon/dialog/dialog.js"></script> <script src="codemirror/addon/dialog/dialog.js"></script>
<script src="codemirror/addon/selection/active-line.js"></script> <script src="codemirror/addon/selection/active-line.js"></script>
<link rel="stylesheet" href="codemirror/addon/dialog/dialog.css"> <link rel="stylesheet" href="codemirror/addon/dialog/dialog.css">
<script src="javatari.js/release/javatari/javatari.js"></script> <script src="javatari.js/release/javatari/javatari.js"></script>
<script src="src/common/cpu/6809.js"></script>
<!-- UI-only stuff -->
<link rel="stylesheet" href="lib/bootstrap-tourist.css">
<script src="lib/bootstrap-tourist.js"></script>
<script src="tss/js/tss/PsgDeviceChannel.js"></script> <script src="tss/js/tss/PsgDeviceChannel.js"></script>
<script src="tss/js/tss/MasterChannel.js"></script> <script src="tss/js/tss/MasterChannel.js"></script>
<script src="tss/js/tss/AudioLooper.js"></script> <script src="tss/js/tss/AudioLooper.js"></script>
<script src="tss/js/Log.js"></script> <script src="tss/js/Log.js"></script>
<!-- main IDE module -->
<script src="gen/ui.js" type="module"></script> <script src="gen/ui.js" type="module"></script>
<script> <script>

View File

@ -12,10 +12,11 @@ import { Probeable, RasterFrameBased, AcceptsPaddleInput } from "./devices";
import { SampledAudio } from "./audio"; import { SampledAudio } from "./audio";
import { ProbeRecorder } from "./recorder"; import { ProbeRecorder } from "./recorder";
import { BaseWASMMachine } from "./wasmplatform"; import { BaseWASMMachine } from "./wasmplatform";
import { CPU6809 } from "./cpu/6809";
/// ///
declare var jt, CPU6809; declare var jt;
export interface OpcodeMetadata { export interface OpcodeMetadata {
minCycles: number; minCycles: number;
@ -636,7 +637,7 @@ export function getToolForFilename_6809(fn:string) : string {
export abstract class Base6809Platform extends BaseZ80Platform { export abstract class Base6809Platform extends BaseZ80Platform {
newCPU(membus : MemoryBus) { newCPU(membus : MemoryBus) {
var cpu = new CPU6809(); var cpu = Object.create(CPU6809());
cpu.init(membus.write, membus.read, 0); cpu.init(membus.write, membus.read, 0);
return cpu; return cpu;
} }
@ -646,7 +647,7 @@ export abstract class Base6809Platform extends BaseZ80Platform {
} }
disassemble(pc:number, read:(addr:number)=>number) : DisasmLine { disassemble(pc:number, read:(addr:number)=>number) : DisasmLine {
// TODO: don't create new CPU // TODO: don't create new CPU
return new CPU6809().disasm(read(pc), read(pc+1), read(pc+2), read(pc+3), read(pc+4), pc); return Object.create(CPU6809()).disasm(read(pc), read(pc+1), read(pc+2), read(pc+3), read(pc+4), pc);
} }
getDefaultExtension() : string { return ".asm"; }; getDefaultExtension() : string { return ".asm"; };
//this.getOpcodeMetadata = function() { } //this.getOpcodeMetadata = function() { }

View File

@ -22,7 +22,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ */
var CPU6809 = function() { export function CPU6809() {
var ticks; var ticks;
var rA,rB,rX,rY,rU,rS,PC,CC,DP, var rA,rB,rX,rY,rU,rS,PC,CC,DP,
@ -124,17 +124,17 @@ var PUSHWU = function(b) {
byteTo(--rU, b & 0xff); byteTo(--rU, b & 0xff);
byteTo(--rU, (b>>8) & 0xff); byteTo(--rU, (b>>8) & 0xff);
}; };
var PULLB = function(b) { var PULLB = function() {
return byteAt(rS++); return byteAt(rS++);
}; };
var PULLW = function(b) { var PULLW = function() {
return byteAt(rS++) * 256 + byteAt(rS++); return byteAt(rS++) * 256 + byteAt(rS++);
}; };
var PULLBU = function(b) { var PULLBU = function() {
return byteAt(rU++); return byteAt(rU++);
}; };
var PULLWU = function(b) { var PULLWU = function() {
return byteAt(rU++) * 256 + byteAt(rU++); return byteAt(rU++) * 256 + byteAt(rU++);
}; };
@ -2237,8 +2237,8 @@ var disasm = function(i,a,b,c,d,pc) {
} }
i=a;a=b;b=c;c=d; i=a;a=b;b=c;c=d;
} }
var bytes = sx[0]; var bytes = sx[0] as number;
var mode = sx[1]; var mode = sx[1] as number;
var mnemo = sx[2]; var mnemo = sx[2];
switch (mode) { switch (mode) {

View File

@ -2001,6 +2001,7 @@ function isLandscape() {
async function showWelcomeMessage() { async function showWelcomeMessage() {
if (userPrefs.shouldCompleteTour()) { if (userPrefs.shouldCompleteTour()) {
await loadScript('lib/bootstrap-tourist.js');
var is_vcs = platform_id.startsWith('vcs'); var is_vcs = platform_id.startsWith('vcs');
var steps = [ var steps = [
{ {

View File

@ -5,7 +5,7 @@ var wtu = require('./workertestutils.js');
var PNG = require('pngjs').PNG; var PNG = require('pngjs').PNG;
const dom = createTestDOM(); const dom = createTestDOM();
includeInThisContext('src/common/cpu/6809.js'); includeInThisContext('gen/common/cpu/6809.js');
includeInThisContext("javatari.js/release/javatari/javatari.js"); includeInThisContext("javatari.js/release/javatari/javatari.js");
Javatari.AUTO_START = false; Javatari.AUTO_START = false;
includeInThisContext('tss/js/Log.js'); includeInThisContext('tss/js/Log.js');