Среда разработки "PC Lviv Studio" (Windows)
- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Среда разработки "PC Lviv Studio" (Windows)
Вадим, если не секрет, что это за продукт?
Last edited by liberation on 14 Feb 2012, 01:02, edited 1 time in total.
Ну, если спросили... 
PC Lviv Studio - это моя проба написать удобное средство программирования для ПК-01 под современные системы.
Первоначально разработка проводилась по принципу "что вижу то пою". Я учил основы программирования и постепенно добавлял функционал. Сначала это был протой TextEdit, в котором надо было прописыать адресс ассемблерной команды, ее код и параметры (все в виде десятиричных чисел). Потом добавилась поддержка текстовых названий, расцветка, разделение файлов, объявление переменных и строк, отпала необходимость нумерации. Дальше добавились операции и команды "+", "-", "=", "+=", "-=", "if then". Но... все было настолько глюкаво, нестандартизировано, настроено только под меня, что скоро я понял: такая студия не нужна. Позже, я сосредоточился на вменяемом ассемблере и некоторых дополнительных тулзах. За "эталон" я взял рекомпилированные исходники отсюда: http://vector06c.narod.ru/recompile.html. Теперь моя задача заключается в том, чтобы после минимальной адаптация студия могла их спокойно скомпилировать. Пока, медленно но движусь вперед.
Также, почти закончен графический компонент студии. Я не ставил задачу дать возможность рисовать - для этого есть уйма прекрасных графических редакторов. LvivPainter должен более-менее успешно конвертировать PCшные картинки в палитры "Львова" и уметь их сохранять как дамп памяти, lvt с загрузкой картинки и "студийный" формат.
Вот, вроде короткое описание... Вопросы?

PC Lviv Studio - это моя проба написать удобное средство программирования для ПК-01 под современные системы.
Первоначально разработка проводилась по принципу "что вижу то пою". Я учил основы программирования и постепенно добавлял функционал. Сначала это был протой TextEdit, в котором надо было прописыать адресс ассемблерной команды, ее код и параметры (все в виде десятиричных чисел). Потом добавилась поддержка текстовых названий, расцветка, разделение файлов, объявление переменных и строк, отпала необходимость нумерации. Дальше добавились операции и команды "+", "-", "=", "+=", "-=", "if then". Но... все было настолько глюкаво, нестандартизировано, настроено только под меня, что скоро я понял: такая студия не нужна. Позже, я сосредоточился на вменяемом ассемблере и некоторых дополнительных тулзах. За "эталон" я взял рекомпилированные исходники отсюда: http://vector06c.narod.ru/recompile.html. Теперь моя задача заключается в том, чтобы после минимальной адаптация студия могла их спокойно скомпилировать. Пока, медленно но движусь вперед.
Также, почти закончен графический компонент студии. Я не ставил задачу дать возможность рисовать - для этого есть уйма прекрасных графических редакторов. LvivPainter должен более-менее успешно конвертировать PCшные картинки в палитры "Львова" и уметь их сохранять как дамп памяти, lvt с загрузкой картинки и "студийный" формат.
Вот, вроде короткое описание... Вопросы?

- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Здорово! Буду ждать с нетерпением первый релиз. А там, глядишь, "лет десяток с плеч долой"...
А вообще, недостаток сред разработки под "Львов" был проблемой. У нас были отличные "Ассемблер-90" и "Ассемблер-91", еще парочка таинственных продуктов подобного профиля, но всему этому не хватало гибкости и расширяемости, чтобы удовлетворить все запросы разработчиков. А уж о поддержке Z80 и говорить не приходилось. Поэтому суровые разработчики писали зачастую сразу в машинных в кодах, орудуя в Mon-144.3.
А вообще, недостаток сред разработки под "Львов" был проблемой. У нас были отличные "Ассемблер-90" и "Ассемблер-91", еще парочка таинственных продуктов подобного профиля, но всему этому не хватало гибкости и расширяемости, чтобы удовлетворить все запросы разработчиков. А уж о поддержке Z80 и говорить не приходилось. Поэтому суровые разработчики писали зачастую сразу в машинных в кодах, орудуя в Mon-144.3.
- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Та да, что-то придумать можно было бы. Взять за основу какой-нибудь спектрумовский эмулятор да и приклепать к нему режим ПК-02. Я особо не вникал в эту тему, но успел заметить, что для Zx была реализована уйма доработок, эмуляция которых, по идее, рано или поздно сама собой затребовала достаточно гибкой и расширяемой реализации эмуляторов.
Проблема в том, что порог вхождения в эту тему довольно высок. Вряд ли кто-то возьмется за раскопки в чужом коде достаточно развитого проекта. Если что и можно предпринять, так это попробовать наладить контакт с разработчиками еще живых проектов спектрумовских эмуляторов, чтобы они рискнули внести желаемые дополнения.
Проблема в том, что порог вхождения в эту тему довольно высок. Вряд ли кто-то возьмется за раскопки в чужом коде достаточно развитого проекта. Если что и можно предпринять, так это попробовать наладить контакт с разработчиками еще живых проектов спектрумовских эмуляторов, чтобы они рискнули внести желаемые дополнения.
- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Недавно опенсорсный FUSE зарелизился до версии 1.0.0. На сайте выложены его исходники. Интересен тот момент, что код этого проекта послужил источником порта эмулятора ZX-Spectrum на javascript! 
Что касается эмулятора Калашникова, то я мало что о нем знаю. Если есть возможность, осветите этот момент, плиз. Меня смущает то соображение, что как прикручивать к нему эмулятор муз.процессора? Вроде бы эмуляция этой штуковины совершенно особая статья. Да и дисковый интерфейс надо делать.
А что касается софта - такой еще существует, но вопрос в том, как его перегнать в более приличествующий духу времени формат.
Что касается эмулятора Калашникова, то я мало что о нем знаю. Если есть возможность, осветите этот момент, плиз. Меня смущает то соображение, что как прикручивать к нему эмулятор муз.процессора? Вроде бы эмуляция этой штуковины совершенно особая статья. Да и дисковый интерфейс надо делать.
А что касается софта - такой еще существует, но вопрос в том, как его перегнать в более приличествующий духу времени формат.
Ну, эмулятор Калашникова интересен тем, что были выложены исходники на джаве. А делать что-то с нуля, куда печальнее, чем по готовому шаблону
Эмуляцию звука и флоповода, ясно, придется писать с нуля...
Что касается софта, то кассеты, первым делом, желательно записать в wav'ки, а с дискет снять образ, пусть, пока, и нечитаемый. Вот только чем да как, я поинтересуюсь.
Вобщем, я попробую с Z80, если будет получаться - подумаем чего делать дальше
ПС Может, Владимир подсобит?
Что касается софта, то кассеты, первым делом, желательно записать в wav'ки, а с дискет снять образ, пусть, пока, и нечитаемый. Вот только чем да как, я поинтересуюсь.
Вобщем, я попробую с Z80, если будет получаться - подумаем чего делать дальше
ПС Может, Владимир подсобит?
- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
-
sadfsdfsdaf
- Posts: 227
- Joined: 07 Dec 2010, 16:54
- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Chameleon DOS была написана Мамонтовым по мотивам спектрумовской TR-DOS, поэтому вряд ли там возможны проблемы. Навскидку могу припомнить одно отличие: в Хамелеоне сектора нумеровались начиная с 1 (1-10h), а в ТР'ке с 0 (0-0fh). С учетом этого момента спектрумовские дискеты читались на Львове без проблем штатными средствами.sadfsdfsdaf wrote:у меня есть 5.25, это как раз не проблема.
проблемой может оказаться нестандартный формат дискет.
(нечитаемый штатным контроллером, а с FDA v6.0 я не слишком дружен, чтобы вычитывать дорожки побитно)
А вот про CP/M-80 Скачкова/Ктитарева ответить не могу. Для запуска CP/M-80 необходимо было предварительно запустить в Хамелеоне специальный загрузчик. Но что в нем было - совершенно не помню.
-
sadfsdfsdaf
- Posts: 227
- Joined: 07 Dec 2010, 16:54
в УКНЦ дискеты были стандартными, с размером сектора в 256 байт.
в Корвете дискеты были так же стандартными, с 1024 байтным сектором.
(просто напомню, что для PC XT/AT размер сектора 512 байт, форматы дорожек, заголовков и контрольных сумм одинаковые, поэтому можно было читать всё обычным РСшным дисководом)
если отличие только в этом, то прочесть диски не проблема.
в Корвете дискеты были так же стандартными, с 1024 байтным сектором.
(просто напомню, что для PC XT/AT размер сектора 512 байт, форматы дорожек, заголовков и контрольных сумм одинаковые, поэтому можно было читать всё обычным РСшным дисководом)
если отличие только в этом, то прочесть диски не проблема.
- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Студия уже с горем пополам запускает сорсы Driller Tanks. Первоначально был глюк с вычислениями типа:
lxi b,(24*256)+DwnShift+40h
К сожалению, результат был неправильный, из-за чего программа валилась. Отстутствие брикпоинтов сильно усложняло процесс дебага. Но все же ошибка была отловлена, и, чтобы не усложнять себе жизнь, пока сложные вычисления запрещены
.
Теперь имеем проблемы следующего типа (см. скриншот). Хотя прогресс - налицо.

lxi b,(24*256)+DwnShift+40h
К сожалению, результат был неправильный, из-за чего программа валилась. Отстутствие брикпоинтов сильно усложняло процесс дебага. Но все же ошибка была отловлена, и, чтобы не усложнять себе жизнь, пока сложные вычисления запрещены
Теперь имеем проблемы следующего типа (см. скриншот). Хотя прогресс - налицо.

- liberation
- Posts: 1405
- Joined: 11 Aug 2008, 17:05
- Location: Украина
- Contact:
Who is online
Users browsing this forum: No registered users and 0 guests

