PDA

Просмотр полной версии : Орион-ПРО. Эмулятор iMSX



ivagor
06.09.2010, 18:45
Subj (http://retrocomp.narod.ru/) позволяет запускать некоторые игры с MSX, обращающиеся к железу только через bios, на орионе-про с мультикартой (используется палитра). Игры заметно тормозят, но работают.
Рекомендуемый эмулятор "Орион-ПРО" - b2m (http://bashkiria-2m.narod.ru/) Дмитрия Целикова от 30.08.2010 или более поздней версии.

Error404
06.09.2010, 22:11
Прикольно. :)
Используется ли в эмуляторе кроме палитр еще что-то специфичное для Орион-ПРО (типа диспетчеров памяти)?
И с чем связано применение платы палитр, которой ни у кого нет? Там есть что-то такое, чего невозможно отобразить в 16 цветах?

b2m
06.09.2010, 22:17
Я так думаю, MSX-ные игрушки почти всегда задавали свою палитру. Без мультикарты были бы неестесственные цвета.

Error404
06.09.2010, 22:36
Попутно вопрос: почему тут (http://retrocomp.narod.ru/) написано, что для рекомпилированных с MSX игр в варианте Орион-ПРО поддерживается AY, а для обычного Ориона - нет? Там же схема подключения AY наверняка идентичная в обоих вариантах (содранная со Спектрума).

Tim0xA
06.09.2010, 23:22
ivagor, будет намного проще, если ты станешь выкладывать на какой-нибудь файлообменник образ эмулятора с проверенными играми и обновлять его по мере развития. Не каждый станет регистрироваться на mylivepage.ru, чтобы скачать плагин к TC, затем искать нужные ROM-ы, собирать это всё в образ. Эти препятствия ограничивают круг потенциальных пользователей. Не думаю, что копирасты станут тебя преследовать ;)

Error404
07.09.2010, 01:06
ivagor, будет намного проще, если ты станешь выкладывать на какой-нибудь файлообменник образ эмулятора с проверенными играми и обновлять его по мере развития. Не каждый станет регистрироваться на mylivepage.ru, чтобы скачать плагин к TC, затем искать нужные ROM-ы, собирать это всё в образ. Это препятствия ограничивают круг потенциальных пользователей. Не думаю, что копирасты станут тебя преследовать ;)

Кстати, подпишусь. И про ромы, и про эмулятор. :)
А утилиту, если кому надо, можно скачать тут (http://orion-2010-support.narod.ru/OrionZEmu.zip) и без регистрации (она там в подкаталоге Utils\OdiWcx-OhiWcx\)

ivagor
07.09.2010, 06:27
Используется ли в эмуляторе кроме палитр еще что-то специфичное для Орион-ПРО (типа диспетчеров памяти)?
Самый критичный момент - именно диспетчер памяти ориона-про.
Палитра - скорее приятное дополнение. С ней цвета как на msx, что мне нравится. Перейти к варианту со стандартными цветами можно сравнительно быстро, цвета будут как в версиях игрушек для ориона-128.

И с чем связано применение платы палитр, которой ни у кого нет? Там есть что-то такое, чего невозможно отобразить в 16 цветах?
Ну и рабочего ориона-про с дисководом наверно ни у кого сейчас нет. А эмулятор все могут запустить. Т.е. я думаю, что никто ничего не теряет.


ivagor, будет намного проще, если ты станешь выкладывать на какой-нибудь файлообменник образ эмулятора с проверенными играми и обновлять его по мере развития.
Здесь кто-то выложил образ с эмулятором и игрушками.


Попутно вопрос: почему тут написано, что для рекомпилированных с MSX игр в варианте Орион-ПРО поддерживается AY, а для обычного Ориона - нет? Там же схема подключения AY наверняка идентичная в обоих вариантах (содранная со Спектрума).
Тут так было - сначала сделал версии для классического ориона-128 (без AY), потом добавил детект z80 и при его наличии включал звук через AY, а потом почитал про орион-про, мне понравились следующие моменты: программное переключение на 2,5 МГц; палитра; диспетчер памяти (спасибо b2m, что он все это реализовал) и в итоге оставил 2 крайних варианта - для 128 (который должен работать на любом варианте ориона, совместимом с оригиналом) и ПРО. Применительно именно к рекомпилированным игрушкам мне не нравится в z80-card II (я так понимаю, что AY устанавливался только попутно с этой картой, раз в московском варианте не было поддержки прерываний, а без прерываний плееры музыки со спектрума не послушаешь) отсутствие программного переключения частоты проца - определять текущую частоту и править задержки или переделать под прерывания эти малобюджетые игрушки мне что-то не очень хотелось.

Tim0xA
09.09.2010, 11:45
ivagor, помимо перечисленных игр в эмуляторе запускается еще "Pyramid Warp" (http://www.generation-msx.nl/msxdb/softwareinfo/64), правда цвета искажены. Но работает.

http://www.generation-msx.nl/msxdb/image.php?type=screenshot&imagetype=game&filename=64.gif http://s49.radikal.ru/i124/1009/5b/9f8b71972e98.jpg

ivagor
09.09.2010, 15:32
Забыл pyramid в текущей версии попробовать, а в прошлой она совсем не работала. Есть еще 14 (если не обсчитался) игрушек, которые идут с глюками разной степени тяжести. И еще нашел две игры которые нормально идут, только они дурацкие, попозже их тоже включу в список.

Error404
10.09.2010, 15:20
Кстати, подпишусь. И про ромы, и про эмулятор. :)
А утилиту, если кому надо, можно скачать тут (http://orion-2010-support.narod.ru/OrionZEmu.zip) и без регистрации (она там в подкаталоге Utils\OdiWcx-OhiWcx\)

Небольшой оффтоп: в качестве бесплатной альтернативы ТоталКоммандеру смотрю в сторону Double Commander (http://doublecmd.sourceforge.net/)

Плагины Тотала под ним работают, есть редактор/просмотрщик с подсветкой синтаксиса и (что немаловажно для нас) умеющий Открывать/Сохранять файл в различных кодировках (в т.ч. KOI8r).

Конечно, бесплатный сыр - он несколько более убог, но терпимо.

ivagor
26.09.2010, 19:49
В последней версии (0.8) идут 123 игрушки (3 дискеты)! Также теперь 2 сборки: не требующая палитры / использующая палитру.

b2m
10.10.2010, 14:51
ivagor, а что с твоим сайтом случилось? Вроде там ничего такого нарушающего чьи-то права не было...

Prusak
11.10.2010, 20:27
Скриншоты игры Driller с реального Orion-PRO с мультикартой.
Без палитр:
http://s1.postimage.org/d93or.jpg (http://postimage.org/image/qosk8u4k/)

С палитрами:
http://s2.postimage.org/cnIoi.jpg (http://postimage.org/image/p4oyzv1g/)

Разница-таки есть :)

BYTEMAN
13.10.2010, 16:59
Сорри за опоздавший ответ :). Погонял я iMSX, разницы с эмулятором b2m не заметил. Игрушки прикольные, особенно понравился болдер. Прям как на спеке. Единственный минус - звук то должен идти через АУгрик, коего на Ор-ПРО нет :). Ну и также неизвестно, как игры шли первоначально на MSX. Единственное, что могу точно сказать, что по моим ощущениям BINARY работает шустрее, чем на корвете :). Пока что всё. Скринов с реала, к сожалению сделать не получилось (хотя Prusak в предыдущем посте выложил несколько скринов с реала с МультиКартой).

Дальше пока что не тестировал, т.к. все силы брошены сейчас на восстановление Скорпиона.

ivagor
17.01.2013, 19:48
Оказывается на реале работало, спасибо за проверку! Соберу "новые" игрушки в кучку и завтра выложу последнюю версию.


звук то должен идти через АУгрик, коего на Ор-ПРО нет
В книжке написано, что порт "0FDh - резерв для двухбайтовых адресов портов расширений ZX". А в схеме/на плате ничего на эту тему нет? В смысле AY подключить сложно/невозможно?

ivagor
18.01.2013, 17:57
Здесь (http://files.mail.ru/E3DAD230C29B4B1591040FDE89CB4397) кто-то выложил комплект с игрушками.
Уверен, что есть еще игрушки, которые пойдут в этой версии, просто я устал их проверять.

Error404
18.01.2013, 19:53
Напомните пож, зачем привязка к ОрионуПро которого аж 2 экземпляра в природе. Есть ли версия для классики с z80?

ivagor
18.01.2013, 20:21
Удобный диспетчер памяти+10 МГц (пусть и с тормозами)+палитра для полноты ощущений (хотя в 0.8 и 0.9 приложены варианты работающие и без мультикарты).
Версию для классики не делал.

ivagor
20.01.2013, 13:20
Несколько скриншотов

BYTEMAN
20.01.2013, 14:14
На ПРО с палитрой смотрится очень хорошо :) Тестировали на Реале у Prusak'а (у него есть мультикарточка с палитрами а у меня нет).

upd - скринов парочка даже есть, выше в топике...

ivagor
20.01.2013, 14:59
На ПРО с палитрой смотрится очень хорошо
Кроме того, мульткартовый вариант еще и чуть-чуть быстрее, т.к. при выводе спрайтов не надо преобразовывать цвет через таблицу.
Названия игрушек на скриншотах:

/Bomberman Special; Bosconian\ /Castle Excellent; Galaxian\ /Step Up; Stop (Ita) Express\
\Boulder Dash; Bouncing Block/ \Mappy; Rise Out/ \Tank Battalion; Flappy/

Error404
20.01.2013, 20:14
Удобный диспетчер памяти+10 МГц (пусть и с тормозами)+палитра для полноты ощущений (хотя в 0.8 и 0.9 приложены варианты работающие и без мультикарты).
Версию для классики не делал.

На штатном Орионе с Z80 есть дополнительный диспетчер в окне 0000...3FFF, который при умелом сочетании "наложением" на штатные окна памяти 0000...EFFF фактически образует три окна: 0000...3FFF, 4000...EFFF и 0000...EFFF (F000...FFFF - некоммутируемое ОЗУ, в приципе - тоже отключаемое).
А какой диспетчер использует эмулятор MSX, что нельзя вместиться в вышеперечисленные? Все же штатных Орионов с с Z80 существенно больше, и еще прибудет как Zorel плат наделает. :)

BYTEMAN
21.01.2013, 05:35
pro - сила :)

ivagor
21.01.2013, 10:01
На штатном Орионе с Z80 есть дополнительный диспетчер в окне 0000...3FFF, который при умелом сочетании "наложением" на штатные окна памяти 0000...EFFF фактически образует три окна: 0000...3FFF, 4000...EFFF и 0000...EFFF (F000...FFFF - некоммутируемое ОЗУ, в приципе - тоже отключаемое).
Да, я знаю, но см. ниже


А какой диспетчер использует эмулятор MSX, что нельзя вместиться в вышеперечисленные?
Нужны 2 окна по 16 Кб, одно 4000-7FFF, другое 8000-BFFF или С000-FFFF. Кроме того, учитывая, как на орионе сделан экран, для цвета в рамках iMSX надо иметь больше 128 Кб. Под классику со 128 Кб сделать можно, но будет монохром. К сожалению, переделка не уложится в 5 минут, простой правкой констант и макросов дело не обойдется. Причем это будет даунгрейд, а "вектор развития" эмулятора был направлен в противоположную сторону - улучшение совместимости, увеличение быстродействия, более адекватное отображение графики. Причем до потолка по всем этим направлениям далеко, у меня было многоидей, оставалость "всего лишь" их реализовать.


Все же штатных Орионов с с Z80 существенно больше, и еще прибудет как Zorel плат наделает.
Версия для классики была бы монохромной и тормозной, так что несмотря на многочисленность орионов+z80-card вряд ли она вызвала бы у кого-нибудь положительные эмоции.
К слову, для ориона+z80-card несложно переделать эмулятор РК86/Микроши с вектора или (это понятно, сложнее) соорудить новый с чистого листа. Хотя, судя по тому, что это до сих пор не сделано, в этом нет никакой необходимости.


pro - сила
Вобще-то я хотел сделать для вектора-турбо+, но по его доп. портам есть только фрагменты информации, соответственно нет эмулятора, а из остальных компов ПРО ближе всего к требуемой целевой платформе. С другой стороны для ПРО кое-что было даже проще и удобнее реализовать, чем для турбо+.

Error404
21.01.2013, 13:28
Вобще-то я хотел сделать для вектора-турбо+, но по его доп. портам есть только фрагменты информации, соответственно нет эмулятора, а из остальных компов ПРО ближе всего к требуемой целевой платформе. С другой стороны для ПРО кое-что было даже проще и удобнее реализовать, чем для турбо+.

Зато благодаря тебе на Орионе-Про начал появляться хоть какой-то софт. :)

---------- Post added at 13:28 ---------- Previous post was at 13:16 ----------



Нужны 2 окна по 16 Кб, одно 4000-7FFF, другое 8000-BFFF или С000-FFFF. Кроме того, учитывая, как на орионе сделан экран, для цвета в рамках iMSX надо иметь больше 128 Кб. Под классику со 128 Кб сделать можно, но будет монохром.

Так 128к - это и в 90-х сразу дорабатывали до 256к, а на новых платах ставим сразу 512к. Т.е. 256к имеют все Орионы-128, от этого и надо плясать.

Так что получилось бы так:
Орион с 256к, 60-кшные страницы (порт 0F9h) 0 и 1 обслуживают только цветной экран, код работает в 60-кшной странице 3, в диспетчер 16к (порт 0FBh) включаем страницу 12 (т.е. первые 16к процессора у нас всегда страница 3:0000...3:3FFF независимо от порта 0F9h), а диспетчеры 4000-7FFF и 8000-BFFF (я так понимаю, они включаются временно - код игр в них не лежит, а лежит в "сплошной" странице 3?) эмулируем включением 60-кшной страницы 2 (используется пространство 2:4000...2:BFFF). Идеально. :)
И отлично впишется в CP/M (будет работать не разрушая ее системные области, т.е. нормально выходить в ОС по завершении). Ну и в Ордосе тоже пойдет.

