And here comes a major problem: nspire_emu doesn't support file transfers for OS 2.x, so debugging is not easy.
Someone once suggested to transfer the file from OS 1.7 and then upgrade the OS. But I get a crash on OS startup, and anyway I wild get mad after a few debug sessions.
Ncubate directly relies on the link features of Goplat's original nspire_emu.
This is a pure problem of file transfer and does not depend on the version of the .tns.
Does this include CAS touchpad?
And here comes a major problem: nspire_emu doesn't support file transfers for OS 2.x, so debugging is not easy.
Someone once suggested to transfer the file from OS 1.7 and then upgrade the OS. But I get a crash on OS startup, and anyway I wild get mad after a few debug sessions.
Index: apb.c
===================================================================
--- apb.c (revision 56)
+++ apb.c (revision 57)
@@ -15,7 +15,7 @@
case 0x10: case 0x14: case 0x1C: case 0x20: case 0x24:
return 0;
case 0x18:
- return i == 1 ? 1 : 0;
+ return 0x0104 >> (i * 8) & 0xFF;
}
}
return bad_read_word(addr);
Edit: what do you mean by getting a crash on OS startup?
Purging temporary files...
Launching system...
Error at PC=1028C97C: r0 = ff000000, nav user = 11f1ee14
Backtrace:
Frame PrvFrame Self Return Start
1800FAC4: 1800FB64 1800FAC8 1028C288 1028C924
1800FB64: 1800FB9C 1800FB68 1027D35C 1028C1F8
1800FB9C: 1800FBE4 1800FBA0 1027D138 1027D2CC
1800FBE4: 1800FC14 1800FBE8 1027CFB0 1027CFF0
1800FC14: 1800FC4C 1800FC18 1027CC74 1027CEF4
1800FC4C: 1800FCC4 1800FC50 1028B5BC 1027C6D8
1800FCC4: 1800FCE4 1800FCC8 1028B070 1028B10C
1800FCE4: 1800FD14 1800FCE8 101C7B3C 1028AFD8
1800FD14: 1800FD34 1800FD18 101C7C58 101C7B04
1800FD34: 1800FD9C 1800FD38 1000124C 101C7BC0
1800FD9C: 1800FDD4 1800FDA0 102F0F70 10000FC8
1800FDD4: 1800FDF4 1800FDD8 10265938 102F0F24
1800FDF4: 1800FDF8 1800FDF8 00000000 10265920
Error at PC=1028C97C: r0 = ff000000, nav user = 11f1ee14Yeah, it's not good to be resetting while leaving the usblink hack active, especially to a different OS version where addresses will have changed. I should fix it to clean everything up on reset. Anyway, shouldn't be a problem with the method I described.
But December the 4th was just last week...This, I think we need to be patient about when it will come out. Life happens and such project can take lots of effort. It takes ages to discover exploits in softwares to allow jailbreaks. With the TI-81, it took 19 years.
I have professional and personal changes at the moment, please don't except any progress that soon on Ndless.
But hopefully, it won't be as long with the nspire. The only reason the 81 took so long to jb was there was no link port, so nobody tried up until recently. It will be finished with time. We were probably thinking ndless 1.7 would always be in beta, and then suddenly, it comes out.This, and people seemed less interested to jailbreak it. Kinda like old Casio calcs, I guess. I would say another bunch of months and Ndless 2.0 is out, judging by the time between Ndless 1.0 and 1.7. Maybe shorter, if Ndless 2.0 works similarly to 1.7. I bet we'll have Ndless 2.0 before next Summer.
:banghead: Doesn't look like anything new has come out in a while. Any news???
But hopefully, it won't be as long with the nspire. The only reason the 81 took so long to jb was there was no link port, so nobody tried up until recently. It will be finished with time. We were probably thinking ndless 1.7 would always be in beta, and then suddenly, it comes out.This, and people seemed less interested to jailbreak it. Kinda like old Casio calcs, I guess. I would say another bunch of months and Ndless 2.0 is out, judging by the time between Ndless 1.0 and 1.7. Maybe shorter, if Ndless 2.0 works similarly to 1.7. I bet we'll have Ndless 2.0 before next Summer.
How about a first alpha version this weekend?
How about a first alpha version this weekend?
How about a first alpha version this weekend?
Yay! Sounds great ExtendeD! Thank you again for all of the wonderful work you have done to open the Nspire to third part development! :)
The first unstable development version is now available for developers! http://ourl.ca/8160/148895
It currently only supports OS 2.0.1 non-CAS.
Compatibility with Touchpad models has not yet been tested, I would be interested by any feedback. If it works, programs run on a Touchpad will use the Clickpad key layout and will be difficult to use.
What does CTFD means? ???:banghead: Doesn't look like anything new has come out in a while. Any news???
Ack, ctfd, it will get here when it does
How about a first alpha version this weekend?That would rule O.O. I would be interested in testing eventually. I hope it eventually works on Touchpads. :D
Doesn't gbc4nspire contain hard-coded addresses of syscalls anyway?
Here is a list of the programs that worked and did not work:
Worked:
Ndless Demo
NESpire
Block Dude
Trapped
Chip's Challenge
Calc84's Console
Crash:
gbc4nspire
mViewer
ndshell
Also, I have had some odd things happen after running an Ndless program while using the touchpad. First, once the arrow keys stopped working after running a program, and second, it froze on the home screen once. Both of these issues were fixed with a reboot. I have not had any of these problems while using the clickpad.
You need OS 2.0.1, not 2.1. :P
Doesn't gbc4nspire contain hard-coded addresses of syscalls anyway?The version hex-edited by Goplat should work on all Ndless versions 1.7 or greater, I should think. It might work now that the NU_Get_First routine has been fixed
Yep. Didn't it have more bugs too?You need OS 2.0.1, not 2.1. :P
2.1 is bad anyway, killing 1Mb of free space for visibly nothing.
Here are the Touchpad Definitions from Ndless 1.4 - copy and paste the blockNice. Do you think Ndless 1.4 should be included with 1.7 on ticalc.org by the way? I thought it would be nice to have all Ndless versions available in one download (for those who prefer using older/smaller OSes)
int this file into Ndless 2.0 common.h
Quote from: DJ Omnimaga on Today at 19:45:04I was waiting for a proven stable version of 1.7 to come out, before updating Ndless 1.3/1.4
Nice. Do you think Ndless 1.4 should be included with 1.7 on ticalc.org by the way? I thought it would be nice to have all Ndless versions available in one download (for those who prefer using older/smaller OSes)
Here's another possible workaround, that just takes a reboot instead of a full OS reinstall: create a patched boot2 that doesn't try to load the OS but goes straight into download mode. (e.g. patch the code at offset 0x1244 from 31 06 00 eb to 15 00 00 ea). Send documents using the patched boot2 (may need to set the target folder to the empty string, it doesn't seem to like sending to Examples). Save flash, quit, and restart using the original boot2.I used the /d option on the emulator instead, found and changed the bytes at 0x11801244 and
Press <Enter> to download through the serial port.
Checking battery level.
Battery level is OK.
Begin XMODEM file transfer.
not sure what to do next ?Set the target folder to an empty string, connect, send the documents, save the flash and restart the emulator the usual way.
Set the target folder to an empty string, connect, send the documents, save the flash and restart the emulator the usual way.That worked: Don't hit <Enter> in the console window to download through the serial port.
By the way, can Ndless modify the OS inside archive?
apcalc: weird...Ok thanks for the info.By the way, can Ndless modify the OS inside archive?
The file system can be written to, but the original OS image loaded at boot time cannot be changed since it is signed.
Serial port? ??? I thought the Nspire only supported USB and that serial ports were long gone. ???Quoteserial port.
One bug fixed:
bootstrapper.S CAS line should look like this:
.long 0x101EBAA0, 0x101ebba4
Now hello.tns,particles.tns, NES game,console.tns all work.
ndless_tests fails - very likely a bug in syscalls_cas_2_0_1.c
Levak: strange. Are you testing on real HW or on nspire_emu?HW :
int isalnum(int c) { return isdigit(c) || isalpha(c); }
int isalpha(int c) { return islower(c) || isupper(c); }
so it's very easy to confuse them if you're looking at a disassembly without symbols.Levak, according to your screenshot, the issue happens somewhere in stage1.c, and most probably in fopen since you don't have the third bar created by the fread. Either there is not enough memory to (f)open ndless_resources, or it simply cannot be found.
Could you please try the installation with much less files on the calculator, if it's not a problem for you to delete them?
static inline BOOL is_cas_model(void) {
return *(volatile unsigned *)0x900A002C == 0x04000001;
}
void ut_read_os_version_index(void) {
// Stage1 is built specifically for an OS version. Dispatch accordingly.
// OS_VERSION_INT and OS_VERSION are passed by the build script.
#ifdef STAGE1
BOOL isncas = !is_cas_model();
// OS-specific
#if OS_VERSION_INT == 17
ut_os_version_index = isncas ? 0 : 1;
#endif
#if OS_VERSION_INT == 201
ut_os_version_index = isncas ? 2 : 3;
#endif
...
also there is often no change at all when I try to open them, I have to press several times enter (or menu 4) sometimes
I'm trying to add support for OS 1.7 back, but I am buming into a strange problem.
I have defined this function in libndls.h:Code: [Select]static inline BOOL is_cas_model(void) {
return *(volatile unsigned *)0x900A002C == 0x04000001;
}
neg r1, r0 @ r1 = -r0, carry set if r0 == 0
adc r0, r1 @ r0 is now 1 if it was 0 before, 0 otherwise
Index: cpu.c
===================================================================
--- cpu.c (revision 58)
+++ cpu.c (working copy)
@@ -861,7 +861,7 @@
case 0x6: /* SBC */ res = *dst = add(*dst, ~src, arm.cpsr_c, true); break;
case 0x7: /* ROR */ res = *dst = shift(3, *dst, src & 0xFF, true); break;
case 0x8: /* TST */ res = *dst & src; break;
- case 0x9: /* NEG */ res = *dst = -src; break;
+ case 0x9: /* NEG */ res = *dst = add(0, ~src, 1, true); break;
case 0xA: /* CMP */ res = add(*dst, ~src, 1, true); break;
case 0xB: /* CMN */ res = add(*dst, src, 0, true); break;
case 0xC: /* ORR */ res = *dst |= src; break;
Programs need to be rebuilt with this version to handle properly the layout. Some programs which depends on Clickpad-specific keys will need slight changes (such as BlockDude which uses the Home key).
1) Make sure to disconnect the calculator from the computer before running ndless_installer. What is your average success rate with this condition? It should be around 2/3.
arrowkeys still don't workWith which program do you have problems?
Would you have better luck with this build?
Ndless as such works fine for me with this versionWould you have better luck with this build?
I couldn't use that build in a touchpad (if that's the same one I used, since the version name is the same)
I couldn't use that build in a touchpad (if that's the same one I used, since the version name is the same)
Blockdude
and I already use version 348
I compared the "common.h"s they are identical.
I couldn't use that build in a touchpad (if that's the same one I used, since the version name is the same)
It isn't. Your problem was a wrong OS version if I remember.
Currently only supports OS 1.7 CAS/non-CAS and OS 2.0.1 CAS/non-CAS.
Support for OS 2.1 may be added later but is not the priority.
I suspect a build issue, so I'm sharing my binaries. Did you fully rebuild Ndless with "make clean all" at the root?
Also did you rebuild BlockDude?
apcalc: Does this mean your touchpad is working again? Good to see the problem wasn't permanent.
For me, arrow keys work in OS, but not in block dude. Also, particles doesn't always shift the screen. For some reason, after I installed OS, then connected to USB, then opened block dude, then exited and opened particle demo_beta 1.7, I see no shift when I run any of the particle demos.
I have the Nspire Touchpad CAS. I downloaded the binaries on page 7; the installer worked, as did the particle demo, so nice job! However, after I exit the particle demo, the left ~10 pixels are shifted to the right of the screen for some reason. Additionally, gbd4nspire 0.8 initiates with a black screen, then the calc crashes. Calc also crashes when the "hello" example are run, while "hella" does nothing. The tests don't work (I'm using the USB, not RS232, adaptor).Are you using the updated version of gbc4nspire that is for Ndless 1.7 and up?
Not sure how useful the above is (probably not), but if anyone wants me to test software on my calc I should be able to. :)
I have the Nspire Touchpad CAS. I downloaded the binaries on page 7; the installer worked, as did the particle demo, so nice job! However, after I exit the particle demo, the left ~10 pixels are shifted to the right of the screen for some reason. Additionally, gbd4nspire 0.8 initiates with a black screen, then the calc crashes. Calc also crashes when the "hello" example are run, while "hella" does nothing. The tests don't work (I'm using the USB, not RS232, adaptor).Are you using the updated version of gbc4nspire that is for Ndless 1.7 and up?
Not sure how useful the above is (probably not), but if anyone wants me to test software on my calc I should be able to. :)
I'm guessing different addresses/layout need to be found for CAS Touchpad.They are already fund and as far as I understand also implemented in "common.h" but it seem not to work for us :(
int main(void){
.
.
unsigned intmask = TCT_Local_Control_Interrupts(0);
.
.
TCT_Local_Control_Interrupts(intmask);
return 0;
}
See if this fixes the Touchpad probem.utils_light_thumb_os-1.7.o: In function `ut_calc_reboot':
utils.c:(.text+0xcc): undefined reference to `__builtin_unreachable'
arm-none-linux-gnueabi-objcopy -O binary ndless_core.elf ndless_core.bin
stage2_hexsize=`wc -c ndless_stage2.bin | cut -f1 -d' ' | xargs printf '%04x'` \
&& test -n "$stage2_hexsize" \
&& echo -e -n "\x${stage2_hexsize:2:2}\x${stage2_hexsize:0:2}\x00\x00" > ../calcbin/ndless_resources.tns
/bin/sh: Bad substitution
make[1]: *** [ndless_resources.tns] Error 2
make[1]: Leaving directory `/home/cs/trunk/arm'
make: *** [subdirs] Error 1
#define KEY_NSPIRE_UP KEYTPAD_(0x1C, 0x040, 0x18, 0x040)
#define KEY_NSPIRE_RIGHT KEY_(0x14, 0x008)
#define KEY_NSPIRE_DOWN KEY_(0x14, 0x080)
#define KEY_NSPIRE_LEFT KEYTPAD_(0x1C, 0x010, 0x18, 0x020)
Tried installing the build from page 7 on my Nspire, but without success. After 50 popups of "format not supported" errors and reboots, I gave up. I made sure not to have any special characters in folder names, and even tried with the calc plugged and unplugged into the PC, without results. Am I missing something?
Info:
Nspire non-CAS Touchpad
OS 2.0.1 (modified version with TNOC without boot2 and examples - maybe this is the problem?)
Old HW version (no power bug on OS 1.1)
Actually, the arrow and click keys cannot be checked the same way as the other keys on the touchpad. That mapping is actually for some sort of touchpad prototype which is supported by the OS (which is what nspire_emu uses, and thus where this faulty key mapping comes from).
Nice work, critor - I knew it would be a matter of time before somebody
would make a better image than what I posted on UTI. I knew what I had was temporary anyway.
How did you edit the original image ? The usual graphics tools ?
Try this work around in an Ndless program:
Ctrl-8 UP
Ctrl-4 LEFT
Ctrl-6 RIGHT
Ctrl-2 DOWN
I chose these keys because it should be easy to remember and use.
Still being tested right now. They make sure it's bug-free or stable enough before release, otherwise the forums would get flooded with "My calc is broken I will kill you" messages. :P
However, after I exit the particle demo, the left ~10 pixels are shifted to the right of the screen for some reason.
As a suggestion to staff, links to OS 2.0.1 should probably be added to the first post, in case some people miss the other topic outside the Ndless sub-forum.
It remains 5 days before Ndless birthday, isn't it ? :D
EDIT: I tried compiling myself on Ubuntu, but I'm gettingQuoteutils_light_thumb_os-1.7.o: In function `ut_calc_reboot':
utils.c:(.text+0xcc): undefined reference to `__builtin_unreachable'
Actually, the arrow and click keys cannot be checked the same way as the other keys on the touchpad. That mapping is actually for some sort of touchpad prototype which is supported by the OS (which is what nspire_emu uses, and thus where this faulty key mapping comes from). I personally have no idea how to check the touchpad, but Goplat mentioned some OS routines that can be used.
Could anyone try Goplat's http://ourl.ca/8160/156737]keypad swap (http://) suggestion?can it be that you placed the "[/url" at the wrong place?
Could anyone try Goplat's keypad swap (http://ourl.ca/8160/156737) suggestion?(link corrected)
So to sum up the previous posts:
1) The dynamic remap available on the HEAD of the SVN repository works for nobody, right?. Strangely it works for me on nspire_emu.
/Kn - set keypad type (2 = TI-84 Plus, 3 = Touchpad)Keypad type 3 was a touchpad prototype or something, which apparently set appropriate directional key bits in 900E0010-900E002F when the touchpad was pressed down. Keypad type 4 is the touchpad that was actually sold. It never sets directional key bits. Instead, you have to use the I²C (which is not emulated yet) to get the touch position and whether it's pressed down or not.
Wish, this actually exists?
Could there be some execution protection on the heap, but not for all the allocations?Highly unlikely. nSpire is ARM9 and XN bit was only introduced in ARMv6. It looks more like some kind of timing issue.
But with the interrupts masked, what could interfer?Most probable cause is caches. Read this (http://blogs.arm.com/software-enablement/141-caches-and-self-modifying-code/) - does it look like what you are seeing?
tc_loop: MRC p15, 0, r15, c7, c10, 3 @test and clean DCache
BNE tc_loop
mov r0,#0
MCR p15, 0, r0, c7, c7, 0 @invalidate ICache and DCache
The following issue has been fixed:I am confused, does the strikethrough means you had it fixed, but then you discovered it was not and you added the [ s ] tag to your text so people disregard the post? ???
Installation message replaced by a document format warning on real harware:
The program loader is called before it is installed, earlier than on OS 1.7. The issue doesn't appear on nspire_emu.
The following issue has been fixed:I still get the format warning message. (I did "make clean", before the rebuild (revision 351) )
Installation message replaced by a document format warning on real harware:
The program loader is called before it is installed, earlier than on OS 1.7. The issue doesn't appear on nspire_emu.
The following issue has been fixed:I still get the format warning message. (I did "make clean", before the rebuild (revision 351) )
Installation message replaced by a document format warning on real harware:
The program loader is called before it is installed, earlier than on OS 1.7. The issue doesn't appear on nspire_emu.
So this isn't fixed yet...
Could someone please build the latest release for me? Or explain step-by-step how to do it? (I'm sorry for being a n00b.) I can't seem to figure out how to setup everything myself... :(
I still get the format warning message. (I did "make clean", before the rebuild (revision 351) )
So this isn't fixed yet...
But with the interrupts masked, what could interfer?Most probable cause is caches. Read this (http://blogs.arm.com/software-enablement/141-caches-and-self-modifying-code/) - does it look like what you are seeing?
Ah yes, caches could be a big issue. In the Ndless program loader, after loading a program try running this: (info taken from the arm926ej-s manual)
I am confused, does the strikethrough means you had it fixed, but then you discovered it was not and you added the [ s ] tag to your text so people disregard the post? ???
/* Each entry matches a symbol in syscalls.h. This file is generated by mksyscalls.sh. */
unsigned syscalls_light_ncas_2_1[] = {
0X102F75C0
, 0X102F77B4
, 0X102F78F0
, 0X102F6EAC
, 0X102F508C
, 0X102FDAE0
, 0X102F7DC8
, 0X102F37D0
};
/* Each entry matches a symbol in syscalls.h. This file is generated by mksyscalls.sh. */
unsigned syscalls_light_cas_2_1[] = {
0X102F7E90
, 0X102F8084
, 0X102F81C0
, 0X102F777C
, 0X102F595C
, 0X102FE3B0
, 0X102F8698
, 0X102F40A0
};
Error at PC=0000032C: Cannot shift memory offset by register
Backtrace:
Frame PrvFrame Self Return Start
1800E06C: 1800E0DC 1800E070 102086F0 1020BC24
1800E0DC: 1800E14C 1800E0E0 101FF880 102071C4
1800E14C: 1800E194 1800E150 101FF294 101FF7E0
1800E194: 1800E8B4 1800E198 10041A1C 101FF1F4
1800E8B4: 1800E93C 1800E8B8 1002B32C 100419C8
1800E93C: 1800EA6C 1800E940 1000A684 1002B2E8
1800EA6C: 1800ECB4 1800EA70 101D5684 1000A620
1800ECB4: 1800ECF4 1800ECB8 101D3F00 101D51C0
1800ECF4: 1800FA54 1800ECF8 1000E1F0 101D3D48
1800FA54: 1800FAA4 1800FA58 1000EAA8 1000E180
1800FAA4: 1800FABC 1800FAA8 1025B22C 1000E8F0
1800FABC: 1800FB0C 1800FAC0 101C701C 1025B164
1800FB0C: 1800FCB4 1800FB10 101C7364 101C6EEC
1800FCB4: 1800FCD4 1800FCB8 101C73EC 101C723C
1800FCD4: 1800FD34 1800FCD8 1000F16C 101C73BC
1800FD34: 1800FD9C 1800FD38 100012A4 1000EF5C
1800FD9C: 1800FDD4 1800FDA0 102F2640 10000FE8
1800FDD4: 1800FDF4 1800FDD8 10279F40 102F25F4
1800FDF4: 1800FDF8 1800FDF8 00000000 10279F28
debug>
Ah yes, caches could be a big issue. In the Ndless program loader, after loading a program try running this: (info taken from the arm926ej-s manual)Code: [Select]tc_loop: MRC p15, 0, r15, c7, c10, 3 @test and clean DCache
BNE tc_loop
mov r0,#0
MCR p15, 0, r0, c7, c7, 0 @invalidate ICache and DCache
I have commited a version that installs on OS 2.1.0 but crashes in ndless_tests, there's probably a wrong address for one of the syscalls.After ten reboots I downgraded back to 2.0 (with the emu I get three bars then reboot; on hw it's to fast to see the bars)
I say that the OS functions should not be used, as they certainly do not exist for OS versions less than 2.0. libndls functions to interface with the touchpad might be a good idea. Also, that console idea sounds terrific.
- Compatibility with the Touchpad arrows: According to Goplat the hardware interface is not simple, I'm not sure how to add this. Should a function that implement the protocol be added to libndls? Could it have the same signature as isKeyPressed() for the migration of existing program to be transparent? Or should we move instead to OS functions, if they exist?
- A simple console: it would integrate with programs through stdin and stdout/stderr (replacing the default RS232 interface), to make ports of non-TI-Nspire programs easier. There would be a prompt, the keyboard would be used to type in strings, echo-ed on the screen. stdout/stderr would be displayed on the scrolling screen.
I may also create a simple shell with history and auto-completion of file names to make possible the execution of command-line tools with arguments.
Now I feel there are still two main features to be added before moving to the beta-testing phase:I too had the console idea going back to when bwang wanted to print text to the screen.
- Compatibility with the Touchpad arrows: According to Goplat the hardware interface is not simple, I'm not sure how to add this. Should a function that implement the protocol be added to libndls? Could it have the same signature as isKeyPressed() for the migration of existing program to be transparent? Or should we move instead to OS functions, if they exist?
- A simple console: it would integrate with programs through stdin and stdout/stderr (replacing the default RS232 interface), to make ports of non-TI-Nspire programs easier. There would be a prompt, the keyboard would be used to type in strings, echo-ed on the screen. stdout/stderr would be displayed on the scrolling screen.
I may also create a simple shell with history and auto-completion of file names to make possible the execution of command-line tools with arguments.
shrear, that's strange. Could you please try this update which brings full support, at least on nspire_emu?
I wanted to take my chance with particles, but now, I get this errors :
(...)
/tmp/ccd8YOWW.s: Assembler messages:
/tmp/ccd8YOWW.s:38: Error: lo register required -- `ldmfd sp!,{r0}'
/tmp/ccd8YOWW.s:44: Error: selected processor does not support Thumb mode `stmfd sp!,{r0}'
[/b]
Would this mean GCC is trying to build particles in Thumb mode? Why?
Can you build Ndless itself with your version of GCC without any problems?
The "document format not supported" error is probably caused by a bad file path.
So it isn't worth fixing anything there?
^^ Don't bother. PTT is there for a reason. You're testing, not playing GBC.
^^ Don't bother. PTT is there for a reason. You're testing, not playing GBC.
Yeah true, but PTT is there to not let you open documents other than for the calculator's functionality. This can include forbidding opening documents with CAS/other tools.
I read through the whole topic... And I have just upgraded to 2.0.1.60 and have built ndless2.0r360 and I ALWAYS either get a "Not Supported" message, reboot, or freeze. It never succeeds. The file is named "ndless_installer" in the root directory, and its not connected to the computer.
Any help guys?
Thanks :D
edit: I believe I remember someone saying that arrows have been mapped to 1-9? Does this work in gbc4nspire or not?
Thanks :Dgbc4nspire came out before the touchpad was even announced. It'll probably need another hex editing session to make a touchpad version (perhaps even with support for reading the actual arrow keys if that could be pulled off -- I've been checking out how to interface with it)
edit: I believe I remember someone saying that arrows have been mapped to 1-9? Does this work in gbc4nspire or not?
Okay. Just wondering because I'm new to the Nspire, due to me losing my faithful TI-84 Plus Silver... With a few Axe source codes I never finished lol.
It clearly tries to build in thumb state, I don't know why. May be you could try to add the "-marm" GCC flag to the Makefile?µAnswer to your question.
I opened a ticket for your first report (#55 (http://www.unsads.com/projects/nsptools/ticket/55)).
According to IRC logs today, there are rumors that Ndless 2.0 now works on OS 2.1! O.Orumors? It's a fact. :)
All the tests now pass on OS 2.1.0 CAS and non-CAS.
Meh? I was sucessful in running stuffs after the "Not Supported" Message.
According to IRC logs today, there are rumors that Ndless 2.0 now works on OS 2.1! O.OJust a few pages before :
Crashes and the unrelated loading loop of elder OSes and Ndless packages seem to be loaded with them, and keymapping may be the least of our worries.
I know about the loop myself (caused by the absence of appropriate input?) and I've advised my peers to stay with the oldschool models.
Just being cautious I'd presume, you're probably totally correct, Critor (though I'd wait a fewThe OSes are still available on TI website, if something wrong happens. http://ourl.ca/7373monthsyears for the beta myself). Although there is no hard evidence of total OS annihilation, I wouldn't want to rely on scouring the forums for fixes if there are. A most users imply "crashes" without supplying a cause, the malware-filled (not to mention illegal) OS dumps from rapidshare may be my only backup if something unthinkable happens.
Thanks for the help
PS: Is downgrading to 1.7 is the only way to run the ndless currently. If so, there is absolutely no way my Nspire (being both touchpad hardware and CAS software) will be able to. I know about the loop myself (caused by the absence of appropriate input?) and I've advised my peers to stay with the oldschool models.
make all in libndls...
make[1]: Entering directory '/c/ndless/libndls'
nspire-gcc -os -nostdlib -c any_key_pressed.c
./nspire-gcc: line 27: arm-none-eabi-gcc: command not found
make[1]: *** [any_key_pressed.o] Error 127
make[1]: Leaving directory '/c/ndless/libndls'
make: *** [subdirs] Error 1
any_key_pressed.c:22:16: fatal error: os.h: No such file or directory
compilation terminated
make[1]: ***[any_key_pressed.o] Error 1
the malware-filled (not to mention illegal) OS dumps from rapidshareWell, since the Nspire OS images are signed with 1024-bit RSA keys, third-party-modified versions cannot be transferred to a calculator without it rejecting them :)
7za: command not found
(apcalc) Touchpad direction keys become sometimes unusable from the OS after running a program:
Only these keys are affected. Sometimes a reboot doesn't fix the issue, but reinstalling the OS does.
I am not sure what to do with the following open issue:Quote(apcalc) Touchpad direction keys become sometimes unusable from the OS after running a program:
Only these keys are affected. Sometimes a reboot doesn't fix the issue, but reinstalling the OS does.
apcalc, did you see it again since the Touchpad support has been fixed?
Did anyone else see it on its own hardware?
Should I keep it open?
only the 7zip directory, there is for some confusing reason no 7zip bin.
make[2]: Entering directory '/c/ndless/arm/tests'
nspire-gcc -os -wall -w -c tests.c
tests.c:24:16: fatal error: os.h: No such file or directory
There are no binaries on purpose because then people who don't know what they're doing and don't understand the risks of using beta software could screw up their calc. No offense to you, though.
Did you remember to add the ndless directory to your PATH variable?
but blockdude for os 1.7 not. Is there a new version for ndless 2.0?
Note: My OS is 2.1
show_dialog_box2() requires on OS 2.1.0 the interrupts to be enabled else the keyboard won't work. I will provide a wrapper function to make this transparent. Until then some programs such as Block Dude will hang when showing popups.
EDIT: What are the keys used in the blockdude on the touchpad
Block Dude would need to be updated by apcalc for compatibility with OS 2.1:show_dialog_box2() requires on OS 2.1.0 the interrupts to be enabled else the keyboard won't work. I will provide a wrapper function to make this transparent. Until then some programs such as Block Dude will hang when showing popups.
But it's interesting that the pointer still work without the interrupts.
unsigned intmask = TCT_Local_Control_Interrupts(0);
... Code for Block Dude ...
TCT_Local_Control_Interrupts(intmask);
Yes, that would fix it :)
But I will add very soon (hopefully this weekend) a wrapper function which also converts the strings to UTF-16, maybe you prefer to way for it and use it.
In gbc4nspire I can't use the arrows too. Will this problems be solved if I downgrade to 2.0?
SatanicToothpaste: what do you want exactly from us to help you?User was sent a warning because it is definitively clear he doesn't have any respect for the work from people who spend time debugging/working on/testing Ndless. People should be glad that people actually made Ndless.
I am sorry to find most of your posts related to Ndless quite offensive.
To sum up: you are annoyed (http://ourl.ca/8160/152427) not to see any release of a program you are not sure what it is exactly (http://ourl.ca/7717/161485), and at the same time complaining about the poor choices (http://ourl.ca/8160/160837) being made on priorities, and the low quality (http://ourl.ca/8160/160848) of an alpha version. Am I wrong?
nspire-gcc -Os -nostdlib -std=c99 -c clear_cache.c
clear_cache.c: In function 'clear_cache':
clear_cache.c:27:2: error: 'asm' undeclared (first use in this function)
clear_cache.c:27:2: note: each undeclared identifier is reported only once for each function it appears in
clear_cache.c:27:6: error: expected ';' before 'volatile'
make[1]: *** [clear_cache.o] Error 1
Meh? I was sucessful in running stuffs after the "Not Supported" Message.
So this bug comes back :(
Juckel@JULIAN /ndless
$ make dist
rm -rf dist
Clearing in tools...
make[1]: Entering directory `/ndless/tools'
Clearing in build...
make[2]: Entering directory `/ndless/tools/build'
cd ../../bin && rm -f nspire-gcc nspire-ld nspire-as || :
make[2]: Leaving directory `/ndless/tools/build'
Clearing in MakeLoader...
make[2]: Entering directory `/ndless/tools/MakeLoader'
rm -f ../../bin/MakeLoader.exe
make[2]: Leaving directory `/ndless/tools/MakeLoader'
make[1]: Leaving directory `/ndless/tools'
Clearing in libndls...
make[1]: Entering directory `/ndless/libndls'
rm -rf *.o *.elf *.a
rm -f ../lib/libndls.a
make[1]: Leaving directory `/ndless/libndls'
Clearing in arm...
make[1]: Entering directory `/ndless/arm'
rm -rf *.o *.bin *.elf *.xml *.zip
rm -rf ../calcbin/ndless_installer*.tns ../calcbin/ndless_resources.tns
make all in tests...
make[2]: Entering directory `/ndless/arm/tests'
rm -f *.o *.elf
rm -f ../../calcbin/tests/ndless_tests.tns
rm -f ../../calcbin/tests/ndless_keys.tns
rm -f ../../calcbin/tests/ReadMe.txt
make[2]: Leaving directory `/ndless/arm/tests'
make[1]: Leaving directory `/ndless/arm'
Clearing in samples...
make[1]: Entering directory `/ndless/samples'
Clearing in hella...
make[2]: Entering directory `/ndless/samples/hella'
rm -f *.o *.elf
rm -f ../../calcbin/samples/hella.tns
make[2]: Leaving directory `/ndless/samples/hella'
Clearing in hello...
make[2]: Entering directory `/ndless/samples/hello'
rm -f *.o *.elf
rm -f ../../calcbin/samples/hello.tns
make[2]: Leaving directory `/ndless/samples/hello'
Clearing in particles...
make[2]: Entering directory `/ndless/samples/particles'
rm -f *.o *.elf
rm -f ../../calcbin/samples/particles.tns
make[2]: Leaving directory `/ndless/samples/particles'
rm -f ../calcbin/samples/ReadMe.txt
make[1]: Leaving directory `/ndless/samples'
rm -rf calcbin
rm -rf bin lib
mkdir -p dist/src
cp -r `ls | grep -v dist` dist/src
find dist -name Makefile.config | xargs rm -rf
make all in tools...
make[1]: Entering directory `/ndless/tools'
make all in build...
make[2]: Entering directory `/ndless/tools/build'
cp nspire-gcc nspire-ld nspire-as ../../bin
make[2]: Leaving directory `/ndless/tools/build'
make all in MakeLoader...
make[2]: Entering directory `/ndless/tools/MakeLoader'
gcc -W -Wall MakeLoader.c -o ../../bin/MakeLoader.exe
make[2]: Leaving directory `/ndless/tools/MakeLoader'
make[1]: Leaving directory `/ndless/tools'
make all in libndls...
make[1]: Entering directory `/ndless/libndls'
nspire-gcc -Os -nostdlib -c any_key_pressed.c
nspire-gcc -Os -nostdlib -marm -c clear_cache.c
nspire-gcc -Os -nostdlib -c clrscr.c
nspire-gcc -Os -nostdlib -c feof.c
nspire-gcc -Os -nostdlib -c fgets.c
nspire-gcc -Os -nostdlib -c fputs.c
nspire-gcc -Os -nostdlib -marm -c idle.c
nspire-gcc -Os -nostdlib -c isalnum.c
nspire-gcc -Os -nostdlib -c iscntrl.c
nspire-gcc -Os -nostdlib -c rewind.c
nspire-gcc -Os -nostdlib -c show_msgbox.c
nspire-gcc -Os -nostdlib -c sleep.c
nspire-gcc -Os -nostdlib -c strcspn.c
nspire-gcc -Os -nostdlib -c strspn.c
nspire-gcc -Os -nostdlib -c wait_key_pressed.c
nspire-gcc -Os -nostdlib -c wait_no_key_pressed.c
"/c/Programme/yagarto/bin/arm-none-eabi-ar.exe" rcs ../lib/libndls.a any_key_pressed.o clear_cache.o clrscr.o feof.o fgets.o fputs.o idle.o isalnum.o iscntrl.o rewind.o show_msgbox.o sleep.o strcspn.o strspn.o wait_key_pressed.o wait_no_key_pressed.o
make[1]: Leaving directory `/ndless/libndls'
make all in arm...
make[1]: Entering directory `/ndless/arm'
nspire-as -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c bootstrapper.S
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c stage1.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c ints.c -o ints_light_thumb.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls.c -o syscalls_light_thumb.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c utils.c -o utils_light_thumb_os-1.7.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls-light_ncas-1.7.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls-light_cas-1.7.c
nspire-ld --no-startup -nostdlib bootstrapper.o stage1.o ints_light_thumb.o syscalls_light_thumb.o utils_light_thumb_os-1.7.o syscalls-light_ncas-1.7.o syscalls-light_cas-1.7.o -o ndless_installer_os-1.7.elf
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: ndless_installer_os-1.7.elf: Unknown mandatory EABI object attribute 44
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file bootstrapper.o
collect2: ld returned 1 exit status
make[1]: *** [ndless_installer_os-1.7.elf] Error 1
make[1]: Leaving directory `/ndless/arm'
make: *** [subdirs] Error 1
Using built-in specs.
COLLECT_GCC=c:\Programme\yagarto\bin\arm-none-eabi-gcc.exe
COLLECT_LTO_WRAPPER=c:/programme/yagarto/bin/../libexec/gcc/arm-none-eabi/4.5.1/lto-wrapper.exe
Target: arm-none-eabi
Configured with: ../gcc-4.5.1/configure --target=arm-none-eabi --prefix=/home/yagarto/install --disable-nls --disable-shared --disable-threads --with-gcc --with-gnu-ld --with-gnu-as --with-dwarf2 --enable-languages=c,c++ --enable-interwork --enable-multilib --with-newlib --with-headers=../newlib-1.18.0/newlib/libc/include --disable-libssp --disable-libstdcxx-pch --disable-libmudflap --disable-libgomp -v
Thread model: single
gcc version 4.5.1 (GCC)
COMPILER_PATH=c:/programme/yagarto/bin/../libexec/gcc/arm-none-eabi/4.5.1/;c:/programme/yagarto/bin/../libexec/gcc/;c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/;c:/programme/yagarto/bin/../lib/gcc/;c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-nostartfiles' '-T' 'C:/msys/1.0/ndless/bin/../system/ldscript' '-e' '_nspire_start' '-L' 'C:/msys/1.0/ndless/bin/../lib' '-static' '-v'
c:/programme/yagarto/bin/../libexec/gcc/arm-none-eabi/4.5.1/collect2.exe -Bstatic -X -e _nspire_start -L C:/msys/1.0/ndless/bin/../lib -Lc:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1 -Lc:/programme/yagarto/bin/../lib/gcc -Lc:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/lib C:/msys/1.0/ndless/bin/../system/crt0sym.o C:/msys/1.0/ndless/bin/../system/crt0.o C:/msys/1.0/ndless/bin/../system/osstub.o -lndls --start-group -lgcc -lc --end-group -T C:/msys/1.0/ndless/bin/../system/ldscript
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -lndls
collect2: ld returned 1 exit status
I've noticed the latest version is now 366. May I know what has been changed?
PS: I'm EVIL...
- fix some libndls functions that still fails to build if GCC has --with-mode=thumb.These changes are related to issue #55 (http://www.unsads.com/projects/nsptools/ticket/55).
- All programs are built with -marm, since the program loader/crt0 don't support Thumb mode entry points
I would say it is very stable. I have been using it for a few weeks not and I have not had any problems for a while! :)
I'm trying to compile the latest SVN release on ubuntu. However, at "MakeLoader ndless_installer_os-1.7.bin Document.xml" I get "Error: The loader size must be less than 1024 bytes." So I checked the .bin file and it is indeed 1028 bytes. I didn't modify any source, so why is this?Please read the known issues before posting :
/me confusedI would say it is very stable. I have been using it for a few weeks not and I have not had any problems for a while! :)
+42, on CAS ClickPad
I'm trying to compile the latest SVN release on ubuntu. However, at "MakeLoader ndless_installer_os-1.7.bin Document.xml" I get "Error: The loader size must be less than 1024 bytes." So I checked the .bin file and it is indeed 1028 bytes. I didn't modify any source, so why is this?Please read the known issues before posting :
http://www.unsads.com/projects/nsptools/ticket/55
To sum up : For the moment, nobody can build Ndless 2.0 on Ubuntu with gcc-4.5-10 (lastest version).
If you have the solution (changing the source code is excluded) please post it.
Thanks.
+42, on CAS ClickPad/me confused
@apcalc: Have you noticed your respect is 37?
Ah, I get it nowAh, I get it now.+42, on CAS ClickPad/me confused
@apcalc: lol it's 38 already.
Would you like a significance of my "+42" ?
When I "+1" a message, I agree with it.
"+42" is an extension of "+1", but it is so true that I have upgraded the "+1" with the answer of the universe, of the live and of all the rest : 42
Dude, stop putting your posts inside your quotes :P
Code: [Select]Juckel@JULIAN /ndless
$ make dist
rm -rf dist
Clearing in tools...
make[1]: Entering directory `/ndless/tools'
Clearing in build...
make[2]: Entering directory `/ndless/tools/build'
cd ../../bin && rm -f nspire-gcc nspire-ld nspire-as || :
make[2]: Leaving directory `/ndless/tools/build'
Clearing in MakeLoader...
make[2]: Entering directory `/ndless/tools/MakeLoader'
rm -f ../../bin/MakeLoader.exe
make[2]: Leaving directory `/ndless/tools/MakeLoader'
make[1]: Leaving directory `/ndless/tools'
Clearing in libndls...
make[1]: Entering directory `/ndless/libndls'
rm -rf *.o *.elf *.a
rm -f ../lib/libndls.a
make[1]: Leaving directory `/ndless/libndls'
Clearing in arm...
make[1]: Entering directory `/ndless/arm'
rm -rf *.o *.bin *.elf *.xml *.zip
rm -rf ../calcbin/ndless_installer*.tns ../calcbin/ndless_resources.tns
make all in tests...
make[2]: Entering directory `/ndless/arm/tests'
rm -f *.o *.elf
rm -f ../../calcbin/tests/ndless_tests.tns
rm -f ../../calcbin/tests/ndless_keys.tns
rm -f ../../calcbin/tests/ReadMe.txt
make[2]: Leaving directory `/ndless/arm/tests'
make[1]: Leaving directory `/ndless/arm'
Clearing in samples...
make[1]: Entering directory `/ndless/samples'
Clearing in hella...
make[2]: Entering directory `/ndless/samples/hella'
rm -f *.o *.elf
rm -f ../../calcbin/samples/hella.tns
make[2]: Leaving directory `/ndless/samples/hella'
Clearing in hello...
make[2]: Entering directory `/ndless/samples/hello'
rm -f *.o *.elf
rm -f ../../calcbin/samples/hello.tns
make[2]: Leaving directory `/ndless/samples/hello'
Clearing in particles...
make[2]: Entering directory `/ndless/samples/particles'
rm -f *.o *.elf
rm -f ../../calcbin/samples/particles.tns
make[2]: Leaving directory `/ndless/samples/particles'
rm -f ../calcbin/samples/ReadMe.txt
make[1]: Leaving directory `/ndless/samples'
rm -rf calcbin
rm -rf bin lib
mkdir -p dist/src
cp -r `ls | grep -v dist` dist/src
find dist -name Makefile.config | xargs rm -rf
make all in tools...
make[1]: Entering directory `/ndless/tools'
make all in build...
make[2]: Entering directory `/ndless/tools/build'
cp nspire-gcc nspire-ld nspire-as ../../bin
make[2]: Leaving directory `/ndless/tools/build'
make all in MakeLoader...
make[2]: Entering directory `/ndless/tools/MakeLoader'
gcc -W -Wall MakeLoader.c -o ../../bin/MakeLoader.exe
make[2]: Leaving directory `/ndless/tools/MakeLoader'
make[1]: Leaving directory `/ndless/tools'
make all in libndls...
make[1]: Entering directory `/ndless/libndls'
nspire-gcc -Os -nostdlib -c any_key_pressed.c
nspire-gcc -Os -nostdlib -marm -c clear_cache.c
nspire-gcc -Os -nostdlib -c clrscr.c
nspire-gcc -Os -nostdlib -c feof.c
nspire-gcc -Os -nostdlib -c fgets.c
nspire-gcc -Os -nostdlib -c fputs.c
nspire-gcc -Os -nostdlib -marm -c idle.c
nspire-gcc -Os -nostdlib -c isalnum.c
nspire-gcc -Os -nostdlib -c iscntrl.c
nspire-gcc -Os -nostdlib -c rewind.c
nspire-gcc -Os -nostdlib -c show_msgbox.c
nspire-gcc -Os -nostdlib -c sleep.c
nspire-gcc -Os -nostdlib -c strcspn.c
nspire-gcc -Os -nostdlib -c strspn.c
nspire-gcc -Os -nostdlib -c wait_key_pressed.c
nspire-gcc -Os -nostdlib -c wait_no_key_pressed.c
"/c/Programme/yagarto/bin/arm-none-eabi-ar.exe" rcs ../lib/libndls.a any_key_pressed.o clear_cache.o clrscr.o feof.o fgets.o fputs.o idle.o isalnum.o iscntrl.o rewind.o show_msgbox.o sleep.o strcspn.o strspn.o wait_key_pressed.o wait_no_key_pressed.o
make[1]: Leaving directory `/ndless/libndls'
make all in arm...
make[1]: Entering directory `/ndless/arm'
nspire-as -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c bootstrapper.S
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c stage1.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c ints.c -o ints_light_thumb.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls.c -o syscalls_light_thumb.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c utils.c -o utils_light_thumb_os-1.7.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls-light_ncas-1.7.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls-light_cas-1.7.c
nspire-ld --no-startup -nostdlib bootstrapper.o stage1.o ints_light_thumb.o syscalls_light_thumb.o utils_light_thumb_os-1.7.o syscalls-light_ncas-1.7.o syscalls-light_cas-1.7.o -o ndless_installer_os-1.7.elf
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: ndless_installer_os-1.7.elf: Unknown mandatory EABI object attribute 44
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file bootstrapper.o
collect2: ld returned 1 exit status
make[1]: *** [ndless_installer_os-1.7.elf] Error 1
make[1]: Leaving directory `/ndless/arm'
make: *** [subdirs] Error 1
What am i doing wrong?
Code: [Select]Juckel@JULIAN /ndless
$ make dist
rm -rf dist
Clearing in tools...
make[1]: Entering directory `/ndless/tools'
Clearing in build...
make[2]: Entering directory `/ndless/tools/build'
cd ../../bin && rm -f nspire-gcc nspire-ld nspire-as || :
make[2]: Leaving directory `/ndless/tools/build'
Clearing in MakeLoader...
make[2]: Entering directory `/ndless/tools/MakeLoader'
rm -f ../../bin/MakeLoader.exe
make[2]: Leaving directory `/ndless/tools/MakeLoader'
make[1]: Leaving directory `/ndless/tools'
Clearing in libndls...
make[1]: Entering directory `/ndless/libndls'
rm -rf *.o *.elf *.a
rm -f ../lib/libndls.a
make[1]: Leaving directory `/ndless/libndls'
Clearing in arm...
make[1]: Entering directory `/ndless/arm'
rm -rf *.o *.bin *.elf *.xml *.zip
rm -rf ../calcbin/ndless_installer*.tns ../calcbin/ndless_resources.tns
make all in tests...
make[2]: Entering directory `/ndless/arm/tests'
rm -f *.o *.elf
rm -f ../../calcbin/tests/ndless_tests.tns
rm -f ../../calcbin/tests/ndless_keys.tns
rm -f ../../calcbin/tests/ReadMe.txt
make[2]: Leaving directory `/ndless/arm/tests'
make[1]: Leaving directory `/ndless/arm'
Clearing in samples...
make[1]: Entering directory `/ndless/samples'
Clearing in hella...
make[2]: Entering directory `/ndless/samples/hella'
rm -f *.o *.elf
rm -f ../../calcbin/samples/hella.tns
make[2]: Leaving directory `/ndless/samples/hella'
Clearing in hello...
make[2]: Entering directory `/ndless/samples/hello'
rm -f *.o *.elf
rm -f ../../calcbin/samples/hello.tns
make[2]: Leaving directory `/ndless/samples/hello'
Clearing in particles...
make[2]: Entering directory `/ndless/samples/particles'
rm -f *.o *.elf
rm -f ../../calcbin/samples/particles.tns
make[2]: Leaving directory `/ndless/samples/particles'
rm -f ../calcbin/samples/ReadMe.txt
make[1]: Leaving directory `/ndless/samples'
rm -rf calcbin
rm -rf bin lib
mkdir -p dist/src
cp -r `ls | grep -v dist` dist/src
find dist -name Makefile.config | xargs rm -rf
make all in tools...
make[1]: Entering directory `/ndless/tools'
make all in build...
make[2]: Entering directory `/ndless/tools/build'
cp nspire-gcc nspire-ld nspire-as ../../bin
make[2]: Leaving directory `/ndless/tools/build'
make all in MakeLoader...
make[2]: Entering directory `/ndless/tools/MakeLoader'
gcc -W -Wall MakeLoader.c -o ../../bin/MakeLoader.exe
make[2]: Leaving directory `/ndless/tools/MakeLoader'
make[1]: Leaving directory `/ndless/tools'
make all in libndls...
make[1]: Entering directory `/ndless/libndls'
nspire-gcc -Os -nostdlib -c any_key_pressed.c
nspire-gcc -Os -nostdlib -marm -c clear_cache.c
nspire-gcc -Os -nostdlib -c clrscr.c
nspire-gcc -Os -nostdlib -c feof.c
nspire-gcc -Os -nostdlib -c fgets.c
nspire-gcc -Os -nostdlib -c fputs.c
nspire-gcc -Os -nostdlib -marm -c idle.c
nspire-gcc -Os -nostdlib -c isalnum.c
nspire-gcc -Os -nostdlib -c iscntrl.c
nspire-gcc -Os -nostdlib -c rewind.c
nspire-gcc -Os -nostdlib -c show_msgbox.c
nspire-gcc -Os -nostdlib -c sleep.c
nspire-gcc -Os -nostdlib -c strcspn.c
nspire-gcc -Os -nostdlib -c strspn.c
nspire-gcc -Os -nostdlib -c wait_key_pressed.c
nspire-gcc -Os -nostdlib -c wait_no_key_pressed.c
"/c/Programme/yagarto/bin/arm-none-eabi-ar.exe" rcs ../lib/libndls.a any_key_pressed.o clear_cache.o clrscr.o feof.o fgets.o fputs.o idle.o isalnum.o iscntrl.o rewind.o show_msgbox.o sleep.o strcspn.o strspn.o wait_key_pressed.o wait_no_key_pressed.o
make[1]: Leaving directory `/ndless/libndls'
make all in arm...
make[1]: Entering directory `/ndless/arm'
nspire-as -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c bootstrapper.S
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c stage1.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c ints.c -o ints_light_thumb.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls.c -o syscalls_light_thumb.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c utils.c -o utils_light_thumb_os-1.7.o
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls-light_ncas-1.7.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -D _NDLS_LIGHT -D STAGE1 -mthumb-interwork -mthumb -D OS_VERSION=1_7 -D OS_VERSION_INT=17 -c syscalls-light_cas-1.7.c
nspire-ld --no-startup -nostdlib bootstrapper.o stage1.o ints_light_thumb.o syscalls_light_thumb.o utils_light_thumb_os-1.7.o syscalls-light_ncas-1.7.o syscalls-light_cas-1.7.o -o ndless_installer_os-1.7.elf
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: ndless_installer_os-1.7.elf: Unknown mandatory EABI object attribute 44
c:/programme/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file bootstrapper.o
collect2: ld returned 1 exit status
make[1]: *** [ndless_installer_os-1.7.elf] Error 1
make[1]: Leaving directory `/ndless/arm'
make: *** [subdirs] Error 1
What am i doing wrong?
Sorry compu, I don't have any idea for that.
Could you try if you have more luck the latest version of YAGARTO (http://www.yagarto.de/) that includes GCC 4.5.2? Don't forget to replace the path in your PATH environment variable.
How did that happen??? I typed stuff at the bottom, out of the quotes, but it got cut off somehow./me edits postThis is nothing. On Cemetech when I quote nested quotes they end up having the wrong author names afterward. X.x
Speaking of respect, I think it has gone down for everyone a little, is someone spamming down ratings?Not sure, although I remember Bwang's siblings used his account to rate up/down posts not so long ago. Not sure about the rest, though, because the only suspicious respect changes I saw besides that were positive ratings, not negative.
Also, I'd be very happy if someone would post the compiled Ndless installer files for me so I can install it really quick.
Which of these files, exactly, is Ndless (in its uncompiled form)? I have found the Ndless readme file (https://www.unsads.com/scm/svn/nsptools/Ndless/trunk/doc/ReadMe.txt) but it does not mention its whereabouts. From the integrated browser on usads, I cannot determine which specifically it is referring to; the multitude of files contained in the Trunk becoming frustrating. Am I to assume the extensionless "makefile," featured in the root directory, is the only required file for compilation?
Sorry for being a noob. I develop Visual and Quick Basic (yup, dos geek here) applications for school and home use. I merely do not know where to start in the TI World and would proudly help out with the mighty NDless. If anyone had a URL of where necessary files are located, I would greatly appreciate it. PS: I've deleted my posts regarding the status of the keyboard, which were inadvertently "offensive" to viewers :-[ . I don't want to bother with my development suggestions, I'll leave you in peace now.
Anyway Levak, they are huge images... professional quality!
So here is the next logical step:
And for those who prefer the TI-Nspire nonCAS TouchPad :
http://levak.free.fr/ftp/nspire/render_b255_018.jpg
:p
Yes, one day I'll make the CAS TouchPad (^.^)
And for those who prefer the TI-Nspire CAS TouchPad :
http://levak.free.fr/ftp/nspire/render_b255_023.jpg
no more Nspire \o/
Here we are :
TI Nspire ClickPad + TouchPad keymap
http://levak.free.fr/ftp/nspire/render_b255_024.jpg
The final teaser video (available, I hope, in a moment) :
http://www.vimeo.com/19005952
In the meantime, I think that the number keys may actually be easier to use. But do you think it would be possible to move the down arrow to 5? If you're using one hand, the key in the middle makes it hard to use the keys as a joypad.
So:
....8...
.4.5.6.
8 = up
4 = left
5 = down
6 = right
and then maybe make click "2".
You need OS 2.0.1.60, not 2.0.0.1188. 2.1.0.631 will work fine too. 2.0.0.1188 support was not added for safety measures (this OS has a very dangerous USB bug that can kill your calc, which probably explains 2.0.1.60 was released this fast after 2.0.0.1188 came out).Interesting, well I will upgrade to 2.1.0.631 and see if his changes my results.
what language is that in? Is there an English version I could read.I had summed up, just above...
I haven't touched a single line of code since then, but I'm keeping track of your bug reports and suggestions, hopefully I'll try to integrate them soon.
To build and hack into Ndless 2.0:
- Install a Subversion client such as TortoiseSVN (http://"http://tortoisesvn.tigris.org/")
- Checkout (http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-checkout.html#tsvn-dug-checkout-dia-1) the source code with the URL and account above
- Set up a C development environment (http://hackspire.unsads.com/wiki/index.php/C_and_assembly_development_introduction)
- Set up the development environment for Ndless and built it: follow the procedure described in src/doc/Ndess-Development.txt in your working copy
- Install it on nspire_emu or your calculator by following src/doc/ReadMe.txt
Update frequently (http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-update.html) your SVN working copy to get and rebuild the latest version.
You may browse the Development resources (http://hackspire.unsads.com/wiki/index.php/Main_Page#Development_resources) on Hackspire to start your own programs.
Links to download the TI-Nspire OSes are available in this topic (http://ourl.ca/7373).
Setting up a development environmentThere is no sdk/bin directory in the ndless 2.0 folder, I feel these instructions are a bit irrelevant to 2.0, I tried searching but found no further instruction on how to build ndless 2.0, can anyone help me out here? I mean, even if you can send me the built version of ndless 2.0, I mean, it hasnt been updated since January 18th, no offense to devs, that was almost a month ago. If someone can provide further instructions on how to build it, that would be highly appreciated :-\
Get Ndless which contains an SDK for C and assembly development on TI-Nspire. This article is written for Ndless v1.7.
Add the sdk/bin/ directory to your PATH environment variable (on Windows XP, Windows Vista or on Linux).
There is no sdk/bin directory in the ndless 2.0 folder, I feel these instructions are a bit irrelevant to 2.0, I tried searching but found no further instruction on how to build ndless 2.0, can anyone help me out here?Did you follow this step: "Set up the development environment for Ndless and built it: follow the procedure described in src/doc/Ndess-Development.txt in your working copy"
There is no sdk/bin directory in the ndless 2.0 folder, I feel these instructions are a bit irrelevant to 2.0, I tried searching but found no further instruction on how to build ndless 2.0, can anyone help me out here?Did you follow this step: "Set up the development environment for Ndless and built it: follow the procedure described in src/doc/Ndess-Development.txt in your working copy"
Those should be the instructions for building 2.0, unless I'm horribly mistaken.
* Add 7-zip's folder to your PATH environment variableHurr?
* Copy Ndless/Makefile.config.tpl to Ndless/Makefile.config and configure the latter
OS 2.1 on my calc (I can revert back to 2.0 and 1.7 if I really have to via nleash)Nleash is not required to downgrade from 2.1.0.631 to 1.7.2741 or 2.0.1.60 :)
About this, I have an idea that might make everything work great: how about add a line in Ndless program headers so as to specify for which version they were compiled for. If this line is absent, consider it to be an Ndless 1.7 program, and make Ndless decide which buttons to use, but if the line says that the program was made for Ndless 2.0, let the program decide its own course of action in regard of the keys.I haven't touched a single line of code since then, but I'm keeping track of your bug reports and suggestions, hopefully I'll try to integrate them soon.
What have you decided about the arrow and number keys?
I think mapping arrow keys to number keys at the Ndless level (which has been introduced in the last builds if I've understood well) is a bad idea.
I can understand this "hack" has been introduced to make old Ndless 1.7 games work without modifying the source...
But let's look at the future and not at the past: there are many reasons a program would like to test for number keys (numerical input, menu choice...).
I think it's up to the program itself to test for number keys and to decide to handle them either as numbers either as arrows.
Nice ta know, saves me a step if I very have to downgrade (hopefully I won't) to 1.7+QuoteOS 2.1 on my calc (I can revert back to 2.0 and 1.7 if I really have to via nleash)Nleash is not required to downgrade from 2.1.0.631 to 1.7.2741 or 2.0.1.60 :)
It's however necessary to use Nleash for reverting from 2.1.0.631 to 1.1.*-1.6.*.
I have installed MSYS, Mingw, yagarto, and have had 7zip forever.well if the above is done then msys should spit out the binarys for 1.7,2.0 and 2.1 if you:
Yagarto is in my 'path'
QuoteOS 2.1 on my calc (I can revert back to 2.0 and 1.7 if I really have to via nleash)Nleash is not required to downgrade from 2.1.0.631 to 1.7.2741 or 2.0.1.60 :)
It's however necessary to use Nleash for reverting from 2.1.0.631 to 1.1.*-1.6.*.
Well, it spat out a bin folder, and some other stuff. Now what :|I have installed MSYS, Mingw, yagarto, and have had 7zip forever.well if the above is done then msys should spit out the binarys for 1.7,2.0 and 2.1 if you:
Yagarto is in my 'path'
run msys, then type in
"cd D:/Nspire/ndless" (or wherever you have stored the source from the svn)
and then
"make"
make[1]: Entering directory `/home/Ndless/libndls'
nspire-gcc -Os -nostdlib -c feof.c
feof.c: In function 'feof':
feof.c:28:11: error: 'EOF' undeclared (first use in this function)
feof.c:28:11: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [feof.o] Error 1
make[1]: Leaving directory `/home/Ndless/libndls'
make: *** [subdirs] Error 1
:banghead:
add that bin folder to your path and then redoWell, it spat out a bin folder, and some other stuff. Now what :|I have installed MSYS, Mingw, yagarto, and have had 7zip forever.well if the above is done then msys should spit out the binarys for 1.7,2.0 and 2.1 if you:
Yagarto is in my 'path'
run msys, then type in
"cd D:/Nspire/ndless" (or wherever you have stored the source from the svn)
and then
"make"
When i try to build i have error can tou help me pleas ?Could you check which version you have?Code: [Select]make[1]: Entering directory `/home/Ndless/libndls'
:banghead:
nspire-gcc -Os -nostdlib -c feof.c
feof.c: In function 'feof':
feof.c:28:11: error: 'EOF' undeclared (first use in this function)
feof.c:28:11: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [feof.o] Error 1
make[1]: Leaving directory `/home/Ndless/libndls'
make: *** [subdirs] Error 1
If you really need the Ndless build and can't compile it yourself, you can ask someone [cough]e.g. me[/cough] to send it to you by email.Could you please send me the latest build, or will it not work with a CAS Touchpad?
I got it working. Don't use "import svn" but just use checkout, even if it is your first time.Thanks a lot! I'll no longer have to copy the files manually! :)
I got it working. Don't use "import svn" but just use checkout, even if it is your first time.Thanks a lot! I'll no longer have to copy the files manually! :)
For all the newcomers, here is something I have recently been working on...Nice! I had started working on one too, but never had the time to finish it.
It was supposed to be a large ndless programming tutorial ;D but it's not finished and I don't have much time to work at it atm.
To the others, since I don't have much experience with ndless too, there might be a lot of errors in it... feel free to correct me, I will change it as soon as possible then :)
At least this is how I installed ndless... ;)
EDIT: Just a small remark though, the end with the emu stuff might confuse some people just wanting to install Ndless on their Nspire...
christian@CUBULAP1:~/Desktop/ndless/trunk$ make
make all in tools...
make[1]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/tools'
make all in build...
make[2]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/build'
cp nspire-gcc nspire-ld nspire-as ../../bin
make[2]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/build'
make all in MakeLoader...
make[2]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/MakeLoader'
gcc -W -Wall MakeLoader.c -o ../../bin/MakeLoader
make[2]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/MakeLoader'
make[1]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/tools'
make all in libndls...
make[1]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/libndls'
nspire-gcc -Os -nostdlib -c any_key_pressed.c
any_key_pressed.c:22:16: fatal error: os.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
make[1]: *** [any_key_pressed.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/libndls'
make: *** [subdirs] Fehler 1
christian@CUBULAP1:~/Desktop/ndless/trunk$
make all in tools...
make[1]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/tools'
make all in build...
make[2]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/build'
cp nspire-gcc nspire-ld nspire-as ../../bin
make[2]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/build'
make all in MakeLoader...
make[2]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/MakeLoader'
gcc -W -Wall MakeLoader.c -o ../../bin/MakeLoader
make[2]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/tools/MakeLoader'
make[1]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/tools'
make all in libndls...
make[1]: Betrete Verzeichnis '/home/christian/Desktop/ndless/trunk/libndls'
nspire-gcc -Os -nostdlib -I../include -c any_key_pressed.c
In file included from any_key_pressed.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -marm -c clear_cache.c
In file included from clear_cache.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c clrscr.c
In file included from clrscr.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c feof.c
In file included from feof.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c fgets.c
In file included from fgets.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c fputs.c
In file included from fputs.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -marm -c idle.c
In file included from idle.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c isalnum.c
In file included from isalnum.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c iscntrl.c
In file included from iscntrl.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c rewind.c
In file included from rewind.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
nspire-gcc -Os -nostdlib -I../include -c show_msgbox.c
In file included from show_msgbox.c:22:0:
../include/os.h:254:1: warning: inline function ‘printf’ given attribute noinline
../include/os.h:255:1: warning: inline function ‘sprintf’ given attribute noinline
../include/os.h:256:1: warning: inline function ‘fprintf’ given attribute noinline
../include/os.h:315:53: warning: inline function ‘exit’ given attribute noinline
show_msgbox.c: In function ‘show_msgbox’:
show_msgbox.c:35:1: error: insn does not satisfy its constraints:
(insn 63 20 21 2 show_msgbox.c:29 (set (reg:SI 2 r2)
(reg/f:SI 13 sp)) 167 {*thumb1_movsi_insn_osize} (nil))
show_msgbox.c:35:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:396
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
make[1]: *** [show_msgbox.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/christian/Desktop/ndless/trunk/libndls'
make: *** [subdirs] Fehler 1
cd tools;make
@apcalc your tutorial assumes youre using a post xp version of windows, would that make a difference while compiling, or in any way make the process easier?
Where is the include-dir included? I didn't find it..
nspire-gcc -Os -nostdlib -c any_key_pressed.c
In file included from /Users/christiancoors/Desktop/TI-nspire/ndless/trunk/bin/../include/os.h:8:0,
from any_key_pressed.c:22:
/Users/christiancoors/Desktop/TI-nspire/ndless/trunk/bin/../include/common.h:225:20: schwerwiegender Fehler: stddef.h: No such file or directory
Kompilierung beendet.
make[1]: *** [any_key_pressed.o] Error 1
make: *** [subdirs] Error 1
export PATH=$PATH:/Users/christiancoors/Desktop/TI-nspire/ndless/trunk/bin/
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -c syscalls_cas-2.0.1.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -c syscalls_ncas-2.1.0.c
nspire-gcc -Os -nostdlib -Wall -W -Wno-strict-aliasing -c syscalls_cas-2.1.0.c
nspire-ld --light-startup -nostdlib install.o ploaderhook.o ints.o syscalls.o utils.o emu.o syscalls_ncas-1.7.o syscalls_cas-1.7.o syscalls_ncas-2.0.1.o syscalls_cas-2.0.1.o syscalls_ncas-2.1.0.o syscalls_cas-2.1.0.o -o ndless_core.elf
"/usr/local/arm-elf/bin/arm-elf-objcopy" -O binary ndless_core.elf ndless_core.bin
stage2_hexsize=`wc -c ndless_stage2.bin | cut -f1 -d' ' | xargs printf '%04x'` \
&& test -n "$stage2_hexsize" \
&& echo -e -n "\x${stage2_hexsize:2:2}\x${stage2_hexsize:0:2}\x00\x00" > ../calcbin/ndless_resources.tns
make[1]: *** [ndless_resources.tns] Error 1
make: *** [subdirs] Error 1
Just found a little bug: I notice that when Ndless tries to restore the FIQ vector (in arm/bootstrapper.S main_copy), it overwrites the Undefined Instruction jump instead:This one was well hidden! I've just fixed it. I wonder if this could be the source of the random crashes at installation time.
A4000000 18 F0 9F E5 E4 66 26 10-18 F0 9F E5 18 F0 9F E5
A4000010 18 F0 9F E5 18 F0 9F E5-18 F0 9F E5 18 F0 9F E5
A4000020 30 60 26 10 28 48 04 11-4C 47 04 11 20 48 04 11
A4000030 18 48 04 11 00 00 00 00-C0 66 26 10 40 00 00 00
In the meantime, I think that the number keys may actually be easier to use. But do you think it would be possible to move the down arrow to 5? If you're using one hand, the key in the middle makes it hard to use the keys as a joypad.
So:
....8...
.4.5.6.
8 = up
4 = left
5 = down
6 = right
and then maybe make click "2".
Have any apps other than block dude been compiled with this configuration? (i.e., gbc4nspire or nes)
About this, I have an idea that might make everything work great: how about add a line in Ndless program headers so as to specify for which version they were compiled for. If this line is absent, consider it to be an Ndless 1.7 program, and make Ndless decide which buttons to use, but if the line says that the program was made for Ndless 2.0, let the program decide its own course of action in regard of the keys.I haven't touched a single line of code since then, but I'm keeping track of your bug reports and suggestions, hopefully I'll try to integrate them soon.
What have you decided about the arrow and number keys?
I think mapping arrow keys to number keys at the Ndless level (which has been introduced in the last builds if I've understood well) is a bad idea.
I can understand this "hack" has been introduced to make old Ndless 1.7 games work without modifying the source...
But let's look at the future and not at the past: there are many reasons a program would like to test for number keys (numerical input, menu choice...).
I think it's up to the program itself to test for number keys and to decide to handle them either as numbers either as arrows.
What do you think?
Hi Cuervo and welcome to the forums (I wonder if I missed anyone else, but welcome to others too). Hopefully now you should no longer need to compile Ndless as ExtendeD posted a binary of it here: http://ourl.ca/9367
Just make sure to send the right file to your calculator, though. There is one for OS 1.7, one for 2.0.1 and one for 2.1, and you must also send the resources file.
make all in arm...
make[1]: Entering directory /d/Nspire/Ndless/arm
nspire-as -Os -nostdlib -Wall -Wno-strict-aliasing -D OS_VERSION_INT=17 -c bootstrapper.S
c:/program files (x86)/yagarto/lib/gcc/../../arm-none-eabi/sys-include/stdint.h: Assembler message:
41: Error: bad instruction 'typedef signed char int8_t'
c:/program files (x86)/yagarto/lib/gcc/../../arm-none-eabi/sys-include/stdint.h: Assembler message:
42: Error: bad instruction 'typedef unsigned char uint8_t'
...
...lots of similar errors
...
case TPAD_ARROW_RIGHTDOWN:
return report.y <= touchpad_info.height/TPAD_RATIO && report.x >= (touchpad_info.width * (TPAD_RATIO - 1))/TPAD_RATIO;
My proposal is that isKeyPressed() tests for press and a other separate function tests for touch and returns the cords. ( I think that's what touchpad_scan() does but I'm not yet so far in the code)
Yes, that is the idea.The sensibility there is what I would call "touched",
I'm not sure if "pressed" means report->contact = TRUE, or if it corresponds to a special threshold of report->proximity, so I don't know how to update ndless_tpad.tns to test it. For you would the sensibility of ndless_tpad.tns be a touched Touchpad or a pressed Touchpad?
the "touch" is registered separate on the surface of this key, but only if the "key" is not pressed.this misinterpretation origins from my habit to press the touchpad on its borders, where the proximity is much inferior to what it is half a mm more to the middle (what probably also is the cause why isKeyPressed(***) sometimes didn't seem to work for me :( )
1 if touchpad pressed down, 0 if notcould that bit therefore make the difference between touched and pressed?
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: c:/ndless/sdk/bin/../lib\libndls.a(touchpad.o): Unknown mandat
ory EABI object attribute 44
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: failed to merge target specific data of file c:/ndless/sdk/bin
/../lib\libndls.a(touchpad.o)
collect2: ld returned 1 exit status
make: *** [mviewer.tns] Error 1
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: c:/ndless/sdk/bin/../lib\libndls.a(show_msgbox.o): Unknown man
datory EABI object attribute 44
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: failed to merge target specific data of file c:/ndless/sdk/bin
/../lib\libndls.a(show_msgbox.o)
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: c:/ndless/sdk/bin/../lib\libndls.a(sleep.o): Unknown mandatory
EABI object attribute 44
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: failed to merge target specific data of file c:/ndless/sdk/bin
/../lib\libndls.a(sleep.o)
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: c:/ndless/sdk/bin/../lib\libndls.a(idle.o): Unknown mandatory
EABI object attribute 44
c:/program files/yagarto/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none
-eabi/bin/ld.exe: failed to merge target specific data of file c:/ndless/sdk/bin
/../lib\libndls.a(idle.o)
collect2: ld returned 1 exit status
make: *** [particles.tns] Error 1
Odd how there's a backslash in there along with all the forward slashes... does that matter?It depends. Usually it doesn't, but considering he bolded it, I would say yes. I know for paths, windows CMD doesn't seem to care. My mac does, though. I would say it matters here.
c:/ndless/sdk/bin/../lib\libndls.a
Actually, I was the one who bolded it :POdd how there's a backslash in there along with all the forward slashes... does that matter?It depends. Usually it doesn't, but considering he bolded it, I would say yes. I know for paths, windows CMD doesn't seem to care. My mac does, though. I would say it matters here.
c:/ndless/sdk/bin/../lib\libndls.a
well, either way, it seems important. My mac considers "Desktop\folder" as "Desktopfolder" it seems.Actually, I was the one who bolded it :POdd how there's a backslash in there along with all the forward slashes... does that matter?It depends. Usually it doesn't, but considering he bolded it, I would say yes. I know for paths, windows CMD doesn't seem to care. My mac does, though. I would say it matters here.
c:/ndless/sdk/bin/../lib\libndls.a
Thanks :Dgbc4nspire came out before the touchpad was even announced. It'll probably need another hex editing session to make a touchpad version (perhaps even with support for reading the actual arrow keys if that could be pulled off -- I've been checking out how to interface with it)
edit: I believe I remember someone saying that arrows have been mapped to 1-9? Does this work in gbc4nspire or not?
Can you make sure your PATH variable doesn't contain the bin/ directory of a previous version of Ndless? Ndless 2.0 should be built with itself.