Pascal Version

Pascal is often associated with microprocessors due to the widely distributed UCSD implementation. However, the first Pascal, Wirth's first implementation, was for the Control Data 6000 series super computer. I maintained that compiler for the Purdue computing center. I translated my assemply language versions of the Morse Code teacher to Pascal before I left in 1978. Here is that code:

I compiled this with Wirth's compiler but I never ran it because there was no way to beep out code from a super computer. Instead I left beeping as an external call that I assumed that I'd eventually be able to implement on some future Pascal implementation. I was already reading about OMSI Pascal which was done by kids in the science museum in the same town where I was headed.

These are the external functions that never got implemented.

  • function realtime: ticks-- Interface subroutine to read the system realtime clock. Returns elapsed number of clock ticks modulo a power of two.

  • procedure buzzer (switch: state) -- Interface subroutine to a remote audio oscillator. Subroutine is called only when a change in state is required (i.e. sidetone generation is external).

  • function response: boolean -- Interface subroutine to sense a user keyboard response. If true is returned, get(input) should advance to the next character without delay.

  • function random: integer -- Interface function to random number generator. Returns 0 < random < 2**15 with even distribution.

Here is the Pascal program mechanically translated to C, also untested:

Working from these listings, Jim Wilson translated the teaching algorithms to C code of his liking and added assembly utilities to produce the Dos Version.

See More History.


Last edited May 22, 2005
Return to WelcomeVisitors