ivagor
21.01.2013, 15:00
Орион с 256к, 60-кшные страницы (порт 0F9h) 0 и 1 обслуживают только цветной экран, код работает в 60-кшной странице 3, в диспетчер 16к (порт 0FBh) включаем страницу 12 (т.е. первые 16к процессора у нас всегда страница 3:0000...3:3FFF независимо от порта 0F9h), а диспетчеры 4000-7FFF и 8000-BFFF (я так понимаю, они включаются временно - код игр в них не лежит, а лежит в "сплошной" странице 3?) эмулируем включением 60-кшной страницы 2 (используется пространство 2:4000...2:BFFF).
0000-3FFF занимает сам iMSX. 4000-FFFF - для игрушек. Пусть это будет 3я страница. MSXный VRAM 16 Кб - его можно поместить куда-нибудь выше 4000 на страницах 0-1. Возможны как минимум 2 варианта:
1. Если включить орионовский экран не с 0го адреса. Тогда запись во VRAM нужно дублировать и в 0ю и в 1ю страницы, чтобы не пришлось часто-часто щелкать страницами при выводе изображения (щелкание переносится на момент записи в VRAM, что по умозрительным прикидкам эффективнее).
2. Если включить орионовский экран с 0го адреса. Тогда нужно перенести код, обновляющий экран из 0000-3FFF страницы 3 куда-то в 4000-FFFF на страницы 0 или 1, чтобы он имел доступ и к MSX VRAM и к орионовскому экрану.
Ну и еще такая "мелочь" как 5 МГц, пусть и безвейтовых (в современных вариантах уж наверняка так?) по сравнению с 10. Даже на 10 медленновато, хотя для многих игрушек вполне сносно, а на 5 с цветом было бы неприемлемо.
Несомненно, все можно сделать, нужно только желание. Самому интересно было бы посмотреть на что-то в этом духе, для ориона или для другой 8битки.

gdv2002
02.10.2013, 11:26
А можно перевыложить игры и софт имеющийся под Орион-ПРО?
Предыдущие сайты уже не рабочие.

ivagor
02.10.2013, 14:56
В субботу надеюсь добраться до архива и если до тех пор никто не выложит, то сам выложу.
Еще могу пересобрать для других номеров портов AY (если это нужно), только вопрос - каких?

Error404
02.10.2013, 17:20
Еще могу пересобрать для других номеров портов AY (если это нужно), только вопрос - каких?

BFFD/FFFD?

BYTEMAN
02.10.2013, 18:07
интересно, а реально ли в ПРО малыми силами добавить совместимость с чистяковской Z80-CardII?

ivagor
03.10.2013, 06:45
BFFD/FFFD?
Насколько я помню, у меня так и сделано.
Изменить я предложил в связи с тем, что как я понял из соседней темы, авторы использовали в ПРО другие порты для AY, не спековские. Ту схему я не скачивал, сам авторские адреса портов не смотрел.

gdv2002
03.10.2013, 08:06
Насколько я помню, у меня так и сделано.
Изменить я предложил в связи с тем, что как я понял из соседней темы, авторы использовали в ПРО другие порты для AY, не спековские. Ту схему я не скачивал, сам авторские адреса портов не смотрел.

Конкретно по ПРО и AY инфы нет, адреса портов есть в книжке по ПРО, и есть схемка AY + COM от соавтора ПРО, или его однофамильца.

прилеплю ее тут, может это что-то прояснит.
http://s020.radikal.ru/i714/1310/dc/eeef635fd080t.jpg (http://s020.radikal.ru/i714/1310/dc/eeef635fd080.gif)

ivagor
03.10.2013, 08:44
Конкретно по ПРО и AY инфы нет, адреса портов есть в книжке по ПРО
В книжке на эту тему разве что

В книжке написано, что порт "0FDh - резерв для двухбайтовых адресов портов расширений ZX".





и есть схемка AY + COM от соавтора ПРО, или его однофамильца.

После прочтения той темы вопрос и возник, только я (каюсь) вложения оттуда не качал и не смотрел.



прилеплю ее тут, может это что-то прояснит.
Увидел, спасибо.

Если с исходниками ничего не случилось, то субботу сделаю вариант с авторскими адресами портов
3Eh - данные AY (запись)
3Fh - данные AY (чтение)
3Fh - адрес регистра AY (запись)

Error404
03.10.2013, 11:43
Если с исходниками ничего не случилось, то субботу сделаю вариант с авторскими адресами портов
3Eh - данные AY (запись)
3Fh - данные AY (чтение)
3Fh - адрес регистра AY (запись)

Надо оба варианта в общий архив (чтобы по-отдельности не терялись и не путались), авторский просто чтобы был, т.к. такая адресация AY - это аппаратное безумство, каких в проекте Ориона-ПРО до половины схемотехники. Тем не менее, Орион-ПРО был и остается быстрейшим советским ПК на Z80 и дискретной рассыпухе (8МГц реального такта для 10-мегагерцового Z80H ! это вам не баран начихал :) ), поэтому я его собирать обязательно буду, наверное уже из первой партии (а что, мы не ищем легких путей :) ), и далее резак-МГТФ-резак-МГТФ. А AY на платах расширения предлагаю разводить сразу совместимо с ZX. Да и вообще все расширения обдумать перед тем как разводить. Все же сейчас не 95й год, опыт то поднакоплен.

