Отличная игра Shenzhen I/O
Суть игры - решать головоломки, собирая "платы", которые отработают задачу, описанную в небольшом тех задании. Плата собирается из чипов (которые программируются на простом ассемблере) и других элементов, между которыми протягиваются проводки. Ассемблер я учил лет 15 назад, и честно - учил бы лучше, было б у меня тогда такое "пособие". Особой атмосферности придает подача игры - ты как бы сотрудник китайской компании по пайке китайских плат, новые задачи приходят по почте в виде переписки с коллегами и начальством, при решении головоломки надо стремиться сделать плату как можно дешевле и с минимальным энергопотреблением (игра сравнивает твое решение с решениями других игроков). А самое главное - никаких "обучалок", с игрой идет pdf файл на полсотни страниц со спецификацией оборудования, куда тебя периодически посылают покурить маны.
Недокументированные возможности, которых нет в английском (твоем) мануале, но есть в китайском (поэтому коллеги используют), так же в наличии, так что переписку с коллегами надо читать вдумчиво. Тематические приколы про изнанку производства дешевой китайской электроники там же.
И все бы отлично, но спустя несколько часов, когда игра отправила меня в очередное чтение спецификаций, я словил себя на алчной мысли, что вообще-то в жизни и так программирую по спецификациям, только мне за это еще и платят. Как заставить себя поиграть еще?
Долбаный ассамблер
Дословно.Написать программу ввода 4 символов с клавиатуры и последующего вывода на экран. Есть люди, которые умеют на языке ассамблера писать простые проги? У меня другу (реально другу) нужно до завтра написать прогу, которая введет себя так :
(Появляется окошко с полем для ввода данных) Введите символ номер один :
(Появляется окошко с полем для ввода данных) Введите символ норме два :
(Появляется окошко с полем для ввода данных) Введите символ норме три :
(Появляется окошко с полем для ввода данных) Введите символ норме четыре :
(Появляется окошко с полем для ввода данных) Вы ввели четыре символа : a, b, c, d.
Да, такая тупая прога.
P.s. Я чуть понимая джава скрипт и хтмл думал, что ассамблер будет таким же, но оказывается высокоуровневный и низкоуровневый кодинг это далеко не одно и то же.
ПЛИЗ, ПЛИЗ, ХЕЛП, БУДУ ОЧЕНЬ БЛАГОДАРЕН.
P.s.s. Друг хороший человек, монгол, ему можно помогать, ы.
Ромхакинг Sega Mega Drive игр
Привет.
Сегодня я хотел бы поговорить об ромхакинге старых консольных игр. Точнее речь пойдет об Sega Mega Drive.
У большинства в детстве были игровые консоли Dendy или Sega. Но кто из вас мечтал изменить свою любимую игру, или добавить что то новое? К примеру создать новые уровни, усложнить врагов, или же полностью переписать игру для совершенно нового сюжета.
Лично я с детства мечтал об этом. И потому увлекся хакингом любимой игры Sonic 3 & Knuckles. Я начал изучать движок игры, язык процессора Motorola 68000 и немного Zilog z80.
С помощью Ida Pro удалось получить дизассемблированный код с которым можно работать.
Большинство игр писалось на ассемблере поэтому код выглядит понятным и не очень "запутанным".
И благодаря другим людям(большинству иностранным) мне было легче работать с хаком. Они не поленились и написали программы облегчающие работу с изображениями. Полностью расшифровали алгоритм сжатия данных. В конце-концов дали имена RAM адресам и подпрограммам.
Свой хак я делаю уже 6 месяцев(на свой прошлый хак я потратил где то 4 года, но сейчас не об этом). Код был полностью переработан и поэтому уже трудно узнать здесь оригинальную игру.
Полностью очищенный движок Sonic 3 & Knuckles. Не тронутыми остались только важные подпрограммы, такие как работа с DMA, спрайтами, палитрой и т.п.
И вот что мне удалось сделать за это время:
Новый титульный экран.
Новые настройки перед игрой.
Так же я добавил новый звуковой драйвер в мой хак. Я говорю об GEMS драйвере.
Здесь вы сможете увидеть данные играющей мелодии.
И оригинальный звуковой драйвер SMPS. В данный момент в хаке работают два драйвера. Выбрать драйвер можно в настройках игры.
Так же я написал новых боссов.
И немного кода на котором я пишу.
Это часть кода для загрузки Титульного экрана.
Начальный код босса.
Вот и все на сегодня. В будущем если будет возможность я ещё расскажу об моем хаке и его прогрессе. Но сейчас я не хотел бы полностью показывать все его особенности. Так как я планирую отправить этот хак на конкурс Sonic Hacking Contest 2016. Который начнется в конце октября.
Огромное спасибо внимание и прочтение поста.
Помощь (ПРОГРАММИСТЫ)!!!! А то мне завтра п*зда на зачете
Программа работает. Только надо результат записать в текстовый файл. А вот с этим проблемы. Никак не могу разобраться!!!( Если кто-то знает ассемблер, то пожалуйста помогите с выводом.
Вот сама программа (1. Задан одномерный массив двухбайтовых знаковых чисел. Необходимо разработать программу для подсчета суммы положительных элементов массива.)
.stack 100h
.data
filename db 'resultat.txt',0 ;sozdanie file
handle dw ?
result db "Resultat: $"
len equ 10 ; kol-vo elementov v mas
mas dw 0,0, 4, -5, -3, 6, -2, -4, 6,1
sum dw 0
.code
mov ax,@dat
mov ds,ax
mov cx, len ; kol-vo elementov massiva - chislo povtoreniy cikla
mov si, offset mas
m1:
lodsw ;test flagov (test)
or ax, ax ;logichensko ili (bit 1)
js m2 ; perexod
add sum, ax ;proverka nyly (dobovlyaem)
m2:
loop m1 ; cick
mov ax, sum
xor ax, ax ;index i, numeracia s 0
mov ax, sum
outInt proc
test ax, ax ; proverka flagov
jnc oi1 ; perexod
mov cx, ax
mov ah, 02h
mov dl, '_'
int 21h
mov ax, cx
neg ax ;kolvo cifr derghitsa v CX
oi1:
xor cx, cx
mov bx, 10 ;osnovanie cc. 10 dly desyterchnoy
;proverka na chentost
oi2:
xor dx, dx ;prisvaivanie resultata (ne ravno <>)
div bx ;delenie
push dx ;razmechenie znachenie v steke +4
inc cx
test ax, ax ; proverka flagov
jnz oi2 ; perexod
mov ah, 02h ; vyvod, esli ...
;proverka na nechetnost
oi3:
pop dx ; razmechenie znachenie v steke -4
cmp dl, 9 ;sravnenie chisel
jbe oi4 ; perexod
add dl,7
oi4:
add dl, '0'
int 21h ; vyvod
loop oi3 ; cikl
OutInt endp
mov ax,4c00h
int 21h ; vozvrat
end
На денди сделали игру похожую на ГТА
Вообще новость старая, 2013-го года, но я наткнулся на это впервые. Автор игры Retro City Rampage сделал версию своей игры для NES. В видео описывается процесс того, как ему приходилось ухищряться, чтобы уместиться в ограничения платформы. Кроме того, делал он эту игру на специальной версии Ассемблера для NES, которую сам же и написал ранее.
По-моему это просто невероятно. :)
К сожалению не хватает рейтинга для вставки самого видео с youtube. Но оно очень интересное (осторожно английский язык)
https://www.youtube.com/watch?v=Hvx4xXhZMrU
Сам ром для эмулятора можно скачать в этой теме на форуме. (правда не финальную версию, а прототип)
Программирование AVR - Ассемблер. Уроки по AVR от Романа Звездопадова
Советую к просмотру подборку видеоуроков по программированию 8 битных AVR микроконтролеров на ассемблере
О 8 битных микроконтроллерах. На чем лучше программировать.
Программирование AVR Ассемблер. Урок 1. Вводный.
Программирование AVR Ассемблер. Урок 2. Порты. Мигалка.
Программирование AVR Ассемблер. Урок 3. Таймер. Мигалка на таймере.
Программирование AVR Ассемблер. Урок 4. АЦП.
Программирование AVR Ассемблер. Урок 5. Динамическая индикация.
Программирование AVR Ассемблер. Урок 6. Аналоговый компаратор.
Программирование AVR Ассемблер. Урок 7. ШИМ(PWM). Управление серво.
Программирование AVR Ассемблер. Урок 8. Внешние прерывания.
Программирование AVR Ассемблер. Урок 9. USART.
Программирование AVR Ассемблер. Урок 10. SPI.
Программирование AVR Ассемблер. Урок 11. LCD.
Программирование AVR Ассемблер. Урок 12. 1-Wire.
Программирование AVR Ассемблер. Урок 13. TWI(I2C).
Программирование AVR Ассемблер. Урок 14. Управление шаговым двигателем.
Программирование AVR Ассемблер. Урок 15. ЦАП(DAC). Модифицированный синус.
Программирование AVR Ассемблер. Урок 16. Двоично-десятичные дешифраторы.
Программирование AVR Ассемблер. Урок 17. Сдвиговые регистры.
Программирование AVR Ассемблер. Урок 18. EEPROM.
Программирование AVR Ассемблер. Урок 19. Светодиодные матрицы. Бегущая строка.
Программирование AVR Ассемблер. Урок 20. Сторожевой таймер(Watch Dog Timer).













