#External Resources

ZX BASIC is an **open compiler toolkit**.
Other people contribute to it creating alternative IDEs, libraries, tools and utilities. Feel free to browse them, as you might find them useful for your work!

##IDEs
<abbr title="Integrated Development Environments">IDE</abbr> are integrated source (or bigger projects) editor, sometimes with an integrated debugger and many other tools (e.g. Borland Delphi or Visual Studio are well known IDEs). Some people have developed IDEs usable for ZX BASIC.

###Tommy Gun
A free IDE created by [Tony Thompson](http://www.users.on.net/~tonyt73). This powerful tool is designed to create 
generic 8-bit and 16-bit projects, and can be set up to be used with ZX Basic.
Have a look at the [TommyGun files](https://sourceforge.net/projects/tommygun/files/) page.

To integrate ZX Basic with Tommy Gun, please follow this [tutorial](http://www.boriel.com/forum/viewtopic.php?f=14&t=329&start=0).

###SpectNet IDE
A free and impressive IDE created by [Istvan Novak](https://github.com/Dotneteer).
This is a very powerful IDE very advanced and fully documented.
Proceed to the [SpectNet IDE page](https://dotneteer.github.io/spectnetide/) to download the tool and get 
further information. The documentation of it is very well maintained.

## Graphics editors 

* [SevenUP](http://www.speccy.org/metalbrain/), a ZX Spectrum graphics editor for FreeBSD, GNU/Linux, MacOS and Windows.

* [Multipaint](http://multipaint.kameli.net/), a Java-based graphics editor that allows you to draw pictures with the color limitations of some typical screen formats from 8-bit computer platforms, like ZX Spectrum, C64 and Plus/4 high-resolution and multicolor, MSX 1 and Amstrad CPC0.

##Utilities
Other generic utilities not above are:

###VIM Syntax Coloring
If you use [VIM](http://www.vim.org/) (I do) you can now tell vim to highlight your ZX BASIC .bas listings.
[Programandala](http://programandala.net/) has a nice Spectrum and retro programming site.
He also created a [VIM Syntax File for ZX BASIC](http://programandala.net/en.program.zx_basic_vim_syntax_file).
I find this very useful.

##Engines
There are several external engines that can be used within compiler to achieve effects like multi colour display, or sprite handling. 

* [FASE](http://www.boriel.com/forum/zx-basic-compiler/zxodus-engine-t891.html)
  (or [here](http://www.boriel.com/forum/zx-basic-compiler/fucking-awesome-spectrum-engine-fase-t899.html)),
  a sprite, tile and map engine.
* [Nirvana](https://www.ime.usp.br/~einar/bifrost/) A multi-colour timing engine
* [Nirvana+](https://www.worldofspectrum.org/forums/discussion/45538/a-new-full-screen-bicolor-engine-called-nirvana/p10)
  (or [https://www.ime.usp.br/~einar/bifrost/ here]) A multi-colour timing engine
* [Bifrost*](http://www.worldofspectrum.org/infoseekid.cgi?id=0027405) A multi-colour timing engine
* [Bifrost*2](https://www.ime.usp.br/~einar/bifrost/) A multi-colour timing engine
* [https://www.facebook.com/zxodus Zxodus<nowiki>][</nowiki>Engine]
  (or [here](http://www.boriel.com/forum/zx-basic-compiler/zxodus-engine-t891.html))
  A 3d maze and RPG engine with multicolour support.
