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

User Tag List

Страница 18 из 21 ПерваяПервая ... 1415161718192021 ПоследняяПоследняя
Показано с 171 по 180 из 202

Тема: SQRUM 1M

  1. #171
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    493
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Пока что нет, не совсем понятно как её разгонять, т.е. есть цикл Z8, 2xH0, в нем 4 pixclk, получается, нужно /RAS и /CAS подать за 1 pixclk с частотой 14МГц и потом пользоваться памятью еще 3 pixclk?
    Для турбирования процессора всё равно понадобится.

    Эксель есть? (удалить .zip) Разрисовал времянки (на циклы М2 и М3 внимания не обращайте - там сейчас ахинея полная, строка 30 сейчас тоже неинтересна, актуально до 52 строки, ниже мои хотелки ) доступа к памяти, магентой обозначил свободные циклы, оптимистические разумеется, ибо цикл Z80 далеко не всегда такой, как нарисовано в начале даташита. Так вот - у меня получается 3 свободных цикла памяти во время М1 при клоке Z80/память 3,5/7 МГц. При турбировании до 7/14 получим дополнительно ещё 2 цикла памяти. Да, диспетчер памяти усложнится, но какие возможности открываются...

    Зачем это?
    ИМХО, какой смысл делать то, что уже сделано? Смысл имеет то, чего ещё нет, и, между прочим, очень странно, что ещё нет: это лежит на поверхности - бери и пользуйся.

    Кстати, добавил Вашу растактовку. Моя теория сошлась с Вашей практикой.
    Вложения Вложения

  2. #172
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пока что я к этому морально не готов, хочу сначала всю переферию навесить, уже клаву и AY эмуль прицепил обе на Atmega8

    Еще с проблемой столкнулся, запустил демку, которая выводит звук по инту и читает регистры AY, возникает фигня на бордюре...
    Из-за чего это может быть? Плохая схема видеовыхода или /INT что-то с бордюром делает?

    Скрытый текст

    [свернуть]


    Еще на Y что-то фонит... но это думаю можно конденсаторами побороть или правильной разводкой платы или заменой альтеры, может эта основная тоже глючноватая...

    UPD: написал читалку SD карты по стандарту Z-Controller, ЩИКАРНА работает!!!

    Скрытый текст

    Код:
    ///
    ///
    ///// Z-CONTROLLER MODULE -------------------------------------
    ///// Port #77 - control
    ///// Port #57 - data in/out with auto clock
    reg sd_cs_r = 1;
    reg [7:0] port_57_w;
    reg [7:0] port_57_r;
    reg [3:0] zc_cnt = 8;
    
    wire zc_iorqge = (iorq_n == 0 && m1_n && (a[7:0] == 8'h57 || a[7:0] == 8'h77)); //its O.K. as DOS use port #77 too
    wire port_57_sel = iorq_n == 0 && a[7:0] == 8'h57 && m1_n && (DOS == 0 || (DOS==1 && a[15]==0));
    wire port_57_rd = rd_n == 0 && port_57_sel;
    wire port_57_wr = wr_n == 0 && port_57_sel;
    wire port_77_wr = wr_n == 0 && iorq_n == 0 && m1_n && ((DOS == 0 && a[7:0] == 8'h77) || (DOS == 1 && a[7:0] == 8'h57 && a[15]==1));
    
    
    always @(posedge port_77_wr or negedge res_n)
    	if(!res_n)
    		sd_cs_r <= 1;
    	else
    		sd_cs_r <= dt[1];
    
    always @(negedge clk or negedge res_n)
    	if(!res_n)
    		zc_cnt <= 4'd8;
    	else if(port_57_sel)
    		zc_cnt <= 4'b1110;
    	else if(zc_cnt != 4'd8)
    		zc_cnt <= zc_cnt + 4'd1;
    
    always @(posedge port_57_wr or negedge clk)
    	if(port_57_wr)
    		port_57_w <= dt;
    	else if(!zc_cnt[3])
    		port_57_w <= {port_57_w[6:0],1'b1};
    
    always @(posedge clk)
    	if(!zc_cnt[3])
    		port_57_r <= {port_57_r[6:0],SD_MISO};
    
    assign dt = port_57_rd ? port_57_r : 8'bzzzzzzzz;
    
    assign SD_CS = sd_cs_r;
    assign SD_MOSI = port_57_w[7];
    assign SD_SCK = clk & ~zc_cnt[3];
    
    ///// END Z-CONTROLLER MODULE ---------------------------------
    [свернуть]



    Кстати, решил тут проверить, то что мне советовал omercury
    В коде буфера
    Код:
    // ram buffer -----------
    reg [7:0] wr_buf = 8'bzzzzzzzz;
    
    wire wrbuf =  hcnt[0] & hcnt[1] & pixclk;
    
    assign dt = ramcsn ? 8'bzzzzzzzz : wr_buf;
    
    always @(posedge wrbuf or negedge res_n)
    	if(!res_n)
    		wr_buf <= 8'bzzzzzzzz;
    	else
    		wr_buf <= md;
    Убрал
    wr_buf <= 8'bzzzzzzzz;

    И пошли сплошные ресеты при загрузке игр



    PS: кстати, никто не сталкивался с таким багом?


    Помню когда модернизировал кворум у меня он тоже проскакивал, но уже не помню как поборол.
    Дримтимовский диззи 5, диззи висит и моргает, всё осталное работает, при старте игры он стоит и мерцает, не ходит по нажатию клавиш, но клавиша выхода и паузы работает нормально.
    В месте на скрине он должен начал скакать по экрану, но он не начинает, как будто ему не хватает пинка... :-D
    Попробую сейчас другое ПЗУ зашить, может в нем дело... Не помогло, правда поменял только 48 BASIC

    Запустил вариант "Евгения Копрова" этот работает... что же в дримтимовском не так?
    Последний раз редактировалось EvgenRU; 10.08.2017 в 22:39.

  3. #173
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нормально работал ZC, правда писал медленно, причем работал только когда я отключал минус питания у эмулятора AY.
    Убрал эмулятор, fatall начал писать в RAM диск на порядок быстрее, но после записи на диске ничего нет, то пишет empty, то "No TR-DOS disk"...
    Что-то я уже утомился пытаться это исправить... даже не знаю в чем дело... ПЗУ уже все какие можно варианты перепробовал, порты все попереписал... буферы тоже... ничего не помогает... может ему еще какие-то порты нужны и при AY он что-то там находит?

    UPD: опытным путем выяснилось, что оно записывается, но не по тому адресу, вот у меня в оглавление диска попало содержимое файла, причем вторая его половина... это значит не в ту страницу пишет походу или рам диск кривой... тогда непонятно, почему с эмулятором AY с отключенным питанием работало нормально...

    UPD2: ХА!!! проблема была в /IORQGE!!! )))))) короче, когда дос нужно блокировать только порт FE, FF и те что конфликтуют с досом! Дизик 5 тоже завелся нормально! И даже порт #FF заработал нормально, короче я всё победил )))

    UPD3: блин, этот порт DFFD и AY это просто ядреная смесь, пока что не смог побороть, ну буду пытаться, поэтому отключение земли у эмулятора AY решает проблему кривой записи образа в fatall.....

    UPD4: проблема решилась заменой кварца на эмуляторе на 27МГц с 25-и ))) видимо атмега8 не самая лучшая попалась, с 27 тоже глючила, поставил атмегу48 нормальную и сразу всё стало стабильно!

    PS: кстати, на Z-Controller можно подавать частоту и более 14МГц, тогда фатал будет гораздо быстрее читать, с моим генератором на 155ЛН1 я смог только 16МГц сделать, но наверняка можно и более... если кто проверить - напишите!
    Последний раз редактировалось EvgenRU; 11.05.2017 в 01:26.

  4. #174
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Придумал я тут схему адресации ПЗУ, на удивление очень простую, не знаю додумывался ли кто-то еще до такого, её и буду далее реализовывать.
    Схема такая, имеем 0 банк ПЗУ в него пишется прошивка.
    При активном 0 банке выделяется какой-то порт, например #1FFD или еще какой-то, все его разряды используются для адресации A15-A21 ПЗУ только при активной 0 странице ПЗУ. При переходе в другую страницу данные этого порта сохраняются в регистре и порт отключается.
    Адресация 4 страницы происходит так, что она заменяет нулевую.
    Вроде как всё очень просто и понятно, выбираем любую страницу после 3 в 4-ую и переключаем 4-х страничные сегменты. Или просто подставлять в нулевую страницу любую после 3-ей на выбор.

    UPD: еще столкнулся с проблемой запуска некоторых игр из RAM-диска, видимо TR-DOS придется допиливать, чтобы сохранял состояние портов при смене страниц памяти.

    UPD2: перелопатил TR-DOS 5.04T от профи, вроде некоторые из тех что не шли - пошли, загрузка в рам диск просто чума по скорости! Правда когда я там увидел 256 штук LDI идущих подряд, то был слегка в шоке, переделал на LDIR, стало грузиться еще быстрее ))) Переделал рам диск с D на A для удобства. Но вот DARKMAN наотрез отказывается работать, может он там чего использует не из #3D13, кто его знает....
    Последний раз редактировалось EvgenRU; 15.05.2017 в 16:02.

  5. #175
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Снял небольшое видео работы с RAM-диском, может кому интересно будет...

  6. #176
    Activist
    Регистрация
    01.08.2006
    Адрес
    Волгоград
    Сообщений
    399
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А где цвет? Монитор LCD, значит, через VGA цепляешь, синхра в норме, пропорции в норме. Почему ч/б?
    "... жизнь удалась, если найдётся кто-нибудь, кто заберёт с помойки твои книги и инструменты, когда ты умрёшь". (c) marta_ketro
    Любой компьютер, в котором стоят резисторы, компьютером может называться с натяжкой. (с) Д. Михайлов

  7. #177
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, поделитесь схемкой, плз, как ч/б синхру делали .

  8. #178
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да там обычный тюльпан в монитор воткнут.
    Чб схема обычная, брайт - 3 диода + 3 резистора и цвета с синхрой через резисторы замешаны, потом на транзистор.

    PS: сейчас ТРДОС 5.04T с рамдиском мучаю, уже весь перелопатил почти, нашел столько всяких интересностей в нем )))) например 256 конструкций LDI идущих подряд (переделал на LDIR) или 32 одинаковых блока кода, вот с ними пока что проблема, т.к. они используют все регистры из 2-х наборов, даже хз как туда цикл приделать... но с этим разберусь на досуге...

  9. #179
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Чб схема обычная
    А поделитесь номиналами резисторов, плз. А то что-то никак на своем велосипеде не могу нормально воспроизвести ч/б картинку, то слишком темная, то синхронизация срывается, то еще что-то...

  10. #180
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    493
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    нашел столько всяких интересностей в нем )))) например 256 конструкций LDI идущих подряд (переделал на LDIR)
    Это называется развёрнутый цикл.
    Применяется когда жизненно критично быстродействие, а на размер кода наплевать. Когда идёт битва за каждый такт.
    Например на Ваших любимых АВР сформировать программно энное количество циклов меандра с частотой выше Fosc/8 невозможно, а развёрнутым циклом легко делается Fosc/2.

Страница 18 из 21 ПерваяПервая ... 1415161718192021 ПоследняяПоследняя

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

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

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

Ваши права

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