mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-12-27 14:29:39 +00:00
341 lines
12 KiB
HTML
341 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>8bitworkshop</title>
|
|
<style type="text/css" media="screen">
|
|
body {
|
|
overflow: hidden !important;
|
|
font-size: 11px;
|
|
}
|
|
.dbg_info {
|
|
font-size: 0.8em;
|
|
}
|
|
.gutter-offset {
|
|
width: 3em;
|
|
}
|
|
.gutter-bytes {
|
|
width: 6em;
|
|
}
|
|
.gutter-clock {
|
|
width: 0.5em;
|
|
}
|
|
.gutter-info {
|
|
width: 1em;
|
|
}
|
|
.tooltipbox {
|
|
position: relative;
|
|
display: inline-block;
|
|
border-bottom: 1px dotted black;
|
|
}
|
|
.tooltipbox .tooltiptext {
|
|
visibility: hidden;
|
|
width: 120px;
|
|
background-color: black;
|
|
color: #fff;
|
|
text-align: center;
|
|
border-radius: 6px;
|
|
padding: 5px 0;
|
|
|
|
/* Position the tooltip */
|
|
position: absolute;
|
|
z-index: 10;
|
|
}
|
|
.tooltipbox:hover .tooltiptext {
|
|
visibility: visible;
|
|
}
|
|
#controls_top {
|
|
position: absolute;
|
|
padding: 0.5em;
|
|
height:3em;
|
|
width:100%;
|
|
background-color:#999;
|
|
}
|
|
#notebook {
|
|
position:absolute;
|
|
top:3em;
|
|
bottom:0;
|
|
left:0;
|
|
right:0;
|
|
background-color: #666;
|
|
}
|
|
div.editor {
|
|
position:absolute;
|
|
left:0;
|
|
top:0;
|
|
bottom:0;
|
|
right:0;
|
|
width:50%;
|
|
height:95vh;
|
|
background-color:#999;
|
|
line-height:1.25;
|
|
font-size:12pt;
|
|
}
|
|
div.emulator {
|
|
position:absolute;
|
|
left:50%;
|
|
top:0;
|
|
width:50%;
|
|
overflow-y: scroll;
|
|
background-color: #666;
|
|
margin-top: 20px auto 0;
|
|
}
|
|
div.mem_info {
|
|
position: fixed;
|
|
left: 51%;
|
|
bottom: 10px;
|
|
background-color: #333;
|
|
color: #66ff66;
|
|
white-space: pre;
|
|
padding: 20px;
|
|
z-index: 2;
|
|
font-family: "Andale Mono", "Menlo", "Lucida Console", monospace;
|
|
font-size: 12pt;
|
|
}
|
|
span.hilite {
|
|
color: #ff66ff;
|
|
}
|
|
div.has-errors {
|
|
background-color: #ff6666 !important;
|
|
}
|
|
div.menu_div {
|
|
position: absolute;
|
|
width: 200px;
|
|
}
|
|
div.booklink {
|
|
position: fixed;
|
|
bottom: 0;
|
|
right: 0;
|
|
padding: 6px;
|
|
background-color: #ffffff;
|
|
display:none;
|
|
}
|
|
div.twitbtn {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 50%;
|
|
padding: 6px;
|
|
}
|
|
a {
|
|
color:#333399;
|
|
font-weight: bold;
|
|
}
|
|
a.dropdown-toggle {
|
|
color:#66ee66;
|
|
padding:3px;
|
|
}
|
|
// http://stackoverflow.com/questions/18023493/bootstrap-3-dropdown-sub-menu-missing
|
|
.dropdown-submenu {
|
|
position:relative;
|
|
}
|
|
.dropdown-submenu>.dropdown-menu {
|
|
top:0;
|
|
left:100%;
|
|
margin-top:-6px;
|
|
margin-left:-1px;
|
|
-webkit-border-radius:0 6px 6px 6px;
|
|
-moz-border-radius:0 6px 6px 6px;
|
|
border-radius:0 6px 6px 6px;
|
|
}
|
|
.dropdown-submenu:hover>.dropdown-menu {
|
|
display:block;
|
|
}
|
|
.dropdown-submenu>a:after {
|
|
display:block;
|
|
content:" ";
|
|
float:right;
|
|
width:0;
|
|
height:0;
|
|
border-color:transparent;
|
|
border-style:solid;
|
|
border-width:5px 0 5px 5px;
|
|
border-left-color:#cccccc;
|
|
margin-top:5px;
|
|
margin-right:-10px;
|
|
}
|
|
.dropdown-submenu:hover>a:after {
|
|
border-left-color:#ffffff;
|
|
}
|
|
.dropdown-submenu.pull-left {
|
|
float:none;
|
|
}
|
|
.dropdown-submenu.pull-left>.dropdown-menu {
|
|
left:-100%;
|
|
margin-left:10px;
|
|
-webkit-border-radius:6px 0 6px 6px;
|
|
-moz-border-radius:6px 0 6px 6px;
|
|
border-radius:6px 0 6px 6px;
|
|
}
|
|
canvas.pixelated {
|
|
image-rendering: optimizeSpeed; /* Older versions of FF */
|
|
image-rendering: -moz-crisp-edges; /* FF 6.0+ */
|
|
image-rendering: -webkit-optimize-contrast; /* Safari */
|
|
image-rendering: -o-crisp-edges; /* OS X & Windows Opera (12.02+) */
|
|
image-rendering: pixelated; /* Awesome future-browsers */
|
|
-ms-interpolation-mode: nearest-neighbor; /* IE */
|
|
}
|
|
div.bitmap_editor {
|
|
position: fixed;
|
|
left: 2%;
|
|
width: 46%;
|
|
top: 10%;
|
|
bottom: 10%;
|
|
background-color: #333;
|
|
border-color: #fff;
|
|
border-style: ridge;
|
|
border-radius: 16px;
|
|
color: #66ff66;
|
|
white-space: pre;
|
|
padding: 20px;
|
|
z-index: 9;
|
|
font-family: "Andale Mono", "Menlo", "Lucida Console", monospace;
|
|
font-size: 12pt;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="controls_top">
|
|
<span class="dropdown">
|
|
<a class="btn btn-secondary dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
☰ <span class="caret"></span>
|
|
</a>
|
|
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<li><a class="dropdown-item" href="#" id="item_new_file">New File...</a></li>
|
|
<li><a class="dropdown-item" href="#" id="item_share_file">Share File as GitHub Gist...</a></li>
|
|
<li><a class="dropdown-item" href="#" id="item_reset_file">Revert to Original...</a></li>
|
|
<li><a class="dropdown-item" href="#" id="item_download_rom">Download ROM Image...</a></li>
|
|
<li class="dropdown dropdown-submenu">
|
|
<a tabindex="-1" href="#">Platform</a>
|
|
<ul class="dropdown-menu">
|
|
<li><a class="dropdown-item" href="?platform=vcs" id="item_platform_vcs">Atari VCS</a></li>
|
|
<!--<li><a class="dropdown-item" href="?platform=apple2" id="item_platform_apple2">Apple ][</a></li>-->
|
|
<li><a class="dropdown-item" href="?platform=mw8080bw" id="item_platform_mw8080bw">Midway 8080 B&W</a></li>
|
|
<li><a class="dropdown-item" href="?platform=vicdual" id="item_platform_vicdual">VIC Dual</a></li>
|
|
<li><a class="dropdown-item" href="?platform=galaxian-scramble" id="item_platform_galaxian_scramble">Galaxian/Scramble</a></li>
|
|
<li><a class="dropdown-item" href="?platform=vector-z80color" id="item_platform_vector_z80color">Atari Color Vector (Z80)</a></li>
|
|
<li><a class="dropdown-item" href="?platform=williams-z80" id="item_platform_williams_z80">Williams (Z80)</a></li>
|
|
<li><a class="dropdown-item" href="?platform=sound_williams-z80" id="item_platform_sound_williams_z80">Williams Sound (Z80)</a></li>
|
|
</ul>
|
|
</li>
|
|
<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>
|
|
</li>
|
|
</ul>
|
|
</span>
|
|
<select id="preset_select" name="">
|
|
</select>
|
|
<span id="debug_bar">
|
|
<button id="dbg_reset" type="submit" title="Reset and Break"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
|
|
<button id="dbg_pause" type="button" title="Pause"><span class="glyphicon glyphicon-pause" aria-hidden="true"></span></button>
|
|
<button id="dbg_go" type="button" title="Run"><span class="glyphicon glyphicon-play" aria-hidden="true"></span></button>
|
|
<button id="dbg_step" type="submit" title="Step"><span class="glyphicon glyphicon-step-forward" aria-hidden="true"></span></button>
|
|
<button id="dbg_toline" type="submit" title="Run To Line"><span class="glyphicon glyphicon-save" aria-hidden="true"></span></button>
|
|
<button id="dbg_stepout" type="submit" title="Step Out of Subroutine"><span class="glyphicon glyphicon-hand-up" aria-hidden="true"></span></button>
|
|
<button id="dbg_stepback" type="submit" title="Step Backwards"><span class="glyphicon glyphicon-step-backward" aria-hidden="true"></span></button>
|
|
<button id="dbg_timing" type="submit" title="See Timing" style="display:none"><span class="glyphicon glyphicon-time" aria-hidden="true"></span></button>
|
|
<button id="dbg_disasm" type="submit" title="Toggle Disassembly" style="display:none"><span class="glyphicon glyphicon-list" aria-hidden="true"></span></button>
|
|
</span>
|
|
<span class="dbg_info" id="dbg_info"></span>
|
|
</div>
|
|
<div id="notebook">
|
|
<div id="editor_window">
|
|
<div id="disassembly" class="editor">
|
|
</div>
|
|
<div id="editor" class="editor">
|
|
</div>
|
|
</div>
|
|
<div class="emulator" id="emulator">
|
|
<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 id="mem_info" class="mem_info" style="display:none">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="twitbtn">
|
|
<a href="https://twitter.com/8bitworkshop" class="twitter-follow-button" data-show-count="false">Follow @8bitworkshop</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|
|
</div>
|
|
<div class="booklink" id="booklink_vcs">
|
|
<!--
|
|
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"
|
|
src="http://ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=US&source=ac&ref=tf_til&ad_type=product_link&tracking_id=pzp-20&marketplace=amazon®ion=US&placement=B01N4DSRIZ&asins=B01N4DSRIZ&linkId=67b114b83ce0b13ceaf715ee86833626&show_border=true&link_opens_in_new_window=false&price_color=333333&title_color=0066c0&bg_color=7d6d6d">
|
|
</iframe>
|
|
-->
|
|
<a target="_new" 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">
|
|
<img src="https://images-na.ssl-images-amazon.com/images/I/5153Bd8oWeL._AC_AC_SR98,95_.jpg" style="float:right"/></a>
|
|
Want to learn more?<br>
|
|
Get the new book<br>
|
|
<a target="_new" 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">
|
|
Making Games For The Atari 2600</a>
|
|
</div>
|
|
|
|
<div class="bitmap_editor" style="display:none">
|
|
PC: $<span id="bitmap_editor_pc">0000</span>
|
|
X: <span id="bitmap_editor_x">0</span>
|
|
Y: <span id="bitmap_editor_y">0</span>
|
|
Dest: $<span id="bitmap_editor_dest">0000/0</span>
|
|
<canvas width="32" height="32" id="bitmap_editor_canvas"/>
|
|
</div>
|
|
|
|
<script src="jquery/jquery-2.2.3.min.js"></script>
|
|
|
|
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
|
|
<script src="bootstrap/js/bootstrap.min.js"></script>
|
|
<link rel="stylesheet" href="bootstrap/css/bootstrap-tour.min.css">
|
|
<script src="bootstrap/js/bootstrap-tour.min.js"></script>
|
|
|
|
<script src="codemirror/lib/codemirror.js"></script>
|
|
<script src="codemirror/mode/clike/clike.js"></script>
|
|
<script src="codemirror/mode/6502/6502.js"></script>
|
|
<script src="codemirror/mode/z80/z80.js"></script>
|
|
<link rel="stylesheet" href="css/codemirror.css">
|
|
<script src="codemirror/addon/edit/matchbrackets.js"></script>
|
|
<script src="codemirror/addon/search/search.js"></script>
|
|
<script src="codemirror/addon/search/searchcursor.js"></script>
|
|
<script src="codemirror/addon/search/jumpToLine.js"></script>
|
|
<script src="codemirror/addon/dialog/dialog.js"></script>
|
|
<script src="codemirror/addon/selection/active-line.js"></script>
|
|
<link rel="stylesheet" href="codemirror/addon/dialog/dialog.css">
|
|
|
|
<script src="javatari.js/release/javatari/javatari.js"></script>
|
|
<script src="src/cpu/z80.js"></script>
|
|
<script src="src/cpu/6809.js"></script>
|
|
|
|
<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>
|
|
|
|
<script src="local/williams/defender.js"></script>
|
|
<script src="local/williams/robotron.js"></script>
|
|
<script src="local/atarivec/gravitar/gravitar.js"></script>
|
|
|
|
<script src="FileSaver.js/FileSaver.min.js"></script>
|
|
<script src="octokat.js/dist/octokat.js"></script>
|
|
|
|
<script src="src/emu.js"></script>
|
|
<script src="src/audio.js"></script>
|
|
<script src="src/util.js"></script>
|
|
<script src="src/disasm.js"></script>
|
|
<script src="src/ui.js"></script>
|
|
<script src="src/audio/votrax.js"></script>
|
|
|
|
<script>
|
|
showWelcomeMessage();
|
|
startUI(true);
|
|
</script>
|
|
|
|
</body>
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-54497476-9', 'auto');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
</html>
|