DC-SWAT Forum
помощь чайнику - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: Sega Dreamcast (/forum-2.html)
+--- Форум: Programming (/forum-8.html)
+--- Тема: помощь чайнику (/thread-1755.html)

Страниц: 1 2 3 4 5 6


RE: помощь чайнику - PVS - 16.12.2018 22:09

Так тут на сайте есть и более старые версии, GCC 4.7.3 Newlib 2.0.0 например, я вижу. Так что - спасибо, не нужно, тем более - твои под линукс64 собраны.

Обновить систему мне на этом старом ПК никак, да и смысла нет, тут 550МГц проц всего, начальный Пень3, а по сути - Пень2. У меня как основной ПК накрылся пару лет назад, так я до сих пор ленюсь его чинить, поставил свой древний на стол и хватает, для моих задач сегодня Smile

Нашел я песочницу с архивами cygwin, причем, почти с главной страницы cygwin туда можно попасть, а я лапух, не заметил, искал другими путями. Куча версий, сетапов, инструкции, там не то что для Win2K еще можно поставить - для Win9х даже, может кому пригодится:
http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html

Так что, варианты у меня есть еще, попробую потом через cygwin, может соберу.


RE: помощь чайнику - SWAT - 17.12.2018 15:45

(16.12.2018 19:01)PVS писал(а):  SWAT
Может у тебя сохранился архив с KOS около 2011 года? Я на 90% уверен, что фиг я соберу таким путём, но если вдруг - то не охота напороться еще на вопросы из-за нового KOS, мне вполне достаточно будет того состояния, как оно было у автора порта в 2011, его версии нормально работают на Дриме через Дримшел и сегодня.

Нет конечно, зачем мне это, я всегда последнюю использую Smile
4.7.3 считается последней стабильной версии для KOS. Но я использую более свежие версии так как они код делают компактнее и быстрее.


RE: помощь чайнику - PVS - 17.12.2018 22:02

Понятно, я нашел пока вот тут:
https://osdn.net/projects/sfnet_cadcdev/releases/

Есть 2.0.0 от 2013, почти то, что мне надо, хех
Только мне не понятна пока нумерация версий KOS, наверное - пофиг им на это. Между 1.3 и 2.0 - какой-то большой перерыв по времени, никто не занимался этим хобби в это время, наверное? Или там было много субверсий, ты в 2011 собирал архив gcc_4.5.2_newlib_1.19.7z на версии KOS 1.3 от 2005, не помнишь случайно? Я уже довольно близко к линковке, но думаю - на том этапе я и стану колом...


RE: помощь чайнику - SWAT - 18.12.2018 08:49

Из официального репозитория можешь выкачать то, что тебе надо. https://sourceforge.net/projects/cadcdev/
По поводу версии ты прав, между 1.3 и 2.0 пропасть, так уж сложилось. До версии 1.3 я так понял еще Дан там участвовал, после чего он забросил. А комьюнити потихоньку что-то там пилили иногда, а потом уже Краб решил версию поменять, так как изменения были уже существенны и не поддерживались уже другие железки (для справки, KOS изначально была еще под PS2 и вроде были зачатки под Cube).


RE: помощь чайнику - megavolt85 - 18.12.2018 17:22

PVS для чего вообще собираешь? что решил поменять в движке?


RE: помощь чайнику - PVS - 19.12.2018 04:14

megavolt85, так тут бесконечное поле для "творчества" и экспериментов, многие люди до сих пор помнят эту игру, возятся с ней, до сих пор делают новые карты, порты и пр. Ты, скорее всего, никаких воспоминаний к Думу не имеешь, чтобы я ни рассказывал, ничего интересного для тебя не будет. Но, по сути, конечно, это никому не надо, тем более - Дум на Дриме, это просто хобби для меня, а если хобби нравится, если интересно, то никогда человека не останавливают мелочи, что это не интересно всем остальным. Что я тебе рассказываю, ты, Сват, и другие люди тут - так же страдаете похожими, своими хобби, и не надо за это ни денег ни славы, главное - чтобы интерес, время на него, были в наличии.

