Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!oliveb!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga Subject: Re: Chip and Fast and Lattice 4.0 Message-ID: <45205@sun.uucp> Date: 12 Mar 88 01:38:45 GMT References: <3518@watcgl.waterloo.edu> <263@stsci> <3625@bloom-beacon.MIT.EDU> Sender: news@sun.uucp Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Organization: Sun Microsystems, Mountain View Lines: 29 Good news, there aren't too many things that have to be in chip ram. As a matter of fact there are only three that you will encounter in 99% of your programming. These are (in order of appearance) : Image Data - Anything that will appear as an Image on the screen of the Amiga. This includes sprites, the Pointer, Gadgets with images in them, bitmaps holding images etc. Sound Data - Anytime you want to call the audio.device and send it a sample to play, the sample will have to be in CHIP ram. Trackdisk data - Anytime you call the trackdisk.device to send data to or from the floppies that data will have to be in CHIP ram. Thats it, all the structures, borders, screen structs, window structs, etc can be in fast ram. So what's the problem you ask? Generally, preinitialized gadgets where the GadgetRender pointer is pointing at a struct Image. Or a custom image on a proportional gadget. The easyest way to handle these cases is to leave the preinitialized stuff in your code, but before you use them use AllocMem() to get an equally sized chunk in CHIP ram and copy the data into it, then use a pointer to that copy of the data in your code. --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com These opinions are my own and no one elses, but you knew that didn't you.