Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

FPC 2.6.4 released! (Announce)

posted by nickysn(R), 06.04.2014, 11:21

> > > I'm atop Win64 right now and just tested a simple hello world with
> > latest
> > > Tiny snapshot.
> > >
> > > ppcross8086 -XX hello -oa.exe
> > > ppcross8086 -XX -WmTiny hello -ob.exe
> > >
> > > Here's what DOSBox says:
> > >
> > > C:\TMP\BLA>a
> > > Hello, world!
> > > Nil pointer assignment
> > >
> > > C:\TMP\BLA>b
> > > Hello, world!
> >
> > Strange, it doesn't happen on my machine. I'm using linux (x86_64),
> > openwatcom 1.9, nasm 2.10.07 and dosbox and it works fine. How did you
> > build the snapshot?
>
> I didn't build FPC at all, just grabbed the precompiled Win32 build from
> FPC's
> FTP.
> So somebody is building these regularly, but it isn't me! :-P That's
> half the point, that I'm testing their builds, not mine.

I'll check them out. These automated builds are Pierre's work, but there could be a bug in the build process. I'll have to check.

Meanwhile, I have added build instructions and how to setup your fpc.cfg for multiple memory models in the fpc wiki:

http://wiki.freepascal.org/DOS#Building_a_snapshot_manually

That's what I use and it works perfectly.

>
> I don't think the other details matter here, but I've got OW 1.9, NASM
> 2.11, DOSBox 0.74.
>
> > > In short, we should probably always explicitly specify a memory model
> > when
> > > compiling. Maybe it should error out if none is specified by default.
> >
> > The default memory model is 'small'. There are also some flags in the
> .ppu
> > header which indicates for which memory model the given unit was built.
> But
> > it doesn't matter for small and tiny, because the .ppus are compatible
> and
> > these flags are identical in those two memory models. The only
> difference
> > is the startup code - prt0s.o is for small, while prt0t.o is for tiny.
> The
> > appropriate one is chosen by the compiler and put in the linker script
> > according to the -Wm option.
>
> Dunno, too many memory models, so it's very easy to be confused (at least
> for me).
>
> The only reason I bothered with "Tiny" in these cases is because that's
> what MarcoV used when originally (re)compiling FPCTRIS, and I wanted to be
> byte-exact to his version (though too much has changed since then for that
> to stay the same anyways).

Well, byte exactness to that version is long gone, due to many code generator changes (bug fixes and optimizations).

> I guess from now on I'll stick to "Small".

If you follow the instructions in:

http://wiki.freepascal.org/DOS#Building_a_snapshot_manually

and

http://wiki.freepascal.org/DOS#Updating_your_fpc.cfg

You should be able to use 5 memory models - tiny, small, medium, compact and large (keep in mind though that compact and large are new and thus not as stable as the other three).

 

Complete thread:

Back to the forum
Board view  Mix view
15112 Postings in 1359 Threads, 249 registered users, 22 users online (0 registered, 22 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum