Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Разное (http://zx-pk.ru/forumdisplay.php?f=90)
-   -   Компьютер "Искра-1080 Тарту" (http://zx-pk.ru/showthread.php?t=12913)

vinxru 11th April 2012 12:02

D7 делит частоту F4 и подает её на 24 ногу ВГ. На 24-ой ноге скорее всего должен быть 1 Мгц, от этого и буду думать.

---------- Post added at 11:02 ---------- Previous post was at 10:11 ----------

Еще есть вероятность, что на плате ошибка. Ведь полно плат, где ошибки исправляются проводами.

В этом случае лучше подходит ИЕ5):

http://microshemca.ru/images/imgIE5a.jpg

В отличии от ИЕ2 выводы 6,7 не используются (они на плате не разведены). Вход на 1 вывод, выход с 8,9,11.

Тогда она делит F4 на 8 и получает 1 Мгц.

b2m 11th April 2012 13:04

Я тоже думал, зачем использовать такую экзотику как ИЕ19, когда везде используется ИЕ5. Но разводка питания смущает. Может быть действительно неправильно развели, у большинства м/сх в DIP14 питание на 7,14.

---------- Post added at 13:04 ---------- Previous post was at 12:57 ----------

Кстати, если 5 и 14 с другой стороны платы всё-же не соеденены (там могут идти другие дорожки), то вполне возможно, что технологи согласились, что это соединение будет выполнено проводом (чтобы не париться с разводкой). Однако, оба питания проводом - это ... у меня слов нет.

vinxru 11th April 2012 13:24

Интересно, а есть дисководы разъем которых соответствовал бы разъему на плате?

Или эстонцы решили, что земля в каждом втором проводе - это не правильно. И те же 10-16 проводов разместили хаотично. А на стороне дисковода использовали переходник на стандартный Шугарт...

2 Reduced Write
6 Drive Select 3
8 Index
10 Drive Select 0
12 Drive Select 1
14 Drive Select 2
16 Motor On
18 Direction Select
20 Step
22 Write Data
24 Write Gate
26 Track 0
28 Write Protect
30 Read Data
32 Side 1 Select
34 Diskette Change

Драйвера флопа в ПЗУ скорее всего нет. (Я еще посмотрю в ПЗУ, есть ли OUT C7 или OUT СF или IN C1... Это порт дисковода). А это значит, что выбирать какие биты будут отвечать за Side 1 Select, Drive Select 0, Motor On и т.п. придется на обум.

b2m 11th April 2012 14:13

Quote:

Originally Posted by vinxru (Post 492525)
Драйвера флопа в ПЗУ скорее всего нет. (Я еще посмотрю в ПЗУ, есть ли OUT C7 или OUT СF или IN C1... Это порт дисковода).

Порты C0-C3 дублируются по адресам C4-C7, т.к. на разъёме только два бита шины адреса. А вот адрес регистра ВГ93 (который ты сейчас завёл на разъём), скорее всего, задаётся через D10 (так-же как и CS). Проверь, контакты 5,6 ВГ93 должны идти на 6,9 D10. И ещё, ты наверное перепутал, откуда идёт D10_11, в текущем варианте это чтение порта C3, а должна быть запись в D10, т.е. должно идти с контакта 12 D4, а не 7.

Получается, драйвер дисковода сначала задавал номер регистра в C3, а потом обращался к ВГ93 через свободный порт (С2 например). Непонятно только одно: после записи в D10 активируется CS ВГ93, а на шине данных ещё данные для D10 и IOW тоже активен. Непорядок. CS ВГ93 должен был активироваться при обращении к порту C2.

vinxru 11th April 2012 15:26

Меня то же это крайне смущает. Я сегодня все перероверю и заодно заменю изображения микросхем на понятные.

---------- Post added at 13:47 ---------- Previous post was at 13:41 ----------

Quote:

Originally Posted by b2m (Post 492542)
Проверь, контакты 5,6 ВГ93 должны идти на 6,9 D10.

Вряд ли тут я ошибся. Давным давно, когда я определял является ли эта микросхема ВГ93, я первым делом проверил тестером связь между 5,6, 7-14 ВГ93 и шиной адреса и данных на ножках ПЗУ. Они были однозначно соединены.

И сейчас я хорошо помню, что 5,6 ВГ93 уходит на разъем. Я еще удивился, почему не использовали A8,A9, которые подключены к дешифратору.

---------- Post added at 14:14 ---------- Previous post was at 13:47 ----------

А как запустить код по адресу C800 из второй ПЗУ? Там вроде бы загрузка из сети. Я заменил последние 2 Кб прошивки мусором и работоспособность в эмуляторе не изменилась. Значит этот код при старте не вызывается.

---------- Post added at 14:26 ---------- Previous post was at 14:14 ----------

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

dk_spb 11th April 2012 15:27

Quote:

Originally Posted by vinxru (Post 492525)
Интересно, а есть дисководы разъем которых соответствовал бы разъему на плате?

СТандартный Шугарт

vinxru 11th April 2012 15:39

Quote:

Originally Posted by dk_spb (Post 492579)
СТандартный Шугарт

Это я стандартный шугарт для примера написал. А в Искре (на схеме) используется

2 - вых ?
3 - вход Index
8 - вых ?
13 - вых Ready
14 - вых ?
20 - вых ?
21 - вых ?
25 - вход Track 0
26 - вход Write Protect
27 - вход ?

b2m 11th April 2012 15:55

Quote:

Originally Posted by vinxru (Post 492562)
А как запустить код по адресу C800 из второй ПЗУ? Там вроде бы загрузка из сети.

У меня две новости: хорошая и плохая :)
Хорошая - это не загрузка по сети, это BIOS CP/M.
Плохая - драйвер рассчитан не на ВГ93, а на какой-то внешний контроллер, подключаемый к портам 88,98,99 и битам "регистра конфигурации". Обменивается с контроллером несложным протоколом (длина запроса/ответа, данные запроса/ответа и опционально 128 байт данных сектора). CP/M должна быть скомпилирована для работы в адресах 9С00-B1FF.

Код запускается автоматически, если в порту 99 D1=1.

vinxru 11th April 2012 16:13

Ну тогда еще мне задача появилась.
1) Разобраться с протоколом
2) Разобраться с CP/M
3) Прикрутить ATMega к компьютеру для эмуляции внешнего контроллера дисковода.

Но это потом.

---------- Post added at 15:13 ---------- Previous post was at 15:04 ----------

Прикольно. Внутри этого компьютера присутствует 2 несовместимых между собой контроллера дисковода.

1) Один в виде не распаянной печатной платы.
2) Второй в виде отдельной ПЗУ.

Возможно что для ВГ93 использовалась альтернативная ПЗУ

b2m 11th April 2012 16:55

Нет, похоже это всё-таки работа с сетевым адаптером, просто по сети пересылались секторы диска. Потому-что один из байтов пакета - это 4 бита из порта 99, и в приходящем пакете этот байт сравнивается, и если не совпадает - игнорируется. Т.е. этот байт - номер машины (ненулевой).

Протокол типа такого:
ХХ - младший байт длинны пакета (в драйвере либо 8, либо 88h)
XX - старший байт длинны пакета (всегда ноль)
NN - номер машины
OP - код операции (0 чтение сектора, 1 запись)
DS - номер дисковода (в биосе ограничено только нулём)
TR - младший байт номера дорожки
TR - старший байт номера дорожки
SC - номер сектора
... данные сектора (опционально)

---------- Post added at 16:55 ---------- Previous post was at 16:52 ----------

В драйвере есть контроль коллизий, перед посылкой он "жужжит" битом порта, затем проверяет другой бит.


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

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