Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

How I can make a program which does not need any kernel, but which is greater than 8K and which works on AMS 2.03 as well (or greater than 24K and which works on AMS 2.04 and AMS 2.05 as well)?

AMS greater Kernel program
0
Posted

How I can make a program which does not need any kernel, but which is greater than 8K and which works on AMS 2.03 as well (or greater than 24K and which works on AMS 2.04 and AMS 2.05 as well)?

0

In fact, you need to make a short program (a so-called “launcher”) which will call the main program, bypassing the TIOS (to skip the software protection). If the main program is “example.c”, I recommend the following “launcher”: // Launcher for program called “example” #define USE_TI89 #define USE_TI92PLUS #define USE_V200 #include #define fatal(s) ({ST_showHelp (s); return;}) void _main (void) { char *fptr, *cptr; unsigned short plen; SYM_ENTRY *SymPtr = DerefSym (SymFind (SYMSTR (“example”))); HANDLE h; if (!SymPtr) fatal (“Program not found”); h = SymPtr->handle; if (HeapGetLock (h)) { cptr = fptr = HeapDeref (h); h = 0; } else { cptr = fptr = HLock (h); } plen = *(short*)(cptr) + 3; if (SymPtr->flags.bits.archived) { if (!(cptr = malloc (plen))) { if (h) HeapUnlock (h); fatal (“Out of memory”); } memcpy (cptr, fptr, plen); } enter_ghost_space (); EX_patch (cptr + 0x40002, cptr + plen + 0x3FFFE); ASM_call (cptr + 0x40002); if (h) HeapUnlock (h); if (cptr != fptr) free (

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123