Эмуляция Ориона-Про

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

Moderator: Shaos

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

Post by Shaos »

cr0acker wrote:
HardWareMan wrote:
cr0acker wrote:Кста директ драв отсутствует в видоуз виста.
Интересно, тогда почему работают многие старые проги, юзающие DirectDraw (в том числе и некоторые мои)? Совместимость полюбому должна быть.
Разве работают? У кого то из нас неправильная виста.
может ты 16-битную программку пытаешься запустить? они в висте больше не идут...

возвращаясь к тесту в вине:

wine: Unhandled page fault on read access to 0x00000060 at address 0x7e8dd470 (thread 0038), starting debugger...
Я тут за главного - если что шлите мыло на me собака shaos точка net
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Post by b2m »

Да я понял уже, отчёт Error404 был более чем достаточен. В понедельник обновлю на сайте тест.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Post by b2m »

Поставил я себе Debian. После нескольких попыток, стало ясно, что я намудрил с палитрой. Теперь тот тест работает под Wine. Правда, не так быстро, как хотелось бы: грузит проц PII-400 на 80%, и это ещё без эмуляции звука.

Интересно, насколько сложно писать прямо под иксы? Интересующие меня подробности наверняка есть в исходниках Wine 8)
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

b2m wrote:А кто-нибудь знает точно, какой цвет соответствует цвету номер 8 в разных версиях Ориона? Чёрный или тёмно-серый?
Я в глаза не видел ни одного ориона, но в своём эмуле сделал палитру на 100% соответствующую стандартной EGA т.е. цвет номер 8 это тёмно-серый
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

b2m wrote:Поставил я себе Debian. После нескольких попыток, стало ясно, что я намудрил с палитрой. Теперь тот тест работает под Wine. Правда, не так быстро, как хотелось бы: грузит проц PII-400 на 80%, и это ещё без эмуляции звука.

Интересно, насколько сложно писать прямо под иксы? Интересующие меня подробности наверняка есть в исходниках Wine 8)
Лучше пиши прямо под SDL - тогда не придётся особенно никуда портировать :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
cr0acker
God
Posts: 1078
Joined: 03 Feb 2003 13:53

Post by cr0acker »

Shaos wrote:
b2m wrote:Поставил я себе Debian. После нескольких попыток, стало ясно, что я намудрил с палитрой. Теперь тот тест работает под Wine. Правда, не так быстро, как хотелось бы: грузит проц PII-400 на 80%, и это ещё без эмуляции звука.

Интересно, насколько сложно писать прямо под иксы? Интересующие меня подробности наверняка есть в исходниках Wine 8)
Лучше пиши прямо под SDL - тогда не придётся особенно никуда портировать :)
Да шаощавский мулятор спринтера портирован на большее количество платформ чем было сделанно спринтеров.
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Post by b2m »

Shaos wrote:Лучше пиши прямо под SDL - тогда не придётся особенно никуда портировать :)
Может я чего не понимаю, но вот тот тест без SDL практически не нагружает процессор, а то-же самое, но с использованием отрисовки через поверхность SDL нагружает Pentium D 2.8 ГГц на 10-20% с пиками до 39% :o Как-то разонравился мне SDL после таких экспериментов.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

b2m wrote:
Shaos wrote:Лучше пиши прямо под SDL - тогда не придётся особенно никуда портировать :)
Может я чего не понимаю, но вот тот тест без SDL практически не нагружает процессор, а то-же самое, но с использованием отрисовки через поверхность SDL нагружает Pentium D 2.8 ГГц на 10-20% с пиками до 39% :o Как-то разонравился мне SDL после таких экспериментов.
Высылай сырцы теста - поглядим (можешь выделить только отрисовывающую часть)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
cr0acker
God
Posts: 1078
Joined: 03 Feb 2003 13:53

Post by cr0acker »

b2m wrote:
Shaos wrote:Лучше пиши прямо под SDL - тогда не придётся особенно никуда портировать :)
Может я чего не понимаю, но вот тот тест без SDL практически не нагружает процессор, а то-же самое, но с использованием отрисовки через поверхность SDL нагружает Pentium D 2.8 ГГц на 10-20% с пиками до 39% :o Как-то разонравился мне SDL после таких экспериментов.
Хз когда я последний раз писал под сдл в линухе, у меня ничего не грузилось правда были некоторые заморочки с евентами.
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Post by b2m »

