2016-12-16 01:21:51 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
2019-05-06 01:49:08 +00:00
|
|
|
|
2016-12-16 01:21:51 +00:00
|
|
|
<head>
|
2018-07-26 16:44:09 +00:00
|
|
|
<title>8bitworkshop IDE</title>
|
2018-12-22 13:59:34 +00:00
|
|
|
<link rel="manifest" href="manifest.json">
|
2020-09-07 21:09:49 +00:00
|
|
|
<meta name="googlebot" content="noindex" />
|
2018-12-22 13:59:34 +00:00
|
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<meta name="application-name" content="8bitworkshop">
|
|
|
|
<meta name="apple-mobile-web-app-title" content="8bitworkshop">
|
|
|
|
<meta name="theme-color" content="#ffffff">
|
|
|
|
<meta name="msapplication-navbutton-color" content="#ffffff">
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
|
|
<meta name="msapplication-starturl" content="/redir.html">
|
2018-10-03 14:58:59 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes">
|
2020-08-27 01:42:18 +00:00
|
|
|
<link rel="apple-touch-icon" href="/images/icon.png">
|
2016-12-16 01:21:51 +00:00
|
|
|
<style type="text/css" media="screen">
|
|
|
|
body {
|
2018-11-24 16:33:28 +00:00
|
|
|
overflow: hidden;
|
2016-12-30 23:51:15 +00:00
|
|
|
font-size: 11px;
|
2016-12-16 01:21:51 +00:00
|
|
|
}
|
|
|
|
</style>
|
2017-04-29 15:31:11 +00:00
|
|
|
<link rel="stylesheet" href="css/ui.css">
|
2019-05-07 19:37:37 +00:00
|
|
|
|
|
|
|
<!-- google analytics -->
|
|
|
|
<script>
|
|
|
|
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
|
|
|
if (window.location.host.endsWith('8bitworkshop.com')) {
|
|
|
|
ga('create', 'UA-54497476-9', 'auto');
|
|
|
|
ga('set', 'anonymizeIp', true);
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
2019-05-06 01:49:08 +00:00
|
|
|
|
2019-05-07 19:37:37 +00:00
|
|
|
<!-- firebase libs -->
|
2021-04-07 15:22:49 +00:00
|
|
|
<script defer src="https://www.gstatic.com/firebasejs/8.3.2/firebase-app.js"></script>
|
|
|
|
<script defer src="https://www.gstatic.com/firebasejs/8.3.2/firebase-auth.js"></script>
|
2019-05-07 19:37:37 +00:00
|
|
|
<script defer src="config.js"></script>
|
|
|
|
|
2019-11-09 17:02:33 +00:00
|
|
|
</head>
|
2016-12-16 01:21:51 +00:00
|
|
|
<body>
|
|
|
|
|
2018-06-26 23:57:03 +00:00
|
|
|
<!-- for file upload -->
|
|
|
|
<input type="file" id="uploadFileElem" multiple accept="*" style="display:none" onchange="handleFileUpload(this.files)">
|
|
|
|
|
2018-11-25 12:18:32 +00:00
|
|
|
<div id="controls_top" class="disable-select">
|
2019-05-22 14:53:39 +00:00
|
|
|
<div id="controls_dynamic" style="visibility:hidden">
|
2019-08-20 15:42:39 +00:00
|
|
|
<!-- main menu -->
|
2019-05-22 02:36:56 +00:00
|
|
|
<span class="dropdown">
|
|
|
|
<a class="btn dropdown-toggle toolbarMenuButton" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="Menu">
|
|
|
|
<span class="glyphicon glyphicon-menu-hamburger" aria-hidden="true"></span>
|
|
|
|
<span class="caret"></span>
|
|
|
|
</a>
|
2019-05-22 15:52:39 +00:00
|
|
|
<ul class="dropdown-menu dropdown-menu-left" aria-labelledby="dropdownMenuButton" style="left:auto">
|
2018-08-23 21:46:25 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_new_file">New Project...</a></li>
|
2018-12-08 00:28:11 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_upload_file">Upload...</a></li>
|
|
|
|
<hr>
|
2018-11-24 20:43:08 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
2018-12-08 00:28:11 +00:00
|
|
|
<a tabindex="-1" href="#">File</a>
|
2018-11-24 20:43:08 +00:00
|
|
|
<ul class="dropdown-menu">
|
2018-12-08 00:28:11 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_reset_file">Revert to Original...</a></li>
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_rename_file">Rename File...</a></li>
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_delete_file">Delete File...</a></li>
|
|
|
|
<hr>
|
2018-11-24 20:43:08 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_addfile_include">Add Include File...</a></li>
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_addfile_link">Add Linked File...</a></li>
|
2019-09-03 23:48:12 +00:00
|
|
|
<hr>
|
2020-07-14 12:32:45 +00:00
|
|
|
<!--
|
2019-05-26 03:15:25 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_switch_https" style="display:none">Switch to HTTPS...</a></li>
|
2020-07-13 04:54:09 +00:00
|
|
|
-->
|
2020-07-14 12:32:45 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_request_persist">Request Local Storage Permissions</a></li>
|
2018-11-24 20:43:08 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2019-05-06 01:49:08 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Sync</a>
|
|
|
|
<ul class="dropdown-menu">
|
2019-05-22 17:58:44 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_github_login">Sign in to Github...</a></li>
|
2019-05-22 18:45:03 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_github_logout">Log out</a></li>
|
|
|
|
<hr>
|
2019-05-06 01:49:08 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_github_import">Import Project from GitHub...</a></li>
|
2019-07-22 01:28:44 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_github_pull">Pull Latest from Repository</a></li>
|
2019-05-06 01:49:08 +00:00
|
|
|
<hr>
|
2019-07-22 01:28:44 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_github_publish">Publish Project on GitHub...</a></li>
|
2019-05-07 15:31:33 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_github_push">Push Changes to Repository...</a></li>
|
|
|
|
<hr>
|
2019-07-22 01:28:44 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_repo_delete">Delete Local Repository...</a></li>
|
2019-05-06 01:49:08 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2018-08-25 18:29:51 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Download</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_download_file">Download Source File</a></li>
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_download_rom">Download ROM Image</a></li>
|
2018-08-26 13:19:09 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_download_zip">Download Project as ZIP</a></li>
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_download_allzip">Download All Changes as ZIP</a></li>
|
2018-08-25 18:29:51 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Share</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_share_file">Share Playable Link...</a></li>
|
2019-03-03 20:37:22 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_record_video">Record Video...</a></li>
|
2018-09-25 23:46:24 +00:00
|
|
|
<li><a class="dropdown-item" href="#" id="item_export_cassette">Make Cassette Audio...</a></li>
|
2018-08-25 18:29:51 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2017-01-07 18:05:02 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Debug</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" href="#" id="item_debug_expr">Break Expression...</a></li>
|
|
|
|
</ul>
|
2017-05-20 19:13:23 +00:00
|
|
|
</li>
|
2018-03-23 21:05:08 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
2018-09-02 14:48:43 +00:00
|
|
|
<a tabindex="-1" href="#">Tools</a>
|
2018-03-23 21:05:08 +00:00
|
|
|
<ul class="dropdown-menu">
|
2020-07-30 19:43:55 +00:00
|
|
|
<li><a class="dropdown-item" target="_8bws_tools" href="https://8bitworkshop.com/dithertron/">Dithertron Image Converter</a></li>
|
|
|
|
<li><a class="dropdown-item" target="_8bws_tools" href="https://8bitworkshop.com/bitmapfontgenerator/">Bitmap Font Generator</a></li>
|
2019-04-26 19:38:34 +00:00
|
|
|
<li><a class="dropdown-item" target="_8bws_tools" href="http://tomeko.net/online_tools/file_to_hex.php?lang=en">Binary File to Hex Converter</a></li>
|
|
|
|
<li class="dropdown dropdown-submenu">
|
2019-08-22 16:42:48 +00:00
|
|
|
<a tabindex="-1" href="#">Atari 2600</a>
|
2019-04-26 19:38:34 +00:00
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" target="_8bws_tools" href="https://alienbill.com/2600/playerpalnext.html">playerpal 2600</a></li>
|
|
|
|
<li><a class="dropdown-item" target="_8bws_tools" href="https://alienbill.com/2600/playfieldpal.html">playfieldpal 2600</a></li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
2018-03-23 21:05:08 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2019-08-10 01:51:05 +00:00
|
|
|
<hr>
|
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">About</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" target="_8bws_about" href="https://8bitworkshop.com/blog">Latest News</a></li>
|
|
|
|
<li><a class="dropdown-item" target="_8bws_about" href="https://8bitworkshop.com/projects">Projects</a></li>
|
|
|
|
<li><a class="dropdown-item" target="_8bws_about" href="https://twitter.com/8bitworkshop">Twitter</a></li>
|
|
|
|
<li><a class="dropdown-item" target="_8bws_about" href="https://github.com/sehugg/8bitworkshop">GitHub</a></li>
|
2019-08-19 15:16:02 +00:00
|
|
|
<li><a class="dropdown-item" target="_8bws_about" href="https://github.com/sehugg/8bitworkshop/issues/new">Report an Issue</a></li>
|
2020-01-29 03:11:12 +00:00
|
|
|
<li><a class="dropdown-item" target="_8bws_about" href="https://8bitworkshop.com/blog/docs/ide.md.html">IDE Help</a></li>
|
2019-08-10 01:51:05 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2019-05-22 02:36:56 +00:00
|
|
|
<!--
|
|
|
|
<hr><li><a class="dropdown-item" href="/redir.html">Use Latest Version</a></li>
|
|
|
|
-->
|
|
|
|
</ul>
|
|
|
|
</span>
|
|
|
|
|
2019-08-20 15:42:39 +00:00
|
|
|
<!-- PLATFORMS menu -->
|
2019-05-22 02:36:56 +00:00
|
|
|
<span class="dropdown">
|
2019-12-24 14:29:46 +00:00
|
|
|
<a class="btn dropdown-toggle toolbarMenuButton" id="platformsMenuButton" style="min-width:90px" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
2019-08-20 15:42:39 +00:00
|
|
|
<span class="platform_name">PLATFORMS</span> <span class="caret"></span>
|
2019-05-22 02:36:56 +00:00
|
|
|
</a>
|
|
|
|
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="platformsMenuButton">
|
2018-08-18 12:04:13 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
2018-08-21 14:16:47 +00:00
|
|
|
<a tabindex="-1" href="#">Game Consoles</a>
|
2018-08-18 12:04:13 +00:00
|
|
|
<ul class="dropdown-menu">
|
2019-08-22 16:42:48 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=vcs">Atari 2600</a></li>
|
2019-08-26 21:39:14 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=nes">NES</a></li>
|
|
|
|
<hr>
|
2019-08-25 21:17:03 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=astrocade">Bally Astrocade</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=coleco">ColecoVision</a></li>
|
2020-07-01 02:14:33 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=sms-sg1000-libcv">Sega SG-1000</a></li>
|
2019-08-25 21:17:03 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=sms-sms-libcv">Sega Master System</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=atari7800">Atari 7800</a></li>
|
2020-07-01 02:14:33 +00:00
|
|
|
<!--
|
|
|
|
<li><a class="dropdown-item" href="?platform=vectrex">Vectrex</a></li>
|
|
|
|
-->
|
2018-08-18 12:04:13 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2018-08-21 14:16:47 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Computers</a>
|
|
|
|
<ul class="dropdown-menu">
|
2019-12-29 21:15:12 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=c64">Commodore 64</a></li>
|
2019-08-25 21:17:03 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=msx">MSX (BIOS)</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=msx-libcv">MSX (libCV)</a></li>
|
2020-07-02 17:33:22 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=apple2">Apple ][+</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=zx">ZX Spectrum</a></li>
|
2020-08-10 13:07:09 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=x86">x86 (FreeDOS)</a></li>
|
2019-12-29 21:15:12 +00:00
|
|
|
</ul>
|
2018-08-21 14:16:47 +00:00
|
|
|
</li>
|
2018-08-18 12:04:13 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Arcade Systems</a>
|
|
|
|
<ul class="dropdown-menu">
|
2019-08-20 16:29:31 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=vicdual">VIC Dual</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=mw8080bw">Midway 8080</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=galaxian-scramble">Galaxian/Scramble</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=vector-z80color">Atari Color Vector (Z80)</a></li>
|
2020-08-10 13:07:09 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=vector-ataricolor">Atari Color Vector (6502)</a></li>
|
2019-08-20 16:29:31 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=williams-z80">Williams (Z80)</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=sound_williams-z80">Williams Sound (Z80)</a></li>
|
2018-08-18 12:04:13 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2018-10-11 15:33:09 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">Hardware</a>
|
|
|
|
<ul class="dropdown-menu">
|
2019-08-20 16:29:31 +00:00
|
|
|
<li><a class="dropdown-item" href="?platform=verilog">Verilog</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=verilog-vga">Verilog (VGA @ 25 Mhz)</a></li>
|
2018-10-11 15:33:09 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2020-07-08 23:04:23 +00:00
|
|
|
<li class="dropdown dropdown-submenu">
|
2020-08-10 16:08:43 +00:00
|
|
|
<a tabindex="-1" href="#">Interpreters</a>
|
2020-08-10 13:07:09 +00:00
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" href="?platform=basic">BASIC</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=zmachine">Z-Machine</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=markdown">Markdown Text Editor</a></li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="dropdown dropdown-submenu">
|
|
|
|
<a tabindex="-1" href="#">MAME Emulators</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a class="dropdown-item" href="?platform=atari8-800xl.mame">Atari 800XL (MAME)</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=atari8-5200.mame">Atari 5200 (MAME)</a></li>
|
|
|
|
<hr>
|
|
|
|
<li><a class="dropdown-item" href="?platform=vcs.mame">Atari 2600 (MAME)</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=coleco.mame">ColecoVision (MAME)</a></li>
|
|
|
|
<li><a class="dropdown-item" href="?platform=nes.mame">NES (MAME)</a></li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
2017-01-07 02:09:41 +00:00
|
|
|
</ul>
|
|
|
|
</span>
|
2019-08-20 15:42:39 +00:00
|
|
|
|
|
|
|
<!-- project selector -->
|
2020-07-12 22:21:54 +00:00
|
|
|
<span id="repo_name" class="hidden-sm" style="color:#eee; font-size: small"></span>
|
|
|
|
<select id="preset_select" name="" title="Project Select" style="max-width:20em;visibility:hidden;height:2.3em">
|
2019-08-20 15:42:39 +00:00
|
|
|
</select>
|
|
|
|
|
|
|
|
<img id="compile_spinner" src="images/spinner.gif" style="visibility:hidden;margin-left:8px;margin-right:8px;height:2em">
|
|
|
|
<span id="toolbar" class="hidden-xs"></span>
|
|
|
|
<span class="btn_group view_group hidden-sm hidden-xs" id="speed_bar" style="display:none">
|
|
|
|
<button id="dbg_slowest" class="btn" title="Slowest"><span class="glyphicon glyphicon-fast-backward" aria-hidden="true"></span></button>
|
|
|
|
<button id="dbg_slower" class="btn" title="Slower"><span class="glyphicon glyphicon-backward" aria-hidden="true"></span></button>
|
|
|
|
<span class="label"><span id="fps_label">60.00</span> fps</span>
|
|
|
|
<button id="dbg_faster" class="btn" title="Faster"><span class="glyphicon glyphicon-forward" aria-hidden="true"></span></button>
|
|
|
|
<button id="dbg_fastest" class="btn" title="Faster"><span class="glyphicon glyphicon-fast-forward" aria-hidden="true"></span></button>
|
|
|
|
</span>
|
|
|
|
<span id="verilog_bar" style="display:none">
|
|
|
|
<span class="label"><span id="settle_label"></span> evals/clk</span>
|
|
|
|
</span>
|
|
|
|
|
2019-08-20 12:28:59 +00:00
|
|
|
<!-- BOOKS menu -->
|
|
|
|
<span class="dropdown pull-right">
|
2020-09-11 18:50:42 +00:00
|
|
|
<a class="btn dropdown-toggle hidden-xs hiddem-sm toolbarMenuButton" id="booksMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
2019-08-20 16:29:31 +00:00
|
|
|
<span class="glyphicon glyphicon-book" aria-hidden="true"></span>
|
2020-09-11 18:50:42 +00:00
|
|
|
Books <span class="caret"></span>
|
2017-12-30 03:12:39 +00:00
|
|
|
</a>
|
2019-05-22 02:36:56 +00:00
|
|
|
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="booksMenuButton">
|
2017-12-30 03:12:39 +00:00
|
|
|
<li>
|
2020-07-17 17:06:24 +00:00
|
|
|
<a class="dropdown-item dropdown-link book-vcs" target="_book_a2600" href="https://www.amazon.com/gp/product/1541021304/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=pzp-20&camp=1789&creative=9325&linkCode=as2&creativeASIN=B01N4DSRIZ&linkId=04d39e274c06e6c93b93d20a9a977111">
|
2017-12-30 03:12:39 +00:00
|
|
|
<img src="images/book_a2600.png"/>
|
2019-05-21 17:54:51 +00:00
|
|
|
<span class="book-title">Making Games For The Atari 2600</span>
|
2017-12-30 03:12:39 +00:00
|
|
|
</a>
|
2019-05-07 15:31:33 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2020-07-17 17:06:24 +00:00
|
|
|
<a class="dropdown-item dropdown-link book-arcade" target="_book_arcade" href="https://www.amazon.com/gp/product/1545484759/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1545484759&linkCode=as2&tag=pzp-20&linkId=b27709c022d2ebe639e90316d9f4fd5b">
|
2017-12-30 03:12:39 +00:00
|
|
|
<img src="images/book_arcade.png"/>
|
2019-05-21 17:54:51 +00:00
|
|
|
<span class="book-title">Making 8-bit Arcade Games in C</span>
|
2017-12-30 17:48:30 +00:00
|
|
|
</a>
|
2019-05-07 15:31:33 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2020-07-17 17:06:24 +00:00
|
|
|
<a class="dropdown-item dropdown-link book-verilog" target="_book_verilog" href="https://www.amazon.com/gp/product/1728619440/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1728619440&linkCode=as2&tag=pzp-20&linkId=7237a25861cb6b49a4128ba53d84c3e2">
|
2018-12-15 16:10:32 +00:00
|
|
|
<img src="images/book_verilog.png"/>
|
2019-05-21 17:54:51 +00:00
|
|
|
<span class="book-title">Designing Video Game Hardware in Verilog</span>
|
2017-12-30 03:12:39 +00:00
|
|
|
</a>
|
|
|
|
</li>
|
2019-05-20 20:49:55 +00:00
|
|
|
<li>
|
2020-07-17 17:06:24 +00:00
|
|
|
<a class="dropdown-item dropdown-link book-nes" target="_book_nes" href="https://www.amazon.com/gp/product/1075952727/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1075952727&linkCode=as2&tag=pzp-20&linkId=633176e8b36fea7f927020e2c322d80a">
|
2019-05-20 20:49:55 +00:00
|
|
|
<img src="images/book_nes.png"/>
|
2019-05-22 17:58:44 +00:00
|
|
|
<span class="book-title">Making Games For The NES</span>
|
2019-05-20 20:49:55 +00:00
|
|
|
</a>
|
|
|
|
</li>
|
2017-12-30 03:12:39 +00:00
|
|
|
</ul>
|
|
|
|
</span>
|
2019-08-20 16:29:31 +00:00
|
|
|
<!-- 8bitworkshop logo -->
|
2020-09-11 18:50:42 +00:00
|
|
|
<span class="logo-gradient hidden-xs hidden-sm pull-right" style="margin-left:auto" onclick="window.open('/','_8bitws');">8bitworkshop</span>
|
2019-08-20 16:29:31 +00:00
|
|
|
|
2019-05-22 14:53:39 +00:00
|
|
|
</div><!-- controls_dynamic -->
|
|
|
|
</div><!-- controls_top -->
|
2019-05-22 02:36:56 +00:00
|
|
|
|
2017-01-07 02:09:41 +00:00
|
|
|
<div id="notebook">
|
2018-11-24 16:33:28 +00:00
|
|
|
<div id="sidebar">
|
|
|
|
<ul id="windowMenuList">
|
|
|
|
</ul>
|
|
|
|
</div>
|
2017-04-06 14:28:51 +00:00
|
|
|
<div id="workspace">
|
2016-12-16 01:21:51 +00:00
|
|
|
</div>
|
2019-05-18 15:19:12 +00:00
|
|
|
<div class="emulator disable-select" id="emulator">
|
2019-08-28 01:34:52 +00:00
|
|
|
<!-- replay slider -->
|
2020-07-04 14:16:45 +00:00
|
|
|
<div id="replaydiv" class="replaydiv" style="display:none;color:#ccc;text-align:left">
|
2020-08-29 22:30:39 +00:00
|
|
|
<div style="display:grid; grid-template-columns: 3em 3em auto 3em; grid-gap: 1em">
|
2019-04-02 12:33:13 +00:00
|
|
|
<button id="replay_back" class="btn" title="Back one frame"><span class="glyphicon glyphicon-backward" aria-hidden="true"></span></button>
|
2020-07-04 14:16:45 +00:00
|
|
|
<div>
|
|
|
|
Frame<br>
|
|
|
|
<span id="replay_frame" style="width:3em">-</span>
|
|
|
|
</div>
|
2018-11-23 18:29:11 +00:00
|
|
|
<input type="range" min="0" max="0" value="0" class="slider" id="replayslider">
|
2019-04-02 12:33:13 +00:00
|
|
|
<button id="replay_fwd" class="btn" title="Ahead one frame"><span class="glyphicon glyphicon-forward" aria-hidden="true"></span></button>
|
2020-08-29 22:30:39 +00:00
|
|
|
|
2020-07-04 14:16:45 +00:00
|
|
|
<button id="clock_back" class="btn" title="Back one step"><span class="glyphicon glyphicon-backward" aria-hidden="true"></span></button>
|
|
|
|
<div>
|
|
|
|
Step<br>
|
|
|
|
<span id="replay_clock" style="width:3em">-</span>
|
|
|
|
</div>
|
|
|
|
<input type="range" min="0" max="0" value="0" class="slider" id="clockslider">
|
|
|
|
<button id="clock_fwd" class="btn" title="Forward one step"><span class="glyphicon glyphicon-forward" aria-hidden="true"></span></button>
|
2018-11-23 18:29:11 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-05-21 17:06:48 +00:00
|
|
|
<!-- emulator video -->
|
|
|
|
<div id="emuscreen">
|
|
|
|
</div>
|
2020-07-06 23:53:20 +00:00
|
|
|
<!-- for Javatari only -->
|
2019-05-22 18:18:44 +00:00
|
|
|
<div id="javatari-div" style="float:center;margin:10px;display:none">
|
|
|
|
<div id="javatari-screen" style="margin: 0 auto; box-shadow: 2px 2px 10px rgb(60, 60, 60);"></div>
|
|
|
|
<div id="javatari-console-panel" style="margin: 0 auto; box-shadow: 2px 2px 10px rgb(60, 60, 60);"></div>
|
|
|
|
</div>
|
2019-05-17 04:42:52 +00:00
|
|
|
<!-- control instructions -->
|
2020-05-25 18:04:04 +00:00
|
|
|
<div class="emucontrols-vcs emucontrols-c64 text-center small control-insns" style="display:none">
|
2019-05-18 15:19:12 +00:00
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joystick</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Space</span> Button</span>
|
|
|
|
</div>
|
2020-01-04 19:17:42 +00:00
|
|
|
<div class="emucontrols-nes emucontrols-atari7800 text-center small control-insns" style="display:none">
|
2019-05-17 04:42:52 +00:00
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joypad</span>
|
2019-06-07 13:45:30 +00:00
|
|
|
<span class="control-def"><span class="control-key small">Space</span> Button A</span>
|
2019-07-06 00:42:14 +00:00
|
|
|
<span class="control-def"><span class="control-key small">Shift</span> Button B</span>
|
2019-06-07 13:45:30 +00:00
|
|
|
<span class="control-def"><span class="control-key small">\</span> Select</span>
|
2019-05-17 04:42:52 +00:00
|
|
|
<span class="control-def"><span class="control-key small">Enter</span> Start</span>
|
|
|
|
</div>
|
2019-08-05 15:15:26 +00:00
|
|
|
<div class="emucontrols-msx emucontrols-coleco emucontrols-sms text-center small control-insns" style="display:none">
|
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joypad</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Space</span> Button A</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Shift</span> Button B</span>
|
|
|
|
</div>
|
2019-06-07 13:45:30 +00:00
|
|
|
<div class="emucontrols-vicdual emucontrols-galaxian emucontrols-vector text-center small control-insns" style="display:none">
|
2019-05-18 15:19:12 +00:00
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joystick</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Space</span> Button 1</span>
|
2019-07-06 00:42:14 +00:00
|
|
|
<span class="control-def"><span class="control-key small">Shift</span> Button 2</span>
|
2019-06-07 13:45:30 +00:00
|
|
|
<span class="control-def"><span class="control-key">\</span> Coin</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Enter</span> Start</span>
|
2019-05-18 15:19:12 +00:00
|
|
|
</div>
|
|
|
|
<div class="emucontrols-mw8080bw text-center small control-insns" style="display:none">
|
|
|
|
<span class="control-def"><span class="control-key">← →</span> Joystick</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Space</span> Fire</span>
|
|
|
|
</div>
|
|
|
|
<div class="emucontrols-williams text-center small control-insns" style="display:none">
|
|
|
|
<span class="control-def"><span class="control-key">A W S D</span> Move</span>
|
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Fire</span>
|
2019-08-06 19:36:28 +00:00
|
|
|
<span class="control-def"><span class="control-key">\</span> Coin</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Enter</span> Start</span>
|
|
|
|
<span class="control-def"><span class="control-key small">6 7 8 9</span> Extra</span>
|
2019-05-18 15:19:12 +00:00
|
|
|
</div>
|
2019-06-03 14:08:29 +00:00
|
|
|
<div class="emucontrols-astrocade text-center small control-insns" style="display:none">
|
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joystick</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Space</span> Trigger</span>
|
|
|
|
<span class="control-def"><span class="control-key small">Mouse X</span> Knob</span>
|
|
|
|
<span class="control-def"><span class="control-key small" style="display:inline-block;font-family:monospace">
|
2019-06-09 15:13:25 +00:00
|
|
|
U I O P<br>
|
|
|
|
J K L /<br>
|
2019-06-03 14:08:29 +00:00
|
|
|
7 8 9 X<br>
|
|
|
|
4 5 6 -<br>
|
|
|
|
1 2 3 ,<br>
|
2019-06-09 15:13:25 +00:00
|
|
|
\ 0 . =</span> Keypad</span>
|
2019-06-03 14:08:29 +00:00
|
|
|
</div>
|
2020-06-30 17:10:15 +00:00
|
|
|
<div class="emucontrols-vectrex text-center small control-insns" style="display:none">
|
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joystick</span>
|
|
|
|
<span class="control-def"><span class="control-key">Z X C V</span> Buttons</span>
|
|
|
|
</div>
|
2020-07-18 16:13:32 +00:00
|
|
|
<div class="emucontrols-atari8 text-center small control-insns" style="display:none">
|
|
|
|
<span class="control-def"><span class="control-key">←↑↓→</span> Joystick</span>
|
2020-07-29 00:14:42 +00:00
|
|
|
<span class="control-def"><span class="control-key">Z</span> Button 1</span>
|
|
|
|
<span class="control-def"><span class="control-key">X</span> Button 2</span>
|
2020-07-18 16:13:32 +00:00
|
|
|
<span class="control-def"><span class="control-key">1</span> Start</span>
|
|
|
|
</div>
|
2019-05-18 15:19:12 +00:00
|
|
|
<!-- -->
|
2018-11-26 21:14:23 +00:00
|
|
|
<div id="emuoverlay" class="emuoverlay" style="display:none">
|
|
|
|
</div>
|
2017-04-19 01:18:53 +00:00
|
|
|
</div>
|
|
|
|
<div id="mem_info" class="mem_info" style="display:none">
|
|
|
|
</div>
|
2018-09-05 02:28:12 +00:00
|
|
|
<div id="error_alert" class="alert alert-danger alert-dismissable" style="position:absolute;right:0;top:0;display:none">
|
2018-09-15 22:47:40 +00:00
|
|
|
<button type="button" class="close" onclick="$('.alert').hide()" aria-hidden="true">×</button>
|
2018-09-05 02:28:12 +00:00
|
|
|
<div id="error_alert_msg"></div>
|
|
|
|
</div>
|
2016-12-16 01:21:51 +00:00
|
|
|
</div>
|
2018-08-17 02:45:59 +00:00
|
|
|
<!--
|
2016-12-27 02:45:04 +00:00
|
|
|
<div class="twitbtn">
|
2018-08-17 02:45:59 +00:00
|
|
|
<a target="_new" href="https://twitter.com/8bitworkshop" class="twitter-follow-button" data-show-count="false">Follow @8bitworkshop</a>-->
|
2018-05-25 21:14:43 +00:00
|
|
|
<!--<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>-->
|
2018-08-17 02:45:59 +00:00
|
|
|
<!--</div>-->
|
2017-05-25 19:49:30 +00:00
|
|
|
<div id="pleaseWaitModal" class="modal fade">
|
2019-05-14 13:38:11 +00:00
|
|
|
<div class="modal-dialog modal-md" role="document">
|
2017-05-25 19:49:30 +00:00
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-body">
|
|
|
|
Please wait...
|
2019-05-07 19:37:37 +00:00
|
|
|
<div class="progress">
|
|
|
|
<div class="progress-bar progress-bar-striped active" role="progressbar" id="pleaseWaitProgressBar">
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-05-25 19:49:30 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-05-20 19:13:23 +00:00
|
|
|
<div id="videoPreviewModal" class="modal fade">
|
2019-05-18 22:33:38 +00:00
|
|
|
<div class="modal-dialog modal-lg" role="document">
|
2017-05-20 19:13:23 +00:00
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h3 class="modal-title">Video Preview - Right-click to save</h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<img id="videoPreviewImage">
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-08-24 03:58:35 +00:00
|
|
|
<div id="embedLinkModal" class="modal fade">
|
|
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h3 class="modal-title">Share Playable Link</h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<p>Here's a direct link to a playable version of your game:</p>
|
|
|
|
<textarea rows="4" cols="80" id="embedLinkTextarea" class="cliptext"></textarea>
|
|
|
|
<button type="button" class="btn btn-primary" data-clipboard-target="#embedLinkTextarea">Copy Direct Link</button>
|
|
|
|
<p>You can also embed it into an IFRAME:</p>
|
|
|
|
<textarea rows="4" cols="80" id="embedIframeTextarea" class="cliptext"></textarea>
|
|
|
|
<button type="button" class="btn btn-primary" data-clipboard-target="#embedIframeTextarea">Copy IFRAME Tag</button>
|
2018-08-25 02:55:16 +00:00
|
|
|
<p id="embedAdviceWarnIE">Note: These links may be too long for IE/Edge browsers.</p>
|
|
|
|
<p id="embedAdviceWarnAll">Note: These links may be too long for some browsers.</p>
|
2018-08-24 03:58:35 +00:00
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
Choose one (or none) then
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-05-14 13:38:11 +00:00
|
|
|
<div id="debugExprModal" class="modal fade">
|
|
|
|
<div class="modal-dialog modal-md" role="document">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h3 class="modal-title">Break Expression</h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<p>Enter a break expression:</p>
|
|
|
|
<p><input id="debugExprInput" size="60"></input></p>
|
|
|
|
<p>Examples:</p>
|
|
|
|
<pre id="debugExprExamples"></pre>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-primary" id="debugExprSubmit">Debug</button>
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-05-06 01:49:08 +00:00
|
|
|
<div id="importGithubModal" class="modal fade">
|
2019-05-14 13:38:11 +00:00
|
|
|
<div class="modal-dialog modal-md" role="document">
|
2019-03-03 20:37:22 +00:00
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
2019-05-06 01:49:08 +00:00
|
|
|
<h3 class="modal-title">Import Project from GitHub</h3>
|
2019-03-03 20:37:22 +00:00
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
2019-05-06 01:49:08 +00:00
|
|
|
<p>Enter the GitHub repository URL:</p>
|
|
|
|
<p><input id="importGithubURL" size="60" placeholder="https://github.com/user/repo"></input></p>
|
2019-05-10 18:28:09 +00:00
|
|
|
<p>If the project is compatible with 8bitworkshop, it should build automatically.</p>
|
2019-05-22 01:39:37 +00:00
|
|
|
<p>Otherwise, some work may be required -- make sure you've selected the correct platform.</p>
|
2019-05-20 19:21:38 +00:00
|
|
|
<p>Source files must be in the root folder of the repository.</p>
|
2019-05-06 01:49:08 +00:00
|
|
|
<p><button type="button" class="btn btn-primary" id="importGithubButton">Import Project</button></p>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-05-07 19:37:37 +00:00
|
|
|
<div id="publishGithubModal" class="modal fade">
|
2019-05-14 13:38:11 +00:00
|
|
|
<div class="modal-dialog modal-md" role="document">
|
2019-05-06 01:49:08 +00:00
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h3 class="modal-title">Publish Project on GitHub</h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
2019-05-16 17:04:27 +00:00
|
|
|
<p>This will migrate your existing project to a new GitHub repository.</p>
|
|
|
|
<p>https://github.com/username/ <input id="githubRepoName" size="35" placeholder="Enter a project name"></input></p>
|
|
|
|
<p><input id="githubRepoDesc" size="60" placeholder="Enter a project description"></input></p>
|
2019-05-07 19:37:37 +00:00
|
|
|
<p>Your repository will be <select id="githubRepoPrivate">
|
|
|
|
<option value="public">Public</option>
|
|
|
|
<option value="private">Private</option>
|
|
|
|
</select></p>
|
|
|
|
<p>License: <select id="githubRepoLicense">
|
2019-05-21 19:41:17 +00:00
|
|
|
<option value="">Will decide later / all rights reserved</option>
|
|
|
|
<option value="cc0-1.0">CC Zero (public domain, remix-friendly)</option>
|
2019-05-20 15:38:27 +00:00
|
|
|
<option value="mit">MIT (must preserve notices)</option>
|
2019-05-07 19:37:37 +00:00
|
|
|
<option value="cc-by-4.0">CC BY (must attribute)</option>
|
|
|
|
<option value="cc-by-sa-4.0">CC BY-SA (must attribute, use same license)</option>
|
|
|
|
<option value="gpl-3.0">GPL v3 (must publish source)</option>
|
|
|
|
</select></p>
|
|
|
|
<p><button type="button" class="btn btn-primary" id="publishGithubButton">Upload Project</button></p>
|
2019-05-06 01:49:08 +00:00
|
|
|
<p>Your existing file will be moved to a new folder in the IDE.</p>
|
2019-03-03 20:37:22 +00:00
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-05-07 19:37:37 +00:00
|
|
|
<div id="pushGithubModal" class="modal fade">
|
2019-05-14 13:38:11 +00:00
|
|
|
<div class="modal-dialog modal-md" role="document">
|
2019-05-07 19:37:37 +00:00
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
|
|
<h3 class="modal-title">Push Project Changes to GitHub</h3>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<p><input id="githubCommitMsg" size="50" placeholder="Enter a commit message"></input></p>
|
|
|
|
<p><button type="button" class="btn btn-primary" id="pushGithubButton">Push Changes</button></p>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-05-20 19:13:23 +00:00
|
|
|
|
2020-07-16 19:47:28 +00:00
|
|
|
<script src="jquery/jquery.min.js"></script>
|
2016-12-16 01:21:51 +00:00
|
|
|
|
2016-12-30 23:51:15 +00:00
|
|
|
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
|
|
|
|
<script src="bootstrap/js/bootstrap.min.js"></script>
|
2019-05-12 13:52:09 +00:00
|
|
|
<script src="bootstrap/js/bootbox.all.min.js"></script>
|
2016-12-18 20:59:31 +00:00
|
|
|
|
2018-07-20 20:55:07 +00:00
|
|
|
<script src="src/codemirror/codemirror.js"></script>
|
2017-01-16 04:47:12 +00:00
|
|
|
<script src="codemirror/mode/clike/clike.js"></script>
|
|
|
|
<script src="codemirror/mode/z80/z80.js"></script>
|
2017-11-11 19:45:32 +00:00
|
|
|
<script src="codemirror/mode/verilog/verilog.js"></script>
|
2018-11-21 16:53:33 +00:00
|
|
|
<script src="codemirror/mode/markdown/markdown.js"></script>
|
2019-09-29 18:41:29 +00:00
|
|
|
<script src="codemirror/mode/javascript/javascript.js"></script>
|
2020-06-14 01:28:58 +00:00
|
|
|
<script src="codemirror/mode/gas/gas.js"></script>
|
2018-11-21 16:53:33 +00:00
|
|
|
<script src="src/codemirror/6502.js"></script>
|
|
|
|
<script src="src/codemirror/bataribasic.js"></script>
|
2020-07-06 23:53:20 +00:00
|
|
|
<script src="src/codemirror/inform6.js"></script>
|
2020-07-29 00:14:42 +00:00
|
|
|
<script src="src/codemirror/fastbasic.js"></script>
|
2020-08-05 04:48:29 +00:00
|
|
|
<script src="src/codemirror/basic.js"></script>
|
2021-03-04 16:22:12 +00:00
|
|
|
<script src="src/codemirror/wiz.js"></script>
|
2016-12-16 01:21:51 +00:00
|
|
|
<link rel="stylesheet" href="css/codemirror.css">
|
2017-01-16 04:47:12 +00:00
|
|
|
<script src="codemirror/addon/edit/matchbrackets.js"></script>
|
2016-12-16 01:21:51 +00:00
|
|
|
<script src="codemirror/addon/search/search.js"></script>
|
|
|
|
<script src="codemirror/addon/search/searchcursor.js"></script>
|
2017-11-20 01:32:58 +00:00
|
|
|
<script src="codemirror/addon/search/jump-to-line.js"></script>
|
2016-12-16 01:21:51 +00:00
|
|
|
<script src="codemirror/addon/dialog/dialog.js"></script>
|
2017-01-08 15:51:19 +00:00
|
|
|
<script src="codemirror/addon/selection/active-line.js"></script>
|
2016-12-16 01:21:51 +00:00
|
|
|
<link rel="stylesheet" href="codemirror/addon/dialog/dialog.css">
|
|
|
|
<script src="javatari.js/release/javatari/javatari.js"></script>
|
2019-04-03 20:40:16 +00:00
|
|
|
<script src="jsnes/dist/jsnes.min.js"></script>
|
2019-12-07 21:19:24 +00:00
|
|
|
<script src="src/common/cpu/6809.js"></script>
|
2018-09-12 02:28:30 +00:00
|
|
|
<script src="lib/mousetrap.min.js"></script>
|
2018-09-13 00:54:25 +00:00
|
|
|
<script src="lib/mousetrap-global-bind.min.js"></script>
|
2019-08-22 14:30:33 +00:00
|
|
|
<!-- UI-only stuff -->
|
2020-08-01 17:35:27 +00:00
|
|
|
<link rel="stylesheet" href="lib/bootstrap-tourist.css">
|
|
|
|
<script src="lib/bootstrap-tourist.js"></script>
|
|
|
|
<script src="lib/FileSaver.min.js"></script>
|
|
|
|
<script src="lib/localforage.min.js"></script>
|
2018-09-12 02:28:30 +00:00
|
|
|
<script src="lib/split.min.js"></script>
|
2017-02-02 19:11:52 +00:00
|
|
|
|
2018-07-08 03:10:51 +00:00
|
|
|
<script>
|
|
|
|
var exports = {};
|
|
|
|
function require(modname) {
|
|
|
|
if (modname == 'jquery') return $;
|
|
|
|
else if (modname.startsWith('.')) return exports;
|
|
|
|
else { console.log("Unknown require()", modname); return exports; }
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
2019-05-08 13:39:57 +00:00
|
|
|
<script src="lib/octokat.js"></script>
|
2018-07-08 03:10:51 +00:00
|
|
|
<script src="tss/js/tss/PsgDeviceChannel.js"></script>
|
|
|
|
<script src="tss/js/tss/MasterChannel.js"></script>
|
|
|
|
<script src="tss/js/tss/AudioLooper.js"></script>
|
|
|
|
<script src="tss/js/Log.js"></script>
|
|
|
|
|
2019-10-26 01:55:50 +00:00
|
|
|
<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="gen/common/devices.js"></script>
|
|
|
|
<script src="gen/common/cpu/MOS6502.js"></script>
|
|
|
|
<script src="gen/common/cpu/ZilogZ80.js"></script>
|
2019-08-25 16:15:22 +00:00
|
|
|
<script src="gen/machine/vdp_z80.js"></script>
|
2017-01-25 17:30:05 +00:00
|
|
|
|
2018-11-26 12:33:09 +00:00
|
|
|
<script>
|
|
|
|
// submenus open on click + hover
|
|
|
|
$( ".dropdown-submenu" ).click(function(event) {
|
|
|
|
event.stopPropagation();
|
|
|
|
$(this).parent().siblings().removeClass('open');
|
|
|
|
$(this).parent().toggleClass('open');
|
|
|
|
});
|
|
|
|
</script>
|
2018-08-28 22:11:22 +00:00
|
|
|
|
2017-01-14 16:14:25 +00:00
|
|
|
<script>
|
2019-12-18 01:30:42 +00:00
|
|
|
startUI();
|
2017-01-14 16:14:25 +00:00
|
|
|
</script>
|
2016-12-16 01:21:51 +00:00
|
|
|
|
2020-10-08 16:13:05 +00:00
|
|
|
<!-- Sentry error reporting -->
|
|
|
|
<script
|
2021-05-21 17:00:30 +00:00
|
|
|
src="https://browser.sentry-cdn.com/6.4.1/bundle.min.js"
|
|
|
|
integrity="sha384-THoc7rflwZFKTdZNgv6jLFFDn299Uv3t1SW5B4yGLvLiCRTYP9ys6vXZcMl95TQF"
|
2020-10-08 16:13:05 +00:00
|
|
|
crossorigin="anonymous"
|
|
|
|
></script>
|
|
|
|
<script>
|
|
|
|
Sentry.init({
|
|
|
|
dsn: 'https://bf329df3d1b34afa9f5b5e8ecd80ad11@o320878.ingest.sentry.io/1813925',
|
|
|
|
beforeBreadcrumb(breadcrumb, hint) {
|
|
|
|
if (breadcrumb.category === 'xhr' && typeof breadcrumb.data.url === 'string') {
|
|
|
|
if (breadcrumb.data.url.startsWith('http')) return null; // discard external scripts
|
|
|
|
}
|
|
|
|
return breadcrumb;
|
|
|
|
},
|
|
|
|
beforeSend(event, hint) {
|
|
|
|
const error = hint.originalException;
|
|
|
|
if (error instanceof EmuHalt) return null; // ignore EmuHalt
|
|
|
|
return event;
|
|
|
|
},
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
2016-12-16 01:21:51 +00:00
|
|
|
</body>
|
|
|
|
</html>
|