Просмотр полной версии : DivGMX
https://github.com/mvvproject/DivGMX/raw/master/divgmx_board/images/divgmx_brd_320x240.jpg
DivGMX представляет собой универсальное устройство для установки в слот ZX BUS и основанное на программируемой логической матрице (ПЛИС), обладает гибкой архитектурой, что позволяет проводить обновление и расширение аппаратных возможностей своего ZX Spectrum или клона простой заменой конфигурации.
Назначение:
Простое подключение ZX Spectrum и его клонов к современному ТВ или монитору через HDMI
Подключение USB клавиатуры
Подключение USB мыши
Подключение USB gamepad
Работа с файлами на microSD
Расширение звуковых возможностей
Совместимость:
ZX Bus
Nemo Bus
Плата совмещает в себе множество устройств, таких как:
HDMI 640x480@60Hz Видео-страницы 5 и 7 (порт 7FFD)
Audio out
K-Mouse Turbo http://velesoft.speccy.cz/kmsoft.htm
DivMMC (ROM 8K + RAM 512K) NMI кнопка на плате http://www.esxdos.org/
SounDrive v1.05 http://velesoft.speccy.cz/da_for_zx-cz.htm
Turbo Sound - 2x YM2149
Turbo Sound Easy (2x AY-3-8912 + SAA1099 (12 channels stereo)) http://velesoft.speccy.cz/turbosound-cz.htm
Z-Controller http://speccy.info/Z-Controller
General Sound 512К
Конфигурации (https://github.com/mvvproject/DivGMX)
HardWareMan
26.12.2016, 20:26
Sterio - это пять!
petrov1962
28.12.2016, 14:16
Vlad, сделайте поддержку ZX Evolution для Basic конфигурации. Или по крайней мере напишите, что эта конфигурация на Еве не работает.
сделайте поддержку ZX Evolution для Basic конфигурации. Или по крайней мере напишите, что эта конфигурация на Еве не работает.
Для это есть конфигурация TS-Conf (https://github.com/mvvproject/DivGMX/tree/master/divgmx_tsconf).
petrov1962
28.12.2016, 15:35
Vlad, спасибо, конечно за платку, сделано хорошо, на мой вопрос, будут ли работать конфигурации на ZX Evolution вы ответили что будут.
А сейчас получается что, у меня на ZX Evo уже есть конфигурация TS-Conf, а вы предлагаете залить на DivGMX тоже TS-Conf.
И зачем это надо? В данном случае EVO работает только как источник питания.
Подмена ПЗУ у вас работает, может вы подправите свой код, в котором я не разбираюсь (как и в программировании), чтобы запустить Basic
конфигурацию? Описание портов Evo есть, распределение банков ПЗУ тоже.
плата интересная получилась, так доделайте ее, пожалуйста.
- - - Добавлено - - -
Vlad, кстати, как правильно называется плата?
Везде - DivGMX, а в шапке принципиальной схемы DivGFX?
Это так, ради любопытства...
petrov1962, напишите, что конкретно бы Вам хотелось что-бы работало на DivGMX, а я попробую сделать то, что в моих силах.
ZX Evolution у меня нет, поэтому я не могу отладить работу DivGMX с этой платой в полном объеме.
Конфигурация Basic, ориентирована прежде всего на классические ZX Spectrum машины.
Да, плата DivGMX может быть сконфигурирована как TS-Conf и работать как ZX Evolution, можно разработать адаптер для DivGMX с несколькими разъемами ZX BUS, в которые можно будет подключить различные периферийные платы, получится современная и экономичная замена ZX Evolution.
экономичная замена ZX Evolution
с этим я бы поспорил, на Еву только PCB дороже, вся остальная комплектуха у Алибабы дешевле выходит и довольно значительно
это скорее альтернатива Reverse, Aion и Speccy 2007(2010) чем Еве
Freiwind
29.12.2016, 09:31
Так уж и сильно дешевле? Я бы тоже поспорил.
На днях подбирал и частично заказывал комплектуху для DivGMX. Участие принимали Алиэкспресс и Чиподип.
Даже учитывая, что часть комплектующих на Али придется брать не по одной штуке из-за наличия ограничения минимального заказа, у меня получилось около 40$.
Freiwind, ну так а я о чем, на еву комплектуху набрать в $30-35 влезть можно без напрягу
ладно тут не об этом , объясните смысл запихивания Reverse в слот той же Евы ?
объясните смысл запихивания Reverse в слот той же Евы ?
Тут всё зависит от фантазии обладателя этой платы.
Ну, например:
- сбацать на ней какой-нибудь аксель;
- использовать USB Host и т.д. и т.п.
VELESOFT
31.12.2016, 19:51
What about DATA-GEAR compatibility ? Work fullscreen multicolor pictures and DMA demos ?
What about DATA-GEAR compatibility ?
Ещё не реализовано, мне лично хватает графических возможностей TS-Conf. Если кто возьмется тестировать, попробую сделать.
Обновление конфигурации Basic (https://github.com/mvvproject/DivGMX/tree/master/divgmx_basic) (build 20161231)
Обновление конфигурации TS-Conf (https://github.com/mvvproject/DivGMX/tree/master/divgmx_tsconf) (build 20161231)
+K-MOUSE TURBO (2 K-Mouse Master/Slave)
Реализована поддержка Kempston Mouse Turbo
http://velesoft.speccy.cz/kmsoft.htm
http://www.benophetinternet.nl/hobby/kmt.htm
Я правильно понял, это современный продвинутый вариант spectrum и не только для подключения к оригинальному спектруму?
Я правильно понял, это современный продвинутый вариант spectrum и не только для подключения к оригинальному спектруму?
Устройство может работать самостоятельно как Спектрум, это так, но основное его предназначение куда более интереснее и универсальней за счет новых конфигураций. Да, может быть подключено не только к Спектруму. Назначение DivGMX я описал в начале этой темы.
Обновление конфигурации Basic (build 20170112) Download (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmc_basic20170112.zip)
+OSD для вывода тестовой информации
http://forum.tslabs.info/download/file.php?id=1739&t=1 (http://forum.tslabs.info/download/file.php?id=1739&mode=view)
Экспериментальная сборка, добавлено OSD для отображения отладочной информации. OSD создана на базе NextZ80@42MHz, размеры видео буфера (128 х 8 символов, символ 4 х 8 точек) 1024 байт, все это крутится в RAМ 4096 байт.
Конфигурация Speccy (build 20170115) Download (https://github.com/mvvproject/DivGMX/raw/master/divgmx_speccy/divgmx_speccy20170115.zip)
K-MOUSE TURBO (2 K-Mouse Master/Slave)
HDMI 640x480@60Hz
USB Keyboard/Mouse
DivMMC (ROM 8K + RAM 512K)
SounDrive
Turbo Sound Easy (2x AY-3-8912 + SAA1099 (12 channels stereo))
Z-Controller
Функциональные кнопки:
F1-F3: 3.5MHz/7MHz/14MHz
F5: NMI
F6: ZC/DivMMC
PrtScr: Reset
Конфигурация наследует базовую, разрабатывается для автономной работы DivGMX c внешней периферией, подключаемой через разъем ZX BUS.
Решил попробовать подключить винт IDE-HDD к DivGMX напрямую к разъему ZX BUS, сделать специальную сборку конфигурации Speccy. Планирую реализовать в FPGA свою схему контроллера HDD (https://github.com/mvvproject/Library-Modules/blob/master/fdc_hdc/hdd1.txt):
Пpинципиальная схема
SUS BUS DD1 IDE BUS
┌──────┐ ┌───┬──┬───┐ ┌──┬───────┐
│ D0├────D0╫D0──────3┤D0 │RG│ Q0├2────DD8─╫DD0───┤17│DD0 │
│ D1├────D1╫D1──────4┤D1 │ │ Q1├5────DD9─╫DD1───┤15│DD1 │
│ D2├────D2╫D2──────7┤D2 │ │ Q2├6────DD10╫DD2───┤13│DD2 │
│ D3├────D3╫D3──────8┤D3 │ │ Q3├9────DD11╫DD3───┤11│DD3 │
│ D4├────D4╫D4─────13┤D4 │ │ Q4├12───DD12╫DD4───┤ 9│DD4 │
│ D5├────D5╫D5─────14┤D5 │ │ Q5├15───DD13╫DD5───┤ 7│DD5 │
│ D6├────D6╫D6─────17┤D6 │ │ Q6├16───DD14╫DD6───┤ 5│DD6 │
│ D7├────D7╫D7─────18┤D7 │ │ Q7├18───DD15╫DD7───┤ 3│DD7 │
├──────┤ ║+5V R1 ├───┤ ├───┤ ╟DD8───┤ 4│DD8 │
│ A0├────A0╢ <─═══─11┤PE │ИР│+5V├20─>+5V ╟DD9───┤ 6│DD9 │
│ A1├────A1╢ 10K┌─1oOE#│22│GND├10┐ ╟DD10──┤ 8│DD10 │
│ A2├────A2╢ │ └───┴──┴───┘ ┴ ╟DD11──┤10│DD11 │
│ A3├────A3╢ │ DD2 ╟DD12──┤12│DD12 │
│ A4├────A4╢ │ ┌───┬──┬───┐ ╟DD13──┤14│DD13 │
│ A5├────A5╫D0────┼─3┤D0 │RG│ Q0├2─────DD0╫DD14──┤16│DD14 │
│ A6├────A6╫D1────┼─4┤D1 │ │ Q1├5─────DD1╫DD15──┤18│DD15 │
│ A7├────A7╫D2────┼─7┤D2 │ │ Q2├6─────DD2╢ ├──┼───────┤
│ A8├────A8╫D3────┼─8┤D3 │ │ Q3├9─────DD3╫DA0───┤35│DA0 │
├──────┤ ╟D4────┼13┤D4 │ │ Q4├12────DD4╫DA1───┤33│DA1 │
│ M1#├───M1#╫D5────┼14┤D5 │ │ Q5├15────DD5╫DA2───┤36│DA2 │
│ IORQ#├─IORQ#╫D6────┼17┤D6 │ │ Q6├16────DD6╢ ├──┼───────┤
│ WR#├───WR#╫D7────┼18┤D7 │ │ Q7├18────DD7╫RES#──┤ 1│RESET# │
│ RD#├───RD#╢ │ ├───┤ ├───┤ ╟DIOW#─┤23│DIOW# │
│RESET#├RESET#╫WWC#──┼11/C │ИР│+5V├20─>+5V ╟DIOR#─┤25│DIOR# │
├──────┤ ╟RWE#──o─1oOE#│23│GND├10┐ ╟CS0#──┤37│CS0# │
│ +5V├──>+5V║ └───┴──┴───┘ ┴ ╟CS1#──┤38│CS1# │
│ GND├───┐ ║ DD3 ║ ├──┼───────┤
└──────┘ ┴ ║ ┌───┬──┬───┐ ║ ──┤21│DMARQ │
X1 ╟A0──────3┤D0 │RG│ Q0├2─────DA0╢ ──┤27│IORDY │
┌─────────RWE#╫A1─── ──4┤D1 │ │ Q1├5─────DA1╢ ──┤31│INTRQ │
│ DD4.1 ╟A2──────7┤D2 │ │ Q2├6─────DA2╢ ──┤32│IOCS16#│
│ ┌───┐ ╟RESET#──8┤D3 │ │ Q3├9────RES#╢ ──┤28│CPSYNC/│
└─5┤& ├6──SCE╫WR#────13┤D4 │ │ Q4├12──DIOW#╢ │ │ CSFL│
┌─4┤ЛИ1│ ╟RD#────14┤D5 │ │ Q5├15──DIOR#╢ ──┤29│DMACK# │
│ └───┘ ║ ─17┤D6 │ │ Q6├16─ ║ ├──┼───────┤
└─────────WRE#╢ ─18┤D7 │ │ Q7├18─ ║ ┌──┤22│GND │
║+5V R2 ├───┤ ├───┤ ║ o──┤24│GND │
║ <─═══─11┤PE │ИР│+5V├20─>+5V ║ o──┤19│GND │
║ 10K┌─1oOE#│22│GND├10┐ ║ o──┤ 2│GND │
║ ┴ └───┴──┴───┘ ┴ ║ o──┤26│GND │
┌─────────LHE#╢╔═══ ════════════════ ═════════╝ o──┤30│GND │
│ DD4.2 ║║ DD5 ┴ ├──┼───────┤
│ ┌───┐ ║║ ┌───┬──┬───┐ ┌──┤39│DASP# │
└10┤& ├8─WRE#╢╟DD8────3┤D0 │RG│ Q0├2──────D0╖ │ └──┴───────┘
┌─9┤ЛИ1│ ║╟DD9────4┤D1 │ │ Q1├5──────D1╢ │ X2
│ └───┘ ║╟DD10───7┤D2 │ │ Q2├6──────D2╢ │ HDDLED
o─────────RWC#╢╟DD11── 8┤D3 │ │ Q3├9──────D3╢ │ ┌─┬────────┐
│ ║╟DD12──13┤D4 │ │ Q4├12─────D4╢ └──┤1│KATODLED│
│ ║╟DD13──14┤D5 │ │ Q5├15─────D5╢ ┌──┤2│ANODLED │
│ ║╟DD14──17┤D6 │ │ Q6├16─────D6╢ │ └─┴────────┘
│ ║╟DD15──18┤D7 │ │ Q7├18─────D7╢ │
│ ║║ ├───┤ ├───┤ ║ │ R3
└─────────────╫╫ ─────11/C │ИР│+5V├20─>+5V ║ └───═══────>+5V
║║ ┌─1oOE#│23│GND├10┐ ║ 300
║║ │ └───┴──┴───┘ ┴ ╚═══════════════ ═╗
╔═════════════╝╚ ════╪═══════════ DD7 ║
║ DD6 └────┐ ║ ┌───┬──┬───┐ ║
║ ┌───┬──┬───┐ │ ╟DD0───18┤B0 │1 │ A0├2──────D0╢
╟A4──────1┤A0 │DC│ 0#o15─ │ ╟DD1───17┤B1 │ │ A1├3──────D1╢
╟A8──────2┤A1 │ │ 1#o14──┼RWE#╖ ╟DD2───16┤B2 │ │ A2├4──────D2╢
╟WR#─────3┤A2 │ │ 2#o13─ │ ║ ╟DD3───15┤B3 │ │ A3├5──────D3╢
║ ├───┤ │ 3#o12──┼WWC#╢ ╟DD4───14┤B4 │ │ A4├6──────D4╢
║ │ │ │ 4#o11─ │ ║ ╟DD5───13┤B5 │ │ A5├7──────D5╢
║ │ │ │ 5#o10──┼RWC#╢ ╟DD6───12┤B6 │ │ A6├8──────D6╢
║ │ │ │ 6#o9── │ ║ ╟DD7───11┤B7 │ │ A7├9──────D7╢
║ │ │ │ 7#o7───┘ ║ ├───┤ ├───┤ ║
╟M1#─────6┤E1 │ ├───┤ ╟RD#──────1┤Eab│АП│+5V├20 >+5V ║
╟AE#─────5oE2#│ИД│+5V├16─>+5V ╟WRE#────19oOE#│ 6│GND├10┐ ║
╟IORQ#───4oE3#│ 7│GND├8─┐ ║ └───┴──┴───┘ ┴ ║
║ └───┴──┴───┘ ┴ ╠═══════════════ ═══════════════╣
╠═══════════════ ══════════════╣ DD9 ║
║ DD8 ║ ┌───┬──┬───┐ ║
║ ┌───┬──┬───┐ ╟A3───────2┤A0 │DC│ 0#o4────CS0#╢
╟A5──────1┤A0 │DC│ 0#o15─ ╟SCE──────3┤A1 │ │ 1#o5────CS1#╢
╟A6──────2┤A1 │ │ 1#o14─ ║ ├───┤ │ 2#o6── ║
╟A7──────3┤A2 │ │ 2#o13─ ║ ┌─1oE1#│ │ 3#o7── ║
║ ├───┤ │ 3#o12─ ║ ┴ ├───┤ ├───┤ ║
║ │ │ │ 4#o11─ ╟A4──────14┤A0 │ │ 0#o12───LHE#╜
║ │ │ │ 5#o10─ ╟IORQ#───13┤A1 │ │ 1#o11─
║ │ │ │ 6#o9───o─AE#╢ ├───┤ │ 2#o10─
║ │ │ │ 7#o7── └───┐ │ │ │ 3#o9──
╙M1#─────6┤E1 │ ├───┤ │ │ │ ├───┤
┌─5oE2#│ИД│+5V├16─>+5V │ │ │ИД│+5V├16─>+5V
o─4oE3#│ 7│GND├8─┐ └─────────15oE2#│14│GND├ 8─┐
┴ └───┴──┴───┘ ┴ └───┴──┴───┘ ┴
Перечень элементов
┌─────────────── ──────────────── ────┐
│ МИКРОСХЕМЫ │
├─────────┬───── ──────────────── ┬───┤
│ DD1,DD3 │ КР1533ИР22 (74ALS373) │ 2 │
│ DD2,DD5 │ КР1533ИР23 (74ALS374) │ 2 │
│ DD7 │ КР1533АП6 (74ALS245) │ 1 │
│ DD4 │ КР1533ЛИ1 (74ALS08) │ 1 │
│ DD6,DD8 │ КР1533ИД7 (74ALS138) │ 2 │
│ DD9 │ КР1533ИД14 (74ALS139) │ 1 │
├─────────┴───── ──────────────── ┴───┤
│ КОНДЕНСАТОРЫ │
├─────────┬───── ──────────────── ┬───┤
│ C1 - C9 │ 0,68 - 0,1 мкФ │ 9 │
│ C10 │ 20 мкФ х 6,3 В │ 1 │
├─────────┴───── ──────────────── ┴───┤
│ РЕЗИСТОРЫ │
├─────────┬───── ──────────────── ┬───┤
│ R1,R2 │ 10 K │ 2 │
│ R3 │ 300 Ом │ 1 │
├─────────┴───── ──────────────── ┴───┤
│ РАЗЪЕМЫ │
├─────────┬───── ──────────────── ┬───┤
│ X1 │ СНП58-64/94х9В-23-1-В │ 1 │
│ X2 │ ОНП-КГ-56-40-В53 │ 1 │
└─────────┴───── ──────────────── ┴───┘
Необходимая проверенная на реальном компьютере софтовая поддержка (http://zx-pk.ru/threads/10659-tr-dos-5-30.html)для этого имеется (ROM (https://github.com/mvvproject/Library-Modules/raw/master/fdc_hdc/dos5_31.rom))
http://github.com/mvvproject/Library-Modules/raw/master/fdc_hdc/trdos5_31.png
https://github.com/mvvproject/Library-Modules/raw/master/fdc_hdc/u_speccy.jpg
Если получится, то дальше можно будет сделать поддержку контроллера Nemo IDE (http://zx-pk.ru/threads/22459-nemo-ide-pentagon128.html) или SMUC (http://zx-pk.ru/threads/13769-smuc-v2-0-rev-b.html)...
Эх, Влад, да в пень бы уже эти винты... Флешку бы, эмулируемую как винт и щастье...
Эх, Влад, да в пень бы уже эти винты... Флешку бы, эмулируемую как винт и щастье...
Поддержка реальных винтов, тоже нужная вещь, может пригодиться.
- - - Добавлено - - -
Итак, начинаю изучение и экспериментирование с DivGMX.
Для начала просто подключил монитор с HDMI и подал +5В. Результат - чёрный экран, но синхронизация есть (31,5 кГц, 60 Гц, 640х480).
Влад, это нормально или что-то не так?
Есть еще варианты, доделать конфигурацию теста платы, заодно прокатать NextZ80 с SDRAM и текстовый режим 128х48. Экспериментально опробовать этот процессор в конфигурации TS-Conf, но там большую часть схемного описания придется переделывать...
Для начала просто подключил монитор с HDMI и подал +5В. Результат - чёрный экран, но синхронизация есть (31,5 кГц, 60 Гц, 640х480)
Скорее всего плата сконфигурирована базовой конфигурацией. Нужно подключить к какому нибудь Спектруму в ZX BUS.
Скорее всего плата сконфигурирована базовой конфигурацией. Нужно подключить к какому нибудь Спектруму в ZX BUS.
Тогда попробую его воткнуть в KAY-1024.
Тогда попробую его воткнуть в KAY-1024.
Можете обновить на новую тестовую сборку (http://zx-pk.ru/threads/27225-divgmx.html?p=897388&viewfull=1#post897388), там сверху экрана выводится служебная информация.
На схеме эл.принципиальной и монтажке есть некоторые нестыковки позиционных обозначений компонентов.
Удалил транзистор T1 (T4 на монтажке), т.к. в KAY-1024 и в ZX-Evo сигнал от него (ROMOE1#) может вызвать конфликт с внутренними цепями материнской платы. Думаю также имеет смысл выпаять резистор R3, т.к. сигнал CLK также может вызывать конфликт, в случае попытки захвата шины Z80 по BUSRQ.
Теоретически DivGMX может подменить ПЗУ в нулевом банке на свою, заранее подготовленную, но у компов типа KAY-1024, которые подменяют ПЗУ нулевой страницей ОЗУ, могут возникнуть проблемы. Хотя, если поработать малость паяльником, то можно заблокировать бит 0 порта #1FFD.
Мне кажется, что в DivGMX не хватает цепи управления NMI от ПЛИС. Было бы здорово, например, в некоторых ситуациях подменять ПЗУ с одновременной подачей сигнала немаскируемого прерывания.
Хотел прикрепить фотку запуска DivGMX на KAY-1024, но пока не разобрался на каком сервисе выкладывать.
После подачи питания на KAY-1024, необходимо обязательно сбрасывать процессор, а иначе на экране RGB монитора "матрац" или горизонтальные ч/б полосы, а на HDMI мониторе - чернота. Видимо при включении происходит конфликт на шине данных. Надо подумать о том чтобы плата DIVGMX удерживала сброс до момента инициализации ПЛИС.
- - - Добавлено - - -
Удержание сброса после подачи питания, думаю, можно реализовать с помощью сигнала CONFIG_DONE, да и вообще, управлять вроде им во время работы можно. Так что, теоретически можно будет сбрасывать комп при помощи комбинации клавиш на клавиатуре.
На схеме эл.принципиальной и монтажке есть некоторые нестыковки позиционных обозначений компонентов.
Спасибо, исправил. Обновил на github.
Удалил транзистор T1 (T4 на монтажке), т.к. в KAY-1024 и в ZX-Evo сигнал от него (ROMOE1#) может вызвать конфликт с внутренними цепями материнской платы. Думаю также имеет смысл выпаять резистор R3, т.к. сигнал CLK также может вызывать конфликт, в случае попытки захвата шины Z80 по BUSRQ.
Можно просто заклеить эти контакты тонкой полоской скотча или не соединять на переходнике.
Теоретически DivGMX может подменить ПЗУ в нулевом банке на свою, заранее подготовленную, но у компов типа KAY-1024, которые подменяют ПЗУ нулевой страницей ОЗУ, могут возникнуть проблемы. Хотя, если поработать малость паяльником, то можно заблокировать бит 0 порта #1FFD.
Практически. Да, этот недочет на плате тапа KAY-1024 исправляется полной блокировкой проецирования чего-либо в область ПЗУ.
Мне кажется, что в DivGMX не хватает цепи управления NMI от ПЛИС. Было бы здорово, например, в некоторых ситуациях подменять ПЗУ с одновременной подачей сигнала немаскируемого прерывания.
Согласен, если DivGMX установлен в слот платы компьютера в корпусе, но NMI с платы компьютера должна уже быть выведена в удобное место, раньше ведь как-то пользовались кнопкой.
Надо подумать о том чтобы плата DIVGMX удерживала сброс до момента инициализации ПЛИС.
Конфликта на шине быть не может, т.к. при включении буфера DivGMX отключены со стороны ZX BUS. Фактически DivGMX может наблюдать за состоянием сигналов RESET#, NMI#...
Удержание сброса после подачи питания, думаю, можно реализовать с помощью сигнала CONFIG_DONE, да и вообще, управлять вроде им во время работы можно. Так что, теоретически можно будет сбрасывать комп при помощи комбинации клавиш на клавиатуре.
DivGMX без запроса со стороны компьютера (Z80) на шину нечего не выдает.
Кто-то еще подключал сабж к оригинальным Спектрумы с 1-ой ПЗУшкой? Влад, какой формы должны быть сигналы выбора РОМов, пока не получилось осцилом их глянуть.
Была-бы возможность сравнить как идет сигнал блокировки ПЗУ на платах +2 и +3, какие ПЗУ, ограничивающие резисторы... В чем-то есть отличие, т.к. на +3 все работает, но желательно чтобы кто-то еще проверил.
Конфликта на шине быть не может, т.к. при включении буфера DivGMX отключены со стороны ZX BUS. Фактически DivGMX может наблюдать за состоянием сигналов RESET#, NMI#...
Судя по схеме DivGMX, да, конфликта не должно быть. В ближайшее время буду разбираться в причине зависания KAY-1024 при включении, благо недавно купил у китайцев логический анализатор на 16 каналов. Ко всему прочему, попробую добавить простую цепь сброса на транзисторе от сигнала CONFIG_DONE. Думаю это поможет решить проблему.
А на Фениксе нет зависаний при включении?
Фото первого включения на KAY-1024.
http://i013.radikal.ru/1701/e4/dd4564bf9f8at.jpg (http://radikal.ru/big/0sebi3utmqejn)
А на Фениксе нет зависаний при включении?
Нет.
Я так понял, что сигнал ROMOE1# (A25) на DivGMX у вас изолирован и не поступает на плату KAY-1024 (http://speccy.info/w/images/f/fc/KAY_1024_Schematic.png). Остается сигнал IORQGE (A13), возможно конфликт при чтении KAY-1024 какого-то из портов в/в, который не блокируется им. Можно отключить все модули в конфигурации на чтение процессором и проверить поведение. DivGMX не будет отвечать на запросы выставляя данные на шину.
Тестовая сборка базовой конфигурации с отключенным выводом данных на шину (скачать (https://cloud.mail.ru/public/HaPg/22T2ibFRe)).
vlad, не подскажешь какая из ПЛИС применяется в DivGMX, а то не хочется отдирать батарейку от корпуса. Квартус прогреммер автоматом не определил и предлагает 4 варианта, от EP3C5 до EP4CE10.
- - - Добавлено - - -
Снял батарейку, ПЛИС EP4CE10.
Залил в ПЛИС тестовую конфу, результат тот же. Проц, тот что в ПЛИС пишет на экране "PC: FFDC".
Завтра соберу цепь сброса, думаю поможет.
Залил в ПЛИС тестовую конфу, результат тот же. Проц, тот что в ПЛИС пишет на экране "PC: FFDC".
Т.е. при включении KAY-1024K на мониторе подключенном к плате DivGMX нечего нет кроме OSD, а на мониторе подключенном к KAY-1024K матрас и больше нечего не происходит? И если включить сам KAY-1024K то все работает нормально?
Просто не могу понять причину подвисания KAY-1024K, если DivGMX только мониторит шину и не управляет ею. И после нажатия на кнопку "Reset" начинает работать? Обычно такое бывает когда недостаточная ёмкость конденсатора в цепи сброса, попробуйте увеличить до 47мкФ, в схеме KAY-1024K (http://speccy.info/w/images/f/fc/KAY_1024_Schematic.png) указан 10мкФ.
Т.е. при включении KAY-1024K на мониторе подключенном к плате DivGMX нечего нет кроме OSD, а на мониторе подключенном к KAY-1024K матрас и больше нечего не происходит? И если включить сам KAY-1024K то все работает нормально?
Да, всё верно. На экране обычного RGB монитора отображается горизонтальные ч/б полосы, или реже "матрац".
И после нажатия на кнопку "Reset" начинает работать?
Да.
Обычно такое бывает когда недостаточная ёмкость конденсатора в цепи сброса, попробуйте увеличить до 47мкФ, в схеме KAY-1024K указан 10мкФ.
Глянул на плату, действительно, там запаян кондёр в 10 мкФ. И если увеличить эту ёмкость, уверен, проблема с зависанием устраниться, но я считаю этот путь не правильным, т.к. мы тем самым делаем сигнал сброса ещё более пологим, что не есть хорошо. Совсем другое дело, если на материнке будет стоять специализированная микросхема супервизора, которая будет управлять сбросом.
Я решил пойти другим путём. Подал сигнал CONFIG_DONE на цепь сброса, собранную на двух транзисторах. и всё заработало!
Почему этот способ я считаю наиболее правильным. До тех пор, пока не проинициализируются все периферийные устройства (а DivGMX - это периферия), процессор не должен стартовать.
Подал сигнал CONFIG_DONE на цепь сброса, собранную на двух транзисторах. и всё заработало!
Всё-же лучше если сигнал RESET# будет достаточной длительности при старте управляться от материнской платы, чем какое-нибудь зависшее периферийное устройство повесит всю систему.
Отчасти в этом своя логика есть. Но в случае с DivGMX, через который выводится изображение, всё будет очевидно.
Пытаюсь научиться пользоваться DivMMC на DivGMX. Вставил microSD с файлами TAP, подал питание, нажал F6, потом NMI, но похоже он ничего не обнаружил.
Может я что-то не так делаю?
- - - Добавлено - - -
http://s020.radikal.ru/i707/1701/74/bde19a4be08a.jpg (http://radikal.ru)
Попробуйте тоже в конфигурации Speccy, если также, то скорее всего что-то с SD картой.
Нужен реальный спек, чтобы продолжить работу над конфигурацией и отладить работу DivMMC также как и в конфигурации Speccy.
Пытаюсь научиться пользоваться DivMMC на DivGMX. Вставил microSD с файлами TAP, подал питание, нажал F6, потом NMI, но похоже он ничего не обнаружил.
Может я что-то не так делаю?О, везет, ты хоты б это видишь, у меня до этого не доходит.
На SD надеюсь Esxdos записан? Нужно немного больше информации, какие версии компов, и если есть возможность, посмотреть какой стоит резистор на ROMOE# и какая ROM.
На SD надеюсь Esxdos записан? Нужно немного больше информации, какие версии компов, и если есть возможность, посмотреть какой стоит резистор на ROMOE# и какая ROM.На SD записан. К чему подключаю - ZX Spectrum 128K +2 (Amstrad, Z70700, issue1, 8649) схемы на него нет совсем нигде (есть только на issue3 - Z70500). Ты имеешь в виду что у меня в компе по А25 (согласно схемы DivGMX) идет? Сигнал #ROM_CS, по схеме от iss3 пока не могу отследить куда идет. По плате посмотрю. А резистор какой и где смотреть? Если в сабже R36, то согласно схемы 10к.
P.S. Я еще по твоему совету зашью конфу "divgmx_speccy" и проверю.
P.P.S. В конфе "divgmx_speccy" DivMMC работает. Всё ОК. Осталось выяснить, почему не работает с подключением к +2.
На SD надеюсь Esxdos записан?
Сегодня только понял, что на флэшку надо что-то заливать кроме TAP'ов. Теперче записал на SD всё что надо.
Конфигурация Speccy работает как часы, а вот basic конфа при работе с DivMMC ведёт себя нестабильно. Мне не всегда получается попасть в первоначальный экран ESXDOS, а если получается, то комп зависает на надписи "Detecting Devices..."
- - - Добавлено - - -
Кстати, я все эксперименты провожу на KAY-1024/3SL (1999).
- - - Добавлено - - -
А клавиша F5 (Std/ROM), что за ПЗУ переключает?
А клавиша F5 (Std/ROM), что за ПЗУ переключает?
F5 отключает ROM компа, подставляя взамен ROM'82 (можно заменить на ROM теста памяти) из DivGMX. Задача была проверить работу U9B, R36 и T2 на плате DivGMX, возможно нужна подборка R36 от 10К до 250R, нужно проверять...
На плате DivMMC делалась доработка (http://aticatac.altervista.org/portale/?q=node/15) для возможности работы с +2A/+3.
О, везет, ты хоты б это видишь, у меня до этого не доходит.
У меня бейсик конфиг, на резиновом 48K виснет в файлменеджере DivMMC :)
59616
Мне не всегда получается попасть в первоначальный экран ESXDOS, а если получается, то комп зависает на надписи "Detecting Devices..."
У меня на +3 такое безобразие...
59617
возможно нужна подборка R36 от 10К до 250R, нужно проверять...
Попробовал 4 кОм и 900 Ом, увы, ничего не поменялось. Как получиться, замерю задержку распространения сигнала на осциллографе.
Итак, в моем +2 схема такая: от 41 ноги ULA (ROMSL) через резюк в 680 Ом сигнал приходит на 20 ногу ROM (#CE), который и дублируется на А25 ZXBUS. Я так понимаю, после выбора на DivGMX режима работы DivMMC, там должен быть всегда 1. Без пульсаций. А то мне на осциллографе показалась пульсация.
Итак, в моем +2 схема такая: от 41 ноги ULA (ROMSL) через резюк в 680 Ом сигнал приходит на 20 ногу ROM (#CE), который и дублируется на А25 ZXBUS.
В конфигурации Basic (build 20170112) (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmc_basic20170112.zip) нажимая F5, смотрите на форму и уровень сигнала на А25, до резистора должен быть приемлемый сигнал (http://radiomaster.ru/articles/view/342/) высокого уровня. Также нужно сравнить сигналы от DivGMX и ULA на 20-й ноге ROM (#CE) относительно MREQ#, RD#.
Для +2А и +3 на плате есть ещё дополнительный сигнал ROM1 OE# (A4) (https://cloud.mail.ru/public/4pXF/K4hdDdbT2).
Сделали видео работы DivGMX c ZX Spectrum 48K (https://cloud.mail.ru/public/8Bvo/tBh5hvxwy) и ZX Spectrum +3 (https://cloud.mail.ru/public/KepZ/oFYPk4Ub3).
andykarpov
05.02.2017, 01:57
Собрал наконец-то платку, бюджетный вариант на EP4CE6. :)Вопрос такой: как влить прошивку в VNC2? На Reverse-U16 JTAG-разъем был совмещен с разъемом для VNC2debug. Тут, насколько я понимаю, контакты для программирования VNC2 выведены на разъем X6? Переходник городить прийдется? или МГТФ-ом прокинуть нужные сигналы на JTAG-разъем? :)
Собрал наконец-то платку, бюджетный вариант на EP4CE6.
Мои поздравления!
Что заливать собираетесь?
TS-Conf 10174 LEs
Speccy 7570 LEs
NES 9466 LEs
Basic 6528 LEs
Radio-86RK 3796 LEs
MSX2 9998 LEs
Может для начала допилим тестовую конфигурацию для проверки платы? Корку я уже сделал (текстовый 128х48 16 цветов, разрешение 1024х768@60Hz, NextZ80@42MHz, SDRAM...), осталось малость попрограммировать, на тс-форуме спрашивал, там никто в программировании для Z80 не шарит, иначе помогли бы с такой мелочью как тест памяти хотя-бы :), надеюсь что здесь есть толковые программисты?
как влить прошивку в VNC2?
Собираете шлейф из NDR-12 (2x6), плоского кабеля и IDC-10 (2x5), подключаете и всё работает без соплей из МГТФ.
К X6 можно попробовать подключить разного рода периферию - VS1053, ESP8266 (https://esp8266.ru), графический цветной дисплейчик OLED-1.30-128X64 (http://arduino-diy.com/arduino-oled-displey), Touch Graphics Controller FT81x (http://www.ftdichip.com/Products/ICs/FT81X.html) и массу других устройств...
Планирую ещё себе сделать док станцию - платку с парочкой разъемов ZX-BUS для различной классической периферии (контроллер FDD, HDD, видео и звуковых карт), питания, и стандартным разъемом для подключения Ардуиновских шилдов (http://arduino-diy.com/arduino-interesnyye-shildy), на них есть множество интересных поделок (http://arduino-diy.com/arduino_proekty-0). Если удастся раздобыть FT81x и ESP8266, то можно будет сделать их поддержку как в ts-conf.
andykarpov
05.02.2017, 13:22
Мои поздравления!Благодарю! Сразу хочу сказать - плотность монтажа на данной плате - очень сильная, чуть глаза не сломал, пока все припаял :)Особенно порадовал один резистор, который пропустил первый раз, который прям на разъем JTAG припаивается :)
Что заливать собираетесь?HDMI Test отработал, залил Basic. Собираю теперь переходник для втыкания в классический ZX Spectrum 48k. А TS-Conf и Speccy не помещаются в EP4CE6 :(
Собираете шлейф из NDR-12 (2x6), плоского кабеля и IDC-10 (2x5), подключаете и всё работает без соплей из МГТФ.Спасибо, получилось!
Планирую ещё себе сделать док станцию - платку с парочкой разъемов ZX-BUS для различной классической периферииЭто - очень интересно! А как это будет выглядеть? Прототип уже какой-то есть?
А как это будет выглядеть? Прототип уже какой-то есть?
Выглядеть будет функционально, пока на Bread board полностью устраивает :v2_tong2:
Собрал демо версию теста (https://cloud.mail.ru/public/79XL/rs2ABxFe4), работает вывод текста, простенький тест SDRAM пишет Ok :)
andykarpov
06.02.2017, 09:51
Вчера пол-ночи искал непропаи и прочие артефакты, никак basic конфигурация не хотела работать...
А сегодня на трезвую голову увидел, что SDRAM запаял ту же, что и в Reverse - 16M16 :)
Я так понимаю, тут без вариантов? Даже если переписать sdram controller в коде, все равно ничего не получится, ибо часть пинов SDRAM, которые нужны были бы для 16M16 никуда не разведены.
А сегодня на трезвую голову увидел, что SDRAM запаял ту же, что и в Reverse - 16M16
Я так понимаю, тут без вариантов?
Ну, почему-же есть парочка вариантов:
сдуть и запаять то, что указано в схеме
попробовать объединить DQMH с DQML и пользоваться как 16М8
andykarpov, давайте уж там всё допаивайте и подключайтесь уже что-ли, пока Влад занят сборкой заказов.
andykarpov
07.02.2017, 13:05
Ну, почему-же есть парочка вариантов:
сдуть и запаять то, что указано в схеме
попробовать объединить DQMH с DQML и пользоваться как 16М8
Спасибо! Но подходит только первый вариант, ИМХО.
andykarpov, давайте уж там всё допаивайте и подключайтесь уже что-ли, пока Влад занят сборкой заказов.
Новую микруху уже заказал, ждем-с. Как запущу свою платку - подключусь :)
Mor-Da, отложил я сборку, делаю конфигурацию теста платы для после сборочной её проверки, думаю как сделать тестовый разъем для проверки буферов.
У меня нет возможности глянуть на сигналы ROMCS# и MREQ# на ROM с отключенным/включенным в конфиге модулем DivMMC, для сравнения и настройки дешифратора. Проблему совместимости можно было-бы решить за пару часов. На двух Спектрумах, на каких у меня была возможность отладить базовую конфигурацию DivMMC работают, видео выкладывал. Есть осцил, но он крайне не стабилен (С1-114, 90г.в.), + хранится под кроватью (на столе нет места, блин тягать его туда-сюда). Если домашние дадут время, я обязательно это сделаю.
Доброго всем времени суток!
Снял небольшое количество осциллограмм на DivGMX, подключенного к KAY-1024.
Номинал резистора R36=10кОм.
На первой картинке изображены сигналы:
1 канал (синий) - BUS_NROMOE (3 вывод U9B)
2 канал (красный) - выход U9B (4 вывод).
http://s41.radikal.ru/i093/1702/a1/dcc2dcddbcfb.png (http://radikal.ru)
На второй картинке:
1 канал (синий) - BUS_NROMOE (3 вывод U9B)
2 канал (красный) - ROMOE2 (эмиттер транзистора T2).
http://s019.radikal.ru/i631/1702/b3/0ae4c467ccaf.png (http://radikal.ru)
На третьей картинке изображено то же самое, только в масштабе 1мкс/дел.
http://s020.radikal.ru/i711/1702/d0/df4cfd11ed58.png (http://radikal.ru)
Как видно из осциллограмм, для R36 10кОм многовато будет, поэтому для следующих экспериментов уменьшил номинал данного резистора до 470 Ом.
1 канал (синий) - BUS_NROMOE (3 вывод U9B), а 2 канал (красный) - выход U9B (4 вывод):
http://s019.radikal.ru/i636/1702/8d/5d25ce7104d5.png (http://radikal.ru)
1 канал (синий) - BUS_NROMOE (3 вывод U9B), а 2 канал (красный) - ROMOE2 (эмиттер транзистора T2):
http://s019.radikal.ru/i619/1702/0c/b81ffbe20032.png (http://radikal.ru)
И то же самое, только в масштабе 1мкс/дел:
http://s020.radikal.ru/i712/1702/43/0ccfb06bd69f.png (http://radikal.ru)
- - - Добавлено - - -
Что касается расположения сигнала BUS_NROMOE, идущего от ПЛИС на буфер с ОК U9B, относительно сигнала MREQ Z80:
1 канал (синий) - BUS_NROMOE (3 вывод U9B), а 2 канал (красный) - MREQ.
http://i062.radikal.ru/1702/92/21097aaeff19.png (http://radikal.ru)
Как видно из осциллограммы, имеется небольшое запаздывание сигнала BUS_NROMOE относительно MREQ.
batr, конфигурация Basic (build 20170112)?
При нажатии F5, ROM меняется и комп стабильно работает в '82?
Добавлю ещё пару осциллограмм.
1 канал (синий) - ROMOE (эмиттер T2), а 2 канал (красный) - MREQ.
http://s019.radikal.ru/i605/1702/f4/85284160c55b.png (http://radikal.ru)
Как видим сигнал разрешения чтения с ПЗУ на KAY'е не очень хорошее, из-за последовательного сопротивления 680 Ом и паразитной ёмкости.
И на последок осциллограмма после нажатия клавиши F5, при которой DivGMX должна блокировать ПЗУ на материнке и подставлять в место неё своё:
http://s018.radikal.ru/i517/1702/0b/7183d1a5c01a.png (http://radikal.ru)
- - - Добавлено - - -
batr, конфигурация Basic (build 20170112)?
При нажатии F5, ROM меняется и комп стабильно работает в '82?
Да, конфигурация Basic (build 20170112).
По F5 комп перезагружается в '82. В режиме Турбо 7МГц нестабилен и самопроизвольно перезагружается, а при 3,5МГц - вроде стабилен.
Ссылку на твою схему KAY-1024 можно?
Вот тут есть скан схемы моего KAY-1024/3SL:
http://sblive.narod.ru/ZX-Spectrum/KAY-1024/KAY-1024.htm
из-за последовательного сопротивления 680 Ом...На +2 тоже стоит 680Ом.
NEO SPECTRUMAN
14.02.2017, 00:46
Это все хорошо НО!!!
где поддержка самого GMX ??? ;)
http://speccy.info/GMX
3Ы: тему не читал
Lethargeek
28.02.2017, 04:35
Устройство может работать самостоятельно как Спектрум, это так, но основное его предназначение куда более интереснее и универсальней за счет новых конфигураций. Да, может быть подключено не только к Спектруму. Назначение DivGMX я описал в начале этой темы.
У меня по мотивам обсуждения концепций :) такой вопрос: а каков запас по быстродействию "после Спектрума" и при подключении к реальному Спектруму? То есть, сколько байт своего ОЗУ девайс сможет прочитать или записать (в режиме произвольного доступа) в одном стандартном спектрумовском такте @3,5мгц?
Если теоритически, рассматриваем оригинальный Спектрум на базе DRAM 70..100ns, то где-то 4 байта за такт. С моих соображений для работы с видео буфером на DivGMX, в ПДП нет необходимости, т.к. видео область проицируется сразу на внутреннюю память DivGMX. Доступ к памяти DivGMX при необходимости проще организовать из области ПЗУ.
Lethargeek
28.02.2017, 18:05
Если теоритически, рассматриваем оригинальный Спектрум на базе DRAM 70..100ns, то где-то 4 байта за такт. С моих соображений для работы с видео буфером на DivGMX, в ПДП нет необходимости, т.к. видео область проицируется сразу на внутреннюю память DivGMX. Доступ к памяти DivGMX при необходимости проще организовать из области ПЗУ.
Эээ, при чём тут память самого Спектрума и его доступ к памяти DivGMX? Я спросил про достижимую скорость random access между указанными в спецификациях "ПЛИС Altera Cyclone III EP3C5/EP3C10 или Cyclone IV EP4CE6/EP4CE10" и "SDRAM 4/8/16/32MB х 8 bit" в свободное время, остающееся от эмуляции Спектрума (если эмулируется внутри) и поддержки/эмуляции остальных устройств. Не для передачи данных на Спек или от него, а для внутренних нужд гипотетического графического движка.
Ну так бы и спрашивали. Заявленное время от active до active у SDRAM tRC = 66ns. Если Спектрум эмулируется внутри на 3.5MHz, то в запасе еще остается 219ns - 3 случайных доступа к SDRAM (читаем/пишем 3 байта) и это без умного контроллера памяти, который не использует кэш и бурст.
Lethargeek
28.02.2017, 19:55
вполне хватит даже для разворачивания 640х480@60Hz 8bpp. Просто это уже давно работает (сделано 3 года назад), и притом на новом проце @42MHz, хз почему это никому не интересно.
Потому что снова получился "неспектрум", поддержать который новым софтом для спектрумиста непосильно, неспортивно, невыгодно (не в деньгах - в количестве потребителей). Лично мне был бы интересен режим 352x288@50Hz 16bpp (+ время на служебные операции) как база для раскраски игр стандартного Спека. Восьмибитность шины, правда, не радует. Хотя, впритык (при 8bpp) может, и потянет что-то в духе упомянутого в "концепциях"
Lethargeek, если что и способно сейчас творчески развиться, так это мульти-платформенная конфигурация ts-conf, остальное всё насколько протухло, что трогать это стало реально крайне опасно даже для программиста или железячника, что тут уже говорить о простом пользователе.
Что мне сейчас интересно, это закончить разработку двухпроцессорной ts-conf и сделать возможным развёртывание на ней операционной системы.
Lethargeek
28.02.2017, 22:37
vlad, ts-conf это антиспектрум со своими спрайтами аппаратными; как и прочие не похожие на классику "улучшения", для спектрумиста дела не улучшает, а фактически предлагает новый несовместимый комп с ничтожной пользовательской базой, для которого софт нужно писать с нуля (или адаптировать существующий с приложением аналогичных больших усилий)
Lethargeek, так в этом весь и интерес, иначе зачем вообще что-то делать?
Lethargeek
28.02.2017, 22:59
Lethargeek, так в этом весь и интерес,
"весь интерес" для железячника - может быть, но почему-то программистам интересней писать под классику
иначе зачем вообще что-то делать?
почему бы наконец не сделать "что-то" такое, что легко поддерживать спектрумисту?
кстати, вот пример эксперимента в правильном направлении:
https://www.youtube.com/watch?v=rW9JvBq5yRw
Lethargeek, я не против, нужно разработать ТЗ, попробуем это реализовать.
Собрал спектрум подобную двухпроцессорную систему на процессорах nextZ80 по 33.3МГц каждый, совместно делят SDRAM. Процессоры пока работают каждый в своем адресном пространстве по 64К и со своим видео буфером 6912 байт. Для возможности тестирования поддерживается клавиатура с возможность переключения для каждого процессора. Изображение двух спектрумовских экранов наложено на общее разрешение 640х480@60Hz, планирую использовать для тестирования видео режима 640х480 256 цветов.
60041
60042
А что за флешка там воткнута, ну ка, ну ка?
Добавил видео режим 640х480@60Hz 256 цветов. Адрес начала видео области установлен в ноль, для простоты тестирования и отображения содержимого памяти процессоров для наглядности.
https://youtu.be/PvDHs7dZvf0
60079
Smalovsky
12.03.2017, 23:01
vlad, это nzx от Ynicky?
это nzx от Ynicky?
А что, очень похоже? :v2_dizzy_botan:
Smalovsky
12.03.2017, 23:52
vlad, ты назвал файл с буквами nzx и Ynicky тоже так, вот я и подумал, что, возможно, ты сделал его видеорежим.
andykarpov
13.03.2017, 10:48
vlad, такой вопрос: а в репозитарии закоммичена актуальная версия исходников для divgmx_basic?
Пытаюсь завести эту конфигурацию на EP4CE6 в связке с Harlequin 48k, и что-то ооочень странно работает DivMMC, практически не работает.
Холодное включение обычно приводит к черному border и белому paper. Только после сброса видно bootscreen DivMMC.
Меню DivMMC по NMI отрисовывается, после выбора какой-либо игрухи и нажатия на Enter через раз загружается, иногда куча артефактов на экране, какие-то куски меню DivMMC, которые продолжают реагировать на клавиатуру, в общем странное поведение.
Также очень хотелось бы, чтобы USB клавиатура была опциональной для запуска basic-конфигурации.
ЗЫ: В остальном - картинка и звук по HDMI работают.
в репозитарии закоммичена актуальная версия исходников для divgmx_basic?
Да. В общем, ситуация в следующем - для возможности блокировки ПЗУ Спектрума использую сигнал ROMOE1#(A25) и ROMOE2#(A15) (см. схему (https://github.com/mvvproject/DivGMX/blob/master/divgmx_board/manuals/divgmx_sch_rev_a.pdf)). Формируется он на элементах - повторителе с ОК (U9B на схеме) и транзисторе Т1, T2 с резистором R36 10K. На плате Спектрума и на плате Harlequin аналогично, этот сигнал через резистор около 680R идет на ROM CE# (выбор кристалла в раза два тормознее работает чем ОЕ# и зависит от быстродействия ПЗУ, у дешевых микрух оно обычно 150нс стр. 3 мануала (https://www.jaapsch.net/psion/pdffiles/Eprom064k_datasheet_27C512.pdf)).
На предоставленном мне ZX-Spectrum +3, конфигурация Basic работала без проблем, т.к. я на нём её и отлаживал.
Есть несколько возможных вариантов решения проблемы, и их нужно проверять:
если есть возможность, то начать лучше с проверки блокировки ПЗУ через один элемент 2 ИЛИ подключив его место резистора на плате компа и подав управления с DivGMX от U9B (4 вывод) минуя T1 и T2.
подобрать резистор R36 (зависит режим "насыщения") на плате DivGMX.
откорректировать логику FPGA.
andykarpov
13.03.2017, 16:25
В harlequin, судя по схеме, используется 470 Ом резистор для сигнала ROMCS (А25):
60086
Кстати, посмотрел в схему ZX BDI 2.0 - там вообще нет никаких резисторов для транзисторных ключей:
60087
И этот контроллер работает вообще без багов на Harlequin.
Может тоже попробовать выкинуть этот R36?
Может тоже попробовать выкинуть этот R36?
Попробовать разве-что заменить U9 на U6 (74lvc2g34), тогда уже можно и выкинуть :) заодно и транзисторы заменить, типа, а вдруг сработает :)
andykarpov
14.03.2017, 01:06
Попробовать разве-что заменить U9 на U6 (74lvc2g34), тогда уже можно и выкинуть
Попробовал. Заменил U9 на 74lvc2g34, выкинул резисторы R35 и R36. Ничего не изменилось...
- - - Добавлено - - -
в репозитарии закоммичена актуальная версия исходников для divgmx_basic? Да.
Хм, ну как минимум - в исходниках divgmx_basic в git не вижу реакции на кнопку F5, не вижу OSD-меню с отладочной информацией. Значит все-таки не совсем все закоммичено?
shurik-ua
15.03.2017, 10:56
diablo 2 - one love )
но для теста лучше что нибудь поцветастее - типа такого:
http://savepic.ru/13294950.jpg
andykarpov
28.03.2017, 09:40
Думаю закрыть проект в связи с невостребованностью.
Не надо закрывать, плз, давайте лучше допилим! Как минимум basic-конфигурацию.
У меня так и не получилось, кстати, чтобы ESXDOS без проблем запускался в Harlequin.
Осциллографа нет, есть только логический анализатор. Не знаю, чем он мне сможет помочь, фронты и уровни сигналов не покажет :(
Думаю закрыть проект в связи с невостребованностью.Не надо. это всего-лишь весенняя хандра. Пройдет. Наметить направление и двигаться.
Сначала пробовал на +2 issue1 - DivMMC не запустился, щас пробую на issue3, то же самое, но стабильно по нажатию F6 вываливается в черный экран и бордер, без всякого мусора на экране.
shurik-ua
29.03.2017, 03:42
Влад, не чуди - если не ты то кто? ))
Smalovsky
29.03.2017, 21:12
Владик, твоя карточка может быть вполне востребована, например, для новой платы АТМки от зорела и Максагора.
Вообще, у меня версия, что Владика попросили закончить проект. Это может показаться бредовой версией, но всё же...
Известно, что Влад входит в клан тэсэлыча и вполне предан лидеру. Последняя разработка Влада - режим 640x480 256 цветов + палитра, затмевала графические режимы тсконфы. Думаю, тэсэлычу это не понравилась и он поставил вопрос ребром - либо DivGMX либо членство в клане. Если Влад психологически зависит от лидера, то скорее всего он прекратит проект. И уже ничего не сделаешь - никакие доводы Влад не услышит.
Вообще, у меня версия
http://savepic.ru/13374370.png
perestoronin
30.03.2017, 00:18
Думаю закрыть проект в связи с невостребованностью.
Если автор уходит "на пенсию", это не значит, что его проекты канут в лету :)
Придут другие, которые подхватят и будут не спеша дальше начатое использовать по смоему уразумению.
Закрывать ничего не надо, можно просто сказать допиливайте помогайте чем можете, а я понаблюдаю, но активное участие принимать далее не буду.
Ну примерно как с ZX Evolution.
PS. Закрывать не надо - инноваций в ретро и без того мало :)
Вернемся к отладке basic-конфы. Итак, осциллограф старый пропил :) на новый еще не накопил, значит методом тыка буду действовать, пока мысли (на выходных попробую реализовать).
Есть оригинальный +2 iss.3, значить на разъем заведен только сигнал #ROMCS (ROMOE1#) А25. Требуется запустить в режиме divMMC. На iss.1 работал divIDE, смотрим на схему divIDE.
1. Для начал заменю R36 на 470 Ом., гляну, скорее всего не запустится.
2. Попробую схему отключения ROM из divIDE: выкину R36, заменю T1 на BC817-25 (SOT23 аналог BC337).
3. Для контроля еще заклею на разъеме A13 (IORQGE), в divIDE он вообще не используется.
Но при этом при всем, на iss.1 срабатывало подставление ROM по нажатию F5, но опять же проверял при HDMI подключении, попробую при RGB.
Если это все не возымеет должного действия, то скорее всего нужно будет рыть в сторону логики FPGA.
У кого какие мысли есть по этому поводу?
если не ошибаюсь (сию минуту проверить несмогу) то divIDE ещё и командует (программно/аппаратно?)
ROM`ами на компе.
у меня серый спек при включении с воткнутым divIDE сразу переходил в 48ой бейсик
Отлучение IORQGE результатов не дало, замена резистора на 470 то же. Все как было, так и осталось. divMMC не стартует, но ROM'82 подставляется. Имеет смысл менять транзисторы как в схеме DivIDE и вообще убирать R36?
Поменял транзисторы, по ощущениям вроде лучше, но все равно не стартует divMMC, но как бы пытается, потому что в какой-то момент даже начало логотипа начал отрисовывать, что-то видимо с таймингами. Кто тормозит? Человек с паяльником не в счёт. :)
OneChipMSX для DivGMX (сборка 20170330) (Скачать (https://github.com/mvvproject/DivGMX/tree/master/divgmx_msx))
основана на http://www.caro.su/msx/ocm_de1.htm
Большое человеческое спасибо caro за предоставленные исходники.
Я подключил DIVGMX к Орель БК-08, и пока не поменял Z80 на cmos версию - были глюки в divmmc. Видно что то с логическими уровнями. А также не успевала переключаться мс пзу с бейсиком, пришлось ее вытащить и прошивку засунуть в циклон.
https://uploads.tapatalk-cdn.com/20170410/e7d53466e6b03ac0b08fdb9f586d9d81.jpg
Отправлено с моего K6000 Pro через Tapatalk
Огромное спасибо vlad за разработку, его устройства это просто произведения искусства!
Отправлено с моего K6000 Pro через Tapatalk
Захотелось мне расширить память на орельке за счет DIVGMX... Отключил буфер чтения с РУ5, немного доработал divgmx basic конфигурацию и в результате как бы все работает, тесты проходит, но все равно при чтении или записи памяти возникают ошибки. ПЗУ бейсика и DIVGMX - зашито в циклон, и отрабатывает нормально, без глюков. Т.е. на помехи по шине списать нельзя. А как только интенсивное обращение к SDRAM - все капец как плохо. Тактовый сигнал Z80 несинхронен по отношению к clk_bus в циклоне, но ведь все сигналы к нему приводятся, правда возникает задержка 35 нс. Неужели SDRAM иногда не успевает? Есть какие нибуть мысли?
Вот кусок кода, как сделано
selector <=
X"00" when (mreq_n_i = '0' and rd_n_i = '0' and a_i(15 downto 14) = "00" and divmmc_amap = '0' and divmmc_e3reg(7) = '0') else -- ROM #0000-#3FFF
X"01" when (mreq_n_i = '0' and rd_n_i = '0' and a_i(15 downto 13) = "000" and (divmmc_amap or divmmc_e3reg(7)) /= '0' and kb_fn(6) = '1') else -- DivMMC ESXDOS ROM #0000-#1FFF
X"02" when (mreq_n_i = '0' and rd_n_i = '0' and a_i(15 downto 13) = "001" and (divmmc_amap or divmmc_e3reg(7)) /= '0' and kb_fn(6) = '1') else -- DivMMC ESXDOS RAM #2000-#3FFF
X"12" when (mreq_n_i = '0' and rd_n_i = '0' and a_i(15 downto 14) /= "00") else -- other RAM
case selector is
when X"00" => BUS_D <= rom_do; BUS_NROMOE <= '1'; BUS_NIORQGE <= '0'; rom_a13 <= not a_i(13); rom_a14 <= a_i(13); -- ROM
when X"01" => BUS_D <= rom_do; BUS_NROMOE <= '1'; BUS_NIORQGE <= '0'; rom_a13 <= '0'; rom_a14 <= '0'; -- ROM DivMMC ESXDOS
when X"02" => BUS_D <= sdr_do; BUS_NROMOE <= '1'; BUS_NIORQGE <= '0'; -- SDRAM
when X"12" => BUS_D <= sdr_do; BUS_NROMOE <= '1'; BUS_NIORQGE <= '0'; -- SDRAM
Причем память DIVMMC - работала как положено до отключения РУ5, т.е. SDRAM DIVMMC подключалась вместо верхних 8 кб
ПЗУ, глюков при загрузке не замечено.
HardWareMan
11.04.2017, 16:00
kasper, SDRAM требует несколько циклов своей CLK для входа в режим, она имеет CAS latency, она требует циклы Self Refresh. Все это накладывается и мы имеем алиас. Т.е., эффективная частота "сэмплирования" все системы SDRAM значительно ниже необходимой.
надо использовать сигнал O_IDLE контроллера SDRAM? Я правильно понял?
Сделал строб по чтению, записи и рефрешу так:
-- SDRAM
process(clk_sdr,sdr_wr_o,sdr_wr)
variable tmp: std_logic_vector(2 downto 0);
begin
if rising_edge(clk_sdr) then
sdr_wr_o <= '0';
if (sdr_wr='1') and (tmp(0)='0') then
sdr_wr_o <= '1';
end if;
tmp(0) := sdr_wr;
tmp(1) := tmp(0);
tmp(2):= tmp(1);
end if;
end process;
Но все равно игры сбрасываются спонтанно, а все тесты работают как часы - ошибок нет(. Где то жесткая рассинхронизация, как я ненавижу такие проблемы
vlad, там одна проблемка с конфигурацией speccy, я в личку написал
Понадобилось мне подключить DIVGMX к обычному монитору. Для этого был приобретен такой https://www.olx.ua/obyavlenie/perehodnik-ultra-hdmi-a-plug-vga-0-2-m-uc-01-IDr9JRA.html#e34a06ba62 переходник. Питается он от 5В подаваемых источником видеосигнала на 18 ножку разъема HDMI. Естественно он у меня не заработал, т.к. на нем +2.7В(3.3 В минус падение на диоде D1). Я не долго думая (а зря) подаю с А3 ZX-BUS +5В на 18 HDMI. Переходник заработал, все чудесно, но перестала работать DS1338 и не работает DDC (даже если перемычку с А3 ZX-BUS +5В на 18 HDMI убрать). Не могу понять, что вышло из строя, выходы альтеры или DS1338, и, самое главное, почему? Ведь - D1 подключен к 18 выв. HDMI (+5В) , а + к +3.3В, то есть в обратном направлении. Т.е. ничего плохого не должно было произойти... Но произошло. Почему?
Наверное все-таки циклон подпортился, sqw сигнал присутствовал. А на SDA и SCL - смесь импульсов, у меня старый осциллограф, посмотреть не могу точно. Присутсвует сигнал с амплитудой от 1.2 до 3.3 вольт, и он сложен с сигналом амплитудой от 0 до 3.3В. Так выглядит по крайней мере...
- - - Добавлено - - -
На полку - не интересно.
Для дальнейших экспериментов куплен ZX Spectrum 128K +2B, у него 2 ПЗУшки стоит. Буду смотреть дальше, что не так то?
Mor-Da, сделал подтверждение на запрос SDRAM, попробуй. Basic (тестовая сборка 20170421) (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmc_basic20170421.zip).
Mor-Da, сделал подтверждение на запрос SDRAM, попробуй. Basic (тестовая сборка 20170421) (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmc_basic20170421.zip).Не помогло, запускал на сером.
На "+2" просто черный экран и бордер, на "+2B" черный бордер и на экране геометрическая чушь. Если вынуть MicroSD-карту, ничего не происходит, работает как работал. Мысли? Может я чего на карту не так записываю. У кого DivMMC взлетел, опишите, чего на карте?
Попробуйте поменять проц на CMOS версию, и ПЗУ на более быстродействующее. У меня на 48 issue 3 и на БК-08 заработало с заменой. На карте содержимое архива.
Что делаем дальше? Поднимаем GS, Ultra DMA Sound Card или делаем видео карту? Идеи?
Что делаем дальше? Поднимаем GS, Ultra DMA Sound Card или делаем видео карту? Идеи?DivMMC надо бы поднять. (смайлик стеснения)
andykarpov
24.04.2017, 13:09
Попробуйте поменять проц на CMOS версию, и ПЗУ на более быстродействующее. У меня на 48 issue 3 и на БК-08 заработало с заменой. На карте содержимое архива.
Я тоже решил попробовать еще разок на своем арлекине. Проц и так стоит Z84C0020PEC, поставил ПЗУ-ху W27C512-45NZ, особых улучшений не замечено.
На медленную ПЗУ и медленный проц теперь точно грешить не следует :)
1) При включении - черный экран. Похоже DivGMX не успевает проинициализироваться, пока идет сброс спектрума. Тут нужно что-то бы сделать, как-то программно нажимать на RST после старта DivGMX ? Либо сброс конкретного экземпляра удлинить :)
2) ESXDOS загружается после шаманства с функциональными кнопками и пробелом, дает выбрать файл для загрузки. Хотелось бы, чтобы он стартовал как-то сразу при включении, а по кнопке NMI чтобы только показывал свое меню.
3) Выбор файла и нажатие на Enter приводит к артефактам на экране (иногда в виде желтых горизонтальных полос) и 100% зависанию спектрума.
Похоже DivGMX не успевает проинициализироваться, пока идет сброс спектрума. Тут нужно что-то бы сделать
Смотреть за BUF_NRESET, добавить его к логике сброса.
ESXDOS загружается после шаманства с функциональными кнопками и пробелом, дает выбрать файл для загрузки.
Кто-то проверял, Z-Controller работает?
Ну не знаю) мне помогло. У меня инициализируется так - зажимаю пробел и нажимаю сброс. Само после сброса в esxdos входит редко (в нем проверка на То что инициализация успешно прошла - по одному байту). И esxdos очень активно использует бейсик, при печати символов так точно... Поэтому мне кажется это тайминги. Плюс там еще и резистор у вас в цепи romcs.
Отправлено с моего K6000 Pro через Tapatalk
andykarpov
24.04.2017, 14:13
Поэтому мне кажется это тайминги.
Да, но куда копать ? :)
Плюс там еще и резистор у вас в цепи romcs.
Резистор попробовать увеличить до 680 Ом, как в оригинале ?
UPD: поменял резистор для ROMCS на 680 Ом, не помогло.
Да, но куда копать ?
Копать в конкретный issue, их там на каждую модель (http://www.tomdalby.com/retro/hardware.html)по несколько разных. Начните с того, что у вас за модель, её схемы, какие сигналы на ZXBUS у вас задействованы в управлении ROM (B4:ROM1OE#, A15:ROMOE2#, A25:ROMOE1#)?
Какие и сколько ROM установлены, на какие управляющие выводы OE# и CS# поступают сигналы с ZXBUS, какой номинал резистора в цепи блокировки?
Конфигурация разрабатывалась для ZX Spectrum 128 +3 AMSTRAD Z78030 ISSUE 2. Вечером гляну точно выпуск.
http://www.tomdalby.com/retro/images/+3_inside_i2.jpg
Схема (http://zxnet.co.uk/spectrum/schematics/Z70830.pdf)
Материалы (http://www.worldofspectrum.org/infoseekid.cgi?id=1000496)
Модификации (http://zxnet.co.uk/spectrum/schematics/)
Вообще нужно избавляться от резисторов ((. Эта смесь аналоговой и цифровой схемотехники работает нестабильно. Только что включил бк- 08 (я на ней играюсь в основном) работает как надо глюков не замечено. А на 48 даже с замененой пзу - глючит крайне разнообразно. 3 раза из 10 снапшоты с ошибками вылетают. В Бк - romcs на ЛЛ1 сделал.
Отправлено с моего K6000 Pro через Tapatalk
Вообще нужно избавляться от резисторов
Выше я про элемент 2ИЛИ уже писал. Раньше когда у меня был Робик, тоже бывало глючел до или при прогреве, пока все цепочки RC и диоды вместо ОК не заменил как положено на логику.
Что делаем дальше? Поднимаем GS, Ultra DMA Sound Card или делаем видео карту? Идеи?
Поднимаем GS! [emoji3] И у меня лично жуткое желание заиметь на divgmx все клоны сразу . Профи, атм. И т.д. Т.е. процессор внешний, а divgmx управляет выводом графики и памятью, джойстиками, клавиатурами, юсб принтером (иммитация zx lprint3). Еще очень хочется эмулятор nemoide, atm ide, profi ide на sd card, чтобы была возможность запускать соответствующие софты на них. Вот такая идея фикс). Сплав нового и старого.
Отправлено с моего K6000 Pro через Tapatalk
andykarpov
24.04.2017, 16:19
Выше я про элемент 2ИЛИ уже писал. Раньше когда у меня был Робик, тоже бывало глючел до или при прогреве, пока все цепочки RC и диоды вместо ОК не заменил как положено на логику.
Как-то так предлагаете сделать?
60759
На арлекине как раз есть несколько неиспользуемых 2ИЛИ элементов. Ох, как не хочется дороги резать и МГТФ-ить :) Такая была красивая платка :)
Поднимаем GS!
Хорошо, давай попробуем GS, отложу пока графику, экран 640х480 (http://zx-pk.ru/threads/27636-divgmx-(mnogoprotsessornaya-sistema-na-kristalle-mpsoc).html) 256 цветов для точки уже работает, осталось увязать его для ускорителя сдвига с видеобуфером 1024х512 для изменения положения и переходить к слоям и спрайтам.
Как-то так предлагаете сделать?
резистор на GND. Не спеши пока резать, поищем в чем проблема.
andykarpov
24.04.2017, 17:19
резистор на GND. Не спеши пока резать, поищем в чем проблема.
Да, точно, на GND, спасибо.
Да ладно, уж порежу, хуже точно не будет, зато по-правильному :)
Ну и исключим вариант с ROMCS раз и навсегда.
Там по-хорошему если в правильных местах порезать - ничего и не видно будет.
Кстати, в арлекине ROMCS идет на !CE ПЗУ, а в схеме Вашего Amstard'а - на !OE. И резистор в Вашем случае, судя по схеме, аж 1кОм...
Может 1кОм для начала попробовать поставить?
Кстати, в арлекине ROMCS идет на !CE ПЗУ, а в схеме Вашего Amstard'а - на !OE. И резистор в Вашем случае, судя по схеме, аж 1кОм...
Может 1кОм для начала попробовать поставить?
Возможно замена резистора...
Есть еще интересная особенность управления ROM на примере Am27C128 (http://noel.feld.cvut.cz/hw/amd/11420d.pdf), посмотри на задержки для tCE и tCS (стр.2-29), у tCE она в разы меньше.
andykarpov
24.04.2017, 21:19
Возможно замена резистора...
Резистор пробовал 1к - не помогло.
Сделал переделку через 2ИЛИ для ROMCS на плате арлекина, убрал транзисторы из DivDMX (пустил сигнал ROMCS напрямую) - не помогло.
Я в печали... Куда еще можно копнуть ?
Могу попробовать логическим анализатором снять картинку. Но нужны рекомендации - какие сигналы и в какой момент времени.
Если я не путаю ты буфера вроде бы менял на DIVGMX, может там что то не пропаялось? ... Просто у меня почти сразу запустилось... Если бываешь в Днепре, можно на моей БК-08 проверить... Может причина в твоем конкретном экземпляре устройства...
Сделал переделку через 2ИЛИ для ROMCS на плате арлекина, убрал транзисторы из DivDMX (пустил сигнал ROMCS напрямую)
Можно было T2 не убирать, резистор R36 на плате divGMX оставил хоть? Хотя если на БК-08 работает, нужно глянуть и сравнить её схему.
andykarpov
24.04.2017, 23:32
Можно было T2 не убирать, резистор R36 на плате divGMX оставил хоть? Хотя если на БК-08 работает, нужно глянуть и сравнить её схему.
Можно было не убирать T2, но для арлекина он там все равно в никуда подключен :) И для чистоты эксперимента его нужно было сдуть :)))
R36 тоже убрал. И вот это зря, наверное?
Там же на стороне компа я сделал pull-down (притянул к земле).
Вопрос: а сигнал BUS_NROMOE может быть в Z-состоянии ?
- - - Добавлено - - -
Если я не путаю ты буфера вроде бы менял на DIVGMX, может там что то не пропаялось?
Этот вариант я не исключаю. Запросто где-то может быть непропай.
С другой стороны, как минимум, шина данных и адресные линии A0..A13 пропаяны норм, иначе я бы не видел картинку и не слышал звук.
А вот остальные линии нужно бы проверить как-то, имхо.
Кстати, у меня jic файлы грузятся некорректно (те которые vlad выкладывает в zip). Просто не работает, нет сигнала HDMI, ни на что не реагирует. Пользуюсь QUARUS 2 v13.0.1 64 bit. А те конфигурации где есть исходники, компилятся, делаю jic, загружаю и все ок. Хотел посмотреть новый суперэкран - и нифига не получилось... ((( И кстати так со всеми конфигами, которые в jic (из зипов). vlad please help!
Несовместимось версий QUARTUS?
andykarpov
25.04.2017, 00:08
Кстати, у меня jic файлы грузятся некорректно (те которые vlad выкладывает в zip).
Несовместимось версий QUARTUS?
Вероятнее всего - несовместимость ПЛИС.
у меня ep3c10e144 c8n, вроде как у всех, флеш 64 мБит divgmx ultimate.а у тебя грузятся? И какой версией quartus...
Отправлено с моего K6000 Pro через Tapatalk
andykarpov
25.04.2017, 01:29
У меня EP4CE6.
Соответственно - нет, я сам собираю из того, что есть в git.
Там особо вариантов-то и нет, на этой плисине только basic-конфигурация помещается... ну и hdmi test :)
R36 тоже убрал. И вот это зря, наверное?
нужно вернуть.
Вопрос: а сигнал BUS_NROMOE может быть в Z-состоянии ?
не может.
А вот остальные линии нужно бы проверить как-то, имхо.
может для проверки платы тест разработаем?
Кстати, у меня jic файлы грузятся некорректно
пересобрал (https://github.com/mvvproject/DivGMX/raw/master/divgmx_nzx/divgmx_nzx20170403_ep3c10.zip)
На github есть такая штука как Issues, нужно как-то научиться её пользоваться...
пересобрал (https://github.com/mvvproject/DivGMX/raw/master/divgmx_nzx/divgmx_nzx20170403_ep3c10.zip)
На github есть такая штука как Issues, нужно как-то научиться её пользоваться...
да не вопрос)
andykarpov
25.04.2017, 09:41
нужно вернуть.
Вернул. Не помогает.
может для проверки платы тест разработаем?
Отличная идея!
Мои наброски конфигурации теста платы HDT (сборка 20170124 (https://github.com/mvvproject/DivGMX/tree/master/divgmx_test_board))
60772
Текстовый режим 1024х768 128х48 знакомест, 16 цветов, быстрый процессор nz80@42MHz...
andykarpov
25.04.2017, 10:49
Мои наброски конфигурации теста платы HDT (сборка 20170124 (https://github.com/mvvproject/DivGMX/tree/master/divgmx_test_board))
Выглядит очень круто!
Но оно еще не работает? SDRAM протестить не получится?
Или может я не разобрался, как его запустить? :)
Мои наброски конфигурации теста платы HDT Супер, а для EP3C10E144C8N будет?
Супер, а для EP3C10E144C8N будет?
Должно запускаться.
Аппаратную часть я смогу доделать, вот кто-бы с программной помог?
...вот кто-бы с программной помог?А что нужно делать? Еще вопрос, Влад, BC846 ставить A или B? Они разные по хар-кам, у В вроде как усиление больше. Я ставил А.
andykarpov
25.04.2017, 13:34
А что нужно делать? Еще вопрос, Влад, BC846 ставить A или B? Они разные по хар-кам, у В вроде как усиление больше. Я ставил А.
Ээээ, а я вообще ставил MMBT3904 (маркировка 1AM) :)
Посмотрел, у них вроде характеристики совпадают...
По-моему, туда можно что угодно поставить , это ж повторитель эмиттерный, хоть КТ315)))
hfe у А - 200, а у В -330. hoe у А - 18, у В - 30 μS
andykarpov
25.04.2017, 15:08
Запустил divdmx_test_ram на EP4CE6, пришлось отключить видео-подсистему полностью, не хватило M9K-блоков.
Тест запустился, то есть как минимум подмена ROM работает.
Еще фишка в том, что в +2В отключение РОМа А25 - не используется, только А15 и В4. В +2 (сером) - только А25, а В4 и А15 висят в воздухе. На +2В IORQGE не сформирован и болтается в воздухе (но в DivIDE он и не используется). Я его на плате сделал по схеме от Черного Кота.
P.S. А подмена она и без теста работала, в последней версии там подставляется ПЗУ с тестом от FruitCake
В общем, вернул всё на место как на схеме. из доделок. только проводок от А25 до В4. Так и ничего.
А у меня такая мысль появилась, возможно неправильная, может это конфликт с ula? В +2B как в 48 , ula на шину данных через резисторы подключена?
Отправлено с моего K6000 Pro через Tapatalk
ula на шину данных через резисторы подключена?На +2 (grey) - да. На +2В - напрямую.
andykarpov
26.04.2017, 18:51
Ради спортивного интереса воткнул КР1858ВМ1 вместо Z84С0020.
Мало того, что арлекин стартует не с первого раза, так на DivGMX даже начальный экран загрузки DivMMC виснет...
Вот вот) а у меня нормально заработал фирменный Z84C0006PEG
Отправлено с моего K6000 Pro через Tapatalk
Кстати, а Z84C0020 внезапно не из серии 0512?
Отправлено с моего K6000 Pro через Tapatalk
andykarpov
26.04.2017, 19:10
Кстати, а Z84C0020 внезапно не из серии 0512?
Внезапно 0512 :) А что с этой серией не так?
Сегодня первый раз подключил DivGMX (заказывал в сборе) к своему +2 grey - матрац при включении. Прошу помощи. От девайса нужен как миниму hdmi. И да, как заливать прошивки?:v2_dizzy_botan:
Добро пожаловать в клуб)
Отправлено с моего K6000 Pro через Tapatalk
CodeMaster
27.04.2017, 20:47
А что с этой серией не так?
http://zx-pk.ru/threads/21743-z84c0020pec-0512-lk.html
И да, как заливать прошивки?USBblaster-ом через Quartus.
Mor-Da, тебе так и не удалось подружить DivGMX с серым?
Mor-Da, тебе так и не удалось подружить DivGMX с серым?Ни с серым, ни с черным.
andykarpov
27.04.2017, 23:11
Вот интересно услышать от Black_Cat, это ж его схема:
http://zx.clan.su/_fr/1/7013233.png
Сигнал /IORQGE формируется с RC-цепочкой.
Как это влияет на форму / задержки сигнала?
Может для DivGMX попробовать тоже передать на ОК вместо ОЭ ?
andykarpov
28.04.2017, 22:22
Еще одна мысль тут возникла, kasper, попробуешь?
В исходниках tslabs, в частности https://github.com/tslabs/fpga/blob/master/TSXB/fpga_kick/src/top.v, для работы с ZX-BUS,
PLL сконфигурирован на частоту 112.5 МГц (это как бы в 4 раза выше, чем 28 МГц для clk_bus в DivGMX).
Ок попробую!
Отправлено с моего K6000 Pro через Tapatalk
PLL сконфигурирован на частоту 112.5 МГц (это как бы в 4 раза выше, чем 28 МГц для clk_bus в DivGMX)
Сделал две сборки для ПЛИС ep3c10e144c8n (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmx_ep3_busic_20170429.zip)и ep4ce10e22c8n (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmx_ep4_busic_20170429.zip), задал частоту clk_bus = 112MHz.
Есть ещё парочка мыслей где проблема, нужно будет кому-то пробовать запускать тестовые сборки, или придется искать спек +2 для отладки.
Спасибо!
Отправлено с моего K6000 Pro через Tapatalk
Сделал две сборки для ПЛИС ep3c10e144c8n (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmx_ep3_busic_20170429.zip)и ep4ce10e22c8n (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmx_ep4_busic_20170429.zip), задал частоту clk_bus = 112MHz.
Есть ещё парочка мыслей где проблема, нужно будет кому-то пробовать запускать тестовые сборки, или придется искать спек +2 для отладки.Ничего не изменилось. На сером - просто черный экран, на черном - моргающий разноцветный мусор. Я каждую тестовую сборку запускаю.
andykarpov
29.04.2017, 19:48
Сделал две сборки для ПЛИС ep3c10e144c8n и ep4ce10e22c8n, задал частоту clk_bus = 112MHz.
А можно попросить делать сборки еще и для ep4ce6e22c8n, тогда и я смогу тестить :)
В своих исходниках пробовал делать 112МГц, что сказать - оно работает, но игрухи через раз нормально загружаются.
Надо копать дальше! Даешь 224МГц! :)))
А можно попросить делать сборки еще и для ep4ce6e22c8n, тогда и я смогу тестить :)
В своих исходниках пробовал делать 112МГц, что сказать - оно работает, но игрухи через раз нормально загружаются.
Надо копать дальше! Даешь 224МГц! :)))
На плл выставил 112 мгц и подал вместо CLK_ bus? На опрос шины?
Отправлено с моего K6000 Pro через Tapatalk
andykarpov
29.04.2017, 20:00
Ничего не изменилось. На сером - просто черный экран, на черном - моргающий разноцветный мусор. Я каждую тестовую сборку запускаю.
При включении спектрума с DivGMX - такая же фигня, либо черный экран, либо мигающие квадратики. Принудительный сброс после включения решает проблему.
А кнопка RESET есть на этих черных и серых вариантах?
DivGMX при включении питания загружает конфигурацию из флешки, и пока это происходит - спектрум успевает запуститься, из-за чего DivGMX не успевает поймать сигнал сброса, чтобы запуститься.
Если кнопки сброс нет - ее можно вывести с краевого слота DivGMX на проводках (контакт A20 + земля A6, например).
- - - Добавлено - - -
На плл выставил 112 мгц и подал вместо CLK_ bus? На опрос шины?
угу, отключил saa, вместо 8МГц clk_saa сконфигурил 112 МГц и заюзал этот сигнал на опрос шины и чтение регистров.
В своих исходниках пробовал делать 112МГц, что сказать - оно работает, но игрухи через раз нормально загружаются.
Попробуй ещё вот так:
process (clk_bus)
begin
if clk_bus'event and clk_bus = '1' then
mreq_n_i <= BUS_NMREQ;
iorq_n_i <= BUS_NIORQ;
rd_n_i <= BUS_NRD;
wr_n_i <= BUS_NWR;
a_i <= BUS_A;
d_i <= BUS_D;
reset_n_i <= BUF_NRESET;
m1_n_i <= BUS_NM1;
rfsh_n_i <= BUS_NRFSH;
end if;
end process;
andykarpov
30.04.2017, 21:21
Попробуй ещё вот так:
Без регистров не хочет работать...
Так точно, я тоже пробовал
Отправлено с моего K6000 Pro через Tapatalk
Без регистров не хочет работать...
Значит проблема в работе дешифратора divMMC. Что, я по этому поводу думаю - нужно сделать свою тестовую ПЗУ вместо ESXDOS и посмотреть, как отрабатываются все адресные ловушки и переключения. Всю необходимую информацию можно передать в OSD. Исходники уже причесал и можно обновить.
andykarpov
30.04.2017, 22:31
Значит проблема в работе дешифратора divMMC. Что, я по этому поводу думаю - нужно сделать свою тестовую ПЗУ вместо ESXDOS и посмотреть, как отрабатываются все адресные ловушки и переключения. Всю необходимую информацию можно передать в OSD. Исходники уже причесал и можно обновить.
Ура! Давайте тестировать! Исходники можно в отдельную ветку закоммитить, наверное, чтобы не засорять master?
Смотрю никто не пишет, значит всё устраивает...
andykarpov, хорошо, отправляй экземпляр если не передумал, на майских выходных сделаю его поддержку, если успею то и GS заодно...
andykarpov
04.05.2017, 14:26
Смотрю никто не пишет, значит всё устраивает...
andykarpov, хорошо, отправляй экземпляр если не передумал, на майских выходных сделаю его поддержку, если успею то и GS заодно...
Добро! Жду ответ в ЛС :)
Смотрю никто не пишет, значит всё устраивает...Про что писать?
Значит проблема в работе дешифратора divMMC. Что, я по этому поводу думаю - нужно сделать свою тестовую ПЗУ вместо ESXDOS и посмотреть, как отрабатываются все адресные ловушки и переключения. Всю необходимую информацию можно передать в OSD. Исходники уже причесал и можно обновить.Вот я жду. Последняя от 29-04-17 - не запускается DivMMC (моргает в такт переключения BDI0/1. Или я что-то пропустил?
Про что писать?
Да хз про что, пиши хотелки, я их в начало темы закреплю для мотивации.
Вот я жду. Последняя от 29-04-17 - не запускается DivMMC
Экземпляр приедет, буду вникать, что к чему...
Или я что-то пропустил?
Пишут, что ZX Spectrum Next уже почти готов... В общем, стараюсь не отстать (http://zx-pk.ru/threads/27636-divgmx-(mnogoprotsessornaya-sistema-na-kristalle-mpsoc).html). Хоть какая-то мотивация, что-то вообще делать.
А, моя хотелка - это поддержка USB- флэшки (в параллель с карточкой) и плюс оттуда прошивка Циклона.
поддержка USB- флэшки (в параллель с карточкой) и плюс оттуда прошивка Циклона.
Нужно будет придумать механизм обмена между VNC2 и FPGA, разработать стандарт для разного типа пакетов...
А я нашел причину моих проблем с divgmx - моя невнимательность - перепутал romoe1# и rom1oe#. Как плата у меня работала, неизвестно, буфера в плате качественные, пересиливали 555ир22 и все остальное
Отправлено с моего K6000 Pro через Tapatalk
А я нашел причину
Поздравляю. А NZX (http://zx-pk.ru/threads/27636-divgmx-(mnogoprotsessornaya-sistema-na-kristalle-mpsoc).html?p=911015&viewfull=1#post911015) работает?
Только что проверил- на ep3c -все супер, работает! Спасибо!
Отправлено с моего K6000 Pro через Tapatalk
https://uploads.tapatalk-cdn.com/20170505/52caaffd27c0ff794fc84e7f409fcaac.jpg
Ура!!! Все получилось! Все работает!! Легким движением руки орель бк 08 превращается ... во что угодно. с помощью чудесной платки)))
Отправлено с моего K6000 Pro через Tapatalk
https://uploads.tapatalk-cdn.com/20170505/a73b903c92ee1519ac64dcbe8ab5ebac.jpg
Двух мониторная конфигурация)))
https://uploads.tapatalk-cdn.com/20170505/6217f873f29618e35b66151341c5941d.jpg
правда, так как орель обычная 48 второй экран видно только на hdmi
Ок) у меня сегодня прекрасный день)
Отправлено с моего K6000 Pro через Tapatalk
Влад, а в nzx буфера на вход с zxbus настроены? Можно в воткнутую в реал плату прошивку загружать?
Отправлено с моего K6000 Pro через Tapatalk
Попробуй клавишу F2 и что-то на Basic набрать, для проверки его скорости ) Поддержку SD ещё сделаю, тогда вообще будет классно. В планах демка, где можно будет спрайтами в Warcraft поуправлять. Ну и для первого ядра сделаю ещё возврат в Basic, а то работает для смены картинок сейчас.
- - - Добавлено - - -
в nzx буфера на вход с zxbus настроены? Можно в воткнутую в реал плату прошивку загружать?
Управление направлением буферов подтянуты к GND, т.е. направление от ZXBUS к FPGA, вывода которой при инициализации как входа. Думаю можно.
Ок! Круть! У меня получилось что nzx в 15 раз быстрее реала, что дает примерно 52.5 мгц тактовой. Проверял на circle в цикле.
Отправлено с моего K6000 Pro через Tapatalk
Це крутіше крутішого!)
Отправлено с моего K6000 Pro через Tapatalk
перепутал romoe1# и rom1oe#В чем суть перепутки? У меня как заведено, так все и есть.
Суть в том, что нужно было взять сигнал для отключения пзу и рам орельки с ножки А25 а я взял с B4 а он вообще в воздухе болтается, не подключен, это видно все по схеме, а так как буфера дивжмх мощнее оказались чем ир22 на плате, это было почти незаметно , все работало но с глюками.
Отправлено с моего K6000 Pro через Tapatalk
Суть в том, что нужно было взять сигнал для отключения пзу и рам орельки с ножки А25 а я взял с B4 а он вообще в воздухе болтается, не подключен, это видно все по схеме, а так как буфера дивжмх мощнее оказались чем ир22 на плате, это было почти незаметно , все работало но с глюками.А, ну т.е. это не для моего случая. ОК, подожду пока Владу приедет оригинальный Спек. Хотелки: а может для оригинальных спеков попробовать еще реализовать другие интерфейсы, который поддерживается в прошивках +3e/+2e Линк (http://www.worldofspectrum.org/zxplus3e/) Ну хотя б ZXMMC (http://www.probosci.de/zxbada/zxmmc/index.html), но вот фишка в том, что сырков нет, и реализована в Xilinx.
Достаточно-ли тут (http://www.probosci.de/zxbada/zxmmc/cpld.html) инфы, чтоб сделать? А, Влад?
А эмуляция TR-DOS со всякими там хитролоадерами, лазающими к портам ВГ на этой штуке работает?
в конфигурации tsconf - почти все работает, в speccy конфигурации - divmmc процентов 80-90 запускает (zxformat 8 не работает, и некоторые другие софты, немного их))
Отправлено с моего K6000 Pro через Tapatalk
сегодня еще раз убедился, что нужно пользоваться качественными флюсами - стал глючить divgmx, думаю , что за фигня? Присмотрелся, ножки буферов немного почернели. Нагрел паяльной станцией, смыл спиртом вытекший их подних флюс. Работает 2 часа, потом опять начинается...Нагрел, смыл, пока полет нормальный... Видно под действием тока в остатках флюса происходит химическая реакция и его сопротивление уменьшается.
Отправлено с моего K6000 Pro через Tapatalk
andykarpov
05.05.2017, 20:39
сегодня еще раз убедился, что нужно пользоваться качественными флюсами
Что за флюс? Китайский RMA-223? :) Этим "жиром" лучше только ведра паять :)
Фирмовый Amtech в voron.ua есть, я брал, паяется все офигенно.
(( польская хрень с глицерином 100500 раз говорил себе, выкинь его, pasta do lutovaniya)))
Отправлено с моего K6000 Pro через Tapatalk
Оригинальным AMTECH RMA-223 паяю, дорогой конечно, зараза, но он стоит того.
Vlad, а сколько слоев в плате Divgmx?
Отправлено с моего K6000 Pro через Tapatalk
Я недолго радовался((((
Отправлено с моего K6000 Pro через Tapatalk
Я недолго радовался((((Ну и чего случилось-то?
Я снова счастлив).Все свои ошибки устранил: вымыл некачественный флюс из под микросхем (затек когда 74alvc245 менял) и разобрался почему неустойчиво работало пзу в циклоне (влияло буквально все, нагрев, емкость шины данных, положение звезд на небе)). А квартус сразу предупреждал, что латчи это небезопасно))). В общем все работает: пзу и озу отключается и заменяется на sdram и пзу в циклоне, esxdos работает, можно двигаться дальше.. Кстати, у меня Esxdos 0.86, она автоматом boot подставляет на диски без оного, можно было бы заменить версию 0.85 в прошивках/исходниках.
На плате DivMMC делалась доработка для возможности работы с +2A/+3.
Даташыт на 74lvc2g07. Басурмане получается поделили Vcc пополам. А если сделать также и выкинуть R35, R36? Мастера схемотехники, что думаете? http://i46.fastpic.ru/thumb/2017/0510/ce/b9f6c4fa3151faf284d125c06a5ef7ce.jpeg (http://fastpic.ru/view/46/2017/0510/b9f6c4fa3151faf284d125c06a5ef7ce.jpg.html)http://i33.fastpic.ru/thumb/2017/0510/b4/fa371b463676289197353a21534324b4.jpeg (http://fastpic.ru/view/33/2017/0510/fa371b463676289197353a21534324b4.jpg.html)
R35 и R36 выкидывать как-раз не нужно, да и вообще там ничего не нужно трогать, сегодня если получится договориться взять +3 , сравню осцилом сигналы IORGE и ROMOE с подключенным DivGMX на платах +3 и HARLEQUIN 128.
andykarpov
10.05.2017, 21:52
Еще один момент: Судя по схеме http://aticatac.altervista.org/portale/sites/default/schemi/schematic_divmmc_1.0.pdf в оригинальном DivMMC используется клок 3.5МГц, взятый с краевого слота zx spectrum. И все в этом клоке крутится, никаких дополнительных генераторов не обнаружено.
Может быть для DivGMX привязаться тоже к внешнему клоку 3.5МГц?
- - - Добавлено - - -
И там еще второй момент, этот клок зачем-то через инвертор (SN74LVC1G14 Single Schmitt-Trigger Inverter) заходит в CPLD.
Влад, пытаюсь подключить к конфе speccy внешний контроллер дисковода, не работает как мне кажется из-за скважности ena_3m5hz... Сделал скважность 50/50 - естественно не работает. Подскажи плз как решить. ZXBUS сделал по аналогии с basic конфигурацией. Измененный код прилагаю...
пытаюсь подключить к конфе speccy внешний контроллер дисковода
Что за контроллер?
Родной контроллер дисководов Орель БК-08 , подключен к системному разъему. ROM Орели и контроллера отключается по ROMCS,TRDOS заменил на 5.04Т(нет рамдиска на А). Процессор Орели отключаю по BUS_NBUSRQ<= '0'; Если не сложно, посмотри плз в архиве файл speccy.vhd, я там делал изменения, чтобы T80 управлял периферией на ZXBUS... И наверное что то не учел. А то я еще очень долго буду разбираться что к чему...
Вот схема контроллера
61005
так выглядит подключение
61007
Причина нестабильной работы divGMX в режиме DivMMC с платой Harlequin rev G как оказалось, в номинале резисторов R35 (10K) и R36 (10K) на плате divGMX. Проблема решилась их заменой на 470R, также на плате Harlequin заменил резисторы R9 (470R) и R7 (470R) на 1К как в ZX Spectrum +3.
61012
Синий - сигнал на выводе 15 U4 (74HC138), красный - сигнал на выводе 20 U2 (27C512) (ROMOE1# с платы divGMX).
Спасибо andykarpov, за предоставленный экземпляр для отладки работы контроллера DivMMC.
Причина нестабильной работы divGMX в режиме DivMMC с платой Harlequin rev GА как насчет +2B?
А как насчет GS?)
На выходных попробую сделать, но не обещаю, зависит от свободного времени и желания :)
А как насчет +2B?
Возможно замена R36 и установка JP1 решит и эту проблему...
Не помогли 470 Ом, ничего не поменялось. Я уже 2 раза соединения все прозвонил. По F5 подставляет ПЗУ, из под ТС-Конфы с картой памяти работает. Мозжечок вскипает.
Не помогли 470 Ом, ничего не поменялось. Я уже 2 раза соединения все прозвонил. По F5 подставляет ПЗУ, из под ТС-Конфы с картой памяти работает. Мозжечок вскипает.
А пробовал конфигурацию basic изменить таким образом, чтобы ром спектрума не использовался? Если дашь почту, скину конфиг который у меня работает, только поменяешь на свою fpga. Также для чистоты эксперимента можно rom вообще вытащить из панелек
Если дашь почту, скину конфиг который у меня работает, только поменяешь на свою fpga.В личке, буду пробовать.
Та же борода, только теперь уже при включении, по F6 кажет матрас. Мерцание синхронно с переключением BDI0/BDI1 смотрено в OSD.
https://youtu.be/FFXamy9nuBc
если матрас по F6 - это значит не читается rom c esxdos может от сюда начать плясать как говорится
С карты памяти? Я и фат32 делал, щас просто в фат. Карта на 2 гига.
стоп, если это моя прошивка - там esxdos активен по сбросу, т оесть это не подключает встроенный в fpga rom с бейсиком (F6 у меня отключает esxdos)
X"00" when (mreq_n_i = '0' and rd_n_i = '0' and a_i(15 downto 14) = "00" and divmmc_amap = '0' and divmmc_e3reg(7) = '0' ) else -- ROM #0000-#3FFF
mreq, rd, и остальные сигналы точно приходят на плату?
Приходят, ещё раз завтра перепроверю. Видео с твоей прошивкой, эта канитель при включении, сброс на теле только приходится нажимать. А с Владовской - эта канитель по нажатию Ф6.
нет, до чтения карты памяти он у вас не доходит
стоп, если это моя прошивка - там esxdos активен по сбросу, т оесть это не подключает встроенный в fpga rom с бейсиком (F6 у меня отключает esxdos)
X"00" when (mreq_n_i = '0' and rd_n_i = '0' and a_i(15 downto 14) = "00" and divmmc_amap = '0' and divmmc_e3reg(7) = '0' ) else -- ROM #0000-#3FFF
mreq, rd, и остальные сигналы точно приходят на плату?
Блин и осцила-то уже нет, только логанализатор остался. На мелкую логику стоит думать или на непропай, залипон... ШД и ША точно в норме, если есть норм.вывод по ХДМИ. По Ф5 - подставляет РОМ. Где копаться, мозгов пока не хватает.
а есть вайбер? можно пообщаться, тут на форуме оч. неудобно..
На арликине работает сборка 20170508 (https://github.com/mvvproject/DivGMX/raw/master/divgmx_basic/divgmx_ep4_basic20170508.zip).
Ситуация не поменялась. Объясните недалёкому: какие сигналы проверять, с учётом того, что по Ф5 - РОМ подставляется. Кстати, в +2B сигнал IORQGE не реализован, помнится, что и в +3 тоже.
Ситуация не поменялась.
Z70833 ISSUE 1 (http://zxnet.co.uk/spectrum/schematics/Z70833ISSUE1.pdf) или Z70833 ISSUE (http://zxnet.co.uk/spectrum/schematics/Z70833ISSUE2.pdf)2 ?
Сегодня немыслимым образом заработала конфигурация speccy доработаная мной для работы с реальным дисководом.
Сбылась мечта). Заметил такую штуку, стоит попросить на форуме помощи, как у самого почти сразу получается)))
Z70833 ISSUE 1 (http://zxnet.co.uk/spectrum/schematics/Z70833ISSUE1.pdf) или Z70833 ISSUE (http://zxnet.co.uk/spectrum/schematics/Z70833ISSUE2.pdf)2 ?Z70833 issue 2
Влад, а можешь пояснить почему именно так изменил детект перехода в trdos ? В DivGMX Basic (build 20170508). Кстати, сложно на 50 Гц развертку перейти в конфигурации speccy?
Влад, а можешь пояснить почему именно так изменил детект перехода в trdos ?
Похоже в оригинале так...
Кстати, сложно на 50 Гц развертку перейти в конфигурации speccy?
Думаю нет.
Пересобрал конфигурацию Basic для EP3 и EP4 (сборка 20170513 (https://github.com/mvvproject/DivGMX/tree/master/divgmx_basic)), может будет работать и на +2В, на +3 проверил, работает (но появилась одна интересная особенность - после замены на плате divGMX резистора R36 (10K) на 470R перестала перехватываться USB клавиатура, проверил для сравнения ранние конфигурации, эффект тот-же, на плате с 10К резистором клавиатура перехватывается).
Z70833 issue 2
Схемы почти идентичны, значит конфиги с github должны работать, если заменили тот резистор.
В спешке сам заменил R32 (10K) вместо R36 (10K) кода проверял сборку 20170508 на Арликине, понятно, что она тогда не заработала, а я не сохранил исходники, подумав, что на этом этапе теста смысла в этом нет... Вот такие вот пироги.
Что делаем дальше?
Буду проверять уже только завтра (посадка картошки Чо-то все силы забрала).
Пентагоновские тайминги плз, в конфигурации speccy.
- - - Добавлено - - -
Ну и GS)
- - - Добавлено - - -
вот сижу сейчас и думаю, как сделать арбитр SDRAM, для работы GS и Т80
- - - Добавлено - - -
https://arxiv.org/ftp/arxiv/papers/1405/1405.4232.pdf вот это читаю
Никак. Теперь можно говорить, что у меня проблемы в железе... Но чтобы мне понять, что менять/пропаивать нужен ваш совет. ША и ШД, вывод на ХДМИ не смотрим, остаются управляющие сигналы. РОМ по F5 подставляется, тест проходит. Это значит какие из управляющих работают/доходят , может мелкие буферы не те мне выслали, на них ведь не написано что это они, просто кодовая маркировка. Хэлп.
1) Какой сборки залита конфигурация?
2) Номинал резистора R36?
3) Какие установлены транзисторы T1 и T2?
1) Какой сборки залита конфигурация?
2) Номинал резистора R36?
3) Какие установлены транзисторы T1 и T2?
1. Последняя Basic от 13.05.17г.
2. 470 Ом
3. BC846.
С психу, заклеил на краевом разъёме M1 (B24). Как и следовало ожидать, по F6 DivMMC не запустился, но комп и не завис. Так как я вместо родных ПЗУх поставил прошивку +2e с поддержкой DivMMC. И о чудо, в стартовом экране он показал, что нашел MMC... Дальше пока не юзал... Выключу всю семью, и может тогда попробую дальше.
Это немного не то, он просто нашел порты DIVMMC. А у тебя не работает логика переключения в ESXDOS и обратно (.
Я согласен, что не то. Немного поюзал, чтение и запись на карту происходит. Осталось понять, почему ESXDOS не запускается.
Попробуй на USB клавиатуре подключенной к divGMX нажать F6, SD карта с ESXDOS должна быть установлена, и при нажатом пробеле на клавиатуре Спектрума понажимать на RESET или NMI (кнопка на плате divGMX).
Я согласен, что не то. Немного поюзал, чтение и запись на карту происходит. Осталось понять, почему ESXDOS не запускается.
А можешь дампы пзу +2e сбросить? Я поиском не нашел... Интересно посмотреть.
- - - Добавлено - - -
На выходных попробую сделать, но не обещаю, зависит от свободного времени и желания :)
Видно не нашлось свободного времени или желания (на GS ((((.
Видно не нашлось свободного времени или желания (на GS ((((.
Сделаем, чет захотелось 8-мь каналов (http://forum.tslabs.info/viewtopic.php?f=47&t=531) с DMA... Да ещё эта доработка зетника под Spec256...
Ладно, сделаю обычный 4-х канальный...
Сделаем, чет захотелось 8-мь каналов (http://forum.tslabs.info/viewtopic.php?f=47&t=531) с DMA... Да ещё эта доработка зетника под Spec256...
Ладно, сделаю обычный 4-х канальный...
Ну в принципе, если тебе обычный скучно), подскажи как грамотно разделить доступ к SDRAM и я медленно, но уверенно возьму GS из исходников U8.
А можешь дампы пзу +2e сбросить? Я поиском не нашел... Интересно посмотреть.Вот ведь - тыц. (http://www.worldofspectrum.org/zxplus3e/p3eroms.html) Качаешь p3eroms.zip и выбираешь нужный.
Попробуй на USB клавиатуре подключенной к divGMX нажать F6, SD карта с ESXDOS должна быть установлена, и при нажатом пробеле на клавиатуре Спектрума понажимать на RESET или NMI (кнопка на плате divGMX).Я уже все что можно было перенажимал в любых комбинациях.
На схеме две ПЗУ, в IC7 что записано? Управляется по OE# (22) от 4-го вывода слота, закинуть проводок туда от вывода 25 не помешало-бы.
В ПЗУшках щас записано +2е. Проводок давно уже закинул туда. Что удивительно, что это мерцание присутствовало и ДО подключения этого проводка. Причем это мерцание на +2B на +2 сером - такого не было, был просто черный экран и черный бордер.
Сборка 20170508 тоже не работает? Чтобы запустить ESXDOS нужно при сбросе удерживать пробелТоже не работает. Всяко пробовал.
Я уже все что можно было перенажимал в любых комбинациях.
На схеме две ПЗУ, в IC7 что записано? Управляется по OE# (22) от вывода B4 слота, закинуть проводок туда от вывода A25 не помешало-бы.
Ну в принципе, если тебе обычный скучно), подскажи как грамотно разделить доступ к SDRAM и я медленно, но уверенно возьму GS из исходников U8.
Давай попробуем... для начала сделаем просто звуковуху, перенеся модули как AY, Covox... в новый конфиг для упрощения отладки...
Проводок давно уже закинул туда. Что удивительно, что это мерцание присутствовало и ДО подключения этого проводка.
Сборка 20170508 тоже не работает? Прошивать желательно без SD карты в слоте. Чтобы запустить ESXDOS нужно при сбросе удерживать пробел (на Спектруме), у меня запускался и при одновременном нажатии пробела и NMI...
Буду искать +2, самому еже интересно в чем проблема.
А если, Влад, попробовать так: ROM 128теста занимает 16К, а esxmmc - 8К. Сделать esxmmc ROM 16K - добить его #FF, и сделать по аналогии с 128Тестом?
попробовать так: ROM 128теста занимает 16К, а esxmmc - 8К. Сделать esxmmc ROM 16K - добить его #FF, и сделать по аналогии с 128Тестом?
Если тест 128К на плате divGMX по F5 проходит, значит искать причину нужно в R36 (470R), T2 (возможно), JP1 (установленна) или в перемычке на B4 (на +3 работает и без неё).
Делал так:
1) подключил клавиатуру
2) подключил HDMI
3) вставил SD 8GB FAT32, в корне лежит ESXDOS
4) подключил плату divGMX (залита сборка 20170508) через переходник к +3
5) включил питание +3
6) нажал на USB клавиатуре F6 (на OSD видно включение divmmc)
7) нажал на клавиатуре +3 пробел, потом его не отпуская нажал и отпустил Сброс (можно NMI на плате)
8) появился черный экран с инициализацией ESXDOS
9) нашлась SD карта и загрузились плагины
10) сброс в 48К
11) нажал NMI для входа в меню...
У mor-da не работает логика перехватов divmmc, я присылал ему модифицированную прошивку, где rom spectrum отключается (csrom всегда в 1), а basic82 и esxdos находятся в fpga и esxdos включен по умолчанию. У меня работает - у него нет. А должно работать даже если rom вытащить. Причем с самого начала, так как esxdos использует процедуры печати basic почти сразу после старта (выводит версию и т.д.).
У меня работает - у него нет. А должно работать даже если rom вытащить.
И что у него на экране? Мусор? Если да, то одна из ПЗУ на плате +2 не отключается.
Хз, что уже думать... Нужно пошагово всё ещё раз перепроверить.
Он их вытаскивал, по крайней мере я вроде говорил про то, что их можно вытащить. У меня такое происходит когда nmos процессор ставлю. Причем глюки на экране крайне разнообразные. И только когда перехваты esxdos происходят, 08, 3d, tapeinout. С cmos процом - все норм. Чем отличаются - у cmos версии фронты визуально круче, если по моему древнему осцилу судить. Может ложный путь, но кто его знает...
Характер мусора выкладывал в видео ранее. Всё время один и тот же. http://zx-pk.ru/threads/27225-divgmx.html?p=912635&viewfull=1#post912635
Может я уже ESXDOS в ROM прошью?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot