Enterprise Forever

:UK => Hall of Fame => Topic started by: szipucsu on 2010.March.08. 23:57:20

Title: Zzzip Integer Compiler
Post by: szipucsu on 2010.March.08. 23:57:20
We are happy to greet Peter Hiner (author of Zzzip) here in the forum!
I think we have some questions to you about the Zzzip compiler so I started this new topic.

How and when did you first meet the Enterprise computer? Did you write another programs, too?
We heard about the Zzzip V2.0 but never seen it. Have you written it? Can it be found anywhere?

Welcome in the forum again and have a good time here!
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 00:41:16
We heard about the Zzzip V2.0 but never seen it.
I think this is only a mistake in the program catalogue.
But 1.2 version is exist! :-) If Peter grant the rights to me then I will upload the softwares what I got from him.
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.March.09. 08:32:50
Hi everyone!

I do not remember any V2.0 of Zzzip but I have sent V1.2 to Zozo. 

Of course he has permission to upload it and also some other software that I have sent him.  I am pleased that there is still some interest in Zzzip but worried that you have been using an earlier version for so long.  I wonder what bug there was in the earlier version - there must have been some reason why I produced V1.2.  If anyone found a bug, please let me know.

I found (and sent to Zozo) a program called ZIPX, which I think might have been a version that included Basic Extension commands.  I am sure someone will try this out and tell me what my program does!

I remember that I started to produce a version of Zzzip that handled sprites but I don't think it was ever finished.  Eventually I will try to find this and send it to you, but not until April.  I explained to Zozo that I am going on holiday to Brazil to visit my daughter.

By the way, I sent a long e-mail to Zozo, answering some questions about myself.  Perhaps he would like to publish it in the forum, to save me having to type it all again.

Regards
Peter
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 09:05:18
Of course he has permission to upload it and also some other software that I have sent him.
Thanks Peter!!!

There is the Zzzip 1.2 with sources. I noted the source code slightly newer than the compiled version, the compiled version says a 1986 and the source is a 1987.

Quote
I found (and sent to Zozo) a program called ZIPX, which I think might have been a version that included Basic Extension commands.  I am sure someone will try this out and tell me what my program does!
If I think right, this is for the Boxsoft Basic extensions. (https://enterpriseforever.com/other-topics/new-documentations-available-for-download/msg7704/#msg7704)
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 09:13:20
Nice Tetris game from Peter, for enjoy it try the Zzziped version, the original IS-BASIC version not running too fast :)
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 14:10:35
Nice Tetris game from Peter, for enjoy it try the Zzziped version, the original IS-BASIC version not running too fast :)
There is a screenshots of the Tetris:
[attachthumb=1][attachthumb=2][attachthumb=3]

We have a another two Zzziped games, which are have a similiar look especially in the menu system:
Space Orbs:
[attachthumb=4][attachthumb=5][attachthumb=6]
Galaxians:
[attachthumb=7][attachthumb=8][attachthumb=9]

Peter! These are also your programs?
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.March.09. 14:23:18
It seems that Pacman (http://www.ep128.hu/Ep_Games/Leiras/Pacman.htm) is also Peter's program. :)

[attachthumb=1] [attachthumb=2]

I do not remember any V2.0 of Zzzip but I have sent V1.2 to Zozo. 

I am pleased that there is still some interest in Zzzip but worried that you have been using an earlier version for so long.  I wonder what bug there was in the earlier version - there must have been some reason why I produced V1.2.  If anyone found a bug, please let me know.

I know about a "problem" though it isn't a bug I think. About twenty years ago I tried to compile the basic Pacman with Zzzip and it didn't succeeded, there were "too many labels". So I suppose you compiled the Pacman using the 1.2 version of Zzzip.
(Though I modified Pacman, I changed maybe a number in the basic program in order to have eternal life. :D Me cheat. :D )
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.March.09. 14:50:51
All these games are mine :  Pacman, Orbs, Galaxians and Tetris.  That is to say,  I wrote some Basic programs suitable for the Enterprise and then compiled them with Zzzip.  Of course I did not invent the original games.

When you say that you tried to compile Pacman with Zzzip but got an error message "Too many labels", then I do not expect that you were trying to compile my Basic program but another one.  I do not think that the number of Labels was increased in Zzzip V1.2 (but of course I could always be wrong).  The reason why I think that you were compiling a different version is because I did not usually distribute the Basic versions of my games as they were far too slow (in English we say that "It's like watching paint dry").


Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.March.09. 15:01:45
When you say that you tried to compile Pacman with Zzzip but got an error message "Too many labels", then I do not expect that you were trying to compile my Basic program but another one.

It means that here (http://www.ep128.hu/Ep_Games/Prg/Pacman.rar) in the rar file the basic program in the "source" directory ins't your work?
And the Galaxians game (http://www.ep128.hu/Ep_Games/Prg/Galaxians.rar) we have also contains a "source" directory with a basic program.

Anyway, I cannot find Space Orbs at the usual ep128.hu depository, only in the ep.homeserver.hu.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 15:03:53
I did not usually distribute the Basic versions of my games as they were far too slow (in English we say that "It's like watching paint dry").
The Orbs and Glaxians also have a Zzziped version and the originals. These are come on the Games Pack III. (http://ep128.hu/Album/Ep_Kazetta/Games_Pack_HU.jpg) tape.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 15:09:24
Anyway, I cannot find Space Orbs at the usual ep128.hu depository, only in the ep.homeserver.hu.
Search as Orbs (http://www.ep128.hu/Ep_Games/Prg/Orbs.rar) :-)
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.March.09. 15:28:41
Nice Tetris game from Peter, for enjoy it try the Zzziped version, the original IS-BASIC version not running too fast :)
I tried it and it doesn't work. :( The problem is that the elements don't really fall down. If the first element fell down it still wants to fall, the next element doesn't come.
Are there any restrictions for the EP config?

Now something came to my mind: many years ago I began to write a basic program and the compiled version was a bit different from the basic one: in the basic version there were some objects (characters) that didn't appear in certain cases. But in the compiled version these objects always appeared. (Their "appearance" was stored in variables. If a variable had certain value, one of the object didn't appear.) I don't know where this basic program is now though it was very primitive and didn't do anything interesting.
Maybe it has any connection with the bug you spoke about?
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 15:30:04
I know about a "problem" though it isn't a bug I think. About twenty years ago I tried to compile the basic Pacman with Zzzip and it didn't succeeded, there were "too many labels". So I suppose you compiled the Pacman using the 1.2 version of Zzzip.
Now I tried to compile the PACMAN.BAS with both the 1.1 and 1.2 version, but all failed with the "too many labels" error.

Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 15:59:29
Are there any restrictions for the EP config?
Now I tried many configurations in the emulator. The results: zzziped games not like too many RAM and ROM expansions. Especcialy when the German/Hungarian/Spanish ROM is present.

I hope the version 1.3 solve this bug :)
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.March.09. 17:45:56
Well, I don't really know what the problem is.

First of all I should say that I think all the Basic versions that come with Zipped versions must be my programs.

Secondly, I believe that I compiled these Basic programs to produce the Zipped versions.

So what is different?  Well maybe you are right, that all your hardware additions and improvements are causing Zzzip to have problems. 

As far as I can remember, the error message "Too many Labels" means that the Assembly Language file (created during passes 1 and 2) is using too much memory for labels (at this moment I can not remember exactly what the limit is or even why there has to be a limit).  Most of the labels are used for Basic line numbers, so reducing the number of lines would obviously help.  I don't have my Enterprise set up and working at the moment (and I really should not spend time playing with it when I have to get ready for my holiday).  But in April I will try compiling these programs on my computer and see if I get any problems.

I am also puzzled by the comment from szipucsu that Tetris does not work.  It works on my machine without any problems.  However the next post from Zozo might explain this.  As far as I can remember, compiled programs will only work if there is a Basic ROM cartridge present  -  and of course in the days when Zzzip was written, there was only one Basic ROM - the English one.  If that is correct, it would not be surprising that they did not always work when a different Basic ROM cartridge was present - in fact it would be surprising if they ever worked.  I guess that the full explanation might be that the compiled program only uses the Basic ROM for certain functions, and therefore it would work sometimes but not in all cases.  For example I am beginning to remember that Single Dimension Arrays were given special treatment by Zzzip, so that they would run faster  -  this meant that Zzzip created completely independent code in the compiled program to handle these arrays.  However arrays with more than one dimension were handled by calling the appropriate subroutine in the Basic ROM  -  so they were not speeded up as much, but the benefit was that I avoided a large increase in the size of the compiled program.   I expect there were some other functions that were treated in the same way.
Title: Re: Zzzip Integer Compiler
Post by: endi on 2010.March.09. 17:57:03
Hi Peter!
I love your Zzzip compiler. I always used it to speed up my Basic games.
My best games with Zzzip:
http://www.ep128.hu/Ep_Games/Leiras/Mutant_Test.htm (http://www.ep128.hu/Ep_Games/Leiras/Mutant_Test.htm)
http://www.ep128.hu/Ep_Games/Leiras/Mega_Pac_Man.htm (http://www.ep128.hu/Ep_Games/Leiras/Mega_Pac_Man.htm)
http://www.ep128.hu/Ep_Games/Leiras/Trollok_Vara.htm (http://www.ep128.hu/Ep_Games/Leiras/Trollok_Vara.htm)

And many others: Bestiak Mestere, Dwarfs Land (with my friend), Az Utolso Kaland etc. (many are lost): http://www.ep128.hu/Ep_Games/Orksoft.htm

All are hungarian but you can see the images.

Funny story: there was a game making contest that I win. The price was the Zzzip compiler, but I never get it... It is Hungary! :)
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.March.09. 18:16:19
Funny story: there was a game making contest that I win. The price was the Zzzip compiler, but I never get it... It is Hungary! :)
Yes, there was a contest of making basic programs suitable for Zzzip V1.1 and the winner was to be awarded with a Zzzip V2.0. :D
And Endi's winner basic program list was published in an Enterprise magazine called Enterface (the first and at the same time unfortunately the last number). This newspaper announced the contest.

