[comp.sys.amiga.games] Omega Followup II

mndaily@ux.acs.umn.edu (--SeebS--) (12/02/90)

Argh! I got omega 1.0 from the nasa site. And, of course, it was a very
nice bug-free version - which will not, under any known circumstances,
run on a 3000. ARGH!

I have two things to say:
1] Couldn't someone who's done a port just put the source up for ftp? I
  know omega like the back of my hand (rewrote a copy of it once) and as
  such, could probably fix it myself a lot faster than I could get it from
  everyone else...

2] Though it's been said before, no one seems to listen...
  People, Commodore puts out *rules* for programming Amigae. If you follow
  the rules, your programs will work on all future amigas. Please, folks,
  follow the damn rules! There is *no* excuse for a game not working properly
  on any amiga, under any workbench, whether or not there is fast memory.
  Really, people, it's true: You *can* specify chip memory where you need
  it. You don't have to require nofastmems... ;-)

Apart from that, I'm sure it's a wonderful port. *grr*

--SeebS--
ps: is it just me, or is it impossible to get anything done right unless you
  do it yourself? Sheeshh...
-- 
mndaily under *NO CIRCUMSTANCES WHATSOEVER* speaks for the Minnesota Daily.
Posts signed "--SeebS--" have no connection to Linda Seebach.
Any similarities to persons living or dead are ... oops

Radagast@cup.portal.com (sullivan - segall) (12/02/90)

>Argh! I got omega 1.0 from the nasa site. And, of course, it was a very
>nice bug-free version - which will not, under any known circumstances,
>run on a 3000. ARGH!
>
>I have two things to say:
>1] Couldn't someone who's done a port just put the source up for ftp? I
>  know omega like the back of my hand (rewrote a copy of it once) and as
>  such, could probably fix it myself a lot faster than I could get it from
>  everyone else...
>
Must be something funny about the A3000, because it works fine on my
A3001 with all caches enabled, and both slow-fast and 32bit fast ram.

Make sure you are using a reasonable stack size.  Otherwise it may be 
a problem with 2.0?

Viel Glu"ck -kls
 
                           -Sullivan_-_Segall (a.k.a. Radagast)
_______________________________________________________________
 
/V\  E-Credibility:  (n -- ME) The unguaranteed likelyhood that
 '   the electronic mail you are reading is genuine rather than
someone's made up crap.
_______________________________________________________________
 
Mail to: ...sun!portal!cup.portal.com!radagast or
         radagast@cup.portal.com
 

jesup@cbmvax.commodore.com (Randell Jesup) (12/22/90)

In article <36439@cup.portal.com> Radagast@cup.portal.com (sullivan - segall) writes:
>>Argh! I got omega 1.0 from the nasa site. And, of course, it was a very
>>nice bug-free version - which will not, under any known circumstances,
>>run on a 3000. ARGH!

>Must be something funny about the A3000, because it works fine on my
>A3001 with all caches enabled, and both slow-fast and 32bit fast ram.
>
>Make sure you are using a reasonable stack size.  Otherwise it may be 
>a problem with 2.0?

	I assume the person tried it under 1.3 on the 3000.  In any case, the
most likely reason is using the upper 8 bits of an address for flags or
some such (since fast ram on an a3000 is at 0x07xxxxxx).  The other likely
reason is writing 1 byte past the end of an allocation (like: 
strcpy(malloc(strlen(src)),src).  On a machine with no mem above 0x00ffffff,
this usually doesn't hit anything, since the word following is often
a pointer (often to the next free block).

	If you have them, mungwall and enforcer are great for tracking down
these sorts of problems.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
The compiler runs
Like a swift-flowing river
I wait in silence.  (From "The Zen of Programming")  ;-)

rg20+@andrew.cmu.edu (Rick Francis Golembiewski) (12/24/90)

>Argh! I got omega 1.0 from the nasa site. And, of course, it was a very
>nice bug-free version - which will not, under any known circumstances,
>run on a 3000. ARGH!

If you read the docs file for 1.0 you should get the idea that the 1.0
port was shaky at best, I wouldn't even call it close to bug free, but
It was what I had time to do and figured that a so so port of omega is
better then none at all.   BTW v 1.0 is quite old, I've had v1.3 (so
named because I had tested it under 1.3) out for some time, not only
is 1.3 far more bug free, but it is a LOT faster and has more features
(I hacked up some custom fonts).    A few notes on version 1.0: I
think that the reason that it doesn't work on the 3000 may be due to
the version of lattice C it was compiled under (4.0 or so I believe),
because version 1.3 works great under 2.0 on my 3000 with no changes.

