Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Формат загрузочной перфоленты? |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
DUKER |
Сообщение отправлено: 17 февраля 2011 16:34
Если у вас есть готовая программа, и вы знаете где в памяти, по каким адресам она должна лежать, то можно можно сделать ленту, у вас есть какой-то перфоратор и пустая лента? |
Сейчас на форуме |
arif-ru
Advanced Member
Откуда: Москва. Всего сообщений: 1757 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 окт. 2007 |
alecv Не слишком оптимистичная идея, но подумаю, спасибо. Mihail-1 Спасибо, но М-6000, насколько я понимаю, мне не поможет. Ага, чистые ленты всё ещё жду, но не спеша, потому что пробивать на них всё равно пока нечего. |
arif-ru
Advanced Member
Откуда: Москва. Всего сообщений: 1757 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 окт. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 февраля 2011 22:24 Сообщение отредактировано: 17 февраля 2011 22:28
DUKER Я это описание прочитал, но не был уверен, что понял правильно - уж очень мало я знаю о перфоленте и уж слишком отличается этот текст от всего, что я знаю о носителях информации... В общем, сегодня весь день перечитывал описание и пытался написать перекодировщик, получилось очень похоже на то, что объяснили Вы - что очень радует. Спасибо! 76543.210----->Номера битов, 7 - "метки конца -начала трека" 65 - вроде не используеться, 4- запрет печати 0-3 данные 0****.***-----> Начало "Leader". Он любой длинны? То есть идёт любое количество 0x8000, потом Leader? 0****.*** 0****.*** 0****.*** 0****.*** 0****.*** 0****.*** 0****.***----->"Leader" 00000.000- 00000.000 |---->Начало кадра "Separator" - "разделитель" 00000.000- *****.***-----> "Record Mark" - "метка записи" - тоже часть начальной посылки *****.***------> Длинна блока данных старшие 4 бита Получаеться ******00 — 00000011 - или 3 Байта *****.*00------> Длинна блока данных младшие 4 бита *****.***- .....0 *****.**0 | ....1 ***0*.00* | ....6-----> Два байта адреса 016А ***00.*0*- .....А ***00.*0*--- А ***00.*00--- B Байт АВ ***00.0**--- C ***00.0*0--- D Байт CD ***00.00*--- E ***00.000--- F Байт EF ***00.0*0-| D Старшая част контрольной суммы ***0*.0*0-| 5 Младшая часть контрольной суммы Сумма D5=Syze+Adress_H+Adress_L+Data_1+Data2+Data3 (ваще это 2D5 но если складыват байтами, то выдет D5) 00000.000- Вроде, по описанию, складывать нужно, добавляя overflow к младшему биту - тогда должно D7 получиться. Опечатка? 00000.000 |---->Начало нового кадра снова "Separator" - "разделитель" 00000.000- *****.***----->"Record Mark" - "метка записи" - тоже часть начальной посылки *****.***Длинна блока тут она 0- это признак конечного кадра на ленте... *****.*** *****.***-.....0 Два байта адреса 016А *****.**0 |....1 В последнем кадре, это сатровый адрес программы... ***0*.00* |....6 ***00.*0*-.....А ***0*.00*-6 ***00.0**-С Кнотрольная сумма, тут 6С 0**0*.00*- вот этого не понял, мож комманда на запуск?? это "данные вне записи" Тот же вопрос... 0****.*** 0****.*** 0****.***И трейлер пошёл... 0****.*** 0****.*** 0****.*** 0****.*** 0****.*** "to control print supression" - в смысле, чтобы телетайп (через который эта лента может пробиваться и загружаться) не изводил бумагу зря, :-). Больше всего меня смущала идея, что, судя по отдельным фразам описания, лента считывается, потом из этих тетрад собираются нормальные байты и они записываются в ОЗУ - а если программа длиннее 128 байт, то она просто разбивается на несколько блоков и записывается по очереди. Спасибо, что подтвердили утверждение. Из описания возникает ощущение, что загруженная с ленты программа немедленно запускается. Но я не понял - что, запускается только первый блок? Если нет - как загрузчик узнаёт, что пора прекращать считывать программу и надо её запускать? По пустому блоку с адресом старта? Но, вроде, сказано, что он вообще не обязателен... И, ещё, "The binary paper tape, genetated by assembler" - я ведь правильно понял, что это машинный код, перекодированный в формат перфоленты? >У компьютера ПУЛЬТ есть?? вручную нельзя прописывать значения регистров? Пульт есть, но то ли он барахлит, то ли (что более вероятно) я снова не понял чего-то очевидного для любого, работавшего с машинами такого уровня - но заставить компьютер выполнять набранные на консоли комманды я не могу. У меня, к сожалению, нет ничего кроме самого компьютера и кипы книжек. Но перфосчитыватель телетайпа, насколько я понимаю, легко эмулируется с любого PC с COM портом, так что это проблемой быть не должно. По поводу самой программы - для начала хотелось бы запустить что-нибудь уровня "Hello, world!" - простейший его вариант занимает 5 байт, но их как-то надо загрузить в машину. P.S. Кстати, с январской отчётностью там, наконец, разобрались, так что в самое ближайшее время в лабораторию можно будет спокойно попасть. |
Mihail-1
Advanced Member
звание пока не придумал Откуда: Подмосковье Всего сообщений: 3839 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 авг. 2009 |
arif-ru arif-ru написал: А что молчите?Нужно устройство для набивания дыр? alecv Обращайтесь |
arif-ru
Advanced Member
Откуда: Москва. Всего сообщений: 1757 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 окт. 2007 |
Mihail-1 В основном, нужны программы, котрое нужно набивать, :-/. |
DUKER |
NEW! Сообщение отправлено: 18 февраля 2011 0:40
Ориентируясь на то как это сделано в Э60, я понимаю что блоки данных длинной до 128 байт, их может былть несколько. В зависимости от стартового адреса в начале блока и длинны загрузчик (или аппаратура, как у вас ХЗ) раскладывает это всё по ячейкам ОЗУ, а последний блок, с нулевой длинной запускает уже сам процессор со стартового адреса, так в Э60... тоже блоки, тоже длинна и адрес, тоже последний кадр -запускающий систему... комманду на запуск я бы просто сделал как тут, если у вас есть микро программа на 5 байт, просто скажите их мне, я сформирую образ ленты, и могу попробоват пробить на своём перфораторе, такая короткая лента может и из А3 получиться :-) А 0x80 в начале и конце , как я понимаю могут быть любой длинны....просто пустые поля, для удобства или синхронизации... Вопрос есть ли для вашего процессора "Абсолютный загрузчик" потому-что в Э60 разбором такого формата занимаеться предварительно загруженная программка... |
Сейчас на форуме |
DUKER |
NEW! Сообщение отправлено: 18 февраля 2011 0:43
У меня нет ленты, да и перфосчитыватель не подключен, программы пытаюсь забивать через пультовой терминал, вроде работает, но для больших программ это трудоёмко (но тоже решаеться, пытаюсь забивать данные взятые из образа ленты через терминал специальной программкой :-)) |
Сейчас на форуме |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
...прошу прощения за оффтоп. На стойках ЧПУ основанных на "Э-60" первоначально загружалось из ПЗУ некое подобие "монитора". Для вызова считывания абсолютного загрузчика с перфоленты вводился адрес где находится программа обращения к ФСУ и однобуквенная команда. >8000 >G (или L). А абсолютный загрузчик делался на абсолютно дефицитной пластиковой ленте. |
DUKER |
NEW! Сообщение отправлено: 18 февраля 2011 1:02
Монитор вшит в процессорную плату (слава богу) "пультовой терминал" - вывод или в последовательный порт или через В1 на консул-260, как у меня. G и L это комманды встроенные в пультовой терминал на ПЗУ или программа со встроенным загрузчиком или ещё как-то это уже от реализации зависит У меня есть плата ПЗУ, на ней сервисная часть содержет абсолютный загрузчик. И пластиковой ленты чуток есть Ж-) |
Сейчас на форуме |
arif-ru
Advanced Member
Откуда: Москва. Всего сообщений: 1757 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 окт. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 февраля 2011 7:12 Сообщение отредактировано: 18 февраля 2011 12:08
Компьютер умеет грузиться как минимум с жёсткого диска и двух перфосчитывателей. Так что, думаю, при таком ассортименте абсолютный загрузчик должен быть. Программу, переводящую исполняемый код в код перфоленты я уже написал. Правда, hypertrm в моих умелых руках работать отказался, но, думаю, к понедельнику я найду другой эмулятор телетайпа и попробую запустить программу, следуя Вашим советам. |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Полигон-2 » Другие архитектуры » Формат загрузочной перфоленты? |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |