From 6983078cfdd9c99088c7c14d126224985a672c01 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 5 Feb 2016 14:27:15 -0600 Subject: [PATCH] ww --- PLZPART/ASMYT.ASM | 119 ++++ PLZPART/ASMYT.OBJ | Bin 0 -> 55949 bytes PLZPART/COPPER.ASM | 300 ++++++++++ PLZPART/DISC.OBJ | Bin 0 -> 1671 bytes PLZPART/INCLUDE.ASM | 40 ++ PLZPART/INCLUDE.OBJ | Bin 0 -> 3301 bytes PLZPART/LSINI.PRE | 513 +++++++++++++++++ PLZPART/LSINI16.INC | 513 +++++++++++++++++ PLZPART/LSINI4.INC | 513 +++++++++++++++++ PLZPART/MAIN.ASM | 634 +++++++++++++++++++++ PLZPART/MAIN.C | 13 + PLZPART/MAIN.OBJ | Bin 0 -> 616 bytes PLZPART/PLZ.C | 219 ++++++++ PLZPART/PLZ.OBJ | Bin 0 -> 5798 bytes PLZPART/PLZA.ASM | 375 +++++++++++++ PLZPART/PLZA.OBJ | Bin 0 -> 17912 bytes PLZPART/PLZFILL.C | 186 +++++++ PLZPART/PLZFILL.OBJ | Bin 0 -> 7898 bytes PLZPART/PLZPART.DSK | Bin 0 -> 2857 bytes PLZPART/PLZPART.MAP | 827 ++++++++++++++++++++++++++++ PLZPART/PLZPART.PRJ | Bin 0 -> 7077 bytes PLZPART/PSINI.INC | 1025 ++++++++++++++++++++++++++++++++++ PLZPART/PSINI.PRE | 513 +++++++++++++++++ PLZPART/PTAU.INC | 10 + PLZPART/PTAU.PRE | 10 + PLZPART/RATA.INC | 52 ++ PLZPART/SINIT.INC | 163 ++++++ PLZPART/SPLINE.ASM | 89 +++ PLZPART/SPLINE.INC | 1025 ++++++++++++++++++++++++++++++++++ PLZPART/SPLINE.OBJ | Bin 0 -> 5662 bytes PLZPART/TILE.INC | 1272 +++++++++++++++++++++++++++++++++++++++++++ PLZPART/TILEPAL.INC | 50 ++ PLZPART/TWEAK.ASM | 350 ++++++++++++ PLZPART/TWEAK.H | 12 + PLZPART/TWEAK.OBJ | Bin 0 -> 2733 bytes PLZPART/VECT.C | 299 ++++++++++ PLZPART/VECT.OBJ | Bin 0 -> 18054 bytes PLZPART/X.BAT | 2 + 38 files changed, 9124 insertions(+) create mode 100755 PLZPART/ASMYT.ASM create mode 100755 PLZPART/ASMYT.OBJ create mode 100755 PLZPART/COPPER.ASM create mode 100755 PLZPART/DISC.OBJ create mode 100755 PLZPART/INCLUDE.ASM create mode 100755 PLZPART/INCLUDE.OBJ create mode 100755 PLZPART/LSINI.PRE create mode 100755 PLZPART/LSINI16.INC create mode 100755 PLZPART/LSINI4.INC create mode 100755 PLZPART/MAIN.ASM create mode 100755 PLZPART/MAIN.C create mode 100755 PLZPART/MAIN.OBJ create mode 100755 PLZPART/PLZ.C create mode 100755 PLZPART/PLZ.OBJ create mode 100755 PLZPART/PLZA.ASM create mode 100755 PLZPART/PLZA.OBJ create mode 100755 PLZPART/PLZFILL.C create mode 100755 PLZPART/PLZFILL.OBJ create mode 100755 PLZPART/PLZPART.DSK create mode 100755 PLZPART/PLZPART.MAP create mode 100755 PLZPART/PLZPART.PRJ create mode 100755 PLZPART/PSINI.INC create mode 100755 PLZPART/PSINI.PRE create mode 100755 PLZPART/PTAU.INC create mode 100755 PLZPART/PTAU.PRE create mode 100755 PLZPART/RATA.INC create mode 100755 PLZPART/SINIT.INC create mode 100755 PLZPART/SPLINE.ASM create mode 100755 PLZPART/SPLINE.INC create mode 100755 PLZPART/SPLINE.OBJ create mode 100755 PLZPART/TILE.INC create mode 100755 PLZPART/TILEPAL.INC create mode 100755 PLZPART/TWEAK.ASM create mode 100755 PLZPART/TWEAK.H create mode 100755 PLZPART/TWEAK.OBJ create mode 100755 PLZPART/VECT.C create mode 100755 PLZPART/VECT.OBJ create mode 100755 PLZPART/X.BAT diff --git a/PLZPART/ASMYT.ASM b/PLZPART/ASMYT.ASM new file mode 100755 index 0000000..692bf19 --- /dev/null +++ b/PLZPART/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/PLZPART/ASMYT.OBJ b/PLZPART/ASMYT.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..9fc337499bc085e36756695c20490c20436a62d3 GIT binary patch literal 55949 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%0DcE90lzVR6~Bs$j0=Krp7DzyoD1M*q4AT* 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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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 literal 0 HcmV?d00001 diff --git a/PLZPART/PLZA.ASM b/PLZPART/PLZA.ASM new file mode 100755 index 0000000..adc4ad3 --- /dev/null +++ b/PLZPART/PLZA.ASM @@ -0,0 +1,375 @@ + IDEAL + MODEL large + P386 + +SEGMENT lerssicode para PUBLIC 'CODE' + +PUBLIC C jmp_tau +LABEL jmp_tau 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,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199> +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/PLZPART/PLZA.OBJ b/PLZPART/PLZA.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..efa619c78ca0d9a6e51410894cdeccf485248c1c GIT binary patch literal 17912 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 +#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].y8v 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 WbR0sH<8AD4yn_Rds_k?yRR1SmcZG-m literal 0 HcmV?d00001 diff --git a/PLZPART/PLZPART.DSK b/PLZPART/PLZPART.DSK new file mode 100755 index 0000000000000000000000000000000000000000..c028df1170b578a414894d74c5387be7bc212a29 GIT binary patch literal 2857 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 t89a;Ua1_VzGJcOwc2#i z1s%1P-qbSFcGSA9cB)-lt+o`|(zUK#VW#VPt5G{LF6vO*5%)jdTD*lvKrf>CG%$bKj;0F370oK{nVl*wZ6@@ z9sxdAx}7Cj=v(gEx}77%;QOm9if2>^$CMQnAKf9L@vAsiz`VF!Nuuha!iqwn@5gc9 z10tb_QE!)$xM3}B)TY}NkrpXZ?QHdu6c&OjTlogNlZ8u5}`#r_uiYw4T1`D<{J9b_bz=7zLV= z30jyAG7W$J2y12LQ^7Ev!FFK%#1KA?^XJoiY8=8XjPL9Y+Bt-)aQ1w%GRKCn6=!!K z!}G(~_Z0CBMc|9XpZ_o(%6}LS6>}{L;euH6CBH;Op11`ISb{2LFqB@c2f(L-POJR=(I- z5|D@_BqJrMi6b59$%uc+Sty0Fkws_V`mDPGNy{DV^%X8nb(-T%qL72^H1g`!?Gc4Je$Lovej%oyMb+G_p>M1 zZnl>d2*L%ag0X_xf(Aj8V7K67!D+#Dfk0>wW(v!Mi-hZhuL}b(R`!zYJ=tklzsw*nlrNBPlz$-amJi6yiW0>$iXDn$3a>(~bSkTq8U<;}&r*bDwj4oJl)byIQ+P+oP3+I74bfwuYPt=?jS-HD%PAQTs=o z8>P~@balGdbzQo9x|Gm4p_@WK4ebpzhLwe_3Hwvng|Oi8(cul@ZQB3Umm|M{y_Ytcx}R%gocFO38xcSOS~Z|namx{!nVVUaxi+&c^UKWZ znM$Y4ImKD;-0J+$`FCf(Gb}4R>+!6WS+8Ur$~v3XpQX!oWS3_@lii%XFS|3_o89Xh z^}PyVPIL~RGc)JeoGm%;<($m9oO3@%pX|7x1P0bbc;h$FJa@=Qr}(_&51?`1kq4 z{BgdM|Az13&+}gX27imc%irgPZkb!<*1AL85pJV9#vSLjxRcygx6PgAPIqUx?Ze+0 zz-idG;<*K%i^1n3;HQPZ%q?`^$9cDKt{3O`;60sq-(kG>9lU=V;&>kM)FH0vh_3)~ zS`e?AXZhQRzXy37K|XIFuQkZ88hP@_*Wi-7?jrv)sKb8L!-Klipg!5ClPdo%YW6j1 zw+l5~hFXqAO?7z#sBahQ{3`0b5OsIt>T~bo9!}yuw%}f7;(nrYggIVZ+df?1Gq^@a zwl2FL*Ln!oyAs!&ofVeVk8A%B*I$n|usM~^>u8HMv_}=%BsB9DT4oPgrv@z)>gYo| zy^Xe-h4xb0ucFmj(Q>63=8Su2!F_1O*=R{c`bD&73)<9`rcJwsw%vyIElAa+{(yGg zhPLKyTALSb-i&t7N>QYoL;J7C7$jQkfqN?Z+UG->-llP`lV^EefE0rdGIXf!352|fc_T@89Q zYkmaP?gHhOs7>lSpx~XL;u2M~svp$c28x~vs-~c`pzRHyZ>LhN^n%WJfYwVCX2k$# z{sYkc0?@ue-VX_Q4^mJINifQOf;=3QrtIuxnHKeCC`KuiLn`$`McSYy^Pnm*5>|2% zD$@qFSpd~Z6f49xph5?rMk}F81yCoM=mwPP5EN@2l&cI1W)KR5*P&=1L)n_3aI>Lw zsZczDpcm?Q0xH-FHLQm!mO>rlp^_|n6N=dd<=hJe-3TSEgQAu}S?y5RFh;=)Kykl^ z@^(RiKY|kPh9WmZnO8%h7elFML9t7r+-@ki9ZGJ2q8p*?Iw-svN-u-ri=g~Ne|W(E z*@=wPDyM%+q>5_#y}0Si&#p>8J1-R6Tf{J;G6y(?1UUW2o16ho@c~Y{04K3; z9T;AAfRiP_DJ;NA`lwTGfKyU{lRm&n{-{%afRi=A$q?YAeAI~#aIytB83UYD4?7(q z`eXOwFX2yn|HY5$syR_7|MJCa@6zXYE0`~Iuo##PmIIpztAx#kErG3pHNjqny#+f6 zI|lm-)(yJ`yHmlmGq50-5tamV!bZc&Vb!q3u;0Qwu&uD2u)P&b=b=ib{b;4M{qssm h`^ic{``49h``@tFT`6q;N2R#^Vx`FY2lVT*e*+bw^F06n literal 0 HcmV?d00001 diff --git a/PLZPART/TILE.INC b/PLZPART/TILE.INC new file mode 100755 index 0000000..f0ca6de --- /dev/null +++ b/PLZPART/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/PLZPART/TILEPAL.INC b/PLZPART/TILEPAL.INC new file mode 100755 index 0000000..926dbd4 --- /dev/null +++ b/PLZPART/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/PLZPART/TWEAK.ASM b/PLZPART/TWEAK.ASM new file mode 100755 index 0000000..ac4f19b --- /dev/null +++ b/PLZPART/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/PLZPART/TWEAK.H b/PLZPART/TWEAK.H new file mode 100755 index 0000000..07b36c4 --- /dev/null +++ b/PLZPART/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/PLZPART/TWEAK.OBJ b/PLZPART/TWEAK.OBJ new file mode 100755 index 0000000000000000000000000000000000000000..467aca92e2c7d30ffef387e3215db614e0c8c75b GIT binary patch literal 2733 zcmZ`*4OElo6@H$4A%qwNxz&Ua&>2VyA7JZ*B8!wA1Qw#!ZtGm# zdLmJ0JIkE4J=oQ)JIoC_x&iAM(y2vhSy$K1t#d_D)YXxlv97B>>+YB6C&zUs=X-PS zeV+T=d*AbZZ?a_?V$>?9ePxclyySEs3qZQM!MC&wcj^!i#Gnwzrn zb8`0v5@5S{{=nt5n`xGSA~9FH0eDz5_wQ~`fF-P2qdHfqMu)r58NVkQ%l}A&!h74T zh^i^Ht9GNdys80!F^X~RW|#_#%iI;7;9et49~oBfN&*;L6V5%fAhxm-u3y!vpTGc*EKe`dc&|FISx3((>fj$45t#4^wHt>Xw z$4PVM8mTGUR&NC2!iWXS14h`M=aZWIS0kJOGi+n2FkwMdAV$nta&~SPwq~bkHe&5#NEh|&nJmaH9Za zC`7qLRJc%u53;#DhK>DvUvt~atwFzEEe({ayX7fyntL@L>?!R&wpYu-^UVufY0#XSjG=gz{_y* zDwgvaR`Ne6CFmwuMgvtUtfY}uG|6#~=4zT*&1rmyR@O0=>o}bajAtVg*vuJhVUoNB z$@DXYn>dS`nZ~bjHowkvKF$n&iYX_j>Wz`_#6=OZsO1DxjL`JfX@c>S>pF*f6}%BYToJsK zvtOV?q8h9=Z5>l`+I|Rh8A9R>zGny)nFmLW%E{l3Dkld=4a&)2sbyXuZq1a$5hYk; zx3A!SJLV38$4IHnbpmSiKkV%x?-UDmeqp|D(rsj@0(r^$%mV-^vX?EVp@H_8^0 ziMk9u3=Lj1ys-7Ca^|w2TaQv`!s#^_ZUGE80OKuyasx2m1Zt|IGuI6F|4F&@qIts= yS^QVR6NFnfO%%vBOlZ9ai>wpJhL`M1#^Gv}hd0Z!O`exj9{HTg$J^x3rT@RKvIs5! literal 0 HcmV?d00001 diff --git a/PLZPART/VECT.C b/PLZPART/VECT.C new file mode 100755 index 0000000..ea006eb --- /dev/null +++ b/PLZPART/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; + + for(a=0;aMs$6RJmz(;KK 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