Page 1 of 1

What tooling to use to start zx spectrum game programming?

Posted: Fri May 22, 2020 11:07 pm
by oanime
Hi,

I owned a zx spectrum when I was young and would like to get back into game programming on the zx spectrum. As time has passed I have ran away from low level languages like asm, C, C++ that I used to use on the 80/90/00 and got into others more high level like java, python, c#, etc. You know, to make a living you need to be productive.

About a month ago I decided I wanted to get back to the roots and create a really simple game for the spectrum. Just for the fun. And today started to read about the toolchains available, etc. but, to be true I'm really lost.

I have found something that seems to be of my liking called spectnetide -> https://dotneteer.github.io/spectnetide/
It seems it has anything I could need to start my journey. But, I need an sprite/animator editor and something to write the music (I have found some trackers but don't down if the output is suitable to be imported and played on the spectrum in game).

So, could you please help here and add a bit of information about the best tools I could use to build a game for the speccy? What do you think about spectnetide is it worth it or is there something more conformatable? And what about the sprite editors/animators and music?

I always prefer to work with native windows tools because It feels a bit awkward to work on a real/emulated spectrum these days.

Thanks in advance!

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 1:19 am
by Joefish
I write Z80 code in Crimson Editor, compile it with PASMO and test it in ZXSpin, via programmed hotkeys.
Screens are done in ZX-Paintbrush, music in Beepola.
Sprites I'm actually sketching in my own tool running under ZX-DS on a Nintendo DS! Once done, it doesn't take me long to just type the hex for the graphics straight into code.

Any data I need processing I usually write a bit of C code and build with the command line compiler from MS Visual Studio Free Edition or use an old copy of Borland visual C++ if I want GUI controls.

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 6:37 am
by Cosmium
Blogger Rob has some useful stuff about developing for the Spectrum on the PC and has listed step by step instructions on setting up a development environment with the free text editor ConText, free assembler Pasmo and Spectaculator emulator:

https://zxspectrumdev.blogspot.com/2009 ... nt-on.html

I can attest that this setup works very well (though that spectnetide environment does look interesting..)

Have fun getting back into 8 bit development!

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 9:49 am
by Ralf
The important question here is if you would like to program in assembler or something else?

Because you actually have a choice. You can use assembler, you can use compiled Basic, you can use compiled C
and you can also use a game editor like AGD.

If you decide to go higher language/game editor way then some things become easier and some harder. A lot of stuff
is already done for you so it requires less effort to make a game. But you are also limited to the functionality that your tool offers,
sometimes simply you cannot do things that you would like with the tool.

For graphics you definitely should try out a tool called Sevenup:
http://metalbrain.speccy.org/

It converts PC graphics to Spectrum format. Okay, there actually isn't any Spectrum graphics format :) so it just converts the graphics
to lists of bytes. And you configure the order of bytes yourself and later write yourself a drawing procedure which uses this
chosen order.

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 10:35 am
by catmeows
oanime wrote: Fri May 22, 2020 11:07 pm Hi,

I owned a zx spectrum when I was young and would like to get back into game programming on the zx spectrum. As time has passed I have ran away from low level languages like asm, C, C++ that I used to use on the 80/90/00 and got into others more high level like java, python, c#, etc. You know, to make a living you need to be productive.

About a month ago I decided I wanted to get back to the roots and create a really simple game for the spectrum. Just for the fun. And today started to read about the toolchains available, etc. but, to be true I'm really lost.

Thanks in advance!
You have basically four options:
- cross assembler: Pasmo seems to be most popular but there few other that are usable
- c compiler - offers higher level abstraction without closing door to inline assembler, it has some libraries covering most typical problems
- boriel basic - a basic compiler that borrows a lot from modern languages, it also has some libraries
- authoring tools like AGD

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 10:57 am
by PeterJ
I keep it simple and just use Pasmo and Notepad.

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 11:05 am
by azesmbog
SJAsm+ + Crimson Editor

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 11:11 am
by ellvis
I won't go into details about writing the code (I use VIM as editor, AS as cross-compiler and FUSE for testing, everything chained together using make file), but for the music I can recommend Arkos Tracker 2 http://www.julien-nevo.com/arkostracker/ which run on PC, is multi platform and support directly ZX Spectrum. You have even few player routines to choose from (full player, space restricted player etc.).

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 11:28 am
by Alone Coder
My current toolset:
Sjasmplus, Total Commander, Notepad++, Unreal Speccy (Pentagon/ATM, and the debugger!), Fuse (48/128/+3)
trdtool or nedotrd (from NedoOS) for .trd, bin2tap for .tap
nedores (from NedoOS) and con18 for gfx conversion from .bmp, Photoshop, ZX Paintbrush or BGE
mhmt and ZXRar for compression
Pro Tracker 3.73 for music
AY FX Editor (from Evo SDK) for sound effects

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 1:27 pm
by oanime
Thanks a lot for all the answers.

I'm really used to debug code. I mean, I'm not too good on reading the code and just extrapolate what it does. I can do it, but it takes more time for me than for other programmers I know. So, be able to debuggin ins important to me.

I see some people just use a text editor and a compiler and man, this is awesome because for me I think I would iterate really slow when hunting bugs. Or am I missing something?

This is one of things I really love about spectentide.

Cheers.

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 1:30 pm
by oanime
ellvis wrote: Sat May 23, 2020 11:11 am I won't go into details about writing the code (I use VIM as editor, AS as cross-compiler and FUSE for testing, everything chained together using make file), but for the music I can recommend Arkos Tracker 2 http://www.julien-nevo.com/arkostracker/ which run on PC, is multi platform and support directly ZX Spectrum. You have even few player routines to choose from (full player, space restricted player etc.).
Arkos tracker looks awesome. Seriously!

Thanks!

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 1:40 pm
by oanime
Ralf wrote: Sat May 23, 2020 9:49 am The important question here is if you would like to program in assembler or something else?

Because you actually have a choice. You can use assembler, you can use compiled Basic, you can use compiled C
and you can also use a game editor like AGD.

If you decide to go higher language/game editor way then some things become easier and some harder. A lot of stuff
is already done for you so it requires less effort to make a game. But you are also limited to the functionality that your tool offers,
sometimes simply you cannot do things that you would like with the tool.

For graphics you definitely should try out a tool called Sevenup:
http://metalbrain.speccy.org/

It converts PC graphics to Spectrum format. Okay, there actually isn't any Spectrum graphics format :) so it just converts the graphics
to lists of bytes. And you configure the order of bytes yourself and later write yourself a drawing procedure which uses this
chosen order.
I'm definetely going to use ASM. This is just for fun. And using assembler makes me be really focused. I want to create a game for the speccy but I need to taste the metal again :). If I would use AGD for example I would feel guilty in the end ç:D

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 3:09 pm
by Alone Coder
oanime wrote: Sat May 23, 2020 1:27 pm I see some people just use a text editor and a compiler and man, this is awesome because for me I think I would iterate really slow when hunting bugs. Or am I missing something?
If you use old versions of Sjasmplus, it exports labels in the format that Unreal Speccy debugger knows. So you just trace in the debugger using these labels, and you can change code and data, make conditional breakpoints and memory access breakpoints, load&save memory, count t-states.
Sadly it doesn't export labels in range #0000..#3fff.
Modern versions of Sjasmplus have incompatible labels. Maybe somebody could make a converter?

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 9:12 pm
by Ralf
I'm definetely going to use ASM. This is just for fun. And using assembler makes me be really focused. I want to create a game for the speccy but I need to taste the metal again :). If I would use AGD for example I would feel guilty in the end ç:D
Okay, is this case a typical configuration that people use on PC is asm compiler + text editor + emulator. You can mix then in different combinations. Compilers don't have own GUI, they just read some input files and write out output files so they are usually called from another program.

Your typical workflow looks something like

- write your code in text editor
- run some macro in the editor which runs the compiler with your code file as a parameter
- compiler creates a file possible to be run in an emulator
- you run it in the emulator and check the result

I don't know about the Visual Studio thing that you mention, is it in some way different ???

One problem in this approach is debugging. You write the code in text editor and run it in emulator. Emulators have own debuggers
which display running code but this displayed code is without any comments, labels and other stuff that you have in your source.

I've heard someting about some recent tools that enable to debug your actual source code but don't remember the details.

Remember that people may use some tools for years because they got used to them and don't try out new stuff. You are in different
position, so check different option and choose the one that fits you best.

Re: What tooling to use to start zx spectrum game programming?

Posted: Sat May 23, 2020 9:29 pm
by Seven.FFF
Zeus is a combined IDE/assembler/debugger which allows you to debug your own source files.

Re: What tooling to use to start zx spectrum game programming?

Posted: Sun May 24, 2020 8:34 pm
by Alone Coder
For native development, ALASM is better than Zeus :)

