Page 1 of 2
lisp for the nes
Posted: Sat Feb 19, 2011 3:15 pm
by erana
Hi,
To program for my nes I wanted a good language, like lisp.
A compiler for the nes did not exist yet, so I homebrewed my own lisp to
nes assembler system. In fact I made three of them.
Here are the links :
http://soft.vub.ac.be/~jceuppen/lisp/
About the source tarballs, nescc uses flex and bison, nes-dlsym uses dynamic loading of assembly libs and nes-target is the latest greatest with operator/operand switch, all implemented in C.
Have fun with it, I'll post again if I finish this.
Love,
erana
lisp for the nes
Posted: Sat Feb 19, 2011 3:17 pm
by erana
BTW, there's a lot of debug printing, but this way you can see the compiler do his thing.
Love,
erana
Posted: Sat Feb 19, 2011 6:27 pm
by ManicGenius
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((lisp))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Posted: Sat Feb 19, 2011 6:28 pm
by ManicGenius
On a side note, new languages are always cool. Now that you've done lisp, someone do OCAML or Haskell.
neslisp @ freshmeat.net
Posted: Wed Feb 23, 2011 2:49 am
by erana
The project neslisp is hosted at freshmeat.net, you can follow it here :
http:/freshmeat.net/projects/neslisp
Love,
erana
neslisp supported syntax
Posted: Wed Feb 23, 2011 2:51 am
by erana
At this date there is support for the following lisp language syntax:
when, loop, defun, function call, <, >, =, setq, +, -
Feedback
Posted: Wed Feb 23, 2011 3:23 pm
by Player 3
The first thing we're wondering is how well this assembler manages memory, how accurate it is, and that kind of stuff. If it's as weak as Batari BASIC, then some people may flee from it. Those are the people who want power for their thing.
Posted: Wed Feb 23, 2011 3:26 pm
by frantik
all high-level languages for the NES interest me so keep it up... though i have to admit i'm not a fan of lisp
neslisp usable now
Posted: Thu Mar 03, 2011 5:24 am
by erana
The compiler should be usable now more or less, see
http://freshmeat.net/projects/neslisp
Love,
erana
Posted: Mon May 23, 2011 10:24 pm
by dullahan
Very cool. Do you have a road-map for what parts of lisp you plan on or would like to implement?
Posted: Fri Apr 27, 2012 10:32 am
by erana
dullahan wrote:Very cool. Do you have a road-map for what parts of lisp you plan on or would like to implement?
Just features are, see moose.config file :
1 (
2 )
3 setq
4 defun
5 +
6 loop
7 when
8 <
9 >
10 =
11 -
12 if
13 '
14 asm
then list support and better transactions and more operators.
If I find the time I am going to work more on it.
erana
Re: Feedback
Posted: Sat Apr 28, 2012 10:53 am
by slobu
Player 3 wrote:The first thing we're wondering is how well this assembler manages memory, how accurate it is, and that kind of stuff. If it's as weak as Batari BASIC, then some people may flee from it. Those are the people who want power for their thing.
I haven't personally noticed any of the weaknesses stated in Batari BASIC. I've never corrupted memory using any function or complicated mathematical statement. I don't understand what accuracy means as compiled binaries work on actual cartridges, flash carts and emulators without fail - as long as you keep the cycle count sane.
That aside please continue developing lisp for NES! I personally failed to find enough documentation to get started though. NOTES and README didn't explain the commands.
Is there a preferred IDE to use with this?
Re: Feedback
Posted: Fri May 04, 2012 10:29 am
by erana
slobu wrote:Player 3 wrote:The first thing we're wondering is how well this assembler manages memory, how accurate it is, and that kind of stuff. If it's as weak as Batari BASIC, then some people may flee from it. Those are the people who want power for their thing.
I haven't personally noticed any of the weaknesses stated in Batari BASIC. I've never corrupted memory using any function or complicated mathematical statement. I don't understand what accuracy means as compiled binaries work on actual cartridges, flash carts and emulators without fail - as long as you keep the cycle count sane.
That aside please continue developing lisp for NES! I personally failed to find enough documentation to get started though. NOTES and README didn't explain the commands.
Is there a preferred IDE to use with this?
Look in moose.c :
moose.config contains the commands which are read in for lisp syntax (you can change the syntax to words of e.g. your own language (ASCII).
moose.lisp gets read and matched with moose.config and 6502 assembler output goes in the code.s file.
Explanation of commands can be found in any lisp tutorial, you see.
The IDE is vi & kterm
I am probably going to continue development, so more lisp syntax and doing something with lists stored at a fixed address now.
Cheers,
erana
Re: Feedback
Posted: Fri May 04, 2012 10:57 am
by erana
slobu wrote:Player 3 wrote:The first thing we're wondering is how well this assembler manages memory, how accurate it is, and that kind of stuff. If it's as weak as Batari BASIC, then some people may flee from it. Those are the people who want power for their thing.
I haven't personally noticed any of the weaknesses stated in Batari BASIC. I've never corrupted memory using any function or complicated mathematical statement. I don't understand what accuracy means as compiled binaries work on actual cartridges, flash carts and emulators without fail - as long as you keep the cycle count sane.
That aside please continue developing lisp for NES! I personally failed to find enough documentation to get started though. NOTES and README didn't explain the commands.
Is there a preferred IDE to use with this?
I've put in a Makefile and got all warnings out. You should be able to compile it this way on MacOSX and Unices.
neslisp available elsewhere
Posted: Thu May 17, 2012 2:14 pm
by erana
neslisp is now hosted at code.google.com:
https://code.google.com/p/neslisp/
enjoy.