-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.html
251 lines (210 loc) · 9.16 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<html>
<head>
<title>Basic64.JS</title>
<link rel="icon" href="menu/fav.png">
<style>
a:hover {
background-color: rgba(64,32,128,.2);
}
a:visited {
color: #660066
}
.releasenotes {
padding-top: 50px;
padding-right: 30px;
padding-bottom: 50px;
padding-left: 80px;
}
.alertBase {
padding: 10px;
padding-top: 10px;
padding-right: 20px;
padding-bottom: 10px;
padding-left: 20px;
}
.alert0 {
background-color: rgba(255,255,255,1);
opacity: 0;
}
.alert1 {
background-color: rgba(255,255,0,.2);
transition: all 2s ease;
padding-top: 40px;
padding-bottom: 40px;
opacity: 1.0;
}
.visible {
visibility: visible;
opacity: 1;
transition: opacity 2s linear;
}
</style>
<script>
var parts = document.URL.split("?")
var part0 = parts[0];
if( parts.length > 1) {
if( parts[1].indexOf("fbclid=") == -1 ) { //not facebook
var base = "";
if(part0.indexOf("index.html")) {
base=part0.split("index.html")[0] + "/";
} else {
base=part0 + "/";
}
if( base.charAt(base.length-1) == "/" ) {
if( base.charAt(base.length-2) == "/" ) {
base = base.substr(0,base.length-1)
}
}
else {
base += "/";
}
var dest = base + "emulator/index.html?" + parts[1];
if(parts[1]=="start") { dest = base + "emulator/index.html"; }
console.log("dest=",dest)
window.location.replace( dest );
}
}
function openDiv( id ) {
var div = document.getElementById(id + "DIV");
div.style.display = 'block';
}
function blinkAlert() {
var div = document.getElementById( "alertDIV");
div.className = "alert1";
}
setTimeout(blinkAlert, 1000);
</script>
</head>
<body bgcolor=#fafafa>
<center><table width=800 bgcolor=#ffffff cellpadding="25"><tr><td>
<center>
<img width=640 src=menu/title2.jpg>
<br><br>
<table>
<tr>
<td>Start Basic64.JS</td><td><img src=doc/blink.gif height=20 valign=bottom></td>
</tr>
</table>
<font size=+1><a href=emulator/index.html target=_blank>Desktop</a></font> or
<font size=+1><a href=emulator/index.html?kb target=_blank>Tablet</a></font>
<!--alert-->
<div class="alertBase">
<div class="alert0" id="alertDIV">Welcome and feel free to join me ONLINE during my talk about BASIC64JS, THIS SATERDAY :)<br>
at the Commodore Users Europe ONLINE event (Saterday the 11th of June 2022).<br>
See more info <a href="https://www.facebook.com/events/696981394971353/" target="_blank">here</a>.
</div>
</div>
<!--end of alert-->
</center>
<b><a name="info"><font size=+2>Basic64.JS</font></a></b><br><br>
<b>Code like it's 1982</b><br>
In the 80s, we did not have PCs, we had micro computers. The Commodore 64 is an 8 bit micro computer. What was special was that
when you turned the computer on, you would enter Basic. And that was it. This made lot's of people
learn to program in Basic. This emulator is trying to recreate that experience, by making
Commodore Basic available in the Browser.<br><br>
<b>What can it do?</b><br>
Your imagination is the only limitation. Program exactly what you want!<br>
The output is limited to the Commodore 64 screen. But otherwise there is no limit.
<br>
<br>
<b>Tell me more!</b><br>
Basic64.JS is a javascript implementation of Commodore64 basic, that is intended to run in the browser.
It looks and feels just like a Commodore 64. At first you probably think you are in an Commodore 64 Emulator.
But it is not a machine emulator. It does not run machine code.
It is designed to run Basic and Edit basic code, and be as good as it can, on that.
It also has support for Peeks and Pokes, to emulated the VIC chip. And if you want to
go a little beyond the limitations of the C64, you can enable the extention, to allow for more Basic commands.
<br><br>
<b>Have fun!</b> Give it a try, click the <a href=emulator/index.html target=_blank>link</a>!
Leave a comment on <a href=https://twitter.com/chaos51 target=_blank>Twitter</a> if you like it or have questions.
<br>
<br>
<br>
<b><font size=+2>Get started</font></b><br>
Check out tips, documentation and the bonus downloads below.<br><br>
<b><a name="documentation">Bonus Downloads</a></b><br>
<a href=doc/demodisk/demo-pgm.vd64 download>
<img src=doc/demodisk/demodiskicon.png border=0><br>
Download the Demo disk</a><br>
The Demo disk contains various BASIC programs, you can load, run, examine and change.
<br>
<br>
<b><a name="documentation">Tips</a></b><br>
- Use F9 or TAB to enter the power menu<br>
- Use the menu settings to auto enable extended behaviour.<br>
- Don't PANIC, just type PANIC instead :)<br>
<br>
<br>
<b><a name="documentation">Documentation</a></b><br>
<a href=https://github.com/JoystickAndCursorKeys/basic64-js/wiki target=_blank>Wiki Documentation</a><br>
<a href=https://github.com/JoystickAndCursorKeys/basic64-js/wiki/Examples target=_blank>Examples</a><br>
<a href=https://www.c64-wiki.com/wiki/C64-Commands target=_blank>Commodore Basic Command Reference (external link/c64 wiki)</a><br>
<a href=https://github.com/JoystickAndCursorKeys/basic64-js/wiki/Extended-Commands target=_blank>BASIC64.JS Extended Commands</a><br>
<br>
<br>
<b><font size=+2>Run older versions</font></b><br>
<b><a name="versions">Versions</a></b><br>
<a href=versions/0.8p5/index.html target=_blank>Version 0.8 - Patch 5 - WIP</a> <font size=-2><a href="#p5releasenotes" onClick="openDiv('p5releasenotes');">[read more]</a></font><br>
<div class="releasenotes" id="p5releasenotesDIV" style="display:none">
<a id="p5releasenotes"><b>Release Notes Patch 5</b></a><br><br>
This patch has the following bug-fixes and features:<br><br>
1. When line exceeds 40 characters, next line was not cleared.<br>
2. Kernal version was missing.<br>
3. Added optional short cut to Menu/Basic/List, using the list command.<br>
4. Menu/Basic/List loses focus after line 100.<br>
5. Removed auto-list from Menu/VDisk/load.<br>
6. When wrong filename was typed, "?not found error" resulted in the old program being deleted.<br>
7. Enforce variable name size, maxlen=2, like on the C64.<br>
8. Cannot share again url, from with a shared url session.<br>
9. Line number is shown when import fails on error.<br>
10. Renumbering or reformat is not affecting REM command. <br>
11. Added color control of the palette.<br>
12. For shared URL programs, extended mode is now auto-detected.<br>
13. Sprite moving did not work properly in hires.<br>
14. Allow for cursor control characters in a string<br>
15. Detect when NOPET lines become to large, and ignore them if this is the case<br>
16. Define TI$ threw an error<br>
</div>
<a href=versions/0.8p4/index.html target=_blank>Version 0.8 - Patch 4</a> <font size=-2><a href="#p4releasenotes" onClick="openDiv('p4releasenotes');">[read more]</a></font><br>
<div class="releasenotes" id="p4releasenotesDIV" style="display:none">
<a id="p4releasenotes"><b>Release Notes Patch 4</b></a><br><br>
This patch has the following fixes:<br><br>
1. Fixes in the Menu display.<br>
2. Fixes for "Basic/List" from the menu & added color to highlight current line.<br>
3. Cursor scroll down scrolls the screen, cursor retains background color.<br>
</div>
<a href=versions/0.8p3/index.html target=_blank>Version 0.8 - Patch 3</a> <font size=-2><a href="#p3releasenotes" onClick="openDiv('p3releasenotes');">[read more]</a></font><br>
<div class="releasenotes" id="p3releasenotesDIV" style="display:none">
<a id="p3releasenotes"><b>Release Notes Patch 3</b></a><br><br>
This patch has the following fixes:<br><br>
1. Added and normalized external sprite commands.<br>
2. Extra options for renumbering.<br>
3. Fix for being able to include "run" inside a programline.<br>
4. Improved listing of your basic program inside the power menu<br><br>
COMPATIBILITY WARNING: <br>
the 'spokes' command is now called 'sfpoke'<br>
</div>
<a href=versions/0.8p4/index.html target=_blank>Version 0.8 - Patch 4</a><br>
<a href=versions/0.8p3/index.html target=_blank>Version 0.8 - Patch 3</a><br>
<a href=versions/0.8p2/index.html target=_blank>Version 0.8 - Patch 2</a><br>
<a href=versions/0.8p1/index.html target=_blank>Version 0.8 - Patch 1</a><br>
<a href=versions/0.8/index.html target=_blank>Version 0.8</a><br>
<a href=versions/experimental/index.html target=_blank>Experimental version</a><br>
<br>
<br>
<b><font size=+2>More</font></b><br>
<b><a name="Other1">PETSCII</a></b><br>
<a href=https://www.c64-wiki.com/wiki/PETSCII target=_blank>PETSCII Print Characters (external link/c64 wiki)</a><br>
<a href=https://dflund.se/~triad/krad/recode/scr1.jpg target=_blank>PETSCII Screen Codes 1/1(external link/c64 wiki)</a><br>
<a href=https://dflund.se/~triad/krad/recode/scr2.jpg target=_blank>PETSCII Screen Codes 1/2(external link/c64 wiki)</a><br>
<a href=https://dflund.se/~triad/krad/recode/scr3.jpg target=_blank>PETSCII Screen Codes 1/3(external link/c64 wiki)</a><br>
<br>
<br>
<b><a name="Other2">Other</a></b><br>
<a href=http://www.vintage-basic.net/games.html target=_blank>Type-In Games (external link/vintage-basic)</a><br>
<a href="https://github.com/JoystickAndCursorKeys/basic64-js/issues" target=_blank>Bug reports and feature requests</a><br>
<a href="https://github.com/JoystickAndCursorKeys/basic64-js" target=_blank>Source Code on Github</a><br>
<br>
<br>
</td></tr></table></center>
</body>