Re: What tooling to use to start zx spectrum game programming?

Posted: Sun May 24, 2020 8:52 pm
by Seven.FFF
Zeus is a crossassembler with source debugging by the author of the original Zeus. I wouldn’t recommend using native tools in a thread like this.

Re: What tooling to use to start zx spectrum game programming?

Posted: Mon May 25, 2020 3:59 pm
by Andrew771
I use EmuZWin emulator for assembler coding and debugging, all in one is convenient. And I use the cross-compiler ZX Like Pascal for a high-level programming language + my sprite converter.

Re: What tooling to use to start zx spectrum game programming?

Posted: Mon May 25, 2020 5:16 pm
by Mad Fritz
Andrew771 wrote: Mon May 25, 2020 3:59 pm ... And I use the cross-compiler ZX Like Pascal for a high-level programming language + my sprite converter.
My Russian is a bit rusty after too many years not being forced to use it :lol: - is there an English manual by any chance?

BR / Andy

Re: What tooling to use to start zx spectrum game programming?

Posted: Mon May 25, 2020 6:02 pm
by Andrew771
Mad Fritz wrote: Mon May 25, 2020 5:16 pm My Russian is a bit rusty after too many years not being forced to use it :lol: - is there an English manual by any chance?
A brief English description is here
Complete not found... :D Ask what is not clear, I will answer (in topic for Pascal)

Re: What tooling to use to start zx spectrum game programming?

Posted: Tue May 26, 2020 2:23 am
by Mad Fritz
Andrew771 wrote: Mon May 25, 2020 6:02 pm
Mad Fritz wrote: Mon May 25, 2020 5:16 pm My Russian is a bit rusty after too many years not being forced to use it :lol: - is there an English manual by any chance?
A brief English description is here
Complete not found... :D Ask what is not clear, I will answer (in topic for Pascal)
Thanks a lot, it'a a good starting point. I will give it a try and come back to you if I should stuck (or refresh my Russian).