121 lines
4.2 KiB
Raw Normal View History

<!DOCTYPE html>
<title>Visual 6502 in JavaScript</title>
<!-- by default, index.html will run in kiosk mode -->
<style type="text/css">@import "kiosk.css";</style>
<script src="segdefs.js"></script>
<script src="transdefs.js"></script>
<script src="nodenames.js"></script>
<script src="kioskWires.js"></script>
<script src="wires.js"></script>
<script src="chipsim.js"></script>
<script src="memtable.js"></script>
<script src="macros.js"></script>
<script src="testprogram.js"></script>
<script type="text/javascript">
function handleOnload() {
// two checks and fixes here:
// - replace the dynamic content with an image if running older versions of IE
// - redirect to the expert page if we find any query parameters
/MSIE (\d+\.\d+);/.test(navigator.appVersion);
if((navigator.appName == 'Microsoft Internet Explorer') && (IEVersion<9)){
'<p>Sorry, '+navigator.appName+' not supported - showing you a picture instead!</p>';
document.getElementById('frame').innerHTML='<a href="browsertrouble.html"><img src="images/jssim2.png" style="border:10px"></a>';
var path=location.pathname;
// ensure we always have a trailing slash
if (suffix != "") {
// redirect to the expert page
var prefix=location.protocol+"//";
} else {
// normal case: start the simulator
<body onload="handleOnload();">
<br />
<span id="title"><a href="">The Visual 6502</a></span>
<span id="plain">
<br />
<a href="">FAQ</a>&nbsp;
<a href="">Blog</a>&nbsp;
<a href="">Links</a>&nbsp
<br /><br />
This simulator uses HTML5 features only found on the latest versions of browsers and needs
lots of RAM. If you have trouble, please <a href="browsertrouble.html">check compatibility.</a>
<br />
<span id="browsertrouble"></span>
<br />
2011-04-01 11:59:22 +00:00
Keyboard controls: 'z' to zoom in, 'x' to zoom out, 'n' to step the simulation.
<br />
2011-04-01 11:59:22 +00:00
Mouse controls: Left-click and drag to scroll around (when you're zoomed in.)
<br />
2011-04-01 11:59:22 +00:00
More information in the <a href="">User Guide<a>.
<br />
<br />
<div class="frame" id="frame">
<div class="chip" id="chip">
<canvas class="chip" id="chipbg"></canvas>
<canvas class="chip" id="overlay"></canvas>
<canvas class="chip" id="hilite"></canvas>
<canvas class="chip" id="hitbuffer"></canvas>
<div class = "buttons">
<div style="position:relative; float:left;">
<a href ="javascript:stopChip()"id="stop"><img class="navstop" src="images/stop.png"></a>
<a href ="javascript:runChip()" id="start"><img class="navplay" src="images/play.png"></a>
<div style="float:left;">
<a href ="javascript:resetChip()"><img class="navbutton" src="images/up.png"></a>
<a href ="javascript:stepBack()"><img class="navbutton" src="images/prev.png"></a>
<a href ="javascript:stepForward()"><img class="navbutton" src="images/next.png"></a>
<div style="float:right; margin-left:20px;">... or try <a href="expert.html">Advanced</a></div>
<p class="status" id="status">x: 0<br>y: 0</p>
<table class="memtable" id="memtable"></table>
<div id="updateShow">
<br />
<br />
Source code is available on <a href="">github visual6502</a>.
Use the online <a href="">emulator and assembler</a> from
and <a href="">disassembler</a> from
<br />
For in-depth 6502 investigation and some more advanced features, try our <a href="expert.html">Advanced</a> page.
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9008420149077488";
/* 728x90, created 9/22/10 */
google_ad_slot = "4303982675";
google_ad_width = 728;
google_ad_height = 90;
<script type="text/javascript"