EVO SDCC/SDK TS-Conf edition

CALL'ы и RET'ы

Postby amixgris » Fri, 01.11.2013 08:32:29

Sergey78 wrote:Сделал версию EVO SDK для ТС конфы.

Смеха ради переделал на SDCC v.3+,
Подавляющее большинство проектов нормально собирается (правда, существенно медленнее, чем на v.2x), и даже(!) работает потом.
В чем профит, честно, не знаю. XD

Но вот "проект Робо" не компилится. Затыкается на ошибке, что не может зарезервировать память для переменной "неизвестного размера" iTemp17, iTemp21.
Сергей, глянь, пожалуйста, в чем причина, и как фиксить.

Прилагаю модифицированную папочку "evosdk" (только измененные файлы) для экспериментов.
Attachments
evosdk_3x.zip
(2.24 MiB) Downloaded 356 times
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby g0blinish » Fri, 01.11.2013 09:35:30

народ, нумеруйте версии пожалста, я уже заблукал в массе сдк..
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby amixgris » Fri, 01.11.2013 09:58:12

g0blinish wrote:народ, нумеруйте версии пожалста, я уже заблукал в массе сдк..

Нету пока никаких версий.
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby Sergey78 » Fri, 01.11.2013 10:19:23

amixgris wrote:Подавляющее большинство проектов нормально собирается (правда, существенно медленнее, чем на v.2x), и даже(!) работает потом.

Robo собирался 10,5 минут. Слишком долго. И работает неправильно, не инициализируются глобальные переменные.
amixgris wrote:Затыкается на ошибке, что не может зарезервировать память для переменной "неизвестного размера" iTemp17, iTemp21.

Компилятор вот это не осилил:
Code: Select all
u8 musnames[][]={{MUS_LONG_PATH_TEMPO_CUT,MUS_ROBO4_,MUS_DREAMOFMERMAID2012},{MUS_ROBO4_,MUS_ROBO2},{MUS_ROBO4,MUS_ROBO2}};

Вот так собирается:
Code: Select all
static const u8 musnames[3][3]={{MUS_LONG_PATH_TEMPO_CUT,MUS_ROBO4_,MUS_DREAMOFMERMAID2012},{MUS_ROBO4_,MUS_ROBO2,MUS_ROBO2},{MUS_ROBO4,MUS_ROBO2,MUS_ROBO2}};
Sergey78
 
Posts: 422
Joined: Wed, 05.09.2012 20:04:40

Postby amixgris » Fri, 01.11.2013 12:23:54

Sergey78 wrote:Компилятор вот это не осилил:

Получается, что он не развивается, а деградирует?! - Афигеть!
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby Sergey78 » Sat, 02.11.2013 18:23:34

В общем SDCC 3.3.0 код получше, чем 2.9.0 делает. Но с такой скоростью компиляции им пользоваться неудобно.
Sergey78
 
Posts: 422
Joined: Wed, 05.09.2012 20:04:40

Postby TS-Labs » Sat, 02.11.2013 20:05:31

Там придумали вундервафлю peep-optimizer, которая ищет паттерны, годные для замены на более оптимальный код. Ясное дело, внесли еще в 3 раза больше багов, чем без него. Сами авторы советуют в случае чего его отключать.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby krossvas » Sun, 03.11.2013 01:40:26

Впилите вон для хиппимана загрузку/сохранялку.
krossvas
 
Posts: 373
Joined: Fri, 18.10.2013 00:00:48

Postby brightentayle » Thu, 14.11.2013 18:22:51

Блейд, я тут всё жду не дождусь СДК с нормальной поддержкой TS-Conf. ._.
ФЛАУНДЕР КАНАЛА
User avatar
brightentayle
 
Posts: 234
Joined: Mon, 12.08.2013 14:53:09

Postby Sergey78 » Thu, 14.11.2013 18:51:08

А насколько нормальная? Тайловые плоскости нужны?
Sergey78
 
Posts: 422
Joined: Wed, 05.09.2012 20:04:40

Postby brightentayle » Fri, 15.11.2013 17:03:29

Если уж честно... Не имею ничего против! :D
ФЛАУНДЕР КАНАЛА
User avatar
brightentayle
 
Posts: 234
Joined: Mon, 12.08.2013 14:53:09

Postby TS-Labs » Fri, 15.11.2013 20:52:31

brightentayle wrote:Не имею ничего против! :D

Нужно дизайн продумать что и куда добавлять. Просто "взял и добавил" - это потом куча костылей для соблюдения кривой совместимости.
Т.е. я вижу это как расширение существующего АПИ отдельными функциями по образу и подобию старых.
Какие именно функции - ап ту Blade, ящитаю.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby amixgris » Sun, 20.04.2014 16:55:31

Sergey78 wrote:Сделал версию EVO SDK для ТС конфы.

Немного оптимизировал библиотеку EVO SDK:
вместо одного большого rel-файла, который целиком линковался в компилируемую программу, - сделал один большой lib-файл, состоящий из кучи мелких rel-файлов, из которых в конечную программу линкуются только те, которые в ней задействованы.
На игре XNX, например, выигрыш составил целых 226 (Двести двадцать шесть) байт.
Прилагаю архив. Более подробно всё описано в read_me.

