[comp.sys.amiga.programmer] Lemmings - a tutorial Part IV

farren@well.sf.ca.us (Mike Farren) (03/24/91)

NOTICE - this entire posting is Copyright (c) 1991 by Michael J.
Farren.  The only reproduction rights granted under this copyright are
for electronic transmission between Usenet sites, and other sites
connected to Usenet sites.  Contact farren@well.sf.ca.us for reproduction
rights other than the above.

Level 3 - SPEED 'EM UP, MOVE 'EM OUT, RAWHIDE!

In the last installment, I described the basic flow of the code for
Lemmings.  I went through a list of the functions which had to be done
in order to make the game work, and talked a bit about why I believe
that all of that functionality could fit nicely into the limited
amount of memory available.

In this installment, I want to examine that code in terms of some
other criteria.  This time, I'll look at Lemmings with an eye toward
game speed vs. multitasking, and custom routines vs. ROM Kernel
routines.

For some games, particularly the "shoot-em-up" sort, the speed of the
game is a valid consideration. Even the slight time penalty imposed by
allowing Exec's multitasking kernel to continue to operate can result
in perceptible jerkiness in the game, and there's little that's as
irritating as a jerky shoot-em-up.  For Lemmings, though, it's clearly
not a criterion at all.  Here's why:  notice that in the list of
functions I laid out in the last installment, nothing at all was said
about needing to accomplish all of those functions in any given period
of time.  You just go through, doing everything you need to do to draw
a screen, then you flip screens and do the same thing with the next
screen, without worrying about the time it takes.  In Lemmings, you
don't need to switch screens every vertical blank time (1/60 or 1/50
of a second, depending).  Instead, there's a minimum time between
screens which looks, to my eye, as if it is about 3 vertical blanks
long.  Updating the screens every 20th of a second can work perfectly
well, if there isn't any really fast movement on the screen (as there
is not in Lemmings).  A minimum time of three VBlanks is just fine.

There is, however, no maximum time for Lemmings!  Try this experiment:
get to a screen with a lot of lemmings - 100, preferably.  When the
first lemming comes out, make him a builder, and listen to the rhythm
of the "clanks" as he finishes his bridge.  Crank the drop rate up to
99, and let all of the other lemmings out, and then make one of the
pack a builder, and listen to the rhythms again.  You'll notice that
the clanks are a lot slower.  That's because it's now taking so long
to draw a screen that it's not completed in three vertical blank
periods - it's taking four, five, or perhaps even six.  And since the
movement of the lemmings is a function of how often you redraw the
screen, they will slow down if there are too many of them onscreen at
once.

This, by the way, also proves that off-screen lemmings aren't drawn.
In the same situation as above, hit the "nuke" button, and wait for
the explosions to start.  Notice how they go pretty slowly?  Now, move
the map cursor so the exploding boys are all off the screen, and
listen to how much faster those explosions happen.  Drawing the
explosions is the slowest thing that Lemmings does, so you can readily
tell the difference when they are being drawn, and when they're not.

So what does all this mean?  Simple.  It means that since the speed of
the game is dominated far more by the time it takes to draw lemmings
than by the time it takes the CPU to run, or the screen to update, any
small time fluctations caused by multitasking would disappear into the
noise.  By my eye, it takes about 70 or so lemmings before you begin
to see speed degradation.  If the operating system took 10% of all the
available time (a GROSS exaggeration), you'd see that slowdown happen
at about 50 lemmings, and I doubt that anyone would call that an
"unacceptable" level of degradation, or they would have already been
complaining about it happening at 70!  In real life, the OS is
probably taking more like 1% of the time, if that, and you'd see the
degeneration start at about 65 lemmings instead of 70, and I think
that is the next best thing to no difference at all.

This is also one of the arguments against eliminating multitasking,
and in favor of leaving the decision strictly to the user.  Consider
what would happen if you were running another task, which uses up its
entire time slice.  Again, the Lemmings display would degrade - but it
would still be able to deal with 20 or 30 lemmings without any
degradation (it isn't a linear degradation - drawing in the background
and objects is pretty much a fixed "expense").  Under those
conditions, the game would run more slowly, to be sure, but might
still be playable.  And if you were doing something like a download to
RAM:, where the actual time spent by the other process is mostly tied
up in Wait loops, you might not see significant degradation at all.
All in all, plenty of reason to keep the multitasking alive,
especially since no one is ever going to force someone to multitask!

And that brings up one final point about multitasking.  If you can
spare the resources to allow Exec to operate (as I have shown you
can), then it seems only sensible to allow the user to decide what
tradeoffs he wants to accept, and not decide for him.  I'll give a
concrete example: for the game which I did for SSI last year, STORM
ACROSS EUROPE, there is a menu item titled PAUSE GAME.  If the player
selects it, I free all of the screen memory the game is using, create
a small icon on the Workbench screen, and then close down the game,
returning control to the user so he can do anything he sees fit.  If
he double-clicks the "Game in progress" icon, I rebuild the game and
its screens, and resume play at the exact point that it left off.  If,
for some reason, there isn't enough memory available to restart
(perhaps because another application has been launched), then I put up
a window which allows the user to either quit, continue to pause until
the memory is free again, or save the current game to a file which
will allow the game to be restarted later.  It's his choice - I don't
enforce ANY of those choices.  And, in the process, the user gains an
invaluable thing - freedom.

Lemmings, as it happens, has an ideal spot to do exactly the same sort
of thing - the "Paws" button.  Why shouldn't the player be able to hit
the pause button, and then be given the choice of temporarily shutting
down the game?  If he did, then all of the buffer memory that Lemmings
has taken (200K, if you remember the analysis in my previous posting)
could be given back to the system, and there would be plenty of memory
space available for real multitasking.  Not only that, it would also
suit the purposes of those who weren't willing to see any degradation
at all in the game play, but who still wanted to, say, periodically
check their email with a terminal emulator.  It's possible, so it
should be doable.

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/25/91)

In article <23787@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes:
>
>For some games, particularly the "shoot-em-up" sort, the speed of the
>game is a valid consideration. Even the slight time penalty imposed by
>allowing Exec's multitasking kernel to continue to operate can result
>in perceptible jerkiness in the game, and there's little that's as
>irritating as a jerky shoot-em-up.  For Lemmings, though, it's clearly
>not a criterion at all.  Here's why:  notice that in the list of
>functions I laid out in the last installment, nothing at all was said
>about needing to accomplish all of those functions in any given period
>of time.  You just go through, doing everything you need to do to draw
>a screen, then you flip screens and do the same thing with the next
>screen, without worrying about the time it takes.  In Lemmings, you
>don't need to switch screens every vertical blank time (1/60 or 1/50
>of a second, depending).  Instead, there's a minimum time between
>screens which looks, to my eye, as if it is about 3 vertical blanks
>long.  Updating the screens every 20th of a second can work perfectly
>well, if there isn't any really fast movement on the screen (as there
>is not in Lemmings).  A minimum time of three VBlanks is just fine.
>
A minimum time of 3 VBlanks is never fine, it is a bad compromise.  The
Amiga is the best game machine around, including the Genesis and the 
Nintendo.  It is rare that you will see games for those machines running
at 3 VBlanks.  If QUALITY is what you want, then you want 1 VBlank as
often as possible.  This is what makes Shadow of the Beast so stunning -
it runs at 60 frames/second instead of 20.  

When you go 60 frames/second, the objects that you move on the screen
don't have to jump as far each frame as when you run at 20.  Consider the
case when you move an object across a 320 pixel wide screen in 5 seconds.
At 60 Hz, your object moves one pixel at a time and you see 300 different
positions that the object is plotted in.  At 20 Hz, your object moves
3 pixels at a time and you only get to see it in 100 different positions.
The human eye is quite good at perceiving the difference and 60Hz is 
much more smoother looking.  At 30Hz everything jerks in big jumps across
the screen.

When you consider animation, it is true that it is rare that you want to
animate things (i.e. change their images) every 60th of a second.  However,
at 60Hz, you get finer resolution for your animation.  At 20 Hz, you can
only change an object's image in one of 20 different frames each second.
At 60 Hz, you can change the image in any of 60 different frames.  Since
you can have multiple independently animating objects on the screen at
the same time, the added resolution at 60 Hz makes a huge difference.

So let's consider one of MY favorite Amiga games, TV Sports Football.
It clearly is designed and implemented as you would urge developers to.
It runs at a pitifully slow frame rate, goes to floppy disk for huge
amounts of time (nearly puts me to sleep), and due to the slow frame
rate, it is sluggish in response to the controls.  The game design is
excellent, and the game is playable.  But it would have been a better
product and I would have gotten more VALUE for my money if they had
taken over the machine and made FAST disk routines and used all the RAM
so they didn't have to go to disk so often, and they could have gotten
4x the frame rate.  I rate this game as a 10 in design, a 2 in 
implementation, and a 10 for coding.  In other words, I do not fault the
programmer for the performance of the game, because he did use the OS.
There is NO doubt that the same programmer would have made a better game
if he hadn't made such a major mistake.

--
*******************************************************
* Assembler Language separates the men from the boys. *
*******************************************************

rjc@geech.gnu.ai.mit.edu (Ray Cromwell) (03/25/91)

  Well, I don't care much for multitasking while playing a game, but there
is NO excuse for not making a version of a game that can be HD installable.
There is NO excuse for not working on 68010,68020,68030, etc. There is
NO excuse for not working when a user has extra ram, or a different
system configuration (e.g. Amiga 3000).
  There is only ONE excuse for making a game trash the current state of
the system, and that is if you want to make it run for 512k ram A500's and
need the extra 80k or so. 

  Any sane programmer can make a game that
1) is HD installable
2) not copy protected
3) saves the state of the OS and restores it when the game is exited
4) works on any hardware configuration

  I don't care how many excuses euro-hack programmers can give, it IS
possible to bang on the hardware and save the state of the OS for
restoration. It takes about 30 lines of assembly code to do. Processor
detection is easy. Timing is easy, just steal a CIA register and use
it instead of CPU delay loops. Running the blitter concurrently with a 
timed CPU loop is easy, just use the blitter interupt and run the code in chip
ram. (note, need to detect the A3000's 32bit chip access and supply
a seperate routine)

  I'm not trying to insult anyone, but I'm sick and tired of
games not working with the Fat Agnus chip, fast ram, v1.3 of the OS
(yes I have some games that GURU 1.3, but work in 1.2), and screw
up the internal clock. With a little care, a game can be written to run on
a 512k Amiga 500 with 1.3, and a 32bit A3000 with 2.0.

 For those non-believers, check out 'Heart of the Dragon'.

--
/~\_______________________________________________________________________/~\
|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
|~|                                .-. .-.                                |~|
|_|________________________________| |_| |________________________________|_|

sschaem@starnet.uucp (Stephan Schaem) (03/25/91)

 Talking about 60 frame rate games...
 Sometime its to fast:-) so what you have to do is move you
 object every other frame...
 XenonII, Hybris, Battle squadron etc... and alot of other
 with sucj scrolling use 30 frame second scroll.
 Batlle squadron mix30 frame with 60 frame.
 So actually mixing 20 30 60 frame rate is the best way to go.
 (at least if your scroll of slower rate than the object you
 move them on...)

 The realsolution is half pixel scroll.having the scroll register
 impelmented to 32 value, and dividing the display delay time by
 2...
 or 64 and divided by 4!!!! Why cant we have it on the amiga:-(

sschaem@starnet.uucp (Stephan Schaem) (03/25/91)

AT LAST! SOMEBODY WITH SENCES!

The is no reason for nothing.Since how do you think game programers
develope there game!

I saw minuts ago that my post 'Mike Farren tutorial
 got totaly trashed when it was sended! I will check what happen
 and repost it since it show what happen during a game development
 and why at the end game are not HD instalable of protected.

 Write now (has I write) I have my game resident.using 512k of chip.
 If I want to play and come back to that message... POF... 2 key stroke.
 of course when I booted my A3000 I install the game from the HD.
 Load in a second or so.
 I would have needed 512K more to load the map, but the game use the
 floppy drive DMA for virtual memory.

 But when you do a commercial version: you put the code on disk, you
 use your disk device (making it copy protected) and voila!

 You get a non HD installable protected game.

 Actually the curent version of my game meet EVERY requirment eccepted
 multitasking! but when you display OVER than 100 moving object in 6
 bitplanes halbright with shadows, with 50% of the cpu down (video dma),
 multidirectional scrolling, realtime floppy access (every 16 lines),
 collision with tose over 100 object, music, decompacting (since we
 create mask in real time to make it fit in 512k), decompact and create
 curent zone object list, also have map colision, a full copper dash
 board with 80 colors and alot of parameters to update , and alot
 more.... You might handerstand why we didn't choose to multitask!
 And making a game with 400 object in 16,64 colors and a 400 screens in
 full 64 colors with 1024 16x16x6 tiles, 64k music, 64K tables, 64k
 programes, 95K screen etc.. fit in 512k needed more than real time
 decompacting! that's why we use the floppy has memory and made the
 game available for 512k owners...

 GOD, I'm european:-)  (I was born over there and went to scoll over
 there... but I'm American) Now you know why I 'write' that way...

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/26/91)

In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>  Well, I don't care much for multitasking while playing a game, but there
>is NO excuse for not making a version of a game that can be HD installable.
>There is NO excuse for not working on 68010,68020,68030, etc. There is
>NO excuse for not working when a user has extra ram, or a different
>system configuration (e.g. Amiga 3000).
>  There is only ONE excuse for making a game trash the current state of
>the system, and that is if you want to make it run for 512k ram A500's and
>need the extra 80k or so. 
>
>  Any sane programmer can make a game that
>1) is HD installable

I am bummed that I can't install my Genesis or Nintendo carts on my hard disk...

>2) not copy protected

I am bummed that I can't make backup copies of my Genesis or Nintendo carts...

>3) saves the state of the OS and restores it when the game is exited

Gee, there is no OS on a Genesis or Nintendo machine...

>4) works on any hardware configuration

The point I am trying to make that games are games and productivity
software is productivity software.  
>
>  I don't care how many excuses euro-hack programmers can give, it IS
>possible to bang on the hardware and save the state of the OS for
>restoration. It takes about 30 lines of assembly code to do. Processor
>detection is easy. Timing is easy, just steal a CIA register and use
>it instead of CPU delay loops. Running the blitter concurrently with a 
>timed CPU loop is easy, just use the blitter interupt and run the code in chip
>ram. (note, need to detect the A3000's 32bit chip access and supply
>a seperate routine)
>

ALL of the games that I have written that take over the machine work on ALL
Amigas.  The same can not be said for any of Electronic Arts' games which
don't.  You don't need to know what processor you are on.  All you need to
do is to use the CIA timers, the vertical beam position register, and
VBlank to do your timing.  You should also test your software on a 68030.
My games are developed using a 68030 machine and are debugged on a 500.

>  I'm not trying to insult anyone, but I'm sick and tired of
>games not working with the Fat Agnus chip, fast ram, v1.3 of the OS
>(yes I have some games that GURU 1.3, but work in 1.2), and screw
>up the internal clock. With a little care, a game can be written to run on
>a 512k Amiga 500 with 1.3, and a 32bit A3000 with 2.0.
>
> For those non-believers, check out 'Heart of the Dragon'.
>

For those non-believers, check out Arctic Fox and Starglider or Starglider II.
Which is the better game?

>--
>/~\_______________________________________________________________________/~\
>|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
>|~|                                .-. .-.                                |~|
>|_|________________________________| |_| |________________________________|_|

--
*******************************************************
* Assembler Language separates the men from the boys. *
*******************************************************

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/26/91)

In article <1991Mar25.121625.19195@starnet.uucp> sschaem@starnet.uucp (Stephan Schaem) writes:
>
> Talking about 60 frame rate games...
> Sometime its to fast:-) so what you have to do is move you
> object every other frame...
> XenonII, Hybris, Battle squadron etc... and alot of other
> with sucj scrolling use 30 frame second scroll.
> Batlle squadron mix30 frame with 60 frame.
> So actually mixing 20 30 60 frame rate is the best way to go.
> (at least if your scroll of slower rate than the object you
> move them on...)
>
> The realsolution is half pixel scroll.having the scroll register
> impelmented to 32 value, and dividing the display delay time by
> 2...
> or 64 and divided by 4!!!! Why cant we have it on the amiga:-(

The MOST challenging thing to do on the Amiga is to scroll and run at
60Hz.  30Hz is not terrible, just not the best that can be done.
It is actually fairly easy to scroll at 60Hz using dual playfields,
but the graphics aren't as pretty...

--
*******************************************************
* Assembler Language separates the men from the boys. *
*******************************************************

farren@well.sf.ca.us (Mike Farren) (03/26/91)

mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:

>In article <23787@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes:
>>
>>Updating the screens every 20th of a second can work perfectly
>>well, if there isn't any really fast movement on the screen (as there
>>is not in Lemmings).  A minimum time of three VBlanks is just fine.
>>
>A minimum time of 3 VBlanks is never fine, it is a bad compromise.

My point is that it is NOT a bad compromise for Lemmings.  For an action
game, it is.  But then, I acknowledged that.  The article was NOT a
universal putdown of all game designers - it was a specific putdown
of the designers of Lemmings, and was designed to show only that with
a bit of thought, and a bit of effort, you can have your cake and eat it, too.

>So let's consider one of MY favorite Amiga games, TV Sports Football.
>It clearly is designed and implemented as you would urge developers to.

You misunderstand.  The game comes first.  In most cases, however, you
do not have to sacrifice any of the other advantages the Amiga has for
the sake of the game - and THAT was my point.

-- 
Mike Farren 				     farren@well.sf.ca.us

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/26/91)

In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>>  Well, I don't care much for multitasking while playing a game, but there
>>is NO excuse for not making a version of a game that can be HD installable.
>>There is NO excuse for not working on 68010,68020,68030, etc. There is
>>NO excuse for not working when a user has extra ram, or a different
>>system configuration (e.g. Amiga 3000).
>>  There is only ONE excuse for making a game trash the current state of
>>the system, and that is if you want to make it run for 512k ram A500's and
>>need the extra 80k or so. 
>>
>>  Any sane programmer can make a game that
>>1) is HD installable
>>2) not copy protected
>>3) saves the state of the OS and restores it when the game is exited
>>4) works on any hardware configuration
>>

I want to point out that when you take over the machine, and get rid of
the OS, there are a number of powerful programming tricks that you can use.
For example, the 68000 provides an addressing mode called "ABSOLUTE SHORT"
which normally you can't use on the Amiga.  I rely heavily on this addressing
mode by putting all my variables and jump tables in low memory, which frees up
a register (normally the A4 register is used to provide a short addressing mode).
I also use the 68000 in supervisor mode all the time, which frees up the USP
register for a fast place to save an address register.

Copy protection is something that I do not like, myself.  I wrote my own set
of floppy disk drivers that read and write standard trackdisk format.  This
means that you CAN use diskcopy to copy the disks.  For software that use
custom formats, diskcopy doesn't work, but that does not mean that the
software is truly copy protected.  Copy protection implies that the software
attempts to make sure that the ORIGINAL disks are being used.  A nybble copier
can copy custom formatted disks.  I have only once implemented a copy protection
scheme in a product and I do not like the policy at all and won't use it again.

You are also wrong about the 80 lines of assembly code to restore the system.
If you want to use the floppy disk, keyboard, and CIA directly, you really hose
the OS when you try to restore it.  You end up with a LOT of code to restore
things (like allocating/dealocating resource structures, etc.).

Once you have kicked the OS out, you can't read from hard disks without writing
drivers for each of the controllers around.  Commodore could have made things
easy for us hardware programmers by providing low level access routines for
floppy and hard disk that can be called in ROM without the operating system, but
they didn't.  I'd like to see your 80 lines of code, and with your permission,
I would gladly use it in my next product, and you will be happy.

I am extremely pleased with the floppy disk routines I wrote.  You can see them
in action in Budokan and the Immortal for the Amiga.  They are extremely fast,
because they use the blitter in NASTY mode to do the encoding and decoding of
the MFM.  These routines are an order of magnitude faster than AmigaDos.  I
also detect and use memory above 512K to cache data from the floppy disk.  My
caching algorithm is hard coded to make sure that the most important sectors
from disk are guaranteed to be in RAM.  If you play budokan, you will find
that it only goes to disk ONCE for 90% of the data in the game (a RAM cache
is faster than Hard disk!).

>>  I don't care how many excuses euro-hack programmers can give, it IS
>>possible to bang on the hardware and save the state of the OS for
>>restoration. It takes about 30 lines of assembly code to do. Processor
>>detection is easy. Timing is easy, just steal a CIA register and use
>>it instead of CPU delay loops. Running the blitter concurrently with a 
>>timed CPU loop is easy, just use the blitter interupt and run the code in chip
>>ram. (note, need to detect the A3000's 32bit chip access and supply
>>a seperate routine)
>>

I have seen quite a few programs not written by "euro-hack" programmers that
fail to work on all amigas, too, even when they use the OS.  What you are 
really getting at is that ANY kind of programming requires good programming 
practices.  I agree with you.  I would also love to work on a game that
requires more than 512K, but the MARKET is just not there for them.

I am not a euro-hack programmer.  I am an American programmer.  There are
lots of American programmers that make games the same way the Europeans do.
As a matter of fact, if you are aware of how big the Pirate network is for
the Amiga and have seen how they pirate software, you'd see some of the
best programming being done for the Amiga.  It is really a shame that some
pirate is going to make a intro screen for Mike Farren's game that makes
the game look bad (the intros I've seen are that good).  And to top it off,
this pirate is going to compress his game down to half its size on disk...
This is not intended as a slam against Mike, just to illustrate how a
better approach can make a better product.

In my book, CinemaWare started out making some pretty lame games.  But over
the years, their designs got quite good.  I like Wings (although if I had
a 68000, I'd want my money back because it is too slow).  I liked It Came
from the Desert, TV Sports Football, and Sinbad.  These games are all more
playable than most of the Psygnosis games.  But Psygnosis is now the premier
original game development company for the Amiga, and CinemaWare is out of
business.  It makes sense to me to emulate Psygnosis and make KICK ASS
Amiga games with lots of sizzle.

>>--
>>/~\_______________________________________________________________________/~\
>>|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
>>|~|                                .-. .-.                                |~|
>>|_|________________________________| |_| |________________________________|_|
>
>--
>*******************************************************
>* Assembler Language separates the men from the boys. *
>*******************************************************

--
*******************************************************
* Assembler Language separates the men from the boys. *
*******************************************************

nv89-nun@alv.nada.kth.se (Nicklas Ungman) (03/26/91)

In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:

   >  Any sane programmer can make a game that
   >1) is HD installable

   I am bummed that I can't install my Genesis or Nintendo carts on my hard disk...

   >2) not copy protected

   I am bummed that I can't make backup copies of my Genesis or Nintendo carts...

   >3) saves the state of the OS and restores it when the game is exited

   Gee, there is no OS on a Genesis or Nintendo machine...

   >4) works on any hardware configuration

   The point I am trying to make that games are games and productivity
   software is productivity software.  


I don't see any reason to make a program (game or not) non HD installable.
In fact I see it as lazyness or stupidity to not do it. The reason of
having a hard disk is to be able to access all your programs from it,
instead of having several hundreds of floppy disks all over your place,
which can result in a great mess of floppy disks.

I also don't see the difference between productivity software and games
when it comes to copy protection, hd installment, OS frendliness and
USER frendliness etc. The program that are not friendly to it's
environment is insulting it. Someone who's insulting doesn't get any
respect. So, if we want people to respect games (as entertainment) we
must stop to insult our environment.

In fact, the magazine MacUser is deleting one mouse from their ratings of
games if the games are copy-protected. Manual lookup protection included. 

I thought the Amiga was a computer with the power of a game machine
instead of just another game machine. Maybe I'm wrong.



   >--
   >/~\_______________________________________________________________________/~\
   >|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
   >|~|                                .-. .-.                                |~|
   >|_|________________________________| |_| |________________________________|_|

   --
   *******************************************************
   * Assembler Language separates the men from the boys. *
   *******************************************************




/Nixxon

(Only masochists program in assembler only :-)

mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) (03/27/91)

In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
   In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
   >  Any sane programmer can make a game that
   >1) is HD installable

   I am bummed that I can't install my Genesis or Nintendo carts on my hard
   disk...

I am bummed that I can't get emacs running on my Genesis or Nintendo...

   >2) not copy protected

   I am bummed that I can't make backup copies of my Genesis or Nintendo
   carts...

I am bummed that I can't run UUCP on my Genesis or Nintendo...

   >3) saves the state of the OS and restores it when the game is exited

   Gee, there is no OS on a Genesis or Nintendo machine...

Gee, there is an OS on the Amiga.

   The point I am trying to make that games are games and productivity
   software is productivity software.  

The point I am trying to make is that game machines are game machines
and workstations are workstations.

The genesis and nintendo are clearly games machines. Turning them off
to run a different game is no big deal, as that's all they do. The
Amiga is a workstation. Turning it off means interrupting all other
work in progress, disabling incoming calls, and otherwise turning it
into a game machine. If I'd wanted a game machine, I would have bought
one. I wanted a workstation, so I bought an Amiga. Asking me to treat
it like a game machine means I won't buy your software.

   *******************************************************
   * Assembler Language separates the men from the boys. *
   *******************************************************

The men quietly use it where appropriate, the boys brag about using it
everywhere?

	<mike
	
--

rjc@geech.gnu.ai.mit.edu (Ray Cromwell) (03/27/91)

In article <mykes.0266@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
>In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>>>  Well, I don't care much for multitasking while playing a game, but there
>>>is NO excuse for not making a version of a game that can be HD installable.
>>>There is NO excuse for not working on 68010,68020,68030, etc. There is
>>>NO excuse for not working when a user has extra ram, or a different
>>>system configuration (e.g. Amiga 3000).
>>>  There is only ONE excuse for making a game trash the current state of
>>>the system, and that is if you want to make it run for 512k ram A500's and
>>>need the extra 80k or so. 
>>>
>>>  Any sane programmer can make a game that
>>>1) is HD installable
>>>2) not copy protected
>>>3) saves the state of the OS and restores it when the game is exited
>>>4) works on any hardware configuration
>>>
>
>I want to point out that when you take over the machine, and get rid of
>the OS, there are a number of powerful programming tricks that you can use.
>For example, the 68000 provides an addressing mode called "ABSOLUTE SHORT"
>which normally you can't use on the Amiga.  I rely heavily on this addressing
>mode by putting all my variables and jump tables in low memory, which frees up
>a register (normally the A4 register is used to provide a short addressing mode).
>I also use the 68000 in supervisor mode all the time, which frees up the USP
>register for a fast place to save an address register.

  Shaving cycles like this isn't really needed except in critical routines
like line-drawing, disk loaders and image-mapping, etc. Kill the OS for an
extra register and the ability to use 'zero-page'. (Sorry, I'm just used to it,
I programmed 6502 on the C64 for almost 7 years) Just disable the OS and
copy the page zero stuff elsewhere.

>You are also wrong about the 80 lines of assembly code to restore the system.
>If you want to use the floppy disk, keyboard, and CIA directly, you really hose
>the OS when you try to restore it.  You end up with a LOT of code to restore
>things (like allocating/dealocating resource structures, etc.).
>
>Once you have kicked the OS out, you can't read from hard disks without writing
>drivers for each of the controllers around.  Commodore could have made things
>easy for us hardware programmers by providing low level access routines for
>floppy and hard disk that can be called in ROM without the operating system, but
>they didn't.  I'd like to see your 80 lines of code, and with your permission,
>I would gladly use it in my next product, and you will be happy.

  Welp, you're talking about totally kicking out the OS and claiming
all memory your own. A lot of games don't do that (here in the US)>
It's possible for a "partIal" takeover and leave DOS functioning.
Look at games like 'Test Drive II','Technocop','Dragon's Lair II' and
the old CinemaWare games.

>I am extremely pleased with the floppy disk routines I wrote.  You can see them
>in action in Budokan and the Immortal for the Amiga.  They are extremely fast,
>because they use the blitter in NASTY mode to do the encoding and decoding of
>the MFM.  These routines are an order of magnitude faster than AmigaDos.  I
>also detect and use memory above 512K to cache data from the floppy disk.  My
>caching algorithm is hard coded to make sure that the most important sectors
>from disk are guaranteed to be in RAM.  If you play budokan, you will find
>that it only goes to disk ONCE for 90% of the data in the game (a RAM cache
>is faster than Hard disk!).

  Hmm, I played it over my friends house (Budokan). Perhaps he has a pirated
copy or something? All I know is that EVERYTIME I got beat in a fighT
it re-loaded all the player graphics. Maybe he only has 512k, but I think
he has 1 meg. The loading was kinda slow IHMO< compared to how my
Space-Ace loads.

>>>  I don't care how many excuses euro-hack programmers can give, it IS
>>>possible to bang on the hardware and save the state of the OS for
>>>restoration. It takes about 30 lines of assembly code to do. Processor
>>>detection is easy. Timing is easy, just steal a CIA register and use
>>>it instead of CPU delay loops. Running the blitter concurrently with a 
>>>timed CPU loop is easy, just use the blitter interupt and run the code in chip
>>>ram. (note, need to detect the A3000's 32bit chip access and supply
>>>a seperate routine)
>>>
>
>I have seen quite a few programs not written by "euro-hack" programmers that
>fail to work on all amigas, too, even when they use the OS.  What you are 
>really getting at is that ANY kind of programming requires good programming 
>practices.  I agree with you.  I would also love to work on a game that
>requires more than 512K, but the MARKET is just not there for them.
>
>I am not a euro-hack programmer.  I am an American programmer.  There are
>lots of American programmers that make games the same way the Europeans do.
>As a matter of fact, if you are aware of how big the Pirate network is for
>the Amiga and have seen how they pirate software, you'd see some of the
>best programming being done for the Amiga.  It is really a shame that some
>pirate is going to make a intro screen for Mike Farren's game that makes
>the game look bad (the intros I've seen are that good).  And to top it off,
>this pirate is going to compress his game down to half its size on disk...
>This is not intended as a slam against Mike, just to illustrate how a
>better approach can make a better product.

  Nah, I know a lot about the pirate seen, and I use to program demos/intros
on the C64. I know a few demo programmers personally. Most of the groups
have their own music composer and artist (who are talented!) which makes
demos look impressive. The programming (most of it bobs and vectors done
with the blitter) isn't hard. WHat is good, is that most demo hackers
spend lots of time devising clever tricks to push the hardware to the
limits. Once one coder finds a trick, the rest of them start using it.
To compress the game there are a multitude of 'time-crunchers' availible
that compress code like powerpacker/imploder.
  Programming demos that take over the OS is ALOT easier than programming
the OS efficiently. When I first got my Amiga, I spent 3 days reading the
Hardware manual, and I programmed an 'intro' That a bouncing/rolling
copper-bar and a bouncing scroller. (Updated 60fps). In comparision,
I still haven't become literate with all the structures and routines in the OS.
Just compare the size of the RKM's to the Hardware manual.

>In my book, CinemaWare started out making some pretty lame games.  But over
>the years, their designs got quite good.  I like Wings (although if I had
>a 68000, I'd want my money back because it is too slow).  I liked It Came
>from the Desert, TV Sports Football, and Sinbad.  These games are all more
>playable than most of the Psygnosis games.  But Psygnosis is now the premier
>original game development company for the Amiga, and CinemaWare is out of
>business.  It makes sense to me to emulate Psygnosis and make KICK ASS
>Amiga games with lots of sizzle.

  No. Psygnosis games LOOK pretty, and are fast, but they aren't playable
and are boring after a few hours. I use psygnosis games (like I use SPace-Ace)
to show off to friends and relatives, but I don't play THem.
  What Mike F was trying to say was not all games need to nuke the OS.
  Games like Ultima, Bards Tale, Bane of Cosmic Forge, and Lemmings
don't need 60 frames per second 100% CPU time and megafast custom disk
routines that may not work on some drives (like my friend's 3.5 AirDrive)

 PowerMonger and Battle Squadron are about the only games That take over
the OS, that I like to play. Games of Adventure and Skill capture my
attention far more than 'blast-anything-that-moves including those
blitter objects that take up half the screen and lots of ram, but look
very pretty'

>--
>*******************************************************
>* Assembler Language separates the men from the boys. *
>*******************************************************

Nah, prolog does. DOes anyone understand iT?


(sorry abouT The random caps, my keyboard is acting funny and 
uppercasing characters at random.)



--
/~\_______________________________________________________________________/~\
|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
|~|                                .-. .-.                                |~|
|_|________________________________| |_| |________________________________|_|

jesup@cbmvax.commodore.com (Randell Jesup) (03/27/91)

In article <mykes.0266@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
>I want to point out that when you take over the machine, and get rid of
>the OS, there are a number of powerful programming tricks that you can use.

	True.  That doesn't mean the program can't load from HD, for example.
However, you don't get _that_ big a benefit from these tricks.  You do get
an extra few % here and there, but not orders of magnitude.  And you give up 
something by doing this: witness your laments about not being able to access
hard drives if you blow the OS away.  It also costs you signifigantly more
programming time (== cost$) over using some parts of the OS, or in using
those tricks.  Someone with a faster processor didn't need for you to use
those tricks in the first place (in fact, they slow you down, since for
example short address modes point to chip ram, not fast ram).

>You are also wrong about the 80 lines of assembly code to restore the system.
>If you want to use the floppy disk, keyboard, and CIA directly, you really hose
>the OS when you try to restore it.  You end up with a LOT of code to restore
>things (like allocating/dealocating resource structures, etc.).

	It's not really that bad if you allocated them in the first place
instead of grabbing them.  For example: trackdisk.  You can ALL YOU WANT to
the hardware so long as you called GetUnit() first.  To undo it, merely
call GiveUnit().  Simple.

>Once you have kicked the OS out, you can't read from hard disks without writing
>drivers for each of the controllers around.  Commodore could have made things
>easy for us hardware programmers by providing low level access routines for
>floppy and hard disk that can be called in ROM without the operating system, but
>they didn't.

	No way.  We support arbitrary disk hardware, though a well-defined
interface that relies on the system being up.  That's why we have successful
3rd-party hardware developers, because we didn't lock it in.

>I am extremely pleased with the floppy disk routines I wrote.  You can see them
>in action in Budokan and the Immortal for the Amiga.  They are extremely fast,
>because they use the blitter in NASTY mode to do the encoding and decoding of
>the MFM.  These routines are an order of magnitude faster than AmigaDos.

	Suprise, the floppy disk routines in 2.0 are also up to twice as
fast as 1.3.  (1.3 didn't use wordsync).  The overhead in the floppy driver
under 2.0 is almost nothing - a tiny fraction of the transfer time.  Suprise -
the CPU is faster at decoding if you want to have a checksum than the blitter
is.  It's also faster if the destination is fast mem.  NASTY mode really
isn't that important - it only gives up cycles if the processor wants to
use them.

>  I
>also detect and use memory above 512K to cache data from the floppy disk.  My
>caching algorithm is hard coded to make sure that the most important sectors
>from disk are guaranteed to be in RAM.  If you play budokan, you will find
>that it only goes to disk ONCE for 90% of the data in the game (a RAM cache
>is faster than Hard disk!).

	Fine.  This has no relation to the "take over the machine" question.
(Though those buffers get filled far faster from HD.)

>I have seen quite a few programs not written by "euro-hack" programmers that
>fail to work on all amigas, too, even when they use the OS.  What you are 
>really getting at is that ANY kind of programming requires good programming 
>practices.  I agree with you.

	Absolutely.

>  I would also love to work on a game that
>requires more than 512K, but the MARKET is just not there for them.

	Some people seem to think there is.  Others think there is a market
that will pay more/be more likely to buy games that make use of extra ram
and/or processor.  Flight simulators (taking advantage of faster processors)
being one example, games that have additional features being another.  Europe
is a different market, such things are a harder sell there (less expanded
machines).  Most machines in the US are not 512K A500's, certainly not when
you multiply ut by the amount of money spent per year on games/software.

>I am not a euro-hack programmer.  I am an American programmer.  There are
>lots of American programmers that make games the same way the Europeans do.

	Too bad (sort of, some of the european stuff is good, a LOT of it
is utter dreck).

>playable than most of the Psygnosis games.  But Psygnosis is now the premier
>original game development company for the Amiga, and CinemaWare is out of
>business.  It makes sense to me to emulate Psygnosis and make KICK ASS
>Amiga games with lots of sizzle.

	I think you read too much into what happened.  Cinemaware over-
extended.  Their sort of software, btw, is far more likely to play well on
a CDTV system (they can make far better use of all that extra space/speed).
Personally, Lemmings is the only Pysgnosis game I've ever found interesting
in the least (and lemmings is from an outside company).

	Realize a lot of why companies like Pygnosis are successful in Europe
is that _there is NO nintendo in Europe_ (effectively).  The A500 (and
to a lesser extent, fading, the C64) IS the nintendo of europe.  Therefore
nintendo-like games are the main order of the day there.  Commodore is
unlikely to ever unseat nintendo/sega/nec in the US, and may not hold it's
position if nintendo/etc ever really try hard in Europe (post-92 if they're
going to).

	Commodore may benefit if there's another videogame bust (ala 83-84)
and consumers/parents/kids turn to computers as they grow up (we may see
the "Eddie won't go to college/get a job/etc if he doesn't have a Commodore
computer" commercials again...)  If we do, the consumers may well be looking 
for games that are more than just high-animation-rate shoot-em-ups.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
Thus spake the Master Ninjei: "To program a million-line operating system
is easy, to change a man's temperament is more difficult."
(From "The Zen of Programming")  ;-)

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/28/91)

In article <23836@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes:
>mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
>
>>In article <23787@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes:
>>>
>>>Updating the screens every 20th of a second can work perfectly
>>>well, if there isn't any really fast movement on the screen (as there
>>>is not in Lemmings).  A minimum time of three VBlanks is just fine.
>>>
>>A minimum time of 3 VBlanks is never fine, it is a bad compromise.
>
>My point is that it is NOT a bad compromise for Lemmings.  For an action
>game, it is.  But then, I acknowledged that.  The article was NOT a
>universal putdown of all game designers - it was a specific putdown
>of the designers of Lemmings, and was designed to show only that with
>a bit of thought, and a bit of effort, you can have your cake and eat it, too.
>
As I said in my last post, some games work fine with the OS, some don't.  A game
like LARN or HACK works fine under the OS, but if I did it my way with my own
OS, it would be better than under the RKM.  You can't change my mind about this.

>>So let's consider one of MY favorite Amiga games, TV Sports Football.
>>It clearly is designed and implemented as you would urge developers to.
>
>You misunderstand.  The game comes first.  In most cases, however, you
>do not have to sacrifice any of the other advantages the Amiga has for
>the sake of the game - and THAT was my point.
>

If the game comes first, there is no reason to put the OS first.

>-- 
>Mike Farren 				     farren@well.sf.ca.us

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) (03/28/91)

In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
   In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
   >  Any sane programmer can make a game that
   >1) is HD installable

   I am bummed that I can't install my Genesis or Nintendo carts on my hard
   disk...

I am bummed that I can't install an emacs on my Genesis or Nintendo...

   >2) not copy protected

   I am bummed that I can't make backup copies of my Genesis or Nintendo
   carts...

I am bummed that I can't get UUCP up on my Genesis or Nintendo.

   >3) saves the state of the OS and restores it when the game is exited

   Gee, there is no OS on a Genesis or Nintendo machine...

Gee, there is an OS on an Amiga.


   The point I am trying to make that games are games and productivity
   software is productivity software.  

The point I am trying to make is that game machines are game machines
and workstations are workstations. The Genesis and Nintendo are game
machines. Shutting them down to run a game is acceptable; that's all
they do. The Amiga is a workstation. Shutting it down means saving the
state of and haltingany running servers, ditto for any ongoing
computations, disabling UUCP dialins, and the like. Shutting it down
to play a game isn't acceptable.

   The Amiga operating system is not a high performance video game operating
   system.  BOBs are slower than what I use.  Intuition takes 30% of the CPU
   time when you just move the mouse around

You've said this a number of times. I'm curious - why are you letting
intuition see mouse moves when your game is running?

   *******************************************************
   * Assembler Language separates the men from the boys. *
   *******************************************************

Yeah - the men realize that choosing the right tool for the job makes
them more productive; the boys don't realize that doing everything in
assembler does little more than make them overworked.

	<mike


--
Il brilgue: les toves lubricilleux			Mike Meyer
Se gyrent en vrillant dans le guave,			mwm@pa.dec.com
Enmimes sont les gougebosqueux,				decwrl!mwm
Et le momerade horsgrave.

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/28/91)

In article <NV89-NUN.91Mar26143125@alv.nada.kth.se> nv89-nun@alv.nada.kth.se (Nicklas Ungman) writes:
>In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
>
>   >  Any sane programmer can make a game that
>   >1) is HD installable
>
>   I am bummed that I can't install my Genesis or Nintendo carts on my hard disk...
>
>   >2) not copy protected
>
>   I am bummed that I can't make backup copies of my Genesis or Nintendo carts...
>
>   >3) saves the state of the OS and restores it when the game is exited
>
>   Gee, there is no OS on a Genesis or Nintendo machine...
>
>   >4) works on any hardware configuration
>
>   The point I am trying to make that games are games and productivity
>   software is productivity software.  
>
>
>I don't see any reason to make a program (game or not) non HD installable.
>In fact I see it as lazyness or stupidity to not do it. The reason of
>having a hard disk is to be able to access all your programs from it,
>instead of having several hundreds of floppy disks all over your place,
>which can result in a great mess of floppy disks.
>
So you can modem it to your friends?

>I also don't see the difference between productivity software and games
>when it comes to copy protection, hd installment, OS frendliness and
>USER frendliness etc. The program that are not friendly to it's
>environment is insulting it. Someone who's insulting doesn't get any
>respect. So, if we want people to respect games (as entertainment) we
>must stop to insult our environment.
>

It is the other way around... THe OS is insulting to games.  It is not
designed to support high speed games.  It relies upon programs doing 
system friendly things like yielding the CPU to other programs.  Games
often require performance.  Also, the OS code (1.3) is years old.  THe
OS code written as part of a game is NEW and often does things that
most people wouldn't even think was possible.

>In fact, the magazine MacUser is deleting one mouse from their ratings of
>games if the games are copy-protected. Manual lookup protection included. 
>
>I thought the Amiga was a computer with the power of a game machine
>instead of just another game machine. Maybe I'm wrong.
>

The Amiga is a game machine with the power of a computer.  At least two
coin-op companies built coin-op machines with the Amiga 500 as the guts.
You can't say this about other computers.  Video game hardware platforms
are much more powerful than Computers because they are designed with
performance oriented software in mind.

>
>
>   >--
>   >/~\_______________________________________________________________________/~\
>   >|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
>   >|~|                                .-. .-.                                |~|
>   >|_|________________________________| |_| |________________________________|_|
>
>   --
>   *******************************************************
>   * Assembler Language separates the men from the boys. *
>   *******************************************************
>
>
>
>
>/Nixxon
>
>(Only masochists program in assembler only :-)

Someone sold you a lie.

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

mykes@sega0.SF-Bay.ORG (Mike Schwartz) (03/28/91)

In article <1991Mar26.205540.18279@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>In article <mykes.0266@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
>>In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:
>>>>  Well, I don't care much for multitasking while playing a game, but there
>>>>is NO excuse for not making a version of a game that can be HD installable.
>>>>There is NO excuse for not working on 68010,68020,68030, etc. There is
>>>>NO excuse for not working when a user has extra ram, or a different
>>>>system configuration (e.g. Amiga 3000).
>>>>  There is only ONE excuse for making a game trash the current state of
>>>>the system, and that is if you want to make it run for 512k ram A500's and
>>>>need the extra 80k or so. 
>>>>
>>>>  Any sane programmer can make a game that
>>>>1) is HD installable
>>>>2) not copy protected
>>>>3) saves the state of the OS and restores it when the game is exited
>>>>4) works on any hardware configuration
>>>>
>>
>>I want to point out that when you take over the machine, and get rid of
>>the OS, there are a number of powerful programming tricks that you can use.
>>For example, the 68000 provides an addressing mode called "ABSOLUTE SHORT"
>>which normally you can't use on the Amiga.  I rely heavily on this addressing
>>mode by putting all my variables and jump tables in low memory, which frees up
>>a register (normally the A4 register is used to provide a short addressing mode).
>>I also use the 68000 in supervisor mode all the time, which frees up the USP
>>register for a fast place to save an address register.
>
>  Shaving cycles like this isn't really needed except in critical routines
>like line-drawing, disk loaders and image-mapping, etc. Kill the OS for an
>extra register and the ability to use 'zero-page'. (Sorry, I'm just used to it,
>I programmed 6502 on the C64 for almost 7 years) Just disable the OS and
>copy the page zero stuff elsewhere.
>

There is no place to copy it on a 512K machine and still be able to restore
to the OS.

>>You are also wrong about the 80 lines of assembly code to restore the system.
>>If you want to use the floppy disk, keyboard, and CIA directly, you really hose
>>the OS when you try to restore it.  You end up with a LOT of code to restore
>>things (like allocating/dealocating resource structures, etc.).
>>
>>Once you have kicked the OS out, you can't read from hard disks without writing
>>drivers for each of the controllers around.  Commodore could have made things
>>easy for us hardware programmers by providing low level access routines for
>>floppy and hard disk that can be called in ROM without the operating system, but
>>they didn't.  I'd like to see your 80 lines of code, and with your permission,
>>I would gladly use it in my next product, and you will be happy.
>
>  Welp, you're talking about totally kicking out the OS and claiming
>all memory your own. A lot of games don't do that (here in the US)>
>It's possible for a "partIal" takeover and leave DOS functioning.
>Look at games like 'Test Drive II','Technocop','Dragon's Lair II' and
>the old CinemaWare games.
>

Look at how slow those games performed.  When you use 80% of the machine you
have to go to disk 20% more often.

>>I am extremely pleased with the floppy disk routines I wrote.  You can see them
>>in action in Budokan and the Immortal for the Amiga.  They are extremely fast,
>>because they use the blitter in NASTY mode to do the encoding and decoding of
>>the MFM.  These routines are an order of magnitude faster than AmigaDos.  I
>>also detect and use memory above 512K to cache data from the floppy disk.  My
>>caching algorithm is hard coded to make sure that the most important sectors
>>from disk are guaranteed to be in RAM.  If you play budokan, you will find
>>that it only goes to disk ONCE for 90% of the data in the game (a RAM cache
>>is faster than Hard disk!).
>
>  Hmm, I played it over my friends house (Budokan). Perhaps he has a pirated
>copy or something? All I know is that EVERYTIME I got beat in a fighT
>it re-loaded all the player graphics. Maybe he only has 512k, but I think
>he has 1 meg. The loading was kinda slow IHMO< compared to how my
>Space-Ace loads.
>

He doesn't have 1Meg.

>>>>  I don't care how many excuses euro-hack programmers can give, it IS
>>>>possible to bang on the hardware and save the state of the OS for
>>>>restoration. It takes about 30 lines of assembly code to do. Processor
>>>>detection is easy. Timing is easy, just steal a CIA register and use
>>>>it instead of CPU delay loops. Running the blitter concurrently with a 
>>>>timed CPU loop is easy, just use the blitter interupt and run the code in chip
>>>>ram. (note, need to detect the A3000's 32bit chip access and supply
>>>>a seperate routine)
>>>>
>>
>>I have seen quite a few programs not written by "euro-hack" programmers that
>>fail to work on all amigas, too, even when they use the OS.  What you are 
>>really getting at is that ANY kind of programming requires good programming 
>>practices.  I agree with you.  I would also love to work on a game that
>>requires more than 512K, but the MARKET is just not there for them.
>>
>>I am not a euro-hack programmer.  I am an American programmer.  There are
>>lots of American programmers that make games the same way the Europeans do.
>>As a matter of fact, if you are aware of how big the Pirate network is for
>>the Amiga and have seen how they pirate software, you'd see some of the
>>best programming being done for the Amiga.  It is really a shame that some
>>pirate is going to make a intro screen for Mike Farren's game that makes
>>the game look bad (the intros I've seen are that good).  And to top it off,
>>this pirate is going to compress his game down to half its size on disk...
>>This is not intended as a slam against Mike, just to illustrate how a
>>better approach can make a better product.
>
>  Nah, I know a lot about the pirate seen, and I use to program demos/intros
>on the C64. I know a few demo programmers personally. Most of the groups
>have their own music composer and artist (who are talented!) which makes
>demos look impressive. The programming (most of it bobs and vectors done
>with the blitter) isn't hard. WHat is good, is that most demo hackers
>spend lots of time devising clever tricks to push the hardware to the
>limits. Once one coder finds a trick, the rest of them start using it.
>To compress the game there are a multitude of 'time-crunchers' availible
>that compress code like powerpacker/imploder.
>  Programming demos that take over the OS is ALOT easier than programming
>the OS efficiently. When I first got my Amiga, I spent 3 days reading the
>Hardware manual, and I programmed an 'intro' That a bouncing/rolling
>copper-bar and a bouncing scroller. (Updated 60fps). In comparision,
>I still haven't become literate with all the structures and routines in the OS.
>Just compare the size of the RKM's to the Hardware manual.
>

Read my new .signature.

>>In my book, CinemaWare started out making some pretty lame games.  But over
>>the years, their designs got quite good.  I like Wings (although if I had
>>a 68000, I'd want my money back because it is too slow).  I liked It Came
>>from the Desert, TV Sports Football, and Sinbad.  These games are all more
>>playable than most of the Psygnosis games.  But Psygnosis is now the premier
>>original game development company for the Amiga, and CinemaWare is out of
>>business.  It makes sense to me to emulate Psygnosis and make KICK ASS
>>Amiga games with lots of sizzle.
>
>  No. Psygnosis games LOOK pretty, and are fast, but they aren't playable
>and are boring after a few hours. I use psygnosis games (like I use SPace-Ace)
>to show off to friends and relatives, but I don't play THem.

Cinemaware is out of business, Psygnosis is not.  What I like about Psygnosis
games is that they push the Amiga to its limits and the games are designed
for the Amiga instead of being a PC or Mac port.  The techniques they use
are excellent (which is why you want to show it off).  Now, if you took
Cinemaware's game designs and implemented them like Psygnosis does, you
would have the best of everything.  Game design and how it is implemented
are two distinct issues.  I also must point out that Psygnosis is a European
company, and they use PAL there.  The developers don't care about the US
market because we are a bunch of idiots (we buy PC's instead of amigas :).
PAL makes a huge difference in the way the games play, since they run
at 50Hz instead of 60Hz.  They must be a bit easier to play on PAL machines.

>  What Mike F was trying to say was not all games need to nuke the OS.
>  Games like Ultima, Bards Tale, Bane of Cosmic Forge, and Lemmings
>don't need 60 frames per second 100% CPU time and megafast custom disk
>routines that may not work on some drives (like my friend's 3.5 AirDrive)
>

I didn't say ALL games need to nuke the OS, just that you shouldn't have
to program in a phonebooth to get around taking over.  You shouldn't be
discouraged from doing it if you want to.  Let the game come first.  If
you can take over the machine and make your game better, DO IT.  If you
don't want to take over, don't.  Just MAKE UP YOUR OWN MIND.  Don't let
an abnoxious loud minority overinfluence you.

> PowerMonger and Battle Squadron are about the only games That take over
>the OS, that I like to play. Games of Adventure and Skill capture my
>attention far more than 'blast-anything-that-moves including those
>blitter objects that take up half the screen and lots of ram, but look
>very pretty'
>

You don't need an Amiga to play those kind of games.  If you get a PC,
you can get 256 color graphics.  Go for it.

>>--
>>*******************************************************
>>* Assembler Language separates the men from the boys. *
>>*******************************************************
>
>Nah, prolog does. DOes anyone understand iT?
>
>
>(sorry abouT The random caps, my keyboard is acting funny and 
>uppercasing characters at random.)
>
>
>
>--
>/~\_______________________________________________________________________/~\
>|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
>|~|                                .-. .-.                                |~|
>|_|________________________________| |_| |________________________________|_|

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) (03/29/91)

In article <MWM.91Mar27123712@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
>   In article <1991Mar25.050519.29068@mintaka.lcs.mit.edu> rjc@geech.gnu.ai.mit.edu (Ray Cromwell) writes:

>The point I am trying to make is that game machines are game machines
>and workstations are workstations. The Genesis and Nintendo are game
>machines. Shutting them down to run a game is acceptable; that's all
>they do. The Amiga is a workstation. Shutting it down means saving the
>state of and haltingany running servers, ditto for any ongoing
>computations, disabling UUCP dialins, and the like. Shutting it down
>to play a game isn't acceptable.
>

The Amiga 500 is not a workstation.  It is a game machine just like the
Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
floppies in and reboot.

>   The Amiga operating system is not a high performance video game operating
>   system.  BOBs are slower than what I use.  Intuition takes 30% of the CPU
>   time when you just move the mouse around
>
>You've said this a number of times. I'm curious - why are you letting
>intuition see mouse moves when your game is running?
>

Intuition never runs when my game is running.  Neither does the rest of the
OS (thank GOD).  The example I give is just one of a zillion gotchas that
the OS has for you.

>   *******************************************************
>   * Assembler Language separates the men from the boys. *
>   *******************************************************
>
>Yeah - the men realize that choosing the right tool for the job makes
>them more productive; the boys don't realize that doing everything in
>assembler does little more than make them overworked.
>

'C' is hardly ever the right tool for games.  I use it a lot when I use
my Amiga as a workstation, but if it weren't for the fact that I have
a 68030, the performance would suck.  

Jim Goodnow used 'C' to write his assembler (as), and HiSoft used
Assembler language.  AS is > 50K and is a slow pig.  Devpac is 27K on
disk and is blindingly fast.  Which is the right tool?  I don't care
how hard YOU think it is for HiSoft to maintain the source to their
assembler, but ME the consumer cares how it performs.  Genim2 is the
ONLY assembler on the market that performs as it is documented, and it
has NO bugs.  I have bought every other assembler and they all are
deficient and larger.

>	<mike
>
>
>--
>Il brilgue: les toves lubricilleux			Mike Meyer
>Se gyrent en vrillant dans le guave,			mwm@pa.dec.com
>Enmimes sont les gougebosqueux,				decwrl!mwm
>Et le momerade horsgrave.

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

es1@cunixb.cc.columbia.edu (Ethan Solomita) (03/29/91)

In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>
>The Amiga 500 is not a workstation.  It is a game machine just like the
>Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
>floppies in and reboot.
>
	That is the same line of reasoning that the Mac owners
use when they call the Amiga a game machine. They say how many
Amigas are just playing games. In Britain, 90% of the Amigas sold
were A500s. So by your argument we can generalize the whole Amiga
as a game machine.
	Just because people USE it as a game machine doesn't mean
it is. There are people who own XTs and ATs and simply play games
on them. Does that make the PC a game machine? I DON'T THINK SO!
8-)
	Besides, there are a lot of expansion possibilities for
expanding the A500. In fact, it is ALMOST as expandable as the
2000, so is the 2000 a game machine?
	Sorry for the tirade, but when I hear Amiga owners using
the same logic that other computer owners use against us, it
bothers me.
	-- Ethan

Q: How many Comp Sci majors does it take to change a lightbulb
A: None. It's a hardware problem.

mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) (03/30/91)

In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
   >The point I am trying to make is that game machines are game machines
   >and workstations are workstations. The Genesis and Nintendo are game
   >machines. Shutting them down to run a game is acceptable; that's all
   >they do. The Amiga is a workstation. Shutting it down means saving the
   >state of and haltingany running servers, ditto for any ongoing
   >computations, disabling UUCP dialins, and the like. Shutting it down
   >to play a game isn't acceptable.
   >

   The Amiga 500 is not a workstation.  It is a game machine just like the
   Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
   floppies in and reboot.

The Nintendo and Genesis allow expansion to things like hard drives,
TOY clocks, and more memory? Available software includes UUCP, image
processing, accounting, spreadsheets, and compilers? They come with
keyboards?

Sorry, the Amiga 500 is as much a workstation as the Amiga 2000. The
only difference between the two is that extra 512K and the built-in
expandability on the 2000. I know people who develop productivity
software on A500s with two floppy drives. It's a workstation.

   >   The Amiga operating system is not a high performance video game
   >   operating system.  BOBs are slower than what I use.  Intuition takes
   >   30% of the CPU time when you just move the mouse around
   >
   >You've said this a number of times. I'm curious - why are you letting
   >intuition see mouse moves when your game is running?
   >
   Intuition never runs when my game is running.  Neither does the rest of the
   OS (thank GOD).  The example I give is just one of a zillion gotchas that
   the OS has for you.

Sounds like Mike Farren's charge of laziness may be correct.

   >   *******************************************************
   >   * Assembler Language separates the men from the boys. *
   >   *******************************************************
   >
   >Yeah - the men realize that choosing the right tool for the job makes
   >them more productive; the boys don't realize that doing everything in
   >assembler does little more than make them overworked.
   >

   'C' is hardly ever the right tool for games.  I use it a lot when I use
   my Amiga as a workstation, but if it weren't for the fact that I have
   a 68030, the performance would suck.  

C is hardly ever the right tool for anything. It's just blasted
popular.

   Jim Goodnow used 'C' to write his assembler (as), and HiSoft used
   Assembler language.  AS is > 50K and is a slow pig.  Devpac is 27K on
   disk and is blindingly fast.  Which is the right tool?

Devpac is clearly the right tool for you to us. If I remember
correctly, AS was designed as a back end for his C compiler, so
speed/size were probably swamped by the front end, and just aren't
important for his purpose. Time spent developing and supporting it
are. Do you happen to have those figures for the two projects? If JG
spent less time on AS than was spent on Devpac, then he probably made
the right choice. This, of course, has nothing to do with whether C or
assembler is a better choice for either purpose; to many other
variables involved. The same applies to the examples I know of where
switching to an HLL led to smaller, faster code.

Further afield, I once did an assembler as a class assignment.  Speed,
size and maintainability don't matter at all - just development time.
I wrote it in Snogol (snobol with my custom algoloid extensions
added); it was 300 lines of code and 2 days of work. The best straight
HLL implementation was five times the length, and five times the time.
That my version was huge but blindingly fast compared to the algol
versions was immaterial - I won by a factor of 5 on the only important
criteria.

   I don't care how hard YOU think it is for HiSoft to maintain the source
   to their assembler, but ME the consumer cares how it performs.  

All reasonable. And you the consumer should also care whether they
stay in business, and how quickly they put out updates. Both of these
are affected by maintainability. Of course, how maintainable I think
the code is doesn't change either of those things; how maintainable it
actually is is what's important.

   Genim2 is the ONLY assembler on the market that performs as it is
   documented, and it has NO bugs.  I have bought every other assembler
   and they all are deficient and larger.

This probably has more to do with the skill of the programmers and Q/A
people than the language choice.

The speed/maintainability issue _isn't_ one of "C is slow and
maintainable; asm is fast and a nightmare". I can write maintainable
assembler as well as HLL. I can trade away maintainability to create
those tightly-crafted, basically unchangeable jewels in either
flavor.

   ********************************************************
   * Appendix A of the Amiga Hardware Manual tells you    *
   * everything you need to know to take full advantage   *
   * of the power of the Amiga.  And it is only 10 pages! *
   ********************************************************

Gee, they managed to put complete documentation on the spiffy Amiga
microkernel in 10 pages, and still had room for the custom hardware?
That's pretty good!

	<mike
--
ICUROK2C, ICUROK2.					Mike Meyer
ICUROK2C, ICWR2.					mwm@pa.dec.com
URAQT, I WANT U2.					decwrl!mwm
OO2EZ, I WANT U2.

nj@magnolia.Berkeley.EDU (Narciso Jaramillo) (03/30/91)

rjc@geech.gnu.ai.mit.edu said:

> >Games of Adventure and Skill capture my
> >attention far more than 'blast-anything-that-moves including those
> >blitter objects that take up half the screen and lots of ram, but look
> >very pretty'

mykes@sega0.SF-Bay.ORG replied:

> You don't need an Amiga to play those kind of games.  

No.  On the other hand, I already have an Amiga.

Let's take a little trip into a fantasy world.  Suppose you're a games
player at heart.  You just bought this wonderful A500 because it can
play a whole bunch of spectacular games.  Suppose further that all
these games multitasked wonderfully and were completely OS-friendly.

Now you've had this machine for awhile, and one day you realize that
this thing is a computer, so it can do things like word processing.
There are a whole bunch of word processors out there that are
amazingly fast, with incredibly swift font rendering, instantaneous
spell-checking, artificially intelligent word completion, etc.
Unfortunately, they all take over the machine in order to gain their
incredible speed.  You'd like to switch back to playing games while
the word processor is printing something out, but you're SOL.

You bitch at the word processor companies about it, but they all say,
``You don't need an Amiga to do word processing.  Buy an IBM PC; it
doesn't have a multitasking OS, so it's faster.''  So you get pissed
and start buying word processors that don't have so many whizzy
features but still get the job done.

The analogy is flawed, of course, but here's my point: There are lots
of people who bought Amigas because they were game machines.  On the
other hand, there are lots of people who bought Amigas because they
could be both game machines and productivity machines.  If you have a
game that *a priori* can only be targeted to the first set of people
because it *absolutely requires* you to take over the machine, fine.
However, if you have a game that does not absolutely require you to
take over the machine, and it does anyway, you're pissing off the
second group unnecessarily.

That was the point of the Lemmings posts.  You *should* work hard to
make it OS-friendly, because you're programming an Amiga.  Only when
it's absolutely impossible to avoid taking over the machine should you
do so.  The latter should be reserved for games that need to be whizzy
in order to be playable.  Those of us who like less whizzy but very
playable games shouldn't be left out in the cold.



nj

cs450a03@uc780.umd.edu (03/30/91)

ckp@greybn.com (no name that I can see) writes:
>The Amiga 500 is a game machine.  This has nothing watever to do with
>the machine's technical capabilties, or what some minority of users does
>with it.  It is a game machine because of the mentality of the typical
>user (remember that no one reading this message is a typical Amiga
>user), because of Commodore's stillborn marketing efforts (at Christmas,
>Commodore itself was comparing the A500 to the Nintendo), and only at
>the last because of the original design goals.

Meta-spam: Any time you see a statement of the form "A is B" it's a
           good idea to watch out for looney-tunes.  Here we have the
           wonderful concept that "Ami500 is game because mind of
           typical user and any examples aren't typical."

Spam-spam: Hey, howcum this guy can read minds and I can't???

--------

Look, whether or not something is a workstation ought to at least
include a definition of what a workstation is.  If "workstation" has
only PR meaning to you, well... so?  Some people use workstations to
work.

Raul Rockwell

elg@elgamy.RAIDERNET.COM (Eric Lee Green) (03/30/91)

From article <mykes.0440@amiga0.SF-Bay.ORG>, by mykes@amiga0.SF-Bay.ORG (Mike Schwartz):
> Jim Goodnow used 'C' to write his assembler (as), and HiSoft used
> Assembler language.  AS is > 50K and is a slow pig.  Devpac is 27K on
> disk and is blindingly fast.  Which is the right tool?  I don't care

AGH! This is getting ridiculous! Matt Dillon wrote DASM in plain old "C",
and it's the fastest 6502/6800 assembler that I've ever seen, anywhere --
because he chose good algorithms. AS6502 (the ancestor of Jim Goodnow's
"as") was written in "C" also, but took EIGHT MINUTES to assemble a file
that took 15 SECONDS with Matt's assembler.

Matt Dillon also wrote an "as" in "C" for his DCC "C" compiler. Jez San and
others compared HiSoft, Jez San's assembler (also pure assembler, and
faster than Devpac), Devpac, MetaCompost, and (urgh, what's Wes Howe's
assembler? Also written in assembly language). Matt's assembler, written in
"C", was about as fast as Devpac, faster than Wes Howe's assembler (written
in assembly language), slower than Jez San's assembler (written in assembly
language). And much MUCH faster than the PD 68000 assemblers or
MetaBombCo's assembler.

Matt got that speed because he chose good algorithms, and because he wrote
a good "C" library in which the parts that need to be assembler for speed,
ARE in assembler (unlike with Lattice etc.). Matt says "Sure, I could have
wrote it in assembler and gotten another 10% or so, but I'd still be
working on it today." Or, more likely, wouldn't be working on it at all,
because he just plain wouldn't have had time to do it (Matt's a busy boy...
he be doing RTU's at the moment).

--
Eric Lee Green   (318) 984-1820  P.O. Box 92191  Lafayette, LA 70509
elg@elgamy.RAIDERNET.COM               uunet!mjbtn!raider!elgamy!elg

ckp@grebyn.com (Checkpoint Technologies) (03/30/91)

In article <MWM.91Mar29122810@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>   >The point I am trying to make is that game machines are game machines
>   >and workstations are workstations. The Genesis and Nintendo are game
>   >machines. Shutting them down to run a game is acceptable; that's all
>   >they do. The Amiga is a workstation. Shutting it down means saving the
>   >state of and haltingany running servers, ditto for any ongoing
>   >computations, disabling UUCP dialins, and the like. Shutting it down
>   >to play a game isn't acceptable.
>   >
>
>   The Amiga 500 is not a workstation.  It is a game machine just like the
>   Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
>   floppies in and reboot.
>
>Sorry, the Amiga 500 is as much a workstation as the Amiga 2000. The
>only difference between the two is that extra 512K and the built-in
>expandability on the 2000. I know people who develop productivity
>software on A500s with two floppy drives. It's a workstation.

The Amiga 500 is a game machine.  This has nothing watever to do with
the machine's technical capabilties, or what some minority of users does
with it.  It is a game machine because of the mentality of the typical
user (remember that no one reading this message is a typical Amiga
user), because of Commodore's stillborn marketing efforts (at Christmas,
Commodore itself was comparing the A500 to the Nintendo), and only at
the last because of the original design goals.

I too saw the original Amiga 1000 as a poor man's workstation, only
the market did not pan out.  So now, while I'll grant the A2000 is a
video platform, the A500 is just a game console with a disk drive and a
keyboard.  And nothing more.
-- 
First comes the logo: C H E C K P O I N T  T E C H N O L O G I E S      / /  
                                                ckp@grebyn.com      \\ / /    
Then, the disclaimer:  All expressed opinions are, indeed, opinions. \  / o
Now for the witty part:    I'm pink, therefore, I'm spam!             \/

espie@flamingo.Stanford.EDU (Marc Espie) (03/30/91)

In article <1991Mar29.230632.7066@grebyn.com> ckp@grebyn.com (Checkpoint Technologies) writes:
>In article <MWM.91Mar29122810@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>>In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
[discussion: is the amiga a game machine ? mostly deleted]
>
>The Amiga 500 is a game machine.  This has nothing watever to do with
>the machine's technical capabilties, or what some minority of users does
>with it.  It is a game machine because of the mentality of the typical
>user (remember that no one reading this message is a typical Amiga
>user), because of Commodore's stillborn marketing efforts (at Christmas,
>Commodore itself was comparing the A500 to the Nintendo), and only at
>the last because of the original design goals.
>
>I too saw the original Amiga 1000 as a poor man's workstation, only
>the market did not pan out.  So now, while I'll grant the A2000 is a
>video platform, the A500 is just a game console with a disk drive and a
>keyboard.  And nothing more.
>-- 
Uh, there are average users around who start with a 500 as a game machine,
then discover programming, and get more and more involved with the machine.
If you give them some multitasking games, they love it.
Also, don't forget that *around the world* there are places where an
amiga 500 is affordable for a CS student, and not a 2000.
I personnally know ``average users'' (some of them REALLY average)
who don't have access to usenet (nor to any network for that matter) 
who gradually learn how to use their amigas for get more power, 
or get interested in programming games. The day they discover multitasking
is a revelation.

To these people, a multitasking game is a much better example than a
very fast arcade game. The situation being what it is, they first start
writing games accessing the hardware because it is EASIER. The hardware
manual is less expensive than the RKM, shunting the OS does not require
a degree in CS and there are so many more examples available for them.

BTW, my current address is in the US, but I'm french in fact. This
description matches very closely a group of friends, most of them interested
in programming but none has a high level instruction.
During the past two years, at least two out of five have acquired a harddisk
and a memory extension. Quid for the game machine with keyboard and disk drive ?
--
	Marc Espie (espie@flamingo.stanford.edu)

bairds@eecs.cs.pdx.edu (Shawn L. Baird) (03/30/91)

ckp@grebyn.com (Checkpoint Technologies) writes:

>In article <MWM.91Mar29122810@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>>In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:

>The Amiga 500 is a game machine.  This has nothing watever to do with
>the machine's technical capabilties, or what some minority of users does
>with it.  It is a game machine because of the mentality of the typical
>user (remember that no one reading this message is a typical Amiga
>user), because of Commodore's stillborn marketing efforts (at Christmas,
>Commodore itself was comparing the A500 to the Nintendo), and only at
>the last because of the original design goals.

The Amiga 500 is not a "game machine". It is, however, quite effective
at doing so, just like the rest of the members of the Amiga family. It
doesn't matter what 90% or even 100% of A500 owners do with the machine.
My machine serves as a terminal, a platform for programming, a platform
for productivity and a platform for game playing. I think you'll find
that a lot of the people who own Amigas were attracted by its game
playing ability, but that is neither here nor there. Game players don't
need the expandibility of an Amiga 2000 and hence have no reason to
purchase one. I would much rather have an expandable 2000 or 3000 but my
budget doesn't allow for one. My Amiga 500 has proven much more
expandable than I thought it would be thanks to several third party
hardware developers who see A500 owners now realizing the advantages of
expandibility. For example, the GVP Series II A500+ HD (in my opinion,
the one and only hard drive worth purchasing for the A500 if you want
the most bang for your buck), the ATonce card, the Hurricane accelerator
boards, the Bodega Bay, etc. I don't think these companies would be
expending their precious resources on developing these sorts of
peripherals for the Amiga if there wasn't at least a moderate market for
it.

>I too saw the original Amiga 1000 as a poor man's workstation, only
>the market did not pan out.  So now, while I'll grant the A2000 is a
>video platform, the A500 is just a game console with a disk drive and a
>keyboard.  And nothing more.

Funny, my A500 has two disk drives, a 40 Mb Quantum SCSI, 3 Mb of RAM,
a 2400 baud modem and a 24 pin printer. I'm kind of shocked that more of
my "games" don't use the printer though.

>-- 
>First comes the logo: C H E C K P O I N T  T E C H N O L O G I E S      / /  
>                                                ckp@grebyn.com      \\ / /    
>Then, the disclaimer:  All expressed opinions are, indeed, opinions. \  / o
>Now for the witty part:    I'm pink, therefore, I'm spam!             \/
---
 Shawn L. Baird, bairds@eecs.ee.pdx.edu, Wraith on DikuMUD
 The above message is not licensed by AT&T, or at least, not yet.

greg@ccwf.cc.utexas.edu (Greg Harp) (03/30/91)

In article <1991Mar29.230632.7066@grebyn.com> ckp@grebyn.com (Checkpoint Technologies)
  writes:
>The Amiga 500 is a game machine.  This has nothing watever to do with
>the machine's technical capabilties, or what some minority of users does
>with it.  It is a game machine because of the mentality of the typical
>user (remember that no one reading this message is a typical Amiga
>user), because of Commodore's stillborn marketing efforts (at Christmas,
>Commodore itself was comparing the A500 to the Nintendo), and only at
>the last because of the original design goals.

Correct.  Commodore _was_ comparing the 500 to the NES, but they were saying 
that the 500 was _more_ than a game machine.  The whole idea of the ad was
that your kid can play a game on the NES and learn nothing or you can buy 
your kid an Amiga and he/she will actually _learn_ something. 

Also, I don't see a C= address in your sig.  Did you leave after defining the
design goals of the A500? ;-)

>I too saw the original Amiga 1000 as a poor man's workstation, only
>the market did not pan out.  So now, while I'll grant the A2000 is a
>video platform, the A500 is just a game console with a disk drive and a
>keyboard.  And nothing more.

Well, my 500 will be running UUCP (and possibly a BBS) beginning this summer.
That means no OS-stealing, non-multitasking games will be run on it.  That's
fine by me because I won't be buying any of those programming failures
anyway...

I know of quite a few A2000s with one or two floppies and one meg of RAM.  I
wouldn't mind seeing stats on how many A2000 owners actually own hard drives.

I think that some people (especially game designers) seem to have made too
many assumptions about what computer would be used for what purpose.  Isn't 
the Amiga line supposed to be a bit more universal than that?  I seem to 
remember something like that.  _MY_ RKM doesn't say anything about the fact
that developers that are targeting the A500 market should do anything 
different from any of the rest.

An A500 is no less capable of doing work than an A2000, except for the 
obvious lack of a video slot and the IBM slots.  (PC emulation and CPU 
expansion are both available.)  In my case, I didn't need either of the
lacked features and I couldn't afford the A2000.  I knew I would pay more
later due to the more difficult expansion but I knew also that spreading 
out the money spent was the only way I could do it.  That's just like 
using a credit card or getting a loan/mortgage.

-- 
       Greg Harp       |"How I wish, how I wish you were here.  We're just two
                       |lost souls swimming in a fishbowl, year after year,
greg@ccwf.cc.utexas.edu|running over the same ground.  What have we found?
  s609@cs.utexas.edu   |The same old fears.  Wish you were here." - Pink Floyd

es1@cunixb.cc.columbia.edu (Ethan Solomita) (03/30/91)

In article <1991Mar29.230632.7066@grebyn.com> ckp@grebyn.com (Checkpoint Technologies) writes:
>>software on A500s with two floppy drives. It's a workstation.
>
>The Amiga 500 is a game machine.  This has nothing watever to do with
>the machine's technical capabilties, or what some minority of users does
>with it.  It is a game machine because of the mentality of the typical
>user (remember that no one reading this message is a typical Amiga
>user), because of Commodore's stillborn marketing efforts (at Christmas,
>Commodore itself was comparing the A500 to the Nintendo), and only at
>the last because of the original design goals.
>
>I too saw the original Amiga 1000 as a poor man's workstation, only
>the market did not pan out.  So now, while I'll grant the A2000 is a
>video platform, the A500 is just a game console with a disk drive and a
>keyboard.  And nothing more.

	So if I buy an Amiga 500, add Bodega Bay, get a 68030
accelerator, 9MB RAM, a 1 Gig drive, an Optical Drive, the ICD
FlickerFixer and 2MB Chip Ram addon, HAM-E/DCTV/ColorBurst/etc.
and an external genlock, as well as lots of good software, oh
yes, and don't forget the X-Windows and Ethernet board. After all
this, is the A500 still a game-machine?
	If you label the machine based on the people that own it
you simply justify the arguments of all the people who say the
Amiga is a game-machine because 90% of Amigas are used as game
machines.

>-- 
>First comes the logo: C H E C K P O I N T  T E C H N O L O G I E S      / /  
>                                                ckp@grebyn.com      \\ / /    
>Then, the disclaimer:  All expressed opinions are, indeed, opinions. \  / o
>Now for the witty part:    I'm pink, therefore, I'm spam!             \/


	-- Ethan

Q: How many Comp Sci majors does it take to change a lightbulb
A: None. It's a hardware problem.

bairds@eecs.cs.pdx.edu (Shawn L. Baird) (03/30/91)

espie@flamingo.Stanford.EDU (Marc Espie) writes:

>In article <1991Mar29.230632.7066@grebyn.com> ckp@grebyn.com (Checkpoint Technologies) writes:

[ ... first discusses some valid points about A500 marketing ... ]

>To these people, a multitasking game is a much better example than a
>very fast arcade game. The situation being what it is, they first start
>writing games accessing the hardware because it is EASIER. The hardware
>manual is less expensive than the RKM, shunting the OS does not require
>a degree in CS and there are so many more examples available for them.

Here I have to disagree with you. It is easier to use the OS than to go
around fooling with the hardware. Now, it may be easier to achieve certain
effects through the hardware, mostly because you can probably due it
faster. However, I would say that the majority of low level hardware
programming is much more difficult in the sense that you have to develop
low level routines and then still develop high level routines. Personally,
I'm confused about just trying to turn a drive motor on and step the disk
out to track 0, which will be the subject of one of my next posts. There
are, however, definite reasons to know about the hardware, just as there
are reasons to have an intimate knowledge of the OS.

Now, admittedly, this may be different for European programmers, or
hardware junkies. Being a CS major, I've always been oriented towards
doing things as orderly as possible and the hardware is a mess. Or rather,
it is in the sense that things don't always come straight out, like the
fact that most of the disk port lines are active low. I'm sure there are
people who were born 68000 assembly gurus and who know the exact timing
of every address form of every instruction, but alas I'm not one of them.

>BTW, my current address is in the US, but I'm french in fact. This
>description matches very closely a group of friends, most of them interested
>in programming but none has a high level instruction.
>During the past two years, at least two out of five have acquired a harddisk
>and a memory extension. Quid for the game machine with keyboard and disk
>drive ?
>--
>	Marc Espie (espie@flamingo.stanford.edu)
---
 Shawn L. Baird, bairds@eecs.ee.pdx.edu, Wraith on DikuMUD
 The above message is not licensed by AT&T, or at least, not yet.

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) (03/30/91)

In article <NJ.91Mar29120243@magnolia.Berkeley.EDU> nj@magnolia.Berkeley.EDU (Narciso Jaramillo) writes:
>rjc@geech.gnu.ai.mit.edu said:
>
>> >Games of Adventure and Skill capture my
>> >attention far more than 'blast-anything-that-moves including those
>> >blitter objects that take up half the screen and lots of ram, but look
>> >very pretty'
>
>mykes@sega0.SF-Bay.ORG replied:
>
>> You don't need an Amiga to play those kind of games.  
>
>No.  On the other hand, I already have an Amiga.
>
>The analogy is flawed, of course, but here's my point: There are lots
>of people who bought Amigas because they were game machines.  On the
>other hand, there are lots of people who bought Amigas because they
>could be both game machines and productivity machines.  If you have a
>game that *a priori* can only be targeted to the first set of people
>because it *absolutely requires* you to take over the machine, fine.
>However, if you have a game that does not absolutely require you to
>take over the machine, and it does anyway, you're pissing off the
>second group unnecessarily.
>

The point I am making is that the first group is by far the majority
of sales, and the second is a puny total.  I don't make Amiga 2000
games, I make Amiga 500 games.  I don't make 1Meg games, I make
512K games.  Despite the fact that I am certainly geared toward the
A500, I am curteous enough to support the rest of the Amiga family.

Now, if there was a market for Amiga 3000 games, it sure would be
fun.  I would love to use the OS and make things more friendly because
I knew I had more horsepower/RAM/Hard disk.  When you can EXPECT these
things, they influence the design.  Sales/marketing data shows that
software that works well on the A500 get 38% higher sales.

>That was the point of the Lemmings posts.  You *should* work hard to
>make it OS-friendly, because you're programming an Amiga.  Only when
>it's absolutely impossible to avoid taking over the machine should you
>do so.  The latter should be reserved for games that need to be whizzy
>in order to be playable.  Those of us who like less whizzy but very
>playable games shouldn't be left out in the cold.
>

I'm sorry, but what I saw in the Lemmings posts was appalling.  More
than once it was suggested that various features of the game/design
be removed for the sake of OS friendliness.  You are going to get
less for the same money and less than what the Amiga is capable of
using that approach.  I just don't like to settle for less.

I am not in TOTAL disagreement with those who want OS friendly games.
I do think that a few classes of games can support the OS just fine.
I am talking about games like LARN or HACK.  If you want something like
these games, get Mike Farren to do them.  If you want something like
TV Sports Football but with 3 or 4 times the frame rate/responsiveness,
ask me to do it.

Did you ever see Microsoft's flight simulator for the C64?  It had
a frame rate of 2 frames/sec.  Did you ever see Wings on the Amiga 500?
It has a frame rate of 2 frames/sec also.  Wings did not have more 
processing to do than flight simulator did... What a shame!  I am merely
an advocate of the Amiga outperforming the C64.  I constantly point to
SOTB because it does outperform the C64.  If all games were done with
this approach, the state of games on the Amiga would be better off.

>
>
>nj

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) (03/30/91)

In article <1991Mar30.012529.7807@neon.Stanford.EDU> espie@flamingo.Stanford.EDU (Marc Espie) writes:
>Uh, there are average users around who start with a 500 as a game machine,
>then discover programming, and get more and more involved with the machine.
>If you give them some multitasking games, they love it.
>Also, don't forget that *around the world* there are places where an
>amiga 500 is affordable for a CS student, and not a 2000.
>I personnally know ``average users'' (some of them REALLY average)
>who don't have access to usenet (nor to any network for that matter) 
>who gradually learn how to use their amigas for get more power, 
>or get interested in programming games. The day they discover multitasking
>is a revelation.
>

Most Amiga owners are *NOT* programmers, nor do they want to be.  The Amiga
is popular MOSTLY among game players, followed by desktop video users.

>To these people, a multitasking game is a much better example than a
>very fast arcade game. The situation being what it is, they first start
>writing games accessing the hardware because it is EASIER. The hardware
>manual is less expensive than the RKM, shunting the OS does not require
>a degree in CS and there are so many more examples available for them.
>

I disagree that it is easier.  If it were easier, more people would do
it.

>BTW, my current address is in the US, but I'm french in fact. This
>description matches very closely a group of friends, most of them interested
>in programming but none has a high level instruction.
>During the past two years, at least two out of five have acquired a harddisk
>and a memory extension. Quid for the game machine with keyboard and disk drive ?
>--
>	Marc Espie (espie@flamingo.stanford.edu)

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) (03/30/91)

In article <29MAR91.20331910@uc780.umd.edu> cs450a03@uc780.umd.edu writes:
>ckp@greybn.com (no name that I can see) writes:
>>The Amiga 500 is a game machine.  This has nothing watever to do with
>>the machine's technical capabilties, or what some minority of users does
>>with it.  It is a game machine because of the mentality of the typical
>>user (remember that no one reading this message is a typical Amiga
>>user), because of Commodore's stillborn marketing efforts (at Christmas,
>>Commodore itself was comparing the A500 to the Nintendo), and only at
>>the last because of the original design goals.
>
>Meta-spam: Any time you see a statement of the form "A is B" it's a
>           good idea to watch out for looney-tunes.  Here we have the
>           wonderful concept that "Ami500 is game because mind of
>           typical user and any examples aren't typical."
>
>Spam-spam: Hey, howcum this guy can read minds and I can't???
>
>--------
>
>Look, whether or not something is a workstation ought to at least
>include a definition of what a workstation is.  If "workstation" has
>only PR meaning to you, well... so?  Some people use workstations to
>work.
>
>Raul Rockwell

This is a *dangerous* thread to start.  It seems to me that if it
boots from a floppy, it isn't much of a workstation.  If there isn't
any productivity software (word processors, spreadsheets, draw programs),
etc., that you can easily run on the machine, you can't do much work on
it.  Try fitting a word processor, the OS, fonts, and all the rest of the
things you need on a floppy.  Yep, that's work.

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) (03/31/91)

In article <46443@ut-emx.uucp> greg@ccwf.cc.utexas.edu (Greg Harp) writes:
>In article <1991Mar29.230632.7066@grebyn.com> ckp@grebyn.com (Checkpoint Technologies)
>  writes:
>>The Amiga 500 is a game machine.  This has nothing watever to do with
>>the machine's technical capabilties, or what some minority of users does
>>with it.  It is a game machine because of the mentality of the typical
>>user (remember that no one reading this message is a typical Amiga
>>user), because of Commodore's stillborn marketing efforts (at Christmas,
>>Commodore itself was comparing the A500 to the Nintendo), and only at
>>the last because of the original design goals.
>
>Correct.  Commodore _was_ comparing the 500 to the NES, but they were saying 
>that the 500 was _more_ than a game machine.  The whole idea of the ad was
>that your kid can play a game on the NES and learn nothing or you can buy 
>your kid an Amiga and he/she will actually _learn_ something. 
>

The NES sold 5x the number of machines as Commodore did in a shorter amount
of time.

>Also, I don't see a C= address in your sig.  Did you leave after defining the
>design goals of the A500? ;-)
>

Commodore is clearly marketing the Amiga to TWO audiences.  One audience
they are having success with is game players with the A500.  The other
are the Unix/hacker/desktopvideo types, which they are doing so so.  The
A500 will eventually be the machine that the C64 used to be (a huge player
in the games market and a big seller).

>>I too saw the original Amiga 1000 as a poor man's workstation, only
>>the market did not pan out.  So now, while I'll grant the A2000 is a
>>video platform, the A500 is just a game console with a disk drive and a
>>keyboard.  And nothing more.
>
>Well, my 500 will be running UUCP (and possibly a BBS) beginning this summer.
>That means no OS-stealing, non-multitasking games will be run on it.  That's
>fine by me because I won't be buying any of those programming failures
>anyway...
>

Good for you.  The C64 can probably do it too (assuming someone wrote the
UUCP software for it).  And I bet your machine gurus often enough anyway
that you won't want to touch it when you don't want it to crash.  Try the 
following experiment:  Run DPaint, then Run Crystal Quest.  Do they multitask?
I dare you to pop a floppy out of the drive while the light is on.

>I know of quite a few A2000s with one or two floppies and one meg of RAM.  I
>wouldn't mind seeing stats on how many A2000 owners actually own hard drives.
>

I worked out the numbers.  It translates to at most 3,000 sales for a _HIT_
game.  A _HIT_ game can do as many as 97,000 units on machines without RAM/HD
expansion.  This is based upon installed base and a 5% market penetration.
There is NO excuse for software to not function on any configuration of
the Amiga.  PERIOD.

>I think that some people (especially game designers) seem to have made too
>many assumptions about what computer would be used for what purpose.  Isn't 
>the Amiga line supposed to be a bit more universal than that?  I seem to 
>remember something like that.  _MY_ RKM doesn't say anything about the fact
>that developers that are targeting the A500 market should do anything 
>different from any of the rest.

The C64 programmer's reference guide didn't suggest that you take over that
machine either.  The Epyx fast load cartridge was a major success because
it did what people wanted and did what the C64's OS didn't do well.  One of
the RKM manuals tells you everything we game programmers do and how to do
it.  They don't say to use the system, nor do they say not to.  They just
tell you what to do in either case.

>
>An A500 is no less capable of doing work than an A2000, except for the 
>obvious lack of a video slot and the IBM slots.  (PC emulation and CPU 
>expansion are both available.)  In my case, I didn't need either of the
>lacked features and I couldn't afford the A2000.  I knew I would pay more
>later due to the more difficult expansion but I knew also that spreading 
>out the money spent was the only way I could do it.  That's just like 
>using a credit card or getting a loan/mortgage.
>

A STOCK Amiga 2000 has twice the memory and can do more work.  Did you look
into an educational discount program?

Why don't you save up your money for a second A500 so you can play games
on it while you multitask on your other one.  Or better yet, save up for
a 2000 and expand it.  You won't regret it.

>-- 
>       Greg Harp       |"How I wish, how I wish you were here.  We're just two
>                       |lost souls swimming in a fishbowl, year after year,
>greg@ccwf.cc.utexas.edu|running over the same ground.  What have we found?
>  s609@cs.utexas.edu   |The same old fears.  Wish you were here." - Pink Floyd

Wish you were here, too :)

--
********************************************************
* Appendix A of the Amiga Hardware Manual tells you    *
* everything you need to know to take full advantage   *
* of the power of the Amiga.  And it is only 10 pages! *
********************************************************

jms@vanth.UUCP (Jim Shaffer) (03/31/91)

In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>
>The Amiga 500 is not a workstation.  It is a game machine just like the
>Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
>floppies in and reboot.

Even if the 500 were a game machine (which it isn't; see below), that means
you'd have to produce two versions of your game:  one for the 500 where you
can be unfriendly, and one for the "real" computers where you can't.

Now, about that "game machine" remark...  If it were a game machine, it
wouldn't have disk drives.  Writable ones anyway.  But probably none at
all.  Game machines run games from ROM.  It's a hell of a lot faster.


--
*  From the disk of:  | jms@vanth.uucp		     | "You know I never knew
Jim Shaffer, Jr.      | amix.commodore.com!vanth!jms | that it could be so
37 Brook Street       | uunet!cbmvax!amix!vanth!jms  | strange..."
Montgomery, PA 17752  | 72750.2335@compuserve.com    |		     (R.E.M.)

dillon@overload.Berkeley.CA.US (Matthew Dillon) (03/31/91)

In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>In article <MWM.91Mar27123712@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>>In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
...
>>
>>Yeah - the men realize that choosing the right tool for the job makes
>>them more productive; the boys don't realize that doing everything in
>>assembler does little more than make them overworked.
>>
>
>'C' is hardly ever the right tool for games.  I use it a lot when I use
>my Amiga as a workstation, but if it weren't for the fact that I have
>a 68030, the performance would suck.
>
>Jim Goodnow used 'C' to write his assembler (as), and HiSoft used
>Assembler language.  AS is > 50K and is a slow pig.  Devpac is 27K on
>disk and is blindingly fast.  Which is the right tool?  I don't care
>how hard YOU think it is for HiSoft to maintain the source to their
>assembler, but ME the consumer cares how it performs.	Genim2 is the
>ONLY assembler on the market that performs as it is documented, and it
>has NO bugs.  I have bought every other assembler and they all are
>deficient and larger.

    This is amusing, because you are making a blanket statement about
    two similar products written in different languages.  You are assuming
    that C, generally, is a sludgepile compared to assembly.

    Well, I am happy to say that you are dead wrong!  The primary difference
    in speed between Manx AS and DevPak is NOT that one is written in C and
    the other is written in assembly, but in the ALGORITHMS used... things
    like symbol table searching and such.

    It is true that hand optimized assembly is faster, but not that much
    faster than a program written in C by the same programmer (the keyword).
    Obviously, a C program will only run as well as the programmer
    programs, same goes with assembly.

    DAS, the assembler in DICE, while it doesn't implement a few things
    like INCLUDE and macros, is on-par with DevPak and only half as fast as
    ArgAsm in all other comparisons (ArgAsm is blindingly fast not only
    because it written in assembly, but also written by an expert
    programmer).  So here you have DAS in C and DevPak in assembly and,
    lo!, they are the same speed!  And, gee, it took me a week to write
    DAS, I wonder how long it took them to write DevPak?  ArgAsm took
    several months to write in assembly, I believe.  That's a good return
    on my investment, I think.

    Even so, much of the difference between ArgAsm and DAS can be
    attributed to the fact that ArgAsm is a one-pass assembler while DAS
    is a two-pass.  So in terms of efficiency ArgAsm, written by an
    expert programmer, is only a little more efficient than DAS.  If I
    were to rewrite DAS as a one-pass assembler it would be comparable.

    Now you get to the nitty gritty... how can ArgAsm get away with being a
    one pass assembler?  It makes various assumptions, requires XREF's to
    occur before usage, and makes additional assumptions for branches. DAS
    is a two pass assembler because it does major branch size optimizations
    and Bcc-to-Bra optimizations more suited to the assembly output of the
    compiler.  Actually, internally, DICE is a 5 pass assembler but only
    two of the passes do major computation.

    So, don't make blanket statements about C and assembly please.

					-Matt

--

    Matthew Dillon	    dillon@Overload.Berkeley.CA.US
    891 Regal Rd.	    uunet.uu.net!overload!dillon
    Berkeley, Ca. 94708
    USA

bairds@eecs.cs.pdx.edu (Shawn L. Baird) (03/31/91)

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:

>This is a *dangerous* thread to start.  It seems to me that if it
>boots from a floppy, it isn't much of a workstation.  If there isn't
>any productivity software (word processors, spreadsheets, draw programs),
>etc., that you can easily run on the machine, you can't do much work on
>it.  Try fitting a word processor, the OS, fonts, and all the rest of the
>things you need on a floppy.  Yep, that's work.

On a stock A500, yes. Although stock A500's are very common and probably
a better bet for marketing game titles, my A500, and I'm sure many others
run higher level productivity software. An A500 is not an inexpandable
game console. Although more difficult to expand than an A2000, it expands
readily enough. I believe I even saw an ad recently for a "Flicker Fixer"
type hardware device for the A500. My machine can hold just as much
memory as someones A2000. :P My hard drive is probably just as fast (I
haven't seen any comparisons between the GVP Series II A500+ and the
A2000 models). Give me a Bodega Bay and an ATonce card (not to mention
a Hurricane board) and I'll be humming along at a nice clip. ;) Anyways,
just wanted to point out that a lot of people treat the A500 like dirt
around here. I'm damned glad I have my A500 and, at this point, don't
even mind not having an A2000 (Assuming, of course, that after I get my
Hurricane board I'll be able to get an Amiga UNIX package from C= ;)

---
 Shawn L. Baird, bairds@eecs.ee.pdx.edu, Wraith on DikuMUD
 The above message is not licensed by AT&T, or at least, not yet.

limonce@pilot.njin.net (Tom Limoncelli +1 201 408 5389) (03/31/91)

Can we all agree to keep "use the OS"/"kill the OS" and "go to the
chips"/"call the OS" arguments in .advocacy?  I don't think this fits
in .programmer.

In article <mykes.0440@amiga0.SF-Bay.ORG>, by mykes@amiga0.SF-Bay.ORG (Mike Schwartz):
> Jim Goodnow used 'C' to write his assembler (as), and HiSoft used
> Assembler language.  AS is > 50K and is a slow pig.  Devpac is 27K on
> disk and is blindingly fast.  Which is the right tool?  I don't care

A bubble sort written in assembler is still a bubble sort.

greg@ccwf.cc.utexas.edu (Greg Harp) (03/31/91)

In article <mykes.0804@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) 
  writes:
>In article <46443@ut-emx.uucp> greg@ccwf.cc.utexas.edu (Greg Harp) writes:
>>Correct.  Commodore _was_ comparing the 500 to the NES, but they were saying 
>>that the 500 was _more_ than a game machine.  The whole idea of the ad was
>>that your kid can play a game on the NES and learn nothing or you can buy 
>>your kid an Amiga and he/she will actually _learn_ something. 
>
>The NES sold 5x the number of machines as Commodore did in a shorter amount
>of time.

And?  The NES is cheap and it plays halfway decent games.  It doesn't do 
anything else.  The two machines aren't aimed for the same market (regardless
of what you have been saying on the subject).

BTW, have you heard that Nintendo has hired Sting to do the add for their 
new BASIC cartridge?  Something about "Sending out a NES OS." ;-) (pun stolen
from my roommate, Logan Shaw)

>Commodore is clearly marketing the Amiga to TWO audiences.  One audience
>they are having success with is game players with the A500.  The other
>are the Unix/hacker/desktopvideo types, which they are doing so so.  The
>A500 will eventually be the machine that the C64 used to be (a huge player
>in the games market and a big seller).

The only totally game-oriented Amiga advertising I have seen came from 
Europe.  I have yet to see an ad placed in any US media that touted the A500
as a game machine.  The closest they have come was the educational games 
(like "Where in the Hell is Carmen Sandiego" (: ) and one quick shot of
F/A-18 (I believe -- it has been a while since I saw that one).

What the European-based ads have done has made some immediate money for them,
but it has only damaged the fate of the machine.  It has hurt the attempt to
shake the game-machine image of the entire line that has existed since the 
Vic-20.

Commodore has been advertising the A500 as an educational tool -- and, oh yeah,
it plays nice games too.

>>Well, my 500 will be running UUCP (and possibly a BBS) beginning this summer.
>>That means no OS-stealing, non-multitasking games will be run on it.  That's
>>fine by me because I won't be buying any of those programming failures
>>anyway...
>
>Good for you.  The C64 can probably do it too (assuming someone wrote the
>UUCP software for it).  And I bet your machine gurus often enough anyway
>that you won't want to touch it when you don't want it to crash.  Try the 
>following experiment:  Run DPaint, then Run Crystal Quest.  Do they multitask?
>I dare you to pop a floppy out of the drive while the light is on.

Funny.  The OS seems solid enough.  (Under contract I can't tell you what 
version it is, though.)  Nope.  No crashes from any of the solid software I
run.  I have found a couple bugs in some things, but nothing that I expected
to work perfectly (or, in fact, depend on anyway).  Mainly, the OS-unfriendly
software causes Gurus when it _can_ be run with the OS intact.

>>I know of quite a few A2000s with one or two floppies and one meg of RAM.  I
>>wouldn't mind seeing stats on how many A2000 owners actually own hard drives.
>
>I worked out the numbers.  It translates to at most 3,000 sales for a _HIT_
>game.  A _HIT_ game can do as many as 97,000 units on machines without RAM/HD
>expansion.  This is based upon installed base and a 5% market penetration.
>There is NO excuse for software to not function on any configuration of
>the Amiga.  PERIOD.

I agree with you about that last statement.  However, your compatibility-
testing method is unacceptable to me.  You make the assumption that if your
program runs on all versions the OS you can currently access and on all the
machines you can currently access that it is compatible.

Keep some of that software around and see how much still works a few OS
revisions and machines down the road.  I _seriously_ doubt it will.  Many
users won't buy something that they can't take with them when they upgrade,
also.  Hurt your customers once and they might not give you a second chance.

>The C64 programmer's reference guide didn't suggest that you take over that
>machine either.  The Epyx fast load cartridge was a major success because
>it did what people wanted and did what the C64's OS didn't do well.  One of
>the RKM manuals tells you everything we game programmers do and how to do
>it.  They don't say to use the system, nor do they say not to.  They just
>tell you what to do in either case.

Your example of the Epyx cartridge is not parallel to your OS-stealing 
games.  The Fast Load cartridge did what the C64's OS didn't, correct.
However, it still worked with most of the software.  It could have 
worked with more (if not all) if they had worked a bit harder.

BTW, not looking for the list of what you can and cannot do to the OS (by
simply looking in "Appendix A of the Hardware Reference Manual") does not
mean that such a list does not exist.  The other RKM's provide lots of
example code and things that _are_ OS legal.  You can at least gather what
info you need to write code that will work on all future machines and OSes.
To not do so is to shorten the life of your software.

There are OS-legal ways to hack the hardware.  Too many people just simply
do not pay enough attention to learn them.

>>An A500 is no less capable of doing work than an A2000, except for the 
>>obvious lack of a video slot and the IBM slots.  (PC emulation and CPU 
>>expansion are both available.)  In my case, I didn't need either of the
>>lacked features and I couldn't afford the A2000.  I knew I would pay more
>>later due to the more difficult expansion but I knew also that spreading 
>>out the money spent was the only way I could do it.  That's just like 
>>using a credit card or getting a loan/mortgage.
>
>A STOCK Amiga 2000 has twice the memory and can do more work.  Did you look
>into an educational discount program?

I don't know about you, but I've owned my Amiga since long before the 
educational discount program commenced.  In the summer of '89 my roommate
bought an A2000 with two floppies, one meg, and a 1084 for $1000 more than
what I bought my A500/512K/1084/1010 for (I believe it was 1987, but I don't 
remember exactly).

>Why don't you save up your money for a second A500 so you can play games
>on it while you multitask on your other one.  Or better yet, save up for
>a 2000 and expand it.  You won't regret it.

Actually, I already have an A3000 (or maybe a 'T') planned for part of my
summer funds, so an A500 or A2000 isn't necessary.  At that time I will 
probably sell the A500, since I don't need another machine to take up space,
and I usually only play games while downloading or other _multitasking_
work anyway.  I can live without those non-multitasking games...

[Re:  Taking a cut at my sig...]
>********************************************************
>* Appendix A of the Amiga Hardware Manual tells you    *
>* everything you need to know to take full advantage   *
>* of the power of the Amiga.  And it is only 10 pages! *
>********************************************************

Smiley or no, _you_ have no business attacking my .sig with an outrageous one
such as yours.  

Greg
-- 
       Greg Harp       |"How I wish, how I wish you were here.  We're just two
                       |lost souls swimming in a fishbowl, year after year,
greg@ccwf.cc.utexas.edu|running over the same ground.  What have we found?
  s609@cs.utexas.edu   |The same old fears.  Wish you were here." - Pink Floyd

farren@well.sf.ca.us (Mike Farren) (04/01/91)

ckp@grebyn.com (Checkpoint Technologies) writes:

>I too saw the original Amiga 1000 as a poor man's workstation, only
>the market did not pan out.  So now, while I'll grant the A2000 is a
>video platform, the A500 is just a game console with a disk drive and a
>keyboard.  And nothing more.

Jeez - I'll have to tell that to the many folks I know who are actually 
doing development on an A500.  They'll be so disappointed - even though
they know that an A3000 would be better, they seemed pretty happy with
what they have.

hell, I might have to tell that to myself - my financial situation may well
demand that I sell my loaded 2000 system in favor of a much cheaper 500
system.  I'm real sorry to know that I can't do anything but play games
on it - it'll make posting to Usenet *real* hard.

All this "typical user" crap is exactly that - crap.  The typical MS-DOS
user is a competent professional, using the machine for professional tasks.
Does that mean that an IBM PC is a great computer?
-- 
Mike Farren 				     farren@well.sf.ca.us

sschaem@starnet.uucp (Stephan Schaem) (04/01/91)

This is getting out of hand!So let me state my personal view.
I offer here a way to everybody to make me shutup and I'm sure people
wont resist it:-)
But persoanl attack on what I do without seing my work is pretty low!
I meet Mike Swarthz not a long time ago and we agrea on 100%, he has
seen some of my work and frankly only him on the net can give a true
value of what I do (good or bad).
Rob Peck also visit me 2 year ago to see my work on 4096 hires display.
And I'm not stoping anybody:-)

I will explain my view clearly, numbered and detailed.So if somebody
dont agrea or have more to say it will be clear to follow and we wont
get into a big mess.


1)MULTITASKING

Some game wont allow you to be multitasking because of the resource they
need.The most dificult part is making a custom display fit in the
intuition screen enviroment.
The OS do not offer enought speed to handle the VP coper list, and the
OS do not offer routine to handle special display mode like RAW display
or diferent bitplane display.
This is mostly a speed issue.
Then come the memory issue.Sometime you need special memory access.
Like BANKS to keep 16bit pointer address.That require a special version
of the allocmem routine to offer obsolute alocation.
16 bit pointers are not alway PCL or STRL (PC Labels or Sructure
Labels).
And very often you will find your bank already used by the OS (or
aplication)
and (gladly) the amiga OS dont offer what the MAC offer even if it
would be nice in that case.
Sharing the blittter is posible, copper is possible... Almost everything
is possible by cutting resource for the game.
But that require ALOT of work and in the final round will not pay,
because
competition can offer a better game by not doing so.

So this is mainly a time, speed, memory problem.Development time mean
money
invested, and incentive for that require sales to cover the cost.
And from the curent market that doesn't apear true.

But maybe other things keep compagnie not to do so? like lazyness or
lack
of knowledge? I think that people offer what the majority of the
customer
want, otherwise it would change.


2)OS KILLING

Not a necesity for every cases for ANY product.Has long has you have
the memory to keep a copy of both in memory you can alway return to
the OS.(But is not valid for some system, like server or other of
course!)
So a game loading from your HD by clicking on a WB icon, and returning
to the WB when ever you want is more then possible.

The problem is mainly piracy (piracy traduce with loose of money).
And including lookup is something that not many will agrea on.
Also will need 2 programing style because of 512k users that cannot keep
both in memory at once.
But that involve a return to the OS each time you need OS resource, like
HD access... So a game can also boot from a HD but not also use it at
all
time.


3)HD SUPPORT

Possible in every case.(even if its not at all time)
And again piracy is the key to this one.
My point will be: why is overdrive curently running from my HD and
return
to the OS and not the comercial version? I thought people couldnt figure
better than lazyness since doing so involve floppy programing.
And dont forget the 80K people are talking about, does it include your
mounted drive with buffers?!
So 1meg will be needed to run 512K games...


4)MACHINE SUPPORT

The only point that a programer can be accused of.(that's what start me
to
reply to Mike Farren).
If a game dont work on ANY amiga its because of lack of knowledge of the
other CPU and lack of programing knoledge.Or strick OS rules folowing.
It doesn't involve development time.



5)MYSELF :-)


I do both :system programing and hardware programing.
NONE of my program involve reboot, or dont offer A500 to A3000 support.
My aplication work on V1.0 has on V2.0 and from what people tell me are
complex tools (if you consider programe like DPIII complex.:-)

I will be more than glad to show to ANYONE my work in both area.
If badge people rey show on 4096 HIRES images in multytasking (on
a A1000 with a 25MHZ lucas board) ported from standart 24bit IRIS images
I will be glad to show them all the tools, library, editor,
duplication software we developed for OVERDRIVE.
And also OVERDRIVE starting and returing to the OS gracefully.
And also talk about the 400 functions of our amiga library.


Also from some request: Musician name Frederic Bouquerel (FRED)
			GFX	      Sort Ty
			PRG	      Alex Wilky

Fred sell his work to software developers, and to music for his group
and campagnie Exponantia.
Sort Ty participate in 'Wild Street' and 'Fire and Forget II'
Alex Wilky , Nitendo reversed engeniring, and custom MAC software.
Myself, the lastest is 'Dark Century'. (I do not recomand ANY of the 3 
stated game!)

We are not proude of the port we done, and thats why we quit doing 3
month
PC port and started our own compagnie doing AMIGA ONLY games.

We fellomfortable with MOTOROLA macro assembly and really find a
incredible pleasure with it, unlike C where its more of a job.
People of both worls now what I mean.Especially with macro assembler.
For the other check condional assembly, constant definition, structure
definition, function call etc....
I took advanced C and advenced 680x0 classes in college and kept ASM
even if my early amiga work was done in C...
And if you have a good algorithm a C implementation will alway be slower
and bigger than an optimized ASM one.(even if its not by mutch).


						Stephan.

sschaem@starnet.uucp (Stephan Schaem) (04/01/91)

 If people say the amiga is not a game machine because of HD, the c64
 is not also...
 The amiga is what it is, and people use it the way they like.
 if 80% use the A500 (number out of the hat:-) for game people will
 write games in function of the 80%...

 An amiga can be MAC, and also can be a GENESIS like...
 You choose... I have AMAXII, and games on my A3000.

								Stephan.

jms@vanth.UUCP (Jim Shaffer) (04/01/91)

In article <mykes.0792@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>
>This is a *dangerous* thread to start.  It seems to me that if it
>boots from a floppy, it isn't much of a workstation.  If there isn't
>any productivity software (word processors, spreadsheets, draw programs),
>etc., that you can easily run on the machine, you can't do much work on
>it.  Try fitting a word processor, the OS, fonts, and all the rest of the
>things you need on a floppy.  Yep, that's work.

This is the second time you've said something that makes no sense at all to
me!  First, the 2000 boots from a floppy also.	What's that?  You say you
can put a hard drive in a 2000?  Well, you can put one on (or recently,
even in) a 500 too.  But neither of them ships with one.

Second, you might not be able to set up much of a productivity environment
on one floppy, but how about two floppies?  I've done it.  If you strip
down your Workbench and implode your application, you just might be able to
fit it on one (assuming you're willing to swap disks to load and save
projects.)  But the OS supports up the three floppies on the external drive
connector (it's just that the !#$@% power supply doesn't!)

--
*  From the disk of:  | jms@vanth.uucp		     | "You know I never knew
Jim Shaffer, Jr.      | amix.commodore.com!vanth!jms | that it could be so
37 Brook Street       | uunet!cbmvax!amix!vanth!jms  | strange..."
Montgomery, PA 17752  | 72750.2335@compuserve.com    |		     (R.E.M.)

sschaem@starnet.uucp (Stephan Schaem) (04/01/91)

 Just a quick reply to CBM marketing.Distributor offer alot of A500 game
 package, with couple of hit games and joystick...

 And if you go to store in europe, you will see how they sell the A500
 and in what environment... If they wanted to be seen has a profesional
 use machine its not the best way to do it...

							Stephan.

sschaem@starnet.uucp (Stephan Schaem) (04/01/91)

 If you have done alot of PC port Mike, you will know that PC's are
 used alot to develop on the amiga.
 PC with novel and manx for C/asm.than a quick download to an A500...

 That's something I'm against (since you might not see what I want to
 say), but programing on a bare bone A500 is not to good...
 So you get 1 meg to compile and have CED still open, and have an HD
 to have the includes... that look pretty mutch like a A2000 pretty
 quick!!

						stephan.

peter@sugar.hackercorp.com (Peter da Silva) (04/01/91)

In article <mykes.0250@sega0.SF-Bay.ORG> mykes@sega0.SF-Bay.ORG (Mike Schwartz) writes:
> I am bummed that I can't make backup copies of my Genesis or Nintendo carts...

Nintendo cartridges don't wear out.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

peter@sugar.hackercorp.com (Peter da Silva) (04/01/91)

In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
> The Amiga 500 is not a workstation.

It's got more capability than my Amiga 1000, and that sure qualifies.

> 'C' is hardly ever the right tool for games.  I use it a lot when I use
> my Amiga as a workstation, but if it weren't for the fact that I have
> a 68030, the performance would suck.  

I bought the Amiga because I wanted a machine I didn't have to code in assembly
just to do ordinary O/S stuff. I've written a trivial amount of assembly on
this machine, and I'm GLAD! This machine doesn't require you to grovel around
in machine dependent code just to get your work done.

> Jim Goodnow used 'C' to write his assembler (as), and HiSoft used
> Assembler language.  AS is > 50K and is a slow pig.  Devpac is 27K on
> disk and is blindingly fast.  Which is the right tool?

An assembler is hardly a hot program. On the plus side, "as" has the same
user interface as the UNIX assembler, and fits nicely into my makefiles. How
does DevPack work?

> I don't care
> how hard YOU think it is for HiSoft to maintain the source to their
> assembler, but ME the consumer cares how it performs.

Once you get past the point when you compile stuff as fast as you can type
the command, who cares how fast it is? I care more about how often I'm going
to get updates.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

peter@sugar.hackercorp.com (Peter da Silva) (04/01/91)

Well, you figure out how to stick a cartridge port on the 500 and it'll sell as
well as the Nintendo. One of the biggest selling points for the Nintendo here
in town are all the cartridges for rent in the video stores.

Plus, you could use ALL the RAM in the 500!

(of course, this gets us to the Amiga 500 CDTV)
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

jdickson@jato.jpl.nasa.gov (Jeff Dickson) (04/02/91)

In article <1991Mar29.230632.7066@grebyn.com> ckp@grebyn.com (Checkpoint Technologies) writes:
>In article <MWM.91Mar29122810@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
>>In article <mykes.0440@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>>   >The point I am trying to make is that game machines are game machines
>>   >and workstations are workstations. The Genesis and Nintendo are game
>>   >machines. Shutting them down to run a game is acceptable; that's all
>>   >they do. The Amiga is a workstation. Shutting it down means saving the
>>   >state of and haltingany running servers, ditto for any ongoing
>>   >computations, disabling UUCP dialins, and the like. Shutting it down
>>   >to play a game isn't acceptable.
>>   >
>>
>>   The Amiga 500 is not a workstation.  It is a game machine just like the
>>   Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
>>   floppies in and reboot.
>>
>>Sorry, the Amiga 500 is as much a workstation as the Amiga 2000. The
>>only difference between the two is that extra 512K and the built-in
>>expandability on the 2000. I know people who develop productivity
>>software on A500s with two floppy drives. It's a workstation.
>
>The Amiga 500 is a game machine.

	Look. Get this clear and then stop squabbling over this sh*t. The
Amiga 500 is what you make of it. IF YOU CHOOSE to play games on it, then
with respect to you it is a game machine. Otherwise, it is a workstation.
I don't own one, I have an A2000, but just because the A500 has a smaller
footprint and cost less - doesn't mean it can't run any of the software my 
A2000 can.

>Commodore itself was comparing the A500 to the Nintendo), and only at

	That was a mistake. I think CBM is doing a fine job furthering the
Amiga, but I am sorry the Amiga was not marketed under a seperate cover.
CBM has fostered a disreputable reputation of turning out game machines.
Few in the business world will take them seriously. Hell, I wouldn't have
given them a second look if it weren't for the Amiga! 

	The business world seems to draw the conclusion that if a computer
does not cost an arm and a leg, it must be a "game" machine. That's too
bad and oh my is that short sighted. I have experience programming on SUN,
DEC VAX, and Sperry UNIVAC systems. Back in 1986 I chose to go with the Amiga,
because it was the only system that came closer to them and I could afford it. 
>                                                ckp@grebyn.com      \\ / /    

				-Jeff

Rest assured the comments herein are my own.

sschaem@starnet.uucp (Stephan Schaem) (04/02/91)

 Nintendo dont wear out.Disk do but check the specs...
 Also if you change cardrige with the power on, it's similar to ejecting
 during write...
 People should check if the product is garanty if you cant make a back
 (and even if you can make a backup...).

sschaem@starnet.uucp (Stephan Schaem) (04/02/91)

 If do have large file to compile and cant use a linker, cant make
 function library etc.. You like it to be fast and powerfull.
 I tought the solution was precompiled file and macfile, put still
 strugling to get one to work corectly...

 Check Macro68 and tell me if you rate this has a simple software.
 Anyway, people know what tools fit them best.And the programers
 working in ASM all came to Devpac for various reason.
 And Still looking for better tools.
 And Devpac, dont need update because its bug FREE.And I know I can rely
 100% on it, and that also what people are looking for.

gilmore@vms.macc.wisc.edu (Neil Gilmore) (04/02/91)

In article <1991Apr1.215317.21521@starnet.uucp>, sschaem@starnet.uucp (Stephan Schaem) writes...

> And Devpac, dont need update because its bug FREE.And I know I can rely
> 100% on it, and that also what people are looking for.

The last time I heard anyone proclaim a piece of software bug free, it 
crashed really bad the first time someone other than the author used 
it...

But should that be the point of updates? Or might it be that the product 
as originally written is being used in a manner slightly different from 
its intention, making it necessary to change it somewhat in order to 
make it more usable for the customer?

+-----------------------------------------------------------------------+
| Kitakaze Tatsu Raito	Neil Gilmore     internet:gilmore@macc.wisc.edu | 
| Jararvellir,          MACC, UW-Madison bitnet: gilmore@wiscmac3       |  
| Middle Kingdom        Madison, Wi      DoD #00000064 (no ints here)   |
+-----------------------------------------------------------------------+   

