Merge pull request #67 from issackjohn/issack/add-edge
update browser options in help text to include 'edge'
diff --git a/Octane/gbemu-part1.js b/Octane/gbemu-part1.js
index 73ff9a3..ad618e9 100644
--- a/Octane/gbemu-part1.js
+++ b/Octane/gbemu-part1.js
@@ -39,7 +39,11 @@
GameBoyAudioNode.run();
}
+ var resultHash = gameboy.canvas.resultHash;
+
resetGlobalVariables();
+
+ return resultHash;
}
function tearDownGameboy() {
@@ -56,7 +60,7 @@
var GameBoyWindow = { };
-function GameBoyContext() {
+function GameBoyContext(canvas) {
this.createBuffer = function() {
return new Buffer();
}
@@ -69,20 +73,21 @@
this.putImageData = function (buffer, x, y) {
var sum = 0;
for (var i = 0; i < buffer.data.length; i++) {
- sum += i * buffer.data[i];
- sum = sum % 1000;
+ sum ^= (i * buffer.data[i]) | 0;
}
+ canvas.resultHash ^= sum;
}
this.drawImage = function () { }
};
function GameBoyCanvas() {
this.getContext = function() {
- return new GameBoyContext();
+ return new GameBoyContext(this);
}
this.width = 160;
this.height = 144;
this.style = { visibility: "visibile" };
+ this.resultHash = 0x1a2b3c4f;
}
function cout(message, colorIndex) {
diff --git a/Octane/gbemu-part2.js b/Octane/gbemu-part2.js
index 1320cd0..30cf6e1 100644
--- a/Octane/gbemu-part2.js
+++ b/Octane/gbemu-part2.js
@@ -9782,7 +9782,15 @@
setupGameboy();
class Benchmark {
+ EXPECTED_RESULT_HASH = 439041103;
+
runIteration() {
- runGameboy();
+ this.result = runGameboy();
+ }
+
+ validate() {
+ if (this.result != this.EXPECTED_RESULT_HASH)
+ throw new Error(`Got unexpected result hash ${this.result} instead of ${this.EXPECTED_RESULT_HASH}`)
+
}
}