@olsen great ! I do the same with SASC6.0 and V51 includes
1) I wonder if the missing LFMULT function is not like that : (lfmult.c file)
typedef long LongFrac ;
LongFrac LFMULT(LongFrac a, LongFrac b)
{
return (a * b) >> 16 ;
}
No, this is not sufficient. You can multiply two 16 bit numbers and the product will fit into a 32 number. But the factors are fixed point numbers, each of which consists of more than 16 bits of information. You are effectively multiplying two 32 bit numbers, which will yield a 64 bit product.
For example, let's say we want to multiply 4 and 16. In fixed point format 4.0 = 4 * 65536, 16.0 = 16 * 65536. Multiply these factors and the result is 274,877,906,944, which is larger than the range of an unsigned 32 bit integer (= 4,294,967,295) permits.
You need a more complex function to handle this properly. The fact that "Deluxe Paint" is broken up into so many small code fragments, each of which implement a complete self-contained set of functions, suggests that "lfmult.c" must be a self-contained code file.
If it were as simple as implementing it as a single line function, then I would have expected it to be in a macro definition in "prism.h", and not in a separate 'C' source file.
Here is a nicer version, adapted from Code found at
https://code.google.com/p/libfixmath/:
#include <exec/types.h>
typedef LONG LongFrac;
LongFrac LFMULT(x,y) LongFrac x,y; {
/* Each argument is divided to 16-bit parts.
** AB
** * CD
** -----------
** BD 16 * 16 -> 32 bit products
** CB
** AD
** AC
** |----| 64 bit product
*/
LONG A = (x >> 16), C = (y >> 16);
ULONG B = (x & 0xFFFF), D = (y & 0xFFFF);
LONG AC = A*C;
LONG AD_CB = A*D + C*B;
ULONG BD = B*D;
LONG product_hi = AC + (AD_CB >> 16);
/* Handle carry from lower 32 bits to upper part of result. */
ULONG ad_cb_temp = AD_CB << 16;
ULONG product_lo = BD + ad_cb_temp;
if (product_lo < BD)
product_hi++;
return (LongFrac)((product_hi << 16) | (product_lo >> 16));
}
2) Don't forget that the original DPaint program is overlayed... so the makefile should contain the OVERLAY keyword, a # and stars somewhere 
I used overlays before, when I did not have much of a choice. They are an ugly solution to an ugly problem. Everything becomes harder when using overlays, including debugging. No, I'm not going to foist overlays on anybody.
3) to try the different resolutions, just launch prism with arguments
prism l => 320x200 (default)
prism m => 640x200
prism h => 640x400 (stack overflow when tracing big lines...)
There's more. The second parameter allows you to set the screen depth. The command line parameters are documented in the reference card, which is available on the same
http://computerhistory.org page as the "Deluxe Paint" source code.