nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Jun 2018 07:37



Reply to topic  [ 31 posts ]  Go to page Previous  1, 2, 3
Изделие МНК-11-01.ДМ 
Author Message
Maniac

Joined: 25 Aug 2009 08:02
Posts: 328
Location: Москва
Reply with quote
Ассемблирование и линковку программ можно делать прямо в симуляторе, неважно каком, хоть в SIMH, хоть в симе от Patron. Но это занятие на любителя, работать с текстом гораздо удобнее в современных редакторах. Для кросс-компиляции есть MACRO11, с исходниками, https://github.com/j-hoppe/MACRO11 а на этой странице есть даже exe-шник для венды. Хорошо, но MACRO11 на выходе дает .obj в DEC-овском формате, который нужно превратить в юbin для заливки в ПЗУ. Линковщика для этого MACRO11 нету. Можно снова обратить взор на симуляторы, но это муторно, файлы между системами перетаскивать, командную строку набирать, перетаскивать обратно.. Народ из положения выходит по-разному, тут кто-то даже умудрился написать скрипт на перле (perl, sic!) для превращения obj в bin.

Но можно заметить, что в поставке MACRO11 есть утилита dumpobj. Я посмотрел dumpobj.c и решил, что ее можно приспособить для генерации bin. Для этого я изучил формат .OBJ из RT–11 Volume and File Formats Manual и внес изменения в dumpobj.c. Теперь эта программа по ходу сканирования блоков вычисляет релокейшены и пишет в бинарный выходной файл. И назвал я ее obj2bin.
Кстати, в том же RT–11 Volume and File Formats Manual на картинке Figure 2-1 Object Module Processing у линкера нет выходного формата бинарного в чистом виде. Есть Absolute Binary, который предназначен в том числе и как исходный для содержимого ПЗУ, но и он имеет свою внутреннюю структуру с блоками, контрольными суммами..
(Почувствуйте, как говорится, разницу между DEC и гаражными фирмами и фирмами одной персоны, из которых выросли CP/M и другие MS-DOS. Конечно, эта мелочь потом гиганта свалила, но то другой разговор.)
(и чем больше входишь в тему PDP-11, тем яснее видно настоящее место популярных 8-битников с их недо-OS. Игрушки. Но имеют право быть. Извините, но факт. Убедиться может каждый, стоит только плотно заняться темой PDP-11.)

Всё, удобный инструмент для кросс-компиляции ПЗУ есть: собранный из исходников macro11 и obj2bin, полученный правкой dumpobj.c.

Текст прилагаю, можно сделать diff с dumpobj.c, чтоб посмотреть адаптацию под конкретную малую задачу. (Ушел делать diff, самому стало интересно вспомнить, что понаписал там)


Attachments:
obj2bin.c [16.59 KiB]
Downloaded 20 times
01 Jun 2018 06:11
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 31 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.