PDA

Просмотр полной версии : Подключение YM2149F к Дельте-С (52ИС)



marinovsoft
18.02.2016, 09:33
Добрый день.

Собственно, есть Дельта-С на 52-х микросхемах и ямаховский сопроцессор. Шина данных процессора подтянута к +5. Шина буферизированна.
Подключаю по этой схеме
http://sblive.narod.ru/ZX-Spectrum/AY-ADAPTERforLUT/AY-ADAPTERforLUT.htm

Воспроизведение работает, все замечательно. Но индикаторы в демках стоят на месте, то есть режим чтения не работает. Если вместо сопроцессора взять его эмулятор на atmega8 из темы http://zx-pk.ru/showthread.php?t=10510&page=29 то все работает до версии прошивки 21 включительно. На версии 22 перестает работать.

Пробовал подключать как на шину данных после буфера, так и до буфера. Процессор стоит КР1858ВМ1, если это важно.

Дайте мысли как исправить положение.

creator
18.02.2016, 11:31
Имхо A15 лишний. Оторви его и, соответственно, 13 ногу ЛА3 к 12 подцепи.

marinovsoft
18.02.2016, 18:16
Без изменений.

Тест из этой статьи
http://www.emuverse.ru/wiki/Радиолюбитель_1994-02,03/Спектрум-128

выдает в первой колонке либо 255, либо 191 в случайном порядке, во второй колнке 224.

с эмулятором с прошивкой 22 версии выдает в обеих колонках 224
с эмулятором с прошивкой 21 версии тоже выдает в обеих колонках 224

balu_dark
18.02.2016, 19:47
http://zx-pk.ru/showthread.php?t=8073&p=351352&viewfull=1#post351352
И тут http://zx-pk.ru/showthread.php?t=11993
Прочитайте про нюансы с засиранием шины во время прерываний и про чтение из сопроцессора.

marinovsoft
18.02.2016, 20:02
Кажется я нащупал путь - конфликт с портом Kempston-джойстика.
http://zx-pk.ru/showthread.php?t=12904&p=291407&viewfull=1#post291407

Схема здесь.
http://zx-pk.ru/showthread.php?t=22195&p=655147&viewfull=1#post655147

Как отрезать Kempston-джойстик?

goodboy
18.02.2016, 20:13
Как отрезать Kempston-джойстик?
похоже его дешифрация приходит на dd15/16

(посмотри схему скорпиона, там похоже сделано аналогично)

creator
18.02.2016, 20:14
А что с тактовой? 1.75 или 3.5 с 26 ногой на земле, как в схеме с sblive?

Наверно надо копать в сторону BDIR - (BUS DIRECTION) определяет направление обмена данными по шинам DA0 - DA7. "0" - чтение, "1" - запись.

balu_dark, о каком засирании шины может идти речь, если в схеме /M1 используется?

marinovsoft
18.02.2016, 21:21
Да все ок с тактовой и с 26 выводом и с BDIR'ом и BC1, воспроизведение-то работает. Отрезал 1-ый вывод мультиплексоров D15 и D16 от ЛА3 и подал туда землю. Теперь на чтение в первой колонке либо 255, либо 191, во второй 255, иногда проскакивает 254. Вопрос - а не конфликтует ли теперь с клавиатурой? В демке индикаторы теперь на максимуме (были на минимуме).

creator
18.02.2016, 21:44
Дык если BDIR всегда в 1 будет висеть, он и будет данные только принимать, ну и играть нормально. Это так, к слову. ;)

Темы почитал, кстати да, припоминаю, на классическом Ленинграде у меня в 92 году тоже индикаторы не дёргались, а вот чуть позже, купил новосибирский Ленинград128 (где косяки исправлены и системный разъём), и с той же платой AY всё задёргалось и зашевелилось.

balu_dark
19.02.2016, 06:47
balu_dark, о каком засирании шины может идти речь, если в схеме /M1 используется?
А там как раз и описано что происходит если нет М1. :)
Чтение теории никогда не вредило ;) Но дело даже не в М1. Я собирал если не ошибаюсь по схеме VMG. Чтение насколько помню - работало.

marinovsoft
19.02.2016, 16:03
По поводу нестабильности шины данных: шина данных стабильна. Проверено http://zx-pk.ru/showthread.php?t=16957

С эмулятором с прошивкой 21 версии все работает нормально, а с 22 версией - нет. Их отличие только в том, что в режиме чтения в 22 версии он выставляет либо Z состояние, либо 0, а в 21 либо +5, либо 0. 22 версия ведет себя в этом случае как настоящий сопроцессор.

В общем-то проблема более менее ясна - не совсем корректная дешифрация портов клавиатуры и джойстика.

- - - Добавлено - - -

Отключил джойстик и сделал дешифрацию порта клавиатуры по сигналу A0. Все работает. Нормальную дешифрацию порта джойстика сделаю позже.

Всем спасибо.

creator
19.02.2016, 16:14
А джойстик надо канонiчно посадить на A5. Испанские игрушки (#DF) сразу заработают. :)

Gutten
08.03.2016, 20:46
Если потом воткнуть ZXMC2, то там по этому порту выводится номер версии и потому канонiчные испанские игрушки перестанут работать.

creator
08.03.2016, 21:23
Gutten, а зачем ZXMC2 в Дельту-С втыкать? ;)

Gutten
08.03.2016, 23:30
ну мало ли, есть разные желания у людей, некоторые таких франкенштейнов собирают, что удивляешься как оно стабильно работает...
хотя это не только дельты касается, а вообще - воткнул в комп мультикарту - и всё. Но вообще и без неё у нас игры с опросом DF не работают, так что не велика потеря.