Замечания и критика приветствуются.

PS.
Я использую SDCC v3.4. Но либу можно юзать на любой версии. А чтобы пересобрать на SDCC 2.9x, надо поправить батничек в части crt0.s и сборки библиотек, не sdar, а sdcclib(?).

PPS.
Добавляю в SDK TR-DOS-функции - Нашел куски под код: 1кб и 255 байт (высвободилось в связи с похериванием таблицы прерываний). Надеюсь этот кусок ниоткуда не пользуется. Потому что, если пользуется, то таким программерам бы руки повырывать! :)

ЗЗЗЫ.
для профита evo.lib из evolib_src/ надо скопировать в evosdk/ :)
Attachments
ts_evo_lib_src.zip
(15.54 KiB) Downloaded 320 times
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby TS-Labs » Sun, 20.04.2014 17:19:33

SDCC после 2.9 - лютый ахтунг.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby amixgris » Sun, 20.04.2014 18:38:35

TS-Labs wrote:SDCC после 2.9 - лютый ахтунг.

Мммм, как это будет сказать по-русски фиинно-угорски, - мммм... - нам похуй! -вот (С.Шнуров) :))))
геймы работают. А, значит, не так страшен чьорт, як его малютко! :))))
Last edited by amixgris on Sun, 20.04.2014 18:42:48, edited 1 time in total.
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby TS-Labs » Sun, 20.04.2014 18:41:20

Понимаешь ли. Оно похуй до тех пор, пока ты не проебешь час на поиск нерабочего кода. Мне хватило 2 раз.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby amixgris » Sun, 20.04.2014 18:45:18

TS-Labs wrote:Понимаешь ли. Оно похуй до тех пор, пока ты не проебешь час на поиск нерабочего кода. Мне хватило 2 раз.

Здарово, дружищще!
Я ж не такой продвинутый в Сях, как ты, - я на такое никогда не нарвусь.
Как говорится, зубов бояться - ... не давать. Не факт, что на 2.9 на что-нибудь не нарвёшься. ;) Мы, финно-угоры, народ рисковый :))))

Кому надо для 2.9 пусть оторвет неаотрвыет попу от стула и пилит - я заи..лся. :)
Last edited by amixgris on Sun, 20.04.2014 18:54:47, edited 1 time in total.
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby Sergey78 » Sun, 20.04.2014 18:54:44

Полчаса на компиляцию программы из 10 строк не напрягают?
Sergey78
 
Posts: 422
Joined: Wed, 05.09.2012 20:04:40

Postby amixgris » Sun, 20.04.2014 18:57:08

Sergey78 wrote:олчаса на компиляцию программы из 10 строк не напрягают?

Я по жизни тормоз, - я этого даже не замечаю.

Переделай батники под 2.9 да и всё.
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby TS-Labs » Sun, 20.04.2014 19:17:47

amixgris wrote:Я ж не такой продвинутый в Сях, как ты, - я на такое никогда не нарвусь.

a = (а == 15) ? 0 : а + 1;
Где 0, например, в регистр вообще не грузится. Ну или типа такого. Т.е. код абсолютно тривиальный.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby amixgris » Sun, 20.04.2014 23:26:42

TS-Labs wrote:a = (а == 15) ? 0 : а + 1;

Слава богу, такое в новой версии вообще не компилится: syntax error: token -> "==" ; column 10
:)
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby TS-Labs » Sun, 20.04.2014 23:40:59

amixgris wrote:такое в новой версии вообще не компилится

Еще бы ему компилиться, когда 2 из 3 букафф "а" - русские. Буфер обмена рулит! :ok2:
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby amixgris » Mon, 21.04.2014 00:06:49

TS-Labs wrote:Еще бы ему компилиться, когда 2 из 3 букафф "а" - русские. Буфер обмена рулит!

:)
Ноль же там после проверки получается, т.к. проверка у них делается с помощью SUB, a не CP.
Code: Select all
;tsl1.c:3: return (a = (a == 15) ? 0 : a + 1);
   ld   hl, #2+0
   add   hl, sp
   ld   a, (hl)
   sub   a,#0x0F   ; <--
   jr   NZ,00103$
   ld   l,a           ; <--
   ret
00103$:
   ld   iy,#2
   add   iy,sp
   ld   l,0 (iy)
   inc   l
   ret
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

Postby TS-Labs » Mon, 21.04.2014 00:27:31

Эту багу я репортил в 3.3 и ее пофиксали. Я привел просто как пример русской рулетки.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby amixgris » Mon, 21.04.2014 00:46:53

TS-Labs wrote:Эту багу я репортил в 3.3 и ее пофиксали. Я привел просто как пример русской рулетки.


Слушай, а ты не мог бы им написать, чтобы они добавили опцию для выравнивания данных (всех) на четный адрес?
User avatar
amixgris
 
Posts: 161
Joined: Mon, 30.07.2012 03:22:48
LOCATION: Самара

PreviousNext

Return to Coding

Who is online

Users browsing this forum: No registered users and 1 guest

x