I've been working on an interesting project lately: A compatibility layer that lets you run C programs for the TI-68K calculators on the CE.
The idea is this:
Write replacements for functions from tigcclib which use the CE libraries instead.
Since the TI89 has 50 keys, same as the CE, remap CE keys to those on the TI89 in the same locations, e.g. CE_Alpha = 89_Meta.
There are several challenges I've come across:
1) Overriding library functions/macros.
For example, say I want to do
Code:
LCD_WIDTH is defined as 320 already. I can change it with
Code:
but is there a better way than this?
This also doesn't work with functions.
2) Optimization
I've written a replacement for ngetchx. However, it's quite large. (though not as nasty as my original implementation.)
Is there a way to sense the difference between these?
Code:
and
Code:
repo:https://github.com/Michael0x18/compat
The idea is this:
Write replacements for functions from tigcclib which use the CE libraries instead.
Since the TI89 has 50 keys, same as the CE, remap CE keys to those on the TI89 in the same locations, e.g. CE_Alpha = 89_Meta.
There are several challenges I've come across:
1) Overriding library functions/macros.
For example, say I want to do
Code:
#define LCD_WIDTH 160
LCD_WIDTH is defined as 320 already. I can change it with
Code:
#undef LCD_WIDTH
#define LCD_WIDTH 160
but is there a better way than this?
This also doesn't work with functions.
2) Optimization
I've written a replacement for ngetchx. However, it's quite large. (though not as nasty as my original implementation.)
Is there a way to sense the difference between these?
Code:
ngetchx();
and
Code:
short a = ngetchx();
repo:https://github.com/Michael0x18/compat