>1] Couldn't someone who's done a port just put the source up for ftp? I
>  know omega like the back of my hand (rewrote a copy of it once) and as
>  such, could probably fix it myself a lot faster than I could get it from
>  everyone else...

The reason that I've been reluctant to post the source is that I don't
want hundreds of versions floating around (there is already enough
problems with 2 revisions!), however if someone is REALLY interested
in doing work to enhance v1.3, then I will certainly give them the code.
Be warned though, the code is large (is more then 1MB of object files
~ 1 MB of source and ~600K for the executable) so that it really
requires a HD with a fair amount of space for the excutables.  Also
the omega source is not pretty, and neither is the my amiga specific
curses routines (mainly because I reverse engineered them with out any
docs other then what omega was supposed to display and a man page for
cures...), there aren't a lots of comments and I don't really have
time to put them in either....

>2] Though it's been said before, no one seems to listen...
>  People, Commodore puts out *rules* for programming Amigae. If you follow
>  the rules, your programs will work on all future amigas. Please, folks,
>  follow the damn rules! There is *no* excuse for a game not working properly
>  on any amiga, under any workbench, whether or not there is fast memory.
>  Really, people, it's true: You *can* specify chip memory where you need
>  it. You don't have to require nofastmems... ;-)

I DID actually follow the rules, for all alocations I used malloc for
memory allocation [Of course I'm not sure how good Lattice 4.0 was
about Fast/Chip memory etc.) (and put in checking to insure that the
mallocs were successful, somehting the UNIX version was lacking), I used the
standard screen and window routines and used Text() for text output
(even though it is pretty slow), in fact all of the docs I have
dealing with graphics were on 1.2, but they still worked fine in 2.0.
If you look at the code there are several 
if ( (foo=openfoo())==NULL) cleanup(); 
and similar statements through the code, I even put in code so that if
v1.3 couldn't find the fonts it would use the regular character set.
V1.3 works perfectly on my A3000 with 2MB chip and 4MB fastram enabled
or disabled. I stongly suggest that you (and anyone else that is using
v1.0) get version 1.3 from:

drycas.club.cc.cmu.edu
in the directory:
[anonymous.amiga-sig]omega.zoo

//     Rick Golembiewski  rg20+@andrew.cmu.edu  \\
\\       #include stddisclaimer.h               //
 \\  "I never respected a man who could spell" //
  \\               -M. Twain                  //

billsey@agora.uucp (Bill Seymour) (12/27/90)

In article <8bRH2yu00WAyE_QqoH@andrew.cmu.edu> rg20+@andrew.cmu.edu (Rick Francis Golembiewski) writes:
:
::Argh! I got omega 1.0 from the nasa site. And, of course, it was a very
::nice bug-free version - which will not, under any known circumstances,
::run on a 3000. ARGH!
:
:If you read the docs file for 1.0 you should get the idea that the 1.0
:port was shaky at best, I wouldn't even call it close to bug free, but
:It was what I had time to do and figured that a so so port of omega is
:better then none at all.   BTW v 1.0 is quite old, I've had v1.3 (so
:named because I had tested it under 1.3) out for some time, not only
:is 1.3 far more bug free, but it is a LOT faster and has more features
:(I hacked up some custom fonts).    A few notes on version 1.0: I
:think that the reason that it doesn't work on the 3000 may be due to
:the version of lattice C it was compiled under (4.0 or so I believe),
:because version 1.3 works great under 2.0 on my 3000 with no changes.

	I think the confusion here is between the two seperate ports of
Omega. Yours is the one with custom, but still monochrome :-(, font and
is on version 1.3. It works on a 3000, but sometimes hangs during level
changes or saves. :-( The 1.0 being talked about here is a seperate port
that supposedly doesn't have the hung game problems, but doesn't have a
custom font at all, monochrome or color. The 1.0 version is the one that
doesn't work with a 3000, not yours.

://     Rick Golembiewski  rg20+@andrew.cmu.edu  \\
:\\       #include stddisclaimer.h               //
: \\  "I never respected a man who could spell" //
:  \\               -M. Twain                  //

-- 
     -Bill Seymour                                            billsey@agora
***** American People/Link Amiga Zone Hardware Specialist  NES*BILL *****
Bejed, Inc.       NES, Inc.        Northwest Amiga Group    At Home Sometimes
(503) 281-8153    (503) 246-9311   (503) 656-7393 BBS       (503) 640-0842

rg20+@andrew.cmu.edu (Rick Francis Golembiewski) (12/28/90)

>        I think the confusion here is between the two seperate ports of
>Omega. Yours is the one with custom, but still monochrome :-(, font and
>is on version 1.3.
Yes, I wasn't aware of another version, but it's possible to compile
omega, so long as you have a curses library. There is now a curses library
available for the amiga, so you don't have to rewrite (or reverse
engineer) one as I did...  Version 1.2 of the curses library works
fine for compiling omega (1.1 will work but gives a black on black
screen under 2.0) from the UNIX source.

> It works on a 3000, but sometimes hangs during level
>changes or saves. :-(

Yes, I was never able to track down that problem... as far as I can
tell it's something in the original omega code, but I can't get it to
consistantly repeat, so I haven't been able to fix it.

//     Rick Golembiewski  rg20+@andrew.cmu.edu  \\
\\       #include stddisclaimer.h               //
 \\  "I never respected a man who could spell" //
  \\               -M. Twain                  //

billsey@agora.uucp (Bill Seymour) (12/29/90)

In article <MbScFFO00VAt0135oQ@andrew.cmu.edu> rg20+@andrew.cmu.edu (Rick Francis Golembiewski) writes:
:Yes, I wasn't aware of another version, but it's possible to compile
:omega, so long as you have a curses library. There is now a curses library
:available for the amiga, so you don't have to rewrite (or reverse
:engineer) one as I did...  Version 1.2 of the curses library works
:fine for compiling omega (1.1 will work but gives a black on black
:screen under 2.0) from the UNIX source.

	Any chance of getting the new executable using the curses library?
I know, and agree with you, about source distribution, or the lack of it...
The 'other' Omega had curses pulled out of the original UNIX source, according
to the author. He rewrote Omega enough to use more Amigaish text handling
routines. That had the advantage of making things much faster...
	Have you gotten the color font source from the Software Distillery?
Other than fixing the occasional lockup, moving to an eight color font 
would be the biggest enhancement I would like to see done... At least short
term. :-)

:: It works on a 3000, but sometimes hangs during level
::changes or saves. :-(
:
:Yes, I was never able to track down that problem... as far as I can
:tell it's something in the original omega code, but I can't get it to
:consistantly repeat, so I haven't been able to fix it.

	I'm in the same position, I was never able to pin it down
consistantly enough to really generate a reasonable bug report. I
hate to turn on bugs that I can't duplicate consistantly. :-) Setting
the stack larger didn't seem to affect it, and it wasn't a low memory
condition. (At least, not on *my* machine! :-}) Might have been a
fragmentation problem though, I suppose. Since it almost always happened
during a move between levels, you might look at that portion of the code.
If it's allocating memory for an array that it builds while creating
the next dungeon level, it could be there...

://     Rick Golembiewski  rg20+@andrew.cmu.edu  \\
:\\       #include stddisclaimer.h               //
: \\  "I never respected a man who could spell" //
:  \\               -M. Twain                  //

-- 
     -Bill Seymour                                            billsey@agora
***** American People/Link Amiga Zone Hardware Specialist  NES*BILL *****
Bejed, Inc.       NES, Inc.        Northwest Amiga Group    At Home Sometimes
(503) 281-8153    (503) 246-9311   (503) 656-7393 BBS       (503) 640-0842

rg20+@andrew.cmu.edu (Rick Francis Golembiewski) (12/30/90)

in response to (Marcus  Dolengo)'s post:
There is a version of omega for the amiga ftpable from
drycas.club.cc.cmu.edu in [anonymous.amiga-sig]omega.zoo

in response to Bill Seymore

> Any chance of getting the new executable using the curses library?

I don't want to make YET another version, I'de mail you a uuencoded
binary, but cmu has trouble with UUCP sites, and about 1/2 the UUCP
mail I send gets lost.

>        Have you gotten the color font source from the Software Distillery?
>Other than fixing the occasional lockup, moving to an eight color font 
>would be the biggest enhancement I would like to see done... At least short
>term. :-)

No, I don't have it... Is there an FTP site with it somewhere?  I'm
going to try to take the time to make enough changes for a new
verison, possibly find the bug that makes it hang occasionally and
color fonts also... (although I've got a feeling tht they would be
kind of slow....), although right now I'm busy writing a scientific
graphing program (which I shall have a real need for next semester),
so I'm not certain about finishing a new release.

//     Rick Golembiewski  rg20+@andrew.cmu.edu  \\
\\       #include stddisclaimer.h               //
 \\  "I never respected a man who could spell" //
  \\               -M. Twain                  //