User Tag List

Страница 6 из 23 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 229

Тема: Написание программ для БК0010

  1. #51

    Регистрация
    18.02.2016
    Адрес
    г. Москва
    Сообщений
    632
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    43 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    в архитектуре PDP-11 нигде не постулируется, что в старших 8 кб адресного пространства располагается страница в/в
    Постулируется
    177560-177566 ОБЯЗАТЕЛЬНО
    Карта распределения памяти и диспетчер памяти определяются стандартом

    Кстати DECPro Digital не обзывал PDP-11 совместимым компьютером

    Так что наша википедия врет на странице pdp-11 про
    Электроника 85
    Электроника БК-0010 и БК-0011М
    Электроника МК-85
    Электроника МК-90

    Союз-Неон ПК-11/16 не совместимый но программно-аппаратно эмулирует pdp-11 с 16-ти разрядным адресом

    про немигу и мс0515 не знаю

  2. #52

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svinka Посмотреть сообщение
    Постулируется
    Ссылку на документ

  3. #53

    Регистрация
    18.02.2016
    Адрес
    г. Москва
    Сообщений
    632
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    43 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Ссылку на документ

    PDP-11 Architecture Handbook

    http://home.kpn.nl/a.dikker1/museum/rspdparch.html
    Последний раз редактировалось svinka; 05.09.2019 в 15:52.

  4. #54

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за ответы!
    Я смотрел схему адресного пространства из книги Зальцмана, и по ней у меня сложилось впечатление, что с адреса 160000 может быть и ПЗУ, и регистры внешних устройств: http://gid.pdp-11.ru/books/00015-01....html#_ref_p111
    manwe.pdp-11.ru

  5. #55

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svinka Посмотреть сообщение
    http://home.kpn.nl/a.dikker1/museum/rspdparch.html
    За попытку отмазки - прокатит, за ссылку на документ - нет

    Цитата Сообщение от svinka Посмотреть сообщение
    Кстати DECPro Digital не обзывал PDP-11 совместимым компьютером
    Из PDP-11 Architecture Handbook, страница 17
    The professional 300 series are full-fledged of the PDP-11 family. The microprocessor chip used in the Professional 325 and 350 is the F-11, the same chip used in the LSI-11/23 and the PDP-11/23 PLUS. ... As a PDP-11 family member, ...

    страница 257
    However, certain applications place memory, or devices that act like memory, on the UNIBUS. Examples ... :
    - Shared (multi-ported) UNIBUS memory
    - Certain graphics devices (bit-mapped graphics ...)
    - Bus windows (DA11-F)
    In these cases, address presented on the UNIBUS may actually be intended for the memory on the UNIBUS. It would be undesirable for the UNIBUS Map to pick up such an address and translate it to a main memory address...

    страница E-7

    Devices in the I/O page ignore the nine high order address bits BDAL <21:13> and instead decode BBS7 L along with the thirteen low-order address bits

    И наконец (я, конечно, мог пропустить - и тогда - страницу в студию, но) - ни слова про 177560-177566

    Цитата Сообщение от Manwe Посмотреть сообщение
    что с адреса 160000 может быть и ПЗУ, и регистры внешних устройств
    Может и то и другое. Например, по адресам 173000-173776 и 165000-165776 часто можно найти ПЗУ тестирования и загрузчиков

  6. #56

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проба пера для PDP-11 - распаковщик LZSA1. Наверняка можно сократить, но, надеюсь, и этот вариант приемлемый.

    Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    nzeemin(20.10.2019), Oleg N. Cher(04.12.2021), svofski(21.10.2019)

  7. #57

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,048
    Спасибо Благодарностей отдано 
    1,141
    Спасибо Благодарностей получено 
    1,459
    Поблагодарили
    520 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, спасибо!
    А есть у вас запаковщик на C/C++ для этого алгоритма? // а, сорри, увидел - https://github.com/emmanuel-marty/lzsa

    Тут в параллельной ветке по УКНЦ иногда поднимается вопрос упаковки/распаковки.
    На данный момент мы имеем три алгоритма - RLE, LZSS, LZ4 - все три с упаковщиком на C/C++ и распаковщиком на PDP-11.
    См. тут - https://github.com/nzeemin/ukncbtl-u.../Sav2Cartridge

    По вашему коду могу только сказать что вот такую конструкцию
    Код:
    mov src, dst
    bic #177400, dst
    можно сократить до
    Код:
    clr dst
    bisb src, dst
    Последний раз редактировалось nzeemin; 20.10.2019 в 13:57.

    Эти 2 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:

    ivagor(20.10.2019), Oleg N. Cher(04.12.2021)

  8. #58

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По поводу сравнения с sav2cartridge. RLE и LZ4 точно уступают LZSA1 по степени сжатия, LZ4 потенциально еще чуть уступает и по скорости распаковки, но насчет своего конкретного распаковщика по этому вопросу пока не уверен. LZSS скорее всего сжимает сильнее, но тут надо проверять, насколько именно.
    За подсказку спасибо, еще подумаю и заменю на доработанный вариант.

    - - - Добавлено - - -

    Еще раз взглянул и понял, что bic #177400 в данном случае совсем не нужен, но на будущее вариант clr\ bisb пригодится.
    Последний раз редактировалось ivagor; 20.10.2019 в 15:28.

    Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    nzeemin(20.10.2019), Oleg N. Cher(04.12.2021)

  9. #59

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    .NLIST
    .INCLUDE /DSMAC.MAC/
    .INCLUDE /MYMAC.MAC/
    .LIST
    
    MODULE NAME=<TEST>, REL=<SH>, VER=<01>, LIBR=<LZSA1UnPack>, COMM=<LZSA1 UnPacker>
    
      EXPORT QUALIFIED ULZSA1
    
      PROCEDURE ULZSA1
      BEGIN
        LET Counter+1 :B= #0
    
        LOOP
    
          LET R0 := #0
          LET R0 :B= R0 SET.BY (R1)+
    
          LET R5 := R0
          LET R0 := R0 OFF.BY #^C<160>
    
          IF RESULT IS NE THEN	; if literal
    
            LET R0 := R0 R.SHIFT 4
    
            IF R0 EQ #7 THEN
              CALL RIDLNG
              ON.ERROR LEAVE LOOP
            END
    
            LET Counter+0 :B= R0
    
            THRU R3 := Counter
              LET (R2)+ :B= (R1)+
            END
    
          END
    
          LET Offset+0 :B= (R1)+
          LET Offset+1 :B= #377
    
          LET R0 :B= R5
    
          IF RESULT IS MI THEN	; LongOffset
            LET Offset+1 :B= (R1)+
          END
        
          LET R0 := R0 OFF.BY #^C<17> + #3
    
          IF R0 EQ #18. THEN
            CALL RIDLNG
            ON.ERROR LEAVE LOOP
          END
    
          LET Counter+0 :B= R0
    
          LET R4 := R1
    
          LET R1 := Offset + R2
    
          THRU R3 := Counter
            LET (R2)+ :B= (R1)+
          END
    
          LET R1 := R4
    
        END
    
        RETURN
    
      END ULZSA1
    
      PROCEDURE RIDLNG
      BEGIN
    
        CLR R4
        LET R4 :B= R4 SET.BY (R1)+
    
        LET R0 := R0 + R4
    
        IF RESULT IS CS THEN
    
          LET Counter+1 :B= R0
          LET R0 :B= (R1)+
    
          IFB Counter+1 EQ #0 THEN
    
            LET Counter+0 :B= R0
            LET Counter+1 :B= (R1)+
    
            LET CARRY := OFF
    
            IFB Counter+1 EQ #0 THEN
              LET CARRY := ON
            END
    
          END
        END
    
        RETURN
      END RIDLNG
    				
    Counter:	.BLKW 0
    Offset:		.BLKW 0
    
    END TEST
    .END
    Возможно ошибся с выходом из RIDLNG... Но пока на одно слово меньше

    - - - Добавлено - - -

    Пардон, забыл одну команду, что бы сделать полноценный библиотечный модуль
    Последний раз редактировалось Hunta; 21.10.2019 в 12:20.

  10. #60

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Но пока на одно слово меньше
    По сравнению с вариантом уже без bic #177400,r0? Т.е. получилось 152 байта?

Страница 6 из 23 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. написание простейшей демки для тренировки
    от AAA в разделе Для начинающих
    Ответов: 121
    Последнее: 22.05.2012, 18:06
  2. написание музыки на Dendy.
    от s1moncpu в разделе Nintendo
    Ответов: 27
    Последнее: 25.05.2007, 05:34
  3. написание музыки на Dendy.
    от s1moncpu в разделе Музыка
    Ответов: 2
    Последнее: 16.05.2007, 10:59
  4. Тестирование программ
    от Vitamin в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2005, 21:46

Ваши права

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