Текстовый эмулятор Pseudo-86RK

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

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Во время последнего стрима я таки починил кнопочки в эмуляторе - теперь ничего не залипает и не тормозит :lol:


https://www.youtube.com/watch?v=VwjunuGvCko

Репу обновил ... а потом ещё раз обновил, чтобы починить Enter на линухе (там он 0x0A возвращает вместо 0x0D - это уже в стрим не вошло):
https://gitlab.com/nedopc/sdk/-/tree/master/pseudo-86rk
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Ещё думаю буфер нажимаемых кнопок реализовать чтобы ничего не терялось вне зависимости от того как быстро человек нажимает на кнопки - после этого станет возможным вводимое задавать как параметр запуска эмулятора (типа pseudo-86rk -kDF800,FFFF чтобы автоматизировать прогоны тесткейсов)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Shaos wrote:Ещё думаю буфер нажимаемых кнопок реализовать чтобы ничего не терялось вне зависимости от того как быстро человек нажимает на кнопки - после этого станет возможным вводимое задавать как параметр запуска эмулятора (типа pseudo-86rk -kDF800,FFFF чтобы автоматизировать прогоны тесткейсов)
Уже скоро:


https://www.youtube.com/watch?v=QRgKMH9jssM
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Стрим закончился - эмуляцию клавы через аргументы командной строки вроде сделал, но только для версии которая в терминале работает, а надо бы для stdout тоже - это если для автоматических тестов...

P.S. Коммит тоже пушнул: https://gitlab.com/nedopc/sdk/-/commit/8d81a0dfb3bd58997c31187d32da3c350fa54e1e
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

В эту пятницу можно постримать и дописать уже :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Shaos wrote:В эту пятницу можно постримать и дописать уже :roll:
Подключаемся :lol:


https://www.youtube.com/watch?v=iR_K8G8iDZI

P.S. Кстати у кого-нибудь есть вот та самая программка, которая на картинке показана как бы на экране РК? Она в журнале Радио на обложке ещё была...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Стрим закончился - я успел сделать режим stdout опциональным для полной сборки (включается опцией -t) наряду со всё ещё существующей возможностью собрать чисто stdout вариант, а также поддержал эмуляцию ввода с клавиатуры через -k в режиме stdout тоже - теперь можно это запускать автоматически в CI/CD, например ./pseudo-86rk-stdout -kDF800,F8FF выдаст:

Code: Select all

{pseudo-86rk:v0.3}

radio-86rk
-->
DF800,F8FF
F800 C3 36 F8 C3 63 FE C3 98 FB C3 BA FC C3 46 FC C3 
F810 BA FC C3 01 FE C3 A5 FC C3 22 F9 C3 72 FE C3 7B 
F820 FA C3 7F FA C3 B6 FA C3 49 FB C3 16 FB C3 CE FA 
F830 C3 52 FF C3 56 FF 3E 8A 32 03 80 31 CF 76 CD CE 
F840 FA 21 00 76 11 5F 76 0E 00 CD ED F9 21 CF 76 22 
F850 1C 76 21 5A FF CD 22 F9 CD CE FA 21 FF 75 22 31 
F860 76 21 2A 1D 22 2F 76 3E C3 32 26 76 31 CF 76 21 
F870 66 FF CD 22 F9 32 02 80 3D 32 02 A0 CD EE F8 21 
F880 6C F8 E5 21 33 76 7E FE 58 CA D3 FF FE 55 CA 00 
F890 F0 F5 CD 2C F9 2A 2B 76 4D 44 2A 29 76 EB 2A 27 
F8A0 76 F1 FE 44 CA C5 F9 FE 43 CA D7 F9 FE 46 CA ED 
F8B0 F9 FE 53 CA F4 F9 FE 54 CA FF F9 FE 4D CA 26 FA 
F8C0 FE 47 CA 3F FA FE 49 CA 86 FA FE 4F CA 2D FB FE 
F8D0 4C CA 08 FA FE 52 CA 68 FA C3 00 F0 3E 33 BD CA 
F8E0 F1 F8 E5 21 9E FF CD 22 F9 E1 2B C3 F3 F8 21 33 
F8F0 76 06 00 CD 63 FE FE 08 CA DC F8 FE 7F CA DC F8 
-->
{bye}
Единственная проблема состоит в том, что мой триггер на выход срабатывает на второй --> и если заказать скажем -DF800,FFFF то когда оно начинает скролл после заполнения экрана, то соответственно перепечатывает первый --> который триггерит мою прогу на выход - видимо для stdout режима надо просто запускать тесты, которые работают в пределах экрана либо тесты которые чистят экран при старте либо придумать что-то ещё...

