2010-09-18 16:56:48 +00:00
<!DOCTYPE html>
< head >
2010-09-18 23:59:41 +00:00
< title > Visual 6502 in JavaScript< / title >
2010-09-18 16:56:48 +00:00
< style type = "text/css" > @ import "wires.css" ; < / style >
< script src = "segdefs.js" > < / script >
< script src = "transdefs.js" > < / script >
< script src = "nodenames.js" > < / script >
< script src = "wires.js" > < / script >
< script src = "chipsim.js" > < / script >
< script src = "memtable.js" > < / script >
< script src = "macros.js" > < / script >
2010-09-20 12:37:15 +00:00
< script type = "text/javascript" >
function handleOnload() {
2010-09-20 13:09:15 +00:00
if((navigator.appName == 'Microsoft Internet Explorer') & & (parseInt(navigator.appVersion,10)< 9 ) ) {
2010-09-20 12:37:15 +00:00
document.getElementById('browsertrouble').innerHTML=
'< 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 > ';
2010-09-20 13:09:15 +00:00
}else{
setTimeout(setup,200);
2010-09-20 12:37:15 +00:00
}
}
< / script >
2010-09-18 16:56:48 +00:00
< / head >
2010-09-20 12:37:15 +00:00
< body onload = "handleOnload();" >
2010-09-18 17:46:24 +00:00
< br / >
2010-09-18 23:59:41 +00:00
< span id = "title" > < a href = "http://visual6502.org" > The Visual 6502< / a > < / span >
2010-09-18 17:46:24 +00:00
< span id = "plain" >
2010-09-18 23:59:41 +00:00
< br / >
< a href = "http://www.visual6502.org/faq.html" > FAQ< / a >
< a href = "http://blog.visual6502.org" > Blog< / a >
< a href = "http://www.visual6502.org/links.html" > Links< / a > & nbsp
< br / > < br / >
2010-09-20 12:37:15 +00:00
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 >
2010-09-18 17:46:24 +00:00
< br / >
2010-09-20 12:37:15 +00:00
< span id = "browsertrouble" > < / span >
2010-09-18 17:46:24 +00:00
< br / >
Hit '>' to zoom in, '< ' to zoom out
< br / >
Right-click to scroll around
< br / >
Enter your own program into the array of RAM
< br / >
< br / >
< / span >
2010-09-18 16:56:48 +00:00
< div class = "frame" id = "frame" >
2010-09-20 12:37:15 +00:00
< div class = "chip" id = "chip" >
2010-09-18 16:56:48 +00:00
< 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 >
< div class = "buttons" >
2010-09-18 17:46:24 +00:00
< 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 >
< 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 >
2010-09-18 16:56:48 +00:00
< / div >
< p class = "status" id = "status" > x: 0< br > y: 0< / p >
< table class = "memtable" id = "memtable" > < / table >
< / div >
2010-09-18 17:46:24 +00:00
< div id = "updateShow" > Show:
< input type = "checkbox" name = "0" id = "updateShow0" onchange = "updateShow(this.name,this.checked)" / > (metal)
2010-09-18 23:59:41 +00:00
< input type = "checkbox" name = "1" id = "updateShow1" onchange = "updateShow(this.name,this.checked)" / > (switched diffusion)
< input type = "checkbox" name = "3" id = "updateShow3" onchange = "updateShow(this.name,this.checked)" / > (grounded diffusion)
< input type = "checkbox" name = "4" id = "updateShow4" onchange = "updateShow(this.name,this.checked)" / > (powered diffusion)
< input type = "checkbox" name = "5" id = "updateShow5" onchange = "updateShow(this.name,this.checked)" / > (polysilicon)
2010-09-18 17:46:24 +00:00
< input type = "checkbox" name = "2" id = "updateShow2" onchange = "updateShow(this.name,this.checked)" / > (diode)
< / div >
< br / >
< br / >
In addition to this JavaScript project, see our < a href = "../python6502.html" > Python-based simulator< / a > which may be easier to customize, verify, and apply to the study of long programs.< br / >
< br / >
2010-09-18 16:56:48 +00:00
< / body >
< / html >