Delphi - Rumor about run 16-bit assembly writing a sys file on Windows 10

327 views Asked by At

I heard a rumor: one could run in Delphi 7, writing a Driver(Sys file) and loading it, a program, that using IN and OUT instructions could use the motherboard beep, and make it sound a little melody.

The interesting is that was in Windows 10 using Delphi 7 IDE!

Can I run 16-bits assembly applications, with BIOS interruptions and IN and OUT instructions in Windows 10 writting a driver and loading it? How?

1

There are 1 answers

1
Martin Rosenau On

16-bits assembly

writing a Driver (Sys file)

You are mixing up two different things:

In 16-bit Windows programs it was possible to use IN and OUT instructions as well as calling (most) BIOS interrupts.

In some (or all?) of the 32-bit versions of the "classic" Windows line (Win32s, Windows 95, 98, ME) using the IN and OUT instructions was even possible from 32-bit applications.

In the "NT" Windows line (Windows NT, XP, Vista, 7, 8, 10) IN and OUT instructions can only be used in kernel drivers, not in applications.

Calling BIOS interrupts is not possible at all in these ("NT" line) Windows versions.

a program, that using IN and OUT instructions could use the motherboard beep, and make it sound a little melody.

In Windows 95 times similar programs existed for many programming languages.

So it is very probable that such a program existed for Delphi, too.

Can I run 16-bits assembly applications ... in Windows 10

As far as I know it is very difficult to write an OS supporting both 64- and 16-bit applications.

No modern OS (Windows, Linux, ...) supports 16-bit applications any more.

with BIOS interruptions ... in Windows 10

Clear answer: No.

I doubt that any 64-bit operating system is able to call BIOS interrupts.

Linux' graphics driver has a 80386 emulator (!) which is simulating a 80386 CPU to execute the INT 0x10 interrupt of the graphics card because the access to the graphics card is very vendor specific and so the BIOS (written by the graphics card vendor) is used.

IN and OUT instructions in Windows 10

For 32-bit Windows such a driver existed for free download in the internet.

64-bit Windows versions do not support 32-bit drivers so you'll have to find a 64-bit version of this driver...

By the way

There are many mainbords (often found in laptops) which do not have any beeper any more!