Fixed left-side vram overflow with text, made install automatically along fxSDK.

This commit is contained in:
lephe 2016-12-22 23:08:44 +01:00
parent 2564096a13
commit 9a3433c52a
7 changed files with 22 additions and 20 deletions

View file

@ -50,8 +50,11 @@ obj-std-spec =
# Configuration files # Configuration files
config = gcc.cfg config = gcc.cfg
# Target folder
folder := $(shell fxsdk --folder)
ifndef folder ifndef folder
folder = /usr/share/fxsdk $(error "Could not get the fxSDK storage folder. Did you install fxSDK \
properly?")
endif endif

2
TODO
View file

@ -1,5 +1,4 @@
Bugs to fix: Bugs to fix:
- Left-vram overflow when rendering text
- A few key hits ignored after leaving the application (could not reproduce) - A few key hits ignored after leaving the application (could not reproduce)
- Lost keyboard control at startup (could not reproduce) - Lost keyboard control at startup (could not reproduce)
@ -12,7 +11,6 @@ Simple improvements:
- time: Compute CLOCKS_PER_SEC - time: Compute CLOCKS_PER_SEC
- core: Add VBR handlers debugging information (if possible) - core: Add VBR handlers debugging information (if possible)
- core: Implement all callbacks and a complete user API - core: Implement all callbacks and a complete user API
- project: Enhance Makefile install_lib rules
Modules to implement: Modules to implement:
- Serial communication - Serial communication

View file

@ -403,20 +403,24 @@ void main_menu(int *category, int *app)
switch(getkey()) switch(getkey())
{ {
case KEY_F1: case KEY_F1:
if(!tab) break;
tab = 0; tab = 0;
index = 0; index = 0;
break; break;
case KEY_F2: case KEY_F2:
if(tab == 1) break;
tab = 1; tab = 1;
index = 0; index = 0;
scroll = 0; scroll = 0;
break; break;
case KEY_F3: case KEY_F3:
if(tab == 2) break;
tab = 2; tab = 2;
index = 0; index = 0;
scroll = 0; scroll = 0;
break; break;
case KEY_F4: case KEY_F4:
if(tab == 3) break;
tab = 3; tab = 3;
index = 0; index = 0;
scroll = 0; scroll = 0;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -113,7 +113,7 @@ void test_tales(void)
for(int j = 0; j < 16; j++) str[j] = 32 + (i << 4) + j; for(int j = 0; j < 16; j++) str[j] = 32 + (i << 4) + j;
str[16] = 0; str[16] = 0;
gtext(2, 2 + i * height, str); gtext(-10, 2 + i * height, str);
} }
gimage(0, 56, &res_opt_tales); gimage(0, 56, &res_opt_tales);

View file

@ -35,8 +35,8 @@ static void timing_timer(void)
static void timing_start(void) static void timing_start(void)
{ {
timer_start(TIMER_USER, 16, Clock_Hz, timing_timer, 0); timer_start(TIMER_USER, 64, Clock_Hz, timing_timer, 0);
rtc_cb_edit(cb_id, RTCFreq_16Hz, timing_rtc); rtc_cb_edit(cb_id, RTCFreq_64Hz, timing_rtc);
elapsed_timer = 0; elapsed_timer = 0;
elapsed_rtc = 0; elapsed_rtc = 0;
@ -177,20 +177,20 @@ static void draw(int tab)
dimage(64, 0, &res_clock_7305); dimage(64, 0, &res_clock_7305);
getFreq(buffer, conf.RTCCLK_f); getFreq(buffer, conf.RTCCLK_f);
small_text(84, 14, buffer, 1); small_text(82, 13, buffer, 1);
sprintf(buffer, "*%d", conf.FLL); sprintf(buffer, "*%d", conf.FLL);
small_text(84, 25, buffer, 1); small_text(82, 23, buffer, 1);
sprintf(buffer, "*%d", conf.PLL); sprintf(buffer, "*%d", conf.PLL);
small_text(84, 36, buffer, 1); small_text(82, 33, buffer, 1);
sprintf(buffer, "/%d", conf.Bphi_div1); sprintf(buffer, "/%d", conf.Bphi_div1);
small_text(89, 43, buffer, 0); small_text(87, 40, buffer, 0);
sprintf(buffer, "/%d", conf.Iphi_div1); sprintf(buffer, "/%d", conf.Iphi_div1);
small_text(89, 50, buffer, 0); small_text(87, 47, buffer, 0);
sprintf(buffer, "/%d", conf.Pphi_div1); sprintf(buffer, "/%d", conf.Pphi_div1);
small_text(89, 57, buffer, 0); small_text(87, 54, buffer, 0);
} }
} }
else else
@ -216,7 +216,7 @@ static void draw(int tab)
if(timer <= rtc) ratio = (10000 * timer) / rtc; if(timer <= rtc) ratio = (10000 * timer) / rtc;
else ratio = (10000 * rtc) / timer; else ratio = (10000 * rtc) / timer;
print(12, 5, "%d.%02d %%", ratio / 100, ratio % 100); print(12, 5, "%d.%02d%%", ratio / 100, ratio % 100);
} }
else locate(12, 5, "..."); else locate(12, 5, "...");
} }
@ -238,14 +238,11 @@ void test_timer(void)
{ {
int tab = 0; int tab = 0;
clock_measure();
clock_measure_end();
conf = clock_config(); conf = clock_config();
elapsed_timer = -1; elapsed_timer = -1;
elapsed_rtc = -1; elapsed_rtc = -1;
cb_id = rtc_cb_add(RTCFreq_16Hz, timing_start, 0); cb_id = rtc_cb_add(RTCFreq_64Hz, timing_start, 0);
text_configure(NULL, Color_Black); text_configure(NULL, Color_Black);

View file

@ -253,7 +253,7 @@ void render(int x, int y, const char *str, void (*op)(OPERATE_ARGS))
// When operators are full, updating the video ram and // When operators are full, updating the video ram and
// preparing the operators for another row. // preparing the operators for another row.
(*op)(operators, height, x, y); if(x >= 0) (*op)(operators, height, x, y);
x += 32; x += 32;
if(x > 96) break; if(x > 96) break;