- Техническое описание ?
-
? Валера@ - 22.08.2009 11:47
Доброго времени суток !
¤
Уважаемые БКводы, подскажите пожалуйста, где можно разжиться подробной технической документацией на БК-0010М. В детстве у меня была такая штука. Сейчас работаю на Mac OS X и решил написать эмулятор. Видео систему с эмулировал, а дальше уже не помню. Подскажите пожалуйста, где можно глянуть подробное описание ?
-
? бк - 25.08.2009 09:26
Выпускались БК-0010/0010.01 и БК-0011М. Ссылки на описания - в ветках форума. БК-0010М не выпускалась - это что-то из самодельных доработок БК-0010.01
-
? Валера@ - 28.08.2009 00:56
Простите за ошибку, действительно БК-0010.01.
Если можно, дайте пожалуйста прямую ссылку.
¤
Я в и-нете порылся и нашел описание процессора 1801ВМ1. Уже написал диспетчер команд, потихоньку заполняю командами. Нехватает кодов клавиш клавиатуры и подробного описания портов, если у кого есть - выложите где нибудь или киньте ссылку.
¤
С уважением Валерий.
-
? hdc - 21.09.2009 18:14
однако тенденция. я тоже занимаюсь эмулятором под Mac OS.
кое-что из описания железа можно найти отсюда: http://pdp-11.ru/mybk/doc/programmirovanie_bk0010.txt
описание системы команд я постарался как-то привести в порядок, но в нём есть ошибки, которые сейчас некогда исправлять (в основном касаемо адресации): http://www.asvcorp.ru/darch/electronics/1801vm1/opcodes.html
мой эмулятор лежит рядом.
если найдёшь растактовку - скажу большое спасибо :)
Много полезной информации в исходниках эмулятора под Linux.
кстати, на чёи пишешь? ObjC+Cocoa?
¤
-
? Александр...@ - 22.09.2009 22:52
Это уже по-моему 4-й человек только на этом форуме, который собрался что-то лабать под макось. Я, кстати, пробовал твой эмулятор и даже поделился впечатлением. ИМО ты неправильным путем идешь. Если Cocoa и использовать, то только как оболочку для SDL'я. И начинать надо было с порта творения имени Брухиса.
-
? Валерий@ - 23.09.2009 18:21
Доброго времени суток !
¤
2 hdc - спасибо за ссылки !
что -такое растактовка ?
пишу на ObjC+Cocoa.
Честно говоря - баловство. Просто захотелось если и писать под мак - так использовать Quartz.
Я сделал средствами Quartz соотношение сторон 4:3 и свечение пикселов как на советских мониторах Электороника
-
? hdc - 23.09.2009 20:08
растактовка - это сколько тактов выполняется команда. чтобы выполнение программы было хоть как-то привязано к реальному времени. я пока просто на глаз выровнял производительность реальной БКшки и эмулятора. Получилось, что в среднем выполняется ~166 тысяч операций в секудну. На том пока и остановился.
¤
2 Александр: спокойствие, только спокойствие! дайте и нам в конце концов удовольствие получить ;)
¤
сейчас по-уши в работе, как полегчает - что-нибудь доделаю.
Творение имени Брухиса лежит в соседнем каталоге и служит ценным источником информации.
-
? Александр...@ - 23.09.2009 21:03
Да я и не напрягался. Это я про спокойствие. Собственно, на досуге сам занимаюсь портированием SDL... под iPhone SDK. :) Но это действительно баловство. С другой стороны, хотелось бы иметь не недоделанную игрушку, а хороший эмулятор. Где-то мы уже обсуждали, что в идеале эмулятор должен быть кросс-платформенным. Вместо того чтобы мучить свои собственные творения, можно было бы и объединить усилия.
2Валерий: Про свечение пикселов можно поподробнее? Прямоугольник вместо пикселя и дизеринг реализовали?
-
? Валерий@ - 23.09.2009 23:10
вот ссылка на скрины - http://rapidshare.com/files/284043334/Archive.sitx (простите как по другому выложить не додумался)
в скрине №1, свечение включено, во 2-ом выключено.
и обратите внимание на пиксели, они немного растянуты.
Этого удалось добиться благодаря тому, что Mac OS использует аппаратные возможности видео платы.
То есть я рисую 512х512 кадр но благодаря наложеному CIFilyer изображение становится 4:3.
Причем если я маштабировал растр в памяти компа, то на экране просто появлялись кое где сдвоенные столбцы, если это делает видеосистема, то все точки просто немного растягиваются.
Фильр свечения тоже накладывается видеосистемой. Просто мне кажется, что так ностальгировать будет лучше.
Если говорить про кроссплатформеность, тогда надо все это рисовать в OpenGL, а это будет немного сложней.
-
? anonymous - 24.09.2009 00:54
Примерное время выполнения команд БКшки в первой статье номера 5 за 1995й год печаталось http://bk0010.narod.ru/docs/BK_Magazine/bk-1995.1.djvu
У меня есть ОСТ 11 348.918-83 на сам процессор, но в БК время сильно зависит от обвязки. Для голого процессора времена следующие:
(пишу в тактах процессора, в БК0010* частота 3МГц, в БК0011* - 4МГц, t - время между установкой сигналов DIN/DOUT и RPLY, последний стробируется тактовой в противофазе с процессором, потому время также привязано к тактам)
HALT 54+7t
START, STEP 36+5t (код команд 012 & 016, выход из пультового режима)
RTI, RTT 24+2t
IOT, BPT, EMT, TRAP, резервный код 42+5t
установка/очистка признаков (кроме команд одиночных установок и сбросов SEC, CLC и т.д., а так же общих CCC/SCC, используемых в БКшных диалектах ассемблера, признаки ставятся и убираются по маске, т.е. коды в бинарном виде - установить признак 0 000 000 010 10N ZVC, сбросить признак 0 000 000 010 11N ZVC, команда NOP исполняется в двух вариантах, код 0240 чистит никакие признаки, а код 0260 устанавливает никакие признаки в ССП) - время выполнения 8+t
Одноадресные команды:
метод адресации - такты
0 - 8+t
1 - 21+3t
2 - 20+3t
3 - 27+3t
4 - 21+3t
5 - 28+4t
6 - 27+4t
7 - 34+5t
¤
Двухадресные команды, даны основные показательные времена, для других комбинаций они высчитывается из приведенных:
метод адресации источника - приемника - время
0 - 0 - 8+t
1 - 0 - 18+2t
2 - 0 - 18+2t
3 - 0 - 25+3t
4 - 0 - 20+2t
5 - 0 - 26+3t
6 - 0 - 25+3t
7 - 0 - 32+4t
0 - 1 - 26+2t
0 - 2 - 28+2t
0 - 3 - 31+3t
0 - 4 - 28+2t
0 - 5 - 32+3t
0 - 6 - 31+3t
0 - 7 - 40+4t
1 - 1 - 28+3t
2 - 2 - 30+3t
3 - 3 - 40+5t
4 - 4 - 31+3t
5 - 5 - 42+5t
6 - 6 - 40+5t
7 - 7 - 56+7t
¤
Время от прихода запроса на прерывание до начала выполнения первой команды обработчика 94+11t
-
? anonymous - 24.09.2009 01:07
P.S. как посчитать точное количество тактов в двухадресных командах, кстати, не указано. Видать, в 1983м году комиссию волновали при сдаче проца только крайние параметры, как-никак сдавался он в июле, всем в отпуск хотелось поскорей :)
-
? Александр...@ - 25.09.2009 06:04
2Валерий: Пардон, Stuffit у меня нет, и ставить лень, но идею понял. Впринципе, масштабирование под 4:3 сделать можно разными способами, OGL для этого тоже подойдет. Точки рисовать в OGL еще проще, чем в любом другом API. В многоплатформенной обвязки, к сожалению, будет засада с обвязкой. glut не на всех девайсах есть и везде API имеет свои особенности.
-
? Валерий@ - 26.09.2009 01:38
Доброго времени суток !
¤
Дело в том Александр, что если бы писал под винду или X.org то я с этим и не заморачивался бы. Но под Mac OS это не требует никаких усилий, по этому было грех не воспользоваться.
Если писать под OGL, прийдется формировать растр, потом натягивать его как текстуру на полигон, затем добавлять эффект Bloom.
-
? Александр...@ - 26.09.2009 03:41
В OGL можно все проще. Начиная с того, что можно просто точку нарисовать GL_POINTS, а потом просто ViewPort расстянуть до правильной пропорции и кончая рисованием прямоугольников вместо точки. По поводу яркости я тоже не совсем понимаю, если только не хотите изобразить эффект ЭЛТ со свечением вокруг контрастных точек и дизеринг. Тогда да, там без эффектов и шейдеров не обойтись. :)
-
? Валерий@ - 26.09.2009 11:00
Доброго времени суток !
¤
Перезалил скрины http://rapidshare.com/files/285118446/Archive.zip
Именно эффект ЭЛТ. 1 скрин Bloom включен, 2 - выключен
И точка не прямоугольник, правильная - немного растянутая по горизонтали.
-
? Валерий@ - 29.09.2009 02:01
Доброго времени суток !
¤
Есть ли у кого, таблица скан-кодов ? В смысле кодов которые читаются из порта клавиатуры.
-
? hdc - 29.09.2009 04:38
Валерий, я же кинул ссылку на книжку.
Кидаю ещё: http://pdp-11.ru/mybk/doc/programmirovanie_bk0010.txt
смотреть в самом низу, в таблицах.
¤
-
? Валерий@ - 29.09.2009 12:57
Спасибо !
-
? Валерий@ - 29.09.2009 18:12
Я не понял, что коды символов можно считать прямо из порта клавиатуры ?
- << Форум