Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - alberthrocks

Pages: 1 ... 12 13 [14] 15 16 ... 55
196
Calculator C / Re: Nspire (Ndless) C Linking Frenzy (+requests for Ndless)
« on: September 19, 2012, 12:21:29 pm »
Although it's just a matter of setting a simple OS switch. Ndless really requires developers to help me handle all these requests, I can't do it alone anymore.
I would be more than happy to help when I have time, if I know this OS switch. :)

- open Ndless-SDK/ndless/system/osstub.c and comment out void _exit(void) { exit(-1); } and rebuild Ndless

What is this one for?
This is a modification to the SVN checkout of ndless to fix the "multiple definition of _exit()" error (building *.c with -nostdlib, then nspire-ld without that option). It links but crashes (of course).

Using newlib functions is not recommended as long as tangr's bFLT loader hasn't been merged into Ndless, since some of these functions require relocation, and you can't guess which ones.
Yeah, that's probably the cause of these crashes.


I guess I'll have to find a way to hook up GDB to the nspire_emu.

This one is also at the top of the TODO list.
Lionel Debroux has already merge my GDB stub into the latest (but not released publicly?) update of nspire_emu. I'll do some non-regression tests on Ndless and update the SDK with it as soon as possible.
That's great! I'm looking forward to seeing that integrated! (And perhaps in a release of the graphical version too!)

Once again sorry for the delay. Fill free to contribute a way or another to all these tasks, I can give update rights to the repository to anyone I trust willing to contribute if needed.
No problem! I'm busy as well, so I can understand your situation. (Again, only work when you get the chance!) I would love to get update rights, though I would prefer getting an experimental branch on the Ndless SVN** so I can push my changes to my own SVN branch without some innocent user accidentally blowing up their calculator! ;) Do you have any particular coding standards? Also, is there anything I need to know to get familiar with the code structure?

** Actually, I could create a Google Code SVN instead and do management from there, if the code can be public. It would be easier for anyone to add people that are willing to contribute. Later, when the code becomes stable, I can simply commit my repo to the official source tree. Let me know your opinion/decision on this! :)

198
TI Z80 / Re: AxeSh, a shell written in Axe/ASM, for Axe programmers
« on: September 18, 2012, 07:29:49 pm »
Wow, this is pretty amazing! Finally, the possibility of making an Axe shell is realized! ;)
Will you be aiming for DoorsCS-like features?
And definitely make it comfy with OmniCalc/Symbolic/zStart! :D

199
Calculator C / Re: Nspire (Ndless) C Linking Frenzy (+requests for Ndless)
« on: September 18, 2012, 07:23:08 pm »
1) Try to remove the -nostdlib switch and any #include directive for the standard headers. Conflicts between newlib and os.h are an Ndless design flaw, sorry about that.
In the end, this is what I did:
 - open Ndless-SDK/ndless/system/ldscript and add end = .;
 - open Ndless-SDK/ndless/system/osstub.c and comment out void _exit(void) { exit(-1); } and rebuild Ndless
 - build the object files with -nostdlib
 - at linking, remove -nostdlib
It builds successfully, but it doesn't load at all (and crashes)! Not sure what is happening now... I guess I'll have to find a way to hook up GDB to the nspire_emu.

3) This may only be a matter of exporting the pthreads definition from the OS (for example phtread_create() an pthread_join() have already be found: https://www.unsads.com/scm/svn/nsptools/symbols/trunk/OS_cascx-3.1.0.idc [guest/guest]).
But the OS clock cursor will once again annoy us since interrupts must be able for these functions to work.
Ah, interesting! I would assume that there would be more API functions that are hidden (like pthread_exit()), of course. And for the OS clock cursor, are you referring to the startup screen? Is there no way to disable that?

As always, thank you for your help! :)

200
Calculator C / Re: Nspire (Ndless) C Linking Frenzy (+requests for Ndless)
« on: September 18, 2012, 09:42:25 am »
ELF is very complicated. tangrs had made an ELF loader, but ELF files could be overly big in some simple cases.
Yes indeed... but dynamically loading libraries is essential for any application that depends of plugins written in C.
I guess what I'm asking for is some implementation of dlopen(), dlsym(), and dlclose() for BFLT.

