Сорцы некоторых демок доступны на сайте автора, остальные видимо буду доступны со временем.
---------- Post added at 19:57 ---------- Previous post was at 19:57 ----------
Craft и Phasor я лично запускал на картонке у себя дома.
---------- Post added at 20:00 ---------- Previous post was at 19:57 ----------
Еще добавлю, что многие девайсы (например хаб для GPRS модема, который обеспечивает опрос и2ц слейвов и передает инфу на сервак через оный модем) прекрасно умещаются у меня в ту же атмегу8, с 512 байт памяти.
Дада КОЕ - типичный скандинав ))
Этот Линус ещё и 4 канала звука генерит в процессе...
8,5 кб, говоришь?
"наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
"Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
(c) zst
Чо "я говорю". Возьми да прочитай спецификацию МК.
На самом деле, у атмела очень некислая архитектура. Инструкции в основном 1-тактовые, куча прерываний. Ему и париться особо не надо: повесил 15625Гц ИНТ, на нем программирует ШИМы для выходов. На других ИНТ-ах висят видео-стробы.
Я сам выводил с атмеги128 на ВГА картинку вполне годного качества.
---------- Post added at 22:43 ---------- Previous post was at 22:40 ----------
А вот пропеллер как раз отличается от атмела в том плане, что каждое ядро можно оформить отдельным интерфесом. Конкретный пример: в моем проекте мне нужно 3 интерфейса I2C. У атмела НЕТ таких авр8. Выпить йаду. А на пропеллере - реализация и2ц занимает (на глаз) байт 300. Так что 2кБ памяти на ядро - это неслыханная роскошь. Я так думаю 512 бы хватило за глаза.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я делал на АП6 ИР23 захват с 128 Пентагона на 48 Ленинград передачу любого байта памяти. На 48 Ленинграде на бейсике писал мини прогу по обслуживанию портов ввода вывода. Пару строчек буквально....
Правильно написали про Z-состояние Z-80 BUSRQ/ в первую очередь нужно перевести Z-80 в "третье" состояние
(... у меня так пауза сделана, железно работает... например играешь..играешь и телефон позвонил... тумблер щёлк и стоп-машина.
Только у меня после передачи очередного байта портилась ячейка памяти из-за циклов регенерации, нужно предусмотреть останов отправки следующего байта на время регенерации ... скорее как мне кажется по сигналу типа RFSH/ от схемы ULA ведь в этот момент идёт железная регенерация от ULA-схемы компьютера.
Скорее придётся Ардуину с ПЛИСом скрестить для уменьшения кол-ва корпусов.
А так можно управлять вместо Z-80 ША и ШД и ШУ....
Но можно и с извратом TAP модуль с ардуины в спек ... или через параллельный порт связать два устройства
Только в спеке ПЗУ поправить на автозагрузку с чего угодно
Вот по этой схеме делал сам себе (в схеме есть неточности и она загружается мелкой)
Здесь Картинка поболее размером/ Скачать
Последний раз редактировалось USERHOME; 30.06.2014 в 01:51. Причина: Добавление изображения
Последний раз редактировалось AlexFantasy; 10.07.2014 в 22:15.
ZXM-Phoenix-1024(rev.02)
KAY-1024turbo(rev.2010)/FDC/NemoIDE/SMUC2.0/GS(512)
БАЙТ(БЭМЗ)/FDC
ZX-Evolution(rev.C)
Sega Dreamcast(PAL)/2xJoypad/Keyboard
A500Plus
___________________________
Идея, брошенная в массы - девка, брошенная в полк
Во-первых я предлагаю определиться с терминологией.
Запись в память через системный разъем, минуя проц - это называется "прямой доступ к памяти", он же DMA. Поэтому, как бы ни было реализовано то, что хочет автор - это будет DMA.
Во-вторых, в начале 90х в Харькове известным железячником V.M.G. был изобретен девайс "Диджитайзер", то есть плата видеозахвата. Она в реальном времени отправляла в экранную область оцифровку изображения, поступавшего на плату по видеовходу. Можно откопать схему этого устройства (оно было реализовано на рассыпухе) и покурить, как там что сделано.
В-третьих, проц действительно лучше всего останавливать сигналом BUSRQ. Можно вообще посадить BUSRQ на землю, тогда проц все время будет остановлен, и шина будет в нашем распоряжении.
Чтобы управлять доступом в память, нужно генерировать следующие сигналы: адресная шина (A0-A15), шина данных (D0-D7), шина управления: MREQ, RD, WR. Итого 27 сигналов минимум. Некоторые из них (A15, A16, BUSRQ) можно посадить на постоянный уровень, так как они не изменяются. Если ног микроконтроллера не хватает для управления остальными - можно организовать мультиплексирование адреса и данных на одной шине, как это сделано, например, в 8051. Использовать регистры типа ИР22, ИР23, ИР27.
Что касается разрешения конфликтов между устройством на шине Z80 и видеоконтроллером - то лучше для простоты начать с безвейтовых клонов: Пентагон, Орель БК-08. Такие клоны гарантируют цикл доступа в память при обращении процессора без задержек, по крайней мере, каждые два такта процессора. Потренировавшись на таких клонах, можно перейти к оригинальному синклеру или клонам с вейтами.
Если необходимо синхронизироваться со схемой спека, и есть доступ только к 3.5МГц на системном разъеме - то для повышения частоты можно использовать ФАПЧ (PLL). Многие микроконтроллеры имеют встроенный ФАПЧ для умножения частоты, например, dsPIC33. Правда, надо обязательно смотреть датащит на предмет минимальной и максимальной входной частоты ФАПЧ, иначе умножить не получится.
А вообще, для данной задачи, в синхронизации нет особой необходимости. Следует выдерживать "консервативные" длительности импульсов обращения к памяти, с запасом, чтобы сработало при любых фазовых соотношениях тактовой частоты спектрума и микроконтроллера. Иногда будет возникать метастабильность, и схема будет глючить, но это будет происходить не так уж часто, а автор сказал, что сбои ему не критичны.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)