Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Пожелания и планы по эмулятору Башкирия-2М (http://zx-pk.ru/showthread.php?t=8373)

b2m 4th August 2010 22:00

Если честно, я уже перестаю понимать, что должно происходить при установке регистров в разной последовательности. Вроде всё просто, ан нет - то одно не работает, то другое. Буду искать самое подробное описание AY...

b2m 5th August 2010 18:14

Выложил исправленный вариант на сайт.

ivagor 10th August 2010 12:29

Было бы здорово запоминать в отладчике положение отдельно для окна памяти и отдельно для окна портов.

Tim0xA 29th August 2010 03:12

Quote:

Originally Posted by b2m (Post 280376)

Вот, к примеру, такое дополнение emu.ext
Code:

msx : loader {
  config="MSX"
  loadaddr=4000
  cmd[0].start=no
}

Тогда файлы с расширением *.msx будут грузиться в область 4000h, а bios их сразу будет запускать.

Если я таким образом загружаю файл, который превышает 16кб, то в ячейки 0x8000 - 0x8002 перезаписываются нули.
Можешь проверить на любом MSX 16кб ROM-файле, добавив к нему несколько байт.

Можно это исправить? Я сейчас отлаживаю рекомпиляцию на 17131 байт и этот глюк очень некстати.

b2m 29th August 2010 14:29

В смысле, ты хочешь, чтобы я подправил бейсик, чтобы он не писал туда нули? Для справки: с адреса 8000h начинается программа на бейсике, а три нулевых байта - это конец программы.

Tim0xA 29th August 2010 15:25

Quote:

Originally Posted by b2m (Post 310002)
В смысле, ты хочешь, чтобы я подправил бейсик, чтобы он не писал туда нули? Для справки: с адреса 8000h начинается программа на бейсике, а три нулевых байта - это конец программы.

Теперь понятно. Если ты можешь поправить бейсик и это не займет много времени, то сделай плиз такой вариант специально для рекомпиляторщиков. Если нет, то буду вставлять в код временную процедурку для восстановления этих трех байт.

b2m 29th August 2010 17:50

Quote:

Originally Posted by Tim0xA (Post 310009)
Если ты можешь поправить бейсик и это не займет много времени

Первый байт устанавливается непосредственно, а второй и третий вроде совмещён с процедурой установки конца программы, и вообще это вроде часть оператора NEW. Так что быстро не получится.

Проще сделать в программе приблизительно на этом месте 8000h-8002h (неиспользуемый) буфер.

Tim0xA 29th August 2010 19:59

Quote:

Originally Posted by b2m (Post 310076)
Проще сделать в программе приблизительно на этом месте 8000h-8002h (неиспользуемый) буфер.

Да, это хороший вариант.

b2m 2nd September 2010 16:05

Quote:

Originally Posted by ivagor (Post 305337)
Было бы здорово запоминать в отладчике положение отдельно для окна памяти и отдельно для окна портов.

Добавлено.

sergey2b 2nd September 2010 16:48

было бы желательно что бы можно было считывать бинарные файлы для rk86
хотя ковнертор bin to rk я сдел уже

b2m 2nd September 2010 17:10

В отладчике можно загрузить любой файл по любому адресу.
Есть также возможность настроить автоматическую загрузку файла с определённым расширением в EMU.ext

Tim0xA 8th September 2010 17:34

1 Attachment(s)
b2m, в режиме эмуляции MSX1 не загружается ROM-файл (см. в приложении). В эмуляторе BlueMSX работает.

b2m 9th September 2010 00:37

Уже грузится, скачай эмуль ещё раз. Zanac перестал грузиться, завтра поправлю.

Doronetty 9th September 2010 01:12

Интересно, как эмулятор в режиме БК относится к тестам, которые BKBTL "тест 791401 проходит, тест 791404 НЕ проходит" - всё ли он проходит?!

b2m 9th September 2010 11:58

Аналогично. Тест инструкций проходит, тест ОЗУ ругается там, где надо, а тест прерываний не проходит ввиду отсутствия каких-то из них.

svofski 9th September 2010 15:14

Там и прерывания и какие-то внешние устройства, которых на БК в принципе нет. Не стоит зацикливаться на тестах. Они только намекают на исправность, но ее не гарантируют.

Doronetty 18th September 2010 14:59

Потестил Insult Megademo (БК-0011М) с последней версией - результат очень порадовал: AY и COVOX теперь удачно сосуществуют и не мешают друг другу!
Автору мегареспект - такого не удавалось ещё никому!!!
А вот диск с Techlological Dreams (на амигаподобном загрузчике) продолжает жутко и противно гудеть ;) Ну и на самих демках (и T Dreams и Disco Club) происходит не совсем корректная работа - в области графики и палитр пока есть недоработки - но думаю автор успешно справится и с ними!

