-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathabout.html
More file actions
212 lines (192 loc) · 10.2 KB
/
about.html
File metadata and controls
212 lines (192 loc) · 10.2 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
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
<!DOCTYPE html>
<html>
<head>
<title>About JS85EMU</title>
<meta charset="UTF-8">
<style>
body {text-align: center;}
</style>
</head>
<body>
<h1>About JS85EMU</h1>
<h3><a href="about_ru.html">Русский</a></h3>
<img src="bitmaps/js85.png" alt="JS85">
<p style="text-align: left;">
<b>JS85EMU</b> is an emulator of the Soviet <b>microcomputer</b>/<b>microcalculator</b>/<b>personal computer</b>
(exactly these <b>three</b> types are mentioned on the box, in the user manual, or on the device itself) <b>Elektronika MK85(M)</b>.<br>
</p>
<table style="font-size:18px;font-weight:bold;text-align:center;margin-left: auto;margin-right: auto;">
<tr><td colspan="2" td style="padding-bottom:20px;">
GitHub: <a href="https://github.com/Bs0Dd/JS85EMU" target="_blank">JS85EMU</a><br>
<span style="font-size:13px;">2024, 2025 © Compys S&N Systems</span>
</td></tr>
<tr><td style="padding-right:20px;">Based on <a href="https://github.com/KP1533TM2/js-mk85" target="_blank">js-mk85</a> emulator<br>
<span style="font-size:13px;">2016 © Alexei Gordeev a.k.a. KP1533TM2</span></td>
<td style="padding-left:20px;">Analysis of MK-85 operation and materials<br>
<span style="font-size:13px;">
2006-2021 © Piotr Piatek a.k.a. piotr433</span></td>
</tr></table>
<p>I express special gratitude to the participants of the <a href="http://www.leningrad.su/museum/" target="_blank"><b>Sergei Frolov's</b></a> chat
(<b>Retro computers, calculators and other retro</b>) for help in finding bugs, debugging, and information about the operating features of the device.</p><br>
<h2>Changelog</h2>
<div style="text-align: left;">
<b>-> Version 1.64 - 27.07.2025</b>
</div>
<ul style="text-align: left;">
<li>The emulator processor no longer calls vector 04 (BUS ERROR) when accessing a word<br>
at an odd address. According to the real MK85 and the LSI-11 specification (on which<br>
the 1801VM2 core is based), the processor in such a case ignores the A0 bit (the least<br>
significant bit of the address), performing alignment to an even address.</li>
<li>Fixed errors of import and export of "incorrect" BASIC programs.<br>
Necessary for loading machine programs in the form of a BASIC listing.<br>
Read more <a href="http://mk.bs0dd.net/piotr433/mk85mc1e.htm" target="_blank">here</a>.</li>
<li>It's been one year since I started working on JS**EMU projects!</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.62 - 06.03.2025</b>
</div>
<ul style="text-align: left;">
<li>Fixed a bug with incorrect address disassembly in SOB and BR family operations.</li>
<li>Fixed a bug with incorrect parsing of the breakpoint address.</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.61 - 16.10.2024</b>
</div>
<ul style="text-align: left;">
<li>More efficient graphics compression has been applied.<br>The overall size of the "distribution" has been halved!</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.6 - 21.09.2024</b>
</div>
<ul style="text-align: left;">
<li>Support for loading RAM and ROM via network link (URL parameters <b>ram</b> and <b>rom</b>)</li>
<li>Fixed inaccuracies in the INC(B), DEC(B), DIV, MFPS instructions</li>
<li>Fixed inaccuracies in keyboard emulation</li>
<li>Fixed incorrect readings of the PP register in binary format</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.52 - 19.08.2024</b>
</div>
<ul style="text-align: left;">
<li>Fixed a bug in the interrupt execution function<br>
(R6/SP was saved instead of PSW)</li>
<li>Improved interrupt system (correct operation of the WAIT instruction<br>
and reset the internal EVNT interrupt flag)</li>
<li>Fixed RTT and ASHC instructions</li>
<li>Fixed a bug in the breakpoint system
(the system worked instantly if the breakpoint<br>was set to the current address)</li>
<li>The assembler instruction and register value entry fields are automatically<br>
highlighted when you click on the buttons that transfer data to these fields.</li>
<li>Now, after entering a value in the input fields, just press Enter<br>
to apply the value entered in the field
</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.5 - 12.08.2024</b>
</div>
<ul style="text-align: left;">
<li><b>Help</b> is now available with a description of the features of working with the emulator</li>
<li>Improved keyboard controller emulation (multiple key press support)</li>
<li>Improved memory controller emulation (returns 0xFF if memory area is empty)</li>
<li>Improved BASIC data converters (fixes in processing functions)</li>
<li>Minor fixes in Debugger, quick register selection function</li>
<li>Added third-party ROM "PL ROM" (version 27 BETA from 11/17/2010),<br>
containing an improved version of the factory firmware with new functions</li>
<li>Added a fix to ensure that factory firmware works with 32KB of RAM</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.4 - 25.07.2024</b>
</div>
<ul style="text-align: left;">
<li>"Debugger" tool introduced:
<ul>
<li>Execution control: pause, step by step (1 or more steps at a time), breakpoint at address</li>
<li>View and edit RAM in "bytes" and "words" modes</li>
<li>Viewing the state of processor registers (and special registers CPUCTRL, PP and KEYB)<br>and editing (except KEYB)</li>
<li>View disassembled data in ROM and RAM (lite-disasm11)<br>and replace it (lite-asm11) in memory (edited ROM is not saved on page reload)</li>
<li>Display data in hexadecimal or octal</li>
</ul>
</li>
<li>Added tools for working with BASIC programs:
<ul>
<li>Getting a list of contents in variables</li>
<li>Exporting program code into text files (Unicode encoding)</li>
<li>Loading programs into memory. One file can contain several programs,<br>for each you can optionally specify a number (the line "Program *" before the<br>beginning of the code),
otherwise the program will be loaded into the first free cell.<br>Lines without a number are treated as comments and ignored.<br>
The end of the program is indicated by two empty lines.</li>
</ul>
</li>
<li>Added (previously missing) instructions MARK, ASHC, SXT and fixed a bug in ASH<br>(although the functionality of the operations is questionable; the firmware does not use them)</li>
<li>Added support for a software switch (12 bit in CPUCTRL),
now when you press<br>the STOP key 21 times the emulator will turn off,
as in the original<br>(the handler in the firmware does not recognize the
STOP key and<br>turns off the system after it could not recognize the key 21 times in a row)</li>
<li>Depending on the size of the RAM, the name of the virtual device changes<br>
("MK 85" with 2KB RAM, otherwise "MK 85M")</li>
<li>Pause no longer turns off when switching between tabs</li>
<li>Various minor bug fixes</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.02 - 09.07.2024</b>
</div>
<ul style="text-align: left;">
<li>Now each button that opens a page opens it in its own window<br>
(previously all buttons opened the page in the same window)</li>
<li>Added utility for encoding pixels into character 96 format.<br>
You can send the encoded string directly to the device<br>
(via keystroke emulation)</li>
<li>The panel now shows whether the device clock is stopped</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.01 - 07.07.2024</b>
</div>
<ul style="text-align: left;">
<li>Fixed a bug with turning on a switched off device after switching to another tab and back</li>
</ul>
<br>
<div style="text-align: left;">
<b>-> Version 1.00 - 06.07.2024</b>
</div>
<ul style="text-align: left;">
<li>First public version of the emulator</li>
<li>
Changes compared to the original <b>js-mk85</b> emulator:
<ul>
<li>The interface has been redesigned, the graphics are taken from the emulator by Piotr Piatek</li>
<li>Fixed increment/decrement addressing error for SP register (R6)</li>
<li>Implemented missing processor instructions</li>
<li>Implemented special instructions for console (HALT) mode<br>
(although their correct operation is not guaranteed)
</li>
<li>Added the ability to turn it off/on</li>
<li>Added settings panel</li>
<li>Support pause and restart</li>
<li>It is possible to display extended characters from the original overlay</li>
<li>Vibration when pressing keys (mobile devices only)</li>
<li>Showing the amount of free memory for programs<br>
(the MK85 indicator is not able to adequately display a number greater than 9999)</li>
<li>Showing the number of allocated variables and the space they occupy</li>
<li>Full keyboard support (layout diagram available via button)</li>
<li>Support easy loading of RAM or ROM from files<br>
RAM memory can also be saved to a computer</li>
<li>Changing RAM size (from 2 to 32 KB) and automatic memory initialization</li>
<li>Storing RAM and user ROM in local storage instead of cookies</li>
<li>Turbo mode support (turn on with pressed plus or by button)</li>
<li>Ability to turn on Turbo on the go without restarting the emulation</li>
<li>Ability to change the speed of standard and Turbo modes</li>
</ul>
</li>
<li>Planning to add: debugger and help</li>
<li>Perhaps planning an utility to encode pixels into character 96 format</li>
</ul>
<img src="bitmaps/realmk.jpg" alt="Real MK85" height="400px">
</body>
</html>