nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 29 Mar 2024 04:22



Reply to topic  [ 9 posts ] 
ЦП ПКТ Datapoint 2200 как дискретный i8008 
Author Message
Fanat

Joined: 05 Jul 2020 14:08
Posts: 87
Location: Ижевск
Reply with quote
Есть такой Программируемый Компьютерный Терминал (вообще говоря, компьютер) Datapoint 2200:

Quote:
...CPU: discrete logic implementation of the Intel 8008 instruction set...

...Terminal's multi-chip CPU (processor)'s instruction set became the basis of the Intel 8008 instruction set, which inspired the Intel 8080 instruction set and the x86 instruction set used in the processors for the original IBM PC and its descendants...

...Possibly because of their speed advantages compared to MOS circuits, Datapoint continued to build processors out of TTL chips until the early 1980s...


И получается так, что чуть подправив этот ЦП, легко сделать 8008 совместимый одноплатный проц полностью на 74-й серии, при том даже легче, чем некоторые новодельные процы на 74ALS серии. Тем не менее, такового проекта я не нашёл в сети. А с Марк-8 на ТТЛ мне поиграть хочется! Если не кинут ссылку на всё-таки существующий проект, то предлагаю всё-таки этим заняться. Прилагаю схему и мануал, то же есть в первоисточнике.

У Datapoint 2200 было две версии процессора: оригинальная однобитная (стр. 9) и Parallel processor Ⅱ (стр. 33, именно он быстрее 8008). Схемой однобитного процессора я боюсь призвать чёртиков из BSD, а параллельный процессор выглядит очень даже симпатично! По картинке платы, всего 121 ИС. В схеме есть не 74 ИС (из-за нагрузочных характеристик?). Уже некоторое время залипаю на схему Parallel processor Ⅱ, для удобства впервыеглядящего заспойлерю:

 Комментарии (распиновка) выводов разъёмов и коннекторов платы ЦП
ЛИСТ 1

4 MHz: тактовая частота, делится на фазы уже на плате.
8,13008 uSec CLOCK: ... обновления динамической ОЗУ
REGISTER CLOCK: ... ПОСЛЕДОВАТЕЛЬНОЙ ЗАГРУЗКИ КОМАНД В ПАМЯТЬ после reboot!!!
/REBOOT WRITE RDY: -//-
EOR REBOOT: -//-, собственно, сигнал.
RUN SWITCH: тактовая кнопочка.
/HALT: ...внешний.
J11-J14 PRECHARGE: ... ИС динамической ОЗУ карт 1, 2, 3, 4
ALL MEMORY CARDS (ZONK): разрешение обновления динамической ОЗУ.

ЛИСТ 2

A BUSS INPUTS [ШИНА]: ... устройств ввода (и только?).
/RESET P: ...(счётчика команд).
ALL MEMORY CARDS [ШИНА]: чтение данных оттуда.
TP2 INT OFF: ... (вывод).
/READ STB: ...данных из ПОРТА ввода.
/E1, /E2: стробы команды EX (аналог OUT, 1 - первая часть портов, 2 - вторая).
I1, I2: биты текущей инструкции (1-2 из 5 бит для команды EX).

ЛИСТ 3

/HALT LIGHT, /RUN LIGHT: на лампочки? Или LIGHT как свет-сигнал сфетофора.
MEM READ ALL MEM CARDS: строб.
MEM WRITE K ALL MEM CARDS: строб (98% точно строб).

ЛИСТ 4

ALL MEM CARDS: запись данных туда.
- (P5A)[ШИНА]: ...данных для записи в ПОРТЫ вывода.
REBOOT SERIAL DATA: ... для механизма с Листа 1.
I3, I4: биты текущей инструкции (3-4 из 5 бит для команды EX, пятый не выведен).

ЛИСТ 5


ALL MEMORY CARDS [ШИНА]: адрес 0-9 из 13 для карт памяти.
J11, J12, J13, J14 [ШИНЫ]: продукт дешифрации битов адреса 10-13 для карт памяти.
EOR REBOOT: на схеме повторно, на самом деле один, см. Лист 1.


Видно, что сигналов и шин в обилии, и многие дают возможность подключать обычную 8-бит периферию без заморочек как в 8008! При этом сигналы MODE, S1, S2, S3 (, S4) не используются как-либо вовне - это сигналы управления АЛУ на 74181.

Из отличий в архитектуре я пока обнаружил только одно: в Datapoint 2200 24 устройств вывода и 1 устройство ввода, а в Intel 8008 - по 8. Но, судя по схеме дешифрации команд, если подключить дешифратор стробируемый по /READ STB по I1-I3 как по адресам, то получатся вполне рабочие стробы для 8 портов ввода.

Также, если всё-таки вычистить схему от динамического обновления ОЗУ (а может и без этого), то всё-таки получается адресовать 64КБ памяти. И Parallel processor Ⅱ в отличие от своей serial и intel версий имеет дополнительно команды PUSH и POP (работы со стеком), DI и EI (разрешения/запрета прерываний), ALPHA MODE И BETA MODE (это два банка регистров+флагов).


19 Jul 2020 09:04
Profile WWW
Fanat

Joined: 05 Jul 2020 14:08
Posts: 87
Location: Ижевск
Reply with quote
Видимо, микросхемы всё-таки частично 74LS серии - некоторых нет в 74STD + на некоторых выходах висит входов больше 10.

Всё-таки собираюсь избавиться только от поддержки динамического ОЗУ. Приличное количество микросхем отпадает. Пока стоит вопрос с первым листом схемы - INTERRUPT and REFRESH CLOCK как-то тесно связаны, при этом в описании 8008, где этой связи вроде нет, есть момент с прерываниями, согласно которому их нельзя подавать в какой-то период цикла процессора. Также особое "удовольствие" доставит Лист 5, но и там даже три 153-х мультиплексора, возможно, можно схлопнуть в два 157-х.

Чтобы изменить схему, нужно её перерисовать. На этом форуме узнал про Proteus, поставил халявный [дал права каталогу DATA как указано в комментах откуда качал, а то сначала Протеус не видел библиотеки компонентов]. Начинать пока страшненько. Кстати, хочу спросить: если я буду как в Kicad рисовать схему drag and drop, интуитивно пользуясь интерфейсом, не придётся ли на этапах симуляции или раскидывания платы всё переделывать? Есть какие-то неочевидные фатальные отличия этих прог?


20 Jul 2020 08:33
Profile WWW
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Reply with quote
Post 
dvarkin wrote:
А с Марк-8 на ТТЛ мне поиграть хочется!
Похоже, на мне лежит ответственность из-за того, что мой пост о 8008 навёл Вас на идею сделать железный аналог 8008, тогда как даже относительно слабый из семейства ESP или подобный скоростной микроконтроллер может эмулировать 8008, т.к выводов у него мало.

Вы уверены, что Вы настолько фанатичны и этот фанатизм относится именно к изготовлению клона 8008 на TTL-мелкосхемах и затем изготовлению клона ретро компьютера Mark-8? Все в этом непрактичном хобби увлекаются разным (или иными словами сходят с ума по своему) и обычно никто их за это не осуждает, но в большинстве случаев подобные планы такого масштаба ограничиваются поиском информации, разработкой проектов в очень черновом виде и словами обсуждений. И похоже, подобные проекты делают лишь очень богатые любители из богатых стран, а из России подобных (имею в виду доделанных) вроде-бы ещё не было.

Вы вообще раньше делали что-то подобное (пусть и не в сотню микросхем), разрабатывали и доводили до ума собственные конструкции хотя-бы в 30 TTL-микросхем? Хотя главное всё-же отнюдь не опыт и знания (это легко наживное), а именно фанатизм, причём надо учитывать, что у большинства людей (и у меня в т.числе) фанатизм к чему-то конкретному не длится очень долго. Это конечно создать в 1000 раз проще, чем ВМИР-1, но всё-равно нужен энтузиазм на годы. В итоге у вас получится что-то такое.

Почитали ли Вы сколько лет даже у богатых людей уходит на подобные проекты. А также убедились ли вначале, что доступны программы для Mark-8, представляют ли они хоть какой-то интерес, работают ли эти программы без дисковода и DOS, а если нет, есть ли возможность замены ретро-дисковода на современные и т.п. И это далеко не все критичные подобные вопросы, что тут возникают. К минимальному набору ПО я бы отнёс бейсик и компилятор PL/M, но похоже ничего этого (и даже простейшего ассемблера) работающего на 8008 Вы не достанете. В 70-е годы для микропроцессоров всё писалось на майн-фреймах (да и после часто тоже), - только хоббиисты любители вынуждены были программировать на самОй 8-ми разрядной платформе, т.к громоздкие майн-фреймы весом в десятки тонн с водяным охлаждением плохо вмещались в их малогабаритные городские квартиры.

Я не заинтересован Вас отговорить и даже есть небольшая вероятность, что аналог 8008 (или нечто близкое) на ~100 TTL-корпусах сделать можно, - тут меня смущает то, что на макет более простого по архитектуре 6800 ушло 451 TTL-корпусов (а ведь 6800 макетировали на пару лет позже, чем Datapoint, отчего продвинутых TTL-микросхем было больше). А точно ли в терминале Datapoint реализована вся система команд 8008 на 121-ной TTL-микросхеме? Или лишь часть, что требуется для работы терминала?

Я сам не очень понимаю любителей электро-паяльника и то, какой в том интерес, чтобы заставить кучку микросхем работать в компьютере, а затем не пользоваться им. Сделал, поставил на полку под стекло и любуйся. Дышать ядовитыми парами свинца и канифоли, обжигать себе пальцы, получать травмы от ножовки и напильника и всё это лишь ради того, чтобы что-то самодельное лежало под стеклом. Проще положить под стекло картинку (ещё лучше голограмму). По моему делать ретро-компьютер имеет смысл, если есть три килограмма программ для него или интересно самому писать программы именно для такой уникальной платформы (например с чуждым процессором).

Для того, чтобы почувствовать сложность программирования для 8008 достаточно любой бытовой машины на КР580 или Z80. А чтобы посмотреть работу реальной программы когда-то кем-то написанной для процессора 8008, на почти три порядка проще (и без расхода денег и припоя) будет дизассемблировать, перетранслировать в коды КР580 и добавив эмулятор ввода/вывода реального 8008-компьютера, прогонять эту историческую программу на имеющейся 8-ми разрядке. На это уйдёт полдня труда, а на реализацию аналога Mark-8 в железе уйдёт несколько лет труда. А результат одинаковый - посмотрел и забыл.


21 Jul 2020 03:40
Profile
Fanat

Joined: 05 Jul 2020 14:08
Posts: 87
Location: Ижевск
Reply with quote
 ответ barsik, просто много текста получилось
barsik wrote:
Вы уверены, что Вы настолько фанатичны и этот фанатизм относится именно к изготовлению клона 8008 на TTL-мелкосхемах
Вроде как да, а как это измерить? :surprised:
barsik wrote:
и затем изготовлению клона ретро компьютера Mark-8?
По задумке, совместимая с Марк-8 обвязка как простая дополнительная схема на перфоплате для проверки ЦП (а она будет проще всех плат Марк-8!).
barsik wrote:
Все в этом непрактичном хобби увлекаются разным (или иными словами сходят с ума по своему) и обычно никто их за это не осуждает, но в большинстве случаев подобные планы такого масштаба ограничиваются поиском информации, разработкой проектов в очень черновом виде и словами обсуждений. И похоже, подобные проекты делают лишь очень богатые любители из богатых стран, а из России подобных (имею в виду доделанных) вроде-бы ещё не было.
Собственно принципиальная схема ЦП уже готова и рисунок её платы есть в Drawing Package, я планирую только убрать поддержку динамической ОЗУ, что упростит некоторые места платы и избавит от примерно 7 ИС. В ижевских радиомагазинах на моё удивление легко и дёшево добываются популярные и не очень советские микросхемы и радиодетали. В сентябре можно будет воспользоваться лабой в ВУЗе с людьми, опытными в ЛУТ (возможно, материалы будут халявные, казёные).
barsik wrote:
Вы вообще раньше делали что-то подобное (пусть и не в сотню микросхем), разрабатывали и доводили до ума собственные конструкции хотя-бы в 30 TTL-микросхем?
Коротко говоря, нет. Но за поддержкой опыт имеющих я и здесь :P (чтобы говорили, когда совсем плохо делаю)
barsik wrote:
Это конечно создать в 1000 раз проще, чем ВМИР-1
Не буду спорить, но какой-то топик странный - начинается с фотки, потом обсуждения, "ВМИР-1" не гуглится.
barsik wrote:
А также убедились ли вначале, что доступны программы для Mark-8, представляют ли они хоть какой-то интерес, работают ли эти программы без дисковода и DOS, а если нет, есть ли возможность замены ретро-дисковода на современные и т.п. И это далеко не все критичные подобные вопросы, что тут возникают. К минимальному набору ПО я бы отнёс бейсик и компилятор PL/M
SCELBI выпускала кучу ништяков, втч SCELBAL. Один сайт scelbi.com чего стоит! А сам ЦП ПКТ второй ревизии, кстати, реализует загрузку данных в память по последовательному каналу на уровне железа, так что из нового можно сделать загрузчик из ПК с помощью UART свистка, например.
barsik wrote:
В 70-е годы для микропроцессоров всё писалось на майн-фреймах (да и после часто тоже), - только хоббиисты любители вынуждены были программировать на самой 8-ми разрядной платформе, т.к громоздкие майн-фреймы весом в десятки тонн с водяным охлаждением плохо вмещались в их малогабаритные городские квартиры.

Image
Datapoint 2200 и Марк-8 и были переломным моментом, на этом ПКТ можно было делать очень многое (см. англ. вики), сегодня он был бы даже пофункциональнее ЮТ-88 со всеми модулями КМК (нашёл с чем сравнить, мнда).
barsik wrote:
Я не заинтересован Вас отговорить и даже есть небольшая вероятность, что аналог 8008 (или нечто близкое) на ~100 TTL-корпусах сделать можно, - тут меня смущает то, что на макет более простого по архитектуре 6800 ушло 451 TTL-корпусов (а ведь 6800 макетировали на пару лет позже, чем Datapoint, отчего продвинутых TTL-микросхем было больше). А точно ли в терминале Datapoint реализована вся система команд 8008 на 121-ной TTL-микросхеме? Или лишь часть, что требуется для работы терминала?
Datapoint заказала реализацию их ТТЛ процессора у маленькой фирмы Intel и TI, у последних вышло даже хуже, про причины можно прочитать на англ. вики
barsik wrote:
Для того, чтобы почувствовать сложность программирования для 8008 достаточно любой бытовой машины на КР580 или Z80.
Мне он чем-то напоминает ВЕ39, для которого я кое-что делал (наверное, скоро напишу и на этом форуме). Он же некоторым напоминает урезанный 8080, но мы-то теперь знаем откуда у урезонности ноги растут :mrgreen:

