Spectrum 128k :: Forum

Программирование, операционные системы, документация, игры

Spectrum
Главная   Программирование   Download   OS   Игры   Ссылки   Проекты   Форум   Связь

Forum Index     Search    Register!    Edit Profile    Login


Viewing Topic: Z80-декодирование команд

Return to Forum

    Subject: Z80-декодирование команд   
Posted By:
eltaron

Posts: 8

Registered Since:
Aug 04

View Profile...

Господа, никто не в курсе, как в z80 реализован сабж? Просто в далеком детстве я был уверен, что машинные коды для команд подбирались по рандому, а тут, после изучения архитектуры intel'ов, доперло.
Вот, к примеру, команда bit: сначала CB, потом идет байт. С помощью калькулятора получаем двоичное представление этого байта(пробелы для удобства)

bit 0,A  01 000 111
bit 1,A  01 001 111
bit 2,A  01 010 111
bit 3,A  01 100 111
bit 4,A  01 101 111
bit 5,A  01 110 111
bit 6,A  01 111 111

похоже, что 3,4,5 биты машкода - это первый операнд команды

вот bit x, B:

bit 0, B  01 000 000
bit 1, B  01 001 000
bit 2, B  01 010 000
bit 3, B  01 011 000
bit 4, B  01 100 000
bit 5, B  01 101 000
bit 6, B  01 110 000
bit 7, B  01 111 000
опять то же самое, плюс возникает догадка, что 0,1,2 биты отвечают за второй операнд
и так, имхо, для любой команды

я, наверное, наговорил и без того общеизвестных вещей, не знаю, но подскажите, плиз, где про это можно почитать? На zilog.com вроде бы ничего не нашел

Нужно мне это для эмулятора z80(а может, и спекки) на java для тормозного телефона siemens c55, стандартный подход авторов эмуляторов(256 if-ов, в некоторых из них еще вложенные) не подойдет, ибо скорости не те, а, главное, памяти очень мало. Если построить автомат, разбирающий команду сразу, то это даст чуть ли не O(1)
Если кто сталкивался - подскажите, пожалуйста  

---------------------

Кворум-128 + 5.25 FDD
Магик-05 + 5.25 FDD
Кворум-48 (temporally(permanent?) r.i.p.)


  Time of Post: Sep 06 2004 09:23
    Subject:   
Posted By:
eltaron

Posts: 8

Registered Since:
Aug 04

View Profile...

блин, и зачем я так долго распинался? :-)
Получаса не прошло, нашел ответ
забавный сайт - http://www.z80.info, инфа по сабжу - http://www.z80.info/decoding.htm  

---------------------

Кворум-128 + 5.25 FDD
Магик-05 + 5.25 FDD
Кворум-48 (temporally(permanent?) r.i.p.)


  Time of Post: Sep 06 2004 09:44
    Subject:     
Posted By:
Vovoi

Posts: 47

Registered Since:
Aug 04

View Profile...

2eltaron: А можно сделать так, чтобы в этом "сименс", эмулятор спектрума руководил телефоном, записной книжкой, короче работал напрямую с железом?
Ведь это же круто, можно написать свой драйвер экрана и выводить СМС-ку не в четыре строки по 12 символов, а в два раза больше (как в Спекки 32, 42, 64 и 80 знаков) и свою навороченную тел.книжку, переназначить функции телефонных кнопок (например в нокии добивает кнопка "полож трубку" справа (хочется слева,  прям под рукой:)
Уф столько можно было бы придумать!
Я уже с приятелем хотел сделать навороченную СМС. Суть в том, что мы созваниваемся (а компьютеры уже подготовлены). По моему сигналу, на компе он давит кнопку посыла "писка", а я к трубе микрофон подставляю. Программа делает LOAD, а у него ессно SAVE. В результате, за минуту отсылается громадное SMS, и по цене одинаково что сообщение, что разговор, а информации прошло больше.
Если бы можно было сделать такую фишу на эмуляторе в "Сименс" и во время разговора по нажатии определённой кнопки отсылать сигнал, то стандартная СМС сосала бы во всём мире.
:)))
/то есть, для этого не нужна будет навороченная мобила на 300 баков, поддерживающая похожие стандарты./

---------------------

Поддержка совместимости!

  Time of Post: Sep 06 2004 10:41
    Subject:   
Posted By:
Eltaron

Posts: 8

Registered Since:
Aug 04

View Profile...

Цитируя кого-то с forum.siemens-club.ru, свою операционку длля мобилы написать мы можем, но вот как потом заставить полученный девайс снова работать как телефон?  
У меня это будет всего лишь мидлет, доступа к железу ему не получить
Да, а для отсылки огромных смс разве нужно так извращаться? А gprs на что? Самый просто способ - поставить на обеих трубах аську и писать через нее. У нас вот в городе мегабайт такого трафика стоит всего 18 центов

---------------------

Кворум-128 + 5.25 FDD
Магик-05 + 5.25 FDD
Кворум-48 (temporally(permanent?) r.i.p.)


  Time of Post: Sep 06 2004 10:49
    Subject:     
Posted By:
Vovoi

Posts: 47

Registered Since:
Aug 04

View Profile...

2Eltaron: и в самом деле "железный доступ" с точки зрения производителя это глупо, тогда компания разорится, поскольку не сможет совершенствовать модели, разве что в силе проца. Лучше постепенно придумывать фишечки, продавая по сути те же телефоны, а так люди получат в своё пользование микрокомпьютер и уже никого не будет интересовать, нужен ли диктофон в трубе или нет, ведь ОЗУ и другие ресурсы будут использоваться во всех направлениях.
Вот почему в старом форуме я говорил, что еслиб такая труба обзавелась процем Z80 и даже оперативкой 48К, (а лучшеб если внутрь целый Спектрум 128к с образами диска, закачиваемыми через дата-кабель), такие телефоны пользовались бы ошеломляющим успехом, несмотря на слабый CPU.
Даже если дать кодеру возможность посылать/принимать пакеты данных (разговор) и сканировать кейборд (из машиного кода, обрабатываемого процем мобилы), то все остальные телефоны - просто требуха.
Но ведь обычная труба должна содержать некоторое ПО, которое управляет звонками, не может быть, что там что-то не программное?! Скорее всего, очень сложно повторить существующими деталями ПЗУ-шку телефона, чтобы, например, залить туда систему.
:(

---------------------

Поддержка совместимости!

  Time of Post: Sep 07 2004 02:33
    Subject:   
Posted By:
Eltaron

Posts: 8

Registered Since:
Aug 04

View Profile...

Там все, абсолютно все управляется программно... Только за самый низкий уровень, GSM, отвечает отдельная микруха(да и та, кажется, программируемый микроконтроллер)

В моем телефоне по умолчанию стоит флэш-память на 8mb(нерасширяемая) и процессор Infenion C166, система команд которого хорошо документирована, частота у него в несколько раз больше, чем у спекового z80... Существуют ассемблеры, есть даже компилятор Си(и даже С++), залить во флэш другую прошивку тоже раз плюнуть

Достать бы исходники прошивки(она на си писана, судя по всему), можно было бы столько всего наворотить... Но не раскрывают, гады... Была бы прошивка, можно было бы даже из какого-нибудь C45 сделать конфетку... А то сейчас люди ковыряют дизассемблированное море кода(8 мег - это все же не 40 килобайт), а это совсем не то

---------------------

Кворум-128 + 5.25 FDD
Магик-05 + 5.25 FDD
Кворум-48 (temporally(permanent?) r.i.p.)


  Time of Post: Sep 07 2004 05:55

Post Reply