User Tag List

Страница 83 из 107 ПерваяПервая ... 798081828384858687 ... ПоследняяПоследняя
Показано с 821 по 830 из 1061

Тема: Электроника-85 vs. DEC Pro-350 + их эмуляция

  1. #821

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    как драйверу DW при генерации задать размер диска.
    Родной драйвер 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

  2. #822

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Родной драйвер DW определяет размер диска при загрузке - для этого в драйвере есть база характеристик всех дисков
    Зто в какой версии? В 5.1 нет такого слова: $TYPE$. И без долларов нет. А начиная с 5.2 драйвера освободили от необходимости перемешать адресные константы, перенеся эту функцию в ядро. TSX 6.01 об этом не знает и, естественно, ничего перемезать не будет. То есть надо перелопачивать весь драйвер, делая его самоперемещающимся. То есть, конечно, и это можно сделать, но не за 5 минут, а тратить на это существенно больше времени не выйдет...

    Были бы исходники, можно было бы вписать эту функцию в ядро TSX, но исходники были только у Потёмкина, да и то неизвестно, все ли? И вообще, спрашивается, откуда они у него могли взяться? Спецслужбы украли у S&H Computing? Или таки был расширенный вариант поставки?
    Последний раз редактировалось AFZ; 13.03.2015 в 22:01.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  3. #823

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Это в какой версии?
    5.4

    Цитата Сообщение от AFZ Посмотреть сообщение
    В 5.1 нет такого слова: $TYPE$
    В 5.1 поддерживаются два винчестера RD50 и RD51. При подключении RD50 контроллер об этом сообщает. При подключении любого другого винчестера драйвер должен как-то выяснить его параметры.

    Драйвер для 5.1 в таком случае берёт такое же количество головок, как и у RD50, и количество цилиндров из параметра DW$C51

    Код:
    DW$SRF	= 4.
    DW$C51	= 306.
    Если изменить количество головок в параметре DW$SRF, то драйвер от 5.1 уже не сможет работать с RD50 и будет поддерживать только один винчестер типа "не RD50".

  4. #824

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Драйвер для 5.1 в таком случае берёт такое же количество головок, как и у RD50, и количество цилиндров из параметра DW$C51
    Тогда для 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+ ?
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  5. #825

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    разбить такой винт на два логических: DW0: и DW1:. Драйвер DW-85 похожей фенечкой не оборудован?
    Из родных DEC/Mentec'овских только DU так умеет:
    Код:
    .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
    
    
    
    .
    Жаль только, что даже в последнем TSX-Plus не поддерживаются номера устройств больше 7

    ---------- Post added at 10:59 ---------- Previous post was at 10:58 ----------

    Цитата Сообщение от AFZ Посмотреть сообщение
    А более старшие, чем 6.01, TSX поддерживают настройку драйверов системой, подобно RT-11 5.2+ ?
    Настройку поддерживают как более старшие так и более младшие. Не ясно только что такое "подобно 5.2+" в данном контексте.

    ---------- Post added at 11:22 ---------- Previous post was at 10:59 ----------

    Кажется понял. Речь идет о DRPTR входах? Это и TSX+ 6.01 вроде уже умеет.
    Последний раз редактировалось form; 14.03.2015 в 08:06.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #826

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Не ясно только что такое "подобно 5.2+" в данном контексте.
    Я имею в виду настройку адресных констант средствами ядра, а не самонастройку средствами драйвера, как это было в 5.1 и ниже.
    Цитата Сообщение от form Посмотреть сообщение
    Кажется понял. Речь идет о DRPTR входах?
    Это так называется?
    Цитата Сообщение от form Посмотреть сообщение
    Это и TSX+ 6.01 вроде уже умеет.
    Точно? У меня (1992 или 93) тогда что-то не сошлось, не удалось прикрутить DWX.SYS из 5.4 или 5.2 к TSX 6.01, причем я довольно глубоко тогда поковырялся и понял, что проблема была в настройке адресных констант.
    Последний раз редактировалось AFZ; 14.03.2015 в 08:36.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  7. #826
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #827

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Я имею в виду настройку адресных констант средствами ядра, а не самонастройку средствами драйвера, как это было в 5.1 и ниже.Это так называется?Точно?
    Хотя бы своими словами можно объяснить о чем речь? Что за адресные константы такие? Пока непонятно.

    Цитата Сообщение от AFZ Посмотреть сообщение
    не удалось прикрутить DWX.SYS из 5.4 или 5.2 к TSX 6.01, причем я довольно глубоко тогда поковырялся и понял, что проблема была в настройке адресных констант.
    TSX+ V6.01 официально синхронизирован с 5.2 и все драйвера в комплекте сделаны из 5.2. Драйвера из 5.3 по прежнему должны подходить (разумеется где нужно требуется переделка). Из 5.4 же вполне может и не подойти - 5.3->5.4 много изменений было и драйвер может использовать что-то системно-зависимое.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  9. #828

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Хотя бы своими словами можно объяснить о чем речь? Что за адресные константы такие? Пока непонятно.
    Ну вот в простой программе я могу написать
    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
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  10. #829

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Ну вот в простой программе я могу написать
    MOV #TABL1,R
    И, куда бы ее линкер не засунул, этот адрес окажется правильным. А в драйверах, которые слинкованы с 1000, как и большинство простых программ, а загружаются черт знает куда, мы вынуждены писать
    MOV PC,R1
    ADD .-TABL1,R1
    Ни в какой из версий RT-11 и TSX-Plus первый вариант не пройдет. Просто начиная с RT-11 V5.2 оявились упомянутые мной выше вызовы DRPTR на обслуживание драйвера (загрузка, выгрузка) и, соответственно появилась возможность в момент загрузки драйвера (и его силами) перенастроить данные адреса так, чтобы они работали. Ни один стандартный драйвер не использует такого.

    Цитата Сообщение от AFZ Посмотреть сообщение
    По-моему, начиная с 5.2 в ядро добавили общую програмку, которая перстраивает такие адресные константы
    Нет, и не могли добавить по определению - как можно догадаться. Откуда эта программка узнает что именно нужно перенастраивать, а что нет? Это в RSX-11 драйверу в комплекте идет STB файл с таблицей символов (впрочем там просто перенастройки не требуется - абсолютная адресация допустима в принципе).

    Цитата Сообщение от AFZ Посмотреть сообщение
    а где-то в таблице, находящейся в отдельной секции, добавляешь строчку
    Это все делается вручную самим драйвером из FETCH/LOAD точки входа DRPTR (и они действительно появились в 5.2). Насчет TSX+ V6.01 строго говоря не уверен вызываются ли эти входы - можно проверить - 6.01 есть под рукой сгенеренный.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  11. #830

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Откуда эта программка узнает что именно нужно перенастраивать,
    Gj По ссылке из нулевого блока. У обычных драйверов там ноль, а здесь - смещение от начала файла.
    Цитата Сообщение от form Посмотреть сообщение
    Это все делается вручную самим драйвером из FETCH/LOAD точки входа DRPTR (и они действительно появились в 5.2).
    Похоже, это оно самое и есть.
    Цитата Сообщение от AFZ Посмотреть сообщение
    Более того, я сейчас прикинул, что эту програмку тоже можно сделать транзитной, вписав ее в начало той же секции
    И именно в этом варианте. То есть драйвер загружается на место, без этой секции, эта секция, в смысле кусок файла, загружается куда-то в рабочие поля,вызывается программа из нее, по окончании эта память используется для других целей.

    Ладно, сейчас у меня предстоит цейтнот на недельку, кончится - подумаю.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

Страница 83 из 107 ПерваяПервая ... 798081828384858687 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вектор-06Ц: Эмуляция
    от ZEman в разделе Вектор
    Ответов: 1516
    Последнее: 16.10.2025, 11:13
  2. [Поиск 1] Эмуляция
    от KingArthur в разделе Поиск
    Ответов: 192
    Последнее: 05.12.2021, 15:48
  3. Эмуляция Profi
    от Zloy в разделе Эмуляторы
    Ответов: 13
    Последнее: 16.03.2009, 05:58
  4. Аппаратная эмуляция GS/TFM/AY
    от Black_Cat в разделе Эмуляторы
    Ответов: 34
    Последнее: 03.05.2008, 23:34

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •