Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Помогите в разработке... (http://zx-pk.ru/showthread.php?t=1759)

Elya 7th November 2005 02:30

Помогите в разработке...
 
Привет всем!
Предыстория:
Искал я документацию на всякие контроллеры, микросхемы и прочее и набрел на TMPZ84C015AF-6, производитель Toshiba. Вкратце опишу. Это тот же Z80, работающий на частоте 10 мГц, в нем встроенный генератор, лишь подключить нужно кварцевый резонатор. Вообще, этот чип не слишком уж и отличается от Z80, много в нем встроено (ненужного), но главное отличие - CMOS! Поэтому потребление мало. К тому же в PDF-ке я посмотрел, что этот CPU совмещается с TTL, можно сделать переключатель Super-Turbo ;-))). А можно работать и на обычной частоте. Все зависит лишь от схематичного решения. Мы можем и не обсуждать этот CPU, просто возьмем за основу Z80 (по сигналам идентично все, по выводам 100 против 40).
Ну да ладно. Это мне напомнило сразу же мой любимый Спектрум Ленинградского варианта ;-))). Я набрал в яндексе ZX-Spectrum и был удивлен множеством ссылок. И спасибо модераторам и всем кто поддерживает сайт, ибо здесь очень неплохо обсуждают железо.
У меня масса вопросов и все касательно железячек.
Я хочу понастальгировать и собрать себе Спектрум. Но не обычный уже. Может, сможете помочь мне разобраться?

Пусть правила будут такими:
1. 64 кб СТАТИЧЕСКОГО ОЗУ, скажем микруха Toshiba TC551001BFTL-70L (Откуда я их выпаял - ума не приложу), да, я согласен, это 128 кб, ну, пусть "банк" второй останется не тронутым. Меня всяко устраивает динамическая память. Но, однако, как я предполагаю, лучше использовать статику. Ее не надо регенерировать, расчеты вести с таймингом и прочими аттрибутами.
2. Процессор Z80, и если подтвердится совместимость с тем CPU Toshiba, то заменить несложно.
3. Музыкальный сопр, ну это без проблем устанавливается, можно даже не обсуждать.
4. Никаких дисководов, CD-ROMов, HDD, носитель информации - магнитофон, но... читайте ниже.
5. Никаких PLM-ок.
6. Джойстик Kempston 1 и 2. Тоже понятно...
7. Носитель информации дополнительный продумывается. Это, скорее всего Flash-диск. Флешки сейчас подешевели настолько, что можно ими завалиться, а выпаивать можно еще и с дохлых HDD, например, с дохлых сетевушек (которые BOOT) и так далее. По идее, это хороший носитель информации. ОЧЕНЬ быстрый, явно быстрее всяких дисководов и HDD, а уж и тем более магнитофонов.
8. Несколько портов для программатора Flash-диска. Предположительно 3-4. Можно для экономии взять 2 порта из Ямашки ;-).
9. Программа для Flash-ROM. К сожалению это обязательно. А не хотелось. Объясню чуть ниже. Хотя, может, я и не прав...
10. Хочется схему, чтобы работала стабильно и хотя бы больше чем наполовину была бы совместима с оригиналом.
11. Нашел схему на CXA1146 кодера PAL-NTSC. Хорошо бы тоже ее собрать.

Когда статику поставлю, надо будет усовершенствовать шину адреса, мультиплексоры поприбавятся, конечно. Но я готов пойти на такие жертвы.
Формируется экран, вроде бы понятно как. Но по таймингам мне тяжело разбираться без рабочего экземпляра.

Flash-диск.
Представим 4 счетчика, которые управляют статической памятью и Flash-памятью. На вход первого подана частота, скажем, 2-3.5 мГц через элемент ИЛИ (второй вывод подключен к блоку сравнения правильности записи - это еще продумать надо, вообщем). Выхода счетчиков подключены через мультиплексоры (которые управляются нажатием кнопки, и которая подает на процессор сигнал Wait) к памяти и через регистры (для рассогласования) к Flash-памяти. Процессор переходит в состояние ожидания. На флеш-память подается сигнал записи, напряжение программирования и из логики делаю проверку на правильность записи. Это несложно. Вся память переписывается во флеш-память, включая экранную область (иногда и там бывают скрыты программы). Теперь, когда надо переписать в память обратно, нажимаем другую кнопку и переходит информация обратно также с помощью мультиплексоров и счетчиков. Выборка будет осуществляться постранично, по 64 кб, скажем, командой OUT 222(или любым другим портом),(страница адреса игры или программы, например 01H-1FH). Думаю, понятно я изложил здесь все? Просто почитав про CD-ROM, где хотят в Wav-формате писать на болванки, я подумал, что я еще не такой сумасшедший ;-))). Пусть даже содержимое ПЗУ переписывается, что жалко, что ли? Выпаяю еще флешки из HDD, если потребуется ;-). Плюс такого подключения в том, что не нужно создавать файловую систему, и все очень просто.
Вопросы только в другом.
1. Сколько процессор может ждать, не обращаясь к памяти и портам? По этому поводу я нигде не нашел ответа. Даже в описании процессора.
2. Главный вопрос. Как запускать программы из памяти? То есть надо в програмный счетчик сделать запись, где он был до момента записи во флеш, но как узнать, что БЫЛО в регистрах? И вообще, я думаю, что содержимое регистров надо также записывать во флешку, но снова же - как (узнать что было в регистрах, особенно в программном счетчике?)? То есть я сделаю этот флеш-диск, а толку от него совсем не будет, и процессор после ввода в память игры продолжит выполнять программу бейсика, как ни в чем не бывало... Или хуже того, просто тупо сбросится комп.
3. Не зря я писал раньше про программу, обслуживающую Flash-диск. Можно, например, прошить ее в ПЗУ, вместо обслуживания дисковода. И вызывать какой-нибудь командой на бейсике, скажем, CAT. Но все же, если ту или иную игру не взломать и не узнать, с какого адреса она запускается, тогда бесполезно все. Поэтому вопрос остается открытым.

