User Tag List

Страница 9 из 9 ПерваяПервая ... 56789
Показано с 81 по 84 из 84

Тема: игровой автомат ZANAC-EX на базе MSX1.5

  1. #81

    Регистрация
    29.01.2019
    Адрес
    г. Владивосток
    Сообщений
    85
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    посмотрел в эмуляторе это валится процедура на адресе #2a14 она как раз отвечает за выезд этого msx banner-а, как она работает для меня мрак... но понял что во время ее выполнения срабатывает rst#38 обработчик прерываний постоянно, возможно у меня в cpld есть какаято мутная проблема с циклом подтверждения прерывания, потому как вродибы до этой процедуры прерываний нету (смотрел по осциллографу) а именно на ней когда выезжает линия толщиной пиксела 2 (https://flic.kr/p/2hHrZcd) происходит зацикливание и эта линия продолжает выезжать постоянно...
    Это прерывание строчной развертки, проц ловит строку, с которой начинать рисовать новый кадр.
    Yamaha YIS-503-IIIR КУВТ2 (MSX2 + MSX2+ / X-Basic 2.1 MOD)
    MSX-Basic, z80 Assembler, C/C++ samples on YouTube, created by Dolphin_Soft

  2. #82

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

    По умолчанию

    Цитата Сообщение от Dolphin101546015 Посмотреть сообщение
    Это прерывание строчной развертки, проц ловит строку, с которой начинать рисовать новый кадр.
    не очень в теме, можете обьяснить что там происходит "детальнее"?

    как я понимаю z80 почти всевремя в DI-mode, потом как токо в одном месте срабатывает EI вызывается обработчик прерывания (в какой момент поступает сам сигнал ~int я не знаю, но явно раньше чем этот EI срабатывает), потом на скоко я понял z80 должен считать регистр vdp чтобы убрался этот самый сигнал ~int... как я понял этого не происходит и когда срабатывает ret i оно как то переходит обратно в обработчик прерывания и эта полоса все выезжает и выезжает на одном и том же этапе (счетчик "этапов" не может увеличиться изза постоянно висящего ~int) ну а если ~int отсоединить то banner выезжает полностью но зацикливается уже перед тем как высветить надписи ram:128k vram:128

    даже не знаю как же тут можно выяснить ту точку в которой "все пошло не так" и таким образом иметь хоть малое представление об причине

  3. #83

    Регистрация
    29.01.2019
    Адрес
    г. Владивосток
    Сообщений
    85
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    не очень в теме, можете обьяснить что там происходит "детальнее"?

    даже не знаю как же тут можно выяснить ту точку в которой "все пошло не так" и таким образом иметь хоть малое представление об причине
    Тут два варианта есть, в первом, строчное прерывание вызывается на конкретной строке, записанной в регистр строчного прерывания из счетчика, который убывает на каждом кадре. После чего прерывание происходит аппаратно, и в нем, скорей всего задается новая строка прерывания, и выполняется вертикальный скролл.
    Второй: прерывание происходит кадровое, после чего начинают считаться строки, чередуясь с чтением горизонтальной перетрассировки. Как только счетчик достигает нужной строки, выполняется вертикальный скролл.
    Я делаю подобное, вобще не разрешая прерывания, и весь контроль развертки выполняется полностью программно.
    Yamaha YIS-503-IIIR КУВТ2 (MSX2 + MSX2+ / X-Basic 2.1 MOD)
    MSX-Basic, z80 Assembler, C/C++ samples on YouTube, created by Dolphin_Soft

  4. #84

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

    По умолчанию

    Цитата Сообщение от Dolphin101546015 Посмотреть сообщение
    Тут два варианта есть, в первом, строчное прерывание вызывается на конкретной строке, записанной в регистр строчного прерывания из счетчика, который убывает на каждом кадре. После чего прерывание происходит аппаратно, и в нем, скорей всего задается новая строка прерывания, и выполняется вертикальный скролл.
    Второй: прерывание происходит кадровое, после чего начинают считаться строки, чередуясь с чтением горизонтальной перетрассировки. Как только счетчик достигает нужной строки, выполняется вертикальный скролл.
    Я делаю подобное, вобще не разрешая прерывания, и весь контроль развертки выполняется полностью программно.
    как возникает вертикальный скрол я так и не понял (из Вашего описания), но понял что можно установить прерывание на конкретную строку, и что тут может "зацикливаться"? изза длинного сигнала прерывания чтоли? там должен стоять в схеме одновибратор укорачивающий сигнал прерывания ?

Страница 9 из 9 ПерваяПервая ... 56789

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

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

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

Похожие темы

  1. Игровой автомат Super Games ][
    от shattered в разделе Агат
    Ответов: 30
    Последнее: 29.06.2021, 15:47
  2. 7mhz или 14mhz стандарт для портирования из msx1
    от bigral в разделе ZX Концепции
    Ответов: 33
    Последнее: 23.07.2019, 19:19
  3. ПК8000 - Игровой автомат "Фотон"
    от Mick в разделе ПК8000
    Ответов: 307
    Последнее: 07.11.2018, 18:54
  4. Игровой автомат "ТИА-МЦ1"
    от Zarax в разделе Разное
    Ответов: 0
    Последнее: 16.06.2010, 14:44

Ваши права

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