Date: Thu, 1 Jan 1998 08:21:45 +1000

From: mrwhippy@pac.com.au (Paul)

To: Multiple recipients of <list-fantasm@mail.tau.it>

Subject: Shareware

 

Hello

 

Does the shareware principle work? Does anyone here make money from their

shareware efforts,or might you just as well release your work as freeware?

Would I be right in assuming the path of a shareware author doesn't allow

you to give up your day job? :)

 

Paul


From: Kevin Avila <kevin@cache-computing.com>

To: Multiple recipients of <list-fantasm@mail.tau.it>

Subject: Re: Machine Serial Number

 

or something easier might be to get the CPU version number? or use

openfirmware to get other hardware aspects like the notherboard type,

what devices are attaced, etc.

 

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

Kevin Avila kevin@cache-computing.com

http://www.cache-computing.com

Date: Wed, 31 Dec 97 18:47:29 -0000 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Shareware >Does the shareware principle work? It does for some. Peter Lewis is a good example. he does shareware coding as his day job and if your interested he has written a nice article on what it takes to be a shareware author which you can view from his website at http://www.stairways.com. Andrew Welch is another good example. I think we all have atleast one or 2 games/utils from Ambrosia somewhere on our HD. I'm not sure what Peter has, but Andrew lives in a small mansion and drives a pretty spiffy hummer, which before he had that he had a nice Harley. So I guess if you work hard ehough you can make it. ------------------------------------------ Kevin Avila kevin@cache-computing.com http://www.cache-computing.com
Date: Thu, 1 Jan 1998 10:56:28 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: anvil PPC bug >i finally found the problem: at the end of the file that anvil was choking >on the last line was: > >gBlackPattern: DS.W -1,-1 > >i changed this to: > >gBlackPattern: DC.W -1,-1 > >& now everything works fine!... >i think that anvil should have checked to make sure that the # given to it >in the DS directive was not negative... Yes, we will issue a warning in future versions. The assemblers do specifically check for: ds.x 0 and will issue a warning, but we obviously missed the -ve declaration possibility. Thank you for the report Ajay, most helpful. Stu.
Date: Thu, 1 Jan 1998 22:55:54 +0000 From: Lightsoft <lightsoft@zedworld.demon.co.uk> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: NFtT 1st January 1998 News From the Tower 1st January '98. ------------------------------------ Here's another one of those rather irregular news posts we put out from time to time, letting you know what's happening and coming up. These go out fairly infrequently so it's not exactly spam city, but if you do find this mail annoying, please get thee hence to <http://www.tau.it/lightsoft/links.html> where you may unsubscribe from this list. ------------------- Firstly, Happy New Year to everybody! We hope 1998 is good for you. Now, because we were basically shut down over the holidays, a slightly different format to this NFtT - this one just lets you know what's coming up over the next few days. X-----------------X We have completed our "New Year 1998 Demo" - the executable is available from our WWW pages. It is a demo in the style of the old Amiga or ST demos, and if you are interested in graphical effects or pretty programs it may be well worth a look. The file is 400K in size. As with all releases, don't get killed in the rush, or swear at the sluggish servers. It is Freeware, so anyone willing to help distribute the archive (intact please!), we would be most grateful for your help. Also, we plan to release source code to registered users. As always, comments are very welcome. X-----------------X We have set up a testing area on the lightsoft site. We are planning to upload early alpha software to this area, giving registered users access to the latest software so that they can give early feedback, and more easily help in the general testing process. An early warning however - provisional software is just that, and will have bugs in. Fully released programs are ALWAYS much more stable. If you need to do serious development work, you will probably be best off with the fully released versions. (As always, Lightsoft advises all data be backed up, either way) X-----------------X Another tool in development is LXT. This will be available to registered users, and is in two parts:- (a) The Code translation libraries. These give PowerPC code from 680x0 code. (there do need to be minor modifications to existing 68k code, but it will then assemble to both 68k and PowerPC). (b) The Standard OS interfaces. These make calling the system a lot easier for people who dislike translating Pascal, C and Assembler system calls (thats everyone, we believe!). These are in long term development, but were used in the New Year 1998 demo to produce a FAT app. Provisional user testing should start shortly. You will need some of the extensions in 5.1 to use LXT. If you do use the Standard OS interface in LXT and find a system call that is not included, either just let know or send us your macro with the translation code to be included in LXT. The standard OS interfaces are planned to be used more from Fantasm 5.1 onwards. LXT will be licensed free of charge to registered Fantasm users. X-----------------X END Lightsoft 1900 01 Jan 98
Date: Fri, 02 Jan 1998 06:00:05 +0100 From: bondard <bondard@ens.fr> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Screen draw/event loop H ello, Whenever you use the system event loop, you must expect screen updates to happen at any time. The system won't erase your own windows though: so I suppose you are writing to the screen in such a way that the system doesn't know about it. If that is the case, you can do two things: (1) create a window exactly at the place where you want to write to the screen, making sure if is the frontmost window: now you own that piece of screen real estate and the system won't touch it; (2) or (the preferred way for animation programs) : don't use the system events at all. This way you will get smoother animation, and the system won't be able to mess you up. Simply use the toolbox routines for directly reading the keyboard and mouse. (Reading the keyboard directly is a bit messy in fact, but once you get your routine to work, you can use it in all your animation programs). BUT: are you sure you are not erasing the screen yourself?? You may be receiving update events from the system, and should perhaps check what action your program takes in that case? Luck, ----------------- Daniel Bondard bondard@ens.fr ----------------- --------------------------------------------------------- Paul wrote: > > Hello, > > I don't have any problems when I write directly to the screen,but when I use > an event loop to check for keydown events,whatever I've written to screen > disappears.I'm masking off all events except the keydown event,but the OS > seems to be getting an update event from somewhere - at least I *think* that's > why the screen is being cleared? > > When writing directly to the screen,should I be disposing of the menu bar or > not? Could this be what's causing the problem? I can write over the top of it > without removing it,but as soon as the event loop starts....blank screen :( > > Can anyone explain why this is happening? Or what I'm doing or not doing > that's wrong? > > Many Thanks > > Paul > >
From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Machine Serial Number Thx a lot for helping me, but I don't think I'll be able to get any info out of the mac. I would like to thank Kevin to tell me 'Get the CPU version number' but how in the world can I do that??? Anyways, I have downloaded few hackers guide I found on the net, to learn how people crack programs. It's quite interesting. If anybody here is interested, pls let me know. Bye, Alok
Date: Fri, 2 Jan 1998 20:14:43 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Speech Recognison Hi, I just loaded the speech reconignsion software and it's amazing. Even though I can hardly run any apps no w(cos my system now takes 5 mb ram) I have been having threamendus fun. Anyways, for the ones who have never tied it, pls do (BTW it runs with 8 bit input, but not as well as 16 bit.). *** Few years ago, I had written a small program in Basic, that would talk with you. Basicaly you would type something, and it would reply. Of course, it wasn't AI (BTW read what's Stu or Rob, i can never remember who it is, wrote on AI). It was simple tricks, like each time you would type something with why, who, what it would randomly answer things like 'There are some questions that cannot be answered in this little univers' or 'I think your brain is too small to understand' or 'I have no idea', etc... I would like to know if there is anybody here, ready to work with me, to rewrite this prog but using apple's specch manager and speech recognison. Bye, Alok email: robot@writeme.com
Date: Fri, 2 Jan 1998 20:17:14 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Misc Hi, Here are few things, for the ones getting bored: 1) How to save the data of Min-Max trees: First what is a Min-Max tree? Well it's used to analyse verious positions on a chess board or a tic tac toe game. For eg, you look all possibilities of play for 4 moves ahead. And each time you evaluate the move by taking from the bottom to the top each time the best move for him the worst for you, etc... Here is how you save the data: Have a table with: Line number, what move it is, the father of this move, the first son of this move and the next brother. 2) How does keyCap do to display the key positions on the keyboard? 3) ARen't computer keys (to avoid hacking) expensive ? 4) Clut's and palattes are really cool. If you have time, you can have lotsof fun with them. 5) This is rather a question for Rob (or maybe it was Stu): How did your program that made adventure games work? Bye, Alok email: robot@writeme.com
Date: Fri, 2 Jan 1998 17:38:30 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Machine Serial Number >> I think there is some type of serial number, build date ("birth date"), etc. in the extended parameter RAM. << but this info is not unique from one machine to the next...apple even said so in its article in develop about this subject...also when you "zap" the pram it gets rewritten to default values from the hardware that are from ROM & are NOT unique to a machine
Date: Fri, 2 Jan 1998 17:41:37 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Shareware >> Peter Lewis is a good example. he does shareware coding as his day job and if your interested he has written a nice article on what it takes to be a shareware author which you can view from his website at http://www.stairways.com. Andrew Welch is another good example. << actually peter lewis is now working for metrowerks (i'm pretty he said this in an interview in mactech). also andrew welch started a company that publishes software from other authors so he is making his money from helping other shareware authors.
Date: Fri, 2 Jan 1998 17:45:36 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Machine Serial Number >> Get the CPU version number this wont work as if you & i have the same mac model the cpus will most likely have the same version number!
Date: Fri, 2 Jan 98 19:34:25 -0000 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Shareware >(i'm pretty he said this >in an interview in mactech) Speaking of MacTech, I'm now officially part of MacTech. You can gaze at my name for hour as I did. I'm in the Jan issue on page 2 under Editors. heh ------------------------------------------ Kevin Avila kevin@cache-computing.com http://www.cache-computing.com
From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: warning to Anvil + ATM users I kept getting errors from Anvil when I tried to build projects. I finally narrowed it down to a problem with Adobe Type Manager 4.0. When I took it out of the list of extensions to be loaded at startup all my Anvil problems went away. Unfortunately you need ATM to read pdf documents & certain apple docs (like "Mac_OS_Runtime_Architectures" which describes the PEF format!) are only in pdf format. So now I'm off to see if Adobe has a newer version of ATM that I can use with Anvil.
Date: Sat, 3 Jan 1998 15:04:15 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Anti-Hack Hi, I have attached a file (13k) with this doc. I would like everybody here to test it. It's basicaly an anti-hack. it uses verious gestalt variables to complete a calculation and then display a number. I would like to you to check that this number is ALWAYS constant. Be carful, save your work, it might crash your Mac (It hasn't ever done it here, but who knows?). What will next happen, is when the hacker will try to get into Debug while entering the number in the shareware, he won't enter in debug but a Restart computer (or a bomb) (I'll do this, by detecting a key press, How will the user type in the code then? Well a nice key board will be displayed)!!! Anyways, let's see how this goes and if it works? Oh, Iforgot one thing: What if some one dissassemblies the hole app? Well I think that guy will take his hole life, I just need to add some nice 8mb animation at the startup!! And of course, I'll try to get an old Atari trick working: just about 10 lines of code will be assembly (the start of file) and the reste will be encrypted. SO the 10 first lines will deencrypte the reste of the file (and I can get this done many times :)) One last thing: I would like you to report me your number (displayed by my app). I would like to check how often same numbers come out! Thx for hepling me and all the anti-hackers! BYe, ALok FYI here are the calls: GESTALT: 'romv' 'hdwr' 'mach' 'vers' 'tmgr' 'sysa' 'ser ' 'proc' 'os '
Date: Sat, 03 Jan 1998 17:57:28 +0100 From: Allan Jensen <maccoder@post6.tele.dk> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack Although I hate to say anything negative about something I dont entirely understand (although thats never stopped me), I would hazard that this would never stop any good or determined hacker/cracker. Im not a hacker and Ive never tried to hack an application, but I can see several reasons why this *wont* work. It seems to me that a hacker can disassemble the 10 first lines you mentioned, and decrypt the file. File hacked? I'm only guessing. Also, a simple application might look a little silly if it has to include an 8mb animation to confuse any would-be hacker (unless you were joking?). In my experience crackers/hackers are, of course, Evil Persons, but also very clever people. Someone on the list mentioned dongles? This does not stop them. Robocop 3 on the Amiga was hailed as being un-crackable as it came with a dongle. It took a week as far as I remember. Robocop 3 is not the only example (Lightwave is another example). I have yet to hear/read about an unbreakable program. Remember the recent competion about hacking an apple-server? The best proof that it is impossible to make a program unhackable, is simply that no ones done it yet. I doubt they will. But if they do, Im thinking you have to be even more devious than what Alok has in mind. At the end of the day, Shareware is about trusting people to pay for the programs they use. If the programs are good enough, people will often pay. Oh, and remember that programs that require a registration number to function completely is not Shareware, but Crippleware. An important distinction (there seemed to be some confusion). Lets just be thankful that weve got Macs and not Wintels, where the last original,unpirated program was seen late spring 1986. I hope you come up with a great system Alok, but youve certainly got your work cut out for you. When youve finished your system, Im willing to bet that theres someone whos able to hack it. Maybe even someone on this listserver (theres an evil rumor that someones been involved hacking VAXens?)? I cant crack it, but then Im a decent, law-abiding citizen who would never do such a thing ... no, really. Oh, and for the record I got the number: -359179244. Repeatedly. Hope it helps. Allan
Date: Sun, 04 Jan 1998 05:31:54 +0100 From: bondard <bondard@ens.fr> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack Hello, here is the result of your antihack program on my machine 1855586010 (constant result) good luck ----------------- Daniel Bondard bondard@ens.fr -----------------
X-Listserver: Macjordomo 1b10 - Macintosh Listserver by Michele Fuortes Date: Sun, 04 Jan 1998 19:03:58 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Game coding Hello, I know there are small competitions on the PC for this kind of thing,but I've yet to see them for the Mac... A comp to see who can write the best game under x Kb.I know,I know - I can hear the chants of "wanker" from here, but it's not a bad idea :) It would be a good excuse for the clever coders here to show off,and if the source code was to be made available (?),then the rest of us might learn something :) Oh yeah,there's no prize :( (unless someone wants to provide something?) Funny,about 5 minutes ago,this seemed like a good idea :) Reading it back now,it sounds pretty sad,but what about a limit of 10k with or without sound? Oh well,it was community spirited :) Paul
Date: Mon, 05 Jan 1998 04:08:01 +0100 From: bondard <bondard@ens.fr> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding Paul wrote: > > .......A comp to see who can write the best game under x Kb.I ........ > if the source code was to be made available (?),then the rest of us might learn > something :) Oh yeah,there's no prize :( (unless someone wants to provide > something?) ......... > Hello Paul and all Seems to me a very good idea, rather makes me think of movies; why should *any* movie costing less than a hundred million dollars be considered only good for the punks? I'd rather think it may sometimes be the other way round, money - or megabytes - doesn't replace talent. If in doubt just have a look at Hague's Bumbler; it's surely one of the smallest, and surely one of the very good ones! About your competition idea, the problem of course is having a prize (or prizes?)... otherwise it's it just doesn't seem right. I, for one, would contribute something. Why don't you offer to organize it? Daniel
Date: Mon, 5 Jan 1998 08:14:08 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: PEF format The data fork of a PPC app contains an object file that is either in XCOFF or PEF format. Recently I came across a (? new) Inside Mac book called "Mac_OS_Runtime_Architectures" that documented the PEF format. I was interested in this because I have been thinking about writing a compiler for a while & needed some info on the PEF format. It is INCREDIBLY convoluted! I haven't looked at info about the XCOFF format yet but I imagine it might be just as bizarre! Has anyone looked at the XCOFF format? Is it much worse than the PEF format?
Date: Mon, 5 Jan 1998 08:10:07 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Anti-Hack please be sure that when you ask people to reply to your listserver messages that you have them reply to YOUR EMAIL...otherwise their replies to you are getting posted to the listserver & are being sent to EVERYONE...including those of us who have to pay for email when we get more than a certain amount. please try to cut down on the listserver traffic that you generate. thanx.
X-Listserver: Macjordomo 1b10 - Macintosh Listserver by Michele Fuortes Date: 05 Jan 98 07:01:48 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Shareware I heard that Scott Watson made over $100,000 on Red Ryder/White Knight. On the other hand I made $0 on my shareware, so I just made everything freeware. I guess I don't have the entrepreneur talent. Also my stuff was pretty specialized. I think the key is to come up with something that has broad appeal. I paid for a lot of shareware in the past. Come to think of it, Scott Watson got some of my money. And I paid for Maelstrom. I did get surprised one time after I paid Raymond Lau for StuffIt. When it went commercial Aladdin sent me a free disk with the latest version. When I talked to them at MacWorld, they gave me a password to the latest shareware version for free. Speaking of MacWorld, two more days and I'm on a plane for San Francisco. My company's exhibiting there, but I get to go just to "enjoy the show". I don't even have to work the booth or anything. Nice little bonus.
Date: Mon, 5 Jan 1998 16:23:08 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack Hi, thx a lot for helping me and for this long msg. Hacking and anti-hacking have always cought my eyes. I have often hacked, but never to save money, always to learn how other have been doing things (mainly because I have often been lacking of docs). Anyways, i'm still beginnning. My teacher had set up an incredible system on the ATari. But being in the late years of the Atari, he didn't know if his system was really perfect. In all systems, the possibilities of dissambling the complete file will exsite (except if Apple start to add a second chip (a small one, 68010) which won't be documented, which won't have any debug possibilities, and where apps will be lauched. I have dreamed of getting this system working the hole summer, but I know if someone does it, it might be my idea, but it won't be me). Anyways, if we have a really big app, hacking it will take a long long time. Basicaly we can consider a 20mg file as not being redeable. >Although I hate to say anything negative about something I dont >entirely understand (although thats never stopped me), I would hazard >that this would never stop any good or determined hacker/cracker. >Im not a hacker and Ive never tried to hack an application, but I can >see several reasons why this *wont* work. >It seems to me that a hacker can disassemble the 10 first lines you >mentioned, and decrypt the file. File hacked? I'm only guessing. Yep but this will get the lines 10-20 to be asssembly, but lines 30+ will be double encrypted. It can go on like this for quite a bit of time, and the hecker will finially dicide to try something else. >Also, a simple application might look a little silly if it has to >include an 8mb animation to confuse any would-be hacker (unless you were >joking?). Well don't put 8 mb of animation, but have 8 mb of junk. BTW: noticed that the cool lightsoft demo is JUST 400k!!! Congrats Rob and Stu !!! > >In my experience crackers/hackers are, of course, Evil Persons, but also >very clever people. Someone on the list mentioned dongles? This does not >stop them. Robocop 3 on the Amiga was hailed as being un-crackable as it >came with a dongle. It took a week as far as I remember. Robocop 3 is >not the only example (Lightwave is another example). >I have yet to hear/read about an unbreakable program. Remember the >recent competion about hacking an apple-server? Well dongles cost a lot (over here, they were (3 years go) 100 frs and you had to buy them by 20pieces at a time => big investment). I don't really like dongles, cos I always say to myself: if what I'm doing is good, others will do it. Just imagin having 300 dongles on the back of your mac! >The best proof that it is impossible to make a program unhackable, is >simply that no ones done it yet. I doubt they will. But if they do, Im >thinking you have to be even more devious than what Alok has in mind. Think of my double pocessor idea. >At the end of the day, Shareware is about trusting people to pay for the >programs they use. If the programs are good enough, people will often >pay. >Oh, and remember that programs that require a registration number to >function completely is not Shareware, but Crippleware. An important >distinction (there seemed to be some confusion). >Lets just be thankful that weve got Macs and not Wintels, where the >last original,unpirated program was seen late spring 1986. > >I hope you come up with a great system Alok, but youve certainly got >your work cut out for you. When youve finished your system, Im willing >to bet that theres someone whos able to hack it. Maybe even someone on >this listserver (theres an evil rumor that someones been involved >hacking VAXens?)? I cant crack it, but then Im a decent, law-abiding >citizen who would never do such a thing ... no, really. Well at the end of the day, I would have learnt that it's beter thrusting people ! >Oh, and for the record I got the number: -359179244. Repeatedly. Hope it >helps. Just a last thing Allan, what combinasons did you try? Did you empty your PRAM? Startup without extensions? etc... ? Thx a lot, and I'll keep you informed abt my big adventure in the world of hackers! Bye, Alok
Date: Mon, 5 Jan 98 21:21:14 -0000 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: PEF format >Is it much worse than the PEF format? PEF is pretty much the same as XCOFF, but compressed and a little better for shared libs....prepare yourself ;) ------------------------------------------ Kevin Avila kevin@cache-computing.com http://www.cache-computing.com
Date: Tue, 6 Jan 1998 15:46:08 +0100 From: anders <coderonin@geocities.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack >>Also, a simple application might look a little silly if it has to >>include an 8mb animation to confuse any would-be hacker (unless you were >>joking?). >Well don't put 8 mb of animation, but have 8 mb of junk. A LITTLE silly ? BTW, I think Microsoft uses this scheme. Bloatware copy protection. :-) >Anyways, if we have a really big app, hacking it will take a long long >time. Basicaly we can consider a 20mg file as not being redeable. But remember, once can step through the code ACTUALLY RUNNED in RAM, instead of disassembling the whole app on file. >In all systems, the possibilities of dissambling the complete file will >exsite (except if Apple start to add a second chip (a small one, 68010) >which won't be documented, which won't have any debug possibilities, and >where apps will be lauched. I have dreamed of getting this system working >the hole summer, but I know if someone does it, it might be my idea, but it >won't be me). I think what you want is a Network Computer. Then you have a TOTALLY separate chip (hundred of miles away in a server). And you even have to log on every time. Dream ? Sounds like a nightmare. >Oh, and remember that programs that require a registration number to >function completely is not Shareware, but Crippleware. An important >distinction (there seemed to be some confusion). Some people call Shareware "free" too. Or "free-circulating". I would say there is a lot of confusion around. >Oh, and for the record I got the number: -359179244. Repeatedly. Hope it >helps. Hey, funny, this is what I got too : -359179244. Repeatedly. Kewl copy protection :-) BTW, what's stopping anyone from patching Gestalt ? //anders, not a "hacker" but well a coder.
Date: Tue, 6 Jan 1998 17:01:46 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding >Hello, > >I know there are small competitions on the PC for this kind of thing,but >I've yet to see them for the Mac... A comp to see who can write the best >game under x Kb.I know,I know - I can hear the chants of "wanker" from here, >but it's not a bad idea :) > >It would be a good excuse for the clever coders here to show off,and if the >source code was to be made available (?),then the rest of us might learn >something :) Oh yeah,there's no prize :( (unless someone wants to provide >something?) > >Funny,about 5 minutes ago,this seemed like a good idea :) Reading it back >now,it sounds pretty sad,but what about a limit of 10k with or without sound? > >Oh well,it was community spirited :) > >Paul > > Hi, Well it sounds a pretty good idea! I can offer a chewing gum, and a tooth brush as a price Just joking. Two years ago, I organised a tournament, and one of the best prices was a logitech trackman. Lastyear I organised another tourn, and the best price was a set of roller blades (guess who won it? ME!!!) Anyways, I can try to get something. I'll try to contact banks, and other companys here. Maybe we should just have a fee (5$) and redistribute them. I'm ready to orgranise this every two months! Maybe we can have each two months a competition with subjects (we can start this month with a less than 100 k GAME that has to be a board game (with or without computer play). For eg you can designa risk game, where you won't have much problems in writting the algos, or you can try a chess type game. Or maybe we can have another subject: a less that 100k Utility for the MacOS. For eg you can have a MacOSPurge, or a FasterFindFile, or somthing like that.... Bye, Alok
Date: Tue, 6 Jan 1998 20:52:25 +0100 From: leahjn96@student.umu.se (Per Hjeltman) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack > Anyways, if we have a really big app, hacking it will take a long long > time. Basicaly we can consider a 20mg file as not being redeable. We can? The best disassembler for the Mac (MacNosy) allows you to search for trap references and such, and it only show *real* code. Thus, if you include 19.5 MB of junk with your application, Nosy is clever enough to only show the actual code, as well as presenting it in a very readable form. For the moment, it doesn't disassemble XCOFF, so anything written with Anvil is completely Nosy-safe. > >Also, a simple application might look a little silly if it has to > >include an 8mb animation to confuse any would-be hacker (unless you were > >joking?). > > Well don't put 8 mb of animation, but have 8 mb of junk. Yeah, cool. You'd bloat your application and the cracker would still not be deterred, Seriously, filling files with junk doesn't seem like the best way to protect your application. The only thing it's going to accomplish is bloating the application and pissing users off. May I suggest you try some other method of protection? What I would like is a C compiler that tries its utmost to produce unreadable code (turnoffable using directives, of course.) Maybe you can add that to Fanta_C? ;) Most crackers are not very smart, so when they encounter some extremely hard-to-read code they'll decide it's not worth the trouble.
Date: Tue, 6 Jan 1998 21:10:06 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: LS: New Fantasm 5 Example Project Hello all. Cliff Harris has very kindly made available the full project for ROMSucker, a utility to extract resources from your Macintosh's ROM and place them in a standard Resedit(tm) file. Cliff has commented the source extensively. Documentation (including programmers notes) are also included. The project (Fantasm 5) is available for download from the downloads and updates page of our WWW pages. Many thanks to Cliff. Lightsoft 0030070198
Date: Tue, 6 Jan 1998 21:18:23 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: LS: Fantasm 5 bug fixes Hello all. A few days ago we were made aware of an incompatibilty between parts of Fantasm 5 and Adobe's ATM control panel. We have taken steps to address this problem (and other reported bugs) in test versions of Anvil 1.1 and Build 3.5.8. These are now available for download from our WWW pages' public testing area. A complete list of fixes as applied to the software follow. Please take the time to try this new software, 'specially if you have reported a bug and it appears on the list of fixes. Your feedback is appreciated. (NOTE: Some of you may have been expecting test versions of Fant5.10 etc. this week. This was to have been the case until we decided to address the rather nasty incompatibility problems (as a side note, ATM4 kills FreePPP 2.5b6 pretty good!). We apologize sincerely for the delay but do try to respond to serious incompatibilities as soon as we are aware of them.) Changes to Anvil1.1b1 --------------------- 1. Double clicking an object to open it from a Project window now un-lights the object before opening it. 2. Change: Anvil now maintains a persistent log of file editing in the Lightsoft Folder called "User Edit Log". All files that are saved are noted here, along with the date, time and user name. This is useful if there is more than one person working on a project when you need to see who changed what files and when. This log file also contains other misc information. The file is a standard Anvil text file in Mac format (i.e. CR's only). 3. version control is now correctly disabled for log and project windows. 4. Made compatible with ATM and hopefully all Apple language kits. Build also affected by this change. Build V3.5.8 is the fixed version. 5. Fixed double click in new doc window to crash Anvil. 6. Fixed double click on first word of a file to select word; was not selecting first char. 7. Fixed black rectangle when resizing a project window with other windows open. 8. Fixed resize icon of project window not blanking out when proj window is not the frontmost window. 9. Basic machine speed rating displayed in log window when Anvil boots up. Tests emulator speed if Anvil basic ISA is 68K, basic memory/L1 cache, basic integer unit (does 32 bit div /mul/add), simple branch unit speed tests. Loops 40000 times. Lower the number reported, the better. 10. Fixed auto-switch to file so that Anvil does not always switch to an open file should user want to open a copy E.G. from the open menu and odoc AEvents. Loading from a project window will autoswitch to an open file or load as necessary. 11. Build hogs processor is not quite as severe as before. Every 20th A_Idle call will now get through with this option set. Previously, none would get through. 12. Fixed text overwrite when paste and then quickly enter a character. 13. Multiple clicks on the build icon will no longer cause build to be interupted and a new build started leading to a crash. The next build will start after the current has finished. END Lightsoft 0155 07Jan98
Date: Wed, 07 Jan 1998 03:58:38 +0100 From: bondard <bondard@ens.fr> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding Alok wrote: > > Maybe we should just have a fee (5$) and redistribute them. I'm ready to > orgranise this every two months! > Hello! Why not distribute the source, as Paul said, to those who contributed $$ for the prize? Any source good enough to win would be well worth a few $$. Even ONE good code snippet which makes you save a couple of hours or gives you a good idea would be worth it. Of course it all depends on the number of persons who would be interested. Why not try a kind of poll? Here it is: DO YOU WANT TO CONTRIBUTE TO THE COMPETITION? IF YOU DO, YOU MUST SEND EMAIL TO: robot@writeme.com (Alok) YOU WILL ALSO HAVE TO SEND A CONTRIBUTION TO THE ORGANIZER: WOULD YOU BE WILLING TO SEND: $5 [ ] $10 [ ] $15 [ ] $20 [ ] $99999 [ ] IN EXCHANGE, YOU WILL GET THE SOURCE FOR THE WINNING PROGRAM. Here is my answer right away: I would want to contribute $20. Let's do it. ----------------- Daniel Bondard bondard@ens.fr ----------------- Never believe that you know the last thing about any human heart Henry James
Date: Wed, 7 Jan 1998 00:44:04 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: LS: Bug in Anvil 1.1b1 - DO NOT USE! A bug in Anvil1.1b1 that can cause project file corruption under apparantly random conditions has been discovered. If you have downloaded the software, do not use it. A replacement will be available when fixed. Lightsoft 0543070198
Date: Wed, 07 Jan 1998 19:16:57 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Mouse/game comp... Hello, I know this is probably *really* easy,but how do you hide/show the mouse cursor? Do I need to do something with the variables JShowCursor and JHideCursor? Thanks in advance :) Paul BTW- The idea of getting each entrant in a game competition to pay an entry fee is ok,but it probably won't work if they only win some source code :( If people were going to have to pay to enter the competition,I think it'd be better if it was run as a winner take all thing,and make the source code freely available to everyone - that way more people learn how to code well,which means more entrants in future competitions and thus a higher prize for the winner! Not that my opinion matters,but I still think it should be limited to around 16Kb with graphics and sound :)
Date: Wed, 7 Jan 98 01:41:14 -0800 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Mouse/game comp... >I know this is probably *really* easy Your right. =) To hide the cursor call "Xcall HideCursor" to show it again is "Xcall ShowCursor" if you want to hide it until the user moves the mouse call "Xcall ObscureCursor" ------------------------------------------ Kevin Avila kevin@cache-computing.com http://www.cache-computing.com
Date: Wed, 7 Jan 1998 14:38:17 +0100 From: "MoonDark" <moondark@telemacus.it> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding >Alok wrote: > DO YOU WANT TO CONTRIBUTE TO THE COMPETITION? I offer to contribute with $20 Mario
Date: Wed, 7 Jan 1998 21:44:57 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding >Alok wrote: >> >> Maybe we should just have a fee (5$) and redistribute them. I'm ready to >> orgranise this every two months! >> > >Hello! > >Why not distribute the source, as Paul said, to those who contributed $$ >for the prize? >Any source good enough to win would be well worth a few $$. Even ONE >good >code snippet which makes you save a couple of hours or gives you a good >idea >would be worth it. > >Of course it all depends on the number of persons who would be >interested. >Why not try a kind of poll? Here it is: > > DO YOU WANT TO CONTRIBUTE TO THE COMPETITION? > IF YOU DO, YOU MUST SEND EMAIL TO: robot@writeme.com (Alok) > YOU WILL ALSO HAVE TO SEND A CONTRIBUTION TO THE ORGANIZER: > WOULD YOU BE WILLING TO SEND: > $5 [ ] $10 [ ] $15 [ ] $20 [ ] >$99999 [ ] > IN EXCHANGE, YOU WILL GET THE SOURCE FOR THE WINNING PROGRAM. > >Here is my answer right away: I would want to contribute $20. > >Let's do it. > >----------------- > Daniel Bondard > bondard@ens.fr >----------------- > Never believe that you know the last thing about any human heart > Henry James Why only the source of the winner? Why not everybody's source code? And maybe the best ones could go onto the Lightsoft site? I could host any source code on my page... And to avoid lots of transactions, suppose the fee is 10$ and you win 90$ I'll just send you 80$ and keep the rest of the ten for the next (of course, you may wanna stop and take all 90$). I think 10$ is a good price. Winner get's 75 % of all entries + a price if I can get (maybe a golden ball pen, or a certificate which will be signed from a famous guy (I did that last year and the sign was from Daily Thompson (Best Decathlon athlet in history) and this year, it'll be signed by Anand (top best chess player).) For getting these certificates made, I'm quite lucky, cos there's always osmeone famous at the olympic museum in Lausanne, and the entrance is always free and open to public. (BTW I'll get the certificates made today ( byAnand)). Bye, Alok email: robot@writeme.com VISIT MY WEB PAGE!!! NEW CHRISTMAS LOOK !!!! HTTP://FOXDEN.NETOPIA.COM/MENGHRAJANI
Date: Wed, 7 Jan 1998 21:45:26 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Alok Hi, I just checked my mail after 3 days, and it's over flowing. I haven't rerplied to the anti-hack msgs, but I'll do it soon. I would like to know: Anybody got a 8600/200 or Mac OS 8? I sent my game to a magazine, but they say it crashes under 8600/200 Mac Os 8. I would like to know where the prob is, if it's in the compatibility with Mac OS 8.0 or the 8600/200 computer (or both?) Bye, Alok email: robot@writeme.com
Date: Wed, 7 Jan 1998 21:45:31 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Mouse/game comp... >Hello, > >I know this is probably *really* easy,but how do you hide/show the mouse >cursor? Do I need to do something with the variables JShowCursor and >JHideCursor? I use a built in function, but I gues it's got a white mouse (with no mask) and plot's that! >BTW- The idea of getting each entrant in a game competition to pay an entry >fee is ok,but it probably won't work if they only win some source code :( If >people were going to have to pay to enter the competition,I think it'd be >better if it was run as a winner take all thing,and make the source code >freely available to everyone - that way more people learn how to code >well,which means more entrants in future competitions and thus a higher >prize for the winner! > >Not that my opinion matters,but I still think it should be limited to around >16Kb with graphics and sound :) Well I'm now programming in Pascal so I would need about 100k to be able to do anything. I guess by having the limit to 20kb-50kb will force me to get back to assembly. bye, Alok
Date: Wed, 7 Jan 1998 21:45:45 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack >>>Also, a simple application might look a little silly if it has to >>>include an 8mb animation to confuse any would-be hacker (unless you were >>>joking?). >>Well don't put 8 mb of animation, but have 8 mb of junk. > >A LITTLE silly ? BTW, I think Microsoft uses this scheme. >Bloatware copy protection. :-) > >>Anyways, if we have a really big app, hacking it will take a long long >>time. Basicaly we can consider a 20mg file as not being redeable. > >But remember, once can step through the code ACTUALLY RUNNED in RAM, >instead of disassembling the whole app on file. I can disable Mac's bug at the beginning.. >>In all systems, the possibilities of dissambling the complete file will >>exsite (except if Apple start to add a second chip (a small one, 68010) >>which won't be documented, which won't have any debug possibilities, and >>where apps will be lauched. I have dreamed of getting this system working >>the hole summer, but I know if someone does it, it might be my idea, but it >>won't be me). > >I think what you want is a Network Computer. Then you have a TOTALLY >separate chip (hundred of miles away in a server). And you even have to log >on every time. >Dream ? Sounds like a nightmare. No not a network computer, just an extra chip inside the Mac. (a small one, maybe even an intel.) >>Oh, and remember that programs that require a registration number to >>function completely is not Shareware, but Crippleware. An important >>distinction (there seemed to be some confusion). > >Some people call Shareware "free" too. >Or "free-circulating". I would say there is a lot of confusion around. > >>Oh, and for the record I got the number: -359179244. Repeatedly. Hope it >>helps. > >Hey, funny, this is what I got too : -359179244. >Repeatedly. Kewl copy protection :-) That's strange.... >BTW, what's stopping anyone from patching Gestalt ? My installer will demand a restart before and after use. Maybe it'll avoid patching? >What I would like is a C compiler that tries its utmost to produce >unreadable code (turnoffable using directives, of course.) Maybe you can >add that to Fanta_C? ;) Most crackers are not very smart, so when they >encounter some extremely hard-to-read code they'll decide it's not worth >the trouble. > I have thought of that... ******** Is it posible onthe mac to have a personnalised diskette formatting? Bye, Alok
Date: Wed, 7 Jan 1998 21:46:05 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Alok News Hi, Well I just came back from the IOC museum, and I have got some news: Bad news: I couldn't meet V.Anand. I haven't found any gifts for the competition. But Good News: I won a very nice gift, that I'm willing to offer as first price. I'll be meeting Anand tomorrow (or maybe tonight?) and will get the certificate made. So here is how everything will go: 5$ is the inscription(you pay 5$, I may get a fraction less, cos of the transactions). I'll find a way to make it easier for you to pay... 100% of the prices will be redistributated as following (I'll use a fraction to post the gift): 65 % to first + gift + certificate. 20% to second. 15% to third. The objet this time will be to write a system utility. You aren't obliged to have it as an extension form (for eg: I use Kingo.app as a nice intertaiment (It's a small app that display a nice colorful fish on the desktop and makes it goes around an aquarium. It's located in my startup folder :)) Of course utility doesn't mean useful (Kingo fish is only useful to inrease the risk of having your computer crash :)) You can work by teams, of up to two (in that case it'll be 10$ per team). The date limit will be set to 31 feb? No 28 FEB 1998 :) Anyways, I'll send some more news about how to pay. Oh few things: You can code in Pascal, Basic, Java, C & Assembly (if you wanna code in something else, please let me know). THE OBJECTIVE OF THIS COMPETITION IS TO IMPROVE YOUR PROGRAMMING SO: YOU MUST DOCUMENT YOUR SOURCE !!! All sources will be FREEWARE (or SHAREWARE). Oh, the file size isn't yet dicided, but will be something like 25-50k Anybody can participate. Bye, Alok
Date: Wed, 7 Jan 1998 18:26:50 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding Alok wrote: >Why only the source of the winner? Why not everybody's source code? And >maybe the best ones could go onto the Lightsoft site? We are always more than happy to show-case peoples efforts. All you have to do is send your work to us and we'll post it up. Stu.
Date: Thu, 08 Jan 1998 01:35:33 +0100 From: Allan Jensen <maccoder@post6.tele.dk> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding While I agree that a competition could be a cool idea, there are just a few things I personally disagree with: In the old days, with Commodore 64 and the like it was indeed a artform to make your programs as short as possible. You had to take into account the limited amount of RAM and so forth. With Macs there is no real reason. Struggling to make your programs shorter often makes it less understandable and urges you to use hardcoded values and all kinds of stuff (Ive seen a basic-compiler in 10 lines of basic, I kid you not). And since the end result might be something others should read and learn from, I dont think its such a good idea. After all, code is still taking up relatively little space, so Im guessing wed only end up with a load of ugly games, because no-one has room for nice(ish) graphics. I suggest: no size limit. Also, I disagree that people should pay to get the source-code from the competion. As I said, people could perhaps learn a thing or two from the sourcecode, and making anyone pay for it seems, well, wrong. This is a list-server for all those interested in assembler using Fantasm, if we start asking people to pay to get the good stuff (I hope), Id feel bad about it, and give the source away in any case. After all we should Think Different, and be sociable and friendly mac-type people and maybe even win a few people over to cause (using Fantasm, natch). Lets be creative. Why set out rules for what type of game that has to be programmed? I have no idea how to make a chessgame, and would be disappointed if only certain types of knowledge would come in use. Who cares what type of games, as long as its fun and playable? On the whole, Im not sure about the money-thing. As a student Im pretty hard up financially, and, yes, $5 would be a lot since I guess Id have to get a cheque for it (another $5). Apart from that ;) I think its a truly excellent idea. It doesnt have to be that difficult. 2-3 months to make a game. And the winner can the honour of putting I WON THE GREAT ASSEMBLER PROGRAMMER AWARD OF 1998 in their signature. Its not really for the money were doing this, or ...? Allan
Date: Wed, 7 Jan 1998 19:59:36 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: LS: Anvil1.1b2/Build358b2 available for testing Anvil1.1b2 is now available for download from our WWW pages ot the public testing area. The bug that could cause project file corruption has been fixed in this version. The archive also contains a new plug - Erase Data Fork. This was written for a very specific case, that of quickly removing a data fork (a fragment for example) from a file. Please send bug reports/comments concerning the above test software to lightsoft@compuserve.com Thank you for your time. Lightsoft 0100080198
Date: Thu, 8 Jan 1998 12:50:22 +0100 From: anders <coderonin@geocities.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack >>But remember, once can step through the code ACTUALLY RUNNED in RAM, >>instead of disassembling the whole app on file. > >I can disable Mac's bug at the beginning.. >>BTW, what's stopping anyone from patching Gestalt ? > >My installer will demand a restart before and after use. Maybe it'll avoid >patching? And as for dongles/chips/online-registration-everytime, does anyone really think that these stop determined crackers ? Sure, they cost a lot. But is it worth it ? --- OK, so your installer will demand that I startup without extensions (removing my CD-rom and a dozen of other vitals, including some people's screens). Then it will install your application (along with several megs of toxic waste). Then it will demand me to reboot (again). Every time it launches, it will disable a few system utilities that could be used for "hacking". And of course, disable any switches to Finder (probably kill it too) to avoid launching any RAM dump programs. Then I will enter a code, using your "nice" keyboard drawn. And then if remember where I put the code, and type it correctly, the app will finally start. Of course, if I buy a new computer I have to reregister/change my registration. If I have two computers, I will buy two programs (even though I use one at a time) Sounds like a whole lot of trouble, to me. And there is bound to be some little cracks in this watertight shield. And all for what : protecting your precious code ? Ever wonder why most companies nowadays don't copy protect their code, but enforce it legally instead ? //anders
Date: Thu, 8 Jan 1998 14:37:08 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding >While I agree that a competition could be a cool idea, there are just a >few things I personally disagree with: > >In the old days, with Commodore 64 and the like it was indeed a artform >to make your programs as short as possible. You had to take into account >the limited amount of RAM and so forth. With Macs there is no real >reason. Struggling to make your programs shorter often makes it less >understandable and urges you to use hardcoded values and all kinds of >stuff (Ive seen a basic-compiler in 10 lines of basic, I kid you not). >And since the end result might be something others should read and learn >from, I dont think its such a good idea. After all, code is still >taking up relatively little space, so Im guessing wed only end up with >a load of ugly games, because no-one has room for nice(ish) graphics. I >suggest: no size limit. > >Also, I disagree that people should pay to get the source-code from the >competion. As I said, people could perhaps learn a thing or two from the >sourcecode, and making anyone pay for it seems, well, wrong. This is a >list-server for all those interested in assembler using Fantasm, if we >start asking people to pay to get the good stuff (I hope), Id feel bad >about it, and give the source away in any case. After all we should >Think Different, and be sociable and friendly mac-type people and maybe >even win a few people over to cause (using Fantasm, natch). > >Lets be creative. Why set out rules for what type of game that has to >be programmed? I have no idea how to make a chessgame, and would be >disappointed if only certain types of knowledge would come in use. Who >cares what type of games, as long as its fun and playable? > >On the whole, Im not sure about the money-thing. As a student Im >pretty hard up financially, and, yes, $5 would be a lot since I guess >Id have to get a cheque for it (another $5). > >Apart from that ;) I think its a truly excellent idea. It doesnt have >to be that difficult. 2-3 months to make a game. And the winner can the >honour of putting I WON THE GREAT ASSEMBLER PROGRAMMER AWARD OF 1998 >in their signature. Its not really for the money were doing this, or >...? I agree on the fact that putting a limit on the size isn't a good idea after all. But I still think that having a subject isa good idea, so that everybody get's into more or less the same thing. When I say board game, it doesn't mean chess game. It can be monopoly too. This will avoid people to keep on doing the same styles of games, and will allow people like me who think it's hard to make such a game, to try. For the money part, it'll allow us to create better games? What I was thinking, is that 5$ isn't much. I think everybody could afford it. Anyways, let's start with the date 28 Feb for submitting. I think it would be good to see utilities (and not games for once). I had few ideas for the folllowing months: a demo, a car game, a board game, a sports game, etc... But if you don't want to have a subject imposed, we may remove it. Anyways, start to code.... Bye, Alok email: robot@writeme.com
Date: Thu, 8 Jan 1998 14:37:47 +0100 From: "MoonDark" <moondark@telemacus.it> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Alok News At 21:46 +0100 07/01/1998, Alok wrote: >Oh few things: You can code in Pascal, Basic, Java, C & Assembly > >(if you wanna code in something else, please let me know). What about another competition with about the same rules but limited to old languages code? Fortran, Lisp, ADA...that would be real fun Mario
Date: Thu, 8 Jan 1998 14:45:44 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Entering this list Hi, I'm quite in a hurry now, so I wouldn't mind if someone mails me the instruction for joining this list (I have two friends interested!). Thx, Alok email: robot@writeme.com
Date: Thu, 8 Jan 1998 14:52:32 +0100 From: "MoonDark" <moondark@telemacus.it> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack Alok wrote: >I can disable Mac's bug at the beginning.. Disabling debugger vectors does not mean a real protection against motivated people, it may stop some individuals but you can always defeat it quite easily >Is it posible onthe mac to have a personnalised diskette formatting? Sure, as long as you build your own driver for it, personaliezd format isn't anything special, running a PC formatted disk on a mac is an example of that Anders wrote: >And as for dongles/chips/online-registration-everytime, does anyone really >think that these stop determined crackers ? Sure, they cost a lot. But is >it worth it ? I believe some dongle brands are safe, not uncrackable but still very secure as it would require a lot of time and resources to defeat their protection scheme, and that's not worth the effort. I myself work in the cp industry and I doubt someone would succeed hacking a HASP M8 dongle or a tough Microguard in little time, when you've got to deal with vital program code stored in the dongle in a seriously encrypted form, you mostly likely give up on that. Mario
From: Allan Jensen <maccoder@post6.tele.dk> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Alok News Alok wrote: > Oh few things: You can code in Pascal, Basic, Java, C & Assembly > > (if you wanna code in something else, please let me know). I'll play the role of the embittered old man again ;) Since this obviously isn't a pure assembler competition anymore, it probably doesn't belong on an asm/fantasm list-server? That is, if I understand the purpose of the list correctly? Best of luck to all who enter, but if the winner is a basic-programmer I would prefer not to know anything about it ;) I would still like it if a pure asm game/utility compo was arranged at some point, but that might be something for the Lightsoft guys to look into? As it is, I think the competion has been arranged too quickly with little real guidelines, which has stopped being entirely about assembler, which just about does it for me. But I meant the part about good luck. Really. Allan P.S. I generally try to be a kind and understanding young man, but I have exams tomorrow, so ...
Date: 08 Jan 98 15:54:55 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack The trick to defeating a dongle is that you disable/skip over the code that reads it. Usually this is a matter of setting a breakpoint on code that reads whatever port the dongle is attached to. When you hit the breakpoint you can trace back to the code that called the port checking routine. Then you "NOP" the call to that code. Usually it expects some kind of result back, so you set things up so that the result check always branches to the "good" result. The above may require going back up the calling tree several steps to accomplish all this. This can get very tedious if the dongle is checked many times throughout the code. In the simplest case the dongle is only checked when the code first runs. A little more complication is checking for its presence when an important operation is perfomed, such as saving a file. The most complicated case is to check for it periodically (like every 5 minutes or every n time through a commonly executed routine) or just at random places in the code. The trick to really make this complicated is to use a different algorithm to do the check each time. If you have a single CheckForDonglePresence routine, just disabling that one routine will crack the program no matter how many checks are made. If the code to check the dongle is the same each time a global search for matching bytes to the first instance found will find all the others. I have done some code cracking in my time. Once because I sent in my shareware fee and the check was cashed but I never received the key to unlock the program. Another time I sent in a shareware fee and received a key that caused my name to appear in the splash screen when the program loaded. I didn't like the fact that my name was all upper case so I went stepping through the program to see how the key was transformed into my name. The code did multiple XORs on different parts of the key in different parts of the code. For example, it might XOR the first 5 bytes with $AB, then later XOR the last 10 bytes with $BA, then some bytes in the middle with $78. After about 20 or 30 XORs I gave up, so my name is still all uppercase. That's the trick to all this, I think. Just make it too tedious to crack. Of course you'll always have to pimply-faced techno-nerd kid with no life and a lot of time who will never give up. Also to use this kind of method you'll have to write some code that takes your user's name and transforms it into a personalized key. I think that will slow down those people who are reluctant to give away copies of your program when it has their name in it.
Date: 08 Jan 98 16:09:39 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Coding Competition I think this has gotten out of control. I have two objections: 1 - I agree with Allan Jensen's observation that this is supposed to be an assembly listserv, so allowing other languages defeats the purpose. Given that, the competition should be based/launched from some other site or restricted to just assembly language. 2 - The second problem I have is that the "rules" have been created on the run so to speak. One here and another a couple of posts later. So I have no clear idea of what the actual rules are. I thought this started out to be a small game program and it somehow became some utility, or maybe it was something else. I don't know, I got confused somewhere among all the posts. The size has bounced all over the place also. If we're going to have a competition, the rules should be summarized so everyone knows what the guidelines are so that they can all work within them. That also applies to the prizes. It's nice to say that the winner will receive $100, but sort of premature if you don't have the $100 in hand. To keep from being burned on the prize, you need to actually have the cash in your possession. Promises and pledges of support are great, but if they don't come through you'll be honor-bound to pay out your own pocket. Probably something you don't want to do. :-)
Date: Thu, 8 Jan 98 20:44:47 -0700 From: James Hague <jhague@dadgum.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding How about anyone who wants to, anyone with extra time and motivation, writes a little demo in the traditional fashion, a la Lightsoft New Year 1998? No prizes, no rules, no times limits, no fuss. It doesn't matter if source code is included or not. The Lightsoft demo is literally begging for competition :-) -- James Hague Dadgum Games http://www.dadgum.com/
Date: Fri, 09 Jan 1998 17:54:48 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Game coding James wrote: >How about anyone who wants to, anyone with extra time and motivation, >writes a little demo in the traditional fashion, a la Lightsoft New Year >1998? No prizes, no rules, no times limits, no fuss. It doesn't matter >if source code is included or not. The Lightsoft demo is literally >begging for competition :-) Damn good idea,James! I offered a reasonably simple idea and within half a dozen emails it'd turned ferral.Surely impressing one's peers is more rewarding than cash? I'm looking forward to saying "Damn! Wish I could do that!" :) Paul
Date: Fri, 9 Jan 1998 05:20:51 EST From: LewF1148 <LewF1148@aol.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: LS: Anvil1.1b2/Build358b2 available for testing In a message dated 1/8/98 3:04:29 AM, you wrote: <<Anvil1.1b2 is now available for download from our WWW pages ot the public testing area.>> Could you please tell me where this public testing area is. I went to the site at http://www.tau.it/lightsoft/main.html and looked everywhere (except programmers dream which would not open) and couldn't find it. Thanks Lew
Date: Fri, 9 Jan 1998 10:42:47 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: LS: Anvil1.1b2/Build358b2 available for testing >Could you please tell me where this public testing area is. I went to the site >at http://www.tau.it/lightsoft/main.html and looked everywhere (except >programmers dream which would not open) and couldn't find it. > >Thanks >Lew Hi Lew, Try http://www.tau.it/lightsoft/index.html and you should then get the "Full Monty". The site was changed somewhat late last year, and most areas are now accessible from the sidebar frame you should get. If still no luck, let me know. Rgds, Stu.
Date: Fri, 9 Jan 1998 12:08:44 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: LS: List guidelines and some other stuff 1. This mailing list. We are generally quite happy to let this list run its merry way. We will only intervene (issue guidelines) when actual list users start objecting to other users use of the list. After all, there should be no real need for control on a list composed of intelligent programmers :-) This list is for Fantasm users; it's called "list-Fantasm". The idea of giving a mailing list a name is so that users can help each other out without having to battle through noise. If this list were for Pascal programmers, it would be called a Pascal mailing list. Specifically, this list is for assembly language programmers and Fantasm users. Sometimes it has to veer off into other directions simply to get a point across - for example user (a) asks how to solve problem (x) and user (b) posts some C code - that is fine. Nobody would expect user (b) to translate the C to assembly. Mailing lists exist to satisfy the needs of people with a certain range of interests; normally the more specialized the topic, the more useful the list. This list is composed of Macintosh assembly language authors; some highly experienced, some less so. It is a highly useful resource; we ourselves have posted questions to this list with great success on every occasion. This list exists to further the knowledge of Macintosh assembly language and usage of our assembly language based products. Hence, this is not the place to post any items relating to any other language and by inference this is not the place to start a competition where the entrant may write in any languge they desire. There are many other mailing lists/sites aiming in that direction (i.e. language agnostic/algorithm specific). Please think about the above before posting. 2. Competitions This list has been running for a few years now. Some users may remember that a while back, we ourselves tried to organize a competition. If I remember correctly we were offering a prize somewhere in the region of a cuppla hundred US dollars. There was little interest so we dropped it. Since then, the number of users has grown and we have no objections to anybody organizing competitions on the list as long as the entrants efforts are written in assembly language. The main reason for writing in assembly language is to achieve high speed and smallness of size; this is still as relevent today as it has always been. In assembly language you have total control. With reference to prizes; we agree with some other list users in that programming for programming's sake is a GOOD THING. Why else would we spend 6 weeks writing a demo? It was written to find out just how one does certain things; it certainly wasn't written because we thought there may be a prize at the end of it. Were we now to go on to write a game, that demo and the techniques used would give us a lot of useful bits. We hope people look at it and say "How is that done? Can I do that?". We also learnt a shed-load about what a PowerPC processor is good at and what it struggles with (conditional branches - it don't like 'em; we learnt how to remove branches from code and more than double execution speed). Remember, it's quite possible to write a killer game at home. You don't need 40 people; indeed in many cases, the smaller the team, the better. Many years ago, people "did demos" all the time; there were no cash prizes in many cases. What came out of the efforts were just damn good programmers and a certain glee that platform x had this cool demo on it, and platform y didn't. Discussions in this area are welcome. Has nobody the inclination to challenge our demo? Is it a lost art? We're more than willing to help :-) The source for the demo is available on request to registered users. Stu. Lightsoft 1700 9Jan98
Date: Sat, 10 Jan 1998 13:56:55 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re:list guidelines etc Hello, Interesting spiel Stu and well said! I sent a message to this mailing list saying the same thing,but for some reason it didn't make it :( I bought a copy of Fantasm because I loathe the high level languages.I'm also a bit of a dinosaur in my thinking and I guess I like more control :) I agree,the mailing list is a great idea and I've learned a lot from it - some of it I'll probably never need (supervisor mode stuff),but useful and interesting none the less. As for challenging the lightsoft demo - I really want to - BADLY! but my skills just aren't there yet.I'm learning bits and pieces,but any help would be nice :) Please send me a copy of the Lightsoft demo source.I know there's some cool stuff in there I'd like to learn! :) The MOD source alone would be a great step forward! :) Thanks, Paul
Date: Sat, 10 Jan 1998 13:56:58 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: stbx instruction Hello again, I'm trying to read a slab of video memory and store it in a buffer so I can manipulate it later,but so far it just locks my Mac up nicely instead :) I've got the base address,and I'm using the lbzx instruction to get one byte at a time (slow,I know :) which seems to work (?),but my code dies when I try to use the stbx instruction to store the data in a buffer.I've noticed this happens whenever the destination buffer is greater than $FFFF - Why? If I use "Buffer: rs.b 100000", Fantasm doesn't say it's wrong,but as soon as I run my executable,I get an "Error reading longword from XXXXXXX" message in Macsbug and I can't seem to do anything to get control again,so I have to reboot :( So first of all,am I going about this the right way? And secondly,is there some handy tip someone can give me for bailing out of Macsbug when "es" doesn't work? Many thanks! Paul
Date: Fri, 9 Jan 1998 11:45:57 -0600 From: marcus jenkins <marcx@concentric.net> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Fanta C??? Hey I heard Lightsoft was coming out with a C compiler. Is it still in the works-- and if so, when would it be coming out. Something a little less expensive and sleeker than Codewarrior would be highly marketable. Not trying to offend any assembly fans ;)
Date: Sun, 11 Jan 1998 02:16:48 +0900 (KST) From: SMAT@mail.hitel.net To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Just curious Hello, After compiling source with fantasm then opening its executable file by resedit code viewer. In the code viewer window +- LEA Anon46+$0012,A1 +->ORI.B #$00,D0 What does it (willing) mean? It would be good if someone enlightens it. Have a nice day. Jin-hong, Lim
Date: Sat, 10 Jan 1998 14:40:14 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: stbx instruction Paul wrote: >I've got the base address,and I'm using the lbzx instruction to get one byte >at a time (slow,I know :) which seems to work (?),but my code dies when I >try to use the stbx instruction to store the data in a buffer.I've noticed >this happens whenever the destination buffer is greater than $FFFF - Why? If >I use >"Buffer: rs.b 100000", Fantasm doesn't say it's wrong,but as soon as I run >my executable,I get an "Error reading longword from XXXXXXX" message in >Macsbug and I can't seem to do anything to get control again,so I have to >reboot :( Hi Paul, The RS range of directives serve two purposes in Fantasm (PPC): 1. To set up structures. 2. The largest RS block found is used to set up the size of your BSS section. RS actually defines no space at all - all it does is increment a counter by a value multiplied by the size of the directive. This counter is reset at the start of each assembly pass, and can be manually reset with an rsreset directive. Another directive related to RS's is rs_align (optional alignment) which will increment the counter to align with either the next quad value as a default or your optional alignment value. Finally, rs_auto_align will make the counter divisible by 8 after every rs operation. Going back to the start (assume the rs counter contains zero): fred: rs.b 20 This line will assign the current value of the RS counter (zero) to fred and then increment the counter by 20. If we now have line that reads: harry: rs.h 2 Harry will be assigned the value 20 and the rs counter will be incremented by 2 times the size (half is two bytes) so the rs counter will now contain 24. Thus we have defined a simple structure consisting of 20 bytes and two halfs, but only in theory. For this structure to be useful it has to have a data area to map on to. So if we ds'd some space, then made a pointer point to it, we can access the structure fields by using the labels fred and harry. Hopefully you can see the use for RS directives. What you need is some real memory to store your data in. You could ds.b 100000, but this would be a bad thing. When you ds, Fantasm physically creates (and zeros) the memory in the data section and saves it to disk - you end up with a huge app. The only data you need on disk is initialized data. Temporary storage for run-time data is best either set up in the BSS section for small amounts of memory, or got from the system with a newtr or newhandle call for larger amounts. Hence you may do something like: movei r3,100000 Xcall NewPtr cmpwi r3,0 beq no_memory_error! *didn't get the memory **you may also like to check MemError here as well stw r3,my_memory(`bss) *save the pointer to your memory Now to copy from the screen you can load my_memory(`bss) into a register and load to there knowing you have 100000 bytes of storage there. The above code can be better written (as long as no_memory_error! does the honorable thing) as: movei r3,100000 Xcall NewPtr cmpwi r3,0 stw r3,my_memory(`bss) *save the pointer to your memory beq no_memory_error! *didn't get the memory **you may also like to check MemError here as well (movei is a macro that reads: movei: macro ifne narg-2 [x$] str$ narg fail "Wanted 2 params, got [x$]!" endif [x$] bin$ \2 *32 bit binary string [y$] left$ [x$],17 *get hi order 16 bits [z$] right$ [x$],16 lis \1,[y$] *generate the code - high order 16 bits ori \1,\1,%[z$] *low order 16 bits endm ) If I haven't clarified things for you, just yell! Stu. (P.S. as for getting out of Macsbug, try defining a global label right next to Xcall ExitToShell. When you crash try pc=your_exit_label_name <CR> and then G <CR>. Sometimes it works better than ES and sometimes it don't :-)) PS II - We'll send you the demo src first thing in the morning.
Date: Sun, 11 Jan 1998 13:20:04 +1000 From: mrwhippy@pac.com.au (Paul) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re:re stbx instruction Ah! The penny hath dropped :) Many thanks,Stu! Paul
Date: Sun, 11 Jan 1998 10:48:41 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack >OK, so your installer will demand that I startup without extensions >(removing my CD-rom and a dozen of other vitals, including some people's >screens). Then it will install your application (along with several megs of >toxic waste). Then it will demand me to reboot (again). Every time it >launches, it will disable a few system utilities that could be used for >"hacking". And of course, disable any switches to Finder (probably kill it >too) to avoid launching any RAM dump programs. Then I will enter a code, >using your "nice" keyboard drawn. And then if remember where I put the >code, and type it correctly, the app will finally start. >Of course, if I buy a new computer I have to reregister/change my >registration. If I have two computers, I will buy two programs (even though >I use one at a time) > >Sounds like a whole lot of trouble, to me. And there is bound to be some >little cracks in this watertight shield. And all for what : protecting your >precious code ? >Ever wonder why most companies nowadays don't copy protect their code, but >enforce it legally instead ? Hi, Well the AntiHack project is now closed! You have all convinced me that it's impossible to protect apps. Anyways, the number of hackers has been reducing and will keep on reducing i hope. I thank everyone of you, to have improved my knowledge during this week. Just a question: how can one legally enforce the rights? Don't worry, for my current work (and for my next 3-4 years) I won't need any protecting. Bye, Alok
Date: Sun, 11 Jan 1998 14:51:16 +0100 From: "MoonDark" <moondark@telemacus.it> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Anti-Hack At 10:48 +0100 11/01/1998, Alok wrote: >Just a question: how can one legally enforce the rights? Good question, in my opinion, if you have the opportunity to have your own company spend some money on serious copy protection systems, use tough hardware locks, again, HASP and EvE3 dongles are enough. However, some companies don't protect their software at all but focus on contacts with anti piracy insitutions which help law enforcement to be fulfilled; this way they can track what they're most intersted in: people who obtain software from illegal sources and resell it. You may easily avoid getting caught by softwarehouses which make of this policy their only anti piracy deterrent, though the time they bust you they'll prosecute you to the maxium extend under low, for real, unlike what other companies which use software/hardware protection systems may do. Best Regards,; Mario
Date: Sun, 11 Jan 1998 16:26:34 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Alok News >At 21:46 +0100 07/01/1998, Alok wrote: >>Oh few things: You can code in Pascal, Basic, Java, C & Assembly >> >>(if you wanna code in something else, please let me know). > >What about another competition with about the same rules but limited to old >languages code? Fortran, Lisp, ADA...that would be real fun Yes... I can now organise anything you want, with a fee of 5$ to help me mail the gifts, and give something to the winner or no fee. But if I ask something like a game in Basic in less than 20 lines of code, how will we do to make sure everybody has a Basic compiler? I have none of the above three. But we can try with something like the demo version of a compiler, or some freeware compilers. I'm sure the autors of such compilers will be pleased, cos it'll will allow them to get their compilers tested by a group of very good programmers (me excluded!). >Since this obviously isn't a pure assembler competition anymore, it >probably doesn't belong on an asm/fantasm list-server? That is, if I >understand the purpose of the list correctly? >Best of luck to all who enter, but if the winner is a basic-programmer I >would prefer not to know anything about it ;) I understand. Ok, so this time you can code in any language, but next time, it'll be pure asm. > Ok, I'll rewrite the rules NOW. email: robot@writeme.com
Date: Sun, 11 Jan 1998 16:26:50 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Rules of my competition. Here are the rules of the competition: a) The competition is open to Fantasm users only, or people testing the fantasm demo (downloadable from http://www.tau.it/lightsoft/) but these users will be limited by the demo. b) You must code a GAME this time. c) it must run on 16 ram maximum. d) There are no fees for participation (though you can donate some money). e) Winner will recieve a price (I'm donating it, this time). f) This competition has nothing to do with Lightsoft, except that it's Lightsoft's Fantasm users who can participate. g) Your source will be shown to other participants, and maybe even to the hole world. it MUST be documented, so that people understand how your code goes. h) You must submit me the compiled version of the game AND the source by 28 February 1998. i) You can form a team of up to two. j) There is no size limits, but it's no use having a 5 mb of QT movie at startup. What we want is some good code (though it would be intesting to see how one can insert QT movie..) k) I will determine which is the best program, after letting everyone have a look at them. l) This competition is friendly, that means, you must respect the other participants, and accept defeat in case I judge that you don't have the best program. Good luck. This competition is organised by Alok (robot@writeme.com) based on the idea given by Paul. **** For April 30, the same competition will take place (maybe without a price for the winner) and this time, you'll have to code a demo! June 30, the same competition (maybe without a price for the winner) and this time it'll be coding a utility. Next... Board games (chess or sim city type games), sport games, racing game, compilers, adventure game, doom type, etc... email: robot@writeme.com
Date: Mon, 12 Jan 1998 18:22:04 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: ADB coding? Hello, Is there some reason why I can't get Fantasm to let me use the ADBop function? I keep getting those "not linked in any file" errors.Is there somewhere I should be including it from? Thanks, Paul
Date: Mon, 12 Jan 1998 08:04:45 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: ADB coding? Paul wrote: >Hello, > >Is there some reason why I can't get Fantasm to let me use the ADBop >function? I keep getting those "not linked in any file" errors.Is there >somewhere I should be including it from? > >Thanks, > >Paul Try ADBOp Stu.
Date: 12 Jan 98 07:39:09 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Just curious SMAT wrote: >In the code viewer window > >+- LEA Anon46+$0012,A1 >+->ORI.B #$00,D0 ORI.B #$00,D0 is a disassembly of four bytes of zeros. It might not be real code.
Date: Mon, 12 Jan 1998 18:14:12 -0500 (EST) From: Figaro Tea <humphret@ruby.winthrop.edu> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Mousigator Beta Testing Would anyone here like to beta test Mousigator before I release it? If so then email me at humphret@cs.winthrop.edu. In the email list your system specs, processor type & OS version are the main things. A definite plus is telling me you have a lot of varied extensions installed on your computer. If I do decide to let you be a beta tester then I'll email you back Mousigator. Mousigator is a system extension that implements window focusing on the Mac. ..._Tim_... --=[I know everything...just not at the same time.]=-- http://www.shack.org/zzhumphreyt
Date: Tue, 13 Jan 1998 12:19:41 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: ADBOp/Completion routines? Hello, Thanks for the tip - I think I'd better invest in a good pair of glasses :) While I'm here,could someone please explain how I create a pointer to a completion routine? I haven't a clue! I'm assuming a completion routine is just some code to be executed after receiving a value from somewhere,but how do I assign it a pointer? Thanks again! Paul
Date: Mon, 12 Jan 98 20:47:05 -0000 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: ADBOp/Completion routines? >While I'm here,could someone please explain how I create a pointer to a >completion routine? If you in 68K assembly I think you can just use 'lea myFunction' but under PowerPC it's a bit tricker to get the address of a function using Fantasm...and for that I can't help ya because I don't have my books handy. ------------------------------------------ Kevin Avila kevin@cache-computing.com http://www.cache-computing.com
Date: Tue, 13 Jan 1998 02:27:04 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: ADBOp/Completion routines? >I'm assuming a completion routine is >just some code to be executed after receiving a value from somewhere,but how >do I assign it a pointer? If 68k, then yes it's just a pointer. If PPC you need to pass a universal procedure pointer. One can be created viz: ;;create a upp 0:kPowerPCISA EQU 1 1: lwz r3,My_TV(rtoc) ; TV here in data 2: lwz r4,[t]my_proc(rtoc) ; Actual pointer to code 3: stw r4,(r3) ; into transition vector 4: stw rtoc,4(r3) ; followed by our toc 5: lwz r3,My_TV(rtoc) 6: li r4,$00000FD0 ;params - return a byte, 3 longs in 7: li r5,kPowerPCISA ;the architecture of the code 8: Xcall NewRoutineDescriptor ;make a upp 9: move.l r3,my_upp(`bss) ;save UPP This one is for a modal dialog, but the principle is the same. MyFilterTV is defined as: align My_TV: ds.w 2 and is used to build a transition vector (pointer, rtoc) at lines 1,2,3 and 4. (You can alternatively put the TV in the BSS). The address of the code to be executed is passed in the second line and must be defined as a toc_routine. You will also need to change the parameter flags at line 6 - the 0xFD0 according to IMPPCSSW page 2-19 ish. Now, rather than passing the pointer to your completion routine, pass the upp instead and it'll be fine (he said with a wry smile on his face). One creates the upp at init time. The ADBCompletion stuff is not fun! Stu.
X-Listserver: Macjordomo 1b10 - Macintosh Listserver by Michele Fuortes Date: Tue, 13 Jan 1998 18:54:31 +1000 From: mrwhippy@pac.com.au (Paul) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Get/Store pixel Hello again, Could someone help me please? I'm trying to write a Getpixel routine and right now,it just sucks :( It should be the same as a Putpixel routine except using a load instruction instead of a store.Right? Nice and easy,but for some reason,mine just doesn't work :( I've written the same function under DOS which works just fine - which is what makes this problem more annoying :( This also means that I'm storing dud values into a buffer :( Can someone point out my mistake(s)? :) li r12,0 ;offset value lwz r5,ScreenBase(`bss) lwz r5,(r5) lwz r6,MyBuffer(`bss) ;reserved via the NewHandle function lwz r6,(r6) GetLoop: lbzx r10,r12,r5 ;Get a byte stbx r10,r12,r6 ;Store it addi r5,r5,1 ;Move to the next pixel addi r12,r12,1 ;increment the offset value cmpwi r12,100 ;for the sake of example,100 bytes will do :) ble GetLoop Am I making a big mess of this? I know it should be really simple,but I just can't see what's wrong with it :( All I know is that it doesn't work! :) Many thanks for any help! Paul
Date: Tue, 13 Jan 98 08:00:33 -0500 From: ms339002 <pauls101@mindspring.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Code header Hi all, I'm new to Fantasm, sorry if this is old/obvious. I'm redoing an extension w/Fantasm 68k. The resource it produces has a 68 byte header added to it. I've been deleting it w/ Resorcerer, but there must be a simple way to prevent this? I'd like the code to be exactly what I wrote (I do my own header), and I can't seem to find a preference or setting for that. I'm using the 68k Extension project type, set to a 'PROC' resource, merging to a file. thanks Paul
X-Listserver: Macjordomo 1b10 - Macintosh Listserver by Michele Fuortes Date: 13 Jan 98 07:54:16 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: My Anvil Doc windows have disappeared I tried to drag and drop print an Anvil document onto my desktop printer icon. The document didn't print and now the window apparently is offscreen. It appears under the Windows menu, but is not visible on the screen. What do I need to do to get my document back?
Date: 13 Jan 98 08:00:53 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: No color in Styled TextEdit I have a TEXT and styl resource pair that uses Styled TextEdit. I am using GetNewCWindow to open the window resource and TEStyleNew to open TextEdit. The bold and italic styles appear as they should and the extended TextEdit record and its extensions appear in memory to be correct, but the text is not in color in my window. I created the text using DocMaker and pasted it into my application with ResEdit. It appears in color in both DocMaker and ResEdit, but is only black and white in my window. Am I missing something here? I can't figure this one out. Please give me a little help. Thanks.
Date: 13 Jan 98 08:15:47 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Get/Store pixel mrwhippy wrote: > >li r12,0 ;offset value >lwz r5,ScreenBase(`bss) >lwz r5,(r5) >lwz r6,MyBuffer(`bss) ;reserved via the NewHandle function >lwz r6,(r6) >GetLoop: >lbzx r10,r12,r5 ;Get a byte >stbx r10,r12,r6 ;Store it >addi r5,r5,1 ;Move to the next pixel >addi r12,r12,1 ;increment the offset value >cmpwi r12,100 ;for the sake of example,100 bytes will do :) >ble GetLoop > You might want to try something like this: li r12,0 lwz r5,ScreenBase(`bss) lwz r5,(r5) subi r5,r5,1 ;sets up the index for the loop lwz r6,MyBuffer(`bss) lwz r6,(r6) subi r6,r6,1 ;sets up the index... GetLoop: lbzxu r10,1(r5) ;gets byte from r5+1 and increments r5 by 1 stbxu r10,1(r6) ;stores byte at r6+1 and increments r6 by 1 addi r12,r12,1 cmpwi r12,100 ble GetLoop I don't know if this will fix your problem, but it will speed up your loop so that it will be faster as it works incorrectly :-). By the way, I hope your pixel depth is 8 bits. If it's higher or lower you're not getting the correct bunch of bits with the lbzx/stbx pair.
Date: Wed, 14 Jan 1998 09:41:35 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Get/Store pixel >> addi r12,r12,1 cmpwi r12,100 << using registers that have the value of 1 & 100 might be faster too, i.e. add r12,r12,r7 ; r7 = 1 cmpw r12,r8 ; r8 = 100
Date: Wed, 14 Jan 1998 16:54:44 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Alok Hi, I am now switching to PPC Assembly (This means I probebly won't take place in my own competition, but it won't be canceled (I'm now god :)) Anyways, I would like to tell ROb (& Stu) that there is a mistake in the beginner's guide to Assembly : Chapter 1: Basic processor operation: para 2: I don't get the frist phrase: i think you wrote are instad of as. (Since I can't tell you that you have made a programmation mistake, I'll keep bugging you with typo mistakes :)) **** Whilst you are breaking down the first program you say that line 2 has no label, therefor cannot be branched to, but what if I branch to line 1 plus some value? It'll branch to line 2? SO what will be this value? Bye, ALok email: robot@writeme.com
Date: Wed, 14 Jan 1998 22:01:55 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: No color in Styled TextEdit >I have a TEXT and styl resource pair that uses Styled TextEdit. I am >using GetNewCWindow to open the window resource and TEStyleNew to open >TextEdit. The bold and italic styles appear as they should and the extended >TextEdit record and its extensions appear in memory to be correct, but the >text is not in color in my window. I created the text using DocMaker and >pasted it into my application with ResEdit. It appears in color in both >DocMaker and ResEdit, but is only black and white in my window. Am I missing >something here? I can't figure this one out. Please give me a little >help. Thanks. > > Open the text with ResEdit using HexEditor (select the resource and in the menus, you'll have the option 'open using hex..') and then check out if it's plain text. In case it dosn't work, send me your source. I'll try it using Pascal. THE only use of Pascal is for testing futur programs. Both my Pascal projects were downed in incompatibilities !!! BTW For Your Info: We got a new computer in school: StarMax 604e 200 Mhz and guess what? Virtual PC gives me better results than a Pentium 75!!! The best MS-Windows compatible OS today is certainly the emulators :) Bye, Alok
Date: 15 Jan 98 08:34:07 +0000 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: No color in Styled TextEdit robot wrote: >Open the text with ResEdit using HexEditor (select the resource and in the >menus, you'll have the option 'open using hex..') and then check out if >it's plain text. > The way styled TextEdit works is that there are basically two structures (there are actually more, but I'm trying to keep this simple for purposes of explanation), a TextEdit record and a StyleRun record. In my application they are stored as a 'TEXT' resource and a 'styl' resource. ResEdit understands that they are tied together and will automatically format the text as styled text if you open either one of these resources. Basically, the 'TEXT' resource has plain text in it. The 'styl' resource has style runs in it. The way a style run works is that it tells TextEdit that starting at byte n all the following text will have a certain style, such as bold, 12 point, green, etc. For example, you could have a style run starting at byte 100 with a style of bold. Then you could have a style run starting at byte 105 with a style of plain text. That would result in the five characters from bytes 100 through 105 being in bold with the rest of the text in plain style. I'm using bold, italic and plain text, which does display correctly. Also in my About box I have some bold colored text, which displays in B&W only. It DOES display in color in ResEdit. That's why I assume that I am not doing something that is needed to make this work.
Date: 15 Jan 98 13:19:17 +0000 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Disappearing document windows in Anvil I fixed the problem of my document windows disappearing in Anvil. I created a new document and sized it the way I wanted. Then I used ResEdit to open the "invisible" document and replaced the 'Eddi' resource in the bad document with the one from my good document. By the way, the 'Eddi' resource was 125 bytes in the good document and 512 bytes in the bad document. It looks like Anvil appended the info instead of replacing it. Stu, et al.: it looks like you're not handling these resources correctly. If you need more details on what I did to create/solve the problem, let me know.
Date: Fri, 16 Jan 1998 14:00:47 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Macsbug errors Hello, Could someone please tell me what a "PowerPC unmapped memory exception" error actually means? I'm reading bytes from the screen and storing them in a buffer,which works fine. The problem comes when the loop ends :( I'm using a 100 byte buffer,but only storing 40 bytes in it,so it's not overflowing.I'm also using HLockHi and HUnlock for locking and unlocking the memory,but when the loop ends and the data has been stored,the mac locks up (the mouse still works),so I force it to quit with an Option-Command-Escape,which then drops me into macsbug with the above mentioned error :( (It doesn't give me the option of choosing "force quit" or "cancel") Does this error suggest something specific,or is it just a "one size fits all" error message? Any help greatly appreciated as I'm getting a bit sick of rebooting after testing each rebuild :( Thanks, Paul
Date: Fri, 16 Jan 1998 11:56:47 +0100 From: "MoonDark" <moondark@telemacus.it> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Macsbug errors At 14:00 +0000 16/01/1998, Paul wrote: someone please tell me what a "PowerPC unmapped memory exception" >error actually means? > >I'm reading bytes from the screen and storing them in a buffer,which works >fine. The problem comes when the loop ends :( You may want to insert a debug directive at the end of the loop, that way macsbug will be called when your loop has finished executing, then you should start stepping through the code and figure out which instruction is responsible of the error. Mario
Date: Fri, 16 Jan 1998 22:21:56 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Macsbug errors Mario wrote: >You may want to insert a debug directive at the end of the loop, that way >macsbug will be called when your loop has finished executing, then you >should start stepping through the code and figure out which instruction is >responsible of the error. > I've tried that and followed it through.I wrote a short bit of code to read some data from one side of the screen and draw it back on the other.It works right until it finishes drawing the last pixel,then it dies :( I guess I'll just have to step through it again tomorrow :( Thanks Mario, Paul
Date: Fri, 16 Jan 1998 14:14:20 -0500 From: Scott Lahteine <slur@world.std.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Macsbug errors >Hello, > >Could someone please tell me what a "PowerPC unmapped memory exception" >error actually means? > You tried to read data from, write data to, or execute an instruction at a memory address which doesn't exist. In other words, either the address was too high, or there just weren't any physical RAM chips there to read. Check any registers you use as pointers to make sure they have valid addresses. scott lahteine "being is faster than light" <mailto:slur@world.std.com> <http://world.std.com/~slur>
Date: Sun, 18 Jan 1998 21:21:57 +0000 From: Paul <mrwhippy@pac.com.au> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Writing text to screen Hello, If you write text to screen with the DrawString function,what is the best way to overwrite the text when/if you need to change it? I've had a look at the TextMode function,but that doesn't seem to do what I want :( Is TextMode the right function for doing this? (if it is,I'm obviously using the wrong values :) I know there's more than one way to do this,but I'd like to find the best way :) Any suggestions? Thanks in advance, Paul
Date: Sun, 18 Jan 1998 14:52:15 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: LS: WWW pages off-line Just a short note. Our WWW pages are currently unavailable. tau.it is off-line for server upgrades today (and last night). The server should be back up by tomorrow. Lightsoft 1950 18Jan98
Date: 19 Jan 98 07:41:56 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Writing text to screen Paul wrote: >Hello, > >If you write text to screen with the DrawString function,what is the best >way to overwrite the text when/if you need to change it? I believe that if you just use DrawString it will write over the top of the text that is already present. It will write white areas as well as black areas, effectively erasing the existing text. Try it and see what happens. Another alternative is to use TETextBox, which allows you to specify exactly the rectangle that will enclose the text. You can do different types of justification, etc. See my ROM Sucker example on the Lightsoft web site. I used TETextBox to put the text in my About box.
Date: Mon, 19 Jan 1998 17:16:01 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Writing text to screen >If you write text to screen with the DrawString function,what is the best >way to overwrite the text when/if you need to change it? I've had a look at >the TextMode function,but that doesn't seem to do what I want :( Is TextMode >the right function for doing this? (if it is,I'm obviously using the wrong >values :) > >I know there's more than one way to do this,but I'd like to find the best >way :) Any suggestions? What I use is a function to calculate the lentgh/height in pixel of the text, and then draw a rectangle. I think that the best way, is to work offscreen. Suppose the string represents the speed of the car in a steearing wheel, keep the steearing wheel offscreen and each time after copying the wheel to the screen, add the speed. Bye, Alok
Date: Mon, 19 Jan 1998 17:17:02 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Tabagoshi Hi, Anybody got a version of the Tabagoshi game for Mac or the source, or the algos? BTW is Tabagoshi spelled right? Maybe that's why I can't find any info. For the ones who don't know, Tabagoshi is a small game, that comes in a key chaine form and where you must feed & take care of a little pet. Thx. Bye, Alok email: robot@writeme.com
Date: Mon, 19 Jan 1998 17:27:19 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Alok I just found that the corect spelling is: Tamagotchis Alok. email: robot@writeme.com
Date: Mon, 19 Jan 1998 13:20:29 -0500 From: Scott Lahteine <slur@world.std.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Writing text to screen >I believe that if you just use DrawString it will write over the top of >the text that is already present. It will write white areas as well as >black areas, effectively erasing the existing text. Try it and see what >happens. > Nope. In order to get rid of the old text you must restore the background color / pattern before drawing the new string. >Another alternative is to use TETextBox, which allows you to specify >exactly the rectangle that will enclose the text. You can do different types >of justification, etc. See my ROM Sucker example on the Lightsoft web >site. I used TETextBox to put the text in my About box. > This is a cool solution, though not necessarily for small bits of text or lots of scattered fields. ________________________ Scott Lahteine "No Universe is perfect which leaves no room for improvement." <mailto:slur@kagi.com> <http://world.std.com/~slur>
Date: 19 Jan 98 11:55:50 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: RE: Tabagoshi robot wrote: >Hi, > >BTW is Tabagoshi spelled right? Maybe that's why I can't find any info. I think it's Tamagotchi.
Date: Mon, 19 Jan 1998 21:03:58 +0100 From: Allan Jensen <maccoder@post6.tele.dk> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Tabagoshi Alok wrote: > > Hi, > > Anybody got a version of the Tabagoshi game for Mac or the source, or the algos? > > BTW is Tabagoshi spelled right? Maybe that's why I can't find any info. > It's called Tamagotchi and there's a Mac version (called BrightChick) at: http://www.letec.ch/pmoor/ Source, AI algorithm? No idea. Allan
Date: Mon, 19 Jan 1998 19:44:50 -0500 From: Dan Stone <dlstone@epix.net> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Tabagoshi >Anybody got a version of the Tabagoshi game for Mac or the source, or the >algos? > >you must feed & take care of a little pet. Search for BrightChick. It is a shareware virtual pet for the Mac. Sorry I don't have the URL. dan
Date: Tue, 20 Jan 1998 17:08:18 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Writing text to screen Don't even bother with offscreen drawing UNLESS you are drawing lots of text with different styles. Its fast & easy to just erase a rectangle & then DrawString text into it. This works best for STATIC text..not text that the user is typing. Check out the source to URLtility the PPC asm app I wrote whose source is in the lightsoft web page downloads area. It redraws the document windows by erasing when needed & then just drawing in text.
Date: Wed, 21 Jan 1998 17:32:42 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Alok Hi, I met a friend yesterday, who was telling me he spent 1000$ For MS-Office and he was angry, cos few years ago, when MS released their first versions, he had been an official beta tester, and had often lost week's of work. SO I thought that the futur of computer's is in the young students, so I thought of a Student's project. My aim to give students, FREE tools for the Mac so that they buy macs, and then program on macs, and then their children will have macs, and so on, and one day Macs will not only dominate in Power and Docs, but also in number. Here are the Apps I have thought of writting. I know it's a long project, I'll need your help and that I'll have to wait quite sometime to begin my first projects: Algebra: a simplfied version of Mathematica. Gemoetry: A monge projection system, and a color version of Cabri-Geometre, without it's bugs (I made a complete bug report on it, since I have worked on this prog for over 4 years, unfortunatly I don't the creator of this prog). Programamtion: Basic and Assembly compiler & maybe something like Logo or HyperCard? etc... Of course, these are just ideas, but I hope someone will get them written and will give them away for FREE with each mac. Bye, Alok
Date: Wed, 21 Jan 1998 17:32:56 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Floating window Hi, How do I create a floating window like PPPFloater or the tools in Graphic converter. Thx, Alok
Date: Wed, 21 Jan 1998 17:33:31 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: PPC / 68k Hi, I'm starting my first PPC program, and I have a prob: How do I know where to pass the parameters while doing system calls (like sysbeep, newcwindow, etc...). Has anybody here used some other good info rather than the beginner's guide (I find the PPC part a bit too little.)? Bye, Alok
Date: Wed, 21 Jan 1998 17:33:36 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: sub routine calling Hi, Would like ot know how the stack works in PPC. Can someone pls help me getting the following code workign with saving return addresses i r29, then r28 etc... Call sub1 end of prog sub1: save return address on stack call sub2 reload return address from stack end of sub1 sub 2: end of sub2 email: robot@writeme.com
Date: 21 Jan 98 10:25:47 -0800 From: Cliff Harris <cliff_harris@orangemicro.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Student software Years ago Apple had the University Consortium, which was a collection of software that was written by students, faculty members, and whoever wanted to contribute. All this was free software that was available at the Kinko's Copy Center to copy to your floppy disks. Now that I think about it, I think I need to back off on that "free", because I think some of it was shareware. Then Apple found out that some Kinko's were charging for using their computers and stopped the program. They said they were going to start it again, but it never happened. Now that the Web is here, maybe that would be a good distribution method. I know Apple has limited resources these days so I wonder if it would do any good to suggest that they restart this program.
Date: Wed, 21 Jan 98 14:52:02 -0500 From: ms339002 <pauls101@mindspring.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Floating window > >How do I create a floating window like PPPFloater or the tools in Graphic >converter. > A floater stays on top of the window list whether or not it is the active window. To achieve this you have to do low level stuff in the window list: every time the system tries to bring a non-floater to the front you stuff your floaters on top of it again. There was also an article on the subject in develop #15, that you can probably get from the devworld.apple.com website if you don't have the issue or an older Developer CD. Most frameworks can do it for you - if you have access to the source of one, look it over. It's relatively easy to but tricky to get right in an application - it's hard to do system wide (involves patching the Window Manager). Have a blast! Paul
Date: Wed, 21 Jan 1998 16:54:20 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Floating window >> How do I create a floating window there was a whole issue in mactech (back then it was called mactutor) about how to do this so you can just search their web site (www.mactech.com) for it. of course if you used a framework like PowerPlant or MacApp you could get floating windows EASILY since the code/classes for them are already there! oh yes, there was also an article in develop about how to use floating windows too...& i believe that in resedit you can set the windowkind of a WIND resource so that the window draws itself to look like a floating window..but that does not make it "float", it just gives it the right look
Date: Wed, 21 Jan 1998 21:47:12 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: PPC / 68k You can download the Inside Mac Volume called "IM-PowerPC System Software". It has info about PPC calling conventions & how they pertain to the mac toolbox. Its quite easy really. Parameters to toolbox routines are passed sequentially in registers starting with r3, i.e. if there is a call such as "ToolBoxCall (b:long; t:short; x:Handle)", in fantasm PPC asm you would do the following: load r3 with b load r4 with t load r5 with x Xcall ToolBoxCall ; Xcall is a PPC fantasm macro Take a look at the source of any of the apps that I posted. The sources show how to manage the stack (its also covered in the above IM volume) & how toolbox calls are made. One of the best PPC asm books I have found is "Optimizing PowerPC Code" by Gary Kacmarcik. This book has great explanations of PPC stack management & calling conventions. IBM & Motorola will also send you manuals for the PPC for basically free (they charge you postage). The one I got from IBM is called "The PowerPC Compiler Writers Guide" & it has lots of coding tips & algorhithms. They sent it to me for $1 postage. It also explains the PPC calling conventions too. The motorola manuals can be downloaded in PDF format & some are on the Lightsoft Anvil CD.
Date: Thu, 22 Jan 1998 17:09:08 -0500 From: Csaba Szigetvari <ps_informedia@compuserve.com> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Alok Hi, You wrote on the fantasm list server: << Programamtion: Basic and Assembly compiler & << maybe something like Logo or HyperCard? I also had plans for something like that, but it's a lot of work to be done alone, this would need about 3 - 5 developers, some additional tester's and quite some time to make it work. I thought of something like HyperCard, but without it's current limitations and with the ability of something similar to the Java bytecode in order to allow the use of many different programming languages or even mixing them - some kind of platform-independant assembler code behind the programming interface with a run-time environment for different computers. I'm interested in being part of such a project, so mail me in case of need. Bye, Csaba ps_informedia@compuserve.com
Date: Thu, 22 Jan 1998 22:18:21 -0500 (EST) From: Figaro Tea <humphret@ruby.winthrop.edu> To: Multiple recipients of <list-fantasm@mail.tau.it> Subject: Re: Alok On Thu, 22 Jan 1998, Csaba Szigetvari wrote: > << Programamtion: Basic and Assembly compiler & > << maybe something like Logo or HyperCard? > > I also had plans for something like that, but it's a lot of work to be done > alone, this would need about 3 - 5 developers, some additional tester's and > quite some time to make it work. > > I thought of something like HyperCard, but without it's current limitations > and with the ability of something similar to the Java bytecode in order to > allow the use of many different programming languages or even mixing them - > some kind of platform-independant assembler code behind the programming > interface with a run-time environment for different computers. > > I'm interested in being part of such a project, so mail me in case of need. Ooh, this sounds interesting; the platform-independant assembler code really piqued my interest -- those of you who've been on the listserv for a while will probably know why;) Although I like the idea of multiple programming languages even better. Conceptually I think this program environment would look something like this: C++ C Java Pascal COBOL | | | | | +--------|------------+ Bytecode | Processor Assembly The bytecode would be an intermediary step for other languages, besides Java. The implementations of the languages could be something like OpenDoc modules, that way you wouldn't have to distribute every language and you could just download an additional one, or buy it, and "plug" it in to the programming environment. Well, I don't want to ramble too much so I'll shut up for now. I'd definitely like to do something like this. If whoever gets involved is serious about it then this could turn into something like Linux. ..._Tim_... --=[I know everything...just not at the same time.]=-- http://www.shack.org/zzhumphreyt zzhumphreyt@winthrop.edu
Date: Sat, 24 Jan 1998 07:40:20 -0500 From: Stuart Ball <lightsoft@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: NFtT 24 Jan 98 News From the Tower 24th Jan '98. --------------------------------- Here's another one of those rather irregular news posts we put out from time to time, letting you know what's happening and coming up. These go out fairly infrequently so it's not exactly spam city, but if you do find this mail annoying, please get thee hence to <http://www.tau.it/lightsoft/links.html> where you may unsubscribe from this list. 1. Fantasm 5.10 is now available for testing. This is an alpha test post port to native code. As well as being much faster than version 5 it also contains significant language enhancements and a few bug fixes. This test version is available via email only. Details are on the public testing area of the WWW pages. 2. LXT is now also available, downloadable from the public testing area of the WWW pages. LXT is an implementation of a portable assembly language based on a sub-set of 68K; it will also directly translate 68K source files to PowerPC executable with minor modifications. LXT requires Fantasm 5.10. **IMPORTANT** If you downloaded LXT anytime between 22nd Jan 98 this week and 0900 GMT today please note that it has been upgraded to V1.01. V1.01 throws an error if it detects a qmove or qcmove instruction followed by a conditional branch (beq/bne/ble/blt/bgt/bge etc). This would cause a run-time error on a PPC target (qmove does not set the condition register flags if the processor doesn't automatically set the flags as a result of a move instruction). Anybody with a copy of LXT earlier than 20th Jan 98 should upgrade and rebuild any PPC projects. LXT versions prior to 1.00 could erroneously miscalculate the size of immediate data and perform the operation with a simple li/addi/ori/ etc instead of the correct instructions. Lightsoft 1130 24Jan98
Date: Sat, 24 Jan 1998 22:05:35 -0500 From: Csaba Szigetvari <ps_informedia@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: Alok Tim said: < I'd definitely like to do something like this. > That already makes two of us. Let's start it, the worst thing that could happen is that nothing happens, so there's not very much to lose right now. Your visual conceptual design shows very clear what this is about: C++ C Java Pascal COBOL | | | | | +--------|------------+ Bytecode | Processor Assembly To start somehow, I suggest to find a name for the project. This might seem to be a silly suggestion, but newborn babies get a name as well after birth, so there's a solid tradition behind this. In my opinion the 'Bytecode' part of your diagram must be defined first. As it is supposed to be some kind of abstract or ideal assembler dialect, we have to come up with a very clear definition of the instruction set. Should it be rather like a CISC instruction set, or more like the trendy RISC sets? For my part it is much too early to decide that, so I would rather like to see some kind of a 'CRISC' set (a bit of both). CRISC sounds like some crunchy breakfast product, but it's easy to spell, so why not using this as a project name until someone has a better idea !?! Csaba ps_informedia@compuserve.com
Date: Sun, 25 Jan 1998 17:09:55 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: PPC Hi, I have some problems: a) How do you work with rectangles eg to draw a circle, squar, or most other things with QD. b) How do I plot a 'PICT' ressource. Here is what I'm doing now: li r3,128 Xcall GetPicture Xcall Debugger lhz r4,(r3) lhz r4,4(r4) Xcall Debugger Xcall DrawPicture but already at the first drop into macsbug, r3=0 c) How do I copy r23 to r3. Currently I'm doing subi r3,r23,0 but I'm sure there is a better way... Thx for your time... Bye, Alok
Date: Sun, 25 Jan 98 12:36:31 -0000 From: Kevin Avila <kevin@cache-computing.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC >but already at the first drop into macsbug, r3=0 > >c) How do I copy r23 to r3. Currently I'm doing > >subi r3,r23,0 Well, r3=0 because that the return code of GetPicture (0 = no error) if you want to move r3 to r23 use mr r3,r23 +--------------------------+-----------------------------------+ | Kevin Avila | Cache Computing | | Developer Theoretician | kevin@cache-computing.com | | | http://www.cache-computing.com/ | +--------------------------+-----------------------------------+
Date: Mon, 26 Jan 1998 21:19:57 +0100 From: robot@writeme.com (Alok) To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Accessing data Hi, Well I have started my game for my competition, and I hope I'm not the only one. I quickly got stuck with data handeling. Could I have a description of the register pls (like I think I shouldn't touch r30?). I have a doubt while loading and saving data into memory. Is this right? la r3,nb_player(`bss) nb_player: rs.w 1 nb_life: rs.w 1 Is there a way to add nb_life and nb_player together without having to do this: la r3,nb_player(`bss) la r4,nb_life(`bss) add. r3,r3,r4 stw r3,nb_player(`bss) BTW I can't use 'add'. Fantasm starts to interprete my code as 68k ??? Another problem I have is while is in my subroutines. How do I avoid destroying registers? Is the stack the best solution? How does it work (I havan't had time to go and rent the Inside Mac ): ) Bye, Alok email: robot@writeme.com
Date: Mon, 26 Jan 1998 17:13:46 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Accessing data Well here is one problem: >> la r3,nb_player(`bss) la r4,nb_life(`bss) << Fantasm stores data in the global space, not pointers to data as most PPC compilers do (which is the standard way to store globals on the PPC). So assuming that nb_player & nb_life are numbers the proper way to get their values in Fantasm PPC asm is as follows: lwz r3,nb_player(`bss) lwz r4,nb_life(`bss) If you put the following directive at the beginning of your source code file it will tell anvil that the code is for the PPC. PROC_PPC
Date: Mon, 26 Jan 1998 17:22:00 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: PPC >> but already at the first drop into macsbug, r3=0 << GetPicture is supposed the return a PicHandle & returns its result in r3 (as do all PPC function that return non-floating type return values). If your call returns zero then the resource could not be found...perhaps it isn't in the resource fork of your app? Check to see if the compiled app has a PICT resource of id = 128. The "mr" instruction canbe used to copy register values. Try the following: >> li r3,128 Xcall GetPicture cmpwi r3,0 ; did we fail? mr r28,r3 ; r28 = PicHandle beq noPictResource ; r3 = 0 so no PICT 128 was available ; Draw the picHandle ; r3 already has the picHandle la r4,TheRect(`bss) ; r4 = ptr to some rect Xcall DrawPicture ; blah blah, more code noPictResource Debugger << If no picture draws then you are missing the PICT 128 resource.
Date: Mon, 26 Jan 1998 17:23:35 -0500 From: Ajay Nath <AjayNath@compuserve.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Re: PPC >> r3=0 because that the return code of GetPicture << GetPicture does not return any error codes, just NIL (0) or a handle
Date: Tue, 27 Jan 1998 18:25:47 +0000 From: Benny Ronnhager <benny.ronnhager@soderhamn.mail.telia.com> To: Multiple recipients of Fantasm <list-fantasm@mail.tau.it> Subject: Problems with 68000 Files Library! Hi! I am working on a 68000 projekt and have a problem. I am trying to use the 'Files Libra