Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

  1. A можно ли добавить кнопку установки на рабочий стол как PWA?
  2. На смартфоне "световое перо" в игре "Марс" не работает
begoon
Senior
Posts: 147
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by begoon »

Alikberov wrote:
  1. A можно ли добавить кнопку установки на рабочий стол как PWA?
  2. На смартфоне "световое перо" в игре "Марс" не работает
Про андроид не скажу, ибо у меня его нет. На айфоне нужно открыть сайт в Safari и оттуда сделать Save to Desktop.
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

begoon wrote:Про андроид не скажу, ибо у меня его нет. На айфоне нужно открыть сайт в Safari и оттуда сделать Save to Desktop.
PWA работает всюду, на сколько могу судить по опыту.
Просто, довольно удобная фишка.
По крайней мере, даже на Raspberry Pi в Chromium у меня отображается кнопка.
You do not have the required permissions to view the files attached to this post.
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

Сейчас разрабатываю Chrome Extension для поддержки в Вашем эмуляторе отладки концепта памяти в 512 Кб…
Как "внедрял" поддержку "светового пера" ранее…

Очень продуктивно было бы получить возможность загрузки исходных листингов с ассемблера в редактор, типа:
https://rk86.ru/index.html?file=https:/ ... BEDITU.ASM
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Shaos »

Shaos wrote:Форкнул себе репозиторий с исходниками этого суперэмулятора РК - буду делать поддержку 128К и сети :)

https://gitlab.com/shaos/rk86-js

Планирую превратить это в среду разработки ShaOS с возможностью сохранения подпрограмм на сервере ;)

P.S. Сайт с моей версией: http://rk86.net
Репа живёт на гитлабе с июня 2018 года
Оригинал далеко вперёд ушёл, а я так и застрял на состоянии июня 2018 года :roll:
Надо чтоли поглядеть, что можно смёрджить (как минимум подтягивание файлов извне и возможно звук), а так наверное пора начать добавлять запланированные с 2016 года фичи:
Shaos wrote:Ну и потом вместо локального сохранения (которое надо специальным образом разрешать) я хочу прикрутить "cloud" - все загрузки-сохранения будут происходлить на "облаке" с возможностью делиться наработками с другими...

P.S. И еще до кучи можно поддержать Микрошу и цветной Апогей :)
ну и расширение памяти до 128К добавить и сеть 8)

P.S. Тут по ходу оказалось, что этот эмулятор (ни новый, ни старый) не поддерживает нестандартные режимы ВГ75 - надо добавить изменение количества строк и высоту символов (а перепрограммирование ПДП для перенесения экрана в другое место вроде работает т.к. 16-килобайтный монитор там тоже есть, а у него экран сидит до 4000h).

P.P.S. А пока поправил клаву (названия Clear и AP2):

Image

Надо чекбоксы ещё добавить на СС и УС (Shift/Ctrl) и возможно вариант раскладки QWERTY поддержать

P.P.P.S. Ещё можно кнопки Console, Screenshot, [V]isualizer и Full Screen убрать в верхний ряд кнопок, чтобы освободить место под меню переключения стандарта цветности и другие тонкие настройки эмулятора...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

Shaos wrote:P.S. Тут по ходу оказалось, что этот эмулятор (ни новый, ни старый) не поддерживает нестандартные режимы ВГ75 - надо добавить изменение количества строк и высоту символов...
Высоту символов, атрибуты цвета и "Стоп ПДП" я в конкретно этом эмуляторе реализовал с помощью того же Chrome-Extension.
Правда, это вылетает в процент производительности. :roll:
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Shaos »

Alikberov wrote:
Shaos wrote:P.S. Тут по ходу оказалось, что этот эмулятор (ни новый, ни старый) не поддерживает нестандартные режимы ВГ75 - надо добавить изменение количества строк и высоту символов...
Высоту символов, атрибуты цвета и "Стоп ПДП" я в конкретно этом эмуляторе реализовал с помощью того же Chrome-Extension.
Правда, это вылетает в процент производительности. :roll:
Поделись рецептом :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

Shaos wrote:Поделись рецептом :roll:
Вот тут :mrgreen:
Или интересует готовый мой скрипт? :o
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Shaos »

Угу - как добавил новые фичи ВГ75
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

Shaos wrote:Угу - как добавил новые фичи ВГ75
Видео могу показать:

(На видео уже видна просадка скорости!)
Исходные скрипты - на флешке.
Если очень нужно - позже достану и перекачаю.
Last edited by Alikberov on 27 Feb 2024 03:59, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Shaos »

Это видео я уже видел :lol:
Интересует сама программа :roll:

