Вход

Просмотр полной версии : MITS Altair 8800



Zloy
26.08.2009, 23:22
Решил поделиться результатом моих извращений на тему древних компов из далеких 70-х. Поставил перед собой задачу сделать что-то вроде эмулятора компьютера Altair 8800 в железе. И вот что получилось... Небольшой девайс (ATmega8515+SRAM+I2C FLASH+MAX232) который эмулирует работу Altair... и может запускать интерретатор Basic 3.2 для него (тот самый бейсик с которого началась карьера Билла Гейтса, этот интерпретатор продавался не на дискетах и даже не на кассетах... он продавался на перфолентах:v2_wacko:). Девайс подключается к любому терминалу по RS232.
Подчеркну, что AVR эмулирует не Baisic, а сам комп... точнее проц Intel 8080, RAM и плату SIO. На эмуляторе запущен оригинальный Baisic 3.2
Понятно что девайс сделан "Jast for fun" и посвящается всем любителям древних компов.:)

andrews
26.08.2009, 23:57
Ну, там не столько Бейсик интересен, сколько куча всего другого. Писишка что...эмулирует только терминал?

Zloy
27.08.2009, 00:06
Ну, там не столько Бейсик интересен, сколько куча всего другого.
Вроде этот Бейсик вообще одна из ключевых софтин в истории ))) Что еще там интересного?
Да... PC используется как терминал.

Zloy
19.09.2009, 19:19
Добавил в проект ввод с PS/2 клавы. Осталось прикрутить свой генератор VGA сигнала на AVR и будет полноценный "эмулятор" Altair 8800.
Читал тут описание Altair Basic и наткнулся на следующий абзац (обратите внимание на фамилии).... прям за душу берет. :)

ZEman
19.09.2009, 19:36
есть отличный эмулятор этого....
кхм...
компьютера ? :)
http://www.altair32.com/
кроме эмулятора там довольно много всевозможных касет, дискет и прочих файлов.
вот только как этим пользоваться я так и не допёр, сколько тумблеры не щёлкал результата чёто особо не видно.

Zloy
19.09.2009, 19:46
Да... помню как я дрюкался с этим эмулятором чтобы запустить Basic. В конце концов запустил. Но скажу что прога глючная и с массой ошибок... отказался от ее использования, когда нашел simh (эмулятор не только altair). Кстати код simh помог мне написать эмулятор проца Intel 8080 (ВМ80) для сего проекта.

alone
19.09.2009, 19:56
Для Altair есть и другие бейсики: от Processor Technology и Tiny BASIC (требует всего 2K памяти в отличие от микрософтовского)

Zloy
19.09.2009, 20:06
ZEman, запуск Basic на Altair 32:

1) запускаем эмуль и "включаем питание"
2) открываем файл lodr_4k.hex
3) жмем тумблер reset
4) поднимаем тумблер A15
5) F3 и открываем файл 4kbas32m.tap
6) тумблер RUN
Бейсик запущен, но с неправильными установками терминала... делаем дальше:
7) тумблер stop
8) тумблер A15 вниз
9) тумблер Examine
10) тумблер A11 вверх
11) тумблер RUN
Откроется окно терминала с Basic

---------- Post added at 19:06 ---------- Previous post was at 19:02 ----------


Для Altair есть и другие бейсики: от Processor Technology и Tiny BASIC (требует всего 2K памяти в отличие от микрософтовского)
Честно говоря не знал об этом... Надо будет попробовать запустить на своей машинке что-нибудь кроме Altair Basic 3.2.

andrews
19.09.2009, 20:58
Теперь видите ( в этом эмуле) сколько там софта! Там и Cobol даже имеется. И кстати, оказывается была версия и на z80 сего чуда-юда.

Zloy
19.09.2009, 21:33
Все остальное конечно тоже интересно... но сыграло не такую значительную роль в истории.

