Enterprise Forever

:UK => Enterprise DevCompo => Enterprise DevCompo #1 => Topic started by: geco on 2015.November.16. 20:33:53

Title: Additional info and requirements
Post by: geco on 2015.November.16. 20:33:53
The program should run on EP with any software or hardware (tape/floppy/HDD/SD Card) addon, which fit to the basic requirements of the program, for example if a program minimum requirement is 64KB the program should run on EP128/any EP with memory expansion, if the minimum requirement is 128KB RAM then it do not have to run on EP64 of course, the RAM used by the program can be chosen freely, but they have to be requested through the operating system this grants the compatibility with any EP configuration.
128 KB RAM can be chosen for minimum requirement when the program do not need it for running, but there are other requirement which needs it, example:
- speed, EP64 is slower, because accessing of video memory (EP64 has only 64KB of Video RAM) is much slower then non Video RAM.
Feel free to contact us on www.enterpriseforever.com for any help :) (Memory management, EXOS comapibility, using/creting LPT to display screen, etc. )

Here are some example for EP specific addons in conversions:
- Choose other colors from EP palette instad of original ZX/CPC/etc
- Additional graphics beside/around the game screen, or bigger game screen
- Using stereo and/or digi sound
- Using Mouse
- Save High score/play state
- Proper exit from the program by soft reset (after pressing reset button, ENTERPRISE flashing text appears immeadiately)
- more/better graphics and/or sound
- using extra memory if it is available on a machine for extra contents (graphics, sound, game level, etc) for example if the program is EP128 compatible but the program recognize that more memory is available on a machine it activates the extras.
- Using file manager (ex FILE expansion) if the program recognize thar EXDOS is available.
- design tape/disk cover by using the concept of original EP programs ( http://ep128.hu/Album/Ep_Kazetta/Ep_Kazetta.htm )
- Creating ROM version of the program
- Use extra CPU time for additional graphics/sound effects on turbo machines (6/7.12/10MHz)

Donation:
It is possible, and welcome :) This is organized by SSR86 please contact him r.malkowski86 at gmail dot com
Every donater can decide on distribution of his money between the categories
Title: Re: Additional info and requirements
Post by: endi on 2015.November.16. 20:55:20
"The program should run on EP with any software or hardware"

this is a very bad decision...
most of the retro game or demo creators hates these "system" things...
we cant say "you must learn all of the system basics of EP, after this you can make a program"...
Title: Re: Additional info and requirements
Post by: Zozosoft on 2015.November.16. 21:04:34
This means: don't use any dirty POKEs.
Title: Re: Additional info and requirements
Post by: gflorez on 2015.November.16. 22:05:38
And don't use undocumented Z-80 code....
Title: Re: Additional info and requirements
Post by: lgb on 2015.November.16. 23:08:44
Hmmm. Not using undocumented Z80 opcodes can be an issue, since eg IX/IY split as two 8 bit registers are very common and useful stuff, in my opinion. However it's true, that those are not documented opcodes which are not guaranteed to work on every Z80s, typical example is Z180 which does not support it (bigger brother of Z80).

For the other: though I am big fan of EXOS, there can be situations for a really special demo / game which needs the whole machine and use the "take over the hardware" scenario (or eg "only" the whole VRAM). In this case, it can't be an EXOS compatible stuff because of its nature ... Of course it's pointless to do if it's clear that can be done without this takeover stuff as well, and I agree that being nice EXOS compatible solution is better.

The maximal power can be achieved by using even the last "transistors" of the system, which means even undocumented opcodes and all the RAM to the last bits, etc. It's another question that in most cases the situation is not so extreme ...
Title: Re: Additional info and requirements
Post by: ssr86 on 2015.November.17. 17:03:50
Please, you have to specify exactly what these mean:
This means: don't use any dirty POKEs.
And don't use undocumented Z-80 code....

I agree with lgb on the latter especially because of the use of ix/iy splits which currently I use quite regularly ;P . However these are the rules for the main category - if your game doesn't meet these then it goes to the "other" category. If there will be more of those they could spawn another game category... at least following the other rules...

On the undocumented opcodes (as for me I didn't really know which are the undocumented, so I had to have a look):
http://www.z80.info/z80undoc.htm
http://www.z80.info/zip/z80-documented.pdf

Title: Re: Additional info and requirements
Post by: Zozosoft on 2015.November.17. 19:51:13
Please, you have to specify exactly what these mean:
"This means: don't use any dirty POKEs."

Don't write system areas directly and don't use direct segment numbers.
Allocate memory from EXOS then will be no any problem. It is easy just follow my Sample.asm.

These direct addressing made a lot of incompatibility problems in the Enterprise history. Need a lot of work for correct the wrong written programs.

I think good idea write the new programs on the right way.

If interesting the can I upload my loader for Spectrum conversions. It is allocate 48K memory, and set up the Spectrum screen.
It is have a advanced trick for memory allocation: can allocate 48K memory on EP64 while still EXOS compatible, and possible exit from the program.
Title: Re: Additional info and requirements
Post by: geco on 2015.November.17. 20:09:44
Don't write system areas directly and don't use direct segment numbers.
Except 3ff4h-3fffh in 0ffh segment, which are commonly used, no ?
3FF4-F5: Address of LPT.
3FF6-F7: Address of status line. (not commonly used)
3FF8-F9: Address of Soft reset routine
3FFC: content of 0 page register
3FFD: content of 1 page register
3FFE: content of 2 page register
3FFF: content of 3 page register
Title: Re: Additional info and requirements
Post by: Zozosoft on 2015.November.17. 20:27:04
Except 3ff4h-3fffh in 0ffh segment, which are commonly used, no ?
Yes, the fixed variables can be used.
Title: Re: Additional info and requirements
Post by: endi on 2015.November.18. 20:29:03
This means: don't use any dirty POKEs.

and who will check the stuffs with all configs and hw sets? :)
you? :P
I imagine the situation, poor demo coder uploads his/her stuff and evil Zozo disqualifies it :)

I think we must be happy with any stuff, in any form
Title: Re: Additional info and requirements
Post by: szipucsu on 2015.November.19. 11:35:18
his/her stuff
His/her? I would be extremely surprised if any female programmer entered for the competition of creating an Enterprise program.
Anyway if the sex is unknown you can write "their" instead of "his/her".
Title: Re: Additional info and requirements
Post by: lgb on 2015.November.19. 19:07:56
I guess checking these kind of problems can be done only if it's compulsory to release the source code as well :) Even then it can be hard to understand a complex program. btw, is there any restriction about the "software license" of the entries in the competition? Especially if it's an open source type of license or not. I know most people would like to keep "secrets" themselves, but the source which is available can help a lot, and even in the business world it's not uncommon (ie, Linux ...). But these were only my thoughts, of course I haven't said, that it must be in way, just I asked ...
Title: Re: Additional info and requirements
Post by: ssr86 on 2015.November.19. 19:20:39
I guess checking these kind of problems can be done only if it's compulsory to release the source code as well :) Even then it can be hard to understand a complex program. btw, is there any restriction about the "software license" of the entries in the competition? Especially if it's an open source type of license or not. I know most people would like to keep "secrets" themselves, but the source which is available can help a lot, and even in the business world it's not uncommon (ie, Linux ...). But these were only my thoughts, of course I haven't said, that it must be in way, just I asked ...
No, there is no restriction on the "license". However I would also like to see some source codes released but that depends on the will of each programmer. I will try and release what I can. Although I imagine it could be a pain to comment and clean the code somewhat - but that also wouldn't be a must - no need for comments and "cleaning".
EDIT: The thing is that if we want to see more productions then we should do newcomers reinvent the wheel and so make as much information/techniques as possible available to the "public". At least that's my point of view.

But I remember asking  if the creators would release their source codes when the cpcwiki gamedev compo took place in 2013 and no one wanted to share code with the rest because it would be too complicated to read optimized code for beginners and learn from it.
Title: Re: Additional info and requirements
Post by: ssr86 on 2015.December.16. 20:51:18
Ok, it's been a month since the competition officially started so here's a short summary.

We've got 2 submitted games - one "original" (;P) in basic by endi and one spectrum conversion by goblinish. Also one entry for the wild compo with a one-effect short demo. Don't know how many are in the making but there are at least two or three. The price poll is currently 250euro.
 
I don't think we'll get any other "newcomers" beside goblinish, who I wanted to openly thank for his participation and the work that he's already done in this short time. However a month ago I strongly believed that there would be more interest from other z80 communities... Maybe we didn't reach enough of them... Don't know.

I would appreciate if anyone who is working on something to write about it - no details required (just for which category) and no strings attached - it doesn't matter if they get finished in time or get canceled. Need some teasers I guess ;P.

So I guess that's it.
Title: Re: Additional info and requirements
Post by: Zozosoft on 2015.December.16. 21:17:24
I expected more interest :-(

At source code level most of CPC or ZX game can be started on Enterprise less than one hour. Some special situation need little more time (fix BIAS in 16 colors mode, AY music).
Then I think very easy work for other system programers convert their existing work to Enterprise. And lot of time remaining for adding some EP extras (colors, etc).
Title: Re: Additional info and requirements
Post by: geco on 2015.December.17. 08:55:13
Me too, but we will see at the end the result, on Pouet 3 users mentioned that they are interesting about Devcompo and g0blinish is here, thanks for him :)
I posted some pictures on CPCwiki, and on WOS.
Title: Re: Additional info and requirements
Post by: g0blinish on 2015.December.19. 11:44:08
I expected more interest :-(

(fix BIAS in 16 colors mode, AY music).

very interesiting: how to convert AY sound?

Then I think very easy work for other system programers convert their existing work to Enterprise.

As I see one opinion: conversion ain't welcome(same with the Flora).
Title: Re: Additional info and requirements
Post by: Zozosoft on 2015.December.19. 12:15:29
very interesiting: how to convert AY sound?
IstvanV created AY emulation code, simply replace the AY writes to call the emulation routines which convert AY wrtes to Dave writes. I also used this code in PT3 player.
The problems: AY have a 3 channel, and all also can play noise. Dave have 3 sound channel and one noise channel. If the AY code use lot of noise then need to play, which noise are emulated and which not. But if you are the creator of the AY music then possible to recompose to more Dave friendly :-)
Another problem the Dave not have envelopes. Possible to use envelope simulation in the AY emulation code, using high frequency irqs, and the emulation code edit the sound parameters in the dave, try to simulate the AY envelopes. It is need more CPU time.
 
Title: Re: Additional info and requirements
Post by: IstvanV on 2015.December.19. 14:36:15
For AY emulation in games converted from CPC (rather than Spectrum 128), I have newer versions of these routines, for example in Boulder Dash (https://enterpriseforever.com/letoltesek-downloads/egyeb-misc/?action=dlattach;attach=6525). In bouldash.s, there is also code (starting at line 2133) to set the BFh port of DAVE correctly depending on the clock frequency of the Z80 (4 or 6 MHz).
Title: Re: Additional info and requirements
Post by: geco on 2015.December.19. 15:59:37
As I see one opinion: conversion ain't welcome(same with the Flora).
I think Zozo meant that if a programmer enter to the Devcompo from other platform, ex CPC, or Speccy he/she can quite easily adapt her/his sources to Enterprise.
I did not see any negative comment, just positives and suggestiond :) I like both of Zen Loops and Flora.
Title: Re: Additional info and requirements
Post by: Zozosoft on 2015.December.19. 16:13:05
I think Zozo meant that if a programmer enter to the Devcompo from other platform, ex CPC, or Speccy he/she can quite easily adapt her/his sources to Enterprise.
Yes.

Quote
I like both of Zen Loops and Flora.
I'm also!
Title: Re: Additional info and requirements
Post by: g0blinish on 2015.December.19. 16:59:56
I think Zozo meant that if a programmer enter to the Devcompo from other platform, ex CPC, or Speccy he/she can quite easily adapt her/his sources to Enterprise.
I did not see any negative comment, just positives and suggestiond :) I like both of Zen Loops and Flora.

no, I mean before.
Title: Re: Additional info and requirements
Post by: g0blinish on 2015.December.28. 12:59:58
a very good site (in Russian) with old articles:
https://sites.google.com/site/enterprise128k/home/internet-obzor/articles/tm-1995-04