Это флаганье можно отменитьbegoon wrote: 06 Jan 2025 07:57 Да я б только за. Но увы, современные браузеры везде флагают ссылки без https, хочу я этого или нет.
Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Moderator: Shaos
-
Shaos
- Admin
- Posts: 24993
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
-
Shaos
- Admin
- Posts: 24993
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Пока идея такая нарисовалась:Shaos wrote: 05 Jan 2025 12:43 Моя версия онлайн эмулятора РК86 http://rk86.net тоже переехала в Лондон![]()
Надо подумать как заинтегрировать это с форумом, раз уж они и так на одном сервере живут...
Программирование через форум
т.е. пользователи пишут программу как сообщение в форуме внутри блока code и потом запускают некий урл, имеющий параметром номер сообщения из которого оно берёт текст программы и открывает rk86.net сразу в режиме ассемблера с загруженной программой - я поглядел в JS-код эмуля и вроде можно в лёгкую это организовать!
P.S. В панели Assembler наряду с кнопкой "Upload to emulator" можно добавить кнопку "Run in emulator" чтобы можно было не только загрузить скомпилированное в память эмулятора, но и сразу переключиться в панель Emulator (может даже с автоматическим вводом G0?) для запуска, а то если кто в этот эмуль никогда не ходил и его открыть в ассемблере, то непонятно что дальше делать...
P.P.S. HTTPS для форума давайте обсуждать в отдельной теме: viewtopic.php?t=22657
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Я тут навайбил новый "лук" для эмулятора.
https://rk86.ru/beta/
Движок и функционал особо без изменений, но визуально немного иначе:
- меню CMD/CTRL-k
- все (эмулятор, визуализатор, консоль и дизассемблер, клавиатура) в одном окне
- виртуальная клавиатура кликабельна
- консоль, виртуальную клавиатуру, дизассемблер, визуализатор можно двигать
- новый селектор для загрузки файла
- ассемблер остался оригинальный от Viacheslav Slavinsky (настолько он хорош!)
- снапшоты, "световое" перо - все на месте
Из внутреннего:
- всю web-часть перепер на Svelte, ибо руками уже возни много
- главный файл i8080 перевел на typescript, ибо все равно идет сборка на web
- но все собирается в статику html (css, js)
В общем, beta, кому это еще интересно.
PS: Чтобы два раза не вставать, еще написал однофайловый ассемблер i8080 для сборки Монитора - https://github.com/begoon/asm8
https://rk86.ru/beta/
Движок и функционал особо без изменений, но визуально немного иначе:
- меню CMD/CTRL-k
- все (эмулятор, визуализатор, консоль и дизассемблер, клавиатура) в одном окне
- виртуальная клавиатура кликабельна
- консоль, виртуальную клавиатуру, дизассемблер, визуализатор можно двигать
- новый селектор для загрузки файла
- ассемблер остался оригинальный от Viacheslav Slavinsky (настолько он хорош!)
- снапшоты, "световое" перо - все на месте
Из внутреннего:
- всю web-часть перепер на Svelte, ибо руками уже возни много
- главный файл i8080 перевел на typescript, ибо все равно идет сборка на web
- но все собирается в статику html (css, js)
В общем, beta, кому это еще интересно.
PS: Чтобы два раза не вставать, еще написал однофайловый ассемблер i8080 для сборки Монитора - https://github.com/begoon/asm8
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Зацените еще мульку -- эмулятор в виде веб-компоменты.
Вот оно в действии.
Code: Select all
<script type="module" src="radio86-emulator.js"></script>
<radio86-emulator monitor="mon32.bin" file="CHESS.GAM" files-path="/files/"></radio86-emulator>You do not have the required permissions to view the files attached to this post.
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
-
Damir
- Senior
- Posts: 101
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Попробовал обновленный ! Вроде все хорошо, но только непривычно крупно.
Ассемблер тоже попробовал. Обнаружилось одно неудобство большого экрана - во время отладки в Отладчике панель Диzассемблера закрывает часть рабочего экрана, при попытке сдвинуть её за край экрана она уползает под экран и её не видно. И чтобы посмотреть например содержимое ячеек памяти её надо дергать туда-сюда. а это неудобно. Может можно сделать что бы она не уползала под экран а оставалась поверх даже вне поля браузера.
И ещё у меня есть вопрос который давно хотел попросить - а можно ли сделать так что бы изменения в ячейках памяти на панели Дизассемблера сразу на лету отображались на экране, сейчас все время надо тыкать на стрелку, что бы обновить данные ?
Вот так все выглядит, видно что панели прячутся друг под друга
Ассемблер тоже попробовал. Обнаружилось одно неудобство большого экрана - во время отладки в Отладчике панель Диzассемблера закрывает часть рабочего экрана, при попытке сдвинуть её за край экрана она уползает под экран и её не видно. И чтобы посмотреть например содержимое ячеек памяти её надо дергать туда-сюда. а это неудобно. Может можно сделать что бы она не уползала под экран а оставалась поверх даже вне поля браузера.
И ещё у меня есть вопрос который давно хотел попросить - а можно ли сделать так что бы изменения в ячейках памяти на панели Дизассемблера сразу на лету отображались на экране, сейчас все время надо тыкать на стрелку, что бы обновить данные ?
Вот так все выглядит, видно что панели прячутся друг под друга
You do not have the required permissions to view the files attached to this post.
-
Damir
- Senior
- Posts: 101
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
При включенной панели Дизассм-ра работает только виртуальная экранная клавиатура, а реальная не работает ?
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Объединил дизассемблер и консоль в единый режим "отладчик".
При его активизации дизассемблер устанавливатся на PC. Далее можно кликать на "PC" для обновления. В режиме отладчика, чтобы вводить в эмуляторе, на него надо кликнуть, чтобы передать фокус.
Виртуальная клавиатура независима и должна посылать нажатия в эмулятор.
При его активизации дизассемблер устанавливатся на PC. Далее можно кликать на "PC" для обновления. В режиме отладчика, чтобы вводить в эмуляторе, на него надо кликнуть, чтобы передать фокус.
Виртуальная клавиатура независима и должна посылать нажатия в эмулятор.
You do not have the required permissions to view the files attached to this post.
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Запилил рендеринг для эмулятора прямо в терминал.
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Выложил терминальную версию на npmjs, так что можно запускать
или
или
или
Code: Select all
bunx rk86Code: Select all
pnpx rk86Code: Select all
npx rk86Code: Select all
deno run -A npm:rk86-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Теперь терминальный эмулятор может компилировать .asm на лету.
Имеет вот такой файл "claude.asm":
Запускаем эмулятор:
Оно отрабатывает, и опционально, выходит из эмулятора.
Имеет вот такой файл "claude.asm":
Code: Select all
puts equ 0F818h
org 0
lxi h, message
call puts
jmp 0f86ch
message:
db 1Fh, "I AM CLAUDE. I CAN PROGRAM I8080 FOR RK86!", 0Dh, 0Ah, 0
Code: Select all
npx rk86 claude.asm --exit-address 0xF86C You do not have the required permissions to view the files attached to this post.
-
Mondx
- Doomed
- Posts: 641
- Joined: 10 Aug 2022 07:27
- Location: Crimea
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Ну баловство ведь? Я к тому что не заменишь же консольных трансляторов и их макро, include и пр.?
Всегда!
-
Alekcandr
- Devil
- Posts: 737
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
По мне дело тут не баловстве. Ассемблеры уровня М80 сейчас никому не нужны, никто в них не решает сложных задач. Например, в sjasmplus решили не связываться "по-взрослому" с макросами, внедрили язык Lua.Mondx wrote: 13 Apr 2026 03:32 Ну баловство ведь? Я к тому что не заменишь же консольных трансляторов и их макро, include и пр.?
Сейчас ассемблер как правило нужен для трансляции кода предоставленного компилятором си и д.р.
Last edited by Alekcandr on 13 Apr 2026 23:18, edited 1 time in total.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
Alekcandr
- Devil
- Posts: 737
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
begoon
- Senior
- Posts: 162
- Joined: 22 Aug 2012 17:06
- Location: 188.220.42.216
Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript
Терминальный эмулятор использует мой ассемблер asm8 (asm8080 на npmjs).
Ассемблер не имеет макросов, ибо я его написал в основном для сборки Монитора, но в плане выражений, функций HIGH/LOW и пр. -- там все довольно кучеряво.
Ассемблер не имеет макросов, ибо я его написал в основном для сборки Монитора, но в плане выражений, функций HIGH/LOW и пр. -- там все довольно кучеряво.
