mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
169 lines
5.8 KiB
Plaintext
169 lines
5.8 KiB
Plaintext
include 'macintosh.a'
|
|
; quickdraw.a
|
|
;
|
|
; Copyright Apple Computer, Inc. 1984-1988
|
|
; All rights reserved.
|
|
;
|
|
; Modifications:
|
|
; 11 Feb 88 KLH Changed C headers to work with new C compiler:
|
|
; Changed to using standard glue in Interface.o, so
|
|
; much glue removed from CInterface.o.
|
|
; *** MPW 3.0d4 ***
|
|
|
|
|
|
|
|
BLANKS ON
|
|
STRING ASIS
|
|
|
|
drawstring proc EXPORT
|
|
import c2pstr ; c2pstr(s) char *s;
|
|
import p2cstr ; p2cstr(s) char *s;
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),-(sp) ; push copy of first parameter
|
|
jsr c2pstr ; convert to Pascal string
|
|
dc.w $A884 ; trap to drawstring
|
|
move.l 8(sp),-(sp) ; push copy of first paramter
|
|
jsr p2cstr ; convert back to C string
|
|
add.w #4,sp ; balance stack
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
stringwidth proc EXPORT
|
|
import c2pstr ; c2pstr(s) char *s;
|
|
import p2cstr ; p2cstr(s) char *s;
|
|
move.l d2,-(sp) ; save register d2
|
|
clr.w -(sp) ; reserve space for result
|
|
move.l 10(sp),-(sp) ; push copy of first parameter
|
|
jsr c2pstr ; convert to Pascal string
|
|
dc.w $A88C ; trap to stringwidth
|
|
move.l 10(sp),-(sp) ; push copy of first paramter
|
|
jsr p2cstr ; convert back to C string
|
|
add.w #4,sp ; balance stack
|
|
move.w (sp)+,d0 ; load result
|
|
ext.l d0 ; extend result to long
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
ptinrect proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
clr.b -(sp) ; reserve space for result
|
|
move.l 10(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
move.l 18(sp),-(sp) ; push copy of second parameter
|
|
dc.w $A8AD ; trap to ptinrect
|
|
move.b (sp)+,d0 ; load result
|
|
ext.w d0 ; extend result to word
|
|
ext.l d0 ; extend result to long
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
pt2rect proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
move.l 16(sp),a0 ; load address of second parameter
|
|
move.l (a0),-(sp) ; push value of second parameter
|
|
move.l 24(sp),-(sp) ; push copy of third parameter
|
|
dc.w $A8AC ; trap to pt2rect
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
pttoangle proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),-(sp) ; push copy of first parameter
|
|
move.l 16(sp),a0 ; load address of second parameter
|
|
move.l (a0),-(sp) ; push value of second parameter
|
|
move.l 24(sp),-(sp) ; push copy of third parameter
|
|
dc.w $A8C3 ; trap to pttoangle
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
ptinrgn proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
clr.b -(sp) ; reserve space for result
|
|
move.l 10(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
move.l 18(sp),-(sp) ; push copy of second parameter
|
|
dc.w $A8E8 ; trap to ptinrgn
|
|
move.b (sp)+,d0 ; load result
|
|
ext.w d0 ; extend result to word
|
|
ext.l d0 ; extend result to long
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
addpt proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
move.l 16(sp),-(sp) ; push copy of second parameter
|
|
dc.w $A87E ; trap to addpt
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
subpt proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
move.l 16(sp),-(sp) ; push copy of second parameter
|
|
dc.w $A87F ; trap to subpt
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
equalpt proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
clr.b -(sp) ; reserve space for result
|
|
move.l 10(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
move.l 18(sp),a0 ; load address of second parameter
|
|
move.l (a0),-(sp) ; push value of second parameter
|
|
dc.w $A881 ; trap to equalpt
|
|
move.b (sp)+,d0 ; load result
|
|
ext.w d0 ; extend result to word
|
|
ext.l d0 ; extend result to long
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
stuffhex proc EXPORT
|
|
import c2pstr ; c2pstr(s) char *s;
|
|
import p2cstr ; p2cstr(s) char *s;
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),-(sp) ; push copy of first parameter
|
|
move.l 16(sp),-(sp) ; push copy of second parameter
|
|
jsr c2pstr ; convert to Pascal string
|
|
dc.w $A866 ; trap to stuffhex
|
|
move.l 12(sp),-(sp) ; push copy of second paramter
|
|
jsr p2cstr ; convert back to C string
|
|
add.w #4,sp ; balance stack
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
stdtext proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
move.w 10(sp),-(sp) ; push copy of first parameter
|
|
move.l 14(sp),-(sp) ; push copy of second parameter
|
|
move.l 22(sp),a0 ; load address of third parameter
|
|
move.l (a0),-(sp) ; push value of third parameter
|
|
move.l 30(sp),a0 ; load address of fourth parameter
|
|
move.l (a0),-(sp) ; push value of fourth parameter
|
|
dc.w $A882 ; trap to stdtext
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
stdline proc EXPORT
|
|
move.l d2,-(sp) ; save register d2
|
|
move.l 8(sp),a0 ; load address of first parameter
|
|
move.l (a0),-(sp) ; push value of first parameter
|
|
dc.w $A890 ; trap to stdline
|
|
move.l (sp)+,d2 ; restore register d2
|
|
rts
|
|
|
|
|
|
; Ptr GetMaskTable();
|
|
|
|
;;GetMaskTable proc export
|
|
;; _GetMaskTable
|
|
;; move.l a0,d0
|
|
;; rts
|
|
|
|
END
|