refactored into composite typescript project (multiple tsconfig.json files)

This commit is contained in:
Steven Hugg 2019-10-25 20:55:50 -05:00
parent 702e19c25d
commit 5516ca96b5
87 changed files with 459 additions and 354 deletions

View File

@ -1,5 +1,5 @@
TSC=./node_modules/typescript/bin/tsc
TSC=./node_modules/typescript/bin/tsc --build
all:
cp nanoasm/src/assembler.ts src/worker/

View File

@ -54,9 +54,9 @@ if (window.location.host.endsWith('8bitworkshop.com')) {
<script src="jquery/jquery-3.4.1.min.js"></script>
<script src="javatari.js/release/javatari/javatari.js"></script>
<script src="src/cpu/z80.js"></script>
<script src="src/common/cpu/z80.js"></script>
<script src="jsnes/dist/jsnes.min.js"></script>
<script src="src/cpu/6809.js"></script>
<script src="src/common/cpu/6809.js"></script>
<script src="FileSaver.js/FileSaver.min.js"></script>
<script src="lib/mousetrap.min.js"></script>
<script src="lib/mousetrap-global-bind.min.js"></script>
@ -75,20 +75,17 @@ function require(modname) {
<script src="tss/js/tss/AudioLooper.js"></script>
<script src="tss/js/Log.js"></script>
<script src="gen/video/tms9918a.js"></script>
<script src="gen/util.js"></script>
<script src="gen/store.js"></script>
<script src="src/vlist.js"></script>
<script src="gen/emu.js"></script>
<script src="gen/baseplatform.js"></script>
<script src="gen/audio.js"></script>
<script src="gen/recorder.js"></script>
<script src="gen/embedui.js"></script>
<script src="gen/devices.js"></script>
<script src="gen/cpu/MOS6502.js"></script>
<script src="gen/cpu/ZilogZ80.js"></script>
<script src="gen/common/video/tms9918a.js"></script>
<script src="gen/common/util.js"></script>
<script src="gen/common/emu.js"></script>
<script src="gen/common/baseplatform.js"></script>
<script src="gen/common/audio.js"></script>
<script src="gen/common/recorder.js"></script>
<script src="gen/common/devices.js"></script>
<script src="gen/common/cpu/MOS6502.js"></script>
<script src="gen/common/cpu/ZilogZ80.js"></script>
<script src="gen/machine/vdp_z80.js"></script>
<script src="gen/ide/embedui.js"></script>
<script src="lib/liblzg.js"></script>

View File

@ -534,30 +534,30 @@ function require(modname) {
<script src="tss/js/tss/AudioLooper.js"></script>
<script src="tss/js/Log.js"></script>
<script src="gen/vlist.js"></script>
<script src="gen/video/tms9918a.js"></script>
<script src="gen/util.js"></script>
<script src="gen/store.js"></script>
<script src="gen/emu.js"></script>
<script src="gen/baseplatform.js"></script>
<script src="gen/analysis.js"></script>
<script src="gen/audio.js"></script>
<script src="gen/cpu/disasm6502.js"></script>
<script src="gen/cpu/disasmz80.js"></script>
<script src="gen/workertypes.js"></script>
<script src="gen/project.js"></script>
<script src="gen/windows.js"></script>
<script src="gen/views.js"></script>
<script src="gen/recorder.js"></script>
<script src="gen/waveform.js"></script>
<script src="gen/pixed/pixeleditor.js"></script>
<script src="gen/services.js"></script>
<script src="gen/ui.js"></script>
<script src="gen/ide/vlist.js"></script>
<script src="gen/common/video/tms9918a.js"></script>
<script src="gen/common/util.js"></script>
<script src="gen/ide/store.js"></script>
<script src="gen/common/emu.js"></script>
<script src="gen/common/baseplatform.js"></script>
<script src="gen/common/analysis.js"></script>
<script src="gen/common/audio.js"></script>
<script src="gen/common/cpu/disasm6502.js"></script>
<script src="gen/common/cpu/disasmz80.js"></script>
<script src="gen/common/workertypes.js"></script>
<script src="gen/ide/project.js"></script>
<script src="gen/ide/windows.js"></script>
<script src="gen/ide/views.js"></script>
<script src="gen/common/recorder.js"></script>
<script src="gen/ide/waveform.js"></script>
<script src="gen/ide/pixeleditor.js"></script>
<script src="gen/ide/services.js"></script>
<script src="gen/ide/ui.js"></script>
<!-- <script src="src/audio/votrax.js"></script> -->
<!-- <script src="local/lzg.js"></script> -->
<script src="gen/devices.js"></script>
<script src="gen/cpu/MOS6502.js"></script>
<script src="gen/cpu/ZilogZ80.js"></script>
<script src="gen/common/devices.js"></script>
<script src="gen/common/cpu/MOS6502.js"></script>
<script src="gen/common/cpu/ZilogZ80.js"></script>
<script src="gen/machine/vdp_z80.js"></script>
<script>

259
package-lock.json generated
View File

@ -7,16 +7,16 @@
"@types/bootbox": {
"version": "4.4.36",
"resolved": "https://registry.npmjs.org/@types/bootbox/-/bootbox-4.4.36.tgz",
"integrity": "sha512-RNNb0guOAm9RXPMOHlRILqLfuNaSjL/VEXej6izAwpWrN7pTtHLLhmh/eCkCLaItcrXuivXNdJLQT2okBT0Dog==",
"integrity": "sha1-6T80iEs6VaohsYmiuWfn0ckZapQ=",
"dev": true,
"requires": {
"@types/jquery": "*"
}
},
"@types/bootstrap": {
"version": "3.3.42",
"resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-3.3.42.tgz",
"integrity": "sha512-ERkg6+Doymm2Uv/+jvqgxmoDLr6vz7wThaS2523QoY/tcTuw7HKrF5v06u2Ga3nEu0+iVTnNk7HLIzgm6ZZh8A==",
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-3.4.0.tgz",
"integrity": "sha512-LS05hVAAsX86qbHg7W+ydwBlNHrVCoFw6wEP3/uW4eYmRXl08bWmPeN/+onM+8qZTFfDgUlG/OItJI8SW972oQ==",
"dev": true,
"requires": {
"@types/jquery": "*"
@ -63,13 +63,13 @@
"@types/sizzle": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz",
"integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==",
"integrity": "sha1-qBG4wY4rq6t9VCszZYh64uTZ3kc=",
"dev": true
},
"abab": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz",
"integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==",
"integrity": "sha1-q6CrTF7uLUx500h9hUUPsjduuw8=",
"dev": true
},
"acorn": {
@ -91,7 +91,7 @@
"acorn-walk": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
"integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==",
"integrity": "sha1-02O2b1+sXwGP+cOh57b44xDMORM=",
"dev": true
},
"agent-base": {
@ -178,7 +178,7 @@
"async-limiter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
"integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=",
"dev": true
},
"asynckit": {
@ -190,7 +190,7 @@
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
"integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=",
"dev": true
},
"aws-sign2": {
@ -202,7 +202,7 @@
"aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=",
"dev": true
},
"balanced-match": {
@ -244,13 +244,13 @@
"browser-process-hrtime": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
"integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==",
"integrity": "sha1-YW8A+u8d9+wbW/nP4r3DFw8mx7Q=",
"dev": true
},
"btoa": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
"integrity": "sha1-AamQn4ssk/a/aAuiYTHrMPf6PXM=",
"dev": true
},
"buffer-from": {
@ -318,7 +318,7 @@
"clipboard": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
"integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
"integrity": "sha1-g22v1mzw/qXXHOXVsL9ulYAJES0=",
"dev": true,
"requires": {
"good-listener": "^1.2.2",
@ -353,7 +353,7 @@
"commandpost": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/commandpost/-/commandpost-1.4.0.tgz",
"integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==",
"integrity": "sha1-iSGAEgid/Jtnoze6Fi8VyI4PEEg=",
"dev": true
},
"concat-map": {
@ -415,7 +415,7 @@
"cssom": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz",
"integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==",
"integrity": "sha1-+FIGzuBO+oQfPFmCp0uparINZa0=",
"dev": true
},
"cssstyle": {
@ -437,18 +437,15 @@
}
},
"data-uri-to-buffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz",
"integrity": "sha512-OkVVLrerfAKZlW2ZZ3Ve2y65jgiWqBKsTfUIAFbn8nVbPcCZg6l6gikKlEYv0kXcmzqGm6mFq/Jf2vriuEkv8A==",
"dev": true,
"requires": {
"@types/node": "^8.0.7"
}
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
"integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==",
"dev": true
},
"data-urls": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
"integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
"integrity": "sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=",
"dev": true,
"requires": {
"abab": "^2.0.0",
@ -457,9 +454,9 @@
}
},
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
@ -523,7 +520,7 @@
"delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
"integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=",
"dev": true
},
"depd": {
@ -535,7 +532,7 @@
"domexception": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
"integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
"integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=",
"dev": true,
"requires": {
"webidl-conversions": "^4.0.2"
@ -560,7 +557,7 @@
"editorconfig": {
"version": "0.15.3",
"resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
"integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==",
"integrity": "sha1-vvhMTnX7jcsM5c7o79UcFZmb78U=",
"dev": true,
"requires": {
"commander": "^2.19.0",
@ -572,15 +569,15 @@
"commander": {
"version": "2.20.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
"integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
"integrity": "sha1-1YuytcHuj4ew00ACfp6U4iLFpCI=",
"dev": true
}
}
},
"ejs": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.2.tgz",
"integrity": "sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q==",
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz",
"integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==",
"dev": true
},
"encoding": {
@ -709,7 +706,7 @@
"fetch-vcr": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fetch-vcr/-/fetch-vcr-1.1.2.tgz",
"integrity": "sha512-bFOx3+5YtViximcqhG05tqMlsyPRXNOmiToDCf6TyVUCKHYP/vGPmn0HUhGVNd1jI0KpElwz+RH3X/ZQo0Asfg==",
"integrity": "sha1-jP7knEW0ZDZrl/5VBIfd4VuUjSE=",
"dev": true,
"requires": {
"node-fetch": "^1.6.3",
@ -719,7 +716,7 @@
"node-fetch": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
"integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=",
"dev": true,
"requires": {
"encoding": "^0.1.11",
@ -791,33 +788,27 @@
}
},
"get-uri": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.3.tgz",
"integrity": "sha512-x5j6Ks7FOgLD/GlvjKwgu7wdmMR55iuRHhn8hj/+gA+eSbxQvZ+AEomq+3MgVEZj1vpi738QahGbCCSIDtXtkw==",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz",
"integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==",
"dev": true,
"requires": {
"data-uri-to-buffer": "2",
"debug": "4",
"data-uri-to-buffer": "1",
"debug": "2",
"extend": "~3.0.2",
"file-uri-to-path": "1",
"ftp": "~0.3.10",
"readable-stream": "3"
"readable-stream": "2"
},
"dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "^2.1.1"
"ms": "2.0.0"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
}
}
},
@ -914,7 +905,7 @@
"html-encoding-sniffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
"integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
"integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=",
"dev": true,
"requires": {
"whatwg-encoding": "^1.0.1"
@ -974,19 +965,36 @@
}
},
"https-proxy-agent": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
"integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz",
"integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==",
"dev": true,
"requires": {
"agent-base": "^4.3.0",
"debug": "^3.1.0"
},
"dependencies": {
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
}
}
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
@ -1088,7 +1096,7 @@
"jquery": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
"integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
"integrity": "sha1-cU8fjZ3eS9+lV2S6N+8hRjDYDvI="
},
"jsbn": {
"version": "0.1.1",
@ -1099,7 +1107,7 @@
"jsdom": {
"version": "12.2.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-12.2.0.tgz",
"integrity": "sha512-QPOggIJ8fquWPLaYYMoh+zqUmdphDtu1ju0QGTitZT1Yd8I5qenPpXM1etzUegu3MjVp8XPzgZxdn8Yj7e40ig==",
"integrity": "sha1-fPP1ter9R/jwnKUjFdNn/26V3iM=",
"dev": true,
"requires": {
"abab": "^2.0.0",
@ -1138,7 +1146,7 @@
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
"dev": true
},
"json-stringify-safe": {
@ -1296,7 +1304,7 @@
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
@ -1363,7 +1371,7 @@
"mocha": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
"integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
"integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=",
"dev": true,
"requires": {
"browser-stdout": "1.3.1",
@ -1388,7 +1396,7 @@
"commander": {
"version": "2.15.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=",
"dev": true
},
"debug": {
@ -1409,7 +1417,7 @@
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@ -1456,9 +1464,9 @@
"dev": true
},
"nightwatch": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.2.1.tgz",
"integrity": "sha512-y9ihK6Xmo6A32B6zG4XlWumF5f6gIE5QQP54o4PHpnjC4+CA9xwVMtXZL6QlnNYlqS0n34Pk/wpvKL2znjCh0g==",
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.2.4.tgz",
"integrity": "sha512-RoO2/leXXTWG/iAcdW1+sN3RV+bL2P4F9B/ty/wJQmsJw2PLduqvbi7cmkwdNGhh/yaIwIcBxyGHqdB0G754hg==",
"dev": true,
"requires": {
"assertion-error": "^1.1.0",
@ -1502,7 +1510,7 @@
"octokat": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/octokat/-/octokat-0.10.0.tgz",
"integrity": "sha512-VJ21L1gMlByYMurduLYiOcI8AwlZkUV8OXRN8pMXsbkIqIVqn0tgdTfxzWM9spX4VJTTG02OgqwDTqQsOmDing==",
"integrity": "sha1-pWhGF4GZ823fyJecl0n/6mVzZQg=",
"dev": true,
"requires": {
"fetch-vcr": "^1.1.0",
@ -1558,16 +1566,16 @@
"dev": true
},
"pac-proxy-agent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz",
"integrity": "sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz",
"integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==",
"dev": true,
"requires": {
"agent-base": "^4.2.0",
"debug": "^3.1.0",
"debug": "^4.1.1",
"get-uri": "^2.0.0",
"http-proxy-agent": "^2.1.0",
"https-proxy-agent": "^2.2.1",
"https-proxy-agent": "^3.0.0",
"pac-resolver": "^3.0.0",
"raw-body": "^2.2.0",
"socks-proxy-agent": "^4.0.1"
@ -1589,7 +1597,7 @@
"parse5": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
"integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
"integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=",
"dev": true
},
"path-is-absolute": {
@ -1646,13 +1654,13 @@
"pn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
"integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=",
"dev": true
},
"pngjs": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz",
"integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==",
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
"integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
"dev": true
},
"prelude-ls": {
@ -1668,19 +1676,36 @@
"dev": true
},
"proxy-agent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.0.tgz",
"integrity": "sha512-IkbZL4ClW3wwBL/ABFD2zJ8iP84CY0uKMvBPk/OceQe/cEjrxzN1pMHsLwhbzUoRhG9QbSxYC+Z7LBkTiBNvrA==",
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz",
"integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==",
"dev": true,
"requires": {
"agent-base": "^4.2.0",
"debug": "^3.1.0",
"debug": "4",
"http-proxy-agent": "^2.1.0",
"https-proxy-agent": "^2.2.1",
"lru-cache": "^4.1.2",
"pac-proxy-agent": "^3.0.0",
"https-proxy-agent": "^3.0.0",
"lru-cache": "^5.1.1",
"pac-proxy-agent": "^3.0.1",
"proxy-from-env": "^1.0.0",
"socks-proxy-agent": "^4.0.1"
},
"dependencies": {
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"requires": {
"yallist": "^3.0.2"
}
},
"yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
}
}
},
"proxy-from-env": {
@ -1698,13 +1723,13 @@
"psl": {
"version": "1.1.31",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
"integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
"integrity": "sha1-6aqG0BAbWxBcvpOsa3hM1UcnYYQ=",
"dev": true
},
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
"dev": true
},
"qs": {
@ -1726,29 +1751,33 @@
}
},
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
},
"dependencies": {
"safe-buffer": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.2.0"
"safe-buffer": "~5.1.0"
}
}
}
@ -1802,7 +1831,7 @@
"request-promise-core": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
"integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
"integrity": "sha1-M59qq6vK/bMceZ/xWHADNjAdM0Y=",
"dev": true,
"requires": {
"lodash": "^4.17.11"
@ -1811,7 +1840,7 @@
"request-promise-native": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
"integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
"integrity": "sha1-pJhopiS96lBp8SUdCoNuDYmqLFk=",
"dev": true,
"requires": {
"request-promise-core": "1.1.2",
@ -1837,13 +1866,13 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
"dev": true
},
"saxes": {
@ -1919,7 +1948,7 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true,
"optional": true
},
@ -2015,7 +2044,7 @@
"tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
"integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=",
"dev": true
},
"toidentifier": {
@ -2088,7 +2117,7 @@
"typescript-formatter": {
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/typescript-formatter/-/typescript-formatter-7.2.2.tgz",
"integrity": "sha512-V7vfI9XArVhriOTYHPzMU2WUnm5IMdu9X/CPxs8mIMGxmTBFpDABlbkBka64PZJ9/xgQeRpK8KzzAG4MPzxBDQ==",
"integrity": "sha1-oUcYGDm3uwnCN3sHLyD2M2VHwAo=",
"dev": true,
"requires": {
"commandpost": "^1.0.0",
@ -2104,7 +2133,7 @@
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
"dev": true,
"requires": {
"punycode": "^2.1.0"
@ -2145,13 +2174,13 @@
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
"integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
"integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=",
"dev": true
},
"whatwg-encoding": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
"integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=",
"dev": true,
"requires": {
"iconv-lite": "0.4.24"
@ -2160,19 +2189,19 @@
"whatwg-fetch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
"integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==",
"integrity": "sha1-3eal3zFfnTmZGqF2IYU9cguFVm8=",
"dev": true
},
"whatwg-mimetype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
"integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=",
"dev": true
},
"whatwg-url": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
"integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
"integrity": "sha1-/ekm+lSlmfOt+C3/Jan3vgLcbt0=",
"dev": true,
"requires": {
"lodash.sortby": "^4.7.0",
@ -2204,13 +2233,13 @@
"xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
"integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=",
"dev": true
},
"xmlchars": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz",
"integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==",
"integrity": "sha1-HdoDX4M9u0+GoMKOqmynaSFHk88=",
"dev": true
},
"xregexp": {

View File

@ -14,7 +14,7 @@
},
"devDependencies": {
"@types/bootbox": "^4.4.36",
"@types/bootstrap": "^3.3.42",
"@types/bootstrap": "^3.4.0",
"@types/jquery": "^3.3.31",
"atob": "^2.1.x",
"btoa": "^1.2.x",
@ -23,9 +23,9 @@
"jsdom": "^12.2.0",
"lzg": "^1.0.x",
"mocha": "^5.2.x",
"nightwatch": "^1.2.1",
"nightwatch": "^1.2.4",
"octokat": "^0.10.0",
"pngjs": "^3.3.3",
"pngjs": "^3.4.0",
"rgbquant": "^1.1.2",
"typescript": "^3.6.3",
"typescript-formatter": "^7.2.2"

View File

@ -320,7 +320,7 @@ export function dumpRAM(ram:Uint8Array|number[], ramofs:number, ramlen:number) :
return s;
}
interface KeyDef {
export interface KeyDef {
c:number, // key code
n:string, // name
// for gamepad
@ -330,7 +330,7 @@ interface KeyDef {
button?:number
};
interface KeyMapEntry {
export interface KeyMapEntry {
index:number;
mask:number;
def:KeyDef;

10
src/common/tsconfig.json Normal file
View File

@ -0,0 +1,10 @@
{
"extends": "../../tsconfig-base.json",
"compilerOptions": {
"rootDir": ".",
"outDir": "../../gen/common"
},
"include": [
"**/*.ts"
]
}

View File

@ -1,10 +1,10 @@
window['Javatari'].AUTO_START = false;
import { PLATFORMS } from "./emu";
import { Platform } from "./baseplatform";
import { stringToByteArray, getWithBinary } from "./util";
import { StateRecorderImpl } from "./recorder";
import { PLATFORMS } from "../common/emu";
import { Platform } from "../common/baseplatform";
import { stringToByteArray, getWithBinary } from "../common/util";
import { StateRecorderImpl } from "../common/recorder";
export var platform_id : string; // platform ID string
export var platform : Platform; // platform object

View File

@ -1,7 +1,7 @@
"use strict";
import { hex, rgb2bgr, rle_unpack } from "../util";
import { ProjectWindows } from "../windows";
import { hex, rgb2bgr, rle_unpack } from "../common/util";
import { ProjectWindows } from "./windows";
declare var Mousetrap;
export type UintArray = number[] | Uint8Array | Uint16Array | Uint32Array; //{[i:number]:number};

View File

@ -1,7 +1,7 @@
import { FileData, Dependency, SourceLine, SourceFile, CodeListing, CodeListingMap, WorkerError, Segment, WorkerResult } from "./workertypes";
import { getFilenamePrefix, getFolderForPath, isProbablyBinary, getBasePlatform } from "./util";
import { Platform } from "./baseplatform";
import { FileData, Dependency, SourceLine, SourceFile, CodeListing, CodeListingMap, WorkerError, Segment, WorkerResult } from "../common/workertypes";
import { getFilenamePrefix, getFolderForPath, isProbablyBinary, getBasePlatform } from "../common/util";
import { Platform } from "../common/baseplatform";
type BuildResultCallback = (result:WorkerResult) => void;
type BuildStatusCallback = (busy:boolean) => void;

View File

@ -1,6 +1,6 @@
import { getFolderForPath, isProbablyBinary, stringToByteArray, byteArrayToString, byteArrayToUTF8 } from "./util";
import { FileData } from "./workertypes";
import { getFolderForPath, isProbablyBinary, stringToByteArray, byteArrayToString, byteArrayToUTF8 } from "../common/util";
import { FileData } from "../common/workertypes";
import { CodeProject } from "./project";
// in index.html

13
src/ide/tsconfig.json Normal file
View File

@ -0,0 +1,13 @@
{
"extends": "../../tsconfig-base.json",
"compilerOptions": {
"rootDir": ".",
"outDir": "../../gen/ide"
},
"references": [
{ "path": "../common" }
],
"include": [
"**/*.ts"
]
}

View File

@ -4,15 +4,15 @@
import $ = require("jquery");
import * as bootstrap from "bootstrap";
import { CodeProject } from "./project";
import { WorkerResult, WorkerOutput, VerilogOutput, SourceFile, WorkerError, FileData } from "./workertypes";
import { WorkerResult, WorkerOutput, VerilogOutput, SourceFile, WorkerError, FileData } from "../common/workertypes";
import { ProjectWindows } from "./windows";
import { Platform, Preset, DebugSymbols, DebugEvalCondition, isDebuggable, EmuState } from "./baseplatform";
import { PLATFORMS, EmuHalt, Toolbar } from "./emu";
import { Platform, Preset, DebugSymbols, DebugEvalCondition, isDebuggable, EmuState } from "../common/baseplatform";
import { PLATFORMS, EmuHalt, Toolbar } from "../common/emu";
import * as Views from "./views";
import { createNewPersistentStore } from "./store";
import { getFilenameForPath, getFilenamePrefix, highlightDifferences, invertMap, byteArrayToString, compressLZG,
byteArrayToUTF8, isProbablyBinary, getWithBinary, getBasePlatform, getRootBasePlatform, hex } from "./util";
import { StateRecorderImpl } from "./recorder";
byteArrayToUTF8, isProbablyBinary, getWithBinary, getBasePlatform, getRootBasePlatform, hex } from "../common/util";
import { StateRecorderImpl } from "../common/recorder";
import { GHSession, GithubService, getRepos, parseGithubURL } from "./services";
// external libs (TODO)

View File

@ -1,13 +1,13 @@
//import CodeMirror = require("codemirror");
import { SourceFile, WorkerError, Segment, FileData } from "./workertypes";
import { Platform, EmuState, lookupSymbol, BaseDebugPlatform } from "./baseplatform";
import { hex, lpad, rpad, safeident, rgb2bgr } from "./util";
import { CodeAnalyzer } from "./analysis";
import { SourceFile, WorkerError, Segment, FileData } from "../common/workertypes";
import { Platform, EmuState, lookupSymbol, BaseDebugPlatform } from "../common/baseplatform";
import { hex, lpad, rpad, safeident, rgb2bgr } from "../common/util";
import { CodeAnalyzer } from "../common/analysis";
import { platform, platform_id, compparams, current_project, lastDebugState, projectWindows } from "./ui";
import { ProbeRecorder, ProbeFlags } from "./recorder";
import { getMousePos } from "./emu";
import * as pixed from "./pixed/pixeleditor";
import { ProbeRecorder, ProbeFlags } from "../common/recorder";
import { getMousePos } from "../common/emu";
import * as pixed from "./pixeleditor";
declare var Mousetrap;
export interface ProjectView {

View File

@ -1,5 +1,5 @@
import { Toolbar } from "./emu";
import { Toolbar } from "../common/emu";
declare var VirtualList;

View File

@ -2,7 +2,7 @@
import $ = require("jquery");
import { CodeProject } from "./project";
import { WorkerError, FileData } from "./workertypes";
import { WorkerError, FileData } from "../common/workertypes";
import { ProjectView } from "./views";
type WindowCreateFunction = (id:string) => ProjectView;

View File

@ -1,8 +1,8 @@
import { MOS6502, MOS6502State } from "../cpu/MOS6502";
import { Bus, BasicScanlineMachine, xorshift32, SavesState } from "../devices";
import { KeyFlags } from "../emu"; // TODO
import { lzgmini, stringToByteArray, RGBA, printFlags } from "../util";
import { MOS6502, MOS6502State } from "../common/cpu/MOS6502";
import { Bus, BasicScanlineMachine, xorshift32, SavesState } from "../common/devices";
import { KeyFlags } from "../common/emu"; // TODO
import { lzgmini, stringToByteArray, RGBA, printFlags } from "../common/util";
const cpuFrequency = 1023000;
const cpuCyclesPerLine = 65; // approx: http://www.cs.columbia.edu/~sedwards/apple2fpga/

View File

@ -1,9 +1,9 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine, AcceptsPaddleInput, Bus } from "../devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../emu";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../audio";
import { hex, rgb2bgr, lzgmini, stringToByteArray } from "../util";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine, AcceptsPaddleInput, Bus } from "../common/devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../common/emu";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../common/audio";
import { hex, rgb2bgr, lzgmini, stringToByteArray } from "../common/util";
// http://metopal.com/projects/ballybook/doku.php

View File

@ -1,9 +1,9 @@
import { MOS6502, MOS6502State } from "../cpu/MOS6502";
import { BasicMachine, RasterFrameBased, Bus, ProbeAll } from "../devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt, dumpRAM } from "../emu";
import { TssChannelAdapter, MasterAudio, POKEYDeviceChannel } from "../audio";
import { hex, rgb2bgr } from "../util";
import { MOS6502, MOS6502State } from "../common/cpu/MOS6502";
import { BasicMachine, RasterFrameBased, Bus, ProbeAll } from "../common/devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt, dumpRAM } from "../common/emu";
import { TssChannelAdapter, MasterAudio, POKEYDeviceChannel } from "../common/audio";
import { hex, rgb2bgr } from "../common/util";
// https://atarihq.com/danb/a7800.shtml
// https://atarihq.com/danb/files/maria_r1.txt

View File

@ -1,8 +1,8 @@
import { MOS6502, MOS6502State } from "../cpu/MOS6502";
import { BasicMachine, RasterFrameBased, Bus, ProbeAll } from "../devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt, dumpRAM } from "../emu";
import { lzgmini, stringToByteArray, hex, rgb2bgr } from "../util";
import { MOS6502, MOS6502State } from "../common/cpu/MOS6502";
import { BasicMachine, RasterFrameBased, Bus, ProbeAll } from "../common/devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt, dumpRAM } from "../common/emu";
import { lzgmini, stringToByteArray, hex, rgb2bgr } from "../common/util";
// https://www.c64-wiki.com/wiki/C64
// http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt

View File

@ -1,11 +1,11 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine } from "../devices";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine } from "../common/devices";
import { BaseZ80VDPBasedMachine } from "./vdp_z80";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../emu";
import { hex, lzgmini, stringToByteArray } from "../util";
import { TssChannelAdapter, MasterAudio, SN76489_Audio } from "../audio";
import { TMS9918A } from "../video/tms9918a";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../common/emu";
import { hex, lzgmini, stringToByteArray } from "../common/util";
import { TssChannelAdapter, MasterAudio, SN76489_Audio } from "../common/audio";
import { TMS9918A } from "../common/video/tms9918a";
// http://www.colecovision.eu/ColecoVision/development/tutorial1.shtml
// http://www.colecovision.eu/ColecoVision/development/libcv.shtml

View File

@ -1,8 +1,8 @@
import { MOS6502, MOS6502State } from "../cpu/MOS6502";
import { BasicHeadlessMachine } from "../devices";
import { padBytes, Keys, KeyFlags, newAddressDecoder } from "../emu"; // TODO
import { hex, stringToByteArray, lzgmini } from "../util";
import { MOS6502, MOS6502State } from "../common/cpu/MOS6502";
import { BasicHeadlessMachine } from "../common/devices";
import { padBytes, Keys, KeyFlags, newAddressDecoder } from "../common/emu"; // TODO
import { hex, stringToByteArray, lzgmini } from "../common/util";
const KIM1_KEYMATRIX_NOSHIFT = [
Keys.VK_DELETE, Keys.VK_ENTER, Keys.VK_RIGHT, Keys.VK_F7, Keys.VK_F1, Keys.VK_F3, Keys.VK_F5, Keys.VK_DOWN,

View File

@ -1,11 +1,11 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine } from "../devices";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine } from "../common/devices";
import { BaseZ80VDPBasedMachine } from "./vdp_z80";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../emu";
import { hex, lzgmini, stringToByteArray } from "../util";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../audio";
import { TMS9918A } from "../video/tms9918a";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../common/emu";
import { hex, lzgmini, stringToByteArray } from "../common/util";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../common/audio";
import { TMS9918A } from "../common/video/tms9918a";
var MSX_KEYCODE_MAP = makeKeycodeMap([

View File

@ -1,8 +1,8 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine } from "../devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../emu";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../audio";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine } from "../common/devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../common/emu";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../common/audio";
// http://www.computerarcheology.com/Arcade/

View File

@ -1,11 +1,11 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine } from "../devices";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine } from "../common/devices";
import { BaseZ80VDPBasedMachine } from "./vdp_z80";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../emu";
import { hex, lzgmini, stringToByteArray } from "../util";
import { TssChannelAdapter, MasterAudio, SN76489_Audio } from "../audio";
import { TMS9918A, SMSVDP } from "../video/tms9918a";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../common/emu";
import { hex, lzgmini, stringToByteArray } from "../common/util";
import { TssChannelAdapter, MasterAudio, SN76489_Audio } from "../common/audio";
import { TMS9918A, SMSVDP } from "../common/video/tms9918a";
// http://www.smspower.org/Development/Index
// http://www.smspower.org/uploads/Development/sg1000.txt