По сути и без философии, в данном порте мне не нравится работа аналога на джое, он слишком чувствительный, при этом, там человек столько много настроек сделал на это, даже колибровка аналога, но всё равно, ничерта не могу настроить под себя, вот в nxDoom-е отлично и без настроек, а тут - нет. Центровка экрана не работает у меня на композите, хотел бы добавить режим 320х200 для композита, а лучше сразу - регулировку попиксельно в определенных пределах, из настроек, чтобы настраивалось под любой ТВ, на композите с этим бывают проблемы, правда совсем пока не знаю - возможно это тут или нет. Не всё нужное сохраняется сейчас в конфиг на VMU, нужно еще пару настроек туда сохранять, нужно добавить несколько важных (для меня) переменных командной строки Дума, которых сейчас тут нет. Сам движок немного рассинхронизирован с оригиналом, но гораздо лучше держит синхронизацию, чем nxDoom, это нужно еще попробовать найти. Синхронизация движка - позволяет ему проигрывать демки без десинка, сами демки - это отдельная тема, но некоторые люди страдают ей до сих пор. Берешь файл демки, весом в 1Мб, включаешь и смотришь полтора часа живой игры, прямо на движке, как человек проходит карты, проходит на скорость/макс/тайсон и пр., записал он это в 95-м, 2000-м и т.д., и не надо гонять тонны терабайт видео с ютуба, набивая карманы гугла, возьми пару-килобайтную демку Дума в архиве, будешь иметь то же самое, даже лучше, в любом разрешении. И т.д...

Сомневаюсь, что ты это все прочитаешь, но если да - то тогда тебе видно, что планы на это хобби у меня есть, но для этого, нужно ведь сначала собрать, хех. На линковке стал, как и предполагал, обжекты собрал с новым КОС, а линковать пытаюсь со старыми либами (или как они в юниксах называются там), нужно дальше пробовать, с более старыми КОС, только пока не нашел тех, с чем собирал Сват в 2011, по ссылке на сорсфорже, что он привёл - я уже смотрел раньше, там только 2.0 (2013) и сразу 1.3 (2005), в середине ничего нет, или я не вижу просто.


RE: помощь чайнику - SWAT - 19.12.2018 07:42

Так ты ищи в Old SVN Repo (там же ссылка на него есть), в нем все что было до 2012 года.
Что-то не припомню чтобы я Doom собирал в 2011...


RE: помощь чайнику - megavolt85 - 20.12.2018 00:08

(19.12.2018 04:14)PVS писал(а):  Ты, скорее всего, никаких воспоминаний к Думу не имеешь, чтобы я ни рассказывал

ну от чего же, воспоминания есть, но не такие яркие как от quake, ради которого был спаян нулл модемный шнурок, очень уж хотелось на двоих зарубиться Smile или quake2 но уже на PS1, там мы вчетвером рубились

(19.12.2018 04:14)PVS писал(а):  Дум на Дриме, это просто хобби для меня

ну это как раз таки понятно

(19.12.2018 04:14)PVS писал(а):  По сути и без философии........

ну вот собственно до вопроса и добрались Smile
лично моё мнение, всё это предварительное меню надо выкинуть нахрен, выглядит как не уклюжий костыль, настройкам место в самой игре, но никак не на чёрном экране с белыми буквами

(19.12.2018 04:14)PVS писал(а):  линковать пытаюсь со старыми либами (или как они в юниксах называются там),

так линкуй с новыми

(19.12.2018 04:14)PVS писал(а):  нужно дальше пробовать, с более старыми КОС

а нужно ли?

(19.12.2018 04:14)PVS писал(а):  в середине ничего нет, или я не вижу просто.

а в середине ничего нет и не было


RE: помощь чайнику - PVS - 20.12.2018 03:10

SWAT, я имел ввиду, что я беру твой архив gcc_4.5.2_newlib_1.19.7z, который ты собирал в 2011, может в начале 2012, судя по датам файлов там. Использую это в качестве отдельного компилятора со всей обвеской оттуда, т.е. все инклуды и библиотеки в качестве основных, а исходники KOS беру свежие, этого года, с гитхаба. Пытаюсь собрать этот Дум таким образом, обжекты компилируются почти нормально, а на линковке - не получается, не линкуются такие обжекты теми старыми библиотеками из архива, я предполагаю, что из-за нового КОС это может быть.

