-
Vise
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 32
-
Спасибо получено: 4
-
-
|
iff2 пишет: Vise пишет: У меня платка не марсоход. Плис у меня epm4c10e22i7. Вот такие дела. Если желание есть могу закинуть проект. Или подождите чуток пока 128 прикручу :)))) Что за плата?
dev.visuale.ru/visuale/files/downloads/o...p4ce10e/ep4ce10e.pdf
Vise пишет: Блин не влезает 128 К :))) Там 2 ПЗУ по 16 Кб и 2 видео страницы по 8 кб. Надо засовывать видеопамять во внешнюю! Лучше ПЗУ, а не видео память.
Блин это надо будет пзу контроллером в плис грузить... Сколько блин мороки с этими спектрумами :))))
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
iff2
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 13
-
Спасибо получено: 2
-
-
|
Vise пишет:
dev.visuale.ru/visuale/files/downloads/o...p4ce10e/ep4ce10e.pdf
У меня похожая архитектура на
ReVerSE-U9
, только там нет проблем с МК.
Vise пишет: Блин это надо будет пзу контроллером в плис грузить... Сколько блин мороки с этими спектрумами :))))
Да, нужен загрузчик ПЗУ. В связи с переездом с google code ещё не все конфигурации перенёс.
Как пример, можно взять загрузчик с z-контроллером из конфигурации
TS-Conf
(
ссылка
)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от iff2.
|
-
Chaosorg
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
Т.е. идея с использованием SDRAM в качестве видеопамяти неосуществима? странно как-то это. Вон видеобуферы (framebuffer) с довольно высоким пиксельклоком работают же.
Ну если так, то можно забрать данные из инициализированного MIF-файлом ОЗУ ПЛИС в SDRAM и потом отдать эту RAM под видео. Таким макаром и TRDOS поместится еще.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
iff2
-
-
Не в сети
-
Новый участник
-
-
Сообщений: 13
-
Спасибо получено: 2
-
-
|
Chaosorg пишет: Т.е. идея с использованием SDRAM в качестве видеопамяти неосуществима? странно как-то это. Вон видеобуферы (framebuffer) с довольно высоким пиксельклоком работают же.
Ну если так, то можно забрать данные из инициализированного MIF-файлом ОЗУ ПЛИС в SDRAM и потом отдать эту RAM под видео. Таким макаром и TRDOS поместится еще.
Почему же, можно, придется только привязаться к видео выборке из SDRAM, т.е. делить её между процессором и видео автоматом. Но лучше для понимания работы, сначала сделать проще, на двухпортовой M9K. Тут только стоит связаться с SDRAM, как мысли про кэш начинают появляться :)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от iff2.
|
-
Vise
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 32
-
Спасибо получено: 4
-
-
|
Ну все! Запустил я 128 :))) Сижу, ностальгирую во всю. Но! Я подключил шину из speccy.vhd напрямую к своей SRAM, выкинул видеобуфер, вместо него засунул ПЗУ 48 К, ПЗУ 128 К и еще место под ПЗУ TR-DOS осталось :)))) Дальше долго втыкал в адресацию 128. Едрен батон! Как они это все напридумывали! Слава Всевышнему что сейчас адресное пространство у какого нибудь АРМ линейное :))) Если вкратце изменения описать, то вот они:
128K
signal port_7ffd_sel : std_logic;
signal page_ram_sel : std_logic_vector(2 downto 0);
signal page_shadow_scr : std_logic;
signal page_rom_sel : std_logic;
signal page_reg_disable : std_logic; -- 1 48 KByte
-- RAM bank actually being accessed
signal ram_page : std_logic_vector(2 downto 0);
Добавили сигналы
process (vid_sel, vcnt, hcnt, cpu_a_bus)
begin
if vid_sel = '1' then
if page_shadow_scr = '1' then --Video from bank 7
case hcnt(0) is
--when '0' => ram_adr <= "000010" & vcnt(8 downto 7) & vcnt(3 downto 1) & vcnt(6 downto 4) & hcnt(7 downto 3);
--when '1' => ram_adr <= "000010110" & vcnt(8 downto 4) & hcnt(7 downto 3);
when '0' => ram_adr <= "001110" & vcnt(8 downto 7) & vcnt(3 downto 1) & vcnt(6 downto 4) & hcnt(7 downto 3);
when '1' => ram_adr <= "001110110" & vcnt(8 downto 4) & hcnt(7 downto 3);
end case;
end if;
if page_shadow_scr = '0' then --Video from bank 5
case hcnt(0) is
--when '0' => ram_adr <= "000010" & vcnt(8 downto 7) & vcnt(3 downto 1) & vcnt(6 downto 4) & hcnt(7 downto 3);
--when '1' => ram_adr <= "000010110" & vcnt(8 downto 4) & hcnt(7 downto 3);
when '0' => ram_adr <= "001010" & vcnt(8 downto 7) & vcnt(3 downto 1) & vcnt(6 downto 4) & hcnt(7 downto 3);
when '1' => ram_adr <= "001010110" & vcnt(8 downto 4) & hcnt(7 downto 3);
end case;
end if;
else
--ram_adr <= "000" & cpu_a_bus;
ram_adr <= "00" & ram_page & cpu_a_bus(13 downto 0);
end if;
end process;
Изменили формирование адреса
port_7ffd_sel <= '0' when (cpu_a_bus(15) = '0' and cpu_a_bus(1) = '0' and cpu_iorq_n = '0') else '1';
ram_page <= page_ram_sel when cpu_a_bus(15 downto 14) = "11" else -- Selectable bank at 0xc000
cpu_a_bus(14) & cpu_a_bus(15 downto 14); -- A=bank: 00=XXX, 01=101, 10=010, 11=XXX
-- 128K paging register
process(clock,reset_n)
begin
if reset_n = '0' then
page_reg_disable <= '0';
page_rom_sel <= '0';
page_shadow_scr <= '0';
page_ram_sel <= (others => '0');
elsif rising_edge(clock) then
if port_7ffd_sel = '0' and page_reg_disable = '0' and cpu_wr_n = '0' then
page_reg_disable <= cpu_do_bus(5);
page_rom_sel <= cpu_do_bus(4);
page_shadow_scr <= cpu_do_bus(3);
page_ram_sel <= cpu_do_bus(2 downto 0);
end if;
end if;
end process;
Защелка порта 7FFD
Ну все! Пошел ностальгировать :)))) А! Еще проц поменял на тот что у ILoveSpeccy он вроде как получше будет.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Chaosorg
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
отлично! :) если единственным измененным текстовым файлом был speccy.vhd, то как появится уверенность, что правки закончены, просьба выложить его.
как доберусь домой - буду пробовать запустить это все на Марсоходе 2
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Vise
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 32
-
Спасибо получено: 4
-
-
|
Хорошо. Постараюсь вечером выложить проект целиком. Может комунибудь удастся все это запустить на марсаходе. В принципе SDRAM то побыстрее SRAM должна работать. Так что я думаю должно все получится. У меня еще и commodore64 есть :)))) Он в принципе работает, только клава чото тупит....
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Vise.
|
-
Chaosorg
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
Vise пишет: В принципе SDRAM то побыстрее SRAM должна работать.
Если бы это было так, то внутреннюю память ПЛИС тоже сделали бы SDRAM и кеши в процессорах и т.д. Но, к сожалению, при произвольном и случайном непредсказуемом доступе, а не передаче целого блока смежных данных это не так. Конечно, SRAM разная бывает, но в основном, мне кажется, современная быстрее. Или я неправильно понял Ваше высказывание.
Если не сложно, киньте ссылку на ресурс откуда Вы берете справочные данные по устройству спектрума, чтобы не искать и не выбирать лучший. Я надеюсь, Вы же не реверс инженирингом схем занимаетесь для выяснения дешифрации адресов портов периферии и страниц памяти ?
P.S. Нарыл тонны информации, но там часто упоминаются такие клоны, которых я сам не имел.
P.P.S. кажется, нашел то, что нужно на worldofspectrum.org на ftp у них свалка сканированной старой документации с некрасивой полиграфией, а вот wiki удобнее
но теперь возник новый вопрос - какой spectrum самый "правильный". Стремление сделать из спектрума что-то похожее на уже существовавшие PC привело ко всяким ATM и он у меня был, но ностальгировать с ним смысла нет - тогда уж в игры для DOS времен 286-486 лучше играть. Выше ZX Spectrum 128 все лишнее, но и их же несколько моделей вроде как. Всякие 2+ 3+. Есть что-то стоящее, что идет только на этих модификациях?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Vise
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 32
-
Спасибо получено: 4
-
-
|
Chaosorg пишет: Vise пишет: В принципе SDRAM то побыстрее SRAM должна работать. Если бы это было так, то внутреннюю память ПЛИС тоже сделали бы SDRAM и кеши в процессорах и т.д. Но, к сожалению, при произвольном и случайном непредсказуемом доступе, а не передаче целого блока смежных данных это не так. Конечно, SRAM разная бывает, но в основном, мне кажется, современная быстрее. Или я неправильно понял Ваше высказывание.
Ну у меня то древняя SRAM. Хотя Z80 еще более древний. Так что должно и на марсоходе взлететь.
Chaosorg пишет: Если не сложно, киньте ссылку на ресурс откуда Вы берете справочные данные по устройству спектрума, чтобы не искать и не выбирать лучший. Я надеюсь, Вы же не реверс инженирингом схем занимаетесь для выяснения дешифрации адресов портов периферии и страниц памяти ?
Дак известно откуда. Из интернета. Что то из других проектов. Что то по схемам. Что то по старым журналам. Едрен батон, у меня уже весь стол схемами этих спектрумов завален!
Chaosorg пишет: P.S. Нарыл тонны информации, но там часто упоминаются такие клоны, которых я сам не имел.
P.P.S. кажется, нашел то, что нужно на worldofspectrum.org на ftp у них свалка сканированной старой документации с некрасивой полиграфией, а вот wiki удобнее
но теперь возник новый вопрос - какой spectrum самый "правильный". Стремление сделать из спектрума что-то похожее на уже существовавшие PC привело ко всяким ATM и он у меня был, но ностальгировать с ним смысла нет - тогда уж в игры для DOS времен 286-486 лучше играть. Выше ZX Spectrum 128 все лишнее, но и их же несколько моделей вроде как. Всякие 2+ 3+. Есть что-то стоящее, что идет только на этих модификациях?
Ну я вот размышляю прицепить TR-DOS или нет. Или за commodore взяться :)))) В принципе я думаю все что выше чем 128К AY TR-DOS в принципе лишнее. Ну и собственно вот чего у меня в конце получилось:
dev.visuale.ru/visuale/index.php/materia...zhivee-vsekh-zhivykh
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Chaosorg
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
Vise пишет: Ну я вот размышляю прицепить TR-DOS или нет. Или за commodore взяться :)))) В принципе я думаю все что выше чем 128К AY TR-DOS в принципе лишнее. Ну и собственно вот чего у меня в конце получилось:
dev.visuale.ru/visuale/index.php/materia...zhivee-vsekh-zhivykh
Я решил для себя не мудрствовать - что я в реале тогда использовал, то и делать. Правда ATM у меня тоже был, но я его уже купил готовой платой, а не сам паял и потом быстро ушел с него на IBM PC. Я никогда не видел 3+ , но меня немного смущает где-то прочитанное, что "там у них" он был популярнее TR-DOS. Вот и позарился, скажем так, на какое-то время. Про CP/M тоже соблазнительно, но... Тем не менее, все популярное вроде было переделано нашими под TR-DOS. Если так уж приспичит CP/M, то вроде его как-то приделывали и к 128K.
А если уж заговорили про не ZX, то, из 8-битных, Atari 800 (или 65XE, 130XE) и NES у нас были популярнее, чем Commodore или что либо отечественное, включая даже 16-битный БК-0010. Из 16-битных, SEGA MegaDrive был популярнее, чем SNES или что-то там еще, пока не появилась PSX и не подешевел PC. Короче, я за Atari :) Но тут, каждому свое, конечно.
P.S.
и да, конечно, получилось у Вас хорошо :)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.169 секунд