Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Speccy2007 v1.00 (http://zx-pk.ru/showthread.php?t=6679)

Alex_kapfa 2nd December 2009 02:27

4 Attachment(s)
Quote:

Originally Posted by Alex_kapfa (Post 236176)
11:27 ----------[/SIZE]

[/COLOR]Я думаю приспособить память с "четверочного кэша"
http://zx.pk.ru/showpost.php?p=235480&postcount=680
Эти микросхемы в "узком" DIPe, поэтому хочу использовать 32-х контактную цанговую панельку в качестве переходника, чтобы потом, когда буду переделывать в 128-ой вариант ее можно было извлечь, а вторую микросхему, которую не нужно будет менять, скорее всего, просто припаяю.
С эстетической стороны этот вариант, конечно, хуже, но микросхемы с "кэшей" я думаю будут лучше работать (пусть меня поправят, если я заблуждаюсь), т.к. они быстрее (20 ns вместо 70, как у UT62256CPC-70LL).

Установил я, как и планировал, в качестве памяти Speccy2007 микросхемы с "четверочного кэша" AS7C256-20PC. Мой любимый тест RiverRaid "крутится" уже больше часа. Фотографии того, что получилось находятся во вложенных файлах. Может кому-то данная информация будет полезна.
К сожалению, компьютер снова не прошел "ночного прогона" при помощи RiverRaid. Утром обнаружил, что она "вывалилась" в бейсик с ошибкой "5 Out of screen, 5:1" . Попробую прошить снова версию 1.04 (сейчас 1.03) и протестировать чем-нибудь еще, а не только этой игрушкой.

Версия 1.04, тест памяти от SYD. Тест с 9-ти вечера до 7-ми утра пройден успешно:
http://zx.pk.ru/showpost.php?p=237522&postcount=728

Mikka_A 2nd December 2009 09:39

Quote:

Originally Posted by Alex_kapfa (Post 237285)
Установил я, как и планировал, в качестве памяти Speccy2007 микросхемы с "четверочного кэша" AS7C256-20PC. Мой любимый тест RiverRaid "крутится" уже больше часа. Фотографии того, что получилось находятся во вложенных файлах. Может кому-то данная информация будет полезна.
К сожалению, компьютер снова не прошел "ночного прогона" при помощи RiverRaid. Утром обнаружил, что она "вывалилась" в бейсик с ошибкой "5 Out of screen, 5:1" . Попробую прошить снова версию 1.04 (сейчас 1.03) и протестировать чем-нибудь еще, а не только этой игрушкой.

по итогу какие буфера стоят?
номинал?
производитель?

Alex_kapfa 2nd December 2009 11:30

Quote:

Originally Posted by Mikka_A (Post 237315)
по итогу какие буфера стоят?
номинал?
производитель?

Платы под рукой сейчас нет, поэтому пишу то, что запомнил:
74HCT245N
производитель NXP

---------- Post added at 09:30 ---------- Previous post was at 09:26 ----------

Посоветуйте, пожалуйста, какую-нибудь программу- тест для того, чтобы можно было память протестировать (чтобы можно было понять, если произошел сбой памяти, по какому адресу). Есть такие программы для Спектрума?

rnd.gen 2nd December 2009 11:44

Можно попробовать самому написать програмку, которая бы занимала немного места и наглядно показывала где поменялась в памяти инфа. Для этого например сделать чтобы програмка могла располагаться в разных областях памяти и чтобы заполняла опледеленные участки памяти например байтом 255 и потом отображала это на экране.

Alex_kapfa 2nd December 2009 11:53

Quote:

Originally Posted by rnd.gen (Post 237335)
Можно попробовать самому написать програмку, которая бы занимала немного места и наглядно показывала где поменялась в памяти инфа. Для этого например сделать чтобы програмка могла располагаться в разных областях памяти и чтобы заполняла опледеленные участки памяти например байтом 255 и потом отображала это на экране.

На Бейсике неинтересно, так будет очень медленно, а на Ассемблере я не умею :|.

rnd.gen 2nd December 2009 11:59

Если у меня появится возможность, попробую.

syd 2nd December 2009 19:40

2 Attachment(s)
Alex_kapfa, вот мой вариант теста верхней памяти, сначала записывает данные в память, потом два раза подряд читает, мигает бордюром. Данные все время разные. Если считанные данные отличаются от записанных, выводит строкой об этом. Если все ОК - экран будет все время пустой.

А глюк мог быть из-за того, что холодильник включился.

Alex_kapfa 3rd December 2009 09:08

Quote:

Originally Posted by syd (Post 237412)
Alex_kapfa, вот мой вариант теста верхней памяти, сначала записывает данные в память, потом два раза подряд читает, мигает бордюром. Данные все время разные. Если считанные данные отличаются от записанных, выводит строкой об этом. Если все ОК - экран будет все время пустой.

А глюк мог быть из-за того, что холодильник включился.

Всем доброе утро! Версия прошивки 1.04, test_RAM_by_Syd. "Ночной прогон" наконец-то пройден успешно! Ура! Компьютер проработал без сбоев с 9-ти вечера до 7 часов утра.
Огромно спасибо за помощь при определении причин неустойчивой работы!

rnd.gen 4th December 2009 01:34

Alex_kapfa ну как, есть что-то новое?:confused_std:

Alex_kapfa 4th December 2009 01:44

Quote:

Originally Posted by rnd.gen (Post 237745)
Alex_kapfa ну как, есть что-то новое?:confused_std:

Я отправил тебе результаты "тестирования":)

Ljubitel 3rd February 2010 22:31

2 Attachment(s)
Гуру схемотехники, подскажите.

В первоначальной схеме от товарища Syda
как то странно подключена память UT62256.
Линии адресов A0-A14 не совпадают с даташитом.
При этом схема рабочая. Все же - как правильно
делать новую разводку - как у Syda ?
Или по даташиту ?

zst 3rd February 2010 22:39

Quote:

Originally Posted by Ljubitel (Post 254152)
Гуру схемотехники, подскажите.

В первоначальной схеме от товарища Syda
как то странно подключена память UT62256.
Линии адресов A0-A14 не совпадают с даташитом.
При этом схема рабочая. Все же - как правильно
делать новую разводку - как у Syda ?
Или по даташиту ?

У статического ОЗУ от перестановки битов адреса или данных между собой результат не меняется.

Ewgeny7 3rd February 2010 22:55

1 Attachment(s)
По просьбе zst:

zst 3rd February 2010 23:00

Quote:

Originally Posted by ewgeny7 (Post 254156)
По просьбе zst:

Так просто? И без всяких проводков!

Уточняю - это замена родного разъема на SDC09W4.

Спасибо.

Ewgeny7 3rd February 2010 23:07

Quote:

Originally Posted by zst (Post 254159)
Так просто? И без всяких проводков!

Да, расположение контактов совпадает. Но дырочки под передние лапки крепления к плате надо сверлить. Я просверлил и залил припоем (типа заклепок получилось).

Single 6th March 2010 12:53

Quote:

Originally Posted by syd (Post 236379)
Да.

---------- Post added at 12:49 ---------- Previous post was at 12:43 ----------

В общем еще гипотеза, шина VD меньше нагружена (только плис). Шина D нагружена процом, плис, авркой и пзу. Возможно память не справляется с такой нагрузкой на шину данных. А если работает как видеопамять, и нагрузка меньше, то все ОК. Но как это проверить? И как исправить?

Я бы посоветовал посмотреть на всех ногах памяти осцилографом, и сравнить форму и уровень сигнала на разных ногах. С данными IC не работал, но таким образом удавалось выловить дефектные экземпляры, и, напрмер, изменением номинала резистора подтянуть к + сильнее и выровнять уровень с остальными и устранить глюки.

syd 7th March 2010 13:31

Single, я смотрел, на глаз разницы не обнаружил.

ram_scan 13th March 2010 10:36

Quote:

Originally Posted by Ljubitel (Post 254152)
Гуру схемотехники, подскажите.

В первоначальной схеме от товарища Syda
как то странно подключена память UT62256.
Линии адресов A0-A14 не совпадают с даташитом.
При этом схема рабочая. Все же - как правильно
делать новую разводку - как у Syda ?
Или по даташиту ?

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

Если проникнуться этим фактом, то разводить плату становится намного радостнее. Единственно для ПЗУ есть нюанс, потому-что может прийтиться перед прошивкой биты в ней местами поменять, или адресные линии и прошивка для глаз и понимания станет неясной. Но самому компутеру пофигу.

Ewgeny7 13th March 2010 16:38

Quote:

Originally Posted by ram_scan (Post 264556)
Единственно для ПЗУ есть нюанс,

Попросту говоря, ПЗУ надо разводить КАК НА СХЕМЕ, ОЗУ - как тебе удобней. Вот и всё правило.

ZX_mens 25th March 2010 11:32

Долгие поиски разъёма для SD-карточки к Спекки2007 по близлежащим городам (с почтой заморачиваться не хотелось) навели меня на такую мысль... можно припаять мелкими проводками переходник от microSD к плате, приклеить его двухсторонним скотчем к плате и без проблем пользоваться, благо переходников скопилось целая куча, когда покупал карточки для телефона, коммуникатора и т.д. .... Вот, может кому пригодиться:):speccy:

skyther 25th March 2010 11:48

можно и самому сделать из куска текстолита и советского разъема ;) если повезет, можно одним разъемом обойтись, припаять контакты к плате сп2007. еще ножки от деталей годятся...

Ewgeny7 25th March 2010 11:52

У меня на Орионе так и сделано из адаптера микроSD.
Еще можно использовать кусок слота ISA, туды говорят тоже карточки хорошо фтыкаются.

fan 25th March 2010 13:25

Можно полностью самому собрать , конструкция довольно простая -
http://sblive.narod.ru/ZX-Spectrum/SPI/SPI.htm
Контакты от исатины припаиваются так что бы при запихивании карточки питание подтыкалось раньше чем всё остальное (как в оригинале).

zst 20th April 2010 11:01

АВТОЗАГРУЗКА TAP-ФАЙЛОВ
 
syd, при выборе файла с расширением .tap атмега запоминает имя файла, потом сбрасывает Z80. Затем вручную набирается команда LOAD "" ENTER.

Можно вас попросить сделать вместо перезагрузки Z80 загружать файл с расширением .sna, например, LOAD.sna, в котором сохранить состояние SPECCY2007 после ввода команды загрузки с магнитофона ? И чтобы сразу запускалась виртуальная лента без кнопки '+'.

Заранее благодарен. Если не трудно.

syd 20th April 2010 12:59

Сделать можно. Для этого нужно внести изменения в boot.sna и прошивку меги. Еще нужно будет подготовить load.sna. Также изменения коснутся протокола обмена между z80 и мегой, так как, на сколько я помню, сейчас в протоколе не предусмотрена такая возможность.

Но есть причина, по которой я считаю, что это не целесообразно делать. Я уверен что многим ностальгирующим, как и мне, в кайф нажать LOAD "", то есть нужно будет оставить текущую прошивку и добавить еще одну новую. И с учетом того, что на данный момент уже есть большое количество разных версий прошивок, делать еще одну - значит еще больше усложнить задачу тем людям, которые потом захотят разобраться в проекте.

rnd.gen 6th May 2010 14:05

Возникли вопросы.
Если можно доходчиво объяснить за что отвечают следующие сигналы атмеги16/32
: KDAT(3), AVR WAIT (4), AVR INT (17), AVR NOIT (20), TAPE IN (21) ? Просьба не пинать от незнания, буду по мене возможности учиться.

denisv 14th May 2010 00:29

Quote:

Originally Posted by rnd.gen (Post 283473)
Может и в версии speccy2007 можно подправить эмулятор TR-DOS ?

1. Текущую версию AVR-ка может не потянуть, хотя я до конца и не уверен, в чем потеря производительности - на 28 мгц PIC24 у меня пришлось "уменьшить скорость вращения диска" с 300 оборотов в минуту до 120 (иначе просто байт с "дискеты" мог за-overrun-иться следующим) - не успевал Z80 до конца прочитать - может быть код слегка неоптимален, а может интерфейс с SD-картой все тормозит.
2. В данный момент у меня все машины без LPT порта, проблема прошить AVR-ку.

Со вторым проще - код более-менее отлажен, точки входа BDI четко определены, подцепить к speccy2007 не составит труда. Вопрос упирается в отладку.
Насчет первого возможен вариант, что либо на PIC накладные расходы на прерывание большие, либо у меня криво интерфейс ФПГА с PIC-ом реализован.

rnd.gen 14th May 2010 01:30

Quote:

Originally Posted by denisv (Post 283482)
2. В данный момент у меня все машины без LPT порта, проблема прошить AVR-ку.

Могу прошить и протестировать.

denisv 17th May 2010 09:21

Quote:

Originally Posted by rnd.gen (Post 283473)
denisv. Может и в версии speccy2007 можно подправить эмулятор TR-DOS ? :)

Не получится - с новым BDI прошивка для Speccy2007 стала весить 35к.

zst 17th May 2010 09:35

Quote:

Originally Posted by denisv (Post 284230)
Не получится - с новым BDI прошивка для Speccy2007 стала весить 35к.

А если когда-нибудь появится АТМЕГА128, можете для нее переделать ?

rnd.gen 17th May 2010 10:47

Quote:

Originally Posted by denisv (Post 284230)
Не получится - с новым BDI прошивка для Speccy2007 стала весить 35к.

Неужели выхода нет ?

---------- Post added at 08:47 ---------- Previous post was at 08:46 ----------

Quote:

Originally Posted by zst (Post 284232)
А если когда-нибудь появится АТМЕГА128, можете для нее переделать ?

К сожалению АТМЕГА128 как и АТМЕГА64 имеют другой форм фактор :(, может только через переходник :(.

skyther 17th May 2010 11:23

Quote:

Originally Posted by denisv (Post 284230)
стала весить 35к

а если ленту выкинуть?

denisv 17th May 2010 12:38

Quote:

Originally Posted by rnd.gen (Post 284241)
К сожалению АТМЕГА128 как и АТМЕГА64 имеют другой форм фактор , может только через переходник

В терраэлектронике есть ATmega644-20PU в корпусе DIP40, по ногам совпадает с Atmega32 в DIP40 - но вот неясно наличие.
В неё бы влезло.

skyther 17th May 2010 12:56

Quote:

Originally Posted by denisv (Post 284274)
ATmega644-20PU

Пожалуйста, соберите для нее прошивку, есть такой камень в наличии...

denisv 17th May 2010 14:10

1 Attachment(s)
Quote:

Originally Posted by skyther (Post 284253)
Цитата:
Сообщение от denisv Посмотреть сообщение
стала весить 35к
а если ленту выкинуть?

Выкинуть ленту в любом случае придётся - новому BDI нужен 16 битный таймер, который в Atmege один, в старой версии он используется лентой. Сейчас собрал под Атмегу32. Из-за нехватки ОЗУ в контроллере пришлось сделать работающими только 2 дисковода - А и B.
Заменен драйвер SD карты, теперь поддерживается SDHC.
В приложенном архиве - прошивка контроллера под Atmega32. Если кто будет пробовать - для начала найдите именно ту прошивку, которая была до этого. Текущая сборка может и не заработать.

zst 17th May 2010 14:21

Quote:

Originally Posted by denisv (Post 284274)
В терраэлектронике есть ATmega644-20PU в корпусе DIP40, по ногам совпадает с Atmega32 в DIP40 - но вот неясно наличие.
В неё бы влезло.

В Элитане есть 155 штук по 236 р:
ATMEGA644-20PU DIP40 AVR 64-K Flash, 4-Kbyte SRAM, 2-KByte EEPROM

Но там же есть около 1500 штук по 160 руб:
ATMEGA64-16AU TQFP64 AVR 32K-Flash/2K-RAM/1K-EEPROM

Может сразу и джойстики с мышкой добавить? Сделать ЛУТом или на заводе платку с разъемами под них. Соединить с панелькой от атмеги32 шлейфом с цанговой панелькой на конце.

За одно на атмегу 64 можно было бы добавить недостающие сигналы, чтобы ускорить обмен с Z80 и работать без изменения ПЗУ.

denisv 17th May 2010 14:32

Quote:

Originally Posted by zst (Post 284313)
Может сразу и джойстики с мышкой добавить? Сделать ЛУТом или на заводе платку с разъемами под них. Соединить с панелькой от атмеги32 шлейфом с цанговой панелькой на конце.

В DIP40 не получится - из-за нехватки пинов - сейчас уже все забито под завязку.
1. Ставить Atmegu на дочерней плате в корпусе TQFP64.
2. Делать адресацию через PLD - вроде бы в пентагоновской прошивке под Speccy2007 освободилось несколько ячеек.

zst 17th May 2010 14:40

Quote:

Originally Posted by denisv (Post 284319)
В DIP40 не получится - из-за нехватки пинов - сейчас уже все забито под завязку.
1. Ставить Atmegu на дочерней плате в корпусе TQFP64.

Можно еще ATmega128-16AU TQFP64 . Там два таймера. Магнитофон оставить бы, если влезет. И запас по размеру прошивки будет.
Quote:

2. Делать адресацию через PLD
А что именно менять ?
Quote:

- вроде бы в пентагоновской прошивке под Speccy2007 освободилось несколько ячеек.
Умельцев много - смогут припаять и проверить.
Еще можно немного освободить. Например, вместо счетчиков FLASH для мигания курсора сделать счетчик в атмеге. Сигнал звука магнитофона не заводить на ПЛИС...

denisv 17th May 2010 14:48

Quote:

Originally Posted by zst (Post 284324)
2. Делать адресацию через PLD
А что именно менять ?

Нужен переключатель - joy/клава - выбирающий источник данных при чтении с порта клавы/джойстика (источник либо атмега либо платка с джойстиками).
Если делать мышку - однозначно только ковырянием PLD не получится обойтись, придётся ставить Atmega64 в TQFP64 корпусе. Ну и с атмегой также нужен будет переключатель joy/клава.


Quote:

Originally Posted by zst (Post 284324)
Например, вместо счетчиков FLASH для мигания курсора сделать счетчик в атмеге. Сигнал звука магнитофона не заводить на ПЛИС...

Первое не получится, т.к. flash засинхронизирован с разверткой. Второе получается почти "бесплатно" - сигнал звука магнитофона берется с D6.

zst 17th May 2010 15:04

Quote:

Originally Posted by denisv (Post 284330)
Нужен переключатель - joy/клава - выбирающий источник данных при чтении с порта клавы/джойстика (источник либо атмега либо платка с джойстиками).

Тут два варианта:
1. Доработать схему, чтобы атмега работала по стандарту ZX-BUS. Тогда можно было бы подключать внешние схемы джойстиков (3 штуки). Очень бы хотелось поставить какой-нибудь буфер между Z80 и атмегой. И какой-нибудь сигнал, что с портами работает атмега и шину данных занимать нельзя. А данные с атмеги, имитирущие кемпстон и клавиатуру подавать бы с открытым коллектором, чтобы можно было параллельно подключать и джойстики.
2. Подключить два джойстика к атмеге64/128 через регистры сдвига. Тогда можно было бы выбирать тип джойстиков для этих двух разъемов.
Quote:

Если делать мышку - однозначно только ковырянием PLD не получится обойтись, придётся ставить Atmega64 в TQFP64 корпусе. Ну и с атмегой также нужен будет переключатель joy/клава.

Первое не получится, т.к. flash засинхронизирован с разверткой.
Сигнал не особо важный. Используется, в основном для мигания курсора, подать сигнал, который меняется раз в 1-3 секунды. Можно и не синхронизировать с экраном. В оригинальном Пентагоне там тоже несинхронизированный генератор на транзисторе стоит.
Quote:

Второе получается почти "бесплатно" - сигнал звука магнитофона берется с D6.


All times are GMT +4. The time now is 11:01.

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