I also liked using Zzzip. Now I don't really have time to use my Enterprise though I have some basic program ideas and Zzzip would make my programs usable. I don't know if I will have time to realise my programs sometime...
This is my game speeded up by Zzzip (http://www.ep128.hu/Ep_Games/Leiras/Hungry_Creature.htm)
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.March.09. 20:21:23
I look forward to trying these Basic games speeded up by Zzzip - but as I explained before, I do not have time at the moment because I have to prepare for my holiday.  When I get back at the beginning of April, I will set up my Enterprise and try out some of the software on this site.

I assume that I can simply download software to my PC and then use the PC to write files on a floppy disk.  It worked the other way round (when I e-mailed some files to Zozo) so I suppose this should be OK.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 21:36:55
By the way, I sent a long e-mail to Zozo, answering some questions about myself.  Perhaps he would like to publish it in the forum, to save me having to type it all again.
Ok, there is your e-mail:

Quote from: peterhiner
The Enterprise was my second computer.  I previously had a Compucolor, which I think I bought in about 1980.  This was an American computer with the motherboard and a floppy drive built into the same cabinet as the colour monitor.  It was one of the first colour computers - the other was the Apple.  In my opinion the Compucolor was technically better than the Apple (it certainly produced a much better picture) but it was not marketed so well.  One of the problems was that you had to buy everything (including floppy drive and monitor) at the same time, and I remember that I had to pay about £1400.  That is still a lot of money to pay for a computer today, but in those days it was an enormous amount, so of course the market was rather limited.  Eventually the company producing Compucolor went bankrupt and we had to rely on User Groups for support.  There were very active groups in USA, Canada, Australia and Great Britain.  Actually it is not such a bad thing when the company supplying your computer becomes bankrupt, as it causes the User Groups to become very strong.
 
I wrote my first Basic Compiler for the Compucolor and I sold copies of my program in all the countries where there were User Groups.  In fact I wrote two compilers.  The first one used floating point arithmetic to produce exactly the same results as a Basic program, but it only ran about 3 to 5 times as fast as Basic.  Then I realised that there was not much sense in using floating point for a compiler and I produced an Integer Compiler, which ran much faster.
 
I think I got my first Enterprise in 1984.  It was the 64K version and I got it at a special price through a friend who had contacts with the Enterprise company.  He had told them about the Basic compiler I had written for the Compucolor, and he suggested that, if they encouraged me, I would write a compiler for the Enterprise.  They already had a company under contract to produce a compiler but when I showed them an early version of mine, they cancelled the other one.  That's when they gave me my second Enterprise (128K version) as a free gift to help me with the design of my compiler.  They planned to include my compiler as part of the package that you got when you first bought an Enterprise computer, and I was just about to sign a contract with them when they went bankrupt.  Once again I found myself relying on User Groups, although in this case for quite a long time there was only one User Group - the UK group  -  but it was a good group and we had a great time.
 
I kept on with the Enterprise for several years after the PC had been launched and therefore I had a lot of surprises when eventually I got my first PC.  By that time the PC had advanced quite a lot  - it ran much faster than the Enterprise and the software packages were much bigger and more complex.  I also found that all the utility programs, that I might have produced for the PC, had already been done by somebody else  -  in fact in most cases there were already a lot of different programs available.  So I did not write any serious software for the PC  -  just a few bits in Assembly Language to prove to myself that I could do it.  Now I just use the PC as a tool.  I got interested in making and editing video films, and that is one of the major things that I do on the PC.

Quote from: peterhiner
A long e-mail from you with lots of questions, which I will try to answer.

No, I never tried writing a floating point version of Zzzip, as it would have been too slow.  I'm fairly sure that was the problem with the Aztec compiler (which got cancelled).  To include floating point arithmetic you really have to use the subroutines in the Basic ROM (otherwise you have to add an enormous package of run-time routines to every compiled program).  In the case of the Enterprise the maths routines in the Basic ROM were extremely slow.  As far as I can remember, they were actually based on BCD (Binary Coded Decimal) rather than the more usual floating point operations  - not a good idea.
 
I'm delighted that Zzzip was included with the Enterprise in Hungary (although I never got any money for it).  At least plenty of people had the opportunity to use it.
 
The main user group in the UK (IEUG) was the only one as far as I know.  You have already got all the magazines (8 issues of Private Enterprse and 1 issue of Enterprise Computing Intenational).  After 1989 the UK user group quietly died.  I think this was because the leader of the group (Tim Box who ran BoxSoft) disappeared wthout leaving information on how to contact him - I expect he changed jobs and moved to another town.  Anyway the group just fell apart.
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.March.09. 21:45:58
I look forward to trying these Basic games speeded up by Zzzip - but as I explained before, I do not have time at the moment because I have to prepare for my holiday.

Have a nice holiday!
And you can take some photos in Brazil. We can convert the images into Enterprise format in good quality. It would be a great slideshow demo for the Enterprise: Peter Hiner's holiday in Brazil. :D

Quote from: peterhiner
I'm delighted that Zzzip was included with the Enterprise in Hungary (although I never got any money for it).  At least plenty of people had the opportunity to use it.
Zzzip was not included with the Enterprise. I mean, buying an Enterprise computer you didn't get Zzzip as well. I don't know how Zzzip got into Hungary. I got it from one of my acquaintances I exchanged Enterprise software with. (It was a common practice at that time. :D ) Zozosoft has the cassette of Zzzip but I don't know if it could be bought in Hungary. We found a number of Enterprise cassettes on the net we had never seen in Hungary in the shops.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.March.09. 22:41:49
Well, I don't really know what the problem is.

First of all I should say that I think all the Basic versions that come with Zipped versions must be my programs.

Secondly, I believe that I compiled these Basic programs to produce the Zipped versions.

So what is different?  Well maybe you are right, that all your hardware additions and improvements are causing Zzzip to have problems.
Now I looked around:
3 of your games released in a Boxsoft tapes:
-Pacman on the Screenplay One (http://www.ep128.hu/Album/Ep_Kazetta/Screenplay_1.jpg)
-Orbs on the Screenplay Two (http://www.ep128.hu/Album/Ep_Kazetta/Screenplay_2.jpg)
-Galaxians on the Screenplay Three (http://www.ep128.hu/Album/Ep_Kazetta/Screenplay_3.jpg)
All contains the Baisc originals and the compiled versions.

The Orbs and Galaxians is a same version with the Hungarian Games Pack III. (http://www.ep128.hu/Album/Ep_Kazetta/Games_Pack_HU.jpg) tape.

I can compile the Tetris, Orbs and Galaxians, no problem in any memory configuration (except on 64K is a out of memory).
Only problem with the PACMAN.BAS.  If you found it then can you send your version? I think you have a different version probably with less lines.
Title: Greetings
Post by: MrPrise on 2010.March.12. 13:04:05
Welcome Peter,
It is always a pleasure to greet someone amongst the members of our humble forum who did great things for our beloved machine.
I would like to say thank you for the work you did in the past.
Have a great time!



Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.March.12. 22:38:35
I wish to thank members of the Forum for your kind messages.  I have received a great welcome and I wish I had found your site before now.

I am delighted to find people who still love the Enterprise and, when I come back from holiday (April), I look forward to making contact again.

Peter
Title: Re: Zzzip Integer Compiler
Post by: andrew on 2010.April.26. 17:06:26
Hi Peter,

So what have you been up to since? That Zzzip compiler was really impressive! Have you posted the source code? I might check it out. I'm doing compilers now, amongst other things. I was hoping someone would know what happened to Tim Box. I know he did a deal to send software to Hungary, but he couldn't get any cash out. He was told there would be a Hungarian bank account with his Hungarian royalties in. I wonder if he ever got any?

Andrew
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.May.05. 17:41:11
Hello Everybody (including Andrew)

I am back from holiday and am back online, after a further delay due to my mother-in-law's 100th birthday (we had to organise all the celebrations and we had relatives coming from all over the world).

I have done a bit of work to answer a couple of questions that were asked before my holiday.  First of all I have found the difference between versions 1.1 and 1.2  of Zzzip.  Searching through some old discs I found a letter to Tim Box, in which I said that I had fixed a small bug.  Also on an old disc I found a little test program called TSQ.BAS (to Test Square Roots), which contained a simple loop
   100   FOR I = 16 TO 96 STEP 5
   110   PRINT INT( SQR (I) )
   120   NEXT

Both versions of Zzzip compiled this program without apparent problem, but the TSQ.ZIP output from version 1.1 produced rubbish and crashed, while TSQ.ZIP compiled by version 1.2 ran perfectly.  Now I remember that in fixing another problem I had made a careless mistake and created a problem with the SQR function - which has probably never been used in a compiled program, and therefore has probably never caused any trouble.  So I think that this little puzzle has been solved.

Secondly I remember that someone said they could not compile Tetris.  Well my computer (original Enterprise 128) compiles Tetris without any problem (I am compiling the Basic program version TET454).  I also recall that someone had a problem compiling PACMAN  -  I will try that and let you know the result.  I expect that the answer to this sort of problem will be that you have all made changes to your RAM or ROM, which causes problems for Zzzip.

I will be happy to try and answer any other questions that anyone wants to ask.

Lastly I will reply to Andrew's post  - great to hear from you again after all these years.  I have retired and (though I remember you as a young lad) I suppose you are getting on in years as well.  To answer your question about the source code for Zzzip, I sent it to Zozo and I am happy to make it freely available.  If you send me an e-mail (to peter_hiner wriggler hotmail.com) I will reply with a copy of the source code.  I lost touch with Tim Box and don't know what happened to him.  I know some people say he disappeared with a load of cash but I find that hard to believe - I always found him completely trustworthy and in any case I don't think that there was ever enough cash around to make anyone disappear !

Peter


Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.May.05. 19:10:38

Well, I tried to compile Pacman and got the same result as other people (Too many labels), so I suppose that I must have edited the Basic program to reduce the number of lines before I compiled it all those years ago.   Unfortunately I do not seem to have kept a copy of the edited version, but I do not think it really matters - nobody needs to compile it any more.

By the way, while looking through my old discs, I found some more versions of Tetris (in my previous post I said I could compile TET454 without problem).  Anyway I found versions up to TET477 and I am not sure if that is the very latest version  -  this is the problem with going back to very old projects !  By the way, I could compile TET477 as well.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.May.05. 19:48:55
To answer your question about the source code for Zzzip, I sent it to Zozo and I am happy to make it freely available. 
There is the sources what you sent to me.
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.May.06. 13:46:32
Welcome back from your holiday!

I would have an interesting question. Would it be possible to "unzzzip" a "zzzipped" program? Or would it be too difficult or impossible?

There is a program with the title Soundtracker V2.1 (Rockmonitor, it can be downloaded here (http://www.ep128.hu/Ep_Util/Ep_Util.htm)), which contains some minor bugs. It was also compiled using Zzzip. To fix the bugs, the program should be "unzzzipped". I don't know if the author of the program (and the basic version) is available anywhere.
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.July.05. 22:49:29

Hello szipucsu

I have just seen your question about the possibility of 'unzzzipping' a 'zzzipped' program.  The simple answer is "No".  You just have to disassemble the program into Assembly Language, make your changes and then assemble it again.  I suppose I would have some advantage, because I might recognise some of the code used for Basic commands, but it would be a very difficult task without help from the original author of the Basic program.

Peter
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.July.05. 23:03:31
Peter maked a short video about demonstrating the Zzzip, now it is in the EP TV (http://tv.enterpriseforever.com/)!
And there is the original mpg file for download. (http://enterpriseforever.com/download.php?d=&name=Peter_Hiner_Zzzip_demo.mpg)
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.July.06. 12:56:36
Quote from: Zozosoft
Peter maked a short video about demonstrating the Zzzip, now it is in the EP TV!
And there is the original mpg
It's great!
Title: Re: Zzzip Integer Compiler
Post by: Vicman on 2010.July.07. 19:19:31
Yeah ! Really nice Video-Clip !
Thank you for making this  ;-)

I wish I had a real Enterprise..... :cry:
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.July.07. 19:35:49
I wish I had a real Enterprise..... :cry:
A few days ago sold one in the eBay. (http://cgi.ebay.de/Enterprise-128-/200488720294?cmd=ViewItem&pt=Klassische_Computer&hash=item2eae0f17a6)
But if you realy want it, I will search one for you!
Title: Re: Zzzip Integer Compiler
Post by: Vicman on 2010.July.07. 19:44:10
YES, that would be great  :shock:
But don't now, how expensive it would be....(in Euro)

And remember : i'm from Germany..... :oops:

But if you really find one for me, i think, i'll take it !
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.July.08. 23:07:45
We got some new Zzziped games from Peter. The Routes is writed by Peter, the others is only zipped by Peter.

The Routes is a great puzzle game, the Crib is a Enterprise version of Cribbage (http://en.wikipedia.org/wiki/Cribbage) card game. Reversi is a new version for the well-know game. And the Rock is the "Scissors Paper Stone" game.

Thanks Peter!
Title: Re: Zzzip Integer Compiler
Post by: endi on 2010.July.09. 09:23:26
Áh, ismeretlen EP programok. Nem hittem hogy még léteznek ilyenek. :)
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.July.09. 11:27:51
Áh, ismeretlen EP programok. Nem hittem hogy még léteznek ilyenek. :)
Endi: "Wow, unknown EP programs. I didn't believe there still existed any."
Title: Re: Zzzip Integer Compiler
Post by: Vicman on 2010.July.10. 07:20:50
Great ! Thank you.
I'll also add them to the "GameBase Enterprise"  ;-)
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.October.18. 13:51:21
Using a different EXOS version and additional ROM configs, may the same basic program result a slightly different compiled file? I mean, I compiled a basic program with EXOS 2.1 and EXDOS for the first time, and years later I compiled the same basic program with EXOS 2.3, IVIEW.ROM and without any EXDOS. May the result be different? (Moreover, for the first time I used a real Enterprise computer, and later the EP128emu.)
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.October.29. 09:32:49
I can not think of any reason why the compiled program would be different BUT you must always remember that for some Basic functions the compiled program makes calls to subroutines in the Basic ROM.  When you are running a compiled program, you are running software in both the compiled program and the Basic ROM.  Therefore any differences in the the Basic ROM could become differences in the total software that you are running.  Also, when the compiled program or the Basic ROM makes calls to EXOS subroutines, then differences in EXOS may become differences in the total software.

It seems that most of the time there are no problems.  I find this quite amazing, when I think how many different versions of Basic ROM and EXOS people are now using (and also how many hardware configurations).  Zzzip was designed before any of these versions of software and hardware existed, and it was never properly tested in these different situations.  So of course sometimes there may be an obscure problem.

I wonder what particular event has caused you to ask this question.  Did you have a problem?
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.October.29. 10:02:56
When the compiled program call any ROM routines use a any direct address, or use the standrad RST routines?
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.October.29. 18:54:46
I wonder what particular event has caused you to ask this question.  Did you have a problem?
I compiled this basic program: [attachmini=1]

Compiled using EXOS 23 (Hungarian version): [attachmini=2] After starting the zzzipped program and pressing key "1" (desing) the appearing screen will be "strange":
[attachthumb=3]

Compiled using EXOS 231uk: [attachmini=4] After starting and pressing "1", the appearing screen will be OK:
[attachthumb=5]

Anyway it is not a huge problem. Using the latest version of EXOS is always recommended, I think.

PS: OFF: The word "mirroring" is not appropriate in the attached screens. Anyone who speaks English as a mothertongue, can you tell me if the expression "reflection through horizontal/vertical axis" would be OK? Is "mirroring at..." totally unacceptable?
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.November.03. 19:57:23
Some difficult questions about Zzzip and EXOS, but one easy question about English, which I will answer first.

We can use the word "mirror" to mean "reflect", although for a list of commands, such as in your program, we would simply say "mirror" rather than "mirroring".  However I think we would nornally use a different word.  I often edit photos with Adobe Photoshop, and that program has a number of rotate commands, two of which are Flip Vertical and Flip Horizontal.  (Not very good English really, as Vertical and Horizontal are adjectives  -  after a verb it would be better to use the adverbs Vertically and Horizontally).  Anyway these commands are identical to the functions in your program.  Because it is not so obvious in your program that the commands are meant to rotate the image, I would suggest that you use the commands "Flip Image Vertically" and "Flip Image Horizontally".

I will have to do some more work to try and answer the difficult questions.
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.November.03. 22:58:13
Thank you for your answer! I think "flip screen/level vertically" would be the best. It means that the designed screen of the level will be flipped. (I mean a level of a pacman-like game, so walls, obstacles among which the pacman has to move.)

As for Zzzip: using the latest version of EXOS solves all the problems. I'm just interested what might cause the difference between the compiled programs.
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.November.04. 23:35:01
Well, I have investigated the two compiled versions of the Basic program.  First of all I compared them (using my COMP program) and found that they are almost exactly the same.  There is just one byte that is different between them and I believe that in the case of the version compiled using EXOS 23 (Hungarian)  the byte is simply an error.  I can not see any reason why EXOS would have any effect on the byte value written by ZZZip at this particular point and therefore I think it just one of those unexplained glitches.  In fact I think if you compiled the program again (under the same conditions) it would come out correctly this next time.

Also I looked at how calls are made to ROM routines (the question asked by Zozo).  Actually there are three questions that need to be answered. 

The first question is "How does Zzzip access EXOS routines while it is compiling a Basic program?" and the answer is that Zzzip always uses RST 30H.  The functions used by Zzzip are:
1   Open channel
2   Create channel
3   Close channel
5   Read character
6   Read block
8   Write block
9   Channel read status
11  Special function  (Zzzip only uses VIDEO  -  Display page)
24  Allocate segment
25  Free segment
26  Scan System Segments  (I think this is just used to exit to BASIC but I would need to check more carefully to be sure)
28  Explain Error Code

The second question is how compiled programs access EXOS routines.  I feel certain that the only method used is RST 30H.  However I am not sure which EXOS functions are used by compiled programs, and it is not very easy to find out.  Unfortunately I did not keep good records of the code used in compiled programs and the only way I can see this code is to disassemble a compiled program.  Then of course one example program will not contain all the Basic functions, so I will not know that all possible EXOS functions have been covered  -  unless of course I write a special Basic program that is nonsense but does contain all possible types of Basic statement.

The third question is how compiled programs access the Basic ROM.  I do not know the answer exactly and some of the code in compiled programs is so complex that I can not easily understand it.  However I seem to remember that for some functions the compiled program presents a standard Basic statement (or part of a statement) to the Basic ROM, to be interpreted and processed.  This is a question that I would need to investigate further.

I remember that one of the most difficult areas was Exception Handling  -  this is not surprising because it is only required when something has gone wrong! I noticed that in the Basic program written by Szipucsu there are several Handler routines and I would be interested to know whether these routines work correctly in a compiled program. 
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.November.05. 00:11:29
In fact I think if you compiled the program again (under the same conditions) it would come out correctly this next time.
As I remember I tried to compile the program more times under EXOS 2.3 (hun) and the same bug appeared.

I remember that one of the most difficult areas was Exception Handling  -  this is not surprising because it is only required when something has gone wrong! I noticed that in the Basic program written by Szipucsu there are several Handler routines and I would be interested to know whether these routines work correctly in a compiled program.
I am not sure but I think they don't work exacly, neither in the original (uncompiled) Basic program.  :oops:
These handler routines are needed because the program can load and save some datas from/to disk. If the filename is incorrect, the file cannot be found on the disk, there is no disk in the drive etc, the compiled program would stop with an exception. That's why I used handler routines. I don't know how to avoid these problems in another way.
Furthermore, EXDOS doesn't check if a file were overwritten when saving, so I got the Basic program to check it which was possible (for me) using another handler routine: the program tries to load a filename we want to save to - if this filename doesn't exist, an exception will be caused and we have to step over this exception and save the file.
So, file handling using Basic is problematic - for me, at least.
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.November.05. 08:32:44
As I remember I tried to compile the program more times under EXOS 2.3 (hun) and the same bug appeared.

In that case I can only assume that a bug in EXOS 2.3 somehow caused a wrong byte to appear in the output file - actually this wrong byte is the lower half of an address, pointing to a string that is to be printed (displayed) on screen.  Because of this error the wrong characters are displayed on screen - partly a recognisable message and partly rubbish, which is exactly the result we have found.  Anyway you get the right results when you use the latest version of EXOS, so that is OK.  The only reason for investigating this error was to find out if there was an incorrect interaction between Zzzip and EXOS, and I am satisfied that there is no such problem in this case.

I will leave the subject of Exception Handling for another time.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.November.05. 09:43:45
Szipucsu! It is possible when you compiled with EXOS 2.3 then not use a EXDOS?
If yes, then I think this is a same problem with the "blinking pixels in WP when use a EXOS 2.3 without EXDOS". This bug is solved in the 2.31
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.November.05. 10:59:47
Szipucsu! It is possible when you compiled with EXOS 2.3 then not use a EXDOS?
If yes, then I think this is a same problem with the "blinking pixels in WP when use a EXOS 2.3 without EXDOS". This bug is solved in the 2.31
I do not use EXDOS in the emulator at all. I compiled the program without EXDOS and tried it without EXDOS.
Yes, in the 2.31 the program was OK!
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.November.06. 13:29:57
I will leave the subject of Exception Handling for another time.

I don't know if exception handling is problematic with Zzzip - many years ago I used it.
These disk-oriented exceptions should be solved perhaps in some other way with programming - though I am not familiar in it how to solve file-handling in Basic in the way that disk errors don't interrupt running the Basic program.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.December.02. 12:29:23
Great surprise from Peter! Thanks!

Quote from: peterhiner
I have made a version of ZZZIP which creates a Source File instead of producing an output file in machine code.  I call this new program ZIPSRC.
 
I have also made some changes to IDEA (my editor/assembler) so that it will assemble the output from ZIPSRC (the compiled program needs to have a special header).
 
Both these new programs are in the enclosed folder, together with some text files and an example TEST.BAS file (with Source and Assembled output files).
 
One advantage of ZIPSRC is that it does not need to keep a list of Basic Line labels and addresses in memory, so it can compile much larger Basic programs.
 
The other advantage is that you can see what a compiled program looks like  -  maybe you are curious or maybe you are trying to solve a problem.
 
I know that it is dangerous to make changes to old programs, because you can not remember exactly how they should work.  Remember that these programs are about 25 years old!  So there may be some bugs in the new versions.  I hope they are OK, but let me know if you find any problems.
Title: Re: Zzzip Integer Compiler
Post by: peterhiner on 2010.December.24. 14:07:51
Here is a new version of ZIPSRC.  I hope I have been successful in uploading it.  I can't see my attachment in the preview, so maybe it didn't work.  I will find out when I post this reply.

Anyway this new folder (ZIPSRC2) replaces all items in the previous one, because I have made several changes.

The main change is that I realised that ZIPSRC has enough space to contain full assembly language statements instead of many lines of machine code (only translated into db statements).  This extra space is available because ZIPSRC does not need to keep a list of labels for Basic lines.  So now the source file produced by ZIPSRC will be much easier to read.

I want to take this opportunity to congratulate all those who played a part in creating the EP Emulator.  I have just started using it and I find it fantastic.  Well done to everyone!

Also this is a good moment to wish you all Happy Christmas.  Here in England we have a white Christmas - lots of snow - too much really because we do not have enough facilities to deal with it properly.  I expect that you have snow in Hungary as well but probably you are more used to it.
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2010.December.24. 17:05:23
Thanks Peter!
Happy Christmas!
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2010.December.24. 22:37:17
Also this is a good moment to wish you all Happy Christmas.  Here in England we have a white Christmas - lots of snow - too much really because we do not have enough facilities to deal with it properly.  I expect that you have snow in Hungary as well but probably you are more used to it.

In Hungary, at least in our town it is raining. England is known here as a rainy country but this time it is the contrary: rainy Hungary, snowy England. :D (Maybe you got some snow from the Northern countries, Norway must have enough to give you some, too :D )

Merry Christmas to all!
Title: Re: Zzzip Integer Compiler
Post by: dan.cave on 2015.February.17. 18:21:53
Hi All,

I wanted to post back to this thread, because I had a little more history to add. Back in the early 80's, my father bought an E64 which was a step up from our ZX spectrum. We also went to the PCW Computer show back in 84? and met Nick Toope and Robert Madge, (somewhere at home, my dad has a picture of me at the Enterprise stand sat on an E64, anyhow.. )

We also used to go to the London Enterprise Users Group near Belzise Park tube station (iirc) on the Saturdays, when they were run every month or so Where we met Tim Box, Mark Lissack and some others, who's names I have since forgotten (Doug Rabson rings a bell also )  as well as going to Enterprise computers (then at 31-33 Hoxton Street, London - when it was school holidays !)
i know i'm sad because i remember the address, and that you had to get to Old Street on the London underground to get there)  - Dad and I used to speak to Gerald Morgan (programmer), Keith Elliott ( Marketing Mgr) and  Steve Groves (Managing Director) of Enterprise computers, and by some chance of luck, my dad managed to get an agreement for me/us to test the new games and software for enterprise before they came out.  It was at this point, I seem to remember that dad and I bumped into  Peter Hiner at one of those meetings (at Enterprise computers or the London UG meets) and I specifically remember Peter asking me to 'test' Zzzip for him using my basic programmes which i had written,   I don't know if Peter Remembers me, or any of you who are on this forum who were enterprise owners remembered 'us' (Dad and I) but i can post some pictures if anyone is interested.

I remember a lot about the Enterprise, the IS BASic compiler, the FORTH and PAscal language compilers, and when we bought ExDOS, it was such a great time, i learned a lot about programming and  attribute my experiences and programming to owning an Enterprise.

such fun times.

Dan
Title: Re: Zzzip Integer Compiler
Post by: dan.cave on 2015.February.17. 18:33:50
I neglected to say, that during my teens, and whilst owning a E64, i wrote a networking programme that utilised the onboard/built in networking capabilities by sending broadcast and peer to peer messages to, as well as connecting it up to a modem (which i never actually got around to doing).

One time we visited the london user group i asked one of the other members if we could 'test' the programme which i had been working on for a few months, and a cable which my dad (and electronics guru) helped me by making one up into the RS423 ports on each machine) I actually got it working!! it worked flawlessly but as i hadn't finished writing it, someone else helped.. i cant remember who that was but it was very much ad-hoc and it was saved on a 3.5" floppy which was also saved for the other members to use/play with.

Title: Re: Zzzip Integer Compiler
Post by: geco on 2015.February.17. 18:35:11
Welcome here Dan, it is an interesting story, please post pictures if you have from any Enterprise "meeting" from those time I think everybody is interested about it, and pics from you and your dad for UK members :)
Do you still have any of your programs?
Title: Re: Zzzip Integer Compiler
Post by: dan.cave on 2015.February.17. 19:10:11
Geco,

thanks for the warm welcome.. I will speak to Dad at the weekend as Im not sure if we still have pictures.

Unfortunately, dad sold the Enterprises we had and I really dont know if he has the disks with my old programmes on them still... Although I will ask. 

:)

Daniel/ Dan
Title: Re: Zzzip Integer Compiler
Post by: geco on 2015.February.17. 19:23:01
Thank you very much Dan, we are waiting everything :) , even if you remember for a "new" story :)
Enterprise gave most of us a lot of fun in the past, and i think who did not own EP years ago, they have fun now :)
Title: Re: Zzzip Integer Compiler
Post by: gflorez on 2015.February.17. 19:29:27
Hello Dan!

Connectivity is what I most like of computers. I'm also interested in that modem connection and the program you wrote...
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2015.February.17. 21:17:47
Welcome Dan!

Amazing story!

At there try to collect the EP team names. (http://enterpriseforever.com/hall-of-fame/memories-of-working-at-intelligent-software-part-1/msg30350/#msg30350) Now we can and some more to the list, thanks!

If you have any more informations, memories, photos, etc from the old good days please share!

And I hope you find your disks!
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2015.February.18. 12:12:24
I specifically remember Peter asking me to 'test' Zzzip for him using my basic programmes which i had written
These programs are released in any form? For example in the User Group?
Title: Re: Zzzip Integer Compiler
Post by: dan.cave on 2015.February.18. 12:33:39
No, i  don't even know if I've still got the disks or whether they were sold with the Enterprise when Dad sold them ..

These programs are released in any form? For example in the User Group?
Title: Re: Zzzip Integer Compiler
Post by: endi on 2015.December.01. 17:02:38
How many Zzzip compiler have been sold?

I remember, I won one on the Enterface programming compo. :)
So maybe I am the only one here who has a legal copy of it. (No, because I never got it...)
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2015.December.01. 22:20:50
How many Zzzip compiler have been sold?
In Hungary very lot of. Copied to many game tapes 'B' side, see the "Gratis soft" label. I think I have least 20 pieces of these :-)

And I also have two original tapes from UK.
Title: Re: Zzzip Integer Compiler
Post by: SlashNet on 2015.December.21. 13:12:57
Found small bug in compiler.

Line DATA ",",0,0,0,0,0
Interprets by Basic: DATA "comma",0,0,0,0,0
Interprets by ZZZIP: DATA quotes,quotes,0,0,0,0,0

Add------

DATA with comment like this: DATA 0,0,0,0 ! comment
ZZZIP interprets last DATA value as string: DATA 0,0,0,0 ! comment
Title: Re: Zzzip Integer Compiler
Post by: SlashNet on 2018.May.17. 22:06:40
Little question. On this cassette cover (http://ep128.hu/Album/Ep_Kazetta/ZZZIP_BASIC_Compiler_2_HIGH.jpg) is written: "BY PAUL HINER". Is that mistake of cover designer?
Title: Re: Zzzip Integer Compiler
Post by: gflorez on 2018.May.19. 00:38:40
Yes, it seems an error when editing the cover.

Surely you can easily amend this offense after 32 years....
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2019.January.28. 23:21:28
I have never understood why the lines are necessary between line number 110 and 150, in the loader of a compiled program. Who saved what? The program starts with GOSUB 200 and there is no way to get to the line 110.
[attach=1]
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2019.January.29. 07:04:09
Try RUN 100
Title: Re: Zzzip Integer Compiler
Post by: SlashNet on 2019.January.29. 08:37:13
I have never understood

Read carefully manual:

Copying Compiled Programs
Compiled programs can not be simply copied to tape using the SAVE command. One method of making further copies would of course be to compile the Basic program again. Another method, requiring only one tape machine, uses a facility which is included in the Basic loader program preceding each compiled program. Starting from the Basic editor screen with all previous programs deleted, proceed as follows:
Title: Re: Zzzip Integer Compiler
Post by: szipucsu on 2019.February.25. 12:47:53
Read carefully manual:
Where is this manual? I haven't seen it. It cannot be found on ep128.hu (http://ep128.hu/Ep_Util/Zzzip.htm). Is there an English manual for the program?
Title: Re: Zzzip Integer Compiler
Post by: Zozosoft on 2019.February.25. 13:13:52
http://ep.homeserver.hu/PDF/Zzzip_Compiler.pdf
Title: Re: Zzzip Integer Compiler
Post by: SlashNet on 2019.February.25. 20:21:23
If you need html version, you can get there: https://sites.google.com/site/enterprise128k/home/software/programming_languages/zzzip

Title: Re: Zzzip Integer Compiler
Post by: desUBIKado on 2023.November.23. 23:10:11
Try RUN 100

Hi Zozosoft,
This dont work for me. I think there is a mistake in line 120. Variable B$ must be A$ to work, but the compiled program (for example  Hello.com) don't work anyway.
Title: Re: Zzzip Integer Compiler
Post by: geco on 2023.November.24. 07:53:30
Hi Zozosoft,
This dont work for me. I think there is a mistake in line 120. Variable B$ must be A$ to work, but the compiled program (for example  Hello.com) don't work anyway.
Did you try to start the program by RUN or START?
RUN 100 would save i guess the compiled porgram.
Title: Re: Zzzip Integer Compiler
Post by: desUBIKado on 2023.November.24. 11:48:09
Did you try to start the program by RUN or START?
RUN 100 would save i guess the compiled porgram.

I write a "Hello World" program called HELLO.BAS
I compile it and I take HELLOZ.BAS HELLOZ.Z
Then LOAD "HELLOZ.BAS" and RUN 100  and PRESS ENTER when INPUT PROMPT appears
Nothing pass

Alternative
LOAD "HELLOZ.BAS"
I change B$ y A$ in line 120
when INPUT PROMPT appears I type HELLO.COM
File  HELLO.COM is created in disk
I try launch it
:LOAD HELLO.COM
the program don't work

I n00b in Elan Enterprise, so sorry.
Title: Re: Zzzip Integer Compiler
Post by: geco on 2023.November.24. 12:05:48
Try to LOAD "HELLOZ.BAS" and just RUN or START, or
START "HELLOZ.BAS"

HELLOZ.BAS is the loader of your compiled Basic program, if you start it with RUN 100, i think it saves only the compiled Basic program.
Title: Re: Zzzip Integer Compiler
Post by: desUBIKado on 2023.November.24. 12:16:42
Try to LOAD "HELLOZ.BAS" and just RUN or START, or
START "HELLOZ.BAS"

HELLOZ.BAS is the loader of your compiled Basic program, if you start it with RUN 100, i think it saves only the compiled Basic program.

Yes, RUN works fine, but i want to take a stand alone HELLO.COM file. Is that possible?
Title: Re: Zzzip Integer Compiler
Post by: geco on 2023.November.24. 14:03:05
Yes, RUN works fine, but i want to take a stand alone HELLO.COM file. Is that possible?
From the compiled version it is not possible to save standalone HELLO.COM
Probably i can make an assembly code which includes your compiled version, and creates a HELLO.COM
Title: Re: Zzzip Integer Compiler
Post by: desUBIKado on 2023.November.24. 14:25:46
From the compiled version it is not possible to save standalone HELLO.COM
Probably i can make an assembly code which includes your compiled version, and creates a HELLO.COM

Thanks a lot for your patience and I will wait your solution to make a stand alone HELLO.COM.
Title: Re: Zzzip Integer Compiler
Post by: geco on 2023.November.24. 14:53:13
Thanks a lot for your patience and I will wait your solution to make a stand alone HELLO.COM.
Please attach your compiled files.
Title: Re: Zzzip Integer Compiler
Post by: desUBIKado on 2023.November.24. 19:08:37
Please attach your compiled files.

I deleted them. Tomorrow I will generate all of them again. Sorry.
Title: Re: Zzzip Integer Compiler
Post by: geco on 2023.November.24. 19:12:10
I deleted them. Tomorrow I will generate all of them again. Sorry.
Do not need, i created one, but it seems i can not do it.
Title: Re: Zzzip Integer Compiler
Post by: geco on 2023.November.24. 19:37:27
It works, but... After loading basic will appear, you have to type CALL USR(5932,0) and the program starts, after stoppig it, it will restart to F1 or run also