Уже проверил этот момент, взял KOS 2.0.0 (2013) и компиляторы уже из этого архива gcc_4.7.3_newlib_2.0.0_cygwin.7z, на сколько понимаю - тут должно быть равнозначно, такой проблемы не должно быть. Попробовал, то же самое имею, линковка не идёт совсем. Не верно понимаю задачу получается, не так собираю...

Ребят, я прикрепляю свой лог целиком (вместе с мейкфайлом этого Дума), тут компиляция и видна сразу остановка на линкове, одни ошибки, всё undefined. Если будет минутка посмотрите, может что посоветуете. Я вот думаю, может я каких параметров не дал нужных, на компиляцию и линковку, мне ведь это нужно вручную прописать, готового окружения у меня нет.

megavolt85, может у тебя сохранился твой лог сборки? Мне чем подробнее, тем лучше, может я там что увижу, мысли появятся.


RE: помощь чайнику - megavolt85 - 20.12.2018 03:30

Код:
g++.exe -L../../Compilers/SH4KOS2013/lib -o ../bin/DoomDC.bin

ну как бы это уже не соответствует твоему Makefile

во первых откуда там взялся g++
во вторых откуда DoomDC.bin, на выходе будет elf, а bin появится уже после objcopy
ну и наконец я не вижу чтоб в тот же g++ передавались lib

Код:
make
rm -f DCDoom.bin *.bin *.elf
kos-cc  -c doomdef.c -o doomdef.o
kos-cc  -c doomstat.c -o doomstat.o
kos-cc  -c dstrings.c -o dstrings.o
kos-cc  -c dc_system.c -o dc_system.o
kos-cc  -c dc_sound.c -o dc_sound.o
kos-cc  -c mus2mid.c -o mus2mid.o
kos-cc  -c aica.c -o aica.o
kos-cc  -c dc_video.c -o dc_video.o
kos-cc  -c dc_net.c -o dc_net.o
kos-cc  -c dehacked.c -o dehacked.o
kos-cc  -c tables.c -o tables.o
kos-cc  -c f_finale.c -o f_finale.o
kos-cc  -c f_wipe.c -o f_wipe.o
kos-cc  -c d_main.c -o d_main.o
kos-cc  -c d_net.c -o d_net.o
kos-cc  -c d_items.c -o d_items.o
kos-cc  -c g_game.c -o g_game.o
kos-cc  -c m_menu.c -o m_menu.o
kos-cc  -c m_misc.c -o m_misc.o
kos-cc  -c m_argv.c -o m_argv.o
kos-cc  -c m_bbox.c -o m_bbox.o
kos-cc  -c m_cheat.c -o m_cheat.o
kos-cc  -c m_random.c -o m_random.o
kos-cc  -c am_map.c -o am_map.o
kos-cc  -c p_ceilng.c -o p_ceilng.o
kos-cc  -c p_doors.c -o p_doors.o
kos-cc  -c p_enemy.c -o p_enemy.o
kos-cc  -c p_floor.c -o p_floor.o
kos-cc  -c p_inter.c -o p_inter.o
kos-cc  -c p_lights.c -o p_lights.o
kos-cc  -c p_map.c -o p_map.o
kos-cc  -c p_maputl.c -o p_maputl.o
kos-cc  -c p_plats.c -o p_plats.o
kos-cc  -c p_pspr.c -o p_pspr.o
kos-cc  -c p_setup.c -o p_setup.o
kos-cc  -c p_sight.c -o p_sight.o
kos-cc  -c p_spec.c -o p_spec.o
kos-cc  -c p_switch.c -o p_switch.o
kos-cc  -c p_mobj.c -o p_mobj.o
kos-cc  -c p_telept.c -o p_telept.o
kos-cc  -c p_tick.c -o p_tick.o
kos-cc  -c p_saveg.c -o p_saveg.o
kos-cc  -c p_user.c -o p_user.o
kos-cc  -c r_bsp.c -o r_bsp.o
kos-cc  -c r_data.c -o r_data.o
kos-cc  -c r_draw.c -o r_draw.o
kos-cc  -c r_main.c -o r_main.o
kos-cc  -c r_plane.c -o r_plane.o
kos-cc  -c r_segs.c -o r_segs.o
kos-cc  -c r_sky.c -o r_sky.o
kos-cc  -c r_things.c -o r_things.o
kos-cc  -c w_wad.c -o w_wad.o
kos-cc  -c wi_stuff.c -o wi_stuff.o
kos-cc  -c v_video.c -o v_video.o
kos-cc  -c st_lib.c -o st_lib.o
kos-cc  -c st_stuff.c -o st_stuff.o
kos-cc  -c hu_stuff.c -o hu_stuff.o
kos-cc  -c hu_lib.c -o hu_lib.o
kos-cc  -c s_sound.c -o s_sound.o
kos-cc  -c z_zone.c -o z_zone.o
kos-cc  -c info.c -o info.o
kos-cc  -c sounds.c -o sounds.o
kos-cc  -c dc_main.c -o dc_main.o
kos-cc  -c dc_vmu.c -o dc_vmu.o
kos-cc  -c reqfile.c -o reqfile.o
kos-cc  -c danzeff/danzeff.c -o danzeff/danzeff.o
kos-cc  -c danzeff/pspctrl_emu.c -o danzeff/pspctrl_emu.o
kos-cc  -c m_fixed.c -o m_fixed.o
kos-cc  -c m_swap.c -o m_swap.o
kos-cc  -c debug_dc.c -o debug_dc.o
/opt/toolchains/dc/sh-elf/bin/sh-elf-gcc -O2 -fomit-frame-pointer -ml -m4-single-only -ffunction-sections -fdata-sections -I/home/megavolt/dreamcast/kos/../kos-ports/include -I/home/megavolt/dreamcast/kos/include -I/home/megavolt/dreamcast/kos/kernel/arch/dreamcast/include -I/home/megavolt/dreamcast/kos/addons/include -D_arch_dreamcast -D_arch_sub_navi -Wall -g -fno-builtin -fno-strict-aliasing -DNORMALUNIX -DUNROLL -Diabs=abs -DDANZEFF_KOS  -ml -m4-single-only -Wl,-Ttext=0x8c010000 -Wl,--gc-sections -T/home/megavolt/dreamcast/kos/utils/ldscripts/shlelf.xc -nodefaultlibs -L/home/megavolt/dreamcast/kos/lib/dreamcast -L/home/megavolt/dreamcast/kos/addons/lib/dreamcast -L/home/megavolt/dreamcast/kos-ports/lib -o DCDoom.elf  \
    doomdef.o doomstat.o dstrings.o dc_system.o dc_sound.o mus2mid.o aica.o dc_video.o dc_net.o dehacked.o tables.o f_finale.o f_wipe.o d_main.o d_net.o d_items.o g_game.o m_menu.o m_misc.o m_argv.o m_bbox.o m_cheat.o m_random.o am_map.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_plats.o p_pspr.o p_setup.o p_sight.o p_spec.o p_switch.o p_mobj.o p_telept.o p_tick.o p_saveg.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o w_wad.o wi_stuff.o v_video.o st_lib.o st_stuff.o hu_stuff.o hu_lib.o s_sound.o z_zone.o info.o sounds.o dc_main.o dc_vmu.o reqfile.o danzeff/danzeff.o danzeff/pspctrl_emu.o m_fixed.o m_swap.o debug_dc.o -lWildMidi -lpng -lm -lz  -Wl,--start-group -lkallisti -lc -lgcc -Wl,--end-group
/opt/toolchains/dc/sh-elf/bin/sh-elf-objcopy -O binary -R .stack DCDoom.elf DCDoom.bin



RE: помощь чайнику - PVS - 20.12.2018 21:46

Спасибо, по твоему логу на сборку - вижу, что я и половины нужных параметров не задал, потому как - не видел их, из мейкфайлов могу только по интуиции взять часть информации, что и сделал, линуксовые программы я не собираю под виндой, это первый раз.

Основное, что понял - похоже я пытаюсь линковать без библиотек КОС, потому как думал, что у Свата в этих архивах все уже собрано, компиляторы, нужные библиотеки, и КОС-а в том числе, уже есть, в папках lib. Почему и говорил, что у него там собрано в 2011 с тем КОС, а я буду пытаться использовать свежие обжекты.

