Date: Sat, 4 Apr 1998 21:36:46 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: BSS On 04/04/98 16:31 Stuart Ball at lightsoft@compuserve.com >If it's the register that's changing, then you just need to step through >your program looking for where it changes. It would be nice if there were a >way in Macsbug of running until register x changes, but if there is I can't >find it. Break within a specific range of addresses if rx!=oldrx could work, dunno. Mario
Date: Sat, 4 Apr 1998 23:07:48 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: BSS Sorry for troubling you guys... Thanks for your help and having thought me a nice trick that will be included in my MacsBug guide... Anyways, my mistake was the following: I thought that stwu would first store then add, but it's the other way round. So from the beginning my data was stored wrong... Anyways, Thanks again, and sorry for the silly mistake... Bye, Alok BTW: anybody knows some good Mac programming news groups? Sites, Chats, etc... web site (Last updated: 28/3/98): http://alok.hypermart.net/
Date: Sat, 4 Apr 1998 23:08:45 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: ASSEMBLY COMPETITION Hi, I would like to remind you that I'm organising an assembly competition. You should subscribe via my web pages, so that I get an approximation of the number of subscription. For now on, only two people are registered. So if you don't want the nice price I have collected to go away for a silly program, please try to participate... visit: http://alok.hypermart.net/computers/computers.html/ Please try to pass the word arround. If you have any contacts with Apple, I think that it should be a good place to see a link to my competition... Bye, Alok web site (Last updated: 28/3/98): http://alok.hypermart.net/
Date: Sat, 4 Apr 1998 19:48:20 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Fantasm 5.1/QuickTime3: possible problem Hello all, Just wanted to relate this to you ASAP as it may save you some grief. Setup: 7200/32/8.1/vm on/vid1=MP540, vid2=internal vid/Fant5.1 release version. At the start of last week I installed QT3, then dived into FantBug. This project is very unstable and crashes are common so I just thought I hadn't replaced a vector or something and rebooted. FantBug is a relatively small project. Tonight I needed to make some changes to Anvil 2.1 (a much larger project). As soon as Fant started building, the Mac crashed in Bowels of the memory manager. This is very strange as F5.1 has been extensively tested both internally and externally. OK, reboot, try again. Crash. Exactly the same place, right after Fantasm has been loaded and says "Assembling xyz". OK, reinstall Fant off the CD. Same crash. Go back to FC1. Same crash. Back to beta 2 - same crash! Right! Boot with no extensions - all fine. Fiddle about for two hours and finally find it's Sound Manager 3.3 installed as part of QT3. I have not had a chance to speak to anybody else about this, and haven't investigated any further than that. Hence it would seem as if Fant5.1 is not compatible with Sound Manager 3.3. If anybody else has any info on this, I would love to hear it. The problem does not seem to affect small projects, which would lead me to believe it is a memory problem, but until we investigate further, I wouldn't like to say for certain. For now, I would suggest you remove Sound Manager 3.3 if you have installed QT3. Stu. Stuart Ball, Lightsoft.
Date: Sun, 5 Apr 1998 08:08:19 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Alok: Dialogs >> So now I have a nice dialog that's centered in the screen. I hope you have not written code that does the dialog centering. Using ResEdit you can set the properties of a DLOG or WIND resource so that it will be centered on: 1) the "main" screen or 2) the screen where a "parent" window is & other ways of centering. Why is it important to let the system software do the centering?...because many mac users have multiple monitors & set up different monitors to be their "main" screen...they also may set up their monitors so that one is the "top" of the desktop OR so that one is the "left" side of the desktop...the system will "do the right thing" when it centers windows or dialogs. - Ajay Nath
Date: Sun, 5 Apr 1998 08:12:37 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Alok: Dialogs >> My next problem is to get the lines around a group to be drawn (user defined objects) One easy way of doing this is to: 1) go into a paint program & draw a small rectangle 2) then "copy" the rectangle 3) open ResEdit & open up your dialog resource 4) choose "Paste" & it will let you paste in the rect as a PICT resource 5) you can then resize the rectangle to any size you want 6) then place the rectangle BEHIND any objects that you want inside it This has the advantage of requiring NO code & is compatible across all macs (so you dont have to write a custom update routine for PPC/68K code). Easy when you know how huh? :) - Ajay Nath
Date: Mon, 6 Apr 1998 11:41:52 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Fantasm 5.1/QuickTime3: possible problem On 05/04/98 02:48 Stuart Ball at lightsoft@compuserve.com >I have not had a chance to speak to anybody else about this, and haven't >investigated any further than that. > >Hence it would seem as if Fant5.1 is not compatible with Sound Manager 3.3. > >If anybody else has any info on this, I would love to hear it. Exactly the same problem I had Stu, and it didn't affect Fantasm but CW indeed, I removed the new Sound Manager and all worked fine, (and QT3 seems to have np running without it too), in any case I believe we may want to try making it load first and see what happens. Mario
Date: 06 Apr 98 11:40:12 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: Alok: Dialogs Ajay Nath wrote: >>> My next problem is to get the lines around a group to be drawn (user >defined objects) > >One easy way of doing this is to: >1) go into a paint program & draw a small rectangle >2) then "copy" the rectangle >3) open ResEdit & open up your dialog resource >4) choose "Paste" & it will let you paste in the rect as a PICT resource >5) you can then resize the rectangle to any size you want >6) then place the rectangle BEHIND any objects that you want inside it > >This has the advantage of requiring NO code & is compatible across all macs >(so you dont have to write a custom update routine for PPC/68K code). >Easy when you know how huh? :) There are some problems with this solution (everything has a downside). Now you have a PICT resource taking up space in your application and in your RAM space. You also have the overhead (time wise) of loading the PICT. Personally I use RECT resources and DrawRect. I have also put my rects in DC.W data. I have also used MoveTo/LineTo to draw lines. One thing you can do with this is to add shading and hiliting of your lines to get a 3D look.
Date: Tue, 7 Apr 1998 17:08:50 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Alok Hi, Thanks for your tips, but I still can't get to read the dialogs objects (I can't get info on each, nor the total number of objects). Well my Pascal book says this: nb:=Succ(iPtr(DialogPeek(dlg)^.item^)^); Well I guess that in assembly I must do a Get1Ressource for the DLOG then find the ID of the DITL associated, then Get1Ressource for the DITL and then read and work with that data. But I hope there is a shorter way of doing this.... Bye, Alok web site (Last updated: 5 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: Tue, 7 Apr 1998 17:09:02 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: ResEdit Hi, I would like to have a backgrnd image in a dialog. So I create my dialog (buttons, etc..) and then add a PICT. But each time I call the dialog, the PICT is front most, and hides the rest. How can I change this ? Can I simply do it with ResEdit? Or do I have to create my own object drawing routines to get the PICT drawn first? (I have tried to change the PICT's item numbe,r but without succes). Bye, Alok web site (Last updated: 5 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: 07 Apr 98 09:16:27 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: Dialog items robot wrote: > >Well I guess that in assembly I must do a Get1Ressource for the DLOG then >find the ID of the DITL associated, then Get1Ressource for the DITL and >then read and work with that data. You want to use GetDialogItem and GetDialogItemText.
Date: Tue, 7 Apr 1998 13:55:45 -0400 (EDT) From: Tim Humphrey <humphret@ruby.winthrop.edu> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: ResEdit On Tue, 7 Apr 1998, Alok wrote: > But each time I call the dialog, the PICT is front most, and hides the > rest. How can I change this ? Can I simply do it with ResEdit? Or do I > have to create my own object drawing routines to get the PICT drawn first? Renumber your dialog items so that the PICT is numbered last. Dialog items are drawn starting at the highest numbered item, this way the item number 1 gets drawn above all others. ..._Tim_... --=[I know everything...just not at the same time.]=-- http://www.shack.org/zzhumphreyt zzhumphreyt@kagi.com
Date: Tue, 07 Apr 1998 20:26:26 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Hello? Anybody out there? Hello all Recently I was, for no particular reason, reading though the old listserver stuff. Things used to be a lot more exciting, didn't they? I remember the good old "one computer-platform"-discussion I had with Figaro Tea. Those were the days, eh? I kinda miss those debates, you know. Very few people share the passion of Mac assembler. On the other hand, it does seem that Lightsoft has more than a few customers. This seems to suggest that there's quite a few people using assembler out there. That's just a wild guess, you understand. Because proving that those people exists, is quite another story. As far as I know there is really no place on the internet with Mac-assembler related material other than good ol' www.tau.it/lightsoft. So that's one thing I'd like to know: Are there any people out there? What do you use assembler for? I know that some projects might be hush-hush, and so on, but I would genuinely like to know: What are people doing? I would also like people to mail the list-server about any neat ideas or discoveries they've made. Something like: "Incidently guys, I just discovered a neat way to double the speed of my double-buffer". Or whatever. Since Mac assembler doesn't have the greatest following in the Mac community, I, for one, would love to see some more example code. If people could get a look at some code it would be really great. Get them over to the "dark side", so to speak. I have on occasion made some of my source available, and though I'll be the first to admit that it can hardly be catagorized as being useful or even that well written, I think it's a nice start. At present I can think of about ten people that can be categorized as regulars on the list-server. I don't count myself as one of them. Although I read every bit of mail, it is usually system-orientated stuff (don't get me started ;) ), and that's great too. But I think the list-server should be something more than a computerized version of "Dear Abby" for assembler. No disrespect intended. Now, having said that, I realize that the list-server is Lightsofts and I can't really remember what the guidelines are. But I seem to remember that lengthy discussions were okay as long as they were assembler-related. I'm also under the impression that Stu and Rob wouldn't mind a few example sources and maybe some interesting articles about something interesting. Am I right? Also, from time to time some complain that the mails shouldn't be too lengthy because they have to pay for every e-mail they recieve. If that's the case I can certainly understand why they'd avoid anything else than what the list-server is right now, and we should have that in mind. It's just that I think something is missing. The debates. The sourcecode. The hints and tips. Everything those Codewarriors seem to have. We have Fantasm, News From the Tower, Stuchat and precious little else. I might be the only with these views, and everyone else might be more than happy with things as they are, in which case I stand corrected. But I'd love hear your thoughts on this. Or maybe everyone's at #macdev, and no-one told me :( If pressed I'll get me an alternate e-mail adress on Hotmail and start a long and tiresome debate about matrix-math with myself on the list-server (I'll win the debate, of course, convinced by my own brilliant thoughts on the matter). Don't test me: I'm mad enough to try ;) Sorry, for the length of this letter, as it really isn't directly assembler-related, but I had to get it off my chest. I wasn't sure I wanted to send this, but I figured what the heck, things could only get better ;) Have a nice easter Allan maccoder@post6.tele.dk P.S. This letter could have been summarized as "Write some articles, show us some source, think different", but I just kept typing. Oh well ...
Date: 07 Apr 98 15:45:29 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: Hello? Anybody out there? Well, I'm out here. I use assembly because I like it. I just use it for my own personal projects. I have released about 10-15 freeware thingys to the world. A variety of goodies from FKEYs to full-blown applications. I have gotten a surprising amount of returned email about one of my applications, Diccionario, a Spanish-English dictionary. In fact I've gotten more response on this one app than on all the others put together. Maybe the others are just worthless ;-). One of my biggest surprises with PPC assembly language has been how slow my apps run after conversion from 68K assembly. Maybe I shouldn't say "slow". I really mean the small increase in speed. Ah! The light bulb goes on! Too much 68K toolbox code that never made it over to PPC. With the context switches and all, things are not greatly improved speedwise. Now that Apple is in their current distressed mode, I assume that the "move to native" has slowed to a crawl, if it is even not moving at all. I have some ideas on that one that may see the light of day sometime... It looks like Apple abandoned the OS upgrade to native back in the days when they planned on switching to Copland and just never picked it back up when that plan was scrapped.
Date: Wed, 08 Apr 1998 06:21:08 +0200 From: bondard <bondard@ens.fr> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Allan Jensen wrote: > > .... >I kinda miss those debates, you know. > .... >I would also like people to mail the list-server about any neat ideas or >discoveries they've made. Something like: "Incidently guys, I just > ..... >It's just that I think something is missing. The debates. The sourcecode. >The hints and tips. Everything those Codewarriors seem to have. We have > ..... > I for one would be quite interested in more of these things; and this list is one of the few I do read absolutely regularly :) I'll humbly admit not contributing to it now, but since it's strictly assembler and I'm very far from a guru on the topic.... Cheers, ----------------- Daniel Bondard bondard@ens.fr ----------------- Never believe that you know the last thing about any human heart Henry James
Date: Wed, 08 Apr 1998 15:59:43 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re:Hello? Anybody out there? Hi All (Alan in particular), Lightsoft,by their own admission is doing quite well,and Fantasm is obviously selling at rates they occasionally have trouble keeping up with,but I often wonder if the same number of people who buy Fantasm are on this mailing list.As Alan pointed out,there is a kind of core group who use this list regularly - two of whom spring to mind that,to my jealousy,seem to know everything there is to know about assembly coding on the mac,due to how often they answer questions and the fact I've never read a question *from* either of them. My impression of Fantasm and this list in general,is that quite a few people are buying it,but they're just too clever or professional (they *can* be mutually exclusive ;) to bother with this list and some of the generally low-brow questions I've been known to post :) That,and the fact they don't have the time,perhaps. I'd like to believe that there's loads of people out there that have a copy of Fantasm,but are struggling to write cool apps with it (like myself ;),but if the mailing list is anything to go by,then this is not the case.Maybe it's just like a newsgroup,with 100x more people lurking than responding? Who knows? For me personally,I've just been plodding along,learning a bit at a time - writing heaps of pointless little apps so I can figure out how certain things work.I'm optimistic enough to believe that I will one day put a couple of these "odds & sods" routines together and make something I could release :) This brings me to a bit of a point (yes,there is one :) It would be a good idea to share code and theories,I agree,but as I mentioned above,Fantasm and this mailing list seem to be for serious coders who are just a *little* bit beyond the "How do I do a dialog box?" type questions,so what kind of code snippets should be submitted? Perhaps there are a lot more people in my position who feel they have nothing to offer the mailing list (and web site) because of the "I'm out of my depth here" factor? Surely not *everyone* just picks up a copy of Fant and starts cranking out a game? A nasty side effect of this,is that it could lead to a kind of sub-class of people who dabble with assembler,find it too hard,and dump it in favour of some horrid high level package? Either that,or it's just me that struggles with assembler and thus beckons my hasty departure in search of a copy of "Moron Basic v1.0" ;) Paul
Date: Wed, 08 Apr 1998 12:50:13 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Hi there >I'd like to believe that there's loads of people out there that have a copy >of Fantasm,but are struggling to write cool apps with it (like myself ;),but >if the mailing list is anything to go by,then this is not the case.Maybe >it's just like a newsgroup,with 100x more people lurking than responding? >Who knows? Well, let's not hope the former is true. If everybody's just too shy to say something, bad things are going to happen i.e. everybody's going to talk c++ in a while. >For me personally,I've just been plodding along,learning a bit at a time - >writing heaps of pointless little apps so I can figure out how certain >things work.I'm optimistic enough to believe that I will one day put a >couple of these "odds & sods" routines together and make something I could >release :) And I bet a lot of people are doing just like you. But I'm betting that a lot of internal debates and example code could cut down on the time trying and give a higher success-rate to completing. >This brings me to a bit of a point (yes,there is one :) It would be a good >idea to share code and theories,I agree,but as I mentioned above,Fantasm and >this mailing list seem to be for serious coders who are just a *little* bit >beyond the "How do I do a dialog box?" type questions, It's not for me to speculate on Lightsofts buisness strategies, but I imagine that this is not the message the want to send? If the users are doing good, Lightsoft should be doing good too. Also, different users have different needs and interests. No doubt there's some on the listserver whose knowledge of assembler appears to be God-like, and naturally it's not their job to educate everyone else. But it still seems like a good idea to have some more talk/code and so on. We might not all be equally good at assembler, but we ought to be able to learn. >so what kind of code snippets should be submitted? Everything! I can imagine little that isn't of interest to someone. A scroller, a dialog box, an animated about-box, spriteplotters, sprockethandling. The possibilities are endless. Personally, FPU-use is still pretty much a mystery to me, even though I've read Rob's article on the subject, I've seen precious little of it in use. Interrupthandling? Used it all the time on Amiga, but the Mac continues to puzzle me. There are more subjects than I can think of. >Perhaps there are a lot more people in my position who feel they have >nothing to offer the mailing list (and web site) because of the "I'm out of >my depth here" factor? Surely not *everyone* just picks up a copy of Fant >and starts cranking out a game? You see? Right here! That's the problem. If everyone feels out of their depth, nothing's going to be done. I'm fairly certain I belong to bottom 10% in the "knowledge of assembler"-category, but at times I try. My experience with sharing source has been kinda weird. I don't think I've ever recieved any comments, tips or anything about my source, which either suggests it is too difficult (not likely) or no-one really cares. I *did* modify the Scumble-demo for someone on the list-server, which goes to show that if someone has a problem I can help with, I'm more than willing to try. >A nasty side effect of this,is that it could >lead to a kind of sub-class of people who dabble with assembler,find it too >hard,and dump it in favour of some horrid high level package? Yes, as far as I remember this has already happend on one occasion. I would imagine that this is not at all desireable for neither Lightsoft nor us, the users. I have always learned computer languages by looking at other peoples code. This has been true in a much lesser degree for PPC, because there's not a lot to look at. If it wasn't for the example code from Lightsoft, I would still be on 68k. So, Paul, unless we face the fact that some people on the listserver simply have a lot more brains than you and me will ever have, we'll have to do something about it. >Either that,or it's just me that struggles with assembler and thus beckons >my hasty departure in search of a copy of "Moron Basic v1.0" ;) Could you mail me a copy ;) I want to stress that this really has nothing to do with Lightsoft. Whenever I have question they go beyond the call of duty to help. Even debugging my code and pointing out the error. Now THAT is customer-service. But I'd hate to bother them too often. After all they are busy writing Fantasm, Fanta-C and whatnot. And besides, maybe my problems could interest more people. So naturally I have only myself to blame. I had a problem and I asked Stu and Rob instead of the people on the listserver. But sometimes is a rather daunting task to ask the listserver, because you don't want to appear stupid, you don't want to bother people. Well, as I said, my own fault. But I'm anxious for this to change. There are many things I want to learn more about, and it is difficult to get hold of assembler knowledge. The only "gems" are Random Rob and Stuchat. Unfortunately they are not updated that often, which is understandable, mind you. It's diffcult to take any action to better this state of affairs, untill we/I know if it's a problem for anyone but me and, I presume, Paul. So if anyone is interesting in working towards a solution for all this, please let me know. Mail the list-server, why don't you. In any case, it has been nice to hear from Daniel Bondard and Cliff Harris (BTW Cliff, it appears that the next OS release, Allegro, has a lot more native code ... or so www.macosrumors.com tells me). It was great to hear that Cliff has made some programs. I didn't know about anything much besides the highly succesful Mouseigator (I think that's the name?). Shareware of the week on www.macaddict.com. Nice one! Allan maccoder@post6.tele.dk
Date: Wed, 8 Apr 1998 13:54:04 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Hi, Well you must have all noticed that I'm not a dead user of this list :) I consider myself as the weekest mac programmer here, so that's why I don't submit my discoveries (my latest was with Ajay's aetester: He wrote: lhz r3,gEventRec+evtWhat(`bss) Where I wrote: la r20,gEventRec(`bss) lhz r3,10(r20) Two differences: a) My code takes more place b) My code is unreadable The parathese is closed ) I also consider myself as one of the youngest assembly programmer's on this planet. Perhaps am I wrong? I started to use assembly because CodeWarrior was just a dream hey, 1000$ over here). Anyways, I really wouldn't mind more mail comming in this list. There are three different systems available for free: a) This list b) My mac assembly competition c) My test of time (TOFT). I started the mac assembly competition, but only one of you joined ;) <--a wink to Paul. The TOFT is open to everybody. You can mail me anything you want... I have lot's of server space (I'll have about 100mb by the end of summer). Ok two good reasons to submit your sources to my TOFT: a) If you reguraly send code to one of the three 'systems' above, the day your hard disk will crash, you won't lose anything. b) And the day you'll have a son interested in assembly just tell him: go look at the list !!! >This brings me to a bit of a point (yes,there is one :) It would be a good >idea to share code and theories,I agree,but as I mentioned above,Fantasm and >this mailing list seem to be for serious coders who are just a *little* bit >beyond the "How do I do a dialog box?" type questions,so what kind of code >snippets should be submitted? Are you thinking about me? >Perhaps there are a lot more people in my position who feel they have >nothing to offer the mailing list (and web site) because of the "I'm out of >my depth here" factor? Surely not *everyone* just picks up a copy of Fant >and starts cranking out a game? A nasty side effect of this,is that it could >lead to a kind of sub-class of people who dabble with assembler,find it too >hard,and dump it in favour of some horrid high level package? That's what almost happened to me. I wrote a long letter about 'Why this' to rob and stu about 2-3 months ago. Oh last thing: I promise not to send anything silly and easy anymore to the list. I can feel all of you saying: 'At last he's going to stop' Bye... Alok web site (Last updated: 5 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: Wed, 8 Apr 1998 16:05:29 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Alok Hi, To continue with the discussion, when I started programming, I had problems with the toolbox calls, since I didn't know about Inside Mac. Well I found a book (that I'm still using) that gave an example of each and every call. But it is Pascal (old style pascal). SO I think a good start would be to translate it into Assembly? Just yesterday, I was sent a list of PPC commands. It's hudge, and I wonder how to use half of them. I have asked the autor of the list if I can put up the list as a .sit file on my web site. Then we could try and write an example code for each command ? Bye, Alok web site (Last updated: 8 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: 08 Apr 98 07:30:49 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re:Hello? Anybody out there? Paul wrote: A nasty side effect of this,is that it could >lead to a kind of sub-class of people who dabble with assembler,find it too >hard,and dump it in favour of some horrid high level package? Actually, I find programming in assembly language much easier than in a high level language. I am working on a driver for work in C that's been a real pain because of all the typecasting and strange pragmas and other weirdness that goes with C. For example, I have to use Microsoft's IDE for Windows 95. I have written a driver that requires certain routines. The IDE (Integrated Development Environment) tells me that some of them can't be found. They have this strange system that wraps the routines in multiple wrappers so that they can be called from a high level application. So I have 417 libraries on my hard drive that could contain these routines. I know of no way other than opening them one by one to look at their exported functions to find the ones I need. There doesn't seem to be a Microsoft version of Lightsoft's Librarian that would make this task easier. I have to use DUMPBIN.EXE and pipe the output to a text file in DOS!!!! The docs for device drivers suck in a major way also. I just read an article in this week's PC Week entitled "Microsoft to Clean up Device Driver Mess" that said that Microsoft admitted at WinHEC that their docs need a major upgrade. Inside Macintosh is big and it takes a lot of searching to find what you need, but it's fabulous compared to Windows docs on CD-ROM that are incomplete with some things that are just not mentioned at all. On the Mac side I have to deal with CodeWarrior's idiosyncracies, but it's much, much better than Microsoft's stuff.
Date: Wed, 8 Apr 1998 14:04:39 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Paul wrote... >Lightsoft,by their own admission is doing quite well,and Fantasm is >obviously selling at rates they occasionally have trouble keeping up >with,but I often wonder if the same number of people who buy Fantasm are on >this mailing list We're still here, and yes it's true we do have trouble keeping up with orders (we haven't recovered from last weekend yet and we have to do the official 5.1 PR sometime). It would also be fair to say that the number of people on this list does not equal the number of people using Fantasm, but then that's to be expected. The number of people on this list has been constant for quite a while. I can tell you there are some fairly "rabid" users out there (we get mail from them) who we never see on this list, which is a bit of a shame. I'm sure they could contribute. I would guess part of the problem stems from the fact that programming in general is a fairly (very?) solitary occupation. And a lot of programmers simply do not know how to socialize. I for example am probably the world's shyest person (outside of my immediate family). But I have no problem with email or list chat. Maybe people just need to discover that what one puts into helping others is normally repaid many times over. Learning assembly is hard. I've said this before, but it took me some three years to become fluent in 68K pc relative (pos inde) programming. I wish there was somewhere I could've posted a "why does this code crash?" question. We generally try to not get involved - we have found that if we participate too much things get too "damped". We do read every mail posted to this list and do answer where we think it's right. Most of our work is done behind the scenes supporting individuals. Many times it's simple, but many times we have to sit down and write code. Now if these requests were posted on the list, then more people could benefit. Indeed, a StuChat which should've been posted yesterday (lightening strike, modem dead) contains two items from support that most will find useful. A long time ago there was a group of people who use to hang out on a Birmingham based BB. We'd log on every single chance we got, simply because although it was generally quite hi-tech and proggy based, it was also fun! There would be jibes, jokes and general tom-foolery, along with great coding tips. I learnt a fair amount from just "conversing". >It would be a good >idea to share code and theories,I agree,but as I mentioned above,Fantasm and >this mailing list seem to be for serious coders who are just a *little* bit >beyond the "How do I do a dialog box?" type questions,so what kind of code >snippets should be submitted? That honestly is not the intended case. Whilst we strive to make Fantasm the best, we also strive to accomodate as many different users, styles and experience levels as possible. It would however be fair to say that development of Fantasm is guided by what the most experienced people want. Just the other day whilst going over the final versions of the 5.1 docs update I thought that there is a lot of documentation, which maybe is "scary" to some people. It's easy to get lost in facilities, technology and jargon and ultimately achieve nothing. My advice to anybody struggling would be to a). get fant 5.1. b). Get a reference to the OS, such as the Toolbox assistant. c) Use the OS interface macros so you don't need to worry about particular calling conventions. d). Just do it. Pick something and write it. Here's a starter for 10 - write a BattleZone type game. All line based vector graphics (write a fast line draw algorithm), so no great swathes of data to worry about. Hard, but at the same time easy. Little Mac stuff to worry about, lots of coding and interesting problems. And if it's any help, and there's interest, we can start up a user area on the WWW pages - send in whatever you like, and we'll post it. We won't edit or touch it - we'll just post it verbatim. Allan wrote> > The only >"gems" are Random Rob and Stuchat. Unfortunately they are not updated that >often, which is understandable, mind you. Should be a StuChat tonight - mixing 68K and PPC in the same PPC container (plus some other stuff of course). I think at the end of the day, it's simply that people are afraid of making fools of themselves - and that is a difficult problem to get around. I've done it on this list - posted something which is completely wrong - it's easily done with email. I've also done it in StuChats and in various other places - even manuals. It will happen because people are just people and people make mistakes. It's no big deal. My advice would be to just post. If you get it wrong, so what? Either you'll realize the mistake and post a correction, or somebody else will do it for you and you may learn something. Life is about learning. No learning=No life. Maybe if we redesigned the "rules of this list" a little that may help? Suggestions? Stu.
Date: 08 Apr 98 12:49:55 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Just read Stu's post, so it reminded me of how I learned to program in assembly language. I bought an Apple II from a friend in 1980. I played around with BASIC but was not satisfied with the speed. Thought I should learn assembly, so I bought a book and read it. Felt I still didn't know assembly. Bought another book and read it. Still nothing. Bought another book and read it. Still nothing. Read a review of a great new assembly book, bought it, read it. Read another review, etc.... After five books I felt that I still didn't know much about assembly language. Finally decided that I needed to "just do it". I decided that I needed a project to work on, so I picked Star Trek because the source was in the Red Book in integer BASIC. I took each BASIC statement one at a time and figured out what it would take to do the same thing in assembly. Since I had a running program in BASIC and the source to compare with, I could see what needed to be done and could check my efforts against the original. I finished about 1/3 of the program before I left it and went on to other things, but the part I did was blazingly fast (as they say) compared to the BASIC version. For example, the BASIC version would take about a minute to draw the opening display. My assembly version did it in about a second. One thing about assembly is that even when it's inefficient it can still be much faster than compiled or interpreted code. Of course that's changing somewhat now that the compilers are getting better and better. So basically what I'm saying is that you should pick a project and define it exactly so that you know what you need to do. Then you can look at the PowerPC mnemonics and figure out what you need to do to accomplish the task. You can get help from Inside Macintosh and the sample code that's on the Fantasm CD.
Date: Wed, 8 Apr 1998 22:51:26 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: beginners Hi, Most beginner's quit assembly on the mac because of the graphical interface (that's when they think: DOS = Developper's Operating System :). So I think that getting something like VisualAppBuilder or any other pseudo-programminglanguage to work with PF will really help beginner's. BTW I'm now spending lot's of time getting my event loop to work. As you may have noticed, I closely analysing Ajay's work, so to tell you frankly: Lightsoft has done a great job to collect sources from all over the world ! BTW: I'm searching for source to include MOD sounds in my apps. I have searched every where but without succes. Bye, Alok web site (Last updated: 8 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: Wed, 8 Apr 1998 21:53:33 -0400 (EDT) From: Figaro Tea <humphret@ruby.winthrop.edu> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Hey Allan, long time no see, huh! It has been awhile since our discussions hasn't it, about a year I believe. Of course, a year seems like ages in the computer world. I still have that passion about assembly, I think it's one of the best languages that I've programmed in. It has its disadvantages mind you, but still one of the best -- I give it two thumbs up:) I agree with you though Allan about how the list has turned into a "Help Me!" list. It was much more fun when we arguing, er discussing:) Sure it probably pissed some people off, but hey, there's always something that pisses people off. Just say what's on your mind I say; talk first and think later, you may sound like a fool but you'll be a happy fool:) As for me personally I'm starting to get involved in more stuff now and don't have the time to argue like I used to. Actually, I don't have the time to *start* arguments like I used to:) I wouldn't mind getting down-and-dirty in a debate though. On your subject of what people are doing with assembly. Well, as you probably know, I'm writing a cool little system extension. It's actually surprised me how popular it's gotten. I didn't even know Mousigator was shareware pick of the week for MacAddict until I did a search on Excite for it. Assembly can be used for more than just writing games. Hey, have you downloaded the new version, 0.5.5? If so then what do you think of the pulsating frame browsing method? Cool, huh! It took me awhile to get the pulsating timed all right and lookin' all perty. (For the slang impaired, "perty" is a slang word more commonly used in the southern region of the USA, henceforth known as the South. It means pretty. It's not a proper word, I know, but it just kinda rolls off the tongue ..... "Man, that girl sure is perty!") Well, I better stop now, I'm beginning to crack myself up at what I'm writing. Besides I don't want to people to waste their download time too much on this message. See ya Allan, and everyone else, ..._Tim_... --=[I know everything...just not at the same time.]=-- http://www.shack.org/zzhumphreyt zzhumphreyt@kagi.com
Date: Thu, 9 Apr 1998 12:09:39 +1000 From: mrwhippy@pac.com.au (Paul) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Ok,Alan... Hello All, >And I bet a lot of people are doing just like you. But I'm betting that a >lot of internal debates and example code could cut down on the time trying >and give a higher success-rate to completing. True,but only if the debates aren't at risk of excluding beginners - all the time.People just starting to code in assembler also need access to a forum where they can learn.If someone is struggling to do a dialog box,then I don't think knowing how to do some whizz-bang algorithm is going to be of much use to them. >But it still seems like a good idea to have >some more talk/code and so on. We might not all be equally good at >assembler, but we ought to be able to learn. Couldn't agree more! >You see? Right here! That's the problem. If everyone feels out of their >depth, nothing's going to be done. I'm fairly certain I belong to bottom 10% >in the "knowledge of assembler"-category, but at times I try. Ok,I'm coming out of the Assembly closet :) I will release something very soon! >So, Paul, unless we face the fact that some people on the listserver simply >have a lot more brains than you and me will ever have, we'll have to do >something about it. I faced that fact ages ago :) But I agree,someone has to start the ball rolling.As I said in the comment above,I'll have something out very soon :) >Whenever >I have question they go beyond the call of duty to help. Even debugging my >code and pointing out the error. Now THAT is customer-service. I must agree.Lightsoft is MUCH more user friendly than other companies =) >But sometimes is a rather >daunting task to ask the listserver, because you don't want to appear >stupid, you don't want to bother people. Now who's feeling shy? ;) I think that's a common feeling and perhaps a reason why other people haven't used the list to their advantage :( >It's diffcult to take any action to better this state of affairs, untill >we/I know if it's a problem for anyone but me and, I presume, Paul. >So if anyone is interesting in working towards a solution for all this, >please let me know. Mail the list-server, why don't you. Presumption correct,Alan :) And yes,I am. Paul
Date: Thu, 9 Apr 1998 12:12:11 +1000 From: mrwhippy@pac.com.au (Paul) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: beginners Alok wrote: >I'm searching for source to include MOD sounds in my apps. I have searched >every where but without succes. Try looking a little closer to home :) Have a look at Lightsofts 1998 demo - it's got a method you could use :) Paul <mrwhippy@pac.com.au>
X-Listserver: Macjordomo 1.1a23 - Macintosh Listserver by Michele Fuortes Date: Thu, 09 Apr 1998 05:55:46 +0200 From: bondard <bondard@ens.fr> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: beginners Alok wrote: > BTW: > > I'm searching for source to include MOD sounds in my apps. I have searched > every where but without succes. > Antoine Rosset's Player Pro dev kit is good; but it's C code. You get the full source too... How about porting to asm ? :)) ----------------- Daniel Bondard bondard@ens.fr ----------------- Never believe that you know the last thing about any human heart Henry James
Date: Thu, 9 Apr 1998 00:37:58 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Yet another small NftT Hello chaps and chapesses, Just a short News From The Tower highlighting some recent news. 1. Paul (mrwhippy@pac.com.au) has released his ByteSwitcher which is a tool I wish we had when doing the 98 demo! Data Fork <-> Resource convertor. F5 project w/source (PPC) in downloads and updates area. Thank you Paul. 16K. 2. Fantasm 5.1 demo is on-line. It's a 68K only build to keep the size down. Won't boot after 30 days. Limited in how much code can be produced. Examples included. 1.2 Meg. 3. Various other misc pages have been added and/or updated: StuChat#27, List archives to early April. 4. The WWW pages are getting a small (maybe large) overhaul this week, so expect some disruption for the next few days. We try to do as much of it off line as possible, but as you may know, some of our data comes from another server, so we do need to do some on-line testing. If the pages misbehave, just try again some time later. 5. Here is a list of all known bugs in Fantasm 5.1 at this time (with thanks to their respective reporters): a). Sound Manager 3.3 (Installed with QuickTime(tm) 3) can cause Fantasm to crash when building large projects. b). Local labels - these are limited to 18 characters in length. When exceeded no error is thrown, instead Fantasm throws away the declaration and then reports an undefined label error. c). There may be a problem with two character identifiers used in register equates - e.g. s0: reg f1 END
Date: Thu, 9 Apr 1998 06:44:39 +0100 From: rob@zedworld.demon.co.uk (Rob Probin) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Hi everyone. You know, one thing we hate about being "Rob and Stu" is the fact that when we answer a question, it tends to kill the conversation. You know: (a) we love to talk programming, (b) we are not always right, (c) we hate our effect on conversation killing. You know we'd love a group like this to paritipate in :-) The other reason I stay off the list is simply time. I like to program as much as possible. Thats what we do. I DO read everything that goes to the list. I'm sure this is true of quite a few programmers. You asked about the list...What I would like to see as a sort of aim is to discuss mostly programming, of any sort, as long as some is assembler "related", of which some is Fantasm. Any level. Any topic. Noise? - this is a discussion group, you ALWAYS get noise... If people don't want to know, then they can always unsubscribe. There is, however, a side effect of lots of mail on a list/group - less people read and reply, which means only a few people get involved....has anyone else noticed this effect??? Yes, we have noticed the Mac is assembler starved. Thats the only reason we are here....are there other assembler code resources??? Another topic...I never comment on someones code unless they specifically ask me. I know I have debugged several routines. The aim is always ONLY to fix the bug. The reason is two fold: (a) time, (b) I feel it is bad manners to critise others - even if I see opportunties to improve peoples code, without them asking. What do you think of this?? Perhaps I should comment on assembler on the list?? Oh, and Alok, try not to get so jumpy. You provide may of the GOOD questions... >>Either that,or it's just me that struggles with assembler and thus beckons >>my hasty departure in search of a copy of "Moron Basic v1.0" ;) >Could you mail me a copy ;) Now theres a winning app to write in assembler :-) Regards Rob =- Wot Sig? -=
Date: Thu, 9 Apr 1998 10:06:20 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Sprite Hi, I was working last night on ym sprite routines. Suddenly as I added my fourth sprite, the hole thing started flickering. So I decided to do some offscreen drawing. I created a new pixmap and pasted my graphics in them. But as I call PlotCIcon, my icons are displayed on the screen. Sow how do I draw offscreen? I have been reading throgh inside mac Imaging with QuickDraw, but couldn't find anything :( Bye, Alok web site (Last updated: 8 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: Thu, 9 Apr 98 11:00:23 +0200 From: Erik Houltz <erik.houltz@clavicula.mednet.gu.se> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: picture in window Hi all! Could someone please help out with this rather basic question, that got me completely stuck. I have 18 384x256 pixel bitmaps (just 256 rows of 384 8 bit greyscale pixels for each frame) that I dumped from a framegrabber running on a PC-machine (I know, I know, but such things are expensive). I read this file into memory and display a moving picture on the mac screen, first having saved the screen under the image. No problems using the routines supplied with Fantasm. Now I want to display the pictures in a window instead (to allow the user to move the window, and to avoid the problem of saving the desktop under the picture). This sounds as a trivial problem; just make the windows bit map pointer point to my data, and change it as each new picture should be displayed - no doesn't work. So open a window, find out the address of the pix-map and write the data, starting at that address, - doesn't work either. Maybe use the NewPixMap call and use the handle returned? However IM says you should not use this call, and what do I do with the handle if I get this working? Surely it shouldnt be written into the windows grafPort? Suggestions anyone. Any help would be greatly appreciated. Erik Houltz erik.houltz@medfak.gu.se
Date: Thu, 09 Apr 1998 13:54:55 +0200 From: "Per Hjeltman" <leahjn96@student.umu.se> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Ok,Alan... >>You see? Right here! That's the problem. If everyone feels out of their >>depth, nothing's going to be done. I'm fairly certain I belong to bottom 10% >>in the "knowledge of assembler"-category, but at times I try. > >Ok,I'm coming out of the Assembly closet :) I will release something very soon! Okay, guys, you've inspired me. I have written a "demo" which does scrolling text a la Amiga. (BTW: Allan Jensen helped me with it -- thanks a lot Allan!) I will release it as soon as I find time to clean up the code. Right now it's so obfuscated that even I am having great trouble reading it! :)
Date: Thu, 9 Apr 1998 11:47:14 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: MOD >Try looking a little closer to home :) Have a look at Lightsofts 1998 demo >- it's got a method you could use :) I don't have the source. Waiting for my PF 5.1 ... >Antoine Rosset's Player Pro dev kit is good; but it's C code. You get >the full source >too... How about porting to asm ? :)) I'll try that. It sounds hard, but there nothing to risk. I'll start today. Thx for your help. web site (Last updated: 8 - Apr - 98): http://alok.hypermart.net/ Have not yet visited my NEW website yet? You CAN, you SHOULD, you MUST !
Date: Thu, 09 Apr 1998 14:27:04 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? Hey All Well, it appears that there indeed are other people out there. That's great. And Paul already send in an APP, with great comments too. Great days! If only the trend could continue. I will certainly try to remember any interesting bits and pieces I have lying around. Conseqently I think that a user-area on the WWWpages is a good idea. I'm glad that Figaro remembers our little debate with a smile on his lips. There was times I thought he would hunt me down ;) Both Rob and Stu's comments on the whole matter, has been rather gratifying. As I said I think a user-area is a good idea. And personally, Rob, I wouldn't mind at all any critique you might have on my code. How else am I going to learn? It is, of course, difficult to wrap your mind around the concept that Rob and Stu aren't always right. But I will try to keep it in mind. I was hoping/waiting to hear from those of you who only used the list-server to keep track of any news from Lightsoft, and didn't really want to get mail about discussions/debates and the like. But in the absense of such mails, I will assume that people wont mind. Whenever I have participated in a debate that was longer than a few mails, I have made it a habit to end each letter with something like "now, I don't want to go on about this" or "sorry for the length of this letter". I will try to stop now. So, as mentioned numerous times, from now on I'll try to write a few more snippets of code and start some interesting debates. I can only hope that you will do the same. To finish off, I just want to apologize for the length of this lette .... damn. Allan maccoder@post6.tele.dk
Date: Thu, 09 Apr 1998 14:35:35 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Scrolling Right. Remember this one?: "My absolute favourites are demo writers - oops, sorry - "coderz". Rob's definition of a demo coder - "can't handle big systems, so writes small demo's instead" - yes that's right - failed game authors (you have his email adress :-)). It's true. I'd bet quite a lot that you'll never see a scrolling mac demo - you see scrolling mac games (but not many), but not scrolling Mac demos. Why? 'cause it's too hard for the demo coders to keep track of all the printing operations and manage scrolling at the same time. How many scrolling amiga demos were there - lots. How many "copper" demos was there - lots. Why? 'Cause it was easy." That, as you might have guessed, was from Stuchat. I bet you think I'm insulted ;) As it happens, there *was* a scrolling part in Scumble. First Stu's immortal words was on the screen, and then replaced by a scrolling landscape. I thought it was rather funny, but had to admit that the scroller wasn't that great. It was only vertical, and since timing is still somewhat of a mustery me to me, it wasn't smooth. Thus is was left out (especially after YASDE). Also, it appears that Stuart is right. Scrolling on the Mac is not that trivial a problem. Well, the scrolling is easy. It's how you arrange the things that should scroll onto the screen. It was easy on the Amiga. Did it all the time. It's pretty easy on PCs too, what with Chain-4 and Mode13h, and whatever they are called. So I thought this was a nice topic to get some feedback on. Just to get the ball rolling. Recently scrolling has been spotted in the new Ambrosia game, Mars .. something. Or was it Pluto ... something? Anyway, on my 120mhz I seemed to able to see a glitch in the scroller now and again. And the scroller could hardly be said to fill the whole screen. It might be such a thing that would be a Good Idea to make in assembler. Here's is how I did it. I'm making the assumption that you know that most scrollers are made from tiles i.e. the scrolling area is build from a lot of tiles that makes the whole picture. A tile is usually 16*16 or 32*32 pixels in size. First thing we do is reserve some memory for the screen-buffer. We'll need SCREENSIZE*2 (I'll tell you why, later). Each frame we'll need to copy SCREENSIZE from the buffer to the screen. Before we can go into the mainloop and start scrolling we need to build a complete screen. For this example the scroller could be defined like this: map: dc.b 1,2,3,4,5,6,7,8,9,a,b,c,d dc.b 1,2,3,4,5,6,7,8,9,a,b,c,d Where each byte represents a tile-number. So get the tilenumbers from the map and splat a complete screen to the, erm, screen (a screenful of tiles, if you will). Allow me to impress you with my abilities as an ASCII artist: This is the buffer Remember its size is 2*SCREENSIZE ________________ / \ This is the part you draw and splat to the screen initially _______ / \ _________________ BUFFER_ADRESS-> |123456 | | |123456 | |123456 | | |123456 | |123456 | | |123456 | |_______|_______| Having done that we can start to scroll. Scrolling is as simple as adding an offset to the adress of the buffer you are splatting to the screen. In this example it would be: BUFFER_ADRESS+1. Simple. But wait! We're scrolling in to empty territory, and that's no good. To counter this, we splat a row of tiles just outside the BUFFER_PAGE, like this: A new row of tiles \/ _________________ |123456 |7 | |123456 7 | |123456 |7 | |123456 7 | |123456 |7 | |123456 7 | |_______|_______| So now, when we scroll, the new tiles will enter the screen. And when that row of tiles is inside the screen, we splat a new row: ________________ |1|234567 |8 | |1 234567 8 | |1|234567 |8 | : : . . The row of tile '1' is now scrolled outside the viewable bufferarea. So now we've got a nice scrolling area ... except it doesn't work. What happens when we reach the end of the buffer? Screen splat area _______ / \ _______________ |123456|789ABC| |123456|789ABC| |123456|789ABC| : : . . Well instead of just ignoring the parts we scroll out of the screen, we can use them. Whenever we splat a row of tiles at the RIGHT side of the buffer we splat an identical row of tiles at the LEFT side. So the first time we splat a row to the screen, it will look like this: Identical rows \/ \/ _________________ |7|23456|7 | |7 23456 7 | |7|23456|7 | |7 23456 7 | |7|23456|7 | |7 23456 7 | |_|_____|_______| If we keep doing that, the buffer will eventually look like this: Screen splat area ______ / \ ______________ |789ABC|789ABC| |789ABC 789ABC| |789ABC|789ABC| |789ABC 789ABC| |789ABC|789ABC| |789ABC 789ABC| |______|______| All we need to do when we reach the end of the buffer, is to reset the offset (you remember? The one we added to BUFFER_PAGE) and Bob's your uncle. We can start over. It's the same principal for an horizontal scroller. The problem with all this, is that it takes an ungodly amount of memory if you want to make an 8-way scroller. At worst 5 or 6 times the screenmemory. Thus is cannot possibly be the best solution SO ... any ideas? How would you do it? This has been like a test-balloon. A problem that I've wondering vaguely about, and that some of you might be able to help with. Now as you might have guessed this is the sort of thing I'm "into". GFX-effects and gametype things. A debate on how Kaleidoscope *really* works would, to me, be equally welcome (just an example). Allan maccoder@post6.tele.dk
Date: Thu, 9 Apr 1998 11:32:21 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Hello? Anybody out there? >> I also consider myself as one of the youngest assembly programmer's on this planet. Perhaps am I wrong? << Actually I had heard that Darin Adler wrote one of the major mac debuggers in assembly at the age of 12 (it sold well too) & went on to enter Harvard at a very early age. - Ajay Nath
Date: 09 Apr 98 08:43:26 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Assembler starved rob wrote: >Hi everyone. > >Yes, we have noticed the Mac is assembler starved. Thats the only reason we >are here....are there other assembler code resources??? I'm still using Consulair's 68K assembler on my Mac IIci. It's not 32-bit clean so I have to run it in 24-bit mode. Good thing I had the foresight to pass on the cheaper IIcx (24-bit only) back in 1990. Now I'm stuck at System 7.5.5 because 7.6.1 won't run in 24-bit mode. I really like the environment, but it's limited by not being upgraded in years. Bill Duvall shut down Consulair years ago and moved to silicon valley where he went into the internet porn-filtering business. The name of his app/plugin/whatever escapes me at the moment. I think it's SurfWatch. Anyway, he was the one who wrote MDS (Macintosh Development System) for Apple, which became CDS (Consulair Development System) when they gave it back to him. I have heard about the MPW assembler, but have never seen it. Supposedly you could download it from Apple's web site, but I couldn't find it when I went looking for it. Also there was supposed to be documentation for it, but there was none listed in the old APDA catalog when I looked a few years ago after I bought ETO #19 at MacWorld. I hear that CodeWarrior will do assembly, but it's very painful and uses C syntax. It's sort of an inline coding situation. Hearsay only, I don't know for sure. I bought CodeWarrior 10 several years ago, and at the time they told me inline assembly was planned for a future release, but I never pursued it. I looked at 68K Fantasm years ago (I think it was on a Celestron CD), but passed it up because it didn't implement the RTD opcode (still doesn't, from what I saw when I looked recently), one of my personal favorites which I was really hot on at the time. I stopped using RTD because it's only available for 68010 and up and I wanted to be backward compatible to those guys with their Mac Pluses (I had a 512Ke for years and own a PowerBook 100 so I know the pain of apps that don't work on the old machines).
Date: Thu, 9 Apr 1998 17:58:12 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: MOD Hi, just downloaded the mod stuff: DONT COUNT ON ME TO TRANSLATE THAT INTO ASSEMBLY !!! Anyways, why sould anyone spend time converting it into assembly? Stu & Rob were able to get the demo working, so there is no need for conversion. Anyways, still can't get the mod to work in my project :( Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Thu, 9 Apr 1998 11:53:05 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Know any good asm books? Well here is topic of discussion that might help others. What books have people used to help them learn Mac assembler, 68k or PPC? The BEST Mac (68k) Assembly Language books EVER written were in 2 volumes. The first was called something like "The Complete Macintosh Assembly Langauge Guide" or something like that. It had a bluish/ purplish cover & was paperback. It was beautifully written & was very simple. It used the original MDS assembler as its system. There was a second smaller volume which was equally good. It showed how to use the mac toolbox to build several fairly non-trivial examples. I have forgotten the authors name but he went on to write a C++ book & a MacApp book which were both great. The asm books are out of print I think. Whenever I mention to mac programmers that I have copies of both asm books they offer me $$ for them but I will NEVER part with them even though I never look at them now. The PPC asm book I have been using is "Optimizing PowerPC Code" by Gary Kacmarcik. There is really no mac toolbox code at all...it is just a very good book for the PPC...the best I have seen. The motorola PPC PDF manuals (available at their web site) are very good also & for free they will send you paper copies...you might have to pay for the shipping. IBM will also send you their PPC manuals for free...you pay postage or a minimal charge. - Ajay Nath
Date: 09 Apr 98 09:51:52 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: picture in window Erik Houltz wrote: >Hi all! > >Now I want to display the pictures in a window Check out the windowPic field of the Window record on page 4-66 of Inside Macintosh Mac Toolbox Essentials. I have never used this, but I remembered that it was there. Supposedly there is a SetWindowPic routine that will do the job. Maybe you can get it to do what you want.
Date: Thu, 9 Apr 1998 17:03:56 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: WWW pages down shortly/user area/RoutineIndex Hello all, >I will certainly try to remember any interesting bits and pieces I have >lying around. Conseqently I think that a user-area on the WWWpages is a good >idea. As mentioned previously the site is undergoing an overhaul as we speak. You'll probably find some pages not found at the moment, and the whole lot will be down from 0730 GMT tomorrow for a few hours. We'll post to this list when the pages are back up. We would like your ideas on what this user area would look like and how it would operate. Post your thoughts to the list as soon as possible. As it is, we intend to move all the user items out of the downloads and updates area into the user area . If anybody has anything they think would be useful for the user area please send it to either Rob or myself as soon as possible - notes, text, code, decor, whatever - all is appreciated. And what about a name? "User Area" just doesn't run off the tongue, does it? It's your area remember. On another note, we have received a few emails from users tonight saying why don't we advertise/promote Lightsoft more etc. Simply put, we do not have the time nor resources for such action. On updates we let news sites know the same as anybody else - but our goal is to engineer, not market. Of course, please feel free to help the cause :-) On yet another note, Cliff Harris has released RoutineIndex. This is a useful resource for anybody using Fant 5 - it indexes and makes searchable MacOS calls and gives you IM references and the Anvil .def file you need to include in your project (along with other information). Cliff has made it available and it will be available from our pages as soon as we get the site back up tomorrow. Thank you to Cliff. Stu.
Date: Thu, 9 Apr 1998 23:08:36 +0100 From: Rob Probin <rob@zedworld.demon.co.uk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Playing MODs Alok, This is from the New Year demo. Things to remember:- (a) Its PowerPC only. (the demo plays no music in 68K). (b) The _demo_ uses LXT to produce both 68K and PowerPC code, therefore this looks like 68k. (c) It uses Universal OS Calls.LXT to call the OS. (No worries about parameter passing). (d) We also use both stack type data (our local's macros) and xxx(pc) type data. The latter type is actually encoded as data, rather than in-code by LXT automagically. (e) Watch the 68k register to PowerPC register mapping by LXT - d0 is r3. (f) You will need the resources pMOD (the mod player) and MADH (some mods). In init_music, pMOD (a resource based fragment) is loaded as a resource, moved high, bolted down, then prepared (See IM: PPC Sys Soft, 3-11). We switch to PowerPC instructions here (macs_last mean the LXT macros will only convert if Fantasm can't find it as an instruction or directive). We then call the fragment, use macs_first to go back to 68K instruction conversion, and return. After that, play music is simple: we take a parameter in d0, change to PowerPC instructions, and call the fragment to play the tune. It is a quite a _intense_ piece of code, but follow it line by line, and you should see how it works. if PPC init_music: **get frag local.b dontcare_err_name,258 local.l conn_id,1 link a4,#-300 ;demo flag clr.l music_playing(a5) *not playing qmove.l #"pMoD",d0 qmove.w #128,d1 OSGetResource d0,d1,d0 lea mod_handle(pc),a0 move.l d0,(a0) *Dont want to use globals... OSMoveHHi d0 move.l mod_handle(pc),d0 OSHLock d0 **Instantiate frag move.l mod_handle(pc),d0 OSGetHandleSize d0,d3 *size in d3 move.l mod_handle(pc),a0 qmove.l (a0),d1 *frag lea toolp_name(pc),a0 qmove.l #5,d4 *load frag lea conn_id(a4),a1 *conn_id goes here - we dont care about it! lea mod_tv(pc),a2 *pointer to TV lea dontcare_err_name(a4),a3 *error OSGetMemFrag d1,d3,a0,d4,a1,a2,a3,d0 *mod_tv should be all made up. **Now call with init command clr.l d0 *the command lea mod_tv(pc),a0 macs_last **Stack frame - we need 24 for linkage and 88 for up to 22 int params stwu sp,-112(sp) ; parameter area and linkage area for subroutine ; ref: IM PPC System SW 1-47 ; 112=keep octal aligned *set up params lwz r12,(r20) *load transition vector from a0 stw R2,20(sp) *save my RTOC lwz r0,0(r12) *get callee address mtctr r0 *prepare branch lwz R2,4(r12) *set callee RTOC bctrl *bsr to callee lwz r2,20(sp) *get my toc back **Tear down stack frame addi sp,sp,112 macs_first unlk a4 rts global init_music **D0=track=1,2 or 3 play_music: lea mod_tv(pc),a0 macs_last **Stack frame - we need 24 for linkage and 88 for up to 22 int params stwu sp,-112(sp) ; parameter area and linkage area for subroutine ; ref: IM PPC System SW 1-47 ; 112=keep octal aligned *set up params lwz r12,(r20) *load transition vector from a0 stw R2,20(sp) *save my RTOC lwz r0,0(r12) *get callee address mtctr r0 *prepare branch lwz R2,4(r12) *set callee RTOC bctrl *bsr to callee lwz r2,20(sp) *get my toc back **Tear down stack frame addi sp,sp,112 macs_first rts global play_music align 4 mod_handle: ds.l 1 *handle to resource mod_tv: ds.l 2 *tv of modplayer toolp_name: pstring "play music" align 4
Date: Thu, 9 Apr 1998 23:27:54 +0100 From: Rob Probin <rob@zedworld.demon.co.uk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling >"can't handle big systems, so writes small demo's instead" I *KNEW* that would come back to haunt me. As soon as I'd got it out my mouth I KNEW. Stu killed himself laughing, saying "thats one for the chat". He's got a book FULL of them (me putting both feet in it), so don't expect him to dry up of stu chats anytime soon. And as a demo coder I would just like to say its all NOT TRUE!!!! :-) <grin> Nice article, btw, Allan. Rob
Date: Fri, 10 Apr 1998 12:08:43 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Know any good asm books? On 09/04/98 17:53 Ajay Nath at AjayNath@compuserve.com >The motorola PPC PDF manuals (available at their web site) are very good >also & for free they will send you paper copies...you might have to pay for >the shipping. IBM will also send you their PPC manuals for free...you pay >postage or a minimal charge. I've been able to quickly reach motorola's litarature center but no way I could land to ibm's, I spent hours surfing all their sites without any luck, could you send me the exact url please? Thx in advance, Mario
Date: Fri, 10 Apr 1998 12:32:07 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Assembler starved On 09/04/98 17:43 Cliff Harris at cliff_harris@orangemicro.com >I hear that CodeWarrior will do assembly, but it's very painful and uses >C syntax. It's sort of an inline coding situation For what it is worth, in my opinion CW inline assembly is a decent solution, the point is that it's just a method of implementing a bunch of asm routines in a C/C++/Pascal program, thus one can't make a comparison between CW and Fantasm this way. CW inline assembler lacks of _many_ opcodes and has no macros except a few simple ones, (opword xxxx which just equals to dc.w xxxx, but we could just use dc.w/l ourselves). The PPC assembler is a little faster but still holds the same defects, it's the best alternative when you have to develop few lines of asm code in a C/C++ environment (never tried with Pascal, but I've seen it done), CW documentation is vague about the inline assembler, if you happen to need it I suggest you also take some time to figure out some preprocessor directives needed in these calling conventions. When I realise I'm going to need many assembly code in a C project I'm developing, I build it as a lib in fantasm and just link to the fragment through CW. Mario
Date: Fri, 10 Apr 1998 17:08:53 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Know any good asm books? >Well here is topic of discussion that might help others. What books have >people used to help them learn Mac assembler, 68k or PPC? > >The BEST Mac (68k) Assembly Language books EVER written were in 2 volumes. > >The first was called something like "The Complete Macintosh Assembly >Langauge Guide" or something like that. It had a bluish/ purplish cover & >was paperback. It was beautifully written & was very simple. It used the >original MDS assembler as its system. There was a second smaller volume >which was equally good. It showed how to use the mac toolbox to build >several fairly non-trivial examples. I have forgotten the authors name but >he went on to write a C++ book & a MacApp book which were both great. The >asm books are out of print I think. > >Whenever I mention to mac programmers that I have copies of both asm books >they offer me $$ for them but I will NEVER part with them even though I >never look at them now. > >The PPC asm book I have been using is "Optimizing PowerPC Code" by Gary >Kacmarcik. There is really no mac toolbox code at all...it is just a very >good book for the PPC...the best I have seen. > >The motorola PPC PDF manuals (available at their web site) are very good >also & for free they will send you paper copies...you might have to pay for >the shipping. IBM will also send you their PPC manuals for free...you pay >postage or a minimal charge. I'll have a look at Kacmarcik's book. I'll try to buy it here tomorrow. I currently use a book that's not been translated in English, called: le Grand Livre de la programmation avec Think Pascal. It' for pascal, but also very useful for anyother language on the Mac. I wouldn't mind some more info on the motorola PPC manuals and IBM ones too. Have you got their names? How many are there? Are they good? Easy to read? I touched architure PPC (by motorola) a year ago but found it too hard. I'll go get it back next week from the library. Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Fri, 10 Apr 1998 17:09:07 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Alok Hi, I'm really sorry to disturb you guys with this really silly question, but I really can't get to solve it (I promised not to send beginis question, but..) I have my event loop running thans to Ajay's nice commented code. But when I select something from the apple menu eg: Chooser, the Finder waits for my program to quit before opening the chooser. Another problem is while dragging my window, the finder dosn't update it's icons and texts. Why? Thx, and now lets get back to this cool discussion Allan has introduced... Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Fri, 10 Apr 1998 17:09:04 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Saving code snippets Hi, Was just reading the hudge amout of mail that comes everyday from mac-dev-list (apple's). And someone suggested that Ambrossia is a good place to post small codesnippets as they have lots of web page and already have quite a bit of code. Bye, Alok
X-Listserver: Macjordomo 1.1a23 - Macintosh Listserver by Michele Fuortes Date: Fri, 10 Apr 1998 11:31:46 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling >>"can't handle big systems, so writes small demo's instead" >I *KNEW* that would come back to haunt me. As soon as I'd got it out my >mouth I KNEW. Stu killed himself laughing, saying "thats one for the chat". Think I'll keep out of this one <G>.
Date: 10 Apr 98 09:48:14 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Know any good asm books? >The BEST Mac (68k) Assembly Language books EVER written were in 2 volumes. >The first was called something like "The Complete Macintosh Assembly >Langauge Guide" or something like that. > >There was a second smaller volume which was equally good. I have both books and I would agree that they are the best. I always wondered why, if the first one was "complete", there was a need for a second book. :-) Kacmarcik's book is generic PowerPC, which is why it has no Mac-specific examples in it. I believe he worked for IBM and was then hired by Apple when they started their PPC project.
Date: Fri, 10 Apr 1998 19:11:35 +0000 From: Benny Ronnhager <benny.ronnhager@soderhamn.mail.telia.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Linked list in 68000 asm! Hi! I want a linked list routine in 68000 asm? I want to know how it works to insert and delete elements. It is important that it is a fast routine. Benny -- MIDI Universe Welcome to my little world in Cyberspace... http://w1.270.telia.com/~u27002261 Benny Ronnhager benny.ronnhager@soderhamn.mail.telia.com 'The Dream Is Always The Same...'
Date: 10 Apr 98 11:25:17 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: Alok robot wrote: >I have my event loop running thans to Ajay's nice commented code. >But when I select something from the apple menu eg: Chooser, the Finder >waits for my program to quit before opening the chooser. You need to implement OpenDeskAccessory. I'm 99.99% sure it's in my ROM Sucker code that's on the Lightsoft web site. >Another problem is while dragging my window, the finder dosn't update it's >icons and texts. I assume you mean the icons and text in your window. If so, that's the normal mode. You're basically in a modal situation while you're dragging the window (I assume you're using DragWindow), so you don't get update events until after you're through dragging.
Date: Fri, 10 Apr 1998 21:19:06 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Alok On 10/04/98 17:09 Alok at robot@writeme.com >I have my event loop running thans to Ajay's nice commented code. >But when I select something from the apple menu eg: Chooser, the Finder >waits for my program to quit before opening the chooser. Use OpenDeskAcc >Another problem is while dragging my window, the finder dosn't update it's >icons and texts. You're probably not calling SystemTask, don't forget you mustn't block other systemevents as well. Hope this helps, Mario
Date: Fri, 10 Apr 1998 21:49:52 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Whoops. The bagel dives. >Hi, > >I'm really sorry to disturb you guys with this really silly question, but I >really can't get to solve it (I promised not to send beginis question, >but..) > >I have my event loop running thans to Ajay's nice commented code. >But when I select something from the apple menu eg: Chooser, the Finder >waits for my program to quit before opening the chooser. > >Another problem is while dragging my window, the finder dosn't update it's >icons and texts. > >Why? > >Thx, and now lets get back to this cool discussion Allan has introduced... > >Bye, Alok > >web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/ Woah now. I hope I haven't given the impression that I was against questions, being it beginners or experts. I didn't, did I? I just wanted there to be MORE than questions. I for one welcome any type of questions. In fact, I really admire you for keep asking questions. Correct me if I'm wrong, but you didn't know that much about mac-assembler before Fantasm, and you're already making programs. Don't know about "beginners questions" either, for example I don't know anything about the problem you mention above. Alok, if I could ask a favour, it would be nice if you wrote in the subject-field of your email what the mail was about. That way it would make it easier to manage the mail here at Allan HQ, otherwise all the letters end up being called Alok or re: Alok. I know my subject-fields are a little obscure at times (as this mail might prove), but I am sometimes at a loss what to write. But give it a try. About Ambrosia's website. As far as I could tell it's where C-code goes when it's dead. Perhaps a bit harsh, but it is mainly a place for c-code. Other than that: I suggest you keep on mailing. I often learn something each time you get an answer or have something to say. Otherwise things are looking up. Lot's of interesting mail, projects and so on. Keep it up, says I. Hope to see Per's scrolling demo soon, and I very much look forward to hear more about Rob's wisdoms-words through StuChat. Tell us how you really feel, Rob ;) Allan maccoder@post6.tele.dk
Date: Fri, 10 Apr 1998 13:00:19 -0700 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Saving code snippets >And someone suggested that Ambrossia is a good place to post small >codesnippets as they have lots of web page and already have quite a bit of >code. yes, ambrosia does a good job at collectiong the alt.mac.sourcecode news group code. If you can't find what your looking for there, check out my site at http://www.mactech.com/online. also send me some code-snippets to add :) +--------------------------+-----------------------------------+ | Kevin Avila | Cache Computing | | Head Honcho | kevin@cache-computing.com | | | http://www.cache-computing.com/ | +--------------------------+-----------------------------------+
Date: Fri, 10 Apr 1998 18:14:45 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Know any good asm books? Try http://www.chips.ibm.com/products/ppc/ for ibms ppc info. Unfortunately I remember that you can browse their docs from html pages but I couldn't download a pdf doc of the info...but you could call them & for $1 they sent me a great manual called "The PowerPC Compiler Writers Guide"
Date: Fri, 10 Apr 1998 18:17:43 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Assembler starved well these days when you get codewarrior the MPW PPCAsm tool is included with it so you can use that assembler....it probably is on your cd somewhere i used to use McAssembly which was a great quick little 68k assembler it is still in the compuserve libraries but i don't know if it works with the latest system software
Date: Fri, 10 Apr 1998 18:24:18 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Great Mac programming book author I remembered the author of the BEST mac assembly progamming books...his name was Dan Weston & he wrote some other great programming books too.
Date: Fri, 10 Apr 1998 19:23:26 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Lightsoft WWW Pages The Lightsoft WWW Pages are still down undergoing the overhaul. Normal service should resume within 12 hours. Regards Rob Lightsoft
Date: Fri, 10 Apr 1998 19:38:46 -0500 From: Santiago <oxygen@mail.utexas.edu> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Linked list in 68000 asm! >I want a linked list routine in 68000 asm? I want to know how it works >to insert and delete elements. It is important that it is a fast >routine. > >Benny Ronnhager >benny.ronnhager@soderhamn.mail.telia.com Aha! Something where I can actually give some tips. This is exactly what my class is working on at this moment, and much of the code has been provided for us. I'm sure my professor wouldn't mind if you headed on over her web site and took a gander at it, to see how it's done. (Though I'd mail her and ask for permission before actually copying any of it verbatim for a commercial use; her e-mail is somewhere on her pages.) Just go to <http://www.cs.utexas.edu/users/dianelaw/cs310/prgassn/prog4c.htm> and chase the various links. Once I turn the whole shebang in next Thursday, I'll be glad to share the rest of the code with you. (Nothing personal, it's just that I'm not willing to let out knowledge that's supposed to be secret until there's no possibility whatsoever of it somehow being obtained by other parties. Paranoia is the only way to guard secrets.) Best of luck! Sincerely, Andres Santiago Perez-Bergquist
Date: Sat, 11 Apr 1998 14:51:47 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Know any good asm books? On 11/04/98 00:14 Ajay Nath at AjayNath@compuserve.com >Try http://www.chips.ibm.com/products/ppc/ for ibms ppc info. Unfortunately >I remember that you can browse their docs from html pages but I couldn't >download a pdf doc of the info...but you could call them & for $1 they sent >me a great manual called "The PowerPC Compiler Writers Guide" Thx Ajay, that's what I needed Mario
Date: Sat, 11 Apr 1998 09:23:19 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Scrolling > >The problem with all this, is that it takes an ungodly amount of memory if >you want to make an 8-way scroller. At worst 5 or 6 times the screenmemory. >Thus is cannot possibly be the best solution > >SO ... any ideas? How would you do it? You don't need to store 8 screens worth around the main screen. All you need is a border, a tile width, around the main screen. You then splat in four "quarters", rather than one go, so as to get away with not worrying about the wrap. When you "scroll", you update the screen source pointers (MOD tile_width), and insert the new tiles at the border at the direction of travel. Also, rather than splat all tiles at the same time, you split the splat of tiles (across the row/column) over several frames. When you are using this method, you will require a DOUBLE row width of tiles (since you are splating the first row). In this way, you don't jerk every 16/32 frames, and spread the splat loading across every frame. (Split the splat? Spread the splat?!!!!) Regards Rob 'n' Stu
Date: Sat, 11 Apr 1998 10:58:24 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Know any good asm books? >> I always wondered why, if the first one was "complete", there was a need for a second book. :-) Because Apple keeps changing & updating the system software on us! ;)
Date: Sat, 11 Apr 1998 11:02:04 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: Alok Make sure that your app calls MaxAppleZone as part of its initialsation because if you don't then you won't get the hierarchiacal menus in the apple menu that the user might expect....the system patches MaxAppleZone & somehow uses the patch to enable the menu options that the user chooses from the "Apple Menu Options" control panel.
X-Listserver: Macjordomo 1.1a23 - Macintosh Listserver by Michele Fuortes Date: Sat, 11 Apr 1998 11:08:16 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Linked list in 68000 asm! Well if you look in the code to my app URLtility on the Lightsoft web pages (& on the Fastasm 5 cd) you will see a file called "listCode.s". It is very simple code that implements a linked list using handles in PPC code. It really is very few lines & should easily translate to 68k code.
Date: Sat, 11 Apr 1998 11:02:55 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Alok There has been no need to call SystemTask for many years now...ever since WaitNextEvent has been around.
Date: Sat, 11 Apr 1998 11:30:59 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: PPC Emulator question I am writing an emulator for another processor. I would like the user to be able to choose an option to start the emulator & then have it go ahead & run ONLY the emulator...i.e. I don't want time to be given up to other apps & such. Of course this is easy...just don't call WaitNextEvent or other toolbox calls that give time to other apps...but I also want the user to be able to press a key to stop the emulator...how can I check for a key press without calling WaitNextEvent? Do I just look at some system memory location directly?
Date: Sat, 11 Apr 1998 18:29:22 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: RE: Alok Hi I have been trough my new mail, and have read your replys. Thx, but I think I am doing everything right. First I must clear one point: my window is fine, it's just the others, the ones in the background (like Eddie's, the Finder's, Claris' etc..) I have implemented OpenDeskAcc. And the Sleep in the WaitNextEvent too. I haven't done any SystemTask calls, because my books say there is no need (it says that under MultiTask OS, SystemTask goes to the trash). Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Sat, 11 Apr 1998 18:29:44 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Ambrosia+our snippets=more assembly ! Hi, Allan, I had the impression I should stop sending questions here and have two solutions: a) find new people to bother b) use my brains Anyways, I'm back here, and I'm indeed quite impressed by myslef (for eg, SVM Mac (a Parisien magazine) put one of my games on their Feb CD!) Anyways, when you say that ambrosia is for C code I think that's what we want! Get some assembly code there. Write in it 'made with Lightsoft's PowerFantasm' and there you go, more people will start coding in assembly and that's all we (at least I) want. Anyways, there has been discussions about mac assembly on Apple's mac-game-dev-list (free list but about 50 msgs per day). Sounds as more people will be surfing on tau.it/lightsoft since nobody knew about Ligghtsft/Fantasm (they have really been missing something). Well I was thinking about Stu's opinion on Java. It's true that Java for programming 'sucks'. No real debugger, if you mail to Sun asking them why it doesn't work they'll say : "buy a 1'000'000$ Sun station and it'll work". But I think that without Java, Apple wouldn't exist today. In my school for eg there are about 40 macs. Most students use them for the Net (Most because I use them for playing multiplayer games via AppleTalk :)). So think of it: no Java/html for Mac=90% of internet becomes PC => we end up using PCs :( Anyways, and to finish with some news: By Tuesday, I shall have finished my programmed called "KEYBLOWER" well I won't tell you more about it, let your imagination guess what it is ;) Bye, Alok
Date: Sat, 11 Apr 1998 13:10:37 -0400 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Whoops. The bagel dives. What is a "bagel"? Being Welsh I know much about sheep, Wellington boots and rain but um, nothing of "bagels". Stu.
Date: Sat, 11 Apr 1998 23:11:42 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling >All you need is a border, a tile width, around the main screen. You then >splat in four "quarters", rather than one go, so as to get away with not >worrying about the wrap. When you "scroll", you update the screen source >pointers (MOD tile_width), and insert the new tiles at the border at the >direction of travel. >Also, rather than splat all tiles at the same time, you split the splat of >tiles (across the row/column) over several frames. When you are using this >method, you will require a DOUBLE row width of tiles (since you are >splating the first row). In this way, you don't jerk every 16/32 frames, >and spread the splat loading across every frame. > >(Split the splat? Spread the splat?!!!!) > >Regards > >Rob 'n' Stu Erm, I don't get it. I'm fairly certain it is a linguistic problem on my side. Or rather, I'm fairly certain I understand, but the way I understand it doesn't solve my problem, which means I probably didn't understand it. With me? Your explanation sounds, to me, like the one where you have to splat all the tiles all the time, or at least every time you need to splat the second row/line of tiles. Every time you have scrolled into the 16/32 pixel border, you need to reset the screenpointers and redraw all the tiles. Whereas the first method I mentioned you only ever need to draw the complete screen in the first frame. This could explain the need to spread the spl ... split the splat when drawing the tiles. But this is possibly not what you mean. Also, I don't entirely get the second part about the DOUBLE row. It's not like the patented Weird-Scrolling-Routine (WSR) CSpriteworld, is it? So could you explain it again? Real slow? Thanks in advance Allan maccoder@post6.tele.dk
Date: Sun, 12 Apr 1998 03:26:59 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: SysBreak I've just noticed that there exists a "SysBreak" PPC call but I could no reference about it in my books, any ideas? Thx, Mario
Date: Sun, 12 Apr 1998 10:46:22 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Shared library for offscreen drawing Hi, Ajay just mailed me something called DECAF (http://www.weblayout.com/witness). (BTW Ajay, thx a lot). PASTED FROM THE DECAF README FILE: >What is this? >DECAF is an initiative to create a set of more high-level interfaces to >the Macintosh Toolbox. At >the moment there are only a set of routines for Offscreen Graphics Worlds >(which offer a much >smoother way of redrawing your window contents), but I hope to add some >others. I would also >greatly appreciate any submissions from other developers. So it sounds great for me to start coding, but... If you still have PF 4.x, could you pls write a small project that'll use this shared lib. I really haven't mastered Fantasm at all for eg, I don't know how to use Macros (that's why i don't understand half of Ajay's code - Yep, Ajay is my 'god father') and many other things... So to sum up this msg: WORK FOR ME AND GET NOTHING IN RETURN :) (After all, I'll send you a free regisered version of my next FreeWare, it's called crash-it, and it will be in the Guiness book of records for being the fastest crasher.) Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Sun, 12 Apr 1998 10:46:25 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Linked list in 68000 asm! >>I want a linked list routine in 68000 asm? I want to know how it works >>to insert and delete elements. It is important that it is a fast >>routine. Hi, I was just wondering what a linked list it? Just FYI there is a list manager built inside the OS. I think that the updating of the screen is handled by the OS, so you don't have much work to handle with them. I used this manager in Pascal for my high score routine. Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Sun, 12 Apr 1998 21:56:56 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Whoops. The bagel dives. At 01:10 PM 4/11/98 -0400, you wrote: >What is a "bagel"? > >Being Welsh I know much about sheep, Wellington boots and rain but um, >nothing of "bagels". > >Stu. A bagel,unless I'm informed otherwise,is a round bread roll with a hole in the middle.And given the stories I've heard,I would've been a bit hesitant about phrasing your sentence that way ;) Paul
Date: Sun, 12 Apr 1998 14:06:46 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question >I am writing an emulator for another processor. > >I would like the user to be able to choose an option to start the emulator >& then have it go ahead & run ONLY the emulator...i.e. I don't want time to >be given up to other apps & such. Of course this is easy...just don't call >WaitNextEvent or other toolbox calls that give time to other apps...but I >also want the user to be able to press a key to stop the emulator...how can >I check for a key press without calling WaitNextEvent? Do I just look at >some system memory location directly? Use GetKeys... But then your app might become like the cool DOS games: hot Z if you have a swiss keyboard, or Y if you have an american ! "Are zou sure zou vant to auit? Z/N" Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Sun, 12 Apr 1998 14:06:49 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling Is boulderdash considered to be a scrolling game? Bye Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Sun, 12 Apr 1998 14:06:52 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: I'm no more the worst mac programmer... Hehe, happy easter! Well Rob, Stu, Ajay, mac_coder, and all other VERY good programmers on this list, HOLD ON TIGHT (I would even suggest to hold on very tight) !! ;-) I can bet you whatever you want you can't write a little program (less than 100 lines), that will display a blinking text synchronized with drums inside a rock music played as a 'snd ' resource. Plus you must code it in less than 20 MINUTES !!! Impossible ? Well I did IT ! (just do it, Nike Air) Ok, I was sort of a lucky guy this morning... Keep reading, I can feel you are at least half excited as I am. As I was working on my blink routine, I was surprised to see it suddenly became sychronised with the drums playing in background, just as I replaced r4 by r10 (you can guess why I did that)... The background sound is quite riche, so I don't know how/why my blinking got sych with the drums, and only the drums. Anyways, to sum up: CODE WHATEVER YOU WANT; BUT TODAY, I'M THE KING (I still can't get my event routine working in a 100% user friendly way, so I'll consider myself as the vice-king)!!! I can mail you my program (source for 100'000$ :) ) it's just 300k (unstuffed). Anyways, I think that this magical synchro comes from the fact that my code isn't optimized, and my processor is a slow one (603/75). But all I hope is that it'll also work on a G3... (If anybody here has a G3, my advice is buy a bullet proof jacket before I discover you). Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Sun, 12 Apr 1998 14:56:08 +0200 From: "Per Hjeltman" <leahjn96@student.umu.se> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Whoops. The bagel dives. >What is a "bagel"? > >Being Welsh I know much about sheep, Wellington boots and rain but um, >nothing of "bagels". A bagel is a doughnut shaped piece of bread. They are very popular in America, which I can understand. They taste great! :)
Date: Sun, 12 Apr 1998 16:14:39 +0100 From: "Allan Jensen" <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Whoops. The bread-thing does something not at all sexually >At 01:10 PM 4/11/98 -0400, you wrote: >>What is a "bagel"? >> >>Being Welsh I know much about sheep, Wellington boots and rain but um, >>nothing of "bagels". >> >>Stu. > >A bagel,unless I'm informed otherwise,is a round bread roll with a hole in >the middle.And given the stories I've heard,I would've been a bit hesitant >about phrasing your sentence that way ;) > >Paul > Well, that's the problem with not being American or British. I *was* under the assumption that a bagel was a bread-type thing ... although I have currently avoided hearing any "nudge-nudge" "wink-wink" about bagels. While reading through english literature I have heard a distressing amount of stuff about the Welsh, but we'd better not get into that right now. On reflection, I wouldn't mind having the following things explained to me: Milton Keynes, Esther Rantzen, Oreos, Texas and Michael Jackson. It's a strange world, but at times it seems Americans and the English doesn't mind going that extra mile to make it even stranger. Driving on the wrong side of the road? What's with that? On a more computer-ish matter: I got an e-mail about a demo-homepage. There are quite a few interesting demos there, including the insanely great Scumble and one by a curious outfit called Lightsoft. In particular you might want to take a peek at Mirror Image (interesting 3d-part) and an awesome demonstration of motionblur with the shape of Venus Of Milo, some impressive 3d-dots and interesting fire. There even seems to be a distressingly cool demo on the way called Code 13. Dammit. I guess we're not alone. Most of the demos are quite old, but still impressive. The adress? Try: http://www.mygale.org/05/blopblop/main.html Will you look at that. We're talking and debating. Cool. Allan maccoder@post6.tele.dk
Date: Sun, 12 Apr 1998 19:29:28 +0100 From: Allan Jensen <maccoder@post6.tele.dk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling Alok wrote: > > Is boulderdash considered to be a scrolling game? > > Bye Alok > > web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/ > > Some versions are. A few doesn't scroll, but jump a blocksize (16pixels or 32 pixels) every time the player moves. I would think the screen is redrawn at every move. Sort of like scrolling, but not quite. Allan maccoder@post6.tele.dk
Date: Sun, 12 Apr 1998 12:31:35 -0500 From: Santiago <oxygen@mail.utexas.edu> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Whoops. The bagel dives. >>What is a "bagel"? >> >>Being Welsh I know much about sheep, Wellington boots and rain but um, >>nothing of "bagels". >> >>Stu. > >A bagel,unless I'm informed otherwise,is a round bread roll with a hole in >the middle.And given the stories I've heard,I would've been a bit hesitant >about phrasing your sentence that way ;) > >Paul Specifically, a bagel is a type of round bread that is boiled prior to being baked, giving it a characteristically chewy consistency. It is traditionally a Jewish ethnic food, but in recent years has become quite popular in the United States, with bagel shops sprouting on every other street corner, right next to the coffee shops. Bagels are often eaten with cream cheese. Santiago P.S. - I wonder if this is far enough from assembly to not belong here? :)
Date: Sun, 12 Apr 1998 11:10:41 -0700 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: SysBreak >I've just noticed that there exists a "SysBreak" PPC call but I could no >reference about it in my books, any ideas? I can answer this one. SysBreak is sorta like Debugger() but for High-Level debuggers. Infact i would use it ineaste of Debugger, because here is how it works. If you have your program running and it is being monitors by Lightsoft's debugger or the CodeWarrior Debugger, calling SysBreak would activate that high-level debugger instead of a low-level one like Macsbug, but if one is not presant, then Macsbug is called. nifty eh? :) +--------------------------+-----------------------------------+ | Kevin Avila | Cache Computing | | Developer Theoretician | kevin@cache-computing.com | | | http://www.cache-computing.com/ | +--------------------------+-----------------------------------+
Date: Sun, 12 Apr 1998 11:24:30 -0700 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: I'm no more the worst mac programmer... >I can bet you whatever you want you can't write a little program (less than >100 lines), that will display a blinking text synchronized with drums >inside a rock music played as a 'snd ' resource. Plus you must code it in >less than 20 MINUTES !!! Impossible ? Well I did IT ! (just do it, Nike >Air) Well, I have a small program that is under 200 lines of code that allowes you to enter supervisor mode on the macos, then lauch the BeOS & while killing the MacOS and step though the Be kernel using MacsBug. Nike Air that buddie ;)) +--------------------------+-----------------------------------+ | Kevin Avila | Cache Computing | | Developer Theoretician | kevin@cache-computing.com | | | http://www.cache-computing.com/ | +--------------------------+-----------------------------------+
Date: Mon, 13 Apr 1998 12:36:07 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Whoops. The bread-thing does something not at all sexually Alan wrote: >Well, that's the problem with not being American or British. I *was* under >the assumption that a bagel was a bread-type thing ... although I have >currently avoided hearing any "nudge-nudge" "wink-wink" about bagels. I wasn't implying there was anything sexual about bagels.It was the sheep and wellington boots that got the cheap inuendo flowing.New Zealand is just over the water from here and it's rumoured that the folks over there utilise wellington boots when er...entertaining a sheep.Apparently,the correct use of said boots can prevent a sheep running away... >Driving on the wrong side of the road? What's with that? It's just an anti-France thing,isn't it? Paul PS- The kids seem to love Michael Jackson.No,hang on...
Date: Sun, 12 Apr 1998 20:53:51 -0700 (MST) From: Harvey Hirst <mephisto@extremezone.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Whoops. The bagel dives. On Sun, 12 Apr 1998, Santiago wrote: > Specifically, a bagel is a type of round bread that is boiled prior > to being baked, giving it a characteristically chewy consistency. It is > traditionally a Jewish ethnic food, but in recent years has become quite > popular in the United States, with bagel shops sprouting on every other > street corner, right next to the coffee shops. Bagels are often eaten with > cream cheese. > > Santiago > > P.S. - I wonder if this is far enough from assembly to not belong here? :) The carbo rush from a few bagels might be a great source of energy for an all night code-a-thon. There, it's now officially related. Harvey
Date: Sun, 12 Apr 1998 21:18:34 -0700 From: Steve Cunningham <synthman@loop.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: OT: Whoops. The bagel dives. On 04/11/98 10:10 AM, Stuart Ball made the following insightful observation: >What is a "bagel"? > >Being Welsh I know much about sheep, Wellington boots and rain but um, >nothing of "bagels". Then, on 04/12/98 5:56 AM, Per Hjeltman made the following insightful observation: >A bagel is a doughnut shaped piece of bread. They are very popular in >America, which I can understand. They taste great! :) Finally, on 04/12/98 10:31 AM, Santiago made the following insightful observation: > Specifically, a bagel is a type of round bread that is boiled prior >to being baked, giving it a characteristically chewy consistency. It is >traditionally a Jewish ethnic food, but in recent years has become quite >popular in the United States, with bagel shops sprouting on every other >street corner, right next to the coffee shops. Bagels are often eaten with >cream cheese. All quite correct. At the risk of wasting a bit of bandwidth: It is believed that bagels were invented by a Jewish baker in Vienna in 1683. To thank King John III Sobieski of Poland for saving the city from Turkish invaders, the anonymous baker crafted a hard roll in the shape of a riding stirrup in honor of the king1s favorite hobby. The bread1s original name was "Bugel", from the German for stirrup. After the bread spread into Jewish communities throughout Eastern Europe, its name evolved, but its formulation - a thrifty and unembellished blend of yeast, malt syrup and flour - remained unchanged for three centuries. After being brought to America by Jewish immigrants in the early 20th century, the recipe was fiercely safeguarded by Bagel Bakers Local 338, a union of 300 workers based in New York City. By limiting admission to sons of members, the union insured perpetuation of the time-honored technique - and a perpetual shortage of the bread. Today bagels are practically a franchise in the US, especially on the coasts. No longer an ethnic food available primarily in Kosher bakeries and deli's, bagels are now available in most US cities at regular bakeries and franchises like Noah's Bagels (which are generally located next to a Starbuck's Coffee store). And where they were once topped with only onion, sesame seeds or salt (if anything), today they're available topped with abominations like blueberries and chocolate chips. If you're really interested I suppose I could ship you a few, since they keep quite well at room temperature for a few days; certainly better than does haggis ;-) Sorry for the off-topic post... Best, Steve ------------------------------------------------------------------ Steve Cunningham, Acme Voiceworx Professional Marketing Geek and synthman@loop.com Professional Voiceover Talent Voice mail: 800-207-0781 Digital, ISDN, Bad & Nationwide Rule #1: Words mean things. Use them with care.
Date: Mon, 13 Apr 1998 13:29:53 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: SysBreak On 12/04/98 20:10 Kevin Avila at kevin@cache-computing.com > I can answer this one. SysBreak is sorta like Debugger() but for >High-Level debuggers. Infact i would use it ineaste of Debugger, because >here is how it works. If you have your program running and it is being >monitors by Lightsoft's debugger or the CodeWarrior Debugger, calling >SysBreak would activate that high-level debugger instead of a low-level >one like Macsbug, but if one is not presant, then Macsbug is called. >nifty eh? :) Thanks, that's what I wanted to know, very useful indeed =) Mario
Date: Mon, 13 Apr 1998 10:05:05 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Shared library for offscreen drawing >> If you still have PF 4.x, could you pls write a small project that'll use this shared lib. I know that PF 4.x could access shared libs...but i think it only let you use the ones that were options in the preferences for your project...not shared libs that weren't options. To use the shared lib with PF you might have to upgrade to 5.x.
Date: Mon, 13 Apr 1998 10:06:20 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question Well the problem is that I am hoping to avoid the use of getkeys...or any other rom routine. There must be some system bytes somewhere that contain the current state of the keyboard (i.e. - which, if any, keys are pressed)
Date: Mon, 13 Apr 1998 18:55:02 +0200 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Thx Allan Hi, Thx for the url. the demos are great !!! I really like the 3D one with the Audi. Bye, Alok web site (Last updated: 9 - Apr - 98): http://alok.hypermart.net/
Date: Mon, 13 Apr 1998 19:25:12 +0200 From: Per Hjeltman <leahjn96@student.umu.se> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question >Well the problem is that I am hoping to avoid the use of getkeys...or any >other rom routine. There must be some system bytes somewhere that contain >the current state of the keyboard (i.e. - which, if any, keys are pressed) There are lots of low-mem variables relating to keys: 174 KeyMap HLongInt ; keyboard bitmap 17C KeyPadMap HLongInt ; bitmap for numeric keypad ,18 bits 184 KeyLast T_Keyc ; last valid keycode 186 KeyTime LongInt ; tick count when KEYLAST was received 18A KeyRepTime LongInt ; tick count when key was last repeated 18E KeyThresh INTEGER ; threshold for key repeat 190 KeyRepThresh INTEGER ; key repeat speed 206 SpKbd Byte ; keyboard 4/ repeat 4/ threshold in 4/60ths 216 HiKeyLast Word ; Keyboard variables 218 KybdLast Word ; Keyboard variables 21A jKybdTask ProcPtr ; keyboard VBL task hook 21E KybdType Byte ; keyboard model number 29E Key1Trans ProcPtr ; keyboard mapping procedure 2A2 Key2Trans ProcPtr ; numeric keypad mapping procedure -------------------------------------------------------------------------- | Per Hjeltman | IB Student: http://www.ibo.org | Ad astra per aspera | -------------------------------------------------------------------------- | Whatever you can do or dream you can, begin it. Boldness has genius, | | power and magic in it. Begin it now. | | -- Johann Wolfgang von Goethe (1749-1832) | --------------------------------------------------------------------------
Date: Mon, 13 Apr 1998 19:59:20 +0200 From: Arthur_Langereis <phoenix@d-lite.demon.nl> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question Ajay Nath wrote: > Well the problem is that I am hoping to avoid the use of getkeys...or any > other rom routine. There must be some system bytes somewhere that contain > the current state of the keyboard (i.e. - which, if any, keys are pressed) GetKeys returns 16 bytes starting at $174 in memory. I access them directly in my nes emulator because CW won't allow system calls from assembly routines. I tested this on all system versions (i.e 7.x and 8.x) and it worked everytime. to test the keys, use the same technique as you would when using GetKeys. == Arthur Langereis (phoenix@d-lite.demon.nl) GrayBox Homepage : http://www.d-lite.demon.nl/graybox/
Date: Tue, 14 Apr 1998 06:09:53 +1000 From: mrwhippy@pac.com.au (Paul) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question Per wrote: >There are lots of low-mem variables relating to keys: > > 174 KeyMap HLongInt ; keyboard bitmap > 17C KeyPadMap HLongInt ; bitmap for numeric keypad ,18 bits > 184 KeyLast T_Keyc ; last valid keycode > 186 KeyTime LongInt ; tick count when KEYLAST was received > 18A KeyRepTime LongInt ; tick count when key was last repeated > 18E KeyThresh INTEGER ; threshold for key repeat > 190 KeyRepThresh INTEGER ; key repeat speed > 206 SpKbd Byte ; keyboard 4/ repeat 4/ threshold in 4/60ths > 216 HiKeyLast Word ; Keyboard variables > 218 KybdLast Word ; Keyboard variables > 21A jKybdTask ProcPtr ; keyboard VBL task hook > 21E KybdType Byte ; keyboard model number > 29E Key1Trans ProcPtr ; keyboard mapping procedure > 2A2 Key2Trans ProcPtr ; numeric keypad mapping procedure Where do you find information like this? And wherever it is,does it have similar information about the other Mac hardware? Many thanks in advance! Paul
Date: 13 Apr 98 13:11:35 -0700 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question Per Hjeltman wrote: >>Well the problem is that I am hoping to avoid the use of getkeys...or any >>other rom routine. There must be some system bytes somewhere that contain >>the current state of the keyboard (i.e. - which, if any, keys are pressed) > >There are lots of low-mem variables relating to keys: > > 174 KeyMap HLongInt ; keyboard bitmap I remembered that there was a KeyMap global, but didn't reply earlier because I didn't remember the address. This is the same KeyMap you get back if you call GetKeys. If you make an array of bits at 8 bits per row on a piece of paper and draw in all the values, it becomes very easy to index into the KeyMap to determine which key(s) are down. The KeyMap gets updated by a low-level interrupt from the keyboard controller every time a key is pressed.
Date: Mon, 13 Apr 1998 22:34:34 +0100 From: Rob Probin <rob@zedworld.demon.co.uk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling Hi, Firstly, I don't know what technique Spriteworld uses...and I'm sure these techniques could not form the basis of any patents, and most scrollie games/arcade machine (without h/w scroll) use. Ok. 1. We both agree we DONT want to redraw the screen totally, except at start up. 2. When I talk about "splating", I'm talking about using CopyBits (or eqv.) to shift the screen from main memory to VRAM. 2b.(There ARE other techniques, mainly centered around moving the VRAM screen start pointer (hardware register) by one pixel, and having a line length in VRAM longer than the actual displayed line length. I WONT discuss these, as these are probably not applicable on most Macs.) 3. We are going to need to splat the screen from main memory to VRAM. 4. You talked about printing only a border of tiles in the direction you are traveling. This is the technique I am talking about as well. 5. If the width/height of the tiles is 16 pixels, then we are only going to need to plot one row of pixels extra in the main memory screen, assuming the velocity per frame is 16 pixels or less. 6. You said we needed a screen in front of us. But we still have a wrap around problem.... ----------- | | |###########| # represent screen currently being splatted |###########| ########### |###########| | | | | ----------- When it gets PAST the top.... ########### |###########| |###########| | | ----------- | | | | | | ########### <--- wrap around So we need to splat in TWO halfs. If we are doing both horizontal AND vertical scrolling, we need to splat in FOUR sections. 7. The space in the picture above represents wasted memory (as you pointed out). We can actually reduce the amount of wasted space to the width of one row of tiles, which is what we are going to be splatting next frame. 8. The second part refers to the fact that, if we are scrolling by 1 pixel, then every 16 frames we are going to need to print a new row of tiles. This, although fairly minor, is still a noticeable stall. 9. We therefore would like to spread the loading of this printing of tiles across several frames. 10. The best way to do this is to print a few tiles per frame, until we have reached the entire row worth of tiles. 11. The number of tiles we need to splat per frame = number of tiles per row / number of frames it takes to cover a tile width I'm not sure if this is any clearer??? Regards Rob The original reply, for ref...... >> >>All you need is a border, a tile width, around the main screen. You then >>splat in four "quarters", rather than one go, so as to get away with not >>worrying about the wrap. When you "scroll", you update the screen source >>pointers (MOD tile_width), and insert the new tiles at the border at the >>direction of travel. > >>Also, rather than splat all tiles at the same time, you split the splat of >>tiles (across the row/column) over several frames. When you are using this >>method, you will require a DOUBLE row width of tiles (since you are >>splating the first row). In this way, you don't jerk every 16/32 frames, >>and spread the splat loading across every frame. >>
Date: Mon, 13 Apr 1998 22:38:16 +0100 From: Rob Probin <rob@zedworld.demon.co.uk> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Scrolling (Correction) >5. If the width/height of the tiles is 16 pixels, then we are only going >to need to plot one row of pixels extra in the main memory screen, >assuming the velocity per frame is 16 pixels or less. that should be... ...plot one row of TILES extra....
Date: Mon, 13 Apr 1998 22:37:19 -0400 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question Actually info like this is easily found in the Apple interface files...there used to be a file named something like SysEqu.a with the MPW system that documented some of the system variables. Some of this info is also in Think Reference....I could have looked it up but I was being lazy & I figured someone out there had already worked out a solution. Thanks to all who replied. - Ajay Nath
Date: Tue, 14 Apr 1998 13:28:34 +0200 From: MoonDark <moondark@enter.it> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC Emulator question On 14/04/98 04:37 Ajay Nath at AjayNath@co