newlisp on the Nokia N810 Internet tablet

Machine-specific discussion
Unix, Linux, OS X, OS/2, Windows, ..?
newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

newlisp on the Nokia N810 Internet tablet

Post by newdep »

The N810 is a Nokia Internet Tablet based on http://www.maemo.org linux using the TI processor which is ARM based.
(N810 has a 400 MHz TI OMAP 2420 Cpu)

With the scratchbox setup on a linux PC you can cross-compile X86-ARM/EL.

If I did it all correct then newLisp v 10.0.0 was successfuly compiled for the ARM/EL, actualy out of the box without errors on the Diablo release of
maemo. Now this compilation was so very easy Im not sure it its correct ..hahaha.. But it sure does run ;-)

Now the real testing needs to be done, end of this week probably...

Here the output of the execution from within a scratchbox chrooted shell.
(a debian Arm version inside my slackware 12.2 environment with X11 client (xephyr) that emmulates the maemo GUI)

Code: Select all

[sbox-DIABLO_ARMEL: ~/newlisp-10.0.0] > ldd newlisp
        libm.so.6 => /lib/libm.so.6 (0x00000000)
        libdl.so.2 => /lib/libdl.so.2 (0x00000000)
        libc.so.6 => /lib/libc.so.6 (0x00000000)
        /lib/ld-linux.so.3 => /lib/ld-linux.so.3 (0x00000000)

[sbox-DIABLO_ARMEL: ~/newlisp-10.0.0] > file newlisp
newlisp: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped

[sbox-DIABLO_ARMEL: ~/newlisp-10.0.0] > ls -al newlisp
-rwxrwxr-x  1 user users 232248 Jun 15 17:03 newlisp

[sbox-DIABLO_ARMEL: ~/newlisp-10.0.0] > ./newlisp
newLISP v.10.0.0 on Linux IPv4, execute 'newlisp -h' for more info.

> (sys-info)
(379 268435456 368 1 0 2048 31054 10000 1)
>
So actualy newlisp is now able to run on the ARM/EL based handheld
devices...Finaly I have newLisp in my handpalm ;-)

To be continued...
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Small update ->

newLisp version 10.0.4 compiles out of the box under scratchbox for X86 and ARM.

..
..
..
and newLisp version 10.0.8 compiles out of the box under scratchbox for X86 and ARM.

to be continued...
-- (define? (Cornflakes))

TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Post by TedWalther »

It is really great to see this kind of activity and expansion in the newLISP world.

Can you apply this patch to the 10.0.8 tree, type ./configure --help, then compile to your hearts content?

http://ted.affordableaffiliates.com/new ... gure.patch

To compile:

Code: Select all

./configure
make -f makefile_configure
make install
I'd like to hear how it works on your platform! Whether it works or doesn't, can you email me the resulting makefile_configure and config.h files?

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Hi Ted,

Yes I will, but i just switch to my XP environment.. Ill do that tomorro
see what it bring Ill let you know ;-)

Norman.
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

For all those NOT having a Linux machine running but are able to
run Qemu or Vmware player..There exists an Beta Image os the
Maemo SDK, so you can develop for the Maemo under i.e. Windows
with an Ubuntu enviornment..

Now if that newlisp is running on the N810, hopefuly stable at
the end of this week, you can create youre widgets using GTK on the
N810..thats should work out of the box too...

As an internet tablet is a network device newLisp fits right in ;-)

http://maemo.org/news/announcements/mae ... _released/

To be continued...
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Ted,

Not Found
The requested URL /newlisp-configure.patch was not found on this server.

Any other link where I can ctach it ?
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

-- (define? (Cornflakes))

TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Post by TedWalther »

Yes, sorry it was a glitch on my part, I'd been doing some mod_rewrite for another project, but all is well now.

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Oke here a screen dump of the emulated maemo evironment on
my slackware machine running a xterm session in black/white.
Note: this is an emulated ARM environment with Qemu on my X86 slackware Linux. I added my .init.lsp.

Image

To be continued...
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Qemu doesnt support all IO call yet so some qa test fail, but this
should be fixed when running it on the real N810.
Here the qa-foop output..

Image
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Oke some GTK2 test..

this code from pjot "http://www.turtle.dds.nl/newlisp/fractal.lsp"
runs out of the box on the scratchbox N810 emu.

Here the example where newlisp call GTK directly!

Image
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

I created a maemo project so maemo users can download
the uptodate precompiled/source for the N810 newlisp from there.
I expect it not to become a seperate tree of newlisp code,
as it now seems newlisp simply compiles out of the box.

http://newlisp.garage.maemo.org/

Although the binary will be listed there Ill put one on my personal pages too..

To be continued..
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

oke here it is, the official working version of newLisp v10.0.8
on the Nokia Internet Tablet!

This is an actual screen dump for the screen.

Image

As always.. Enjoy...;-)
-- (define? (Cornflakes))

TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Post by TedWalther »

OMG, I didn't know you could (load ...) URL's. I learn something new every day on this forum. Thanks newdep. And nifty dragonfly graphic. I love your other screenshots too.

Ted

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Now to give you actualy an impression on what size newLisp currently is running on the N810..and still running...
Dont mind that guy below the Tablet, he's just there to display progress ;-)


Image

To be Continued...
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

newLisp 10.0.8 precompiled ARM version can be found at
https://garage.maemo.org/projects/newlisp/

Im working on a official package so that newLisp can be directly
installed/maintained/updated on the N810.

To be continued...
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

because maemo linux handles Debian packaging and newlisp already
has lots of packaging I did not create a package for newlisp so it cant
yet be installed from the extra-repository in Maemo. I need help with this
because im a tar-guy and reject rpm and deb ..;-)

You can grab the full source + precompiled UTF8 and regular newlisp
package of version 10.1.0 from https://garage.maemo.org/projects/newlisp/ including the pdf manual inside the package.

Code: Select all

Release Name: newlisp 10.1.0

Notes:
This is the original 10.1.0 newlisp release that includes the complete source package of newlisp. 
It also contains 2 pre-compiled binary's for the ARMEL maemo linux Diablo version. (not tested on other releases)
The 'newlisp' and 'newlisp_utf8' are pre-compiled ARMEL versions.


Quick install:

Become root on the N810

gunzip < newlisp-10.1.0-armel-maemo.tgz | tar xvf -

or

gzip -d newlisp-10.1.0-armel-maemo.tgz
tar xvf newlisp-10.1.0-armel-maemo.tar


run the ./maemo-install.sh script as user root to install newlisp.
run the ./maemo-deinstall.sh script as root to de-install newlisp.

The install script will install the utf8 version of newlisp by default
and will move the newlisp_manual.pdf to your ~/MyDocs/.documents/newlisp directory.

All information on newLisp language can be found at http://www.newlisp.org

This file is so big because it includes the PDF manual.
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

oke oke..nothing more annoying then unable to recall history..as we do daily..

But for the newlisp version on the ARMEL maemo its a must!.

So its working now..

Code: Select all

# makefile for newLISP v.10.x.x on MAEMO ARMEL LINUX with readline and UTF-8 support
#
# Note, that readline support may require different libraries on different OSs
#

OBJS = newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
        nl-sock.o nl-import.o nl-xml.o nl-web.o nl-matrix.o nl-debug.o nl-utf8.o pcre.o

CFLAGS = -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX

CC = gcc


default: $(OBJS)
        $(CC) $(OBJS) -g -lm -ldl -lreadline -ltermcap -o newlisp
#       $(CC) $(OBJS) -g -lm -ldl -lreadline -lncurses -o newlisp
#       $(CC) $(OBJS) -g -lm -ldl -lreadline -o newlisp
#       $(CC) $(OBJS) -g -lm -ldl  -lncurses -o newlisp
#       $(CC) $(OBJS) -g -lm -ldl -o newlisp
        strip newlisp

.c.o:
        $(CC) $(CFLAGS) $<

$(OBJS): primes.h protos.h makefile_maemo_utf8

dependency's ->
libm.so.6 => /lib/libm.so.6 (0x00000000)
libdl.so.2 => /lib/libdl.so.2 (0x00000000)
libreadline.so.4 => /lib/libreadline.so.4 (0x00000000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00000000)
libc.so.6 => /lib/libc.so.6 (0x00000000)
/lib/ld-linux.so.3 => /lib/ld-linux.so.3 (0x00000000)


Ill put that little precompiled god-tool on the garage page ;-)
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

aaa still working nicely the N810 with newlisp.

I have compiled the nano editor, quick and simple without much fingering
on the keyboard a good editor for the N810..
With the newlisp syntax highlighting nanorc a nice to have!

