Попытаюсь, может получится :)
Вид для печати
Фото в помощь
http://s61.radikal.ru/i174/0901/1c/1a0703c8fe4bt.jpg http://s56.radikal.ru/i152/0901/5b/88bb1562a11et.jpg
Остальное смотри по схеме.
Нет. Этот аппарат мне подарил друг из деревни Мазурово, это часть списанного компьютерного класса. Я бы и остальные забрал, для раздачи желающим, но их через неделю кто-то спер из его запертого гаража (ничего больше не тронув...)
Если что, на моем серийный номер №5034, 1991г, инв.№01380002
А как узнать какой ревизии плата? Ведь на ней никаких надписей ненашёл....:v2_conf3:
По разводке платы они одинаковы. На первых машинах не было радиаторов на микросхемах и вентилятора, их начали ставить потом.
И, по-моему, на них использовались двухрядные разьемы принтера и дисковода. Вот иллюстрация из учебника "Основы информатики и вычислительной техники" (машина первых выпусков)Цитата:
Поставшики ссылаются на тяжелый температурный режим. Проверили, установили вентиляторы. Температура корпусов всех микросхем не превышала заданной по ТУ. А отказы все равно не прекратились...
"Радио" 12'88
http://s52.radikal.ru/i135/0901/32/92ff9ec939d7t.jpg
На второй версии после "СБ8020" на шильдике приписано краской "V2"
А может, вы сами глянете? http://pk8020.narod.ru/docs/mics/techref.zip На форуме есть качественные фотографии платы, по ним можно проследить расположение микросхем.
Дошли и у меня руки до своего Корвета. Наконец-то сделал нормальное подключение к цветному монитору, теперь можно нормально работать. Сразу возникло несколько вопросов:
1. Какие версии ПЗУ были, чем они отличаются, как их опознать?
2. Я не знаю, правильно ли я подключил цвета. Знающие люди, напишите программку на Бейсике, которая рисует цветные полосы наподобие тех, что во встроенном тесте 128 спектрума
Я тут столкнулся с тем, что у Корветов разных заводов разные шнуры флоповодов (от клавы к блоку), даже физически. :o
Можешь сделать крупное фото разъема снаружи и "изнутри" (вместе с куском контроллера) ?
Еще столкнулся с тем, что разъемы питания тоже бывают разные - "прямые" где на шнуре штырьки и "зеркальные" когда на шнуре дырки а в разъеме - штырьки.
P.S. Я хренею с советской промышленности.
Я это подозревал.
Вот:
Скрытый текст
Разьемы сзади:
http://s47.radikal.ru/i118/0903/2a/5a5a59bbe694.jpg
Контроллер дисковода:
http://s60.radikal.ru/i170/0903/27/d46b0ff65098.jpg
Ну, и общий вид платы. Так, для справки.
http://i007.radikal.ru/0903/8e/63f1efd0504e.jpg
[свернуть]
У меня есь практически готовый шнур (от какой-то установки, в универе нашел) и нужные разьемы. Надо только собрать это все воедино. Мне бы увидеть, как это выглядит в заводском исполнении.
Добавлено через 3 часа 43 минуты
Слышал, что были варианты Корвета с различным обьемом ГЗУ. Расскажите поподробнее.
Добавлено через 9 часов 3 минуты
Сделал пробное подключение дисковода. Вроде работает. Но у меня не получается записать образ на дискету. То есть я деляю так: беру программу MST, форматирую ей дискету, подсовываю в качестве буфера нужный мне образ, записываю образ, тут же пытаюсь посмотреть файлы на дискете - вижу абракадабру или пустой диск. P.S. Писал на 386DX-40 в голом досе.
KALDYH, во блин, такой вариант шнура флоповода уже видел. Там на плате 2-х рядная распайка, а разъем - 3-х рядный РП15, следовательно 3-й ряд просто пустой. Будем считать что такой тип разъема выиграл "по очкам".
А вот 3-х рядный разъем РП15 ПУ (Печатающего Устройства) вижу первый раз!
KALDYH, вот как должны выглядеть разъёмы Корвета "в идеале". То есть они просто впаиваются в плату без вяких проводочков. Все остальное -- от бедности совецкой промышленности. (Thx за фотки to Сергей Фролов):
http://s42.radikal.ru/i096/0903/3d/2a94c7e0f8b2.jpg
http://s55.radikal.ru/i149/0903/9a/633c690dc40c.jpg
http://s55.radikal.ru/i147/0903/06/36cbd8b4e9de.jpg
(осторожно, фотки большие)
Дискеты лучше всего записывать под Линухом с 5" диководом, обычный 1.2Mb от 286/386 подходит. Я делал как описано ниже, для Роботрона, у него и и Корвета формат 5" дискет совпадает.
http://www.phantom.sannata.ru/forum/index.php?t=3000
Спасибо за фотки, буду знать. С Линуксом не в ладах, попрошу друзей помочь. Странно, что не было универсальной утилиты под DOS, в которой можно было бы просто задать физические параметры дискеты, а она читала/писала бы ее в образ.
Сегодня в университете забрал дисководы Электроника МС5311 от Кванта-4С. Пока сам Квант не собрал воедино, один из дисководов прицепил к Корвету. После некоторых танцев с бубном все заработало!!!! Сейчас сижу, смотрю игры. Вот первые впечатления. CP/M загружается удивительно быстро, почти как TR-DOS. Приятный крупный шрифт. Удобная герконовая клавиатура, мало в чем уступает той же Ямахе. Приятно удивила скорость и качество графики (зная скромные возможности ВМ80, я думал, будет хуже). Немало позабавил щелкающий при обращении к диску электромагнит в дисководе. Порадовала игра "Ралли", сразу напомнив мне игровые автоматы моего детства.
Добавлено через 11 минут
А почему у меня в игре Клад графика в 4 цвета аля CGA, а на скриншотах в 16 цветов? Тупанул, перепутал сигналы яркости и красного цвета. Но спецэффект получился интересный...
Вот здесь книжка Знакомьтесь: персональная ЭВМ Корвет. В виде сайта сделана.
О, это замечательная книга! У меня есть в бумажном виде. Написана с юмором. Позабавил абзац про подключение разъема питания:
Цитата:
Во-первых, убедитесь, что вы вставляете ответную часть разъема куда надо. Для этого перечитайте предыдущий абзац и повторите действия. Если опять неудача, то поверните ответную часть разъема на 180 градусов и попробуйте еще раз. После пятой попытки прилягте на диван и утешьтесь включением и выключением телевизора. Это укрепит вас в убежденности, что техника вам подвластна. На следующий день повторите все сначала, и так до тех пор, пока не получится.
Читал эту книгу, когда ждал заказанный ПК8000 (это единственное, что было в библиотеке близкое). Можно сказать уже - классика!
Тут мне предлагают :
"поэтому отдал бы один комплект по символической цене - 3000 тенге за комплект ученический(клава, блок питания и монитор) плюс впридачу за так отдам ПК 8020(учительский), ну может еще одну клаву ПК 8010"
Получается за 20$ стоит брать или не стоит? все новое... :)
Только вот дисководов нет, и учительский вроде глючит...
Дороговато, однако учитывая что дешевле вы все равно не найдете, а дороже он все равно не продаст, имеет смысл поторговаться.
Учительский брать однозначно.
Нашел еще одну плату Корвета, ученического. Отметил пару интересных деталей: ПЗУ знакогенератора - масочное, КР573РЕ6-0002, и все микросхемы ИР10 на плате - опытное производство (ОКР1533ИР10, 9009, Интеграл).
оффтоп: Что за серия микросхем ЭКР1533...?
ЕМНИП, Э - экспортный вариант, с шагом 2.54 мм.
Я тут заморочился разобраться с системой управления памятью Корвета, и понял, что с наскока не получится. Поэтому мне пришлось париться досконально, и в ходе этого разбирательства у меня родился небольшой справочник по ее работе, выраженный в двух таблицах. Основная задача была представить логику работы в виде, пригодном для максимально точной эмуляции. Таблицы составлены на основе схемы компьютера и карты прошивки ПЛМ, а затем сверены с документацией. В документации найдены небольшие огрехи ;).
Вот эти таблицы (копия есть на моем сайте). Первая - карта срабатывания блоков ПЛМ. Использование этой карты теоретически позволяет сэмулировать работу даже при нестандартных значениях системного регистра. Вторая - карта памяти в стандартных режимах в наглядном виде.
Хотел загрузить сюда, но при уменьшении получается нечитабельно, поэтому ссылки. UPD: Догадался упаковать в архив.
Расшифровка обозначений:
- RAM - основная память;
- GRAM - ОЗУ графического контроллера;
- TRAM - ОЗУ алфавитно-цифрового контроллера;
- ROM1, ROM2, ROM3 - блоки ПЗУ;
- DEVS - устройства ввода-вывода;
- REGS - регистры;
- KB - клавиатура.
Входы ПЛМ:
- /WR - сигнал записи от процессора;
- /RD - сигнал чтения от процессора;
- M10 - сигнал, соответствующий циклу чтения команды от контроллера прерываний;
- Dx - биты системного регистра;
- Ax - биты шины адреса;
Выходы ПЛМ:
- M1, M2 - код вида ОЗУ, подаваемый на дешифратор;
- /RG - выбор регистров;
- /DV - выбор устройств ввода-вывода;
- /KB - выбор клавиатуры;
- /R1, /R2, /R3 - выбор блока ПЗУ.
Столбцы таблицы:
- Маска адреса - участвующие в срабатывании блока ПЛМ биты шины адреса, расставленные в правильном порядке;
- Биты SYSREG - участвующие в срабатывании блока ПЛМ биты системного регистра, расставленные в правильном порядке;
- Диапазон адресов - диапазон, соответствующий полученной маске;
- Длина - размер диапазона в байтах;
- TRS80 и др. - признаки срабатывания блоков ПЛМ в зависимости от стандартных значений системного регистра. Наличие плюса означает, что при данном значении системного регистра и адреса на шине произойдет срабатывание блока ПЛМ, и обращение будет переключено от основного ОЗУ на соответствующее устройство.
Прочерк означает, что для данного блока ПЛМ значение сигнала безразлично.
Красивые картинки :) Надо будет сравнить со своей раскладкой памяти...
Какие знакомые таблички :)
очень напоминают мои, на досуге положу и выложу
я свои строил по доке микса и доке на ПК Контур
там даже помнится были различия
а чего вы манипулируете только стандартными конфигурациями
всего же их 32
там конечно много мертворожденных но есть и забавные которые могли бы использоваться
тот же 4с = 1с
там кстати надо еще обрабатывать случаи записи в ром, на самом деле пишем в RAM под ним
и по моему запись в клавиатуру
собвственно две эти фичи использывались в реальной жизни.
вот что у меня в эмуляторе используется (лежат в файле mapper.mem)
толко что отреверсил из бинарника :)
Цитата:
sysreg:00:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:37ff
type: KBD start:3800 end:39ff
type: REG start:3a00 end:3aff
type: PORT start:3b00 end:3bff
type: ACZU start:3c00 end:3fff
type: RAM start:4000 end:ffff
__________________________________________________
sysreg:04:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:ffff
__________________________________________________
sysreg:08:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:ffff
__________________________________________________
sysreg:0c:
type: RAM start:0000 end:ffff
__________________________________________________
sysreg:10:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:14:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:18:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:1c:
type: RAM start:0000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:20:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:37ff
type: KBD start:3800 end:39ff
type: REG start:3a00 end:3aff
type: PORT start:3b00 end:3bff
type: ACZU start:3c00 end:3fff
type: RAM start:4000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:24:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:28:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:2c:
type: RAM start:0000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:30:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:3fff
type: GZU start:4000 end:7fff
type: RAM start:8000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:34:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:3fff
type: GZU start:4000 end:7fff
type: RAM start:8000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:38:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: GZU start:4000 end:7fff
type: RAM start:8000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:3c:
type: RAM start:0000 end:3fff
type: GZU start:4000 end:7fff
type: RAM start:8000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:40:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: ROM2 start:4000 end:5fff
type: RAM start:6000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:44:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:48:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:4c:
type: RAM start:0000 end:f7ff
type: KBD start:f800 end:f9ff
type: REG start:fa00 end:faff
type: PORT start:fb00 end:fbff
type: ACZU start:fc00 end:ffff
__________________________________________________
sysreg:50:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: ROM2 start:4000 end:5fff
type: RAM start:6000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:54:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:58:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:5c:
type: RAM start:0000 end:fdff
type: PORT start:fe00 end:feff
type: REG start:ff00 end:ffff
__________________________________________________
sysreg:60:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: ROM2 start:4000 end:5fff
type: RAM start:6000 end:beff
type: REG start:bf00 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:64:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:beff
type: REG start:bf00 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:68:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:beff
type: REG start:bf00 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:6c:
type: RAM start:0000 end:beff
type: REG start:bf00 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:70:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: ROM2 start:4000 end:5fff
type: RAM start:6000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:74:
type: ROM0 start:0000 end:1fff
type: RAM start:2000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:78:
type: ROM0 start:0000 end:1fff
type: ROM1 start:2000 end:3fff
type: RAM start:4000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
sysreg:7c:
type: RAM start:0000 end:bfff
type: GZU start:c000 end:ffff
__________________________________________________
Не, я привел описание работы ПЛМ, а как его использовать уже второй вопрос. Раскладку на стандартные режимы я делал только для сверки с документацией. К тому же, ядро моего собственного эмулятора конфигурируется именно таким образом, как описано в этой таблице, так что стандартный режим или нестандартный для моих собственных целей безразлично.
Смысл в том, что если не сработала ни одна строка ПЛМ, то происходит обращение к ОЗУ, так что эти нюансы работают автоматически. Если мы посмотрим на таблицу, то видно, что выборка УВВ не зависит от сигналов /WR и /RD, поэтому для них возможны и чтение, и запись. А вот клавиатура активизируется только чтением, регистры - только записью, ROM - тоже чтением (точнее, отсутствием записи). Я именно для того и хотел представить логику работы маппера так, чтобы не нужно было делать подобных оговорок, и оно работало само просто при аккуратной реализации этой логики.
---------- Post added 30.12.2009 at 00:45 ---------- Previous post was 29.12.2009 at 23:54 ----------
Да, и есть еще один специфический момент. Старший бит системного регистра отнюдь не брошен. Его значение через инвертор заведено на вход разрешения программирования всех трех микросхем ПЗУ. Пока в нем 0 - все путем, ПЗУ в режиме чтения. Зачем туда писать 1, я так до конца и не понял - возможно, разработчики предполагали функцию внутрисхемного программирования ПЗУ, при некоторых ухищрениях для подачи программирующего напряжения?
По моему мнению всё дела в проце. Если бы на корвет изначально был установлен Z80 или советский аналог 1858ВМ1(2,3) или хотя-бы в плату были бы заложены возможности апгрейда, то всё было бы гораздо лучше. Много софта можно было бы адаптировать с других платформ. С Ямахи, с Профи (в 90-х), с Вектора-06с и пр. 2,5Мгц не так много, учитывая скудные возможности 8080. Разработчики явно ошиблись рассчитывая на то, что Z80 недостижим. К 1989г он был уже доступен и не по баснословной цене.
А ещё я хочу рассказать о своём Корвете. Купил его по объявлению в газете в 1995г. Внимательно осмотрел внутренности. Вычистил плату. Увидел что ОЗУ сделано как и у всех Корветов на 565РУ6. Т.е. имеем 4 линейки по 16К. Хотя в описании говорится что Корвет поддерживает и РУ5. Т.к. КУ5 были недороги и имелись в свободной продаже я недолго думая заменил ОЗУ в своём Корвете на РУ5. Теперь ГЗУ составляет 192К. Но вот софта я в то время не нашёл, хотя читал что где-то был драйвер электронного диска, который использовал дополнительное ОЗУ.
Нет, ну надо же соблюдать баланс между точностью эмуляции и скоростью работы. Если эмулировать до микросхем, слишком сложно и затратно по производительности получится. При этом никакого выигрыша в точности не будет, если логика правильно описана.
Что касается данного случая, то при эмуляции по блокам ПЛМ получается 29 "условных" операторов (или 29 строк конфигурации маппера в универсальных эмуляторах типа b2m) против более 150 в приведенном вами случае.
ээ? не понял, откуда 150 строк ?
на всякий случай, я автор pk8020.narod.ru :)
откопал и сфоткал свои бумажки пор плм,
я же говорил что это мне что-то напоминает :)
особенно это
http://picasaweb.google.com/sergey.e.../KorvetPK8020#
там кстати таки 2 разных прошивки PLM
Перебор значений SYSREG + анализ адреса и типа обращения для каждого. Получается слишком громоздко. А для реализации простой логики как раз пришлось разобрать схему и ПЛМ.
О, это я удачно попал ;) Так это у вас там половина разделов не работает? :)
Где ж вы раньше были? Я бы два дня не убил на повторение уже кем-то сделанного.
:v2_cheer:
Рабочий адрес сейчас:
http://korvetpc.ru/page_Soderzhanie.html
но там не полная книга.
Было бы хорошо если кто-нибудь сделает .pdf файл книги (и лучше полутоновый, а не 1-битный).
На счёт почему мало программ, основная причина что появилась машина поздно - 1988 год. Максимум её ждали лавры Вектора-06ц появившегося тогда же, но вероятно доступность в магазинах или цена и здесь помешали.