Дневник разработчика эльфов Дневник разработчика эльфов (c)bn
См. с конца.
Часть 1.

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

Поскольку я уже прошел свою эльфийскую тропу,
выкладываю здесь эльфийскую переписку с Dimens+,
все то, чем я жил последние пол года.
Представлено как выдержки из писем.


----------
14.10.06
чо-то мне не нравится сообщ. из sega:
все работает (эмуль сега) ок на моем покет 530 МГц sound on frameskip 3
530 многовато для нас
тем более 3 кадра пропуск у него :(
надеюсь что музыка жрет очень много ресурсов
не хотелось бы переписывать все ядро на асм :(
ладно, продолжим

уже наглые юзеры просят сорцы неса чтобы глумиться над ним по-своему
а потом наделают ляпов и в списке разрабов останется [skip] и др.
(как с рар патчем - см. на кибаб, о нас ни слова)
в инете полно сорцов - берем и делаем ручками...
посылаю нах.

См. сайты по смартам :)
sega кстати у них без звука. пишут:
откл. звук т.к. типа глючит
так что будет как у нас :)

Там еще популярны эмуляторы (а я думал уже все): под
морфус, n-gage, sis(симба), mgs(или как-то еще?)
в конец плана

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

Basic в конец списка - сначала готовые порты

Не помню это тебе отсылал или нет :(
DOS бум делать на си а не асм, т.к.
1. уже есть сорцы :)
2. чисто на регитрах не удастся, т.к. проверять кучу флагов: четности,
переполнения, нуля и т.п.
(занимает много времени, но обойти низя) префиксов и т.п.
3. потом тормозные участки подточим на асм (так обычно делают всегда:)
4. хороший си код ненамного тормознее (а ИАР способен на многое)
5. 386+ эмуляция под большим сомнением (даж на палмах не сделали), а 286
потянет полюбому

Насчет DOS т.к. места проги занимают много появилась задумка:
пакуем все нужные файлы в один архив zip, в него же autorun.ini
с именем стартового exe, переименовываем н-р в .dos и:
dos:0:\ZBin\dos.elf
соответственно наш эльф все распак-т и запускает exe
как идея?

фишка именно в распаковке по частям (т.е. части файла что требует exe)
а то нам на наших флешках не поиграть ни во что будет (не влезет):
по-другому не знаю как реализовать
будет понимать и обычные .com .exe (см. по началу файла)

тестил z80 fps:
на 20 уже заметные подтормаживания (не забываем что перерис.экрана через
порты - могут тормозить)
сами данные экрана столько не перерис. так что оптимально 5 - 10 fps (их и
сделал в настройках)
заодно покрутил прерывания - слишком часто тож тормозят, вообщем теперь есть
куча настроек
наверно перепишу вывод на экран на асм, т.к. часто выполняется 10раз/c
готовлю финал версию
посмотрю насколько ускорится

SEGA GenPP один претендент (сложновато)
собираюсь заняться (веду сразу 2 проекта, т.к. иногда бывают "остановы"
в одном и пока делаешь др. придумываешь выход:)

>SNES snes9x имхо НЕРЕАЛЬНО т.к. треб-я 600МГц П3 64 мб рам и притом сам
наполовину написан на асм
эт я перепутал с nintendo64
счас думаю что реально т.к. музыка там жрет дофига а ее не делаем :(

>PS Компиляция нес: errors: 699
вот были трудные времена
--------
Насчет mobilecu:
что-то (глядя на пр-ры) я подозреваю народ в массе своей 95% не дорос до си
и тем более делать его на мобиле и тем более под эльфы (кои редко у кого
стоят) ИЗВРАЩЕНИЕ
потом эльфы нужны для высокой скорости - значит 3д - значит кодеры опытные -
есть комп - нафига эльф?
3д фиг кто потянет, а несложные алгоритмы и на basic можно сделать (ну
добавим туда указателей)
так что mobilecu closed, mobilebasic open. С java я ушел. :)
- мобилси займет время (очень много), которое так нужно для sega и др.
Редактор для него (java) сделал супер, выложу отдельно
---------
13.10.06
ROM mapper вставил из fceu около 16, осталось еще 75 :(
Если думаешь что это так легко могу выслать один для примера :)
Проблемы с джойстиком на многих больших играх,
например когда в double dragon2 нажимаю вправо идет влево, получает п. :)
и сначала - не знаю с чем связан глюк - мож 2й джойстик прикрутить?
Ты родную игру из vnes запускал? что там нужно жать чтоб играть
после надписи джойстик1.2 У меня не получается :(
Скорость ох..я, после эльфа на vnes уже и не смотришь - тормозззз
конечно не 30 fps - меньше
fps пропуск кадров стоит 0 (т.е. нет)
прошел марио пару уровней - ниче так, только джойстиком неудобно -
одноврем. вправо и прыгнуть на нем не получается
Скорость могу поднять раза в 2-3 :)
константой :)))
позже сделаю в меню...как и c65 опцию
(т.к. функции width() height() экрана до сих пор не сделали :(

Далее в планах: sega, snes, gboy, dos :)
сорцы ВСЕ есть
---------
> > скоро буду делать sega :)
УЖЕ перехожу :)
следующая в плане
далее snes
пока жду отчетов по нес

> > Нашел snes эмуль который идет на 486
> > так что snes сделать можно
> ну это даже очень хорошо! Правда ромы для snes немалые...
до 2 мег наши пойдут
но snes напотом - что-то сложноват он
графику из ромов распак. в память - может не хватить ее :(
создает какие-то табл. в памяти для ускорения поворотов и т.п.
вообще портировать мне СЛОЖНО - много тонкостей и несоответствий, 0 отладка

сега жрет ресурсов много больше nes,zx (2 проца)
nintendo64 отменяется (треб-я читал?)

---------
11.10.06
Сделал 1ю версию NES из Java кода vNES! :)
НЕ ПОШЛА! :((((
Два дня копал греб. обфускатор код
переменные длиной 20 символов (мусор) отличаются 1 знаком - РАЗДРАЖАЕТ
Не нашел - ЗАБИЛ! :(
А как найти не зная код наобум?
Взял ansi C код nes9x (крутой проект)
Начал заново...
не люблю править ~20-100 файлов Бррррррррррррр
Исправлений очень много - компилируешь - 70 ошибок
исправил - опять 70 - повторить 100 раз :(
Работает! Ура!!!!
Но виснет при выходе (вынимать аккум)
+ недоделки: палитра, какие-то кривые спрайты, мало мапперов и т.п - правлю
главное пошел основной код
Мапперы ромов есть но не подключены почему-то
написано чтоб детишки глаза не портили :?
буду делать позже
даже без пропуска кадров летает: fps 10-20 где-то
rp даже рядом не стоял

PS На форуме завели флуд мож наказать кого ?

Нашел snes эмуль который идет на 486
так что snes сделать можно

Пришли nes ром танчиков и еще небольших штуки 3 пожалуйста
для тестов!

------
только что доделал un7z.elf
как он меня ЗАДОЛБАЛ!!!
эти му...и опять сменили структуру распаковщика (java один, си другой)
знал бы гнал бы с javы
вообщем что-то у них там лабуда полная
еле продрался через лес
солид архивы как и раньше все в один файл ;(
ну и пофиг
иду к нес!

> Хых... прямо это что-то с чем-то: в денди, по которой несколько лет назад
> я сходил с ума (да и пол-посёлка, в то время как вторая смотрела на нас
> свысока со своими сега-мега-драйв) теперь вскоре будет вполне реально
> погамать на мобильном телефоне среднего класса, который уже никому в
> конкуренцию не ставится... А крутые моторольщики и сонериковцы тихо рыдают
> в сторонке... :)))))
моторольщики со..т!!! и сонерики с ними!

segу сделаем тоже (после nes и gb)

скоро по числу сделанных эльфов выйду на второе место после Rst7

в поте лица точу нес
-------------------------
09.10.06
> НУ как там нес?
никак пока :(
вчера разгребал сорцы выбирая какой лучше
позовчера на форумах и почте провел весь день
сегодня доделываю un7z чтоб не отвлекал
завтра мож займусь

> ОС телефона - нафиг! Будем писать свою!!! :))) Монопольное использование 6
> метров памяти - уср*ться можно!!!!
ос писать без меня :(

> > вот теперь если в планах эмуль x86 дум не делать что ли?
> Вот смешно получится, когда у нас дум слижком быстро будет идти... :))))
нет, будет еле тянуть т.к. подгрузок много а флеш тормоз
и даже с макс оптимизацией вместо 1й инструкции получается 5
впрочем я наверно сделаю порт дума отдельно :)

а SNES эмуляторы все требуют 8 мб рам?
везде читаю 8 mb for DOS (Absolute minimum )):
на 9,5 мб можно запускать 2 мб ромы
посмотри в readme тех что пользовался...
а то боюсь здесь будет облом (памяти у нас 1,7 мб)
и больше никак (про своп можно забыть из-за скорости save):

SEGA когда-либо сделаем :)
1/5 ромов 2 и более мб не пойдет на не s75 :(
поддержку cd-rom само собой делать не бум :)

ВСЕ без звука т.к. звука нет у нас...

Фух! Прикрутил directx к vc эмулю мобилы (моему - теперь ГОТОВ!) ушло 2 дня
даже мышь эмулирует :)))
чтоб можно было видеть графику (для отладки nes и др. граф. прилож-й -
надоело bmp писать в файл и см.)
Когда будешь програм. DX поймешь насколько это гемор...
Теперь можно отлаживать ВСЕ! :)
Кстати бродя в сети нашел что супергуру Мамаич для s45 делал на gcc нечто подобное!
Так что направление движения верное!

