What tooling to use to start zx spectrum game programming?

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Post Reply
oanime
Drutt
Posts: 4
Joined: Fri May 22, 2020 10:39 pm

What tooling to use to start zx spectrum game programming?

Post 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!
User avatar
Joefish
Rick Dangerous
Posts: 2041
Joined: Tue Nov 14, 2017 10:26 am

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

Post 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.
User avatar
Cosmium
Microbot
Posts: 154
Joined: Tue Dec 04, 2018 10:20 pm
Location: USA

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

Post 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!
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

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

Post 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.
catmeows
Manic Miner
Posts: 711
Joined: Tue May 28, 2019 12:02 pm
Location: Prague

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

Post 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
Proud owner of Didaktik M
User avatar
PeterJ
Site Admin
Posts: 6852
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

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

Post by PeterJ »

I keep it simple and just use Pasmo and Notepad.
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

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

Post by azesmbog »

SJAsm+ + Crimson Editor
ellvis
Drutt
Posts: 13
Joined: Tue Dec 26, 2017 11:55 am

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

Post 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.).
Alone Coder
Manic Miner
Posts: 401
Joined: Fri Jan 03, 2020 10:00 am

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

Post 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
oanime
Drutt
Posts: 4
Joined: Fri May 22, 2020 10:39 pm

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

Post 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.
oanime
Drutt
Posts: 4
Joined: Fri May 22, 2020 10:39 pm

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

Post 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!
oanime
Drutt
Posts: 4
Joined: Fri May 22, 2020 10:39 pm

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

Post 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
Alone Coder
Manic Miner
Posts: 401
Joined: Fri Jan 03, 2020 10:00 am

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

Post 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?
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

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

Post 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.
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

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

Post by Seven.FFF »

Zeus is a combined IDE/assembler/debugger which allows you to debug your own source files.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Alone Coder
Manic Miner
Posts: 401
Joined: Fri Jan 03, 2020 10:00 am

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

Post by Alone Coder »

For native development, ALASM is better than Zeus :)
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

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

Post 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.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Andrew771
Drutt
Posts: 42
Joined: Mon May 04, 2020 9:59 pm
Location: Moscow, Russia

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

Post 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.
Coder of ZXOOM, Euphoria 2D, ZX Like Pascal, Russian Railway Magnate...
Mad Fritz
Dizzy
Posts: 59
Joined: Wed Jun 27, 2018 1:21 pm

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

Post 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
Andrew771
Drutt
Posts: 42
Joined: Mon May 04, 2020 9:59 pm
Location: Moscow, Russia

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

Post 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)
Coder of ZXOOM, Euphoria 2D, ZX Like Pascal, Russian Railway Magnate...
Mad Fritz
Dizzy
Posts: 59
Joined: Wed Jun 27, 2018 1:21 pm

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

Post 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).
Post Reply