DreamShell 4.0 Beta 4 - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: DreamShell (/forum-3.html) +--- Форум: General Discussion (/forum-27.html) +--- Тема: DreamShell 4.0 Beta 4 (/thread-1370.html) |
RE: DreamShell 4.0 Beta 4 - SWAT - 16.01.2011 20:21 Мсье знает толк в извращениях... В принципе я узнал то что мне нужно из вашего кода, несмотря на главную ошибку, которую вы допустили оба PHP код: #include <stdlib.h> Поняли о чем я? RE: DreamShell 4.0 Beta 4 - sc_maxim - 16.01.2011 21:08 По моему задание, звучало как "запаковать строку вида #AABBCC", а не отдельные значения. А ты нам показываешь как паковать отдельные значения в одну переменную. Конечно вводя их как строку, но сохраняя в разные переменные... или ты хотел показать своим примером, что-то другое, что я не понял? Да, при моих знаниях... меня еще нельзя назвать программистом, не суди пожалуйста строго RE: DreamShell 4.0 Beta 4 - Rio - 16.01.2011 21:39 Цитата:Поняли о чем я?Поняли, но постановка задания была совсем другая... Цитата:По моему задание, звучало как "запаковать строку вида #AABBCC", а не отдельные значения.Вот именно... Сват, так что, мы приняты, или как? RE: DreamShell 4.0 Beta 4 - sc_maxim - 16.01.2011 21:49 Приняты иль не приняты, мне кажется, что все равно пока что лучше написать какой то толковый модуль или прогу, а потом сунутся в ядро.. тем более если там нет коментов, то это будет бесполезно или очень болезненно . SDK есть и это уже многое дает нам для начала работы, было бы желание, а так можно что хочешь сотворить на его основе. И параллельно вопрос: SWAT ты собирал компилятор для sh4 под MinGW, а то Cygwin как то медленно у меня пашет и выдает ошибки при компиляции? RE: DreamShell 4.0 Beta 4 - SWAT - 16.01.2011 22:25 В смысле другая?? Я запаковал строку в 32 бита, разве я не выполнил условие? Вообще то макрос PACK_RGBA как раз и пакует в одну переменную полученные цвета по отдельности, просто я сразу вывел значение принтом. Но и у меня был лишний код, вообще можно было сделать вот так: PHP код: int main(int argc, char **argv) { Можно спользовать функцию sscanf чтобы брать значение не из ввода, а из любой строковой переменной. Этим я хотел сказать что вы оба изобрели велосипед, хотя все это делается буквально одной функцией, которая входит в стандартную библиотеку stdlib. Я конечно понимаю что каждый хотел показать что он может много чего написать ) но в реальности это совсем не продуктивно. В любом случае начинайте с SDK, а дальше посмотрим. Я все компиляторы собираю под cygwin. RE: DreamShell 4.0 Beta 4 - sc_maxim - 16.01.2011 22:31 Блин.. Я уже делал подобное, когда то, только там была передача данных строкой по сети , а потом со строки числа нада было извлечь, и я же использовал тогда sscanf() Просто это было года два назад... вот что значит отсутствие практики - все забывается. Если соберу компил под MinGW то расскажу как, если кому будет интересно RE: DreamShell 4.0 Beta 4 - Rio - 16.01.2011 23:48 Постановка задачи звучала так: написать функцию, которая бы преобразовывала бы строку символов в упакованное 32 разрядное слово. Ты же выкинул нам макрос, который пакует в переменную 4 цифры, именно цифры, а не символа. Может мы и изобрели велосипед, ну так что ж теперь, вешаться что ли? Иногда и велосипеды изобретать полезно, для понимания смысла так сказать, и сути производимых действий. Тем более, я, как и sc_maxim, не тренировался уже в написании программ на си уже более как полугода, не говоря уже о том что я вообще как бы не программер (т.е. не работаю им по специальности), и считаю программирование лишь прикладной областью деятельности, а не какой-то там самоцелью или еще чего упаси боже смыслом жизни и т.п. Т.е. в рамках чисто применения - как решения инженерной задачи. А оптимизация там, варианты решения... Пусть этим соотв. люди занимаются. И, что означает это фраза, начинайте с SDK? Т.е. ты предлагаешь нам взяв SDK написать под Дримшелл какую-нибудь свою прикладную программу или модуль? Я так понимаю? Просто у меня щас немного трабла с недостатком идей, точнее есть одна, и очень хорошая, но боюсь ее весьма сложно будет реализовать. Тем более в рамках ресурсов приставки. ЗЫ. Если уж ты ходел увидеть от нас макрос, следовало задание дать так: написать макрос, пакующий в одну переменную длиной 4 байт 4 различных значения цветовой составляющей, но никак не строку. Тут ключевыми являются именно слова "макрос" и "строка". их как бы осторожно применять надо. А то получается требуется одно а надо совсем другое. А мы еще после и виноваты. Как такое назвать? ЗЫ2. Хоть и признаюсь, что мы оба (в особенности я) изрядно затупили. Могли бы действительно, все это красиво и лаконично одним сканэфом реализовать. Но идеальных людей не бывает, как и программеров, ведь так? PS3/ Чё т я не вижу нигде ссылку на SDK на сайте... может кто подскажет... RE: DreamShell 4.0 Beta 4 - Rio - 17.01.2011 00:04 Dreamshell SDK рулит.... // Pixel packing macro #define PACK_PIXEL(r, g, b) ( ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3) ) RE: DreamShell 4.0 Beta 4 - sc_maxim - 17.01.2011 00:04 Не стоит так нервничать. Несмотря ни на что опыт получен позитивный // Pixel packing macro #define PACK_PIXEL(r, g, b) ( ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3) ) это судя по всему макрос для запаковки 16-ти разрядного цвета, так как там биты не равно мерно распределены R5G6B5. Тут сканэфом не обойтись. RE: DreamShell 4.0 Beta 4 - Rio - 17.01.2011 00:09 Про опыт согласен)) А хз. Что значит неравномерное распределены? RE: DreamShell 4.0 Beta 4 - sc_maxim - 17.01.2011 00:13 я имел ввиду количество бит разное. на красный идет 5 бит, на зеленый 6 бит, так как глаз наиболее чувствителен к нему, ну и на синий тоже 5. RE: DreamShell 4.0 Beta 4 - Rio - 17.01.2011 00:15 А, ну так это уже не RGB а как раз R5G6B5, ну да, короч я понял. Так а все таки, где брать SDK и главное как его юзать. RE: DreamShell 4.0 Beta 4 - sc_maxim - 17.01.2011 00:31 Ну для начала ставишь среду для программинга под Дрим, я качал отсюда. Потом отсюда сам SDK. чтоб его юзать нужно как обычно подключать заголовки и использовать функции которые там описаны. В SDK даже есть примеры рабочего модуля и проги. При компиляции нужно подключать библиотеки из SDK стандартным для gcc способом. Я пока ниче не писал на SDK потому это все что я знаю. Думаю SWAT, если ему действительно нужны помощники, напишет более детально. RE: DreamShell 4.0 Beta 4 - Rio - 17.01.2011 00:39 Думаю да а что такое gcc?/Шось не грузится у меня Dreamshell на эмуле... не говоря уже про pс loader.. RE: DreamShell 4.0 Beta 4 - sc_maxim - 17.01.2011 01:08 GCC - это набор компиляторов (GNU Compilers collection), версия для процессора sh4 и arm, входит в тот пакет что я давал ссылку. Как с ним работать можешь почитать в инете. При программировании под KOS и DShell ты будеш юзать врапер, и большиство команд тебе не придется вручную прописывать. К примеру что-б скомпилить прогу которая использует библиотеку libSDL.a, тебе нужно будет написать что-то в таком роде: kos-cc -o sdl_proga.elf sdl_proga.c -lSDL ------------------------------------------ kos-cc - это врапер для sh-elf-gcc уже с нужными стандартными ключами -o - это ключ в котором указывается имя выходящего файла sdl_proga.elf sdl_proga.c - исходник нашей проги -lSDL - ключ говорящий, что нужно линковать нашу прогу с файлом libSDL.a Естественно что все команды нужно вводить в командной строке Cygwin, который ставится автоматом с того набора что я ссылку давал. Обычно конечно делается Makefile и вся прога собирается командой make, но так тоже можно. RE: DreamShell 4.0 Beta 4 - SWAT - 17.01.2011 10:46 (16.01.2011 23:48)Rio писал(а): Постановка задачи звучала так: написать функцию, которая бы преобразовывала бы строку символов в упакованное 32 разрядное слово. Ты же выкинул нам макрос, который пакует в переменную 4 цифры, именно цифры, а не символа. Может мы и изобрели велосипед, ну так что ж теперь, вешаться что ли? Иногда и велосипеды изобретать полезно, для понимания смысла так сказать, и сути производимых действий. Rio... Я просто сначала строку разобрал по цветам, потом макросом упаковал эти цвета в 32 бита... Результат: строка запакована в 32 бита. Во втором примере я сразу упаковал все цвета, причем без макроса. Разве я не выполнил условие? Оба раза я запаковал строку в 32 бита, а значит условие выполнено. Я вам не давал задачу на конкретную реализацию. На саму реализацию я то и хотел посмотреть, не важно будь то макрос, функция или полный алгоритм всех действий. Ты слишком буквально понял задание. Если ты привязался к слову "функция", то по сути должно было быть так: PHP код: uint32_t StrToRGBA(char *str) { Ну что, выполняет она мое условие? ) Ладно в общем, проехали RE: DreamShell 4.0 Beta 4 - SWAT - 17.01.2011 10:51 Собирается все с помощью Makefile. Заходите в папку с примером допустим, набираете make и он собирается. По другому вы не соберете, модули и команды собираются особым способом, поэтому сами написав команды gcc вы не соберете так как нужно. В SDK все настроено, вам нужно просто папочку с ним кинуть в папку с KOS. RE: DreamShell 4.0 Beta 4 - Rio - 18.01.2011 02:41 Сват а в Дримшелл АПИ есть поддержка MIDI? RE: DreamShell 4.0 Beta 4 - SWAT - 18.01.2011 07:30 Я как то не озадачивался таким )) А вообще попробуй через SDL_mixer, эта билиотека есть в DS и ее можно использовать везде (cmd/module/app). PHP код: typedef enum { MP3 она не поддерживает скажу сразу RE: DreamShell 4.0 Beta 4 - Rio - 18.01.2011 16:44 Сват, 5 утра ,я в шоке)) Сват, а там есть поддержка GDI? Ну чтобы рисовать можно было линии там всякие прямые прямо по контексту устройства? ЗЫ. А вообще документация - жжот)) Ни тебя ни описания ничего)) Ищи как хочешь)) Тупо h-файл в html сохранен)) Разделили бы хоть по разделам, где графика где звук где шо)) |