P.S. Кстати у этого эмулятора знакогенератор 256 символов и похоже они прям так по кодам и выводятся:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

Shaos wrote:Это видео я уже видел :lol:
Интересует сама программа :roll:

P.S. Кстати у этого эмулятора знакогенератор 256 символов и похоже они прям так и выводятся:
Да, там все 256 символов!
Чтобы реализовать трюки F0/F1/F2/F3 и атрибуты 80-BF, пришлось перекроить процедуру рендеринга. И редактор знакогенератора так разработал/отладил.
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Shaos »

Alikberov wrote:Чтобы реализовать трюки F0/F1/F2/F3 и атрибуты 80-BF, пришлось перекроить процедуру рендеринга.
Давай диффы - добавлю в свою версию и допишу твой копирайт к нашим с Дёминым ;)

Code: Select all

/*
 * Radio-86RK in JavaScript based on I8080/JS
 *
 * Copyright (C) 2009,2012,2017 Alexander Demin <alexander@demin.ws>
 * Copyright (C) 2016,2018,2024 Alexander Shabarshin <me@shaos.net>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Alikberov
Doomed
Posts: 347
Joined: 14 Oct 2019 18:10
Location: Tashkent

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Alikberov »

В общем, в скрипте - каша:
  1. Исправлен дамп ассемблера (строчная часть латиницы отображается кириллицей)
  2. Исправлен ассемблер (строки кириллицей кодируются в КОИ-7, как и следует)
  3. В ассемблер добавлены команды работы с теневой памятью (в рамках 512 Кб и графики)
  4. В эмулятор процессора добавлена поддержка префиксов теневой памяти 512 Кб
  5. В эмуляцию экрана добавлена поддержка кодов ПДП (F0/F1/F2/F3), но с нюансами
  6. В эмуляцию рендерига добавлена поддержка атрибутов цвета (с потолка, чтобы убедиться, что цвет - добавить можно)
  7. В эмуляцию памяти добавлена перезапись знакогенератора (C000-DFFE и E00C-FFFF)
  8. В эмуляцию памяти добавлена поддержка графики
  9. В эмуляцию ППА клавиатуры добавлена симуляция подключения индикатора ИПВ72А-4/5X7 (скрипт симуляции) только для личных опытов

 Код управления индикацией ИПВ
Внимание: Модифицируется код опроса клавиатуры для обеспечения непрерывного цикла регенерации данных на индикаторе.

Code: Select all

; D??? ???? D1
; ?C?? ???? C
; ??E? ???? E
; ???5 4321 PIXELS

        ORG     0
        LXI     D,08000H
REFRSH: LXI     H,TABLE
SHOW:   LDAX    D
        ANI     0DFH            ; Запрет индикации (вывод 8 в "0")
        STAX    D
        ANI     09FH            ; Тактовый срез (вывод 10 в "0")
        STAX    D
        MOV     A,M
        ORI     060H            ; Разрешаем индикацию (вывод 8 в "1")
        STAX    D
        JM      REFRSH
        INX     H
        LXI     B,017FH
DELAY:  DCX     B
        MOV     A,B
        ORA     C
        JNZ     DELAY
        JMP     SHOW

        ORG     07660H
TABLE:  DB      011H,011H,011H,01FH,011H,011H,011H
        DB      01FH,010H,010H,01EH,010H,010H,01FH
        DB      010H,010H,010H,010H,010H,010H,01FH
        DB      00EH,011H,011H,011H,011H,011H,08EH

        ORG     0FE91H
        INR     A
        MVI     A,0FFH
        JZ      DISPLY
        ORG     0FF75H
        NOP
DISPLY: PUSH    H
        PUSH    D
        LXI     D,08000H
        LHLD    0764EH
        MOV     A,M
        ORI     060H
        STAX    D
        ANI     0CFH
        STAX    D
        INX     H
        JP      DISPLA
        LXI     H,07660H
DISPLA: SHLD    0764EH
        POP     D
        POP     H
        MVI     A,0FFH
        RET

// DI \C EN Y5 Y4 Y3 Y2 Y1
// D7_D6_D5_D4_D3_D2_D1_D0
// -----------------------
//  1  1  0 <-- Prepare display start
//  1  0  0 <-- Strobe first line
//  0  1  1 <-- Display line
//  0  1  0 <-- Prepare next line
//  0  0  0 <-- Strobe next line
//  0  1  1 <-- Display line
//  0  1  0 <-- Prepare next line
//  0  0  0 <-- Strobe next line

You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Shaos »

Спасибо, вечерком буду разбираться...
Я тут за главного - если что шлите мыло на me собака shaos точка net