Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Другие архитектуры »   Формат загрузочной перфоленты?
RSS

Формат загрузочной перфоленты?

<<Назад  Вперед>> Страницы: 1 * 2
Печать
 
DUKER
Гость

Ссылка

Если у вас есть готовая программа, и вы знаете где в памяти, по каким адресам она должна лежать, то можно можно сделать ленту, у вас есть какой-то перфоратор и пустая лента?
Сейчас на форуме
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
alecv
Не слишком оптимистичная идея, но подумаю, спасибо.

Mihail-1
Спасибо, но М-6000, насколько я понимаю, мне не поможет.
Ага, чистые ленты всё ещё жду, но не спеша, потому что пробивать на них всё равно пока нечего.
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
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 написал:
[q]
alecv

Ага, чистые ленты всё ещё жду, но не спеша, потому что пробивать на них всё равно пока нечего.
[/q]
А что молчите?Нужно устройство для набивания дыр?
Обращайтесь :biggrin:
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Mihail-1
В основном, нужны программы, котрое нужно набивать, :-/.
DUKER
Гость

Ссылка

Ориентируясь на то как это сделано в Э60, я понимаю что блоки данных длинной до 128 байт, их может былть несколько. В зависимости от стартового адреса в начале блока и длинны загрузчик (или аппаратура, как у вас ХЗ) раскладывает это всё по ячейкам ОЗУ, а последний блок, с нулевой длинной запускает уже сам процессор со стартового адреса, так в Э60... тоже блоки, тоже длинна и адрес, тоже последний кадр -запускающий систему... комманду на запуск я бы просто сделал как тут, если у вас есть микро программа на 5 байт, просто скажите их мне, я сформирую образ ленты, и могу попробоват пробить на своём перфораторе, такая короткая лента может и из А3 получиться :-)

А 0x80 в начале и конце , как я понимаю могут быть любой длинны....просто пустые поля, для удобства или синхронизации...

Вопрос есть ли для вашего процессора "Абсолютный загрузчик" потому-что в Э60 разбором такого формата занимаеться предварительно загруженная программка...
Сейчас на форуме
DUKER
Гость

Ссылка

У меня нет ленты, да и перфосчитыватель не подключен, программы пытаюсь забивать через пультовой терминал, вроде работает, но для больших программ это трудоёмко (но тоже решаеться, пытаюсь забивать данные взятые из образа ленты через терминал специальной программкой :-))
Сейчас на форуме
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
...прошу прощения за оффтоп. На стойках ЧПУ основанных на "Э-60" первоначально загружалось из ПЗУ некое подобие "монитора". Для вызова считывания абсолютного загрузчика с перфоленты вводился адрес где находится программа обращения к ФСУ и однобуквенная команда.
>8000
>G (или L).

А абсолютный загрузчик делался на абсолютно дефицитной пластиковой ленте. :)
DUKER
Гость

Ссылка

Монитор вшит в процессорную плату (слава богу) "пультовой терминал" - вывод или в последовательный порт или через В1 на консул-260, как у меня.
G и L это комманды встроенные в пультовой терминал
на ПЗУ или программа со встроенным загрузчиком или ещё как-то это уже от реализации зависит
У меня есть плата ПЗУ, на ней сервисная часть содержет абсолютный загрузчик.
И пластиковой ленты чуток есть Ж-)
Сейчас на форуме
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Компьютер умеет грузиться как минимум с жёсткого диска и двух перфосчитывателей. Так что, думаю, при таком ассортименте абсолютный загрузчик должен быть.
Программу, переводящую исполняемый код в код перфоленты я уже написал. Правда, hypertrm в моих умелых руках работать отказался, но, думаю, к понедельнику я найду другой эмулятор телетайпа и попробую запустить программу, следуя Вашим советам.
<<Назад  Вперед>> Страницы: 1 * 2
Печать
Полигон-2 »   Другие архитектуры »   Формат загрузочной перфоленты?
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS