Эмулятор Ориона от Error404

Компьютер Орион-128 (1990) расширяемый до 256 КБ и его развитие

Moderator: Shaos

User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Эмулятор Ориона от Error404

Post by Error404 »

А мне тут 10 дней назад попался эмулятор ZX в исходниках: DelphiSpec03 (я тут в соседнем треде про него спрашивал). Итог: имею в набросках (полностью работоспособный, но планирую доделывать) эмулятор Ориона можно сказать собственного производства. :)
Pure pascal. Ни одной ассемблерной строчки. :D Я вообще стреляю с обеих рук, но предпочитаю Паскаль... Кидайте тапки... :D

Что унаследовал: эмуляцию Z80, глючный эмулятор AY (beeper работает, все остальное - нет, но как и на ZX-исходнике).

Что добавил сам:
- выкинул DirectX
- стандартный Орион128Z, 512кб RAM (это у меня было и на реале). В эмуляторе i8255 класс клавиатуры пока эмулирует только клавиатуру РК86. планирую еще MS7007 обоих вариантов
- эмулируется платформа Z80CardII (int 50hz, диспетчер по 16к, Full RAM, RAM protect), расширенный экран 256*384 / 256*480 - это поддерживается в моем клоне CP/M образца 1996-го. :)
- 1818ВГ93 (WD1793) - запись/чтение - работа с дисками формата ODI (формат Emulator3000, Emu80 Пыхонина)
- 512ВИ1 (MC146818) на порту $F760 - это поддерживается в моем клоне CP/M образца 1996-го. :)

Что планирую: может, добавлю отладчик (хотя вроде все работает), хочется что-то приличное взамен file2odi для работы с образами дискет (ODI - OrionDiskImage).

Если кому-то интересно, отдам безвозмездно (т.е. даром) вместе с исходниками. Также было бы здорово, если кто-то сказал бы - отчего же таки хрюкает эмулятор AY в DelphiSpec (ну и у меня соответственно). :)
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

Написал плагин для TotalCommander, позволяющий создавать ODI диск-имиджи (их понимают эмулятор Пыхонина, Эмулятор3000, ну и мой, конечно :) ), копировать файлы туда и оттуда в удобном интерфейсе TC. Фактически, это функциональный аналог древних утилит FILE2ODI, ODI_FORM, ODI_GRAB, но в отличие от них - "Все в одном", удобный интерфейc TotalCommander, работа с ODI-файлом как с файлом архива с подкаталогами USER0..USER15 (FILE2ODI работала только с User0).

Этот плагин и эмулятор Orion/Z залил как и ранее на

http://www.filehosting.cc/index.php

логин "orion", пароль "orion"
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Лучше заведи себе сайт на бесплатном хостинге - и туда клади
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

Shaos wrote:Лучше заведи себе сайт на бесплатном хостинге - и туда клади
Сайт делать лень.
Пока буду класть всякое орионовское барахло сюда:
http://orion-z.hoter.ru/
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Эмулятор Ориона от Error404

Post by Error404 »

Раз уж бот, рекламирующий в тутошнем форуме гербалайф, пробудил меня в этой теме от спячки аки Герцена, отпишусь. Кое-какие из моих орионовских исходников лежат теперь тут:
https://github.com/serge-404
Всем добра!
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмулятор Ориона от Error404

Post by Shaos »

Круто - спасибо! :)

А они под оригинальный с ВМ80 или расширенный с Z80?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Эмулятор Ориона от Error404

Post by Error404 »

В-основном, всё под Z80.
К 8080 я как-то не проникся (хотя начинал именно с него).
Всем добра!
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Эмулятор Ориона от Error404

Post by Lavr »

Error404 wrote:Раз уж бот, рекламирующий в тутошнем форуме гербалайф, пробудил меня в этой теме от спячки аки Герцена...
А тебе никак письмецо пришло, что в теме "Эмулятор Ориона от Error404", за которой Вы следите, появились новые сообщения? :mrgreen:
iLavr
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Эмулятор Ориона от Error404

Post by Error404 »

Lavr wrote:
Error404 wrote:Раз уж бот, рекламирующий в тутошнем форуме гербалайф, пробудил меня в этой теме от спячки аки Герцена...
А тебе никак письмецо пришло, что в теме "Эмулятор Ориона от Error404", за которой Вы следите, появились новые сообщения? :mrgreen:
Ага :)
Всем добра!
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Эмулятор Ориона от Error404

Post by Lavr »

А не подскажешь, как бы сделать следующую фичу:
Я всегда пользовался эмулятором "Специалиста" от Шевцова (он DOS-овский), ну а сейчас
Венда-7 его очень не любит... поэтому я думаю не написать ли чисто подвендовый эмулятор,
но мне хочется следующего удобного функционала - чтобы с экрана эмулятора можно было
"сграбать" текст в текстовом виде, когда работает редактор "Специалиста" - чтобы можно
было вставить текст из буфера Венды, и еще хотелось бы управлять режимами работы не
с клавиатуры, а тыкая в интерфейс MX RAMFOS "Специалиста" мышью.

Такой функционал в принципе возможно реализовать или есть какие-то непреодолимые трудности?
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Эмулятор Ориона от Error404

Post by Shaos »

DOSBox спасёт отца русской демократии :roll:

Это чтобы подружится с вендой 7+, а для всех остальных хотелок - неужели функционал по копированию текста между эмулятором спеца и виндой, а тем более тыканья мышой настолько нужен, что ради него хочетя новый эмуль городить?...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Эмулятор Ориона от Error404

Post by Lavr »

Shaos wrote:DOSBox спасёт отца русской демократии :roll:
Пробовал - не спасает, как временный костыль годится, но работать в нем неудобно...
Думаю, что у "отца русской демократии" мнение такое же. :lol:
Ну и это, собственно, не главное....
Shaos wrote:для всех остальных хотелок - неужели функционал по копированию текста между эмулятором спеца и виндой, а тем более тыканья мышой настолько нужен, что ради него хочетя новый эмуль городить?...
Думаю, что новый эмуль сгородить чисто для одинокого "Специалиста-МХ" не так уж и трудно.
А вот функционал по копированию текста между эмулятором спеца и виндой, а тем более тыканья мышой мне действительно нужен.

Я уже несколько лет назад задавал похожий вопрос одному нашему "гуру" эмуляторов, и за эти годы
лишь утвердился в мысли, что такой функционал был бы очень полезен, если рассматривать эмулятор
в качестве среды разработки, а не игрушки, максимально близкой к оригиналу.

Но всё-таки я задал этот вопрос Error404, а не тебе, Shaos.
iLavr
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Эмулятор Ориона от Error404

Post by Error404 »

Lavr wrote:А не подскажешь, как бы сделать следующую фичу:
Я всегда пользовался эмулятором "Специалиста" от Шевцова (он DOS-овский), ну а сейчас
Венда-7 его очень не любит... поэтому я думаю не написать ли чисто подвендовый эмулятор,
но мне хочется следующего удобного функционала - чтобы с экрана эмулятора можно было
"сграбать" текст в текстовом виде, когда работает редактор "Специалиста" - чтобы можно
было вставить текст из буфера Венды, и еще хотелось бы управлять режимами работы не
с клавиатуры, а тыкая в интерфейс MX RAMFOS "Специалиста" мышью.

Такой функционал в принципе возможно реализовать или есть какие-то непреодолимые трудности?
Функционал по Paste я планировал реализовать, но не взлетело, ибо в сугубо аппаратной модели с клавиатурой на ВВ55 не получается вогнать в ПК текст имитируя замыкание кнопок матрицы клавиатуры (мои нажатия не проходят через п.п. отсечки дребезга контактов Мониторов, а наворачивать их многократные повторения которые еще неизвестно как заработают (не будет ли ОРИОН вводиться как ОООРРРИИИОООННН) - ну его нафиг).

А вот COPY (т.е. сграбить с экрана) я изначально делать не планировал, т.к. это совсем уж косячно будет - пытаться распознавать буквы среди экранных точек когда шрифт заранее не известен.

такой функционал (когда внешняя среда понимает что там внутри ОЗУ эмулируемой модели) возможно реализовать только на ПК с текстовыми экранами или с консолями по RS-232.
Всем добра!
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Эмулятор Ориона от Error404

Post by Lavr »

Error404 wrote:А вот COPY (т.е. сграбить с экрана) я изначально делать не планировал, т.к. это совсем уж косячно будет - пытаться распознавать буквы среди экранных точек когда шрифт заранее не известен.
В OS_RAMFOS "Специалиста_МХ" прямо есть функция "считать символ с экрана в позиции".
С помощью неё я в реальном "Специалисте" делал утилиту "сграбить с экрана" его текстовую
копию в квазидиск - и отлично всё работало! :o

Мне что-то не думается что под более мощной ОС это сделать труднее...

Витя Пыхонин делал перехваты системных функций ввода символа с клавиатуры - там дребезг
перед ВВ55 - уже безразличен.
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Эмулятор Ориона от Error404

Post by PVV »

Error404 wrote: А вот COPY (т.е. сграбить с экрана) я изначально делать не планировал, т.к. это совсем уж косячно будет - пытаться распознавать буквы среди экранных точек когда шрифт заранее не известен.
так ли уж плоха эта идея? - сделать кнопку сохранения экранной памяти в файл, и вызвать внешнюю программу распознавания экрана (с передачей ей в качестве параметра имени этого сохраненного файла) - полутонов нет, все пиксели 'пропечатаны' точно, не то, что отсканированный печатный текст, а то, что шрифты неизвестны... Я с 'Орионом' не работал, но помнится мне, у него есть область памяти, где хранится распакованный шрифт, те матрица каждой буквы-то есть... соотв сохранять 12кб(16 кб если использовать расширенный экран) экранной памяти и ~2кб(я даже примерно не знаю сколько надо) область, где хранится текущий шрифт. Сделать и отладить программу распознавания в таком раскладе будет не так уж и сложно, а уж когда эта программа будет отлажена, то можно её алгоритм\код внести в сам эмулятор. Если шрифт неизвестен, то сделать матрицу - шаблон шрифта можно и самому. Естественно писать и отлаживать эту программу должен тот, кто будет пользоваться ее результатами :)