Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   -=Reverse=- Конфигурации. (http://zx-pk.ru/showthread.php?t=13875)

vlad 29th January 2012 21:44

Quote:

Originally Posted by fifan (Post 460576)
Сырками таймера никто не поделится?

О каком таймере идет речь? PCF8583? То есть не не знаешь как организовать работу по I2C?

fifan 29th January 2012 21:56

1 Attachment(s)
Да как с ним общаться. Хочу в Специалисте_МХ вот на этом экране вводить текущую дату, не знаю как это сделать. То есть автоматически вводить дату в формате: число[две цифры],месяц[две цифры],год[две цифры].

http://zx.pk.ru/attachment.php?attac...1&d=1327856090

Error404 30th January 2012 22:05

Потому что I2C это не для восьмибиток на 8080/z80, а для контроллеров c аппаратным I2C (где просто ножки соединить - и вуаля). Для 8080/z80 I2C - еще более "костыльное подключение", чем SD подключить или даже Ethernet-чип. Я об этом говорил еще когда первый вариант на u10 готовился. Автор правда упорствует создавая трудности на ровном месте, видимо имеет запас таких чипов (ничем другим я такого упорства объяснить не могу - полно RTC чипов в 8-ноговом корпусе без этого дурацкого I2C, с более простым хост-ПО).

vlad 5th February 2012 14:15

Quote:

Originally Posted by Error404 (Post 460975)
Потому что I2C это не для восьмибиток на 8080/z80, а для контроллеров c аппаратным I2C (где просто ножки соединить - и вуаля). Для 8080/z80 I2C - еще более "костыльное подключение", чем SD подключить или даже Ethernet-чип. Я об этом говорил еще когда первый вариант на u10 готовился. Автор правда упорствует создавая трудности на ровном месте, видимо имеет запас таких чипов (ничем другим я такого упорства объяснить не могу - полно RTC чипов в 8-ноговом корпусе без этого дурацкого I2C, с более простым хост-ПО).

Нет тут никаких проблем, т.к. все уже давно подключено и работает. Почему у Вас с IIC трудности на ровном месте и "костыльное подключение" :v2_conf2:
Quote:

Originally Posted by fifan (Post 460591)
Да как с ним общаться. Хочу в Специалисте_МХ вот на этом экране вводить текущую дату, не знаю как это сделать.

Получилось разобраться в исходниках?
Quote:

Originally Posted by fifan (Post 456448)
На u10 готов Специалист/Специалист_МХ.

Вы не против, переноса конфигурации на платы u8/u9?

fifan 5th February 2012 14:17

Quote:

Originally Posted by vlad (Post 463264)
fifan, получилось разобраться в исходниках

Нет. Каково назначение сигналов:
Quote:

RESET : in std_logic; - 0 или 1 активный?
CLK : in std_logic; - какова частота?
A : in std_logic; - адресной вход, а почему однобитный?
Quote:

Originally Posted by vlad (Post 463264)
Вы не против, переноса конфигурации на платы u8/u9

Не против.

vlad 5th February 2012 14:41

Code:

Address 0 -> DATA (write/read) or SLAVE ADDRESS (write) 
Address 1 -> Command/Status Register (write/read)

Data Buffer (write/read):
        bit 7-0        = Stores I2C read/write data
 or
        bit 7-1        = Holds the first seven address bits of the I2C slave device
        bit 0        = I2C 1:read/0:write bit
Command/Status Register (write):
        bit 7-2        = Reserved
        bit 1-0        = 00: IDLE; 01: START; 10: nSTART; 11: STOP
Command/Status Register (read):
        bit 7-2        = Reserved
        bit 1        = ERROR        (I2C transaction error)
        bit 0        = BUSY        (I2C bus busy)

A: адрес, два состояния - 0: чтение/запись данных или запись адреса устройства; 1: запись команды/чтение статуса.
CLK: частота 400KHz
RESET: сброс, активный '1', т.к. нет _n т.е. RESET_n

Keeper 9th March 2012 02:28

Просьба опубликовать исходники спека для u9 и TODO list к нему.

vlad 22nd April 2012 17:52

Quote:

Originally Posted by Keeper (Post 497407)
У меня пока такое TODO:

Code:

1. Двухканальный контроллер SDRAM
  1.1 Вынести всё ОЗУ/ПЗУ спектрума и NeoGS в SDRAM
2. Вынести видеоОЗУ и память скандаблера а SRAM
3. Написать загрузчик SMM (находиться в внутренней памяти FPGA)
4. Написать прошивку SMM (загрузка образов ПЗУ, начальная инициализация, сохранение/загрузка настроек и т.д.)
5. Реализовать маппер ZXM-Phoenix и пентагон 1024
6. Реализовать видео режимы MultiColor, 16c
7. Реализовать палитру по стандарту SamCope, ATM и RGB 3:3:3
8. Реализовать блокировку xxFD портов для команд OUT (#FD),A
9. Реализовать эмулятор BetaDisc2DiskImage


>1. Двухканальный контроллер SDRAM
Сама природа SDRAM рассчитана на блочный (страничный) и оптимальный режим работы - связка SDRAM <=> cache. Остались еще нерешенные вопросы как подружить ее с Z80.
>1.1 Вынести всё ОЗУ/ПЗУ спектрума и NeoGS в SDRAM
Получится ограничение на доступ в 142нс, а это уже мало для GS. Опять вернулись к cache.

>2. Вынести видеоОЗУ и память скандаблера а SRAM
Если городить проф. скандаблер, то без видео буфера не обойтись, а это 800х600 = 480000 байт.

>3. Написать загрузчик SMM (находиться в внутренней памяти FPGA)
Начало есть, сейчас работаю над ядром периферийного MPU.

>4. Написать прошивку SMM (загрузка образов ПЗУ, начальная инициализация, сохранение/загрузка настроек и т.д.)
Тоже ляжет на плечи периферийного MPU.

>5. Реализовать маппер ZXM-Phoenix и пентагон 1024
>6. Реализовать видео режимы MultiColor, 16c
>7. Реализовать палитру по стандарту SamCope, ATM и RGB 3:3:3
>8. Реализовать блокировку xxFD портов для команд OUT (#FD),A
Зависит от архитектуры, т.е. надстройки над п.1..п.2...

>9. Реализовать эмулятор BetaDisc2DiskImage
Тоже ляжет на плечи периферийного MPU.

В общем, если есть желание помочь отладить MPU, могу выслать его исходники.

Keeper 22nd April 2012 18:29

Quote:

Originally Posted by vlad (Post 497422)
>1. Двухканальный контроллер SDRAM
Сама природа SDRAM рассчитана на блочный (страничный) и оптимальный режим работы - связка SDRAM <=> cache. Остались еще нерешенные вопросы как подружить ее с Z80.
>1.1 Вынести всё ОЗУ/ПЗУ спектрума и NeoGS в SDRAM
Получится ограничение на доступ в 142нс, а это уже мало для GS. Опять вернулись к cache.

Тут я могу ошибаться, но прикидывал я след. образом: цикл рандомного доступа 7Т (100МГц, СL=2), получается 70нс ~ 14,2МГц. Самый короткий цикл доступа Z80 к памяти занимает 2T (при выборке опкода), т.е. получается 7МГц. Таким образом запустив два Z80 на 14МГц, удастся обоим выдавать данные без торможения. В NeoGS сетка частот Z80 следующая: 10МГц, 12МГц, 20МГц, 24МГц. Думал перевести установки 10 и 12 на 14МГц, а 20 и 24 на 28МГц. Соответственно при частоте CPU больше 14МГц генерировать /wait.

Quote:

Originally Posted by vlad (Post 497422)
>2. Вынести видеоОЗУ и память скандаблера а SRAM
Если городить проф. скандаблер, то без видео буфера не обойтись, а это 800х600 = 480000 байт.

Я об этом даже не задумывался, меня вполне устраивает удвоенная строчка, и 50Гц кадровая. К тому же у нас спектрум, а значит более 4х бит на точку хранить нет необходимости, т.к. задумывается ещё и палитра.

Quote:

Originally Posted by vlad (Post 497422)
>3. Написать загрузчик SMM (находиться в внутренней памяти FPGA)
Начало есть, сейчас работаю над ядром периферийного MPU.

>4. Написать прошивку SMM (загрузка образов ПЗУ, начальная инициализация, сохранение/загрузка настроек и т.д.)
Тоже ляжет на плечи периферийного MPU.

1. Загрузчик SMM, на мой взгляд нужен для того чтобы свести к минимуму необходимость перепрошивки FPGA. Собственно режим SMM относиться к CPU спектрума, вход в этот режим при след. событиях: PowerOn/HW Reset (JP1), NMI. Z80 мне тут удобнее в плане программирования чем потенциальный RISC в качестве MPU.

Quote:

Originally Posted by vlad (Post 497422)
>5. Реализовать маппер ZXM-Phoenix и пентагон 1024
>6. Реализовать видео режимы MultiColor, 16c
>7. Реализовать палитру по стандарту SamCope, ATM и RGB 3:3:3
>8. Реализовать блокировку xxFD портов для команд OUT (#FD),A
Зависит от архитектуры, т.е. надстройки над п.1..п.2...

Тут логика следующая, маппер феникса дает Scorpion-1024 + Kay-1024, маппер пентагона дает Pentagon-1024, с учетом блокировки OUT (#FD),A друг другу они мешать не должны, т.е. для смены "архитектуры" будет достаточно изменять только тайминги развертки. Собственно палитры и видеорежимы на форуме уже обсуждались и их. вкл/выкл уже на плечах программиста.

Quote:

Originally Posted by vlad (Post 497422)
>9. Реализовать эмулятор BetaDisc2DiskImage
Тоже ляжет на плечи периферийного MPU.

Я пока думаю сделать аппаратно образ дорожки, а по командам позиционирования подгружать нужные данные с карточки, уже с помощью MPU

В общем-то это мое видение развития конфигурации спектрума, прошу принимать как личное ИМХО :)

---------- Post added at 16:21 ---------- Previous post was at 16:16 ----------

Кстати, Вы не прорабатывали возможность добавления контекстов к T80? Допусти если у нас будет один экземпляр T80 работающий на 100МГц и в зависимости от нужд CPU/NeoGS/MPU в соответствующий момент времени переключать контекст процессора...

---------- Post added at 16:29 ---------- Previous post was at 16:21 ----------

Quote:

Originally Posted by vlad (Post 497426)
В общем, если есть желание помочь отладить MPU, могу выслать его исходники.

Желание есть, но думаю что всё же имеет смысл завести SVN или GIT для проекта, так проще синхронизировать исходники и может ещё кто подключится к проекту...

vlad 9th May 2012 14:51

Quote:

Originally Posted by Keeper (Post 497432)
1. Загрузчик SMM, на мой взгляд нужен для того чтобы свести к минимуму необходимость перепрошивки FPGA. Собственно режим SMM относиться к CPU спектрума, вход в этот режим при след. событиях: PowerOn/HW Reset (JP1), NMI. Z80 мне тут удобнее в плане программирования чем потенциальный RISC в качестве MPU.

Транслировал исходники NextZ80 (Verilog) на VHDL, после отладки сегодня удалось запустить тест. Порадовала его производительность. Думаю, что это ядро больше подходит для этого :).
Quote:

Originally Posted by Keeper (Post 497432)
Я пока думаю сделать аппаратно образ дорожки, а по командам позиционирования подгружать нужные данные с карточки, уже с помощью MPU
В общем-то это мое видение развития конфигурации спектрума, прошу принимать как личное ИМХО

С MPU для себя решил, будет оптимизированный NextZ80 + программный FDD.
Quote:

Originally Posted by Keeper (Post 497432)
Кстати, Вы не прорабатывали возможность добавления контекстов к T80? Допусти если у нас будет один экземпляр T80 работающий на 100МГц и в зависимости от нужд CPU/NeoGS/MPU в соответствующий момент времени переключать контекст процессора...

Копаться в коде Т80 уже не вижу смысла... т.к. можно обойтись парочкой NextZ80 :), ядро меньше.


All times are GMT +4. The time now is 16:31.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.