| Разработка и ромхакинг > Программирование |
| Разработка под M68K |
| (1/5) > >> |
| Segaman:
нифига се ресы. я такую билибирду никада невидел (без обид). и компиль на 4мега. абалдеть. я фигею, как ва всём этом ещё и можно было танки слепить. Тема была создана из разливанного флуда в Battle City для SEGA MEgaDrive2. Заголовок можно поправить, обращайтесь если что... Yaranga. |
| totin:
--- Цитата: Segaman от 18 Август 2009, 22:47:14 ---нифига се ресы. я такую билибирду никада невидел (без обид). и компиль на 4мега. абалдеть. я фигею, как ва всём этом ещё и можно было танки слепить. --- Конец цитаты --- ты привык на примитивном уровне в асме копаться а нормальные инструменты не 60кило весят и языки есть поинтереснее чем асм, но их учить конечно же нужно в отличии от асм. а асм годится только для узкого круга азадчь, и там где можно без него обойтись, лучше все таки обойтись, дабы не тратить свое время в погоне за сомнительными перспективами в виде размера/скорости. вот такое мое ИМХО (без обид) Добавлено позже: фраза "я фигею, как ва всём этом ещё и можно было танки слепит" вообще с ног валит (: дружище, это C, может это будет для тебя откровением, но на этом языке делают большинство софта, в особенности игр, в том числе и для SEGA, или ты думаешь что всё на асме пишут? может для денди и было все на асме а для сега я думаю по крайней мере большинство хороших игр было на С |
| Zephyr:
--- Цитата: Segaman ---я фигею, как ва всём этом ещё и можно было танки слепить. --- Конец цитаты --- Целиком согласенс с totin. Segaman, ты сам подумал что написал??? Или у кого-то просто дикое желание выпендриться!? |
| Segaman:
Не, просто я действительно фигею. я на C видел тока проги на комп, но никак не гамы на сегу. |
| totin:
--- Цитата: Segaman от 19 Август 2009, 14:31:23 ---Не, просто я действительно фигею. я на C видел тока проги на комп, но никак не гамы на сегу. --- Конец цитаты --- а ты вообще много видел исходников сеговских игр? хоумбрю и системный код типа драйверов не в счет. я думаю что вообще не видел, я тоже не видел но можно смело сказать что их писали на С так как нет ни одной объективной причины по которой мог бы использоваться асм в качестве основного языка. я даже только что припомнил исходники технопоповской игры/демки "ship" которые валяются вмести с исходниками GEMS, отгадай на каком языке написано? ты так рассуждаешь "я на C видел тока проги на комп" так и что? ты много чего не видел, а я не один год проработал в игрострое и за плечами не один проект, и проекты разные, для разных платформ, крупные и не очень, масштабные,над которыми работала большая команда и свои поменьше. я точно знаю как и на чем нужно делать, а то что ты на асме копашишся и больше ничего не видишь это твои проблемы, у тебя такими темпами останется все на аматорском уровне, типа покодил, покодил, слепил pong, порадовался за себя и на этом все. хотя если особо ничего не собираешся делать, а кодить на асме в кайф и делается все это исключительно ради удовольствия а не ради результата то это другое дело. лично у меня ассемблерная романтика закончилась давным давно, ещё во времена спектрумов и меня не "возбуждает" мысль о тотальном контроле над каждым тактом процессора |
| sergi:
Я видел, кстати я даже имею исходники нескольких игр - если кому надо то могу поделиться запросто 2 игры Turrican 3 Mr Nuts 2 проблема одна - исходники то С, но вообще девелоперский софт был на компьютере Амига поэтому нужно както коды эти перекодить уже под ваш девелоперский компилятор но вполне реально думаю - там все есть практически |
| totin:
вот, кстати, вспомнил после поста sergi ещё одну проблему асмокода - он не переносим абсолютно, сишный можно пересобрать под целевой процессор а асм разве что переписать. а код С от одного к другому компилятору сильно менять не прийдется. |
| sergi:
Ну вот Mr Nuts 2 кто хочет сделать?, точнее нужно переделать, какбы платформер си можно перенести он универсален, ну конечно главное чтобы железо могло реализовать это дело просто хароших компиляторов на разные платформы к сожалению не так уж много, сега то харошо в этом плане прошарена, а остальные все через одно место :-\ |
| totin:
sergi компиляторы должны быть нормальные, как минимум GCC под любой проц я думаю есть. думаю вполне можно пользоваться сеговским компилем для программ для ягуара, к примеру (там же вроди тоже м68к?). |
| sergi:
Там у сопроцессоров свои инструкции ну базовый код на M68K но сколько видал компиляторов - все интерфейс имеют хуже наверно нельзя придумать и в плане ягуара - там такая хрень, компиляторы есть но кривые код может и не работать потом или сбоить :-\ |
| totin:
да, кривой код и у сеги бывает, SGCC к примеру глюкавый. интерфейс у них наверно у всех одинакоый - мейкфайл и командная строка, я честно сказать ненавижу мейкфайлы, но чтоже поделаешь, от них никуда не деться (: правда иногда их любезно автоматом генерируют и можно в гуе все настройки производить. вообще если помчуаться и хорошо все настроить, прикрутить к любимой IDE то дальше просто кайф. я к примеру работаю с сегой через нетбинс или визуал студию, очень удобно |
| sergi:
Ну я с асмом работаю, но мне так проще и нужнее, т.к. хочу для себя много вещей понять но програмить можно и на асме, он особо от си мало отличается как таковой в плане различных математических действий вот сорс http://www.raregame.ru/file/Mr_Nutz_2_source_code_MD.zip кому нада - смотрите |
| totin:
сбосибо за серцы, взгляну как деды делали (: |
| 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 ---кстати, твой ДиджиталТрешер - вешь! (: --- Конец цитаты --- спасибо :) старался... :) |
| 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 (что-то не нашел у себя) --- Конец цитаты --- Это что? Ни разу не встречал, и в мануалах нету |
| Навигация |
| Главная страница сообщений |
| Следующая страница |