sschaem@starnet.uucp (Stephan Schaem) (04/02/91)

 Has anydoby used devpac to talk about it the waysome do?
 When I say bug free, I say bug free!
 I compiled enought stuff using all the function the assembler offer
 to know What I say... or should I say 99.9% to please everybody that
 dont use the product:-)
 The only problem I have Genim2 or Macro68V2.123 is that my path are
 lost, my assign... I use 2.0 assign. (I dont blame it on any of those
 product!, they simply cause it and dont know what actually cause it..)
 And I'm sure its not the product themself!

 But I will be glad to hear any serious bug report on Genim2! (I'm not
 talking about monam2 or genam2!, I only use genim2...).

 And if people think I learned that from the walls... I used genim2
 for 2 years now, (my friends also).Use it to compile everything...
 Maybe it dont pick up every optimization possible but I dont call that
 a bug...

 Not many fact you give use here? And if people know I only talk about
 genim2...
 Anyway, genim2 is another product I support 100%! (Like CED PRO,
 AREXX etc...)

							Stephan.

sschaem@starnet.uucp (Stephan Schaem) (04/02/91)

 Also about uptade and Genim2... DevpacII dont need an uptade but
 a new version.
 They already made uptade of monam2  and genim2.(A bad version of devpac
 is floating around, my freind got it:-)
 So we use the old version... That was pretty weird!? never new why
 something thelike could happen.
 So if you want my definition of uptade:-) another chance to make things
 right.Like it should have been done the first time...
 Version, major changement in the product.
 Those are my definition:-) And I will be glad to hear anyone else.

						Stephan.

hbrinch@icoast.UUCP (Henrik Brinch) (04/02/91)

In article <1991Apr2.002015.8420@macc.wisc.edu>, Neil Gilmore writes:

> In article <1991Apr1.215317.21521@starnet.uucp>, sschaem@starnet.uucp (Stephan Schaem) writes...
> 
> > And Devpac, dont need update because its bug FREE.And I know I can rely
> > 100% on it, and that also what people are looking for.
> 
> The last time I heard anyone proclaim a piece of software bug free, it 
> crashed really bad the first time someone other than the author used 
> it...

Hear hear.... my DevPac didn't work on my A3000, well it did but it was VERY
unreliable.  I wrote MichTron (US distributor of DevPac) about updates
twice NO answer - so I sold DevPac, it's full of bugs!

I know this guy who has written a SUPERB assembler called ASMONE, it's
probably totally unknow for you (I haven't seen ANY add's for it!).
Well the facts are, it's MUCH faster than devpac, BETTER AND faster debugger,
better editor and several other functions.  There's a function which makes
it possible only to load the needed include-files once (I love that one!)
The debugger is different from DevPac's, here you single-step the sourcecode
with watch-flags on whatever you want to watch (this is much more convinient
as you can watch your comments!).  It's also DevPac compatible and is
totally written in ASM.

People who want's to know more about this product contact :

DMV daten und medien verlag
Widuch Gmbh & co KG
Postfach 250
3440 Eschwege
Germany


(It's a pitty that an assembler THIS GOOD is SO UNKNOWN!!!!!!)

Best Regards,

InfoCoast       /\  /\_  Henrik Brinch \ cbmehq!cbmdeo!icoast!hbrinch
Technologies /\/  \/   \ Kloevervej 7   \ FidoNet 2:230/112.3
____________/  \  /     \ 2800 Lyngby    \ Voice/Fax tel.# +45 42 87 67 23
           /    \/       \  Denmark       \ "C is SILVER - But ASM is GOLD"

farren@well.sf.ca.us (Mike Farren) (04/03/91)

mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:

>Most Amiga owners are *NOT* programmers, nor do they want to be.  The Amiga
>is popular MOSTLY among game players, followed by desktop video users.

Yes, that is true.  But if you offer them products which FORCE them to remain
only game players, then game players is all that they will ever be.  Nintendo
owners will never make good programmers.

On the other hand, I've met a large number of kids, generally between 12 and
16, who bought Amigas for the good games and discovered, almost by accident,
that there were other things you can do with the machine (surprise, surprise!).
You know, somehow it's THAT attitude that *I'd* like to encourage.  (A large
number, by the way, translates to EVERY kid who owns an Amiga that I've ever
met.  I know NO kids who have Amigas who aren't interested in other things than
games - even if that's where they started.  To presume that all they are, or
ever will be, interested in is game playing is condescending to the extreme.)
-- 
Mike Farren 				     farren@well.sf.ca.us

farren@well.sf.ca.us (Mike Farren) (04/03/91)

sschaem@starnet.uucp (Stephan Schaem) writes:

>Some game wont allow you to be multitasking because of the resource they
>need.The most dificult part is making a custom display fit in the
>intuition screen enviroment.

So don't use the Intuition environment.  I don't - except for the initial
allocation of resources, none of my graphics routines use Intuition calls,
nor do any of my routines.  The single exception is I/O, and that's only
because the games I've done don't require fast I/O (although if I had it
to do over again, I would rewrite the mouse handling routines in Crystal
Quest - they currently use the Intuition input handler, and speed *does*
degrade when you move the mouse around, although nothing like the 30%
Mike Schwartz claimed).

>The OS do not offer enought speed to handle the VP coper list, and the
>OS do not offer routine to handle special display mode like RAW display
>or diferent bitplane display.

The OS also does not prevent you from doing those things.

>Sharing the blittter is posible, copper is possible... Almost everything
>is possible by cutting resource for the game.

So if you don't want to share, just let the OS know.  It'll cooperate
with you.

>But that require ALOT of work and in the final round will not pay,
>because competition can offer a better game by not doing so.

Only in the high-speed arcade game field.  None other.

>But maybe other things keep compagnie not to do so? like lazyness or lack
>of knowledge? I think that people offer what the majority of the customer
>want, otherwise it would change.

You are naive.  Companies offer what they *think* the customer wants.
Broderbund, for example, seems to think that the Amiga is no market at
all, so offers very few products for the Ami.  Are they correct?
Companies also offer what *they* want to offer.  While a good company
is responsive to customer demands, they are *not* necessarily responsive
to customer needs.  It's a different thing.

>So a game loading from your HD by clicking on a WB icon, and returning
>to the WB when ever you want is more then possible.

My only point!  Damn it, I didn't say that taking over the machine was
never to be done, I said that you shouldn't do it unless you need to, and
you should clean up after yourself when you do.

>3)HD SUPPORT

>Possible in every case.(even if its not at all time)
>And again piracy is the key to this one.

Bull.  If piracy is such a problem, why is it that nearly all the games
for the IBM PC (which has a MUCH higher piracy rate than the Amiga) can
be installed on HD's?  Why haven't all the IBM PC software companies gone
broke by now?

>And dont forget the 80K people are talking about, does it include your
>mounted drive with buffers?!

Yep.  80K, measured after startup-sequence, including mounted drives, not
including Workbench screen memory (which returns to the system after you
CloseWB(), as long as nothing else is running - the situation in an autoboot
512K A500 game).

>So 1meg will be needed to run 512K games...

Only if you have it.  If you don't HAVE 1M, go ahead, take over, nobody's
going to care.

>(if you consider programe like DPIII complex.:-)

Not really.  There are much more sophisticated graphics tools out there.

>And if you have a good algorithm a C implementation will alway be slower
>and bigger than an optimized ASM one.(even if its not by mutch).

Algorithm A: 8 hours implementation time, including debugging, in C -
32 hours, including implementation time, in asm.  How many times will
you have to run it to recoup that 24 hours?  Assembly where you need it,
C where you don't.  You don't ALWAYS use C (at least, I don't), but you
don't always use assembler, either.

-- 
Mike Farren 				     farren@well.sf.ca.us

farren@well.sf.ca.us (Mike Farren) (04/03/91)

jms@vanth.UUCP (Jim Shaffer) writes:

>Second, you might not be able to set up much of a productivity environment
>on one floppy, but how about two floppies?  I've done it.


Me too.  In fact, Crystal Quest was developed on a two-floppy system.  Doing
that game was what paid for my hard drive.  Wouldn't want to do it again,
but it *is* possible.

-- 
Mike Farren 				     farren@well.sf.ca.us

farren@well.sf.ca.us (Mike Farren) (04/03/91)

sschaem@starnet.uucp (Stephan Schaem) writes:


> If you have done alot of PC port Mike, you will know that PC's are
> used alot to develop on the amiga.
> PC with novel and manx for C/asm.than a quick download to an A500...

I've done it.  I'll never do it again - native development is a LOT nicer.
Try running CodeProbe on an IBM PC :-)

-- 
Mike Farren 				     farren@well.sf.ca.us

espie@flamingo.Stanford.EDU (Marc Espie) (04/03/91)

In article <24001@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes:
>sschaem@starnet.uucp (Stephan Schaem) writes:
[most of the discussion deleted]
>>And if you have a good algorithm a C implementation will alway be slower
>>and bigger than an optimized ASM one.(even if its not by mutch).
>
>Algorithm A: 8 hours implementation time, including debugging, in C -
>32 hours, including implementation time, in asm.  How many times will
>you have to run it to recoup that 24 hours?  Assembly where you need it,
>C where you don't.  You don't ALWAYS use C (at least, I don't), but you
>don't always use assembler, either.
>
>-- 
>Mike Farren 				     farren@well.sf.ca.us

One very strong point of the amiga is that you can use whatever tool is best
suited to what you want to do. Just for starters, you have
assemblers, basics, FORTRAN, C, Pascal, ModulaII, C++, forth, scheme, lisp,
prolog, rexx, postscript, tex, awk, bison, flex, mathlab, maple, oberon, draco,
scriptit, etc (sorry for those I've forgotten).
Ok, some of these are not public domain.
But... most of them are and you've got the source in many cases.
Other stuff is being ported right now (wishful thinking: mathematica).

So you can CHOOSE the tool which is best suited to what you want to do.
Assembler has only to do with speed issues. Except for critical portions, it
is a bad idea to code in assembler.

There were some very serious studies done about the way an average programmer
works (netters: any reference? I don't have any on the tip of my hat).
Some results are intuitive. Most are shocking to the ego of a programmer.
One of the most interesting result was that, WHATEVER the language, MOST 
programmers can write only six (6) lines of working code in a day, if the
project has a ``real-life'' size---this accounts for debugging, upgrades and
such.

Of course, a game rarely needs upgrades. Since Simcity was written mostly in C,
there WERE indeed upgrades. Usually, once a game is finished, it's out-of-the-door-
and-get-as-much-money-as we-can. Mr Farren apparently doesn't work that way and,
*as he said*, some of his games still sell *4 years* after he wrote them.

Assembler is not always the best tool, C neither for that matter. For most quick
projects, ARexx is a good choice. Personnally, one of the language I use all
the time is... postscript. I write lots of graphical applications (I'm a 
researcher in computational geometry). I need
- device independance.
- high quality output.
- easy to read and debug code.
As a bonus, I even get many high level features... guess if I wanted to do the
same thing in assembler, it would take forever to port the stuff from my amiga
to the dec-station/Laserwriters II of the lab... Food for thought.
--
	Marc (espie@flamingo.stanford.edu)

sschaem@starnet.uucp (Stephan Schaem) (04/04/91)

 I only use Genim2, so sory for the ter Devpac...
 And Genim2 work perfectly well on 2.0 on a A3000?
 If that other assembler is 100% compatible with Genim2 I could be
 interested...
 Anyway computation speed from the compiler is not my main concern (and
 never said so), but macfile and precompiled file interest me...
 I dont care about arexx interface or whatever fancy:-)
 Just a plain reliable software.

 All I know is theres are more than one revision of Devpac, and I came
 across one that create unlinkable code!

 Monam2 is VERY BUGY! especially on a A3000.But I almost never use
 debugers.And it do what I want it to do.

 If I change to use a non Genim2 compatible compiler will be for
 a macro assembler like Macro68.
								Stephan.

rbabel@babylon.rmt.sub.org (Ralph Babel) (04/04/91)

In article <2150@pdxgate.UUCP>, bairds@eecs.cs.pdx.edu
(Shawn L. Baird) writes:

> My hard drive is probably just as fast (I haven't seen any
> comparisons between the GVP Series II A500+ and the A2000
> models).

No difference.

Ralph

hbrinch@icoast.UUCP (Henrik Brinch) (04/04/91)

In article <1991Apr3.161130.12300@starnet.uucp>, Stephan Schaem writes:

>  I only use Genim2, so sory for the ter Devpac...

Yep, GenIm2 should work without any problems as stand alone.
But when you buy a package my oppinion is that ALL programs must work
and not just as seperate parts!

>  And Genim2 work perfectly well on 2.0 on a A3000?

Seems to, but not through the editor... I had to switch between SLOW/FAST
assembly mode all the time, else I would recieve a lot of garbage
during assembly!

>  If that other assembler is 100% compatible with Genim2 I could be
>  interested...

What other?  If you read one of my previous articles I wrote about a new
assembler called ASMONE?  It work's perfectly under OS2.0 and is 100%
GenIm2 compatible.  The debugger works and I believe it's much better than
MonAm2!!!!

>  Just a plain reliable software.

ASMONE!

>  All I know is theres are more than one revision of Devpac, and I came
>  across one that create unlinkable code!
> 
>  Monam2 is VERY BUGY! especially on a A3000.But I almost never use
>  debugers.And it do what I want it to do.

Hear hear!  DevPac (editor-part) is also VERY bugy, I had to reformat
my HD three times, because of crash during disk-assembly :(!

>  If I change to use a non Genim2 compatible compiler will be for
>  a macro assembler like Macro68.

Yak, try ASMONE :)
(though it's hard to get other than from the producer).
BTW:  Has anybody tried the ADAPT assembler? (is it good... who cares we've
got ASMONE! ;))

Best Regards,

InfoCoast       /\  /\_  Henrik Brinch \ cbmehq!cbmdeo!icoast!hbrinch
Technologies /\/  \/   \ Kloevervej 7   \ FidoNet 2:230/112.3
____________/  \  /     \ 2800 Lyngby    \ Voice/Fax tel.# +45 42 87 67 23
           /    \/       \  Denmark       \ "C is SILVER - But ASM is GOLD"

sysop@tlvx.UUCP (SysOp) (04/04/91)

[Ramblings about C++ at the end, but first, some ramblings about games...]

In article <mykes.0440@amiga0.SF-Bay.ORG>, mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
> In article <MWM.91Mar27123712@revelwood.pa.dec.com> mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) writes:
...
> >The point I am trying to make is that game machines are game machines
> >and workstations are workstations. The Genesis and Nintendo are game
> >machines. Shutting them down to run a game is acceptable; that's all
> >they do. The Amiga is a workstation. Shutting it down means saving the
> >state of and haltingany running servers, ditto for any ongoing
> >computations, disabling UUCP dialins, and the like. Shutting it down
> >to play a game isn't acceptable.
> >
> 
> The Amiga 500 is not a workstation.  It is a game machine just like the
> Nintendo or the Genesis.  90% of people who have Amiga 500's just stick
> floppies in and reboot.

Er, thanks for deciding for me.  Perhaps the reason that most Amiga owners
reboot is because the game locks up their machine, and they have to?  ("How
do you quit this thing?")  'Sides, what about the other 10%?  Don't they
have money too?  :-)  (Someone at work had mentioned some game on the Mac
that his son enjoyed playing, and talked like getting a CD-ROM for more
things.  There are definately those out there who are willing to spend
the bucks for nifty things.  My point, I guess, is that you shouldn't
dismiss the people who own more expensive equipment too quickly, they may
be willing to spend more money.)

For a game machine, I oddly can program, dial BBS's, ray-trace pictures,
and do other interesting and mundane things that I can't do on my Genesis.

> 
> >   The Amiga operating system is not a high performance video game operating
> >   system.  BOBs are slower than what I use.  Intuition takes 30% of the CPU
> >   time when you just move the mouse around

Well, don't use BOB's!  ("Doctor, it hurts when I do this."  "Well, don't
do that!")
> >
> >You've said this a number of times. I'm curious - why are you letting
> >intuition see mouse moves when your game is running?
> >
> 
> Intuition never runs when my game is running.  Neither does the rest of the
> OS (thank GOD).  The example I give is just one of a zillion gotchas that
> the OS has for you.

If you're messing with the mouse, maybe you should have put your game on
pause, since you're obviously doing something else.  :-)

[gripes about C deleted] 

Perhaps the point is moot.  I'm not in the target audience of 512K A500
machine owners.  (BTW, I have at least one recent game that I couldn't use,
because it doesn't work with my expanded memory.  Use nofastmem you say?
Can't.  It loads with one of those custom bootblock loaders. :-/  I offer
this as just one example of how not supporting the system creates problems.
Oh, I did get it to work with "nofast."  Lucky I had it, I guess.)

--------------------------

If anyone is still reading (:-), does anyone have any tips on running Lattice
C++?  I want to do a simple game, and am running into difficulties.  Does
a higher stack size than the manual reccommends (24K) help keep away the
Guru?  Also, I currently have one other question.  Basically, I looked
at the joystick code in the RKM, and the header files using classes in
C++, and I'm not sure how the classes work.  I can't seem to be able to compile
the original RKM code because the header files don't support the "old way".
(Maybe someone can give me the hardware addresses so I can directly
read the joystick port.  1/2 :-)  Sorry, I couldn't resist.)  

(I found a cute way to almost double-buffer in a window on the workbench
screen.  It flickers a bit, but basically, I draw into a separate rastport
and clip-blit into the window when I'm done drawing everything.  From
discussions with people on the net a while back, I recall that you can't
just swap a pointer to make it flip between rastports.  That's ok; it was
fun getting this far with it.  Latest trick I have is to WaitBOVP and
clipblit in 2 peices.  You can sorta tell where things cross the line, but
that's much better than flicker-city.  I sorta like it.  Weird, though, I
got a line carried over and drawn into my editor screen [AZ].  Any idea how
that could happen? :-) )

Any word on G++ for Amiga?  Comeau C++?

(Does it save bandwidth to try to cram things in one message like this, or
no?)
--
Gary Wolfe, SYSOP of the Temporal Vortex BBS                        // Amiga!
..uflorida!unf7!tlvx!sysop,   unf7!tlvx!sysop@bikini.cis.ufl.edu  \X/  Yeah!

dillon@overload.Berkeley.CA.US (Matthew Dillon) (04/05/91)

    Mr Farren, you could not have put this argument in better perspective,
    I agree with you 100%!

				-Matt

In article <24001@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes:
>
>So don't use the Intuition environment.  I don't - except for the initial
>..
>The OS also does not prevent you from doing those things.
>...
>So if you don't want to share, just let the OS know.  It'll cooperate
>with you.
>...
>Only in the high-speed arcade game field.  None other.
>...
>My only point!  Damn it, I didn't say that taking over the machine was
>never to be done, I said that you shouldn't do it unless you need to, and
>you should clean up after yourself when you do.
>...
>Bull.	If piracy is such a problem, why is it that nearly all the games
>for the IBM PC (which has a MUCH higher piracy rate than the Amiga) can
>be installed on HD's?  Why haven't all the IBM PC software companies gone
>broke by now?
>..
>Yep.  80K, measured after startup-sequence, including mounted drives, not
>including Workbench screen memory (which returns to the system after you
>CloseWB(), as long as nothing else is running - the situation in an autoboot
>512K A500 game).

    Not to mention the fact that if a game is THAT close to going over the
    512K edge it might be a good idea to write it for a 1M machine anyway.

    As has been mentioned, $80 will bring you up to 1M.

>Only if you have it.  If you don't HAVE 1M, go ahead, take over, nobody's
>going to care.
>..
>Not really.  There are much more sophisticated graphics tools out there.
>..
>Algorithm A: 8 hours implementation time, including debugging, in C -
>32 hours, including implementation time, in asm.  How many times will
>you have to run it to recoup that 24 hours?  Assembly where you need it,
>C where you don't.  You don't ALWAYS use C (at least, I don't), but you
>don't always use assembler, either.
>
>--
>Mike Farren				     farren@well.sf.ca.us

--

    Matthew Dillon	    dillon@Overload.Berkeley.CA.US
    891 Regal Rd.	    uunet.uu.net!overload!dillon
    Berkeley, Ca. 94708
    USA

sschaem@starnet.uucp (Stephan Schaem) (04/05/91)

 Yes native is alot nicer! But the software compagnie wont let you...
 See my point? Dont walk on the other programer feet, mutch of your
 young european programers dont have many choices.
 Mutch work inhouse under supervision with static rules!

 I had lattice 4.0 with 2floppy... The best way to waist time when you
 are learning.
 And my point was... You need around 1 meg for your work to compile, and
 maybe a HD? You are very near a A2000 now.
 And have you tried floppy controler on a 512K machine? pretty hard on
 the memory, dont you think?

 That the point I trie to make in the previews msg.

								Stephan.

sschaem@starnet.uucp (Stephan Schaem) (04/05/91)

 Sory ther? 6 line of code a day? What kind 300 C lines for a complex
 math function? (300 char per line:-)
 more than 100 optimized line a day is what you can do in assembly...
 so 6 line must be in a pretty weird language.
 (of course 100 bug free), last example was a 2 layer star display
 routine passing beyong background object with various speed on a
 scrolling display (involving screen 'interupt' acknoledge).
 That was the first time I done it, 64 lines 20 minuts.
 Its code and logic optimized... test the 6 planes, use msg, but only
 restore 3 and set 3 bitplanes.

 It work from a list structure including, last restore, speed and pos.
 So for simple stuff like that why bother to do it in C?
 (I Myke:-)
 So lets say 64 line per half hour.
 If I'm in a good mood I can write 500 lines a night in semi debuged
 code (the thing dont crash on normal usage), and not optmized.

 I dont do that every night, and 1 or 2 hundreds is more like it.
 A guy that write 6 lines a days is brain dead! or is curently learning.
 And if for C you count { } ( ) its pretty low:-) , JK.

 Also my code is line to line commented, with explicite instruction
 action.So usally I read my comment not the code...
 So when I need to change, adapt, modifie in ANY way its pretty easy...

 6 is an exageration! Some complex software in C on the SGI are more
 than 20,000 lines long, that would mean 10 year of work.

 Also after a while programing is a repeatition or what you have already
 done, so you keep library handy.But has showed above for simple task
 involving programing 6 is too low.
 How many compagnie is ready to accept that:-) The guy comes in take a
 coffe, write his 6 lines and come home...

						Stephan.

