;===========================;
; Generate a maze in CHIP-8 ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
; V2 used for random bit ;
;===========================;
TOP: LD I,R3 ; Load sprite address
RND V2,01 ; Put random bit in V2
SE V2,01 ; Skip if V2=1 (random)
LD I,R1 ; Load a different sprite
DRW V0,V1,4 ; Draw at (V0,V1) 4 rows
ADD V0,04 ; Add 4 to x coord
SE V0,40 ; Skip if at end of V0
JP TOP ; Go back to top
LD V0,00 ; At end so go back x=0
ADD V1,04 ; Add 4 to y
SE V1,20 ; Skip if end of y (done)
JP TOP ; Go back to top
END: JP END ; Stay here ... forever
R1: DATA 8040 ; Image data
R2: DATA 2010 ; Image data
R3: DATA 2040 ; Image data
R4: DATA 8010 ; Image data
|
;===========================;
; Draw small box in CHIP-8 ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;===========================;
TOP: LD I,BX ; Load sprite address
LD V0,1B ; Load x
LD V1,0B ; Load y
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
END: JP END ; Stay here ... forever
BX: DATA FF81 ; Image data FF is top, 81 is sides
DATA 8181 ; Image data 81 is sides
DATA 8181 ; Image data 81 is sides
DATA 81FF ; Image data 81 is sides, FF is bottom
|
;================================;
; Generate a large box in CHIP-8 ;
;================================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;================================;
TOP: LD I,HZ ; Load sprite address
LD V0,04 ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,0C ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,14 ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,1C ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,24 ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,2C ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,34 ; Load x
LD V1,04 ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD I,VT ; Load sprite address
LD V0,3B ; Load x
LD V1,05 ; Load y
DRW V0,V1,8 ; Draw at (V0,V1) 1 row
LD V0,3B ; Load x
LD V1,0D ; Load y
DRW V0,V1,8 ; Draw at (V0,V1) 1 row
LD V0,3B ; Load x
LD V1,15 ; Load y
DRW V0,V1,7 ; Draw at (V0,V1) 1 row
LD I,HZ ; Load sprite address
LD V0,33 ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,2B ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,23 ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,1B ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,13 ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,0B ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD V0,03 ; Load x
LD V1,1B ; Load y
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
LD I,VT ; Load sprite address
LD V0,03 ; Load x
LD V1,13 ; Load y
DRW V0,V1,8 ; Draw at (V0,V1) 1 row
LD V0,03 ; Load x
LD V1,0B ; Load y
DRW V0,V1,8 ; Draw at (V0,V1) 1 row
LD V0,03 ; Load x
LD V1,04 ; Load y
DRW V0,V1,7 ; Draw at (V0,V1) 1 row
END: JP END ; Stay here ... forever
HZ: DATA FF00 ; Horizontal
VT: DATA 8080 ; Vertical
DATA 8080 ; Vertical
DATA 8080 ; Vertical
DATA 8080 ; Vertical
|
;===========================;
; Draw XOR box in CHIP-8 ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;===========================;
TOP: LD V0,1E ; Load x
LD V1,0E ; Load y
LD VA,01 ; Load increment of 1
CALL PIX ; Call the PIX Subroutine
LOOP: ADD V0,VA ; Increment x
CALL PIX ; Call the PIX Subroutine
ADD V0,VA ; Increment x
CALL PIX ; Call the PIX Subroutine
ADD V0,VA ; Increment x
CALL PIX ; Call the PIX Subroutine
ADD V0,VA ; Increment x
CALL PIX ; Call the PIX Subroutine
ADD V1,VA ; Increment y
CALL PIX ; Call the PIX Subroutine
ADD V1,VA ; Increment y
CALL PIX ; Call the PIX Subroutine
ADD V1,VA ; Increment y
CALL PIX ; Call the PIX Subroutine
ADD V1,VA ; Increment y
CALL PIX ; Call the PIX Subroutine
SUB V0,VA ; Decrement x
CALL PIX ; Call the PIX Subroutine
SUB V0,VA ; Decrement x
CALL PIX ; Call the PIX Subroutine
SUB V0,VA ; Decrement x
CALL PIX ; Call the PIX Subroutine
SUB V0,VA ; Decrement x
CALL PIX ; Call the PIX Subroutine
SUB V1,VA ; Decrement y
CALL PIX ; Call the PIX Subroutine
SUB V1,VA ; Decrement y
CALL PIX ; Call the PIX Subroutine
SUB V1,VA ; Decrement y
CALL PIX ; Call the PIX Subroutine
SUB V1,VA ; Decrement y
CALL PIX ; Call the PIX Subroutine
JP LOOP
PIX: LD I,PX ; Load sprite address
DRW V0,V1,1 ; Draw at (V0,V1) 8 rows
RET
PX: DATA 8000 ; Image data leftmost bit set
|
;===========================;
; Draw sq fig 8 in CHIP-8 ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
; VA holds constant: 1 ;
; VC holds a counter ;
; VD holds size of fig 8 ;
; VE 2*VD for long lines ;
;===========================;
TOP: LD V0,1F ; Load x at center of screen
LD V1,10 ; Load y at center of screen
LD VA,01 ; Load increment of 1
LD VD,0D ; Set the size of the figure 8
LD VE,VD ; Set VE for double lines
SHL VE,VE ; Double VE for double lines
LD VC,VD ; Load the count
CALL HLPP ; Draw Horizontal Line Right
LOOP: LD VC,VD ; Load the count
CALL VLPP ; Draw Vertical Line Down
LD VC,VD ; Load the count
CALL HLPN ; Draw Horizontal Line Left
LD VC,VE ; Load the count for double
CALL VLPN ; Draw 2x Vertical Line Up
LD VC,VD ; Load the count
CALL HLPN ; Draw Horizontal Line Left
LD VC,VD ; Load the count
CALL VLPP ; Draw Vertical Line Down
LD VC,VE ; Load the count for double
CALL HLPP ; Draw 2x Horizontal Line Right
JP LOOP ; Keep drawing
HLPP: CALL PIX ; Call the PIX Subroutine
ADD V0,VA ; Increment x
SUB VC,VA ; Decrement count
SE VC,00 ; Skip following when 0
JP HLPP
RET
VLPP: CALL PIX ; Call the PIX Subroutine
ADD V1,VA ; Increment y
SUB VC,VA ; Decrement count
SE VC,00 ; Skip following when 0
JP VLPP
RET
HLPN: CALL PIX ; Call the PIX Subroutine
SUB V0,VA ; Increment x
SUB VC,VA ; Decrement count
SE VC,00 ; Skip following when 0
JP HLPN
RET
VLPN: CALL PIX ; Call the PIX Subroutine
SUB V1,VA ; Increment y
SUB VC,VA ; Decrement count
SE VC,00 ; Skip following when 0
JP VLPN
RET
PIX: LD I,PX ; Load sprite address
DRW V0,V1,1 ; Draw at (V0,V1) 1 row
RET
PX: DATA 8000 ; Image data leftmost bit set
|
;===========================;
; Generate boxes in CHIP-8 ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;===========================;
TOP: LD I,BX ; Load sprite address
LD V0,0D ; Load x
LD V1,05 ; Load y
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
ADD V0,05
ADD V1,02
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
ADD V0,05
ADD V1,02
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
ADD V0,05
ADD V1,02
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
ADD V0,05
ADD V1,02
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
ADD V0,05
ADD V1,02
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
ADD V0,05
ADD V1,02
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
END: JP END ; Stay here ... forever
BX: DATA FF81 ; Image data
DATA 8181 ; Image data
DATA 8181 ; Image data
DATA 81FF ; Image data
|
;===========================;
; Draw boxes via subroutine ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;===========================;
TOP: LD V0,01 ; Load x
LD V1,01 ; Load y
CALL BOX ; Call the Box Subroutine
LD V0,37 ; Load x
LD V1,01 ; Load y
CALL BOX ; Call the Box Subroutine
LD V0,01 ; Load x
LD V1,17 ; Load y
CALL BOX ; Call the Box Subroutine
LD V0,37 ; Load x
LD V1,17 ; Load y
CALL BOX ; Call the Box Subroutine
END: JP END ; Stay here ... forever
BOX: LD I,BX ; Load sprite address
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
RET
BX: DATA FF81 ; Image data FF is top, 81 is sides
DATA 8181 ; Image data 81 is sides
DATA 8181 ; Image data 81 is sides
DATA 81FF ; Image data 81 is sides, FF is bottom
|
;============================;
; Draw Joe's COSMAC ELF COOL ;
;============================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;============================;
LD I,IMG ; Load first sprite address
LD VA,08 ; Load size of each sprite
LD V0,00 ; Initial x
LD V1,00 ; Initial y
LD V1,00 ; Load y
NEWR: LD V0,00 ; Load x
DCOL: CALL BOX ; Call the Box Subroutine
ADD I,VA ; Move to next sprite
ADD V0,VA ; Move to next column
SE V0,40 ; Check for end of row
JP DCOL ; Draw the next column
ADD V1,VA ; Move to next row
SE V1,20 ; Check for end of rows
JP NEWR ; Start a new row
END: JP END ; Stay here ... forever
BOX: DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
RET
IMG: DATA ff88
DATA baba
DATA ba88
DATA ffff
DATA ff8b
DATA b988
DATA ea8b
DATA ffff
DATA ffa2
DATA 2a22
DATA aaaa
DATA ffff
DATA ff3f
DATA ffff
DATA ff38
DATA e7df
DATA ffff
DATA ffff
DATA 13e0
DATA c0c1
DATA fffe
DATA 9dfb
DATA e71f
DATA 03c0
DATA ff0f
DATA f37d
DATA beff
DATA ffff
DATA ffff
DATA ffff
DATA ff7f
DATA 7fbf
DATA 8282
DATA 9e9e
DATA 8686
DATA 9e9e
DATA 7878
DATA 7979
DATA 7878
DATA 7979
DATA 3f3f
DATA fffe
DATA 7e7e
DATA fdfd
DATA bf7f
DATA 7fff
DATA fffe
DATA feff
DATA c1e3
DATA ffff
DATA 0f07
DATA 070f
DATA 8083
DATA 83c7
DATA ffff
DATA ffff
DATA 3f87
DATA f1fc
DATA ffff
DATA fcd8
DATA bfbf
DATA df5f
DATA 0f27
DATA 272f
DATA 8282
DATA ffff
DATA c782
DATA 9292
DATA 0909
DATA ffff
DATA 1c08
DATA 4949
DATA fdfe
DATA feff
DATA 6727
DATA 2727
DATA ffff
DATA ff77
DATA b7db
DATA e3fc
DATA ffff
DATA ffff
DATA ffff
DATA ff30
DATA ffff
DATA ffdf
DATA cebe
DATA 3dfd
DATA b0a0
DATA 6040
DATA c080
DATA 8001
DATA 2f2f
DATA 2f6f
DATA 5fdf
DATA bfbf
DATA 9e9e
DATA 9e9e
DATA 9282
DATA c7ff
DATA 4949
DATA 4949
DATA 4908
DATA 1cff
DATA 2727
DATA 2727
DATA 2720
DATA 60ff
DATA ffff
DATA ffff
DATA ffff
DATA ffff
DATA 8ff7
DATA fbe0
DATA dfe0
DATA 9f3f
DATA f1ee
DATA de3f
DATA df3f
DATA 7fbf
DATA 0386
DATA dd73
DATA 8fff
DATA ffff
DATA 7fff
DATA ffff
DATA ffff
DATA ffff
|
;===========================;
; Draw CHIP-8 Digits ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;===========================;
; TEST LD
; TEST CALL
; TEST RET
TOP: CLS
; TEST the 16 numeric sprites with 2 loops
LD VA,05 ; Amount to increment I (size of glyphs)
LD V3,00 ; Load V3 with the value of '0'
LD F,V3 ; Puts address of '0' (value of V3) in I
LD V5,08 ; Starting Row to draw (Y)
LD V4,0C ; Starting Col to draw (X)
LD VC,00 ; Loop counter
NLoop1: DRW V4,V5,5 ; Draw at (V0,V1) 5 rows
ADD V4,05 ; Move right by 5
ADD I,VA ; Move I to the next glyph
ADD VC,01 ; Increment the Loop counter
SE VC,08 ; Skip branch when counter == 8
JP NLoop1 ; Continue with next glyph
LD V5,13 ; Starting Row to draw (Y)
LD V4,0C ; Starting Col to draw (X)
LD VC,00 ; Loop counter
NLoop2: DRW V4,V5,5 ; Draw at (V0,V1) 5 rows
ADD V4,05 ; Move right by 5
ADD I,VA ; Move I to the next glyph
ADD VC,01 ; Increment the Loop counter
SE VC,08 ; Skip branch when counter == 8
JP NLoop2 ; Continue with next glyph
END: JP END ; Stay here ... forever
|
;===========================;
; CHIP-8 Test Suite ;
;===========================;
; Registers: ;
; V0 used for x ;
; V1 used for y ;
;===========================;
; TEST LD
; TEST CALL
; TEST RET
TOP: LD V0,01 ; Load x
LD V1,01 ; Load y
CALL BOX ; Call the Box Subroutine
; TEST CLS
CLS ; Clear after first to test CLS
LD V0,37 ; Load x
LD V1,01 ; Load y
CALL BOX ; Call the Box Subroutine
LD V0,01 ; Load x
LD V1,17 ; Load y
CALL BOX ; Call the Box Subroutine
LD V0,37 ; Load x
LD V1,17 ; Load y
CALL BOX ; Call the Box Subroutine
; Screen should show 3 blocks since first was cleared
; Now that 3 blocks are drawn, use CLR to show failure
; TEST the 16 numeric sprites with 2 loops
LD VA,05 ; Amount to increment I (size of glyphs)
LD V3,00 ; Load V3 with the value of '0'
LD F,V3 ; Puts address of '0' (value of V3) in I
LD V5,0A ; Starting Row to draw (Y)
LD V4,0C ; Starting Col to draw (X)
LD VC,00 ; Loop counter
NLoop1: DRW V4,V5,5 ; Draw at (V0,V1) 5 rows
ADD V4,05 ; Move right by 5
ADD I,VA ; Move I to the next glyph
ADD VC,01 ; Increment the Loop counter
SE VC,08 ; Skip branch when counter == 8
JP NLoop1 ; Continue with next glyph
LD V5,11 ; Starting Row to draw (Y)
LD V4,0C ; Starting Col to draw (X)
LD VC,00 ; Loop counter
NLoop2: DRW V4,V5,5 ; Draw at (V0,V1) 5 rows
ADD V4,05 ; Move right by 5
ADD I,VA ; Move I to the next glyph
ADD VC,01 ; Increment the Loop counter
SE VC,08 ; Skip branch when counter == 8
JP NLoop2 ; Continue with next glyph
; TEST JP
JP JPOK
CLS ; Clear if JP fails
; TEST SE immediate
JPOK: LD V0,55
SE V0,55 ; Test SE skipping when equal
CLS
SE V0,44 ; Test SE not skipping when not equal
SE V0,55 ; Test SE skipping when equal
CLS
; TEST SNE immediate
LD V0,55
SNE V0,44 ; Test SNE skipping when not equal
CLS
SNE V0,55 ; Test SNE not skipping when equal
SE V0,55
CLS
; TEST SNE register
LD V0,55
LD V4,44
SNE V0,V4 ; Test SNE skipping when not equal
CLS
LD V4,55
SNE V0,V4 ; Test SNE not skipping when equal
SE V0,55
CLS
; TEST SE register
LD V0,55
LD V4,44
LD V5,55
SE V0,V5 ; Test SE skipping when equal
CLS
SE V0,V4 ; Test SE not skipping when not equal
SE V0,55 ; Test SE skipping when equal
CLS
; TEST LD register to register
LD V0,00
LD V5,55
LD V0,V5
SE V0,55
CLS
; TEST OR Vx,Vy (Vx = Vx | Vy)
LD V4,94 ; 10010100 = 94
LD V5,CE ; 11001110 = CE
OR V5,V4
SE V5,DE ; 11011110 = DE
CLS
; TEST AND Vx,Vy (Vx = Vx & Vy)
LD V4,B4 ; 10110100 = B4
LD V5,EE ; 11101110 = EE
AND V5,V4
SE V5,A4 ; 10100100 = A4
CLS
; TEST XOR Vx,Vy (Vx = Vx ^ Vy)
LD V4,B4 ; 10110100 = B4
LD V5,ED ; 11101101 = ED
XOR V5,V4
SE V5,59 ; 01011001 = 59
CLS
; TEST ADD Vx,Vy (Vx = Vx + Vy)
LD V4,34 ; 00110100 = 34
LD V5,6D ; 01101101 = 6D
ADD V5,V4
SE V5,A1 ; 10100001 = A1
CLS
; TEST SUB Vx,Vy (Vx = Vx - Vy)
LD V4,34 ; 00110100 = 34
LD V5,6D ; 01101101 = 6D
ADD V5,V4
SE V5,A1 ; 10100001 = A1
CLS
; TEST SUB Vx,Vy (Vx = Vx - Vy)
LD V4,A1 ; 10100001 = A1
LD V5,6D ; 01101101 = 6D
SUB V4,V5
SE V4,34 ; 00110100 = 34
CLS
; TEST SUB Vx,Vy (Vx = Vx - Vy)
LD V4,A1 ; 10100001 = A1
LD V5,6D ; 01101101 = 6D
SUBN V5,V4
SE V5,34 ; 00110100 = 34
CLS
; TEST SHR Vx,Vy (Vx = Vy >> 1)
LD V4,B4 ; 10110100 = B4
LD V5,A7 ; 10100111 = A7
SHR V5,V4
SE V5,5A ; 01011010 = 5A
CLS
; TEST SHR Vx,Vy (Vx = Vy >> 1)
LD V5,A7 ; 10100111 = A7
SHR V5,V5
SE V5,53 ; 01010011 = 53
CLS
; TEST SHL Vx,Vy (Vx = Vy LL 1) LL replaces ((
LD V4,08 ; 00001000 = 08
LD V5,AA ; 10101010 = AA
SHL V5,V4
SE V5,10 ; 00010000 = 10
CLS
; TEST SHL Vx,Vy (Vx = Vy LL 1) LL replaces ((
LD V5,A7 ; 10100111 = A7
SHL V5,V5
SE V5,4E ; 01001110 = 4E
CLS
; TEST the Delay timer by drawing digits
LD V4,04 ; Set value for x
LD V5,04 ; Set value for y
LD V8,00 ; Index of each digit to display
LD V9,01 ; Amount to increase each time
NEXTD: CLS
LD V3,V8 ; Load V3 with the next index value
LD F,V3 ; Puts address of character in I
DRW V4,V5,5 ; Draw at (V0,V1) 5 rows should show "1"
LD V6,1E ; Load ticks of 60Hz timer in V6 (3C=60,1E=30)
LD DT,V6 ; Load the timer ticks from V6 into DT
TLoopN: LD V7,DT ; Get the the timer value in V7
SE V7,00 ; Skip branch when V7(timer) == 0
JP TLoopN ; Jump back until timer is 0
ADD V8,V9 ; Increment V8 for next character
SE V8,10 ; Skip when V8 = 16 (10x)
JP NEXTD
; Draw DONE
CLS
LD V2,06 ; Character width (including space)
LD V0,14 ; Starting x
LD V1,0C ; Starting y
LD I,DONE_D ; Load address of D
DRW V0,V1,5 ; Draw the D
ADD V0,V2 ; Move x to next position
LD I,DONE_O ; Load address of O
DRW V0,V1,5 ; Draw the O
ADD V0,V2 ; Move x to next position
LD I,DONE_N ; Load address of N
DRW V0,V1,5 ; Draw the N
ADD V0,V2 ; Move x to next position
LD I,DONE_E ; Load address of E!
DRW V0,V1,5 ; Draw the E!
END: JP END ; Stay here ... forever
BOX: LD I,BX ; Load sprite address
DRW V0,V1,8 ; Draw at (V0,V1) 8 rows
RET
BX: DATA FF81 ; Image data FF is top, 81 is sides
DATA 8181 ; Image data 81 is sides
DATA 8181 ; Image data 81 is sides
DATA 81FF ; Image data 81 is sides, FF is bottom
DONE_D: DATA E090 ; D
DATA 9090
DATA E000
DONE_O: DATA F090 ; O
DATA 9090
DATA F000
DONE_N: DATA 90D0 ; N
DATA F0B0
DATA 9000
DONE_E: DATA F282 ; E!
DATA E280
DATA F200
|
;===========================;
; Tank ;
;===========================;
; Disassembled from Hex ;
; ;
; Keyboard keypad Keys: ;
; 8=Up ;
; 4=Lt 5=Shoot 6=Rt ;
; 2=Down ;
;===========================;
JP 230
202: ADD V6,FB
LD V0,20
SUB V0,V6
SNE VF,00
LD V6,00
JP 384
SYS 0FF
SYS 000
212: SYS 001
SYS 00C
SYS A00
JP 902
SYS 406
SYS 802
SYS 203
CALL C00
SYS F00
SYS 205
CALL E08
SYS 000
SYS 205
SYS 000
SYS 000
230: LD VE,00
LD VD,A0
LD VA,08
LD V9,06
LD V8,04
LD V7,02
LD V6,19
LD V4,10
LD V3,0C
LD V2,00
LD V1,06
LD I,212
LD [I],VA
24A: CALL 3D4
LD V0,40
LD DT,V0
250: LD V0,DT
SE V0,00
JP 250
CALL 3D4
CALL 30A
CALL 362
LD I,212
LD V5,[I]
CALL 2AE
262: CALL 2C6
CALL 2EC
SE VF,01
CALL 314
SE VF,01
CALL 2EC
SE VF,01
CALL 2EC
SE VF,01
CALL 27C
SNE VF,01
JP 366
JP 262
27C: LD I,212
LD V5,[I]
SNE V6,00
SE V5,00
JP 288
JP 38C
288: SKNP V7
LD V2,09
SKNP V8
LD V2,04
SKNP V9
LD V2,06
SKNP VA
LD V2,01
SNE V2,00
RET
CALL 2AE
LD V1,V2
CALL 39A
CALL 3AC
LD VC,01
LD V2,00
LD VF,00
LD I,212
LD [I],V5
2AE: LD I,3FF
SNE V1,01
LD V0,00
SNE V1,04
LD V0,13
SNE V1,06
LD V0,0D
SNE V1,09
LD V0,06
ADD I,V0
DRW V3,V4,7
RET
2C6: LD V0,05
SKP V0
RET
SNE V5,0F
RET
LD V5,0F
ADD V6,FF
LD I,212
LD [I],V5
ADD V4,03
ADD V3,03
CALL 39A
CALL 39A
CALL 39A
LD I,223
LD [I],V5
LD I,419
DRW V3,V4,1
RET
2EC: LD I,223
LD V5,[I]
SNE V5,00
RET
LD I,419
DRW V3,V4,1
CALL 39A
LD VC,02
CALL 3BE
SNE VB,BB
JP 30A
DRW V3,V4,1
304: LD I,223
LD [I],V5
RET
30A: LD V5,00
LD V0,00
LD I,217
LD [I],V0
JP 304
314: LD I,21D
LD V5,[I]
SE V5,0F
JP 344
LD I,41A
DRW V3,V4,5
SE V2,00
JP 332
RND V1,03
LD I,219
ADD I,V1
LD V0,[I]
LD V1,V0
RND V2,0F
ADD V2,01
332: CALL 39A
LD I,41A
LD VC,03
ADD V2,FF
LD VF,00
DRW V3,V4,5
33E: LD I,21D
LD [I],V5
RET
344: RND V4,07
LD I,41F
ADD I,V4
LD V0,[I]
LD V3,V0
LD I,427
ADD I,V4
LD V0,[I]
LD V4,V0
LD I,41A
DRW V3,V4,5
LD V0,20
LD ST,V0
LD V5,0F
JP 33E
362: LD V5,00
JP 33E
366: SNE VC,01
JP 202
SNE VC,02
JP 382
LD I,223
LD V5,[I]
SNE V5,00
JP 202
LD I,419
DRW V3,V4,1
LD VF,00
DRW V3,V4,1
SE VF,01
JP 202
382: ADD VE,0A
384: LD V0,40
LD ST,V0
CLS
JP 24A
38C: CLS
CALL 3D4
LD V0,60
LD ST,V0
394: JP 394
LD VE,00
JP 384
39A: SNE V1,01
ADD V4,FF
SNE V1,04
ADD V3,FF
SNE V1,06
ADD V3,01
SNE V1,09
ADD V4,01
RET
3AC: SNE V4,00
ADD V4,01
SNE V3,00
ADD V3,01
SNE V3,38
ADD V3,FF
SNE V4,18
ADD V4,FF
RET
3BE: LD VB,00
SNE V4,00
JP 3CE
SNE V3,00
JP 3CE
SNE V3,3F
JP 3CE
SNE V4,1F
3CE: LD VB,BB
LD VF,00
RET
3D4: LD V3,08
LD V4,08
LD I,229
LD B,VE
LD V2,[I]
CALL 3EC
LD V3,28
LD I,229
LD B,V6
LD V2,[I]
CALL 3F2
RET
3EC: LD F,V0
DRW V3,V4,5
ADD V3,06
3F2: LD F,V1
DRW V3,V4,5
ADD V3,06
LD F,V2
DRW V3,V4,5
RET
SYS 110
DATA 547C
LD VC,7C
ADD VC,44
406: ADD VC,7C
LD VC,7C
SE V4,V1
SYS 0FC
ADD V8,6E
ADD V8,FC
SYS 03F
JP E76
JP E3F
SYS 080
41A: LD I,870
DATA F870
LD I,80B
JP B28
SE V8,30
CALL 010
SYS 000
SYS 000
SYS 81B
JP B1B
JP 804
|
;===========================;
; Tetris ;
;===========================;
; ;
; 4 5 6 ;
; Left Rotate Right ;
; ;
; 2 ;
; Drop ;
; ;
;===========================;
LD I,2B4
CALL 3E6
CALL 2B6
206: ADD V0,01
DRW V0,V1,1
SE V0,25
JP 206
20E: ADD V1,FF
DRW V0,V1,1
LD V0,1A
DRW V0,V1,1
LD V0,25
SE V1,00
JP 20E
21C: RND V4,70
SNE V4,70
JP 21C
RND V3,03
LD V0,1E
LD V1,03
CALL 25C
22A: LD DT,V5
DRW V0,V1,4
SE VF,01
JP 23C
DRW V0,V1,4
ADD V1,FF
DRW V0,V1,4
CALL 340
JP 21C
23C: SKNP V7
CALL 272
SKNP V8
CALL 284
SKNP V9
CALL 296
SKP V2
JP 250
24C: DATA 6600 ; LD V6,00
24E: DATA F615 ; LD DT,V6
250: LD V6,DT
SE V6,00
JP 23C
DRW V0,V1,4
ADD V1,01
JP 22A
25C: LD I,2C4
ADD I,V4
LD V6,00
SNE V3,01
LD V6,04
SNE V3,02
LD V6,08
SNE V3,03
LD V6,0C
ADD I,V6
RET
272: DRW V0,V1,4
ADD V0,FF
CALL 334
SE VF,01
RET
DRW V0,V1,4
ADD V0,01
CALL 334
RET
284: DRW V0,V1,4
ADD V0,01
CALL 334
SE VF,01
RET
DRW V0,V1,4
ADD V0,FF
CALL 334
RET
296: DRW V0,V1,4
ADD V3,01
SNE V3,04
LD V3,00
CALL 25C
CALL 334
SE VF,01
RET
DRW V0,V1,4
ADD V3,FF
SNE V3,FF
LD V3,03
CALL 25C
CALL 334
RET
2B4: DATA 8000
2B6: LD V7,05
LD V8,06
LD V9,04
LD V1,1F
LD V5,10
LD V2,07
RET
2C4: DATA 40E0
2C6: DATA 0000
2C8: DATA 40C0
2CA: DATA 4000
2CC: DATA 00E0
2CE: DATA 4000
2D0: DATA 4060
2D2: DATA 4000
2D4: DATA 4040
2D6: DATA 6000
2D8: DATA 20E0
2DA: DATA 0000
2DC: DATA C040
2DE: DATA 4000
2E0: DATA 00E0
2E2: DATA 8000
2E4: DATA 4040
2E6: DATA C000
2E8: DATA 00E0
2EA: DATA 2000
2EC: DATA 6040
2EE: DATA 4000
2F0: DATA 80E0
2F2: DATA 0000
2F4: DATA 40C0
2F6: DATA 8000
2F8: DATA C060
2FA: DATA 0000
2FC: DATA 40C0
2FE: DATA 8000
300: DATA C060
302: DATA 0000
304: DATA 80C0
306: DATA 4000
308: DATA 0060
30A: DATA C000
30C: DATA 80C0
30E: DATA 4000
310: DATA 0060
312: DATA C000
314: DATA C0C0
316: DATA 0000
318: DATA C0C0
31A: DATA 0000
31C: DATA C0C0
31E: DATA 0000
320: DATA C0C0
322: DATA 0000
324: DATA 4040
326: DATA 4040
328: DATA 00F0
32A: DATA 0000
32C: DATA 4040
32E: DATA 4040
330: DATA 00F0
332: DATA 0000
334: DRW V0,V1,4
LD V6,35
338: ADD V6,FF
SE V6,00
JP 338
RET
340: LD I,2B4
LD VC,V1
SE VC,1E
ADD VC,01
SE VC,1E
ADD VC,01
SE VC,1E
ADD VC,01
350: CALL 35E
SNE VB,0A
CALL 372
SNE V1,VC
RET
ADD V1,01
JP 350
35E: LD V0,1B
LD VB,00
362: DRW V0,V1,1
SE VF,00
ADD VB,01
DRW V0,V1,1
ADD V0,01
SE V0,25
JP 362
RET
372: LD V0,1B
374: DRW V0,V1,1
ADD V0,01
SE V0,25
JP 374
LD VE,V1
LD VD,VE
ADD VE,FF
382: LD V0,1B
LD VB,00
386: DRW V0,VE,1
SE VF,00
JP 390
DRW V0,VE,1
JP 394
390: DRW V0,VD,1
ADD VB,01
394: ADD V0,01
SE V0,25
JP 386
SNE VB,00
JP 3A6
ADD VD,FF
ADD VE,FF
SE VD,01
JP 382
3A6: CALL 3C0
SE VF,01
CALL 3C0
ADD VA,01
CALL 3C0
LD V0,VA
LD VD,07
AND V0,VD
SNE V0,04
ADD V5,FE
SNE V5,02
LD V5,04
RET
3C0: LD I,700
LD [I],V2
LD I,804
LD B,VA
LD V2,[I]
LD F,V0
LD VD,32
LD VE,00
DRW VD,VE,5
ADD VD,05
LD F,V1
DRW VD,VE,5
ADD VD,05
LD F,V2
DRW VD,VE,5
LD I,700
LD V2,[I]
LD I,2B4
RET
3E6: LD VA,00
LD V0,19
RET
3EC: DATA 3723 |
;===========================;
; Invaders (not working) ;
;===========================;
; Disassembled from Hex ;
;===========================;
200: JP 225
SE V3,V5
SNE V1,43
206: SNE V5,20
SNE V9,4E
DATA 5641
SNE V4,45
DATA 5253
CALL 076
SE V0,2E
SE V9,20
SNE V2,79
218: CALL 044
LD V1,76
LD V9,64
CALL 057
SNE V9,4E
DATA 5445
SE V2,V6
SYS 061
SYS 062
SYS 8A3
DRW V3,VD,0
JP 871
230: SYS 8F2
JP E31
CALL 012
CALL D70
SYS 861
SYS 030
SNE V0,12
CALL D69
SYS 56C
JP 56E
SYS 023
LD V7,V6
SYS AF0
JP 5F0
SYS 730
SYS 012
SNE VB,23
SHL V7,V7
SYS 112
SNE V5,66
SYS 068
JP C69
SYS 06A
SYS 46B
SYS A6C
262: SYS 46D
SE VC,6E
SYS F00
DATA E023
26A: LD VB,23
SNE V7,FD
JP 560
SYS 4E0
DATA 9E12
ADD VD,23
LD VB,38
SYS 078
DATA FF23
LD VB,60
SYS 6E0
DATA 9E12
XOR VB,V2
LD VB,38
SE V9,78
SYS 123
LD VB,36
SYS 012
SNE VF,V6
SYS 5E0
DATA 9E12
DATA E966
SYS 165
JP B84
XOR V0,VA
RND VF,D4
DATA 51A3
RND VF,D4
DATA 5175
DATA FF35
DATA FF12
2A8: LD I,D66
SYS 012
DATA E9D4
DATA 513F
SYS 112
DATA E9D4
DATA 5166
SYS 083
SNE V0,73
SYS 383
JP V0,562
DATA F883
CALL 262
SYS 833
SYS 012
RND V9,23
ADD V3,82
SYS 643
SYS 812
DRW V3,V3,3
JP 012
DRW V5,V2,3
ADD V3,82
SYS 633
JP 812
DRW VD,V2,3
ADD V3,82
SYS 643
CALL 012
DATA E733
CALL 812
DATA E923
ADD V3,3E
SYS 013
SYS 779
SYS 649
JP 869
SYS 06A
SYS 46B
SYS A6C
SYS 47D
DATA F46E
SYS F00
2FE: DATA E023
SNE V7,23
LD VB,FD
JP 512
LD VF,F7
SYS 737
SYS 012
LD VF,FD
JP 523
SNE V7,8B
LD I,43B
JP 213
JP B7C
SYS 26A
DATA FC3B
SYS 213
CALL 37C
SYS 26A
SYS 423
SNE V7,3C
JP 812
LD VF,00
DATA E0A4
DRW V3,V6,0
JP 461
SYS 862
SYS FD0
JP F70
SYS 8F2
JP E30
CALL C13
SE V3,F0
SYS A00
DATA E0A6
DATA F4FE
LD V5,12
CALL 5A3
JP V0,7F9
JP E61
SYS 823
DATA 5F81
SYS 623
DATA 5F81
SYS 623
DATA 5F81
SYS 623
DATA 5F7B
DRW V0,V0,0
DATA EE80
DATA E080
JP 230
SYS 0DB
RND V6,7B
SYS C00
DATA EEA3
RND VF,60
JP CD8
SYS 400
DATA EE23
SNE V7,8E
CALL 323
SNE V7,60
SYS 5F0
37C: JP 8F0
JP 5F0
SYS 730
SYS 013
ADD VF,00
DATA EE6A
SYS 08D
DATA E06B
SYS 4E9
LD I,112
DATA 57A6
SYS 2FD
JP EF0
LD V5,30
DATA FF13
LD I,56A
SYS 06B
SYS 46D
SYS 16E
SYS 113
SUB VD,VA
SYS 0F0
JP EDB
RND V6,7B
SYS 87D
SYS 17A
SYS 13A
SYS 713
LD VD,V0
DATA EE3C
ADD VE,FF
DATA FF99
DATA 997E
DATA FFFF
CALL 424
DATA E77E
DATA FF3C
SE VC,7E
DRW VB,V8,1
SNE V2,3C
ADD VE,FF
DRW VB,V1,0
SE V8,7C
DATA FE00
SYS 07F
SYS 03F
SYS 07F
SYS 000
SYS 001
SYS 101
SYS 303
SYS 303
SYS 000
SE VF,20
CALL 020
CALL 020
CALL 020
CALL 03F
SYS 808
DATA FF00
SYS 0FE
SYS 0FC
SYS 0FE
SYS 000
SYS 07E
SNE V2,42
400: LD V2,62
LD V2,62
404: SYS 000
DATA FF00
SYS 000
SYS 000
SYS 000
SYS 0FF
SYS 000
DATA FF00
ADD VD,00
SNE V1,7D
SYS 57D
ADD VD,00
SYS 0C2
RND V2,C6
SNE V4,6C
CALL 838
424: SYS 000
DATA FF00
SYS 000
SYS 000
SYS 000
SYS 0FF
SYS 000
DATA FF00
DATA F710
JP 4F7
DATA F704
SYS 400
SYS 07C
SNE V4,FE
RND V2,C2
RND V2,C2
SYS 000
DATA FF00
SYS 000
SYS 000
SYS 000
SYS 0FF
SYS 000
DATA FF00
DATA EF20
CALL 8E8
DATA E82F
CALL F00
SYS 0F9
SUB V5,VC
RND V5,C5
RND V5,F9
SYS 000
DATA FF00
SYS 000
SYS 000
SYS 000
SYS 0FF
SYS 000
DATA FF00
JP V0,E00
CALL 030
CALL 0BE
JP V0,E00
SYS 0F7
SYS 4E7
SUB V5,V8
ADD V4,VF
SYS 000
DATA FF00
SYS 000
SYS 000
SYS 000
SYS 0FF
SYS 000
DATA FF00
SYS 07F
SYS 03F
SYS 07F
SYS 000
SYS 0EF
CALL 8EF
CLS
LD V0,6F
SYS 000
DATA FF00
SYS 000
SYS 000
SYS 000
SYS 0FF
SYS 000
DATA FF00
SYS 0FE
SYS 0FC
SYS 0FE
SYS 000
SYS 0C0
SYS 0C0
RND V0,C0
RND V0,C0
SYS 000
DATA FC04
SYS 404
SYS 404
SYS 404
SYS 4FC
JP 010
DATA FFF9
DATA 81B9
DATA 8B9A
DATA 9AFA
SYS 0FA
DATA 8A9A
DATA 9A9B
4E0: DATA 99F8
DATA E625
CALL 5F4
SE V4,34
SE V4,00
JP 714
SE V4,37
SE V6,26
RND V7,DF
SE V0,V5
DATA 5CD8
DRW V8,VD,F
SYS 0DF
JP 11F
4FC: JP 21B
JP 9D9
ADD VC,44
DATA FE86
SHR V6,V8
DATA FC84
DATA FE82
SHL V2,VF
DATA FE80
RND V0,C0
RND V0,FE
512: DATA FC82
RND V2,C2
RND V2,FC
DATA FE80
DATA F8C0
RND V0,FE
DATA FE80
DATA F0C0
RND V0,C0
DATA FE80
JP V0,E86
SHL V6,VF
SHR V6,V8
DATA FE86
SHR V6,V8
JP 010
JP 010
JP 010
JP 818
JP 848
SNE V8,78
SNE VC,V9
JP V0,0C0
JP V0,09C
LD V0,V8
RND V0,C0
RND V0,FE
DATA EE92
DATA 9286
SHR V6,V8
DATA FE82
SHR V6,V8
SHR V6,V8
ADD VC,82
SHR V6,V8
DATA 867C
DATA FE82
DATA FEC0
RND V0,C0
560: ADD VC,82
562: RND V2,CA
RND V4,7A
DATA FE86
DATA FE90
56A: DATA 9C84
56C: DATA FEC0
56E: DATA FE02
SYS 2FE
DATA FE10
SE V0,30
SE V0,30
AND V2,V8
RND V2,C2
RND V2,FE
AND V2,V8
SHL V2,VE
SE V8,10
SHR V6,V8
DATA 9692
DATA 92EE
ADD V2,V4
SE V8,38
SNE V4,82
AND V2,V8
DATA FE30
SE V0,30
DATA FE02
JP EF0
SHL V0,VF
SYS 000
SYS 000
SYS 606
SYS 000
SYS 060
LD V0,C0
SYS 000
SYS 000
SYS 000
JP 818
JP 818
SYS 018
ADD VC,C6
SYS C18
SYS 018
SYS 000
DATA FEFE
SYS 000
DATA FE82
SHR V6,V8
SHL V6,VF
SYS 808
SYS 818
JP 818
DATA FE02
DATA FEC0
RND V0,FE
DATA FE02
JP E06
SYS 6FE
ADD V4,VC
RND V4,FE
SYS 404
DATA FE80
5E0: DATA FE06
SYS 6FE
RND V0,C0
RND V0,FE
SHL V2,VF
DATA FE02
SYS 206
SYS 606
5F0: ADD VC,44
DATA FE86
5F4: SHL V6,VF
DATA FE82
DATA FE06
SYS 606
SNE V4,FE
SNE V4,44
DATA FE44
LD I,8A8
LD I,8A8
606: LD I,8A8
LD I,86C
SE VA,V0
SYS C18
LD I,830
SNE VE,7E
SYS 012
JP 866
LD VC,A8
DATA 5A66
DATA 5424
LD V6,00
SNE V8,48
JP 812
LD I,806
DATA 90A8
JP 200
ADD VE,30
JP 2A8
LD V4,V3
SNE VE,72
JP 866
LD I,8A8
LD I,8A8
LD I,8A8
DATA 9054
ADD V8,A8
SNE V8,78
LD VC,72
LD I,812
JP 86C
ADD V2,66
SE V4,V9
LD I,872
CALL A18
LD I,830
SNE VE,7E
SYS 012
JP 866
LD VC,A8
ADD V2,54
LD I,85A
LD V6,18
ADD VE,18
SNE VE,72
LD I,872
CALL A18
SE V0,66
LD I,830
SNE VE,7E
SYS 06C
SE V0,54
SNE VE,9C
LD I,8A8
LD I,8A8
LD I,8A8
LD I,848
DATA 547E
JP 8A8
DATA 9054
ADD V8,66
LD I,86C
CALL A30
DATA 5AA8
LD V4,V3
ADD V2,2A
LD I,8D8
LD I,800
SNE VE,12
LD I,8E4
LD I,2A8
SYS 04E
JP 2A8
LD VC,2A
DATA 5454
ADD V2,A8
LD V4,V3
ADD V2,2A
LD I,8DE
DATA 9CA8
ADD V2,2A
JP 8A8
SYS C54
SNE V8,5A
ADD V8,72
JP 866
LD I,872
JP 842
SNE V2,6C
LD I,872
CALL A00
ADD V2,A8
ADD V2,2A
JP 8A8
SE V0,4E
ADD VE,00
JP 218
LD V6,6C
LD I,830
SNE VE,0C
LD V6,18
SYS 06C
JP 8A8
ADD V2,2A
JP 830
LD V6,A8
JP E54
LD V6,0C
JP 89C
6E0: LD I,824
DATA 5454
JP 2A8
SNE V2,78
SYS C3C
LD I,8AE
LD I,8A8
LD I,8A8
LD I,8A8
LD I,8FF
SYS 000
SYS 000
SYS 000
SYS 000
SYS 000
6FE: SYS 000
SYS 000
SYS 000
|
L0: JP L1 ; Jump to label L1 (skipping 0 bytes)
L1: JP L2 ; Jump to label L2 (skipping 2 bytes)
LD V0,FF ; Skipped Instruction
L2: JP L3 ; Jump to label L3 (skipping 2 bytes)
DATA FFFF ; Skipped Data
L3: JP L4 ; Jump to label L4 (skipping 4 bytes)
DATA EEEE ; Skipped Data
DATA DDDD ; Skipped Data
L4: LD I,OK ; Load sprite address
LD V0,1B ; Load x to draw sprite
LD V1,0E ; Load y to draw sprite
DRW V0,V1,3 ; Draw at (V0,V1) 3 rows
END: JP END ; Stay here ... forever
OK: DATA EAAC ; First and second rows of OK
DATA EA00 ; Third (last) row of OK
|
L0: JP L1 ; Jump to label L1 (skipping 0 bytes)
L1: JP L2 ; Jump to label L2 (skipping 1 bytes)
BYTE FF ; Skipped Single byte
L2: JP L3 ; Jump to label L3 (skipping 2 bytes)
WORD FFFF ; Skipped Double byte
L3: JP L4 ; Jump to label L4 (skipping 3 bytes)
DRW VD,VD,D ; Skipped Word instruction
BYTE 55 ; Skipped Byte
L4: JP L5 ; Jump to label L5 (skipping 5 bytes)
WORD ACE1 ; Skipped Word
WORD ACE2 ; Skipped Word
BYTE AA ; Skipped Byte
L5: LD I,OK ; Load sprite address at OK
LD V0,1B ; Load x to draw
LD V1,0E ; Load y to draw
DRW V0,V1,3 ; Draw
END: JP END ; Jump here forever
OK: WORD EAAC ; First 2 rows of the "OK" sprite
BYTE EA ; Last row of the "OK" sprite
|
1202
1205
FF
1209
FFFF
120E
DDDD
55
1215
ACE1
ACE2
AA
A21F
601B
610E
D013
121D
EAAC
EA
|
A20A
601B
610B
D018
1208
FF81
8181
8181
81FF
|
a2 b4 23 e6 22 b6 70 01 d0 11 30 25 12 06 71 ff
d0 11 60 1a d0 11 60 25 31 00 12 0e c4 70 44 70
12 1c c3 03 60 1e 61 03 22 5c f5 15 d0 14 3f 01
12 3c d0 14 71 ff d0 14 23 40 12 1c e7 a1 22 72
e8 a1 22 84 e9 a1 22 96 e2 9e 12 50 66 00 f6 15
f6 07 36 00 12 3c d0 14 71 01 12 2a a2 c4 f4 1e
66 00 43 01 66 04 43 02 66 08 43 03 66 0c f6 1e
00 ee d0 14 70 ff 23 34 3f 01 00 ee d0 14 70 01
23 34 00 ee d0 14 70 01 23 34 3f 01 00 ee d0 14
70 ff 23 34 00 ee d0 14 73 01 43 04 63 00 22 5c
23 34 3f 01 00 ee d0 14 73 ff 43 ff 63 03 22 5c
23 34 00 ee 80 00 67 05 68 06 69 04 61 1f 65 10
62 07 00 ee 40 e0 00 00 40 c0 40 00 00 e0 40 00
40 60 40 00 40 40 60 00 20 e0 00 00 c0 40 40 00
00 e0 80 00 40 40 c0 00 00 e0 20 00 60 40 40 00
80 e0 00 00 40 c0 80 00 c0 60 00 00 40 c0 80 00
c0 60 00 00 80 c0 40 00 00 60 c0 00 80 c0 40 00
00 60 c0 00 c0 c0 00 00 c0 c0 00 00 c0 c0 00 00
c0 c0 00 00 40 40 40 40 00 f0 00 00 40 40 40 40
00 f0 00 00 d0 14 66 35 76 ff 36 00 13 38 00 ee
a2 b4 8c 10 3c 1e 7c 01 3c 1e 7c 01 3c 1e 7c 01
23 5e 4b 0a 23 72 91 c0 00 ee 71 01 13 50 60 1b
6b 00 d0 11 3f 00 7b 01 d0 11 70 01 30 25 13 62
00 ee 60 1b d0 11 70 01 30 25 13 74 8e 10 8d e0
7e ff 60 1b 6b 00 d0 e1 3f 00 13 90 d0 e1 13 94
d0 d1 7b 01 70 01 30 25 13 86 4b 00 13 a6 7d ff
7e ff 3d 01 13 82 23 c0 3f 01 23 c0 7a 01 23 c0
80 a0 6d 07 80 d2 40 04 75 fe 45 02 65 04 00 ee
a7 00 f2 55 a8 04 fa 33 f2 65 f0 29 6d 32 6e 00
dd e5 7d 05 f1 29 dd e5 7d 05 f2 29 dd e5 a7 00
f2 65 a2 b4 00 ee 6a 00 60 19 00 ee 37 23
|
12 30 76 fb 60 20 80 65 4f 00 66 00 13 84 00 ff
00 00 00 01 00 0c 0a 00 19 02 04 06 08 02 02 03
2c 00 0f 00 02 05 2e 08 00 00 02 05 00 00 00 00
6e 00 6d a0 6a 08 69 06 68 04 67 02 66 19 64 10
63 0c 62 00 61 06 a2 12 fa 55 23 d4 60 40 f0 15
f0 07 30 00 12 50 23 d4 23 0a 23 62 a2 12 f5 65
22 ae 22 c6 22 ec 3f 01 23 14 3f 01 22 ec 3f 01
22 ec 3f 01 22 7c 4f 01 13 66 12 62 a2 12 f5 65
46 00 35 00 12 88 13 8c e7 a1 62 09 e8 a1 62 04
e9 a1 62 06 ea a1 62 01 42 00 00 ee 22 ae 81 20
23 9a 23 ac 6c 01 62 00 6f 00 a2 12 f5 55 a3 ff
41 01 60 00 41 04 60 13 41 06 60 0d 41 09 60 06
f0 1e d3 47 00 ee 60 05 e0 9e 00 ee 45 0f 00 ee
65 0f 76 ff a2 12 f5 55 74 03 73 03 23 9a 23 9a
23 9a a2 23 f5 55 a4 19 d3 41 00 ee a2 23 f5 65
45 00 00 ee a4 19 d3 41 23 9a 6c 02 23 be 4b bb
13 0a d3 41 a2 23 f5 55 00 ee 65 00 60 00 a2 17
f0 55 13 04 a2 1d f5 65 35 0f 13 44 a4 1a d3 45
32 00 13 32 c1 03 a2 19 f1 1e f0 65 81 00 c2 0f
72 01 23 9a a4 1a 6c 03 72 ff 6f 00 d3 45 a2 1d
f5 55 00 ee c4 07 a4 1f f4 1e f0 65 83 00 a4 27
f4 1e f0 65 84 00 a4 1a d3 45 60 20 f0 18 65 0f
13 3e 65 00 13 3e 4c 01 12 02 4c 02 13 82 a2 23
f5 65 45 00 12 02 a4 19 d3 41 6f 00 d3 41 3f 01
12 02 7e 0a 60 40 f0 18 00 e0 12 4a 00 e0 23 d4
60 60 f0 18 13 94 6e 00 13 84 41 01 74 ff 41 04
73 ff 41 06 73 01 41 09 74 01 00 ee 44 00 74 01
43 00 73 01 43 38 73 ff 44 18 74 ff 00 ee 6b 00
44 00 13 ce 43 00 13 ce 43 3f 13 ce 44 1f 6b bb
6f 00 00 ee 63 08 64 08 a2 29 fe 33 f2 65 23 ec
63 28 a2 29 f6 33 f2 65 23 f2 00 ee f0 29 d3 45
73 06 f1 29 d3 45 73 06 f2 29 d3 45 00 ee 01 10
54 7c 6c 7c 7c 44 7c 7c 6c 7c 54 10 00 fc 78 6e
78 fc 00 3f 1e 76 1e 3f 00 80 a8 70 f8 70 a8 0b
1b 28 38 30 20 10 00 00 00 00 08 1b 1b 1b 18 04
|
12 25 53 50 41 43 45 20 49 4e 56 41 44 45 52 53
20 76 30 2e 39 20 42 79 20 44 61 76 69 64 20 57
49 4e 54 45 52 60 00 61 00 62 08 a3 d3 d0 18 71
08 f2 1e 31 20 12 2d 70 08 61 00 30 40 12 2d 69
05 6c 15 6e 00 23 87 60 0a f0 15 f0 07 30 00 12
4b 23 87 7e 01 12 45 66 00 68 1c 69 00 6a 04 6b
0a 6c 04 6d 3c 6e 0f 00 e0 23 6b 23 47 fd 15 60
04 e0 9e 12 7d 23 6b 38 00 78 ff 23 6b 60 06 e0
9e 12 8b 23 6b 38 39 78 01 23 6b 36 00 12 9f 60
05 e0 9e 12 e9 66 01 65 1b 84 80 a3 cf d4 51 a3
cf d4 51 75 ff 35 ff 12 ad 66 00 12 e9 d4 51 3f
01 12 e9 d4 51 66 00 83 40 73 03 83 b5 62 f8 83
22 62 08 33 00 12 c9 23 73 82 06 43 08 12 d3 33
10 12 d5 23 73 82 06 33 18 12 dd 23 73 82 06 43
20 12 e7 33 28 12 e9 23 73 3e 00 13 07 79 06 49
18 69 00 6a 04 6b 0a 6c 04 7d f4 6e 0f 00 e0 23
47 23 6b fd 15 12 6f f7 07 37 00 12 6f fd 15 23
47 8b a4 3b 12 13 1b 7c 02 6a fc 3b 02 13 23 7c
02 6a 04 23 47 3c 18 12 6f 00 e0 a4 d3 60 14 61
08 62 0f d0 1f 70 08 f2 1e 30 2c 13 33 f0 0a 00
e0 a6 f4 fe 65 12 25 a3 b7 f9 1e 61 08 23 5f 81
06 23 5f 81 06 23 5f 81 06 23 5f 7b d0 00 ee 80
e0 80 12 30 00 db c6 7b 0c 00 ee a3 cf 60 1c d8
04 00 ee 23 47 8e 23 23 47 60 05 f0 18 f0 15 f0
07 30 00 13 7f 00 ee 6a 00 8d e0 6b 04 e9 a1 12
57 a6 02 fd 1e f0 65 30 ff 13 a5 6a 00 6b 04 6d
01 6e 01 13 8d a5 00 f0 1e db c6 7b 08 7d 01 7a
01 3a 07 13 8d 00 ee 3c 7e ff ff 99 99 7e ff ff
24 24 e7 7e ff 3c 3c 7e db 81 42 3c 7e ff db 10
38 7c fe 00 00 7f 00 3f 00 7f 00 00 00 01 01 01
03 03 03 03 00 00 3f 20 20 20 20 20 20 20 20 3f
08 08 ff 00 00 fe 00 fc 00 fe 00 00 00 7e 42 42
62 62 62 62 00 00 ff 00 00 00 00 00 00 00 00 ff
00 00 ff 00 7d 00 41 7d 05 7d 7d 00 00 c2 c2 c6
44 6c 28 38 00 00 ff 00 00 00 00 00 00 00 00 ff
00 00 ff 00 f7 10 14 f7 f7 04 04 00 00 7c 44 fe
c2 c2 c2 c2 00 00 ff 00 00 00 00 00 00 00 00 ff
00 00 ff 00 ef 20 28 e8 e8 2f 2f 00 00 f9 85 c5
c5 c5 c5 f9 00 00 ff 00 00 00 00 00 00 00 00 ff
00 00 ff 00 be 00 20 30 20 be be 00 00 f7 04 e7
85 85 84 f4 00 00 ff 00 00 00 00 00 00 00 00 ff
00 00 ff 00 00 7f 00 3f 00 7f 00 00 00 ef 28 ef
00 e0 60 6f 00 00 ff 00 00 00 00 00 00 00 00 ff
00 00 ff 00 00 fe 00 fc 00 fe 00 00 00 c0 00 c0
c0 c0 c0 c0 00 00 fc 04 04 04 04 04 04 04 04 fc
10 10 ff f9 81 b9 8b 9a 9a fa 00 fa 8a 9a 9a 9b
99 f8 e6 25 25 f4 34 34 34 00 17 14 34 37 36 26
c7 df 50 50 5c d8 d8 df 00 df 11 1f 12 1b 19 d9
7c 44 fe 86 86 86 fc 84 fe 82 82 fe fe 80 c0 c0
c0 fe fc 82 c2 c2 c2 fc fe 80 f8 c0 c0 fe fe 80
f0 c0 c0 c0 fe 80 be 86 86 fe 86 86 fe 86 86 86
10 10 10 10 10 10 18 18 18 48 48 78 9c 90 b0 c0
b0 9c 80 80 c0 c0 c0 fe ee 92 92 86 86 86 fe 82
86 86 86 86 7c 82 86 86 86 7c fe 82 fe c0 c0 c0
7c 82 c2 ca c4 7a fe 86 fe 90 9c 84 fe c0 fe 02
02 fe fe 10 30 30 30 30 82 82 c2 c2 c2 fe 82 82
82 ee 38 10 86 86 96 92 92 ee 82 44 38 38 44 82
82 82 fe 30 30 30 fe 02 1e f0 80 fe 00 00 00 00
06 06 00 00 00 60 60 c0 00 00 00 00 00 00 18 18
18 18 00 18 7c c6 0c 18 00 18 00 00 fe fe 00 00
fe 82 86 86 86 fe 08 08 08 18 18 18 fe 02 fe c0
c0 fe fe 02 1e 06 06 fe 84 c4 c4 fe 04 04 fe 80
fe 06 06 fe c0 c0 c0 fe 82 fe fe 02 02 06 06 06
7c 44 fe 86 86 fe fe 82 fe 06 06 06 44 fe 44 44
fe 44 a8 a8 a8 a8 a8 a8 a8 6c 5a 00 0c 18 a8 30
4e 7e 00 12 18 66 6c a8 5a 66 54 24 66 00 48 48
18 12 a8 06 90 a8 12 00 7e 30 12 a8 84 30 4e 72
18 66 a8 a8 a8 a8 a8 a8 90 54 78 a8 48 78 6c 72
a8 12 18 6c 72 66 54 90 a8 72 2a 18 a8 30 4e 7e
00 12 18 66 6c a8 72 54 a8 5a 66 18 7e 18 4e 72
a8 72 2a 18 30 66 a8 30 4e 7e 00 6c 30 54 4e 9c
a8 a8 a8 a8 a8 a8 a8 48 54 7e 18 a8 90 54 78 66
a8 6c 2a 30 5a a8 84 30 72 2a a8 d8 a8 00 4e 12
a8 e4 a2 a8 00 4e 12 a8 6c 2a 54 54 72 a8 84 30
72 2a a8 de 9c a8 72 2a 18 a8 0c 54 48 5a 78 72
18 66 a8 72 18 42 42 6c a8 72 2a 00 72 a8 72 2a
18 a8 30 4e 7e 00 12 18 66 6c a8 30 4e 0c 66 18
00 6c 18 a8 72 2a 18 30 66 a8 1e 54 66 0c 18 9c
a8 24 54 54 12 a8 42 78 0c 3c a8 ae a8 a8 a8 a8
a8 a8 a8 ff 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00
|
00e061016008a250d01f6010a25fd01f6018a26ed01f6020a27dd01f6028a28cd01f6030a29bd01f
61106008a2aad01f6010a2b9d01f6018a2c8d01f6020a2d7d01f6028a2e6d01f6030a2f5d01f124e
0f020202020200001f3f71e0e5e0e8a00d2a282828000018b8b838383fbf0019a5bda19d00000c1d
1d010d1d9d01c7292929270000f8fccec6c6c6c600494a49483b0000000103030301f03090000080
000000fec7838383c6fce7e0e0e0e0713f1f000007020202023938383838b8b8380000314a79403b
dddddddddddddddd0000a03820a018cefcf8c0d4dcc4c500003044241463f1030707771763710000
288ea8a8a6ce8703030387fefc00006090f08070
|
00e0a22a600c6108d01f7009a239d01fa2487008d01f7004a257d01f7008a266d01f7008a275d01f
1228ff00ff003c003c003c003c00ff00ffff00ff0038003f003f003800ff00ff8000e000e0008000
8000e000e00080f800fc003e003f003b003900f800f8030007000f00bf00fb00f300e30043e505e2
008507810180028007e106e7
|
120a600100ee600212a600e068326b1aa4f1d8b4683aa4f5d8b4680269066a0b6b01652a662ba4b5
d8b4a4edd9b4a4a5362ba4a1dab46b06a4b9d8b4a4edd9b4a4a1452aa4a5dab46b0ba4bdd8b4a4ed
d9b4a4a15560a4a5dab46b10a4c5d8b4a4edd9b4a4a176ff462aa4a5dab47b05a4cdd8b4a4edd9b4
a4a19560a4a5dab47b05a4add8b4a4edd9b4a4a51290a4a1dab4681269166a1b6b01a4b1d8b4a4ed
d9b460002202a4a54000a4a1dab47b05a4a9d8b4a4e1d9b4a4a54002a4a13000dab47b05a4c9d8b4
a4a9d9b4a4a1652a67008750472aa4a5dab47b05a4c9d8b4a4add9b4a4a1660b672a8761472ba4a5
dab47b05a4c9d8b4a4b1d9b4a4a16678671f87624718a4a5dab47b05a4c9d8b4a4b5d9b4a4a16678
671f87634767a4a5dab4682269266a2b6b01a4c9d8b4a4b9d9b4a4a1668c678c87644718a4a5dab4
7b05a4c9d8b4a4bdd9b4a4a1668c6778876547eca4a5dab47b05a4c9d8b4a4c5d9b4a4a16678678c
876747eca4a5dab47b05a4c9d8b4a4c1d9b4a4a1660f86664607a4a5dab47b05a4c9d8b4a4e1d9b4
a4a166e0866e46c0a4a5dab47b05a4e5d8b4a4c1d9b4a49ef165a4a530aaa4a13155a4a1dab46832
69366a3b6b01a4e5d8b4a4bdd9b4a49e60006130f155a49ef0658100a49ff065a4a53030a4a13100
a4a1dab47b05a4e5d8b4a4b5d9b4a49e6689f633f265a4a1300114323103143232071432a49e6641
f633f265a4a1300014323106143232051432a49e6604f633f265a4a1300014323100143232041432
a4a5dab47b05a4e5d8b4a4e1d9b4a4a16604f61edab47b05a4e9d8b4a4edd9b4a4a566ff760a3609
a4a186663604a4a166ff600a86043609a4a186663604a4a166ff866e8666367fa4a18666866e367e
a4a1660576f636fba4a16605860536fba4a16605806730fba4a1dab4149caa550000a040a000a0c0
80e0a0a0e0c04040e0e020c0e0e06020e0a0e02020e0c020c06080e0e0e0204040e0e0a0e0e0e020
c040a0e0a0c0e0a0e0e08080e0c0a0a0c0e0c080e0e080c08000a0a040a040a0a00aaea242380830
b8
|
12a06000e0a112047001401000ee1204fc652276410000ee80102276420000ee80202276430000ee
80302276440000ee80402276450000ee80502276460000ee80602276470000ee80702276480000ee
80802276490000ee809022764a0000ee80a022764b0000ee80b022764c0000ee80c0227600eea557
f01edde47d0400eea55b8ed08eee8eeefe1edab47a0500eea55892c0a5557b01dab37a047bff00ee
00e06a326b1ba609dab46a3aa60ddab46d006e00a5f722106a166b00610f6d012280630f6f1483f1
6f00623282118ef06c3f229082e06c00229082306c1f22907a056d022280630f6f1483f26f006232
82128ef06c02229082e06c00229082306c0422907b056a006d032280630f6f1483f36f0062328213
8ef06c3d229082e06c00229082306c1b22907a056d0422806f148f1484f0630f6f1483f46faa6232
82148ef06c41229082e06c00229082306c23229082406c0022907a016d0522806f148f1584f06314
6f0f83f5650a6f0a85f585f06faa6232821535016f028ef06c23229082e06c01229082306c052290
82406c0122907b056a006d0622806f3c8ff683f06faa623c82268ef06c1e229082e06c0022908230
6c0022907a056d0722806f0a8f1784f0630f6f1483f7650a6f0a85f785f06faa620f613282173501
6f028ef06c23229082e06c01229082306c05229082406c0122907a016d0e22806f328ffe83f06faa
6232822e8ef06c64229082e06c00229082306c0022906d006e10a5fd22106a166b1061646d042280
6fc88f1484f063646fc883f46faa62c882148ef06c2c229082e06c01229082306c2c229082406c01
22907a016d0522806f5f8f1584f0635f6f6483f56faa625f82158ef06cfb229082e06c0022908230
6cfb229082406c0022907b056a006d0622806f3d8ff683f06faa623d82268ef06c1e229082e06c01
229082306c0122907a056d0722806f698f1784f063696f6483f76faa626982178ef06cfb229082e0
6c00229082306cfb229082406c0022907a016d0e22806fbc8ffe83f06faa62bc822e8ef06c782290
82e06c01229082306c0122906d006e1ba60322106a166b1b6d0f22807aff6d0e2280a5446110f11e
60aaf055a554f06582006caa2290a5446f10ff1e6055f055a554f06582006c552290154200000000
00000000000000000000000000a0c080a040a0e0a0a0e0c04040e0e020c0e0e06020e0a0e02020e0
c020c0e080e0e0e0202020e0e0a0e0e0e020e040a0e0a0c0e0a0e0e08080e0c0a0a0c0e0c080e0e0
80c0806080a060a0e0a0a0e04040e0602020c0a0c0a0a0808080e0e0e0a0a0c0a0a0a0e0a0a0e0c0
a0c08040a0e060c0a0c0a060c020c0e0404040a0a0a060a0a0a040a0a0e0e0a040a0a0a0a04040e0
6080e00000000000e0000000000040482c68688c00342c70708c006478483c70000aaea242380830
b8
|
130c6000e0a112047001401000ee12046500a222f155a282f15512224301d01222020000f51ef51e
f51ef51ef1656300f315f40734001244a853d012640af41564018343640ee49e12524500125275ff
121c640fe49e1260952012607501121c8650640ae4a11280640072017401e49e1278864076ff1280
5420126c72ff123222020000f61ef61ef61ef61e6402f41ef16564108041a29af1550000fc652302
410000ee80102302420000ee80202302430000ee80302302440000ee80402302450000ee80502302
460000ee80602302470000ee80702302480000ee80802302490000ee809023024a0000ee80a02302
4b0000ee80b023024c0000ee80c0230200eea857f01edde47d0400ee00e0a1fff065400113804002
138840041390400313986d066e02a903229c6d0a6e0aa911229c6d0a6e0fa91a229c6d0a6e14a927
229c237060a861f76202121000e06d0a6e02a939229c6d126e0ca945229c6d126e11a94e229c2370
60a96131620112106a326b1ba9cbdab46a3aa9cfdab400eea8426001f055139ea8426002f055139e
a8426004f055139ea8426003f055220200e0a842f065300113c8276c6001330060006f068f254f00
60006f068f274f006006a843f055142e279a6001330060006f038f254f0060006f038f274f006006
a843f05500ff00e027e66101330061006f038f254f0061006f038f274f006106a843f06540061428
31061410600614283000141c4100600341016005300114284100600441016002a843f05500fe00e0
a9ba601c611dd01660166102d01285f06022d01286f000e0a9ba603d6105d01660036104d01287f0
610ad01288f000e0606e6132d01660286111d01289f06034d01289f46117d01289f46028d01289f4
60004500600155606006557060065580600639046007a844f055a842f0654001155600ff00e0a9ba
603c613dd01660366102d01285f06042d01286f000e0a9ba607d6105d01660036104d01287f0610a
d01288f000e060ae6152d01660286111d01289f06034d01289f46117d01289f46028d01289f46100
4500610155606106557061065580610639046107a844f0653006151c410615506008155030071528
41071550600815503106153060081550310715386008155030011544410160024100600430001550
4101600541006003a844f05500fe00e06d016e01a957229c65006f0f80024f00650166006f0f8001
4f00660167006f0f80034f006701a842f065a8583001158e4501a85515924500a8556a3b6b02dab3
a98e4501a98b5560a9ab5570a9b06d2a6e01229c6d016e06a960229c60016102620363046405a845
f455600b610c620da845f255f0658500f0658600a842f065a8586100400115ec400215fc400415fc
400315ec350415fa360515f8a85515fa6101160a350b160a360b1608a855160a61016a3b6b07dab3
a98b450ba98e4101a9ab6d2a6e06229c6d016e0ba967229ca842f165a858300116364101a8553002
163e4103a855300416464104a8553003164e4103a8556a3b6b0cdab3a98e4101a98b4106a9924104
a9974105a99c4102a9a14103a9a66d2a6e0b229c6d016e10a971229ca842f265a8583001168a4201
a855300216924202a8553004169a4202a855300316a24203a8556a3b6b11dab3a98e4201a98b4204
a9974205a99c4202a9a14203a9a64206a9ab4207a9b04208a9b56d2a6e10229c6d016e15a97a229c
6500660867006820856e8786a842f065a858300116f23500a855300216fa4500a855300417024500
a8553003170a3500a8556a3b6b16dab3a98e4500a98b5570a9ab6d2a6e15229c6d016e1aa983229c
60986e9cbe00a842f065a8583001173c4500a855300217443500a8553004174c3500a85530031754
4500a8556a3b6b1bdab3a98e4501a98b6d2a6e1a229cf00a2202130c27caa9c0f665a9c7f515651e
d0113f0017886036f60786668666806575ff35001778824483f4fe073e00177600ee27caa9c0f665
8556a9c7f515651ed0113f0017b86020f60786668666806575ff350017a8824483f4fe073e0017a6
00ee60086100620fa9d3d01ff21e7008303817e06008710f311e17d200ee601061006220aa87d010
f21e7010307017fc60107110314017eea9c0f665800481148556a9c9d0127008303c180ca9c7d012
700130401816f515650fd0123f001830606cf6078666806575ff35001822824483f4fe073e001820
00ee0000000000000000000000000000000000c0c0a0c080a040a0e0a0a0e0c04040e0e020c0e0e0
6020e0a0e02020e0c020c0e080e0e0e0202020e0e0a0e0e0e020e040a0e0a0c0e0a0e0e08080e0c0
a0a0c0e0c080e0e080c0806080a060a0e0a0a0e04040e0602020c0a0c0a0a0808080e0e0e0a0a0c0
a0a0a0e0a0a0e0c0a0c08040a0e060c0a0c0a060c020c0e0404040a0a0a060a0a0a040a0a0e0e0a0
40a0a0a0a04040e06080e00000000000e0000000000040060b03800610034c06150398684c345494
68582c784064705c00089434484c689824000c94747c683c709834484c6800109488649834484c68
000e0d03880e120390684c345494782c70443c780008945c64383c7060000c94583c442c348c0080
4094703c743c78005c3c5c64708c00384c74689c842c4c780034584c68684c60440074484c40784c
604400507c5c684c60440064600064404000745864840058703c740048703c740030647848006064
603c003c707008003c70700c003c70701000fefefefefefe0a1f000001b4008080ffff0aaea24238
0830b80f020202020200001f3f71e0e5e0e8a00d2a282828000018b8b838383fbf0019a5bda19d00
000c1d1d010d1d9d01c7292929270000f8fccec6c6c6c600494a49483b0000000103030301f03090
000080000000fec7838383c6fce7e0e0e0e0713f1f000007020202023938383838b8b8380000314a
79403bdddddddddddddddd0000a03820a018cefcf8c0d4dcc4c500003044241463f1030707771763
710000288ea8a8a6ce8703030387fefc00006090f0807000ff00ff000c000c000c000c000c000c00
0c000c000c000c0000000000000000cc00cc0000f300f30ccc0ccc0cc00cc00cc00cc00cc00cc000
000000000000000000000003c303c3cc33cc33cff3cff3cc03cc03c3f3c3f3000000000000000000
030003f03ff03f0cc30cc30cc30cc30cc30cc30c3f0c3f00000000000000000000000030c330c330
cc30cc30c330c330c030c00fcf0fcf00000000000000000f000f00c300c3000000000000000000c0
00c00000000000000000000000000003ff03ff0fff0fff3f033f03fc00fc00fc33fc33fc00fc00fc
c0fcc0fc3ffc3f03c003c0cfc0cfc0cfc0cfc00fc00fc00fc00fc00fff0fffcfffcfff0fc30fc300
f000f003f303f303f303f30003000300f300f303f303f3c3f3c3f3f3f3f3f3ffc0ffc0fff0fff0f0
fcf0fcf03cf03cf03cf03cf03cf03cf03cf03cf0fcf0fc0000000000030003000f000f000f000f00
0f000f00030003ff00ff00ff03ff03fffcfffcf03ff03fc00fc00fc00fc00fc00fc00ff03cf03cff
f0fff0f0fcf0fcfc00fc00fc00fc00fc00fc00fc00fc003f033f030fff0fff03ff03ff000000000f
c00fc00fc00fc00fc00fc00fc00fc0cfc0cfc0cfc0cfc00fc00fc000000000f3f3f3f3f3f3f3f3f3
f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f300000000fff0fff0ffc0ffc0f000f000f330f330f3
f0f3f0f030f030f033f03300000000000f000f003f003f003f003f3f3f3f3f033f033f3c0f3c0f3f
033f0300000000c03fc03f000f000f000f000f000f000fc03fc03ffffcfffcfff0fff00000000000
000000003f003f000c000c000c000c000c000c000c000c0000000000000000000000000f030f0330
cc30cc3fc33fc3300030000fcf0fcf000000000000000000000000cc00cc000fc00fc00c000c00cc
00cc0003c003c00000000000000000000000000f000f00303030300c300c30033003303c0f3c0f00
00000000000000000000000cc00cc0c0fcc0fcccc0ccc0ccc0ccc0cc3ccc3c000000000000000000
0000003c003c00c300c300ff00ff00c000c0003f003f000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000006500172e6501172e
|
130c6000e0a112047001401000ee12046500a222f155a282f15512224301d01222020000f51ef51e
f51ef51ef1656300f315f40734001244a423d012640af41564018343640ee49e12524500125275ff
121c640fe49e1260952012607501121c8650640ae4a11280640072017401e49e1278864076ff1280
5420126c72ff123222020000f61ef61ef61ef61e6402f41ef16564108041a29af1550000fc652302
410000ee80102302420000ee80202302430000ee80302302440000ee80402302450000ee80502302
460000ee80602302470000ee80702302480000ee80802302490000ee809023024a0000ee80a02302
4b0000ee80b023024c0000ee80c0230200eea427f01edde47d0400ee00e0a1fff065400113544002
1358400313be6d0a6e02a4d3229c6d086e0aa4df229c6d086e0fa4eb229c6d086e14a4f5229c6a32
6b1ba589dab46a3aa58ddab460a461c762021210619e135a61a160eea39ef15500e0a533ff65a412
ff556d126e03a543229c6d126e0aa54b229c6d126e11a553229c6d126e18a55b229c6e0023967e01
4e106e00138ca412fe1ef0656201eea16200902013bc80e0800ea563f01ef165a583d016a412fe1e
8020f05500ee00e06d066e0da503229c6003f015f00af107310013f2e0a113f800e0a425601e6109
d0136d106e11a511229c2202f00a2202130c6d0aa51a13fc6d08a52600e06e11229ca428601e6109
d0132202f00a2202130c0000000000000000000000000000000000c0c0a0c080a040a0e0a0a0e0c0
4040e0e020c0e0e06020e0a0e02020e0c020c0e080e0e0e0202020e0e0a0e0e0e020e040a0e0a0c0
e0a0e0e08080e0c0a0a0c0e0c080e0e080c0806080a060a0e0a0a0e04040e0602020c0a0c0a0a080
8080e0e0e0a0a0c0a0a0a0e0a0a0e0c0a0c08040a0e060c0a0c0a060c020c0e0404040a0a0a060a0
a0a040a0a0e0e0a040a0a0a0a04040e06080e00000000000e0000000000040040b03540410035804
1503be684c34549464683464383c0008943c88283c9438648460000c943c882c08947c6800109440
88042c94443c78543c8c0068703c7474942c608c94543c8c002c585894446464380060647894482c
58784c60440060647894703c583c2c743c38000000000000000000000000000000000008940c9410
943400149418941c9438002094249428943c002c9404943094400018171002180220021009180920
09101018102010101720172802280928102817fefefefefefe0aaea242380830b8
|
a254f06562018300640b6a1c6b0ca254f21ef165a267dab7f018f015222cdab7f115222c72025230
120e1200e4a11238f0073000122c00ee6000613c620b00e0a267dab7f118e2a11244dab7f018e29e
124c1240130a050a050a141e051e051e140a050a050a3c192ac88bc82a19
|
130c6000e0a112047001401000ee12046500a222f155a282f15512224301d01222020000f51ef51e
f51ef51ef1656300f315f40734001244a5e7d012640af41564018343640ee49e12524500125275ff
121c640fe49e1260952012607501121c8650640ae4a11280640072017401e49e1278864076ff1280
5420126c72ff123222020000f61ef61ef61ef61e6402f41ef16564108041a29af1550000fc652302
410000ee80102302420000ee80202302430000ee80302302440000ee80402302450000ee80502302
460000ee80602302470000ee80702302480000ee80802302490000ee809023024a0000ee80a02302
4b0000ee80b023024c0000ee80c0230200eea5ebf01edde47d0400eea1fff065400113ca400213fa
40031486400415024005156a00fe00e06d066e02a693229c6d0c6e0ca6a1229c6d0c6e11a6ad229c
239660a6618b6201121000fe00e06d076e02a6bf229c6d0f6e0ca6cd229c6d0f6e11a6d7229c2396
60a661b76201121000fe00e06d0a6e02a6ea229c6d126e0ca6f6229c6d126e11a6ff229c239660a6
61e2620112106a326b1ba72adab46a3aa72edab400eea7296000f055134aa7296001f055134aa729
f065400013701502a729f06540001486156a00e0a708602e610bd01800fc00fc00fc00fc00fc00fc
a710600a610bd01800fb00fb00fba720601c6100d01800c6143a00e0a708602e610bd01800fc00fc
00fc00fc00fc00fc00fc00fc00fc00fc00fc00fca710600a610bd01800fb00fb00fb00fb00fb00fb
a720601c6100d01800cca72860156121621b631a640f6504d031d131d041d141d251700171017201
301f14486014611f6220632b641a652566106705d061d161d261d361d471d57176017701361a146c
f00a2202130c00e000ffa708604e6116d01800fc00fc00fc00fc00fc00fca710602a6116d01800fb
00fb00fba720603c610bd01800cca72860356141623b632b64206515d031d131d041d141d2517001
71017201303f14c46034613f6240634b643a654566216716d061d161d261d361d471d57176017701
372014e8f00a2202130c00e0a708602d6117d01800fc00fc00fc00fc00fc00fca710600a610cd018
00fb00fb00fba71860166117d01800dca72060216100d01800c6a7286015611a620f6304d011d021
d0317001302a15446014611f622a6305d031d131d2317301331a1558f00a2202130c00e000ffa708
604d612ed01800fc00fc00fc00fc00fc00fca710602a6123d01800fb00fb00fba7186036612ed018
00dc00dca7206041610bd01800cca728603561156220632bd011d021d0317001304a15b06034613f
624a6316d031d131d2317301332b15c4f00a2202130c0000000000000000000000000000000000c0
c0a0c080a040a0e0a0a0e0c04040e0e020c0e0e06020e0a0e02020e0c020c0e080e0e0e0202020e0
e0a0e0e0e020e040a0e0a0c0e0a0e0e08080e0c0a0a0c0e0c080e0e080c0806080a060a0e0a0a0e0
4040e0602020c0a0c0a0a0808080e0e0e0a0a0c0a0a0a0e0a0a0e0c0a0c08040a0e060c0a0c0a060
c020c0e0404040a0a0a060a0a0a040a0a0e0e0a040a0a0a0a04040e06080e00000000000e0000000
000040080d03a6081203ae684c34549468582c784064705c000894747c683c7034484c68000c9488
649834484c68000b0d03b60b1203c0684c34549474347094744c903c00089458648494703c74000c
94484c444894703c74000e0d03ca0e1203fa684c345494782c70443c780008945c64383c7060000c
94583c442c348c00ffe7cf8181cfe7ffffe7f38181f3e7ffffe7c381a5e7e7ffffe7e7a581c3e7ff
80000aaea242380830b8
|
|