From 29f0238b90ff6238ce8a91b46487fb06d3d4dde9 Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Tue, 27 Jul 2021 11:26:49 -0500 Subject: [PATCH] worker: use imports instead of require() --- src/common/analysis.ts | 2 ++ src/worker/workermain.ts | 14 ++++++++------ test/cli/testplatforms.js | 10 ++++++++++ test/roms/atari8-800xl/siegegame.bin | Bin 0 -> 3716 bytes 4 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 test/roms/atari8-800xl/siegegame.bin diff --git a/src/common/analysis.ts b/src/common/analysis.ts index 9355a8e3..09690c3e 100644 --- a/src/common/analysis.ts +++ b/src/common/analysis.ts @@ -134,6 +134,7 @@ abstract class CodeAnalyzer6502 implements CodeAnalyzer { } break; // TODO: only Apple2 (vapor lock) + /* case 0xad: if (lob == 0x61 && hib == 0xc0) { // LDA $C061 minclocks = 0; @@ -141,6 +142,7 @@ abstract class CodeAnalyzer6502 implements CodeAnalyzer { meta.minCycles = meta.maxCycles = 0; } break; + */ case 0x20: // JSR // TODO: handle bare RTS case minclocks += meta.minCycles; diff --git a/src/worker/workermain.ts b/src/worker/workermain.ts index 959a7687..a1840e82 100644 --- a/src/worker/workermain.ts +++ b/src/worker/workermain.ts @@ -243,14 +243,14 @@ var PLATFORM_PARAMS = { cfgfile: 'apple2.cfg', libargs: ['apple2.lib'], }, - 'atari8-800xl': { + 'atari8-800xl.disk': { arch: '6502', define: ['__ATARI__'], cfgfile: 'atari.cfg', libargs: ['atari.lib'], fastbasic_cfgfile: 'fastbasic-cart.cfg', }, - 'atari8-800xl.cart': { + 'atari8-800xl': { arch: '6502', define: ['__ATARI__'], cfgfile: 'atari-cart.cfg', @@ -1753,10 +1753,11 @@ function compileInlineASM(code:string, platform, options, errors, asmlines) { return code; } +import * as hdltypes from '../common/hdl/hdltypes'; +import * as vxmlparser from '../common/hdl/vxmlparser'; + function compileVerilator(step:BuildStep) { loadNative("verilator_bin"); - const hdltypes = require('../common/hdl/hdltypes'); - const vxmlparser = require('../common/hdl/vxmlparser'); var platform = step.platform || 'verilog'; var errors : WorkerError[] = []; gatherFiles(step); @@ -2789,12 +2790,13 @@ function compileFastBasic(step:BuildStep) { }; } +import * as basic_compiler from '../common/basic/compiler'; + function compileBASIC(step:BuildStep) { var jsonpath = step.path + ".json"; gatherFiles(step); if (staleFiles(step, [jsonpath])) { - const compiler = require('../common/basic/compiler'); - var parser = new compiler.BASICParser(); + var parser = new basic_compiler.BASICParser(); var code = getWorkFileAsString(step.path); try { var ast = parser.parseFile(code, step.path); diff --git a/test/cli/testplatforms.js b/test/cli/testplatforms.js index f48bacaf..ddb181e6 100644 --- a/test/cli/testplatforms.js +++ b/test/cli/testplatforms.js @@ -40,6 +40,7 @@ var _sms = require('gen/platform/sms.js'); var _c64 = require('gen/platform/c64.js'); var _vectrex = require('gen/platform/vectrex.js'); var _zx = require('gen/platform/zx.js'); +var _atari8 = require('gen/platform/atari8.js'); // @@ -360,4 +361,13 @@ describe('Platform Replay', () => { } }); }); + /* + it('Should run atari 800xl', async () => { + await testPlatform('atari8-800xl', 'siegegame.bin', 92, (platform, frameno) => { + if (frameno == 62) { + keycallback(Keys.VK_DOWN.c, Keys.VK_DOWN.c, 1); + } + }); + }); + */ }); diff --git a/test/roms/atari8-800xl/siegegame.bin b/test/roms/atari8-800xl/siegegame.bin new file mode 100644 index 0000000000000000000000000000000000000000..456413340fc7990c3c15d5800c5715528964d27d GIT binary patch literal 3716 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 literal 0 HcmV?d00001