forked from dmcoles/EstyJs
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathindex.html
More file actions
132 lines (119 loc) · 5.89 KB
/
index.html
File metadata and controls
132 lines (119 loc) · 5.89 KB
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
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="Javascript based Atari ST Emulator">
<meta name="keywords" content="JavaScript, Atari, ST, Emulator, EstyJs">
<meta name="author" content="Darren Coles">
<title>EstyJs</title>
<link rel="stylesheet" type="text/css" href="css/estyjs2.css">
<script src="esty2-gui.js"></script>
<script src="estyjs/estyjs.js"></script>
<script src="estyjs/processor.js"></script>
<script src="estyjs/keyboard.js"></script>
<script src="estyjs/mfp.js"></script>
<script src="estyjs/fdc.js"></script>
<script src="estyjs/io.js"></script>
<script src="estyjs/bug.js"></script>
<script src="estyjs/display.js"></script>
<script src="estyjs/memory.js"></script>
<script src="estyjs/snapshot.js"></script>
<script src="estyjs/sound.js"></script>
<script src="estyjs/files.js"></script>
<script src="estyjs/js-unzip.js"></script>
<script src="estyjs/rawinflate.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function (event) {
// Your code to run since DOM is loaded and ready
console.log("Loaded")
document.getElementById('selectedFile').addEventListener('change', fileSelected, false);
document.getElementById('selectedFileB').addEventListener('change', fileSelected2, false);
document.getElementById('selectedTOS').addEventListener('change', tosSelected, false);
splashScreen('img/logo.png', function(){
estyjs = EstyJs("EstyJsOutput");
estyjs.setRowSkip(false);
estyjs.setMonoMonitor(false);
});
});
</script>
</head>
<body>
<div id="estyjs">
<div id="screen">
<canvas id="EstyJsOutput" width="640" height="400">
</canvas>
</div>
<div id="buttonpanel">
<div id="logo">
<img src="img/logo.png" alt="EstyJS Logo">
</div>
<button id="btnFullscreen" onclick="fullScreen();"><span>Expand</span></button>
<button id="btnLocked" onclick="lockMouse();"><span>Lock</span></button>
<button onclick="reset()" id="btnReset"><span>Reset</span></button>
<button onclick="colorToggle()" id="btnColor"><span>Screen</span></button>
<button onclick="pauseResume()" id="btnPause"><span>Pause</span></button>
<button onclick="soundToggle()" id="btnSound"><span>Sound on</span></button>
<input type="file" id="selectedTOS" accept=".img" style="display: none;">
</div>
<div id="floppies">
<button onclick="document.getElementById('selectedTOS').click();" id="btnTOS"><img src="img/rom.png" id="rom" width="176" height="83"><div>ROM</div></button>
<input type="file" id="selectedFile" accept=".sts,.st,.msa,.zip" style="display: none;">
<input type="file" id="selectedFileB" accept=".sts,.st,.msa,.zip" style="display: none;">
<button onclick="document.getElementById('selectedFile').click();" id="btnBrowse"><img src="img/floppy-empty.png" id="floppy-1" width="300" height="83"/><div>DISK A</div></button>
<button onclick="document.getElementById('selectedFileB').click();" id="btnBrowse"><img src="img/floppy-empty.png" id="floppy-2" width="300" height="83"/><div>DISK B</div></button>
</div>
<div id="settings">
<input type="checkbox" id="joystick" checked="checked" onclick="changeJoystick()">Joystick
<input type="checkbox" id="showpct" onclick="changeShowPct()">Show Speed
<input type="checkbox" id="frameskip" onclick="changeFrameskip()">Frameskip
<input type="checkbox" id="ram" checked="checked" onclick="changeRamSize()">1Meg
</div>
</div>
<div id="content">
<h2>Atari ST</h2>
<p>
<img src="img/Atari_1040STf-600.png" style="float:right;" alt="Photo of an Atari ST">
The Atari ST was a 16 bit home computer that was very popular in the late 80's and early 90's.
It was the direct competitor of the Commodore Amiga and both machines were based upon the 68000 CPU.
It was first released in 1985 and was very sucessful in the professional music industry due to having MIDI
ports as standard.
</p>
<h2>EstyJS 2.0</h2>
<p>EstyJS is an emulator for the Atari ST, written in 100% pure JavaScript, originally developed by Darren
Coles. Since 2024 and the release of EstyJS 2.0,
the project is maintained by Kai Eckert. The source code is available on <a
href="https://github.com/kaiec/EstyJS">GitHub</a>. Please use GitHub issues for feedback, bugs and
ideas.
</p>
<p>
EstyJS is not a full emulation and focuses on running games or old software for demonstration purposes.
Notable limitations:
</p>
<ul>
<li>No writing to floppies.</li>
<li>Only partial support of keyboard/mouse/joystick.</li>
<li>Timer pulse width & high accuracy < 1 scanline is not supported.</li>
<li>No border effects (as used by some demos), only the official resolutions are supported.</li>
</ul>
<h2>Usage</h2>
<ul>
<li>Click the floppy drives to load a floppy image (.st or .sts files are supported)</li>
<li>Use the middle mouse button to realign the mouse pointer if necessary.</li>
<li>Joystick 1 is emulated using cursor keys and ctrl (or a real usb joypad).</li>
</ul>
<h2>Credits</h2>
<ul>
<li>EstyJS 2.0 since 2024 by <a href="https://github.com/kaiec/EstyJS">Kai Eckert</a>.</li>
<li>EstyJS 1.0 (2013 - 2024) by <a href="https://github.com/dmcoles/EstyJs">Darren Coles</a>.</li>
<li><a href="https://emutos.sourceforge.io/">EmuTOS</a> is the open source implementation of the original
Atari TOS operating system and used by default in EstyJS (but the original TOS works, too!).</li>
<li>68000 emulation core - Rupert Hausberger (adapted from <a
href="http://scriptedamigaemulator.net/">SAE</a> by Darren Coles).</li>
<li>Atari ST image from Wikipedia by <a href="http://en.wikipedia.org/wiki/File:Atari_1040STf.jpg">Bill
Bertram.</a></li>
<li>The font used on this page is <a href="https://github.com/sporniket/Sporniket-Nostalgie-Sans">Sporniket
Nostalgie v2</a>, inspired by the Atari ST system font.</li>
</ul>
</div>
</body>
</html>