PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
Хочу написать свой эмулятор ПК-01 Львов на Delphi http://pc01.lviv.ua/forum/viewtopic.php?f=12&t=193 |
Page 12 of 15 |
Author: | Zelya [ 26 Sep 2013, 11:33 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
По предложению Олега переделал скрипт на JSON. Теперь он выдает Name - короткое уникальное названия латынскими буквами (так же называется папка и корень файла/ов) FullName - полное название игры из игротеки Description - описание Mark - оценка, помноженная на два (т.е. 7 - это три с половиной звездочек). Подойдет? |
Author: | ivagor [ 26 Sep 2013, 11:36 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote:
и вопрос всем на засыпку, как прогнать тесть Exerciser на эмуляторе ?
Exercizer вызывает только 2 функции CP/M:2 - Console Output 9 - Print String Достаточно сделать их отработку и можно запускать оригинальный com файл (по окончанию переходит по адресу 0000). Речь ведь не о запуске на реале, а только в эмуляторе, можно не на экране печатать, а, например, сбрасывать в текстовой файл. |
Author: | Zelya [ 26 Sep 2013, 12:40 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Скачал через эмуль игры с сайта, первая же Аэрокобра не работает - резетует комп, если ее запускать из меню "игры". Вторая, Аидс, пашет. |
Author: | MARAT_BEST [ 26 Sep 2013, 13:48 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: Скачал через эмуль игры с сайта, первая же Аэрокобра не работает - резетует комп, если ее запускать из меню "игры". Вторая, Аидс, пашет.
чет я накосячил, завтра посмотрю пока в настройках нужно поставить галочку Быстрый запуск и сброс
|
Author: | b2m [ 26 Sep 2013, 16:57 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: и поэтому к уважаемому b2m вопрос, что делает ваш эмулятор после загрузки бейсик файла ?
Эмулятор, как бы, вообще только компьютер эмулирует, и после того, как бейсик загрузит свой файл, он дальше и работает У меня перехватывается обращение к п/п чтения байта с магнитофона, и вместо выполнения этой п/п в регистр просто подсовывается следующий байт из файла. В вашем случае, адрес следующей строки можно самому устанавливать: байт 00 не может встречаться посреди бейсиковской строки, он означает конец строки. Либо, как альтернатива, проверять корректность файла перед загрузкой. |
Author: | MARAT_BEST [ 01 Oct 2013, 09:01 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: Скачал через эмуль игры с сайта, первая же Аэрокобра не работает - резетует комп, если ее запускать из меню "игры". Вторая, Аидс, пашет.
вроде поправил. добавил рейтинг (mark)
Quote:
В вашем случае, адрес следующей строки можно самому устанавливать: байт 00 не может встречаться посреди бейсиковской строки, он означает конец строки.
сделал пока вызов процедурки по адресу 1054Либо, как альтернатива, проверять корректность файла перед загрузкой. Новая версия, если есть возможность , пожалуйста протестируйте во всех режимах, на наличие всевозможных багов |
Author: | liberation [ 02 Oct 2013, 21:31 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: Новая версия, если есть возможность , пожалуйста протестируйте во всех режимах, на наличие всевозможных багов
Не в струю, но напишу еще про одну багу под wine. Если открыть окно ассемблера и запустить на выполнение тестовый пример, то поначалу все будет работать отлично. До тех пор, пока не попробуешь перезапустить эмулятор. Дальше все становится интересно. Эмулятор перезапускается, окно ассемблера остается открытым, мы снова запускаем на выполнение тестовый пример - и все намертво виснет. Кулер гудит - ого-го! В принципе, причина явления ясна: не очищается директория Assembler, почему-то наличие временных файлов от прошлой компиляции валит все в штопор. Под ВинХП такой баг не воспроизводится. Лечение нахожу одно - вручную чистить директорию перед каждой компиляцией. Но это утомляет.Кстати, а почему временные файлы не отправляются в папку temp? Вроде бы так логично было. UPD. Внесу уточнение по причине. Директория Assembler очищается от временных файлов, кроме файлов temp.lst и temp.lvt. И вся проблема в последнем. Его нужно удалять вручную перед каждой компиляцией. Иначе ассемблер зависает намертво. С temp.lst никаких проблем. |
Author: | MARAT_BEST [ 04 Oct 2013, 02:26 ] | ||
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi | ||
Quote: Quote: Новая версия, если есть возможность , пожалуйста протестируйте во всех режимах, на наличие всевозможных багов
Не в струю, но напишу еще про одну багу под wine. Если открыть окно ассемблера и запустить на выполнение тестовый пример, то поначалу все будет работать отлично. До тех пор, пока не попробуешь перезапустить эмулятор. Дальше все становится интересно. Эмулятор перезапускается, окно ассемблера остается открытым, мы снова запускаем на выполнение тестовый пример - и все намертво виснет. Кулер гудит - ого-го! В принципе, причина явления ясна: не очищается директория Assembler, почему-то наличие временных файлов от прошлой компиляции валит все в штопор. Под ВинХП такой баг не воспроизводится. Лечение нахожу одно - вручную чистить директорию перед каждой компиляцией. Но это утомляет.Кстати, а почему временные файлы не отправляются в папку temp? Вроде бы так логично было. UPD. Внесу уточнение по причине. Директория Assembler очищается от временных файлов, кроме файлов temp.lst и temp.lvt. И вся проблема в последнем. Его нужно удалять вручную перед каждой компиляцией. Иначе ассемблер зависает намертво. С temp.lst никаких проблем. на данный момент пытаюсь , подправить по максимуму все режимы .... нужно ли добавлять поддержку расширенного бейсика ? сеть делать ? (для игр с двумя игроками) вроде перевел все надписи, для англоязычных компутеров зы. как думаете стоит выкладывать еще и на сайте http://zx.pk.ru/ ... не "славы" ради , а тестирования большим количеством людей? сам понимаю, что тот же эмулятор EMU.exe круче. мой возможно нафиг никому не нужен (про звук я вообще молчу)
|
Author: | liberation [ 04 Oct 2013, 07:30 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: попробуйте сейчас вроде поправил .....
Вау, заработало! Здорово! Спасибо большое. Тесная интеграция с приличным ассемблером - киллер-фича Вашего эмулятора!Но есть тонкости. Для начала приведу скриншот, который о многом расскажет сам: Для теста я набрал простенькую процедуру: Code: BEGIN EQU 8000h ORG BEGIN-016h DB "LVOV/2.0/" DB 0D0h DB "PROBA1" DW BEGIN DW BEGIN+END-START DW BEGIN START: MVI A, 00h OUT 0C2h LXI H, 4000h MVI B, 0FFh MVI A, 01h LOOP2: MVI C, 40h LOOP1: MOV M, A INX H DCR C JNZ LOOP1 RLC DCR B JNZ LOOP2 MVI A, 02h OUT 0C2h RET ENDС ее компиляцией и запуском проблем не возникло, но после окончания ее работы почему-то выпала ошибка "?SN ERROR", хотя казалось бы причем тут Лужко Бэйсик... Еще я заметил неудобство: для ассемблера не работает табуляция, вместо этого происходит перенос фокуса между элементами формы. Это неприятно. Но я подозреваю, что это не эмулятора дефект, верно? Радуют подсказки по командам ассемблера, но они неполны. Можно ли добавить описание влияния каждой команды на регистр флагов и продолжительность ее исполнения? Еще одно предложение. Можно ли добавить выбор папки, куда следует сохранять готовые .lvt и .lst файлы? Так, по ассемблеру вроде бы все. Теперь по дебаггеру, который step-by-step. Он удобен, но можно ли добавить подробное отображение регистра флагов (место на форме вроде бы достаточно)? Сейчас выводится просто hex-число, что не так уж и удобно для беглого просмотра. Еще один момент. Дебаггер step-by-step не всегда запускается с первого нажатия на соответствующую кнопку. Возможно, это особенность работы под wine. И не всегда, кстати, прорисовывается окно дебаггера, вместо этого отображается чёрное окошко. Возможно, это опять проделки wine. Теперь по эмулятору. Не переведен один пункт меню, который в секции "Advanced" следует сразу за "Assembler Editor". Как я понял, он отвечает за вставку из буфера обмена. Кстати, а можно ли сделать кнопку "Assembler Editor" на приборной доске? Quote: нужно ли добавлять поддержку расширенного бейсика ?
Это как? Моего воображения не хватает, чтобы сообразить о чем идет речь. Особенно про сеть... сеть делать ? (для игр с двумя игроками) Quote: зы. как думаете стоит выкладывать еще и на сайте http://zx.pk.ru/ ... не "славы" ради , а тестирования большим количеством людей?
Стоит. Тем более что эмулятор нашего дорогого Александра Станиславовича выпили оттуда напрочь плохие дядьки-бородачи. А природа, как известно, не терпит пустоты. сам понимаю, что тот же эмулятор EMU.exe круче. мой возможно нафиг никому не нужен (про звук я вообще молчу) Если серьезно - стоит. Повторюсь, но интеграция с ассемблером (особенно с нынешним его компилятором) - это натуральная киллер-фича. Но все это следует хорошо описать и подать. Эмулятор хорош, но в нем еще есть огромный нереализованный потенциал. p.s. А хорошую, кстати, нагрузку дает эмуль на процессор даже в холостом режиме (~35% по htop). Это не ботнет какой злокозненный, случаем? |
Author: | Zelya [ 04 Oct 2013, 10:28 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: Стоит. Тем более что эмулятор нашего дорогого Александра Станиславовича выпили оттуда напрочь плохие дядьки-бородачи. А природа, как известно, не терпит пустоты.
+100500MARAT_BEST, на zx.pk довольно нетривиальная регистрация/авторизация. Если Вы еще не зареганы и возникнут пробелмы - дайте знать. |
Author: | MARAT_BEST [ 05 Oct 2013, 03:58 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: Quote: попробуйте сейчас вроде поправил .....
Вау, заработало! Здорово! Спасибо большое. Тесная интеграция с приличным ассемблером - киллер-фича Вашего эмулятора!Но есть тонкости. Для начала приведу скриншот, который о многом расскажет сам: буду исправлять ... Quote:
А хорошую, кстати, нагрузку дает эмуль на процессор даже в холостом режиме (~35% по htop). Это не ботнет какой злокозненный, случаем?
нет конечно .... в планах движок полностью переписать
|
Author: | MARAT_BEST [ 05 Oct 2013, 04:00 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: Quote: Стоит. Тем более что эмулятор нашего дорогого Александра Станиславовича выпили оттуда напрочь плохие дядьки-бородачи. А природа, как известно, не терпит пустоты.
+100500MARAT_BEST, на zx.pk довольно нетривиальная регистрация/авторизация. Если Вы еще не зареганы и возникнут пробелмы - дайте знать. |
Author: | liberation [ 07 Oct 2013, 07:14 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Натолкнулся на программульку GNUSim8085 - ассемблер для 8085 процессора. Предлагаю посмотреть на ее интерфейс, все достаточно интересно организовано. На вид - удобно. Особенно понравилась возможность назначать клавиатурные сокращения отдельным командам ассемблера (KeyPad). Кстати, оригинальные ассемблеры для ПК-01 (Assembler-90 и Assembler-91 Текотева) поддерживали ввод только через шорткаты. p.s. Еще понравилась идея нумеровать строки листинга. |
Author: | MARAT_BEST [ 09 Oct 2013, 09:00 ] | ||
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi | ||
Quote:
Для теста я набрал простенькую процедуру:
тут все просто , программа пытается вернуться куда то , куда не знает
Code: BEGIN EQU 8000h ORG BEGIN-016h DB "LVOV/2.0/" DB 0D0h DB "PROBA1" DW BEGIN DW BEGIN+END-START DW BEGIN START: MVI A, 00h OUT 0C2h LXI H, 4000h MVI B, 0FFh MVI A, 01h LOOP2: MVI C, 40h LOOP1: MOV M, A INX H DCR C JNZ LOOP1 RLC DCR B JNZ LOOP2 MVI A, 02h OUT 0C2h RET ENDС ее компиляцией и запуском проблем не возникло, но после окончания ее работы почему-то выпала ошибка "?SN ERROR" Quote:
Еще я заметил неудобство: для ассемблера не работает табуляция, вместо этого происходит перенос фокуса между элементами формы. Это неприятно. Но я подозреваю, что это не эмулятора дефект, верно?
поправил и номера строк сделалQuote:
Радуют подсказки по командам ассемблера, но они неполны. Можно ли добавить описание влияния каждой команды на регистр флагов и продолжительность ее исполнения?
в папке assembler сделал два файла help_ru.txt и help_en.txt, там можно поменять и дополнить Еще одно предложение. Можно ли добавить выбор папки, куда следует сохранять готовые .lvt и .lst файлы? пока вообще времени мало ... извиняюсь Quote: Теперь по дебаггеру, который step-by-step. Он удобен, но можно ли добавить подробное отображение регистра флагов (место на форме вроде бы достаточно)? Сейчас выводится просто hex-число, что не так уж и удобно для беглого просмотра.
добавлю чуть позже Еще один момент. Дебаггер step-by-step не всегда запускается с первого нажатия на соответствующую кнопку. Возможно, это особенность работы под wine. И не всегда, кстати, прорисовывается окно дебаггера, вместо этого отображается чёрное окошко. Возможно, это опять проделки wine. у меня в винде вроде нормально Quote:
Теперь по эмулятору. Не переведен один пункт меню, который в секции "Advanced" следует сразу за "Assembler Editor". Как я понял, он отвечает за вставку из буфера обмена.
исправил ...
Кстати, а можно ли сделать кнопку "Assembler Editor" на приборной доске? Quote: Quote: нужно ли добавлять поддержку расширенного бейсика ?
Это как? Моего воображения не хватает, чтобы сообразить о чем идет речь. Особенно про сеть...
сеть делать ? (для игр с двумя игроками) сеть добавил(только начал вернее ), протестируйте коннеекты , я на виртуальнике тестировал смысл такой чтобы передавать нужные ячейки памяти по сети, для игр которые для двоих Quote:
А хорошую, кстати, нагрузку дает эмуль на процессор даже в холостом режиме (~35% по htop). Это не ботнет какой злокозненный, случаем? он все время работает, так как GDI в принципе и грузит. Не делал что при простое (потере фокуса) эмулятор на паузу становился ...Quote: на zx.pk довольно нетривиальная регистрация/авторизация. Если Вы еще не зареганы и возникнут пробелмы - дайте знать.
прислали письмо, я выслал свои данные , пока ответа нет.....ps. меняю направление своей работы (там где на еду зарабатываю ), по этому времени катастрофически не хватает .... но надеюсь , уже скоро перейду на opengl, directx3d ... избавлюсь от тормозного таймера
|
Author: | liberation [ 11 Oct 2013, 06:02 ] |
Post subject: | Re: Хочу написать свой эмулятор ПК-01 Львов на Delphi |
Quote: LVOVulator_0_98_4_1.rar
Вот мой скромный багрепорт. Я обнаружил, что из-за масштабирования(?) окна эмулятора наблюдаются некоторые артефакты. К сожалению, я бездарно затер исходник своего изощренного теста (но он был в целом аналогичен предыдущему), зато сохранил один скриншот, который многое прояснит своим видом:Суть проблемы: некоторые линии отображаются утолщенными. Если изменить размер экрана на родные 256*256, то спецэффект исчезает. Подозреваю, что проблема в нарушении кратности размера окна. Если верить скрину, то после запуска окно эмулятора имеет ширину 535 пкс. |
Page 12 of 15 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |