ПК-01 ЛЬВОВ

форум о ПК-01,02 "Львов"
Текущее время: 20 июл 2018, 03:49

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 05 сен 2013, 12:59 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994
sas9568635 писал(а):
Я иммею ввиду для таких целей как эмуляторы (мой и Марата)?!.. Считаешь что стОит?..

Винда не расчитана на динамическую картинку всякими директдровами. Поэтому, особенно для такой сложной задачи, как эмуляция, использование DirectX оправдано более чем. Более того, и со звуком будет легче.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 сен 2013, 13:07 
Не в сети
Аватар пользователя

Зарегистрирован: 13 фев 2012, 15:32
Сообщений: 318
Откуда: Приморский край. Уссурийск
sas9568635 писал(а):
Марат обрати внимание!... может нет смысла замораживаться на всяких директИксах...
Вот я написал на форумы
Цитата:
Вот таймер 1 который временами дает глюки...
Код:
procedure TMainFormEmu.TimerMainTimer(Sender: TObject);
begin
 i8080_do_opcodes(opcodes_to_run);// блок команд КР580
RefreshScreen;// перечертить экран
end;

Вот таймер 2 который будет в следующей версии(в меню можно будет выбрать способ вывода 1 или 2) Этом таймер я еще не проверил так как глюков не появлялось...
RDTSCfirstStart — флаг первого запуска, необращай внимания
GetTestRDTSC_ - измерянное кол-во таков RDTSC в 1 сек
RDTSCbak- бывшее состояние RDTSC
RDTSC1fps — колво тактов RDTSC в 1/50 секунду при FPS=50
RDTSC — текущее RDTSC

Код:
function RDTSC: int64; assembler; asm  db $0F,$31 end;

procedure TMainFormEmu.TimerRDTSCTimer(Sender: TObject);
begin
if not RDTSCfirstStart then begin RDTSCfirstStart:=True; RDTSCbak:=RDTSC; end;//первый запуск таймера
RDTSC1fps:=Round((GetTestRDTSC_/FPS)*{поправка}(100/173));
if RDTSC >= RDTSCBAK+RDTSC1fps then begin
RDTSCbak:=RDTSC; RDTSCBAK:=RDTSCBAK+RDTSC1fps;
 i8080_do_opcodes(opcodes_to_run);// блок команд КР580
RefreshScreen;// перечертить экран
end;

Соль второго таймера, что отсчёт времени начинается СРАЗУ после того как закончился предыдущий отсчёт времени (RDTSCbak:=RDTSC; RDTSCBAK:=RDTSCBAK+RDTSC1fps;) и процедуры ( i8080_do_opcodes(opcodes_to_run) RefreshScreen;) выполняются когда «часики уже тикают»....
А вот в первом, врядле так оно. Поетому я хочу в 1 таймере вынести выполнение за пределы таймера т. е. чтобы они выполнялись по end-таймеру....
Правильно ли я мыслю?.... даст ли это чего?..


Марат! Я все это к тому. что есть другие способы вот такие как я пишу и прочие... а для ретро машин (ретро эмуляторов) заморачиваться на Директах... стоит ли?.. особенно если еще изучать нужно

Пойми , дело даже и не в таймере .... то что я и ты пытаемся сделать, на delphi мягко скажем код двоечника программиста (я про себя)
чтобы заставить такой код как наш работать на старых машинах, нужно использовать вставки ассемблерные, получить доступ к железу на прямую а не через winapi и оптимизировать и оптимизировать и еще раз ..........
Вот DIRECTX помогает со всем этим бороться , все заточено под железо , там проще (если знать как) выводить картинку с темже сглаживанием, синхронизация звука ... и т.д


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 сен 2013, 13:08 
Не в сети
Аватар пользователя

Зарегистрирован: 13 фев 2012, 15:32
Сообщений: 318
Откуда: Приморский край. Уссурийск
Zelya писал(а):
sas9568635 писал(а):
Я иммею ввиду для таких целей как эмуляторы (мой и Марата)?!.. Считаешь что стОит?..

Винда не расчитана на динамическую картинку всякими директдровами. Поэтому, особенно для такой сложной задачи, как эмуляция, использование DirectX оправдано более чем. Более того, и со звуком будет легче.

+1 :D


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 сен 2013, 14:11 
Не в сети

Зарегистрирован: 20 апр 2012, 16:00
Сообщений: 372
Откуда: Конотоп
MARAT_BEST писал(а):
чтобы заставить такой код как наш работать на старых машинах,

А вот скажи... зачем на этом заморачиваться (для старых компов)... год-два и эти компы на которых сейч.сидим мы будут старые!... Ну кто оцененит то что ты эмуль напишешь, что он будет работать на "поиске" ?... или на "ПК-01 Львове" ? :-)
MARAT_BEST писал(а):
нужно использовать вставки ассемблерные, получить доступ к железу на прямую а не через winapi и оптимизировать и оптимизировать и еще раз ..........

Я это типа понимаю... но, нам с тобой немного не по пути :-) так сказать...:-) у меня другие цели...т.е. эмуль тот что у меня и другие эмули меня вполне устраивают... через год-два наши эмули "летать" будут на новых машинах!... :-) Я буду больше двигаться в сторону управления эмулем (и машиной в эмуле) из внешней программы (т.е. используя DprToLvt ) для прочного изучения (эксперементов) с ПК-01... постараюсь довести до того, чтобы можно было хоть как-то(т.е. комбинированно) компилировать в ПК-01 написанное в дельфи (командами Асм580) используя DprToLvt...
MARAT_BEST писал(а):
Вот DIRECTX помогает со всем этим бороться , все заточено под железо , там проще (если знать как) выводить картинку с темже сглаживанием, синхронизация звука ... и т.д

Согласен, конечно!
Считаю, что подобным никого и даже себя ни ты не я не удивлю!... Ну есть уже такое!.. Ну может и лучше у тебя получится!... ну и что?!... по существу ничего это не меняет - есть подобные эмуляторы!...
ИМХО! Проще говоря, пытайся написать в своём эмуле, то, чего нет в других эмулях!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 сен 2013, 14:17 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994
sas9568635 писал(а):
Я это типа понимаю... но, нам с тобой немного не по пути :-) так сказать...:-) у меня другие цели...т.е. эмуль тот что у меня и другие эмули меня вполне устраивают... через год-два наши эмули "летать" будут на новых машинах!... :-)

Вспомните свои первые попятки написать эмуль. Как вы все пытались сделат риалтайм с задержками треда, не слушая советов. Сейчас, когда Вы уже умеете писать дивжок эмуля (как я понмаю, спаибо Марату) это выглядит неуклюже и смешно. Хотя даже такая страшная конструкция летала бы на новых многоядерных машинах. Вот так же неуклюже и смешно выглядит directdraw против directX.
А если цели другие, то и подход должен быть другой. Если Вы деалете эмуль, как конечный продукт для пользователя, то присулшивайтесь к советам по качеству. Если же этот эмуль для Вас всего лишь инструмент для чего-то другого (например пишите игру на ПК-01), тогда давайте нам тот другой, финальный продукт на оценку, а эумль выкладывать не нужно. Как-то так.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 сен 2013, 14:49 
Не в сети

Зарегистрирован: 20 апр 2012, 16:00
Сообщений: 372
Откуда: Конотоп
Zelya писал(а):
Если Вы деалете эмуль, как конечный продукт для пользователя, то присулшивайтесь к советам по качеству.

Нет, мой эмуль это не как конечный продукт. Поэтому у меня нет особого желения осваивать ДиректИкс хотя бы для того что-бы "мозги" настраивать на другое и время не тратить на ДиректИкс... Не исключено, что могу внезапно переключится если посчитаю, что я ДиректИкс быстренько прикручу и "пойду дальше"...
Zelya писал(а):
Если же этот эмуль для Вас всего лишь инструмент для чего-то другого (например пишите игру на ПК-01),

Скажем так, писал я DprToLvt, к нему был эмуль как прилягающее... Шото то... как-то... в тупик зашел... что-ль.. непонравилось мне все это... решил пойти обратным ходом написать эмуль который можно в принципе использовать, и прикуритить DprToLvt... Далее поддерживать "легонько" эмуль как окончательный вариант, но при котором развивается DprToLvt... далее РиверРайд для эмулятора (с использованием DprToLvt, по другому я его не напишу)... далее компилятор... далее... ОЙ! Шото я увлекся! :-) я столько не проживу! :-) Да и возможны "повороты" судьбы..
Если где-то и в чём-то описанном выше будут "тупики" - дак конечно же и я буду менять ход развития проекта. А это плохо?... Что изначально цель мутна и "размыта"... а далее по мере действий(праивильных и неправильных) - проясняется?!
Zelya писал(а):
тогда давайте нам тот другой, финальный продукт на оценку, а эумль выкладывать не нужно. Как-то так.

Хм.. А чем Вас эмуль не устраивает!?... как конечный продукт!... Его что нельзя использовать?!.. Думаю можно! Если есть какие недостатки - дак они везде и во всём есть...


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 сен 2013, 15:09 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994
Еще раз.
1. Если Ваш эумль не есть конечным продуктом, а есть только инструментом, чтобы потетсить, опробовать, упростить разработку Ваших других проектов, то проблем никаких. Только в таком случае раздавать его и предлагать пробовать смысла не имеет.
2. Если Вы предлагаете свой эмулятор, как конечный продукт. Т.е. чтобы любой посторонний использовал его для эмуляции игр ПК-01, то в таком случае отмазка "у меня другие цели..." не катит. По крайней мере она выглядит некрасиво перед людьми, которым Вы предложили его тестировать. Снова же приведу Ваш же пример.
Вы предлагете потестить свой первый вариант эумля. Эмуль страшно глючит даже на мощном одноядерном компе, при том отжирая кучу ресурсов. Вам делают замечания, но Вы их не слушаете, то доказывая что он работает достаточно быстро, то говоря, что для своих задач он хорош. Это просто некрасиво по отношению к тем, кому Вы предложили попробовать тот первый эумль.
Сейчас у Вас есть версия №2. Прогресс на лицо. Но Вы снова повторяете шаг в шаг весь негатив. Снова, Вас все устраивает и у эмуля другая цель. Я думаю, если Марат выпустит свой двиг на ДиректИкс, то Ваше мнение снова поменяется. Но в то же время о Ваших разработках уже может сложится негативный фон.

Вывод:
Выкладывайте только продукт, который предлагаете использовать как конечный (исключения, если отдельно просят показать что-то), и всегда прислушивайтесь советов пользователей.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: SAS еmulator
СообщениеДобавлено: 21 дек 2017, 12:45 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28
SAS emulator 1.42 Beta.
Добавил возможность сохранения в формат SAV (в разные его разновидности, т.е. с различными хендерами).
Надеюсь, на этом вопрос о "SasLVE => SAV" будет закрыт раз и навсегда!
(см. файл "SASemulator1.42Beta.txt" или "!Readme.txt")

сам Эмулятор без игр
Вложение:
SASemulator1.42Beta(1).7z [584.19 KiB]
Скачиваний: 23

игры к эмулятору (скопируйте каталог "GAMES", в каталог где находится эмулятор)
Вложение:
SASemulator1.42Beta(2).7z [934.8 KiB]
Скачиваний: 23


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: SAS еmulator
СообщениеДобавлено: 21 дек 2017, 14:00 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994
Цитата:
Надеюсь, на этом вопрос о "SasLVE => SAV" будет закрыт раз и навсегда!

Очень советую Вам выкладывать Ваши игры уже в фортамте SAV.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: SAS еmulator
СообщениеДобавлено: 21 дек 2017, 14:25 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28
Zelya писал(а):
Очень советую Вам выкладывать Ваши игры уже в фортамте SAV.

Ну ужеж сделал возможность в эмуле, так теперь можно и выкладывать! :-)
Просто не хотелось было на этом парится.
А ты проверял, всё впорядке ? потому что я только на лаб2018 проверял те форматы!... мало ли что!...
"советую Вам" - Слушай, я не помню как мы общались раньше... :-) но давай на "ты", просто потому что так проще, лады ? :-)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: SAS еmulator
СообщениеДобавлено: 27 май 2018, 13:58 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28
SAS emulator 1.44 Beta.

08-01-2018
SAS emulator 1.43 Beta:
Добавлено открытие файлов с коммандной строки, например
"SASEmulator_.exe boulderdash.SasLVE "
==================================================================
27-05-2018
SAS emulator 1.44 Beta
Отменил сохранение в версию SasLVE (48+2) по умолчанию, так как она дала сбой,
сейчас по умолчанию сохраниение в версию SasLVE (48+1)

Новое: Tools\"Intr BL\BS" - перехват Bload\Bsave
При включении "Intr BL\BS" - происходит чтение\сохранение файла на диск в
формате LVT, в папку емулятора ..\BloadBsave. Имена файлов задаваемые
в ПК-01, переобразовываються в HEX-вид, т.е. например если задать
имя файла "LABS18" то это соответвует файлу "4C4142533138.lvt", если задать
имя файла "" (считается как 6 пробелов), - "202020202020.lvt" и т.д.
При влючённой "Intr BL\BS" и чтении файла (BLOAD), возможны возникновения
ошибок и вывод на экран ПК-01, "ОШИБКА В/В",с последующим переходом на адрес:
E52BH ( 58667 ), как описано в "ПЕРСОНАЛЬНАЯ ЭВМ ПК-01 "ЛЬВОВ" РУКОВОДСТВО
ПРОГРАММИСТУ":
"При прерывании или аварийном завершении процедур ввода с МЛ выдается
сообщение об ошибке и производитсяпереход на E52BH ( 58667 ),
откуда управление передается на BEF0H ( 48880 )."

Такое возможно при: 1 - файл отсутствует или пустой;
2 - слишком маленький размер файла (файл не может быть меньше 23 байт);
3 - неверный формат файла(файл должен быть форматом LVT и начинаться с
'LVOV/2.0/'+#$D0;
4 - несоответствие размера данных (кол-во данных меньше разницы CODFL_END
и CODFL_ORG заданных в файле),

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

Если например выполнить BLOAD"LABS18",R т.е. с ключом ",R", программа будет
запущенна по адресу старта прописанному в файле 4C4142533138.lvt. Данный
пример предоставляется, попробуйте. Можна также загружать со смещением,
например BLOAD"",10000 программа будет загружена соответвенно и запущена.

Данная возможность "Intr BL\BS" касается только команд BLOAD и BSAVE,
точнее говоря, данная возможность перехватывает переходы на адреса:
2.5.6 Прием кодового файла ( BLOAD ). Точка входа DD94H ( 56724 ). и
2.4.8 Передача кодового файла ( BSAVE ). Точка входа DD31H ( 56625 ),
само выполнение этих подпрограмм в ПК-01 не происходит кроме вычисления
контрольной суммы (" После выполнения загрузки на экран с новой строки вы-
даются адреса файла и его КС ( подпрограмма DD61H ( 56673 )) в
шестнадцатеричном виде. ").Других команд чтения/записи магнитофон,
кроме BLOAD и BSAVE,эта возможность не касается!
При оключённой возможности "Intr BL\BS", BLOAD и BSAVE работают как обычно.
Следует заметить, что при влючённой "Intr BL\BS", скорость работы чтения/записи
и вывода контрольной суммы работают на максимальной скорости, т.е. почти
моментально какими бы не были заданны объёмы чтения\записи.
Примечание. При сохрание данных (BSAVE), имя файла в HEX-виде будет
соотвествовать имени прописанному внутри файла LVT. При чтении данных (BLOAD),
будет прочитан файл с HEX-видом имени заданном в BLOAD, если внутри файла
окажется имя отличающееся от заданного в BLOAD, то данное имя (которое внутри
файла) будет помещено в переменную LOAD_NAME.
LOAD_NAME ¦ BE92-BE97 ¦ 48786-48791 ¦ считанное имя файла.
Данная функция работает про принципу записи данных в файл на диск, т.е.
если сохранить (BSAVE) с именем которым уже было сохранено, предыдущие данные
замещаются новыми.
*
В базу игр Эмулятора добавлена новая игра "2048!"
("2048!.SasLVE" в папке GAMES, прописана index.ini, т.е. есть в BOXGAMES
эмулятора)
==================================================================
сам Эмулятор без игр
Вложение:
SASemulator1.44Beta(1).7z [591.2 KiB]
Скачиваний: 2

игры к эмулятору (скопируйте каталог "GAMES", в каталог где находится эмулятор)
Вложение:
SASemulator1.44Beta(2).7z [952.1 KiB]
Скачиваний: 2


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Free counters!
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB