VirtualBox

Ticket #17592 (closed defect: fixed)

Opened 3 months ago

Last modified 4 weeks ago

Entering curly brackets does not work in Turbo Pascal -> fixed in 5.2.10

Reported by: Turbo Pascal Owned by:
Priority: minor Component: other
Version: VirtualBox 5.2.8 Keywords:
Cc: Guest type: other
Host type: all

Description

I have installed the following in a virtual machine:

MS-DOS 6.22 Turbo Pascal 7.0

Keyboard layout is Finnish.

When using the Turbo Pascal IDE, it is impossible to enter curly brackets by pressing the AltGr + 7 keys. This key combination works correctly in MS-DOS Edit, but not in Turbo Pascal IDE.

Change History

comment:1 Changed 3 months ago by Turbo Pascal

To be more precise, pressing AltGr and some other key that requires AltGr, does not work in Turbo Pascal IDE, so it is not just related to curly brackets.

comment:2 follow-up: ↓ 3 Changed 3 months ago by michaln

We'll need three things: 1) A reason to believe this is a bug in VirtualBox (and not a bug in Turbo Pascal or some kind of misconfiguration), 2) a VBox.log, and 3) a VM which demonstrates the problem, preferably in OVA format.

comment:3 in reply to: ↑ 2 Changed 3 months ago by Turbo Pascal

Replying to michaln:

We'll need three things: 1) A reason to believe this is a bug in VirtualBox (and not a bug in Turbo Pascal or some kind of misconfiguration), 2) a VBox.log, and 3) a VM which demonstrates the problem, preferably in OVA format.

I will add the required files to this ticket.

comment:4 Changed 3 months ago by michaln

If the OVA is too big to attach here (I don't know, maybe it's not!), please use some public service like Dropbox or OneDrive or similar.

comment:5 Changed 2 months ago by Turbo Pascal

I zipped the VirtualBox hard drive with Turbo Pascal installed. To test Turbo Pascal, you can start the virtual machine and type "turbo".

 https://www.dropbox.com/s/cepnqpc4bjbk1fy/MS-DOS%20with%20Turbo%20Pascal%20installed.zip?dl=0

Finnish keyboard layout is currently in use and it works in MS-DOS editor without problems. Also on other virtual machines, like VMWare I have not problem with AltGr with the exact same installation.

comment:6 Changed 2 months ago by michaln

  • Priority changed from major to minor
  • Host type changed from other to all

Thanks, now I can see what's happening.

The problem is obvious, it's Borland's fishy keyboard interrupt handler which makes the extremely questionable assumption that the incoming keyboard scan code can be read twice before a new scan code arrives. That's why everything works fine except in programs using the Borland Pascal run-time (including the IDE itself).

What happens is that Borland's funny interrupt handler steals the extended key prefix (E0h), and the normal keyboard handler only sees Left Alt key presses. Software would similarly be unable to distinguish between left and right Ctrl key and other extended keys.

We may be able to work around this by introducing a small delay for data arriving from the keyboard.

comment:7 Changed 7 weeks ago by michaln

Problem should be fixed in the latest 5.2 test build, please try it out and report the results. By default the keyboard input is now slightly slowed down so that Turbo Pascal and similar software can work.

comment:8 Changed 5 weeks ago by michael

  • Status changed from new to closed
  • Resolution set to fixed
  • Summary changed from Entering curly brackets does not work in Turbo Pascal to Entering curly brackets does not work in Turbo Pascal -> fixed in 5.2.10

comment:9 Changed 4 weeks ago by Foxdoismil

I believe that you just created a very bad colateral effect VirtualBox 5.2.10 I created a new ticket regarding https://www.virtualbox.org/ticket/17709 I would appreciate that to be checked and the possibility of reverting this bug fix while you search for a better implementation.

Meanwhile I am reverting (and freezing) all the VirtualBox hosts I manage to version 5.2.8

comment:10 Changed 4 weeks ago by Foxdoismil

  • Status changed from closed to reopened
  • Resolution fixed deleted

comment:11 Changed 4 weeks ago by michaln

  • Status changed from reopened to closed
  • Resolution set to fixed

This ticket is about Turbo Pascal. The other ticket is about something else, which may or may not be related. Unless someone can show that the Turbo Pascal problem is not fixed, this ticket stays closed and the other ticket will be used for tracking the other problem.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use