forked from mattgodbolt/jsbeeb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.html
115 lines (110 loc) · 6.48 KB
/
tests.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
<!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">
<meta name="author" content="Matt Godbolt">
<meta name="description" content="A Javascript BBC Micro emulator">
<title>JSBeeb - Javascript BBC Micro emulator test</title>
<link rel="stylesheet" href="lib/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="jsbeeb.css" type="text/css">
<link rel="stylesheet" href="tests/test.css" type="text/css">
<link rel="shortcut icon" href="favicon.ico">
<script type="text/javascript" src="lib/require.js"></script>
<script type="text/javascript">
require(['requirejs-common'], function() {
require(['./tests/test-web.js']);
});
</script>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">jsbeeb - tests</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about" data-toggle="modal" data-target="#info">About</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contact<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="https://plus.google.com/105166465490735292917" rel="author">About Matt</a></li>
<li><a href="mailto:matt@godbolt.org">Contact Matt</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<div id="test-info">
<div class="template">
<h2 class="test-name"></h2>
<ul>
<li class="template test-out"></li>
</ul>
</div>
</div>
<!-- comment the following back in to regain the screen during tests -->
<!-- <canvas id="screen" width="698" height="571"></canvas> -->
<div id="debug">
<div id="disassembly">
<div class="template"><span class="dis_addr">0000</span><span class="instr_bytes">11 22 33</span><span class="instr_asc">ABC</span><span class="disassembly">LDA (&70), X</span></div>
</div>
<div id="registers">
<div>
<span class="flag" id="cpu6502_flag_c">C</span><span class="flag" id="cpu6502_flag_z">Z</span><span class="flag" id="cpu6502_flag_i">I</span><span class="flag" id="cpu6502_flag_d">D</span><span class="flag" id="cpu6502_flag_v">V</span><span class="flag" id="cpu6502_flag_n">N</span>
</div>
<div><span class="register">A</span>: <span id="cpu6502_a">00</span></div>
<div><span class="register">X</span>: <span id="cpu6502_x">00</span></div>
<div><span class="register">Y</span>: <span id="cpu6502_y">00</span></div>
<div><span class="register">S</span>: <span id="cpu6502_s">00</span></div>
<div><span class="register">PC</span>: <span id="cpu6502_pc">0000</span></div>
</div>
</div>
<div id="hardware_debug">
<div class="via_regs" id="sysvia">
<h6>System VIA</h6>
<table><tbody>
<tr class="template"><th><span class="register"></span>:</th><td class="value"></td></tr>
</tbody></table>
</div>
<div class="via_regs" id="uservia">
<h6>User VIA</h6>
<table><tbody>
<tr class="template"><th><span class="register"></span>:</th><td class="value"></td></tr>
</tbody></table>
</div>
</div>
</div>
<div class="modal fade" id="info">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">About jsbeeb</h4>
</div>
<div class="modal-body">
<div>By <a href="http://xania.org/">Matt Godbolt</a>. Based on Tom Walker's <a href="http://b-em.bbcmicro.com/">b-em</a> emulator. Huge thanks to him for open sourcing his code. Big thanks too to Richard Talbot-Watkins for his help and support. The disc loaded up by default is the amazing Elite (thanks to <a href="http://www.iancgbell.clara.net/elite/bbc/">Ian Bell</a> for making it available).</div>
<div>Source is on <a href="https://github.com/mattgodbolt/jsbeeb">GitHub</a>. Works best in Chrome or Firefox. Still very much work in progress: keep coming back for bugfixes and more features!</div>
<h5>Key mappings</h5>
<div><span class="key">F0</span> is <span class="key">F10</span>, <span class="key">BREAK</span> is <span class="key">F12</span>. Hit <span class="key">HOME</span> for a debugger.</div>
<div>To boot the disc, hold <span class="key">SHIFT</span> and then tap <span class="key">F12</span>.</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body>
</html>