Попробовать разве-что заменить U9 на U6 (74lvc2g34), тогда уже можно и выкинуть :) заодно и транзисторы заменить, типа, а вдруг сработает :)
Вид для печати
Попробовал. Заменил U9 на 74lvc2g34, выкинул резисторы R35 и R36. Ничего не изменилось...
- - - Добавлено - - -
Хм, ну как минимум - в исходниках divgmx_basic в git не вижу реакции на кнопку F5, не вижу OSD-меню с отладочной информацией. Значит все-таки не совсем все закоммичено?
diablo 2 - one love )
но для теста лучше что нибудь поцветастее - типа такого:
http://savepic.ru/13294950.jpg
Не надо закрывать, плз, давайте лучше допилим! Как минимум basic-конфигурацию.
У меня так и не получилось, кстати, чтобы ESXDOS без проблем запускался в Harlequin.
Осциллографа нет, есть только логический анализатор. Не знаю, чем он мне сможет помочь, фронты и уровни сигналов не покажет :(
Сначала пробовал на +2 issue1 - DivMMC не запустился, щас пробую на issue3, то же самое, но стабильно по нажатию F6 вываливается в черный экран и бордер, без всякого мусора на экране.
Влад, не чуди - если не ты то кто? ))
Владик, твоя карточка может быть вполне востребована, например, для новой платы АТМки от зорела и Максагора.
Вообще, у меня версия, что Владика попросили закончить проект. Это может показаться бредовой версией, но всё же...
Известно, что Влад входит в клан тэсэлыча и вполне предан лидеру. Последняя разработка Влада - режим 640x480 256 цветов + палитра, затмевала графические режимы тсконфы. Думаю, тэсэлычу это не понравилась и он поставил вопрос ребром - либо DivGMX либо членство в клане. Если Влад психологически зависит от лидера, то скорее всего он прекратит проект. И уже ничего не сделаешь - никакие доводы Влад не услышит.
Если автор уходит "на пенсию", это не значит, что его проекты канут в лету :)
Придут другие, которые подхватят и будут не спеша дальше начатое использовать по смоему уразумению.
Закрывать ничего не надо, можно просто сказать допиливайте помогайте чем можете, а я понаблюдаю, но активное участие принимать далее не буду.
Ну примерно как с 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) (Скачать)
основана на http://www.caro.su/msx/ocm_de1.htm
Большое человеческое спасибо caro за предоставленные исходники.
Я подключил DIVGMX к Орель БК-08, и пока не поменял Z80 на cmos версию - были глюки в divmmc. Видно что то с логическими уровнями. А также не успевала переключаться мс пзу с бейсиком, пришлось ее вытащить и прошивку засунуть в циклон.
https://uploads.tapatalk-cdn.com/201...9f586d9d81.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 кб
ПЗУ, глюков при загрузке не замечено.
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/pereho...tml#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).
На "+2" просто черный экран и бордер, на "+2B" черный бордер и на экране геометрическая чушь. Если вынуть MicroSD-карту, ничего не происходит, работает как работал. Мысли? Может я чего на карту не так записываю. У кого DivMMC взлетел, опишите, чего на карте?
Попробуйте поменять проц на CMOS версию, и ПЗУ на более быстродействующее. У меня на 48 issue 3 и на БК-08 заработало с заменой. На карте содержимое архива.
Что делаем дальше? Поднимаем GS, Ultra DMA Sound Card или делаем видео карту? Идеи?
Я тоже решил попробовать еще разок на своем арлекине. Проц и так стоит Z84C0020PEC, поставил ПЗУ-ху W27C512-45NZ, особых улучшений не замечено.
На медленную ПЗУ и медленный проц теперь точно грешить не следует :)
1) При включении - черный экран. Похоже DivGMX не успевает проинициализироваться, пока идет сброс спектрума. Тут нужно что-то бы сделать, как-то программно нажимать на RST после старта DivGMX ? Либо сброс конкретного экземпляра удлинить :)
2) ESXDOS загружается после шаманства с функциональными кнопками и пробелом, дает выбрать файл для загрузки. Хотелось бы, чтобы он стартовал как-то сразу при включении, а по кнопке NMI чтобы только показывал свое меню.
3) Выбор файла и нажатие на Enter приводит к артефактам на экране (иногда в виде желтых горизонтальных полос) и 100% зависанию спектрума.
Ну не знаю) мне помогло. У меня инициализируется так - зажимаю пробел и нажимаю сброс. Само после сброса в esxdos входит редко (в нем проверка на То что инициализация успешно прошла - по одному байту). И esxdos очень активно использует бейсик, при печати символов так точно... Поэтому мне кажется это тайминги. Плюс там еще и резистор у вас в цепи romcs.
Отправлено с моего K6000 Pro через Tapatalk
Копать в конкретный issue, их там на каждую модель по несколько разных. Начните с того, что у вас за модель, её схемы, какие сигналы на 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
Схема
Материалы
Модификации
Вообще нужно избавляться от резисторов ((. Эта смесь аналоговой и цифровой схемотехники работает нестабильно. Только что включил бк- 08 (я на ней играюсь в основном) работает как надо глюков не замечено. А на 48 даже с замененой пзу - глючит крайне разнообразно. 3 раза из 10 снапшоты с ошибками вылетают. В Бк - romcs на ЛЛ1 сделал.
Отправлено с моего K6000 Pro через Tapatalk
Поднимаем GS! [emoji3] И у меня лично жуткое желание заиметь на divgmx все клоны сразу . Профи, атм. И т.д. Т.е. процессор внешний, а divgmx управляет выводом графики и памятью, джойстиками, клавиатурами, юсб принтером (иммитация zx lprint3). Еще очень хочется эмулятор nemoide, atm ide, profi ide на sd card, чтобы была возможность запускать соответствующие софты на них. Вот такая идея фикс). Сплав нового и старого.
Отправлено с моего K6000 Pro через Tapatalk
Как-то так предлагаете сделать?
Вложение 60759
На арлекине как раз есть несколько неиспользуемых 2ИЛИ элементов. Ох, как не хочется дороги резать и МГТФ-ить :) Такая была красивая платка :)