Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2013-04

MS DOS 8086 compiler?

15 messages · 11 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Reinier Olislagers

Noticed that an 8086 branch was merged to fpc trunk. Is it time to get out some 5.25" diskettes[1]?

[1] Shame I dumped all the accompanying hardware long ago ;) Perhaps break out DOSBOX ;)

Bart
to Reinier Olislagers
Reinier Olislagers wrote 5 lines
Noticed that an 8086 branch was merged to fpc trunk. Is it time to get out some 5.25" diskettes[1]? [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps break out DOSBOX ;)

I still have a portable (ahum, > 5 kg) IBM XT with 5.25" floppy disk. HD is appr. 10 MB (decaying...)
Problem of course wil be to get the compiler on the floppy disks, and then hope my HD is large enough.

(It cost about 10,000 Dfl (appr 4,500 € / $ 5000) at the time of purgase.)

Bart

Jonas Maebe
to Bart
Bart wrote 11 lines
On 4/27/13, Reinier Olislagers wrote: > Noticed that an 8086 branch was merged to fpc trunk. Is it time to get > out some 5.25" diskettes[1]? > > [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps > break out DOSBOX ;) I still have a portable (ahum, > 5 kg) IBM XT with 5.25" floppy disk. HD is appr. 10 MB (decaying...) Problem of course wil be to get the compiler on the floppy disks, and then hope my HD is large enough.

The compiler itself doesn't run on the Dos real mode target, and probably never will due to memory limitations.

Jonas

Mark Morgan Lloyd
to Bart: I still have a portable (ahum, > 5 kg) IBM XT with 5.25" floppy disk. HD is appr. 10 MB…
Bart wrote 13 lines
On 4/27/13, Reinier Olislagers wrote: > Noticed that an 8086 branch was merged to fpc trunk. Is it time to get > out some 5.25" diskettes[1]? > > [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps > break out DOSBOX ;) I still have a portable (ahum, > 5 kg) IBM XT with 5.25" floppy disk. HD is appr. 10 MB (decaying...) Problem of course wil be to get the compiler on the floppy disks, and then hope my HD is large enough. (It cost about 10,000 Dfl (appr 4,500 € / $ 5000) at the time of purgase.)

I've definitely got at least one system around older than a '386, but if it really is supposed to be an 8086 target it would have to be tested on an 8086/8088 because of extra opcodes that were added to the 186/286. I think I've got a system with 8086 or possibly V20, but it's non-PC and I don't know where its copy of DOS is (it usually ran CCP/M).

I don't know how reliable a test something like Dosbox or Bochs would be, some of them vitualise the underlying hardware while others are sloppy about what opcodes they actually implement.

So in practical terms, a strict 8086 port is probably untestable. But why would anybody want to when even embedded processors are based on a newer architecture?

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]
Nikolay Nikolov
to Mark Morgan Lloyd
Mark Morgan Lloyd wrote 29 lines
Bart wrote: > On 4/27/13, Reinier Olislagers wrote: >> Noticed that an 8086 branch was merged to fpc trunk. Is it time to get >> out some 5.25" diskettes[1]? >> >> [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps >> break out DOSBOX ;) > > I still have a portable (ahum, > 5 kg) IBM XT with 5.25" floppy disk. > HD is appr. 10 MB (decaying...) > Problem of course wil be to get the compiler on the floppy disks, and > then hope my HD is large enough. > > (It cost about 10,000 Dfl (appr 4,500 € / $ 5000) at the time of > purgase.) I've definitely got at least one system around older than a '386, but if it really is supposed to be an 8086 target it would have to be tested on an 8086/8088 because of extra opcodes that were added to the 186/286. I think I've got a system with 8086 or possibly V20, but it's non-PC and I don't know where its copy of DOS is (it usually ran CCP/M). I don't know how reliable a test something like Dosbox or Bochs would be, some of them vitualise the underlying hardware while others are sloppy about what opcodes they actually implement. So in practical terms, a strict 8086 port is probably untestable. But why would anybody want to when even embedded processors are based on a newer architecture?

Actually, I have a vintage IBM PC 5150, with a 4.77 MHz 8088 processor, so this isn't true, it's very testable actually :) However, the i8086 code generator still generates some 186/286+ instructions, so it doesn't work there yet, but I'm planning to fix this shortly. Here's a video of a few very simple Free Pascal compiled programs on a true 80186:

https://www.youtube.com/watch?v=wscin9RUiTU

(sorry for the shaky camera)

And here are the same programs, running on Charlie's (Karoly Balogh) Amiga 2000 with a A2286AT expansion card for PC emulation, which contains a real 286 CPU:

http://charlie.amigaspirit.hu/screenshots/a2000/A2000-FPC-8086-01.png

and up to -07.png

Here's the 286 card: http://amiga.resource.cx/exp/a2286at

Nikolay

Mark Morgan Lloyd
to Nikolay Nikolov
Nikolay Nikolov wrote 8 lines
> So in practical terms, a strict 8086 port is probably untestable. But > why would anybody want to when even embedded processors are based on a > newer architecture? Actually, I have a vintage IBM PC 5150, with a 4.77 MHz 8088 processor, so this isn't true, it's very testable actually :) However, the i8086 code generator still generates some 186/286+ instructions, so it doesn't work there yet, but I'm planning to fix this shortly. Here's a video of a few very simple Free Pascal compiled programs on a true 80186:

OK, answering my own question then. A pure-8086 port could be valuable if it generated reliable code for something like vtprolog.pas, since this implements its own garbage collection relying on detailed knowledge of how Turbo Pascal manages its heap.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]
Marco van de Voort
to Mark Morgan Lloyd

In our previous episode, Mark Morgan Lloyd said:

Show quoted text 10 lines
> Actually, I have a vintage IBM PC 5150, with a 4.77 MHz 8088 processor, > so this isn't true, it's very testable actually :) However, the i8086 > code generator still generates some 186/286+ instructions, so it doesn't > work there yet, but I'm planning to fix this shortly. Here's a video of > a few very simple Free Pascal compiled programs on a true 80186: OK, answering my own question then. A pure-8086 port could be valuable if it generated reliable code for something like vtprolog.pas, since this implements its own garbage collection relying on detailed knowledge of how Turbo Pascal manages its heap.

Heap management is mostly a RTL feature. For high TP compatibility, things like calling conventions must also match.

IOW 8086 codegeneration is not automatically full TP compatibility on the binary level.

Mark Morgan Lloyd
to Marco van de Voort
Marco van de Voort wrote 13 lines
In our previous episode, Mark Morgan Lloyd said: >> Actually, I have a vintage IBM PC 5150, with a 4.77 MHz 8088 processor, >> so this isn't true, it's very testable actually :) However, the i8086 >> code generator still generates some 186/286+ instructions, so it doesn't >> work there yet, but I'm planning to fix this shortly. Here's a video of >> a few very simple Free Pascal compiled programs on a true 80186: > OK, answering my own question then. A pure-8086 port could be valuable > if it generated reliable code for something like vtprolog.pas, since > this implements its own garbage collection relying on detailed knowledge > of how Turbo Pascal manages its heap. Heap management is mostly a RTL feature. For high TP compatibility, things like calling conventions must also match.

Yes, but in the specific case I gave the program extends the heap management. In practical terms it could be replaced with a mark/release arrangement, since when the program is trying to find a solution based on predefined rules it won't be extending them.

But as it stands it's a good test of TP-compatibility.

IOW 8086 codegeneration is not automatically full TP compatibility on the binary level.
Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]
Nikolay Nikolov
to Michael Schnell
Michael Schnell wrote 10 lines
On 04/27/2013 02:11 PM, Bart wrote: > On 4/27/13, Reinier Olislagers wrote: >> Noticed that an 8086 branch was merged to fpc trunk. Is it time to get >> out some 5.25" diskettes[1]? >> >> [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps >> break out DOSBOX ;) > I think I still can dig out some 8" single sided single density diskettes with 160 K or something.

Actually, for me, the most convenient way to transfer data to and from a vintage PC is via an RS232 null modem cable. You can connect it to your modern PC directly - even if you don't have an RS232 port, there are cheap USB to RS232 converters available, if necessary, while there's no normal way to attach a 5.25 inch floppy to a modern PC.

Nikolay

Adrian Maier
to Nikolay Nikolov

On Mon, Apr 29, 2013 at 7:37 PM, Nikolay Nikolov <

Show quoted text 24 lines
wrote: On 04/29/2013 12:49 PM, Michael Schnell wrote: > On 04/27/2013 02:11 PM, Bart wrote: > >> On 4/27/13, Reinier Olislagers wrote: >> >>> Noticed that an 8086 branch was merged to fpc trunk. Is it time to get >>> out some 5.25" diskettes[1]? >>> >>> [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps >>> break out DOSBOX ;) >>> >> >> I think I still can dig out some 8" single sided single density > diskettes with 160 K or something. > Actually, for me, the most convenient way to transfer data to and from a vintage PC is via an RS232 null modem cable. You can connect it to your modern PC directly - even if you don't have an RS232 port, there are cheap USB to RS232 converters available, if necessary, while there's no normal way to attach a 5.25 inch floppy to a modern PC.

