Pages

Tuesday, May 17, 2011

Pascal

IP Pascal Programs

This page contains a collection of typical programs for IP Pascal. Some of the programs are useful, some not. Mainly they are examples of IP Pascal use.
Please note: "smart linking", or the automatic deletion of unused library routines during the link phase, is not currently enabled in IP Pascal. This means that you will see a large binary for even a trivial program. Please compare only runtime speed and not size on these programs.
Text mode files
Standard command line oriented programs.
ls.pas            List the current directory
prmex.pas         A minimal executive (shell)
startrek.pas      From USUS, the original text based startrek game
prime.pas         The original prime number benchmark
diff.pas          File binary compare (not the Unix source compare)
mine.pas          Mines game in text mode
roman.pas         The roman numeral printer from "User Manual and Report"
ptime.pas         Print current time
cpt.pas           Text file copy (preserves eoln)
hello.pas         The "hello, world" program.
lc.pas            Convert file to lower case
length.pas        Print length (in bytes) of a file
pl.pas            Print Pascal program listing
sc.pas            Show control characters in ASCII file (in \ctl form)
spcend.pas        Remove right hand (useless) spaces from document
strcom.pas        Remove comments from Pascal program (an elementary obfuscator)
tl.pas            Type program with line numbers
ty.pas            Type text file
wc.pas            Count words in text file
pascals.pas       N. Wirth's Pascal-S compiler/interpreter program
Terminal mode files
Programs that use x-y positioning on the screen and colors, but are still character oriented. On systems like Windows XP that can represent a console text surface that is larger than the window (i.e., has scroll bars), you will need to expand the window or change the character x-y size until it all fits in the window. This is because the games attempt to use all of the console surface provided, even if it is off screen.
snake.pas         Unix "snake" game, eat scores while snake grows. Use arrow keys to set
snake.exe         direction.
mine.pas          The classic find the hidden mines game. Use arrow keys or mouse.
pong.pas          Pong in character mode. Yes, really. Use a joystick for this.

Console mode programs can use sound as well. It is not practical to use sound programs from serial mode, because you need timers for note timing.

keyboard.pas      Turns the keyboard into piano, using midi.
play.pas          Emulates Qbasic's "play" statement for midi output.

Graphical mode files
hellow.pas        Prints "hello from Pascal windows", in a box. This is a demo of direct to
                  Windows API programming.

"dazzlers" are my name for useless programs that draw interesting animated paterns on the screen. IP Pascal makes animation easy with multiple drawing surfaces, and a built in frame timer.

line1.pas         Line drawing programs.

Check out line6. This is line1 with "multimode" debugging added. This means that it opens a console window in addition to the graphics window, and writes status messages to that during the program run !

ball1.pas         Ball drawing programs.
ball6.pas         3-d balls with sound, no extra charge.
car_rev.wav       These wave files play in ball6, or you can use your own.
square1.pas       Square drawing programs.
square3.pas       A "square" can also be a bitmap.
mypic1.bmp        These pictures go with square3, or use your own.
tunnel1.pas       Going "down a tunnel". What can I say, try one.
pixel1.pas        Bouncing xored pixel.

These graphical games use sound and joysticks.

pong.pas          Yep. Pong.
breakout.pas      Breakout.
Graphical window mode files