megavolt85, так вот тут у меня ничего нет:
-L/home/megavolt/dreamcast/kos/lib/dreamcast -L/home/megavolt/dreamcast/kos/addons/lib/dreamcast -L/home/megavolt/dreamcast/kos-ports/lib
т.к. думал, что они в либах в том архиве, я же эти библиотеки не знаю, даже как называться должны. Сейчас посмотрел по твоим параметрам - все эти параметры в этой песочнице кос, в Makefile.rules, environ_base.sh и пр., связаны особыми правилами, ясно, завяз я тут по самые уши, похоже... Мне еще нужны для этого Дума WildMidi, png, z, это что-то из kos-ports, похоже, что за либ z, только не понятно.

Если сможешь - скинь мне список либов Коса в этих папках, или скинь их архивом, чтобы я хоть посмотрел ни них, на названия. Попробовал сейчас собрать просто WildMidi отдельно, настройки проекта сбросил - компиляции опять нет, возможно - нужно что-то из коса первым собирать, определенный порядок сборки всего, что прописано в мейках и прочих файлах, текстовиках. В общем, я понял, попробую разобраться с КОС, но врятле соберу что-то и верно, а на основе этого - еще и Дум следом. Если бы видел это с самого начала - не полез бы в эту песочницу, тут до редактирования Дума то фиг добраться, сборка это не интересно совсем, хех


RE: помощь чайнику - megavolt85 - 22.12.2018 02:57

(20.12.2018 21:46)PVS писал(а):  megavolt85, так вот тут у меня ничего нет:
-L/home/megavolt/dreamcast/kos/lib/dreamcast -L/home/megavolt/dreamcast/kos/addons/lib/dreamcast -L/home/megavolt/dreamcast/kos-ports/lib

конкретно тут у тебя ничего и не должно быть, этот путь берётся из переменной KOS_LIB_PATHS

вот тебе все либы, только учти что я их собирал gcc 5.2.0 и это последний KOS с небольшим исправлением, чтоб G1 не блокировалась даже если установлен кастомный BIOS

https://yadi.sk/d/upypk9AUYBAEgQ


RE: помощь чайнику - developer - 26.12.2018 16:49

На чем вы его запускаете, на реальном железе или эмуле? Собрал, запустил в lxdream, страшное черное меню отображается, но при входе в игру виснет на черном экране. Андроидный reicast вообще падает

К слову не надо там никаких танцев со старым kos, собирал все на относительно свежем. Будет две мелких ошибки, которые в целом несложно исправить


RE: помощь чайнику - megavolt85 - 26.12.2018 17:23

(26.12.2018 16:49)developer писал(а):  На чем вы его запускаете, на реальном железе или эмуле?

у меня и на эмуле и на консоли запускается, но виснет как только немного походишь

(26.12.2018 16:49)developer писал(а):  К слову не надо там никаких танцев со старым kos, собирал все на относительно свежем. Будет две мелких ошибки, которые в целом несложно исправить

ты какую версию собирал? если из моего поста, то понятно что собирается без ворнингов, я всё пофиксил


RE: помощь чайнику - developer - 26.12.2018 19:15

(26.12.2018 17:23)megavolt85 писал(а):  ты какую версию собирал? если из моего поста, то понятно что собирается без ворнингов, я всё пофиксил

Собирал вот из этого поста, там ворнингов много, и пару ошибок. Собирал с 8.2.0, чисто проверить работу компилятора

(12.12.2018 23:03)PVS писал(а):  Ребят, может кто проверить - собирается ли этот DoomDC:
http://dcemulation.org/1-newsdump/ports/doom4dc/DCDoom1.5b1.7z



RE: помощь чайнику - megavolt85 - 26.12.2018 19:55

попробуй эту собрать


RE: помощь чайнику - PVS - 27.12.2018 01:25

developer
Запускаю его на Дриме, но кой он мне здался на ПК-эмуле, у меня ПК-виндовых проектов подобных Думов и так хватает, для хобби.
Черный экран при запуске - может ты запуск не настроил правильно? В комплекте у него идёт только демо/шараварный вад Дум1 (doom1.wad), для тестов достаточно, но его нужно выбрать вручную через то "страшное" меню, а потом уже запускать, иначе - порт выходит обратно.

