На полях

Casio PV-S450

Информация

Сайт в стадии реконструкции. Пользуйтесь форумами.

Твиттер

Статистика

Яндекс.Метрика
Друзья, соседи, проекты

FAQ по программированию

[faq]

Вопрос: Как реализовать LibTchWait() без ожидания?
Ответ: Constantine:
Автор: Wittawat Yamwong который делал OWBasic


void PollEvent(TCHSTS far* tsts, byte event_mask) 
{ 
    union REGS reg; 

    reg.x.ax = 0x0200 | event_mask; 
    reg.x.di = FP_OFF(tsts); 
    reg.x.es = FP_SEG(tsts); 
    int86(0x50,&reg,&reg); 
} 

А вызывать так -
PollEvent(&tsts, EVENT_TCH | EVENT_CRADLE);

Возвращаемого значения в общепринятом смысле нет. Там возвращается структура, заполненная всякой лабудой. Про структуру можно почитать там же, где и про LibTchWait

Вопрос: Где находится видеопамять?
Ответ: Constanthine: 0xF010:0 и далее построчно 160 пикселов побитово разлагается в 160 строк.

Вопрос: LFILE_BUF. FLASH data buffer (BinaryBuffer 30KB) CAUTION: Allocate a buffer for FAR_BSS. Что это за BSS? И как allocate его for far ?
Ответ: Constanthine: BSS это сегмент данных где данные хранятся в неинициализированном виде. Например, при таком описании:


main()
{
    static _far kkk;
}
Здесь переменная kkk уходит в BSS! Более того, идет как FAR :)

Чем это лучше чем такое:


static _far kkk;
main()
{
}

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

Вопрос: При использовании функций log10, pow, sqrt возникает ошибка компилятора:

 
p/mathlib.lib(log10.c): Undefined symbol:_huge_double_ 
p/mathlib.lib(pow.c): Undefined symbol:_ESTE_SS 
p/mathlib.lib(pow.c): Undefined symbol:_huge_double_
и т.п., хотя с другими функция (floor, modf) никаких проблем нет. В чем может быть причина?
Ответ: TriD: Кроме внесения изменений в LINK2P.DAT и(или) LINK2S.DAT (добавить библиотеку mathlib), необходимо добавить в начале программы на С следующее определение:
 
#ifndef DUMMY_H 
#define DUMMY_H 
char _osmajor='1'; 
void *sbrk(size_t s) { return(NULL); }; if 
После добавления этой абракадабры все должно быть ОК.

[/faq]

Вопросы эмулятора

[faq]

Вопрос: У меня на быстром компьютере эмулятор Каськи сильно бежит вперёд.
Ответ: [=KRoN=] Зайти в Project -> Configuration -> General и выставить своё значение TIME BASE CLOCK(MHz) вместо дефолтовых 25. У меня всё стало примерно соответствовать действительности при 4.

Вопрос: Как изменить в эмуляторе шрифт в окнах? У меня там какие-то кракозябры...


Ответ: [=KRoN=] И неудивительно. Там по умолчанию прописан какой-то японский шрифт. Чтобы записать нормальный, нужно зайти в каталог симулятора (C:\CASIO\PV2EN02\SIM\ по умолчанию), найти там .cpj файл со своим проектом и поменять имеющиеся там строки, например, на следующие:


FONTSIZE=10
FONTNAME=Courier
[/faq]