Hi, Everybody.
I'm having trouble referencing the libti99 header file properly.
・Is the location of libti99 wrong?
・Is the make of libti99 failed?
・Is there any other reason?
I would appreciate your ideas.
【Install procedure】
1.Install gcc and gcc fot ti on Ubntu 20.04.3 LTS
2.Download gcc-installer.tar.gz from
and install.
3.Get libti99 from
https://github.com/tursilion/libti99
and compile.
Then I placed the libti99 directory to
/home/user/tigcc/lib/gcc/tms9900/4.4.0/include
【Trouble】
I want to use vdp.h to compile the following code
#include <libti99/vdp.h>
void main()
{
/* VDP SETUP */
int x = set_bitmap_raw(VDP_SPR_8x8);
VDP_SET_REGISTER(VDP_REG_MODE1, x);
VDP_SET_REGISTER(VDP_REG_SIT, 7); // 1C00
/* VDP_SET_REGISTER(VDP_REG_CT, 0x80); // 2000
VDP_SET_REGISTER(VDP_REG_PDT, 0); // 0000
VDP_SET_REGISTER(VDP_REG_SDT, 3); // 1800 */
VDP_SET_REGISTER(VDP_REG_SAL,0x3E); // 1F00
/* RESTORE VRAM */
vdpmemcpy(0x0000, (unsigned char*)0x5000, 0x1000);
vdpmemcpy(0x1000, (unsigned char*)0x9000, 0x3000);
/* RETURN TO G-BASIC */
__asm__("li r0,>F000");
__asm__("li r1,>0100");
__asm__("li r15,>6000");
__asm__("movb *R0+,*R15+");
__asm__("dec r1");
__asm__("joc >0FFA");
__asm__("lwpi >6000");
__asm__("li r0,>8F00");
__asm__("li r1,>0100");
__asm__("li r15,>F000");
__asm__("movb *R0+,*R15+");
__asm__("dec r1");
__asm__("joc >0FFA");
__asm__("limi >0003");
__asm__("lwpi >F0A0");
__asm__("b @>0E5C");
}
But,I get an error code like the following and cannot build.
/home/user/tigcc/lib/gcc/tms9900/4.4.0/../../../../tms9900/bin/ld: warning: cannnot find entry symbol _start; defaulting to 000000000000a074
/tmp/ccuxOSjn.o: In function `main':
(.text+0x110): undefined reference to `set_bitmap_raw'
/tmp/ccuxOSjn.o: In function `main':
(.text+0x146): undefined reference to `vdpmemcpy'
/tmp/ccuxOSjn.o: In function `main':
(.text+0x156): undefined reference to `vdpmemcpy'
collect2: ld returned 1 exit status.
I think tms9900-gcc(or/and ld) can not referencing vdp.h , or this header file is not built properly.
I tried my best to solve this problem on my own, but I could not.
Any help in resolving this would be appreciated.
Thank you.