mirror of
https://github.com/deater/tb1.git
synced 2024-06-06 14:29:37 +00:00
Move files in preparation for C version
This commit is contained in:
parent
b153d8285b
commit
6d72b8cbfd
|
@ -1,5 +0,0 @@
|
|||
1
|
||||
1
|
||||
544
|
||||
7
|
||||
1
|
12
file_id.diz
12
file_id.diz
|
@ -1,12 +0,0 @@
|
|||
TOM BOMBEM 2.4a: Invasion Of The Inanimate Objects
|
||||
Outer Space action game full of galactic intrigue!
|
||||
Blow up incoming inanimate objects!
|
||||
Fly low over a hostile spacecraft!
|
||||
Beat the game! What fun!
|
||||
By Vince Weaver
|
||||
Internet: vmweaver@wam.umd.edu
|
||||
Hate Mail: askbill@microsoft.com
|
||||
|
||||
|
||||
|
||||
|
20
hiscore.tb1
20
hiscore.tb1
|
@ -1,20 +0,0 @@
|
|||
Tom Bombem
|
||||
VINCE
|
||||
Vince
|
||||
STEVE
|
||||
aViince
|
||||
|
||||
|
||||
HAIROLD
|
||||
|
||||
vinc
|
||||
1500
|
||||
1300
|
||||
1120
|
||||
1000
|
||||
930
|
||||
890
|
||||
810
|
||||
800
|
||||
760
|
||||
740
|
768
pal.tb1
768
pal.tb1
|
@ -1,768 +0,0 @@
|
|||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
42
|
||||
0
|
||||
42
|
||||
0
|
||||
0
|
||||
42
|
||||
42
|
||||
42
|
||||
0
|
||||
0
|
||||
42
|
||||
0
|
||||
42
|
||||
42
|
||||
21
|
||||
0
|
||||
42
|
||||
42
|
||||
42
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
21
|
||||
63
|
||||
21
|
||||
63
|
||||
21
|
||||
21
|
||||
63
|
||||
63
|
||||
63
|
||||
21
|
||||
21
|
||||
63
|
||||
21
|
||||
63
|
||||
63
|
||||
63
|
||||
21
|
||||
63
|
||||
63
|
||||
63
|
||||
59
|
||||
59
|
||||
59
|
||||
55
|
||||
55
|
||||
55
|
||||
52
|
||||
52
|
||||
52
|
||||
48
|
||||
48
|
||||
48
|
||||
45
|
||||
45
|
||||
45
|
||||
42
|
||||
42
|
||||
42
|
||||
38
|
||||
38
|
||||
38
|
||||
35
|
||||
35
|
||||
35
|
||||
31
|
||||
31
|
||||
31
|
||||
28
|
||||
28
|
||||
28
|
||||
25
|
||||
25
|
||||
25
|
||||
21
|
||||
21
|
||||
21
|
||||
18
|
||||
18
|
||||
18
|
||||
14
|
||||
14
|
||||
14
|
||||
11
|
||||
11
|
||||
11
|
||||
8
|
||||
8
|
||||
8
|
||||
63
|
||||
0
|
||||
0
|
||||
59
|
||||
0
|
||||
0
|
||||
56
|
||||
0
|
||||
0
|
||||
53
|
||||
0
|
||||
0
|
||||
50
|
||||
0
|
||||
0
|
||||
47
|
||||
0
|
||||
0
|
||||
44
|
||||
0
|
||||
0
|
||||
41
|
||||
0
|
||||
0
|
||||
38
|
||||
0
|
||||
0
|
||||
34
|
||||
0
|
||||
0
|
||||
31
|
||||
0
|
||||
0
|
||||
28
|
||||
0
|
||||
0
|
||||
25
|
||||
0
|
||||
0
|
||||
22
|
||||
0
|
||||
0
|
||||
19
|
||||
0
|
||||
0
|
||||
16
|
||||
0
|
||||
0
|
||||
63
|
||||
54
|
||||
54
|
||||
63
|
||||
46
|
||||
46
|
||||
63
|
||||
39
|
||||
39
|
||||
63
|
||||
31
|
||||
31
|
||||
63
|
||||
23
|
||||
23
|
||||
63
|
||||
16
|
||||
16
|
||||
63
|
||||
8
|
||||
8
|
||||
63
|
||||
0
|
||||
0
|
||||
63
|
||||
42
|
||||
23
|
||||
63
|
||||
38
|
||||
16
|
||||
63
|
||||
34
|
||||
8
|
||||
63
|
||||
30
|
||||
0
|
||||
57
|
||||
27
|
||||
0
|
||||
51
|
||||
24
|
||||
0
|
||||
45
|
||||
21
|
||||
0
|
||||
39
|
||||
19
|
||||
0
|
||||
63
|
||||
63
|
||||
54
|
||||
63
|
||||
63
|
||||
46
|
||||
63
|
||||
63
|
||||
39
|
||||
63
|
||||
63
|
||||
31
|
||||
63
|
||||
62
|
||||
23
|
||||
63
|
||||
61
|
||||
16
|
||||
63
|
||||
61
|
||||
8
|
||||
63
|
||||
61
|
||||
0
|
||||
57
|
||||
54
|
||||
0
|
||||
51
|
||||
49
|
||||
0
|
||||
45
|
||||
43
|
||||
0
|
||||
39
|
||||
39
|
||||
0
|
||||
33
|
||||
33
|
||||
0
|
||||
28
|
||||
27
|
||||
0
|
||||
22
|
||||
21
|
||||
0
|
||||
16
|
||||
16
|
||||
0
|
||||
52
|
||||
63
|
||||
23
|
||||
49
|
||||
63
|
||||
16
|
||||
45
|
||||
63
|
||||
8
|
||||
40
|
||||
63
|
||||
0
|
||||
36
|
||||
57
|
||||
0
|
||||
32
|
||||
51
|
||||
0
|
||||
29
|
||||
45
|
||||
0
|
||||
24
|
||||
39
|
||||
0
|
||||
54
|
||||
63
|
||||
54
|
||||
47
|
||||
63
|
||||
46
|
||||
39
|
||||
63
|
||||
39
|
||||
32
|
||||
63
|
||||
31
|
||||
24
|
||||
63
|
||||
23
|
||||
16
|
||||
63
|
||||
16
|
||||
8
|
||||
63
|
||||
8
|
||||
0
|
||||
63
|
||||
0
|
||||
0
|
||||
63
|
||||
0
|
||||
0
|
||||
59
|
||||
0
|
||||
0
|
||||
56
|
||||
0
|
||||
0
|
||||
53
|
||||
0
|
||||
1
|
||||
50
|
||||
0
|
||||
1
|
||||
47
|
||||
0
|
||||
1
|
||||
44
|
||||
0
|
||||
1
|
||||
41
|
||||
0
|
||||
1
|
||||
38
|
||||
0
|
||||
1
|
||||
34
|
||||
0
|
||||
1
|
||||
31
|
||||
0
|
||||
1
|
||||
28
|
||||
0
|
||||
1
|
||||
25
|
||||
0
|
||||
1
|
||||
22
|
||||
0
|
||||
1
|
||||
19
|
||||
0
|
||||
1
|
||||
16
|
||||
0
|
||||
54
|
||||
63
|
||||
63
|
||||
46
|
||||
63
|
||||
63
|
||||
39
|
||||
63
|
||||
63
|
||||
31
|
||||
63
|
||||
62
|
||||
23
|
||||
63
|
||||
63
|
||||
16
|
||||
63
|
||||
63
|
||||
8
|
||||
63
|
||||
63
|
||||
0
|
||||
63
|
||||
63
|
||||
0
|
||||
57
|
||||
57
|
||||
0
|
||||
51
|
||||
51
|
||||
0
|
||||
45
|
||||
45
|
||||
0
|
||||
39
|
||||
39
|
||||
0
|
||||
33
|
||||
33
|
||||
0
|
||||
28
|
||||
28
|
||||
0
|
||||
22
|
||||
22
|
||||
0
|
||||
16
|
||||
16
|
||||
23
|
||||
47
|
||||
63
|
||||
16
|
||||
44
|
||||
63
|
||||
8
|
||||
42
|
||||
63
|
||||
0
|
||||
39
|
||||
63
|
||||
0
|
||||
35
|
||||
57
|
||||
0
|
||||
31
|
||||
51
|
||||
0
|
||||
27
|
||||
45
|
||||
0
|
||||
23
|
||||
39
|
||||
54
|
||||
54
|
||||
63
|
||||
46
|
||||
47
|
||||
63
|
||||
39
|
||||
39
|
||||
63
|
||||
31
|
||||
32
|
||||
63
|
||||
23
|
||||
24
|
||||
63
|
||||
16
|
||||
16
|
||||
63
|
||||
8
|
||||
9
|
||||
63
|
||||
0
|
||||
1
|
||||
63
|
||||
0
|
||||
0
|
||||
63
|
||||
0
|
||||
0
|
||||
59
|
||||
0
|
||||
0
|
||||
56
|
||||
0
|
||||
0
|
||||
53
|
||||
0
|
||||
0
|
||||
50
|
||||
0
|
||||
0
|
||||
47
|
||||
0
|
||||
0
|
||||
44
|
||||
0
|
||||
0
|
||||
41
|
||||
0
|
||||
0
|
||||
38
|
||||
0
|
||||
0
|
||||
34
|
||||
0
|
||||
0
|
||||
31
|
||||
0
|
||||
0
|
||||
28
|
||||
0
|
||||
0
|
||||
25
|
||||
0
|
||||
0
|
||||
22
|
||||
0
|
||||
0
|
||||
19
|
||||
0
|
||||
0
|
||||
16
|
||||
60
|
||||
54
|
||||
63
|
||||
57
|
||||
46
|
||||
63
|
||||
54
|
||||
39
|
||||
63
|
||||
52
|
||||
31
|
||||
63
|
||||
50
|
||||
23
|
||||
63
|
||||
47
|
||||
16
|
||||
63
|
||||
45
|
||||
8
|
||||
63
|
||||
42
|
||||
0
|
||||
63
|
||||
38
|
||||
0
|
||||
57
|
||||
32
|
||||
0
|
||||
51
|
||||
29
|
||||
0
|
||||
45
|
||||
24
|
||||
0
|
||||
39
|
||||
20
|
||||
0
|
||||
33
|
||||
17
|
||||
0
|
||||
28
|
||||
13
|
||||
0
|
||||
22
|
||||
10
|
||||
0
|
||||
16
|
||||
63
|
||||
54
|
||||
63
|
||||
63
|
||||
46
|
||||
63
|
||||
63
|
||||
39
|
||||
63
|
||||
63
|
||||
31
|
||||
63
|
||||
63
|
||||
23
|
||||
63
|
||||
63
|
||||
16
|
||||
63
|
||||
63
|
||||
8
|
||||
63
|
||||
63
|
||||
0
|
||||
63
|
||||
56
|
||||
0
|
||||
57
|
||||
50
|
||||
0
|
||||
51
|
||||
45
|
||||
0
|
||||
45
|
||||
39
|
||||
0
|
||||
39
|
||||
33
|
||||
0
|
||||
33
|
||||
27
|
||||
0
|
||||
28
|
||||
22
|
||||
0
|
||||
22
|
||||
16
|
||||
0
|
||||
16
|
||||
63
|
||||
58
|
||||
55
|
||||
63
|
||||
56
|
||||
52
|
||||
63
|
||||
54
|
||||
49
|
||||
63
|
||||
53
|
||||
47
|
||||
63
|
||||
51
|
||||
44
|
||||
63
|
||||
49
|
||||
41
|
||||
63
|
||||
47
|
||||
39
|
||||
63
|
||||
46
|
||||
36
|
||||
63
|
||||
44
|
||||
32
|
||||
63
|
||||
41
|
||||
28
|
||||
63
|
||||
39
|
||||
24
|
||||
60
|
||||
37
|
||||
23
|
||||
58
|
||||
35
|
||||
22
|
||||
55
|
||||
34
|
||||
21
|
||||
52
|
||||
32
|
||||
20
|
||||
50
|
||||
31
|
||||
19
|
||||
47
|
||||
30
|
||||
18
|
||||
45
|
||||
28
|
||||
17
|
||||
42
|
||||
26
|
||||
16
|
||||
40
|
||||
25
|
||||
15
|
||||
39
|
||||
24
|
||||
14
|
||||
36
|
||||
23
|
||||
13
|
||||
34
|
||||
22
|
||||
12
|
||||
32
|
||||
20
|
||||
11
|
||||
29
|
||||
19
|
||||
10
|
||||
27
|
||||
18
|
||||
9
|
||||
23
|
||||
16
|
||||
8
|
||||
21
|
||||
15
|
||||
7
|
||||
18
|
||||
14
|
||||
6
|
||||
16
|
||||
12
|
||||
6
|
||||
14
|
||||
11
|
||||
5
|
||||
10
|
||||
8
|
||||
3
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
49
|
||||
10
|
||||
10
|
||||
49
|
||||
19
|
||||
10
|
||||
49
|
||||
29
|
||||
10
|
||||
49
|
||||
39
|
||||
10
|
||||
49
|
||||
49
|
||||
10
|
||||
39
|
||||
49
|
||||
10
|
||||
29
|
||||
49
|
||||
10
|
||||
19
|
||||
49
|
||||
10
|
||||
10
|
||||
49
|
||||
12
|
||||
10
|
||||
49
|
||||
23
|
||||
10
|
||||
49
|
||||
34
|
||||
10
|
||||
49
|
||||
45
|
||||
10
|
||||
42
|
||||
49
|
||||
10
|
||||
31
|
||||
49
|
||||
10
|
||||
20
|
||||
49
|
||||
11
|
||||
10
|
||||
49
|
||||
22
|
||||
10
|
||||
49
|
||||
33
|
||||
10
|
||||
49
|
||||
44
|
||||
10
|
||||
49
|
||||
49
|
||||
10
|
||||
43
|
||||
49
|
||||
10
|
||||
32
|
||||
49
|
||||
10
|
||||
21
|
||||
49
|
||||
10
|
||||
10
|
||||
63
|
||||
63
|
||||
63
|
BIN
ships1.tb1
BIN
ships1.tb1
Binary file not shown.
BIN
sounds.tb1
BIN
sounds.tb1
Binary file not shown.
661
story.pas
661
story.pas
|
@ -1,661 +0,0 @@
|
|||
program story_from_tom_bombem;
|
||||
uses nvmwgraph,crt;
|
||||
|
||||
|
||||
{$G+}
|
||||
|
||||
const
|
||||
{Shape Table Values For Story}
|
||||
bargeoff = 0;
|
||||
bigflame1off = 290;
|
||||
bigflame2off = 780;
|
||||
sflame2off = 1270;
|
||||
sflame1off = 1290;
|
||||
truck1off = 1310;
|
||||
truck2off = 1370;
|
||||
explo1off = 1430;
|
||||
explo2off = 1730;
|
||||
rent1off = 2030;
|
||||
{Shape Table Values for Game}
|
||||
shape1off = 8000;
|
||||
shape2off = 8400;
|
||||
shape3off = 8800;
|
||||
shape4off = 9200;
|
||||
shape5off = 9600;
|
||||
shape6off = 10000;
|
||||
shape7off = 10400;
|
||||
shape8off = 10800;
|
||||
shape9off = 11200;
|
||||
shape10off = 11600;
|
||||
shape11off = 12000;
|
||||
shape12off = 12400;
|
||||
shape13off = 12800;
|
||||
shape14off = 13200;
|
||||
shape15off = 13600;
|
||||
shape16off = 14000;
|
||||
shape17off = 14400;
|
||||
shape18off = 14800;
|
||||
shape19off = 15200;
|
||||
shape20off = 15600;
|
||||
bigship1off = 0;
|
||||
bigship2off = 1600;
|
||||
bigship3off = 3200;
|
||||
shapearray :
|
||||
array [1..20] of word =(8000,8400,8800,9200,
|
||||
9600,10000,10400,10800,
|
||||
11200,11600,12000,12400,
|
||||
12800,13200,13600,14000,
|
||||
14400,14800,15200,15600);
|
||||
|
||||
|
||||
type ScreenType = array [0..3999] of byte; {For Ansi Loading}
|
||||
|
||||
ShipInfo = Record
|
||||
x,y:integer;
|
||||
speed,frame:integer;
|
||||
active:boolean;
|
||||
END;
|
||||
|
||||
EnemyInfo = record
|
||||
x,y,oldx,oldy:integer;
|
||||
kind:byte;
|
||||
out,exploding:boolean;
|
||||
explodprogress:byte;
|
||||
minx,maxx,xspeed,yspeed:integer;
|
||||
end;
|
||||
|
||||
Virtual = Array [1..64000] of byte; { The size of our Virtual Screen }
|
||||
VirtPtr = ^Virtual; { Pointer to the virtual screen }
|
||||
|
||||
ShapeTable = Array [0..16000] of byte;
|
||||
ShapePtr = ^ShapeTable;
|
||||
|
||||
var ho,mi,se,s100:word;
|
||||
tempsec:integer;
|
||||
flames:boolean;
|
||||
error:byte;
|
||||
dev,mix,stat,pro,loop : integer;
|
||||
md : string;
|
||||
|
||||
VAR Virscr : VirtPtr; { Our first Virtual screen }
|
||||
ShapeTable1:ShapePtr;
|
||||
num:byte;
|
||||
VirScr2 : VirtPtr; { Our second Virtual screen }
|
||||
Vaddr : word; { The segment of our virtual screen}
|
||||
Vaddr2 : Word; { The segment of our 2nd virt. screen}
|
||||
ShapeAddr:word; { The segment of the shape table}
|
||||
ShapeOfs:word;
|
||||
ourpal : Array [0..255,1..3] of byte; { A virtual pallette }
|
||||
shipv : Array [1..1] of shipinfo; { The toaster info }
|
||||
enemy:array[0..5] of enemyinfo;
|
||||
Soundp : Pointer;
|
||||
Check : BOOLEAN;
|
||||
|
||||
hiscore,level,lives,energy:integer;
|
||||
score:longint;
|
||||
axel_und_carmen:boolean;
|
||||
tempi,tempj:integer;
|
||||
scorest:string[8];
|
||||
musicon:boolean;
|
||||
lowscore:integer;
|
||||
it,hiname:string[10];
|
||||
|
||||
var grapherror:byte;
|
||||
temp:array[1..3] of byte;
|
||||
i,j:byte;
|
||||
x,y,barpos:integer;
|
||||
screen:screentype absolute $B800:0000;
|
||||
ch:char;
|
||||
|
||||
|
||||
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^);
|
||||
GetMem (ShapeTable1,16000);
|
||||
shapeaddr:= seg (ShapeTable1^);
|
||||
shapeofs:=ofs (ShapeTable1^);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
procedure putshape(shapeoffset,towhere,xacross,yacross,xx,yy:word);
|
||||
label bob,bob4,bob2,bob3;
|
||||
begin
|
||||
asm
|
||||
{saves registers}
|
||||
|
||||
push ds
|
||||
mov ax,[yy] {multiplies y value by 320}
|
||||
shl ax,5
|
||||
mov cx,ax
|
||||
shl ax,1
|
||||
shl cx,3
|
||||
add ax,cx
|
||||
add ax,[xx] {adds the x-value to get offset}
|
||||
mov di,ax
|
||||
mov bx,320
|
||||
sub bx,[xacross] {xacross?}
|
||||
push bx
|
||||
mov bx,[yacross]
|
||||
xor dx,dx
|
||||
mov ax,[shapeaddr] {moves segment of array}
|
||||
mov ds,ax
|
||||
mov ax,[shapeoffset] {moves offsett if array}
|
||||
{add ax,[shapeofs]}
|
||||
mov si,ax
|
||||
mov ax,[towhere] {loads place to move it}
|
||||
mov es,ax
|
||||
xor ax,ax
|
||||
xor cx,cx
|
||||
xor dx,dx
|
||||
bob:
|
||||
mov cx,[xacross] {how long to loop across (the x-size of array)}
|
||||
bob4:
|
||||
xor ah,ah
|
||||
lodsb
|
||||
cmp ax,0 {If zero skip, if not, store value}
|
||||
jz bob2
|
||||
stosb
|
||||
dec di
|
||||
bob2: {Adds when x-value must be increased}
|
||||
inc di
|
||||
loop bob4
|
||||
cmp dx,bx
|
||||
jz bob3
|
||||
xor cx,cx
|
||||
pop ax
|
||||
add di,ax
|
||||
push ax
|
||||
inc dx
|
||||
jmp bob
|
||||
bob3:
|
||||
pop bx {restore variables}
|
||||
pop ds
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure putshapeline(fromwhereo,towhere,xacross,yacross,xx,yy,line:word);
|
||||
var int,color:integer;
|
||||
{draws just one line of a shape with same syntax as putshape}
|
||||
begin
|
||||
for int:=0 to xacross do begin
|
||||
{does not work. stack overflow}
|
||||
(*asm
|
||||
push ax
|
||||
push bx
|
||||
push cx
|
||||
mov ax,[line] {multiplies y value by 320}
|
||||
mul [xacross]
|
||||
add ax,[int]
|
||||
mov bx,ax
|
||||
mov ax,[ShapeAddr] {moves segment of array}
|
||||
mov ds,ax
|
||||
{mov ax,[ShapeOfs]} {moves offset of array}
|
||||
mov ax,[fromwhereo]
|
||||
add ax,bx
|
||||
mov si,ax
|
||||
xor ax,ax
|
||||
lodsb
|
||||
mov [color],ax
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
end;*)
|
||||
color:=ShapeTable1^[fromwhereo+((xacross*line)+int)];
|
||||
if color<>0 then putpixel(xx+int,yy+line,color,towhere);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure putshapeover(fromwhereo,towhere,xacross,yacross,xx,yy:word);
|
||||
label bbob,bbob4,bbob2,bbob3;
|
||||
begin
|
||||
asm
|
||||
{saves registers}
|
||||
|
||||
|
||||
push ds
|
||||
mov ax,[yy] {multiplies y value by 320}
|
||||
shl ax,5
|
||||
mov cx,ax
|
||||
shl ax,1
|
||||
shl cx,3
|
||||
add ax,cx
|
||||
add ax,[xx] {adds the x-value to get offset}
|
||||
mov di,ax
|
||||
mov bx,320
|
||||
sub bx,[xacross] {xacross?}
|
||||
push bx
|
||||
mov bx,[yacross]
|
||||
xor dx,dx
|
||||
mov ax,[shapeaddr] {moves segment of array}
|
||||
mov ds,ax
|
||||
(*add ax,[shapeofs] *) {moves offsett if array}
|
||||
mov ax,[fromwhereo]
|
||||
mov si,ax
|
||||
mov ax,[towhere] {loads place to move it}
|
||||
mov es,ax
|
||||
xor ax,ax
|
||||
xor cx,cx
|
||||
xor dx,dx
|
||||
bbob:
|
||||
mov cx,[xacross] {how long to loop across (the x-size of array)}
|
||||
bbob4:
|
||||
rep movsb {copies, overwriting}
|
||||
bbob2: {Adds when x-value must be increased}
|
||||
cmp dx,bx
|
||||
jz bbob3
|
||||
xor cx,cx
|
||||
pop ax
|
||||
add di,ax
|
||||
push ax
|
||||
inc dx
|
||||
jmp bbob
|
||||
bbob3:
|
||||
pop bx {restore variables}
|
||||
pop ds
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
Procedure blockmove(x1,y1,x2,y2,p1,x3,y3,p2:word);
|
||||
{ This is a small procedure to copy block x1,y1,x2,y2,
|
||||
from page 1 to x3,y3 on page 2}
|
||||
BEGIN
|
||||
asm
|
||||
push ds
|
||||
push es
|
||||
mov ax,p1
|
||||
mov ds,ax
|
||||
mov ax,p2
|
||||
mov es,ax
|
||||
|
||||
mov bx,[X1]
|
||||
mov dx,[Y1]
|
||||
push bx {; and this again for later}
|
||||
mov bx, dx {; bx = dx}
|
||||
mov dh, dl {; dx = dx * 256}
|
||||
xor dl, dl
|
||||
shl bx, 6 {; bx = bx * 64}
|
||||
add dx, bx {; dx = dx + bx (ie y*320)}
|
||||
pop bx {; get back our x}
|
||||
add bx, dx {; finalise location}
|
||||
mov si, bx {; es:di = where to go}
|
||||
|
||||
mov bx,[X3]
|
||||
mov dx,[Y3]
|
||||
push bx {; and this again for later}
|
||||
mov bx, dx {; bx = dx}
|
||||
mov dh, dl {; dx = dx * 256}
|
||||
xor dl, dl
|
||||
shl bx, 6 {; 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 ax,[y2]
|
||||
sub ax,[y1]
|
||||
|
||||
mov dx,[x2]
|
||||
sub dx,[x1]
|
||||
mov bx,320
|
||||
sub bx,dx
|
||||
|
||||
|
||||
@@1 :
|
||||
mov cx, dx { Width of block to copy divided by 2 }
|
||||
rep movsb
|
||||
add di,bx { 320 - 48 = 272 .. or 110 in hex }
|
||||
add si,bx
|
||||
dec ax
|
||||
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 story;
|
||||
var error:byte;
|
||||
xtemp,ytemp:integer;
|
||||
thrustcol:integer;
|
||||
thrust:real;
|
||||
tempch:char;
|
||||
alienchar:byte;
|
||||
cycles:byte;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure doflames;
|
||||
begin
|
||||
|
||||
if flames=true then begin
|
||||
putshape(bigflame1off,vaddr,27,17,213,100);
|
||||
putshapeover(sflame2off,vaddr,4,4,105,90);
|
||||
putshapeover(sflame1off,vaddr,4,4,151,71);
|
||||
putshapeover(sflame2off,vaddr,4,4,218,72);
|
||||
end
|
||||
else
|
||||
begin
|
||||
putshape(bigflame2off,vaddr,27,17,213,100);
|
||||
putshapeover(sflame1off,vaddr,4,4,105,90);
|
||||
putshapeover(sflame2off,vaddr,4,4,151,71);
|
||||
putshapeover(sflame1off,vaddr,4,4,218,72);
|
||||
outtextxy(chr(alienchar),10,10,12,0,vaddr,true);
|
||||
inc(alienchar);
|
||||
if alienchar>44 then alienchar:=34;
|
||||
end;
|
||||
flip(vaddr,vga);
|
||||
vdelay(5);
|
||||
flames:=not(flames);
|
||||
end;
|
||||
|
||||
procedure puttruck(xp,yp,frame:integer;where:word);
|
||||
var xtemp,into,ytemp:integer;
|
||||
col:byte;
|
||||
begin
|
||||
for into:=0 to 7 do begin
|
||||
if(into+yp>=172) then
|
||||
if frame=0 then putshapeline(truck1off,where,6,8,xp,yp,into)
|
||||
else putshapeline(truck2off,where,6,8,xp,yp,into);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure pauseawhile(howlong:word);
|
||||
var i:word;
|
||||
begin
|
||||
i:=0;
|
||||
repeat
|
||||
waitretrace;
|
||||
inc(i);
|
||||
if i>howlong then exit;
|
||||
until keypressed;
|
||||
end;
|
||||
|
||||
|
||||
begin
|
||||
fade;
|
||||
error:=loadpicsuperpacked(0,0,vaddr,false,true,'tbsobj.tb1');
|
||||
for ytemp:=0 to 18 do
|
||||
for xtemp:=0 to 26 do begin
|
||||
ShapeTable1^[((ytemp*27)+xtemp)+bigflame1off]:=getpixel(xtemp,ytemp+2,vaddr);
|
||||
ShapeTable1^[((ytemp*27)+xtemp)+bigflame2off]:=getpixel(xtemp,ytemp+21,vaddr);
|
||||
end;
|
||||
for ytemp:=0 to 18 do
|
||||
for xtemp:=0 to 15 do begin
|
||||
ShapeTable1^[((ytemp*16)+xtemp)+explo1off]:=getpixel(127+xtemp,ytemp+100,vaddr);
|
||||
ShapeTable1^[((ytemp*16)+xtemp)+explo2off]:=getpixel(148+xtemp,ytemp+100,vaddr);
|
||||
end;
|
||||
for ytemp:=0 to 6 do
|
||||
for xtemp:=0 to 15 do
|
||||
ShapeTable1^[((ytemp*16)+xtemp)+rent1off]:=getpixel(168+xtemp,ytemp+100,vaddr);
|
||||
|
||||
for ytemp:=0 to 4 do
|
||||
for xtemp:=0 to 3 do begin
|
||||
ShapeTable1^[((ytemp*4)+xtemp)+sflame1off]:=getpixel(xtemp,ytemp+43,vaddr);
|
||||
ShapeTable1^[((ytemp*4)+xtemp)+sflame2off]:=getpixel(xtemp,ytemp+47,vaddr);
|
||||
end;
|
||||
|
||||
for ytemp:=0 to 18 do
|
||||
for xtemp:=0 to 15 do
|
||||
ShapeTable1^[((ytemp*16)+xtemp)+bargeoff]:=getpixel(xtemp+65,ytemp+100,vaddr);
|
||||
|
||||
for ytemp:=0 to 8 do
|
||||
for xtemp:=0 to 5 do begin
|
||||
ShapeTable1^[((ytemp*6)+xtemp)+truck1off]:=getpixel(xtemp+85,ytemp+100,vaddr);
|
||||
ShapeTable1^[((ytemp*6)+xtemp)+truck2off]:=getpixel(xtemp+95,ytemp+100,vaddr);
|
||||
end;
|
||||
|
||||
{******FIRST MESSAGE*******}
|
||||
cls(0,vga);
|
||||
outtextxy('THE STORY SO FAR...',20,20,4,0,vga,false);
|
||||
unfade;
|
||||
pauseawhile(300); if keypressed then if readkey=#27 then exit;
|
||||
fade;
|
||||
cls(0,vga);
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,false,true,'tbcobj.tb1');
|
||||
blockmove(129,56,178,188,vaddr2,10,10,vga);
|
||||
outtextxy('YOU ARE TOM BOMBEM, A STRANGE',80,10,1,0,vga,false);
|
||||
outtextxy(' BUT EFFICIENT MEMBER OF',80,20,1,0,vga,false);
|
||||
outtextxy(' THE LUNAR SPACE FORCE.',80,30,1,0,vga,false);
|
||||
outtextxy('YOU NEVER SAY MUCH AND YOU ARE',80,50,4,0,vga,false);
|
||||
outtextxy(' RARELY SEEN OUTSIDE OF ',80,60,4,0,vga,false);
|
||||
outtextxy(' YOUR BLUE SPACESUIT.',80,70,4,0,vga,false);
|
||||
outtextxy('YOU OFTEN GET YOURSELF IN ',80,90,2,0,vga,false);
|
||||
outtextxy(' TROUBLE BY SCRATCHING',80,100,2,0,vga,false);
|
||||
outtextxy(' YOUR HEAD AT INAPPROPRIATE',80,110,2,0,vga,false);
|
||||
outtextxy(' TIMES.',80,120,2,0,vga,false);
|
||||
outtextxy('PRESS ANY KEY....',96,185,15,0,vga,false);
|
||||
unfade;
|
||||
pauseawhile(900); if keypressed then if readkey=#27 then exit;
|
||||
fade;
|
||||
cls(0,vga);
|
||||
blockmove(129,56,178,188,vaddr2,260,10,vga);
|
||||
blockmove(99,104,128,185,vaddr2,287,13,vga);
|
||||
outtextxy('IT IS THE YEAR 2028.',10,10,1,0,vga,false);
|
||||
outtextxy('YOU HAVE BEEN SUMMONED BY',10,30,3,0,vga,false);
|
||||
outtextxy(' LUNAR DICTATOR-IN-CHIEF',10,40,3,0,vga,false);
|
||||
outtextxy(' VINCENT WEAVER ABOUT A',10,50,3,0,vga,false);
|
||||
outtextxy(' TOP SECRET THREAT TO ',10,60,3,0,vga,false);
|
||||
outtextxy(' INTERPLANETARY SECURITY.',10,70,3,0,vga,false);
|
||||
outtextxy('YOU ATTEND THE BRIEFING WITH',10,90,5,0,vga,false);
|
||||
outtextxy(' YOUR USUAL CONFUSED',10,100,5,0,vga,false);
|
||||
outtextxy(' QUIETNESS. YOU STILL DO',10,110,5,0,vga,false);
|
||||
outtextxy(' NOT UNDERSTAND YOUR OWN',10,120,5,0,vga,false);
|
||||
outtextxy(' SUCCESSFULNESS.',10,130,5,0,vga,false);
|
||||
outtextxy('PRESS ANY KEY....',96,185,15,0,vga,false);
|
||||
unfade;
|
||||
pauseawhile(900); if keypressed then if readkey=#27 then exit;
|
||||
fade;
|
||||
|
||||
error:=loadpicsuperpacked(0,0,vga,false,true,'tbchief.tb1');
|
||||
|
||||
unfade;
|
||||
blockmove(115,55,206,114,vga,115,55,vaddr);
|
||||
blockmove(188,14,279,73,vaddr2,115,55,vga);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
blockmove(115,55,206,114,vaddr,115,55,vga);
|
||||
outtextxy('Ahhh.... Mr. Bombem.... ',1,1,15,0,vga,true);
|
||||
pauseawhile(400); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('I''ll be brief. ',1,1,15,0,vga,true);
|
||||
pauseawhile(400); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('Do you know how this base was founded?',1,1,15,0,vga,true);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('No? Well watch the screen. ',1,1,15,0,vga,true);
|
||||
pauseawhile(400); if keypressed then if readkey=#27 then exit;
|
||||
blockmove(210,75,295,134,vaddr2,210,136,vga);
|
||||
pauseawhile(300); if keypressed then if readkey=#27 then exit;
|
||||
|
||||
pal(250,0,0,0);
|
||||
fade;
|
||||
|
||||
{******BARGE TAKING OFF**********}
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,false,true,'tbma1.tb1');
|
||||
outsmalltextxy('MY WIFE AND I FOUNDED',212,3,14,0,vaddr2,false);
|
||||
outsmalltextxy('THIS BASE IN 2008.',212,9,14,0,vaddr2,false);
|
||||
outsmalltextxy('THE ONLY WAY TO ',212,16,13,0,vaddr2,false);
|
||||
outsmalltextxy('FINANCE IT WAS TO',212,22,13,0,vaddr2,false);
|
||||
outsmalltextxy('ENGAGE IN A DUBIOUS',212,28,13,0,vaddr2,false);
|
||||
outsmalltextxy('BUSINESS.',212,34,13,0,vaddr2,false);
|
||||
outsmalltextxy('WE LAUNCHED EARTH''S',212,41,12,0,vaddr2,false);
|
||||
outsmalltextxy('TRASH INTO SPACE',212,47,12,0,vaddr2,false);
|
||||
outsmalltextxy('FOR A PROFIT.',212,53,12,0,vaddr2,false);
|
||||
outsmalltextxy('HERE IS FOOTAGE FROM',212,60,11,0,vaddr2,false);
|
||||
outsmalltextxy('THE FINAL LAUNCH FIVE',212,66,11,0,vaddr2,false);
|
||||
outsmalltextxy('YEARS AGO.',212,72,11,0,vaddr2,false);
|
||||
flip(vaddr2,vaddr);
|
||||
putshape(bargeoff,vaddr,16,18,141,157);
|
||||
flip(vaddr,vga);
|
||||
unfade;
|
||||
|
||||
pauseawhile(700); if keypressed then if readkey=#27 then exit;
|
||||
|
||||
for ytemp:=191 downto 164 do begin
|
||||
if ytemp>=172 then blockmove(145,ytemp,152,ytemp+10,vaddr2,145,ytemp,vaddr)
|
||||
else blockmove(145,172,152,182,vaddr2,145,172,vaddr);
|
||||
puttruck(145,ytemp,ytemp mod 2,vaddr);
|
||||
pauseawhile(7);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
flip(vaddr,vga);
|
||||
end;
|
||||
|
||||
pauseawhile(20);
|
||||
flip(vaddr2,vaddr);
|
||||
putshape(bargeoff,vaddr,16,18,141,157);
|
||||
thrustcol:=0;
|
||||
ytemp:=157;
|
||||
thrust:=0;
|
||||
while ytemp>-25 do begin
|
||||
thrust:=thrust+0.05;
|
||||
if thrustcol<63 then inc(thrustcol);
|
||||
blockmove(141,ytemp,171,ytemp+30,vaddr2,141,ytemp,vaddr);
|
||||
for i:=1 to 17 do
|
||||
if ytemp+i>=0 then
|
||||
putshapeline(bargeoff,vaddr,16,18,141,ytemp,i);
|
||||
pauseawhile(5);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
pal(250,thrustcol,0,0);
|
||||
flip(vaddr,vga);
|
||||
ytemp:=ytemp-round(thrust);
|
||||
end;
|
||||
|
||||
pauseawhile(100);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
fade;
|
||||
|
||||
{****SECOND CHIEF*******}
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,false,true,'tbcobj.tb1');
|
||||
error:=loadpicsuperpacked(0,0,vga,false,true,'tbchief.tb1');
|
||||
blockmove(7,104,97,125,vaddr2,6,174,vga);
|
||||
unfade;
|
||||
outtextxy('You might wonder why this is important.',1,1,15,0,vga,true);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('Last week we received a message. ',1,1,15,0,vga,true);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('It is of extra-terrestrial origin. ',1,1,15,0,vga,true);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('Watch the screen. ',1,1,15,0,vga,true);
|
||||
blockmove(210,136,295,195,vaddr2,210,136,vga);
|
||||
pauseawhile(300); if keypressed then if readkey=#27 then exit;
|
||||
fade;
|
||||
|
||||
{******ALIEN DELEGATION*****}
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,false,true,'tbcrash.tb1');
|
||||
alienchar:=34;
|
||||
flip(vaddr2,vaddr);
|
||||
flip(vaddr,vga);
|
||||
putshape(bargeoff,vaddr,16,18,97,180);
|
||||
unfade;
|
||||
xtemp:=97;
|
||||
ytemp:=181;
|
||||
flames:=true;
|
||||
while ytemp>118 do begin
|
||||
blockmove(xtemp,ytemp,xtemp+20,ytemp+20,vaddr2,xtemp,ytemp,vaddr);
|
||||
putshape(bargeoff,vaddr,16,18,xtemp,ytemp);
|
||||
doflames;
|
||||
dec(ytemp);
|
||||
inc(xtemp);
|
||||
pauseawhile(1);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
end;
|
||||
blockmove(xtemp,ytemp,xtemp+30,ytemp+30,vaddr2,xtemp,ytemp,vaddr);
|
||||
pal(0,63,63,63);
|
||||
putshape(explo1off,vga,16,18,160,118);
|
||||
pauseawhile(5);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
pal(0,0,0,0);
|
||||
for xtemp:=0 to 10 do begin
|
||||
putshapeover(explo2off,vaddr,16,18,160,118);
|
||||
doflames;
|
||||
putshapeover(explo1off,vaddr,16,18,160,118);
|
||||
doflames;
|
||||
end;
|
||||
blockmove(159,114,189,144,vaddr2,159,114,vaddr);
|
||||
putshapeover(rent1off,vaddr,16,6,160,115);
|
||||
flip(vaddr,vga);
|
||||
cycles:=0;
|
||||
repeat
|
||||
doflames;
|
||||
inc(cycles);
|
||||
until ((keypressed) or (cycles>60));
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
|
||||
{****ALIEN MESSAGE*****}
|
||||
fade;
|
||||
error:=loadpicsuperpacked(0,0,vga,false,true,'tbgorg.tb1');
|
||||
unfade;
|
||||
outtextxy('GREETINGS EARTHLINGS.',0,162,12,0,vga,false);
|
||||
outtextxy('I AM GORGONZOLA THE REPULSIVE.',0,171,12,0,vga,false);
|
||||
outtextxy('YOU HAVE MADE A BIG MISTAKE.',0,180,12,0,vga,false);
|
||||
pauseawhile(600);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('YOUR SHIP FULL OF REFUSE HAS',0,162,12,0,vga,true);
|
||||
outtextxy('DAMAGED OUR OFFICIAL PEACE ',0,171,12,0,vga,true);
|
||||
outtextxy('ENVOY. IT WAS ON ITS WAY TO ',0,180,12,0,vga,true);
|
||||
outtextxy('YOUR PLANET. ',0,189,12,0,vga,true);
|
||||
pauseawhile(600);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('IN AN IRONIC FORM OF RETALLIATION',0,162,12,0,vga,true);
|
||||
outtextxy('WE HAVE MADE YOUR TRASH EVIL AND',0,171,12,0,vga,true);
|
||||
outtextxy('TURNED IT AGAINST YOU. ',0,180,12,0,vga,true);
|
||||
outtextxy(' DIE EARTH SCUM! ',0,189,12,0,vga,true);
|
||||
pauseawhile(600);
|
||||
if keypressed then if readkey=#27 then exit;
|
||||
fade;
|
||||
{****** THIRD CHIEF *******}
|
||||
error:=loadpicsuperpacked(0,0,vaddr2,false,true,'tbcobj.tb1');
|
||||
error:=loadpicsuperpacked(0,0,vga,false,true,'tbchief.tb1');
|
||||
blockmove(7,127,97,148,vaddr2,6,174,vga);
|
||||
unfade;
|
||||
outtextxy('Tom, our radar detects approaching ',1,1,15,0,vga,true);
|
||||
pauseawhile(500); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('objects. They are inside the ',1,1,15,0,vga,true);
|
||||
pauseawhile(500); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('orbit of Jupiter. ',1,1,15,0,vga,true);
|
||||
pauseawhile(500); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('You are our only hope! ',1,1,15,0,vga,true);
|
||||
pauseawhile(500); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('Will you fly our only spaceship ',1,1,15,0,vga,true);
|
||||
pauseawhile(500); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('and save the human race? ',1,1,15,0,vga,true);
|
||||
pauseawhile(500); if keypressed then if readkey=#27 then exit;
|
||||
blockmove(5,16,44,98,vaddr2,146,59,vga);
|
||||
pauseawhile(10);
|
||||
blockmove(46,16,85,98,vaddr2,146,59,vga);
|
||||
pauseawhile(10);
|
||||
blockmove(87,16,126,98,vaddr2,146,59,vga);
|
||||
outtextxy('Scratch. Scratch. <Ow that itches>',1,1,9,0,vga,true);
|
||||
pauseawhile(300); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('I knew you''d do it. Good Luck! ',1,1,15,0,vga,true);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
outtextxy('<Huh?> ',1,1,9,0,vga,true);
|
||||
pauseawhile(600); if keypressed then if readkey=#27 then exit;
|
||||
end;
|
||||
|
||||
begin
|
||||
setmcga;
|
||||
setuptb1;
|
||||
setupvirtual;
|
||||
error:=loadpicsuperpacked(0,0,vga,true,false,'tbma1.tb1');
|
||||
story;
|
||||
unfade;
|
||||
settext;
|
||||
end.
|
BIN
t2tract.tb1
BIN
t2tract.tb1
Binary file not shown.
292
tb1abs.pas
292
tb1abs.pas
|
@ -1,292 +0,0 @@
|
|||
{ TheDraw Pascal Screen Image. Date: 07/14/96 }
|
||||
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,
|
||||
'2', #4, '.', #4, '4', #4, 'a', #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, '7', #4, '/', #4, '1', #4, '4', #4,
|
||||
'/', #4, '9', #4, '6', #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, 'O', #95, 'b', #95, 't', #95,
|
||||
'a', #95, 'i', #95, 'n', #95, ' ', #95, 'a', #95, 't', #95, ':', #95,
|
||||
' ', #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,
|
||||
'h', #94, 't', #94, 't', #94, 'p', #94, ':', #94, '/', #94, '/', #94,
|
||||
'w', #94, 'w', #94, 'w', #94, '.', #94, ' ', #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, 'w', #94, 'a', #94, 'm', #94, '.', #94,
|
||||
'u', #94, 'm', #94, 'd', #94, '.', #94, 'e', #94, 'd', #94, 'u', #94,
|
||||
'/', #94, ' ', #82, ' ', #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, '~', #94,
|
||||
'v', #94, 'm', #94, 'w', #94, 'e', #94, 'a', #94, 'v', #94, 'e', #94,
|
||||
'r', #94, '/', #94, 't', #94, 'b', #94, '1', #94, ' ', #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, '3', #47,
|
||||
'0', #47, '0', #47, '+', #47, 'K', #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);
|
BIN
tb1objs.tb1
BIN
tb1objs.tb1
Binary file not shown.
BIN
tbgorg.pcx
BIN
tbgorg.pcx
Binary file not shown.
BIN
tbsauc.tb1
BIN
tbsauc.tb1
Binary file not shown.
BIN
tviewscr.tb1
BIN
tviewscr.tb1
Binary file not shown.
744
vmwgraph.pas
744
vmwgraph.pas
|
@ -1,744 +0,0 @@
|
|||
unit VMWgraph;
|
||||
{$X+} {$G+}
|
||||
INTERFACE
|
||||
|
||||
const charset:array[0..255,0..7] of byte=
|
||||
((0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
{32' '}(0,0,0,0,0,0,0,0),($78,$78,$78,$30,$30,$00,$30,$00),($34,$34,$00,$00,$00,$00,$00,$00),
|
||||
{35'#'}($28,$7C,$28,$28,$7C,$28,$28,$00),($10,$7C,$50,$7C,$14,$7C,$10,$00),
|
||||
{37'$'}($00,$62,$64,$08,$10,$26,$46,$00),($00,$38,$40,$20,$54,$48,$34,$00),
|
||||
{39'''}($30,$30,$10,$00,$00,$00,$00,$00),($08,$10,$20,$20,$20,$10,$08,$00),
|
||||
{41')'}($20,$10,$08,$08,$08,$10,$20,$00),($92,$54,$38,$FE,$38,$54,$92,$00),
|
||||
{43'+'}($00,$10,$10,$7C,$10,$10,$00,$00),($00,$00,$00,$00,$00,$10,$10,$20),
|
||||
{45'-'}($00,$00,$00,$7C,$00,$00,$00,$00),($00,$00,$00,$00,$00,$30,$30,$00),
|
||||
{47'/'}($02,$06,$0C,$18,$30,$E0,$C0,$00),($FE,$C6,$CE,$DA,$F2,$E2,$FE,$00),
|
||||
{49'1'}($30,$70,$B0,$30,$30,$30,$FC,$00),($78,$84,$08,$10,$20,$40,$FC,$00),
|
||||
{51'3'}($78,$84,$04,$3C,$04,$84,$78,$00),($C4,$C4,$C4,$FC,$04,$04,$04,$00),
|
||||
{53'5'}($FC,$C0,$C0,$F8,$04,$04,$F8,$00),($7C,$C4,$C0,$F8,$C4,$C4,$F8,$00),
|
||||
{55'7'}($FC,$84,$08,$10,$10,$20,$20,$00),($78,$C4,$C4,$78,$C4,$C4,$78,$00),
|
||||
{57'9'}($7C,$C4,$C4,$7C,$04,$04,$04,$00),($00,$00,$30,$30,$00,$30,$30,$00),
|
||||
{59';'}($00,$00,$30,$30,$00,$10,$10,$20),($18,$30,$60,$C0,$60,$30,$18,$00),
|
||||
{61'='}($00,$00,$7C,$00,$7C,$00,$00,$00),($C0,$60,$30,$18,$30,$60,$C0,$00),
|
||||
{63'?'}($78,$CC,$98,$30,$30,$00,$30,$00),($FC,$84,$BC,$A4,$BC,$80,$FC,$00),
|
||||
{65'A'}($FE,$C2,$C2,$FE,$C2,$C2,$C2,$00),($F8,$C8,$C8,$FC,$C2,$C2,$FC,$00),
|
||||
{67'C'}($FE,$C2,$C0,$C0,$C0,$C0,$FE,$00),($F8,$C4,$C2,$C2,$C2,$C2,$FC,$00),
|
||||
{69'E'}($FE,$C0,$C0,$FE,$C0,$C0,$FE,$00),($FE,$C0,$C0,$FE,$C0,$C0,$C0,$00),
|
||||
{71'G'}($FE,$C2,$C0,$CE,$C2,$C2,$FE,$00),($C2,$C2,$C2,$FE,$C2,$C2,$C2,$00),
|
||||
{73'I'}($FE,$30,$30,$30,$30,$30,$FE,$00),($0E,$02,$02,$02,$C2,$64,$38,$00),
|
||||
{75'K'}($C2,$C2,$CC,$F0,$CC,$C2,$C2,$00),($C0,$C0,$C0,$C0,$C0,$C0,$FE,$00),
|
||||
{77'M'}($C2,$E6,$EE,$DA,$D2,$C2,$C2,$00),($C2,$E2,$F2,$DA,$CA,$C6,$C6,$00),
|
||||
{79'O'}($FE,$C2,$C2,$C2,$C2,$C2,$FE,$00),($FE,$C2,$C2,$FE,$C0,$C0,$C0,$00),
|
||||
{81'Q'}($FE,$C2,$C2,$C2,$CA,$C6,$FE,$00),($FE,$C2,$C2,$FE,$C8,$C4,$C2,$00),
|
||||
{83'S'}($FE,$C0,$C0,$FE,$02,$82,$FE,$00),($FE,$30,$30,$30,$30,$30,$30,$00),
|
||||
{85'U'}($C2,$C2,$C2,$C2,$C2,$C2,$FE,$00),($C2,$C2,$C4,$64,$68,$38,$30,$00),
|
||||
{87'W'}($C2,$C2,$C2,$D2,$F2,$FA,$C6,$00),($C2,$C6,$3C,$18,$3C,$C6,$C2,$00),
|
||||
{89'Y'}($C2,$C2,$64,$68,$30,$30,$30,$00),($FE,$04,$08,$30,$60,$C0,$FE,$00),
|
||||
{91'['}($F8,$C0,$C0,$C0,$C0,$C0,$F8,$00),($C0,$E0,$30,$18,$0C,$06,$02,$00),
|
||||
{93']'}($1E,$02,$02,$02,$02,$02,$1E,$00),($10,$28,$44,$00,$00,$00,$00,$00),
|
||||
{95'_'}($00,$00,$00,$00,$00,$00,$FF,$00),($08,$04,$02,$00,$00,$00,$00,$00),
|
||||
{97'a'}($00,$00,$7C,$04,$7C,$44,$7E,$00),($C0,$40,$40,$7C,$44,$44,$FC,$00),
|
||||
{99'c'}($00,$00,$00,$7C,$40,$40,$7C,$00),($06,$04,$04,$7C,$44,$44,$7E,$00),
|
||||
{101e'}($00,$00,$7C,$44,$7C,$40,$7C,$00),($10,$28,$20,$70,$20,$20,$70,$00),
|
||||
{103g'}($00,$00,$04,$7C,$44,$7C,$04,$7C),($E0,$40,$40,$7C,$44,$44,$EE,$00),
|
||||
{105i'}($00,$10,$00,$30,$10,$10,$78,$00),($00,$04,$00,$0C,$04,$04,$44,$3C),
|
||||
{107k'}($C0,$40,$40,$58,$60,$50,$48,$00),($30,$10,$10,$10,$10,$10,$78,$00),
|
||||
{109m'}($00,$00,$00,$E8,$54,$54,$54,$00),($00,$00,$00,$F0,$48,$48,$48,$00),
|
||||
{111o'}($00,$00,$00,$7C,$44,$44,$7C,$00),($00,$00,$00,$FC,$44,$7C,$40,$E0),
|
||||
{113q'}($00,$00,$00,$7E,$44,$7C,$04,$0E),($00,$00,$00,$28,$34,$20,$70,$00),
|
||||
{115s'}($00,$00,$7C,$40,$7C,$04,$7C,$00),($00,$20,$70,$20,$20,$28,$38,$00),
|
||||
{117u'}($00,$00,$00,$C8,$48,$48,$7C,$00),($00,$00,$00,$44,$44,$28,$10,$00),
|
||||
{119w'}($00,$00,$00,$42,$42,$5A,$66,$00),($00,$00,$66,$34,$18,$34,$66,$00),
|
||||
{121y'}($00,$00,$00,$44,$44,$7C,$04,$7C),($00,$00,$7C,$08,$10,$20,$7C,$00),
|
||||
{123|'}($30,$20,$20,$40,$20,$20,$30,$00),($10,$10,$10,$00,$10,$10,$10,$00),
|
||||
{125~'}($18,$08,$08,$04,$08,$08,$18,$00),($3A,$6C,$00,$00,$00,$00,$00,$00),
|
||||
{127''}($00,$54,$2A,$54,$2A,$54,$2A,$00),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),
|
||||
(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0));
|
||||
CONST VGA = $a000;
|
||||
|
||||
var unfadered:array[0..255] of byte;
|
||||
unfadeblue:array[0..255] of byte;
|
||||
unfadegreen:array[0..255] of byte;
|
||||
|
||||
Procedure SetMCGA;
|
||||
Procedure SetText; { This procedure returns you to text mode. }
|
||||
Procedure Cls (Col : Byte; Where:word);
|
||||
Procedure Putpixel (X,Y : Integer; Col : Byte; where:word);
|
||||
function getpixel(x,y,where:word):byte;
|
||||
Procedure Pal(Col,R,G,B : Byte);
|
||||
Procedure GetPal(Col : Byte; Var R,G,B : Byte);
|
||||
procedure egaputpix(x,y,col,where:word);
|
||||
procedure WaitRetrace;
|
||||
procedure flip(source,dest:Word);
|
||||
procedure outtext(x,y,rowochar,col,background:integer;num:byte;where:word;overwrite:boolean);
|
||||
procedure egaouttext(x,y,col:integer;num:byte;where:word;overwrite:boolean);
|
||||
procedure outtextxy(st:string;x,y,rowochar,col,background:integer;where:word;overwrite:boolean);
|
||||
procedure egaouttextxy(st:string;x,y,col:integer;where:word;overwrite:boolean);
|
||||
function sgn(a:real):integer;
|
||||
procedure line(a,b,c,d,col:integer;where:word);
|
||||
procedure fade;
|
||||
procedure unfade;
|
||||
procedure SavePicSuperPacked(x1,y1,x2,y2,maxcolors:integer;filename:string);
|
||||
function loadpicsuperpacked(x1,y1:integer;where:word;fil:string):byte;
|
||||
procedure box(x1,y1,x2,y2,col:integer;where:word);
|
||||
procedure vdelay(howlong:integer);
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
Procedure SetMCGA; { This procedure gets you into 320x200x256 mode. }
|
||||
BEGIN
|
||||
asm
|
||||
mov ax,0013h
|
||||
int 10h
|
||||
end;
|
||||
END;
|
||||
|
||||
Procedure SetText; { This procedure returns you to text mode. }
|
||||
BEGIN
|
||||
asm
|
||||
mov ax,0003h
|
||||
int 10h
|
||||
end;
|
||||
END;
|
||||
|
||||
Procedure Cls (Col : Byte; Where:word);
|
||||
{ This clears the screen to the specified color }
|
||||
BEGIN
|
||||
asm
|
||||
push es
|
||||
mov cx, 32000;
|
||||
mov es,[where]
|
||||
xor di,di
|
||||
mov al,[col]
|
||||
mov ah,al
|
||||
rep stosw
|
||||
pop es
|
||||
End;
|
||||
END;
|
||||
|
||||
Procedure Putpixel (X,Y : Integer; Col : Byte; where:word);
|
||||
{ This puts a pixel on the screen by writing directly to memory. }
|
||||
BEGIN
|
||||
Asm
|
||||
push ds
|
||||
push es
|
||||
mov ax,[where]
|
||||
mov es,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}
|
||||
xor al,al
|
||||
mov ah, [Col]
|
||||
mov es:[di],ah
|
||||
pop es
|
||||
pop ds
|
||||
End;
|
||||
END;
|
||||
|
||||
function getpixel(x,y,where:word):byte;
|
||||
begin
|
||||
getpixel:=mem[where:x+(y*320)];
|
||||
end;
|
||||
|
||||
Procedure Pal(Col,R,G,B : Byte);
|
||||
{ This sets the Red, Green and Blue values of a certain color }
|
||||
Begin
|
||||
asm
|
||||
mov dx,3c8h
|
||||
mov al,[col]
|
||||
out dx,al
|
||||
inc dx
|
||||
mov al,[r]
|
||||
out dx,al
|
||||
mov al,[g]
|
||||
out dx,al
|
||||
mov al,[b]
|
||||
out dx,al
|
||||
end;
|
||||
End;
|
||||
|
||||
procedure WaitRetrace; assembler;
|
||||
{ This waits for a vertical retrace to reduce snow on the screen }
|
||||
label
|
||||
l1, l2;
|
||||
asm
|
||||
mov dx,3DAh
|
||||
l1:
|
||||
in al,dx
|
||||
and al,08h
|
||||
jnz l1
|
||||
l2:
|
||||
in al,dx
|
||||
and al,08h
|
||||
jz l2
|
||||
end;
|
||||
|
||||
Procedure GetPal(Col : Byte; Var R,G,B : Byte);
|
||||
{ This gets the Red, Green and Blue values of a certain color }
|
||||
Var
|
||||
rr,gg,bb : Byte;
|
||||
Begin
|
||||
asm
|
||||
mov dx,3c7h
|
||||
mov al,col
|
||||
out dx,al
|
||||
|
||||
add dx,2
|
||||
|
||||
in al,dx
|
||||
mov [rr],al
|
||||
in al,dx
|
||||
mov [gg],al
|
||||
in al,dx
|
||||
mov [bb],al
|
||||
end;
|
||||
r := rr;
|
||||
g := gg;
|
||||
b := bb;
|
||||
end;
|
||||
|
||||
procedure egaputpix(x,y,col,where:word);
|
||||
|
||||
VAR red,blue,green,inte,P1,P2:byte;
|
||||
col2:word;
|
||||
|
||||
procedure semiput(x,y:word;col,p1,p2:byte;where:word);
|
||||
var temp:word;
|
||||
q3:word;
|
||||
old,q1,q2,qz:byte;
|
||||
label looper,loop2,loop3,looper2;
|
||||
begin
|
||||
asm
|
||||
mov ax,where {Set Where screen is}
|
||||
mov es,ax
|
||||
mov ax,y {The following is 80*y}
|
||||
mov dx,y {which makes (640*y)/8 uneccessary}
|
||||
shl ax,6
|
||||
shl dx,4
|
||||
add ax,dx
|
||||
mov temp,ax {saves temporary address}
|
||||
mov bx,x {gets X DIV 8 and adds it to temp}
|
||||
shl bx,5
|
||||
mov dl,bh
|
||||
mov dh,00
|
||||
sub bh,bh
|
||||
shr bx,5
|
||||
mov q2,bl {gets X MOD 8 for actual pixel}
|
||||
mov ax,temp
|
||||
add ax,dx
|
||||
mov temp,ax
|
||||
{inegaports}
|
||||
mov dx,$3Ce {Sets us bitplane for input}
|
||||
mov al,4
|
||||
out dx,al
|
||||
mov dx,$3Cf
|
||||
mov al,p1
|
||||
out dx,al
|
||||
{old} {Gets old pixel values}
|
||||
mov di,temp
|
||||
mov al,es:[di]
|
||||
mov ah,00
|
||||
mov cl,q2
|
||||
mov ch,00
|
||||
JCXZ loop2
|
||||
looper:
|
||||
shl ax,1
|
||||
loop looper
|
||||
loop2:
|
||||
mov dh,ah
|
||||
mov ah,00
|
||||
shl ax,1
|
||||
mov ah,col
|
||||
shr ax,1
|
||||
mov ah,dh
|
||||
mov cl,q2
|
||||
mov ch,00
|
||||
jcxz loop3
|
||||
looper2:
|
||||
shr ax,1
|
||||
loop looper2
|
||||
loop3:
|
||||
|
||||
mov qz,al
|
||||
{Logically gets old and new}
|
||||
{out}
|
||||
mov dx,$3C4
|
||||
mov al,2
|
||||
out dx,al
|
||||
mov dx,$3C5
|
||||
mov al,p2
|
||||
out dx,al {rewrites pixel}
|
||||
{mem}
|
||||
mov di,temp
|
||||
mov al,qz
|
||||
mov es:[di],al
|
||||
|
||||
end;
|
||||
end;
|
||||
begin
|
||||
asm
|
||||
mov bx,col
|
||||
shl bx,4
|
||||
shl bx,1
|
||||
mov inte,bh
|
||||
sub bh,bh
|
||||
shl bx,1
|
||||
mov red,bh
|
||||
sub bh,bh
|
||||
shl bx,1
|
||||
mov green,bh
|
||||
sub bh,bh
|
||||
shl bx,1
|
||||
mov blue,bh
|
||||
end;
|
||||
p1:=0; p2:=1; col2:=0;
|
||||
if blue= 1 then col2:=1;
|
||||
semiput(x,y,col2,p1,p2,vga);
|
||||
p1:=1; p2:=2; col2:=0;
|
||||
if green=1 then col2:=1;
|
||||
semiput(x,y,col2,p1,p2,vga);
|
||||
p1:=2; p2:=4; col2:=0;
|
||||
if red=1 then col2:=1;
|
||||
semiput(x,y,col2,p1,p2,vga);
|
||||
p1:=3; p2:=8; col2:=0;
|
||||
if inte=1 then col2:=1;
|
||||
semiput(x,y,col2,p1,p2,vga);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure flip(source,dest:Word);
|
||||
{ This copies the entire screen at "source" to destination }
|
||||
begin
|
||||
asm
|
||||
push ds
|
||||
mov ax, [Dest]
|
||||
mov es, ax
|
||||
mov ax, [Source]
|
||||
mov ds, ax
|
||||
xor si, si
|
||||
xor di, di
|
||||
mov cx, 32000
|
||||
rep movsw
|
||||
pop ds
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure outtext(x,y,rowochar,col,background:integer;num:byte;where:word;overwrite:boolean);
|
||||
label l0105; {^-15=all, 0-7= that row}
|
||||
var n,k,l,o,min,max,qwerty:byte;
|
||||
begin
|
||||
if rowochar=15 then begin min:=0; max:=7; end
|
||||
else begin min:=rowochar; max:=rowochar; end;
|
||||
qwerty:=0;
|
||||
|
||||
for n:=min to max do begin {Loop through charachter}
|
||||
if rowochar=15 then qwerty:=n;
|
||||
o:=charset[num,n]; {array in Hex}
|
||||
for l:=0 to 7 do begin
|
||||
asm {Hex to binary decoder}
|
||||
mov bl,o {mov hex into o}
|
||||
mov dl,00
|
||||
rcl bl,1 {Rotate O left into carry}
|
||||
adc dl,00h {Add the carry into dl}
|
||||
mov o,bl {Save O}
|
||||
mov k,dl {Copy Dl (if carry) into k}
|
||||
|
||||
end;
|
||||
if k=1 then putpixel(x+l,y+qwerty,col,where)
|
||||
else if overwrite then putpixel(x+l,y+qwerty,background,where);
|
||||
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
procedure egaouttext(x,y,col:integer;num:byte;where:word;overwrite:boolean);
|
||||
label l0105;
|
||||
var n,k,l,o:byte;
|
||||
begin
|
||||
for n:=0 to 7 do begin {Loop through charachter}
|
||||
o:=charset[num,n]; {array in Hex}
|
||||
for l:=0 to 7 do begin
|
||||
asm {Hex to binary decoder}
|
||||
mov bl,o {mov hex into o}
|
||||
mov dl,00
|
||||
rcl bl,1 {Rotate O left into carry}
|
||||
adc dl,00h {Add the carry into dl}
|
||||
mov o,bl {Save O}
|
||||
mov k,dl {Copy Dl (if carry) into k}
|
||||
end;
|
||||
if k=1 then egaputpix(x+l,y+n,col,where)
|
||||
else if overwrite then egaputpix(x+l,y+n,0,where);
|
||||
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
procedure outtextxy(st:string;x,y,rowochar,col,background:integer;where:word;overwrite:boolean);
|
||||
var l,len,i,xadd,yadd:integer;
|
||||
begin
|
||||
xadd:=0; yadd:=y;
|
||||
len:=length(St);
|
||||
l:=1;
|
||||
repeat
|
||||
outtext(x+xadd,yadd,rowochar,col,background,ord(st[l]),where,overwrite);
|
||||
inc(xadd,8);
|
||||
inc(l,1);
|
||||
if (xadd>311) then begin xadd:=0; inc(yadd,8) end;
|
||||
if (ord(st[l]))=13 then begin xadd:=0; inc(yadd,8); inc(l,1); end;
|
||||
until l>=(len+1);
|
||||
|
||||
end;
|
||||
procedure egaouttextxy(st:string;x,y,col:integer;where:word;overwrite:boolean);
|
||||
var l,len,i,xadd,yadd:integer;
|
||||
begin
|
||||
xadd:=0; yadd:=y;
|
||||
len:=length(St);
|
||||
l:=1;
|
||||
repeat
|
||||
egaouttext(x+xadd,yadd,col,ord(st[l]),where,overwrite);
|
||||
inc(xadd,8);
|
||||
inc(l,1);
|
||||
if (xadd>311) then begin xadd:=0; inc(yadd,8) end;
|
||||
if (ord(st[l]))=13 then begin xadd:=0; inc(yadd,8); inc(l,1); end;
|
||||
until l=(len+1);
|
||||
|
||||
end;
|
||||
function sgn(a:real):integer;
|
||||
begin
|
||||
if a>0 then sgn:=+1;
|
||||
if a<0 then sgn:=-1;
|
||||
if a=0 then sgn:=0;
|
||||
end;
|
||||
|
||||
procedure line(a,b,c,d,col:integer;where:word);
|
||||
var u,s,v,d1x,d1y,d2x,d2y,m,n:real;
|
||||
i:integer;
|
||||
begin
|
||||
u:= c - a;
|
||||
v:= d - b;
|
||||
d1x:= SGN(u);
|
||||
d1y:= SGN(v);
|
||||
d2x:= SGN(u);
|
||||
d2y:= 0;
|
||||
m:= ABS(u);
|
||||
n := ABS(v);
|
||||
IF NOT (M>N) then
|
||||
BEGIN
|
||||
d2x := 0 ;
|
||||
d2y := SGN(v);
|
||||
m := ABS(v);
|
||||
n := ABS(u);
|
||||
END;
|
||||
s := INT(m / 2);
|
||||
FOR i := 0 TO round(m) DO
|
||||
BEGIN
|
||||
putpixel(a,b,col,where);
|
||||
s := s + n;
|
||||
IF not (s<m) THEN
|
||||
BEGIN
|
||||
s := s - m;
|
||||
a:= a +round(d1x);
|
||||
b := b + round(d1y);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
a := a + round(d2x);
|
||||
b := b + round(d2y);
|
||||
END;
|
||||
end;
|
||||
END;
|
||||
|
||||
|
||||
procedure fade;
|
||||
var i,j:integer;
|
||||
r,g,b:byte;
|
||||
begin
|
||||
for i:=0 to 255 do begin
|
||||
getpal(i,r,g,b);
|
||||
unfadered[i]:=r;
|
||||
unfadeblue[i]:=b;
|
||||
unfadegreen[i]:=g;
|
||||
end;
|
||||
for i:=0 to 63 do begin
|
||||
for j:=0 to 255 do begin
|
||||
getpal(j,r,g,b);
|
||||
if r>0 then dec(r);
|
||||
if g>0 then dec(g);
|
||||
if b>0 then dec(b);
|
||||
pal(j,r,g,b);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure unfade;
|
||||
var i,j:integer;
|
||||
r,g,b:byte;
|
||||
begin
|
||||
for i:=0 to 63 do begin
|
||||
for j:=0 to 255 do begin
|
||||
getpal(j,r,g,b);
|
||||
if r<unfadered[j] then inc(r);
|
||||
if g<unfadegreen[j] then inc(g);
|
||||
if b<unfadeblue[j] then inc(b);
|
||||
pal(j,r,g,b);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
procedure SavePicSuperPacked(x1,y1,x2,y2,maxcolors:integer;filename:string);
|
||||
|
||||
var buffer:array[0..255] of byte;
|
||||
f:file;
|
||||
col,x,y,xsize,ysize,buffpointer,i,oldcol,numacross:integer;
|
||||
header:string;
|
||||
byte1,byte2,byte3,temp:byte;
|
||||
|
||||
procedure integer23bytes(inter1,inter2:integer);
|
||||
var temp1,temp2,temp3,temp:byte;
|
||||
begin
|
||||
asm
|
||||
mov ax,inter1
|
||||
shl ax,1
|
||||
shl ax,1
|
||||
shl ax,1
|
||||
shl ax,1
|
||||
mov temp1,ah
|
||||
sub ah,ah
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
mov temp,al
|
||||
mov ax,inter2
|
||||
mov temp3,al
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
mov ah,temp
|
||||
shl ax,1
|
||||
shl ax,1
|
||||
shl ax,1
|
||||
shl ax,1
|
||||
mov temp2,ah
|
||||
end;
|
||||
byte1:=temp1;
|
||||
byte2:=temp2;
|
||||
byte3:=temp3;
|
||||
end;
|
||||
|
||||
procedure writebuff2disk;
|
||||
begin
|
||||
blockwrite(f,buffer,1);
|
||||
buffpointer:=0;
|
||||
end;
|
||||
|
||||
procedure writetemps2buffer;
|
||||
begin
|
||||
if buffpointer>=253 then writebuff2disk;
|
||||
buffer[buffpointer]:=byte1;
|
||||
buffer[buffpointer+1]:=byte2;
|
||||
buffer[buffpointer+2]:=byte3;
|
||||
inc(buffpointer,3);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
begin
|
||||
header:='PAINTPROV4.00';
|
||||
assign(f,filename);
|
||||
rewrite(f,256);
|
||||
buffpointer:=0;
|
||||
for i:=1 to 13 do buffer[i-1]:=ord(header[i]);
|
||||
buffpointer:=13;
|
||||
xsize:=abs(x2-x1);
|
||||
ysize:=abs(y2-y1);
|
||||
integer23bytes(xsize,ysize);
|
||||
writetemps2buffer;
|
||||
integer23bytes(maxcolors,0);
|
||||
writetemps2buffer;
|
||||
|
||||
|
||||
for y:=y1 to y2 do begin
|
||||
oldcol:=getpixel(x1,y,vga); numacross:=1;
|
||||
for x:=(x1+1) to x2 do begin
|
||||
col:=getpixel(x,y,vga);
|
||||
if col=oldcol then inc(numacross)
|
||||
else begin
|
||||
integer23bytes(oldcol,numacross);
|
||||
writetemps2buffer;
|
||||
numacross:=1;
|
||||
end;
|
||||
oldcol:=col;
|
||||
end;
|
||||
integer23bytes(col,numacross);
|
||||
writetemps2buffer;
|
||||
end;
|
||||
for x:=buffpointer to 254 do buffer[x]:=255;
|
||||
buffer[255]:=90;
|
||||
writebuff2disk;
|
||||
close(f);
|
||||
end;
|
||||
|
||||
function loadpicsuperpacked(x1,y1:integer;where:word;fil:string):byte;
|
||||
|
||||
var buffer:array[0..255] of byte;
|
||||
f:file;
|
||||
col,x,y,xsize,ysize,buffpointer,i,oldcol,
|
||||
tempint1,tempint2,numacross:integer;
|
||||
header:string;
|
||||
lastread,done:boolean;
|
||||
temp7:string;
|
||||
|
||||
procedure readbuffer;
|
||||
begin
|
||||
blockread(f,buffer,1);
|
||||
if buffer[255]=90 then lastread:=true;
|
||||
end;
|
||||
|
||||
procedure sixbytes2twoint;
|
||||
var temp1,temp2,temp3:byte;
|
||||
int1,int2:integer;
|
||||
begin
|
||||
if buffpointer>=253 then begin
|
||||
readbuffer;
|
||||
buffpointer:=0;
|
||||
end;
|
||||
if not done then begin
|
||||
temp1:=buffer[buffpointer];
|
||||
temp2:=buffer[buffpointer+1];
|
||||
temp3:=buffer[buffpointer+2];
|
||||
if (temp1=255) and (temp2=255) and (temp3=255) then
|
||||
done:=true;
|
||||
inc(buffpointer,3);
|
||||
asm
|
||||
mov ah,temp1
|
||||
mov al,temp2
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
shr ax,1
|
||||
mov int1,ax
|
||||
mov ah,temp2
|
||||
mov al,temp3
|
||||
shl ah,1
|
||||
shl ah,1
|
||||
shl ah,1
|
||||
shl ah,1
|
||||
shr ah,1
|
||||
shr ah,1
|
||||
shr ah,1
|
||||
shr ah,1
|
||||
mov int2,ax
|
||||
end;
|
||||
tempint1:=int1;
|
||||
tempint2:=int2;
|
||||
end;
|
||||
end;
|
||||
label ender;
|
||||
begin
|
||||
done:=false;
|
||||
header:='PAINTPROV4.00';
|
||||
assign(f,fil);
|
||||
reset(f,256);
|
||||
readbuffer;
|
||||
buffpointer:=0;
|
||||
temp7:=header;
|
||||
for i:=1 to 13 do temp7[i]:=chr(buffer[i-1]);
|
||||
if temp7<>header then begin
|
||||
loadpicsuperpacked:=01;
|
||||
exit;
|
||||
end;
|
||||
buffpointer:=13;
|
||||
sixbytes2twoint;
|
||||
xsize:=tempint1;
|
||||
ysize:=tempint2;
|
||||
sixbytes2twoint;
|
||||
|
||||
x:=x1;
|
||||
y:=y1;
|
||||
repeat
|
||||
sixbytes2twoint;
|
||||
if done then goto ender;
|
||||
col:=tempint1;
|
||||
numacross:=tempint2;
|
||||
for i:=x to (x+numacross) do putpixel(i,y,col,where);
|
||||
if (x+numacross)>xsize+x1 then begin
|
||||
inc(y);
|
||||
x:=x1;
|
||||
numacross:=0;
|
||||
end;
|
||||
x:=x+numacross;
|
||||
ender:
|
||||
until done=true;
|
||||
close(f);
|
||||
end;
|
||||
|
||||
procedure box(x1,y1,x2,y2,col:integer;where:word);
|
||||
begin
|
||||
line(x1,y1,x1,y2,col,where);
|
||||
line(x1,y2,x2,y2,col,where);
|
||||
line(x2,y2,x2,y1,col,where);
|
||||
line(x2,y1,x1,y1,col,where);
|
||||
end;
|
||||
|
||||
procedure vdelay(howlong:integer);
|
||||
var i:integer;
|
||||
begin
|
||||
for i:=1 to howlong do waitretrace;
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
Loading…
Reference in New Issue
Block a user