rk86 2.0.21 → 2.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/rk86.js +16 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rk86",
3
- "version": "2.0.21",
3
+ "version": "2.0.22",
4
4
  "description": "Эмулятор Радио-86РК (Intel 8080) для терминала",
5
5
  "bin": {
6
6
  "rk86": "rk86.js"
package/rk86.js CHANGED
@@ -1263,12 +1263,12 @@ var init_catalog_data = __esm(() => {
1263
1263
  leadingE6: true
1264
1264
  },
1265
1265
  {
1266
- name: "MESHANINA.rk",
1266
+ name: "MESHANINA.RK",
1267
1267
  title: "\u0418\u0433\u0440\u0430 \xAB\u041C\u0435\u0448\u0430\u043D\u0438\u043D\u0430\xBB, \u0432\u0435\u0440\u0441\u0438\u044F 1.1",
1268
1268
  description: `\u041B\u042D\u041C\u0417, 1989. \u041F\u0435\u0440\u0435\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u0430\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u043E\u0433\u043E \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u0430.
1269
1269
  \u0418\u0433\u0440\u0430 \u043D\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438\u043D\u0442\u0443\u0438\u0446\u0438\u0438 \u0438 \u043D\u0430\u0432\u044B\u043A\u043E\u0432 \u0440\u0430\u0431\u043E\u0442\u044B \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043E\u0439: \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440 \u0432\u044B\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u043B\u043E\u0432\u043E \u0438\u0437 3\u20147 \u0431\u0443\u043A\u0432 \u0438 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u043E \u043F\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0432 \u043D\u0451\u043C \u0431\u0443\u043A\u0432\u044B \u2014 \u043D\u0443\u0436\u043D\u043E \u0443\u0433\u0430\u0434\u0430\u0442\u044C.`,
1270
1270
  screenshots: [
1271
- "MESHANINA.rk-1.png"
1271
+ "MESHANINA.RK-1.png"
1272
1272
  ],
1273
1273
  start: 256,
1274
1274
  end: 3344,
@@ -3982,7 +3982,7 @@ import { basename } from "path";
3982
3982
  // packages/rk86/package.json
3983
3983
  var package_default = {
3984
3984
  name: "rk86",
3985
- version: "2.0.20",
3985
+ version: "2.0.21",
3986
3986
  description: "\u042D\u043C\u0443\u043B\u044F\u0442\u043E\u0440 \u0420\u0430\u0434\u0438\u043E-86\u0420\u041A (Intel 8080) \u0434\u043B\u044F \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430",
3987
3987
  bin: {
3988
3988
  rk86: "rk86.js"
@@ -6034,6 +6034,17 @@ function setupKeyboard(keyboard) {
6034
6034
  process.stdout.write("\x1B[2J\x1B[H");
6035
6035
  process.exit(0);
6036
6036
  }
6037
+ if (data.length === 1 && data >= "\x01" && data <= "\x1A" && data !== "\b" && data !== "\t" && data !== `
6038
+ ` && data !== "\r") {
6039
+ const code2 = `Key${String.fromCharCode(data.charCodeAt(0) + 64)}`;
6040
+ keyboard.onkeydown("ControlLeft");
6041
+ keyboard.onkeydown(code2);
6042
+ setTimeout(() => {
6043
+ keyboard.onkeyup(code2);
6044
+ keyboard.onkeyup("ControlLeft");
6045
+ }, 50);
6046
+ return;
6047
+ }
6037
6048
  const code = KEY_MAP[data] || KEY_MAP[data.toLowerCase()];
6038
6049
  if (code) {
6039
6050
  if (data.length === 1 && data >= "A" && data <= "Z") {
@@ -6100,7 +6111,8 @@ function printHelp() {
6100
6111
  bunx rk86 -g 0x100 prog.bin \u0437\u0430\u043F\u0443\u0441\u043A \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 100h
6101
6112
 
6102
6113
  \u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435:
6103
- Ctrl+C \u0432\u044B\u0445\u043E\u0434`);
6114
+ Ctrl+C \u0432\u044B\u0445\u043E\u0434
6115
+ Ctrl+<\u0431\u0443\u043A\u0432\u0430> \u0421\u0421 + <\u0431\u0443\u043A\u0432\u0430> (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 Ctrl+A = \u0421\u0421+A)`);
6104
6116
  }
6105
6117
  function htmlToAnsi(html) {
6106
6118
  return html.replace(/<a\s+href="([^"]*)"[^>]*>(.*?)<\/a>/g, (_m, url, text) => `\x1B]8;;${url}\x1B\\${text}\x1B]8;;\x1B\\`).replace(/<[^>]*>/g, "").replace(/\n+/g, " ").trim();