Shaos wrote:Высылай сырцы теста - поглядим (можешь выделить только отрисовывающую часть)
Отбой. Сам виноват. Грузил свою же DLL-ку с эмулируемыми компонентами, а она оказалась Debug версией без оптимизации :)
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: Эмулятор ПК "ОРИОН"

Post by Alekcandr »

b2m wrote:И ещё непонятно, почему demopro.com пытается переслать себя из первой страницы во вторую, хотя OSDOS именно туда его и грузит, пришлось убрать из бинарника вызов соответствующей процедуры (изменённый бинарник есть только на моём образе диска :) ).
Столкнулся с той же проблемой. Начал разбираться и выяснил.
Бит 7 порта 0хА0 не только включает режим Orion-128, а еще делает следующее:
- отключает от диспетчера страниц порт 0х08. Данные можно записывать в порт 0х08, но страницы он не переключит;
- подключает к диспетчеру страниц порт 0хF9. Управлять диспетчером можно только от порта 0хF9.
В режиме Orion-Pro (Бит 7=0) порт 0хF9 отключается, а переключать страницы можно только портом 0х08.
Одновременно управлять страницами от двух портов не получится.
Так что программа demopro.com работает корректно.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Re: Эмулятор ПК "ОРИОН"

Post by b2m »

Alekcandr wrote:Так что программа demopro.com работает корректно.
Сомнений, собственно, и не было. Надо было разбираться, а времени на хобби как всегда не хватает. Спасибо, что разобрался.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Эмулятор ПК "ОРИОН"

Post by Error404 »

Alekcandr wrote:
b2m wrote:И ещё непонятно, почему demopro.com пытается переслать себя из первой страницы во вторую, хотя OSDOS именно туда его и грузит, пришлось убрать из бинарника вызов соответствующей процедуры (изменённый бинарник есть только на моём образе диска :) ).
Столкнулся с той же проблемой. Начал разбираться и выяснил.
Бит 7 порта 0хА0 не только включает режим Orion-128, а еще делает следующее:
- отключает от диспетчера страниц порт 0х08. Данные можно записывать в порт 0х08, но страницы он не переключит;
- подключает к диспетчеру страниц порт 0хF9. Управлять диспетчером можно только от порта 0хF9.
В режиме Orion-Pro (Бит 7=0) порт 0хF9 отключается, а переключать страницы можно только портом 0х08.
Одновременно управлять страницами от двух портов не получится.
Так что программа demopro.com работает корректно.
Пытаюсь разобраться с эмуляцией ПРО. В стартовом ПЗУ с самого начала ROM1 выполняется примерно такая конструкция:
while (TRUE)
{
delay();
init_ports();
init_stack();
init_ff00_mem();
init_interrupts();
}
У меня эмулятор из этого цикла не выходит (и не должен, я прошагал), т.е. увисает. По логике, могло бы выйти по прерыванию, но во-первых, код делает DI и не делает EI, а во вторых, не включает прерывания портом 0FBh (т.е. даже аппаратно прерывания запрещены). Кто-нибудь сталкивался с таким?
Всем добра!
b2m
Devil
Posts: 905
Joined: 26 May 2003 06:57

Post by b2m »

А rom2 подключен?
Подключи дебугер к моему эмулятору, и посмотри как это место у меня выполняется. У меня-же работает.

Начало файла Orion-Pro 2.cfg с дебугером выглядит так:

Code: Select all

...
dbg : debug {
}

CPU : Z80 {
  debug=dbg
  mem=mm
...
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

b2m wrote:А rom2 подключен?
Подключи дебугер к моему эмулятору, и посмотри как это место у меня выполняется. У меня-же работает.

Начало файла Orion-Pro 2.cfg с дебугером выглядит так:

Code: Select all

...
dbg : debug {
}

CPU : Z80 {
  debug=dbg
  mem=mm
...
Добавил строчки, но не нашел дебагер. Он имеет встроенный интерфейс или нужно нечто внешнее?
Всем добра!