old_ovl.ps
来自「开放源码的编译器open watcom 1.6.0版的源代码」· PS 代码 · 共 679 行 · 第 1/3 页
PS
679 行
%!PS-Adobe-2.0 EPSF-1.2
%%Creator: WATCOM Script/GML V4.0 PC/DOS
%%Title: WATCOM Script/GML
%%CreationDate: 14:41:33 January 26, 1994
%%Pages: (atend)
%%BoundingBox: 0 0 8500 10920
%%EndComments
/@uline {
currentpoint exch /@underx exch def
currentfont /FontInfo get dup
/UnderlineThickness get 0
currentfont /FontMatrix get transform pop
/@underthick exch def
/UnderlinePosition get 0
currentfont /FontMatrix get transform pop
add @underthick sub
/@undery exch def } def
/@euline {
currentpoint exch dup
@underx @undery moveto
@underx sub 0 rlineto
@underthick setlinewidth stroke
exch moveto } def
/graphhead {
/@scale exch def
/@yoff exch def
/@xoff exch def
/@depth exch def
/@width exch def
/@y exch def
/@x exch def
1 setlinewidth /@clw currentlinewidth def
@x @clw 2 div sub @y @clw 2 div add moveto
0 @depth neg @clw sub rlineto
@width @clw add 0 rlineto
0 @depth @clw add rlineto
closepath clip newpath
@x @xoff sub dup @y @yoff add @depth add moveto
@y @yoff add translate
10 @scale mul 72 div dup scale
/restore {systemdict /restore get exec} bind def } def
/plfdef {
/@fgmlname exch def
/@fdefname exch def
/@fptsiz exch def
/@fname exch def
/@bf @fname findfont @fptsiz 1000 mul 72 div scalefont def
/@nf @bf maxlength dict def
@bf { exch dup /FID ne { exch @nf 3 1 roll put } { pop pop }
ifelse} forall
@nf /FontName @fdefname put
@fdefname @nf definefont pop
@fgmlname @fdefname /findfont cvx /setfont cvx 3 array astore cvx def } def
/sd { exch currentpoint exch pop moveto shwd } def
/shwd { show } def
/am { moveto } def
/Times-Roman 10.0 /@ft0 /@fs0 plfdef
/Times-Italic 10.0 /@ft1 /@fs1 plfdef
/Times-Bold 10.0 /@ft2 /@fs2 plfdef
/Times-BoldItalic 10.0 /@ft3 /@fs3 plfdef
/Times-Bold 16.0 /@ft4 /@fs4 plfdef
/Times-BoldItalic 10.0 /@ft5 /@fs5 plfdef
/Courier 9.0 /@ft6 /@fs6 plfdef
/Courier-Bold 9.0 /@ft7 /@fs7 plfdef
/Courier 10.0 /@ft8 /@fs8 plfdef
/Courier-Bold 10.0 /@ft9 /@fs9 plfdef
/Times-Roman 24.0 /@ft10 /@fs10 plfdef
/Times-Bold 24.0 /@ft11 /@fs11 plfdef
/Times-Roman 24.0 /@ft12 /@fs12 plfdef
/Times-Roman 24.0 /@ft13 /@fs13 plfdef
/Times-Roman 24.0 /@ft14 /@fs14 plfdef
/Times-Roman 24.0 /@ft15 /@fs15 plfdef
/Times-Roman 24.0 /@ft16 /@fs16 plfdef
/Times-Roman 24.0 /@ft17 /@fs17 plfdef
/Times-Roman 24.0 /@ft18 /@fs18 plfdef
/Times-Roman 24.0 /@ft19 /@fs19 plfdef
/Symbol 10.0 /@ft20 /@fs20 plfdef
/draft{save exch dup () eq {pop (DRAFT)}if /drt exch def
/rm 7300 dup 0 le {pop 7000}if def
/pd 9000 dup 0 le {pop 9660}if def
.95 setgray /Helvetica-Bold findfont
rm rm mul pd pd mul add sqrt
.75 mul drt length 2 add div
scalefont setfont
10920 newpath 0 0 moveto (X) true charpath flattenpath pathbbox
3 -1 roll sub 3 1 roll exch sub rm add 2 div 3 1 roll pd add
2 div sub moveto 45 rotate drt stringwidth pop dup 1.25 mul
2 div neg 0 rmoveto .25 mul drt length div 0 drt ashow
restore}bind def
%%EndProlog
%%Page: # 1
/pageobj save def
.072 .072 scale
2 setlinecap
@fs0
pageobj restore
showpage
%%Page: # 2
/pageobj save def
.072 .072 scale
2 setlinecap
@fs0
@fs11 1977 7082 am (WVIDEO Overlay Manager) shwd 3351 6720 am (Interface) shwd
2988 5634 am (VERSION 1.0) shwd
@fs0 3670 3797 am (Copyright 1993 by WATCOM International Corp.) shwd 5540 3296
am (January 26, 1994) shwd
pageobj restore
showpage
%%Page: # 3
/pageobj save def
.072 .072 scale
2 setlinecap
@fs0
@fs3 3987 10006 am (Table of Contents) shwd
@fs0 1500 9672 am (Overlay manager interface) shwd 3040 (.....................\
..............................................................................\
.................) sd 7430 (1) sd 1500 9338 am (1 The Hook Routine) shwd 2690
(.............................................................................\
.................................................) sd 7430 (1) sd 1500 9004 am
(2 The Handler Routine) shwd 2830 (...........................................\
..............................................................................\
.) sd 7430 (2) sd 1700 8670 am (2.1 GET_STATE_SIZE) shwd 3110 (...............\
..............................................................................\
.....................) sd 7430 (2) sd 1700 8503 am (2.2 GET_OVERLAY_STATE)
shwd 3460 (...................................................................\
.....................................) sd 7430 (2) sd 1700 8336 am (2.3 SET_OV\
ERLAY_STATE) shwd 3460 (......................................................\
..................................................) sd 7430 (3) sd 1700 8169
am (2.4 TRANSLATE_VECTOR_ADDR) shwd 3880 (....................................\
........................................................) sd 7430 (3) sd 1700
8002 am (2.5 TRANSLATE_RETURN_ADDR) shwd 3880 (...............................\
.............................................................) sd 7430 (3) sd
1700 7835 am (2.6 GET_OVL_TBL_ADDR) shwd 3390 (...............................\
...........................................................................)
sd 7430 (4) sd 1700 7668 am (2.7 GET_MOVED_SECTION) shwd 3460 (...............\
..............................................................................\
...........) sd 7430 (4) sd 1700 7501 am (2.8 GET_SECTION_DATA) shwd 3355 (...\
..............................................................................\
..........................) sd 7430 (5) sd 1500 7167 am (3 Overlay Table Struc\
ture) shwd 3005 (.............................................................\
........................................................) sd 7430 (5) sd
pageobj restore
showpage
%%Page: # 4
/pageobj save def
.072 .072 scale
2 setlinecap
@fs0
@fs4 2000 9590 am (Overlay manager interface) shwd
@fs0 1500 8923 am (For) shwd 1741 (WVIDEO) sd 2354 (to) sd 2509 (be) sd 2687 (\
able) sd 2966 (to) sd 3121 (debug) sd 3509 (overlays,) sd 4067 (it) sd 4191 (m\
ust) sd 4508 (be) sd 4685 (able) sd 4963 (to) sd 5117 (make) sd 5464 (requests)
sd 5967 (of) sd 6129 (the) sd 6345 (overlay) sd 6810 (manager) sd 7336 (for)
sd 1500 8756 am (certain) shwd 1941 (operations.) sd 2669 (The) sd 2946 (overl\
ay) sd 3426 (manager) sd 3967 (must) sd 4298 (also) sd 4583 (be) sd 4775 (able)
sd 5068 (to) sd 5237 (inform) sd 5678 (WVIDEO) sd 6305 (when) sd 6667 (a) sd
6788 (new) sd 7080 (overlay) sd 1500 8589 am (section is loaded.) shwd 1500
8255 am (When WVIDEO loads a DOS program, it looks at the initial CS:IP value \
for the following structure:) shwd
@fs6 1750 7838 am (struct ovl_header {) shwd 2050 7699 am (unsigned_8 short_j\
mp_opcode; /* == 0xeb */) shwd 2050 7560 am (signed_8 short_jmp_displ\
acment;) shwd 2050 7421 am (unsigned_16 signature;) shwd 4750 (/* == 0x2112 */)
sd 2050 7282 am (void \(far *hook\)\(\);) shwd 2050 7143 am (unsigned_\
16 handler_offset;) shwd 1750 7004 am (};) shwd
@fs0 1500 6670 am (WVIDEO) shwd 2114 (checks) sd 2541 (to) sd 2697 (make) sd
3046 (sure) sd 3326 (that) sd 3583 (the) sd 3801 (first) sd 4074 (instruction)
sd 4720 (is) sd 4860 (a) sd 4969 (short) sd 5296 (jump) sd 5629 (\(opcode) sd
6126 (0xeb\)) sd 6491 (and) sd 6739 (that) sd 6995 (the) sd 7212 (word) sd 1500
6503 am (following) shwd 2119 (that) sd 2402 (instruction) sd 3074 (contains)
sd 3613 (the) sd 3857 (value) sd 4233 (0x2112.) sd 4872 (If) sd 5039 (this) sd
5314 (occurs,) sd 5796 (WVIDEO) sd 6436 (assumes) sd 6973 (that) sd 7256 (it)
sd 7407 (is) sd 1500 6336 am (debugging an overlaid application.) shwd 1500
6002 am (WVIDEO) shwd 2125 (then) sd 2424 (fills) sd 2700 (in) sd 2866 (the)
sd 3094 () sd
@fs6 (hook) shwd
@fs0 3451 (field) sd 3765 (with) sd 4071 (the) sd 4299 (far) sd 4512 (address)
sd 4988 (of) sd 5162 (a) sd 5281 (routine) sd 5735 (that) sd 6002 (is) sd 6152
(invoked) sd 6660 (with) sd 6966 (a) sd 7085 (far) sd 7298 (call) sd 1500 5835
am (whenever) shwd 2130 (a) sd 2278 (change) sd 2759 (in) sd 2953 (the) sd 3209
(overlay) sd 3714 (state) sd 4055 (occurs.) sd 4675 (The) sd 4977 (initial)
sd 5389 (CS) sd 5645 (value) sd 6033 (and) sd 6320 (the) sd 6576 (contents) sd
7127 (of) sd 7329 (the) sd 1500 5668 am () shwd
@fs6 (handler_offset) shwd
@fs0 2610 (field) sd 2927 (gives) sd 3282 (the) sd 3513 (far) sd 3729 (address)
sd 4208 (of) sd 4385 (the) sd 4616 (overlay) sd 5095 (manager) sd 5635 (routi\
ne) sd 6091 (responsible) sd 6787 (for) sd 7010 (handling) sd 1500 5501 am (de\
bugger requests.) shwd
@fs3 1500 5000 am (1) shwd
@fs2 ( The Hook Routine) shwd
@fs0 1500 4499 am (After) shwd 1850 (the) sd 2075 (routine) sd 2526 (addresses)
sd 3115 (have) sd 3433 (been) sd 3751 (exchanged,) sd 4443 (WVIDEO) sd 5064 (\
starts) sd 5413 (the) sd 5638 (program) sd 6166 (executing,) sd 6803 (to) sd
6965 (allow) sd 7329 (the) sd 1500 4332 am (overlay) shwd 1962 (manager) sd
2485 (to) sd 2636 (initialize.) sd 3216 (After) sd 3554 (the) sd 3767 (manager)
sd 4290 (has) sd 4518 (finished) sd 5011 (its) sd 5185 (initialization,) sd
5971 (it) sd 6090 (performs) sd 6636 (a) sd 6739 (far) sd 6936 (call) sd 7179
(to) sd 7329 (the) sd 1500 4165 am (debugger) shwd 2087 (hook) sd 2433 (routin\
e,) sd 2939 (with) sd 3254 (the) sd 3491 (return) sd 3892 (address) sd 4377 (o\
n) sd 4583 (the) sd 4820 (stack) sd 5173 (being) sd 5550 (the) sd 5787 ("real")
sd 6177 (starting) sd 6663 (address) sd 7147 (of) sd 7329 (the) sd 1500 3998
am (program being debugged. All register contents \(including flags\) should b\
e preserved by the hook routine.) shwd 1500 3664 am (After) shwd 1838 (initial\
ization,) sd 2625 (the) sd 2838 (debugger) sd 3401 (hook) sd 3723 (routine) sd
4162 (is) sd 4297 (invoked) sd 4790 (with) sd 5081 (a) sd 5185 (far) sd 5382 (\
call) sd 5625 (every) sd 5977 (time) sd 6266 (a) sd 6369 (new) sd 6643 (overla\
y) sd 7104 (section) sd 1500 3497 am (is) shwd 1634 (loaded) sd 2048 (into) sd
2307 (memory.) sd 2859 (In) sd 3017 (this) sd 3260 (case) sd 3541 (the) sd 3753
(AX) sd 3995 (register) sd 4455 (contains) sd 4961 (the) sd 5172 (section) sd
5608 (number) sd 6075 (that) sd 6325 (was) sd 6582 (just) sd 6824 (loaded.) sd
7283 (The) sd 1500 3330 am (DL) shwd 1759 (register) sd 2252 (contains) sd 2791
(a) sd 2926 (zero) sd 3240 (or) sd 3429 (non-zero) sd 3999 (value) sd 4374 (i\
f) sd 4532 (the) sd 4775 (overlay) sd 5267 (load) sd 5580 (was) sd 5869 (cause\
d) sd 6321 (by) sd 6533 (a) sd 6667 (call) sd 6941 (or) sd 7130 (return,) sd
1500 3163 am (respectively.) shwd 2260 (The) sd 2517 (CX:BX) sd 2984 (register\
s) sd 3498 (form) sd 3810 (a) sd 3912 (far) sd 4108 (pointer) sd 4545 (to) sd
4693 (the) sd 4903 (last) sd 5136 (byte) sd 5416 (of) sd 5572 (the) sd 5782 (c\
all) sd 6023 (instruction) sd 6661 (that) sd 6910 (caused) sd 7329 (the) sd
1500 2996 am (overlay) shwd 1968 (load) sd 2257 (\(in) sd 2461 (the) sd 2680 (\
case) sd 2968 (of) sd 3133 (a) sd 3243 (overlay) sd 3711 (load) sd 4000 (being)
sd 4359 (caused) sd 4787 (by) sd 4975 (a) sd 5085 (return) sd 5468 (instructi\
on) sd 6114 (\(DL) sd 6394 (is) sd 6534 (non-zero\)) sd 7126 (the) sd 7344 (fa\
r) sd 1500 2829 am (pointer is to the last byte of the call instruction that t\
he return is returning from.\)) shwd
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?