User Tag List

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

Тема: Вопрос по ПЛМке ATM-Turbo 2

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    04.02.2008
    Адрес
    Кемерово
    Сообщений
    1,591
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    10
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так, займемся вертикальными сигналами...
    Код:
    ; кадровая синхронизация
    VS CS = true
    VS = v3 v4 v5 ~vv v8 rg0
    VS = v2 ~v3 v4 v5 ~vv v8 ~rg0
    VS = ~v2 ~v3 ~vv ~v4 ~v5 ~v8
    
    ; гасящий импульс
    BL CS = true
    ; по строкам - рассмотрены выше
    BL = ~h4 ~h5 h6 rg0
    BL = ~b3 ~b2 h4 ~h5 h6 rg0
    BL = b3 ~h4 ~h5 h6 ~rg0
    BL = ~b3 h4 ~h5 h6 ~rg0
    BL = b3 ~b2 h4 ~h5 h6 ~rg0
    ; по кадрам
    BL = ~v3 ~vv v4 v5 v8
    BL = ~vv ~v4 ~v5 ~v8
    
    ; бордюр
    HE CS = true
    ; вертикальные рамки - рассмотрены выше
    HE = h4 h5 ~h6 rg0
    HE = ~h5 h6
    ; горизонтальные рамки
    HE = ~vv v8
    HE = rg0 ~vv
    HE = ~rg0 ~vv ~v5 ~v8
    HE = ~rg0 ~vv ~v4 v5 ~v8
    HE = ~rg0 ~v3 ~vv v4 v5 ~v8
    Тут входных сигналов у нас больше - V2, V3, V4, V5, VV=(V6|V7)=~((~V6)&(~V7)), V8, и управляющий RG0 (напомню, 1 - экран ZX, 0 - экраны ATM). Но и структура у них проще - рассмотрев работу счётчиков, можно убедиться, что это простые меандры. Длительность одного полупериода:
    V0 - 1 строка
    V2 - 4 строки
    V3 - 8 строк (одно знакоместо)
    V4 - 2 знакоместа
    V5 - 4 знакоместа
    V6 - 8 знакомест (треть экрана)
    V7 - 16 знакомест
    V8 - 256 строк
    Раз это у нас простые меандры, набор сигналов со счётчиков можно записать как двоичное число - номер строки. Перепишем логические условия, обозначив прямой сигнал как 1, а инвертированный как 0. Неиспользуемые сигналы пометим крестиком. В первую очередь нас интересует сигнал VS - сформированный от него сигнал INT сбрасывает счётчики, соответственно, он и определяет число строк в системе.
    Код:
    VS:	100111XXX RG0=1	;312 строк
    	1001101XX RG0=0	;316 308 строк
    	0000000XX ;длина импульса 4 строки
    Как видно, в разных видеорежимах число строк разное - в расширенных экранах чуть больше. Не знаю, зачем это сделали, наверное для симметрии положения экранной области на экране. В принципе, для общности можно сделать одинаковое, тем более что нам нужно с запасом пентагоновские 320 строк. У Pentagon INT формируется по фронту кадрового синхроимпульса, а не по спаду, и имеет согласно вышеприведенной таблице длину 16 строк. Дальше я для переделки эти логические условия упростил путём переделки схемы компа: INT оставил как было, а сброс счётчиков сделал по спаду синхроимпульса. (Или я синхроимпульс переносил? Не помню. Надо провода на плате изучать, короче.) Вычитаем, получаем 320-16=304 строки и итоговое условие имеет вид 10011XXXX и все три строчки для вертикальной синхронизации заменяются условием
    Код:
    VS = v4 v5 ~vv v8
    , которое я и реализовал в хард-логике.
    Дальше бордюр.
    Код:
    HE:	100XXXXXX		строки 256-до конца
    	X00XXXXXX RG0=1		строки 0-63
    	0000XXXXX \		строки 0-31
    	00010XXXX  RG0=0	строки 32-48
    	000110XXX /		строки 48-55
    Получается, что различия в двух режимах - в том, что в расширенном режиме экран расширяется на одно знакоместо (8 строк) вверх, итого получаем 25 текстовых строк.
    Ну и гашение.
    Код:
    BL:	100110XXX	;начинается с 304 строки до синхроимпульса
    	00000XXXX	;длится 16 строк после СИ
    Сделал его по-топорному: полагаем, что строчное гашение равняется строчному синхроимпульсу.

    Ну вот вроде и всё почти... Осталось описать, как я переносил сброс счетчиков с переднего фронта синхроимпульса на задний. Это мне уже надо плату из компа вынимать и там провода смотреть. Сигнал Z я не реализовывал - слишком сложно, поэтому оригинальные прошивки с моей заменой больше не работают!

    Вот сейчас, набирая этот пост, я понял, что когда-то немного перемудрил со схемой и все можно было сделать еще проще и не вмешиваясь в плату. Господа, напомните: у ATM прерывание по фронту синхроимпульса или по спаду?
    Последний раз редактировалось KALDYH; 08.11.2016 в 19:51.
    Отошёл от дел.

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

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

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

Похожие темы

  1. Turbo Sound
    от CHRV в разделе Звук
    Ответов: 388
    Последнее: 05.09.2023, 22:07
  2. turbo ружим
    от Sayman в разделе Несортированное железо
    Ответов: 10
    Последнее: 20.05.2008, 05:37
  3. GRM и Turbo ВГ
    от roxx в разделе Несортированное железо
    Ответов: 3
    Последнее: 13.08.2006, 22:26
  4. 128 vs 256 turbo
    от FoX FluFFy^s в разделе Несортированное железо
    Ответов: 45
    Последнее: 16.02.2006, 13:06

Ваши права

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