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

User Tag List

Страница 8 из 18 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 173

Тема: Компьютер "Агат-7": Реализация на ПЛИС (DE1)

  1. #71

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну ладно. Будем значит делать "полный фарш" По крайней мере сократить всегда можно будет и развести версию "лайт". А не подскажете номиналы у звукового выхода у оригинала? Хочу попробовать вывести звук по такой же схеме. Я прикинул, что байпас на 47р, переменник на 1к, а перед транзистором 10n и 10к. Интересно проверить.
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  2. #72

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Voldemar0:

    Привет!

    У нас тут вылезла одна проблемка типа вопрос: в перерытой куче документов по 6502 ничего не говорится о состоянии слова флагов после сброса. Но в некоторых местах (очень редких) упоминается, что, например, флаг запрещения прерываний I после сброса всегда поднят.

    Как с этим обстоит дело в моделях проца, предлагаемых для ПЛИС ?

    При разборе очередной коллекции была встречена группа программ, которые к этому вопросу оказались чувствительны. Что, конечно, неправильно, но факт.

  3. #73

    Регистрация
    30.08.2005
    Адрес
    Питер
    Сообщений
    1,222
    Спасибо Благодарностей отдано 
    89
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    44 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, флаг I после сброса всегда поднят, а десятичный режим отключен.
    Последний раз редактировалось Sergei Frolov; 16.12.2011 в 10:42.
    Собираю в коллекцию советские калькуляторы и компьютеры.
    Мой сайт: http://www.leningrad.su/museum/

  4. #74

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Увы (

    Проверил на реале:

    Набираем:
    7000:A9 00 BA 86 F0 48 28 4C
    7008:07 70 08 D8 A2 00 88 D0
    7010:FD CA D0 FA A6 F0 CA 9A
    7018:68 A2 07 0A 48 A9 B0 69
    7020:00 20 29 70 68 CA 10 F3
    7028:60 6C 36 00


    F800<F800.FFFFM
    FFFC:A 70

    --

    для семёрки: C220:0
    [ЭмПЗУ должен быть во втором слоте]

    для девятки: C082:2

    --

    7000G
    <упр-сбр>

    смотрим ответ (00000000)

    --

    7001:FF
    7000G
    <упр-сбр>

    смотрим ответ (11111111)

    --

    7001:55
    7000G
    <упр-сбр>

    смотрим ответ (01010101)

    --

    7001:AA
    7000G
    <упр-сбр>

    смотрим ответ (10101010)

    ====

    Протестированы um6502 [9], что-то с эмблемкой Rockwell [7] и scl 6502 [9].

    Resume: похоже, проц вообще не меняет слова состояния при сбросе. Возможно, что-то задаётся при включении питания, но никакого теоретического подтверждения этому пока не найдено.

    ====

    Проверка кода:

    Код:
    *7000L
    
    7000-  A9 00       LDA  #$00
    7002-  BA          TSX
    7003-  86 F0       STX  $F0
    7005-  48          PHA
    7006-  28          PLP
    7007-  4C 07 70    JMP  $7007
    700A-  08          PHP
    700B-  D8          CLD      
    700C-  A2 00       LDX  #$00
    700E-  88          DEY
    700F-  D0 FD       BNE  $700E
    7011-  CA          DEX
    7012-  D0 FA       BNE  $700E
    7014-  A6 F0       LDX  $F0
    7016-  CA          DEX
    7017-  9A          TXS
    7018-  68          PLA
    7019-  A2 07       LDX  #$07
    701B-  0A          ASL
    701C-  48          PHA
    701D-  A9 B0       LDA  #$B0
    701F-  69 00       ADC  #$00
    7021-  20 29 70    JSR  $7029
    7024-  68          PLA
    7025-  CA          DEX
    7026-  10 F3       BPL  $701B
    7028-  60          RTS
    7029-  6C 36 00    JMP  ($0036)
    Код несколько усложнён из-за того, что комбинация УПР-СБР не имеет защиты от "дребезга" и, таким образом, программе нужно отличить первый RESET (когда слово флагов жестко задано), от последующих (когда повторные RESET прерывают проц в менее определённых местах).

    P.S. Флаг D сбрасывается только у 65c02 - в его описании на это сделан акцент, причем поведение 6502 (флаг не меняется) признан ошибкой.
    Последний раз редактировалось GARNIZON; 18.12.2011 в 16:18.

  5. #75

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    После небольшого перерыва продолжаю делать Агат. За это время собрал схемку звукового вывода. Пришлось поэкспериментировать и третий вариант заработал вполне удовлетворительно и с достаточной громкостью. Вместо дарлингтона, как было в варианте Apple, применил MOSFET. Чуть позже поиграюсь с частотой прерываний, чтобы добиться идентичности звучания в программах, которые используют его для вывода звуков.
    Вывод на экран в программах использующих совмещение режимов неудовлетворительный. Треть экрана мерцает белым, верхняя треть просто неприятно мерцает. Частота прерывания привязана к частоте развертки (60 Гц). Игрался и с фазой, и со скважностью (привязывал к верт. синхронизации) - приемлемого результата не добился. Осталось попробовать выставить 50Гц... Вообще у меня подозрение, что на LCD мониторе немерцающую картинку получить не получится. Видимо придется делать S-Video выход для дальнейших экспериментов в этом направлении. Планирую использовать AD725 для этой цели. Она конечно дороговата, но схема проста и надежна и позволит сделать еще и композитный выход заодно. Можно еще сделать режим 800х600х50Гц, но картинка не будет на весь экран и из-за этого опять может быть рассинхронизация. Вообще, каков алгоритм переключения разрешений у таких программ?
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  6. #76

    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    возможно то что видите под мерцанием - просто режим интерлейс. Большинство современных телеков и моников работают в прогрессивном режиме. то есть выводят кадр целиком а не в виде полукадров с четными и нечетными строками. побороть может только дисплей с автоматическим распознаванием и переключением в нужный режим или скандаблер с видео буффером.
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

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

  8. #77

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    применил MOSFET
    Динамик не спали )


    Цитата Сообщение от Santechnik Посмотреть сообщение
    попробовать выставить 50Гц... Вообще у меня подозрение, что на LCD мониторе немерцающую картинку получить не получится.
    Или картинка или музыка...


    Цитата Сообщение от Santechnik Посмотреть сообщение
    Планирую использовать AD725
    Что она умеет ? Сколько стоит ?


    Цитата Сообщение от Santechnik Посмотреть сообщение
    Вообще, каков алгоритм переключения разрешений у таких программ?
    Совершенно бесхитростный: счётчики физических строк и столбцов в агате работают непрерывно. И синхронизация (в семёрке, во всяком случае) идёт от них, тоже непрерывно. А обработчик прерываний просто переключает режимы отображения видео: по NMI (50 Гц) - один режим, а по IRQ (500 Гц) - другой, но не на каждое IRQ, а на какое-то по счёту после NMI (таким образом, счётчик определяет примерную высоту (номер строки) смены режимов. Естесно, IRQ по счёту не больше 10-го, потому что на 10-й IRQ снова пройдет NMI - т.е. начнётся новый кадр.

    Можно и более сложную логику переключения придумать, но никому не надо было, вроде бы.

    Поскольку синхро идёт без прерываний, любой моник, даже LCD, будет уверен что это просто такой видеосигнал. И будет его отображать. А контроллер дисплея, после некоторой части кадра, начнёт просто по другому формировать RGB: это и называется "совмещение".

    Интерлейс в агате не использовался. Нафиг он там нужен ?

    Небольшое ограничение на выбор IRQ: чтобы оно не попадало близко к середине строки, особенно если строка не чёрная: контроллер может сменить режим и в середине строки, но выглядеть это будет несколько коряво (не знаю почему, но наблюдал такое).

    Смена режима может затрагивать любой аспект работы контроллера: как адреса видеопамяти так и собственно режим отображения.

  9. #78

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GARNIZON Посмотреть сообщение
    Динамик не спали )
    "Усё под контролем, шеф"

    AD725 стоит от 4$ из Китая на ebay (но я бы не стал это там покупать) до 10$ в digikey (около 30$ доставка по миру, но имеет смысл если много всего заказывается - на круг выходит дешевле) или 16$ здесь у меня под боком с бесплатной доставкой. Умеет,имея на входе RGB и синхру, выдавать на выход S-Video И композит в PAL или NTSC. Обвязка всего несколько резюков и кондеев.

    Цитата Сообщение от GARNIZON Посмотреть сообщение
    Совершенно бесхитростный: счётчики физических строк и столбцов в агате работают непрерывно. И синхронизация (в семёрке, во всяком случае) идёт от них, тоже непрерывно. А обработчик прерываний просто переключает режимы отображения видео: по NMI (50 Гц) - один режим, а по IRQ (500 Гц) - другой, но не на каждое IRQ, а на какое-то по счёту после NMI (таким образом, счётчик определяет примерную высоту (номер строки) смены режимов. Естесно, IRQ по счёту не больше 10-го, потому что на 10-й IRQ снова пройдет NMI - т.е. начнётся новый кадр.
    Вот ведь! А я не думал, что IRQ используется. Я думал, что он только для звука. Он там что-то 470Гц или около того у меня. Попробую сделать 600Гц. Спасибо! А вообще можно будет переключатель повесить 50/500 <-> 60/600 - вряд ли и навороченная музыка, и совмещенные режимы понадобятся одновременно.

    И еще вопрос по 840к дисководу. Вернее по формату nib. Там так же как и в 140к порядок записи - последовательно дорожки от 0 до сколько-их-там? А как со второй стороной быть? Она во второй половине файла лежит?
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  10. #79

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чтобы музыка использовала IRQ - не помню. Хотя может и бывает иногда. Но похрюкивающая только. Приличная музыка так не делается - просто частота маловата.

    840: NIB - он считается сейчас неподдерживаемым. AIM рулит.

    Дорожки (track) везде подряд, от 0 до 159-й. Сторона - это младший бит номера дорожки. Цилиндр (т.е. положение физической подвески головок) - соответственно - остальные биты. Это было определено ещё в ранних версиях драйверов диска (кроме ONIX, у него вообще что-то вроде LBA) и в таком виде дожило до файлов-образов.

  11. #80

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал поподбирать частоту и сдвиг IRQ. Добился много разных эффектов, но идеальной работы не получается. Удавалось избавиться от мерцания, но всегда белая полоса в середине экрана или без нее, но верх экрана черный (в программе L1). Чтобы мне тупо дальше не подбирать, не подскажете пожалуйста на каких по счету видимых линиях происходит "щелчок" IRQ? Сэкономим время и приступим к дисководу 840к
    И заодно вопрос по дисководу - в описаниях сказано, что он сигнал синхронизации выдает при прохождении некой точки на дорожке. Как этот сигнал записан в формате AIM? Где лучше всего описана работа этого дисковода и контроллера?
    Кстати, подумываю переделать "дисковод" с ATMega-64 на Cortex-M3 (STM32L). Причина - больше ног, выше скорость (32Мгц против 20Мгц не считая большей скорости исполнения инструкций), вдвое больше памяти (128к и 16к), куча таймеров и, самое главное, DMA. Боюсь, что не потянет ATMega 840к с нужной скоростью. По деньгам на пару долларов чип дороже, но так как он 3.3В, то будет экономия 3$ на микросхемах преобразования 5В <-> 3.3В. Выйдет как минимум не дороже.
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

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

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

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

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

Похожие темы

  1. Компьютер "Агат-7"
    от Exany_Babay в разделе Агат
    Ответов: 19
    Последнее: 08.06.2016, 22:37
  2. Компьютер "Агат-9"
    от AlexBel в разделе Агат
    Ответов: 10
    Последнее: 20.04.2016, 10:38
  3. Ответов: 71
    Последнее: 31.07.2014, 19:42
  4. Продам компьютер "Агат-7"
    от riogen в разделе Барахолка (архив)
    Ответов: 12
    Последнее: 05.07.2011, 22:04
  5. Куплю компьютер "Агат"
    от ed4mk в разделе Барахолка (архив)
    Ответов: 30
    Последнее: 10.05.2009, 18:18

Ваши права

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