The inputrc is now a real wonderful addon on the N810.
Quick an simple macro's with termcap nice nice...saves typing..

The only thing I realy would like to see is the newlisp manual
being split per chapter in smaler html pages.. Loading that thing
is just a little too long ;-) But perhpas the Wiki could create a solution
here..

all in all I had the N810 on a holiday trip the last week and its smashing
to use ... the nicest part is.."A lambda prompt at your fingertips"..
nice nice...

No deep testing done yet..normal use and newlisp runs fine..
Ill through in some border-checking this month..
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Now having newlisp running on the N810 and being a console user
was thinking of an overall editing evironment..

For the Java part there is the GS editor for newlisp but as java is not
ported to the Maemo evironment I was seeking for something else..

And yes..there is.. Strange ..but I actualy never used this but comes in
very handing right now.. its the "http://www.newlisp.org/index.cgi?Applications" newlisp-ide ;-)

As the webbrowser on the N810 from Maemo is very quick it turn this
ide into a fully usable editor.

the first thing i did seek on the Ide was a way to change the lines of the iinput/output,
yes it was already taken care of and could simply be adjusted to 24.
then I seeked for a bigger font for the left panel and yes
it was already taken care of.

Easy file seeking editing and evaluating.. Very handy Lutz! thanks !
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

I added the maemo release to my newlisp page so its under the roof
of the rest of my newlisp collection.
http://maemo.nodep.nl can also be found via http://newlisp.nodep.nl
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

oke oke the N810 Maemo does official not have Sun Java
but there is a Jalimo version that support AWT/SWT.

So after some tweaking to get the AWT running it finaly ran out
of the box...Guiserver support runs.
(Not sure yet what widgets are there yet but we will see ;-)


Ill dump some screenshot here tonight ;-)
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

Ok so after having Jalimo working it was upto the Gui-Server to start,
that went all out of the box actualy... The only problem I had where the
pre-version 10 Gui-server demo's, those whernt converted yet by myself...oeps...

Anyway the speed of this VM running on a 400Mhz processor isnt advisable
for 2D drawing.. Its simple too slow.. menu Widget though are well workable..
Some widgets dont work like the html clickable..but thats know inside Jalimo AWT. The Jalimo is a java 1.5 port..so it used the Swing SWT and AWT nicely.

As the N810 has a small screen 800x480 and there is a reserved area for
menu's etc.. (you can do full screen, no problem) some programs i started
are not adjusted for this screen size..

Still its nice to see that its working, not flawless as I saw in loading files
from the newlisp-edit, but i was using a old GS library! 1.29 and not 1.34.

All in all below a resized collection of screen shots, No dont worry the
graphics are halfsized to make 1 picture but gui is fine. I took screenshot
from the N810 directly...

Image
-- (define? (Cornflakes))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

working with the n810 continues..
updated http://maemo.nodep.nl (refresh manual please ;-)

Actualy all armel packages from the debian distribution work, though
there is ofcourse the dependency's but those can be sloved.

Just installed joe editor..works like a charm..ofrouce with newlisp
syntax highlighting.. (nano crashed on my selfcompiled version
when doing a search inside the files..duh..)

Lutz.. who is doing the debian packages?
because I can pre-compile the armel version so an extra debian
package can be create for armel. Im not a .deb guru.. perhpas
its an option..
-- (define? (Cornflakes))

jdelgado
Posts: 1
Joined: Fri Dec 04, 2009 11:52 am

Re: newlisp on the Nokia N810 Internet tablet

Post by jdelgado »

Hi,

I'm new to newLISP, and the newLISP forums, so this is my first post (btw, thanks a lot to the creator of newLISP). Still playing with newLISP, though I am not new to Lisp. I have used Scheme for a while. I got here when I noticed that there was the possibility of carrying a lambda in the pocket, as they say...

I used to have lots of fun carrying around my Palm M125 with LispMe (scheme), but some time ago I just gave up the idea of having that back... until I discovered your newLISP port. I got really enthusiastic.

So, just one question: Does your port work with Nokia N900? If that is the case I will hurry to buy one. Unfortunately I have no much time to try to port newLISP to the new maemo version by myself.

Thanks in advance for your answer, and thanks for porting newLISP to Maemo.

Bests,

Jordi

Locked