Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 29

Тема: подскажите насчет slow memory в родных машинах

  1. #1
    Activist Аватар для r0m
    Регистрация
    30.05.2009
    Адрес
    Москва
    Сообщений
    224
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию подскажите насчет slow memory в родных машинах

    Хотел multicolor 8x2 на компо выкатить, под pentagon бысто вьювер написал, а вот со spectrum128 (смотрю на EmuZWin 2.7) проблемы начались.

    Вектор прерываний в #BE00 - 256 байт.
    сам код активный раскранчиваю с #8000 по #BC00.

    когда я пропушиваю стеком 2 строчки на втором экране, то показываю первый. когда я пропушиваю стеком 2 строчки на первом экране, то показываю второй.

    я так понимаю, что на 1 и 2 экране это занимает разное количество тактов.
    А вот на сколько именно больше тактов занимает эта процедура в медленной памяти ?

    я использую вот такой цикл на 2 линии:

    LD SP,NN-----10 t
    LD HL,NN-----10 t x16=160
    PUSH HL------11 t x16=176

    ADD HL,BC----11 t x4=044

    INC HL------06 t
    NOP--------04 t
    INC HL------06 t
    NOP--------04 t
    INC HL------06 t

    XOR E------04 t
    OUT (C),A--12 t


    итого-------432 tacts (строка в spectrum128 должна быть 216)


    и еще, что там с нечетнотактовыми коммандами ?
    Последний раз редактировалось r0m; 15.04.2010 в 04:50.

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

  3. #2
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я так понимаю, что на 1 и 2 экране это занимает разное количество тактов.
    как бывший владелец двухполевой машины докладываю, что оба экрана тормозные (если я правильно понял вопрос)

    PUSH HL------11
    вот тут будет засада.
    5 тактов уйдёт на чтение комманды и её декодирование (из быстрой памяти)
    6* тактов уйдёт на запись (так как запись идёт в медленную память, то может уйти больше тактов). причём если в это время отрисовывается бордюр, то торможения не будет (в этом я не уверен на все 100, надо схему байта искать)
    Последний раз редактировалось Sinus; 15.04.2010 в 04:23.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  4. #3
    Activist Аватар для r0m
    Регистрация
    30.05.2009
    Адрес
    Москва
    Сообщений
    224
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    sinus, я к сожалению на пейпере все время, речь то о картинке.
    И кстати, компо то на кот. я хочу успеть, у вас =)

    Так как узнать то сколько тактов занимает в медленной памяти тот же push например.
    И вообще, существуют где-нибудь данные о весе в тактах комманд z80 в быстрой/в медленной памяти ?

    ---------- Post added at 05:20 ---------- Previous post was at 05:20 ----------

    я тут попробовал раскранчить код из расчета того, что push = 12 tacts

    LD SP,NN--------10 t

    LD HL,NN--------10 t x16=160
    PUSH HL---------12 t x16=192

    LD HL,(#8000)---16 t x03=048

    LD A,A----------06 t
    XOR E-----------04 t
    OUT (C),A-------12 t


    итого-------432 tacts

    но все равно все криво отображается =(
    Последний раз редактировалось r0m; 15.04.2010 в 07:03.

  5. #4
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а попробуй просто подогнать n-ным количеством лишних нопов. если есть время, сделай смену цвета бордюра, будет видно, в какую сторону крутить задержку (т.к. если все синхронно, излом на бордюре должен быть по верт. линии).

  6. #5
    Activist Аватар для r0m
    Регистрация
    30.05.2009
    Адрес
    Москва
    Сообщений
    224
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    psb, да оно не стабильно - дрожит и в четное прерывание отрисовывается отлично от нечетного.
    И потом 216 tacts per line - это ж точно !!!
    Неужели это такая проблема, узнать растактовку в медленной памяти ?!

  7. #6
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну у тебя ведь сам innerloop отрисовки всегда одинаковое кол-во тактов занимает? если считать без заморочек? когда спек тормозит, он точно так же тормозит всегда одинаково, пока рисует папер. пиксельная точность тебе не нужна, поэтому думаю можно подогнать "на глаз", не высчитывая.

    Цитата Сообщение от r0m Посмотреть сообщение
    дрожит
    сложно представить, как это... я бы все равно порекомендовал юзать бордюр, хотя бы первое время (пусть вместо вывода части картинки).

    Цитата Сообщение от r0m Посмотреть сообщение
    и в четное прерывание отрисовывается отлично от нечетного.
    так ты их по отдельности отстрой

    Цитата Сообщение от r0m Посмотреть сообщение
    Неужели это такая проблема, узнать растактовку в медленной памяти ?!
    может и не проблема, но... все забыто... наверняка если копать где-нить на WOSе, то можно все найти.

    ---------- Post added at 12:55 ---------- Previous post was at 12:53 ----------

    кстати, LD A,A = 4 такта

  8. #7
    Activist Аватар для pROF^4D
    Регистрация
    21.01.2005
    Адрес
    Пермь
    Сообщений
    498
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rOm, насчет HT не заморачивайся, там точно Pentagon будет compo машиной. А рабочий вьювер под фирменные компы есть у Pulsar'a, посмотри картинку Risk'a c последнего Forever'a, к примеру. Думаю он сам здесь отпишется, что да как.

  9. #8
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от r0m Посмотреть сообщение
    Неужели это такая проблема, узнать растактовку в медленной памяти ?!
    вот тут описанно: http://scratchpad.wikia.com/wiki/Contended_memory

    Но чтобы знать когда же сработал твой push в экран относительно положения луча нужно обязательно поменять цвет бордюра перед push-ем и потом обратно после push-а тогда будет четко видна черточка на бордюре (если черточка будет дрожать значит прога каждый раз попадает на разные циклы задержки и надо подгонять дальше).

  10. #9
    Master
    Регистрация
    18.12.2005
    Адрес
    Чайковский
    Сообщений
    754
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от r0m Посмотреть сообщение
    Хотел multicolor 8x2 на компо выкатить, под pentagon бысто вьювер написал, а вот со spectrum128 (смотрю на EmuZWin 2.7) проблемы начались.
    привет.

    а чем тебя не устроил вьювер для пентагона от ТмК (входит в состав multiArtist)?

    вьювер 8*2 multicolor для фирменных машин есть уже более полугода. есть 2 варианта: обычный режим показа и черездвухстрочник.
    пример последнего можешь скачать здесь.



    автор pulsar/simbols. сегодня скажу ему, чтобы отписался в теме.
    Пользователь удалён с форума.

  11. #10
    Master Аватар для pulsar
    Регистрация
    26.01.2005
    Адрес
    чайковский
    Сообщений
    679
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    доберусь домой отпишу.

    вот что откопал, пока была пара минут.
    Последний раз редактировалось pulsar; 15.04.2010 в 15:23.
    http://speccy-live.untergrund.net fresh speccy news
    profi512+ym+5,25"+3,5"

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. MEMORY PAGING IN LOW 16kB
    от VELESOFT в разделе Память
    Ответов: 7
    Последнее: 04.04.2015, 13:36
  2. EXTENDED MEMORY DETECTION
    от VELESOFT в разделе Память
    Ответов: 1
    Последнее: 04.04.2010, 22:50
  3. ZX PROFI - memory paging
    от VELESOFT в разделе Profi
    Ответов: 3
    Последнее: 06.11.2009, 20:08
  4. BASIC + Paged memory
    от valker в разделе Программирование
    Ответов: 5
    Последнее: 15.05.2007, 14:17

Ваши права

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