When I develop Machine Code games for the Sinclair ZX Spectrum, I use the following Development Tools:
- ConText Text Editor (http://www.contexteditor.org/)
- Pasmo Assembler (Pasmo)
- Spectaculator Emulator (http://www.spectaculator.com/)
Installing “Spectaculator”
Download and Install “Spectaculator” 30 Day Trial. I cannot recommend this emulator more highly, it is awesome
Installing “Context” Editor
The Editor allows me to write the code with Syntax Highlighting, as well as define events for key presses that assist me in running and testing my programs.
Download the editor (1.6 MB) from http://www.contexteditor.org/ andfollow the installation instructions:
Step 1:
Step 2:
And follow the wizard until it has installed
Install “Pasmo” Assembler
Next, download the Assembler from http://www.arrakis.es/~ninsesabe/pasmo/
I use the 0.5.3 version, downloadable as a ZIP from pasmo-0.5.3.zip
Once downloaded, Unzip and extract.
Install in a directory of your choice
Configure Context
- From the menu choose “Options -> Environment”. A dialog box will appear.
- Click the “Execute Keys” tab.
- Click the “Add” button, and add an entry for files with a “asm” extension.
Set up the “F9” Functionality.
This will allow the file to be compiled, and a “TAP” file which includes a BASIC loader will be created.
- Execute: Browse To and Select the Pasmo executable.
- Start in: %p (File path)
- Parameters: --tapbas %n %F.tap
- This will create a ZX Spectrum TAP file with BASIC loader, output to same filename with “TAP” extension.
- Use short DOS names for Pasmo.
- Output to compiler window.
- Scroll to last line for verbose output.
Set up the “F10” functionality
This will execute “Spectaculator” and pass in the compiled filename.
- Execute: Points to the Spectaculator executable.
- Start in: %p (File path)
- Parameters: %p\%F.tap
- This means Path, and Filename (tap)
- Use short DOS names for Emulator
Testing the Development Environment
Create the following test program in Context, and save to your project folder as “text.asm”.
org 08000h
ld hl,04000h
ld (hl),%10101010
ld de,04001h
ld bc,17FFh
ldir
ret
end 08000h
Press “F9” and the program should assemble.
Press “F10” to execute “Spectaculator” and you should get the following results:
Congratulations! You are now ready to develop Machine Code on your Windows PC!
Nice work. I also find the asm editor in TommyGun is excellent too, and is also easy to point to Pasmo and Spin, not to mention the excellent gfx/tiles/map editor too. :)
ReplyDeleteVery Good Post, :D
A fantastic post! I am waiting for more material of this blog.
ReplyDeleteThanks for the efford to communicate the way to create spectrum games on Assembly.
:)
Excellent blog post - very helpful. Also works with ZX32, which is a good free emulator. Might step up to Spectaculator if I get into this some more.
ReplyDeleteJust found this blog, it looks very promising, keep on the good work!
ReplyDeleteGreat post - really useful. I have a collection of old Input magazines and I've been wanting to try some of the machine code listings in them. This will make it a lot easier and less painful.
ReplyDeleteThank you!
Nice and simple introduction!
ReplyDeleteI have been coding z80 for CPC but then I decided today to try something on Spectrum.
I must seek for the tutorials now, or specifics of spectrum gfx coding.
Just wanted to say a massive thank you for this page. Had been using Spin and ran into the inevitable error messages, when using it with Windows 7
ReplyDeleteSaw your article and switched over to your editor and PASMO, and it's all working really well.
Question: Regarding the editor and the way it colours your code, has anyone created a profile called Z80, instead of X86 Assembler eg. so labels etc are colour coded properly ?
Dax
Pasmo's new website:
ReplyDeletehttp://www.speccy.org/pasmo
Wow that was super easy to get going cheers!
ReplyDeleteThis got me up and running easier than any other guide I found - thanks!
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteUseful article, thanks. I was working on to make setup work with ZX Spin, so for those interested in that setup, for me solution was to uncheck "use short DOS names" and use parameters: %p%F.tap . But it might just be me on Windows 10, I wonder if the above setup will still work for ZX Spin
ReplyDeleteThanks for this - a nice starter program. I ended up using SublimeText and RealSpectrum but with your code and following the same principles.
ReplyDeleteHello Rob, I find your blog very interesting. I found it searching for zx spectrum tutorials, I wanted to contact you directly but I don't find any contact form or email, I love the spectrum demo scene and games and I'm working in a online tv project in which I would love to broadcast content like this. If you would like to create a tutorial in a multimedia format (with voice and video explanations) please contact me.
ReplyDeleteI have this all up and running but when I run any other small demo code I just get a Bytes: (then the tap name)
ReplyDeleteOk,nnn
code like this in Jonathan Cauldwells book ...
ld a,2 ; upper screen
call 5633 ; open channel
loop ld de,string ; address of string
ld bc,eostr-string ; length of string to print
call 8252 ; print our string
jp loop ; repeat until screen is full
string defb '(your name) is cool'
eostr equ $
please help!
Did you find a solution to this as I am getting the same
DeleteThis comment has been removed by the author.
ReplyDeleteYou need to add
ReplyDeleteorg 08000h
at the beginning and
ret
end 08000h
at the end
This comment has been removed by the author.
ReplyDeleteHow to make a casino chip bet - JT Hub
ReplyDeleteThe following table shows how 진주 출장마사지 to make a casino chip bet. 1. The 용인 출장안마 chip 안양 출장샵 is a standard 동두천 출장샵 three-card poker hand.2. You can use 충청북도 출장샵 your chips if they are playing with the