User Tag List

Показано с 1 по 10 из 1612

Тема: ZX_Multi_Card

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    zx_
    Гость

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Пока можешь не паять, они еще не задействованы.

    Да, для начала умножение.
    Хотел написать тестовую программу, что бы оценить выигрыш, и понял,
    что лучше сделать умножение 16бит*8бит => 24бит.
    Поправлю и попробую написать небольшой тест - стоит ли огород городить

    не продолжали работы по умножителю?

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

  3. #2

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_ Посмотреть сообщение
    не продолжали работы по умножителю?
    А смысл, всё равно никто это не станет использовать.
    Но в текущих прошивках ZXMC2, начиная с версии 2.6 байтовое без знаковое умножение реализовано.

    Этот пользователь поблагодарил caro за это полезное сообщение:


  4. #3

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    А смысл, всё равно никто это не станет использовать.
    Ну без эмуляции данной фичи в унриале то да

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

    как оно использовать
    когда нет возможности проверить работает ли код вообще...

  5. #4

    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,726
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    91 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Ну без эмуляции данной фичи в унриале то да
    И реализация этой фичи только в Спектрумах, оснащеных картой ZXMC2. Не думаю, что таких много.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    как оно использовать
    когда нет возможности проверить работает ли код вообще...
    Владельцы ZXMC2 могли бы написать сравнительный тест, например количество умножений за кадр,
    программным и аппаратным умножителем.

  6. #5

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    И реализация этой фичи только в Спектрумах, оснащеных картой ZXMC2. Не думаю, что таких много.
    я так понимаю zxmc2 по дефолту в фениксе
    а их там штук 6 ревизий по 10+ плат
    ...не уверен что он во всех ревизиях конечно...


    Цитата Сообщение от caro Посмотреть сообщение
    Владельцы ZXMC2 могли бы написать сравнительный тест, например количество умножений за кадр,
    программным и аппаратным умножителем.
    а если я не владелец zxmc2?
    да и некуда мне его вставлять...


    ну а вскорости умножения zxmc2 похвастаться не может
    вот в точности этого умножения да
    тк все умножалки делилики по скорости не уступающие zxmc2
    при этом дают только 8битный результат с пониженной точностью


    так же можно было бы запилить из умножения полу хардварное деление 8b/8b=16b (8бит дробная часть)
    если в аврке есть место под 256 байт таблицу (1/х)*256
    (деление на 1 будет с небольшой ошибкой тк можно занести в таблицу только 255 когда нужно 256)

    просто умножаем делимое на делитель пропущенный через таблицу





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

    а так на тему хардварного умножения
    быстрей всего было бы, в плане передачи данных туда и обратно, реализация оно в виде


    например так
    a = число A
    c = число B
    b = адрес порта для нужной операции \ ну или в с чтоб можно было быстро читать результат при помощи in a,(n)

    out (C),a
    in a,(C)

    out (C),a
    in l,(C)
    inc b
    in h,(C)

    с таким бы умножением\делением
    z80 бы уже не смог тягаться

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

    как щас
    Код:
    	ld bc,$E8EF	;10
    	out (c),e	;12
    	inc b		;4
    	out (c),d	;12
    	inc b		;4
    	in l,(c)	;12
    	inc b		;4
    	in h,(c)	;12
    			;	70t
    как могло бы быть
    Код:
    	ld c,port	;7
    	out (c),a	;12
    	in l,(c)	;12
    	inc c		;4
    	in h,(c)	;12
    			;	47t
    если бы порт выдавал 2 байта по очереди
    Код:
    	ld c,port	;7
    	out (c),a	;12
    	in l,(c)	;12
    	in h,(c)	;12
    			;	43t

    ну и 8 битный результат мог бы получаться так
    Код:
    	ld c,port	;7
    	out (c),a	;12
    	in a,(port)	;11
    			;	30t
    хотя с самой аморальной формой софтварного умножения\деления\и всего чего только захочешь одновременно
    6b ? 8b = 8b
    ld a,(hl) не особо то потягаешься
    Последний раз редактировалось NEO SPECTRUMAN; 19.10.2019 в 08:27.

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

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

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

Ваши права

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