andrews
19.09.2009, 21:54
А что там еще можно откопать идучи по ссылкам...офигеть!
TI 990
http://www.cozx.com/~dpitts/ti990.html
BASIC, COBOL, TPL, FORTRAN IV, PASCAL аж 3х видов(!), FORTH, FOCAL
Куча PDP-ных эмулей и софта
http://www.bitsavers.org/
словом, налетай, разгребай! Всё даром!

Zloy
21.09.2009, 22:18
Ну вот уже потихоньку что-то вырисовывается... подцепил свой генератор VGA сигнала (зеленая плата) через RS232. Итого... теперь моему "клону" Altair ПЦ не нужен.

andrews
22.09.2009, 00:02
Теперь бы еще microSD подсобачить со всяким старым софтом, в корпус и на продажу :) Дешевая альтернатива школьным компам. Ну, в принципе он уже и так вполне. Только где проги хранить бейсиковские?

Zloy
22.09.2009, 08:02
Сам бейсик зашит в I2C флешку... там можно и проги хранить, если взять ее пообъемистей, а не 8Кб как у меня. Также у меня в проекте всего 4Кб RAM... тоже можно расширить, а то 700-900 байт (которые остаются после загрузки бейсика) для проги думаю мало.

Zloy
28.09.2009, 21:45
Расширил RAM (поставил микруху 61256)... получилось запустить Basic 4.0 (он же 8K Basic).
Так же решил, что зеленый цвет в терминале будет как-то по олдскульней.:)

svofski
29.09.2009, 01:05
Клево! 8080Exerciser уже прогнал, все исправно?

Zloy
29.09.2009, 10:13
Еще не пробовал, но хотелось бы... Нашел версию только под CP/M и исходники. Просто CP/M я еще не пробовал "грузить"... бейсик тупо грузится с 0-го адреса и оттуда-же запускается. Без CP/M соответственно будут еще проблемы и с выводом результатов.
А вообще, когда у меня бейсик не запускался, я написал прошивку для своей системы с возможностью вывода инфы о состоянии CPU после выполнения кажной команды. Потом тупо сидел и проверял со справочником каждую команду и ее реализацию на си. Прошелся 2 раза и не нашел ошибки... ошибка оказалась в эмуляции платы SIO (последовательный порт).
А вообще при написании эмулятора 8080 для AVR я испоьзовал эмулятор simh. Его ядро пришлось перевести с 32-bit реализации в 8-bit (всего-то :) ).

svofski
29.09.2009, 14:05
Ну, когда запустишь CP/M, не забудь запустить Exerciser. SIMH хорош, но не идеален: он тоже сделан по справочнику и проверен только на простом софте, который так же написан по справочнику.

sergey2b
22.10.2009, 13:24
Zloy,

Если это не секрет могли бы вы пожалуйста дать схему и прошивку для вашего эмулятора Altair 8800
Я хотел бы собрать его

Ваш личный ящик переполнен поэтому отослать личное сообщение не получилось.

skyther
22.10.2009, 14:14
и вга терминала тоже...

Zloy
22.10.2009, 14:27
Схему дать не могу т.к. ее нет... собирал понемногу (проект самообразовательный). Подцепил SRAM поигрался, собрал генератор видео... и т.д. Прошивки в проекте 3... 2 для ATmega32 и 8515 + одна I2C FLASH. Если есть желание повторить... скину прошивки позже. Надо разбираться какая свежая...
Реально было желание довести проект до логического завершения... платка + схема. Но как-то народ не заинтересовался... Возможно в ближайшее время все же завершу.
Повторять схему МГТФ-ом думаю нет смысла.

---------- Post added at 13:27 ---------- Previous post was at 13:21 ----------


и вга терминала тоже...
VGA терминал буду переделывать под ATmega64... на АTmega32 нереально сделать 80 символов в строке без разгона (из-за нехватки RAM знакогенератор хранится во FLASH ... а читать оттуда очень медленно).