13
src/machine/tsconfig.json Normal file
View File

@ -0,0 +1,13 @@
{
"extends": "../../tsconfig-base.json",
"compilerOptions": {
"rootDir": ".",
"outDir": "../../gen/machine"
},
"references": [
{ "path": "../common" }
],
"include": [
"**/*.ts"
]
}

View File

@ -1,9 +1,9 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine, Bus, ProbeAll } from "../devices";
import { newAddressDecoder, newKeyboardHandler } from "../emu";
import { TssChannelAdapter } from "../audio";
import { TMS9918A } from "../video/tms9918a";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine, Bus, ProbeAll } from "../common/devices";
import { newAddressDecoder, newKeyboardHandler } from "../common/emu";
import { TssChannelAdapter } from "../common/audio";
import { TMS9918A } from "../common/video/tms9918a";
const audioOversample = 2;

View File

@ -1,8 +1,8 @@
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicScanlineMachine } from "../devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../emu";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../audio";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicScanlineMachine } from "../common/devices";
import { KeyFlags, newAddressDecoder, padBytes, Keys, makeKeycodeMap, newKeyboardHandler } from "../common/emu";
import { TssChannelAdapter, MasterAudio, AY38910_Audio } from "../common/audio";
const CARNIVAL_KEYCODE_MAP = makeKeycodeMap([
[Keys.A, 2, -0x20],

View File

@ -1,6 +1,6 @@
import { Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
const APPLE2_PRESETS = [
{id:'sieve.c', name:'Sieve'},
@ -53,7 +53,7 @@ class Apple2MAMEPlatform extends BaseMAMEPlatform implements Platform {
///
import { AppleII } from "../machine/apple2";
import { Base6502MachinePlatform } from "../baseplatform";
import { Base6502MachinePlatform } from "../common/baseplatform";
class NewApple2Platform extends Base6502MachinePlatform<AppleII> implements Platform {

View File

@ -1,8 +1,8 @@
import { BallyAstrocade } from "../machine/astrocade";
import { BaseZ80MachinePlatform } from "../baseplatform";
import { Platform } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { BaseZ80MachinePlatform } from "../common/baseplatform";
import { Platform } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
// http://metopal.com/projects/ballybook/doku.php

View File

@ -1,7 +1,7 @@
import { Atari7800 } from "../machine/atari7800";
import { Platform, Base6502MachinePlatform } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, Base6502MachinePlatform } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
var Atari7800_PRESETS = [
{id:'sprites.dasm', name:'Sprites (ASM)'},

View File

@ -1,9 +1,9 @@
"use strict";
import { Platform, Base6502Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, dumpRAM, getMousePos } from "../emu";
import { hex, lzgmini, stringToByteArray, lpad, rpad, rgb2bgr } from "../util";
import { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from "../audio";
import { Platform, Base6502Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, dumpRAM, getMousePos } from "../common/emu";
import { hex, lzgmini, stringToByteArray, lpad, rpad, rgb2bgr } from "../common/util";
import { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from "../common/audio";
declare var jt; // for 6502

View File

@ -1,7 +1,7 @@
import { C64 } from "../machine/c64";
import { Platform, Base6502MachinePlatform } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, Base6502MachinePlatform } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
var C64_PRESETS = [
{id:'hello.dasm', name:'Hello World (ASM)'},

View File

@ -1,7 +1,7 @@
import { ColecoVision } from "../machine/coleco";
import { Platform, BaseZ80MachinePlatform, BaseMAMEPlatform, getToolForFilename_z80 } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, BaseZ80MachinePlatform, BaseMAMEPlatform, getToolForFilename_z80 } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
export var ColecoVision_PRESETS = [
{ id: 'text.c', name: 'Text Mode' },

View File

@ -1,8 +1,8 @@
import { Platform, BaseZ80Platform } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../emu";
import { hex } from "../util";
import { MasterAudio, AY38910_Audio } from "../audio";
import { Platform, BaseZ80Platform } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../common/emu";
import { hex } from "../common/util";
import { MasterAudio, AY38910_Audio } from "../common/audio";
const GALAXIAN_PRESETS = [
{ id: 'gfxtest.c', name: 'Graphics Test' },

View File

@ -1,8 +1,8 @@
import { Platform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
import { KIM1 } from "../machine/kim1";
import { Base6502MachinePlatform } from "../baseplatform";
import { Base6502MachinePlatform } from "../common/baseplatform";
var KIM1_PRESETS = [
{id:'hello.dasm', name:'Hello World (ASM)'},

View File

@ -1,7 +1,7 @@
"use strict";
import { PLATFORMS } from "../emu";
import { Platform } from "../baseplatform";
import { PLATFORMS } from "../common/emu";
import { Platform } from "../common/baseplatform";
class MarkdownPlatform implements Platform {
mainElement;

View File

@ -1,7 +1,7 @@
import { MSX1 } from "../machine/msx";
import { Platform, BaseZ80MachinePlatform } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, BaseZ80MachinePlatform } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
// https://www.konamiman.com/msx/msx-e.html#msx2th
// https://www.msx.org/wiki/MSX_Cartridge_slot

View File

@ -1,9 +1,9 @@
"use strict";
import { Midway8080 } from "../machine/mw8080bw";
import { BaseZ80MachinePlatform } from "../baseplatform";
import { Platform } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { BaseZ80MachinePlatform } from "../common/baseplatform";
import { Platform } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
// http://www.computerarcheology.com/Arcade/

View File

@ -1,11 +1,11 @@
import { Platform, Base6502Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, cpuStateToLongString_6502, getToolForFilename_6502, dumpStackToString } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, dumpRAM, KeyFlags, EmuHalt, ControllerPoller } from "../emu";
import { hex, lpad, lzgmini, byteArrayToString } from "../util";
import { CodeAnalyzer_nes } from "../analysis";
import { SampleAudio } from "../audio";
import { ProbeRecorder } from "../recorder";
import { NullProbe, Probeable, ProbeAll } from "../devices";
import { Platform, Base6502Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, cpuStateToLongString_6502, getToolForFilename_6502, dumpStackToString } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, dumpRAM, KeyFlags, EmuHalt, ControllerPoller } from "../common/emu";
import { hex, lpad, lzgmini, byteArrayToString } from "../common/util";
import { CodeAnalyzer_nes } from "../common/analysis";
import { SampleAudio } from "../common/audio";
import { ProbeRecorder } from "../common/recorder";
import { NullProbe, Probeable, ProbeAll } from "../common/devices";
declare var jsnes : any;
declare var Mousetrap;

View File

@ -1,6 +1,6 @@
import { PLATFORMS } from "../emu";
import { Platform } from "../baseplatform";
import { PLATFORMS } from "../common/emu";
import { Platform } from "../common/baseplatform";
// TODO: scripts run in global context

View File

@ -1,7 +1,7 @@
import { SG1000, SMS } from "../machine/sms";
import { Platform, BaseZ80MachinePlatform, BaseMAMEPlatform, getToolForFilename_z80 } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { Platform, BaseZ80MachinePlatform, BaseMAMEPlatform, getToolForFilename_z80 } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
// TODO: merge w/ coleco
export var SG1000_PRESETS = [

View File

@ -1,8 +1,8 @@
"use strict";
import { Platform, BaseZ80Platform } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../emu";
import { hex } from "../util";
import { Platform, BaseZ80Platform } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../common/emu";
import { hex } from "../common/util";
// from TSS
declare var MasterChannel, AudioLooper, PsgDeviceChannel;

View File

@ -1,10 +1,10 @@
"use strict";
import { Z80, Z80State } from "../cpu/ZilogZ80";
import { BasicMachine, CPU, Bus } from "../devices";
import { Platform, BaseZ80MachinePlatform } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../emu";
import { SampleAudio } from "../audio";
import { Z80, Z80State } from "../common/cpu/ZilogZ80";
import { BasicMachine, CPU, Bus } from "../common/devices";
import { Platform, BaseZ80MachinePlatform } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../common/emu";
import { SampleAudio } from "../common/audio";
var WILLIAMS_SOUND_PRESETS = [
{ id: 'swave.c', name: 'Wavetable Synth' },

View File

@ -0,0 +1,15 @@
{
"extends": "../../tsconfig-base.json",
"compilerOptions": {
"rootDir": ".",
"outDir": "../../gen/platform"
},
"references": [
{ "path": "../common" },
{ "path": "../machine" },
{ "path": "../ide" },
],
"include": [
"**/*.ts"
]
}

View File

@ -1,10 +1,10 @@
"use strict";
import { Platform, BasePlatform, cpuStateToLongString_6502, BaseMAMEPlatform, EmuRecorder, dumpStackToString, DisasmLine } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, dumpRAM } from "../emu";
import { hex, lpad, tobin, byte2signed } from "../util";
import { CodeAnalyzer_vcs } from "../analysis";
import { disassemble6502 } from "../cpu/disasm6502";
import { Platform, BasePlatform, cpuStateToLongString_6502, BaseMAMEPlatform, EmuRecorder, dumpStackToString, DisasmLine } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, dumpRAM } from "../common/emu";
import { hex, lpad, tobin, byte2signed } from "../common/util";
import { CodeAnalyzer_vcs } from "../common/analysis";
import { disassemble6502 } from "../common/cpu/disasm6502";
declare var Javatari : any;
declare var jt : any; // 6502

View File

@ -1,9 +1,9 @@
"use strict";
import { Platform, BaseZ80Platform, Base6502Platform } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, VectorVideo, Keys, makeKeycodeMap } from "../emu";
import { hex } from "../util";
import { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from "../audio";
import { Platform, BaseZ80Platform, Base6502Platform } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, VectorVideo, Keys, makeKeycodeMap } from "../common/emu";
import { hex } from "../common/util";
import { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from "../common/audio";
// http://www.computerarcheology.com/Arcade/Asteroids/DVG.html
// http://arcarc.xmission.com/Tech/neilw_xy.txt

View File

@ -1,10 +1,10 @@
import { Platform, BasePlatform } from "../baseplatform";
import { PLATFORMS, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, getMousePos, KeyFlags } from "../emu";
import { SampleAudio } from "../audio";
import { safe_extend, clamp, byteArrayToString } from "../util";
import { WaveformView, WaveformProvider, WaveformMeta } from "../waveform";
import { setFrameRateUI, current_project } from "../ui";
import { Platform, BasePlatform } from "../common/baseplatform";
import { PLATFORMS, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, getMousePos, KeyFlags } from "../common/emu";
import { SampleAudio } from "../common/audio";
import { safe_extend, clamp, byteArrayToString } from "../common/util";
import { WaveformView, WaveformProvider, WaveformMeta } from "../ide/waveform";
import { setFrameRateUI, current_project } from "../ide/ui";
declare var Split;

View File

@ -1,8 +1,8 @@
import { VicDual } from "../machine/vicdual";
import { BaseZ80MachinePlatform } from "../baseplatform";
import { Platform } from "../baseplatform";
import { PLATFORMS } from "../emu";
import { BaseZ80MachinePlatform } from "../common/baseplatform";
import { Platform } from "../common/baseplatform";
import { PLATFORMS } from "../common/emu";
const VICDUAL_PRESETS = [
{ id: 'minimal.c', name: 'Minimal Example' },

View File

@ -1,8 +1,8 @@
import { Platform, BaseZ80Platform, Base6809Platform } from "../baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../emu";
import { hex } from "../util";
import { MasterAudio, WorkerSoundChannel } from "../audio";
import { Platform, BaseZ80Platform, Base6809Platform } from "../common/baseplatform";
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap } from "../common/emu";
import { hex } from "../common/util";
import { MasterAudio, WorkerSoundChannel } from "../common/audio";
var WILLIAMS_PRESETS = [
{ id: 'gfxtest.c', name: 'Graphics Test' },

13
src/worker/tsconfig.json Normal file
View File

@ -0,0 +1,13 @@
{
"extends": "../../tsconfig-base.json",
"compilerOptions": {
"rootDir": ".",
"outDir": "../../gen/worker"
},
"references": [
{ "path": "../common" }
],
"include": [
"**/*.ts"
]
}

View File

@ -1,6 +1,6 @@
"use strict";
import { WorkerResult, WorkerFileUpdate, WorkerBuildStep, WorkerMessage, WorkerError, Dependency, SourceLine } from "../workertypes";
import { WorkerResult, WorkerFileUpdate, WorkerBuildStep, WorkerMessage, WorkerError, Dependency, SourceLine } from "../common/workertypes";
declare var WebAssembly;
declare function importScripts(path:string);

View File

@ -2,7 +2,7 @@
var assert = require('assert');
var fs = require('fs');
var disassemble6502 = require("gen/cpu/disasm6502.js").disassemble6502;
var disassemble6502 = require("gen/common/cpu/disasm6502.js").disassemble6502;
describe('6502 disassembler', function() {
it('Should work', function() {

View File

@ -2,8 +2,8 @@
var assert = require('assert');
var fs = require('fs');
var emu = require("gen/devices.js");
var MOS6502 = require("gen/cpu/MOS6502.js");
var emu = require("gen/common/devices.js");
var MOS6502 = require("gen/common/cpu/MOS6502.js");
var testbin = fs.readFileSync('test/cli/6502/6502_functional_test.bin', null);
describe('MOS6502', function() {

View File

@ -1,7 +1,7 @@
var vm = require('vm');
var fs = require('fs');
var emu = require('gen/emu.js');
var emu = require('gen/common/emu.js');
function assert(b, msg) {
if (!b) { throw new Error(msg); }

View File

@ -6,10 +6,10 @@ var assert = require('assert');
var wtu = require('./workertestutils.js'); // loads localStorage
global.localforage = require("localForage/dist/localforage.js");
var util = require("gen/util.js");
var mstore = require("gen/store.js");
var prj = require("gen/project.js");
var serv = require("gen/services.js");
var util = require("gen/common/util.js");
var mstore = require("gen/ide/store.js");
var prj = require("gen/ide/project.js");
var serv = require("gen/ide/services.js");
var Octokat = require('octokat');
var test_platform_id = "_TEST";

View File

@ -1,6 +1,6 @@
var assert = require('assert');
var pixed = require("gen/pixed/pixeleditor.js");
var pixed = require("gen/ide/pixeleditor.js");
function dumbEqual(a,b) {
if (a instanceof Uint32Array || a instanceof Uint8Array) {

View File

@ -14,8 +14,8 @@ global.document = dom.window.document;
dom.window.Audio = null;
global.Image = function() { }
global['$'] = require("jquery/jquery-3.4.1.min.js");
includeInThisContext('src/cpu/z80.js');
includeInThisContext('src/cpu/6809.js');
includeInThisContext('src/common/cpu/z80.js');
includeInThisContext('src/common/cpu/6809.js');
global['buildZ80'] = global.window.buildZ80;
includeInThisContext("javatari.js/release/javatari/javatari.js");
Javatari.AUTO_START = false;
@ -27,12 +27,12 @@ includeInThisContext('tss/js/tss/AudioLooper.js');
//includeInThisContext("jsnes/dist/jsnes.min.js");
global.jsnes = require("jsnes/dist/jsnes.min.js");
//var devices = require('gen/devices.js');
var emu = require('gen/emu.js');
//var devices = require('gen/common/devices.js');
var emu = require('gen/common/emu.js');
var Keys = emu.Keys;
var audio = require('gen/audio.js');
var recorder = require('gen/recorder.js');
//var _6502 = require('gen/cpu/MOS6502.js');
var audio = require('gen/common/audio.js');
var recorder = require('gen/common/recorder.js');
//var _6502 = require('gen/common/cpu/MOS6502.js');
var _apple2 = require('gen/platform/apple2.js');
//var m_apple2 = require('gen/machine/apple2.js');
var _vcs = require('gen/platform/vcs.js');

View File

@ -6,9 +6,9 @@ var assert = require('assert');
var wtu = require('./workertestutils.js'); // loads localStorage
global.localforage = require("localForage/dist/localforage.js");
var util = require("gen/util.js");
var mstore = require("gen/store.js");
var prj = require("gen/project.js");
var util = require("gen/common/util.js");
var mstore = require("gen/ide/store.js");
var prj = require("gen/ide/project.js");
var test_platform_id = "_TEST";

View File

@ -3,8 +3,8 @@ var vm = require('vm');
var fs = require('fs');
var assert = require('assert');
var emu = require("gen/emu.js");
var util = require("gen/util.js");
var emu = require("gen/common/emu.js");
var util = require("gen/common/util.js");
var nes = require("gen/platform/nes.js");
var NES_CONIO_ROM_LZG = [

View File

@ -3,7 +3,7 @@ var assert = require('assert');
var fs = require('fs');
var wtu = require('./workertestutils.js');
var emu = require('gen/emu.js');
var emu = require('gen/common/emu.js');
var verilog = require('gen/platform/verilog.js');
var VerilogPlatform = emu.PLATFORMS['verilog'];

View File

@ -2,7 +2,7 @@
var assert = require('assert');
var fs = require('fs');
var disassembleZ80 = require("gen/cpu/disasmz80.js").disassembleZ80;
var disassembleZ80 = require("gen/common/cpu/disasmz80.js").disassembleZ80;
describe('Z80 disassembler', function() {
it('Should work', function() {

View File

@ -2,8 +2,8 @@
var assert = require('assert');
var fs = require('fs');
var emu = require("gen/devices.js");
var ZilogZ80 = require("gen/cpu/ZilogZ80.js");
var emu = require("gen/common/devices.js");
var ZilogZ80 = require("gen/common/cpu/ZilogZ80.js");
var testbin = fs.readFileSync('test/cli/z80/zexall.bin', null);
var runall = false;

View File

@ -1,7 +1,7 @@
"use strict";
var wtu = require('../workertestutils.js');
includeInThisContext('src/cpu/z80.js');
includeInThisContext('src/common/cpu/z80.js');
if (!global.buildZ80) global.buildZ80 = global.window.buildZ80;
var Memory = function(dump) {

18
tsconfig-base.json Normal file
View File

@ -0,0 +1,18 @@
{
"compilerOptions": {
"composite": true,
"allowJs": false,
"checkJs": false,
"sourceMap": true,
"target": "es5",
"lib": [
"es2016",
"dom"
],
"noImplicitThis": false,
"noImplicitAny": false,
"preserveConstEnums": true,
"alwaysStrict": true,
"strictNullChecks": false
}
}

View File

@ -1,23 +1,20 @@
{
"compilerOptions": {
"outDir": "./gen",
"allowJs": true,
"checkJs": true,
"sourceMap": true,
"target": "es5",
"lib": [
"es2016",
"dom"
],
"noImplicitThis": false,
"noImplicitAny": false,
"preserveConstEnums": true,
"alwaysStrict": true,
"strictNullChecks": false
"files": [],
"references": [
{
"path": "./src/common"
},
"include": [
"./src/**/*.ts",
"./test/**/*.ts",
"./localForage/typings/*.ts"
]
{
"path": "./src/machine"
},
{
"path": "./src/platform"
},
{
"path": "./src/ide"
},
{
"path": "./src/worker"
}
]
}