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

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

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

Quote:
Quote:
LVOVulator_0_98_4_1.rar
Вот мой скромный багрепорт. Я обнаружил, что из-за масштабирования(?) окна эмулятора наблюдаются некоторые артефакты. К сожалению, я бездарно затер исходник своего изощренного теста (но он был в целом аналогичен предыдущему), зато сохранил один скриншот, который многое прояснит своим видом:
Суть проблемы: некоторые линии отображаются утолщенными. Если изменить размер экрана на родные 256*256, то спецэффект исчезает. Подозреваю, что проблема в нарушении кратности размера окна. Если верить скрину, то после запуска окно эмулятора имеет ширину 535 пкс.
все дело в функции GDI которая выводит увеличенную картинку, исправить такое можно только изменением размера окна, или переключением на стандартные режимы (скоро сделаю OpenGL версию, надеюсь там такого глюка не будет)
добавил в ассемблер автоматичекую вставку словей (ctrl+space) и изменение пути для созданных LVT...

ps пишу изменения в эмуле маленькими частями , так как не хватает времени .....

Attachments:
LVOVulator_0_98_4_2.rar [651.86 KiB]
Downloaded 740 times

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

еще в догонку
допишу чтобы сохранялся последний размер формы (чтобы все время не подгонять под себя)
при выходе из асс-ра спрашивал "что были изменения" и их нужно записать или нет

в конце ассемблероной программы можно ставить
JMP D7D9 :)

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

Quote:
ps пишу изменения в эмуле маленькими частями , так как не хватает времени .....
И у Вас здорово получается! Не успеваю просматривать свежие релизы. :D

У меня есть вопрос-пожелание, несколько наивный, возможно, просьба сильно не фукать.

Но сначала предыстория. Посколько я не знал как скоро будет исправлена "фича" с табуляцией в редакторе ассемблера (как потом оказалось - почти молниеносно), то решил произвести ряд смелых экспериментов. Собрал из исходников asm8080 (без каких-либо проблем), после чего решил погуглить какой редактор умеет подсвечивать синтаксис ассемблера i8080. Толком ничего не нашел, но попутно узнал, что обновился кроссплатформенный редактор для програмёров jEdit. Поставил, стал крутить-вертеть, как ВДРУГ обнаружилось, что он прекрасно раскрашивает синтаксис i8080! Я стал дальше копаться в настройках-плагинах, быренько сообразил небольшой скриптик, посредством которого прикрутил поддержку asm8080 к jEdit, скомпилил парочку примеров - фурычит, однако! Но тут выяснилось одно обстоятельство...

Дело в том, что LVOVulator поддерживает запуск из командной строки, но при каждом запуске стартует отдельный экземпляр приложения. И в этом некоторое неудобство. Не знаю, как это правильно сформулировать, но возможно ли реализовать one instance mode, когда при повторном запуске эмулятора он бы не открывал еще один экземпляр, а перезапускал бы существующий, но с новыми параметрами (можно в командную строку добавить ключ --restart, к примеру)?

UPD.
В нынешней версии поломалась компиляция в редакторе ассемблера. Все наглухо зависает...

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

Новая версия,с поддержкой Open GL (для смены режима пока только перезапуск эмулятора, после изменения в настройках)
Quote:
В нынешней версии поломалась компиляция в редакторе ассемблера. Все наглухо зависает...
В ассемблере теперь все на английском, может поможет найти ошибку ...
Quote:
Дело в том, что LVOVulator поддерживает запуск из командной строки, но при каждом запуске стартует отдельный экземпляр приложения. И в этом некоторое неудобство. Не знаю, как это правильно сформулировать, но возможно ли реализовать one instance mode, когда при повторном запуске эмулятора он бы не открывал еще один экземпляр, а перезапускал бы существующий, но с новыми параметрами (можно в командную строку добавить ключ --restart, к примеру)?
исправил , добавил в настройках

ps
теперь буду выкладывать и на http://zx.pk.ru

Attachments:
LVOVulator_0_98_5.rar [646.43 KiB]
Downloaded 729 times

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

Quote:
В ассемблере теперь все на английском, может поможет найти ошибку ...
Поздравляю со значимым релизом! Изменения действительно радуют, хотя еще не все толком протестил. Но одна ошибка все-таки живее всех живых. Не работает ассемблер. Попытка скомпилить тестовый пример приводит к зависанию намертво. Никаких сообщений не появляется. У меня сложилось впечатление, что корень проблемы в том, что почему-то перестал создаваться файл temp.lvt. По крайней мере в директории Assembler я его не нахожу, вот ее содержимое после запуска компиляции (файлы ксоникса и пр. не перечисляю):
Code:
asm.cmd
asm.exe
temp.asm
temp.bin
temp.hex
temp.lst
Это единственная бага, что я пока обнаружил. Но я буду стараться! :D
Quote:
теперь буду выкладывать и на http://zx.pk.ru
Отлично! Надо было бы кинуть ссылку именно на эту тему, а не на сайт вообще, но это уже мелочи.

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

Quote:
Quote:
В ассемблере теперь все на английском, может поможет найти ошибку ...
Поздравляю со значимым релизом! Изменения действительно радуют, хотя еще не все толком протестил. Но одна ошибка все-таки живее всех живых. Не работает ассемблер. Попытка скомпилить тестовый пример приводит к зависанию намертво. Никаких сообщений не появляется. У меня сложилось впечатление, что корень проблемы в том, что почему-то перестал создаваться файл temp.lvt. По крайней мере в директории Assembler я его не нахожу, вот ее содержимое после запуска компиляции (файлы ксоникса и пр. не перечисляю):
Code:
asm.cmd
asm.exe
temp.asm
temp.bin
temp.hex
temp.lst
Это единственная бага, что я пока обнаружил. Но я буду стараться! :D
Что пишет внизу в окошечке ?
Quote:
Quote:
теперь буду выкладывать и на http://zx.pk.ru
Отлично! Надо было бы кинуть ссылку именно на эту тему, а не на сайт вообще, но это уже мелочи.
http://zx.pk.ru/showthread.php?t=22002

в этой версии что пишет ?

сделал смену видео режимов без перезагрузки :)

Attachments:
Новая папка (2).part2.rar [61.35 KiB]
Downloaded 704 times
Новая папка (2).part1.rar [585.94 KiB]
Downloaded 718 times
Снимок.JPG
Снимок.JPG [ 41.73 KiB | Viewed 9383 times ]

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

Quote:
Что пишет внизу в окошечке ?
С удовольствием процитирую себя же:
Quote:
Никаких сообщений не появляется.
:D

p.s.
Ссылку на эту тему надо было указывать на zx.pk.ru. :wink:

UPD.
Вот содержимое файлы asm.cmd от версии, когда все работало, оно несколько отличается от нынешнего:
Code:
@echo off
cd E:\apps\LVOV~KUN\1\ASSE~TTK\
asm.exe -ltemp.lst E:\apps\LVOV~KUN\1\ASSE~TTK\temp.asm
move temp.bin temp.lvt
del temp.asm
del temp.hex
del asm.exe
del asm.cmd
exit
А вот нынешний .cmd:
Code:
@echo off
cd E:\apps\LVOV~KUN\ASSE~TTK\
asm.exe -ltemp.lst E:\apps\LVOV~KUN\ASSE~TTK\temp.asm
move temp.lst E:\apps\LVOV~KUN\ASSE~TTK\temp.lst
move temp.bin E:\apps\LVOV~KUN\ASSE~TTK\temp.lvt
del temp.asm
del temp.hex
del asm.exe
del asm.cmd
exit
Так сказать, батник здорового человека и батник курильщика. :D

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

liberation
Большое спасибо за тестирование !!!

Тогда у меня куча вопросов :roll:
1)я так понял это под wine ?

2)
Quote:
Что пишет внизу в окошечке ?

С удовольствием процитирую себя же:
liberation писал(а):
Никаких сообщений не появляется.
а в последней версии что пишет (которую я двумя архивами выложил)?

3)если не сложно пред , компиляцией попробуйте удалить все файлы из папочек
путь эмулятора\assembler\*.*
и тот который в настройках установлен для компиляции
после нажатия компиляции что в них появиться ?

4)какую кнопку нажимаете Compile или Compile and Run ( подсказка на кнопке) ?
Quote:
Вот содержимое файлы asm.cmd от версии, когда все работало, оно несколько отличается от нынешнего:
Код:
@echo off
cd E:\apps\LVOV~KUN\1\ASSE~TTK\
asm.exe -ltemp.lst E:\apps\LVOV~KUN\1\ASSE~TTK\temp.asm
move temp.bin temp.lvt
del temp.asm
del temp.hex
del asm.exe
del asm.cmd
exit


А вот нынешний .cmd:
Код:
@echo off
cd E:\apps\LVOV~KUN\ASSE~TTK\
asm.exe -ltemp.lst E:\apps\LVOV~KUN\ASSE~TTK\temp.asm
move temp.lst E:\apps\LVOV~KUN\ASSE~TTK\temp.lst
move temp.bin E:\apps\LVOV~KUN\ASSE~TTK\temp.lvt
del temp.asm
del temp.hex
del asm.exe
del asm.cmd
exit


