PC-01 Lviv
http://pc01.lviv.ua/forum/

Хочу написать свой эмулятор ПК-01 Львов на Delphi
http://pc01.lviv.ua/forum/viewtopic.php?f=12&t=193
Page 9 of 15

Author:  sas9568635 [ 13 Sep 2013, 09:35 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

MARAT_BEST,
Бегло попробовал ассемблер... пишет вот что:
Quote:
Компиляция и запуск в эмуляторе
Сохраняем файл ASM
Готовим компилятор
Компиляция
Попробуем загрузить в эмулятор
Произошла ошибка !!!
Кстати, попробуй цитируемый текст "вставить из буфера" :-) - ошибок валом!
Совет. Увеличь (не жлобись :-) ) кол-во операций КР580 во время нажатия (отжатия) клавиш!
Когда длинный текст (конец строки, ввод, конец экрана) кол-во операций КР580 во время нажатия (отжатия) клавиш нужно ужОс сколько :-)
======================
Шо это за денёк сегодня... :-)
Я сегодня свой эмуль тоже надумал выложить... :-)
А-а-а-а-а....:-) Сегодня пятница, 13!

Author:  MARAT_BEST [ 13 Sep 2013, 09:46 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Quote:
Очередная версия !!! :D
Бегло посмотрел под wine, сразу же поймал баг. После запуска звук в эмуляторе отключен, я нажимаю пиктограмму с динамиком, звук включается, после я повторно нажимаю для отключения, а эмулятор в ответ падает. В консоль выпадает такое сообщение:
Code:
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:seh:setup_exception_record stack overflow 1920 bytes in thread 0024 eip 7ef6532a esp 00ba0bb0 stack 0xba0000-0xba1000-0xca0000
Segmentation fault
Настоящая проблема в том, что этот баг не всегда воспроизводится... Трудно даже понять, куда копать, чтобы его забороть. Все-таки это wine.
видимо прибитие нитей не нормально работает в wine :?:
Quote:
Остальное по мелочи:
1) Пиктограмма включения виртуальной клавиатуры ее включает, но не выключает.
2) Непонятно, что с джойстиком, как он должен работать.
3) При попытке видеозаписи выдает сообщение, что "No compressor for cvid available", хотя раньше все работало без проблем (вроде бы, если я не путаю с mess).
4) Скриншоты по-прежнему в .jpg, хотя Антон обращал внимание, что для ПК-01 лучше всего .png/.gif, иначе заметны искажения картинки.
5) В ассемблере есть пункт меню Setup, но что он делает непонятно. Просто красуется?

Это все, что бросилось в глаза при беглом просмотре.

Напоследок рацпредложение. Предлагаю в название выкладываемых архивов добавлять текущую версию продукта. Насколько я понял, в "About" она фигурирует, значит учет версий идет. Сейчас это версия 0.97.

p.s.
И кракозябры...
1) исправлю
2)подрубаем к компу джойстик, запускаем эмулятор, нажимаем кнопку джойстик, в настройках настраиваем значения клавиш на клавиатуре и соответствие им на джойстике.
3) попробовать выбрать другой компрессор :roll:
4) в настройка можно выбрать в каком формате сохранять там есть все три jpg bmp png
5) setup пока не реализован

по версиям буду так и делать

если не сложно где кракозяблы выскакивают, в english режиме ?

PS
спасибо за тестирование !!!!

Author:  MARAT_BEST [ 13 Sep 2013, 10:15 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
MARAT_BEST,
Бегло попробовал ассемблер... пишет вот что:
Quote:
Компиляция и запуск в эмуляторе
Сохраняем файл ASM
Готовим компилятор
Компиляция
Попробуем загрузить в эмулятор
Произошла ошибка !!!
Кстати, попробуй цитируемый текст "вставить из буфера" :-) - ошибок валом!
Совет. Увеличь (не жлобись :-) ) кол-во операций КР580 во время нажатия (отжатия) клавиш!
Когда длинный текст (конец строки, ввод, конец экрана) кол-во операций КР580 во время нажатия (отжатия) клавиш нужно ужОс сколько :-)
======================
Шо это за денёк сегодня... :-)
Я сегодня свой эмуль тоже надумал выложить... :-)
А-а-а-а-а....:-) Сегодня пятница, 13!
Этак первая векрсия так сказать с ассемблером,сделаю лог ошибок еще :)
время нужно увеличивать, так и сделаю , особенено когда нужно строки поднимать внизу экрана :)

ВСЕХ С ТЯПНИЦЕЙ 13 !!!! :mrgreen:

Author:  sas9568635 [ 13 Sep 2013, 10:23 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
время нужно увеличивать, так и сделаю , особенено когда нужно строки поднимать внизу экрана :)
Севершенно верно! Посмотри uKeyboard.pas тот который я тебе высылал...
==========================================
А что за компонент используется в форме-ассемблере (типа TRichEdit) ? Как называется?...
И я себе такой хочу! :-)

