[fpc-devel]Re: Free Pascal Question (fwd)

Tomas Hajny XHajT03 at mbox.vol.cz
Mon May 10 22:03:24 CEST 2004

Date: Sun, 9 May 2004 10:45:48 +0100
From: Julia Perry <julia at nicegarden.fsnet.co.uk>
To: Michael.VanCanneyt at wisa.be
Subject: Free Pascal Question

Dear Andrew

We can try to help you in resolving your issues (see my comments 
below), but it might be better to ask your questions in our fpc-
devel at lists.freepascal.org mailing list (see our WWW pages for 
further information about subscribing to this list).

> My name is Andrew Smith i live in the UK and are at present
> considering using Free Pascal to develop a control system for a vacuum
> pump manufacturer.
> I came across your Free Pascal compiler and have been impressed with
> it. My plan is to use a small single board computer which has a 800
> Mhz / 1 Ghz CPU on board LAN and four serial ports RS232 / RS485. This
> board being small will have NO hard disk but a Compact Flash / DOM
> Disk on module.
> These are small simulated IDE flash drives with a capacity of 32, 64
> or 128 Mb. Which is ideal for a small MSDOS application.
> I have recently been experimenting with your TCP/IP unit using the
> WEBDEMO application and was impressed with how easy this was to change
> to suit my applications.
> While is was experimenting i needed to know what the impact was on any
> background tasks that where going to be needed, this where i have a
> problem.
> I inserted a small peice of code to increase a variable and display
> this. When the program started i could see this variable change
> constantly. But when a second PC accessed the HTML pages the value
> stopped changing for a second then restarted. As this will be used for
> control purposes i need a small background task / program that must
> run constantly.

To be honest, I don't really understand the point here. Could you 
give us little bit more information about the environment and running 
task(s), please? What kind of operating system was running on the PC, 
plain MS-DOS??? What kind of HTML pages are you talking about?

> I have some ISA Data Aquasition cards these have various analogue and
> digital I/O and are used for control purposes, they also have a
> programmable interrupt counter which can be tied to a interrupt (I use
> IRQ5 this is i think LPT2 which most PC's dont have).
> This has been used in the past using Borland Pascal V7 with no
> problems, however when i compile a program using Free Pascal and after
> inserting the Free Pascal unit (PORTS) at the top. the program runs
> but does not perform the interrupt.

What target did you compile for, GO32v2? Do I understand correctly 
that you tried to hook the IRQ5 interrupt, but your new interrupt 
routine was never called?

> I have attached a copy of this program ENCODER.PAS.

There was no attachment at your e-mail, unfortunately - maybe it 
would answer at least some of my questions. Could you upload it 
somewhere and send URL here (unless it's very small)?

> The reason for the interrupt is i must be able to perform a cyclic
> program in the background which will read the I/O either from a serial
> port or a ISA / PCI card do the background processing and set any I/O
> as required.
> My question is that can this be done and is there any thing that the
> Boralnd Pascal V7 interrupt processing does that must be changed in
> order to work with the Free Pascal version.

Yes, hooking of interrupts can be done under FPC. There are some 
points one must take care about coming from the fact that FPC creates 
32-bits programs running under DPMI as opposed to real-mode programs 
created by BP. Some people on the mailing list might have examples of 
doing this for you.



More information about the fpc-devel mailing list