Так сказать, батник здорового человека и батник курильщика.
отличие в том что сделал настраиваемую папку в меню :(
Quote:
MARAT_BEST писал(а):
теперь буду выкладывать и на http://zx.pk.ru

Отлично! Надо было бы кинуть ссылку именно на эту тему, а не на сайт вообще, но это уже мелочи.
не так понял :roll:

UPD
новая версия ехе, что в лог будет писать интересно?
должно быть:
Build.. или Build and run... в любом случае

а дальше в зависимости от кнопки либо:
Quote:
Build..
Delete files begin .....
Del file Assembler\temp.lst
Del file Assembler\temp.lvt
Del done .....
Save in file ASM
Prepare compiler...
Compilation...
Good... C:\Assembler\temp.lvt
или
Quote:
Build and run...
Delete files begin .....
Del file Assembler\temp.lst
Del file Assembler\temp.lvt
Del done .....
Save in file ASM
Prepare compiler...
Compilation...
Try to link the emulator...
Good... C:\Assembler\temp.lvt


Attachments:
LVOVulator.rar [626.71 KiB]
Downloaded 750 times

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

Пока тут нету Liberation , я решил у себя поэксперементировать
поставил Linux Mint
Wine (1.4)
Эмулятор запустился , все режимы работают, кроме дебагерра и ассемблера
при их открытии , виснет намертво ....
также не работает всплытие окна на передний план

Все таки это WINE глючит.
:(

up
еще глюк WINE ... при переходе на Opengl, затирается панель с кнопочками

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

Quote:
Пока тут нету Liberation , я решил у себя поэксперементировать
К сожалению, по техническим причинам вынужден выбыть из числа тестировщиков под Линуксом.
Quote:
поставил Linux Mint
Так держать! :wink:

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

Quote:
Wine (1.4)
Эмулятор запустился , все режимы работают, кроме дебагерра и ассемблера
при их открытии , виснет намертво ....
также не работает всплытие окна на передний план
еще глюк WINE ... при переходе на Opengl, затирается панель с кнопочками
Поставил себе вчера через PlayOnLinux свежий Wine 1.7.5. Да, перечисленные проблемы по-прежнему присутствуют, но вот дебаггер не виснет, этого нет. Ассемблер - увы. Но удалось единожды получить вразумительное сообщение об ошибке. К сожалению, текст дословно восстановить не могу, но приблизительно было так "... cannot create lvt file". Повторно получить сообщение не удалось. Что еще заметил... После принудительного закрытия ассемблера в процессах продолжает висеть asm.cmd.

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

У меня смелое предложение по улучшению функционала редактора ассемблера. А что, если сделать метки гиперссылками? К примеру, у нас есть переход JMP label1. Мы щелкаем на имени метки, после чего листинг прокручивается к точке объявления этой метки.

И только что пришла еще одна мысля. А можно ли прикрутить поиск к редактору?

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

Quote:
У меня смелое предложение по улучшению функционала редактора ассемблера. А что, если сделать метки гиперссылками? К примеру, у нас есть переход JMP label1. Мы щелкаем на имени метки, после чего листинг прокручивается к точке объявления этой метки.

И только что пришла еще одна мысля. А можно ли прикрутить поиск к редактору?
дельные рац предложения .... но пока вообще нет свободного времени для творчества :(

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

Удалось кое-что новенькое накопать по багу с ассемблером под wine. Во-первых, проблему можно решить, просто сменив в настройках SetupAssembler параметр Path for save LVT and LST file. Нужно выбрать какую-нибудь иную директорию вместо дефолтной Assembler. К примеру, можно создать директорию Assembler1 и назначить ее целевой. Все заработает. Самое забавное, что если в качестве целевой создать и назначить директорию с именем "assembler", то все опять безнадежно поломается.

Заметил еще один тонкий момент. Если удалить исходную директорию Assembler, то редактор будет падать с ошибкой в модальном окошке "Cannot create file "%path%\temp.asm. Path not found.". Хотя целевая директория выбрана иная.

С правами на директории все в порядке.

Магию слова "assembler" пока никак объяснить не могу.

p.s.
Наш друг Zelya передает этот замечательный скриншот из MacOS. Эмулятор работает под wine 1.6, но имеет те же проблемы с ассемблером.
Image

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

Основньіе фичи овулятора испьітаньі на прочность под линуксом (slackware). Весьма симпатичньій продукт, смею заметить, как-то сразу понравился. Но название все же стоить сменить на менее гинекологическое, имхо :)

Загрузка програм из репозитория - вообще киллер-фича. Мегаубойная вещь.

НО! Продукт требует некоторой доработки напильником, єто верно. Нижеследует нижеследующий список соображений:

1) Запуск редактора ассемблера: без папочки Assembler в рабочей директории запускаться отказьівается. Надо бьі автоматизировать.
2) Файл bios.dat все таки должен бьіть встроен в программу, с возможностью горячей заменьі из меню. Иначе при запуске вьіскакивает пренеприятнейшее окошко "Файло нот фаунд". Что єто за файл и где его искать - никто не говорит. Так ведь можна всех неизощренньих пользователей распугать :)
3) Редактор кода зависает наглухо при попьітке оттранслировать и запустить тестовую программу. Но ето какие-то кроссплатформенньіе непонятки. скорее всего.
Может можна редактор кода отдельной утилитой оформить, во избежание, тсзать?

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