Как стать автором
Обновить

Комментарии 12

Прекрасно справлялись с разработкой на самом железном спектруме. IDE с компилятором и отладчиком в котором видны метки и комментарии. На клонах с расширенной памятью исходники лежали в ней и были сразу доступны после хард ресета.

Речь о отладке кода на C или ассемблера? Хороший отладчик Си на самом спектруме, звучит как очень сложная задача. Один только файл с отладочной информацией занимает порой один мегабайт. Эта статья описывает удаленную отладку, когда исходники и gdb клиент на компьютере, а спекки только "stub" реализовывает.

 IDE с компилятором и отладчиком в котором видны метки и комментарии.

А как там работали точки останова?

Все было реализовано софтово конечно. Да и разработка на си была непрактична, все на ассемблере писали.

На "Макроассемблере" или самом простом?

Тогда в ходу были несколько ассемблеров со встроенной иде разной функциональности как правило с поддержкой макросов и загружаемых модулей.

Хотлось бы посмотреть на такое в видео, например. А то встречается, в основном, рассказы о том, что люди писали ПО сначала на мини-ЭВМ и по внешней шине отправляли скомпилированное на целевую машину. Или, позднее, о такой же схеме, но с разработкой на "ИБМ"-совместимых ПЭВМ и дальнейшей выгрузкой кода. А вот про разработку приложений на самих целевых машинах данных маловато.

Вот что-то нашёл https://www.youtube.com/watch?v=_cdqJr97loA, правда там чел в эмуляторе юзает нативный ассемблер.

Для совместимости, особенно в будущем, надо писать сетевой код не под железо, а под операционную систему, причём сразу многозадачную. На платформе ZX Spectrum (речь, конечно, не про ZX Spectrum 48K, а про серьёзные клоны, распространённые в России) из таких операционных систем сейчас развивается, насколько мне известно, только NedoOS, где уже более 100 приложений, включая несколько нативных сред разработки. В NedoOS есть драйвер сетевой карты ZXNetUSB (основана на W5300), но пользователи других сетевых карт могут добавить свои драйверы по его образцу. Там уже есть примеры сетевых игр - сетевая змейка на двух игроков, q1 (deathmatch с видом сверху) и ZX Battle City. Прочий сетевой софт стандартный - ping, time, telnet-клиент, telnet-сервер, wget, файловый http-сервер, web-браузер, gopher-браузер, ftp-клиент, IRC-клиент, определялка своего IP. Есть ещё забавный сервис, который расшаривает AY по сети. Всё с открытыми исходниками - http://nedoos.ru/

Обычно в NedoOS отлаживают код на Си с помощью NoICE, для него есть готовый сервер, работающий через COM-порт по стандарту Кондратьева. Он остался от прошлых проектов. Можно сделать и сервер, работающий через сеть, только рук на всё не хватает. Присоединяйтесь!

Я на спектруме(zx evolution) уже лет 10 юзаю програмно-аппаратный дебагер NoIce debugger. Умеет шагать си-код, асм, ставить бряки, изменять реги и память.

Рекомендую.

Глянув на большие буквы в заголовке статьи, сначала было решил, что это очередной перевод с английского, где такое выделение букв норма. Но не норма для русского.

Спасибо, поправил.

А зачем, когда современные эмуляторы обычно имеют встроенный отладчик, а главное, один из лучших, unreal speccy, доступен в исходниках ?

Я ЕМНИП в 2010 году сделал свой форк, который отслеживал все чтения и записи в память, какая инструкции это делали и сколько раз. Все отлично вертелось на древнем (сейчас) core2 с 2гб там. Ну т.е.мусоре, который сегодня отдают "за пиво".

Кстати, очень круто было "заглядывать" в игры, прикрутив к собранным данным небольшой UI. Сортируем самые часты записи и вот перед нами основной unrolled код графического отрисовщика движка игры. В одной игре даже ошибку нашел - один байт на экране рисовался дважды, в своем месте, и в чужом, видимо автор "раскручивал" цикл вручную, и опечатался

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории