upvote
Turbo Pascal supported port array though: https://archive.org/details/bitsavers_borlandturVersion3.0Re...

Here is the first function of your example in TP3: procedure DataOut; begin while (Port[$f5] and 1) = 0 do; port[$f4] := Data; end,

reply
Must be later improvement, because I whined about it in Usenet.

Originally you had to write inline assembly.

reply