Welcome, Guest. Please login or register.


Author Topic: Zzzip Integer Compiler (Read 78438 times)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zzzip Integer Compiler
« Reply #30 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!
« Last Edit: 2014.February.28. 10:19:07 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Vicman

  • EP fan
  • *
  • Posts: 188
  • Country: de
Re: Zzzip Integer Compiler
« Reply #31 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:
Best Multi-Frontends ;-)  emu Control Center and GameBase

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Zzzip Integer Compiler
« Reply #32 on: 2010.July.07. 19:35:49 »
I wish I had a real Enterprise..... :cry:
A few days ago sold one in the eBay.
But if you realy want it, I will search one for you!

Offline Vicman

  • EP fan
  • *
  • Posts: 188
  • Country: de
Re: Zzzip Integer Compiler
« Reply #33 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 !
Best Multi-Frontends ;-)  emu Control Center and GameBase

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Zzzip Integer Compiler
« Reply #34 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 card game. Reversi is a new version for the well-know game. And the Rock is the "Scissors Paper Stone" game.

Thanks Peter!

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Zzzip Integer Compiler
« Reply #35 on: 2010.July.09. 09:23:26 »
Áh, ismeretlen EP programok. Nem hittem hogy még léteznek ilyenek. :)
Vigyázat! Szektás vagyok! :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zzzip Integer Compiler
« Reply #36 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."
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Vicman

  • EP fan
  • *
  • Posts: 188
  • Country: de
Re: Zzzip Integer Compiler
« Reply #37 on: 2010.July.10. 07:20:50 »
Great ! Thank you.
I'll also add them to the "GameBase Enterprise"  ;-)
Best Multi-Frontends ;-)  emu Control Center and GameBase

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zzzip Integer Compiler
« Reply #38 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.)
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline peterhiner

  • Newbie
  • Posts: 16
  • Country: gb
Re: Zzzip Integer Compiler
« Reply #39 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?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Zzzip Integer Compiler
« Reply #40 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?

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zzzip Integer Compiler
« Reply #41 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: [ Guests cannot view attachments ]

Compiled using EXOS 23 (Hungarian version): [ Guests cannot view attachments ] After starting the zzzipped program and pressing key "1" (desing) the appearing screen will be "strange":
[ Guests cannot view attachments ]

Compiled using EXOS 231uk: [ Guests cannot view attachments ] After starting and pressing "1", the appearing screen will be OK:
[ Guests cannot view attachments ]

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?
« Last Edit: 2010.October.29. 19:20:34 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline peterhiner

  • Newbie
  • Posts: 16
  • Country: gb
Re: Zzzip Integer Compiler
« Reply #42 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.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Zzzip Integer Compiler
« Reply #43 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.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline peterhiner

  • Newbie
  • Posts: 16
  • Country: gb
Re: Zzzip Integer Compiler
« Reply #44 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.