Tim0xA
22.10.2009, 14:40
Но как-то народ не заинтересовался.
Народ заинтересовался. Я вот, например, слежу за этой темой. Эмуляция i8080 в Atmegе меня особенно заинтересовала.

Zloy
22.10.2009, 14:51
Ну тогда будем продолжать... ))) Схемку и прошивки я торжественно обещаю в ближайшее время.
Реально... эмуляция 8080 в AVR это самое ценное в данном проекте. Я просто волосы на себе рвал, когда лепил это дело из исходников simh. Simh 32 бит, а AVR 8 бит... это было самое большое препятствие.

sergey2b
22.10.2009, 15:11
Zloy,

Я заинтересовался с самого начала, но было впечатление что вы не хотите выкладывать на паблик

>Реально было желание довести проект до логического завершения... платка + >схема. Но как-то народ не заинтересовался... Возможно в ближайшее время все >же завершу.
у меня все равно нет возможности получить посылку из СНГ так что я влюбом случаи буду собирать на слепыше

>Повторять схему МГТФ-ом думаю нет смысла.
можно взять макетную плату с полосками на всю длинну платы

у atmeg очень удачно сделанна разводка так что на таких платах МГТФ минимум
дорожки резать не скальпелем а сверлом (3-5 оборотов сверла пальцами и дорожка порезанна) могу показать фотки откуда я идею как компоновать взял


>VGA терминал буду переделывать под ATmega64... на АTmega32 нереально сделать >80 символов в строке без разгона (из-за нехватки RAM знакогенератор хранится

пожно взять готовый контролер на atmega 1280 стоит 20-25$ в принципе собирать самому получиться на 5-10$ дешевле

Zloy
22.10.2009, 15:51
пожно взять готовый контролер на atmega 1280 стоит 20-25$ в принципе собирать самому получиться на 5-10$ дешевле
ATmega64 стоит у на 5$... кроме него в схеме еще 1533ИР10 и транзистор 3107(3102). ТОже хотел взять вместо mega64 mega640/1280, но их нет в продаже... только под заказ. А что за готовый контроллер?

sergey2b
22.10.2009, 15:55
Zloy,

>взять вместо mega64 mega640/1280, но их нет в продаже...
я заказываю в амер так как у нас тоже нет

напишите пожалуйста на sergey2b@_gmail.com я пришлю ссылки

Zloy
22.10.2009, 15:56
у меня все равно нет возможности получить посылку из СНГ так что я влюбом случаи буду собирать на слепыше
Ну тогда ждите схему...

---------- Post added at 14:56 ---------- Previous post was at 14:55 ----------


напишите пожалуйста на sergey2b@_gmail.com я пришлю ссылки
Я почистил личные сообщения... можно кинуть туда. А вообще мой ящик: sergby@tut.by

sergey2b
22.10.2009, 16:05
я отослал письмо

Zloy
22.10.2009, 16:27
Глянул модули...
Если их использовать, то радиолюбительства не останется ничего... )))) и так сейчас основная работа сводится к написанию прог/прошивок. Но я люблю подержать и паяльник в руках.
Имхо эти модули брать не стоит т.к. в них ничего нет... на плате контроллер и пара пассивных компонентов. Лучше взять контроллер... переходную платку под корпус TQFP (у нас я нашел дешевые за 0,75$) и макетку.
Вот я подготовил платку для нового VGA терминала:

Zloy
22.10.2009, 16:32
И еще... реально хотелось сделать все устройство на одном контроллере. Но быстродействие при этом сильно пострадает т.к. процентов 80 mega32 занята выводом графики, все расчитывалось до такта (один такт - 1 пиксель, за 8 тактов нужно успеть считать байт и передать в порт, экран хранится в виде кодов символов а не в точечном формате, поэтому нужно успеть и перекодировку сделать налету за эти 8 тактов; эта часть написана на асме)... оставшегося времени (когда нет вывода изображения) явно недостаточно для эмуляции проца на Си и обслуживания клавы (у меня это сделано по прерыванию - самый простой вариант).

sergey2b
08.11.2009, 10:07
если не секрет есть ли у вас прогресс?

Но быстродействие при этом сильно пострадает т.к. процентов 80 mega32 занята выводом графики,

наверное видео можно сделать на atmega8
+5$ на ситуацию не повлияет

еще как на zx80 отключать видео на время глобалных оперраций счета (хотя играть станет не возможно)

alexeilm
15.12.2009, 05:34
Если не секрет, как дела?

Zloy
05.01.2010, 15:27
Сейчас жду контроллер atmega644 в DIP40... с atmega64 в TQFP у меня ничего не получилось (то ли я его сжег при пайке, то ли контроллер попался дефектный) - шить шьется, но ничего не работает, даже светодиодом поморгать не получается. Попробую запустить mega644 на 25 мгц (штатная 20) и получить 80x40 символов.
Схему начертить никак руки не доходят. Начерчу, когда буду разводить окончательный вариант, а это будет когда переделаю видео генератор и добалю загрузку программ. Проектом занимаюсь время от времени...

---------- Post added at 16:27 ---------- Previous post was at 16:23 ----------


наверное видео можно сделать на atmega8
очень мало RAM

Zloy
24.01.2010, 00:15
Первые результаты экспериментов с Atmega644.
Чип без проблем завелся на 25 Мгц... удалось получить картинку 80x40 символов (символ 8x12 точек, разрешение 640x480). Теперь можно и эмулятор дальше развивать, и сообразить эмулятор терминала как отдельный девайс. Возможно, что и Радио 86РК тоже можно будет проэмулировать.

Atari
01.04.2010, 14:10
...и сообразить эмулятор терминала как отдельный девайс.

Оч. инересно!

rw6hrm
03.04.2010, 09:41
немного офф, но в тему, http://cnews.ru/news/top/index.shtml?2010/04/02/385265

Умер автор Альтаира...

Zloy
04.04.2010, 12:22
Работа над проектом по-немногу продвигается... Добавлен цвет (по принципу спека - атрибуты знакоместа) и разведена односторонняя плата эмулятора терминала. Из-за того что в макете использовался тактовый генератор, а плату я развел под кварцевый резонатор... добиться устойчивой работы ATmega644 на частоте 25 МГц на плате не удалось (при включеном рядом компе плата периодически сбоит). Придется переводить все на 20 МГц, а это значит, что о 80-ти символах в строке можно будет забыть.:( Также добавлена поддержка команд VT52, на VT100 сил не хватило.

Raydac
04.04.2010, 13:26
помер Эд Робертс (http://www.thegatesnotes.com/Thinking/article.aspx?ID=126)

andrews
04.04.2010, 20:00
добиться устойчивой работы ATmega644 на частоте 25 МГц она по даташиту и не должна

Zloy
04.04.2010, 20:09
Понятно, что не должна... Но очень надо было ))) Надо отметить, что на макетке с внешним генератором все работало на ура.

andrews
04.04.2010, 20:17
Односторонняя плата это очень плохо с точки зрения помех на таких частотах. А про 25 MHz это просто у тебя внутренний генератор не должен заводится сам от кварца устойчиво. Почему не поставить генератор 25 MHz на плату? Есть же миниатюрные и какие хочешь, на любые напряжения питания. Еще вариант уйти на AVR® XMEGA, там более высокочастотное ядро.

Zloy
04.04.2010, 21:02
Еще вариант уйти на AVR® XMEGA, там более высокочастотное ядро.
Думал об этом... но нет чем шить.

Conan
04.04.2010, 21:09
Работа над проектом по-немногу продвигается... IMHO такой момент: Если к проекту подобрать корпус (похожий на настоящий Altair 8800, то буржуины будут заказывать такие штуки на ура.

Zloy
04.04.2010, 21:37
Возможно. Видел в нете проект реплики Altair... так комплект стоил больше штуки.
Пока о коммерческой стороне не думаю - рано. Но Altair за бугром явно интересен...
В любом случае для форумчан прошивки и печатки я выложу.

Raydac
04.04.2010, 21:38
IMHO такой момент: Если к проекту подобрать корпус (похожий на настоящий Altair 8800, то буржуины будут заказывать такие штуки на ура.
буржуины и спринтер неплохо заказывали, только к корпусам надо бы еще и в нормальной стране оказаться, а то из РФ продавать крайне геморно как мне Алексей Горячев рассказывал (руководитель проекта спринтер)

andrews
04.04.2010, 21:53
Програматор для XMEGA
http://electronix.ru:1288/forum/lofiversion/index.php/t66758.html
а вот здесь по ссыле из треда сами девайсы, в самом низу
http://www.mcuzone.com:8080/dokuwiki/doku.php/english_home_page

Пока о коммерческой стороне не думаю - рано. когда надумаешь сообщи, проект очень интересный!

Conan
04.04.2010, 22:20
буржуины и спринтер неплохо заказывали, только к корпусам надо бы еще и в нормальной стране оказаться, а то из РФ продавать крайне геморно как мне Алексей Горячев рассказывал (руководитель проекта спринтер)Zloy вроде не в России ;). Может "у батьки" такой бизнес будет проще :)

andrews
04.04.2010, 23:26
Кстати, я тоже могу привезти
AVRISP mkII In-System Programmer за $52 в рублях по курсу ЦБ+2% без стоимости пересылки
http://www.atmel.com/dyn/resources/prod_documents/AVRISPmkII_UG.pdf
в Компэле их нет.

Zloy
05.04.2010, 00:22
Zloy вроде не в России . Может "у батьки" такой бизнес будет проще
Как бы не так! У Батьки своих заморочек хватает. Беларуси нет даже в списке стран с которыми работает PAYPAL. Вот и приходится при регистрации писать Россия... регион: Беларусь и надеяться, что товар дойдет (кстати проверено - работает) :)))

---------- Post added at 23:22 ---------- Previous post was at 23:20 ----------


когда надумаешь сообщи, проект очень интересный!
Спасибо за интерес к проекту. Когда понимаешь, что это кому-то интересно... работать намного проще.

SpecialistMK87
05.04.2010, 08:41
Очень интересный проект, здорово! Altair 8800 важная часть истории... как и Basic для него... Помню первый номер Компьютерры с переводом интервью с Биллом Гейтсом как он писал этот бейсик. А как насчет шины S-100? Не планируется?

Zloy
05.04.2010, 18:06
А как насчет шины S-100? Не планируется?
Если планировать S-100, то проще бы уже было сделать реплику Altair (с настоящим процем). У меня проект в духе минимализма, так что S100 никак не получится. Да и зачем? Плат под нее все ровно у нас не найти.

sergey2b
05.04.2010, 19:44
вот продают набор для сборки Altair http://cgi.ebay.com/Mits-Altair-8800-CPU-board-kIt-S100_W0QQitemZ330419688468QQcategoryZ4193QQcmdZVie wItemQQ_trksidZp4340.m8QQ_trkparmsZalgo%3DMW%26its %3DC%26itu%3DUCC%26otn%3D20%26ps%3D63%26clkid%3D89 97833860137034322

только не понятно это новый или с тех времен остался

Zloy
06.04.2010, 08:12
Это только процессорная плата... Скорее всего родная (по крайней мере так написано). Кроме нее понадобится еще много чего (плата RAM, ROM, SIO - плата последовательного порта, панель со светодиодами и тумблерами - это самый минимум для работы).

alexeilm
23.08.2010, 17:12
Тема умерла?

Atari
24.08.2010, 15:13
http://cgi.ebay.com/S-100-Z-80-CPU-Board-PCB-only-/130387474980?pt=LH_DefaultDomain_0

alexeilm
25.08.2010, 06:22
Нет, сама тема, MITS Altair 8800 на ATmega ?