Github: https://github.com/andykarpov/
Дак вот и можно, когда в 3.5мм мини-джек ни чего не воткнуто, звук с двух его контактов (которые в данный момент не задействованы) идет на Mini-Din, так сделано в Арлекине 128.
Моё железо
ZX Spectrum 48K issue 2/3/4A/4B/4S/6A
ZX Spectrum +2
ZX Spectrum +3
Harlequin 48K
Harlequin 128K
Karabas-128[свернуть]
Пытаюсь подружить DivGMX c платой, есть вопрос по резистору R34 1K через который сигнал N_ROMCS поступает на вывод 22 OE# ROM IC2. Для чего он там? Без него на осциллограмме сигнал куда более лучше выглядит.
Github: https://github.com/andykarpov/
Не принципиально, подтвердил догадку )
Думаю над турбированием 7МГц для возможности работы своего контроллера с дисками HD и винта. Включение "турбо" можно повесить на какую-нибудь комбинацию клавиш, может даже covox получится всунуть в CPLD... Кеш бы для ROM ещё.. Так, ностальгия прям )
Github: https://github.com/andykarpov/
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
Принимается! По поводу номинала резистора - тут как бы камень преткновения. Опытным путем vlad установил, что при сопротивлении 1кОм и машинка еще работает, и DivGMX'у хватает мощности ключа для управления этим сигналом извне. На оригинальных машинах, кстати, по-разному этот резистор ставился, от 470 Ом до 1к, насколько я знаю, видимо еще от применяемого типа ПЗУ зависит...
Github: https://github.com/andykarpov/
А, ну точно... Ну тогда до 1кОм для устройств на ПЛИС)
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
Ок. Приехал и продолжил эксперименты. Фирменный режим был в прошивке карабаса еще с самого начала выпуска. Андрей сделал выбор режима в прошивке с помощью виртуального сигнала (внутренней переменной, грубо говоря). Прошивка была настроена на пентагон, т.к. фирменный режим был не закончен. Поэтому после экспериментов с памятью, я решил и попробовать доделать фирменный режим. с медленной памятью, 69888 тактами и 312 строками, как в оригинале.
В фирменном спеке для торможения проца используется сигнал CLK процессора, не /wait, как в большинстве наших машинках, поэтому как минимум надо доделать это торможение в прошивке карабаса. В этом направлении я и начал искать. На нашем форуме были эксперименты по добавлению медленной памяти в Ленинград-1. Этим занимались ZST и Ratibor. За что им отдельная благодарность! У ребят результат был положительным и я решил попробовать внедрить схему доработки медленной памяти в прошивку ПЛИС. Схема была еще немного модернизирована ZST и внедрена в Ленинград-2012. Нужный узел есть на третьей странице схемы Ленинград-2012, в правом верхнем углу.. Попробовал и впринципе получилось как-то так:
Пока попробовал только на этих программах, сегодня вечером еще проверю тесты. Результаты работы выложу вечерком. А пока...
Чтобы поменять режим работы, с пентагона на фирменный, нужно в исходниках для signal sync_mode: std_logic_vector(1 downto 0) := "01"; вместо 01 поставить 00. Часть, отвечающая за торможение частоты проца ниже. сильно не пинать, код писался для проверки идеи и схемы, поэтому еще сырой совсем. кто сделает красивше, только буду рад. закоментируем код для CLK_CPU и вставляем вот этот кусок:
VHDL-Код
Обьявляем:
Код:signal z80_clk : std_logic := '0'; signal page_cont : std_logic; signal block_reg : std_logic; signal count_block : std_logic;
Код:process( z80_clk ) begin if z80_clk'event and z80_clk = '1' then if n_mREQ='0' or (a(0)='0' and n_iORQ='0')then block_reg <='0'; else block_reg <= '1'; end if; end if; end process; page_cont <= '1' when (a(0)='0' and n_iORQ='0') or ram_page="101" else '0'; count_block <= not (chr_col_cnt(2) and hor_cnt(0)); process( CLK14 ) begin -- rising edge of CLK14 if CLK14'event and CLK14 = '1' then if page_cont='1' and paper='0' and block_reg='1' and count_block='1' and sync_mode="00" then z80_clk <= '0'; else z80_clk <= chr_col_cnt(0); end if; end if; end process; CLK_CPU <= z80_clk;[свернуть]
и еще вопрос - может кто-то еще посоветует какие-нибуть программы для проверки фирменных машин, кроме тех, что выше по ссылке. и да, я пока проверял для 48кб, по какому стандарту оно работает из 128кб машин я пока не в курсе. сегодня буду проверять дальше.
Последний раз редактировалось solegstar; 13.09.2017 в 20:47. Причина: кое-что добавил и исправил
Profi must live!
Моё железо...
1. Profi 5.06/1Mb(DRAM)+Profi5.06(UP)/HDD/3`5FDD/CF512Mb/SD-CARD
3. Profi 6.2 Rev. B/1Mb/3`5FDD/HDD3.2Gb
4. Profi 5.05(down)/1Mb+Profi 5.03(UP)/Pentagon_Fix
Все укомплектованы:
Profi_ZX-BUS/ZXMC2/NemoIDE/SounDrive[свернуть]
Ссылка на Telegram-канал поддержки пользователей Profi.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)