2012-02-09 03:37:04 +00:00
<!DOCTYPE html>
< title > Applesoft BASIC in JavaScript< / title >
2013-08-16 05:04:18 +00:00
< meta charset = "UTF-8" >
2013-05-08 04:08:21 +00:00
< link rel = "alternate" type = "application/atom+xml" href = "https://github.com/inexorabletash/jsbasic/commits/master.atom" >
2012-02-09 03:37:04 +00:00
< link rel = "Stylesheet" href = "styles.css" type = "text/css" >
2013-05-08 04:08:21 +00:00
2012-02-09 03:37:04 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" > <!-- Suppress browser compat button -->
< script type = "text/javascript" src = "../polyfill/polyfill.js?update=2012-02-08" > < / script >
< script type = "text/javascript" src = "../polyfill/harmony.js?update=2011-12-17" > < / script >
< script type = "text/javascript" >
(function () {
function load(url) { document.write('< script type = "text/javascript" src = "' + url + '" > < / ' + ' s c r i p t > ' ) ; }
if (!window.JSON) { load('../polyfill/json2.js'); }
if (!window.localStorage || !window.sessionStorage) { load('../polyfill/storage.js'); }
if (!('getContext' in document.createElement('canvas'))) { load('../polyfill/flashcanvas.js'); }
}());
< / script >
< script type = "text/javascript" src = "../polyfill/keyboard.js" > < / script >
< h1 > Applesoft BASIC in Javascript< / h1 >
< p >
2013-08-16 04:30:51 +00:00
By < a href = "mailto:inexorabletash@gmail.com" > Joshua Bell< / a >
| < a target = "_blank" href = "https://github.com/inexorabletash/jsbasic/" > Source< / a >
| < a target = "_blank" href = "https://github.com/inexorabletash/jsbasic/blob/master/README.md" > README< / a >
— < a target = "_blank" href = "reference.htm" > Applesoft BASIC Quick Reference< / a >
2012-02-09 03:37:04 +00:00
< p > Related projects:
< a href = "/Logo" > Logo in Javascript< / a >
| < a href = "/vnIIc" > Streaming video to an Apple II - vnIIc< / a >
< / p >
2013-08-16 04:30:51 +00:00
< br clear = "left" >
2012-02-09 03:37:04 +00:00
<!-- Screen -->
2012-06-20 15:54:40 +00:00
< div id = "frame" class = "frame" style = "float: left; margin: 5px;" >
2012-02-09 03:37:04 +00:00
< div id = "screen-wrapper" class = "wrapper" >
2012-07-22 03:35:54 +00:00
< div id = "lores" class = "lores" > < / div >
< canvas id = "hires" width = "560" height = "384" class = "hires" > < / canvas >
< canvas id = "hires2" width = "560" height = "384" class = "hires" > < / canvas >
2013-08-16 04:06:29 +00:00
< div id = "screen" class = "tty" tabIndex = "0" > < / div >
2012-07-22 03:35:54 +00:00
< / div >
2012-02-09 03:37:04 +00:00
< / div >
<!-- Source -->
2012-06-20 15:54:40 +00:00
< div style = "float: left; margin: 5px;" >
2012-07-22 03:35:54 +00:00
Enter code:
< input type = "button" value = "Run" id = "btn_run" >
< input type = "button" value = "Stop" id = "btn_stop" disabled = "disabled" >
2012-02-09 03:37:04 +00:00
2012-07-22 03:35:54 +00:00
< select id = "lb_files" >
< option disabled selected = "selected" > Select a file...< / option >
< option value = "sample.basic" > DEMOS< / option >
2012-02-09 03:37:04 +00:00
< option disabled > ---- Tests ----< / option >
2012-07-22 03:35:54 +00:00
< option value = "sample.unittests" > Unit Tests< / option >
2012-02-09 03:37:04 +00:00
< option value = "sample.keyboard" > Keyboard Test< / option >
< option value = "sample.charset" > Charset Test< / option >
< option disabled > ---- User Submissions ----< / option >
< option disabled > Games< / option >
2012-07-22 03:35:54 +00:00
< option value = "simple.pong" > SIMPLE.PONG< / option >
< option value = "sample.adventure" > Text Adventure (Floyd McWilliams)< / option >
< option value = "sample.pacman" > (Not Really) ASCII Pac-Man (Michael Kemp)< / option >
< option value = "sample.puzzler" > Puzzler (Gregg Buntin)< / option >
< option value = "sample.hangman" > Hangman (Mike Gleason)< / option >
2012-02-09 03:37:04 +00:00
< option value = "sample.raindrops" > Catch the Raindrop (Nicholas Merchant)< / option >
< option value = "sample.jot" > JOT (Mike Gleason)< / option >
< option disabled > Graphics< / option >
2012-07-22 03:35:54 +00:00
< option value = "sample.rodscolorpattern" > Rod's Color Pattern< / option >
< option value = "sample.hacker" > Hacker Logo (markwstock)< / option >
< option value = "sample.loreswalk" > Random LoRes (John Melesky)< / option >
< option value = "sample.hireswalk" > Random HiRes (John Melesky)< / option >
< option value = "sample.sierpinski" > Sierpinski Triangles (Kevin Miller)< / option >
< option value = "sample.stringart" > String Art (Chris Heric)< / option >
< option value = "sample.paint" > Drawing Program (Brian Broker)< / option >
< option value = "sample.scribble" > Scribble (William Simms)< / option >
< option value = "sample.connections" > Connections (Gregg Buntin)< / option >
< option value = "sample.squiggle" > Squiggle (Gregg Buntin)< / option >
< option value = "sample.boys_surface" > Boy's Surface (Lukas Innig)< / option >
< option value = "sample.gaussian" > Gaussian Distribution 2D (John Russ)< / option >
< option value = "sample.bitmaps" > Bitmap Images (Brian Broker)< / option >
< option value = "sample.mandelbrot" > Mandelbrot Set (c/o Gregory Lewis)< / option >
< option value = "sample.mandelbrot2" > Mandelbrot Set in Color< / option >
< option value = "sample.steve" > Steve (Nicola Foggi)< / option >
2013-05-06 04:12:26 +00:00
< option value = "sample.logo" > Apple Logo (Brendan Robert)< / option >
2012-02-09 03:37:04 +00:00
< option disabled > Other< / option >
2012-07-22 03:35:54 +00:00
< option value = "sample.primes" > Prime Sieve (Kevin Miller)< / option >
< option value = "sample.february" > February Surprise (Antti Pirskanen)< / option >
< option value = "sample.hellosine" > Hello World Sine Wave (Jamie Beu)< / option >
2012-02-09 03:37:04 +00:00
< option value = "sample.bodymass" > Body Mass Index Calculator (Tim Dwyer)< / option >
< option disabled > ---- Traveller RPG Utilities ----< / option >
2012-07-22 03:35:54 +00:00
< option value = "TRADER C" > TRADER< / option >
< option value = "sample.sectorgen" > Traveller Sector Generator< / option >
< option value = "sample.zhorelay" > Zhodani Relay Station Placement< / option >
< option value = "sample.readsector" > Read Sector File< / option >
< / select >
2012-02-09 03:37:04 +00:00
< input type = "button" id = "btn_capture" value = "Echo to "Printer"" title = "Pops up a "printer" window and echoes all output there, so you can copy/paste" >
<!-- Source code editor inserted here -->
< div id = "editorframe" > < / div >
2012-06-20 16:13:06 +00:00
< form id = "submission" method = "post" enctype = "text/plain" action = "mailto:inexorabletash@gmail.com?subject=Applesoft%20Sample%20Submission" >
2012-02-09 03:37:04 +00:00
< textarea name = "source" id = "source" style = "display: none;" >
< / textarea >
< input type = "submit" id = "btn_share" value = "Share your sample!" >
< input type = "button" id = "btn_save" value = "Save Program" title = "Save the current program. NOTE: Can only save one program." >
< input type = "button" id = "btn_load" value = "Load Program" title = "Load a previously saved program. WARNING: The current program will be lost!" >
< / form >
< / div >
< br clear = left >
< h3 id = "links" > Links< / h3 >
< ul >
2012-07-22 03:35:54 +00:00
< li > < a href = "http://www.6502asm.com/" > 6502asm.com< / a > - a 6502 assembler/emulator in JavaScript
< li > < a href = "http://www.quitebasic.com/" > Quite BASIC< / a > - a similar project aimed at teaching programming
< li > < a href = "http://navahogunleg.net/blog/my-projects/ng-basic/" > NG-BASIC for Javascript< / a > Navaho Gunleg's interpreter
< li > < a href = "http://www.nicholson.com/rhn/basic/" > BASIC Programming Resources< / a >
< li > < a href = "http://www.scullinsteel.com/apple2/" > Apple II emulator in JavaScript< / a >
2012-02-09 03:37:04 +00:00
< / ul >
2012-06-20 16:13:06 +00:00
<!-- CodeMirror syntax highlighting - this is optional -->
2013-05-08 03:41:24 +00:00
< script src = "../CodeMirror/lib/codemirror.js" > < / script >
< link rel = "stylesheet" href = "../CodeMirror/lib/codemirror.css" >
< script src = "cm/basic.js" > < / script >
< link rel = "stylesheet" href = "cm/basic.css" >
2012-02-09 03:37:04 +00:00
< style type = "text/css" >
.CodeMirror { border: solid 1px black; width: 598px; height: 384px; background-color: white; }
.CodeMirror-scroll { height: 100%; }
< / style >
< script type = "text/javascript" src = "basic.js?2012-02-08" > < / script >
< script type = "text/javascript" src = "bell.js" > < / script >
< script type = "text/javascript" src = "tty.js" > < / script >
< script type = "text/javascript" src = "lores.js" > < / script >
< script type = "text/javascript" src = "hires.js" > < / script >
< script type = "text/javascript" src = "dos.js" > < / script >
< script type = "text/javascript" src = "printer.js" > < / script >
< script type = "text/javascript" src = "index.js" > < / script >
< script type = "text/javascript" >
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-18610679-3']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
< / script >
2013-05-09 04:40:56 +00:00
< a href = "https://github.com/inexorabletash/jsbasic" target = "_blank" > < img style = "position: absolute; top: 0; right: 0; border: 0;" src = "https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt = "Fork me on GitHub" > < / a >