Извиняюсь, пропустил начало, а на чём форматируется 350 или 380? 350 вроде как больше 20 МБ диски не поддерживает.
Вид для печати
Всем, кому интересна TSX-11 6.01 на Э-85!
Вот оно, вместе с руководством. https://yadi.sk/d/ctNA5hoDfDVP7
Сейчас буду потихоньку разбираться с RT-11 5.01, потом выложу замену тому самому dump.tsx
В принципе, оно должно работать и на ДВК, только надо будет подправить конфигурацию в TSGEN.MAC и, естественно, пересобрать.
Да, клавиатура у него jcukeng, некоторые клавиши я не нашел, пришлось щелкать мышкой по виртуальной клаве на экране.
Электроника 85 ПРОС 2.03 ST-251
Придумал как провести эксперимент.
1 Пробовал снести все - форматирует 0 -579 / 0-6, остальное остается без формата
2 Пробовал снести 0 -579 и отформатировать 580 -819 / 0-6, потом запустить инсталяцию ПРОС - 580 -819 / 0-6 формат остается нетронутым.
из этого делаю вывод, что ПРОС 2.03 неумеет более 580 дорожек и я на ST-251 получу максимум 16*512*6*580 = 27.1875 МБ
второй эксперимент
ПРОС отличеет
1 винт без формата вообще - инсталяция стартует
2 винт с форматом - ошибка
для варианта №1 достаточно снести формат с нулевой дорожкиКод:0013 ПРОИЗОШЛО ПРЕРЫВАНИЕ ПО ЛИНИИ А16 ПОСЛЕ
ВЫПОЛНЕНИЯ ОПЕРАЦИИ "ЧТЕНИЕ СЕКТОРА" И
СЧИТЫВАНИЯ БУФЕРА,И 174016 <8>=1.
Пока гипотеза, что канал чтения как то работает но не на 100% правильно. (Канал записи проверен вычитыванием на ДВК)
kapitan-u, попробуй поставить TSX, того комплекта, что я выложил, хватит. Драйвер DW можно пересобрать из дистрибутива RT-11 5.1, ссылку на него давали пару страниц назад. И, кстати, у anasana в эмуляторе файл-образ диска 64М, у него что, тоже использовано из них только 20М? Если нет, то может он что подскажет... А если валяет дурака оборудование, то это будет видно еще на копировании RT-11.
" второй эксперимент
ПРОС отличеет
1 винт без формата вообще - инсталяция стартует
2 винт с форматом - ошибка"
Подключал ST-225 стоявший ранее на PC.
На старте ошибка с подсвечиванием первой позиции в корзине (КНМД), по автотесту тоже. Запускаю установку прос2.03, сразу на экране пишет "Ваше оборудование не исправно, ошибка такая-то, при установке будет предпринята попытка исправить ошибку". Далее винчестер форматируется( а как вы можете установить ПРОС без принудительного форматироввния?!) , ПРОС устанавливается, рестарт Э85 и нормальная загрузка с надписью "ЭЛЕКТРОНИКА". Автотест тоже спокоен.
Не знаю, я его потерял, или тот товарищ, который дилерствовал от Потёмкина. Но, поскольку он не генерится, а просто копируется, то он должен быть одним и тем же.Ну так и замени, и наложи. И выложи пропатченное куда-нибудь на временный хостинг, а я все проверю как следует и сформирую новый пакет.
Кстати, а есть пропатченная та самая RT-11 5.01 (не 5.1В и не 5.1С)? Нужна, чтобы собрать полный пакет - загружаемся и копируем все материалы RT-11 на пустой винт, затем копируем TSX и вперед. И чтобы всё было с нормальными (сегодняшними) датами.
В плане патчей касательно дат - пожалуйста отписывайтесь в(не забывайте про) эту тему http://zx-pk.ru/showthread.php?t=20864
что бы я мог в шапку (первое сообщение) ссылки добавлять )
Спасибо.
Я даже больше скажу - в последнем TSX-Plus V6.50 абсолютно тот же самый FILTIM.SAV :)
Не занимался за ненадобностью. Я думаю проще будет сгенерить новую систему в которой нормально будет запускаться. Детально не копался, но предварительный диагноз: тот TSX+ который в архиве (собранный уже) прямо таки утыкается в RMON на этапе загрузки и чуть система больше и он не влезает. Обычный TSX+ в очень раздутом конфиге прекрасно запускается под RT-11SB V5.7 довольно навороченным. Может поиграюсь сегодня.
Ну, в общем-то согласен. Тогда нужна система, которая будет нормально загружаться на 85-й и PIP-DUP-DIR-... которой будут нормально работать под TSX. Да, и чтобы дровишки для DW: нолрмально собирались из исходников. А дровишки для TSX я буду собирать (вернее, подготовлю .com-файлы для сборки) из той самой 5.1 без B или C, проверено, что они нормально работают. Надо будет разобраться, как правильно генерить драйвер для разных накопителей. То есть, конечно, есть вариант вынести настройку в SET-параметры DW, заодно можно будет прикрутить обслуживание дисков более 32М, но я уже основательно подзабыл драйверописательство для -11 и не уверен, что справлюсь...
5.07 отлично грузится. FB от него не подойдет - большой слшком, но SB (в отличие от SJ работает на PRO без напильника) вполне по размерам может подойти. Единственно, как уже писал KED и K52 последних версий видя такую версию RT-11 (TSX+ ее не меяет, хотя правильнее было бы ограничить номером версии с которой синхронизировались директивы). Решается либо запуском из под моего командного файла который прилагал к патчам, либо добавкой соответствующего кода в TSINIT (нелегко - там расширять некуда - только попробовать вписаться) или вынести в другой модуль (не смотрел пока в какой), либо добавкой директивы .CLOSZ (не смотрел пока на предмет возможности). Ну или как вариант - TSX.STB от генерации в руки и прогу которая будет после запуска патчить систему (ее придется после перегенерации собирать каждый раз) :)
6.01 нужно только запускать моим командным файлом. Как вариант - вставить в модул TSINIT ограничение версии в виртуальном RMON (сложно - для вставок там места нет - только если суметь ужать), добавить вызов .CLOSZ - не смотрел еще вариант.
В моем дистрибе много уже пресобранных и наверное полный набор SLP патчей для RT-11 V5.01 и 5.02. Есть патчи и для 5.04C, но там надо проверять - некоторые драйвера просто не пойдут с ними в старых TSXах.
Только с клавиатурой JCUKENG. https://yadi.sk/d/cUNEIKnwfEaM4 Там, кроме образа, лежит забытый мной TSXCND.MAC, правда он есть только для ДВК-шного варианта, на всех дискетах для 85-й его нет, скорее всего тот товарищ потерял его еще до того, как дал дискеты мне. Но сильно похоже, что он один на всех...
Там по сути толькоимеют значение. Остальное - настройки драйверов. Есть еще определения смещений TSX I/O queue element, но их вроде никто не использует - патчи какие смотрел используют только Q.JOB и сами же добавляют определение его.Код:TSX$P = 1 ;TSX-Plus support
BF = 1 ;No SJ support
MMG$T = 1 ;Memory management support
TIM$IT = 1 ;Device time out
ERL$G = 0 ;No Error log support
Родной драйвер DW определяет размер диска при загрузке - для этого в драйвере есть база характеристик всех дисков, которые он поддерживает, и из этой базы в момент загрузки автоматически выбирается нужный вариант.
Код:; 1 2 3 4 5 6 7 8 ;number of heads
;
DWTAB: .BYTE 2,4,0,6,5 ;DW type codes
;
; 1 7 ;added DW type codes
; 3 ;...
;
; 5 5 5 5
; 1 2 2 2
;
; 5 5
; 0 3
;
; 3
; 1
.EVEN
DEVCHR: ;RDxx device characteristics table
; C H CYL REAL USER HIGH LOW USER DEVICE
; O E SIZE SIZE SIZE SIZE SIZE
; D A
; E D
; S
$TYPE$ TYP50 4. 153. 9792. 9727. 0. 9792. 9727. ;RD50#
$TYPE$ TYP51 4. 306. 19584. 19519. 0. 19584. 19519. ;RD51
$TYPE$ TYP31 4. 615. 39360. 39295. 0. 39360. 39295. ;RD31*$
$TYPE$ TYP52C 5. 697. 55760. 55679. 0. 55760. 55679. ;RD52* CDC
;no known 6.
$TYPE$ TYP52Q 8. 512. 65536. 65407. 1. 65535. 65407. ;RD52*$ QUANTUM
$TYPE$ TYP52A 7. 645. 72240. 72127. 6705. 65535. 65535. ;RD52* ATASI
$TYPE$ TYP53 8. 1024. 131072. 130943. 65535. 65535. 65535. ;RD53*$
;
; Note:
;
; For the RD53 there are 65537. blocks that are left over after allocating
; the maximum number of blocks that RT-11 allows (65535.) for partition 0.
; Since 65537. will not fit in a PDP-11 unsigned word, the remainder size
; used in the $TYPE$ macro is 65535.
;
;$TYPE$ TYP53 8. 1024. 131072. 130943. 65537. 65535. 65535. ;RD53*$
;
; A B C D E F G
;
; C=16.*A*B Physical size of device
; D=16.*A*(B-1)-1 usable size (first block reserved for start-up
; diagnostics and last cyl reserved for FCT)
; E=MIN(MAX(C-65535.,0),65535.) Physical size over 65535. blocks
; F=MIN(C,65535.) Partition 0 physical size
; G=MIN(D,65535.) Partition 0 useable size
;
;# bit indicates RD50
;* contains FCT
;$ seek test required to determine
Зто в какой версии? В 5.1 нет такого слова: $TYPE$. И без долларов нет. А начиная с 5.2 драйвера освободили от необходимости перемешать адресные константы, перенеся эту функцию в ядро. TSX 6.01 об этом не знает и, естественно, ничего перемезать не будет. То есть надо перелопачивать весь драйвер, делая его самоперемещающимся. То есть, конечно, и это можно сделать, но не за 5 минут, а тратить на это существенно больше времени не выйдет...
Были бы исходники, можно было бы вписать эту функцию в ядро TSX, но исходники были только у Потёмкина, да и то неизвестно, все ли? И вообще, спрашивается, откуда они у него могли взяться? Спецслужбы украли у S&H Computing? Или таки был расширенный вариант поставки?
5.4
В 5.1 поддерживаются два винчестера RD50 и RD51. При подключении RD50 контроллер об этом сообщает. При подключении любого другого винчестера драйвер должен как-то выяснить его параметры.
Драйвер для 5.1 в таком случае берёт такое же количество головок, как и у RD50, и количество цилиндров из параметра DW$C51
Если изменить количество головок в параметре DW$SRF, то драйвер от 5.1 уже не сможет работать с RD50 и будет поддерживать только один винчестер типа "не RD50".Код:DW$SRF = 4.
DW$C51 = 306.
Тогда для TSX 6.01 проще всего действительно нагенерить драйверов на большинство известных 4-головочных накопителей - т.е. к имеющимся дровам на 10 и 20М, добавить 22 (ST250R) и 32 (эмулятор), а также приложить все материалы, включая инструкцию, для самостоятельной генерации драйвера DW под другое число головок
Да, физически и в эмуляторе контроллер поддерживает винты более 32М, а единственный вариант использования такого в RT/TSX-11 - разбить такой винт на два логических: DW0: и DW1:. Драйвер DW-85 похожей фенечкой не оборудован?
Для ДВК у меня такой есть, у него еще геометрия винта, по-простому, задается SET-параметрами. Нашей выделки, без DEC-овских изысков, которые в части, касающейся DW, кажутся предтечами нынешнего PnP... :)
И еще вопрос. А более старшие, чем 6.01, TSX поддерживают настройку драйверов системой, подобно RT-11 5.2+ ?
Из родных DEC/Mentec'овских только DU так умеет:Жаль только, что даже в последнем TSX-Plus не поддерживаются номера устройств больше 7 :)Код:.SH DEV:DU
Device Status CSR Vector(s)
------ ------ --- ---------
DU Resident 172150 154
DU0: is set PORT = 0, UNIT = 0, PART = 0
DU1: is set PORT = 0, UNIT = 1, PART = 0
DU2: is set PORT = 0, UNIT = 2, PART = 0
DU3: is set PORT = 0, UNIT = 3, PART = 0
DU4: is set PORT = 0, UNIT = 3, PART = 1
DU5: is set PORT = 0, UNIT = 3, PART = 2
DU6: is set PORT = 0, UNIT = 3, PART = 3
DU7: is set PORT = 0, UNIT = 3, PART = 4
D10: is set PORT = 0, UNIT = 3, PART = 5
D11: is set PORT = 0, UNIT = 3, PART = 6
D12: is set PORT = 0, UNIT = 3, PART = 7
D13: is set PORT = 0, UNIT = 3, PART = 8
D14: is set PORT = 0, UNIT = 3, PART = 9
D15: is set PORT = 0, UNIT = 3, PART = 10
D16: is set PORT = 0, UNIT = 3, PART = 11
D17: is set PORT = 0, UNIT = 3, PART = 12
D20: is set PORT = 0, UNIT = 3, PART = 13
D21: is set PORT = 0, UNIT = 3, PART = 14
D22: is set PORT = 0, UNIT = 3, PART = 15
D23: is set PORT = 0, UNIT = 3, PART = 16
.
---------- Post added at 10:59 ---------- Previous post was at 10:58 ----------
Настройку поддерживают как более старшие так и более младшие. Не ясно только что такое "подобно 5.2+" в данном контексте.
---------- Post added at 11:22 ---------- Previous post was at 10:59 ----------
Кажется понял. Речь идет о DRPTR входах? Это и TSX+ 6.01 вроде уже умеет.
Я имею в виду настройку адресных констант средствами ядра, а не самонастройку средствами драйвера, как это было в 5.1 и ниже.Это так называется?Точно? У меня (1992 или 93) тогда что-то не сошлось, не удалось прикрутить DWX.SYS из 5.4 или 5.2 к TSX 6.01, причем я довольно глубоко тогда поковырялся и понял, что проблема была в настройке адресных констант.
Хотя бы своими словами можно объяснить о чем речь? Что за адресные константы такие? Пока непонятно.
TSX+ V6.01 официально синхронизирован с 5.2 и все драйвера в комплекте сделаны из 5.2. Драйвера из 5.3 по прежнему должны подходить (разумеется где нужно требуется переделка). Из 5.4 же вполне может и не подойти - 5.3->5.4 много изменений было и драйвер может использовать что-то системно-зависимое.
Ну вот в простой программе я могу написать
MOV #TABL1,R1
И, куда бы ее линкер не засунул, этот адрес окажется правильным. А в драйверах, которые слинкованы с 1000, как и большинство простых программ, а загружаются черт знает куда, мы вынуждены писать
MOV PC,R1
ADD .-TABL1,R1
По-моему, начиная с 5.2 в ядро добавили общую програмку, которая перстраивает такие адресные константы, так, что пишешь
L1: MOV #TBL1,R1
а где-то в таблице, находящейся в отдельной секции, добавляешь строчку
.WORD L1+2
При загрузке любого драйвера, система загружает эту секцию куда-то в рабочие поля, по ее данным настраивает всё, что там прописано, а затем забывает о ней. То есть оперативной памяти в драйвере эта таблица не занимает, а код получается короче. То есть, програмка в ядре тоже что-то весит, но, если драйверов много, то оно должно оправдываться.
Это мои измышления 20-летней давности, как оно сделано в деталях, я не разбирал, но таблицу видел. Скорее всего, это все реализовано макрокомандами. Более того, я сейчас прикинул, что эту програмку тоже можно сделать транзитной, вписав ее в начало той же секции, так, что расходов памяти в ядре тоже будет минимум. Но, повторюсь, как там оно сделано в деталях, я не знаю.
Так вот, это нововведение появилось, как бы не соврать, в 5.2, вроде-бы. Или в 5.4, точно уже не помню. И сильно не уверен, что это дело поддерживает TSX 6.01
Ни в какой из версий RT-11 и TSX-Plus первый вариант не пройдет. Просто начиная с RT-11 V5.2 оявились упомянутые мной выше вызовы DRPTR на обслуживание драйвера (загрузка, выгрузка) и, соответственно появилась возможность в момент загрузки драйвера (и его силами) перенастроить данные адреса так, чтобы они работали. Ни один стандартный драйвер не использует такого.
Нет, и не могли добавить по определению - как можно догадаться. Откуда эта программка узнает что именно нужно перенастраивать, а что нет? Это в RSX-11 драйверу в комплекте идет STB файл с таблицей символов (впрочем там просто перенастройки не требуется - абсолютная адресация допустима в принципе).
Это все делается вручную самим драйвером из FETCH/LOAD точки входа DRPTR (и они действительно появились в 5.2). Насчет TSX+ V6.01 строго говоря не уверен вызываются ли эти входы - можно проверить - 6.01 есть под рукой сгенеренный.
Gj По ссылке из нулевого блока. У обычных драйверов там ноль, а здесь - смещение от начала файла. Похоже, это оно самое и есть. И именно в этом варианте. То есть драйвер загружается на место, без этой секции, эта секция, в смысле кусок файла, загружается куда-то в рабочие поля,вызывается программа из нее, по окончании эта память используется для других целей.
Ладно, сейчас у меня предстоит цейтнот на недельку, кончится - подумаю.
form, в принципе, все это проверяется элементарно: заявлена работа с 5.2? Берем 5.2 и пробуем. Если успею за выходные, доложусь сразу, если нет - то по окончании цейтнота. А они, блин, имеют обыкновение затягиваться...
Да собственно вот - родной набор патчей от TSX+ V6.1:Среди них видим 5.02е драйвера.Код:.DIR LD:.SLP
14-Mar-2015
CT501 .SLP 3P 26-Dec-1986 CT502 .SLP 3P 26-Dec-1986
DD501 .SLP 3P 26-Dec-1986 DD502 .SLP 3P 26-Dec-1986
DL501 .SLP 9P 26-Dec-1986 DL502 .SLP 9P 26-Dec-1986
DX501 .SLP 3P 26-Dec-1986 DX502 .SLP 3P 26-Dec-1986
DY501 .SLP 3P 26-Dec-1986 DY502 .SLP 3P 26-Dec-1986
DY51B .SLP 3P 26-Dec-1986 FSM501.SLP 8P 26-Dec-1986
FSM502.SLP 8P 26-Dec-1986 LS501 .SLP 3P 26-Dec-1986
LS502 .SLP 3P 26-Dec-1986 LS51C .SLP 3P 26-Dec-1986
TJ501 .SLP 5P 26-Dec-1986 TJ502 .SLP 5P 26-Dec-1986
TM501 .SLP 5P 26-Dec-1986 TM502 .SLP 5P 26-Dec-1986
TS501 .SLP 7P 26-Dec-1986 TS502 .SLP 6P 26-Dec-1986
TS51C .SLP 7P 26-Dec-1986 XL501 .SLP 3P 26-Dec-1986
XL502 .SLP 3P 26-Dec-1986 XL51C .SLP 3P 26-Dec-1986
26 Files, 119 Blocks
94 Free blocks
.
Можно только догадываться.
Помочь в этом могут исходники DW.SYS с комментариями.
Ясно. Вероятно, это наше творчество, не DEC, тем более, что драйвер был для ДВК. То-то я тогда обратил внимание, что эта настройка сильно напоминает мне действия макрокоманды OPENR из ДОСа Системы-360 - точно так же, первым элементом таблицы стояло
TABL: .WORD .
То есть адрес самой константы. Перемещающая программа первым делом вычитает из действительного адреса содержимое этого слова и потом использует эту разность для коррекции остальных адресов. Где-то так, но точно я уже не помню - более 20 лет прошло. Но впечатление, что это дело похоже на OPENR ДОСа-360 осталось.
Patron, а где берут такую прелесть? Ведь все исходники во всех официальных дистрибутивах совсем без коммантариев...
OK, ноконец я поставил ПРОС на винт и загрузился с винта!
Это было слегка обидно... Я долго возился с железом и только когда понял, что с железом на 100% все в порядке, то задумался о качестве образов дисков с которыми я работаю. Оказалось, что практически весь софт отсюда
http://www.tis.kz/forum/topic.php?forum=31&topic=2
битый!
Комплект 001 вообще незагружается, комплект 002 дает ошибку при переходе к инсталяции после форматирования. Рабочим оказался комплект 006 !
Я, кажется, вспомнил. Это я не в TSX вкрячивал дровишки от 5.4, а в свою любимую сборку 5.1, тоже носящую явные следы вмешательства наших людей. Ядро у нее называлось RT11DS.SYS (SJ). Тогда я к ней очень привык и сильно не хотел менять ее. Ну, и обломился... У меня на ДВК тогда основной системой был ДИАМС, изредка RT-11, а до TSX просто руки не дошли, не было у меня в том потребности.
Так, что половина всего , что я здесь написал - ложная тревога, хотя материал для меня был очень полезным, я таки разобрался, чем дровишки 5.2+ отличаются от дровишек 5.1-. Кстати, а где взять руководство по программированию внешних устройств для 5.2+?
То есть, для запуска TSX можно ставить любую RT-11. Спрашивается, какую выберем? Может быть, учитывая проблемы с редакторами в 5.7, возмем что-нибудь постарее? И что из систем постарее пропатчено на y2k?
здесь - RT-11 V5.6: RT-11 Device Handlers Manual
Любую начиная с V4, но при этом должно оставаться достаточно памяти для BG задачи. В последних версиях RT-11 подойдет только SJ/SB монитор, под FB уже не хватит памяти.
---------- Post added at 09:06 ---------- Previous post was at 09:05 ----------
V5.3 делал патчи, но до конца не довел, V5.4G более детально делался. Ну и 5.7 изначально совместим.
В сети есть "бонусные" дистрибутивы RT-11 с комментариями и исходниками утилит:
v3bsrc.dsk
v54src.dsk
v55src.dsk
v56src.dsk
v57bld.dsk
v57abl.dsk
Файлы *.BUP в образах v55src.dsk и v56src.dsk - это обычные DSK-образы и их можно открывать, нажимая в TC-плагине <Ctrl><PageDown>.
---------- Post added at 14:04 ---------- Previous post was at 12:55 ----------
Ещё один бонусный диск - RT-11_V02C_=_SRC.rar - исходники RT-11 V02C с комментариями.
...