mirror of
https://github.com/deater/tb1.git
synced 2025-02-28 10:29:04 +00:00
More files checked in
This commit is contained in:
parent
33a27ceaa8
commit
f99adb44a8
292
tb1ans.pas
Normal file
292
tb1ans.pas
Normal file
@ -0,0 +1,292 @@
|
||||
{ TheDraw Pascal Screen Image. Date: 03/23/95 }
|
||||
const
|
||||
IMAGEDATA_WIDTH=80;
|
||||
IMAGEDATA_DEPTH=25;
|
||||
IMAGEDATA_LENGTH=4000;
|
||||
IMAGEDATA : array [1..4000] of Char = (
|
||||
'А', #4, 'А', #4, 'А', #4, 'А', #4, 'А', #4, ' ', #4, 'А', #4,
|
||||
'А', #4, 'А', #4, 'А', #4, 'А', #4, ' ', #4, 'А', #4, ' ', #4,
|
||||
' ', #4, ' ', #4, 'А', #4, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'А', #4, 'А', #4, 'А', #4, 'А', #4, ' ', #4,
|
||||
' ', #4, 'А', #4, 'А', #4, 'А', #4, 'А', #4, 'А', #4, ' ', #4,
|
||||
'А', #4, ' ', #4, ' ', #4, ' ', #4, 'А', #4, ' ', #4, 'А', #4,
|
||||
'А', #4, 'А', #4, 'А', #4, ' ', #4, ' ', #4, 'А', #4, 'А', #4,
|
||||
'А', #4, 'А', #4, 'А', #4, ' ', #4, 'А', #4, ' ', #4, ' ', #4,
|
||||
' ', #4, 'А', #4, ' ', #4, ' ', #4, ' ', #4, 'А', #2, 'V', #4,
|
||||
'e', #4, 'r', #4, 's', #4, 'i', #4, 'o', #4, 'n', #4, ' ', #4,
|
||||
'1', #4, '.', #4, '0', #4, '1', #4, '!', #4, '!', #4, 'А', #2,
|
||||
'А', #2, 'А', #2, 'А', #2, ' ', #2, 'Б', #4, 'Б', #4, 'Б', #4,
|
||||
'Б', #4, 'Б', #4, 'А', #4, 'Б', #4, 'Б', #4, 'Б', #4, 'Б', #4,
|
||||
'Б', #4, 'А', #4, 'Б', #4, ' ', #4, 'А', #4, 'А', #4, 'Б', #4,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #4, 'Б', #4,
|
||||
'Б', #4, 'Б', #4, 'Б', #4, ' ', #4, 'А', #4, 'Б', #4, 'Б', #4,
|
||||
'Б', #4, 'Б', #4, 'Б', #4, 'А', #4, 'Б', #4, ' ', #4, 'А', #4,
|
||||
'А', #4, 'Б', #4, 'А', #4, 'Б', #4, 'Б', #4, 'Б', #4, 'Б', #4,
|
||||
' ', #4, 'А', #4, 'Б', #4, 'Б', #4, 'Б', #4, 'Б', #4, 'Б', #4,
|
||||
'А', #4, 'Б', #4, ' ', #4, 'А', #4, 'А', #4, 'Б', #4, ' ', #4,
|
||||
' ', #4, 'А', #2, '0', #4, '3', #4, '/', #4, '2', #4, '5', #4,
|
||||
'/', #4, '9', #4, '5', #4, 'А', #2, 'А', #2, 'А', #2, 'А', #2,
|
||||
'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, ' ', #2,
|
||||
' ', #2, 'В', #12, 'В', #12, 'В', #12, 'В', #12, 'В', #12, 'Б', #4,
|
||||
'В', #12, 'В', #12, 'В', #12, 'В', #12, 'В', #12, 'Б', #4, 'В', #12,
|
||||
' ', #12, 'Б', #4, 'Б', #4, 'В', #12, ' ', #12, ' ', #12, ' ', #12,
|
||||
' ', #12, 'А', #4, 'Б', #4, 'В', #12, 'В', #12, 'В', #12, 'В', #12,
|
||||
'А', #4, 'Б', #4, 'В', #12, 'В', #12, 'В', #12, 'В', #12, 'В', #12,
|
||||
'Б', #4, 'В', #12, ' ', #12, 'Б', #4, 'Б', #4, 'В', #12, 'Б', #4,
|
||||
'В', #12, 'В', #12, 'В', #12, 'В', #12, 'А', #4, 'Б', #4, 'В', #12,
|
||||
'В', #12, 'В', #12, 'В', #12, 'В', #12, 'Б', #4, 'В', #12, ' ', #12,
|
||||
'Б', #4, 'Б', #4, 'В', #12, ' ', #12, 'А', #2, 'А', #2, 'А', #2,
|
||||
'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2,
|
||||
'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2,
|
||||
'А', #2, 'А', #2, ' ', #2, ' ', #2, 'А', #4, 'Б', #4, 'В', #12,
|
||||
' ', #12, 'А', #4, 'Б', #4, 'В', #12, ' ', #12, 'А', #4, 'Б', #4,
|
||||
'В', #12, 'Б', #4, 'В', #12, 'В', #12, 'А', #4, 'В', #12, 'В', #12,
|
||||
' ', #12, ' ', #12, ' ', #12, ' ', #12, 'А', #4, 'Б', #4, 'В', #12,
|
||||
'Б', #4, 'Б', #4, ' ', #4, 'В', #12, 'Б', #4, 'В', #12, ' ', #12,
|
||||
'А', #4, 'Б', #4, 'В', #12, 'Б', #4, 'В', #12, 'В', #12, 'А', #4,
|
||||
'В', #12, 'В', #12, 'Б', #4, 'В', #12, 'Б', #4, 'Б', #4, ' ', #4,
|
||||
'В', #12, 'Б', #4, 'В', #12, 'Б', #4, 'Б', #4, 'Б', #4, 'А', #4,
|
||||
'Б', #4, 'В', #12, 'В', #12, 'А', #4, 'В', #12, 'В', #12, ' ', #12,
|
||||
'А', #2, 'D', #79, 'O', #79, 'W', #79, 'N', #79, 'L', #79, 'O', #79,
|
||||
'A', #79, 'D', #79, ' ', #79, 'N', #79, 'O', #79, 'W', #79, '!', #79,
|
||||
'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, ' ', #2, ' ', #2,
|
||||
'А', #4, 'Б', #4, 'В', #12, ' ', #12, 'А', #4, 'Б', #4, 'В', #12,
|
||||
'А', #4, 'А', #4, 'Б', #4, 'В', #12, 'Б', #4, 'В', #12, ' ', #12,
|
||||
'В', #12, 'Б', #4, 'В', #12, ' ', #12, ' ', #12, ' ', #12, ' ', #12,
|
||||
'А', #4, 'Б', #4, 'В', #12, 'В', #12, 'В', #12, 'В', #12, 'А', #4,
|
||||
'Б', #4, 'В', #12, 'А', #4, 'А', #4, 'Б', #4, 'В', #12, 'Б', #4,
|
||||
'В', #12, ' ', #12, 'В', #12, 'Б', #4, 'В', #12, 'Б', #4, 'В', #12,
|
||||
'В', #12, 'В', #12, 'В', #12, 'А', #4, 'Б', #4, 'В', #12, 'В', #12,
|
||||
'В', #12, 'В', #12, 'В', #12, 'Б', #4, 'В', #12, ' ', #12, 'В', #12,
|
||||
'Б', #4, 'В', #12, ' ', #12, 'А', #2, 'А', #2, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, 'А', #2, 'А', #2,
|
||||
'А', #2, ' ', #2, ' ', #2, ' ', #2, 'Б', #4, 'В', #12, ' ', #12,
|
||||
' ', #12, 'Б', #4, 'В', #12, 'Б', #4, 'Б', #4, 'Б', #4, 'В', #12,
|
||||
'Б', #4, 'В', #12, ' ', #12, ' ', #12, 'Б', #4, 'В', #12, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, 'Б', #4, 'В', #12, 'Б', #4,
|
||||
'Б', #4, 'Б', #4, 'В', #12, 'Б', #4, 'В', #12, 'Б', #4, 'Б', #4,
|
||||
'Б', #4, 'В', #12, 'Б', #4, 'В', #12, ' ', #12, ' ', #12, 'Б', #4,
|
||||
'В', #12, 'Б', #4, 'В', #12, 'Б', #4, 'Б', #4, 'Б', #4, 'В', #12,
|
||||
'Б', #4, 'В', #12, 'Б', #4, 'Б', #4, 'Б', #4, ' ', #4, 'Б', #4,
|
||||
'В', #12, ' ', #12, ' ', #12, 'Б', #4, 'В', #12, ' ', #12, 'А', #2,
|
||||
'N', #47, 'E', #47, 'W', #47, 'E', #47, 'S', #47, 'T', #47, ' ', #47,
|
||||
'G', #47, 'A', #47, 'M', #47, 'E', #47, ' ', #47, ' ', #47, ' ', #47,
|
||||
' ', #47, ' ', #47, ' ', #47, 'А', #2, ' ', #2, ' ', #2, ' ', #2,
|
||||
' ', #2, 'В', #12, ' ', #12, ' ', #12, ' ', #12, 'В', #12, 'В', #12,
|
||||
'В', #12, 'В', #12, 'В', #12, ' ', #12, 'В', #12, ' ', #12, ' ', #12,
|
||||
' ', #12, 'В', #12, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, 'В', #12, 'В', #12, 'В', #12, 'В', #12, 'В', #12, ' ', #12,
|
||||
'В', #12, 'В', #12, 'В', #12, 'В', #12, 'В', #12, ' ', #12, 'В', #12,
|
||||
' ', #12, ' ', #12, ' ', #12, 'В', #12, ' ', #12, 'В', #12, 'В', #12,
|
||||
'В', #12, 'В', #12, 'В', #12, ' ', #12, 'В', #12, 'В', #12, 'В', #12,
|
||||
'В', #12, 'В', #12, ' ', #12, 'В', #12, ' ', #12, ' ', #12, ' ', #12,
|
||||
'В', #12, ' ', #12, 'А', #2, 'F', #47, 'R', #47, 'O', #47, 'M', #47,
|
||||
' ', #47, 'V', #47, 'M', #47, 'W', #47, ' ', #47, 'S', #47, 'O', #47,
|
||||
'F', #47, 'T', #47, 'W', #47, 'A', #47, 'R', #47, 'E', #47, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, 'А', #2,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #8, ' ', #8, ' ', #8,
|
||||
' ', #8, ' ', #8, '.', #7, ' ', #7, ' ', #7, 'I', #1, ' ', #1,
|
||||
'N', #1, ' ', #1, 'V', #1, ' ', #1, 'A', #1, ' ', #1, 'S', #1,
|
||||
' ', #1, 'I', #1, ' ', #1, 'O', #1, ' ', #1, 'N', #1, ' ', #1,
|
||||
' ', #1, ' ', #1, '.', #7, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, 'А', #2, 'W', #31, 'R', #31, 'I', #31, 'T', #31, 'T', #31,
|
||||
'E', #31, 'N', #31, ' ', #31, 'B', #31, 'Y', #31, ' ', #31, 'M', #31,
|
||||
'E', #31, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'А', #2, ' ', #2,
|
||||
' ', #2, ' ', #2, ' ', #2, '.', #7, ' ', #7, '.', #8, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, 'O', #9, ' ', #9, 'F', #9, ' ', #9,
|
||||
' ', #9, ' ', #9, 'T', #9, ' ', #9, 'H', #9, ' ', #9, 'E', #9,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, '.', #8, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, '<', #31, '<', #31,
|
||||
'<', #31, 'D', #31, 'E', #31, 'A', #31, 'T', #31, 'E', #31, 'R', #31,
|
||||
'>', #31, '>', #31, '>', #31, ' ', #31, ' ', #15, 'А', #2, 'А', #2,
|
||||
'А', #2, 'А', #2, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'I', #12, ' ', #12, 'N', #12, ' ', #12, 'A', #12,
|
||||
' ', #12, 'N', #12, ' ', #12, 'I', #12, ' ', #12, 'M', #12, ' ', #12,
|
||||
'A', #12, ' ', #12, 'T', #12, ' ', #12, 'E', #12, ' ', #12, ' ', #12,
|
||||
' ', #12, 'O', #12, ' ', #12, 'B', #12, ' ', #12, 'J', #12, ' ', #12,
|
||||
'E', #12, ' ', #12, 'C', #12, ' ', #12, 'T', #12, ' ', #12, 'S', #12,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'А', #2, 'А', #2, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, 'А', #2, 'А', #2, 'А', #2, 'А', #2, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, '.', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #8, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, '.', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, 'А', #2, 'D', #95, 'O', #95, 'W', #95,
|
||||
'N', #95, 'L', #95, 'O', #95, 'A', #95, 'D', #95, ' ', #95, 'A', #95,
|
||||
'T', #95, ':', #95, ' ', #95, 'А', #2, 'А', #2, 'А', #2, 'А', #2,
|
||||
'А', #2, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #8,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, '.', #7, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'к', #6,
|
||||
'Ф', #6, 'П', #6, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2,
|
||||
'U', #95, 'T', #95, 'O', #95, 'P', #95, 'I', #95, 'A', #95, ' ', #95,
|
||||
'B', #95, 'B', #95, 'S', #95, ' ', #95, ' ', #95, ' ', #95, ' ', #15,
|
||||
'А', #2, 'А', #2, 'А', #2, 'А', #2, ' ', #2, ' ', #2, ' ', #2,
|
||||
'.', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, '.', #7, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'м', #12, 'л', #12, 'л', #12, 'л', #12, 'л', #12, 'л', #12, 'л', #12,
|
||||
'л', #12, 'л', #12, 'л', #12, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'Б', #1, 'Б', #2, 'А', #1, ' ', #1, 'Р', #6, 'П', #6, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'А', #2, '4', #95, '1', #95, '0', #95, '-', #95,
|
||||
'5', #95, '5', #95, '7', #95, '-', #95, '0', #95, '8', #95, '6', #95,
|
||||
'8', #95, ' ', #95, ' ', #15, 'А', #2, 'А', #2, 'А', #2, 'А', #2,
|
||||
' ', #2, ' ', #2, ' ', #2, ' ', #2, '.', #7, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, 'м', #4, 'п', #76, 'п', #76, 'п', #76, 'п', #76, 'п', #76,
|
||||
'п', #76, 'п', #76, 'л', #76, 'л', #12, 'л', #12, 'п', #12, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'В', #1, 'В', #1, 'Б', #2, 'Б', #2, 'А', #1,
|
||||
' ', #1, 'Г', #6, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, 'I', #95,
|
||||
' ', #95, 'A', #95, 'M', #95, ' ', #95, '#', #95, '2', #95, '3', #95,
|
||||
' ', #95, ' ', #95, ' ', #95, ' ', #95, ' ', #95, ' ', #15, 'А', #2,
|
||||
'А', #2, 'А', #2, 'А', #2, 'А', #15, 'А', #15, 'А', #15, 'А', #15,
|
||||
'А', #15, 'А', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, '.', #8, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #7, 'А', #7,
|
||||
'А', #7, 'А', #7, 'А', #7, 'А', #7, 'А', #7, 'л', #4, 'п', #12,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #8, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'Б', #1,
|
||||
'Б', #1, 'А', #2, ' ', #2, 'к', #6, 'й', #6, ' ', #6, ' ', #6,
|
||||
' ', #6, '.', #8, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, 'А', #2, 'А', #2, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'А', #2, 'А', #2, 'А', #2, 'А', #2, 'В', #1,
|
||||
'В', #1, 'Б', #1, 'Б', #1, 'Б', #1, 'Б', #1, 'А', #1, 'А', #1,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'л', #14, 'п', #4, 'п', #4, 'п', #4, 'п', #4, 'п', #4, 'п', #4,
|
||||
'п', #4, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, 'Р', #6, 'Т', #6, 'Ф', #6, 'й', #6,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, 'V', #79, 'i', #79,
|
||||
'n', #79, 'c', #79, 'e', #79, ' ', #79, 'W', #79, 'e', #79, 'a', #79,
|
||||
'v', #79, 'e', #79, 'r', #79, ' ', #79, ' ', #79, ' ', #79, ' ', #79,
|
||||
'А', #2, 'А', #2, 'Б', #2, 'Б', #2, 'л', #1, 'В', #1, 'В', #1,
|
||||
'Б', #2, 'Б', #2, 'Б', #1, 'А', #1, 'А', #1, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'Б', #14, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'.', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #6, 'Б', #6,
|
||||
'В', #6, 'л', #6, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'А', #2, '3', #79, '2', #79, '6', #79, ' ', #79, 'F', #79, 'o', #79,
|
||||
's', #79, 't', #79, 'e', #79, 'r', #79, ' ', #79, 'K', #79, 'n', #79,
|
||||
'o', #79, 'l', #79, 'l', #79, ' ', #15, 'А', #2, 'л', #1, 'л', #1,
|
||||
'л', #1, 'В', #2, 'В', #2, 'В', #1, 'В', #1, 'Б', #2, 'Б', #1,
|
||||
'Б', #1, 'А', #1, ' ', #1, ' ', #1, ' ', #1, ' ', #1, 'л', #14,
|
||||
' ', #14, ' ', #14, ' ', #14, ' ', #14, 'Б', #14, ' ', #14, '.', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, '-', #8, 'А', #13, 'В', #14,
|
||||
'В', #14, 'В', #14, 'В', #14, 'В', #14, 'В', #14, 'В', #14, 'н', #59,
|
||||
'н', #59, 'л', #13, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, 'А', #2, 'J', #79, 'o', #79, 'p', #79,
|
||||
'p', #79, 'a', #79, ',', #79, ' ', #79, 'M', #79, 'D', #79, ' ', #79,
|
||||
'2', #79, '1', #79, '0', #79, '8', #79, '5', #79, ' ', #79, ' ', #15,
|
||||
'А', #2, 'В', #2, 'В', #2, 'В', #2, 'В', #2, 'В', #2, 'В', #2,
|
||||
'л', #1, 'В', #1, 'В', #1, 'Б', #1, 'Б', #1, 'А', #1, ' ', #1,
|
||||
' ', #1, 'В', #14, ' ', #14, ' ', #14, ' ', #14, ' ', #14, 'Б', #14,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #7, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2,
|
||||
'А', #2, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, 'А', #2, 'В', #2, 'В', #2, 'В', #2,
|
||||
'В', #2, 'В', #2, 'л', #1, 'л', #1, 'л', #1, 'В', #1, 'В', #1,
|
||||
'Б', #1, 'Б', #1, 'А', #1, ' ', #1, 'Б', #14, ' ', #14, ' ', #14,
|
||||
' ', #14, 'А', #14, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, '.', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
'.', #8, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, '.', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, 'А', #2, 'C', #47, 'U', #47, 'R', #47, 'R', #47,
|
||||
'E', #47, 'N', #47, 'T', #47, 'L', #47, 'Y', #47, ' ', #47, '1', #47,
|
||||
'0', #47, '5', #47, 'K', #47, ' ', #47, ' ', #47, 'А', #2, 'А', #2,
|
||||
'В', #2, 'В', #2, 'В', #2, 'л', #1, 'В', #2, 'л', #1, 'л', #1,
|
||||
'л', #1, 'л', #1, 'В', #1, 'В', #1, 'Б', #1, 'Б', #1, 'А', #14,
|
||||
'А', #14, 'А', #14, 'А', #14, 'А', #14, ' ', #14, ' ', #14, ' ', #14,
|
||||
' ', #14, '.', #8, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, '.', #7, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, 'O', #47,
|
||||
'F', #47, ' ', #47, '.', #47, 'P', #47, 'P', #47, 'P', #47, ' ', #47,
|
||||
'G', #47, 'R', #47, 'A', #47, 'P', #47, 'H', #47, 'I', #47, 'C', #47,
|
||||
'S', #47, ' ', #15, 'А', #2, 'л', #1, 'В', #2, 'В', #2, 'л', #1,
|
||||
'л', #1, 'л', #1, 'л', #1, 'л', #1, 'л', #1, 'В', #1, 'В', #1,
|
||||
'Б', #1, 'Б', #1, 'А', #1, ' ', #1, ' ', #1, 'Б', #14, ' ', #14,
|
||||
'Б', #14, 'Б', #14, 'Б', #14, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, 'А', #2, 'А', #2, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, 'А', #2, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15,
|
||||
' ', #15, ' ', #15, ' ', #15, ' ', #15, ' ', #15);
|
949
tb1sb.pas
Normal file
949
tb1sb.pas
Normal file
@ -0,0 +1,949 @@
|
||||
program TOM_BOMB_EM_AND_INVASION_OF_INANIMATE_OBJECTS;
|
||||
{by Vincent Weaver....21085-4706}
|
||||
|
||||
uses vmwgraph,crt;
|
||||
|
||||
{$I c:\vmw\pascal\programs\tb1ans.pas}
|
||||
{$M $4000,0,$20000} {16k stack, no heap - adjust as needed }
|
||||
{$L MOD-obj.OBJ} { Link in Object file }
|
||||
{$F+} { force calls to be 'far'}
|
||||
procedure modvolume(v1,v2,v3,v4:integer); external ; {Can do while playing}
|
||||
procedure moddevice(var device:integer); external ;
|
||||
procedure modsetup(var status:integer;device,mixspeed,pro,loop:integer;var str:string); external ;
|
||||
procedure modstop; external ;
|
||||
procedure modinit; external;
|
||||
{$F-}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
type screentype = array [0..3999] of byte;
|
||||
Type Shipinfo = Record { This is format of of each of our }
|
||||
x,y:integer; { records for the flying toasters }
|
||||
speed,frame:integer;
|
||||
active:boolean;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
Virtual = Array [1..64000] of byte; { The size of our Virtual Screen }
|
||||
VirtPtr = ^Virtual; { Pointer to the virtual screen }
|
||||
|
||||
|
||||
|
||||
var
|
||||
dev,mix,stat,pro,loop : integer;
|
||||
md : string;
|
||||
VAR Virscr : VirtPtr; { Our first Virtual screen }
|
||||
VirScr2 : VirtPtr; { Our second Virtual screen }
|
||||
Vaddr : word; { The segment of our virtual screen}
|
||||
Vaddr2 : Word; { The segment of our 2nd virt. screen}
|
||||
ourpal : Array [0..255,1..3] of byte; { A virtual pallette }
|
||||
shipv : Array [1..1] of shipinfo; { The toaster info }
|
||||
Sound : Pointer;
|
||||
Check : BOOLEAN;
|
||||
frame:array[0..2,0..47,0..29] of byte;
|
||||
bigflame:array[0..1,0..26,0..18] of byte;
|
||||
smallflame:array[0..1,0..3,0..4] of byte;
|
||||
barge:array[0..15,0..18] of byte;
|
||||
truck:array[0..1,0..5,0..8] of byte;
|
||||
score,level,lives,energy:integer;
|
||||
axel_und_carmen:boolean;
|
||||
tempi,tempj:integer;
|
||||
scorest:string[8];
|
||||
|
||||
var grapherror:byte;
|
||||
temp:array[1..3] of byte;
|
||||
palf:text;
|
||||
i,j:byte;
|
||||
x,y,barpos:integer;
|
||||
screen:screentype absolute $B800:0000;
|
||||
ch:char;
|
||||
|
||||
function menuread:char;
|
||||
var chtemp,ch2:char;
|
||||
begin
|
||||
repeat until keypressed;
|
||||
ch2:=#0;
|
||||
chtemp:=readkey;
|
||||
if chtemp=chr(0) then ch2:=readkey;
|
||||
chtemp:=upcase(chtemp);
|
||||
if (ord(chtemp)<10) and (ord(chtemp)<128) then begin
|
||||
if ch2='H' then chtemp:='ß'; {up}
|
||||
if ch2='M' then chtemp:='Þ'; {right}
|
||||
if ch2='P' then chtemp:='Ü'; {down}
|
||||
if ch2='K' then chtemp:='Ý'; {left}
|
||||
if ch2=';' then chtemp:='¨'; {f1}
|
||||
if ch2='I' then chtemp:='ô'; {pgup}
|
||||
if ch2='Q' then chtemp:='õ'; {pgdown}
|
||||
end;
|
||||
menuread:=chtemp;
|
||||
end;
|
||||
|
||||
procedure coolbox(x1,y1,x2,y2:integer;fill:boolean;page:word);
|
||||
begin
|
||||
for i:=0 to 5 do box(x1+i,y1+i,x2-i,y2-i,31-i,page);
|
||||
if fill then for i:=y1+5 to y2-5 do line(x1+5,i,x2-5,i,7,page);
|
||||
end;
|
||||
|
||||
{ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ}
|
||||
Procedure ShutDown;
|
||||
{ This frees the memory used by the virtual screen }
|
||||
BEGIN
|
||||
FreeMem (VirScr,64000);
|
||||
FreeMem (VirScr2,64000);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
procedure QUIT;
|
||||
label menu2;
|
||||
begin
|
||||
coolbox(90,75,230,125,true,vga);
|
||||
barpos:=0;
|
||||
outtextxy('QUIT??? ARE YOU',97,82,15,9,7,vga,false);
|
||||
outtextxy('ABSOLUTELY SURE?',97,90,15,9,7,vga,false);
|
||||
repeat
|
||||
if barpos=0 then outtextxy('YES-RIGHT NOW!',97,98,15,150,0,vga,true)
|
||||
else outtextxy('YES-RIGHT NOW!',97,98,15,150,7,vga,true);
|
||||
if barpos=1 then outtextxy('NO--NOT YET.',97,106,15,150,0,vga,true)
|
||||
else outtextxy('NO--NOT YET.',97,106,15,150,7,vga,true);
|
||||
ch:=menuread;
|
||||
if (ord(ch)>219) and (ord(ch)<224) then inc(barpos);
|
||||
if ch='Y' then barpos:=0;
|
||||
if ch='N' then barpos:=1;
|
||||
if barpos=2 then barpos:=0;
|
||||
until ch=#13;
|
||||
if barpos=1 then goto menu2;
|
||||
settext;
|
||||
move(imagedata,screen,4000);
|
||||
gotoxy(1,23);
|
||||
halt;
|
||||
menu2:
|
||||
barpos:=6;
|
||||
end;
|
||||
|
||||
Procedure SetUpVirtual;
|
||||
{ This sets up the memory needed for the virtual screen }
|
||||
BEGIN
|
||||
GetMem (VirScr,64000);
|
||||
vaddr := seg (virscr^);
|
||||
GetMem (VirScr2,64000);
|
||||
vaddr2 := seg (virscr2^);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ}
|
||||
Procedure drawstars(menu:boolean);
|
||||
{ This procedure sets up the static background to be used in the program }
|
||||
|
||||
CONST circ : Array [1..5,1..5] of byte =
|
||||
((00,00,30,00,00),
|
||||
(00,00,26,00,00),
|
||||
(30,26,18,26,30),
|
||||
(00,00,26,00,00),
|
||||
(00,00,30,00,00));
|
||||
|
||||
VAR i,x,y:integer;
|
||||
loop1,loop2,loop3:integer;
|
||||
tempaddr:word;
|
||||
|
||||
procedure makehole(y:integer);
|
||||
var i:integer;
|
||||
begin
|
||||
for i:=10 to 75 do line(239+i,y,239+i,y+9,0,tempaddr);
|
||||
line(249,y,314,y,24,tempaddr);
|
||||
line(249,y+10,313,y+10,18,tempaddr);
|
||||
line(249,y,249,y+9,24,tempaddr);
|
||||
line(314,y+1,314,y+10,18,tempaddr);
|
||||
end;
|
||||
BEGIN
|
||||
tempaddr:=vaddr;
|
||||
|
||||
|
||||
For loop1:=1 to 200 do BEGIN
|
||||
x:=random (315);
|
||||
y:=random (195);
|
||||
For loop2:=1 to 5 do
|
||||
For loop3:=1 to 5 do
|
||||
if circ [loop2,loop3]<>0 then
|
||||
putpixel (x+loop2,y+loop3,circ [loop2,loop3],tempaddr);
|
||||
END;
|
||||
if menu=false then begin
|
||||
for i:=240 to 319 do line(i,0,i,199,19,tempaddr);
|
||||
line(240,0,240,199,18,tempaddr);
|
||||
line(240,0,319,0,18,tempaddr);
|
||||
line(319,0,319,199,24,tempaddr);
|
||||
line(241,199,319,199,24,tempaddr);
|
||||
outtextxy('SCORE',241,1,15,127,0,tempaddr,false);
|
||||
outtextxy('SCORE',242,2,15,143,0,tempaddr,false);
|
||||
makehole(10);
|
||||
outtextxy(' 0',250,12,15,12,0,tempaddr,false);
|
||||
outtextxy('HI-SCORE',241,21,15,127,0,tempaddr,false);
|
||||
outtextxy('HI-SCORE',242,22,15,143,0,tempaddr,false);
|
||||
makehole(30);
|
||||
outtextxy(' 0',250,32,15,12,0,tempaddr,false);
|
||||
outtextxy('LEVEL',241,41,15,127,0,tempaddr,false);
|
||||
outtextxy('LEVEL',242,42,15,143,0,tempaddr,false);
|
||||
makehole(50);
|
||||
outtextxy('12345675',251,52,15,12,0,tempaddr,false);
|
||||
outtextxy('SHIELDS',241,61,15,127,0,tempaddr,false);
|
||||
outtextxy('SHIELDS',242,62,15,143,0,tempaddr,false);
|
||||
makehole(70);
|
||||
for i:=0 to 63 do line(250+i,71,250+i,79,((i div 4)+32),tempaddr);
|
||||
|
||||
outtextxy('WEAPONS',241,81,15,127,0,tempaddr,false);
|
||||
outtextxy('WEAPONS',242,82,15,143,0,tempaddr,false);
|
||||
makehole(90);
|
||||
for i:=0 to 65 do line(249+i,111,249+i,189,0,tempaddr);
|
||||
line(249,111,249,189,24,tempaddr);
|
||||
line(315,111,315,189,18,tempaddr);
|
||||
line(249,111,315,111,24,tempaddr);
|
||||
line(249,189,315,189,18,tempaddr);
|
||||
|
||||
outtextxy(' VMW ',251,114,15,15,0,tempaddr,false);
|
||||
outtextxy('F1-HELP ',251,124,15,15,0,tempaddr,false);
|
||||
outtextxy('ESC-QUIT',251,135,15,15,0,tempaddr,false);
|
||||
outtextxy('F2-SAVE ',251,145,15,15,0,tempaddr,false);
|
||||
end;
|
||||
if not(menu) then begin
|
||||
flip (vaddr,vga); { Copy the entire screen at vaddr, our virtual screen }
|
||||
{ on which we have done all our graphics, onto the }
|
||||
{ screen you see, VGA }
|
||||
flip (vaddr,vaddr2);
|
||||
end;
|
||||
END;
|
||||
|
||||
{ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ}
|
||||
Procedure ScreenTrans (x,y,p1,p2:word);
|
||||
{ This is a small procedure to copy a 30x30 pixel block from coordinates
|
||||
x,y on the virtual screen to coordinates x,y on the true vga screen }
|
||||
BEGIN
|
||||
asm
|
||||
push ds
|
||||
push es
|
||||
mov ax,p1
|
||||
mov es,ax
|
||||
mov ax,p2
|
||||
mov ds,ax
|
||||
mov bx,[X]
|
||||
mov dx,[Y]
|
||||
push bx {; and this again for later}
|
||||
mov bx, dx {; bx = dx}
|
||||
mov dh, dl {; dx = dx * 256}
|
||||
xor dl, dl
|
||||
shl bx, 1
|
||||
shl bx, 1
|
||||
shl bx, 1
|
||||
shl bx, 1
|
||||
shl bx, 1
|
||||
shl bx, 1 {; bx = bx * 64}
|
||||
add dx, bx {; dx = dx + bx (ie y*320)}
|
||||
pop bx {; get back our x}
|
||||
add bx, dx {; finalise location}
|
||||
mov di, bx {; es:di = where to go}
|
||||
mov si, di
|
||||
mov al,60
|
||||
mov bx, 30 { Hight of block to copy }
|
||||
@@1 :
|
||||
mov cx, 24 { Width of block to copy divided by 2 }
|
||||
rep movsw
|
||||
add di,110h { 320 - 48 = 272 .. or 110 in hex }
|
||||
add si,110h
|
||||
dec bx
|
||||
jnz @@1
|
||||
|
||||
pop es
|
||||
pop ds
|
||||
end;
|
||||
{ I wrote this procedure late last night, so it may not be in it's
|
||||
most optimised state. Sorry :-)}
|
||||
END;
|
||||
|
||||
|
||||
{ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ}
|
||||
Procedure newship;
|
||||
{ This adds a new toaster to the screen }
|
||||
VAR loop1:integer;
|
||||
BEGIN
|
||||
loop1:=1;
|
||||
|
||||
|
||||
if not (shipv[1].active) then BEGIN
|
||||
shipv[1].x:=36;
|
||||
shipv[1].y:=165;
|
||||
shipv[1].active:=true;
|
||||
shipv[1].frame:=1;
|
||||
shipv[1].speed:=5;
|
||||
loop1:=10;
|
||||
END;
|
||||
|
||||
END;
|
||||
|
||||
procedure putico(x,y,fra:byte;where:word);
|
||||
var i,j,col:integer;
|
||||
begin
|
||||
for i:=0 to 47 do
|
||||
for j:=0 to 29 do begin
|
||||
col:=frame[fra,i,j];
|
||||
if col<>0 then putpixel(i+x,y+j,col,where);
|
||||
end;
|
||||
|
||||
end;
|
||||
procedure putwave(x,y,fra:byte;where:word);
|
||||
var i,j,col:integer;
|
||||
begin
|
||||
for i:=10 to 30 do
|
||||
for j:=0 to 5 do begin
|
||||
col:=frame[fra,i,j];
|
||||
if col<>0 then putpixel((i+x)-10,y+j,col,where);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure changescore;
|
||||
begin
|
||||
str(score:8,scorest);
|
||||
outtextxy(scorest,250,12,15,12,0,vaddr,true);
|
||||
end;
|
||||
{ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ}
|
||||
Procedure shiproutine;
|
||||
VAR loop1,loop2:integer;
|
||||
ch,ch2:char;
|
||||
shieldcol:integer;
|
||||
wave1:array[0..5] of boolean;
|
||||
bulletx,bullety,oldwavex,oldwavey,wavex,wavey,i,waveadd:integer;
|
||||
bulletout:boolean;
|
||||
BEGIN
|
||||
pal(254,0,0,0);
|
||||
shieldcol:=0;
|
||||
shipv[1].active:=false;
|
||||
newship;
|
||||
ch:=#1; ch2:=#1;
|
||||
wavex:=0; wavey:=0; waveadd:=5;
|
||||
oldwavex:=0; oldwavey:=0;
|
||||
bulletout:=false; bulletx:=0; bullety:=0;
|
||||
for i:=0 to 4 do wave1[i]:=true;
|
||||
Repeat
|
||||
ch2:=#1;
|
||||
if (bulletout) and (bulletx>wavex) and (bulletx<wavex+100) and
|
||||
(bullety>wavey) and (bullety<wavey+10) then begin
|
||||
bulletout:=false;
|
||||
inc(score,10);
|
||||
changescore;
|
||||
wave1[(bulletx-wavex) div 20]:=false;
|
||||
end;
|
||||
if bulletout then begin
|
||||
screentrans(bulletx,bullety,vaddr,vaddr2);
|
||||
dec(bullety,5);
|
||||
if bullety<5 then bulletout:=false;
|
||||
if bulletout then putwave(bulletx,bullety,1,vaddr);
|
||||
end;
|
||||
for i:=0 to 5 do
|
||||
screentrans((oldwavex+20*i),oldwavey,vaddr,vaddr2);
|
||||
for i:=0 to 5 do
|
||||
if wave1[i] then putwave(wavex+20*i,wavey,1,vaddr);
|
||||
oldwavex:=wavex; oldwavey:=wavey;
|
||||
wavex:=wavex+waveadd;
|
||||
if (wavex>100) or (wavex<5) then begin
|
||||
inc(wavey,5);
|
||||
waveadd:=-waveadd;
|
||||
end;
|
||||
if wavey>150 then begin
|
||||
wavey:=0;
|
||||
for i:=0 to 5 do if wave1[i]=false then wave1[i]:=true;
|
||||
end;
|
||||
if keypressed then BEGIN
|
||||
ch:=readkey;
|
||||
if ch=chr(0) then ch2:=readkey;
|
||||
if ch2='M' then inc(shipv[1].x,5);
|
||||
if ch2='K' then dec(shipv[1].x,5);
|
||||
if ch=' ' then begin
|
||||
bulletout:=true;
|
||||
bulletx:=shipv[1].x+10;
|
||||
bullety:=shipv[1].y;
|
||||
putwave(bulletx,bullety,1,vaddr);
|
||||
end;
|
||||
if ch='+' then begin inc(shieldcol,3); pal(254,shieldcol,0,0);
|
||||
if shieldcol>58 then shieldcol:=59;
|
||||
end;
|
||||
if ch='-' then begin dec(shieldcol,3); pal(254,shieldcol,0,0);
|
||||
if shieldcol<5 then shieldcol:=3;
|
||||
end;
|
||||
|
||||
end;
|
||||
if shipv[1].active then BEGIN
|
||||
screentrans (shipv[1].x,shipv[1].y,vaddr,vaddr2);
|
||||
{ Restore the backgrond the toaster was over }
|
||||
|
||||
{ Move the toaster }
|
||||
if (shipv[1].x<1) then shipv[1].x:=1;
|
||||
if (shipv[1].x>255) then shipv[1].x:=255;
|
||||
{ When toaster reaches the edge of the screen, render it inactive
|
||||
and bring a new one into existance. }
|
||||
END;
|
||||
if shipv[1].active then BEGIN
|
||||
CASE shipv [1].frame of
|
||||
1 : putico (shipv[1].x,shipv[1].y,0,vaddr);
|
||||
3 : putico (shipv[1].x,shipv[1].y,1,vaddr);
|
||||
2,4 : putico (shipv[1].x,shipv[1].y,2,vaddr);
|
||||
END;
|
||||
shipv[1].frame:=shipv[1].frame+1;
|
||||
if shipv[1].frame=5 then shipv[1].frame:=1;
|
||||
{ Draw all the toasters on the VGA screen }
|
||||
end;
|
||||
waitretrace;
|
||||
flip (vaddr,vga);
|
||||
until ch=#27;
|
||||
fade
|
||||
END;
|
||||
|
||||
|
||||
procedure playthegame(lev:integer);
|
||||
{ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ}
|
||||
var palloop,paldir:integer;
|
||||
begin
|
||||
cls(0,vaddr);
|
||||
grapherror:=loadpicsuperpacked(0,0,vga,'tbma1.tb1');
|
||||
outtextxy('MOONBASE ALPHA: EARTH''S LAST CHANCE!',5,5,15,1,0,vga,false);
|
||||
pal(255,0,0,0);
|
||||
palloop:=0;
|
||||
paldir:=1;
|
||||
repeat
|
||||
pal(255,palloop,0,0);
|
||||
if paldir=1 then inc(palloop)
|
||||
else dec(palloop);
|
||||
if palloop>62 then paldir:=-1;
|
||||
if palloop<1 then paldir:=1;
|
||||
delay(50);
|
||||
|
||||
until keypressed;
|
||||
ch:=readkey;
|
||||
|
||||
drawstars(false);
|
||||
shiproutine;
|
||||
end;
|
||||
|
||||
procedure dographics;
|
||||
|
||||
var i,j:integer;
|
||||
begin
|
||||
grapherror:=loadpicsuperpacked(0,0,vaddr,'ships.tb1');
|
||||
for i:=0 to 47 do
|
||||
for j:=0 to 29 do
|
||||
frame[0,i,j]:=getpixel(i,j,vaddr);
|
||||
for i:=0 to 47 do
|
||||
for j:=0 to 29 do
|
||||
frame[1,i,j]:=getpixel(i,j+32,vaddr);
|
||||
for i:=0 to 47 do
|
||||
for j:=0 to 29 do
|
||||
frame[2,i,j]:=getpixel(i,j+64,vaddr);
|
||||
|
||||
end;
|
||||
|
||||
procedure background;
|
||||
begin
|
||||
cls(0,vaddr);
|
||||
drawstars(true);
|
||||
coolbox(0,0,319,199,false,vaddr);
|
||||
end;
|
||||
|
||||
procedure options;
|
||||
begin
|
||||
background;
|
||||
flip(vaddr,vga);
|
||||
outtextxy('AS OF YET THERE ARE NO OPTIONS!',10,10,15,9,0,vga,false);
|
||||
repeat until keypressed;
|
||||
ch:=readkey;
|
||||
end;
|
||||
|
||||
procedure loadgame;
|
||||
begin
|
||||
coolbox(90,75,230,125,true,vga);
|
||||
outtextxy('LOAD WHICH GAME',97,82,15,9,7,vga,false);
|
||||
outtextxy(' (0-9) ',97,90,15,9,7,vga,false);
|
||||
repeat until keypressed;
|
||||
level:=0;
|
||||
end;
|
||||
|
||||
procedure help;
|
||||
begin
|
||||
background;
|
||||
flip(vaddr,vga);
|
||||
outtextxy('HELP',10,10,15,9,0,vga,false);
|
||||
outtextxy('Press ESC to exit most stuff.',10,20,15,9,0,vga,false);
|
||||
outtextxy('Use the arrows to manuever.',10,30,15,9,0,vga,false);
|
||||
repeat until keypressed;
|
||||
ch:=readkey;
|
||||
end;
|
||||
|
||||
procedure story;
|
||||
var error:byte;
|
||||
xtemp,ytemp:integer;
|
||||
thrustcol:integer;
|
||||
thrust:real;
|
||||
tempch:char;
|
||||
procedure putbigflame(xp,yp,frame:integer);
|
||||
var xtemp,ytemp:integer;
|
||||
begin
|
||||
for xtemp:=0 to 26 do
|
||||
for ytemp:=0 to 18 do
|
||||
putpixel(xtemp+xp,ytemp+yp,bigflame[frame,xtemp,ytemp],vaddr);
|
||||
end;
|
||||
procedure putsmallflame(xp,yp,frame:integer);
|
||||
var xtemp,ytemp:integer;
|
||||
begin
|
||||
for xtemp:=0 to 3 do
|
||||
for ytemp:=0 to 4 do
|
||||
putpixel(xtemp+xp,ytemp+yp,smallflame[frame,xtemp,ytemp],vaddr);
|
||||
end;
|
||||
|
||||
procedure putbarge(xp,yp:integer;where:word);
|
||||
var xtemp,ytemp:integer;
|
||||
col:byte;
|
||||
begin
|
||||
for xtemp:=0 to 15 do
|
||||
for ytemp:=0 to 18 do begin
|
||||
if (ytemp+yp>=0) then begin
|
||||
col:=barge[xtemp,ytemp];
|
||||
if col<>0 then putpixel(xtemp+xp,ytemp+yp,col,where);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
procedure puttruck(xp,yp,frame:integer;where:word);
|
||||
var xtemp,ytemp:integer;
|
||||
col:byte;
|
||||
begin
|
||||
for xtemp:=0 to 5 do
|
||||
for ytemp:=0 to 8 do begin
|
||||
col:=truck[frame,xtemp,ytemp];
|
||||
if (ytemp+yp>=173) then begin
|
||||
if col<>0 then putpixel(xtemp+xp,ytemp+yp,col,where);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
fade;
|
||||
error:=loadpicsuperpacked(0,0,vaddr,'tbsobj.tb1');
|
||||
for xtemp:=0 to 26 do
|
||||
for ytemp:=0 to 18 do begin
|
||||
bigflame[0,xtemp,ytemp]:=getpixel(xtemp,ytemp+2,vaddr);
|
||||
bigflame[1,xtemp,ytemp]:=getpixel(xtemp,ytemp+21,vaddr);
|
||||
end;
|
||||
for xtemp:=0 to 3 do
|
||||
for ytemp:=0 to 4 do begin
|
||||
smallflame[0,xtemp,ytemp]:=getpixel(xtemp,ytemp+43,vaddr);
|
||||
smallflame[1,xtemp,ytemp]:=getpixel(xtemp,ytemp+47,vaddr);
|
||||
end;
|
||||
for xtemp:=0 to 15 do
|
||||
for ytemp:=0 to 18 do
|
||||
barge[xtemp,ytemp]:=getpixel(xtemp+65,ytemp+100,vaddr);
|
||||
for xtemp:=0 to 5 do
|
||||
for ytemp:=0 to 8 do begin
|
||||
truck[0,xtemp,ytemp]:=getpixel(xtemp+85,ytemp+100,vaddr);
|
||||
truck[1,xtemp,ytemp]:=getpixel(xtemp+95,ytemp+100,vaddr);
|
||||
end;
|
||||
{******FIRST MESSAGE*******}
|
||||
cls(0,vga);
|
||||
outtextxy('MOON BASE ALPHA:',5,5,15,9,0,vga,false);
|
||||
outtextxy(' THE FIRST PRIVATELY FINANCED SPACE ',5,15,15,9,0,vga,false);
|
||||
outtextxy(' VENTURE. FOUNDED IN 2004 BY PIONEER',5,25,15,9,0,vga,false);
|
||||
outtextxy(' VINCE WEAVER. IN ORDER TO SUPPORT',5,35,15,9,0,vga,false);
|
||||
outtextxy(' ITSELF, IT DISPOSED OF GARBAGE AND',5,45,15,9,0,vga,false);
|
||||
outtextxy(' NUCLEAR WASTE FROM EARTH BY LAUNCHING',5,55,15,9,0,vga,false);
|
||||
outtextxy(' IT INTO DEEP SPACE WITH BARGES. ',5,65,15,9,0,vga,false);
|
||||
outtextxy('NOW IT IS 2018, AND THE LAST BARGE IS',5,75,15,9,0,vga,false);
|
||||
outtextxy(' TO BE LAUNCHED. NOW ALL WORK THERE',5,85,15,9,0,vga,false);
|
||||
outtextxy(' WILL BE CONCENTRATED ON BUILDING A',5,95,15,9,0,vga,false);
|
||||
outtextxy(' TERRAN SPACE FLEET.',5,105,15,9,0,vga,false);
|
||||
unfade;
|
||||
repeat until keypressed; tempch:=readkey;
|
||||
pal(250,0,0,0);
|
||||
fade;
|
||||
{******BARGE TAKING OFF**********}
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,'tbma1.tb1');
|
||||
putbarge(141,157,vaddr2);
|
||||
flip(vaddr2,vaddr);
|
||||
flip(vaddr,vga);
|
||||
unfade;
|
||||
for ytemp:=191 downto 165 do begin
|
||||
screentrans(145,ytemp,vaddr,vaddr2);
|
||||
puttruck(145,ytemp,ytemp mod 2,vaddr);
|
||||
vdelay(7);
|
||||
flip(vaddr,vga);
|
||||
end;
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,'tbma1.tb1');
|
||||
vdelay(20);
|
||||
flip(vaddr2,vaddr);
|
||||
putbarge(141,157,vaddr);
|
||||
thrustcol:=0;
|
||||
ytemp:=157;
|
||||
thrust:=0;
|
||||
while ytemp>-25 do begin
|
||||
thrust:=thrust+0.05;
|
||||
if thrustcol<63 then inc(thrustcol);
|
||||
screentrans(141,ytemp,vaddr,vaddr2);
|
||||
putbarge(141,ytemp,vaddr);
|
||||
vdelay(7);
|
||||
pal(250,thrustcol,0,0);
|
||||
flip(vaddr,vga);
|
||||
ytemp:=ytemp-round(thrust);
|
||||
end;
|
||||
vdelay(100);
|
||||
fade;
|
||||
{******SECOND MESSAGE*******}
|
||||
cls(0,vga);
|
||||
outtextxy('5 YEARS LATER, 1 LIGHT YEAR DISTANT',5,5,15,9,0,vga,false);
|
||||
outtextxy(' CATASTROPHE STRIKES!! ',5,15,15,9,0,vga,false);
|
||||
unfade;
|
||||
vdelay(100);
|
||||
repeat until keypressed; tempch:=readkey;
|
||||
fade;
|
||||
{******ALIEN DELEGATION*****}
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,'tbcrash.tb1');
|
||||
flip(vaddr2,vaddr);
|
||||
unfade;
|
||||
repeat
|
||||
putbigflame(213,100,0);
|
||||
putsmallflame(105,90,1);
|
||||
putsmallflame(151,71,0);
|
||||
putsmallflame(218,72,1);
|
||||
putbarge(160,180,vaddr);
|
||||
flip(vaddr,vga);
|
||||
vdelay(5);
|
||||
putbigflame(213,100,1);
|
||||
putsmallflame(105,90,0);
|
||||
putsmallflame(151,71,1);
|
||||
putsmallflame(218,72,0);
|
||||
flip(vaddr,vga);
|
||||
vdelay(5);
|
||||
until keypressed;
|
||||
ch:=readkey;
|
||||
{****ALIEN MESSAGE*****}
|
||||
fade;
|
||||
error:=loadpicsuperpacked(0,0,vga,'tbgorg.tb1');
|
||||
unfade;
|
||||
outtextxy('GREETINGS EARTHLINGS.',0,162,15,12,0,vga,false);
|
||||
outtextxy('I AM GORGONZOLA THE REPULSIVE.',0,171,15,12,0,vga,false);
|
||||
outtextxy('YOU HAVE MADE A BIG MISTAKE.',0,180,15,12,0,vga,false);
|
||||
readln;
|
||||
end;
|
||||
|
||||
procedure credits;
|
||||
var j:integer;
|
||||
sp:integer;
|
||||
procedure rotate(stri:string;col:integer);
|
||||
var j1:integer;
|
||||
begin
|
||||
if sp=1 then begin
|
||||
for j1:=0 to 7 do begin
|
||||
outtextxy(stri,0,198,j1,col,0,vga,false);
|
||||
Move (mem[vga:320],mem[vga:0],63680);
|
||||
if keypressed then begin inc(sp); cls(0,vga); end;
|
||||
end;
|
||||
end;
|
||||
if sp<>1 then begin
|
||||
outtextxy(stri,0,180,15,col,0,vga,true);
|
||||
Move (mem[vga:3200],mem[vga:0],60800);
|
||||
end;
|
||||
|
||||
end;
|
||||
procedure skip; begin rotate(' ',0); end;
|
||||
begin
|
||||
sp:=1;
|
||||
cls(0,vaddr);
|
||||
flip(vaddr,vga);
|
||||
j:=0;
|
||||
if keypressed then ch:=readkey;
|
||||
rotate(' TOM BOMBEM',4);
|
||||
rotate(' INVASION OF THE INANIMATE OBJECTS',4);
|
||||
skip; rotate(' PROGRAMMING',9);
|
||||
skip; rotate(' VINCENT M WEAVER',9);
|
||||
skip; skip; rotate(' GRAPHICS',10);
|
||||
skip; rotate(' VINCENT M WEAVER',10);
|
||||
skip; skip; rotate(' SOUND',11);
|
||||
skip; rotate(' VINCENT M WEAVER',11);
|
||||
skip; skip; rotate(' GRAPHICS INSPIRATION',12);
|
||||
skip; rotate(' JEFF WARWICK',12);
|
||||
skip; skip; rotate(' UTOPIA BBS 410-557-0868',13);
|
||||
skip; rotate(' JOHN CLEMENS',13);
|
||||
skip; rotate(' JASON GRIMM',13);
|
||||
skip; skip; rotate(' PCGPE AUTHORS, esp',14);
|
||||
skip; rotate(' GRANT SMITH',14);
|
||||
skip; skip; rotate(' SOUND BLASTER INFO',15);
|
||||
skip; rotate(' AXEL STOLZ',15);
|
||||
skip; skip; rotate(' INSPIRATION',9);
|
||||
skip; rotate(' DOUGLAS ADAMS',9);
|
||||
skip; rotate(' GENE RODENBERRY',9);
|
||||
skip; rotate(' CLIFF STOLL',9);
|
||||
skip; rotate(' ARTHUR C CLARKE',9);
|
||||
skip; rotate(' ISAAC ASIMOV',9);
|
||||
skip; rotate(' GORDON KORMAN',9);
|
||||
skip; skip; rotate(' THANKS TO ALL THE AGENTS',10);
|
||||
skip; rotate(' B,D,JL,L,N,P,S,W,PM,E',10);
|
||||
skip; rotate(' AND ESPECIALLY AGENT G',10);
|
||||
i:=0;
|
||||
repeat
|
||||
move(mem[vaddr2:(i*320)],mem[vga:63680],320);
|
||||
Move (mem[vga:320],mem[vga:0],63680);
|
||||
inc(i);
|
||||
until (keypressed) or (i=299);
|
||||
if keypressed then ch:=readkey;
|
||||
end;
|
||||
|
||||
procedure shadowrite(st:string;x5,y5,forecol,backcol:integer);
|
||||
begin
|
||||
outtextxy(st,x5+1,y5+1,15,backcol,0,vga,false);
|
||||
outtextxy(st,x5,y5,15,forecol,0,vga,false);
|
||||
end;
|
||||
|
||||
procedure register;
|
||||
|
||||
var pagenum,oldpagenum,numpages:integer;
|
||||
pagest:string;
|
||||
numst:string[2];
|
||||
|
||||
procedure page1;
|
||||
begin
|
||||
flip(vaddr,vga);
|
||||
shadowrite(' TO REGISTER',10,10,9,1);
|
||||
shadowrite('THIS GAME WAS WRITTEN BY A 16 YEAR OLD',10,30,9,1);
|
||||
shadowrite(' ENTIRELY IN HIS FREE TIME.',10,40,9,1);
|
||||
shadowrite('HOPEFULLY YOU FEEL HIS FREE TIME IS',10,50,9,1);
|
||||
shadowrite(' WORTH SOMETHING.',10,60,9,1);
|
||||
shadowrite('WARNING:',10,80,12,4);
|
||||
shadowrite(' VMW SOFTWARE IS NOT AN INCORPORATED',10,90,12,4);
|
||||
shadowrite(' COMPANY, NOR DOES IT HAVE ANY INCOME',10,100,12,4);
|
||||
shadowrite(' EXCEPT DONATIONS. NONE OF ITS',10,110,12,4);
|
||||
shadowrite(' SYMBOLS ARE TRADEMARKED EITHER. (BUT',10,120,12,4);
|
||||
shadowrite(' I DOUBT YOU''LL NAME A COMPANY AFTER',10,130,12,4);
|
||||
shadowrite(' MY ININTIALS)',10,140,12,4);
|
||||
end;
|
||||
procedure page2;
|
||||
begin
|
||||
flip(vaddr,vga);
|
||||
shadowrite('PLEASE SEND ANY DONATIONS TO:',10,10,10,2);
|
||||
shadowrite(' VINCENT WEAVER',10,20,10,2);
|
||||
shadowrite(' 326 FOSTER KNOLL DR.',10,30,10,2);
|
||||
shadowrite(' JOPPA, MD 21085-4706, USA, ETC.',10,40,10,2);
|
||||
shadowrite('ANY DONATION OF $5 OR MORE GETS THE',10,60,13,5);
|
||||
shadowrite(' NEWEST VERSION OF THE GAME, PLUS',10,70,13,5);
|
||||
shadowrite(' ANY OTHER COOL PROGRAMS I HAVE AT',10,80,13,5);
|
||||
shadowrite(' THE TIME.',10,90,13,5);
|
||||
shadowrite('ALSO IF YOU SEND ME A SELF ADDRESSED',10,110,11,3);
|
||||
shadowrite(' STAMPED ENVELOPE WITH SUFFICIENT',10,120,11,3);
|
||||
shadowrite(' POSTAGE AND A 3 1/2 INCH DISK IN',10,130,11,3);
|
||||
shadowrite(' IT, I WILL COPY THE NEWEST VERSION',10,140,11,3);
|
||||
shadowrite(' OF THE GAME ONTO IT.',10,150,11,3);
|
||||
end;
|
||||
|
||||
procedure page3;
|
||||
begin
|
||||
flip(vaddr,vga);
|
||||
shadowrite('OTHER VMW SOFTWARE PRODUCTIONS:',10,10,15,7);
|
||||
shadowrite(' PAINTPRO:',10,30,13,5);
|
||||
shadowrite(' LOAD AND SAVE GRAPHICS PICTURES',10,40,13,5);
|
||||
shadowrite(' INTO C, PASCAL, BASIC, ETC.',10,50,13,5);
|
||||
shadowrite(' WITH SCREEN CAPTURE UTILITY.',10,60,13,5);
|
||||
shadowrite(' SPACEWAR III:',10,70,11,3);
|
||||
shadowrite(' ALMOST COMPLETE GAME WITH WORKING',10,80,11,3);
|
||||
shadowrite(' SPACESHIPS. SORT OF COOL.',10,90,11,3);
|
||||
shadowrite(' AITAS: (ADVENTURES IN TIME AND SPACE)',10,100,12,4);
|
||||
shadowrite(' THIS GAME WILL BE FINISHED SOMEDAY.',10,110,12,4);
|
||||
shadowrite(' IT HAS BEEN UNDER WAY FOR 3 YEARS.',10,120,12,4);
|
||||
shadowrite(' MISC PASCAL/BASIC PROGRAMS:',10,130,9,1);
|
||||
shadowrite(' OVER 500 PROGRAMS WRITTEN OR TYPED',10,140,9,1);
|
||||
shadowrite(' IN BY ME....FUN TO LOOK AT.',10,150,9,1);
|
||||
end;
|
||||
|
||||
procedure page4;
|
||||
begin
|
||||
flip(vaddr,vga);
|
||||
shadowrite('DISCLAIMERS:',10,10,12,14);
|
||||
shadowrite('** THE ABOVE PROGRAMS HAVE NEVER DONE**',5,30,12,4);
|
||||
shadowrite('** ANYTHING BAD TO MY COMPUTER THAT **',5,40,12,4);
|
||||
shadowrite('** CTRL-ALT-DEL WOULDN''T FIX. I AM **',5,50,12,4);
|
||||
shadowrite('** NOT RESPONSIBLE FOR HARD DISK **',5,60,12,4);
|
||||
shadowrite('** DISSAPPEARANCES, MISSING MODEMS **',5,70,12,4);
|
||||
shadowrite('** MOUSE BREAKDOWNS, MELTING MONITORS**',5,80,12,4);
|
||||
SHADOWRITE('** OR ANYTHING ELSE. **',5,90,12,4);
|
||||
shadowrite('%% ALL VMW SOFTWARE PRODUCTIONS ARE %%',5,110,11,3);
|
||||
shadowrite('%% CERTIFIED VIRUS FREE!!!!!!!!!!!! %%',5,120,11,3);
|
||||
end;
|
||||
|
||||
begin
|
||||
background;
|
||||
pagenum:=1;
|
||||
oldpagenum:=1;
|
||||
numpages:=4;
|
||||
page1;
|
||||
shadowrite('PAGE 1 of 4: ESC QUITS',50,180,15,7);
|
||||
repeat
|
||||
ch:=menuread;
|
||||
if (ch=' ') or (ch=#13) then inc(pagenum);
|
||||
if (ch='õ') or (ch='Þ') or (ch='Ü') then inc(pagenum);
|
||||
if (ch='ô') or (ch='Ý') or (ch='ß') then dec(pagenum);
|
||||
if pagenum>4 then pagenum:=1;
|
||||
if pagenum<1 then pagenum:=4;
|
||||
if oldpagenum<>pagenum then begin
|
||||
if pagenum=1 then page1;
|
||||
if pagenum=2 then page2;
|
||||
if pagenum=3 then page3;
|
||||
if pagenum=4 then page4;
|
||||
str(pagenum:2,numst);
|
||||
pagest:=concat('PAGE ',numst);
|
||||
str(numpages:2,numst);
|
||||
pagest:=concat(pagest,' of ',numst,': ESC QUITS');
|
||||
shadowrite(pagest,50,180,15,7);
|
||||
oldpagenum:=pagenum;
|
||||
end;
|
||||
until ch=#27;
|
||||
end;
|
||||
|
||||
|
||||
label picloader,menu;
|
||||
|
||||
begin
|
||||
axel_und_carmen:=true; {as_of_9-22-94} {change_back_10-6-94}
|
||||
randomize;
|
||||
setupvirtual;
|
||||
fade;
|
||||
setmcga;
|
||||
dographics;
|
||||
energy:=15;
|
||||
lives:=2;
|
||||
score:=0;
|
||||
level:=0;
|
||||
for x:=0 to 40 do begin
|
||||
pal(100+x,x+20,0,0);
|
||||
pal(141+x,0,0,x+20);
|
||||
pal(182+x,0,x+20,0);
|
||||
end;
|
||||
fade;
|
||||
modinit;
|
||||
dev:=7;
|
||||
md:='vmwfan.tb1';
|
||||
mix := 10000; {use 10000 normally }
|
||||
pro := 0; {Leave at 0}
|
||||
loop :=0; {4 means mod will play forever}
|
||||
modvolume (255,255,255,255); { Full volume }
|
||||
modsetup ( stat, dev, mix, pro, loop, md );
|
||||
case stat of
|
||||
1: writeln('Not a mod');
|
||||
2: writeln('Already playing');
|
||||
4: writeln('Out of memory');
|
||||
end;
|
||||
for x:=0 to 40 do begin
|
||||
line(x+40,45,x+40,45+(2*x),100+x,vga);
|
||||
line(x+120,45,x+120,45+(2*x),141+x,vga);
|
||||
line(x+200,45,x+200,45+(2*x),141+x,vga);
|
||||
line(x+80,125,x+80,125-(2*x),182+x,vga);
|
||||
line(x+160,125,x+160,125-(2*x),182+x,vga);
|
||||
end;
|
||||
for x:=40 downto 0 do begin
|
||||
line(x+80,45,x+80,125-(2*x),140-x,vga);
|
||||
line(x+160,45,x+160,125-(2*x),181-x,vga);
|
||||
line(x+240,45,x+240,125-(2*x),181-x,vga);
|
||||
line(x+120,125,x+120,45+(2*x),222-x,vga);
|
||||
line(x+200,125,x+200,45+(2*x),222-x,vga);
|
||||
end;
|
||||
unfade;
|
||||
|
||||
outtextxy('A VMW SOFTWARE PRODUCTION',60,140,15,15,15,VGA,false);
|
||||
y:=0;
|
||||
repeat until keypressed;
|
||||
ch:=readkey;
|
||||
modstop;
|
||||
fade;
|
||||
cls(0,vga);
|
||||
assign(palf,'pal.tb1');
|
||||
reset(palf);
|
||||
for i:=0 to 255 do begin
|
||||
for j:=1 to 3 do readln(palf,temp[j]);
|
||||
pal(i,temp[1],temp[2],temp[3]);
|
||||
end;
|
||||
close(palf);
|
||||
fade;
|
||||
|
||||
PICLOADER:
|
||||
grapherror:=loadpicsuperpacked(0,0,vaddr2,'tbomb1.tb1');
|
||||
if not(axel_und_carmen) then begin
|
||||
for tempi:=193 to 199 do
|
||||
for tempj:=290 to 319 do
|
||||
putpixel(tempj,tempi,0,vaddr2);
|
||||
end;
|
||||
MENU:
|
||||
modinit;
|
||||
dev:=7;
|
||||
md:='weave1.tb1';
|
||||
mix := 10000; {use 10000 normally }
|
||||
pro := 0; {Leave at 0}
|
||||
loop :=0; {4 means mod will play forever}
|
||||
modvolume (255,255,255,255); { Full volume }
|
||||
modsetup ( stat, dev, mix, pro, loop, md );
|
||||
case stat of
|
||||
1: writeln('Not a mod');
|
||||
2: writeln('Already playing');
|
||||
4: writeln('Out of memory');
|
||||
end;
|
||||
flip(vaddr2,vga);
|
||||
unfade;
|
||||
repeat until keypressed;
|
||||
ch:=readkey;
|
||||
barpos:=0;
|
||||
outtextxy('F1 HELP',0,190,15,9,7,vga,false);
|
||||
coolbox(117,61,199,140,true,vga);
|
||||
repeat
|
||||
if barpos=0 then outtextxy('NEW GAME',123,67,15,32,0,vga,true)
|
||||
else outtextxy('NEW GAME',123,67,15,32,7,vga,true);
|
||||
if barpos=1 then outtextxy('OPTIONS',123,77,15,32,0,vga,true)
|
||||
else outtextxy('OPTIONS',123,77,15,32,7,vga,true);
|
||||
if barpos=2 then outtextxy('REGISTER',123,87,15,32,0,vga,true)
|
||||
else outtextxy('REGISTER',123,87,15,32,7,vga,true);
|
||||
if barpos=3 then outtextxy('LOAD GAME',123,97,15,32,0,vga,true)
|
||||
else outtextxy('LOAD GAME',123,97,15,32,7,vga,true);
|
||||
if barpos=4 then outtextxy('STORY',123,107,15,32,0,vga,true)
|
||||
else outtextxy('STORY',123,107,15,32,7,vga,true);
|
||||
if barpos=5 then outtextxy('CREDITS',123,117,15,32,0,vga,true)
|
||||
else outtextxy('CREDITS',123,117,15,32,7,vga,true);
|
||||
if barpos=6 then outtextxy('QUIT',123,127,15,32,0,vga,true)
|
||||
else outtextxy('QUIT',123,127,15,32,7,vga,true);
|
||||
|
||||
ch:=menuread;
|
||||
if (ord(ch)=222) or (ord(ch)=220) then inc(barpos);
|
||||
if (ord(ch)=223) or (ord(ch)=221) then dec(barpos);
|
||||
if (ord(ch)=168) then begin barpos:=10; ch:=#13; end;
|
||||
if ch='N' then barpos:=0;
|
||||
if ch='O' then barpos:=1;
|
||||
if ch='R' then barpos:=2;
|
||||
if ch='L' then barpos:=3;
|
||||
if ch='S' then barpos:=4;
|
||||
if ch='C' then barpos:=5;
|
||||
if ch='Q' then barpos:=6;
|
||||
if ch='A' then axel_und_carmen:=not(axel_und_carmen);
|
||||
if ch=#27 then begin
|
||||
barpos:=6;
|
||||
ch:=#13;
|
||||
end;
|
||||
if barpos=7 then barpos:=0;
|
||||
if barpos=-1 then barpos:=6;
|
||||
until ch=#13;
|
||||
modstop;
|
||||
if barpos=6 then quit;
|
||||
if barpos=1 then options;
|
||||
if barpos=2 then register;
|
||||
if barpos=3 then loadgame;
|
||||
if barpos=4 then story;
|
||||
if barpos=5 then credits;
|
||||
if barpos=10 then help;
|
||||
if barpos=0 then playthegame(0);
|
||||
if barpos=0 then goto picloader;
|
||||
if barpos=4 then goto picloader;
|
||||
goto menu;
|
||||
|
||||
end.
|
Loading…
x
Reference in New Issue
Block a user