1361 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1361 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
gcl0x
 | 
						|
 | 
						|
{ General purpose variable names to re-use:
 | 
						|
  x, y, i, j, from, to, c
 | 
						|
}
 | 
						|
 | 
						|
{ RAM page 2 }
 | 
						|
[def {DrawStrip: Copies \vAC*4 packed bytes of Strip to Pos. Strip will point
 | 
						|
                 to the byte after Strip on return.}
 | 
						|
  Pos to=
 | 
						|
  $100 Count- c= [do
 | 
						|
    Strip; \sysArgs0:
 | 
						|
    Strip<++ Strip<++ Strip, \sysArgs2.
 | 
						|
    Strip<++
 | 
						|
 | 
						|
    \SYS_Unpack_56 \sysFn= 56!
 | 
						|
 | 
						|
    PixelMeta [if<>0
 | 
						|
      \sysArgs0, PixelMeta| \sysArgs0.
 | 
						|
      \sysArgs1, PixelMeta| \sysArgs1.
 | 
						|
      \sysArgs2, PixelMeta| \sysArgs2.
 | 
						|
      \sysArgs3, PixelMeta| \sysArgs3.
 | 
						|
    ]
 | 
						|
 | 
						|
    to \sysArgs4= 4+ to=
 | 
						|
    \SYS_Draw4_30 \sysFn= 30!
 | 
						|
 | 
						|
  c<++ c if<>0loop]
 | 
						|
ret] DrawStrip=
 | 
						|
 | 
						|
[def {DrawTile: Draws 4x4 Image at Pos. Pos will point to the last line of the
 | 
						|
                tile on return.}
 | 
						|
  push
 | 
						|
  1 Count=
 | 
						|
  Image Strip= DrawStrip!
 | 
						|
  Pos>++ DrawStrip!
 | 
						|
  Pos>++ DrawStrip!
 | 
						|
  Pos>++ DrawStrip!
 | 
						|
pop ret] DrawTile=
 | 
						|
 | 
						|
[def {EraseOldBlock: Use PixelMeta and clear out old blocks. Uses and destroys
 | 
						|
                     OldX, OldY and OldBlock}
 | 
						|
  push
 | 
						|
 | 
						|
  GetOldPos!
 | 
						|
 | 
						|
  1 Width=
 | 
						|
  4 Height=
 | 
						|
 | 
						|
  { Look up the block WORD in the Blocks lookup table }
 | 
						|
  BlockTable OldBlock+ deek OldBlock=
 | 
						|
 | 
						|
  $fc OldY= [do
 | 
						|
    $fc OldX= [do
 | 
						|
      OldBlock>, $80&
 | 
						|
      [if<>0 Pos,
 | 
						|
        [if<>0 $40& PixelMeta-
 | 
						|
          [if<>0 $0 ClearRect! -$400 Pos+ Pos=]]]
 | 
						|
      Pos 4+ Pos=
 | 
						|
      OldBlock 1<< OldBlock=
 | 
						|
    OldX<++ OldX if<>0loop]
 | 
						|
    $3F0 Pos+ Pos=
 | 
						|
  OldY<++ OldY if<>0loop]
 | 
						|
 | 
						|
pop ret] EraseOldBlock=
 | 
						|
 | 
						|
[def {ClearScreen: Clears screen to 16-bit colour \vAC}
 | 
						|
  push
 | 
						|
  c=
 | 
						|
  $0800 Pos= 40 Width= 120 Height=
 | 
						|
  c ClearRect!
 | 
						|
pop ret] ClearScreen=
 | 
						|
 | 
						|
\vLR>++ ret
 | 
						|
$0300: { RAM page 3 }
 | 
						|
 | 
						|
[def {DrawBlock: Draws the gigamino specified by Block and Color at X,Y}
 | 
						|
  push
 | 
						|
 | 
						|
  { Update position }
 | 
						|
  GetPos!
 | 
						|
 | 
						|
  { Get the block sprite }
 | 
						|
  GetBlock!
 | 
						|
 | 
						|
  { Look up the block WORD in the Blocks lookup table }
 | 
						|
  BlockTable Block+ deek i=
 | 
						|
 | 
						|
  { Draw the 16x16 bit-field as block sprites }
 | 
						|
  $fc y= [do
 | 
						|
    $fc x= [do
 | 
						|
      i>, $80&
 | 
						|
      [if<>0 DrawTile! -$300 Pos+ Pos=]
 | 
						|
      Pos 4+ Pos=
 | 
						|
      i 1<< i=
 | 
						|
    x<++ x if<>0loop]
 | 
						|
    $3F0 Pos+ Pos=
 | 
						|
  y<++ y if<>0loop]
 | 
						|
 | 
						|
pop ret] DrawBlock=
 | 
						|
 | 
						|
{ Print a 5x8 character on screen with the built-in font
 | 
						|
  Char must be in the 32-127 range (this is not checked) }
 | 
						|
[def {PrintChar}
 | 
						|
  {Map ASCII code to offset in font table}
 | 
						|
  c 82- [if<0 50+ i= \font32up
 | 
						|
            else     i= \font82up] x= {Select low or high page}
 | 
						|
  i 2<< i+             {Multiply by 5}
 | 
						|
  x+ x=  {Add to page address to reach bitmap data for c}
 | 
						|
 | 
						|
  {Draw 5 vertical slices: 5 using font data}
 | 
						|
  TextColor \sysArgs0:
 | 
						|
  Pos     \sysArgs4=
 | 
						|
  6+      Pos=
 | 
						|
  \SYS_VDrawBits_134 \sysFn=
 | 
						|
  $fb i= [do
 | 
						|
    x 0? x<++ \sysArgs2. 134!
 | 
						|
    \sysArgs4<++
 | 
						|
    i<++ i if<>0loop]
 | 
						|
  ret
 | 
						|
] PrintChar=
 | 
						|
 | 
						|
[def {ClearRect: Clears (Width*4)*Height rect at Pos to \vAC colour. Pos points
 | 
						|
                 to the line below the rect on return. Note that \vAC actually
 | 
						|
                 needs to be 16-bit ColourColour.}
 | 
						|
  \sysArgs0: \sysArgs2:
 | 
						|
 | 
						|
  \SYS_Draw4_30 \sysFn=
 | 
						|
 | 
						|
  $100 Width- c=
 | 
						|
  $40 Width- 2<< i= { Amount to add after drawing each line to get to the next }
 | 
						|
  $100 Height- y= [do
 | 
						|
    c x= [do
 | 
						|
      Pos \sysArgs4= 4+ Pos=
 | 
						|
      30! {SYS_Draw4_30}
 | 
						|
    x<++ x if<>0loop]
 | 
						|
    Pos i+ Pos=
 | 
						|
  y<++ y if<>0loop]
 | 
						|
ret] ClearRect=
 | 
						|
 | 
						|
\vLR>++ ret
 | 
						|
$0400: { RAM page 4 }
 | 
						|
 | 
						|
[def {TitleScreen}
 | 
						|
  push
 | 
						|
 | 
						|
  { We use the top 2 bits of each pixel to store metadata. The MSB indicates
 | 
						|
    whether or not blocks should collide, the LSB indicates whether or not a
 | 
						|
    moving block piece was there (with on or off alternating meaning each move }
 | 
						|
  $00 PixelMeta=
 | 
						|
 | 
						|
  $2525 ClearScreen!
 | 
						|
 | 
						|
  { Title screen image is 72x80, so 18 bytes across at packed 6bpp }
 | 
						|
  18 Count=
 | 
						|
  $30a0 Strip= {packedTitle}
 | 
						|
 | 
						|
  { Hide the last 80 scanlines for incoming scroll animation }
 | 
						|
  $014E v= { The video table index for the last visible scanline - 80 }
 | 
						|
  $B0 y= [do
 | 
						|
    47 v.                         {Video table Y goes from 8..127}
 | 
						|
    v<++ v<++                     {Skip to next Y entry}
 | 
						|
  y<++ y if<>0loop]
 | 
						|
 | 
						|
  { Scroll title onto screen }
 | 
						|
  { TODO: Could probably save a few bytes here }
 | 
						|
  $302C Pos= { (44, 40), image is (72,80) }
 | 
						|
  80 [do y=
 | 
						|
    DrawStrip!
 | 
						|
    Pos>++
 | 
						|
    Strip 202+ Strip=
 | 
						|
 | 
						|
    $01EE v=
 | 
						|
    81 y- [do scroll=
 | 
						|
      {[do \videoY, 1& if=0loop]     {Synchronize with video loop}}
 | 
						|
      47 scroll+ v.
 | 
						|
      v 2- v=
 | 
						|
    scroll 1- if>0loop]
 | 
						|
  y 1- if>0loop]
 | 
						|
 | 
						|
  { Draw logo }
 | 
						|
  $2eC6 {LogoBlocks} BlockTable=
 | 
						|
  $1210 Origin=
 | 
						|
  0 X= Y= Block= Color=
 | 
						|
  $F8 j= [do
 | 
						|
    Color 1- 3& Color= DrawBlock! X 4+ X= Block<++ Block<++
 | 
						|
  j<++ j if<>0loop]
 | 
						|
 | 
						|
  { Wait for a button press }
 | 
						|
  [do \serialRaw, $80& {~buttonA} if<>0loop]
 | 
						|
pop ret] TitleScreen=
 | 
						|
 | 
						|
[def {CheckCollision: Checks if Block has a collision at X,Y.
 | 
						|
                      \vAC is non-zero if there's a collision}
 | 
						|
  push
 | 
						|
 | 
						|
  { Update Pos }
 | 
						|
  GetNewPos!
 | 
						|
 | 
						|
  { Look up the block WORD in the Blocks lookup table }
 | 
						|
  BlockTable NewBlock+ deek i=
 | 
						|
 | 
						|
  { Loop over each bit of the block and check that the corresponding screen
 | 
						|
    position is black }
 | 
						|
  $fc y= [do
 | 
						|
    $fc x= [do
 | 
						|
      i>, $80&
 | 
						|
      [if<>0 Pos, $80& [if<>0 pop ret]]
 | 
						|
      Pos 4+ Pos=
 | 
						|
      i 1<< i=
 | 
						|
    x<++ x if<>0loop]
 | 
						|
    $3F0 Pos+ Pos=
 | 
						|
  y<++ y if<>0loop]
 | 
						|
pop 0 ret] CheckCollision=
 | 
						|
 | 
						|
\vLR>++ ret
 | 
						|
$0500: { RAM page 5 }
 | 
						|
 | 
						|
[def {GetOldPos: Set Pos to block position from OldX and OldY}
 | 
						|
  OldY 10<< Origin+ Pos=
 | 
						|
  OldX 2<< Pos+ Pos=
 | 
						|
ret] GetOldPos=
 | 
						|
 | 
						|
[def {RandomBlock: Initialise Block to a random type}
 | 
						|
  push
 | 
						|
  NextColor NewColor= NextBlock NewBlock=
 | 
						|
  \SYS_Random_34 \sysFn= 34! 7&
 | 
						|
  [if<>0
 | 
						|
    i= 1- 3& NextColor=
 | 
						|
    $2fc5 {PieceIndices-1} i+ peek NextBlock=
 | 
						|
  ]
 | 
						|
  DrawNextBlock!
 | 
						|
  0 Y= NewY= PixelMeta= 6 X= NewX=
 | 
						|
pop ret] RandomBlock=
 | 
						|
 | 
						|
[def {DoInput: Process pad input}
 | 
						|
  push
 | 
						|
 | 
						|
  { Allow movement when left/right go up }
 | 
						|
  \serialRaw, 3& {buttonRight|buttonLeft} 3-
 | 
						|
  [if=0 Controls 1| Controls=]
 | 
						|
 | 
						|
  { Handle piece movement }
 | 
						|
  Controls 1& [if<>0
 | 
						|
    \serialRaw, 1& {buttonRight}
 | 
						|
    [if=0 1 else
 | 
						|
      \serialRaw, 2& {buttonLeft}
 | 
						|
      [if=0 -1 else 0]]
 | 
						|
 | 
						|
    [if<>0
 | 
						|
      X+ NewX=
 | 
						|
      Controls 1- Controls=
 | 
						|
    else
 | 
						|
      { Hold down to increase speed }
 | 
						|
      \serialRaw, $fb^ {~buttonDown}
 | 
						|
      [if=0
 | 
						|
        $ff ControlLoop=
 | 
						|
        1 AddToScore!
 | 
						|
      ]
 | 
						|
    ]
 | 
						|
  ]
 | 
						|
 | 
						|
  { Allow rotation when A/B go up }
 | 
						|
  \serialRaw, $C0& {buttonA|buttonB} $C0-
 | 
						|
  [if=0 Controls 2| Controls=]
 | 
						|
 | 
						|
  { Handle piece rotation }
 | 
						|
  Controls 2& [if<>0
 | 
						|
    \serialRaw, $80& {buttonA}
 | 
						|
    [if=0 $2fa0 else
 | 
						|
      \serialRaw, $40& {buttonB}
 | 
						|
      [if=0 $2fa1 else 0]]
 | 
						|
 | 
						|
    [if<>0
 | 
						|
      Block+ peek NewBlock=
 | 
						|
      Controls 2- Controls=
 | 
						|
    ]
 | 
						|
  ]
 | 
						|
 | 
						|
pop ret] DoInput=
 | 
						|
 | 
						|
\vLR>++ ret
 | 
						|
$0600: { RAM page 6 }
 | 
						|
 | 
						|
[def {ClearRow: Clears the row at Y}
 | 
						|
  push
 | 
						|
  3 X=
 | 
						|
  GetPos!
 | 
						|
  $300 Pos+ Pos=
 | 
						|
  -$400 Pos+ i=
 | 
						|
 | 
						|
  \SYS_Draw4_30 \sysFn=
 | 
						|
 | 
						|
  Y 1- 2<< [do y=
 | 
						|
    $f6 x= [do
 | 
						|
      i; \sysArgs0: i<++ i<++ i; \sysArgs2: i<++ i<++
 | 
						|
      Pos \sysArgs4= 4+ Pos=
 | 
						|
      30! {SYS_Draw4_30}
 | 
						|
    x<++ x if<>0loop]
 | 
						|
    -$128 Pos+ Pos=
 | 
						|
    -$128 i+ i=
 | 
						|
  y 1- if<>0loop]
 | 
						|
pop ret] ClearRow=
 | 
						|
 | 
						|
[def {CheckClears}
 | 
						|
  push
 | 
						|
  0 j=
 | 
						|
  21 [do Y=
 | 
						|
    $f6 c=
 | 
						|
    3 X= [do
 | 
						|
      GetPos! Pos, $80&
 | 
						|
      [if<>0 c<++ X<++ X 13- if<>0loop]
 | 
						|
    ]
 | 
						|
    c [if=0 ClearRow! Y<++ j<++]
 | 
						|
  Y 1- if<>0loop]
 | 
						|
 | 
						|
  j [if>0 _CalcScore!]
 | 
						|
 | 
						|
pop ret] CheckClears=
 | 
						|
 | 
						|
[def {DrawRect: Draws a rectangle of WidthxHeight in colour \vAC at Pos}
 | 
						|
  c=
 | 
						|
 | 
						|
  { Draw first line }
 | 
						|
  $101 Width- x= i= [do
 | 
						|
    c Pos. Pos<++
 | 
						|
  x<++ x if<>0loop]
 | 
						|
 | 
						|
  { Draw left and right sides }
 | 
						|
  Pos to= Width- Pos= Pos<++
 | 
						|
  $101 Height- y= [do
 | 
						|
    c Pos. to. Pos>++ to>++
 | 
						|
  y<++ y if<>0loop]
 | 
						|
 | 
						|
  { Draw last line }
 | 
						|
  [do
 | 
						|
    c Pos. Pos<++
 | 
						|
  i<++ i if<>0loop]
 | 
						|
  c Pos.
 | 
						|
ret] DrawRect=
 | 
						|
 | 
						|
{ Go to RAM page 8 (7 is sound tables) }
 | 
						|
$08a0 call
 | 
						|
$08a0: { RAM page 8, after screen }
 | 
						|
 | 
						|
[def { HideTopLines: Hides the top 2 lines of the playfield }
 | 
						|
  { Use the video table to hide the top 2 blocks worth of play field, to
 | 
						|
    hide blocks appearing on the screen }
 | 
						|
  -$0700 Origin+ v= v>, 1<< $fe+ v= { Video table index for the first line }
 | 
						|
  {$0110 v= { Video table index for line 8 }}
 | 
						|
  $f8 i= [do
 | 
						|
    8 v.
 | 
						|
    v<++ v<++
 | 
						|
  i<++ i if<>0loop]
 | 
						|
ret] HideTopLines=
 | 
						|
 | 
						|
[def { RestoreTopLines: Restores the top 2 lines of the playfield }
 | 
						|
  -$0700 Origin+ v=
 | 
						|
  v>, 7+ y= { Starting line number + 8 }
 | 
						|
  v>, 1<< $fe+ v= { Video table index for the first line }
 | 
						|
  $f8 i= [do
 | 
						|
    y y<++ v.
 | 
						|
    v<++ v<++
 | 
						|
  i<++ i if<>0loop]
 | 
						|
ret] RestoreTopLines=
 | 
						|
 | 
						|
$09a0 call
 | 
						|
$09a0: { RAM page 9 }
 | 
						|
 | 
						|
[def { DrawNumberBox: Draws a number display box at Pos with the text at \vAC }
 | 
						|
  push
 | 
						|
  j=
 | 
						|
  Pos from=
 | 
						|
 | 
						|
  13 Width=
 | 
						|
  10 Height=
 | 
						|
  $3F3F ClearRect!
 | 
						|
 | 
						|
  $0A00 from+ Pos=
 | 
						|
  $0101 ClearRect!
 | 
						|
 | 
						|
  from Pos=
 | 
						|
  52 Width=
 | 
						|
  20 Height=
 | 
						|
  $15 DrawRect!
 | 
						|
 | 
						|
  $003F TextColor=
 | 
						|
 | 
						|
  $020B from+ Pos=
 | 
						|
  j PrintText!
 | 
						|
 | 
						|
pop ret] DrawNumberBox=
 | 
						|
 | 
						|
$0aa0 call
 | 
						|
$0aa0: { RAM page 10 }
 | 
						|
 | 
						|
[def { DrawNextDigit: Draws digit (radix) \vAC of number from }
 | 
						|
  push
 | 
						|
  j= from j- [if>=0
 | 
						|
    from=
 | 
						|
    $31 c=
 | 
						|
    from [do
 | 
						|
      j-
 | 
						|
      if>=0
 | 
						|
        from=
 | 
						|
        c<++
 | 
						|
        loop
 | 
						|
    ]
 | 
						|
    PrintChar!
 | 
						|
    $30 c=
 | 
						|
  else
 | 
						|
    PrintChar!
 | 
						|
  ]
 | 
						|
  pop ret
 | 
						|
] DrawNextDigit=
 | 
						|
 | 
						|
[def { _DrawNumber4 - Draws number from at Pos with leading character c }
 | 
						|
  1000 DrawNextDigit!
 | 
						|
   100 DrawNextDigit!
 | 
						|
    10 DrawNextDigit!
 | 
						|
  $30 c=
 | 
						|
     1 DrawNextDigit!
 | 
						|
pop ret] _DrawNumber4=
 | 
						|
 | 
						|
[def { DrawNumber4 - Draws number \vAC at Pos }
 | 
						|
  push
 | 
						|
  from=
 | 
						|
  $20 c=
 | 
						|
  _DrawNumber4!
 | 
						|
{ pop ret in _DrawNumber4 }] DrawNumber4=
 | 
						|
 | 
						|
$0ba0 call
 | 
						|
$0ba0: { RAM page 11 }
 | 
						|
 | 
						|
[def { DrawNumber04 - Draws number \vAC at Pos with leading zero's }
 | 
						|
  push
 | 
						|
  from=
 | 
						|
  $30 c=
 | 
						|
  _DrawNumber4!
 | 
						|
{ pop ret in _DrawNumber4 }] DrawNumber04=
 | 
						|
 | 
						|
[def { DrawUI }
 | 
						|
  push
 | 
						|
 | 
						|
  $1C68 { 104, 28 } Pos=
 | 
						|
  $2CA0 {"SCORE"} DrawNumberBox!
 | 
						|
 | 
						|
  $1C04 { 4, 28 } Pos=
 | 
						|
  $2CA6 {"LEVEL"} DrawNumberBox!
 | 
						|
 | 
						|
  $5904 { 4, 89 } Pos=
 | 
						|
  $2cac {"LINES"} DrawNumberBox!
 | 
						|
 | 
						|
  { Draw box for Next display }
 | 
						|
  $5968 { 104, 89 } Pos=
 | 
						|
  5 Width=
 | 
						|
  20 Height=
 | 
						|
  $0000 ClearRect!
 | 
						|
  $5968 Pos=
 | 
						|
  20 Width=
 | 
						|
  $15 DrawRect!
 | 
						|
 | 
						|
  { Leave TextColor initialised to draw numbers }
 | 
						|
  $3F01 TextColor=
 | 
						|
 | 
						|
pop ret] DrawUI=
 | 
						|
 | 
						|
$0ca0 call
 | 
						|
$0ca0: { RAM page 12 }
 | 
						|
 | 
						|
[def { UpdateDisplay }
 | 
						|
  push
 | 
						|
 | 
						|
  { Draw level }
 | 
						|
  $270E { 14, 39 } Pos= Speed $e8- DrawNumber4!
 | 
						|
 | 
						|
  { Draw Lines}
 | 
						|
  $6413 { 19, 100 } Pos= Lines DrawNumber4!
 | 
						|
 | 
						|
  DrawScore!
 | 
						|
 | 
						|
pop ret] UpdateDisplay=
 | 
						|
 | 
						|
[def { _DrawScore }
 | 
						|
  push
 | 
						|
 | 
						|
  $276B { 107, 39 } Pos= Score2 DrawNumber04!
 | 
						|
  $2783 { 131, 39 } Pos= Score1 DrawNumber04!
 | 
						|
 | 
						|
pop ret] DrawScore=
 | 
						|
 | 
						|
[def {GetNewPos: Set Pos to block position from NewX and NewY}
 | 
						|
  NewY 10<< Origin+ Pos=
 | 
						|
  NewX 2<< Pos+ Pos=
 | 
						|
ret] GetNewPos=
 | 
						|
 | 
						|
$0da0 call
 | 
						|
$0da0: { RAM page 13 }
 | 
						|
 | 
						|
[def { InitGame }
 | 
						|
  push
 | 
						|
 | 
						|
  $9090 ClearScreen!
 | 
						|
 | 
						|
  $2ea0 {Blocks} BlockTable=
 | 
						|
  $1430 { 60, 12 = $143C - (3*4) = $1430 } Origin=
 | 
						|
 | 
						|
  DrawUI!
 | 
						|
 | 
						|
  { Clear a 10x22 playfield of 4x4 blocks, so 40x88 }
 | 
						|
  HideTopLines!
 | 
						|
 | 
						|
  { Draw outline first }
 | 
						|
  $080b Origin+ Pos=
 | 
						|
  42 Width=
 | 
						|
  81 Height=
 | 
						|
  $95 DrawRect!
 | 
						|
 | 
						|
  { Draw fill afterwards to overwrite the top drawn line and fix collision }
 | 
						|
  Origin 12+ Pos=
 | 
						|
  10 Width=
 | 
						|
  88 Height=
 | 
						|
  $0000 ClearRect!
 | 
						|
 | 
						|
  { Initialise block, speed and score }
 | 
						|
  $e8 Speed=
 | 
						|
  0 NextColor= NextBlock= Score1= Score2= Lines=
 | 
						|
  $ff Controls= { Control bitfield: bit0=left/right, bit1=a/b }
 | 
						|
 | 
						|
  { We want this called twice on game start, so once here and then once in the
 | 
						|
    main game loop. }
 | 
						|
  RandomBlock!
 | 
						|
 | 
						|
pop ret] InitGame=
 | 
						|
 | 
						|
$0ea0 call
 | 
						|
$0ea0: { RAM page 14 }
 | 
						|
 | 
						|
[def { GameOver }
 | 
						|
  push
 | 
						|
 | 
						|
  { Restore the hidden above-the-field spaces }
 | 
						|
  Origin 12+ Pos= 10 Width= 8 Height=
 | 
						|
  $1010 ClearRect!
 | 
						|
 | 
						|
  { Restore the video table }
 | 
						|
  RestoreTopLines!
 | 
						|
 | 
						|
  { Clear the playfield. TODO: Do it more slowly }
 | 
						|
  $80C Origin+ Pos= 10 Width= 80 Height=
 | 
						|
  $1515 ClearRect!
 | 
						|
 | 
						|
  { Wait for a button press }
 | 
						|
  [do \serialRaw, $80& {~buttonA} if<>0loop]
 | 
						|
 | 
						|
pop ret] GameOver=
 | 
						|
 | 
						|
$0fa0 call
 | 
						|
$0fa0: { RAM page 15 }
 | 
						|
 | 
						|
[def {MoveBlock: Draw block in a new position if it's moved}
 | 
						|
  push
 | 
						|
 | 
						|
  { Do nothing if the piece hasn't moved }
 | 
						|
  X NewX-
 | 
						|
  [if=0 Y NewY-
 | 
						|
    [if=0 Block NewBlock-
 | 
						|
      [if=0 pop 0 ret]]]
 | 
						|
 | 
						|
  CheckCollision!
 | 
						|
  [if<>0
 | 
						|
    { Restore old position }
 | 
						|
    i=
 | 
						|
    X NewX=
 | 
						|
    Y NewY=
 | 
						|
    Block NewBlock=
 | 
						|
  pop i ret]
 | 
						|
 | 
						|
  { Backup old position }
 | 
						|
  X OldX= Y OldY= Block OldBlock=
 | 
						|
 | 
						|
  { Update piece position/rotation }
 | 
						|
  NewX X= NewY Y= NewBlock Block=
 | 
						|
 | 
						|
  { Update PixelMeta for old piece erasing }
 | 
						|
  PixelMeta $40^ PixelMeta=
 | 
						|
 | 
						|
  { Draw block and erase old block }
 | 
						|
  DrawBlock! EraseOldBlock!
 | 
						|
 | 
						|
pop 0 ret] MoveBlock=
 | 
						|
 | 
						|
$10a0 call
 | 
						|
$10a0: { RAM page 16 }
 | 
						|
 | 
						|
[def { AddToScore: Adds \vAC to score. \vAC must be no bigger than 9999. }
 | 
						|
  Score1+ Score1=
 | 
						|
  10000 i= Score1 i-
 | 
						|
  [if>=0
 | 
						|
    Score1= Score2 1+ Score2=
 | 
						|
  ]
 | 
						|
ret] AddToScore=
 | 
						|
 | 
						|
[def {PrintText}
 | 
						|
  push
 | 
						|
  from=
 | 
						|
  [do
 | 
						|
    from, c= {Next character to be printed}
 | 
						|
    if<>0       {Zero termination}
 | 
						|
      from<++   {Advance text pointer}
 | 
						|
      c 10^ [if=0 Pos<. $800 Pos+ Pos=
 | 
						|
                else PrintChar!]
 | 
						|
      loop]
 | 
						|
  pop ret
 | 
						|
] PrintText=
 | 
						|
 | 
						|
$11a0 call
 | 
						|
$11a0: { RAM page 17 }
 | 
						|
 | 
						|
[def {GetBlock: Load the address of the block sprite of Color (0-3) in Image}
 | 
						|
  $2d94 {packedBlocks - 12} Image=
 | 
						|
  $ff Color- i= [do
 | 
						|
    Image 12+ Image=
 | 
						|
  i<++ i if<>0loop]
 | 
						|
ret] GetBlock=
 | 
						|
 | 
						|
[def {GetPos: Set Pos to block position from X and Y}
 | 
						|
  Y 10<< Origin+ Pos=
 | 
						|
  X 2<< Pos+ Pos=
 | 
						|
ret] GetPos=
 | 
						|
 | 
						|
[def {Wait: Delay \vAC number of frames}
 | 
						|
  i= \frameCount, i+ 255& i=
 | 
						|
  [do \frameCount, i- if<>0loop]
 | 
						|
ret] Wait=
 | 
						|
 | 
						|
$12a0 call
 | 
						|
$12a0: { RAM page 18 }
 | 
						|
 | 
						|
[def { _CalcScore: Calculates and adds to the score for j lines (which it also
 | 
						|
                   expects in \vAC) }
 | 
						|
  Lines+ Lines=
 | 
						|
 | 
						|
  { Update the speed }
 | 
						|
  c=
 | 
						|
  $e7 Speed=
 | 
						|
  c [do
 | 
						|
    Speed<++
 | 
						|
    10-
 | 
						|
  if>0loop]
 | 
						|
 | 
						|
  { Update the score }
 | 
						|
  $2cb0 { Bonuses - 2 } j+ j+ j=
 | 
						|
  Speed $ed- [do c=
 | 
						|
    j; AddToScore!
 | 
						|
  c 1- if>0loop]
 | 
						|
pop ret] _CalcScore=
 | 
						|
 | 
						|
$13a0 call
 | 
						|
$13a0: { RAM page 19 }
 | 
						|
 | 
						|
[def {DrawNextBlock}
 | 
						|
  push
 | 
						|
  $5a6a Pos=
 | 
						|
  4 Width=
 | 
						|
  18 Height=
 | 
						|
  $0000 ClearRect!
 | 
						|
 | 
						|
  18 Y= 15 X=
 | 
						|
  NextBlock Block= NextColor Color=
 | 
						|
  DrawBlock!
 | 
						|
  NewBlock Block= NewColor Color=
 | 
						|
pop ret] DrawNextBlock=
 | 
						|
 | 
						|
$14a0 call
 | 
						|
$14a0: { RAM page 20 }
 | 
						|
 | 
						|
{ Game loop }
 | 
						|
[do
 | 
						|
  TitleScreen!
 | 
						|
  InitGame!
 | 
						|
 | 
						|
  [do
 | 
						|
    UpdateDisplay!
 | 
						|
    RandomBlock!
 | 
						|
 | 
						|
    { Initialise block }
 | 
						|
    CheckCollision! CantMove=
 | 
						|
    DrawBlock!
 | 
						|
 | 
						|
    CantMove [if=0 [do
 | 
						|
      { Reset left/right to allow repeating }
 | 
						|
      Controls 1| Controls=
 | 
						|
 | 
						|
      Speed ControlLoop= [do
 | 
						|
        { Handle input }
 | 
						|
        DoInput!
 | 
						|
 | 
						|
        { Draw piece if its moved }
 | 
						|
        MoveBlock!
 | 
						|
 | 
						|
        { Small delay }
 | 
						|
        1 Wait!
 | 
						|
 | 
						|
      ControlLoop<++ ControlLoop if<>0loop]
 | 
						|
 | 
						|
      { Move the piece down and loop if there's no collision }
 | 
						|
      Y 1+ NewY= MoveBlock! [if=0 loop]
 | 
						|
 | 
						|
      { Set the pixel metadata as solid and redraw block }
 | 
						|
      $80 PixelMeta= DrawBlock!
 | 
						|
    ]
 | 
						|
 | 
						|
    CheckClears!
 | 
						|
 | 
						|
    loop]
 | 
						|
  ]
 | 
						|
 | 
						|
  GameOver!
 | 
						|
 | 
						|
loop]
 | 
						|
 | 
						|
{ RAM page 44: Start of data segment }
 | 
						|
$2ca0:
 | 
						|
{"SCORE"}
 | 
						|
$53# $43# $4f# $52# $45# $00#
 | 
						|
{$2ca6: "LEVEL"}
 | 
						|
$4c# $45# $56# $45# $4c# $00#
 | 
						|
{$2cac: "LINES"}
 | 
						|
$4c# $49# $4e# $45# $53# $00#
 | 
						|
{$2cb2: Bonuses}
 | 
						|
$28# $00# { 40 }
 | 
						|
$64# $00# { 100 }
 | 
						|
$2C# $01# { 300 }
 | 
						|
$B0# $04# { 1200 }
 | 
						|
 | 
						|
$2da0:
 | 
						|
{ packedBlocks: 4 4x4 pixel blocks, packed }
 | 
						|
 $c3# $30# $0c# $c3# $b2# $0c# $c3# $32# $0c# $c3# $30# $0c#
 | 
						|
 $49# $92# $24# $49# $d7# $25# $49# $97# $24# $49# $92# $24#
 | 
						|
 $34# $4d# $d3# $74# $9e# $d3# $74# $4e# $d3# $34# $4d# $d3#
 | 
						|
 $db# $b6# $6d# $db# $f7# $6d# $db# $b7# $6d# $db# $b6# $6d#
 | 
						|
 | 
						|
$2ea0:
 | 
						|
{Blocks}
 | 
						|
  {00} $44# $44# { I piece }
 | 
						|
  {02} $00# $0F#
 | 
						|
  {04} $60# $44# { L piece }
 | 
						|
  {06} $80# $0E#
 | 
						|
  {08} $20# $62#
 | 
						|
  {10} $E0# $02#
 | 
						|
  {12} $60# $22# { J piece }
 | 
						|
  {14} $E0# $08#
 | 
						|
  {16} $40# $64#
 | 
						|
  {18} $20# $0E#
 | 
						|
  {20} $40# $0E# { T piece }
 | 
						|
  {22} $20# $26#
 | 
						|
  {24} $E0# $04#
 | 
						|
  {26} $64# $04#
 | 
						|
  {28} $60# $06# { O piece }
 | 
						|
  {30} $C0# $06# { S piece }
 | 
						|
  {32} $20# $46#
 | 
						|
  {34} $60# $0C# { Z piece }
 | 
						|
  {36} $40# $26#
 | 
						|
 | 
						|
{$2ec6: LogoBlocks}
 | 
						|
  {00} $97# $68# {G}
 | 
						|
  {02} $4E# $E4# {I}
 | 
						|
  {04} $97# $68# {G}
 | 
						|
  {06} $F9# $69# {A}
 | 
						|
  {08} $44# $E4# {T}
 | 
						|
  {10} $A9# $69# {R}
 | 
						|
  {12} $4E# $E4# {I}
 | 
						|
  {14} $2C# $34# {S}
 | 
						|
 | 
						|
$2fa0:
 | 
						|
{Rotations}
 | 
						|
  {00} 02# 02# { I piece }
 | 
						|
  {02} 00# 00#
 | 
						|
  {04} 06# 10# { L piece }
 | 
						|
  {06} 08# 04#
 | 
						|
  {08} 10# 06#
 | 
						|
  {10} 04# 08#
 | 
						|
  {12} 14# 18# { J piece }
 | 
						|
  {14} 16# 12#
 | 
						|
  {16} 18# 14#
 | 
						|
  {18} 12# 16#
 | 
						|
  {20} 22# 26# { T piece }
 | 
						|
  {22} 24# 20#
 | 
						|
  {24} 26# 22#
 | 
						|
  {26} 20# 24#
 | 
						|
  {28} 28# 28# { O piece }
 | 
						|
  {30} 32# 32# { S piece }
 | 
						|
  {32} 30# 30#
 | 
						|
  {34} 36# 36# { Z piece }
 | 
						|
  {36} 34# 34#
 | 
						|
 | 
						|
{$2fc6: PieceIndices}
 | 
						|
00# 04# 12# 20# 28# 30# 34#
 | 
						|
 | 
						|
$30a0:
 | 
						|
{packedTitle01}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $96# $5a# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$31a0:
 | 
						|
{packedTitle02}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $96# $5a# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$32a0:
 | 
						|
{packedTitle03}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $96# $5a# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$33a0:
 | 
						|
{packedTitle04}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $96# $5a# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$34a0:
 | 
						|
{packedTitle05}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $96# $5a# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$35a0:
 | 
						|
{packedTitle06}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $96# $5a# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$36a0:
 | 
						|
{packedTitle07}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $56# $56# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$37a0:
 | 
						|
{packedTitle08}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $a9# $5a# $86# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$38a0:
 | 
						|
{packedTitle09}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $a5# $6a# $19# $cb# $a6# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$39a0:
 | 
						|
{packedTitle10}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $65# $18# $db# $a2# $95# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$3aa0:
 | 
						|
{packedTitle11}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $19# $18# $86# $a1# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$3ba0:
 | 
						|
{packedTitle12}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $69# $9b# $56# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$3ca0:
 | 
						|
{packedTitle13}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $6d# $9b# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$3da0:
 | 
						|
{packedTitle14}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $09# $9b# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$3ea0:
 | 
						|
{packedTitle15}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $59# $9b# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$3fa0:
 | 
						|
{packedTitle16}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $69# $9a# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$40a0:
 | 
						|
{packedTitle17}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $19# $9b# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$41a0:
 | 
						|
{packedTitle18}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $59# $19# $9b# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$42a0:
 | 
						|
{packedTitle19}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $69# $09# $9b# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$43a0:
 | 
						|
{packedTitle20}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $69# $19# $db# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$44a0:
 | 
						|
{packedTitle21}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $29# $6c# $db# $56# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$45a0:
 | 
						|
{packedTitle22}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $25# $08# $db# $56# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$46a0:
 | 
						|
{packedTitle23}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $a5# $b5# $09# $db# $66# $95# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$47a0:
 | 
						|
{packedTitle24}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $65# $b0# $19# $db# $b6# $95# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$48a0:
 | 
						|
{packedTitle25}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $59# $96# $95# $b0# $19# $d7# $b6# $95# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$49a0:
 | 
						|
{packedTitle26}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $59# $96# $81# $b1# $5d# $d7# $b6# $95# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$4aa0:
 | 
						|
{packedTitle27}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $59# $96# $95# $60# $18# $d7# $b6# $59# $65# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$4ba0:
 | 
						|
{packedTitle28}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $59# $52# $94# $65# $19# $97# $b1# $69# $68# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$4ca0:
 | 
						|
{packedTitle29}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $59# $56# $9a# $61# $6c# $c6# $b6# $69# $59# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$4da0:
 | 
						|
{packedTitle30}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $59# $55# $9a# $a6# $69# $9a# $a6# $69# $5a# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$4ea0:
 | 
						|
{packedTitle31}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $59# $55# $9a# $a6# $69# $95# $a6# $69# $5a# $59# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$4fa0:
 | 
						|
{packedTitle32}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $a5# $56# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $55# $59# $db# $b6# $59# $d6# $b6# $69# $9a# $56# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$50a0:
 | 
						|
{packedTitle33}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $a5# $56# $96# $65# $59# $96# $65# $59# $96# $65# $59# $6a# $65#
 | 
						|
 $55# $59# $d7# $76# $09# $c2# $b6# $6d# $db# $56# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $65# $55# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$51a0:
 | 
						|
{packedTitle34}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $a5# $56# $96# $65# $59# $96# $65# $59# $96# $65# $59# $aa# $65#
 | 
						|
 $05# $54# $82# $61# $19# $c2# $b6# $19# $97# $55# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $a5# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$52a0:
 | 
						|
{packedTitle35}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $a5# $56# $96# $65# $59# $96# $65# $59# $96# $65# $59# $a6# $65#
 | 
						|
 $55# $55# $56# $55# $6d# $c6# $b6# $15# $86# $56# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $a5# $5a# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$53a0:
 | 
						|
{packedTitle36}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $a5# $56# $96# $65# $59# $96# $65# $59# $96# $65# $59# $e2# $69#
 | 
						|
 $55# $55# $86# $61# $18# $c6# $b6# $19# $9b# $a6# $96# $65# $59# $96#
 | 
						|
 $65# $59# $96# $25# $50# $96# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$54a0:
 | 
						|
{packedTitle37}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $a5# $56# $96# $65# $59# $96# $65# $59# $96# $65# $99# $a6# $a9#
 | 
						|
 $55# $55# $db# $a6# $59# $96# $b1# $6d# $9b# $a1# $95# $65# $59# $96#
 | 
						|
 $65# $59# $96# $25# $50# $95# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$55a0:
 | 
						|
{packedTitle38}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $85# $52# $96# $65# $59# $96# $65# $59# $96# $65# $9a# $a6# $69#
 | 
						|
 $5a# $59# $da# $66# $58# $d6# $a6# $69# $9b# $b1# $95# $65# $59# $96#
 | 
						|
 $65# $59# $96# $15# $00# $94# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$56a0:
 | 
						|
{packedTitle39}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $96# $9a# $56# $96# $65# $59# $96# $65# $59# $96# $6a# $9a# $a6# $69#
 | 
						|
 $aa# $56# $db# $66# $08# $96# $b6# $6d# $db# $b6# $95# $65# $59# $96#
 | 
						|
 $65# $59# $56# $00# $00# $00# $65# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$57a0:
 | 
						|
{packedTitle40}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $6a# $9a# $a6# $95# $65# $59# $96# $65# $59# $96# $29# $a9# $a6# $69#
 | 
						|
 $9a# $aa# $9a# $a6# $59# $d6# $a6# $69# $db# $66# $94# $65# $59# $96#
 | 
						|
 $65# $59# $55# $56# $55# $55# $55# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$58a0:
 | 
						|
{packedTitle41}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59#
 | 
						|
 $69# $9a# $a6# $69# $65# $59# $96# $65# $49# $aa# $69# $f9# $a7# $a9#
 | 
						|
 $9a# $fa# $e9# $66# $58# $9a# $a6# $69# $9b# $b1# $95# $65# $59# $96#
 | 
						|
 $65# $19# $54# $96# $45# $59# $55# $55# $96# $65# $59# $96#
 | 
						|
 | 
						|
$59a0:
 | 
						|
{packedTitle42}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $55#
 | 
						|
 $54# $9a# $96# $69# $5a# $59# $96# $65# $59# $aa# $65# $fa# $a7# $e9#
 | 
						|
 $9f# $fa# $a9# $25# $04# $96# $b6# $6d# $9b# $a1# $95# $65# $59# $96#
 | 
						|
 $65# $15# $54# $c5# $95# $55# $55# $55# $96# $65# $59# $96#
 | 
						|
 | 
						|
$5aa0:
 | 
						|
{packedTitle43}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $96# $5a# $a6#
 | 
						|
 $55# $55# $a6# $28# $9a# $56# $96# $65# $59# $aa# $65# $aa# $a6# $e9#
 | 
						|
 $9f# $aa# $be# $1a# $54# $d6# $b6# $6d# $da# $66# $18# $65# $59# $96#
 | 
						|
 $65# $55# $09# $99# $21# $50# $56# $55# $95# $65# $59# $96#
 | 
						|
 | 
						|
$5ba0:
 | 
						|
{packedTitle44}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $56# $45# $56#
 | 
						|
 $55# $14# $a5# $29# $89# $a2# $95# $65# $59# $aa# $65# $a9# $a6# $a9#
 | 
						|
 $9a# $fe# $a9# $5a# $55# $9a# $b6# $6d# $9a# $a6# $6d# $65# $59# $96#
 | 
						|
 $65# $50# $09# $56# $26# $54# $15# $50# $95# $65# $59# $96#
 | 
						|
 | 
						|
$5ca0:
 | 
						|
{packedTitle45}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $56# $44# $55#
 | 
						|
 $51# $54# $55# $15# $89# $a2# $94# $65# $59# $56# $55# $a9# $96# $69#
 | 
						|
 $9a# $a6# $e9# $6a# $6c# $c6# $66# $6c# $9b# $a6# $69# $65# $59# $96#
 | 
						|
 $65# $00# $50# $42# $05# $00# $00# $00# $94# $65# $59# $96#
 | 
						|
 | 
						|
$5da0:
 | 
						|
{packedTitle46}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $55# $54# $55#
 | 
						|
 $51# $54# $55# $51# $85# $a2# $a4# $65# $59# $56# $15# $a5# $52# $69#
 | 
						|
 $9a# $a6# $ea# $b6# $6d# $96# $61# $6d# $db# $b6# $15# $5a# $59# $96#
 | 
						|
 $65# $15# $14# $45# $51# $14# $55# $55# $96# $65# $59# $96#
 | 
						|
 | 
						|
$5ea0:
 | 
						|
{packedTitle47}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $59# $01# $55# $05#
 | 
						|
 $00# $55# $05# $00# $95# $51# $a4# $65# $59# $55# $9a# $66# $19# $9a#
 | 
						|
 $a6# $a9# $db# $b6# $6d# $d6# $b6# $6d# $db# $b6# $15# $5a# $59# $96#
 | 
						|
 $65# $29# $18# $86# $61# $18# $46# $55# $96# $65# $59# $96#
 | 
						|
 | 
						|
$5fa0:
 | 
						|
{packedTitle48}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $49# $01# $00# $00#
 | 
						|
 $00# $01# $00# $00# $45# $a1# $95# $65# $59# $5a# $d6# $b6# $6d# $db#
 | 
						|
 $b6# $6d# $c2# $25# $5c# $c2# $2a# $5c# $db# $66# $14# $4a# $59# $96#
 | 
						|
 $65# $69# $59# $96# $65# $55# $55# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$60a0:
 | 
						|
{packedTitle49}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $55# $96# $40# $10#
 | 
						|
 $04# $45# $15# $04# $05# $55# $96# $65# $59# $56# $d6# $b6# $6d# $db#
 | 
						|
 $b6# $6d# $c2# $26# $08# $82# $15# $5c# $db# $66# $14# $9a# $52# $96#
 | 
						|
 $65# $69# $05# $55# $55# $55# $55# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$61a0:
 | 
						|
{packedTitle50}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $55# $96# $96# $65#
 | 
						|
 $59# $96# $65# $05# $46# $55# $96# $65# $59# $56# $d6# $b6# $6d# $db#
 | 
						|
 $b6# $6d# $c2# $b6# $5d# $82# $15# $58# $86# $51# $68# $9a# $a2# $94#
 | 
						|
 $65# $59# $05# $56# $65# $55# $55# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$62a0:
 | 
						|
{packedTitle51}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $55# $96# $a5# $65#
 | 
						|
 $59# $56# $55# $59# $56# $55# $96# $65# $59# $56# $d6# $66# $5d# $db#
 | 
						|
 $b6# $6d# $82# $b1# $09# $81# $15# $04# $45# $a1# $29# $8a# $a2# $28#
 | 
						|
 $65# $59# $05# $56# $65# $59# $56# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$63a0:
 | 
						|
{packedTitle52}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $55# $96# $65# $60#
 | 
						|
 $05# $41# $10# $54# $65# $59# $96# $65# $59# $5a# $d6# $66# $5d# $db#
 | 
						|
 $b6# $6d# $82# $61# $05# $41# $15# $18# $46# $61# $28# $8a# $a2# $28#
 | 
						|
 $5a# $59# $05# $56# $65# $59# $56# $59# $96# $65# $59# $96#
 | 
						|
 | 
						|
$64a0:
 | 
						|
{packedTitle53}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $65# $55# $95# $a5# $65#
 | 
						|
 $55# $96# $55# $95# $65# $59# $02# $55# $59# $05# $d6# $66# $5d# $db#
 | 
						|
 $ba# $6d# $96# $55# $01# $55# $05# $04# $86# $51# $68# $8a# $a2# $28#
 | 
						|
 $4a# $5a# $05# $55# $65# $55# $55# $55# $96# $65# $59# $96#
 | 
						|
 | 
						|
$65a0:
 | 
						|
{packedTitle54}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $25# $50# $95# $a5# $65#
 | 
						|
 $55# $56# $50# $55# $55# $05# $00# $00# $50# $55# $96# $61# $19# $9b#
 | 
						|
 $b1# $6d# $54# $55# $55# $55# $05# $04# $81# $61# $18# $85# $a1# $28#
 | 
						|
 $5a# $50# $59# $40# $55# $55# $55# $55# $95# $65# $59# $96#
 | 
						|
 | 
						|
$66a0:
 | 
						|
{packedTitle55}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $25# $00# $94# $a5# $65#
 | 
						|
 $55# $56# $50# $55# $00# $00# $00# $00# $50# $55# $db# $26# $58# $d6#
 | 
						|
 $b6# $19# $55# $10# $04# $41# $10# $04# $00# $50# $14# $45# $51# $14#
 | 
						|
 $41# $55# $59# $56# $55# $51# $55# $55# $55# $65# $59# $96#
 | 
						|
 | 
						|
$67a0:
 | 
						|
{packedTitle56}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $15# $00# $94# $65# $60#
 | 
						|
 $55# $56# $50# $01# $00# $00# $00# $40# $15# $58# $9b# $61# $59# $db#
 | 
						|
 $b6# $6d# $46# $10# $04# $41# $10# $04# $81# $61# $68# $9a# $a6# $15#
 | 
						|
 $01# $50# $59# $96# $55# $55# $55# $55# $55# $65# $59# $96#
 | 
						|
 | 
						|
$68a0:
 | 
						|
{packedTitle57}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $00# $00# $54# $55# $10#
 | 
						|
 $04# $01# $10# $58# $45# $51# $01# $40# $55# $59# $9a# $a6# $59# $9a#
 | 
						|
 $a6# $69# $9b# $65# $59# $41# $00# $00# $81# $b5# $6d# $db# $b6# $59#
 | 
						|
 $00# $50# $55# $55# $55# $55# $55# $55# $55# $55# $59# $96#
 | 
						|
 | 
						|
$69a0:
 | 
						|
{packedTitle58}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $00# $00# $58# $16# $60#
 | 
						|
 $55# $15# $00# $58# $96# $65# $55# $40# $55# $59# $db# $b6# $6d# $db#
 | 
						|
 $b6# $69# $9a# $11# $04# $41# $00# $00# $81# $b5# $6d# $db# $b6# $59#
 | 
						|
 $40# $50# $55# $55# $55# $55# $55# $55# $55# $55# $59# $96#
 | 
						|
 | 
						|
$6aa0:
 | 
						|
{packedTitle59}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $96# $00# $00# $58# $55# $55#
 | 
						|
 $a9# $55# $50# $55# $56# $55# $55# $41# $60# $59# $db# $b6# $6d# $db#
 | 
						|
 $b6# $6d# $9b# $41# $54# $16# $00# $00# $80# $b5# $ad# $db# $b6# $05#
 | 
						|
 $41# $10# $04# $41# $10# $04# $41# $60# $59# $55# $59# $96#
 | 
						|
 | 
						|
$6ba0:
 | 
						|
{packedTitle60}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $56# $15# $50# $59# $55# $55#
 | 
						|
 $55# $55# $55# $55# $56# $55# $55# $81# $65# $55# $9a# $b5# $69# $ef#
 | 
						|
 $a6# $69# $db# $96# $69# $46# $55# $01# $80# $b5# $6d# $db# $b6# $05#
 | 
						|
 $40# $10# $04# $41# $10# $58# $96# $65# $05# $65# $59# $96#
 | 
						|
 | 
						|
$6ca0:
 | 
						|
{packedTitle61}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $56# $00# $50# $19# $96# $65#
 | 
						|
 $59# $56# $05# $54# $55# $55# $55# $80# $65# $55# $96# $b5# $69# $db#
 | 
						|
 $b6# $ad# $9b# $b1# $6d# $96# $55# $55# $40# $a5# $65# $99# $a6# $59#
 | 
						|
 $41# $60# $59# $96# $65# $59# $96# $65# $59# $65# $59# $96#
 | 
						|
 | 
						|
$6da0:
 | 
						|
{packedTitle62}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $02# $80# $65# $69# $96# $65#
 | 
						|
 $59# $56# $55# $55# $55# $55# $01# $80# $65# $59# $d6# $b6# $6a# $db#
 | 
						|
 $b6# $ad# $9b# $61# $58# $81# $05# $00# $15# $95# $65# $18# $96# $65#
 | 
						|
 $00# $50# $59# $41# $60# $55# $96# $65# $55# $65# $59# $96#
 | 
						|
 | 
						|
$6ea0:
 | 
						|
{packedTitle63}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $5a# $56# $60# $19# $96# $65#
 | 
						|
 $59# $96# $55# $51# $55# $45# $01# $40# $65# $59# $d6# $66# $69# $db#
 | 
						|
 $b6# $ad# $9b# $15# $58# $55# $00# $04# $81# $b6# $5d# $95# $b6# $69#
 | 
						|
 $55# $50# $59# $96# $55# $a9# $96# $65# $55# $65# $59# $96#
 | 
						|
 | 
						|
$6fa0:
 | 
						|
{packedTitle64}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $59# $05# $96# $65# $19# $96# $65#
 | 
						|
 $59# $96# $55# $55# $41# $05# $04# $40# $65# $59# $d6# $66# $69# $db#
 | 
						|
 $b6# $ad# $9b# $15# $58# $55# $00# $54# $81# $a1# $69# $96# $a5# $69#
 | 
						|
 $56# $50# $59# $56# $50# $a9# $96# $65# $55# $65# $59# $96#
 | 
						|
 | 
						|
$70a0:
 | 
						|
{packedTitle65}
 | 
						|
 $65# $59# $96# $65# $59# $96# $65# $69# $05# $96# $61# $18# $86# $65#
 | 
						|
 $59# $56# $55# $55# $14# $10# $00# $40# $55# $59# $ab# $65# $ad# $ab#
 | 
						|
 $b6# $6e# $9b# $15# $58# $56# $00# $54# $9b# $50# $65# $db# $66# $69#
 | 
						|
 $56# $50# $59# $96# $55# $55# $96# $55# $55# $65# $59# $96#
 | 
						|
 | 
						|
$71a0:
 | 
						|
{packedTitle66}
 | 
						|
 $65# $59# $96# $65# $59# $96# $55# $65# $59# $96# $61# $14# $9a# $61#
 | 
						|
 $59# $96# $65# $55# $40# $10# $54# $40# $55# $59# $9b# $65# $ad# $9b#
 | 
						|
 $b6# $6d# $9b# $15# $54# $01# $00# $54# $9a# $65# $19# $9a# $a6# $6d#
 | 
						|
 $96# $61# $59# $56# $55# $59# $55# $55# $55# $65# $59# $96#
 | 
						|
 | 
						|
$72a0:
 | 
						|
{packedTitle67}
 | 
						|
 $65# $59# $96# $65# $59# $5a# $95# $15# $58# $86# $61# $14# $9a# $11#
 | 
						|
 $58# $96# $65# $59# $55# $55# $59# $81# $55# $59# $9b# $65# $59# $9b#
 | 
						|
 $b6# $6d# $9b# $55# $51# $00# $05# $04# $94# $b6# $19# $56# $a6# $6d#
 | 
						|
 $95# $65# $59# $15# $60# $59# $56# $65# $59# $65# $59# $96#
 | 
						|
 | 
						|
$73a0:
 | 
						|
{packedTitle68}
 | 
						|
 $65# $59# $96# $65# $59# $59# $95# $15# $58# $96# $61# $18# $86# $11#
 | 
						|
 $04# $96# $65# $59# $81# $65# $05# $41# $55# $59# $5b# $65# $59# $9b#
 | 
						|
 $a6# $6d# $5b# $51# $14# $45# $51# $05# $d6# $b6# $59# $97# $65# $6d#
 | 
						|
 $56# $65# $55# $45# $65# $59# $56# $65# $59# $65# $59# $96#
 | 
						|
 | 
						|
$74a0:
 | 
						|
{packedTitle69}
 | 
						|
 $65# $59# $96# $65# $59# $59# $96# $65# $59# $81# $61# $18# $46# $10#
 | 
						|
 $58# $95# $65# $59# $96# $15# $04# $55# $45# $65# $59# $96# $65# $59#
 | 
						|
 $96# $65# $5a# $91# $65# $59# $96# $65# $99# $a6# $69# $9a# $46# $55#
 | 
						|
 $55# $51# $14# $45# $05# $54# $55# $55# $55# $65# $59# $96#
 | 
						|
 | 
						|
$75a0:
 | 
						|
{packedTitle70}
 | 
						|
 $65# $59# $96# $65# $59# $59# $56# $60# $59# $96# $b5# $6d# $46# $60#
 | 
						|
 $69# $9a# $65# $59# $96# $65# $59# $56# $65# $19# $db# $66# $6c# $db#
 | 
						|
 $b6# $6d# $9a# $a6# $69# $9a# $a6# $69# $9a# $a6# $69# $9a# $56# $55#
 | 
						|
 $55# $51# $68# $45# $55# $55# $55# $55# $55# $65# $59# $96#
 | 
						|
 | 
						|
$76a0:
 | 
						|
{packedTitle71}
 | 
						|
 $65# $59# $96# $65# $59# $59# $56# $60# $05# $81# $65# $59# $56# $60#
 | 
						|
 $6d# $86# $65# $59# $96# $65# $59# $96# $65# $6d# $db# $b6# $6d# $db#
 | 
						|
 $b6# $6d# $db# $66# $68# $9a# $a6# $69# $9a# $a6# $69# $86# $11# $54#
 | 
						|
 $55# $51# $68# $45# $61# $55# $55# $55# $55# $55# $59# $96#
 | 
						|
 | 
						|
$77a0:
 | 
						|
{packedTitle72}
 | 
						|
 $65# $59# $96# $65# $59# $56# $56# $10# $54# $81# $65# $18# $41# $60#
 | 
						|
 $19# $46# $61# $59# $96# $65# $05# $96# $65# $6d# $db# $b6# $6d# $db#
 | 
						|
 $aa# $6d# $9b# $96# $65# $59# $96# $65# $59# $96# $66# $49# $51# $55#
 | 
						|
 $55# $51# $68# $5a# $61# $55# $55# $65# $59# $55# $59# $96#
 | 
						|
 | 
						|
$78a0:
 | 
						|
{packedTitle73}
 | 
						|
 $65# $59# $96# $65# $59# $55# $55# $10# $04# $96# $65# $18# $41# $60#
 | 
						|
 $15# $45# $51# $14# $86# $51# $54# $55# $55# $69# $9a# $a6# $69# $9a#
 | 
						|
 $a6# $69# $59# $55# $55# $15# $45# $65# $59# $96# $65# $4a# $52# $01#
 | 
						|
 $45# $51# $14# $5a# $51# $50# $55# $55# $55# $55# $59# $96#
 | 
						|
 | 
						|
$79a0:
 | 
						|
{packedTitle74}
 | 
						|
 $65# $59# $96# $65# $65# $59# $45# $51# $04# $41# $60# $18# $81# $61#
 | 
						|
 $18# $45# $61# $18# $86# $61# $14# $55# $95# $65# $59# $96# $65# $9a#
 | 
						|
 $a6# $65# $5a# $51# $55# $55# $65# $19# $da# $b6# $19# $85# $52# $04#
 | 
						|
 $45# $51# $14# $9a# $a6# $51# $54# $45# $51# $54# $59# $96#
 | 
						|
 | 
						|
$7aa0:
 | 
						|
{packedTitle75}
 | 
						|
 $65# $59# $96# $55# $65# $59# $96# $65# $19# $96# $15# $58# $96# $65#
 | 
						|
 $58# $c6# $66# $58# $86# $61# $05# $96# $61# $18# $86# $61# $18# $5b#
 | 
						|
 $a1# $69# $9a# $55# $55# $40# $05# $54# $9b# $61# $59# $56# $51# $55#
 | 
						|
 $45# $51# $14# $85# $96# $64# $54# $55# $55# $55# $55# $96#
 | 
						|
 | 
						|
$7ba0:
 | 
						|
{packedTitle76}
 | 
						|
 $65# $59# $96# $65# $65# $05# $96# $65# $59# $96# $65# $59# $96# $65#
 | 
						|
 $19# $c6# $66# $04# $96# $65# $05# $96# $65# $59# $56# $65# $69# $5a#
 | 
						|
 $a5# $69# $5a# $55# $15# $55# $05# $00# $96# $01# $00# $45# $51# $14#
 | 
						|
 $05# $51# $64# $85# $96# $14# $45# $05# $54# $40# $55# $95#
 | 
						|
 | 
						|
$7ca0:
 | 
						|
{packedTitle77}
 | 
						|
 $65# $59# $96# $65# $65# $05# $81# $65# $19# $86# $65# $59# $96# $65#
 | 
						|
 $59# $96# $61# $58# $96# $65# $59# $96# $a5# $69# $9a# $a6# $69# $9a#
 | 
						|
 $a6# $69# $5a# $55# $69# $55# $55# $55# $95# $56# $55# $9a# $a6# $69#
 | 
						|
 $86# $a6# $69# $86# $66# $14# $55# $55# $55# $55# $55# $95#
 | 
						|
 | 
						|
$7da0:
 | 
						|
{packedTitle78}
 | 
						|
 $65# $59# $aa# $96# $65# $19# $81# $65# $19# $45# $51# $58# $86# $61#
 | 
						|
 $58# $9a# $61# $19# $db# $6a# $59# $96# $a5# $69# $9a# $a6# $69# $af#
 | 
						|
 $a6# $55# $5a# $a5# $69# $55# $55# $55# $65# $55# $55# $9a# $b6# $6d#
 | 
						|
 $db# $b6# $6d# $9a# $b6# $55# $55# $55# $95# $65# $59# $95#
 | 
						|
 | 
						|
$7ea0:
 | 
						|
{packedTitle79}
 | 
						|
 $65# $59# $5a# $96# $65# $58# $41# $10# $14# $56# $51# $14# $86# $61#
 | 
						|
 $18# $86# $61# $18# $86# $65# $59# $96# $a5# $69# $9a# $a6# $69# $9a#
 | 
						|
 $66# $55# $95# $a6# $55# $9a# $56# $55# $55# $59# $56# $da# $b6# $6d#
 | 
						|
 $db# $ba# $6d# $96# $a6# $55# $55# $55# $96# $65# $a9# $96#
 | 
						|
 | 
						|
$7fa0:
 | 
						|
{packedTitle80}
 | 
						|
 $65# $59# $59# $96# $55# $05# $41# $10# $04# $96# $65# $59# $81# $61#
 | 
						|
 $18# $86# $61# $18# $86# $61# $59# $96# $a5# $69# $9a# $a6# $69# $9a#
 | 
						|
 $a6# $56# $55# $55# $55# $9a# $56# $55# $55# $55# $55# $da# $b6# $59#
 | 
						|
 $d6# $66# $58# $96# $a6# $55# $55# $55# $55# $55# $55# $95#
 | 
						|
 |