;***************************************************************************** ; PACMAN4K source code - released first in HUGI diskmag issue #20 ; 8th at ASM2K on 03/08/2000 - all code by KOZMIK/NEXTEMPIRE ; "A fully playable pacMan level in 4089 bytes" ; TASM /la /kh1024 PACMAN4K.ASM ; TLINK /3 /m3 PACMAN4K.OBJ ; APACK -ST PACMAN4K.EXE ; MOVE OUT.EXE PACMAN4K.COM ; DEL PACMAN4K.EXE ; DEL PACMAN4K.MAP ; DEL PACMAN4K.OBJ ; DIR PACMAN4K.COM ;----------------------------------------------------------------------------- ; Assembler directives ;----------------------------------------------------------------------------- .486P ;----------------------------------------------------------------------------- ; Structures ;----------------------------------------------------------------------------- Descriptor STRUC Seg_limit DW 4*(4*1+2*2) ;segment limit Base_A15_A00 DW ? ;A00..A15 of base address Base_A23_A16 DB ? ;A16..A23 of base address Access_rights DB ? ;segment access rights GDLimit_A19_A16 DB ? ;granularity, Op-size, Limit A16..A19 Base_A31_A24 DB ? ;A24..A31 of base address Descriptor ENDS ;----------------------------------------------------------------------------- ; Equates & macros ;----------------------------------------------------------------------------- MAZEHEIGHT EQU 31 MAZEWIDTH EQU 28 SPRIHEIGHT EQU 12 SPRIWIDTH EQU 24 CHARMAX EQU 05 ;164=3000/18.207 3khz sound NEWRATE EQU 164; 280; 140;365;120;240;80 ; number of times to increase SPEED EQU 4 G1 EQU 800*32 BPTR EQU BYTE PTR WPTR EQU WORD PTR DPTR EQU DWORD PTR QPTR EQU QWORD PTR ;----------------------------------------------------------------------------- ; .DAT ;----------------------------------------------------------------------------- _DATA SEGMENT PARA PUBLIC USE16 'DATA' GDT386 Descriptor <> SELCS4G equ $-GDT386 GDTCS4G Descriptor <-1,,,9bh,8fh,> ; CS Descriptor SELDS4G equ $-GDT386 GDTDS4G Descriptor <-1h,0,0h,93h,8fh,0h> ; 4G Descriptor SELSS4G equ $-GDT386 GDTSS4G Descriptor <-1h,0,0h,93h,8fh,0h> ; 4G Descriptor GDTSIZ equ ($-GDT386) - 1 marqueecol dw 1 lifecnt dw 4 dw 12 dw -2 dw 14 ADPCMTTL DB 10000000B DB 01000000B DB 00100000B DB 00010000B DB 00001000B DB 00000100B DB 00000010B DB 00000001B DB 00000000B ghostnum dd 0 ; blue ghost number eaten ghosttime dd 0 ; blue ghost countdown timer ghoststate dd 0 ; blue ghost flag cherrytime dd 0 ; cherrycountdown timer cherrystate dd 0 ; cherry state democount dw 0 bytecnt dw 0 bitcnt dw 0 oneeveryfour dd 0 ; score_num dd 0 pillstate dw 0 score_str2 db 0 score_str3 db 15 dup (0) countdown dw 0; NEWRATE ; countdown timer INT08H DD 0 ;INT08H=ROMFONTS-BANKINFSIZ BANKINFSIZ EQU ($-offset INT08H) romfonts DD 0 ;+000; #5. 8x8 ROM fonts ptr (0-128-255) DD 0 ;+004; #4. 8x8 ROM fonts ptr (0-255) DD 0 ;+008; #3. 8x14 ROM fonts ptr (0-255) DD 0 ;+012; #2. int 43h ptr DD 0 ;+016; #1. int 1fh ptr PHYSCR DD 0 LOGSCR DD 0 SAMPNUM DD 1 ;PHYSCR=SOUND1-SAMPINFSIZ SAMPINFSIZ EQU ($-offset PHYSCR) ; bank beg size ;---- ---- ---- ---- ; +000 +004 +008 SOUND1 DD 0002,0355,0050 ; back SOUND2 DD 0002,0355-13,0050 ; ghost back SOUND3 DD 0002,0355-13,0050 ; dot SOUND4 DD 0002,0355-13-13,0050 ; ghost dot ;SOUND1 DD 0001,0355,0050 ; back ;SOUND2 DD 0001,0355,0050 ; ghost back ;SOUND3 DD 0001,0655,0054 ; dot ;SOUND4 DD 0001,0355,0050 ; ghost dot ;SOUND5 DD 0005,0620,0055 ; ghost dot done nodots ;SOUND6 DD 0002,0655,0055 ; ghost eat ;SOUND7 DD 0002,0655,0055 ; prize done ;SOUND8 DD 0002,0655,0055 ; death pal_state1 DB 8,255,255,255;powerpill white DB 11,191, 0, 0;ghost #1 red DB 4, 0,250,255;ghost #2 turquoise DB 9,255, 79,191;ghost #3 pink DB 13, 63, 47, 15;ghost #4 orange DB 7,255,255,255;dots white DB 8, 0, 0, 0;powerpill black pal_state2 DB 8,255,255,255;powerpill white DB 11, 0, 0,255;ghost #1 blue DB 4, 0, 0,255;ghost #2 blue DB 13, 0, 0,255;ghost #3 blue DB 9, 0, 0,255;ghost #4 blue DB 7,255,255,255;dots white DB 8, 0, 0, 0;powerpill black pal_state3 DB 8,255,255,255;powerpill white DB 11,255,255,255;ghost #1 blue DB 4,255,255,255;ghost #2 blue DB 13,255,255,255;ghost #3 blue DB 9,255,255,255;ghost #4 blue DB 7,255,255,255;dots white DB 8, 0, 0, 0;powerpill black pacpal db 14 ; PACMAN ;index 14 db 11 ; GHOST1 db 4 ; GHOST2 db 13 ; GHOST3 db 9 ; GHOST4 db 12 ; CHERRY ;below are fixed indexed "strucs" per character to be addressed through ebp ; ;-------------- character 0 = pacman -----------------------------------;---- paccordx dd (800*(35+24*16)+160+14*16+8-800*60-176)+800*2+6-4 ;+000 pacmazex dd ((MAZEWIDTH/02)*1) ;+004 pacmazey dd ((MAZEWIDTH*23)*1);24 ;+008 pacstart dd OFFSET S3 ; base offset of pacindex ;+012 pacstartprev dd 0 ;+016 paccount dd 0 ; pacindex count ;+020 pacoldkey dd 0 ;+024 pacflag dd 1 ;+028 packeytab dd offset KEYTAB ;+032 pacresoff dd 0 ;+036 pactile dd 0 ;+040 pacprevcoord dd 0 ;+044 pacprevtile dd 0 ;+048 charstructsiz equ ($-offset paccordx) ;-------------- character 1 = ghost1 -----------------------------------;---- paccordx1 dd (800*(35+12*16)+160+14*16+8-800*60-176)+800*2+6-4 ;+000 pacmazex1 dd ((MAZEWIDTH/02)*1) ;+004 pacmazey1 dd ((MAZEWIDTH*11)*1);24 ;+008 pacstart1 dd OFFSET T3 ; base offset of pacindex ;+012 pacstartprev1 dd 0 ;+016 paccount1 dd 0 ; pacindex count ;+020 pacoldkey1 dd 0 ;+024 pacflag1 dd 0 ; 0 =cpu 1=usr ;+028 packeytab1 dd offset KEYTAB1 ;+032 pacresoff1 dd 0 ;+036 pactile1 dd 0 ;+040 pacprevcoord1 dd 0 ;+044 pacprevtile1 dd 0 ;+048 ;-------------- character 2 = ghost2 -----------------------------------;---- paccordx2 dd (800*(35+12*16)+160+14*16+8-800*60-176)+800*2+6-4 ;+000 pacmazex2 dd ((MAZEWIDTH/02)*1) ;+004 pacmazey2 dd ((MAZEWIDTH*11)*1);24 ;+008 pacstart2 dd OFFSET U2 ; base offset of pacindex ;+012 pacstartprev2 dd 0 ;+016 paccount2 dd 0 ; pacindex count ;+020 pacoldkey2 dd 0 ;+024 pacflag2 dd 0 ; 0 =cpu 1=usr ;+028 packeytab2 dd offset KEYTAB2 ;+032 pacresoff2 dd 0 ;+036 pactile2 dd 0 ;+040 pacprevcoord2 dd 0 ;+044 pacprevtile2 dd 0 ;+048 ;-------------- character 3 = ghost3 -----------------------------------;---- paccordx3 dd (800*(35+12*16)+160+14*16+8-800*60-176)+800*2+6-4 ;+000 pacmazex3 dd ((MAZEWIDTH/02)*1) ;+004 pacmazey3 dd ((MAZEWIDTH*11)*1);24 ;+008 pacstart3 dd OFFSET V3 ; base offset of pacindex ;+012 pacstartprev3 dd 0 ;+016 paccount3 dd 0 ; pacindex count ;+020 pacoldkey3 dd 0 ;+024 pacflag3 dd 0 ; 0 =cpu 1=usr ;+028 packeytab3 dd offset KEYTAB3 ;+032 pacresoff3 dd 0 ;+036 pactile3 dd 0 ;+040 pacprevcoord3 dd 0 ;+044 pacprevtile3 dd 0 ;+048 ;-------------- character 4 = ghost4 -----------------------------------;---- paccordx4 dd (800*(35+14*16)+160+14*16+8-800*60-176)+800*2+6-4 ;+000 pacmazex4 dd ((MAZEWIDTH/02)*1) ;+004 pacmazey4 dd ((MAZEWIDTH*13)*1);24 ;+008 pacstart4 dd OFFSET W4 ; base offset of pacindex ;+012 pacstartprev4 dd 0 ;+016 paccount4 dd 0 ; pacindex count ;+020 pacoldkey4 dd 0 ;+024 pacflag4 dd 0 ; 0 =cpu 1=usr ;+028 packeytab4 dd offset KEYTAB4 ;+032 pacresoff4 dd 0 ;+036 pactile4 dd 0 ;+040 pacprevcoord4 dd 0 ;+044 pacprevtile4 dd 0 ;+048 ;-------------- usr key table-------------------------------------------;---- KEYTAB DB 72,0 DD OFFSET S1 ;up DB 80,0 DD OFFSET S2 ;down DB 75,0 DD OFFSET S3 ;left DB 77,0 DD OFFSET S4 ;right ;-------------- cpu key table-1-----------------------------------------;---- KEYTAB1 DB 0,1 DD OFFSET T1 ;up DB 1,0 DD OFFSET T2 ;down DB 2,3 DD OFFSET T3 ;left DB 3,2 DD OFFSET T4 ;right ;-------------- cpu key table-2-----------------------------------------;---- KEYTAB2 DB 0,1 DD OFFSET U1 ;up DB 1,0 DD OFFSET U2 ;down DB 2,3 DD OFFSET U3 ;left DB 3,2 DD OFFSET U4 ;right ;-------------- cpu key table-3-----------------------------------------;---- KEYTAB3 DB 0,1 DD OFFSET V1 ;up DB 1,0 DD OFFSET V2 ;down DB 2,3 DD OFFSET V3 ;left DB 3,2 DD OFFSET V4 ;right ;-------------- cpu key table-4-----------------------------------------;---- KEYTAB4 DB 0,1 DD OFFSET W1 ;up DB 1,0 DD OFFSET W2 ;down DB 2,3 DD OFFSET W3 ;left DB 3,2 DD OFFSET W4 ;right charnum dd 0 DOTNUMS db 0 ;S1=up S2=down S3=left S4=right ; sprite#1/4 ;sprite#2/4 ;sprite#3/4 ;sprite#4/4 ;phy. off. ;log. x;log. y ; +00 ;+04 ;+08 ;+12 ;+16 ;+20 ;+24 ;------------- PACMAN S1 DD 448+96*0+32*2+2+800+G1*0,448+96*2+32*0+2+800+G1*0,448+96*2+32*1+2+800+G1*0,448+96*2+32*0+2+800+G1*0,-800*SPEED, 0,-(MAZEWIDTH*1) S2 DD 448+96*0+32*2+2+800+G1*0,448+96*3+32*0+2+800+G1*0,448+96*3+32*1+2+800+G1*0,448+96*3+32*0+2+800+G1*0,+800*SPEED, 0,+(MAZEWIDTH*1) S3 DD 448+96*0+32*2+2+800+G1*0,448+96*1+32*0+2+800+G1*0,448+96*1+32*1+2+800+G1*0,448+96*1+32*0+2+800+G1*0,-001*SPEED, -1, 0 S4 DD 448+96*0+32*2+2+800+G1*0,448+96*0+32*0+2+800+G1*0,448+96*0+32*1+2+800+G1*0,448+96*0+32*0+2+800+G1*0,+001*SPEED, +1, 0 ;------------- GHOST1 T1 DD 448+96*0+32*2+2+800+G1*1,448+96*2+32*0+2+800+G1*1,448+96*2+32*1+2+800+G1*1,448+96*2+32*0+2+800+G1*1,-800*SPEED, 0,-(MAZEWIDTH*1) T2 DD 448+96*0+32*2+2+800+G1*1,448+96*3+32*0+2+800+G1*1,448+96*3+32*1+2+800+G1*1,448+96*3+32*0+2+800+G1*1,+800*SPEED, 0,+(MAZEWIDTH*1) T3 DD 448+96*0+32*2+2+800+G1*1,448+96*1+32*0+2+800+G1*1,448+96*1+32*1+2+800+G1*1,448+96*1+32*0+2+800+G1*1,-001*SPEED, -1, 0 T4 DD 448+96*0+32*2+2+800+G1*1,448+96*0+32*0+2+800+G1*1,448+96*0+32*1+2+800+G1*1,448+96*0+32*0+2+800+G1*1,+001*SPEED, +1, 0 ;------------- GHOST2 U1 DD 448+96*0+32*2+2+800+G1*2,448+96*2+32*0+2+800+G1*2,448+96*2+32*1+2+800+G1*2,448+96*2+32*0+2+800+G1*2,-800*SPEED, 0,-(MAZEWIDTH*1) U2 DD 448+96*0+32*2+2+800+G1*2,448+96*3+32*0+2+800+G1*2,448+96*3+32*1+2+800+G1*2,448+96*3+32*0+2+800+G1*2,+800*SPEED, 0,+(MAZEWIDTH*1) U3 DD 448+96*0+32*2+2+800+G1*2,448+96*1+32*0+2+800+G1*2,448+96*1+32*1+2+800+G1*2,448+96*1+32*0+2+800+G1*2,-001*SPEED, -1, 0 U4 DD 448+96*0+32*2+2+800+G1*2,448+96*0+32*0+2+800+G1*2,448+96*0+32*1+2+800+G1*2,448+96*0+32*0+2+800+G1*2,+001*SPEED, +1, 0 ;------------- GHOST3 V1 DD 448+96*0+32*2+2+800+G1*3,448+96*2+32*0+2+800+G1*3,448+96*2+32*1+2+800+G1*3,448+96*2+32*0+2+800+G1*3,-800*SPEED, 0,-(MAZEWIDTH*1) V2 DD 448+96*0+32*2+2+800+G1*3,448+96*3+32*0+2+800+G1*3,448+96*3+32*1+2+800+G1*3,448+96*3+32*0+2+800+G1*3,+800*SPEED, 0,+(MAZEWIDTH*1) V3 DD 448+96*0+32*2+2+800+G1*3,448+96*1+32*0+2+800+G1*3,448+96*1+32*1+2+800+G1*3,448+96*1+32*0+2+800+G1*3,-001*SPEED, -1, 0 V4 DD 448+96*0+32*2+2+800+G1*3,448+96*0+32*0+2+800+G1*3,448+96*0+32*1+2+800+G1*3,448+96*0+32*0+2+800+G1*3,+001*SPEED, +1, 0 ;------------- GHOST4 W1 DD 448+96*0+32*2+2+800+G1*4,448+96*2+32*0+2+800+G1*4,448+96*2+32*1+2+800+G1*4,448+96*2+32*0+2+800+G1*4,-800*SPEED, 0,-(MAZEWIDTH*1) W2 DD 448+96*0+32*2+2+800+G1*4,448+96*3+32*0+2+800+G1*4,448+96*3+32*1+2+800+G1*4,448+96*3+32*0+2+800+G1*4,+800*SPEED, 0,+(MAZEWIDTH*1) W3 DD 448+96*0+32*2+2+800+G1*4,448+96*1+32*0+2+800+G1*4,448+96*1+32*1+2+800+G1*4,448+96*1+32*0+2+800+G1*4,-001*SPEED, -1, 0 W4 DD 448+96*0+32*2+2+800+G1*4,448+96*0+32*0+2+800+G1*4,448+96*0+32*1+2+800+G1*4,448+96*0+32*0+2+800+G1*4,+001*SPEED, +1, 0 credits db 13,10 db " PACMAN 4 KILOBYTES"; PLAYER 1 ",13,10;CRLF$ db 47 dup (' ') db "PLAYER 1 ",13,10," a NEXTEMPIRE intro" db 13,10 db " ASM'2000 demoparty",13,10,13,10 DB " 0 1 2 3 4 5 6 7 8 9 00",24h ;maze actual WIDTH=28 MAZE DB 001H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,003H,01DH,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,002H,01EH TTL_PRIZE DB 004H,0C5H,085H,085H,085H,085H,0C5H,085H,085H,085H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,085H,085H,085H,0C5H,085H,085H,085H,085H,0C5H,018H DB 004H,085H,007H,008H,008H,009H,085H,007H,008H,008H,008H,009H,085H,006H,00BH,085H,007H,008H,008H,008H,009H,085H,007H,008H,008H,009H,085H,018H DB 004H,08AH,006H,000H,000H,00BH,085H,006H,000H,000H,000H,00BH,085H,006H,00BH,085H,006H,000H,000H,000H,00BH,085H,006H,000H,000H,00BH,08AH,018H DB 004H,085H,00CH,00DH,00DH,00EH,085H,00CH,00DH,00DH,00DH,00EH,085H,00CH,00EH,085H,00CH,00DH,00DH,00DH,00EH,085H,00CH,00DH,00DH,00EH,085H,018H DB 004H,0C5H,085H,085H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,085H,085H,0C5H,018H DB 004H,085H,007H,008H,008H,009H,085H,007H,009H,085H,007H,008H,008H,008H,008H,008H,008H,009H,085H,007H,009H,085H,007H,008H,008H,009H,085H,018H DB 004H,085H,00CH,00DH,00DH,00EH,085H,006H,00BH,085H,00CH,00DH,00DH,00FH,014H,00DH,00DH,00EH,085H,006H,00BH,085H,00CH,00DH,00DH,00EH,085H,018H DB 004H,0C5H,085H,085H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,085H,085H,0C5H,018H DB 010H,011H,011H,011H,011H,009H,085H,006H,013H,008H,008H,009H,000H,006H,00BH,000H,007H,008H,008H,01CH,00BH,085H,007H,011H,011H,011H,011H,020H DB 000H,000H,000H,000H,000H,004H,085H,006H,014H,00DH,00DH,00EH,000H,00CH,00EH,000H,00CH,00DH,00DH,00FH,00BH,085H,018H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,004H,085H,006H,00BH,040H,000H,000H,040H,000H,000H,040H,000H,000H,040H,006H,00BH,085H,018H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,004H,085H,006H,00BH,000H,015H,011H,016H,097H,097H,021H,011H,022H,000H,006H,00BH,085H,018H,000H,000H,000H,000H,000H ; DB 002H,002H,002H,002H,002H,00EH,085H,00CH,00EH,000H,018H,000H,000H,000H,000H,000H,000H,004H,000H,00CH,00EH,085H,00CH,002H,002H,002H,002H,002H ; DB 000H,000H,000H,000H,000H,000H,0C5H,000H,000H,040H,018H,000H,000H,040H,040H,000H,000H,004H,040H,000H,000H,0C5H,000H,000H,000H,000H,000H,000H ; DB 011H,011H,011H,011H,011H,009H,085H,007H,009H,000H,018H,000H,000H,000H,000H,000H,000H,004H,000H,007H,009H,085H,007H,011H,011H,011H,011H,011H DB 002H,002H,002H,002H,002H,00EH,085H,00CH,00EH,000H,018H,038H,038H,000H,000H,038H,038H,004H,000H,00CH,00EH,085H,00CH,002H,002H,002H,002H,002H DB 000H,000H,000H,000H,000H,000H,0C5H,000H,000H,040H,018H,038H,000H,040H,040H,000H,038H,004H,040H,000H,000H,0C5H,000H,000H,000H,000H,000H,000H DB 011H,011H,011H,011H,011H,009H,085H,007H,009H,000H,018H,038H,038H,038H,038H,038H,038H,004H,000H,007H,009H,085H,007H,011H,011H,011H,011H,011H DB 000H,000H,000H,000H,000H,004H,085H,006H,00BH,000H,019H,002H,002H,002H,002H,002H,002H,023H,000H,006H,00BH,085H,018H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,004H,085H,006H,00BH,040H,000H,000H,000H,000H,000H,000H,000H,000H,040H,006H,00BH,085H,018H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,004H,085H,006H,00BH,000H,007H,008H,008H,008H,008H,008H,008H,009H,000H,006H,00BH,085H,018H,000H,000H,000H,000H,000H DB 001H,002H,002H,002H,002H,00EH,085H,00CH,00EH,000H,00CH,00DH,00DH,00FH,014H,00DH,00DH,00EH,000H,00CH,00EH,085H,00CH,002H,002H,002H,002H,01EH DB 004H,0C5H,085H,085H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,085H,085H,0C5H,018H DB 004H,085H,007H,008H,008H,009H,085H,007H,008H,008H,008H,009H,085H,006H,00BH,085H,007H,008H,008H,008H,009H,085H,007H,008H,008H,009H,085H,018H DB 004H,085H,00CH,00DH,00FH,00BH,085H,00CH,00DH,00DH,00DH,00EH,085H,00CH,00EH,085H,00CH,00DH,00DH,00DH,00EH,085H,006H,014H,00DH,00EH,085H,018H DB 004H,0CAH,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,085H,085H,0C5H,000H,000H,0C5H,085H,085H,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,0CAH,018H DB 01AH,008H,009H,085H,006H,00BH,085H,007H,009H,085H,007H,008H,008H,008H,008H,008H,008H,009H,085H,007H,009H,085H,006H,00BH,085H,007H,008H,024H DB 01BH,00DH,00EH,085H,00CH,00EH,085H,006H,00BH,085H,00CH,00DH,00DH,00FH,014H,00DH,00DH,00EH,085H,006H,00BH,085H,00CH,00EH,085H,00CH,00DH,025H DB 004H,0C5H,085H,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,006H,00BH,0C5H,085H,085H,0C5H,085H,0C5H,018H DB 004H,085H,007H,008H,008H,008H,008H,01CH,013H,008H,008H,009H,085H,006H,00BH,085H,007H,008H,008H,01CH,013H,008H,008H,008H,008H,009H,085H,018H DB 004H,085H,00CH,00DH,00DH,00DH,00DH,00DH,00DH,00DH,00DH,00EH,085H,00CH,00EH,085H,00CH,00DH,00DH,00DH,00DH,00DH,00DH,00DH,00DH,00EH,085H,018H DB 004H,0C5H,085H,085H,085H,085H,085H,085H,085H,085H,085H,085H,0C5H,085H,085H,0C5H,085H,085H,085H,085H,085H,085H,085H,085H,085H,085H,0C5H,018H DB 010H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,011H,020H ;38 16x16 tiles = 38 * 256 = 9728 bytes uncompressed tiles001_raw DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,001H,001H,001H,001H,001H,001H,001H,001H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,001H,001H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,001H,001H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,001H,001H,001H,001H DB 001H,001H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,001H,001H,001H,001H,001H,001H,001H,001H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,001H,001H DB 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 001H,001H,000H,000H,000H,000H,001H,001H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H sprites_raw DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H ;sprites_raw db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ; db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h db 001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,000h,000h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 001h,001h,001h,001h,000h,000h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,001h,001h,000h,000h,001h,001h,001h,001h,001h,001h,000h,000h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h db 000h,000h,000h,000h,000h,000h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h db 000h,000h,000h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h db 000h,000h,000h,000h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,001h,001h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,001h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,001h,001h,001h,001h,001h,001h,001h,001h,001h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h SAVESTRUCT db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ModeInfoBlockPtr db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h db 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h ;width=24 tiles height=12 tiles high SPRT DB 001H,015H,002H,003H,004H,005H,001H,015H,01CH,01DH,02FH,030H,001H,015H,006H,020H,008H,022H,001H,015H,024H,025H,028H,029H DB 016H,017H,018H,019H,01AH,01BH,016H,017H,01EH,01FH,031H,023H,016H,017H,007H,021H,009H,023H,016H,017H,026H,027H,02AH,02BH DB 00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH DB 00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH DB 00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH DB 00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH DB 00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH DB 00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH DB 00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH,00AH,02CH DB 00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH,00BH,02DH,00CH,02EH DB 00DH,00EH,011H,012H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 00FH,010H,013H,014H,000H,000H,000H,000H,000H,000H SPRI DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H DB 00DH,000H,000H,000H,000H,000H,000H,001H,041H,016H,042H,043H DB 044H,045H,003H,002H,019H,018H,006H,007H,008H,009H,047H,024H DB 046H,026H,049H,028H,048H,02AH,00AH,00BH,00CH,005H,004H,01BH ;49*16 tiles=784*16 ; 7-bit encoding format for compressed tiles ; bit 7 6 5 4 3 2 1 0 ; | X x x x x x x ; | | ----------- ; | | | ; | | ---> tile number 0...31 (max referring tile is #24) ; | ---------> 0=horizontal symetry 4=vertical symetry ; -----------> unused (counting on compression...) ;note tiles 18 and 31 are redundant to tile 0 TILE DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,007H,000H,006H,047H DB 048H,049H,000H,041H,000H,000H,000H,00FH,000H,000H,000H,004H,055H DB 000H,000H,013H,003H,001H,000H,010H,016H,015H,019H,01AH,01BH ;SPRI DB 000H ; tile 00 ; 000H ; tile 01 ; 000H ; tile 02 ; 000H ; tile 03 ; 000H ; tile 04 ; 000H ; tile 05 ; 000H ; tile 06 ; 000H ; tile 07 ; 000H ; tile 08 ; 000H ; tile 09 ; 000H ; tile 0A ; 000H ; tile 0B ; 000H ; tile 0C ; 000H ; tile 0D ; 00DH ; tile 0E ; 000H ; tile 0F ; 000H ; tile 10 ; 000H ; tile 11 ; 000H ; tile 12 ; 000H ; tile 13 ; 000H ; tile 14 ; 001H ; tile 15 ; 041H ; tile 16 ; 010H ; tile 17 ; 042H ; tile 18 ; 043H ; tile 19 ; 044H ; tile 1A ; 045H ; tile 1B ; 003H ; tile 1C ; 002H ; tile 1D ; 019H ; tile 1E ; 018H ; tile 1F ; 006H ; tile 20 ; 007H ; tile 21 ; 008H ; tile 22 ; 009H ; tile 23 ; 047H ; tile 24 ; 024H ; tile 25 ; 046H ; tile 26 ; 026H ; tile 27 ; 049H ; tile 28 ; 028H ; tile 29 ; 048H ; tile 2A ; 02AH ; tile 2B ; 00AH ; tile 2C ; 00BH ; tile 2D ; 00CH ; tile 2E ; 005H ; tile 2F ; 004H ; tile 30 ; 01BH ; tile 31 db 050h,0c3h,001h,000h,008h,000h,004h,004h,000h,000h,00eh,000h,000h,000h,028h,000h db 000h,000h,0e0h,000h,000h,000h,023h,000h,000h,000h,001h,000h,001h,000h,000h,000h db 000h,000h,0d4h,003h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,002h,000h db 000h,000h,002h,000h,000h,000h,000h,000h,000h,000h,0ffh,0ffh,0ffh,000h,0ffh,0ffh db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0c0h db 007h,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,000h,000h,000h,01fh,0c0h,000h db 000h,000h,000h,07eh,000h,000h,000h,007h,0ffh,0ffh,0ffh,000h,0e1h,0f0h,000h,000h db 000h,000h,01fh,0fch,000h,07fh,000h,000h,000h,01fh,0e0h,000h,000h,000h,000h,0feh db 000h,000h,000h,007h,0ffh,0ffh,0feh,03fh,0bfh,078h,000h,000h,000h,000h,03fh,0fch db 000h,07fh,03fh,0ffh,0ffh,0ffh,0f1h,0ffh,0ffh,0ffh,0ffh,0feh,07fh,0ffh,0ffh,0ffh db 0ffh,0ffh,0f8h,070h,001h,0fch,07fh,0ffh,0ffh,0ffh,0ffh,0fch,0ffh,0ffh,020h,000h db 000h,000h,0f1h,000h,000h,000h,000h,01eh,040h,000h,000h,000h,07fh,0ffh,0f0h,0c0h db 000h,07ch,040h,000h,000h,000h,007h,0fch,080h,007h,020h,000h,000h,000h,0f9h,080h db 000h,000h,000h,03eh,040h,000h,000h,000h,07fh,0ffh,0e3h,080h,000h,03eh,060h,000h db 000h,000h,00fh,0fch,080h,007h,020h,000h,000h,000h,09ch,0c0h,000h,000h,000h,062h db 040h,000h,000h,000h,04fh,0ffh,0e6h,000h,000h,00fh,030h,000h,000h,000h,018h,0fch db 080h,004h,020h,000h,000h,000h,09ch,040h,000h,000h,000h,046h,040h,000h,000h,000h db 04fh,0ffh,0c4h,000h,000h,007h,010h,000h,000h,000h,011h,0fch,080h,004h,020h,000h db 000h,000h,09eh,060h,000h,000h,000h,0ceh,040h,000h,000h,000h,04fh,0ffh,08ch,000h db 000h,007h,098h,000h,000h,000h,033h,0fch,080h,004h,020h,000h,000h,000h,09fh,030h db 000h,000h,001h,08eh,040h,000h,000h,000h,04fh,0ffh,0f8h,000h,000h,003h,0cch,000h db 000h,000h,063h,0fch,080h,004h,020h,000h,000h,000h,09fh,010h,000h,000h,001h,01eh db 040h,000h,000h,000h,04fh,0ffh,0f0h,000h,000h,001h,044h,000h,000h,000h,047h,0fch db 080h,004h,020h,000h,000h,000h,09fh,098h,000h,000h,003h,03eh,040h,000h,000h,000h db 04ch,00fh,0fch,000h,000h,001h,0e6h,000h,000h,000h,0cfh,0fch,080h,004h,020h,000h db 000h,000h,09fh,0cch,000h,060h,006h,03eh,040h,000h,000h,000h,04ch,00fh,0ffh,000h db 000h,000h,0f3h,000h,018h,001h,08eh,000h,080h,004h,020h,000h,000h,000h,09fh,0c4h db 000h,0f0h,004h,07eh,040h,000h,000h,000h,04ch,0ffh,0ffh,0c0h,000h,000h,0b1h,000h db 03ch,001h,018h,000h,080h,004h,020h,000h,000h,000h,09fh,0e6h,000h,0f0h,00ch,0feh db 040h,000h,000h,000h,04ch,081h,0ffh,0f0h,000h,000h,099h,080h,03ch,003h,031h,0ffh db 080h,004h,020h,000h,000h,000h,09fh,0f3h,000h,060h,018h,0feh,040h,000h,000h,000h db 04fh,081h,0ffh,0fch,000h,000h,09ch,0c0h,018h,006h,023h,080h,000h,004h,020h,000h db 080h,000h,09fh,0f1h,000h,000h,011h,0feh,040h,000h,040h,000h,04fh,081h,0ffh,0fbh db 000h,000h,0dch,040h,000h,004h,04eh,000h,000h,004h,020h,000h,0c0h,000h,09fh,0f9h db 080h,000h,033h,0feh,040h,000h,0e0h,000h,04fh,081h,03fh,0e1h,0c0h,000h,05eh,060h db 000h,00ch,0cch,000h,000h,004h,020h,000h,0e0h,000h,09fh,0fch,0c0h,000h,063h,0feh db 040h,001h,0b0h,000h,04fh,0ffh,03fh,087h,000h,000h,0dfh,030h,000h,018h,098h,000h db 000h,004h,020h,000h,0b0h,000h,09fh,0fch,040h,000h,047h,0feh,040h,003h,098h,000h db 04fh,0e0h,03eh,01ch,000h,000h,08fh,010h,000h,011h,098h,000h,000h,004h,020h,000h db 098h,000h,09fh,0feh,060h,000h,0cfh,0feh,040h,006h,04ch,000h,04fh,0e0h,038h,070h db 000h,000h,09fh,098h,000h,033h,090h,000h,000h,004h,020h,000h,0cch,000h,09fh,0ffh db 030h,001h,08fh,0feh,040h,00ch,0e6h,000h,04fh,0ffh,0e1h,0c0h,000h,000h,09fh,0cch db 000h,063h,090h,000h,0c0h,004h,020h,000h,0a6h,000h,09fh,0ffh,010h,001h,01fh,0feh db 040h,019h,0f3h,000h,04fh,0ffh,0f7h,000h,000h,000h,09fh,0c4h,000h,047h,090h,001h db 0e0h,004h,020h,000h,093h,000h,09fh,0ffh,098h,003h,03fh,0feh,040h,033h,0f9h,080h db 04fh,0ffh,0fch,000h,000h,001h,09fh,0e6h,000h,0cfh,090h,001h,0e0h,004h,020h,000h db 099h,080h,09fh,0ffh,0c8h,002h,03fh,0feh,040h,067h,0fch,0c0h,04fh,0ffh,0f0h,000h db 000h,001h,01fh,0f2h,000h,08fh,090h,000h,0c0h,004h,020h,000h,09ch,0c0h,09fh,0ffh db 0cch,006h,07fh,0feh,040h,0cfh,0feh,060h,04fh,0ffh,0f8h,000h,000h,003h,03fh,0f3h db 001h,09fh,0d0h,000h,000h,004h,020h,000h,09eh,060h,09fh,0ffh,0e6h,00ch,07fh,0feh db 041h,09fh,0ffh,030h,04fh,0ffh,0fch,000h,000h,006h,03fh,0f9h,083h,01fh,0d8h,000h db 000h,004h,020h,000h,09fh,030h,09fh,0ffh,0f6h,008h,0ffh,0feh,043h,03fh,0ffh,098h db 04fh,0ffh,0fch,000h,000h,004h,07fh,0fdh,082h,03fh,0e8h,000h,000h,004h,020h,000h db 09fh,098h,09fh,0ffh,0f7h,019h,0ffh,0feh,046h,07fh,0ffh,0cch,04fh,0ffh,0feh,000h db 000h,00ch,0ffh,0fdh,0c6h,07fh,0fch,000h,000h,004h,0e0h,000h,09fh,0dch,09fh,0ffh db 0ffh,0b1h,0ffh,0feh,04ch,0ffh,0ffh,0e6h,04fh,0ffh,0ffh,080h,000h,038h,0ffh,0ffh db 0ech,07fh,0feh,000h,000h,004h,0e0h,000h,09fh,0feh,09fh,0ffh,0ffh,0b3h,0ffh,0feh db 0d9h,0ffh,0ffh,0f7h,04fh,0ffh,0ffh,0c0h,000h,063h,0ffh,0ffh,0ech,0ffh,0ffh,080h db 000h,004h,0ffh,0ffh,09fh,0ffh,09fh,0ffh,0ffh,0f7h,0ffh,0ffh,0f3h,0ffh,0ffh,0ffh db 0cfh,0ffh,0ffh,0f0h,001h,0c3h,0ffh,0ffh,0fdh,0ffh,0ffh,0ffh,0ffh,0fch,0f8h,000h db 01fh,0ffh,0dfh,0ffh,0ffh,0f7h,0ffh,0ffh,0f7h,0ffh,0ffh,0ffh,0efh,0ffh,0ffh,0ffh db 0bfh,00fh,0ffh,0ffh,0fdh,0ffh,0ffh,0e0h,000h marquee db 000h _DATA ENDS ;----------------------------------------------------------------------------- ; .COD (REAL MODE) ;----------------------------------------------------------------------------- _TEXT SEGMENT PARA PUBLIC USE16 'CODE' ASSUME CS:_TEXT, DS:_DATA, ES:_DATA, SS:_TEXT, FS:0 start: MOV SP,OFFSET _STACK ; 1 byte smaller mov eax,ds ; make pointer to GDT table ; note above line can be stripped but ;then it will only work once shl eax,4 ; have physical address of segment add eax,offset GDT386 ; now have physical addr of table mov GDT386.Base_A15_A00,ax shr eax,10h ; get other address bits mov GDT386.Base_A23_A16,al mov GDT386.Access_rights,ah mov eax,cs ; get CS shl eax,4 ; now have physical address mov GDTCS4G.Base_A15_A00,ax shr eax,10h ; get other address bits mov GDTCS4G.Base_A23_A16,al mov GDTCS4G.Base_A31_A24,ah mov eax,ds ; get DS shl eax,4 ; now have physical address mov GDTDS4G.Base_A15_A00,ax shr eax,10h ; get other address bits mov GDTDS4G.Base_A23_A16,al mov GDTDS4G.Base_A31_A24,ah mov eax,ss ; get SS shl eax,4 ; now have physical address mov GDTSS4G.Base_A15_A00,ax shr eax,10h ; get other address bits mov GDTSS4G.Base_A23_A16,al mov GDTSS4G.Base_A31_A24,ah lgdt GDT386 mov eax,cr0 ; get control register or ax,1 mov cr0,eax push cs ;push return selector on stack push offset PMRET ;set return offset DB 0EAH ;jmp instruction DW OFFSET $+2 ;jumpfar offset word DW SELCS4G ;jumpfar segment selector word mov ax,SELDS4G ;set all selectors to 4GB limits mov ds,ax mov es,ax mov ax,SELSS4G mov ss,ax mov ebx,cr0 ;get 386 control register and ebx,not 80000001h ;clear paging bit mov cr0,ebx ;and store in CR0 retf ;return to caller ;----------------------------------------------------------------------------- ; .COD (UNREAL MODE) ;----------------------------------------------------------------------------- PMRET: MOV AX,SEG _DATA MOV DS,AX MOV ES,AX MOV GS,AX MOV SS,AX ;-UNCOMPRESS-DATA----------------------;-------------------------------------- CALL UNCTIL000 ;uncompress maze tiles passes 1 and 2 CALL UNCTIL000 ;uncompress maze tiles passes 3 and 4 CALL UNCTIL001 ;uncompress sprite tiles passes 1 and 2 CALL UNCTIL001 ;uncompress sprite tiles passes 3 and 4 ;**************************************;************************************** ; INTRO STARTS HERE ;**************************************;************************************** ;-INITIALIZE-HIRES-VIDEO-MODE----------;-------------------------------------- MOV AX,4F01H ;get vesa vbe 2.0 mode information MOV CX,100H ;size of vbe information is 256 bytes MOV DI,OFFSET ModeInfoBlockPtr;es:di points to buffer INT 10H ;bios video system call MOV AX,4F02H ;set vesa vbe 2.0 mode MOV BX,0C103H ;mode 800x600x08 (256 colors) INT 10H ;bios video system call ;-DRAW-MAZEBOARD-----------------------;-------------------------------------- MOV EDI,DWORD PTR ES:DI[28H];ModeInfoBlock[28h] = 'PhysBasePtr' XOR AX,AX ;ax=0 MOV GS,AX ;gs=0 MOV ES,AX ;es:edi=1st add.of 256KB video buffer MOV DS:[PHYSCR],EDI ;save start of physical screen MOV ECX,240000 ;240000=800*600/2 REP STOS WPTR ES:[EDI] ;clear 256kb video buffer MOV DS:[LOGSCR],EDI ;save start of logical screen ADD EDI,448-32 ;edi=offset of sprites in logical scr. MOV ESI,OFFSET SPRT ;esi=offset of map MOV EBX,OFFSET sprites_raw ;ebx=offset of tiles MOV ECX,SPRIHEIGHT ;ecx=map height MOV EDX,SPRIWIDTH ;edx=map width ;12416=800*16 MOV EAX,800*16-SPRIWIDTH*16;eax=column alignment MOV EBP,((49-1)*16) ;ebp=tilemap alignment CALL SETMAZ000 ;draw maze in logical screen ;-INITIALIZE-GFX-FONTS-----------------;-------------------------------------- MOV DX,OFFSET CREDITS ;dx=offset of credits+digit string MOV AH,9 ;print message INT 21H ;call dos MOV ESI,DS:[PHYSCR] ;esi=offset of physical screen ADD ESI,800*(64-4-4)+176 ;esi=offset of printed digit string MOV EDI,DS:[LOGSCR] ;edi=offset of logical screen ADD EDI,800*500 ;edi=offset of score fonts MOV CX,10 ;10=0....9 sprites NUMERIC: CALL PUTSPRITE ;put prize on screen ADD ESI,32 ;align on shl5 boundaries ADD EDI,32 ;align on shl5 boundaries LOOP NUMERIC ;repeat for all digits ;-DO-EYES------------------------------;-------------------------------------- ; SUB ESI,800*4 ;esi points to ->"00" MOV EDI,DS:[LOGSCR] ;address of logical screen ADD EDI,455+800*22 ;sub edi,356665 MOV BX,4 ;number of ghosts EYES1: MOV CX,11 ;11=0....10 sprites EYES2: CALL PUTSPRITE2 ;put prize on screen ADD EDI,32 ;align on shl5 boundaries LOOP EYES2 ;repeat for all moves of 1 ghost ADD EDI,25248 ;25248=800*32-32*11 DEC BX ;decrement number of ghosts left JNZ EYES1 ;repeat for all ghosts ;-INITIALIZE-RTC-----------------------;-------------------------------------- PUSH ES ;save es register PUSH DS ;save ds register MOV AX,3508H ;read rtc vector in ivt INT 21H ;dos call (raw ivt fails) MOV AX,2508H ;read rtc vector in ivt MOV WPTR DS:[INT08H+00],BX ;save handler offset MOV WPTR DS:[INT08H+02],ES ;restore handler offset PUSH CS ;set new handler segment POP DS ;set new handler segment MOV DX,OFFSET SNDDRV000 ;set new handler offset INT 21H ;dos call (raw ivt fails) POP DS ;restore ds register MOV BX,65532/NEWRATE ;new frequency CALL SETHTZ000 ;set new frequency ;-INITIALIZE-CONSTANTS-----------------;-------------------------------------- MOV ESI,OFFSET PACCORDX ;here we save the original structures MOV EDI,OFFSET SAVESTRUCT ;because contrary to start of code we CALL COPYBLK ;will need them again ;-INITIALIZE-SOUNDS--------------------;-------------------------------------- MOV ECX,5 ;random data of sound (5 banks) MOV EDI,OFFSET ROMFONTS ;store in array sequentially GETDATA: MOV AX,1130H ;"return font pointer" bios call MOV BH,CL ;bh=font number requested PUSH CX ;save cx register INT 10H ;video bios call POP CX ;restore cx register MOV WPTR DS:[DI+2],ES ;es=segment of requested font MOV WPTR DS:[DI+0],BP ;bp=offset of requested font ADD DI,4 ;add fontinfo array entry size LOOP GETDATA ;repeat for all fonts (aka sound banks) POP ES ;restore es register ;-DISPLAY-UPPER-BAR--------------------;-------------------------------------- mov cx,3 ; MOV EDI,DS:[PHYSCR] ;edi=offset of screen mov ebx,offset marqueecol ; tricol: mov dx,wptr ds:[ebx] ; pushad ; MOV ESI,OFFSET MARQUEE ; ;length =984 bytes add edi,288+800*13 ; mov ecx,33 ;height in pixel marquee0: push cx ; mov ecx,28 ; marquee1: mov ax,ds:[esi] ; mov bx,8 ; marquee2: test al,BPTR DS:[ADPCMTTL+BX-1] jz marquee3 ; jmp short marquee4 ; marquee3: mov bptr es:[edi],dl ; marquee4: inc edi ; DEC bx ; jnz marquee2 ; dec esi ; loop marquee1 ; pop cx ; add edi,576 ; loop marquee0 ; popad ; add di,wptr ds:[ebx+2] ; add ebx,4 ; loop tricol ; ;-ONE-LIFE-----------------------------;-------------------------------------- ; everytime a player loses a life we ; ; come back here, which redraws the ; ; whole maze ; ;-ONE-LIFE-----------------------------;-------------------------------------- ONELIFE: MOV EDI,DS:[LOGSCR] ;edi=offset of screen MOV ESI,OFFSET MAZE ;esi=offset of map MOV EBX,OFFSET TILES001_RAW;ebx=offset of tiles MOV ECX,MAZEHEIGHT ;ecx=map height MOV EDX,MAZEWIDTH ;edx=map width MOV EAX,800*16-MAZEWIDTH*16;eax=column alignment MOV EBP,((38-1)*16) ;ebp=tilemap alignment CALL SETMAZ000 ;draw maze in logical screen CALL SETPAL000 ;color tiles ;-- SAVE A DOT AND A POWERPIL ;we copy a dot and a power MOV CX,2 ;since only tiles need play restoring MOV ESI,DS:[LOGSCR] ;esi=offset of screen ADD ESI,(23*16-7)*800+10 ;esi=offset of src powerpill-dot MOV EDI,DS:[LOGSCR] ;edi=offset of screen ADD EDI,(159*800+448+32)+32;esi=offset of dst powerpill-dot DOBOTH: CALL PUTSPRITE ;put prize on screen ADD ESI,32 ;add size of tile ADD EDI,32 ;add size of tile LOOP DOBOTH ;repeat for all tiles ;-DISPLAY-LOWER-BAR--------------------;-------------------------------------- ;display bottom status bar ie : LIVES qnd FRUIT level MOV ESI,DS:[LOGSCR] ;edi=offset of screen ADD ESI,(175*800+448+32-800*16-32) MOV EDI,DS:[PHYSCR] ;edi=offset of screen ADD EDI,800*560+592 CALL PUTSPRITE ;put prize on screen DEC WPTR DS:[lifecnt] JZ GAMEEXIT ;show lives MOV ESI,DS:[LOGSCR] ;edi=offset of screen ADD ESI,448+96*1+32*0+2+800+G1*0 MOV CX,WPTR DS:[lifecnt] MOV EDI,DS:[PHYSCR] ;edi=offset of screen ADD EDI,800*560+176+32*2 ONELIFEL: CALL PUTSPRITE ;put prize on screen SUB EDI,32 LOOP ONELIFEL ; clear the taken life away at bottom MOV ESI,(175*800+448+32-800*16)+96 ; we CLEAR it ADD ESI,DS:[LOGSCR] ;edi=offset of screen MOV EDI,DS:[PHYSCR] ;edi=offset of screen MOV DX,32 MOV CX,WPTR DS:[lifecnt] sub cx,2 shl dx,cl add edi,800*560+176+32*2 sub EDi,edx CALL PUTSPRITE ;put prize on screen MOV ESI,OFFSET SAVESTRUCT ;base of all CSTs MOV EDI,OFFSET PACCORDX CALL COPYBLK ghoststd1:MOV EDI,OFFSET pal_state1 ; CALL SETSTATE ; mov dptr ds:[ghoststate],0 ;----------------------------------------------------------------------------- ; INTRO ENDS HERE ;----------------------------------------------------------------------------- ALIGN 4 ;align for fastest branching GAMELOOP: test dptr ds:[ghoststate],1 jz ghoststd2 CMP dptr ds:[ghosttime],16 JNC NOFLASH MOV EDI,OFFSET pal_state3 ; TEST dptr ds:[ghosttime],2 JZ WHITE MOV EDI,OFFSET pal_state2 ; WHITE: CALL SETSTATE ; NOFLASH: dec dptr ds:[ghosttime] jnz ghoststd2 jmp short ghoststd1 ghoststd2:CALL SWPSCR000 ;copy logical to physical screen MOV EBP,OFFSET PACCORDX4 ;process ghost number 4 CALL GETKBD000 ;read keyboard MOV EBP,OFFSET PACCORDX3 ;process ghost number 3 CALL GETKBD000 ;read keyboard MOV EBP,OFFSET PACCORDX2 ;process ghost number 2 CALL GETKBD000 ;read keyboard MOV EBP,OFFSET PACCORDX1 ;process ghost number 1 CALL GETKBD000 ;read keyboard MOV EBP,OFFSET PACCORDX ;process ghost number CALL GETKBD000 ;read keyboard CMP DS:[DOTNUMS],244 ;if board cleared JZ GAMEEXIT ;continue gameloop CMP AX,011BH ;if esc key not pressed ; CMP AL,1BH ;if esc key not pressed JNZ GAMELOOP ;continue gameloop ;**************************************;*********************************************** ; GAME EXIT ;**************************************;*********************************************** GAMEEXIT: MOV AX,2508H ;write rtc vector in ivt MOV DX,WPTR DS:[INT08H+00] ;set old handler offset PUSH WPTR DS:[INT08H+02] ;set old handler segment POP DS ;set old handler segment INT 21H ;dos call (raw ivt fails) MOV BX,65532 ;old frequency CALL SETHTZ000 ;set old frequency IN AL,61H ;read speaker state AND AX,0FCH ;set speaker off OUT 61H,AL ;output command MOV AX,3 ;else set tty mode co80 INT 10H ;bios video system call MOV AX,4C00H ;set error code INT 21H ;return to dos shell ;**************************************;*********************************************** ;SET COLORS ;**************************************;*********************************************** SETPAL000:MOV ESI,DS:[LOGSCR] ;edi=offset of screen add esi,mazewidth*16 mov bx,offset pacpal mov cx,6 dobands: push cx mov cx,32 mov ah,bptr ds:[bx] SETPAL001:push cx mov cx,176*2;800-592;((38-1)*16) ;ebp=tilemap alignment setpal002:mov al,bptr es:[esi] test al,al jz setpal003 mov bptr es:[esi],ah setpal003:inc esi loop setpal002 add esi,(800-176*2);592 pop cx loop setpal001 inc bx pop cx loop dobands RET ;return to caller ;--------------------------------------;-------------------------------------- ; ; ; Do maze collision test (part #1) ;out: a) DS:[EBP+36] is displacement ; ; b) a!=0 =>EDX=ydelta ECX=xdelta ; ; c) a!=0 =>AL=tile value ; ; ;--------------------------------------;-------------------------------------- TSTCOLXXX:MOV EDI,DS:[EBP+12] ;start of pac index MOV EAX,DS:[EBP+04] ;refresh pacman maze x position MOV EBX,DS:[EBP+08] ;refresh pacman maze y position MOV EDX,DS:[EDI+24] ;pacman maze position y delta MOV ECX,DS:[EDI+20] ;pacman maze position x delta ADD EBX,EDX ;absolute maze index ADD EAX,ECX ;absolute maze index ADD EBX,EAX ;absolute maze index MOV AL,BPTR DS:[MAZE+EBX] ;dl=read tile value RET ;return to caller TSTCOL000:CALL TSTCOLXXX ;get current maze tile value MOV EDI,DS:[EDI+16] ;potential screen offset diplacement TEST AL,AL ;test if empty previously dot tile JZ TSTCOL555 ;if so validate move TEST AL,0C0H ;test if dot/energizer or intersection JNZ TSTCOL555 ;if so validate move XOR EDI,EDI ;else displacement is zero TSTCOL555:CMP DPTR DS:[EBP+04],27 ;test if tunnel right JNZ TSTCOL666 ;else test if tunnel left CMP BPTR DS:[EBP+24],77 ;and test if key right JNZ TSTCOL666 ;else test if tunnel left CALL CLRBLK000 ;clear block at this postion MOV DPTR DS:[EBP+04],0 ;refresh pacman maze x position SUB DPTR DS:[EBP+00],2*(176+32+8) ;refresh pacman maze x position JMP SHORT TSTCOL999 ;exit TSTCOL666:CMP DPTR DS:[EBP+04],0 ;test if tunnel left JNZ TSTCOL999 ;else exit CMP BPTR DS:[EBP+24],75 ;and test if key left JNZ TSTCOL999 ;else test if tunnel left CALL CLRBLK000 ;clear block at this postion MOV DPTR DS:[EBP+04],27 ;refresh pacman maze x position ADD DPTR DS:[EBP+00],2*(176+32+8) ;refresh pacman maze x position TSTCOL999:MOV DPTR DS:[EBP+36],EDI ;save *this* potential screen offset ;--------------------------------------;-------------------------------------- ;CLEAR BLOCK ; ;--------------------------------------;-------------------------------------- CLRBLK000:PUSH EDI PUSH DPTR DS:[EBP+00] POP DPTR DS:[EBP+44] MOV ESI,(175*800+448+32-800*16)+96 ;else is pill CALL RESTX POP EDI RET ;--------------------------------------;-------------------------------------- ; ; ;SWAP SCREEN ; ; ; ;--------------------------------------;-------------------------------------- ALIGN 4 ;align for fastest branching SWPSCR000:MOV EBP,OFFSET paccordx ;base of all CSTs ;-FOR-EACH-CHARACTER-------------------;-BEGIN-------------------------------- PUSHAD ;save all registers MOV DPTR DS:[CHARNUM],CHARMAX ;start with character 0 onecharx: CALL TSTCOL000 ;test collision TEST DPTR DS:[EBP+36],0FFFFH;test if displacement granted JZ BADMOVE ;if not then do not test for events ;################ DIFFERENCIATES PACMAN FROM OTHER CHARACTERS TEST DPTR DS:[EBP+28],1 ;1=user (key) 0=computer (auto) JZ AUTOCHAR ;if user then querry keyboard ;################ PACMAN TESTS EXCLUSIVELY PUSHAD PUSH EBP MOV EAX,DS:[EBP+0004] ;EAX= pacman maze x position MOV EBX,DS:[EBP+0008] ;EBX= pacman maze y position ;--------- begin CHERRY TEST-----------;-------------------------------------- CMP DPTR DS:[CHERRYSTATE],1 JZ SHOWIT CMP DPTR DS:[CHERRYSTATE],0 JZ DONEIT TIMEIT: DEC DPTR DS:[CHERRYTIME] ;else CHERRYSTATE= 2 JNZ SHOWIT MOV ESI,(175*800+448+32-800*16)+96 ; we CLEAR it MOV DPTR DS:[CHERRYSTATE],0 JMP SHORT WIPEIT SHOWIT: MOV ESI,(175*800+448+32-800*16-32) ; we SHOW it WIPEIT: ADD ESI,DS:[LOGSCR] ;edi=offset of screen MOV EDI,DS:[LOGSCR] ;edi=offset of screen ADD EDI,(800*(35+24*16)+160+14*16-170-800*(60+64+32)) CALL PUTSPRITE ;put prize on screen TESTIT: CMP EAX,((MAZEWIDTH/02)*1) JNZ NOCHERRY CMP EBX,((MAZEWIDTH*17)*1) JNZ NOCHERRY ADD DS:[SCORE_NUM],10 ;add 100 for cherry MOV DPTR DS:[CHERRYSTATE],0 NOCHERRY: DONEIT: ;--------- begin GHOSTs TEST-----------;-------------------------------------- MOV ECX,4 NOGHOSTS: ADD EBP,CHARSTRUCTSIZ CMP EAX,DS:[EBP+0004] ;refresh pacman maze x position JNZ NOGHOST CMP EBX,DS:[EBP+0008] ;refresh pacman maze y position JNZ NOGHOST ;-------------- ghost collision TEST DPTR DS:[GHOSTSTATE],1 JNZ BLUESTATE ;-------------- pac dies NOPSEC000:XOR DX,DX ;number of milliseconds=0 5 DONTCARE MOV AH,86H ;function wait INT 15H ;bios function call POP EBP POPAD JMP ONELIFE BLUESTATE:INC dptr ds:[ghostnum] ;increment number of eaten ghosts mov ebx,10 ;1=200 2=400 3=800 4=1600 pts mov ecx,dptr ds:[ghostnum] ;ghostnum is at least 1 therefore shl ebx,cl ;cl=1=200 cl=2=400 cl=3=800 cl=4=1600 ADD dptr DS:[SCORE_NUM],ebx ;update player's score MOV DPTR DS:[EBP+0000],(800*(35+14*16)+160+14*16+8-800*60-176)+800*2+6-4 ;refresh pacman maze phy offset MOV DPTR DS:[EBP+0004],((MAZEWIDTH/02)*1) ;refresh pacman maze x position MOV DPTR DS:[EBP+0008],((MAZEWIDTH*13)*1) ;refresh pacman maze y position NOGHOST: LOOP NOGHOSTS GHOSTSEND:POP EBP POPAD ;--------- begin DOTs TEST-------------;-------------------------------------- MOV WPTR DS:[SAMPNUM],1 ;default back sound test WPTR DS:[ghoststate],1 jz sound1ok INC WPTR DS:[SAMPNUM] ;ghost back sound sound1ok: TEST AL,080H ;test if dot/powerpill present JZ AUTOCHAR ;if not then do not test for events MOV WPTR DS:[SAMPNUM],3 ;dot chomp sound test WPTR DS:[ghoststate],1 jz sound2ok INC WPTR DS:[SAMPNUM] ;ghost dot chomp sound sound2ok: INC DS:[DOTNUMS] INC DS:[SCORE_NUM] ;add 10 to score per dot CMP DS:[DOTNUMS],70 ;test if 70 dots passed JNZ NOCHERRY0 JMP SHORT CHERRY3 NOCHERRY0:CMP DS:[DOTNUMS],170 ;test if 70 dots passed JNZ CHERRY0 CHERRY3: MOV DPTR DS:[CHERRYSTATE],2 MOV DPTR DS:[CHERRYTIME],50 CHERRY0: CMP BPTR DS:[MAZE+EBX],08AH;test if powepill JNZ yof jmp SHORT yaf yof: CMP BPTR DS:[MAZE+EBX],0CAH;test if powepill JNZ NOPOWER yaf: ADD DS:[SCORE_NUM],4 ;add 40 to score per dot so total = 50 MOV EDI,OFFSET pal_state2 ; pushad CALL SETSTATE ; popad mov dptr ds:[ghostnum],0 ;reset number of eaten ghosts mov dptr ds:[ghosttime],50 ;set time of counter-attack mov dptr ds:[ghoststate],1 ;set state of ghost to blue NOPOWER: AND BPTR DS:[MAZE+EBX],40H ;dl=clear tile value ;-UPDATE-MAZE-POS----------------------;-------------------------------------- AUTOCHAR: ADD DS:[EBP+0004],ECX ;we end up here if not pacman ADD DS:[EBP+0008],EDX ;refresh pacman maze x & y positions PUSH DPTR DS:[EBP+0040] POP DPTR DS:[EBP+0048] MOV DS:[EBP+0040],EAX ;save- the tile to restore PUSH DPTR DS:[EBP+0000] ;get base offset of tile POP DPTR DS:[EBP+0044] ;save- the offset where to restore tile BADMOVE: ADD EBP,CHARSTRUCTSIZ ;we end up here if displacement was refused dec DPTR DS:[CHARNUM] ;next character data off is+=structsiz JNZ onecharx ;repeat for all characters POPAD ;restore all registers ;-FOR-EACH-ANIM-FRAME------------------;-------------------------------------- MOV EBP,OFFSET paccordx ;base of all CSTs MOV DS:[oneeveryfour],4 ;repeat for all 4 comp pac anim frames onemove:PUSHAD ;save all registers ;-FOR-EACH-CHARACTER-------------------;-BEGIN-------------------------------- MOV DPTR DS:[CHARNUM],CHARMAX ;start with character 0 ;-CLEAR-PREVIOUS-POS-BLOCK-------------;-------------------------------------- onechar: CMP DPTR DS:[CHARNUM],CHARMAX ;start with character 0 JZ NORESTORE ;-RESTORE-BACKGROUND-OF-OLD-SPRITE-----;-------------------------------------- MOV EAX,DPTR DS:[EBP+0048] ;get old tile number REST1: CMP AL,85H ;is it dot JNZ REST2 JMP SHORT REST3 REST2: CMP AL,0C5H ;is it dot JNZ REST4 REST3: MOV ESI,(175*800+448+32-800*16)+64 JMP SHORT REST9 REST4: CMP AL,8AH ;is it dot JNZ REST5 JMP SHORT REST6 REST5: CMP AL,0CAH ;is it dot JNZ REST7 REST6: MOV ESI,(175*800+448+32-800*16)+32 ;else is pill JMP SHORT REST9 REST7: MOV ESI,(175*800+448+32-800*16) REST9: call restx JMP SHORT RESTORED NORESTORE:MOV ESI,(175*800+448+32-800*16)+96 ;else is pill call restx ;-LOAD-THIS-INSTANCE'S-VALS-AND-ALIGN--;-------------------------------------- RESTORED: MOV EDI,DS:[EBP+12] ;start of pac index MOV EAX,DS:[EBP+36] ;pacman screen position pixel delta ADD EDI,DS:[EBP+20] ;get animated pac sprite number value MOV ESI,DS:[LOGSCR] ;edi=offset of screen ADD ESI,DS:[EDI] ;get animated pac sprite offset value MOV EDI,DS:[LOGSCR] ;edi=offset of screen ;-UPDATE-SPRITE-POS-AND-DOUBLE-BUFFER--;-------------------------------------- ADD DS:[EBP+00],EAX ;update sprite position ADD EDI,DS:[EBP+00] ;also set new position this frame CALL PUTSPRITE ;put character on screen ;-TEST-ANIM-OVERLAP--------------------;-------------------------------------- ADD WPTR DS:[EBP+20],4 ;get next of four chomp positions TEST WPTR DS:[EBP+20],0FFF0H;test if less than 4 position JZ getnexta ;if so keep going MOV WPTR DS:[EBP+20],0 ;else reset count to position 0 ;-SET-SCORE----------------------------;-------------------------------------- xor dx,dx mov ax,wptr ds:[score_num] add ax,10000 ;artificial align digits mov di,offset score_str2 mov si,dx ;Save high word in SI as well mov bx,10 ;Divisor mov cx,sp ;Remember stack location STC SETSCO001:div bx ;Divide, result stays in AX, remainder in DX push dx ;Save remainder xor dx,dx ;Prepare for next round test ax,ax ;Any more digits? jnz SETSCO001 store: POP WPTR DS:[DI] INC DI cmp cx,sp jne store MOV ESI,DS:[LOGSCR] ;edi=offset of screen add ESI,509*800 MOV EDI,DS:[PHYSCR] ;edi=offset of screen ADD EDI,800*29+448+104-8-8 MOV eCX,5 MOV EBX,offset score_str3 PUTDIGITS:MOV AL,BPTR DS:[EBX] AND EAX,0FFH SHL EAX,5 ADD ESI,EAX CALL PUTSPRITE ;put prize on screen ADD EDI,8 INC EBX SUB ESI,EAX LOOP PUTDIGITS ;-FOR-EACH-CHARACTER-------------------;-END---------------------------------- getnexta: ADD EBP,CHARSTRUCTSIZ ;next character data off is+=structsiz dec DPTR DS:[CHARNUM] ;start with character 0 JNZ onechar ;repeat for all characters ;-BLIT-SCREEN--------------------------;-------------------------------------- MOV EDI,DS:[PHYSCR] ;set physical screen as destination MOV ESI,DS:[LOGSCR] ;set logical screen as source ADD EDI,176+800*60 ; MOV BX,495 ; swpscr00x:MOV CX,112 ;112=448/4 SWPSCR001:LODS DPTR ES:[ESI] ;read 4 bytes from source STOS DPTR ES:[EDI] ;write 4 pixels to destination LOOP SWPSCR001 ;repeat n times ADD ESI,800-448 ; ADD EDI,800-448 ; DEC BX ;decrement counter JNZ SWPSCR00x ;repeat n times ;-FOR-EACH-ANIM-FRAME------------------;-END---------------------------------- POPAD ;restore al registers DEC DS:[oneeveryfour] ;decrement anim count JNZ onemove ;repeat for all 4 positions RET ;return to caller ;**************************************;*********************************************** ;GENERIC 32x32 PUTSPRITE ;**************************************;*********************************************** PUTSPRITE:pushAd MOV BX,28 ; swpscr00y:MOV CX,7 ;112=448/4 SWPSCR00z:LODS DPTR ES:[ESI] ;read 4 bytes from source STOS DPTR ES:[EDI] ;write 4 pixels to destination LOOP SWPSCR00z ;repeat n times ADD ESI,800-28 ; ADD EDI,800-28 ; DEC BX ;decrement counter JNZ SWPSCR00y ;repeat n times popAd RET ;return to caller PUTSPRITE2:pushAd MOV BX,28 ; swpscr01y:MOV CX,7 ;112=448/4 SWPSCR01z:LODS DPTR ES:[ESI] ;read 4 bytes from source OR EAX,DPTR ES:[EDI] STOS DPTR ES:[EDI] ;write 4 pixels to destination LOOP SWPSCR01z ;repeat n times ADD ESI,800-28 ; ADD EDI,800-28 ; DEC BX ;decrement counter JNZ SWPSCR01y ;repeat n times popAd RET ;return to caller ;**************************************;*********************************************** ;GENERIC TILE DECOMPRESSION ;UNCOMPRESS TILES ;**************************************;*********************************************** UNCTIL000: ;decompresses maze tiles ;first we do HORIZONTAL PASS MOV ESI,(38-1)*16 ;reposition line or column source MOV EDI,OFFSET tiles001_raw+(16-1);get ptr to raw pixel data MOV EDX,-1 ;pixel destination position delta MOV EBP,(38+1)*16 ;line destination position delta MOV EAX,OFFSET tiles001_raw;data source offset MOV EBX,OFFSET TILE ;get ptr to decompressing table MOV ECX,0F000026H ;ecx = 00 15 00 38 d =# 8x8 tiles PUSHAD ;save ebx ecx registers CALL UNCTIL002 ;uncompress tiles horizontally ;second we do HORIZONTAL PASS POPAD ;restore ebx ecx registers MOV EDI,OFFSET tiles001_raw+38*16*14; trythis: NEG EDX ;pixel destination position delta NEG EBP ;column destination position delta CALL UNCTIL002 ;uncompress tiles vertically RET ;- - - - - - - - - - - - - - - - - - UNCTIL001:;decompresses sprite tiles ;first we do HORIZONTAL PASS MOV ESI,(49-1)*16 ;reposition line or column source MOV EDI,OFFSET sprites_raw+(16-1);get ptr to raw pixel data MOV EDX,-1 ;pixel destination position delta MOV EBP,(49+1)*16 ;line destination position delta MOV EAX,OFFSET sprites_raw;data source offset MOV EBX,OFFSET SPRI ;get ptr to decompressing table MOV ECX,10000031H ;ecx = 00 16 00 49 d =# 8x8 tiles PUSHAD ;save ebx ecx registers CALL UNCTIL002 ;uncompress tiles horizontally ;second we do HORIZONTAL PASS POPAD ;restore ebx ecx registers MOV EDI,OFFSET sprites_raw+49*16*15 call trythis RET ;return to caller UNCTIL002:PUSHAD ;save number of 8x8 tiles to decompress MOV BL,BYTE PTR DS:[EBX] ;read tile TEST BL,BL ;is this still uncompressed already JZ UNCTIL999 ;if so then skip uncompressing TEST BL,40H ;test for horizontal code JZ UNCTIL003 ;if so the process horizontally TEST EBP,80000000H ;test for vertical decompression pass JNZ UNCTIL004 ;if so process this tile JMP SHORT UNCTIL999 ;else skip this tile UNCTIL003:TEST EBP,80000000H ;test for vertical decompression pass JNZ UNCTIL999 ;if not then skip this tile UNCTIL004:AND EBX,0000003FH ;get source tile number SHL BX,4 ;get source offset ADD eBX,EAX ;tasm warning vs. saves one byte bswap ecx UNCTIL005:PUSH CX ;save number of colums or lines MOV CX,16 ;number of pixels per colums or lines UNCTIL006:MOV AL,BYTE PTR DS:[EBX] ;get source pixel value MOV BYTE PTR DS:[EDI],AL ;set destination pixel value INC EBX ;inc source ADD EDI,EDX ;reposition pixel destination LOOP UNCTIL006 ;process next pixel ADD EBX,ESI ;reposition line or column source ADD EDI,EBP ;reposition line or column destination POP CX ;restore number of colums or lines LOOP UNCTIL005 ;process next line or column UNCTIL999:POPAD ;restore bx cx edi INC eBX ;point to next tile in uncompress table ADD EDI,16 ;keep edi=ebx*16 LOOP UNCTIL002 ;process next tile RET ;return to caller ;**************************************;*********************************************** ;GENERIC TILEMAPPING (tiles are 8x8) ; ;1.draws the maze tilemap ; ;2.draws the sprites tilemap ; ;INPUT: ESI=offset of map ; ; EDI=offset of screen ; ; EBX=offset of tiles ; ; ECX=map height(ie:MAZEHEIGHT); ; EDX=map width (ie:MAZEWIDTH) ; ; EAX=edi add (12352) ; EBP=innerloop ADD ESI,592 (tilemap width) ; 16 is constant 784=800-16 is constant 48176 ;**************************************;*********************************************** SETMAZ000: DOROWS: PUSH CX ;save number or rows MOV ECX,EDX ;get mapwidth DO1ROW: PUSHAD ;push esi/push edi/push ecx READTILE: XOR EAX,EAX ;clear ah PUSHAD ;push esi/push edi/push ecx LODSB ;al=ds:[esi] MOV DX,AX ;mov dl,al AND AL,3FH ;remove 3rd color mask MOV ESI,EBX ;esi=offset of tiles SHL EAX,4 ;get indexed tile displacement ADD ESI,EAX ;get raw tile offset MOV CX,16 ;tileheight rows COPYBITMAP:PUSH CX ;save number of rows MOV CX,16 ;mov cl,16 tilewidth columns copypix: LODSB ;load value TEST AL,AL ;test if visible JZ nocolortst ;if not skip TEST DL,80h;DL ;test if NOT 3rd color case JZ nocolortst ;if so skip MOV AL,7 ;else 3rd color=7 (pale white) TEST DL,0AH ;test if power pill JZ nocolortst ;if not keep palette index 7 INC AL ;if so asign palette index 8 nocolortst:STOS BPTR ES:[EDI] ;write color byte to screen LOOP copypix ;repeat for all the tilewidth columns ADD ESI,EBP ;realign src with next data column ADD EDI,(800-16) ;realign dst with next screen column POP CX ;restore number of rows LOOP COPYBITMAP ;repeat for mapheight rows POPAD ;pop ecx/pop edi/pop esi LOOP READTILE ;repeat for number of tiles POPAD ;pop ecx/pop edi/pop esi INC ESI ;esi++ ADD EDI,16 ;edi=edi+16 LOOP DO1ROW ;and do one mapcolumns ADD EDI,EAX ;edi=edi+maprow sourcewidth in pixel POP CX ;restore number of maprows LOOP DOROWS ;repeat for mapheight rows RET ;return to caller ;**************************************;*********************************************** ;INSTALL SOUND DRIVER ; ;**************************************;*********************************************** ; at frequency higher than the normal 18 times a second, by ; speeding up system timer 0. In this example, interrupts ; occur at 50 times normal, or 910 times per second. SETHTZ000: ; CLI ;disable interrupts MOV AL,36H ;command for 16-bit, OUT 43H,AL ;mode 3, binary operation ; JMP $+2 ;hardware wait ; JMP $+2 ;hardware wait MOV AX,BX ;counter value OUT 40H,AL ;load timer 0 count LSB ; JMP $+2 ;hardware wait ; JMP $+2 ;hardware wait MOV AL,AH ;get most significant byte OUT 40H,AL ;load timer 0 count MSB ; STI ;enable interrupts RET ;return to caller ;**************************************;*********************************************** ;PLAY SOUND ; ;**************************************;*********************************************** SNDDRV000:cli PUSHFd pushad ;xor ecx,ecx MOV CX,WPTR DS:[SAMPNUM] ;and cx,7 MOV ESI,OFFSET PHYSCR; ;load off. of snd. data GETSAMP: ADD ESI,SAMPINFSIZ ;PHYSCR=SOUND1-SAMPINFSIZ LOOP GETSAMP ;repeat till selected sample MOV EBX,OFFSET INT08H ;load off.of bank data MOV ECX,DPTR DS:[ESI+0] ;load bank num. GETBANK: ADD EBX,BANKINFSIZ ;INT08H=ROMFONTS-BANKINFSIZ LOOP GETBANK LGS DI,DPTR DS:[EBX] ;load seg./off. of bank ADD EDI,DPTR DS:[ESI+4] ;load beg. off. of sample CALL SNDSPK000 ;play sample popad DEC DS:[countdown] JNZ int8_exit MOV DS:[countdown],NEWRATE ; reload counter POPFd jmp dword ptr DS:[INT08H+0] ; process old interrupt 8 int8_exit:CLI ; disable interrupts PUSH AX MOV AL,20H ; end-of-interrupt command OUT 20H,AL ; issue command to controller POP AX POPFd IRET ;**************************************;*********************************************** ;SOUND SPEAKER ; 1BIT TTL LOGIC ADPCM ;**************************************;*********************************************** SNDSPK000:MOV BX,WPTR DS:[BITCNT] INC WPTR DS:[BITCNT] MOV CL,BPTR DS:[ADPCMTTL+BX] TEST CL,CL JNZ BITOK MOV WPTR DS:[BITCNT],0 MOV CL,128 INC WPTR DS:[BYTECNT] MOV EDX,DPTR DS:[ESI+8] ; Load siz. of sample CMP WPTR DS:[BYTECNT],DX JC BITOK MOV WPTR DS:[BYTECNT],0 BITOK: MOV BX,WPTR DS:[BYTECNT] IN AL,61H ;read speaker state TEST BPTR GS:[DI+BX],CL ;EDI=SOUND JZ SPKOFF OR AL,3 ;set speaker on BRUIT JMP SHORT SPKOK SPKOFF: AND AL,0FCH ;set speaker off SPKOK: OUT 61H,AL ;set speaker state INC DS:[democount] CMP wptr DS:[democount],182*(NEWRATE/10) ; 1 second elapsed ? JB demo3 ; jump if not MOV DS:[democount],0 ; reset democount ;;******** end code that executes every second demo3: RET ;**************************************;*********************************************** ;READ KEYBOARD GAME CONTROL ADAPTER ; -> GCAI holds commands ;**************************************;*********************************************** GETKBD000: push dptr DS:[EBP+12] ;push pacstart pop dptr DS:[EBP+16] ;restore pacstart as pacstartprev ;-CPU-OR-USER-?------------------------;-------------------------------------- GETKBDXXX:TEST DPTR DS:[EBP+28],1 ;1=user (key) 0=computer (auto) JNZ GETKBDYYY ;if user then querry keyboard ;-------- only executed for ghosts CALL TSTCOLXXX TEST AL,40H JnZ aga2 MOV EBX,DS:[EBP+32] ;get key table values as base (KEYTABs) db 0fh,31h ;Reqd time Stamp Counter opcode bswap edx xor eax,edx ;agan: dec ah ; AND AH,3 ;normalize to [0...3] for index ; CMP AH,BPTR DS:[EBX+01] ; JZ agan ; mov BPTR DS:[EBX+01],ah mov al,1 cmp dptr ds:[pacmazey],((MAZEWIDTH*23)*1) jc agan neg al test dptr ds:[ghoststate],0ffh jz agan neg al agan: sub ah,al AND AH,3 ;normalize to [0...3] for index mov BPTR DS:[EBX+01],ah ;----------- only executed for ghosts JMP SHORT aga ;and skip keyboard querry GETKBDYYY:MOV AH,1 ;non blocking read keyboard function INT 16H ;bios kbd call JNZ qhoq ;if new key in buffer then retrieve it aga2: MOV AH,BPTR DS:[EBP+24] ;else key <= old key JMP SHORT aga ;and skip kbd new key retrieval qhoq: XOR AX,AX ;blocking read keyboard function INT 16H ;bios kbd call aga: MOV BPTR DS:[EBP+24],AH ;save oldkey <= this key MOV ECX,4 ;4 directions/keys to test in all MOV EBX,DS:[EBP+32] ;get key table values as base (KEYTABs) GETKBDBBB:PUSHAD ;save all registers CALL GETKBDAAA ;test all keys POPAD ;restore all registers mov edx,dptr DS:[EBP+16] cmp edx,dptr DS:[EBP+12] jnz GETKBD999 ADD EBX,6 ;entries are 6 bytes per call in tab LOOP GETKBDBBB ;repeat for all four key/directions GETKBD999:RET ;return to caller ;--------------------------------------;-------------------------------------- GETKBDAAA:CMP AH,DS:[EBX+00] ;test if this direction key pressed JNZ GETKBDqqq ;cycle comparaison with all cases MOV EDX,DS:[EBX+02] ;else get anim offset in tab MOV DS:[EBP+12],EDX ;get that sequence as base GETKBDOOO:CALL TSTCOLXXX ;do collision detection TEST AL,AL ;test if empty previous dotted element JZ GETKBD999 ;if so then keep pactstart value TEST AL,0C0H ;test if dotted or intersection element JNZ GETKBD999 ;if so then keep pactstart value push dptr DS:[EBP+16] ;push pacstart prev pop dptr DS:[EBP+12] ;restore as pacstart GETKBDQQQ:RET ;return to caller ;--------------------------------------;-------------------------------------- ;---------------------------------------------------------------------------- COPYBLK: MOV CX,CHARMAX*charstructsiz ;for each characters xetstruct:LODS BPTR DS:[ESI] ;read 4 bytes from source MOV BPTR DS:[EDI],AL INC EDI LOOP xetstruct RET ;---------------------------------------------------------------------------- ; set palette to palette pointed by edi ;---------------------------------------------------------------------------- SETSTATE: test word ptr DS:[pillstate],1 jz SETSTATE1 add edi,4 SETSTATE1:mov cx,6 palloop0: mov dx,3C8H mov ax,wptr ds:[di+0] out dx,ax inc dx mov ax,wptr ds:[di+2] out dx,al mov al,ah out dx,al add di,4 loop palloop0 ret RESTX: ADD ESI,DS:[LOGSCR] ;edi=offset of screen MOV EDI,DS:[LOGSCR] ;edi=offset of screen ADD EDI,DPTR DS:[EBP+0044] CALL PUTSPRITE ;put prize on screen RET ;**************************************;*********************************************** ;ORG 2043 ;high score 0-->2047-4=2043 ;HIGHSCOR LABEL WORD ;saved in last dword of compressed file ;----------------------------------------------------------------------------- ; .STACK ;----------------------------------------------------------------------------- ;ORG 0FFFCH ; 1 byte smaller ;_STACK LABEL WORD ; 1 byte smaller _STACK EQU 0FFFCH ;----------------------------------------------------------------------------- _TEXT ENDS ;end of code segment ;----------------------------------------------------------------------------- ; PROGRAM END ;----------------------------------------------------------------------------- END START ;end of program