Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 18

Тема: Клон спектрума ZX48

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Junior
    Регистрация
    02.09.2015
    Адрес
    г. Челябинск
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Клон спектрума ZX48

    Хочу представить Вашему вниманию очередной вариант клона спектрума.
    Клон состоит из процессора Z80, ОЗУ SRAM UT611024, микроконтроллера STM32F103C8T6, одного регистра ИР22 для механической клавиатуры и операционного усилителя MC34072 для магнитофонного входа.
    Принцип работы отличается от многочисленных клонов тем, что здесь отсутствует ПЗУ. Процессор Z80 и статическая память на 64кБ соединены непосредственно друг с другом без всяких мультиплексоров, коммутирующих между ПЗУ, динамическим ОЗУ и драйвером дисплея. Перед запуском, из контроллера MCU в SRAM «заливается» область ПЗУ (первые 16кБ). Затем запускается процессор Z80. Тактирование осуществляется от таймера микроконтроллера в STM32.
    Во вложении 11.jpg рисунок платы из Sprint Layout.
    Стоит отметить, что по результатам ремонта нескольких клонов, было обнаружено несколько неисправных мультиплексоров КП11 и КП12, именно по этой причине и хотелось отказаться от промежуточных микросхем, сильно осложняющих ремонт.
    Во вложении 12.jpg представлен результат работы микроконтроллера STM32, выполняющий функцию драйвера дисплея. Процессор и память в схеме отсутствуют. В качестве видеопамяти используется встроенная память микроконтроллера.
    Далее были установлены внешняя SRAM и процессор Z80A. И тут начались проблемы. По осциллограммам на выводах процессора, кажется что система CPU - SRAM работает. Но результат работы увидеть никак не выходит.
    Картинка стала ”рваной”. По задумке микроконтроллер должен был следить за процессами записи во внешнюю память SRAM, и если данные относились к дисплейной области, по прерыванию микроконтроллера делать копию данных в свою встроенную память и уже из встроенной памяти выводить на экран, тем самым минуя обращение к внешней памяти и как следствие дополнительных мультиплексоров. Но вышло так, что на прерывания обработки этих обращений уходит слишком много времени, поэтому картинку рвет и данные так и не приходят. Я не стал разбираться почему, главное было то, что даже если они придут, спасти изображение от искажений все равно не удастся. И все это несмотря на то, что микроконтроллер работает на частоте 70 МГц!
    Проблему удалось решить следующим образом. Пришлось немного изменить принцип работы, а именно - прерывать процессор Z80 по сигналу BUSRQ сразу после прорисовки очередной строки для чтения видеоданных из SRAM. За простоту данной процедуры пришлось расплачиваться простоем процессора. Наглядно можно увидеть прерванное время у Z80 – это расстояние в длину черного поля между узкой вертикальной зеленой полоской и широкой рваной зеленой же полосой с правой стороны экрана.
    В итоге удалось получить цветное изображение с градацией яркости, но без раскраски бордюра и выхода звука. Интересной особенность данного клона явилось то, что можно бейсик командой РОКЕ записывать новые значения в область ПЗУ, например можно записать новые шрифты в знакогенератор или что-то вместо 1982 Sinclair Research Ltd. Конечно же при перезапуске микроконтроллера все изменения будут потеряны, но сброс процессора область памяти ПЗУ не трогает. Кстати команда RANDOMIZE USR 0 теперь не приводит с сбросу, появляется только нестандартное сообщение об ошибке.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	11.jpg 
Просмотров:	2553 
Размер:	73.9 Кб 
ID:	53477   Нажмите на изображение для увеличения. 

Название:	12.jpg 
Просмотров:	1502 
Размер:	61.9 Кб 
ID:	53478   Нажмите на изображение для увеличения. 

Название:	внешний вид.jpg 
Просмотров:	1916 
Размер:	76.8 Кб 
ID:	53479   Нажмите на изображение для увеличения. 

Название:	рваная картинка.jpg 
Просмотров:	1370 
Размер:	47.0 Кб 
ID:	53480   Нажмите на изображение для увеличения. 