Я нашел КОС 2011 года, просто хочу именно так собрать, не обращайте внимания на это, в конце концов - другие порты Дума под Дрим - собраны вообще в 2002, с тамошними КОС и компиляторами, и ничего, работают. Сам порт компилируется у меня нормально, я слинковать не могу, т.к. для начала хотя-бы - нужно разобраться с КОС, собрать его библиотеки, что не могу осилить никак.

Задам странный вопрос, наверное, при сборке под линуксом, никак не задаётся - тип собираемого файла? Исполняемый ли он, статическая/динамическая эта библиотека, и пр.? Что-то не вижу я это по мэйкам нигде.

Или вот еще, пробую собрать libpng из kos-ports, в readpng.h вот это:
Код:
uint8 *readpng_get_image(void * strs, uint32 *pNumChannels,
                       uint32 *pRowBytes, uint32 *pWidth, uint32 *pHeight);

Как это может быть в сишном проекте? Это же плюсовая декларация, на сколько я понимаю, конечно. Все правильно, что сишный компилятор у меня это не пропускает, как вы собираете это, я без понятия...


RE: помощь чайнику - megavolt85 - 27.12.2018 02:29

(27.12.2018 01:25)PVS писал(а):  другие порты Дума под Дрим - собраны вообще в 2002, с тамошними КОС и компиляторами, и ничего, работают.

работают, но код не менее оптимизирован и как следствие страдает производительность

(27.12.2018 01:25)PVS писал(а):  Сам порт компилируется у меня нормально, я слинковать не могу, т.к. для начала хотя-бы - нужно разобраться с КОС, собрать его библиотеки, что не могу осилить никак.

так я тебе дал все библиотеки, просто подсунь их линковщику и всё

(27.12.2018 01:25)PVS писал(а):  Это же плюсовая декларация, на сколько я понимаю, конечно.

с чего ты так решил? обычная сишная декларация


RE: помощь чайнику - developer - 27.12.2018 03:33

(26.12.2018 19:55)megavolt85 писал(а):  попробуй эту собрать

Собрал твой, предупреждений меньше но еще есть. В основном ругается на объявленную и не используемую константу rcsid в каждом файле, но есть и другие места. Поведение в эмуле такое же, виснет на запуске

(27.12.2018 01:25)PVS писал(а):  Задам странный вопрос, наверное, при сборке под линуксом, никак не задаётся - тип собираемого файла? Исполняемый ли он, статическая/динамическая эта библиотека, и пр.? Что-то не вижу я это по мэйкам нигде.

Это обычно задается вызовом gcc утилит в мейкфайле, так например для сборки статичной либы это обычно вызов архиватора ar. А например, в том же Doom исполнимый файл формируется через objcopy. Поддерживаемые форматы зависят от платформы, список можно посмотреть, вызвав с параметром --help. Я так понимаю, детектирование, в каком формате генерить бинарник определяется по расширению

(27.12.2018 01:25)PVS писал(а):  Или вот еще, пробую собрать libpng из kos-ports, в readpng.h вот это:
Код:
uint8 *readpng_get_image(void * strs, uint32 *pNumChannels,
                       uint32 *pRowBytes, uint32 *pWidth, uint32 *pHeight);

Как это может быть в сишном проекте? Это же плюсовая декларация, на сколько я понимаю, конечно. Все правильно, что сишный компилятор у меня это не пропускает, как вы собираете это, я без понятия...

Чет по этой сигнатуре не вижу ничего, почему бы ему быть c++ кодом


RE: помощь чайнику - megavolt85 - 27.12.2018 05:35

(27.12.2018 03:33)developer писал(а):  В основном ругается на объявленную и не используемую константу rcsid в каждом файле, но есть и другие места.

о как, а 5,2,0 не материться вообще, за исключением двух deprecated функций

(27.12.2018 03:33)developer писал(а):  Поведение в эмуле такое же, виснет на запуске

что то с 8,2,0 не то, попробуй оптимизацию понизить -O1
я кстати пробовал с -O0, думал перестанет в игре виснуть, но только хуже стало, fps упал, при этом как висло после пройденного некоторого расстояния так и виснет, причём одинаково что на lxdream что на железе