1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Игра "Жизнь" аппаратного исполнения

Тема в разделе "WASM.ELECTRONICS", создана пользователем Paguo_86PK, 4 авг 2010.

  1. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    вот на старой звуковухе я их нашел минимум 3. в красных кружках
    [​IMG]
    есть и на старых матерях. поищите.
     
  2. zicker

    zicker Member

    Публикаций:
    0
    Регистрация:
    23 дек 2008
    Сообщения:
    132
    Для игры двух людей между собой? Если да - то это довольно легко.
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Paguo_86PK
    Код вычисляющий координаты пикселя по его адресу:
    Код (Text):
    1. ; HL - addr.
    2. ; D - bit.
    3. CalcXY:
    4.     ld a,h
    5.     and 7
    6.     ld b,a
    7.     ld a,h
    8.     rla
    9.     rla
    10.     rla
    11.     and 192
    12.     or b
    13.     ld b,a
    14.     ld a,l
    15.     rra
    16.     rra
    17.     and 56
    18.     or b
    19.     cpl
    20.     add a,176
    21.     ld b,a  ; Y
    22.     ld a,l
    23.     rla
    24.     rla
    25.     rla
    26.     and 248
    27.     ld c,a
    28.     ld a,d
    29. sh:
    30.     rlca
    31.     ret c
    32.     inc c   ; X
    33.     jr sh
     
  4. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Спасибо!
    Но у меня есть своя версия(оболочка) ассемблера и там код был таким:
    Код (Text):
    1. ; Z80ScreenZX(Disp,Scan,Data)
    2. Z80ScreenZX:;
    3. bp=sp+_2; di=[bp+4]; bx=[bp+2]; bh=?01bh;
    4. =|{
    5.   si=0ZXScreen+bx; dl=[bp]==byte ptr[si]; bh=?018h;
    6.   :=|{
    7.     cx=bx<3&00700h; ah=bh&018h|=ch; ax=bx>3&000e0h|=cx; al=bl&01fh|=cl;
    8.     di=320; ax=cx>5&000ffh*|di==di=bx<3&000f8h+=di; si=0ZXScreen;
    9.     di=+[bp+4]; ah=bh>3&003h; dh=ah+018h; dl=bl;si=+dx=[si];
    10.     cl=1;
    11.    }{
    12.     bh=-018h; cx=bx<3, dx; di=10; ax=cx&07f00h*|di==di` dx=cx&000f8h+=di;
    13.     di=+[bp+4]; bh<3&058h;
    14.     cl=8;
    15.     }
    16.   dl!080h;
    17.   :=={
    18.     dh=dl>3==al&00fh|070h;
    19.     al=&008h; dl=&007h|al|070h;
    20.    }{
    21.     al=dl==ah==dh>3&007h; ah=<3&038h|=al;
    22.     dh=&0c0h|al;
    23.     }
    24.   bp=312;
    25.   {
    26.     ch=8; ah=[bx];
    27.     {
    28.       ah=<1;
    29.       :-|{
    30.         al=dh;
    31.        }{
    32.         al=dl;
    33.         }
    34.       $=b; ch-;
    35.       }<>;
    36.     di=+bp; bh+;
    37.     }--;
    38.   }
    39. ret 6
    Так, насчёт ПЛИС давайте попробую подойти с другого угла.
    Вот мои потребности:
    1. Возможность прошить универсальный программатор ПЗУ на одной FPGA;
    2. Возможность прошить процессоры Z80 или i8088 в одной FPGA;
    3. Возможность прошить схему "Микро-80" всего в одной-четырёх FPGA;

    Почему "Микро-80", а не "Специалист" или "Орион-128"?
    Потому что там более 80 микросхем и все они должны уместиться на одном
    FPGA-кристалле. Число 80 - не так уж много. Я обращаюсь в этом вопросе к тем,
    кто видел, а может и собирал "Микро-80" и имеет представление о микросхемах.
    Т.е. я не говорю, что в "Микро-80" 80 штук процессоров Pentium! Или 80 штук
    банальных К155ЛА3! Какрас я говорю, что расчитываю, что человек знаком со схемой
    "Микро-80" и имеет представление о схеме его.
    Не надо тут с потолка заявлять, мол "80 микрух уместится в кристалл за тыщу
    у.е.". Если не в курсе о "Микро-80", лучше не постите. Пожалуйста!

    Процессор Z80 я хочу прошить не 1:1, а собственную версию. Я тут говорил об
    эмуляторе i8080 с дополнительными регистрами BP(Z80-IX) и DI(Z80-IY), с
    защищённым режимом, с АЛУ-операциями над любым регистром помимо аккумулятора.
    Это - Z80 несовместимый, но достаточно мощный процессор. Да и с i8080 совместим
    лишь на ассемблере, так-как команды имеют более оптимизирование кодовое
    распределение.
    Поэтому в одной FPGA должен уместиться Z80 с запасом. Уместится он, значит и моя
    версия уместится.

    Что ещё. Так, собственную PC-клавиатуру прошить тоже хочу. Функционально -
    точная копия стандартной. Но включать должна несколько портов для подключения
    джойстиков Sega и Sony-PSX. А также ИК-приёмник. Чтобы вы зря не начали
    советовать, разъясню суть.
    FPGA должен вмещать полный контроллер клавиатуры и дополнительную логику, чтобы при нажатиях на кнопки джойстиков имитировались нажатия обычных клавиш (курсор, пробел и т.д.). А при попадании сигнала с ИК-ПДУ по коду приёмника также имитировалось нажатие цифр или мультимедийных клавиш (стоп, пауза и т.д.).
    Я не спрашиваю о реализации. У меня есть своя задумка на РУ-памяти параллельно с матрицей клавиатуры. Т.е. оригинальный контроллер сканирует ячейки ОЗУ. А вот моя схема переносит бит состояния клавиш или кнопок джойстиков/ПДУ в ячейки ОЗУ. Тем более ОЗУ хватит статического на 128 бит.
    Тем самым, никаких драйверов - обычная клавиатура с прибамбасами. В журнале РАДИО за 90-ые встречал схему на микроконтроллере ВЕ. По идее, можно и не прошивать клавиатурный контроллер, а просто параллельно матрице клавиш подключить ОЗУ с мультиплексером к моей схеме джойстиков/ИК-ПДУ.

    Ну, вот пока хватит.
    Я думаю, теперь опытный любитель сможет помочь мне в выборе FPGA.

    Спасибо!
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Paguo_86PK
    Не знаю что делает ваш код и мне сейчас лень качать сурсы ром'а, но выше код это процедура обратная системной, вычисляющей адрес байта и бит в нём на основе координат пикселя.
     
  6. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Вы меня не так поняли. Я на ассемблере под x86 писал рендерер экрана ZX-Spectrum, ну эмулятор пробовал писать. ;)
    Вы привели функцию перевода под Z80, а я - под x86. :)
    Просто я с эмулятором не разобрался и написал просто вьювер скриншотов Spectrum. Под DOS и это какрас та функция полная. :-))
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    вот тут лепят спек на минимальной плм. почитайте
    Speccy2007
    (вроде, это старая века того же http://zx.pk.ru/archive/index.php/t-10734.html )

    вот еще гугль навыдавал. попадались лучше, в том числе и все в одной микрухе, не знаю, может и тут оно есть.
    http://sblive.narod.ru/ZX-Spectrum/index.htm (секция линкс)
    http://www.zxdesign.info/cpld/
    http://www.zxbada.bbk.org/badaloc_fpga/index.htm
    http://zxgate.sourceforge.net/
    http://sites.google.com/site/ronivoncosta/fpgaprojects

    usb-jtag для альтеры
    http://ixo-jtag.sourceforge.net/

    не zx, но близкие компы
    http://alexfreed.com/FPGApple/revisited.html (аппле)
    http://code.google.com/p/vector06cc/ (вектор06ц + ссыли на х86, бк итд)

    читайте, но наскоко я понял, людям под зх хватает около половины альтеровской 10 (хилинховской 500), а в полную и х86 влазит. но я невнимательно смотрел. так что читайте.
     
  8. DeGlucker

    DeGlucker New Member

    Публикаций:
    0
    Регистрация:
    19 сен 2002
    Сообщения:
    28
    Где-то году в 79 прошлого века делал аппаратную реализацию жизни на логике и памяти 1 кбит.
    Поле 32 x 32, вывод на телеящик по ВЧ, пошаговый и автоматический режимы,
    ввод с помощью "светового пера".
    Могу выложить сканированные схемы.
     
  9. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Во-первых, Здравствуйте! Я снова с Вами!
    Просто сегодня бот моего провайдера накинул мне на счёт $1 и я теперь снова имею доступ в интернет!
    Не буду скрывать, что очень рад этому!
    Конечно! Интересно будет взглянуть!
    Во-вторых, за несколько суток до того, как мой баланс ушёл в минус, успел скачать тот проект ZX-Spectrum на FPGA.
    Ну, в OrCAD его спокойно открыл, посмотрел на схему. Однако долго искал схему той основной FPGA, где, по моим ожиданиям, должна была быть представленна вся начинка ZX-Spectrum со счётчиками, регистрами и логикой. Не нашёл.
    Однако решил заглянуть в vhd-файл какой-то. И тут всё прояснилось!

    Я понял, почему вы меня здесь посылали учить VHDL. Ведь как ни надрывайся и ни рисуй на экране свою схему, всё равно она будет переведена в VHDL, а с него уже под нужный тип FPGA дамп-код. И тогда какой толк наращивать себе геморрой за холстом принципиальной схемы, когда всё равно так и так будет грубо переведенно в VHDL-алгоритм? Уж лучше самому красиво описать этот алгоритм.

    Я понял, что сейчас буквально любой дурак сможет себя назвать цифровым инженером, хотя и паяльника в руках никогда не держал, а регистр от инвертора не отличит на схеме! Ведь владея VHDL можно строить грандиозные схемы и не заморачивать на том, каким сопротивлением шунтируют открытые коллекторы и что это вообще!

    Я понял, что VHDL-синтаксис сильно смахивает на идеологию моего пассивного процессора, который Вы все дружно взяли и заплевали!!!
    Но почему? Ведь я пытался объяснить, что задумывал пассивный процессор именно для построения и управления логическими матрицами налету! Просто вместо высокоуровнего VHDL у меня должен был выступать машинный байт-код.
    Иными словами, нравится вам или нет. Но я реабилитировал свой пассивный процессор и начал с того, что все ключевые слова и выражения VHDL попытался перевести в мнемонику.
    Всё-таки вернулась надежда, что когда-нибудь FPGA будет иметь собственный процессор и простым пассивным алгоритмом смогут организовываться сложнейщие прошивки активных логических узлов!

    В-третьих, изучив листинг ZX-Spectrum прошивки я заметил, что для описания Z80 нужно не искать его схему, а копаться в эмуляторах. Однако, как пишет сам автор, в ту FPGA эта прошивка с грехом пополам залезла. Значит про Z80 я вообще молчу! Придётся мне искать FPGA побольше! А то мой гибрид Z80 и i8086 может не поместиться.

    В-четвёртых, за десять минут удалось ту схему синхро-генератора описать в VHDL. Но вот проверить её никак не могу: Не знаю я, как в OrCAD вшить мою прошивку в FPGA для симуляции в PSpice. Везде ковырялся, так и не понял.
    В документации ничего не нашёл. Даже будь при мне переходник LPT-JTag и реальный кристалл, я понятие не имею как его прошить и как распиновку сделать. В том проекте ZX-Spectrum вижу файл распиновки, а как его использовать - не знаю.
    Может этот архив не под OrCAD? Тогда почему всё без ошибок открывается? Не пойму!

    В-пятых, хотя я был разочарован в том, что ПЛИС прошиваются через VHDL-прослойку (не надо говорить, что это один из многих языков и есть Verilog и другие. Я в курсе) в байт-код конкретной FPGA и что знание электронники сейчас почти не обязательно. Достаточно отличать режим IN от режима OUT при пайке и распиновке, чтобы не сжечь кристалл. А схему описывать просто необходимо алгоритмом!!!
    Но с другой стороны, это гораздо всё упрощает! Ведь я теперь могу всё просто описать в тексте! Как программист - я рад. Как электронщик - вздыхаю со смирением и облегчением. От меня требуется ли ясно описать свой узел или даже процессор, а далее - всё продумали за меня!
    Однако, почему VHDL - Pascal'подобный? Знаю, наверное есть и C-подобные реализации. Но, насколько я знаю, и VHDL и VRML являются стандартами, а поэтому, поддерживаются практически всюду. Однако их синтаксис. Он не плох. Но сторонние разработки куда гибче и удобнее. Однако они сторонние и поддерживаются лишь самим разработчиком и горсткой энтузиастов. Как правило, мне они не привлекательны, как и VB-Script в html например. Я привык к итальянскому спагетти, то есть к Си!

    P.S.: Как начинающий гурман осмелюсь спросить: А есть ли ПЛИС кристаллы, которые можно легко замаскировать под свои фирменные?
    То есть внешне микросхема как микросхема, но никаких выводов JTag не имеет. Но есть маленькое отверствие оптическое. Через опто-волоконный адаптер коннектишь к JTag как обычно, а лазерная оптика уже сама связывается с внутренним контроллером для снятия показаний и прошивки. Потом это отверствие просто скрываешь, например смолой, а микросхему выдаёшь за свою фирменную! :-))

    P.P.S.: У моего АОНа "Русь-27" глюки начались давно. Сначала во время разговора появлялся фон-треск, устраняемый набором любой цифры (АТС была аналоговая с пульс-набором). Потом внешний динамик отказал, перестав время говорить и входящие звонки вообще не слышно. Открыл, один большой таракан стоит, с другой стороны - панелька с ПЗУ. Ну, ясное дело, ремонту не подлежит!
    Так и простоял телефон на полке как часы и всё. Потом отправился в гараж.
    Сейчас вот думаю, если тот тараканище - ПЛИС, нельзя ли его выпаять и применять уже для своих целей? Стереть всю прошивку нафиг, всё равно наверно защищена от чтения. Тогда покупать новые ПЛИС не придётся. Просто у барыг скупить все АОНы полудохлые и всё в капусте!
    Иначе увидел на офф-сайте тест-платы за $7,000 и выше и офигел!!! Мне на такую игрушку 20 лет копить надо при жёстком посте! ;-P
     
  10. zicker

    zicker Member

    Публикаций:
    0
    Регистрация:
    23 дек 2008
    Сообщения:
    132
    Знающие люди меня учили, что как на VHDL не выворобушкивайся, рисованием больше запихнуть можно. Хотя х.з. может уже этот глюк уже убрали
    Японцы просто слегка корпус у МС фрезируют.
    Сам спаяешь за 7$ (без ПЛИСки), а начинку по мере надобности можно довешивать.
    Если она многоразовая то можно (по крайней мере одноразовые МК есть, а ПЛИС щупаю тока самые дорогие, и что творится в дешевом сегменте не в курсе)
     
  11. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    http://cgi.ebay.com/Altera-Cyclone-NIOS-II-FPGA-Board-ByteBlaster-2C35-VGA-/160374764272?pt=LH_DefaultDomain_2&hash=item255714b2f0#ht_2196wt_758

    - не очень большая цена (она плавает и можно торговаться)
    - альтера ep2c35
    - epcs16
    - 2 метра срам озу на 32й шине
    - 1 мег 24х точек срам видеоозу в 2х банках
    - 1.5 метра срам озу на 24 шине (как и видео, но к видео выходам не подключено)
    - 3 аппаратных видеоинтерфейса разного типа. данные берут с видеоозу, но все сигналы - вручную + все внутренние видеосигналы заведены на спец футпринт
    - пс/2
    - 2 кома
    - интерфейс расширения на 2^(32-4) 32х слов на стандартных диловских разъемах
    - встроенный лпт-бластер3
    - сменный дип8/16 генератор + внешний вход
    - кнопочки/светодиодики

    - по тутору на каждую функцию
    - схема (+гербер если надо)
    - краткие описания каждой микры
    - шнурки-блоки питания

    - недостатки: уж сильно лаконично, хотелось бы кроватку под ддр/ддр2 планку, нету усб/сд

    забыл написать
    - вменяемый продавец
    - посылки доходят (к нам)
     
  12. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Я сейчас заплачу! Есть ли более проще, чтобы мне всего месяц-два не надо было кушать? ;)
     
  13. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    не надо плакать. надо считать
    http://www.buyaltera.com/scripts/partsearch.dll/multisearch?site=ALTERA&lang=EN&keywords=EP2C35
    альтеровцы продают ep2c35 за минимум $90. ep2c35 на >600 выводов, как на плате, так и вообще за > $120.
    в данном случае цена за полную распаянную рабочую плату со всем необходимым от $130 (надо выбрать момент).
    микруха знатная. ниос 32 система с вга и пс2 клавой из примеров собирается в 3к (забыл как зовется. аналог мя), те ~10% ресурсов. те спеков влезет в одну микруху > 10 штук. надолго хватит.
    имхо, и попоститься полгода - святое дело. (ну или силы в ворке опробовать. с жс ж вы в норме?)
     
  14. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    вот и пример (аттач). спек на ep1c3. для самостоятельного паяния такое может быть, но покупать плату на такой микре, видимо, не стоит. выигрыш в деньгах будет сильно похож на проигрыш.
     
  15. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Спек? А почему Орион2010? ))
    Кстати, сегодня всё-таки по почте получил бандерольку с XC95. Осталось теперь шнур найти и прогу скачать... O_o
     
  16. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    прочитал, что он на z80. а какое это имеет значение для фпга? чего зальете того и поедет.
    откеле заказывали и сколько за доставку/растаможку заплатили? интересно.

    а шнур для 95тки не должон быть проблемой. стандартный лпт на ап5 подойти должен вполне.
     
  17. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Ну, Орион кооперативный тоже на Z80 был, но этот вовсе не значило, что спектрумские проги тупо пойдут)))
    Я ещё не забыл, как часами игры "Радио-86РК - 32кб" перебивал под свои 16кб. )))

    http://www.evodbg.com/ - цена+авиа - итого 16WMZ, почтальон прямо на дом принёс.
    Шнур на АП в pdf у меня есть. Осталось спаять. А вот прога (посоветовали ISE Web Pack) - около 3гб. O_O
    Месяца два уйдёт на скачку. Надо на рынке поискать хорошенко.

    Да ещё переживаю, поместится ли в XC9536 хоть один из моих проектов...
     
  18. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    а кто ею из обывателей интересуется? с чего бы ей на рынке быть?
    да и нафиг вам вебпак? тем более, что без торрента вы его полностью правильно не скачаете (в торренте идет чеканье каждого блочка. при ошибке он перегружается) и вебпак имеет подлых ограничений. напишите вы прошу, отладите, а оно вам скажет, что у вас нет лицухи шить эту микруху. да и компилит веб медленнее. в одно ядро.
    если к вам междунар-почта нормально ходит и недорого - попросите у кого поближе с нормальным инетом скачать вам с торрентов полный. Satsura вон прямо из узб. спросите, может поможет?

    я на схеме кроме фпга видел еще озу, флэшки, видео на вга, коннекторы к сд и клаве, выход на жтаг и прочие генераторы/питалово. зависимостей не заметил. проц же з80 они реализовали? ну и поправьте отличающуюся периферию (писали/видели ж эмули? оттеда и взять можно) и будет вам спек.

    а там 36тая? ну хоть попробуете. понравится - появится стимул под более навороченную капусту окучивать.
     
  19. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    907
    Адрес:
    Ташкент
    Просто тут посоветовали http://radiokot.ru/forum/viewtopic.php?f=20&t=33965 :)
    Видел. И эмулы писал, но только i8080 и i8086...
    Вот именно. Для начала синхрогенератор впихнуть хочу для проверки инфра-медленной регенерации РУ5.
    А так, маленькая она очень...
     
  20. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    не говорили вы про 86. эмуль 86 или полного писюка?