Название:	тестовые цветные полосы.jpg 
Просмотров:	1490 
Размер:	27.4 Кб 
ID:	53481  


  2. Эти 2 пользователя(ей) поблагодарили ZX_Farhitdin за это полезное сообщение:

    shadwork (26.08.2020), Сандерленд (27.09.2020)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Moderator
    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ранд usr 0 не будет работать из за проблемы порчи первых 5ти ячеек с адреса 0 в результате ошибки процедуры калькулятора.
    Второе - работа с портами даже в битбанге на стм32 - нормально только до 15 мегагерц ( официально тактирование внешних пинов - 30 мГц)
    И собственно - что смущает более всего - стм32 вообще то 3.3 вольта уровень сигналов. Нагрузочную способность кто то расчитывал ? преобразователей уровня - я тоже не вижу.
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  5. #3
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не очень видно по плате, но на stm32, похоже, заведена вся шина? Если так, то можно, наверное, избавиться от операционника, прицепив SD-карту к stm32 и читая с ней tap-файлы. Просто отлавливать CALL 1306, тем более, что ПЗУ можно подсунуть любое. Экран на время чтения можно и гасить, если ресурсов МК не хватит на то и другое одновременно.

    Хотя и так по числу корпусов это рекордсмен среди клонов без программируемой логики. Круто! Исходники будете выкладывать?

    Цитата Сообщение от balu_dark Посмотреть сообщение
    преобразователей уровня - я тоже не вижу.
    Так ведь там CMOS Z80.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  6. #4
    Moderator
    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Так ведь там CMOS Z80.
    Ну я не увидел если честно указаний от скольки он питается. так же не увидел - как у него сделан вывод видео. Если тупо с ног проца - конечно будут искажения - оно не вытянет по току - надо транзисторные формирователи на цвет и на синхру ставить. Нельзя мешать цифру и аналог. Им от этого плохо бывает. При правильном стечении обстоятельств - можно даже увидеть дымок : это душа свеже умершего транзистора.
    Последний раз редактировалось balu_dark; 20.09.2015 в 15:54.
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  7. #5
    Moderator Аватар для Mick
    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    9,917
    Спасибо Благодарностей отдано 
    178
    Спасибо Благодарностей получено 
    695
    Поблагодарили
    368 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Несколько оригинально. Радует, что у людей есть фантазия, которые подтверждают факт - что Спектрум можно собрать почти из все угодно.

    Так, мысль вслух, а если вместо статики попробовать забубенить двухпортовую память. Тогда по логике не надо будет тормозить проц и STM сможет спокойно хавать данные из памяти. Кстати, я сильно не вдавался в проект Спектрума на AVR от Лисицина. У него вроде видеоконтроллер собран тоже на микроконтроллере (если не ошибаюсь на 128 меге). Как он успевает все забирать.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  8. #6
    Junior
    Регистрация
    02.09.2015
    Адрес
    г. Челябинск
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Стоило упомянуть, что по сути это макетная версия и не на последней своей стадии развития.
    Весьма справедливое замечание о разности напряжений питания микросхем заставило меня задуматься об их стыковке на этапе разработки. И не нашлось ничего проще как поставить ограничивающие ток резисторы, к тому же в микроконтроллере почти половина выводов толерантна к 5В.

    Что касаемо подключения SD карты, то были такие мысли, однако не с этим контроллерам, оказалось, что свободных выводов не остаётся, единственный вариант переходить на 64 выводной корпус.

    Цвета РГБ пришлись как раз на три вывода порта С РС13, РС14, РС15. Несомненным плюсом стало, что других выводов на порт С нету. Сигнал проходит через резистор без повторителя, который в итоге придется все-таки ввести. Еще хотел отметить, что три уровня напряжения: уровень черного, уровень серого и уровень яркого, я получаю с одного выхода используя переключение между выходными структурами полумост или выход с открытым истоком, который и позволяет получить любое среднее напряжение между 0...3,3 с помощью резистивного делителя.

    Не знал, что существует двухпортовая память, но у меня есть другой способ отказать от запросы доступа к шине, попробовать успеть опросить память во время сигнала процессора о регенерации памяти. Мне кажется должно получиться.

  9. #7
    Moderator
    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Двухпортовая память просто стоит от потолка до неба. Поэтому о ней знают только избранные - я не видел в самоделках ее вообще. Хотя она и удобна для всяких там видеокарт и аналогичного. Гораздо проще - привязать доступ к памяти к разным уровням клока ( к фронту и спаду) например по форонту глобального клока - туда лезет один процессор, а по спаду - второй. Типа как была реализована на некоторых клонах "прозрачная" работа с памятью - видеопроц лез в одно время а обычный проц - в другое.

    На RGB и SYNC амплитуда 0.75...1В на сопротивлении 75 ом. Я не уверен что нормально можно будет сделать такой сигнал. 3 транзистора (да хоть кт315) и 9 резисторов - очень спасут положение. Плюс не следует забывать о гасящих импульсах и привязки к белому. это даст стабильную картинку. Если после сброса - картинку не рвет, а после выполнения команд меняющих цвет бордюра (например save "1" code 0,1024 ) изображение начинает колбасить всячески - надо смотреть привязку к белому( вернее к черному вроде).
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  10. #8
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Вот всего на одном STM32F407 и на PIC32:
    Один испанец слепил эмуль и на STM32F103RB, как раз на одной очень популярной платке с дисплеем. Но сырков/прошивок не выложил, гад... А у меня эта девбордина есть.

    ---------- Post added at 22:54 ---------- Previous post was at 22:52 ----------

    Последний раз редактировалось Ewgeny7; 20.09.2015 в 22:57.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  11. #9
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от balu_dark Посмотреть сообщение
    ранд usr 0 не будет работать из за проблемы порчи первых 5ти ячеек с адреса 0 в результате ошибки процедуры калькулятора.
    Ну не ошибки, а оптимизации Там еще есть несколько мест с фейковой записью в ПЗУ. Надо ставить лочку на запись в #0000 - #3fff.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  12. #10
    Member
    Регистрация
    24.10.2018
    Адрес
    г. Оренбург
    Сообщений
    142
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а исходными файлами не поделитесь ? я подумываю тоже самое сделать но на stm32f4, там озу на борту 192 кб... из них 128 легко отдать на z80

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. помогите опознать клон спектрума
    от AHTuXPuCT в разделе Несортированное железо
    Ответов: 4
    Последнее: 28.10.2013, 18:04
  2. Chrome - современный итальянский клон Спектрума
    от Grand в разделе Зарубежные модели
    Ответов: 187
    Последнее: 24.02.2013, 20:57
  3. Опознать клон Спектрума ("Мико", возможно, г. Львов)
    от alexshap в разделе Несортированное железо
    Ответов: 6
    Последнее: 10.12.2012, 20:12
  4. что это за клон спектрума и как подключить к ТВ?
    от Johnv в разделе Для начинающих
    Ответов: 19
    Последнее: 09.02.2012, 09:03
  5. Отдам в дар ПК Байт 48 (клон Спектрума)
    от Arceny в разделе Барахолка (архив)
    Ответов: 14
    Последнее: 21.05.2010, 13:31

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •