# 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/) or [source code](https://github.com/tonyt73/TommyGun) pages.

To integrate ZX Basic with Tommy Gun, please follow this [tutorial](https://forum.boriel.com/showthread.php?tid=110).

### 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.

* [ZX-Paintbrush](https://zx-modules.jimdofree.com/), a Windows graphics editor specifically for ZX-Spectrum screen formats, including multicolor.

## Utilities
Other generic utilities not above are:

### Sublime Text Syntax Highlighting
Sublime Text is a modern macOS/Linux/Windows code editor which now has [ZX BASIC syntax highlighter](https://github.com/patters-syno/zx-basic-syntax) support.

### 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 multicolour display, or sprite handling.

* [FASE](https://forum.boriel.com/showthread.php?tid=568)
  (or [here](https://forum.boriel.com/showthread.php?tid=575)), a sprite, tile and map engine.
* [Nirvana](https://spectrumcomputing.co.uk/entry/30001/ZX-Spectrum/NIRVANA_ENGINE)
  (or [here](https://www.ime.usp.br/~einar/bifrost/)), a multicolour 8x2 (30x22 chars) graphics engine.
* [Nirvana+](https://spectrumcomputing.co.uk/entry/30002/ZX-Spectrum/NIRVANA_ENGINE)
  (or [here](https://www.ime.usp.br/~einar/bifrost/)), a multicolour 8x2 (32x23 chars) graphics engine.
* [Bifrost*](https://spectrumcomputing.co.uk/entry/27405/ZX-Spectrum/BIFROST*_ENGINE)
  (or [here](https://www.ime.usp.br/~einar/bifrost/)), a multicolour 8x1 (18x18 chars) graphics engine.
* [Bifrost*2](https://spectrumcomputing.co.uk/entry/30003/ZX-Spectrum/BIFROST*2_ENGINE)
  (or [here](https://www.ime.usp.br/~einar/bifrost/)), a multicolour 8x1 (20x22 chars) graphics engine.
* [Zxodus\]\[Engine](https://spectrumcomputing.co.uk/entry/26639/ZX-Spectrum/ZXodus_Engine)
  (or [here](https://forum.boriel.com/showthread.php?tid=568)), a 3d maze and RPG engine with
  multicolour 8x1 (18x18 chars) support.
