I posted my findings here earlier today - have only begun looking into this stuff though, but there's some ideas.sl07h1 wrote: ↑Sun Mar 21, 2021 10:35 pm Hi, I'm a Linux user, I would like if there's a tool setup for do the following:
1. Write Assembler code (or BASIC code) in a reasonable way and export the code to an emulator to test.
2. Export stuff from the emulator to a .tgz file (or a .p file) in order to get the stuff working in the ZX 81
Thanks.
ZX 81 development on Linux. What tools?
Re: ZX 81 development on Linux. What tools?
Re: ZX 81 development on Linux. What tools?
Awesome, I'm using ZesarUX for BASIC stuff, it works very well with ZX81 Tape Convert and my Zeedy. I will give it a try and tell the story later!!sboisvert wrote: ↑Mon May 03, 2021 5:36 amI posted my findings here earlier today - have only begun looking into this stuff though, but there's some ideas.sl07h1 wrote: ↑Sun Mar 21, 2021 10:35 pm Hi, I'm a Linux user, I would like if there's a tool setup for do the following:
1. Write Assembler code (or BASIC code) in a reasonable way and export the code to an emulator to test.
2. Export stuff from the emulator to a .tgz file (or a .p file) in order to get the stuff working in the ZX 81
Thanks.
Thanks!
Re: ZX 81 development on Linux. What tools?
My own experience in Linux environment for ZX81 assembler development:
1. Visual Studio Code with DeZog
2. z88dk development kit
3. ZEsarUX
VS Code configuration files:
In tasks.json:
In launch.json:
I found that there is problem with communication between VS Code and ZEsarUX - after compilation of assembler code to .P file VS Code can't send it to ZEsarUX. To fix this bug you can download source code of ZEsarUX and in the file utils.c change function insert_tape_cmdline to:
It is not ideal decision, because there also possible some memory leak, but it's work.
1. Visual Studio Code with DeZog
2. z88dk development kit
3. ZEsarUX
VS Code configuration files:
In tasks.json:
Code: Select all
{
"label": "z88dk",
"type": "shell",
"command": "z88dk.z88dk-z80asm",
"args": [
"-mz80",
"+zx81",
"-l",
"-m",
"${file}"
],
"group": {
"kind": "build",
"isDefault": true
}
}
Code: Select all
{
"type": "dezog",
"request": "launch",
"name": "ZEsarUX",
"remoteType": "zrcp",
"rootFolder": "${fileDirname}",
"zrcp": {
"hostname": "localhost",
"port": 10000
},
"z88dk": [{
"path": "${fileDirname}/${fileBasenameNoExtension}.lis",
"srcDirs": [""],
"mapFile": "${fileDirname}/${fileBasenameNoExtension}.map",
"mainFile": "${fileDirname}/${fileBasenameNoExtension}.asm",
"excludeFiles": [ "${fileDirname}" ]
}],
"disassemblerArgs": {
"numberOfLines": 24,
"esxdosRst": true
},
"preLaunchTask": "z88dk",
"load": "${fileDirname}/${fileBasenameNoExtension}.P"
}
Code: Select all
void insert_tape_cmdline(char *s)
{
tapefile = malloc(strlen(s)+1);
strcpy(tapefile,s);
}
Sinclair ZX81, Sinclair QL, Sinclair ZX Spectrum +2, Atari 130XE, Commodore 64C, Commodore C128, Yamaha YIS503IIIR MSX2 & etc
Re: ZX 81 development on Linux. What tools?
ZesarUX should be on github, you can contribute making a pull request and discuss a proper fix in case!Neurogate wrote: ↑Sun Oct 17, 2021 8:30 pm I found that there is problem with communication between VS Code and ZEsarUX - after compilation of assembler code to .P file VS Code can't send it to ZEsarUX. To fix this bug you can download source code of ZEsarUX and in the file utils.c change function ...
Re: ZX 81 development on Linux. What tools?
My solution is not ideal, only a temporary one. It's like fixing a hole in a water pipe with a chewing gum - it works, but no more. As an engineer, I understand that this is an ugly solution of the problem.
Sinclair ZX81, Sinclair QL, Sinclair ZX Spectrum +2, Atari 130XE, Commodore 64C, Commodore C128, Yamaha YIS503IIIR MSX2 & etc
Re: ZX 81 development on Linux. What tools?
Today I tested the last ZesarUX communicating with the last DeZog and the latter was perfectly able to send the program to debug. Or it has been corrected or maybe there is some configuration to adjust.
And I'm using Linux versions of both.
And I'm using Linux versions of both.
Re: ZX 81 development on Linux. What tools?
If it works - don't touch it
I'm having a problem, and I've changed the source code to fix it, maybe it's a feature of my computer's configuration.
I'm having a problem, and I've changed the source code to fix it, maybe it's a feature of my computer's configuration.
Sinclair ZX81, Sinclair QL, Sinclair ZX Spectrum +2, Atari 130XE, Commodore 64C, Commodore C128, Yamaha YIS503IIIR MSX2 & etc
Re: ZX 81 development on Linux. What tools?
I got the answer: "load" works only for ZX Spectrum program (eg SNA) not for ZX81 ones (.p)!
Re: ZX 81 development on Linux. What tools?
So... by this it's not a feature of my computer's configuration but a bug of work with ZX81. By this my solution with modification of the source code can be useful, because at me all work fine now and for ZX81 (.p) code.
Sinclair ZX81, Sinclair QL, Sinclair ZX Spectrum +2, Atari 130XE, Commodore 64C, Commodore C128, Yamaha YIS503IIIR MSX2 & etc
- chernandezba
- Posts: 209
- Joined: Tue Mar 11, 2014 4:30 pm
Re: ZX 81 development on Linux. What tools?
Thanks for reporting it. Your code change was good enough to fix it, however the real bug was on the ZRCP layer (the protocol that comunicates VS Code and ZEsarUX). I've just fixed it!
I found that there is problem with communication between VS Code and ZEsarUX - after compilation of assembler code to .P file VS Code can't send it to ZEsarUX. To fix this bug you can download source code of ZEsarUX and in the file utils.c change function insert_tape_cmdline to:
It is not ideal decision, because there also possible some memory leak, but it's work.Code: Select all
void insert_tape_cmdline(char *s) { tapefile = malloc(strlen(s)+1); strcpy(tapefile,s); }
https://github.com/chernandezba/zesarux ... 0b6f012545
Cheers