Beginner Question: Programs that enable you to Program

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Post Reply
PaultheRoman
Drutt
Posts: 9
Joined: Thu Feb 21, 2019 3:42 am
Location: Puerto Rico

Beginner Question: Programs that enable you to Program

Post by PaultheRoman »

I've already posted in the art and music subforums, so now I'm here in the programming section! Basically I need help with two things:
1. Which program should I use for programming in assembly, and what program should I use for programming in BASIC, for the Spectrum on Windows 10?
2. Which program should I use for programming in assembly, and what program should I use for programming in BASIC, within the Spectrum?
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Beginner Question: Programs that enable you to Program

Post by Alessandro »

Hi, once more I will answer you referring to my personal experience mostly, and also to what I have heard and read throughout the years.

1. ZX-Editor is my preferred choice for BASIC programs. A great utility with many options, very powerful and flexible. As for Assembly language, I write the code with Notepad++ and assemble it with Pasmo 0.5.4 beta 2; in the past I used to assemble .ASM files with the experimental 0.6.0 version, but some time ago a strange issue which did not surface with the previous one made me downgrade to it.

2. Simply answered - you don't. No one would do that nowadays. With all the available tools around, there's no need whatsoever to bother coding directly on a Spectrum, unless you need an authoring utility like the P.A.W. for adventures and AGD for arcade games - and even in such cases, it makes sense to do that on an emulated machine, reserving real hardware for testing. Much better, safer and quicker to code on your PC and test it on the Spectrum.
User avatar
djnzx48
Manic Miner
Posts: 729
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: Beginner Question: Programs that enable you to Program

Post by djnzx48 »

When I first started learning machine code I used the built-in assembler in ZX Spin 0.666 or just assembled the code by hand using the Spectrum manual. But now I stick to writing in Notepad++ and using something like Pasmo, Sjasmplus, or Zeus to assemble it. I find the process of setting up the build to produce a .tap file can be complicated, so an emulator with a built-in assembler such as ZX Spin would be a good place to start.

If you don't want to get into assembler right away there are also some great C compilers, such as the one in z88dk, and that might be easier to deal with. Or you could try using a faster compiled BASIC such as Boriel's ZX Basic. I think it's still worth using the original Sinclair BASIC interpreter for programming, but for assembler you're better off sticking with PC tools.
User avatar
Morkin
Bugaboo
Posts: 3251
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Beginner Question: Programs that enable you to Program

Post by Morkin »

Another vote for Spin for (1), I found the in-built assembler helpful to learning assembly from pretty much zero knowledge. Though to be honest, I couldn't get my head round anything else because I'm not all that technical (I'm not a 'modern' coder)...

It's quite easy to use a combination of BASIC and assembly if you were planning to dabble in both. Write your code, click File > Assemble to put it into the Speccy's memory:

Image

I agree about (2), I wouldn't even attempt it(!) as it's a bit laborious. And you still get a great sense of satisfaction once you finally get the code you wrote on your emulator running on the real machine. :)
My Speccy site: thirdharmoniser.com
User avatar
PeterJ
Site Admin
Posts: 6855
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: Beginner Question: Programs that enable you to Program

Post by PeterJ »

I too would start off with the built in Sinclair BASIC. You then start to get the feel of the machine and how the graphics work Then move onto Assembly, C, or one of the game designers like AGD.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Beginner Question: Programs that enable you to Program

Post by Ralf »

What is your general experience with programming? Did you program in Basic before? Do you know any modern programming language?

in case of programming in Z80 assembler on modern PC there are two things - editor and assembler.

Editor is well, a text editor that you use to enter your code. It doesn't have to be created for Zx Spectrum at all. They are general purpose things
that you could use as well to write poetry ;)

Assembler is a program that converts instructions to binary code. It is "invisible", doesn't have own interface with windows and buttons. You can call it from command line or FROM TEXT EDITOR which is the important thing here.

So you use a combo of editor+assembler and can make your own favourite mix here ;)
PaultheRoman
Drutt
Posts: 9
Joined: Thu Feb 21, 2019 3:42 am
Location: Puerto Rico

Re: Beginner Question: Programs that enable you to Program

Post by PaultheRoman »

I've programmed before with C for a class in university. It was around 2 years ago, and lasted for a semester (the length of the class).

I would personally like to use a text editor and an assembler, but it's setting up the assembler that's hard. Anyone willing to help? Also, anyone here have Discord or uses an IM (Instant Messaging) service of the like (can be Facebook's Messenger).
User avatar
PeterJ
Site Admin
Posts: 6855
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: Beginner Question: Programs that enable you to Program

Post by PeterJ »

If you want to use a text editor with an assembler then try Pasmo. Follow this tutorial. It's a little old but I use Notepad++ or just any text editor.

http://shaunbebbington.blogspot.com/201 ... i.html?m=1
PaultheRoman
Drutt
Posts: 9
Joined: Thu Feb 21, 2019 3:42 am
Location: Puerto Rico

Re: Beginner Question: Programs that enable you to Program

Post by PaultheRoman »

Thank you, Peter.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: Beginner Question: Programs that enable you to Program

Post by 1024MAK »

Ralf wrote: Fri Feb 22, 2019 4:52 pm that you could use as well to write poetry ;)
Please, no Vogon poetry :shock:

[media]https://youtu.be/IxPeIiU2kx4[/media]

Back to the topic, yes, follow the advice given above for writing assembly code / machine language code.

For general tinkering and writing short BASIC programs, you can either use a real ZX Spectrum, or use an emulator.
If using a real ZX Spectrum, I do recommend you use a suitable mass storage system that you can SAVE you programs on (not all can handle saving). If you can get used to the keyword entry, any ZX Spectrum can be used. But if not, you will need to use the 128K full screen editor on the 128K, +2, or +3 machines.

For longer BASIC programs, I recommend either using an appropriate application on a PC, or an emulator. As you will want to keep making backup copies as you develop it.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Beginner Question: Programs that enable you to Program

Post by Ralf »

For longer BASIC programs, I recommend either using an appropriate application on a PC, or an emulator
There is an PC application (a precise word would be IDE I guess) for writing Spectrum Basic programs called Basin. It comes with built-in
emulator so you can test your programs while writing them witohut leaving the environment.

https://sites.google.com/site/ulaplus/h ... -and-basin
Image

Personally I never got into it but you may give it a try to check yourself if you like it.
Post Reply