diff --git a/BuildResults/RISC/Obj/Printing.a.o b/BuildResults/RISC/Obj/Printing.a.o deleted file mode 100644 index e40b3dd..0000000 Binary files a/BuildResults/RISC/Obj/Printing.a.o and /dev/null differ diff --git a/BuildResults/RISC/Obj/PrintingExtra.a.o b/BuildResults/RISC/Obj/PrintingExtra.a.o new file mode 100644 index 0000000..e848ae3 Binary files /dev/null and b/BuildResults/RISC/Obj/PrintingExtra.a.o differ diff --git a/Toolbox/Printing/PrintGlue.a b/Toolbox/Printing/PrintGlue.a index 4c065db..73ff21a 100644 --- a/Toolbox/Printing/PrintGlue.a +++ b/Toolbox/Printing/PrintGlue.a @@ -362,7 +362,12 @@ GotPDEF _GetHandleSize ; How big is our PDEF Handle fau cmp.l #32,D0 ; Is it "small" fau bhi.s @RealPDEF ; no, don't flush the cache fau - jsr ([jCacheFlush]) ; else, flush the caches. fau + move.l A0,-(SP) + move.l (A0),A0 + move.l D0,A1 + import FLUSHCRANGE + bsr.l FLUSHCRANGE ; else, flush the caches. + move.l (SP)+,A0 @RealPDEF ; fau _HLock ;<22Feb87> JNP Restore curMap before jumping into the print code. @@ -375,7 +380,7 @@ GotPDEF Add.b ParmByt(a6),d0 Sub.w d0,sp ; We know the thing isn't actually more than a word wide Move.l sp,a1 ; Beginning of destination - _BlockMove ; Note: Leaves d0 = 0 + _BlockMoveData ; Note: Leaves d0 = 0 ; Call the routine. The offset into the PDEF to jump to is given by the glue parameter Move.b CodeOfs(a6),d0 ; Get offset (note high part of d0 is still 0) Andi.b #$7F,d0 ; Mask off the unlock bit that is stored there @@ -543,9 +548,17 @@ SetError LLOut Add.w #IOQElSize,sp ; Strip parameter block Move.w d0,PrintVars+iPrErr ; Set return code -GlueOut +GlueOut ; ; Get the number of bytes of parameter to this entry in d1 + Move.l sp,-(sp) + Moveq.l #0,d0 + Move.b FuncByt(a6),d0 + Lsr.b #3,d0 + Move.l d0,-(sp) + Import PRINTINGNEWFUNC_337D0 + Bsr PRINTINGNEWFUNC_337D0 + Addq #8,sp Moveq #0,d1 Move.b ParmByt(a6),d1 ; Get from the table, source of all knowledge... ; Copy the function value, if any, back up to the caller's stack frame @@ -670,7 +683,7 @@ kAliasID EQU -8192 ; System Printer alias's resID MOVE.B (A0), D0 ; which is this long ADDQ.B #1, D0 ; plus that length byte! LEA sysFileSpec + FSSpec.name(A6), A1 ; to the FSSpec - _BlockMove + _BlockMoveData ; ResolveDriver: Resolve the alias using the system file's FSSpec. diff --git a/Toolbox/Printing/Printing.make b/Toolbox/Printing/Printing.make new file mode 100644 index 0000000..662a2a0 --- /dev/null +++ b/Toolbox/Printing/Printing.make @@ -0,0 +1,12 @@ +PrintingObjs = "{ObjDir}PrintGlue.a.o" ¶ + "{ObjDir}PrintingExtra.a.o" + + +"{ObjDir}PrintGlue.a.o" Ä "{ObjDir}StandardEqu.d" ¶ + "{AIncludes}PrPrivate.a" ¶ + "{PrintingDir}PrintGlue.a" + Asm {StdAOpts} -o "{Targ}" "{PrintingDir}PrintGlue.a" + + +"{LibDir}Printing.lib" Ä {PrintingObjs} + Lib {StdLibOpts} -o "{Targ}" {PrintingObjs} diff --git a/Toolbox/Toolbox.make b/Toolbox/Toolbox.make index 500ce2d..4a9f5c0 100644 --- a/Toolbox/Toolbox.make +++ b/Toolbox/Toolbox.make @@ -10,7 +10,7 @@ ToolboxObjs = "{ObjDir}PackageMgr.a.o" "{ObjDir}GetMgr.a.o" ¶ "{ObjDir}TextEdit.lib" ¶ "{ObjDir}ScrapMgr.a.o" ¶ - "{ObjDir}Printing.a.o" ¶ + "{LibDir}Printing.lib" ¶ "{ObjDir}SexyDate.a.o" @@ -44,6 +44,7 @@ ToolboxObjs = "{ObjDir}PackageMgr.a.o" # The following libs are *not* part of Toolbox.lib +PrintingDir = "{ToolBoxDir}Printing:" AliasMgrDir = "{ToolBoxDir}AliasMgr:" ComponentMgrDir = "{ToolBoxDir}ComponentMgr:" DataAccessDir = "{ToolBoxDir}DataAccessMgr:" @@ -61,6 +62,7 @@ FontMgrDir = "{ToolBoxDir}FontMgr:" SANEDir = "{ToolBoxDir}SANE:" InSaneDir = "{ToolBoxDir}InSANE:" +#include "{PrintingDir}Printing.make" #include "{AliasMgrDir}AliasMgr.make" #include "{ComponentMgrDir}ComponentMgr.make" #include "{DataAccessDir}DataAccessMgr.make"