removed website files from IDE project

This commit is contained in:
Steven Hugg 2019-04-30 16:52:07 -04:00
parent 159b7048cc
commit 77123211cf
16 changed files with 0 additions and 724 deletions

View File

@ -1,9 +0,0 @@
<FilesMatch "redir\.(html|htm)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</FilesMatch>

302
demo.html
View File

@ -1,302 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>8bitworkshop</title>
<!-- Bootstrap -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link href="https://fonts.googleapis.com/css?family=Exo" rel="stylesheet">
<style type="text/css" media="screen">
body {
font-family: 'Exo', sans-serif;
}
</style>
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
if (window.location.host.endsWith('8bitworkshop.com')) {
ga('create', 'UA-54497476-9', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
</head>
<body>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">8bitworkshop</a>
</div>
<ul class="nav navbar-nav">
<li class="hidden-xs"><a href="#books">Books</a></li>
<li><a href="./blog">Blog</a></li>
<li><a target="_new" href="https://twitter.com/8bitworkshop">Twitter</a></li>
</ul>
<div id="navbar" class="hidden-sm hidden-xs">
<form class="navbar-form navbar-right">
<a class="btn btn-default" href="redir.html?" role="button">Continue to 8bitworkshop IDE
<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
</a>
</form>
</div>
</div>
</nav>
<div class="jumbotron">
<div class="container">
<div class="col-md-6">
<h1>Write 8-bit code in your browser.</h1>
<p>
Ever wanted to be an old-school game programmer?<br>
Learn how classic game hardware worked.</br>
Write code and see it run instantly.
</p>
<p><a class="btn btn-primary btn-lg" href="redir.html?" role="button">Continue to 8bitworkshop IDE
<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
</a></p>
</div>
<div class="col-md-6">
<br><br>
<img class="img-responsive" src="images/ide_screenshot1.png">
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-4">
<h2><a href="redir.html?platform=vcs">Atari 2600</a></h2>
<p>
Learn how to program the Atari 2600 with
<a href="redir.html?platform=vcs">dozens of fully commented
examples</a>.
Our 6502 assembler runs as you type and flags any errors.
We've got debugging tools too; single step through your code and use our CPU Cycle Analyzer to
develop that perfect Stella kernel.
</p>
<img class="img-responsive" src="images/atarivcs.jpg">
</div>
<div class="col-md-4">
<h2>Arcade Games</h2>
<p>
You can develop your own games on classic arcade game hardware, using our in-browser C compiler targeting the Z80 CPU.
Platforms include
<a href="redir.html?platform=vicdual">VIC Dual</a>,
<a href="redir.html?platform=mw8080bw">Midway 8080</a>,
<a href="redir.html?platform=galaxian-scramble">Galaxian/Scramble</a>,
<a href="redir.html?platform=vector-z80color">Atari Vector</a>,
and
<a href="redir.html?platform=williams-z80">Williams</a>.
<img class="img-responsive" src="images/arcadegames.jpg">
</p>
</div>
<div class="col-md-4">
<h2><a href="redir.html?platform=verilog">Hardware Design</a></h2>
<p>
Use our
<a href="redir.html?platform=verilog">Verilog IDE</a>
to design a 8-bit game platform from scratch.
We'll run your design in real time in the browser, displaying the output on a simulated CRT.
Plenty of examples are included to teach logic programming.
The book even shows you how to synthesize your code to the
<a href="https://www.amazon.com/gp/product/B00R3QU9K0/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00R3QU9K0&linkCode=as2&tag=pzp-20&linkId=5e51c89e29bec87dfb4d81f89fdec3fe">Lattice iCE Stick FPGA</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=pzp-20&l=am2&o=1&a=B00R3QU9K0" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
and connect to a legacy CRT or TV.
</p>
<img class="img-responsive" src="images/fpga.jpg">
</div>
</div>
<a name="books"/>
<h1 class="text-center">Learn More With a Book!</h1>
<div class="container">
<div class="row">
<div class="col-md-2">
<a href="https://www.amazon.com/gp/product/1541021304/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1541021304&linkCode=as2&tag=pzp-20&linkId=c149f6365c0a676065eb6d7c5f8dd6ae" onclick="ga('send', 'event', 'books', 'click', 'vcs');">
<img class="img-responsive" border="0" src="./images/book_a2600_med.jpg" ></a>
</div>
<div class="col-md-4">
<a href="https://www.amazon.com/gp/product/1541021304/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1541021304&linkCode=as2&tag=pzp-20&linkId=c149f6365c0a676065eb6d7c5f8dd6ae" onclick="ga('send', 'event', 'books', 'click', 'vcs');">
<h3>Making Games For The Atari 2600</h3>
</a>
<p>The Atari 2600 was released in 1977, and now there's finally a book about how to write games for it! You'll learn about the 6502 CPU, NTSC frames, scanlines, cycle counting, players, missiles, collisions, procedural generation, pseudo-3D, and more. While using the manual, take advantage of our Web-based IDE to write 6502 assembly code, and see your code run instantly in the browser. We'll cover the same programming tricks that master programmers used to make classic games. Create your own graphics and sound, and share your games with friends!</p>
</div>
<div class="col-md-2">
<a href="https://www.amazon.com/gp/product/1545484759/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1545484759&linkCode=as2&tag=pzp-20&linkId=2f3c42111bffe3466830939fff4053fc" onclick="ga('send', 'event', 'books', 'click', 'arcade');">
<img class="img-responsive" border="0" src="./images/book_arcade_med.jpg" ></a>
</div>
<div class="col-md-4">
<a href="https://www.amazon.com/gp/product/1545484759/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1545484759&linkCode=as2&tag=pzp-20&linkId=2f3c42111bffe3466830939fff4053fc" onclick="ga('send', 'event', 'books', 'click', 'arcade');">
<h3>Making 8-Bit Arcade Games in C</h3>
</a>
<p>With this book, you'll learn all about the hardware of Golden Age 8-bit arcade games produced in the late 1970s to early 1980s. We'll learn how to use the C programming language to write code for the Z80 CPU. The following arcade platforms are covered: * Midway 8080 (Space Invaders) * VIC Dual (Carnival) * Galaxian/Scramble (Namco) * Atari Color Vector * Williams (Defender, Robotron) We'll describe how to create video and sound for each platform. Use the online 8bitworkshop IDE to compile your C programs and play them right in the browser!</p>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-2">
<a href="https://www.amazon.com/gp/product/1728619440/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1728619440&linkCode=as2&tag=pzp-20&linkId=c149f6365c0a676065eb6d7c5f8dd6ae" onclick="ga('send', 'event', 'books', 'click', 'verilog');">
<img class="img-responsive" border="0" src="./images/book_verilog.jpg" ></a>
</div>
<div class="col-md-4">
<a href="https://www.amazon.com/gp/product/1728619440/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1728619440&linkCode=as2&tag=pzp-20&linkId=c149f6365c0a676065eb6d7c5f8dd6ae" onclick="ga('send', 'event', 'books', 'click', 'verilog');">
<h3>Designing Video Game Hardware in Verilog</h3>
</a>
<p>
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.
</p>
</div>
<div class="col-md-2">
</div>
<div class="col-md-4">
</div>
</div>
</div>
<h1 class="text-center">Supported Platforms</h1>
<div class="container">
<div class="row">
<div class="col-md-4">
<h2><a href="redir.html?platform=vcs">Atari 2600</a></h2>
<p>
In 1977, the Atari 2600 popularized the idea of programmable video game consoles.
Its 6502 CPU and mere 128 bytes of RAM powered hundreds of classic games.
Fiendishly difficult to program, developers learned plenty of tricks for "racing the beam" to generate displays far beyond what its designers believed possible.
</p>
</div>
<div class="col-md-4">
<h2><a href="redir.html?platform=vicdual">VIC Dual</a></h2>
<p>
The VIC Dual system was one of the first CPU-based arcade platforms from Gremlin Industries, later acquired by Sega.
It used a Z80 CPU and a character-based display with simple RGB colors.
"Carnival" is probably the best-remembered game on this platform.
</p>
</div>
<div class="col-md-4">
<h2><a href="redir.html?platform=mw8080bw">Midway 8080</a></h2>
<p>
The Midway 8080 system powered Gun Fight, the first CPU-based arcade game.
Later, it would also run the immensely popular Space Invaders.
It used a Z80 and a simple black-and-white frame buffer backed by 7 kilobytes of RAM, a huge amount for the time.
</p>
</div>
</div>
<div class="row">
<div class="col-md-4">
<img class="img-responsive center-block" src="images/scrnshots/atari2600-1-fs8.png">
</div>
<div class="col-md-4">
<img class="img-responsive center-block" src="images/scrnshots/vicdual-1-fs8.png">
</div>
<div class="col-md-4">
<img class="img-responsive center-block" src="images/scrnshots/mw8080-1-fs8.png">
</div>
</div>
<div class="row">
<div class="col-md-4">
<h2><a href="redir.html?platform=galaxian-scramble">Galaxian/Scramble</a></h2>
<p>
Galaxian pushed the limit of video game designs in 1979, with a 3 MHz Z80 and RGB color graphics with hardware sprites overlapping a scrolling background.
This hardware was licensed for many classics like Scramble and Frogger.
</p>
</div>
<div class="col-md-4">
<h2><a href="redir.html?platform=vector-z80color">Atari Vector</a></h2>
<p>
Atari's black-and-white vector games like Lunar Lander and Asteroids took the industry by storm, later leading to color vector games like Tempest.
Powered by a 6502 CPU and custom state machine, they could draw points and lines at a resolution far beyond the CRT-based games of the era.
</p>
</div>
<div class="col-md-4">
<h2><a href="redir.html?platform=williams-z80">Williams</a></h2>
<p>
The Williams games like Defender, Robotron, and Joust were powered by Motorola's 6809 CPU (our emulation uses the Z80 though) and plenty of RAM.
A 36 kilobyte framebuffer gave it 16-color graphics, and a custom bit blitter chip moved pixels around quickly.
A separate CPU powered its unique sound effects.
</p>
</div>
</div>
<div class="row">
<div class="col-md-4">
<img class="img-responsive center-block" src="images/scrnshots/galaxian-1-fs8.png">
</div>
<div class="col-md-4">
<img class="img-responsive center-block" src="images/scrnshots/vector-1-fs8.png">
</div>
<div class="col-md-4">
<img class="img-responsive center-block" src="images/scrnshots/williams-1-fs8.png">
</div>
</div>
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-4">
<h2><a href="redir.html?platform=apple2">Apple ][+</a></h2>
<p>
You can even write C or 6502 assembler code for Woz's creation, the
<a href="redir.html?platform=apple2">Apple ][+</a>.
Thrill to the unusual frame buffer layout and one-bit speaker output!
You can even export to cassette tape!
<img class="img-responsive" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/68/Apple_II_Plus.jpg/512px-Apple_II_Plus.jpg">
</div>
<div class="col-md-4">
</div>
</div>
</div>
<a href="https://www.patreon.com/bePatron?u=9081870" data-patreon-widget-type="become-patron-button">Become a Patron!</a><script async src="https://c6.patreon.com/becomePatronButton.bundle.js"></script>
<hr>
<footer>
<p>
&copy; 2019 Puzzling Plans LLC.
<a href="privacy.html">Privacy Policy.</a>
</p>
<p>
Some brands and product names mentioned are trademarks or service marks of their respective companies. Use of a term in this work should not be regarded as affecting the validity of any trademark or service mark.
</p>
</footer>
</div> <!-- /container -->
<img src="//ir-na.amazon-adsystem.com/e/ir?t=pzp-20&l=am2&o=1&a=1541021304" />
<img src="//ir-na.amazon-adsystem.com/e/ir?t=pzp-20&l=am2&o=1&a=1545484759" />
<img src="//ir-na.amazon-adsystem.com/e/ir?t=pzp-20&l=am2&o=1&a=1728619440" />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="bootstrap/js/bootstrap.min.js"></script>
<script>
// make external links GA-able
function _COBL(url) {
ga('send', 'event', 'outbound', 'click', url, {
'transport': 'beacon',
'hitCallback': function() { document.location = url; }
});
setTimeout(function() { document.location = url; }, 500);
return false;
}
$('a').each(function() {
if (location.hostname !== this.hostname && location.hostname.length > 0) {
var fntext = "return _COBL('" + this.href + "');";
console.log(fntext);
$(this).attr('onclick', fntext);
}
});
</script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,158 +0,0 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>
Privacy Policy
</h1>
<p>
<b>Version 1.0 - 01 August 2018</b>
</p>
<h1><a name="intro">Introduction</a></h1>
<!---- Intro ---->
<p>
In this Privacy Policy, we'll describe the types of personal data you might share with us when you use Puzzling Plans LLC and 8bitworkshop web sites and services. We'll describe how we use this data, how we secure it, how long we retain it, and with whom we share it. We will also provide you with information about exercising your rights to remove or retrieve data you have shared.
</p>
<p>Please review this policy in full, as by using 8bitworkshop web sites and services, you agree to this Privacy Policy. You also agree that you are solely responsible for the information you share with us. You can use the quick links below to jump to each section of our policy.</p>
<p>
<p><a href="#infowecollect">Information We May Collect</a></p>
<p><a href="#thirdparties">Information We Share with Third Parties</a></p>
<p><a href="#delete">Removing Your Information from 8bitworkshop Systems</a></p>
<p><a href="#jurisdiction">Data Jurisdiction</a></p>
<p><a href="#security">Data Security</a></p>
<p><a href="#children">Children</a></p>
<p><a href="#future">Future Modifications to this Policy</a></p>
<p><a href="#contact">Contact Us</a></p>
<!---- Information you share with 8bitworkshop and how it is stored and handled --->
<h1><a name="infowecollect"></a>Information We May Collect</h1>
<p>The following sections describe the information we may collect, how it is used, and how long it is stored when:</p>
<p>- <a href="#website">you visit our Web sites</a></p>
<p>- <a href="#apps">you use the 8bitworkshop.com IDE</a></p>
<p>- <a href="#signup">you sign up for email lists</a></p>
<p>- <a href="#customer">you purchase books</a></p>
<p>- <a href="#support">you contact us</a></p>
<h2><a name="website"></a>Information We Collect When You Visit Our Web Sites</h2>
<p>
The Puzzling Plans LLC and 8bitworkshop web sites track basic information about its visitors which includes IP address, browser and operating system type, timestamps, and referring pages. We also use a third party service, Google Analytics, to log visits to our web sites. We do not make any attempt to de-anonymize this aggregated information.
Our server-based Internet access and error logs are retained on the server for 90 days for network security monitoring purposes, after which point they are expunged from our systems.
<h2><a name="apps"></a>Information We Collect When You Use the 8bitworkshop IDE</h2>
<p>
When you access and use the 8bitworkshop IDE, all user data is stored locally in browser storage and is not transmitted to 8bitworkshop.com. Standard information about your visit to the site (IP address, browser and operating system type, timestamps, and referring pages) is logged on our servers.</p>
<h2><a name="signup"></a>Information We Collect When You Sign Up for Email Lists</h2>
<p>
If you sign up for a notification email list, we collect your email address for later notifications based on the preferences you shared. To be removed at any time, click Unsubscribe within the email or send a removal request to us at privacy@8bitworkshop.com from the address you would like removed.</p>
<h2><a name="customer"></a>Information We Collect When You Purchase Books</h2>
<p>
When you purchase our books on Amazon.com or via Createspace.com, we do not receive copies of your personal information. If you purchase via Gumroad, we receive your name and email address if provided.
</p>
<h2><a name="support"></a>Information We Collect When You Contact Us</h2>
<p>
When you contact us, we may collect information from you to help troubleshoot your issue. This includes your email address or social media name/handle and any device information or queries you provide us. If you would like to expunge information you have shared with us, email us at privacy@8bitworkshop.com and we will comply with any reasonable request.
</p>
<!-- Information 8bitworkshop shares with third parties and how it is stored and handled --->
<h2><a name="thirdparties"></a>Information We Share with Third Parties</h2>
<p>
We use certain trusted third parties to provide information technology services to us, including web hosting, maintenance, database storage and management, and advertising. Your data may be shared with these third parties by virtue of being hosted remotely, but is only shared to the extent necessary for system operation and only pursuant to contractual obligations requiring these third party service providers to maintain the privacy and security of this data.
</p>
<p>
<b>Google Analytics:</b> When you access a Puzzling Plans LLC or 8bitworkshop web site, <a href="http://www.google.com/analytics/">Google Analytics</a> places first party cookies and collects Web page access information, including but not limited to cookie data, referring links, and your IP address. Data is retained for 14 months, currently the lowest setting Google allows. Should they change this option, we plan to make the retention period lower and will update this Privacy Policy accordingly.
<!-- todo: 8bitworkshop has a Data Protection Agreement in force with Google Analytics to ensure this data is protected.
-->
</p>
<!--
<p>
<b>Amazon Web Services:</b> We host our services on Amazon Web Services (AWS) infrastructure. -->
<!-- 8bitworkshop has a Data Protection Agreement in force with Amazon to ensure your data is protected.
-->
</p>
<p>
<b>Digital Ocean:</b> We host our services on Digital Ocean infrastructure.
</p>
<!---- Your Right to Be Forgotten/Deleting Your Account ---->
<h1><a name="delete"></a>Removing Your Information from 8bitworkshop Systems</h1>
<p>
If you believe that we hold personal information and would like us to delete it, email us at privacy@8bitworkshop.com. To be removed from mailing lists you may have signed up for, click the Unsubscribe link or email us at privacy@8bitworkshop.com.
</p>
<!-- Jurisdiction ---->
<h1><a name="jurisdiction"></a>Data Jurisdiction</h1>
<p>
All data that you share while using our sites and services is processed in the United States and is subject to United States laws. If you do not reside in the United States, information you share will be transferred to the United States and processed and stored using the standards we describe in this privacy policy. By using our sites and services, you consent to the processing of your data in the United States.
</p>
<!--- Data security --->
<h1><a name="security"></a>Data Security</h1>
<p>
We are dedicated to keeping your data secure and, to that end, employ security best practices to keep your data protected. Systems are secured and continually monitored against intrusions. Only authorized individuals retain access to our systems.</p>
<h1><a name="children"></a>Children</h1>
<p>
Puzzling Plans LLC and 8bitworkshop Services, Applications, and Sites are not targeted to users under the age of 13 (or 16, in jurisdictions where the age of 16 applies) and we do not knowingly collect information from users under the age of 13. In accordance with the Children's Online Privacy Protection Act of 1998, if we discover that a child under the age of 13 has provided us with personally-identifying information, we will remove it from our systems immediately. If you are a parent or guardian of a child under the age of 13 (or under the age of 16, in jurisdictions where the age of 16 applies) and discover or believe that your child has provided us with personally-identifying information, please contact us at <a href="mailto:privacy@8bitworkshop.com">privacy@8bitworkshop.com</a> with information related to the account and we will remove the data from our systems.
</p>
<!---- Future modifications to this policy ---->
<h1><a name="future"></a>Future Modifications to this Policy</h1>
<p>
From time to time and as products are updated and new product offerings are available, we may find it necessary to update this privacy policy. In the event that there are changes to this policy, including what and how we collect web site and mobile application data, we will update our privacy policy accordingly and post it <a href="http://8bitworkshop.com/privacy">here</a>.
</p>
<!--- Contact Us --->
<h1><a name="contact"></a>Contact Us</h1>
<p>
We take your privacy rights seriously and encourage you to exercise them if you find it necessary. If you require clarification or have any questions, contact us by email at <a href="mailto:privacy@8bitworkshop.com">privacy@8bitworkshop.com</a> or <a href="mailto:privacy@puzzlingplans.com">privacy@puzzlingplans.com</a> with any questions you have or write to us at:
</p>
</p>
<p>
Privacy Issues<br>
c/o Puzzling Plans LLC<br>
382 NE 191st St #87905<br>
Miami, FL 33179<br>
USA
</p>
<script type="text/javascript">
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
if (window.location.host.endsWith('8bitworkshop.com')) {
ga('create', 'UA-54497476-9', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
}
</script>
</body>
</html>

View File

@ -1,18 +0,0 @@
<html>
<head>
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Pragma" content="no-store" />
<meta http-equiv="Expires" content="0" />
</head>
<script>
var VERSION = '3.3.0';
var QS = document.location.search || '?';
document.location.href = 'v' + VERSION + '/' + QS;
</script>
<body>
</body>
</html>

View File

@ -1,9 +0,0 @@
#!/bin/bash
. ./scripts/env.sh
grep "var VERSION" redir.html
mkdir -p .tmp
cp demo.html .tmp/index.html
rsync -rpilv --chmod=a+rx -e "ssh -p 2222" .tmp/index.html .htaccess redir.html privacy.html css bootstrap images $RSYNC_PATH/
rm -fr .tmp
echo "Done."

View File

@ -1,228 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>8bitworkshop IDE</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes">
<style type="text/css" media="screen">
body {
overflow: hidden !important;
font-size: 11px;
}
</style>
<link rel="stylesheet" href="css/ui.css">
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
if (window.location.host.endsWith('8bitworkshop.com')) {
ga('create', 'UA-54497476-9', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
</head>
<body>
<!-- for file upload -->
<input type="file" id="uploadFileElem" multiple accept="*" style="display:none" onchange="handleFileUpload(this.files)">
<div id="controls_top" style="user-select: none">
<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>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<li><a class="dropdown-item" href="#" id="item_new_file">New Project...</a></li>
<li><a class="dropdown-item" href="#" id="item_upload_file">Upload File...</a></li>
<li><a class="dropdown-item" href="#" id="item_reset_file">Revert to Original...</a></li>
<li class="dropdown dropdown-submenu">
<a tabindex="-1" href="#">Download</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#" id="item_download_file">Download Source File</a></li>
<li><a class="dropdown-item" href="#" id="item_download_zip">Download Project as ZIP</a></li>
<li><a class="dropdown-item" href="#" id="item_download_allzip">Download All Changes as ZIP</a></li>
</ul>
</li>
</ul>
</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>
<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="btn_group debug_group" id="debug_bar">
<button id="dbg_reset" type="button" title="Reset and Break"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
<button id="dbg_pause" type="button" title="Pause"><span class="glyphicon glyphicon-pause" aria-hidden="true"></span></button>
<button id="dbg_go" type="button" title="Run"><span class="glyphicon glyphicon-play" aria-hidden="true"></span></button>
<button id="dbg_step" type="button" title="Step"><span class="glyphicon glyphicon-step-forward" aria-hidden="true"></span></button>
<button id="dbg_tovsync" type="button" title="Single Frame"><span class="glyphicon glyphicon-forward" aria-hidden="true"></span></button>
<button id="dbg_toline" type="button" title="Run To Line"><span class="glyphicon glyphicon-save" aria-hidden="true"></span></button>
<button id="dbg_stepout" type="button" title="Step Out of Subroutine"><span class="glyphicon glyphicon-hand-up" aria-hidden="true"></span></button>
<button id="dbg_stepback" type="button" title="Step Backwards"><span class="glyphicon glyphicon-step-backward" aria-hidden="true"></span></button>
</span>
<span class="btn_group view_group" id="speed_bar" style="display:none">
<button id="dbg_slowest" type="button" title="Slowest"><span class="glyphicon glyphicon-fast-backward" aria-hidden="true"></span></button>
<button id="dbg_slower" type="button" title="Slower"><span class="glyphicon glyphicon-backward" aria-hidden="true"></span></button>
<span class="label"><span id="fps_label">60.00</span> fps</span>
<button id="dbg_faster" type="button" title="Faster"><span class="glyphicon glyphicon-forward" aria-hidden="true"></span></button>
<button id="dbg_fastest" type="button" title="Faster"><span class="glyphicon glyphicon-fast-forward" aria-hidden="true"></span></button>
</span>
<span id="verilog_bar" style="display:none">
<span class="label"><span id="settle_label"></span> evals/clk</span>
</span>
<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>
<ul class="dropdown-menu pull-right" aria-labelledby="dropdownMenuButton">
<li>
<a class="dropdown-item dropdown-link" target="_book_a2600" href="https://www.amazon.com/gp/product/1541021304/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&tag=pzp-20&camp=1789&creative=9325&linkCode=as2&creativeASIN=B01N4DSRIZ&linkId=04d39e274c06e6c93b93d20a9a977111">
<img src="images/book_a2600.png"/>
&nbsp;&nbsp;<b>Making Games For The Atari 2600</b><!-- (Print/Kindle Editions)-->
</a>
<a class="dropdown-item dropdown-link" target="_book_arcade" href="https://www.amazon.com/gp/product/1545484759/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1545484759&linkCode=as2&tag=pzp-20&linkId=b27709c022d2ebe639e90316d9f4fd5b">
<img src="images/book_arcade.png"/>
&nbsp;&nbsp;<b>Making 8-bit Arcade Games in C</b><!-- (Print Edition)-->
</a>
<!--
<a class="dropdown-item dropdown-link" target="_book_arcade_pdf" href="https://gumroad.com/l/8bitworkshoparcadebook">
<img src="images/book_arcade.png"/>
&nbsp;&nbsp;<b>Making 8-bit Arcade Games in C</b> (Downloadable PDF)
</a>
-->
</li>
</ul>
</span>
</div>
<div id="notebook">
<div id="workspace">
</div>
<div class="emulator" id="emulator">
<div id="emuoverlay" class="emuoverlay" style="display:none">
</div>
</div>
<div id="mem_info" class="mem_info" style="display:none">
</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" onclick="$('.alert').hide()" aria-hidden="true">&times;</button>
<div id="error_alert_msg"></div>
</div>
</div>
<div id="pleaseWaitModal" class="modal fade">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-body">
Please wait...
</div>
</div>
</div>
</div>
<div id="videoPreviewModal" class="modal fade">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Video Preview - Right-click to save</h3>
</div>
<div class="modal-body">
<img id="videoPreviewImage">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div id="embedLinkModal" class="modal fade">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Share Playable Link</h3>
</div>
<div class="modal-body">
<p>Here's a direct link to a playable version of your game:</p>
<textarea rows="4" cols="80" id="embedLinkTextarea" class="cliptext"></textarea>
<button type="button" class="btn btn-primary" data-clipboard-target="#embedLinkTextarea">Copy Direct Link</button>
<p>You can also embed it into an IFRAME:</p>
<textarea rows="4" cols="80" id="embedIframeTextarea" class="cliptext"></textarea>
<button type="button" class="btn btn-primary" data-clipboard-target="#embedIframeTextarea">Copy IFRAME Tag</button>
<p id="embedAdviceWarnIE">Note: These links may be too long for IE/Edge browsers.</p>
<p id="embedAdviceWarnAll">Note: These links may be too long for some browsers.</p>
</div>
<div class="modal-footer">
Choose one (or none) then
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<script src="jquery/jquery-3.3.1.min.js"></script>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<script src="bootstrap/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="bootstrap/css/bootstrap-tour.min.css">
<script src="bootstrap/js/bootstrap-tour.min.js"></script>
<script src="src/codemirror/codemirror.js"></script>
<script src="codemirror/mode/clike/clike.js"></script>
<script src="src/codemirror/6502.js"></script>
<script src="codemirror/mode/z80/z80.js"></script>
<script src="codemirror/mode/verilog/verilog.js"></script>
<link rel="stylesheet" href="css/codemirror.css">
<script src="codemirror/addon/edit/matchbrackets.js"></script>
<script src="codemirror/addon/search/search.js"></script>
<script src="codemirror/addon/search/searchcursor.js"></script>
<script src="codemirror/addon/search/jump-to-line.js"></script>
<script src="codemirror/addon/dialog/dialog.js"></script>
<script src="codemirror/addon/selection/active-line.js"></script>
<link rel="stylesheet" href="codemirror/addon/dialog/dialog.css">
<script src="FileSaver.js/FileSaver.min.js"></script>
<script src="localForage/dist/localforage.nopromises.js"></script>
<script src="lib/mousetrap.min.js"></script>
<script src="lib/mousetrap-global-bind.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="gen/util.js"></script>
<script src="gen/store.js"></script>
<script src="src/vlist.js"></script>
<script src="gen/emu.js"></script>
<script src="gen/baseplatform.js"></script>
<script src="gen/analysis.js"></script>
<script src="gen/audio.js"></script>
<script src="gen/workertypes.js"></script>
<script src="gen/project.js"></script>
<script src="gen/windows.js"></script>
<script src="gen/views.js"></script>
<script src="gen/recorder.js"></script>
<script src="gen/waveform.js"></script>
<script src="gen/ui.js"></script>
<script src="local/lzg.js"></script>
<script>
//Split(["#workspace", "#emulator"], {sizes: [50,50]});
startUI(true);
</script>
</body>
</html>