Author:  MARAT_BEST [ 13 Sep 2013, 11:04 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Quote:
время нужно увеличивать, так и сделаю , особенено когда нужно строки поднимать внизу экрана :)
Севершенно верно! Посмотри uKeyboard.pas тот который я тебе высылал...
==========================================
uKeyboard.pas поковырялся в нем, ничего не понял , код сложно читаемый :)
Quote:
А что за компонент используется в форме-ассемблере (типа TRichEdit) ? Как называется?...
И я себе такой хочу! :-)
http://ru.wikipedia.org/wiki/SynEdit

вообще я весь код пытаюсь писать только стандартными компонентами, но тут не захотелось свою подсветку синтаксиса делать :roll:

Author:  sas9568635 [ 13 Sep 2013, 12:30 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
uKeyboard.pas поковырялся в нем, ничего не понял , код сложно читаемый :)
Да ничего там сложного нет... Мной читается - на УРА! :-)
Попробуй распечатать может так проще будет... я так сам делаю когда код непонятный..

Попробую изложить доступно... (1 версия)
если нужно обработать код одной клавиша (без СУ, НР и т.д.)
// нажали
uI8080.i8080_do_opcodes(200000);
// отпустии
uI8080.i8080_do_opcodes(200000);

если нужно обработать код двух клавиша (с СУ, НР и т. д.)
// нажали СУ, НР и т. д.)
uI8080.i8080_do_opcodes(32000);
// нажали «обычную» клавишу
uI8080.i8080_do_opcodes(200000);
// отпустии обе клавиши
uI8080.i8080_do_opcodes(200000);

Считаем символы сделанные после ввода для определения конца строки
если кол-во символов после ввода (#13) кол-во=31(32) тогда еще прокрутить
uI8080.i8080_do_opcodes(5000000);// строка

считаем (от ввода до ввода) кол-во зделаных символов
uI8080.i8080_do_opcodes((25000*кол-во зделаных символов));

После передачи нажатия ввод (#13 прокручиваем ещё uI8080.i8080_do_opcodes(1500000);


Проще говоря, как я уже писал, не жлобись :-) на колво прокручиваемых команд после нажатия отжатия — будет кошмарно медленно (при вставке больших текстов) но надёжно. И то что я описал — все равно ещё нуждается в регулировке (в добавлении прокручиваемых команд после нажатия отжатия)!... всё равно есть ошибки.

Quote:
Спасибо

Author:  liberation [ 14 Sep 2013, 06:54 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
видимо прибитие нитей не нормально работает в wine :?:
Будет возможность, проверю на Вин описанную проблему.
Quote:
если не сложно где кракозяблы выскакивают, в english режиме ?
Все раша-надписи независимо от режима этим болеют. :)

Вопрос по ассемблеру. Каковы его возможности запланированы? Что-то на уровне M80 для CP/M80? Будут ли макросы? Сегменты кода/данных?

Author:  MARAT_BEST [ 14 Sep 2013, 11:09 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Все раша-надписи независимо от режима этим болеют. :)

Вопрос по ассемблеру. Каковы его возможности запланированы? Что-то на уровне M80 для CP/M80? Будут ли макросы? Сегменты кода/данных?
Перейду на дельфи с поддержкой Unicode , думаю все исправиться ! Специально сделал английский режим.

ПО ассемблеру ,взял вот этот, даже если честно не знаю чей и что поддерживает

http://lvovpc.ho.ua/forum/download/file.php?id=3
http://lvovpc.ho.ua/forum/viewtopic.php ... 7&start=30
сообщение от sadfsdfsdaf

Author:  Zelya [ 14 Sep 2013, 13:34 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Вопрос по ассемблеру. Каковы его возможности запланированы? Что-то на уровне M80 для CP/M80? Будут ли макросы? Сегменты кода/данных?
Олег, можно ожидать от Вас игру? :roll:

Author:  liberation [ 14 Sep 2013, 19:35 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Перейду на дельфи с поддержкой Unicode , думаю все исправиться ! Специально сделал английский режим.
Кстати, зарелизился новый RAD Studio/Delphi XE5 с поддержкой Android.

А что случилось с версией для смартофона? Как я помню, там была адаптация под FreePascal?
Quote:
ПО ассемблеру ,взял вот этот, даже если честно не знаю чей и что поддерживает
Сенкс. Посмотрю.

p.s.
Похоже, проблема действительно в wine. Удалось запустить на Win XP SP3 - все нормально. :wink:

Author:  liberation [ 14 Sep 2013, 22:20 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Олег, можно ожидать от Вас игру? :roll:
[оффтоп]
Увы-увы, но в одну и ту же реку дважды не войти, уважаемый Вадим. Что было ново и интересно подростку, то спустя двадцать с копейками лет воспринимается иначе. Я грущу по одной из своих игр, которая определенно утеряна. Столько всего уже нашел, чего и тогда не видел, о чем и не слышал, а она исчезла бесследно. Парадокс. Вот это и все, что мной сейчас движет.
[/оффтоп]

Author:  MARAT_BEST [ 15 Sep 2013, 02:03 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Quote:
Олег, можно ожидать от Вас игру? :roll:
[оффтоп]
Увы-увы, но в одну и ту же реку дважды не войти, уважаемый Вадим. Что было ново и интересно подростку, то спустя двадцать с копейками лет воспринимается иначе. Я грущу по одной из своих игр, которая определенно утеряна. Столько всего уже нашел, чего и тогда не видел, о чем и не слышал, а она исчезла бесследно. Парадокс. Вот это и все, что мной сейчас движет.
[/оффтоп]
[оффтоп]я конечно не претендую на крутого геймдевелопера, но если бы в свое время выучил бы ассемблер то возможно тоже что нибудь написал
я вот например с инстересом читал и вникал в суть http://www.old-games.ru/forum/showthread.php?t=50209 но тема умерла ?[/оффтоп] :roll:
Quote:
Кстати, зарелизился новый RAD Studio/Delphi XE5 с поддержкой Android.

А что случилось с версией для смартофона? Как я помню, там была адаптация под FreePascal?
видел, установил , мягко скажем это насмешка а не поддержка Android. :evil: что нибудь попробую сделать .....

По поводу версии на лазарусе, нужно найти переделанные исходники, и выложить более или менее рабочую версию под Windows Mobile (которго уже нет ) :(

Author:  liberation [ 15 Sep 2013, 22:16 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
я вот например с инстересом читал и вникал в суть http://www.old-games.ru/forum/showthread.php?t=50209 но тема умерла ? :roll:
Что-то Вадим игнорит вопрос. :wink:

Кстати, могу предложить вполне работоспособную и - внимание! - играбельную версию того Xonix'а, который описывал в своих уроках Вадим (авторская сборка! Дешево!). :wink:
Если, конечно, автор не против.
Quote:
По поводу версии на лазарусе, нужно найти переделанные исходники, и выложить более или менее рабочую версию под Windows Mobile (которго уже нет ) :(
Идея хорошая. Вдруг кто-то еще захочет какой-нибудь экзотический форк сделать.

Author:  Zelya [ 16 Sep 2013, 10:03 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Что-то Вадим игнорит вопрос. :wink:
Я не игнорю. Я в раздумиях. Уроки шли с первой студией, в которой уже даже я не пишу. Нужно б перескринить все на вторую и все перевыложить. Более того, точно помню, что в последнем уроке я поспешил и оставил бажное место. Нужно исправлять :( Да заняться никак не получается. Тем более не думал, что кто-то чего-то изучал по этим урокам. Восновном комменты были в стиле "ничего не понял, но автору респект".
Quote:
Если, конечно, автор не против.
Давайте договоримся так. Если до НГ я не продолжу уроки, Вы войдете в роль Деда Мороза и выложите Ксоникс (только не помню, чтобы он был играбельным). с едкими комментами в мой адрес.
Quote:
Увы-увы, но в одну и ту же реку дважды не войти, уважаемый Вадим. Что было ново и интересно подростку, то спустя двадцать с копейками лет воспринимается иначе. Я грущу по одной из своих игр, которая определенно утеряна. Столько всего уже нашел, чего и тогда не видел, о чем и не слышал, а она исчезла бесследно. Парадокс. Вот это и все, что мной сейчас движет.
Найдете игру и уйдете на песнию? Что за старперские нотки! Конечно, никто не требует десятки разножанровых игр, как это могло бы быть в начале 90-х. Но хотя бы начать писать что-то простенькое, но, с учетом нынешнего опыта, занятное вполне можно. Тем более, в наше время инстументария хватает.

Author:  sas9568635 [ 16 Sep 2013, 11:10 ]
Post subject:  Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi

Quote:
Я не игнорю. Я в раздумиях. Уроки шли с первой студией, в которой уже даже я не пишу. Нужно б перескринить все на вторую и все перевыложить. Более того, точно помню, что в последнем уроке я поспешил и оставил бажное место. Нужно исправлять :( Да заняться никак не получается. Тем более не думал, что кто-то чего-то изучал по этим урокам. Восновном комменты были в стиле "ничего не понял, но автору респект".
Я лично узучал все 6 примерев (тогда их столько было, сейчас незнаю...) и даже перепилил эти примеры для соего модуля...
вот пример одного из них.... остальные смотрите в архиве модуля (SAS Emulator 1.3)
Quote:
program Example01;
// Пример адаптирован из уроков для PC Lviv Studio
// http://www.old-games.ru/forum/showthread.php?t=50209
// Примечание.Описание всех процедур молуля DprPasToLV.dll
// находится в файле DLLFP.pas

uses SysUtils,
DLLFP in '..\DLLFP.pas'; // Функции и процедуры Модуля DprPasToLV.dll

BEGIN
InitProgram;{Процедура которая должна стоять в начале каждый программы} {Находится в unit DLLFP;}
MviA(0);
OUT_($0C2);
MviA(0);
Sta($0BE38);
CALLinMemLV($0EBBC); //Запустить подпрограмму в Памяти ПК-01 (в памяти Эмулятора)
MviA(255);
Sta($5010);
WaitClose; // Ожидание закрытия формы (для приминения в конце программы)
END.
Респект автору! :-)

Page 9 of 15 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/