ZX81-IDE Software Development Tool, IDE

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
David G
Posts: 44
Joined: Thu Jul 17, 2014 7:58 am

Re: ZX81-IDE Software Development Tool, IDE

Post by David G » Sun Jul 20, 2014 3:14 am

feel free to post errors or missbehaviours just here
I notice some unexpected behavior and could not find a previous report.
When concatenating strings, ZX-IDE compiles:

this:

Code: Select all

  5  LET U$="HELLO "
  8  LET U$=U$+"CLIVE"
 12  PRINT U$
to this:

Code: Select all

  5  LET U$="HELLO "
  8  LET U$=U$+AT CLIVE
 12  PRINT U$
The original code runs on the ZX81, while the compiled version results in C/8

Is the +" sequence reserved?

User avatar
PokeMon
Posts: 2225
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81-IDE Software Development Tool, IDE

Post by PokeMon » Sun Jul 20, 2014 11:40 pm

I will take a look at it soon.
There might be situations where some operations could fail due to the internal interpreter of underlying FASM compiler.

User avatar
PokeMon
Posts: 2225
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81-IDE Software Development Tool, IDE

Post by PokeMon » Mon Aug 11, 2014 11:28 am

q.jpg
q.jpg (23.66 KiB) Viewed 2025 times
Hmm - what operating system do you have ?
CTRL-F8 and CTRL-F9 do work normal ?

With F8 and F9 or transfer file external programs are called via CreateProcess I think.
Looks that this fails.
I didn't test it yet under Windows 8.

User avatar
marste
Posts: 131
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX81-IDE Software Development Tool, IDE

Post by marste » Tue Aug 12, 2014 4:02 pm

> Hmm - what operating system do you have ?
Windows 7 Enterprise SP1


> CTRL-F8 and CTRL-F9 do work normal ?
Ctrl-F9 yes, compile
Ctrl-F8 same fatal error!...

User avatar
PokeMon
Posts: 2225
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81-IDE Software Development Tool, IDE

Post by PokeMon » Tue Aug 12, 2014 4:51 pm

So these function where it fails will call external programs or access hardware (soundcard).

So maybe you could try to run it with admin privilegues for test or you try to switch off any firewall/antivirus kit/sandbox you maybe have on your system.
It starts a LISTZ80.EXE in the same directory (CTRL-F8) or tries to start Windows Mediaplayer or access soundcard with F9 (transfer) or starts the emulator EightyOne.EXE with F8 (emulate) which has to be installed separately, I think. Not sure now in my head, wrote it in the tutorial I think.

I also try to find any open window of Mediaplayer or EightyOne and close it first (for not having dozens of open applications) - so this could fail as well for security issues. On my WIN 7 Professional it works fine (I am working with admin account only).

User avatar
marste
Posts: 131
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX81-IDE Software Development Tool, IDE

Post by marste » Tue Aug 12, 2014 5:07 pm

"Run as administrator" infact change something: now the program simply terminate without visible error

User avatar
marste
Posts: 131
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX81-IDE Software Development Tool, IDE

Post by marste » Tue Aug 12, 2014 5:11 pm

PS:

Tryed F8 with an old Windows XP computer and everything run fine! :)
(should I rob my daughter of her computer? ;))

User avatar
PokeMon
Posts: 2225
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81-IDE Software Development Tool, IDE

Post by PokeMon » Tue Aug 12, 2014 7:49 pm

Yes - maybe the rights system is more complicate under WIN7.
I am not sure if the program is allowed to spawn another Program.
Maybe it is suitable to start a WIN XP image as VHD (virtual hard disk) which is more easy to handle.

I could try to keep in touch with you and send you some modified trial versions with email to test them but I am not sure if you are interested in investigating it. I am not able now to install a WIN7 enterprise version or to test with different accounts. I never heard about this problem before. :?

User avatar
marste
Posts: 131
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX81-IDE Software Development Tool, IDE

Post by marste » Sat Aug 16, 2014 3:34 pm

Happy to test! :)

User avatar
PokeMon
Posts: 2225
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81-IDE Software Development Tool, IDE

Post by PokeMon » Fri Oct 17, 2014 11:38 pm

So there is a new version of ZX-IDE available, version 1.71.01m (10/2014) which can be downloaded from the tutorial thread.
viewtopic.php?f=6&t=1064

There are 2 bugfixes included:
peterz wrote:I noticed that ZX-IDE lets me use a few instructions that don't exist. One example is LD HL, (DE), but I think there are others. These can be hard to find back later, when things don't work.
David G wrote: I notice some unexpected behavior and could not find a previous report.
When concatenating strings, ZX-IDE compiles:
this:

Code: Select all

  5  LET U$="HELLO "
  8  LET U$=U$+"CLIVE"
 12  PRINT U$
to this:

Code: Select all

  5  LET U$="HELLO "
  8  LET U$=U$+AT CLIVE
 12  PRINT U$
Both issues are fixed now.

But this is not the only reason and they are fixed longer time while it took some time to add disassembly features and reading .p files and convert them to BASIC and assembly parts if they contain assembly as well. The dissassembly part is not perfect now and may give some unpredicted results when code and data are mixed up in a program. So this feature should be used with care and I would characterize it a bit as exeperimental in this stadium but anyway could be very helpful translating .p programs to source.

Due to back compilations there are 2 other features added. All undocumented Z80 instructions are supported now as well and it is possible to define variables in the source file in the variables area.

I will add a few chapters in the tutorial thread soon, the version is already uploaded and available. 8-)

Many thanks to David G, who did pack his PTOA (P to assembly) program into a DLL which is called from the ZX-IDE.

So it is possible to add some features or bug fixes independently from a new ZX-IDE version while replacing the PTOA.dll in the main directory.

Post Reply