User Tag List

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 37

Тема: UNIX для УКНЦ!!!

  1. #11

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

    По умолчанию

    Цитата Сообщение от xakep_tm1 Посмотреть сообщение
    спасибо за совет
    Начинать надо с изучения WCX Writer's Reference.

    ---------- Post added at 13:16 ---------- Previous post was at 13:01 ----------

    Если кто-то ещё не видел родные исходники LSX - LSX.src

    ---------- Post added at 13:42 ---------- Previous post was at 13:16 ----------

    Цитата Сообщение от xakep_tm1 Посмотреть сообщение
    Если честно, то я так и не увидел рабочий unix на БКшке.
    После анализа кода bkunix у меня сложилось впечатление, что авторов подкосила "мистическая тайна терминального буфера".


    В LSX терминальный буфер cfree[NCLIST] описан и реализован в файле usr/kl.c


    Код:
    /*
     * The actual structure of a clist block manipulated by
     * getc and putc (mch.s)
     */
    struct cblock {
    	struct cblock *c_next;
    	char info[6];
    };
    
    /* The character lists-- space for 6*NCLIST characters */
    struct cblock cfree[NCLIST];
    
    /* List head for unused character blocks. */
    struct cblock *cfreelist; 
    
    /*
     * Initialize clist by freeing all character blocks, then count
     * number of character devices. (Once-only routine)
     */
    cinit()
    {
    	register int ccp;
    	register struct cblock *cp;
    
    	ccp = cfree;
    	for (cp=(ccp+07)&~07; cp <= &cfree[NCLIST-1]; cp++) {
    		cp->c_next = cfreelist;
    		cfreelist = cp;
    	}
    }


    В bkunix всё почти так же, но есть и небольшая "оптимизация" ( src/sys/dev/kl.c ):

    Код:
    /*
     * The actual structure of a clist block manipulated by
     * getc and putc (mch.s)
     */
    struct cblock {
    	struct cblock *c_next;
    	char info[6];
    };
    
    /* The character lists-- space for 6*NCLIST characters */
    struct cblock cfree[NCLIST];
    
    /* List head for unused character blocks. */
    struct cblock *cfreelist;
    
    /*
     * Initialize clist by freeing all character blocks, then count
     * number of character devices. (Once-only routine)
     */
    void
    cinit()
    {
    	register struct cblock *cp;
    
    	for (cp=cfree; cp <= &cfree[NCLIST-1]; cp++) {
    		cp->c_next = cfreelist;
    		cfreelist = cp;
    	}
    }

    Очевидно, что оба варианта совпадают для случая, когда массив cfree[NCLIST] выровнен по 8-байтовой границе. По жестокой случайности в актуальном коде bkunix это именно так и поэтому всё работает, но поэтому же любые изменения в размере кода, нарушающие выравнивание массива cfree[NCLIST] - приводят коварным и неуловимым глюкам.
    Последний раз редактировалось Patron; 01.04.2015 в 19:30.

  2. #12

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от xakep_tm1 Посмотреть сообщение
    На ДВК тоже могу портировать эту систему, просто хочется сначала доделать эту, а потом уже её плодить.

    Напишите пожалуйста вашу идею, я проверю её на своей машинке! вы всех заинтриговали!
    Сначала хотелось бы иметь достоверную карту памяти Центрального процессора...
    А идея не нова - прицепить к УКНЦ блок ВМ3А с 2-мя метрами батарейного СОЗУ - вроде как может и нечто более серьезное пойти.
    Блок могу доработать существенно по его карте адресов, главное - что бы многочисленные регистры процессора 1801ВМ3А не пересекались с железкой УКНЦ.
    Весьма существенное требование для блока ВМ3А - свободные адреса 173000-173777, менее серьезное требование - свобода в адресах 160000-167777. Но и эти параметры обсуждаемы.

  3. #13

    Регистрация
    16.02.2015
    Адрес
    г. Ашхабад, Туркменистан
    Сообщений
    17
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, я думаю что там не мало факторов было которые мешали окончить проект. Там требовалось основательно перелопатить код ядра чтобы адаптировать именно под БК. Тем более их много разновидностей конфигураций, а УКНЦ одна.

    MM, Если я вас правильно понимаю, то там достаточно простая карта памяти:
    0-157777 область ОЗУ
    160000-177777 это уже область HALT там обработчики прерываний, пультовый отладчик и регистры

    Вы хотите посадить ВМ3А на шину ЦП? А возможно вообще заменить полностью ЦП ВМ2 на ВМ3А? Если да, то тогда можно будет портировать туда такие системы как Unix V7, BSD и подобные.

  4. #14

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от xakep_tm1 Посмотреть сообщение
    А возможно вообще заменить полностью ЦП ВМ2 на ВМ3А?
    Не получится ) Уже обсуждалось )

    Цитата Сообщение от MM Посмотреть сообщение
    прицепить к УКНЦ блок ВМ3А с 2-мя метрами батарейного СОЗУ
    Почему не пишите свои предложения в теме по расширению УК-НЦ
    (УК-НЦ и платы расширение - как то так тема называется).

    Ох.

    Практическая польза от UNIX только для тех кто этим занят и интересуется.
    Все грамотные пользователи давно уже пришли к тому что для ЭВМ этого класса(уровня),
    как УК-НЦ (в любой модификации) и ДВК(кроме самых старших) - идеальной ОС
    является RT-11. Но любое творчество приветствуется ) Как же иначе? )
    Последний раз редактировалось hobot; 01.04.2015 в 18:29.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  5. #15

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

    По умолчанию

    Учебный WCX-плагин для начинающих разработчиков плагинов: WCX.sample

  6. #16

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от xakep_tm1 Посмотреть сообщение
    MM, Если я вас правильно понимаю, то там достаточно простая карта памяти:
    0-157777 область ОЗУ
    160000-177777 это уже область HALT там обработчики прерываний, пультовый отладчик и регистры

    Вы хотите посадить ВМ3А на шину ЦП? А возможно вообще заменить полностью ЦП ВМ2 на ВМ3А? Если да, то тогда можно будет портировать туда такие системы как Unix V7, BSD и подобные.
    Меня интересуют конкретные адреса регистров, в т.ч. в пультовом режиме главного процессора ( т.е. при сигнале SEL=0v ).
    Приделать к УКНЦ главный процессор 1801ВМ3А не особо сложно, надо только существенно пропатчить софт в ПЗУ и навесить несколько мелких ИС серии КР1533 - это если совсем кратко.
    Однако есть и более простой путь - сменные главные процессоры, например ВМ2-ВМ3. Для реализации такого варианта достаточно обеспечить совместимость по адресам регистров и памяти, в т.ч. пультовой.
    Сменять процессоры можно и переводом их в режим ПДП.
    *
    Главное достоинство УКНЦ именно в наличии регистров 177560 - у др. маленьких машинок такой роскоши нет.

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

  8. #17

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

    По умолчанию

    Цитата Сообщение от xakep_tm1 Посмотреть сообщение
    Там требовалось основательно перелопатить код ядра чтобы адаптировать именно под БК.
    Основательно перелопаченный вариант здесь: bkunix-0.2-beta.zip

    Кстати, там уже исправлен глюк терминального буфера:

    Код:
    #define CROUND 7
    
    /*
     * The character lists-- space for 6*NCLIST characters if lucky,
     * or 6 less otherwise: getc/putc needs the structs to be 8-aligned;
     * cinit() takes care of that.
     */
    struct cblock cfree[NCLIST];
    
    /* List head for unused character blocks. */
    struct cblock *cfreelist;
    
    /*
     * Initialize clist by freeing all character blocks, then count
     * number of character devices. (Once-only routine)
     */
    void
    cinit()
    {
    	register struct cblock *cp;
    
    	cp = (struct cblock*) (((int)cfree + CROUND) & ~CROUND);
    	for (; cp <= &cfree[NCLIST-1]; cp++) {
    		cp->c_next = cfreelist;
    		cfreelist = cp;
    	}
    }


    ---------- Post added at 19:58 ---------- Previous post was at 19:34 ----------

    Запустив там run0011.bat - можно загрузить bkunix в эмуляторе БК-0011М.

    ...
    Последний раз редактировалось Patron; 01.04.2015 в 19:38.

  9. #18

    Регистрация
    16.02.2015
    Адрес
    г. Ашхабад, Туркменистан
    Сообщений
    17
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию UnixComLoader

    Как я и обещал, выкладываю ту же сборку UNIX но для людей не имеющих дисковода или же желающих загрузить систему через стык С2 (com port)
    В ней в место драйвера дисковода, используется как бы драйвер виртуального диска.
    Внесённые изменения сохраняются только в оперативке, после перезапуска программы, система возвращается в первозданный вид.
    Вложения Вложения
    Последний раз редактировалось xakep_tm1; 02.04.2015 в 01:54.

  10. #19

    Регистрация
    16.02.2015
    Адрес
    г. Ашхабад, Туркменистан
    Сообщений
    17
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашёл документацию на MY дисковод, написал под него загрузчик и драйвер, теперь LSX Unix работает на эмуляторе ДВК-2 MY80. Сейчас займусь драйвером для MX дисковода, если кому интересно могу выложить готовые образы

  11. #20

    Регистрация
    16.02.2015
    Адрес
    г. Ашхабад, Туркменистан
    Сообщений
    17
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    LSX оказался всеядный даже на ДВК-2 запустился, правда на эмуляторе.
    Народ у кого есть реальная ДВК-2? Попробуйте, заработает ли система на нём.
    Да и вообще отпишитесть в теме, кто нибудь уже попробовал хотябы на УКНЦ поставить? Какие результаты?

    образ с инструкцией прилагается!
    Вложения Вложения
    • Тип файла: rar dvk.rar (97.9 Кб, Просмотров: 231)

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 465
    Последнее: 03.01.2020, 07:15
  2. Linux/Unix Emuls
    от mungo в разделе Эмуляторы
    Ответов: 44
    Последнее: 11.06.2012, 19:45
  3. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27
  4. эмуль под linux/unix, альфа-версия, тестируем!!!
    от boo_boo в разделе Эмуляторы
    Ответов: 33
    Последнее: 25.01.2006, 17:35

Ваши права

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