And Nucleus is indeed a multi-threaded RTOS.
Yup, as I thought: http://www.mentor.com/embedded-software/nucleus/kernel

201
Calculator C / Nspire (Ndless) C Linking Frenzy (+requests for Ndless)
« on: September 17, 2012, 05:33:15 pm »
(Not to be confused with calculator linking)

I am currently developing two big projects, one public and one secret! They are both C based, and are very exciting to develop!
However... there are always concerning linking problems! The code can be perfectly valid, but it will never compile/link! There are also some interesting features that I would like to see in ndless, which if possible, I'd like to help with.

That said, here are some things that I would like to get fixed:
1) Standard C Library Collisions (or undefined references!)
This applies to both projects, though the public one's error messages were shorter and probably easier to fix:
Code: [Select]
nspire-ld obj/*.o -L./nrgbsdk/lib -lRGB -lgcc -nostdlib -lc -lm -o nrgbwabbit
/usr/local/arm/lib/gcc/arm-none-eabi/4.6.3/../../../../arm-none-eabi/lib/libc.a(lib_a-svfscanf.o): In function `__ssvfscanf_r':
/home/albert/ndless/modern_toolchain/build/arm-none-eabi/newlib/libc/stdio/../../../../../newlib-1.20.0/newlib/libc/stdio/vfscanf.c:1584: undefined reference to `__aeabi_d2f'
/usr/local/arm/lib/gcc/arm-none-eabi/4.6.3/../../../../arm-none-eabi/lib/libc.a(lib_a-syscalls.o): In function `_sbrk':
/home/albert/ndless/modern_toolchain/build/arm-none-eabi/newlib/libc/sys/arm/../../../../../../newlib-1.20.0/newlib/libc/sys/arm/syscalls.c:499: undefined reference to `end'
/usr/local/arm/lib/gcc/arm-none-eabi/4.6.3/../../../../arm-none-eabi/lib/libc.a(lib_a-strtod.o): In function `strtof':
/home/albert/ndless/modern_toolchain/build/arm-none-eabi/newlib/libc/stdlib/../../../../../newlib-1.20.0/newlib/libc/stdlib/strtod.c:1194: undefined reference to `__aeabi_d2f'
collect2: ld returned 1 exit status
This does NOT link to the standard library and instead depends on the ndless syscalls and definitions. However, this causes problems, as seen above. When linking with the standard library, it ends up having multiple definition errors instead. Maybe there could be a define allowing the use of newlib instead?

2) New feature: ELF loader with dynamic libraries support
BFLT does *not* implement this at all. Only ELF can load dynamic libraries on the fly (dlopen, dlsym, etc.). This would be very useful for plugin support in my secret project, which works but is very limited without ELF support.

3) Multithreading
This may or may not be needed for SDLWabbitemu, but it would be nice to have. tangrs I believe made a proof of concept, and NUCLEUS OS indicates support for it. (Maybe there's a syscall out there?)

4) Secret project with secret changes requested to disable something with a define. :P (ExtendeD knows what I'm referring to - I am willing to create the patches for that if you don't have time!)

Thanks in advance!

202
nSDL / Re: nSDL 1.0.1—A very fast & robust graphics library
« on: September 17, 2012, 03:05:51 pm »
Is there any way SDL_GetTicks() can get implemented? It currently aborts due to SDL Threads not being implemented.

203
Nspire I/O / Re: Nspire I/O
« on: September 11, 2012, 08:43:08 pm »
So if I were to be making the impossible game for example, I should use this?
Absolutely not... unless you want to use ASCII squares for the game. :P I suggest using nRGBLib instead.

Yay. I'll merge your changes with my copy of PrizmIO as soon as possible.
Yippee!! And I'll take a nice long break.... :P

204
Nspire I/O / Re: Nspire I/O
« on: September 11, 2012, 08:36:48 pm »
Little confused, but what exactly does this do? I don't get it :P
This is a library for a virtual console on the Nspire. Most people won't need it, unless they are developing a console based game of app.

Do you mean alberthrocks's update or Nspire I/O itself?
This is my update :)

205
Nspire I/O / Re: Nspire I/O
« on: September 11, 2012, 08:11:54 pm »
BUM BUM BUM BUMP!

I'm a rabid fan of NspireIO who is using this for a secret project (that isn't terribly secret after telling 3-5 people about it :P). However, it lacks a cursor, and the dev (compu) seemed inactive at the time, so I decided to implement it. (He seems to be active now - he has added lots of interesting features in SVN trunk!) Juju also has a need to implement it since KermMartian is using it for his LuaZM via the Prizm port of NspireIO, PrizmIO! After telling Juju that I would implement it (for his ease of porting), it's finally here... after quite a few feature additions so that NspireIO's cursor isn't "just any cursor!" ;)

Screenshot demo:


New features:
  • Cursor support. (Duh.) This can be disabled at any time. Note that if drawing is disabled, cursors are disabled.
  • Blinking cursor support. This can be disabled at any time as well.
  • Multiple cursor types include a regular block cursor (Linux X11 terminal style), underscore cursor (Windows Command Prompt style), and vertical bar (regular text box style).
  • Cursor width adjustment.
  • Custom cursor support.

It's very likely that very few, if any at all, will use those extra cursor options, but it was fun developing it anyway. :)
And voila, an needed update to NspireIO! :) (Version 2.1)

(If I seem to be making a big deal about this, excuse me - I'm just excited because this is probably my first serious release!)

Downloads:
Downloads are attached in ZIP and GZIP tar archives.
Mirror:
https://dl.dropbox.com/u/1016340/NspireIO/nspireio-2.1.tar.gz
https://dl.dropbox.com/u/1016340/NspireIO/nspireio-2.1.zip

(To compu: I've made a change to the Makefile to make it more "compliant" - hopefully you won't mind :) This is based off of r37, so if you want to merge, merge from that point. Also, the code is under LGPL 2.1, like the SVN, so no worries there. :))

EDIT: As always, the API is located in the header file, nspireio2.h. New binaries need to be built, I'll update within an hour.

EDIT 2: Dropbox mirror releases are updated. Attachment archives will be fixed soon.

EDIT 3: Attachments updated. Read README.txt for installation instructions. Also a few clarifications: 1) This is MY update, not compu's. Consider it unofficial, despite the version bump. 2) You may encounter issues when linking for certain compilers. You may need to delete the Ndless SDK's version of the NspireIO header and library before things will work. The cursor is enabled automatically, so seeing it in your program after the update is a definite way of telling whether you are linking/using the new version or not.

206
Other Calc-Related Projects and Ideas / Re: Ti 84 emulator for the nspire
« on: September 04, 2012, 06:47:34 pm »
The "official emulator" can't be used because we don't know much about it, and it is extremely buggy anyway. The fact that they removed it means that the management for the code is pretty bad.
No, it means that the CX doesn't have removable keypads. I'm pretty sure the emulator still exists in non-CX OSes.

Also, ARM9 is not very competitive with x86 at all in terms of instructions per clock. There's no parallel execution or branch prediction, and I think memory access has more latency. I'm not trying to discourage giving it a shot, though.
Hm, I was under the impression otherwise, since there was a little demo by ARM showcasing a 533 MHz CPU competing neck to neck with an Intel Atom netbook. Must've been a newer version of ARM (ARM11 perhaps?).

In that case, I'd propose not doing anything on that TODO list and jumping to just porting the code for nSDL/Nspire to see if it will run at normal speed, so that effort isn't wasted if it turns out to be too slow for practical use.

207
Other Calc-Related Projects and Ideas / Re: Ti 84 emulator for the nspire
« on: September 04, 2012, 12:07:25 pm »
Guys, I already tried to port wabbitemu on the PSP:
http://ourl.ca/16792

The psp has a 333mhz CPU and a GPU (but I won't take the GPU in account, cause it's not very used yet).
WabbitemuPSP was slow as hell: with a very low framerate.

Even if wabbitemu is optimized using miscellaneous tools like gprof etc, it requires a 1ghz CPU to correctly emulate the beast.

Just to tell you that don't mind porting wabbitemu on the nspire.

You should therefore look at the official TI 8x emulator on the nspire: maybe is there no z80 CPU embedded in the calculator, and if so, you could port it.

I'm able to emulate without much trouble with much less than a 1 GHz CPU (maybe about 533 MHZ clocked down). X86 is a more complex platform, so I'd expect faster speeds with ARM. Also, ARM is much powerful than MIPS, which still gives us a speed boost.

Basically, it WILL be slower than a native solution, but hey, it might still be usable! :)

The "official emulator" can't be used because we don't know much about it, and it is extremely buggy anyway. The fact that they removed it means that the management for the code is pretty bad.

208
Other Calc-Related Projects and Ideas / Re: Ti 84 emulator for the nspire
« on: September 03, 2012, 11:09:22 pm »
Is it just me or is the calculator window size wrong? It looks super wide in that screenie for some reason. D:
Good catch! I forgot to stick that into the TODO, added! :)
Yeah, I think the core code has the whole array for the largest screen possible, but it's cropped when displayed.
The very bare minimum code simply displays that array.

209
Other Calc-Related Projects and Ideas / Re: Ti 84 emulator for the nspire
« on: September 03, 2012, 10:22:00 pm »
SDLWabbitemu together with nSDL is actually the nearest we can have with this idea, as Albert said, it only takes someone who is interested to porting it.
Hmm... it's not quite a port, more like "improve it and then port it" :)

My TODO list for my project is up for anyone curious: http://code.google.com/p/sdlwabbitemu/wiki/Todo

Note that this CAN be a collaborative effort, so don't freak out! ;)

EDIT: Just to show you what I mean:

(The cursor is blinking, just caught this screenshot at a bad time.)

210
Other Calc-Related Projects and Ideas / Re: Ti 84 emulator for the nspire
« on: September 03, 2012, 09:29:35 pm »
The problem is that there's too many thoughts and "ideas", but not enough effort to actually implement those ideas. I'm sure plenty of people (if not all) would love to see a TI-8x emulator on the Nspire, but few have gotten close to making such an emulator.

As DJ_O said, calc84maniac was making such an emulator when he lost all of his work. I can't say I blame him; those kind of data loss are a freak of nature, and they can't be helped. Of course, he could've backed his stuff up, but even that wasn't a habit for really anyone until recently.

And to go back to doing the project? It's hard to go back to work on a project that you've spent hours, days, weeks, or even months on, and then have it vanish in an instant, knowing you have to start from scratch. A lot of developers understand this feeling: ever write a super awesome BASIC program on your calculator? Didn't know what Archive is? And suddenly, you miraculously crashed your calculator? It's miserable, and personally, I've only restarted maybe two or three programs, while the rest (up to 7-15) are lost in the nether/null of the virtual world. I'd be pretty surprised if calc84maniac actually restarted that project.

If you - or we - want to see a TI-8x emulator in the near future, action is a must! :) The TI-Nspire platform is not just limited to Lua, BASIC, or ASM - it also has a very versatile C development platform, which makes porting existing emulators (like Wabbitemu or TiLEM) very much possible! ;) If you want to help, learn C. It might be easy, and then again, it might not - take your time, your own pace is the best! Learning it thoroughly is better than learning it quickly and making silly mistakes later. It's not easy - even for me - but it is doable, for most people. Then pickup the Z80 CPU design and its inner workings, as a bonus. Then you can take a project like SDLWabbitemu** and port it to the Nspire - there is a nice nSDL library just waiting to get used! ;)

This applies to everyone, not just him - if you want to see it happen, pitch in!
Then the dream of having such an emulator can finally be fulfilled. ;)

** In case you were wondering, I am indeed the developer of SDLWabbitemu. It's extremely messy and disorganized (which is why I tossed it away earlier this year), but it is something that can be ported, given enough time and energy. Unfortunately, I don't foresee myself being able to work on it much, but if you'd like, I'd love to add you in as a commiter, and I would be more than happy to guide you. :) I've spent earlier this evening updating the core a bit and the build system so that it can be worked on without too much hassle. Just let me know and I'll get you started! :D

Pages: 1 ... 12 13 [14] 15 16 ... 55