Ваши предложения и высказывания? Но не бейте уж сильно...
А может, уже кто-то разработал подобное, а я все "велосипед" изобретаю? ;-)
Илья.
Пока.

ЗЫЖ Я сегодня разрисовал схему Ленинградки 1, уже с некоторыми усовершенствованиями в PCAD-e. Думаю, схема будет работать. Нет желающих проверить визуально? Могу на HTTP выложить. Чую картинка будет большой. Правда, некоторые штришки остались, доработать надо маленько... Поставил уже статику, пришлось поставить 9 мультиплексоров КП11 (на адресацию), вместо 5-ти. И пока не рисовал еще Flash-диск. Может, я и не прав, поэтому лучше как-нибудь проверить и перепроверить. Только ума не приложу, как из PCAD-а сделать картинку...

ASDT 7th November 2005 05:55

Клаву можно PS/2 приделать

ilyaspb 10th November 2005 23:01

Похоже по описанию это аналог Z84C15 только выпускаемый TOSHIBA
По моему разумению,чем лепить zx с flash disk, и дергать микрухи с РС плат,то интереснее прилепить к zx вот такой чип:W83877F.Тоже очень
часто встречается на старых РС платах.Даташит на сайт не помещается
если кому интересно могу выслать или на www.alldatasheet.com

CHRV 10th November 2005 23:18

Z84C15 используется в Спринтере!

ilyaspb 10th November 2005 23:24

Ну так изобретем новый Спринтер

CHRV 11th November 2005 19:08

Quote:

Originally Posted by ilyaspb
Ну так изобретем новый Спринтер

Неа ну если вы сын Алекперова или жена Абрамовича, то можете приобрести у разработчиков... Они просят совсем небааааальшую сумму ;).

fan 11th November 2005 22:24

И сколько ? :D Может всем форумом потянем :v2_lol:

ilyaspb 11th November 2005 22:57

Я сказал "изобретем",а не "купим".

Elya 12th November 2005 11:17

Привет всем!
Я многое перепробовал, пересмотрел и вот что я решил.
Соберу я все как есть в Ленинграде-1 (схему дали вроде как рабочую), за исключением памяти. Память я поставлю KM41C464P-8. Для тех кто в танке объясню. Надо 2 штуки. Это память 64к Х 4 бита. Правда, входы-выходы как у РУ5 не разделены. Ну, думаю, поставить дополнительно ИР22 для рассоединения, пока не продумал только как синхронизировать. Сложность одна, это работа с экраном... Ну, думаю, что что-нибудь придумаю.
ПЗУ поставлю 27256. Прошью две прошивки (S82 и S88 - если не ошибаюсь), а когда программу управления флеш-диском сделаю, и ее настрою, то прошью флешку и поставлю вместо 27256.
Решил не мудрить ничего. Не писать во флеш всю память, а лишь 48к, то есть без ПЗУ. Потом расчитать проще будет начальный адрес. Правда, все же каждую игрушку придется взламывать для узнавания старта игры.
Поставлю проц Z80, да и все вообщем в остальном то же, что и в схеме.
Дополнительно я ставлю 4 порта. ЛА2+логика+ИР22-ИР23. 249-й, 250 и 251-й адреса. Плюс вывожу с музыкального сопроца еще 2 порта. Думаю, один лишний, но лучше с запасом ;-))). Три порта - адрес во флешках выбирают, один - данные. Программа загрузки - проще некуда. Выставляем адреса, считываем, записываем в память инкрементируем адрес и циклим на 48 к.
Вот и все.
Илья.
Пока.

jtn 12th November 2005 11:56

велосипеды изобретаем =\\\


All times are GMT +4. The time now is 18:10.

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