ivagor
03.10.2013, 12:20
Немного оффтопа

Орион-ПРО был и остается быстрейшим советским ПК на Z80 и дискретной рассыпухе (8МГц реального такта для 10-мегагерцового Z80H ! это вам не баран начихал )
Пусть ПРО будет быстрейшим из дошедших до наших дней, а Вектор-турбо+ (полная информация по которому уже вряд ли появится) просто быстрейшим :) Ну или хотя бы примерно одинаковым по скорости, т.к. неизвестно, как там waitились его 12 МГц

ivagor
05.10.2013, 08:47
Сделал вариант с автодетектом (если вариант Пушкова не обнаружен, то работаем со спековскими портами, как в предыдущих версиях), на первый взгляд работает.
43461
Самопальный конфиг для emu с поддержкой AY по схеме В. Пушкова
43462

Комплект с игрушками здесь (https://yadi.sk/d/l_Uzr6y7frpbcg).

gdv2002
02.03.2014, 13:24
Я конечно дико извиняюсь, но может кто выложить, или скинте мне на почту я выложу, имеющийся софт и игры под Орион-ПРО.

ivagor
02.03.2014, 20:13
Ссылку на архив отправил электропочтой.

Error404
10.03.2014, 20:16
В тему эмуляции MSX на Орионе-ПРО.
Для MSX есть реализация TCP/IP. Как-то с минимальными доработками эту реализацию можно заэмулировать на Орионе-ПРО, конечно при условии что аппаратно плату Ethenet на RTL8019 сделать максимально близкой к MSX?

ivagor
10.03.2014, 20:51
Если я не ошибаюсь, b2m вроде смотрел msxный TCP/IP.

b2m
10.03.2014, 23:29
Для MSX есть реализация TCP/IP. Как-то с минимальными доработками эту реализацию можно заэмулировать на Орионе-ПРО, конечно при условии что аппаратно плату Ethenet на RTL8019 сделать максимально близкой к MSX?
Сначала придётся портировать msxdos не ниже второй версии. :)

Error404
12.03.2014, 11:59
Сначала придётся портировать msxdos не ниже второй версии. :)

Может, портанешь? :rolleyes:

ivagor
16.12.2019, 18:07
Две новости, хорошая и плохая.
1. Добавил в хакнутую версию yazzie отключение/включение музыки по клавише M, звуковые эффекты в игре остаются.
2. Автор написал, что в игрушке есть баг. Надеюсь к моменту когда он его исправит у меня останется запал на переделку финальной версии.

Error404
16.12.2019, 18:32
у меня останется запал на переделку финальной версии.

Вопросик: игрушки, работающие под iMSX, выводят на экран непосредственно или эмулятор этот вывод перехватывает, конвертирует и выводит сам?

ivagor
16.12.2019, 18:45
Игрушки обращаются к bios, а bios рисует на экране ориона (аналогично со звуком и клавиатурой). yazzie не всегда обращается к bios, поэтому пришлось его пропатчить.

- - - Добавлено - - -

Могу уточнить - bios притворяется, что в орионе-про есть msxный vdp (https://en.wikipedia.org/wiki/Texas_Instruments_TMS9918) и эмулирует обращения к нему.

Sayman
16.12.2019, 19:13
Игрушки обращаются к bios, а bios рисует на экране ориона (аналогично со звуком и клавиатурой). yazzie не всегда обращается к bios, поэтому пришлось его пропатчить.

- - - Добавлено - - -

Могу уточнить - bios притворяется, что в орионе-про есть msxный vdp (https://en.wikipedia.org/wiki/Texas_Instruments_TMS9918) и эмулирует обращения к нему.

а если игра делает in/out? я так понимаю большая часть игр на мсх делает обращение к vdp напрямую, минуя биосы и другие софтварные примочки.

ivagor
16.12.2019, 19:26
а если игра делает in/out?
Тогда те вещи, которые реализуются с использованем in/out не работают, чудес не бывает. По этой причине мне пришлось проверять msxные игрушки, примерно половину я осилил и приложил к imsx список работающих игр (или можно скачать готовые диски с игрушками). Если когда-нибудь допроверю, то список можно будет пополнить.

Error404
23.12.2019, 11:00
Игрушки обращаются к bios, а bios рисует на экране ориона (аналогично со звуком и клавиатурой). yazzie не всегда обращается к bios, поэтому пришлось его пропатчить.

- - - Добавлено - - -

Могу уточнить - bios притворяется, что в орионе-про есть msxный vdp (https://en.wikipedia.org/wiki/Texas_Instruments_TMS9918) и эмулирует обращения к нему.

А можешь подподробнее описать структуру - как выглядит Орион с подсаженным в него iMSX и выполняющейся игрой (какие области и страницы ОЗУ, какие экраны)? Где область памяти эмулятора, откуда и докуда может занимать игра и т.п.

Я в связи с чем интересуюсь: на UZIX есть эмулятор CPM, получится ли по аналогии портануть туда эмулятор MSX? Ну да, работать будет помедленнее в пару раз, но ведь и Z80 можно турбировать. Главное, что уже правильная идеология - прослойка между и игрой и аппаратурой, осталось сделать из нее "виртуальную машину" :)

ivagor
23.12.2019, 11:28
как выглядит Орион с подсаженным в него iMSX и выполняющейся игрой (какие области и страницы ОЗУ, какие экраны)?
Так сходу и не скажу. Дмитрий2012 запускал на реале и обнаружил несколько багов, я их исправил и сегодня выложу обновленную версию. В процессе доработок я столкнулся с тем, что забыл многие тонкие моменты в организации работы, пришлось заново разбираться.
Но даже если бы даже я сейчас полностью и без ошибок все написал - это не поможет. uzix и imsx можно сшить только вручную. И на мой дилетантский взгляд для адаптации uzix на компьютер с z80 imsx практически и не нужен, т.к. imsx в основном эмулирует vdp, а в uzix вывод на экран текстовой.

- - - Добавлено - - -

И похоже для uzix нужен msx2, у меня оттуда ничего не эмулируется и даже в планах не было. Может есть разные версии uzix, я сюда (http://uzix.sourceforge.net/uzix1.0/index.php?page=tech&lang=us) смотрел

Error404
23.12.2019, 11:56
Так сходу и не скажу. Дмитрий2012 запускал на реале и обнаружил несколько багов, я их исправил и сегодня выложу обновленную версию. В процессе доработок я столкнулся с тем, что забыл многие тонкие моменты в организации работы, пришлось заново разбираться.
Но даже если бы даже я сейчас полностью и без ошибок все написал - это не поможет. uzix и imsx можно сшить только вручную. И на мой дилетантский взгляд для адаптации uzix на компьютер с z80 imsx практически и не нужен, т.к. imsx в основном эмулирует vdp, а в uzix вывод на экран текстовой.

- - - Добавлено - - -

И похоже для uzix нужен msx2, у меня оттуда ничего не эмулируется и даже в планах не было. Может есть разные версии uzix, я сюда (http://uzix.sourceforge.net/uzix1.0/index.php?page=tech&lang=us) смотрел

Я не про запуск UZIX под iMSX, а наоборот - про запуск iMSX (+игра) как один из процессов уже имеющегося UZIX Ориона - по аналогии как сделано для CPM тут (https://github.com/serge-404/U.Z.I.X./blob/master/emu.MAC)

ivagor
23.12.2019, 12:10
Я не про запуск UZIX под iMSX, а наоборот - про запуск iMSX (+игра) как один из процессов уже имеющегося UZIX Ориона - по аналогии как сделано для CPM тут
Пардон, не врубился. Действительно, я вроде даже его пробовал, у меня есть образ hdd uzix для ориона. Возможно я неправильно понимаю, но помню, что в uzix каждой задаче отводится 64 Кб, а imsx использует 64+еще 48 Кб, т.ч. вряд ли получится.

Error404
23.12.2019, 12:56
Пардон, не врубился. Действительно, я вроде даже его пробовал, у меня есть образ hdd uzix для ориона. Возможно я неправильно понимаю, но помню, что в uzix каждой задаче отводится 64 Кб, а imsx использует 64+еще 48 Кб, т.ч. вряд ли получится.

На данном этапе - да, но я планировал сделать функцию по предоставлению процессу ещё одной 64к страницы. Тут вопрос ещё какую именно память занимает эмулятор (в Юзикс процессу на самом деле даётся не 64к, а 58к, и переписывать верхнюю память нельзя - там служебный код Юзикса, код СРМ, порты, Монитор), используется ли диспетчер страниц ОЗУ и каким образом

ivagor
23.12.2019, 13:13
переписывать верхнюю память нельзя
Игрушки туда пишут, думаю это закрывает возможность запуска imsx под uzix. А так imsx активно использует прошный (не старый орионовский и не от orion-z) диспетчер страниц по адресам 4000-7FFF и 8000-BFFF, туда подключаются msxный VRAM и орионовская видеопамять (2 страницы).

Error404
23.12.2019, 13:36
Игрушки туда пишут, думаю это закрывает возможность запуска imsx под uzix. А так imsx активно использует прошный (не старый орионовский и не от orion-z) диспетчер страниц по адресам 4000-7FFF и 8000-BFFF, туда подключаются msxный VRAM и орионовская видеопамять (2 страницы).

Получается, эмулятор невозможен и для Ориона-128? Или как-то можно впихнуть, например для небольших игр и в монохроме?

ivagor
23.12.2019, 13:46
Получается, эмулятор невозможен и для Ориона-128?
Для ориона только с классическим диспетчером невозможен. А вот орион с z80 card II теоретически подойдет, там ведь можно включить озу полностью на 64 Кб и отдельно переключать страницы хотя бы в области 0000-3FFF. Но под этот диспетчер надо очень сильно переделывать и некоторые моменты будет очень неудобно реализовать.

Error404
23.12.2019, 14:16
Для ориона только с классическим диспетчером невозможен. А вот орион с z80 card II теоретически подойдет, там ведь можно включить озу полностью на 64 Кб и отдельно переключать страницы хотя бы в области 0000-3FFF. Но под этот диспетчер надо очень сильно переделывать и некоторые моменты будет очень неудобно реализовать.

Хорошо, что не рубишь идею с Z80 card II на корню, может когда соберёшься сделать...
А многие ли игры по железу перепрограммирует обработчик прерывания, или это как-то обслуживается БИОСом МСХ?

ivagor
23.12.2019, 14:45
А многие ли игры по железу перепрограммирует обработчик прерывания, или это как-то обслуживается БИОСом МСХ?
Процедура прерывания biosa в паре мест обращается к области FD9x, по умолчанию там заглушки ret, но игрушка/программа при необходимости может туда записать переходы в нужное место.

И каюсь, я обманул насчет объема используемой памяти. На самом деле 64 Кб (imsx+игрушка) + 16 Кб msx vram + 64 Кб орионовская видеопамять, т.к. используется двойная буфферизация. Т.е. для z80 card и 128 Кб получится только ч/б вариант.

ivagor
23.12.2019, 18:29
Дмитрий2012 поигрался с imsx на реале и обнаружил несколько багов, за что ему большое спасибо! Доработанную версию можно скачать здесь (https://yadi.sk/d/SjDniR5xOVDIQw), игрушки на старом месте (https://zx-pk.ru/threads/13744-orion-pro-emulyator-imsx.html?p=632359&viewfull=1#post632359). Кроме исправления багов чуть-чуть (незаметно для глаза) оптимизировал вывод спрайтов. Еще убрал поддержку спековских портов AY, оставил только авторский вариант.
Еще по поводу соответствия реала и эмулятора. Тем, кто хочет увидеть близкое к реалу (с доработкой Воронова) быстродействие (медленнодействие), надо уменьшить тактовую в конфиге emu примерно до 6.5 МГц (https://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=845379&viewfull=1#post845379). И даже без доработки Воронова все равно будет медленнее, чем 8.7, скорее ближе к 7 с чем-то, уже не помню точно. При попытке переноса imsx куда-либо быстродействие будет одной из самых значительных проблем.

Error404
24.12.2019, 01:42
близкое к реалу (с доработкой Воронова) быстродействие (медленнодействие)

Что это за доработка? "быстродействие-медленнодействие" это сарказм был? Даже 7МГц экивалентного такта не звучит чем-то особо медленным в масштабах орионовщины.

ivagor
24.12.2019, 07:42
Что это за доработка?
Это лучше расскажут реальщики прошники. Со слов Дмитрия2012 я знаю, что у всех успешно запустивших про с турбой 10 МГц эта доработка есть. Без доработки быстрее, но нестабильная работа, с ней помедленнее, но стабильно.


"быстродействие-медленнодействие" это сарказм был?
Типа да


Даже 7МГц экивалентного такта не звучит чем-то особо медленным в масштабах орионовщины.
Да я не говорю, что это в принципе медленно, скорее наоборот, но вот для моей достаточно полной и тормозной реализации эмуляции vdp это мало. Ускорить можно, но придется чем-то жертвовать. А по хорошему если бы добавить еще быстродействия, то можно было бы картинку покачественнее рендерить, в режиме 16 цветов на точку, а не в атрибутном.

АлександрПП
24.12.2019, 11:04
Это лучше расскажут реальщики прошники
https://zx-pk.ru/threads/22389-orion-pro-sborka-i-naladka.html?p=656654&viewfull=1#post656654
Пункт 9.
В версии платы 3.20 доработка уже в разводке платы.

Denn
24.12.2019, 11:15
https://zx-pk.ru/threads/22389-orion-pro-sborka-i-naladka.html?p=656654&viewfull=1#post656654
Пункт 9.
В версии платы 3.20 доработка уже в разводке платы.

Если я не ошибаюсь, речь про тот самый "паровозик ЛЭ" в качестве "линии задержки"?

АлександрПП
24.12.2019, 11:25
Если я не ошибаюсь, речь про тот самый "паровозик ЛЭ" в качестве "линии задержки"?
Да-да!.

Denn
24.12.2019, 11:42
Да-да!.

Так эта доработка ни коим образом не влияет на быстродействие ПК на 10 МГц. Она влияет на стабильность работы некоторых экземпляров процессоров.

ivagor
24.12.2019, 12:01
Возможно тут отчасти терминологическая путаница, что относится к доработке Воронова, а что нет. Но факты таковы: Дмитрий2012 запускал тест (https://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=845379&viewfull=1#post845379) без доработки - было быстрее, и с доработкой - так стало медленнее. Растактовки без доработки я не выложил, т.к. не смог их на 100% объяснить, т.е. сколько тактов где добавляется. А с доработкой получается примерно следующее: +2 такта ожидания на каждый доступ к памяти и доступ к памяти выравнивается по границе четных тактов.

Error404
24.12.2019, 12:06
по хорошему если бы добавить еще быстродействия, то можно было бы картинку покачественнее рендерить, в режиме 16 цветов на точку, а не в атрибутном.

Когда мы увидим твои проекты на Git? :)
Возможно, посмотрев своими глазами, стало бы понятнее как чего перепилить или адаптировать под другие чем ПРО модификации Ориона или другие ОС Ориона чем авторская голая

Denn
24.12.2019, 12:06
А с доработкой получается примерно следующее: +2 такта ожидания на каждый доступ к памяти и доступ к памяти выравнивается по границе четных тактов.

При работе на 5(10) МГц в ПРОшке ЦП "вэйтится" при обращениях к памяти (ОЗУ и ПЗУ) и к портам. Этот момент концептуальный, от доработок не зависит.

ivagor
24.12.2019, 12:09
При работе на 5(10) МГц в ПРОшке ЦП "вэйтится" при обращениях к памяти (ОЗУ и ПЗУ) и к портам. Этот момент концептуальный, от доработок не зависит.
Качественно (то, что вейтится) - не зависит, а количественно (на сколько) - зависит.


Когда мы увидим твои проекты на Git?
Новые (распаковщики) я выкладываю на gitlab, но не все. До старых не знаю когда руки дойдут, чтобы их привести в достойный выкладывания вид.

Denn
24.12.2019, 12:14
а количественно (на сколько) - зависит.

Про такие доработки я не слышал. Кол-во тактов задержки фиксированное (привязано к CLK), и определяется схемотехникой соотв. узлов.

ivagor
25.12.2019, 20:03
Почитал нашу старую переписку с Дмитрием2012 и нашел ссылку вот на такой пост (https://zx-pk.ru/threads/22389-orion-pro-sborka-i-naladka.html?p=804780&viewfull=1#post804780) с фотографиями результатов теста быстродействия (не моего) с доработкой и без доработки. Разница тоже есть, как и в моем тесте - с доработкой медленнее.

Denn
25.12.2019, 20:38
Странно это всё. У меня КМОП-версии Z80 на ОРИОН-ПРО (плата v3.10f) вообще не работают, компьютер с ними (пробовал 3 шт.) просто не стартует. Доработка Воронова никак не решила данный вопрос, а вот стабильность работы обычного Z80 действительно нормализовалась. Соберу новую плату v3.20 - посмотрим, может там удастся завести Z84С0020.

OrionExt
25.12.2019, 21:02
Вот же вы ленивые. То у вас и не работает все через раз. У меня на проводках MSX работает что МОП, КМОП, и если будет МОПС (порода собак) проц, заработает :v2_biggr:

- - - Добавлено - - -

Весь это мега доступ к одной соске (ОЗУ) дико старо и проблемно и нефига не работает, и вызывает коротыш на шине. Умный КЛАЙВ (инженера) поставил резисторы, и больше не парился (не спроста) и вайт добавил. Миллион компов - повторяемая конструкция.

NEO SPECTRUMAN
31.10.2020, 18:56
ivagor, а сорцы засекречены?

кстате много ссылок в теме уже подохли

уже нету архива с работающими игрушками

ivagor
31.10.2020, 19:12
Восстановил ссылки, из этого (https://zx-pk.ru/threads/13744-orion-pro-emulyator-imsx.html?p=1039519&viewfull=1#post1039519) поста можно скачать последнюю версию и перейти к посту со ссылкой на архив игрушек (там более старая версия imsx). Исходники готов буду выложить тогда, когда их вид будет меня устраивать, пока до этого очень далеко.

NEO SPECTRUMAN
31.10.2020, 19:24
когда их вид будет меня устраивать, пока до этого очень далеко
кстате для подобной шняги будет очень полезен ADP
https://zx-pk.ru/threads/30694-vyravnivanie-utrambovyvanie-i-vpikhivanie-koda-bystrye-tablitsy-perekhodov-i-sjasm.html
тк позволяет сохранить нужные адреса точек входа без лишних телодвижений
да и вообще не нужно думать об расположении чего либо в памяти
все раскладывается автоматически

ivagor
31.10.2020, 19:40
будет очень полезен ADP
Для своих программ sjasmом не пользуюсь, только когда надо откомпилировать чужие

NEO SPECTRUMAN
31.10.2020, 19:41
а sjasm это мощь...
...по крайней мере самый свежий :)