sschaem@starnet.uucp (Stephan Schaem) (04/05/91)

 Also for some: the Star.s programed change 3 type during the 20 minuts.
 First use 2 separate routines, and done position recalculation.
 Then whent to a single, with 1 position calculation.
 Then used fewer plane access, and have the bittest removed.

 And now even if I pass alot of time on it, it wont go mutch faster!
 The my lastest example, the previous one was with a small macro
 language.
 That to say, I dont write faster in C and even if it was faster for me
 I like ASM better... Its taste!
 Also when I transformed SGI image decompacting sub (like iff) it was
 not that bigger.

 The curent discusion is like saying 'Japaness is harder than Spanish'.
 Tell that to a Japaness!

							Stephan.

bombadil@diku.dk (Kristian Nielsen) (04/06/91)

hbrinch@icoast.UUCP (Henrik Brinch) writes:

>What other?  If you read one of my previous articles I wrote about a new
>assembler called ASMONE?  It work's perfectly under OS2.0 and is 100%
>GenIm2 compatible.  The debugger works and I believe it's much better than
>MonAm2!!!!


  WARNING! AsmOne is *NOT* anyway near GenIm2 compatible. I resently had to
convert a small (<20k) source from GenIm2 to AsmOne. However, problems with
INCBIN, SECTION statements and label expansion ('\<label>' - stuff) caused
me to give up after hours and hours of work.

  In my opinion, AsmOne is an (admittedly much) improved Seka-clone intended
for hardware-level programming on a stock A500/2000, and it shows. Others
opinion may be different. But don't think that AsmOne comes anyway near to
GenIm2 compatibility - it doesn't.

  Sorry to post yet another article in this group, but I felt I had to do
Hisoft some justice. I personally love their products.

	Kristian

sschaem@starnet.uucp (Stephan Schaem) (04/06/91)

 Well I really think anyother editor than CED is not what I will use
 hapilly:-)
 And I use debugger VERY rarely.
 So to finish the story... Only Genim2 is bug free, since I use only
 Genim2.

 A question long awaited, what offer ASMONE over Genim2 ?
 Any function like getting the size of a file for equate?

							Stephan.

sschaem@starnet.uucp (Stephan Schaem) (04/06/91)

 Just a simple remark on 'doctor it hurt when I do that'.
 The system pretty hurt everywhere when you look for speed.
 So what you say is not use the system, and that what you everybody do
 when the OS dont go with there needs.
 The and the worst I came across with the OS when sharing is the drive
 , copper, sprites. The system need to know what happen with the copper,
 or things will go pretty weird with screens etc..
 Sprites, the system dont offer a good way to keep them on screen.
 Those are more little things that make desicion harder when you want to
 go with the OS.

							Stephan.
							S

hbrinch@icoast.UUCP (Henrik Brinch) (04/06/91)

In article <1991Apr5.182933.27393@odin.diku.dk>, Kristian Nielsen writes:

> hbrinch@icoast.UUCP (Henrik Brinch) writes:
> 
> >What other?  If you read one of my previous articles I wrote about a new
> >assembler called ASMONE?  It work's perfectly under OS2.0 and is 100%
> >GenIm2 compatible.  The debugger works and I believe it's much better than
> >MonAm2!!!!
> 
>   WARNING! AsmOne is *NOT* anyway near GenIm2 compatible. I resently had to
> convert a small (<20k) source from GenIm2 to AsmOne. However, problems with
> INCBIN, SECTION statements and label expansion ('\<label>' - stuff) caused
> me to give up after hours and hours of work.

WARNING PIRATE COPY!
If you've bought AsmOne you would get the upgrade to the latest version where
these MISTAKES has been fixed.

>   In my opinion, AsmOne is an (admittedly much) improved Seka-clone intended
> for hardware-level programming on a stock A500/2000, and it shows. Others

Maybe, maybe not!

> opinion may be different. But don't think that AsmOne comes anyway near to
> GenIm2 compatibility - it doesn't.

I've been programming DevPac for a long time (UNTIL I GOT AN A3000!)
and I've NO problems with AsmOne!

>   Sorry to post yet another article in this group, but I felt I had to do
> Hisoft some justice. I personally love their products.

I certainly don't - They can't even make them run on 680x0 machines and
they say it IS also a 680x0 assembler!!!!

> 	Kristian

InfoCoast       /\  /\_  Henrik Brinch \ cbmehq!cbmdeo!icoast!hbrinch
Technologies /\/  \/   \ Kloevervej 7   \ FidoNet 2:230/112.3
____________/  \  /     \ 2800 Lyngby    \ Voice/Fax tel.# +45 42 87 67 23
           /    \/       \  Denmark       \ "C is SILVER - But ASM is GOLD"

uzun@pnet01.cts.com (Roger Uzun) (04/07/91)

[]
Well I will regret this, I am sure, but I have been following
too long to stay totally silent.  I have written a few amiga games,
most recent release is Heart of the Dragon (see inside front cover
of AC's guide to amiga), and in my experience the only reason to
bypass the OS, etc is if you want to release a full featured game
in 512k format.  Basically, in that case, the only way to get
reasonable gameplay (regards to amount of graphics) is to carefully
map out all the machines memory to your specific application, and
take over the machine.  
For what it is worth, I do the animation routines themselves in
assembler, and make the program just like any other amiga application,
giving myself use of the enforcer and all other multitasking goodies.
I then chop off features for the 512k version, and strongly advise
1M minimum with the product, since it is designed with that in mind.

One of the authors of CED Pro, the editor, also writes games, and I
think all of his also multitask and behave like normal AmigaDOS
applications.

-Roger

UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!uzun
ARPA: crash!pnet01!uzun@nosc.mil
INET: uzun@pnet01.cts.com

bombadil@diku.dk (Kristian Nielsen) (04/08/91)

hbrinch@icoast.UUCP (Henrik Brinch) writes:

>In article <1991Apr5.182933.27393@odin.diku.dk>, Kristian Nielsen writes:

>>   WARNING! AsmOne is *NOT* anyway near GenIm2 compatible. I resently had to
>> convert a small (<20k) source from GenIm2 to AsmOne. However, problems with
>> INCBIN, SECTION statements and label expansion ('\<label>' - stuff) caused
>> me to give up after hours and hours of work.

>WARNING PIRATE COPY!
>If you've bought AsmOne you would get the upgrade to the latest version where
>these MISTAKES has been fixed.

   Well, I wouldn't know about this - the 'port' was done at a friend (SICK
excuse, but in this case also true). If you want to see the source (to check
if all problems are gone, which would seriously impress me), I can easily
email the source to you.

>>   In my opinion, AsmOne is an (admittedly much) improved Seka-clone intended
>> for hardware-level programming on a stock A500/2000, and it shows. Others

>Maybe, maybe not!

>> opinion may be different. But don't think that AsmOne comes anyway near to
>> GenIm2 compatibility - it doesn't.

>I've been programming DevPac for a long time (UNTIL I GOT AN A3000!)
>and I've NO problems with AsmOne!

>>   Sorry to post yet another article in this group, but I felt I had to do
>> Hisoft some justice. I personally love their products.

>I certainly don't - They can't even make them run on 680x0 machines and
>they say it IS also a 680x0 assembler!!!!
  I think I've heard of an earlier version that had some bugs in connection
with 680x0, x>=1, but that this was fixed in a later release. Didn't you
recieve an offer for an upgrade?

  I'll admit that I was comming on a little hard criticising AsmOne. I still
maintain, however, that AsmOne is based VERY heavily on Seka - command line
interface, ESC key to enter editor; hell, even the menu-shortcuts are taken
from the Seka-assembler! And having to statically allocate workspace memory
at start-up is really unprofessional compared to most other programs (except
Word Perfect :-). However, for stand-alone assembler programs on small (or
even any) amiga system, it might be the perfect choice. For programmers who
also whish to develoop large projects in C and assembler, it probably isn't
(how about make?). And I still seriously doubt that AsmOne in any version is
100% GenIm2 compatible (however if you want to dispute this, please try out
some of my sources first, if possible).

 	Kristian

sschaem@starnet.uucp (Stephan Schaem) (04/10/91)

 HiSoft Basic Profesional and Devpac (Genim2 to be more correct) worked
 perfectly on a A500 68000, than a A2000 2630 and now on my A3000.
 No problem whatsoever! (The only thing you could say about Genim2 is
 that it not strict... )
 Thats the only 2 I got and use, and like to use.
 And when you got megs of sources you are working on its pretty anoying
 to change format.And the 2 lastest assembler dont seem to accepted the
 format I use (accepted by devpac) and a 3 third reported.

sschaem@starnet.uucp (Stephan Schaem) (04/10/91)

 Roger what do you do when you need to disk for virtual map?! (Virtual
 memory read or read/write..)
 Its HARD to share with the system and make things multitasking.
 Note: I didn't say impossible.
 The worstin my case was use all of the sprite dma in a intuition screen
 environment...
 The blitter is no problem if you write (in my case) a routine to
 monitor blitter usage to dissable before a blit overlaping my requested
 time come.
 I use only 1 page, and have everything syncronised.I dont use ANY
 interupt for the matter.
 My game use 99% of the first 512K, and was designed for 1meg... So I
 use the disk for maps.(around 570K).
 Also its CPU intensive.Not all the time... But on a 1/60 second basis I
 could need 100% of the chip bus.

 And there is so many little things with designing sutch game in a
 multitasking enviroment.
 Not all games are the same, and when you pass the limit you use all the
 resource at the fullest.
 So I more than beleive that its a memory problem, but a resource
 sharing problem.Running Sonix and Delux music worked? (dont even
 remenber:-) All I know is that I had couple of utilities like than that
 didn't runed because it needed the resource to itself.(Sprite, audio).
 And in a game you depand on those.

slewis@sugar.hackercorp.com (Steve Lewis) (04/10/91)

I have been reading your posts about Lemmings, etc. with interest.  Your
Overdrive game sounds technically interesting as well and I like shoot-em-
ups.  How about posting a demo of at an anonymous ftp site?

uzun@pnet01.cts.com (Roger Uzun) (04/10/91)

[]
Yes but anything you can think of to do with a game, can be done
in an OS legal manner, and since many people have A3000's,A2500's etc
you cannot say any particular game will iuse 99% of the CPU.
The point is the only thing that OS friendly and legal programming
practice costs you is memory (and the time to read the RKM's etc,
but given the use of source level debuggers and the enforcer,your
development task is simpler if you keep the OS around)

-Roger

UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!uzun
ARPA: crash!pnet01!uzun@nosc.mil
INET: uzun@pnet01.cts.com

jpc@fct.unl.pt (Jose Pina Coelho) (04/11/91)

In article <8496@crash.cts.com> uzun@pnet01.cts.com (Roger Uzun)
writes: 

   Yes but anything you can think of to do with a game, can be done
   in an OS legal manner, and since many people have A3000's,A2500's etc
   you cannot say any particular game will iuse 99% of the CPU.

Yes, but for that the OS *must* have real-time extensions, something
that will allow it to give the program all the Cpu it needs for the
time it needs.

The program says

	PrivateCPU(ON);	
	SpeedCheck();	/* make sure you have the correct speed */
	PrivateCPU(OFF);

	Request(time);	

	PrivateCPU(ON);		/* The game is master */
	while(1) {
	  GameCycle();
   	  ReleaseCpu(time);	/* The game is magnanimous and allow
				the OS to schedule other programs,
                                but the program counter MUST be here
				again after time*uSeconds is elapsed */
	}

   The point is the only thing that OS friendly and legal programming
   practice costs you is memory (and the time to read the RKM's etc,
   but given the use of source level debuggers and the enforcer,your
   development task is simpler if you keep the OS around)

Yes, but if the OS schedules the mail spooler in the middle of a
dogfight, it'll be one hell of a hiccup.

Maybe on WB 3.0, we get a real time extension, to allow games to be
smooth without ejecting the OS.

BTW, real-time extensions are quite hard to add, they must be
superbely designed to avoid constant locking.

--
Jose Pedro T. Pina Coelho   | BITNET/Internet: jpc@fct.unl.pt
Rua Jau N 1, 2 Dto          | UUCP: ...!mcsun!unl!jpc
1300 Lisboa, PORTUGAL       | Home phone: (+351) (1) 640767

- If all men were brothers, would you let one marry your sister ?

rjc@geech.gnu.ai.mit.edu (Ray Cromwell) (04/12/91)

In article <JPC.91Apr11115750@terra.fct.unl.pt> jpc@fct.unl.pt (Jose Pina Coelho) writes:
>
>In article <8496@crash.cts.com> uzun@pnet01.cts.com (Roger Uzun)
>writes: 
>
>   Yes but anything you can think of to do with a game, can be done
>   in an OS legal manner, and since many people have A3000's,A2500's etc
>   you cannot say any particular game will iuse 99% of the CPU.
>
>Yes, but for that the OS *must* have real-time extensions, something
>that will allow it to give the program all the Cpu it needs for the
>time it needs.
>
>The program says
>
>	PrivateCPU(ON);	
>	SpeedCheck();	/* make sure you have the correct speed */
>	PrivateCPU(OFF);
>
>	Request(time);	
>
>	PrivateCPU(ON);		/* The game is master */
>	while(1) {
>	  GameCycle();
>   	  ReleaseCpu(time);	/* The game is magnanimous and allow
>				the OS to schedule other programs,
>                                but the program counter MUST be here
>				again after time*uSeconds is elapsed */
>	}
>
>   The point is the only thing that OS friendly and legal programming
>   practice costs you is memory (and the time to read the RKM's etc,
>   but given the use of source level debuggers and the enforcer,your
>   development task is simpler if you keep the OS around)
>
>Yes, but if the OS schedules the mail spooler in the middle of a
>dogfight, it'll be one hell of a hiccup.
>
>Maybe on WB 3.0, we get a real time extension, to allow games to be
>smooth without ejecting the OS.
>
>BTW, real-time extensions are quite hard to add, they must be
>superbely designed to avoid constant locking.

  I'm not an expert on the internals of Exec, but as far as I know, the
Amiga's scheduling is REAL-TIME. For instance, in the included example,
PrivateCPU(ON) could be written as a macro for Forbid, or SetTaskPri.
#define ON 100
#define OFF 0
#define PrivateCPU(pri) SetTaskPri(FindTask(NULL),pri)

  ReleaseCPU(time) would be coded as a request to the timer.device, then
it would merely Wait() for the timer to complete the request.
If the OS schedules a mail spooler after ReleaseCPU() it won't matter.
Exec will wake up your task (put the mail spooler to sleep) as soon
as the timer request finishes. That's why the AmigaOS is real-time.
Perhaps you it confused with UNIX.

>--
>Jose Pedro T. Pina Coelho   | BITNET/Internet: jpc@fct.unl.pt
>Rua Jau N 1, 2 Dto          | UUCP: ...!mcsun!unl!jpc
>1300 Lisboa, PORTUGAL       | Home phone: (+351) (1) 640767
>
>- If all men were brothers, would you let one marry your sister ?


--
/~\_______________________________________________________________________/~\
|n|   rjc@albert.ai.mit.edu   Amiga, the computer for the creative mind.  |n|
|~|                                .-. .-.                                |~|
|_|________________________________| |_| |________________________________|_|

mwm@pa.dec.com (Mike (My Watch Has Windows) Meyer) (04/12/91)

In article <JPC.91Apr11115750@terra.fct.unl.pt> jpc@fct.unl.pt (Jose Pina Coelho) writes:

   In article <8496@crash.cts.com> uzun@pnet01.cts.com (Roger Uzun)
   writes: 

      Yes but anything you can think of to do with a game, can be done
      in an OS legal manner, and since many people have A3000's,A2500's etc
      you cannot say any particular game will iuse 99% of the CPU.

   Yes, but for that the OS *must* have real-time extensions, something
   that will allow it to give the program all the Cpu it needs for the
   time it needs.

Uh - you mean owning 100% of the CPU isn't enough? It's possible to do
that in an OS legal manner, after all. Yes, the game won't let other
things run while it's doing it, but it doesn't require throwing the
system away, either.

   Yes, but if the OS schedules the mail spooler in the middle of a
   dogfight, it'll be one hell of a hiccup.

Don't let it do that, then.

	<mike
--
How many times do you have to fall			Mike Meyer
While people stand there gawking?			mwm@pa.dec.com
How many times do you have to fall			decwrl!mwm
Before you end up walking?