Indeed, the msdos target exists, but it's not in the distribution on the FreeDOS host.
I've changed to using the TP compatibility mode, and that has resolved most of the problems. Now, my biggest problem is getting far pointers to work, since they're only enabled for msdos. I'm attempting to compile the msdos compiler, but fpcmake is failing due to a missing Makefile.fpc in the utils directory in the source tree. Happy Hacking, David E. McMackins II Associate Member, Free Software Foundation (#12889) www.mcmackins.org www.delwink.com www.gnu.org www.fsf.org On 07/29/2016 09:43 PM, Rugxulo wrote: > Hi, > > On Fri, Jul 29, 2016 at 7:52 PM, Ralf Quint <[email protected]> wrote: >> On 7/29/2016 5:04 PM, David McMackins wrote: >> >>> I have some modifications I'd like to make to PowerPaint as hosted on >>> the FreeDOS archives, but I'm unable to compile the source. I'm >>> attempting to use FreePascal to do the job, but it's failing to compile >>> some of the units due to assembler syntax errors. >> >> Well, I can tell you exactly what the problem is: It is a Turbo Pascal >> program, using the BGI (Borland Graphics Interface) library for the >> graphics. That simply won't fly to compile in FreePascal, which is from >> the get-go a 32bit compiler that can't handle the BGI graphics drivers. > > Dunno. Are you trying to use Go32v2 or i8086-msdos target? > >> Furthermore, any inline assembler, beside being 32bit, is by default in >> AT&T syntax and not the Intel like syntax used in the Borland compilers... > > I thought Intel was default for {$mode tp}? But it's not 100% > compatible (yet?), no, so any low-level stuff might indeed have to be > reworked. See the online docs: > > http://www.freepascal.org/docs.var > > http://www.freepascal.org/docs-html/current/prog/progch3.html#x144-1450003 > >> For all practical purposes, even there is now a 16bit x86 target option >> for FreePascal, just trying to compile the sources without significant >> re-working simply won't work... > > The 16-bit "msdos" target is finally officially released/supported as > of 3.0.0, but it's a cross-compiler only (and you still need NASM, > WLINK, WLIB). Trunk (which has Win32 snapshots) doesn't need those > tools anymore and also supports "huge" model. It's meant to be mostly > (even binary??) compatible with TP, in theory, but so far it lacks in > a few ways. (The only supported calling convention, last I heard from > the wiki, is "pascal", not Delphi's "register" nor "cdecl"). > > http://wiki.freepascal.org/DOS > > "[Large] is the memory model used by Turbo Pascal version 4 and above" > "[Pascal] is the default calling convention. It strives for > compatibility with Turbo Pascal 7" > > ------------------------------------------------------------------------------ > _______________________________________________ > Freedos-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freedos-devel > ------------------------------------------------------------------------------ _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
