154 lines
15 KiB
HTML
154 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<!-- saved from url=(0027)http://bellard.org/jslinux/ -->
|
|
<html><script>(function main() {
|
|
// Create enabled event
|
|
function fireEnabledEvent() {
|
|
// If gli exists, then we are already present and shouldn't do anything
|
|
if (!window.gli) {
|
|
setTimeout(function () {
|
|
var enabledEvent = document.createEvent("Event");
|
|
enabledEvent.initEvent("WebGLEnabledEvent", true, true);
|
|
document.dispatchEvent(enabledEvent);
|
|
}, 0);
|
|
} else {
|
|
//console.log("WebGL Inspector already embedded on the page - disabling extension");
|
|
}
|
|
};
|
|
|
|
// Grab the path root from the extension
|
|
document.addEventListener("WebGLInspectorReadyEvent", function (e) {
|
|
var pathElement = document.getElementById("__webglpathroot");
|
|
if (window["gliloader"]) {
|
|
gliloader.pathRoot = pathElement.innerText;
|
|
} else {
|
|
// TODO: more?
|
|
window.gliCssUrl = pathElement.innerText + "gli.all.css";
|
|
}
|
|
}, false);
|
|
|
|
// Rewrite getContext to snoop for webgl
|
|
var originalGetContext = HTMLCanvasElement.prototype.getContext;
|
|
if (!HTMLCanvasElement.prototype.getContextRaw) {
|
|
HTMLCanvasElement.prototype.getContextRaw = originalGetContext;
|
|
}
|
|
HTMLCanvasElement.prototype.getContext = function () {
|
|
var ignoreCanvas = this.internalInspectorSurface;
|
|
if (ignoreCanvas) {
|
|
return originalGetContext.apply(this, arguments);
|
|
}
|
|
|
|
var result = originalGetContext.apply(this, arguments);
|
|
if (result == null) {
|
|
return null;
|
|
}
|
|
|
|
var contextNames = ["moz-webgl", "webkit-3d", "experimental-webgl", "webgl", "3d"];
|
|
var requestingWebGL = contextNames.indexOf(arguments[0]) != -1;
|
|
if (requestingWebGL) {
|
|
// Page is requesting a WebGL context!
|
|
fireEnabledEvent(this);
|
|
|
|
// If we are injected, inspect this context
|
|
if (window.gli) {
|
|
if (gli.host.inspectContext) {
|
|
// TODO: pull options from extension
|
|
result = gli.host.inspectContext(this, result);
|
|
var hostUI = new gli.host.HostUI(result);
|
|
result.hostUI = hostUI; // just so we can access it later for debugging
|
|
}
|
|
}
|
|
}
|
|
|
|
return result;
|
|
};
|
|
})();</script><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>Javascript PC Emulator</title>
|
|
<style>
|
|
.term {
|
|
font-family: courier,fixed,swiss,monospace,sans-serif;
|
|
font-size: 14px;
|
|
color: #f0f0f0;
|
|
background: #000000;
|
|
}
|
|
|
|
.termReverse {
|
|
color: #000000;
|
|
background: #00ff00;
|
|
}
|
|
#note {
|
|
font-size: 12px;
|
|
}
|
|
#copyright {
|
|
font-size: 10px;
|
|
}
|
|
#clipboard {
|
|
font-size: 12px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body onload="start()">
|
|
<table border="0">
|
|
<tbody><tr valign="top"><td>
|
|
<script type="text/javascript" src="./jslinux_files/term.js"></script>
|
|
<script type="text/javascript">
|
|
<!--
|
|
function include(filename)
|
|
{
|
|
document.write('<script type="text/javascript" src="' + filename +
|
|
'"><' + '/script>');
|
|
}
|
|
function test_typed_arrays()
|
|
{
|
|
return (window.Uint8Array &&
|
|
window.Uint16Array &&
|
|
window.Int32Array &&
|
|
window.ArrayBuffer);
|
|
}
|
|
if (test_typed_arrays()) {
|
|
include("cpux86-ta.js");
|
|
} else {
|
|
include("cpux86.js");
|
|
document.write('<canvas id="dummy_canvas" width="1" height="1"></canvas>');
|
|
}
|
|
-->
|
|
</script><script type="text/javascript" src="./jslinux_files/cpux86-ta.js"></script>
|
|
<script type="text/javascript" src="./jslinux_files/jslinux.js"></script><table border="0" cellspacing="0" cellpadding="0">
|
|
<tbody><tr><td class="term" id="tline0">TCP bind hash table entries: 512 (order: -1, 2048 bytes) </td></tr>
|
|
<tr><td class="term" id="tline1">TCP: Hash tables configured (established 1024 bind 512) </td></tr>
|
|
<tr><td class="term" id="tline2">TCP reno registered </td></tr>
|
|
<tr><td class="term" id="tline3">checking if image is initramfs...it isn't (bad gzip magic numbers); looks like a</td></tr>
|
|
<tr><td class="term" id="tline4">n initrd </td></tr>
|
|
<tr><td class="term" id="tline5">Freeing initrd memory: 2048k freed </td></tr>
|
|
<tr><td class="term" id="tline6">Total HugeTLB memory allocated, 0 </td></tr>
|
|
<tr><td class="term" id="tline7">io scheduler noop registered </td></tr>
|
|
<tr><td class="term" id="tline8">io scheduler anticipatory registered </td></tr>
|
|
<tr><td class="term" id="tline9">io scheduler deadline registered </td></tr>
|
|
<tr><td class="term" id="tline10">io scheduler cfq registered (default) </td></tr>
|
|
<tr><td class="term" id="tline11">Real Time Clock Driver v1.12ac </td></tr>
|
|
<tr><td class="term" id="tline12">JS clipboard: I/O at 0x03c0 </td></tr>
|
|
<tr><td class="term" id="tline13">Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled </td></tr>
|
|
<tr><td class="term" id="tline14">serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16450 </td></tr>
|
|
<tr><td class="term" id="tline15">RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize </td></tr>
|
|
<tr><td class="term" id="tline16">loop: loaded (max 8 devices) </td></tr>
|
|
<tr><td class="term" id="tline17">TCP cubic registered </td></tr>
|
|
<tr><td class="term" id="tline18">NET: Registered protocol family 1 </td></tr>
|
|
<tr><td class="term" id="tline19">NET: Registered protocol family 17 </td></tr>
|
|
<tr><td class="term" id="tline20">Using IPI Shortcut mode </td></tr>
|
|
<tr><td class="term" id="tline21">Time: pit clocksource has been installed. </td></tr>
|
|
<tr><td class="term" id="tline22">RAMDISK: ext2 filesystem found at block 0 </td></tr>
|
|
<tr><td class="term" id="tline23">RAMDISK: Loading 2048KiB [1 disk] into ram disk... done. </td></tr>
|
|
<tr><td class="term" id="tline24">EXT2-fs warning: maximal mount count reached, running e2fsck is recommended </td></tr>
|
|
<tr><td class="term" id="tline25">VFS: Mounted root (ext2 filesystem). </td></tr>
|
|
<tr><td class="term" id="tline26">Freeing unused kernel memory: 124k freed </td></tr>
|
|
<tr><td class="term" id="tline27">Booted in 7.363 s </td></tr>
|
|
<tr><td class="term" id="tline28">Welcome to JS/Linux </td></tr>
|
|
<tr><td class="term" id="tline29">~ # <span class="termReverse"> </span> </td></tr>
|
|
</tbody></table>
|
|
|
|
<div id="copyright">© 2011 Fabrice Bellard - <a href="http://bellard.org/jslinux/news.html">News</a> - <a href="http://bellard.org/jslinux/faq.html">FAQ</a> - <a href="http://bellard.org/jslinux/tech.html">Technical notes</a></div>
|
|
</td><td><input type="button" value="Clear clipboard" onclick="clear_clipboard();"><br><textarea row="4" cols="16" id="text_clipboard"></textarea>
|
|
</td></tr></tbody></table>
|
|
|
|
</body>
|
|
|
|
</html> |