Самодельная графическая приставка

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!

Счетаете ли вы актуальным создовать такую приставку???

Да
32
15%
Нет
26
13%
Просто прикольно
58
28%
Тема
13
6%
Не вижу смысла
37
18%
Тупость
31
15%
Яб купил еслеб продовалось
11
5%
 
Всего голосов: 208

Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Самодельная графическая приставка

Сообщение pyzhman »

Ниже приведен код, написанный когда-то для кубика. Суть конгруэнтный генератор ПСЧ.

Код: Выделить всё

;
;X(i+1)= ( A*X(i) + B) mod 65536
;
;A= 77 (A mod 4= 1)
;B= 1 нечетное
;
;

random:
   MOV   R30,rnd_l   ;N=X
   MOV   R31,rnd_h

   LSL   rnd_l      ;*2
   ROL   rnd_h
   LSL   rnd_l      ;*4
   ROL   rnd_h

   ADD   R30,rnd_l   ;N=N+X*4
   ADC   R31,rnd_h

   LSL   rnd_l      ;*8
   ROL   rnd_h
   
   ADD   R30,rnd_l   ;N=N+X*8
   ADC   R31,rnd_h

   LSL   rnd_l      ;*16
   ROL   rnd_h
   LSL   rnd_l      ;*32
   ROL   rnd_h
   LSL   rnd_l      ;*64
   ROL   rnd_h

   ADD   R30,rnd_l   ;N=N+X*64  итого N= X*77
   ADC   R31,rnd_h

   ADIW   R30,1   ;N=N + 1

   MOV   rnd_l,R30   ;X=N
   MOV   rnd_h,R31

   ANDI   R31,0xE0   ;xxx0 0000
   CPI   R31,0xC0
   BRCC   random
                  ; 0...5,0 0000
   SWAP   R31
   LSR   R31
   INC   R31            ;0000 0,1...6
   MOV   rnd,R31

   RET
Docendo discimus
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Самодельная графическая приставка

Сообщение Engineer_Keen »

Вадиматоричик писал(а):И вообще я прислушался к вашим советам и решил сделать на амеге 8 игру волк ловит яйца. (Так сказать папрактиковаться.
Вот это правильно!
Вадиматоричик писал(а):Кстате вопрос. Кто небудь в этой программе знает, как использовать сдвиговые регистры.
В какой программе? Или вопрос в том, как для конкретной схемы их соединять?
Если используются 595 регистры (74HC595), то они подключаются через интерфейс SPI контроллера. Нога SH_CP (11) - к ноге CLK МК, нога DS (14) к ноге MOSI МК, нога ST_CP (12) к любой ноге мк (можно к SS), MR (10) на плюс, OE(13) на землю. А к ногам Q0-Q7 подключаем элементы индикации, главное не превышать ток через выводы 595. Как выводить данные по SPI есть примеры в даташите на контроллер.
Реклама
Вадиматоричик
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Re: Самодельная графическая приставка

Сообщение Вадиматоричик »

Спасибо за участие в теме. Под соловом в той программе я имел, введу, конструктор программ для AVR (Flowcode V4 for AVRs)Поскольку языка не знаю (Не Си не русского по хорошему) работаю в ней и код генератора нужен именно под эту программу, но спасибо за участие. Потехоньку пытаюсь выводить падения яиц на экран протеуса.
Все можно сделать, было бы желание!
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Самодельная графическая приставка

Сообщение Engineer_Keen »

Вадиматоричик писал(а):код генератора нужен именно под эту программу
Там работа с АЦП есть? Можно оставить вход АЦП болтаться в воздухе и снимать с этого канала значения (самые младшие биты) сняли 8 значений - случайное число от 0 до 255 готово) Ну или можно вот так.
На первое время можно вообще забить на ГСЧ и выдавать последовательно числа 1,2,3,4... Чтобы сам алгоритм индикации и управления отработать.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Самодельная графическая приставка

Сообщение pyzhman »

Engineer_Keen писал(а):вход АЦП болтаться в воздухе
Некрасиво.
Engineer_Keen писал(а):вот так
Есть мнение, что так получим ПС биты, а не число.
Все конечно на выбор тс.
Docendo discimus
Реклама
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Самодельная графическая приставка

Сообщение Foks »

http://ru.wikipedia.org/wiki/%D0%9B%D0% ... 0%BE%D0%B4
Генератор случайных чисел реализуется по этому методу (об этом позже).
Раз Вы таки решились сделать волка с яйцами, я готов реально помогать.
Как я понимаю, у Вас были проблемы с составлением понятного и грамотного алгоритма. Я попробую составить свою версию алгоритма для волка с яйцами. Выложу чуть позже.
-----------------------
Не грузите человека еще каким-то АЦП. Тем более что метод с АЦП хоть и не псевдослучайный, но распределение будет не равномерным, да еще и зависеть от погоды/прочей лабуды.
Последний раз редактировалось Foks Чт июн 30, 2011 12:52:34, всего редактировалось 1 раз.
Giggity giggity goo!
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Самодельная графическая приставка

Сообщение Engineer_Keen »

pyzh_man писал(а):Некрасиво
Чем некрасиво? Работать не будет?
pyzh_man писал(а):Есть мнение, что так получим ПС биты, а не число.
Правильно, ну так кто мешает несколько бит сложить в число?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Самодельная графическая приставка

Сообщение pyzhman »

Работать будет. Считаю некрасиво. Некрасиво и все тут. Ну не нравятся мне сопли.
Никто не мешает. Складываем и пользуем.
Методов море. Предложенные в том числе.
:beer:
Во, Foks облачил мои чувства в слова.
Docendo discimus
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Самодельная графическая приставка

Сообщение Engineer_Keen »

Foks предложил хороший вариант, сразу число получается, надо будет его тоже освоить. Главное с коэффициентами угадать. Хорошо что в меге есть умножение :)
А по поводу соплей... А зачем обязательно делать в виде соплей :)))
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Самодельная графическая приставка

Сообщение Foks »

Пусть у нас есть M горок, откуда падают яйца, с большим числом ячеек на каждой горке. На экране видны только 3 последние ячейки, а яйца будут появляться в одной из ячеек >=4.
Игра будет обрабатывать всего N яиц. Имейте в виду, что на экране будут отображаться только те, которые находятся в ячейках 1...3. Таким образом, у нас будет 3*M светодиодов-яиц, и M светодиодов - шляпы.

Нам нужны будут следующие переменные:
1) Массив Pos[N] - для хранения позиции каждого яйца, и 0 если яйца нет.
2) Массив Side[N] - Здесь будем хранить число 1...M - с какой стороны находится яйцо.
3) Переменная Score - очки.
4) Переменная Wolf - Здесь число 1...M - с какой стороны волк держит шляпу.

Элементы массивов я буду нумеровать 1...N.

1. Обнулить все массивы и переменные.
2. Настроить порты ввода-вывода. Светодиоды по умолчанию погашены.
3. Цикл i = 1 до M
---- 1) Если Pos(i) = 0 то
---------- а) Присвоить Side(i) случайное число от 1 до M.
---------- б) Временная переменная T = 2.
---------- в) Цикл j = 1 до N
----------------- Если (Side(j) = Side(i)) И (Pos(j)>T) то присвоить T значение Pos(j)
---------- г) Присводить Pos(i) значение T+2
---- 2) Если Pos(i) от 1 до 3, то погасить светодиод, соответствующий Pos(i), Side(i)
---- 3) Pos(i) уменьшить на единицу -- спускаем яйцо на один уровень ниже.
---- 4) Если Pos(i) от 1 до 3, то зажечь светодиод, соответствующий Pos(i), Side(i)
---- 5) Если Pos(i) = 0 то -- новое яйцо упало
---------- а) Если Side(i) = Wolf то добавить сколько-то очков к Score иначе отнять столько-то очков.
---- 6) Подождать 180 мс, и во время ожидания повторять:
---------- а) Если нажата кнопка 1, то присвоить Wolf значение 1 и зажечь соотв. светодиод шляпы (остальные погасить)
---------- Аналогично с кнопками 2-M.
4. Перейти к пункту 3 -- бесконечный цикл.

P.S. Алгоритм исправлен и дополнен.
Последний раз редактировалось Foks Чт июн 30, 2011 16:41:13, всего редактировалось 5 раз.
Giggity giggity goo!
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Самодельная графическая приставка

Сообщение pyzhman »

Engineer_Keen писал(а):Главное с коэффициентами угадать.
Какое гадать? Этож математика. Коэффициент А д.б. таким, чтобы остаток от деления на 4 был 1, а В нечетное.
Docendo discimus
Вадиматоричик
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Re: Самодельная графическая приставка

Сообщение Вадиматоричик »

Падение яиц и ловля их уже решена проблема состоит только в сдвиговых регистрах, так как там надо хорошо постараться и тем более нет нигде простого примера реализации. Везде с кучей навеса, например термометр или матриц. А так чтобы с общим катодам нету.Если без сдвиговых регистров, то всё совершенно легко.
Все можно сделать, было бы желание!
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Самодельная графическая приставка

Сообщение Foks »

Так сделайте без них. Результат, главное, получите хоть какой-нибудь.
Giggity giggity goo!
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Самодельная графическая приставка

Сообщение YS »

Кстати, к вопросу о генерации случайных чисел:

http://habrahabr.ru/blogs/controllers/121849/
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Самодельная графическая приставка

Сообщение Modest »

pyzh_man писал(а):Работать будет. Считаю некрасиво. Некрасиво и все тут. Ну не нравятся мне сопли.
зато этот способ генерирует именно случайные числа
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Вадиматоричик
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Re: Самодельная графическая приставка

Сообщение Вадиматоричик »

Мысли интересные (По поводу случайных чисел) Вот только столкнулся с неожиданной проблемой в амеге 8 на которой я разрабатывал без сдвиговых регистров выводов не хватает. Так что только сними.
Все можно сделать, было бы желание!
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Самодельная графическая приставка

Сообщение Engineer_Keen »

Ну так к этому и идем) В чем проблема то?
Вадиматоричик
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Re: Самодельная графическая приставка

Сообщение Вадиматоричик »

Проблема в IDI или как там оно. Нужно научиться с ним абращяться. Я сделал Проше взял амегу 16 там портов хватает.
Все можно сделать, было бы желание!
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Самодельная графическая приставка

Сообщение Engineer_Keen »

Вадиматоричик писал(а):Проблема в IDI или как там оно.
Чего-чего? Может SPI?
Вадиматоричик писал(а):Нужно научиться с ним абращяться.
Ну так вперед, а то вы:
Вадиматоричик писал(а):сделал Проше взял амегу 16
Рано или поздно случится ситуация что вам и 64-й меги по портам не хватит...
Вадиматоричик
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Re: Самодельная графическая приставка

Сообщение Вадиматоричик »

Я знаю уже сталкнулся.
Все можно сделать, было бы желание!
Ответить

Вернуться в «Умные мысли»