Sandro 20th September 2010 02:33

Quote:

Originally Posted by Doronetty (Post 316443)
Потестил Insult Megademo (БК-0011М) с последней версией - результат очень порадовал: AY и COVOX теперь удачно сосуществуют и не мешают друг другу!
Автору мегареспект - такого не удавалось ещё никому!!!

Как это "никому"? А как же я? :frown:
Выбираем Smart Covox, и всё работает. По крайней мере, на мой слух :)

Вот же чёрт! Обратно не работает, сломал перед релизом. Ну ладно, в следующей версии исправим.

Sandro 20th September 2010 06:46

Кстати, загрузчик Technological Dreams будет жужжать ковоксом на частоте 50 Гц, если его запустить на реале. Особенность его работы с портом 177714, увы. А ещё он подразумевает, что ничего кроме мыши к порту не подключено (сейчас специально протрассировал код).

b2m 20th September 2010 14:12

Quote:

Originally Posted by Sandro (Post 316955)
Кстати, загрузчик Technological Dreams будет жужжать ковоксом на частоте 50 Гц, если его запустить на реале.

Я тоже так подумал. Либо ковокс, либо мышь (а её пока у меня нет).
Кстати, Sandro, ты, как человек знающий БК, может скажешь, в районе какой сканлинии формировалось прерывание по кадровому СИ?
А то у меня демки с мультиколором криво идут. Хотя это может быть и неправильный тайминг команд.

Sandro 21st September 2010 03:51

Quote:

Originally Posted by b2m (Post 317009)
Я тоже так подумал. Либо ковокс, либо мышь (а её пока у меня нет).

Это не совсем так. Канонический опросчик мыши щёлкает только 2 битом (и кто придумал засунуть строб в младший байт единственного порта ввода-вывода? Ненависть! :mad:). Поэтому можно сравнивать новое значение в порту со старым, и не обновлять ковокс, если изменился только 2 бит. Тогда звук щёлкнет один раз в начале мышевозной программы, и всё. Опция "Smart Covox" у меня делает именно это.

Более того, если программа пишет в ковокс только байтами или только словами, то можно попытаться отделить записи в него от работы с AY. У меня есть рабочая версия, но в релиз 0.4 она не попала, увы, хоть и была готова :(

А вот как подружить всю троицу, я пока не представляю.

Quote:

Originally Posted by b2m (Post 317009)
Кстати, Sandro, ты, как человек знающий БК, может скажешь, в районе какой сканлинии формировалось прерывание по кадровому СИ?
А то у меня демки с мультиколором криво идут. Хотя это может быть и неправильный тайминг команд.

Тут дело такое: в своё время у меня была ремонтная документация на БК, где всё это было описано детально, но она погибла вместе с дисками. :v2_cry:
Фрагменты из этой доки, которые мне удалось найти в сети (и то только по БК-0010) этих времянок не содержат. Поэтому у меня времянки ненадёжные, выставлены по воспоминаниям 20-летней давности об этих доках и по стандарту SECAM.
Если есть интерес, в ближайшие 2-3 дня (когда найдётся время) выложу в подфорум по БК мои времянки вместе с соображениями, почему так. Благо Insult выглядит почти нормально, значит ошибка невелика. Technological Dreams, правда, искажён сильно в сцене с шариками.

b2m 21st September 2010 14:43

Quote:

Originally Posted by Sandro (Post 317213)
Канонический опросчик мыши щёлкает только 2 битом

Странно, TDR щёлкает 3-м битом (засылает восьмёрку в порт), сделал пока нечувствительность к изменению бита D3. Теперь не гудит.

Sandro 21st September 2010 15:48

Третьим, конечно же :) Не надо было так поздно ночью в форум писать.