Обнаружил ещё одно отличие - в системе прерываний. В то время как 8008 вроде в ответ на INT просто кладёт в стек текущий адрес и сигнализирует о возможности подсунуть ему команду (например, прыжка), Datapoint 2200 тоже отправляет в стек счётчик команд, но ещё и прыгает сам, но только в 0000. Хотя чаще всего на системах 8008 прыжок в 0000 и используется. Фиксится ликвидацией [ред.:не ликвидацией, но отсоединением от сигнала /CP] части z33 с выводом 8 на листе 3 кв. А6, сигнал подтверждения прерывания... берётся с неё же? Вообще костыльный механизм прерываний у 8008 какой-то, я бы датапоинтовский оставил, но что там в SCELBAL?


21 Jul 2020 07:26
Profile WWW
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Reply with quote
Post 
dvarkin wrote:
<spoiler> ...много текста получилось
Это же не фотографии по 5 Мб. За хранение гигабайтов на сервере платит хозяин, а он богатый, - его лишние 0.5 кб не разорят. Но движок форума плохо настроен по цветам, в спойлере фон текста слишком тёмный, читать трудно. Потому в спойлере лучше текст обрамлять тэгами quote.
dvarkin wrote:
barsik wrote:
Вы уверены, что Вы настолько фанатичны
Вроде как да, а как это измерить?
Ну, текущее желание заниматься проектом легко вычисляется по числу долларов и потерянных часов, которые Вы прямо сегодня готовы отдать на его реализацию. К сожалению, энтузиазм это не константа, неизменная по времени. Если потратив за 2-3 месяца, как минимум 100 USD и ~500 часов своего труда, у Вас всё ещё сохранится желание заниматься этим дальше, а осознание необходимости продолжать не будет вызывать отрицательных эмоций, то исходно энтузиазма было достаточно.

А может это просто случайная несчастная любовь, типа как увидели недоступную красавицу супер-модель, явно не вашего уровня и сдуру влюбились. Попробуйте приглядеться к другим женщинам вашего уровня. Т.е серъёзно подумайте о других программных проектах, например, о написании игры "Принц Персии" для ретро компьютера Специалист (Apple-II с тактом 1 МГЦ, ОЗУ 48 кб и дурным цветом, для которого исходно написан "Принц" был даже немного слабее по всем параметрам, чем даже слабый базовый Специалист, - а при нужде Специалист легко турбировать до 2.8 или 4 МГЦ Z80).
dvarkin wrote:
barsik wrote:
Вы вообще раньше делали что-то подобное
Коротко говоря, нет
Это не играет роли. Для возни с TTL-микросхемами достаточно прочитать о работе ИМС 155/555 серий в ж.Радио за 80-тые годы. А я бы лучше написал программный эмулятор. У меня есть блоки эмуляции КР580 на процессорах 8088 и Z80, потому это потребует совсем немного труда (достаточно удалить эмуляцию отсутствующих команд).
dvarkin wrote:
ВМИР-1... топик странный
Это потому, что автора темы достали несправедливые модераторы и он уходя "хлопнул дверью" очистив свои посты (до которых успел добраться до своего забана). О чём там была речь можно понять здесь.


21 Jul 2020 11:11
Profile
Fanat

Joined: 05 Jul 2020 14:08
Posts: 87
Location: Ижевск
Reply with quote
Так и не понял, где к ВМИР-1 схемы взять.

Пока что даже и потеря энтузиазма ничем не грозит, лучше всё разжевать и в идеале сэмулировать в Протеусе.
Не известно ли кому, что могло означать H01, H05 в семидесятых? На схеме как обычные 7401 и 7405.

Оффтопик, но новую тему не хочется делать: а что лучше сегодня собирать - Орион или Специалист? Что у первого кроме памяти лучше? У меня был и есть только спек Компаньон 2 - ижевский, кстати.


21 Jul 2020 12:03
Profile WWW
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Reply with quote
Post 
dvarkin wrote:
Так и не понял, где к ВМИР-1 схемы взять.
Спросите на том форуме. Насколько я понимаю, разработчик сделал только какие-то блоки и, естественно, лишённый моральной поддержки, вскоре скис. Кстати, наличие моральной поддержки и востребованность проекта - это так же важно, как и наличие энтузиазма.

Задача не только неподъёмная по объёму (затраченных денег и труда), но и бессмысленная, т.к даже рассматривая лишь в железном аспекте, получить на такой схемотехнике (на процессорах КР580) железо позволяющее написать программу реализующую искусственный интелект невозможно.

А уж программно, если бы даже железо это позволяло, то написание программы искусственно интелекта потребовало бы труда сотен НИИ с 50.000 программистов. А разработчик даже не программирует и не имеет возможности заплатить 100 млн USD за разработку наёмным программистам. Какой смысл делать что-то, что заведомо бесполезно? Автор темы умеет разводить и выпускать платы и мог бы сделать много полезного, но к сожаления, свихнулся на этой бессмысленной идее-бзик. Потому я и боюсь, что и Вы свихнётесь аналогично.
dvarkin wrote:
что лучше сегодня собирать - Орион или Специалист?
Это зависит от цели.

Но стоит учесть, что у Специалиста - нормальный несплющенный экран, бестормозной цвет (т.е для цветных динамических игр Специалист намного быстрее), намного лучшая схема видеогенератора - [работает если просто тупо поставить вдвое больший кварц (соответственно перекрутив видеомонитор), а на ОРИОНЕ в лоб можно поднять клок лишь на 15%, далее гонки сигналов не позволяют], более выгодные для турбирования базовые частоты, наличие 14 кб ПЗУ в адресном пространстве (чтобы увеличить доступное ОЗУ с 48 до 62 кб, за счёт открытия ОЗУ достаточно припаять триггер ТМ2), отсутствие ORDOS, гораздо меньшая печ.платка и трудоёмкость монтажа, потребление электричества и цена. А самое главное - большой потенциал для улучшения архитектуры.


Last edited by barsik on 21 Jul 2020 16:03, edited 1 time in total.



21 Jul 2020 12:46
Profile
Fanat

Joined: 05 Jul 2020 14:08
Posts: 87
Location: Ижевск
Reply with quote
Как-то не верится, что можно свихнуться при восстановлении платы, схема (стр. 33-37) и картинка (стр. 97-98) которой есть в документе из первого сообщения. Разве что, только что ещё раз прикинул, не получается в А4 засунуть - близко, но нет. В первом же сообщении есть и ссылка на мануал, предлагаю сравнить с мануалом 8008 и убедиться, что кроме уже оговорённых архитектурных и командных различий других существенных нет.

А почему в восточном экспрессе до сих пор используется динамическая память?


21 Jul 2020 14:40
Profile WWW
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Reply with quote
Post 
dvarkin wrote:
А почему в восточном экспрессе до сих пор используется динамическая память?
Вопрос не ко мне, а к производителям платы. -- Видимо потому, что это реплика исторической платы ЭКСПРЕСС, а не новый вариант Специалиста с доработками. Да и чем плохи динамические ОЗУ? 565 РУ5 (как и РУ3 и РУ6), в отличие от РУ7, - пока не дохнут от времени (тут правило: чем выше интеграция, тем меньше ожидаемый срок эксплуатации).

Если делать переразводку, то, разумно увеличить кварц с 8 до 9 МГЦ, поставить Z80 по схеме Турбо с WAIT (эффективный такт 3.2 МГЦ), на этой же плате уместить адаптер цвета, добавить дешифратор ИД7 для В/У, добавить системный разъём с сигналами шины для подключения периферии (КНГМД, КНЖМД, контроллер microSD, ROM/RAM-диски и др). А ещё полезно уместить ИД14 формирователь второго /CAS, чтобы при желании можно было напаять ещё банку РУ5 вторым этажом. Размер платы увеличится незначительно, зато получится наилучший компьютер по совокупности параметров из всех самодельных и одновременно самый простой в отладке (т.к скорости относительно невелики - ниже, чем в Орионе или Векторе).


21 Jul 2020 15:46
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 9 posts ] 

Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.