From d3f4f24ebe6a4058ddcb270b775faddbedb7be8f Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 3 Apr 2017 16:32:38 -0500 Subject: [PATCH] unable to compile because LINK.EXE is unknown. thus i cannot test original codes damn it! --- asmyt.o | Bin 1329 -> 1329 bytes copper.ass | 20 +- copper.o | Bin 2752 -> 7531 bytes dis/DIS.ASM | 26 + dis/DIS.EXE | Bin 0 -> 1282 bytes dis/DIS.H | 59 ++ dis/DIS.MAP | 8 + dis/DIS.OBJ | Bin 0 -> 900 bytes dis/DISC.ASM | 173 +++++ dis/DISC.OBJ | Bin 0 -> 635 bytes dis/DISDATE.INC | 1 + dis/DISINT.ASM | 463 +++++++++++ dis/DISTEST.C | 26 + dis/DISTEST.EXE | Bin 0 -> 7000 bytes dis/DISTEST.OBJ | Bin 0 -> 783 bytes dis/DODATE.EXE | Bin 0 -> 6794 bytes dis/MAKEFILE | 22 + dis/NOTES | 10 + dis/README | 19 + makefile | 4 +- plz.o | Bin 5284 -> 5284 bytes plzpart.c | 2 + plzpart.exe | Bin 13150 -> 33227 bytes plzpart.map | 395 ++++++---- plzpart.o | Bin 601 -> 666 bytes plzpart/Makefile | 133 ---- plzpart/asmyt.h | 2 + plzpart/common.h | 2 + plzpart/include.asm | 40 + plzpart/plz.c | 18 +- plzpart/plzfill.c | 30 +- plzpart/plzpart.dsk | Bin 0 -> 1912 bytes plzpart/plzpart.exe | Bin 25453 -> 0 bytes plzpart/plzpart.map | 1181 +++++++++++++++++++++------- plzpart/plzpart.prj | Bin 0 -> 7318 bytes plzpart/types.h | 5 + plzpart/vect.c | 4 +- tweak.o | Bin 537 -> 537 bytes u2/ASMYT.ASM | 119 +++ u2/ASMYT.OBJ | Bin 0 -> 55949 bytes u2/COPPER.ASM | 300 ++++++++ u2/COPPER.OBJ | Bin 0 -> 3584 bytes u2/INCLUDE.ASM | 40 + u2/INCLUDE.OBJ | Bin 0 -> 3301 bytes u2/LSINI.PRE | 513 +++++++++++++ u2/LSINI16.INC | 513 +++++++++++++ u2/LSINI4.INC | 513 +++++++++++++ u2/MAIN.ASM | 634 +++++++++++++++ u2/MAIN.C | 13 + u2/MAIN.OBJ | Bin 0 -> 616 bytes u2/PLZ.C | 219 ++++++ u2/PLZ.OBJ | Bin 0 -> 5854 bytes u2/PLZA.ASM | 375 +++++++++ u2/PLZA.OBJ | Bin 0 -> 17912 bytes u2/PLZFILL.C | 186 +++++ u2/PLZFILL.OBJ | Bin 0 -> 7954 bytes u2/PLZPART.DSK | Bin 0 -> 757 bytes u2/PLZPART.EXE | Bin 0 -> 245086 bytes u2/PLZPART.MAP | 827 ++++++++++++++++++++ u2/PLZPART.PRJ | Bin 0 -> 7084 bytes u2/PSINI.INC | 1025 +++++++++++++++++++++++++ u2/PSINI.PRE | 513 +++++++++++++ plzpart/ptau.pre => u2/PTAU.INC | 2 +- u2/PTAU.PRE | 10 + u2/RATA.INC | 52 ++ u2/SINIT.INC | 163 ++++ u2/SPLINE.ASM | 89 +++ u2/SPLINE.INC | 1025 +++++++++++++++++++++++++ u2/SPLINE.OBJ | Bin 0 -> 5662 bytes u2/TILE.INC | 1272 +++++++++++++++++++++++++++++++ u2/TILEPAL.INC | 50 ++ u2/TWEAK.ASM | 350 +++++++++ u2/TWEAK.H | 12 + u2/TWEAK.OBJ | Bin 0 -> 2733 bytes u2/VECT.C | 299 ++++++++ u2/VECT.OBJ | Bin 0 -> 18126 bytes u2/X.BAT | 2 + u2broke.zip | Bin 0 -> 133698 bytes u2orig/ASMYT.ASM | 119 +++ u2orig/ASMYT.OBJ | Bin 0 -> 55949 bytes u2orig/COPPER.ASM | 300 ++++++++ u2orig/COPPER.OBJ | Bin 0 -> 3584 bytes u2orig/INCLUDE.ASM | 40 + u2orig/INCLUDE.OBJ | Bin 0 -> 3301 bytes u2orig/LSINI.PRE | 513 +++++++++++++ u2orig/LSINI16.INC | 513 +++++++++++++ u2orig/LSINI4.INC | 513 +++++++++++++ u2orig/MAIN.ASM | 634 +++++++++++++++ u2orig/MAIN.C | 13 + u2orig/PLZ.C | 219 ++++++ u2orig/PLZA.ASM | 375 +++++++++ u2orig/PLZA.OBJ | Bin 0 -> 17912 bytes u2orig/PLZFILL.C | 186 +++++ u2orig/PLZPART.DSK | Bin 0 -> 757 bytes u2orig/PLZPART.MAP | 827 ++++++++++++++++++++ u2orig/PLZPART.PRJ | Bin 0 -> 6300 bytes u2orig/PSINI.INC | 1025 +++++++++++++++++++++++++ u2orig/PSINI.PRE | 513 +++++++++++++ u2orig/PTAU.INC | 10 + u2orig/PTAU.PRE | 10 + u2orig/RATA.INC | 52 ++ u2orig/SINIT.INC | 163 ++++ u2orig/SPLINE.ASM | 89 +++ u2orig/SPLINE.INC | 1025 +++++++++++++++++++++++++ u2orig/TILE.INC | 1272 +++++++++++++++++++++++++++++++ u2orig/TILEPAL.INC | 50 ++ u2orig/TWEAK.ASM | 350 +++++++++ u2orig/TWEAK.H | 12 + u2orig/TWEAK.OBJ | Bin 0 -> 2733 bytes u2orig/VECT.C | 299 ++++++++ u2orig/X.BAT | 2 + u2plz/PLZ.OBJ | Bin 0 -> 5680 bytes u2plz/PLZFILL.OBJ | Bin 0 -> 7954 bytes u2plz/SPLINE.OBJ | Bin 0 -> 5662 bytes u2plz/VECT.OBJ | Bin 0 -> 18126 bytes 115 files changed, 20286 insertions(+), 597 deletions(-) create mode 100755 dis/DIS.ASM create mode 100755 dis/DIS.EXE create mode 100755 dis/DIS.H create mode 100755 dis/DIS.MAP create mode 100755 dis/DIS.OBJ create mode 100755 dis/DISC.ASM create mode 100755 dis/DISC.OBJ create mode 100755 dis/DISDATE.INC create mode 100755 dis/DISINT.ASM create mode 100755 dis/DISTEST.C create mode 100755 dis/DISTEST.EXE create mode 100755 dis/DISTEST.OBJ create mode 100755 dis/DODATE.EXE create mode 100755 dis/MAKEFILE create mode 100755 dis/NOTES create mode 100755 dis/README delete mode 100755 plzpart/Makefile create mode 100755 plzpart/include.asm create mode 100755 plzpart/plzpart.dsk delete mode 100755 plzpart/plzpart.exe create mode 100755 plzpart/plzpart.prj create mode 100755 u2/ASMYT.ASM create mode 100755 u2/ASMYT.OBJ create mode 100755 u2/COPPER.ASM create mode 100755 u2/COPPER.OBJ create mode 100755 u2/INCLUDE.ASM create mode 100755 u2/INCLUDE.OBJ create mode 100755 u2/LSINI.PRE create mode 100755 u2/LSINI16.INC create mode 100755 u2/LSINI4.INC create mode 100755 u2/MAIN.ASM create mode 100755 u2/MAIN.C create mode 100755 u2/MAIN.OBJ create mode 100755 u2/PLZ.C create mode 100755 u2/PLZ.OBJ create mode 100755 u2/PLZA.ASM create mode 100755 u2/PLZA.OBJ create mode 100755 u2/PLZFILL.C create mode 100755 u2/PLZFILL.OBJ create mode 100755 u2/PLZPART.DSK create mode 100755 u2/PLZPART.EXE create mode 100755 u2/PLZPART.MAP create mode 100755 u2/PLZPART.PRJ create mode 100755 u2/PSINI.INC create mode 100755 u2/PSINI.PRE rename plzpart/ptau.pre => u2/PTAU.INC (99%) create mode 100755 u2/PTAU.PRE create mode 100755 u2/RATA.INC create mode 100755 u2/SINIT.INC create mode 100755 u2/SPLINE.ASM create mode 100755 u2/SPLINE.INC create mode 100755 u2/SPLINE.OBJ create mode 100755 u2/TILE.INC create mode 100755 u2/TILEPAL.INC create mode 100755 u2/TWEAK.ASM create mode 100755 u2/TWEAK.H create mode 100755 u2/TWEAK.OBJ create mode 100755 u2/VECT.C create mode 100755 u2/VECT.OBJ create mode 100755 u2/X.BAT create mode 100755 u2broke.zip create mode 100755 u2orig/ASMYT.ASM create mode 100755 u2orig/ASMYT.OBJ create mode 100755 u2orig/COPPER.ASM create mode 100755 u2orig/COPPER.OBJ create mode 100755 u2orig/INCLUDE.ASM create mode 100755 u2orig/INCLUDE.OBJ create mode 100755 u2orig/LSINI.PRE create mode 100755 u2orig/LSINI16.INC create mode 100755 u2orig/LSINI4.INC create mode 100755 u2orig/MAIN.ASM create mode 100755 u2orig/MAIN.C create mode 100755 u2orig/PLZ.C create mode 100755 u2orig/PLZA.ASM create mode 100755 u2orig/PLZA.OBJ create mode 100755 u2orig/PLZFILL.C create mode 100755 u2orig/PLZPART.DSK create mode 100755 u2orig/PLZPART.MAP create mode 100755 u2orig/PLZPART.PRJ create mode 100755 u2orig/PSINI.INC create mode 100755 u2orig/PSINI.PRE create mode 100755 u2orig/PTAU.INC create mode 100755 u2orig/PTAU.PRE create mode 100755 u2orig/RATA.INC create mode 100755 u2orig/SINIT.INC create mode 100755 u2orig/SPLINE.ASM create mode 100755 u2orig/SPLINE.INC create mode 100755 u2orig/TILE.INC create mode 100755 u2orig/TILEPAL.INC create mode 100755 u2orig/TWEAK.ASM create mode 100755 u2orig/TWEAK.H create mode 100755 u2orig/TWEAK.OBJ create mode 100755 u2orig/VECT.C create mode 100755 u2orig/X.BAT create mode 100755 u2plz/PLZ.OBJ create mode 100755 u2plz/PLZFILL.OBJ create mode 100755 u2plz/SPLINE.OBJ create mode 100755 u2plz/VECT.OBJ diff --git a/asmyt.o b/asmyt.o index a398f3e44bf01bbeafe6d3f4cf5f7e7da3724cb7..4c32f350acdfc24f6f8b231ef6772d6d01bd112b 100755 GIT binary patch delta 79 zcmdnUwUKLrE{kzZv)4pJVVi3m(hLnRK|Epol>B1-D*b|-D*fdA+}!*;y^N9$DX6Rv Sl59z3L29vH#;J`B8(9Ex-W`De delta 79 zcmdnUwUKLrE=#gIi|0f`VVmddq{l!ul!s#rjqH1vypv$@#gt`FVO7mK{<+ Z*`6SO4k6*lcXbyEPhaLP(M%BuPl} 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 literal 0 HcmV?d00001 diff --git a/dis/DIS.H b/dis/DIS.H new file mode 100755 index 0000000..646e560 --- /dev/null +++ b/dis/DIS.H @@ -0,0 +1,59 @@ +/* Demo Int Server (DIS) V1.0 - Header & documentation file */ + +extern int dis_version(void); +/* Initialize dis. IMPORTANT. This routine must be called at start of each +** demo part, it will clear the exitkey flag and do other stuff as well... +** returns version number +** 0x100=V1.0 +** 0=dis not installed! +*/ + +extern int dis_indemo(void); +/* Returns status if the actual demo is running. +** 0=part run from dos +** 1=part run from demo (no mode switches etc) +*/ + +extern int dis_waitb(void); +/* waits for border, retuns number of frames since last call. +** (currently returns always 1) +*/ + +extern int dis_exit(void); +/* returns 1 if part should exit, 0 if not. +** Currently any key press sets dis_exit return status to 1. +*/ + +extern void dis_partstart(void); +/* initializes dis (calls dis_version), if dis is not detected +** exits to dos with an error msg. +*/ + +extern void * dis_msgarea(int areanumber); +/* returns a pointer to a 64 byte interpart communications area. +** areanumber is 0..3 +*/ + +extern int dis_muscode(int); +/* returns a music syncronization code. As a parameter, give the +** code you are waiting, so a skip can be easily done by DIS. +*/ + +extern int dis_musplus(void); +/* returns a music syncronization code. As a parameter, give the +** code you are waiting, so a skip can be easily done by DIS. +*/ + +extern int dis_musrow(int); +/* returns a music syncronization code. As a parameter, give the +** code you are waiting, so a skip can be easily done by DIS. +*/ + +extern void dis_setcopper(int routine_number,void (*routine)(void)); +/* routine=1(top of screen)/2(bottom of screen)/3(retrace) +** routine=pointer to routine +*/ + +void _dis_setmframe(int frame); +int _dis_getmframe(void); +int _dis_sync(void); diff --git a/dis/DIS.MAP b/dis/DIS.MAP new file mode 100755 index 0000000..eb40b65 --- /dev/null +++ b/dis/DIS.MAP @@ -0,0 +1,8 @@ + + Start Stop Length Name Class + + 00000H 00070H 00071H CODE CODE + +Program entry point at 0000:005A +Warning: No stack + diff --git a/dis/DIS.OBJ b/dis/DIS.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..23ea1449fb8fe56a3db13401438f00309d18aaa0 GIT binary patch literal 900 zcmYk3ZAepL6vxl=+~st(X-)(U<|70u^>q4)AT=kh-<_dMshodHIlsPNs2 ze>qeL03J>5kyxXm2>zZvL1wH=kQGr1uu8saE|digUuT^^3;x%PhpedVi6k8@JKyT_Z{BR-@3|`467+md5?(kzH^iqy;JJbAv#Ck&ORPDdvQ9z1juVwMHFuV>E<0br7;{O%0a?7(tFjVTDYMtsI+&+d zVCOYelLh9Ig&StmIk%^gb-6n_o7>x18J75iVxQo1vWhe1mDS}~QsHpgtDIF1W;Qhk z6t%k#!>j}cXIH(YyxG*&?r}S@v8XWoIaBrr@kxRbC{~%G1%r~TGOrX2;(U_K{F)+q znKBUY%2GhQ*{$LNi_E4|1*0#=))oQgGGaxW)g%J;#S0KC8d^Vm@e1%6T305IL3Gta zlxYi)1T^3-a2rT&N~j@+!fHzBKO#Ix36Ud0=TrgqAXn%U`kc6u&%1JF!PzXycD$dN$Q!vsq-O?ez z;P7&L=VvLnrW+m1Kp~%LObiSeAm+j;(*zheOHwOJ;z8!JIQzS}X3t<}$hgA5#LOr^ zL70Jokq0CdpIcg-oS%|f%)sz|f+$dw4=h@cSX5G60wf$57&MW@(^E@w(~1&vQ};12 z+?XH)RL>1opP84Enwy`%z)*ptxHz>WIlrJFwP-d2!#z|h3vx<}8yFaNqN;`%y^ew5 z&IAFV(VSqTQ!6q{q8J!lkZc3GxhTK9pMgPQf*?>G7g$|+VrEH_G6RDQlHTIVyyR01 z3>T3sFN1_5Fo=DSM01PN6N^$4(-;_dI#?JS7BNm-aD#!7fx-Ad-vPC5xev^0eQckY z)f(&n9pEqJ0n&efG>h@=vwu$SW@G@8u0cWmK~@Sbp1}%v`6UWD`H3m1DS9e=FZTSm zWnd^3=sD4MW0xkw7S6MZJD7dWDxTiW1k$#f8AOJ5zv*^k+sz7O$HF*l=$!6DV7c8O yiSENNb=`g(-CWej`)Qz{^$axmJ$HAQ{({v literal 0 HcmV?d00001 diff --git a/dis/DISDATE.INC b/dis/DISDATE.INC new file mode 100755 index 0000000..00a3107 --- /dev/null +++ b/dis/DISDATE.INC @@ -0,0 +1 @@ +db 'BETA VERSION - Compiled: 07/26/93 03:15:53 ' \ No newline at end of file diff --git a/dis/DISINT.ASM b/dis/DISINT.ASM new file mode 100755 index 0000000..60b80cb --- /dev/null +++ b/dis/DISINT.ASM @@ -0,0 +1,463 @@ +;Actual DIS server routines +;========================== +;note: lines with TEMP! are temporary to be replaced by smarter +;techniques in the future... + +LOCALS +.386 +ALIGN 16 + +;±±±±±±±±±±±±±±±±±±±± Variables ±±±±±±±±±±±±±±±±±± +exitflag dw 0 ;1=exit key pressed +indemoflag dw 0 ;1=inside the great big ultra cool demo +passmuscode dw 0 + +ALIGN 4 +msgarea0 db 64 dup(0) +msgarea1 db 64 dup(0) +msgarea2 db 64 dup(0) +msgarea3 db 64 dup(0) + +;±±±±±±±±±±±±±± List of service routines ±±±±±±±±±±±± +service0 LABEL WORD + dw OFFSET version_0 + dw OFFSET waitb_1 + dw OFFSET exit_2 + dw OFFSET indemo_3 + dw OFFSET loader_4 + dw OFFSET msgarea_5 + dw OFFSET muscode_6 + dw OFFSET setcopper_7 + dw OFFSET fastvmode_8 + dw OFFSET musframe_9 + dw OFFSET sync_10 +service9 LABEL WORD + +;±±±±±±±±±±±±±±±±±±±± General stuff ±±±±±±±±±±±±±±±±±± + +dis_oldint dd ? + +dis_setint PROC NEAR + push ds + xor ax,ax + mov ds,ax + mov ax,word ptr ds:[0fch*4+0] + mov bx,word ptr ds:[0fch*4+2] + mov word ptr cs:dis_oldint[0],ax + mov word ptr cs:dis_oldint[2],bx + mov word ptr ds:[0fch*4+0],OFFSET dis_int + mov word ptr ds:[0fch*4+2],cs + pop ds + ret +dis_setint ENDP + +dis_resetint PROC NEAR + xor ax,ax + mov ds,ax + mov ax,word ptr cs:dis_oldint[0] + mov bx,word ptr cs:dis_oldint[2] + mov word ptr ds:[0fch*4+0],ax + mov word ptr ds:[0fch*4+2],bx + ret +dis_resetint ENDP + + dw 0fc0h ;signature for dis + dw 0fc0h ;installation check +dis_int PROC FAR ;interrupt 0fch server, BX=function number + sti + shl bx,1 + cmp bx,(service9-service0) + jae @@1 + call cs:service0[bx] +@@1: iret +dis_int ENDP + +;±±±±±±±±±±±±±±±±±±±± Service Routines ±±±±±±±±±±±±±±±±±± + +;entry: - +; exit: AX=version +;descr: - +version_0 PROC NEAR + ;indemo? + IFDEF INDEMO + mov ax,1 + ELSE + mov ax,0 + ENDIF + mov cs:indemoflag,ax + ;initialize + mov cs:passmuscode,0 + mov cs:exitflag,0 + ;return version + mov ax,0100h + ret +version_0 ENDP + +ff PROC FAR + IFDEF INDEMO + push es + mov es,cs:stmikseg + mov bx,es:_np_ord + inc bx + xor ax,ax + push ax + push bx + call _zgotosong + add sp,4 + pop es + ENDIF + ret +ff ENDP + +checkkeys PROC NEAR + IFDEF INDEMO + cmp cs:forcebreak,0 + jne @@3 + ENDIF + call ctrldown + jc @@6 + mov ah,1 ;TEMP! + int 16h + jz @@3 + mov ah,0 + int 16h + cmp al,'0' + jne @@9 + pusha + push ds + push es + mov ax,0fcfch + mov bx,1 + int 33h + pop es + pop ds + popa + ret +@@9: cmp al,'9' + jne @@8 + pusha + push ds + push es + mov ax,0fcfch + mov bx,2 + int 33h + pop es + pop ds + popa + ret +@@8: cmp al,'1' + jne @@5 + call ff +@@5: cmp al,27 + jne @@4 +@@6: mov cs:exitflag,1 +@@4: mov cs:passmuscode,1 +@@3: ret +checkkeys ENDP + +;entry: - +; exit: - +;descr: Waits for border start +waitb_1 PROC NEAR + call checkkeys + IFDEF INDEMO + sti + mov ax,cs:copperframecount +@@v: cmp cs:copperframecount,ax + je @@v +@@q: mov ax,cs:copperframecount + mov cs:copperframecount,0 + ELSE + mov dx,3dah +@@1: in al,dx + test al,8 + jnz @@1 +@@2: in al,dx + test al,8 + jz @@2 + mov ax,1 ;number of frames taken ;TEMP! + ENDIF + ret +waitb_1 ENDP + +;entry: - +; exit: AX=return +;descr: returns 1 if part should exit. +exit_2 PROC NEAR + call checkkeys + mov ax,cs:exitflag + ret +exit_2 ENDP + +;entry: - +; exit: AX=return +;descr: returns 1 if inside demo (and not testing from dos) +indemo_3 PROC NEAR + mov ax,cs:indemoflag + ret +indemo_3 ENDP + +;entry: AX=area desired (0..3) +; exit: DX:AX=pointer to msgarea +;descr: returns a pointer to interpart communications area. +; There is ONLY 64 bytes of space in the area, DON'T OVERFLOW IT :-) +msgarea_5 PROC NEAR + cmp ax,1 + je @@1 + cmp ax,2 + je @@2 + cmp ax,3 + je @@3 +@@0: mov dx,cs + mov ax,OFFSET msgarea0 + ret +@@1: mov dx,cs + mov ax,OFFSET msgarea1 + ret +@@2: mov dx,cs + mov ax,OFFSET msgarea2 + ret +@@3: mov dx,cs + mov ax,OFFSET msgarea3 + ret +msgarea_5 ENDP + +;Loader functions (not for parts) +;entry: AX=0/1 +; exit: - +;descr: AX=0: restores dos process id +; AX=1: sets dos process id to the loader +; AX=100h: call _zloadinstrument(dx) +; AX=101h: call _zinitmodule(dx:0) +; This is used to load the music in name of the loader! +loader_4 PROC NEAR + IFDEF INDEMO + call loaderservices + ENDIF + ret +loader_4 ENDP + +;entry: AX=code you want (are waiting for) +; exit: AX=current code,BX=row +muscode_6 PROC NEAR + push ax + call checkkeys + pop ax + IFDEF INDEMO + push es + mov es,cs:stmikseg + mov ax,es:_np_zinfo + mov bx,es:_np_row + mov cx,es:_np_ord + mov dx,-32 + cmp es:_np_zplus,0 + je @@1a + cmp es:_np_zplus,1 + je @@1b + cmp es:_np_zplus,2 + je @@1e +@@1eb: cmp bx,32 + ja @@1b +@@1e: mov dx,bx + cmp dx,32 + jb @@1a + mov dx,-32 + jmp @@1a +@@1b: ;plus coming + mov dx,bx + sub dx,64 + cmp dx,-32 + jge @@1a + mov dx,-32 +@@1a: mov bx,es:_np_row + pop es + ELSE + cmp cs:passmuscode,0 + jne @@1 + xor ax,ax + ENDIF + ret +@@1: mov cs:passmuscode,0 + ret +muscode_6 ENDP + +;entry: AX=number of copper interrupt to capture: +; 0=after display start (about scan line 25) +; 1=just before retrace (AVOID USING THIS IF POSSIBLE) +; 2=in the retrace +; DX:CX=far pointer to routine (0:0=remove routine) +; The routine pointed to must end in a RETF. It must save any +; 386 registers it uses (including FS/GS) +; exit: - +;descr: sets the specified copper interrupt to call the specified routine. +; IMPORTANT: The part must reset the copper int before it exits! +setcopper_7 PROC NEAR + IFDEF INDEMO + or dx,dx + jnz @@1 + or cx,cx + jnz @@1 + mov dx,cs + mov cx,OFFSET copper_intretf +@@1: cmp ax,0 + jne @@2 + mov word ptr cs:copper_int0[0],cx + mov word ptr cs:copper_int0[2],dx +@@2: cmp ax,1 + jne @@3 + mov word ptr cs:copper_int1[0],cx + mov word ptr cs:copper_int1[2],dx +@@3: cmp ax,2 + jne @@4 + mov word ptr cs:copper_int2[0],cx + mov word ptr cs:copper_int2[2],dx +@@4: ENDIF + ret +setcopper_7 ENDP + +;entry: AX=area (0..3) containing the saved VGA state. +; exit: - +;descr: Quicksets the desired vga mode (takes one frame) +fastvmode_8 PROC NEAR ;DOESN'T WORK!-( + IFDEF INDEMO + push si + push ds + call msgarea_5 ;dx:ax=ds:ax + mov si,ax + mov ax,cs + mov ds,ax + ;data now at ds:si + push si + call waitb_1 + pop si + mov dx,3dah + in al,dx + ;Syncronous reset + mov dx,3c4h + mov ax,0200h + out dx,ax + ;Clear CRTC protection flag + mov dx,3d4h + mov al,011h + out dx,al + inc dx + in al,dx + and al,not 128 + out dx,al + ;Set misc register + mov al,ds:[si] + inc si + mov dx,3c2h + out dx,al + ;Set Sequencer (3C4) + mov dx,3c4h + xor al,al + REPT 04h+1 + mov ah,ds:[si] + inc si + out dx,ax + inc al + ENDM + ;Set CRTC (3D4) + mov dx,3d4h + xor al,al + REPT 018h+1 + mov ah,ds:[si] + inc si + out dx,ax + inc al + ENDM + ;Set GFX controller (3CE) + mov dx,3ceh + xor al,al + REPT 08h+1 + mov ah,ds:[si] + inc si + out dx,ax + inc al + ENDM + ;Set Attribute controller (3C0) + mov dx,3dah + in al,dx + mov dx,3c0h + zzz=0 + REPT 014h+1 + mov al,zzz + out dx,al + mov al,ds:[si] + out dx,al + inc si + zzz=zzz+1 + ENDM + ;Enable display, enable PEL mask + mov dx,3c0h + mov al,20h + out dx,al + mov dx,3c6h + mov al,0ffh + out dx,al + pop ds + pop si + ELSE + mov ax,13h + int 10h + ENDIF + ret +fastvmode_8 ENDP + +;entry: AX=1 : set frame to DX +; AX=0 : read frame to AX +; exit: AX=frame) +;descr: controls/returns music frame numbers +musframe_9 PROC NEAR + IFDEF INDEMO + push es + mov es,cs:stmikseg + cmp ax,0 + je @@1 + mov es:_np_zframe,dx +@@1: mov ax,es:_np_zframe + pop es + ELSE + xor ax,ax + ENDIF + ret +musframe_9 ENDP + +IFDEF INDEMO +ordersync1 LABEL BYTE ;startpart +dw 0000h,0 +dw 0200h,1 +dw 0300h,2 +dw 032fh,3 +dw 042fh,4 +dw 052fh,5 +dw 062fh,6 +dw 072fh,7 +dw 082fh,8 +dw 0900h,9 +dw 0d00h,10 +;dw 0800h,8 +;dw 0c00h,9 +;dw 0f00h,10 +dw 3d00h,1 +dw 3f00h,2 +dw 4100h,3 +dw 4200h,4 +ENDIF + +sync_10 PROC NEAR + IFDEF INDEMO + mov es,cs:stmikseg + mov dh,byte ptr es:_np_ord + mov dl,byte ptr es:_np_row + mov bx,OFFSET ordersync1 + mov cx,16 +@@2: cmp dx,cs:[bx] + jbe @@1 + add bx,4 + loop @@2 +@@1: mov ax,cs:[bx-2] + ENDIF + ret +sync_10 ENDP diff --git a/dis/DISTEST.C b/dis/DISTEST.C new file mode 100755 index 0000000..24c8ee0 --- /dev/null +++ b/dis/DISTEST.C @@ -0,0 +1,26 @@ +#include +#include "dis.h" + +main() +{ + int a; + a=dis_version(); + if(!a) + { + printf("\nDIS not installed!\n"); + return(1); + } + else + { + printf("\nDIS version %04X installed.\n",a); + } + printf("\nPress any key to exit.\n"); + a=0; + while(!dis_exit()) + { + a+=dis_waitb(); + printf("%i frames waited.\r",a); + } + printf("\n\n"); + return(0); +} diff --git a/dis/DISTEST.EXE b/dis/DISTEST.EXE new file mode 100755 index 0000000000000000000000000000000000000000..2eb436c37eb6a2d1f092cc49b16548642d304ddc GIT binary patch literal 7000 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 SpEfw{(zGknv^f8VpZ^6cr$DaN*`G;wYSGT5bB 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 literal 0 HcmV?d00001 diff --git a/dis/MAKEFILE b/dis/MAKEFILE new file mode 100755 index 0000000..8ceff06 --- /dev/null +++ b/dis/MAKEFILE @@ -0,0 +1,22 @@ +all : dis.exe distest.exe + +objs= + +asm_f = /ML /m2 /s /JJUMPS +c_f = /AL /c /W3 + +.asm.obj : + tasm $(asm_f) $< + +.c.obj : + cl /qc $(c_f) $< + +dis.obj : dis.asm disint.asm + ..\util\dodate "db 'BETA VERSION - Compiled:" "'" > disdate.inc + tasm $(asm_f) dis.asm + +dis.exe : dis.obj + link dis.obj,dis.exe; + +distest.exe : distest.obj disc.obj + link /E distest.obj+disc.obj,distest.exe; diff --git a/dis/NOTES b/dis/NOTES new file mode 100755 index 0000000..e9c9be4 --- /dev/null +++ b/dis/NOTES @@ -0,0 +1,10 @@ +0 version +1 waitborder, returns number frames +2 keybhit 0 ei, 1=quit +3 indemo + +. set framecounter +. get framecounter +. insert copper routine +. remove copper routine +. get equpointer diff --git a/dis/README b/dis/README new file mode 100755 index 0000000..34b31f0 --- /dev/null +++ b/dis/README @@ -0,0 +1,19 @@ +Demo Interrupt Server - For Internal FC distribution +==================================================== + +Version is 1.0á, this is still in development, and will be untill +< Unreal 2 | [ Rectum ] [Impact] | Potato | ? > is finished. + +Read dis.h for function descriptions. + +makefile guess (microsoft nmake) +dis.h C header file for routines in disc.asm +disc.asm C interface routines for DIS (also usable from asm) +dis.asm Resident DIS server main program +disint.asm Actual DIS interrupt server +distest.c C test program for DIS +notes Notes... Nothing special + +The disc.asm(obj) is the easiest way to call dis from C. If you want +to call it from asm, see the disc.asm and copy routines from there +or include it to your asm. \ No newline at end of file diff --git a/makefile b/makefile index 7d04724..976717b 100755 --- a/makefile +++ b/makefile @@ -95,8 +95,8 @@ asmyt.$(OBJ): asmyt.h asmyt.c #wasm $(AFLAGS) -zcm=tasm -c asmyt.asm wcl $(FLAGS) -c asmyt.c copper.$(OBJ): copper.h copper.asm#copper.c - wasm $(AFLAGS) -zcm=tasm -c copper.asm -# wasm $(AFLAGS) -c copper.ass +# wasm $(AFLAGS) -zcm=tasm -c copper.asm + wasm $(AFLAGS) -c copper.ass # wcl $(FLAGS) -c copper.c #tasm compiled... diff --git a/plz.o b/plz.o index 5554554a867a3ed3a38e38d6f1ca2fdb05d79c02..c0c09c894dab4e34074a0d1919e345f5bbc37dfe 100755 GIT binary patch delta 208 zcmZ3YxkPh;vzLH=N`A3^m3~1E80#f(>X2Y)c!^CaV{L~NR7wa*S7LE)Wr<$K zMXZt~l?AEAdKsrWq@g;65jtJo`e delta 208 zcmZ3YxkPhB1-D*b{SFxE>x*&)Hu@UkJ18AB@LPlpsxYIDqL4 //extern vect(); void main() { // dis_partstart(); init_copper(); + printf("copper ok\n"); // initvect(); plz(); // vect(); diff --git a/plzpart.exe b/plzpart.exe index 7073913ae17415fa5e8fdf64d18f23d90a69af6b..82b1a2198560a03d177d446a3d1c4ba5a2ff308b 100755 GIT binary patch literal 33227 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 TVcTZOqwM849k{P>oJ;=)Y}q>& diff --git a/plzpart.map b/plzpart.map index 9011565..dc573ef 100755 --- a/plzpart.map +++ b/plzpart.map @@ -1,7 +1,7 @@ -Open Watcom Linker Version 2.0 beta Feb 1 2016 01:01:49 (32-bit) +Open Watcom Linker Version 2.0 beta Nov 19 2016 01:49:19 (64-bit) Copyright (c) 2002-2016 The Open Watcom Contributors. All Rights Reserved. Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved. -Created on: 16/08/08 09:22:34 +Created on: 17/04/03 15:34:13 Executable Image: plzpart.exe creating a DOS executable @@ -13,7 +13,7 @@ creating a DOS executable Group Address Size ===== ======= ==== -DGROUP 01b0:0000 0000aa50 +DGROUP 04c8:0000 0000ad90 @@ -24,28 +24,28 @@ DGROUP 01b0:0000 0000aa50 Segment Class Group Address Size ======= ===== ===== ======= ==== -plzpart_TEXT CODE AUTO 0000:0000 00000020 -tweak_TEXT CODE AUTO 0000:0020 0000006d -plz_TEXT CODE AUTO 0000:0090 00000a26 -asmyt_TEXT CODE AUTO 0000:0ac0 000001ef -copper_TEXT CODE AUTO 0000:0cb0 0000099b -_TEXT CODE AUTO 0000:164c 000004ae -FAR_DATA FAR_DATA AUTO 01af:000a 00000000 -_NULL BEGDATA DGROUP 01b0:0000 00000020 -_AFTERNULL BEGDATA DGROUP 01b2:0000 00000002 -CONST DATA DGROUP 01b2:0002 00000000 -CONST2 DATA DGROUP 01b2:0002 00000000 -_DATA DATA DGROUP 01b3:0000 000002c4 -XIB DATA DGROUP 01df:0004 00000000 -XI DATA DGROUP 01df:0004 00000006 -XIE DATA DGROUP 01df:000a 00000000 -YIB DATA DGROUP 01df:000a 00000000 -YI DATA DGROUP 01df:000a 00000000 -YIE DATA DGROUP 01df:000a 00000000 -STRINGS DATA DGROUP 01df:000a 00000000 -DATA DATA DGROUP 01df:000a 00000000 -_BSS BSS DGROUP 01df:000a 0000274e -STACK STACK DGROUP 0455:0000 00008000 +plzpart_TEXT CODE AUTO 0000:0000 00000039 +tweak_TEXT CODE AUTO 0000:0040 0000006d +plz_TEXT CODE AUTO 0000:00b0 00000a26 +asmyt_TEXT CODE AUTO 0000:0ae0 000001ef +copper_TEXT CODE AUTO 0000:0cd0 00000987 +_TEXT CODE AUTO 0000:1660 0000361e +FAR_DATA FAR_DATA AUTO 04c7:000e 00000000 +_NULL BEGDATA DGROUP 04c8:0000 00000020 +_AFTERNULL BEGDATA DGROUP 04ca:0000 00000002 +CONST DATA DGROUP 04ca:0002 00000050 +CONST2 DATA DGROUP 04cf:0002 00000000 +_DATA DATA DGROUP 04d0:0000 00000488 +XIB DATA DGROUP 0518:0008 00000000 +XI DATA DGROUP 0518:0008 00000018 +XIE DATA DGROUP 051a:0000 00000000 +YIB DATA DGROUP 051a:0000 00000000 +YI DATA DGROUP 051a:0000 00000006 +YIE DATA DGROUP 051a:0006 00000000 +STRINGS DATA DGROUP 051a:0006 00000000 +DATA DATA DGROUP 051a:0006 00000000 +_BSS BSS DGROUP 051a:0006 00002862 +STACK STACK DGROUP 07a1:0000 00008000 +----------------+ @@ -59,129 +59,262 @@ Address Symbol ======= ====== Module: plzpart.o(/dos/z/plz/plzpart.c) -0000:0000 main_ +0000:000c main_ Module: tweak.o(/dos/z/plz/tweak.c) -0000:0020 tw_opengraph2_ -0000:0068 tw_setrgbpalette_ +0000:0040 tw_opengraph2_ +0000:0088 tw_setrgbpalette_ Module: plz.o(/dos/z/plz/plz.c) -0000:0090 plz_ -0000:0352+ init_plz_ -01b0:0030* _vmem -01b0:0034+ _ptau -01b0:0134+ _curpal -01b0:0136* _timetable -01b0:014a+ _ttptr -01b0:014c _l1 -01b0:014e _l2 -01b0:0150 _l3 -01b0:0152 _l4 -01b0:0154 _k1 -01b0:0156 _k2 -01b0:0158 _k3 -01b0:015a _k4 -01b0:015c _il1 -01b0:015e _il2 -01b0:0160 _il3 -01b0:0162 _il4 -01b0:0164 _ik1 -01b0:0166 _ik2 -01b0:0168 _ik3 -01b0:016a _ik4 -01b0:016c+ _inittable -01b0:02fa+ _pals +0000:00b0 plz_ +0000:0372+ init_plz_ +04c8:0080* _vmem +04c8:0084+ _ptau +04c8:0184+ _curpal +04c8:0186* _timetable +04c8:019a+ _ttptr +04c8:019c _l1 +04c8:019e _l2 +04c8:01a0 _l3 +04c8:01a2 _l4 +04c8:01a4 _k1 +04c8:01a6 _k2 +04c8:01a8 _k3 +04c8:01aa _k4 +04c8:01ac _il1 +04c8:01ae _il2 +04c8:01b0 _il3 +04c8:01b2 _il4 +04c8:01b4 _ik1 +04c8:01b6 _ik2 +04c8:01b8 _ik3 +04c8:01ba _ik4 +04c8:01bc+ _inittable +04c8:0526+ _pals Module: asmyt.o(/dos/z/plz/asmyt.c) -0000:0ac0 plzline_ -0000:0b3a setplzparas_ -0000:0c6e set_plzstart_ -Module: copper.o(/dos/z/plz/copper.asm) -0000:0cb0 _frame_count -0000:0ceb init_copper_ -0000:0cc0 close_copper_ -0000:0cb2 _cop_drop -0000:0cb4* _cop_pal -0000:0cb8* _do_pal -0000:0cbc* _cop_scrl -0000:0cba _cop_start -0000:0cbe _cop_plz -0000:0d8b* pompota -0000:0db9* moveplz -0000:0e97 _fadepal -0000:1497 _cop_fadepal +0000:0ae0 plzline_ +0000:0b5a setplzparas_ +0000:0c8e set_plzstart_ +Module: copper.o(/dos/z/plz/copper.ass) +0000:0cd0 _frame_count +0000:0cd2 _cop_drop +0000:0cd4* _cop_pal +0000:0cd8* _do_pal +0000:0cda _cop_start +0000:0cdc* _cop_scrl +0000:0cde _cop_plz +0000:0ce0 close_copper_ +0000:0d0b init_copper_ +0000:0d99* _pompota +0000:0dc7* _moveplz +0000:0ea3 _fadepal +0000:14a3 _cop_fadepal Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(stk086.asm) -0000:1651 __STK -0000:1671* __STKOVERFLOW_ +0000:1665 __STK +0000:1685* __STKOVERFLOW_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(printf.c) +0000:16a2 printf_ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(cstart) -01b0:0000* __nullarea -01b0:02b6* __ovlflag -01b0:02b7* __intno -01b0:02b8* __ovlvec -0000:168e _cstart_ -0000:1761* _Not_Enough_Memory_ -0000:1893 __exit_ -0000:18b0 __do_exit_with_msg__ -0000:1909 __GETDS +04c8:0000* __nullarea +04c8:0306* __ovlflag +04c8:0307* __intno +04c8:0308* __ovlvec +0000:16d2 _cstart_ +0000:17a5* _Not_Enough_Memory_ +0000:18d7 __exit_ +0000:18f4 __do_exit_with_msg__ +0000:194d __GETDS Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(cmodel.asm) -0000:1914 _big_code_ -0000:1914* CodeModelMismatch +0000:1958 _big_code_ +0000:1958* CodeModelMismatch Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(i4m.asm) -0000:1914 __I4M -0000:1914* __U4M +0000:1958 __I4M +0000:1958 __U4M Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(pia.asm) -0000:1933 __PIA -0000:192c* __PIS +0000:1977 __PIA +0000:1970* __PIS Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(kbhit.c) -0000:194a kbhit_ +0000:198e kbhit_ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(xmsg.c) -0000:1961* __exit_with_msg_ -0000:1966 __fatal_runtime_error_ +0000:19a5* __exit_with_msg_ +0000:19aa __fatal_runtime_error_ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(crwdata) -01b0:02bc __curbrk -01b0:02c4 __STACKLOW -01b0:02c6 __STACKTOP -01b0:02c8 __cbyte -01b0:02ca __child -01b0:02cc __no87 -01b0:02d9 ___FPE_handler -01b0:02be __psp -01b0:02cd __get_ovl_stack -01b0:02d1 __restore_ovl_stack -01b0:02d5 __close_ovl_file -01b0:02dd __LpCmdLine -01b0:02e1 __LpPgmName -01b0:02c0 __osmajor -01b0:02c1 __osminor -01b0:02c2 __osmode -01b0:02c3 __HShift +04c8:030c __curbrk +04c8:0314 __STACKLOW +04c8:0316 __STACKTOP +04c8:0318 __cbyte +04c8:031a __child +04c8:031c __no87 +04c8:0329 ___FPE_handler +04c8:030e __psp +04c8:031d __get_ovl_stack +04c8:0321 __restore_ovl_stack +04c8:0325 __close_ovl_file +04c8:032d __LpCmdLine +04c8:0331 __LpPgmName +04c8:0310 __osmajor +04c8:0311 __osminor +04c8:0312 __osmode +04c8:0313 __HShift +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(iob.c) +04c8:0336 ___iob +04c8:2c6e ___ClosedStreams +04c8:2c72 ___OpenStreams +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fprtf.c) +0000:19e0 __fprtf_ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(cmain086.c) -0000:1980 __CMain +0000:1b33 __CMain Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(initrtns.c) -0000:19e1 __InitRtns -0000:19e1* __FInitRtns -0000:1a3c __FiniRtns -0000:1a3c* __FFiniRtns +0000:1b94 __InitRtns +0000:1b94* __FInitRtns +0000:1bef __FiniRtns +0000:1bef* __FFiniRtns Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(uselfn.c) -01b0:02e6 ___uselfn +04c8:049e ___uselfn Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(dosseg) -0000:1aa0 __DOSseg__ +0000:1c54 __DOSseg__ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(enterdb.c) -0000:1aa1 __EnterWVIDEO_ -01b0:02e8+ ___WD_Present +0000:1c55 __EnterWVIDEO_ +04c8:04a0+ ___WD_Present +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(initfile.c) +0000:1c79 __InitFiles_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(ioexit.c) +0000:1eba* fcloseall_ +0000:1ec1 __full_io_exit_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fputc.c) +0000:1ecb fputc_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(ioalloc.c) +0000:20a0 __ioalloc_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(prtf.c) +0000:222e __prtf_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(flush.c) +0000:3382 __flush_ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(___argc.c) -01b0:2a42 ____Argv -01b0:2a46 ____Argc +04c8:2c76 ____Argv +04c8:2c7a ____Argc Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(amblksiz.c) -01b0:02ea __amblksiz +04c8:04a2 __amblksiz Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(exit.c) -0000:1ac5+ __null_int23_exit_ -0000:1ac6 exit_ -0000:1ade* _exit_ -01b0:02ec+ ___int23_exit -01b0:02f0+ ___FPE_handler_exit +0000:35cb+ __null_int23_exit_ +0000:35cc exit_ +0000:35e4* _exit_ +04c8:04a4+ ___int23_exit +04c8:04a8+ ___FPE_handler_exit Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(sgdef086) -01b0:02f4 __Start_XI -01b0:02fa __End_XI -01b0:02fa __Start_YI -01b0:02fa __End_YI +04c8:0508 __Start_XI +04c8:0520 __End_XI +04c8:0520 __Start_YI +04c8:0526 __End_YI +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(nmalloc.c) +0000:3600 _nmalloc_ +04c8:04ac ___nheapbeg +04c8:04ae ___MiniHeapRover +04c8:04b0 ___LargestSizeB4MiniHeapRover +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fmalloc.c) +0000:36d7* _fmalloc_ +0000:36d7 malloc_ +04c8:04b2+ ___fheap +04c8:04b4 ___fheapRover +04c8:04b6 ___LargestSizeB4Rover +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(ptc.asm) +0000:384c __PTC +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fclose.c) +0000:387f+ __doclose_ +0000:39eb __shutdown_stream_ +0000:3a05* fclose_ +04c8:2c7c+ ___RmTmpFileFn +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(freefp.c) +0000:3a70 __freefp_ +0000:3af9 __purgefp_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(errno.c) +0000:3b38* __get_errno_ptr_ +04c8:2c80 _errno +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(chktty.c) +0000:3b3f __chktty_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(wctomb.c) +0000:3b9e wctomb_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(itoa.c) +0000:3be9+ utoa_ +0000:3c91 itoa_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(strupr.c) +0000:3cdb strupr_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(noefgfmt.c) +04c8:04b8 ___EFG_printf +04c8:04bc* ___EFG_scanf +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(mbisdbcs.c) +04c8:04c0 ___IsDBCS +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(mbislead.c) +0000:3d20* _ismbblead_ +04c8:2c82 ___MBCSIsTable +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(lltoa.c) +0000:3d3c ulltoa_ +0000:3e87* lltoa_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(ltoa.c) +0000:3ef8 ultoa_ +0000:3fc0* ltoa_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(qwrit.c) +0000:400e __qwrite_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(__lseek.c) +0000:406e __lseek_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fsync.c) +0000:40a8 fsync_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(mem.c) +0000:40b0 __MemAllocator +0000:417a __MemFree +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(nmemneed.c) +0000:42e6 __nmemneed_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(grownear.c) +0000:436e __LastFree_ +0000:43e8 __ExpandDGROUP_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(growseg.c) +0000:44f9 __GrowSeg_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(allocseg.c) +0000:466f __AllocSeg_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fmemneed.c) +0000:475e __fmemneed_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(heapgrow.c) +0000:4761* _heapgrow_ +0000:4761* _fheapgrow_ +0000:4762 _nheapgrow_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(_clse.c) +0000:47d7 __close_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(ffree.c) +0000:480d* _ffree_ +0000:480d free_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(isatt.c) +0000:487a isatty_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(alphabet.c) +0000:4896 ___Alphabet +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(mbinit.c) +0000:48f9 __mbinit_ +04c8:04c2+ ___MBCodePage +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(iomode.c) +0000:49d4 __GetIOMode_ +0000:4a09 __SetIOMode_nogrow_ +04c8:04c4+ ___NFiles +04c8:04c6+ ___init_mode +04c8:04ee+ ___io_mode +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(dosret.c) +0000:4a3e* __dosretax +0000:4a43* __dosret0 +0000:4a4a __set_errno_dos_ +0000:4ab2* __set_errno_dos_reterr_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(filedos.c) +0000:4abd* _dos_close_ +0000:4acb _dos_commit_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(heapen.c) +0000:4ada* _heapenable_ +04c8:0506 ___heap_enabled +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(sbrk.c) +0000:4aeb __brk_ +0000:4b52* sbrk_ +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(nfree.c) +0000:4b62 _nfree_ +04c8:2d84+ ___MiniHeapFreeRover +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(doserrno.c) +0000:4c5d* __get_doserrno_ptr_ +04c8:2d86 __doserrno +Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(error086.asm) +0000:4c64 __doserror_ +0000:4c72* __doserror1_ +--------------------+ @@ -196,6 +329,6 @@ Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(sgdef086) +-----------------------+ Stack size: 8000 (32768.) -Memory size: c550 (50512.) -Entry point address: 0000:168e -Link time: 00:00.00 +Memory size: fa10 (64016.) +Entry point address: 0000:16d2 +Link time: 00:00.62 diff --git a/plzpart.o b/plzpart.o index 45117d02ccf26216fc18cea3f786b3bbb0778459..f81f41af6ea27e187dc3a5f87300e7531db2d52a 100755 GIT binary patch delta 436 zcmcb~GK+PBzLR53vzLf|N`A3^m3~1E7#AcKmFOiu?T}$;cxjA7I^$i36jXX*p>X|0 zI8O-4tdh!t)MCAiQ`jZTQxmiGG9GtGL(LIJ(wUrJP>@=rmr>Fo0hJX%k_Ea`FJo;7 zGf;|Wng#;{%VcIoEjCLAb|%JclZ_bz>KE`cFfuSe3{l9>=3+S9!O76@w-_kM%~0H9 z!oV6I9~|P%z>}GmSrQLX7tg?6P?VWhk`~Xv0<<8Wfj2oPzc>{xo3X%%fsvcxk85b> z(;Zw4vlxH?Oz`bsUIL9tH+R*4)I*ym%nXZ;CXK%g(^Vz{w!Nz{Ma7WN9(*G3Yb!Gng>gPZniz F0RXfNg|`3z delta 378 zcmbQmdXr^>zSBn!4o?yNl>B1-D*b{SFfK?eD$z@R+9AWx@bVT8>5T6kQb6g=F{?c$ z77EvUgLyqc{vJX|W|dSHq!#OCTm(yYHlj(ErzU3WW$f#a2AZ=DXpJzE&gA@pg480t zjFlY{K-q>wW={bmS)e=hGX8Wh1EqMTX)rLbOlD@(VpCvXXJR}**_bgvtVf%HH9kH# z#G8R9GcU6w9%9_&1B~MJSqoGc7#SE`Lpz`DU}KoY00d}6=bKpH)5>!M8P0HoF`nTK zV>%-g#(YLRjHP)34+8@uYi?p@UOZ4+)D&?bmkr3`VBlfkVh{w9Vhp?t(hOI7#2Gl^ clZ#7$0U6K06`z!u4s=3FYCMC` +#ifdef __WATCOMC__ #include +#endif #include #include #include diff --git a/plzpart/include.asm b/plzpart/include.asm new file mode 100755 index 0000000..c31276e --- /dev/null +++ b/plzpart/include.asm @@ -0,0 +1,40 @@ + IDEAL + MODEL large + P386 + +SEGMENT kakka2 para use16 private 'FAR_DATA' +PUBLIC C kuva1 +LABEL kuva1 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka6 para use16 private 'FAR_DATA' +PUBLIC C dist1 +LABEL dist1 BYTE + dw 16384 DUP (?) +ENDS + + + +SEGMENT kakka3 para use16 private 'FAR_DATA' +PUBLIC C kuva2 +LABEL kuva2 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka4 para use16 private 'FAR_DATA' +PUBLIC C kuva3 +LABEL kuva3 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka5 para use16 private 'FAR_DATA' + +PUBLIC C sinit, C kosinit +LABEL sinit WORD +INCLUDE 'sinit.inc' +kosinit=sinit+512 + +ENDS + +END \ No newline at end of file diff --git a/plzpart/plz.c b/plzpart/plz.c index e6a2b9c..4536dde 100755 --- a/plzpart/plz.c +++ b/plzpart/plz.c @@ -6,7 +6,7 @@ //#include "tweak.h" //#define DO_TABLES -//#define DPII (3.1415926535*2.0) +#define DPII (3.1415926535*2.0) #define LINELEN 41 #define MAXY 280 @@ -18,7 +18,7 @@ // extern int init_copper(); // extern int close_copper(); //extern int far frame_count; -int far frame_count; +extern int frame_count; extern int far cop_drop; extern int far cop_plz; extern int far cop_start; @@ -36,12 +36,12 @@ extern int far lsini16[8192]; //int (* vmem)[LINELEN]=MK_FP(0x0a000,0); //char psini[16384]= -//#include "psini.pre" +//#include "psini.inc" //char lsini[16384]= -//#include "lsini.pre" +//#include "lsini.inc" char ptau[256]= -#include "ptau.pre" +#include "ptau.inc" int pals[6][768]; int curpal=0; @@ -95,8 +95,7 @@ void plz(){ // } if(curpal==5 && cop_drop>64) break; - __asm - { + __asm { mov dx, 3c4h mov ax, 0a02h out dx, ax @@ -110,8 +109,7 @@ void plz(){ plzline(y,0x0a000+y*6+YADD*6); - __asm - { + __asm { mov dx, 3c4h mov ax, 0502h out dx, ax @@ -183,7 +181,7 @@ void init_plz() tw_opengraph2(); cop_start=96*(682-400); set_plzstart(60); - init_copper(); +//++++ init_copper(); for(a=0;a<256;a++) tw_setrgbpalette(a,63,63,63); // RGB diff --git a/plzpart/plzfill.c b/plzpart/plzfill.c index 78fdf39..9ab7bf8 100755 --- a/plzpart/plzfill.c +++ b/plzpart/plzfill.c @@ -1,16 +1,20 @@ +#include +#include +#include +#include #include "tweak.h" -extern far void do_line(char far *to, int dx, int dy, int cnt, char far *from, long txx1, long txy1, long txx2, long txy2, int dseg); -extern far void do_block(int ycnt); -extern far void do_clear(char far *vmem, int far *otau, int far *ntau); +extern far do_line(char far *to, int dx, int dy, int cnt, char far *from, long txx1, long txy1, long txx2, long txy2, int dseg); +extern far do_block(int ycnt); +extern far do_clear(char far *vmem, int far *otau, int far *ntau); extern int acstau[256]; int sini[2000]; char (* far vmem)[160]=MK_FP(0x0a000,0); -/*extern*/ char far kuva1[128][256]; -/*extern*/ char far kuva2[128][256]; -/*extern*/ char far kuva3[128][256]; -/*extern*/ char far dist1[128][256]; +extern char far kuva1[128][256]; +extern char far kuva2[128][256]; +extern char far kuva3[128][256]; +extern char far dist1[128][256]; char far buu[1000]; char sinx[128], siny[128]; char pal[768]; @@ -19,7 +23,7 @@ int clrtau[8][256][2]; int clrptr=0; void initvect() { - int a/*,b*/,x,y,s/*,d=0,p=0,ch*/; + int a,b,x,y,s,d=0,p=0,ch; for(a=0;a<1524;a++) { @@ -72,13 +76,13 @@ extern far long ay1,ay2,ax1,ax2,xx1,yy1,xx2,yy2; extern far long txx1,txy1,tay1,tax1; extern far long txx2,txy2,tay2,tax2; -char* kuvataus[]={&kuva1[0][0],&kuva2[0][0],&kuva3[0][0],&kuva1[0][0]}; -char* disttaus[]={&dist1[0][0],&dist1[0][0],&dist1[0][0],&dist1[0][9]}; +int kuvataus[]={FP_SEG(kuva1),FP_SEG(kuva2),FP_SEG(kuva3),FP_SEG(kuva1)}; +int disttaus[]={FP_SEG(dist1),FP_SEG(dist1),FP_SEG(dist1),FP_SEG(dist1)}; -void do_poly(x1,y1,x2,y2,x3,y3,x4,y4,color, dd) +do_poly(x1,y1,x2,y2,x3,y3,x4,y4,color, dd) int x1,y1,x2,y2,x3,y3,x4,y4,color, dd; { - int a,/*b,c,d,*/n=0,m,s1,s2,d1,d2,dx1,dy1,dx2,dy2; + int a,b,c,d,n=0,m,s1,s2,d1,d2,dx1,dy1,dx2,dy2; struct points { int x,y; } pnts[4],txt[4]={{64,4},{190,4},{190,60},{64,60}}; @@ -171,7 +175,7 @@ int x1,y1,x2,y2,x3,y3,x4,y4,color, dd; } } -void clear() +clear() { int *otau=clrtau[(clrptr-3)&7], *ntau=clrtau[clrptr]; diff --git a/plzpart/plzpart.dsk b/plzpart/plzpart.dsk new file mode 100755 index 0000000000000000000000000000000000000000..37f30f7e72125974d10173060dd968c3cbf2800c GIT binary patch literal 1912 zcmbW2%SyvQ6o&svy_O0hq9_VM!G&Ov;zC>*#ulP!8hi0Z7Denr6szJ5LGTd-m%fDW z;0yQ|uGEEY+|)Cf#>Uz-QzxV|oH_aC+~%}+e!5%Lxz4LcXO*inJ+psU(Z|6ChDO;q z5Z}WEivw6?lk5#oct8~#BlHv;%e2!;qmTuQcmT)Rag2O1$s;rw9Ywks)3O4(Bn%m( z8_)~011N5$jWtDEO`BV#6;;o8&T-OtMKlF#yZB2t#4i$8aDhGyqD<=^#A!8+IV@rg zvq|na^gBzh2tQwPcifa)kFiVJQbYo`u_^_YDY5lSuT&Qa-Zh4yp^MHGC;O*ye6U1! z2}qHc#{G;w5uBT>`0HwTcD7WZcFs1k>G^pt0AV~|4&+t2S;MrI>S)~~-bA~vT9{ru zMb%S0%Tr&tV}4wl;z_{zt#&M{Qu!qn>Eby%AKiqgEu1ebvhS z5!jAew@m#(>^&Yq?WD&_Q(t1Yi3sRFO#OnWQjGbtD88mDZCs{CvuItT0R0Pk9Z#PS XHx!VwM(Uqzq0MgV@A~MwS`GLHmoo4T literal 0 HcmV?d00001 diff --git a/plzpart/plzpart.exe b/plzpart/plzpart.exe deleted file mode 100755 index 153da2218fd33f974c6ed47e8cd968021c5b3531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25453 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 X=H&09tH9LlWaFAdik@AmlL`5M0|C0B diff --git a/plzpart/plzpart.map b/plzpart/plzpart.map index 721ed1b..23d9094 100755 --- a/plzpart/plzpart.map +++ b/plzpart/plzpart.map @@ -1,295 +1,886 @@ -Open Watcom Linker Version 2.0 beta Jan 20 2016 10:21:07 (32-bit) -Copyright (c) 2002-2016 The Open Watcom Contributors. All Rights Reserved. -Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved. -Created on: 16/08/03 11:10:46 -Executable Image: plzpart.exe -creating a DOS executable - - - +------------+ - | Groups | - +------------+ - -Group Address Size -===== ======= ==== - -DGROUP 03ad:0000 0000b210 - - - - +--------------+ - | Segments | - +--------------+ - -Segment Class Group Address Size -======= ===== ===== ======= ==== - -plzpart_TEXT CODE AUTO 0000:0000 00000020 -copper_TEXT CODE AUTO 0000:0020 000000d2 -tweak_TEXT CODE AUTO 0000:0100 0000006d -plz_TEXT CODE AUTO 0000:0170 00000a30 -asmyt_TEXT CODE AUTO 0000:0ba0 000001ef -_TEXT CODE AUTO 0000:0d90 00002d11 -copper13_DATA FAR_DATA AUTO 03ab:0000 00000006 -plz13_DATA FAR_DATA AUTO 03ab:0010 00000002 -FAR_DATA FAR_DATA AUTO 03ac:0002 00000000 -_NULL BEGDATA DGROUP 03ad:0000 00000020 -_AFTERNULL BEGDATA DGROUP 03af:0000 00000002 -CONST DATA DGROUP 03af:0002 00000022 -CONST2 DATA DGROUP 03b1:0004 00000132 -_DATA DATA DGROUP 03c4:0006 0000039e -XIB DATA DGROUP 03fe:0004 00000000 -XI DATA DGROUP 03fe:0004 00000018 -XIE DATA DGROUP 03ff:000c 00000000 -YIB DATA DGROUP 03ff:000c 00000000 -YI DATA DGROUP 03ff:000c 00000000 -YIE DATA DGROUP 03ff:000c 00000000 -STRINGS DATA DGROUP 03ff:000c 00000000 -DATA DATA DGROUP 03ff:000c 00000000 -_emu_init_start EMU DGROUP 03ff:000c 00000000 -_emu_init_end EMU DGROUP 03ff:000c 00000000 -_BSS BSS DGROUP 0400:0000 00002ce0 -STACK STACK DGROUP 06ce:0000 00008000 - - - +----------------+ - | Memory Map | - +----------------+ - -* = unreferenced symbol -+ = symbol only referenced locally - -Address Symbol -======= ====== - -Module: plzpart.o(/dos/z/plz/plzpart/plzpart.c) -0000:0000 main_ -Module: copper.o(/dos/z/plz/plzpart/copper.c) -0000:0020 init_copper_ -0000:00aa close_copper_ -03ad:0530 _fadepal -03ad:0830 _cop_fadepal -03ad:0834+ _dtau -03ad:08b8* _cop_pal -03ab:0000 _cop_plz -03ab:0002 _cop_drop -03ab:0004 _cop_start -Module: tweak.o(/dos/z/plz/plzpart/tweak.c) -0000:0100 tw_opengraph2_ -0000:0148 tw_setrgbpalette_ -Module: plz.o(/dos/z/plz/plzpart/plz.c) -0000:0170 plz_ -0000:0438+ init_plz_ -03ad:0176+ _ptau -03ad:0276+ _curpal -03ad:0278* _timetable -03ad:028c+ _ttptr -03ad:028e+ _l1 -03ad:0290+ _l2 -03ad:0292+ _l3 -03ad:0294+ _l4 -03ad:0296+ _k1 -03ad:0298+ _k2 -03ad:029a+ _k3 -03ad:029c+ _k4 -03ad:029e+ _il1 -03ad:02a0+ _il2 -03ad:02a2+ _il3 -03ad:02a4+ _il4 -03ad:02a6+ _ik1 -03ad:02a8+ _ik2 -03ad:02aa+ _ik3 -03ad:02ac+ _ik4 -03ad:02ae+ _inittable -03ad:08bc+ _pals -03ab:0010+ _frame_count -Module: asmyt.o(/dos/z/plz/plzpart/asmyt.c) -0000:0ba0 plzline_ -0000:0c1a setplzparas_ -0000:0d4e set_plzstart_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(stk086.asm) -0000:0d95 __STK -0000:0db5* __STKOVERFLOW_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(cstart) -03ad:0000* __nullarea -03ad:03f8* __ovlflag -03ad:03f9* __intno -03ad:03fa* __ovlvec -0000:0dd2 _cstart_ -0000:0ea5* _Not_Enough_Memory_ -0000:0fd7 __exit_ -0000:0ff4 __do_exit_with_msg__ -0000:104d __GETDS -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(cmodel.asm) -0000:1058 _big_code_ -0000:1058* CodeModelMismatch -Module: /dos/fdos/watcom2/lib286/math87h.lib(floor.c) -0000:1060 floor_ -Module: /dos/fdos/watcom2/lib286/math87h.lib(fchop87.asm) -0000:10b2 __CHP -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(pia.asm) -0000:10e1 __PIA -0000:10da* __PIS -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fltused.c) -03ad:03fe _fltused_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(_8087086.asm) -03ad:0400 __8087 -03ad:0401 __real87 -03ad:0402 __dos87emucall -03ad:0404 __dos87real -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(i4m.asm) -0000:10f8 __I4M -0000:10f8* __U4M -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(kbhit.c) -0000:1110 kbhit_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(xmsg.c) -0000:1127* __exit_with_msg_ -0000:112c __fatal_runtime_error_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(crwdata) -03ad:0406 __curbrk -03ad:040e __STACKLOW -03ad:0410 __STACKTOP -03ad:0412 __cbyte -03ad:0414 __child -03ad:0416 __no87 -03ad:0423 ___FPE_handler -03ad:0408 __psp -03ad:0417 __get_ovl_stack -03ad:041b __restore_ovl_stack -03ad:041f __close_ovl_file -03ad:0427 __LpCmdLine -03ad:042b __LpPgmName -03ad:040a __osmajor -03ad:040b __osminor -03ad:040c __osmode -03ad:040d __HShift -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(cmain086.c) -0000:1146 __CMain -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(initrtns.c) -0000:11a7 __InitRtns -0000:11a7* __FInitRtns -0000:1202 __FiniRtns -0000:1202* __FFiniRtns -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(uselfn.c) -03ad:0430 ___uselfn -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(dosseg) -0000:1266 __DOSseg__ -Module: /dos/fdos/watcom2/lib286/math87h.lib(modf87.asm) -0000:1268 modf_ -Module: /dos/fdos/watcom2/lib286/noemu87.lib(emustub.asm) -0000:0000* FJSRQQ -0000:0000* FISRQQ -0000:0000* FIERQQ -0000:0000 FIDRQQ -0000:0000 FIWRQQ -0000:0000 FJCRQQ -0000:0000* FJARQQ -0000:0000 FICRQQ -0000:0000* FIARQQ -0000:128a* __init_87_emulator -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(setefg.c) -0000:128a __setEFGfmt_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(chk8087.c) -0000:12c2* _fpreset_ -0000:12ed __init_8087_ -0000:136c __chk8087_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(enterdb.c) -0000:13dc __EnterWVIDEO_ -03ad:0450+ ___WD_Present -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(___argc.c) -03ad:3004 ____Argv -03ad:3008 ____Argc -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(amblksiz.c) -03ad:0452 __amblksiz -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(exit.c) -0000:1400+ __null_int23_exit_ -0000:1401 exit_ -0000:1419* _exit_ -03ad:0454+ ___int23_exit -03ad:0458 ___FPE_handler_exit -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(sgdef086) -03ad:0514 __Start_XI -03ad:052c __End_XI -03ad:052c __Start_YI -03ad:052c __End_YI -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(noefgfmt.c) -03ad:045c ___EFG_printf -03ad:0460 ___EFG_scanf -Module: /dos/fdos/watcom2/lib286/math87h.lib(efgfmt.c) -0000:1444 _EFG_Format_ -Module: /dos/fdos/watcom2/lib286/math87h.lib(cnvs2d.c) -0000:1616 __cnvs2d_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(8087cw.c) -03ad:0464 __8087cw -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(save8087.c) -03ad:0466 ___Save8087 -03ad:046a ___Rest8087 -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(grabfp87.c) -0000:1636 __GrabFP87_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(ini87086.asm) -0000:1668* __init_8087_emu -0000:166e __x87id -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(rtcntrl.c) -0000:16cb* _SetLD64bit_ -0000:16d6* _SetLD80bit_ -0000:16e1 _LDisDouble_ -Module: /dos/fdos/watcom2/lib286/math87h.lib(ldcvt.c) -0000:1846 _LDScale10x_ -0000:211e+ __cvtld_ -0000:28fa __LDcvt_ -Module: /dos/fdos/watcom2/lib286/math87h.lib(strtod.c) -0000:313c+ __Strtold_ -0000:337b strtod_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fpe87.asm) -0000:3522 __Init_FPE_handler_ -0000:355b __Fini_FPE_handler_ -0000:3592* __FPEHandler -Module: /dos/fdos/watcom2/lib286/math87h.lib(ldclass.c) -0000:3824 __LDClass_ -0000:38aa* _FLClass_ -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(i4d.asm) -0000:38be __I4D -0000:390d* __U4D -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(istable.c) -03ad:0044 __IsTable -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(tolower.c) -0000:3991 tolower_ -Module: /dos/fdos/watcom2/lib286/math87h.lib(bufld086.asm) -0000:39a0 __ZBuf2LD -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(seterrno.c) -0000:3a68* __set_EDOM_ -0000:3a74 __set_ERANGE_ -0000:3a80* __set_EINVAL_ -Module: /dos/fdos/watcom2/lib286/math87h.lib(inf_nan.c) -03ad:0146* ___f_infinity -03ad:014a* ___f_posqnan -03ad:014e ___d_infinity -03ad:0156 ___d_posqnan -03ad:015e* ___ld_infinity -03ad:0166* ___ld_posqnan -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(hugeval.c) -03ad:016e __HugeValue -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(fpeint.c) -03ad:0512 ___FPE_int -Module: /dos/fdos/watcom2/lib286/dos/clibh.lib(errno.c) -0000:3a9a* __get_errno_ptr_ -03ad:320e _errno - - - +--------------------+ - | Libraries Used | - +--------------------+ - -/dos/fdos/watcom2/lib286/noemu87.lib -/dos/fdos/watcom2/lib286/math87h.lib -/dos/fdos/watcom2/lib286/dos/clibh.lib - - - +-----------------------+ - | Linker Statistics | - +-----------------------+ - -Stack size: 8000 (32768.) -Memory size: ece0 (60640.) -Entry point address: 0000:0dd2 -Link time: 00:00.00 + + Start Stop Length Name Class + + 00000H 030A6H 030A7H _TEXT CODE + 030A8H 030A8H 00000H ASMYT_TEXT CODE + 030B0H 1055BH 0D4ACH PORO CODE + 1055CH 10EE5H 0098AH COPPER_TEXT CODE + 10EE6H 10EE6H 00000H INCLUDE_TEXT CODE + 10EE6H 10EE6H 00000H PLZA_TEXT CODE + 10EF0H 135ADH 026BEH LERSSICODE CODE + 135AEH 13786H 001D9H TWEAK_TEXT CODE + 13787H 13F6CH 007E6H PLZ_TEXT CODE + 13F6DH 14C1EH 00CB2H PLZFILL_TEXT CODE + 14C1FH 155B7H 00999H VECT_TEXT CODE + 155B8H 155CBH 00014H PLZPART_TEXT CODE + 155CCH 16845H 0127AH SPLINE_TEXT CODE + 16850H 18FC6H 02777H EMU_PROG CODE + 18FD0H 19597H 005C8H E87_PROG CODE + 195A0H 195A0H 00000H _FARDATA FAR_DATA + 195A0H 1D59FH 04000H KAKKA2 FAR_DATA + 1D5A0H 2559FH 08000H KAKKA6 FAR_DATA + 255A0H 2959FH 04000H KAKKA3 FAR_DATA + 295A0H 2D59FH 04000H KAKKA4 FAR_DATA + 2D5A0H 2DFAEH 00A0FH KAKKA5 FAR_DATA + 2DFB0H 2E39BH 003ECH PLZFILL5_DATA FAR_DATA + 2E3A0H 2E69FH 00300H VECT5_DATA FAR_DATA + 2E6A0H 2E6A0H 00000H _FARBSS FAR_BSS + 2E6A0H 2E6A0H 00000H _OVERLAY_ OVRINFO + 2E6A0H 2E6A0H 00000H _1STUB_ STUBSEG + 2E6A0H 317A1H 03102H _DATA DATA + 317A2H 317A5H 00004H _CVTSEG DATA + 317A6H 317B1H 0000CH _SCNSEG DATA + 317B2H 317B2H 00000H _CONST CONST + 317B2H 317C3H 00012H _INIT_ INITDATA + 317C4H 317C4H 00000H _INITEND_ INITDATA + 317C4H 317C9H 00006H _EXIT_ EXITDATA + 317CAH 317CAH 00000H _EXITEND_ EXITDATA + 317CAH 37401H 05C38H _BSS BSS + 37402H 37402H 00000H _BSSEND BSSEND + 37410H 3751FH 00110H _STACK STACK + + +Detailed map of segments + + 0000:0000 0295 C=CODE S=_TEXT G=(none) M=c0.ASM ACBP=28 + 0000:0295 0258 C=CODE S=_TEXT G=(none) M=FPINIT ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=E87TRAP ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=PROTFLAG ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=DEFLT87 ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=HUGEVAL ACBP=28 + 0000:04ED 009A C=CODE S=_TEXT G=(none) M=LDTRUNC ACBP=28 + 0000:0587 0000 C=CODE S=_TEXT G=(none) M=MATHWHY ACBP=28 + 0000:0587 01BD C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:0744 0395 C=CODE S=_TEXT G=(none) M=SCANTOD ACBP=28 + 0000:0AD9 020C C=CODE S=_TEXT G=(none) M=XCVT ACBP=28 + 0000:0CE5 00B1 C=CODE S=_TEXT G=(none) M=FPERR ACBP=28 + 0000:0D96 00C9 C=CODE S=_TEXT G=(none) M=_POW10 ACBP=28 + 0000:0E5F 000B C=CODE S=_TEXT G=(none) M=POW10D ACBP=28 + 0000:0E6A 002A C=CODE S=_TEXT G=(none) M=MATHERR ACBP=28 + 0000:0E94 0052 C=CODE S=_TEXT G=(none) M=SIN ACBP=28 + 0000:0EE6 00A9 C=CODE S=_TEXT G=(none) M=_MATHERR ACBP=28 + 0000:0F8F 002C C=CODE S=_TEXT G=(none) M=FFTOL ACBP=28 + 0000:0FBB 002D C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28 + 0000:0FE8 0000 C=CODE S=_TEXT G=(none) M=CTYPE ACBP=28 + 0000:0FE8 0093 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FPSTKLEN ACBP=28 + 0000:107B 001C C=CODE S=_TEXT G=(none) M=F_SCOPY ACBP=28 + 0000:1097 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 + 0000:10B8 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 + 0000:1118 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 + 0000:1163 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 + 0000:1174 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 + 0000:1216 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 + 0000:123F 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 + 0000:1260 00BA C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 + 0000:131A 0000 C=CODE S=_TEXT G=(none) M=SIGDATA ACBP=28 + 0000:131A 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 + 0000:131A 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 + 0000:17F5 009F C=CODE S=_TEXT G=(none) M=VRAM ACBP=28 + 0000:1894 0000 C=CODE S=_TEXT G=(none) M=WSCROLL ACBP=28 + 0000:1894 014E C=CODE S=_TEXT G=(none) M=CPRINTF ACBP=28 + 0000:19E2 01A5 C=CODE S=_TEXT G=(none) M=CRTINIT ACBP=28 + 0000:1B87 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 + 0000:1BA6 0432 C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 + 0000:1FD8 0140 C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 + 0000:2118 005E C=CODE S=_TEXT G=(none) M=GETCH ACBP=28 + 0000:2176 00AC C=CODE S=_TEXT G=(none) M=GPTEXT ACBP=28 + 0000:2222 0012 C=CODE S=_TEXT G=(none) M=KBHIT ACBP=28 + 0000:2234 009D C=CODE S=_TEXT G=(none) M=MOVETEXT ACBP=28 + 0000:22D1 0017 C=CODE S=_TEXT G=(none) M=PUTCH ACBP=28 + 0000:22E8 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:22EC 01C7 C=CODE S=_TEXT G=(none) M=SCREEN ACBP=28 + 0000:24B3 018E C=CODE S=_TEXT G=(none) M=SCROLL ACBP=28 + 0000:2641 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 + 0000:265D 002C C=CODE S=_TEXT G=(none) M=WHEREXY ACBP=28 + 0000:2689 00CD C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 + 0000:2756 0042 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 + 0000:2798 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 + 0000:27B4 01E2 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 + 0000:2996 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 + 0000:29BA 0043 C=CODE S=_TEXT G=(none) M=MEMSET ACBP=28 + 0000:29FD 03C8 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 + 0000:2DC5 011D C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 + 0000:2EE2 0151 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 + 0000:3033 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 + 0000:306F 0038 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 + 030A:0008 0000 C=CODE S=ASMYT_TEXT G=(none) M=ASMYT.ASM ACBP=48 + 030B:0000 D4AC C=CODE S=PORO G=(none) M=ASMYT.ASM ACBP=60 + 1055:000C 098A C=CODE S=COPPER_TEXT G=(none) M=COPPER.ASM ACBP=48 + 10EE:0006 0000 C=CODE S=INCLUDE_TEXT G=(none) M=INCLUDE.ASM ACBP=48 + 10EE:0006 0000 C=CODE S=PLZA_TEXT G=(none) M=PLZA.ASM ACBP=48 + 10EF:0000 26BE C=CODE S=LERSSICODE G=(none) M=PLZA.ASM ACBP=68 + 135A:000E 01D9 C=CODE S=TWEAK_TEXT G=(none) M=TWEAK.ASM ACBP=48 + 1378:0007 07E6 C=CODE S=PLZ_TEXT G=(none) M=PLZ.C ACBP=28 + 13F6:000D 0CB2 C=CODE S=PLZFILL_TEXT G=(none) M=PLZFILL.C ACBP=28 + 14C1:000F 0999 C=CODE S=VECT_TEXT G=(none) M=VECT.C ACBP=28 + 155B:0008 0014 C=CODE S=PLZPART_TEXT G=(none) M=PLZPART.C ACBP=28 + 155C:000C 127A C=CODE S=SPLINE_TEXT G=(none) M=SPLINE.ASM ACBP=48 + 1685:0000 0000 C=CODE S=EMU_PROG G=(none) M=FPINIT ACBP=68 + 1685:0000 2777 C=CODE S=EMU_PROG G=(none) M=EMU086 ACBP=68 + 18FD:0000 0000 C=CODE S=E87_PROG G=(none) M=FPINIT ACBP=68 + 18FD:0000 03E3 C=CODE S=E87_PROG G=(none) M=EMU087 ACBP=68 + 18FD:03F0 01D8 C=CODE S=E87_PROG G=(none) M=E87TRAP ACBP=68 + 195A:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 + 195A:0000 4000 C=FAR_DATA S=KAKKA2 G=(none) M=INCLUDE.ASM ACBP=60 + 1D5A:0000 8000 C=FAR_DATA S=KAKKA6 G=(none) M=INCLUDE.ASM ACBP=60 + 255A:0000 4000 C=FAR_DATA S=KAKKA3 G=(none) M=INCLUDE.ASM ACBP=60 + 295A:0000 4000 C=FAR_DATA S=KAKKA4 G=(none) M=INCLUDE.ASM ACBP=60 + 2D5A:0000 0A0F C=FAR_DATA S=KAKKA5 G=(none) M=INCLUDE.ASM ACBP=60 + 2DFB:0000 03EC C=FAR_DATA S=PLZFILL5_DATA G=(none) M=PLZFILL.C ACBP=68 + 2E3A:0000 0300 C=FAR_DATA S=VECT5_DATA G=(none) M=VECT.C ACBP=68 + 2E6A:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 + 2E6A:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 + 2E6A:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 + 2E6A:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 + 2E6A:0094 0000 C=DATA S=_DATA G=DGROUP M=ASMYT.ASM ACBP=48 + 2E6A:0094 0000 C=DATA S=_DATA G=DGROUP M=COPPER.ASM ACBP=48 + 2E6A:0094 0000 C=DATA S=_DATA G=DGROUP M=INCLUDE.ASM ACBP=48 + 2E6A:0094 0000 C=DATA S=_DATA G=DGROUP M=PLZA.ASM ACBP=48 + 2E6A:0094 0000 C=DATA S=_DATA G=DGROUP M=TWEAK.ASM ACBP=48 + 2E6A:0094 01D8 C=DATA S=_DATA G=DGROUP M=PLZ.C ACBP=48 + 2E6A:026C 0036 C=DATA S=_DATA G=DGROUP M=PLZFILL.C ACBP=48 + 2E6A:02A2 28A0 C=DATA S=_DATA G=DGROUP M=VECT.C ACBP=48 + 2E6A:2B42 0000 C=DATA S=_DATA G=DGROUP M=PLZPART.C ACBP=48 + 2E6A:2B42 0000 C=DATA S=_DATA G=DGROUP M=SPLINE.ASM ACBP=48 + 2E6A:2B50 0002 C=DATA S=_DATA G=DGROUP M=FPINIT ACBP=68 + 2E6A:2B60 0000 C=DATA S=_DATA G=DGROUP M=E87TRAP ACBP=68 + 2E6A:2B60 0003 C=DATA S=_DATA G=DGROUP M=PROTFLAG ACBP=48 + 2E6A:2B64 0002 C=DATA S=_DATA G=DGROUP M=DEFLT87 ACBP=48 + 2E6A:2B66 0024 C=DATA S=_DATA G=DGROUP M=HUGEVAL ACBP=48 + 2E6A:2B8A 0000 C=DATA S=_DATA G=DGROUP M=LDTRUNC ACBP=48 + 2E6A:2B8A 0043 C=DATA S=_DATA G=DGROUP M=MATHWHY ACBP=48 + 2E6A:2BCE 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 2E6A:2BCE 0018 C=DATA S=_DATA G=DGROUP M=SCANTOD ACBP=48 + 2E6A:2BE6 0000 C=DATA S=_DATA G=DGROUP M=XCVT ACBP=48 + 2E6A:2BE6 009A C=DATA S=_DATA G=DGROUP M=FPERR ACBP=48 + 2E6A:2C80 0080 C=DATA S=_DATA G=DGROUP M=_POW10 ACBP=48 + 2E6A:2D00 0000 C=DATA S=_DATA G=DGROUP M=POW10D ACBP=48 + 2E6A:2D00 0000 C=DATA S=_DATA G=DGROUP M=MATHERR ACBP=48 + 2E6A:2D00 000C C=DATA S=_DATA G=DGROUP M=SIN ACBP=48 + 2E6A:2D0C 000E C=DATA S=_DATA G=DGROUP M=_MATHERR ACBP=48 + 2E6A:2D1A 0000 C=DATA S=_DATA G=DGROUP M=FFTOL ACBP=48 + 2E6A:2D1A 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 + 2E6A:2D1C 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 + 2E6A:2E1E 000C C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 + 2E6A:2E2A 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 + 2E6A:2FBA 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 + 2E6A:2FE4 0002 C=DATA S=_DATA G=DGROUP M=FPSTKLEN ACBP=48 + 2E6A:2FE6 0000 C=DATA S=_DATA G=DGROUP M=F_SCOPY ACBP=48 + 2E6A:2FE6 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 + 2E6A:2FE6 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 + 2E6A:2FE6 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 + 2E6A:3042 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 + 2E6A:3042 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 + 2E6A:3042 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 + 2E6A:3042 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 + 2E6A:3042 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 + 2E6A:3042 0000 C=DATA S=_DATA G=DGROUP M=SIGDATA ACBP=48 + 2E6A:3042 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 + 2E6A:3044 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 + 2E6A:30AC 0000 C=DATA S=_DATA G=DGROUP M=VRAM ACBP=48 + 2E6A:30AC 0002 C=DATA S=_DATA G=DGROUP M=WSCROLL ACBP=48 + 2E6A:30AE 0000 C=DATA S=_DATA G=DGROUP M=CPRINTF ACBP=48 + 2E6A:30AE 0018 C=DATA S=_DATA G=DGROUP M=CRTINIT ACBP=48 + 2E6A:30C6 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 + 2E6A:30F8 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 + 2E6A:30F8 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 + 2E6A:30FA 0000 C=DATA S=_DATA G=DGROUP M=GETCH ACBP=48 + 2E6A:30FA 0000 C=DATA S=_DATA G=DGROUP M=GPTEXT ACBP=48 + 2E6A:30FA 0002 C=DATA S=_DATA G=DGROUP M=KBHIT ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=MOVETEXT ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=PUTCH ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=SCREEN ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=SCROLL ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=WHEREXY ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 + 2E6A:30FC 0000 C=DATA S=_DATA G=DGROUP M=MEMSET ACBP=48 + 2E6A:30FC 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 + 2E6A:30FE 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 + 2E6A:3102 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 + 2E6A:3102 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 + 2E6A:3102 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 + 2E6A:3102 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 + 2E6A:3102 0002 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 2E6A:3104 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 + 2E6A:3106 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 2E6A:3106 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 + 2E6A:3106 0006 C=DATA S=_SCNSEG G=DGROUP M=SCANTOD ACBP=48 + 2E6A:310C 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 + 2E6A:3112 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 + 2E6A:3112 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 + 2E6A:3112 0006 C=INITDATA S=_INIT_ G=DGROUP M=FPINIT ACBP=48 + 2E6A:3118 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 + 2E6A:311E 0006 C=INITDATA S=_INIT_ G=DGROUP M=CRTINIT ACBP=48 + 2E6A:3124 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 + 2E6A:3124 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 + 2E6A:3124 0006 C=EXITDATA S=_EXIT_ G=DGROUP M=FPINIT ACBP=48 + 2E6A:312A 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 + 2E6A:312A 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 + 2E6A:312A 2400 C=BSS S=_BSS G=DGROUP M=PLZ.C ACBP=48 + 2E6A:552A 33A0 C=BSS S=_BSS G=DGROUP M=PLZFILL.C ACBP=48 + 2E6A:88CA 0412 C=BSS S=_BSS G=DGROUP M=VECT.C ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=PLZPART.C ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=LDTRUNC ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=REALCVT ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=SCANTOD ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=XCVT ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=_POW10 ACBP=48 + 2E6A:8CDC 0000 C=BSS S=_BSS G=DGROUP M=SIN ACBP=48 + 2E6A:8CDC 0080 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 + 2E6A:8D5C 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 + 2E6A:8D5C 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 + 2E6A:8D5C 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 + 2E6A:8D5C 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 + 2E6A:8D5C 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 + 2E6A:8D5C 0004 C=BSS S=_BSS G=DGROUP M=SIGDATA ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=VRAM ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=CRTINIT ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=GETCH ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=KBHIT ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 + 2E6A:8D60 0000 C=BSS S=_BSS G=DGROUP M=MEMSET ACBP=48 + 2E6A:8D60 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 + 2E6A:8D62 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 + 2E6A:8D62 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 + 3741:0000 0110 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 + 3741:0000 0080 C=STACK S=_STACK G=(none) M=EMUVARS ACBP=78 + + Address Publics by Name + + 2E6A:0000 idle DATASEG@ + 0000:0291 idle DGROUP@ + 1685:2152 e086_Entry + 1685:26E0 e086_Shortcut + 18FD:0306 e087_Entry + 18FD:03C6 e087_Shortcut + 18FD:0430 e087_Trap + 0000:FE32 idle FIARQQ + 0000:0E32 idle FICRQQ + 0000:5C32 Abs FIDRQQ + 0000:1632 Abs FIERQQ + 0000:0632 idle FISRQQ + 0000:A23D Abs FIWRQQ + 0000:4000 idle FJARQQ + 0000:C000 idle FJCRQQ + 0000:8000 idle FJSRQQ + 0000:0F8F idle FTOL@ + 0000:0F8F F_FTOL@ + 0000:109A idle F_LXLSH@ + 0000:10BB idle F_PADD@ + 0000:10EA idle F_PSUB@ + 0000:107B F_SCOPY@ + 0000:109A idle LXLSH@ + 0000:1097 N_LXLSH@ + 0000:10B8 N_PADD@ + 0000:123F N_PCMP@ + 0000:10E7 idle N_PSUB@ + 0000:10BB idle PADD@ + 0000:10EA idle PSUB@ + 0000:107B idle SCOPY@ + 0000:027A _abort + 0000:0FBB idle _atexit + 10EF:07E8 _ax1 + 10EF:07F0 _ax2 + 10EF:07E4 idle _ay1 + 10EF:07EC idle _ay2 + 2DFB:0004 idle _buu + 14C1:00A0 idle _calculate + 13F6:0C68 _clear + 1055:001C _close_copper + 2E6A:026C idle _clrptr + 2E6A:552A idle _clrtau + 1055:000E _cop_drop + 1055:07E8 _cop_fadepal + 1055:0010 _cop_pal + 1055:001A _cop_plz + 1055:0018 _cop_scrl + 1055:0016 _cop_start + 14C1:0163 idle _count_const + 0000:19C6 idle _cprintf + 10EF:081E _ctau + 2E6A:0194 idle _curpal + 2E6A:88DA idle _cxx + 2E6A:88D8 idle _cxy + 2E6A:88D6 idle _cxz + 2E6A:88D4 idle _cyx + 2E6A:88D2 idle _cyy + 2E6A:88D0 idle _cyz + 2E6A:88CE idle _czx + 2E6A:88CC idle _czy + 2E6A:88CA idle _czz + 2E6A:30BD _directvideo + 2E6A:2B2C _dis + 1D5A:0000 _dist1 + 2E6A:0276 idle _disttaus + 10EF:0824 _do_block + 10EF:2612 _do_clear + 1055:0014 _do_pal + 13F6:02E3 _do_poly + 14C1:074E idle _draw + 10EF:081C _dseg + 2E6A:007F _errno + 0000:1040 _exit + 1055:01E8 _fadepal + 0000:1CE6 idle _farfree + 0000:1DFA idle _farmalloc + 0000:1F5E idle _farrealloc + 0000:2689 _fflush + 0000:2756 _flushall + 2E3A:0000 idle _fpal + 0000:2798 _fprintf + 0000:2A19 idle _fputc + 0000:2BAE idle _fputchar + 2E6A:2B40 idle _frames + 1055:000C _frame_count + 0000:1CE6 _free + 10EF:0818 _from + 0000:2836 _fseek + 0000:28B6 idle _ftell + 0000:2118 _getch + 0000:2134 idle _getche + 155C:108C _getspl + 0000:2176 _gettext + 2E6A:01C4 _ik1 + 2E6A:01C6 _ik2 + 2E6A:01C8 _ik3 + 2E6A:01CA _ik4 + 2E6A:01BC _il1 + 2E6A:01BE _il2 + 2E6A:01C0 _il3 + 2E6A:01C2 _il4 + 2E6A:01CC idle _inittable + 13F6:000D idle _initvect + 1055:0047 _init_copper + 1378:0272 idle _init_plz + 0000:1163 _isatty + 10EF:0000 idle _jmp_tau + 2E6A:01B4 _k1 + 2E6A:01B6 _k2 + 2E6A:01B8 _k3 + 2E6A:01BA _k4 + 0000:2222 _kbhit + 2D5A:0200 _kosinit + 195A:0000 _kuva1 + 255A:0000 _kuva2 + 295A:0000 _kuva3 + 2E6A:026E idle _kuvataus + 2E6A:2B26 _kx + 2E6A:2B28 _ky + 2E6A:2B2A _kz + 2E6A:01AC _l1 + 2E6A:01AE _l2 + 2E6A:01B0 _l3 + 2E6A:01B2 _l4 + 2E6A:2B0E idle _light_src + 2E6A:2B1A idle _lls + 0000:1216 _lseek + 030B:8000 idle _lsini16 + 030B:4000 idle _lsini4 + 2E6A:2B32 _ls_kx + 2E6A:2B34 _ls_ky + 2E6A:2B36 _ls_kz + 2E6A:2B38 idle _ls_x + 2E6A:2B3A idle _ls_y + 2E6A:2B3C idle _ls_z + 155B:0008 _main + 0000:1DF0 _malloc + 0000:0E6A _matherr + 0000:2996 _memcpy + 0000:29DE _memset + 1055:0107 idle _moveplz + 0000:2234 _movetext + 2E6A:02A2 idle _object + 2E6A:2B3E idle _page + 2E6A:752A _pal + 2E6A:312A idle _pals + 1378:0007 _plz + 030B:C000 _plzline + 2E6A:2B0C idle _polys + 1055:00D9 idle _pompota + 0000:0E5F _pow10 + 030B:0000 idle _psini + 2E6A:0094 idle _ptau + 2E6A:88DC idle _ptodraw + 0000:22D1 _putch + 0000:21CC _puttext + 0000:1F57 idle _realloc + 14C1:03F4 idle _rotate + 135A:0012 idle _scr_seg + 0000:2641 _setblock + 0000:29BA idle _setmem + 030B:C618 _setplzparas + 0000:2DC5 _setvbuf + 030B:D48E _set_plzstart + 10EF:2584 _shadepal + 0000:0E94 _sin + 2E6A:792A idle _sini + 2D5A:0000 _sinit + 2E6A:78AA idle _sinx + 2E6A:782A idle _siny + 14C1:050E idle _sort_faces + 14C1:0874 idle _swappage + 10EF:0804 _tax1 + 10EF:080C _tax2 + 10EF:0808 _tay1 + 10EF:0810 _tay2 + 2E6A:0196 idle _timetable + 10EF:0814 _to + 2E6A:01AA idle _ttptr + 135A:007C idle _tw_closegraph + 135A:0062 idle _tw_clrscr + 135A:00BB idle _tw_getpixel + 135A:0014 _tw_opengraph + 135A:0035 _tw_opengraph2 + 135A:0141 idle _tw_pictovmem + 135A:0082 idle _tw_putpixel + 135A:010B idle _tw_setpalarea + 135A:00F2 idle _tw_setpalette + 135A:01CD _tw_setrgbpalette + 135A:012C idle _tw_setstart + 135A:01BF idle _tw_waitvr + 2E6A:2B2E _tx + 10EF:07F4 _txx1 + 10EF:07FC _txx2 + 10EF:07F8 _txy1 + 10EF:0800 _txy2 + 2E6A:2B30 _ty + 0000:2158 idle _ungetch + 14C1:000F idle _vect + 2DFB:0000 _vmem + 0000:2667 idle _wherex + 0000:2676 idle _wherey + 10EF:07D0 idle _xx + 10EF:07D8 _xx1 + 10EF:07E0 _xx2 + 10EF:07D2 _yy + 10EF:07D4 idle _yy1 + 10EF:07DC idle _yy2 + 2E6A:2B50 __8087 + 0000:1000 idle __AHINCR + 0000:000C idle __AHSHIFT + 2E6A:2D1A __atexitcnt + 2E6A:8CDC __atexittbl + 0000:204E __brk + 2E6A:008B __brklvl + 2E6A:006B idle __C0argc + 2E6A:006D idle __C0argv + 0000:1AA8 idle __c0crtinit + 2E6A:0071 idle __C0environ + 2E6A:30FB __cChar + 0000:1061 idle __cexit + 2E6A:30FA __cFlag + 0000:016A __checknull + 0000:0157 __cleanup + 0000:1894 __CPUTN + 0000:1AC5 idle __crtinit + 2E6A:2D1C __ctype + 0000:0000 Abs __cvtfak + 0000:106F idle __c_exit + 2E6A:2B64 __default87 + 2E6A:2FE6 idle __doserrno + 0000:1151 idle __DOSERROR + 2E6A:2FE8 idle __dosErrorToSV + 3741:0000 __emu + 2E6A:0075 idle __envLng + 2E6A:0077 idle __envseg + 2E6A:0079 idle __envSize + 0000:104F __exit + 2E6A:2E1E __exitbuf + 2E6A:2E22 idle __exitfopen + 2E6A:2E26 idle __exitopen + 0000:8087 idle __floatconvert + 0000:0CE5 __fperror + 2E6A:2FE4 __fpstklen + 0000:04E9 __fpuint + 0000:29FD idle __fputc + 0000:2BC2 __FPUTN + 2E6A:0087 __heapbase + 2E6A:008F __heaptop + 2E6A:2B6A __huge_dble + 2E6A:2B66 idle __huge_flt + 2E6A:2B72 idle __huge_ldble + 2E6A:2B7C idle __indefinite + 2E6A:005B idle __Int0Vector + 2E6A:005F idle __Int4Vector + 2E6A:0063 idle __Int5Vector + 2E6A:0067 idle __Int6Vector + 0000:1118 __IOERROR + 2E6A:2B61 __LDT + 0000:04ED __LDTRUNC + 0000:1174 __LONGTOA + 0000:0EE6 __matherr + 2E6A:2B8A __mathwhy + 0000:0293 idle __MMODEL + 2E6A:2FBA __nfile + 0000:2131 idle __Ngetche + 0000:2155 idle __Nungetch + 2E6A:2FBC __openfd + 2E6A:007D idle __osmajor + 2E6A:007E idle __osminor + 2E6A:007D idle __osversion + 0000:0D96 __POW10 + 2E6A:2B60 __protected + 2E6A:007B __psp + 0000:22E8 __REALCVT + 2E6A:3102 __RealCvtVector + 0000:01C0 __restorezero + 0000:208D __sbrk + 2E6A:3106 idle __ScanTodVector + 0000:2422 __SCREENIO + 0000:24D5 __SCROLL + 0000:1260 __setupio + 2E6A:0081 idle __StartTime + 2E6A:3042 __stklen + 2E6A:2E2A __streams + 0000:016B __terminate + 2E6A:2B80 idle __tiny_ldble + 0000:0000 idle __turboCrt + 0000:0000 Abs __turboCvt + 0000:8087 Abs __turboFloat + 0000:11F6 idle __UTOA + 0000:245E __VALIDATEXY + 2E6A:007D __version + 2E6A:30AE __video + 0000:1A1D __VideoInt + 0000:1332 __VPRINTER + 0000:17F5 __VPTR + 0000:181A __VRAM + 0000:265D __wherexy + 0000:3033 __write + 2E6A:30AC __wscroll + 0000:0AD9 __XCVT + 0000:306F __xfflush + 2E6A:0085 idle ___brklvl + 0000:1BA6 idle ___first + 0000:0402 idle ___fpreset + 0000:1BA8 idle ___last + 0000:1BAA idle ___rover + 2E6A:8D5C ___SignalPtr + 0000:2EE2 ___write + + Address Publics by Value + + 0000:0000 Abs __turboCvt + 0000:0000 idle __turboCrt + 0000:0000 Abs __cvtfak + 0000:000C idle __AHSHIFT + 0000:0157 __cleanup + 0000:016A __checknull + 0000:016B __terminate + 0000:01C0 __restorezero + 0000:027A _abort + 0000:0291 idle DGROUP@ + 0000:0293 idle __MMODEL + 0000:0402 idle ___fpreset + 0000:04E9 __fpuint + 0000:04ED __LDTRUNC + 0000:0632 idle FISRQQ + 0000:0AD9 __XCVT + 0000:0CE5 __fperror + 0000:0D96 __POW10 + 0000:0E32 idle FICRQQ + 0000:0E5F _pow10 + 0000:0E6A _matherr + 0000:0E94 _sin + 0000:0EE6 __matherr + 0000:0F8F F_FTOL@ + 0000:0F8F idle FTOL@ + 0000:0FBB idle _atexit + 0000:1000 idle __AHINCR + 0000:1040 _exit + 0000:104F __exit + 0000:1061 idle __cexit + 0000:106F idle __c_exit + 0000:107B F_SCOPY@ + 0000:107B idle SCOPY@ + 0000:1097 N_LXLSH@ + 0000:109A idle LXLSH@ + 0000:109A idle F_LXLSH@ + 0000:10B8 N_PADD@ + 0000:10BB idle F_PADD@ + 0000:10BB idle PADD@ + 0000:10E7 idle N_PSUB@ + 0000:10EA idle F_PSUB@ + 0000:10EA idle PSUB@ + 0000:1118 __IOERROR + 0000:1151 idle __DOSERROR + 0000:1163 _isatty + 0000:1174 __LONGTOA + 0000:11F6 idle __UTOA + 0000:1216 _lseek + 0000:123F N_PCMP@ + 0000:1260 __setupio + 0000:1332 __VPRINTER + 0000:1632 Abs FIERQQ + 0000:17F5 __VPTR + 0000:181A __VRAM + 0000:1894 __CPUTN + 0000:19C6 idle _cprintf + 0000:1A1D __VideoInt + 0000:1AA8 idle __c0crtinit + 0000:1AC5 idle __crtinit + 0000:1BA6 idle ___first + 0000:1BA8 idle ___last + 0000:1BAA idle ___rover + 0000:1CE6 _free + 0000:1CE6 idle _farfree + 0000:1DF0 _malloc + 0000:1DFA idle _farmalloc + 0000:1F57 idle _realloc + 0000:1F5E idle _farrealloc + 0000:204E __brk + 0000:208D __sbrk + 0000:2118 _getch + 0000:2131 idle __Ngetche + 0000:2134 idle _getche + 0000:2155 idle __Nungetch + 0000:2158 idle _ungetch + 0000:2176 _gettext + 0000:21CC _puttext + 0000:2222 _kbhit + 0000:2234 _movetext + 0000:22D1 _putch + 0000:22E8 __REALCVT + 0000:2422 __SCREENIO + 0000:245E __VALIDATEXY + 0000:24D5 __SCROLL + 0000:2641 _setblock + 0000:265D __wherexy + 0000:2667 idle _wherex + 0000:2676 idle _wherey + 0000:2689 _fflush + 0000:2756 _flushall + 0000:2798 _fprintf + 0000:2836 _fseek + 0000:28B6 idle _ftell + 0000:2996 _memcpy + 0000:29BA idle _setmem + 0000:29DE _memset + 0000:29FD idle __fputc + 0000:2A19 idle _fputc + 0000:2BAE idle _fputchar + 0000:2BC2 __FPUTN + 0000:2DC5 _setvbuf + 0000:2EE2 ___write + 0000:3033 __write + 0000:306F __xfflush + 0000:4000 idle FJARQQ + 0000:5C32 Abs FIDRQQ + 0000:8000 idle FJSRQQ + 0000:8087 Abs __turboFloat + 0000:8087 idle __floatconvert + 0000:A23D Abs FIWRQQ + 0000:C000 idle FJCRQQ + 0000:FE32 idle FIARQQ + 030B:0000 idle _psini + 030B:4000 idle _lsini4 + 030B:8000 idle _lsini16 + 030B:C000 _plzline + 030B:C618 _setplzparas + 030B:D48E _set_plzstart + 1055:000C _frame_count + 1055:000E _cop_drop + 1055:0010 _cop_pal + 1055:0014 _do_pal + 1055:0016 _cop_start + 1055:0018 _cop_scrl + 1055:001A _cop_plz + 1055:001C _close_copper + 1055:0047 _init_copper + 1055:00D9 idle _pompota + 1055:0107 idle _moveplz + 1055:01E8 _fadepal + 1055:07E8 _cop_fadepal + 10EF:0000 idle _jmp_tau + 10EF:07D0 idle _xx + 10EF:07D2 _yy + 10EF:07D4 idle _yy1 + 10EF:07D8 _xx1 + 10EF:07DC idle _yy2 + 10EF:07E0 _xx2 + 10EF:07E4 idle _ay1 + 10EF:07E8 _ax1 + 10EF:07EC idle _ay2 + 10EF:07F0 _ax2 + 10EF:07F4 _txx1 + 10EF:07F8 _txy1 + 10EF:07FC _txx2 + 10EF:0800 _txy2 + 10EF:0804 _tax1 + 10EF:0808 _tay1 + 10EF:080C _tax2 + 10EF:0810 _tay2 + 10EF:0814 _to + 10EF:0818 _from + 10EF:081C _dseg + 10EF:081E _ctau + 10EF:0824 _do_block + 10EF:2584 _shadepal + 10EF:2612 _do_clear + 135A:0012 idle _scr_seg + 135A:0014 _tw_opengraph + 135A:0035 _tw_opengraph2 + 135A:0062 idle _tw_clrscr + 135A:007C idle _tw_closegraph + 135A:0082 idle _tw_putpixel + 135A:00BB idle _tw_getpixel + 135A:00F2 idle _tw_setpalette + 135A:010B idle _tw_setpalarea + 135A:012C idle _tw_setstart + 135A:0141 idle _tw_pictovmem + 135A:01BF idle _tw_waitvr + 135A:01CD _tw_setrgbpalette + 1378:0007 _plz + 1378:0272 idle _init_plz + 13F6:000D idle _initvect + 13F6:02E3 _do_poly + 13F6:0C68 _clear + 14C1:000F idle _vect + 14C1:00A0 idle _calculate + 14C1:0163 idle _count_const + 14C1:03F4 idle _rotate + 14C1:050E idle _sort_faces + 14C1:074E idle _draw + 14C1:0874 idle _swappage + 155B:0008 _main + 155C:108C _getspl + 1685:2152 e086_Entry + 1685:26E0 e086_Shortcut + 18FD:0306 e087_Entry + 18FD:03C6 e087_Shortcut + 18FD:0430 e087_Trap + 195A:0000 _kuva1 + 1D5A:0000 _dist1 + 255A:0000 _kuva2 + 295A:0000 _kuva3 + 2D5A:0000 _sinit + 2D5A:0200 _kosinit + 2DFB:0000 _vmem + 2DFB:0004 idle _buu + 2E3A:0000 idle _fpal + 2E6A:0000 idle DATASEG@ + 2E6A:005B idle __Int0Vector + 2E6A:005F idle __Int4Vector + 2E6A:0063 idle __Int5Vector + 2E6A:0067 idle __Int6Vector + 2E6A:006B idle __C0argc + 2E6A:006D idle __C0argv + 2E6A:0071 idle __C0environ + 2E6A:0075 idle __envLng + 2E6A:0077 idle __envseg + 2E6A:0079 idle __envSize + 2E6A:007B __psp + 2E6A:007D idle __osversion + 2E6A:007D idle __osmajor + 2E6A:007D __version + 2E6A:007E idle __osminor + 2E6A:007F _errno + 2E6A:0081 idle __StartTime + 2E6A:0085 idle ___brklvl + 2E6A:0087 __heapbase + 2E6A:008B __brklvl + 2E6A:008F __heaptop + 2E6A:0094 idle _ptau + 2E6A:0194 idle _curpal + 2E6A:0196 idle _timetable + 2E6A:01AA idle _ttptr + 2E6A:01AC _l1 + 2E6A:01AE _l2 + 2E6A:01B0 _l3 + 2E6A:01B2 _l4 + 2E6A:01B4 _k1 + 2E6A:01B6 _k2 + 2E6A:01B8 _k3 + 2E6A:01BA _k4 + 2E6A:01BC _il1 + 2E6A:01BE _il2 + 2E6A:01C0 _il3 + 2E6A:01C2 _il4 + 2E6A:01C4 _ik1 + 2E6A:01C6 _ik2 + 2E6A:01C8 _ik3 + 2E6A:01CA _ik4 + 2E6A:01CC idle _inittable + 2E6A:026C idle _clrptr + 2E6A:026E idle _kuvataus + 2E6A:0276 idle _disttaus + 2E6A:02A2 idle _object + 2E6A:2B0C idle _polys + 2E6A:2B0E idle _light_src + 2E6A:2B1A idle _lls + 2E6A:2B26 _kx + 2E6A:2B28 _ky + 2E6A:2B2A _kz + 2E6A:2B2C _dis + 2E6A:2B2E _tx + 2E6A:2B30 _ty + 2E6A:2B32 _ls_kx + 2E6A:2B34 _ls_ky + 2E6A:2B36 _ls_kz + 2E6A:2B38 idle _ls_x + 2E6A:2B3A idle _ls_y + 2E6A:2B3C idle _ls_z + 2E6A:2B3E idle _page + 2E6A:2B40 idle _frames + 2E6A:2B50 __8087 + 2E6A:2B60 __protected + 2E6A:2B61 __LDT + 2E6A:2B64 __default87 + 2E6A:2B66 idle __huge_flt + 2E6A:2B6A __huge_dble + 2E6A:2B72 idle __huge_ldble + 2E6A:2B7C idle __indefinite + 2E6A:2B80 idle __tiny_ldble + 2E6A:2B8A __mathwhy + 2E6A:2D1A __atexitcnt + 2E6A:2D1C __ctype + 2E6A:2E1E __exitbuf + 2E6A:2E22 idle __exitfopen + 2E6A:2E26 idle __exitopen + 2E6A:2E2A __streams + 2E6A:2FBA __nfile + 2E6A:2FBC __openfd + 2E6A:2FE4 __fpstklen + 2E6A:2FE6 idle __doserrno + 2E6A:2FE8 idle __dosErrorToSV + 2E6A:3042 __stklen + 2E6A:30AC __wscroll + 2E6A:30AE __video + 2E6A:30BD _directvideo + 2E6A:30FA __cFlag + 2E6A:30FB __cChar + 2E6A:3102 __RealCvtVector + 2E6A:3106 idle __ScanTodVector + 2E6A:312A idle _pals + 2E6A:552A idle _clrtau + 2E6A:752A _pal + 2E6A:782A idle _siny + 2E6A:78AA idle _sinx + 2E6A:792A idle _sini + 2E6A:88CA idle _czz + 2E6A:88CC idle _czy + 2E6A:88CE idle _czx + 2E6A:88D0 idle _cyz + 2E6A:88D2 idle _cyy + 2E6A:88D4 idle _cyx + 2E6A:88D6 idle _cxz + 2E6A:88D8 idle _cxy + 2E6A:88DA idle _cxx + 2E6A:88DC idle _ptodraw + 2E6A:8CDC __atexittbl + 2E6A:8D5C ___SignalPtr + 3741:0000 __emu + +Program entry point at 0000:0000 + diff --git a/plzpart/plzpart.prj b/plzpart/plzpart.prj new file mode 100755 index 0000000000000000000000000000000000000000..a5319a656c308a90b6ea18f455f0f0e7a82486d2 GIT binary patch literal 7318 zcmeI1X>=3U703T0jj+Ki2Fzv%OhAM!$k<@Bq^%H=Y>Q}_BM)JT3Bk57B!FBQr_E+a zNt2wk;k3!ghkVMurzs`0ADX2fa@x~05ZW{)K=Uada{945X_{nu|8EpqCdgxCwY2AS zjDNoG&VBdZcjwK#nTOSv>&O~m!^~xG%5)wun)mF@7`4zQOqrp{pNa;gE8l_#8h#}N z-d6Gn#gj_&j^b-oJo~!h8;U;@YIs*!{#Nllp%+!zQoKZY0g!deYKS>|&p9S~} z@mGQNH%fnp4jcl`v+*(U58@N{GLGs(&mWbC(^aB=pE#rPI7{)Ih}HPLP{%*n@AxFa zry}W}3A~?EXA{sQq8!k?0_cQ~7(-o!U{Ic$RpMI7s?E6HZez_T|sHCz&npkgU$KG0>V!$6lhmTXZzqHX)aT4ZuW?H zy+GSe+(2{?okSOrA$Aen#BKrh5&MZObzi5{OY{-9Q1=Z=-=uUaaT{?vb$1X)h&!q4 zCk_&ah`Wey5r+l1o6@(5d)T~}xR1^IiSG~(5Z@!dPdrFGMCjE5A2EigAS#LFT0|;1 z`XitnLU>*Kw)PFFbUc)dgxh1uaC}oFI(pY5_E7hw9OAJJBko-u!xb_;S2h6knhy<) z;B=S6wZ> z=4ugiwOB6`x3{Nrci-NdW$Ij>BXs$vXGE)%duMgiYN+~H2h{dl`t*CAC^X02Fa-rVd%)XAj znOw2JR;Vpe>|81Oy2M(eF0sX^+ZHqGQii|W{!7WJls+eHI2G)VWIFn~yNg#4Rs?IB zN{LaVk3YI4nhYhPkP;5aMQs0@)h7o^C?6BMOtad@NDQyp|D>+e=8z*RWD%?zcj_CZBS z@up)MYA{y%R^WpRVue$t8BMETPOJh&DZ!><3MQjcx{gKm&Y|PVf3m7zYFvei5`tA@ z5+=%+WNQVU3u2k^Z6PO6zJ>#e5&}t=aWWo`N;YpW@q$>^=4j~J!s|7tP(3ac74quq zlV8~$!j19*{E-at%tGKp(a10YVMOEYBB&ZVic1YKU_S#hF-xM!&J89@tYhPW(<^~j zomkDWcwFKQ#>y)O`d^ALL9SC3_vmmHHcPBWWJ(^p8dxDaE!RcE76T28E3dc||An@- zn2k9~u^4kCR!#ooMERR9-H>symZB)>&}GY#+m^D^g=-{M;l11@>qjzLaDNpjN(nX} zSHj>X=An7UJmaSaPX@0Ke!gyd@MMWUM$ioAg4y6r!A!6-cp$hgNKIHc=&=cJ`syTE z(|6qWwC`cx-M&>mzpv7FUjKuBLVrVlLVrj%J@@Hd`g(n~e%||@_o(-X_prCmYkHS? z$9X^Uob{aWZ16OC7I}_qGd&UQIqd~B$`0WX^rHti%8%V3h0E7Q9t*Go(oTo0P(ZZ` z&N^QwI<5wl%R$3{lGT#bCR>_Vf|c@|TdHW_Ub$cAVT*9S($r$T$W!pvvhgib6>Cu2 z`f~F$CC^rzfnUnmIZB?cI8$k^P@JoHrSdjQ(Y9%CGwc`Bs})0oHE96wdsX^hmov60W`q^|ZBhEh;>^E5eE40bE zY%GWKFw7Stzq+(aEox+)*gi~dPCkVhI+b>6H+*i+HFvI$Gol4xX12{G$L54^)>KK0 z^TOI{M%x0?;6)4s+U4Jc8?Eil;iMIJv5BQQT7V>heCo8rim>|Kn4>z$d4CvbMnbqIAwHf&7;ZCS2UoRF-YAWXy7A@K(73 zLtj&Lc^9CzD(_(+O3XedafiG=>GIA%<(D#&he4&R7{8Hox|*3j#WDF=DjWM3nQ!Xm ziZi+TCMP@2X{A^-*fwe4H0gfu-ElR3fdx{HR>ZIo-Pny=aT{*OcX0!D$Rqdx9KoY_ q43Fa&Ucqtv9J`P~7dp{_op2VlYZ1qG@xWua{iKVWE2D}J`hNlM#f9Sl literal 0 HcmV?d00001 diff --git a/plzpart/types.h b/plzpart/types.h index bb09ff1..51d4024 100755 --- a/plzpart/types.h +++ b/plzpart/types.h @@ -39,4 +39,9 @@ typedef signed int siword; typedef enum {false,true} boolean; +#ifdef __BORLANDC__ +typedef word uint16_t; +typedef byte uint8_t; +#endif + #endif/*_TYPE_H_*/ diff --git a/plzpart/vect.c b/plzpart/vect.c index 690605d..0c27784 100755 --- a/plzpart/vect.c +++ b/plzpart/vect.c @@ -118,9 +118,9 @@ void vect() //while(dis_musplus()<13 && !dis_exit()); frame_count=0; - while(!dis_exit()) + while(!getch())//!dis_exit()) { - a=dis_musplus(); + //a=dis_musplus(); if(a>=-4 && a<0) break; swappage(); while(frame_count<1); frames+=frame_count; frame_count=0; diff --git a/tweak.o b/tweak.o index cc845754150dec777ed39db4ebd7cd8d0c805bdf..872bf52b814b32edc490ad0dbebc55d7cd630239 100755 GIT binary patch delta 78 zcmbQqGLvP3E{kzZv)4pJVe1ziQVb0*K|CS-l>B1-D*b|-D*cl3)WmGPjK|m|D+^MK M^)gOvte?dQ08@Y+I{*Lx delta 78 zcmbQqGLvP3E=y04zsE#FVe9uDQVb0*I~)Byg!EJLi}kDY3v#OTOUhFdv-L9efh9po SQ6wu1Qj7I6E^e%!#RvdblN~z% diff --git a/u2/ASMYT.ASM b/u2/ASMYT.ASM new file mode 100755 index 0000000..692bf19 --- /dev/null +++ b/u2/ASMYT.ASM @@ -0,0 +1,119 @@ + IDEAL + MODEL large + P386 + +EXTRN C l1:word, C l2:word, C l3:word, C l4:word, C k1:word, C k2:word, C k3:word, C k4:word +EXTRN C m1:word, C m2:word, C m3:word, C m4:word, C n1:word, C n2:word, C n3:word, C n4:word + +SEGMENT poro para private 'CODE' + +ASSUME cs:poro + +PUBLIC C plzline, C setplzparas, C psini, C lsini4, C lsini16 + +LABEL psini BYTE +INCLUDE 'psini.inc' +; db 16384 dup(?) + +LABEL lsini4 WORD +INCLUDE 'lsini4.inc' +; db 16384 dup(?) + +LABEL lsini16 WORD +INCLUDE 'lsini16.inc' +; db 16384 dup(?) + +PROC C plzline + + ARG y1:word, vseg:word + + push ds es si di + + push [vseg] + pop es + push cs + pop ds + mov si, [y1] +; and si, 0fffeh + shl si, 1d + mov di, si + + IRP ccc, <3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12,19,18,17,16,23,22,21,20,27,26,25,24,31,30,29,28,35,34,33,32,39,38,37,36,43,42,41,40,47,46,45,44,51,50,49,48,55,54,53,52,59,58,57,56,63,62,61,60,67,66,65,64,71,70,69,68,75,74,73,72,79,78,77,76,83,82,81,80> + +IF (ccc AND 1) EQ 1 + +lc2_&ccc=$+2 + mov bx, [ds:si+0c200h] +lc1_&ccc=$+2 + mov ah, [ds:ccc*32 + bx + 0c100h] +lc4_&ccc=$+2 + mov bx, [ds:ccc*64 + di + 0c400h] +lc3_&ccc=$+2 + add ah, [ds:bx + di + 0c300h] +ELSE +lc2_&ccc=$+2 + mov bx, [ds:si+0c200h] +lc1_&ccc=$+2 + mov al, [ds:ccc*32 + bx + 0c100h] +lc4_&ccc=$+2 + mov bx, [ds:ccc*64 + di + 0c400h] +lc3_&ccc=$+2 + add al, [ds:bx + di + 0c300h] +ENDIF +IF (ccc AND 3) EQ 2 + shl eax, 16d +ENDIF +IF (ccc AND 3) EQ 0 + mov [es:ccc], eax +ENDIF + ENDM + pop di si es ds + ret +ENDP + +PROC C setplzparas + + ARG c1:word, c2:word, c3:word, c4:word + + IRP ccc, <0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83> + mov ax, [c1] + add ax, OFFSET psini+ccc*8 + mov [word (cs:lc1_&ccc)], ax + mov ax, [c2] + shl ax, 1d + add ax, OFFSET lsini16-ccc*8+80*8 + mov [word (cs:lc2_&ccc)], ax + mov ax, [c3] + add ax, OFFSET psini-ccc*4+80*4 + mov [word (cs:lc3_&ccc)], ax + mov ax, [c4] + shl ax, 1d + add ax, OFFSET lsini4+ccc*32 + mov [word (cs:lc4_&ccc)], ax + ENDM + ret +ENDP + +PUBLIC C set_plzstart + +PROC C set_plzstart + + ARG start:word + + mov dx, 3d4h + mov al, 18h ; linecompare + mov ah, [Byte start] + out dx, ax + mov al, 07h + mov ah, [Byte start+1] + shl ah, 4d + and ah, 10h + or ah, 0fh + out dx, ax ; 8th bit + ret + +ENDP + + +ENDS +END diff --git a/u2/ASMYT.OBJ b/u2/ASMYT.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..cccfe42693ea5329f51b6de495657daa404467cc GIT binary patch literal 55949 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≻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 F{vWXF^=AM8 literal 0 HcmV?d00001 diff --git a/u2/COPPER.ASM b/u2/COPPER.ASM new file mode 100755 index 0000000..c7a6209 --- /dev/null +++ b/u2/COPPER.ASM @@ -0,0 +1,300 @@ + IDEAL + MODEL large + P386 + +EXTRN C l1:word, C l2:word, C l3:word, C l4:word, C k1:word, C k2:word, C k3:word, C k4:word +EXTRN C il1:word, C il2:word, C il3:word, C il4:word, C ik1:word, C ik2:word, C ik3:word, C ik4:word + +CODESEG + +PUBLIC C frame_count, C init_copper, C close_copper, C cop_drop, C cop_pal, C do_pal +PUBLIC C cop_scrl, C cop_start, C cop_plz + +frame_count dw 0 +cop_drop dw 0 +cop_pal dd 0 +do_pal dw 0 +cop_start dw 0 +cop_scrl dw 0 +cop_plz dw 1 + +PROC close_copper + + mov bx, 7 + mov ax, 0 + mov cx, 0 + mov dx, 0 + int 0fch + + mov bx, 7 + mov ax, 1 + mov cx, 0 + mov dx, 0 + int 0fch + + mov bx, 7 + mov ax, 2 + mov cx, 0 + mov dx, 0 + int 0fch + + ret +ENDP + +PROC init_copper + + mov bx, 7 + mov ax, 1 + mov cx, OFFSET copper1 + mov dx, SEG copper1 + int 0fch + + mov bx, 7 + mov ax, 2 + mov cx, OFFSET copper2 + mov dx, SEG copper2 + int 0fch + + mov bx, 7 + mov ax, 0 + mov cx, OFFSET copper3 + mov dx, SEG copper3 + int 0fch + + ret +ENDP + +PROC copper1 + + mov dx, 03d4h + mov al, 0dh + mov ah, [Byte cs:cop_start] + out dx, ax + mov al, 0ch + mov ah, [Byte cs:cop_start+1] + out dx, ax + + mov dx, 3c0h + mov al, 33h + out dx, al + mov ax, [cs:cop_scrl] + out dx, al + + retf +ENDP + +PROC copper2 + + pusha + push ds + + inc [cs:frame_count] + + cmp [cs:do_pal], 0d + je @@no_pal + lds si, [cs:cop_pal] + mov cx, 768d + mov dx, 3c8h + mov al, 0d + out dx, al + inc dx + rep outsb + mov [cs:do_pal], 0d +@@no_pal: + cmp [cs:cop_plz], 0d + je @@l3 + call pompota + call moveplz +@@l3: + cmp [cs:cop_drop], 0d + je @@l1 + call do_drop +@@l1: + pop ds + popa + retf +ENDP + +PROC copper3 + retf +ENDP + +pompi db 0 + +PUBLIC C pompota + +PROC pompota + + mov [cs:cop_scrl], 4d + mov dx, 3d4h + mov ax, 3c18h + out dx, ax + mov ax, 0f07h + out dx, ax ; 8th bit + mov ax, 3c18h + inc [cs:pompi] + test [cs:pompi], 1d + jz @@l1 + mov [cs:cop_scrl], 0d + mov ax, 3d18h +@@l1: + out dx, ax + ret +ENDP + +PUBLIC C moveplz + +PROC moveplz + + push ds + push SEG k1 + pop ds + + add [ds:k1], -3d + and [ds:k1], 4095d + add [ds:k2], -2d + and [ds:k2], 4095d + add [ds:k3], 1d + and [ds:k3], 4095d + add [ds:k4], 2d + and [ds:k4], 4095d + + add [ds:l1], -1d + and [ds:l1], 4095d + add [ds:l2], -2d + and [ds:l2], 4095d + add [ds:l3], 2d + and [ds:l3], 4095d + add [ds:l4], 3d + and [ds:l4], 4095d + + pop ds + ret +ENDP + +LABEL dtau Word +ccc=0 +cccc=0 +REPT 65 ; 43=dy*512/dtý + dw ccc*ccc/4*43/128+60 +ccc=ccc+1 +ENDM + +PUBLIC C fadepal +fadepal db 768*2 dup(?) + +PUBLIC C cop_fadepal +cop_fadepal dd 0 + +PROC do_drop + + inc [cs:cop_drop] + cmp [cs:cop_drop], 64d + ja @@over + + push bx + mov bx, [cs:cop_drop] + shl bx, 1d + add bx, OFFSET dtau + + mov bx, [cs:bx] + mov dx, 3d4h + mov al, 18h ; linecompare + mov ah, bl + out dx, ax + mov al, 07h + mov ah, bh + shl ah, 4d + and ah, 10h + or ah, 0fh + out dx, ax ; 8th bit + + pop bx + ret + +@@over: + cmp [cs:cop_drop], 256d + jae @@end + cmp [cs:cop_drop], 128 + jae @@lll + cmp [cs:cop_drop], 64+32d + ja @@end + +@@lll: mov [Word cs:cop_pal], OFFSET fadepal + mov [Word cs:cop_pal+2], SEG fadepal + mov [do_pal], 1d + + cmp [cs:cop_drop], 65 + je @@l5 + + mov dx, 3d4h + mov ax, 3c18h + out dx, ax + mov ax, 0f07h + out dx, ax ; 8th bit + + push ds si di cx + + lds si, [cs:cop_fadepal] + mov di, OFFSET fadepal + mov cx, 768/16d +@@l4: + ccc=0 + REPT 16 + mov ax, [ds:si+ccc*2] + add [cs:di+ccc+768], al + adc [cs:di+ccc], ah + ccc=ccc+1 + ENDM + add di, 16d + add si, 32d + dec cx + jnz @@l4 + + pop cx di si ds + ret +@@l5: + mov dx, 3d4h + mov ax, 9018h + out dx, ax + mov ax, 1f07h + out dx, ax ; 8th bit + + call initpparas + ret +@@end: + mov [cs:cop_drop], 0d + ret +ENDP + +PROC initpparas + push ax + push ds + push SEG k1 + pop ds + + mov ax, [ds:il1] + mov [ds:l1], ax + mov ax, [ds:il2] + mov [ds:l2], ax + mov ax, [ds:il3] + mov [ds:l3], ax + mov ax, [ds:il4] + mov [ds:l4], ax + + mov ax, [ds:ik1] + mov [ds:k1], ax + mov ax, [ds:ik2] + mov [ds:k2], ax + mov ax, [ds:ik3] + mov [ds:k3], ax + mov ax, [ds:ik4] + mov [ds:k4], ax + + pop ds + pop ax + ret +ENDP + +END + diff --git a/u2/COPPER.OBJ b/u2/COPPER.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..211743a51f0874ac221e60331717550933b7942b GIT binary patch literal 3584 zcma)8eNa@_75|<6dhad^i;63XvRD%}jlbWgVgP!|VVb{OH&bjY* zKJGd9-goZrvB3swj@ReQEp~ZI3bzI`01Wr9X;@a5;c0BFT)nKOvLPd*w6dXbRb6dH zwkvZ-a3I{Du34KqH)dW}(8$Jub_1|d!oAzt2O=SwH{j1*ayTv>fXPhub`=(FPO*1^FSNr1ORr(cOBNUdHJPXjn&9rV&Wq|g@P@)sy=3DKG_A@d8W_5=0GIFvc6QVTdv445$1S9 z)Run zbnkFX-jc#|69da@>Kf%-=}rbN^|@IgAsvAg4R!VW7I*jMwX;jrUG)_;CSZu}u_13u z5_^=uin;(hRA6J@l>Tgu%NuHJKzpBS0MD`N*&3TF8k(%!Y<<3%N;S`L^8Y^MsjpjI zU)NM|4j8X{`XYL(06zT8Kz$PCv_$PKD+ccsFDaps_4IFw)0Be3gun8cJA zOkjH&<54U&T^p`zCMdc#Le~gF*V1*(%)KJ>IRVQs)f}|IeT7TEVwlutp>OMoJG@M3-T<*09nxlEn;raN8TbQUv+(uC}qEo31CUa7Y z+wCpQEtXkQ)OkTWo6KCNK(CyozSx&$k_@RR1CsUI53RIGz`ZGr1NhioP53+7{h2BpXhkjCg4$IVKg3R z>l1hk--HX(*g6vv;Xx)e_Rhg1Z7l{fJee#?~(V>RAIEsmoOC%NKjG~f(Z{QyrR zf(TB62=$G`?#r`#x3Ox?kFFiSBWs2oP|+62b1~-Skym4 zRnH?q{SZm&pD;kZfPw0tF-ZL@Qq;d8P5lT?^<#`yJ1|!LJ6!5TWT~B)s$POy?ZO=O zG78nJC{nM%uXbah`Y9Hv*Re$X7rw3DK)Kq3O7-7Zss0bu>McAbzQTBM8xzDGOceJp zN%Z0gLEM!Fnl6kqOPI(l%#g7p`aK` zo5hLXV7^5OdBvW>+(3?Z!F)gSA^{hoSDQbh0j=2UlSTvH3J&04MH>0KGr5up3DKLW z=?oylRFuiPbXCZ(62GTd&uB$)f5wuW;sP0J!@-!01!dBfgzG^EPq*b1cuVAxe`8>s*5@{|H$MQAI4lDK^e!A{i&cgL257cDUBY?xHGkPNFD*m10Imk(4Xd+Fe94eqvDyOHY ziPqC*+D2=3?!|@Kemb4&rwcxQmhf{aKP&unvX*5nOEXIw%MV$$vm9XgHOo`c3N^R@vIi$2*J9gQ$ z;d1hZv-X}P5m&Qp0kXG@BOPu)qg8Kfk8Ji_G zhcp{wi^P_Ymc&?*SP5y#j8%!%kT#I9kXVGY6vkGGts%|9I6>lske15WCb2D~4P%@r zabidt&NxZpq>z@**emU9#!+ XILIE}FPrXl2PKE!;HLAoNj~^Lj;WI_ literal 0 HcmV?d00001 diff --git a/u2/INCLUDE.ASM b/u2/INCLUDE.ASM new file mode 100755 index 0000000..c31276e --- /dev/null +++ b/u2/INCLUDE.ASM @@ -0,0 +1,40 @@ + IDEAL + MODEL large + P386 + +SEGMENT kakka2 para use16 private 'FAR_DATA' +PUBLIC C kuva1 +LABEL kuva1 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka6 para use16 private 'FAR_DATA' +PUBLIC C dist1 +LABEL dist1 BYTE + dw 16384 DUP (?) +ENDS + + + +SEGMENT kakka3 para use16 private 'FAR_DATA' +PUBLIC C kuva2 +LABEL kuva2 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka4 para use16 private 'FAR_DATA' +PUBLIC C kuva3 +LABEL kuva3 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka5 para use16 private 'FAR_DATA' + +PUBLIC C sinit, C kosinit +LABEL sinit WORD +INCLUDE 'sinit.inc' +kosinit=sinit+512 + +ENDS + +END \ No newline at end of file diff --git a/u2/INCLUDE.OBJ b/u2/INCLUDE.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..399b9e2f742e9d56bef4ab8d4ad70da8b7b1cd7f GIT binary patch literal 3301 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 +#include +#include +#include +#include "tweak.h" + +//#define DO_TABLES +//#define DPII (3.1415926535*2.0) + +#define LINELEN 41 +#define MAXY 280 +#define YADD 0 +#define XADD 0 +#define SINMASK 4095 +#define PLZSINI(p1,p2,p3,p4) *ptr++ = (psini[x*32+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+p4]*4+p3]) + (psini[x*32+16+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+32+p4]*4+p3])*256; + +extern int init_copper(); +extern int close_copper(); +extern int far frame_count; +extern int far cop_drop; +extern int far cop_plz; +extern int far cop_start; +extern char far * far cop_fadepal; +extern char far fadepal[768]; +extern far char * far cop_pal; +extern far int do_pal; + +extern int plzline(int y, int vseg); +extern int setplzparas(int c1, int c2, int c3, int c4); +extern int set_plzstart(int y); +extern char far psini[16384]; +extern int far lsini4[8192]; +extern int far lsini16[8192]; + +//int (* vmem)[LINELEN]=MK_FP(0x0a000,0); +//char psini[16384]= +//#include "psini.pre" +//char lsini[16384]= +//#include "lsini.pre" + +char ptau[256]= +#include "ptau.pre" + +int pals[6][768]; +int curpal=0; +int timetable[10]={64*6*2-45,64*6*4-45,64*6*5-45,64*6*6-45,64*6*7+90,0}; +int ttptr=0; + +int l1=1000, l2=2000, l3=3000, l4=4000; +int k1=3500, k2=2300, k3=3900, k4=3670; + +int il1=1000, il2=2000, il3=3000, il4=4000; +int ik1=3500, ik2=2300, ik3=3900, ik4=3670; + +int inittable[10][8]={{1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,4000,4000,1500,2300,3900,1670}, + {3500,1000,3000,1000,3500,3300,2900,2670}, + {1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,3000,4000,3500,2300,3900,3670}}; + +plz(){ + register int x,y; + int *ptr; + long tim=0,count=0; + int ch=0,sync=2; + + while(dis_musplus()<0 && !dis_exit()); + dis_setmframe(0); + + init_plz(); + cop_drop=128; + cop_fadepal=pals[curpal++]; + + frame_count=0; + while(!dis_exit()) + { + tim+=frame_count; frame_count=0; count++; + if(dis_getmframe()>timetable[ttptr]) + { + memset(fadepal,0,768); + cop_drop=1; + cop_fadepal=pals[curpal++]; + ttptr++; + il1=inittable[ttptr][0]; + il2=inittable[ttptr][1]; + il3=inittable[ttptr][2]; + il4=inittable[ttptr][3]; + ik1=inittable[ttptr][4]; + ik2=inittable[ttptr][5]; + ik3=inittable[ttptr][6]; + ik4=inittable[ttptr][7]; + } + if(curpal==5 && cop_drop>64) break; + + asm mov dx, 3c4h + asm mov ax, 0a02h + asm out dx, ax + + setplzparas(k1,k2,k3,k4); + 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 +dw OFFSET plz_y&ccc +ENDM + +LABEL start_mask BYTE +REPT 200 + db 1111b, 1110b, 1100b, 1000b +ENDM +LABEL end_mask BYTE +REPT 200 + db 0001b, 0011b, 0111b, 1111b +ENDM + +PUBLIC C xx, C yy +PUBLIC C yy1, C xx1, C yy2, C xx2 +PUBLIC C ay1, C ay2, C ax1, C ax2 +PUBLIC C txx1, C txx2, C txy1, C txy2 +PUBLIC C tax1, C tax2, C tay1, C tay2 +PUBLIC C to, C from, C dseg, C ctau + +xx dw ? +yy dw ? +yy1 dd ? +xx1 dd ? +yy2 dd ? +xx2 dd ? +ay1 dd ? +ax1 dd ? +ay2 dd ? +ax2 dd ? +txx1 dd ? +txy1 dd ? +txx2 dd ? +txy2 dd ? +tax1 dd ? +tay1 dd ? +tax2 dd ? +tay2 dd ? +to dd 0a0000000h +from dd ? +dseg dw 0 +ctau dd ? + + +linecount dw ? + +ASSUME cs:lerssicode, ds:nothing, es:nothing + +PUBLIC c do_block + +PROC C do_block FAR + ARG ycount:word + + push es ds si di bp + + mov ax, [ycount] + mov [linecount], ax + cmp ax, 0d + je @@end + lds bx, [from] + les di, [to] + lgs si, [ctau] + mov fs, [dseg] + +@@doline: + cmp [yy], 0d + jl @@endline + cmp [yy], 134d + jge @@end ; y-clip + + mov bp, [word ctau] + mov ax, [Word xx2+2] + cmp ax, [gs:bp] + ja @@l7 + mov [gs:bp], ax ; x1.. +@@l7: shr ax, 2d + add di, ax + mov si, [Word xx1+2] + cmp si, [gs:bp+2] + jb @@l8 + mov [gs:bp+2], si ; x2.. +@@l8: shr si, 2d + sub si, ax ; si = bytes to copy + jb @@endline + jz @@singlebyte + mov bp, si + dec si + jz @@twobyte + + mov dx, 3c4h + mov ax, 0f02h + out dx, ax + + mov ebx, [txy1-2] ; xlo + mov ecx, [txx1-2] ; ylo + + movsx esi, si + mov eax, [txy2] + sub eax, [txy1] + cdq + idiv esi ; addy + mov ecx, eax + mov eax, [txx2] + sub eax, [txx1] + cdq + idiv esi ; addx + + mov edx, ecx ; look reg table + rol edx, 16d ; y_add + mov dh, dl ; yah + rol eax, 16d ; x_add + mov dl, al ; xah + test dl, 80h + jz @@l2 + dec dh +@@l2: + mov bh, [Byte txy1+2] ; txt y + mov bl, [Byte txx1+2] ; txt x + test si, 1d + jz @@l1 + + movzx si, [fs:bx] ; out odd byte + add ecx, eax + mov al, [ds:bx+si] + adc ebx, edx + adc bh, 0 + mov [es:bp+di-1],al + jmp [cs:jmp_tau+bp-2] + +@@l1: jmp [cs:jmp_tau+si] ; and jump to rept + +; e h l +; ax x_add data data +; bx ylo ty tx +; cx xlo - - +; dx y_add yah xah +; di - +; si sinus inc + + ALIGN 4 +IRP ccc, <200,199,198,197,196,195,194,193,192,191,190,189,188,187,186,185,184,183,182,181,180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164,163,162,161,160,159,158,157,156,155,154,153,152,151,150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,134,133,132,131,130,129,128,127,126,125,124,123,122,121,120,119,118,117,116,115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1> + +plz_y&ccc&: + + movzx si, [fs:bx] + add ecx, eax + mov ah, [ds:bx+si] + adc ebx, edx + adc bh, 0 + + movzx si, [fs:bx] + add ecx, eax + mov al, [ds:bx+si] + adc ebx, edx + adc bh, 0 ; immediate = y_hi + + mov [es:di+ccc*2-1], ax ; output byte +ENDM +plz_y0: + +@@twobyte: + mov bh, [Byte txy2+2] ; txt y + mov bl, [Byte txx2+2] ; txt x + movzx si, [fs:bx] + mov cl, [ds:bx+si] + mov bh, [Byte txy1+2] ; txt y + mov bl, [Byte txx1+2] ; txt x + movzx si, [fs:bx] + mov ch, [ds:bx+si] + + mov bx, [Word xx2+2] + and bx, 3d + mov ah, [start_mask+bx] + mov al, 02 + mov dx, 3c4h + out dx, ax + mov [es:di], cl + + mov bx, [Word xx1+2] + and bx, 3d + mov ah, [end_mask+bx] + out dx, ax + mov [es:bp+di], ch + +@@endline: + add [Word to], 160d ; next line + mov di, [word to] + inc [yy] + add [word ctau], 4d + + mov eax, [ax1] + add [xx1], eax + mov eax, [ax2] + add [xx2], eax + mov eax, [tay1] + add [txy1], eax + mov eax, [tax1] + add [txx1], eax + mov eax, [tay2] + add [txy2], eax + mov eax, [tax2] + add [txx2], eax ; increment txt and line indexes + + dec [linecount] + jnz @@doline + +@@end: + pop bp di si ds es + ret + + +@@singlebyte: + mov bh, [Byte txy2+2] ; txt y + mov bl, [Byte txx2+2] ; txt x + movzx si, [fs:bx] + mov cl, [ds:bx+si] + + mov al, 02 + mov dx, 3c4h + mov bx, [Word xx2+2] + and bx, 3d + mov ah, [start_mask+bx] + mov bx, [Word xx1+2] + and bx, 3d + and ah, [end_mask+bx] + out dx, ax + mov [es:di], cl + + add [Word to], 160d ; next line + mov di, [word to] + inc [yy] + add [word ctau], 4d + + mov eax, [ax1] + add [xx1], eax + mov eax, [ax2] + add [xx2], eax + mov eax, [tay1] + add [txy1], eax + mov eax, [tax1] + add [txx1], eax + mov eax, [tay2] + add [txy2], eax + mov eax, [tax2] + add [txx2], eax ; increment txt and line indexes + + dec [linecount] + jnz @@doline + pop bp di si ds es + ret +ENDP + + +PUBLIC C shadepal + +PROC C shadepal + + ARG fpal:dword, ppal:dword, shd:word + + push si di ds es + + lds si, [ppal] + les di, [fpal] + mov dx, [shd] + mov cx, 192/16d +@@loop: + REPT 16 + lodsb + mul dl + shr ax, 6d + stosb + ENDM + loop @@loop + + pop es ds di si + ret + +ENDP + + +ycnt dw 0 + +PUBLIC C do_clear + +PROC C do_clear + + ARG vmem:dword, otau:dword, ntau:dword + + push si di ds es bp + + mov dx, 3c4h + mov ax, 0f02h + out dx, ax + + les dx, [vmem] + lds bx, [otau] ; dx:bx-> otau + lds si, [ntau] + sub si, bx ; dx:bx+si-> ntau + mov dl, [es:0] ; fill latches + mov [ycnt], 134d + xor ax, ax + +@@lineloop: + cmp [Word ds:bx], 640d + je @@nextline + + mov di, [Word ds:bx] + shr di, 2d + mov cx, [word ds:bx+si] + shr cx, 2d + sub cx, di + jb @@l1 + add di, dx + rep stosb +@@l1: + mov di, [Word ds:bx+si+2] + shr di, 2d + mov cx, [word ds:bx+2] + shr cx, 2d + sub cx, di + jb @@nextline + add di, dx + inc di + rep stosb + +@@nextline: + mov [Word ds:bx], 640d + mov [Word ds:bx+2], 0d + + add dx, 160d + add bx, 4d + sub [ycnt], 1d + jae @@lineloop + +; Maskaa p„„t... + + les di, [vmem] + lds si, [ntau] ; dx:bx-> ntau + mov cx, 134d + mov dx, 3c4h + mov ax, 0f02h +@@maskloop: + mov bx, [ds:si] + dec bx + mov ah, [end_mask+bx] + out dx, ax + shr bx, 2d + mov [es:bx+di], ch + + mov bx, [ds:si+2] + inc bx + mov ah, [start_mask+bx] + out dx, ax + shr bx, 2d + mov [es:bx+di], ch + +@@nextmask: + add si,4d + add di, 160d + loop @@maskloop + + pop bp es ds di si + ret +ENDP +ENDS + +END diff --git a/u2/PLZA.OBJ b/u2/PLZA.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..f2734ec8708f87902fd54ca951979a91ee5bd706 GIT binary patch literal 17912 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 literal 0 HcmV?d00001 diff --git a/u2/PLZFILL.C b/u2/PLZFILL.C new file mode 100755 index 0000000..ae73c18 --- /dev/null +++ b/u2/PLZFILL.C @@ -0,0 +1,186 @@ +#include +#include +#include +#include +#include "tweak.h" + +extern far do_line(char far *to, int dx, int dy, int cnt, char far *from, long txx1, long txy1, long txx2, long txy2, int dseg); +extern far do_block(int ycnt); +extern far do_clear(char far *vmem, int far *otau, int far *ntau); + +extern int acstau[256]; +int sini[2000]; +char (* far vmem)[160]=MK_FP(0x0a000,0); +extern char far kuva1[128][256]; +extern char far kuva2[128][256]; +extern char far kuva3[128][256]; +extern char far dist1[128][256]; +char far buu[1000]; +char sinx[128], siny[128]; +char pal[768]; + +int clrtau[8][256][2]; +int clrptr=0; + +initvect() { + int a,b,x,y,s,d=0,p=0,ch; + + for(a=0;a<1524;a++) + { + sini[a]=s=sin(a/1024.0*M_PI*4)*127; + s-=sini[a]; + } + +/* for(a=0;a<65;a++) for(b=0;b<256;b++) // chessboard + { x=1; if((a>>4)&1) x^=3; if((b>>5)&1) x^=3; kuva[a][b]=x; } + + pal[0*192+3*1]=pal[0*192+3*1+1]=pal[0*192+3*1+2]=40; + pal[0*192+3*2]=pal[0*192+3*2+1]=pal[0*192+3*2+2]=60; +*/ + for(a=1;a<32;a++) // must-sini-valk + { pal[0*192+a*3]=0; pal[0*192+a*3+1]=0; pal[0*192+a*3+2]=a*2; } + for(a=0;a<32;a++) + { pal[0*192+a*3+32*3]=a*2; pal[0*192+a*3+1+32*3]=a*2; pal[0*192+a*3+2+32*3]=63; } + + for(a=0;a<32;a++) // must-pun-kelt + { pal[1*192+a*3]=a*2; pal[1*192+a*3+1]=0; pal[1*192+a*3+2]=0; } + for(a=0;a<32;a++) + { pal[1*192+a*3+32*3]=63; pal[1*192+a*3+1+32*3]=a*2; pal[1*192+a*3+2+32*3]=0; } + + + for(a=0;a<32;a++) // must-orans-viol + { pal[2*192+a*3]=a; pal[2*192+a*3+1]=0; pal[2*192+a*3+2]=a*2/3; } + for(a=0;a<32;a++) + { pal[2*192+a*3+32*3]=31-a; pal[2*192+a*3+1+32*3]=a*2; pal[2*192+a*3+2+32*3]=21; } + + + for(y=0;y<64;y++) for(x=0;x<256;x++) + { + kuva1[y][x]=sini[(y*4+sini[x*2])&511]/4+32; + kuva2[y][x]=sini[(y*4+sini[x*2])&511]/4+32+64; + kuva3[y][x]=sini[(y*4+sini[x*2])&511]/4+32+128; + } + + for(y=0;y<128;y++) for(x=0;x<256;x++) + dist1[y][x]=sini[y*8]/3; + + for(a=0;a<8*256;a++) { clrtau[0][a][0]=640; clrtau[0][a][1]=0; } + } + +extern far char * to; +extern far char * from; +extern far int * ctau; +extern far int dseg; +extern far int xx, yy; +extern far long ay1,ay2,ax1,ax2,xx1,yy1,xx2,yy2; +extern far long txx1,txy1,tay1,tax1; +extern far long txx2,txy2,tay2,tax2; + +int kuvataus[]={FP_SEG(kuva1),FP_SEG(kuva2),FP_SEG(kuva3),FP_SEG(kuva1)}; +int disttaus[]={FP_SEG(dist1),FP_SEG(dist1),FP_SEG(dist1),FP_SEG(dist1)}; + +do_poly(x1,y1,x2,y2,x3,y3,x4,y4,color, dd) +int x1,y1,x2,y2,x3,y3,x4,y4,color, dd; + { + int a,b,c,d,n=0,m,s1,s2,d1,d2,dx1,dy1,dx2,dy2; + + struct points { + int x,y; } pnts[4],txt[4]={{64,4},{190,4},{190,60},{64,60}}; +// int x,y; } pnts[4],txt[4]={{1,1},{63,1},{63,63},{1,63}}; + + dd=(dd+1)&63; + + pnts[0].x=x1; pnts[0].y=y1; + pnts[1].x=x2; pnts[1].y=y2; + pnts[2].x=x3; pnts[2].y=y3; + pnts[3].x=x4; pnts[3].y=y4; + + for(n=0,a=1;a<4;a++) if(pnts[a].y13M51nl^-ER#L$-a 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 literal 0 HcmV?d00001 diff --git a/u2/PLZPART.EXE b/u2/PLZPART.EXE new file mode 100755 index 0000000000000000000000000000000000000000..6bbf9dc7de277710ebdadda3b31a8e2d4adf9a20 GIT binary patch literal 245086 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 NnT6Rogf>Tr{ujD@Dir_# literal 0 HcmV?d00001 diff --git a/u2/PLZPART.MAP b/u2/PLZPART.MAP new file mode 100755 index 0000000..aaefa76 --- /dev/null +++ b/u2/PLZPART.MAP @@ -0,0 +1,827 @@ + + Start Stop Length Name Class + + 00000H 027C3H 027C4H _TEXT CODE + 027C4H 027C4H 00000H ASMYT_TEXT CODE + 027D0H 0FC7BH 0D4ACH PORO CODE + 0FC7CH 10605H 0098AH COPPER_TEXT CODE + 10606H 10606H 00000H INCLUDE_TEXT CODE + 10606H 10606H 00000H PLZA_TEXT CODE + 10610H 12CCDH 026BEH LERSSICODE CODE + 12CCEH 12EA6H 001D9H TWEAK_TEXT CODE + 12EA7H 136D0H 0082AH PLZ_TEXT CODE + 136D1H 14382H 00CB2H PLZFILL_TEXT CODE + 14383H 14D78H 009F6H VECT_TEXT CODE + 14D79H 14D9BH 00023H MAIN_TEXT CODE + 14DA0H 14E73H 000D4H text_disc CODE + 14E74H 160EDH 0127AH SPLINE_TEXT CODE + 160F0H 18866H 02777H EMU_PROG CODE + 18870H 18E37H 005C8H E87_PROG CODE + 18E40H 18E40H 00000H _FARDATA FAR_DATA + 18E40H 1CE3FH 04000H KAKKA2 FAR_DATA + 1CE40H 24E3FH 08000H KAKKA6 FAR_DATA + 24E40H 28E3FH 04000H KAKKA3 FAR_DATA + 28E40H 2CE3FH 04000H KAKKA4 FAR_DATA + 2CE40H 2D84EH 00A0FH KAKKA5 FAR_DATA + 2D850H 2DC3BH 003ECH PLZFILL5_DATA FAR_DATA + 2DC40H 2DF3FH 00300H VECT5_DATA FAR_DATA + 2DF40H 2DF40H 00000H _FARBSS FAR_BSS + 2DF40H 2DF40H 00000H _OVERLAY_ OVRINFO + 2DF40H 2DF40H 00000H _1STUB_ STUBSEG + 2DF40H 31025H 030E6H _DATA DATA + 31026H 31029H 00004H _CVTSEG DATA + 3102AH 31035H 0000CH _SCNSEG DATA + 31036H 31036H 00000H _CONST CONST + 31036H 31041H 0000CH _INIT_ INITDATA + 31042H 31042H 00000H _INITEND_ INITDATA + 31042H 31047H 00006H _EXIT_ EXITDATA + 31048H 31048H 00000H _EXITEND_ EXITDATA + 31048H 36C7FH 05C38H _BSS BSS + 36C80H 36C80H 00000H _BSSEND BSSEND + 36C80H 36D8FH 00110H _STACK STACK + + +Detailed map of segments + + 0000:0000 0295 C=CODE S=_TEXT G=(none) M=c0.ASM ACBP=28 + 0000:0295 0258 C=CODE S=_TEXT G=(none) M=FPINIT ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=E87TRAP ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=PROTFLAG ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=DEFLT87 ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=HUGEVAL ACBP=28 + 0000:04ED 009A C=CODE S=_TEXT G=(none) M=LDTRUNC ACBP=28 + 0000:0587 0000 C=CODE S=_TEXT G=(none) M=MATHWHY ACBP=28 + 0000:0587 01BD C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:0744 0395 C=CODE S=_TEXT G=(none) M=SCANTOD ACBP=28 + 0000:0AD9 020C C=CODE S=_TEXT G=(none) M=XCVT ACBP=28 + 0000:0CE5 00B1 C=CODE S=_TEXT G=(none) M=FPERR ACBP=28 + 0000:0D96 00C9 C=CODE S=_TEXT G=(none) M=_POW10 ACBP=28 + 0000:0E5F 000B C=CODE S=_TEXT G=(none) M=POW10D ACBP=28 + 0000:0E6A 002A C=CODE S=_TEXT G=(none) M=MATHERR ACBP=28 + 0000:0E94 0052 C=CODE S=_TEXT G=(none) M=SIN ACBP=28 + 0000:0EE6 00A9 C=CODE S=_TEXT G=(none) M=_MATHERR ACBP=28 + 0000:0F8F 002C C=CODE S=_TEXT G=(none) M=FFTOL ACBP=28 + 0000:0FBB 002D C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28 + 0000:0FE8 0000 C=CODE S=_TEXT G=(none) M=CTYPE ACBP=28 + 0000:0FE8 0093 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FPSTKLEN ACBP=28 + 0000:107B 001C C=CODE S=_TEXT G=(none) M=F_SCOPY ACBP=28 + 0000:1097 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 + 0000:10B8 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 + 0000:1118 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 + 0000:1163 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 + 0000:1174 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 + 0000:1216 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 + 0000:123F 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 + 0000:1260 00BA C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 + 0000:131A 0000 C=CODE S=_TEXT G=(none) M=SIGDATA ACBP=28 + 0000:131A 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 + 0000:131A 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 + 0000:17F5 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 + 0000:1814 0432 C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 + 0000:1C46 0140 C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 + 0000:1D86 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:1D8A 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 + 0000:1DA6 00CD C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 + 0000:1E73 0042 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 + 0000:1EB5 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 + 0000:1ED1 01E2 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 + 0000:20B3 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 + 0000:20D7 0043 C=CODE S=_TEXT G=(none) M=MEMSET ACBP=28 + 0000:211A 03C8 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 + 0000:24E2 011D C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 + 0000:25FF 0151 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 + 0000:2750 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 + 0000:278C 0038 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 + 027C:0004 0000 C=CODE S=ASMYT_TEXT G=(none) M=ASMYT.ASM ACBP=48 + 027D:0000 D4AC C=CODE S=PORO G=(none) M=ASMYT.ASM ACBP=60 + 0FC7:000C 098A C=CODE S=COPPER_TEXT G=(none) M=COPPER.ASM ACBP=48 + 1060:0006 0000 C=CODE S=INCLUDE_TEXT G=(none) M=INCLUDE.ASM ACBP=48 + 1060:0006 0000 C=CODE S=PLZA_TEXT G=(none) M=PLZA.ASM ACBP=48 + 1061:0000 26BE C=CODE S=LERSSICODE G=(none) M=PLZA.ASM ACBP=68 + 12CC:000E 01D9 C=CODE S=TWEAK_TEXT G=(none) M=TWEAK.ASM ACBP=48 + 12EA:0007 082A C=CODE S=PLZ_TEXT G=(none) M=PLZ.C ACBP=28 + 136D:0001 0CB2 C=CODE S=PLZFILL_TEXT G=(none) M=PLZFILL.C ACBP=28 + 1438:0003 09F6 C=CODE S=VECT_TEXT G=(none) M=VECT.C ACBP=28 + 14D7:0009 0023 C=CODE S=MAIN_TEXT G=(none) M=MAIN.C ACBP=28 + 14DA:0000 00D4 C=CODE S=text_disc G=(none) M=disc.asm ACBP=68 + 14E7:0004 127A C=CODE S=SPLINE_TEXT G=(none) M=SPLINE.ASM ACBP=48 + 160F:0000 0000 C=CODE S=EMU_PROG G=(none) M=FPINIT ACBP=68 + 160F:0000 2777 C=CODE S=EMU_PROG G=(none) M=EMU086 ACBP=68 + 1887:0000 0000 C=CODE S=E87_PROG G=(none) M=FPINIT ACBP=68 + 1887:0000 03E3 C=CODE S=E87_PROG G=(none) M=EMU087 ACBP=68 + 1887:03F0 01D8 C=CODE S=E87_PROG G=(none) M=E87TRAP ACBP=68 + 18E4:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 + 18E4:0000 4000 C=FAR_DATA S=KAKKA2 G=(none) M=INCLUDE.ASM ACBP=60 + 1CE4:0000 8000 C=FAR_DATA S=KAKKA6 G=(none) M=INCLUDE.ASM ACBP=60 + 24E4:0000 4000 C=FAR_DATA S=KAKKA3 G=(none) M=INCLUDE.ASM ACBP=60 + 28E4:0000 4000 C=FAR_DATA S=KAKKA4 G=(none) M=INCLUDE.ASM ACBP=60 + 2CE4:0000 0A0F C=FAR_DATA S=KAKKA5 G=(none) M=INCLUDE.ASM ACBP=60 + 2D85:0000 03EC C=FAR_DATA S=PLZFILL5_DATA G=(none) M=PLZFILL.C ACBP=68 + 2DC4:0000 0300 C=FAR_DATA S=VECT5_DATA G=(none) M=VECT.C ACBP=68 + 2DF4:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 + 2DF4:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 + 2DF4:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 + 2DF4:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=ASMYT.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=COPPER.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=INCLUDE.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=PLZA.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=TWEAK.ASM ACBP=48 + 2DF4:0094 01D8 C=DATA S=_DATA G=DGROUP M=PLZ.C ACBP=48 + 2DF4:026C 0036 C=DATA S=_DATA G=DGROUP M=PLZFILL.C ACBP=48 + 2DF4:02A2 28A4 C=DATA S=_DATA G=DGROUP M=VECT.C ACBP=48 + 2DF4:2B46 0000 C=DATA S=_DATA G=DGROUP M=MAIN.C ACBP=48 + 2DF4:2B46 0000 C=DATA S=_DATA G=DGROUP M=SPLINE.ASM ACBP=48 + 2DF4:2B50 0002 C=DATA S=_DATA G=DGROUP M=FPINIT ACBP=68 + 2DF4:2B60 0000 C=DATA S=_DATA G=DGROUP M=E87TRAP ACBP=68 + 2DF4:2B60 0003 C=DATA S=_DATA G=DGROUP M=PROTFLAG ACBP=48 + 2DF4:2B64 0002 C=DATA S=_DATA G=DGROUP M=DEFLT87 ACBP=48 + 2DF4:2B66 0024 C=DATA S=_DATA G=DGROUP M=HUGEVAL ACBP=48 + 2DF4:2B8A 0000 C=DATA S=_DATA G=DGROUP M=LDTRUNC ACBP=48 + 2DF4:2B8A 0043 C=DATA S=_DATA G=DGROUP M=MATHWHY ACBP=48 + 2DF4:2BCE 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 2DF4:2BCE 0018 C=DATA S=_DATA G=DGROUP M=SCANTOD ACBP=48 + 2DF4:2BE6 0000 C=DATA S=_DATA G=DGROUP M=XCVT ACBP=48 + 2DF4:2BE6 009A C=DATA S=_DATA G=DGROUP M=FPERR ACBP=48 + 2DF4:2C80 0080 C=DATA S=_DATA G=DGROUP M=_POW10 ACBP=48 + 2DF4:2D00 0000 C=DATA S=_DATA G=DGROUP M=POW10D ACBP=48 + 2DF4:2D00 0000 C=DATA S=_DATA G=DGROUP M=MATHERR ACBP=48 + 2DF4:2D00 000C C=DATA S=_DATA G=DGROUP M=SIN ACBP=48 + 2DF4:2D0C 000E C=DATA S=_DATA G=DGROUP M=_MATHERR ACBP=48 + 2DF4:2D1A 0000 C=DATA S=_DATA G=DGROUP M=FFTOL ACBP=48 + 2DF4:2D1A 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 + 2DF4:2D1C 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 + 2DF4:2E1E 000C C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 + 2DF4:2E2A 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 + 2DF4:2FBA 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 + 2DF4:2FE4 0002 C=DATA S=_DATA G=DGROUP M=FPSTKLEN ACBP=48 + 2DF4:2FE6 0000 C=DATA S=_DATA G=DGROUP M=F_SCOPY ACBP=48 + 2DF4:2FE6 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 + 2DF4:2FE6 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 + 2DF4:2FE6 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=SIGDATA ACBP=48 + 2DF4:3042 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 + 2DF4:3044 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 + 2DF4:30AC 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 + 2DF4:30DE 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 + 2DF4:30DE 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=MEMSET ACBP=48 + 2DF4:30E0 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 + 2DF4:30E2 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 + 2DF4:30E6 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 + 2DF4:30E6 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 + 2DF4:30E6 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 + 2DF4:30E6 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30E6 0002 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 2DF4:30E8 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 + 2DF4:30EA 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 2DF4:30EA 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30EA 0006 C=DATA S=_SCNSEG G=DGROUP M=SCANTOD ACBP=48 + 2DF4:30F0 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 + 2DF4:30F6 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30F6 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30F6 0006 C=INITDATA S=_INIT_ G=DGROUP M=FPINIT ACBP=48 + 2DF4:30FC 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 + 2DF4:3102 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 + 2DF4:3102 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 + 2DF4:3102 0006 C=EXITDATA S=_EXIT_ G=DGROUP M=FPINIT ACBP=48 + 2DF4:3108 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 + 2DF4:3108 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 + 2DF4:3108 2400 C=BSS S=_BSS G=DGROUP M=PLZ.C ACBP=48 + 2DF4:5508 33A0 C=BSS S=_BSS G=DGROUP M=PLZFILL.C ACBP=48 + 2DF4:88A8 0412 C=BSS S=_BSS G=DGROUP M=VECT.C ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=MAIN.C ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=LDTRUNC ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=REALCVT ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=SCANTOD ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=XCVT ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=_POW10 ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=SIN ACBP=48 + 2DF4:8CBA 0080 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 + 2DF4:8D3A 0004 C=BSS S=_BSS G=DGROUP M=SIGDATA ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=MEMSET ACBP=48 + 2DF4:8D3E 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 + 2DF4:8D40 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 + 2DF4:8D40 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 + 36C8:0000 0110 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 + 36C8:0000 0080 C=STACK S=_STACK G=(none) M=EMUVARS ACBP=78 + + Address Publics by Name + + 2DF4:0000 idle DATASEG@ + 0000:0291 idle DGROUP@ + 160F:2152 e086_Entry + 160F:26E0 e086_Shortcut + 1887:0306 e087_Entry + 1887:03C6 e087_Shortcut + 1887:0430 e087_Trap + 0000:FE32 idle FIARQQ + 0000:0E32 idle FICRQQ + 0000:5C32 Abs FIDRQQ + 0000:1632 Abs FIERQQ + 0000:0632 idle FISRQQ + 0000:A23D Abs FIWRQQ + 0000:4000 idle FJARQQ + 0000:C000 idle FJCRQQ + 0000:8000 idle FJSRQQ + 0000:0F8F idle FTOL@ + 0000:0F8F F_FTOL@ + 0000:109A idle F_LXLSH@ + 0000:10BB idle F_PADD@ + 0000:10EA idle F_PSUB@ + 0000:107B F_SCOPY@ + 0000:109A idle LXLSH@ + 0000:1097 N_LXLSH@ + 0000:10B8 N_PADD@ + 0000:123F N_PCMP@ + 0000:10E7 idle N_PSUB@ + 0000:10BB idle PADD@ + 0000:10EA idle PSUB@ + 0000:107B idle SCOPY@ + 0000:027A _abort + 0000:0FBB idle _atexit + 1061:07E8 _ax1 + 1061:07F0 _ax2 + 1061:07E4 idle _ay1 + 1061:07EC idle _ay2 + 2D85:0004 idle _buu + 1438:00B4 idle _calculate + 136D:0C5C _clear + 0FC7:001C _close_copper + 2DF4:026C idle _clrptr + 2DF4:5508 idle _clrtau + 0FC7:000E _cop_drop + 0FC7:07E8 _cop_fadepal + 0FC7:0010 _cop_pal + 0FC7:001A _cop_plz + 0FC7:0018 _cop_scrl + 0FC7:0016 _cop_start + 1438:0177 idle _count_const + 1061:081E _ctau + 2DF4:0194 idle _curpal + 2DF4:88B8 idle _cxx + 2DF4:88B6 idle _cxy + 2DF4:88B4 idle _cxz + 2DF4:88B2 idle _cyx + 2DF4:88B0 idle _cyy + 2DF4:88AE idle _cyz + 2DF4:88AC idle _czx + 2DF4:88AA idle _czy + 2DF4:88A8 idle _czz + 2DF4:2B2C _dis + 1CE4:0000 _dist1 + 2DF4:0276 idle _disttaus + 14DA:005A _dis_exit + 14DA:00BE _dis_getmframe + 14DA:0060 idle _dis_indemo + 14DA:0066 idle _dis_msgarea + 14DA:0073 idle _dis_muscode + 14DA:0080 _dis_musplus + 14DA:008F idle _dis_musrow + 14DA:0040 _dis_partstart + 14DA:009B idle _dis_setcopper + 14DA:00AE _dis_setmframe + 14DA:00CA idle _dis_sync + 14DA:0000 idle _dis_version + 14DA:0023 idle _dis_waitb + 1061:0824 _do_block + 1061:2612 _do_clear + 0FC7:0014 _do_pal + 136D:02D7 _do_poly + 1438:079F idle _draw + 1061:081C _dseg + 2DF4:007F _errno + 0000:1040 _exit + 0FC7:01E8 _fadepal + 0000:1954 idle _farfree + 0000:1A68 idle _farmalloc + 0000:1BCC idle _farrealloc + 0000:1DA6 _fflush + 0000:1E73 _flushall + 2DC4:0000 idle _fpal + 0000:1EB5 _fprintf + 0000:2136 idle _fputc + 0000:22CB idle _fputchar + 2DF4:2B40 idle _frames + 0FC7:000C _frame_count + 0000:1954 _free + 1061:0818 _from + 0000:1F53 _fseek + 0000:1FD3 idle _ftell + 14E7:1084 _getspl + 2DF4:01C4 _ik1 + 2DF4:01C6 _ik2 + 2DF4:01C8 _ik3 + 2DF4:01CA _ik4 + 2DF4:01BC _il1 + 2DF4:01BE _il2 + 2DF4:01C0 _il3 + 2DF4:01C2 _il4 + 2DF4:01CC idle _inittable + 136D:0001 _initvect + 0FC7:0047 _init_copper + 12EA:02B1 idle _init_plz + 0000:1163 _isatty + 1061:0000 idle _jmp_tau + 2DF4:01B4 _k1 + 2DF4:01B6 _k2 + 2DF4:01B8 _k3 + 2DF4:01BA _k4 + 2CE4:0200 _kosinit + 18E4:0000 _kuva1 + 24E4:0000 _kuva2 + 28E4:0000 _kuva3 + 2DF4:026E idle _kuvataus + 2DF4:2B26 _kx + 2DF4:2B28 _ky + 2DF4:2B2A _kz + 2DF4:01AC _l1 + 2DF4:01AE _l2 + 2DF4:01B0 _l3 + 2DF4:01B2 _l4 + 2DF4:2B0E idle _light_src + 2DF4:2B1A idle _lls + 0000:1216 _lseek + 027D:8000 idle _lsini16 + 027D:4000 idle _lsini4 + 2DF4:2B32 _ls_kx + 2DF4:2B34 _ls_ky + 2DF4:2B36 _ls_kz + 2DF4:2B38 idle _ls_x + 2DF4:2B3A idle _ls_y + 2DF4:2B3C idle _ls_z + 14D7:0009 _main + 0000:1A5E _malloc + 0000:0E6A _matherr + 0000:20B3 _memcpy + 0000:20FB _memset + 0FC7:0107 idle _moveplz + 2DF4:02A2 idle _object + 2DF4:2B3E idle _page + 2DF4:7508 _pal + 2DF4:3108 idle _pals + 12EA:0007 _plz + 027D:C000 _plzline + 2DF4:2B0C idle _polys + 0FC7:00D9 idle _pompota + 0000:0E5F _pow10 + 027D:0000 idle _psini + 2DF4:0094 idle _ptau + 2DF4:88BA idle _ptodraw + 0000:1BC5 idle _realloc + 1438:043C idle _rotate + 12CC:0012 idle _scr_seg + 0000:1D8A _setblock + 0000:20D7 idle _setmem + 027D:C618 _setplzparas + 0000:24E2 _setvbuf + 027D:D48E _set_plzstart + 1061:2584 _shadepal + 0000:0E94 _sin + 2DF4:7908 idle _sini + 2CE4:0000 _sinit + 2DF4:7888 idle _sinx + 2DF4:7808 idle _siny + 1438:0556 idle _sort_faces + 1438:08C5 idle _swappage + 1061:0804 _tax1 + 1061:080C _tax2 + 1061:0808 _tay1 + 1061:0810 _tay2 + 2DF4:0196 idle _timetable + 1061:0814 _to + 2DF4:01AA idle _ttptr + 12CC:007C idle _tw_closegraph + 12CC:0062 idle _tw_clrscr + 12CC:00BB idle _tw_getpixel + 12CC:0014 _tw_opengraph + 12CC:0035 _tw_opengraph2 + 12CC:0141 idle _tw_pictovmem + 12CC:0082 idle _tw_putpixel + 12CC:010B idle _tw_setpalarea + 12CC:00F2 idle _tw_setpalette + 12CC:01CD _tw_setrgbpalette + 12CC:012C idle _tw_setstart + 12CC:01BF idle _tw_waitvr + 2DF4:2B2E _tx + 1061:07F4 _txx1 + 1061:07FC _txx2 + 1061:07F8 _txy1 + 1061:0800 _txy2 + 2DF4:2B30 _ty + 1438:0003 _vect + 2D85:0000 _vmem + 1061:07D0 idle _xx + 1061:07D8 _xx1 + 1061:07E0 _xx2 + 1061:07D2 _yy + 1061:07D4 idle _yy1 + 1061:07DC idle _yy2 + 2DF4:2B50 __8087 + 0000:1000 idle __AHINCR + 0000:000C idle __AHSHIFT + 2DF4:2D1A __atexitcnt + 2DF4:8CBA __atexittbl + 0000:1CBC __brk + 2DF4:008B __brklvl + 2DF4:006B idle __C0argc + 2DF4:006D idle __C0argv + 2DF4:0071 idle __C0environ + 0000:1061 idle __cexit + 0000:016A __checknull + 0000:0157 __cleanup + 2DF4:2D1C __ctype + 0000:0000 Abs __cvtfak + 0000:106F idle __c_exit + 2DF4:2B64 __default87 + 2DF4:2FE6 idle __doserrno + 0000:1151 idle __DOSERROR + 2DF4:2FE8 idle __dosErrorToSV + 36C8:0000 __emu + 2DF4:0075 idle __envLng + 2DF4:0077 idle __envseg + 2DF4:0079 idle __envSize + 0000:104F __exit + 2DF4:2E1E __exitbuf + 2DF4:2E22 idle __exitfopen + 2DF4:2E26 idle __exitopen + 0000:8087 idle __floatconvert + 0000:0CE5 __fperror + 2DF4:2FE4 __fpstklen + 0000:04E9 __fpuint + 0000:211A idle __fputc + 0000:22DF __FPUTN + 2DF4:0087 __heapbase + 2DF4:008F __heaptop + 2DF4:2B6A __huge_dble + 2DF4:2B66 idle __huge_flt + 2DF4:2B72 idle __huge_ldble + 2DF4:2B7C idle __indefinite + 2DF4:005B idle __Int0Vector + 2DF4:005F idle __Int4Vector + 2DF4:0063 idle __Int5Vector + 2DF4:0067 idle __Int6Vector + 0000:1118 __IOERROR + 2DF4:2B61 __LDT + 0000:04ED __LDTRUNC + 0000:1174 __LONGTOA + 0000:0EE6 __matherr + 2DF4:2B8A __mathwhy + 0000:0293 idle __MMODEL + 2DF4:2FBA __nfile + 2DF4:2FBC __openfd + 2DF4:007D idle __osmajor + 2DF4:007E idle __osminor + 2DF4:007D idle __osversion + 0000:0D96 __POW10 + 2DF4:2B60 __protected + 2DF4:007B __psp + 0000:1D86 __REALCVT + 2DF4:30E6 __RealCvtVector + 0000:01C0 __restorezero + 0000:1CFB __sbrk + 2DF4:30EA idle __ScanTodVector + 0000:1260 __setupio + 2DF4:0081 idle __StartTime + 2DF4:3042 __stklen + 2DF4:2E2A __streams + 0000:016B __terminate + 2DF4:2B80 idle __tiny_ldble + 0000:0000 Abs __turboCvt + 0000:8087 Abs __turboFloat + 0000:11F6 idle __UTOA + 2DF4:007D __version + 0000:1332 __VPRINTER + 0000:2750 __write + 0000:0AD9 __XCVT + 0000:278C __xfflush + 2DF4:0085 idle ___brklvl + 0000:1814 idle ___first + 0000:0402 idle ___fpreset + 0000:1816 idle ___last + 0000:1818 idle ___rover + 2DF4:8D3A ___SignalPtr + 0000:25FF ___write + + Address Publics by Value + + 0000:0000 Abs __turboCvt + 0000:0000 Abs __cvtfak + 0000:000C idle __AHSHIFT + 0000:0157 __cleanup + 0000:016A __checknull + 0000:016B __terminate + 0000:01C0 __restorezero + 0000:027A _abort + 0000:0291 idle DGROUP@ + 0000:0293 idle __MMODEL + 0000:0402 idle ___fpreset + 0000:04E9 __fpuint + 0000:04ED __LDTRUNC + 0000:0632 idle FISRQQ + 0000:0AD9 __XCVT + 0000:0CE5 __fperror + 0000:0D96 __POW10 + 0000:0E32 idle FICRQQ + 0000:0E5F _pow10 + 0000:0E6A _matherr + 0000:0E94 _sin + 0000:0EE6 __matherr + 0000:0F8F F_FTOL@ + 0000:0F8F idle FTOL@ + 0000:0FBB idle _atexit + 0000:1000 idle __AHINCR + 0000:1040 _exit + 0000:104F __exit + 0000:1061 idle __cexit + 0000:106F idle __c_exit + 0000:107B F_SCOPY@ + 0000:107B idle SCOPY@ + 0000:1097 N_LXLSH@ + 0000:109A idle LXLSH@ + 0000:109A idle F_LXLSH@ + 0000:10B8 N_PADD@ + 0000:10BB idle F_PADD@ + 0000:10BB idle PADD@ + 0000:10E7 idle N_PSUB@ + 0000:10EA idle F_PSUB@ + 0000:10EA idle PSUB@ + 0000:1118 __IOERROR + 0000:1151 idle __DOSERROR + 0000:1163 _isatty + 0000:1174 __LONGTOA + 0000:11F6 idle __UTOA + 0000:1216 _lseek + 0000:123F N_PCMP@ + 0000:1260 __setupio + 0000:1332 __VPRINTER + 0000:1632 Abs FIERQQ + 0000:1814 idle ___first + 0000:1816 idle ___last + 0000:1818 idle ___rover + 0000:1954 _free + 0000:1954 idle _farfree + 0000:1A5E _malloc + 0000:1A68 idle _farmalloc + 0000:1BC5 idle _realloc + 0000:1BCC idle _farrealloc + 0000:1CBC __brk + 0000:1CFB __sbrk + 0000:1D86 __REALCVT + 0000:1D8A _setblock + 0000:1DA6 _fflush + 0000:1E73 _flushall + 0000:1EB5 _fprintf + 0000:1F53 _fseek + 0000:1FD3 idle _ftell + 0000:20B3 _memcpy + 0000:20D7 idle _setmem + 0000:20FB _memset + 0000:211A idle __fputc + 0000:2136 idle _fputc + 0000:22CB idle _fputchar + 0000:22DF __FPUTN + 0000:24E2 _setvbuf + 0000:25FF ___write + 0000:2750 __write + 0000:278C __xfflush + 0000:4000 idle FJARQQ + 0000:5C32 Abs FIDRQQ + 0000:8000 idle FJSRQQ + 0000:8087 Abs __turboFloat + 0000:8087 idle __floatconvert + 0000:A23D Abs FIWRQQ + 0000:C000 idle FJCRQQ + 0000:FE32 idle FIARQQ + 027D:0000 idle _psini + 027D:4000 idle _lsini4 + 027D:8000 idle _lsini16 + 027D:C000 _plzline + 027D:C618 _setplzparas + 027D:D48E _set_plzstart + 0FC7:000C _frame_count + 0FC7:000E _cop_drop + 0FC7:0010 _cop_pal + 0FC7:0014 _do_pal + 0FC7:0016 _cop_start + 0FC7:0018 _cop_scrl + 0FC7:001A _cop_plz + 0FC7:001C _close_copper + 0FC7:0047 _init_copper + 0FC7:00D9 idle _pompota + 0FC7:0107 idle _moveplz + 0FC7:01E8 _fadepal + 0FC7:07E8 _cop_fadepal + 1061:0000 idle _jmp_tau + 1061:07D0 idle _xx + 1061:07D2 _yy + 1061:07D4 idle _yy1 + 1061:07D8 _xx1 + 1061:07DC idle _yy2 + 1061:07E0 _xx2 + 1061:07E4 idle _ay1 + 1061:07E8 _ax1 + 1061:07EC idle _ay2 + 1061:07F0 _ax2 + 1061:07F4 _txx1 + 1061:07F8 _txy1 + 1061:07FC _txx2 + 1061:0800 _txy2 + 1061:0804 _tax1 + 1061:0808 _tay1 + 1061:080C _tax2 + 1061:0810 _tay2 + 1061:0814 _to + 1061:0818 _from + 1061:081C _dseg + 1061:081E _ctau + 1061:0824 _do_block + 1061:2584 _shadepal + 1061:2612 _do_clear + 12CC:0012 idle _scr_seg + 12CC:0014 _tw_opengraph + 12CC:0035 _tw_opengraph2 + 12CC:0062 idle _tw_clrscr + 12CC:007C idle _tw_closegraph + 12CC:0082 idle _tw_putpixel + 12CC:00BB idle _tw_getpixel + 12CC:00F2 idle _tw_setpalette + 12CC:010B idle _tw_setpalarea + 12CC:012C idle _tw_setstart + 12CC:0141 idle _tw_pictovmem + 12CC:01BF idle _tw_waitvr + 12CC:01CD _tw_setrgbpalette + 12EA:0007 _plz + 12EA:02B1 idle _init_plz + 136D:0001 _initvect + 136D:02D7 _do_poly + 136D:0C5C _clear + 1438:0003 _vect + 1438:00B4 idle _calculate + 1438:0177 idle _count_const + 1438:043C idle _rotate + 1438:0556 idle _sort_faces + 1438:079F idle _draw + 1438:08C5 idle _swappage + 14D7:0009 _main + 14DA:0000 idle _dis_version + 14DA:0023 idle _dis_waitb + 14DA:0040 _dis_partstart + 14DA:005A _dis_exit + 14DA:0060 idle _dis_indemo + 14DA:0066 idle _dis_msgarea + 14DA:0073 idle _dis_muscode + 14DA:0080 _dis_musplus + 14DA:008F idle _dis_musrow + 14DA:009B idle _dis_setcopper + 14DA:00AE _dis_setmframe + 14DA:00BE _dis_getmframe + 14DA:00CA idle _dis_sync + 14E7:1084 _getspl + 160F:2152 e086_Entry + 160F:26E0 e086_Shortcut + 1887:0306 e087_Entry + 1887:03C6 e087_Shortcut + 1887:0430 e087_Trap + 18E4:0000 _kuva1 + 1CE4:0000 _dist1 + 24E4:0000 _kuva2 + 28E4:0000 _kuva3 + 2CE4:0000 _sinit + 2CE4:0200 _kosinit + 2D85:0000 _vmem + 2D85:0004 idle _buu + 2DC4:0000 idle _fpal + 2DF4:0000 idle DATASEG@ + 2DF4:005B idle __Int0Vector + 2DF4:005F idle __Int4Vector + 2DF4:0063 idle __Int5Vector + 2DF4:0067 idle __Int6Vector + 2DF4:006B idle __C0argc + 2DF4:006D idle __C0argv + 2DF4:0071 idle __C0environ + 2DF4:0075 idle __envLng + 2DF4:0077 idle __envseg + 2DF4:0079 idle __envSize + 2DF4:007B __psp + 2DF4:007D idle __osversion + 2DF4:007D idle __osmajor + 2DF4:007D __version + 2DF4:007E idle __osminor + 2DF4:007F _errno + 2DF4:0081 idle __StartTime + 2DF4:0085 idle ___brklvl + 2DF4:0087 __heapbase + 2DF4:008B __brklvl + 2DF4:008F __heaptop + 2DF4:0094 idle _ptau + 2DF4:0194 idle _curpal + 2DF4:0196 idle _timetable + 2DF4:01AA idle _ttptr + 2DF4:01AC _l1 + 2DF4:01AE _l2 + 2DF4:01B0 _l3 + 2DF4:01B2 _l4 + 2DF4:01B4 _k1 + 2DF4:01B6 _k2 + 2DF4:01B8 _k3 + 2DF4:01BA _k4 + 2DF4:01BC _il1 + 2DF4:01BE _il2 + 2DF4:01C0 _il3 + 2DF4:01C2 _il4 + 2DF4:01C4 _ik1 + 2DF4:01C6 _ik2 + 2DF4:01C8 _ik3 + 2DF4:01CA _ik4 + 2DF4:01CC idle _inittable + 2DF4:026C idle _clrptr + 2DF4:026E idle _kuvataus + 2DF4:0276 idle _disttaus + 2DF4:02A2 idle _object + 2DF4:2B0C idle _polys + 2DF4:2B0E idle _light_src + 2DF4:2B1A idle _lls + 2DF4:2B26 _kx + 2DF4:2B28 _ky + 2DF4:2B2A _kz + 2DF4:2B2C _dis + 2DF4:2B2E _tx + 2DF4:2B30 _ty + 2DF4:2B32 _ls_kx + 2DF4:2B34 _ls_ky + 2DF4:2B36 _ls_kz + 2DF4:2B38 idle _ls_x + 2DF4:2B3A idle _ls_y + 2DF4:2B3C idle _ls_z + 2DF4:2B3E idle _page + 2DF4:2B40 idle _frames + 2DF4:2B50 __8087 + 2DF4:2B60 __protected + 2DF4:2B61 __LDT + 2DF4:2B64 __default87 + 2DF4:2B66 idle __huge_flt + 2DF4:2B6A __huge_dble + 2DF4:2B72 idle __huge_ldble + 2DF4:2B7C idle __indefinite + 2DF4:2B80 idle __tiny_ldble + 2DF4:2B8A __mathwhy + 2DF4:2D1A __atexitcnt + 2DF4:2D1C __ctype + 2DF4:2E1E __exitbuf + 2DF4:2E22 idle __exitfopen + 2DF4:2E26 idle __exitopen + 2DF4:2E2A __streams + 2DF4:2FBA __nfile + 2DF4:2FBC __openfd + 2DF4:2FE4 __fpstklen + 2DF4:2FE6 idle __doserrno + 2DF4:2FE8 idle __dosErrorToSV + 2DF4:3042 __stklen + 2DF4:30E6 __RealCvtVector + 2DF4:30EA idle __ScanTodVector + 2DF4:3108 idle _pals + 2DF4:5508 idle _clrtau + 2DF4:7508 _pal + 2DF4:7808 idle _siny + 2DF4:7888 idle _sinx + 2DF4:7908 idle _sini + 2DF4:88A8 idle _czz + 2DF4:88AA idle _czy + 2DF4:88AC idle _czx + 2DF4:88AE idle _cyz + 2DF4:88B0 idle _cyy + 2DF4:88B2 idle _cyx + 2DF4:88B4 idle _cxz + 2DF4:88B6 idle _cxy + 2DF4:88B8 idle _cxx + 2DF4:88BA idle _ptodraw + 2DF4:8CBA __atexittbl + 2DF4:8D3A ___SignalPtr + 36C8:0000 __emu + +Program entry point at 0000:0000 + diff --git a/u2/PLZPART.PRJ b/u2/PLZPART.PRJ new file mode 100755 index 0000000000000000000000000000000000000000..2be1e5b9d2e721e71a37405bbe78471abc05d8ed GIT binary patch literal 7084 zcmeI0X>e0j6vxlYdua=8p_IKWeL&bDr3DI9G=!JeHjr(SAP5DdC6uzYrW915RB;;} z1$3P8gTpA`u7D`$xH01=kj-&n|L&+?Tmeyu=YL;lQc9YVR?!(>;g@qy&OQHo&s*-x z4K{=;YgJA4g=<%Ys@AHdHLF5u9!c4`eI@=#FCu@&5i*fPpD~G!3j3Jgap5^3_)#Xl z{aEl5!9z@mz7UaL3Vy|u=@fGYofe)mf@hf|p9ASf?j!%ipr3(X7}Bq>E|NmjM05#_ z%fN5I74%Z~DNNH3BEzXncAo~$h;f{Sd5+B-I?q(-cl3L=JL3}0ZCXfYW1Kk)>cUU<<58wq>Grb7Ooxm<&H}DehGVluU zDzFcD8`uxL1H1;j&XC`L^(OEZum{)+8~_dixsdD$^kPW8fj(&Vm5dtpL!-Zhdgs9$ z01RYEgJ2D2$oXihXbuI20Ty65LmI)IBb!HZbF4_S(!}NhhO`h^1XKc5z)~OtECZ^6 zPGtdM)06Yk6VbDXc9tIvk z^HJb2G#>|^0G*YJ~?Sbangt>Nh78vjhL1+q9kd=ZAl}hCyls0X~Z2#BWy_{X7GhuUstufVbw~$ zbZ*UIzx9`=L(1TLXG-xDu7J+=)WT_^9HqB@Xd2(eR?X+5GO<)dB78qn8n3nAH*J~K zmA=lP#xlR|Ysaap4u|U65!UXI@oUDa7PsymRai82v}*Bq19R;@)#CGe-M*k|(YWCb zl#RmZir5&vuC`{WI>uV1wp-z!2|OB+8iV3R&R$<1T3xv+6iy@@vk^GIJ`r3wYRY=upSJx%3qF;;e z*m2v^*$F#7q?9t8OvW!YqwTf!MVD9cKrE@IZ_f!=T~2xE#4lY>HGpbhK0`zC%V8Mo`zK;-BrPcsG;Ey z(W#&>^`rjSH=_YUYkwBesfk1%8d{}Jmy7jcT2V(TQj|?ul*!wBM1zFZ#V))XHI8T; z@3h>hYe5J#&nxOkNr*e;@q7k~&O_)suHmp~qHO+j+nt^kT2V(d&GGT@?$Cbs4$vA`y8v! zuNxIHo{z?CdbFu(%piVFhH74P9=JM2!E&T&BV@5> z4nHqB2K7ylX0eA0qbEz`&`ZUb+Yk!`9mbe(+KgpD)H;6kQFw{O*O3UL@$yNt^~y;z zKW-^_?JOCqBrfah8%O#?WWech24iM+hs!B3ev$(+XNi z8)*|Y(pFl+PmU_uM%!s8?V{aufDY1obeL*rIaSj#3ei$3CnwFK+2o>yY~x6>#d3qM JJJE#))L-J88QA~; literal 0 HcmV?d00001 diff --git a/u2/PSINI.INC b/u2/PSINI.INC new file mode 100755 index 0000000..b4bca77 --- /dev/null +++ b/u2/PSINI.INC @@ -0,0 +1,1025 @@ + +db 64, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 67 +db 68, 68, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 71, 71 +db 71, 71, 71, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 74 +db 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78 +db 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 81 +db 81, 81, 81, 81, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84 +db 84, 84, 84, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 87, 87, 87 +db 87, 87, 87, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 90 +db 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92 +db 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90 +db 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89 +db 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91 +db 91, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 94, 94 +db 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96 +db 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 98 +db 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100 +db 101, 101, 101, 101, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104 +db 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107 +db 107, 107, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116 +db 116, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 119, 119, 119, 119 +db 119, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 122, 122, 122 +db 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124 +db 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124 +db 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122 +db 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120 +db 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119 +db 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120 +db 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122 +db 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123 +db 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123 +db 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121 +db 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119 +db 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116 +db 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113 +db 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110, 109, 109 +db 109, 109, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110 +db 110, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112 +db 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114 +db 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 109, 109, 109 +db 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107 +db 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104 +db 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105 +db 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103 +db 102, 102, 102, 102, 102, 101, 101, 101, 101, 101, 100, 100, 100, 100, 99, 99 +db 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 93, 93, 93, 93, 92, 92, 92, 92 +db 92, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83 +db 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81 +db 81, 81, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78 +db 78, 77, 77, 77, 77, 77, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74 +db 74, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 72, 71, 71, 71 +db 71, 71, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 68 +db 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +db 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70 +db 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66 +db 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64 +db 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61 +db 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57 +db 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61 +db 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59 +db 59, 59, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 56 +db 56, 56, 56, 56, 55, 55, 55, 55, 55, 54, 54, 54, 54, 53, 53, 53 +db 53, 53, 52, 52, 52, 52, 52, 51, 51, 51, 51, 50, 50, 50, 50, 50 +db 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 46 +db 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44 +db 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +db 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36 +db 35, 35, 35, 35, 35, 34, 34, 34, 34, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, 28, 28 +db 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25 +db 25, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22 +db 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +db 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20 +db 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18 +db 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13 +db 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14 +db 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16 +db 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18 +db 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14 +db 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11 +db 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8 +db 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6 +db 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 +db 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8 +db 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7 +db 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5 +db 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 +db 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5 +db 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 +db 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10 +db 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20 +db 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23 +db 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26 +db 26, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29 +db 29, 29, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31 +db 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30 +db 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31 +db 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33 +db 33, 33, 33, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35 +db 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38 +db 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37 +db 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 +db 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37 +db 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40 +db 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 43, 43 +db 43, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46 +db 46, 46, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 49 +db 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53 +db 53, 53, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56 +db 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59 +db 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63 +db 63, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 67 +db 68, 68, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 71, 71 +db 71, 71, 71, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 74 +db 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78 +db 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 81 +db 81, 81, 81, 81, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84 +db 84, 84, 84, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 87, 87, 87 +db 87, 87, 87, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 90 +db 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92 +db 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90 +db 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89 +db 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91 +db 91, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 94, 94 +db 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96 +db 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 98 +db 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100 +db 101, 101, 101, 101, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104 +db 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107 +db 107, 107, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116 +db 116, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 119, 119, 119, 119 +db 119, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 122, 122, 122 +db 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124 +db 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124 +db 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122 +db 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120 +db 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119 +db 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120 +db 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122 +db 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123 +db 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123 +db 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121 +db 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119 +db 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116 +db 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113 +db 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110, 109, 109 +db 109, 109, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110 +db 110, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112 +db 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114 +db 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 109, 109, 109 +db 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107 +db 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104 +db 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105 +db 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103 +db 102, 102, 102, 102, 102, 101, 101, 101, 101, 101, 100, 100, 100, 100, 99, 99 +db 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 93, 93, 93, 93, 92, 92, 92, 92 +db 92, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83 +db 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81 +db 81, 81, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78 +db 78, 77, 77, 77, 77, 77, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74 +db 74, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 72, 71, 71, 71 +db 71, 71, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 68 +db 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +db 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70 +db 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66 +db 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64 +db 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61 +db 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57 +db 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61 +db 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59 +db 59, 59, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 56 +db 56, 56, 56, 56, 55, 55, 55, 55, 55, 54, 54, 54, 54, 53, 53, 53 +db 53, 53, 52, 52, 52, 52, 52, 51, 51, 51, 51, 50, 50, 50, 50, 50 +db 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 46 +db 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44 +db 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +db 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36 +db 35, 35, 35, 35, 35, 34, 34, 34, 34, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, 28, 28 +db 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25 +db 25, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22 +db 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +db 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20 +db 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18 +db 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13 +db 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14 +db 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16 +db 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18 +db 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14 +db 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11 +db 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8 +db 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6 +db 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 +db 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8 +db 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7 +db 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5 +db 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 +db 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5 +db 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 +db 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10 +db 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20 +db 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23 +db 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26 +db 26, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29 +db 29, 29, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31 +db 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30 +db 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31 +db 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33 +db 33, 33, 33, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35 +db 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38 +db 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37 +db 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 +db 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37 +db 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40 +db 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 43, 43 +db 43, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46 +db 46, 46, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 49 +db 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53 +db 53, 53, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56 +db 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59 +db 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63 +db 63, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 67 +db 68, 68, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 71, 71 +db 71, 71, 71, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 74 +db 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78 +db 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 81 +db 81, 81, 81, 81, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84 +db 84, 84, 84, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 87, 87, 87 +db 87, 87, 87, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 90 +db 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92 +db 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90 +db 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89 +db 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91 +db 91, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 94, 94 +db 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96 +db 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 98 +db 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100 +db 101, 101, 101, 101, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104 +db 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107 +db 107, 107, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116 +db 116, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 119, 119, 119, 119 +db 119, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 122, 122, 122 +db 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124 +db 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124 +db 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122 +db 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120 +db 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119 +db 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120 +db 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122 +db 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123 +db 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123 +db 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121 +db 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119 +db 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116 +db 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113 +db 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110, 109, 109 +db 109, 109, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110 +db 110, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112 +db 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114 +db 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 109, 109, 109 +db 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107 +db 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104 +db 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105 +db 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103 +db 102, 102, 102, 102, 102, 101, 101, 101, 101, 101, 100, 100, 100, 100, 99, 99 +db 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 93, 93, 93, 93, 92, 92, 92, 92 +db 92, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83 +db 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81 +db 81, 81, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78 +db 78, 77, 77, 77, 77, 77, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74 +db 74, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 72, 71, 71, 71 +db 71, 71, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 68 +db 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +db 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70 +db 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66 +db 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64 +db 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61 +db 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57 +db 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61 +db 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59 +db 59, 59, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 56 +db 56, 56, 56, 56, 55, 55, 55, 55, 55, 54, 54, 54, 54, 53, 53, 53 +db 53, 53, 52, 52, 52, 52, 52, 51, 51, 51, 51, 50, 50, 50, 50, 50 +db 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 46 +db 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44 +db 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +db 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36 +db 35, 35, 35, 35, 35, 34, 34, 34, 34, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, 28, 28 +db 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25 +db 25, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22 +db 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +db 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20 +db 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18 +db 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13 +db 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14 +db 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16 +db 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18 +db 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14 +db 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11 +db 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8 +db 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6 +db 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 +db 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8 +db 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7 +db 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5 +db 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 +db 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5 +db 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 +db 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10 +db 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20 +db 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23 +db 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26 +db 26, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29 +db 29, 29, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31 +db 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30 +db 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31 +db 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33 +db 33, 33, 33, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35 +db 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38 +db 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37 +db 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 +db 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37 +db 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40 +db 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 43, 43 +db 43, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46 +db 46, 46, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 49 +db 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53 +db 53, 53, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56 +db 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59 +db 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63 +db 63, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 67 +db 68, 68, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 71, 71 +db 71, 71, 71, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 74 +db 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75 +db 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75 +db 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76 +db 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78 +db 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 81 +db 81, 81, 81, 81, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84 +db 84, 84, 84, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 87, 87, 87 +db 87, 87, 87, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 90 +db 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92 +db 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91 +db 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90 +db 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89 +db 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91 +db 91, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 94, 94 +db 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96 +db 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +db 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97 +db 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95 +db 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 +db 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 98 +db 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100 +db 101, 101, 101, 101, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104 +db 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107 +db 107, 107, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112 +db 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112 +db 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116 +db 116, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 119, 119, 119, 119 +db 119, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 122, 122, 122 +db 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124 +db 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 +db 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124 +db 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122 +db 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120 +db 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118 +db 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119 +db 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120 +db 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122 +db 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123 +db 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123 +db 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121 +db 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119 +db 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 116 +db 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 +db 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111 +db 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112 +db 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113 +db 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113 +db 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 111 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110, 109, 109 +db 109, 109, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108 +db 108, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110 +db 110, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112 +db 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114 +db 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 +db 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114 +db 114, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112 +db 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 109, 109, 109 +db 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107 +db 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104 +db 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105 +db 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105 +db 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107 +db 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106, 106 +db 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105 +db 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103 +db 102, 102, 102, 102, 102, 101, 101, 101, 101, 101, 100, 100, 100, 100, 99, 99 +db 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96, 95 +db 95, 95, 95, 94, 94, 94, 94, 94, 93, 93, 93, 93, 92, 92, 92, 92 +db 92, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89 +db 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87 +db 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 +db 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83 +db 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81 +db 81, 81, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78 +db 78, 77, 77, 77, 77, 77, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74 +db 74, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 72, 71, 71, 71 +db 71, 71, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 68 +db 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +db 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67 +db 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70 +db 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 69 +db 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68 +db 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66 +db 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64 +db 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61 +db 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57 +db 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 +db 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59 +db 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61 +db 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60 +db 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59 +db 59, 59, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 56 +db 56, 56, 56, 56, 55, 55, 55, 55, 55, 54, 54, 54, 54, 53, 53, 53 +db 53, 53, 52, 52, 52, 52, 52, 51, 51, 51, 51, 50, 50, 50, 50, 50 +db 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 46 +db 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44 +db 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 +db 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +db 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36 +db 35, 35, 35, 35, 35, 34, 34, 34, 34, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 31, 31, 31, 31, 30, 30, 30, 30, 29, 29, 29, 29, 28, 28 +db 28, 28, 28, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25 +db 25, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21 +db 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22 +db 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +db 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 +db 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20 +db 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18 +db 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13 +db 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14 +db 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16 +db 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +db 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19 +db 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18 +db 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14 +db 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 +db 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14 +db 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11 +db 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8 +db 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6 +db 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5 +db 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 +db 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8 +db 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +db 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7 +db 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5 +db 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4 +db 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 +db 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5 +db 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7 +db 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10 +db 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13 +db 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 +db 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16 +db 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17 +db 17, 17, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20 +db 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23 +db 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26 +db 26, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29 +db 29, 29, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31 +db 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32 +db 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 +db 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30 +db 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +db 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31 +db 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33 +db 33, 33, 33, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35 +db 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38 +db 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 +db 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 +db 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37 +db 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 +db 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36 +db 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37 +db 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40 +db 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 43, 43 +db 43, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46 +db 46, 46, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 49 +db 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 +db 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52 +db 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53 +db 53, 53, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56 +db 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59 +db 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63 \ No newline at end of file diff --git a/u2/PSINI.PRE b/u2/PSINI.PRE new file mode 100755 index 0000000..3005446 --- /dev/null +++ b/u2/PSINI.PRE @@ -0,0 +1,513 @@ +{ +64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67 +, 67, 67, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70, 70 +, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73 +, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75 +, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77 +, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 78 +, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79 +, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79 +, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80 +, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 +, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81 +, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82 +, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84 +, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85 +, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87 +, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89 +, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90 +, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90 +, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89 +, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88 +, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87 +, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 86, 86 +, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86 +, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86 +, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88 +, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90 +, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92 +, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94 +, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96 +, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97 +, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98 +, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99 +, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 +, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 +, 99, 99, 99, 99, 99, 99, 99, 99,100,100,100,100,100,100,100,100 +,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101 +,101,101,101,101,102,102,102,102,102,102,102,102,102,103,103,103 +,103,103,103,103,103,104,104,104,104,104,104,104,105,105,105,105 +,105,105,105,106,106,106,106,106,106,107,107,107,107,107,107,108 +,108,108,108,108,108,109,109,109,109,109,109,110,110,110,110,110 +,110,111,111,111,111,111,112,112,112,112,112,112,113,113,113,113 +,113,113,113,114,114,114,114,114,114,115,115,115,115,115,115,115 +,116,116,116,116,116,116,116,117,117,117,117,117,117,117,117,117 +,118,118,118,118,118,118,118,118,118,118,118,118,119,119,119,119 +,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 +,119,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120 +,120,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 +,119,119,119,119,119,119,119,119,119,119,119,119,118,118,118,118 +,118,118,118,118,118,118,118,118,118,118,118,118,118,118,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,116,116,116,116,116,116,116,116,116,116,116,116,115,115,115,115 +,115,115,115,115,115,115,114,114,114,114,114,114,114,114,114,113 +,113,113,113,113,113,113,113,112,112,112,112,112,112,112,111,111 +,111,111,111,111,111,110,110,110,110,110,110,110,109,109,109,109 +,109,109,109,109,108,108,108,108,108,108,108,107,107,107,107,107 +,107,107,107,106,106,106,106,106,106,106,106,106,105,105,105,105 +,105,105,105,105,105,105,104,104,104,104,104,104,104,104,104,104 +,104,104,104,104,104,103,103,103,103,103,103,103,103,103,103,103 +,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 +,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +,105,105,106,106,106,106,106,106,106,106,106,106,106,106,106,106 +,106,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107 +,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108 +,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108 +,108,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107 +,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,106 +,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106 +,106,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +,105,105,105,105,105,105,105,105,104,104,104,104,104,104,104,104 +,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 +,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 +,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +,105,105,105,106,106,106,106,106,106,106,106,106,106,106,106,106 +,106,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108 +,108,108,108,108,108,108,108,108,108,108,109,109,109,109,109,109 +,109,109,109,109,109,109,109,109,109,110,110,110,110,110,110,110 +,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110 +,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110 +,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,109 +,109,109,109,109,109,109,109,109,109,109,108,108,108,108,108,108 +,108,108,108,108,107,107,107,107,107,107,107,107,106,106,106,106 +,106,106,106,105,105,105,105,105,105,105,104,104,104,104,104,104 +,103,103,103,103,103,103,103,102,102,102,102,102,102,101,101,101 +,101,101,101,101,100,100,100,100,100,100, 99, 99, 99, 99, 99, 99 +, 99, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97 +, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95 +, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93, 93 +, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92 +, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90 +, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88 +, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87 +, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 84 +, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82 +, 82, 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 79, 79, 79, 79 +, 79, 78, 78, 78, 78, 78, 78, 77, 77, 77, 77, 77, 76, 76, 76, 76 +, 76, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 73, 73, 73, 73 +, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 70, 70 +, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68 +, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68 +, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 65 +, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 +, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62 +, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 +, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59 +, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57 +, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54 +, 54, 54, 54, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 51, 51 +, 51, 51, 51, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 48, 48 +, 48, 48, 48, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 45, 45 +, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43 +, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 40 +, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39 +, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37 +, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 +, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34 +, 34, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32, 32 +, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 30 +, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 28, 28 +, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26 +, 26, 26, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 23 +, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21 +, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19 +, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 +, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 +, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 +, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21 +, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22 +, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22 +, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21 +, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 +, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19 +, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 +, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21 +, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22 +, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24 +, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 +, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 +, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22 +, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20 +, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18 +, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +, 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14 +, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12 +, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 +, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7 +, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8 +, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 +, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12 +, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14 +, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17 +, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19 +, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22 +, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24 +, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26 +, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27 +, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28 +, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 +, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 +, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 +, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 +, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33 +, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35 +, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37 +, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39 +, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40 +, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41 +, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +, 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40 +, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39 +, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38 +, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37 +, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37 +, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38 +, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40 +, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42 +, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43 +, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45 +, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46 +, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47 +, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47 +, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 +, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 +, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49 +, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50 +, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52 +, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54 +, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57 +, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 60, 60, 60 +, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63 +, 64, 64, 64, 64, 65, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67 +, 67, 67, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70, 70 +, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73 +, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75 +, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77 +, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 78 +, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79 +, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79 +, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80 +, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 +, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81 +, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82 +, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84 +, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85 +, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87 +, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89 +, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90 +, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90 +, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89 +, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88 +, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87 +, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 86, 86 +, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86 +, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86 +, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87 +, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88 +, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90 +, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92 +, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94 +, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96 +, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97 +, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98 +, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98 +, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99 +, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 +, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 +, 99, 99, 99, 99, 99, 99, 99, 99,100,100,100,100,100,100,100,100 +,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101 +,101,101,101,101,102,102,102,102,102,102,102,102,102,103,103,103 +,103,103,103,103,103,104,104,104,104,104,104,104,105,105,105,105 +,105,105,105,106,106,106,106,106,106,107,107,107,107,107,107,108 +,108,108,108,108,108,109,109,109,109,109,109,110,110,110,110,110 +,110,111,111,111,111,111,112,112,112,112,112,112,113,113,113,113 +,113,113,113,114,114,114,114,114,114,115,115,115,115,115,115,115 +,116,116,116,116,116,116,116,117,117,117,117,117,117,117,117,117 +,118,118,118,118,118,118,118,118,118,118,118,118,119,119,119,119 +,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 +,119,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120 +,120,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 +,119,119,119,119,119,119,119,119,119,119,119,119,118,118,118,118 +,118,118,118,118,118,118,118,118,118,118,118,118,118,118,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116 +,116,116,116,116,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117 +,116,116,116,116,116,116,116,116,116,116,116,116,115,115,115,115 +,115,115,115,115,115,115,114,114,114,114,114,114,114,114,114,113 +,113,113,113,113,113,113,113,112,112,112,112,112,112,112,111,111 +,111,111,111,111,111,110,110,110,110,110,110,110,109,109,109,109 +,109,109,109,109,108,108,108,108,108,108,108,107,107,107,107,107 +,107,107,107,106,106,106,106,106,106,106,106,106,105,105,105,105 +,105,105,105,105,105,105,104,104,104,104,104,104,104,104,104,104 +,104,104,104,104,104,103,103,103,103,103,103,103,103,103,103,103 +,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103 +,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 +,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +,105,105,106,106,106,106,106,106,106,106,106,106,106,106,106,106 +,106,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107 +,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108 +,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108 +,108,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107 +,107,107,107,107,107,107,107,107,107,107,107,107,107,107,106,106 +,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106 +,106,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +,105,105,105,105,105,105,105,105,104,104,104,104,104,104,104,104 +,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 +,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 +,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105 +,105,105,105,106,106,106,106,106,106,106,106,106,106,106,106,106 +,106,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108 +,108,108,108,108,108,108,108,108,108,108,109,109,109,109,109,109 +,109,109,109,109,109,109,109,109,109,110,110,110,110,110,110,110 +,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110 +,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110 +,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,109 +,109,109,109,109,109,109,109,109,109,109,108,108,108,108,108,108 +,108,108,108,108,107,107,107,107,107,107,107,107,106,106,106,106 +,106,106,106,105,105,105,105,105,105,105,104,104,104,104,104,104 +,103,103,103,103,103,103,103,102,102,102,102,102,102,101,101,101 +,101,101,101,101,100,100,100,100,100,100, 99, 99, 99, 99, 99, 99 +, 99, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97 +, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95 +, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93, 93 +, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92 +, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91 +, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91 +, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90 +, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88 +, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87 +, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 84 +, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82 +, 82, 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 79, 79, 79, 79 +, 79, 78, 78, 78, 78, 78, 78, 77, 77, 77, 77, 77, 76, 76, 76, 76 +, 76, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 73, 73, 73, 73 +, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 70, 70 +, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68 +, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68 +, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67 +, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66 +, 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 65 +, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 +, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62 +, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 +, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61 +, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60 +, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59 +, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57 +, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54 +, 54, 54, 54, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 51, 51 +, 51, 51, 51, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 48, 48 +, 48, 48, 48, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 45, 45 +, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43 +, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 40 +, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39 +, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37 +, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 +, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34 +, 34, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32, 32 +, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 30 +, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 28, 28 +, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26 +, 26, 26, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 23 +, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21 +, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19 +, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 +, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 +, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 +, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21 +, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22 +, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22 +, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21 +, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 +, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19 +, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 +, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 +, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21 +, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22 +, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24 +, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 +, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 +, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23 +, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22 +, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20 +, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18 +, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16 +, 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14 +, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12 +, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 +, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 +, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7 +, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8 +, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 +, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10 +, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12 +, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14 +, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17 +, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19 +, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22 +, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24 +, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26 +, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27 +, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28 +, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 +, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28 +, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 +, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 +, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 +, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33 +, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35 +, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37 +, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39 +, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40 +, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41 +, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41 +, 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40 +, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39 +, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38 +, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37 +, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 +, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37 +, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38 +, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40 +, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42 +, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43 +, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45 +, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46 +, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47 +, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47 +, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 +, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 +, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49 +, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50 +, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52 +, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54 +, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57 +, 57, 57, 57, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 60, 60, 60 +, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 62, 63, 63, 63, 63}; \ No newline at end of file diff --git a/plzpart/ptau.pre b/u2/PTAU.INC similarity index 99% rename from plzpart/ptau.pre rename to u2/PTAU.INC index daf5b1d..b499506 100755 --- a/plzpart/ptau.pre +++ b/u2/PTAU.INC @@ -7,4 +7,4 @@ , 52, 51, 50, 49, 47, 46, 45, 43, 42, 40, 39, 38, 36, 35, 33, 32 , 30, 28, 27, 25, 24, 23, 21, 20, 18, 17, 16, 14, 13, 12, 11, 10 , 9, 8, 7, 6, 5, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1 -}; +}; \ No newline at end of file diff --git a/u2/PTAU.PRE b/u2/PTAU.PRE new file mode 100755 index 0000000..b499506 --- /dev/null +++ b/u2/PTAU.PRE @@ -0,0 +1,10 @@ +{ +0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10 +, 11, 12, 13, 14, 16, 17, 18, 20, 21, 23, 24, 25, 27, 28, 30, 31 +, 33, 35, 36, 38, 39, 40, 42, 43, 45, 46, 47, 49, 50, 51, 52, 53 +, 54, 55, 56, 57, 58, 59, 60, 60, 61, 61, 62, 62, 62, 62, 62, 63 +, 62, 62, 62, 62, 62, 61, 61, 60, 60, 59, 58, 57, 56, 55, 54, 53 +, 52, 51, 50, 49, 47, 46, 45, 43, 42, 40, 39, 38, 36, 35, 33, 32 +, 30, 28, 27, 25, 24, 23, 21, 20, 18, 17, 16, 14, 13, 12, 11, 10 +, 9, 8, 7, 6, 5, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1 +}; \ No newline at end of file diff --git a/u2/RATA.INC b/u2/RATA.INC new file mode 100755 index 0000000..404e6a8 --- /dev/null +++ b/u2/RATA.INC @@ -0,0 +1,52 @@ +; spline dataa... + +;dw 0,0,10000,512,0,0,0,0 +;dw 0,0,10000,512,-2000,0,0,0 +;dw 0,0,5000,512,1000,0,0,0 + +; dx, dy, dz, kx, ky, kz, l_kx, l_ky + +kkk=100 + +dw 0,2000,500, kkk*0 ,kkk*4 ,kkk*6 , 0,0 +dw 0,2000,500, kkk*1 ,kkk*5 ,kkk*7 , 0,0 +dw 0,2000,500, kkk*2 ,kkk*6 ,kkk*8 , 0,0 +dw 0,2000,500, kkk*3 ,kkk*7 ,kkk*7 , 0,0 +dw 0,2000,500, kkk*4 ,kkk*8 ,kkk*6 , 0,0 +dw 0,-150,500, kkk*5 ,kkk*7 ,kkk*5 , 0,0 +dw 0,0,500, kkk*6 ,kkk*6 ,kkk*4 , 0,0 +dw 0,0,500, kkk*7 ,kkk*5 ,kkk*3 , 0*32,0 +dw 0,0,500, kkk*8 ,kkk*4 ,kkk*2 , 1*32,0 +dw 0,0,500, kkk*7 ,kkk*3 ,kkk*1 , 2*32,0 +dw 0,0,500, kkk*6 ,kkk*2 ,kkk*0 , 3*32,0 +dw 0,0,450, kkk*5 ,kkk*1 ,kkk*1 , 4*32,0 +dw 0,0,400, kkk*4 ,kkk*0 ,kkk*2 , 5*32,0 +dw 0,0,350, kkk*3 ,kkk*1 ,kkk*3 , 6*32,0 +dw 0,0,300, kkk*2 ,kkk*2 ,kkk*4 , 7*32,0 +dw 0,0,300, kkk*1 ,kkk*3 ,kkk*5 , 8*32,0 + +dw 0,0,300, kkk*0 ,kkk*4 ,kkk*6 , 256,0 +dw 0,0,300, kkk*1 ,kkk*5 ,kkk*7 , 256,0 +dw 0,0,300, kkk*2 ,kkk*6 ,kkk*8 , 256,0 +dw 0,0,300, kkk*3 ,kkk*7 ,kkk*7 , 256,0 +dw 0,0,300, kkk*4 ,kkk*8 ,kkk*6 , 256,0 +dw 0,0,300, kkk*5 ,kkk*7 ,kkk*5 , 256,0 +dw 0,0,300, kkk*6 ,kkk*6 ,kkk*4 , 256,0 +dw 0,0,300, kkk*7 ,kkk*5 ,kkk*3 , 256,0 +dw 0,0,300, kkk*8 ,kkk*4 ,kkk*2 , 256,0 +dw 0,0,300, kkk*7 ,kkk*3 ,kkk*1 , 256,0 +dw 0,0,300, kkk*6 ,kkk*2 ,kkk*0 , 256,0 +dw 0,0,300, kkk*5 ,kkk*1 ,kkk*1 , 256,0 +dw 0,0,300, kkk*4 ,kkk*0 ,kkk*2 , 256,0 +dw 0,0,300, kkk*3 ,kkk*1 ,kkk*3 , 256,0 +dw 0,0,300, kkk*2 ,kkk*2 ,kkk*4 , 256,0 +dw 0,0,300, kkk*1 ,kkk*3 ,kkk*5 , 256,0 + +dw 0,0,350, kkk*0 ,kkk*4 ,kkk*4 , 0*64,128 +dw 0,0,400, kkk*1 ,kkk*3 ,kkk*3 , 1*64,256 +dw 0,0,450, kkk*2 ,kkk*2 ,kkk*2 , 2*64,384 +dw 0,0,500, kkk*1 ,kkk*1 ,kkk*1 , 3*64,512 + +REPT 100 +dw 0,0,500, kkk*0 ,kkk*0 ,kkk*0 , 256,512 +ENDM diff --git a/u2/SINIT.INC b/u2/SINIT.INC new file mode 100755 index 0000000..26ef989 --- /dev/null +++ b/u2/SINIT.INC @@ -0,0 +1,163 @@ + + db 0,0,201,0,146,1,91,2,36,3,237,3,182,4,127 + db 5,72,6,17,7,217,7,162,8,106,9,51,10,251,10,195 + db 11,140,12,84,13,28,14,227,14,171,15,114,16,58,17,1 + db 18,200,18,143,19,85,20,28,21,226,21,168,22,109,23,51 + db 24,248,24,189,25,130,26,71,27,11,28,207,28,147,29,86 + db 30,25,31,220,31,159,32,97,33,35,34,229,34,166,35,103 + db 36,39,37,232,37,168,38,103,39,38,40,229,40,163,41,97 + db 42,31,43,220,43,152,44,85,45,16,46,204,46,135,47,65 + db 48,251,48,181,49,110,50,38,51,222,51,150,52,77,53,3 + db 54,185,54,111,55,36,56,216,56,140,57,63,58,242,58,164 + db 59,86,60,7,61,183,61,103,62,22,63,197,63,115,64,32 + db 65,205,65,121,66,37,67,208,67,122,68,35,69,204,69,116 + db 70,28,71,195,71,105,72,14,73,179,73,87,74,250,74,157 + db 75,63,76,224,76,128,77,32,78,191,78,93,79,250,79,151 + db 80,51,81,206,81,104,82,1,83,154,83,50,84,201,84,95 + db 85,244,85,137,86,29,87,175,87,65,88,211,88,99,89,242 + db 89,129,90,15,91,156,91,40,92,179,92,61,93,198,93,79 + db 94,214,94,93,95,226,95,103,96,235,96,110,97,239,97,112 + db 98,240,98,112,99,238,99,107,100,231,100,98,101,220,101,86 + db 102,206,102,69,103,187,103,49,104,165,104,24,105,138,105,252 + db 105,108,106,219,106,73,107,182,107,34,108,142,108,248,108,96 + db 109,200,109,47,110,149,110,250,110,93,111,192,111,33,112,130 + db 112,225,112,63,113,156,113,248,113,83,114,173,114,6,115,94 + db 115,180,115,10,116,94,116,177,116,3,117,84,117,164,117,242 + db 117,64,118,140,118,215,118,34,119,106,119,178,119,249,119,62 + db 120,131,120,198,120,8,121,73,121,136,121,199,121,4,122,64 + db 122,123,122,181,122,237,122,37,123,91,123,144,123,196,123,247 + db 123,40,124,88,124,135,124,181,124,226,124,13,125,56,125,97 + db 125,136,125,175,125,212,125,249,125,28,126,61,126,94,126,125 + db 126,155,126,184,126,212,126,238,126,8,127,32,127,54,127,76 + db 127,96,127,115,127,133,127,150,127,165,127,179,127,192,127,204 + db 127,215,127,224,127,232,127,239,127,244,127,248,127,252,127,253 + db 127,254,127,253,127,252,127,248,127,244,127,239,127,232,127,224 + db 127,215,127,204,127,192,127,179,127,165,127,150,127,133,127,115 + db 127,96,127,76,127,54,127,32,127,8,127,238,126,212,126,184 + db 126,155,126,125,126,94,126,61,126,28,126,249,125,212,125,175 + db 125,136,125,97,125,56,125,13,125,226,124,181,124,135,124,88 + db 124,40,124,247,123,196,123,144,123,91,123,37,123,237,122,181 + db 122,123,122,64,122,4,122,199,121,136,121,73,121,8,121,198 + db 120,131,120,62,120,249,119,178,119,106,119,34,119,215,118,140 + db 118,64,118,242,117,164,117,84,117,3,117,177,116,94,116,10 + db 116,180,115,94,115,6,115,173,114,83,114,248,113,156,113,63 + db 113,225,112,130,112,33,112,192,111,93,111,250,110,149,110,47 + db 110,200,109,96,109,248,108,142,108,34,108,182,107,73,107,219 + db 106,108,106,252,105,138,105,24,105,165,104,49,104,187,103,69 + db 103,206,102,86,102,220,101,98,101,231,100,107,100,238,99,112 + db 99,240,98,112,98,239,97,110,97,235,96,103,96,226,95,93 + db 95,214,94,79,94,198,93,61,93,179,92,40,92,156,91,15 + db 91,129,90,242,89,99,89,211,88,65,88,175,87,29,87,137 + db 86,244,85,95,85,201,84,50,84,154,83,1,83,104,82,206 + db 81,51,81,151,80,250,79,93,79,191,78,32,78,128,77,224 + db 76,63,76,157,75,250,74,87,74,179,73,14,73,105,72,195 + db 71,28,71,116,70,204,69,35,69,122,68,208,67,37,67,121 + db 66,205,65,32,65,115,64,197,63,22,63,103,62,183,61,7 + db 61,86,60,164,59,242,58,63,58,140,57,216,56,36,56,111 + db 55,185,54,3,54,77,53,150,52,222,51,38,51,110,50,181 + db 49,251,48,65,48,135,47,204,46,16,46,85,45,152,44,220 + db 43,31,43,97,42,163,41,229,40,38,40,103,39,168,38,232 + db 37,39,37,103,36,166,35,229,34,35,34,97,33,159,32,220 + db 31,25,31,86,30,147,29,207,28,11,28,71,27,130,26,189 + db 25,248,24,51,24,109,23,168,22,226,21,28,21,85,20,143 + db 19,200,18,1,18,58,17,114,16,171,15,227,14,28,14,84 + db 13,140,12,195,11,251,10,51,10,106,9,162,8,217,7,17 + db 7,72,6,127,5,182,4,237,3,36,3,91,2,146,1,201 + db 0,0,0,56,255,111,254,166,253,221,252,20,252,75,251,130 + db 250,185,249,240,248,40,248,95,247,151,246,206,245,6,245,62 + db 244,117,243,173,242,229,241,30,241,86,240,143,239,199,238,0 + db 238,57,237,114,236,172,235,229,234,31,234,89,233,148,232,206 + db 231,9,231,68,230,127,229,186,228,246,227,50,227,110,226,171 + db 225,232,224,37,224,98,223,160,222,222,221,28,221,91,220,154 + db 219,218,218,25,218,89,217,154,216,219,215,28,215,94,214,160 + db 213,226,212,37,212,105,211,172,210,241,209,53,209,122,208,192 + db 207,6,207,76,206,147,205,219,204,35,204,107,203,180,202,254 + db 201,72,201,146,200,221,199,41,199,117,198,194,197,15,197,93 + db 196,171,195,250,194,74,194,154,193,235,192,60,192,142,191,225 + db 190,52,190,136,189,220,188,49,188,135,187,222,186,53,186,141 + db 185,229,184,62,184,152,183,243,182,78,182,170,181,7,181,100 + db 180,194,179,33,179,129,178,225,177,66,177,164,176,7,176,106 + db 175,206,174,51,174,153,173,0,173,103,172,207,171,56,171,162 + db 170,13,170,120,169,228,168,82,168,192,167,46,167,158,166,15 + db 166,128,165,242,164,101,164,217,163,78,163,196,162,59,162,178 + db 161,43,161,164,160,31,160,154,159,22,159,147,158,18,158,145 + db 157,17,157,145,156,19,156,150,155,26,155,159,154,37,154,171 + db 153,51,153,188,152,70,152,208,151,92,151,233,150,119,150,5 + db 150,149,149,38,149,184,148,75,148,223,147,115,147,9,147,161 + db 146,57,146,210,145,108,145,7,145,164,144,65,144,224,143,127 + db 143,32,143,194,142,101,142,9,142,174,141,84,141,251,140,163 + db 140,77,140,247,139,163,139,80,139,254,138,173,138,93,138,15 + db 138,193,137,117,137,42,137,223,136,151,136,79,136,8,136,195 + db 135,126,135,59,135,249,134,184,134,121,134,58,134,253,133,193 + db 133,134,133,76,133,20,133,220,132,166,132,113,132,61,132,10 + db 132,217,131,169,131,122,131,76,131,31,131,244,130,201,130,160 + db 130,121,130,82,130,45,130,8,130,229,129,196,129,163,129,132 + db 129,102,129,73,129,45,129,19,129,249,128,225,128,203,128,181 + db 128,161,128,142,128,124,128,107,128,92,128,78,128,65,128,53 + db 128,42,128,33,128,25,128,18,128,13,128,9,128,5,128,4 + db 128,3,128,4,128,5,128,9,128,13,128,18,128,25,128,33 + db 128,42,128,53,128,65,128,78,128,92,128,107,128,124,128,142 + db 128,161,128,181,128,203,128,225,128,249,128,19,129,45,129,73 + db 129,102,129,132,129,163,129,196,129,229,129,8,130,45,130,82 + db 130,121,130,160,130,201,130,244,130,31,131,76,131,122,131,169 + db 131,217,131,10,132,61,132,113,132,166,132,220,132,20,133,76 + db 133,134,133,193,133,253,133,58,134,121,134,184,134,249,134,59 + db 135,126,135,195,135,8,136,79,136,151,136,223,136,42,137,117 + db 137,193,137,15,138,93,138,173,138,254,138,80,139,163,139,247 + db 139,77,140,163,140,251,140,84,141,174,141,9,142,101,142,194 + db 142,32,143,127,143,224,143,65,144,164,144,7,145,108,145,210 + db 145,57,146,161,146,9,147,115,147,223,147,75,148,184,148,38 + db 149,149,149,5,150,119,150,233,150,92,151,208,151,70,152,188 + db 152,51,153,171,153,37,154,159,154,26,155,150,155,19,156,145 + db 156,17,157,145,157,18,158,147,158,22,159,154,159,31,160,164 + db 160,43,161,178,161,59,162,196,162,78,163,217,163,101,164,242 + db 164,128,165,15,166,158,166,46,167,192,167,82,168,228,168,120 + db 169,13,170,162,170,56,171,207,171,103,172,0,173,153,173,51 + db 174,206,174,106,175,7,176,164,176,66,177,225,177,129,178,33 + db 179,194,179,100,180,7,181,170,181,78,182,243,182,152,183,62 + db 184,229,184,141,185,53,186,222,186,135,187,49,188,220,188,136 + db 189,52,190,225,190,142,191,60,192,235,192,154,193,74,194,250 + db 194,171,195,93,196,15,197,194,197,117,198,41,199,221,199,146 + db 200,72,201,254,201,180,202,107,203,35,204,219,204,147,205,76 + db 206,6,207,192,207,122,208,53,209,241,209,172,210,105,211,37 + db 212,226,212,160,213,94,214,28,215,219,215,154,216,89,217,25 + db 218,218,218,154,219,91,220,28,221,222,221,160,222,98,223,37 + db 224,232,224,171,225,110,226,50,227,246,227,186,228,127,229,68 + db 230,9,231,206,231,148,232,89,233,31,234,229,234,172,235,114 + db 236,57,237,0,238,199,238,143,239,86,240,30,241,229,241,173 + db 242,117,243,62,244,6,245,206,245,151,246,95,247,40,248,240 + db 248,185,249,130,250,75,251,20,252,221,252,166,253,111,254,56 + db 255 + db 0,0,201,0,146,1,91,2,36,3,237,3,182,4,127 + db 5,72,6,17,7,217,7,162,8,106,9,51,10,251,10,195 + db 11,140,12,84,13,28,14,227,14,171,15,114,16,58,17,1 + db 18,200,18,143,19,85,20,28,21,226,21,168,22,109,23,51 + db 24,248,24,189,25,130,26,71,27,11,28,207,28,147,29,86 + db 30,25,31,220,31,159,32,97,33,35,34,229,34,166,35,103 + db 36,39,37,232,37,168,38,103,39,38,40,229,40,163,41,97 + db 42,31,43,220,43,152,44,85,45,16,46,204,46,135,47,65 + db 48,251,48,181,49,110,50,38,51,222,51,150,52,77,53,3 + db 54,185,54,111,55,36,56,216,56,140,57,63,58,242,58,164 + db 59,86,60,7,61,183,61,103,62,22,63,197,63,115,64,32 + db 65,205,65,121,66,37,67,208,67,122,68,35,69,204,69,116 + db 70,28,71,195,71,105,72,14,73,179,73,87,74,250,74,157 + db 75,63,76,224,76,128,77,32,78,191,78,93,79,250,79,151 + db 80,51,81,206,81,104,82,1,83,154,83,50,84,201,84,95 + db 85,244,85,137,86,29,87,175,87,65,88,211,88,99,89,242 + db 89,129,90,15,91,156,91,40,92,179,92,61,93,198,93,79 + db 94,214,94,93,95,226,95,103,96,235,96,110,97,239,97,112 + db 98,240,98,112,99,238,99,107,100,231,100,98,101,220,101,86 + db 102,206,102,69,103,187,103,49,104,165,104,24,105,138,105,252 + db 105,108,106,219,106,73,107,182,107,34,108,142,108,248,108,96 + db 109,200,109,47,110,149,110,250,110,93,111,192,111,33,112,130 + db 112,225,112,63,113,156,113,248,113,83,114,173,114,6,115,94 + db 115,180,115,10,116,94,116,177,116,3,117,84,117,164,117,242 + db 117,64,118,140,118,215,118,34,119,106,119,178,119,249,119,62 + db 120,131,120,198,120,8,121,73,121,136,121,199,121,4,122,64 + db 122,123,122,181,122,237,122,37,123,91,123,144,123,196,123,247 + db 123,40,124,88,124,135,124,181,124,226,124,13,125,56,125,97 + db 125,136,125,175,125,212,125,249,125,28,126,61,126,94,126,125 + db 126,155,126,184,126,212,126,238,126,8,127,32,127,54,127,76 + db 127,96,127,115,127,133,127,150,127,165,127,179,127,192,127,204 + db 127,215,127,224,127,232,127,239,127,244,127,248,127,252,127,253 + db 127,254,127,253,127,252,127,248,127,244,127,239,127,232,127,224 diff --git a/u2/SPLINE.ASM b/u2/SPLINE.ASM new file mode 100755 index 0000000..44a8362 --- /dev/null +++ b/u2/SPLINE.ASM @@ -0,0 +1,89 @@ + IDEAL + MODEL large + P386 + +EXTRN C kx:word, C ky:word, C kz:word +EXTRN C dis:word, C tx:word, C ty:word +EXTRN C ls_kx:word, C ls_ky:word, C ls_kz:word + +CODESEG + +PUBLIC C getspl + +LABEL buu WORD +INCLUDE 'rata.inc' + +LABEL splinecoef WORD +INCLUDE "spline.inc" + +PROC C getspl + + ARG position:word + + push ds bp si di + + mov si, OFFSET buu + push cs + pop ds + mov di, [position] + + MASM + + ;ds:si=pointer to spline + ;di=position in spline, add 256 for next point + + mov ax,di + shr ax,8 + shl ax, 4d + add si,ax + and di,255 + shl di,1 + + ccc=0 + REPT 8 + mov ax,ds:[si+3*2*8+ccc] + imul cs:splinecoef[di] + mov bx,ax + mov cx,dx + mov ax,ds:[si+2*2*8+ccc] + imul cs:splinecoef[di+64*8] + add bx,ax + adc cx,dx + mov ax,ds:[si+1*2*8+ccc] + imul cs:splinecoef[di+128*8] + add bx,ax + adc cx,dx + mov ax,ds:[si+0*2*8+ccc] + imul cs:splinecoef[di+192*8] + add bx,ax + adc cx,dx + shld cx,bx,1 + push cx + ccc=ccc+2 + ENDM + + mov ax, SEG kx + mov ds, ax + pop cx + mov [ls_ky], cx + pop cx + mov [ls_kx], cx + pop cx + mov [kz], cx + pop cx + mov [ky], cx + pop cx + mov [kx], cx + pop cx + mov [dis], cx + pop cx + mov [ty], cx + pop cx + mov [tx], cx + + pop di si bp ds + ret + IDEAL +ENDP + +END \ No newline at end of file diff --git a/u2/SPLINE.INC b/u2/SPLINE.INC new file mode 100755 index 0000000..c4f110e --- /dev/null +++ b/u2/SPLINE.INC @@ -0,0 +1,1025 @@ +;spline coefficients (count 1024, only first half included) +dw 0 +dw 0 +dw 0 +dw 0 +dw 2 +dw 3 +dw 5 +dw 7 +dw 9 +dw 12 +dw 15 +dw 18 +dw 22 +dw 26 +dw 30 +dw 35 +dw 40 +dw 45 +dw 51 +dw 57 +dw 63 +dw 69 +dw 76 +dw 83 +dw 91 +dw 99 +dw 107 +dw 115 +dw 124 +dw 133 +dw 143 +dw 152 +dw 162 +dw 173 +dw 183 +dw 194 +dw 205 +dw 217 +dw 229 +dw 241 +dw 254 +dw 267 +dw 280 +dw 293 +dw 307 +dw 321 +dw 335 +dw 350 +dw 365 +dw 380 +dw 396 +dw 412 +dw 428 +dw 445 +dw 461 +dw 479 +dw 496 +dw 514 +dw 532 +dw 550 +dw 569 +dw 588 +dw 607 +dw 626 +dw 646 +dw 666 +dw 687 +dw 707 +dw 728 +dw 750 +dw 771 +dw 793 +dw 815 +dw 838 +dw 860 +dw 883 +dw 907 +dw 930 +dw 954 +dw 978 +dw 1002 +dw 1027 +dw 1052 +dw 1077 +dw 1103 +dw 1129 +dw 1155 +dw 1181 +dw 1208 +dw 1234 +dw 1261 +dw 1289 +dw 1317 +dw 1344 +dw 1373 +dw 1401 +dw 1430 +dw 1459 +dw 1488 +dw 1517 +dw 1547 +dw 1577 +dw 1607 +dw 1638 +dw 1669 +dw 1700 +dw 1731 +dw 1762 +dw 1794 +dw 1826 +dw 1858 +dw 1891 +dw 1923 +dw 1956 +dw 1989 +dw 2023 +dw 2056 +dw 2090 +dw 2124 +dw 2159 +dw 2193 +dw 2228 +dw 2263 +dw 2298 +dw 2334 +dw 2369 +dw 2405 +dw 2441 +dw 2478 +dw 2514 +dw 2551 +dw 2588 +dw 2625 +dw 2662 +dw 2700 +dw 2738 +dw 2776 +dw 2814 +dw 2852 +dw 2891 +dw 2929 +dw 2968 +dw 3008 +dw 3047 +dw 3087 +dw 3126 +dw 3166 +dw 3206 +dw 3247 +dw 3287 +dw 3328 +dw 3368 +dw 3409 +dw 3451 +dw 3492 +dw 3533 +dw 3575 +dw 3617 +dw 3659 +dw 3701 +dw 3744 +dw 3786 +dw 3829 +dw 3872 +dw 3915 +dw 3958 +dw 4001 +dw 4044 +dw 4088 +dw 4132 +dw 4176 +dw 4220 +dw 4264 +dw 4308 +dw 4353 +dw 4397 +dw 4442 +dw 4487 +dw 4532 +dw 4577 +dw 4622 +dw 4667 +dw 4713 +dw 4759 +dw 4804 +dw 4850 +dw 4896 +dw 4942 +dw 4988 +dw 5035 +dw 5081 +dw 5128 +dw 5174 +dw 5221 +dw 5268 +dw 5315 +dw 5362 +dw 5409 +dw 5456 +dw 5503 +dw 5551 +dw 5598 +dw 5646 +dw 5693 +dw 5741 +dw 5789 +dw 5837 +dw 5885 +dw 5933 +dw 5981 +dw 6029 +dw 6078 +dw 6126 +dw 6174 +dw 6223 +dw 6271 +dw 6320 +dw 6369 +dw 6417 +dw 6466 +dw 6515 +dw 6564 +dw 6613 +dw 6662 +dw 6711 +dw 6760 +dw 6809 +dw 6858 +dw 6907 +dw 6956 +dw 7006 +dw 7055 +dw 7104 +dw 7154 +dw 7203 +dw 7253 +dw 7302 +dw 7351 +dw 7401 +dw 7450 +dw 7500 +dw 7549 +dw 7599 +dw 7648 +dw 7698 +dw 7748 +dw 7797 +dw 7847 +dw 7896 +dw 7946 +dw 7995 +dw 8045 +dw 8095 +dw 8144 +dw 8194 +dw 8243 +dw 8293 +dw 8342 +dw 8392 +dw 8441 +dw 8491 +dw 8540 +dw 8589 +dw 8639 +dw 8688 +dw 8737 +dw 8787 +dw 8836 +dw 8885 +dw 8934 +dw 8983 +dw 9033 +dw 9082 +dw 9131 +dw 9180 +dw 9228 +dw 9277 +dw 9326 +dw 9375 +dw 9424 +dw 9472 +dw 9521 +dw 9569 +dw 9618 +dw 9666 +dw 9715 +dw 9763 +dw 9811 +dw 9859 +dw 9907 +dw 9955 +dw 10003 +dw 10051 +dw 10099 +dw 10146 +dw 10194 +dw 10242 +dw 10289 +dw 10336 +dw 10384 +dw 10431 +dw 10478 +dw 10525 +dw 10572 +dw 10618 +dw 10665 +dw 10712 +dw 10758 +dw 10804 +dw 10851 +dw 10897 +dw 10943 +dw 10989 +dw 11035 +dw 11080 +dw 11126 +dw 11171 +dw 11217 +dw 11262 +dw 11307 +dw 11352 +dw 11397 +dw 11442 +dw 11486 +dw 11531 +dw 11575 +dw 11619 +dw 11663 +dw 11707 +dw 11751 +dw 11795 +dw 11838 +dw 11882 +dw 11925 +dw 11968 +dw 12011 +dw 12054 +dw 12096 +dw 12139 +dw 12181 +dw 12223 +dw 12265 +dw 12307 +dw 12349 +dw 12390 +dw 12432 +dw 12473 +dw 12514 +dw 12555 +dw 12596 +dw 12636 +dw 12676 +dw 12717 +dw 12757 +dw 12797 +dw 12836 +dw 12876 +dw 12915 +dw 12954 +dw 12993 +dw 13032 +dw 13071 +dw 13109 +dw 13147 +dw 13185 +dw 13223 +dw 13261 +dw 13298 +dw 13335 +dw 13373 +dw 13409 +dw 13446 +dw 13483 +dw 13519 +dw 13555 +dw 13591 +dw 13626 +dw 13662 +dw 13697 +dw 13732 +dw 13767 +dw 13802 +dw 13836 +dw 13870 +dw 13904 +dw 13938 +dw 13972 +dw 14005 +dw 14038 +dw 14071 +dw 14104 +dw 14136 +dw 14169 +dw 14201 +dw 14233 +dw 14264 +dw 14295 +dw 14327 +dw 14358 +dw 14388 +dw 14419 +dw 14449 +dw 14479 +dw 14509 +dw 14538 +dw 14567 +dw 14596 +dw 14625 +dw 14654 +dw 14682 +dw 14710 +dw 14738 +dw 14766 +dw 14793 +dw 14820 +dw 14847 +dw 14874 +dw 14900 +dw 14926 +dw 14952 +dw 14978 +dw 15003 +dw 15028 +dw 15053 +dw 15078 +dw 15102 +dw 15126 +dw 15150 +dw 15174 +dw 15197 +dw 15220 +dw 15243 +dw 15265 +dw 15288 +dw 15310 +dw 15332 +dw 15353 +dw 15374 +dw 15395 +dw 15416 +dw 15437 +dw 15457 +dw 15477 +dw 15496 +dw 15516 +dw 15535 +dw 15554 +dw 15572 +dw 15591 +dw 15609 +dw 15626 +dw 15644 +dw 15661 +dw 15678 +dw 15695 +dw 15711 +dw 15727 +dw 15743 +dw 15759 +dw 15774 +dw 15789 +dw 15804 +dw 15818 +dw 15833 +dw 15847 +dw 15860 +dw 15874 +dw 15887 +dw 15899 +dw 15912 +dw 15924 +dw 15936 +dw 15948 +dw 15959 +dw 15970 +dw 15981 +dw 15992 +dw 16002 +dw 16012 +dw 16021 +dw 16031 +dw 16040 +dw 16049 +dw 16057 +dw 16066 +dw 16074 +dw 16081 +dw 16089 +dw 16096 +dw 16103 +dw 16109 +dw 16115 +dw 16121 +dw 16127 +dw 16132 +dw 16137 +dw 16142 +dw 16147 +dw 16151 +dw 16155 +dw 16158 +dw 16162 +dw 16165 +dw 16168 +dw 16170 +dw 16172 +dw 16174 +dw 16176 +dw 16177 +dw 16178 +dw 16179 +dw 16179 +dw 16179 +dw 16179 +dw 16179 +dw 16178 +dw 16177 +dw 16176 +dw 16174 +dw 16172 +dw 16170 +dw 16168 +dw 16165 +dw 16162 +dw 16158 +dw 16155 +dw 16151 +dw 16147 +dw 16142 +dw 16137 +dw 16132 +dw 16127 +dw 16121 +dw 16115 +dw 16109 +dw 16103 +dw 16096 +dw 16089 +dw 16081 +dw 16074 +dw 16066 +dw 16057 +dw 16049 +dw 16040 +dw 16031 +dw 16021 +dw 16012 +dw 16002 +dw 15992 +dw 15981 +dw 15970 +dw 15959 +dw 15948 +dw 15936 +dw 15924 +dw 15912 +dw 15899 +dw 15887 +dw 15874 +dw 15860 +dw 15847 +dw 15833 +dw 15818 +dw 15804 +dw 15789 +dw 15774 +dw 15759 +dw 15743 +dw 15727 +dw 15711 +dw 15695 +dw 15678 +dw 15661 +dw 15644 +dw 15626 +dw 15609 +dw 15591 +dw 15572 +dw 15554 +dw 15535 +dw 15516 +dw 15496 +dw 15477 +dw 15457 +dw 15437 +dw 15416 +dw 15395 +dw 15374 +dw 15353 +dw 15332 +dw 15310 +dw 15288 +dw 15265 +dw 15243 +dw 15220 +dw 15197 +dw 15174 +dw 15150 +dw 15126 +dw 15102 +dw 15078 +dw 15053 +dw 15028 +dw 15003 +dw 14978 +dw 14952 +dw 14926 +dw 14900 +dw 14874 +dw 14847 +dw 14820 +dw 14793 +dw 14766 +dw 14738 +dw 14710 +dw 14682 +dw 14654 +dw 14625 +dw 14596 +dw 14567 +dw 14538 +dw 14509 +dw 14479 +dw 14449 +dw 14419 +dw 14388 +dw 14358 +dw 14327 +dw 14295 +dw 14264 +dw 14233 +dw 14201 +dw 14169 +dw 14136 +dw 14104 +dw 14071 +dw 14038 +dw 14005 +dw 13972 +dw 13938 +dw 13904 +dw 13870 +dw 13836 +dw 13802 +dw 13767 +dw 13732 +dw 13697 +dw 13662 +dw 13626 +dw 13591 +dw 13555 +dw 13519 +dw 13483 +dw 13446 +dw 13409 +dw 13373 +dw 13335 +dw 13298 +dw 13261 +dw 13223 +dw 13185 +dw 13147 +dw 13109 +dw 13071 +dw 13032 +dw 12993 +dw 12954 +dw 12915 +dw 12876 +dw 12836 +dw 12797 +dw 12757 +dw 12717 +dw 12676 +dw 12636 +dw 12596 +dw 12555 +dw 12514 +dw 12473 +dw 12432 +dw 12390 +dw 12349 +dw 12307 +dw 12265 +dw 12223 +dw 12181 +dw 12139 +dw 12096 +dw 12054 +dw 12011 +dw 11968 +dw 11925 +dw 11882 +dw 11838 +dw 11795 +dw 11751 +dw 11707 +dw 11663 +dw 11619 +dw 11575 +dw 11531 +dw 11486 +dw 11442 +dw 11397 +dw 11352 +dw 11307 +dw 11262 +dw 11217 +dw 11171 +dw 11126 +dw 11080 +dw 11035 +dw 10989 +dw 10943 +dw 10897 +dw 10851 +dw 10804 +dw 10758 +dw 10712 +dw 10665 +dw 10618 +dw 10572 +dw 10525 +dw 10478 +dw 10431 +dw 10384 +dw 10336 +dw 10289 +dw 10242 +dw 10194 +dw 10146 +dw 10099 +dw 10051 +dw 10003 +dw 9955 +dw 9907 +dw 9859 +dw 9811 +dw 9763 +dw 9715 +dw 9666 +dw 9618 +dw 9569 +dw 9521 +dw 9472 +dw 9424 +dw 9375 +dw 9326 +dw 9277 +dw 9228 +dw 9180 +dw 9131 +dw 9082 +dw 9033 +dw 8983 +dw 8934 +dw 8885 +dw 8836 +dw 8787 +dw 8737 +dw 8688 +dw 8639 +dw 8589 +dw 8540 +dw 8491 +dw 8441 +dw 8392 +dw 8342 +dw 8293 +dw 8243 +dw 8194 +dw 8144 +dw 8095 +dw 8045 +dw 7995 +dw 7946 +dw 7896 +dw 7847 +dw 7797 +dw 7748 +dw 7698 +dw 7648 +dw 7599 +dw 7549 +dw 7500 +dw 7450 +dw 7401 +dw 7351 +dw 7302 +dw 7253 +dw 7203 +dw 7154 +dw 7104 +dw 7055 +dw 7006 +dw 6956 +dw 6907 +dw 6858 +dw 6809 +dw 6760 +dw 6711 +dw 6662 +dw 6613 +dw 6564 +dw 6515 +dw 6466 +dw 6417 +dw 6369 +dw 6320 +dw 6271 +dw 6223 +dw 6174 +dw 6126 +dw 6078 +dw 6029 +dw 5981 +dw 5933 +dw 5885 +dw 5837 +dw 5789 +dw 5741 +dw 5693 +dw 5646 +dw 5598 +dw 5551 +dw 5503 +dw 5456 +dw 5409 +dw 5362 +dw 5315 +dw 5268 +dw 5221 +dw 5174 +dw 5128 +dw 5081 +dw 5035 +dw 4988 +dw 4942 +dw 4896 +dw 4850 +dw 4804 +dw 4759 +dw 4713 +dw 4667 +dw 4622 +dw 4577 +dw 4532 +dw 4487 +dw 4442 +dw 4397 +dw 4353 +dw 4308 +dw 4264 +dw 4220 +dw 4176 +dw 4132 +dw 4088 +dw 4044 +dw 4001 +dw 3958 +dw 3915 +dw 3872 +dw 3829 +dw 3786 +dw 3744 +dw 3701 +dw 3659 +dw 3617 +dw 3575 +dw 3533 +dw 3492 +dw 3451 +dw 3409 +dw 3368 +dw 3328 +dw 3287 +dw 3247 +dw 3206 +dw 3166 +dw 3126 +dw 3087 +dw 3047 +dw 3008 +dw 2968 +dw 2929 +dw 2891 +dw 2852 +dw 2814 +dw 2776 +dw 2738 +dw 2700 +dw 2662 +dw 2625 +dw 2588 +dw 2551 +dw 2514 +dw 2478 +dw 2441 +dw 2405 +dw 2369 +dw 2334 +dw 2298 +dw 2263 +dw 2228 +dw 2193 +dw 2159 +dw 2124 +dw 2090 +dw 2056 +dw 2023 +dw 1989 +dw 1956 +dw 1923 +dw 1891 +dw 1858 +dw 1826 +dw 1794 +dw 1762 +dw 1731 +dw 1700 +dw 1669 +dw 1638 +dw 1607 +dw 1577 +dw 1547 +dw 1517 +dw 1488 +dw 1459 +dw 1430 +dw 1401 +dw 1373 +dw 1344 +dw 1317 +dw 1289 +dw 1261 +dw 1234 +dw 1208 +dw 1181 +dw 1155 +dw 1129 +dw 1103 +dw 1077 +dw 1052 +dw 1027 +dw 1002 +dw 978 +dw 954 +dw 930 +dw 907 +dw 883 +dw 860 +dw 838 +dw 815 +dw 793 +dw 771 +dw 750 +dw 728 +dw 707 +dw 687 +dw 666 +dw 646 +dw 626 +dw 607 +dw 588 +dw 569 +dw 550 +dw 532 +dw 514 +dw 496 +dw 479 +dw 461 +dw 445 +dw 428 +dw 412 +dw 396 +dw 380 +dw 365 +dw 350 +dw 335 +dw 321 +dw 307 +dw 293 +dw 280 +dw 267 +dw 254 +dw 241 +dw 229 +dw 217 +dw 205 +dw 194 +dw 183 +dw 173 +dw 162 +dw 152 +dw 143 +dw 133 +dw 124 +dw 115 +dw 107 +dw 99 +dw 91 +dw 83 +dw 76 +dw 69 +dw 63 +dw 57 +dw 51 +dw 45 +dw 40 +dw 35 +dw 30 +dw 26 +dw 22 +dw 18 +dw 15 +dw 12 +dw 9 +dw 7 +dw 5 +dw 3 +dw 2 +dw 0 +dw 0 +dw 0 diff --git a/u2/SPLINE.OBJ b/u2/SPLINE.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..1e76bf17b675ef813be65b2074c1c82964809530 GIT binary patch literal 5662 zcmeHLYfzJC7CzsX`-LQY!2ltIa1Ri|B_Z6BFQDKJ6fKChDijr0Yta_eRo7i;tu|eB zK}W5%H?_>P9kuROJJqhOR$Gc}=~~yWFw=FtRn(4*i*_jOi2Ec&i0+^Lu|K*q!W?*? z_se;|bIyCt^C(S9l9x{_oiw%BT39}%)ng(eL&b{vdCN?N4Gpz*^PaA)H<>DH>l+p? zTWYddGj@77D!9I4W%0xSzl$D?e^Xjtv%JQ-cOJd0I#N~`&dTe>ZcpL@A&TFt<`kp;jJ}v*}v7QB4Q-fzp7o1N;GNcTaSneE*i+; zeZGg;?1eXkRP2#b!R0U#Q?ke-!!jIq5l3p@TJK#mK^_J6Be0HzDSgP`Lqd}HP^1qr zB=aGo4~ad1kN(;F%dWxGyOStK@jC+ip;VNi3H-lDj5#HXpDxFqVKB;0-*;F|zrh}d!YzfBB zm?1}iL?xaOV1K`jD=QxF-ENW|@p+0T6jz{w3}$R;cI>()fCJHK$sPP|WoDt(?&Ae? zhdCO6J7^Yb5{y2#;A!CVR>mZ_@Bh@jJB-)cd+PAl9h^OjZ4JQQrUR? zI?|I7|B^FPD%mKP+*C}ZR8F&LJ}sdJT1)Gxg?7*$+D{+S3F@LA`i}lZL!@BBn0Us< z6f$K@6;sEoWi~ReG5eU0nJ(s^%q@mxL)Zj1mn~(h*?M*ZyOTY@o@Be(K2{(I7o-Ws z3+4zK1kHjyf{z4e1UCc%p+T4>EE6skt`oj4JS;pTyeX84;zb3bxuVsg?V^LC)1sRq zg*Zt(LA+4BUfd==DZV6TB{7n*lKGN#k~Ycbl3s~ank+4qE|YGS9+IAu{v@;p?stKeR;QhNFJvsQ9P^Ip*XJSRj8E?WtDP+@__Q3l7h@Z(}R8! z)E3kgG!PW6Dp9Ra?NW8Beo&dzCF+&x-RdvZKdR$2(==-}?`Y0ynBdglCxTxLJ`{X0 zSjFXYi@BG%&$xchq@Ai=tKF;Z(Mm%cA+;e}Lr#YDheVH=Hl}gRfidUDsB|t}o$hsA zm+r1EHFR$1rqEA9`$COjWnqnBe+;`A792h{ydk_T{F`vGK3l&?|BAj-|Fhl_Q5De= zaXg|wBGxd&u)*-5;krQ|SsMA<$ODlVA~|D`afR`1W4BQrl^<0X^=8!RDAr^%)ta`O zI!uG6l;}Cpo1%|J--?coDUW#}=7X54F`==OV%Nm(jr}%O8Rv>y8uw=0={Sndh_8v? z5`QB8c6@9?dBVDcg9(=tw29*q8xr>$CqK67MJY0{dccayr4#L4#L z`N^A;k0swsj!2o9vNGkZl&@2UQc^6lEbA@rTh3b)soAOXQ(IF1oZ6eJwer@dtlO-| zt>0U9X$5IZ(zc}?OS_(?O?Ra)Om9s;l71;&kzvo6lkq~v{)}%j?q>`XcK_meOH$Omoyb zwmLp={M|9&2+PjNemr}1_AA+kv(IG@Wb1P5IpsOe=CtJO&*{wR&FS-w`aXp)H#(Qk zeIj>d?v~v5a!=)6$-S4W&$H)E&0CcBeBP^hhw{4euI3Hp>GG}lf&8xu4>mZSEH-N^@eM| z>!_>K)#K`Q-EpzJnvdYkyqz!LOZl1nJid-!#Xrw)4s}PkjqVtCyxZ(fc3a$5ce*>no$0oXd}jiuW8Z@3W_&IN zpO1i_7XC7~(0vc*-Nw1SIKKz)>BRev;JxqQ{o4@7^N6Poam_@01&Gs(c-1`1-$DF6 z$m1yTc>{ShBEM?n$s=EbOYRy({%28#1E_}wb*Vvpa!@Cga}YKA3bosf8ZJjI$D^jY z{2|o03w3@K^=M@7Hw#cDzr&x)@`)RUbIdPS}4@sk9K++Z8aP1rM6u| ztL;R~m1f3e-bD-UM=Q=jODZxhp*>sCrml2t`gOGJHneX+nl9~owDUH!HE-2gd(q}C zX!q(-_yK7+YoBw;16y80FB|s~GDSFy7HIw=n9P zF!CwUgBbtqpaGkSHJt`6)PWx4QQe@56`%~xcmeeBThNF;@;WGG1E?j|&<~nv0o_<4 zeg^ft0t(93i}l}tk{Uow!QmG{Q;nc2V^|-kYZE9eHS{j%>~+wZOQ+JE2hBBt?xM%^ zgZj3D0v#dJkRDLtT2P}&+Yg$28FZP?skn=v&lf?XsliO}Sy#e&?P^y)^pz|G|^%6y#VhA+-B55Fl-vwOH$vHUPAQaqsuJ;~&-P>H0ZXMX)ByH|)?rbhHdDn75w-#%ScdhiTh2Evg zyHvOJFw>ihG6Q^K0(`hppCa~QCwqWXT!2$ZfYX1x$r0d`5a6T>a1wjhf#Kx@IGF>S z!UCM64?E=rI3))-=>weP4?8&noGbxOh5#q!!%lpFlQqD}7~rIO(CIMIAG#lZ34hxA zFMd>4&5b(sm(O2&mp&V;U_RHuVqjKSE^IQa5;hOE6xIl9hP@1X3w8*09QGxw8+IM` zLj}{$z=B{#STf838w)FkRl}CRehu@$w!(J7_Ej*Qhbx)(W0lhO&nhMDrz!>QUsba0 Yf5TpPrLg@UmE!hGm7?C?qhFW*8w&sPJpcdz literal 0 HcmV?d00001 diff --git a/u2/TILE.INC b/u2/TILE.INC new file mode 100755 index 0000000..f0ca6de --- /dev/null +++ b/u2/TILE.INC @@ -0,0 +1,1272 @@ + + db 64,64,64,64,66,66,66,66,66,66,66,66,66,64,64 + db 64,66,66,66,66,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,99,99,98,64,64,64,65,64,119,119,119,65,64 + db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,69 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,66,66,66,66,66,66,66,66,66,64,64,64,64 + db 64,64,64,66,66,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,68,66,99,68,68,68,119,119,119,119,119,119,119 + db 64,64,64,66,68,65,64,64,66,64,67,64,67,68,64,69 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,66,66,64,64,64,66,66,66,66,66,64,64,64,64 + db 64,64,64,66,64,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,64,68,68,68,68,68,68,68,119,119,119,119,119 + db 67,65,64,66,66,68,68,64,66,68,68,67,68,68,70,72 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,66,66,64,64,64,64,64 + db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,64,68,68,68,68,68,68,68,119,119,119,119,119 + db 119,67,68,65,67,68,69,66,64,66,69,69,69,69,72,71 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,66,66,64,64,64,64,64 + db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,64,68,68,68,68,68,68,68,68,119,119,119,119 + db 119,68,68,68,68,68,69,70,69,67,69,71,71,71,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,64,64,64,64,64,64,64,66,64,64,64,64,64 + db 64,64,64,64,66,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,68,68,68,68,68,68,68,68,68,119,119,119,119 + db 119,68,68,68,69,68,69,70,71,69,71,70,72,71,72,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,64,64,64,64,64,64,64,66,66,64,64,64,64 + db 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64 + db 64,64,64,68,68,68,68,68,68,68,68,68,119,119,119,119 + db 68,68,69,69,69,70,70,70,71,71,70,72,71,72,71,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,64,64,64,64,64,64,64,66,66,64,64,64,64 + db 64,64,64,64,64,64,66,64,64,64,66,66,66,68,64,64 + db 64,68,68,68,68,68,68,68,68,68,68,119,119,119,119,119 + db 70,68,70,70,70,70,71,70,71,71,72,71,72,71,79,71 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,64,64,64,64,64,64,64,66,66,66,66,64,64 + db 64,64,64,64,64,64,64,66,68,68,68,68,66,66,66,68 + db 68,68,66,66,68,68,68,68,68,68,68,119,119,119,119,70 + db 70,70,69,70,70,71,71,71,71,72,71,72,71,72,73,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,66,66,66,66,68,64,64 + db 64,64,64,64,64,64,64,68,68,68,68,68,68,68,66,66 + db 66,66,66,66,66,66,68,68,68,119,119,119,119,119,70,69 + db 70,70,70,70,71,70,71,71,72,71,72,71,72,79,74,75 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,66,66,68,68,68,64,64 + db 64,64,64,64,64,64,64,68,68,68,64,64,64,68,66,66 + db 66,66,66,66,66,66,119,119,119,119,119,119,119,70,70,70 + db 70,71,71,71,71,71,71,72,71,72,71,72,72,74,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,64,64,64,66,66,66,68,68,68,68,68,64 + db 64,64,64,64,64,64,66,68,64,64,64,64,64,64,64,66 + db 66,66,66,66,66,119,119,119,119,119,119,119,70,70,71,70 + db 71,70,71,71,71,71,72,71,72,71,72,73,74,73,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,66,66,66,66,66,68,68,68,68,68,68,64 + db 64,64,64,64,64,64,66,66,64,64,64,64,64,64,64,66 + db 66,66,66,66,66,119,119,119,119,119,70,70,70,70,70,71 + db 71,71,71,71,71,71,71,72,71,72,72,74,75,76,76,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,66,66,66,66,66,68,68,68,68,68,68,68 + db 64,64,64,64,66,66,66,64,64,64,64,64,64,64,64,64 + db 66,66,66,119,119,119,119,119,119,70,71,70,71,70,71,71 + db 72,71,72,71,72,71,72,71,72,72,73,74,75,75,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,66,64,64,64,66,68,68,68,68,68,64,64 + db 64,64,64,64,64,66,66,64,64,64,64,64,64,64,64,64 + db 66,66,119,119,119,119,119,119,70,70,70,71,70,71,71,71 + db 71,72,71,72,71,72,71,72,72,72,73,73,76,77,76,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,64,64,64,64,64,64,64,68,68,68,68,64,64 + db 64,64,64,64,64,66,66,64,64,64,64,64,64,64,64,64 + db 119,119,119,119,119,119,119,70,71,70,71,70,71,71,72,71 + db 72,71,72,71,72,71,72,72,74,73,73,73,76,79,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,64,64,64,64,64,64,64,68,68,68,64,64,64 + db 64,64,64,64,64,64,66,66,64,64,64,64,64,64,64,119 + db 119,119,119,119,119,119,70,71,71,71,71,71,71,71,71,72 + db 71,72,71,72,71,72,72,72,73,73,74,74,74,77,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,64,64,66,68,64,64,64 + db 64,64,64,64,64,64,66,66,64,64,64,64,64,64,64,119 + db 119,119,119,119,119,70,71,70,71,70,71,71,72,71,72,71 + db 72,71,72,71,72,71,72,72,73,73,74,76,75,75,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,64,64,66,66,64,64,64 + db 64,64,64,64,64,64,66,66,66,66,64,64,64,119,119,119 + db 119,119,119,119,70,71,71,71,71,71,71,71,71,72,71,72 + db 71,72,71,72,72,72,72,73,73,74,75,74,77,78,77,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,64,64,64,64,64,64,64,64,64,66,66,66,64,64 + db 64,64,64,64,64,66,66,66,66,66,66,119,119,119,119,119 + db 119,119,119,70,71,71,71,71,72,71,72,71,72,71,72,71 + db 72,71,72,71,72,72,73,72,73,74,74,75,76,75,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,64,64,64,64,64,64,64,66,66,66,66,64,64 + db 64,64,64,64,64,66,66,66,66,66,119,119,119,119,119,119 + db 119,71,70,71,71,71,71,71,71,71,71,72,71,71,71,72 + db 72,72,72,72,72,73,73,74,73,74,73,75,78,77,77,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,64,64,64,64,64,64,64,64,66,68,68,68,68 + db 64,64,64,66,66,66,66,66,66,66,119,119,119,119,119,119 + db 71,70,71,71,71,71,71,71,72,71,72,71,72,71,72,72 + db 72,71,72,72,73,72,73,73,75,74,74,74,76,78,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,66,64,64,64,64,64,64,64,64,68,68,68 + db 68,68,68,66,66,66,66,66,66,119,119,119,119,119,119,71 + db 71,71,71,71,71,71,71,71,71,72,71,72,71,72,72,72 + db 72,72,72,73,72,73,73,73,73,75,75,75,75,78,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,66,64,64,64,64,64,64,64,64,68,68,68 + db 68,68,68,68,66,66,66,66,66,119,119,119,119,119,71,70 + db 71,71,71,71,72,71,72,71,72,71,72,71,72,71,72,71 + db 72,72,73,72,73,72,74,73,74,74,75,76,76,76,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,64,64,64,64,64,64,64,64,64,64,68,68 + db 68,68,68,68,66,66,66,66,119,119,119,119,119,71,71,71 + db 71,71,71,72,71,71,71,72,71,72,71,72,72,72,72,72 + db 72,72,72,73,73,73,73,74,74,75,75,76,77,77,77,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,66,66,64,64,64,64,64,64,64,64,64,64,68,68 + db 68,68,68,68,66,66,119,119,119,119,119,119,71,70,71,71 + db 72,71,72,71,72,71,72,71,72,71,72,71,72,71,72,72 + db 72,72,73,72,73,73,74,74,75,74,75,76,77,76,79,78 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,66,66,64,64,64,64,64,64,64,64,64,64,68,68 + db 68,68,68,119,119,119,119,119,119,119,119,71,71,71,71,71 + db 71,71,71,72,71,72,71,72,71,72,72,72,72,72,72,72 + db 72,73,73,73,73,73,74,75,75,75,75,77,77,78,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,65,119,119,64,64,64,64,64,64,64,64,68,68,68 + db 68,68,68,119,119,119,119,119,119,70,71,71,72,71,72,71 + db 72,71,72,71,72,71,72,71,72,71,72,72,72,72,73,72 + db 73,72,73,73,74,73,74,74,76,75,76,75,77,79,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,119,119,64,64,64,64,64,64,64,64,119,68,68 + db 68,119,119,119,119,119,119,119,71,71,71,71,71,71,71,72 + db 71,72,71,72,71,71,71,72,72,72,72,72,72,72,72,73 + db 73,73,73,73,73,74,74,74,75,77,76,77,76,78,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,65,64,119,119,119,64,64,64,64,119,119,119,119,119 + db 119,119,119,119,119,119,119,71,71,71,71,71,72,71,72,71 + db 72,71,72,71,72,71,72,71,72,71,72,72,73,72,73,72 + db 73,72,73,73,74,73,75,74,75,75,76,77,78,76,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,65,65,119,119,119,119,119,119,119,119,119,119,119,119 + db 119,119,119,119,119,119,71,71,71,71,71,71,71,71,71,72 + db 71,72,71,72,71,72,72,72,72,72,72,72,72,72,72,73 + db 73,73,73,73,73,74,74,74,75,75,76,77,78,78,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,100,120,116,116,66,119,119,119,119,69,119,119,119,119,119 + db 119,119,119,119,71,71,71,71,71,71,71,71,71,71,71,71 + db 71,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72 + db 72,72,73,73,73,73,73,73,74,74,76,76,76,77,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,105,18,103,102,102,102,102,102,102,102,102,102,119,119,119 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,103,103,238 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,109,30,28,105,105,105,105,105,105,105,105,105,105,105,105 + db 105,105,105,105,105,105,105,105,105,105,105,104,104,104,104,104 + db 104,104,104,104,103,103,103,103,103,103,103,103,103,103,103,103 + db 103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,106 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,108,29,30,29,29,29,29,29,29,29,29,29,28,28,28 + db 28,28,28,28,28,28,27,27,27,27,27,26,26,26,26,26 + db 26,26,25,23,23,22,22,22,22,22,22,22,22,22,22,22 + db 22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,26 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,108,30,30,30,30,30,30,30,30,30,30,30,28,28,28 + db 28,28,28,28,28,28,28,26,26,26,26,26,26,26,26,26 + db 26,26,26,24,20,20,20,20,20,20,20,20,20,20,20,20 + db 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,16 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,31,30,30,30,30,30,30,30,30,30,30,30,28,28,28 + db 28,28,28,28,28,28,26,26,26,26,26,26,26,26,26,26 + db 26,26,26,24,24,20,20,20,20,20,20,20,20,20,20,21 + db 21,20,20,21,20,20,19,20,19,19,18,19,18,18,18,16 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,31,31,30,30,30,29,28,29,28,28,27,28,26,27,27 + db 27,26,26,26,26,25,26,25,26,24,26,26,26,23,24,23 + db 24,23,24,23,24,22,23,22,22,21,22,22,22,21,22,21 + db 20,20,20,20,20,20,20,19,20,19,19,18,19,16,16,16 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,31,30,30,30,30,30,30,30,30,30,30,28,28,28,28 + db 28,28,28,28,28,28,28,28,26,26,26,26,26,26,26,26 + db 26,26,24,24,23,23,22,23,22,22,23,22,22,22,22,20 + db 20,20,20,20,20,20,20,20,20,20,20,20,20,18,16,16 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,31,30,29,29,29,29,29,29,29,29,29,29,29,29,29 + db 29,29,29,29,29,28,27,27,27,27,27,27,27,27,27,25 + db 25,25,24,23,23,23,23,23,23,23,23,23,23,23,23,22 + db 22,22,22,22,22,22,21,21,21,21,21,21,21,21,20,16 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,106,107,106,105,105,105,105,105,105,105,105,105,105,105,105 + db 105,105,105,105,105,105,105,105,105,105,105,105,105,105,104,104 + db 104,103,103,103,103,103,103,103,103,103,103,103,103,103,102,102 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,103,105 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,103,104,102,102,102,102,102,102,102,102,102,102,102,102,102 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102 + db 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,238 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,100,68,68,68,69,69,70,71,71,71,71,71,71,71,71 + db 71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72 + db 104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104 + db 104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,65,66,67,68,68,68,69,70,71,71,71,71,71,71,71 + db 71,71,72,71,72,71,72,71,71,71,71,71,71,72,72,72 + db 72,72,72,73,73,73,73,73,74,74,74,74,74,74,74,74 + db 74,74,74,74,74,74,75,76,76,76,77,77,77,77,79,78 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,67,67,68,68,68,69,70,71,71,71,71,71,71,72 + db 71,72,71,72,72,72,72,72,72,71,71,71,72,73,72,73 + db 73,73,73,73,73,74,74,74,74,74,74,74,74,74,74,74 + db 74,74,74,75,75,74,75,76,76,77,77,77,77,78,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,66,68,69,68,69,70,71,71,71,71,71,71,72,71 + db 72,71,72,71,72,71,72,72,72,72,73,72,73,72,73,73 + db 73,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74 + db 74,74,75,75,75,74,75,76,77,77,77,76,78,78,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,68,69,69,70,70,70,71,71,71,71,72,71,72 + db 71,72,72,72,72,72,72,73,72,73,72,73,73,73,73,73 + db 73,74,73,73,73,74,74,74,73,74,74,74,74,74,74,74 + db 74,74,74,75,75,75,75,75,76,78,77,77,77,78,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,65,66,66,69,70,71,70,71,71,72,71,72,71,72,71 + db 72,72,72,71,72,72,73,72,73,72,73,72,73,73,74,73 + db 74,73,74,73,74,73,74,74,74,73,75,74,75,74,74,74 + db 75,74,75,74,75,75,76,75,76,77,77,78,78,77,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,68,68,68,70,70,71,71,71,71,72,71,72,71,72 + db 72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,74 + db 74,74,73,74,74,74,74,74,74,74,74,75,74,75,74,75 + db 74,75,75,75,75,76,75,76,76,76,77,78,78,79,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,66,67,69,70,69,71,71,72,71,72,71,72,71,72,72 + db 72,71,72,72,73,72,73,72,74,73,73,73,74,73,74,74 + db 74,73,74,73,75,74,74,74,75,74,75,74,75,74,75,74 + db 75,74,75,75,76,75,76,76,76,76,77,78,78,77,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,68,68,69,71,71,72,71,72,71,72,71,72,72,72 + db 72,72,72,73,72,73,73,73,73,74,74,74,73,74,74,74 + db 74,74,74,74,74,75,74,75,75,75,75,75,75,75,75,75 + db 75,75,75,75,75,75,75,76,76,77,77,77,79,79,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,67,69,70,70,72,71,72,71,72,71,72,72,72,72 + db 73,72,73,72,73,73,74,73,74,73,74,74,74,73,74,74 + db 75,74,74,74,75,75,75,74,75,75,75,75,75,75,76,75 + db 76,75,75,75,76,75,76,76,77,76,77,76,78,79,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,64,70,71,71,71,72,71,72,71,72,72,72,72,73 + db 73,73,73,73,73,73,73,74,74,74,74,74,74,74,74,75 + db 75,75,74,75,75,75,75,75,75,75,75,76,75,75,75,76 + db 75,76,75,75,76,76,75,76,77,77,77,77,77,79,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,67,69,64,72,71,72,71,72,71,72,72,72,72,73,72 + db 74,73,73,73,74,73,74,74,75,73,75,74,75,75,75,75 + db 75,74,76,75,75,75,76,75,76,75,76,75,77,75,76,75 + db 76,76,76,75,76,75,76,76,77,76,77,77,78,77,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,70,72,71,72,71,72,71,72,72,72,72,73,73,73 + db 73,73,74,74,74,74,74,75,74,75,74,75,75,75,75,75 + db 75,75,75,75,75,76,75,76,76,76,75,76,76,76,76,76 + db 76,76,76,76,76,76,76,76,76,77,77,77,78,78,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,71,72,71,72,71,72,71,72,72,73,72,73,73,74,74 + db 74,73,74,74,75,74,75,74,75,75,76,75,75,75,76,75 + db 75,75,76,75,76,75,76,75,76,76,76,76,76,76,77,76 + db 76,76,77,76,76,76,77,76,77,76,77,77,78,78,79,78 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,64,71,72,71,72,72,72,72,73,72,74,74,74,74,75 + db 74,74,74,74,75,76,75,75,75,75,76,76,75,76,76,76 + db 76,76,76,77,76,76,76,77,77,76,77,76,77,76,76,77 + db 76,77,76,77,77,77,76,77,77,77,77,77,78,78,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,71,72,71,72,72,73,73,73,72,74,74,74,74,75,74 + db 75,75,75,75,76,75,76,75,76,75,76,76,76,75,76,76 + db 78,76,76,76,77,77,77,76,77,77,77,77,77,76,78,77 + db 78,76,77,76,78,77,77,76,77,76,78,77,78,78,79,78 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,72,71,72,72,73,74,75,73,74,74,75,74,75,74,75 + db 76,75,76,76,76,76,76,77,76,77,76,77,77,76,76,76 + db 77,78,77,76,77,78,78,77,77,77,77,78,77,77,77,78 + db 77,78,77,77,78,77,77,77,77,77,77,78,77,79,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,71,72,73,74,73,75,75,76,75,75,74,76,77,76,75 + db 76,76,77,76,76,76,78,76,78,76,78,76,78,77,78,77 + db 77,77,78,77,77,77,78,78,78,77,78,77,79,78,78,77 + db 78,78,78,77,78,78,78,78,78,77,78,77,78,78,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,72,73,75,75,75,74,74,76,79,75,75,76,77,79,78 + db 76,77,78,78,78,77,77,78,78,78,77,78,78,77,78,77 + db 78,78,77,79,78,78,77,78,78,78,77,78,78,79,78,78 + db 78,78,79,79,77,78,78,79,78,78,77,78,78,78,78,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,73,79,74,76,78,76,77,77,77,79,77,76,76,78,79 + db 78,76,78,78,79,78,77,78,79,79,79,77,79,78,78,79 + db 79,78,79,78,79,78,79,77,79,79,79,78,79,78,79,78 + db 78,78,79,79,79,77,78,78,79,78,78,78,79,78,79,78 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,79,76,79,79,79,79,77,79,78,79,79,77,79,78,79 + db 79,79,78,78,79,79,79,78,79,79,79,79,78,79,79,79 + db 79,79,79,79,79,79,78,79,79,79,79,79,79,79,79,79 + db 78,79,79,79,79,79,78,79,79,79,79,78,78,79,79,79 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 diff --git a/u2/TILEPAL.INC b/u2/TILEPAL.INC new file mode 100755 index 0000000..926dbd4 --- /dev/null +++ b/u2/TILEPAL.INC @@ -0,0 +1,50 @@ + + db 0,0,0,0,0,0,1,1,1,2,2,2,3,3,3 + db 4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9 + db 9,9,10,10,10,11,11,11,12,12,12,13,13,13,14,14 + db 14,15,15,15,16,16,16,17,17,17,18,18,18,19,19,19 + db 20,20,20,21,21,21,22,22,22,23,23,23,24,24,24,25 + db 25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30 + db 30,31,31,31,32,32,32,33,33,33,34,34,34,35,35,35 + db 36,36,36,37,37,37,38,38,38,39,39,39,40,40,40,41 + db 41,41,42,42,42,43,43,43,44,44,44,45,45,45,46,46 + db 46,47,47,47,48,48,48,49,49,49,50,50,50,51,51,51 + db 53,53,53,54,54,54,55,55,55,56,56,56,57,57,57,58 + db 58,58,59,59,59,60,60,60,61,61,61,62,62,62,63,63 + db 63,0,22,0,0,24,0,1,27,0,1,30,0,3,33,1 + db 4,35,1,6,38,2,7,41,3,9,43,4,11,46,4,13 + db 49,5,15,52,6,17,54,8,19,57,9,22,60,10,25,63 + db 12,27,63,15,29,63,18,32,63,21,34,63,24,36,63,27 + db 39,63,31,41,63,34,43,63,37,46,63,40,48,63,43,51 + db 63,47,53,63,50,55,63,53,58,63,56,60,63,59,63,63 + db 63,7,41,3,9,40,5,11,40,8,13,40,10,15,40,12 + db 18,40,15,20,39,17,22,39,20,24,39,22,26,39,24,28 + db 39,26,30,38,29,32,38,31,34,38,33,36,38,35,38,38 + db 38,0,22,0,1,21,1,2,21,2,3,20,3,4,20,4 + db 6,19,6,7,19,7,8,18,8,9,18,9,10,17,10,11 + db 17,11,12,16,12,13,16,13,13,16,13,14,15,14,15,15 + db 15,27,63,15,29,62,18,30,60,20,32,59,23,34,58,25 + db 35,57,28,37,56,30,38,55,32,39,54,35,41,53,37,42 + db 52,38,43,51,40,44,50,42,45,49,44,46,48,45,47,47 + db 47,53,12,54,53,11,53,53,11,53,53,11,53,52,10,53 + db 52,10,53,52,10,53,52,9,53,52,9,53,52,9,53,52 + db 8,53,52,8,53,52,8,53,52,7,53,52,7,53,51,7 + db 52,51,6,52,51,6,52,51,6,52,51,6,52,51,5,52 + db 51,5,52,51,4,52,51,4,52,51,4,52,51,4,52,51 + db 3,52,51,3,52,51,3,52,50,2,51,50,2,51,50,2 + db 51,50,1,51,50,1,51,50,1,51,50,1,51,50,1,51 + db 50,0,51,50,0,51,50,0,51,50,0,51,50,0,51,45 + db 0,45,39,0,39,33,0,33,27,0,28,22,0,22,16,0 + db 16,63,58,55,63,56,52,63,54,49,63,53,47,63,51,44 + db 63,49,41,63,47,39,63,46,36,63,44,32,63,41,28,63 + db 39,24,60,37,23,58,35,22,55,34,21,52,32,20,50,31 + db 19,47,30,18,45,28,17,42,26,16,40,25,15,39,24,14 + db 36,23,13,34,22,12,32,20,11,29,19,10,27,18,9,23 + db 16,8,21,15,7,18,14,6,16,12,6,14,11,5,10,8 + db 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + db 0,0,0,0,0,0,0,0,0,49,10,10,49,19,10,49 + db 29,10,49,39,10,49,49,10,39,49,10,29,49,10,19,49 + db 10,10,49,12,10,49,23,10,49,34,10,49,45,10,42,49 + db 10,31,49,10,20,49,11,10,49,22,10,49,33,10,49,44 + db 10,49,49,10,43,49,10,32,49,10,21,49,10,10,63,63 + db 63 diff --git a/u2/TWEAK.ASM b/u2/TWEAK.ASM new file mode 100755 index 0000000..ac4f19b --- /dev/null +++ b/u2/TWEAK.ASM @@ -0,0 +1,350 @@ + IDEAL + MODEL large + P386 + +CODESEG + +PUBLIC C tw_opengraph, C tw_putpixel, C tw_setpalette, C tw_setstart +PUBLIC C tw_pictovmem, C tw_closegraph, C tw_waitvr, C tw_setrgbpalette +PUBLIC C tw_clrscr, C tw_setpalarea, C tw_getpixel, C tw_opengraph2 + +PUBLIC C scr_seg ; videomuistin alku segmentti + +planetau db 1,2,4,8 +scr_seg dw 0a000h + +; avaa 320x200 tweak tilan, 4 sivua, 4 planea + +PROC tw_opengraph + + mov dx, 03c4h + mov ax, 0f02h + out dx, ax + mov dx, 0a000h + mov es, dx + xor di, di + xor ax, ax + mov cx, 8000h + rep stosw ; clear vmem + + mov dx, 3d4h + mov ax, 0209h + out dx, ax ; 134 y + + mov ax, 5013h + out dx, ax ; 640 wide + ret +ENDP + + +PROC tw_opengraph2 + + mov dx, 03c4h + mov ax, 0604h + out dx, ax ; chain4 off + + mov ax, 0f02h + out dx, ax + mov dx, 0a000h + mov es, dx + xor di, di + xor ax, ax + mov cx, 8000h + rep stosw ; clear vmem + + mov dx, 03d4h + mov ax, 0014h + out dx, ax ; crtc long off + + mov ax, 0e317h + out dx, ax ; crtc byte on + + mov ax, 0009h + out dx, ax ; 400 + + mov ax, 3013h + out dx, ax ; 384 wide + + ret +ENDP + + + +PROC tw_clrscr + + mov dx, 3c4h + mov ax, 0f02h + out dx, ax + mov dx, [cs:scr_seg] + mov es, dx + xor di, di + xor eax, eax + mov cx, 1000h + rep stosd ; clear vmem + + ret +ENDP + +PROC tw_closegraph + + mov ax, 03h + int 10h + + ret +ENDP + +; piirt„„ pisteen ruudulle + +PROC tw_putpixel + + ARG x:word, y:word, color:word + + push bp + mov bp, sp + + mov ax, [cs:scr_seg] + mov es, ax + + mov dx, 03c4h + mov bx, [x] + and bx, 03h + mov ah, [cs:planetau+bx] + mov al, 02h + out dx, ax ; select plane + + mov bx, [x] + shr bx, 2 + mov ax, [y] + shl ax, 4 + add bx, ax + shl ax, 1 + add bx, ax + shl ax, 2 + add bx, ax + + mov cx, [color] + mov [es:bx], cl + + pop bp + ret +ENDP + +PROC tw_getpixel + + ARG x:word, y:word + + push bp + mov bp, sp + + mov ax, [scr_seg] + mov es, ax + + mov dx, 03ceh + mov ax, [x] + and ax, 03h + mov ah, al + mov al, 04h + out dx, ax ; select plane + + mov ax, [y] + shl ax, 4 + mov bx, ax + shl ax, 1 + add bx, ax + shl ax, 2 + add bx, ax + mov ax, [x] + shr ax, 2 + add bx, ax + + xor ax, ax + mov al,[es:bx] + + pop bp + ret +ENDP +; vaihtaa koko paletin + +PROC tw_setpalette + + ARG pal:dword + + push bp + mov bp, sp + push si ds + + lds si,[pal] + cld + mov cx, 300h + mov dx, 03c8h + mov al, 0 + out dx, al + inc dx + + rep outsb + + pop ds si + pop bp + ret +ENDP + +PROC C tw_setpalarea + + ARG pal:dword, start:word, cnt:word + + push si ds + + lds si,[pal] + cld + mov cx, [cnt] + mov ax, cx + add cx, ax + add cx, ax + mov dx, 03c8h + mov ax, [start] + out dx, al + inc dx + + rep outsb + + pop ds si + ret +ENDP + +; asettaa videomuistin alun + +PROC tw_setstart + + ARG start:word + + push bp + mov bp,sp + + mov bx, [start] + mov dx, 03d4h + mov al, 0dh + mov ah, bl + out dx, ax + mov al, 0ch + mov ah, bh + out dx, ax + + pop bp + ret +ENDP + +; kopioi muistista unpacked 1bpl kuvan 4planen kuvaksi videomuistiin +; void tw_pictovmem(char far *pic, unsigned int vstart, unsigned int bytes); + +PROC tw_pictovmem + + ARG pic:dword,to:word,len:word + + push bp + mov bp,sp + push ds es si di + + mov es, [scr_seg] + mov di, [to] + lds si, [pic] + mov cx, [len] + + mov dx,03ceh + mov ax,4005h ; w-mode 0 + out dx,ax + + mov dx, 03c4h + mov al, 02h + mov ah, 1h + out dx, ax + shr cx, 2 +@@l1: + movsb + add si, 3 + loop @@l1 + + + lds si, [pic] + add si, 1d + mov di, [to] + mov cx, [len] + + mov ax, 0202h + out dx, ax + shr cx, 2 +@@l2: + movsb + add si, 3 + loop @@l2 + + + lds si, [pic] + add si, 2d + mov di, [to] + mov cx, [len] + + mov ax, 0402h + out dx, ax + shr cx, 2 +@@l3: + movsb + add si, 3 + loop @@l3 + + + lds si, [pic] + add si, 3d + mov di, [to] + mov cx, [len] + + mov ax, 0802h + out dx, ax + shr cx, 2 +@@l4: + movsb + add si, 3 + loop @@l4 + + pop di si es ds + pop bp + ret +ENDP + +PROC tw_waitvr + + mov dx, 03dah + +@@loop1: + in al, dx + test al, 08h + jnz @@loop1 + +@@loop2: + in al, dx + test al, 08h + jz @@loop2 + + ret +ENDP + + +PROC C tw_setrgbpalette + + ARG pal:word, r:word, g:word, b:word + + mov dx, 3c8h + mov ax, [pal] + out dx, al + + inc dx + mov ax, [r] + out dx, al + mov ax, [g] + out dx, al + mov ax, [b] + out dx, al + + ret +ENDP + +END diff --git a/u2/TWEAK.H b/u2/TWEAK.H new file mode 100755 index 0000000..07b36c4 --- /dev/null +++ b/u2/TWEAK.H @@ -0,0 +1,12 @@ +extern void tw_opengraph(); +extern void tw_closegraph(); +extern void tw_putpixel(int x, int y, int color); +extern int tw_getpixel(int x, int y); +extern void tw_setpalette(void far *pal); +extern void tw_setpalarea(void far *pal,int start,int cnt); +extern void tw_setrgbpalette(int pal, int r, int g, int b); +extern void tw_setstart(int start); +extern void tw_pictovmem(void far *pic, int to, int len); +extern void tw_crlscr(); + +extern int far scr_seg; \ No newline at end of file diff --git a/u2/TWEAK.OBJ b/u2/TWEAK.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..eb8059f7fae1d9e234228cbafffa25910ee06fcf GIT binary patch literal 2733 zcmZ`*4|G#^75=`wG)+VL4`?Z+wqx&ifL0^x!->@0WY; z_ucQ_`#Zn)OEyeGl3MGuFE6lHRh$at1IST30;^l|?d|RUwX2)`f&Ba$f1tgowI#o( zVByYCI&2p@I-TV=(h5V0#9ZA5;6csYv%NbVmYAwfb*@m24tI$&ZAT)?|44(vySuGO z@RitAyHQ(S(Ez}hz|?LtOeJMrceN+H(+JZ?hLzi<0!;P=*ZEr8{4I@v`nCs6z}uk& z*iPkO@wO=fTQ#_?BiPpTkiR(yM07Mm&=d`A_XpeRoBhF{{|xX=9oMr3Zx7Z7g1JPB zj_Re`ni_(woooGTi-@OnSQl?-Zf*C+T5AE4bv#{)TeRZq>YIX{fnMSZI+i6^`nARa zjjONqwx4L!DSCQCbD+H;paLU0rk9S-RUh!zU;Ws*8f9*6SM~ur{x@6S(!x2wV>+HH z&6#~tQ?{+q2&Bdk3(7-A*q-I%n)_EHoFOx8qggOvUP35I%;|D=ZWXp>XKOZ-LzBdw zA@(eJtT8Vq<{6O~^F9&th@_a88}kxi44Gg%%OYllQeYc1+H9_cqR#s{q6Z4KKs)>N zK#>;M%$<5*krsHK8?=7U^$HLZ)eJepV~HZ_c6(yFeL|WLi%IwM;aK8+ZVpX`?fit- zL_7V3+m|TdRGB^lNyvm1(~yiTq+vQHBO6mOL!vq2<%*RjYd&V;7WvG=ZL&?XF%NTa zhph8)Cko{ANi4(y6v}#+te-*=?#3c45$_)HZ1^-B5-F8P89s~8OLRGwq7rtvQ4B9i zP$dx+F4Up|_Y1O8kO$zwYTS!23ZqdNUqUt33fdy*m$3@%Sc9M-9caQjLBE1#d`%b| zgs~B=cnoa_3v-Jww+i!dVQxn!zANmVcnG_&9?#%m?3T>$OXl-<1TRSTUVH;TMhN?` z2|p2q9&ARRDEu7XMnAUUWl`FXCoqWb;MaH(2hojJMfE6l;5B>?BclEWp29Jy@D`rN zajEjQR5^h?ctF5*S}4L`%*rP?@N!h2HjUx?s+4B!L& z5|^d&6{&a?hoJBMVC7Mya2RQP4O93!GC6{2d;?j06WKh59R3-(Jb^sE zgPA-j2mBP~@HB4cDDL1H%;#AYa10B09t(K^g&ao_|A|F>4~zLeKEr=wDL+6lKZKK4 zP|mAZ&i|m2pqr$Z2C7t8LnCWxlH;Dpl{B-CllTCwY+y3iFojJ_V>8p)%E@fwRCx6hY)C z*ynJ0MNEsT_=nDSxZEOtU8x1Vp$y?q627Ne^(BJtk8fW&eVsfwJ%d^Vng)G zRh%uYrb(+J<1H(`UR`SJr(^dC$}ZAiG-LO`K_y~HjSgV<)>n!?Dmu`Q4dZ(Uey2o| z4AICGPjpx#7){ZSCrw2(GHo;(Ns{j=3*ux^D+p&Aq3NyB1k=XX>>Z9Mcs*^nI()HU zk3a`RHC$)fII0wM{SfFeM8z9?*AOl>51uqC$A5cLIX-yOpd1fZT4sk*S4~J9QNpFB z+Z1%2>@h~;{O|;RscG=M{l59jza@T0I$J%u+8k5U4)zlVjH5n0p#3I6yJusp~5^PbK zsK?O9=->sza~lsUr#}>Q<6#O-I1z*4CctnVFx~_x*8%elz*m=;w`zFcPs+s?%pI3y y30{s(5Np|VsaUq*lGb~;)OzX2@Zwz=I9R9h;CgvB$@8MhL!VRmXqWuC4E`6q@&+yd literal 0 HcmV?d00001 diff --git a/u2/VECT.C b/u2/VECT.C new file mode 100755 index 0000000..ea006eb --- /dev/null +++ b/u2/VECT.C @@ -0,0 +1,299 @@ +#include +#include +#include +#include +#include +#include +#include "tweak.h" + +#define SX sinit[kx] +#define SY sinit[ky] +#define SZ sinit[kz] +#define CX kosinit[kx] +#define CY kosinit[ky] +#define CZ kosinit[kz] + +extern far char (* far vmem)[160]; +extern char far pal[768]; + +extern clear(); +extern init(); +extern shadepal(char far *fpal, char far *ppal, int shade); +extern init_copper(); +extern close_copper(); +extern int far cop_rotatev; +extern far int frame_count; +extern far char * far cop_pal; +extern far int do_pal; +extern far int cop_start; +extern far int cop_scrl; + +extern int do_poly(); +extern int getspl(int where); +extern int far sinit[1024]; +extern int far kosinit[1024]; + +char far fpal[768]; + +struct object { + char name[100]; + + int pnts; + struct points_3d { + int x; + int y; + int z; + int xx; + int yy; + int zz; + int xxx; + int yyy; + } point[256]; + + int faces; + struct polygon { + int p1; + int p2; + int p3; + int p4; + int p5; + int p6; + int n; + int color; + } pg[256]; + + int lines; + struct lines { + int p1; + int p2; + int n; + int col; + } lin[256]; + } object={ + "Cube", + 8, // points + { + {125,125,125}, + {125,-125,125}, + {-125,-125,125}, + {-125,125,125}, + {125,125,-125}, + {125,-125,-125}, + {-125,-125,-125}, + {-125,125,-125}, + }, + 6, // faces + { + {1,2,3,0,0,0,0,0}, + {7,6,5,4,0,0,0,0}, + {0,4,5,1,0,0,0,1}, + {1,5,6,2,0,0,0,2}, + {2,6,7,3,0,0,0,1}, + {3,7,4,0,0,0,0,2}} + }; + +struct polygons_to_draw { + int p; + int dis; + } ptodraw[256]; +int polys=0; + +int light_src[6]={0}; +int lls[6]={0}; + +int cxx, cxy, cxz, cyx, cyy, cyz, czx, czy, czz; +int kx=0,ky=0,kz=0,dis=320,tx=0,ty=-50; +int ls_kx=0,ls_ky=0,ls_kz=0,ls_x=0,ls_y=0,ls_z=128; +int page=0; +int frames=0; + +vect() + { + int c=0,a; + + tw_opengraph(); + + while(dis_musplus()<13 && !dis_exit()); frame_count=0; + while(!dis_exit()) + { + a=dis_musplus(); + if(a>=-4 && a<0) break; + swappage(); + while(frame_count<1); frames+=frame_count; frame_count=0; + cop_pal=fpal; do_pal=1; + + calculate(1); + draw(15); + clear(); + } +// tw_closegraph(); + } + +calculate(int k) + { + int a; + static int px=0,py=256; + + getspl(4*256+frames*4); + kx=kx&1023; + ky=ky&1023; + kz=kz&1023; + ls_kx=ls_kx&1023; + ls_ky=ls_ky&1023; + + ls_y=kosinit[ls_kx]>>8; + ls_x=(sinit[ls_kx]>>8)*(sinit[ls_ky]>>8)>>7; + ls_z=(sinit[ls_kx]>>8)*(kosinit[ls_ky]>>8)>>7; + + count_const(); + rotate(); + sort_faces(); + } + +count_const() + { + //matrix equations: + //X Y Z -> nX + //X Y Z -> nY + //X Y Z -> nZ + // + // 0=Ycos*Zcos 2=Ycos*Zsin 4=-Ysin + // 6=Xsin*Zcos*Ysin 8=Xsin*Ysin*Zsin 10=Ycos*Xsin + // -Xcos*Zsin +Xcos*Zcos + //12=Xcos*Zcos*Ysin 14=Xcos*Ysin*Zsin 16=Ycos*Xcos + // +Xsin*Zsin -Xsin*Zcos + + cxx=(long)CY*(long)CZ>>15+7; + cxy=(long)CY*(long)SZ>>15+7; + cxz=-(long)SY>>7; + + cyx=((long)SX*(long)CZ+16384L>>15)*(long)SY - (long)CX*(long)SZ>>15+7; + cyy=((long)SX*(long)SY+16384L>>15)*(long)SZ + (long)CX*(long)CZ>>15+7; + cyz=(long)CY*(long)SX>>15+7; + + czx=((long)CX*(long)CZ+16384L>>15)*(long)SY + (long)SX*(long)SZ>>15+7; + czy=((long)CX*(long)SY+16384L>>15)*(long)SZ - (long)SX*(long)CZ>>15+7; + czz=(long)CY*(long)CX>>15+7; + + } + +rotate() + { + int a,b,x,y,z,xx,yy,zz; + + for(a=0;a>1) + (y*cxy>>1) + (z*cxz>>1)>>7)+tx; + object.point[a].yy=yy=((x*cyx>>1) + (y*cyy>>1) + (z*cyz>>1)>>7)+ty; + object.point[a].zz=zz=((x*czx>>1) + (y*czy>>1) + (z*czz>>1)>>7)+dis; + +/* + 1000,1000,1000 + + x*256, y*213, / ( +*/ + + object.point[a].xxx=(xx*256L)/zz+160+160; + object.point[a].yyy=(yy*142L)/zz+66; + } + } + +sort_faces() + { + int a=0,b,c,x,y,z,p=0; + long ax,ay,az,bx,by,bz,kx,ky,kz,nx,ny,nz,s,l; + + while(a0) { a++; continue; } + + s=(ls_x*nx+ls_y*ny+ls_z*nz)/250000+32; + light_src[p]=s; + c=object.pg[a].color; + if(lls[p]!=light_src[p]) + { + shadepal(&fpal[c*64*3],&pal[c*64*3], light_src[p]); + lls[p]=light_src[p]; + } + + ptodraw[p++].p=a++; + } + polys=p; + } + + +draw() + { + int a=0,b,c,f,x,y,z; + long ax,ay,az,bx,by,bz,kx,ky,kz,nx,ny,nz,s; + + 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 Mm9bm!10v^t18RfKhyVZp literal 0 HcmV?d00001 diff --git a/u2/X.BAT b/u2/X.BAT new file mode 100755 index 0000000..977662e --- /dev/null +++ b/u2/X.BAT @@ -0,0 +1,2 @@ +copy plzpart.exe ..\main\data +cd ..\main diff --git a/u2broke.zip b/u2broke.zip new file mode 100755 index 0000000000000000000000000000000000000000..cf14da3e49f3755622b0fa8412bdb0e3f9fc2b14 GIT binary patch literal 133698 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 )b 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 ygPz#jgJ + +IF (ccc AND 1) EQ 1 + +lc2_&ccc=$+2 + mov bx, [ds:si+0c200h] +lc1_&ccc=$+2 + mov ah, [ds:ccc*32 + bx + 0c100h] +lc4_&ccc=$+2 + mov bx, [ds:ccc*64 + di + 0c400h] +lc3_&ccc=$+2 + add ah, [ds:bx + di + 0c300h] +ELSE +lc2_&ccc=$+2 + mov bx, [ds:si+0c200h] +lc1_&ccc=$+2 + mov al, [ds:ccc*32 + bx + 0c100h] +lc4_&ccc=$+2 + mov bx, [ds:ccc*64 + di + 0c400h] +lc3_&ccc=$+2 + add al, [ds:bx + di + 0c300h] +ENDIF +IF (ccc AND 3) EQ 2 + shl eax, 16d +ENDIF +IF (ccc AND 3) EQ 0 + mov [es:ccc], eax +ENDIF + ENDM + pop di si es ds + ret +ENDP + +PROC C setplzparas + + ARG c1:word, c2:word, c3:word, c4:word + + IRP ccc, <0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83> + mov ax, [c1] + add ax, OFFSET psini+ccc*8 + mov [word (cs:lc1_&ccc)], ax + mov ax, [c2] + shl ax, 1d + add ax, OFFSET lsini16-ccc*8+80*8 + mov [word (cs:lc2_&ccc)], ax + mov ax, [c3] + add ax, OFFSET psini-ccc*4+80*4 + mov [word (cs:lc3_&ccc)], ax + mov ax, [c4] + shl ax, 1d + add ax, OFFSET lsini4+ccc*32 + mov [word (cs:lc4_&ccc)], ax + ENDM + ret +ENDP + +PUBLIC C set_plzstart + +PROC C set_plzstart + + ARG start:word + + mov dx, 3d4h + mov al, 18h ; linecompare + mov ah, [Byte start] + out dx, ax + mov al, 07h + mov ah, [Byte start+1] + shl ah, 4d + and ah, 10h + or ah, 0fh + out dx, ax ; 8th bit + ret + +ENDP + + +ENDS +END diff --git a/u2orig/ASMYT.OBJ b/u2orig/ASMYT.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..cccfe42693ea5329f51b6de495657daa404467cc GIT binary patch literal 55949 zcmeHw2Y6LQ7ww!LLY0oR&_WR-O$9-@^dd+{K!MOh4@IO2mmYfPNRdcTKvA(Eh$x|m z2&f=Yu?Iy&uwX$zQQq2nW^M@q{e1uboTy+9B;6oZ6O7-XNkmQ{CG)>eSwD(5hjhKbCuMqAr`A=eWY^KB%e~nq&)KMs#zzT}=!L z+paDKhi%sogF?3lRuze1+ttGD4Xhq+Z(xmZdxNWne?PcdrthnVpKovtF);LeL#l@J zhg1va52>DsUqcK~$0z3&!iwsiIB4vk{zLkRG*K(b5x(Qa#BIs>@J){HBl?WQmx(=w z_ZU%lpXe0$HYdJyyYo{#SejR^5c-4 zbRx>eh><;pkDQk-?$>9cjIK2n(B^4dG)jsRzAp+3S5$J6vSGCd&R$mJ=JgwC-N>1g z9s7%7y$t?x@K!P2vW3T6#d*sR*?6l2Z#lxIf_f^X5>VMrTHFh{10^j+M5UDy+0#mk z9BE}l&a|>3S6ZyNA+5Z~m)1xWNNX(e?rS0n?&~TF@9QS!r1ul^(i6mz^!{R5`T(&a zeV|yGK1i%iA1qSRhltelq2lrMM6oe_n0O+6Yf`lEoisaFjW%8JL{biH*d5z7Y7%Wm ziHq{P2K-%`+Neg~yrMR$N1M@NyV|G`ZRQYLlXAj@)2@BJw(ZGeN>XmxZr!fgJP~|=8@vf@3@jn0Sa$oBfU0O7|r%|yA;H4EvDga*gc8%I& zck6m>>$Ri(h4;OXR1o`fV1IXf!RMwg=A~~-Ic4FLKBRg`^^qDNHAHGesWGJ{l$ug% zCR1~r?ha2a{w#&lgIiY~*HWi@WNIZ-Yffz_wWZXKQhQ1rD0QTCFQ-nNI&Eu zjZb+deDZna2j}Cje1sgM^Bj`#klf?6rKqZ(u)?nyehbK>djn9xn0)}*P(C1T`QiXHyU|Ck> zCl}speuT2M34NLR4C;)59E9ZR8hKY=g^;y@@Ea`8rp~RhqqEF4kUqFRhJJ7@4gCoH zGPoWv5VE3;hc812A?K54;C7)OHxblU^r2RR+Yf3=s8yjBhFThKf2bAY7BScYhc>%` zrk0y~{lOi;|NRGdCj7yD3qH7`Y1@`N9oheIUqt;9cT&`OaaYE@BK45mS8}h({bytD zN*gtzUX>E{u)#!q?iDHcwOW%$>Q7}bWFb$aKF3p4-|vN;TywRFKrZCDsrRo}kNg0n zx}5IfbSI}eD%IBMj__3L$`nqZEq$z9YLkJbJX5C6z_+}jEhyXaq%|qsPU$wJTPf9` zR2``rrK(6(DBZ#-j?&FCRaWVyK&tegNfkp=1)a*v6icZbr?N<8D3wMkMJWcUBvJ{a z;z-3P6-By{QV~jpIThkmP^AK4DSwtJjG{L5@!?BpJLEI`YitE<=`-b%DX&a7aLOZ7 zZkckalrxxe{AmhubL!)BDSOI#9(k@CZcwMrt8&5%ox7_qL)qFwUS(3BL7gynAO|72 z`qL|rgpebG7m`a~3QnNUMN54}*Ip8{1y%J;*=aRT9+l0o+bqwXol`WWY@DJvc`CUo zIbq4pGKEnbM<0r%wuYrNuRi4&|H5a;Q2|>4`}(|rOj#kx{F4-<>cgcuX{#x*dyZyaK-cDy;u1Nn8{)#?2v#}RXk;h^Qjn;1p+qfBSmO3aeT03XHsoRIQ`*v>@&woZ)LdF>Q_8YBDK&zn zOLKczrVKTWWy{KDvK%*=^r4ziTIg2w8p{xN`SJl9y73LP!17f5sZO4G5yH?}DyK3f z&ml9xtv>f4+@Wyq!aWUlIXneVhoTSauEG=dV!@A!RMnGn2X=&$v)BqS zeJXXZ)YDQgOx-^@0&ob(Hy}TOoDp&$*qLDWg1wx`yMchJ z@7y^=>v!rDa8<9q62cEyiM$&aGDK@9UTVpf)iR8jX+sOKz%tYKAwpAYD=D|6_WJ+z zZosChJ~E$D;97wH*IyAt-VF@X1x%L{RdBShkGvZQz8UB*U+;y>e)+a9{KWva!b#dj z0{+m84Ovdmjj`TkZ)-$xowTwKRr^{8!gmFjk#__5&4_BD}i&pdh{ zl!EoZp52IAwd=Wzq?QdPIh;1_ZJ#h!m9mx^7=_i#}i92D>;qX!-eGXD|72f{BS zGHw7b2qNzWSioyFAHED%{BrAx*8;pFoT;t+6WK0Rh2ZAwz}@6uN>IFp)`PD|s#Tx>E1qnl)F5KEA4k4txdXJ^D}q4wGp~ePPUPJ{=Ai_UaRYh?fqw19Oa1Ok4~&sTm5Xv@+(6*H zYlRI|)i=ilcLdk2r{Mzu#UK76Ad9U4GxBaA@@^n(rh(G&YC&Um1BnLjW={XOIR&Sv zsxPjlf8^z*{-rmoWnkEVUb%u4F!fIwJ`foPJ(%qa+!@c|XDS3#XN(^)B>Jc@OP&c1QdT3Zv(=21(^R=?*@cvn3idq zuIZWCOoT-+bDFu$JZ4@qpIN{xXcjh$m_^NEW(l*TS;{PJmNmQSIdEfZ-KxR3)w zwv2XGJF7j=0q6+aYjpxT16_dotownkKsT#95O4LcdIG(y-asF#uhkDou=-mAtbxEF zYp^xM8fqm1!>nJZsz)^*ZjG=;S`S#GtOu>p));FnFwPopJ!DO=CR%=Lk~P_yVokNC zS<|fuKv5>sjkL>v`)1Ym4=wwbj~Yy<}~-Ubc2vuUM}F zJFPTpm$lp4W9_wGv-Vl9Tl=jyfCJV+>yY)P^%n59b=W#$y#pMz(ye!a_pJAUW7Y@2 zht@~H$G|7nr@&`G25=ns9QXn_!T8ep(mKib$|9U%d~Hdbwj|D2L40FfiEpjHhAWTM zdxG|ZYx?ZLrOsFQQs();`5Asby%o%tUJK?uxTdf0%H?0XXWwRVzrP829%s}uI<21B z*XkL{=P92pJ!Sd4>B&}FPDlNmih4R3_0^AhI|21~JnAvk<}ucKs_Ne~8;vSH3RQh1s{C-Y0Mrf)MT;;P zEd#X=1JF_=aGTK=tp~Lsy|_K;ftH2Zmu}qFP@8ifw?EVlQG0YRw@uVWQCmfAmTbMK z9i#S4wrsMMqxMd=e7YT!t)gxtb(^W%P~E2LHnvfq-EA0XiyH*m=lX#*yPj&reSvnp zu4?J;QZ4_TfxbZY47#6?y@u>TWN#vS7V2YUZ$tf#?188+qCQFXPSj6Pe?|Qk^qQlCkEXA$m4sXr~qeJk~``MAHOewX^+ z+}syapDeu{@^PrYCa+3+G}@aXPbS=p$=ZLB9>di1$$SsDkw7LOo9Hb4Kx<(%y~q4nzILto+HWJx_V}!}&o= znf*@b@zT=?^*CjIL!XiMGUu%^air!* z)sea*l}BoiR3E9o1*`-~5t1?_g*b=RBB{oitRQEwnw-YUatf==Nvt?0LVJ<|9SFn%%489y068fT5~jc<)_jMK)~##hEk?u<@4hrg6|XV7y_xZtOGm8hec0Mw+qHc-7cpyliYYUNW{CFB)5n=Z)u#XN}Fq zGsaWKCgVxt31g$N-gw-2%vfin8f%S5jTB>zvD#Q=tTa{_4;#ykWyVrtiLuyNWGn<0 z7|F(bW1cbBm}AT~W&tyeBx8m#9hhcJHKrJofk}qnmPMqT4Z zs_HMascYP2+zHe%Y8!U|wTzm;?Z$1!tw0T`L(m&G5z@4zMCH^#5xS8`v%8Sewt$N)YQp8}r%9|Io&ABqov zW5D~sd%(LuI&c(t2RH&8X1p!l7HG7gDD;vnOII3V6&>=%UB8T$m`HHE!`ut#CH zkk}<8(hvq%VyBRJRcO2-Gl3W*nm#1=t#LE(8pcn)}$@gP<8 z8DfU@=Gx6az$mks$hszM_xlEqaNbB3^VC-9%S$zqn6y z5uHURaj)noI*9h7ooFlCh}PmB(NeS!cZ=qt8G>6k5sgJ7(NHuH^+i3vC+dp3#GRs! zs4eagwM0#EySNRwRn!pGMKw_ss3L9=apGp6vbaf90xF6MKzR`hloMrvGC*lj3Wxzp z0wsXrKrx^w<3@3#D8eW#2!$90g+u`%kzWLnPh5$-;;-S#BlVu3{otBDdvK}q6~2^t z{%?MUpHFWE^QG5=S@$Z zN&uAvDiKsNsDzZ}(n6)C9G9T-T$(C!$+`(;j7nM@%3KvLebrD7YoI(*sk|NKvlhx} zZIstLQEuy^{8A~dkMi6Q<+?G-cT<$}<|ywiL`kaZ<2$!R6=;pB&=ysqJ*q}WRFO`o zDqT=z?nl+>hAI?~s?-Zrst>AGKUA^)sA>aIiSWIC!;D)?Djyr`*NTy-Vtb@UkS9?uc}sjXP{kAQ!V{2)$;ES^aZkK(EWt$ zHDnJWdlT8SP#+_E8|rst4@7+t^+~dKqJE0{E9$qX|Dt}3`ZMa+sDGn=?nCbLsPCgb zkov;UxL>6H@pJAgsn4Xo^Cb79)SrIMeJk~`-*A6R{Vw&tXSpw?K3RG@^erXTb_em^jz$&=Yiu+?t4CV6C)d6(oP2Wi zi^AzA*S`crKn%-)(hvqD56VF(lxN9M5#oU)L}iExk`%WcHd1e-;z-Srsv~trDv#72sXkJFLs$ut zA|z!<3ULIhMN*BUSV4|vH93}*<#<+^6IgNjp*=}~PJtGk#;SA%^yy4isSJ-|i054dFfVO&P>vhbcDGH&4Sj~n1O@C|!h z@52Wo;|79na^?GWQ*}|1aRdLBaRc{~17D#}y}(aV^#eaoH3a0>Nc)v_Np}%JBkv&p%<@KtHPLIr@Kgoev*~j2n<+#Ppak zJ%%hYZh(G~m%q=`uhV+W2>#w4{5@R%Dj)o1T>o+}m;cQX1L5N+!p|GbmtG6ayV>_BAP0F9^nw~iZVPgUJN zJ~)6NeBh&YVgA>L4@AZdM8*yLlgAAR{1)ok+3Xy4Zac4Cz%FbTwM*Eg?6P)wyOMpg zUB#|$-)7gc>)3Ve`gS9`seQNI(r#_Hvpd?I?ECC)b`QIk-PcaA2ik+}M0>dXfc>C7 z)*f$9uqWA5>}mE4o8Q3q_RqBE*z@dUd!fD9UTQD5AGTN8tL-)RqxM>Ro&C7I-ri_G zX>YQhwx6*#+t1n0+gt1x?XC7Ud%OLzy~BRRe%0P-r`fyg-S!@Pul<_6&wd@)Z@*z5 z01n!RfH&>8fVb_#z!Bgb;3$v|ybHX?c;9~CJ_dXMe8~97{>c6q_yqVA_zcJZjsu_D zUjQe7FYS}SSN19UYv8nf#{S0s*8a}^-ac#pVE<_UWdCfRvwyMA+ZXJM_HXtj`*-^f zTVTA8<=BYj;yF=Hw3FS*>Ew3uIC-7?PC=)TQ^YCi6n9EGrJOQOStr)1;N0Zg?A+p1 zb*ekJI=4G_ICY%69G}y`Y2-9~-JEx=5$?4*Bb-Ft}o!(AAr@u4E8R`sk zMmnRMG0r$=g5!6lIMbaZXSOrfNp==GOPpoS3TKtG#(C6P=REFgbe?pcb~ZcDJ6oKs z&UR;q^QyDU+2g$C>~{`0hn%;Z!_GTSy7Qj%f%B2`iSwzG;e76#a85d>oYT%3=UeA{ z=dAOi^OJMV`Ng^5Ty%bOE;+wDmmPuj+{C0V3R&a1QEoOM+Rg6faB~8=+}uDO_XZ#@ zkdKkyl_=m|8=9A29Y+@OvaK6nlR(yUG3abL7};_5Xa?mais2z|1f3k@Hwe^>5Cr$@ zFg)^DvLvrgULRc{om*a?yt@3jqJnNAx3GJoThuM)7I#ayCEZePX}649&W&};yA|C^ zZe{moH_ol%R&}epx4O5vHQicnZTC+1F4yPQcN@5k+$L^Qx4GNGy~l0kwsG6J9o&v? zC%21xzuVRA?)GqdxqaNeZh||&9pnynhq}Yu;qFLxl>4AN#vSL5cPF@hcal5Bo$5|^ zXSg%nS?(Nnt~<|7b{Dt{-No(_cd5I~eb`;$u5?$qtKCQ3HExRgsJqrpb=LupxsSW+ zfer3P;0fSK#wK@@`xL#WgrQ)<} zaq<*oVhysg8d+L}jIBThmm{0Ykl7{3^de+^0g&v@$ED20CCzbXNH>~ zE_;eQ8J9l^H(??$0eFZp9=B#3W2~z&2DdB}djD9(q+`bO(G%Dj-PlR6Pd9fe&PO*m ziEr`ju$#O{-Q?wblj#=A8@!HhE!|YQmCv}(y3e^UxG%a}-Iv^#-5u_$ZkoHx-Q&LI zzV7aK54eZiH{G}0BkoZ*-F?qJ=6>LQSnl~yI;6px+mRJ?rHao`>p$(d)EEI z{mK2=J?EZxFSx(Dzqyy(Kitc%fcs^7w&$QE<6l#I*}P~kyO+bu3FPu}dwIMYfV^Hl zAU{w5Cxy+z()Z;7|mTjnkI9`;rME4@|TYTyxI4Uhsn3anK~^|AteyO{p~Kz~L8Zdw9v zokm~pO6c$C1{3H=vOt!|;$VPo`cRx}7%-e~{sYJfJ%G{3*I0fC5AkF0s|PVP>`}}K zc^H`=g?te75aQR~dEfu=*6R31@i%=i7kuK92LJA}91**YMM%C%K%TAw9ojes=WSlJLyv ziA}<@dWfIXXxx>NxJQY&XM=DT6L81-paA#qx_e!{`@GI5+8t2D+n}ho^zQbWc}=`V zUISEwx~LGfQ88}!ZuP38s#NjfP;Dxq`oy9dmGMfUN|iw6DvCy@5Gq@KR61%vWYZxV z4OcZ5hDXhWY$B+6xX8@{Rrhmf41aQe1b#r{c-H+M_zw6M_y#z`IE@CB@O1#E(5U|B z@Rb|HNi^7mFBvCX!WY2jz;PhM{S5dNP5dYB$7t$5M1%hUn*I0D_`i!T;2m@YhtVOt zg^uAMx`+MfCib~|(P8XzccSyy;ciDqven(_H}WUv2e_5rz`;BPNAnBkxbqoY&yV1Oz7JRQ9p{Miw)3WQ(0Rjo9ggZ=XSb8) z>~vmnUWNm^4Q}if=LP3E=UKS5PdiUJo8aO;0Y`T|+}+3E^rkv%;ru@8q`(PZlj za#jK>oQHwsz%pPdumo7lSmY2EG8Q-z$#AG8<~thm9F4hfxFzN|60_li&vs@pW;%o< zU{xE$d3iaIHR2hod@9Dk8p;=$xn2KID_Hv4}{yF z;PiF+IK3bP;vojQI`=~sbb>tS0FltfY2~zpWN7X*bs9Sjo%#?GcR^6pg0Q$10;4K~ zMrEfGL`ONuk5Z5!#he=H(1_OhjLUdn{rNhr*q0Y_k*tPWA_Gn**&4NJRXmuYH`<-@eX!n{>@HOme(DHG1W&0+(BD8%uy9`u*NxL}oei6HnogeBy zkDbfDkE;65^K;nIb`->qZJV~Rf46?KE?VcUbJkDR57zexp>zhJdrl%y&*xSKLh^i! zP&~&F)``OJ96{inHxY8@4Gy-m7lC%t5N78U4zRNg;dQnkxXyDbw2lm{6AY`fRt430 zM1|E^83?Sij6>@z;ov$HUWc%NgX|=8pq=>$wnLbARcHn+=@M(+!b+x*)z!M@02$i#R^_AaYN0#58M!Va)XqSEmjltJOqQoa%^z z6Ni{Ll@Q~moK+eTZHgm?O%cSc$&W}ixe=Wv8s4>InTVYCJH}^S!1%A95mE4ageN(T zz$9NH97zVkkbI2rBkv>Z$Wa6vc?+Qp4kZZj&g*;aD@4g7=~~k5{U@=Au$x;KO}}A33mMv?gbHp!;VlR>@9jp+f0HPTxo{eVcy8Q(>a!r`+DQ~ZAPoWq)1Yt~I-mxH z)W{rEBN$S{#q2)%)xyM#KY=hBe{k>&n#4#`7SCa-Cxu}69#cTS!Gur>xNwq#EF9<1 z3LkSgh4(S>^e85yQm}+Wn6|nfVG#CW+G`r7$L>J5f^7&$@B${{ZpH-NO_;X30TX%G zVRCN@A_uJEhylwm8F&$<2G7St;n|opJcFYGOvaSr2^RA1^`6>kn{h; zXa8S0_g~KbZzWoB1OSQwKv4iF4uC{6%#+Ry zI(2X|^$0bc`dX8z^;GK6$<#ERIvJqp)HI=5PpPI!)ikY|Kyer(9!6A#%+TLatOf!d zM==|8)CL*1fg(3h>;{V5pkp@#qc>3ehVbYOS;ub}Ax311;Sh}CAmcd5NDeZVLw2g_ zJC^knJ%D%)?LfgD2welXA9L2Pg#Mnm-5K$0rDxzl^!d}7?ebB`S?zwzX`g~ioX&IE zX(szTzUhl_o9G6wKmn%t>W^ZU`eQsd{RtHDr%}{t-uV_pAZbH9ZFLNs^#U7oG|A=a?)WPuGo7Q+8=4bo4bq-xG*04q`LJf(G-*Ot)NKFdis{l^o>a&7oNIo5T8j$nUX{I`z zLEkHyB~4LyLho1bZc)@6hwl$fWzKt!=RTf1+}-Gbj)VH}@HF75JQa8vIzGbmOwju&col(; zp$Wv3F_DgVtNP+Pbg-%( z=w2yM6$PoHFjb);s=@ViA0cWjuF! zmGKDXP1CID$JC7JO~%taTbkxdZ-tYx9rL7L!93|*a9o13qz_?^^xHf~`Y7f|zXvDh z1I&{CI5124bDk&tCFV(=;+fKCc&_xfaE@rc^bY{dnf}T68BP<;oc_f)4_she#4PHI zaHxX#4YR6)2=1pf$)*@=5@hE*TO`ZpaE71xOcb5%M?Uip$N|M^BYemB7W23%Y8&B9 z0H-m-`&!UUc^p|FYjk~dg>*J~ee&vPZuqa58~!`b4i|76tt{t<=ZAw?h@;9E55$y@ zH7jyFd5R`q9r5dKhof4@yo+PVH-Z~W(c@d0Z4e2sBckHnhZuSBaEJTAMIHbLdMI4( zk#Nh$AokuwIPg>9(9cBFzIlk{w+L?ka>V{yjhKLIAq&<+9&Cb8covdj3!)EhM>N8n z5EFY4uW&!a#UY4{!-#H}4$<)eM@at^GURhaM?A^V(9a-#;`a!u_#=lrKM&bLlS?ik zAme4U-zK6p+6Wp>GeWXK;81|N91yz*2gIh(o|(g8$5^F+(m)xY zEKrUSYsErNl@A2PuE^m;Z^|Mpb`=#8yE=!%zLi5^%MjSLAkb<Pe{GqhYv)?4MfHb6j7rJX!JlK#=mRaKxeAzE!JP}!v`Yc1|s7I{_W!is!&z0 z^5m(%Iiw≻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 F{vWXF^=AM8 literal 0 HcmV?d00001 diff --git a/u2orig/COPPER.ASM b/u2orig/COPPER.ASM new file mode 100755 index 0000000..c7a6209 --- /dev/null +++ b/u2orig/COPPER.ASM @@ -0,0 +1,300 @@ + IDEAL + MODEL large + P386 + +EXTRN C l1:word, C l2:word, C l3:word, C l4:word, C k1:word, C k2:word, C k3:word, C k4:word +EXTRN C il1:word, C il2:word, C il3:word, C il4:word, C ik1:word, C ik2:word, C ik3:word, C ik4:word + +CODESEG + +PUBLIC C frame_count, C init_copper, C close_copper, C cop_drop, C cop_pal, C do_pal +PUBLIC C cop_scrl, C cop_start, C cop_plz + +frame_count dw 0 +cop_drop dw 0 +cop_pal dd 0 +do_pal dw 0 +cop_start dw 0 +cop_scrl dw 0 +cop_plz dw 1 + +PROC close_copper + + mov bx, 7 + mov ax, 0 + mov cx, 0 + mov dx, 0 + int 0fch + + mov bx, 7 + mov ax, 1 + mov cx, 0 + mov dx, 0 + int 0fch + + mov bx, 7 + mov ax, 2 + mov cx, 0 + mov dx, 0 + int 0fch + + ret +ENDP + +PROC init_copper + + mov bx, 7 + mov ax, 1 + mov cx, OFFSET copper1 + mov dx, SEG copper1 + int 0fch + + mov bx, 7 + mov ax, 2 + mov cx, OFFSET copper2 + mov dx, SEG copper2 + int 0fch + + mov bx, 7 + mov ax, 0 + mov cx, OFFSET copper3 + mov dx, SEG copper3 + int 0fch + + ret +ENDP + +PROC copper1 + + mov dx, 03d4h + mov al, 0dh + mov ah, [Byte cs:cop_start] + out dx, ax + mov al, 0ch + mov ah, [Byte cs:cop_start+1] + out dx, ax + + mov dx, 3c0h + mov al, 33h + out dx, al + mov ax, [cs:cop_scrl] + out dx, al + + retf +ENDP + +PROC copper2 + + pusha + push ds + + inc [cs:frame_count] + + cmp [cs:do_pal], 0d + je @@no_pal + lds si, [cs:cop_pal] + mov cx, 768d + mov dx, 3c8h + mov al, 0d + out dx, al + inc dx + rep outsb + mov [cs:do_pal], 0d +@@no_pal: + cmp [cs:cop_plz], 0d + je @@l3 + call pompota + call moveplz +@@l3: + cmp [cs:cop_drop], 0d + je @@l1 + call do_drop +@@l1: + pop ds + popa + retf +ENDP + +PROC copper3 + retf +ENDP + +pompi db 0 + +PUBLIC C pompota + +PROC pompota + + mov [cs:cop_scrl], 4d + mov dx, 3d4h + mov ax, 3c18h + out dx, ax + mov ax, 0f07h + out dx, ax ; 8th bit + mov ax, 3c18h + inc [cs:pompi] + test [cs:pompi], 1d + jz @@l1 + mov [cs:cop_scrl], 0d + mov ax, 3d18h +@@l1: + out dx, ax + ret +ENDP + +PUBLIC C moveplz + +PROC moveplz + + push ds + push SEG k1 + pop ds + + add [ds:k1], -3d + and [ds:k1], 4095d + add [ds:k2], -2d + and [ds:k2], 4095d + add [ds:k3], 1d + and [ds:k3], 4095d + add [ds:k4], 2d + and [ds:k4], 4095d + + add [ds:l1], -1d + and [ds:l1], 4095d + add [ds:l2], -2d + and [ds:l2], 4095d + add [ds:l3], 2d + and [ds:l3], 4095d + add [ds:l4], 3d + and [ds:l4], 4095d + + pop ds + ret +ENDP + +LABEL dtau Word +ccc=0 +cccc=0 +REPT 65 ; 43=dy*512/dtý + dw ccc*ccc/4*43/128+60 +ccc=ccc+1 +ENDM + +PUBLIC C fadepal +fadepal db 768*2 dup(?) + +PUBLIC C cop_fadepal +cop_fadepal dd 0 + +PROC do_drop + + inc [cs:cop_drop] + cmp [cs:cop_drop], 64d + ja @@over + + push bx + mov bx, [cs:cop_drop] + shl bx, 1d + add bx, OFFSET dtau + + mov bx, [cs:bx] + mov dx, 3d4h + mov al, 18h ; linecompare + mov ah, bl + out dx, ax + mov al, 07h + mov ah, bh + shl ah, 4d + and ah, 10h + or ah, 0fh + out dx, ax ; 8th bit + + pop bx + ret + +@@over: + cmp [cs:cop_drop], 256d + jae @@end + cmp [cs:cop_drop], 128 + jae @@lll + cmp [cs:cop_drop], 64+32d + ja @@end + +@@lll: mov [Word cs:cop_pal], OFFSET fadepal + mov [Word cs:cop_pal+2], SEG fadepal + mov [do_pal], 1d + + cmp [cs:cop_drop], 65 + je @@l5 + + mov dx, 3d4h + mov ax, 3c18h + out dx, ax + mov ax, 0f07h + out dx, ax ; 8th bit + + push ds si di cx + + lds si, [cs:cop_fadepal] + mov di, OFFSET fadepal + mov cx, 768/16d +@@l4: + ccc=0 + REPT 16 + mov ax, [ds:si+ccc*2] + add [cs:di+ccc+768], al + adc [cs:di+ccc], ah + ccc=ccc+1 + ENDM + add di, 16d + add si, 32d + dec cx + jnz @@l4 + + pop cx di si ds + ret +@@l5: + mov dx, 3d4h + mov ax, 9018h + out dx, ax + mov ax, 1f07h + out dx, ax ; 8th bit + + call initpparas + ret +@@end: + mov [cs:cop_drop], 0d + ret +ENDP + +PROC initpparas + push ax + push ds + push SEG k1 + pop ds + + mov ax, [ds:il1] + mov [ds:l1], ax + mov ax, [ds:il2] + mov [ds:l2], ax + mov ax, [ds:il3] + mov [ds:l3], ax + mov ax, [ds:il4] + mov [ds:l4], ax + + mov ax, [ds:ik1] + mov [ds:k1], ax + mov ax, [ds:ik2] + mov [ds:k2], ax + mov ax, [ds:ik3] + mov [ds:k3], ax + mov ax, [ds:ik4] + mov [ds:k4], ax + + pop ds + pop ax + ret +ENDP + +END + diff --git a/u2orig/COPPER.OBJ b/u2orig/COPPER.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..211743a51f0874ac221e60331717550933b7942b GIT binary patch literal 3584 zcma)8eNa@_75|<6dhad^i;63XvRD%}jlbWgVgP!|VVb{OH&bjY* zKJGd9-goZrvB3swj@ReQEp~ZI3bzI`01Wr9X;@a5;c0BFT)nKOvLPd*w6dXbRb6dH zwkvZ-a3I{Du34KqH)dW}(8$Jub_1|d!oAzt2O=SwH{j1*ayTv>fXPhub`=(FPO*1^FSNr1ORr(cOBNUdHJPXjn&9rV&Wq|g@P@)sy=3DKG_A@d8W_5=0GIFvc6QVTdv445$1S9 z)Run zbnkFX-jc#|69da@>Kf%-=}rbN^|@IgAsvAg4R!VW7I*jMwX;jrUG)_;CSZu}u_13u z5_^=uin;(hRA6J@l>Tgu%NuHJKzpBS0MD`N*&3TF8k(%!Y<<3%N;S`L^8Y^MsjpjI zU)NM|4j8X{`XYL(06zT8Kz$PCv_$PKD+ccsFDaps_4IFw)0Be3gun8cJA zOkjH&<54U&T^p`zCMdc#Le~gF*V1*(%)KJ>IRVQs)f}|IeT7TEVwlutp>OMoJG@M3-T<*09nxlEn;raN8TbQUv+(uC}qEo31CUa7Y z+wCpQEtXkQ)OkTWo6KCNK(CyozSx&$k_@RR1CsUI53RIGz`ZGr1NhioP53+7{h2BpXhkjCg4$IVKg3R z>l1hk--HX(*g6vv;Xx)e_Rhg1Z7l{fJee#?~(V>RAIEsmoOC%NKjG~f(Z{QyrR zf(TB62=$G`?#r`#x3Ox?kFFiSBWs2oP|+62b1~-Skym4 zRnH?q{SZm&pD;kZfPw0tF-ZL@Qq;d8P5lT?^<#`yJ1|!LJ6!5TWT~B)s$POy?ZO=O zG78nJC{nM%uXbah`Y9Hv*Re$X7rw3DK)Kq3O7-7Zss0bu>McAbzQTBM8xzDGOceJp zN%Z0gLEM!Fnl6kqOPI(l%#g7p`aK` zo5hLXV7^5OdBvW>+(3?Z!F)gSA^{hoSDQbh0j=2UlSTvH3J&04MH>0KGr5up3DKLW z=?oylRFuiPbXCZ(62GTd&uB$)f5wuW;sP0J!@-!01!dBfgzG^EPq*b1cuVAxe`8>s*5@{|H$MQAI4lDK^e!A{i&cgL257cDUBY?xHGkPNFD*m10Imk(4Xd+Fe94eqvDyOHY ziPqC*+D2=3?!|@Kemb4&rwcxQmhf{aKP&unvX*5nOEXIw%MV$$vm9XgHOo`c3N^R@vIi$2*J9gQ$ z;d1hZv-X}P5m&Qp0kXG@BOPu)qg8Kfk8Ji_G zhcp{wi^P_Ymc&?*SP5y#j8%!%kT#I9kXVGY6vkGGts%|9I6>lske15WCb2D~4P%@r zabidt&NxZpq>z@**emU9#!+ XILIE}FPrXl2PKE!;HLAoNj~^Lj;WI_ literal 0 HcmV?d00001 diff --git a/u2orig/INCLUDE.ASM b/u2orig/INCLUDE.ASM new file mode 100755 index 0000000..c31276e --- /dev/null +++ b/u2orig/INCLUDE.ASM @@ -0,0 +1,40 @@ + IDEAL + MODEL large + P386 + +SEGMENT kakka2 para use16 private 'FAR_DATA' +PUBLIC C kuva1 +LABEL kuva1 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka6 para use16 private 'FAR_DATA' +PUBLIC C dist1 +LABEL dist1 BYTE + dw 16384 DUP (?) +ENDS + + + +SEGMENT kakka3 para use16 private 'FAR_DATA' +PUBLIC C kuva2 +LABEL kuva2 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka4 para use16 private 'FAR_DATA' +PUBLIC C kuva3 +LABEL kuva3 WORD + db 16384 dup(?) +ENDS + +SEGMENT kakka5 para use16 private 'FAR_DATA' + +PUBLIC C sinit, C kosinit +LABEL sinit WORD +INCLUDE 'sinit.inc' +kosinit=sinit+512 + +ENDS + +END \ No newline at end of file diff --git a/u2orig/INCLUDE.OBJ b/u2orig/INCLUDE.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..399b9e2f742e9d56bef4ab8d4ad70da8b7b1cd7f GIT binary patch literal 3301 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 +#include +#include +#include +#include "tweak.h" + +//#define DO_TABLES +//#define DPII (3.1415926535*2.0) + +#define LINELEN 41 +#define MAXY 280 +#define YADD 0 +#define XADD 0 +#define SINMASK 4095 +#define PLZSINI(p1,p2,p3,p4) *ptr++ = (psini[x*32+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+p4]*4+p3]) + (psini[x*32+16+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+32+p4]*4+p3])*256; + +extern int init_copper(); +extern int close_copper(); +extern int far frame_count; +extern int far cop_drop; +extern int far cop_plz; +extern int far cop_start; +extern char far * far cop_fadepal; +extern char far fadepal[768]; +extern far char * far cop_pal; +extern far int do_pal; + +extern int plzline(int y, int vseg); +extern int setplzparas(int c1, int c2, int c3, int c4); +extern int set_plzstart(int y); +extern char far psini[16384]; +extern int far lsini4[8192]; +extern int far lsini16[8192]; + +//int (* vmem)[LINELEN]=MK_FP(0x0a000,0); +//char psini[16384]= +//#include "psini.pre" +//char lsini[16384]= +//#include "lsini.pre" + +char ptau[256]= +#include "ptau.pre" + +int pals[6][768]; +int curpal=0; +int timetable[10]={64*6*2-45,64*6*4-45,64*6*5-45,64*6*6-45,64*6*7+90,0}; +int ttptr=0; + +int l1=1000, l2=2000, l3=3000, l4=4000; +int k1=3500, k2=2300, k3=3900, k4=3670; + +int il1=1000, il2=2000, il3=3000, il4=4000; +int ik1=3500, ik2=2300, ik3=3900, ik4=3670; + +int inittable[10][8]={{1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,4000,4000,1500,2300,3900,1670}, + {3500,1000,3000,1000,3500,3300,2900,2670}, + {1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,3000,4000,3500,2300,3900,3670}, + {1000,2000,3000,4000,3500,2300,3900,3670}}; + +plz(){ + register int x,y; + int *ptr; + long tim=0,count=0; + int ch=0,sync=2; + + while(dis_musplus()<0 && !dis_exit()); + dis_setmframe(0); + + init_plz(); + cop_drop=128; + cop_fadepal=pals[curpal++]; + + frame_count=0; + while(!dis_exit()) + { + tim+=frame_count; frame_count=0; count++; + if(dis_getmframe()>timetable[ttptr]) + { + memset(fadepal,0,768); + cop_drop=1; + cop_fadepal=pals[curpal++]; + ttptr++; + il1=inittable[ttptr][0]; + il2=inittable[ttptr][1]; + il3=inittable[ttptr][2]; + il4=inittable[ttptr][3]; + ik1=inittable[ttptr][4]; + ik2=inittable[ttptr][5]; + ik3=inittable[ttptr][6]; + ik4=inittable[ttptr][7]; + } + if(curpal==5 && cop_drop>64) break; + + asm mov dx, 3c4h + asm mov ax, 0a02h + asm out dx, ax + + setplzparas(k1,k2,k3,k4); + for(y=0;y +dw OFFSET plz_y&ccc +ENDM + +LABEL start_mask BYTE +REPT 200 + db 1111b, 1110b, 1100b, 1000b +ENDM +LABEL end_mask BYTE +REPT 200 + db 0001b, 0011b, 0111b, 1111b +ENDM + +PUBLIC C xx, C yy +PUBLIC C yy1, C xx1, C yy2, C xx2 +PUBLIC C ay1, C ay2, C ax1, C ax2 +PUBLIC C txx1, C txx2, C txy1, C txy2 +PUBLIC C tax1, C tax2, C tay1, C tay2 +PUBLIC C to, C from, C dseg, C ctau + +xx dw ? +yy dw ? +yy1 dd ? +xx1 dd ? +yy2 dd ? +xx2 dd ? +ay1 dd ? +ax1 dd ? +ay2 dd ? +ax2 dd ? +txx1 dd ? +txy1 dd ? +txx2 dd ? +txy2 dd ? +tax1 dd ? +tay1 dd ? +tax2 dd ? +tay2 dd ? +to dd 0a0000000h +from dd ? +dseg dw 0 +ctau dd ? + + +linecount dw ? + +ASSUME cs:lerssicode, ds:nothing, es:nothing + +PUBLIC c do_block + +PROC C do_block FAR + ARG ycount:word + + push es ds si di bp + + mov ax, [ycount] + mov [linecount], ax + cmp ax, 0d + je @@end + lds bx, [from] + les di, [to] + lgs si, [ctau] + mov fs, [dseg] + +@@doline: + cmp [yy], 0d + jl @@endline + cmp [yy], 134d + jge @@end ; y-clip + + mov bp, [word ctau] + mov ax, [Word xx2+2] + cmp ax, [gs:bp] + ja @@l7 + mov [gs:bp], ax ; x1.. +@@l7: shr ax, 2d + add di, ax + mov si, [Word xx1+2] + cmp si, [gs:bp+2] + jb @@l8 + mov [gs:bp+2], si ; x2.. +@@l8: shr si, 2d + sub si, ax ; si = bytes to copy + jb @@endline + jz @@singlebyte + mov bp, si + dec si + jz @@twobyte + + mov dx, 3c4h + mov ax, 0f02h + out dx, ax + + mov ebx, [txy1-2] ; xlo + mov ecx, [txx1-2] ; ylo + + movsx esi, si + mov eax, [txy2] + sub eax, [txy1] + cdq + idiv esi ; addy + mov ecx, eax + mov eax, [txx2] + sub eax, [txx1] + cdq + idiv esi ; addx + + mov edx, ecx ; look reg table + rol edx, 16d ; y_add + mov dh, dl ; yah + rol eax, 16d ; x_add + mov dl, al ; xah + test dl, 80h + jz @@l2 + dec dh +@@l2: + mov bh, [Byte txy1+2] ; txt y + mov bl, [Byte txx1+2] ; txt x + test si, 1d + jz @@l1 + + movzx si, [fs:bx] ; out odd byte + add ecx, eax + mov al, [ds:bx+si] + adc ebx, edx + adc bh, 0 + mov [es:bp+di-1],al + jmp [cs:jmp_tau+bp-2] + +@@l1: jmp [cs:jmp_tau+si] ; and jump to rept + +; e h l +; ax x_add data data +; bx ylo ty tx +; cx xlo - - +; dx y_add yah xah +; di - +; si sinus inc + + ALIGN 4 +IRP ccc, <200,199,198,197,196,195,194,193,192,191,190,189,188,187,186,185,184,183,182,181,180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164,163,162,161,160,159,158,157,156,155,154,153,152,151,150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,134,133,132,131,130,129,128,127,126,125,124,123,122,121,120,119,118,117,116,115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1> + +plz_y&ccc&: + + movzx si, [fs:bx] + add ecx, eax + mov ah, [ds:bx+si] + adc ebx, edx + adc bh, 0 + + movzx si, [fs:bx] + add ecx, eax + mov al, [ds:bx+si] + adc ebx, edx + adc bh, 0 ; immediate = y_hi + + mov [es:di+ccc*2-1], ax ; output byte +ENDM +plz_y0: + +@@twobyte: + mov bh, [Byte txy2+2] ; txt y + mov bl, [Byte txx2+2] ; txt x + movzx si, [fs:bx] + mov cl, [ds:bx+si] + mov bh, [Byte txy1+2] ; txt y + mov bl, [Byte txx1+2] ; txt x + movzx si, [fs:bx] + mov ch, [ds:bx+si] + + mov bx, [Word xx2+2] + and bx, 3d + mov ah, [start_mask+bx] + mov al, 02 + mov dx, 3c4h + out dx, ax + mov [es:di], cl + + mov bx, [Word xx1+2] + and bx, 3d + mov ah, [end_mask+bx] + out dx, ax + mov [es:bp+di], ch + +@@endline: + add [Word to], 160d ; next line + mov di, [word to] + inc [yy] + add [word ctau], 4d + + mov eax, [ax1] + add [xx1], eax + mov eax, [ax2] + add [xx2], eax + mov eax, [tay1] + add [txy1], eax + mov eax, [tax1] + add [txx1], eax + mov eax, [tay2] + add [txy2], eax + mov eax, [tax2] + add [txx2], eax ; increment txt and line indexes + + dec [linecount] + jnz @@doline + +@@end: + pop bp di si ds es + ret + + +@@singlebyte: + mov bh, [Byte txy2+2] ; txt y + mov bl, [Byte txx2+2] ; txt x + movzx si, [fs:bx] + mov cl, [ds:bx+si] + + mov al, 02 + mov dx, 3c4h + mov bx, [Word xx2+2] + and bx, 3d + mov ah, [start_mask+bx] + mov bx, [Word xx1+2] + and bx, 3d + and ah, [end_mask+bx] + out dx, ax + mov [es:di], cl + + add [Word to], 160d ; next line + mov di, [word to] + inc [yy] + add [word ctau], 4d + + mov eax, [ax1] + add [xx1], eax + mov eax, [ax2] + add [xx2], eax + mov eax, [tay1] + add [txy1], eax + mov eax, [tax1] + add [txx1], eax + mov eax, [tay2] + add [txy2], eax + mov eax, [tax2] + add [txx2], eax ; increment txt and line indexes + + dec [linecount] + jnz @@doline + pop bp di si ds es + ret +ENDP + + +PUBLIC C shadepal + +PROC C shadepal + + ARG fpal:dword, ppal:dword, shd:word + + push si di ds es + + lds si, [ppal] + les di, [fpal] + mov dx, [shd] + mov cx, 192/16d +@@loop: + REPT 16 + lodsb + mul dl + shr ax, 6d + stosb + ENDM + loop @@loop + + pop es ds di si + ret + +ENDP + + +ycnt dw 0 + +PUBLIC C do_clear + +PROC C do_clear + + ARG vmem:dword, otau:dword, ntau:dword + + push si di ds es bp + + mov dx, 3c4h + mov ax, 0f02h + out dx, ax + + les dx, [vmem] + lds bx, [otau] ; dx:bx-> otau + lds si, [ntau] + sub si, bx ; dx:bx+si-> ntau + mov dl, [es:0] ; fill latches + mov [ycnt], 134d + xor ax, ax + +@@lineloop: + cmp [Word ds:bx], 640d + je @@nextline + + mov di, [Word ds:bx] + shr di, 2d + mov cx, [word ds:bx+si] + shr cx, 2d + sub cx, di + jb @@l1 + add di, dx + rep stosb +@@l1: + mov di, [Word ds:bx+si+2] + shr di, 2d + mov cx, [word ds:bx+2] + shr cx, 2d + sub cx, di + jb @@nextline + add di, dx + inc di + rep stosb + +@@nextline: + mov [Word ds:bx], 640d + mov [Word ds:bx+2], 0d + + add dx, 160d + add bx, 4d + sub [ycnt], 1d + jae @@lineloop + +; Maskaa p„„t... + + les di, [vmem] + lds si, [ntau] ; dx:bx-> ntau + mov cx, 134d + mov dx, 3c4h + mov ax, 0f02h +@@maskloop: + mov bx, [ds:si] + dec bx + mov ah, [end_mask+bx] + out dx, ax + shr bx, 2d + mov [es:bx+di], ch + + mov bx, [ds:si+2] + inc bx + mov ah, [start_mask+bx] + out dx, ax + shr bx, 2d + mov [es:bx+di], ch + +@@nextmask: + add si,4d + add di, 160d + loop @@maskloop + + pop bp es ds di si + ret +ENDP +ENDS + +END diff --git a/u2orig/PLZA.OBJ b/u2orig/PLZA.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..f2734ec8708f87902fd54ca951979a91ee5bd706 GIT binary patch literal 17912 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 literal 0 HcmV?d00001 diff --git a/u2orig/PLZFILL.C b/u2orig/PLZFILL.C new file mode 100755 index 0000000..ae73c18 --- /dev/null +++ b/u2orig/PLZFILL.C @@ -0,0 +1,186 @@ +#include +#include +#include +#include +#include "tweak.h" + +extern far do_line(char far *to, int dx, int dy, int cnt, char far *from, long txx1, long txy1, long txx2, long txy2, int dseg); +extern far do_block(int ycnt); +extern far do_clear(char far *vmem, int far *otau, int far *ntau); + +extern int acstau[256]; +int sini[2000]; +char (* far vmem)[160]=MK_FP(0x0a000,0); +extern char far kuva1[128][256]; +extern char far kuva2[128][256]; +extern char far kuva3[128][256]; +extern char far dist1[128][256]; +char far buu[1000]; +char sinx[128], siny[128]; +char pal[768]; + +int clrtau[8][256][2]; +int clrptr=0; + +initvect() { + int a,b,x,y,s,d=0,p=0,ch; + + for(a=0;a<1524;a++) + { + sini[a]=s=sin(a/1024.0*M_PI*4)*127; + s-=sini[a]; + } + +/* for(a=0;a<65;a++) for(b=0;b<256;b++) // chessboard + { x=1; if((a>>4)&1) x^=3; if((b>>5)&1) x^=3; kuva[a][b]=x; } + + pal[0*192+3*1]=pal[0*192+3*1+1]=pal[0*192+3*1+2]=40; + pal[0*192+3*2]=pal[0*192+3*2+1]=pal[0*192+3*2+2]=60; +*/ + for(a=1;a<32;a++) // must-sini-valk + { pal[0*192+a*3]=0; pal[0*192+a*3+1]=0; pal[0*192+a*3+2]=a*2; } + for(a=0;a<32;a++) + { pal[0*192+a*3+32*3]=a*2; pal[0*192+a*3+1+32*3]=a*2; pal[0*192+a*3+2+32*3]=63; } + + for(a=0;a<32;a++) // must-pun-kelt + { pal[1*192+a*3]=a*2; pal[1*192+a*3+1]=0; pal[1*192+a*3+2]=0; } + for(a=0;a<32;a++) + { pal[1*192+a*3+32*3]=63; pal[1*192+a*3+1+32*3]=a*2; pal[1*192+a*3+2+32*3]=0; } + + + for(a=0;a<32;a++) // must-orans-viol + { pal[2*192+a*3]=a; pal[2*192+a*3+1]=0; pal[2*192+a*3+2]=a*2/3; } + for(a=0;a<32;a++) + { pal[2*192+a*3+32*3]=31-a; pal[2*192+a*3+1+32*3]=a*2; pal[2*192+a*3+2+32*3]=21; } + + + for(y=0;y<64;y++) for(x=0;x<256;x++) + { + kuva1[y][x]=sini[(y*4+sini[x*2])&511]/4+32; + kuva2[y][x]=sini[(y*4+sini[x*2])&511]/4+32+64; + kuva3[y][x]=sini[(y*4+sini[x*2])&511]/4+32+128; + } + + for(y=0;y<128;y++) for(x=0;x<256;x++) + dist1[y][x]=sini[y*8]/3; + + for(a=0;a<8*256;a++) { clrtau[0][a][0]=640; clrtau[0][a][1]=0; } + } + +extern far char * to; +extern far char * from; +extern far int * ctau; +extern far int dseg; +extern far int xx, yy; +extern far long ay1,ay2,ax1,ax2,xx1,yy1,xx2,yy2; +extern far long txx1,txy1,tay1,tax1; +extern far long txx2,txy2,tay2,tax2; + +int kuvataus[]={FP_SEG(kuva1),FP_SEG(kuva2),FP_SEG(kuva3),FP_SEG(kuva1)}; +int disttaus[]={FP_SEG(dist1),FP_SEG(dist1),FP_SEG(dist1),FP_SEG(dist1)}; + +do_poly(x1,y1,x2,y2,x3,y3,x4,y4,color, dd) +int x1,y1,x2,y2,x3,y3,x4,y4,color, dd; + { + int a,b,c,d,n=0,m,s1,s2,d1,d2,dx1,dy1,dx2,dy2; + + struct points { + int x,y; } pnts[4],txt[4]={{64,4},{190,4},{190,60},{64,60}}; +// int x,y; } pnts[4],txt[4]={{1,1},{63,1},{63,63},{1,63}}; + + dd=(dd+1)&63; + + pnts[0].x=x1; pnts[0].y=y1; + pnts[1].x=x2; pnts[1].y=y2; + pnts[2].x=x3; pnts[2].y=y3; + pnts[3].x=x4; pnts[3].y=y4; + + for(n=0,a=1;a<4;a++) if(pnts[a].y>C-P2P6sD&IojJDuW>d3j+s(GLX&2z{McI zprz*=5C9~#fEZ+kvsFw~j8P2Gp#hFTAu&K{hA)h38A2HtjDUK8V6xf^8Dttw11YYF zAl6Vne?LcGR|5mETM38qS4JIBM1dW=L3Xm*4iyFl2+ag^c@VL-5*@3M!1={6fssJq gkP`iYU}x4coFEk9KtqX2C)h)T0~jLz|1&TE0O$c^Gynhq literal 0 HcmV?d00001 diff --git a/u2orig/PLZPART.MAP b/u2orig/PLZPART.MAP new file mode 100755 index 0000000..aaefa76 --- /dev/null +++ b/u2orig/PLZPART.MAP @@ -0,0 +1,827 @@ + + Start Stop Length Name Class + + 00000H 027C3H 027C4H _TEXT CODE + 027C4H 027C4H 00000H ASMYT_TEXT CODE + 027D0H 0FC7BH 0D4ACH PORO CODE + 0FC7CH 10605H 0098AH COPPER_TEXT CODE + 10606H 10606H 00000H INCLUDE_TEXT CODE + 10606H 10606H 00000H PLZA_TEXT CODE + 10610H 12CCDH 026BEH LERSSICODE CODE + 12CCEH 12EA6H 001D9H TWEAK_TEXT CODE + 12EA7H 136D0H 0082AH PLZ_TEXT CODE + 136D1H 14382H 00CB2H PLZFILL_TEXT CODE + 14383H 14D78H 009F6H VECT_TEXT CODE + 14D79H 14D9BH 00023H MAIN_TEXT CODE + 14DA0H 14E73H 000D4H text_disc CODE + 14E74H 160EDH 0127AH SPLINE_TEXT CODE + 160F0H 18866H 02777H EMU_PROG CODE + 18870H 18E37H 005C8H E87_PROG CODE + 18E40H 18E40H 00000H _FARDATA FAR_DATA + 18E40H 1CE3FH 04000H KAKKA2 FAR_DATA + 1CE40H 24E3FH 08000H KAKKA6 FAR_DATA + 24E40H 28E3FH 04000H KAKKA3 FAR_DATA + 28E40H 2CE3FH 04000H KAKKA4 FAR_DATA + 2CE40H 2D84EH 00A0FH KAKKA5 FAR_DATA + 2D850H 2DC3BH 003ECH PLZFILL5_DATA FAR_DATA + 2DC40H 2DF3FH 00300H VECT5_DATA FAR_DATA + 2DF40H 2DF40H 00000H _FARBSS FAR_BSS + 2DF40H 2DF40H 00000H _OVERLAY_ OVRINFO + 2DF40H 2DF40H 00000H _1STUB_ STUBSEG + 2DF40H 31025H 030E6H _DATA DATA + 31026H 31029H 00004H _CVTSEG DATA + 3102AH 31035H 0000CH _SCNSEG DATA + 31036H 31036H 00000H _CONST CONST + 31036H 31041H 0000CH _INIT_ INITDATA + 31042H 31042H 00000H _INITEND_ INITDATA + 31042H 31047H 00006H _EXIT_ EXITDATA + 31048H 31048H 00000H _EXITEND_ EXITDATA + 31048H 36C7FH 05C38H _BSS BSS + 36C80H 36C80H 00000H _BSSEND BSSEND + 36C80H 36D8FH 00110H _STACK STACK + + +Detailed map of segments + + 0000:0000 0295 C=CODE S=_TEXT G=(none) M=c0.ASM ACBP=28 + 0000:0295 0258 C=CODE S=_TEXT G=(none) M=FPINIT ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=E87TRAP ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=PROTFLAG ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=DEFLT87 ACBP=28 + 0000:04ED 0000 C=CODE S=_TEXT G=(none) M=HUGEVAL ACBP=28 + 0000:04ED 009A C=CODE S=_TEXT G=(none) M=LDTRUNC ACBP=28 + 0000:0587 0000 C=CODE S=_TEXT G=(none) M=MATHWHY ACBP=28 + 0000:0587 01BD C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:0744 0395 C=CODE S=_TEXT G=(none) M=SCANTOD ACBP=28 + 0000:0AD9 020C C=CODE S=_TEXT G=(none) M=XCVT ACBP=28 + 0000:0CE5 00B1 C=CODE S=_TEXT G=(none) M=FPERR ACBP=28 + 0000:0D96 00C9 C=CODE S=_TEXT G=(none) M=_POW10 ACBP=28 + 0000:0E5F 000B C=CODE S=_TEXT G=(none) M=POW10D ACBP=28 + 0000:0E6A 002A C=CODE S=_TEXT G=(none) M=MATHERR ACBP=28 + 0000:0E94 0052 C=CODE S=_TEXT G=(none) M=SIN ACBP=28 + 0000:0EE6 00A9 C=CODE S=_TEXT G=(none) M=_MATHERR ACBP=28 + 0000:0F8F 002C C=CODE S=_TEXT G=(none) M=FFTOL ACBP=28 + 0000:0FBB 002D C=CODE S=_TEXT G=(none) M=ATEXIT ACBP=28 + 0000:0FE8 0000 C=CODE S=_TEXT G=(none) M=CTYPE ACBP=28 + 0000:0FE8 0093 C=CODE S=_TEXT G=(none) M=EXIT ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FILES ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FILES2 ACBP=28 + 0000:107B 0000 C=CODE S=_TEXT G=(none) M=FPSTKLEN ACBP=28 + 0000:107B 001C C=CODE S=_TEXT G=(none) M=F_SCOPY ACBP=28 + 0000:1097 0021 C=CODE S=_TEXT G=(none) M=H_LLSH ACBP=28 + 0000:10B8 0060 C=CODE S=_TEXT G=(none) M=H_PADD ACBP=28 + 0000:1118 004B C=CODE S=_TEXT G=(none) M=IOERROR ACBP=28 + 0000:1163 0011 C=CODE S=_TEXT G=(none) M=ISATTY ACBP=28 + 0000:1174 00A2 C=CODE S=_TEXT G=(none) M=LONGTOA ACBP=28 + 0000:1216 0029 C=CODE S=_TEXT G=(none) M=LSEEK ACBP=28 + 0000:123F 0021 C=CODE S=_TEXT G=(none) M=N_PCMP ACBP=28 + 0000:1260 00BA C=CODE S=_TEXT G=(none) M=SETUPIO ACBP=28 + 0000:131A 0000 C=CODE S=_TEXT G=(none) M=SIGDATA ACBP=28 + 0000:131A 0000 C=CODE S=_TEXT G=(none) M=STKLEN ACBP=28 + 0000:131A 04DB C=CODE S=_TEXT G=(none) M=VPRINTER ACBP=28 + 0000:17F5 001F C=CODE S=_TEXT G=(none) M=CVTFAK ACBP=28 + 0000:1814 0432 C=CODE S=_TEXT G=(none) M=FARHEAP ACBP=28 + 0000:1C46 0140 C=CODE S=_TEXT G=(none) M=FBRK ACBP=28 + 0000:1D86 0004 C=CODE S=_TEXT G=(none) M=REALCVT ACBP=28 + 0000:1D8A 001C C=CODE S=_TEXT G=(none) M=SETBLOCK ACBP=28 + 0000:1DA6 00CD C=CODE S=_TEXT G=(none) M=FFLUSH ACBP=28 + 0000:1E73 0042 C=CODE S=_TEXT G=(none) M=FLUSHALL ACBP=28 + 0000:1EB5 001C C=CODE S=_TEXT G=(none) M=FPRINTF ACBP=28 + 0000:1ED1 01E2 C=CODE S=_TEXT G=(none) M=FSEEK ACBP=28 + 0000:20B3 0024 C=CODE S=_TEXT G=(none) M=MEMCPY ACBP=28 + 0000:20D7 0043 C=CODE S=_TEXT G=(none) M=MEMSET ACBP=28 + 0000:211A 03C8 C=CODE S=_TEXT G=(none) M=PUTC ACBP=28 + 0000:24E2 011D C=CODE S=_TEXT G=(none) M=SETVBUF ACBP=28 + 0000:25FF 0151 C=CODE S=_TEXT G=(none) M=WRITE ACBP=28 + 0000:2750 003C C=CODE S=_TEXT G=(none) M=WRITEA ACBP=28 + 0000:278C 0038 C=CODE S=_TEXT G=(none) M=XFFLUSH ACBP=28 + 027C:0004 0000 C=CODE S=ASMYT_TEXT G=(none) M=ASMYT.ASM ACBP=48 + 027D:0000 D4AC C=CODE S=PORO G=(none) M=ASMYT.ASM ACBP=60 + 0FC7:000C 098A C=CODE S=COPPER_TEXT G=(none) M=COPPER.ASM ACBP=48 + 1060:0006 0000 C=CODE S=INCLUDE_TEXT G=(none) M=INCLUDE.ASM ACBP=48 + 1060:0006 0000 C=CODE S=PLZA_TEXT G=(none) M=PLZA.ASM ACBP=48 + 1061:0000 26BE C=CODE S=LERSSICODE G=(none) M=PLZA.ASM ACBP=68 + 12CC:000E 01D9 C=CODE S=TWEAK_TEXT G=(none) M=TWEAK.ASM ACBP=48 + 12EA:0007 082A C=CODE S=PLZ_TEXT G=(none) M=PLZ.C ACBP=28 + 136D:0001 0CB2 C=CODE S=PLZFILL_TEXT G=(none) M=PLZFILL.C ACBP=28 + 1438:0003 09F6 C=CODE S=VECT_TEXT G=(none) M=VECT.C ACBP=28 + 14D7:0009 0023 C=CODE S=MAIN_TEXT G=(none) M=MAIN.C ACBP=28 + 14DA:0000 00D4 C=CODE S=text_disc G=(none) M=disc.asm ACBP=68 + 14E7:0004 127A C=CODE S=SPLINE_TEXT G=(none) M=SPLINE.ASM ACBP=48 + 160F:0000 0000 C=CODE S=EMU_PROG G=(none) M=FPINIT ACBP=68 + 160F:0000 2777 C=CODE S=EMU_PROG G=(none) M=EMU086 ACBP=68 + 1887:0000 0000 C=CODE S=E87_PROG G=(none) M=FPINIT ACBP=68 + 1887:0000 03E3 C=CODE S=E87_PROG G=(none) M=EMU087 ACBP=68 + 1887:03F0 01D8 C=CODE S=E87_PROG G=(none) M=E87TRAP ACBP=68 + 18E4:0000 0000 C=FAR_DATA S=_FARDATA G=(none) M=c0.ASM ACBP=68 + 18E4:0000 4000 C=FAR_DATA S=KAKKA2 G=(none) M=INCLUDE.ASM ACBP=60 + 1CE4:0000 8000 C=FAR_DATA S=KAKKA6 G=(none) M=INCLUDE.ASM ACBP=60 + 24E4:0000 4000 C=FAR_DATA S=KAKKA3 G=(none) M=INCLUDE.ASM ACBP=60 + 28E4:0000 4000 C=FAR_DATA S=KAKKA4 G=(none) M=INCLUDE.ASM ACBP=60 + 2CE4:0000 0A0F C=FAR_DATA S=KAKKA5 G=(none) M=INCLUDE.ASM ACBP=60 + 2D85:0000 03EC C=FAR_DATA S=PLZFILL5_DATA G=(none) M=PLZFILL.C ACBP=68 + 2DC4:0000 0300 C=FAR_DATA S=VECT5_DATA G=(none) M=VECT.C ACBP=68 + 2DF4:0000 0000 C=FAR_BSS S=_FARBSS G=(none) M=c0.ASM ACBP=68 + 2DF4:0000 0000 C=OVRINFO S=_OVERLAY_ G=(none) M=c0.ASM ACBP=68 + 2DF4:0000 0000 C=STUBSEG S=_1STUB_ G=(none) M=c0.ASM ACBP=68 + 2DF4:0000 0093 C=DATA S=_DATA G=DGROUP M=c0.ASM ACBP=68 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=ASMYT.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=COPPER.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=INCLUDE.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=PLZA.ASM ACBP=48 + 2DF4:0094 0000 C=DATA S=_DATA G=DGROUP M=TWEAK.ASM ACBP=48 + 2DF4:0094 01D8 C=DATA S=_DATA G=DGROUP M=PLZ.C ACBP=48 + 2DF4:026C 0036 C=DATA S=_DATA G=DGROUP M=PLZFILL.C ACBP=48 + 2DF4:02A2 28A4 C=DATA S=_DATA G=DGROUP M=VECT.C ACBP=48 + 2DF4:2B46 0000 C=DATA S=_DATA G=DGROUP M=MAIN.C ACBP=48 + 2DF4:2B46 0000 C=DATA S=_DATA G=DGROUP M=SPLINE.ASM ACBP=48 + 2DF4:2B50 0002 C=DATA S=_DATA G=DGROUP M=FPINIT ACBP=68 + 2DF4:2B60 0000 C=DATA S=_DATA G=DGROUP M=E87TRAP ACBP=68 + 2DF4:2B60 0003 C=DATA S=_DATA G=DGROUP M=PROTFLAG ACBP=48 + 2DF4:2B64 0002 C=DATA S=_DATA G=DGROUP M=DEFLT87 ACBP=48 + 2DF4:2B66 0024 C=DATA S=_DATA G=DGROUP M=HUGEVAL ACBP=48 + 2DF4:2B8A 0000 C=DATA S=_DATA G=DGROUP M=LDTRUNC ACBP=48 + 2DF4:2B8A 0043 C=DATA S=_DATA G=DGROUP M=MATHWHY ACBP=48 + 2DF4:2BCE 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 2DF4:2BCE 0018 C=DATA S=_DATA G=DGROUP M=SCANTOD ACBP=48 + 2DF4:2BE6 0000 C=DATA S=_DATA G=DGROUP M=XCVT ACBP=48 + 2DF4:2BE6 009A C=DATA S=_DATA G=DGROUP M=FPERR ACBP=48 + 2DF4:2C80 0080 C=DATA S=_DATA G=DGROUP M=_POW10 ACBP=48 + 2DF4:2D00 0000 C=DATA S=_DATA G=DGROUP M=POW10D ACBP=48 + 2DF4:2D00 0000 C=DATA S=_DATA G=DGROUP M=MATHERR ACBP=48 + 2DF4:2D00 000C C=DATA S=_DATA G=DGROUP M=SIN ACBP=48 + 2DF4:2D0C 000E C=DATA S=_DATA G=DGROUP M=_MATHERR ACBP=48 + 2DF4:2D1A 0000 C=DATA S=_DATA G=DGROUP M=FFTOL ACBP=48 + 2DF4:2D1A 0002 C=DATA S=_DATA G=DGROUP M=ATEXIT ACBP=48 + 2DF4:2D1C 0101 C=DATA S=_DATA G=DGROUP M=CTYPE ACBP=48 + 2DF4:2E1E 000C C=DATA S=_DATA G=DGROUP M=EXIT ACBP=48 + 2DF4:2E2A 0190 C=DATA S=_DATA G=DGROUP M=FILES ACBP=48 + 2DF4:2FBA 002A C=DATA S=_DATA G=DGROUP M=FILES2 ACBP=48 + 2DF4:2FE4 0002 C=DATA S=_DATA G=DGROUP M=FPSTKLEN ACBP=48 + 2DF4:2FE6 0000 C=DATA S=_DATA G=DGROUP M=F_SCOPY ACBP=48 + 2DF4:2FE6 0000 C=DATA S=_DATA G=DGROUP M=H_LLSH ACBP=48 + 2DF4:2FE6 0000 C=DATA S=_DATA G=DGROUP M=H_PADD ACBP=48 + 2DF4:2FE6 005B C=DATA S=_DATA G=DGROUP M=IOERROR ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=ISATTY ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=LONGTOA ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=LSEEK ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=N_PCMP ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=SETUPIO ACBP=48 + 2DF4:3042 0000 C=DATA S=_DATA G=DGROUP M=SIGDATA ACBP=48 + 2DF4:3042 0002 C=DATA S=_DATA G=DGROUP M=STKLEN ACBP=48 + 2DF4:3044 0067 C=DATA S=_DATA G=DGROUP M=VPRINTER ACBP=48 + 2DF4:30AC 0031 C=DATA S=_DATA G=DGROUP M=CVTFAK ACBP=48 + 2DF4:30DE 0000 C=DATA S=_DATA G=DGROUP M=FARHEAP ACBP=48 + 2DF4:30DE 0002 C=DATA S=_DATA G=DGROUP M=FBRK ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=REALCVT ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=SETBLOCK ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FFLUSH ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FLUSHALL ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FPRINTF ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=FSEEK ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=MEMCPY ACBP=48 + 2DF4:30E0 0000 C=DATA S=_DATA G=DGROUP M=MEMSET ACBP=48 + 2DF4:30E0 0001 C=DATA S=_DATA G=DGROUP M=PUTC ACBP=48 + 2DF4:30E2 0004 C=DATA S=_DATA G=DGROUP M=SETVBUF ACBP=48 + 2DF4:30E6 0000 C=DATA S=_DATA G=DGROUP M=WRITE ACBP=48 + 2DF4:30E6 0000 C=DATA S=_DATA G=DGROUP M=WRITEA ACBP=48 + 2DF4:30E6 0000 C=DATA S=_DATA G=DGROUP M=XFFLUSH ACBP=48 + 2DF4:30E6 0000 C=DATA S=_CVTSEG G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30E6 0002 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 2DF4:30E8 0002 C=DATA S=_CVTSEG G=DGROUP M=CVTFAK ACBP=48 + 2DF4:30EA 0000 C=DATA S=_CVTSEG G=DGROUP M=REALCVT ACBP=48 + 2DF4:30EA 0000 C=DATA S=_SCNSEG G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30EA 0006 C=DATA S=_SCNSEG G=DGROUP M=SCANTOD ACBP=48 + 2DF4:30F0 0006 C=DATA S=_SCNSEG G=DGROUP M=CVTFAK ACBP=48 + 2DF4:30F6 0000 C=CONST S=_CONST G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30F6 0000 C=INITDATA S=_INIT_ G=DGROUP M=c0.ASM ACBP=48 + 2DF4:30F6 0006 C=INITDATA S=_INIT_ G=DGROUP M=FPINIT ACBP=48 + 2DF4:30FC 0006 C=INITDATA S=_INIT_ G=DGROUP M=SETUPIO ACBP=48 + 2DF4:3102 0000 C=INITDATA S=_INITEND_ G=DGROUP M=c0.ASM ACBP=28 + 2DF4:3102 0000 C=EXITDATA S=_EXIT_ G=DGROUP M=c0.ASM ACBP=48 + 2DF4:3102 0006 C=EXITDATA S=_EXIT_ G=DGROUP M=FPINIT ACBP=48 + 2DF4:3108 0000 C=EXITDATA S=_EXITEND_ G=DGROUP M=c0.ASM ACBP=28 + 2DF4:3108 0000 C=BSS S=_BSS G=DGROUP M=c0.ASM ACBP=48 + 2DF4:3108 2400 C=BSS S=_BSS G=DGROUP M=PLZ.C ACBP=48 + 2DF4:5508 33A0 C=BSS S=_BSS G=DGROUP M=PLZFILL.C ACBP=48 + 2DF4:88A8 0412 C=BSS S=_BSS G=DGROUP M=VECT.C ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=MAIN.C ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=LDTRUNC ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=REALCVT ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=SCANTOD ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=XCVT ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=_POW10 ACBP=48 + 2DF4:8CBA 0000 C=BSS S=_BSS G=DGROUP M=SIN ACBP=48 + 2DF4:8CBA 0080 C=BSS S=_BSS G=DGROUP M=ATEXIT ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=IOERROR ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=ISATTY ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=LONGTOA ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=LSEEK ACBP=48 + 2DF4:8D3A 0000 C=BSS S=_BSS G=DGROUP M=SETUPIO ACBP=48 + 2DF4:8D3A 0004 C=BSS S=_BSS G=DGROUP M=SIGDATA ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=VPRINTER ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=SETBLOCK ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=MEMCPY ACBP=48 + 2DF4:8D3E 0000 C=BSS S=_BSS G=DGROUP M=MEMSET ACBP=48 + 2DF4:8D3E 0001 C=BSS S=_BSS G=DGROUP M=PUTC ACBP=48 + 2DF4:8D40 0000 C=BSS S=_BSS G=DGROUP M=WRITEA ACBP=48 + 2DF4:8D40 0000 C=BSSEND S=_BSSEND G=DGROUP M=c0.ASM ACBP=28 + 36C8:0000 0110 C=STACK S=_STACK G=(none) M=c0.ASM ACBP=74 + 36C8:0000 0080 C=STACK S=_STACK G=(none) M=EMUVARS ACBP=78 + + Address Publics by Name + + 2DF4:0000 idle DATASEG@ + 0000:0291 idle DGROUP@ + 160F:2152 e086_Entry + 160F:26E0 e086_Shortcut + 1887:0306 e087_Entry + 1887:03C6 e087_Shortcut + 1887:0430 e087_Trap + 0000:FE32 idle FIARQQ + 0000:0E32 idle FICRQQ + 0000:5C32 Abs FIDRQQ + 0000:1632 Abs FIERQQ + 0000:0632 idle FISRQQ + 0000:A23D Abs FIWRQQ + 0000:4000 idle FJARQQ + 0000:C000 idle FJCRQQ + 0000:8000 idle FJSRQQ + 0000:0F8F idle FTOL@ + 0000:0F8F F_FTOL@ + 0000:109A idle F_LXLSH@ + 0000:10BB idle F_PADD@ + 0000:10EA idle F_PSUB@ + 0000:107B F_SCOPY@ + 0000:109A idle LXLSH@ + 0000:1097 N_LXLSH@ + 0000:10B8 N_PADD@ + 0000:123F N_PCMP@ + 0000:10E7 idle N_PSUB@ + 0000:10BB idle PADD@ + 0000:10EA idle PSUB@ + 0000:107B idle SCOPY@ + 0000:027A _abort + 0000:0FBB idle _atexit + 1061:07E8 _ax1 + 1061:07F0 _ax2 + 1061:07E4 idle _ay1 + 1061:07EC idle _ay2 + 2D85:0004 idle _buu + 1438:00B4 idle _calculate + 136D:0C5C _clear + 0FC7:001C _close_copper + 2DF4:026C idle _clrptr + 2DF4:5508 idle _clrtau + 0FC7:000E _cop_drop + 0FC7:07E8 _cop_fadepal + 0FC7:0010 _cop_pal + 0FC7:001A _cop_plz + 0FC7:0018 _cop_scrl + 0FC7:0016 _cop_start + 1438:0177 idle _count_const + 1061:081E _ctau + 2DF4:0194 idle _curpal + 2DF4:88B8 idle _cxx + 2DF4:88B6 idle _cxy + 2DF4:88B4 idle _cxz + 2DF4:88B2 idle _cyx + 2DF4:88B0 idle _cyy + 2DF4:88AE idle _cyz + 2DF4:88AC idle _czx + 2DF4:88AA idle _czy + 2DF4:88A8 idle _czz + 2DF4:2B2C _dis + 1CE4:0000 _dist1 + 2DF4:0276 idle _disttaus + 14DA:005A _dis_exit + 14DA:00BE _dis_getmframe + 14DA:0060 idle _dis_indemo + 14DA:0066 idle _dis_msgarea + 14DA:0073 idle _dis_muscode + 14DA:0080 _dis_musplus + 14DA:008F idle _dis_musrow + 14DA:0040 _dis_partstart + 14DA:009B idle _dis_setcopper + 14DA:00AE _dis_setmframe + 14DA:00CA idle _dis_sync + 14DA:0000 idle _dis_version + 14DA:0023 idle _dis_waitb + 1061:0824 _do_block + 1061:2612 _do_clear + 0FC7:0014 _do_pal + 136D:02D7 _do_poly + 1438:079F idle _draw + 1061:081C _dseg + 2DF4:007F _errno + 0000:1040 _exit + 0FC7:01E8 _fadepal + 0000:1954 idle _farfree + 0000:1A68 idle _farmalloc + 0000:1BCC idle _farrealloc + 0000:1DA6 _fflush + 0000:1E73 _flushall + 2DC4:0000 idle _fpal + 0000:1EB5 _fprintf + 0000:2136 idle _fputc + 0000:22CB idle _fputchar + 2DF4:2B40 idle _frames + 0FC7:000C _frame_count + 0000:1954 _free + 1061:0818 _from + 0000:1F53 _fseek + 0000:1FD3 idle _ftell + 14E7:1084 _getspl + 2DF4:01C4 _ik1 + 2DF4:01C6 _ik2 + 2DF4:01C8 _ik3 + 2DF4:01CA _ik4 + 2DF4:01BC _il1 + 2DF4:01BE _il2 + 2DF4:01C0 _il3 + 2DF4:01C2 _il4 + 2DF4:01CC idle _inittable + 136D:0001 _initvect + 0FC7:0047 _init_copper + 12EA:02B1 idle _init_plz + 0000:1163 _isatty + 1061:0000 idle _jmp_tau + 2DF4:01B4 _k1 + 2DF4:01B6 _k2 + 2DF4:01B8 _k3 + 2DF4:01BA _k4 + 2CE4:0200 _kosinit + 18E4:0000 _kuva1 + 24E4:0000 _kuva2 + 28E4:0000 _kuva3 + 2DF4:026E idle _kuvataus + 2DF4:2B26 _kx + 2DF4:2B28 _ky + 2DF4:2B2A _kz + 2DF4:01AC _l1 + 2DF4:01AE _l2 + 2DF4:01B0 _l3 + 2DF4:01B2 _l4 + 2DF4:2B0E idle _light_src + 2DF4:2B1A idle _lls + 0000:1216 _lseek + 027D:8000 idle _lsini16 + 027D:4000 idle _lsini4 + 2DF4:2B32 _ls_kx + 2DF4:2B34 _ls_ky + 2DF4:2B36 _ls_kz + 2DF4:2B38 idle _ls_x + 2DF4:2B3A idle _ls_y + 2DF4:2B3C idle _ls_z + 14D7:0009 _main + 0000:1A5E _malloc + 0000:0E6A _matherr + 0000:20B3 _memcpy + 0000:20FB _memset + 0FC7:0107 idle _moveplz + 2DF4:02A2 idle _object + 2DF4:2B3E idle _page + 2DF4:7508 _pal + 2DF4:3108 idle _pals + 12EA:0007 _plz + 027D:C000 _plzline + 2DF4:2B0C idle _polys + 0FC7:00D9 idle _pompota + 0000:0E5F _pow10 + 027D:0000 idle _psini + 2DF4:0094 idle _ptau + 2DF4:88BA idle _ptodraw + 0000:1BC5 idle _realloc + 1438:043C idle _rotate + 12CC:0012 idle _scr_seg + 0000:1D8A _setblock + 0000:20D7 idle _setmem + 027D:C618 _setplzparas + 0000:24E2 _setvbuf + 027D:D48E _set_plzstart + 1061:2584 _shadepal + 0000:0E94 _sin + 2DF4:7908 idle _sini + 2CE4:0000 _sinit + 2DF4:7888 idle _sinx + 2DF4:7808 idle _siny + 1438:0556 idle _sort_faces + 1438:08C5 idle _swappage + 1061:0804 _tax1 + 1061:080C _tax2 + 1061:0808 _tay1 + 1061:0810 _tay2 + 2DF4:0196 idle _timetable + 1061:0814 _to + 2DF4:01AA idle _ttptr + 12CC:007C idle _tw_closegraph + 12CC:0062 idle _tw_clrscr + 12CC:00BB idle _tw_getpixel + 12CC:0014 _tw_opengraph + 12CC:0035 _tw_opengraph2 + 12CC:0141 idle _tw_pictovmem + 12CC:0082 idle _tw_putpixel + 12CC:010B idle _tw_setpalarea + 12CC:00F2 idle _tw_setpalette + 12CC:01CD _tw_setrgbpalette + 12CC:012C idle _tw_setstart + 12CC:01BF idle _tw_waitvr + 2DF4:2B2E _tx + 1061:07F4 _txx1 + 1061:07FC _txx2 + 1061:07F8 _txy1 + 1061:0800 _txy2 + 2DF4:2B30 _ty + 1438:0003 _vect + 2D85:0000 _vmem + 1061:07D0 idle _xx + 1061:07D8 _xx1 + 1061:07E0 _xx2 + 1061:07D2 _yy + 1061:07D4 idle _yy1 + 1061:07DC idle _yy2 + 2DF4:2B50 __8087 + 0000:1000 idle __AHINCR + 0000:000C idle __AHSHIFT + 2DF4:2D1A __atexitcnt + 2DF4:8CBA __atexittbl + 0000:1CBC __brk + 2DF4:008B __brklvl + 2DF4:006B idle __C0argc + 2DF4:006D idle __C0argv + 2DF4:0071 idle __C0environ + 0000:1061 idle __cexit + 0000:016A __checknull + 0000:0157 __cleanup + 2DF4:2D1C __ctype + 0000:0000 Abs __cvtfak + 0000:106F idle __c_exit + 2DF4:2B64 __default87 + 2DF4:2FE6 idle __doserrno + 0000:1151 idle __DOSERROR + 2DF4:2FE8 idle __dosErrorToSV + 36C8:0000 __emu + 2DF4:0075 idle __envLng + 2DF4:0077 idle __envseg + 2DF4:0079 idle __envSize + 0000:104F __exit + 2DF4:2E1E __exitbuf + 2DF4:2E22 idle __exitfopen + 2DF4:2E26 idle __exitopen + 0000:8087 idle __floatconvert + 0000:0CE5 __fperror + 2DF4:2FE4 __fpstklen + 0000:04E9 __fpuint + 0000:211A idle __fputc + 0000:22DF __FPUTN + 2DF4:0087 __heapbase + 2DF4:008F __heaptop + 2DF4:2B6A __huge_dble + 2DF4:2B66 idle __huge_flt + 2DF4:2B72 idle __huge_ldble + 2DF4:2B7C idle __indefinite + 2DF4:005B idle __Int0Vector + 2DF4:005F idle __Int4Vector + 2DF4:0063 idle __Int5Vector + 2DF4:0067 idle __Int6Vector + 0000:1118 __IOERROR + 2DF4:2B61 __LDT + 0000:04ED __LDTRUNC + 0000:1174 __LONGTOA + 0000:0EE6 __matherr + 2DF4:2B8A __mathwhy + 0000:0293 idle __MMODEL + 2DF4:2FBA __nfile + 2DF4:2FBC __openfd + 2DF4:007D idle __osmajor + 2DF4:007E idle __osminor + 2DF4:007D idle __osversion + 0000:0D96 __POW10 + 2DF4:2B60 __protected + 2DF4:007B __psp + 0000:1D86 __REALCVT + 2DF4:30E6 __RealCvtVector + 0000:01C0 __restorezero + 0000:1CFB __sbrk + 2DF4:30EA idle __ScanTodVector + 0000:1260 __setupio + 2DF4:0081 idle __StartTime + 2DF4:3042 __stklen + 2DF4:2E2A __streams + 0000:016B __terminate + 2DF4:2B80 idle __tiny_ldble + 0000:0000 Abs __turboCvt + 0000:8087 Abs __turboFloat + 0000:11F6 idle __UTOA + 2DF4:007D __version + 0000:1332 __VPRINTER + 0000:2750 __write + 0000:0AD9 __XCVT + 0000:278C __xfflush + 2DF4:0085 idle ___brklvl + 0000:1814 idle ___first + 0000:0402 idle ___fpreset + 0000:1816 idle ___last + 0000:1818 idle ___rover + 2DF4:8D3A ___SignalPtr + 0000:25FF ___write + + Address Publics by Value + + 0000:0000 Abs __turboCvt + 0000:0000 Abs __cvtfak + 0000:000C idle __AHSHIFT + 0000:0157 __cleanup + 0000:016A __checknull + 0000:016B __terminate + 0000:01C0 __restorezero + 0000:027A _abort + 0000:0291 idle DGROUP@ + 0000:0293 idle __MMODEL + 0000:0402 idle ___fpreset + 0000:04E9 __fpuint + 0000:04ED __LDTRUNC + 0000:0632 idle FISRQQ + 0000:0AD9 __XCVT + 0000:0CE5 __fperror + 0000:0D96 __POW10 + 0000:0E32 idle FICRQQ + 0000:0E5F _pow10 + 0000:0E6A _matherr + 0000:0E94 _sin + 0000:0EE6 __matherr + 0000:0F8F F_FTOL@ + 0000:0F8F idle FTOL@ + 0000:0FBB idle _atexit + 0000:1000 idle __AHINCR + 0000:1040 _exit + 0000:104F __exit + 0000:1061 idle __cexit + 0000:106F idle __c_exit + 0000:107B F_SCOPY@ + 0000:107B idle SCOPY@ + 0000:1097 N_LXLSH@ + 0000:109A idle LXLSH@ + 0000:109A idle F_LXLSH@ + 0000:10B8 N_PADD@ + 0000:10BB idle F_PADD@ + 0000:10BB idle PADD@ + 0000:10E7 idle N_PSUB@ + 0000:10EA idle F_PSUB@ + 0000:10EA idle PSUB@ + 0000:1118 __IOERROR + 0000:1151 idle __DOSERROR + 0000:1163 _isatty + 0000:1174 __LONGTOA + 0000:11F6 idle __UTOA + 0000:1216 _lseek + 0000:123F N_PCMP@ + 0000:1260 __setupio + 0000:1332 __VPRINTER + 0000:1632 Abs FIERQQ + 0000:1814 idle ___first + 0000:1816 idle ___last + 0000:1818 idle ___rover + 0000:1954 _free + 0000:1954 idle _farfree + 0000:1A5E _malloc + 0000:1A68 idle _farmalloc + 0000:1BC5 idle _realloc + 0000:1BCC idle _farrealloc + 0000:1CBC __brk + 0000:1CFB __sbrk + 0000:1D86 __REALCVT + 0000:1D8A _setblock + 0000:1DA6 _fflush + 0000:1E73 _flushall + 0000:1EB5 _fprintf + 0000:1F53 _fseek + 0000:1FD3 idle _ftell + 0000:20B3 _memcpy + 0000:20D7 idle _setmem + 0000:20FB _memset + 0000:211A idle __fputc + 0000:2136 idle _fputc + 0000:22CB idle _fputchar + 0000:22DF __FPUTN + 0000:24E2 _setvbuf + 0000:25FF ___write + 0000:2750 __write + 0000:278C __xfflush + 0000:4000 idle FJARQQ + 0000:5C32 Abs FIDRQQ + 0000:8000 idle FJSRQQ + 0000:8087 Abs __turboFloat + 0000:8087 idle __floatconvert + 0000:A23D Abs FIWRQQ + 0000:C000 idle FJCRQQ + 0000:FE32 idle FIARQQ + 027D:0000 idle _psini + 027D:4000 idle _lsini4 + 027D:8000 idle _lsini16 + 027D:C000 _plzline + 027D:C618 _setplzparas + 027D:D48E _set_plzstart + 0FC7:000C _frame_count + 0FC7:000E _cop_drop + 0FC7:0010 _cop_pal + 0FC7:0014 _do_pal + 0FC7:0016 _cop_start + 0FC7:0018 _cop_scrl + 0FC7:001A _cop_plz + 0FC7:001C _close_copper + 0FC7:0047 _init_copper + 0FC7:00D9 idle _pompota + 0FC7:0107 idle _moveplz + 0FC7:01E8 _fadepal + 0FC7:07E8 _cop_fadepal + 1061:0000 idle _jmp_tau + 1061:07D0 idle _xx + 1061:07D2 _yy + 1061:07D4 idle _yy1 + 1061:07D8 _xx1 + 1061:07DC idle _yy2 + 1061:07E0 _xx2 + 1061:07E4 idle _ay1 + 1061:07E8 _ax1 + 1061:07EC idle _ay2 + 1061:07F0 _ax2 + 1061:07F4 _txx1 + 1061:07F8 _txy1 + 1061:07FC _txx2 + 1061:0800 _txy2 + 1061:0804 _tax1 + 1061:0808 _tay1 + 1061:080C _tax2 + 1061:0810 _tay2 + 1061:0814 _to + 1061:0818 _from + 1061:081C _dseg + 1061:081E _ctau + 1061:0824 _do_block + 1061:2584 _shadepal + 1061:2612 _do_clear + 12CC:0012 idle _scr_seg + 12CC:0014 _tw_opengraph + 12CC:0035 _tw_opengraph2 + 12CC:0062 idle _tw_clrscr + 12CC:007C idle _tw_closegraph + 12CC:0082 idle _tw_putpixel + 12CC:00BB idle _tw_getpixel + 12CC:00F2 idle _tw_setpalette + 12CC:010B idle _tw_setpalarea + 12CC:012C idle _tw_setstart + 12CC:0141 idle _tw_pictovmem + 12CC:01BF idle _tw_waitvr + 12CC:01CD _tw_setrgbpalette + 12EA:0007 _plz + 12EA:02B1 idle _init_plz + 136D:0001 _initvect + 136D:02D7 _do_poly + 136D:0C5C _clear + 1438:0003 _vect + 1438:00B4 idle _calculate + 1438:0177 idle _count_const + 1438:043C idle _rotate + 1438:0556 idle _sort_faces + 1438:079F idle _draw + 1438:08C5 idle _swappage + 14D7:0009 _main + 14DA:0000 idle _dis_version + 14DA:0023 idle _dis_waitb + 14DA:0040 _dis_partstart + 14DA:005A _dis_exit + 14DA:0060 idle _dis_indemo + 14DA:0066 idle _dis_msgarea + 14DA:0073 idle _dis_muscode + 14DA:0080 _dis_musplus + 14DA:008F idle _dis_musrow + 14DA:009B idle _dis_setcopper + 14DA:00AE _dis_setmframe + 14DA:00BE _dis_getmframe + 14DA:00CA idle _dis_sync + 14E7:1084 _getspl + 160F:2152 e086_Entry + 160F:26E0 e086_Shortcut + 1887:0306 e087_Entry + 1887:03C6 e087_Shortcut + 1887:0430 e087_Trap + 18E4:0000 _kuva1 + 1CE4:0000 _dist1 + 24E4:0000 _kuva2 + 28E4:0000 _kuva3 + 2CE4:0000 _sinit + 2CE4:0200 _kosinit + 2D85:0000 _vmem + 2D85:0004 idle _buu + 2DC4:0000 idle _fpal + 2DF4:0000 idle DATASEG@ + 2DF4:005B idle __Int0Vector + 2DF4:005F idle __Int4Vector + 2DF4:0063 idle __Int5Vector + 2DF4:0067 idle __Int6Vector + 2DF4:006B idle __C0argc + 2DF4:006D idle __C0argv + 2DF4:0071 idle __C0environ + 2DF4:0075 idle __envLng + 2DF4:0077 idle __envseg + 2DF4:0079 idle __envSize + 2DF4:007B __psp + 2DF4:007D idle __osversion + 2DF4:007D idle __osmajor + 2DF4:007D __version + 2DF4:007E idle __osminor + 2DF4:007F _errno + 2DF4:0081 idle __StartTime + 2DF4:0085 idle ___brklvl + 2DF4:0087 __heapbase + 2DF4:008B __brklvl + 2DF4:008F __heaptop + 2DF4:0094 idle _ptau + 2DF4:0194 idle _curpal + 2DF4:0196 idle _timetable + 2DF4:01AA idle _ttptr + 2DF4:01AC _l1 + 2DF4:01AE _l2 + 2DF4:01B0 _l3 + 2DF4:01B2 _l4 + 2DF4:01B4 _k1 + 2DF4:01B6 _k2 + 2DF4:01B8 _k3 + 2DF4:01BA _k4 + 2DF4:01BC _il1 + 2DF4:01BE _il2 + 2DF4:01C0 _il3 + 2DF4:01C2 _il4 + 2DF4:01C4 _ik1 + 2DF4:01C6 _ik2 + 2DF4:01C8 _ik3 + 2DF4:01CA _ik4 + 2DF4:01CC idle _inittable + 2DF4:026C idle _clrptr + 2DF4:026E idle _kuvataus + 2DF4:0276 idle _disttaus + 2DF4:02A2 idle _object + 2DF4:2B0C idle _polys + 2DF4:2B0E idle _light_src + 2DF4:2B1A idle _lls + 2DF4:2B26 _kx + 2DF4:2B28 _ky + 2DF4:2B2A _kz + 2DF4:2B2C _dis + 2DF4:2B2E _tx + 2DF4:2B30 _ty + 2DF4:2B32 _ls_kx + 2DF4:2B34 _ls_ky + 2DF4:2B36 _ls_kz + 2DF4:2B38 idle _ls_x + 2DF4:2B3A idle _ls_y + 2DF4:2B3C idle _ls_z + 2DF4:2B3E idle _page + 2DF4:2B40 idle _frames + 2DF4:2B50 __8087 + 2DF4:2B60 __protected + 2DF4:2B61 __LDT + 2DF4:2B64 __default87 + 2DF4:2B66 idle __huge_flt + 2DF4:2B6A __huge_dble + 2DF4:2B72 idle __huge_ldble + 2DF4:2B7C idle __indefinite + 2DF4:2B80 idle __tiny_ldble + 2DF4:2B8A __mathwhy + 2DF4:2D1A __atexitcnt + 2DF4:2D1C __ctype + 2DF4:2E1E __exitbuf + 2DF4:2E22 idle __exitfopen + 2DF4:2E26 idle __exitopen + 2DF4:2E2A __streams + 2DF4:2FBA __nfile + 2DF4:2FBC __openfd + 2DF4:2FE4 __fpstklen + 2DF4:2FE6 idle __doserrno + 2DF4:2FE8 idle __dosErrorToSV + 2DF4:3042 __stklen + 2DF4:30E6 __RealCvtVector + 2DF4:30EA idle __ScanTodVector + 2DF4:3108 idle _pals + 2DF4:5508 idle _clrtau + 2DF4:7508 _pal + 2DF4:7808 idle _siny + 2DF4:7888 idle _sinx + 2DF4:7908 idle _sini + 2DF4:88A8 idle _czz + 2DF4:88AA idle _czy + 2DF4:88AC idle _czx + 2DF4:88AE idle _cyz + 2DF4:88B0 idle _cyy + 2DF4:88B2 idle _cyx + 2DF4:88B4 idle _cxz + 2DF4:88B6 idle _cxy + 2DF4:88B8 idle _cxx + 2DF4:88BA idle _ptodraw + 2DF4:8CBA __atexittbl + 2DF4:8D3A ___SignalPtr + 36C8:0000 __emu + +Program entry point at 0000:0000 + diff --git a/u2orig/PLZPART.PRJ b/u2orig/PLZPART.PRJ new file mode 100755 index 0000000000000000000000000000000000000000..6978e8db1509c8d98456eb3b3ef1264f7c258434 GIT binary patch literal 6300 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 literal 0 HcmV?d00001 diff --git a/u2orig/VECT.C b/u2orig/VECT.C new file mode 100755 index 0000000..ea006eb --- /dev/null +++ b/u2orig/VECT.C @@ -0,0 +1,299 @@ +#include +#include +#include +#include +#include +#include +#include "tweak.h" + +#define SX sinit[kx] +#define SY sinit[ky] +#define SZ sinit[kz] +#define CX kosinit[kx] +#define CY kosinit[ky] +#define CZ kosinit[kz] + +extern far char (* far vmem)[160]; +extern char far pal[768]; + +extern clear(); +extern init(); +extern shadepal(char far *fpal, char far *ppal, int shade); +extern init_copper(); +extern close_copper(); +extern int far cop_rotatev; +extern far int frame_count; +extern far char * far cop_pal; +extern far int do_pal; +extern far int cop_start; +extern far int cop_scrl; + +extern int do_poly(); +extern int getspl(int where); +extern int far sinit[1024]; +extern int far kosinit[1024]; + +char far fpal[768]; + +struct object { + char name[100]; + + int pnts; + struct points_3d { + int x; + int y; + int z; + int xx; + int yy; + int zz; + int xxx; + int yyy; + } point[256]; + + int faces; + struct polygon { + int p1; + int p2; + int p3; + int p4; + int p5; + int p6; + int n; + int color; + } pg[256]; + + int lines; + struct lines { + int p1; + int p2; + int n; + int col; + } lin[256]; + } object={ + "Cube", + 8, // points + { + {125,125,125}, + {125,-125,125}, + {-125,-125,125}, + {-125,125,125}, + {125,125,-125}, + {125,-125,-125}, + {-125,-125,-125}, + {-125,125,-125}, + }, + 6, // faces + { + {1,2,3,0,0,0,0,0}, + {7,6,5,4,0,0,0,0}, + {0,4,5,1,0,0,0,1}, + {1,5,6,2,0,0,0,2}, + {2,6,7,3,0,0,0,1}, + {3,7,4,0,0,0,0,2}} + }; + +struct polygons_to_draw { + int p; + int dis; + } ptodraw[256]; +int polys=0; + +int light_src[6]={0}; +int lls[6]={0}; + +int cxx, cxy, cxz, cyx, cyy, cyz, czx, czy, czz; +int kx=0,ky=0,kz=0,dis=320,tx=0,ty=-50; +int ls_kx=0,ls_ky=0,ls_kz=0,ls_x=0,ls_y=0,ls_z=128; +int page=0; +int frames=0; + +vect() + { + int c=0,a; + + tw_opengraph(); + + while(dis_musplus()<13 && !dis_exit()); frame_count=0; + while(!dis_exit()) + { + a=dis_musplus(); + if(a>=-4 && a<0) break; + swappage(); + while(frame_count<1); frames+=frame_count; frame_count=0; + cop_pal=fpal; do_pal=1; + + calculate(1); + draw(15); + clear(); + } +// tw_closegraph(); + } + +calculate(int k) + { + int a; + static int px=0,py=256; + + getspl(4*256+frames*4); + kx=kx&1023; + ky=ky&1023; + kz=kz&1023; + ls_kx=ls_kx&1023; + ls_ky=ls_ky&1023; + + ls_y=kosinit[ls_kx]>>8; + ls_x=(sinit[ls_kx]>>8)*(sinit[ls_ky]>>8)>>7; + ls_z=(sinit[ls_kx]>>8)*(kosinit[ls_ky]>>8)>>7; + + count_const(); + rotate(); + sort_faces(); + } + +count_const() + { + //matrix equations: + //X Y Z -> nX + //X Y Z -> nY + //X Y Z -> nZ + // + // 0=Ycos*Zcos 2=Ycos*Zsin 4=-Ysin + // 6=Xsin*Zcos*Ysin 8=Xsin*Ysin*Zsin 10=Ycos*Xsin + // -Xcos*Zsin +Xcos*Zcos + //12=Xcos*Zcos*Ysin 14=Xcos*Ysin*Zsin 16=Ycos*Xcos + // +Xsin*Zsin -Xsin*Zcos + + cxx=(long)CY*(long)CZ>>15+7; + cxy=(long)CY*(long)SZ>>15+7; + cxz=-(long)SY>>7; + + cyx=((long)SX*(long)CZ+16384L>>15)*(long)SY - (long)CX*(long)SZ>>15+7; + cyy=((long)SX*(long)SY+16384L>>15)*(long)SZ + (long)CX*(long)CZ>>15+7; + cyz=(long)CY*(long)SX>>15+7; + + czx=((long)CX*(long)CZ+16384L>>15)*(long)SY + (long)SX*(long)SZ>>15+7; + czy=((long)CX*(long)SY+16384L>>15)*(long)SZ - (long)SX*(long)CZ>>15+7; + czz=(long)CY*(long)CX>>15+7; + + } + +rotate() + { + int a,b,x,y,z,xx,yy,zz; + + for(a=0;a>1) + (y*cxy>>1) + (z*cxz>>1)>>7)+tx; + object.point[a].yy=yy=((x*cyx>>1) + (y*cyy>>1) + (z*cyz>>1)>>7)+ty; + object.point[a].zz=zz=((x*czx>>1) + (y*czy>>1) + (z*czz>>1)>>7)+dis; + +/* + 1000,1000,1000 + + x*256, y*213, / ( +*/ + + object.point[a].xxx=(xx*256L)/zz+160+160; + object.point[a].yyy=(yy*142L)/zz+66; + } + } + +sort_faces() + { + int a=0,b,c,x,y,z,p=0; + long ax,ay,az,bx,by,bz,kx,ky,kz,nx,ny,nz,s,l; + + while(a0) { a++; continue; } + + s=(ls_x*nx+ls_y*ny+ls_z*nz)/250000+32; + light_src[p]=s; + c=object.pg[a].color; + if(lls[p]!=light_src[p]) + { + shadepal(&fpal[c*64*3],&pal[c*64*3], light_src[p]); + lls[p]=light_src[p]; + } + + ptodraw[p++].p=a++; + } + polys=p; + } + + +draw() + { + int a=0,b,c,f,x,y,z; + long ax,ay,az,bx,by,bz,kx,ky,kz,nx,ny,nz,s; + + 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 literal 0 HcmV?d00001 diff --git a/u2plz/SPLINE.OBJ b/u2plz/SPLINE.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..eb356491333f09589005e0e7b2f65b503a6bacd1 GIT binary patch literal 5662 zcmeHLYfzJC7CzsX`-LQY!2ltIa1Ri|B_Uk%1r)r2q6N`bg`(nWE!u*1)wK())uxLs z=&H5$rk0tuqt@MOr`omEYD@%g){)CPB@Tm6YTbQsH^|cIj9+r`~=E+9yJHC5xYZYC7aBDSP@^7`Nh!{!Duj-bg63rU=)-9sK3kGs{ zpYLWidEs>-mAIu;cqxp;lq_<~unfmt#F5&!)_d1XkXwQM2&`jaN*^-#kdP!k6zM|@ z$$ZG@Ln0EowN!XD@TR>NsMxX=frV1DCY;m55}MA9r$@L6RK-oCncO6r%}u5`Tq!-yl~FA> zh3dGew2&*OC%9>}gqu#wxJT$Iu9B8>GiW6j;q9F((rM)tlPV{bPnEM`I^Yh%mSF6R z8FBb1zCZtJ#4%jMW?zNceATlsg}#;|I_|4qC+gkoi+K3$3+Nb;uSZ61nt6!5 z1^lJe<74lrUl#n*!g?5ww^{J@aBLpZ2-@I(F%NFKpWDhCJ4*r*k%VNVBsFoQ zBRv`MFF7-%l8ti7MI}^56*QaX(-LZ=HMEXeX*=zvee@w6r*7({@91ANL<%O1iDzs~ z5mU}oGxf|GW&`sYvzPgp>1O`P++k};)`Nd5+fNanJ-x@X_tI1@kpf7WNDdnnRJu%p!BTtC#g|ZB&(CX zBzsSGS~egv$cy9)aw4QZBznxWF->Fkk2yC+rE}`)b+7BX zb$4{Bp>snwhJF&-7itVE4{HkhW7vhT;PA2Gjp6O#--L_x+4@ELSM*)_pY@iA>WJ2e zV-fukv4$Cj^@a}(*9`i|vdCv6_eY+O)N{nU9+L%#lfDNvo6IP3lP!C)< zes9&K6{amo+nRPX?OK{P-I=~Hy)FH4`o(lbhCO3W#tRwyGQP>UlM$C$mf4uOBlFYD ztC?zBmTk7}IosQ|Zd<=C)b6y`+Sl9n*#Bz3We?5D%c{&KeN{7`k&C%f4 z;`qSvcgKJuEITLr(d<>(uVf#}KASy|t;@0JROCFJ)0(p{rz^*k)8`%ay$WG&bS|I! zSne~qn{(gGJ(+ts_inB}&z?6mZ&BX!d9UUj%SN@^= zuktVF59X^1VheH#rWDi`tSE37yjHNk;CR8A0#CtUf!t|uraF0NxwFQ(%-Q5@b-v-; z=RD%KEJpU2npEBWX74g6OAP5vGJPyAv2IN!y8&G+)> zc@KYszr_#ocX^>p=2E$|u25Hm%jk-6#kI81H=t@860zo<}_Oh-)U|D@2@T#H;36{x;(8 zMIJ|x&l||A3Hj9^PagRioO0(N@;`$*>_%q0{!}UFlYqaO+at3g%hj6{C zaLqZ{Vc7$?_78CV4QKef_MmlY(L$m2ezeouXsg+1FSYF| zT5Shft}HVy^A1{YA6jt^T2hg55$)NAHg%?J)32dzx1xOu({yRyqn)>+t$C}~>Oq^g zqTRDo6{+XY{_8LXDV8CO#9J7Ri762&H!v!jFf#UJadHnvXf;MDGN}(^)rRrPFtg^< z7`H}@oi_0jMsO`gF*e~A#&R>pGb5hjPhnh_Vr-Rh-(rMUW0XTLNA-XzR)8`%<9X1>v!D@urkX%k#;`t6*G5oSYUmx%+3TP+r%t6i2byaF-9?Y- z2lZ_M1v)~cA-$l)HK0b5wjVV4GUzg&Q*jqSpD%(&Q-hh{GoaNqpw~FfkD%IJpxjcm zN&N#Tcqgd1R28in05!LRqNjtZDd;R{dp+pep;Rk9p!4mZ^-@KgVhA+qvD7+dRqtpod-r7b-zT`k2X?^-VC(PFLfu9d#E(7RN5 zm+JOjW_n9;W`IvjfDbq7Q_Mc-WDjtP3vdbvaQcroIRcy#0-SUKPGavmFua@qCv$*P zSb&rCL8rU`r{n-9eSnkvL8pQMCrf~nA;3xbpc5b9WDRgK1~{qicRED$`<_Q%!k_m3 ziyt-BbE8iF<@49xrOyT{na_2w7?>573!4n9g3W_1g*CxiU@ybof*ph%gMA6>fn9_B zP|0*KuppQbmJD;i#={1XqB|%vnol)$tpp|S5<7s Y->}zHCG7Y|mAK<#mB{lu^y~6}0|=|}Jpcdz literal 0 HcmV?d00001 diff --git a/u2plz/VECT.OBJ b/u2plz/VECT.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..e3d817724fa62edf266ea6067b9605c7e49eba21 GIT binary patch literal 18126 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 Of?ZQaZNd+Toc|4Hcg=_Z literal 0 HcmV?d00001 -- 2.39.5