[1.4.6] RedPower 2 [Prerelease 6]
#581
Posted 17.07.2012 - 10:29
У тех, кто пишет понятно, есть читатели; у тех, кто пишет туманно, есть комментаторы.
--Альберт Камю
#583
Posted 17.07.2012 - 15:43
Команды для дисковода я использовал в копировальщике. А так же при чтении в проигрывателе. (Может, у кого-нибудь возникли вопросы типа "Что там за манипуляции с памятью?")The blitter provides a way to quickly manipulate large blocks of screen space without having to access them individually through the display memory window.
У тех, кто пишет понятно, есть читатели; у тех, кто пишет туманно, есть комментаторы.
--Альберт Камю
#584
Posted 17.07.2012 - 16:30
Display registers0x00 Memory access row[paste][/paste] Used to set which line of characters appears in the display memory window[paste][/paste] 0x01 cursor x0x02 cursor y0x03 cursor mode (0: hidden, 1: solid, 2: blink) 0x04 key buffer start (16 byte buffer)0x05 key buffer position0x06 key value at buffer start 0x07 blit mode (1: fill, 2: invert; 3: shift)0x08 blit x start / fill value0x09 blit y start0x0A blit x offset0x0B blit y offset0x0C blit width0x0D blit height 0x10 -> 0x60 display memory window
#585
Posted 17.07.2012 - 17:29
У тех, кто пишет понятно, есть читатели; у тех, кто пишет туманно, есть комментаторы.
--Альберт Камю
#586
Posted 17.07.2012 - 17:50
#587
Posted 17.07.2012 - 18:02
У тех, кто пишет понятно, есть читатели; у тех, кто пишет туманно, есть комментаторы.
--Альберт Камю
#590
Posted 19.07.2012 - 15:24
Сделал 16-цветный принтер на фреймах.
Принцип действия:
Начало координат расположено в левом нижнем углу изображения, ось Y направлена вверх, ось X – направо. Установщики блоков расположены в ряд. В начале работы 0-ой установщик расположен над блоком с координатами (0,0).
Расположение установщиков в начале печати:
Для создания дискет с изображениями я написал конвертер BMP-файлов в текст или образы дискет.
Конвертер может работать с 1, 4, 8-ми битными изображениями, имеющими не больше 17-и элементов палитры. Цвета изображения определяются палитрой. Я нашел только один графический редактор, позволяющий просматривать и редактировать палитру http://mtpaint.sourceforge.net/ Элементы палитры с номерами 0-15 соответствуют установщикам блоков с теми же номерами. 16-ый элемент соответствует пустому месту.
Конвертер консольный, первый аргумент – имя BMP-файла, второй – имя файла с результатом.
Управляющая программа:
Я проверил работу принтера с 4-х битным изображением, 11х11 пикселов.
Стоит расписывать подробнее, или и так все понятно?
Attached Files
#591
Posted 19.07.2012 - 19:12
\ Для перемещения конструкции надо определить слова:\ step+x для перемещения "вправо" на один блок\ step-x влево\ step+y вверх\ ID порта подключенного к установщикам блоков – 7\ ID порта подключенного к двигателям – 3Я правильно понимаю, что нужно написать программу, которая будет посылать сигнал нужному двигателю? Момент немного не понятен. Посмотри мой гайд по лифту, там я старался описать каждый шаг создания не только программы, но и самой конструкции. В твоем случае конструкция имеет большое значение.
#592
Posted 20.07.2012 - 13:15
Хм. Интересно, но с кодом намудрил =) Попробуй следующее: wait поставить 8. Открывание\закрывание двери так:Добавил гайд по лифту
: open (n-->) /программа, которая задает открытие двери на n-ом этаже2* 1 SWAP <<3 0 DO DUP IOXSET waitDUP IOXRST waitLOOP DROP;: close (n-->) /программа, которая задает закрытие двери на n-ом этаже2* 1+ 1 SWAP <<3 0 DODUP IOXSET waitDUP IOXRST waitLOOP DROP;И напиши предупреждение: "Не нажимать на кнопки во время движения лифта!" P.S: я влез в инет на минутку =)
У тех, кто пишет понятно, есть читатели; у тех, кто пишет туманно, есть комментаторы.
--Альберт Камю
#593
Posted 20.07.2012 - 13:39
wait можно поставить другой, значение 10 мой выбор.
Попробовал твой код, так двери стали сумасшедшими Над ним определенно нужно поработать.
Насчет кнопок добавлю, но тут ты не совсем правильно сказал. Во время движения и не нажать толком кнопку, скорее нужно написать так: "Кнопку перед движением не нажимать".
2* 1 SWAP <<Эта часть является нерабочей, в любых случаях значение 0.
SWAP меняет местами значения, но 2* уже прошел, поэтому не выполняется. Т.к. 2* не является числом, то его значение 0. Из этого дальше код не рабочий.
#594
Posted 20.07.2012 - 14:26
Да и нужен ли кому-нибудь такой принтер?
VikR, твою программу можно очень сильно сократить. Мою впрочем тоже можно сократить на треть, а то и больше.
#595
Posted 20.07.2012 - 14:35
Так что при желании можешь сам предложить свой вариант, т.к. сам я пока не собираюсь к нему возвращаться.Можно конечно попробовать упростить, но мне лень
#596
Posted 20.07.2012 - 15:21
Больше ничего не заметил
#598
Posted 20.07.2012 - 20:49
2* 1 SWAP <<Почему это должно возвращать 0 и не работать? После выполнения этих слов в стеке окажется 2 в степени 2*n, где n это число на вершине стека до выполнения этих слов.
#600
Posted 21.07.2012 - 18:29
Кстати, как ты проверял?[quote name="VikR"]Эта часть является нерабочей, в любых случаях значение 0.[/quote]Опять же: как ты проверял?[attachment=0]2012-07-21_19.19.21.png[/attachment]Эта часть вычисляет необходимый цвет, в который надо пустить импульсы (исходя из твоей конструкции)
У тех, кто пишет понятно, есть читатели; у тех, кто пишет туманно, есть комментаторы.
--Альберт Камю
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users