Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Ден Зурин
Зарегистрирован: 23.01.2008 Сообщения: 10
|
Добавлено: Ср Янв 23, 2008 10:14 pm Заголовок сообщения: Ассемблер для SNES |
|
|
Вот, решил попробовать написать свою программу (точнее, ROM) для SNES. После длительного поиска в Инете обнаружил вот это:
http://en.wikibooks.org/wiki/Super_NES_Programming
По указанному адресу расположено несколько статей по программированию для SNES, а также есть ссылки на ассемблер и C компилятор для SNES.
Думаю, эта информация будет интересна начинающим SNES программистам. _________________ I love Schala. |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Чт Янв 24, 2008 4:58 pm Заголовок сообщения: |
|
|
Решить решил, ну и написал? |
|
Вернуться к началу |
|
|
Ден Зурин
Зарегистрирован: 23.01.2008 Сообщения: 10
|
Добавлено: Вс Янв 27, 2008 2:44 am Заголовок сообщения: |
|
|
Пока получается только пустой зеленый экран. _________________ I love Schala. |
|
Вернуться к началу |
|
|
gegmopo3
Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
|
Добавлено: Вс Мар 14, 2010 9:43 am Заголовок сообщения: |
|
|
Чтобы не рожать тем, спрошу здесь.
идет JSL, дальше я впариваю свой код, код рабатает все нормально, но как только втречает RTL, он возвращается не на то место, где JSl, а вообще хз куда, из рам вообще, и в итоге переходит по вектору, ну и конечно игра стоит на месте....
бытался просто JMP заменить, но дальше другие JSL и JSR так же ведут, кто-нибудь подскажите, в чем бойда? _________________ Я-я-я-я! |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вс Мар 14, 2010 2:02 pm Заголовок сообщения: |
|
|
gegmopo3 писал(а): | идет JSL, дальше я впариваю свой код, код рабатает все нормально, но как только втречает RTL, он возвращается не на то место, где JSl, а вообще хз куда, из рам вообще, и в итоге переходит по вектору, ну и конечно игра стоит на месте....
бытался просто JMP заменить, но дальше другие JSL и JSR так же ведут, кто-нибудь подскажите, в чем бойда? |
Может, где-то в процедуре в стек что-то забросил, а вытащить забыл? |
|
Вернуться к началу |
|
|
gegmopo3
Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
|
Добавлено: Вс Мар 14, 2010 2:45 pm Заголовок сообщения: |
|
|
ууу, точно!!
Спасибо!
с этими Ply,plx не уследил _________________ Я-я-я-я! |
|
Вернуться к началу |
|
|
gegmopo3
Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
|
Добавлено: Вс Мар 14, 2010 2:47 pm Заголовок сообщения: |
|
|
ах-ха-ха
пошаманил стек, такая веселая штука появилась=)
заместо того, чего надо вышел мульлтик=)))) из заставки :D
----
Хм...
сделал так:
rep #$20
tax
tsc // стек в акк
sta $f090 // сохранил
...
lda $f090 // загрузил
tcs // акк в стек
lda $03d5
трейсером пробежался, стаки совпадает с оригиналом, но он, падла, теперь в другое место скачет...
что же теперь не так... _________________ Я-я-я-я! |
|
Вернуться к началу |
|
|
gegmopo3
Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
|
Добавлено: Вс Мар 14, 2010 11:07 pm Заголовок сообщения: |
|
|
Все, обошел проблемму, теперь все нормально _________________ Я-я-я-я! |
|
Вернуться к началу |
|
|
gegmopo3
Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
|
Добавлено: Вт Апр 06, 2010 8:58 pm Заголовок сообщения: |
|
|
Теперь по комповскому асму....
Например, переменная х : word, ставлю флаг на carry, но jc не срабатывает когда нужно... Он проверяет первый бит у старшего байта? Или всё же у младшего? (просто на снес у старшего глядит) _________________ Я-я-я-я! |
|
Вернуться к началу |
|
|
Марат
Зарегистрирован: 08.01.2008 Сообщения: 211 Откуда: Казахстан, Астана
|
Добавлено: Вт Апр 06, 2010 10:48 pm Заголовок сообщения: |
|
|
gegmopo3 писал(а): | Теперь по комповскому асму....
Например, переменная х : word, ставлю флаг на carry, но jc не срабатывает когда нужно... Он проверяет первый бит у старшего байта? Или всё же у младшего? (просто на снес у старшего глядит) |
Он не проверяет биты у переменной. Он проверяет флаг carry. К примеру, если в переменной имеется число $8000, то при сдвиге влево старший бит выносится в carry флаг, а в переменной будет число 0. Флаг carry будет, соответственно, выставлен. По старшему биту выставляется флаг negative. Вернее sign flag. |
|
Вернуться к началу |
|
|
gegmopo3
Зарегистрирован: 21.08.2006 Сообщения: 233 Откуда: Красноярск
|
Добавлено: Ср Апр 07, 2010 3:56 am Заголовок сообщения: |
|
|
Спасибо=) Все, сделал _________________ Я-я-я-я! |
|
Вернуться к началу |
|
|
|