Xref: utzoo comp.sys.atari.st:6591 comp.sys.amiga:12070 Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!lll-tis!ptsfa!well!ewhac From: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Newsgroups: comp.sys.atari.st,comp.sys.amiga Subject: Re: Multi-tasking? A Nightmare... Message-ID: <4828@well.UUCP> Date: 23 Dec 87 22:13:59 GMT References: <2187@crash.cts.com> Reply-To: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Followup-To: alt.flame Organization: Bleep Gzorp! Lines: 103 Summary: An real example. [ Followups to alt.flame, where it rightfully belongs. ] Someone writes: >> I'm still waiting to see if someone can come up with a use for TRUE >> multitasking that a typical home user would find very handy but that >> cannot be satisfied by a simple 'carousel' approach. There probably >> are some, especially with message-passing, etc., but none have been >> posted yet (except for people waiting for their compilers to finish -- >> they just need faster integrated compilers, though :) >> >> Robert Gardner >> Here's a real-world example. Note that this is from the programmer's perspective, not the user's. As you will see later, this is irrelevant. The specifications are as follows: You are to design a space invaders-type game. There is one spaceship at the top of the screen, and a gun at the bottom. The spaceship moves across the top of the screen from left to right; as it does so, it "drops" letters forming words down the screen. As the user types on the keyboard, the program checks to see if the letter typed matches the one the gun is currently under. If so, the letter is shot and the gun moves one position to the right (to the next letter in the word. If they don't match, a short error signal is delivered to the user. The screen will look like this: --------------------------------------------------------------------------- ...<-=O=-> S P A C E W E L L C R A T H A N T H I S H A L L K I L L T H R I L L L A K E G R E A T A N P A R T D R A T S P A C E B E A T H E A R S E A D R E A A T H E R M A P T H A N F O R H E A R T | A /#\ --------------------------------------------------------------------------- The spaceship moves across the top of the screen at a fixed rate. When it reaches the end of the row, all the rows drop down one, and the ship returns to the left side. To make it more interesting, a range of colors in the spaceship are to be cycled, to make it look like it's spinning. The cycle rate is totally independent of any other regular rate in the program. Don't worry about winning or losing at this point; they'll complicate the issue. Now. Design this program, first on a system with multitasking, and then on a system without it. Discuss the design issues that need to be considered, and how you would address them under each environment. "Be specific; give examples." Whether or not the machine multitasks should be made invisible to the user; both versions should run the same as far as the user is concerened. -------- I designed this very program on the Amiga. I was porting the program from the Atari ST, working from the ST source code. Before posting my approach and ultimate solution to the problem, I want to see how others would address it. That is, if anyone cares..... [In the article titled "Re: Multi-tasking? A nightmare...", Dec 22, 1987, ...!uwvax!umn-d-ub!umn-cs!davidli writes:] > How many years have you owned a personal computer Joseph? I don't know about Joseph, but I've been stumbling along for about eleven years now. > Were you ever actually around when punch cards were being used? Yup. IBM 1130. Didn't like it, either. > Were you around when all you could do with a personal computer was toggle > switches on the front panel and bring an AM radio close to the CPU to > produce "music"? Yup. I've even used a ASR-33 TTY. Wow. > Did you ever put together one of those personal computers (you know, > before Radio Shack started mass production of the TRS-80 model I)? No, unfortunately. I lusted after a SOL-20 myself. But then the Commodore PET came out (predates the TRaSh-80, BTW), and I wanted one of those. My first ended up being a C-64. -------- I'm still trying to discover what all this arguing accomplishes... It's fun, though..... _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape ihnp4!ptsfa -\ \_ -_ Recumbent Bikes: dual ---> !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor