wmcb@ecsvax.UUCP (William C. Bauldry) (09/04/87)
Having little printed resources available now... Since addresses have jumped to 32 bits how is the master pointer handled (bad pun)? The old format stole the high order byte for flags, i.e. handle locked, etc. Could some kind soul enlighten me and raise my consciousness to the new type ? thanks in advance. Bill
drc@dbase.UUCP (09/07/87)
In article <3819@ecsvax.UUCP>, wmcb@ecsvax.UUCP (William C. Bauldry) writes: > > > Having little printed resources available now... > Since addresses have jumped to 32 bits how is the master > pointer handled (bad pun)? The old format stole the high > order byte for flags, i.e. handle locked, etc. Could > some kind soul enlighten me and raise my consciousness > to the new type ? > thanks in advance. > > Bill You address it the same way you did in the past (if you followed Apple's rules) and call routines for HLock, HUnlock, HGetState, HSetState, HSetRBit, HGetRBit, etc. If you want to munge the bits yourself, let your customers beware that the software you produce will almost surely break soon (and it AIN'T Apple's fault, but is yours). Dennis Cohen Ashton-Tate Glendale Development Center dBASE Mac Development Team -------------------------- Disclaimer: Opinions expressed above are my own. I don't know what (if any) opinions my employer has.
wmcb@ecsvax.UUCP (William C. Bauldry) (09/09/87)
The query: What is the format of a new master pointer - i.e. where do the flags go if the address length is 32 bits ? In article <232@dbase.UUCP> drc@dbase.UUCP (Dennis Cohen) writes: >You address it the same way you did in the past (if you followed Apple's rules) >and call routines for HLock, HUnlock, HGetState, HSetState, HSetRBit, HGetRBit, >etc. If you want to munge the bits yourself, let your customers beware that >the software you produce will almost surely break soon (and it AIN'T Apple's >fault, but is yours). Please don't shoot - i'm not really munging the bits... The problem is: I'm passing a dereferenced handle as a parameter to an assembled routine - IM II (pg25) and the reference section to the MM chapter say use Lo3byte mask to strip off the high order byte that contains the flags to leave the address ( in fact my old "phone book" copy of IM has a constant AddrMask to do this with ). That's why i'm concerned about the new address length - so that the software won't break (i don't want it to be my fault either). BTW - thanks for answering - i should have been more explicit in the request. -Bill
keith@apple.UUCP (Keith Rollin) (09/11/87)
In article <232@dbase.UUCP> drc@dbase.UUCP (Dennis Cohen) writes: >In article <3819@ecsvax.UUCP>, wmcb@ecsvax.UUCP (William C. Bauldry) writes: >> >> >> Having little printed resources available now... >> Since addresses have jumped to 32 bits how is the master >> pointer handled (bad pun)? The old format stole the high >> order byte for flags, i.e. handle locked, etc. Could >> some kind soul enlighten me and raise my consciousness >> to the new type ? >> thanks in advance. >> >> Bill > >You address it the same way you did in the past (if you followed Apple's rules) >and call routines for HLock, HUnlock, HGetState, HSetState, HSetRBit, HGetRBit, >etc. If you want to munge the bits yourself, let your customers beware that >the software you produce will almost surely break soon (and it AIN'T Apple's >fault, but is yours). > >Dennis Cohen >Ashton-Tate Glendale Development Center >dBASE Mac Development Team The writing between the lines here is that we STILL use those bits in the master pointers (i.e. the Memory Manager is still limited to 24-bit addressing even on a Mac II). 32-bit addressing cannot be performed under the Mac OS (as opposed to something like A/UX) without scrapping the current methods of tagging memory blocks and using something that stores those bits elsewhere. Keith Rollin Sales Tech Support Apple Computer Disclaimer: Any rumours I spread I got somewhere else first.
lsr@apple.UUCP (Larry Rosenstein) (09/22/87)
In article <3841@ecsvax.UUCP> wmcb@ecsvax.UUCP (William C. Bauldry) writes: > > Please don't shoot - i'm not really munging the bits... >The problem is: I'm passing a dereferenced handle as a parameter to >an assembled routine - IM II (pg25) and the reference section to >the MM chapter say use Lo3byte mask to strip off the high order byte Inside Mac volume 5 describes a new trap called StripAddress to do this. StripAddress will adn with Lo3Byte mask if the system is running in 24-bit mode and will leave the address unchanged otherwise. System 4.1 includes a patch to implement StripAddress on the Mac Plus. If the trap is not implemented (because the machine is not running System 4.1), then you can do the masking yourself, since the machine must be in 24-bit mode. -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.com