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

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 
Просмотров:	2550 
Размер:	73.9 Кб 
ID:	53477   Нажмите на изображение для увеличения. 

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

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

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

Название:	тестовые цветные полосы.jpg 
Просмотров:	1488 
Размер:	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
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Да ладно рекордсмен )) правда по ссылкам софтовые эмуляторы, но вы же пользуетесь эмулятором на PC или это не кошерно? ))
    Пользуюсь, но разделяю понятия "клон" и "эмулятор". А то любую однокристаллку с линухом и fuse надо будет в клоны записывать.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

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

    По умолчанию

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

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

  8. #6
    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
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  9. #7
    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 с помощью резистивного делителя.

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

  10. #8
    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
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  11. #9
    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"

  12. #10
    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.

Страница 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

Ваши права

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