Просмотр полной версии : Debugger УКНЦ
Подскажите есть ли удобный дебаггер для УКНЦ кроме DBG-11, с экранным редактором, типа Paradise (Par11D) для БК.
удобный дебаггер для УКНЦ
Если для среды RT-11 - только DESS.SAV и "контрольные точки останова" в софте.
Изучение и так идет со скрипом хотелось как-то облегчить себе жизнь. Что бы на ходу можно было писать-проверять.. "тру олдскул" это хорошо но не до такой же степени. Так я с видео два года разбираться буду.
Oleg N. Cher
04.05.2018, 20:40
Дык в эмуле UKNC-BTL есть удобный, пошаговый. Им Никита Зимин отлаживал свои порты игр.
Или принципиально именно на самом УКНЦ? :-)
MacBuster
04.05.2018, 21:07
Удаление в знак протеста против действий MM
С вменяемыми отладчиками под УКНЦ беда, ничего стоящего нет.
Настоящая отладка - это внимательно-критическое рассмотрение наваянного :) Примерно так я и отлаживал драйвер WQ под RSX :)
http://retrocmp.com/tools/pdp11gui
shattered
04.05.2018, 21:49
Занятно, это при том, что в ней есть hardware breakpoint...
https://nzeemin.gitbooks.io/ukncbtl/content/ch2-4-debugger.html
https://raw.githubusercontent.com/nzeemin/ukncbtl-doc/master/screenshot/UKNCBTL-Debugger-small.png
Настоящая отладка - это внимательно-критическое рассмотрение наваянного
Отлаживать в уме можно когда предмет известен, а когда изучаешь "черный ящик" по мне так удобней метод научного тыка, а там по нарастающей..
Когда сразу видишь реакцию системы и делаешь выводы.. в документации довольно мутно и аппаратная организация довольно специфичная, так что метод "тыка" я считаю самый действенный.
- - - Добавлено - - -
В эмуляторном дебаггере же только дизассемблер?
Дописывать код нет возможности?
когда изучаешь "черный ящик"
Код в КЦГД, код в ПП (и много чего ещё) изучался именно так (естественно, дизассемблированный, плюс ещё курение документации) :)
... когда изучаешь "черный ящик"...
Следует прочесть документы :
1. ТО МС1201.02 ДВК. Там кратко описано то, от чего плясали при разработке УКНЦ.
2. ТО ИС 1801ВМ2
3. Русский инструктаж к RT-11 ( к сожалению, доступны не все книги по математическому обеспечению ДВК - на Емуверсе ).
( Для начала - раздел "форматы файлов" ).
http://emuverse.ru/wiki/%D0%94%D0%92%D0%9A
Если надо для профессионального написания текста программ под RT-11 - запросите для покупки комплект доков по RT-11 , который шел к БК-11 без "М" - толстенная папка брошур, довольно точный перевод доков DEC по ОС RT-11 SJ.
Книги по софту ДВК представляют из себя краткий компресс книг от БК11 ( а точнее, от ДВК МС502 выпуска 1982-1985 г.).
толстенная папка брошур, довольно точный перевод доков
Хорошо читать в оригинале :)
Если необходимо немедленно приступить к написанию небольших программ без RT-11 - изучите машкоды 1801ВМ2, а ассемблер - это для больших программ, где-то от полкилобайта :smile:
Например, если набрать в пульте УКНЦ текст и запустить его :
адрес 001000 :
012737 000101 177566 000000
На экране напечатается "А".
К сожалению я программист второго поколения и перфоленты влет читать не приучен.. изнежен так сказать (хотя бы зачатками) интерфейса :)
Хардкорный путь конечно самый правильный, но этот путь нужно было выбирать лет 20 назад. Borland со своим С++ увел с пути истинного и поэтому думаешь больше алгоритмами, а не инструкциями.
- - - Добавлено - - -
Вот к примеру нашел параграф про "аппаратные спрайты"- терзают смутные сомнения в их эффективности. По сути тот же регистровый доступ с парой плюшек, да и 8 точек трудно назвать "аппаратным спрайтом". Так бы пока читал уже попробовал в дебаггере, а так... :((
Хардкорный путь конечно самый правильный
поэтому думаешь больше алгоритмами
Не знаю, как другие, но лично я думаю в голове алгоритмом, который ложится потом на команды - такие или другие.
Основная проблема, как мне кажется, в случае PDP-11 - все операционные системы работают из командной строки - соответственно - по контексту (как в случае с оконным интерфейсом) не сориентируешься :) С чем то, напоминающим оконный интерфейс (есть ещё FMS-11, но он немного на другое нацелен), мне известна только одна система - МикроМир, но увы, во-первых, полноценная реализация есть только под RSX, во вторых - идеи работы в ней такие же, которые были заложены (и кстати, года на полтора-два позже! ;) ) в Norton Commander - то есть команды типа - откомпилировать-собрать-запустить она облегчает, но это НЕ система разработки как таковая. Видео примера работы в ней я как то выкладывал - http://www.KpXX.Ru/KBAHT4C/Софт/MIM (осторожно, 413 мб :) )
- - - Добавлено - - -
нашел параграф про "аппаратные спрайты"
Так бы пока читал уже попробовал в дебаггере
Отлаживать (или даже смотреть) графическое с одним монитором? :)
/* Отлаживать (или даже смотреть) графическое с одним монитором? */
У УКНЦ я так понимаю есть экран куда дебаггер спрятать. :)
я так понимаю есть экран куда дебаггер спрятать
Это куда?
Интересно насколько сложно будет портировать PAR11D с БКшки на УКНЦ так чтобы он экран пользователя не трогал?
- - - Добавлено - - -
ну например сделать 40+40 символов в строке
- - - Добавлено - - -
или еще как-нибудь знатокам виднее :)
ну например сделать 40+40 символов в строке
Попахивает извращением :) Более правильный вариант - задействовать порт С2 :) Что бы отладчик через него получал команды и выводил результат :)
Попахивает извращением :) Более правильный вариант - задействовать порт С2 :) Что бы отладчик через него получал команды и выводил результат :)
C2 не у всех есть.. :(
- - - Добавлено - - -
Есть мысль прикрутить ESP(wi-fi) виртуальный COM к сетевой.. я ее пока думаю, поскольку больше "писатель" чем "паятель"..
сетевые же у всех есть.
C2 не у всех есть
Это понятно. Просто мысли вслух, что может облегчить.
И кстати, из отсутствия С2 есть два пути :)
- - - Добавлено - - -
Вру :) Три :)
Не знаю, как другие, но лично я думаю в голове алгоритмом, который ложится потом на команды - такие или другие.
Ну у меня тоже мысли в голове периодически появляются :) и тоже могу переложить на что угодно... но это "неистребимое желание" сразу попробовать, чтобы подтвердить свою правоту.
Это как светодиодами "поморгать " вроде бы и так все понятно, зато приятно:)
Вспомнил. Есть (назовём это так - полноэкранный) отладчик BUG, но (тадададам) он тоже под RSX (хотя, учитывая наличие исходников - может и можно переделать под RT). В отличии от других отладчиков - его не надо было прилинковывать (прикомпоновывать, при-таск-буилдить) к программе - он встраивал свой модуль на лету, так сказать, и можно было работать в варианте двух терминалов - отлаживаемая программа на одном, отладчик на другом - что достаточно просто, опять же, в случае RSX
- - - Добавлено - - -
сразу попробовать, чтобы подтвердить свою правоту
Я последнее время (на работе) программу (любую, не конкретную) часто пишу прямо в отладчике VS - можно сразу посмотреть - чего там тебе вернулось в объекте через API - и прототип пишется влёт :)
В дистрибутиве RSX нашёлся файл (DSMAC.MAC) - добавление структурных операторов (типа if, while и т.п.) через макросы и если раньше (в те, далёкие, сейчас почти былинные, времена) я часто писал программы - логика на ФОРТРАНе, действия - на MACRO-11, то после этого перешёл на чистый макросассемблер. Основная проблема языков ассемблера - куча меток и (разного варианта) GOTO - что затрудняет процесс написания и последующего понимания программ (особенно чужой) - очень хорошо решалась этим пакетом. В своих извращениях (плюс макросы соответствующие) дошёл до того, что программы писались (большая часть) универсальными - после перетрансляции и компоновки они были работоспособны как на RSX, так и на RT :)
К сожалению на данный момент это мало поможет. Я скорее по характеру такой, мне проще машину подвесить и перезапустить чтобы убедится, что был не прав, чем часами пыхтеть над тетрадкой и думать.. а может прав .. а может не прав.. и еще один ньюанс на который натыкался не раз.. баги могли сделать и до тебя, а ты о них не сном не духом.. тем более при такой скудной документации решить все на бумаге не получится. порой строчки равнозначные местами поменял в исходнике и все работает.. потом выясняется что баг компиллера, выравнивание и тд и тп. так что дебаггер наше всё :)
К сожалению ... (далее по тексту)
Да это всё понятно. Но, к сожалению, отладчиком не всегда можно или сложно дотянуться. Конкретный пример (в случае УКНЦ) - модули, выполняющиеся на ПП. Тут только курение исходников и постановка экспериментов - анализ результатов.
Мой текущий пример - написание драйвера для WQ - всё, что на входе - драйвер RT (без исходников), программы работы с RTC на этой плате (без исходников) и невнятная дока по IDE (на английском). И это ещё не самый экстремальный пример - потому как в состав RSX входит отладчик ядра :) Но каждый раз - гадание -
а может прав .. а может не прав
Или мои копания с PDP-11 на FPGA - вот где этой мистики
порой строчки равнозначные местами поменял в исходнике и все работает или не работает :)
Все равно из stanalone debugger проще экспериментировать с ПП - не нужно комилять линковать. А если дебаггер в памяти ПП он же всю память видеть будет?
stanalone debugger
Чистый стэндэлон не получится - он всё равно будет выполняться или в памяти ЦП или в памяти ПП :) Хотя в памяти ПП будет близок такому.
дебаггер в памяти ПП он же всю память видеть будет
И да и нет, насколько я помню - вроде как для доступа к памяти ЦП от процессора ПП используются регистры - в одном задали адрес, через другой прочитали или записали ячейку. Но тут надо спросить более опытных комрадов - слишком давно я последний раз имел дело с УК-НЦ на таком низком железном уровне :) У меня больше знаний о семействе PDP-11 совместимых процессоров в принципе, а не конкретика об организации железа и устройств :)
Ситуация понятна, будем писать в тетрадке.
Еще просьба, если не трудно ткните носом или дайте имидж RT-11 для УКНЦ с дисководом но без HDD и всяких RAMдисков желательно с файловым менеджером и полезностями для разработки на ASM и что бы не ругалась при загрузке :) Просто сколько пробовал, то ошибки то одного нет то другого...
будем писать в тетрадке
Знакомо, знакомо :) Только начиная с момента появления Квант-а и переноса туда RSX всё велось там в текстовых файлах :)
ткните носом или дайте имидж RT-11 для УКНЦ
У меня готового нет
Возможно, что то найдётся у Хобота, но его хламник - такоооой хлаааамник...
Теоретически я могу собрать Вам образ, но на это понадобится некоторое время. Кроме того, УК-НЦ-ихи у меня есть, но вот нармальной работы у них с флопами пока нет, так что для хотя какой то гарантии надо будет под эмулятором - а значит, будет некоторая неуверенность в драйвере DZ и его работе.
Кроме того
желательно с файловым менеджером
вот тут я точно пасс - во времена оные их не было, а появившиеся позднее - не шупппал
полезностями для разработки на ASM
Правильней говорит - на MACRO-11 - язык ассемблера с поддержкой макросов. Есть ещё ыкзотика - PAL-11 - язык ассемблера без поддержки макросов - но его компилятор можно найти только в очень древних операционках и очень старых версиях RT-11
Основное есть в (дистрибутиве) RT-11 - macro.sav (компилятор с MACRO-11), link.sav (компоновщик), sysmac.sml (библиотека системных и не только макросов) и syslib.obj (некоторое количество полезных подпрограмм для макро-систов и куча достаточно полезных процедур для фортран-истов и почти бесполезных для макро-систов). Это то, что есть (по крайне мере, на английском) более менее подробное описание. И для начального изучения языка MACRO-11 (а так же базовых знаний архитектуры PDP-11) этого более менее хватает.
У Вас к УК-НЦ подключено два флопа?
/* У Вас к УК-НЦ подключено два флопа? */
Да два.
Два Gotek'a
/*Правильней говорить - на MACRO-11*/
Как бы макросы пока не особо интересны, больше интересует конкретно железо УКНЦ, а не совместимость со всеми RT-11.
А MACRO-11 без использования макросов..
Эти макросы были полезны инженеру в 70х чтобы посчитать интеграл не вдаваясь в подробности архитектуры..
О, то, эксперименты с чем я не довёл до конца :) Какая модель?
- - - Добавлено - - -
Может, в этим выходные получится подключить :):)
- - - Добавлено - - -
А MACRO-11 без использования макросов
Всё равно остаётся MACRO-11 :)
- - - Добавлено - - -
Пойду-ка я достану свои Готеки :)
Я уже как-то писал как я разрабатываю.
Используется Эмулятор RT11 для консоли Windows от Patron: http://zx-pk.ru/threads/24755-emulyator-rt-11.html
Пример командного файла: https://github.com/nzeemin/uknc-highwayencounter/blob/master/!compilelink.bat
То есть прямо под виндой всё пишем в любимом редакторе, там же запуском командника компилируем, исправляем ошибки, работаем с git итд.
В результате компиляции и линковки получаем готовый .SAV файл, плюс .LST файл с актуальными адресами.
Дальше, если RT-11 не нужна и .SAV не слишком большой, то используем утилиту Sav2Cart чтобы сделать картридж, это тоже одна строчка в команднике.
Если нужна RT-11 или файл слишком большой, то используем утилиту rt11dsk для помещения файла на образ диска, опять же это автоматизируется.
И ещё один командник для запуска эмулятора UKNCBTL, его кстати можно запустить с ключом /boot для загрузки с диска без выбора пункта меню.
Дальше в эмуляторе если что-то нужно отладить, в консоли отладчика команда gNNNNNN -- дойти до адреса NNNNNN, там кнопками ходим по шагам. Поглядываем в .LST файл чтобы видеть реальные адреса.
Так чтобы самому конвертировать в машинный код -- да, можно, но это для программ из десяти строчек разве что.
- - - Updated - - -
Эти макросы были полезны инженеру в 70х чтобы посчитать интеграл не вдаваясь в подробности архитектуры..
Да ладно. Бывают простые и полезные макросы, например:
.MACRO PUSH RR
MOV RR,-(SP)
.ENDM
.MACRO POP RR
MOV (SP)+,RR
.ENDM
Просто в процессе изучения возникло непреодолимое желание (без всяких компиляций, линковок, эмуляций и прочих танцев) потыкать живую машинку.. в удобной конечно для меня форме :) дебаггером.. не машкодами в мониторе :)
- - - Добавлено - - -
SFR1M44-U100K .. хотя они по моему все одинаковые ..готеки эти.. прошивки разные.
Я свои завел еще на БКшке по этой теме:
https://github.com/keirf/FlashFloppy/wiki/Firmware-Programming
дебаггером.. не машкодами в мониторе
Поищите Грот от ДВК - длина - 10000, перемещаем в адресах, работает напрямую с портом 177560, не знаком с RT-11.
например
лучше сделать так
.MACRO PUSH A
.IRP ...1,<A>
.IF NB ...1
MOV ...1, -(SP)
.IFF
CLR -(SP)
.ENDC
.ENDR
.ENDM
- - - Добавлено - - -
SFR1M44-U100K
Класс! Щас бум разбираться :):):) У меня точно такие же :))
- - - Добавлено - - -
Я свои завел еще на БКшке
Как у Вас стоят перемычки, как сделан кабель, в каком виде лежат образы на флешке?
- - - Добавлено - - -
Пичалька, вторая МС1201.04 признаков жизни не подаёт. Но проц на ней рабочий. ААААА, хочу осциллоскопус :)
Поищите Грот от ДВК - длина - 10000, перемещаем в адресах, работает напрямую с портом 177560, не знаком с RT-11.
А Грот под какой ОС работал?
хочу осциллоскопус
Вроде как господин из Москвы раздумывает о продаже двухлучевика 10 мгц С1-77 за 3 т.р. :
http://www.phantom.sannata.ru/forum/index.php?t=29549
По крайней мере металла в ослике на 1500 руб точно наберется...
- - - Добавлено - - -
А Грот под какой ОС работал?
Без ОС, напрямую с портом терминала 177560.( Т.е. отладчик не показывает макросы RT-11, просто пишет ЕМТ № )
Единственная моя копия на 573РФ3 с адресом 140000 оказалась посыпавшейся, и отправилась к господам, желающим много металла.
/* Как у Вас стоят перемычки, как сделан кабель, в каком виде лежат образы на флешке? */
Кабель перевернут 10-13, перемычки потом сфотаю исли нужно будет.
Образы в HFE так что диски для любой техники можно делать.
Программа для конвертации:
https://yadi.sk/d/LOTrVXBF3VP3Yg
Raw imge->UKNC MFM->10 sectors per track
фотки:
https://yadi.sk/i/LGucrhKl3VP5Ls
https://yadi.sk/i/gMyrpVd53VP5Sd
(мод с OLED)
Можно попробовать написать Keir Fraser (разаботчику FlashFloppy) с просьбой добавить формат DSK rt, но ему надо будет дать подробную информацию по формату образов.
Что то мне пока не везет с Готеком. Правда, сегодня я продвинулся вперёд - увидел (первый и пока последний раз) сообщение BOOT-U-I/O Error :)
Можно попробовать написать Keir Fraser (разаботчику FlashFloppy) с просьбой добавить формат DSK rt
Как такового, там формата то и нет - просто 512 сектора друг за дружкой. Но в контроллер надо генерировать всякие служебные байты
Есть у меня предположение, что в HFE и MFM при генерации как раз надо задать их правильное количество :)
S_V_B, что Вы выставляете в программе при конвертации из DSK в HFE?
- - - Добавлено - - -
?BOOT-W-Error reading handler
?BOOT-W-Error reading handler
?BOOT-W-Error reading handler
?BOOT-W-Error reading handler
?BOOT-W-Error reading handler
ФОДОС Ф/О В03.00
?KMON-U-Overlay read error
.
Вот комиты которые добавили поддержку UKNC ;-) в HXC конвертор.
https://sourceforge.net/p/hxcfloppyemu/code/1123/
https://sourceforge.net/p/hxcfloppyemu/code/1124/
https://sourceforge.net/p/hxcfloppyemu/code/1125/
https://sourceforge.net/p/hxcfloppyemu/code/1126/
В общем, играясь параметром GAP3, я получил сконвертированный файл, который без ошибок (и даже dir прошел) загрузился на ДВК :) Такого успеха с Готеками ещё на было :)
- - - Добавлено - - -
https://sourceforge.net/p/hxcfloppyemu
503 No Backend Servers Available
No backend servers were available to answer your request. Please notify the site admins.
- - - Добавлено - - -
поддержку UKNC ;-) в HXC конвертор.
Это, конечно, хорошо, но лучше был бы вариант (в том числе) нативной работы с .dsk файлами :) С автогенерацией при чтении и забивании при записи на всяку слежебную инфу :)
- - - Добавлено - - -
Хрена себе - даже прошло форматирование и функциональный тест :)
- - - Добавлено - - -
Надо второй перепрошивать :)
В общем, играясь параметром GAP3, я получил сконвертированный файл, который без ошибок (и даже dir прошел) загрузился на ДВК :) Такого успеха с Готеками ещё на было :)
- - - Добавлено - - -
https://sourceforge.net/p/hxcfloppyemu
503 No Backend Servers Available
No backend servers were available to answer your request. Please notify the site admins.
- - - Добавлено - - -
Это, конечно, хорошо, но лучше был бы вариант (в том числе) нативной работы с .dsk файлами :) С автогенерацией при чтении и забивании при записи на всяку слежебную инфу :)
- - - Добавлено - - -
Хрена себе - даже прошло форматирование и функциональный тест :)
SourceForge лагает
SourceForge лагает
Через Ж, но добрался до него :) Щас гляну
1124 особо интересный
Я последний билд скачал, не знаю, какой там коммит. А что в 1124 интересного?
В последнем билде трудно разбиратся, эти коммиты какраз добовляют нужную функциональность. В 1124 там как раз raw формат диска.
Да, в последнем билде конвертера при выборе UKNC MFM 800Kb Disk Layout на выходе получаем вполне рабочий вариант.
И да, для тех, кто ещё не сообразил - всё это время я экспериментировал на Квант-е :)
Квант с КМД?
Написал в поддержку SF.
Квант с КМД
Квант с MY :)
По формату записи (но не работе с контроллером) MY и MZ идентичные
- - - Добавлено - - -
S_V_B, xolod, большое спасибо за подсказки и наводки :) Пусть и не совсем тот формат, но - по крайне мере есть уверенность, что оно РАБОТАЕТ :) А там или разработчик добавит или меня достанет и я добавлю :)
Давайте сделаем отдельную тему и там соберем все по Gotek + ДВК УКНЦ
Давайте сделаем отдельную тему
Сделал
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot