| Разработка и ромхакинг > Ромхакинг и программирование |
| Геймдев под M68K |
| << < (2/10) > >> |
| Ti_:
--- Цитата: Марат от 23 Август 2009, 14:11:44 --- Как я понял, Ti прошел по ссылке, которую дал Sergi и увидел на том сайте хак дюны от все того же Sergi. Так как перешел туда с этой темы, решил здесь же и запостить. --- Конец цитаты --- а что вам жалко чтоли? или я должен был написать в теме дюны, мол Segaman, смотри в соседней теме ссылку на хак дюны запостили, иди спроси может дамп есть :lol: (или может в личку нужно обязательно писать? по-моему было бы интересено чтобы все знали. я вот первый раз его вижу ,что он есть...а вы пишите да давно уже есть!) |
| Segaman:
Учтите, я на телефоне и поэтому часто могу путать посты и ваапще всё, так как на маленьком экране хрен чё разглядеть можно даже с оперы мини. а на кампе немогу по уже 2ум причинам: потому что трафик съедается в никуда и недавно у меня моник сгарел, сижу на телике (XDDDDD lol), нихрена на нём невидно. вообщем если что "без обид" Добавлено позже: А ещё высота экрана размером с 1.2 от моего старого тетриса (:D lol), представьте, как на нём можно что-то разглядеть. вообщем смехота. ппц :D |
| Segaman:
--- Цитата: Ti_ от 20 Август 2009, 13:41:08 ---ого, на этом сайте ХАК Дюны есть. кто-то опередил Segaman'a. правда он на картридже. --- Конец цитаты --- Между прочим я не хак делаю, а рес дюны. а рес дюны я делаю, чтобы все делали хаки :lol: |
| Segaman:
А кстати я знаю в чём дело. на те игры, которые встречаются в многоигровках есть асм-код, благодаря котому чинятся все поинты. это батл тодс, соник 2, голден акс и т.д. и вот этим асмом воспользовались эти чуваки. меня опередили, но в отличие от них, я ресы выкладываю для всех. кстати сёдня ночью выкладываю сырой рес. блин, меня всё время интересуют многоигровки. кто знает, где дампы мноигровок есть? |
| Smoke:
Дампы многоигровок есть в ромсете |
| Ti_:
для всех это оч.круто и респект, но ты завершил свой редактор для Дюны или нет? (карт и миссий?) всё что требовалось(ну ты вроде сам вызвался?) чтобы создавалась КАРТА (неважно в роме или где). что-ты там дальше наворачивать стал я не смотрел. Добавлено позже: BTW нет желаница под RRR редактор трасс нарисовать? (можно в 2д, можно в изометрии) ;формат уже разорбан., pdf'ka с описанием лежит в теме. ну конечно эт звучит("вы не обнаглели"), но вдруг будет время и желание -подумай ;) |
| romanich:
Решил не плодить темы, написал в этой (коль уж кодинг для 68k, точнее Си) Страница по Сеге МД: http://segasecret.narod.ru Демка с исходниками (тамже и бинарник) Это так... в качестве разминки :) А вообще желается написать небольшую игру. С нуля... Свою... Со своими главперсами... Поэтому не порт и не хак и даже не ремейк :) Вопрос Си-программистам 68k: кто-нибудь объявлял static-переменные в функциях? типа пример: --- Код: ---void Function(void) { static char z=5; //При первом вызове z будет 5 (потом ещё на 1 увеличится) z++; //z будет увеличиваться при каждом вызове функции } --- Конец кода --- нужно для того, чтобы не плодить кучу глобальных переменных и не присваивать им начальные значения в main() у меня почему-то пакет(XGCC) делает переменную z read only, тоесть суёт в ROM-секцию а нужно, чтобы в RAM и делал начальное присвоение. |
| totin:
все будет нормально, если не будешь инициализировать переменную начальным значением Добавлено позже: кстати, в GenesisDev04 походу посвежее компилятор чем в XGCC |
| romanich:
--- Цитата: totin от 01 Сентябрь 2009, 14:11:50 ---все будет нормально, если не будешь инициализировать переменную начальным значением --- Конец цитаты --- в GenesisDev04 (от Stef'а который) тоже нельзя начальное значение присваивать, если нужна переменная? --- Цитата: totin от 01 Сентябрь 2009, 14:11:50 ---кстати, в GenesisDev04 походу посвежее компилятор чем в XGCC --- Конец цитаты --- скачал MDKit с вашей ссылки, в папке bin лежит приложение sh.exe - оно не запускается под WinXP PE SP3 пишет, что "sh.exe - не является приложением Win32" :( По этой же причине не отрабатывают до конца make-файл... |
| totin:
поставь cygwin, с ним все должно нормально работать, хотя по началу я и без него умудрялся, но возникали коекакие проблемы, особенно если запускать компилятор из IDE GenesisDev04 (он же GCC 3.4.6) тоже нельзя инициализировать автоматом все, что в RAM находится. но нулями вполне можно все инициализировать если в самом начале, перед переходом на main, залить весь RAM нулями, что и сделано в sega.s который лежит в GenesisDev04 такое вот там есть: * clear Genesis RAM lea 0xff0000,%a0 moveq #0,%d0 clrram: move.w #0,(%a0)+ subq.w #2,%d0 bne clrram jmp start думаю это вполне нормальный вариант Добавлено позже: кстати, твой ДиджиталТрешер - вешь! (: |
| romanich:
--- Цитата: totin от 02 Сентябрь 2009, 03:17:54 ---GenesisDev04 (он же GCC 3.4.6) тоже нельзя инициализировать автоматом все, что в RAM находится. --- Конец цитаты --- Ну тогда не вижу причин менять XGCC (к которому уже успел прилипнуть :) --- Цитата: totin от 02 Сентябрь 2009, 03:17:54 ---нулями вполне можно все инициализировать если в самом начале, перед переходом на main, залить весь RAM нулями, что и сделано в sega.s --- Конец цитаты --- так и сделано, только не всегда нулями нужно и не всё... --- Цитата: totin от 02 Сентябрь 2009, 03:17:54 ---кстати, твой ДиджиталТрешер - вешь! (: --- Конец цитаты --- спасибо :) старался... :) |
| Segaman:
--- Цитата: Smoke от 30 Август 2009, 22:14:50 ---Дампы многоигровок есть в ромсете --- Конец цитаты --- Причём здесь дампы многоигровок, я говорю про починку поинтов асмнутых игр для собирания многоигровок и то, что асмнутые игры для собирания многоигровок хорошо подходять для хакинга. А ты мне про дампы... впрочем поподробней, хотелось бы взглянуть на многоигровку в хексе. |
| Smoke:
Вопрос: --- Цитата: Segaman ---блин, меня всё время интересуют многоигровки. кто знает, где дампы мноигровок есть? --- Конец цитаты --- Ответ: --- Цитата: Smoke ---Дампы многоигровок есть в ромсете --- Конец цитаты --- Ты спросил, я ответил ;) |
| Segaman:
:blush: Ой...извиняюсь...наверно забыл о чем спрасил :D А где этот твой ромсет (если я опять незабыл о чём спрасил) |
| Photon9:
Segaman, кой чего и тут можно скачать www.emu-land.net :) |
| Ti_:
кто знает в чем отличия команды JSR $4EBAxxxx (pc?) от bsr.w $6100xxxx (pc) и с jmp ($4EFA)/ bra.w ($6000 также. есть ещё JSR 4EB8 xxxx , xxxx - абс. адрес +$8000 до -$8000. ( $xxxx $FFFFxxxx) почему 4eb8 не было использована в игре Rock n' roll Racing , а только 4eb9 xx xx xx xx (jsr xxxxxxxx) ? еще интересует что такое st sttr (что-то не нашел у себя) |
| Smoke:
JSR $4EB8xxxx -- это обычный джамп, где ХХХХ это 2-х байтовый адрес. Прыгать можно от 0 до $FFFF. Редко используется. Джампы относительно PC по-моему ничем и не отличаются от bsr.w/bra.w, так что не нужно заморачиваться с ними, размер у них одинаковый. --- Цитата: Ti_ ---еще интересует что такое st sttr (что-то не нашел у себя) --- Конец цитаты --- Это что? Ни разу не встречал, и в мануалах нету |
| Ti_:
--- Цитата: Smoke от 03 Июнь 2010, 17:35:10 ---JSR $4EB8xxxx -- это обычный джамп, где ХХХХ это 2-х байтовый адрес. Прыгать можно от 0 до $FFFF. Редко используется. Джампы относительно PC по-моему ничем и не отличаются от bsr.w/bra.w, так что не нужно заморачиваться с ними, размер у них одинаковый.Это что? Ни разу не встречал, и в мануалах нету --- Конец цитаты --- да нет, 4eb8 насколько я помню до $8000 только , а если больше то в обратку пойдет. (как moveq) sega assembler v.3 как раз автоматически делает именно 4eb8 если адрес позволяет, а не 4eb9. насчет jmp pc - да я не заморачивался просто интересно, что-то две команды одинаковые чтоли?(в RRR есть и те и те) ST есть в dune2 (в базе IDA) , только не могу показать где - не на том компе сейчас. а в дебагере от Shella она обозначалась как STTR, а в Яковлеве тоже вроде St. кстати swap 1-ый и 4-ый байты меняет? лень проверять было. но если так странно,что не сделали 1+2-ым с 3+4-ым - получилось бы как 2word'a. |
| evgeny:
4eb8 - насколько я помню до $8000 - это прыжок в ROM, а после в RAM. |
| Марат:
--- Цитата: Ti_ от 03 Июнь 2010, 02:36:06 ---еще интересует что такое st sttr (что-то не нашел у себя) --- Конец цитаты --- Судя по документаций - это установка значения по условию. В идеале команда обозначается как Scc, где cc - condition code - ложь, истина, меньше, равно и т.д. Если условие выполняется, то по эффективному (исполнительному) адресу устанавливается значение $FF, в противном случае $00. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |