diff --git a/demo.html b/demo.html index 21257951..4bb21b9b 100644 --- a/demo.html +++ b/demo.html @@ -92,66 +92,24 @@ if (window.location.host.endsWith('8bitworkshop.com')) {

-

-We're always adding new things here, so subscribe to our mailing list for updates! -

-
-

- - - -
-

Learn More With a Book!

+
@@ -179,6 +137,26 @@ We're always adding new things here, so subscribe to our mailing list for update
+
+
+
+ + + +
+
+ +

Designing Video Game Hardware in Verilog

+
+

+ This book attempts to capture the spirit of the ''Bronze Age'' of video games, when video games were designed as circuits, not as software. +We'll delve into these circuits as they morph from Pong into programmable personal computers and game consoles. Instead of wire-wrap and breadboards, we'll use modern tools to approximate these old designs in a simulated environment from the comfort of our keyboards. +At the end of this adventure, you should be well-equipped to begin exploring the world of FPGAs, and maybe even design your own game console. You'll use the 8bitworkshop.com IDE to write Verilog programs that represent digital circuits, and see your code run instantly in the browser. +

+
+
+
+

Supported Platforms

diff --git a/doc/notes.txt b/doc/notes.txt index bce89dbe..0fd5b33b 100644 --- a/doc/notes.txt +++ b/doc/notes.txt @@ -146,3 +146,6 @@ worker result: } add file to errors + +http://www.playvectrex.com/designit/chrissalo/vectordisplay.htm +http://oldies.malban.de/secondvectrex/index.htm diff --git a/images/book_verilog.jpg b/images/book_verilog.jpg new file mode 100644 index 00000000..595d3ba9 Binary files /dev/null and b/images/book_verilog.jpg differ diff --git a/images/fpga.jpg b/images/fpga.jpg new file mode 100644 index 00000000..ea88462b Binary files /dev/null and b/images/fpga.jpg differ diff --git a/src/ui.ts b/src/ui.ts index f8398bd0..da1ae5d5 100644 --- a/src/ui.ts +++ b/src/ui.ts @@ -540,8 +540,8 @@ function setCompileOutput(data: WorkerResult) { clearBreakpoint(); // so we can replace memory (TODO: change toolbar btn) _resetRecording(); platform.loadROM(getCurrentPresetTitle(), rom); - if (!userPaused) _resume(); current_output = rom; + if (!userPaused) _resume(); // TODO: reset profiler etc? (Tell views?) } catch (e) { console.log(e); @@ -625,7 +625,11 @@ function pause() { } function _resume() { - if (! platform.isRunning()) { + if (current_output == null) { + alert("Can't resume emulation until ROM is successfully built."); + return; + } + if (!platform.isRunning()) { platform.resume(); console.log("Resumed"); }