ссылок на сорцы море :)))
сидел 5 часов накачал 50 мег сорцов
начиная c денди кончая nintendo64 и dos
работы надолго :))
ух - сделать бы теперь это все!
Вишь как я серьезно настроен :)
И почему этот iar cu какой то недо Си? :(
Думал мечта - вставил код и все работает. ФИГ ВАМ!!!
А править что-то получается дофига (даже с джавы)
И постепенно править не получается - чтоб запустить нужно исправить все
а портер я какой-то криворукий и ухитряюсь налепить ошибок и повторять
процесс :(
где супер-пупер программеры и их эльфы? такое ощущение что только я что-то
делаю на x65 :(
Выложил сорцы unzip в форум, пару начальных примеров на сайт.
выкладывались с целью активировать поддержку zip в эльфах

Появление z80 вызвало в выходные оживленную переписку на форумах :)))
Народ наконец поверил в мощь семенов (а на чем было смотреть раньше - на
cpumon? ted?)
выложили кучу ссылок на zx ромы, все кричат давайте больше эмулей, подняли
темы mp3.elf
(где я как мог пояснил что нужно воспроизвед. wav с памяти - а нету :)
т.о. понемногу давят на прошивокопателей и мож они найдут нужное нам :)
Очень активно портируется эльф лодер на x75 :)
вообщем полный анонс! пора серьезно делать nes (все отрывают ):
иль подождать пока сделает кто еще?

-------
> >> А ещё денди!!! Никто не переплюнет! :)))
> > это да! форумы ломятся от просьб...ДЕНДИ ДЕНДИ ДЕНДИ
> А потом проснётся вторая половина форума: SEGA SEGA SEGA!!!!
уже ноют
---------
07.10.06
с NES тож возникли проблемы
Накачал немеряно сорцов nes
Поругаю их создателей:
ясное дело выкладывая сорцы нужно выложить их не все,
"забыть" несколько важных своих библ. и т.д. НУ ДОСТАЕТ ПРАВО ДЕЛО!
Неужто низя проверить у себя перед выкладыванием????????
Перебрал с десяток (и те которые под vc) проектов - сразу ниче
не компилируется, куча ошибок и т.д. (vc у меня правильный)
Ну это так было и есть всегда.
Сорцы под gcc треб. переделки, то directx 7.0 sdk (у меня нет, 200 мег:(
полная ж.

Отладка - что они там сделали хз, нужно вывести на экран
Могу под watcom c dos 320x200 но там нет отладчика - не годится!
Под vc только греб. directx ("спасибо" Microsoft)
который нужно прикручивать неск. дней (тем более к чисто с проекту сpp :(
ЧЕМ И ЗАНИМАЮСЬ СЕЙЧАС!

java под обфускатор етит его
перевести можно (ДЕЛАЮ:), но отлаж. (возможно) нужно писать дебагер (как делал под zx)
а я совсем не знаю команд nes :(((

Все cpp проекты отложил, слишком долго переводить
Нашел хороший чисто код проца и враппер, вот думаю над ними

Вообщем еще в поиске..............
--------
dos4gw использует своп
его придется выкидать - можешь представить скорость - закинь 500 кб на
мобилу :)
---------
пользы от его ответов - толчет воду в ступе (угадай про кого?)
ответил раз 5 - НИЧЕГО полезного, вообще НИЧЕГО не сказал, одни отмазы
странный мужик - видимо в военке работает
придется опять самому все делать :(

> > по эльфам все "ниче не знаю, иди к Rst7"
ответы уже получил, примерно так:
В maincsm_onclose, в Killer, делаешь не
((void (*)(void *))(mfree_adr()))(&ELF_BEGIN);
а kill_data(&ELF_BEGIN,(void (*)(void *))mfree_adr());
объявляешь функцию
extern void kill_data(void *p, void (*func_p)(void *));
и собственно саму функцию пишешь в асмовый файл
RSEG CODE:CODE
PUBLIC kill_data
CODE32
kill_data
BX R1

не понял нихрена, но и не требуется...
денди я знаю лучше :)))

---------
07.10.06
про DOS хорошая задумка
выкинуть из покет порта лишнее (cd-rom etc :)
а команды сделать на асм арм (долго!)
и по скорости будет как 386-й
из функций ms-dos сэмулить основные (откр./чит/ф-л,...) int 21h
и дисковые int 13h (я их знаю хорошо - ms-dos разбирал :))))))
сделать кучу структур и загрузчик com-exe

Позволит запускать _почти_ все не-win не-dos4gw *.com *.exe проги и игры
в текстовом и 320х200 256 цветном vga режимах (ega, cga не умею - не берусь)
сделаем масштаб. и перетаск. окошко как в zx
всякие qbasic, wolf3d, dune2, пойдут.

Позже надыбав доку dos4gw добавить ее поддержку (сложно!) и команды 386 проца
И пускать родной doom,duke,quake 320x200! 5fps думаю потянет
(без звука, т.к. звук не сделан у нас пока):
Но эти игрушки уже без карты памяти не влезут :(

Windows не возьмусь даже...
Как думаешь игра стоит свеч?
Есть ли перспективы или полная лажа?
Будет интересно? (мыши то нету):

но это все напотом...после nes(в процессе),gboy,sega(сорцы
супер!),snes,edit(мой редактор)

--------
07.10.06
УРА! Я сделал это!!!
Бессонные ночи не прошли даром!
Народ на сименс клубе (Rst7, Invisible, avkiev (кстати ничем не помог):,
caine,...)
может спать спокойно - их почтовые ящики грузить я более не буду!
ВСЕ! Теперь я могу сделать все те эльфы, что хотел! :)
ЗНАЮ КАК!
Меню и прочие мелочи я нарисую и так, без GUI ф-й :)
Скорость около 30 fps получил легко. :)
sound off, со временем думаю будет ON
--------
проц мотор 68к это сега?
нашел хорошие сорцы для pocket под него
на будущее...

а также x286 эмуля под pocket (ansi c)
со временем сэмулируем ms-dos и бум пускать
игры которые без dos4gw, например wolf3d :)
теперь не сомневаюсь что потянут :)
позже когда найду описание dos4gw функций сделаем и его
это добавить в планы в конец

---------
06.10.06
Перевод кода zx на iar c# делал с очень большими сложностями :((
Пересмотрев кучу сорцов где обычно под ~100 файлов + asm x86 + неясно куда
вставлять обраб. кл., экр, страниц и т.п. и править всего дофига решил
перенести хорошо понятный код с джава из rp.
Перенос требует БОЛЬШОЙ аккуратности -
Достаточно одной ошибки чтоб эмуль не работал.
Т.к. ф-ции a() и a(int b) на c# не проходят
сидел переименовывал ~400 ф-й
сносил &0xff javы и еще оптимизил сразу (большая ошибка)
В результате ниче не идет :(
Чтож, не всегда везет :(
Написал дебугер zx (!), прогонял по шагам, сравнивал с кодом дебагера unreal
speccy на том же примере
нашел еще ~20 ошибок (связанных с переходом signed в unsigned из-за чего
неправ. jmp ld (id+..) и т.п.)
+ оптимиз. компилятор имеет свои задумки
Вообщем убил 2 дня с утра до вечера (почти)
НЕ РАБОТАЕТ! Ошибки где-то в начальной стадии...
СНЕС все нахрен, начал сначала... переим. ~400 функций и
т.д....ОБИДНО:((((((((((((((((((
зае... конкретно!!!
Кто мне напишет потом что "надо было делать такое-то окошко" и "почему не
раб-т (...,trdos add 2.14+)?"
ОТПРАВИТСЯ ПРЯМО НАХ...КОНКЕТНО И БЕСПОВОРОТНО!
столь нужная для отладки ф-я wsprintf() не раб-т! и многие др. (не
портировали или забыли)
когда сделаю nes тож забуду ее портировать на s75 пока не перенесут все
нужные мне ф-ции
про mkdir() в unzip пишу на форуме как сделать, ответы да что там сложного
(типа лох ты) mkdir(имя папки)
потом ОЙ! забыл портировать, счас исправил. ЗДРАСТЕ!

Час гонял unrar, unzip - у меня не глючат (в отличие от TED - пик офф :)
единственный глюк: rar был с паролем (случайно) так unrar распаковал как
посчитал нужным :))
на x65-75 очень кривые лабы - у кого все ок, у кого пустые файлы или даже
пик офф
так что нечего с s75 гнать - делайте норм. лабу и все пойдет!
кстати это так классно - щелкаешь на файл и он тут же, без тормознутых
окошек выполняется! Вот нах. было писать меню сименса на джава???

про редактор придумал меню: (все ли есть?) по минимуму
Меню Edit.elf:
1. Кодировка (dos,win,iso)
2. Сохранить
3. Режим (hex,view,edit)
4. Блоки (copy,cut,paste,select all,cancel,save as,load)
5. Переход (N строки)
6. Слова (выбор из меню)
7. Шрифты (4,6,8,10,12,14,16)
8. Интервалы (0,1,2,3)
9. Помощь (загрузка edit.hlp)
0. Выход

файлы:
edit.elf
edit.hlp
edit.lst - список слов

В edit.ini:

codepage=0
mode=0
fontsize=6
stepy=0
..
width=132 file://эт для с65 добавл!
height=176
textcolor=0
backcolor=255
english=0
maxmem=1000000

получил ответ от Rst7
> что делают SUBPROC ? REDRAW ?
SUBPROC - вызов функции в контексте другого потока с малым приоритетом для
того, чтобы не тормозить GUI, если надо что-то долго делать (например в
TED\'е грузить текст, в MegaDial\'е искать имена в записной книжке)
REDRAW - вызвать метод onRedraw отображаемого GUI (можно из контекста
процесса-помощника)

чтот я чувствую себя таким тупым :)
это только у меня? тебе все понятно в ответе?
и так везде :~~~~(

невозможность проигр-я звука из памяти означает отсутств. звука в nes, zx :((
не будешь же в риал тайм по нотам воспроизводить wav с диска
в doom фоновый музон и выстрелы пойдут

получил ответ на вопрос:
>почему в iar cu конструкция char c[100]; int a=*(int*)(c+5) выключает трубу?
Потому что ты пытаешься читать int по некруглому адресу - проц это посылает
нах - генерирует исключение... Если тебе надо такое делать, то читай
побайтно и собирай в отдельный инт.

а в сорцах на си это излюбленный прием (а уж на с++ УУУУУУУУ! и у меня часто)
ктож пишет i=c[5]+(c[6]<<8)+(c[7]<<16)+(c[8]<<24); такое только на ява делают
это к вопросу о модификации кода для iar
тебе написал, т.к. тоже эльф-создатель в скором времени :)

------------
> DJ> Ну как написание эльфов? Насколько сложно? Где можно что-нибудь полезное узнать?

1. С документацией полный бардак - кроме swilib.h с именами функций почти ничего нет :(
т.е. параметры угадываешь сам или спрашиваешь немногочисленных "гуру" пока отвечают :)
вон мне все пишут "знает только Rst7", а Rst7 молчит :( писал к avkiev, caine, invisible,...)

на моем сайте http://cbn.narod.ru
пишу faq по созданию эльфов по мере изучения :)
есть и сорцы примеров Rst7 (все какие нашел), в них swilib.h
посмотри их, только не пугайся сразу :)

http://forum.siemens-club.org/
на форумах x65 и newsgold 75 где в теме есть слово эльфы

2. Сложность:
если си знаешь (без ++) то можно
но мне показалось сложно из-за п.1

пытаюсь освоить вывод графики и обраб. клавиш
там примерно как в винде - зарегистрир. класс, обработчики событий (messages)...
Простейшие unzip.elf unrar.elf без графики вызываемые из командной строки сделал,
но опять же на x65 идут, s75 нет и непонятно почему.
По скорости с джава разница ОЧЕНЬ большая.
Но в данном случае не заметно т.к. запись на флеш тормозная.

3. Отладка
просто никакая (да и на джаве она не очень, так что привычно)
зато можно писать в лог файл по printf( :)
любая ошибка - пик офф
притомился включать трубу
хорошо хоть патчить по 100 раз не надо :)
ну или (очень редко, если бескон-й цикл :) висит и ни на че не реагирует - вынимать аккум
но эт поначалу, опыт придет :)

PS А чем вызван интерес? Мож хотишь присоединиться? :)

-------
седня появилися гуру (в выходные в форум видимо не ходят)
обсуждают что-то своего уровня - процессы, CBS? (ничего не понял ):
я добрался уже до avkiev (насчет звука)
ответ - НЕТ! низя звук из памяти никак!
если avkiev не знает (он перекопал весь флеш) то бесполезно...
mp3 не будет из-за этого у нас! :(((
а вообще-то уже надоело клянчить "ну дайте функции проигр. звука"
из-за того что кто-то ленится с документацией :(
и "это не ко мне, спроси Петю" "не знаю, может Вася знает?"
вот потому то ниче и не сделано и через год будет доделан один Xtask :(
сачкодром!

по эльфам все "ниче не знаю, иди к Rst7"

блин весь день убил на переписку...
----------
02.10.06
непонятны отзывы по unrar unzip
с форума x65 пишут все ок (кто правильно поставил патч)
но на s65 с карты памяти не идет (плохо, но перекинут в основную - делов то)
на m65 unzip пик офф но там криво поставили лоадер (все жалуются)
так что здесь все вроде ок
про x75 (не s75) не знаю - форума у них про эльфы нет

на форуме s75 2 ответа - пустые файлы и не идет
zip у них встроенный и никто не смотрит
у кого идет никто не написал
версия та же (универс.)
caine про ммс ответил все также как с data
сам проверить не могу, ответов нет - оставил все так

я финал версию распак. штук 20 архивов - ни одного глюка :)
размеры, файлы - все совпадают
правда архивы брал до 0,5 мб (лень ждать запись на флеш - оооооочень долго)
но думаю без разницы
т.е. у меня все работает

edit.elf будет простой как edit.com (приложен, dos)
посмотри команды работы с блоками f4
есть замечания?
а внешне будет как mobilecu
только режима просм. не будет т.к. все буквы будут один. ширины
(нашел только такие крупные шрифты)
это не страшно?
ну и просмотра списка файлов, многоок. не будет (запускается же из
кард эксплорера щелчком по файлу, зачем?) типа как в нортоне по F4

Нужен единый редактор-просм. - elf, аналог Norton Edit
TED не идет, а так при открытии создает временный своп файл
размером с основной (написан еще для s45 где памяти мало)
edit будет грузить целиком и только файлы до 1 мб (больше мне не надо, а
тебе?)
так же hex editor встроенный в нем будет
буду передел. ted в edit заодно научусь граф., обраб.кл. и т.д. (так легче)
учитывая огромное кол-во документации (000000) мне это сложно

по поводу си:
в extention.cfg будут строки:
c:0:\ZBin\c.elf
pas:0:\ZBin\pas.elf
asm:0:\ZBin\asm.elf
bas:0:\ZBin\bas.elf
java:0:\ZBin\java.elf
это все компиляторы
если ошибки создают файл имяфайла.err с именем компил. файла и номерами
строк и назв. ошибок
если ок создают бинарник .obj который:

c:0:\ZBin\obj.elf
переводит obj в elf
(так удобнее т.к.проще :)

err:0:\ZBin\edit.elf
*:0:\ZBin\c.elf
файл ошибок и вообще все открыв. редактор
он смотрит если это .err то открывает нужный файл (имя есть в .err)
и осущ. навигацию по строкам
иначе просто открывает и ред-т
(что-то описание как программа - если иначе - видимо я закодился совсем :)

таким образом компилируем ex.bas щелчком на нем
если ошибки щелкаем на ex.err и редактируем
если нет то по ex.obj и ex.elf - все!

КОМПИЛЯТОРЫ буду делать в самом конце, после эмуляторов

cx65-70 и m65 объединяют в единую прошу 70 для унификация патчеписания
Наверно в конце останется одна проша со всеми патчами как на s45 счас
Ну и с65-sl65 тож.
Для s65 эльфлоадер появился! (видел седня в сети - чехи состряпали)
Вопрос насколько глючен - там переносится куча врезок
для m65 есть тож. Только cx65 обидели (видимо у всех он уже перешит в cx70)

а кстати идея гениал. - сделать типа basic elf SDK
и все смогут легко делать игрушки на эльфах :))) на си никто ж не сможет :(
кстати аудитория под эльфы много меньше джавы - шнур и перешивка рискует
мало кто
а потом наши модели стремит. устаревают и через год-два будут как s45 счас :(
у всех будут benq с закрытой файл. сист-й

> > caine буду доставать и далее в сторону более знающих :)
caine уже достал - что-то ответил, но не то
invisible кое-что подсказал
ниже функции имеют разные параметры на разных телефонах,
так что куча версий для m65,s65,...

> 00C8: 0xA095221C ; 32: PlaySound(long param1, long param2, long param3,
> long tone, long param5)

> Осталось добиться воспроизведения из памяти - и MP3 более чем реально!!!
> Представь, мгновенно запускается эльф, секунда на декодирование 3 минут
> музыки (всё-равно что при старте джавы)
уже представил
когда узнаю о возм. воспр. wav или чего похожего из памяти и найду норм. си
сорцы mp3 сделаю

вчера на форумах просидел пол дня, искал правду :)
т.е. выяснял что мне нужно про эльфы (муз. и т.п.)
кое-что узнал :)))
вовремя мы влезли на эльфы - ниче путного еще не сделано
и загрузчики только что появились
момент важный
по сложности кода unzip и unrar далеко переплюнули все сущест. эльфы (кроме,
может быть, TEDа)

> качнуть чтоль этого иара? Заменит VC++6.0?
и не пытайся!
отлаживать будешь только на трубе, чуть что пик офф, тебе оно надо?
я сначала все делаю в vc, тщательно правлю, а потом кидаю в iar
счас пишу для vc #include с эмуляцией ф-й из swilib (fopen,...) чтоб меньше
менять в iar
сделаю - будет много легче

> Тогда 7Z.ELF!
un7z перевожу с java т.к. си там тяжеловат и мне так легче
что-то получилось дольше чем ожидал - немного запутался :(
7z запак. жрет памяти немеряно, у нас ее 1,7 мб, оно надо?
и нужно копать опять кучу мб сорцов без норм. описания
потом нужно будет файл. менедж. отмечать файлы для запаковки
я еще не умею :( напотом!

> DSP нужно изучить в обязательном порядке! Самая интересная часть
что знаю про дсп:
обмен информацией через спец. область памяти (неск. кб)
по коду (или адресу) подпрограммы дсп выполняет ее из своего ПЗУ (его не перешить по шнуру!)
думаешь сименс уже залил туда mp3 если сделал ее на др. микросхеме в x75? я сомневаюсь
ну и смысл изучать dsp если я например хочу переделать mp4 но не могу (см.выше)
надеюсь все не так плохо :)
вообще dsp очень сложен и я обычно берусь за то что могу, здесь увы нет :(
да ладно, и софтово сделаем все - ну там асм, оптимизация, проц очень мощный!
пишут что и сам может потянуть mp3 и mp4 (пень1 тянет)

> Но в эмулях нес\зх - не главное - там всё будет летать (надеюсь)
все знающие подтверждают не менее 25 fps

> > код очень компактный, на vc 40 кб (выкинул все), на эльфе 17 кб.
> > чтоб увидеть распак. файлы нужно выйти из папки и зайти в нее снова
> ну нормально, главное работает!
пробывал пустой эльф с циклами задержки до 100000 - запуск/выход мгновенно :)
хотя мож iar оптимизил - нужно глядеть листинги

> > если ошибся и бескон. цикл то висит до вынимания аккума
> а там чтоли никаки прерываний (или как их там) не предусмотрено чтоли? Вот блин.
предусмотрено, ос работает, но красн. кнопка нет
подсветка не включается, на экране неменяющ. изобр-е - словно висим :)))
левые exe-шники под дос вешают комп влет (да и вин часто)
task manager позволяет перекл. м/у эльфами (не пробовал, вроде сделали его и для x65)

> > любая др. ошибка - пик и выкл.
> > среднего не дано
> > отладка - пишешь лог в файл по printf()
> Представляю, как тяжело было писать прошу програмерам сименса....
их много
и оснащение - всякие хардваре эмуляторы, полная документация и т.д.
а нас мало

> > посмотрю на сложность mp3 (мож нафиг) и потом к zx, потом nes

> NOKIA - в топку! SE и моторы туда же!!! Benq - Нахq!
> Siemens - смартфон!!!
главное хороший софт
планы большие и вроде возможные

-------
эльфы погоняли на форуме - работают :)
не распак. с ммц карты, так на большинстве x65 ее и нету
кстати и эльфлоадер если стартует оттуда не работает
видимо специфика какая-то
спросил как исправить, когда ответят - сделаю

воспроизвести wav с диска скоро найду
для игр пойдет
из памяти никто не говорит пока
хотя есть штук 5 загадочных функций, но в swilib они отсутствуют

--------
01.10.06
PS сделал и оттестил unzip.elf и unrar.elf
у меня все работает!
хотя папки создать не смог (не знаю как), все в одну кучу
вылож. на сим клубе, жду отзывов
впечатления от: TED - пик выкл.
cpumonitor раз в неск. секунд ползут циферки
task manager - прик. надпись вверху, по виду ниче не делает

unrar,zip скорость непонятна - запись во флеш идет дооооолго (ну как с компа
кидаешь)
мобила призадумывается и например на попытку закинуть данные по шнуру не
реагирует
(типа занята)
ниче не виснет, мож хоть 2 минут работать с макс. нагрузкой
стартует мгновенно, выходит тоже, если вызывать без имени архива
то как будто ниче и не происходит - настолько шустр
код очень компактный, на vc 40 кб (выкинул все), на эльфе 17 кб.
чтоб увидеть распак. файлы нужно выйти из папки и зайти в нее снова

если ошибся и бескон. цикл то висит до вынимания аккума
любая др. ошибка - пик и выкл.
среднего не дано
отладка - пишешь лог в файл по printf()

PS завтра сделаю 7z
посмотрю на сложность mp3 (мож нафиг) и потом к zx, потом nes

--------
прими мой скромный труд :)

как изучить си:
паскаль немного знаешь? если да то почти тоже самое
если нет - ниче страшного

больше всего ошибок вызывают указатели и дурацкая ф-я
scanf("%d %s", &i, str); // <-здесь уже ошибка :) угадай какая?

указатели это адрес где лежит переменная
int a=5;
int *b=a; //b показывает на "а"
*b=10; //"а" теперь = 10
++b это b=b+1 -- аналогично

чуток сложнее
int a[]={1,2,3} //массив
*a=4; //a[0]=4
*++a=5; //a[1]=5;
++*a; //a[1]=6;

все строки это указатели
char s[]="Это строка";
*s //это 'Э'
*(s+1) //это 'т'

еще сложнее
int main (int argc, char **argv) //станд. главная ф-я
здесь argc задает кол-во аргументов,
*argv[] массив указателей на аргументы
Например вызвав: mystuff.exe in1 out2
а потом printf("%s",argv[0]) или *argv дает mystuff.exe
**argv это 'm' символ
*++argv -> in1
и т.п.

разименование ук-ля &
int a=5;
int b=&a; //в b адресс "a"
*b=6; //"a"=6
очень похоже, но без *
используется чтоб ввести имя переменной в
scanf("%d",&a); вводим с клав. знач. в a, без & низя

структуры:

struct st{
int a;
int b;
char *s;
} st1, st2[], *st3;

теперь обращ-ся к ним как
st1.a=5; st2[3].b=6;
но st3->a=7; или (*st3).a=7;
чаще приходится писать (st3+3)->a=9; аналог
(*(st3+3)).a=9; или st3[3].a=9;
вообще индексы [] почти не использую

можно записать st3=&st1
тогда st1.a и st3->a синонимы

пропусти все особенности ++
такие как stdout, new, delete
наследование инкапсуляция полиморфизм
class, private, public
вирт.ф-ции - это все напотом (через год :)
windows api пока не гляди - нужно понять основы (все потом)

в vc если будешь делать выбирай тип проекта "Win32 console application"
туда суешь #include
#include
#include
#include
вообщем что понадобиться - больше лучше
и потом main() как выше
и в нем printf("Hello, World!");
если хошь придумаю пример :)

Из книг рекомендую для начала
\vc\!docs\Язык с (Керниган Ричи)
с раздела 1.1
(на dvd у тебя)
классика старая, но верная

PS заметно что я препод-л пр-е ??? :)

----------
>_caine пишет:
>Вот только что на S65 удалось отъесть примерно 1.75Мб. 2 - уже никак:(
отлично! doom пойдет на ~2 мб.,дюк тоже. делать игры можно :)))
предыдущее сообщение на эту тему отменяется :)
память очень критичный параметр
~2 мега уже кое-что и в принципе для всех поставленных задач хватит! УРА!

>вообще-то на х65 присутствует аппаратный декодер jpeg/mp4 с собственной
памятью (около 500кб).
вот как он распак-т mp4 и jpg! боюсь здесь с ним не посоревнуешься... :(
вообще сачки програм-ты Siemens:
меню, кальк-р,загрузку джава сделали на джава (отсюда все тормоза труб)
mp4 и jpg оказывается и не кодили - переложили на аппаратуру
mp3 в x75 тоже аппаратное
и ты думаешь что они сделали mp3 в прошивке x65 и закрыли его?
после пред-го сомневаюсь :/

PS седня ходил в салон смотрел Benq - такое убожество! экранчики маленькие,по виду lg
надпись benq почти не упоминается, везде крупные Siemens
что-то s68 и s8... меня не вдохновили

-------
асм для др. - оптимизация критич. по скорости мест
а delete и new меняются на mfree() malloc()

---------
посоветуй nes эмулятор со звуком и сорцами на си (без++) :)))

пишут что на x65 своб.памяти 800 кил (на s75 - 4 мега) из 8 мег
все порты игр и фотожоп отменяются :( doom накрылся
это как пень1 с 640 кб :~~~(
в патчах выделяют ее криво (чуть ли не наобум)
странно, труба открывает jpeg 1200x1000 что для 16 бит 2,4 мб памяти

> а меня очень интересуют аудио возможности ельфов - пусть найдут способ
меня тож. rst7 написал что не знает как воспроизвести wav из памяти :(
есть загадочная ф-ция play(i1,i2,i3,i4) мож смогу wav проиграть по нотам
нужно спраш. avkieva (до него доберусь :) или single (80% патчей его), лучше
никто не знает

PS доделал unzip.elf
завтра выложу на форум s75 узнаю идет ли вообще :| ?

не идет (др. не ожидал - без отладки то) и на x65 дает "can't load elf", на
s75 "Data Area access error"
не понятно, послал кучу вопросов (документации по эльфам нет вообще - ни
описания ф-й, ниче - пишу сам(приложил)), сижу жду ответа

> Сильно менял родной c++ код?
он у меня без ++ так что почти не менял
долго правил немного др. порядок чтения zip блоков (без seek(), т.к. хз как
работает там:)
на vc все идет
получу ответы - сделаю завтра unrar
но никто б... ничего не знает
а кто знает не документирует
и сидишь клянчишь типа "а что за параметр xxx ф-ции yyy"
и ждешь кто ответит
единств. что есть - названия - библ. ф-й (отсылал тебе очень давно)

----------
28.09.06
получил ответ с форума s75
unzip.elf конечно же не заработал :(
по интересной причине: zip архивы s75 распаковывает сам :)
у него это известное расширение ;)

зато получил ответ от самого Rst7!!!, где он пояснил мне ошибку связанную с :))
((void (*)(void *))(mfree_adr()))(&ELF_BEGIN);
пропустил SUBPROC((void *));
а я думал скобок уже хватит и кое-что выкинул :))
не знаю как ты, а я в таких конструкциях не рублюсь :(((
он подтвердил что оперативки своб 4-5 мег (на 65 думаю чуть меньше, но все
равно развернемся!!!!!!!)
и что не знает как проигрывать wav из памяти (mp3 накрылось :(
Если удастся получить ответы на нужн. мне вопросы сделаем все!!!

OOOPS! demo iar затреб. регистр-ю
переустановка, восст. реестра, удал. не помогли
где-то хитро прячет свое присутствие на диске
в сети за вечер ниче работающего не нашел
это я зря чтоль качал 100 мег :(
версия эта на сим. клубе у всех, крек должен быть
пока исправить не могу делаю UNRAR.elf

PS как видишь я круто взялся за эльфы :)

-------
вообще elf-ы это мощь, от нормального си (с указателями) я тащусь
там кстати новомодн. фишки ++ отсутств-т new delete f(int a=10) указатели
тож что-то я правил
но все равно супер

> Поздравляю! Ну как, портирование возможно?
раз плюнуть
только сначала разобраться
вон zlib elf опять пишут никто не может взяться (это не одну циферку на
экран выводить:)

> Вот понимаю Бейсик - он новеет, добавляются новые комманды, можно даже qb
> открыть в блитце и чуть подправить (вставить set screen и flip в цикле) и
> всё идёт!
так то бейсик
не люблю бейсик - нет конструкций типа ((void (*)(void
*))(mfree_adr()))(&ELF_BEGIN); моих любимых ;)
взято из TED догадайся что делает? это ф-я или че?
-----------------

загнал библ. zlib(unzip) в iar, получил zlib.elf 14 кб :)))
компилился 5 мин :-O на 512 мб на vc секунд 5
когда разберусь в структурах как запускать сделаю unzip.elf
далее в планах: unrar.elf, un7z.elf, zx.elf, nes.elf
и см. планы :)
почему эмули после архив-в - там графика и они много сложнее
почему zx впереди - я немного в нем рублюсь в отличие от nes :(
в новом деле двигаться нужно постепенно и маленькими шажками
эльфы x65 и x75 имеют разные структуры, в библ. меняются одной #define NEWSGOLD
хотя для x65 не все хендлы описаны :( но вроде некритично (резиденты я не делаю)
так что придется делать версии для: 65,75 и еще одну для c65 (экран др.)
либо max x,y экрана задавать в параметрах (бу делать так)
почему в библ. не добавили пару простейш-х ф-й width() height() ???
со временем добавят

изучаю структуры {} эльфов перед сном
способствуют быстрому засыпанию :)
назначение многих ф-й не понятно
вообще все реализуется весьма загадочно
своя специфика (как и у windows своя)
н-р отобр. bmp картинку:

DrwImg(IMGHDR *img, int x, int y, int *pen, int *brush)
{
RECT rc; - эт структура
DRWOBJ drwobj; -это тоже
StoreXYWHtoRECT(&rc,x,y,img->w,img->h); - задает коорд. картинки
SetPropTo_Obj5(&drwobj,&rc,0,img); - св-ва карт
SetColor(&drwobj,pen,brush); - цвет
DrawObject(&drwobj); - само рис-е
}
где &адресс стр-ры
TED очень хороший пример, многое можно будет взять оттуда

интересует в elf-ах след-ее:
- формат и отобр. графики
- обраб. клавиш
- меню, строки
- таймер
- файл. вв/выв
- выход
вроде все нашел :)

PS доделал unzip.elf
завтра выложу на форум s75 узнаю идет ли вообще :| ?
пока распак. целиком в оперативку
поэтому если один файл >4-8 Мб не распакует (кому нужно 100 мб распак на компе:)
мне нужно именно целиком (см. планы)
подругому не получилось :((
zlib копал пол дня так и не нашел почему не раб-т не целиком си версия ???
лень копать глубже
тестить пока могу только на cx65 чужом и перешивать в cx70 его не хочу так что жду патч
iar c пишут похож на c# что это такое не знаю но он не как vc, уже разобрался
дня через 3 разберусь в остальных сорцах
портируется легко, но вот с функц. пока сложности

-------
26.09.06
сегодня скомпил.IAR первые 3 эльфа!!! УРА!!!
ну и настроек там :(
rst7 выложил все свои сорцы эльфов (почти),
а т.к. кроме него никто и не умеет их делать (почти),
то теперь 80% всех сорцов для изучения у меня есть :) УРА!!!
для начала неплохо

очень не хватает мануала "как делать elf-ы" по настройкам iar и т.д.
я если освою elfы обяз. сделаю подробн. faq чтоб посл. чайнику было ясно
про настройки iar уже начал :)

перенос си с vc в iar нужно освоить
чтоб не копировать на трубу для проверки все время
сделать типа эмул. экрана и вв. с клав. в vc
и ваять проги на нем (в iar си немного др.)
впрочем для doomjava уже делал, здесь по-другому

с 1 числа буду копать эльфы
пока вроде все :)