Doronetty 22nd September 2010 12:00

Да, теперь всё играет замечательно! Мегареспект!

P.S: Может, у А.Савельева удасться узнать все секреты мультиклолров и таймингов?

b2m 22nd September 2010 13:38

А палитра-то у Sandro более правильная, заметно в одной из частей insult-а. Сделал, как у него.

Doronetty 22nd September 2010 23:22

Да, теперь более похоже на правду (особенно в части Insult'а с синим мумбриком). Хотя в том же Эмуляторе 3000 отличия есть, например, в заставке между частями (чудищем с медальоном) - там зубы и глаза ещё одной градации красного, самой светлой. Вообще хотел запустить последнюю версию эмулятора Савельева (ведь в Эму3000 вроде как использованы сорцы не слишком последней версии эмулятора Савельева), чтобы посмотреть что да как, но пока нигде машины с Dos'ом или хотя бы Win 98 не нашёл...

Sandro 22nd September 2010 23:51

Quote:

Originally Posted by b2m (Post 317584)
А палитра-то у Sandro более правильная, заметно в одной из частей insult-а. Сделал, как у него.

Палитра у меня набита в соответствии с официальным руководством программиста по БК :)

Собственно, не нужно было со скриншотами возиться, вот она:

Code:

        private final static byte[] fullColorMap = {BC_BLACK, BC_BLUE, BC_GREEN, BC_RED, // 0, a.k.a BK colors
                        BC_BLACK, BC_YELLOW, BC_MAGENTA, BC_RED, //1
                        BC_BLACK, BC_CYAN, BC_BLUE, BC_MAGENTA, //2
                        BC_BLACK, BC_GREEN, BC_CYAN, BC_YELLOW, //3
                        BC_BLACK, BC_MAGENTA, BC_CYAN, BC_WHITE, //4 - CGA colors
                        BC_BLACK, BC_WHITE, BC_WHITE, BC_WHITE, //5 - fake mono palette
                        BC_BLACK, BC_DRED, BC_MRED, BC_RED, //6 - red shades
                        BC_BLACK, BC_GREEN, BC_LGREEN, BC_YELLOW, //7 - FIXME!!! could be wrong
                        BC_BLACK, BC_VIOLET, BC_LBLUE, BC_MAGENTA, //8
                        BC_BLACK, BC_YELLOW, BC_LBLUE, BC_MAGENTA, //9
                        BC_BLACK, BC_YELLOW, BC_VIOLET, BC_RED, //10
                        BC_BLACK, BC_CYAN, BC_YELLOW, BC_RED, //11
                        BC_BLACK, BC_RED, BC_GREEN, BC_CYAN, //12
                        BC_BLACK, BC_CYAN, BC_YELLOW, BC_WHITE, //13
                        BC_BLACK, BC_YELLOW, BC_GREEN, BC_WHITE, //14
                        BC_BLACK, BC_CYAN, BC_GREEN, BC_WHITE //15
                };

Собственно, ещё нужно помнить, что у БК палитра имеет формат RrGB, то есть там два бита на красный и по одному на все остальные. Это используется в палитре 6 (да, там 3 разных красных) и, насколько я понимаю, в палитрах 7 и 8 (цвета LGREEN и LBLUE -- в их точном значении я не уверен).

Quote:

Originally Posted by Doronetty (Post 317696)
но пока нигде машины с Dos'ом или хотя бы Win 98 не нашёл...

Рекомендую dosbox, очень толковый эмулятор старых x86 с досом. Правда, если машинка медленная, то в настройках стоит поставить core=dynamic. Бесплатный, взять можно тут: http://www.dosbox.com/

Doronetty 23rd September 2010 14:12

Про DosBox давно знаю, тока эмулятор под ним идёт очень криво - и медленно и с ужасными граф. багами. Буду пытаться запустить на реале под Win ME

BYTEMAN 30th September 2010 01:27

Предлагаю поставлять вместе с эмулятором прошивку версии 2.10 для Ориона-ПРО. 2.0 уже несколько устарела.

b2m 30th September 2010 15:16

Я пробовал, в режиме Орион-128 почему-то командер вылетает. А где взять актуальное содержимое ROM-диска?

---------- Post added at 13:38 ---------- Previous post was at 12:18 ----------

Так, оказывается режим прерываний IM 2 в Орион-Про эмулируется неправильно, надо переделывать...

---------- Post added at 15:16 ---------- Previous post was at 13:38 ----------

Переделал. Прошивки новые положил.

BYTEMAN 30th September 2010 17:48

Quote:

Originally Posted by b2m (Post 319616)
А где взять актуальное содержимое ROM-диска?

Налепить самому. Как у меня появится ноут, я сделаю программу для создания РОМ-диска и разбора готового РОМ-диска на BRU-файлы.

Error404 4th October 2010 16:45

Quote:

Originally Posted by BYTEMAN (Post 319695)
Налепить самому. Как у меня появится ноут, я сделаю программу для создания РОМ-диска и разбора готового РОМ-диска на BRU-файлы.

я создаю romdisk-и так:

copy /b ordos.bru + file1.bru + file2.bru + ... + file_ff.dat romdisk.bin

А в обратном направлении зачем?

BYTEMAN 4th October 2010 19:03

Для универсальности. Вдруг найдутся Орионщики, у которых на ром-дисках записан какой-нибудь эксклюзив. Вот и считаем его :) Будуть режимы как для Ориона-ПРО, так и для обычного 128-го. Но у меня пока что нет своего компьютера, поэтому не получается начать работу, равно как и закончить уже начатое (дописать конвертер текстовых файлов Орион-РС. Я почти закончил доработки, но файлы все остались дома, на домашнем компьютере).

ZEman 8th October 2010 12:50

b2m, обнаружил ошибку в эмуляторе.
при переходе в полноэкранный режим в режиме эмуляции specialist mx, цветовая схема эмулятора портится.
подозреваю что это какаято несовместимость эмулятора с семёркой.

и ещё, одно пожелание, добавь пожалуйста поддержку файлов i80.

b2m 8th October 2010 16:21

Quote:

Originally Posted by ZEman (Post 321727)
обнаружил ошибку в эмуляторе.
при переходе в полноэкранный режим в режиме эмуляции specialist mx, цветовая схема эмулятора портится.

По-умолчанию, в полноэкранном режиме используется 256-цветный режим, и при этом система вынуждена идти на компромисс: позволить перепрограммировать палитру или оставить какие-то цвета зарезервированными. Вообще, использование этого режима - анахронизм, мне раньше казалось, что в этом режиме эмуляция экрана будет быстрее, т.к. меньший объём данных приходится каждый раз обновлять.
В конфиге можно строго задать режим, попробуй в начале конфига добавить строчку:
main.fullscreen=1280x1024x16

И посмотри, исправилась ли ситуация. Если да, то сделаю по-умолчанию 16-битную глубину цвета.

Quote:

Originally Posted by ZEman (Post 321727)
и ещё, одно пожелание, добавь пожалуйста поддержку файлов i80.

Обычно, вместе с таким файлом идёт описание, куда грузить и какой монитор использовать. Файл называется так-же, но с расширением .cpu (это придумал А.Шевцов, aka AVSh). А вообще - нет такого стандартного формата .i80.

ZEman 8th October 2010 18:05

не помогло.
экран в спциалисте мх вместо синего в полноэкранном режиме становится красным.
попробовал проверить другие эмуляторы такие как VV и некоторые другие, проблем с цветом в фулскрине нет.

b2m 8th October 2010 18:22

Quote:

Originally Posted by ZEman (Post 321776)
не помогло

А размер экрана изменился? У тебя вообще возможен режим 1280x1024 65536 цветов?

ZEman 8th October 2010 19:49

3 Attachment(s)
у меня семёрка 64-битная, здесь вообще нету выбора 16 или 32 бит цвета на рабочий стол.
размер экрана в фулскрине не изменился.
получился этакий красный прямоугольник в чёрном экране.
в окне всё нормально отображается, а как перехожу в фулскрин вот такая беда
первая и вторая картинки сфоткал монитор чтоб видно было кривые цвета.
картинка №3 это уже снимок из окна (нормальный).

ZEman 8th October 2010 20:18

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

ZEman 8th October 2010 20:42

b2m, у тебя через что работает эмулятор ?
через древний direct draw чтоли ?
VV отлично работает через OGL, в фулскрине никаких проблем.


All times are GMT +4. The time now is 02:57.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.