Hi ,

Hmm... as far as know there should be no problem to use a 5.25 floppy with a modern PC ? ... as long as the motherboard has the floppy connector and you have a cable like this
http://www.simulationexams.com/tutorials/aplus/core/images/fdd-cable.jpg ?

Adrian M
Rolf Grunsky
to Adrian Maier
Adrian Maier wrote 42 lines
On Mon, Apr 29, 2013 at 7:37 PM, Nikolay Nikolov < > wrote: On 04/29/2013 12:49 PM, Michael Schnell wrote: On 04/27/2013 02:11 PM, Bart wrote: On 4/27/13, Reinier Olislagers < > wrote: Noticed that an 8086 branch was merged to fpc trunk. Is it time to get out some 5.25" diskettes[1]? [1] Shame I dumped all the accompanying hardware long ago ;) Perhaps break out DOSBOX ;) I think I still can dig out some 8" single sided single density diskettes with 160 K or something. Actually, for me, the most convenient way to transfer data to and from a vintage PC is via an RS232 null modem cable. You can connect it to your modern PC directly - even if you don't have an RS232 port, there are cheap USB to RS232 converters available, if necessary, while there's no normal way to attach a 5.25 inch floppy to a modern PC. Hi , Hmm... as far as know there should be no problem to use a 5.25 floppy with a modern PC ? ... as long as the motherboard has the floppy connector and you have a cable like this http://www.simulationexams.com/tutorials/aplus/core/images/fdd-cable.jpg ? -- Adrian M

Most (all?) current boards no longer have a floppy connector. My most recent motherboard, a mini-atx, doesn't even have an IDE connector.

I still have my Z-80A system with two Tandon half-height 8" single sided drives. I haven't attempted to power it up in 25 years. I also have my original CP/M 80 disc and my original TurboPascal version 1.0 for Z-80 on an eight inch disc with the manual. I doubt any of the discs are readable.

Single sided, single density eight inch discs hold 243 KILO-bytes. If I remember correctly, a standard disc had 77 tracks with 26 sectors of 128 bytes per sector per track. The original 5.25" single sided disc had a capacity of 160K. I don't remember the layout.

Rolf

TRUTH in her dress finds facts too tight. In fiction she moves with ease. Stray Birds by Rabindranath Tagore
Sven Barth
to Rolf Grunsky
"Rolf Grunsky" wrote 48 lines
On 13-04-29 04:48 PM, Adrian Maier wrote: > > On Mon, Apr 29, 2013 at 7:37 PM, Nikolay Nikolov > < > > > wrote: > > On 04/29/2013 12:49 PM, Michael Schnell wrote: > > On 04/27/2013 02:11 PM, Bart wrote: > > On 4/27/13, Reinier Olislagers < > > wrote: > > Noticed that an 8086 branch was merged to fpc trunk. Is > it time to get > out some 5.25" diskettes[1]? > > [1] Shame I dumped all the accompanying hardware long > ago ;) Perhaps > break out DOSBOX ;) > > > I think I still can dig out some 8" single sided single density > diskettes with 160 K or something. > > > Actually, for me, the most convenient way to transfer data to and > from a vintage PC is via an RS232 null modem cable. You can connect > it to your modern PC directly - even if you don't have an RS232 > port, there are cheap USB to RS232 converters available, if > necessary, while there's no normal way to attach a 5.25 inch floppy > to a modern PC. > > > Hi , > > Hmm... as far as know there should be no problem to use a 5.25 floppy > with a modern PC ? ... as long as the motherboard has the floppy > connector and you have a cable like this > http://www.simulationexams.com/tutorials/aplus/core/images/fdd-cable.jpg ? > > -- > Adrian M > Most (all?) current boards no longer have a floppy connector. My most

recent motherboard, a mini-atx, doesn't even have an IDE connector.

And of course there don't exist any USB floppy controllers... http://www.kryoflux.com/ :)

Regards,
Sven

Nikolay Nikolov
to Rolf Grunsky: Most (all?) current boards no longer have a floppy connector. My most recent motherboard,…
Rolf Grunsky wrote 6 lines
I still have my Z-80A system with two Tandon half-height 8" single sided drives. I haven't attempted to power it up in 25 years. I also have my original CP/M 80 disc and my original TurboPascal version 1.0 for Z-80 on an eight inch disc with the manual. I doubt any of the discs are readable.

Recently, I tried reading my 20+ years old 5.25 inch 360kb floppies and almost all of them were perfectly readable, with no bad sectors and no need for retries. Even more surprising is the fact that they were labelled as SS/SD (single side/single density), but formatted at 360kb, which is a DS/DD (double side/double density) format.

Nikolay