-------
никак не сделаю норм. ввод текста - или тормозит или с таймером не
согласуется
пока буквы запаздывают - никуда не годится :(
думаю как исправить
ну еще если мало текста глючит
ну и там сообщ. в окнах не делал еще
---------
> > ИГРЫ: (на что есть сорцы)
> > 3D: doom (heretic, hexen?), q1-2,duke3d :(не влезут на x65 без карты):
> > страт: warcraft2 и типа HMM2 если есть
> ну их нах
ну дум возьмусь если найду как упаковать в 5 мб
остальное отложим
> Эх, блин, прям вообще такие перспективы, видимо ближайшие 10 лет не буду
> менять тел... :)))
ну не на 10 а на 2-3 года мож хватит
------------
24.09.06
полезная ссылка на систему команд :))) http://...
идеи эльфов: http://...
мелко как-то, да и несложные они все
в эльфах нужно реализ. то, на что треб. высокое быстродейств.
и что на джава не сделать
вот наши глобал.задумки
эльфы подд. открытие как из файл.с-ы, так и с памяти,
т.к. будет оболочка, распак.ZIP, RAR, 7Z в память (что влазит)
и далее запуск нужн. elf-a (эконом. места)
расширение - прога
Z80, NES, GB, SNES, SEGA, DOS - эмуляторы :)
TXT,DOC,XLS,HTML,CHM,PDF - просм. текст. файлов
далее все в одном elf-e:
C,CPP,H,ASM (,BAS?,PAS?,JAVA?) - компиляторы в elf-ы
JPG,GIF,PNG,BMP - фотошоп (где б найти сорцы?) ну или paint
AVI,MP2(DVD),MP4(xvid,divx) - плэйер видео типа windvd?
MP3,OGG - плэйер аудио типа winamp?

прим: ? - мож не надо?

ИГРЫ: (на что есть сорцы)
3D: doom (heretic, hexen?), q1-2,duke3d :(не влезут на x65 без карты):
страт: warcraft2 и типа HMM2 если есть

не будет: opera, ICQ, SMS т.к.: 1.не знаю протоколов 2.opera и так ниче
3.асю делают др.
ниче не забыл? :)
--------
20.09.06
> пора завязывать с инетом... неотвратимо тупеем... :) :(
это да
пока почитаешь всякие форумы и ответишь на 10к писем - 2 ч ушло и день прошел :(
и опять ниче не сделано
задолбали юные кодеры - а как сделать ..., а какой формат zip, а почему...
причем укажешь норм. доку - лезут опять : "а я вот не понял в строке ...."
буду вежливо слать лесом

> Так это только просмотрщик графич.патчей... нах он нужен! :)
ну все же какая-то графика (меня интерес. вывод на экран)
согл. что не нужен

> На x65 ещё ничего не сделали? Вот блин... похоже я рано радовался -
> лаунчер ельфов портировали, а самих эльфов нет... :(
так их нигде нет (ну там штуки 3 - едитор (нах нужен), показ. загруз. проца
и gprs вышки)
за _годы_ на 45й серии тож ниче не сделали :(

> Мож сделать прогу портирующую .elf с s75 на x65? :) А правда, чем они
> отличаются?
я еще не знаю :~~(
> По-моему портировать лоадер сложнее, чем сам ельф, или я не прав?
пока не знаю отличий не могу сказать
могут понадобиться их сорцы...
-------
17.09.06
вот как теперь тебе ставить загрузчик эльфов :) http://...
пока не делай т.к. глючно все (подозреваю)
а вот народ вносит предложения эльфов http://...
вдруг кто состряпает а я полентяйничаю
но фиг! как всегда все придется делать самому :(

PS подозреваю что на форуме эльфов 75 за вопрос:
"А слабо сделать что либо сложнее отобр. загрузки проца ?"
сразу бан :)
проверять не хочу...
--------
декомп. mobileBasic
посмотрел
код аккуратный и примитивный
н-р проверка for
if код слова for
и за след.опер. нету = ошибка Нет =
если потом за сл.оп нету To ошибка Нет ТО
и т.п.
эт вселяет надежду
разбор выр-й не нашел (обфускатор е.. ... ..ь!)

редактор с пост. размером символов (как ты советовал)
выглядит намного лучше (не теряются .) и прогр. легче :)
спасибо за дельный совет

версию сразу делаю для семенов, jsr-75 (т.к. семены умерли :(
и без файл. с-ы (из jar и recordstore для бедных юз)
правда под MIDP2.0 (т.к. MIDP 1.0 не содержит нужные классы
работы с экраном) но у нас есть и ладно.
при загрузке 1й раз меню и там спрашивается тип файл.с-ы,
соотв. подключается нужный файл (а то я задолб. все править бесконечно)
--------
поиграл немного в sonic на gens
жизни конечно мало - убивают гады
идет ну просто очень шустро (я что то уж отвык от аркад:)
gens на 2/3 написан на асме и минимум требования P200
отсюда следует что на эльфах этот эмуль нужно будет
тож на асме оптимизить из-за всех сил и идти будет немного медленней
(проц там 100 мгц)
а кода там дофига
я даже загрустил немного :(
-----------
> а как там насчёт эльфов на x65? Делают али как???
один есть - CpuMonitor
портировали с x75
и тишина...
да вообщем то пофиг
читаю как настраив. iar там есть свои особ-ти с эльфами
---------
кстати на всех форумах про rp, mr затишье...
с началом учебы что ли связано?
обновил страничку про глюки и выложил "ускоренный" рар.
если не трудно зацени его скорость на больших 7z архивах
лучше стало?
(на эмуле летает)
--------
активно подбиваю народ на ельфы (вот недавно писал ...)
все джаверы придумывают отмазки и любимая у них размер iar
а кто делают эльфы (очень немногие типа "гуру")
тех не видать на джава
разделение труда что ли?

чо-то тесты 7з заглохли, народ нашел файлик в 15 кб
на котором он порется и радуется втихомолку :)))
я могу найти таких файлов много...
вообще я при разработке 7з положил на их 39 типов заголовков
(переменной длины) и использовал "эвристический" метод поиска
нужных мне заголовков (типа где-то в конце блока д.б. байт 0xc
а за ним число файлов, ищем - вроде он, проверяем, ага...)
который как видишь работает в 95% случаев! :)

-----------
08.09.06
Начало новой эпохи для SGold!
Эльфлоадер, Большая библиотека и SWI-хук для CX70v56 от KreN.
Берем эльфы здесь, читаем про них здесь.
NB. Существующие на данный момент эльфы для NewSGold у нас не пойдут!

столь знаменательное событие (эльфы на x70) ускоряет мои планы:
1 неделя: по быстрому доделываю глюки на джава в rp,rar без новых проектов
3 недели: копаю эльфпак, прошивку на вопрос переноса на 65е, изуч. iar си
далее беру бу 65 трубу (s,cx?) на долгие пытки флеша
смарт теперь зачем? сделаем сами! :)
(надеюсь что все же это все реально и я не слишком туп)

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

портирую кучу си сорцов с sourceforge,
сделаю в компиле поддержку др. процов,
все нормальные мобилы станут смартами
и наступит коммунизм :)
ля-ля-ля
--------
доделку MobileRar1 для x55-60 отложил
никто не хочет тестить (ждешь ответов по 2-3 дня)
отослал правленые версии - пустота (ау!)
кто больше всего вопил - молчат
будто для себя делаю? нафиг!

хочу мотивировать разраб. компилятора
у нового компилятора много плюсов
при переделке его (позже) на ехе
1. переносимость:
распространяем сорцы прог и компилятор для каждой из платформ мобил (и pc!)
закинул на трубу тут же скомпилил и можно запускать.
подправить если что нужно - легко
в компиле только блок асм переделать при выходе новой арм
(в инете си арм компилеры здоровые, глючные, все специфичные и трудно
находимые)
2.сделаем комп. версию для разраб-в

единственно компилировать его нужно им самим
как и др.делают
но что-то я не понял процесс "что было раньше - яйцо или курица"?
как его же код скомп-ть им самим?

PS Завтра выложу 7Zip !!! :))))))))))
седня тестил: распак. архив >256 файлов и файлы > 0,5 мб ОК
на эмуле конечно же ='(
----------
07.09.06
разраб. структуры каталогов 7z нужно вешать за я..
сделать _нормальную_ структуру типа Имя_файла смещ Запак Распак,б
ума не хватило
наворотили всякой х.
который день занимаюсь типа криптования - разгадываю их "гениальные"
блоки, н-р если байт=07 то это заголовок и если след-й=05 то в смещ.n
m байт это код заг-ка k и если он>0x80 то идущее за ним запак. 8б смещ-е
указывает...
б..! п-ы!
и функции мне очень "нравятся",пр-р:
int m1(a,b,c){
m2(a,b,c)
}
int m2(d,e,f){
m3(d,e,f);
}
int m3(i,j,k){
...
вместо a,b,c куча структур
что за х? наверно так чтоб удобнее было см. код? :(
похоже разраб под linux приложили свою руку
----------
на форум много не пишу, т.к. с мобилы думаю читать удобнее здесь
опять седня ничего не сделал - как то впустую весь день пробегал
на форумах s-c rar задолбали обсуждать "рюшечки" прогрессбара:
"вот сюда бы процентик дописать, сюды ск. файлов осталось, туды время,
вместо 8 штук 20 градаций..."
прямо восьмиклассницы красятся на прогулку
делать нечего что ли? народ всегда чем-то недоволен
вот написал одному умному (к-й возникал что во время записи на флеш
прогрессбар стоит:) типа есть же сорцы рара - вперед!
сразу ответ типа: декомпилил, посмотрел - ниче сделать низя...хорошо и так
:)
----------
03.09.06
Эльфы паразиты пишут на S75, замахиваются на Benq, а 65-е голяком ...
т.к. трубы пока все одно нету, заним. джавой.

PS все выходные усердно "грузился" теорией компиляторов, исписал листов 10,
но основную фишку так и не просек.
Когда просеку - узнаю буду браться или нет.

вот как звучит из хелпа:
MobileCu - Мобильный Си компилятор.
Включает в себя:
1. Текстовый редактор
2. Компилятор
3. Ассемблер
4. Виртуальную машину

Редактор представляет собой удобную турбо среду разработки программ.
Компилятор использует упрощенное подмножество языка ANSI C.
Ассемблер реализован для абстрактной RISC машины.
Виртуальная машина исполняет полученный obj - код.

Назначение программы:
1. Начальное обучение языку Си ("hello world", help, пр-ры и т.п.)
2. Возможность расчета значений по несложному алгоритму (этакий прогр.
кальк-р).
3. Создание несложных игр.

Особенности реализации.
Ограничения: только Си, не исп. констр. С++
нет указателей на функцию, ***, упрощен синтаксис,
слабая проверка типов, слабая оптимизация, огр. набор ф-й.
+ы: высокая скорость выполнения (т.к. компилятор, а не интерпретатор)
легкость создания программ.
--------
> ... будет реально портировать (на сис) :)))
код там муторный... я не возьмусь.. мой предел дум :(
в принципе и для 65х на ельфе можно сделать (проц 100 мгц, а там 200, асм
арм очень сильный)
только для телефонов с картой s65 и > т.к. не влезут данные без нее

нарыл сорцы эмул 8086 компа (и выше) :)))
вот бы на эльфу перекинуть...
---------
PS в ближ. планах:
rp: опции nes, исправить rar, jsr-75
сохр.кл. и опций[nes,gb]
+крупный шрифт!
rar: +7z
потом перехожу к IAR
думаю к моменту написания nes уже сделают elf-loader на x65-75
------
29.08.06
я покидаю ряды сименсоводов :~~(
"пряморукие" ремонтники в сервисе доломали трубу, вернули бабки
похоже еще внутренности более менее рабочие подменили, т.к. плата не моя
даже не пищит теперь, до сдачи в ремонт хоть изредка можно было включить
мда. не успел загнать...
в др. сервисе замена всей платы стоит 2,7 т.р. - эт много
нафига я качал 100 мег iar? :(
джаву доделаю на эмуляторе, для асма эмуля нет :(
а жаль. только недавно оперу мини настроил, еще не наигрался.
--------
28.08.06
т.к. появление эльфов на x65 не за горами имхо
портировать в случае чего думаю будет не очень трудно (пока ждемс)
свой формат бин придумывать не буду, попробую взять стандартный эльф
ищу норм. си под арм
входящий в кейл не подх. т.к. специфика прерываний ельфов
по swi реализ. там через одно место (ж.)
скачал avr 22 мега - обломс нужный арм не подд-ся
tasking c 100 мег --
еще один 600 мег ---
вообщем качаю по ночам 100 мег
потом выкину лишнее, урежу раз в 6 и выложу на сайт
как сделал с кейл и недавно с ida (ещ не проверял)
что за дурная привычка у компа постоянно виснуть
между 3 и 5 ночи (когда уже спишь)
днем работает безглючно, за ночь в это время виснет раза 3 :(((
само собой из инета не выходит
------
скомпилил 7зип в vc, пошагово разбираю их дибил.заголовки
(хотел обойтися без си, не вышло)
врубаюсь понемногу, осталось чуток - никак не дойду
-----------
> а главное - вполне осуществимые! Главное не забросить...
Седня добавил на сайт раздел для патчеров,
выложил все нужные проги, закачал 6 мег.

----------
думаю мож выложить на сайт cbn.narod хорошую доку по арм асм
а то мне было трудно искать
со временем бинарники сделаю и выложу туда же и SiemensBinSDK :)
с нормальным описанием
планы грандиозные - правда?
-----------
> дык wad то прийдётся всё равно куда-то распаковывать (в оперативу)
> Полный вариант не пройдёт :((
пройдет
вад распак. по частям (какие нужны при загрузке) ну как solid rar
(немного структуру переделать) - там и есть куча файлов неупак.
подзагружаются данные когда они нужны (так сделан дум)
а весь целиком он в памяти не нужен
дум свободно шел на 3-4 мб ОЗУ, столько есть (возможно)

---------------
Оперативной памяти в x65 всего 8мб
Сколько занимает ОС неизвестно
Но в МП адрес freeram расположен примерно посередине
т.е. (возможно) 4 мб свободно
если так
то можно будет doom2 портировать оригинал (без изменений)!
wad можно сжать zip или rar до 5 мб
на 4 мб и проце 100 мгц и экране 1/4 компа тормозить не должон
даже на смарте дум модифицированный (урезаный)
на джаве подобное невозможно

Сегодня научился компилить asm в bin!
Код уже становится понятней.

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

И exeloader и elfloader не работают с МП.
Эт хорошо! жаль что ^^^ под s75 использует регистрацию
расширений .elf, кот-х нет у нас :(
у s75 оперативки вдвое больше - 16 мег
а такие лажовые игрушки :(

Про тумбу-юмбу:
в прошивке около 10000 ПП на Арм и 65000 на тумбе
(это по описаниям, я не считал :)))
осваиваю тумбу.
еще не надоело читать?

Кстати на Siemens sx1 поставили linux:
форматили флеш и залили ядро, работает.
В linux-е я не разбираюсь совсем :( на всяк.случай пишу :)

-----------------
PS. arm vs thumb

Наконец нашел норм. англ. доку по командам арм всего 200 кб.
Изучал отличия команд arm и thumb (под проц можно писать и то и то).
Не понял почему так не любят тумбу (хотя половина библ. написана на ней)
и пишут "далее делаем только под АРМ".
Размер всех команд в АРМ 4б, в тумбе 2б.
Различия в сдвигах второго операнда (на... нужно?),
командах сопроцессора (в семенах нету его :(
и в тумбе обычно нельзя в командах. использ. r8-12 (тож редко).
Зато код вдвое меньше! В инструкции написано про тумбу:
On Flash-based Embedded Systems it even provides a higher execution speed
т.е. и скорость больше у нее.
Хотя есть некоторая путаница с адрессами (+1)
Что-то мне почти все исходники попадаются под тумбу :)

Арм мощнее команды и сложнее для начала.
Там прогр. к-ы нужно параллельно.
Напр-р в одной к-е пересылки данных можно одновременно указать:
- по какому условию (флагу) ее выполнять
- обновлять ли флаги результ-м выполнения
- прибавить знач-е к еще одному регистру
- сделать это ^^ до или после рез-та в осн. р-ре
- обменять зн-е р-ра с памятью
- сдвинуть тот регистр на n разрядов вл/впр, логич/арифт
б.!
извини, не удержался
это уже не ассемблер имхо, а какой-то макроассемблер
непривычно думать как вместо n команд написать одну

а запись в стек?
любая комбинация регистров по адресу в регистре в любом порядке
с указанием доб./выч. значение до/после операции - в одной(!) команде
для примера в x86 по одному р-ру или все сразу без модификаций

Даже умножение содержит умножить 2 регистра, сложить 3-й и поместить в 4-й
(!)
(само собой еще условие вначале проверить)
в x86 аккум. умнож с др и рез-т в аккум - все!

PSS В самом пакете keil есть си компилятор (без++).
Бу смотреть.

----------
портировали переключатель задач и редактор ted с sl45 на s75 (см.приложение)
скоро и до x65 доберется elf!
----------------
Концепция BIN программ:

I. Bin(Exe) - программы включают Заголовок, Код [,Данные].
Заголовок состоит из 3-х и более таблиц, расположенных друг за другом.
Каждая таблица содержит 4-х байтные смещения от начала кода и завершается
0-м.

1. Секций Таблица 1: Размер_заголовка(Смещение_начала_кода)
Размер_файла(Смещение_конца_кода) [Смещение_данных_1[2,...]] 0
2. Rellocation Таблица 2: Смещение1 Смещение2 ... 0
3. Функций Таблица 3: Смещение1 Смещение2 ... 0
[др.таблицы 0]
Далее располагается код [и данные].

II. Действия, выполняемые bin - загрузчиком:
1. Чтение в память секций Заголовка и Кода.
2. Корректировка абсолютных ссылок по смещениям в коде, взятым из Relocation
Таблица 2.
3. Корректировка адресов вызовов функций по смещениям в коде, взятым из
Функций Таблица 3.
4. Создание PSP (см.Прил.1) и указателя на него по адрессу {Начало_кода -
4}
5. Передача управления на начало кода.

III. PSP содержит:
- Абсолютный адресс Таблицы 1. Если прибавить размер заголовка, то получаем
адресс начала кода.
(Табл.1 может использоваться в программе для подгрузки дополнительных данных
из конца файла).
- Адресс начала общей библиотеки функций (прибавлялся к Табл.3)
- Адресс вызова библиотеки Bin функций. (r0 = N функции)
- FreeMem, FreeMemSize
- screen width, height,... ???
- Резерв
- 3 строки, оканчивающиеся 0:
полный путь вызываемой программы, например 0:/Misc/Bin/mp3.bin 0
имя открываемого файла, выбранного из меню, например 0:/Sound/Best/1.mp3 0
аргументы командной строки программы из файла autoexec, например /c/v 0
0

IV. Создание Bin - файла
1. Компилируем бинарник на два разных адресса и путем их сравнения Прог.2
получаем Табл.2
2. Прог.3 отыскивает в бинарнике адресса вызова библиотек и выдает Табл.3
3. Загоняем список дополн.файлов (если есть) в Прог.1 и из ранее
получ.таблиц получаем бинарник!

V. Библиотека Bin. Номера функций: {skip}
VI. Особенности реализации {skip}
Прил.1 {skip}

Порядок установки Bin:
1. Ставим патч Таблицы функций FL для нужной прошивки/модели.
2. Ставим патч Bin-Loader для нужной прошивки/модели.
3. Создаем папку 0:/Misc/Bin и помещаем в нее файл autoexec
4. Копируем *.bin файлы в папку 0:/Misc/Bin

---------------
> Здравствуйте! На телефонах сименс x65 оперативной памяти - 6M. Это под
> джаву отведено 1M
хм... не знаю точно сколько (не добрался еще)

> для таких развлечений нужна флешка
ага

> > Но не думаю что выпустят кучу прог, некому писать.
> а как же сами создатели?
тож бездельники - вот увидишь

-----------------
I Про DivX:
Оказывается в смарте SX1 чтоб не тормозило видео
divX его жмут с расширением около 144х112
не более 128 кбпс да еще 15 fps.

А нормально 320х200 с высоким кбпс идет на процах 400 Мгц.
Семен 104 Мгц потянет ли вообще?

II Проги на смартах можно разделить на классы:
1. Эмуляторы: ZX,NES,GB,SNES,SEGA
2. MP3 (OGG)
3. MP4 (AVI): DivX,XVid
4. Rar,Zip
5. Читалки текстов
6. Смотрелки графики
7. Планировщики
8. Игры
9. Другое

III. Притом игрушки SIS требуют памяти 6-8 мб,
так что на семен SIS переводить без толку, там немного более 1 Мб.

У них там есть C2Doom движок типа дума
с подкл. кучей WAD файлов разных игр (Wad-ы по 8-16 Мб),
тож памяти требуют под 10 мег.

Elf загрузчик на сименс орг сделали, пишут под него доку (надеюсь).
Под S75 :( там обновл. библ). Под х65 будет ли?
Exe в др. письме.
Но не думаю что выпустят кучу прог, некому писать.
Хотя если бы сделали список II (выше) мне бы хватило.

IV. Прикольно реализована wordwrite память на семенах 45:
можно писать только по 2 байта
сразу после записи читать низя :~(
будет старое значение
это не кэш второго уровня в пне
нужно подождать...
особенно "удобно" для хранения переменных :)
a=a+1
тут делать что-либо др. (пауза, иначе будет старое а)
b=a+1

V. Читаю форумы:
FAQ начинающего прошивкокопателя
Патч-файлы. Обсуждаем концепцию и методику работы
Программирование под ARM
...
чешу репу :)

------------
> мне как-то помимо приколов видео не особо в теле надобится...
можно будет кино см. на занятиях (пол часа на 5 мег)
этож круто

> эмуль сиса на эмуле доса - тот ещё тормоз будет =(
сис требует дофига памяти
так что не выйдет скорее всего

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

не нравятся мне эти МП
много всего ставить
глюков море (разные версии)
если патч глючит вытаскивать симку

> дело не в возможности, а в скорости! Sega на jave?, хмммммм...
это мощь! :)













---------
13.08.06
вот купил себе смарт и поставил на него:
(шутю:) нафиг смарт если есть асм?

просмотрел вкратце софт для смартов
итак что есть полезного и м.б. со временем
перенесено на семен:

опера, jimm, mail - нафиг! есть уже
winamp, oggplay, ultraMp3 - ok
dvdplayer и др. avi,mp4 плееры - ok

просмотр изображений
диктофон - ?
диспетчер файлов и задач
упр. через инфракр. порт - нет
zip,rar
говор.часы, веб камера, печать - ?
калькулятор, будильник, секундомер
планировщик задач
англо-р словарь - нах...

читалки: TXT, DOC, CHM,PDF,HTM - yes

Игры - если кто напишет?

Эмули: gboy, sega, nes, nintendo, dendy, zx - да!

Твое мнение?

А более значимого ничего и нет.
Если когда-либо кто-либо сделает проги, помеченные "да"
то смарт и не нужен в принципе. имхо

---------
13.08.06
совсем "несложно" подключить asm в keil
Порядок действий:

Project - New Project
Указываем девайс: Generic - ARM9E-S (Little Endian)
Создаем исходник: File - New, File - SaveAs - "my_superfile.asm"
Включаем эксплорер проекта: View - Project Window
Подключаем исходник в проект: Target 1 - Source Group 1 - RightClick -
AddFiles - "my_superfile.asm" - Close
Становимся на Target 1 и закрываем Project Workspace
Project - Options for Target Target 1"
- Output: ставим птичку на Create Hex-File, в Program1 пишем примерно такое:
"..\hex2vkp -Fe:\Siemens\Data\S75_4003.bin %H"
- Listing: выключаем C и Linker, а в Assemblere - Conditional и Symbols

б...
догадаться легко :(
а я уж привык tasm src.asm
фиг вам!
про си я вообще молчу
нужны 3х- недел. курсы :)
вся дока только english само собой
сижу читаю и :~(

>> Зато джава емуль vnes летает - сам закачивал и играл: почти на фулспиде
>> работает. А если скорость 7 поставить,
>> то вообще слижком быстро начинает бегать...
> ну дык когда переделаем в ехе - будет летать и у нас
Ох, будем надеяться (да ещё и ведь со звуком будет!)

-------
13.08.06
> Слушай, можно ли как нибудь сделать эмуль, или конвертор sis - на него же
> полно всего есть,
я в этот то арм код не могу врубиться,
а теперь еще и систему команд смарта изучать

>ну когда сделаем эмулятор dos сделаем и эмулятор sis, потом windows,linux...
:)
это все _очень_ сложно ;(

я в прошивке не рублюсь
для меня асм арм новый язык

----------------------
12.08.06
Как веселят меня такие письма :)))

>Привет! Есть на твоем сайте MobileRar для x55/x60.
>У меня Siemens S55, программа запускаеться, но клавишь нет, то есть вначале
>что это программа Rar, zip архиватор и дальше все хоть нажимай на все
кнопки бестолку и дальше не >идет программа.
>Сделай работающую , редактируй программу , дополни .

хи-хи...

А теперь про любимый {bin, asm, exe} немного повторюсь:
оконч. концепция:
установка будет такая:
1. ставить библ. ф-й для конкр. прош./модели
(она обычно уж стоит с патчами и будет обновляться далее,
исходные адреса сменются, но будут динамич. прилинк. при запуске exe)
2. ставить загрузчик для конкр. прош./ модели
(надеюсь доделают в МП к тому времени,
если нет сделаем свою врезку, т.к. адрес известен.
Вообще они привязали расш. файлов (коих там немного) к всякой лабуде
и встроили свои загрузчики
и придется или плясать под их дудку (ставить МП. API, мастер мидлет,...,elf
loader)
или как-то обходить МП
3. куча ехе в папке 0:/Misc/Bin и файл autoexec с описанием типов и
выз.файлов там же
ехе одинаковы для всех телефонов
Формат ехе как elf или простейший бин с таблицей вначале

Скачал 2 си на 11 и 22 мб :)
и асм кейл http://download.siemens-club.org/files/reversing/karm241.exe
наконец-то появился - на 22 мб
на еще один супер пупер си пришлось положить из-за его размера 110 мб :(
также доку, форумы и т.п.
теперь буду осваивать :(
если уложусь до конца месяца буду рад

Планы:
- освоить арм асм и си
- перенести эмули nes,z80 на си, перерисовку экрана на асм
(это увеличит скорость перерисовки >20 fps
и позволит легко адаптировать их к след. моделям, поменяв только асм код)
- разраб. (освоить) концепцию бинарников (siemens станет как смарт)

- чо либо со смартов перекинуть в бин...???
- rar,zip,7zip,пару игр,mp3,rp, ???

замени ???
PS Ну и напился же я вчера %(

------------
11.08.06
> а ещё лучше вообще сделать "0:\exe\" и в "моих файлах" добавить пункт "EXE
> приложения"
МП скоро доделают elf загрузчик (без меня)
еще месяц-два

мастдай тормознет что угодно
а вообще проц неслабый, а имея асм и ровные руки (сименсам бы)
можно сделать очень многое

> а семёновцы эти те ещё ленивцы :)) даже не стали защиту додумывать от
> пользователей внедряться в прошиву;
спасибо им за это
> вот в каком ещё телефоне так легко докопаться до всей флехи?
нету

Т.к. новое это хорошо забытое старое
отправился на oslik.ru почитать про SL45.
Там тусуются те же патчеры что и на x65 и на zx форумах.
хм...странно
хотя прошивки сименса похожи

Впечатления:
1. патчи в основном те же
+ куча на того что нет на x65: mp3 плеер, диктофон
2. Граф. много больше
3. Файл. систему 45 изучили досканально:
патчи FAM,EBIN,FTA,FAM2,3,ESI,UTA позволяют имхо
сразу выполн. ф-ы с флеши с диска А: не грузя в оперативу
4. ехе файлы наз. bin, легко пишутся на Си,
быстрее в разы, но глючны и их очень мало (штук 5)
что-то в sl45 bin быстрее раза в 3, не в 10 имхо
интересны ReadManiac на Си (TED) т.к. java аналог тормоз на 45
и miniGPS где по данным 6 сот отобр. коорд. на карте
(сначала ввод. коорд. сам на местности, потом уж от них идет)
Они оба еще доделываются
ТАК что кто будет делать bin?
5. SL45 устарел, сайты закрыв-ся, ссылки не работают :(
6. Вместо установки кучи патчей народ сразу заливает готовый фулфлеш

ARM мощный проц (в x65)
Вот пример его одной команды и ее примерного аналога на x86:

ARM: ADDCS R0,R1,R2 LSL 4

x86: JNC L
MOV AX,R2
SHL AX,4
ADD AX,R1
MOV R0,AX
L:

ARM: MUL R0,R1,R2

x86: MOV AX,R1
MUL R2
MOV R0,AX

ARM: LDR R0,[R1],-R2,LSL 1

x86: MOV BX,R2
SHL BX,1
ADD BX,R1
MOV RO,[BX]
DEC R2

Охрененная мощь 32 бит команд, куча регов r0-12 (+R13-15 служ)
Но сложн. для понимания.
Вот в ком. C166 (S45) разобрался за пару часов (как x86)
скачал keil 15 мег, похоже не тот :(нет 32 бит
зато там куча полезных утилит :)
а тот наверно весит 55 мег :(

PS далее ехе называю bin
это тот же патч только с памяти (ну и чуток помудренее т.к. rellocation
таблицы )
загрузку скоро доделают, нужно осваивать си на арм
да и там делать почти нечего - табл. подстроил и все!
не потянет народ бинарники :(
на sl45 не потянул, а там система команд много проще
это те же патчи - посмотри все они мелкие и написаны 1(5) теми же людьми

-----------
09.08.06
> прикрутить, и эмуль винды "wine" помучать :)))
тогда снести нахрен наработки сименса и сразу поставить linux!!
к сож. не выйдет т.к. дока на gprs и железо закрыта

смотрел тут ффлеш так там своб. блоков FFFFFF по 128 кб дофига (на неск. Мб
(2-5?))
и это после диска на 14 мб!!!
патчей писать-не переписать
сименс если бы собрали код сначала компактно могли бы диск сделать на 20
но кому надо?

и в флеше своб. места дофига - туды все эмули влезут легко!

> Кстати, если добьются прямого доступа к dsp, то можно сделать
> воспроизведение трекерной музыки (mod,xm,s3m,it)
в спец. проца написано mp3 firmware т.е. прошивку под
mp3 разраб. infenion обещают? так уже мне и принесли!!

> Представь маштаб содеянного!
получается что смарт становится ненужен!
мы с тобой на пороге грандиозных перемен!!!
а я об него спотыкаюсь (высокий порожек :)))

> > но с mp3 сложности
> mp3 - нафиг, устаревший формат, лучше сразу ogg! :)
и то! где-то сорцы у меня лежат!

кстати вчера попробывал пережал фильму в 172 х 128
при качестве 50 kbps 25 fps на таком экране смотрится ничего
а это на 5 мег влазит 12 мин!!! (пробовал без звука пока)
если fps уменьшить вдвое (для нединам. фильмов пойдет) можно будет 25 мин на
5 мег
при вдвое меньшем fps квадраты уже видны, но 50 мин
чувствуешь какие перспективы разраб. декодера?
а на 75 линейке карты памяти есть

у x86 6 регов: ax,bx,cx,dx, si,di
мне всегда не хватало
у арм 13: r0-12
операции с рег. в разы быстрее чем с памятью

> > особо требоват. 3д игры - да
меня хватит т. на дум

> для таких игр и программ существует смарт
на sl45 exe сделали давно
и что-то не слышал я на нем о куче прог
наверно с си не получилось
качая си комп. ica я понимаю почему :(

> А с exe все сименсы превратятся в смарты! :)
бум старатся (счас копаю патчи на предмет врубиться в асм)
сделали elf загрузчик
но что-то мне этот формат не нравится и
2. нету под него пока примеров разраб.

---------
08.08.06
что-то при проектировании exe у меня получается ms-dos: :))
1. заголовок exe - урезанный mz с relocation table, psp
2. вызов ф-й, завис. от прош., через int 21h (cwi) - так проще всего
МП перехватывает этот cwi и подст. реал. адрес для данной проши
и ехе идет без изменений везде где есть МП
3. даже загруз. ф-ы в 0:/Misc/Exe наз. autoexec, msdos.sys :)
4. назван.ф-й Exec(*имя ехе файла), Exit(), Lasterr(), OutText()
вешаются на прер-я
и в проше н.б. для выполн. ехе в эксплорере вызывать типа
mov ax,адрес_Имени_файла; int 21h
нужно будет дописать их в МП

МП при старте фона грузит ini файлы и перехватывает прерывания
врезка в прошиве в эксплорере (х.з. где) вызывает нужный int
на бумаге так гладко :))
а в жизни х. :(

штудирую тему
"Пишем EXE-патчи, или патч без перепрошивки"
где я с весны жду нужного кода (запустить ехе), а все не сделали :(
авторы перескочили на s75 и трудятся там над cwi библ. (библ. высылал тебе)

посмотрю как на sl45 реализовали, но там др. асм :( c166 проц)

----------
08.08.06
А стоит ли вообще делать exe? (на телефоне)
Какие приложения требуют скорость в 5 р больше?
читалки, плееры - нет
opera, jimm - нет
игры 2д - нет (вроде так идут)
эмули - да (!)
проги что на смартах: mp3, видео - да
дополни список...

но с mp3 сложности
видео 130х130 мало (320х200 и то мало)

особо требоват. 3д игры - да
но кто их будет делать?
издатели - нет, т.к. сложно (патчи, изуч.асм, неуд. для польз.,...)
польз-и - тож нет ^^^^^
патчеры - нет (им бы только пару байт поменять и новую картинку залить)
и памяти 1 мб всего что мало для порт. соврем. игр
да и экран малый
и сорцов на си мало (например diablo, hmm2 не видел)

установка тож непроста - заливать патч свой для кажд. модели телеф/ прошивки
хотя в этом патче можно забить адреса библ. ф-й и при загрузке ехе их
динамич. подставлять
(типа dll)

получается что вроде и не нужно что ли?

-----------
08.08.06
> нудновато будет всё через пикчи выводить. Тексты тоже надо
для игр делается буфер экрана, туда пишется кадр, потом преобр. в картинку
и затем выводится (так в джава делаю даже в readplay)
тексты я тож из картинок рисую (а как иначе если станд. здоровые)
так что все ок

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

>хакеры среди сименоводов - редкость, да и те лентяюги :(
вливайся в ряды :)

-----------
08.08.06
Седня весь вечер ставил патч на увелич. диска 14 мб
там их три: 12, 13, 14
и три раза нужно вкл. мобилу и смотреть кирдык ей настал или нет :)
по форуму пишут глючные очень
на 2е вкл. труба не отреагировала и не пищала
я подергал туды-сюды и полез в папуас
где очень обрадовался что imei стал 0000000000 :(
это знач. пересчит. ключи, ТП и т.д.
пока мылил веревку труба ожила
это типа шутка такая во время формат. файл. с-ы :)
вроде пока работает
кстати шуток там таких много: кракозябы вместо рус.,
пишет нет меню, не вкл. и т.п.
А говорящие часы достали, снес патч.

PS приложил список функций с прошивы, кот. удалось раскопать
прославленным прошивокопателям (архив из проги Smelter)
Как видишь почти все нужное есть,
сингапуры присутствуют.
Это мне напоминает старое доброе время ловли вирусов под дос :)
Бум изучать.

---------
07.08.06
Наставил кучу патчей на 50 прошиву
Что перечислял + что-то еще
Все работает как ни странно
Увелич. диска не ставил, т.к. пишут много глюков
+граф. патчи не поставить
Еще говор. ежечастно время патч собираюсь
и мастер патч
- полезный патч, открывает файлы с диска (эт пригодится)
Нужно как-либо поизучать
но:

1. Никак asm keil не найду в инете
на сайте keil.com новая версия вместо 15 стала 55 мб :(
а более старую за 1 ч не нашел - т.к. или треб. заполн. форму или ссылка на
тот сайт

2. IDA Pro (для изуч. прош.) наворочена, меню действий в 3 ряда :(
help english само собой
чувствую себя полным ламером :)
прям как когда первый раз к компу подошел

-----------------
06.08.06
>Если не ошибаюсь, к экрану доступ ещё не додумали
функция draw_pic есть
где можно картинку отобразить
а больше ничего и не нужно

--------
06.08.06
> надо потом обязательно ассемблер выучить :)
для siemens :)
уже учу
арм, тумба, все доки англ. и неполные
(типа команды сопр., а в проце нет сопр. и т.д.)
ассемблер kein глюкавый до невозможности
(если судить по форумам)
путает команды, добавляет +1 к адрессам и прочее
есть 3 разных ассемблера и си, нужно выбрать лучший
без си браться бесполезно, т.к. с джавы не портируешь на асм такие объемы

представь: выбираешь в эксплорере файл *.nes, *.z80
и запускается эмуль где все летает (никаких тормозов)
так и до ps2 можно будет дойти
и до эмуля dos (игры до 1 мб типа wolf)

вот насчет mp3 не знаю, т.к.
1. как воспр. звук
2. нет инстр. с плавающ. точкой
3. проц вроде умеет mp3 воспр. сам по командам dsp но как?

на s45i exe файлы сделали

-----------
04.08.06
Начинается новый этап - АСМ
проц infenon по скорости почти аналог пня
может софт методом жать mp3 без проблем
а на джаве скорость видел => на асме проги в 5-10 раз быстрее
т.к. можно оптимизить критич. участки что незя в джаве

было бы круто состряпать файл типа
z80 0:/Misc/z80.exe
mp3 mp3.exe
nes nes.exe
sms snes.exe

далее освоить асм си
и там хоть дум можно портировать

> эмуляторы требуют в 10 раз мощнее эмулируемого девайса)

-----------------
04.08.06
седня замыкал ТП
ну и муторное дело
там под микроскопом глядеть - сопротивление накрывает штуки 4 таких точки
своей тонкой ножкой
как еще все не попалил
и рук надо побольше 2х
пол дня игрался
получил коды HASH, ESN, IMEI
посчитал SKEY, BKEY
Hosted by uCoz