Author Topic: Ndless 1.7 for TI-Nspire  (Read 134648 times)

0 Members and 1 Guest are viewing this topic.

Offline bsl

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 157
  • Rating: +14/-0
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #375 on: December 14, 2010, 04:00:17 pm »
A4000000 - A4000100   interrupt vector table
A4000100 - A40096FF   screen

0x9700 == 37.75KB of screen+IVT
Leaves the remainder 80k-37.75k above the screen.
Thats interesting, I should use the console program and see for myself that
the memory above the screen repeats on real hardware.

The Ndless installer only uses screen memory - I have a great screen dump of the installation process
stopped just before the screen clears with the "Installed" dialog.
There are 4 bars - top screen bar- initial code
                         second bar - stage 1 code
                         third bar - stage 2 code
                         bottom screen - installation progress stripes -
 
EDIT: The memory does repeat - for those of you interested, run the console program and run 2 commands:

d 0  [which disassembles at A4000000]
and
d 20000 [ which disassembles at A4020000 ]

The results are the same [also A4040000,...]

For the 4 smaller 16k blocks, hexdump at:
h 10000
h 14000
h 18000
h 1c000
 
« Last Edit: December 16, 2010, 01:57:20 am by bsl »

Offline fb39ca4

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1749
  • Rating: +60/-3
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #376 on: December 14, 2010, 08:51:40 pm »
Ah, that's why there are those garbled bars when installing.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ndless 1.7 for TI-Nspire
« Reply #377 on: December 15, 2010, 04:34:04 am »
Wow it does that? O.o

That will sure reminds me of MLC TI-86 screenshots. When programs were decompressed prior execution, random garbage gradually appeared on the screen for a second.

At least if that happens on my Nspire, now I know why.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline bsl

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 157
  • Rating: +14/-0
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #378 on: December 15, 2010, 05:19:17 pm »
Here are standard declarations for os.h that are missing but in the idc files.
Some of these functions are completely untested, but here are the declarations anyway.
Some of these are already in os.h .

read_unaligned_longword       _SYSCALL1(size_t, read_unaligned_longword, void *)
read_unaligned_word       _SYSCALL1(int, read_unaligned_word, void *)
isalnum             _SYSCALL1(int, isalnum, int) 
isalpha             _SYSCALL1(int, isalpha, int)
isascii             _SYSCALL1(int, isascii, int)
isdigit             _SYSCALL1(int, isdigit, int)
islower             _SYSCALL1(int, islower, int)
isprint             _SYSCALL1(int, isprint, int)
isspace             _SYSCALL1(int, isspace, int)
isupper             _SYSCALL1(int, isupper, int)
isxdigit          _SYSCALL1(int, isxdigit, int)
toupper             _SYSCALL1(int, toupper, int)
calloc             _SYSCALL2(void*, calloc, size_t, size_t)
free             _SYSCALL1(void, free, void *)
malloc             _SYSCALL1(void*, malloc, size_t)
realloc             _SYSCALL2(void*, realloc, void *, size_t)
fprintf             ?
printf             _SYSCALLVAR(int, __attribute__((__format__(__printf__,1,2))), printf, __attribute__((unused)) const char *format, ...)
sprintf             _SYSCALLVAR(int, __attribute__((__format__(__printf__,2,3))), sprintf, __attribute__((unused)) char *s, __attribute__((unused)) const char *format, ...)
vfprintf_limit256       ?
vsprintf          _SYSCALL3(int, vsprintf, char *, const char *, va_list);
vsprintf_limit256       ?
fclose             _SYSCALL1(int, fclose, FILE *)
fgetc             _SYSCALL1(int, fgetc, FILE *)
fgets             _SYSCALL3(char *, fgets, char * , int , FILE * )
fopen             _SYSCALL2(FILE*, fopen, const char *, const char *)
fread             _SYSCALL4(size_t, fread, void *, size_t, size_t, FILE *)
fseek             _SYSCALL3(int, fseek, FILE *, long int, int)
fwrite             _SYSCALL4(size_t, fwrite, const void *, size_t, size_t, FILE *)
putc             _SYSCALL1(int, putc, int)
puts             _SYSCALL1(int, puts, const char *)
atoi             _SYSCALL1(int, atoi, const char *)
memcmp             _SYSCALL3(int, memcmp, const void *, const void *, size_t)
memcpy             _SYSCALL3(void*, memcpy, void *, const void *, size_t)
memmove             _SYSCALL3(void*, memmove, void *, const void *, size_t)
memset             _SYSCALL3(void*, memset, void *, int, size_t)
strchr             _SYSCALL2(char *, strchr, const char *, int)
strcmp             _SYSCALL2(int, strcmp, const char *, const char *)
strcpy             _SYSCALL2(char *, strcpy, char *, const char *)
strlen             _SYSCALL1(int, strlen, const char *)
strncat             _SYSCALL3(char *, strncat, char *, char *, size_t)
strncmp             _SYSCALL3(char *, strncmp,const char *,const char *, size_t)
strncpy             _SYSCALL3(char *, strncpy, char *,const char *, size_t)
strpbrk             _SYSCALL2(char *, strpbrk, const char *, const char *)
strrchr             _SYSCALL2(const char*, strrchr, const char *, int);
memrev             ?
atof             _SYSCALL1(double, atof, char *)
_fputc             _SYSCALL2(int, fputc, int, FILE *);
chdir             _SYSCALL1(int, chdir, char*)
close             _SYSCALL1(int, close, int)
mkdir             _SYSCALL2(int, mkdir, const char*, int)
open             _SYSCALL3(int, open, const char*, int,int)
read             _SYSCALL4(size_t, read, int, void *,size_t,off_t)
rename             _SYSCALL2(int, rename, const char*, const char*)
rmdir             _SYSCALL1(int, rmdir, const char *)
stat             _SYSCALL2(int, stat, const char *, struct stat *)
unlink             _SYSCALL1(int, unlink, const char *)
write             _SYSCALL4(size_t, write, int, void *,size_t,off_t)
NU_Make_Dir          _SYSCALL1(int,  NU_Make_Dir, char *)
NU_Remove_Dir          _SYSCALL1(int,  NU_Remove_Dir, char *)
NU_Get_First          _SYSCALL2(int, NU_Get_First, struct dstat *, const char * /* pattern */)
NU_Get_Next          _SYSCALL1(int,  NU_Get_Next, struct dstat *)
NU_Done             _SYSCALL1(void, NU_Done, struct dstat *)
NU_Set_Current_Dir       _SYSCALL1(void, NU_Set_Current_Dir, const char *)
NU_Current_Dir          _SYSCALL3(int,  NU_Current_Dir, char *, const char *)
NU_Open             _SYSCALL3(int,  NU_Read, char *, int, int)
NU_Close          _SYSCALL1(int,  NU_Close, int)
NU_Read             _SYSCALL3(int,  NU_Read, int, char *, int)
NU_Write                    _SYSCALL3(int,  NU_Write, int, char *, int)
NU_Seek             _SYSCALL3(int,  NU_Seek, int,int,int)
NU_Delete          _SYSCALL1(int,  NU_Delete, char *)
NU_Rename          _SYSCALL2(int, NU_Rename, char *,char *)
NU_Flush          _SYSCALL1(int, NU_Flush, int)
« Last Edit: December 15, 2010, 08:17:48 pm by bsl »

Offline fb39ca4

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1749
  • Rating: +60/-3
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #379 on: December 15, 2010, 07:37:03 pm »
The screen is the safest place to write to, because the adress never changes, and anything is allowed there.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ndless 1.7 for TI-Nspire
« Reply #380 on: December 16, 2010, 04:40:06 am »
The screen is the safest place to write to, because the adress never changes, and anything is allowed there.
Ah I see then. I guess it's a good idea unless you are in the middle of a game and don't want weird stuff to appear in the screen when walking around in a dungeon or something. :P (Although I guess maybe only one row could be used at the bottom and it wouldn't be too noticeable)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline ExtendeD

  • Project Author
  • LV8 Addict (Next: 1000)
  • *
  • Posts: 825
  • Rating: +167/-2
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #381 on: December 16, 2010, 01:35:13 pm »
bsl, thanks so much!
Ndless.me with the finest TI-Nspire programs

Offline ExtendeD

  • Project Author
  • LV8 Addict (Next: 1000)
  • *
  • Posts: 825
  • Rating: +167/-2
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #382 on: December 17, 2010, 06:16:04 pm »
I have added much of these functions to the Subversion trunk. Some have been fixed (such as toupper which should be tolower). All are automatically tested and documented on Hackspire.

I prefer not to include some of the functions because of the redundancies between the libc, POSIX and Nucleus.
Ndless.me with the finest TI-Nspire programs

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Ndless 1.7 for TI-Nspire
« Reply #383 on: December 17, 2010, 06:18:32 pm »
Cool to hear! :D
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline derangedyeti

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +0/-0
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #384 on: November 22, 2011, 01:10:56 am »
Hey everyone, first time poster, but I really need help, I just got the nspire with the touchpad, non CAS, and I accidentally installed 1.7 with the touchpad, the trick with DOC,EE,Enter, on does not work and I am quite distraught. Please help me unbrick this thing.

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Ndless 1.7 for TI-Nspire
« Reply #385 on: November 22, 2011, 03:57:51 am »
Well, do you mean ndless started acting weird, and your calculator froze?
Just try to push on the back reset button, and see if that helps :)

Offline derangedyeti

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +0/-0
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #386 on: November 22, 2011, 03:34:46 pm »
Well I everytime I reset it, it loads 1.7, and I dont have the clickpad, I only have the touchpad, this causes it to be in a constant error screen and I cannot delete the current operating OS, not eve n with a combination of keys
« Last Edit: November 22, 2011, 03:42:21 pm by derangedyeti »

Offline shrear

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 193
  • Rating: +17/-0
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #387 on: November 22, 2011, 03:54:11 pm »
Get a needle or something similar, press the reset-button at the back with it, while keeping it pressed down press Doc+Enter+EE, then while keeping these pressed release the reset-button and hold these three until the maintenance menu appears. Then just delete the OS and install another.
« Last Edit: November 22, 2011, 03:54:59 pm by shrear »

Offline ExtendeD

  • Project Author
  • LV8 Addict (Next: 1000)
  • *
  • Posts: 825
  • Rating: +167/-2
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #388 on: November 22, 2011, 04:01:27 pm »
Just to be sure, does this have anything to do with Ndless?
Ndless.me with the finest TI-Nspire programs

Offline Goplat

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 289
  • Rating: +82/-0
    • View Profile
Re: Ndless 1.7 for TI-Nspire
« Reply #389 on: November 22, 2011, 06:35:53 pm »
Get a needle or something similar, press the reset-button at the back with it, while keeping it pressed down press Doc+Enter+EE, then while keeping these pressed release the reset-button and hold these three until the maintenance menu appears. Then just delete the OS and install another.

Note that on the Touchpad you have to press "T" to select option 2 from the maintenance menu.
Numquam te deseram; numquam te deficiam; numquam circa curram et te desolabo
Numquam te plorare faciam; numquam valedicam; numquam mendacium dicam et te vulnerabo