2018-09-12 02:28:30 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< title > 8bitworkshop IDE< / title >
< style type = "text/css" media = "screen" >
body {
overflow: hidden !important;
font-size: 11px;
}
.waverow {
background: #000;
color: #99ff99;
}
< / style >
< link rel = "stylesheet" href = "css/ui.css" >
< / 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" title = "Menu" >
< span class = "glyphicon glyphicon-menu-hamburger" aria-hidden = "true" > < / span > < / button >
< span class = "caret" > < / span >
< / a >
< / span >
< select id = "preset_select" name = "" title = "Project Select" >
< / select >
< span class = "dropdown" >
< a class = "btn btn-secondary dropdown-toggle" id = "windowMenuButton" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" title = "Window Select" >
< span class = "glyphicon glyphicon-folder-open" aria-hidden = "true" > < / span > < / button >
< span class = "caret" > < / span >
< / a >
< ul class = "dropdown-menu" aria-labelledby = "windowMenuButton" id = "windowMenuList" >
< / ul >
< / span >
< img id = "compile_spinner" src = "images/spinner.gif" height = "20em" style = "visibility:hidden;margin-left:8px;margin-right:8px" >
< span class = "dropdown" style = "float:right" >
< a class = "btn btn-secondary dropdown-toggle" id = "booksMenuButton" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
GET BOOKS < span class = "caret" > < / span >
< / a >
< / span >
2018-09-13 00:54:25 +00:00
2018-09-12 02:28:30 +00:00
< / div >
< div id = "notebook" >
< div id = "workspace" >
< / div >
2018-11-23 18:29:11 +00:00
< div class = "emulator" id = "emulator" style = "width:100%" >
2018-09-12 02:28:30 +00:00
< div class = "emuoverlay" id = "emuoverlay" >
2018-09-13 00:54:25 +00:00
< span class = "btn-group" role = "group" >
< button type = "button" class = "btn btn-xs" onclick = "this.blur();" title = "Go to start of trace" > < span class = "glyphicon glyphicon-fast-backward" aria-hidden = "true" > < / span > < / button >
< button type = "button" class = "btn btn-xs" onclick = "this.blur();" title = "Go backward" > < span class = "glyphicon glyphicon-backward" aria-hidden = "true" > < / span > < / button >
< button type = "button" class = "btn btn-xs" onclick = "this.blur();" title = "Go forward" > < span class = "glyphicon glyphicon-forward" aria-hidden = "true" > < / span > < / button >
< button type = "button" class = "btn btn-xs" onclick = "this.blur();" title = "Go to end of trace" > < span class = "glyphicon glyphicon-fast-forward" aria-hidden = "true" > < / span > < / button >
< button type = "button" class = "btn btn-xs" onclick = "this.blur();" title = "Zoom out" > < span class = "glyphicon glyphicon-zoom-out" aria-hidden = "true" > < / span > < / button >
< button type = "button" class = "btn btn-xs" onclick = "this.blur();" title = "Zoom in" > < span class = "glyphicon glyphicon-zoom-in" aria-hidden = "true" > < / span > < / button >
< / span >
2018-09-12 02:28:30 +00:00
< div id = "scope" class = "emuscope" >
< / div >
< div id = "scope2" class = "emuscope" >
< / div >
< / div >
< / div >
< div id = "error_alert" class = "alert alert-danger alert-dismissable" style = "position:absolute;right:0;top:0;display:none" >
<!-- <button type="button" class="close" data - dismiss="alert" aria - hidden="true">×</button> -->
< div id = "error_alert_msg" > < / div >
< / div >
< / div >
2018-11-21 20:58:44 +00:00
< script src = "jquery/jquery-3.3.1.min.js" > < / script >
2018-09-12 02:28:30 +00:00
< link rel = "stylesheet" href = "bootstrap/css/bootstrap.min.css" >
< script src = "bootstrap/js/bootstrap.min.js" > < / script >
< script src = "lib/mousetrap.min.js" > < / script >
< script src = "lib/split.min.js" > < / script >
< 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 >
< 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 = "gen/util.js" > < / script >
< script src = "src/vlist.js" > < / script >
< script src = "gen/emu.js" > < / script >
< script src = "gen/baseplatform.js" > < / script >
< script src = "gen/waveform.js" > < / script >
< script >
var wfp = {
getSignalMetadata: function() {
return [
2018-09-13 00:54:25 +00:00
{label:'clk', len:1},
{label:'big_signal_name__DOT__which_is_big', len:2},
{label:'sig3', len:3},
{label:'sig4', len:4},
{label:'sig5', len:5},
{label:'sig6', len:6},
{label:'sig7', len:7},
{label:'sig8', len:8},
{label:'sig9', len:9},
{label:'sig', len:1},{label:'sig', len:1},{label:'sig', len:1},{label:'sig', len:1},{label:'sig', len:1},{label:'sig', len:1},{label:'sig', len:1},
2018-09-12 02:28:30 +00:00
];
},
getSignalData: function(i,s,l) {
l += s;
var arr = [];
while (s++< l ) {
arr.push(s & (1< < (this.getSignalMetadata()[i].len)-1));
}
return arr;
},
};
var wfv = new WaveformView($('#scope')[0], wfp);
var wfv2 = new WaveformView($('#scope2')[0], wfp);
Split(['#scope', '#scope2'], {
minSize: [50, 50],
direction: 'vertical',
onDrag: function() {
wfv.recreate();
wfv2.recreate();
},
});
/*
function update() {
wfv.setOrgTime(wfv.t0+1);
setTimeout(update, 1000/10);
}
update();
*/
< / script >
< / body >
< / html >