Intro


The nano virtual machine

Nano is a register based virtual machine.
The goal is to create an easy to use and powerful VM.

Why yet another VM?

I wanted to create something new. It was a challenge for me.

Why registers and not a Java like stack?

The nano language is assembler. It's easier to do with registers ;).
Nano is a pure interpreter, there's no JIT.

The main features are:

- types: byte, short int, long int, double and string.
- arrays
- ANSI output functions: text styles, text locating, cursor moving...
- file I/O
- TCP/IP sockets
- virtual memory support for machines without MMU
- portable (100% C)
- graphics server based upon SDL and SDL_gfx, for graphics and GUI
- Runs on older hardware too. Amiga port available ;)
- Threads support: multiple threads of execution can be launched. (1.1.9).
See the hello_thread.na example in the main archive.
- licensed under the GPL