P.S. Если убрать лишние переводы строк и оставить конверсию в юникод, то будет вот так:

Code: Select all

{pseudo-86rk:v0.3}
РАДИО-86РК
-->DF800,F8FF
F800 C3 36 F8 C3 63 FE C3 98 FB C3 BA FC C3 46 FC C3 
F810 BA FC C3 01 FE C3 A5 FC C3 22 F9 C3 72 FE C3 7B 
F820 FA C3 7F FA C3 B6 FA C3 49 FB C3 16 FB C3 CE FA 
F830 C3 52 FF C3 56 FF 3E 8A 32 03 80 31 CF 76 CD CE 
F840 FA 21 00 76 11 5F 76 0E 00 CD ED F9 21 CF 76 22 
F850 1C 76 21 5A FF CD 22 F9 CD CE FA 21 FF 75 22 31 
F860 76 21 2A 1D 22 2F 76 3E C3 32 26 76 31 CF 76 21 
F870 66 FF CD 22 F9 32 02 80 3D 32 02 A0 CD EE F8 21 
F880 6C F8 E5 21 33 76 7E FE 58 CA D3 FF FE 55 CA 00 
F890 F0 F5 CD 2C F9 2A 2B 76 4D 44 2A 29 76 EB 2A 27 
F8A0 76 F1 FE 44 CA C5 F9 FE 43 CA D7 F9 FE 46 CA ED 
F8B0 F9 FE 53 CA F4 F9 FE 54 CA FF F9 FE 4D CA 26 FA 
F8C0 FE 47 CA 3F FA FE 49 CA 86 FA FE 4F CA 2D FB FE 
F8D0 4C CA 08 FA FE 52 CA 68 FA C3 00 F0 3E 33 BD CA 
F8E0 F1 F8 E5 21 9E FF CD 22 F9 E1 2B C3 F3 F8 21 33 
F8F0 76 06 00 CD 63 FE FE 08 CA DC F8 FE 7F CA DC F8 
-->{bye}
Ранее я предполагал, что программа сравнения с эталоном должна будет проигнорировать то, что написано в фигурных скобках, читая только сам вывод (фигурные скобки я выбрал потому, что в знакогенераторе РК их точно нет), а теперь думаю может чисто текстовый выхлоп оставить по умолчанию? А хедер и футер включать только при наличии опции -c разрешающей тестовые счётчики...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
vital72
Senior
Posts: 181
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Re: Текстовый эмулятор Pseudo-86RK

Post by vital72 »

Shaos wrote: P.S. Кстати у кого-нибудь есть вот та самая программка, которая на картинке показана как бы на экране РК? Она в журнале Радио на обложке ещё была...
You do not have the required permissions to view the files attached to this post.
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

А это ты сам написал чтоли по мотивам? :lol:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
vital72
Senior
Posts: 181
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Re: Текстовый эмулятор Pseudo-86RK

Post by vital72 »

ну да
------
в бинарнике имеются три ячейки, которые управляют отображением на экране.
по адресу 0x0003 находится координата во вертикали, с которой стартует изображение, по умолчанию там 1.
по адресу 0x0004 находится код символа, которым рисуется текст "РАДИО-86", по умолчанию там код 0x17.
по адресу 0x0005 находится код символа, которым рисуются две горизонтальные линии, по умолчанию там код 0x03.

замени коды по адресам 0x0004 и 0x0005 на 0x2A, посмотри, что получится
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Звёздочки :)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Подготовил новый thumbnail для очередного стрима - надо доделать уже псевдографику через юникод и начать CI/CD налаживать:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Shaos wrote:Подготовил новый thumbnail для очередного стрима - надо доделать уже псевдографику через юникод и начать CI/CD налаживать...
Скоро стрим :dj:


https://www.youtube.com/watch?v=HGO5fYiJnk4
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
vital72
Senior
Posts: 181
Joined: 17 Jun 2014 04:29
Location: 93.80.157.217

Re: Текстовый эмулятор Pseudo-86RK

Post by vital72 »

обновил файл заставки.
оказалось пропустил букву "Н" в слове "программное"... столько раз запускал и не видел.
ещё изменил количество точек -- теперь точно как в оригинале.
You do not have the required permissions to view the files attached to this post.
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой
User avatar
Shaos
Admin
Posts: 24078
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Текстовый эмулятор Pseudo-86RK

Post by Shaos »

Спасибо! :)

Мой текстовый эмуль показывает это так (в текстовом режиме нету пропусков между строками):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net